@next-bricks/vb-experiment 1.2.8 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/bricks.json +3 -3
  2. package/dist/chunks/1370.dfe60dba.js +2 -0
  3. package/dist/chunks/1370.dfe60dba.js.map +1 -0
  4. package/dist/chunks/1655.48105266.js +2 -0
  5. package/dist/chunks/1655.48105266.js.map +1 -0
  6. package/dist/chunks/2750.ee5a8680.js +3 -0
  7. package/dist/chunks/2750.ee5a8680.js.map +1 -0
  8. package/dist/chunks/5084.24d43033.js +2 -0
  9. package/dist/chunks/5084.24d43033.js.map +1 -0
  10. package/dist/chunks/780.6749383f.js +2 -0
  11. package/dist/chunks/780.6749383f.js.map +1 -0
  12. package/dist/chunks/main.f276b52b.js +2 -0
  13. package/dist/chunks/{main.6acfea41.js.map → main.f276b52b.js.map} +1 -1
  14. package/dist/chunks/tsx-playground.81a2024b.js +2 -0
  15. package/dist/chunks/tsx-playground.81a2024b.js.map +1 -0
  16. package/dist/index.a3e63826.js +2 -0
  17. package/dist/{index.b478cfe9.js.map → index.a3e63826.js.map} +1 -1
  18. package/dist/manifest.json +8 -1
  19. package/dist/types.json +11 -1
  20. package/dist-types/tsx-playground/index.d.ts +1 -0
  21. package/package.json +2 -2
  22. package/dist/chunks/1370.612ec34f.js +0 -2
  23. package/dist/chunks/1370.612ec34f.js.map +0 -1
  24. package/dist/chunks/1663.4c514f78.js +0 -2
  25. package/dist/chunks/1663.4c514f78.js.map +0 -1
  26. package/dist/chunks/3569.7684b216.js +0 -3
  27. package/dist/chunks/3569.7684b216.js.map +0 -1
  28. package/dist/chunks/5084.ed747c17.js +0 -2
  29. package/dist/chunks/5084.ed747c17.js.map +0 -1
  30. package/dist/chunks/9425.21381ec2.js +0 -2
  31. package/dist/chunks/9425.21381ec2.js.map +0 -1
  32. package/dist/chunks/main.6acfea41.js +0 -2
  33. package/dist/chunks/tsx-playground.235800d9.js +0 -2
  34. package/dist/chunks/tsx-playground.235800d9.js.map +0 -1
  35. package/dist/index.b478cfe9.js +0 -2
  36. /package/dist/chunks/{3569.7684b216.js.LICENSE.txt → 2750.ee5a8680.js.LICENSE.txt} +0 -0
package/dist/bricks.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "id": "bricks/vb-experiment",
3
3
  "bricks": [
4
- "vb-experiment.export-as-source-files",
4
+ "vb-experiment.tsx-playground",
5
5
  "vb-experiment.export-widgets",
6
- "vb-experiment.tsx-playground"
6
+ "vb-experiment.export-as-source-files"
7
7
  ],
8
8
  "elements": [],
9
9
  "processors": [],
10
10
  "editors": [],
11
11
  "dependencies": {},
12
- "filePath": "bricks/vb-experiment/dist/index.b478cfe9.js"
12
+ "filePath": "bricks/vb-experiment/dist/index.a3e63826.js"
13
13
  }
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[1370],{8989:(t,r,e)=>{e.r(r),e.d(r,{HttpAbortError:()=>I,HttpFetchError:()=>q,HttpParseError:()=>F,HttpResponseError:()=>D,createHttpInstance:()=>L,defaultAdapter:()=>B,fetch:()=>W,http:()=>U,isHttpAbortError:()=>J});var s={};e.r(s),e.d(s,{HttpAbortError:()=>E,HttpFetchError:()=>p,HttpParseError:()=>d,HttpResponseError:()=>u,createHttpInstance:()=>R,defaultAdapter:()=>g,fetch:()=>o,getUrlWithParams:()=>H,http:()=>x,isHttpAbortError:()=>b});const o=(t,r)=>{const e=new Request(t,Object.assign({credentials:"same-origin"},r));return self.fetch(e)};var n=e(4635),a=e(918),i=e(4586),c=e(829),h=e(4940),l=e(6121);class p extends Error{constructor(t){super(t),this.name="HttpFetchError",Error.captureStackTrace&&Error.captureStackTrace(this,p)}}class u extends Error{constructor(t,r){super(t.statusText),(0,i.A)(this,"response",void 0),(0,i.A)(this,"responseJson",void 0),this.name="HttpResponseError",Error.captureStackTrace&&Error.captureStackTrace(this,u),this.response=t,this.responseJson=r}}class d extends Error{constructor(t){super(t.statusText),(0,i.A)(this,"response",void 0),this.name="HttpParseError",Error.captureStackTrace&&Error.captureStackTrace(this,d),this.response=t}}class E extends Error{constructor(t){super(t),this.name="HttpAbortError"}}class f{constructor(){(0,i.A)(this,"handlers",[])}use(t,r){return this.handlers.push({fulfilled:t,rejected:r}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}forEach(t){this.handlers.forEach((r=>{null!==r&&t(r)}))}}function A(t){return null==t}const m=document.querySelector("base"),v=m?m.href:location.origin+"/",b=t=>t instanceof DOMException&&20===t.code,w=async(t,r,e)=>new Promise((async(s,n)=>{let a;e.url=t;let i,{responseType:c}=e.options||{};c||(c="json");try{a=await o(t,r)}catch(t){return void n(b(t)?new E(t.toString()):new p(t.toString()))}if(a.ok){try{i=await a[c]()}catch(t){return void n(b(t)?new E(t.toString()):new d(a))}s({status:a.status,statusText:a.statusText,headers:a.headers,data:i})}else{let t;try{t=await a.json()}catch{}n(new u(a,t))}})),H=(t,r)=>{if(r){const e=new URL(t,v);r instanceof URLSearchParams?r.forEach((function(t,r){e.searchParams.append(r,t)})):Object.entries(r).forEach((t=>{let[r,s]=t;Array.isArray(s)?s.forEach((t=>{e.searchParams.append(r,A(t)?"":t)})):e.searchParams.append(r,A(s)?"":s)}));const{href:s}=e;return s.startsWith(v)?s.substr(v.length):s}return t},T=(t,r)=>{if(void 0!==t){const e=new Headers(r||{}),s="Content-Type";let o=t;return e.has(s)||("string"==typeof t?e.set(s,"application/x-www-form-urlencoded"):t instanceof FormData||(e.set(s,"application/json"),o=JSON.stringify(t))),{body:o,headers:e}}return{headers:r}},g=t=>{const{url:r,method:e,data:s}=t;return["DELETE","GET","HEAD"].includes(t.method)?((t,r,e)=>{const{params:s,responseType:o,interceptorParams:n,observe:a,noAbortOnRouteChange:i,useCache:c,...h}=e.options||{};return w(H(r,s),{...h,method:t},e)})(e,r,t):((t,r,e,s)=>{const{params:o,headers:n,responseType:a,interceptorParams:i,observe:c,noAbortOnRouteChange:h,useCache:l,...p}=s.options||{};return w(H(r,o),{...p,method:t,...T(e,n)},s)})(e,r,s,t)};var y=new WeakMap,P=new WeakSet;class k{constructor(t){var r=this;(0,n.A)(this,P),(0,i.A)(this,"interceptors",void 0),(0,a.A)(this,y,g),(0,i.A)(this,"request",(async(t,r,e)=>{const{body:s,method:o,...n}=r||{};return(0,h.A)(P,this,S).call(this,{url:t,data:s,method:o||"GET",options:{...e||{},...n}})})),(0,i.A)(this,"simpleRequest",(function(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,h.A)(P,r,S).call(r,{url:e,method:t,options:s})})),(0,i.A)(this,"requestWithBody",(function(t,e,s){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return(0,h.A)(P,r,S).call(r,{url:e,method:t,data:s,options:o})})),this.interceptors={request:new f,response:new f},null!=t&&t.adapter&&(0,l.A)(y,this,t.adapter)}getUrlWithParams(t,r){return H(t,r)}getBodyAndHeaders(t,r){return T(t,r)}get(t,r){return(0,h.A)(P,this,S).call(this,{url:t,method:"GET",options:r})}delete(t,r){return(0,h.A)(P,this,S).call(this,{url:t,method:"DELETE",options:r})}head(t,r){return(0,h.A)(P,this,S).call(this,{url:t,method:"HEAD",options:r})}post(t,r,e){return(0,h.A)(P,this,S).call(this,{url:t,method:"POST",data:r,options:e})}put(t,r,e){return(0,h.A)(P,this,S).call(this,{url:t,method:"PUT",data:r,options:e})}patch(t,r,e){return(0,h.A)(P,this,S).call(this,{url:t,method:"PATCH",data:r,options:e})}}function S(t){const r=[];let e=Promise.resolve(t);for(this.interceptors.request.forEach((t=>{r.push(t.fulfilled,t.rejected)})),r.push((t=>(0,c.A)(y,this).call(this,t)),void 0),this.interceptors.response.forEach((e=>{r.push((r=>{var s;return null===(s=e.fulfilled)||void 0===s?void 0:s.call(e,r,t)}),(r=>{var s;return null===(s=e.rejected)||void 0===s?void 0:s.call(e,r,t)}))})),r.push((r=>{var e;return"response"===(null===(e=t.options)||void 0===e?void 0:e.observe)?r:r.data}),void 0);r.length;)e=e.then(r.shift(),r.shift());return e}let x=new k;function R(t){x=new k(t)}var _;let j,C;const{dll:O}=window;j=O&&null!==(_=window.BRICK_NEXT_VERSIONS)&&void 0!==_&&null!==(_=_["brick-container"])&&void 0!==_&&_.startsWith("2.")&&(C=O("JxWY"))?C:s;const{fetch:W,HttpFetchError:q,HttpResponseError:D,HttpParseError:F,HttpAbortError:I,http:U,isHttpAbortError:J,createHttpInstance:L,defaultAdapter:B}=j}}]);
2
+ //# sourceMappingURL=1370.dfe60dba.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/1370.dfe60dba.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/http/dist/esm/fetch.js","webpack:///../../node_modules/@next-core/http/dist/esm/errors.js","webpack:///../../node_modules/@next-core/http/dist/esm/InterceptorManager.js","webpack:///../../node_modules/@next-core/http/dist/esm/http.js","webpack:///../../node_modules/@next-core/http/dist/esm/index.js"],"sourcesContent":["export const fetch = (input, init) => {\n // Support older browsers which default credentials is \"omit\".\n // Ref https://github.com/whatwg/fetch/pull/585\n const req = new Request(input, Object.assign({\n credentials: \"same-origin\"\n }, init));\n return self.fetch(req);\n};\n//# sourceMappingURL=fetch.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport class HttpFetchError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"HttpFetchError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpFetchError);\n }\n }\n}\nexport class HttpResponseError extends Error {\n constructor(response, responseJson) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n _defineProperty(this, \"responseJson\", void 0);\n this.name = \"HttpResponseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpResponseError);\n }\n this.response = response;\n this.responseJson = responseJson;\n }\n}\nexport class HttpParseError extends Error {\n constructor(response) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n this.name = \"HttpParseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpParseError);\n }\n this.response = response;\n }\n}\nexport class HttpAbortError extends Error {\n constructor(message) {\n super(message);\n this.name = \"HttpAbortError\";\n }\n}\n//# sourceMappingURL=errors.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport default class InterceptorManager {\n constructor() {\n _defineProperty(this, \"handlers\", []);\n }\n use(onFulfilled, onRejected) {\n this.handlers.push({\n fulfilled: onFulfilled,\n rejected: onRejected\n });\n return this.handlers.length - 1;\n }\n eject(id) {\n // istanbul ignore else\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n forEach(fn) {\n this.handlers.forEach(handler => {\n // istanbul ignore else\n if (handler !== null) {\n fn(handler);\n }\n });\n }\n}\n//# sourceMappingURL=InterceptorManager.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport { fetch } from \"./fetch.js\";\nimport { HttpAbortError, HttpFetchError, HttpParseError, HttpResponseError } from \"./errors.js\";\nimport InterceptorManager from \"./InterceptorManager.js\";\nfunction isNil(value) {\n return value === undefined || value === null;\n}\nconst base = document.querySelector(\"base\");\nconst fullBaseHref = base ? base.href : location.origin + \"/\";\n/**\n * Detect whether the input is a native browser abort error.\n *\n * @ref https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n */\nexport const isHttpAbortError = error => error instanceof DOMException && error.code === 20;\nconst request = async (url, init, config) => {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n let response;\n config.url = url;\n let {\n responseType\n } = config.options || {};\n if (!responseType) {\n // Defaults to `json`\n responseType = \"json\";\n }\n try {\n response = await fetch(url, init);\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpFetchError(e.toString()));\n return;\n }\n if (!response.ok) {\n let responseJson;\n try {\n responseJson = await response.json();\n } catch {\n // Do nothing.\n }\n reject(new HttpResponseError(response, responseJson));\n return;\n }\n let data;\n try {\n data = await response[responseType]();\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpParseError(response));\n return;\n }\n const res = {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n data\n };\n resolve(res);\n });\n};\nexport const getUrlWithParams = (url, params) => {\n if (params) {\n const parsedUrl = new URL(url, fullBaseHref);\n if (params instanceof URLSearchParams) {\n params.forEach(function (value, key) {\n parsedUrl.searchParams.append(key, value);\n });\n } else {\n Object.entries(params).forEach(_ref => {\n let [key, value] = _ref;\n if (Array.isArray(value)) {\n value.forEach(v => {\n parsedUrl.searchParams.append(key, isNil(v) ? \"\" : v);\n });\n } else {\n parsedUrl.searchParams.append(key, isNil(value) ? \"\" : value);\n }\n });\n }\n const {\n href\n } = parsedUrl;\n if (href.startsWith(fullBaseHref)) {\n return href.substr(fullBaseHref.length);\n }\n return href;\n }\n return url;\n};\nconst getBodyAndHeaders = (data, headers) => {\n if (data !== undefined) {\n // `new Headers(undefined)` will throw a TypeError in older browsers (chrome 58).\n // https://bugs.chromium.org/p/chromium/issues/detail?id=335871\n const parsedHeaders = new Headers(headers || {});\n const contentTypeHeader = \"Content-Type\";\n let body = data;\n // If `Content-Type` already provided, ignore detecting content type.\n if (!parsedHeaders.has(contentTypeHeader)) {\n if (typeof data === \"string\") {\n parsedHeaders.set(contentTypeHeader, \"application/x-www-form-urlencoded\");\n } else if (data instanceof FormData) {\n // Do nothing\n } else {\n parsedHeaders.set(contentTypeHeader, \"application/json\");\n body = JSON.stringify(data);\n }\n }\n return {\n body,\n headers: parsedHeaders\n };\n }\n return {\n headers\n };\n};\nconst simpleRequest = (method, url, config) => {\n const {\n params,\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache,\n ...requestInit\n } = config.options || {};\n return request(getUrlWithParams(url, params), {\n ...requestInit,\n method\n }, config);\n};\nconst requestWithBody = (method, url, data, config) => {\n const {\n params,\n headers,\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache,\n ...requestInit\n } = config.options || {};\n return request(getUrlWithParams(url, params), {\n ...requestInit,\n method,\n ...getBodyAndHeaders(data, headers)\n }, config);\n};\nconst defaultAdapter = config => {\n const {\n url,\n method,\n data\n } = config;\n\n // \"DELETE\", \"GET\", \"HEAD\" methods.\n if ([\"DELETE\", \"GET\", \"HEAD\"].includes(config.method)) {\n return simpleRequest(method, url, config);\n }\n\n // \"POST\", \"PUT\" , \"PATCH\" methods.\n return requestWithBody(method, url, data, config);\n};\nvar _adapter = /*#__PURE__*/new WeakMap();\nvar _Http_brand = /*#__PURE__*/new WeakSet();\nclass Http {\n constructor(_config) {\n var _this = this;\n _classPrivateMethodInitSpec(this, _Http_brand);\n _defineProperty(this, \"interceptors\", void 0);\n _classPrivateFieldInitSpec(this, _adapter, defaultAdapter);\n _defineProperty(this, \"request\", async (url, init, options) => {\n const {\n body,\n method,\n ...requestInit\n } = init || {};\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n data: body,\n method: method || \"GET\",\n options: {\n ...(options || {}),\n ...requestInit\n }\n });\n });\n _defineProperty(this, \"simpleRequest\", function (method, url) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return _assertClassBrand(_Http_brand, _this, _fetch).call(_this, {\n url,\n method,\n options\n });\n });\n _defineProperty(this, \"requestWithBody\", function (method, url, data) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return _assertClassBrand(_Http_brand, _this, _fetch).call(_this, {\n url,\n method,\n data,\n options\n });\n });\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n if (_config !== null && _config !== void 0 && _config.adapter) {\n _classPrivateFieldSet(_adapter, this, _config.adapter);\n }\n }\n getUrlWithParams(url, params) {\n return getUrlWithParams(url, params);\n }\n getBodyAndHeaders(data, headers) {\n return getBodyAndHeaders(data, headers);\n }\n get(url, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"GET\",\n options\n });\n }\n delete(url, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"DELETE\",\n options\n });\n }\n head(url, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"HEAD\",\n options\n });\n }\n post(url, data, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"POST\",\n data,\n options\n });\n }\n put(url, data, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"PUT\",\n data,\n options\n });\n }\n patch(url, data, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"PATCH\",\n data,\n options\n });\n }\n}\nfunction _fetch(config) {\n const chain = [];\n let promise = Promise.resolve(config);\n this.interceptors.request.forEach(interceptor => {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n chain.push(config => _classPrivateFieldGet(_adapter, this).call(this, config), undefined);\n this.interceptors.response.forEach(interceptor => {\n chain.push(res => {\n var _interceptor$fulfille;\n return (_interceptor$fulfille = interceptor.fulfilled) === null || _interceptor$fulfille === void 0 ? void 0 : _interceptor$fulfille.call(interceptor, res, config);\n }, error => {\n var _interceptor$rejected;\n return (_interceptor$rejected = interceptor.rejected) === null || _interceptor$rejected === void 0 ? void 0 : _interceptor$rejected.call(interceptor, error, config);\n });\n });\n chain.push(response => {\n var _config$options;\n return ((_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.observe) === \"response\" ? response : response.data;\n }, undefined);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n return promise;\n}\nlet http = new Http();\nfunction createHttpInstance(config) {\n http = new Http(config);\n}\nexport { http, createHttpInstance, defaultAdapter };\n//# sourceMappingURL=http.js.map","var _window$BRICK_NEXT_VE;\n// istanbul ignore file\n// Make v3 bricks compatible with Brick Next v2.\nimport * as HttpModuleV3 from \"./exports.js\";\nlet HttpModule;\nlet HttpModuleV2;\nconst {\n dll\n} = window;\nif (dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\") && (HttpModuleV2 = dll(\"JxWY\"))) {\n HttpModule = HttpModuleV2;\n} else {\n HttpModule = HttpModuleV3;\n}\nconst {\n fetch,\n HttpFetchError,\n HttpResponseError,\n HttpParseError,\n HttpAbortError,\n http,\n isHttpAbortError,\n createHttpInstance,\n defaultAdapter\n} = HttpModule;\nexport { fetch, HttpFetchError, HttpResponseError, HttpParseError, HttpAbortError, http, isHttpAbortError, createHttpInstance, defaultAdapter };\n//# sourceMappingURL=index.js.map"],"names":["fetch","input","init","req","Request","Object","assign","credentials","self","HttpFetchError","Error","constructor","message","super","this","name","captureStackTrace","HttpResponseError","response","responseJson","statusText","HttpParseError","HttpAbortError","InterceptorManager","use","onFulfilled","onRejected","handlers","push","fulfilled","rejected","length","eject","id","forEach","fn","handler","isNil","value","base","document","querySelector","fullBaseHref","href","location","origin","isHttpAbortError","error","DOMException","code","request","async","url","config","Promise","resolve","reject","data","responseType","options","e","toString","ok","status","headers","json","getUrlWithParams","params","parsedUrl","URL","URLSearchParams","key","searchParams","append","entries","_ref","Array","isArray","v","startsWith","substr","getBodyAndHeaders","undefined","parsedHeaders","Headers","contentTypeHeader","body","has","set","FormData","JSON","stringify","defaultAdapter","method","includes","interceptorParams","observe","noAbortOnRouteChange","useCache","requestInit","simpleRequest","requestWithBody","_adapter","WeakMap","_Http_brand","WeakSet","Http","_config","_this","_fetch","call","arguments","interceptors","adapter","get","head","post","put","patch","chain","promise","interceptor","res","_interceptor$fulfille","_interceptor$rejected","_config$options","then","shift","http","createHttpInstance","_window$BRICK_NEXT_VE","HttpModule","HttpModuleV2","dll","window","BRICK_NEXT_VERSIONS"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[1655],{44:(u,e,t)=>{function n(u){const e=document.createElement("div");return e.dataset.rootId=u,e.style.position="absolute",e.style.width=e.style.height="0",document.body.append(e),e}t.d(e,{d:()=>n})},795:(u,e,t)=>{t.d(e,{A:()=>B});var n=t(2591),r=t.n(n),a=t(1740),i=t.n(a),o=t(8128),s=t.n(o),l=t(855),A=t.n(l),c=t(3051),F=t.n(c),D=t(3656),p=t.n(D),E=t(8957),C={};C.styleTagTransform=p(),C.setAttributes=A(),C.insert=s().bind(null,"head"),C.domAPI=i(),C.insertStyleElement=F(),r()(E.A,C);const B=E.A&&E.A.locals?E.A.locals:void 0},2518:u=>{u.exports='/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-empty-object-type */\n\nexport interface ViewProps {\n title: string;\n}\n\nexport interface BaseProps {\n componentId?: string;\n key?: string | number;\n}\n\nexport interface TableProps<T extends object> extends BaseProps {\n dataSource: {\n list: T[];\n page?: number;\n pageSize?: number;\n total?: number;\n };\n columns: TableColumn<T>[];\n rowKey: string;\n rowSelection?: boolean;\n sort?: TableSort | null;\n pagination?: boolean;\n onSelect?: (event: CustomEvent<T[]>) => void;\n onPaginate?: (event: CustomEvent<{ page: number; pageSize: number }>) => void;\n onSort?: (event: CustomEvent<TableSort | null>) => void;\n}\n\nexport interface ListProps extends BaseProps {\n dataSource: object[];\n fields?: {\n title?: string;\n icon?: string;\n url?: string;\n };\n variant?: "default" | "navigation" | "ranking";\n}\n\nexport interface DescriptionsProps<T extends object> extends BaseProps {\n title?: string;\n dataSource?: T;\n list: Array<\n | {\n label: string;\n text: string;\n }\n | {\n label: string;\n /** 数据字段,多级字段使用点号分隔 */\n field: string;\n }\n | {\n label: string;\n render: (record: T) => any;\n }\n >;\n}\n\nexport interface ButtonProps extends BaseProps {\n type?: "default" | "primary";\n icon?: IconProps;\n onClick?: (e: Event) => void;\n}\n\nexport interface SearchProps extends BaseProps {\n placeholder?: string;\n onSearch?: (e: CustomEvent<string>) => void;\n}\n\nexport interface FormProps<T extends object> extends BaseProps {\n values?: T;\n onValidateSuccess?: (e: CustomEvent<T>) => void;\n}\n\nexport interface InputProps extends FormItemProps {\n placeholder?: string;\n}\n\nexport interface NumberInputProps extends InputProps {\n min?: number;\n max?: number;\n}\n\nexport interface TextareaProps extends InputProps {}\n\nexport interface SelectProps extends InputProps {\n options: FormItemOptions[];\n onChange?: (e: CustomEvent<string | number | boolean | null>) => void;\n}\n\nexport interface RadioProps extends SelectProps {}\n\nexport interface CheckboxProps extends SelectProps {}\n\nexport interface SwitchProps extends FormItemProps {}\n\nexport interface DatePickerProps extends FormItemProps {}\n\nexport interface TimePickerProps extends FormItemProps {}\n\nexport interface DashboardProps extends BaseProps {\n dataSource: Array<object>;\n groupField?: string;\n widgets: Array<DashboardWidget>;\n}\n\nexport interface ModalProps extends BaseProps {\n title: string;\n confirmText?: string;\n cancelText?: string;\n onConfirm?: () => void;\n}\n\nexport interface CardProps extends BaseProps {\n title?: string;\n}\n\nexport interface TagProps extends BaseProps {\n color?: string;\n outline?: boolean;\n}\n\nexport interface LinkProps extends BaseProps {\n /** 站外链接 */\n href?: string;\n\n /** 站内链接 */\n url?: string;\n\n target?: "_blank" | "_self";\n}\n\nexport interface AvatarProps extends BaseProps {\n size?: "large" | "medium" | "small";\n name?: string;\n src?: string;\n}\n\nexport interface AvatarGroupProps extends BaseProps {\n size?: "large" | "medium" | "small";\n}\n\nexport interface PlaintextProps extends BaseProps {\n /** Related advisory information */\n title?: string;\n}\n\nexport interface DashboardWidget {\n widget: "chart";\n type: "line" | "area";\n title?: string;\n metric: {\n id: string;\n unit: string;\n };\n precision?: number;\n}\n\nexport interface FormItemProps extends BaseProps {\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\n}\n\nexport interface FormItemOptions {\n label: string;\n value: string;\n}\n\nexport interface IconProps {\n lib: "fa";\n prefix: "fas" | "far";\n icon: string;\n}\n\nexport interface TableColumn<T extends object> {\n key: string;\n /** 数据索引,多级索引使用数组 */\n dataIndex: string | string[];\n title: string;\n sortable?: boolean;\n render?: (value: any, record: T) => any;\n}\n\nexport interface TableSort {\n columnKey: string | number;\n order: "ascend" | "descend";\n}\n\ndeclare const View: (props: ViewProps) => any;\ndeclare const Table: <T extends object>(props: TableProps<T>) => any;\ndeclare const List: (props: ListProps) => any;\ndeclare const Descriptions: <T extends object>(\n props: DescriptionsProps<T>\n) => any;\ndeclare const Button: (props: ButtonProps) => any;\ndeclare const Toolbar: (props: BaseProps) => any;\ndeclare const Search: (props: SearchProps) => any;\ndeclare const Form: <T extends object>(props: FormProps<T>) => any;\ndeclare const Input: (props: InputProps) => any;\ndeclare const NumberInput: (props: NumberInputProps) => any;\ndeclare const Textarea: (props: TextareaProps) => any;\ndeclare const Select: (props: SelectProps) => any;\ndeclare const Radio: (props: RadioProps) => any;\ndeclare const Checkbox: (props: CheckboxProps) => any;\ndeclare const Switch: (props: SwitchProps) => any;\ndeclare const DatePicker: (props: DatePickerProps) => any;\ndeclare const TimePicker: (props: TimePickerProps) => any;\ndeclare const Dashboard: (props: DashboardProps) => any;\ndeclare const Modal: (props: ModalProps) => any;\ndeclare const Card: (props: CardProps) => any;\ndeclare const Output: (props: BaseProps) => any;\ndeclare const Tag: (props: TagProps) => any;\ndeclare const Link: (props: LinkProps) => any;\ndeclare const Avatar: (props: AvatarProps) => any;\ndeclare const AvatarGroup: (props: AvatarGroupProps) => any;\ndeclare const Plaintext: (props: PlaintextProps) => any;\ndeclare const Fragment: (props: { key?: string | number }) => any;\n'},5947:(u,e,t)=>{t.d(e,{d:()=>G});var n=t(8377);function r(u,e){return{brick:"div",properties:{style:e.expanded?{background:"rgba(255, 255, 255, 0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"24px"}:{background:"var(--elevo-component-background)",backdropFilter:"var(--elevo-component-backdrop-filter)",borderRadius:"var(--elevo-border-radius)",padding:"16px"}},children:u}}var a=t(4558);function i(u,e){return u.map((u=>{let{name:t,http:n,api:r,params:i,entity:o,transform:s,rejectTransform:l,config:A}=u;const c=A&&Object.prototype.hasOwnProperty.call(A,"enabled");return{name:t,resolve:{...n?{useProvider:"basic.http-request",args:[r,i]}:"string"==typeof o?{useProvider:`ai-portal.${r.toLowerCase().replace(".","-sdk-")}`,args:[e.workspace,o,i]}:{useProvider:`${r}:*`,params:i,..."easyops.api.data_exchange.olap@Query"===r&&(0,a.isObject)(i)?{params:{...i,translate:["#showKey"],limit:void 0,limitBy:void 0,order:void 0,displayName:!0}}:null},...s?{transform:{value:s}}:null,...l?{onReject:{transform:{value:l}}}:null,...c?{if:A.enabled}:null},track:!0,...c?{value:A.fallback}:null}}))}function o(u){return u.map((u=>{let{name:e,value:t}=u;return{name:e,value:t,track:!0}}))}var s=t(0);const l=/^<%=?\s/,A=/\s%>$/;function c(u){if("string"!=typeof u)return{isString:!1};let e;const t=u.trim();var n;return n=t,l.test(n)&&A.test(n)?e=t.replace(l,"").replace(A,"").trim():(console.warn("Invalid expression:",JSON.stringify(u)),e="null"),{isString:!0,embedded:u,expression:e,usedContexts:(0,s.strictCollectMemberUsage)(u,"CTX")}}function F(u,e){const t=(Array.isArray(u)?u:[u]).map((u=>function(u,e){switch(null==u?void 0:u.action){case"update_variable":return{action:"template"===u.payload.scope?"state.update":"context.replace",args:[u.payload.name,u.payload.value]};case"refresh_data_source":return{action:"template"===u.payload.scope?"state.refresh":"context.refresh",args:[u.payload.name]};case"call_api":{var t;const{api:n,http:r,entity:a,params:i}=u.payload,o=null!==(t=u.callback)&&void 0!==t&&t.success?F(u.callback.success,e):void 0;return{...r?{useProvider:"basic.http-request",args:[n,i]}:"string"==typeof a?{useProvider:`ai-portal.${n.toLowerCase().replace(".","-sdk-")}`,args:[e.workspace,a,i]}:{useProvider:`${n}:*`,params:i},callback:{...o&&{success:o},error:{action:"handleHttpError"}}}}case"call_component":return{target:`[data-root-id="${e.rootId}"] [data-component-id="${u.payload.componentId}"]`,method:u.payload.method,args:u.payload.args};case"show_message":return{action:`message.${u.payload.type}`,args:[u.payload.content]};case"dispatch_event":return{action:"tpl.dispatchEvent",args:[u.payload.type,{detail:u.payload.detail}]}}}(u,e))).filter(Boolean);return t.length>0?t:void 0}var D=t(563);const p=/^[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10140}-\u{10174}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{10300}-\u{1031F}\u{1032D}-\u{1034A}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{103A0}-\u{103C3}\u{103C8}-\u{103CF}\u{103D1}-\u{103D5}\u{10400}-\u{1049D}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{10570}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{105C0}-\u{105F3}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10860}-\u{10876}\u{10880}-\u{1089E}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{10900}-\u{10915}\u{10920}-\u{10939}\u{10980}-\u{109B7}\u{109BE}\u{109BF}\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A60}-\u{10A7C}\u{10A80}-\u{10A9C}\u{10AC0}-\u{10AC7}\u{10AC9}-\u{10AE4}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B60}-\u{10B72}\u{10B80}-\u{10B91}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10D00}-\u{10D23}\u{10D4A}-\u{10D65}\u{10D6F}-\u{10D85}\u{10E80}-\u{10EA9}\u{10EB0}\u{10EB1}\u{10EC2}-\u{10EC4}\u{10F00}-\u{10F1C}\u{10F27}\u{10F30}-\u{10F45}\u{10F70}-\u{10F81}\u{10FB0}-\u{10FC4}\u{10FE0}-\u{10FF6}\u{11003}-\u{11037}\u{11071}\u{11072}\u{11075}\u{11083}-\u{110AF}\u{110D0}-\u{110E8}\u{11103}-\u{11126}\u{11144}\u{11147}\u{11150}-\u{11172}\u{11176}\u{11183}-\u{111B2}\u{111C1}-\u{111C4}\u{111DA}\u{111DC}\u{11200}-\u{11211}\u{11213}-\u{1122B}\u{1123F}\u{11240}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A8}\u{112B0}-\u{112DE}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}\u{11350}\u{1135D}-\u{11361}\u{11380}-\u{11389}\u{1138B}\u{1138E}\u{11390}-\u{113B5}\u{113B7}\u{113D1}\u{113D3}\u{11400}-\u{11434}\u{11447}-\u{1144A}\u{1145F}-\u{11461}\u{11480}-\u{114AF}\u{114C4}\u{114C5}\u{114C7}\u{11580}-\u{115AE}\u{115D8}-\u{115DB}\u{11600}-\u{1162F}\u{11644}\u{11680}-\u{116AA}\u{116B8}\u{11700}-\u{1171A}\u{11740}-\u{11746}\u{11800}-\u{1182B}\u{118A0}-\u{118DF}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{1192F}\u{1193F}\u{11941}\u{119A0}-\u{119A7}\u{119AA}-\u{119D0}\u{119E1}\u{119E3}\u{11A00}\u{11A0B}-\u{11A32}\u{11A3A}\u{11A50}\u{11A5C}-\u{11A89}\u{11A9D}\u{11AB0}-\u{11AF8}\u{11BC0}-\u{11BE0}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2E}\u{11C40}\u{11C72}-\u{11C8F}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D89}\u{11D98}\u{11EE0}-\u{11EF2}\u{11F02}\u{11F04}-\u{11F10}\u{11F12}-\u{11F33}\u{11FB0}\u{12000}-\u{12399}\u{12400}-\u{1246E}\u{12480}-\u{12543}\u{12F90}-\u{12FF0}\u{13000}-\u{1342F}\u{13441}-\u{13446}\u{13460}-\u{143FA}\u{14400}-\u{14646}\u{16100}-\u{1611D}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A70}-\u{16ABE}\u{16AD0}-\u{16AED}\u{16B00}-\u{16B2F}\u{16B40}-\u{16B43}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16D40}-\u{16D6C}\u{16E40}-\u{16E7F}\u{16F00}-\u{16F4A}\u{16F50}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{16FE3}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18CFF}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6C0}\u{1D6C2}-\u{1D6DA}\u{1D6DC}-\u{1D6FA}\u{1D6FC}-\u{1D714}\u{1D716}-\u{1D734}\u{1D736}-\u{1D74E}\u{1D750}-\u{1D76E}\u{1D770}-\u{1D788}\u{1D78A}-\u{1D7A8}\u{1D7AA}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E030}-\u{1E06D}\u{1E100}-\u{1E12C}\u{1E137}-\u{1E13D}\u{1E14E}\u{1E290}-\u{1E2AD}\u{1E2C0}-\u{1E2EB}\u{1E4D0}-\u{1E4EB}\u{1E5D0}-\u{1E5ED}\u{1E5F0}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1E800}-\u{1E8C4}\u{1E900}-\u{1E943}\u{1E94B}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2EBF0}-\u{2EE5D}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}][\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0897-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF65-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10140}-\u{10174}\u{101FD}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{102E0}\u{10300}-\u{1031F}\u{1032D}-\u{1034A}\u{10350}-\u{1037A}\u{10380}-\u{1039D}\u{103A0}-\u{103C3}\u{103C8}-\u{103CF}\u{103D1}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{10570}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{105C0}-\u{105F3}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10860}-\u{10876}\u{10880}-\u{1089E}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{10900}-\u{10915}\u{10920}-\u{10939}\u{10980}-\u{109B7}\u{109BE}\u{109BF}\u{10A00}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A38}-\u{10A3A}\u{10A3F}\u{10A60}-\u{10A7C}\u{10A80}-\u{10A9C}\u{10AC0}-\u{10AC7}\u{10AC9}-\u{10AE6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B60}-\u{10B72}\u{10B80}-\u{10B91}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10D00}-\u{10D27}\u{10D30}-\u{10D39}\u{10D40}-\u{10D65}\u{10D69}-\u{10D6D}\u{10D6F}-\u{10D85}\u{10E80}-\u{10EA9}\u{10EAB}\u{10EAC}\u{10EB0}\u{10EB1}\u{10EC2}-\u{10EC4}\u{10EFC}-\u{10F1C}\u{10F27}\u{10F30}-\u{10F50}\u{10F70}-\u{10F85}\u{10FB0}-\u{10FC4}\u{10FE0}-\u{10FF6}\u{11000}-\u{11046}\u{11066}-\u{11075}\u{1107F}-\u{110BA}\u{110C2}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11100}-\u{11134}\u{11136}-\u{1113F}\u{11144}-\u{11147}\u{11150}-\u{11173}\u{11176}\u{11180}-\u{111C4}\u{111C9}-\u{111CC}\u{111CE}-\u{111DA}\u{111DC}\u{11200}-\u{11211}\u{11213}-\u{11237}\u{1123E}-\u{11241}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A8}\u{112B0}-\u{112EA}\u{112F0}-\u{112F9}\u{11300}-\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133B}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11380}-\u{11389}\u{1138B}\u{1138E}\u{11390}-\u{113B5}\u{113B7}-\u{113C0}\u{113C2}\u{113C5}\u{113C7}-\u{113CA}\u{113CC}-\u{113D3}\u{113E1}\u{113E2}\u{11400}-\u{1144A}\u{11450}-\u{11459}\u{1145E}-\u{11461}\u{11480}-\u{114C5}\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B5}\u{115B8}-\u{115C0}\u{115D8}-\u{115DD}\u{11600}-\u{11640}\u{11644}\u{11650}-\u{11659}\u{11680}-\u{116B8}\u{116C0}-\u{116C9}\u{116D0}-\u{116E3}\u{11700}-\u{1171A}\u{1171D}-\u{1172B}\u{11730}-\u{11739}\u{11740}-\u{11746}\u{11800}-\u{1183A}\u{118A0}-\u{118E9}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{11943}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D7}\u{119DA}-\u{119E1}\u{119E3}\u{119E4}\u{11A00}-\u{11A3E}\u{11A47}\u{11A50}-\u{11A99}\u{11A9D}\u{11AB0}-\u{11AF8}\u{11BC0}-\u{11BE0}\u{11BF0}-\u{11BF9}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C36}\u{11C38}-\u{11C40}\u{11C50}-\u{11C59}\u{11C72}-\u{11C8F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D47}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF6}\u{11F00}-\u{11F10}\u{11F12}-\u{11F3A}\u{11F3E}-\u{11F42}\u{11F50}-\u{11F5A}\u{11FB0}\u{12000}-\u{12399}\u{12400}-\u{1246E}\u{12480}-\u{12543}\u{12F90}-\u{12FF0}\u{13000}-\u{1342F}\u{13440}-\u{13455}\u{13460}-\u{143FA}\u{14400}-\u{14646}\u{16100}-\u{16139}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A70}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF0}-\u{16AF4}\u{16B00}-\u{16B36}\u{16B40}-\u{16B43}\u{16B50}-\u{16B59}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16D40}-\u{16D6C}\u{16D70}-\u{16D79}\u{16E40}-\u{16E7F}\u{16F00}-\u{16F4A}\u{16F4F}-\u{16F87}\u{16F8F}-\u{16F9F}\u{16FE0}\u{16FE1}\u{16FE3}\u{16FE4}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18CFF}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9D}\u{1BC9E}\u{1CCF0}-\u{1CCF9}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D165}-\u{1D169}\u{1D16D}-\u{1D172}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6C0}\u{1D6C2}-\u{1D6DA}\u{1D6DC}-\u{1D6FA}\u{1D6FC}-\u{1D714}\u{1D716}-\u{1D734}\u{1D736}-\u{1D74E}\u{1D750}-\u{1D76E}\u{1D770}-\u{1D788}\u{1D78A}-\u{1D7A8}\u{1D7AA}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1D7CE}-\u{1D7FF}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E030}-\u{1E06D}\u{1E08F}\u{1E100}-\u{1E12C}\u{1E130}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E290}-\u{1E2AE}\u{1E2C0}-\u{1E2F9}\u{1E4D0}-\u{1E4F9}\u{1E5D0}-\u{1E5FA}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1E800}-\u{1E8C4}\u{1E8D0}-\u{1E8D6}\u{1E900}-\u{1E94B}\u{1E950}-\u{1E959}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{1FBF0}-\u{1FBF9}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2EBF0}-\u{2EE5D}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{E0100}-\u{E01EF}]*$/u;function E(u){const e=String(u);return p.test(e)?`.${e}`:`[${JSON.stringify(e)}]`}const{pick:C}=D;function B(u,e,t){return d(u,E(e),t)}function d(u,e,t){let n;switch(u.display){case"link":case"text":n=m(u,e,t),"struct-list"!==u.type||u.countOnly?"link"===u.display&&(n={brick:"eo-link",children:[n]}):n={brick:"eo-tag",children:[n]};break;case"tag":{var r,a,i,o,s;const t="background"===(null===(r=u.style)||void 0===r?void 0:r.variant)?"-inverse":"",l=g(u,e);n={brick:"eo-tag",properties:{textContent:`<% ${l} %>`,size:b(null===(a=u.style)||void 0===a?void 0:a.size),color:null!==(i=u.style)&&void 0!==i&&i.background?`${u.style.background}${t}`:null!==(o=u.style)&&void 0!==o&&o.palette?`<%\n \`\${new Map(Object.entries(${JSON.stringify(u.style.palette,null,2).replaceAll("\n","\n ")})).get(${l}) ?? "gray"}${t}\`\n%>`:`gray${t}`,outline:"outline"===(null===(s=u.style)||void 0===s?void 0:s.variant)}};break}case"icon":n=f(u,e,t);break;case"icon+text":n={brick:"span",properties:{style:{display:"inline-flex",alignItems:"center",gap:"0.5em"}},children:[f(u,e,t),m(u,e,t)]};break;default:return null}if("struct-list"!==u.type||u.countOnly)return n;const l=Number(u.maxItems)||3;return{brick:"span",properties:{style:{display:"inline-flex",alignItems:"center",gap:"0.5em"}},children:[{brick:":forEach",dataSource:`<% DATA${e}.slice(0, ${l}) %>`,children:[n]},{brick:"eo-link",if:`<% DATA${e}.length > ${l} %>`,properties:{textContent:`<% \`+ \${DATA${e}.length - ${l}}\` %>`}}]}}function f(u,e,t){if("boolean"===u.type){var n,r,a,i,o,s;const l=g(u,e),A=null!==(n=null===(r=u.true)||void 0===r?void 0:r.icon)&&void 0!==n?n:"check",c=null!==(a=null===(i=u.false)||void 0===i?void 0:i.icon)&&void 0!==a?a:"xmark",F=y(null===(o=u.true)||void 0===o?void 0:o.style,t),D=y(null===(s=u.false)||void 0===s?void 0:s.style,t);return{brick:"eo-icon",properties:{lib:"fa",prefix:"fas",icon:`<% ${l} ? ${JSON.stringify(A)} : ${JSON.stringify(c)} %>`,style:`<% ${l} ? ${JSON.stringify(F)} : ${JSON.stringify(D)} %>`}}}if("json"===u.type){const n=g(u,e);return{brick:"eo-icon",properties:{lib:`<% ${n}?.lib %>`,prefix:`<% ${n}?.prefix %>`,category:`<% ${n}?.category %>`,theme:`<% ${n}?.theme %>`,icon:`<% ${n}?.icon %>`,style:y(u.style,t)}}}return{brick:"eo-icon",properties:{lib:"fa",prefix:"fas",icon:u.icon,style:y(u.style,t)}}}function m(u,e,t){var n;if("struct-list"===u.type&&u.countOnly)return{brick:"span",properties:{textContent:`<% \`\${DATA${e}.length}\` %>`}};const r=g(u,e),a=`<% ${r} %>`;switch(null===(n=u.formatter)||void 0===n?void 0:n.type){case"number":return{brick:"eo-formatter-number",properties:{value:a,type:u.formatter.format,...C(u.formatter,["currency","originalUnit","decimals","thousandsSeparator"]),style:y(u.style,t)}};case"date":case"date-time":return{brick:"eo-humanize-time",properties:{value:a,type:"date"===u.type?"date":void 0,formatter:u.formatter.format,style:y(u.style,t)}};case"cost-time":return{brick:"eo-humanize-time",properties:{value:a,isCostTime:!0,style:y(u.style,t)}};default:{let e,n,F="span";if("boolean"===u.type){var i,o,s,l,A,c;const a=null!==(i=null===(o=u.true)||void 0===o?void 0:o.text)&&void 0!==i?i:"Yes",F=null!==(s=null===(l=u.false)||void 0===l?void 0:l.text)&&void 0!==s?s:"No",D=y(null===(A=u.true)||void 0===A?void 0:A.style,t),p=y(null===(c=u.false)||void 0===c?void 0:c.style,t);e=`<% ${r} ? ${JSON.stringify(a)} : ${JSON.stringify(F)} %>`,n=`<% ${r} ? ${JSON.stringify(D)} : ${JSON.stringify(p)} %>`}else n=y(u.style,t),"json"===u.type?"link"===u.display?e='<% I18N("VIEW", "查看") %>':(F="pre",e=`<% PIPES.jsonStringify(${r}) %>`):e=a;return{brick:F,properties:{textContent:e,style:n}}}}}function g(u,e){return"struct"!==u.type&&"struct-list"!==u.type||!u.field?`DATA${e}`:`${"struct"===u.type?`DATA${e}`:"ITEM"}${E(u.field)}`}function b(u){switch(u){case"large":case"medium":case"small":return u;case"x-large":return"large"}}function y(u,e){if(!u||null!=e&&e.ignoreStyle)return;const t={};switch(u.size){case"small":t.fontSize="var(--sub-title-font-size-small)";break;case"medium":t.fontSize="var(--normal-font-size)";break;case"large":t.fontSize="var(--card-title-font-size)";break;case"x-large":t.fontSize="var(--title-font-size-larger)"}switch(u.fontWeight){case"bold":case"normal":t.fontWeight=u.fontWeight}return u.color&&(t.color=u.color),t}var v=t(9800);function x(u,e){return null==u?void 0:u.reduce(((u,t)=>!u||Math.abs(t.visualWeight-e)<Math.abs(u.visualWeight-e)?t:u))}var h=t(8406);const k=new Map;async function w(u){if(k.has(u))return k.get(u);const e=async function(u){const{list:e}=await(0,h.y)("MODEL_OBJECT",{fields:["instanceId"],query:{objectId:{$eq:u}},page_size:1});return null!=e&&e.length?e[0].instanceId:null}(u);return k.set(u,e),e}const P=new Map,T=new Map;async function S(u,e){if(P.has(u))return P.get(u);const t=async function(u,e){const t=new Map;try{const r=await async function(u){if(T.has(u))return T.get(u);const e=async function(u){const e=await w(u);if(!e)return null;const t=["attrList.id","attrList.generatedView.list"].join(","),{attrList:n}=await(0,v.y)("MODEL_OBJECT",e,{fields:t});return n}(u);return T.set(u,e),e}(u);if(r)for(const u of r){var n;const r=x(null===(n=u.generatedView)||void 0===n||null===(n=n[0])||void 0===n?void 0:n.list,null!=e?e:0);r&&t.set(u.id,r)}}catch(u){console.error("Error fetching pre-generated attr views:",u)}return t}(u,e);return P.set(u,t),t}function $(u,e,t){let n;if(null!=u&&u.size&&null!=e&&e.length){const r=new Map;for(const u of e)u.objectId&&r.set(u.name,u.objectId);const a=new Map;for(const u of null!=t?t:[]){const e=(0,s.strictCollectMemberUsage)(u.value,"CTX");a.set(u.name,e)}const i=new Set,o=u=>{if(i.has(u))return!1;i.add(u);const e=r.get(u);if(e)return n=e,!0;const t=a.get(u);for(const u of null!=t?t:[])if(o(u))return!0;return!1};for(const e of u)if(o(e))break}return n}t(8135);const _=/^<%=?\s/,M=/\s%>$/;var I=t(1321);function O(u,e){return null!=e&&e.size?Array.isArray(u)?u.map((u=>O(u,e))):"object"==typeof u&&null!==u?Object.fromEntries(Object.entries(u).map((u=>{let[t,n]=u;return[t,O(n,e)]}))):"string"==typeof u&&function(u){if("string"!=typeof u)return!1;const e=u.trim();return _.test(e)&&M.test(e)}(u)?function(u,e){if(null==e||!e.size)return u;if([...e.keys()].some((e=>u.includes(e)))){const t=[];let n;try{n=(0,I.preevaluate)(u,{withParent:!0,hooks:{beforeVisitGlobal(u,n){if(e.has(u.name)){var r;const e=null===(r=n[n.length-1])||void 0===r?void 0:r.node;let a;e&&"Property"===e.type&&!e.computed&&e.shorthand&&(a=!0),t.push({id:u,shorthand:a})}}}})}catch(u){console.error("Parse expression failed:",u)}if(t.length>0&&n){const{prefix:u,source:r,suffix:a}=n,i=[];let o=0;for(let u=0;u<t.length;u++){const{id:n,shorthand:a}=t[u],{name:s,start:l,end:A}=n;i.push(r.substring(o,l),`${a?`${s}: `:""}${e.get(s)}`),o=A}return i.push(r.substring(o)),`${u}${i.join("")}${a}`}}return u}(u,e):u:u}const j=["cellData","rowData"],z=new Map;const N=["#336EF4","#45CAFF","#41CDCF","#8146F3","#F8A075","#94E65E","#57689C","#C285EF","#FAC60B","#E4551F","#8984FF","#2540FF","#08BF33","#F7811C","#AC7CFF","#1BA5DC","#E89716","#76A6F5","#4F69FF"];function L(u,e){const t=u.slice(1),n=parseInt(t,16);return`rgba(${n>>16&255}, ${n>>8&255}, ${255&n}, ${e})`}let V=0;const J=new Map;function R(u){return J.has(u)||J.set(u,"isolated-tpl-"+V++),J.get(u)}function X(u){return u.replace(/([A-Z])/g,"-$1").toLowerCase()}async function W(u,e,t){var n;let r=null;const a=e.templates.find((e=>e.name===u.name));if(a)r={brick:`${R(t.rootId)}${X(a.name)}`,properties:u.properties};else switch(u.name){case"List":r=await function(u){let{properties:e}=u;const t=e,{dataSource:n,fields:r,variant:a}=t,i=c(n);return{brick:"eo-list",properties:{variant:a,dataSource:i.isString?i.embedded:n,fields:r,themeVariant:"elevo"}}}(u);break;case"Table":r=await async function(u,e,t){var n;const{properties:r}=u,{dataSource:a,size:i,columns:o,rowKey:s,pagination:l,...A}=r,F=c(a),D=$(F.usedContexts,e.dataSources,e.variables),p=D?await S(D):void 0,E=new Map;if(null!=p&&p.size&&Array.isArray(o))for(const u of o){if(u.render||"string"!=typeof u.dataIndex)continue;const e=p.get(u.dataIndex);if(e){const t=d(e,".cellData");t&&(t.slot=`[${u.dataIndex}]`,E.set(u.dataIndex,t))}}const C=Array.isArray(o)?await Promise.all(o.map((async u=>{let{render:n,...r}=u;if(n){const u=new Map;for(let e=0;e<n.params.length&&e<j.length;e++)u.set(n.params[e],`DATA.${j[e]}`);const a=(await Promise.all(n.children.map((u=>W(u,e,t))))).flatMap((e=>O(e,u)));return{...r,useBrick:a.map((u=>u.brick.startsWith(":")?{brick:"div",children:[u]}:u))}}return"string"==typeof r.dataIndex&&E.has(r.dataIndex)?{...r,useChildren:`[${r.dataIndex}]`}:r}))):o;return{brick:"eo-next-table",properties:{dataSource:F.isString?F.embedded:a,...A,rowKey:null!=s?s:Array.isArray(o)?null===(n=o[0])||void 0===n?void 0:n.key:void 0,columns:C,themeVariant:"elevo",scrollConfig:{x:"max-content"},...t.expanded?{bordered:!0,pagination:l,size:"large"}:{size:"middle",pagination:!1}},children:E.size>0?Array.from(E.values()):[]}}(u,e,t);break;case"Descriptions":r=await async function(u,e,t){let{properties:n}=u;const{dataSource:r,title:a,list:i,columns:o,...s}=n,l=c(r),A=$(l.usedContexts,e.dataSources,e.variables),F=A?await S(A):void 0,D=new Map;if(null!=F&&F.size&&Array.isArray(i))for(const u of i)if(!u.render&&u.field){const e=F.get(u.field);if(e){const t=B(e,u.field);t&&(t.slot=`[${u.field}]`,D.set(u.field,t))}}const p=Array.isArray(i)?await Promise.all(i.map((async u=>{let{render:n,...r}=u;if(n){const u=new Map;n.params.length>0&&u.set(n.params[0],"DATA");const a=(await Promise.all(n.children.map((u=>W(u,e,t))))).flatMap((e=>O(e,u)));return{label:r.label,useBrick:a}}return(r.field?D.get(r.field):void 0)?{label:r.label,useChildren:`[${r.field}]`}:r}))):i;return{brick:"eo-descriptions",properties:{...s,dataSource:l.isString?l.embedded:r,list:p,...null==o?{column:t.expanded?3:1,templateColumns:"repeat(auto-fill,minmax(360px,1fr))"}:{column:o},themeVariant:"elevo"},children:D.size>0?Array.from(D.values()):[]}}(u,e,t);break;case"Card":r=await function(u){const{properties:e}=u,{title:t,textContent:n}=e;return{brick:"eo-card",properties:{themeVariant:"elevo",cardTitle:t,background:"#fff",outline:"background",...n?{textContent:n}:null}}}(u);break;case"Dashboard":r=await async function(u,e,t){let{properties:n}=u;const{dataSource:r,groupField:a,widgets:i}=n,o=a?"#showKey":void 0,{isString:s,expression:l,usedContexts:A}=c(r),F=s?`<%= CTX.__builtin_fn_extractList((${l})) %>`:r;if(t.expanded){let u=i;const t=$(A,e.dataSources,e.variables),n=t?await async function(u){if(z.has(u))return z.get(u);const e=async function(u){let e=[];try{const t=await w(u);if(t){const u=["metricGroups"].join(","),{metricGroups:n}=await(0,v.y)("MODEL_OBJECT",t,{fields:u});Array.isArray(n)&&n.length&&(e=n)}}catch(u){console.error("Error fetching pre-generated metric groups:",u)}return e}(u);return z.set(u,e),e}(t):[];if(n.length>0){u=[];const e=new Set,t=new Set(i.map((u=>u.metric.id)));for(const r of i){if(e.has(r.metric.id))continue;const a={...r};u.push(a);const i=n.find((u=>u.metrics.includes(r.metric.id)));if(i){const u=i.metrics.filter((u=>t.has(u)));if(u.length>1){a.relevantMetrics=u,a.counterMetric=i.counter,a.groupTitle=i.group;for(const n of u)e.add(n),t.delete(n)}}}}let r=0;return{brick:"div",properties:{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(500px, 1fr))",gap:"16px"}},children:u.map((u=>{var e,t;const{title:n,metric:a,size:i,precision:s}=u,A=null!==(e=null===(t=u.relevantMetrics)||void 0===t?void 0:t.length)&&void 0!==e?e:o?2:1,c=Array.from({length:A},((u,e)=>N[(r+e)%N.length]));r+=A;const D="load"===a.unit?"":a.unit,p={brick:"chart-v2.time-series-chart",properties:{data:F,xField:"time",...u.relevantMetrics?{yFields:`<% CTX.__builtin_fn_getMetricDisplayNames((${l}).displayNameList, ${JSON.stringify(u.relevantMetrics)}) %>`}:{yField:`<% CTX.__builtin_fn_getMetricDisplayNames((${l}).displayNameList, [${JSON.stringify(a.id)}])[0] %>`},...u.counterMetric?{forceAbsoluteNumbers:!0,series:{[u.counterMetric]:{isNegative:!0}}}:null,height:"large"===i?230:200,timeFormat:"HH:mm",...u.relevantMetrics||o?null:{areaOptions:{style:{fill:`l(90) 0:${c[0]} 1:#ffffff`}}},axis:{yAxis:{unit:D,precision:s,...u.counterMetric?null:"percent(1)"===D?{min:0,max:1}:"percent(100)"===D||"%"===D?{min:0,max:100}:{min:0},shape:"smooth"}},groupField:o,areaShape:"smooth",legends:!(!u.relevantMetrics&&!o),colors:c,tooltip:{marker:{fill:c[0],stroke:"#fff",lineWidth:2,shadowColor:c[0],shadowBlur:8,shadowOffsetX:0,shadowOffsetY:4},domStyles:{"g2-tooltip":{background:[`radial-gradient( farthest-corner at -20px 150px, ${c[0]} 0%, rgba(238,238,238,0) 60%)`,"linear-gradient( 180deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.8) 100%)"].join(", "),boxShadow:`0px 4px 8px 0px ${L(c[0],.08)}`,borderRadius:"8px",border:"1px solid rgba(255,255,255,1)",backdropFilter:"blur(3px)"}}}}};return{brick:"div",properties:{style:{background:"rgba(255,255,255,0.8)",boxShadow:"0px 2px 4px 0px rgba(0,0,0,0.06)",borderRadius:"8px",padding:"16px 20px 20px"}},children:[{brick:"div",properties:{style:{fontSize:"16px",fontWeight:"500",marginBottom:"20px"},textContent:u.groupTitle||n||a.id}},p]}}))}}return o?{brick:"div",properties:{style:{display:"flex",flexDirection:"column",gap:"8px"}},children:[{brick:":forEach",dataSource:`<%= CTX.__builtin_fn_groupMetricData(CTX.__builtin_fn_extractList((${l})), ${JSON.stringify(o)}) %>`,children:[{brick:"div",properties:{textContent:"<% `${ITEM.group}:` %>",style:{fontWeight:"500"}}},{brick:"div",properties:{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(200px, 1fr))",gap:"10px",marginBottom:"8px"}},children:i.map(((u,e)=>{const{title:t,metric:n,precision:r}=u;return{brick:"ai-portal.stat-with-mini-chart",properties:{size:"small",label:t||n.id,data:"<% ITEM.list %>",xField:"time",yField:n.id,lineColor:N[e%N.length],showArea:!0,..."percent(1)"===n.unit?{min:0,max:1}:"percent(100)"===n.unit||"%"===n.unit?{min:0,max:100}:{min:0},value:`<%= CTX.__builtin_fn_getLatestMetricValue(ITEM.list, ${JSON.stringify({metric:n,precision:r})}) %>`}}}))}]}]}:{brick:"div",properties:{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(200px, 1fr))",gap:"10px"}},children:i.map(((u,e)=>{const{title:t,metric:n,precision:a}=u;return{brick:"ai-portal.stat-with-mini-chart",properties:{size:"small",label:t||n.id,data:F,xField:"time",yField:n.id,lineColor:N[e%N.length],showArea:!0,..."percent(1)"===n.unit?{min:0,max:1}:"percent(100)"===n.unit||"%"===n.unit?{min:0,max:100}:{min:0},value:`<%= CTX.__builtin_fn_getLatestMetricValue((${s?`CTX.__builtin_fn_extractList((${l}))`:JSON.stringify(null!=r?r:null)}), ${JSON.stringify({metric:n,precision:a})}) %>`}}}))}}(u,e,t);break;case"Button":r=await function(u){const{properties:e}=u;return{brick:"eo-button",properties:{...e,themeVariant:"elevo"}}}(u);break;case"Form":r=await function(u){const{properties:e}=u,{values:t}=null!=e?e:{};return{brick:"eo-form",properties:{values:null!=t?t:{},themeVariant:"elevo"}}}(u);break;case"Toolbar":r=await{brick:"eo-flex-layout",properties:{gap:"0.5em",alignItems:"center"}};break;case"Modal":r=await function(u){const{properties:e}=u,{title:t,confirmText:n,cancelText:r,...a}=e;return{brick:"eo-modal",portal:!0,properties:{themeVariant:"elevo",modalTitle:t,confirmText:n,cancelText:r,keyboard:!0,...a}}}(u);break;case"Plaintext":r=await function(u){const{properties:e}=u;return{brick:"span",properties:{...e}}}(u);break;case"Link":r=await function(u){const{properties:e}=u;return{brick:"eo-link",properties:{...e,themeVariant:"elevo"}}}(u);break;case"Output":r=await function(u){const{properties:e}=u,{style:t,...n}=e;return{brick:"pre",properties:{style:{background:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",tabSize:"2",hyphens:"none",fontSize:"13px",padding:"1em",margin:"0",overflowX:"auto",borderRadius:"9px",...t},...n}}}(u);break;case"Tag":r=await function(u){const{properties:e}=u;return{brick:"eo-tag",properties:{...e,themeVariant:"elevo"}}}(u);break;case"Avatar":r=await function(u){const{properties:e}=u;return{brick:"eo-avatar",properties:{...e,themeVariant:"elevo"}}}(u);break;case"AvatarGroup":r=await function(u){const{properties:e}=u;return{brick:"eo-avatar-group",properties:{...e,themeVariant:"elevo"}}}(u);break;case"Search":case"Input":case"NumberInput":case"Textarea":case"Select":case"Radio":case"Checkbox":case"Switch":case"DatePicker":case"TimePicker":r=await function(u,e){const{properties:t}=u;let n=e,r={...t,themeVariant:"elevo"};switch(n){case"eo-search":r={...r,trim:!0};break;case"eo-number-input":n="eo-input",r={type:"number",...r}}return{brick:n,properties:r}}(u,(i=u.name,i.includes("-")?i:`eo${i.replace(/([A-Z])/g,"-$1").toLowerCase()}`));break;case"ForEach":r=await function(u){const{properties:e}=u,{dataSource:t}=e;return{brick:":forEach",dataSource:t}}(u);break;case"If":r=await function(u){const{properties:e}=u,{dataSource:t}=e;return{brick:":if",dataSource:t}}(u);break;default:console.error("Unsupported component:",u.name)}var i,o,s,l,A;return r?(u.componentId&&(null!==(s=(o=r).properties)&&void 0!==s||(o.properties={}),null!==(A=(l=r.properties).dataset)&&void 0!==A||(l.dataset={}),r.properties.dataset.componentId=u.componentId),u.slot&&(r.slot=u.slot),r.events=function(u,e){const t={};for(const[r,a]of Object.entries(null!==(n=u.events)&&void 0!==n?n:{})){var n;switch(u.name){case"Table":switch(r){case"select":{const u=F(a,e);u&&(t["row.select.v2"]=u);break}case"sort":{const u=F(a,e);u&&(t["sort.change"]=u);break}case"paginate":{const u=F(a,e);u&&(t["page.change"]=u);break}}break;case"Button":if("click"===r){const u=F(a,e);u&&(t.click=u)}break;case"Search":if("search"===r){const u=F(a,e);u&&(t.search=u)}break;case"Select":if("change"===r){const u=F(a,e);u&&(t["change.v2"]=u)}break;default:{const u=F(a,e);u&&(t[r]=u)}}}return Object.keys(t).length>0?t:void 0}(u,t),null!==(n=u.children)&&void 0!==n&&n.length&&(r.children=(await Promise.all(u.children.map((u=>W(u,e,t))))).flat(),("Card"===u.name||"Modal"===u.name)&&r.children.length>0&&(r.children=[{brick:"eo-content-layout",children:r.children}])),r):[]}const q=[{name:"__builtin_fn_mergeTexts",value:function(){const u=[];for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(const e of t)"text"===e.type?u.push(e.text.trim()):u.push(K(e.value));return u.join("")}},{name:"__builtin_fn_getLatestMetricValue",value:function(u,e){var t;let{metric:r,precision:a}=e;const i=null==u||null===(t=u.findLast)||void 0===t||null===(t=t.call(u,(u=>null!=u[r.id])))||void 0===t?void 0:t[r.id],o="load"===r.unit?"":r.unit;return n.pipes.unitFormat(i,o,a).join("")}},{name:"__builtin_fn_extractList",value:function(u){return Array.isArray(u)?u:null==u?void 0:u.list}},{name:"__builtin_fn_groupMetricData",value:function(u,e){if(!u||!Array.isArray(u)||0===u.length)return[];const t=new Map;for(const n of u){const u=n[e];let r=t.get(u);r||t.set(u,r={group:u,list:[]}),r.list.push(n)}return Array.from(t.values())}},{name:"__builtin_fn_getMetricDisplayNames",value:function(u,e){return e.map((e=>{var t,n;return null!==(t=null==u||null===(n=u.find((u=>u.metric_name===e)))||void 0===n?void 0:n.metric_display_name)&&void 0!==t?t:e}))}}];async function G(u,e){var t,n;const a=[...i(null!==(t=u.dataSources)&&void 0!==t?t:[],e),...o(null!==(n=u.variables)&&void 0!==n?n:[]),...e.withContexts?Object.entries(e.withContexts).map((u=>{let[e,t]=u;return{name:e,value:t}})):[],...q],s=(await Promise.all(u.components.map((t=>W(t,u,e))))).flat(),l=u.components.every((u=>["Form","Descriptions","Button"].includes(u.name))),A=await function(u,e,t){const n=R(t.rootId);return Promise.all(u.map((async u=>{var r,a;const s=(await Promise.all(u.components.map((u=>W(u,e,t))))).flat();return{name:`${n}${X(u.name)}`,bricks:s,state:[...i(null!==(r=u.dataSources)&&void 0!==r?r:[],t),...o(null!==(a=u.variables)&&void 0!==a?a:[])]}})))}(u.templates,u,e);return{brick:{brick:"eo-content-layout",children:l?[r(s,e)]:s},context:a,functions:u.functions,templates:A}}function K(u){if(Array.isArray(u))return u.map(K).join("");const e=typeof u;if("string"===e||"number"===e)return String(u);if("object"===e&&null!==u)throw new Error("Can not render object as text");return""}},8124:(u,e,t)=>{t.d(e,{f:()=>i});var n=t(7695);let r,a;function i(){return r||(r=(async()=>{const u=(0,n.LV)((a||(a=new Worker(new URL(t.p+t.u(780),t.b))),a));return await new u})()),r}},8189:u=>{u.exports='/** 提示用户操作结果 */\ndeclare const showMessage: (options: {\n type: "success" | "error";\n content: string;\n}) => void;\n\n/** 刷新指定的数据源 */\ndeclare const refresh: (dataSource: unknown) => void;\n\n/** 调用指定的 Provider 接口 */\ndeclare const callApi: <T extends keyof ContractMap>(\n api: T,\n params: Parameters<ContractMap[T]>[0]\n) => Promise<ReturnType<ContractMap[T]>>;\n\n/** 调用指定的 HTTP 接口 */\ndeclare const callHttp: <T = any>(\n url: string,\n init?: RequestInit\n) => Promise<T>;\n\ndeclare const useState: <T>(\n initialValue?: T\n) => [value: T, setter: (value: T) => void];\n\ndeclare const useResource: <T = any>(\n fetcher: () => Promise<T>,\n options?: {\n // 不启用则直接返回 fallback\n enabled?: boolean;\n fallback?: unknown;\n }\n) => [data: T, refetch: () => void];\n\n/** 数据实体 SDK */\ndeclare namespace Entity {\n export function list(\n entity: string,\n params?: {\n fields: string[];\n filter?: object[];\n page?: number;\n pageSize?: number;\n }\n ): Promise<{\n page: number;\n pageSize: number;\n total: number;\n list: object[];\n }>;\n\n export function get(entity: string, id: string): Promise<object | null>;\n}\n\n/** 获取指定的组件 */\ndeclare const getComponent: <T extends keyof ComponentInstanceMap>(\n name: T,\n id: string\n) => ComponentInstanceMap[T];\n\ninterface ComponentInstanceMap {\n Form: {\n validate: () => void;\n reset: () => void;\n };\n Modal: {\n open: () => void;\n };\n}\n'},8957:(u,e,t)=>{t.d(e,{A:()=>o});var n=t(6758),r=t.n(n),a=t(935),i=t.n(a)()(r());i.push([u.id,".container--M22i1CYq{display:flex;height:100%}.editor--kF8SUoBP,\n.preview--gu5OlS2X{flex:1;min-width:0}.preview--gu5OlS2X{padding:1em;overflow:auto}",""]),i.locals={container:"container--M22i1CYq",editor:"editor--kF8SUoBP",preview:"preview--gu5OlS2X"};const o=i}}]);
2
+ //# sourceMappingURL=1655.48105266.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/1655.48105266.js","mappings":"kJAAO,SAASA,EAAaC,GAC3B,MAAMC,EAASC,SAASC,cAAc,OAKtC,OAJAF,EAAOG,QAAQJ,OAASA,EACxBC,EAAOI,MAAMC,SAAW,WACxBL,EAAOI,MAAME,MAAQN,EAAOI,MAAMG,OAAS,IAC3CN,SAASO,KAAKC,OAAOT,GACdA,CACT,C,gLCIIU,EAAU,CAAC,EAEfA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IACxBF,EAAQG,OAAS,SAAc,KAAM,QACrCH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQM,OAAS,IAAQA,YAASC,C,kqLCrB5D,SAASC,EACdC,EACAT,GAEA,MAAO,CACLU,MAAO,MACPC,WAAY,CACVjB,MAAOM,EAAQY,SACX,CACEC,WAAY,2BACZC,eAAgB,aAChBC,aAAc,OACdC,QAAS,QAEX,CACEH,WAAY,oCACZC,eAAgB,yCAChBC,aAAc,6BACdC,QAAS,SAGjBP,WAEJ,C,cCrBO,SAASQ,EACdC,EACAlB,GAEA,OAAOkB,EAAYC,KACjBC,IASM,IATL,KACCC,EAAI,KACJC,EAAI,IACJC,EAAG,OACHC,EAAM,OACNC,EAAM,UACNC,EAAS,gBACTC,EAAe,OACfC,GACDR,EACC,MAAMS,EACJD,GAAUE,OAAOC,UAAUC,eAAeC,KAAKL,EAAQ,WAEzD,MAAO,CACLP,KAAMA,EACNa,QAAS,IACHZ,EACA,CACEa,YAAa,qBACbC,KAAM,CAACb,EAAKC,IAEI,iBAAXC,EACL,CACEU,YAAa,aAAaZ,EAAIc,cAAcC,QAAQ,IAAK,WACzDF,KAAM,CAACpC,EAAQuC,UAAWd,EAAQD,IAEpC,CACEW,YAAa,GAAGZ,MAChBC,OAAQA,KAEI,yCAARD,IACJiB,EAAAA,EAAAA,UAAShB,GACL,CACEA,OAAQ,IACHA,EACHiB,UAAW,CAAC,YACZC,WAAOnC,EACPoC,aAASpC,EACTqC,WAAOrC,EACPsC,aAAa,IAGjB,SAERnB,EAAY,CAAEA,UAAW,CAAEoB,MAAOpB,IAAgB,QAClDC,EACA,CAAEoB,SAAU,CAAErB,UAAW,CAAEoB,MAAOnB,KAClC,QACAE,EACA,CACEmB,GAAIpB,EAAOqB,SAEb,MAENC,OAAO,KACHrB,EACA,CACEiB,MAAOlB,EAAOuB,UAEhB,KACL,GAGP,CCtEO,SAASC,EAAiBC,GAC/B,OAAOA,EAAUlC,KAAIC,IAAA,IAAC,KAAEC,EAAI,MAAEyB,GAAO1B,EAAA,MAAM,CACzCC,OACAyB,QACAI,OAAO,EACR,GACH,C,WCPA,MAAMI,EAAwB,UACxBC,EAAwB,QAUvB,SAASC,EAAgBC,GAa9B,GAAoB,iBAATA,EACT,MAAO,CACLC,UAAU,GAId,IAAIC,EACJ,MAAMC,EAAOH,EAAKI,OAxBpB,IAAsBf,EAsCpB,OAtCoBA,EAyBHc,EAxBVN,EAAsBQ,KAAKhB,IAAUS,EAAsBO,KAAKhB,GAyBrEa,EAAaC,EACVtB,QAAQgB,EAAuB,IAC/BhB,QAAQiB,EAAuB,IAC/BM,QAGHE,QAAQC,KAAK,sBAAuBC,KAAKC,UAAUT,IACnDE,EAAa,QAKR,CACLD,UAAU,EACVS,SAAUV,EACVE,aACAS,cANmBC,EAAAA,EAAAA,0BAAyBZ,EAAM,OAQtD,CCeA,SAASa,EACPC,EACAvE,GAEA,MAAMwE,GAAQC,MAAMC,QAAQH,GAAWA,EAAU,CAACA,IAC/CpD,KAAKwD,GAKV,SACEJ,EACAvE,GAEA,OAAQuE,aAAO,EAAPA,EAASK,QACf,IAAK,kBACH,MAAO,CACLA,OAC4B,aAA1BL,EAAQM,QAAQC,MACZ,eACA,kBACN1C,KAAM,CAACmC,EAAQM,QAAQxD,KAAMkD,EAAQM,QAAQ/B,QAEjD,IAAK,sBACH,MAAO,CACL8B,OAC4B,aAA1BL,EAAQM,QAAQC,MACZ,gBACA,kBACN1C,KAAM,CAACmC,EAAQM,QAAQxD,OAE3B,IAAK,WAAY,KAAA0D,EACf,MAAM,IAAExD,EAAG,KAAED,EAAI,OAAEG,EAAM,OAAED,GAAW+C,EAAQM,QAExCG,EAA0B,QAAhBD,EAAAR,EAAQU,gBAAQ,IAAAF,GAAhBA,EAAkBC,QAC9BV,EACEC,EAAQU,SAASD,QACjBhF,QAEFO,EAEJ,MAAO,IACDe,EACA,CACEa,YAAa,qBACbC,KAAM,CAACb,EAAKC,IAEI,iBAAXC,EACL,CACEU,YAAa,aAAaZ,EAAIc,cAAcC,QAAQ,IAAK,WACzDF,KAAM,CAACpC,EAAQuC,UAAWd,EAAQD,IAEpC,CACEW,YAAa,GAAGZ,MAChBC,UAERyD,SAAU,IACJD,GAAW,CAAEA,WACjBE,MAAO,CACLN,OAAQ,oBAIhB,CACA,IAAK,iBACH,MAAO,CACLO,OAAQ,kBAAkBnF,EAAQX,gCAAgCkF,EAAQM,QAAQO,gBAClFC,OAAQd,EAAQM,QAAQQ,OACxBjD,KAAMmC,EAAQM,QAAQzC,MAE1B,IAAK,eACH,MAAO,CACLwC,OAAQ,WAAWL,EAAQM,QAAQS,OACnClD,KAAM,CAACmC,EAAQM,QAAQU,UAE3B,IAAK,iBACH,MAAO,CACLX,OAAQ,oBACRxC,KAAM,CAACmC,EAAQM,QAAQS,KAAM,CAAEE,OAAQjB,EAAQM,QAAQW,UAG/D,CA5EkBC,CAAoBd,EAAK3E,KACtC0F,OAAOC,SACV,OAAOnB,EAAKoB,OAAS,EAAIpB,OAAOjE,CAClC,C,aC5EA,MAAMsF,EAAuB,yxoBAEtB,SAASC,EAAkBC,GAChC,MAAMC,EAAcC,OAAOF,GAC3B,OAAOF,EAAqB/B,KAAKkC,GAC7B,IAAIA,IACJ,IAAI/B,KAAKC,UAAU8B,KACzB,CCFA,MAAM,KAAEE,GAASC,EAMV,SAASC,EACdxE,EACAyE,EACArG,GAEA,OAAOsG,EAA4B1E,EAAQkE,EAAkBO,GAAOrG,EACtE,CAEO,SAASsG,EACd1E,EACA2E,EACAvG,GAEA,IAAIwG,EAEJ,OAAQ5E,EAAO6E,SACb,IAAK,OACL,IAAK,OACHD,EAAYE,EAAc9E,EAAQ2E,EAAcvG,GAC5B,gBAAhB4B,EAAO0D,MAA2B1D,EAAO+E,UAMf,SAAnB/E,EAAO6E,UAChBD,EAAY,CACV9F,MAAO,UAEPD,SAAU,CAAC+F,KATbA,EAAY,CACV9F,MAAO,SAEPD,SAAU,CAAC+F,IASf,MAEF,IAAK,MAAO,KAAAI,EAAAC,EAAAC,EAAAC,EAAAC,EACV,MAAMC,EACsB,gBAAd,QAAZL,EAAAhF,EAAOlC,aAAK,IAAAkH,OAAA,EAAZA,EAAcM,SAA2B,WAAa,GAClDC,EAAgBC,EAAiBxF,EAAQ2E,GAC/CC,EAAY,CACV9F,MAAO,SAEPC,WAAY,CACV0G,YAAa,MAAMF,OACnBG,KAAMC,EAAuB,QAAbV,EAACjF,EAAOlC,aAAK,IAAAmH,OAAA,EAAZA,EAAcS,MAC/BE,MAAmB,QAAZV,EAAAlF,EAAOlC,aAAK,IAAAoH,GAAZA,EAAcjG,WACjB,GAAGe,EAAOlC,MAAMmB,aAAaoG,IACjB,QAAZF,EAAAnF,EAAOlC,aAAK,IAAAqH,GAAZA,EAAcU,QACZ,qCACgBxD,KAAKC,UACjCtC,EAAOlC,MAAM+H,QACb,KACA,GACAC,WAAW,KAAM,iBAAiBP,gBAA4BF,UAElD,OAAOA,IACbU,QAAmC,aAAd,QAAZX,EAAApF,EAAOlC,aAAK,IAAAsH,OAAA,EAAZA,EAAcE,WAG3B,KACF,CACA,IAAK,OACHV,EAAYoB,EAAahG,EAAQ2E,EAAcvG,GAC/C,MAEF,IAAK,YAGHwG,EAAY,CACV9F,MAAO,OAEPC,WAAY,CACVjB,MAAO,CACL+G,QAAS,cACToB,WAAY,SACZC,IAAK,UAGTrH,SAAU,CAZMmH,EAAahG,EAAQ2E,EAAcvG,GACnC0G,EAAc9E,EAAQ2E,EAAcvG,KAatD,MAEF,QACE,OAAO,KAGX,GAAoB,gBAAhB4B,EAAO0D,MAA0B1D,EAAO+E,UAC1C,OAAOH,EAGT,MAAMuB,EAAWC,OAAOpG,EAAOmG,WAAa,EAC5C,MAAO,CACLrH,MAAO,OAEPC,WAAY,CACVjB,MAAO,CACL+G,QAAS,cACToB,WAAY,SACZC,IAAK,UAGTrH,SAAU,CACR,CACEC,MAAO,WACPuH,WAAY,UAAU1B,cAAyBwB,QAC/CtH,SAAU,CAAC+F,IAEb,CACE9F,MAAO,UACPsC,GAAI,UAAUuD,cAAyBwB,OACvCpH,WAAY,CACV0G,YAAa,iBAAiBd,cAAyBwB,aAKjE,CAEA,SAASH,EACPhG,EACA2E,EACAvG,GAEA,GAAoB,YAAhB4B,EAAO0D,KAAoB,KAAA4C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC7B,MAAMpB,EAAgBC,EAAiBxF,EAAQ2E,GACzCiC,EAA4B,QAApBN,EAAc,QAAdC,EAAGvG,EAAO6G,YAAI,IAAAN,OAAA,EAAXA,EAAaO,YAAI,IAAAR,EAAAA,EAAI,QAChCS,EAA8B,QAArBP,EAAe,QAAfC,EAAGzG,EAAOgH,aAAK,IAAAP,OAAA,EAAZA,EAAcK,YAAI,IAAAN,EAAAA,EAAI,QAClCS,EAAYC,EAAyB,QAAZR,EAAC1G,EAAO6G,YAAI,IAAAH,OAAA,EAAXA,EAAa5I,MAAOM,GAC9C+I,EAAaD,EAA0B,QAAbP,EAAC3G,EAAOgH,aAAK,IAAAL,OAAA,EAAZA,EAAc7I,MAAOM,GACtD,MAAO,CACLU,MAAO,UAEPC,WAAY,CACVqI,IAAK,KACLC,OAAQ,MACRP,KAAM,MAAMvB,OAAmBlD,KAAKC,UAAUsE,QAAevE,KAAKC,UAAUyE,QAC5EjJ,MAAO,MAAMyH,OAAmBlD,KAAKC,UAAU2E,QAAgB5E,KAAKC,UAAU6E,SAGpF,CAEA,GAAoB,SAAhBnH,EAAO0D,KAAiB,CAC1B,MAAM6B,EAAgBC,EAAiBxF,EAAQ2E,GAC/C,MAAO,CACL7F,MAAO,UAEPC,WAAY,CACVqI,IAAK,MAAM7B,YACX8B,OAAQ,MAAM9B,eACd+B,SAAU,MAAM/B,iBAChBgC,MAAO,MAAMhC,cACbuB,KAAM,MAAMvB,aACZzH,MAAOoJ,EAAclH,EAAOlC,MAAOM,IAGzC,CAEA,MAAO,CACLU,MAAO,UAEPC,WAAY,CACVqI,IAAK,KACLC,OAAQ,MACRP,KAAM9G,EAAO8G,KACbhJ,MAAOoJ,EAAclH,EAAOlC,MAAOM,IAGzC,CAEA,SAAS0G,EACP9E,EACA2E,EACAvG,GACW,IAAAoJ,EACX,GAAoB,gBAAhBxH,EAAO0D,MAA0B1D,EAAO+E,UAC1C,MAAO,CACLjG,MAAO,OACPC,WAAY,CACV0G,YAAa,eAAed,mBAKlC,MAAMY,EAAgBC,EAAiBxF,EAAQ2E,GACzCzD,EAAQ,MAAMqE,OACpB,OAAwB,QAAxBiC,EAAQxH,EAAOyH,iBAAS,IAAAD,OAAA,EAAhBA,EAAkB9D,MACxB,IAAK,SACH,MAAO,CACL5E,MAAO,sBAEPC,WAAY,CACVmC,QACAwC,KAAM1D,EAAOyH,UAAUC,UACpBpD,EAAKtE,EAAOyH,UAAW,CACxB,WAEA,eACA,WACA,uBAEF3J,MAAOoJ,EAAclH,EAAOlC,MAAOM,KAGzC,IAAK,OACL,IAAK,YACH,MAAO,CACLU,MAAO,mBAEPC,WAAY,CACVmC,QACAwC,KAAsB,SAAhB1D,EAAO0D,KAAkB,YAAS/E,EACxC8I,UAAWzH,EAAOyH,UAAUC,OAC5B5J,MAAOoJ,EAAclH,EAAOlC,MAAOM,KAGzC,IAAK,YACH,MAAO,CACLU,MAAO,mBAEPC,WAAY,CACVmC,QACAyG,YAAY,EACZ7J,MAAOoJ,EAAclH,EAAOlC,MAAOM,KAGzC,QAAS,CACP,IAAIqH,EACA3H,EACA8J,EAAM,OACV,GAAoB,YAAhB5H,EAAO0D,KAAoB,KAAAmE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC7B,MAAMC,EAA+B,QAApBN,EAAc,QAAdC,EAAG9H,EAAO6G,YAAI,IAAAiB,OAAA,EAAXA,EAAaM,YAAI,IAAAP,EAAAA,EAAI,MACnCQ,EAAiC,QAArBN,EAAe,QAAfC,EAAGhI,EAAOgH,aAAK,IAAAgB,OAAA,EAAZA,EAAcI,YAAI,IAAAL,EAAAA,EAAI,KACrCd,EAAYC,EAAyB,QAAZe,EAACjI,EAAO6G,YAAI,IAAAoB,OAAA,EAAXA,EAAanK,MAAOM,GAC9C+I,EAAaD,EAA0B,QAAbgB,EAAClI,EAAOgH,aAAK,IAAAkB,OAAA,EAAZA,EAAcpK,MAAOM,GACtDqH,EAAc,MAAMF,OAAmBlD,KAAKC,UAAU6F,QAAkB9F,KAAKC,UAAU+F,QACvFvK,EAAQ,MAAMyH,OAAmBlD,KAAKC,UAAU2E,QAAgB5E,KAAKC,UAAU6E,OACjF,MACErJ,EAAQoJ,EAAclH,EAAOlC,MAAOM,GAChB,SAAhB4B,EAAO0D,KACc,SAAnB1D,EAAO6E,QACTY,EAAc,4BAEdmC,EAAM,MACNnC,EAAc,0BAA0BF,SAG1CE,EAAcvE,EAGlB,MAAO,CACLpC,MAAO8I,EAEP7I,WAAY,CACV0G,cACA3H,SAGN,EAEJ,CAEA,SAAS0H,EAAiBxF,EAAsB2E,GAC9C,MACmB,WAAhB3E,EAAO0D,MAAqC,gBAAhB1D,EAAO0D,OACpC1D,EAAOsI,MAIF,OAAO3D,IAFL,GAAmB,WAAhB3E,EAAO0D,KAAoB,OAAOiB,IAAiB,SAAST,EAAkBlE,EAAOsI,QAGnG,CAEA,SAAS3C,EAAWD,GAClB,OAAQA,GACN,IAAK,QACL,IAAK,SACL,IAAK,QACH,OAAOA,EACT,IAAK,UACH,MAAO,QAIb,CAEA,SAASwB,EACPqB,EACAnK,GAEA,IAAKmK,GAAenK,SAAAA,EAASoK,YAC3B,OAEF,MAAM1K,EAA6B,CAAC,EACpC,OAAQyK,EAAY7C,MAElB,IAAK,QACH5H,EAAM2K,SAAW,mCACjB,MACF,IAAK,SACH3K,EAAM2K,SAAW,0BACjB,MACF,IAAK,QACH3K,EAAM2K,SAAW,8BACjB,MACF,IAAK,UACH3K,EAAM2K,SAAW,gCAGrB,OAAQF,EAAYG,YAClB,IAAK,OACL,IAAK,SACH5K,EAAM4K,WAAaH,EAAYG,WAKnC,OAHIH,EAAY3C,QACd9H,EAAM8H,MAAQ2C,EAAY3C,OAErB9H,CACT,C,cCtUe,SAAS6K,EAEtBC,EAA6BC,GAW7B,OAVkBD,aAAU,EAAVA,EAAYE,QAAO,CAACC,EAASC,KAE1CD,GACDE,KAAKC,IAAIF,EAAUG,aAAeN,GAChCI,KAAKC,IAAIH,EAAQI,aAAeN,GAE3BG,EAEFD,GAGX,C,cCZA,MAAMK,EAAQ,IAAIC,IAEXC,eAAeC,EAAyBC,GAC7C,GAAIJ,EAAMK,IAAID,GACZ,OAAOJ,EAAMM,IAAIF,GAGnB,MAAMG,EAKRL,eAA0CE,GACxC,MAAM,KAAE5G,SAAegH,EAAAA,EAAAA,GAAyB,eAAgB,CAC9DC,OAAQ,CAAC,cACTC,MAAO,CACLN,SAAU,CACRO,IAAKP,IAGTQ,UAAW,IAGb,OAAIpH,SAAAA,EAAMoB,OACDpB,EAAK,GAAGqH,WAGV,IACT,CArBkBC,CAA2BV,GAE3C,OADAJ,EAAMe,IAAIX,EAAUG,GACbA,CACT,CCRA,MAAMP,EAAQ,IAAIC,IAEZe,EAAgB,IAAIf,IAEnBC,eAAee,EACpBb,EACAL,GAEA,GAAIC,EAAMK,IAAID,GACZ,OAAOJ,EAAMM,IAAIF,GAGnB,MAAMG,EAKRL,eACEE,EACAL,GAEA,MAAMmB,EAAY,IAAIjB,IAEtB,IACE,MAAMkB,QAkBVjB,eAA2BE,GACzB,GAAIY,EAAcX,IAAID,GACpB,OAAOY,EAAcV,IAAIF,GAG3B,MAAMG,EAKRL,eAA6BE,GAC3B,MAAMS,QAAmBV,EAAyBC,GAClD,IAAKS,EACH,OAAO,KAGT,MAAMJ,EAAS,CAAC,cAAe,+BAA+BW,KAAK,MAE7D,SAAED,SAAmBE,EAAAA,EAAAA,GAAsB,eAAgBR,EAAY,CAC3EJ,WAGF,OAAOU,CACT,CAlBkBG,CAAclB,GAE9B,OADAY,EAAcD,IAAIX,EAAUG,GACrBA,CACT,CA1B2BgB,CAAYnB,GACnC,GAAIe,EACF,IAAK,MAAM9F,KAAQ8F,EAAU,KAAAK,EAC3B,MACMC,EAASlC,EADsB,QAArBiC,EAAGnG,EAAKqG,qBAAa,IAAAF,GAAK,QAALA,EAAlBA,EAAqB,UAAE,IAAAA,OAAA,EAAvBA,EAAyBhI,KACIuG,QAAAA,EAAgB,GAC5D0B,GACFP,EAAUH,IAAI1F,EAAKsG,GAAIF,EAE3B,CAEJ,CAAE,MAAOG,GAEP7I,QAAQmB,MAAM,2CAA4C0H,EAC5D,CAEA,OAAOV,CACT,CA5BkBW,CAA2BzB,EAAUL,GAErD,OADAC,EAAMe,IAAIX,EAAUG,GACbA,CACT,CCXO,SAASuB,EACd1I,EACAlD,EACAmC,GAEA,IAAI+H,EACJ,GAAIhH,SAAAA,EAAckD,MAAdlD,MAAsBlD,GAAAA,EAAa0E,OAAQ,CAC7C,MAAMmH,EAA0B,IAAI9B,IACpC,IAAK,MAAMhD,KAAc/G,EACnB+G,EAAWmD,UACb2B,EAAwBhB,IAAI9D,EAAW5G,KAAM4G,EAAWmD,UAI5D,MAAM4B,EAAkB,IAAI/B,IAC5B,IAAK,MAAMgC,KAAY5J,QAAAA,EAAa,GAAI,CACtC,MAAM6J,GAAO7I,EAAAA,EAAAA,0BAAyB4I,EAASnK,MAAO,OACtDkK,EAAgBjB,IAAIkB,EAAS5L,KAAM6L,EACrC,CAEA,MAAMC,EAAoB,IAAIC,IAExBC,EAAQC,IACZ,GAAIH,EAAkB9B,IAAIiC,GACxB,OAAO,EAETH,EAAkBI,IAAID,GAEtB,MAAME,EAAqBT,EAAwBzB,IAAIgC,GACvD,GAAIE,EAEF,OADApC,EAAWoC,GACJ,EAGT,MAAMC,EAAeT,EAAgB1B,IAAIgC,GACzC,IAAK,MAAMI,KAAOD,QAAAA,EAAgB,GAChC,GAAIJ,EAAKK,GACP,OAAO,EAIX,OAAO,CAAK,EAGd,IAAK,MAAMJ,KAAWlJ,EACpB,GAAIiJ,EAAKC,GACP,KAGN,CAEA,OAAOlC,CACT,C,QC1DA,MAAM9H,EAAwB,UACxBC,EAAwB,Q,cCDvB,SAASoK,EACd7K,EACA8K,GAEA,OAAKA,SAAAA,EAAUtG,KAIX7C,MAAMC,QAAQ5B,GACTA,EAAM3B,KAAK0M,GAChBF,EAAqBE,EAAMD,KAIV,iBAAV9K,GAAgC,OAAVA,EACxBhB,OAAOgM,YACZhM,OAAOiM,QAAQjL,GAAO3B,KAAIC,IAAA,IAAE4M,EAAGC,GAAE7M,EAAA,MAAK,CACpC4M,EACAL,EAAqBM,EAAGL,GACzB,KAIgB,iBAAV9K,GDpBN,SAA4BA,GACjC,GAAqB,iBAAVA,EACT,OAAO,EAET,MAAMoL,EAAUpL,EAAMe,OACtB,OACEP,EAAsBQ,KAAKoK,IAAY3K,EAAsBO,KAAKoK,EAEtE,CCYmCC,CAAmBrL,GCc/C,SACLc,EACAgK,GAEA,GAAKA,UAAAA,EAAUtG,KACb,OAAO1D,EAGT,GADiB,IAAIgK,EAASQ,QACjBC,MAAML,GAAMpK,EAAK0K,SAASN,KAAK,CAC1C,MAAMO,EAA8B,GACpC,IAAIC,EACJ,IACEA,GAASC,EAAAA,EAAAA,aAAY7K,EAAM,CACzB8K,YAAY,EACZC,MAAO,CACLC,iBAAAA,CAAkBC,EAAMC,GACtB,GAAIlB,EAASvC,IAAIwD,EAAKxN,MAAO,KAAAD,EAC3B,MAAM2N,EAA2B,QAA1B3N,EAAG0N,EAAMA,EAAMlJ,OAAS,UAAE,IAAAxE,OAAA,EAAvBA,EAAyByN,KACnC,IAAIG,EACAD,GAAgB,aAAXA,EAAEzJ,OAAwByJ,EAAEE,UAAYF,EAAEC,YACjDA,GAAY,GAEdT,EAAaW,KAAK,CAAEvC,GAAIkC,EAAMG,aAChC,CACF,IAGN,CAAE,MAAO9J,GAEPnB,QAAQmB,MAAM,2BAA4BA,EAC5C,CACA,GAAIqJ,EAAa3I,OAAS,GAAK4I,EAAQ,CACrC,MAAM,OAAEvF,EAAM,OAAEkG,EAAM,OAAEC,GAAWZ,EAC7Ba,EAAmB,GACzB,IAAIC,EAAY,EAChB,IAAK,IAAIC,EAAI,EAAGA,EAAIhB,EAAa3I,OAAQ2J,IAAK,CAC5C,MAAM,GAAE5C,EAAE,UAAEqC,GAAcT,EAAagB,IACjC,KAAElO,EAAI,MAAEmO,EAAK,IAAEC,GAAQ9C,EAC7B0C,EAAOH,KACLC,EAAOO,UAAUJ,EAAWE,GAC5B,GAAGR,EAAY,GAAG3N,MAAW,KAAKuM,EAAStC,IAAIjK,MAEjDiO,EAAYG,CACd,CAEA,OADAJ,EAAOH,KAAKC,EAAOO,UAAUJ,IACtB,GAAGrG,IAASoG,EAAOjD,KAAK,MAAMgD,GACvC,CACF,CACA,OAAOxL,CACT,CD9DW+L,CAAiB7M,EAAO8K,GAG1B9K,EAtBEA,CAuBX,CEfA,MAAM8M,EAAuB,CAAC,WAAY,WCZpC5E,EAAQ,IAAIC,ICKlB,MAAM4E,EAAS,CACb,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAqTF,SAASC,EAAsBtI,EAAeuI,GAC5C,MAAMC,EAAMxI,EAAMyI,MAAM,GAClBC,EAASC,SAASH,EAAK,IAI7B,MAAO,QAHIE,GAAU,GAAM,QAChBA,GAAU,EAAK,QACP,IAATA,MACuBH,IACnC,CChVA,IAAIK,EAAU,EACd,MAAMC,EAAa,IAAIpF,IAEhB,SAASqF,EAAyBjR,GAIvC,OAHKgR,EAAWhF,IAAIhM,IAClBgR,EAAWtE,IAAI1M,EAAQ,gBAAgB+Q,KAElCC,EAAW/E,IAAIjM,EACxB,CAEO,SAASkR,EAAiBlP,GAC/B,OAAOA,EAAKiB,QAAQ,WAAY,OAAOD,aACzC,CCQO6I,eAAesF,EACpBC,EACAjC,EACAxO,GACkC,IAAA0Q,EAClC,IAAIhQ,EAA0B,KAC9B,MAAMiQ,EAAMnC,EAAOoC,UAAUvD,MAAMwD,GAAMA,EAAExP,OAASoP,EAAUpP,OAC9D,GAAIsP,EACFjQ,EAAQ,CACNA,MAAO,GAAG4P,EAAyBtQ,EAAQX,UAAUkR,EAAiBI,EAAItP,QAC1EV,WAAY8P,EAAU9P,iBAGxB,OAAQ8P,EAAUpP,MAChB,IAAK,OACHX,QCrCO,SAAoBU,GAAuC,IAAtC,WAAET,GAAuBS,EAC3D,MAAM0P,EAAQnQ,GAIR,WAAEsH,EAAU,OAAEwD,EAAM,QAAEvE,GAAY4J,EAElCC,EAAmBvN,EAAgByE,GAEzC,MAAO,CACLvH,MAAO,UACPC,WAAY,CACVuG,UACAe,WAAY8I,EAAiBrN,SACzBqN,EAAiB5M,SACjB8D,EACJwD,SACAuF,aAAc,SAGpB,CDiBsBC,CAAYR,GAC1B,MACF,IAAK,QACH/P,QJ5BOwK,eACbuF,EACAS,EACAlR,GACoB,IAAAmR,EACpB,MAAM,WAAExQ,GAAe8P,GACjB,WAAExI,EAAU,KAAEX,EAAI,QAAE8J,EAAO,OAAEC,EAAM,WAAEC,KAAeC,GACxD5Q,EAaIoQ,EAAmBvN,EAAgByE,GAEnCmD,EAAW0B,EACfiE,EAAiB3M,aACjB8M,EAAKhQ,YACLgQ,EAAK7N,WAGD6I,EAAYd,QACRa,EAAyBb,QAC/B7K,EAEEiR,EAAoB,IAAIvG,IAE9B,GAAIiB,SAAAA,EAAW5E,MAAQ7C,MAAMC,QAAQ0M,GACnC,IAAK,MAAMK,KAAUL,EAAS,CAC5B,GAAIK,EAAOC,QAAsC,iBAArBD,EAAOE,UACjC,SAEF,MAAM/G,EAAYsB,EAAUZ,IAAImG,EAAOE,WACvC,GAAI/G,EAAW,CACb,MAAMlK,EAAQ4F,EAA4BsE,EAAW,aACjDlK,IACFA,EAAMkR,KAAO,IAAIH,EAAOE,aACxBH,EAAkBzF,IAAI0F,EAAOE,UAAWjR,GAE5C,CACF,CAGF,MAAMmR,EAAmBpN,MAAMC,QAAQ0M,SAC7BU,QAAQC,IACZX,EAAQjQ,KAAI+J,UAAiC,IAA1B,OAAEwG,KAAWD,GAAQrQ,EACtC,GAAIsQ,EAAQ,CACV,MAAM9D,EAAW,IAAI3C,IACrB,IACE,IAAIsE,EAAI,EACRA,EAAImC,EAAOlQ,OAAOoE,QAAU2J,EAAIK,EAAqBhK,OACrD2J,IAEA3B,EAAS7B,IAAI2F,EAAOlQ,OAAO+N,GAAI,QAAQK,EAAqBL,MAG9D,MAAMyC,SACEF,QAAQC,IACZL,EAAOjR,SAASU,KAAK8Q,GACnBzB,EAAiByB,EAAOf,EAAMlR,OAGlCkS,SAASD,GAAUtE,EAAqBsE,EAAOrE,KAEjD,MAAO,IACF6D,EACHO,SAAUA,EAAS7Q,KAAK0M,GACtBA,EAAKnN,MAAMyR,WAAW,KAClB,CACEzR,MAAO,MACPD,SAAU,CAACoN,IAEbA,IAGV,CACA,MAAmC,iBAArB4D,EAAOE,WACnBH,EAAkBnG,IAAIoG,EAAOE,WAC3B,IACKF,EACHW,YAAa,IAAIX,EAAOE,cAE1BF,CAAM,KAGdL,EAEJ,MAAO,CACL1Q,MAAO,gBACPC,WAAY,CACVsH,WAAY8I,EAAiBrN,SACzBqN,EAAiB5M,SACjB8D,KACDsJ,EACHF,OAAQA,QAAAA,EAAW5M,MAAMC,QAAQ0M,GAAqB,QAAbD,EAAGC,EAAQ,UAAE,IAAAD,OAAA,EAAVA,EAAYkB,SAAM9R,EAC9D6Q,QAASS,EACTb,aAAc,QACdsB,aAAc,CACZC,EAAG,kBAEDvS,EAAQY,SACR,CACE4R,UAAU,EACVlB,aACAhK,KAAM,SAER,CACEA,KAAM,SACNgK,YAAY,IAGpB7Q,SACE+Q,EAAkBlK,KAAO,EAAI7C,MAAMgO,KAAKjB,EAAkBkB,UAAY,GAE5E,CI7FsBC,CAAalC,EAAWjC,EAAQxO,GAC9C,MACF,IAAK,eACHU,QE1BOwK,eAAkC9J,EAE/C8P,EACAlR,GACoB,IAHpB,WAAEW,GAAuBS,EAIzB,MAAM,WAAE6G,EAAU,MAAE2K,EAAK,KAAEpO,EAAI,QAAE4M,KAAYG,GAC3C5Q,EASIoQ,EAAmBvN,EAAgByE,GAEnCmD,EAAW0B,EACfiE,EAAiB3M,aACjB8M,EAAKhQ,YACLgQ,EAAK7N,WAGD6I,EAAYd,QACRa,EAAyBb,QAC/B7K,EAEEsS,EAAkB,IAAI5H,IAE5B,GAAIiB,SAAAA,EAAW5E,MAAQ7C,MAAMC,QAAQF,GACnC,IAAK,MAAMqJ,KAAQrJ,EACjB,IAAIqJ,EAAK6D,QAGL7D,EAAK3D,MAAO,CACd,MAAMU,EAAYsB,EAAUZ,IAAIuC,EAAK3D,OACrC,GAAIU,EAAW,CACb,MAAMlK,EAAQ0F,EAAoBwE,EAAWiD,EAAK3D,OAC9CxJ,IACFA,EAAMkR,KAAO,IAAI/D,EAAK3D,SACtB2I,EAAgB9G,IAAI8B,EAAK3D,MAAOxJ,GAEpC,CACF,CAIJ,MAAMoS,EAAgBrO,MAAMC,QAAQF,SAC1BsN,QAAQC,IACZvN,EAAKrD,KAAI+J,UAA+B,IAAxB,OAAEwG,KAAW7D,GAAMkF,EACjC,GAAIrB,EAAQ,CACV,MAAM9D,EAAW,IAAI3C,IACjByG,EAAOlQ,OAAOoE,OAAS,GACzBgI,EAAS7B,IAAI2F,EAAOlQ,OAAO,GAAI,QAGjC,MAAMwQ,SACEF,QAAQC,IACZL,EAAOjR,SAASU,KAAK8Q,GACnBzB,EAAiByB,EAAOf,EAAMlR,OAGlCkS,SAASD,GAAUtE,EAAqBsE,EAAOrE,KAEjD,MAAO,CACLoF,MAAOnF,EAAKmF,MACZhB,WAEJ,CAIA,OAHcnE,EAAK3D,MACf2I,EAAgBvH,IAAIuC,EAAK3D,YACzB3J,GAEA,CACEyS,MAAOnF,EAAKmF,MACZZ,YAAa,IAAIvE,EAAK3D,UAExB2D,CAAI,KAGZrJ,EAEJ,MAAO,CACL9D,MAAO,kBACPC,WAAY,IACP4Q,EACHtJ,WAAY8I,EAAiBrN,SACzBqN,EAAiB5M,SACjB8D,EAEJzD,KAAMsO,KACS,MAAX1B,EACA,CACEK,OAAQzR,EAAQY,SAAW,EAAI,EAC/BqS,gBAAiB,uCAEnB,CACExB,OAAQL,GAGdJ,aAAc,SAEhBvQ,SACEoS,EAAgBvL,KAAO,EAAI7C,MAAMgO,KAAKI,EAAgBH,UAAY,GAExE,CF/EsBQ,CAAoBzC,EAAWjC,EAAQxO,GACrD,MACF,IAAK,OACHU,QG/CO,SAAqB+P,GAClC,MAAM,WAAE9P,GAAe8P,GACjB,MAAEmC,EAAK,YAAEvL,GAAgB1G,EAG/B,MAAO,CACLD,MAAO,UACPC,WAAY,CACVqQ,aAAc,QACdmC,UAAWP,EACX/R,WAAY,OACZ8G,QAAS,gBACLN,EAAc,CAAEA,eAAgB,MAG1C,CHgCsB+L,CAAY3C,GAC1B,MACF,IAAK,YACH/P,QFjBOwK,eAA+B9J,EAE5C8P,EACAlR,GACoB,IAHpB,WAAEW,GAAuBS,EAIzB,MAAM,WACJ6G,EACAoL,WAAYC,EAAW,QACvBC,GACE5S,EAIE0S,EAAaC,EAAc,gBAAa/S,GAExC,SAAEmD,EAAQ,WAAEC,EAAU,aAAES,GAAiBZ,EAAgByE,GAEzDuL,EAAY9P,EACd,qCAAqCC,SACrCsE,EAEJ,GAAIjI,EAAQY,SAAU,CACpB,IAAI6S,EAAgBF,EACpB,MAAMnI,EAAW0B,EACf1I,EACA8M,EAAKhQ,YACLgQ,EAAK7N,WAEDqQ,EAAetI,QDtDlBF,eAA2CE,GAChD,GAAIJ,EAAMK,IAAID,GACZ,OAAOJ,EAAMM,IAAIF,GAGnB,MAAMG,EAKRL,eAA6CE,GAC3C,IAAIsI,EAAkC,GAEtC,IACE,MAAM7H,QAAmBV,EAAyBC,GAClD,GAAIS,EAAY,CACd,MAAMJ,EAAS,CAAC,gBAAgBW,KAAK,MAE7BsH,aAAcC,SAAiBtH,EAAAA,EAAAA,GACrC,eACAR,EACA,CACEJ,WAIAhH,MAAMC,QAAQiP,IAAWA,EAAO/N,SAClC8N,EAAeC,EAEnB,CACF,CAAE,MAAO/G,GAEP7I,QAAQmB,MAAM,8CAA+C0H,EAC/D,CAEA,OAAO8G,CACT,CA/BkBE,CAA8BxI,GAE9C,OADAJ,EAAMe,IAAIX,EAAUG,GACbA,CACT,CC+CcsI,CAA4BzI,GAClC,GAEJ,GAAIsI,EAAa9N,OAAS,EAAG,CAC3B6N,EAAgB,GAChB,MAAMK,EAAgB,IAAI1G,IACpB2G,EAAY,IAAI3G,IAAImG,EAAQpS,KAAK6S,GAAMA,EAAEC,OAAOtH,MACtD,IAAK,MAAMuH,KAAUX,EAAS,CAC5B,GAAIO,EAAczI,IAAI6I,EAAOD,OAAOtH,IAClC,SAEF,MAAMwH,EAAe,IAAKD,GAC1BT,EAAcvE,KAAKiF,GACnB,MAAMC,EAAQV,EAAarG,MAAMgH,GAC/BA,EAAEC,QAAQhG,SAAS4F,EAAOD,OAAOtH,MAEnC,GAAIyH,EAAO,CACT,MAAMG,EAAkBH,EAAME,QAAQ5O,QAAQ8O,GAAMT,EAAU1I,IAAImJ,KAClE,GAAID,EAAgB3O,OAAS,EAAG,CAC9BuO,EAAaI,gBAAkBA,EAC/BJ,EAAaM,cAAgBL,EAAMhE,QACnC+D,EAAaO,WAAaN,EAAMA,MAChC,IAAK,MAAMO,KAAYJ,EACrBT,EAAcvG,IAAIoH,GAClBZ,EAAUa,OAAOD,EAErB,CACF,CACF,CACF,CAEA,IAAIE,EAAc,EAElB,MAAO,CACLnU,MAAO,MACPC,WAAY,CACVjB,MAAO,CACL+G,QAAS,OACTqO,oBAAqB,uCACrBhN,IAAK,SAGTrH,SAAUgT,EAActS,KAAK+S,IAAW,IAAAa,EAAAC,EACtC,MAAM,MAAEpC,EAAK,OAAcqB,EAAM,KAAE3M,EAAI,UAAE2N,GAAcf,EACjDgB,EAC0B,QADhBH,EACQ,QADRC,EACdd,EAAOK,uBAAe,IAAAS,OAAA,EAAtBA,EAAwBpP,cAAM,IAAAmP,EAAAA,EAAK1B,EAAa,EAAI,EAChD8B,EAAS1Q,MAAMgO,KACnB,CAAE7M,OAAQsP,IACV,CAAC/O,EAAGoJ,IAAMM,GAAQgF,EAActF,GAAKM,EAAOjK,UAE9CiP,GAAeK,EACf,MAAME,EAAuB,SAAhBnB,EAAOmB,KAAkB,GAAKnB,EAAOmB,KAC5CC,EAAQ,CACZ3U,MAAO,6BACPC,WAAY,CACV8C,KAAM+P,EACN8B,OAAQ,UACJpB,EAAOK,gBACP,CAEEgB,QAAS,8CAA8C5R,uBAAgCM,KAAKC,UAC1FgQ,EAAOK,wBAGX,CAEEiB,OAAQ,8CAA8C7R,wBAAiCM,KAAKC,UAC1F+P,EAAOtH,kBAGXuH,EAAOO,cACP,CACEgB,sBAAsB,EACtBC,OAAQ,CACN,CAACxB,EAAOO,eAAgB,CACtBkB,YAAY,KAIlB,KACJ9V,OAAiB,UAATyH,EAAmB,IAAM,IACjCsO,WAAY,WACR1B,EAAOK,iBAAmBlB,EAC1B,KACA,CACEwC,YAAa,CACXnW,MAAO,CACLoW,KAAM,WAAWX,EAAO,kBAIlCY,KAAM,CACJC,MAAO,CACLZ,OACAH,eACIf,EAAOO,cACP,KACS,eAATW,EACE,CAAEa,IAAK,EAAGC,IAAK,GACN,iBAATd,GAAoC,MAATA,EACzB,CAAEa,IAAK,EAAGC,IAAK,KACf,CAAED,IAAK,GACfE,MAAO,WAGX9C,aACA+C,UAAW,SACXC,WAAYnC,EAAOK,kBAAmBlB,GACtC8B,OAAQA,EACRmB,QAAS,CACPC,OAAQ,CACNT,KAAMX,EAAO,GACbqB,OAAQ,OACRC,UAAW,EACXC,YAAavB,EAAO,GACpBwB,WAAY,EACZC,cAAe,EACfC,cAAe,GAEjBC,UAAW,CACT,aAAc,CACZjW,WAAY,CACV,oDAAoDsU,EAAO,kCAC3D,kFACA/I,KAAK,MACP2K,UAAW,mBAAmBjH,EAAsBqF,EAAO,GAAI,OAC/DpU,aAAc,MACdiW,OAAQ,gCACRlW,eAAgB,iBAM1B,MAAO,CACLJ,MAAO,MACPC,WAAY,CACVjB,MAAO,CACLmB,WAAY,wBACZkW,UAAW,mCACXhW,aAAc,MACdC,QAAS,mBAGbP,SAAU,CACR,CACEC,MAAO,MACPC,WAAY,CACVjB,MAAO,CACL2K,SAAU,OACVC,WAAY,MACZ2M,aAAc,QAEhB5P,YAAa6M,EAAOQ,YAAc9B,GAASqB,EAAOtH,KAGtD0I,GAEH,IAGP,CAEA,OAAIhC,EACK,CACL3S,MAAO,MACPC,WAAY,CACVjB,MAAO,CACL+G,QAAS,OACTyQ,cAAe,SACfpP,IAAK,QAGTrH,SAAU,CACR,CACEC,MAAO,WACPuH,WAAY,sEAAsEtE,QAAiBM,KAAKC,UAAUmP,SAClH5S,SAAU,CACR,CACEC,MAAO,MACPC,WAAY,CACV0G,YAAa,yBACb3H,MAAO,CACL4K,WAAY,SAIlB,CACE5J,MAAO,MACPC,WAAY,CACVjB,MAAO,CACL+G,QAAS,OACTqO,oBAAqB,wCACrBhN,IAAK,OACLmP,aAAc,QAGlBxW,SAAU8S,EAAQpS,KAAI,CAAC+S,EAAQ3E,KAC7B,MAAM,MAAEqD,EAAK,OAAcqB,EAAM,UAAEgB,GAAcf,EACjD,MAAO,CACLxT,MAAO,iCACPC,WAAY,CACV2G,KAAM,QACN0L,MAAOJ,GAASqB,EAAOtH,GACvBlJ,KAAM,kBACN6R,OAAQ,OACRE,OAAQvB,EAAOtH,GACfwK,UAAWtH,EAAON,EAAIM,EAAOjK,QAC7BwR,UAAU,KACU,eAAhBnD,EAAOmB,KACP,CAAEa,IAAK,EAAGC,IAAK,GACC,iBAAhBjC,EAAOmB,MAA2C,MAAhBnB,EAAOmB,KACvC,CAAEa,IAAK,EAAGC,IAAK,KACf,CAAED,IAAK,GACbnT,MAAO,wDAAwDmB,KAAKC,UAClE,CACE+P,SACAgB,qBAIP,SASR,CACLvU,MAAO,MACPC,WAAY,CACVjB,MAAO,CACL+G,QAAS,OACTqO,oBAAqB,wCACrBhN,IAAK,SAGTrH,SAAU8S,EAAQpS,KAAI,CAAC+S,EAAQ3E,KAC7B,MAAM,MAAEqD,EAAK,OAAcqB,EAAM,UAAEgB,GAAcf,EACjD,MAAO,CACLxT,MAAO,iCACPC,WAAY,CACV2G,KAAM,QACN0L,MAAOJ,GAASqB,EAAOtH,GACvBlJ,KAAM+P,EACN8B,OAAQ,OACRE,OAAQvB,EAAOtH,GACfwK,UAAWtH,EAAON,EAAIM,EAAOjK,QAC7BwR,UAAU,KACU,eAAhBnD,EAAOmB,KACP,CAAEa,IAAK,EAAGC,IAAK,GACC,iBAAhBjC,EAAOmB,MAA2C,MAAhBnB,EAAOmB,KACvC,CAAEa,IAAK,EAAGC,IAAK,KACf,CAAED,IAAK,GACbnT,MAAO,8CACLY,EACI,iCAAiCC,MACjCM,KAAKC,UAAU+D,QAAAA,EAAc,WAC7BhE,KAAKC,UAAU,CACnB+P,SACAgB,qBAGL,IAGP,CExRsBoC,CAAiB5G,EAAWjC,EAAQxO,GAClD,MACF,IAAK,SACHU,QIrDO,SAAuB+P,GACpC,MAAM,WAAE9P,GAAe8P,EAIvB,MAAO,CACL/P,MAAO,YACPC,WAAY,IALAA,EAOVqQ,aAAc,SAGpB,CJyCsBsG,CAAc7G,GAC5B,MACF,IAAK,OACH/P,QKxDO,SAAqB+P,GAClC,MAAM,WAAE9P,GAAe8P,GACjB,OAAEiC,GAAY/R,QAAAA,EAAc,CAAC,EAEnC,MAAO,CACLD,MAAO,UACPC,WAAY,CACV+R,OAAQA,QAAAA,EAAU,CAAC,EACnB1B,aAAc,SAGpB,CL6CsBuG,CAAY9G,GAC1B,MACF,IAAK,UACH/P,OM3DC,CACLA,MAAO,iBACPC,WAAY,CACVmH,IAAK,QACLD,WAAY,WNwDV,MACF,IAAK,QACHnH,QO9DO,SAAsB+P,GACnC,MAAM,WAAE9P,GAAe8P,GACjB,MAAEmC,EAAK,YAAE4E,EAAW,WAAEC,KAAelG,GACzC5Q,EAGF,MAAO,CACLD,MAAO,WACPpB,QAAQ,EACRqB,WAAY,CACVqQ,aAAc,QACd0G,WAAY9E,EACZ4E,YAAaA,EACbC,WAAYA,EACZE,UAAU,KACPpG,GAGT,CP4CsBqG,CAAanH,GAC3B,MACF,IAAK,YACH/P,QQlEO,SAAqB+P,GAClC,MAAM,WAAE9P,GAAe8P,EAIvB,MAAO,CACL/P,MAAO,OACPC,WAAY,IALAA,GAShB,CRuDsBkX,CAAYpH,GAC1B,MACF,IAAK,OACH/P,QSpEO,SAAqB+P,GAClC,MAAM,WAAE9P,GAAe8P,EAIvB,MAAO,CACL/P,MAAO,UACPC,WAAY,IALAA,EAOVqQ,aAAc,SAGpB,CTwDsB8G,CAAYrH,GAC1B,MACF,IAAK,SACH/P,QUxEO,SAAuB+P,GACpC,MAAM,WAAE9P,GAAe8P,GACjB,MAAE/Q,KAAU6R,GAAc5Q,EAKhC,MAAO,CACLD,MAAO,MACPC,WAAY,CACVjB,MAAO,CACLmB,WAAY,oBACZ2G,MAAO,oBACPuQ,WACE,2EACFC,UAAW,MACXC,UAAW,OACXC,WAAY,MACZC,YAAa,SACbC,UAAW,SACXC,WAAY,MACZC,QAAS,IACTC,QAAS,OACTlO,SAAU,OAEVrJ,QAAS,MAETwX,OAAQ,IACRC,UAAW,OACX1X,aAAc,SACXrB,MAEF6R,GAGT,CVqCsBmH,CAAcjI,GAC5B,MACF,IAAK,MACH/P,QW1EO,SAAoB+P,GACjC,MAAM,WAAE9P,GAAe8P,EAIvB,MAAO,CACL/P,MAAO,SACPC,WAAY,IALAA,EAOVqQ,aAAc,SAGpB,CX8DsB2H,CAAWlI,GACzB,MACF,IAAK,SACH/P,QY7EO,SAAuB+P,GACpC,MAAM,WAAE9P,GAAe8P,EAEvB,MAAO,CACL/P,MAAO,YACPC,WAAY,IAHAA,EAKVqQ,aAAc,SAGpB,CZmEsB4H,CAAcnI,GAC5B,MACF,IAAK,cACH/P,QahFO,SAA4B+P,GACzC,MAAM,WAAE9P,GAAe8P,EAEvB,MAAO,CACL/P,MAAO,kBACPC,WAAY,IAHAA,EAKVqQ,aAAc,SAGpB,CbsEsB6H,CAAmBpI,GACjC,MACF,IAAK,SACL,IAAK,QACL,IAAK,cACL,IAAK,WACL,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,SACL,IAAK,aACL,IAAK,aACH/P,Qc7FO,SACb+P,EACAnL,GAEA,MAAM,WAAE3E,GAAe8P,EAEvB,IAAI/P,EAAQ4E,EACRwL,EAAiC,IAChCnQ,EACHqQ,aAAc,SAGhB,OAAQtQ,GACN,IAAK,YACHoQ,EAAQ,IACHA,EACHjN,MAAM,GAER,MACF,IAAK,kBACHnD,EAAQ,WACRoQ,EAAQ,CACNxL,KAAM,YACHwL,GAKT,MAAO,CACLpQ,QACAC,WAAYmQ,EAEhB,Cd6DsBgI,CACZrI,GA2DoBpP,EA1DCoP,EAAUpP,KA2DhCA,EAAKiN,SAAS,KACjBjN,EACA,KAAKA,EAAKiB,QAAQ,WAAY,OAAOD,kBA3DnC,MACF,IAAK,UACH3B,QenGO,SAAwB+P,GACrC,MAAM,WAAE9P,GAAe8P,GACjB,WAAExI,GAAetH,EAGvB,MAAO,CACLD,MAAO,WACPuH,aAEJ,Cf0FsB8Q,CAAetI,GAC7B,MACF,IAAK,KACH/P,QgBtGO,SAAmB+P,GAChC,MAAM,WAAE9P,GAAe8P,GACjB,WAAExI,GAAetH,EAGvB,MAAO,CACLD,MAAO,MACPuH,aAEJ,ChB6FsB+Q,CAAUvI,GACxB,MACF,QAEE1M,QAAQmB,MAAM,yBAA0BuL,EAAUpP,MA+C1D,IAA8BA,EAtCD4X,EAAAC,EAAAC,EAAAC,EAL3B,OAAK1Y,GAKD+P,EAAUrL,cACI,QAAhB8T,GAAAD,EAAAvY,GAAMC,kBAAU,IAAAuY,IAAhBD,EAAMtY,WAAe,CAAC,GACE,QAAxByY,GAAAD,EAAAzY,EAAMC,YAAWlB,eAAO,IAAA2Z,IAAxBD,EAAiB1Z,QAAY,CAAC,GAC7BiB,EAAMC,WAAWlB,QAAmC2F,YACnDqL,EAAUrL,aAGVqL,EAAUmB,OACZlR,EAAMkR,KAAOnB,EAAUmB,MAGzBlR,EAAM2Y,Od7HD,SAAuB5I,EAAsBzQ,GAClD,MAAMqZ,EAAyB,CAAC,EAChC,IAAK,MAAOC,EAAO/U,KAAYzC,OAAOiM,QAAwB,QAAjBwL,EAAC9I,EAAU4I,cAAM,IAAAE,EAAAA,EAAI,CAAC,GAAI,KAAAA,EACrE,OAAQ9I,EAAUpP,MAChB,IAAK,QACH,OAAQiY,GACN,IAAK,SAAU,CACb,MAAM1U,EAASN,EAAqBC,EAASvE,GACzC4E,IACFyU,EAAO,iBAAmBzU,GAE5B,KACF,CACA,IAAK,OAAQ,CACX,MAAMA,EAASN,EAAqBC,EAASvE,GACzC4E,IACFyU,EAAO,eAAiBzU,GAE1B,KACF,CACA,IAAK,WAAY,CACf,MAAMA,EAASN,EAAqBC,EAASvE,GACzC4E,IACFyU,EAAO,eAAiBzU,GAE1B,KACF,EAEF,MACF,IAAK,SACH,GAAc,UAAV0U,EAAmB,CACrB,MAAM1U,EAASN,EAAqBC,EAASvE,GACzC4E,IACFyU,EAAOG,MAAQ5U,EAEnB,CACA,MACF,IAAK,SACH,GAAc,WAAV0U,EAAoB,CACtB,MAAM1U,EAASN,EAAqBC,EAASvE,GACzC4E,IACFyU,EAAOI,OAAS7U,EAEpB,CACA,MACF,IAAK,SACH,GAAc,WAAV0U,EAAoB,CACtB,MAAM1U,EAASN,EAAqBC,EAASvE,GACzC4E,IACFyU,EAAO,aAAezU,EAE1B,CACA,MACF,QAAS,CACP,MAAMA,EAASN,EAAqBC,EAASvE,GACzC4E,IACFyU,EAAOC,GAAS1U,EAEpB,EAEJ,CACA,OAAO9C,OAAOsM,KAAKiL,GAAQzT,OAAS,EAAIyT,OAAS9Y,CACnD,Cc+DiBmZ,CAAcjJ,EAAWzQ,GAElB,QAAtB0Q,EAAID,EAAUhQ,gBAAQ,IAAAiQ,GAAlBA,EAAoB9K,SACtBlF,EAAMD,gBACEqR,QAAQC,IACZtB,EAAUhQ,SAASU,KAAK8Q,GACtBzB,EAAiByB,EAAOzD,EAAQxO,OAGpC2Z,QAGoB,SAAnBlJ,EAAUpP,MAAsC,UAAnBoP,EAAUpP,OACxCX,EAAMD,SAASmF,OAAS,IAExBlF,EAAMD,SAAW,CACf,CACEC,MAAO,oBACPD,SAAUC,EAAMD,aAMjBC,GAvCE,EAwCX,CiBhJA,MAAMkZ,EAAmC,CACvC,CACEvY,KAAM,0BACNyB,MA6DJ,WAME,MAAM+W,EAAkB,GAAG,QAAAC,EAAAC,UAAAnU,OALxBoU,EAAK,IAAAvV,MAAAqV,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAALD,EAAKC,GAAAF,UAAAE,GAMR,IAAK,MAAMpM,KAAQmM,EACC,SAAdnM,EAAKvI,KACPuU,EAAM3K,KAAKrB,EAAK7D,KAAKnG,QAErBgW,EAAM3K,KAAKgL,EAAkBrM,EAAK/K,QAGtC,OAAO+W,EAAMzN,KAAK,GACpB,GA1EE,CACE/K,KAAM,oCACNyB,MAwFJ,SACE0B,EAAuCuO,GAKvC,IAAAoH,EAAA,IAJA,OACElG,EAAM,UACNgB,GAC6DlC,EAE/D,MAAMjQ,EAAQ0B,SAAc,QAAV2V,EAAJ3V,EAAM4V,gBAAQ,IAAAD,GAAqC,QAArCA,EAAdA,EAAAlY,KAAAuC,GAAkBqJ,GAA4B,MAAnBA,EAAKoG,EAAOtH,aAAY,IAAAwN,OAAA,EAAnDA,EACZlG,EAAOtH,IAEHyI,EAAuB,SAAhBnB,EAAOmB,KAAkB,GAAKnB,EAAOmB,KAClD,OAAOiF,EAAAA,MAAMC,WAAWxX,EAAOsS,EAAMH,GAAW7I,KAAK,GACvD,GAlGE,CACE/K,KAAM,2BACNyB,MAkGJ,SAAkCW,GAChC,OAAIgB,MAAMC,QAAQjB,GACTA,EAEFA,aAAI,EAAJA,EAAMe,IACf,GArGE,CACEnD,KAAM,+BACNyB,MAqGJ,SAAyB0B,EAA6B6O,GACpD,IAAK7O,IAASC,MAAMC,QAAQF,IAAyB,IAAhBA,EAAKoB,OACxC,MAAO,GAET,MAAM2U,EAAU,IAAItP,IAIpB,IAAK,MAAM4C,KAAQrJ,EAAM,CACvB,MAAM6N,EAAMxE,EAAKwF,GACjB,IAAImH,EAAcD,EAAQjP,IAAI+G,GACzBmI,GACHD,EAAQxO,IAAIsG,EAAMmI,EAAc,CAAEpG,MAAO/B,EAAK7N,KAAM,KAEtDgW,EAAYhW,KAAK0K,KAAKrB,EACxB,CACA,OAAOpJ,MAAMgO,KAAK8H,EAAQ7H,SAC5B,GApHE,CACErR,KAAM,qCACNyB,MAoHJ,SACE2X,EAGAC,GAEA,OAAOA,EAAYvZ,KAChBwZ,IAAU,IAAAC,EAAAC,EAAA,OAEc,QAFdD,EACTH,SAAgE,QAAjDI,EAAfJ,EAAiBpN,MAAMQ,GAASA,EAAKiN,cAAgBH,WAAW,IAAAE,OAAA,EAAhEA,EACIE,2BAAmB,IAAAH,EAAAA,EAAID,CAAU,GAE3C,IA3HOzP,eAAe8P,EACpBxM,EACAxO,GACwB,IAAAib,EAAAC,EACxB,MAAM5N,EAAyB,IAC1BrM,EAAqC,QAAnBga,EAACzM,EAAOtN,mBAAW,IAAA+Z,EAAAA,EAAI,GAAIjb,MAC7CoD,EAAiC,QAAjB8X,EAAC1M,EAAOnL,iBAAS,IAAA6X,EAAAA,EAAI,OACpClb,EAAQmb,aACRrZ,OAAOiM,QAAQ/N,EAAQmb,cAAcha,KAAIC,IAAA,IAAEC,EAAMyB,GAAM1B,EAAA,MAAM,CAC3DC,OACAyB,QACD,IACD,MACD8W,GAGCnZ,SACEqR,QAAQC,IACZvD,EAAO4M,WAAWja,KAAKsP,GACrBD,EAAiBC,EAAWjC,EAAQxO,OAGxC2Z,OAEI0B,EAAU7M,EAAO4M,WAAWE,OAAO7K,GACvC,CAAC,OAAQ,eAAgB,UAAUnC,SAASmC,EAAUpP,QAGlDuP,QlBxCD,SACLA,EACApC,EACAxO,GAEA,MAAMub,EAAgBjL,EAAyBtQ,EAAQX,QACvD,OAAOyS,QAAQC,IACbnB,EAAUzP,KAAI+J,UAAe,IAAAsQ,EAAAC,EAC3B,MAAMhb,SACEqR,QAAQC,IACZpB,EAAIyK,WAAWja,KAAKsP,GAClBD,EAAiBC,EAAWjC,EAAQxO,OAGxC2Z,OACF,MAAO,CACLtY,KAAM,GAAGka,IAAgBhL,EAAiBI,EAAItP,QAC9Cqa,OAAQjb,EACRkb,MAAO,IACF1a,EAAkC,QAAhBua,EAAC7K,EAAIzP,mBAAW,IAAAsa,EAAAA,EAAI,GAAIxb,MAC1CoD,EAA8B,QAAdqY,EAAC9K,EAAItN,iBAAS,IAAAoY,EAAAA,EAAI,KAExC,IAGP,CkBe0BG,CAAiBpN,EAAOoC,UAAWpC,EAAQxO,GAEnE,MAAO,CACLU,MAAO,CACLA,MAAO,oBACPD,SAAU4a,EAAU,CAAC7a,EAAQC,EAAUT,IAAYS,GAErD6M,UACAuO,UAAWrN,EAAOqN,UAClBjL,YAEJ,CAmBA,SAASsJ,EAAkBpX,GACzB,GAAI2B,MAAMC,QAAQ5B,GAChB,OAAOA,EAAM3B,IAAI+Y,GAAmB9N,KAAK,IAE3C,MAAM9G,SAAcxC,EACpB,GAAa,WAATwC,GAA8B,WAATA,EACvB,OAAOW,OAAOnD,GAEhB,GAAa,WAATwC,GAA+B,OAAVxC,EACvB,MAAM,IAAIgZ,MAAM,iCAElB,MAAO,EACT,C,gDC/FA,IAAIC,EAEAC,EAEG,SAASC,IAOd,OANKF,IACHA,EAAsB,WACpB,MAAMG,GAASC,EAAAA,EAAAA,KAQdH,IACHA,EAAS,IAAII,OAAO,IAAIC,IAAI,oBAEvBL,IAVH,aAAa,IAAIE,CAClB,EAHqB,IAKjBH,CACT,C,qiDCjBIO,E,MAA0B,GAA4B,KAE1DA,EAAwBpN,KAAK,CAACqN,EAAO5P,GAAI,wJAC6C,KAEtF2P,EAAwBhc,OAAS,CAChC,UAAa,sBACb,OAAU,mBACV,QAAW,qBAEZ,S","sources":["webpack:///./src/tsx-playground/createPortal.ts","webpack:///./src/tsx-playground/styles.module.css?e933","webpack:///../../src/withBox.ts","webpack:///../../src/convertDataSources.ts","webpack:///../../src/convertVariables.ts","webpack:///../../src/expressions.ts","webpack:///../../src/convertEvents.ts","webpack:///../../../src/raw-data-generate/getMemberAccessor.ts","webpack:///../../../src/raw-data-generate/convert.ts","webpack:///../../src/findNearestCandidate.ts","webpack:///../../src/getModelObjectInstanceId.ts","webpack:///../../src/getPreGeneratedAttrViews.ts","webpack:///../../src/findObjectIdByUsedDataContexts.ts","webpack:///../../src/utils.ts","webpack:///../../src/deepReplaceVariables.ts","webpack:///../../../src/tsx-constructors/replaceVariables.ts","webpack:///../../src/convertTable.ts","webpack:///../../src/getPreGeneratedMetricGroups.ts","webpack:///../../src/convertDashboard.ts","webpack:///../../src/convertTemplates.ts","webpack:///../../src/convertComponent.ts","webpack:///../../src/convertList.ts","webpack:///../../src/convertDescriptions.ts","webpack:///../../src/convertCard.ts","webpack:///../../src/convertButton.ts","webpack:///../../src/convertForm.ts","webpack:///../../src/convertToolbar.ts","webpack:///../../src/convertModal.ts","webpack:///../../src/convertText.ts","webpack:///../../src/convertLink.ts","webpack:///../../src/convertOutput.ts","webpack:///../../src/convertTag.ts","webpack:///../../src/convertAvatar.ts","webpack:///../../src/convertAvatarGroup.ts","webpack:///../../src/convertFormItem.ts","webpack:///../../src/convertForEach.ts","webpack:///../../src/convertIf.ts","webpack:///../../src/convertTsx.ts","webpack:///./src/tsx-playground/workers/tsxParser.ts","webpack:///./src/tsx-playground/styles.module.css"],"sourcesContent":["export function createPortal(rootId: string) {\n const portal = document.createElement(\"div\");\n portal.dataset.rootId = rootId;\n portal.style.position = \"absolute\";\n portal.style.width = portal.style.height = \"0\";\n document.body.append(portal);\n return portal;\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { BrickConf } from \"@next-core/types\";\nimport type { ConvertOptions } from \"./interfaces.js\";\n\nexport function withBox(\n children: BrickConf[] | undefined,\n options: ConvertOptions\n): BrickConf {\n return {\n brick: \"div\",\n properties: {\n style: options.expanded\n ? {\n background: \"rgba(255, 255, 255, 0.9)\",\n backdropFilter: \"blur(10px)\",\n borderRadius: \"16px\",\n padding: \"24px\",\n }\n : {\n background: \"var(--elevo-component-background)\",\n backdropFilter: \"var(--elevo-component-backdrop-filter)\",\n borderRadius: \"var(--elevo-border-radius)\",\n padding: \"16px\",\n },\n },\n children,\n };\n}\n","import type { ContextConf } from \"@next-core/types\";\nimport { isObject } from \"@next-core/utils/general\";\nimport type { DataSource } from \"@next-shared/tsx-parser\";\nimport type { ConvertOptions } from \"./interfaces.js\";\n\nexport function convertDataSources(\n dataSources: DataSource[],\n options: ConvertOptions\n): ContextConf[] {\n return dataSources.map(\n ({\n name,\n http,\n api,\n params,\n entity,\n transform,\n rejectTransform,\n config,\n }) => {\n const hasEnabled =\n config && Object.prototype.hasOwnProperty.call(config, \"enabled\");\n\n return {\n name: name,\n resolve: {\n ...(http\n ? {\n useProvider: \"basic.http-request\",\n args: [api, params],\n }\n : typeof entity === \"string\"\n ? {\n useProvider: `ai-portal.${api.toLowerCase().replace(\".\", \"-sdk-\")}`,\n args: [options.workspace, entity, params],\n }\n : {\n useProvider: `${api}:*`,\n params: params as Record<string, unknown> | undefined,\n // TODO: remove the temporary workaround below\n ...(api === \"easyops.api.data_exchange.olap@Query\" &&\n isObject(params)\n ? {\n params: {\n ...params,\n translate: [\"#showKey\"],\n limit: undefined,\n limitBy: undefined,\n order: undefined,\n displayName: true,\n },\n }\n : null),\n }),\n ...(transform ? { transform: { value: transform } } : null),\n ...(rejectTransform\n ? { onReject: { transform: { value: rejectTransform } } }\n : null),\n ...(hasEnabled\n ? {\n if: config.enabled as string | boolean,\n }\n : null),\n },\n track: true,\n ...(hasEnabled\n ? {\n value: config.fallback,\n }\n : null),\n };\n }\n );\n}\n","import type { ContextConf } from \"@next-core/types\";\nimport type { Variable } from \"@next-shared/tsx-parser\";\n\nexport function convertVariables(variables: Variable[]): ContextConf[] {\n return variables.map(({ name, value }) => ({\n name,\n value,\n track: true,\n }));\n}\n","import { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\n\nconst EXPRESSION_PREFIX_REG = /^<%=?\\s/;\nconst EXPRESSION_SUFFIX_REG = /\\s%>$/;\n\n/**\n * @param value The trimmed string content\n * @returns if the value is a valid expression\n */\nfunction isExpression(value: string) {\n return EXPRESSION_PREFIX_REG.test(value) && EXPRESSION_SUFFIX_REG.test(value);\n}\n\nexport function parseDataSource(data: string | object):\n | {\n isString: false;\n embedded?: undefined;\n expression?: undefined;\n usedContexts?: undefined;\n }\n | {\n isString: true;\n embedded: string;\n expression: string;\n usedContexts: Set<string>;\n } {\n if (typeof data !== \"string\") {\n return {\n isString: false,\n };\n }\n\n let expression: string;\n const expr = data.trim();\n if (isExpression(expr)) {\n expression = expr\n .replace(EXPRESSION_PREFIX_REG, \"\")\n .replace(EXPRESSION_SUFFIX_REG, \"\")\n .trim();\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"Invalid expression:\", JSON.stringify(data));\n expression = \"null\";\n }\n\n const usedContexts = strictCollectMemberUsage(data, \"CTX\");\n\n return {\n isString: true,\n embedded: data,\n expression,\n usedContexts,\n };\n}\n","import type { BrickEventHandler, BrickEventsMap } from \"@next-core/types\";\nimport type { Component, EventHandler } from \"@next-shared/tsx-parser\";\nimport type { ConvertOptions } from \"./interfaces.js\";\n\nexport function convertEvents(component: Component, options: ConvertOptions) {\n const events: BrickEventsMap = {};\n for (const [event, handler] of Object.entries(component.events ?? {})) {\n switch (component.name) {\n case \"Table\":\n switch (event) {\n case \"select\": {\n const action = convertEventHandlers(handler, options);\n if (action) {\n events[\"row.select.v2\"] = action;\n }\n break;\n }\n case \"sort\": {\n const action = convertEventHandlers(handler, options);\n if (action) {\n events[\"sort.change\"] = action;\n }\n break;\n }\n case \"paginate\": {\n const action = convertEventHandlers(handler, options);\n if (action) {\n events[\"page.change\"] = action;\n }\n break;\n }\n }\n break;\n case \"Button\":\n if (event === \"click\") {\n const action = convertEventHandlers(handler, options);\n if (action) {\n events.click = action;\n }\n }\n break;\n case \"Search\":\n if (event === \"search\") {\n const action = convertEventHandlers(handler, options);\n if (action) {\n events.search = action;\n }\n }\n break;\n case \"Select\":\n if (event === \"change\") {\n const action = convertEventHandlers(handler, options);\n if (action) {\n events[\"change.v2\"] = action;\n }\n }\n break;\n default: {\n const action = convertEventHandlers(handler, options);\n if (action) {\n events[event] = action;\n }\n }\n }\n }\n return Object.keys(events).length > 0 ? events : undefined;\n}\n\nfunction convertEventHandlers(\n handler: EventHandler | EventHandler[],\n options: ConvertOptions\n): BrickEventHandler[] | undefined {\n const list = (Array.isArray(handler) ? handler : [handler])\n .map((hdl) => convertEventHandler(hdl, options))\n .filter(Boolean) as BrickEventHandler[];\n return list.length > 0 ? list : undefined;\n}\n\nfunction convertEventHandler(\n handler: EventHandler,\n options: ConvertOptions\n): BrickEventHandler | undefined {\n switch (handler?.action) {\n case \"update_variable\":\n return {\n action:\n handler.payload.scope === \"template\"\n ? \"state.update\"\n : \"context.replace\",\n args: [handler.payload.name, handler.payload.value],\n };\n case \"refresh_data_source\":\n return {\n action:\n handler.payload.scope === \"template\"\n ? \"state.refresh\"\n : \"context.refresh\",\n args: [handler.payload.name],\n };\n case \"call_api\": {\n const { api, http, entity, params } = handler.payload;\n\n const success = handler.callback?.success\n ? convertEventHandlers(\n handler.callback.success as EventHandler | EventHandler[],\n options\n )\n : undefined;\n\n return {\n ...(http\n ? {\n useProvider: \"basic.http-request\",\n args: [api, params],\n }\n : typeof entity === \"string\"\n ? {\n useProvider: `ai-portal.${api.toLowerCase().replace(\".\", \"-sdk-\")}`,\n args: [options.workspace, entity, params],\n }\n : {\n useProvider: `${api}:*`,\n params,\n }),\n callback: {\n ...(success && { success }),\n error: {\n action: \"handleHttpError\",\n },\n },\n };\n }\n case \"call_component\":\n return {\n target: `[data-root-id=\"${options.rootId}\"] [data-component-id=\"${handler.payload.componentId}\"]`,\n method: handler.payload.method,\n args: handler.payload.args,\n };\n case \"show_message\":\n return {\n action: `message.${handler.payload.type}` as \"message.info\",\n args: [handler.payload.content],\n };\n case \"dispatch_event\":\n return {\n action: \"tpl.dispatchEvent\",\n args: [handler.payload.type, { detail: handler.payload.detail }],\n };\n }\n}\n","const VALID_IDENTIFIER_REG = /^[$_\\p{ID_Start}][$\\p{ID_Continue}]*$/u;\n\nexport function getMemberAccessor(property: unknown): string {\n const propertyStr = String(property);\n return VALID_IDENTIFIER_REG.test(propertyStr)\n ? `.${propertyStr}`\n : `[${JSON.stringify(propertyStr)}]`;\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport _ from \"lodash\";\nimport type { VisualConfig, VisualStyle } from \"./raw-data-interfaces.js\";\nimport { getMemberAccessor } from \"./getMemberAccessor.js\";\n\nconst { pick } = _;\n\nexport interface ConvertBrickOptions {\n ignoreStyle?: boolean;\n}\n\nexport function convertToStoryboard(\n config: VisualConfig,\n attr: string,\n options?: ConvertBrickOptions\n): BrickConf | null {\n return lowLevelConvertToStoryboard(config, getMemberAccessor(attr), options);\n}\n\nexport function lowLevelConvertToStoryboard(\n config: VisualConfig,\n attrAccessor: string,\n options?: ConvertBrickOptions\n): BrickConf | null {\n let brickItem: BrickConf;\n\n switch (config.display) {\n case \"link\":\n case \"text\": {\n brickItem = getPlainBrick(config, attrAccessor, options);\n if (config.type === \"struct-list\" && !config.countOnly) {\n brickItem = {\n brick: \"eo-tag\",\n // errorBoundary: true,\n children: [brickItem],\n };\n } else if (config.display === \"link\") {\n brickItem = {\n brick: \"eo-link\",\n // errorBoundary: true,\n children: [brickItem],\n };\n }\n break;\n }\n case \"tag\": {\n const colorSuffix =\n config.style?.variant === \"background\" ? \"-inverse\" : \"\";\n const valueAccessor = getValueAccessor(config, attrAccessor);\n brickItem = {\n brick: \"eo-tag\",\n // errorBoundary: true,\n properties: {\n textContent: `<% ${valueAccessor} %>`,\n size: getTagSize(config.style?.size),\n color: config.style?.background\n ? `${config.style.background}${colorSuffix}`\n : config.style?.palette\n ? `<%\n \\`\\${new Map(Object.entries(${JSON.stringify(\n config.style.palette,\n null,\n 2\n ).replaceAll(\"\\n\", \"\\n \")})).get(${valueAccessor}) ?? \"gray\"}${colorSuffix}\\`\n%>`\n : `gray${colorSuffix}`,\n outline: config.style?.variant === \"outline\",\n },\n };\n break;\n }\n case \"icon\": {\n brickItem = getIconBrick(config, attrAccessor, options);\n break;\n }\n case \"icon+text\": {\n const iconBrick = getIconBrick(config, attrAccessor, options);\n const textBrick = getPlainBrick(config, attrAccessor, options);\n brickItem = {\n brick: \"span\",\n // errorBoundary: true,\n properties: {\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"0.5em\",\n },\n },\n children: [iconBrick, textBrick],\n };\n break;\n }\n default:\n return null;\n }\n\n if (config.type !== \"struct-list\" || config.countOnly) {\n return brickItem;\n }\n\n const maxItems = Number(config.maxItems) || 3;\n return {\n brick: \"span\",\n // errorBoundary: true,\n properties: {\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"0.5em\",\n },\n },\n children: [\n {\n brick: \":forEach\",\n dataSource: `<% DATA${attrAccessor}.slice(0, ${maxItems}) %>`,\n children: [brickItem],\n },\n {\n brick: \"eo-link\",\n if: `<% DATA${attrAccessor}.length > ${maxItems} %>`,\n properties: {\n textContent: `<% \\`+ \\${DATA${attrAccessor}.length - ${maxItems}}\\` %>`,\n },\n },\n ],\n };\n}\n\nfunction getIconBrick(\n config: VisualConfig,\n attrAccessor: string,\n options?: ConvertBrickOptions\n): BrickConf {\n if (config.type === \"boolean\") {\n const valueAccessor = getValueAccessor(config, attrAccessor);\n const trueIcon = config.true?.icon ?? \"check\";\n const falseIcon = config.false?.icon ?? \"xmark\";\n const trueStyle = getPlainStyle(config.true?.style, options);\n const falseStyle = getPlainStyle(config.false?.style, options);\n return {\n brick: \"eo-icon\",\n // errorBoundary: true,\n properties: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: `<% ${valueAccessor} ? ${JSON.stringify(trueIcon)} : ${JSON.stringify(falseIcon)} %>`,\n style: `<% ${valueAccessor} ? ${JSON.stringify(trueStyle)} : ${JSON.stringify(falseStyle)} %>`,\n },\n };\n }\n\n if (config.type === \"json\") {\n const valueAccessor = getValueAccessor(config, attrAccessor);\n return {\n brick: \"eo-icon\",\n // errorBoundary: true,\n properties: {\n lib: `<% ${valueAccessor}?.lib %>`,\n prefix: `<% ${valueAccessor}?.prefix %>`,\n category: `<% ${valueAccessor}?.category %>`,\n theme: `<% ${valueAccessor}?.theme %>`,\n icon: `<% ${valueAccessor}?.icon %>`,\n style: getPlainStyle(config.style, options),\n },\n };\n }\n\n return {\n brick: \"eo-icon\",\n // errorBoundary: true,\n properties: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: config.icon,\n style: getPlainStyle(config.style, options),\n },\n };\n}\n\nfunction getPlainBrick(\n config: VisualConfig,\n attrAccessor: string,\n options?: ConvertBrickOptions\n): BrickConf {\n if (config.type === \"struct-list\" && config.countOnly) {\n return {\n brick: \"span\",\n properties: {\n textContent: `<% \\`\\${DATA${attrAccessor}.length}\\` %>`,\n },\n };\n }\n\n const valueAccessor = getValueAccessor(config, attrAccessor);\n const value = `<% ${valueAccessor} %>`;\n switch (config.formatter?.type) {\n case \"number\":\n return {\n brick: \"eo-formatter-number\",\n // errorBoundary: true,\n properties: {\n value,\n type: config.formatter.format,\n ...pick(config.formatter, [\n \"currency\",\n // \"unit\",\n \"originalUnit\",\n \"decimals\",\n \"thousandsSeparator\",\n ]),\n style: getPlainStyle(config.style, options),\n },\n };\n case \"date\":\n case \"date-time\":\n return {\n brick: \"eo-humanize-time\",\n // errorBoundary: true,\n properties: {\n value,\n type: config.type === \"date\" ? \"date\" : undefined,\n formatter: config.formatter.format,\n style: getPlainStyle(config.style, options),\n },\n };\n case \"cost-time\":\n return {\n brick: \"eo-humanize-time\",\n // errorBoundary: true,\n properties: {\n value,\n isCostTime: true,\n style: getPlainStyle(config.style, options),\n },\n };\n default: {\n let textContent: string | undefined;\n let style: Record<string, any> | string | undefined;\n let tag = \"span\";\n if (config.type === \"boolean\") {\n const trueContent = config.true?.text ?? \"Yes\";\n const falseContent = config.false?.text ?? \"No\";\n const trueStyle = getPlainStyle(config.true?.style, options);\n const falseStyle = getPlainStyle(config.false?.style, options);\n textContent = `<% ${valueAccessor} ? ${JSON.stringify(trueContent)} : ${JSON.stringify(falseContent)} %>`;\n style = `<% ${valueAccessor} ? ${JSON.stringify(trueStyle)} : ${JSON.stringify(falseStyle)} %>`;\n } else {\n style = getPlainStyle(config.style, options);\n if (config.type === \"json\") {\n if (config.display === \"link\") {\n textContent = `<% I18N(\"VIEW\", \"查看\") %>`;\n } else {\n tag = \"pre\";\n textContent = `<% PIPES.jsonStringify(${valueAccessor}) %>`;\n }\n } else {\n textContent = value;\n }\n }\n return {\n brick: tag,\n // errorBoundary: true,\n properties: {\n textContent,\n style,\n },\n };\n }\n }\n}\n\nfunction getValueAccessor(config: VisualConfig, attrAccessor: string): string {\n if (\n (config.type === \"struct\" || config.type === \"struct-list\") &&\n config.field\n ) {\n return `${config.type === \"struct\" ? `DATA${attrAccessor}` : \"ITEM\"}${getMemberAccessor(config.field)}`;\n }\n return `DATA${attrAccessor}`;\n}\n\nfunction getTagSize(size: VisualStyle[\"size\"]): string | undefined {\n switch (size) {\n case \"large\":\n case \"medium\":\n case \"small\":\n return size;\n case \"x-large\":\n return \"large\";\n // case \"x-small\":\n // return \"xs\";\n }\n}\n\nfunction getPlainStyle(\n configStyle: VisualStyle | undefined,\n options?: ConvertBrickOptions\n): Record<string, any> | undefined {\n if (!configStyle || options?.ignoreStyle) {\n return;\n }\n const style: Record<string, any> = {};\n switch (configStyle.size) {\n // case \"x-small\":\n case \"small\":\n style.fontSize = \"var(--sub-title-font-size-small)\";\n break;\n case \"medium\":\n style.fontSize = \"var(--normal-font-size)\";\n break;\n case \"large\":\n style.fontSize = \"var(--card-title-font-size)\";\n break;\n case \"x-large\":\n style.fontSize = \"var(--title-font-size-larger)\";\n break;\n }\n switch (configStyle.fontWeight) {\n case \"bold\":\n case \"normal\":\n style.fontWeight = configStyle.fontWeight;\n }\n if (configStyle.color) {\n style.color = configStyle.color;\n }\n return style;\n}\n","export default function findNearestCandidate<\n T extends { visualWeight: number },\n>(candidates: T[] | undefined, weight: number): T | undefined {\n const candidate = candidates?.reduce((nearest, candidate) => {\n if (\n !nearest ||\n Math.abs(candidate.visualWeight - weight) <\n Math.abs(nearest.visualWeight - weight)\n ) {\n return candidate;\n }\n return nearest;\n });\n return candidate;\n}\n","import { InstanceApi_postSearchV3 } from \"@next-api-sdk/cmdb-sdk\";\n\nconst cache = new Map<string, Promise<string | null>>();\n\nexport async function getModelObjectInstanceId(objectId: string) {\n if (cache.has(objectId)) {\n return cache.get(objectId)!;\n }\n\n const promise = doGetModelObjectInstanceId(objectId);\n cache.set(objectId, promise);\n return promise;\n}\n\nasync function doGetModelObjectInstanceId(objectId: string) {\n const { list } = await InstanceApi_postSearchV3(\"MODEL_OBJECT\", {\n fields: [\"instanceId\"],\n query: {\n objectId: {\n $eq: objectId,\n },\n },\n page_size: 1,\n });\n\n if (list?.length) {\n return list[0].instanceId;\n }\n\n return null;\n}\n","import { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\nimport findNearestCandidate from \"./findNearestCandidate.js\";\nimport { getModelObjectInstanceId } from \"./getModelObjectInstanceId.js\";\n\nconst cache = new Map<string, Promise<Map<string, any>>>();\n\nconst attrListCache = new Map<string, any>();\n\nexport async function getPreGeneratedAttrViews(\n objectId: string,\n visualWeight?: number\n) {\n if (cache.has(objectId)) {\n return cache.get(objectId)!;\n }\n\n const promise = doGetPreGeneratedAttrViews(objectId, visualWeight);\n cache.set(objectId, promise);\n return promise;\n}\n\nasync function doGetPreGeneratedAttrViews(\n objectId: string,\n visualWeight?: number\n) {\n const attrViews = new Map<string, any>();\n\n try {\n const attrList = await getAttrList(objectId);\n if (attrList) {\n for (const attr of attrList) {\n const candidates = attr.generatedView?.[0]?.list;\n const select = findNearestCandidate(candidates, visualWeight ?? 0);\n if (select) {\n attrViews.set(attr.id, select);\n }\n }\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Error fetching pre-generated attr views:\", e);\n }\n\n return attrViews;\n}\n\nasync function getAttrList(objectId: string) {\n if (attrListCache.has(objectId)) {\n return attrListCache.get(objectId)!;\n }\n\n const promise = doGetAttrList(objectId);\n attrListCache.set(objectId, promise);\n return promise;\n}\n\nasync function doGetAttrList(objectId: string) {\n const instanceId = await getModelObjectInstanceId(objectId);\n if (!instanceId) {\n return null;\n }\n\n const fields = [\"attrList.id\", \"attrList.generatedView.list\"].join(\",\");\n\n const { attrList } = await InstanceApi_getDetail(\"MODEL_OBJECT\", instanceId, {\n fields,\n });\n\n return attrList;\n}\n","import { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport type { DataSource, Variable } from \"@next-shared/tsx-parser\";\n\n/**\n * Find the object ID associated with the used data contexts.\n *\n * This function traverses the used contexts along their dependency chain.\n */\nexport function findObjectIdByUsedDataContexts(\n usedContexts: Set<string> | undefined,\n dataSources: DataSource[] | undefined,\n variables: Variable[] | undefined\n) {\n let objectId: string | undefined;\n if (usedContexts?.size && dataSources?.length) {\n const dataSourceToObjectIdMap = new Map<string, string>();\n for (const dataSource of dataSources) {\n if (dataSource.objectId) {\n dataSourceToObjectIdMap.set(dataSource.name, dataSource.objectId);\n }\n }\n\n const variableDepsMap = new Map<string, Set<string>>();\n for (const variable of variables ?? []) {\n const deps = strictCollectMemberUsage(variable.value, \"CTX\");\n variableDepsMap.set(variable.name, deps);\n }\n\n const processedContexts = new Set<string>();\n\n const find = (context: string) => {\n if (processedContexts.has(context)) {\n return false;\n }\n processedContexts.add(context);\n\n const dataSourceObjectId = dataSourceToObjectIdMap.get(context);\n if (dataSourceObjectId) {\n objectId = dataSourceObjectId;\n return true;\n }\n\n const variableDeps = variableDepsMap.get(context);\n for (const dep of variableDeps ?? []) {\n if (find(dep)) {\n return true;\n }\n }\n\n return false;\n };\n\n for (const context of usedContexts) {\n if (find(context)) {\n break;\n }\n }\n }\n\n return objectId;\n}\n","import * as t from \"@babel/types\";\n\nconst EXPRESSION_PREFIX_REG = /^<%=?\\s/;\nconst EXPRESSION_SUFFIX_REG = /\\s%>$/;\n\nexport function isExpressionString(value: unknown): value is string {\n if (typeof value !== \"string\") {\n return false;\n }\n const trimmed = value.trim();\n return (\n EXPRESSION_PREFIX_REG.test(trimmed) && EXPRESSION_SUFFIX_REG.test(trimmed)\n );\n}\n\nexport function validateExpression(expr: t.Expression): t.Node | null {\n let invalidNode: t.Node | null = null;\n t.traverse(expr, {\n enter(node, parent) {\n if (\n !invalidNode &&\n (t.isFunctionExpression(node) ||\n t.isStatement(node) ||\n t.isJSX(node) ||\n (t.isArrowFunctionExpression(node) &&\n (t.isBlockStatement(node.body) ||\n t.isObjectProperty(parent[parent.length - 1]?.node))))\n ) {\n invalidNode = node;\n }\n },\n });\n return invalidNode;\n}\n\nexport function isNilNode(node: t.Node) {\n return (\n t.isNullLiteral(node) || (t.isIdentifier(node) && node.name === \"undefined\")\n );\n}\n\nexport function containsJsxNode(expr: t.Expression): boolean {\n let found = false;\n t.traverse(expr, {\n enter(node) {\n if (!found && (t.isJSXElement(node) || t.isJSXFragment(node))) {\n found = true;\n }\n },\n });\n return found;\n}\n\nexport function convertJsxEventAttr(attr: string): string {\n return attr\n .slice(2)\n .replace(/([a-z])([A-Z])/g, \"$1.$2\")\n .toLowerCase();\n}\n","import { isExpressionString, replaceVariables } from \"@next-shared/tsx-parser\";\n\nexport function deepReplaceVariables<T>(\n value: T,\n patterns: Map<string, string> | undefined\n): T {\n if (!patterns?.size) {\n return value;\n }\n\n if (Array.isArray(value)) {\n return value.map((item) =>\n deepReplaceVariables(item, patterns)\n ) as unknown as T;\n }\n\n if (typeof value === \"object\" && value !== null) {\n return Object.fromEntries(\n Object.entries(value).map(([k, v]) => [\n k,\n deepReplaceVariables(v, patterns),\n ])\n ) as T;\n }\n\n if (typeof value === \"string\" && isExpressionString(value)) {\n return replaceVariables(value, patterns) as unknown as T;\n }\n\n return value;\n}\n","import * as t from \"@babel/types\";\nimport {\n precookFunction,\n preevaluate,\n type PreevaluateResult,\n type PrecookFunctionResult,\n} from \"@next-core/cook\";\nimport type { ParseResult } from \"../interfaces.js\";\n\ninterface Replacement {\n id: t.Identifier;\n shorthand?: boolean;\n}\n\nexport function replaceGlobals(expr: string, result: ParseResult): string {\n const patterns = new Map([\n ...(result.templateCollection\n ? result.templateCollection.identifiers.map(\n (k) => [k, `STATE.${k}`] as const\n )\n : result.contexts.map((k) => [k, `CTX.${k}`] as const)),\n ...result.functionNames.map((k) => [k, `FN.${k}`] as const),\n ]);\n return replaceVariables(expr, patterns);\n}\n\nexport function replaceGlobalsInFunction(\n source: string,\n result: ParseResult,\n selfName: string\n): string {\n const patterns = new Map(\n result.functionNames\n .filter((name) => name !== selfName)\n .map((k) => [k, `FN.${k}`])\n );\n return replaceVariablesInFunction(source, patterns);\n}\n\nexport function replaceVariables(\n expr: string,\n patterns: Map<string, string> | undefined\n): string {\n if (!patterns?.size) {\n return expr;\n }\n const keywords = [...patterns.keys()];\n if (keywords.some((k) => expr.includes(k))) {\n const replacements: Replacement[] = [];\n let result: PreevaluateResult | undefined;\n try {\n result = preevaluate(expr, {\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, path) {\n if (patterns.has(node.name)) {\n const p = path![path!.length - 1]?.node;\n let shorthand: boolean | undefined;\n if (p && p.type === \"Property\" && !p.computed && p.shorthand) {\n shorthand = true;\n }\n replacements.push({ id: node, shorthand });\n }\n },\n },\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse expression failed:\", error);\n }\n if (replacements.length > 0 && result) {\n const { prefix, source, suffix } = result;\n const chunks: string[] = [];\n let prevStart = 0;\n for (let i = 0; i < replacements.length; i++) {\n const { id, shorthand } = replacements[i];\n const { name, start, end } = id;\n chunks.push(\n source.substring(prevStart, start!),\n `${shorthand ? `${name}: ` : \"\"}${patterns.get(name)}`\n );\n prevStart = end!;\n }\n chunks.push(source.substring(prevStart));\n return `${prefix}${chunks.join(\"\")}${suffix}`;\n }\n }\n return expr;\n}\n\nfunction replaceVariablesInFunction(\n source: string,\n patterns: Map<string, string> | undefined\n): string {\n if (!patterns?.size) {\n return source;\n }\n const keywords = [...patterns.keys()];\n if (keywords.some((k) => source.includes(k))) {\n const replacements: Replacement[] = [];\n let result: PrecookFunctionResult | undefined;\n try {\n result = precookFunction(source, {\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n if (patterns.has(node.name)) {\n const p = parent![parent!.length - 1]?.node;\n let shorthand: boolean | undefined;\n if (p && p.type === \"Property\" && !p.computed && p.shorthand) {\n shorthand = true;\n }\n replacements.push({ id: node, shorthand });\n }\n },\n },\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse function failed:\", error);\n }\n if (replacements.length > 0 && result) {\n const chunks: string[] = [];\n let prevStart = 0;\n for (let i = 0; i < replacements.length; i++) {\n const { id, shorthand } = replacements[i];\n const { name, start, end } = id;\n chunks.push(\n source.substring(prevStart, start!),\n `${shorthand ? `${name}: ` : \"\"}${patterns.get(name)}`\n );\n prevStart = end!;\n }\n chunks.push(source.substring(prevStart));\n return chunks.join(\"\");\n }\n }\n return source;\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type {\n Component,\n ParseResult,\n RenderUseBrick,\n} from \"@next-shared/tsx-parser\";\nimport type { TableColumn, TableProps } from \"../lib/components.js\";\nimport type { ConvertOptions } from \"./interfaces.js\";\nimport { lowLevelConvertToStoryboard } from \"./raw-data-generate/convert.js\";\nimport { parseDataSource } from \"./expressions.js\";\nimport { getPreGeneratedAttrViews } from \"./getPreGeneratedAttrViews.js\";\nimport { findObjectIdByUsedDataContexts } from \"./findObjectIdByUsedDataContexts.js\";\nimport { convertComponent } from \"./convertComponent.js\";\nimport { deepReplaceVariables } from \"./deepReplaceVariables.js\";\n\nconst columnUseBrickParams = [\"cellData\", \"rowData\"];\n\nexport default async function convertTable(\n component: Component,\n view: ParseResult,\n options: ConvertOptions\n): Promise<BrickConf> {\n const { properties } = component;\n const { dataSource, size, columns, rowKey, pagination, ...restProps } =\n properties as Omit<TableProps<object>, \"dataSource\" | \"columns\"> & {\n dataSource: string | object;\n size?: \"small\" | \"medium\" | \"large\";\n pagination?: boolean;\n columns:\n | string\n | Array<\n Omit<TableColumn<object>, \"render\"> & {\n render?: RenderUseBrick;\n }\n >;\n };\n\n const parsedDataSource = parseDataSource(dataSource);\n\n const objectId = findObjectIdByUsedDataContexts(\n parsedDataSource.usedContexts,\n view.dataSources,\n view.variables\n );\n\n const attrViews = objectId\n ? await getPreGeneratedAttrViews(objectId)\n : undefined;\n\n const configuredColumns = new Map<string, BrickConf>();\n\n if (attrViews?.size && Array.isArray(columns)) {\n for (const column of columns) {\n if (column.render || typeof column.dataIndex !== \"string\") {\n continue;\n }\n const candidate = attrViews.get(column.dataIndex);\n if (candidate) {\n const brick = lowLevelConvertToStoryboard(candidate, \".cellData\");\n if (brick) {\n brick.slot = `[${column.dataIndex}]`;\n configuredColumns.set(column.dataIndex, brick);\n }\n }\n }\n }\n\n const convertedColumns = Array.isArray(columns)\n ? await Promise.all(\n columns.map(async ({ render, ...column }) => {\n if (render) {\n const patterns = new Map<string, string>();\n for (\n let i = 0;\n i < render.params.length && i < columnUseBrickParams.length;\n i++\n ) {\n patterns.set(render.params[i], `DATA.${columnUseBrickParams[i]}`);\n }\n\n const useBrick = (\n await Promise.all(\n render.children.map((child) =>\n convertComponent(child, view, options)\n )\n )\n ).flatMap((child) => deepReplaceVariables(child, patterns));\n\n return {\n ...column,\n useBrick: useBrick.map((item) =>\n item.brick.startsWith(\":\")\n ? {\n brick: \"div\",\n children: [item],\n }\n : item\n ),\n };\n }\n return typeof column.dataIndex === \"string\" &&\n configuredColumns.has(column.dataIndex)\n ? {\n ...column,\n useChildren: `[${column.dataIndex}]`,\n }\n : column;\n })\n )\n : columns;\n\n return {\n brick: \"eo-next-table\",\n properties: {\n dataSource: parsedDataSource.isString\n ? parsedDataSource.embedded\n : dataSource,\n ...restProps,\n rowKey: rowKey ?? (Array.isArray(columns) ? columns[0]?.key : undefined),\n columns: convertedColumns,\n themeVariant: \"elevo\",\n scrollConfig: {\n x: \"max-content\",\n },\n ...(options.expanded\n ? {\n bordered: true,\n pagination,\n size: \"large\",\n }\n : {\n size: \"middle\",\n pagination: false,\n }),\n },\n children:\n configuredColumns.size > 0 ? Array.from(configuredColumns.values()) : [],\n };\n}\n","import { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\nimport { getModelObjectInstanceId } from \"./getModelObjectInstanceId.js\";\n\nconst cache = new Map<string, Promise<MetricWithGroup[]>>();\n\nexport interface MetricWithGroup {\n group: string;\n metrics: string[];\n counter?: string;\n}\n\nexport async function getPreGeneratedMetricGroups(objectId: string) {\n if (cache.has(objectId)) {\n return cache.get(objectId)!;\n }\n\n const promise = doGetPreGeneratedMetricGroups(objectId);\n cache.set(objectId, promise);\n return promise;\n}\n\nasync function doGetPreGeneratedMetricGroups(objectId: string) {\n let metricGroups: MetricWithGroup[] = [];\n\n try {\n const instanceId = await getModelObjectInstanceId(objectId);\n if (instanceId) {\n const fields = [\"metricGroups\"].join(\",\");\n\n const { metricGroups: groups } = await InstanceApi_getDetail(\n \"MODEL_OBJECT\",\n instanceId,\n {\n fields,\n }\n );\n\n if (Array.isArray(groups) && groups.length) {\n metricGroups = groups;\n }\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Error fetching pre-generated metric groups:\", e);\n }\n\n return metricGroups;\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component, ParseResult } from \"@next-shared/tsx-parser\";\nimport type { DashboardProps, DashboardWidget } from \"../lib/components.js\";\nimport { parseDataSource } from \"./expressions.js\";\nimport { findObjectIdByUsedDataContexts } from \"./findObjectIdByUsedDataContexts.js\";\nimport { getPreGeneratedMetricGroups } from \"./getPreGeneratedMetricGroups.js\";\nimport type { ConvertOptions } from \"./interfaces.js\";\n\nconst COLORS = [\n \"#336EF4\",\n \"#45CAFF\",\n \"#41CDCF\",\n \"#8146F3\",\n \"#F8A075\",\n \"#94E65E\",\n \"#57689C\",\n \"#C285EF\",\n \"#FAC60B\",\n \"#E4551F\",\n \"#8984FF\",\n \"#2540FF\",\n \"#08BF33\",\n \"#F7811C\",\n \"#AC7CFF\",\n \"#1BA5DC\",\n \"#E89716\",\n \"#76A6F5\",\n \"#4F69FF\",\n];\n\ninterface MergedWidget extends DashboardWidget {\n relevantMetrics?: string[];\n counterMetric?: string;\n groupTitle?: string;\n size?: \"small\" | \"medium\" | \"large\";\n}\n\nexport default async function convertDashboard(\n { properties }: Component,\n view: ParseResult,\n options: ConvertOptions\n): Promise<BrickConf> {\n const {\n dataSource,\n groupField: _groupField,\n widgets,\n } = properties as Omit<DashboardProps, \"dataSource\"> & {\n dataSource: string | object;\n };\n\n const groupField = _groupField ? \"#showKey\" : undefined;\n\n const { isString, expression, usedContexts } = parseDataSource(dataSource);\n\n const chartData = isString\n ? `<%= CTX.__builtin_fn_extractList((${expression})) %>`\n : dataSource;\n\n if (options.expanded) {\n let mergedWidgets = widgets as MergedWidget[];\n const objectId = findObjectIdByUsedDataContexts(\n usedContexts,\n view.dataSources,\n view.variables\n );\n const metricGroups = objectId\n ? await getPreGeneratedMetricGroups(objectId)\n : [];\n\n if (metricGroups.length > 0) {\n mergedWidgets = [];\n const mergedMetrics = new Set<string>();\n const metricIds = new Set(widgets.map((w) => w.metric.id));\n for (const widget of widgets) {\n if (mergedMetrics.has(widget.metric.id)) {\n continue; // Skip already merged metrics\n }\n const mergedWidget = { ...widget } as MergedWidget;\n mergedWidgets.push(mergedWidget);\n const group = metricGroups.find((g) =>\n g.metrics.includes(widget.metric.id)\n );\n if (group) {\n const relevantMetrics = group.metrics.filter((m) => metricIds.has(m));\n if (relevantMetrics.length > 1) {\n mergedWidget.relevantMetrics = relevantMetrics;\n mergedWidget.counterMetric = group.counter;\n mergedWidget.groupTitle = group.group;\n for (const metricId of relevantMetrics) {\n mergedMetrics.add(metricId);\n metricIds.delete(metricId);\n }\n }\n }\n }\n }\n\n let colorCursor = 0;\n\n return {\n brick: \"div\",\n properties: {\n style: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fit, minmax(500px, 1fr))\",\n gap: \"16px\",\n },\n },\n children: mergedWidgets.map((widget) => {\n const { title, /* type, */ metric, size, precision } = widget;\n const colorCount =\n widget.relevantMetrics?.length ?? (groupField ? 2 : 1);\n const colors = Array.from(\n { length: colorCount },\n (_, i) => COLORS[(colorCursor + i) % COLORS.length]\n );\n colorCursor += colorCount;\n const unit = metric.unit === \"load\" ? \"\" : metric.unit;\n const chart = {\n brick: \"chart-v2.time-series-chart\",\n properties: {\n data: chartData,\n xField: \"time\",\n ...(widget.relevantMetrics\n ? {\n // yFields: widget.relevantMetrics,\n yFields: `<% CTX.__builtin_fn_getMetricDisplayNames((${expression}).displayNameList, ${JSON.stringify(\n widget.relevantMetrics\n )}) %>`,\n }\n : {\n // yField: metric.id,\n yField: `<% CTX.__builtin_fn_getMetricDisplayNames((${expression}).displayNameList, [${JSON.stringify(\n metric.id\n )}])[0] %>`,\n }),\n ...(widget.counterMetric\n ? {\n forceAbsoluteNumbers: true,\n series: {\n [widget.counterMetric]: {\n isNegative: true,\n },\n },\n }\n : null),\n height: size === \"large\" ? 230 : 200,\n timeFormat: \"HH:mm\",\n ...(widget.relevantMetrics || groupField\n ? null\n : {\n areaOptions: {\n style: {\n fill: `l(90) 0:${colors[0]} 1:#ffffff`,\n },\n },\n }),\n axis: {\n yAxis: {\n unit,\n precision,\n ...(widget.counterMetric\n ? null\n : unit === \"percent(1)\"\n ? { min: 0, max: 1 }\n : unit === \"percent(100)\" || unit === \"%\"\n ? { min: 0, max: 100 }\n : { min: 0 }),\n shape: \"smooth\",\n },\n },\n groupField,\n areaShape: \"smooth\",\n legends: !!(widget.relevantMetrics || groupField),\n colors: colors,\n tooltip: {\n marker: {\n fill: colors[0],\n stroke: \"#fff\",\n lineWidth: 2,\n shadowColor: colors[0],\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 4,\n },\n domStyles: {\n \"g2-tooltip\": {\n background: [\n `radial-gradient( farthest-corner at -20px 150px, ${colors[0]} 0%, rgba(238,238,238,0) 60%)`,\n \"linear-gradient( 180deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.8) 100%)\",\n ].join(\", \"),\n boxShadow: `0px 4px 8px 0px ${convertHexColorToRGBA(colors[0], 0.08)}`,\n borderRadius: \"8px\",\n border: \"1px solid rgba(255,255,255,1)\",\n backdropFilter: \"blur(3px)\",\n },\n },\n },\n },\n };\n return {\n brick: \"div\",\n properties: {\n style: {\n background: \"rgba(255,255,255,0.8)\",\n boxShadow: \"0px 2px 4px 0px rgba(0,0,0,0.06)\",\n borderRadius: \"8px\",\n padding: \"16px 20px 20px\",\n },\n },\n children: [\n {\n brick: \"div\",\n properties: {\n style: {\n fontSize: \"16px\",\n fontWeight: \"500\",\n marginBottom: \"20px\",\n },\n textContent: widget.groupTitle || title || metric.id,\n },\n },\n chart,\n ],\n };\n }),\n };\n }\n\n if (groupField) {\n return {\n brick: \"div\",\n properties: {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n },\n },\n children: [\n {\n brick: \":forEach\",\n dataSource: `<%= CTX.__builtin_fn_groupMetricData(CTX.__builtin_fn_extractList((${expression})), ${JSON.stringify(groupField)}) %>`,\n children: [\n {\n brick: \"div\",\n properties: {\n textContent: \"<% `${ITEM.group}:` %>\",\n style: {\n fontWeight: \"500\",\n },\n },\n },\n {\n brick: \"div\",\n properties: {\n style: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fill, minmax(200px, 1fr))\",\n gap: \"10px\",\n marginBottom: \"8px\",\n },\n },\n children: widgets.map((widget, i) => {\n const { title, /* type, */ metric, precision } = widget;\n return {\n brick: \"ai-portal.stat-with-mini-chart\",\n properties: {\n size: \"small\",\n label: title || metric.id,\n data: \"<% ITEM.list %>\",\n xField: \"time\",\n yField: metric.id,\n lineColor: COLORS[i % COLORS.length],\n showArea: true,\n ...(metric.unit === \"percent(1)\"\n ? { min: 0, max: 1 }\n : metric.unit === \"percent(100)\" || metric.unit === \"%\"\n ? { min: 0, max: 100 }\n : { min: 0 }),\n value: `<%= CTX.__builtin_fn_getLatestMetricValue(ITEM.list, ${JSON.stringify(\n {\n metric,\n precision,\n }\n )}) %>`,\n },\n };\n }),\n },\n ],\n },\n ],\n };\n }\n\n return {\n brick: \"div\",\n properties: {\n style: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fill, minmax(200px, 1fr))\",\n gap: \"10px\",\n },\n },\n children: widgets.map((widget, i) => {\n const { title, /* type, */ metric, precision } = widget;\n return {\n brick: \"ai-portal.stat-with-mini-chart\",\n properties: {\n size: \"small\",\n label: title || metric.id,\n data: chartData,\n xField: \"time\",\n yField: metric.id,\n lineColor: COLORS[i % COLORS.length],\n showArea: true,\n ...(metric.unit === \"percent(1)\"\n ? { min: 0, max: 1 }\n : metric.unit === \"percent(100)\" || metric.unit === \"%\"\n ? { min: 0, max: 100 }\n : { min: 0 }),\n value: `<%= CTX.__builtin_fn_getLatestMetricValue((${\n isString\n ? `CTX.__builtin_fn_extractList((${expression}))`\n : JSON.stringify(dataSource ?? null)\n }), ${JSON.stringify({\n metric,\n precision,\n })}) %>`,\n },\n };\n }),\n };\n}\n\nfunction convertHexColorToRGBA(color: string, alpha: number): string {\n const hex = color.slice(1);\n const bigint = parseInt(hex, 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n}\n","import type { ParseResult, Template } from \"@next-shared/tsx-parser\";\nimport type { ConvertOptions } from \"./interfaces.js\";\nimport type { CustomTemplate } from \"@next-core/types\";\nimport { convertComponent } from \"./convertComponent.js\";\nimport { convertDataSources } from \"./convertDataSources.js\";\nimport { convertVariables } from \"./convertVariables.js\";\n\nlet counter = 0;\nconst tplNameMap = new Map<string, string>();\n\nexport function getTplNamePrefixByRootId(rootId: string) {\n if (!tplNameMap.has(rootId)) {\n tplNameMap.set(rootId, `isolated-tpl-${counter++}`);\n }\n return tplNameMap.get(rootId)!;\n}\n\nexport function getTplNameSuffix(name: string) {\n return name.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n}\n\nexport function convertTemplates(\n templates: Template[],\n result: ParseResult,\n options: ConvertOptions\n): Promise<CustomTemplate[]> {\n const tplNamePrefix = getTplNamePrefixByRootId(options.rootId);\n return Promise.all(\n templates.map(async (tpl) => {\n const children = (\n await Promise.all(\n tpl.components.map((component) =>\n convertComponent(component, result, options)\n )\n )\n ).flat();\n return {\n name: `${tplNamePrefix}${getTplNameSuffix(tpl.name)}`,\n bricks: children,\n state: [\n ...convertDataSources(tpl.dataSources ?? [], options),\n ...convertVariables(tpl.variables ?? []),\n ],\n } as CustomTemplate;\n })\n );\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component, ParseResult } from \"@next-shared/tsx-parser\";\nimport convertList from \"./convertList.js\";\nimport type { ConvertOptions } from \"./interfaces.js\";\nimport { convertEvents } from \"./convertEvents.js\";\nimport convertTable from \"./convertTable.js\";\nimport convertDescriptions from \"./convertDescriptions.js\";\nimport convertDashboard from \"./convertDashboard.js\";\nimport convertButton from \"./convertButton.js\";\nimport convertForm from \"./convertForm.js\";\nimport convertFormItem from \"./convertFormItem.js\";\nimport convertModal from \"./convertModal.js\";\nimport convertToolbar from \"./convertToolbar.js\";\nimport convertText from \"./convertText.js\";\nimport convertCard from \"./convertCard.js\";\nimport convertForEach from \"./convertForEach.js\";\nimport convertIf from \"./convertIf.js\";\nimport convertOutput from \"./convertOutput.js\";\nimport convertLink from \"./convertLink.js\";\nimport convertTag from \"./convertTag.js\";\nimport convertAvatar from \"./convertAvatar.js\";\nimport convertAvatarGroup from \"./convertAvatarGroup.js\";\nimport {\n getTplNamePrefixByRootId,\n getTplNameSuffix,\n} from \"./convertTemplates.js\";\n\nexport async function convertComponent(\n component: Component,\n result: ParseResult,\n options: ConvertOptions\n): Promise<BrickConf | BrickConf[]> {\n let brick: BrickConf | null = null;\n const tpl = result.templates.find((t) => t.name === component.name);\n if (tpl) {\n brick = {\n brick: `${getTplNamePrefixByRootId(options.rootId)}${getTplNameSuffix(tpl.name)}`,\n properties: component.properties,\n };\n } else {\n switch (component.name) {\n case \"List\":\n brick = await convertList(component);\n break;\n case \"Table\":\n brick = await convertTable(component, result, options);\n break;\n case \"Descriptions\":\n brick = await convertDescriptions(component, result, options);\n break;\n case \"Card\":\n brick = await convertCard(component);\n break;\n case \"Dashboard\":\n brick = await convertDashboard(component, result, options);\n break;\n case \"Button\":\n brick = await convertButton(component);\n break;\n case \"Form\":\n brick = await convertForm(component);\n break;\n case \"Toolbar\":\n brick = await convertToolbar(component);\n break;\n case \"Modal\":\n brick = await convertModal(component);\n break;\n case \"Plaintext\":\n brick = await convertText(component);\n break;\n case \"Link\":\n brick = await convertLink(component);\n break;\n case \"Output\":\n brick = await convertOutput(component);\n break;\n case \"Tag\":\n brick = await convertTag(component);\n break;\n case \"Avatar\":\n brick = await convertAvatar(component);\n break;\n case \"AvatarGroup\":\n brick = await convertAvatarGroup(component);\n break;\n case \"Search\":\n case \"Input\":\n case \"NumberInput\":\n case \"Textarea\":\n case \"Select\":\n case \"Radio\":\n case \"Checkbox\":\n case \"Switch\":\n case \"DatePicker\":\n case \"TimePicker\":\n brick = await convertFormItem(\n component,\n convertComponentName(component.name)\n );\n break;\n case \"ForEach\":\n brick = await convertForEach(component);\n break;\n case \"If\":\n brick = await convertIf(component);\n break;\n default:\n // eslint-disable-next-line no-console\n console.error(\"Unsupported component:\", component.name);\n }\n }\n\n if (!brick) {\n return [];\n }\n\n // Set [data-component-id] for the brick\n if (component.componentId) {\n brick.properties ??= {};\n brick.properties.dataset ??= {};\n (brick.properties.dataset as Record<string, string>).componentId =\n component.componentId;\n }\n\n if (component.slot) {\n brick.slot = component.slot;\n }\n\n brick.events = convertEvents(component, options);\n\n if (component.children?.length) {\n brick.children = (\n await Promise.all(\n component.children.map((child) =>\n convertComponent(child, result, options)\n )\n )\n ).flat();\n\n if (\n (component.name === \"Card\" || component.name === \"Modal\") &&\n brick.children.length > 0\n ) {\n brick.children = [\n {\n brick: \"eo-content-layout\",\n children: brick.children,\n },\n ];\n }\n }\n\n return brick;\n}\n\nfunction convertComponentName(name: string) {\n return name.includes(\"-\")\n ? name\n : `eo${name.replace(/([A-Z])/g, \"-$1\").toLowerCase()}`;\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\nimport type { ListProps } from \"../lib/components.js\";\nimport { parseDataSource } from \"./expressions.js\";\n\nexport default function convertList({ properties }: Component): BrickConf {\n const props = properties as Omit<ListProps, \"dataSource\"> & {\n dataSource: string | object;\n };\n\n const { dataSource, fields, variant } = props;\n\n const parsedDataSource = parseDataSource(dataSource);\n\n return {\n brick: \"eo-list\",\n properties: {\n variant,\n dataSource: parsedDataSource.isString\n ? parsedDataSource.embedded\n : dataSource,\n fields,\n themeVariant: \"elevo\",\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type {\n Component,\n ParseResult,\n RenderUseBrick,\n} from \"@next-shared/tsx-parser\";\nimport type { DescriptionsProps } from \"../lib/components.js\";\nimport { convertToStoryboard } from \"./raw-data-generate/convert.js\";\nimport { getPreGeneratedAttrViews } from \"./getPreGeneratedAttrViews.js\";\nimport { parseDataSource } from \"./expressions.js\";\nimport { findObjectIdByUsedDataContexts } from \"./findObjectIdByUsedDataContexts.js\";\nimport { convertComponent } from \"./convertComponent.js\";\nimport { deepReplaceVariables } from \"./deepReplaceVariables.js\";\nimport type { ConvertOptions } from \"./interfaces.js\";\n\ninterface DescriptionItem {\n label: string;\n text?: string;\n field?: string;\n render?: RenderUseBrick;\n}\n\nexport default async function convertDescriptions(\n { properties }: Component,\n view: ParseResult,\n options: ConvertOptions\n): Promise<BrickConf> {\n const { dataSource, title, list, columns, ...restProps } =\n properties as Partial<DescriptionsProps<object>> as Omit<\n DescriptionsProps<object>,\n \"list\"\n > & {\n dataSource: string | object;\n list: DescriptionItem[] | string;\n columns?: number;\n };\n\n const parsedDataSource = parseDataSource(dataSource);\n\n const objectId = findObjectIdByUsedDataContexts(\n parsedDataSource.usedContexts,\n view.dataSources,\n view.variables\n );\n\n const attrViews = objectId\n ? await getPreGeneratedAttrViews(objectId)\n : undefined;\n\n const configuredItems = new Map<string, BrickConf>();\n\n if (attrViews?.size && Array.isArray(list)) {\n for (const item of list) {\n if (item.render) {\n continue;\n }\n if (item.field) {\n const candidate = attrViews.get(item.field);\n if (candidate) {\n const brick = convertToStoryboard(candidate, item.field);\n if (brick) {\n brick.slot = `[${item.field}]`;\n configuredItems.set(item.field, brick);\n }\n }\n }\n }\n }\n\n const convertedList = Array.isArray(list)\n ? await Promise.all(\n list.map(async ({ render, ...item }) => {\n if (render) {\n const patterns = new Map<string, string>();\n if (render.params.length > 0) {\n patterns.set(render.params[0], \"DATA\");\n }\n\n const useBrick = (\n await Promise.all(\n render.children.map((child) =>\n convertComponent(child, view, options)\n )\n )\n ).flatMap((child) => deepReplaceVariables(child, patterns));\n\n return {\n label: item.label,\n useBrick,\n };\n }\n const brick = item.field\n ? configuredItems.get(item.field)\n : undefined;\n return brick\n ? {\n label: item.label,\n useChildren: `[${item.field}]`,\n }\n : item;\n })\n )\n : list;\n\n return {\n brick: \"eo-descriptions\",\n properties: {\n ...restProps,\n dataSource: parsedDataSource.isString\n ? parsedDataSource.embedded\n : dataSource,\n // descriptionTitle: title,\n list: convertedList,\n ...(columns == null\n ? {\n column: options.expanded ? 3 : 1,\n templateColumns: \"repeat(auto-fill,minmax(360px,1fr))\",\n }\n : {\n column: columns,\n }),\n // showCard: !options.expanded,\n themeVariant: \"elevo\",\n },\n children:\n configuredItems.size > 0 ? Array.from(configuredItems.values()) : [],\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\nimport type { CardProps } from \"../lib/components.js\";\n\nexport default function convertCard(component: Component): BrickConf {\n const { properties } = component;\n const { title, textContent } = properties as CardProps & {\n textContent?: string;\n };\n return {\n brick: \"eo-card\",\n properties: {\n themeVariant: \"elevo\",\n cardTitle: title,\n background: \"#fff\",\n outline: \"background\",\n ...(textContent ? { textContent } : null),\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\nimport type { ButtonProps } from \"../lib/components.js\";\n\nexport default function convertButton(component: Component): BrickConf {\n const { properties } = component;\n const props = properties as ButtonProps & {\n textContent?: string;\n };\n return {\n brick: \"eo-button\",\n properties: {\n ...props,\n themeVariant: \"elevo\",\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\nimport type { FormProps } from \"../lib/components.js\";\n\nexport default function convertForm(component: Component): BrickConf {\n const { properties } = component;\n const { values } = (properties ?? {}) as FormProps<object>;\n\n return {\n brick: \"eo-form\",\n properties: {\n values: values ?? {},\n themeVariant: \"elevo\",\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\n\nexport default function convertToolbar(_component: Component): BrickConf {\n return {\n brick: \"eo-flex-layout\",\n properties: {\n gap: \"0.5em\",\n alignItems: \"center\",\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\nimport type { ModalProps } from \"../lib/components.js\";\n\nexport default function convertModal(component: Component): BrickConf {\n const { properties } = component;\n const { title, confirmText, cancelText, ...restProps } =\n properties as Partial<ModalProps> & {\n textContent?: string;\n };\n return {\n brick: \"eo-modal\",\n portal: true,\n properties: {\n themeVariant: \"elevo\",\n modalTitle: title,\n confirmText: confirmText,\n cancelText: cancelText,\n keyboard: true,\n ...restProps,\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\n\nexport default function convertText(component: Component): BrickConf {\n const { properties } = component;\n const props = properties as {\n textContent?: string;\n };\n return {\n brick: \"span\",\n properties: {\n ...props,\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\nimport type { LinkProps } from \"../lib/components.js\";\n\nexport default function convertLink(component: Component): BrickConf {\n const { properties } = component;\n const props = properties as LinkProps & {\n textContent?: string;\n };\n return {\n brick: \"eo-link\",\n properties: {\n ...props,\n themeVariant: \"elevo\",\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\n\nexport default function convertOutput(component: Component): BrickConf {\n const { properties } = component;\n const { style, ...restProps } = properties as {\n textContent?: string;\n style?: Record<string, any>;\n };\n\n return {\n brick: \"pre\",\n properties: {\n style: {\n background: \"hsl(230, 1%, 98%)\",\n color: \"hsl(230, 8%, 24%)\",\n fontFamily:\n '\"Fira Code\", \"Fira Mono\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace',\n direction: \"ltr\",\n textAlign: \"left\",\n whiteSpace: \"pre\",\n wordSpacing: \"normal\",\n wordBreak: \"normal\",\n lineHeight: \"1.5\",\n tabSize: \"2\",\n hyphens: \"none\",\n fontSize: \"13px\",\n\n padding: \"1em\",\n // margin: \"0.5em 0\",\n margin: \"0\",\n overflowX: \"auto\",\n borderRadius: \"9px\",\n ...style,\n },\n ...restProps,\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\nimport type { TagProps } from \"../lib/components.js\";\n\nexport default function convertTag(component: Component): BrickConf {\n const { properties } = component;\n const props = properties as TagProps & {\n textContent?: string;\n };\n return {\n brick: \"eo-tag\",\n properties: {\n ...props,\n themeVariant: \"elevo\",\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\nimport type { AvatarProps } from \"../lib/components.js\";\n\nexport default function convertAvatar(component: Component): BrickConf {\n const { properties } = component;\n const props = properties as AvatarProps;\n return {\n brick: \"eo-avatar\",\n properties: {\n ...props,\n themeVariant: \"elevo\",\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\nimport type { AvatarGroupProps } from \"../lib/components.js\";\n\nexport default function convertAvatarGroup(component: Component): BrickConf {\n const { properties } = component;\n const props = properties as AvatarGroupProps;\n return {\n brick: \"eo-avatar-group\",\n properties: {\n ...props,\n themeVariant: \"elevo\",\n },\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\n\nexport default function convertFormItem(\n component: Component,\n type: string\n): BrickConf {\n const { properties } = component;\n\n let brick = type;\n let props: Record<string, unknown> = {\n ...properties,\n themeVariant: \"elevo\",\n };\n\n switch (brick) {\n case \"eo-search\":\n props = {\n ...props,\n trim: true,\n };\n break;\n case \"eo-number-input\":\n brick = \"eo-input\";\n props = {\n type: \"number\",\n ...props,\n };\n break;\n }\n\n return {\n brick,\n properties: props,\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\n\nexport default function convertForEach(component: Component): BrickConf {\n const { properties } = component;\n const { dataSource } = properties as {\n dataSource?: unknown;\n };\n return {\n brick: \":forEach\",\n dataSource,\n };\n}\n","import type { BrickConf } from \"@next-core/types\";\nimport type { Component } from \"@next-shared/tsx-parser\";\n\nexport default function convertIf(component: Component): BrickConf {\n const { properties } = component;\n const { dataSource } = properties as {\n dataSource?: unknown;\n };\n return {\n brick: \":if\",\n dataSource,\n };\n}\n","import type { ContextConf } from \"@next-core/types\";\nimport { pipes } from \"@easyops-cn/brick-next-pipes\";\nimport type { ParseResult } from \"@next-shared/tsx-parser\";\nimport { withBox } from \"./withBox.js\";\nimport { convertDataSources } from \"./convertDataSources.js\";\nimport { convertVariables } from \"./convertVariables.js\";\nimport { convertComponent } from \"./convertComponent.js\";\nimport type { ConvertOptions, ConvertResult } from \"./interfaces.js\";\nimport { convertTemplates } from \"./convertTemplates.js\";\n\nconst BUILTIN_FUNCTIONS: ContextConf[] = [\n {\n name: \"__builtin_fn_mergeTexts\",\n value: mergeTexts,\n },\n {\n name: \"__builtin_fn_getLatestMetricValue\",\n value: getLatestMetricValue,\n },\n {\n name: \"__builtin_fn_extractList\",\n value: extractList,\n },\n {\n name: \"__builtin_fn_groupMetricData\",\n value: groupMetricData,\n },\n {\n name: \"__builtin_fn_getMetricDisplayNames\",\n value: getMetricDisplayNames,\n },\n];\n\nexport async function convertTsx(\n result: ParseResult,\n options: ConvertOptions\n): Promise<ConvertResult> {\n const context: ContextConf[] = [\n ...convertDataSources(result.dataSources ?? [], options),\n ...convertVariables(result.variables ?? []),\n ...(options.withContexts\n ? Object.entries(options.withContexts).map(([name, value]) => ({\n name,\n value,\n }))\n : []),\n ...BUILTIN_FUNCTIONS,\n ];\n\n const children = (\n await Promise.all(\n result.components.map((component) =>\n convertComponent(component, result, options)\n )\n )\n ).flat();\n\n const needBox = result.components.every((component) =>\n [\"Form\", \"Descriptions\", \"Button\"].includes(component.name)\n );\n\n const templates = await convertTemplates(result.templates, result, options);\n\n return {\n brick: {\n brick: \"eo-content-layout\",\n children: needBox ? [withBox(children, options)] : children,\n },\n context,\n functions: result.functions,\n templates,\n };\n}\n\nfunction mergeTexts(\n ...items: (\n | { type: \"text\"; text: string }\n | { type: \"expression\"; value: unknown }\n )[]\n): string {\n const texts: string[] = [];\n for (const item of items) {\n if (item.type === \"text\") {\n texts.push(item.text.trim());\n } else {\n texts.push(mergeValuesAsText(item.value));\n }\n }\n return texts.join(\"\");\n}\n\nfunction mergeValuesAsText(value: unknown): string {\n if (Array.isArray(value)) {\n return value.map(mergeValuesAsText).join(\"\");\n }\n const type = typeof value;\n if (type === \"string\" || type === \"number\") {\n return String(value);\n }\n if (type === \"object\" && value !== null) {\n throw new Error(\"Can not render object as text\");\n }\n return \"\";\n}\n\nfunction getLatestMetricValue(\n list: Record<string, any>[] | undefined,\n {\n metric,\n precision,\n }: { metric: { id: string; unit: string }; precision?: number }\n) {\n const value = list?.findLast?.((item) => item[metric.id] != null)?.[\n metric.id\n ];\n const unit = metric.unit === \"load\" ? \"\" : metric.unit;\n return pipes.unitFormat(value, unit, precision).join(\"\");\n}\n\nfunction extractList<T = unknown>(data: T[] | { list: T[] }): T[] {\n if (Array.isArray(data)) {\n return data;\n }\n return data?.list;\n}\n\nfunction groupMetricData(list: Record<string, any>[], groupField: string) {\n if (!list || !Array.isArray(list) || list.length === 0) {\n return [];\n }\n const grouped = new Map<\n string,\n { group: string; list: Record<string, any>[] }\n >();\n for (const item of list) {\n const key = item[groupField];\n let groupedList = grouped.get(key);\n if (!groupedList) {\n grouped.set(key, (groupedList = { group: key, list: [] }));\n }\n groupedList.list.push(item);\n }\n return Array.from(grouped.values());\n}\n\nfunction getMetricDisplayNames(\n displayNameList:\n | { metric_name: string; metric_display_name: string }[]\n | undefined,\n metricNames: string[]\n): string[] {\n return metricNames.map(\n (metricName) =>\n displayNameList?.find((item) => item.metric_name === metricName)\n ?.metric_display_name ?? metricName\n );\n}\n","// istanbul ignore file\nimport type { ParseResult, ParseOptions } from \"@next-shared/tsx-parser\";\nimport { wrap } from \"comlink\";\n\nexport interface RemoteTsxParserWorker {\n parse(source: string, options?: ParseOptions): Promise<ParseResult>;\n}\n\nlet remoteWorkerPromise: Promise<RemoteTsxParserWorker> | undefined;\n\nlet worker: Worker | undefined;\n\nexport function getRemoteTsxParserWorker() {\n if (!remoteWorkerPromise) {\n remoteWorkerPromise = (async () => {\n const Remote = wrap<{ new (): RemoteTsxParserWorker }>(getWorker());\n return await new Remote();\n })();\n }\n return remoteWorkerPromise;\n}\n\nfunction getWorker() {\n if (!worker) {\n worker = new Worker(new URL(\"./tsxParser.worker.ts\", import.meta.url));\n }\n return worker;\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.container--M22i1CYq{display:flex;height:100%}.editor--kF8SUoBP,\n.preview--gu5OlS2X{flex:1;min-width:0}.preview--gu5OlS2X{padding:1em;overflow:auto}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": `container--M22i1CYq`,\n\t\"editor\": `editor--kF8SUoBP`,\n\t\"preview\": `preview--gu5OlS2X`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["createPortal","rootId","portal","document","createElement","dataset","style","position","width","height","body","append","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","withBox","children","brick","properties","expanded","background","backdropFilter","borderRadius","padding","convertDataSources","dataSources","map","_ref","name","http","api","params","entity","transform","rejectTransform","config","hasEnabled","Object","prototype","hasOwnProperty","call","resolve","useProvider","args","toLowerCase","replace","workspace","isObject","translate","limit","limitBy","order","displayName","value","onReject","if","enabled","track","fallback","convertVariables","variables","EXPRESSION_PREFIX_REG","EXPRESSION_SUFFIX_REG","parseDataSource","data","isString","expression","expr","trim","test","console","warn","JSON","stringify","embedded","usedContexts","strictCollectMemberUsage","convertEventHandlers","handler","list","Array","isArray","hdl","action","payload","scope","_handler$callback","success","callback","error","target","componentId","method","type","content","detail","convertEventHandler","filter","Boolean","length","VALID_IDENTIFIER_REG","getMemberAccessor","property","propertyStr","String","pick","_","convertToStoryboard","attr","lowLevelConvertToStoryboard","attrAccessor","brickItem","display","getPlainBrick","countOnly","_config$style","_config$style2","_config$style3","_config$style4","_config$style5","colorSuffix","variant","valueAccessor","getValueAccessor","textContent","size","getTagSize","color","palette","replaceAll","outline","getIconBrick","alignItems","gap","maxItems","Number","dataSource","_config$true$icon","_config$true","_config$false$icon","_config$false","_config$true2","_config$false2","trueIcon","true","icon","falseIcon","false","trueStyle","getPlainStyle","falseStyle","lib","prefix","category","theme","_config$formatter","formatter","format","isCostTime","tag","_config$true$text","_config$true3","_config$false$text","_config$false3","_config$true4","_config$false4","trueContent","text","falseContent","field","configStyle","ignoreStyle","fontSize","fontWeight","findNearestCandidate","candidates","weight","reduce","nearest","candidate","Math","abs","visualWeight","cache","Map","async","getModelObjectInstanceId","objectId","has","get","promise","InstanceApi_postSearchV3","fields","query","$eq","page_size","instanceId","doGetModelObjectInstanceId","set","attrListCache","getPreGeneratedAttrViews","attrViews","attrList","join","InstanceApi_getDetail","doGetAttrList","getAttrList","_attr$generatedView","select","generatedView","id","e","doGetPreGeneratedAttrViews","findObjectIdByUsedDataContexts","dataSourceToObjectIdMap","variableDepsMap","variable","deps","processedContexts","Set","find","context","add","dataSourceObjectId","variableDeps","dep","deepReplaceVariables","patterns","item","fromEntries","entries","k","v","trimmed","isExpressionString","keys","some","includes","replacements","result","preevaluate","withParent","hooks","beforeVisitGlobal","node","path","p","shorthand","computed","push","source","suffix","chunks","prevStart","i","start","end","substring","replaceVariables","columnUseBrickParams","COLORS","convertHexColorToRGBA","alpha","hex","slice","bigint","parseInt","counter","tplNameMap","getTplNamePrefixByRootId","getTplNameSuffix","convertComponent","component","_component$children","tpl","templates","t","props","parsedDataSource","themeVariant","convertList","view","_columns$","columns","rowKey","pagination","restProps","configuredColumns","column","render","dataIndex","slot","convertedColumns","Promise","all","useBrick","child","flatMap","startsWith","useChildren","key","scrollConfig","x","bordered","from","values","convertTable","title","configuredItems","convertedList","_ref2","label","templateColumns","convertDescriptions","cardTitle","convertCard","groupField","_groupField","widgets","chartData","mergedWidgets","metricGroups","groups","doGetPreGeneratedMetricGroups","getPreGeneratedMetricGroups","mergedMetrics","metricIds","w","metric","widget","mergedWidget","group","g","metrics","relevantMetrics","m","counterMetric","groupTitle","metricId","delete","colorCursor","gridTemplateColumns","_widget$relevantMetri","_widget$relevantMetri2","precision","colorCount","colors","unit","chart","xField","yFields","yField","forceAbsoluteNumbers","series","isNegative","timeFormat","areaOptions","fill","axis","yAxis","min","max","shape","areaShape","legends","tooltip","marker","stroke","lineWidth","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","domStyles","boxShadow","border","marginBottom","flexDirection","lineColor","showArea","convertDashboard","convertButton","convertForm","confirmText","cancelText","modalTitle","keyboard","convertModal","convertText","convertLink","fontFamily","direction","textAlign","whiteSpace","wordSpacing","wordBreak","lineHeight","tabSize","hyphens","margin","overflowX","convertOutput","convertTag","convertAvatar","convertAvatarGroup","convertFormItem","convertForEach","convertIf","_brick","_brick$properties","_brick$properties2","_brick$properties2$da","events","event","_component$events","click","search","convertEvents","flat","BUILTIN_FUNCTIONS","texts","_len","arguments","items","_key","mergeValuesAsText","_list$findLast","findLast","pipes","unitFormat","grouped","groupedList","displayNameList","metricNames","metricName","_displayNameList$find","_displayNameList$find2","metric_name","metric_display_name","convertTsx","_result$dataSources","_result$variables","withContexts","components","needBox","every","tplNamePrefix","_tpl$dataSources","_tpl$variables","bricks","state","convertTemplates","functions","Error","remoteWorkerPromise","worker","getRemoteTsxParserWorker","Remote","wrap","Worker","URL","___CSS_LOADER_EXPORT___","module"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 2750.ee5a8680.js.LICENSE.txt */
2
+ "use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[1055,2750],{829:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(4940);function o(e,t){return e.get((0,r.A)(e,t))}},855:(e,t,n)=>{e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},918:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2016);function o(e,t,n){(0,r.A)(e,t),t.set(e,n)}},935:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,o,a){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var c=0;c<this.length;c++){var s=this[c][0];null!=s&&(i[s]=!0)}for(var u=0;u<e.length;u++){var l=[].concat(e[u]);r&&i[l[0]]||(void 0!==a&&(void 0===l[5]||(l[1]="@layer".concat(l[5].length>0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=a),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),t.push(l))}},t}},1369:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(7545);function o(e){var t=function(e){if("object"!=(0,r.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=(0,r.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,r.A)(t)?t:t+""}},1740:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},2016:(e,t,n)=>{function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{A:()=>r})},2591:e=>{var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var a={},i=[],c=0;c<e.length;c++){var s=e[c],u=r.base?s[0]+r.base:s[0],l=a[u]||0,f="".concat(u," ").concat(l);a[u]=l+1;var p=n(f),d={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==p)t[p].references++,t[p].updater(d);else{var v=o(d,r);r.byIndex=c,t.splice(c,0,{identifier:f,updater:v,references:1})}i.push(f)}return i}function o(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,o){var a=r(e=e||[],o=o||{});return function(e){e=e||[];for(var i=0;i<a.length;i++){var c=n(a[i]);t[c].references--}for(var s=r(e,o),u=0;u<a.length;u++){var l=n(a[u]);0===t[l].references&&(t[l].updater(),t.splice(l,1))}a=s}}},2740:(e,t,n)=>{n.d(t,{A:()=>c});var r=n(7545),o=n(6902);function a(e,t,n){"symbol"==(0,r.A)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}var i=n(1369);function c(e,t,n,c,s,u){var l,f,p,d,v,h,m,y=Symbol.metadata||Symbol.for("Symbol.metadata"),b=Object.defineProperty,g=Object.create,w=[g(null),g(null)],A=t.length;function E(t,n,r){return function(o,a){n&&(a=o,o=e);for(var i=0;i<t.length;i++)a=t[i].apply(o,r?[a]:[]);return r?a:o}}function j(e,t,n,r){if("function"!=typeof e&&(r||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(r?"":" or undefined"));return e}function O(e,t,n,o,i,c,s,u,p,d,v){function h(e){if(!v(e))throw new TypeError("Attempted to access private element on non-instance")}var m=[].concat(t[0]),y=t[3],g=!s,A=1===i,O=3===i,S=4===i,P=2===i;function T(t,n,r){return function(o,a){return n&&(a=o,o=e),r&&r(o),k[t].call(o,a)}}if(!g){var k={},x=[],C=O?"get":S||A?"set":"value";if(p?(d||A?k={get:a((function(){return y(this)}),o,"get"),set:function(e){t[4](this,e)}}:k[C]=y,d||a(k[C],o,P?"":C)):d||(k=Object.getOwnPropertyDescriptor(e,o)),!d&&!p){if((f=w[+u][o])&&7!=(f^i))throw Error("Decorating two elements with the same name ("+k[C].name+") is not supported yet");w[+u][o]=i<3?1:i}}for(var M=e,L=m.length-1;L>=0;L-=n?2:1){var R=j(m[L],"A decorator","be",!0),z=n?m[L-1]:void 0,N={},D={kind:["field","accessor","method","getter","setter","class"][i],name:o,metadata:l,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");j(t,"An initializer","be",!0),c.push(t)}.bind(null,N)};if(g)f=R.call(z,M,D),N.v=1,j(f,"class decorators","return")&&(M=f);else if(D.static=u,D.private=p,f=D.access={has:p?v.bind():function(e){return o in e}},S||(f.get=p?P?function(e){return h(e),k.value}:T("get",0,h):function(e){return e[o]}),P||O||(f.set=p?T("set",0,h):function(e,t){e[o]=t}),M=R.call(z,A?{get:k.get,set:k.set}:k[C],D),N.v=1,A){if("object"==(0,r.A)(M)&&M)(f=j(M.get,"accessor.get"))&&(k.get=f),(f=j(M.set,"accessor.set"))&&(k.set=f),(f=j(M.init,"accessor.init"))&&x.unshift(f);else if(void 0!==M)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else j(M,(d?"field":"method")+" decorators","return")&&(d?x.unshift(M):k[C]=M)}return i<2&&s.push(E(x,u,1),E(c,u,0)),d||g||(p?A?s.splice(-1,0,T("get",u),T("set",u)):s.push(P?k[C]:j.call.bind(k[C])):b(e,o,k)),M}function S(e){return b(e,y,{configurable:!0,enumerable:!0,value:l})}return void 0!==u&&(l=u[y]),l=g(null==l?null:l),v=[],h=function(e){e&&v.push(E(e))},m=function(t,r){for(var a=0;a<n.length;a++){var c=n[a],u=c[1],l=7&u;if((8&u)==t&&!l==r){var f=c[2],h=!!c[3],m=16&u;O(t?e:e.prototype,c,m,h?"#"+f:(0,i.A)(f),l,l<2?[]:t?d=d||[]:p=p||[],v,!!t,h,r,t&&h?function(t){return(0,o.A)(t)===e}:s)}}},m(8,0),m(0,0),m(8,1),m(0,1),h(p),h(d),f=v,A||S(e),{e:f,get c(){var n=[];return A&&[S(e=O(e,[t],c,e.name,5,n)),E(n,1)]}}}},3051:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3656:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},4586:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(1369);function o(e,t,n){return(t=(0,r.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},4635:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2016);function o(e,t){(0,r.A)(e,t),t.add(e)}},4940:(e,t,n)=>{function r(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>r})},5536:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(4940);function o(e,t,n){return n((0,r.A)(e,t))}},6121:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(4940);function o(e,t,n){return e.set((0,r.A)(e,t),n),n}},6330:(e,t,n)=>{function r(e,t,n,r,o,a,i){try{var c=e[a](i),s=c.value}catch(e){return void n(e)}c.done?t(s):Promise.resolve(s).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,a){var i=e.apply(t,n);function c(e){r(i,o,a,c,s,"next",e)}function s(e){r(i,o,a,c,s,"throw",e)}c(void 0)}))}}n.d(t,{A:()=>o})},6758:e=>{e.exports=function(e){return e[1]}},6902:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(7545);function o(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,r.A)(e):"null"));return e}},7545:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{A:()=>r})},7695:(e,t,n)=>{n.d(t,{LV:()=>p});const r=Symbol("Comlink.proxy"),o=Symbol("Comlink.endpoint"),a=Symbol("Comlink.releaseProxy"),i=Symbol("Comlink.finalizer"),c=Symbol("Comlink.thrown"),s=e=>"object"==typeof e&&null!==e||"function"==typeof e,u=new Map([["proxy",{canHandle:e=>s(e)&&e[r],serialize(e){const{port1:t,port2:n}=new MessageChannel;return l(e,t),[n,[n]]},deserialize:e=>(e.start(),p(e))}],["throw",{canHandle:e=>s(e)&&c in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function l(e,t=globalThis,n=["*"]){t.addEventListener("message",(function o(a){if(!a||!a.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(n,a.origin))return void console.warn(`Invalid origin '${a.origin}' for comlink proxy`);const{id:s,type:u,path:p}=Object.assign({path:[]},a.data),d=(a.data.argumentList||[]).map(A);let v;try{const t=p.slice(0,-1).reduce(((e,t)=>e[t]),e),n=p.reduce(((e,t)=>e[t]),e);switch(u){case"GET":v=n;break;case"SET":t[p.slice(-1)[0]]=A(a.data.value),v=!0;break;case"APPLY":v=n.apply(t,d);break;case"CONSTRUCT":v=function(e){return Object.assign(e,{[r]:!0})}(new n(...d));break;case"ENDPOINT":{const{port1:t,port2:n}=new MessageChannel;l(e,n),v=function(e,t){return g.set(e,t),e}(t,[t])}break;case"RELEASE":v=void 0;break;default:return}}catch(e){v={value:e,[c]:0}}Promise.resolve(v).catch((e=>({value:e,[c]:0}))).then((n=>{const[r,a]=w(n);t.postMessage(Object.assign(Object.assign({},r),{id:s}),a),"RELEASE"===u&&(t.removeEventListener("message",o),f(t),i in e&&"function"==typeof e[i]&&e[i]())})).catch((e=>{const[n,r]=w({value:new TypeError("Unserializable return value"),[c]:0});t.postMessage(Object.assign(Object.assign({},n),{id:s}),r)}))})),t.start&&t.start()}function f(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function p(e,t){const n=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}})),y(e,n,[],t)}function d(e){if(e)throw new Error("Proxy has been released and is not useable")}function v(e){return E(e,new Map,{type:"RELEASE"}).then((()=>{f(e)}))}const h=new WeakMap,m="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(h.get(e)||0)-1;h.set(e,t),0===t&&v(e)}));function y(e,t,n=[],r=function(){}){let i=!1;const c=new Proxy(r,{get(r,o){if(d(i),o===a)return()=>{!function(e){m&&m.unregister(e)}(c),v(e),t.clear(),i=!0};if("then"===o){if(0===n.length)return{then:()=>c};const r=E(e,t,{type:"GET",path:n.map((e=>e.toString()))}).then(A);return r.then.bind(r)}return y(e,t,[...n,o])},set(r,o,a){d(i);const[c,s]=w(a);return E(e,t,{type:"SET",path:[...n,o].map((e=>e.toString())),value:c},s).then(A)},apply(r,a,c){d(i);const s=n[n.length-1];if(s===o)return E(e,t,{type:"ENDPOINT"}).then(A);if("bind"===s)return y(e,t,n.slice(0,-1));const[u,l]=b(c);return E(e,t,{type:"APPLY",path:n.map((e=>e.toString())),argumentList:u},l).then(A)},construct(r,o){d(i);const[a,c]=b(o);return E(e,t,{type:"CONSTRUCT",path:n.map((e=>e.toString())),argumentList:a},c).then(A)}});return function(e,t){const n=(h.get(t)||0)+1;h.set(t,n),m&&m.register(e,t,e)}(c,e),c}function b(e){const t=e.map(w);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const g=new WeakMap;function w(e){for(const[t,n]of u)if(n.canHandle(e)){const[r,o]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},o]}return[{type:"RAW",value:e},g.get(e)||[]]}function A(e){switch(e.type){case"HANDLER":return u.get(e.name).deserialize(e.value);case"RAW":return e.value}}function E(e,t,n,r){return new Promise((o=>{const a=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(a,o),e.start&&e.start(),e.postMessage(Object.assign({id:a},n),r)}))}},8128:e=>{var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},8406:(e,t,n)=>{n.d(t,{y:()=>a});var r=n(6330),o=n(1361),a=function(){var e=(0,r.A)((function*(e,t,n){return(yield o.http.post("api/gateway/cmdb.instance.PostSearchV3/v3/object/".concat(e,"/instance/_search"),t,n)).data}));return function(t,n,r){return e.apply(this,arguments)}}()},9800:(e,t,n)=>{n.d(t,{y:()=>s});var r=n(4586);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){(0,r.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var i=n(6330),c=n(1361),s=function(){var e=(0,i.A)((function*(e,t,n,r){return(yield c.http.get("api/gateway/cmdb.instance.GetDetail/object/".concat(e,"/instance/").concat(t),a(a({},r),{},{params:n}))).data}));return function(t,n,r,o){return e.apply(this,arguments)}}()}}]);
3
+ //# sourceMappingURL=2750.ee5a8680.js.map