@guihz/trading-vue-editor-tes 0.0.250 → 0.0.251

Sign up to get free protection for your applications and to get access to all the features.
@@ -80,4 +80,4 @@ ${l}`),l}_getRequestData(e,t){var _,L,g,v,B;let{symbol:r,timeframe:o,calc_bars_c
80
80
  * @license
81
81
  * Copyright 2019 Google LLC
82
82
  * SPDX-License-Identifier: Apache-2.0
83
- */const xs=Symbol("Comlink.proxy"),am=Symbol("Comlink.endpoint"),um=Symbol("Comlink.releaseProxy"),dp=Symbol("Comlink.finalizer"),rb=Symbol("Comlink.thrown"),Ss=M=>typeof M=="object"&&M!==null||typeof M=="function",Am={canHandle:M=>Ss(M)&&M[xs],serialize(M){const{port1:e,port2:t}=new MessageChannel;return hp(M,e),[t,[t]]},deserialize(M){return M.start(),dm(M)}},fm={canHandle:M=>Ss(M)&&rb in M,serialize({value:M}){let e;return M instanceof Error?e={isError:!0,value:{message:M.message,name:M.name,stack:M.stack}}:e={isError:!1,value:M},[e,[]]},deserialize(M){throw M.isError?Object.assign(new Error(M.value.message),M.value):M.value}},Fs=new Map([["proxy",Am],["throw",fm]]);function lm(M,e){for(const t of M)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function hp(M,e=globalThis,t=["*"]){e.addEventListener("message",function r(o){if(!o||!o.data)return;if(!lm(t,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}const{id:b,type:p,path:z}=Object.assign({path:[]},o.data),c=(o.data.argumentList||[]).map(Qt);let s;try{const a=z.slice(0,-1).reduce((u,l)=>u[l],M),O=z.reduce((u,l)=>u[l],M);switch(p){case"GET":s=O;break;case"SET":a[z.slice(-1)[0]]=Qt(o.data.value),s=!0;break;case"APPLY":s=O.apply(a,c);break;case"CONSTRUCT":{const u=new O(...c);s=gm(u)}break;case"ENDPOINT":{const{port1:u,port2:l}=new MessageChannel;hp(M,l),s=mm(u,[u])}break;case"RELEASE":s=void 0;break;default:return}}catch(a){s={value:a,[rb]:0}}Promise.resolve(s).catch(a=>({value:a,[rb]:0})).then(a=>{const[O,u]=nb(a);e.postMessage(Object.assign(Object.assign({},O),{id:b}),u),p==="RELEASE"&&(e.removeEventListener("message",r),Is(e),dp in M&&typeof M[dp]=="function"&&M[dp]())}).catch(a=>{const[O,u]=nb({value:new TypeError("Unserializable return value"),[rb]:0});e.postMessage(Object.assign(Object.assign({},O),{id:b}),u)})}),e.start&&e.start()}function qm(M){return M.constructor.name==="MessagePort"}function Is(M){qm(M)&&M.close()}function dm(M,e){return Wp(M,[],e)}function Mb(M){if(M)throw new Error("Proxy has been released and is not useable")}function Ps(M){return Cr(M,{type:"RELEASE"}).then(()=>{Is(M)})}const ob=new WeakMap,bb="FinalizationRegistry"in globalThis&&new FinalizationRegistry(M=>{const e=(ob.get(M)||0)-1;ob.set(M,e),e===0&&Ps(M)});function hm(M,e){const t=(ob.get(e)||0)+1;ob.set(e,t),bb&&bb.register(M,e,M)}function Wm(M){bb&&bb.unregister(M)}function Wp(M,e=[],t=function(){}){let r=!1;const o=new Proxy(t,{get(b,p){if(Mb(r),p===um)return()=>{Wm(o),Ps(M),r=!0};if(p==="then"){if(e.length===0)return{then:()=>o};const z=Cr(M,{type:"GET",path:e.map(c=>c.toString())}).then(Qt);return z.then.bind(z)}return Wp(M,[...e,p])},set(b,p,z){Mb(r);const[c,s]=nb(z);return Cr(M,{type:"SET",path:[...e,p].map(a=>a.toString()),value:c},s).then(Qt)},apply(b,p,z){Mb(r);const c=e[e.length-1];if(c===am)return Cr(M,{type:"ENDPOINT"}).then(Qt);if(c==="bind")return Wp(M,e.slice(0,-1));const[s,a]=ks(z);return Cr(M,{type:"APPLY",path:e.map(O=>O.toString()),argumentList:s},a).then(Qt)},construct(b,p){Mb(r);const[z,c]=ks(p);return Cr(M,{type:"CONSTRUCT",path:e.map(s=>s.toString()),argumentList:z},c).then(Qt)}});return hm(o,M),o}function _m(M){return Array.prototype.concat.apply([],M)}function ks(M){const e=M.map(nb);return[e.map(t=>t[0]),_m(e.map(t=>t[1]))]}const $s=new WeakMap;function mm(M,e){return $s.set(M,e),M}function gm(M){return Object.assign(M,{[xs]:!0})}function nb(M){for(const[e,t]of Fs)if(t.canHandle(M)){const[r,o]=t.serialize(M);return[{type:"HANDLER",name:e,value:r},o]}return[{type:"RAW",value:M},$s.get(M)||[]]}function Qt(M){switch(M.type){case"HANDLER":return Fs.get(M.name).deserialize(M.value);case"RAW":return M.value}}function Cr(M,e,t){return new Promise(r=>{const o=Rm();M.addEventListener("message",function b(p){!p.data||!p.data.id||p.data.id!==o||(M.removeEventListener("message",b),r(p.data))}),M.start&&M.start(),M.postMessage(Object.assign({id:o},e),t)})}function Rm(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class Lm{constructor(){E(this,"_cache");this._cache=new Map}set(e,t){this._cache.set(e,t)}setValue(e,t,r){const o=this._cache.get(e)||{};o[t]=r,this._cache.set(e,o)}updateValue(e,t,r){const o=this._cache.get(e)||{};this._cache.set(e,Object.assign(o[t]||{},r))}get(e){return this._cache.get(e)}has(e){return this._cache.has(e)}deleteStartwidthKey(e){for(const t of this._cache.keys())t.startsWith(e)&&this._cache.delete(t)}delete(e){this._cache.delete(e)}clear(){this._cache.clear()}}class Us extends Error{constructor(t,r,o){const b=t.status||t.status===0?t.status:"",p=t.statusText||"",z=`${b} ${p}`.trim(),c=z?`status code ${z}`:"an unknown error";super(`Request failed with ${c}: ${r.method} ${r.url}`);E(this,"response");E(this,"request");E(this,"options");this.name="HTTPError",this.response=t,this.request=r,this.options=o}}class js extends Error{constructor(t){super(`Request timed out: ${t.method} ${t.url}`);E(this,"request");this.name="TimeoutError",this.request=t}}const WM=M=>M!==null&&typeof M=="object",pb=(...M)=>{for(const e of M)if((!WM(e)||Array.isArray(e))&&e!==void 0)throw new TypeError("The `options` argument must be an object");return _p({},...M)},Hs=(M={},e={})=>{const t=new globalThis.Headers(M),r=e instanceof globalThis.Headers,o=new globalThis.Headers(e);for(const[b,p]of o.entries())r&&p==="undefined"||p===void 0?t.delete(b):t.set(b,p);return t};function zb(M,e,t){return Object.hasOwn(e,t)&&e[t]===void 0?[]:_p(M[t]??[],e[t]??[])}const Ys=(M={},e={})=>({beforeRequest:zb(M,e,"beforeRequest"),beforeRetry:zb(M,e,"beforeRetry"),afterResponse:zb(M,e,"afterResponse"),beforeError:zb(M,e,"beforeError")}),_p=(...M)=>{let e={},t={},r={};for(const o of M)if(Array.isArray(o))Array.isArray(e)||(e=[]),e=[...e,...o];else if(WM(o)){for(let[b,p]of Object.entries(o))WM(p)&&b in e&&(p=_p(e[b],p)),e={...e,[b]:p};WM(o.hooks)&&(r=Ys(r,o.hooks),e.hooks=r),WM(o.headers)&&(t=Hs(t,o.headers),e.headers=t)}return e},vm=(()=>{let M=!1,e=!1;const t=typeof globalThis.ReadableStream=="function",r=typeof globalThis.Request=="function";if(t&&r)try{e=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return M=!0,"half"}}).headers.has("Content-Type")}catch(o){if(o instanceof Error&&o.message==="unsupported BodyInit type")return!1;throw o}return M&&!e})(),Nm=typeof globalThis.AbortController=="function",ym=typeof globalThis.ReadableStream=="function",Bm=typeof globalThis.FormData=="function",Gs=["get","post","put","patch","head","delete"],wm={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},mp=2147483647,Vs=Symbol("stop"),Dm={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},Xm={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0},Em=M=>Gs.includes(M)?M.toUpperCase():M,Ks={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:M=>.3*2**(M-1)*1e3},Tm=(M={})=>{if(typeof M=="number")return{...Ks,limit:M};if(M.methods&&!Array.isArray(M.methods))throw new Error("retry.methods must be an array");if(M.statusCodes&&!Array.isArray(M.statusCodes))throw new Error("retry.statusCodes must be an array");return{...Ks,...M}};async function Cm(M,e,t,r){return new Promise((o,b)=>{const p=setTimeout(()=>{t&&t.abort(),b(new js(M))},r.timeout);r.fetch(M,e).then(o).catch(b).then(()=>{clearTimeout(p)})})}async function xm(M,{signal:e}){return new Promise((t,r)=>{e&&(e.throwIfAborted(),e.addEventListener("abort",o,{once:!0}));function o(){clearTimeout(b),r(e.reason)}const b=setTimeout(()=>{e==null||e.removeEventListener("abort",o),t()},M)})}const Sm=(M,e)=>{const t={};for(const r in e)!(r in Xm)&&!(r in Dm)&&!(r in M)&&(t[r]=e[r]);return t};class ib{constructor(e,t={}){E(this,"request");E(this,"abortController");E(this,"_retryCount",0);E(this,"_input");E(this,"_options");var r,o;if(this._input=e,this._options={...t,headers:Hs(this._input.headers,t.headers),hooks:Ys({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},t.hooks),method:Em(t.method??this._input.method),prefixUrl:String(t.prefixUrl||""),retry:Tm(t.retry),throwHttpErrors:t.throwHttpErrors!==!1,timeout:t.timeout??1e4,fetch:t.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(Nm){this.abortController=new globalThis.AbortController;const b=this._options.signal??this._input.signal;b==null||b.addEventListener("abort",()=>{this.abortController.abort(b.reason)}),this._options.signal=this.abortController.signal}if(vm&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=((o=(r=this._options).stringifyJson)==null?void 0:o.call(r,this._options.json))??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const p="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),z=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,p);(Bm&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(z,{...this.request}),this._options)}}static create(e,t){const r=new ib(e,t),o=async()=>{if(typeof r._options.timeout=="number"&&r._options.timeout>mp)throw new RangeError(`The \`timeout\` option cannot be greater than ${mp}`);await Promise.resolve();let z=await r._fetch();for(const c of r._options.hooks.afterResponse){const s=await c(r.request,r._options,r._decorateResponse(z.clone()));s instanceof globalThis.Response&&(z=s)}if(r._decorateResponse(z),!z.ok&&r._options.throwHttpErrors){let c=new Us(z,r.request,r._options);for(const s of r._options.hooks.beforeError)c=await s(c);throw c}if(r._options.onDownloadProgress){if(typeof r._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!ym)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return r._stream(z.clone(),r._options.onDownloadProgress)}return z},p=r._options.retry.methods.includes(r.request.method.toLowerCase())?r._retry(o):o();for(const[z,c]of Object.entries(wm))p[z]=async()=>{r.request.headers.set("accept",r.request.headers.get("accept")||c);const a=(await p).clone();if(z==="json"){if(a.status===204||(await a.clone().arrayBuffer()).byteLength===0)return"";if(t.parseJson)return t.parseJson(await a.text())}return a[z]()};return p}_calculateRetryDelay(e){if(this._retryCount++,this._retryCount>this._options.retry.limit||e instanceof js)throw e;if(e instanceof Us){if(!this._options.retry.statusCodes.includes(e.response.status))throw e;const r=e.response.headers.get("Retry-After")??e.response.headers.get("RateLimit-Reset")??e.response.headers.get("X-RateLimit-Reset")??e.response.headers.get("X-Rate-Limit-Reset");if(r&&this._options.retry.afterStatusCodes.includes(e.response.status)){let o=Number(r)*1e3;Number.isNaN(o)?o=Date.parse(r)-Date.now():o>=Date.parse("2024-01-01")&&(o-=Date.now());const b=this._options.retry.maxRetryAfter??o;return o<b?o:b}if(e.response.status===413)throw e}const t=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,t)}_decorateResponse(e){return this._options.parseJson&&(e.json=async()=>this._options.parseJson(await e.text())),e}async _retry(e){try{return await e()}catch(t){const r=Math.min(this._calculateRetryDelay(t),mp);if(this._retryCount<1)throw t;await xm(r,{signal:this._options.signal});for(const o of this._options.hooks.beforeRetry)if(await o({request:this.request,options:this._options,error:t,retryCount:this._retryCount})===Vs)return;return this._retry(e)}}async _fetch(){for(const r of this._options.hooks.beforeRequest){const o=await r(this.request,this._options);if(o instanceof Request){this.request=o;break}if(o instanceof Response)return o}const e=Sm(this.request,this._options),t=this.request;return this.request=t.clone(),this._options.timeout===!1?this._options.fetch(t,e):Cm(t,e,this.abortController,this._options)}_stream(e,t){const r=Number(e.headers.get("content-length"))||0;let o=0;return e.status===204?(t&&t({percent:1,totalBytes:r,transferredBytes:o},new Uint8Array),new globalThis.Response(null,{status:e.status,statusText:e.statusText,headers:e.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(b){const p=e.body.getReader();t&&t({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array);async function z(){const{done:c,value:s}=await p.read();if(c){b.close();return}if(t){o+=s.byteLength;const a=r===0?0:o/r;t({percent:a,transferredBytes:o,totalBytes:r},s)}b.enqueue(s),await z()}await z()}}),{status:e.status,statusText:e.statusText,headers:e.headers})}}/*! MIT License © Sindre Sorhus */const gp=M=>{const e=(t,r)=>ib.create(t,pb(M,r));for(const t of Gs)e[t]=(r,o)=>ib.create(r,pb(M,o,{method:t}));return e.create=t=>gp(pb(t)),e.extend=t=>(typeof t=="function"&&(t=t(M??{})),gp(pb(M,t))),e.stop=Vs,e},Fm=gp().create({timeout:2e4,prefixUrl:"https://data.tradingvue.com/",retry:0});function Im(M){return Fm.post("symbol/data/v1/",{json:M})}async function Pm(M,e,t){var v,B,X;const{data:r,isPreParser:o,id:b="default",syminfo:p={},interval:z,inputs:c,chart:s,strategy:a,scriptType:O,isManuallyAdd:u,subscribeData:l}=e;self.workerStorage||(self.workerStorage=new Lm);let{builtInGather:d,buildinConstants:f,buildInFunctions:h,tradingvueFunc:q}=self.workerStorage.get(b)||{},m=[];const _=p.mintick?Number(p.mintick):1e-5;p.mintick=_,t&&(d=new qp(b),f=new Ap,h=new lp(_,d,b),q=new Function("$_var","$_const","$_func",M),self.workerStorage.set(b,{builtInGather:d,buildinConstants:f,buildInFunctions:h,tradingvueFunc:q}),self.workerStorage.set(`request_${b}`,new Map),(u||!self.workerStorage.has(`request_${b}_data`))&&self.workerStorage.set(`request_${b}_data`,new Map),self.workerStorage.set(`request_${b}_list`,new Map),self.workerStorage.set(`request_${b}_tmp`,new Map));let L=[];if(km(l,b,h),o)q(d,f,h);else if(r&&r.length){const C=r.length-1;d.updateOptions({interval:z,mintick:_,chart:s,syminfo:p}),h.updateOptions({inputs:c,strategy:a});const N=self.workerStorage.get(`request_${b}_tmp`),D=self.workerStorage.get(`request_${b}_data`),x=self.workerStorage.get(`request_${b}`);try{let P;for(const[V,$]of r.entries()){const{barindex:t0}=$;if(!t&&(t0||t0===0)&&m.push(t0),N!=null&&N.size){const i0=[],O0=[],L0=[];for(const[a0,w0]of N){const{symbol:D0,timeframe:X0,id:A0,reqId:k0,calc_bars_count:H0,ignore_invalid_symbol:J0,originTimeframe:G1}=w0,u1=`${D0}:${X0}`;L0.push(k0),O0.push({id:A0,key:u1,ignore_invalid_symbol:J0});const[F,K]=D0.split(":"),J=Number(G1)<=60?1e4:5e3;i0.push(Im({params:[{exchange:F,symbol:K,limit:H0||J,start:0,end:0,period:X0}]}).json())}const T0=await Promise.all(i0);for(const[a0,w0]of T0.entries()){const{code:D0,data:X0,msg:A0}=w0,k0=O0[a0];if(D0!==200&&!k0.ignore_invalid_symbol)return{status:1,errors:[{endLineNumber:0,startColumn:0,endColumn:0,startLineNumber:0,message:A0,type:U0.Error}]};D==null||D.set(k0.id,((B=(v=X0[k0.key])==null?void 0:v.list)==null?void 0:B.reverse())||[])}N==null||N.clear();for(const a0 of L0){const w0=x==null?void 0:x.get(a0);if(!w0)continue;const{strJs:D0,paramsExpr:X0,dataId:A0,...k0}=w0,{logs:H0=[],errors:J0=[]}=h.request.runScripts(D0,a0,!0,D==null?void 0:D.get(A0),k0,X0)||{};h.log.mergeLogs(H0),h.addErrors(J0,a0)}P&&(h.log.clearLogForIndex(P.barIndex),Js(d,h,f,q,O,P))}P=Object.assign($,{barIndex:t0||V,lastBarIndex:r[C].barindex||C,lastBarTime:r[C].time,nextBarTime:(X=r[V+1])==null?void 0:X.time}),Js(d,h,f,q,O,P);const Z=h.errors;if(Z.length&&Z.some(i0=>i0.type===U0.Error))return{status:1,errors:Z}}const H=self.workerStorage.get(`request_${b}_list`);if((H==null?void 0:H.size)>40)return{status:1,errors:[{endLineNumber:0,startColumn:0,endColumn:0,startLineNumber:0,message:l1.requestsNumErr,type:U0.Error}]};if(H!=null&&H.size){const V=new Map;for(const[$,t0]of H)L.push(t0),t&&(D!=null&&D.has($))&&V.set($,D.get($));t&&self.workerStorage.set(`request_${b}_data`,V)}L.length&&(H==null||H.clear()),t&&self.workerStorage.delete(`request_${b}_tmp`)}catch(P){return{status:1,errors:[{endLineNumber:0,startColumn:0,endColumn:0,startLineNumber:0,message:P==null?void 0:P.message,type:U0.Error}]}}}const g=h.errors;return g.length&&g.some(C=>C.type===U0.Error)?{status:1,errors:g}:{status:0,requestList:L,errors:g,options:{...h.options(m),id:b}}}function km(M,e,t){var p;if(!M)return;const r=self.workerStorage.get(`request_${e}_data`),o=self.workerStorage.get(`request_${e}`);if(Object.keys(M).length)for(const[z,c]of o){const{strJs:s,paramsExpr:a,dataId:O,...u}=c;let l=M[z]||[];if(r!=null&&r.has(O)){const d=(r==null?void 0:r.get(z))||[];if(d.length){const f=d[d.length-1].time;l=l.filter(m=>m.time>=f),((p=l[0])==null?void 0:p.time)===f&&d.pop();const{logs:h=[],errors:q=[]}=t.request.runScripts(s,z,!1,l,u,a)||{};t.log.mergeLogs(h),t.addErrors(q,z)}r==null||r.set(z,d.concat(l))}}}function Js(M,e,t,r,o,b){if(M.updateData(b),e.update({barIndex:b.barIndex}),o=o||e.scriptType,b.isrealtime&&o===zi.strategy&&!e.strategy.isCalcOnEveryTick?e.strategy.calcCurrentOrder():(r(M,t,e),e.endExecution()),e.strategy.calcOnOrderFillsData.tradeData){for(;e.strategy.calcOnOrderFillsData.tradeData;)e.strategy.calcOnOrderFillsData.data=e.strategy.calcOnOrderFillsData.tradeData,e.strategy.calcOnOrderFillsData.tradeData=void 0,M.updateData(b,!0),e.update({barIndex:b==null?void 0:b.barIndex}),r(M,t,e),e.endExecution();e.strategy.calcOnOrderFillsData={index:-1}}}function $m(M){var e,t,r,o,b,p;(e=self==null?void 0:self.workerStorage)==null||e.deleteStartwidthKey(M),(t=self==null?void 0:self.workerStorage)==null||t.delete(`inputs_${M}`),(r=self==null?void 0:self.workerStorage)==null||r.delete(`strategy_${M}`),(o=self==null?void 0:self.workerStorage)==null||o.delete(`request_${M}`),(b=self==null?void 0:self.workerStorage)==null||b.delete(`request_${M}_data`),(p=self==null?void 0:self.workerStorage)==null||p.delete(`request_${M}_list`)}hp({runScript:Pm,removeScript:$m})})();
83
+ */const xs=Symbol("Comlink.proxy"),am=Symbol("Comlink.endpoint"),um=Symbol("Comlink.releaseProxy"),dp=Symbol("Comlink.finalizer"),rb=Symbol("Comlink.thrown"),Ss=M=>typeof M=="object"&&M!==null||typeof M=="function",Am={canHandle:M=>Ss(M)&&M[xs],serialize(M){const{port1:e,port2:t}=new MessageChannel;return hp(M,e),[t,[t]]},deserialize(M){return M.start(),dm(M)}},fm={canHandle:M=>Ss(M)&&rb in M,serialize({value:M}){let e;return M instanceof Error?e={isError:!0,value:{message:M.message,name:M.name,stack:M.stack}}:e={isError:!1,value:M},[e,[]]},deserialize(M){throw M.isError?Object.assign(new Error(M.value.message),M.value):M.value}},Fs=new Map([["proxy",Am],["throw",fm]]);function lm(M,e){for(const t of M)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function hp(M,e=globalThis,t=["*"]){e.addEventListener("message",function r(o){if(!o||!o.data)return;if(!lm(t,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}const{id:b,type:p,path:z}=Object.assign({path:[]},o.data),c=(o.data.argumentList||[]).map(Qt);let s;try{const a=z.slice(0,-1).reduce((u,l)=>u[l],M),O=z.reduce((u,l)=>u[l],M);switch(p){case"GET":s=O;break;case"SET":a[z.slice(-1)[0]]=Qt(o.data.value),s=!0;break;case"APPLY":s=O.apply(a,c);break;case"CONSTRUCT":{const u=new O(...c);s=gm(u)}break;case"ENDPOINT":{const{port1:u,port2:l}=new MessageChannel;hp(M,l),s=mm(u,[u])}break;case"RELEASE":s=void 0;break;default:return}}catch(a){s={value:a,[rb]:0}}Promise.resolve(s).catch(a=>({value:a,[rb]:0})).then(a=>{const[O,u]=nb(a);e.postMessage(Object.assign(Object.assign({},O),{id:b}),u),p==="RELEASE"&&(e.removeEventListener("message",r),Is(e),dp in M&&typeof M[dp]=="function"&&M[dp]())}).catch(a=>{const[O,u]=nb({value:new TypeError("Unserializable return value"),[rb]:0});e.postMessage(Object.assign(Object.assign({},O),{id:b}),u)})}),e.start&&e.start()}function qm(M){return M.constructor.name==="MessagePort"}function Is(M){qm(M)&&M.close()}function dm(M,e){return Wp(M,[],e)}function Mb(M){if(M)throw new Error("Proxy has been released and is not useable")}function Ps(M){return Cr(M,{type:"RELEASE"}).then(()=>{Is(M)})}const ob=new WeakMap,bb="FinalizationRegistry"in globalThis&&new FinalizationRegistry(M=>{const e=(ob.get(M)||0)-1;ob.set(M,e),e===0&&Ps(M)});function hm(M,e){const t=(ob.get(e)||0)+1;ob.set(e,t),bb&&bb.register(M,e,M)}function Wm(M){bb&&bb.unregister(M)}function Wp(M,e=[],t=function(){}){let r=!1;const o=new Proxy(t,{get(b,p){if(Mb(r),p===um)return()=>{Wm(o),Ps(M),r=!0};if(p==="then"){if(e.length===0)return{then:()=>o};const z=Cr(M,{type:"GET",path:e.map(c=>c.toString())}).then(Qt);return z.then.bind(z)}return Wp(M,[...e,p])},set(b,p,z){Mb(r);const[c,s]=nb(z);return Cr(M,{type:"SET",path:[...e,p].map(a=>a.toString()),value:c},s).then(Qt)},apply(b,p,z){Mb(r);const c=e[e.length-1];if(c===am)return Cr(M,{type:"ENDPOINT"}).then(Qt);if(c==="bind")return Wp(M,e.slice(0,-1));const[s,a]=ks(z);return Cr(M,{type:"APPLY",path:e.map(O=>O.toString()),argumentList:s},a).then(Qt)},construct(b,p){Mb(r);const[z,c]=ks(p);return Cr(M,{type:"CONSTRUCT",path:e.map(s=>s.toString()),argumentList:z},c).then(Qt)}});return hm(o,M),o}function _m(M){return Array.prototype.concat.apply([],M)}function ks(M){const e=M.map(nb);return[e.map(t=>t[0]),_m(e.map(t=>t[1]))]}const $s=new WeakMap;function mm(M,e){return $s.set(M,e),M}function gm(M){return Object.assign(M,{[xs]:!0})}function nb(M){for(const[e,t]of Fs)if(t.canHandle(M)){const[r,o]=t.serialize(M);return[{type:"HANDLER",name:e,value:r},o]}return[{type:"RAW",value:M},$s.get(M)||[]]}function Qt(M){switch(M.type){case"HANDLER":return Fs.get(M.name).deserialize(M.value);case"RAW":return M.value}}function Cr(M,e,t){return new Promise(r=>{const o=Rm();M.addEventListener("message",function b(p){!p.data||!p.data.id||p.data.id!==o||(M.removeEventListener("message",b),r(p.data))}),M.start&&M.start(),M.postMessage(Object.assign({id:o},e),t)})}function Rm(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class Lm{constructor(){E(this,"_cache");this._cache=new Map}set(e,t){this._cache.set(e,t)}setValue(e,t,r){const o=this._cache.get(e)||{};o[t]=r,this._cache.set(e,o)}updateValue(e,t,r){const o=this._cache.get(e)||{};this._cache.set(e,Object.assign(o[t]||{},r))}get(e){return this._cache.get(e)}has(e){return this._cache.has(e)}deleteStartwidthKey(e){for(const t of this._cache.keys())t.startsWith(e)&&this._cache.delete(t)}delete(e){this._cache.delete(e)}clear(){this._cache.clear()}}class Us extends Error{constructor(t,r,o){const b=t.status||t.status===0?t.status:"",p=t.statusText||"",z=`${b} ${p}`.trim(),c=z?`status code ${z}`:"an unknown error";super(`Request failed with ${c}: ${r.method} ${r.url}`);E(this,"response");E(this,"request");E(this,"options");this.name="HTTPError",this.response=t,this.request=r,this.options=o}}class js extends Error{constructor(t){super(`Request timed out: ${t.method} ${t.url}`);E(this,"request");this.name="TimeoutError",this.request=t}}const WM=M=>M!==null&&typeof M=="object",pb=(...M)=>{for(const e of M)if((!WM(e)||Array.isArray(e))&&e!==void 0)throw new TypeError("The `options` argument must be an object");return _p({},...M)},Hs=(M={},e={})=>{const t=new globalThis.Headers(M),r=e instanceof globalThis.Headers,o=new globalThis.Headers(e);for(const[b,p]of o.entries())r&&p==="undefined"||p===void 0?t.delete(b):t.set(b,p);return t};function zb(M,e,t){return Object.hasOwn(e,t)&&e[t]===void 0?[]:_p(M[t]??[],e[t]??[])}const Ys=(M={},e={})=>({beforeRequest:zb(M,e,"beforeRequest"),beforeRetry:zb(M,e,"beforeRetry"),afterResponse:zb(M,e,"afterResponse"),beforeError:zb(M,e,"beforeError")}),_p=(...M)=>{let e={},t={},r={};for(const o of M)if(Array.isArray(o))Array.isArray(e)||(e=[]),e=[...e,...o];else if(WM(o)){for(let[b,p]of Object.entries(o))WM(p)&&b in e&&(p=_p(e[b],p)),e={...e,[b]:p};WM(o.hooks)&&(r=Ys(r,o.hooks),e.hooks=r),WM(o.headers)&&(t=Hs(t,o.headers),e.headers=t)}return e},vm=(()=>{let M=!1,e=!1;const t=typeof globalThis.ReadableStream=="function",r=typeof globalThis.Request=="function";if(t&&r)try{e=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return M=!0,"half"}}).headers.has("Content-Type")}catch(o){if(o instanceof Error&&o.message==="unsupported BodyInit type")return!1;throw o}return M&&!e})(),Nm=typeof globalThis.AbortController=="function",ym=typeof globalThis.ReadableStream=="function",Bm=typeof globalThis.FormData=="function",Gs=["get","post","put","patch","head","delete"],wm={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},mp=2147483647,Vs=Symbol("stop"),Dm={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},Xm={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0},Em=M=>Gs.includes(M)?M.toUpperCase():M,Ks={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:M=>.3*2**(M-1)*1e3},Tm=(M={})=>{if(typeof M=="number")return{...Ks,limit:M};if(M.methods&&!Array.isArray(M.methods))throw new Error("retry.methods must be an array");if(M.statusCodes&&!Array.isArray(M.statusCodes))throw new Error("retry.statusCodes must be an array");return{...Ks,...M}};async function Cm(M,e,t,r){return new Promise((o,b)=>{const p=setTimeout(()=>{t&&t.abort(),b(new js(M))},r.timeout);r.fetch(M,e).then(o).catch(b).then(()=>{clearTimeout(p)})})}async function xm(M,{signal:e}){return new Promise((t,r)=>{e&&(e.throwIfAborted(),e.addEventListener("abort",o,{once:!0}));function o(){clearTimeout(b),r(e.reason)}const b=setTimeout(()=>{e==null||e.removeEventListener("abort",o),t()},M)})}const Sm=(M,e)=>{const t={};for(const r in e)!(r in Xm)&&!(r in Dm)&&!(r in M)&&(t[r]=e[r]);return t};class ib{constructor(e,t={}){E(this,"request");E(this,"abortController");E(this,"_retryCount",0);E(this,"_input");E(this,"_options");var r,o;if(this._input=e,this._options={...t,headers:Hs(this._input.headers,t.headers),hooks:Ys({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},t.hooks),method:Em(t.method??this._input.method),prefixUrl:String(t.prefixUrl||""),retry:Tm(t.retry),throwHttpErrors:t.throwHttpErrors!==!1,timeout:t.timeout??1e4,fetch:t.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(Nm){this.abortController=new globalThis.AbortController;const b=this._options.signal??this._input.signal;b==null||b.addEventListener("abort",()=>{this.abortController.abort(b.reason)}),this._options.signal=this.abortController.signal}if(vm&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=((o=(r=this._options).stringifyJson)==null?void 0:o.call(r,this._options.json))??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const p="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),z=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,p);(Bm&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(z,{...this.request}),this._options)}}static create(e,t){const r=new ib(e,t),o=async()=>{if(typeof r._options.timeout=="number"&&r._options.timeout>mp)throw new RangeError(`The \`timeout\` option cannot be greater than ${mp}`);await Promise.resolve();let z=await r._fetch();for(const c of r._options.hooks.afterResponse){const s=await c(r.request,r._options,r._decorateResponse(z.clone()));s instanceof globalThis.Response&&(z=s)}if(r._decorateResponse(z),!z.ok&&r._options.throwHttpErrors){let c=new Us(z,r.request,r._options);for(const s of r._options.hooks.beforeError)c=await s(c);throw c}if(r._options.onDownloadProgress){if(typeof r._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!ym)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return r._stream(z.clone(),r._options.onDownloadProgress)}return z},p=r._options.retry.methods.includes(r.request.method.toLowerCase())?r._retry(o):o();for(const[z,c]of Object.entries(wm))p[z]=async()=>{r.request.headers.set("accept",r.request.headers.get("accept")||c);const a=(await p).clone();if(z==="json"){if(a.status===204||(await a.clone().arrayBuffer()).byteLength===0)return"";if(t.parseJson)return t.parseJson(await a.text())}return a[z]()};return p}_calculateRetryDelay(e){if(this._retryCount++,this._retryCount>this._options.retry.limit||e instanceof js)throw e;if(e instanceof Us){if(!this._options.retry.statusCodes.includes(e.response.status))throw e;const r=e.response.headers.get("Retry-After")??e.response.headers.get("RateLimit-Reset")??e.response.headers.get("X-RateLimit-Reset")??e.response.headers.get("X-Rate-Limit-Reset");if(r&&this._options.retry.afterStatusCodes.includes(e.response.status)){let o=Number(r)*1e3;Number.isNaN(o)?o=Date.parse(r)-Date.now():o>=Date.parse("2024-01-01")&&(o-=Date.now());const b=this._options.retry.maxRetryAfter??o;return o<b?o:b}if(e.response.status===413)throw e}const t=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,t)}_decorateResponse(e){return this._options.parseJson&&(e.json=async()=>this._options.parseJson(await e.text())),e}async _retry(e){try{return await e()}catch(t){const r=Math.min(this._calculateRetryDelay(t),mp);if(this._retryCount<1)throw t;await xm(r,{signal:this._options.signal});for(const o of this._options.hooks.beforeRetry)if(await o({request:this.request,options:this._options,error:t,retryCount:this._retryCount})===Vs)return;return this._retry(e)}}async _fetch(){for(const r of this._options.hooks.beforeRequest){const o=await r(this.request,this._options);if(o instanceof Request){this.request=o;break}if(o instanceof Response)return o}const e=Sm(this.request,this._options),t=this.request;return this.request=t.clone(),this._options.timeout===!1?this._options.fetch(t,e):Cm(t,e,this.abortController,this._options)}_stream(e,t){const r=Number(e.headers.get("content-length"))||0;let o=0;return e.status===204?(t&&t({percent:1,totalBytes:r,transferredBytes:o},new Uint8Array),new globalThis.Response(null,{status:e.status,statusText:e.statusText,headers:e.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(b){const p=e.body.getReader();t&&t({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array);async function z(){const{done:c,value:s}=await p.read();if(c){b.close();return}if(t){o+=s.byteLength;const a=r===0?0:o/r;t({percent:a,transferredBytes:o,totalBytes:r},s)}b.enqueue(s),await z()}await z()}}),{status:e.status,statusText:e.statusText,headers:e.headers})}}/*! MIT License © Sindre Sorhus */const gp=M=>{const e=(t,r)=>ib.create(t,pb(M,r));for(const t of Gs)e[t]=(r,o)=>ib.create(r,pb(M,o,{method:t}));return e.create=t=>gp(pb(t)),e.extend=t=>(typeof t=="function"&&(t=t(M??{})),gp(pb(M,t))),e.stop=Vs,e},Fm=gp().create({timeout:2e4,prefixUrl:"https://data.tradingvue.com/",retry:0});function Im(M){return Fm.post("symbol/data/v1/",{json:M})}async function Pm(M,e,t){var v,B,X;const{data:r,isPreParser:o,id:b="default",syminfo:p={},interval:z,inputs:c,chart:s,strategy:a,scriptType:O,isManuallyAdd:u,subscribeData:l}=e;self.workerStorage||(self.workerStorage=new Lm);let{builtInGather:d,buildinConstants:f,buildInFunctions:h,tradingvueFunc:q}=self.workerStorage.get(b)||{},m=[];const _=p.mintick?Number(p.mintick):1e-5;p.mintick=_,t&&(d=new qp(b),f=new Ap,h=new lp(_,d,b),q=new Function("$_var","$_const","$_func",M),self.workerStorage.set(b,{builtInGather:d,buildinConstants:f,buildInFunctions:h,tradingvueFunc:q}),self.workerStorage.set(`request_${b}`,new Map),(u||!self.workerStorage.has(`request_${b}_data`))&&self.workerStorage.set(`request_${b}_data`,new Map),self.workerStorage.set(`request_${b}_list`,new Map),self.workerStorage.set(`request_${b}_tmp`,new Map));let L=[];if(km(l,b,h),o)q(d,f,h);else if(r&&r.length){const C=r.length-1;d.updateOptions({interval:z,mintick:_,chart:s,syminfo:p}),h.updateOptions({inputs:c,strategy:a});const N=self.workerStorage.get(`request_${b}_tmp`),D=self.workerStorage.get(`request_${b}_data`),x=self.workerStorage.get(`request_${b}`);try{let P;for(const[V,$]of r.entries()){const{barindex:t0}=$;if(!t&&(t0||t0===0)&&m.push(t0),N!=null&&N.size){const i0=[],O0=[],L0=[];for(const[a0,w0]of N){const{symbol:D0,timeframe:X0,id:A0,reqId:k0,calc_bars_count:H0,ignore_invalid_symbol:J0,originTimeframe:G1}=w0,u1=`${D0}:${X0}`;L0.push(k0),O0.push({id:A0,key:u1,ignore_invalid_symbol:J0});const[F,K]=D0.split(":"),J=Number(G1)<=60?1e4:5e3;i0.push(Im({params:[{exchange:F,symbol:K,limit:H0||J,start:0,end:0,period:X0}]}).json())}const T0=await Promise.all(i0);for(const[a0,w0]of T0.entries()){const{code:D0,data:X0,msg:A0}=w0,k0=O0[a0];if(D0!==200&&!k0.ignore_invalid_symbol)return{status:1,errors:[{endLineNumber:0,startColumn:0,endColumn:0,startLineNumber:0,message:A0,type:U0.Error}]};D==null||D.set(k0.id,((B=(v=X0[k0.key])==null?void 0:v.list)==null?void 0:B.reverse())||[])}N==null||N.clear();for(const a0 of L0){const w0=x==null?void 0:x.get(a0);if(!w0)continue;const{strJs:D0,paramsExpr:X0,dataId:A0,...k0}=w0,{logs:H0=[],errors:J0=[]}=h.request.runScripts(D0,a0,!0,D==null?void 0:D.get(A0),k0,X0)||{};h.log.mergeLogs(H0),h.addErrors(J0,a0)}P&&(h.log.clearLogForIndex(P.barIndex),Js(d,h,f,q,O,P))}P=Object.assign($,{barIndex:t0||V,lastBarIndex:r[C].barindex||C,lastBarTime:r[C].time,nextBarTime:(X=r[V+1])==null?void 0:X.time}),Js(d,h,f,q,O,P);const Z=h.errors;if(Z.length&&Z.some(i0=>i0.type===U0.Error))return{status:1,errors:Z}}const H=self.workerStorage.get(`request_${b}_list`);if((H==null?void 0:H.size)>40)return{status:1,errors:[{endLineNumber:0,startColumn:0,endColumn:0,startLineNumber:0,message:l1.requestsNumErr,type:U0.Error}]};if(H!=null&&H.size){const V=new Map;for(const[$,t0]of H)L.push(t0),t&&(D!=null&&D.has($))&&V.set($,D.get($));t&&self.workerStorage.set(`request_${b}_data`,V)}L.length&&(H==null||H.clear()),t&&self.workerStorage.delete(`request_${b}_tmp`)}catch(P){return{status:1,errors:[{endLineNumber:0,startColumn:0,endColumn:0,startLineNumber:0,message:P==null?void 0:P.message,type:U0.Error}]}}}const g=h.errors;return g.length&&g.some(C=>C.type===U0.Error)?{status:1,errors:g}:{status:0,requestList:L,errors:g,options:{...h.options(m),id:b}}}function km(M,e,t){var p;if(!M)return;const r=self.workerStorage.get(`request_${e}_data`),o=self.workerStorage.get(`request_${e}`);if(Object.keys(M).length)for(const[z,c]of o){const{strJs:s,paramsExpr:a,dataId:O,...u}=c;let l=M[z]||[];if(r!=null&&r.has(O)){const d=(r==null?void 0:r.get(z))||[];if(d.length){const f=d[d.length-1].time;l=l.filter(m=>m.time>=f),((p=l[0])==null?void 0:p.time)===f&&d.pop();const{logs:h=[],errors:q=[]}=t.request.runScripts(s,z,!1,l,u,a)||{};t.log.mergeLogs(h),t.addErrors(q,z)}r==null||r.set(z,d.concat(l))}}}function Js(M,e,t,r,o,b){if(M.updateData(b),e.update({barIndex:b.barIndex}),o=o||e.scriptType,b.isrealtime&&o===zi.strategy&&!e.strategy.isCalcOnEveryTick){e.strategy.calcCurrentOrder();return}if(r(M,t,e),e.endExecution(),e.strategy.calcOnOrderFillsData.tradeData){for(;e.strategy.calcOnOrderFillsData.tradeData;)e.strategy.calcOnOrderFillsData.data=e.strategy.calcOnOrderFillsData.tradeData,e.strategy.calcOnOrderFillsData.tradeData=void 0,M.updateData(b,!0),e.update({barIndex:b==null?void 0:b.barIndex}),r(M,t,e),e.endExecution();e.strategy.calcOnOrderFillsData={index:-1}}}function $m(M){var e,t,r,o,b,p;(e=self==null?void 0:self.workerStorage)==null||e.deleteStartwidthKey(M),(t=self==null?void 0:self.workerStorage)==null||t.delete(`inputs_${M}`),(r=self==null?void 0:self.workerStorage)==null||r.delete(`strategy_${M}`),(o=self==null?void 0:self.workerStorage)==null||o.delete(`request_${M}`),(b=self==null?void 0:self.workerStorage)==null||b.delete(`request_${M}_data`),(p=self==null?void 0:self.workerStorage)==null||p.delete(`request_${M}_list`)}hp({runScript:Pm,removeScript:$m})})();
@@ -69138,7 +69138,7 @@ function br(a, s, r) {
69138
69138
  function Nw() {
69139
69139
  return new Array(4).fill(0).map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)).join("-");
69140
69140
  }
69141
- const Cd = new Worker(new URL("" + new URL("assets/scriptsRunWorker-DU1flAav.js", import.meta.url).href, import.meta.url), { type: "module", name: "Run TccScript Server" });
69141
+ const Cd = new Worker(new URL("" + new URL("assets/scriptsRunWorker-Drm07TMz.js", import.meta.url).href, import.meta.url), { type: "module", name: "Run TccScript Server" });
69142
69142
  Cd.onerror = (a) => {
69143
69143
  console.error(a);
69144
69144
  };
@@ -141,7 +141,7 @@ function print() { __p += __j.call(arguments, '') }
141
141
  * @license
142
142
  * Copyright 2019 Google LLC
143
143
  * SPDX-License-Identifier: Apache-2.0
144
- */const tl=Symbol("Comlink.proxy"),Dm=Symbol("Comlink.endpoint"),Im=Symbol("Comlink.releaseProxy"),Bn=Symbol("Comlink.finalizer"),ba=Symbol("Comlink.thrown"),sl=a=>typeof a=="object"&&a!==null||typeof a=="function",Am={canHandle:a=>sl(a)&&a[tl],serialize(a){const{port1:s,port2:r}=new MessageChannel;return al(a,s),[r,[r]]},deserialize(a){return a.start(),Un(a)}},qm={canHandle:a=>sl(a)&&ba in a,serialize({value:a}){let s;return a instanceof Error?s={isError:!0,value:{message:a.message,name:a.name,stack:a.stack}}:s={isError:!1,value:a},[s,[]]},deserialize(a){throw a.isError?Object.assign(new Error(a.value.message),a.value):a.value}},rl=new Map([["proxy",Am],["throw",qm]]);function Cm(a,s){for(const r of a)if(s===r||r==="*"||r instanceof RegExp&&r.test(s))return!0;return!1}function al(a,s=globalThis,r=["*"]){s.addEventListener("message",function n(o){if(!o||!o.data)return;if(!Cm(r,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}const{id:l,type:c,path:u}=Object.assign({path:[]},o.data),m=(o.data.argumentList||[]).map(Is);let _;try{const g=u.slice(0,-1).reduce((h,D)=>h[D],a),x=u.reduce((h,D)=>h[D],a);switch(c){case"GET":_=x;break;case"SET":g[u.slice(-1)[0]]=Is(o.data.value),_=!0;break;case"APPLY":_=x.apply(g,m);break;case"CONSTRUCT":{const h=new x(...m);_=Kn(h)}break;case"ENDPOINT":{const{port1:h,port2:D}=new MessageChannel;al(a,D),_=Lm(h,[h])}break;case"RELEASE":_=void 0;break;default:return}}catch(g){_={value:g,[ba]:0}}Promise.resolve(_).catch(g=>({value:g,[ba]:0})).then(g=>{const[x,h]=va(g);s.postMessage(Object.assign(Object.assign({},x),{id:l}),h),c==="RELEASE"&&(s.removeEventListener("message",n),nl(s),Bn in a&&typeof a[Bn]=="function"&&a[Bn]())}).catch(g=>{const[x,h]=va({value:new TypeError("Unserializable return value"),[ba]:0});s.postMessage(Object.assign(Object.assign({},x),{id:l}),h)})}),s.start&&s.start()}function Sm(a){return a.constructor.name==="MessagePort"}function nl(a){Sm(a)&&a.close()}function Un(a,s){return $n(a,[],s)}function xa(a){if(a)throw new Error("Proxy has been released and is not useable")}function il(a){return Hs(a,{type:"RELEASE"}).then(()=>{nl(a)})}const ha=new WeakMap,wa="FinalizationRegistry"in globalThis&&new FinalizationRegistry(a=>{const s=(ha.get(a)||0)-1;ha.set(a,s),s===0&&il(a)});function zm(a,s){const r=(ha.get(s)||0)+1;ha.set(s,r),wa&&wa.register(a,s,a)}function Nm(a){wa&&wa.unregister(a)}function $n(a,s=[],r=function(){}){let n=!1;const o=new Proxy(r,{get(l,c){if(xa(n),c===Im)return()=>{Nm(o),il(a),n=!0};if(c==="then"){if(s.length===0)return{then:()=>o};const u=Hs(a,{type:"GET",path:s.map(m=>m.toString())}).then(Is);return u.then.bind(u)}return $n(a,[...s,c])},set(l,c,u){xa(n);const[m,_]=va(u);return Hs(a,{type:"SET",path:[...s,c].map(g=>g.toString()),value:m},_).then(Is)},apply(l,c,u){xa(n);const m=s[s.length-1];if(m===Dm)return Hs(a,{type:"ENDPOINT"}).then(Is);if(m==="bind")return $n(a,s.slice(0,-1));const[_,g]=ol(u);return Hs(a,{type:"APPLY",path:s.map(x=>x.toString()),argumentList:_},g).then(Is)},construct(l,c){xa(n);const[u,m]=ol(c);return Hs(a,{type:"CONSTRUCT",path:s.map(_=>_.toString()),argumentList:u},m).then(Is)}});return zm(o,a),o}function Em(a){return Array.prototype.concat.apply([],a)}function ol(a){const s=a.map(va);return[s.map(r=>r[0]),Em(s.map(r=>r[1]))]}const ll=new WeakMap;function Lm(a,s){return ll.set(a,s),a}function Kn(a){return Object.assign(a,{[tl]:!0})}function va(a){for(const[s,r]of rl)if(r.canHandle(a)){const[n,o]=r.serialize(a);return[{type:"HANDLER",name:s,value:n},o]}return[{type:"RAW",value:a},ll.get(a)||[]]}function Is(a){switch(a.type){case"HANDLER":return rl.get(a.name).deserialize(a.value);case"RAW":return a.value}}function Hs(a,s,r){return new Promise(n=>{const o=Mm();a.addEventListener("message",function l(c){!c.data||!c.data.id||c.data.id!==o||(a.removeEventListener("message",l),n(c.data))}),a.start&&a.start(),a.postMessage(Object.assign({id:o},s),r)})}function Mm(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}const cl=new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/scriptsRunWorker-DU1flAav.js").href:new URL("assets/scriptsRunWorker-DU1flAav.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ra&&ra.src||new URL("trading-vue-editor.umd.cjs",document.baseURI).href),{type:"module",name:"Run TccScript Server"});cl.onerror=a=>{console.error(a)};async function pl(a){return await _a.setInlayHints(a)}const dl=Un(cl),ul=Un(new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/parserTccWorker-CIVOM4FO.js").href:new URL("assets/parserTccWorker-CIVOM4FO.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ra&&ra.src||new URL("trading-vue-editor.umd.cjs",document.baseURI).href),{type:"module",name:"Parser TccScript Server"}));async function ml(a,s=!1){const{functions:r,types:n,constants:o,variables:l,methods:c}=nt;return await ul.parseTcc(a,s,Kn(pl),{functions:Object.fromEntries(r),methods:Object.fromEntries(c),types:Object.fromEntries(n),constants:Object.fromEntries(o),variables:Object.fromEntries(l)})}async function Om(a,s){const{functions:r,types:n,constants:o,variables:l,methods:c}=nt;return await ul.parseLibraryCode(a,s,Kn(pl),{functions:Object.fromEntries(r),methods:Object.fromEntries(c),types:Object.fromEntries(n),constants:Object.fromEntries(o),variables:Object.fromEntries(l)})}async function Pm(a,s,r=!0){return await dl.runScript(a,s,r)}async function Rm(a){return await dl.removeScript(a)}function Fm(a){return new Worker(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/editor.worker-CT5Cb1wO.js").href:new URL("assets/editor.worker-CT5Cb1wO.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),{name:a==null?void 0:a.name})}const{slice:Bm,forEach:Um}=[];function $m(a){return Um.call(Bm.call(arguments,1),s=>{if(s)for(const r in s)a[r]===void 0&&(a[r]=s[r])}),a}const yl=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Km=(a,s,r)=>{const n=r||{};n.path=n.path||"/";const o=encodeURIComponent(s);let l=`${a}=${o}`;if(n.maxAge>0){const c=n.maxAge-0;if(Number.isNaN(c))throw new Error("maxAge should be a Number");l+=`; Max-Age=${Math.floor(c)}`}if(n.domain){if(!yl.test(n.domain))throw new TypeError("option domain is invalid");l+=`; Domain=${n.domain}`}if(n.path){if(!yl.test(n.path))throw new TypeError("option path is invalid");l+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");l+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(l+="; HttpOnly"),n.secure&&(l+="; Secure"),n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:l+="; SameSite=Strict";break;case"lax":l+="; SameSite=Lax";break;case"strict":l+="; SameSite=Strict";break;case"none":l+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return l},_l={create(a,s,r,n){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+r*60*1e3)),n&&(o.domain=n),document.cookie=Km(a,encodeURIComponent(s),o)},read(a){const s=`${a}=`,r=document.cookie.split(";");for(let n=0;n<r.length;n++){let o=r[n];for(;o.charAt(0)===" ";)o=o.substring(1,o.length);if(o.indexOf(s)===0)return o.substring(s.length,o.length)}return null},remove(a){this.create(a,"",-1)}};var jm={name:"cookie",lookup(a){let{lookupCookie:s}=a;if(s&&typeof document<"u")return _l.read(s)||void 0},cacheUserLanguage(a,s){let{lookupCookie:r,cookieMinutes:n,cookieDomain:o,cookieOptions:l}=s;r&&typeof document<"u"&&_l.create(r,a,n,o,l)}},Hm={name:"querystring",lookup(a){var n;let{lookupQuerystring:s}=a,r;if(typeof window<"u"){let{search:o}=window.location;!window.location.search&&((n=window.location.hash)==null?void 0:n.indexOf("?"))>-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));const c=o.substring(1).split("&");for(let u=0;u<c.length;u++){const m=c[u].indexOf("=");m>0&&c[u].substring(0,m)===s&&(r=c[u].substring(m+1))}}return r}};let Cr=null;const fl=()=>{if(Cr!==null)return Cr;try{Cr=window!=="undefined"&&window.localStorage!==null;const a="i18next.translate.boo";window.localStorage.setItem(a,"foo"),window.localStorage.removeItem(a)}catch{Cr=!1}return Cr};var Wm={name:"localStorage",lookup(a){let{lookupLocalStorage:s}=a;if(s&&fl())return window.localStorage.getItem(s)||void 0},cacheUserLanguage(a,s){let{lookupLocalStorage:r}=s;r&&fl()&&window.localStorage.setItem(r,a)}};let Sr=null;const gl=()=>{if(Sr!==null)return Sr;try{Sr=window!=="undefined"&&window.sessionStorage!==null;const a="i18next.translate.boo";window.sessionStorage.setItem(a,"foo"),window.sessionStorage.removeItem(a)}catch{Sr=!1}return Sr};var Vm={name:"sessionStorage",lookup(a){let{lookupSessionStorage:s}=a;if(s&&gl())return window.sessionStorage.getItem(s)||void 0},cacheUserLanguage(a,s){let{lookupSessionStorage:r}=s;r&&gl()&&window.sessionStorage.setItem(r,a)}},Gm={name:"navigator",lookup(a){const s=[];if(typeof navigator<"u"){const{languages:r,userLanguage:n,language:o}=navigator;if(r)for(let l=0;l<r.length;l++)s.push(r[l]);n&&s.push(n),o&&s.push(o)}return s.length>0?s:void 0}},Xm={name:"htmlTag",lookup(a){let{htmlTag:s}=a,r;const n=s||(typeof document<"u"?document.documentElement:null);return n&&typeof n.getAttribute=="function"&&(r=n.getAttribute("lang")),r}},Ym={name:"path",lookup(a){var o;let{lookupFromPathIndex:s}=a;if(typeof window>"u")return;const r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(r)?(o=r[typeof s=="number"?s:0])==null?void 0:o.replace("/",""):void 0}},Qm={name:"subdomain",lookup(a){var o,l;let{lookupFromSubdomainIndex:s}=a;const r=typeof s=="number"?s+1:1,n=typeof window<"u"&&((l=(o=window.location)==null?void 0:o.hostname)==null?void 0:l.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(n)return n[r]}};function Zm(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:a=>a}}class bl{constructor(s){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(s,r)}init(s){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=s||{languageUtils:{}},this.options=$m(r,this.options||{},Zm()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(jm),this.addDetector(Hm),this.addDetector(Wm),this.addDetector(Vm),this.addDetector(Gm),this.addDetector(Xm),this.addDetector(Ym),this.addDetector(Qm)}addDetector(s){return this.detectors[s.name]=s,this}detect(s){s||(s=this.options.order);let r=[];return s.forEach(n=>{if(this.detectors[n]){let o=this.detectors[n].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(r=r.concat(o))}}),r=r.map(n=>this.options.convertDetectedLanguage(n)),this.services.languageUtils.getBestMatchFromCodes?r:r.length>0?r[0]:null}cacheUserLanguage(s,r){r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(s)>-1||r.forEach(n=>{this.detectors[n]&&this.detectors[n].cacheUserLanguage(s,this.options)}))}}bl.type="languageDetector";const Jm=(...a)=>{console!=null&&console.warn&&(As(a[0])&&(a[0]=`react-i18next:: ${a[0]}`),console.warn(...a))},xl={},jn=(...a)=>{As(a[0])&&xl[a[0]]||(As(a[0])&&(xl[a[0]]=new Date),Jm(...a))},hl=(a,s)=>()=>{if(a.isInitialized)s();else{const r=()=>{setTimeout(()=>{a.off("initialized",r)},0),s()};a.on("initialized",r)}},Hn=(a,s,r)=>{a.loadNamespaces(s,hl(a,r))},wl=(a,s,r,n)=>{if(As(r)&&(r=[r]),a.options.preload&&a.options.preload.indexOf(s)>-1)return Hn(a,r,n);r.forEach(o=>{a.options.ns.indexOf(o)<0&&a.options.ns.push(o)}),a.loadLanguages(s,hl(a,n))},ey=(a,s,r={})=>!s.languages||!s.languages.length?(jn("i18n.languages were undefined or empty",s.languages),!0):s.hasLoadedNamespace(a,{lng:r.lng,precheck:(n,o)=>{var l;if(((l=r.bindI18n)==null?void 0:l.indexOf("languageChanging"))>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,a))return!1}}),As=a=>typeof a=="string",ty=a=>typeof a=="object"&&a!==null,sy=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ry={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},ay=a=>ry[a];let Wn={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:a=>a.replace(sy,ay)};const ny=(a={})=>{Wn={...Wn,...a}},iy=()=>Wn;let vl;const oy=a=>{vl=a},ly=()=>vl,cy={type:"3rdParty",init(a){ny(a.options.react),oy(a)}},py=N.createContext();class dy{constructor(){this.usedNamespaces={}}addUsedNamespaces(s){s.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const uy=(a,s)=>{const r=N.useRef();return N.useEffect(()=>{r.current=s?r.current:a},[a,s]),r.current},Tl=(a,s,r,n)=>a.getFixedT(s,r,n),my=(a,s,r,n)=>N.useCallback(Tl(a,s,r,n),[a,s,r,n]),Ws=(a,s={})=>{var W,Q,C,z;const{i18n:r}=s,{i18n:n,defaultNS:o}=N.useContext(py)||{},l=r||n||ly();if(l&&!l.reportNamespaces&&(l.reportNamespaces=new dy),!l){jn("You will need to pass in an i18next instance by using initReactI18next");const V=(A,L)=>As(L)?L:ty(L)&&As(L.defaultValue)?L.defaultValue:Array.isArray(A)?A[A.length-1]:A,q=[V,{},!1];return q.t=V,q.i18n={},q.ready=!1,q}(W=l.options.react)!=null&&W.wait&&jn("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const c={...iy(),...l.options.react,...s},{useSuspense:u,keyPrefix:m}=c;let _=a||o||((Q=l.options)==null?void 0:Q.defaultNS);_=As(_)?[_]:_||["translation"],(z=(C=l.reportNamespaces).addUsedNamespaces)==null||z.call(C,_);const g=(l.isInitialized||l.initializedStoreOnce)&&_.every(V=>ey(V,l,c)),x=my(l,s.lng||null,c.nsMode==="fallback"?_:_[0],m),h=()=>x,D=()=>Tl(l,s.lng||null,c.nsMode==="fallback"?_:_[0],m),[S,R]=N.useState(h);let U=_.join();s.lng&&(U=`${s.lng}${U}`);const K=uy(U),H=N.useRef(!0);N.useEffect(()=>{const{bindI18n:V,bindI18nStore:q}=c;H.current=!0,!g&&!u&&(s.lng?wl(l,s.lng,_,()=>{H.current&&R(D)}):Hn(l,_,()=>{H.current&&R(D)})),g&&K&&K!==U&&H.current&&R(D);const A=()=>{H.current&&R(D)};return V&&(l==null||l.on(V,A)),q&&(l==null||l.store.on(q,A)),()=>{H.current=!1,l&&(V==null||V.split(" ").forEach(L=>l.off(L,A))),q&&l&&q.split(" ").forEach(L=>l.store.off(L,A))}},[l,U]),N.useEffect(()=>{H.current&&g&&R(h)},[l,m,g]);const re=[S,l,g];if(re.t=S,re.i18n=l,re.ready=g,g||!g&&!u)return re;throw new Promise(V=>{s.lng?wl(l,s.lng,_,()=>V()):Hn(l,_,()=>V())})},yy={type:"type",syntax:"syntax",overloads:"overloads",arguments:"arguments",fields:"fields",example:"example",returns:"returns",remarks:"remarks","see also":"see also","Copy code":"Copy code","Copy link":"Copy link",Copied:"Copied","Link copied":"Link copied",variables:"Variables",constants:"Constants",functions:"Functions",keywords:"Keywords",types:"Types",operators:"Operators",annotations:"Annotations",search:"Search","Mine Script® v1 Reference Manual":"Mine Script® v1 Reference Manual","This script is read-only. It cannot be edited.":"This script is read-only. It cannot be edited.","save script":"Save script","open script":"Open script","find/replace":"Find/Replace","toggle console":"Toggle console","open editor in new tab":"Open editor in new tab","open editor in new window":"Open editor in new window",keyword:"keyword","built-in function":"built-in function","built-in variable":"built-in variable","built-in method":"built-in method","built-in type":"built-in type",annotation:"annotation","built-in constant":"built-in constant",namespace:"namespace","user-defined variable":"user-defined variable","user-defined type":"user-defined type",field:"field",enum:"enum","user-defined method":"user-defined method","user-defined function":"user-defined function",parameter:"parameter","**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Tcc functions, variables, and methods.":"**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Mine functions, variables, and methods.","to trigger parameters hint":"to trigger parameters hint",library:"library","enum member":"enum member",Returns:"Returns",Syntax:"Syntax",Remarks:"Remarks",Fields:"Fields",Description:"Description",Example:"Example","Enum members":"Enum members",statement:"statement",loop:"loop","`click` on keyword for more help":"`click` on keyword for more help"},_y={type:"类型",syntax:"语法",overloads:"重载",arguments:"参数",fields:"字段",example:"例子",returns:"返回值",remarks:"备注","see also":"另见","Copy code":"复制代码","Copy link":"复制链接",Copied:"已复制","Link copied":"链接已复制",variables:"内置变量",constants:"常量",functions:"函数",keywords:"关键词",types:"类型",operators:"运算符",annotations:"注释",search:"搜索","Mine Script® v1 Reference Manual":"Mine Script™ v1参考手册","This script is read-only. It cannot be edited.":"该脚本是只读的。它无法被编辑。","save script":"保存脚本","open script":"打开脚本","find/replace":"寻找/替换","toggle console":"切换控制台","open editor in new tab":"在新标签页中打开","open editor in new window":"在新窗口中打开",keyword:"关键词","built-in function":"内置函数","built-in variable":"内置变量","built-in method":"内置方法","built-in type":"内置类型",annotation:"注释","built-in constant":"内置常量",namespace:"命名空间","user-defined variable":"用户自定义变量","user-defined type":"用户自定义类型",field:"字段",enum:"枚举","user-defined method":"用户自定义方法","user-defined function":"用户自定义函数",parameter:"参数","**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Tcc functions, variables, and methods.":"命名空间是不可变的术语,充当标识符组的前缀。在命名Mine函数、变量和方法时,点和另一个术语始终遵循命名空间。","to trigger parameters hint":"触发参数提示",library:"脚本库","enum member":"枚举成员",Returns:"返回值",Syntax:"语法",Remarks:"备注",Fields:"字段",Description:"描述",Example:"例子","Enum members":"枚举成员",statement:"声明",loop:"循环","`click` on keyword for more help":"“点击”关键词以获得更多帮助"};Me.use(bl).use(cy).init({debug:!1,fallbackLng:"zh",interpolation:{escapeValue:!1},resources:{en:{translation:yy},zh:{translation:_y}}}),self.MonacoEnvironment={getWorker(){return new Fm({name:"Editor Worker"})}},In.config({paths:{vs:"https://api.tradingvue.com/static/vs"},"vs/nls":{availableLanguages:{"*":"zh-cn"}}});const fy=(a,s)=>{const{height:r,width:n,theme:o,options:l,hasDiff:c,readOnly:u,defaultValue:m,language:_,onChange:g,onLinkOpen:x,onCursorPositionChange:h,onActionTrigger:D,onEditorDidMount:S}=a,{t:R,i18n:U}=Ws(),K=N.useRef(null),H=N.useRef(null),re=N.useRef(!1),W=N.useRef(!1);N.useImperativeHandle(s,()=>({setOriginalScript(A){var L;(L=K.current)==null||L.setOriginalScript(A)},setScript(A){var L;(L=K.current)==null||L.setValue(A)},gotoLine(){var A;(A=K.current)==null||A.gotoLine()},getEditorLayout(){var A;return(A=K.current)==null?void 0:A.getEditorLayout()},setPosition(A,L){var Z;(Z=K.current)==null||Z.setPosition({column:A,lineNumber:L})},setModelMarkers(A){var L;W.current=!0,(L=K.current)==null||L.setModelMarkers(A),setTimeout(()=>{W.current=!1},2e3)},focus(){var A;(A=K.current)==null||A.focus()}})),N.useEffect(()=>{var A,L;c?(L=K.current)==null||L.addDiffDecorations():(A=K.current)==null||A.removeDiffDecorations()},[c]),N.useEffect(()=>{o&&Ne.editor.setTheme(o)},[o]),N.useEffect(()=>{_&&U.changeLanguage(_)},[_]),N.useEffect(()=>{var A;(A=K.current)==null||A.updateActionTrigger(D)},[D]),N.useEffect(()=>{var A;x&&((A=K.current)==null||A.addLinkOpenFunc(x))},[x]);function Q(A,L){var ee,ne;Pt.initBuiltinsTrees(),_a.setEditor(A),K.current=new km(A,L,D),x&&((ee=K.current)==null||ee.addLinkOpenFunc(x)),c&&((ne=K.current)==null||ne.addDiffDecorations()),Gu(A),requestAnimationFrame(q);const Z=A.getValue();K.current.onChangeCursorPosition(h),g&&g(Z),!u&&C(Z),S&&S()}const C=N.useCallback(async A=>{var Rt;re.current=!1;const{errors:L,functions:Z,methods:ee,types:ne,variables:Y,overloadsFuncs:le,imports:xe,enums:pe}=await ml(A),_e=new Map(Object.entries(Z)),Ee=new Map(Object.entries(ee)),te=new Map(Object.entries(ne)),de=new Map(Object.entries(Y)),Oe=new Map(Object.entries(xe)),Ge=new Map(Object.entries(pe));Ds.setUserDefined({functions:_e,methods:Ee,types:te,variables:de,imports:Oe,enums:Ge},le),Pt.setUserDefind(_e,te,de,Ee,Ge);const Qe=L.map(us=>({...us,severity:us.type||Ne.MarkerSeverity.Error}));u||!re.current&&!W.current&&Qe.length&&((Rt=K.current)==null||Rt.setModelMarkers(Qe))},[u]),z=N.useMemo(()=>Qu.debounce(C,1500),[C]);function V(A){var L;if(u){C(A||"");return}re.current=!0,_a.clearInlayHints(),(L=K.current)==null||L.setModelMarkers([]),A!==void 0&&(g&&g(A),z(A))}const q=N.useCallback(()=>{var L,Z;const A=(L=H.current)==null?void 0:L.getBoundingClientRect();(Z=K.current)==null||Z.setEditorLayout((A==null?void 0:A.height)||0,A==null?void 0:A.width)},[]);return N.useEffect(()=>{const A=()=>{window.requestAnimationFrame(q)},L=new ResizeObserver(A);return H.current&&L.observe(H.current),()=>{var Z;H.current&&L.unobserve(H.current),L.disconnect(),(Z=K.current)==null||Z.dispose()}},[]),T.jsx("div",{ref:H,children:T.jsx(mu,{height:r,width:n||"100%",defaultLanguage:Ke,defaultValue:m||`indicator("我的脚本")
144
+ */const tl=Symbol("Comlink.proxy"),Dm=Symbol("Comlink.endpoint"),Im=Symbol("Comlink.releaseProxy"),Bn=Symbol("Comlink.finalizer"),ba=Symbol("Comlink.thrown"),sl=a=>typeof a=="object"&&a!==null||typeof a=="function",Am={canHandle:a=>sl(a)&&a[tl],serialize(a){const{port1:s,port2:r}=new MessageChannel;return al(a,s),[r,[r]]},deserialize(a){return a.start(),Un(a)}},qm={canHandle:a=>sl(a)&&ba in a,serialize({value:a}){let s;return a instanceof Error?s={isError:!0,value:{message:a.message,name:a.name,stack:a.stack}}:s={isError:!1,value:a},[s,[]]},deserialize(a){throw a.isError?Object.assign(new Error(a.value.message),a.value):a.value}},rl=new Map([["proxy",Am],["throw",qm]]);function Cm(a,s){for(const r of a)if(s===r||r==="*"||r instanceof RegExp&&r.test(s))return!0;return!1}function al(a,s=globalThis,r=["*"]){s.addEventListener("message",function n(o){if(!o||!o.data)return;if(!Cm(r,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}const{id:l,type:c,path:u}=Object.assign({path:[]},o.data),m=(o.data.argumentList||[]).map(Is);let _;try{const g=u.slice(0,-1).reduce((h,D)=>h[D],a),x=u.reduce((h,D)=>h[D],a);switch(c){case"GET":_=x;break;case"SET":g[u.slice(-1)[0]]=Is(o.data.value),_=!0;break;case"APPLY":_=x.apply(g,m);break;case"CONSTRUCT":{const h=new x(...m);_=Kn(h)}break;case"ENDPOINT":{const{port1:h,port2:D}=new MessageChannel;al(a,D),_=Lm(h,[h])}break;case"RELEASE":_=void 0;break;default:return}}catch(g){_={value:g,[ba]:0}}Promise.resolve(_).catch(g=>({value:g,[ba]:0})).then(g=>{const[x,h]=va(g);s.postMessage(Object.assign(Object.assign({},x),{id:l}),h),c==="RELEASE"&&(s.removeEventListener("message",n),nl(s),Bn in a&&typeof a[Bn]=="function"&&a[Bn]())}).catch(g=>{const[x,h]=va({value:new TypeError("Unserializable return value"),[ba]:0});s.postMessage(Object.assign(Object.assign({},x),{id:l}),h)})}),s.start&&s.start()}function Sm(a){return a.constructor.name==="MessagePort"}function nl(a){Sm(a)&&a.close()}function Un(a,s){return $n(a,[],s)}function xa(a){if(a)throw new Error("Proxy has been released and is not useable")}function il(a){return Hs(a,{type:"RELEASE"}).then(()=>{nl(a)})}const ha=new WeakMap,wa="FinalizationRegistry"in globalThis&&new FinalizationRegistry(a=>{const s=(ha.get(a)||0)-1;ha.set(a,s),s===0&&il(a)});function zm(a,s){const r=(ha.get(s)||0)+1;ha.set(s,r),wa&&wa.register(a,s,a)}function Nm(a){wa&&wa.unregister(a)}function $n(a,s=[],r=function(){}){let n=!1;const o=new Proxy(r,{get(l,c){if(xa(n),c===Im)return()=>{Nm(o),il(a),n=!0};if(c==="then"){if(s.length===0)return{then:()=>o};const u=Hs(a,{type:"GET",path:s.map(m=>m.toString())}).then(Is);return u.then.bind(u)}return $n(a,[...s,c])},set(l,c,u){xa(n);const[m,_]=va(u);return Hs(a,{type:"SET",path:[...s,c].map(g=>g.toString()),value:m},_).then(Is)},apply(l,c,u){xa(n);const m=s[s.length-1];if(m===Dm)return Hs(a,{type:"ENDPOINT"}).then(Is);if(m==="bind")return $n(a,s.slice(0,-1));const[_,g]=ol(u);return Hs(a,{type:"APPLY",path:s.map(x=>x.toString()),argumentList:_},g).then(Is)},construct(l,c){xa(n);const[u,m]=ol(c);return Hs(a,{type:"CONSTRUCT",path:s.map(_=>_.toString()),argumentList:u},m).then(Is)}});return zm(o,a),o}function Em(a){return Array.prototype.concat.apply([],a)}function ol(a){const s=a.map(va);return[s.map(r=>r[0]),Em(s.map(r=>r[1]))]}const ll=new WeakMap;function Lm(a,s){return ll.set(a,s),a}function Kn(a){return Object.assign(a,{[tl]:!0})}function va(a){for(const[s,r]of rl)if(r.canHandle(a)){const[n,o]=r.serialize(a);return[{type:"HANDLER",name:s,value:n},o]}return[{type:"RAW",value:a},ll.get(a)||[]]}function Is(a){switch(a.type){case"HANDLER":return rl.get(a.name).deserialize(a.value);case"RAW":return a.value}}function Hs(a,s,r){return new Promise(n=>{const o=Mm();a.addEventListener("message",function l(c){!c.data||!c.data.id||c.data.id!==o||(a.removeEventListener("message",l),n(c.data))}),a.start&&a.start(),a.postMessage(Object.assign({id:o},s),r)})}function Mm(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}const cl=new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/scriptsRunWorker-Drm07TMz.js").href:new URL("assets/scriptsRunWorker-Drm07TMz.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ra&&ra.src||new URL("trading-vue-editor.umd.cjs",document.baseURI).href),{type:"module",name:"Run TccScript Server"});cl.onerror=a=>{console.error(a)};async function pl(a){return await _a.setInlayHints(a)}const dl=Un(cl),ul=Un(new Worker(new URL(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/parserTccWorker-CIVOM4FO.js").href:new URL("assets/parserTccWorker-CIVOM4FO.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ra&&ra.src||new URL("trading-vue-editor.umd.cjs",document.baseURI).href),{type:"module",name:"Parser TccScript Server"}));async function ml(a,s=!1){const{functions:r,types:n,constants:o,variables:l,methods:c}=nt;return await ul.parseTcc(a,s,Kn(pl),{functions:Object.fromEntries(r),methods:Object.fromEntries(c),types:Object.fromEntries(n),constants:Object.fromEntries(o),variables:Object.fromEntries(l)})}async function Om(a,s){const{functions:r,types:n,constants:o,variables:l,methods:c}=nt;return await ul.parseLibraryCode(a,s,Kn(pl),{functions:Object.fromEntries(r),methods:Object.fromEntries(c),types:Object.fromEntries(n),constants:Object.fromEntries(o),variables:Object.fromEntries(l)})}async function Pm(a,s,r=!0){return await dl.runScript(a,s,r)}async function Rm(a){return await dl.removeScript(a)}function Fm(a){return new Worker(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/editor.worker-CT5Cb1wO.js").href:new URL("assets/editor.worker-CT5Cb1wO.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||document.baseURI).href),{name:a==null?void 0:a.name})}const{slice:Bm,forEach:Um}=[];function $m(a){return Um.call(Bm.call(arguments,1),s=>{if(s)for(const r in s)a[r]===void 0&&(a[r]=s[r])}),a}const yl=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Km=(a,s,r)=>{const n=r||{};n.path=n.path||"/";const o=encodeURIComponent(s);let l=`${a}=${o}`;if(n.maxAge>0){const c=n.maxAge-0;if(Number.isNaN(c))throw new Error("maxAge should be a Number");l+=`; Max-Age=${Math.floor(c)}`}if(n.domain){if(!yl.test(n.domain))throw new TypeError("option domain is invalid");l+=`; Domain=${n.domain}`}if(n.path){if(!yl.test(n.path))throw new TypeError("option path is invalid");l+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");l+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(l+="; HttpOnly"),n.secure&&(l+="; Secure"),n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:l+="; SameSite=Strict";break;case"lax":l+="; SameSite=Lax";break;case"strict":l+="; SameSite=Strict";break;case"none":l+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return l},_l={create(a,s,r,n){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+r*60*1e3)),n&&(o.domain=n),document.cookie=Km(a,encodeURIComponent(s),o)},read(a){const s=`${a}=`,r=document.cookie.split(";");for(let n=0;n<r.length;n++){let o=r[n];for(;o.charAt(0)===" ";)o=o.substring(1,o.length);if(o.indexOf(s)===0)return o.substring(s.length,o.length)}return null},remove(a){this.create(a,"",-1)}};var jm={name:"cookie",lookup(a){let{lookupCookie:s}=a;if(s&&typeof document<"u")return _l.read(s)||void 0},cacheUserLanguage(a,s){let{lookupCookie:r,cookieMinutes:n,cookieDomain:o,cookieOptions:l}=s;r&&typeof document<"u"&&_l.create(r,a,n,o,l)}},Hm={name:"querystring",lookup(a){var n;let{lookupQuerystring:s}=a,r;if(typeof window<"u"){let{search:o}=window.location;!window.location.search&&((n=window.location.hash)==null?void 0:n.indexOf("?"))>-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));const c=o.substring(1).split("&");for(let u=0;u<c.length;u++){const m=c[u].indexOf("=");m>0&&c[u].substring(0,m)===s&&(r=c[u].substring(m+1))}}return r}};let Cr=null;const fl=()=>{if(Cr!==null)return Cr;try{Cr=window!=="undefined"&&window.localStorage!==null;const a="i18next.translate.boo";window.localStorage.setItem(a,"foo"),window.localStorage.removeItem(a)}catch{Cr=!1}return Cr};var Wm={name:"localStorage",lookup(a){let{lookupLocalStorage:s}=a;if(s&&fl())return window.localStorage.getItem(s)||void 0},cacheUserLanguage(a,s){let{lookupLocalStorage:r}=s;r&&fl()&&window.localStorage.setItem(r,a)}};let Sr=null;const gl=()=>{if(Sr!==null)return Sr;try{Sr=window!=="undefined"&&window.sessionStorage!==null;const a="i18next.translate.boo";window.sessionStorage.setItem(a,"foo"),window.sessionStorage.removeItem(a)}catch{Sr=!1}return Sr};var Vm={name:"sessionStorage",lookup(a){let{lookupSessionStorage:s}=a;if(s&&gl())return window.sessionStorage.getItem(s)||void 0},cacheUserLanguage(a,s){let{lookupSessionStorage:r}=s;r&&gl()&&window.sessionStorage.setItem(r,a)}},Gm={name:"navigator",lookup(a){const s=[];if(typeof navigator<"u"){const{languages:r,userLanguage:n,language:o}=navigator;if(r)for(let l=0;l<r.length;l++)s.push(r[l]);n&&s.push(n),o&&s.push(o)}return s.length>0?s:void 0}},Xm={name:"htmlTag",lookup(a){let{htmlTag:s}=a,r;const n=s||(typeof document<"u"?document.documentElement:null);return n&&typeof n.getAttribute=="function"&&(r=n.getAttribute("lang")),r}},Ym={name:"path",lookup(a){var o;let{lookupFromPathIndex:s}=a;if(typeof window>"u")return;const r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(r)?(o=r[typeof s=="number"?s:0])==null?void 0:o.replace("/",""):void 0}},Qm={name:"subdomain",lookup(a){var o,l;let{lookupFromSubdomainIndex:s}=a;const r=typeof s=="number"?s+1:1,n=typeof window<"u"&&((l=(o=window.location)==null?void 0:o.hostname)==null?void 0:l.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(n)return n[r]}};function Zm(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:a=>a}}class bl{constructor(s){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(s,r)}init(s){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=s||{languageUtils:{}},this.options=$m(r,this.options||{},Zm()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(jm),this.addDetector(Hm),this.addDetector(Wm),this.addDetector(Vm),this.addDetector(Gm),this.addDetector(Xm),this.addDetector(Ym),this.addDetector(Qm)}addDetector(s){return this.detectors[s.name]=s,this}detect(s){s||(s=this.options.order);let r=[];return s.forEach(n=>{if(this.detectors[n]){let o=this.detectors[n].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(r=r.concat(o))}}),r=r.map(n=>this.options.convertDetectedLanguage(n)),this.services.languageUtils.getBestMatchFromCodes?r:r.length>0?r[0]:null}cacheUserLanguage(s,r){r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(s)>-1||r.forEach(n=>{this.detectors[n]&&this.detectors[n].cacheUserLanguage(s,this.options)}))}}bl.type="languageDetector";const Jm=(...a)=>{console!=null&&console.warn&&(As(a[0])&&(a[0]=`react-i18next:: ${a[0]}`),console.warn(...a))},xl={},jn=(...a)=>{As(a[0])&&xl[a[0]]||(As(a[0])&&(xl[a[0]]=new Date),Jm(...a))},hl=(a,s)=>()=>{if(a.isInitialized)s();else{const r=()=>{setTimeout(()=>{a.off("initialized",r)},0),s()};a.on("initialized",r)}},Hn=(a,s,r)=>{a.loadNamespaces(s,hl(a,r))},wl=(a,s,r,n)=>{if(As(r)&&(r=[r]),a.options.preload&&a.options.preload.indexOf(s)>-1)return Hn(a,r,n);r.forEach(o=>{a.options.ns.indexOf(o)<0&&a.options.ns.push(o)}),a.loadLanguages(s,hl(a,n))},ey=(a,s,r={})=>!s.languages||!s.languages.length?(jn("i18n.languages were undefined or empty",s.languages),!0):s.hasLoadedNamespace(a,{lng:r.lng,precheck:(n,o)=>{var l;if(((l=r.bindI18n)==null?void 0:l.indexOf("languageChanging"))>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,a))return!1}}),As=a=>typeof a=="string",ty=a=>typeof a=="object"&&a!==null,sy=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ry={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},ay=a=>ry[a];let Wn={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:a=>a.replace(sy,ay)};const ny=(a={})=>{Wn={...Wn,...a}},iy=()=>Wn;let vl;const oy=a=>{vl=a},ly=()=>vl,cy={type:"3rdParty",init(a){ny(a.options.react),oy(a)}},py=N.createContext();class dy{constructor(){this.usedNamespaces={}}addUsedNamespaces(s){s.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const uy=(a,s)=>{const r=N.useRef();return N.useEffect(()=>{r.current=s?r.current:a},[a,s]),r.current},Tl=(a,s,r,n)=>a.getFixedT(s,r,n),my=(a,s,r,n)=>N.useCallback(Tl(a,s,r,n),[a,s,r,n]),Ws=(a,s={})=>{var W,Q,C,z;const{i18n:r}=s,{i18n:n,defaultNS:o}=N.useContext(py)||{},l=r||n||ly();if(l&&!l.reportNamespaces&&(l.reportNamespaces=new dy),!l){jn("You will need to pass in an i18next instance by using initReactI18next");const V=(A,L)=>As(L)?L:ty(L)&&As(L.defaultValue)?L.defaultValue:Array.isArray(A)?A[A.length-1]:A,q=[V,{},!1];return q.t=V,q.i18n={},q.ready=!1,q}(W=l.options.react)!=null&&W.wait&&jn("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const c={...iy(),...l.options.react,...s},{useSuspense:u,keyPrefix:m}=c;let _=a||o||((Q=l.options)==null?void 0:Q.defaultNS);_=As(_)?[_]:_||["translation"],(z=(C=l.reportNamespaces).addUsedNamespaces)==null||z.call(C,_);const g=(l.isInitialized||l.initializedStoreOnce)&&_.every(V=>ey(V,l,c)),x=my(l,s.lng||null,c.nsMode==="fallback"?_:_[0],m),h=()=>x,D=()=>Tl(l,s.lng||null,c.nsMode==="fallback"?_:_[0],m),[S,R]=N.useState(h);let U=_.join();s.lng&&(U=`${s.lng}${U}`);const K=uy(U),H=N.useRef(!0);N.useEffect(()=>{const{bindI18n:V,bindI18nStore:q}=c;H.current=!0,!g&&!u&&(s.lng?wl(l,s.lng,_,()=>{H.current&&R(D)}):Hn(l,_,()=>{H.current&&R(D)})),g&&K&&K!==U&&H.current&&R(D);const A=()=>{H.current&&R(D)};return V&&(l==null||l.on(V,A)),q&&(l==null||l.store.on(q,A)),()=>{H.current=!1,l&&(V==null||V.split(" ").forEach(L=>l.off(L,A))),q&&l&&q.split(" ").forEach(L=>l.store.off(L,A))}},[l,U]),N.useEffect(()=>{H.current&&g&&R(h)},[l,m,g]);const re=[S,l,g];if(re.t=S,re.i18n=l,re.ready=g,g||!g&&!u)return re;throw new Promise(V=>{s.lng?wl(l,s.lng,_,()=>V()):Hn(l,_,()=>V())})},yy={type:"type",syntax:"syntax",overloads:"overloads",arguments:"arguments",fields:"fields",example:"example",returns:"returns",remarks:"remarks","see also":"see also","Copy code":"Copy code","Copy link":"Copy link",Copied:"Copied","Link copied":"Link copied",variables:"Variables",constants:"Constants",functions:"Functions",keywords:"Keywords",types:"Types",operators:"Operators",annotations:"Annotations",search:"Search","Mine Script® v1 Reference Manual":"Mine Script® v1 Reference Manual","This script is read-only. It cannot be edited.":"This script is read-only. It cannot be edited.","save script":"Save script","open script":"Open script","find/replace":"Find/Replace","toggle console":"Toggle console","open editor in new tab":"Open editor in new tab","open editor in new window":"Open editor in new window",keyword:"keyword","built-in function":"built-in function","built-in variable":"built-in variable","built-in method":"built-in method","built-in type":"built-in type",annotation:"annotation","built-in constant":"built-in constant",namespace:"namespace","user-defined variable":"user-defined variable","user-defined type":"user-defined type",field:"field",enum:"enum","user-defined method":"user-defined method","user-defined function":"user-defined function",parameter:"parameter","**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Tcc functions, variables, and methods.":"**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Mine functions, variables, and methods.","to trigger parameters hint":"to trigger parameters hint",library:"library","enum member":"enum member",Returns:"Returns",Syntax:"Syntax",Remarks:"Remarks",Fields:"Fields",Description:"Description",Example:"Example","Enum members":"Enum members",statement:"statement",loop:"loop","`click` on keyword for more help":"`click` on keyword for more help"},_y={type:"类型",syntax:"语法",overloads:"重载",arguments:"参数",fields:"字段",example:"例子",returns:"返回值",remarks:"备注","see also":"另见","Copy code":"复制代码","Copy link":"复制链接",Copied:"已复制","Link copied":"链接已复制",variables:"内置变量",constants:"常量",functions:"函数",keywords:"关键词",types:"类型",operators:"运算符",annotations:"注释",search:"搜索","Mine Script® v1 Reference Manual":"Mine Script™ v1参考手册","This script is read-only. It cannot be edited.":"该脚本是只读的。它无法被编辑。","save script":"保存脚本","open script":"打开脚本","find/replace":"寻找/替换","toggle console":"切换控制台","open editor in new tab":"在新标签页中打开","open editor in new window":"在新窗口中打开",keyword:"关键词","built-in function":"内置函数","built-in variable":"内置变量","built-in method":"内置方法","built-in type":"内置类型",annotation:"注释","built-in constant":"内置常量",namespace:"命名空间","user-defined variable":"用户自定义变量","user-defined type":"用户自定义类型",field:"字段",enum:"枚举","user-defined method":"用户自定义方法","user-defined function":"用户自定义函数",parameter:"参数","**Namespaces** are immutable terms that act as prefixes for groups of identifiers. A dot and another term always follow a namespace when naming Tcc functions, variables, and methods.":"命名空间是不可变的术语,充当标识符组的前缀。在命名Mine函数、变量和方法时,点和另一个术语始终遵循命名空间。","to trigger parameters hint":"触发参数提示",library:"脚本库","enum member":"枚举成员",Returns:"返回值",Syntax:"语法",Remarks:"备注",Fields:"字段",Description:"描述",Example:"例子","Enum members":"枚举成员",statement:"声明",loop:"循环","`click` on keyword for more help":"“点击”关键词以获得更多帮助"};Me.use(bl).use(cy).init({debug:!1,fallbackLng:"zh",interpolation:{escapeValue:!1},resources:{en:{translation:yy},zh:{translation:_y}}}),self.MonacoEnvironment={getWorker(){return new Fm({name:"Editor Worker"})}},In.config({paths:{vs:"https://api.tradingvue.com/static/vs"},"vs/nls":{availableLanguages:{"*":"zh-cn"}}});const fy=(a,s)=>{const{height:r,width:n,theme:o,options:l,hasDiff:c,readOnly:u,defaultValue:m,language:_,onChange:g,onLinkOpen:x,onCursorPositionChange:h,onActionTrigger:D,onEditorDidMount:S}=a,{t:R,i18n:U}=Ws(),K=N.useRef(null),H=N.useRef(null),re=N.useRef(!1),W=N.useRef(!1);N.useImperativeHandle(s,()=>({setOriginalScript(A){var L;(L=K.current)==null||L.setOriginalScript(A)},setScript(A){var L;(L=K.current)==null||L.setValue(A)},gotoLine(){var A;(A=K.current)==null||A.gotoLine()},getEditorLayout(){var A;return(A=K.current)==null?void 0:A.getEditorLayout()},setPosition(A,L){var Z;(Z=K.current)==null||Z.setPosition({column:A,lineNumber:L})},setModelMarkers(A){var L;W.current=!0,(L=K.current)==null||L.setModelMarkers(A),setTimeout(()=>{W.current=!1},2e3)},focus(){var A;(A=K.current)==null||A.focus()}})),N.useEffect(()=>{var A,L;c?(L=K.current)==null||L.addDiffDecorations():(A=K.current)==null||A.removeDiffDecorations()},[c]),N.useEffect(()=>{o&&Ne.editor.setTheme(o)},[o]),N.useEffect(()=>{_&&U.changeLanguage(_)},[_]),N.useEffect(()=>{var A;(A=K.current)==null||A.updateActionTrigger(D)},[D]),N.useEffect(()=>{var A;x&&((A=K.current)==null||A.addLinkOpenFunc(x))},[x]);function Q(A,L){var ee,ne;Pt.initBuiltinsTrees(),_a.setEditor(A),K.current=new km(A,L,D),x&&((ee=K.current)==null||ee.addLinkOpenFunc(x)),c&&((ne=K.current)==null||ne.addDiffDecorations()),Gu(A),requestAnimationFrame(q);const Z=A.getValue();K.current.onChangeCursorPosition(h),g&&g(Z),!u&&C(Z),S&&S()}const C=N.useCallback(async A=>{var Rt;re.current=!1;const{errors:L,functions:Z,methods:ee,types:ne,variables:Y,overloadsFuncs:le,imports:xe,enums:pe}=await ml(A),_e=new Map(Object.entries(Z)),Ee=new Map(Object.entries(ee)),te=new Map(Object.entries(ne)),de=new Map(Object.entries(Y)),Oe=new Map(Object.entries(xe)),Ge=new Map(Object.entries(pe));Ds.setUserDefined({functions:_e,methods:Ee,types:te,variables:de,imports:Oe,enums:Ge},le),Pt.setUserDefind(_e,te,de,Ee,Ge);const Qe=L.map(us=>({...us,severity:us.type||Ne.MarkerSeverity.Error}));u||!re.current&&!W.current&&Qe.length&&((Rt=K.current)==null||Rt.setModelMarkers(Qe))},[u]),z=N.useMemo(()=>Qu.debounce(C,1500),[C]);function V(A){var L;if(u){C(A||"");return}re.current=!0,_a.clearInlayHints(),(L=K.current)==null||L.setModelMarkers([]),A!==void 0&&(g&&g(A),z(A))}const q=N.useCallback(()=>{var L,Z;const A=(L=H.current)==null?void 0:L.getBoundingClientRect();(Z=K.current)==null||Z.setEditorLayout((A==null?void 0:A.height)||0,A==null?void 0:A.width)},[]);return N.useEffect(()=>{const A=()=>{window.requestAnimationFrame(q)},L=new ResizeObserver(A);return H.current&&L.observe(H.current),()=>{var Z;H.current&&L.unobserve(H.current),L.disconnect(),(Z=K.current)==null||Z.dispose()}},[]),T.jsx("div",{ref:H,children:T.jsx(mu,{height:r,width:n||"100%",defaultLanguage:Ke,defaultValue:m||`indicator("我的脚本")
145
145
  plot(close)
146
146
  `,theme:o||"vs-dark",className:`tvue-script ${o||"vs-dark"}`,options:{colorDecorators:!0,useShadowDOM:!1,matchOnWordStartOnly:!0,automaticLayout:!1,unicodeHighlight:{allowedCharacters:{" ":!0}},suggest:{filterGraceful:!0},fontSize:13,...u?am:{},readOnlyMessage:{value:R("This script is read-only. It cannot be edited.")},...l},onMount:Q,onChange:V})})},gy=N.forwardRef(fy),by=a=>{const{theme:s,modified:r,original:n,height:o,width:l,renderSideBySide:c=!0}=a,u=N.useCallback((m,_)=>{_.languages.register({id:Ke}),_.editor.defineTheme("vs-dark",Mn),_.editor.defineTheme("vs",Ln),_.languages.setMonarchTokensProvider(Ke,js),_.languages.setLanguageConfiguration(Ke,En)},[]);return T.jsx(lu,{height:o||"90vh",width:l||"100%",theme:s||"vs-dark",options:{readOnly:!0,renderSideBySide:c,scrollBeyondLastLine:!1},language:Ke,modified:r,original:n,onMount:u})};M.VMarkerSeverity=void 0,function(a){a[a.Hint=1]="Hint",a[a.Info=2]="Info",a[a.Warning=4]="Warning",a[a.Error=8]="Error"}(M.VMarkerSeverity||(M.VMarkerSeverity={}));var Ta={},xy=function(){var a=document.getSelection();if(!a.rangeCount)return function(){};for(var s=document.activeElement,r=[],n=0;n<a.rangeCount;n++)r.push(a.getRangeAt(n));switch(s.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":s.blur();break;default:s=null;break}return a.removeAllRanges(),function(){a.type==="Caret"&&a.removeAllRanges(),a.rangeCount||r.forEach(function(o){a.addRange(o)}),s&&s.focus()}},hy=xy,kl={"text/plain":"Text","text/html":"Url",default:"Text"},wy="Copy to clipboard: #{key}, Enter";function vy(a){var s=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return a.replace(/#{\s*key\s*}/g,s)}function Ty(a,s){var r,n,o,l,c,u,m=!1;s||(s={}),r=s.debug||!1;try{o=hy(),l=document.createRange(),c=document.getSelection(),u=document.createElement("span"),u.textContent=a,u.ariaHidden="true",u.style.all="unset",u.style.position="fixed",u.style.top=0,u.style.clip="rect(0, 0, 0, 0)",u.style.whiteSpace="pre",u.style.webkitUserSelect="text",u.style.MozUserSelect="text",u.style.msUserSelect="text",u.style.userSelect="text",u.addEventListener("copy",function(g){if(g.stopPropagation(),s.format)if(g.preventDefault(),typeof g.clipboardData>"u"){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var x=kl[s.format]||kl.default;window.clipboardData.setData(x,a)}else g.clipboardData.clearData(),g.clipboardData.setData(s.format,a);s.onCopy&&(g.preventDefault(),s.onCopy(g.clipboardData))}),document.body.appendChild(u),l.selectNodeContents(u),c.addRange(l);var _=document.execCommand("copy");if(!_)throw new Error("copy command was unsuccessful");m=!0}catch(g){r&&console.error("unable to copy using execCommand: ",g),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(s.format||"text",a),s.onCopy&&s.onCopy(window.clipboardData),m=!0}catch(x){r&&console.error("unable to copy using clipboardData: ",x),r&&console.error("falling back to prompt"),n=vy("message"in s?s.message:wy),window.prompt(n,a)}}finally{c&&(typeof c.removeRange=="function"?c.removeRange(l):c.removeAllRanges()),u&&document.body.removeChild(u),o()}return m}var ky=Ty;function Vn(a){"@babel/helpers - typeof";return Vn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},Vn(a)}Object.defineProperty(Ta,"__esModule",{value:!0}),Ta.CopyToClipboard=void 0;var ka=Dl(N),Dy=Dl(ky),Iy=["text","onCopy","options","children"];function Dl(a){return a&&a.__esModule?a:{default:a}}function Il(a,s){var r=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);s&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(a,o).enumerable})),r.push.apply(r,n)}return r}function Al(a){for(var s=1;s<arguments.length;s++){var r=arguments[s]!=null?arguments[s]:{};s%2?Il(Object(r),!0).forEach(function(n){Xn(a,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(r)):Il(Object(r)).forEach(function(n){Object.defineProperty(a,n,Object.getOwnPropertyDescriptor(r,n))})}return a}function Ay(a,s){if(a==null)return{};var r=qy(a,s),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(a);for(o=0;o<l.length;o++)n=l[o],!(s.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(a,n)&&(r[n]=a[n])}return r}function qy(a,s){if(a==null)return{};var r={},n=Object.keys(a),o,l;for(l=0;l<n.length;l++)o=n[l],!(s.indexOf(o)>=0)&&(r[o]=a[o]);return r}function Cy(a,s){if(!(a instanceof s))throw new TypeError("Cannot call a class as a function")}function ql(a,s){for(var r=0;r<s.length;r++){var n=s[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(a,n.key,n)}}function Sy(a,s,r){return s&&ql(a.prototype,s),r&&ql(a,r),Object.defineProperty(a,"prototype",{writable:!1}),a}function zy(a,s){if(typeof s!="function"&&s!==null)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(s&&s.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),s&&Gn(a,s)}function Gn(a,s){return Gn=Object.setPrototypeOf||function(n,o){return n.__proto__=o,n},Gn(a,s)}function Ny(a){var s=Ly();return function(){var n=Da(a),o;if(s){var l=Da(this).constructor;o=Reflect.construct(n,arguments,l)}else o=n.apply(this,arguments);return Ey(this,o)}}function Ey(a,s){if(s&&(Vn(s)==="object"||typeof s=="function"))return s;if(s!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Cl(a)}function Cl(a){if(a===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function Ly(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Da(a){return Da=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Da(a)}function Xn(a,s,r){return s in a?Object.defineProperty(a,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):a[s]=r,a}var Sl=function(a){zy(r,a);var s=Ny(r);function r(){var n;Cy(this,r);for(var o=arguments.length,l=new Array(o),c=0;c<o;c++)l[c]=arguments[c];return n=s.call.apply(s,[this].concat(l)),Xn(Cl(n),"onClick",function(u){var m=n.props,_=m.text,g=m.onCopy,x=m.children,h=m.options,D=ka.default.Children.only(x),S=(0,Dy.default)(_,h);g&&g(_,S),D&&D.props&&typeof D.props.onClick=="function"&&D.props.onClick(u)}),n}return Sy(r,[{key:"render",value:function(){var o=this.props;o.text,o.onCopy,o.options;var l=o.children,c=Ay(o,Iy),u=ka.default.Children.only(l);return ka.default.cloneElement(u,Al(Al({},c),{},{onClick:this.onClick}))}}]),r}(ka.default.PureComponent);Ta.CopyToClipboard=Sl,Xn(Sl,"defaultProps",{onCopy:void 0,options:void 0});var My=Ta,Yn=My.CopyToClipboard;Yn.CopyToClipboard=Yn;var Oy=Yn;const Vs=nd(Oy);Ne.languages.register({id:Ke}),Ne.editor.defineTheme("vs-dark",Mn),Ne.editor.defineTheme("vs",Ln),Ne.languages.setMonarchTokensProvider(Ke,js),Ne.languages.setLanguageConfiguration(Ke,En);async function zl(a,s){return s&&Ne.editor.setTheme(s.includes("dark")?"vs-dark":"light"),await Ne.editor.colorize(a,Ke,{tabSize:4})}async function Qn(a,s=0){const r=a[s];if(!r)return;const{name:n,args:o,type:l,desc:c,examples:u,remarks:m,seeAlso:_,syntax:g,detailedDesc:x,fields:h,returns:D}=r,S={name:n,orirginalName:n};if(a.length>1&&(S.overloads=`${a.length} ${Me.t("overloads")}`),l&&(S.type=l),o&&(S.name=`${n}()`,S.args=o.map(R=>{const{name:U,desc:K,displayType:H}=R;return{label:`${U} (${H})`,desc:K&&qs(K)}})),c&&(S.desc=c.map(R=>qs(R))),u&&(S.originalExample=u.join(`
147
147
  `),S.examples=await Ne.editor.colorize(S.originalExample,Ke,{tabSize:4})),x){S.detailedDesc=[];for(const R of x){const{desc:U,examples:K}=R;let H=U.map(Q=>qs(Q)),re,W;K&&(W=K.join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guihz/trading-vue-editor-tes",
3
- "version": "0.0.250",
3
+ "version": "0.0.251",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "lib"