@whitesev/utils 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.amd.js +1814 -6017
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +1429 -5630
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +1429 -5628
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +1814 -6018
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +1826 -6032
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +1814 -6021
- package/dist/index.umd.js.map +1 -1
- package/dist/src/UtilsCore.d.ts +7 -0
- package/dist/src/{Utils.d.ts → index.d.ts} +206 -1
- package/index.ts +1 -1
- package/package.json +37 -35
- package/rollup.config.js +13 -1
- package/src/GBKEncoder.ts +2 -0
- package/src/UtilsCore.ts +9 -0
- package/src/UtilsGMCookie.ts +1 -1
- package/src/{ajaxHooker.js → ajaxHooker/ajaxHooker.js} +1 -0
- package/src/{Utils.ts → index.ts} +266 -16
- package/tsconfig.json +1 -2
- package/src/GBKEncoder.js +0 -111
- package/src/types/DOMUtils.d.ts +0 -188
- package/src/types/UtilsCore.d.ts +0 -7
- package/src/types/global.d.ts +0 -58
- /package/dist/src/{Dictionary.d.ts → Dictionary/Dictionary.d.ts} +0 -0
- /package/dist/src/{Hooks.d.ts → Hooks/Hooks.d.ts} +0 -0
- /package/dist/src/{Httpx.d.ts → Httpx/Httpx.d.ts} +0 -0
- /package/dist/src/{LockFunction.d.ts → LockFunction/LockFunction.d.ts} +0 -0
- /package/dist/src/{Log.d.ts → Log/Log.d.ts} +0 -0
- /package/dist/src/{Progress.d.ts → Progress/Progress.d.ts} +0 -0
- /package/dist/src/{UtilsGMMenu.d.ts → UtilsGMMenu/UtilsGMMenu.d.ts} +0 -0
- /package/dist/src/{ajaxHooker.d.ts → ajaxHooker/ajaxHooker.d.ts} +0 -0
- /package/dist/src/{indexedDB.d.ts → indexedDB/indexedDB.d.ts} +0 -0
- /package/dist/src/{tryCatch.d.ts → tryCatch/tryCatch.d.ts} +0 -0
- /package/src/{Dictionary.js → Dictionary/Dictionary.js} +0 -0
- /package/src/{types/Dictionary.d.ts → Dictionary/index.d.ts} +0 -0
- /package/src/{Hooks.js → Hooks/Hooks.js} +0 -0
- /package/src/{types/Hook.d.ts → Hooks/index.d.ts} +0 -0
- /package/src/{Httpx.js → Httpx/Httpx.js} +0 -0
- /package/src/{types/Httpx.d.ts → Httpx/index.d.ts} +0 -0
- /package/src/{LockFunction.js → LockFunction/LockFunction.js} +0 -0
- /package/src/{types/LockFunction.d.ts → LockFunction/index.d.ts} +0 -0
- /package/src/{Log.js → Log/Log.js} +0 -0
- /package/src/{types/Log.d.ts → Log/index.d.ts} +0 -0
- /package/src/{Progress.js → Progress/Progress.js} +0 -0
- /package/src/{types/Progress.d.ts → Progress/index.d.ts} +0 -0
- /package/src/{UtilsGMMenu.js → UtilsGMMenu/UtilsGMMenu.js} +0 -0
- /package/src/{types/UtilsGMMenu.d.ts → UtilsGMMenu/index.d.ts} +0 -0
- /package/src/{types/AjaxHooker.d.ts → ajaxHooker/index.d.ts} +0 -0
- /package/src/{types/Indexdb.d.ts → indexedDB/index.d.ts} +0 -0
- /package/src/{indexedDB.js → indexedDB/indexedDB.js} +0 -0
- /package/src/{types/TryCatch.d.ts → tryCatch/index.d.ts} +0 -0
- /package/src/{tryCatch.js → tryCatch/tryCatch.js} +0 -0
package/dist/index.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.amd.js","sources":["../../src/ColorConversion.ts","../../src/GBKEncoder.ts","../../src/UtilsCore.ts","../../src/UtilsGMCookie.ts","../src/ajaxHooker.js","../src/UtilsGMMenu.js","../src/Hooks.js","../src/Httpx.js","../src/indexedDB.js","../src/LockFunction.js","../src/Log.js","../src/Progress.js","../src/tryCatch.js","../src/Dictionary.js","../../src/Utils.ts"],"sourcesContent":[null,null,null,null,"// @name ajaxHooker\r\n// @author cxxjackie\r\n// @version 1.4.1\r\n// @supportURL https://bbs.tampermonkey.net.cn/thread-3284-1-1.html\r\n\r\nconst AjaxHooker = function () {\r\n\treturn (function () {\r\n\t\t\"use strict\";\r\n\t\tconst version = \"1.4.1\";\r\n\t\tconst hookInst = {\r\n\t\t\thookFns: [],\r\n\t\t\tfilters: [],\r\n\t\t};\r\n\t\tconst win = window.unsafeWindow || document.defaultView || window;\r\n\t\tlet winAh = win.__ajaxHooker;\r\n\t\tconst resProto = win.Response.prototype;\r\n\t\tconst xhrResponses = [\"response\", \"responseText\", \"responseXML\"];\r\n\t\tconst fetchResponses = [\"arrayBuffer\", \"blob\", \"formData\", \"json\", \"text\"];\r\n\t\tconst fetchInitProps = [\r\n\t\t\t\"method\",\r\n\t\t\t\"headers\",\r\n\t\t\t\"body\",\r\n\t\t\t\"mode\",\r\n\t\t\t\"credentials\",\r\n\t\t\t\"cache\",\r\n\t\t\t\"redirect\",\r\n\t\t\t\"referrer\",\r\n\t\t\t\"referrerPolicy\",\r\n\t\t\t\"integrity\",\r\n\t\t\t\"keepalive\",\r\n\t\t\t\"signal\",\r\n\t\t\t\"priority\",\r\n\t\t];\r\n\t\tconst xhrAsyncEvents = [\"readystatechange\", \"load\", \"loadend\"];\r\n\t\tconst getType = {}.toString.call.bind({}.toString);\r\n\t\tconst getDescriptor = Object.getOwnPropertyDescriptor.bind(Object);\r\n\t\tconst emptyFn = () => {};\r\n\t\tconst errorFn = (e) => console.error(e);\r\n\t\tfunction isThenable(obj) {\r\n\t\t\treturn (\r\n\t\t\t\tobj &&\r\n\t\t\t\t[\"object\", \"function\"].includes(typeof obj) &&\r\n\t\t\t\ttypeof obj.then === \"function\"\r\n\t\t\t);\r\n\t\t}\r\n\t\tfunction catchError(fn, ...args) {\r\n\t\t\ttry {\r\n\t\t\t\tconst result = fn(...args);\r\n\t\t\t\tif (isThenable(result)) return result.then(null, errorFn);\r\n\t\t\t\treturn result;\r\n\t\t\t} catch (err) {\r\n\t\t\t\tconsole.error(err);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction defineProp(obj, prop, getter, setter) {\r\n\t\t\tObject.defineProperty(obj, prop, {\r\n\t\t\t\tconfigurable: true,\r\n\t\t\t\tenumerable: true,\r\n\t\t\t\tget: getter,\r\n\t\t\t\tset: setter,\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction readonly(obj, prop, value = obj[prop]) {\r\n\t\t\tdefineProp(obj, prop, () => value, emptyFn);\r\n\t\t}\r\n\t\tfunction writable(obj, prop, value = obj[prop]) {\r\n\t\t\tObject.defineProperty(obj, prop, {\r\n\t\t\t\tconfigurable: true,\r\n\t\t\t\tenumerable: true,\r\n\t\t\t\twritable: true,\r\n\t\t\t\tvalue: value,\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction parseHeaders(obj) {\r\n\t\t\tconst headers = {};\r\n\t\t\tswitch (getType(obj)) {\r\n\t\t\t\tcase \"[object String]\":\r\n\t\t\t\t\tfor (const line of obj.trim().split(/[\\r\\n]+/)) {\r\n\t\t\t\t\t\tconst [header, value] = line.split(/\\s*:\\s*/);\r\n\t\t\t\t\t\tif (!header) break;\r\n\t\t\t\t\t\tconst lheader = header.toLowerCase();\r\n\t\t\t\t\t\theaders[lheader] =\r\n\t\t\t\t\t\t\tlheader in headers ? `${headers[lheader]}, ${value}` : value;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"[object Headers]\":\r\n\t\t\t\t\tfor (const [key, val] of obj) {\r\n\t\t\t\t\t\theaders[key] = val;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"[object Object]\":\r\n\t\t\t\t\treturn { ...obj };\r\n\t\t\t}\r\n\t\t\treturn headers;\r\n\t\t}\r\n\t\tfunction stopImmediatePropagation() {\r\n\t\t\tthis.ajaxHooker_isStopped = true;\r\n\t\t}\r\n\t\tclass SyncThenable {\r\n\t\t\tthen(fn) {\r\n\t\t\t\tfn && fn();\r\n\t\t\t\treturn new SyncThenable();\r\n\t\t\t}\r\n\t\t}\r\n\t\tclass AHRequest {\r\n\t\t\tconstructor(request) {\r\n\t\t\t\tthis.request = request;\r\n\t\t\t\tthis.requestClone = { ...this.request };\r\n\t\t\t}\r\n\t\t\tshouldFilter(filters) {\r\n\t\t\t\tconst { type, url, method, async } = this.request;\r\n\t\t\t\treturn (\r\n\t\t\t\t\tfilters.length &&\r\n\t\t\t\t\t!filters.find((obj) => {\r\n\t\t\t\t\t\tswitch (true) {\r\n\t\t\t\t\t\t\tcase obj.type && obj.type !== type:\r\n\t\t\t\t\t\t\tcase getType(obj.url) === \"[object String]\" &&\r\n\t\t\t\t\t\t\t\t!url.includes(obj.url):\r\n\t\t\t\t\t\t\tcase getType(obj.url) === \"[object RegExp]\" && !obj.url.test(url):\r\n\t\t\t\t\t\t\tcase obj.method &&\r\n\t\t\t\t\t\t\t\tobj.method.toUpperCase() !== method.toUpperCase():\r\n\t\t\t\t\t\t\tcase \"async\" in obj && obj.async !== async:\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\twaitForRequestKeys() {\r\n\t\t\t\tconst requestKeys = [\"url\", \"method\", \"abort\", \"headers\", \"data\"];\r\n\t\t\t\tif (!this.request.async) {\r\n\t\t\t\t\twin.__ajaxHooker.hookInsts.forEach(({ hookFns, filters }) => {\r\n\t\t\t\t\t\tif (this.shouldFilter(filters)) return;\r\n\t\t\t\t\t\thookFns.forEach((fn) => {\r\n\t\t\t\t\t\t\tif (getType(fn) === \"[object Function]\")\r\n\t\t\t\t\t\t\t\tcatchError(fn, this.request);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\trequestKeys.forEach((key) => {\r\n\t\t\t\t\t\t\tif (isThenable(this.request[key]))\r\n\t\t\t\t\t\t\t\tthis.request[key] = this.requestClone[key];\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn new SyncThenable();\r\n\t\t\t\t}\r\n\t\t\t\tconst promises = [];\r\n\t\t\t\twin.__ajaxHooker.hookInsts.forEach(({ hookFns, filters }) => {\r\n\t\t\t\t\tif (this.shouldFilter(filters)) return;\r\n\t\t\t\t\tpromises.push(\r\n\t\t\t\t\t\tPromise.all(hookFns.map((fn) => catchError(fn, this.request))).then(\r\n\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\tPromise.all(\r\n\t\t\t\t\t\t\t\t\trequestKeys.map((key) =>\r\n\t\t\t\t\t\t\t\t\t\tPromise.resolve(this.request[key]).then(\r\n\t\t\t\t\t\t\t\t\t\t\t(val) => (this.request[key] = val),\r\n\t\t\t\t\t\t\t\t\t\t\t() => (this.request[key] = this.requestClone[key])\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\t\treturn Promise.all(promises);\r\n\t\t\t}\r\n\t\t\twaitForResponseKeys(response) {\r\n\t\t\t\tconst responseKeys =\r\n\t\t\t\t\tthis.request.type === \"xhr\" ? xhrResponses : fetchResponses;\r\n\t\t\t\tif (!this.request.async) {\r\n\t\t\t\t\tif (getType(this.request.response) === \"[object Function]\") {\r\n\t\t\t\t\t\tcatchError(this.request.response, response);\r\n\t\t\t\t\t\tresponseKeys.forEach((key) => {\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\"get\" in getDescriptor(response, key) ||\r\n\t\t\t\t\t\t\t\tisThenable(response[key])\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tdelete response[key];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn new SyncThenable();\r\n\t\t\t\t}\r\n\t\t\t\treturn Promise.resolve(\r\n\t\t\t\t\tcatchError(this.request.response, response)\r\n\t\t\t\t).then(() =>\r\n\t\t\t\t\tPromise.all(\r\n\t\t\t\t\t\tresponseKeys.map((key) => {\r\n\t\t\t\t\t\t\tconst descriptor = getDescriptor(response, key);\r\n\t\t\t\t\t\t\tif (descriptor && \"value\" in descriptor) {\r\n\t\t\t\t\t\t\t\treturn Promise.resolve(descriptor.value).then(\r\n\t\t\t\t\t\t\t\t\t(val) => (response[key] = val),\r\n\t\t\t\t\t\t\t\t\t() => delete response[key]\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tdelete response[key];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst proxyHandler = {\r\n\t\t\tget(target, prop) {\r\n\t\t\t\tconst descriptor = getDescriptor(target, prop);\r\n\t\t\t\tif (\r\n\t\t\t\t\tdescriptor &&\r\n\t\t\t\t\t!descriptor.configurable &&\r\n\t\t\t\t\t!descriptor.writable &&\r\n\t\t\t\t\t!descriptor.get\r\n\t\t\t\t)\r\n\t\t\t\t\treturn target[prop];\r\n\t\t\t\tconst ah = target.__ajaxHooker;\r\n\t\t\t\tif (ah && ah.proxyProps) {\r\n\t\t\t\t\tif (prop in ah.proxyProps) {\r\n\t\t\t\t\t\tconst pDescriptor = ah.proxyProps[prop];\r\n\t\t\t\t\t\tif (\"get\" in pDescriptor) return pDescriptor.get();\r\n\t\t\t\t\t\tif (typeof pDescriptor.value === \"function\")\r\n\t\t\t\t\t\t\treturn pDescriptor.value.bind(ah);\r\n\t\t\t\t\t\treturn pDescriptor.value;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (typeof target[prop] === \"function\")\r\n\t\t\t\t\t\treturn target[prop].bind(target);\r\n\t\t\t\t}\r\n\t\t\t\treturn target[prop];\r\n\t\t\t},\r\n\t\t\tset(target, prop, value) {\r\n\t\t\t\tconst descriptor = getDescriptor(target, prop);\r\n\t\t\t\tif (\r\n\t\t\t\t\tdescriptor &&\r\n\t\t\t\t\t!descriptor.configurable &&\r\n\t\t\t\t\t!descriptor.writable &&\r\n\t\t\t\t\t!descriptor.set\r\n\t\t\t\t)\r\n\t\t\t\t\treturn true;\r\n\t\t\t\tconst ah = target.__ajaxHooker;\r\n\t\t\t\tif (ah && ah.proxyProps && prop in ah.proxyProps) {\r\n\t\t\t\t\tconst pDescriptor = ah.proxyProps[prop];\r\n\t\t\t\t\tpDescriptor.set\r\n\t\t\t\t\t\t? pDescriptor.set(value)\r\n\t\t\t\t\t\t: (pDescriptor.value = value);\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttarget[prop] = value;\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t},\r\n\t\t};\r\n\t\tclass XhrHooker {\r\n\t\t\tconstructor(xhr) {\r\n\t\t\t\tconst ah = this;\r\n\t\t\t\tObject.assign(ah, {\r\n\t\t\t\t\toriginalXhr: xhr,\r\n\t\t\t\t\tproxyXhr: new Proxy(xhr, proxyHandler),\r\n\t\t\t\t\tresThenable: new SyncThenable(),\r\n\t\t\t\t\tproxyProps: {},\r\n\t\t\t\t\tproxyEvents: {},\r\n\t\t\t\t});\r\n\t\t\t\txhr.addEventListener(\"readystatechange\", (e) => {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tah.proxyXhr.readyState === 4 &&\r\n\t\t\t\t\t\tah.request &&\r\n\t\t\t\t\t\ttypeof ah.request.response === \"function\"\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst response = {\r\n\t\t\t\t\t\t\tfinalUrl: ah.proxyXhr.responseURL,\r\n\t\t\t\t\t\t\tstatus: ah.proxyXhr.status,\r\n\t\t\t\t\t\t\tresponseHeaders: parseHeaders(\r\n\t\t\t\t\t\t\t\tah.proxyXhr.getAllResponseHeaders()\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tconst tempValues = {};\r\n\t\t\t\t\t\tfor (const key of xhrResponses) {\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\ttempValues[key] = ah.originalXhr[key];\r\n\t\t\t\t\t\t\t} catch (err) {}\r\n\t\t\t\t\t\t\tdefineProp(\r\n\t\t\t\t\t\t\t\tresponse,\r\n\t\t\t\t\t\t\t\tkey,\r\n\t\t\t\t\t\t\t\t() => {\r\n\t\t\t\t\t\t\t\t\treturn (response[key] = tempValues[key]);\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t(val) => {\r\n\t\t\t\t\t\t\t\t\tdelete response[key];\r\n\t\t\t\t\t\t\t\t\tresponse[key] = val;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tah.resThenable = new AHRequest(ah.request)\r\n\t\t\t\t\t\t\t.waitForResponseKeys(response)\r\n\t\t\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\t\t\tfor (const key of xhrResponses) {\r\n\t\t\t\t\t\t\t\t\tah.proxyProps[key] = {\r\n\t\t\t\t\t\t\t\t\t\tget: () => {\r\n\t\t\t\t\t\t\t\t\t\t\tif (!(key in response)) response[key] = tempValues[key];\r\n\t\t\t\t\t\t\t\t\t\t\treturn response[key];\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tah.dispatchEvent(e);\r\n\t\t\t\t});\r\n\t\t\t\txhr.addEventListener(\"load\", (e) => ah.dispatchEvent(e));\r\n\t\t\t\txhr.addEventListener(\"loadend\", (e) => ah.dispatchEvent(e));\r\n\t\t\t\tfor (const evt of xhrAsyncEvents) {\r\n\t\t\t\t\tconst onEvt = \"on\" + evt;\r\n\t\t\t\t\tah.proxyProps[onEvt] = {\r\n\t\t\t\t\t\tget: () => ah.proxyEvents[onEvt] || null,\r\n\t\t\t\t\t\tset: (val) => ah.addEvent(onEvt, val),\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tfor (const method of [\r\n\t\t\t\t\t\"setRequestHeader\",\r\n\t\t\t\t\t\"addEventListener\",\r\n\t\t\t\t\t\"removeEventListener\",\r\n\t\t\t\t\t\"open\",\r\n\t\t\t\t\t\"send\",\r\n\t\t\t\t]) {\r\n\t\t\t\t\tah.proxyProps[method] = { value: ah[method] };\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ttoJSON() {} // Converting circular structure to JSON\r\n\t\t\taddEvent(type, event) {\r\n\t\t\t\tif (type.startsWith(\"on\")) {\r\n\t\t\t\t\tthis.proxyEvents[type] = typeof event === \"function\" ? event : null;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (typeof event === \"object\" && event !== null)\r\n\t\t\t\t\t\tevent = event.handleEvent;\r\n\t\t\t\t\tif (typeof event !== \"function\") return;\r\n\t\t\t\t\tthis.proxyEvents[type] = this.proxyEvents[type] || new Set();\r\n\t\t\t\t\tthis.proxyEvents[type].add(event);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tremoveEvent(type, event) {\r\n\t\t\t\tif (type.startsWith(\"on\")) {\r\n\t\t\t\t\tthis.proxyEvents[type] = null;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (typeof event === \"object\" && event !== null)\r\n\t\t\t\t\t\tevent = event.handleEvent;\r\n\t\t\t\t\tthis.proxyEvents[type] && this.proxyEvents[type].delete(event);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdispatchEvent(e) {\r\n\t\t\t\te.stopImmediatePropagation = stopImmediatePropagation;\r\n\t\t\t\tdefineProp(e, \"target\", () => this.proxyXhr);\r\n\t\t\t\tthis.proxyEvents[e.type] &&\r\n\t\t\t\t\tthis.proxyEvents[e.type].forEach((fn) => {\r\n\t\t\t\t\t\tthis.resThenable.then(\r\n\t\t\t\t\t\t\t() => !e.ajaxHooker_isStopped && fn.call(this.proxyXhr, e)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\tif (e.ajaxHooker_isStopped) return;\r\n\t\t\t\tconst onEvent = this.proxyEvents[\"on\" + e.type];\r\n\t\t\t\tonEvent && this.resThenable.then(onEvent.bind(this.proxyXhr, e));\r\n\t\t\t}\r\n\t\t\tsetRequestHeader(header, value) {\r\n\t\t\t\tthis.originalXhr.setRequestHeader(header, value);\r\n\t\t\t\tif (this.originalXhr.readyState !== 1) return;\r\n\t\t\t\tconst headers = this.request.headers;\r\n\t\t\t\theaders[header] =\r\n\t\t\t\t\theader in headers ? `${headers[header]}, ${value}` : value;\r\n\t\t\t}\r\n\t\t\taddEventListener(...args) {\r\n\t\t\t\tif (xhrAsyncEvents.includes(args[0])) {\r\n\t\t\t\t\tthis.addEvent(args[0], args[1]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.originalXhr.addEventListener(...args);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tremoveEventListener(...args) {\r\n\t\t\t\tif (xhrAsyncEvents.includes(args[0])) {\r\n\t\t\t\t\tthis.removeEvent(args[0], args[1]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.originalXhr.removeEventListener(...args);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\topen(method, url, async = true, ...args) {\r\n\t\t\t\tthis.request = {\r\n\t\t\t\t\ttype: \"xhr\",\r\n\t\t\t\t\turl: url.toString(),\r\n\t\t\t\t\tmethod: method.toUpperCase(),\r\n\t\t\t\t\tabort: false,\r\n\t\t\t\t\theaders: {},\r\n\t\t\t\t\tdata: null,\r\n\t\t\t\t\tresponse: null,\r\n\t\t\t\t\tasync: !!async,\r\n\t\t\t\t};\r\n\t\t\t\tthis.openArgs = args;\r\n\t\t\t\tthis.resThenable = new SyncThenable();\r\n\t\t\t\t[\r\n\t\t\t\t\t\"responseURL\",\r\n\t\t\t\t\t\"readyState\",\r\n\t\t\t\t\t\"status\",\r\n\t\t\t\t\t\"statusText\",\r\n\t\t\t\t\t...xhrResponses,\r\n\t\t\t\t].forEach((key) => {\r\n\t\t\t\t\tdelete this.proxyProps[key];\r\n\t\t\t\t});\r\n\t\t\t\treturn this.originalXhr.open(method, url, async, ...args);\r\n\t\t\t}\r\n\t\t\tsend(data) {\r\n\t\t\t\tconst ah = this;\r\n\t\t\t\tconst xhr = ah.originalXhr;\r\n\t\t\t\tconst request = ah.request;\r\n\t\t\t\tif (!request) return xhr.send(data);\r\n\t\t\t\trequest.data = data;\r\n\t\t\t\tnew AHRequest(request).waitForRequestKeys().then(() => {\r\n\t\t\t\t\tif (request.abort) {\r\n\t\t\t\t\t\tif (typeof request.response === \"function\") {\r\n\t\t\t\t\t\t\tObject.assign(ah.proxyProps, {\r\n\t\t\t\t\t\t\t\tresponseURL: { value: request.url },\r\n\t\t\t\t\t\t\t\treadyState: { value: 4 },\r\n\t\t\t\t\t\t\t\tstatus: { value: 200 },\r\n\t\t\t\t\t\t\t\tstatusText: { value: \"OK\" },\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\txhrAsyncEvents.forEach((evt) =>\r\n\t\t\t\t\t\t\t\txhr.dispatchEvent(new Event(evt))\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\txhr.open(\r\n\t\t\t\t\t\t\trequest.method,\r\n\t\t\t\t\t\t\trequest.url,\r\n\t\t\t\t\t\t\trequest.async,\r\n\t\t\t\t\t\t\t...ah.openArgs\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tfor (const header in request.headers) {\r\n\t\t\t\t\t\t\txhr.setRequestHeader(header, request.headers[header]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\txhr.send(request.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction fakeXHR() {\r\n\t\t\tconst xhr = new winAh.realXHR();\r\n\t\t\tif (\"__ajaxHooker\" in xhr)\r\n\t\t\t\tconsole.warn(\"检测到不同版本的ajaxHooker,可能发生冲突!\");\r\n\t\t\txhr.__ajaxHooker = new XhrHooker(xhr);\r\n\t\t\treturn xhr.__ajaxHooker.proxyXhr;\r\n\t\t}\r\n\t\tfakeXHR.prototype = win.XMLHttpRequest.prototype;\r\n\t\tObject.keys(win.XMLHttpRequest).forEach(\r\n\t\t\t(key) => (fakeXHR[key] = win.XMLHttpRequest[key])\r\n\t\t);\r\n\t\tfunction fakeFetch(url, options = {}) {\r\n\t\t\tif (!url) return winAh.realFetch.call(win, url, options);\r\n\t\t\tconst init = {};\r\n\t\t\tif (getType(url) === \"[object Request]\") {\r\n\t\t\t\tfor (const prop of fetchInitProps) init[prop] = url[prop];\r\n\t\t\t\turl = url.url;\r\n\t\t\t}\r\n\t\t\turl = url.toString();\r\n\t\t\tObject.assign(init, options);\r\n\t\t\tinit.method = init.method || \"GET\";\r\n\t\t\tinit.headers = init.headers || {};\r\n\t\t\tconst request = {\r\n\t\t\t\ttype: \"fetch\",\r\n\t\t\t\turl: url,\r\n\t\t\t\tmethod: init.method.toUpperCase(),\r\n\t\t\t\tabort: false,\r\n\t\t\t\theaders: parseHeaders(init.headers),\r\n\t\t\t\tdata: init.body,\r\n\t\t\t\tresponse: null,\r\n\t\t\t\tasync: true,\r\n\t\t\t};\r\n\t\t\tconst req = new AHRequest(request);\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\treq\r\n\t\t\t\t\t.waitForRequestKeys()\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tif (request.abort) {\r\n\t\t\t\t\t\t\tif (typeof request.response === \"function\") {\r\n\t\t\t\t\t\t\t\tconst response = {\r\n\t\t\t\t\t\t\t\t\tfinalUrl: request.url,\r\n\t\t\t\t\t\t\t\t\tstatus: 200,\r\n\t\t\t\t\t\t\t\t\tresponseHeaders: {},\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\treq.waitForResponseKeys(response).then(() => {\r\n\t\t\t\t\t\t\t\t\tconst key = fetchResponses.find((k) => k in response);\r\n\t\t\t\t\t\t\t\t\tlet val = response[key];\r\n\t\t\t\t\t\t\t\t\tif (key === \"json\" && typeof val === \"object\") {\r\n\t\t\t\t\t\t\t\t\t\tval = catchError(JSON.stringify.bind(JSON), val);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tconst res = new Response(val, {\r\n\t\t\t\t\t\t\t\t\t\tstatus: 200,\r\n\t\t\t\t\t\t\t\t\t\tstatusText: \"OK\",\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tdefineProp(res, \"type\", () => \"basic\");\r\n\t\t\t\t\t\t\t\t\tdefineProp(res, \"url\", () => request.url);\r\n\t\t\t\t\t\t\t\t\tresolve(res);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\treject(new DOMException(\"aborted\", \"AbortError\"));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tinit.method = request.method;\r\n\t\t\t\t\t\tinit.headers = request.headers;\r\n\t\t\t\t\t\tinit.body = request.data;\r\n\t\t\t\t\t\twinAh.realFetch.call(win, request.url, init).then((res) => {\r\n\t\t\t\t\t\t\tif (typeof request.response === \"function\") {\r\n\t\t\t\t\t\t\t\tconst response = {\r\n\t\t\t\t\t\t\t\t\tfinalUrl: res.url,\r\n\t\t\t\t\t\t\t\t\tstatus: res.status,\r\n\t\t\t\t\t\t\t\t\tresponseHeaders: parseHeaders(res.headers),\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tfetchResponses.forEach(\r\n\t\t\t\t\t\t\t\t\t(key) =>\r\n\t\t\t\t\t\t\t\t\t\t(res[key] = function () {\r\n\t\t\t\t\t\t\t\t\t\t\tif (key in response)\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn Promise.resolve(response[key]);\r\n\t\t\t\t\t\t\t\t\t\t\treturn resProto[key].call(this).then((val) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tresponse[key] = val;\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn req\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.waitForResponseKeys(response)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.then(() => (key in response ? response[key] : val));\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tresolve(res);\r\n\t\t\t\t\t\t}, reject);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tconsole.error(err);\r\n\t\t\t\t\t\tresolve(winAh.realFetch.call(win, url, init));\r\n\t\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction fakeFetchClone() {\r\n\t\t\tconst descriptors = Object.getOwnPropertyDescriptors(this);\r\n\t\t\tconst res = winAh.realFetchClone.call(this);\r\n\t\t\tObject.defineProperties(res, descriptors);\r\n\t\t\treturn res;\r\n\t\t}\r\n\t\twinAh = win.__ajaxHooker = winAh || {\r\n\t\t\tversion,\r\n\t\t\tfakeXHR,\r\n\t\t\tfakeFetch,\r\n\t\t\tfakeFetchClone,\r\n\t\t\trealXHR: win.XMLHttpRequest,\r\n\t\t\trealFetch: win.fetch,\r\n\t\t\trealFetchClone: resProto.clone,\r\n\t\t\thookInsts: new Set(),\r\n\t\t};\r\n\t\tif (winAh.version !== version)\r\n\t\t\tconsole.warn(\"检测到不同版本的ajaxHooker,可能发生冲突!\");\r\n\t\twin.XMLHttpRequest = winAh.fakeXHR;\r\n\t\twin.fetch = winAh.fakeFetch;\r\n\t\tresProto.clone = winAh.fakeFetchClone;\r\n\t\twinAh.hookInsts.add(hookInst);\r\n\t\treturn {\r\n\t\t\thook: (fn) => hookInst.hookFns.push(fn),\r\n\t\t\tfilter: (arr) => {\r\n\t\t\t\tif (Array.isArray(arr)) hookInst.filters = arr;\r\n\t\t\t},\r\n\t\t\tprotect: () => {\r\n\t\t\t\treadonly(win, \"XMLHttpRequest\", winAh.fakeXHR);\r\n\t\t\t\treadonly(win, \"fetch\", winAh.fakeFetch);\r\n\t\t\t\treadonly(resProto, \"clone\", winAh.fakeFetchClone);\r\n\t\t\t},\r\n\t\t\tunhook: () => {\r\n\t\t\t\twinAh.hookInsts.delete(hookInst);\r\n\t\t\t\tif (!winAh.hookInsts.size) {\r\n\t\t\t\t\twritable(win, \"XMLHttpRequest\", winAh.realXHR);\r\n\t\t\t\t\twritable(win, \"fetch\", winAh.realFetch);\r\n\t\t\t\t\twritable(resProto, \"clone\", winAh.realFetchClone);\r\n\t\t\t\t\tdelete win.__ajaxHooker;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t};\r\n\t})();\r\n};\r\n\r\nexport { AjaxHooker };\r\n","/**\r\n * \r\n * @param {UtilsGMMenuConstructorOptions} details \r\n */\r\nconst GMMenu = function (details) {\r\n\tconst GM_Api = {\r\n\t\t/**\r\n\t\t * 获取存储的数据\r\n\t\t * @type {GM_getValue}\r\n\t\t */\r\n\t\tgetValue: details.GM_getValue,\r\n\t\t/**\r\n\t\t * 设置数据到存储\r\n\t\t * @type {GM_setValue}\r\n\t\t */\r\n\t\tsetValue: details.GM_setValue,\r\n\t\t/**\r\n\t\t * 注册菜单\r\n\t\t * @type {GM_registerMenuCommand}\r\n\t\t */\r\n\t\tregisterMenuCommand: details.GM_registerMenuCommand,\r\n\t\t/**\r\n\t\t * 卸载菜单\r\n\t\t * @type {GM_unregisterMenuCommand}\r\n\t\t */\r\n\t\tunregisterMenuCommand: details.GM_unregisterMenuCommand,\r\n\t};\r\n\tfor (const keyName of Object.keys(GM_Api)) {\r\n\t\tif (typeof GM_Api[keyName] !== \"function\") {\r\n\t\t\tthrow new Error(\r\n\t\t\t\t`Utils.GM_Menu 请在脚本开头加上 @grant ${keyName},且传入该对象`\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\t/** 上下文 */\r\n\tconst context = this;\r\n\r\n\tconst MenuHandle = {\r\n\t\t$data: {\r\n\t\t\t/**\r\n\t\t\t * 菜单数据\r\n\t\t\t * @type {UtilsGMMenuOptionData[]}\r\n\t\t\t */\r\n\t\t\tdata: [],\r\n\t\t\t/**\r\n\t\t\t * 本地存储的键名\r\n\t\t\t */\r\n\t\t\tkey: \"GM_Menu_Local_Map\",\r\n\t\t},\r\n\t\t$default: {\r\n\t\t\t/** 自动刷新网页,默认为true */\r\n\t\t\tautoReload:\r\n\t\t\t\ttypeof details.autoReload === \"boolean\" ? details.autoReload : true,\r\n\t\t\t/**\r\n\t\t\t * 菜单isStoreValue的默认值\r\n\t\t\t */\r\n\t\t\tisStoreValue: true,\r\n\t\t},\r\n\t\t$emoji: {\r\n\t\t\t/**\r\n\t\t\t * 菜单enable为true的emoji\r\n\t\t\t */\r\n\t\t\tsuccess: \"✅\",\r\n\t\t\t/**\r\n\t\t\t * 菜单enable为false的emoji\r\n\t\t\t */\r\n\t\t\terror: \"❌\",\r\n\t\t},\r\n\t\t/**\r\n\t\t * 初始化数据\r\n\t\t */\r\n\t\tinit() {\r\n\t\t\tfor (let index = 0; index < this.$data.data.length; index++) {\r\n\t\t\t\tlet menuOption = this.$data.data[index][\"data\"];\r\n\t\t\t\tmenuOption.enable = Boolean(\r\n\t\t\t\t\tthis.getLocalMenuData(menuOption.key, menuOption.enable)\r\n\t\t\t\t);\r\n\t\t\t\tif (typeof menuOption.showText !== \"function\") {\r\n\t\t\t\t\tmenuOption.showText = (menuText, menuEnable) => {\r\n\t\t\t\t\t\tif (menuEnable) {\r\n\t\t\t\t\t\t\treturn this.$emoji.success + \" \" + menuText;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn this.$emoji.error + \" \" + menuText;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * 注册油猴菜单\r\n\t\t * @param { ?UtilsGMMenuOptionData[] } menuOptions 如果存在,使用它\r\n\t\t */\r\n\t\tregister(menuOptions) {\r\n\t\t\tif (menuOptions == null) {\r\n\t\t\t\tthrow new TypeError(\"register菜单数据不能为空\");\r\n\t\t\t}\r\n\t\t\tif (!Array.isArray(menuOptions)) {\r\n\t\t\t\tmenuOptions = [menuOptions];\r\n\t\t\t}\r\n\t\t\tfor (let index = 0; index < menuOptions.length; index++) {\r\n\t\t\t\tlet cloneMenuOptionData = Utils.deepClone(menuOptions[index].data);\r\n\t\t\t\tconst { showText, clickCallBack } =\r\n\t\t\t\t\tthis.handleMenuData(cloneMenuOptionData);\r\n\t\t\t\tlet menuId = GM_Api.registerMenuCommand(showText, clickCallBack);\r\n\t\t\t\tmenuOptions[index].id = menuId;\r\n\t\t\t\tcloneMenuOptionData.deleteMenu = function () {\r\n\t\t\t\t\tGM_Api.unregisterMenuCommand(menuId);\r\n\t\t\t\t};\r\n\t\t\t\tReflect.deleteProperty(menuOptions[index], \"handleData\");\r\n\t\t\t\tmenuOptions[index].handleData = cloneMenuOptionData;\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * 获取本地存储菜单键值\r\n\t\t * @param {string} key 键\r\n\t\t * @returns {boolean}\r\n\t\t */\r\n\t\tgetLocalMenuData(key, defaultValue) {\r\n\t\t\tlet localData = GM_Api.getValue(this.$data.key, {});\r\n\t\t\tif (key in localData) {\r\n\t\t\t\treturn localData[key];\r\n\t\t\t} else {\r\n\t\t\t\treturn defaultValue;\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * 设置本地存储菜单键值\r\n\t\t * @param {string} key 键\r\n\t\t * @param {boolean} value 值\r\n\t\t */\r\n\t\tsetLocalMenuData(key, value) {\r\n\t\t\tlet localData = GM_Api.getValue(this.$data.key, {});\r\n\t\t\tlocalData[key] = value;\r\n\t\t\tGM_Api.setValue(this.$data.key, localData);\r\n\t\t},\r\n\t\t/**\r\n\t\t * 处理初始化配置\r\n\t\t * @param { UtilsGMMenuOption } menuOption\r\n\t\t */\r\n\t\thandleInitDetail(menuOption) {\r\n\t\t\tmenuOption.enable = Boolean(\r\n\t\t\t\tthis.getLocalMenuData(menuOption.key, menuOption.enable)\r\n\t\t\t);\r\n\t\t\tif (typeof menuOption.showText !== \"function\") {\r\n\t\t\t\tmenuOption.showText = (menuText, menuEnable) => {\r\n\t\t\t\t\tif (menuEnable) {\r\n\t\t\t\t\t\treturn this.$emoji.success + \" \" + menuText;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn this.$emoji.error + \" \" + menuText;\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn menuOption;\r\n\t\t},\r\n\t\t/**\r\n\t\t * 对菜单数据进行处理\r\n\t\t * @param { UtilsGMMenuOption } menuOption\r\n\t\t */\r\n\t\thandleMenuData(menuOption) {\r\n\t\t\tlet menuLocalDataItemKey = menuOption.key;\r\n\t\t\t/* 菜单默认开启的状态 */\r\n\t\t\tlet defaultEnable = Boolean(\r\n\t\t\t\tthis.getLocalMenuData(menuLocalDataItemKey, menuOption.enable)\r\n\t\t\t);\r\n\t\t\t/** 油猴菜单上显示的文本 */\r\n\t\t\tlet showText = menuOption.showText(menuOption.text, defaultEnable);\r\n\t\t\tconst that = this;\r\n\t\t\tconst GMMenuOptions = {\r\n\t\t\t\t/**\r\n\t\t\t\t * 菜单的id\r\n\t\t\t\t */\r\n\t\t\t\tid: menuOption.id,\r\n\t\t\t\t/**\r\n\t\t\t\t * 点击菜单项后是否应关闭弹出菜单\r\n\t\t\t\t */\r\n\t\t\t\tautoClose: menuOption.autoClose,\r\n\t\t\t\t/**\r\n\t\t\t\t * 菜单项的可选访问键\r\n\t\t\t\t */\r\n\t\t\t\taccessKey: menuOption.accessKey,\r\n\t\t\t\t/**\r\n\t\t\t\t * 菜单项的鼠标悬浮上的工具提示\r\n\t\t\t\t */\r\n\t\t\t\ttitle: menuOption.title,\r\n\t\t\t};\r\n\t\t\t/* 点击菜单后触发callback后的网页是否刷新 */\r\n\t\t\tmenuOption.autoReload =\r\n\t\t\t\ttypeof menuOption.autoReload !== \"boolean\"\r\n\t\t\t\t\t? this.$default.autoReload\r\n\t\t\t\t\t: menuOption.autoReload;\r\n\t\t\t/* 点击菜单后触发callback后的网页是否存储值 */\r\n\t\t\tmenuOption.isStoreValue =\r\n\t\t\t\ttypeof menuOption.isStoreValue !== \"boolean\"\r\n\t\t\t\t\t? this.$default.isStoreValue\r\n\t\t\t\t\t: menuOption.isStoreValue;\r\n\t\t\t/**\r\n\t\t\t * 用户点击菜单后的回调函数\r\n\t\t\t * @param {MouseEvent|PointerEvent} event\r\n\t\t\t */\r\n\t\t\tfunction clickCallBack(event) {\r\n\t\t\t\tlet localEnable = Boolean(\r\n\t\t\t\t\tthat.getLocalMenuData(menuLocalDataItemKey, defaultEnable)\r\n\t\t\t\t);\r\n\t\t\t\tif (menuOption.isStoreValue) {\r\n\t\t\t\t\tthat.setLocalMenuData(menuLocalDataItemKey, !localEnable);\r\n\t\t\t\t}\r\n\t\t\t\tif (typeof menuOption.callback === \"function\") {\r\n\t\t\t\t\tmenuOption.callback({\r\n\t\t\t\t\t\tkey: menuLocalDataItemKey,\r\n\t\t\t\t\t\tenable: !localEnable,\r\n\t\t\t\t\t\toldEnable: localEnable,\r\n\t\t\t\t\t\tevent: event,\r\n\t\t\t\t\t\tstoreValue(value) {\r\n\t\t\t\t\t\t\tthat.setLocalMenuData(menuLocalDataItemKey, value);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\t/* 不刷新网页就刷新菜单 */\r\n\t\t\t\tif (menuOption.autoReload) {\r\n\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontext.update();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tshowText,\r\n\t\t\t\tclickCallBack,\r\n\t\t\t};\r\n\t\t},\r\n\t\t/**\r\n\t\t * 获取目标菜单配置数据\r\n\t\t * @param {string} menuKey 菜单-键key\r\n\t\t */\r\n\t\tgetMenuData(menuKey) {\r\n\t\t\treturn this.$data.data.find((item) => item.data.key === menuKey);\r\n\t\t},\r\n\t\t/**\r\n\t\t * 获取目标菜单配置\r\n\t\t * @param {string} menuKey 菜单-键key\r\n\t\t */\r\n\t\tgetMenuOption(menuKey) {\r\n\t\t\treturn this.$data.data.find((item) => item.data.key === menuKey)?.data;\r\n\t\t},\r\n\t\t/**\r\n\t\t * 获取目标菜单处理后的配置\r\n\t\t * @param {string} menuKey 菜单-键key\r\n\t\t */\r\n\t\tgetMenuHandledOption(menuKey) {\r\n\t\t\treturn this.$data.data.find((item) => item.handleData.key === menuKey)\r\n\t\t\t\t?.handleData;\r\n\t\t},\r\n\t};\r\n\r\n\t/**\r\n\t * 新增菜单数据\r\n\t * @param {UtilsGMMenuOption[]|UtilsGMMenuOption} paramData\r\n\t */\r\n\tthis.add = function (paramData) {\r\n\t\tif (Array.isArray(paramData)) {\r\n\t\t\tfor (const _paramData of paramData) {\r\n\t\t\t\tMenuHandle.$data.data.push({\r\n\t\t\t\t\tdata: _paramData,\r\n\t\t\t\t\tid: void 0,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tMenuHandle.$data.data.push({\r\n\t\t\t\tdata: paramData,\r\n\t\t\t\tid: void 0,\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.update();\r\n\t};\r\n\t/**\r\n\t * 更新菜单数据\r\n\t * @param { ?UtilsGMMenuOption[]|UtilsGMMenuOption } options 数据\r\n\t */\r\n\tthis.update = function (options) {\r\n\t\t/**\r\n\t\t * @type {UtilsGMMenuOption[]}\r\n\t\t */\r\n\t\tlet optionsList = [];\r\n\t\tif (Array.isArray(options)) {\r\n\t\t\toptionsList = [...optionsList, ...options];\r\n\t\t} else if (options != null) {\r\n\t\t\toptionsList = [...optionsList, options];\r\n\t\t}\r\n\t\toptionsList.forEach((item) => {\r\n\t\t\tlet targetMenu = MenuHandle.getMenuOption(item.key);\r\n\t\t\tif (targetMenu) {\r\n\t\t\t\tObject.assign(targetMenu, item);\r\n\t\t\t}\r\n\t\t});\r\n\t\tMenuHandle.$data.data.forEach((value) => {\r\n\t\t\tif (value.handleData) {\r\n\t\t\t\tvalue.handleData.deleteMenu();\r\n\t\t\t}\r\n\t\t});\r\n\t\tMenuHandle.init();\r\n\t\tMenuHandle.register(MenuHandle.$data.data);\r\n\t};\r\n\t/**\r\n\t * 卸载菜单\r\n\t * @param {number} menuId 已注册的菜单id\r\n\t */\r\n\tthis.delete = function (menuId) {\r\n\t\tGM_Api.unregisterMenuCommand(menuId);\r\n\t};\r\n\t/**\r\n\t * 根据键值获取enable值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {boolean}\r\n\t */\r\n\tthis.get = function (menuKey) {\r\n\t\treturn this.getEnable(menuKey);\r\n\t};\r\n\t/**\r\n\t * 根据键值获取enable值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {boolean}\r\n\t */\r\n\tthis.getEnable = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).enable;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取text值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {string}\r\n\t */\r\n\tthis.getText = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).text;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取showText函数的值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {string}\r\n\t */\r\n\tthis.getShowTextValue = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).showText(\r\n\t\t\tthis.getText(menuKey),\r\n\t\t\tthis.get(menuKey)\r\n\t\t);\r\n\t};\r\n\t/**\r\n\t * 获取当前已注册菜单的id\r\n\t * @param {string} menuKey\r\n\t * @returns {?number}\r\n\t */\r\n\tthis.getMenuId = function (menuKey) {\r\n\t\tlet result = null;\r\n\t\tfor (let index = 0; index < MenuHandle.$data.data.length; index++) {\r\n\t\t\tconst optionData = MenuHandle.$data.data[index];\r\n\t\t\tif (optionData.handleData.key === menuKey) {\r\n\t\t\t\tresult = optionData.id;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取accessKey值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {?string}\r\n\t */\r\n\tthis.getAccessKey = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).accessKey;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取autoClose值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {?boolean}\r\n\t */\r\n\tthis.getAutoClose = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).autoClose;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取autoReload值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {boolean}\r\n\t */\r\n\tthis.getAutoReload = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).autoReload;\r\n\t};\r\n\t/**\r\n\t * 根据键值获取callback函数\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @returns {?Function}\r\n\t */\r\n\tthis.getCallBack = function (menuKey) {\r\n\t\treturn MenuHandle.getMenuHandledOption(menuKey).callback;\r\n\t};\r\n\t/**\r\n\t * 获取当enable为true时默认显示在菜单中前面的emoji图标\r\n\t * @returns {string}\r\n\t */\r\n\tthis.getEnableTrueEmoji = function () {\r\n\t\treturn MenuHandle.$emoji.success;\r\n\t};\r\n\t/**\r\n\t * 获取当enable为false时默认显示在菜单中前面的emoji图标\r\n\t * @returns {string}\r\n\t */\r\n\tthis.getEnableFalseEmoji = function () {\r\n\t\treturn MenuHandle.$emoji.error;\r\n\t};\r\n\t/**\r\n\t * 获取本地存储的菜单外部的键名\r\n\t * @param {string} keyName\r\n\t */\r\n\tthis.getLocalStorageKeyName = function () {\r\n\t\treturn MenuHandle.$data.key;\r\n\t};\r\n\t/**\r\n\t * 设置菜单的值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @param {any} value 需要设置的值\r\n\t */\r\n\tthis.setValue = function (menuKey, value) {\r\n\t\tMenuHandle.setLocalMenuData(menuKey, value);\r\n\t};\r\n\t/**\r\n\t * 设置菜单的值\r\n\t * @param {string} menuKey 菜单-键key\r\n\t * @param {boolean} value 需要设置的值\r\n\t */\r\n\tthis.setEnable = function (menuKey, value) {\r\n\t\tthis.setValue(menuKey, Boolean(value));\r\n\t};\r\n\t/**\r\n\t * 设置当enable为true时默认显示在菜单中前面的emoji图标\r\n\t * @param {string} emojiString\r\n\t */\r\n\tthis.setEnableTrueEmoji = function (emojiString) {\r\n\t\tif (typeof emojiString !== \"string\") {\r\n\t\t\tthrow new Error(\"参数emojiString必须是string类型\");\r\n\t\t}\r\n\t\tMenuHandle.$emoji.success = emojiString;\r\n\t};\r\n\t/**\r\n\t * 设置当enable为false时默认显示在菜单中前面的emoji图标\r\n\t * @param {string} emojiString\r\n\t */\r\n\tthis.setEnableFalseEmoji = function (emojiString) {\r\n\t\tif (typeof emojiString !== \"string\") {\r\n\t\t\tthrow new Error(\"参数emojiString必须是string类型\");\r\n\t\t}\r\n\t\tMenuHandle.$emoji.error = emojiString;\r\n\t};\r\n\t/**\r\n\t * 设置本地存储的菜单外部的键名\r\n\t * @param {string} keyName\r\n\t */\r\n\tthis.setLocalStorageKeyName = function (keyName) {\r\n\t\tif (typeof keyName !== \"string\") {\r\n\t\t\tthrow new Error(\"参数keyName必须是string类型\");\r\n\t\t}\r\n\t\tMenuHandle.$data.key = keyName;\r\n\t};\r\n\r\n\tthis.add(details?.data || []);\r\n};\r\n\r\nexport { GMMenu };\r\n","const Hooks = function () {\r\n\tthis.initEnv = function () {\r\n\t\tFunction.prototype.hook = function (realFunc, hookFunc, context) {\r\n\t\t\tlet _context = null; //函数上下文\r\n\t\t\tlet _funcName = null; //函数名\r\n\r\n\t\t\t_context = context || window;\r\n\t\t\t_funcName = getFuncName(this);\r\n\t\t\t_context[\"realFunc_\" + _funcName] = this;\r\n\r\n\t\t\tif (\r\n\t\t\t\t_context[_funcName].prototype &&\r\n\t\t\t\t_context[_funcName].prototype.isHooked\r\n\t\t\t) {\r\n\t\t\t\tconsole.log(\"Already has been hooked,unhook first\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tfunction getFuncName(fn) {\r\n\t\t\t\t// 获取函数名\r\n\t\t\t\tlet strFunc = fn.toString();\r\n\t\t\t\tlet _regex = /function\\s+(\\w+)\\s*\\(/;\r\n\t\t\t\tlet patten = strFunc.match(_regex);\r\n\t\t\t\tif (patten) {\r\n\t\t\t\t\treturn patten[1];\r\n\t\t\t\t}\r\n\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t\ttry {\r\n\t\t\t\teval(\r\n\t\t\t\t\t\"_context[_funcName] = function \" +\r\n\t\t\t\t\t\t_funcName +\r\n\t\t\t\t\t\t\"(){\\n\" +\r\n\t\t\t\t\t\t\"let args = Array.prototype.slice.call(arguments,0);\\n\" +\r\n\t\t\t\t\t\t\"let obj = this;\\n\" +\r\n\t\t\t\t\t\t\"hookFunc.apply(obj,args);\\n\" +\r\n\t\t\t\t\t\t\"return _context['realFunc_\" +\r\n\t\t\t\t\t\t_funcName +\r\n\t\t\t\t\t\t\"'].apply(obj,args);\\n\" +\r\n\t\t\t\t\t\t\"};\"\r\n\t\t\t\t);\r\n\t\t\t\t_context[_funcName].prototype.isHooked = true;\r\n\t\t\t\treturn true;\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.log(\"Hook failed,check the params.\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tFunction.prototype.unhook = function (realFunc, funcName, context) {\r\n\t\t\tlet _context = null;\r\n\t\t\tlet _funcName = null;\r\n\t\t\t_context = context || window;\r\n\t\t\t_funcName = funcName;\r\n\t\t\tif (!_context[_funcName].prototype.isHooked) {\r\n\t\t\t\tconsole.log(\"No function is hooked on\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t_context[_funcName] = _context[\"realFunc\" + _funcName];\r\n\t\t\tReflect.deleteProperty(_context, \"realFunc_\" + _funcName);\r\n\t\t\treturn true;\r\n\t\t};\r\n\t};\r\n\tthis.cleanEnv = function () {\r\n\t\tif (Function.prototype.hasOwnProperty(\"hook\")) {\r\n\t\t\tReflect.deleteProperty(unction.prototype, \"hook\");\r\n\t\t}\r\n\t\tif (Function.prototype.hasOwnProperty(\"unhook\")) {\r\n\t\t\tReflect.deleteProperty(unction.prototype, \"unhook\");\r\n\t\t}\r\n\t\treturn true;\r\n\t};\r\n};\r\n\r\nexport { Hooks };\r\n","const Httpx = function (__xmlHttpRequest__) {\r\n\tif (typeof __xmlHttpRequest__ !== \"function\") {\r\n\t\tconsole.warn(\"Httpx未传入GM_xmlhttpRequest函数,强制默认使用fetch\");\r\n\t}\r\n\tconst GM_Api = {\r\n\t\t/**\r\n\t\t * @type {GM_xmlhttpRequest}\r\n\t\t */\r\n\t\txmlHttpRequest: __xmlHttpRequest__,\r\n\t};\r\n\t/**\r\n\t * @type {HttpxDetails}\r\n\t */\r\n\tlet defaultDetails = {\r\n\t\turl: void 0,\r\n\t\ttimeout: 5000,\r\n\t\tasync: false,\r\n\t\tresponseType: void 0,\r\n\t\theaders: void 0,\r\n\t\tdata: void 0,\r\n\t\tredirect: void 0,\r\n\t\tcookie: void 0,\r\n\t\tbinary: void 0,\r\n\t\tnocache: void 0,\r\n\t\trevalidate: void 0,\r\n\t\tcontext: void 0,\r\n\t\toverrideMimeType: void 0,\r\n\t\tanonymous: void 0,\r\n\t\tfetch: void 0,\r\n\t\tfetchInit: void 0,\r\n\t\tuser: void 0,\r\n\t\tpassword: void 0,\r\n\t\tonabort() {},\r\n\t\tonerror() {},\r\n\t\tontimeout() {},\r\n\t\tonloadstart() {},\r\n\t\tonreadystatechange() {},\r\n\t\tonprogress() {},\r\n\t};\r\n\t/**\r\n\t * 输出请求配置\r\n\t */\r\n\tlet LOG_DETAILS = false;\r\n\r\n\tconst HttpxRequestHook = {\r\n\t\t/**\r\n\t\t * 发送请求前的回调\r\n\t\t * 如果返回false则阻止本次返回\r\n\t\t * @param {HttpxDetails} details 当前的请求配置\r\n\t\t */\r\n\t\tbeforeRequestCallBack(details) {},\r\n\t};\r\n\r\n\tconst HttpxRequestDetails = {\r\n\t\t/**\r\n\t\t * 获取请求配置\r\n\t\t * @param {HttpxMethod} method 当前请求方法,默认get\r\n\t\t * @param {(...args: any[])=>void} resolve promise回调\r\n\t\t * @param {HttpxDetails} details 请求配置\r\n\t\t * @returns\r\n\t\t */\r\n\t\tgetDetails(method, resolve, details) {\r\n\t\t\t/**\r\n\t\t\t * @type {HttpxDetails}\r\n\t\t\t */\r\n\t\t\tlet result = {\r\n\t\t\t\turl: details.url || defaultDetails.url,\r\n\t\t\t\tmethod: (method || \"GET\").toString().toUpperCase(),\r\n\t\t\t\ttimeout: details.timeout || defaultDetails.timeout,\r\n\t\t\t\tresponseType: details.responseType || defaultDetails.responseType,\r\n\t\t\t\t/* 对象使用深拷贝 */\r\n\t\t\t\theaders: Utils.deepClone(defaultDetails.headers),\r\n\t\t\t\tdata: details.data || defaultDetails.data,\r\n\t\t\t\tredirect: details.redirect || defaultDetails.redirect,\r\n\t\t\t\tcookie: details.cookie || defaultDetails.cookie,\r\n\t\t\t\tbinary: details.binary || defaultDetails.binary,\r\n\t\t\t\tnocache: details.nocache || defaultDetails.nocache,\r\n\t\t\t\trevalidate: details.revalidate || defaultDetails.revalidate,\r\n\t\t\t\t/* 对象使用深拷贝 */\r\n\t\t\t\tcontext: Utils.deepClone(details.context || defaultDetails.context),\r\n\t\t\t\toverrideMimeType:\r\n\t\t\t\t\tdetails.overrideMimeType || defaultDetails.overrideMimeType,\r\n\t\t\t\tanonymous: details.anonymous || defaultDetails.anonymous,\r\n\t\t\t\tfetch: details.fetch || defaultDetails.fetch,\r\n\t\t\t\t/* 对象使用深拷贝 */\r\n\t\t\t\tfetchInit: Utils.deepClone(defaultDetails.fetchInit),\r\n\t\t\t\tuser: details.user || defaultDetails.user,\r\n\t\t\t\tpassword: details.password || defaultDetails.password,\r\n\t\t\t\tonabort(...args) {\r\n\t\t\t\t\tHttpxCallBack.onAbort(details, resolve, args);\r\n\t\t\t\t},\r\n\t\t\t\tonerror(...args) {\r\n\t\t\t\t\tHttpxCallBack.onError(details, resolve, args);\r\n\t\t\t\t},\r\n\t\t\t\tonloadstart(...args) {\r\n\t\t\t\t\tHttpxCallBack.onLoadStart(details, args);\r\n\t\t\t\t},\r\n\t\t\t\tonprogress(...args) {\r\n\t\t\t\t\tHttpxCallBack.onProgress(details, args);\r\n\t\t\t\t},\r\n\t\t\t\tonreadystatechange(...args) {\r\n\t\t\t\t\tHttpxCallBack.onReadyStateChange(details, args);\r\n\t\t\t\t},\r\n\t\t\t\tontimeout(...args) {\r\n\t\t\t\t\tHttpxCallBack.onTimeout(details, resolve, args);\r\n\t\t\t\t},\r\n\t\t\t\tonload(...args) {\r\n\t\t\t\t\tHttpxCallBack.onLoad(details, resolve, args);\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t\tif (typeof GM_Api.xmlHttpRequest !== \"function\") {\r\n\t\t\t\tresult.fetch = true;\r\n\t\t\t}\r\n\t\t\tif (typeof result.headers === \"object\") {\r\n\t\t\t\tif (typeof details.headers === \"object\") {\r\n\t\t\t\t\tObject.keys(details.headers).forEach((keyName, index) => {\r\n\t\t\t\t\t\tif (keyName in result.headers && details.headers[keyName] == null) {\r\n\t\t\t\t\t\t\t/* 在默认的header中存在,且设置它新的值为空,那么就是默认的值 */\r\n\t\t\t\t\t\t\tReflect.deleteProperty(result.headers, keyName);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tresult.headers[keyName] = details.headers[keyName];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\t/* details.headers为空 */\r\n\t\t\t\t\t/* 不做处理 */\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tresult.headers = details.headers;\r\n\t\t\t}\r\n\t\t\tif (typeof result.fetchInit === \"object\") {\r\n\t\t\t\t/* 使用assign替换且添加 */\r\n\t\t\t\tif (typeof details.fetchInit === \"object\") {\r\n\t\t\t\t\tObject.keys(details.fetchInit).forEach((keyName, index) => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tkeyName in result.fetchInit &&\r\n\t\t\t\t\t\t\tdetails.fetchInit[keyName] == null\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t/* 在默认的fetchInit中存在,且设置它新的值为空,那么就是默认的值 */\r\n\t\t\t\t\t\t\tReflect.deleteProperty(result.fetchInit, keyName);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tresult.fetchInit[keyName] = details.fetchInit[keyName];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tresult.fetchInit = details.fetchInit;\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t},\r\n\t\t/**\r\n\t\t * 处理发送请求的details,去除值为undefined、空function的值\r\n\t\t * @param {HttpxDetails} details\r\n\t\t * @returns {HttpxDetails}\r\n\t\t */\r\n\t\thandle(details) {\r\n\t\t\tObject.keys(details).forEach((keyName) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdetails[keyName] == null ||\r\n\t\t\t\t\t(details[keyName] instanceof Function &&\r\n\t\t\t\t\t\tUtils.isNull(details[keyName]))\r\n\t\t\t\t) {\r\n\t\t\t\t\tReflect.deleteProperty(details, keyName);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (Utils.isNull(details.url)) {\r\n\t\t\t\tthrow new TypeError(`Utils.Httpx 参数 url不符合要求: ${details.url}`);\r\n\t\t\t}\r\n\t\t\t/* method值统一大写,兼容Via */\r\n\t\t\tdetails.method = details.method.toUpperCase();\r\n\t\t\t/* 判断是否是以http开头,否则主动加上origin */\r\n\t\t\ttry {\r\n\t\t\t\tnew URL(details.url);\r\n\t\t\t} catch (error) {\r\n\t\t\t\tif (details.url.startsWith(\"//\")) {\r\n\t\t\t\t\tdetails.url = globalThis.location.protocol + details.url;\r\n\t\t\t\t} else if (details.url.startsWith(\"/\")) {\r\n\t\t\t\t\tdetails.url = globalThis.location.origin + details.url;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdetails.url = globalThis.location.origin + \"/\" + details.url;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn details;\r\n\t\t},\r\n\t\t/**\r\n\t\t * 处理fetch的配置\r\n\t\t * @param {HttpxDetails} details\r\n\t\t */\r\n\t\thandleFetchDetail(details) {\r\n\t\t\t/**\r\n\t\t\t * fetch的请求配置\r\n\t\t\t * @type {RequestInit}\r\n\t\t\t **/\r\n\t\t\tlet fetchRequestInit = {};\r\n\t\t\tif (\r\n\t\t\t\t(details.method === \"GET\" || details.method === \"HEAD\") &&\r\n\t\t\t\tdetails.data != null\r\n\t\t\t) {\r\n\t\t\t\t/* GET 或 HEAD 方法的请求不能包含 body 信息 */\r\n\t\t\t\tReflect.deleteProperty(details, \"data\");\r\n\t\t\t}\r\n\t\t\t/* 中止信号控制器 */\r\n\t\t\tlet abortController = new AbortController();\r\n\t\t\tlet signal = abortController.signal;\r\n\t\t\tsignal.onabort = () => {\r\n\t\t\t\tdetails.onabort({\r\n\t\t\t\t\tisFetch: true,\r\n\t\t\t\t\tresponseText: \"\",\r\n\t\t\t\t\tresponse: null,\r\n\t\t\t\t\treadyState: 4,\r\n\t\t\t\t\tresponseHeaders: \"\",\r\n\t\t\t\t\tstatus: 0,\r\n\t\t\t\t\tstatusText: \"\",\r\n\t\t\t\t\terror: \"aborted\",\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\tfetchRequestInit.method = details.method ?? \"GET\";\r\n\t\t\tfetchRequestInit.headers = details.headers;\r\n\t\t\tfetchRequestInit.body = details.data;\r\n\t\t\tfetchRequestInit.mode = \"cors\";\r\n\t\t\tfetchRequestInit.credentials = \"include\";\r\n\t\t\tfetchRequestInit.cache = \"no-cache\";\r\n\t\t\tfetchRequestInit.redirect = \"follow\";\r\n\t\t\tfetchRequestInit.referrerPolicy = \"origin-when-cross-origin\";\r\n\t\t\tfetchRequestInit.signal = signal;\r\n\t\t\tObject.assign(fetchRequestInit, details.fetchInit || {});\r\n\t\t\treturn {\r\n\t\t\t\tfetchDetails: details,\r\n\t\t\t\tfetchRequestInit: fetchRequestInit,\r\n\t\t\t\tabortController: abortController,\r\n\t\t\t};\r\n\t\t},\r\n\t};\r\n\tconst HttpxCallBack = {\r\n\t\t/**\r\n\t\t * onabort请求被取消-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {()=>void} resolve 回调\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonAbort(details, resolve, argumentsList) {\r\n\t\t\tif (\"onabort\" in details) {\r\n\t\t\t\tdetails.onabort.apply(this, argumentsList);\r\n\t\t\t} else if (\"onabort\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onabort.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t\tresolve({\r\n\t\t\t\tstatus: false,\r\n\t\t\t\tdata: [...argumentsList],\r\n\t\t\t\tmsg: \"请求被取消\",\r\n\t\t\t\ttype: \"onabort\",\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * onerror请求异常-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {()=>void} resolve 回调\r\n\t\t * @param {any[]} argumentsList 响应的参数列表\r\n\t\t */\r\n\t\tonError(details, resolve, argumentsList) {\r\n\t\t\tif (\"onerror\" in details) {\r\n\t\t\t\tdetails.onerror.apply(this, argumentsList);\r\n\t\t\t} else if (\"onerror\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onerror.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t\tlet response = argumentsList;\r\n\t\t\tif (response.length) {\r\n\t\t\t\tresponse = response[0];\r\n\t\t\t}\r\n\t\t\tresolve({\r\n\t\t\t\tstatus: false,\r\n\t\t\t\tdata: response,\r\n\t\t\t\tdetails: details,\r\n\t\t\t\tmsg: \"请求异常\",\r\n\t\t\t\ttype: \"onerror\",\r\n\t\t\t});\r\n\t\t},\r\n\t\t/**\r\n\t\t * ontimeout请求超时-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {()=>void} resolve 回调\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonTimeout(details, resolve, argumentsList) {\r\n\t\t\tif (\"ontimeout\" in details) {\r\n\t\t\t\tdetails.ontimeout.apply(this, argumentsList);\r\n\t\t\t} else if (\"ontimeout\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.ontimeout.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t\tresolve({\r\n\t\t\t\tstatus: false,\r\n\t\t\t\tdata: [...argumentsList],\r\n\t\t\t\tmsg: \"请求超时\",\r\n\t\t\t\ttype: \"ontimeout\",\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * onloadstart请求开始-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonLoadStart(details, argumentsList) {\r\n\t\t\tif (\"onloadstart\" in details) {\r\n\t\t\t\tdetails.onloadstart.apply(this, argumentsList);\r\n\t\t\t} else if (\"onloadstart\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onloadstart.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * onload加载完毕-触发\r\n\t\t * @param {HttpxDetails} details 请求的配置\r\n\t\t * @param {()=>void} resolve 回调\r\n\t\t * @param {...HttpxAsyncResultData[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonLoad(details, resolve, argumentsList) {\r\n\t\t\t/* X浏览器会因为设置了responseType导致不返回responseText */\r\n\t\t\tlet Response = argumentsList[0];\r\n\t\t\t/* responseText为空,response不为空的情况 */\r\n\t\t\tif (\r\n\t\t\t\tUtils.isNull(Response[\"responseText\"]) &&\r\n\t\t\t\tUtils.isNotNull(Response[\"response\"])\r\n\t\t\t) {\r\n\t\t\t\tif (typeof Response[\"response\"] === \"object\") {\r\n\t\t\t\t\tUtils.tryCatch().run(() => {\r\n\t\t\t\t\t\tResponse[\"responseText\"] = JSON.stringify(Response[\"response\"]);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tResponse[\"responseText\"] = Response[\"response\"];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t/* response为空,responseText不为空的情况 */\r\n\t\t\tif (\r\n\t\t\t\tResponse[\"response\"] == null &&\r\n\t\t\t\ttypeof Response[\"responseText\"] === \"string\" &&\r\n\t\t\t\tResponse[\"responseText\"].trim() !== \"\"\r\n\t\t\t) {\r\n\t\t\t\tlet newResponse = Response[\"responseText\"];\r\n\t\t\t\tif (details.responseType === \"json\") {\r\n\t\t\t\t\tnewResponse = Utils.toJSON(Response[\"responseText\"]);\r\n\t\t\t\t} else if (details.responseType === \"document\") {\r\n\t\t\t\t\tlet parser = new DOMParser();\r\n\t\t\t\t\tnewResponse = parser.parseFromString(\r\n\t\t\t\t\t\tResponse[\"responseText\"],\r\n\t\t\t\t\t\t\"text/html\"\r\n\t\t\t\t\t);\r\n\t\t\t\t} else if (details.responseType === \"arraybuffer\") {\r\n\t\t\t\t\tlet encoder = new TextEncoder();\r\n\t\t\t\t\tlet arrayBuffer = encoder.encode(Response[\"responseText\"]);\r\n\t\t\t\t\tnewResponse = arrayBuffer;\r\n\t\t\t\t} else if (details.responseType === \"blob\") {\r\n\t\t\t\t\tlet encoder = new TextEncoder();\r\n\t\t\t\t\tlet arrayBuffer = encoder.encode(Response[\"responseText\"]);\r\n\t\t\t\t\tnewResponse = new Blob([arrayBuffer]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewResponse = Response[\"responseText\"];\r\n\t\t\t\t}\r\n\t\t\t\ttry {\r\n\t\t\t\t\tResponse[\"response\"] = newResponse;\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.warn(\"response 无法被覆盖\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t/* Stay扩展中没有finalUrl,对应的是responseURL */\r\n\t\t\tif (Response[\"finalUrl\"] == null && Response[\"responseURL\"] != null) {\r\n\t\t\t\tResponse[\"finalUrl\"] = Response[\"responseURL\"];\r\n\t\t\t}\r\n\t\t\t/* 状态码2xx都是成功的 */\r\n\t\t\tif (Math.floor(Response.status / 100) === 2) {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\tstatus: true,\r\n\t\t\t\t\tdata: Response,\r\n\t\t\t\t\tdetails: details,\r\n\t\t\t\t\tmsg: \"请求完毕\",\r\n\t\t\t\t\ttype: \"onload\",\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tHttpxCallBack.onError(details, resolve, argumentsList);\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * onprogress上传进度-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonProgress(details, argumentsList) {\r\n\t\t\tif (\"onprogress\" in details) {\r\n\t\t\t\tdetails.onprogress.apply(this, argumentsList);\r\n\t\t\t} else if (\"onprogress\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onprogress.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * onreadystatechange准备状态改变-触发\r\n\t\t * @param {HttpxDetails} details 配置\r\n\t\t * @param {any[]} argumentsList 参数列表\r\n\t\t */\r\n\t\tonReadyStateChange(details, argumentsList) {\r\n\t\t\tif (\"onreadystatechange\" in details) {\r\n\t\t\t\tdetails.onreadystatechange.apply(this, argumentsList);\r\n\t\t\t} else if (\"onreadystatechange\" in defaultDetails) {\r\n\t\t\t\tdefaultDetails.onreadystatechange.apply(this, argumentsList);\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n\r\n\tconst HttpxRequest = {\r\n\t\t/**\r\n\t\t * 发送请求\r\n\t\t * @param {HttpxDetails} details\r\n\t\t */\r\n\t\trequest(details) {\r\n\t\t\tif (LOG_DETAILS) {\r\n\t\t\t\tconsole.log(\"Httpx请求配置👇\", details);\r\n\t\t\t}\r\n\t\t\tif (typeof HttpxRequestHook.beforeRequestCallBack === \"function\") {\r\n\t\t\t\tlet hookResult = HttpxRequestHook.beforeRequestCallBack(details);\r\n\t\t\t\tif (typeof hookResult === \"boolean\" && !hookResult) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (details.fetch) {\r\n\t\t\t\tconst { fetchDetails, fetchRequestInit, abortController } =\r\n\t\t\t\t\tHttpxRequestDetails.handleFetchDetail(details);\r\n\t\t\t\tthis.fetch(fetchDetails, fetchRequestInit, abortController);\r\n\t\t\t} else {\r\n\t\t\t\tReflect.deleteProperty(details, \"fetchInit\");\r\n\t\t\t\tthis.xmlHttpRequest(details);\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * 使用油猴函数GM_xmlhttpRequest发送请求\r\n\t\t * @param {HttpxDetails} details\r\n\t\t */\r\n\t\txmlHttpRequest(details) {\r\n\t\t\tGM_Api.xmlHttpRequest(details);\r\n\t\t},\r\n\t\t/**\r\n\t\t * 使用fetch发送请求\r\n\t\t * @param {HttpxDetails} details\r\n\t\t * @param {RequestInit} fetchRequestInit\r\n\t\t * @param {AbortController} abortController\r\n\t\t */\r\n\t\tfetch(details, fetchRequestInit, abortController) {\r\n\t\t\tfetch(details.url, fetchRequestInit)\r\n\t\t\t\t.then(async (resp) => {\r\n\t\t\t\t\t/**\r\n\t\t\t\t\t * @type {HttpxAsyncResultData}\r\n\t\t\t\t\t */\r\n\t\t\t\t\tlet httpxResponse = {\r\n\t\t\t\t\t\tisFetch: true,\r\n\t\t\t\t\t\tfinalUrl: resp.url,\r\n\t\t\t\t\t\treadyState: 4,\r\n\t\t\t\t\t\tstatus: resp.status,\r\n\t\t\t\t\t\tstatusText: resp.statusText,\r\n\t\t\t\t\t\tresponse: void 0,\r\n\t\t\t\t\t\tresponseFetchHeaders: resp.headers,\r\n\t\t\t\t\t\tresponseHeaders: \"\",\r\n\t\t\t\t\t\tresponseText: void 0,\r\n\t\t\t\t\t\tresponseType: details.responseType,\r\n\t\t\t\t\t\tresponseXML: void 0,\r\n\t\t\t\t\t};\r\n\t\t\t\t\tObject.assign(httpxResponse, details.context || {});\r\n\r\n\t\t\t\t\tfor (const [key, value] of resp.headers.entries()) {\r\n\t\t\t\t\t\thttpxResponse.responseHeaders += `${key}: ${value}\\n`;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t/* 如果是流式传输,直接返回 */\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tdetails.responseType === \"stream\" ||\r\n\t\t\t\t\t\t(resp.headers.has(\"Content-Type\") &&\r\n\t\t\t\t\t\t\tresp.headers.get(\"Content-Type\").includes(\"text/event-stream\"))\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\thttpxResponse[\"isStream\"] = true;\r\n\t\t\t\t\t\thttpxResponse.response = resp.body;\r\n\t\t\t\t\t\tReflect.deleteProperty(httpxResponse, \"responseText\");\r\n\t\t\t\t\t\tReflect.deleteProperty(httpxResponse, \"responseXML\");\r\n\t\t\t\t\t\tdetails.onload(httpxResponse);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t/** 响应 */\r\n\t\t\t\t\tlet response = \"\";\r\n\t\t\t\t\t/** 响应字符串 */\r\n\t\t\t\t\tlet responseText = \"\";\r\n\t\t\t\t\t/** 响应xml文档 */\r\n\t\t\t\t\tlet responseXML = \"\";\r\n\r\n\t\t\t\t\tlet arrayBuffer = await resp.arrayBuffer;\r\n\r\n\t\t\t\t\tlet encoding = \"utf-8\";\r\n\t\t\t\t\tif (resp.headers.has(\"Content-Type\")) {\r\n\t\t\t\t\t\tlet charsetMatched = resp.headers\r\n\t\t\t\t\t\t\t.get(\"Content-Type\")\r\n\t\t\t\t\t\t\t.match(/charset=(.+)/);\r\n\t\t\t\t\t\tif (charsetMatched) {\r\n\t\t\t\t\t\t\tencoding = charsetMatched[1];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet textDecoder = new TextDecoder(encoding);\r\n\t\t\t\t\tresponseText = textDecoder.decode(await resp.arrayBuffer());\r\n\t\t\t\t\tresponse = responseText;\r\n\r\n\t\t\t\t\tif (details.responseType === \"arraybuffer\") {\r\n\t\t\t\t\t\tresponse = arrayBuffer;\r\n\t\t\t\t\t} else if (details.responseType === \"blob\") {\r\n\t\t\t\t\t\tresponse = new Blob([arrayBuffer]);\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\tdetails.responseType === \"document\" ||\r\n\t\t\t\t\t\tdetails.responseType == null\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tlet parser = new DOMParser();\r\n\t\t\t\t\t\tresponse = parser.parseFromString(responseText, \"text/html\");\r\n\t\t\t\t\t} else if (details.responseType === \"json\") {\r\n\t\t\t\t\t\tresponse = Utils.toJSON(responseText);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet parser = new DOMParser();\r\n\t\t\t\t\tresponseXML = parser.parseFromString(responseText, \"text/xml\");\r\n\r\n\t\t\t\t\thttpxResponse.response = response;\r\n\t\t\t\t\thttpxResponse.responseText = responseText;\r\n\t\t\t\t\thttpxResponse.responseXML = responseXML;\r\n\r\n\t\t\t\t\tdetails.onload(httpxResponse);\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tif (err.name === \"AbortError\") {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdetails.onerror({\r\n\t\t\t\t\t\tisFetch: true,\r\n\t\t\t\t\t\tfinalUrl: details.url,\r\n\t\t\t\t\t\treadyState: 4,\r\n\t\t\t\t\t\tstatus: 0,\r\n\t\t\t\t\t\tstatusText: \"\",\r\n\t\t\t\t\t\tresponseHeaders: \"\",\r\n\t\t\t\t\t\tresponseText: \"\",\r\n\t\t\t\t\t\terror: err,\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\tdetails.onloadstart({\r\n\t\t\t\tisFetch: true,\r\n\t\t\t\tfinalUrl: details.url,\r\n\t\t\t\treadyState: 1,\r\n\t\t\t\tresponseHeaders: \"\",\r\n\t\t\t\tresponseText: \"\",\r\n\t\t\t\tstatus: 0,\r\n\t\t\t\tstatusText: \"\",\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\tabort() {\r\n\t\t\t\t\tabortController.abort();\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t},\r\n\t};\r\n\r\n\t/**\r\n\t * 覆盖当前配置\r\n\t * @param {HttpxDetailsConfig} details\r\n\t */\r\n\tthis.config = function (details = {}) {\r\n\t\tif (\"logDetails\" in details && typeof details[\"logDetails\"] === \"boolean\") {\r\n\t\t\tLOG_DETAILS = details[\"logDetails\"];\r\n\t\t}\r\n\r\n\t\tdefaultDetails = Utils.assign(defaultDetails, details);\r\n\t};\r\n\r\n\t/**\r\n\t * 修改xmlHttpRequest\r\n\t * @param {Function} httpRequest 网络请求函数\r\n\t */\r\n\tthis.setXMLHttpRequest = function (httpRequest) {\r\n\t\tGM_Api.xmlHttpRequest = httpRequest;\r\n\t};\r\n\r\n\t/**\r\n\t * GET 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.get = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"get\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\tReflect.deleteProperty(requestDetails, \"onprogress\");\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * POST 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.post = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"post\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * HEAD 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.head = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"head\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\tReflect.deleteProperty(requestDetails, \"onprogress\");\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * OPTIONS 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.options = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"options\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\tReflect.deleteProperty(requestDetails, \"onprogress\");\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * DELETE 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.delete = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"delete\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\tReflect.deleteProperty(requestDetails, \"onprogress\");\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * PUT 请求\r\n\t * @param {...HttpxDetails|string} args\r\n\t * @returns {Promise< HttpxAsyncResult >}\r\n\t */\r\n\tthis.put = async function (...args) {\r\n\t\tlet details = {};\r\n\t\tif (typeof args[0] === \"string\") {\r\n\t\t\tdetails.url = args[0];\r\n\t\t\tif (typeof args[1] === \"object\") {\r\n\t\t\t\tdetails = args[1];\r\n\t\t\t\tdetails.url = args[0];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdetails = args[0];\r\n\t\t}\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tlet requestDetails = HttpxRequestDetails.getDetails(\r\n\t\t\t\t\"put\",\r\n\t\t\t\tresolve,\r\n\t\t\t\tdetails\r\n\t\t\t);\r\n\t\t\trequestDetails = HttpxRequestDetails.handle(requestDetails);\r\n\t\t\tHttpxRequest.request(requestDetails);\r\n\t\t});\r\n\t};\r\n};\r\n\r\nexport { Httpx };\r\n","const indexedDB = function (\r\n\tdbName = \"default_db\",\r\n\tstoreName = \"default_form\",\r\n\tdbVersion = 1\r\n) {\r\n\tthis.dbName = dbName;\r\n\t/* websql的版本号,由于ios的问题,版本号的写法不一样 */\r\n\tthis.slqVersion = \"1\";\r\n\tthis.dbVersion = dbVersion;\r\n\tthis.storeName = storeName;\r\n\t/* 监听IndexDB */\r\n\tthis.indexedDB =\r\n\t\twindow.indexedDB ||\r\n\t\twindow.mozIndexedDB ||\r\n\t\twindow.webkitIndexedDB ||\r\n\t\twindow.msIndexedDB;\r\n\tif (!this.indexedDB) {\r\n\t\talert(\"很抱歉,您的浏览器不支持indexedDB\");\r\n\t}\r\n\t/* 缓存数据库,避免同一个页面重复创建和销毁 */\r\n\tthis.db = {};\r\n\tthis.store = null;\r\n\tthis.errorCode = {\r\n\t\t/* 错误码 */\r\n\t\tsuccess: {\r\n\t\t\tcode: 200,\r\n\t\t\tmsg: \"操作成功\",\r\n\t\t},\r\n\t\terror: {\r\n\t\t\tcode: 401,\r\n\t\t\tmsg: \"操作失败\",\r\n\t\t},\r\n\t\topen: { code: 91001, msg: \"打开数据库失败\" },\r\n\t\tsave: { code: 91002, msg: \"保存数据失败\" },\r\n\t\tget: { code: 91003, msg: \"获取数据失败\" },\r\n\t\tdelete: { code: 91004, msg: \"删除数据失败\" },\r\n\t\tdeleteAll: { code: 91005, msg: \"清空数据库失败\" },\r\n\t};\r\n\tlet that = this;\r\n\t/**\r\n\t * 创建 “表”\r\n\t * @param {string} dbName 表名\r\n\t * @returns\r\n\t */\r\n\tthis.createStore = function (dbName) {\r\n\t\tlet txn, store;\r\n\t\tif (that.indexedDB) {\r\n\t\t\t/* 如果是支持IndexDB的 */\r\n\t\t\ttxn = that.db[dbName].transaction(that.storeName, \"readwrite\");\r\n\t\t\t/* IndexDB的读写权限 */\r\n\t\t\tstore = txn.objectStore(that.storeName);\r\n\t\t}\r\n\t\treturn store;\r\n\t};\r\n\t/**\r\n\t * 打开数据库\r\n\t * @param {function} callback 回调\r\n\t * @param {string} dbName 数据库名\r\n\t */\r\n\tthis.open = function (callback, dbName) {\r\n\t\t/* 打开数据库 */\r\n\t\tif (that.indexedDB) {\r\n\t\t\t/* 如果支持IndexDB */\r\n\t\t\tif (!that.db[dbName]) {\r\n\t\t\t\t/* 如果缓存中没有,则进行数据库的创建或打开,提高效率 */\r\n\t\t\t\tlet request = that.indexedDB.open(dbName, that.dbVersion);\r\n\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\tcallback({\r\n\t\t\t\t\t\tcode: that.errorCode.open.code,\r\n\t\t\t\t\t\tmsg: that.errorCode.open.msg,\r\n\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t});\r\n\t\t\t\t};\r\n\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\tif (!that.db[dbName]) {\r\n\t\t\t\t\t\tthat.db[dbName] = e.target.result;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet store = that.createStore(dbName);\r\n\t\t\t\t\tcallback(store);\r\n\t\t\t\t};\r\n\t\t\t\trequest.onupgradeneeded = function (e) {\r\n\t\t\t\t\tthat.db[dbName] = e.target.result;\r\n\t\t\t\t\tlet store = that.db[dbName].createObjectStore(that.storeName, {\r\n\t\t\t\t\t\tkeyPath: \"key\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tstore.transaction.oncomplete = function (event) {\r\n\t\t\t\t\t\tcallback(store);\r\n\t\t\t\t\t};\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\t/* 如果缓存中已经打开了数据库,就直接使用 */\r\n\t\t\t\tlet store = that.createStore(dbName);\r\n\t\t\t\tcallback(store);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 保存数据到数据库\r\n\t * @param {string} key 数据key\r\n\t * @param {any} value 数据值\r\n\t * @returns {Promise< {\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * success: boolean\r\n\t * }>}\r\n\t */\r\n\tthis.save = async function (key, value) {\r\n\t\tif (that.indexedDB) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\tlet dbName = that.dbName;\r\n\t\t\t\tlet inData = {\r\n\t\t\t\t\tkey: key,\r\n\t\t\t\t\tvalue: value,\r\n\t\t\t\t};\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\tresolve(result);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet request = result.put(inData);\r\n\t\t\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\t\t\t/* 保存成功有success 字段 */\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.success.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.success.msg,\r\n\t\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.save.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.save.msg,\r\n\t\t\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 根据key获取值\r\n\t * @param {string} key 数据key\r\n\t * @returns {Promise< {\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * data: [...any],\r\n\t * success: true\r\n\t * }| {\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * error: Error,\r\n\t * result: any,\r\n\t * } >}\r\n\t */\r\n\tthis.get = async function (key) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tlet dbName = that.dbName;\r\n\t\t\tif (that.indexedDB) {\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\t/* 判断返回的数据中是否有error字段 */\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\treject({\r\n\t\t\t\t\t\t\tcode: that.errorCode.open.get,\r\n\t\t\t\t\t\t\tmsg: that.errorCode.get.msg,\r\n\t\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet request = result.get(key);\r\n\t\t\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\t\t\tlet result = e.target.result;\r\n\t\t\t\t\t\t\tlet data = result ? result.value : void 0;\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: data\r\n\t\t\t\t\t\t\t\t\t? that.errorCode.success.code\r\n\t\t\t\t\t\t\t\t\t: that.errorCode.error.code,\r\n\t\t\t\t\t\t\t\tmsg: data\r\n\t\t\t\t\t\t\t\t\t? that.errorCode.success.msg\r\n\t\t\t\t\t\t\t\t\t: that.errorCode.error.msg,\r\n\t\t\t\t\t\t\t\tdata: data || [],\r\n\t\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\t\t\treject({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.get.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.get.msg,\r\n\t\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * 正则获取数据\r\n\t * @param {string} key 数据键\r\n\t * @returns { Promise<{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * data: [...any],\r\n\t * success: true\r\n\t * }|{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * error: Error,\r\n\t * result: any,\r\n\t * }> }\r\n\t */\r\n\tthis.regexpGet = async function (key) {\r\n\t\tlet list = [];\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t/* 正则查询 */\r\n\t\t\tlet dbName = that.dbName;\r\n\t\t\tif (that.indexedDB) {\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\t/* 判断返回的数据中是否有error字段 */\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\treject({\r\n\t\t\t\t\t\t\tcode: that.errorCode.open.get,\r\n\t\t\t\t\t\t\tmsg: that.errorCode.get.msg,\r\n\t\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet request = result.getAll();\r\n\t\t\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\t\t\tlet result = e.target.result;\r\n\t\t\t\t\t\t\tif (result.length !== 0) {\r\n\t\t\t\t\t\t\t\tresult.forEach((item, index) => {\r\n\t\t\t\t\t\t\t\t\tif (item[\"key\"].match(key)) {\r\n\t\t\t\t\t\t\t\t\t\tlet concatList = item[\"value\"];\r\n\t\t\t\t\t\t\t\t\t\tconcatList[\"key\"] = item[\"key\"];\r\n\t\t\t\t\t\t\t\t\t\tlist = [...list, concatList];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.success.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.success.msg,\r\n\t\t\t\t\t\t\t\tdata: list,\r\n\t\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\t\t\treject({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.get.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.get.msg,\r\n\t\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * 删除数据\r\n\t * @param {string} key 数据键\r\n\t * @returns {Promise<{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * success: true,\r\n\t * }|{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * error: Error,\r\n\t * }>}\r\n\t */\r\n\tthis.delete = async function (key) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t/* 根据key删除某条数据 */\r\n\t\t\tlet dbName = that.dbName;\r\n\t\t\tif (that.indexedDB) {\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\tresolve(result);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet request = result.get(key);\r\n\t\t\t\t\t\trequest.onsuccess = function (e) {\r\n\t\t\t\t\t\t\tlet recode = e.target.result;\r\n\t\t\t\t\t\t\tif (recode) {\r\n\t\t\t\t\t\t\t\trequest = result.delete(key);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: recode\r\n\t\t\t\t\t\t\t\t\t? that.errorCode.success.code\r\n\t\t\t\t\t\t\t\t\t: that.errorCode.error.code,\r\n\t\t\t\t\t\t\t\tmsg: recode\r\n\t\t\t\t\t\t\t\t\t? that.errorCode.success.msg\r\n\t\t\t\t\t\t\t\t\t: that.errorCode.error.msg,\r\n\t\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\trequest.onerror = function (e) {\r\n\t\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\t\tcode: that.errorCode.delete.code,\r\n\t\t\t\t\t\t\t\tmsg: that.errorCode.delete.msg,\r\n\t\t\t\t\t\t\t\terror: e,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\t/**\r\n\t * 删除所有数据\r\n\t * @returns {Promise<{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * error: Error,\r\n\t * result: any,\r\n\t * }|{\r\n\t * code: number,\r\n\t * msg: string,\r\n\t * success: true,\r\n\t * }>}\r\n\t */\r\n\tthis.deleteAll = async function () {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t/* 清空数据库 */\r\n\t\t\tlet dbName = that.dbName;\r\n\t\t\tif (that.indexedDB) {\r\n\t\t\t\tthat.open(function (result) {\r\n\t\t\t\t\tlet error = result.hasOwnProperty(\"error\");\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\tcode: that.errorCode.deleteAll.code,\r\n\t\t\t\t\t\t\tmsg: that.errorCode.deleteAll.msg,\r\n\t\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\t\tresult: result,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tresult.clear();\r\n\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\tcode: that.errorCode.success.code,\r\n\t\t\t\t\t\t\tmsg: that.errorCode.success.msg,\r\n\t\t\t\t\t\t\tsuccess: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}, dbName);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n};\r\n\r\nexport { indexedDB };\r\n","const LockFunction = function (callback, context, delayTime = 0) {\r\n\tlet flag = false;\r\n\tlet that = this;\r\n\tcontext = context || this;\r\n\t/**\r\n\t * 锁\r\n\t */\r\n\tthis.lock = function () {\r\n\t\tflag = true;\r\n\t};\r\n\t/**\r\n\t * 解锁\r\n\t */\r\n\tthis.unlock = function () {\r\n\t\tsetTimeout(() => {\r\n\t\t\tflag = false;\r\n\t\t}, delayTime);\r\n\t};\r\n\t/**\r\n\t * 执行\r\n\t */\r\n\tthis.run = async function (...args) {\r\n\t\tif (flag) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthat.lock();\r\n\t\tawait callback.apply(context, args);\r\n\t\tthat.unlock();\r\n\t};\r\n};\r\n\r\n\r\nexport {\r\n LockFunction\r\n}","const Log = function (\r\n\t_GM_info_ = {\r\n\t\tscript: {\r\n\t\t\tname: \"Utils.Log\",\r\n\t\t},\r\n\t},\r\n\tconsole = globalThis.console\r\n) {\r\n\tlet msgColorDetails = [\r\n\t\t\"font-weight: bold; color: cornflowerblue\",\r\n\t\t\"font-weight: bold; color: cornflowerblue\",\r\n\t\t\"font-weight: bold; color: darkorange\",\r\n\t\t\"font-weight: bold; color: cornflowerblue\",\r\n\t];\r\n\t/**\r\n\t * @type {UtilsLogOptions}\r\n\t */\r\n\tlet details = {\r\n\t\ttag: true,\r\n\t\tsuccessColor: \"#0000FF\",\r\n\t\terrorColor: \"#FF0000\",\r\n\t\tinfoColor: \"0\",\r\n\t\twarnColor: \"0\",\r\n\t\tdebug: false,\r\n\t\tautoClearConsole: false,\r\n\t\tlogMaxCount: 999,\r\n\t};\r\n\tlet logCount = 0;\r\n\t/**\r\n\t * 解析Error的堆栈获取实际调用者的函数名及函数所在的位置\r\n\t * @param {string[]} stack\r\n\t * @returns {{\r\n\t * name: string,\r\n\t * position: string,\r\n\t * }}\r\n\t */\r\n\tlet parseErrorStack = function (stack) {\r\n\t\tlet result = {\r\n\t\t\tname: \"\",\r\n\t\t\tposition: \"\",\r\n\t\t};\r\n\t\tfor (let stackString of stack) {\r\n\t\t\tstackString = stackString.trim();\r\n\t\t\tlet stackFunctionName = stackString.match(/^at[\\s]+(.+?)[\\s]+/i);\r\n\t\t\tlet stackFunctionNamePosition = stackString.match(\r\n\t\t\t\t/^at[\\s]+.+[\\s]+\\((.+?)\\)/i\r\n\t\t\t);\r\n\t\t\tif (stackFunctionName == null) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tstackFunctionName = stackFunctionName[stackFunctionName.length - 1];\r\n\t\t\tstackFunctionNamePosition =\r\n\t\t\t\tstackFunctionNamePosition[stackFunctionNamePosition.length - 1];\r\n\t\t\tif (\r\n\t\t\t\tstackFunctionName === \"\" ||\r\n\t\t\t\tstackFunctionName.match(\r\n\t\t\t\t\tnew RegExp(\r\n\t\t\t\t\t\t\"(^Utils.Log.|.<anonymous>$|^Function.each|^NodeList.forEach|^k.fn.init.each)\",\r\n\t\t\t\t\t\t\"g\"\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tcontinue;\r\n\t\t\t} else {\r\n\t\t\t\tresult.name = stackFunctionName;\r\n\t\t\t\tresult.position = stackFunctionNamePosition;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (result.position === \"\") {\r\n\t\t\tlet lastStackString = stack[stack.length - 1].trim();\r\n\t\t\tif (lastStackString.startsWith(\"at chrome-extension://\")) {\r\n\t\t\t\tlet lastStackMatch = lastStackString.match(/^at[\\s]+(.+)/);\r\n\t\t\t\tif (lastStackMatch) {\r\n\t\t\t\t\tresult.position = lastStackMatch[lastStackMatch.length - 1];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (result.position === \"\") {\r\n\t\t\tresult.position = stack[stack.length - 1].trim().replace(/^at[\\s]*/g, \"\");\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n\t/**\r\n\t * 待恢复的函数或对象\r\n\t */\r\n\tlet recoveryList = [];\r\n\t/**\r\n\t * 检测清理控制台\r\n\t * @this {Utils.Log}\r\n\t */\r\n\tlet checkClearConsole = function () {\r\n\t\tlogCount++;\r\n\t\tif (details.autoClearConsole && logCount > details.logMaxCount) {\r\n\t\t\tconsole.clear();\r\n\t\t\tlogCount = 0;\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 输出内容\r\n\t * @param {any} msg 需要输出的内容\r\n\t * @param {string} color 颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t * @this {Utils.Log}\r\n\t */\r\n\tlet printContent = function (msg, color, otherStyle) {\r\n\t\tcheckClearConsole.apply(this);\r\n\t\totherStyle = otherStyle || \"\";\r\n\t\tlet stackSplit = new Error().stack.split(\"\\n\");\r\n\t\tstackSplit.splice(0, 2);\r\n\t\tlet { name: callerName, position: callerPosition } =\r\n\t\t\tparseErrorStack(stackSplit);\r\n\t\tlet tagName = this.tag;\r\n\t\tfunction consoleMsg(_msg_) {\r\n\t\t\tif (typeof _msg_ === \"string\") {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t`%c[${tagName}%c-%c${callerName}%c]%c %s`,\r\n\t\t\t\t\t...msgColorDetails,\r\n\t\t\t\t\t`color: ${color};${otherStyle}`,\r\n\t\t\t\t\t_msg_\r\n\t\t\t\t);\r\n\t\t\t} else if (typeof _msg_ === \"number\") {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t`%c[${tagName}%c-%c${callerName}%c]%c %d`,\r\n\t\t\t\t\t...msgColorDetails,\r\n\t\t\t\t\t`color: ${color};${otherStyle}`,\r\n\t\t\t\t\t_msg_\r\n\t\t\t\t);\r\n\t\t\t} else if (typeof _msg_ === \"object\") {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t`%c[${tagName}%c-%c${callerName}%c]%c %o`,\r\n\t\t\t\t\t...msgColorDetails,\r\n\t\t\t\t\t`color: ${color};${otherStyle}`,\r\n\t\t\t\t\t_msg_\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(_msg_);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (Array.isArray(msg)) {\r\n\t\t\tmsg.forEach((item) => {\r\n\t\t\t\tconsoleMsg(item);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tconsoleMsg(msg);\r\n\t\t}\r\n\t\tif (details.debug) {\r\n\t\t\t/* 如果开启调试模式,输出堆栈位置 */\r\n\t\t\tconsole.log(callerPosition);\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 前面的TAG标志\r\n\t */\r\n\tthis.tag = _GM_info_?.script?.name || \"Utils.Log\";\r\n\t/**\r\n\t * 控制台-普通输出\r\n\t * @param {any} msg 需要输出的内容,如果想输出多个,修改成数组,且数组内的长度最大值为4个\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t */\r\n\tthis.info = function (msg, color = details.infoColor, otherStyle) {\r\n\t\tprintContent.call(this, msg, color, otherStyle);\r\n\t};\r\n\t/**\r\n\t * 控制台-警告输出\r\n\t * @param {any} msg 需要输出的内容,如果想输出多个,修改成数组,且数组内的长度最大值为4个\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t */\r\n\tthis.warn = function (\r\n\t\tmsg,\r\n\t\tcolor = details.warnColor,\r\n\t\totherStyle = \"background: #FEF6D5;padding: 4px 6px 4px 0px;\"\r\n\t) {\r\n\t\tprintContent.call(this, msg, color, otherStyle);\r\n\t};\r\n\t/**\r\n\t * 控制台-错误输出\r\n\t * @param {any} msg 需要输出的内容,如果想输出多个,修改成数组,且数组内的长度最大值为4个\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t */\r\n\tthis.error = function (msg, color = details.errorColor, otherStyle) {\r\n\t\tprintContent.call(this, msg, color, otherStyle);\r\n\t};\r\n\t/**\r\n\t * 控制台-成功输出\r\n\t * @param {any} msg 需要输出的内容,如果想输出多个,修改成数组,且数组内的长度最大值为4个\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t */\r\n\tthis.success = function (msg, color = details.successColor, otherStyle) {\r\n\t\tprintContent.call(this, msg, color, otherStyle);\r\n\t};\r\n\t/**\r\n\t * 控制台-输出表格\r\n\t * @param {object[]} msg\r\n\t * @param {string|undefined} color 输出的颜色\r\n\t * @param {string|undefined} otherStyle 其它CSS\r\n\t * @example\r\n\t * log.table([{\"名字\":\"example\",\"值\":\"123\"},{\"名字\":\"example2\",\"值\":\"345\"}])\r\n\t */\r\n\tthis.table = function (msg, color = details.infoColor, otherStyle = \"\") {\r\n\t\tcheckClearConsole.apply(this);\r\n\t\tlet stack = new Error().stack.split(\"\\n\");\r\n\t\tstack.splice(0, 1);\r\n\t\tlet errorStackParse = parseErrorStack(stack);\r\n\t\tlet stackFunctionName = errorStackParse.name;\r\n\t\tlet stackFunctionNamePosition = errorStackParse.position;\r\n\t\tlet callerName = stackFunctionName;\r\n\t\tconsole.log(\r\n\t\t\t`%c[${this.tag}%c-%c${callerName}%c]%c`,\r\n\t\t\t...msgColorDetails,\r\n\t\t\t`color: ${color};${otherStyle}`\r\n\t\t);\r\n\t\tconsole.table(msg);\r\n\t\tif (details.debug) {\r\n\t\t\tconsole.log(stackFunctionNamePosition);\r\n\t\t}\r\n\t};\r\n\t/**\r\n\t * 配置Log对象的颜色\r\n\t * @param {UtilsLogOptions} paramDetails 配置信息\r\n\t */\r\n\tthis.config = function (paramDetails) {\r\n\t\tdetails = Object.assign(details, paramDetails);\r\n\t};\r\n\t/**\r\n\t * 禁用输出\r\n\t */\r\n\tthis.disable = function () {\r\n\t\tlet that = this;\r\n\t\tObject.keys(this)\r\n\t\t\t.filter((keyName) => Boolean(keyName.match(/info|error|success|table/)))\r\n\t\t\t.forEach((keyName) => {\r\n\t\t\t\tlet value = {};\r\n\t\t\t\tvalue[keyName] = that[keyName];\r\n\t\t\t\trecoveryList = [...recoveryList, value];\r\n\t\t\t\tthat[keyName] = () => {};\r\n\t\t\t});\r\n\t};\r\n\t/**\r\n\t * 恢复输出\r\n\t */\r\n\tthis.recovery = function () {\r\n\t\tlet that = this;\r\n\t\trecoveryList.forEach((item) => {\r\n\t\t\tlet keyName = Object.keys(item);\r\n\t\t\tthat[keyName] = item[keyName];\r\n\t\t});\r\n\t\trecoveryList = [];\r\n\t};\r\n};\r\n\r\nexport { Log };\r\n","const Progress = function (paramConfig) {\r\n\tthis.config = {\r\n\t\t/**\r\n\t\t * canvas元素节点\r\n\t\t * @type {HTMLCanvasElement}\r\n\t\t */\r\n\t\tcanvasNode: null,\r\n\t\t/**\r\n\t\t * 绘制角度\r\n\t\t */\r\n\t\tdeg: 95,\r\n\t\t/**\r\n\t\t * 进度\r\n\t\t */\r\n\t\tprogress: 0,\r\n\t\t/**\r\n\t\t * 绘制的线宽度\r\n\t\t */\r\n\t\tlineWidth: 10,\r\n\t\t/**\r\n\t\t * 绘制的背景颜色\r\n\t\t */\r\n\t\tlineBgColor: \"#1e637c\",\r\n\t\t/**\r\n\t\t * 绘制的线的颜色\r\n\t\t */\r\n\t\tlineColor: \"#25deff\",\r\n\t\t/**\r\n\t\t * 绘制的字体颜色\r\n\t\t */\r\n\t\ttextColor: \"#000000\",\r\n\t\t/**\r\n\t\t * 绘制的字体大小(px)\r\n\t\t */\r\n\t\tfontSize: 22,\r\n\t\t/**\r\n\t\t * 绘制的圆的半径\r\n\t\t */\r\n\t\tcircleRadius: 50,\r\n\t\t/**\r\n\t\t * 控制绘制的函数\r\n\t\t */\r\n\t\tdraw: () => {},\r\n\t};\r\n\tthis.config = Utils.assign(this.config, paramConfig);\r\n\tif (!(this.config.canvasNode instanceof HTMLCanvasElement)) {\r\n\t\tthrow new Error(\"Utils.Progress 参数 canvasNode 必须是 HTMLCanvasElement\");\r\n\t}\r\n\t/* 获取画笔 */\r\n\tlet ctx = this.config.canvasNode.getContext(\"2d\");\r\n\t/* 元素宽度 */\r\n\tlet width = this.config.canvasNode.width;\r\n\t/* 元素高度 */\r\n\tlet height = this.config.canvasNode.height;\r\n\r\n\t/* 清除锯齿 */\r\n\tif (window.devicePixelRatio) {\r\n\t\tthis.config.canvasNode.style.width = width + \"px\";\r\n\t\tthis.config.canvasNode.style.height = height + \"px\";\r\n\t\tthis.config.canvasNode.height = height * window.devicePixelRatio;\r\n\t\tthis.config.canvasNode.width = width * window.devicePixelRatio;\r\n\t\tctx.scale(window.devicePixelRatio, window.devicePixelRatio);\r\n\t}\r\n\t/* 设置线宽 */\r\n\tctx.lineWidth = this.config.lineWidth;\r\n\t/* 绘制 */\r\n\tthis.draw = function () {\r\n\t\tlet degActive = (this.config.progress * 360) / 100;\r\n\t\t/* 清除画布 */\r\n\t\tctx.clearRect(0, 0, width, height);\r\n\t\t/* 开始绘制底圆 */\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(width / 2, height / 2, this.config.circleRadius, 1, 8);\r\n\t\tctx.strokeStyle = this.config.lineBgColor;\r\n\t\tctx.stroke();\r\n\t\t/* 开始绘制动态圆 */\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(\r\n\t\t\twidth / 2,\r\n\t\t\theight / 2,\r\n\t\t\tthis.config.circleRadius,\r\n\t\t\t-Math.PI / 2,\r\n\t\t\t(degActive * Math.PI) / 180 - Math.PI / 2\r\n\t\t);\r\n\t\tctx.strokeStyle = this.config.lineColor;\r\n\t\tctx.stroke();\r\n\t\t/* 获取百分比 */\r\n\t\tlet txt = parseInt(this.config.progress) + \"%\";\r\n\t\tctx.font = this.config.fontSize + \"px SimHei\";\r\n\t\t/* 获取文本宽度 */\r\n\t\tlet w = ctx.measureText(txt).width;\r\n\t\tlet h = this.config.fontSize / 2;\r\n\t\tctx.fillStyle = this.config.textColor;\r\n\t\tctx.fillText(txt, width / 2 - w / 2, height / 2 + h / 2);\r\n\t}.bind(this);\r\n};\r\n\r\nexport { Progress };\r\n","/**\r\n * \r\n * @param {...any} args \r\n * @returns \r\n */\r\nconst TryCatch = function (...args) {\r\n\t/* 定义变量和函数 */\r\n\tlet callbackFunction = null;\r\n\tlet context = null;\r\n\tlet handleError = null;\r\n\tlet defaultDetails = {\r\n\t\tlog: true,\r\n\t};\r\n\t/**\r\n\t * @function tryCatchObj\r\n\t * @description 空函数,用于链式调用。\r\n\t */\r\n\tfunction tryCatchObj() {}\r\n\r\n\t/**\r\n\t * 配置\r\n\t * @param {{\r\n\t * log: boolean\r\n\t * }} paramDetails\r\n\t */\r\n\ttryCatchObj.config = function (paramDetails) {\r\n\t\tdefaultDetails = Utils.assign(defaultDetails, paramDetails);\r\n\t\treturn tryCatchObj;\r\n\t};\r\n\t/**\r\n\t * 设置错误处理函数。\r\n\t * @param {function|string} handler 错误处理函数,可以是 function 或者 string 类型。如果是 string 类型,则会被当做代码进行执行。\r\n\t * @returns 返回 tryCatchObj 函数。\r\n\t */\r\n\ttryCatchObj.error = function (handler) {\r\n\t\thandleError = handler;\r\n\t\treturn tryCatchObj;\r\n\t};\r\n\r\n\t/**\r\n\t * 执行传入的函数并捕获其可能抛出的错误,并通过传入的错误处理函数进行处理。\r\n\t * @param {function|string} callback 待执行函数,可以是 function 或者 string 类型。如果是 string 类型,则会被当做代码进行执行。\r\n\t * @param {object|null} [__context__] 待执行函数的作用域,用于apply指定\r\n\t * @returns 如果函数有返回值,则返回该返回值;否则返回 tryCatchObj 函数以支持链式调用。\r\n\t * @throws {Error} 如果传入参数不符合要求,则会抛出相应类型的错误。\r\n\t */\r\n\ttryCatchObj.run = function (callback, __context__) {\r\n\t\tcallbackFunction = callback;\r\n\t\tcontext = __context__;\r\n\t\tlet result = executeTryCatch(callbackFunction, handleError, context);\r\n\t\treturn result !== void 0 ? result : tryCatchObj;\r\n\t};\r\n\r\n\t/**\r\n\t * 执行传入的函数并捕获其可能抛出的错误,并通过传入的错误处理函数进行处理。\r\n\t * @param {function|string} callback - 待执行函数,可以是 function 或者 string 类型。如果是 string 类型,则会被当做代码进行执行。\r\n\t * @param {function|string|null} handleErrorFunc - 错误处理函数,可以是 function 或者 string 类型。如果是 string 类型,则会被当做代码进行执行。\r\n\t * @param {object|null} funcThis - 待执行函数的作用域,用于apply指定\r\n\t * @returns {any|undefined} - 如果函数有返回值,则返回该返回值;否则返回 undefined。\r\n\t */\r\n\tfunction executeTryCatch(callback, handleErrorFunc, funcThis) {\r\n\t\tlet result = void 0;\r\n\t\ttry {\r\n\t\t\tif (typeof callback === \"string\") {\r\n\t\t\t\t(function () {\r\n\t\t\t\t\teval(callback);\r\n\t\t\t\t}).apply(funcThis, args);\r\n\t\t\t} else {\r\n\t\t\t\tresult = callback.apply(funcThis, args);\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tif (defaultDetails.log) {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t`%c ${callback?.name ? callback?.name : callback + \"出现错误\"} `,\r\n\t\t\t\t\t\"color: #f20000\"\r\n\t\t\t\t);\r\n\t\t\t\tconsole.log(`%c 错误原因:${error}`, \"color: #f20000\");\r\n\t\t\t\tconsole.trace(callback);\r\n\t\t\t}\r\n\t\t\tif (handleErrorFunc) {\r\n\t\t\t\tif (typeof handleErrorFunc === \"string\") {\r\n\t\t\t\t\tresult = function () {\r\n\t\t\t\t\t\treturn eval(handleErrorFunc);\r\n\t\t\t\t\t}.apply(funcThis, [...args, error]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresult = handleErrorFunc.apply(funcThis, [...args, error]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\t// 返回 tryCatchObj 函数\r\n\treturn tryCatchObj;\r\n};\r\n\r\n\r\nexport {\r\n TryCatch\r\n}","class UtilsDictionary {\r\n\titems = {};\r\n\t/**\r\n\t * 检查是否有某一个键\r\n\t * @param {string} key 键\r\n\t * @returns {boolean}\r\n\t */\r\n\thas(key) {\r\n\t\treturn this.items.hasOwnProperty(key);\r\n\t}\r\n\t/**\r\n\t * 检查已有的键中是否以xx开头\r\n\t * @param {string} key 需要匹配的键\r\n\t * @returns {boolean}\r\n\t */\r\n\tstartsWith(key) {\r\n\t\tlet allKeys = this.keys();\r\n\t\tfor (const keyName of allKeys) {\r\n\t\t\tif (keyName.startsWith(key)) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t/**\r\n\t * 获取以xx开头的键的值\r\n\t * @param {string} key 需要匹配的键\r\n\t * @returns {any}\r\n\t */\r\n\tgetStartsWith(key) {\r\n\t\tlet allKeys = this.keys();\r\n\t\tfor (const keyName of allKeys) {\r\n\t\t\tif (keyName.startsWith(key)) {\r\n\t\t\t\treturn this.items[keyName];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * 为字典添加某一个值\r\n\t * @param {string} key 键\r\n\t * @param {any} val 值,默认为\"\"\r\n\t */\r\n\tset(key, val = \"\") {\r\n\t\tif (key === void 0) {\r\n\t\t\tthrow new Error(\"Utils.Dictionary().set 参数 key 不能为空\");\r\n\t\t}\r\n\t\tthis.items[key] = val;\r\n\t}\r\n\t/**\r\n\t * 删除某一个键\r\n\t * @param {string} key 键\r\n\t * @returns {boolean}\r\n\t */\r\n\tdelete(key) {\r\n\t\tif (this.has(key)) {\r\n\t\t\tReflect.deleteProperty(this.items, key);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t/**\r\n\t * 获取某个键的值\r\n\t * @param {string} key 键\r\n\t * @returns {any}\r\n\t */\r\n\tget(key) {\r\n\t\treturn this.has(key) ? this.items[key] : void 0;\r\n\t}\r\n\t/**\r\n\t * 返回字典中的所有值\r\n\t * @returns {any[]}\r\n\t */\r\n\tvalues() {\r\n\t\tlet resultList = [];\r\n\t\tfor (let prop in this.items) {\r\n\t\t\tif (this.has(prop)) {\r\n\t\t\t\tresultList.push(this.items[prop]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn resultList;\r\n\t}\r\n\t/**\r\n\t * 清空字典\r\n\t */\r\n\tclear() {\r\n\t\tthis.items = null;\r\n\t\tthis.items = {};\r\n\t}\r\n\t/**\r\n\t * 获取字典的长度\r\n\t * @returns {number}\r\n\t */\r\n\tsize() {\r\n\t\treturn Object.keys(this.items).length;\r\n\t}\r\n\t/**\r\n\t * 获取字典所有的键\r\n\t */\r\n\tkeys() {\r\n\t\treturn Object.keys(this.items);\r\n\t}\r\n\t/**\r\n\t * 返回字典本身\r\n\t * @returns {object}\r\n\t */\r\n\tgetItems() {\r\n\t\treturn this.items;\r\n\t}\r\n\t/**\r\n\t * 合并另一个字典\r\n\t * @param {object} data 需要合并的字典\r\n\t */\r\n\tconcat(data) {\r\n\t\tthis.items = Utils.assign(this.items, data.getItems());\r\n\t}\r\n\tforEach(callbackfn) {\r\n\t\tfor (const key in this.items) {\r\n\t\t\tcallbackfn(this.get(key), key, this.items);\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * 获取字典的长度,同this.size\r\n\t * @returns {number}\r\n\t */\r\n\tget length() {\r\n\t\treturn this.size();\r\n\t}\r\n\t/**\r\n\t * 迭代器\r\n\t */\r\n\tget entries() {\r\n\t\tlet that = this;\r\n\t\treturn function* () {\r\n\t\t\tlet itemKeys = Object.keys(that.getItems());\r\n\t\t\tfor (const keyName of itemKeys) {\r\n\t\t\t\tyield [keyName, that.get(keyName)];\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\t/**\r\n\t * 是否可遍历\r\n\t */\r\n\tget [Symbol.iterator]() {\r\n\t\tlet that = this;\r\n\t\treturn function () {\r\n\t\t\treturn that.entries();\r\n\t\t};\r\n\t}\r\n\t/**\r\n\t * .toString()和.toLocaleString()输出的字符串\r\n\t */\r\n\tget [Symbol.toStringTag]() {\r\n\t\treturn \"UtilsDictionary\";\r\n\t}\r\n}\r\n\r\nexport { UtilsDictionary };\r\n",null],"names":["Utils"],"mappings":";;IAAA,MAAM,eAAe,CAAA;IACpB,IAAA,WAAA,GAAA,GAAgB;IAChB;;;IAGG;IACH,IAAA,KAAK,CAAC,GAAW,EAAA;IAChB,QAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;IAC5B,YAAA,OAAO,KAAK,CAAC;aACb;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE;IACxC,YAAA,OAAO,KAAK,CAAC;aACb;IACD,QAAA,OAAO,IAAI,CAAC;SACZ;IACD;;;;;;IAMG;QACH,SAAS,CAAC,GAAW,EAAE,OAAe,EAAA;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACrB,YAAA,MAAM,IAAI,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;aACtC;IACD,QAAA,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;IACjD,cAAE,OAAO;oBACP,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChC,GAAG;oBACH,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChC,GAAG;oBACH,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChC,GAAG;oBACH,OAAO;oBACP,GAAG;kBACH,EAAE,CAAC;SACN;IACD;;;;IAIG;IACH,IAAA,QAAQ,CAAC,GAAW,EAAA;YACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACrB,YAAA,MAAM,IAAI,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;aACtC;;YAED,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;;YAE3B,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,QAAA,IAAI,GAAG,IAAI,IAAI,EAAE;IAChB,YAAA,MAAM,IAAI,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;aACtC;YACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE;IACrC,YAAA,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,QAAA,OAAO,GAAG,CAAC;SACX;IACD;;;;;;IAMG;IACH,IAAA,QAAQ,CACP,QAAyB,EACzB,UAA2B,EAC3B,SAA0B,EAAA;;YAG1B,IAAI,YAAY,GAAG,WAAW,CAAC;YAC/B,IACC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACzC,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAExC,YAAA,MAAM,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;IACpC,QAAA,IAAI,IAAI,GAAG;IACV,YAAA,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrB,YAAA,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,YAAA,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;aACtB,CAAC;YACF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE;IACrC,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC;oBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3B;IACD;;;;;IAKG;QACH,YAAY,CAAC,KAAa,EAAE,KAAa,EAAA;YACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACvB,YAAA,MAAM,IAAI,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;aACxC;YACD,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE;;gBAErC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChE,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD;IACD;;;;;IAKG;QACH,aAAa,CAAC,KAAa,EAAE,KAAa,EAAA;YACzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACvB,YAAA,MAAM,IAAI,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;aACxC;YACD,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE;IACrC,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK;;IAEvB,YAAA,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CACzC,CAAC,QAAQ,EAAE,CAAC;IACd,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD;IACD;;ICzHD,MAAM,UAAU,CAAA;QACf,KAAK,GAAqB,EAAS,CAAC;QACpC,QAAQ,GAAc,EAAE,CAAC;QACzB,QAAQ,GAAc,EAAE,CAAC;IACzB,IAAA,WAAA,GAAA;YACC,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAC7B,u0pDAAu0pD,CACv0pD,CAAC;YAEF,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;IACzD,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;IAClC,YAAA,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;IAClC,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CACpC,GAAG;IACH,oBAAA,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACd,GAAG;wBACH,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EACb,WAAW,EAAE,CAAC;iBAChB;aACD;IACD,QAAA,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;IAC9B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;aACxC;SACD;IACO,IAAA,UAAU,CAAC,IAAY,EAAA;IAC9B,QAAA,IAAI,GAAG,IAAI;IACT,aAAA,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,EAAA;IACnC,YAAA,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,SAAC,CAAC;IACD,aAAA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,OAAO,CAAC,yBAAyB,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAA;IACtD,YAAA,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAS,EAAA;IAC3C,gBAAA,IAAI,CAAC,IAAI,IAAI,EAAE;wBACd,OAAO,EAAE,GAAG,CAAC,CAAC;qBACd;yBAAM;IACN,oBAAA,OAAO,CAAC,CAAC;qBACT;IACF,aAAC,CAAC,CAAC;IACJ,SAAC,CAAC,CAAC;IACJ,QAAA,OAAO,IAAI,CAAC;SACZ;IACO,IAAA,OAAO,CAAC,OAAe,EAAA;IAC9B,QAAA,OAAO,OAAO,IAAI,MAAM,IAAI,OAAO,IAAI,MAAM,CAAC;SAC9C;IAED;;;IAGG;IACH,IAAA,MAAM,CAAC,GAAW,EAAA;YACjB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,QAAA,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAI;IACzC,YAAA,OAAO,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3B,EAAE,EAAE,CAAC,CAAC;YACP,SAAS,KAAK,CAAC,GAAW,EAAA;gBACzB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAW,CAAC;oBAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;oBAC7C,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAW,CAAC;oBAC3C,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAW,CAAC,CAAC;;IAGvE,gBAAA,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;;IAGrB,gBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IAC5B,oBAAA,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;wBACnC,SAAS;qBACT;;IAGD,gBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACvB,oBAAA,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC7B,SAAS;qBACT;IAED;;;IAGE;IACF,gBAAA,MAAM,IAAI,KAAK,CAAC,KAAK,SAAS,CAAA,CAAA,CAAG,CAAC,CAAC;iBACnC;IACD,YAAA,OAAO,MAAM,CAAC;aACd;SACD;IAED;;;IAGG;IACH,IAAA,MAAM,CAAC,GAAW,EAAA;YACjB,IAAI,UAAU,GAAG,0BAA0B,CAAC;YAC5C,IAAI,UAAU,GAAG,cAAc,CAAC;IAChC,QAAA,IAAI,GAAG,GAAG,IAAI,EACb,GAAG,GAAG,IAAI,CAAC;YACZ,OAAO,GAAG,EAAE;;IAEX,YAAA,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;IAE5B,YAAA,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;IAE5B,YAAA,IAAI,GAAG,IAAI,GAAG,IAAI,OAAO,EAAE;;IAE1B,gBAAA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACjE;qBAAM;;IAEN,gBAAA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;iBAChD;aACD;IACD,QAAA,OAAO,GAAG,CAAC;SACX;IACD;;ICjHD,MAAM,mBAAmB,GAAoB;IAC5C,IAAA,QAAQ,EAAE,QAAQ;IAClB,IAAA,MAAM,EAAE,MAAM;IACd,IAAA,UAAU,EAAE,UAAU;IACtB,IAAA,IAAI,EAAE,IAAI;IACV,IAAA,GAAG,EAAE,GAAa;KAClB,CAAC;IACF,MAAM,YAAY,GAAoB;IACrC,IAAA,QAAQ,EAAE,QAAQ;IAClB,IAAA,MAAM,EAAE,MAAM;IACd,IAAA,UAAU,EAAE,UAAU;IACtB,IAAA,IAAI,EAAE,IAAI;IACV,IAAA,GAAG,EAAE,GAAa;KAClB,CAAC;IACF,MAAM,SAAS,GAAG;IACjB,IAAA,IAAI,CAAC,MAAwB,EAAA;YAC5B,IAAI,CAAC,MAAM,EAAE;gBACZ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;aAChD;IACD,QAAA,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SACpC;IACD,IAAA,IAAI,QAAQ,GAAA;YACX,OAAO,YAAY,CAAC,QAAQ,CAAC;SAC7B;IACD,IAAA,IAAI,MAAM,GAAA;YACT,OAAO,YAAY,CAAC,MAAM,CAAC;SAC3B;IACD,IAAA,IAAI,UAAU,GAAA;YACb,OAAO,YAAY,CAAC,UAAU,CAAC;SAC/B;IACD,IAAA,IAAI,IAAI,GAAA;YACP,OAAO,YAAY,CAAC,IAAI,CAAC;SACzB;IACD,IAAA,IAAI,GAAG,GAAA;YACN,OAAO,YAAY,CAAC,GAAG,CAAC;SACxB;KACD;;ICiBD,MAAM,aAAa,CAAA;IAClB;;;;;;IAMI;IACJ,IAAA,IAAI,CACH,YAAA,GAAiD,EAAE,EACnD,QAAW,GAAA,CAAC,UAAqC,EAAE,KAAa,KAAI,GAAG,EAAA;YAEvE,IAAI,UAAU,GAA8B,EAAE,CAAC;IAC/C,QAAA,IAAI;IACH,YAAA,IAAI,OAAO,GAAqC;;IAE/C,gBAAA,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI;IAC7B,gBAAA,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ;IACpC,gBAAA,IAAI,EAAE,EAAE;IACR,gBAAA,IAAI,EAAE,GAAG;iBACT,CAAC;gBACF,OAAO,GAAGA,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAC9C,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;IACxB,gBAAA,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxB,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,gBAAA,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,gBAAA,IAAI,UAAU,GACZ,OAAO,CAAC,IAAY,YAAY,MAAM;0BACpC,OAAO,CAAC,IAAI;IACd,sBAAE,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,gBAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAoB,CAAC,EAAE;wBACzC,UAAU,CAAC,IAAI,CAAC;IACf,wBAAA,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ;IACpC,wBAAA,cAAc,EAAE,IAAI;IACpB,wBAAA,QAAQ,EAAE,IAAI;IACd,wBAAA,QAAQ,EAAE,KAAK;IACf,wBAAA,IAAI,EAAE,QAAQ;IACd,wBAAA,IAAI,EAAE,GAAG;IACT,wBAAA,QAAQ,EAAE,aAAa;IACvB,wBAAA,MAAM,EAAE,IAAI;IACZ,wBAAA,OAAO,EAAE,KAAK;IACd,wBAAA,KAAK,EAAE,SAAS;IAChB,qBAAA,CAAC,CAAC;wBACH,OAAO;qBACP;IACF,aAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,UAAU,CAAC,CAAC;aACrB;YAAC,OAAO,KAAK,EAAE;IACf,YAAA,QAAQ,CAAC,UAAU,EAAE,KAAc,CAAC,CAAC;aACrC;SACD;IACD;;;;IAIG;QACH,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,QAAW,GAAA,CAAC,KAAa,KAAI,GAAG,EAAA;IACtD,QAAA,IAAI;IACH,YAAA,IAAI,OAAO,GAAqC;IAC/C,gBAAA,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;IACzB,gBAAA,IAAI,EAAE,EAAE;IACR,gBAAA,KAAK,EAAE,EAAE;IACT,gBAAA,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;IAChC,gBAAA,IAAI,EAAE,GAAG;IACT,gBAAA,MAAM,EAAE,IAAI;IACZ,gBAAA,QAAQ,EAAE,KAAK;IACf;;IAEG;IACH,gBAAA,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;iBAC1D,CAAC;gBACF,OAAO,GAAGA,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9C,YAAA,IAAI,IAAI,GAAG,OAAO,CAAC,cAAc;sBAC9B,OAAO,CAAC,cAAc;IACxB,kBAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC9C,YAAA,IAAI,SAAS,GACZ,OAAO,CAAC,IAAI;oBACZ,GAAG;IACH,gBAAA,kBAAkB,CAAC,OAAO,CAAC,KAAe,CAAC;oBAC3C,WAAW;IACV,gBAAA,IAAI,IAAI,CAAC,IAAI,CAAS,CAAC,WAAW,EAAE;IACrC,gBAAA,UAAU,CAAC;IACZ,YAAA,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAA,QAAQ,EAAE,CAAC;aACX;YAAC,OAAO,KAAK,EAAE;gBACf,QAAQ,CAAC,KAAc,CAAC,CAAC;aACzB;SACD;IACD;;;;IAIG;QACH,MAAM,CAAC,YAAY,GAAG,EAAE,EAAE,QAAW,GAAA,CAAC,KAAa,KAAI,GAAG,EAAA;IACzD,QAAA,IAAI;IACH,YAAA,IAAI,OAAO,GAAwC;IAClD,gBAAA,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;IACzB,gBAAA,IAAI,EAAE,EAAE;;IAER,gBAAA,gBAAgB,EAAE,EAAE;iBACpB,CAAC;gBACF,OAAO,GAAGA,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9C,YAAA,IAAI,SAAS,GACZ,OAAO,CAAC,IAAI,GAAG,mDAAmD,CAAC;IACpE,YAAA,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAA,QAAQ,EAAE,CAAC;aACX;YAAC,OAAO,KAAK,EAAE;gBACf,QAAQ,CAAC,KAAc,CAAC,CAAC;aACzB;SACD;IACD;;ICpKD;IACA;IACA;IACA;AACA;IACA,MAAM,UAAU,GAAG,YAAY;IAC/B,CAAC,OAAO,CAAC,YAAY;IAErB,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC;IAC1B,EAAE,MAAM,QAAQ,GAAG;IACnB,GAAG,OAAO,EAAE,EAAE;IACd,GAAG,OAAO,EAAE,EAAE;IACd,GAAG,CAAC;IACJ,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC;IACpE,EAAE,IAAI,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC;IAC/B,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC1C,EAAE,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IACnE,EAAE,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7E,EAAE,MAAM,cAAc,GAAG;IACzB,GAAG,QAAQ;IACX,GAAG,SAAS;IACZ,GAAG,MAAM;IACT,GAAG,MAAM;IACT,GAAG,aAAa;IAChB,GAAG,OAAO;IACV,GAAG,UAAU;IACb,GAAG,UAAU;IACb,GAAG,gBAAgB;IACnB,GAAG,WAAW;IACd,GAAG,WAAW;IACd,GAAG,QAAQ;IACX,GAAG,UAAU;IACb,GAAG,CAAC;IACJ,EAAE,MAAM,cAAc,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACjE,EAAE,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrD,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,EAAE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;IAC3B,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,EAAE,SAAS,UAAU,CAAC,GAAG,EAAE;IAC3B,GAAG;IACH,IAAI,GAAG;IACP,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC;IAC/C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;IAClC,KAAK;IACL,GAAG;IACH,EAAE,SAAS,UAAU,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE;IACnC,GAAG,IAAI;IACP,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,OAAO,MAAM,CAAC;IAClB,IAAI,CAAC,OAAO,GAAG,EAAE;IACjB,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI;IACJ,GAAG;IACH,EAAE,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;IACjD,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;IACpC,IAAI,YAAY,EAAE,IAAI;IACtB,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,GAAG,EAAE,MAAM;IACf,IAAI,GAAG,EAAE,MAAM;IACf,IAAI,CAAC,CAAC;IACN,GAAG;IACH,EAAE,SAAS,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE;IAClD,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,GAAG;IACH,EAAE,SAAS,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE;IAClD,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;IACpC,IAAI,YAAY,EAAE,IAAI;IACtB,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,QAAQ,EAAE,IAAI;IAClB,IAAI,KAAK,EAAE,KAAK;IAChB,IAAI,CAAC,CAAC;IACN,GAAG;IACH,EAAE,SAAS,YAAY,CAAC,GAAG,EAAE;IAC7B,GAAG,MAAM,OAAO,GAAG,EAAE,CAAC;IACtB,GAAG,QAAQ,OAAO,CAAC,GAAG,CAAC;IACvB,IAAI,KAAK,iBAAiB;IAC1B,KAAK,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;IACrD,MAAM,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM;IACzB,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,OAAO,CAAC,OAAO,CAAC;IACtB,OAAO,OAAO,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;IACpE,MAAM;IACN,KAAK,MAAM;IACX,IAAI,KAAK,kBAAkB;IAC3B,KAAK,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE;IACnC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACzB,MAAM;IACN,KAAK,MAAM;IACX,IAAI,KAAK,iBAAiB;IAC1B,KAAK,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;IACvB,IAAI;IACJ,GAAG,OAAO,OAAO,CAAC;IAClB,GAAG;IACH,EAAE,SAAS,wBAAwB,GAAG;IACtC,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACpC,GAAG;IACH,EAAE,MAAM,YAAY,CAAC;IACrB,GAAG,IAAI,CAAC,EAAE,EAAE;IACZ,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;IACf,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;IAC9B,IAAI;IACJ,GAAG;IACH,EAAE,MAAM,SAAS,CAAC;IAClB,GAAG,WAAW,CAAC,OAAO,EAAE;IACxB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI;IACJ,GAAG,YAAY,CAAC,OAAO,EAAE;IACzB,IAAI,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;IACtD,IAAI;IACJ,KAAK,OAAO,CAAC,MAAM;IACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;IAC5B,MAAM,QAAQ,IAAI;IAClB,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;IAC1C,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,iBAAiB;IAClD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,iBAAiB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE,OAAO,KAAK,GAAG,CAAC,MAAM;IACtB,QAAQ,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;IAC1D,OAAO,KAAK,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK;IACjD,QAAQ,OAAO,KAAK,CAAC;IACrB,OAAO;IACP,MAAM,OAAO,IAAI,CAAC;IAClB,MAAM,CAAC;IACP,MAAM;IACN,IAAI;IACJ,GAAG,kBAAkB,GAAG;IACxB,IAAI,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IAC7B,KAAK,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;IAClE,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO;IAC7C,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK;IAC9B,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,mBAAmB;IAC9C,QAAQ,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,CAAC;IACT,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;IACnC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC;IACT,MAAM,CAAC,CAAC;IACR,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;IAC/B,KAAK;IACL,IAAI,MAAM,QAAQ,GAAG,EAAE,CAAC;IACxB,IAAI,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;IACjE,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO;IAC5C,KAAK,QAAQ,CAAC,IAAI;IAClB,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;IACzE,OAAO;IACP,QAAQ,OAAO,CAAC,GAAG;IACnB,SAAS,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG;IAC7B,UAAU,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;IACjD,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC7C,WAAW,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC7D,WAAW;IACX,UAAU;IACV,SAAS;IACT,OAAO;IACP,MAAM,CAAC;IACP,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI;IACJ,GAAG,mBAAmB,CAAC,QAAQ,EAAE;IACjC,IAAI,MAAM,YAAY;IACtB,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,GAAG,YAAY,GAAG,cAAc,CAAC;IACjE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IAC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,mBAAmB,EAAE;IACjE,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;IACpC,OAAO;IACP,QAAQ,KAAK,IAAI,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC7C,QAAQ,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,SAAS;IACT,QAAQ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ;IACR,OAAO,CAAC,CAAC;IACT,MAAM;IACN,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;IAC/B,KAAK;IACL,IAAI,OAAO,OAAO,CAAC,OAAO;IAC1B,KAAK,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC;IACX,KAAK,OAAO,CAAC,GAAG;IAChB,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;IAChC,OAAO,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,EAAE;IAChD,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI;IACrD,SAAS,CAAC,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACvC,SAAS,MAAM,OAAO,QAAQ,CAAC,GAAG,CAAC;IACnC,SAAS,CAAC;IACV,QAAQ,MAAM;IACd,QAAQ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ;IACR,OAAO,CAAC;IACR,MAAM;IACN,KAAK,CAAC;IACN,IAAI;IACJ,GAAG;IACH,EAAE,MAAM,YAAY,GAAG;IACvB,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE;IACrB,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI;IACJ,KAAK,UAAU;IACf,KAAK,CAAC,UAAU,CAAC,YAAY;IAC7B,KAAK,CAAC,UAAU,CAAC,QAAQ;IACzB,KAAK,CAAC,UAAU,CAAC,GAAG;IACpB;IACA,KAAK,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;IACnC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE;IAC7B,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE;IAChC,MAAM,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,KAAK,IAAI,WAAW,EAAE,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC;IACzD,MAAM,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,UAAU;IACjD,OAAO,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,WAAW,CAAC,KAAK,CAAC;IAC/B,MAAM;IACN,KAAK,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU;IAC3C,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK;IACL,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI;IACJ,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5B,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI;IACJ,KAAK,UAAU;IACf,KAAK,CAAC,UAAU,CAAC,YAAY;IAC7B,KAAK,CAAC,UAAU,CAAC,QAAQ;IACzB,KAAK,CAAC,UAAU,CAAC,GAAG;IACpB;IACA,KAAK,OAAO,IAAI,CAAC;IACjB,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;IACnC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE;IACtD,KAAK,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,WAAW,CAAC,GAAG;IACpB,QAAQ,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B,SAAS,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACpC,KAAK,MAAM;IACX,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC1B,KAAK;IACL,IAAI,OAAO,IAAI,CAAC;IAChB,IAAI;IACJ,GAAG,CAAC;IACJ,EAAE,MAAM,SAAS,CAAC;IAClB,GAAG,WAAW,CAAC,GAAG,EAAE;IACpB,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;IACpB,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;IACtB,KAAK,WAAW,EAAE,GAAG;IACrB,KAAK,QAAQ,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3C,KAAK,WAAW,EAAE,IAAI,YAAY,EAAE;IACpC,KAAK,UAAU,EAAE,EAAE;IACnB,KAAK,WAAW,EAAE,EAAE;IACpB,KAAK,CAAC,CAAC;IACP,IAAI,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,KAAK;IACpD,KAAK;IACL,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,CAAC;IAClC,MAAM,EAAE,CAAC,OAAO;IAChB,MAAM,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU;IAC/C,OAAO;IACP,MAAM,MAAM,QAAQ,GAAG;IACvB,OAAO,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW;IACxC,OAAO,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM;IACjC,OAAO,eAAe,EAAE,YAAY;IACpC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,EAAE;IAC3C,QAAQ;IACR,OAAO,CAAC;IACR,MAAM,MAAM,UAAU,GAAG,EAAE,CAAC;IAC5B,MAAM,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;IACtC,OAAO,IAAI;IACX,QAAQ,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,GAAG,EAAE,EAAE;IACvB,OAAO,UAAU;IACjB,QAAQ,QAAQ;IAChB,QAAQ,GAAG;IACX,QAAQ,MAAM;IACd,SAAS,QAAQ,QAAQ,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE;IAClD,SAAS;IACT,QAAQ,CAAC,GAAG,KAAK;IACjB,SAAS,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC7B,SAAS;IACT,QAAQ,CAAC;IACT,OAAO;IACP,MAAM,EAAE,CAAC,WAAW,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC;IAChD,QAAQ,mBAAmB,CAAC,QAAQ,CAAC;IACrC,QAAQ,IAAI,CAAC,MAAM;IACnB,QAAQ,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;IACxC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG;IAC9B,UAAU,GAAG,EAAE,MAAM;IACrB,WAAW,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACnE,WAAW,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,WAAW;IACX,UAAU,CAAC;IACX,SAAS;IACT,QAAQ,CAAC,CAAC;IACV,MAAM;IACN,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACzB,KAAK,CAAC,CAAC;IACP,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;IACtC,KAAK,MAAM,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC;IAC9B,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG;IAC5B,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI;IAC9C,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IAC3C,MAAM,CAAC;IACP,KAAK;IACL,IAAI,KAAK,MAAM,MAAM,IAAI;IACzB,KAAK,kBAAkB;IACvB,KAAK,kBAAkB;IACvB,KAAK,qBAAqB;IAC1B,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,EAAE;IACP,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IACnD,KAAK;IACL,IAAI;IACJ,GAAG,MAAM,GAAG,EAAE;IACd,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;IACzB,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;IAC/B,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;IACzE,KAAK,MAAM;IACX,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;IAChC,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,OAAO;IAC7C,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAClE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,KAAK;IACL,IAAI;IACJ,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;IAC5B,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;IAC/B,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,KAAK,MAAM;IACX,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;IAChC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpE,KAAK;IACL,IAAI;IACJ,GAAG,aAAa,CAAC,CAAC,EAAE;IACpB,IAAI,CAAC,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC1D,IAAI,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5B,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK;IAC9C,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI;IAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC;IACR,MAAM,CAAC,CAAC;IACR,IAAI,IAAI,CAAC,CAAC,oBAAoB,EAAE,OAAO;IACvC,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI;IACJ,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE;IACnC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,CAAC,EAAE,OAAO;IAClD,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM,CAAC;IACnB,KAAK,MAAM,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;IAChE,IAAI;IACJ,GAAG,gBAAgB,CAAC,GAAG,IAAI,EAAE;IAC7B,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;IAC1C,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,KAAK,MAAM;IACX,KAAK,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;IAChD,KAAK;IACL,IAAI;IACJ,GAAG,mBAAmB,CAAC,GAAG,IAAI,EAAE;IAChC,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;IAC1C,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,KAAK,MAAM;IACX,KAAK,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;IACnD,KAAK;IACL,IAAI;IACJ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE;IAC5C,IAAI,IAAI,CAAC,OAAO,GAAG;IACnB,KAAK,IAAI,EAAE,KAAK;IAChB,KAAK,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;IACxB,KAAK,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;IACjC,KAAK,KAAK,EAAE,KAAK;IACjB,KAAK,OAAO,EAAE,EAAE;IAChB,KAAK,IAAI,EAAE,IAAI;IACf,KAAK,QAAQ,EAAE,IAAI;IACnB,KAAK,KAAK,EAAE,CAAC,CAAC,KAAK;IACnB,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;IAC1C,IAAI;IACJ,KAAK,aAAa;IAClB,KAAK,YAAY;IACjB,KAAK,QAAQ;IACb,KAAK,YAAY;IACjB,KAAK,GAAG,YAAY;IACpB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;IACvB,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,KAAK,CAAC,CAAC;IACP,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9D,IAAI;IACJ,GAAG,IAAI,CAAC,IAAI,EAAE;IACd,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;IACpB,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC;IAC/B,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAC/B,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,MAAM;IAC3D,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE;IACxB,MAAM,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE;IACpC,QAAQ,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE;IAC3C,QAAQ,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;IAChC,QAAQ,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;IAC9B,QAAQ,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IACnC,QAAQ,CAAC,CAAC;IACV,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG;IAClC,QAAQ,GAAG,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,QAAQ,CAAC;IACT,OAAO;IACP,MAAM,MAAM;IACZ,MAAM,GAAG,CAAC,IAAI;IACd,OAAO,OAAO,CAAC,MAAM;IACrB,OAAO,OAAO,CAAC,GAAG;IAClB,OAAO,OAAO,CAAC,KAAK;IACpB,OAAO,GAAG,EAAE,CAAC,QAAQ;IACrB,OAAO,CAAC;IACR,MAAM,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;IAC5C,OAAO,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,OAAO;IACP,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM;IACN,KAAK,CAAC,CAAC;IACP,IAAI;IACJ,GAAG;IACH,EAAE,SAAS,OAAO,GAAG;IACrB,GAAG,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACnC,GAAG,IAAI,cAAc,IAAI,GAAG;IAC5B,IAAI,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC/C,GAAG,GAAG,CAAC,YAAY,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IACzC,GAAG,OAAO,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;IACpC,GAAG;IACH,EAAE,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC;IACnD,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO;IACzC,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpD,GAAG,CAAC;IACJ,EAAE,SAAS,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE;IACxC,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5D,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;IACnB,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,kBAAkB,EAAE;IAC5C,IAAI,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IAClB,IAAI;IACJ,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACtC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,GAAG,MAAM,OAAO,GAAG;IACnB,IAAI,IAAI,EAAE,OAAO;IACjB,IAAI,GAAG,EAAE,GAAG;IACZ,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;IACrC,IAAI,KAAK,EAAE,KAAK;IAChB,IAAI,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;IACvC,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;IACnB,IAAI,QAAQ,EAAE,IAAI;IAClB,IAAI,KAAK,EAAE,IAAI;IACf,IAAI,CAAC;IACL,GAAG,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAC3C,IAAI,GAAG;IACP,MAAM,kBAAkB,EAAE;IAC1B,MAAM,IAAI,CAAC,MAAM;IACjB,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE;IACzB,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE;IACnD,QAAQ,MAAM,QAAQ,GAAG;IACzB,SAAS,QAAQ,EAAE,OAAO,CAAC,GAAG;IAC9B,SAAS,MAAM,EAAE,GAAG;IACpB,SAAS,eAAe,EAAE,EAAE;IAC5B,SAAS,CAAC;IACV,QAAQ,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM;IACrD,SAAS,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC;IAC/D,SAAS,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,SAAS,IAAI,GAAG,KAAK,MAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;IACxD,UAAU,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,UAAU;IACV,SAAS,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE;IACvC,UAAU,MAAM,EAAE,GAAG;IACrB,UAAU,UAAU,EAAE,IAAI;IAC1B,UAAU,CAAC,CAAC;IACZ,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC;IAChD,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,SAAS,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,SAAS,CAAC,CAAC;IACX,QAAQ,MAAM;IACd,QAAQ,MAAM,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1D,QAAQ;IACR,OAAO,OAAO;IACd,OAAO;IACP,MAAM,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACnC,MAAM,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACrC,MAAM,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/B,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;IACjE,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE;IACnD,QAAQ,MAAM,QAAQ,GAAG;IACzB,SAAS,QAAQ,EAAE,GAAG,CAAC,GAAG;IAC1B,SAAS,MAAM,EAAE,GAAG,CAAC,MAAM;IAC3B,SAAS,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;IACnD,SAAS,CAAC;IACV,QAAQ,cAAc,CAAC,OAAO;IAC9B,SAAS,CAAC,GAAG;IACb,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY;IAClC,WAAW,IAAI,GAAG,IAAI,QAAQ;IAC9B,YAAY,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,WAAW,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;IACzD,YAAY,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAChC,YAAY,OAAO,GAAG;IACtB,cAAc,mBAAmB,CAAC,QAAQ,CAAC;IAC3C,cAAc,IAAI,CAAC,OAAO,GAAG,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAClE,YAAY,CAAC,CAAC;IACd,WAAW,CAAC;IACZ,SAAS,CAAC;IACV,QAAQ;IACR,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,CAAC;IACjB,MAAM,CAAC;IACP,MAAM,KAAK,CAAC,CAAC,GAAG,KAAK;IACrB,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,CAAC;IACR,IAAI,CAAC,CAAC;IACN,GAAG;IACH,EAAE,SAAS,cAAc,GAAG;IAC5B,GAAG,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC9D,GAAG,MAAM,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC7C,GAAG,OAAO,GAAG,CAAC;IACd,GAAG;IACH,EAAE,KAAK,GAAG,GAAG,CAAC,YAAY,GAAG,KAAK,IAAI;IACtC,GAAG,OAAO;IACV,GAAG,OAAO;IACV,GAAG,SAAS;IACZ,GAAG,cAAc;IACjB,GAAG,OAAO,EAAE,GAAG,CAAC,cAAc;IAC9B,GAAG,SAAS,EAAE,GAAG,CAAC,KAAK;IACvB,GAAG,cAAc,EAAE,QAAQ,CAAC,KAAK;IACjC,GAAG,SAAS,EAAE,IAAI,GAAG,EAAE;IACvB,GAAG,CAAC;IACJ,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;IAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC9C,EAAE,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;IACrC,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,EAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;IACxC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,EAAE,OAAO;IACT,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1C,GAAG,MAAM,EAAE,CAAC,GAAG,KAAK;IACpB,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;IACnD,IAAI;IACJ,GAAG,OAAO,EAAE,MAAM;IAClB,IAAI,QAAQ,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACtD,IAAI;IACJ,GAAG,MAAM,EAAE,MAAM;IACjB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;IAC/B,KAAK,QAAQ,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACpD,KAAK,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACvD,KAAK,OAAO,GAAG,CAAC,YAAY,CAAC;IAC7B,KAAK;IACL,IAAI;IACJ,GAAG,CAAC;IACJ,EAAE,GAAG,CAAC;IACN,CAAC;;IC1jBD;IACA;IACA;IACA;IACA,MAAM,MAAM,GAAG,UAAU,OAAO,EAAE;IAClC,CAAC,MAAM,MAAM,GAAG;IAChB;IACA;IACA;IACA;IACA,EAAE,QAAQ,EAAE,OAAO,CAAC,WAAW;IAC/B;IACA;IACA;IACA;IACA,EAAE,QAAQ,EAAE,OAAO,CAAC,WAAW;IAC/B;IACA;IACA;IACA;IACA,EAAE,mBAAmB,EAAE,OAAO,CAAC,sBAAsB;IACrD;IACA;IACA;IACA;IACA,EAAE,qBAAqB,EAAE,OAAO,CAAC,wBAAwB;IACzD,EAAE,CAAC;IACH,CAAC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;IAC5C,EAAE,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE;IAC7C,GAAG,MAAM,IAAI,KAAK;IAClB,IAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC,OAAO,CAAC;IACtD,IAAI,CAAC;IACL,GAAG;IACH,EAAE;IACF;IACA,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC;AACtB;IACA,CAAC,MAAM,UAAU,GAAG;IACpB,EAAE,KAAK,EAAE;IACT;IACA;IACA;IACA;IACA,GAAG,IAAI,EAAE,EAAE;IACX;IACA;IACA;IACA,GAAG,GAAG,EAAE,mBAAmB;IAC3B,GAAG;IACH,EAAE,QAAQ,EAAE;IACZ;IACA,GAAG,UAAU;IACb,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI;IACvE;IACA;IACA;IACA,GAAG,YAAY,EAAE,IAAI;IACrB,GAAG;IACH,EAAE,MAAM,EAAE;IACV;IACA;IACA;IACA,GAAG,OAAO,EAAE,GAAG;IACf;IACA;IACA;IACA,GAAG,KAAK,EAAE,GAAG;IACb,GAAG;IACH;IACA;IACA;IACA,EAAE,IAAI,GAAG;IACT,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;IAChE,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,MAAM,GAAG,OAAO;IAC/B,KAAK,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC;IAC7D,KAAK,CAAC;IACN,IAAI,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE;IACnD,KAAK,UAAU,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,UAAU,KAAK;IACrD,MAAM,IAAI,UAAU,EAAE;IACtB,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC;IACnD,OAAO,MAAM;IACb,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC;IACjD,OAAO;IACP,MAAM,CAAC;IACP,KAAK;IACL,IAAI;IACJ,GAAG;IACH;IACA;IACA;IACA;IACA,EAAE,QAAQ,CAAC,WAAW,EAAE;IACxB,GAAG,IAAI,WAAW,IAAI,IAAI,EAAE;IAC5B,IAAI,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI;IACJ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;IACpC,IAAI,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC;IAChC,IAAI;IACJ,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;IAC5D,IAAI,IAAI,mBAAmB,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE;IACrC,KAAK,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC9C,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrE,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;IACnC,IAAI,mBAAmB,CAAC,UAAU,GAAG,YAAY;IACjD,KAAK,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,CAAC;IACN,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,mBAAmB,CAAC;IACxD,IAAI;IACJ,GAAG;IACH;IACA;IACA;IACA;IACA;IACA,EAAE,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE;IACtC,GAAG,IAAI,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvD,GAAG,IAAI,GAAG,IAAI,SAAS,EAAE;IACzB,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,MAAM;IACV,IAAI,OAAO,YAAY,CAAC;IACxB,IAAI;IACJ,GAAG;IACH;IACA;IACA;IACA;IACA;IACA,EAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE;IAC/B,GAAG,IAAI,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvD,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9C,GAAG;IACH;IACA;IACA;IACA;IACA,EAAE,gBAAgB,CAAC,UAAU,EAAE;IAC/B,GAAG,UAAU,CAAC,MAAM,GAAG,OAAO;IAC9B,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC;IAC5D,IAAI,CAAC;IACL,GAAG,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE;IAClD,IAAI,UAAU,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,UAAU,KAAK;IACpD,KAAK,IAAI,UAAU,EAAE;IACrB,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC;IAClD,MAAM,MAAM;IACZ,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC;IAChD,MAAM;IACN,KAAK,CAAC;IACN,IAAI;IACJ,GAAG,OAAO,UAAU,CAAC;IACrB,GAAG;IACH;IACA;IACA;IACA;IACA,EAAE,cAAc,CAAC,UAAU,EAAE;IAC7B,GAAG,IAAI,oBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC;IAC7C;IACA,GAAG,IAAI,aAAa,GAAG,OAAO;IAC9B,IAAI,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,UAAU,CAAC,MAAM,CAAC;IAClE,IAAI,CAAC;IACL;IACA,GAAG,IAAI,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtE,GAAG,MAAM,IAAI,GAAG,IAAI,CAAC;IACrB,IAAyB;IACzB;IACA;IACA;IACA,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE;IACrB;IACA;IACA;IACA,IAAI,SAAS,EAAE,UAAU,CAAC,SAAS;IACnC;IACA;IACA;IACA,IAAI,SAAS,EAAE,UAAU,CAAC,SAAS;IACnC;IACA;IACA;IACA,IAAI,KAAK,EAAE,UAAU,CAAC,KAAK;IAC3B,MAAK;IACL;IACA,GAAG,UAAU,CAAC,UAAU;IACxB,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,SAAS;IAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU;IAC/B,OAAO,UAAU,CAAC,UAAU,CAAC;IAC7B;IACA,GAAG,UAAU,CAAC,YAAY;IAC1B,IAAI,OAAO,UAAU,CAAC,YAAY,KAAK,SAAS;IAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY;IACjC,OAAO,UAAU,CAAC,YAAY,CAAC;IAC/B;IACA;IACA;IACA;IACA,GAAG,SAAS,aAAa,CAAC,KAAK,EAAE;IACjC,IAAI,IAAI,WAAW,GAAG,OAAO;IAC7B,KAAK,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAC/D,KAAK,CAAC;IACN,IAAI,IAAI,UAAU,CAAC,YAAY,EAAE;IACjC,KAAK,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,WAAW,CAAC,CAAC;IAC/D,KAAK;IACL,IAAI,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE;IACnD,KAAK,UAAU,CAAC,QAAQ,CAAC;IACzB,MAAM,GAAG,EAAE,oBAAoB;IAC/B,MAAM,MAAM,EAAE,CAAC,WAAW;IAC1B,MAAM,SAAS,EAAE,WAAW;IAC5B,MAAM,KAAK,EAAE,KAAK;IAClB,MAAM,UAAU,CAAC,KAAK,EAAE;IACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC1D,OAAO;IACP,MAAM,CAAC,CAAC;IACR,KAAK;IACL;IACA,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE;IAC/B,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC9B,KAAK,MAAM;IACX,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IACtB,KAAK;IACL,IAAI;AACJ;IACA,GAAG,OAAO;IACV,IAAI,QAAQ;IACZ,IAAI,aAAa;IACjB,IAAI,CAAC;IACL,GAAG;IACH;IACA;IACA;IACA;IACA,EAAE,WAAW,CAAC,OAAO,EAAE;IACvB,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC;IACpE,GAAG;IACH;IACA;IACA;IACA;IACA,EAAE,aAAa,CAAC,OAAO,EAAE;IACzB,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,IAAI,CAAC;IAC1E,GAAG;IACH;IACA;IACA;IACA;IACA,EAAE,oBAAoB,CAAC,OAAO,EAAE;IAChC,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,OAAO,CAAC;IACzE,MAAM,UAAU,CAAC;IACjB,GAAG;IACH,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,SAAS,EAAE;IACjC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IAChC,GAAG,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE;IACvC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B,KAAK,IAAI,EAAE,UAAU;IACrB,KAAK,EAAE,EAAE,KAAK,CAAC;IACf,KAAK,CAAC,CAAC;IACP,IAAI;IACJ,GAAG,MAAM;IACT,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9B,IAAI,IAAI,EAAE,SAAS;IACnB,IAAI,EAAE,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,CAAC;IACN,GAAG;IACH,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,OAAO,EAAE;IAClC;IACA;IACA;IACA,EAAE,IAAI,WAAW,GAAG,EAAE,CAAC;IACvB,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IAC9B,GAAG,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC;IAC9C,GAAG,MAAM,IAAI,OAAO,IAAI,IAAI,EAAE;IAC9B,GAAG,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3C,GAAG;IACH,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;IAChC,GAAG,IAAI,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,GAAG,IAAI,UAAU,EAAE;IACnB,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI;IACJ,GAAG,CAAC,CAAC;IACL,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;IAC3C,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE;IACzB,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IAClC,IAAI;IACJ,GAAG,CAAC,CAAC;IACL,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;IACpB,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,MAAM,EAAE;IACjC,EAAE,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvC,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,OAAO,EAAE;IAC/B,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,OAAO,EAAE;IACrC,EAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACzD,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,OAAO,EAAE;IACnC,EAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IACvD,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,gBAAgB,GAAG,UAAU,OAAO,EAAE;IAC5C,EAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,QAAQ;IAC1D,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IACpB,GAAG,CAAC;IACJ,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,OAAO,EAAE;IACrC,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;IACrE,GAAG,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,KAAK,OAAO,EAAE;IAC9C,IAAI,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IAC3B,IAAI,MAAM;IACV,IAAI;IACJ,GAAG;IACH,EAAE,OAAO,MAAM,CAAC;IAChB,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,YAAY,GAAG,UAAU,OAAO,EAAE;IACxC,EAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;IAC5D,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,YAAY,GAAG,UAAU,OAAO,EAAE;IACxC,EAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;IAC5D,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,OAAO,EAAE;IACzC,EAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAC7D,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,OAAO,EAAE;IACvC,EAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IAC3D,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,kBAAkB,GAAG,YAAY;IACvC,EAAE,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;IACnC,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,mBAAmB,GAAG,YAAY;IACxC,EAAE,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;IACjC,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,sBAAsB,GAAG,YAAY;IAC3C,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9B,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,OAAO,EAAE,KAAK,EAAE;IAC3C,EAAE,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,OAAO,EAAE,KAAK,EAAE;IAC5C,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,kBAAkB,GAAG,UAAU,WAAW,EAAE;IAClD,EAAE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;IACvC,GAAG,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC/C,GAAG;IACH,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC;IAC1C,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,mBAAmB,GAAG,UAAU,WAAW,EAAE;IACnD,EAAE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;IACvC,GAAG,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC/C,GAAG;IACH,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;IACxC,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,sBAAsB,GAAG,UAAU,OAAO,EAAE;IAClD,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;IACnC,GAAG,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC3C,GAAG;IACH,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;IACjC,EAAE,CAAC;AACH;IACA,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;;IC7cD,MAAM,KAAK,GAAG,YAAY;IAC1B,CAAC,IAAI,CAAC,OAAO,GAAG,YAAY;IAC5B,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IACnE,GAAG,IAAI,QAAQ,GAAG,IAAI,CAAC;IACvB,GAAG,IAAI,SAAS,GAAG,IAAI,CAAC;AACxB;IACA,GAAG,QAAQ,GAAG,OAAO,IAAI,MAAM,CAAC;IAChC,GAAG,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,GAAG,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;AAC5C;IACA,GAAG;IACH,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS;IACjC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ;IAC1C,KAAK;IACL,IAAI,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,CAAC;IACjB,IAAI;IACJ,GAAG,SAAS,WAAW,CAAC,EAAE,EAAE;IAC5B;IACA,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAChC,IAAI,IAAI,MAAM,GAAG,uBAAuB,CAAC;IACzC,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,IAAI,MAAM,EAAE;IAChB,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,IAAI;IACJ,GAAG,IAAI;IACP,IAAI,IAAI;IACR,KAAK,iCAAiC;IACtC,MAAM,SAAS;IACf,MAAM,OAAO;IACb,MAAM,uDAAuD;IAC7D,MAAM,mBAAmB;IACzB,MAAM,6BAA6B;IACnC,MAAM,4BAA4B;IAClC,MAAM,SAAS;IACf,MAAM,uBAAuB;IAC7B,MAAM,IAAI;IACV,KAAK,CAAC;IACN,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;IAClD,IAAI,OAAO,IAAI,CAAC;IAChB,IAAI,CAAC,OAAO,CAAC,EAAE;IACf,IAAI,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,CAAC;IACjB,IAAI;IACJ,GAAG,CAAC;IACJ,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IACrE,GAAG,IAAI,QAAQ,GAAG,IAAI,CAAC;IACvB,GAAG,IAAI,SAAS,GAAG,IAAI,CAAC;IACxB,GAAG,QAAQ,GAAG,OAAO,IAAI,MAAM,CAAC;IAChC,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,CAAC;IACjB,IAAI;IACJ,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC1D,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC;IAC7D,GAAG,OAAO,IAAI,CAAC;IACf,GAAG,CAAC;IACJ,EAAE,CAAC;IACH,CAAC,IAAI,CAAC,QAAQ,GAAG,YAAY;IAC7B,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;IACjD,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,GAAG;IACH,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;IACnD,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,GAAG;IACH,EAAE,OAAO,IAAI,CAAC;IACd,EAAE,CAAC;IACH,CAAC;;ICtED,MAAM,KAAK,GAAG,UAAU,kBAAkB,EAAE;IAC5C,CAAC,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;IAC/C,EAAE,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAC1D,EAAE;IACF,CAAC,MAAM,MAAM,GAAG;IAChB;IACA;IACA;IACA,EAAE,cAAc,EAAE,kBAAkB;IACpC,EAAE,CAAC;IACH;IACA;IACA;IACA,CAAC,IAAI,cAAc,GAAG;IACtB,EAAE,GAAG,EAAE,KAAK,CAAC;IACb,EAAE,OAAO,EAAE,IAAI;IACf,EAAE,KAAK,EAAE,KAAK;IACd,EAAE,YAAY,EAAE,KAAK,CAAC;IACtB,EAAE,OAAO,EAAE,KAAK,CAAC;IACjB,EAAE,IAAI,EAAE,KAAK,CAAC;IACd,EAAE,QAAQ,EAAE,KAAK,CAAC;IAClB,EAAE,MAAM,EAAE,KAAK,CAAC;IAChB,EAAE,MAAM,EAAE,KAAK,CAAC;IAChB,EAAE,OAAO,EAAE,KAAK,CAAC;IACjB,EAAE,UAAU,EAAE,KAAK,CAAC;IACpB,EAAE,OAAO,EAAE,KAAK,CAAC;IACjB,EAAE,gBAAgB,EAAE,KAAK,CAAC;IAC1B,EAAE,SAAS,EAAE,KAAK,CAAC;IACnB,EAAE,KAAK,EAAE,KAAK,CAAC;IACf,EAAE,SAAS,EAAE,KAAK,CAAC;IACnB,EAAE,IAAI,EAAE,KAAK,CAAC;IACd,EAAE,QAAQ,EAAE,KAAK,CAAC;IAClB,EAAE,OAAO,GAAG,EAAE;IACd,EAAE,OAAO,GAAG,EAAE;IACd,EAAE,SAAS,GAAG,EAAE;IAChB,EAAE,WAAW,GAAG,EAAE;IAClB,EAAE,kBAAkB,GAAG,EAAE;IACzB,EAAE,UAAU,GAAG,EAAE;IACjB,EAAE,CAAC;IACH;IACA;IACA;IACA,CAAC,IAAI,WAAW,GAAG,KAAK,CAAC;AACzB;IACA,CAAC,MAAM,gBAAgB,GAAG;IAC1B;IACA;IACA;IACA;IACA;IACA,EAAE,qBAAqB,CAAC,OAAO,EAAE,EAAE;IACnC,EAAE,CAAC;AACH;IACA,CAAC,MAAM,mBAAmB,GAAG;IAC7B;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;IACvC;IACA;IACA;IACA,GAAG,IAAI,MAAM,GAAG;IAChB,IAAI,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,cAAc,CAAC,GAAG;IAC1C,IAAI,MAAM,EAAE,CAAC,MAAM,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE;IACtD,IAAI,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO;IACtD,IAAI,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY;IACrE;IACA,IAAI,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC;IACpD,IAAI,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI;IAC7C,IAAI,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;IACzD,IAAI,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM;IACnD,IAAI,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM;IACnD,IAAI,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO;IACtD,IAAI,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU;IAC/D;IACA,IAAI,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC;IACvE,IAAI,gBAAgB;IACpB,KAAK,OAAO,CAAC,gBAAgB,IAAI,cAAc,CAAC,gBAAgB;IAChE,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS;IAC5D,IAAI,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK;IAChD;IACA,IAAI,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC;IACxD,IAAI,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI;IAC7C,IAAI,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;IACzD,IAAI,OAAO,CAAC,GAAG,IAAI,EAAE;IACrB,KAAK,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,KAAK;IACL,IAAI,OAAO,CAAC,GAAG,IAAI,EAAE;IACrB,KAAK,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,KAAK;IACL,IAAI,WAAW,CAAC,GAAG,IAAI,EAAE;IACzB,KAAK,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,KAAK;IACL,IAAI,UAAU,CAAC,GAAG,IAAI,EAAE;IACxB,KAAK,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,KAAK;IACL,IAAI,kBAAkB,CAAC,GAAG,IAAI,EAAE;IAChC,KAAK,aAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrD,KAAK;IACL,IAAI,SAAS,CAAC,GAAG,IAAI,EAAE;IACvB,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACrD,KAAK;IACL,IAAI,MAAM,CAAC,GAAG,IAAI,EAAE;IACpB,KAAK,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,KAAK;IACL,IAAI,CAAC;IACL,GAAG,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU,EAAE;IACpD,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACxB,IAAI;IACJ,GAAG,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;IAC3C,IAAI,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;IAC7C,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK;IAC9D,MAAM,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE;IACzE;IACA,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,MAAM;IACb,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO;IACP,MAAM,CAAC,CAAC;IACR,KAGK;IACL,IAAI,MAAM;IACV,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACrC,IAAI;IACJ,GAAG,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE;IAC7C;IACA,IAAI,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;IAC/C,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK;IAChE,MAAM;IACN,OAAO,OAAO,IAAI,MAAM,CAAC,SAAS;IAClC,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI;IACzC,QAAQ;IACR;IACA,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,MAAM;IACb,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9D,OAAO;IACP,MAAM,CAAC,CAAC;IACR,KAAK;IACL,IAAI,MAAM;IACV,IAAI,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACzC,IAAI;IACJ,GAAG,OAAO,MAAM,CAAC;IACjB,GAAG;IACH;IACA;IACA;IACA;IACA;IACA,EAAE,MAAM,CAAC,OAAO,EAAE;IAClB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;IAC7C,IAAI;IACJ,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI;IAC7B,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,QAAQ;IAC1C,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,MAAM;IACN,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,KAAK,OAAO;IACZ,KAAK;IACL,IAAI,CAAC,CAAC;IACN,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IAClC,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI;IACJ;IACA,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACjD;IACA,GAAG,IAAI;IACP,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,OAAO,KAAK,EAAE;IACnB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;IACtC,KAAK,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAC9D,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;IAC5C,KAAK,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAC5D,KAAK,MAAM;IACX,KAAK,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAClE,KAAK;IACL,IAAI;IACJ,GAAG,OAAO,OAAO,CAAC;IAClB,GAAG;IACH;IACA;IACA;IACA;IACA,EAAE,iBAAiB,CAAC,OAAO,EAAE;IAC7B;IACA;IACA;IACA;IACA,GAAG,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC7B,GAAG;IACH,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;IAC1D,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI;IACxB,KAAK;IACL;IACA,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI;IACJ;IACA,GAAG,IAAI,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC/C,GAAG,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IACvC,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM;IAC1B,IAAI,OAAO,CAAC,OAAO,CAAC;IACpB,KAAK,OAAO,EAAE,IAAI;IAClB,KAAK,YAAY,EAAE,EAAE;IACrB,KAAK,QAAQ,EAAE,IAAI;IACnB,KAAK,UAAU,EAAE,CAAC;IAClB,KAAK,eAAe,EAAE,EAAE;IACxB,KAAK,MAAM,EAAE,CAAC;IACd,KAAK,UAAU,EAAE,EAAE;IACnB,KAAK,KAAK,EAAE,SAAS;IACrB,KAAK,CAAC,CAAC;IACP,IAAI,CAAC;IACL,GAAG,gBAAgB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACrD,GAAG,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9C,GAAG,gBAAgB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACxC,GAAG,gBAAgB,CAAC,IAAI,GAAG,MAAM,CAAC;IAClC,GAAG,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC5C,GAAG,gBAAgB,CAAC,KAAK,GAAG,UAAU,CAAC;IACvC,GAAG,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACxC,GAAG,gBAAgB,CAAC,cAAc,GAAG,0BAA0B,CAAC;IAChE,GAAG,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC;IACpC,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5D,GAAG,OAAO;IACV,IAAI,YAAY,EAAE,OAAO;IACzB,IAAI,gBAAgB,EAAE,gBAAgB;IACtC,IAAI,eAAe,EAAE,eAAe;IACpC,IAAI,CAAC;IACL,GAAG;IACH,EAAE,CAAC;IACH,CAAC,MAAM,aAAa,GAAG;IACvB;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE;IAC3C,GAAG,IAAI,SAAS,IAAI,OAAO,EAAE;IAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,MAAM,IAAI,SAAS,IAAI,cAAc,EAAE;IAC3C,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtD,IAAI;IACJ,GAAG,OAAO,CAAC;IACX,IAAI,MAAM,EAAE,KAAK;IACjB,IAAI,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC;IAC5B,IAAI,GAAG,EAAE,OAAO;IAChB,IAAI,IAAI,EAAE,SAAS;IACnB,IAAI,CAAC,CAAC;IACN,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE;IAC3C,GAAG,IAAI,SAAS,IAAI,OAAO,EAAE;IAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,MAAM,IAAI,SAAS,IAAI,cAAc,EAAE;IAC3C,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtD,IAAI;IACJ,GAAG,IAAI,QAAQ,GAAG,aAAa,CAAC;IAChC,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE;IACxB,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI;IACJ,GAAG,OAAO,CAAC;IACX,IAAI,MAAM,EAAE,KAAK;IACjB,IAAI,IAAI,EAAE,QAAQ;IAClB,IAAI,OAAO,EAAE,OAAO;IACpB,IAAI,GAAG,EAAE,MAAM;IACf,IAAI,IAAI,EAAE,SAAS;IACnB,IAAI,CAAC,CAAC;IACN,GAAG;IACH;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE;IAC7C,GAAG,IAAI,WAAW,IAAI,OAAO,EAAE;IAC/B,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACjD,IAAI,MAAM,IAAI,WAAW,IAAI,cAAc,EAAE;IAC7C,IAAI,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxD,IAAI;IACJ,GAAG,OAAO,CAAC;IACX,IAAI,MAAM,EAAE,KAAK;IACjB,IAAI,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC;IAC5B,IAAI,GAAG,EAAE,MAAM;IACf,IAAI,IAAI,EAAE,WAAW;IACrB,IAAI,CAAC,CAAC;IACN,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE;IACtC,GAAG,IAAI,aAAa,IAAI,OAAO,EAAE;IACjC,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACnD,IAAI,MAAM,IAAI,aAAa,IAAI,cAAc,EAAE;IAC/C,IAAI,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC1D,IAAI;IACJ,GAAG;IACH;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE;IAC1C;IACA,GAAG,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACnC;IACA,GAAG;IACH,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzC,KAAK;IACL,IAAI,IAAI,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE;IAClD,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM;IAChC,MAAM,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,CAAC;IACR,KAAK,MAAM;IACX,KAAK,QAAQ,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrD,KAAK;IACL,IAAI;AACJ;IACA;IACA,GAAG;IACH,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI;IAChC,IAAI,OAAO,QAAQ,CAAC,cAAc,CAAC,KAAK,QAAQ;IAChD,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;IAC1C,KAAK;IACL,IAAI,IAAI,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE;IACzC,KAAK,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1D,KAAK,MAAM,IAAI,OAAO,CAAC,YAAY,KAAK,UAAU,EAAE;IACpD,KAAK,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,KAAK,WAAW,GAAG,MAAM,CAAC,eAAe;IACzC,MAAM,QAAQ,CAAC,cAAc,CAAC;IAC9B,MAAM,WAAW;IACjB,MAAM,CAAC;IACP,KAAK,MAAM,IAAI,OAAO,CAAC,YAAY,KAAK,aAAa,EAAE;IACvD,KAAK,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IACrC,KAAK,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAChE,KAAK,WAAW,GAAG,WAAW,CAAC;IAC/B,KAAK,MAAM,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE;IAChD,KAAK,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IACrC,KAAK,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAChE,KAAK,WAAW,GAAG,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,KAAK,MAAM;IACX,KAAK,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5C,KAAK;IACL,IAAI,IAAI;IACR,KAAK,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;IACxC,KAAK,CAAC,OAAO,KAAK,EAAE;IACpB,KAAK,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpC,KAAK;IACL,IAAI;IACJ;IACA,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE;IACxE,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI;IACJ;IACA,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;IAChD,IAAI,OAAO,CAAC;IACZ,KAAK,MAAM,EAAE,IAAI;IACjB,KAAK,IAAI,EAAE,QAAQ;IACnB,KAAK,OAAO,EAAE,OAAO;IACrB,KAAK,GAAG,EAAE,MAAM;IAChB,KAAK,IAAI,EAAE,QAAQ;IACnB,KAAK,CAAC,CAAC;IACP,IAAI,MAAM;IACV,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI;IACJ,GAAG;IACH;IACA;IACA;IACA;IACA;IACA,EAAE,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE;IACrC,GAAG,IAAI,YAAY,IAAI,OAAO,EAAE;IAChC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,MAAM,IAAI,YAAY,IAAI,cAAc,EAAE;IAC9C,IAAI,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACzD,IAAI;IACJ,GAAG;IACH;IACA;IACA;IACA;IACA;IACA,EAAE,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE;IAC7C,GAAG,IAAI,oBAAoB,IAAI,OAAO,EAAE;IACxC,IAAI,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC1D,IAAI,MAAM,IAAI,oBAAoB,IAAI,cAAc,EAAE;IACtD,IAAI,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACjE,IAAI;IACJ,GAAG;IACH,EAAE,CAAC;AACH;IACA,CAAC,MAAM,YAAY,GAAG;IACtB;IACA;IACA;IACA;IACA,EAAE,OAAO,CAAC,OAAO,EAAE;IACnB,GAAG,IAAI,WAAW,EAAE;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI;IACJ,GAAG,IAAI,OAAO,gBAAgB,CAAC,qBAAqB,KAAK,UAAU,EAAE;IACrE,IAAI,IAAI,UAAU,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,IAAI,OAAO,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE;IACxD,KAAK,OAAO;IACZ,KAAK;IACL,IAAI;IACJ,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE;IACtB,IAAI,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE;IAC7D,KAAK,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAChE,IAAI,MAAM;IACV,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI;IACJ,GAAG;IACH;IACA;IACA;IACA;IACA,EAAE,cAAc,CAAC,OAAO,EAAE;IAC1B,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAClC,GAAG;IACH;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE;IACpD,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC;IACvC,KAAK,IAAI,CAAC,OAAO,IAAI,KAAK;IAC1B;IACA;IACA;IACA,KAAK,IAAI,aAAa,GAAG;IACzB,MAAM,OAAO,EAAE,IAAI;IACnB,MAAM,QAAQ,EAAE,IAAI,CAAC,GAAG;IACxB,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;IACzB,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU;IACjC,MAAM,QAAQ,EAAE,KAAK,CAAC;IACtB,MAAM,oBAAoB,EAAE,IAAI,CAAC,OAAO;IACxC,MAAM,eAAe,EAAE,EAAE;IACzB,MAAM,YAAY,EAAE,KAAK,CAAC;IAC1B,MAAM,YAAY,EAAE,OAAO,CAAC,YAAY;IACxC,MAAM,WAAW,EAAE,KAAK,CAAC;IACzB,MAAM,CAAC;IACP,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AACzD;IACA,KAAK,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;IACxD,MAAM,aAAa,CAAC,eAAe,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM;AACN;IACA;IACA,KAAK;IACL,MAAM,OAAO,CAAC,YAAY,KAAK,QAAQ;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACtE,OAAO;IACP,MAAM,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACvC,MAAM,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IACzC,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAC5D,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACpC,MAAM,OAAO;IACb,MAAM;AACN;IACA;IACA,KAAK,IAAI,QAAQ,GAAG,EAAE,CAAC;IACvB;IACA,KAAK,IAAI,YAAY,GAAG,EAAE,CAAC;IAC3B;IACA,KAAK,IAAI,WAAW,GAAG,EAAE,CAAC;AAC1B;IACA,KAAK,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;AAC9C;IACA,KAAK,IAAI,QAAQ,GAAG,OAAO,CAAC;IAC5B,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;IAC3C,MAAM,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO;IACvC,QAAQ,GAAG,CAAC,cAAc,CAAC;IAC3B,QAAQ,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9B,MAAM,IAAI,cAAc,EAAE;IAC1B,OAAO,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO;IACP,MAAM;IACN,KAAK,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IACjD,KAAK,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,KAAK,QAAQ,GAAG,YAAY,CAAC;AAC7B;IACA,KAAK,IAAI,OAAO,CAAC,YAAY,KAAK,aAAa,EAAE;IACjD,MAAM,QAAQ,GAAG,WAAW,CAAC;IAC7B,MAAM,MAAM,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE;IACjD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM;IACZ,MAAM,OAAO,CAAC,YAAY,KAAK,UAAU;IACzC,MAAM,OAAO,CAAC,YAAY,IAAI,IAAI;IAClC,OAAO;IACP,MAAM,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,MAAM,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE;IACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM;IACN,KAAK,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,KAAK,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACpE;IACA,KAAK,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACvC,KAAK,aAAa,CAAC,YAAY,GAAG,YAAY,CAAC;IAC/C,KAAK,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC;AAC7C;IACA,KAAK,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACnC,KAAK,CAAC;IACN,KAAK,KAAK,CAAC,CAAC,GAAG,KAAK;IACpB,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE;IACpC,MAAM,OAAO;IACb,MAAM;IACN,KAAK,OAAO,CAAC,OAAO,CAAC;IACrB,MAAM,OAAO,EAAE,IAAI;IACnB,MAAM,QAAQ,EAAE,OAAO,CAAC,GAAG;IAC3B,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,MAAM,EAAE,CAAC;IACf,MAAM,UAAU,EAAE,EAAE;IACpB,MAAM,eAAe,EAAE,EAAE;IACzB,MAAM,YAAY,EAAE,EAAE;IACtB,MAAM,KAAK,EAAE,GAAG;IAChB,MAAM,CAAC,CAAC;IACR,KAAK,CAAC,CAAC;IACP,GAAG,OAAO,CAAC,WAAW,CAAC;IACvB,IAAI,OAAO,EAAE,IAAI;IACjB,IAAI,QAAQ,EAAE,OAAO,CAAC,GAAG;IACzB,IAAI,UAAU,EAAE,CAAC;IACjB,IAAI,eAAe,EAAE,EAAE;IACvB,IAAI,YAAY,EAAE,EAAE;IACpB,IAAI,MAAM,EAAE,CAAC;IACb,IAAI,UAAU,EAAE,EAAE;IAClB,IAAI,CAAC,CAAC;IACN,GAAG,OAAO;IACV,IAAI,KAAK,GAAG;IACZ,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;IAC7B,KAAK;IACL,IAAI,CAAC;IACL,GAAG;IACH,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,OAAO,GAAG,EAAE,EAAE;IACvC,EAAE,IAAI,YAAY,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;IAC7E,GAAG,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,GAAG;AACH;IACA,EAAE,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACzD,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,iBAAiB,GAAG,UAAU,WAAW,EAAE;IACjD,EAAE,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC;IACtC,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,GAAG,IAAI,EAAE;IACrC,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;IACnB,EAAE,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACnC,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,GAAG,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI;IACJ,GAAG,MAAM;IACT,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG;IACH,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;IAClC,GAAG,IAAI,cAAc,GAAG,mBAAmB,CAAC,UAAU;IACtD,IAAI,KAAK;IACT,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,CAAC;IACL,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACxD,GAAG,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,gBAAgB,GAAG,IAAI,EAAE;IACtC,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;IACnB,EAAE,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACnC,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,GAAG,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI;IACJ,GAAG,MAAM;IACT,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG;IACH,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;IAClC,GAAG,IAAI,cAAc,GAAG,mBAAmB,CAAC,UAAU;IACtD,IAAI,MAAM;IACV,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,CAAC;IACL,GAAG,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,gBAAgB,GAAG,IAAI,EAAE;IACtC,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;IACnB,EAAE,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACnC,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,GAAG,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI;IACJ,GAAG,MAAM;IACT,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG;IACH,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;IAClC,GAAG,IAAI,cAAc,GAAG,mBAAmB,CAAC,UAAU;IACtD,IAAI,MAAM;IACV,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,CAAC;IACL,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACxD,GAAG,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,OAAO,GAAG,gBAAgB,GAAG,IAAI,EAAE;IACzC,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;IACnB,EAAE,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACnC,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,GAAG,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI;IACJ,GAAG,MAAM;IACT,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG;IACH,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;IAClC,GAAG,IAAI,cAAc,GAAG,mBAAmB,CAAC,UAAU;IACtD,IAAI,SAAS;IACb,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,CAAC;IACL,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACxD,GAAG,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,MAAM,GAAG,gBAAgB,GAAG,IAAI,EAAE;IACxC,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;IACnB,EAAE,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACnC,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,GAAG,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI;IACJ,GAAG,MAAM;IACT,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG;IACH,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;IAClC,GAAG,IAAI,cAAc,GAAG,mBAAmB,CAAC,UAAU;IACtD,IAAI,QAAQ;IACZ,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,CAAC;IACL,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACxD,GAAG,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,GAAG,IAAI,EAAE;IACrC,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;IACnB,EAAE,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACnC,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,GAAG,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI;IACJ,GAAG,MAAM;IACT,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG;IACH,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;IAClC,GAAG,IAAI,cAAc,GAAG,mBAAmB,CAAC,UAAU;IACtD,IAAI,KAAK;IACT,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,CAAC;IACL,GAAG,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;IACH,CAAC;;ICxuBD,MAAM,SAAS,GAAG;IAClB,CAAC,MAAM,GAAG,YAAY;IACtB,CAAC,SAAS,GAAG,cAAc;IAC3B,CAAC,SAAS,GAAG,CAAC;IACd,EAAE;IACF,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB;IACA,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACvB,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B;IACA,CAAC,IAAI,CAAC,SAAS;IACf,EAAE,MAAM,CAAC,SAAS;IAClB,EAAE,MAAM,CAAC,YAAY;IACrB,EAAE,MAAM,CAAC,eAAe;IACxB,EAAE,MAAM,CAAC,WAAW,CAAC;IACrB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;IACtB,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjC,EAAE;IACF;IACA,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC,IAAI,CAAC,SAAS,GAAG;IAClB;IACA,EAAE,OAAO,EAAE;IACX,GAAG,IAAI,EAAE,GAAG;IACZ,GAAG,GAAG,EAAE,MAAM;IACd,GAAG;IACH,EAAE,KAAK,EAAE;IACT,GAAG,IAAI,EAAE,GAAG;IACZ,GAAG,GAAG,EAAE,MAAM;IACd,GAAG;IACH,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE;IACtC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE;IACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE;IACxC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE;IAC5C,EAAE,CAAC;IACH,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC;IACjB;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,MAAM,EAAE;IACtC,EAAE,IAAI,GAAG,EAAE,KAAK,CAAC;IACjB,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;IACtB;IACA,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClE;IACA,GAAG,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,GAAG;IACH,EAAE,OAAO,KAAK,CAAC;IACf,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,QAAQ,EAAE,MAAM,EAAE;IACzC;IACA,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;IACtB;IACA,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;IACzB;IACA,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE;IACnC,KAAK,QAAQ,CAAC;IACd,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;IACpC,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;IAClC,MAAM,KAAK,EAAE,CAAC;IACd,MAAM,CAAC,CAAC;IACR,KAAK,CAAC;IACN,IAAI,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE;IACrC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;IAC3B,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,MAAM;IACN,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrB,KAAK,CAAC;IACN,IAAI,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE;IAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE;IACnE,MAAM,OAAO,EAAE,KAAK;IACpB,MAAM,CAAC,CAAC;IACR,KAAK,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,UAAU,KAAK,EAAE;IACrD,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,CAAC;IACP,KAAK,CAAC;IACN,IAAI,MAAM;IACV;IACA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI;IACJ,GAAG;IACH,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,gBAAgB,GAAG,EAAE,KAAK,EAAE;IACzC,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;IACtB,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAC3C,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,IAAI,IAAI,MAAM,GAAG;IACjB,KAAK,GAAG,EAAE,GAAG;IACb,KAAK,KAAK,EAAE,KAAK;IACjB,KAAK,CAAC;IACN,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE;IAChC,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,IAAI,KAAK,EAAE;IAChB,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,MAAM;IACZ,MAAM,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE;IACvC;IACA,OAAO,OAAO,CAAC;IACf,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;IACzC,QAAQ,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;IACvC,QAAQ,OAAO,EAAE,IAAI;IACrB,QAAQ,CAAC,CAAC;IACV,OAAO,CAAC;IACR,MAAM,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE;IACrC,OAAO,OAAO,CAAC;IACf,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;IACtC,QAAQ,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;IACpC,QAAQ,KAAK,EAAE,CAAC;IAChB,QAAQ,CAAC,CAAC;IACV,OAAO,CAAC;IACR,MAAM;IACN,KAAK,EAAE,MAAM,CAAC,CAAC;IACf,IAAI,CAAC,CAAC;IACN,GAAG;IACH,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,GAAG,EAAE;IACjC,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAC1C,GAAG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;IACvB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE;IAChC;IACA,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,IAAI,KAAK,EAAE;IAChB,MAAM,MAAM,CAAC;IACb,OAAO,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;IACpC,OAAO,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;IAClC,OAAO,KAAK,EAAE,KAAK;IACnB,OAAO,MAAM,EAAE,MAAM;IACrB,OAAO,CAAC,CAAC;IACT,MAAM,MAAM;IACZ,MAAM,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE;IACvC,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC;IACf,QAAQ,IAAI,EAAE,IAAI;IAClB,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;IACtC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;IACpC,QAAQ,GAAG,EAAE,IAAI;IACjB,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;IACrC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;IACnC,QAAQ,IAAI,EAAE,IAAI,IAAI,EAAE;IACxB,QAAQ,OAAO,EAAE,IAAI;IACrB,QAAQ,CAAC,CAAC;IACV,OAAO,CAAC;IACR,MAAM,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE;IACrC,OAAO,MAAM,CAAC;IACd,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI;IACrC,QAAQ,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;IACnC,QAAQ,MAAM,EAAE,MAAM;IACtB,QAAQ,KAAK,EAAE,CAAC;IAChB,QAAQ,CAAC,CAAC;IACV,OAAO,CAAC;IACR,MAAM;IACN,KAAK,EAAE,MAAM,CAAC,CAAC;IACf,IAAI;IACJ,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,SAAS,GAAG,gBAAgB,GAAG,EAAE;IACvC,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;IAChB,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAC1C;IACA,GAAG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;IACvB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE;IAChC;IACA,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,IAAI,KAAK,EAAE;IAChB,MAAM,MAAM,CAAC;IACb,OAAO,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;IACpC,OAAO,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;IAClC,OAAO,KAAK,EAAE,KAAK;IACnB,OAAO,MAAM,EAAE,MAAM;IACrB,OAAO,CAAC,CAAC;IACT,MAAM,MAAM;IACZ,MAAM,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IACpC,MAAM,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE;IACvC,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;IAChC,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;IACxC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACrC,UAAU,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,UAAU,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,UAAU,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC;IACvC,UAAU;IACV,SAAS,CAAC,CAAC;IACX,QAAQ;IACR,OAAO,OAAO,CAAC;IACf,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;IACzC,QAAQ,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;IACvC,QAAQ,IAAI,EAAE,IAAI;IAClB,QAAQ,OAAO,EAAE,IAAI;IACrB,QAAQ,CAAC,CAAC;IACV,OAAO,CAAC;IACR,MAAM,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE;IACrC,OAAO,MAAM,CAAC;IACd,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI;IACrC,QAAQ,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;IACnC,QAAQ,MAAM,EAAE,MAAM;IACtB,QAAQ,KAAK,EAAE,CAAC;IAChB,QAAQ,CAAC,CAAC;IACV,OAAO,CAAC;IACR,MAAM;IACN,KAAK,EAAE,MAAM,CAAC,CAAC;IACf,IAAI;IACJ,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,MAAM,GAAG,gBAAgB,GAAG,EAAE;IACpC,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAC1C;IACA,GAAG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;IACvB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE;IAChC,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,IAAI,KAAK,EAAE;IAChB,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,MAAM;IACZ,MAAM,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE;IACvC,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,IAAI,MAAM,EAAE;IACnB,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrC,QAAQ;IACR,OAAO,OAAO,CAAC;IACf,QAAQ,IAAI,EAAE,MAAM;IACpB,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;IACtC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;IACpC,QAAQ,GAAG,EAAE,MAAM;IACnB,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;IACrC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;IACnC,QAAQ,OAAO,EAAE,IAAI;IACrB,QAAQ,CAAC,CAAC;IACV,OAAO,CAAC;IACR,MAAM,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE;IACrC,OAAO,OAAO,CAAC;IACf,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI;IACxC,QAAQ,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG;IACtC,QAAQ,KAAK,EAAE,CAAC;IAChB,QAAQ,CAAC,CAAC;IACV,OAAO,CAAC;IACR,MAAM;IACN,KAAK,EAAE,MAAM,CAAC,CAAC;IACf,IAAI;IACJ,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,SAAS,GAAG,kBAAkB;IACpC,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAC1C;IACA,GAAG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;IACvB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE;IAChC,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,IAAI,KAAK,EAAE;IAChB,MAAM,OAAO,CAAC;IACd,OAAO,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI;IAC1C,OAAO,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG;IACxC,OAAO,KAAK,EAAE,KAAK;IACnB,OAAO,MAAM,EAAE,MAAM;IACrB,OAAO,CAAC,CAAC;IACT,MAAM,MAAM;IACZ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,MAAM,OAAO,CAAC;IACd,OAAO,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;IACxC,OAAO,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;IACtC,OAAO,OAAO,EAAE,IAAI;IACpB,OAAO,CAAC,CAAC;IACT,MAAM;IACN,KAAK,EAAE,MAAM,CAAC,CAAC;IACf,IAAI;IACJ,GAAG,CAAC,CAAC;IACL,EAAE,CAAC;IACH,CAAC;;IChWD,MAAM,YAAY,GAAG,UAAU,QAAQ,EAAE,OAAO,EAAE,SAAS,GAAG,CAAC,EAAE;IACjE,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC;IAClB,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC;IACjB,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;IAC3B;IACA;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY;IACzB,EAAE,IAAI,GAAG,IAAI,CAAC;IACd,EAAE,CAAC;IACH;IACA;IACA;IACA,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY;IAC3B,EAAE,UAAU,CAAC,MAAM;IACnB,GAAG,IAAI,GAAG,KAAK,CAAC;IAChB,GAAG,EAAE,SAAS,CAAC,CAAC;IAChB,EAAE,CAAC;IACH;IACA;IACA;IACA,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,GAAG,IAAI,EAAE;IACrC,EAAE,IAAI,IAAI,EAAE;IACZ,GAAG,OAAO;IACV,GAAG;IACH,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,EAAE,CAAC;IACH,CAAC;;IC7BD,MAAM,GAAG,GAAG;IACZ,CAAC,SAAS,GAAG;IACb,EAAE,MAAM,EAAE;IACV,GAAG,IAAI,EAAE,WAAW;IACpB,GAAG;IACH,EAAE;IACF,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO;IAC7B,EAAE;IACF,CAAC,IAAI,eAAe,GAAG;IACvB,EAAE,0CAA0C;IAC5C,EAAE,0CAA0C;IAC5C,EAAE,sCAAsC;IACxC,EAAE,0CAA0C;IAC5C,EAAE,CAAC;IACH;IACA;IACA;IACA,CAAC,IAAI,OAAO,GAAG;IACf,EAAE,GAAG,EAAE,IAAI;IACX,EAAE,YAAY,EAAE,SAAS;IACzB,EAAE,UAAU,EAAE,SAAS;IACvB,EAAE,SAAS,EAAE,GAAG;IAChB,EAAE,SAAS,EAAE,GAAG;IAChB,EAAE,KAAK,EAAE,KAAK;IACd,EAAE,gBAAgB,EAAE,KAAK;IACzB,EAAE,WAAW,EAAE,GAAG;IAClB,EAAE,CAAC;IACH,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,eAAe,GAAG,UAAU,KAAK,EAAE;IACxC,EAAE,IAAI,MAAM,GAAG;IACf,GAAG,IAAI,EAAE,EAAE;IACX,GAAG,QAAQ,EAAE,EAAE;IACf,GAAG,CAAC;IACJ,EAAE,KAAK,IAAI,WAAW,IAAI,KAAK,EAAE;IACjC,GAAG,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACpC,GAAG,IAAI,iBAAiB,GAAG,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACpE,GAAG,IAAI,yBAAyB,GAAG,WAAW,CAAC,KAAK;IACpD,IAAI,2BAA2B;IAC/B,IAAI,CAAC;IACL,GAAG,IAAI,iBAAiB,IAAI,IAAI,EAAE;IAClC,IAAI,SAAS;IACb,IAAI;IACJ,GAAG,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvE,GAAG,yBAAyB;IAC5B,IAAI,yBAAyB,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,GAAG;IACH,IAAI,iBAAiB,KAAK,EAAE;IAC5B,IAAI,iBAAiB,CAAC,KAAK;IAC3B,KAAK,IAAI,MAAM;IACf,MAAM,8EAA8E;IACpF,MAAM,GAAG;IACT,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI,SAAS;IACb,IAAI,MAAM;IACV,IAAI,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;IACpC,IAAI,MAAM,CAAC,QAAQ,GAAG,yBAAyB,CAAC;IAChD,IAAI,MAAM;IACV,IAAI;IACJ,GAAG;IACH,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE;IAC9B,GAAG,IAAI,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE;IAC7D,IAAI,IAAI,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/D,IAAI,IAAI,cAAc,EAAE;IACxB,KAAK,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE;IAC9B,GAAG,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7E,GAAG;IACH,EAAE,OAAO,MAAM,CAAC;IAChB,EAAE,CAAC;IACH;IACA;IACA;IACA,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;IACvB;IACA;IACA;IACA;IACA,CAAC,IAAI,iBAAiB,GAAG,YAAY;IACrC,EAAE,QAAQ,EAAE,CAAC;IACb,EAAE,IAAI,OAAO,CAAC,gBAAgB,IAAI,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE;IAClE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IACnB,GAAG,QAAQ,GAAG,CAAC,CAAC;IAChB,GAAG;IACH,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,YAAY,GAAG,UAAU,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACtD,EAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,EAAE,UAAU,GAAG,UAAU,IAAI,EAAE,CAAC;IAChC,EAAE,IAAI,UAAU,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE;IACpD,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/B,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;IACzB,EAAE,SAAS,UAAU,CAAC,KAAK,EAAE;IAC7B,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IAClC,IAAI,OAAO,CAAC,GAAG;IACf,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;IAC9C,KAAK,GAAG,eAAe;IACvB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACpC,KAAK,KAAK;IACV,KAAK,CAAC;IACN,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IACzC,IAAI,OAAO,CAAC,GAAG;IACf,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;IAC9C,KAAK,GAAG,eAAe;IACvB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACpC,KAAK,KAAK;IACV,KAAK,CAAC;IACN,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IACzC,IAAI,OAAO,CAAC,GAAG;IACf,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;IAC9C,KAAK,GAAG,eAAe;IACvB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACpC,KAAK,KAAK;IACV,KAAK,CAAC;IACN,IAAI,MAAM;IACV,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,IAAI;IACJ,GAAG;IACH,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IAC1B,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;IACzB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC,CAAC;IACN,GAAG,MAAM;IACT,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG;IACH,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE;IACrB;IACA,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/B,GAAG;IACH,EAAE,CAAC;IACH;IACA;IACA;IACA,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,EAAE,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC;IACnD;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE;IACnE,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAClD,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG;IACb,EAAE,GAAG;IACL,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS;IAC3B,EAAE,UAAU,GAAG,+CAA+C;IAC9D,GAAG;IACH,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAClD,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE;IACrE,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAClD,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,YAAY,EAAE,UAAU,EAAE;IACzE,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAClD,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,GAAG,EAAE,EAAE;IACzE,EAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,EAAE,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,EAAE,IAAI,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC/C,EAAE,IAAI,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC;IAC/C,EAAE,IAAI,yBAAyB,GAAG,eAAe,CAAC,QAAQ,CAAC;IAC3D,EAAE,IAAI,UAAU,GAAG,iBAAiB,CAAC;IACrC,EAAE,OAAO,CAAC,GAAG;IACb,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;IAC1C,GAAG,GAAG,eAAe;IACrB,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAClC,GAAG,CAAC;IACJ,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE;IACrB,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC1C,GAAG;IACH,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,YAAY,EAAE;IACvC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACjD,EAAE,CAAC;IACH;IACA;IACA;IACA,CAAC,IAAI,CAAC,OAAO,GAAG,YAAY;IAC5B,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC;IAClB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,IAAI,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;IACzB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;IACnB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC;IACN,EAAE,CAAC;IACH;IACA;IACA;IACA,CAAC,IAAI,CAAC,QAAQ,GAAG,YAAY;IAC7B,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC;IAClB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;IACjC,GAAG,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,GAAG,CAAC,CAAC;IACL,EAAE,YAAY,GAAG,EAAE,CAAC;IACpB,EAAE,CAAC;IACH,CAAC;;IC7PD,MAAM,QAAQ,GAAG,UAAU,WAAW,EAAE;IACxC,CAAC,IAAI,CAAC,MAAM,GAAG;IACf;IACA;IACA;IACA;IACA,EAAE,UAAU,EAAE,IAAI;IAClB;IACA;IACA;IACA,EAAE,GAAG,EAAE,EAAE;IACT;IACA;IACA;IACA,EAAE,QAAQ,EAAE,CAAC;IACb;IACA;IACA;IACA,EAAE,SAAS,EAAE,EAAE;IACf;IACA;IACA;IACA,EAAE,WAAW,EAAE,SAAS;IACxB;IACA;IACA;IACA,EAAE,SAAS,EAAE,SAAS;IACtB;IACA;IACA;IACA,EAAE,SAAS,EAAE,SAAS;IACtB;IACA;IACA;IACA,EAAE,QAAQ,EAAE,EAAE;IACd;IACA;IACA;IACA,EAAE,YAAY,EAAE,EAAE;IAClB;IACA;IACA;IACA,EAAE,IAAI,EAAE,MAAM,EAAE;IAChB,EAAE,CAAC;IACH,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,YAAY,iBAAiB,CAAC,EAAE;IAC7D,EAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,EAAE;IACF;IACA,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnD;IACA,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;IAC1C;IACA,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;AAC5C;IACA;IACA,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE;IAC9B,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IACpD,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtD,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACnE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACjE,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC9D,EAAE;IACF;IACA,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IACvC;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY;IACzB,EAAE,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,IAAI,GAAG,CAAC;IACrD;IACA,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC;IACA,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;IAClB,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IAC5C,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;IACf;IACA,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;IAClB,EAAE,GAAG,CAAC,GAAG;IACT,GAAG,KAAK,GAAG,CAAC;IACZ,GAAG,MAAM,GAAG,CAAC;IACb,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;IAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IACf,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;IAC5C,GAAG,CAAC;IACJ,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC1C,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;IACf;IACA,EAAE,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACjD,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;IAChD;IACA,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IACrC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IACnC,EAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IACxC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;;IC/FD;IACA;IACA;IACA;IACA;IACA,MAAM,QAAQ,GAAG,UAAU,GAAG,IAAI,EAAE;IACpC;IACA,CAAC,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC7B,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC;IACpB,CAAC,IAAI,WAAW,GAAG,IAAI,CAAC;IACxB,CAAC,IAAI,cAAc,GAAG;IACtB,EAAE,GAAG,EAAE,IAAI;IACX,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA,CAAC,SAAS,WAAW,GAAG,EAAE;AAC1B;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,WAAW,CAAC,MAAM,GAAG,UAAU,YAAY,EAAE;IAC9C,EAAE,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC9D,EAAE,OAAO,WAAW,CAAC;IACrB,EAAE,CAAC;IACH;IACA;IACA;IACA;IACA;IACA,CAAC,WAAW,CAAC,KAAK,GAAG,UAAU,OAAO,EAAE;IACxC,EAAE,WAAW,GAAG,OAAO,CAAC;IACxB,EAAE,OAAO,WAAW,CAAC;IACrB,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,WAAW,CAAC,GAAG,GAAG,UAAU,QAAQ,EAAE,WAAW,EAAE;IACpD,EAAE,gBAAgB,GAAG,QAAQ,CAAC;IAC9B,EAAE,OAAO,GAAG,WAAW,CAAC;IACxB,EAAE,IAAI,MAAM,GAAG,eAAe,CAAC,gBAAgB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACvE,EAAE,OAAO,MAAM,KAAK,KAAK,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC;IAClD,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,SAAS,eAAe,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE;IAC/D,EAAE,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC;IACtB,EAAE,IAAI;IACN,GAAG,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;IACrC,IAAI,CAAC,YAAY;IACjB,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM;IACV,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI;IACJ,GAAG,CAAC,OAAO,KAAK,EAAE;IAClB,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;IAC3B,IAAI,OAAO,CAAC,GAAG;IACf,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC;IACjE,KAAK,gBAAgB;IACrB,KAAK,CAAC;IACN,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI;IACJ,GAAG,IAAI,eAAe,EAAE;IACxB,IAAI,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;IAC7C,KAAK,MAAM,GAAG,YAAY;IAC1B,MAAM,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzC,KAAK,MAAM;IACX,KAAK,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAChE,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE,OAAO,MAAM,CAAC;IAChB,EAAE;AACF;IACA;IACA,CAAC,OAAO,WAAW,CAAC;IACpB,CAAC;;IC9FD,MAAM,eAAe,CAAC;IACtB,CAAC,KAAK,GAAG,EAAE,CAAC;IACZ;IACA;IACA;IACA;IACA;IACA,CAAC,GAAG,CAAC,GAAG,EAAE;IACV,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,EAAE;IACF;IACA;IACA;IACA;IACA;IACA,CAAC,UAAU,CAAC,GAAG,EAAE;IACjB,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,EAAE,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;IACjC,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;IAChC,IAAI,OAAO,IAAI,CAAC;IAChB,IAAI;IACJ,GAAG;IACH,EAAE,OAAO,KAAK,CAAC;IACf,EAAE;IACF;IACA;IACA;IACA;IACA;IACA,CAAC,aAAa,CAAC,GAAG,EAAE;IACpB,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,EAAE,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;IACjC,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;IAChC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI;IACJ,GAAG;IACH,EAAE;IACF;IACA;IACA;IACA;IACA;IACA,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE;IACpB,EAAE,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;IACtB,GAAG,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACzD,GAAG;IACH,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACxB,EAAE;IACF;IACA;IACA;IACA;IACA;IACA,CAAC,MAAM,CAAC,GAAG,EAAE;IACb,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;IACrB,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,GAAG,OAAO,IAAI,CAAC;IACf,GAAG;IACH,EAAE,OAAO,KAAK,CAAC;IACf,EAAE;IACF;IACA;IACA;IACA;IACA;IACA,CAAC,GAAG,CAAC,GAAG,EAAE;IACV,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAClD,EAAE;IACF;IACA;IACA;IACA;IACA,CAAC,MAAM,GAAG;IACV,EAAE,IAAI,UAAU,GAAG,EAAE,CAAC;IACtB,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;IAC/B,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;IACvB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,IAAI;IACJ,GAAG;IACH,EAAE,OAAO,UAAU,CAAC;IACpB,EAAE;IACF;IACA;IACA;IACA,CAAC,KAAK,GAAG;IACT,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,EAAE;IACF;IACA;IACA;IACA;IACA,CAAC,IAAI,GAAG;IACR,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE;IACF;IACA;IACA;IACA,CAAC,IAAI,GAAG;IACR,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,EAAE;IACF;IACA;IACA;IACA;IACA,CAAC,QAAQ,GAAG;IACZ,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,EAAE;IACF;IACA;IACA;IACA;IACA,CAAC,MAAM,CAAC,IAAI,EAAE;IACd,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,EAAE;IACF,CAAC,OAAO,CAAC,UAAU,EAAE;IACrB,EAAE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;IAChC,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,GAAG;IACH,EAAE;IACF;IACA;IACA;IACA;IACA,CAAC,IAAI,MAAM,GAAG;IACd,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,EAAE;IACF;IACA;IACA;IACA,CAAC,IAAI,OAAO,GAAG;IACf,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC;IAClB,EAAE,OAAO,aAAa;IACtB,GAAG,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,GAAG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;IACnC,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,IAAI;IACJ,GAAG,CAAC;IACJ,EAAE;IACF;IACA;IACA;IACA,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,GAAG;IACzB,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC;IAClB,EAAE,OAAO,YAAY;IACrB,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,GAAG,CAAC;IACJ,EAAE;IACF;IACA;IACA;IACA,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,GAAG;IAC5B,EAAE,OAAO,iBAAiB,CAAC;IAC3B,EAAE;IACF;;kBC3IA,MAAM,KAAK,CAAA;;QAEV,OAAO,GAAG,WAAW,CAAC;IAWtB,IAAA,QAAQ,CAAC,OAAe,EAAA;IACvB,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;IAChC,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aACxD;YACD,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAA,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,QAAA,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;IAC5B,QAAA,IAAI,QAAQ,CAAC,IAAI,EAAE;;IAElB,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aACnC;IAAM,aAAA,IAAI,QAAQ,CAAC,IAAI,EAAE;;IAEzB,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aACnC;iBAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;;IAE5D,YAAA,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC9C;iBAAM;;IAEN,YAAA,QAAQ,CAAC,eAAe,CAAC,YAAY,CACpC,OAAO,EACP,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CACtC,CAAC;aACF;IACD,QAAA,OAAO,OAAO,CAAC;SACf;QAsBD,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,EAAA;YAC7C,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC1B,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;IACxC,gBAAA,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;IACjC,aAAC,CAAC,CAAC;IACH,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;IACxB,gBAAA,OAAO,MAAM,CAAC;iBACd;aACD;YACD,IAAI,KAAK,EAAE;IACV,YAAA,KAAK,MAAM,aAAa,IAAI,MAAM,EAAE;oBACnC,MAAM,aAAa,GAAG,aAAa,CAAC;IACpC,gBAAA,IAAI,WAAW,GAAI,MAAc,CAAC,aAAa,CAAC,CAAC;IACjD,gBAAA,IAAI,WAAW,GAAI,MAAc,CAAC,aAAa,CAAC,CAAC;oBACjD,IACC,aAAa,IAAI,MAAM;wBACvB,OAAO,WAAW,KAAK,QAAQ;IAC/B,oBAAA,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAC/B;;IAEA,oBAAA,MAAc,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,MAAM,CACnD,WAAW,EACX,WAAW,EACX,KAAK,CACL,CAAC;wBACF,SAAS;qBACT;IACA,gBAAA,MAAc,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;iBAC7C;aACD;iBAAM;IACN,YAAA,KAAK,MAAM,aAAa,IAAI,MAAM,EAAE;IACnC,gBAAA,IAAI,aAAa,IAAI,MAAM,EAAE;IAC5B,oBAAA,IAAI,WAAW,GAAI,MAAc,CAAC,aAAa,CAAC,CAAC;IACjD,oBAAA,IAAI,WAAW,GAAI,MAAc,CAAC,aAAa,CAAC,CAAC;wBACjD,IACC,OAAO,WAAW,KAAK,QAAQ;IAC/B,wBAAA,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;4BAChC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAC9B;;IAEA,wBAAA,MAAc,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,MAAM,CACnD,WAAW,EACX,WAAW,EACX,KAAK,CACL,CAAC;4BACF,SAAS;yBACT;;IAEA,oBAAA,MAAc,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;qBAC7C;iBACD;aACD;IAED,QAAA,OAAO,MAAM,CAAC;SACd;IAYD,IAAA,MAAM,eAAe,CACpB,MAAc,EACd,OAAwB,EACxB,OAA0C,EAAA;YAE1C,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;IAC/B,YAAA,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;aACpC;IACD,QAAA,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;IAClC,YAAA,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;aACpC;IACD,QAAA,IAAI,GAAG,CAAC;IACR,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;IAChC,YAAA,GAAG,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;aACvE;IAAM,aAAA,IAAI,OAAO,YAAY,MAAM,EAAE;IACrC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;IACpB,gBAAA,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;iBACtC;IACD,YAAA,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;aAC1B;iBAAM;IACN,YAAA,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;aACtC;YACD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,QAAA,IAAI,KAAK,CAAC;YACV,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,QAAA,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;;gBAE3C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;IAE/B,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpD,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,YAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;YACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;;YAErC,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvB;IACD;;;;;;IAMG;QACH,UAAU,GAAwB,UAAiB,CAAC;IAcpD,IAAA,qBAAqB,CACpB,aAAgC,EAChC,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,EACX,IAAI,GAAG,UAAU,EAAA;IAEjB,QAAA,IAAI,EAAE,aAAa,YAAY,iBAAiB,CAAC,EAAE;IAClD,YAAA,MAAM,IAAI,KAAK,CACd,wDAAwD,CACxD,CAAC;aACF;YACD,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvC,QAAA,MAAM,SAAS,GAAmB;IACjC,YAAA,YAAY,EAAE,IAAI;IAClB,YAAA,UAAU,EAAE,IAAI;IAChB,YAAA,OAAO,EAAE,OAAO;IAChB,YAAA,OAAO,EAAE,OAAO;;IAEhB,YAAA,IAAI,EAAE,IAAI;IACV,YAAA,MAAM,EAAE,CAAC;aACT,CAAC;YACF,aAAa,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;YACpE,aAAa,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;SAClE;IAYD,IAAA,oBAAoB,CAAC,OAAqC,EAAA;YACzD,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;IACjC,YAAA,MAAM,IAAI,KAAK,CACd,8DAA8D,CAC9D,CAAC;aACF;IACD,QAAA,IAAI,cAAc,GAAG,MAAM,CACzB,MAAO,CAAC,KAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CACzC,CAAC;IACF,QAAA,IAAI,cAAc,GAAG,MAAM,CACzB,MAAO,CAAC,KAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CACzC,CAAC;IACF,QAAA,IAAI,eAAe,GAAG,MAAM,CAC1B,OAAuB,CAAC,qBAAqB,EAAE,CAAC,IAAI,CACrD,CAAC;IACF,QAAA,IAAI,gBAAgB,GAAG,MAAM,CAC3B,OAAuB,CAAC,qBAAqB,EAAE,CAAC,KAAK,CACtD,CAAC;IACF,QAAA,IAAI,cAAc,GAAG,MAAM,CACzB,OAAuB,CAAC,qBAAqB,EAAE,CAAC,GAAG,CACpD,CAAC;IACF,QAAA,IAAI,iBAAiB,GAAG,MAAM,CAC5B,OAAuB,CAAC,qBAAqB,EAAE,CAAC,MAAM,CACvD,CAAC;YACF,IAAI,aAAa,GAAI,MAAM,CAAC,KAAa,CAAC,MAAM,CAAC,SAAmB,CAAC;YACrE,IACC,cAAc,IAAI,eAAe;IACjC,YAAA,cAAc,IAAI,gBAAgB;IAClC,YAAA,cAAc,IAAI,cAAc;gBAChC,cAAc,IAAI,iBAAiB,EAClC;IACD,YAAA,OAAO,IAAI,CAAC;aACZ;IAAM,aAAA,IACN,aAAa;gBACZ,OAAuB,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EACzD;;IAED,YAAA,OAAO,IAAI,CAAC;aACZ;iBAAM;IACN,YAAA,OAAO,KAAK,CAAC;aACb;SACD;IAMD,IAAA,aAAa,CAAqB,QAAW,EAAA;IAC5C,QAAA,IAAI,cAAc,GAAG,IAAI,QAAQ,EAAE,CAAC;IACpC,QAAA,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAK,QAAgB,CAAC,OAAO,EAAE,EAAE;IACrD,YAAA,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAClC;IACD,QAAA,OAAO,cAAc,CAAC;SACtB;QA6BD,cAAc,GAAA;IAQb,QAAA,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,SAAS,QAAQ,CAAY,GAAG,IAAW,EAAA;IAC1C,YAAA,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,EAAE,EAAE;IACR,gBAAA,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;iBACjC;gBACD,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5B;IACD,QAAA,QAAQ,CAAC,OAAO,GAAG,UAAU,GAAG,IAAW,EAAA;IAC1C,YAAA,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,YAAA,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;IAC7B,gBAAA,MAAM,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;iBACnC;gBACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,YAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpB,SAAC,CAAC;IACF,QAAA,OAAO,QAAQ,CAAC;SAChB;IACD;;;IAGG;QACH,eAAe,GAAA;YACd,OAAO,IAAI,eAAe,EAAE,CAAC;SAC7B;IAMD,IAAA,SAAS,CAAsC,GAAO,EAAA;YACrD,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,GAAG,KAAK,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC;YAClC,IAAI,GAAG,KAAK,IAAI;IAAE,YAAA,OAAO,IAAI,CAAC;IAC9B,QAAA,IAAI,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;IAC3C,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC9C,KAAa,CAAC,GAAG,CAAC;IAClB,gBAAA,OAAO,KAAK,KAAK,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aACnE;IACD,QAAA,OAAO,KAAK,CAAC;SACb;IAUD,IAAA,QAAQ,CAAqB,EAAqB,EAAE,KAAK,GAAG,CAAC,EAAA;YAC5D,IAAI,KAAK,GAAW,IAAW,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC;YACrB,OAAO,UAAU,GAAG,IAAO,EAAA;gBAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,GAAG,UAAU,CAAC,YAAA;IAClB,gBAAA,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;iBACxB,EAAE,KAAK,CAAC,CAAC;IACX,SAAC,CAAC;SACF;QAgBD,gBAAgB,CACf,OAA4C,EAC5C,cAAsB,EAAA;YAEtB,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,IAAI,OAAO,IAAI,IAAI,EAAE;gBACpB,OAAO;aACP;YACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;IACjC,YAAA,MAAM,IAAI,KAAK,CACd,0DAA0D,CAC1D,CAAC;aACF;IACD,QAAA,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;IACvC,YAAA,MAAM,IAAI,KAAK,CACd,wDAAwD,CACxD,CAAC;aACF;YACD,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,aAAa,GAAI,OAAuB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrE,IAAI,aAAa,EAAE;gBAClB,aAAa,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,GAAG,IAAI,CAAC;aACd;IACD,QAAA,OAAO,MAAM,CAAC;SACd;IAED;;;;;;;;;;;IAWI;QACJ,UAAU,GAEN,eAAsB,CAAC;IA+B3B,IAAA,aAAa,CACZ,OAA+B,EAC/B,SAA6D,EAC7D,OAA4C,EAAA;YAE5C,IAAI,aAAa,GAAa,EAAE,CAAC;IACjC,QAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;IAClC,YAAA,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;aAC5B;IACD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IAC7B,YAAA,aAAa,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;aAC/B;IACD,QAAA,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,KAAI;IACrC,YAAA,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;gBACnC,IAAI,OAAO,EAAE;IACZ,gBAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;iBAC9B;IACD,YAAA,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,SAAC,CAAC,CAAC;SACH;IAcD,IAAA,cAAc,CAAC,UAAkB,EAAE,QAAgB,EAAE,QAAQ,GAAG,KAAK,EAAA;IACpE,QAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;IACnC,YAAA,MAAM,IAAI,KAAK,CACd,kDAAkD,CAClD,CAAC;aACF;IACD,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;IACjC,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aAClE;YACD,IAAI,QAAQ,EAAE;;gBAEb,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvD,YAAA,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACrC,YAAA,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC;IAC/B,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACzC,UAAU,CAAC,MAAK;IACf,gBAAA,aAAc,CAAC,aAAc,CAAC,QAAQ,CAAC,WAAW,CACjD,QAAQ,EACR,IAAI,EACJ,QAAQ,CACR,CAAC;IACF,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;iBACzC,EAAE,GAAG,CAAC,CAAC;aACR;iBAAM;;gBAEN,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAChD,YAAA,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7C,YAAA,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,YAAA,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC9B,WAAW,CAAC,KAAK,EAAE,CAAC;aACpB;SACD;IAiBD,IAAA,sBAAsB,CAAC,GAAG,GAAG,EAAE,EAAE,aAAa,GAAG,KAAK,EAAA;YACrD,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,QAAA,IAAI,QAAQ,CAAC;IACb,QAAA,IAAK,SAAS,CAAC,UAAkB,CAAC,IAAI,EAAE;;IAEvC,YAAA,IAAI,UAAU,GAAI,SAAS,CAAC,IAAY,CAAC,IAAI,CAAC;IAC9C,YAAA,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7D,YAAA,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,EAAG,CAAC,UAAU,EAAE;IACtE,gBAAA,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;iBAC7D;gBACD,IAAI,CAAC,QAAQ,EAAE;oBACd,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,gBAAA,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;wBAAE,SAAS;iBACvC;aACD;IAAM,aAAA,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE;;IAExD,YAAA,IAAI,MAAM,IAAI,IAAI,EAAE;oBACnB,MAAM,GAAG,MAAa,CAAC;IACvB,gBAAA,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,gBAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,gBAAA,IAAI,QAAQ;wBAAE,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC9B;gBACD,IAAI,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,EAAE;oBACpC,MAAM,GAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAY,CAAC,eAAe,EAAE,CAAC;IACjE,gBAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,gBAAA,IAAI,QAAQ;wBAAE,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC9B;aACD;IAAM,aAAA,IAAI,SAAS,CAAC,OAAO,IAAI,OAAO,EAAE;gBACxC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAChD,OAAO;aACP;YACD,OAAO,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;SAC/B;IAgBD,IAAA,CAAC,oBAAoB,CACpB,OAAU,EACV,IAAY,EACZ,MAAgC,EAAA;YAEhC,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAK,OAAuB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtD,IAAK,OAAuB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;IACnD,gBAAA,IAAI,YAAY,GACf,OAAO,MAAM,KAAK,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;oBACxD,IAAI,CAAC,YAAY,EAAE;IAClB,oBAAA,MAAM,OAAc,CAAC;qBACrB;iBACD;qBAAM;oBACN,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CACtD,CAAC,GAAG,KAAK,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CACxC,CAAC;IACF,gBAAA,KAAK,IAAI,GAAG,IAAI,WAAW,EAAE;wBAC5B,IAAK,GAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;IAC5C,wBAAA,IAAI,YAAY,GACf,OAAO,MAAM,KAAK,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;4BACxD,IAAI,CAAC,YAAY,EAAE;IAClB,4BAAA,MAAM,GAAG,CAAC;6BACV;yBACD;qBACD;iBACD;aACD;IAED,QAAA,KACC,IAAI,KAAK,GAAG,CAAC,EACb,KAAK,GAAI,OAAuB,CAAC,QAAQ,CAAC,MAAM,EAChD,KAAK,EAAE,EACN;gBACD,IAAI,YAAY,GAAI,OAAuB,CAAC,QAAQ,CAAC,KAAK,CAAQ,CAAC;IACnE,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aAC7D;SACD;IACD;;;;;;IAMG;IACH,IAAA,kBAAkB,CAAC,OAAqC,EAAA;YACvD,IAAI,cAAc,GAAG,OAAsB,CAAC;YAC5C,OAAO,cAAc,EAAE;IACtB,YAAA,IAAI,WAAW,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC;IACzD,YAAA,IAAI,OAAO,CAAE,WAAmB,CAAC,MAAM,CAAC,EAAE;IACzC,gBAAA,OAAO,cAAc,CAAC;iBACtB;IACD,YAAA,cAAc,GAAG,cAAc,CAAC,aAAoB,CAAC;aACrD;IACD,QAAA,OAAO,IAAI,CAAC;SACZ;IAqBD,IAAA,gBAAgB,CAAC,QAAyB,EAAE,OAAO,GAAG,IAAI,EAAA;YACzD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzC,QAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;IACpB,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC5D;YACD,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,QAAQ,GAA0C,EAAE,CAAC;IACzD,QAAA,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,QAAA,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC;YACnB,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IACxC,QAAA,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE;IACzB,YAAA,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAClC,UAAU,GAAG,GAAG,CAAC;IACjB,YAAA,IAAI,QAAQ,CAAC,EAAE,IAAI,MAAM,EAAE;oBAC1B,MAAM;iBACN;aACD;IACD,QAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAQ,CAAC;IAClC,QAAA,MAAM,GAAG,OAAO;IACf,cAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE;kBAC7B,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAS,CAAC;IAC1C,QAAA,OAAO,MAAM,CAAC;SACd;QAiBD,gBAAgB,CAAC,GAAG,IAAwC,EAAA;YAC3D,IAAI,WAAW,GAAkB,EAAE,CAAC;IACpC,QAAA,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;gBACrB,IAAI,KAAK,GAAG,GAAU,CAAC;IACvB,YAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;;oBAE9B,KAAK,GAAG,GAAG,EAAE,CAAC;iBACd;IACD,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;IACvB,gBAAA,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;oBACzB,MAAM;iBACN;aACD;IACD,QAAA,OAAO,WAAW,CAAC;SACnB;QAKD,eAAe,CAAC,GAAG,IAAW,EAAA;YAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxC,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;IAC5B,YAAA,IAAI,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;oBACrC,WAAW,GAAG,QAAQ,CAAC;oBACvB,MAAM;iBACN;aACD;IACD,QAAA,OAAO,WAAW,CAAC;SACnB;QAmCD,UAAU,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,UAAU,GAAG,qBAAqB,EAAA;IAC/D,QAAA,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD;;;;IAIG;YACH,SAAS,SAAS,CAAC,OAAe,EAAA;gBACjC,IAAI,OAAO,GAAG,EAAE;oBAAE,OAAO,GAAG,GAAG,OAAO,CAAC;IACvC,YAAA,OAAO,OAAO,CAAC;aACf;IAED;;;;IAIG;YACH,SAAS,gBAAgB,CAAC,OAAe,EAAA;IACxC,YAAA,OAAO,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC;aAC7C;IAED,QAAA,IAAI,UAAU,GAAG;IAChB,YAAA,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;;gBAExB,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;;IAElC,YAAA,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;;IAE7B,YAAA,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;;gBAE9B,EAAE,EAAE,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;;IAEhD,YAAA,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;;IAEhC,YAAA,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;;aAEhC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAA;gBAC5C,IAAI,aAAa,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzC,YAAA,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,EAAG,UAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,SAAC,CAAC,CAAC;IACH,QAAA,OAAO,UAAU,CAAC;SAClB;IAYD,IAAA,iBAAiB,CAAC,IAAY,EAAA;;IAE7B,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;IAC7B,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aACjE;IACD,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;;IAEtB,YAAA,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI;oBACH,KAAK,CAAC,WAAW,EAAE;wBACnB,GAAG;IACH,qBAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;wBACtB,GAAG;wBACH,KAAK,CAAC,OAAO,EAAE;wBACf,GAAG;IACH,oBAAA,IAAI,CAAC;aACN;YACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACzC,QAAA,OAAO,SAAS,CAAC;SACjB;IACD;;;;;;;;IAQG;QACH,UAAU,GAAG,UAAU,CAAC;IACxB;;IAEG;QACH,wBAAwB,GAAA;YACvB,OAAO;gBACN,qBAAqB;gBACrB,kBAAkB;gBAClB,iBAAiB;gBACjB,gBAAgB;gBAChB,eAAe;aACf,CAAC;SACF;IACD;;IAEG;QACH,uBAAuB,GAAA;YACtB,OAAO;gBACN,oBAAoB;gBACpB,iBAAiB;gBACjB,gBAAgB;gBAChB,eAAe;gBACf,cAAc;aACd,CAAC;SACF;IAaD,IAAA,iBAAiB,CAAC,SAA2B,EAAA;YAC5C,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvC;QAcD,iBAAiB,CAAC,GAAG,IAAwC,EAAA;YAC5D,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,QAAA,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;IACrB,YAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;;oBAE7B,GAAW,GAAG,GAAG,EAAE,CAAC;iBACrB;IACD,YAAA,IAAI,GAAG,IAAI,IAAI,EAAE;oBAChB,MAAM,GAAG,GAAG,CAAC;oBACb,MAAM;iBACN;aACD;IACD,QAAA,OAAO,MAAM,CAAC;SACd;IAmCD,IAAA,iBAAiB,CAChB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EACvB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EACvB,IAAI,GAAG,GAAG,EAAA;IAEV,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,EAAE,EAAE;IACxC,YAAA,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;aAC/B;YACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,EAAE,EAAE;IACxC,YAAA,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;aAC/B;IACD,QAAA,IAAI,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACvE,QAAA,IAAI,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACrE,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,QAAA,IAAI,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC;IAC/B,QAAA,IAAI,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC;IAC7B,QAAA,IAAI,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC;IAC1B,QAAA,IAAI,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC;IAC3B,QAAA,IAAI,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC;IAC5B,QAAA,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;IACrC,QAAA,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC;YACzC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,QAAA,IAAI,IAAI,KAAK,GAAG,EAAE;gBACjB,cAAc,GAAG,OAAO,CAAC;aACzB;IAAM,aAAA,IAAI,IAAI,KAAK,GAAG,EAAE;gBACxB,cAAc,GAAG,QAAQ,CAAC;aAC1B;IAAM,aAAA,IAAI,IAAI,KAAK,GAAG,EAAE;gBACxB,cAAc,GAAG,MAAM,CAAC;aACxB;IAAM,aAAA,IAAI,IAAI,KAAK,GAAG,EAAE;gBACxB,cAAc,GAAG,OAAO,CAAC;aACzB;IAAM,aAAA,IAAI,IAAI,KAAK,GAAG,EAAE;gBACxB,cAAc,GAAG,SAAS,CAAC;aAC3B;IAAM,aAAA,IAAI,IAAI,KAAK,GAAG,EAAE;gBACxB,cAAc,GAAG,SAAS,CAAC;aAC3B;IACD,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CACzB,IAAI,CAAC,GAAG,CAAC,CAAE,OAAe,GAAI,SAAiB,IAAI,cAAc,CAAC,CAClE,CAAC;IACF,QAAA,IAAI,IAAI,KAAK,MAAM,EAAE;IACpB,YAAA,IAAI,cAAc,GAAG,YAAY,GAAG,cAAc,CAAC;IACnD,YAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5D,YAAA,IAAI,SAAS,GAAG,CAAC,EAAE;IACjB,gBAAA,SAAiB,GAAG,SAAS,GAAG,GAAG,CAAC;iBACrC;qBAAM;;IAEN,gBAAA,IAAI,MAAM,GACT,cAAc,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACrC,gBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/C,gBAAA,IAAI,KAAK,GAAG,CAAC,EAAE;IACb,oBAAA,SAAiB,GAAG,KAAK,GAAG,IAAI,CAAC;qBAClC;yBAAM;;wBAEN,IAAI,MAAM,GAAG,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC;IACpC,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/C,oBAAA,IAAI,OAAO,GAAG,CAAC,EAAE;IACf,wBAAA,SAAiB,GAAG,OAAO,GAAG,IAAI,CAAC;yBACpC;6BAAM;;4BAEN,IAAI,MAAM,GAAG,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;4BAClC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC,wBAAA,SAAiB,GAAG,OAAO,GAAG,GAAG,CAAC;yBACnC;qBACD;iBACD;aACD;IACD,QAAA,OAAO,SAAS,CAAC;SACjB;IASD,IAAA,kBAAkB,CAAC,OAAoB,EAAA;YACtC,IAAI,YAAY,GAAG,IAAI,CAAC;;IAExB,QAAA,IAAI,CAAC,OAAO;gBAAE,OAAO;;YAErB,IAAI,CAAC,OAAO,CAAC,aAAa;gBAAE,OAAO;;YAEnC,IAAI,OAAO,CAAC,EAAE;IAAE,YAAA,OAAO,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;;YAGxC,IAAI,QAAQ,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,EAAE;IACd,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;aACrC;;IAED,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;IACvE,YAAA,IAAI,KAAK,GACR,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrE,gBAAA,CAAC,CAAC;gBACH,QAAQ;IACP,gBAAA,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,aAAa,GAAG,KAAK,GAAG,GAAG,CAAC;aACrE;iBAAM;gBACN,QAAQ,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;aAClD;IACD,QAAA,OAAO,QAAQ,CAAC;SAChB;IAyBD;;;;;IAKG;QACH,WAAW,CAAC,GAAG,IAAW,EAAA;IACzB,QAAA,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACvB,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;;gBAExB,OAAO;aACP;IACD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;IACtB,YAAA,IACC,MAAM,CAAC,MAAM,KAAK,CAAC;IACnB,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;IAC7B,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,EAC9B;IACD,gBAAA,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gBAAA,IAAI,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;IACrC,oBAAA,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE,iBAAC,CAAC,CAAC;iBACH;qBAAM;IACN,gBAAA,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;wBACvB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;4BAC7B,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;yBAC7C;IACF,iBAAC,CAAC,CAAC;iBACH;IACD,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;aAC9B;iBAAM;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAS,KAAI;oBAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC7B,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC7C;IACF,aAAC,CAAC,CAAC;IACH,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;aAC9B;SACD;QASD,YAAY,CAAC,SAAS,GAAG,CAAC,EAAA;YACzB,IAAI,aAAa,GAAa,EAAE,CAAC;IACjC,QAAA,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YACpD,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;gBAClD,IAAI,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;;IAEjD,YAAA,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE;IACpE,gBAAA,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;iBACjE;IACF,SAAC,CAAC,CAAC;;IAEH,QAAA,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAA,IAAI,gBAAgB,GAAG,aAAa,CAAC,MAAM;IAC1C,cAAE,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;kBAC1B,CAAC,CAAC;YACL,OAAO,gBAAgB,GAAG,SAAS,CAAC;SACpC;QAmCD,WAAW,CAAC,GAAG,IAAW,EAAA;IACzB,QAAA,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACvB,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;;gBAExB,OAAO;aACP;IACD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;IACtB,YAAA,IACC,MAAM,CAAC,MAAM,KAAK,CAAC;IACnB,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;IAC7B,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,EAC9B;IACD,gBAAA,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,gBAAA,IAAI,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;IACrC,oBAAA,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE,iBAAC,CAAC,CAAC;iBACH;qBAAM;IACN,gBAAA,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;wBACvB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;4BAC7B,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;yBAC7C;IACF,iBAAC,CAAC,CAAC;iBACH;IACD,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;aAC9B;iBAAM;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAS,KAAI;oBAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC7B,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC7C;IACF,aAAC,CAAC,CAAC;IACH,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;aAC9B;SACD;QAQD,kBAAkB,GAAA;YACjB,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,IAAI,cAAc,GAAG;gBACpB,SAAS;gBACT,SAAS;gBACT,yBAAyB;gBACzB,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,aAAa;gBACb,yBAAyB;gBACzB,2BAA2B;gBAC3B,oCAAoC;gBACpC,SAAS;gBACT,SAAS;gBACT,sCAAsC;gBACtC,iCAAiC;aACjC,CAAC;YACF,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,YAAY,GAAG,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC/D,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7D,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,QAAA,OAAO,CAA+B,4BAAA,EAAA,cAAc,CAAK,EAAA,EAAA,YAAY,CAAmD,gDAAA,EAAA,cAAc,CAAI,CAAA,EAAA,cAAc,CAAI,CAAA,EAAA,cAAc,CAAI,CAAA,EAAA,cAAc,uBAAuB,CAAC;SACpN;QAmCD,cAAc,CAAC,GAAG,IAAW,EAAA;IAC5B,QAAA,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;IACtB,YAAA,IACC,MAAM,CAAC,MAAM,KAAK,CAAC;IACnB,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;IAC7B,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAC5B;oBACD,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC/D,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE,gBAAA,QACC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,WAAW,GAAG,UAAU,CAAC,CAAC,GAAG,UAAU,EAClE;iBACF;qBAAM;IACN,gBAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iBACzD;aACD;IAAM,aAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;IAC/B,YAAA,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IAC7B,gBAAA,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC/D;qBAAM,IACN,OAAO,SAAS,KAAK,QAAQ;oBAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAChC;IACD,gBAAA,IAAI,eAAe,GAClB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CACzD,CAAC;IACH,gBAAA,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC;iBAClC;qBAAM;IACN,gBAAA,OAAO,SAAS,CAAC;iBACjB;aACD;SACD;IACD;;;;;;;;;;;;;;;;;IAiBI;QACJ,aAAa,GAAA;YACZ,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7D,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzD,OAAO,CAAA,wFAAA,EAA2F,cAAc,CAAI,CAAA,EAAA,cAAc,IAAI,cAAc,CAAA,CAAA,EAAI,cAAc,CAAA,cAAA,CAAgB,CAAC;SACvL;IACD;;;;;;IAMG;IACH,IAAA,WAAW,CAAC,OAA8B,EAAA;YAQzC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,KAAI;IAC7C,YAAA,IAAI,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACvC,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC1D,gBAAA,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;yBAAM;wBACL,MAAc,CAAC,SAAS,CAAC,GAAI,OAAe,CAAC,YAAY,CAAC,CAAC;qBAC5D;iBACD;IACF,SAAC,CAAC,CAAC;IACH,QAAA,OAAO,MAAM,CAAC;SACd;IACD;;;;IAIG;QACH,SAAS,CAAC,MAAW,EAAE,OAAyB,EAAA;IAC/C,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;IAC/B,YAAA,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;aACpC;YACD,IAAI,cAAc,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC1D,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAChC,IAAI,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;IAC5C,gBAAA,OAAO,GAAG,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;IACnC,aAAC,CAAC,CAAC;gBACH,IAAI,UAAU,EAAE;IACf,gBAAA,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;iBAC1B;aACD;IAAM,aAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBACvC,IAAI,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;oBAC5C,OAAO,GAAG,KAAK,OAAO,CAAC;IACxB,aAAC,CAAC,CAAC;gBACH,IAAI,UAAU,EAAE;IACf,gBAAA,OAAQ,MAAc,CAAC,UAAU,CAAC,CAAC;iBACnC;aACD;iBAAM;gBACN,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,YAAA,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;oBAC9B,MAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,aAAC,CAAC,CAAC;IACH,YAAA,OAAO,MAAM,CAAC;aACd;SACD;IACD;;;;;;IAMG;IACH,IAAA,aAAa,CAAC,IAAY,EAAA;IACzB,QAAA,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC,MAAM,CAAC;SACpB;IAeD,IAAA,kBAAkB,CAAC,IAAY,EAAE,OAAO,GAAG,IAAI,EAAA;YAC9C,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,OAAO,YAAY,CAAC,gBAAgB,CACnC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,EAChC,OAAO,CACP,CAAC;SACF;IAMD,IAAA,aAAa,CAAC,GAAW,EAAA;IACxB,QAAA,IAAI,GAAG,IAAI,IAAI,EAAE;IAChB,YAAA,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;aAC/B;IACD,QAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;IAC5B,YAAA,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;aACtC;IACD,QAAA,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IACtB,YAAA,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;aACtC;IACD,QAAA,OAAO,CAAa,UAAA,EAAA,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAA,CAAE,CAAC;SACzD;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BO;QACP,SAAS,GAAG,aAAa,CAAC;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyFO;QACP,OAAO,GAAgB,MAAa,CAAC;IACrC;;;;;;;;;;;;;;;;;;;;;;;IAuBO;QACP,KAAK,GAAe,KAAK,CAAC;IAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqCM;QACN,KAAK,GAAe,KAAK,CAAC;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;IAwBO;QACP,SAAS,GAAmB,SAAS,CAAC;IAYtC,IAAA,YAAY,CAAC,MAAgB,EAAA;IAC5B,QAAA,OAAO,OAAO,CACb,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAChE,CAAC;SACF;QASD,YAAY,CAAC,YAAoB,EAAE,EAAA;YAClC,IAAI,SAAS,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;YACzE,IAAI,YAAY,GACf,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;IAC7D,QAAA,IAAI,cAAc,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;IAC3D,QAAA,OAAO,SAAS,GAAG,YAAY,IAAI,cAAc,GAAG,SAAS,CAAC;SAC9D;IAYD,IAAA,KAAK,CAAC,MAAW,EAAA;YAChB,OAAO,MAAM,YAAY,IAAI,CAAC;SAC9B;QAKD,mBAAmB,GAAA;IAClB,QAAA,OAAO,CAAC,EACN,SAAS,CAAC,QAAgB,CAAC,iBAAiB;gBAC5C,SAAS,CAAC,QAAgB,CAAC,uBAAuB;gBAClD,SAAS,CAAC,QAAgB,CAAC,oBAAoB;IAC/C,YAAA,SAAS,CAAC,QAAgB,CAAC,mBAAmB,CAC/C,CAAC;SACF;IAYD,IAAA,QAAQ,CAAC,MAAW,EAAA;YACnB,IAAI,MAAM,GAAG,KAAK,CAAC;;YAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY,MAAM,EAAE;gBAC3D,MAAM,GAAG,IAAI,CAAC;aACd;IACD,QAAA,IAAI,MAAM,IAAI,IAAI,EAAE;IACnB,YAAA,OAAO,KAAK,CAAC;aACb;IACD,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;;IAE/B,YAAA,IAAI,WAAW,GAAG;oBACjB,KAAK;oBACL,SAAS;oBACT,UAAU;oBACV,OAAO;oBACP,cAAc;oBACd,WAAW;oBACX,UAAU;oBACV,WAAW;oBACX,UAAU;oBACV,aAAa;oBACb,SAAS;oBACT,QAAQ;oBACR,UAAU;oBACV,MAAM;oBACN,QAAQ;oBACR,MAAM;oBACN,MAAM;oBACN,QAAQ;oBACR,UAAU;oBACV,YAAY;oBACZ,OAAO;oBACP,OAAO;oBACP,SAAS;oBACT,aAAa;oBACb,UAAU;oBACV,aAAa;oBACb,KAAK;oBACL,MAAM;oBACN,UAAU;oBACV,OAAO;oBACP,UAAU;oBACV,SAAS;oBACT,MAAM;oBACN,OAAO;oBACP,KAAK;oBACL,IAAI;oBACJ,QAAQ;oBACR,QAAQ;oBACR,SAAS;oBACT,QAAQ;oBACR,YAAY;oBACZ,QAAQ;oBACR,MAAM;oBACN,OAAO;oBACP,OAAO;oBACP,SAAS;oBACT,UAAU;oBACV,KAAK;oBACL,KAAK;oBACL,UAAU;oBACV,QAAQ;oBACR,MAAM;oBACN,OAAO;oBACP,MAAM;oBACN,OAAO;oBACP,MAAM;oBACN,aAAa;oBACb,YAAY;oBACZ,aAAa;oBACb,cAAc;oBACd,IAAI;oBACJ,QAAQ;oBACR,SAAS;oBACT,UAAU;oBACV,OAAO;oBACP,MAAM;oBACN,MAAM;oBACN,KAAK;oBACL,WAAW;oBACX,YAAY;oBACZ,YAAY;oBACZ,WAAW;oBACX,UAAU;oBACV,WAAW;oBACX,SAAS;oBACT,MAAM;oBACN,SAAS;oBACT,KAAK;oBACL,KAAK;oBACL,QAAQ;oBACR,cAAc;oBACd,IAAI;oBACJ,KAAK;oBACL,aAAa;oBACb,YAAY;oBACZ,QAAQ;oBACR,SAAS;oBACT,UAAU;oBACV,SAAS;oBACT,WAAW;oBACX,MAAM;oBACN,SAAS;oBACT,WAAW;oBACX,SAAS;oBACT,MAAM;oBACN,WAAW;oBACX,OAAO;oBACP,OAAO;oBACP,QAAQ;oBACR,YAAY;oBACZ,aAAa;oBACb,YAAY;oBACZ,YAAY;oBACZ,YAAY;oBACZ,aAAa;oBACb,QAAQ;oBACR,QAAQ;oBACR,YAAY;oBACZ,WAAW;oBACX,QAAQ;oBACR,MAAM;oBACN,UAAU;oBACV,OAAO;oBACP,WAAW;oBACX,aAAa;oBACb,SAAS;oBACT,MAAM;oBACN,QAAQ;oBACR,MAAM;oBACN,SAAS;oBACT,QAAQ;oBACR,aAAa;oBACb,SAAS;oBACT,gBAAgB;oBAChB,QAAQ;oBACR,OAAO;oBACP,MAAM;iBACN,CAAC;IACF,YAAA,KAAK,MAAM,eAAe,IAAI,WAAW,EAAE;IAC1C,gBAAA,IAAI,EAAE,eAAe,IAAI,MAAM,CAAC,EAAE;wBACjC,MAAM,GAAG,KAAK,CAAC;;wBAEf,MAAM;qBACN;yBAAM;wBACN,MAAM,GAAG,IAAI,CAAC;qBACd;iBACD;aACD;IACD,QAAA,OAAO,MAAM,CAAC;SACd;IAYD,IAAA,OAAO,CAAC,SAAA,GAAoB,SAAS,CAAC,SAAS,EAAA;YAC9C,OAAO,OAAO,CAAC,wCAAwC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SACzE;IAOD,IAAA,WAAW,CAAC,SAAiB,EAAE,WAAA,GAAsB,CAAC,EAAA;IACrD,QAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;IAClC,YAAA,MAAM,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC;aAC5C;IACD,QAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;IACzB,YAAA,OAAO,KAAK,CAAC;aACb;IACD,QAAA,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,aAAa,GAA0C,EAAE,CAAC;YAChE,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,QAAA,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;gBAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;IACrC,gBAAA,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;iBACtB;qBAAM;IACN,gBAAA,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACxB;IACD,YAAA,eAAe,EAAE,CAAC;aAClB;YACD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,QAAA,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;gBACjC,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,eAAe,IAAI,WAAW,EAAE;oBACzD,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM;iBACN;aACD;IACD,QAAA,OAAO,MAAM,CAAC;SACd;QAWD,SAAS,CAAC,GAAG,IAAW,EAAA;YACvB,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9C;QA+CD,MAAM,CAAC,GAAG,IAAW,EAAA;YACpB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,QAAA,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,QAAA,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;gBAChC,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;oBAC9C,UAAU,GAAG,IAAI,CAAC;iBAClB;qBAAM;oBACN,QAAQ,OAAO,OAAO;IACrB,oBAAA,KAAK,QAAQ;4BACZ,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;;IAEnD,4BAAA,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;6BAClC;iCAAM;gCACN,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;6BAC/C;4BACD,MAAM;IACP,oBAAA,KAAK,QAAQ;IACZ,wBAAA,UAAU,GAAG,OAAO,KAAK,CAAC,CAAC;4BAC3B,MAAM;IACP,oBAAA,KAAK,QAAQ;4BACZ,UAAU;IACT,4BAAA,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;IACrB,gCAAA,OAAO,KAAK,MAAM;oCAClB,OAAO,KAAK,WAAW,CAAC;4BACzB,MAAM;IACP,oBAAA,KAAK,SAAS;4BACb,UAAU,GAAG,CAAC,OAAO,CAAC;4BACtB,MAAM;IACP,oBAAA,KAAK,UAAU;IACd,wBAAA,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;;4BAEpD,UAAU,GAAG,OAAO,CACnB,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CACzD,CAAC;4BACF,MAAM;qBACP;iBACD;IACD,YAAA,MAAM,GAAG,MAAM,IAAI,UAAU,CAAC;aAC9B;IAED,QAAA,OAAO,MAAM,CAAC;SACd;QAMD,WAAW,GAAA;YACV,OAAO,UAAU,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC;SACrE;IAeD,IAAA,SAAS,CACR,OAAiC,EACjC,MAAA,GAAkB,KAAK,EAAA;YAEvB,IAAI,gBAAgB,GAAG,EAAE,CAAC;YAC1B,IAAI,OAAO,YAAY,KAAK,IAAI,OAAO,YAAY,QAAQ,EAAE;gBAC5D,OAAO,GAAG,OAAwB,CAAC;IACnC,YAAA,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;aAChC;iBAAM;IACN,YAAA,gBAAgB,GAAG,CAAC,OAAO,CAAC,CAAC;aAC7B;YACD,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,QAAA,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;gBACvC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClD,YAAA,IAAI,UAAU,CAAC,OAAO,KAAK,MAAM,EAAE;oBAClC,MAAM,GAAG,KAAK,CAAC;iBACf;qBAAM;IACN,gBAAA,IAAI,aAAa,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;oBACpD,IAAI,MAAM,EAAE;wBACX,IAAI,aAAa,GAChB,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;wBAC3D,IAAI,cAAc,GACjB,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;IAC7D,oBAAA,MAAM,GAAG,EACR,aAAa,CAAC,KAAK,GAAG,CAAC;4BACvB,aAAa,CAAC,IAAI,GAAG,aAAa;4BAClC,aAAa,CAAC,MAAM,GAAG,CAAC;IACxB,wBAAA,aAAa,CAAC,GAAG,GAAG,cAAc,CAClC,CAAC;qBACF;yBAAM;wBACN,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;qBAClD;iBACD;gBACD,IAAI,CAAC,MAAM,EAAE;;oBAEZ,MAAM;iBACN;aACD;IACD,QAAA,OAAO,MAAM,CAAC;SACd;QAYD,aAAa,GAAA;YACZ,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,OAAQ,SAAS,CAAC,GAAG,CAAC,MAAc,CAAC,GAAG,KAAK,QAAQ,EAAE;IAC1D,YAAA,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAE,SAAS,CAAC,GAAG,CAAC,MAAc,CAAC,GAAG,CAAC,EAAE;IACnE,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAE,SAAS,CAAC,GAAG,CAAC,MAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;IACxD,oBAAA,IAAI,YAAY,GAAI,SAAS,CAAC,GAAG,CAAC,MAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC1D,IACC,OAAO,YAAY,KAAK,UAAU;IAClC,wBAAA,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,EACtC;4BACD,MAAM,GAAG,IAAI,CAAC;yBACd;6BAAM;4BACN,MAAM,GAAG,KAAK,CAAC;4BACf,MAAM;yBACN;qBACD;iBACD;aACD;iBAAM;gBACN,MAAM,GAAG,KAAK,CAAC;aACf;IACD,QAAA,OAAO,MAAM,CAAC;SACd;QAWD,WAAW,GAAA;YACV,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,OAAQ,SAAS,CAAC,GAAG,CAAC,MAAc,CAAC,QAAQ,KAAK,QAAQ,EAAE;IAC/D,YAAA,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAE,SAAS,CAAC,GAAG,CAAC,MAAc,CAAC,QAAQ,CAAC,EAAE;IACxE,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAE,SAAS,CAAC,GAAG,CAAC,MAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;IAC7D,oBAAA,IAAI,YAAY,GAAI,SAAS,CAAC,GAAG,CAAC,MAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC/D,IACC,OAAO,YAAY,KAAK,UAAU;IAClC,wBAAA,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,EACtC;4BACD,MAAM,GAAG,IAAI,CAAC;yBACd;6BAAM;4BACN,MAAM,GAAG,KAAK,CAAC;4BACf,MAAM;yBACN;qBACD;iBACD;aACD;iBAAM;gBACN,MAAM,GAAG,KAAK,CAAC;aACf;IACD,QAAA,OAAO,MAAM,CAAC;SACd;IAUD,IAAA,kBAAkB,CAAC,MAAiB,EAAA;IACnC,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;IAC/B,YAAA,MAAM,IAAI,KAAK,CACd,kDAAkD,CAClD,CAAC;aACF;YACD,IAAI,MAAM,GAAU,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,OAAO,EAAA;gBAC5C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,SAAC,CAAC,CAAC;IACH,QAAA,OAAO,MAAM,CAAC;SACd;IA2ED,IAAA,cAAc,CACb,MAAuD,EACvD,SAA8C,GAAA,UAAU,EACxD,QAKS,EAAA;YAIT,IACC,OAAO,MAAM,KAAK,QAAQ;IAC1B,aAAC,OAAO,MAAM,CAAC,kBAAkB,CAAC,KAAK,UAAU;oBAChD,OAAO,MAAM,CAAC,qBAAqB,CAAC,KAAK,UAAU,CAAC,EACpD;IACD,YAAA,MAAM,IAAI,KAAK,CACd,0DAA0D,CAC1D,CAAC;aACF;YACD,IAAI,QAAQ,GAAG,UAAU,KAAoB,EAAA;gBAC5C,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC;IACtC,YAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC;gBAC9D,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,YAAA,IAAI,KAAK,CAAC,OAAO,EAAE;IAClB,gBAAA,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC3B;IACD,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;IACjB,gBAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC1B;IACD,YAAA,IAAI,KAAK,CAAC,OAAO,EAAE;IAClB,gBAAA,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC3B;IACD,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;IACnB,gBAAA,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC5B;IACD,YAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;IACnC,gBAAA,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;iBAC7D;IACF,SAAC,CAAC;IACF,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAe,CAAC,CAAC;YACpD,OAAO;gBACN,YAAY,GAAA;IACX,gBAAA,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAe,CAAC,CAAC;iBACvD;aACD,CAAC;SACF;IACD;;;;;;;;;;IAUO;QACP,YAAY,GAAsB,YAAY,CAAC;IAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BM;QACN,GAAG,GAAa,GAAG,CAAC;QAUpB,kBAAkB,CAAC,IAAW,EAAE,UAA8B,EAAA;IAC7D,QAAA,IAAI,EAAE,IAAI,YAAY,KAAK,CAAC,EAAE;IAC7B,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aACjE;YACD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,QAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;IACrC,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;IACrB,gBAAA,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,aAAC,CAAC,CAAC;aACH;IAAM,aAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;IAC1C,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;IACrB,gBAAA,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,aAAC,CAAC,CAAC;aACH;iBAAM;IACN,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;IACrB,gBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;yBACjB,MAAM,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,CAAC;IAC5C,qBAAA,OAAO,CAAC,CAAC,KAAK,KAAI;wBAClB,OAAO,IAAI,KAAK,CAAC;IAClB,iBAAC,CAAC,CAAC;IACL,aAAC,CAAC,CAAC;aACH;IACD,QAAA,OAAO,OAAO,CAAC;SACf;QA4BD,gBAAgB,CACf,MAAgD,EAChD,eAGC,EAAA;YAED,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,IACC,EAAE,MAAM,YAAY,IAAI,CAAC;IACzB,YAAA,EAAE,MAAM,YAAY,QAAQ,CAAC;IAC7B,YAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B;IACD,YAAA,MAAM,IAAI,KAAK,CACd,6DAA6D,CAC7D,CAAC;aACF;IAED,QAAA,IAAI,uBAAuB,GAAG;;IAE7B,YAAA,QAAQ,EAAE,MAAK,GAAG;IAClB,YAAA,MAAM,EAAE;IACP;;;;IAIG;oBACH,OAAO,EAAE,KAAK,CAAC;IACf;;;;IAIG;oBACH,SAAS,EAAE,KAAK,CAAC;IACjB;;;;IAIG;oBACH,UAAU,EAAE,KAAK,CAAC;IAClB;;;IAGG;oBACH,eAAe,EAAE,KAAK,CAAC;IACvB;;;;IAIG;oBACH,iBAAiB,EAAE,KAAK,CAAC;IACzB;;;;IAIG;oBACH,aAAa,EAAE,KAAK,CAAC;IACrB;;;;IAIG;oBACH,qBAAqB,EAAE,KAAK,CAAC;IAC7B,aAAA;aACD,CAAC;YACF,eAAe,GAAG,YAAY,CAAC,MAAM,CACpC,uBAAuB,EACvB,eAAe,CACf,CAAC;IACF,QAAA,IAAI,gBAAgB,GAClB,SAAS,CAAC,MAAc,CAAC,gBAAgB;gBACzC,SAAS,CAAC,MAAc,CAAC,sBAAsB;IAC/C,YAAA,SAAS,CAAC,MAAc,CAAC,mBAAmB,CAAC;;YAE/C,IAAI,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,UAC3C,SAA2B,EAC3B,QAA0B,EAAA;IAE1B,YAAA,eAAe,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChD,SAAC,CAAC,CAAC;IACH,QAAA,IAAI,MAAM,YAAY,IAAI,EAAE;;gBAE3B,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;aACzD;IAAM,aAAA,IAAI,MAAM,YAAY,QAAQ,EAAE;;IAEtC,YAAA,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;oBACvB,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACxD,aAAC,CAAC,CAAC;aACH;IAAM,aAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;;gBAExC,MAAc,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,IAAS,KAAI;oBAC9C,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACxD,aAAC,CAAC,CAAC;aACH;iBAAM;;IAEN,YAAA,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;aACxD;IACD,QAAA,OAAO,gBAAgB,CAAC;SACxB;IACD;;;;;IAKG;IACH,IAAA,UAAU,GAAG,YAAA;IACZ,QAAA,IAAK,SAAS,CAAC,MAAc,CAAC,KAAK,EAAE;gBACpC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,MAAa,EAAE,OAAO,CAAC,CAAC;aACzD;IACA,QAAA,SAAS,CAAC,MAAc,CAAC,KAAK,GAAG,KAAK,CAAC;IACxC,QAAA,OAAO,KAAK,CAAC;IACd,KAAC,CAAC;QAuCF,cAAc,CACb,iBAAyB,EACzB,eAAuB,EACvB,gBAA0B,GAAA,EAAE,EAC5B,OAAA,GAAmB,IAAI,EAAA;YAEvB,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;IAC1C,YAAA,MAAM,IAAI,KAAK,CACd,yDAAyD,CACzD,CAAC;aACF;IACD,QAAA,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;IACxC,YAAA,MAAM,IAAI,KAAK,CACd,uDAAuD,CACvD,CAAC;aACF;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;IACrC,YAAA,MAAM,IAAI,KAAK,CACd,uDAAuD,CACvD,CAAC;aACF;IACD,QAAA,IAAI,cAAc,GAAG,IAAI,GAAG,eAAe,CAAC;IAC5C;;IAEG;IACH,QAAA,SAAS,UAAU,GAAA;gBAClB,IAAI,OAAQ,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,KAAK,WAAW,EAAE;;oBAErE,OAAO;iBACP;IACA,YAAA,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC;IACxC,gBAAA,YAAY,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;gBAC3C,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;IAClD,gBAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;wBAC/B,iBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAO,GAAC,CAAC;qBAClD;IACF,aAAC,CAAC,CAAC;aACH;IACD;;IAEG;IACH,QAAA,SAAS,UAAU,GAAA;gBAClB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;oBAC7C,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;IAClD,oBAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;4BAChC,IACC,OAAQ,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,KAAK,WAAW,EAC/D;IACA,4BAAA,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;6BAC/C;IACD,wBAAA,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;IACvB,4BAAA,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GACpD,iBACA,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCACb,iBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAO,GAAC,CAAC;6BAClD;yBACD;IACF,iBAAC,CAAC,CAAC;IACJ,aAAC,CAAC,CAAC;aACH;IACD;;IAEG;IACH,QAAA,SAAS,WAAW,GAAA;gBACnB,IAAI,OAAQ,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,KAAK,WAAW,EAAE;;oBAErE,OAAO;iBACP;IACD,YAAA,MAAM,CAAC,MAAM,CACZ,iBAAiB,EAChB,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,CACzC,CAAC;gBACF,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,MAAa,EAAE,gBAAgB,CAAC,CAAC;aAClE;IAED;;IAEG;IACH,QAAA,SAAS,WAAW,GAAA;gBACnB,IAAI,OAAQ,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,KAAK,WAAW,EAAE;;oBAErE,OAAO;iBACP;gBACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;oBAC7C,IAAK,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE;IACnD,oBAAA,iBAAyB,CAAC,IAAI,CAAC,GAAI,SAAS,CAAC,MAAc,CAC3D,cAAc,CACd,CAAC,IAAI,CAAC,CAAC;IACR,oBAAA,OAAO,CAAC,cAAc,CACpB,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,EACzC,IAAI,CACJ,CAAC;IACF,oBAAA,IACC,MAAM,CAAC,IAAI,CAAE,SAAS,CAAC,MAAc,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAClE;IACD,wBAAA,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;yBAC/C;qBACD;IACF,aAAC,CAAC,CAAC;aACH;YACD,IAAI,OAAO,EAAE;;IAEZ,YAAA,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;IAClC,gBAAA,UAAU,EAAE,CAAC;iBACb;qBAAM;;IAEN,gBAAA,UAAU,EAAE,CAAC;iBACb;aACD;iBAAM;;IAEN,YAAA,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;IAClC,gBAAA,WAAW,EAAE,CAAC;iBACd;qBAAM;;IAEN,gBAAA,WAAW,EAAE,CAAC;iBACd;aACD;SACD;IAUD,IAAA,iBAAiB,CAAC,OAAe,EAAA;IAChC,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;IAChC,YAAA,MAAM,IAAI,KAAK,CACd,kDAAkD,CAClD,CAAC;aACF;YACD,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EACpC,WAAW,GAAI,YAAY,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC1D,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACxC,aAAa,GAAG,gBAAgB,CAAC,MAAM,EACvC,KAAK,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;YACvC,OAAO,aAAa,EAAE,EAAE;gBACvB,KAAK,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;aAClE;IACD,QAAA,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE;IACxB,YAAA,IAAI,EAAE,WAAW;IACjB,SAAA,CAAC,CAAC;SACH;IAWD,IAAA,iBAAiB,CAAC,OAAe,EAAE,QAAQ,GAAG,SAAS,EAAA;IACtD,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;IAChC,YAAA,MAAM,IAAI,KAAK,CACd,kDAAkD,CAClD,CAAC;aACF;IACD,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;IACjC,YAAA,MAAM,IAAI,KAAK,CACd,mDAAmD,CACnD,CAAC;aACF;YACD,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EACpC,WAAW,GAAI,YAAY,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC1D,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACxC,aAAa,GAAG,gBAAgB,CAAC,MAAM,EACvC,KAAK,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;YACvC,OAAO,aAAa,EAAE,EAAE;gBACvB,KAAK,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;aAClE;YACD,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE;IAClC,YAAA,IAAI,EAAE,WAAW;IACjB,SAAA,CAAC,CAAC;SACH;IAyBD,IAAA,QAAQ,CAAC,SAAmB,GAAA,EAAE,EAAE,YAAY,GAAG,CAAC,EAAA;IAC/C,QAAA,IAAI,SAAS,IAAI,IAAI,EAAE;IACtB,YAAA,OAAO,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;aACzC;IACD,QAAA,IAAI,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,QAAA,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;gBACtB,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC/C;IACD,QAAA,OAAO,UAAU,CAAC;SAClB;IAUD,IAAA,MAAM,eAAe,CACpB,OAAe,EACf,WAAmB,SAAS,EAAA;YAE5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;gBACtC,KAAK,CAAC,OAAO,CAAC;qBACZ,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,iBAAA,IAAI,CAAC,CAAC,IAAI,KAAI;IACd,gBAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,aAAC,CAAC;IACD,iBAAA,KAAK,CAAC,CAAC,KAAK,KAAI;IAChB,gBAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC,CAAC;IACf,aAAC,CAAC,CAAC;IACL,SAAC,CAAC,CAAC;SACH;QAWD,UAAU,CAAC,OAAe,EAAE,EAAA;YAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,WAAW,GAAG,4BAA4B,CAAC;YAC/C,IAAI,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC3C;IACD,QAAA,OAAO,MAAM,CAAC;SACd;QASD,MAAM,iBAAiB,CAAC,OAAa,EAAA;IACpC,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,QAAA,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;IAC9B,YAAA,MAAM,CAAC,MAAM,GAAG,UAAU,KAAU,EAAA;IACnC,gBAAA,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;IACxC,aAAC,CAAC;IACH,SAAC,CAAC,CAAC;SACH;IAuBD,IAAA,eAAe,CACd,IAAY,EACZ,QAAA,GAKqB,WAAW,EAAA;IAEhC,QAAA,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC9C;IAOD,IAAA,yBAAyB,CAAC,IAAY,EAAA;IACrC,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;IAC7B,YAAA,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;aACpC;YACD,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC9D,QAAA,OAAO,SAAS,CAAC;SACjB;IA2BD,IAAA,YAAY,CACX,OAA4B,EAC5B,aAAmC,GAAA,EAAE,EACrC,OAAiB,EAAA;YAEjB,SAAS,SAAS,CAAC,KAAY,EAAA;;gBAE9B,KAAK,EAAE,cAAc,EAAE,CAAC;;gBAExB,KAAK,EAAE,eAAe,EAAE,CAAC;;gBAEzB,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC,YAAA,OAAO,KAAK,CAAC;aACb;IACD,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;;IAE3B,YAAA,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B;iBAAM;;IAEN,YAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;IACtC,gBAAA,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC;iBAChC;IACD,YAAA,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;IAClC,gBAAA,OAAuB,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE;IAC/D,oBAAA,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,iBAAA,CAAC,CAAC;IACJ,aAAC,CAAC,CAAC;aACH;SACD;IACD;;;;;IAKS;QACT,QAAQ,GAAkB,QAAQ,CAAC;IAYnC,IAAA,uBAAuB,CACtB,YAAA,GAAwB,IAAI,EAC5B,MAAsC,EAAA;YAEtC,SAAS,UAAU,CAAC,KAAY,EAAA;IAC/B,YAAA,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE;IACvB,gBAAA,GAAG,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAA;IAC9B,oBAAA,IAAI,QAAQ,KAAK,WAAW,EAAE;IAC7B,wBAAA,OAAO,YAAY,CAAC;yBACpB;6BAAM;4BACN,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;yBACrC;qBACD;IACD,aAAA,CAAC,CAAC;aACH;IACD,QAAA,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,MAAM,GAAG,UAAU,QAAQ,EAAA;oBAC1B,OAAO,QAAQ,KAAK,OAAO,CAAC;IAC7B,aAAC,CAAC;aACF;IACD,QAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAChE,QAAA,WAAW,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,GAAG,IAAI,EAAA;IACzD,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,YAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,YAAc,IAAI,CAAC,CAAC,EAAE;IACtB,YAAA,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;IACjB,gBAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;IACnC,oBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,EAAA;4BACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,qBAAC,CAAC;qBACF;yBAAM,IACN,OAAO,QAAQ,KAAK,QAAQ;wBAC5B,aAAa,IAAK,QAAgB,EACjC;IACD,oBAAA,IAAI,cAAc,GAAI,QAAgB,CAAC,aAAa,CAAC,CAAC;wBAErD,IAAI,CAAC,CAAC,CAAS,CAAC,aAAa,CAAC,GAAG,UAAU,KAAY,EAAA;IACvD,wBAAA,IAAI,KAAK,IAAI,IAAI,EAAE;gCAClB,OAAO;6BACP;IACD,wBAAA,IAAI;;gCAEH,KAAK,YAAY,KAAK,CAAC;gCACvB,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;6BAC7C;4BAAC,OAAO,KAAK,EAAE;;IAEf,4BAAA,KAAK,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;6BAClC;IACF,qBAAC,CAAC;qBACF;iBACD;gBACD,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,SAAC,CAAC;SACF;IAMD,IAAA,aAAa,CAAC,GAAW,EAAA;YACxB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,QAAA,IAAI,GAAG,GAAG,CAAC,EAAE;gBACZ,UAAU,GAAG,IAAI,CAAC;IAClB,YAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACpB;IAED,QAAA,OAAO,GAAG,GAAG,CAAC,EAAE;gBACf,WAAW,GAAG,WAAW,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;gBAC5C,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;aAC3B;YAED,OAAO,UAAU,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;SAC/C;IAgBD,IAAA,iBAAiB,CAChB,OAAqC,EACrC,aAAwB,EACxB,UAAmB,EACnB,QAAiB,EAAA;IAEjB,QAAA,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACnC,QAAA,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,aAAa,EAAE;gBAClB,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;IAC9C,gBAAA,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAC;iBAC/C;gBACD,IAAI,UAAU,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE;IAC3C,gBAAA,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC1C,gBAAA,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;iBACtC;aACD;IAED,QAAA,IAAI,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;YAC1C,IAAI,SAAS,EAAE;gBACd,SAAS,CAAC,eAAe,EAAE,CAAC;IAC5B,YAAA,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC1B;SACD;QAgCD,OAAO,CACN,IAAS,EACT,IAKS,EAAA;IAET,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;IAC7B,YAAA,IAAI,IAAI,YAAY,OAAO,EAAE;IAC5B,gBAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;iBACtB;qBAAM;IACN,gBAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBAC5B;aACD;IAAM,aAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;IACpC,YAAA,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;aACvB;IACD,QAAA,IAAI,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAI,IAAe,CAAC;IACvE,QAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9B,QAAQ,GAAG,WAAW,CAAC;aACvB;iBAAM;gBACN,QAAQ,GAAG,YAAY,CAAC;aACxB;IACD,QAAA,MAAM,cAAc,CAAA;IACnB,YAAA,QAAQ,CAAC;IACT,YAAA,SAAS,CAAC;IACV,YAAA,aAAa,CAAC;IACd,YAAA,WAAA,CACC,OAAwD,EACxD,QAAa,EACb,YAAoB,EAAA;IAEpB,gBAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACxB,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC1B,gBAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;iBAClC;IACD,YAAA,MAAM,IAAI,GAAA;oBACT,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,gBAA8B,MAAM,IAAI,CAAC,0BAA0B,GAAG;oBACtE,IACC,IAAI,CAAC,YAAY,EAAE;yBAClB,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,EACzD;IACD,oBAAA,IAAI;IACH,wBAAA,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;yBAC9C;wBAAC,OAAO,KAAK,EAAE;IACf,wBAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAC7C,wBAAA,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;yBACvC;qBACD;yBAAM;IACN,oBAAA,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;qBACvC;IACD,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;iBACf;gBACD,OAAO,GAAA;;IAEN,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;;IAErB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;IAEtB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC1B;gBACD,MAAM,GAAA;oBACL,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC3C;gBACD,YAAY,GAAA;IACX,gBAAA,OAAO,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC;iBACpC;gBACD,iBAAiB,GAAA;IAChB,gBAAA,OAAO,SAAS,EAAE,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC;iBAC3C;gBACD,qBAAqB,GAAA;IACpB,gBAAA,OAAO,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC;iBAC/C;IACD;;IAEG;gBACH,kBAAkB,GAAA;IACjB,gBAAA,IAAI;wBACH,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACrD,oBAAA,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;IACnC,oBAAA,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,oBAAA,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;IAClE,oBAAA,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjD,oBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;wBACvC,WAAW,CAAC,MAAM,EAAE,CAAC;IACrB,oBAAA,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,oBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACvC,oBAAA,OAAO,IAAI,CAAC;qBACZ;oBAAC,OAAO,KAAK,EAAE;IACf,oBAAA,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,oBAAA,OAAO,KAAK,CAAC;qBACb;iBACD;IACD;;;IAGG;gBACH,0BAA0B,GAAA;oBACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;wBACtC,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE;IACzD,wBAAA,SAAS,CAAC,WAAW;IACnB,6BAAA,KAAK,CAAC;;IAEN,4BAAA,IAAI,EAAE,iBAAiB;6BACvB,CAAC;IACD,6BAAA,IAAI,CAAC,CAAC,gBAAgB,KAAI;gCAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,yBAAC,CAAC;iCACD,KAAK;;4BAEL,CAAC,KAAK,KAAI;gCACT,OAAO,CAAC,KAAK,CAAC;oCACb,oBAAoB;oCACpB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK;IAC1C,6BAAA,CAAC,CAAC;gCACH,OAAO,CAAC,KAAK,CAAC,CAAC;IAChB,yBAAC,CACD,CAAC;yBACH;6BAAM;4BACN,OAAO,CAAC,KAAK,CAAC,CAAC;yBACf;IACF,iBAAC,CAAC,CAAC;iBACH;IACD;;IAEG;gBACH,mBAAmB,GAAA;oBAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;IACtC,oBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;;IAElB,wBAAA,SAAS,CAAC,SAAS;IACjB,6BAAA,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;iCACzB,IAAI,CAAC,MAAK;gCACV,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,yBAAC,CAAC;IACD,6BAAA,KAAK,CAAC,CAAC,KAAK,KAAI;gCAChB,MAAM,CAAC,KAAK,CAAC,CAAC;IACf,yBAAC,CAAC,CAAC;yBACJ;6BAAM;;4BAEN,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gCACzC,IAAI,EAAE,IAAI,CAAC,aAAa;IACxB,yBAAA,CAAC,CAAC;IACH,wBAAA,SAAS,CAAC,SAAS;IACjB,6BAAA,KAAK,CAAC;IACN,4BAAA,IAAI,aAAa,CAAC;IACjB,gCAAA,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ;iCAC9B,CAAC;6BACF,CAAC;iCACD,IAAI,CAAC,MAAK;gCACV,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,yBAAC,CAAC;IACD,6BAAA,KAAK,CAAC,CAAC,KAAK,KAAI;gCAChB,MAAM,CAAC,KAAK,CAAC,CAAC;IACf,yBAAC,CAAC,CAAC;yBACJ;IACF,iBAAC,CAAC,CAAC;iBACH;IACD,SAAA;IACD,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;gBAC9B,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnE,YAAA,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE;oBACxB,cAAc,CAAC,IAAI,EAAE,CAAC;iBACtB;qBAAM;IACN,gBAAA,MAAM,CAAC,gBAAgB,CACtB,OAAO,EACP,MAAK;wBACJ,cAAc,CAAC,IAAI,EAAE,CAAC;IACvB,iBAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAC;iBACF;IACF,SAAC,CAAC,CAAC;SACH;IAaD,IAAA,UAAU,CACT,QAA+B,EAC/B,SAAA,GAAoB,CAAC,EAAA;YAErB,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;IACnE,YAAA,MAAM,IAAI,SAAS,CAClB,qDAAqD,CACrD,CAAC;aACF;IACD,QAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;IAClC,YAAA,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;aACnE;IACD,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;gBAC9B,UAAU,CAAC,MAAK;oBACf,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAC/C,EAAE,SAAS,CAAC,CAAC;IACf,SAAC,CAAC,CAAC;SACH;QAQD,KAAK,CAAC,YAAoB,CAAC,EAAA;IAC1B,QAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;IAClC,YAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC1D;IACD,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;gBAC9B,UAAU,CAAC,MAAK;IACf,gBAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;iBAChB,EAAE,SAAS,CAAC,CAAC;IACf,SAAC,CAAC,CAAC;SACH;QAWD,UAAU,CACT,QAAiC,EACjC,OAAA,GAAkB,SAAS,CAAC,MAAM,CAAC,UAAU,EAAA;IAE7C,QAAA,SAAS,cAAc,CACtB,SAAiB,EACjB,OAAe,EACf,OAAe,EAAA;IAEf,YAAA,IAAI,GAAG,GAAG,YAAY,IAAI,MAAM,CAAC;gBACjC,IAAI,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACrD,YAAA,UAAU,CAAC,cAAc,CACxB,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,CAAC,EACD,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,CAAC,EACD,IAAI,CACJ,CAAC;IACF,YAAA,OAAO,UAAU,CAAC;aAClB;IACD,QAAA,IAAI,aAAa,GAChB,OAAO,QAAQ,KAAK,QAAQ;IAC3B,cAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;kBAChC,QAAQ,CAAC;IACb,QAAA,IACC,EAAE,aAAa,YAAY,IAAI,CAAC;IAChC,YAAA,EAAE,aAAa,YAAY,OAAO,CAAC,EAClC;IACD,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aACjE;IACD,QAAA,IAAI,IAAI,GAAG,aAAa,CAAC,qBAAqB,EAAE,EAC/C,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EACxB,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EACvB,EAAE,GAAG,EAAE,GAAG,OAAO,EACjB,EAAE,GAAG,EAAE,CAAC;IACT,QAAA,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,QAAA,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,QAAA,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAClE,QAAA,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SAChE;QASD,eAAe,CACd,UAAuB,SAAS,CAAC,QAAQ,CAAC,eAAe,EACzD,OAA2B,EAAA;IAE3B,QAAA,IAAI;IACH,YAAA,IAAI,OAAO,CAAC,iBAAiB,EAAE;IAC9B,gBAAA,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;iBACnC;IAAM,iBAAA,IAAK,OAAe,CAAC,uBAAuB,EAAE;oBACnD,OAAe,CAAC,uBAAuB,EAAE,CAAC;iBAC3C;IAAM,iBAAA,IAAK,OAAe,CAAC,oBAAoB,EAAE;oBAChD,OAAe,CAAC,oBAAoB,EAAE,CAAC;iBACxC;IAAM,iBAAA,IAAK,OAAe,CAAC,mBAAmB,EAAE;oBAC/C,OAAe,CAAC,mBAAmB,EAAE,CAAC;iBACvC;qBAAM;IACN,gBAAA,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;iBACpC;aACD;YAAC,OAAO,GAAG,EAAE;IACb,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;SACD;IAQD,IAAA,cAAc,CACb,OAAA,GAAuB,QAAQ,CAAC,eAAe,EAAA;IAE/C,QAAA,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE;IACtC,YAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;aAC3C;IAAM,aAAA,IAAK,SAAS,CAAC,QAAgB,CAAC,gBAAgB,EAAE;IACxD,YAAA,OAAQ,SAAS,CAAC,QAAgB,CAAC,gBAAgB,EAAE,CAAC;aACtD;IAAM,aAAA,IAAK,SAAS,CAAC,QAAgB,CAAC,mBAAmB,EAAE;IAC3D,YAAA,OAAQ,SAAS,CAAC,QAAgB,CAAC,mBAAmB,EAAE,CAAC;aACzD;IAAM,aAAA,IAAK,SAAS,CAAC,QAAgB,CAAC,sBAAsB,EAAE;IAC9D,YAAA,OAAQ,SAAS,CAAC,QAAgB,CAAC,sBAAsB,EAAE,CAAC;aAC5D;iBAAM;gBACN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;IACtC,gBAAA,MAAM,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IACvC,aAAC,CAAC,CAAC;aACH;SACD;IAqBD,IAAA,kBAAkB,CACjB,IAAO,EACP,oBAAkD,EAClD,aAAsB,IAAI,EAAA;YAE1B,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IACC,OAAO,oBAAoB,KAAK,UAAU;IAC1C,YAAA,OAAO,oBAAoB,KAAK,QAAQ,EACvC;IACD,YAAA,MAAM,IAAI,KAAK,CACd,yEAAyE,CACzE,CAAC;aACF;IACD,QAAA,IAAI,OAAO,UAAU,KAAK,SAAS,EAAE;IACpC,YAAA,MAAM,IAAI,KAAK,CACd,uDAAuD,CACvD,CAAC;aACF;YACD,IAAI,WAAW,GAAG,UAAU,GAAQ,EAAA;gBACnC,OAAO,OAAO,oBAAoB,KAAK,QAAQ;IAC9C,kBAAE,GAAG,CAAC,oBAAoB,CAAC;IAC3B,kBAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC9B,SAAC,CAAC;IACF;;;;;IAKG;IACH,QAAA,IAAI,QAAQ,GAAG,UAAU,SAAc,EAAE,UAAe,EAAA;gBACvD,IAAI,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC1C,IAAI,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,UAAU,EAAE;IACf,gBAAA,IAAI,UAAU,GAAG,WAAW,EAAE;wBAC7B,OAAO,CAAC,CAAC,CAAC;qBACV;IAAM,qBAAA,IAAI,UAAU,GAAG,WAAW,EAAE;IACpC,oBAAA,OAAO,CAAC,CAAC;qBACT;yBAAM;IACN,oBAAA,OAAO,CAAC,CAAC;qBACT;iBACD;qBAAM;IACN,gBAAA,IAAI,UAAU,GAAG,WAAW,EAAE;wBAC7B,OAAO,CAAC,CAAC,CAAC;qBACV;IAAM,qBAAA,IAAI,UAAU,GAAG,WAAW,EAAE;IACpC,oBAAA,OAAO,CAAC,CAAC;qBACT;yBAAM;IACN,oBAAA,OAAO,CAAC,CAAC;qBACT;iBACD;IACF,SAAC,CAAC;IACF;;;;IAIG;IACH,QAAA,IAAI,YAAY,GAAG,UAClB,QAAiC,EACjC,eAA8C,EAAA;IAE9C,YAAA,IAAI,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;IACrC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC5C,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAChD,oBAAA,IAAI,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC7B,IAAI,SAAS,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAChC,IAAI,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;wBAC1C,IAAI,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;wBACxC,IACC,CAAC,UAAU,IAAI,IAAI,IAAI,WAAW,GAAG,UAAU;6BAC9C,UAAU,IAAI,KAAK,IAAI,WAAW,GAAG,UAAU,CAAC,EAChD;;;IAGD,wBAAA,IAAI,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC;IACzC,wBAAA,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5B,wBAAA,IAAI,IAAI,IAAI,IAAI,EAAE;;IAEhB,4BAAA,IAAY,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;6BAChD;iCAAM;;IAEN,4BAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;6BACvB;4BACD,QAAQ,GAAG,eAAe,EAAE,CAAC;yBAC7B;qBACD;iBACD;IACF,SAAC,CAAC;YACF,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,QAAA,IAAI,IAAI,YAAY,QAAQ,EAAE;gBAC7B,WAAW,GAAG,IAAI,CAAC;gBACnB,IAAI,GAAI,IAAY,EAAE,CAAC;aACvB;IACD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;IACxB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpB;iBAAM,IAAI,IAAI,YAAY,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;IACnE,YAAA,YAAY,CAAC,IAAW,EAAE,WAAkB,CAAC,CAAC;gBAC9C,MAAM,GAAI,WAAmB,EAAE,CAAC;aAChC;iBAAM;IACN,YAAA,MAAM,IAAI,KAAK,CACd,+DAA+D,CAC/D,CAAC;aACF;IACD,QAAA,OAAO,MAAM,CAAC;SACd;IAUD,IAAA,eAAe,CACd,YAA6B,EAC7B,KAAA,GAA8C,IAAI,EAAA;IAElD,QAAA,IAAI,GAAG,CAAC;;IAER,QAAA,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,QAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;IACrC,YAAA,GAAG,GAAG,IAAI,MAAM,CACf,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,EACrD,KAAK,CACL,CAAC;aACF;IAAM,aAAA,IAAK,YAAoB,YAAY,MAAM,EAAE;gBACnD,GAAG,GAAG,YAAY,CAAC;aACnB;iBAAM;IACN,YAAA,MAAM,IAAI,KAAK,CACd,wDAAwD,CACxD,CAAC;aACF;IACD,QAAA,OAAO,GAAG,CAAC;SACX;IAUD,IAAA,sBAAsB,CACrB,YAAoB,EACpB,mBAAA,GAA+B,KAAK,EAAA;IAEpC,QAAA,IAAI,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7D,IAAI,mBAAmB,EAAE;IACxB,YAAA,eAAe,GAAG,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACxE;iBAAM;gBACN,eAAe,GAAG,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC1D;IACD,QAAA,OAAO,eAAe,CAAC;SACvB;IAcD,IAAA,UAAU,CACT,MAAc,EACd,YAAwC,EACxC,WAAmB,CAAC,EAAA;YAEpB,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE;;IAE7B,YAAA,OAAO,KAAK,CAAC;aACb;IACD,QAAA,IAAI,QAAQ,KAAK,CAAC,EAAE;gBACnB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aAC/C;YACD,IAAI,kBAAkB,GAAG,YAAY,CAAC;IACtC,QAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;gBACrC,kBAAkB,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAA,CAAE,CAAC,CAAC;aACpD;IAAM,aAAA,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACvC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,YAAA,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE;IACpC,gBAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;wBACzD,IAAI,GAAG,IAAI,CAAC;wBACZ,MAAM;qBACN;iBACD;IACD,YAAA,OAAO,IAAI,CAAC;aACZ;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAA4B,CAAC,CAAC,CAAC;SAC3D;IAUD,IAAA,sBAAsB,CACrB,YAAoB,EACpB,mBAAA,GAA+B,KAAK,EAAA;IAEpC,QAAA,IAAI,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7D,IAAI,mBAAmB,EAAE;IACxB,YAAA,eAAe,GAAG,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACxE;iBAAM;gBACN,eAAe,GAAG,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC1D;IACD,QAAA,OAAO,eAAe,CAAC;SACvB;QAaD,MAAM,CACL,IAAmB,EACnB,aAAsC,EAAA;YAEtC,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,MAAM,GAAc,EAAE,CAAC;IAC3B,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;IAC7B,YAAA,OAAO,IAAW,CAAC;aACnB;YACD,YAAY,CAAC,QAAQ,EAAE;IACrB,aAAA,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IACtB,aAAA,KAAK,CAAC,CAAC,KAAY,KAAI;gBACvB,YAAY,CAAC,QAAQ,EAAE;qBACrB,KAAK,CAAC,MAAK;IACX,gBAAA,IAAI;IACH,oBAAA,MAAM,GAAI,SAAS,CAAC,MAAc,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;qBAC1D;oBAAC,OAAO,MAAW,EAAE;IACrB,oBAAA,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;4BACxC,aAAa,CAAC,MAAM,CAAC,CAAC;yBACtB;qBACD;IACF,aAAC,CAAC;qBACD,GAAG,CAAC,MAAK;IACT,gBAAA,IACC,IAAI;wBACJ,eAAe,CAAC,IAAI,CACnB,IAAI;IACF,yBAAA,OAAO,CAAC,qCAAqC,EAAE,GAAG,CAAC;IACnD,yBAAA,OAAO,CACP,kEAAkE,EAClE,GAAG,CACH;IACA,yBAAA,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CACrC,EACA;wBACD,MAAM,GAAG,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;qBAC1C;yBAAM;IACN,oBAAA,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;IACxC,wBAAA,aAAa,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;yBACjD;qBACD;IACF,aAAC,CAAC,CAAC;IACL,SAAC,CAAC;iBACD,GAAG,CAAC,MAAK;IACT,YAAA,IAAI,GAAI,IAAe,CAAC,IAAI,EAAE,CAAC;IAC/B,YAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAC,CAAC,CAAC;IACJ,QAAA,OAAO,MAAa,CAAC;SACrB;IAMD,IAAA,iBAAiB,CAAC,GAAsB,EAAA;YACvC,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IACvB,YAAA,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;IACpB,gBAAA,IAAI,cAAc,KAAK,EAAE,EAAE;IAC1B,oBAAA,cAAc,IAAI,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;qBACvD;yBAAM;wBACN,cAAc,IAAI,GAAG,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;qBAC7D;IACF,aAAC,CAAC,CAAC;aACH;iBAAM;IACN,YAAA,cAAc,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aACrE;IACD,QAAA,OAAO,cAAc,CAAC;SACtB;IACD;;;;;;;;;IASG;QACH,QAAQ,GAAG,QAAQ,CAAC;IAwBpB,IAAA,WAAW,CACV,eAAA,GAAuB,EAAE,EACzB,gBAAyB,GAAA,EAAE,EAC3B,UAAA,GAA+C,CAAC,IAAI,EAAE,KAAK,KAAI;;YAE9D,OAAO,IAAI,KAAK,KAAK,CAAC;SACtB,EAAA;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CACxC,CAAC,IAAI,KACJ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,EAAA;IACjD,YAAA,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC/B,CAAC,CACH,CAAC;SACF;QAYD,kBAAkB,CACjB,IAA2B,EAC3B,UAAoB,EAAA;YAEpB,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,OAAO,UAAU,KAAK,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;IACvE,YAAA,MAAM,IAAI,KAAK,CACd,uEAAuE,CACvE,CAAC;aACF;IACD,QAAA,OAAO,OAAO,CAAC,GAAG,CACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,KAAK,KAAI;IAC1C,YAAA,MAAM,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACzD,CAAC,CACF,CAAC;SACF;IA2CD,IAAA,MAAM,QAAQ,CACb,GAAG,aAAsC,EAAA;;IAGzC,QAAA,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;IACvC,YAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;IACrC,gBAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;iBACnD;aACD;YACD,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;;gBAE9B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB;;;IAGG;IACH,YAAA,IAAI,UAAU,GAAG,CAAC,QAA2B,KAAI;oBAChD,IAAI,MAAM,GAAG,IAAI,CAAC;oBAClB,IAAI,eAAe,GAAkB,EAAE,CAAC;IACxC,gBAAA,KAAK,IAAI,QAAQ,IAAI,aAAa,EAAE;wBACnC,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAuB,CAAC;wBACrE,IAAI,CAAC,OAAO,EAAE;;4BAEb,MAAM,GAAG,KAAK,CAAC;4BACf,MAAM;yBACN;IACD,oBAAA,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC9B;oBACD,IAAI,MAAM,EAAE;wBACX,QAAQ,GAAG,IAAI,CAAC;wBAChB,QAAQ,EAAE,UAAU,EAAE,CAAC;;IAEvB,oBAAA,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;IACjC,wBAAA,OAAO,CAAC,eAAe,CAAC,CAAC,CAAQ,CAAC,CAAC;yBACnC;6BAAM;4BACN,OAAO,CAAC,eAAsB,CAAC,CAAC;yBAChC;qBACD;IACF,aAAC,CAAC;;IAGF,YAAA,UAAU,EAAE,CAAC;;IAGb,YAAA,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,EAAE;IACvD,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5D,gBAAA,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAI;wBACjC,IAAI,QAAQ,EAAE;4BACb,OAAO;yBACP;wBACD,UAAU,CAAC,QAAQ,CAAC,CAAC;qBACrB;IACD,aAAA,CAAC,CAAC;IACJ,SAAC,CAAC,CAAC;SACH;IAmBD,IAAA,oBAAoB,CACnB,iBAAA,GAAuC,EAAE,EACzC,UAAkB,CAAC,EAAA;YAEnB,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,aAAa,GAAa,EAAE,CAAC;;IAEjC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;IACrC,YAAA,KAAK,IAAI,YAAY,IAAI,iBAAiB,EAAE;IAC3C,gBAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;IACrC,oBAAA,MAAM,IAAI,KAAK,CACd,+DAA+D,CAC/D,CAAC;qBACF;iBACD;gBACD,aAAa,GAAG,iBAAiB,CAAC;aAClC;iBAAM;IACN,YAAA,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACtC;YAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;gBAEtC,IAAI,QAAQ,GAAG,KAAK,CAAC;;IAGrB,YAAA,IAAI,UAAU,GAAG,CAAC,QAA2B,KAAI;oBAChD,IAAI,MAAM,GAAG,IAAI,CAAC;oBAClB,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,gBAAA,KAAK,IAAI,QAAQ,IAAI,aAAa,EAAE;wBACnC,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBAC/C,IAAI,CAAC,OAAO,EAAE;;4BAEb,MAAM,GAAG,KAAK,CAAC;4BACf,MAAM;yBACN;IACD,oBAAA,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC9B;oBACD,IAAI,MAAM,EAAE;wBACX,QAAQ,GAAG,IAAI,CAAC;wBAChB,QAAQ,EAAE,UAAU,EAAE,CAAC;;IAEvB,oBAAA,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;IACjC,wBAAA,OAAO,CAAC,eAAe,CAAC,CAAC,CAAQ,CAAC,CAAC;yBACnC;6BAAM;4BACN,OAAO,CAAC,eAAsB,CAAC,CAAC;yBAChC;qBACD;IACF,aAAC,CAAC;;IAGF,YAAA,UAAU,EAAE,CAAC;;gBAGb,IAAI,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CACnD,QAAQ,CAAC,eAAe,EACxB;IACC,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5D,gBAAA,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAI;wBACjC,IAAI,QAAQ,EAAE;4BACb,OAAO;yBACP;wBACD,UAAU,CAAC,QAAQ,CAAC,CAAC;qBACrB;IACD,aAAA,CACD,CAAC;gBACF,UAAU,CAAC,MAAK;oBACf,gBAAgB,CAAC,UAAU,EAAE,CAAC;IAC9B,gBAAA,MAAM,EAAE,CAAC;iBACT,EAAE,OAAO,CAAC,CAAC;IACb,SAAC,CAAC,CAAC;SACH;QAWD,WAAW,CAAwB,GAAG,aAAoB,EAAA;YACzD,IAAI,YAAY,GAAG,IAAI,CAAC;;IAExB,QAAA,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;IACvC,YAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;IACrC,gBAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;iBACrD;aACD;IAED,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;;gBAE9B,IAAI,QAAQ,GAAG,KAAK,CAAC;;IAGrB,YAAA,IAAI,UAAU,GAAG,CAAC,QAA2B,KAAI;oBAChD,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,gBAAA,KAAK,IAAI,QAAQ,IAAI,aAAa,EAAE;IACnC,oBAAA,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBAC9C,IAAI,UAAU,EAAE;;4BAEf,MAAM;yBACN;qBACD;oBACD,IAAI,UAAU,EAAE;wBACf,QAAQ,GAAG,IAAI,CAAC;wBAChB,QAAQ,EAAE,UAAU,EAAE,CAAC;wBACvB,OAAO,CAAC,UAAU,CAAC,CAAC;qBACpB;IACF,aAAC,CAAC;;IAGF,YAAA,UAAU,EAAE,CAAC;;IAGb,YAAA,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,EAAE;IACvD,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5D,gBAAA,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAI;wBACjC,IAAI,QAAQ,EAAE;4BACb,OAAO;yBACP;wBACD,UAAU,CAAC,QAAQ,CAAC,CAAC;qBACrB;IACD,aAAA,CAAC,CAAC;IACJ,SAAC,CAAC,CAAC;SACH;QAyCD,YAAY,CACX,GAAG,aAAuB,EAAA;YAE1B,IAAI,YAAY,GAAG,IAAI,CAAC;;IAExB,QAAA,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;IACvC,YAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;IACrC,gBAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;iBACrD;aACD;IAED,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;;gBAE9B,IAAI,QAAQ,GAAG,KAAK,CAAC;;IAGrB,YAAA,IAAI,UAAU,GAAG,CAAC,QAA2B,KAAI;oBAChD,IAAI,MAAM,GAAG,IAAI,CAAC;oBAClB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,gBAAA,KAAK,IAAI,QAAQ,IAAI,aAAa,EAAE;wBACnC,IAAI,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnD,oBAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;;4BAE1B,MAAM,GAAG,KAAK,CAAC;4BACf,MAAM;yBACN;IACD,oBAAA,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAC3B;oBACD,IAAI,MAAM,EAAE;wBACX,QAAQ,GAAG,IAAI,CAAC;wBAChB,QAAQ,EAAE,UAAU,EAAE,CAAC;;IAEvB,oBAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;IAC7B,wBAAA,OAAO,CAAC,WAAW,CAAC,CAAC,CAAQ,CAAC,CAAC;yBAC/B;6BAAM;4BACN,OAAO,CAAC,WAAkB,CAAC,CAAC;yBAC5B;qBACD;IACF,aAAC,CAAC;;IAGF,YAAA,UAAU,EAAE,CAAC;;IAGb,YAAA,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,EAAE;IACvD,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5D,gBAAA,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAI;wBACjC,IAAI,QAAQ,EAAE;4BACb,OAAO;yBACP;wBACD,UAAU,CAAC,QAAQ,CAAC,CAAC;qBACrB;IACD,aAAA,CAAC,CAAC;IACJ,SAAC,CAAC,CAAC;SACH;QAkBD,eAAe,CACd,GAAG,aAAuB,EAAA;YAE1B,IAAI,YAAY,GAAG,IAAI,CAAC;;IAExB,QAAA,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;IACvC,YAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;IACrC,gBAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;iBACrD;aACD;IAED,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;;gBAE9B,IAAI,QAAQ,GAAG,KAAK,CAAC;;IAGrB,YAAA,IAAI,UAAU,GAAG,CAAC,QAA2B,KAAI;oBAChD,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,gBAAA,KAAK,IAAI,QAAQ,IAAI,aAAa,EAAE;IACnC,oBAAA,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAQ,CAAC;IACzD,oBAAA,IAAI,WAAW,CAAC,MAAM,EAAE;;4BAEvB,MAAM;yBACN;qBACD;IACD,gBAAA,IAAI,WAAW,CAAC,MAAM,EAAE;wBACvB,QAAQ,GAAG,IAAI,CAAC;wBAChB,QAAQ,EAAE,UAAU,EAAE,CAAC;wBACvB,OAAO,CAAC,WAAW,CAAC,CAAC;qBACrB;IACF,aAAC,CAAC;;IAGF,YAAA,UAAU,EAAE,CAAC;;IAGb,YAAA,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,EAAE;IACvD,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5D,gBAAA,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAI;wBACjC,IAAI,QAAQ,EAAE;4BACb,OAAO;yBACP;wBACD,UAAU,CAAC,QAAQ,CAAC,CAAC;qBACrB;IACD,aAAA,CAAC,CAAC;IACJ,SAAC,CAAC,CAAC;SACH;QAiBD,YAAY,CACX,QAAuC,EACvC,iBAAyB,EAAA;IAEzB,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;gBAC9B,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,YAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;oBACnC,GAAG,GAAG,QAAQ,EAAE,CAAC;iBACjB;gBACD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE;IACxC,gBAAA,OAAO,CAAE,GAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBACzC;qBAAM;IACN,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE;wBAC7C,GAAG,EAAE,UAAU,KAAK,EAAA;IACnB,wBAAA,IAAI;gCACH,OAAO,CAAC,KAAK,CAAC,CAAC;6BACf;4BAAC,OAAO,KAAK,EAAE;IACf,4BAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;6BAChD;yBACD;IACD,iBAAA,CAAC,CAAC;iBACH;IACF,SAAC,CAAC,CAAC;SACH;QAiBD,sBAAsB,CACrB,QAAuC,EACvC,iBAAmD,EACnD,gBAAwB,GAAG,EAC3B,OAAkB,GAAA,CAAC,CAAC,EAAA;IAEpB,QAAA,IAAI,QAAQ,IAAI,IAAI,EAAE;IACrB,YAAA,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC;aACxC;YACD,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;IACtC,YAAA,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAK;oBAC/B,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,gBAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;wBACnC,GAAG,GAAG,QAAQ,EAAE,CAAC;qBACjB;oBACD,IACC,CAAC,OAAO,iBAAiB,KAAK,UAAU,IAAI,iBAAiB,CAAC,GAAG,CAAC;wBAClE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAA2B,CAAC,EAC5C;wBACD,SAAS,GAAG,IAAI,CAAC;wBACjB,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,oBAAA,OAAO,CAAE,GAAW,CAAC,iBAA2B,CAAC,CAAC,CAAC;qBACnD;iBACD,EAAE,aAAa,CAAC,CAAC;IAClB,YAAA,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE;oBACnB,UAAU,CAAC,MAAK;wBACf,IAAI,CAAC,SAAS,EAAE;4BACf,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,wBAAA,MAAM,EAAE,CAAC;yBACT;qBACD,EAAE,OAAO,CAAC,CAAC;iBACZ;IACF,SAAC,CAAC,CAAC;SACH;IA4BD,IAAA,MAAM,iBAAiB,CACtB,OAA0C,EAC1C,YAAkD,EAClD,KAAK,GAAG,GAAG,EACX,OAAO,GAAG,CAAC,CAAC,EACZ,OAAO,GAAG,SAAS,EAAA;IAEnB,QAAA,IAAI,OAAO,IAAI,IAAI,EAAE;IACpB,YAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC1D;YACD,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,QAAA,IAAI;IACH,YAAA,MAAM,YAAY,CAAC,sBAAsB,CACxC,OAAO,EACP,UAAU,aAAa,EAAA;IACtB,gBAAA,IAAI,aAAa,IAAI,IAAI,EAAE;IAC1B,oBAAA,OAAO,KAAK,CAAC;qBACb;IACD,gBAAA,IAAI,EAAE,OAAO,IAAI,aAAa,CAAC,EAAE;IAChC,oBAAA,OAAO,KAAK,CAAC;qBACb;IACD,gBAAA,IAAI,YAAY,IAAI,IAAI,EAAE;IACzB,oBAAA,OAAO,IAAI,CAAC;qBACZ;IACD,gBAAA,IAAI,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,gBAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;IACrC,oBAAA,IAAI,YAAY,IAAI,SAAS,EAAE;4BAC9B,IAAI,GAAG,IAAI,CAAC;IACZ,wBAAA,OAAO,IAAI,CAAC;yBACZ;qBACD;yBAAM;;IAEN,oBAAA,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE;4BAC5B,IAAI,GAAG,IAAI,CAAC;IACZ,wBAAA,OAAO,IAAI,CAAC;yBACZ;qBACD;IACD,gBAAA,OAAO,KAAK,CAAC;IACd,aAAC,EACD,KAAK,EACL,OAAO,CACP,CAAC;aACF;YAAC,OAAO,KAAK,EAAE;IACf,YAAA,OAAO,IAAI,CAAC;aACZ;IACD,QAAA,OAAO,IAAI,CAAC;SACZ;IAqBD,IAAA,WAAW,CACV,MAAiB,EACjB,YAAoB,EACpB,WAAiC,EACjC,WAAiC,EAAA;YAEjC,IACC,OAAO,WAAW,KAAK,UAAU;IACjC,YAAA,OAAO,WAAW,KAAK,UAAU,EAChC;gBACD,OAAO;aACP;IAED,QAAA,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;IACtC,YAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;oBAC3C,GAAG,GAAA;IACF,oBAAA,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;IACtC,wBAAA,OAAO,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;yBACzC;6BAAM;IACN,wBAAA,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;yBAC5B;qBACD;IACD,aAAA,CAAC,CAAC;aACH;IAAM,aAAA,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;IAC7C,YAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;IAC3C,gBAAA,GAAG,CAAC,KAAK,EAAA;IACR,oBAAA,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;4BACtC,WAAW,CAAC,KAAK,CAAC,CAAC;yBACnB;qBACD;IACD,aAAA,CAAC,CAAC;aACH;iBAAM;IACN,YAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;oBAC3C,GAAG,GAAA;IACF,oBAAA,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;IACtC,wBAAA,OAAQ,WAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;yBAClD;6BAAM;IACN,wBAAA,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;yBAC5B;qBACD;IACD,gBAAA,GAAG,CAAC,KAAK,EAAA;IACR,oBAAA,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;4BACrC,WAAmB,CAAC,KAAK,CAAC,CAAC;yBAC5B;qBACD;IACD,aAAA,CAAC,CAAC;aACH;SACD;IACD,EAAA;AAED,QAAI,KAAK,GAAG,IAAIA,OAAK;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|