@htmlbricks/hb-gauge 0.3.5
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/LICENSE.md +68 -0
- package/package.json +73 -0
- package/release/release.js +2 -0
- package/release/release.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release.js","sources":["../node_modules/svelte/internal/index.mjs","../node_modules/raphael/raphael.min.js","../app/functions/justgage.js","../app/html/webcomponent.svelte"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element.sheet;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration();\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, bubbles = false) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor() {\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes) {\n super();\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\n// we need to store the information for multiple documents because a Svelte application could also contain iframes\n// https://github.com/sveltejs/svelte/issues/3624\nconst managed_styles = new Map();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_style_information(doc, node) {\n const info = { stylesheet: append_empty_stylesheet(node), rules: {} };\n managed_styles.set(doc, info);\n return info;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node);\n if (!rules[name]) {\n rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n managed_styles.forEach(info => {\n const { stylesheet } = info;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n info.rules = {};\n });\n managed_styles.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, attrs_to_add) {\n const attributes = Object.assign({}, ...args);\n if (attrs_to_add) {\n const classes_to_add = attrs_to_add.classes;\n const styles_to_add = attrs_to_add.styles;\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n if (styles_to_add) {\n if (attributes.style == null) {\n attributes.style = style_object_to_string(styles_to_add);\n }\n else {\n attributes.style = style_object_to_string(merge_ssr_styles(attributes.style, styles_to_add));\n }\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nfunction merge_ssr_styles(style_attribute, style_directive) {\n const style_object = {};\n for (const individual_style of style_attribute.split(';')) {\n const colon_index = individual_style.indexOf(':');\n const name = individual_style.slice(0, colon_index).trim();\n const value = individual_style.slice(colon_index + 1).trim();\n if (!name)\n continue;\n style_object[name] = value;\n }\n for (const name in style_directive) {\n const value = style_directive[name];\n if (value) {\n style_object[name] = value;\n }\n else {\n delete style_object[name];\n }\n }\n return style_object;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction escape_attribute_value(value) {\n return typeof value === 'string' ? escape(value) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(context || (parent_component ? parent_component.$$.context : [])),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true && boolean_attributes.has(name) ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\nfunction style_object_to_string(style_object) {\n return Object.keys(style_object)\n .filter(key => style_object[key])\n .map(key => `${key}: ${style_object[key]};`)\n .join(' ');\n}\nfunction add_styles(style_object) {\n const styles = style_object_to_string(style_object);\n return styles ? ` style=\"${styles}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.46.2' }, detail), true));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_styles, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, merge_ssr_styles, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Raphael=e():t.Raphael=e()}(window,function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)r.d(i,n,function(e){return t[e]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=1)}([function(t,e,r){var i,n;i=[r(2)],void 0===(n=function(t){function e(i){if(e.is(i,\"function\"))return r?i():t.on(\"raphael.DOMload\",i);if(e.is(i,A))return e._engine.create[c](e,i.splice(0,3+e.is(i[0],T))).add(i);var n=Array.prototype.slice.call(arguments,0);if(e.is(n[n.length-1],\"function\")){var a=n.pop();return r?a.call(e._engine.create[c](e,n)):t.on(\"raphael.DOMload\",function(){a.call(e._engine.create[c](e,n))})}return e._engine.create[c](e,arguments)}e.version=\"2.3.0\",e.eve=t;var r,i,n=/[, ]+/,a={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},s=/\\{(\\d+)\\}/g,o=\"hasOwnProperty\",l={doc:document,win:window},h={was:Object.prototype[o].call(l.win,\"Raphael\"),is:l.win.Raphael},u=function(){this.ca=this.customAttributes={}},c=\"apply\",f=\"concat\",p=\"ontouchstart\"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch,d=\"\",g=\" \",x=String,v=\"split\",y=\"click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel\"[v](g),m={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},b=x.prototype.toLowerCase,_=Math,w=_.max,k=_.min,B=_.abs,C=_.pow,S=_.PI,T=\"number\",A=\"array\",M=Object.prototype.toString,E=(e._ISURL=/^url\\(['\"]?(.+?)['\"]?\\)$/i,/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\))\\s*$/i),N={NaN:1,Infinity:1,\"-Infinity\":1},L=/^(?:cubic-)?bezier\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,P=_.round,z=parseFloat,F=parseInt,R=x.prototype.toUpperCase,j=e._availableAttrs={\"arrow-end\":\"none\",\"arrow-start\":\"none\",blur:0,\"clip-rect\":\"0 0 1e9 1e9\",cursor:\"default\",cx:0,cy:0,fill:\"#fff\",\"fill-opacity\":1,font:'10px \"Arial\"',\"font-family\":'\"Arial\"',\"font-size\":\"10\",\"font-style\":\"normal\",\"font-weight\":400,gradient:0,height:0,href:\"http://raphaeljs.com/\",\"letter-spacing\":0,opacity:1,path:\"M0,0\",r:0,rx:0,ry:0,src:\"\",stroke:\"#000\",\"stroke-dasharray\":\"\",\"stroke-linecap\":\"butt\",\"stroke-linejoin\":\"butt\",\"stroke-miterlimit\":0,\"stroke-opacity\":1,\"stroke-width\":1,target:\"_blank\",\"text-anchor\":\"middle\",title:\"Raphael\",transform:\"\",width:0,x:0,y:0,class:\"\"},I=e._availableAnimAttrs={blur:T,\"clip-rect\":\"csv\",cx:T,cy:T,fill:\"colour\",\"fill-opacity\":T,\"font-size\":T,height:T,opacity:T,path:\"path\",r:T,rx:T,ry:T,stroke:\"colour\",\"stroke-opacity\":T,\"stroke-width\":T,transform:\"transform\",width:T,x:T,y:T},D=/[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*/,q={hs:1,rg:1},O=/,?([achlmqrstvxz]),?/gi,V=/([achlmrqstvz])[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)/gi,W=/([rstm])[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)/gi,Y=/(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*/gi,G=(e._radial_gradient=/^r(?:\\(([^,]+?)[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*([^\\)]+?)\\))?/,{}),H=function(t,e){return z(t)-z(e)},X=function(t){return t},U=e._rectPath=function(t,e,r,i,n){return n?[[\"M\",t+n,e],[\"l\",r-2*n,0],[\"a\",n,n,0,0,1,n,n],[\"l\",0,i-2*n],[\"a\",n,n,0,0,1,-n,n],[\"l\",2*n-r,0],[\"a\",n,n,0,0,1,-n,-n],[\"l\",0,2*n-i],[\"a\",n,n,0,0,1,n,-n],[\"z\"]]:[[\"M\",t,e],[\"l\",r,0],[\"l\",0,i],[\"l\",-r,0],[\"z\"]]},$=function(t,e,r,i){return null==i&&(i=r),[[\"M\",t,e],[\"m\",0,-i],[\"a\",r,i,0,1,1,0,2*i],[\"a\",r,i,0,1,1,0,-2*i],[\"z\"]]},Z=e._getPath={path:function(t){return t.attr(\"path\")},circle:function(t){var e=t.attrs;return $(e.cx,e.cy,e.r)},ellipse:function(t){var e=t.attrs;return $(e.cx,e.cy,e.rx,e.ry)},rect:function(t){var e=t.attrs;return U(e.x,e.y,e.width,e.height,e.r)},image:function(t){var e=t.attrs;return U(e.x,e.y,e.width,e.height)},text:function(t){var e=t._getBBox();return U(e.x,e.y,e.width,e.height)},set:function(t){var e=t._getBBox();return U(e.x,e.y,e.width,e.height)}},Q=e.mapPath=function(t,e){if(!e)return t;var r,i,n,a,s,o,l;for(n=0,s=(t=Tt(t)).length;n<s;n++)for(a=1,o=(l=t[n]).length;a<o;a+=2)r=e.x(l[a],l[a+1]),i=e.y(l[a],l[a+1]),l[a]=r,l[a+1]=i;return t};if(e._g=l,e.type=l.win.SVGAngle||l.doc.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#BasicStructure\",\"1.1\")?\"SVG\":\"VML\",\"VML\"==e.type){var J,K=l.doc.createElement(\"div\");if(K.innerHTML='<v:shape adj=\"1\"/>',(J=K.firstChild).style.behavior=\"url(#default#VML)\",!J||\"object\"!=typeof J.adj)return e.type=d;K=null}function tt(t){if(\"function\"==typeof t||Object(t)!==t)return t;var e=new t.constructor;for(var r in t)t[o](r)&&(e[r]=tt(t[r]));return e}e.svg=!(e.vml=\"VML\"==e.type),e._Paper=u,e.fn=i=u.prototype=e.prototype,e._id=0,e.is=function(t,e){return\"finite\"==(e=b.call(e))?!N[o](+t):\"array\"==e?t instanceof Array:\"null\"==e&&null===t||e==typeof t&&null!==t||\"object\"==e&&t===Object(t)||\"array\"==e&&Array.isArray&&Array.isArray(t)||M.call(t).slice(8,-1).toLowerCase()==e},e.angle=function(t,r,i,n,a,s){if(null==a){var o=t-i,l=r-n;return o||l?(180+180*_.atan2(-l,-o)/S+360)%360:0}return e.angle(t,r,a,s)-e.angle(i,n,a,s)},e.rad=function(t){return t%360*S/180},e.deg=function(t){return Math.round(180*t/S%360*1e3)/1e3},e.snapTo=function(t,r,i){if(i=e.is(i,\"finite\")?i:10,e.is(t,A)){for(var n=t.length;n--;)if(B(t[n]-r)<=i)return t[n]}else{var a=r%(t=+t);if(a<i)return r-a;if(a>t-i)return r-a+t}return r};var et,rt;e.createUUID=(et=/[xy]/g,rt=function(t){var e=16*_.random()|0;return(\"x\"==t?e:3&e|8).toString(16)},function(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(et,rt).toUpperCase()});e.setWindow=function(r){t(\"raphael.setWindow\",e,l.win,r),l.win=r,l.doc=l.win.document,e._engine.initWin&&e._engine.initWin(l.win)};var it=function(t){if(e.vml){var r,i=/^\\s+|\\s+$/g;try{var n=new ActiveXObject(\"htmlfile\");n.write(\"<body>\"),n.close(),r=n.body}catch(t){r=createPopup().document.body}var a=r.createTextRange();it=ht(function(t){try{r.style.color=x(t).replace(i,d);var e=a.queryCommandValue(\"ForeColor\");return\"#\"+(\"000000\"+(e=(255&e)<<16|65280&e|(16711680&e)>>>16).toString(16)).slice(-6)}catch(t){return\"none\"}})}else{var s=l.doc.createElement(\"i\");s.title=\"Raphaël Colour Picker\",s.style.display=\"none\",l.doc.body.appendChild(s),it=ht(function(t){return s.style.color=t,l.doc.defaultView.getComputedStyle(s,d).getPropertyValue(\"color\")})}return it(t)},nt=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},at=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},st=function(){return this.hex},ot=function(t,r,i){if(null==r&&e.is(t,\"object\")&&\"r\"in t&&\"g\"in t&&\"b\"in t&&(i=t.b,r=t.g,t=t.r),null==r&&e.is(t,\"string\")){var n=e.getRGB(t);t=n.r,r=n.g,i=n.b}return(t>1||r>1||i>1)&&(t/=255,r/=255,i/=255),[t,r,i]},lt=function(t,r,i,n){var a={r:t*=255,g:r*=255,b:i*=255,hex:e.rgb(t,r,i),toString:st};return e.is(n,\"finite\")&&(a.opacity=n),a};function ht(t,e,r){return function i(){var n=Array.prototype.slice.call(arguments,0),a=n.join(\"␀\"),s=i.cache=i.cache||{},l=i.count=i.count||[];return s[o](a)?(function(t,e){for(var r=0,i=t.length;r<i;r++)if(t[r]===e)return t.push(t.splice(r,1)[0])}(l,a),r?r(s[a]):s[a]):(l.length>=1e3&&delete s[l.shift()],l.push(a),s[a]=t[c](e,n),r?r(s[a]):s[a])}}e.color=function(t){var r;return e.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"b\"in t?(r=e.hsb2rgb(t),t.r=r.r,t.g=r.g,t.b=r.b,t.hex=r.hex):e.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"l\"in t?(r=e.hsl2rgb(t),t.r=r.r,t.g=r.g,t.b=r.b,t.hex=r.hex):(e.is(t,\"string\")&&(t=e.getRGB(t)),e.is(t,\"object\")&&\"r\"in t&&\"g\"in t&&\"b\"in t?(r=e.rgb2hsl(t),t.h=r.h,t.s=r.s,t.l=r.l,r=e.rgb2hsb(t),t.v=r.b):(t={hex:\"none\"}).r=t.g=t.b=t.h=t.s=t.v=t.l=-1),t.toString=st,t},e.hsb2rgb=function(t,e,r,i){var n,a,s,o,l;return this.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"b\"in t&&(r=t.b,e=t.s,i=t.o,t=t.h),o=(l=r*e)*(1-B((t=(t*=360)%360/60)%2-1)),n=a=s=r-l,lt(n+=[l,o,0,0,o,l][t=~~t],a+=[o,l,l,o,0,0][t],s+=[0,0,o,l,l,o][t],i)},e.hsl2rgb=function(t,e,r,i){var n,a,s,o,l;return this.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"l\"in t&&(r=t.l,e=t.s,t=t.h),(t>1||e>1||r>1)&&(t/=360,e/=100,r/=100),o=(l=2*e*(r<.5?r:1-r))*(1-B((t=(t*=360)%360/60)%2-1)),n=a=s=r-l/2,lt(n+=[l,o,0,0,o,l][t=~~t],a+=[o,l,l,o,0,0][t],s+=[0,0,o,l,l,o][t],i)},e.rgb2hsb=function(t,e,r){var i,n;return t=(r=ot(t,e,r))[0],e=r[1],r=r[2],{h:((0==(n=(i=w(t,e,r))-k(t,e,r))?null:i==t?(e-r)/n:i==e?(r-t)/n+2:(t-e)/n+4)+360)%6*60/360,s:0==n?0:n/i,b:i,toString:nt}},e.rgb2hsl=function(t,e,r){var i,n,a,s;return t=(r=ot(t,e,r))[0],e=r[1],r=r[2],i=((n=w(t,e,r))+(a=k(t,e,r)))/2,{h:((0==(s=n-a)?null:n==t?(e-r)/s:n==e?(r-t)/s+2:(t-e)/s+4)+360)%6*60/360,s:0==s?0:i<.5?s/(2*i):s/(2-2*i),l:i,toString:at}},e._path2string=function(){return this.join(\",\").replace(O,\"$1\")};e._preload=function(t,e){var r=l.doc.createElement(\"img\");r.style.cssText=\"position:absolute;left:-9999em;top:-9999em\",r.onload=function(){e.call(this),this.onload=null,l.doc.body.removeChild(this)},r.onerror=function(){l.doc.body.removeChild(this)},l.doc.body.appendChild(r),r.src=t};function ut(){return this.hex}function ct(t,e){for(var r=[],i=0,n=t.length;n-2*!e>i;i+=2){var a=[{x:+t[i-2],y:+t[i-1]},{x:+t[i],y:+t[i+1]},{x:+t[i+2],y:+t[i+3]},{x:+t[i+4],y:+t[i+5]}];e?i?n-4==i?a[3]={x:+t[0],y:+t[1]}:n-2==i&&(a[2]={x:+t[0],y:+t[1]},a[3]={x:+t[2],y:+t[3]}):a[0]={x:+t[n-2],y:+t[n-1]}:n-4==i?a[3]=a[2]:i||(a[0]={x:+t[i],y:+t[i+1]}),r.push([\"C\",(-a[0].x+6*a[1].x+a[2].x)/6,(-a[0].y+6*a[1].y+a[2].y)/6,(a[1].x+6*a[2].x-a[3].x)/6,(a[1].y+6*a[2].y-a[3].y)/6,a[2].x,a[2].y])}return r}e.getRGB=ht(function(t){if(!t||(t=x(t)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ut};if(\"none\"==t)return{r:-1,g:-1,b:-1,hex:\"none\",toString:ut};!q[o](t.toLowerCase().substring(0,2))&&\"#\"!=t.charAt()&&(t=it(t));var r,i,n,a,s,l,h=t.match(E);return h?(h[2]&&(n=F(h[2].substring(5),16),i=F(h[2].substring(3,5),16),r=F(h[2].substring(1,3),16)),h[3]&&(n=F((s=h[3].charAt(3))+s,16),i=F((s=h[3].charAt(2))+s,16),r=F((s=h[3].charAt(1))+s,16)),h[4]&&(l=h[4][v](D),r=z(l[0]),\"%\"==l[0].slice(-1)&&(r*=2.55),i=z(l[1]),\"%\"==l[1].slice(-1)&&(i*=2.55),n=z(l[2]),\"%\"==l[2].slice(-1)&&(n*=2.55),\"rgba\"==h[1].toLowerCase().slice(0,4)&&(a=z(l[3])),l[3]&&\"%\"==l[3].slice(-1)&&(a/=100)),h[5]?(l=h[5][v](D),r=z(l[0]),\"%\"==l[0].slice(-1)&&(r*=2.55),i=z(l[1]),\"%\"==l[1].slice(-1)&&(i*=2.55),n=z(l[2]),\"%\"==l[2].slice(-1)&&(n*=2.55),(\"deg\"==l[0].slice(-3)||\"°\"==l[0].slice(-1))&&(r/=360),\"hsba\"==h[1].toLowerCase().slice(0,4)&&(a=z(l[3])),l[3]&&\"%\"==l[3].slice(-1)&&(a/=100),e.hsb2rgb(r,i,n,a)):h[6]?(l=h[6][v](D),r=z(l[0]),\"%\"==l[0].slice(-1)&&(r*=2.55),i=z(l[1]),\"%\"==l[1].slice(-1)&&(i*=2.55),n=z(l[2]),\"%\"==l[2].slice(-1)&&(n*=2.55),(\"deg\"==l[0].slice(-3)||\"°\"==l[0].slice(-1))&&(r/=360),\"hsla\"==h[1].toLowerCase().slice(0,4)&&(a=z(l[3])),l[3]&&\"%\"==l[3].slice(-1)&&(a/=100),e.hsl2rgb(r,i,n,a)):((h={r:r,g:i,b:n,toString:ut}).hex=\"#\"+(16777216|n|i<<8|r<<16).toString(16).slice(1),e.is(a,\"finite\")&&(h.opacity=a),h)):{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ut}},e),e.hsb=ht(function(t,r,i){return e.hsb2rgb(t,r,i).hex}),e.hsl=ht(function(t,r,i){return e.hsl2rgb(t,r,i).hex}),e.rgb=ht(function(t,e,r){function i(t){return t+.5|0}return\"#\"+(16777216|i(r)|i(e)<<8|i(t)<<16).toString(16).slice(1)}),e.getColor=function(t){var e=this.getColor.start=this.getColor.start||{h:0,s:1,b:t||.75},r=this.hsb2rgb(e.h,e.s,e.b);return e.h+=.075,e.h>1&&(e.h=0,e.s-=.2,e.s<=0&&(this.getColor.start={h:0,s:1,b:e.b})),r.hex},e.getColor.reset=function(){delete this.start},e.parsePathString=function(t){if(!t)return null;var r=ft(t);if(r.arr)return mt(r.arr);var i={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},n=[];return e.is(t,A)&&e.is(t[0],A)&&(n=mt(t)),n.length||x(t).replace(V,function(t,e,r){var a=[],s=e.toLowerCase();if(r.replace(Y,function(t,e){e&&a.push(+e)}),\"m\"==s&&a.length>2&&(n.push([e][f](a.splice(0,2))),s=\"l\",e=\"m\"==e?\"l\":\"L\"),\"r\"==s)n.push([e][f](a));else for(;a.length>=i[s]&&(n.push([e][f](a.splice(0,i[s]))),i[s]););}),n.toString=e._path2string,r.arr=mt(n),n},e.parseTransformString=ht(function(t){if(!t)return null;var r=[];return e.is(t,A)&&e.is(t[0],A)&&(r=mt(t)),r.length||x(t).replace(W,function(t,e,i){var n=[];b.call(e);i.replace(Y,function(t,e){e&&n.push(+e)}),r.push([e][f](n))}),r.toString=e._path2string,r},this,function(t){if(!t)return t;for(var e=[],r=0;r<t.length;r++){for(var i=[],n=0;n<t[r].length;n++)i.push(t[r][n]);e.push(i)}return e});var ft=function(t){var e=ft.ps=ft.ps||{};return e[t]?e[t].sleep=100:e[t]={sleep:100},setTimeout(function(){for(var r in e)e[o](r)&&r!=t&&(e[r].sleep--,!e[r].sleep&&delete e[r])}),e[t]};function pt(t,e,r,i,n){return t*(t*(-3*e+9*r-9*i+3*n)+6*e-12*r+6*i)-3*e+3*r}function dt(t,e,r,i,n,a,s,o,l){null==l&&(l=1);for(var h=(l=l>1?1:l<0?0:l)/2,u=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],c=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],f=0,p=0;p<12;p++){var d=h*u[p]+h,g=pt(d,t,r,n,s),x=pt(d,e,i,a,o),v=g*g+x*x;f+=c[p]*_.sqrt(v)}return h*f}function gt(t,e,r,i,n,a,s,o){if(!(w(t,r)<k(n,s)||k(t,r)>w(n,s)||w(e,i)<k(a,o)||k(e,i)>w(a,o))){var l=(t-r)*(a-o)-(e-i)*(n-s);if(l){var h=((t*i-e*r)*(n-s)-(t-r)*(n*o-a*s))/l,u=((t*i-e*r)*(a-o)-(e-i)*(n*o-a*s))/l,c=+h.toFixed(2),f=+u.toFixed(2);if(!(c<+k(t,r).toFixed(2)||c>+w(t,r).toFixed(2)||c<+k(n,s).toFixed(2)||c>+w(n,s).toFixed(2)||f<+k(e,i).toFixed(2)||f>+w(e,i).toFixed(2)||f<+k(a,o).toFixed(2)||f>+w(a,o).toFixed(2)))return{x:h,y:u}}}}function xt(t,r,i){var n=e.bezierBBox(t),a=e.bezierBBox(r);if(!e.isBBoxIntersect(n,a))return i?0:[];for(var s=dt.apply(0,t),o=dt.apply(0,r),l=w(~~(s/5),1),h=w(~~(o/5),1),u=[],c=[],f={},p=i?0:[],d=0;d<l+1;d++){var g=e.findDotsAtSegment.apply(e,t.concat(d/l));u.push({x:g.x,y:g.y,t:d/l})}for(d=0;d<h+1;d++)g=e.findDotsAtSegment.apply(e,r.concat(d/h)),c.push({x:g.x,y:g.y,t:d/h});for(d=0;d<l;d++)for(var x=0;x<h;x++){var v=u[d],y=u[d+1],m=c[x],b=c[x+1],_=B(y.x-v.x)<.001?\"y\":\"x\",C=B(b.x-m.x)<.001?\"y\":\"x\",S=gt(v.x,v.y,y.x,y.y,m.x,m.y,b.x,b.y);if(S){if(f[S.x.toFixed(4)]==S.y.toFixed(4))continue;f[S.x.toFixed(4)]=S.y.toFixed(4);var T=v.t+B((S[_]-v[_])/(y[_]-v[_]))*(y.t-v.t),A=m.t+B((S[C]-m[C])/(b[C]-m[C]))*(b.t-m.t);T>=0&&T<=1.001&&A>=0&&A<=1.001&&(i?p++:p.push({x:S.x,y:S.y,t1:k(T,1),t2:k(A,1)}))}}return p}function vt(t,r,i){t=e._path2curve(t),r=e._path2curve(r);for(var n,a,s,o,l,h,u,c,f,p,d=i?0:[],g=0,x=t.length;g<x;g++){var v=t[g];if(\"M\"==v[0])n=l=v[1],a=h=v[2];else{\"C\"==v[0]?(f=[n,a].concat(v.slice(1)),n=f[6],a=f[7]):(f=[n,a,n,a,l,h,l,h],n=l,a=h);for(var y=0,m=r.length;y<m;y++){var b=r[y];if(\"M\"==b[0])s=u=b[1],o=c=b[2];else{\"C\"==b[0]?(p=[s,o].concat(b.slice(1)),s=p[6],o=p[7]):(p=[s,o,s,o,u,c,u,c],s=u,o=c);var _=xt(f,p,i);if(i)d+=_;else{for(var w=0,k=_.length;w<k;w++)_[w].segment1=g,_[w].segment2=y,_[w].bez1=f,_[w].bez2=p;d=d.concat(_)}}}}}return d}e.findDotsAtSegment=function(t,e,r,i,n,a,s,o,l){var h=1-l,u=C(h,3),c=C(h,2),f=l*l,p=f*l,d=u*t+3*c*l*r+3*h*l*l*n+p*s,g=u*e+3*c*l*i+3*h*l*l*a+p*o,x=t+2*l*(r-t)+f*(n-2*r+t),v=e+2*l*(i-e)+f*(a-2*i+e),y=r+2*l*(n-r)+f*(s-2*n+r),m=i+2*l*(a-i)+f*(o-2*a+i),b=h*t+l*r,w=h*e+l*i,k=h*n+l*s,B=h*a+l*o,T=90-180*_.atan2(x-y,v-m)/S;return(x>y||v<m)&&(T+=180),{x:d,y:g,m:{x:x,y:v},n:{x:y,y:m},start:{x:b,y:w},end:{x:k,y:B},alpha:T}},e.bezierBBox=function(t,r,i,n,a,s,o,l){e.is(t,\"array\")||(t=[t,r,i,n,a,s,o,l]);var h=St.apply(null,t);return{x:h.min.x,y:h.min.y,x2:h.max.x,y2:h.max.y,width:h.max.x-h.min.x,height:h.max.y-h.min.y}},e.isPointInsideBBox=function(t,e,r){return e>=t.x&&e<=t.x2&&r>=t.y&&r<=t.y2},e.isBBoxIntersect=function(t,r){var i=e.isPointInsideBBox;return i(r,t.x,t.y)||i(r,t.x2,t.y)||i(r,t.x,t.y2)||i(r,t.x2,t.y2)||i(t,r.x,r.y)||i(t,r.x2,r.y)||i(t,r.x,r.y2)||i(t,r.x2,r.y2)||(t.x<r.x2&&t.x>r.x||r.x<t.x2&&r.x>t.x)&&(t.y<r.y2&&t.y>r.y||r.y<t.y2&&r.y>t.y)},e.pathIntersection=function(t,e){return vt(t,e)},e.pathIntersectionNumber=function(t,e){return vt(t,e,1)},e.isPointInsidePath=function(t,r,i){var n=e.pathBBox(t);return e.isPointInsideBBox(n,r,i)&&vt(t,[[\"M\",r,i],[\"H\",n.x2+10]],1)%2==1},e._removedFactory=function(e){return function(){t(\"raphael.log\",null,\"Raphaël: you are calling to method “\"+e+\"” of removed object\",e)}};var yt=e.pathBBox=function(t){var e=ft(t);if(e.bbox)return tt(e.bbox);if(!t)return{x:0,y:0,width:0,height:0,x2:0,y2:0};for(var r,i=0,n=0,a=[],s=[],o=0,l=(t=Tt(t)).length;o<l;o++)if(\"M\"==(r=t[o])[0])i=r[1],n=r[2],a.push(i),s.push(n);else{var h=St(i,n,r[1],r[2],r[3],r[4],r[5],r[6]);a=a[f](h.min.x,h.max.x),s=s[f](h.min.y,h.max.y),i=r[5],n=r[6]}var u=k[c](0,a),p=k[c](0,s),d=w[c](0,a),g=w[c](0,s),x=d-u,v=g-p,y={x:u,y:p,x2:d,y2:g,width:x,height:v,cx:u+x/2,cy:p+v/2};return e.bbox=tt(y),y},mt=function(t){var r=tt(t);return r.toString=e._path2string,r},bt=e._pathToRelative=function(t){var r=ft(t);if(r.rel)return mt(r.rel);e.is(t,A)&&e.is(t&&t[0],A)||(t=e.parsePathString(t));var i=[],n=0,a=0,s=0,o=0,l=0;\"M\"==t[0][0]&&(s=n=t[0][1],o=a=t[0][2],l++,i.push([\"M\",n,a]));for(var h=l,u=t.length;h<u;h++){var c=i[h]=[],f=t[h];if(f[0]!=b.call(f[0]))switch(c[0]=b.call(f[0]),c[0]){case\"a\":c[1]=f[1],c[2]=f[2],c[3]=f[3],c[4]=f[4],c[5]=f[5],c[6]=+(f[6]-n).toFixed(3),c[7]=+(f[7]-a).toFixed(3);break;case\"v\":c[1]=+(f[1]-a).toFixed(3);break;case\"m\":s=f[1],o=f[2];default:for(var p=1,d=f.length;p<d;p++)c[p]=+(f[p]-(p%2?n:a)).toFixed(3)}else{c=i[h]=[],\"m\"==f[0]&&(s=f[1]+n,o=f[2]+a);for(var g=0,x=f.length;g<x;g++)i[h][g]=f[g]}var v=i[h].length;switch(i[h][0]){case\"z\":n=s,a=o;break;case\"h\":n+=+i[h][v-1];break;case\"v\":a+=+i[h][v-1];break;default:n+=+i[h][v-2],a+=+i[h][v-1]}}return i.toString=e._path2string,r.rel=mt(i),i},_t=e._pathToAbsolute=function(t){var r=ft(t);if(r.abs)return mt(r.abs);if(e.is(t,A)&&e.is(t&&t[0],A)||(t=e.parsePathString(t)),!t||!t.length)return[[\"M\",0,0]];var i=[],n=0,a=0,s=0,o=0,l=0;\"M\"==t[0][0]&&(s=n=+t[0][1],o=a=+t[0][2],l++,i[0]=[\"M\",n,a]);for(var h,u,c=3==t.length&&\"M\"==t[0][0]&&\"R\"==t[1][0].toUpperCase()&&\"Z\"==t[2][0].toUpperCase(),p=l,d=t.length;p<d;p++){if(i.push(h=[]),(u=t[p])[0]!=R.call(u[0]))switch(h[0]=R.call(u[0]),h[0]){case\"A\":h[1]=u[1],h[2]=u[2],h[3]=u[3],h[4]=u[4],h[5]=u[5],h[6]=+(u[6]+n),h[7]=+(u[7]+a);break;case\"V\":h[1]=+u[1]+a;break;case\"H\":h[1]=+u[1]+n;break;case\"R\":for(var g=[n,a][f](u.slice(1)),x=2,v=g.length;x<v;x++)g[x]=+g[x]+n,g[++x]=+g[x]+a;i.pop(),i=i[f](ct(g,c));break;case\"M\":s=+u[1]+n,o=+u[2]+a;default:for(x=1,v=u.length;x<v;x++)h[x]=+u[x]+(x%2?n:a)}else if(\"R\"==u[0])g=[n,a][f](u.slice(1)),i.pop(),i=i[f](ct(g,c)),h=[\"R\"][f](u.slice(-2));else for(var y=0,m=u.length;y<m;y++)h[y]=u[y];switch(h[0]){case\"Z\":n=s,a=o;break;case\"H\":n=h[1];break;case\"V\":a=h[1];break;case\"M\":s=h[h.length-2],o=h[h.length-1];default:n=h[h.length-2],a=h[h.length-1]}}return i.toString=e._path2string,r.abs=mt(i),i},wt=function(t,e,r,i){return[t,e,r,i,r,i]},kt=function(t,e,r,i,n,a){return[1/3*t+2/3*r,1/3*e+2/3*i,1/3*n+2/3*r,1/3*a+2/3*i,n,a]},Bt=function(t,e,r,i,n,a,s,o,l,h){var u,c=120*S/180,p=S/180*(+n||0),d=[],g=ht(function(t,e,r){return{x:t*_.cos(r)-e*_.sin(r),y:t*_.sin(r)+e*_.cos(r)}});if(h)A=h[0],M=h[1],C=h[2],T=h[3];else{t=(u=g(t,e,-p)).x,e=u.y,o=(u=g(o,l,-p)).x,l=u.y;_.cos(S/180*n),_.sin(S/180*n);var x=(t-o)/2,y=(e-l)/2,m=x*x/(r*r)+y*y/(i*i);m>1&&(r*=m=_.sqrt(m),i*=m);var b=r*r,w=i*i,k=(a==s?-1:1)*_.sqrt(B((b*w-b*y*y-w*x*x)/(b*y*y+w*x*x))),C=k*r*y/i+(t+o)/2,T=k*-i*x/r+(e+l)/2,A=_.asin(((e-T)/i).toFixed(9)),M=_.asin(((l-T)/i).toFixed(9));(A=t<C?S-A:A)<0&&(A=2*S+A),(M=o<C?S-M:M)<0&&(M=2*S+M),s&&A>M&&(A-=2*S),!s&&M>A&&(M-=2*S)}var E=M-A;if(B(E)>c){var N=M,L=o,P=l;M=A+c*(s&&M>A?1:-1),o=C+r*_.cos(M),l=T+i*_.sin(M),d=Bt(o,l,r,i,n,0,s,L,P,[M,N,C,T])}E=M-A;var z=_.cos(A),F=_.sin(A),R=_.cos(M),j=_.sin(M),I=_.tan(E/4),D=4/3*r*I,q=4/3*i*I,O=[t,e],V=[t+D*F,e-q*z],W=[o+D*j,l-q*R],Y=[o,l];if(V[0]=2*O[0]-V[0],V[1]=2*O[1]-V[1],h)return[V,W,Y][f](d);for(var G=[],H=0,X=(d=[V,W,Y][f](d).join()[v](\",\")).length;H<X;H++)G[H]=H%2?g(d[H-1],d[H],p).y:g(d[H],d[H+1],p).x;return G},Ct=function(t,e,r,i,n,a,s,o,l){var h=1-l;return{x:C(h,3)*t+3*C(h,2)*l*r+3*h*l*l*n+C(l,3)*s,y:C(h,3)*e+3*C(h,2)*l*i+3*h*l*l*a+C(l,3)*o}},St=ht(function(t,e,r,i,n,a,s,o){var l,h=n-2*r+t-(s-2*n+r),u=2*(r-t)-2*(n-r),f=t-r,p=(-u+_.sqrt(u*u-4*h*f))/2/h,d=(-u-_.sqrt(u*u-4*h*f))/2/h,g=[e,o],x=[t,s];return B(p)>\"1e12\"&&(p=.5),B(d)>\"1e12\"&&(d=.5),p>0&&p<1&&(l=Ct(t,e,r,i,n,a,s,o,p),x.push(l.x),g.push(l.y)),d>0&&d<1&&(l=Ct(t,e,r,i,n,a,s,o,d),x.push(l.x),g.push(l.y)),h=a-2*i+e-(o-2*a+i),f=e-i,p=(-(u=2*(i-e)-2*(a-i))+_.sqrt(u*u-4*h*f))/2/h,d=(-u-_.sqrt(u*u-4*h*f))/2/h,B(p)>\"1e12\"&&(p=.5),B(d)>\"1e12\"&&(d=.5),p>0&&p<1&&(l=Ct(t,e,r,i,n,a,s,o,p),x.push(l.x),g.push(l.y)),d>0&&d<1&&(l=Ct(t,e,r,i,n,a,s,o,d),x.push(l.x),g.push(l.y)),{min:{x:k[c](0,x),y:k[c](0,g)},max:{x:w[c](0,x),y:w[c](0,g)}}}),Tt=e._path2curve=ht(function(t,e){var r=!e&&ft(t);if(!e&&r.curve)return mt(r.curve);for(var i=_t(t),n=e&&_t(e),a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},o=function(t,e,r){var i,n;if(!t)return[\"C\",e.x,e.y,e.x,e.y,e.x,e.y];switch(!(t[0]in{T:1,Q:1})&&(e.qx=e.qy=null),t[0]){case\"M\":e.X=t[1],e.Y=t[2];break;case\"A\":t=[\"C\"][f](Bt[c](0,[e.x,e.y][f](t.slice(1))));break;case\"S\":\"C\"==r||\"S\"==r?(i=2*e.x-e.bx,n=2*e.y-e.by):(i=e.x,n=e.y),t=[\"C\",i,n][f](t.slice(1));break;case\"T\":\"Q\"==r||\"T\"==r?(e.qx=2*e.x-e.qx,e.qy=2*e.y-e.qy):(e.qx=e.x,e.qy=e.y),t=[\"C\"][f](kt(e.x,e.y,e.qx,e.qy,t[1],t[2]));break;case\"Q\":e.qx=t[1],e.qy=t[2],t=[\"C\"][f](kt(e.x,e.y,t[1],t[2],t[3],t[4]));break;case\"L\":t=[\"C\"][f](wt(e.x,e.y,t[1],t[2]));break;case\"H\":t=[\"C\"][f](wt(e.x,e.y,t[1],e.y));break;case\"V\":t=[\"C\"][f](wt(e.x,e.y,e.x,t[1]));break;case\"Z\":t=[\"C\"][f](wt(e.x,e.y,e.X,e.Y))}return t},l=function(t,e){if(t[e].length>7){t[e].shift();for(var r=t[e];r.length;)u[e]=\"A\",n&&(p[e]=\"A\"),t.splice(e++,0,[\"C\"][f](r.splice(0,6)));t.splice(e,1),v=w(i.length,n&&n.length||0)}},h=function(t,e,r,a,s){t&&e&&\"M\"==t[s][0]&&\"M\"!=e[s][0]&&(e.splice(s,0,[\"M\",a.x,a.y]),r.bx=0,r.by=0,r.x=t[s][1],r.y=t[s][2],v=w(i.length,n&&n.length||0))},u=[],p=[],d=\"\",g=\"\",x=0,v=w(i.length,n&&n.length||0);x<v;x++){i[x]&&(d=i[x][0]),\"C\"!=d&&(u[x]=d,x&&(g=u[x-1])),i[x]=o(i[x],a,g),\"A\"!=u[x]&&\"C\"==d&&(u[x]=\"C\"),l(i,x),n&&(n[x]&&(d=n[x][0]),\"C\"!=d&&(p[x]=d,x&&(g=p[x-1])),n[x]=o(n[x],s,g),\"A\"!=p[x]&&\"C\"==d&&(p[x]=\"C\"),l(n,x)),h(i,n,a,s,x),h(n,i,s,a,x);var y=i[x],m=n&&n[x],b=y.length,_=n&&m.length;a.x=y[b-2],a.y=y[b-1],a.bx=z(y[b-4])||a.x,a.by=z(y[b-3])||a.y,s.bx=n&&(z(m[_-4])||s.x),s.by=n&&(z(m[_-3])||s.y),s.x=n&&m[_-2],s.y=n&&m[_-1]}return n||(r.curve=mt(i)),n?[i,n]:i},null,mt),At=(e._parseDots=ht(function(t){for(var r=[],i=0,n=t.length;i<n;i++){var a={},s=t[i].match(/^([^:]*):?([\\d\\.]*)/);if(a.color=e.getRGB(s[1]),a.color.error)return null;a.opacity=a.color.opacity,a.color=a.color.hex,s[2]&&(a.offset=s[2]+\"%\"),r.push(a)}for(i=1,n=r.length-1;i<n;i++)if(!r[i].offset){for(var o=z(r[i-1].offset||0),l=0,h=i+1;h<n;h++)if(r[h].offset){l=r[h].offset;break}l||(l=100,h=n);for(var u=((l=z(l))-o)/(h-i+1);i<h;i++)o+=u,r[i].offset=o+\"%\"}return r}),e._tear=function(t,e){t==e.top&&(e.top=t.prev),t==e.bottom&&(e.bottom=t.next),t.next&&(t.next.prev=t.prev),t.prev&&(t.prev.next=t.next)}),Mt=(e._tofront=function(t,e){e.top!==t&&(At(t,e),t.next=null,t.prev=e.top,e.top.next=t,e.top=t)},e._toback=function(t,e){e.bottom!==t&&(At(t,e),t.next=e.bottom,t.prev=null,e.bottom.prev=t,e.bottom=t)},e._insertafter=function(t,e,r){At(t,r),e==r.top&&(r.top=t),e.next&&(e.next.prev=t),t.next=e.next,t.prev=e,e.next=t},e._insertbefore=function(t,e,r){At(t,r),e==r.bottom&&(r.bottom=t),e.prev&&(e.prev.next=t),t.prev=e.prev,e.prev=t,t.next=e},e.toMatrix=function(t,e){var r=yt(t),i={_:{transform:d},getBBox:function(){return r}};return Et(i,e),i.matrix}),Et=(e.transformPath=function(t,e){return Q(t,Mt(t,e))},e._extractTransform=function(t,r){if(null==r)return t._.transform;r=x(r).replace(/\\.{3}|\\u2026/g,t._.transform||d);var i,n,a=e.parseTransformString(r),s=0,o=1,l=1,h=t._,u=new Pt;if(h.transform=a||[],a)for(var c=0,f=a.length;c<f;c++){var p,g,v,y,m,b=a[c],_=b.length,w=x(b[0]).toLowerCase(),k=b[0]!=w,B=k?u.invert():0;\"t\"==w&&3==_?k?(p=B.x(0,0),g=B.y(0,0),v=B.x(b[1],b[2]),y=B.y(b[1],b[2]),u.translate(v-p,y-g)):u.translate(b[1],b[2]):\"r\"==w?2==_?(m=m||t.getBBox(1),u.rotate(b[1],m.x+m.width/2,m.y+m.height/2),s+=b[1]):4==_&&(k?(v=B.x(b[2],b[3]),y=B.y(b[2],b[3]),u.rotate(b[1],v,y)):u.rotate(b[1],b[2],b[3]),s+=b[1]):\"s\"==w?2==_||3==_?(m=m||t.getBBox(1),u.scale(b[1],b[_-1],m.x+m.width/2,m.y+m.height/2),o*=b[1],l*=b[_-1]):5==_&&(k?(v=B.x(b[3],b[4]),y=B.y(b[3],b[4]),u.scale(b[1],b[2],v,y)):u.scale(b[1],b[2],b[3],b[4]),o*=b[1],l*=b[2]):\"m\"==w&&7==_&&u.add(b[1],b[2],b[3],b[4],b[5],b[6]),h.dirtyT=1,t.matrix=u}t.matrix=u,h.sx=o,h.sy=l,h.deg=s,h.dx=i=u.e,h.dy=n=u.f,1==o&&1==l&&!s&&h.bbox?(h.bbox.x+=+i,h.bbox.y+=+n):h.dirtyT=1}),Nt=function(t){var e=t[0];switch(e.toLowerCase()){case\"t\":return[e,0,0];case\"m\":return[e,1,0,0,1,0,0];case\"r\":return 4==t.length?[e,0,t[2],t[3]]:[e,0];case\"s\":return 5==t.length?[e,1,1,t[3],t[4]]:3==t.length?[e,1,1]:[e,1]}},Lt=e._equaliseTransform=function(t,r){r=x(r).replace(/\\.{3}|\\u2026/g,t),t=e.parseTransformString(t)||[],r=e.parseTransformString(r)||[];for(var i,n,a,s,o=w(t.length,r.length),l=[],h=[],u=0;u<o;u++){if(a=t[u]||Nt(r[u]),s=r[u]||Nt(a),a[0]!=s[0]||\"r\"==a[0].toLowerCase()&&(a[2]!=s[2]||a[3]!=s[3])||\"s\"==a[0].toLowerCase()&&(a[3]!=s[3]||a[4]!=s[4]))return;for(l[u]=[],h[u]=[],i=0,n=w(a.length,s.length);i<n;i++)i in a&&(l[u][i]=a[i]),i in s&&(h[u][i]=s[i])}return{from:l,to:h}};function Pt(t,e,r,i,n,a){null!=t?(this.a=+t,this.b=+e,this.c=+r,this.d=+i,this.e=+n,this.f=+a):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}e._getContainer=function(t,r,i,n){var a;if(null!=(a=null!=n||e.is(t,\"object\")?t:l.doc.getElementById(t)))return a.tagName?null==r?{container:a,width:a.style.pixelWidth||a.offsetWidth,height:a.style.pixelHeight||a.offsetHeight}:{container:a,width:r,height:i}:{container:1,x:t,y:r,width:i,height:n}},e.pathToRelative=bt,e._engine={},e.path2curve=Tt,e.matrix=function(t,e,r,i,n,a){return new Pt(t,e,r,i,n,a)},function(t){function r(t){return t[0]*t[0]+t[1]*t[1]}function i(t){var e=_.sqrt(r(t));t[0]&&(t[0]/=e),t[1]&&(t[1]/=e)}t.add=function(t,e,r,i,n,a){var s,o,l,h,u=[[],[],[]],c=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],f=[[t,r,n],[e,i,a],[0,0,1]];for(t&&t instanceof Pt&&(f=[[t.a,t.c,t.e],[t.b,t.d,t.f],[0,0,1]]),s=0;s<3;s++)for(o=0;o<3;o++){for(h=0,l=0;l<3;l++)h+=c[s][l]*f[l][o];u[s][o]=h}this.a=u[0][0],this.b=u[1][0],this.c=u[0][1],this.d=u[1][1],this.e=u[0][2],this.f=u[1][2]},t.invert=function(){var t=this,e=t.a*t.d-t.b*t.c;return new Pt(t.d/e,-t.b/e,-t.c/e,t.a/e,(t.c*t.f-t.d*t.e)/e,(t.b*t.e-t.a*t.f)/e)},t.clone=function(){return new Pt(this.a,this.b,this.c,this.d,this.e,this.f)},t.translate=function(t,e){this.add(1,0,0,1,t,e)},t.scale=function(t,e,r,i){null==e&&(e=t),(r||i)&&this.add(1,0,0,1,r,i),this.add(t,0,0,e,0,0),(r||i)&&this.add(1,0,0,1,-r,-i)},t.rotate=function(t,r,i){t=e.rad(t),r=r||0,i=i||0;var n=+_.cos(t).toFixed(9),a=+_.sin(t).toFixed(9);this.add(n,a,-a,n,r,i),this.add(1,0,0,1,-r,-i)},t.x=function(t,e){return t*this.a+e*this.c+this.e},t.y=function(t,e){return t*this.b+e*this.d+this.f},t.get=function(t){return+this[x.fromCharCode(97+t)].toFixed(4)},t.toString=function(){return e.svg?\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},t.toFilter=function(){return\"progid:DXImageTransform.Microsoft.Matrix(M11=\"+this.get(0)+\", M12=\"+this.get(2)+\", M21=\"+this.get(1)+\", M22=\"+this.get(3)+\", Dx=\"+this.get(4)+\", Dy=\"+this.get(5)+\", sizingmethod='auto expand')\"},t.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},t.split=function(){var t={};t.dx=this.e,t.dy=this.f;var n=[[this.a,this.c],[this.b,this.d]];t.scalex=_.sqrt(r(n[0])),i(n[0]),t.shear=n[0][0]*n[1][0]+n[0][1]*n[1][1],n[1]=[n[1][0]-n[0][0]*t.shear,n[1][1]-n[0][1]*t.shear],t.scaley=_.sqrt(r(n[1])),i(n[1]),t.shear/=t.scaley;var a=-n[0][1],s=n[1][1];return s<0?(t.rotate=e.deg(_.acos(s)),a<0&&(t.rotate=360-t.rotate)):t.rotate=e.deg(_.asin(a)),t.isSimple=!(+t.shear.toFixed(9)||t.scalex.toFixed(9)!=t.scaley.toFixed(9)&&t.rotate),t.isSuperSimple=!+t.shear.toFixed(9)&&t.scalex.toFixed(9)==t.scaley.toFixed(9)&&!t.rotate,t.noRotation=!+t.shear.toFixed(9)&&!t.rotate,t},t.toTransformString=function(t){var e=t||this[v]();return e.isSimple?(e.scalex=+e.scalex.toFixed(4),e.scaley=+e.scaley.toFixed(4),e.rotate=+e.rotate.toFixed(4),(e.dx||e.dy?\"t\"+[e.dx,e.dy]:d)+(1!=e.scalex||1!=e.scaley?\"s\"+[e.scalex,e.scaley,0,0]:d)+(e.rotate?\"r\"+[e.rotate,0,0]:d)):\"m\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(Pt.prototype);for(var zt=function(){this.returnValue=!1},Ft=function(){return this.originalEvent.preventDefault()},Rt=function(){this.cancelBubble=!0},jt=function(){return this.originalEvent.stopPropagation()},It=function(t){var e=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,r=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft;return{x:t.clientX+r,y:t.clientY+e}},Dt=l.doc.addEventListener?function(t,e,r,i){var n=function(t){var e=It(t);return r.call(i,t,e.x,e.y)};if(t.addEventListener(e,n,!1),p&&m[e]){var a=function(e){for(var n=It(e),a=e,s=0,o=e.targetTouches&&e.targetTouches.length;s<o;s++)if(e.targetTouches[s].target==t){(e=e.targetTouches[s]).originalEvent=a,e.preventDefault=Ft,e.stopPropagation=jt;break}return r.call(i,e,n.x,n.y)};t.addEventListener(m[e],a,!1)}return function(){return t.removeEventListener(e,n,!1),p&&m[e]&&t.removeEventListener(m[e],a,!1),!0}}:l.doc.attachEvent?function(t,e,r,i){var n=function(t){t=t||l.win.event;var e=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,n=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft,a=t.clientX+n,s=t.clientY+e;return t.preventDefault=t.preventDefault||zt,t.stopPropagation=t.stopPropagation||Rt,r.call(i,t,a,s)};return t.attachEvent(\"on\"+e,n),function(){return t.detachEvent(\"on\"+e,n),!0}}:void 0,qt=[],Ot=function(e){for(var r,i=e.clientX,n=e.clientY,a=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,s=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft,o=qt.length;o--;){if(r=qt[o],p&&e.touches){for(var h,u=e.touches.length;u--;)if((h=e.touches[u]).identifier==r.el._drag.id){i=h.clientX,n=h.clientY,(e.originalEvent?e.originalEvent:e).preventDefault();break}}else e.preventDefault();var c,f=r.el.node,d=f.nextSibling,g=f.parentNode,x=f.style.display;l.win.opera&&g.removeChild(f),f.style.display=\"none\",c=r.el.paper.getElementByPoint(i,n),f.style.display=x,l.win.opera&&(d?g.insertBefore(f,d):g.appendChild(f)),c&&t(\"raphael.drag.over.\"+r.el.id,r.el,c),i+=s,n+=a,t(\"raphael.drag.move.\"+r.el.id,r.move_scope||r.el,i-r.el._drag.x,n-r.el._drag.y,i,n,e)}},Vt=function(r){e.unmousemove(Ot).unmouseup(Vt);for(var i,n=qt.length;n--;)(i=qt[n]).el._drag={},t(\"raphael.drag.end.\"+i.el.id,i.end_scope||i.start_scope||i.move_scope||i.el,r);qt=[]},Wt=e.el={},Yt=y.length;Yt--;)!function(t){e[t]=Wt[t]=function(r,i){return e.is(r,\"function\")&&(this.events=this.events||[],this.events.push({name:t,f:r,unbind:Dt(this.shape||this.node||l.doc,t,r,i||this)})),this},e[\"un\"+t]=Wt[\"un\"+t]=function(r){for(var i=this.events||[],n=i.length;n--;)i[n].name!=t||!e.is(r,\"undefined\")&&i[n].f!=r||(i[n].unbind(),i.splice(n,1),!i.length&&delete this.events);return this}}(y[Yt]);Wt.data=function(r,i){var n=G[this.id]=G[this.id]||{};if(0==arguments.length)return n;if(1==arguments.length){if(e.is(r,\"object\")){for(var a in r)r[o](a)&&this.data(a,r[a]);return this}return t(\"raphael.data.get.\"+this.id,this,n[r],r),n[r]}return n[r]=i,t(\"raphael.data.set.\"+this.id,this,i,r),this},Wt.removeData=function(t){return null==t?delete G[this.id]:G[this.id]&&delete G[this.id][t],this},Wt.getData=function(){return tt(G[this.id]||{})},Wt.hover=function(t,e,r,i){return this.mouseover(t,r).mouseout(e,i||r)},Wt.unhover=function(t,e){return this.unmouseover(t).unmouseout(e)};var Gt=[];Wt.drag=function(r,i,n,a,s,o){function h(h){(h.originalEvent||h).preventDefault();var u=h.clientX,c=h.clientY,f=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,d=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft;if(this._drag.id=h.identifier,p&&h.touches)for(var g,x=h.touches.length;x--;)if(g=h.touches[x],this._drag.id=g.identifier,g.identifier==this._drag.id){u=g.clientX,c=g.clientY;break}this._drag.x=u+d,this._drag.y=c+f,!qt.length&&e.mousemove(Ot).mouseup(Vt),qt.push({el:this,move_scope:a,start_scope:s,end_scope:o}),i&&t.on(\"raphael.drag.start.\"+this.id,i),r&&t.on(\"raphael.drag.move.\"+this.id,r),n&&t.on(\"raphael.drag.end.\"+this.id,n),t(\"raphael.drag.start.\"+this.id,s||a||this,this._drag.x,this._drag.y,h)}return this._drag={},Gt.push({el:this,start:h}),this.mousedown(h),this},Wt.onDragOver=function(e){e?t.on(\"raphael.drag.over.\"+this.id,e):t.unbind(\"raphael.drag.over.\"+this.id)},Wt.undrag=function(){for(var r=Gt.length;r--;)Gt[r].el==this&&(this.unmousedown(Gt[r].start),Gt.splice(r,1),t.unbind(\"raphael.drag.*.\"+this.id));!Gt.length&&e.unmousemove(Ot).unmouseup(Vt),qt=[]},i.circle=function(t,r,i){var n=e._engine.circle(this,t||0,r||0,i||0);return this.__set__&&this.__set__.push(n),n},i.rect=function(t,r,i,n,a){var s=e._engine.rect(this,t||0,r||0,i||0,n||0,a||0);return this.__set__&&this.__set__.push(s),s},i.ellipse=function(t,r,i,n){var a=e._engine.ellipse(this,t||0,r||0,i||0,n||0);return this.__set__&&this.__set__.push(a),a},i.path=function(t){t&&!e.is(t,\"string\")&&!e.is(t[0],A)&&(t+=d);var r=e._engine.path(e.format[c](e,arguments),this);return this.__set__&&this.__set__.push(r),r},i.image=function(t,r,i,n,a){var s=e._engine.image(this,t||\"about:blank\",r||0,i||0,n||0,a||0);return this.__set__&&this.__set__.push(s),s},i.text=function(t,r,i){var n=e._engine.text(this,t||0,r||0,x(i));return this.__set__&&this.__set__.push(n),n},i.set=function(t){!e.is(t,\"array\")&&(t=Array.prototype.splice.call(arguments,0,arguments.length));var r=new ce(t);return this.__set__&&this.__set__.push(r),r.paper=this,r.type=\"set\",r},i.setStart=function(t){this.__set__=t||this.set()},i.setFinish=function(t){var e=this.__set__;return delete this.__set__,e},i.getSize=function(){var t=this.canvas.parentNode;return{width:t.offsetWidth,height:t.offsetHeight}},i.setSize=function(t,r){return e._engine.setSize.call(this,t,r)},i.setViewBox=function(t,r,i,n,a){return e._engine.setViewBox.call(this,t,r,i,n,a)},i.top=i.bottom=null,i.raphael=e;function Ht(){return this.x+g+this.y+g+this.width+\" × \"+this.height}i.getElementByPoint=function(t,e){var r,i,n,a,s,o,h,u=this.canvas,c=l.doc.elementFromPoint(t,e);if(l.win.opera&&\"svg\"==c.tagName){var f=(i=(r=u).getBoundingClientRect(),n=r.ownerDocument,a=n.body,s=n.documentElement,o=s.clientTop||a.clientTop||0,h=s.clientLeft||a.clientLeft||0,{y:i.top+(l.win.pageYOffset||s.scrollTop||a.scrollTop)-o,x:i.left+(l.win.pageXOffset||s.scrollLeft||a.scrollLeft)-h}),p=u.createSVGRect();p.x=t-f.x,p.y=e-f.y,p.width=p.height=1;var d=u.getIntersectionList(p,null);d.length&&(c=d[d.length-1])}if(!c)return null;for(;c.parentNode&&c!=u.parentNode&&!c.raphael;)c=c.parentNode;return c==this.canvas.parentNode&&(c=u),c=c&&c.raphael?this.getById(c.raphaelid):null},i.getElementsByBBox=function(t){var r=this.set();return this.forEach(function(i){e.isBBoxIntersect(i.getBBox(),t)&&r.push(i)}),r},i.getById=function(t){for(var e=this.bottom;e;){if(e.id==t)return e;e=e.next}return null},i.forEach=function(t,e){for(var r=this.bottom;r;){if(!1===t.call(e,r))return this;r=r.next}return this},i.getElementsByPoint=function(t,e){var r=this.set();return this.forEach(function(i){i.isPointInside(t,e)&&r.push(i)}),r},Wt.isPointInside=function(t,r){var i=this.realPath=Z[this.type](this);return this.attr(\"transform\")&&this.attr(\"transform\").length&&(i=e.transformPath(i,this.attr(\"transform\"))),e.isPointInsidePath(i,t,r)},Wt.getBBox=function(t){if(this.removed)return{};var e=this._;return t?(!e.dirty&&e.bboxwt||(this.realPath=Z[this.type](this),e.bboxwt=yt(this.realPath),e.bboxwt.toString=Ht,e.dirty=0),e.bboxwt):((e.dirty||e.dirtyT||!e.bbox)&&(!e.dirty&&this.realPath||(e.bboxwt=0,this.realPath=Z[this.type](this)),e.bbox=yt(Q(this.realPath,this.matrix)),e.bbox.toString=Ht,e.dirty=e.dirtyT=0),e.bbox)},Wt.clone=function(){if(this.removed)return null;var t=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(t),t},Wt.glow=function(t){if(\"text\"==this.type)return null;var e={width:((t=t||{}).width||10)+(+this.attr(\"stroke-width\")||1),fill:t.fill||!1,opacity:null==t.opacity?.5:t.opacity,offsetx:t.offsetx||0,offsety:t.offsety||0,color:t.color||\"#000\"},r=e.width/2,i=this.paper,n=i.set(),a=this.realPath||Z[this.type](this);a=this.matrix?Q(a,this.matrix):a;for(var s=1;s<r+1;s++)n.push(i.path(a).attr({stroke:e.color,fill:e.fill?e.color:\"none\",\"stroke-linejoin\":\"round\",\"stroke-linecap\":\"round\",\"stroke-width\":+(e.width/r*s).toFixed(3),opacity:+(e.opacity/r).toFixed(3)}));return n.insertBefore(this).translate(e.offsetx,e.offsety)};var Xt=function(t,r,i,n,a,s,o,l,h){return null==h?dt(t,r,i,n,a,s,o,l):e.findDotsAtSegment(t,r,i,n,a,s,o,l,function(t,e,r,i,n,a,s,o,l){if(!(l<0||dt(t,e,r,i,n,a,s,o)<l)){var h,u=.5,c=1-u;for(h=dt(t,e,r,i,n,a,s,o,c);B(h-l)>.01;)h=dt(t,e,r,i,n,a,s,o,c+=(h<l?1:-1)*(u/=2));return c}}(t,r,i,n,a,s,o,l,h))},Ut=function(t,r){return function(i,n,a){for(var s,o,l,h,u,c=\"\",f={},p=0,d=0,g=(i=Tt(i)).length;d<g;d++){if(\"M\"==(l=i[d])[0])s=+l[1],o=+l[2];else{if(p+(h=Xt(s,o,l[1],l[2],l[3],l[4],l[5],l[6]))>n){if(r&&!f.start){if(c+=[\"C\"+(u=Xt(s,o,l[1],l[2],l[3],l[4],l[5],l[6],n-p)).start.x,u.start.y,u.m.x,u.m.y,u.x,u.y],a)return c;f.start=c,c=[\"M\"+u.x,u.y+\"C\"+u.n.x,u.n.y,u.end.x,u.end.y,l[5],l[6]].join(),p+=h,s=+l[5],o=+l[6];continue}if(!t&&!r)return{x:(u=Xt(s,o,l[1],l[2],l[3],l[4],l[5],l[6],n-p)).x,y:u.y,alpha:u.alpha}}p+=h,s=+l[5],o=+l[6]}c+=l.shift()+l}return f.end=c,(u=t?p:r?f:e.findDotsAtSegment(s,o,l[0],l[1],l[2],l[3],l[4],l[5],1)).alpha&&(u={x:u.x,y:u.y,alpha:u.alpha}),u}},$t=Ut(1),Zt=Ut(),Qt=Ut(0,1);e.getTotalLength=$t,e.getPointAtLength=Zt,e.getSubpath=function(t,e,r){if(this.getTotalLength(t)-r<1e-6)return Qt(t,e).end;var i=Qt(t,r,1);return e?Qt(i,e).end:i},Wt.getTotalLength=function(){var t=this.getPath();if(t)return this.node.getTotalLength?this.node.getTotalLength():$t(t)},Wt.getPointAtLength=function(t){var e=this.getPath();if(e)return Zt(e,t)},Wt.getPath=function(){var t,r=e._getPath[this.type];if(\"text\"!=this.type&&\"set\"!=this.type)return r&&(t=r(this)),t},Wt.getSubpath=function(t,r){var i=this.getPath();if(i)return e.getSubpath(i,t,r)};var Jt=e.easing_formulas={linear:function(t){return t},\"<\":function(t){return C(t,1.7)},\">\":function(t){return C(t,.48)},\"<>\":function(t){var e=.48-t/1.04,r=_.sqrt(.1734+e*e),i=r-e,n=-r-e,a=C(B(i),1/3)*(i<0?-1:1)+C(B(n),1/3)*(n<0?-1:1)+.5;return 3*(1-a)*a*a+a*a*a},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},elastic:function(t){return t==!!t?t:C(2,-10*t)*_.sin(2*S*(t-.075)/.3)+1},bounce:function(t){var e=7.5625,r=2.75;return t<1/r?e*t*t:t<2/r?e*(t-=1.5/r)*t+.75:t<2.5/r?e*(t-=2.25/r)*t+.9375:e*(t-=2.625/r)*t+.984375}};Jt.easeIn=Jt[\"ease-in\"]=Jt[\"<\"],Jt.easeOut=Jt[\"ease-out\"]=Jt[\">\"],Jt.easeInOut=Jt[\"ease-in-out\"]=Jt[\"<>\"],Jt[\"back-in\"]=Jt.backIn,Jt[\"back-out\"]=Jt.backOut;var Kt=[],te=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){setTimeout(t,16)},ee=function(){for(var r=+new Date,i=0;i<Kt.length;i++){var n=Kt[i];if(!n.el.removed&&!n.paused){var a,s,l=r-n.start,h=n.ms,u=n.easing,c=n.from,p=n.diff,d=n.to,x=(n.t,n.el),v={},y={};if(n.initstatus?(l=(n.initstatus*n.anim.top-n.prev)/(n.percent-n.prev)*h,n.status=n.initstatus,delete n.initstatus,n.stop&&Kt.splice(i--,1)):n.status=(n.prev+(n.percent-n.prev)*(l/h))/n.anim.top,!(l<0))if(l<h){var m=u(l/h);for(var b in c)if(c[o](b)){switch(I[b]){case T:a=+c[b]+m*h*p[b];break;case\"colour\":a=\"rgb(\"+[re(P(c[b].r+m*h*p[b].r)),re(P(c[b].g+m*h*p[b].g)),re(P(c[b].b+m*h*p[b].b))].join(\",\")+\")\";break;case\"path\":a=[];for(var _=0,w=c[b].length;_<w;_++){a[_]=[c[b][_][0]];for(var k=1,B=c[b][_].length;k<B;k++)a[_][k]=+c[b][_][k]+m*h*p[b][_][k];a[_]=a[_].join(g)}a=a.join(g);break;case\"transform\":if(p[b].real)for(a=[],_=0,w=c[b].length;_<w;_++)for(a[_]=[c[b][_][0]],k=1,B=c[b][_].length;k<B;k++)a[_][k]=c[b][_][k]+m*h*p[b][_][k];else{var C=function(t){return+c[b][t]+m*h*p[b][t]};a=[[\"m\",C(0),C(1),C(2),C(3),C(4),C(5)]]}break;case\"csv\":if(\"clip-rect\"==b)for(a=[],_=4;_--;)a[_]=+c[b][_]+m*h*p[b][_];break;default:var S=[][f](c[b]);for(a=[],_=x.paper.customAttributes[b].length;_--;)a[_]=+S[_]+m*h*p[b][_]}v[b]=a}x.attr(v),function(e,r,i){setTimeout(function(){t(\"raphael.anim.frame.\"+e,r,i)})}(x.id,x,n.anim)}else{if(function(r,i,n){setTimeout(function(){t(\"raphael.anim.frame.\"+i.id,i,n),t(\"raphael.anim.finish.\"+i.id,i,n),e.is(r,\"function\")&&r.call(i)})}(n.callback,x,n.anim),x.attr(d),Kt.splice(i--,1),n.repeat>1&&!n.next){for(s in d)d[o](s)&&(y[s]=n.totalOrigin[s]);n.el.attr(y),ae(n.anim,n.el,n.anim.percents[0],null,n.totalOrigin,n.repeat-1)}n.next&&!n.stop&&ae(n.anim,n.el,n.next,null,n.totalOrigin,n.repeat)}}}Kt.length&&te(ee)},re=function(t){return t>255?255:t<0?0:t};function ie(t,e,r,i,n,a){var s=3*e,o=3*(i-e)-s,l=1-s-o,h=3*r,u=3*(n-r)-h,c=1-h-u;function f(t){return((l*t+o)*t+s)*t}return function(t,e){var r=function(t,e){var r,i,n,a,h,u;for(n=t,u=0;u<8;u++){if(a=f(n)-t,B(a)<e)return n;if(B(h=(3*l*n+2*o)*n+s)<1e-6)break;n-=a/h}if(i=1,(n=t)<(r=0))return r;if(n>i)return i;for(;r<i;){if(a=f(n),B(a-t)<e)return n;t>a?r=n:i=n,n=(i-r)/2+r}return n}(t,e);return((c*r+u)*r+h)*r}(t,1/(200*a))}function ne(t,e){var r=[],i={};if(this.ms=e,this.times=1,t){for(var n in t)t[o](n)&&(i[z(n)]=t[n],r.push(z(n)));r.sort(H)}this.anim=i,this.top=r[r.length-1],this.percents=r}function ae(r,i,a,s,l,h){a=z(a);var u,c,p,d,g,y,m=r.ms,b={},_={},w={};if(s)for(B=0,C=Kt.length;B<C;B++){var k=Kt[B];if(k.el.id==i.id&&k.anim==r){k.percent!=a?(Kt.splice(B,1),p=1):c=k,i.attr(k.totalOrigin);break}}else s=+_;for(var B=0,C=r.percents.length;B<C;B++){if(r.percents[B]==a||r.percents[B]>s*r.top){a=r.percents[B],g=r.percents[B-1]||0,m=m/r.top*(a-g),d=r.percents[B+1],u=r.anim[a];break}s&&i.attr(r.anim[r.percents[B]])}if(u){if(c)c.initstatus=s,c.start=new Date-c.ms*s;else{for(var S in u)if(u[o](S)&&(I[o](S)||i.paper.customAttributes[o](S)))switch(b[S]=i.attr(S),null==b[S]&&(b[S]=j[S]),_[S]=u[S],I[S]){case T:w[S]=(_[S]-b[S])/m;break;case\"colour\":b[S]=e.getRGB(b[S]);var A=e.getRGB(_[S]);w[S]={r:(A.r-b[S].r)/m,g:(A.g-b[S].g)/m,b:(A.b-b[S].b)/m};break;case\"path\":var M=Tt(b[S],_[S]),E=M[1];for(b[S]=M[0],w[S]=[],B=0,C=b[S].length;B<C;B++){w[S][B]=[0];for(var N=1,P=b[S][B].length;N<P;N++)w[S][B][N]=(E[B][N]-b[S][B][N])/m}break;case\"transform\":var F=i._,R=Lt(F[S],_[S]);if(R)for(b[S]=R.from,_[S]=R.to,w[S]=[],w[S].real=!0,B=0,C=b[S].length;B<C;B++)for(w[S][B]=[b[S][B][0]],N=1,P=b[S][B].length;N<P;N++)w[S][B][N]=(_[S][B][N]-b[S][B][N])/m;else{var D=i.matrix||new Pt,q={_:{transform:F.transform},getBBox:function(){return i.getBBox(1)}};b[S]=[D.a,D.b,D.c,D.d,D.e,D.f],Et(q,_[S]),_[S]=q._.transform,w[S]=[(q.matrix.a-D.a)/m,(q.matrix.b-D.b)/m,(q.matrix.c-D.c)/m,(q.matrix.d-D.d)/m,(q.matrix.e-D.e)/m,(q.matrix.f-D.f)/m]}break;case\"csv\":var O=x(u[S])[v](n),V=x(b[S])[v](n);if(\"clip-rect\"==S)for(b[S]=V,w[S]=[],B=V.length;B--;)w[S][B]=(O[B]-b[S][B])/m;_[S]=O;break;default:for(O=[][f](u[S]),V=[][f](b[S]),w[S]=[],B=i.paper.customAttributes[S].length;B--;)w[S][B]=((O[B]||0)-(V[B]||0))/m}var W=u.easing,Y=e.easing_formulas[W];if(!Y)if((Y=x(W).match(L))&&5==Y.length){var G=Y;Y=function(t){return ie(t,+G[1],+G[2],+G[3],+G[4],m)}}else Y=X;if(k={anim:r,percent:a,timestamp:y=u.start||r.start||+new Date,start:y+(r.del||0),status:0,initstatus:s||0,stop:!1,ms:m,easing:Y,from:b,diff:w,to:_,el:i,callback:u.callback,prev:g,next:d,repeat:h||r.times,origin:i.attr(),totalOrigin:l},Kt.push(k),s&&!c&&!p&&(k.stop=!0,k.start=new Date-m*s,1==Kt.length))return ee();p&&(k.start=new Date-k.ms*s),1==Kt.length&&te(ee)}t(\"raphael.anim.start.\"+i.id,i,r)}}function se(t){for(var e=0;e<Kt.length;e++)Kt[e].el.paper==t&&Kt.splice(e--,1)}Wt.animateWith=function(t,r,i,n,a,s){if(this.removed)return s&&s.call(this),this;var o=i instanceof ne?i:e.animation(i,n,a,s);ae(o,this,o.percents[0],null,this.attr());for(var l=0,h=Kt.length;l<h;l++)if(Kt[l].anim==r&&Kt[l].el==t){Kt[h-1].start=Kt[l].start;break}return this},Wt.onAnimation=function(e){return e?t.on(\"raphael.anim.frame.\"+this.id,e):t.unbind(\"raphael.anim.frame.\"+this.id),this},ne.prototype.delay=function(t){var e=new ne(this.anim,this.ms);return e.times=this.times,e.del=+t||0,e},ne.prototype.repeat=function(t){var e=new ne(this.anim,this.ms);return e.del=this.del,e.times=_.floor(w(t,0))||1,e},e.animation=function(t,r,i,n){if(t instanceof ne)return t;!e.is(i,\"function\")&&i||(n=n||i||null,i=null),t=Object(t),r=+r||0;var a,s,l={};for(s in t)t[o](s)&&z(s)!=s&&z(s)+\"%\"!=s&&(a=!0,l[s]=t[s]);if(a)return i&&(l.easing=i),n&&(l.callback=n),new ne({100:l},r);if(n){var h=0;for(var u in t){var c=F(u);t[o](u)&&c>h&&(h=c)}!t[h+=\"%\"].callback&&(t[h].callback=n)}return new ne(t,r)},Wt.animate=function(t,r,i,n){if(this.removed)return n&&n.call(this),this;var a=t instanceof ne?t:e.animation(t,r,i,n);return ae(a,this,a.percents[0],null,this.attr()),this},Wt.setTime=function(t,e){return t&&null!=e&&this.status(t,k(e,t.ms)/t.ms),this},Wt.status=function(t,e){var r,i,n=[],a=0;if(null!=e)return ae(t,this,-1,k(e,1)),this;for(r=Kt.length;a<r;a++)if((i=Kt[a]).el.id==this.id&&(!t||i.anim==t)){if(t)return i.status;n.push({anim:i.anim,status:i.status})}return t?0:n},Wt.pause=function(e){for(var r=0;r<Kt.length;r++)Kt[r].el.id!=this.id||e&&Kt[r].anim!=e||!1!==t(\"raphael.anim.pause.\"+this.id,this,Kt[r].anim)&&(Kt[r].paused=!0);return this},Wt.resume=function(e){for(var r=0;r<Kt.length;r++)if(Kt[r].el.id==this.id&&(!e||Kt[r].anim==e)){var i=Kt[r];!1!==t(\"raphael.anim.resume.\"+this.id,this,i.anim)&&(delete i.paused,this.status(i.anim,i.status))}return this},Wt.stop=function(e){for(var r=0;r<Kt.length;r++)Kt[r].el.id!=this.id||e&&Kt[r].anim!=e||!1!==t(\"raphael.anim.stop.\"+this.id,this,Kt[r].anim)&&Kt.splice(r--,1);return this},t.on(\"raphael.remove\",se),t.on(\"raphael.clear\",se),Wt.toString=function(){return\"Raphaël’s object\"};var oe,le,he,ue,ce=function(t){if(this.items=[],this.length=0,this.type=\"set\",t)for(var e=0,r=t.length;e<r;e++)!t[e]||t[e].constructor!=Wt.constructor&&t[e].constructor!=ce||(this[this.items.length]=this.items[this.items.length]=t[e],this.length++)},fe=ce.prototype;for(var pe in fe.push=function(){for(var t,e,r=0,i=arguments.length;r<i;r++)!(t=arguments[r])||t.constructor!=Wt.constructor&&t.constructor!=ce||(this[e=this.items.length]=this.items[e]=t,this.length++);return this},fe.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},fe.forEach=function(t,e){for(var r=0,i=this.items.length;r<i;r++)if(!1===t.call(e,this.items[r],r))return this;return this},Wt)Wt[o](pe)&&(fe[pe]=function(t){return function(){var e=arguments;return this.forEach(function(r){r[t][c](r,e)})}}(pe));return fe.attr=function(t,r){if(t&&e.is(t,A)&&e.is(t[0],\"object\"))for(var i=0,n=t.length;i<n;i++)this.items[i].attr(t[i]);else for(var a=0,s=this.items.length;a<s;a++)this.items[a].attr(t,r);return this},fe.clear=function(){for(;this.length;)this.pop()},fe.splice=function(t,e,r){t=t<0?w(this.length+t,0):t,e=w(0,k(this.length-t,e));var i,n=[],a=[],s=[];for(i=2;i<arguments.length;i++)s.push(arguments[i]);for(i=0;i<e;i++)a.push(this[t+i]);for(;i<this.length-t;i++)n.push(this[t+i]);var o=s.length;for(i=0;i<o+n.length;i++)this.items[t+i]=this[t+i]=i<o?s[i]:n[i-o];for(i=this.items.length=this.length-=e-o;this[i];)delete this[i++];return new ce(a)},fe.exclude=function(t){for(var e=0,r=this.length;e<r;e++)if(this[e]==t)return this.splice(e,1),!0},fe.animate=function(t,r,i,n){(e.is(i,\"function\")||!i)&&(n=i||null);var a,s,o=this.items.length,l=o,h=this;if(!o)return this;n&&(s=function(){!--o&&n.call(h)}),i=e.is(i,\"string\")?i:s;var u=e.animation(t,r,i,s);for(a=this.items[--l].animate(u);l--;)this.items[l]&&!this.items[l].removed&&this.items[l].animateWith(a,u,u),this.items[l]&&!this.items[l].removed||o--;return this},fe.insertAfter=function(t){for(var e=this.items.length;e--;)this.items[e].insertAfter(t);return this},fe.getBBox=function(){for(var t=[],e=[],r=[],i=[],n=this.items.length;n--;)if(!this.items[n].removed){var a=this.items[n].getBBox();t.push(a.x),e.push(a.y),r.push(a.x+a.width),i.push(a.y+a.height)}return{x:t=k[c](0,t),y:e=k[c](0,e),x2:r=w[c](0,r),y2:i=w[c](0,i),width:r-t,height:i-e}},fe.clone=function(t){t=this.paper.set();for(var e=0,r=this.items.length;e<r;e++)t.push(this.items[e].clone());return t},fe.toString=function(){return\"Raphaël‘s set\"},fe.glow=function(t){var e=this.paper.set();return this.forEach(function(r,i){var n=r.glow(t);null!=n&&n.forEach(function(t,r){e.push(t)})}),e},fe.isPointInside=function(t,e){var r=!1;return this.forEach(function(i){if(i.isPointInside(t,e))return r=!0,!1}),r},e.registerFont=function(t){if(!t.face)return t;this.fonts=this.fonts||{};var e={w:t.w,face:{},glyphs:{}},r=t.face[\"font-family\"];for(var i in t.face)t.face[o](i)&&(e.face[i]=t.face[i]);if(this.fonts[r]?this.fonts[r].push(e):this.fonts[r]=[e],!t.svg)for(var n in e.face[\"units-per-em\"]=F(t.face[\"units-per-em\"],10),t.glyphs)if(t.glyphs[o](n)){var a=t.glyphs[n];if(e.glyphs[n]={w:a.w,k:{},d:a.d&&\"M\"+a.d.replace(/[mlcxtrv]/g,function(t){return{l:\"L\",c:\"C\",x:\"z\",t:\"m\",r:\"l\",v:\"c\"}[t]||\"M\"})+\"z\"},a.k)for(var s in a.k)a[o](s)&&(e.glyphs[n].k[s]=a.k[s])}return t},i.getFont=function(t,r,i,n){if(n=n||\"normal\",i=i||\"normal\",r=+r||{normal:400,bold:700,lighter:300,bolder:800}[r]||400,e.fonts){var a,s=e.fonts[t];if(!s){var l=new RegExp(\"(^|\\\\s)\"+t.replace(/[^\\w\\d\\s+!~.:_-]/g,d)+\"(\\\\s|$)\",\"i\");for(var h in e.fonts)if(e.fonts[o](h)&&l.test(h)){s=e.fonts[h];break}}if(s)for(var u=0,c=s.length;u<c&&((a=s[u]).face[\"font-weight\"]!=r||a.face[\"font-style\"]!=i&&a.face[\"font-style\"]||a.face[\"font-stretch\"]!=n);u++);return a}},i.print=function(t,r,i,a,s,o,l,h){o=o||\"middle\",l=w(k(l||0,1),-1),h=w(k(h||1,3),1);var u,c=x(i)[v](d),f=0,p=0,g=d;if(e.is(a,\"string\")&&(a=this.getFont(a)),a){u=(s||16)/a.face[\"units-per-em\"];for(var y=a.face.bbox[v](n),m=+y[0],b=y[3]-y[1],_=0,B=+y[1]+(\"baseline\"==o?b+ +a.face.descent:b/2),C=0,S=c.length;C<S;C++){if(\"\\n\"==c[C])f=0,A=0,p=0,_+=b*h;else{var T=p&&a.glyphs[c[C-1]]||{},A=a.glyphs[c[C]];f+=p?(T.w||a.w)+(T.k&&T.k[c[C]]||0)+a.w*l:0,p=1}A&&A.d&&(g+=e.transformPath(A.d,[\"t\",f*u,_*u,\"s\",u,u,m,B,\"t\",(t-m)/u,(r-B)/u]))}}return this.path(g).attr({fill:\"#000\",stroke:\"none\"})},i.add=function(t){if(e.is(t,\"array\"))for(var r,i=this.set(),n=0,s=t.length;n<s;n++)r=t[n]||{},a[o](r.type)&&i.push(this[r.type]().attr(r));return i},e.format=function(t,r){var i=e.is(r,A)?[0][f](r):arguments;return t&&e.is(t,\"string\")&&i.length-1&&(t=t.replace(s,function(t,e){return null==i[++e]?d:i[e]})),t||d},e.fullfill=(oe=/\\{([^\\}]+)\\}/g,le=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,function(t,e){return String(t).replace(oe,function(t,r){return function(t,e,r){var i=r;return e.replace(le,function(t,e,r,n,a){e=e||n,i&&(e in i&&(i=i[e]),\"function\"==typeof i&&a&&(i=i()))}),i=(null==i||i==r?t:i)+\"\"}(t,r,e)})}),e.ninja=function(){if(h.was)l.win.Raphael=h.is;else{window.Raphael=void 0;try{delete window.Raphael}catch(t){}}return e},e.st=fe,t.on(\"raphael.DOMload\",function(){r=!0}),null==(he=document).readyState&&he.addEventListener&&(he.addEventListener(\"DOMContentLoaded\",ue=function(){he.removeEventListener(\"DOMContentLoaded\",ue,!1),he.readyState=\"complete\"},!1),he.readyState=\"loading\"),function t(){/in/.test(he.readyState)?setTimeout(t,9):e.eve(\"raphael.DOMload\")}(),e}.apply(e,i))||(t.exports=n)},function(t,e,r){var i,n;i=[r(0),r(3),r(4)],void 0===(n=function(t){return t}.apply(e,i))||(t.exports=n)},function(t,e,r){var i,n,a,s,o,l,h,u,c,f,p,d,g,x;s=\"hasOwnProperty\",o=/[\\.\\/]/,l=/\\s*,\\s*/,h=function(t,e){return t-e},u={n:{}},c=function(){for(var t=0,e=this.length;t<e;t++)if(void 0!==this[t])return this[t]},f=function(){for(var t=this.length;--t;)if(void 0!==this[t])return this[t]},p=Object.prototype.toString,d=String,g=Array.isArray||function(t){return t instanceof Array||\"[object Array]\"==p.call(t)},(x=function(t,e){var r,i=a,s=Array.prototype.slice.call(arguments,2),o=x.listeners(t),l=0,u=[],p={},d=[],g=n;d.firstDefined=c,d.lastDefined=f,n=t,a=0;for(var v=0,y=o.length;v<y;v++)\"zIndex\"in o[v]&&(u.push(o[v].zIndex),o[v].zIndex<0&&(p[o[v].zIndex]=o[v]));for(u.sort(h);u[l]<0;)if(r=p[u[l++]],d.push(r.apply(e,s)),a)return a=i,d;for(v=0;v<y;v++)if(\"zIndex\"in(r=o[v]))if(r.zIndex==u[l]){if(d.push(r.apply(e,s)),a)break;do{if((r=p[u[++l]])&&d.push(r.apply(e,s)),a)break}while(r)}else p[r.zIndex]=r;else if(d.push(r.apply(e,s)),a)break;return a=i,n=g,d})._events=u,x.listeners=function(t){var e,r,i,n,a,s,l,h,c=g(t)?t:t.split(o),f=u,p=[f],d=[];for(n=0,a=c.length;n<a;n++){for(h=[],s=0,l=p.length;s<l;s++)for(r=[(f=p[s].n)[c[n]],f[\"*\"]],i=2;i--;)(e=r[i])&&(h.push(e),d=d.concat(e.f||[]));p=h}return d},x.separator=function(t){t?(t=\"[\"+(t=d(t).replace(/(?=[\\.\\^\\]\\[\\-])/g,\"\\\\\"))+\"]\",o=new RegExp(t)):o=/[\\.\\/]/},x.on=function(t,e){if(\"function\"!=typeof e)return function(){};for(var r=g(t)?g(t[0])?t:[t]:d(t).split(l),i=0,n=r.length;i<n;i++)!function(t){for(var r,i=g(t)?t:d(t).split(o),n=u,a=0,s=i.length;a<s;a++)n=(n=n.n).hasOwnProperty(i[a])&&n[i[a]]||(n[i[a]]={n:{}});for(n.f=n.f||[],a=0,s=n.f.length;a<s;a++)if(n.f[a]==e){r=!0;break}!r&&n.f.push(e)}(r[i]);return function(t){+t==+t&&(e.zIndex=+t)}},x.f=function(t){var e=[].slice.call(arguments,1);return function(){x.apply(null,[t,null].concat(e).concat([].slice.call(arguments,0)))}},x.stop=function(){a=1},x.nt=function(t){var e=g(n)?n.join(\".\"):n;return t?new RegExp(\"(?:\\\\.|\\\\/|^)\"+t+\"(?:\\\\.|\\\\/|$)\").test(e):e},x.nts=function(){return g(n)?n:n.split(o)},x.off=x.unbind=function(t,e){if(t){var r=g(t)?g(t[0])?t:[t]:d(t).split(l);if(r.length>1)for(var i=0,n=r.length;i<n;i++)x.off(r[i],e);else{r=g(t)?t:d(t).split(o);var a,h,c,f,p,v=[u];for(i=0,n=r.length;i<n;i++)for(f=0;f<v.length;f+=c.length-2){if(c=[f,1],a=v[f].n,\"*\"!=r[i])a[r[i]]&&c.push(a[r[i]]);else for(h in a)a[s](h)&&c.push(a[h]);v.splice.apply(v,c)}for(i=0,n=v.length;i<n;i++)for(a=v[i];a.n;){if(e){if(a.f){for(f=0,p=a.f.length;f<p;f++)if(a.f[f]==e){a.f.splice(f,1);break}!a.f.length&&delete a.f}for(h in a.n)if(a.n[s](h)&&a.n[h].f){var y=a.n[h].f;for(f=0,p=y.length;f<p;f++)if(y[f]==e){y.splice(f,1);break}!y.length&&delete a.n[h].f}}else for(h in delete a.f,a.n)a.n[s](h)&&a.n[h].f&&delete a.n[h].f;a=a.n}}}else x._events=u={n:{}}},x.once=function(t,e){var r=function(){return x.off(t,r),e.apply(this,arguments)};return x.on(t,r)},x.version=\"0.5.0\",x.toString=function(){return\"You are running Eve 0.5.0\"},t.exports?t.exports=x:void 0===(i=function(){return x}.apply(e,[]))||(t.exports=i)},function(t,e,r){var i,n;i=[r(0)],void 0===(n=function(t){if(!t||t.svg){var e=\"hasOwnProperty\",r=String,i=parseFloat,n=parseInt,a=Math,s=a.max,o=a.abs,l=a.pow,h=/[, ]+/,u=t.eve,c=\"\",f=\" \",p=\"http://www.w3.org/1999/xlink\",d={block:\"M5,0 0,2.5 5,5z\",classic:\"M5,0 0,2.5 5,5 3.5,3 3.5,2z\",diamond:\"M2.5,0 5,2.5 2.5,5 0,2.5z\",open:\"M6,1 1,3.5 6,6\",oval:\"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z\"},g={};t.toString=function(){return\"Your browser supports SVG.\\nYou are running Raphaël \"+this.version};var x=function(i,n){if(n)for(var a in\"string\"==typeof i&&(i=x(i)),n)n[e](a)&&(\"xlink:\"==a.substring(0,6)?i.setAttributeNS(p,a.substring(6),r(n[a])):i.setAttribute(a,r(n[a])));else(i=t._g.doc.createElementNS(\"http://www.w3.org/2000/svg\",i)).style&&(i.style.webkitTapHighlightColor=\"rgba(0,0,0,0)\");return i},v=function(e,n){var h=\"linear\",u=e.id+n,f=.5,p=.5,d=e.node,g=e.paper,v=d.style,m=t._g.doc.getElementById(u);if(!m){if(n=(n=r(n).replace(t._radial_gradient,function(t,e,r){if(h=\"radial\",e&&r){f=i(e);var n=2*((p=i(r))>.5)-1;l(f-.5,2)+l(p-.5,2)>.25&&(p=a.sqrt(.25-l(f-.5,2))*n+.5)&&.5!=p&&(p=p.toFixed(5)-1e-5*n)}return c})).split(/\\s*\\-\\s*/),\"linear\"==h){var b=n.shift();if(b=-i(b),isNaN(b))return null;var _=[0,0,a.cos(t.rad(b)),a.sin(t.rad(b))],w=1/(s(o(_[2]),o(_[3]))||1);_[2]*=w,_[3]*=w,_[2]<0&&(_[0]=-_[2],_[2]=0),_[3]<0&&(_[1]=-_[3],_[3]=0)}var k=t._parseDots(n);if(!k)return null;if(u=u.replace(/[\\(\\)\\s,\\xb0#]/g,\"_\"),e.gradient&&u!=e.gradient.id&&(g.defs.removeChild(e.gradient),delete e.gradient),!e.gradient){m=x(h+\"Gradient\",{id:u}),e.gradient=m,x(m,\"radial\"==h?{fx:f,fy:p}:{x1:_[0],y1:_[1],x2:_[2],y2:_[3],gradientTransform:e.matrix.invert()}),g.defs.appendChild(m);for(var B=0,C=k.length;B<C;B++)m.appendChild(x(\"stop\",{offset:k[B].offset?k[B].offset:B?\"100%\":\"0%\",\"stop-color\":k[B].color||\"#fff\",\"stop-opacity\":isFinite(k[B].opacity)?k[B].opacity:1}))}}return x(d,{fill:y(u),opacity:1,\"fill-opacity\":1}),v.fill=c,v.opacity=1,v.fillOpacity=1,1},y=function(t){if((e=document.documentMode)&&(9===e||10===e))return\"url('#\"+t+\"')\";var e,r=document.location;return\"url('\"+(r.protocol+\"//\"+r.host+r.pathname+r.search)+\"#\"+t+\"')\"},m=function(t){var e=t.getBBox(1);x(t.pattern,{patternTransform:t.matrix.invert()+\" translate(\"+e.x+\",\"+e.y+\")\"})},b=function(i,n,a){if(\"path\"==i.type){for(var s,o,l,h,u,f=r(n).toLowerCase().split(\"-\"),p=i.paper,v=a?\"end\":\"start\",y=i.node,m=i.attrs,b=m[\"stroke-width\"],_=f.length,w=\"classic\",k=3,B=3,C=5;_--;)switch(f[_]){case\"block\":case\"classic\":case\"oval\":case\"diamond\":case\"open\":case\"none\":w=f[_];break;case\"wide\":B=5;break;case\"narrow\":B=2;break;case\"long\":k=5;break;case\"short\":k=2}if(\"open\"==w?(k+=2,B+=2,C+=2,l=1,h=a?4:1,u={fill:\"none\",stroke:m.stroke}):(h=l=k/2,u={fill:m.stroke,stroke:\"none\"}),i._.arrows?a?(i._.arrows.endPath&&g[i._.arrows.endPath]--,i._.arrows.endMarker&&g[i._.arrows.endMarker]--):(i._.arrows.startPath&&g[i._.arrows.startPath]--,i._.arrows.startMarker&&g[i._.arrows.startMarker]--):i._.arrows={},\"none\"!=w){var S=\"raphael-marker-\"+w,T=\"raphael-marker-\"+v+w+k+B+\"-obj\"+i.id;t._g.doc.getElementById(S)?g[S]++:(p.defs.appendChild(x(x(\"path\"),{\"stroke-linecap\":\"round\",d:d[w],id:S})),g[S]=1);var A,M=t._g.doc.getElementById(T);M?(g[T]++,A=M.getElementsByTagName(\"use\")[0]):(M=x(x(\"marker\"),{id:T,markerHeight:B,markerWidth:k,orient:\"auto\",refX:h,refY:B/2}),A=x(x(\"use\"),{\"xlink:href\":\"#\"+S,transform:(a?\"rotate(180 \"+k/2+\" \"+B/2+\") \":c)+\"scale(\"+k/C+\",\"+B/C+\")\",\"stroke-width\":(1/((k/C+B/C)/2)).toFixed(4)}),M.appendChild(A),p.defs.appendChild(M),g[T]=1),x(A,u);var E=l*(\"diamond\"!=w&&\"oval\"!=w);a?(s=i._.arrows.startdx*b||0,o=t.getTotalLength(m.path)-E*b):(s=E*b,o=t.getTotalLength(m.path)-(i._.arrows.enddx*b||0)),(u={})[\"marker-\"+v]=\"url(#\"+T+\")\",(o||s)&&(u.d=t.getSubpath(m.path,s,o)),x(y,u),i._.arrows[v+\"Path\"]=S,i._.arrows[v+\"Marker\"]=T,i._.arrows[v+\"dx\"]=E,i._.arrows[v+\"Type\"]=w,i._.arrows[v+\"String\"]=n}else a?(s=i._.arrows.startdx*b||0,o=t.getTotalLength(m.path)-s):(s=0,o=t.getTotalLength(m.path)-(i._.arrows.enddx*b||0)),i._.arrows[v+\"Path\"]&&x(y,{d:t.getSubpath(m.path,s,o)}),delete i._.arrows[v+\"Path\"],delete i._.arrows[v+\"Marker\"],delete i._.arrows[v+\"dx\"],delete i._.arrows[v+\"Type\"],delete i._.arrows[v+\"String\"];for(u in g)if(g[e](u)&&!g[u]){var N=t._g.doc.getElementById(u);N&&N.parentNode.removeChild(N)}}},_={\"-\":[3,1],\".\":[1,1],\"-.\":[3,1,1,1],\"-..\":[3,1,1,1,1,1],\". \":[1,3],\"- \":[4,3],\"--\":[8,3],\"- .\":[4,3,1,3],\"--.\":[8,3,1,3],\"--..\":[8,3,1,3,1,3]},w=function(t,e,i){if(e=_[r(e).toLowerCase()]){for(var n=t.attrs[\"stroke-width\"]||\"1\",a={round:n,square:n,butt:0}[t.attrs[\"stroke-linecap\"]||i[\"stroke-linecap\"]]||0,s=[],o=e.length;o--;)s[o]=e[o]*n+(o%2?1:-1)*a;x(t.node,{\"stroke-dasharray\":s.join(\",\")})}else x(t.node,{\"stroke-dasharray\":\"none\"})},k=function(i,a){var l=i.node,u=i.attrs,f=l.style.visibility;for(var d in l.style.visibility=\"hidden\",a)if(a[e](d)){if(!t._availableAttrs[e](d))continue;var g=a[d];switch(u[d]=g,d){case\"blur\":i.blur(g);break;case\"title\":var y=l.getElementsByTagName(\"title\");if(y.length&&(y=y[0]))y.firstChild.nodeValue=g;else{y=x(\"title\");var _=t._g.doc.createTextNode(g);y.appendChild(_),l.appendChild(y)}break;case\"href\":case\"target\":var k=l.parentNode;if(\"a\"!=k.tagName.toLowerCase()){var C=x(\"a\");k.insertBefore(C,l),C.appendChild(l),k=C}\"target\"==d?k.setAttributeNS(p,\"show\",\"blank\"==g?\"new\":g):k.setAttributeNS(p,d,g);break;case\"cursor\":l.style.cursor=g;break;case\"transform\":i.transform(g);break;case\"arrow-start\":b(i,g);break;case\"arrow-end\":b(i,g,1);break;case\"clip-rect\":var S=r(g).split(h);if(4==S.length){i.clip&&i.clip.parentNode.parentNode.removeChild(i.clip.parentNode);var T=x(\"clipPath\"),A=x(\"rect\");T.id=t.createUUID(),x(A,{x:S[0],y:S[1],width:S[2],height:S[3]}),T.appendChild(A),i.paper.defs.appendChild(T),x(l,{\"clip-path\":\"url(#\"+T.id+\")\"}),i.clip=A}if(!g){var M=l.getAttribute(\"clip-path\");if(M){var E=t._g.doc.getElementById(M.replace(/(^url\\(#|\\)$)/g,c));E&&E.parentNode.removeChild(E),x(l,{\"clip-path\":c}),delete i.clip}}break;case\"path\":\"path\"==i.type&&(x(l,{d:g?u.path=t._pathToAbsolute(g):\"M0,0\"}),i._.dirty=1,i._.arrows&&(\"startString\"in i._.arrows&&b(i,i._.arrows.startString),\"endString\"in i._.arrows&&b(i,i._.arrows.endString,1)));break;case\"width\":if(l.setAttribute(d,g),i._.dirty=1,!u.fx)break;d=\"x\",g=u.x;case\"x\":u.fx&&(g=-u.x-(u.width||0));case\"rx\":if(\"rx\"==d&&\"rect\"==i.type)break;case\"cx\":l.setAttribute(d,g),i.pattern&&m(i),i._.dirty=1;break;case\"height\":if(l.setAttribute(d,g),i._.dirty=1,!u.fy)break;d=\"y\",g=u.y;case\"y\":u.fy&&(g=-u.y-(u.height||0));case\"ry\":if(\"ry\"==d&&\"rect\"==i.type)break;case\"cy\":l.setAttribute(d,g),i.pattern&&m(i),i._.dirty=1;break;case\"r\":\"rect\"==i.type?x(l,{rx:g,ry:g}):l.setAttribute(d,g),i._.dirty=1;break;case\"src\":\"image\"==i.type&&l.setAttributeNS(p,\"href\",g);break;case\"stroke-width\":1==i._.sx&&1==i._.sy||(g/=s(o(i._.sx),o(i._.sy))||1),l.setAttribute(d,g),u[\"stroke-dasharray\"]&&w(i,u[\"stroke-dasharray\"],a),i._.arrows&&(\"startString\"in i._.arrows&&b(i,i._.arrows.startString),\"endString\"in i._.arrows&&b(i,i._.arrows.endString,1));break;case\"stroke-dasharray\":w(i,g,a);break;case\"fill\":var N=r(g).match(t._ISURL);if(N){T=x(\"pattern\");var L=x(\"image\");T.id=t.createUUID(),x(T,{x:0,y:0,patternUnits:\"userSpaceOnUse\",height:1,width:1}),x(L,{x:0,y:0,\"xlink:href\":N[1]}),T.appendChild(L),function(e){t._preload(N[1],function(){var t=this.offsetWidth,r=this.offsetHeight;x(e,{width:t,height:r}),x(L,{width:t,height:r})})}(T),i.paper.defs.appendChild(T),x(l,{fill:\"url(#\"+T.id+\")\"}),i.pattern=T,i.pattern&&m(i);break}var P=t.getRGB(g);if(P.error){if((\"circle\"==i.type||\"ellipse\"==i.type||\"r\"!=r(g).charAt())&&v(i,g)){if(\"opacity\"in u||\"fill-opacity\"in u){var z=t._g.doc.getElementById(l.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g,c));if(z){var F=z.getElementsByTagName(\"stop\");x(F[F.length-1],{\"stop-opacity\":(\"opacity\"in u?u.opacity:1)*(\"fill-opacity\"in u?u[\"fill-opacity\"]:1)})}}u.gradient=g,u.fill=\"none\";break}}else delete a.gradient,delete u.gradient,!t.is(u.opacity,\"undefined\")&&t.is(a.opacity,\"undefined\")&&x(l,{opacity:u.opacity}),!t.is(u[\"fill-opacity\"],\"undefined\")&&t.is(a[\"fill-opacity\"],\"undefined\")&&x(l,{\"fill-opacity\":u[\"fill-opacity\"]});P[e](\"opacity\")&&x(l,{\"fill-opacity\":P.opacity>1?P.opacity/100:P.opacity});case\"stroke\":P=t.getRGB(g),l.setAttribute(d,P.hex),\"stroke\"==d&&P[e](\"opacity\")&&x(l,{\"stroke-opacity\":P.opacity>1?P.opacity/100:P.opacity}),\"stroke\"==d&&i._.arrows&&(\"startString\"in i._.arrows&&b(i,i._.arrows.startString),\"endString\"in i._.arrows&&b(i,i._.arrows.endString,1));break;case\"gradient\":(\"circle\"==i.type||\"ellipse\"==i.type||\"r\"!=r(g).charAt())&&v(i,g);break;case\"opacity\":u.gradient&&!u[e](\"stroke-opacity\")&&x(l,{\"stroke-opacity\":g>1?g/100:g});case\"fill-opacity\":if(u.gradient){(z=t._g.doc.getElementById(l.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g,c)))&&(F=z.getElementsByTagName(\"stop\"),x(F[F.length-1],{\"stop-opacity\":g}));break}default:\"font-size\"==d&&(g=n(g,10)+\"px\");var R=d.replace(/(\\-.)/g,function(t){return t.substring(1).toUpperCase()});l.style[R]=g,i._.dirty=1,l.setAttribute(d,g)}}B(i,a),l.style.visibility=f},B=function(i,a){if(\"text\"==i.type&&(a[e](\"text\")||a[e](\"font\")||a[e](\"font-size\")||a[e](\"x\")||a[e](\"y\"))){var s=i.attrs,o=i.node,l=o.firstChild?n(t._g.doc.defaultView.getComputedStyle(o.firstChild,c).getPropertyValue(\"font-size\"),10):10;if(a[e](\"text\")){for(s.text=a.text;o.firstChild;)o.removeChild(o.firstChild);for(var h,u=r(a.text).split(\"\\n\"),f=[],p=0,d=u.length;p<d;p++)h=x(\"tspan\"),p&&x(h,{dy:1.2*l,x:s.x}),h.appendChild(t._g.doc.createTextNode(u[p])),o.appendChild(h),f[p]=h}else for(p=0,d=(f=o.getElementsByTagName(\"tspan\")).length;p<d;p++)p?x(f[p],{dy:1.2*l,x:s.x}):x(f[0],{dy:0});x(o,{x:s.x,y:s.y}),i._.dirty=1;var g=i._getBBox(),v=s.y-(g.y+g.height/2);v&&t.is(v,\"finite\")&&x(f[0],{dy:v})}},C=function(t){return t.parentNode&&\"a\"===t.parentNode.tagName.toLowerCase()?t.parentNode:t},S=function(e,r){this[0]=this.node=e,e.raphael=!0,this.id=(\"0000\"+(Math.random()*Math.pow(36,5)<<0).toString(36)).slice(-5),e.raphaelid=this.id,this.matrix=t.matrix(),this.realPath=null,this.paper=r,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!r.bottom&&(r.bottom=this),this.prev=r.top,r.top&&(r.top.next=this),r.top=this,this.next=null},T=t.el;S.prototype=T,T.constructor=S,t._engine.path=function(t,e){var r=x(\"path\");e.canvas&&e.canvas.appendChild(r);var i=new S(r,e);return i.type=\"path\",k(i,{fill:\"none\",stroke:\"#000\",path:t}),i},T.rotate=function(t,e,n){if(this.removed)return this;if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2])),t=i(t[0]),null==n&&(e=n),null==e||null==n){var a=this.getBBox(1);e=a.x+a.width/2,n=a.y+a.height/2}return this.transform(this._.transform.concat([[\"r\",t,e,n]])),this},T.scale=function(t,e,n,a){if(this.removed)return this;if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2]),a=i(t[3])),t=i(t[0]),null==e&&(e=t),null==a&&(n=a),null==n||null==a)var s=this.getBBox(1);return n=null==n?s.x+s.width/2:n,a=null==a?s.y+s.height/2:a,this.transform(this._.transform.concat([[\"s\",t,e,n,a]])),this},T.translate=function(t,e){return this.removed?this:((t=r(t).split(h)).length-1&&(e=i(t[1])),t=i(t[0])||0,e=+e||0,this.transform(this._.transform.concat([[\"t\",t,e]])),this)},T.transform=function(r){var i=this._;if(null==r)return i.transform;if(t._extractTransform(this,r),this.clip&&x(this.clip,{transform:this.matrix.invert()}),this.pattern&&m(this),this.node&&x(this.node,{transform:this.matrix}),1!=i.sx||1!=i.sy){var n=this.attrs[e](\"stroke-width\")?this.attrs[\"stroke-width\"]:1;this.attr({\"stroke-width\":n})}return this},T.hide=function(){return this.removed||(this.node.style.display=\"none\"),this},T.show=function(){return this.removed||(this.node.style.display=\"\"),this},T.remove=function(){var e=C(this.node);if(!this.removed&&e.parentNode){var r=this.paper;for(var i in r.__set__&&r.__set__.exclude(this),u.unbind(\"raphael.*.*.\"+this.id),this.gradient&&r.defs.removeChild(this.gradient),t._tear(this,r),e.parentNode.removeChild(e),this.removeData(),this)this[i]=\"function\"==typeof this[i]?t._removedFactory(i):null;this.removed=!0}},T._getBBox=function(){if(\"none\"==this.node.style.display){this.show();var t=!0}var e,r=!1;this.paper.canvas.parentElement?e=this.paper.canvas.parentElement.style:this.paper.canvas.parentNode&&(e=this.paper.canvas.parentNode.style),e&&\"none\"==e.display&&(r=!0,e.display=\"\");var i={};try{i=this.node.getBBox()}catch(t){i={x:this.node.clientLeft,y:this.node.clientTop,width:this.node.clientWidth,height:this.node.clientHeight}}finally{i=i||{},r&&(e.display=\"none\")}return t&&this.hide(),i},T.attr=function(r,i){if(this.removed)return this;if(null==r){var n={};for(var a in this.attrs)this.attrs[e](a)&&(n[a]=this.attrs[a]);return n.gradient&&\"none\"==n.fill&&(n.fill=n.gradient)&&delete n.gradient,n.transform=this._.transform,n}if(null==i&&t.is(r,\"string\")){if(\"fill\"==r&&\"none\"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if(\"transform\"==r)return this._.transform;for(var s=r.split(h),o={},l=0,c=s.length;l<c;l++)(r=s[l])in this.attrs?o[r]=this.attrs[r]:t.is(this.paper.customAttributes[r],\"function\")?o[r]=this.paper.customAttributes[r].def:o[r]=t._availableAttrs[r];return c-1?o:o[s[0]]}if(null==i&&t.is(r,\"array\")){for(o={},l=0,c=r.length;l<c;l++)o[r[l]]=this.attr(r[l]);return o}if(null!=i){var f={};f[r]=i}else null!=r&&t.is(r,\"object\")&&(f=r);for(var p in f)u(\"raphael.attr.\"+p+\".\"+this.id,this,f[p]);for(p in this.paper.customAttributes)if(this.paper.customAttributes[e](p)&&f[e](p)&&t.is(this.paper.customAttributes[p],\"function\")){var d=this.paper.customAttributes[p].apply(this,[].concat(f[p]));for(var g in this.attrs[p]=f[p],d)d[e](g)&&(f[g]=d[g])}return k(this,f),this},T.toFront=function(){if(this.removed)return this;var e=C(this.node);e.parentNode.appendChild(e);var r=this.paper;return r.top!=this&&t._tofront(this,r),this},T.toBack=function(){if(this.removed)return this;var e=C(this.node),r=e.parentNode;r.insertBefore(e,r.firstChild),t._toback(this,this.paper);this.paper;return this},T.insertAfter=function(e){if(this.removed||!e)return this;var r=C(this.node),i=C(e.node||e[e.length-1].node);return i.nextSibling?i.parentNode.insertBefore(r,i.nextSibling):i.parentNode.appendChild(r),t._insertafter(this,e,this.paper),this},T.insertBefore=function(e){if(this.removed||!e)return this;var r=C(this.node),i=C(e.node||e[0].node);return i.parentNode.insertBefore(r,i),t._insertbefore(this,e,this.paper),this},T.blur=function(e){var r=this;if(0!=+e){var i=x(\"filter\"),n=x(\"feGaussianBlur\");r.attrs.blur=e,i.id=t.createUUID(),x(n,{stdDeviation:+e||1.5}),i.appendChild(n),r.paper.defs.appendChild(i),r._blur=i,x(r.node,{filter:\"url(#\"+i.id+\")\"})}else r._blur&&(r._blur.parentNode.removeChild(r._blur),delete r._blur,delete r.attrs.blur),r.node.removeAttribute(\"filter\");return r},t._engine.circle=function(t,e,r,i){var n=x(\"circle\");t.canvas&&t.canvas.appendChild(n);var a=new S(n,t);return a.attrs={cx:e,cy:r,r:i,fill:\"none\",stroke:\"#000\"},a.type=\"circle\",x(n,a.attrs),a},t._engine.rect=function(t,e,r,i,n,a){var s=x(\"rect\");t.canvas&&t.canvas.appendChild(s);var o=new S(s,t);return o.attrs={x:e,y:r,width:i,height:n,rx:a||0,ry:a||0,fill:\"none\",stroke:\"#000\"},o.type=\"rect\",x(s,o.attrs),o},t._engine.ellipse=function(t,e,r,i,n){var a=x(\"ellipse\");t.canvas&&t.canvas.appendChild(a);var s=new S(a,t);return s.attrs={cx:e,cy:r,rx:i,ry:n,fill:\"none\",stroke:\"#000\"},s.type=\"ellipse\",x(a,s.attrs),s},t._engine.image=function(t,e,r,i,n,a){var s=x(\"image\");x(s,{x:r,y:i,width:n,height:a,preserveAspectRatio:\"none\"}),s.setAttributeNS(p,\"href\",e),t.canvas&&t.canvas.appendChild(s);var o=new S(s,t);return o.attrs={x:r,y:i,width:n,height:a,src:e},o.type=\"image\",o},t._engine.text=function(e,r,i,n){var a=x(\"text\");e.canvas&&e.canvas.appendChild(a);var s=new S(a,e);return s.attrs={x:r,y:i,\"text-anchor\":\"middle\",text:n,\"font-family\":t._availableAttrs[\"font-family\"],\"font-size\":t._availableAttrs[\"font-size\"],stroke:\"none\",fill:\"#000\"},s.type=\"text\",k(s,s.attrs),s},t._engine.setSize=function(t,e){return this.width=t||this.width,this.height=e||this.height,this.canvas.setAttribute(\"width\",this.width),this.canvas.setAttribute(\"height\",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this},t._engine.create=function(){var e=t._getContainer.apply(0,arguments),r=e&&e.container;if(!r)throw new Error(\"SVG container not found.\");var i,n=e.x,a=e.y,s=e.width,o=e.height,l=x(\"svg\"),h=\"overflow:hidden;\";return n=n||0,a=a||0,x(l,{height:o=o||342,version:1.1,width:s=s||512,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}),1==r?(l.style.cssText=h+\"position:absolute;left:\"+n+\"px;top:\"+a+\"px\",t._g.doc.body.appendChild(l),i=1):(l.style.cssText=h+\"position:relative\",r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l)),(r=new t._Paper).width=s,r.height=o,r.canvas=l,r.clear(),r._left=r._top=0,i&&(r.renderfix=function(){}),r.renderfix(),r},t._engine.setViewBox=function(t,e,r,i,n){u(\"raphael.setViewBox\",this,this._viewBox,[t,e,r,i,n]);var a,o,l=this.getSize(),h=s(r/l.width,i/l.height),c=this.top,p=n?\"xMidYMid meet\":\"xMinYMin\";for(null==t?(this._vbSize&&(h=1),delete this._vbSize,a=\"0 0 \"+this.width+f+this.height):(this._vbSize=h,a=t+f+e+f+r+f+i),x(this.canvas,{viewBox:a,preserveAspectRatio:p});h&&c;)o=\"stroke-width\"in c.attrs?c.attrs[\"stroke-width\"]:1,c.attr({\"stroke-width\":o}),c._.dirty=1,c._.dirtyT=1,c=c.prev;return this._viewBox=[t,e,r,i,!!n],this},t.prototype.renderfix=function(){var t,e=this.canvas,r=e.style;try{t=e.getScreenCTM()||e.createSVGMatrix()}catch(r){t=e.createSVGMatrix()}var i=-t.e%1,n=-t.f%1;(i||n)&&(i&&(this._left=(this._left+i)%1,r.left=this._left+\"px\"),n&&(this._top=(this._top+n)%1,r.top=this._top+\"px\"))},t.prototype.clear=function(){t.eve(\"raphael.clear\",this);for(var e=this.canvas;e.firstChild;)e.removeChild(e.firstChild);this.bottom=this.top=null,(this.desc=x(\"desc\")).appendChild(t._g.doc.createTextNode(\"Created with Raphaël \"+t.version)),e.appendChild(this.desc),e.appendChild(this.defs=x(\"defs\"))},t.prototype.remove=function(){for(var e in u(\"raphael.remove\",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this)this[e]=\"function\"==typeof this[e]?t._removedFactory(e):null};var A=t.st;for(var M in T)T[e](M)&&!A[e](M)&&(A[M]=function(t){return function(){var e=arguments;return this.forEach(function(r){r[t].apply(r,e)})}}(M))}}.apply(e,i))||(t.exports=n)},function(t,e,r){var i,n;i=[r(0)],void 0===(n=function(t){if(!t||t.vml){var e=\"hasOwnProperty\",r=String,i=parseFloat,n=Math,a=n.round,s=n.max,o=n.min,l=n.abs,h=/[, ]+/,u=t.eve,c=\" \",f=\"\",p={M:\"m\",L:\"l\",C:\"c\",Z:\"x\",m:\"t\",l:\"r\",c:\"v\",z:\"x\"},d=/([clmz]),?([^clmz]*)/gi,g=/ progid:\\S+Blur\\([^\\)]+\\)/g,x=/-?[^,\\s-]+/g,v=\"position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)\",y=21600,m={path:1,rect:1,image:1},b={circle:1,ellipse:1},_=function(e,r,i){var n=t.matrix();return n.rotate(-e,.5,.5),{dx:n.x(r,i),dy:n.y(r,i)}},w=function(t,e,r,i,n,a){var s=t._,o=t.matrix,h=s.fillpos,u=t.node,f=u.style,p=1,d=\"\",g=y/e,x=y/r;if(f.visibility=\"hidden\",e&&r){if(u.coordsize=l(g)+c+l(x),f.rotation=a*(e*r<0?-1:1),a){var v=_(a,i,n);i=v.dx,n=v.dy}if(e<0&&(d+=\"x\"),r<0&&(d+=\" y\")&&(p=-1),f.flip=d,u.coordorigin=i*-g+c+n*-x,h||s.fillsize){var m=u.getElementsByTagName(\"fill\");m=m&&m[0],u.removeChild(m),h&&(v=_(a,o.x(h[0],h[1]),o.y(h[0],h[1])),m.position=v.dx*p+c+v.dy*p),s.fillsize&&(m.size=s.fillsize[0]*l(e)+c+s.fillsize[1]*l(r)),u.appendChild(m)}f.visibility=\"visible\"}};t.toString=function(){return\"Your browser doesn’t support SVG. Falling down to VML.\\nYou are running Raphaël \"+this.version};var k,B=function(t,e,i){for(var n=r(e).toLowerCase().split(\"-\"),a=i?\"end\":\"start\",s=n.length,o=\"classic\",l=\"medium\",h=\"medium\";s--;)switch(n[s]){case\"block\":case\"classic\":case\"oval\":case\"diamond\":case\"open\":case\"none\":o=n[s];break;case\"wide\":case\"narrow\":h=n[s];break;case\"long\":case\"short\":l=n[s]}var u=t.node.getElementsByTagName(\"stroke\")[0];u[a+\"arrow\"]=o,u[a+\"arrowlength\"]=l,u[a+\"arrowwidth\"]=h},C=function(n,l){n.attrs=n.attrs||{};var u=n.node,g=n.attrs,v=u.style,_=m[n.type]&&(l.x!=g.x||l.y!=g.y||l.width!=g.width||l.height!=g.height||l.cx!=g.cx||l.cy!=g.cy||l.rx!=g.rx||l.ry!=g.ry||l.r!=g.r),C=b[n.type]&&(g.cx!=l.cx||g.cy!=l.cy||g.r!=l.r||g.rx!=l.rx||g.ry!=l.ry),T=n;for(var A in l)l[e](A)&&(g[A]=l[A]);if(_&&(g.path=t._getPath[n.type](n),n._.dirty=1),l.href&&(u.href=l.href),l.title&&(u.title=l.title),l.target&&(u.target=l.target),l.cursor&&(v.cursor=l.cursor),\"blur\"in l&&n.blur(l.blur),(l.path&&\"path\"==n.type||_)&&(u.path=function(e){var i=/[ahqstv]/gi,n=t._pathToAbsolute;if(r(e).match(i)&&(n=t._path2curve),i=/[clmz]/g,n==t._pathToAbsolute&&!r(e).match(i)){var s=r(e).replace(d,function(t,e,r){var i=[],n=\"m\"==e.toLowerCase(),s=p[e];return r.replace(x,function(t){n&&2==i.length&&(s+=i+p[\"m\"==e?\"l\":\"L\"],i=[]),i.push(a(t*y))}),s+i});return s}var o,l,h=n(e);s=[];for(var u=0,g=h.length;u<g;u++){o=h[u],\"z\"==(l=h[u][0].toLowerCase())&&(l=\"x\");for(var v=1,m=o.length;v<m;v++)l+=a(o[v]*y)+(v!=m-1?\",\":f);s.push(l)}return s.join(c)}(~r(g.path).toLowerCase().indexOf(\"r\")?t._pathToAbsolute(g.path):g.path),n._.dirty=1,\"image\"==n.type&&(n._.fillpos=[g.x,g.y],n._.fillsize=[g.width,g.height],w(n,1,1,0,0,0))),\"transform\"in l&&n.transform(l.transform),C){var M=+g.cx,E=+g.cy,N=+g.rx||+g.r||0,L=+g.ry||+g.r||0;u.path=t.format(\"ar{0},{1},{2},{3},{4},{1},{4},{1}x\",a((M-N)*y),a((E-L)*y),a((M+N)*y),a((E+L)*y),a(M*y)),n._.dirty=1}if(\"clip-rect\"in l){var P=r(l[\"clip-rect\"]).split(h);if(4==P.length){P[2]=+P[2]+ +P[0],P[3]=+P[3]+ +P[1];var z=u.clipRect||t._g.doc.createElement(\"div\"),F=z.style;F.clip=t.format(\"rect({1}px {2}px {3}px {0}px)\",P),u.clipRect||(F.position=\"absolute\",F.top=0,F.left=0,F.width=n.paper.width+\"px\",F.height=n.paper.height+\"px\",u.parentNode.insertBefore(z,u),z.appendChild(u),u.clipRect=z)}l[\"clip-rect\"]||u.clipRect&&(u.clipRect.style.clip=\"auto\")}if(n.textpath){var R=n.textpath.style;l.font&&(R.font=l.font),l[\"font-family\"]&&(R.fontFamily='\"'+l[\"font-family\"].split(\",\")[0].replace(/^['\"]+|['\"]+$/g,f)+'\"'),l[\"font-size\"]&&(R.fontSize=l[\"font-size\"]),l[\"font-weight\"]&&(R.fontWeight=l[\"font-weight\"]),l[\"font-style\"]&&(R.fontStyle=l[\"font-style\"])}if(\"arrow-start\"in l&&B(T,l[\"arrow-start\"]),\"arrow-end\"in l&&B(T,l[\"arrow-end\"],1),null!=l.opacity||null!=l.fill||null!=l.src||null!=l.stroke||null!=l[\"stroke-width\"]||null!=l[\"stroke-opacity\"]||null!=l[\"fill-opacity\"]||null!=l[\"stroke-dasharray\"]||null!=l[\"stroke-miterlimit\"]||null!=l[\"stroke-linejoin\"]||null!=l[\"stroke-linecap\"]){var j=u.getElementsByTagName(\"fill\");if(!(j=j&&j[0])&&(j=k(\"fill\")),\"image\"==n.type&&l.src&&(j.src=l.src),l.fill&&(j.on=!0),null!=j.on&&\"none\"!=l.fill&&null!==l.fill||(j.on=!1),j.on&&l.fill){var I=r(l.fill).match(t._ISURL);if(I){j.parentNode==u&&u.removeChild(j),j.rotate=!0,j.src=I[1],j.type=\"tile\";var D=n.getBBox(1);j.position=D.x+c+D.y,n._.fillpos=[D.x,D.y],t._preload(I[1],function(){n._.fillsize=[this.offsetWidth,this.offsetHeight]})}else j.color=t.getRGB(l.fill).hex,j.src=f,j.type=\"solid\",t.getRGB(l.fill).error&&(T.type in{circle:1,ellipse:1}||\"r\"!=r(l.fill).charAt())&&S(T,l.fill,j)&&(g.fill=\"none\",g.gradient=l.fill,j.rotate=!1)}if(\"fill-opacity\"in l||\"opacity\"in l){var q=((+g[\"fill-opacity\"]+1||2)-1)*((+g.opacity+1||2)-1)*((+t.getRGB(l.fill).o+1||2)-1);q=o(s(q,0),1),j.opacity=q,j.src&&(j.color=\"none\")}u.appendChild(j);var O=u.getElementsByTagName(\"stroke\")&&u.getElementsByTagName(\"stroke\")[0],V=!1;!O&&(V=O=k(\"stroke\")),(l.stroke&&\"none\"!=l.stroke||l[\"stroke-width\"]||null!=l[\"stroke-opacity\"]||l[\"stroke-dasharray\"]||l[\"stroke-miterlimit\"]||l[\"stroke-linejoin\"]||l[\"stroke-linecap\"])&&(O.on=!0),(\"none\"==l.stroke||null===l.stroke||null==O.on||0==l.stroke||0==l[\"stroke-width\"])&&(O.on=!1);var W=t.getRGB(l.stroke);O.on&&l.stroke&&(O.color=W.hex),q=((+g[\"stroke-opacity\"]+1||2)-1)*((+g.opacity+1||2)-1)*((+W.o+1||2)-1);var Y=.75*(i(l[\"stroke-width\"])||1);if(q=o(s(q,0),1),null==l[\"stroke-width\"]&&(Y=g[\"stroke-width\"]),l[\"stroke-width\"]&&(O.weight=Y),Y&&Y<1&&(q*=Y)&&(O.weight=1),O.opacity=q,l[\"stroke-linejoin\"]&&(O.joinstyle=l[\"stroke-linejoin\"]||\"miter\"),O.miterlimit=l[\"stroke-miterlimit\"]||8,l[\"stroke-linecap\"]&&(O.endcap=\"butt\"==l[\"stroke-linecap\"]?\"flat\":\"square\"==l[\"stroke-linecap\"]?\"square\":\"round\"),\"stroke-dasharray\"in l){var G={\"-\":\"shortdash\",\".\":\"shortdot\",\"-.\":\"shortdashdot\",\"-..\":\"shortdashdotdot\",\". \":\"dot\",\"- \":\"dash\",\"--\":\"longdash\",\"- .\":\"dashdot\",\"--.\":\"longdashdot\",\"--..\":\"longdashdotdot\"};O.dashstyle=G[e](l[\"stroke-dasharray\"])?G[l[\"stroke-dasharray\"]]:f}V&&u.appendChild(O)}if(\"text\"==T.type){T.paper.canvas.style.display=f;var H=T.paper.span,X=g.font&&g.font.match(/\\d+(?:\\.\\d*)?(?=px)/);v=H.style,g.font&&(v.font=g.font),g[\"font-family\"]&&(v.fontFamily=g[\"font-family\"]),g[\"font-weight\"]&&(v.fontWeight=g[\"font-weight\"]),g[\"font-style\"]&&(v.fontStyle=g[\"font-style\"]),X=i(g[\"font-size\"]||X&&X[0])||10,v.fontSize=100*X+\"px\",T.textpath.string&&(H.innerHTML=r(T.textpath.string).replace(/</g,\"<\").replace(/&/g,\"&\").replace(/\\n/g,\"<br>\"));var U=H.getBoundingClientRect();T.W=g.w=(U.right-U.left)/100,T.H=g.h=(U.bottom-U.top)/100,T.X=g.x,T.Y=g.y+T.H/2,(\"x\"in l||\"y\"in l)&&(T.path.v=t.format(\"m{0},{1}l{2},{1}\",a(g.x*y),a(g.y*y),a(g.x*y)+1));for(var $=[\"x\",\"y\",\"text\",\"font\",\"font-family\",\"font-weight\",\"font-style\",\"font-size\"],Z=0,Q=$.length;Z<Q;Z++)if($[Z]in l){T._.dirty=1;break}switch(g[\"text-anchor\"]){case\"start\":T.textpath.style[\"v-text-align\"]=\"left\",T.bbx=T.W/2;break;case\"end\":T.textpath.style[\"v-text-align\"]=\"right\",T.bbx=-T.W/2;break;default:T.textpath.style[\"v-text-align\"]=\"center\",T.bbx=0}T.textpath.style[\"v-text-kern\"]=!0}},S=function(e,a,s){e.attrs=e.attrs||{};e.attrs;var o=Math.pow,l=\"linear\",h=\".5 .5\";if(e.attrs.gradient=a,a=(a=r(a).replace(t._radial_gradient,function(t,e,r){return l=\"radial\",e&&r&&(e=i(e),r=i(r),o(e-.5,2)+o(r-.5,2)>.25&&(r=n.sqrt(.25-o(e-.5,2))*(2*(r>.5)-1)+.5),h=e+c+r),f})).split(/\\s*\\-\\s*/),\"linear\"==l){var u=a.shift();if(u=-i(u),isNaN(u))return null}var p=t._parseDots(a);if(!p)return null;if(e=e.shape||e.node,p.length){e.removeChild(s),s.on=!0,s.method=\"none\",s.color=p[0].color,s.color2=p[p.length-1].color;for(var d=[],g=0,x=p.length;g<x;g++)p[g].offset&&d.push(p[g].offset+c+p[g].color);s.colors=d.length?d.join():\"0% \"+s.color,\"radial\"==l?(s.type=\"gradientTitle\",s.focus=\"100%\",s.focussize=\"0 0\",s.focusposition=h,s.angle=0):(s.type=\"gradient\",s.angle=(270-u)%360),e.appendChild(s)}return 1},T=function(e,r){this[0]=this.node=e,e.raphael=!0,this.id=t._oid++,e.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=r,this.matrix=t.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!r.bottom&&(r.bottom=this),this.prev=r.top,r.top&&(r.top.next=this),r.top=this,this.next=null},A=t.el;T.prototype=A,A.constructor=T,A.transform=function(e){if(null==e)return this._.transform;var i,n=this.paper._viewBoxShift,a=n?\"s\"+[n.scale,n.scale]+\"-1-1t\"+[n.dx,n.dy]:f;n&&(i=e=r(e).replace(/\\.{3}|\\u2026/g,this._.transform||f)),t._extractTransform(this,a+e);var s,o=this.matrix.clone(),l=this.skew,h=this.node,u=~r(this.attrs.fill).indexOf(\"-\"),p=!r(this.attrs.fill).indexOf(\"url(\");if(o.translate(1,1),p||u||\"image\"==this.type)if(l.matrix=\"1 0 0 1\",l.offset=\"0 0\",s=o.split(),u&&s.noRotation||!s.isSimple){h.style.filter=o.toFilter();var d=this.getBBox(),g=this.getBBox(1),x=d.x-g.x,v=d.y-g.y;h.coordorigin=x*-y+c+v*-y,w(this,1,1,x,v,0)}else h.style.filter=f,w(this,s.scalex,s.scaley,s.dx,s.dy,s.rotate);else h.style.filter=f,l.matrix=r(o),l.offset=o.offset();return null!==i&&(this._.transform=i,t._extractTransform(this,i)),this},A.rotate=function(t,e,n){if(this.removed)return this;if(null!=t){if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2])),t=i(t[0]),null==n&&(e=n),null==e||null==n){var a=this.getBBox(1);e=a.x+a.width/2,n=a.y+a.height/2}return this._.dirtyT=1,this.transform(this._.transform.concat([[\"r\",t,e,n]])),this}},A.translate=function(t,e){return this.removed?this:((t=r(t).split(h)).length-1&&(e=i(t[1])),t=i(t[0])||0,e=+e||0,this._.bbox&&(this._.bbox.x+=t,this._.bbox.y+=e),this.transform(this._.transform.concat([[\"t\",t,e]])),this)},A.scale=function(t,e,n,a){if(this.removed)return this;if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2]),a=i(t[3]),isNaN(n)&&(n=null),isNaN(a)&&(a=null)),t=i(t[0]),null==e&&(e=t),null==a&&(n=a),null==n||null==a)var s=this.getBBox(1);return n=null==n?s.x+s.width/2:n,a=null==a?s.y+s.height/2:a,this.transform(this._.transform.concat([[\"s\",t,e,n,a]])),this._.dirtyT=1,this},A.hide=function(){return!this.removed&&(this.node.style.display=\"none\"),this},A.show=function(){return!this.removed&&(this.node.style.display=f),this},A.auxGetBBox=t.el.getBBox,A.getBBox=function(){var t=this.auxGetBBox();if(this.paper&&this.paper._viewBoxShift){var e={},r=1/this.paper._viewBoxShift.scale;return e.x=t.x-this.paper._viewBoxShift.dx,e.x*=r,e.y=t.y-this.paper._viewBoxShift.dy,e.y*=r,e.width=t.width*r,e.height=t.height*r,e.x2=e.x+e.width,e.y2=e.y+e.height,e}return t},A._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},A.remove=function(){if(!this.removed&&this.node.parentNode){for(var e in this.paper.__set__&&this.paper.__set__.exclude(this),t.eve.unbind(\"raphael.*.*.\"+this.id),t._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape),this)this[e]=\"function\"==typeof this[e]?t._removedFactory(e):null;this.removed=!0}},A.attr=function(r,i){if(this.removed)return this;if(null==r){var n={};for(var a in this.attrs)this.attrs[e](a)&&(n[a]=this.attrs[a]);return n.gradient&&\"none\"==n.fill&&(n.fill=n.gradient)&&delete n.gradient,n.transform=this._.transform,n}if(null==i&&t.is(r,\"string\")){if(\"fill\"==r&&\"none\"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;for(var s=r.split(h),o={},l=0,c=s.length;l<c;l++)(r=s[l])in this.attrs?o[r]=this.attrs[r]:t.is(this.paper.customAttributes[r],\"function\")?o[r]=this.paper.customAttributes[r].def:o[r]=t._availableAttrs[r];return c-1?o:o[s[0]]}if(this.attrs&&null==i&&t.is(r,\"array\")){for(o={},l=0,c=r.length;l<c;l++)o[r[l]]=this.attr(r[l]);return o}var f;for(var p in null!=i&&((f={})[r]=i),null==i&&t.is(r,\"object\")&&(f=r),f)u(\"raphael.attr.\"+p+\".\"+this.id,this,f[p]);if(f){for(p in this.paper.customAttributes)if(this.paper.customAttributes[e](p)&&f[e](p)&&t.is(this.paper.customAttributes[p],\"function\")){var d=this.paper.customAttributes[p].apply(this,[].concat(f[p]));for(var g in this.attrs[p]=f[p],d)d[e](g)&&(f[g]=d[g])}f.text&&\"text\"==this.type&&(this.textpath.string=f.text),C(this,f)}return this},A.toFront=function(){return!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&t._tofront(this,this.paper),this},A.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),t._toback(this,this.paper)),this)},A.insertAfter=function(e){return this.removed?this:(e.constructor==t.st.constructor&&(e=e[e.length-1]),e.node.nextSibling?e.node.parentNode.insertBefore(this.node,e.node.nextSibling):e.node.parentNode.appendChild(this.node),t._insertafter(this,e,this.paper),this)},A.insertBefore=function(e){return this.removed?this:(e.constructor==t.st.constructor&&(e=e[0]),e.node.parentNode.insertBefore(this.node,e.node),t._insertbefore(this,e,this.paper),this)},A.blur=function(e){var r=this.node.runtimeStyle,i=r.filter;return i=i.replace(g,f),0!=+e?(this.attrs.blur=e,r.filter=i+c+\" progid:DXImageTransform.Microsoft.Blur(pixelradius=\"+(+e||1.5)+\")\",r.margin=t.format(\"-{0}px 0 0 -{0}px\",a(+e||1.5))):(r.filter=i,r.margin=0,delete this.attrs.blur),this},t._engine.path=function(t,e){var r=k(\"shape\");r.style.cssText=v,r.coordsize=y+c+y,r.coordorigin=e.coordorigin;var i=new T(r,e),n={fill:\"none\",stroke:\"#000\"};t&&(n.path=t),i.type=\"path\",i.path=[],i.Path=f,C(i,n),e.canvas&&e.canvas.appendChild(r);var a=k(\"skew\");return a.on=!0,r.appendChild(a),i.skew=a,i.transform(f),i},t._engine.rect=function(e,r,i,n,a,s){var o=t._rectPath(r,i,n,a,s),l=e.path(o),h=l.attrs;return l.X=h.x=r,l.Y=h.y=i,l.W=h.width=n,l.H=h.height=a,h.r=s,h.path=o,l.type=\"rect\",l},t._engine.ellipse=function(t,e,r,i,n){var a=t.path();a.attrs;return a.X=e-i,a.Y=r-n,a.W=2*i,a.H=2*n,a.type=\"ellipse\",C(a,{cx:e,cy:r,rx:i,ry:n}),a},t._engine.circle=function(t,e,r,i){var n=t.path();n.attrs;return n.X=e-i,n.Y=r-i,n.W=n.H=2*i,n.type=\"circle\",C(n,{cx:e,cy:r,r:i}),n},t._engine.image=function(e,r,i,n,a,s){var o=t._rectPath(i,n,a,s),l=e.path(o).attr({stroke:\"none\"}),h=l.attrs,u=l.node,c=u.getElementsByTagName(\"fill\")[0];return h.src=r,l.X=h.x=i,l.Y=h.y=n,l.W=h.width=a,l.H=h.height=s,h.path=o,l.type=\"image\",c.parentNode==u&&u.removeChild(c),c.rotate=!0,c.src=r,c.type=\"tile\",l._.fillpos=[i,n],l._.fillsize=[a,s],u.appendChild(c),w(l,1,1,0,0,0),l},t._engine.text=function(e,i,n,s){var o=k(\"shape\"),l=k(\"path\"),h=k(\"textpath\");i=i||0,n=n||0,s=s||\"\",l.v=t.format(\"m{0},{1}l{2},{1}\",a(i*y),a(n*y),a(i*y)+1),l.textpathok=!0,h.string=r(s),h.on=!0,o.style.cssText=v,o.coordsize=y+c+y,o.coordorigin=\"0 0\";var u=new T(o,e),p={fill:\"#000\",stroke:\"none\",font:t._availableAttrs.font,text:s};u.shape=o,u.path=l,u.textpath=h,u.type=\"text\",u.attrs.text=r(s),u.attrs.x=i,u.attrs.y=n,u.attrs.w=1,u.attrs.h=1,C(u,p),o.appendChild(h),o.appendChild(l),e.canvas.appendChild(o);var d=k(\"skew\");return d.on=!0,o.appendChild(d),u.skew=d,u.transform(f),u},t._engine.setSize=function(e,r){var i=this.canvas.style;return this.width=e,this.height=r,e==+e&&(e+=\"px\"),r==+r&&(r+=\"px\"),i.width=e,i.height=r,i.clip=\"rect(0 \"+e+\" \"+r+\" 0)\",this._viewBox&&t._engine.setViewBox.apply(this,this._viewBox),this},t._engine.setViewBox=function(e,r,i,n,a){t.eve(\"raphael.setViewBox\",this,this._viewBox,[e,r,i,n,a]);var s,o,l=this.getSize(),h=l.width,u=l.height;return a&&(i*(s=u/n)<h&&(e-=(h-i*s)/2/s),n*(o=h/i)<u&&(r-=(u-n*o)/2/o)),this._viewBox=[e,r,i,n,!!a],this._viewBoxShift={dx:-e,dy:-r,scale:l},this.forEach(function(t){t.transform(\"...\")}),this},t._engine.initWin=function(t){var e=t.document;e.styleSheets.length<31?e.createStyleSheet().addRule(\".rvml\",\"behavior:url(#default#VML)\"):e.styleSheets[0].addRule(\".rvml\",\"behavior:url(#default#VML)\");try{!e.namespaces.rvml&&e.namespaces.add(\"rvml\",\"urn:schemas-microsoft-com:vml\"),k=function(t){return e.createElement(\"<rvml:\"+t+' class=\"rvml\">')}}catch(t){k=function(t){return e.createElement(\"<\"+t+' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">')}}},t._engine.initWin(t._g.win),t._engine.create=function(){var e=t._getContainer.apply(0,arguments),r=e.container,i=e.height,n=e.width,a=e.x,s=e.y;if(!r)throw new Error(\"VML container not found.\");var o=new t._Paper,l=o.canvas=t._g.doc.createElement(\"div\"),h=l.style;return a=a||0,s=s||0,n=n||512,i=i||342,o.width=n,o.height=i,n==+n&&(n+=\"px\"),i==+i&&(i+=\"px\"),o.coordsize=216e5+c+216e5,o.coordorigin=\"0 0\",o.span=t._g.doc.createElement(\"span\"),o.span.style.cssText=\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;\",l.appendChild(o.span),h.cssText=t.format(\"top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden\",n,i),1==r?(t._g.doc.body.appendChild(l),h.left=a+\"px\",h.top=s+\"px\",h.position=\"absolute\"):r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l),o.renderfix=function(){},o},t.prototype.clear=function(){t.eve(\"raphael.clear\",this),this.canvas.innerHTML=f,this.span=t._g.doc.createElement(\"span\"),this.span.style.cssText=\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;\",this.canvas.appendChild(this.span),this.bottom=this.top=null},t.prototype.remove=function(){for(var e in t.eve(\"raphael.remove\",this),this.canvas.parentNode.removeChild(this.canvas),this)this[e]=\"function\"==typeof this[e]?t._removedFactory(e):null;return!0};var M=t.st;for(var E in A)A[e](E)&&!M[e](E)&&(M[E]=function(t){return function(){var e=arguments;return this.forEach(function(r){r[t].apply(r,e)})}}(E))}}.apply(e,i))||(t.exports=n)}])});","/**\n * JustGage - Animated gauges using RaphaelJS\n * Check http://www.justgage.com for official releases\n * Licensed under MIT.\n * @author Bojan Djuricic (@Toorshia)\n **/\n\nimport Raphael from \"raphael\";\n\nexport default class JustGage {\n\n\tconstructor(config) {\n\t\t// Helps in case developer wants to debug it. unobtrusive\n\t\tif (isUndefined(config)) {\n\t\t\tthrow new Error(\"* justgage: Make sure to pass options to the constructor!\");\n\t\t}\n\t\tthis.events = {};\n\n\t\tthis.node = config.element;\n\n\t\tconst dataset = this.node.dataset ? this.node.dataset : {};\n\n\t\t// check for defaults\n\t\tconst defaults = !isUndefined(config.defaults) ? config.defaults : false;\n\t\tif (defaults !== false) {\n\t\t\tconfig = extend({});\n\t\t\tdelete config.defaults;\n\t\t}\n\n\t\t// configurable parameters\n\t\tthis.config = {\n\t\t\t// id : string\n\t\t\t// this is container element\n\t\t\telement: config.element,\n\n\t\t\t// classId : string\n\t\t\t// this is the class id utilize when generating styles\n\t\t\tclassId: uuid(),\n\n\t\t\t// value : float\n\t\t\t// value gauge is showing\n\t\t\tvalue: kvLookup(\"value\", config, dataset, 0, \"float\"),\n\n\t\t\t// defaults : bool\n\t\t\t// defaults parameter to use\n\t\t\tdefaults: kvLookup(\"defaults\", config, dataset, 0, false),\n\n\t\t\t// parentNode : node object\n\t\t\t// this is container element\n\t\t\tparentNode: kvLookup(\"parentNode\", config, dataset, null),\n\n\t\t\t// width : int\n\t\t\t// gauge width\n\t\t\twidth: kvLookup(\"width\", config, dataset, null),\n\n\t\t\t// height : int\n\t\t\t// gauge height\n\t\t\theight: kvLookup(\"height\", config, dataset, null),\n\n\t\t\t// valueFontColor : string\n\t\t\t// color of label showing current value\n\t\t\tvalueFontColor: kvLookup(\"valueFontColor\", config, dataset, \"#010101\"),\n\n\t\t\t// valueFontFamily : string\n\t\t\t// color of label showing current value\n\t\t\tvalueFontFamily: kvLookup(\"valueFontFamily\", config, dataset, \"Arial\"),\n\n\t\t\t// symbol : string\n\t\t\t// special symbol to show next to value\n\t\t\tsymbol: kvLookup(\"symbol\", config, dataset, \"\"),\n\n\t\t\t// min : float\n\t\t\t// min value\n\t\t\tmin: kvLookup(\"min\", config, dataset, 0, \"float\"),\n\n\t\t\t// minTxt : string\n\t\t\t// min value text\n\t\t\tminTxt: kvLookup(\"minTxt\", config, dataset, false),\n\n\t\t\t// max : float\n\t\t\t// max value\n\t\t\tmax: kvLookup(\"max\", config, dataset, 100, \"float\"),\n\n\t\t\t// maxTxt : string\n\t\t\t// max value text\n\t\t\tmaxTxt: kvLookup(\"maxTxt\", config, dataset, false),\n\n\t\t\t// reverse : bool\n\t\t\t// reverse min and max\n\t\t\treverse: kvLookup(\"reverse\", config, dataset, false),\n\n\t\t\t// humanFriendlyDecimal : int\n\t\t\t// number of decimal places for our human friendly number to contain\n\t\t\thumanFriendlyDecimal: kvLookup(\"humanFriendlyDecimal\", config, dataset, 0),\n\n\t\t\t// textRenderer: func\n\t\t\t// function applied before rendering text\n\t\t\ttextRenderer: kvLookup(\"textRenderer\", config, dataset, null),\n\n\t\t\t// onAnimationEnd: func\n\t\t\t// function applied after animation is done\n\t\t\tonAnimationEnd: kvLookup(\"onAnimationEnd\", config, dataset, null),\n\n\t\t\t// gaugeWidthScale : float\n\t\t\t// width of the gauge element\n\t\t\tgaugeWidthScale: kvLookup(\"gaugeWidthScale\", config, dataset, 1.0),\n\n\t\t\t// gaugeColor : string\n\t\t\t// background color of gauge element\n\t\t\tgaugeColor: kvLookup(\"gaugeColor\", config, dataset, \"#edebeb\"),\n\n\t\t\t// label : string\n\t\t\t// text to show below value\n\t\t\tlabel: kvLookup(\"label\", config, dataset, \"\"),\n\n\t\t\t// labelFontColor : string\n\t\t\t// color of label showing label under value\n\t\t\tlabelFontColor: kvLookup(\"labelFontColor\", config, dataset, \"#b3b3b3\"),\n\n\t\t\t// valueFontFamily : string\n\t\t\t// font-family for label as well as min/max value\n\t\t\tlabelFontFamily: kvLookup(\"labelFontFamily\", config, dataset, \"Arial\"),\n\n\t\t\t// shadowOpacity : int\n\t\t\t// 0 ~ 1\n\t\t\tshadowOpacity: kvLookup(\"shadowOpacity\", config, dataset, 0.2),\n\n\t\t\t// shadowSize: int\n\t\t\t// inner shadow size\n\t\t\tshadowSize: kvLookup(\"shadowSize\", config, dataset, 5),\n\n\t\t\t// shadowVerticalOffset : int\n\t\t\t// how much shadow is offset from top\n\t\t\tshadowVerticalOffset: kvLookup(\"shadowVerticalOffset\", config, dataset, 3),\n\n\t\t\t// levelColors : string[]\n\t\t\t// colors of indicator, from lower to upper, in RGB format\n\t\t\tlevelColors: kvLookup(\"levelColors\", config, dataset, [\"#a9d70b\", \"#f9c802\", \"#ff0000\"], \"array\", \",\"),\n\n\t\t\t// startAnimationTime : int\n\t\t\t// length of initial animation\n\t\t\tstartAnimationTime: kvLookup(\"startAnimationTime\", config, dataset, 700),\n\n\t\t\t// startAnimationType : string\n\t\t\t// type of initial animation (linear, >, <, <>, bounce)\n\t\t\tstartAnimationType: kvLookup(\"startAnimationType\", config, dataset, \">\"),\n\n\t\t\t// refreshAnimationTime : int\n\t\t\t// length of refresh animation\n\t\t\trefreshAnimationTime: kvLookup(\"refreshAnimationTime\", config, dataset, 700),\n\n\t\t\t// refreshAnimationType : string\n\t\t\t// type of refresh animation (linear, >, <, <>, bounce)\n\t\t\trefreshAnimationType: kvLookup(\"refreshAnimationType\", config, dataset, \">\"),\n\n\t\t\t// donutStartAngle : int\n\t\t\t// angle to start from when in donut mode\n\t\t\tdonutStartAngle: kvLookup(\"donutStartAngle\", config, dataset, 90),\n\n\t\t\t// valueMinFontSize : int\n\t\t\t// absolute minimum font size for the value\n\t\t\tvalueMinFontSize: kvLookup(\"valueMinFontSize\", config, dataset, 16),\n\n\t\t\t// labelMinFontSize\n\t\t\t// absolute minimum font size for the label\n\t\t\tlabelMinFontSize: kvLookup(\"labelMinFontSize\", config, dataset, 10),\n\n\t\t\t// minLabelMinFontSize\n\t\t\t// absolute minimum font size for the minimum label\n\t\t\tminLabelMinFontSize: kvLookup(\"minLabelMinFontSize\", config, dataset, 10),\n\n\t\t\t// maxLabelMinFontSize\n\t\t\t// absolute minimum font size for the maximum label\n\t\t\tmaxLabelMinFontSize: kvLookup(\"maxLabelMinFontSize\", config, dataset, 10),\n\n\t\t\t// hideValue : bool\n\t\t\t// hide value text\n\t\t\thideValue: kvLookup(\"hideValue\", config, dataset, false),\n\n\t\t\t// hideMinMax : bool\n\t\t\t// hide min and max values\n\t\t\thideMinMax: kvLookup(\"hideMinMax\", config, dataset, false),\n\n\t\t\t// showInnerShadow : bool\n\t\t\t// show inner shadow\n\t\t\tshowInnerShadow: kvLookup(\"showInnerShadow\", config, dataset, false),\n\n\t\t\t// humanFriendly : bool\n\t\t\t// convert large numbers for min, max, value to human friendly (e.g. 1234567 -> 1.23M)\n\t\t\thumanFriendly: kvLookup(\"humanFriendly\", config, dataset, false),\n\n\t\t\t// noGradient : bool\n\t\t\t// whether to use gradual color change for value, or sector-based\n\t\t\tnoGradient: kvLookup(\"noGradient\", config, dataset, false),\n\n\t\t\t// donut : bool\n\t\t\t// show full donut gauge\n\t\t\tdonut: kvLookup(\"donut\", config, dataset, false),\n\n\t\t\t// relativeGaugeSize : bool\n\t\t\t// whether gauge size should follow changes in container element size\n\t\t\trelativeGaugeSize: kvLookup(\"relativeGaugeSize\", config, dataset, false),\n\n\t\t\t// counter : bool\n\t\t\t// animate level number change\n\t\t\tcounter: kvLookup(\"counter\", config, dataset, false),\n\n\t\t\t// decimals : int\n\t\t\t// number of digits after floating point\n\t\t\tdecimals: kvLookup(\"decimals\", config, dataset, 0),\n\n\t\t\t// customSectors : object\n\t\t\t// custom sectors colors. Expects an object with props\n\t\t\t// percents : bool hi/lo are percents values\n\t\t\t// ranges : array of objects : {hi, lo, color}\n\t\t\tcustomSectors: kvLookup(\"customSectors\", config, dataset, {}),\n\n\t\t\t// formatNumber: boolean\n\t\t\t// formats numbers with commas where appropriate\n\t\t\tformatNumber: kvLookup(\"formatNumber\", config, dataset, false),\n\n\t\t\t// pointer : bool\n\t\t\t// show value pointer\n\t\t\tpointer: kvLookup(\"pointer\", config, dataset, false),\n\n\t\t\t// pointerOptions : object\n\t\t\t// define pointer look\n\t\t\tpointerOptions: kvLookup(\"pointerOptions\", config, dataset, {}),\n\n\t\t\t// displayRemaining: boolean\n\t\t\t// replace display number with the number remaining to reach max\n\t\t\tdisplayRemaining: kvLookup(\"displayRemaining\", config, dataset, false),\n\t\t};\n\n\t\t// variables\n\t\tlet canvasW,\n\t\t\tcanvasH,\n\t\t\twidgetW,\n\t\t\twidgetH,\n\t\t\taspect,\n\t\t\tdx,\n\t\t\tdy,\n\t\t\tvalueFontSize,\n\t\t\tvalueX,\n\t\t\tvalueY,\n\t\t\tlabelFontSize,\n\t\t\tlabelX,\n\t\t\tlabelY,\n\t\t\tminFontSize,\n\t\t\tminX,\n\t\t\tminY,\n\t\t\tmaxFontSize,\n\t\t\tmaxX,\n\t\t\tmaxY;\n\n\t\t// overflow values\n\t\tif (this.config.value > this.config.max) this.config.value = this.config.max;\n\t\tif (this.config.value < this.config.min) this.config.value = this.config.min;\n\t\tthis.originalValue = kvLookup(\"value\", config, dataset, -1, \"float\");\n\n\t\t// create canvas\n\t\tthis.canvas = Raphael(this.config.element, \"100%\", \"100%\");\n\n\t\t// canvas dimensions\n\t\tif (this.config.relativeGaugeSize === true) {\n\t\t\tif (this.config.donut === true) {\n\t\t\t\tthis.canvas.setViewBox(0, 0, 200, 200, true);\n\t\t\t\tcanvasW = 200;\n\t\t\t\tcanvasH = 200;\n\t\t\t} else {\n\t\t\t\tthis.canvas.setViewBox(0, 0, 200, 100, true);\n\t\t\t\tcanvasW = 200;\n\t\t\t\tcanvasH = 100;\n\t\t\t}\n\t\t} else if (this.config.width !== null && this.config.height !== null) {\n\t\t\tcanvasW = this.config.width;\n\t\t\tcanvasH = this.config.height;\n\t\t} else if (this.config.parentNode !== null) {\n\t\t\tthis.canvas.setViewBox(0, 0, 200, 100, true);\n\t\t\tcanvasW = 200;\n\t\t\tcanvasH = 100;\n\t\t} else {\n\t\t\tcanvasW = Number(getStyle(this.config.element, \"width\").slice(0, -2)) * 1;\n\t\t\tcanvasH = Number(getStyle(this.config.element, \"height\").slice(0, -2)) * 1;\n\t\t}\n\n\t\t// widget dimensions\n\t\tif (this.config.donut === true) {\n\t\t\tif (canvasW > canvasH) {\n\t\t\t\t// landscape\n\t\t\t\twidgetH = canvasH;\n\t\t\t\twidgetW = widgetH;\n\t\t\t\t// width less than height\n\t\t\t} else if (canvasW < canvasH) {\n\t\t\t\t// portrait\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW;\n\t\t\t} else {\n\t\t\t\t// square\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW;\n\t\t\t}\n\n\t\t\t// delta\n\t\t\tdx = (canvasW - widgetW) / 2;\n\t\t\tdy = (canvasH - widgetH) / 2;\n\n\t\t\t// value\n\t\t\tvalueFontSize = widgetH / 6.4 > 16 ? widgetH / 5.4 : 18;\n\t\t\tvalueX = dx + widgetW / 2;\n\t\t\tif (this.config.label !== \"\") {\n\t\t\t\tvalueY = dy + widgetH / 1.85;\n\t\t\t} else {\n\t\t\t\tvalueY = dy + widgetH / 1.7;\n\t\t\t}\n\n\t\t\t// label\n\t\t\tlabelFontSize = widgetH / 16 > 10 ? widgetH / 16 : 10;\n\t\t\tlabelX = dx + widgetW / 2;\n\t\t\tlabelY = valueY + labelFontSize;\n\n\t\t\t// min\n\t\t\tminFontSize = widgetH / 16 > 10 ? widgetH / 16 : 10;\n\t\t\tminX = dx + widgetW / 10 + ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tminY = labelY;\n\n\t\t\t// max\n\t\t\tmaxFontSize = widgetH / 16 > 10 ? widgetH / 16 : 10;\n\t\t\tmaxX = dx + widgetW - widgetW / 10 - ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tmaxY = labelY;\n\t\t} else {\n\t\t\tif (canvasW > canvasH) {\n\t\t\t\t// landscape\n\t\t\t\twidgetH = canvasH;\n\t\t\t\twidgetW = widgetH * 2;\n\t\t\t\tif (widgetW > canvasW) {\n\t\t\t\t\t// if width doesn't fit, rescale both\n\t\t\t\t\taspect = widgetW / canvasW;\n\t\t\t\t\twidgetW = widgetW / aspect;\n\t\t\t\t\twidgetH = widgetH / aspect;\n\t\t\t\t}\n\t\t\t} else if (canvasW < canvasH) {\n\t\t\t\t// portrait\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW / 2;\n\t\t\t} else {\n\t\t\t\t// square\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW * 0.5;\n\t\t\t}\n\n\t\t\t// delta\n\t\t\tdx = (canvasW - widgetW) / 2;\n\t\t\tdy = (canvasH - widgetH) / 2;\n\n\t\t\t// value\n\t\t\tvalueFontSize = widgetH / 6.5 > this.config.valueMinFontSize ? widgetH / 6.5 : this.config.valueMinFontSize;\n\t\t\tvalueX = dx + widgetW / 2;\n\t\t\tvalueY = dy + widgetH / 1.275;\n\n\t\t\t// label\n\t\t\tlabelFontSize = widgetH / 16 > this.config.labelMinFontSize ? widgetH / 16 : this.config.labelMinFontSize;\n\t\t\tlabelX = dx + widgetW / 2;\n\t\t\tlabelY = valueY + valueFontSize / 2 + 5;\n\n\t\t\t// min\n\t\t\tminFontSize = widgetH / 16 > this.config.minLabelMinFontSize ? widgetH / 16 : this.config.minLabelMinFontSize;\n\t\t\tminX = dx + widgetW / 10 + ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tminY = labelY;\n\n\t\t\t// max\n\t\t\tmaxFontSize = widgetH / 16 > this.config.maxLabelMinFontSize ? widgetH / 16 : this.config.maxLabelMinFontSize;\n\t\t\tmaxX = dx + widgetW - widgetW / 10 - ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tmaxY = labelY;\n\t\t}\n\n\t\t// parameters\n\t\tthis.params = {\n\t\t\tcanvasW: canvasW,\n\t\t\tcanvasH: canvasH,\n\t\t\twidgetW: widgetW,\n\t\t\twidgetH: widgetH,\n\t\t\tdx: dx,\n\t\t\tdy: dy,\n\t\t\tvalueFontSize: valueFontSize,\n\t\t\tvalueX: valueX,\n\t\t\tvalueY: valueY,\n\t\t\tlabelFontSize: labelFontSize,\n\t\t\tlabelX: labelX,\n\t\t\tlabelY: labelY,\n\t\t\tminFontSize: minFontSize,\n\t\t\tminX: minX,\n\t\t\tminY: minY,\n\t\t\tmaxFontSize: maxFontSize,\n\t\t\tmaxX: maxX,\n\t\t\tmaxY: maxY,\n\t\t};\n\n\t\t// var clear\n\t\t// canvasW, canvasH, widgetW, widgetH, aspect, dx, dy, valueFontSize, valueX, valueY, labelFontSize, labelX, labelY, minFontSize, minX, minY, maxFontSize, maxX, maxY = null\n\n\t\t/**\n\t\t * pki - custom attribute for generating gauge paths\n\t\t *\n\t\t * @param {Number} value display value\n\t\t * @returns SVG path string for gauge level\n\t\t */\n\t\tthis.canvas.customAttributes.pki = (value) => {\n\t\t\tlet min = this.config.min;\n\t\t\tlet max = this.config.max;\n\t\t\tconst w = this.params.widgetW;\n\t\t\tconst h = this.params.widgetH;\n\t\t\tconst dx = this.params.dx;\n\t\t\tconst dy = this.params.dy;\n\t\t\tconst gws = this.config.gaugeWidthScale;\n\t\t\tconst donut = this.config.donut;\n\n\t\t\tlet alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, path;\n\n\t\t\tif (min < 0) {\n\t\t\t\tmax -= min;\n\t\t\t\tvalue -= min;\n\t\t\t\tmin = 0;\n\t\t\t}\n\n\t\t\tif (donut) {\n\t\t\t\talpha = (1 - (2 * (value - min)) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 30;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\tCx = w / 2 + dx;\n\t\t\t\tCy = h / 2 + dy;\n\n\t\t\t\tXo = Cx + Ro * Math.cos(alpha);\n\t\t\t\tYo = Cy - Ro * Math.sin(alpha);\n\t\t\t\tXi = Cx + Ri * Math.cos(alpha);\n\t\t\t\tYi = Cy - Ri * Math.sin(alpha);\n\n\t\t\t\tpath = \"M\" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"L\" + (Cx - Ro) + \",\" + Cy + \" \";\n\t\t\t\tif (value - min > (max - min) / 2) {\n\t\t\t\t\tpath += \"A\" + Ro + \",\" + Ro + \" 0 0 1 \" + (Cx + Ro) + \",\" + Cy + \" \";\n\t\t\t\t}\n\t\t\t\tpath += \"A\" + Ro + \",\" + Ro + \" 0 0 1 \" + Xo + \",\" + Yo + \" \";\n\t\t\t\tpath += \"L\" + Xi + \",\" + Yi + \" \";\n\t\t\t\tif (value - min > (max - min) / 2) {\n\t\t\t\t\tpath += \"A\" + Ri + \",\" + Ri + \" 0 0 0 \" + (Cx + Ri) + \",\" + Cy + \" \";\n\t\t\t\t}\n\t\t\t\tpath += \"A\" + Ri + \",\" + Ri + \" 0 0 0 \" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\talpha = (1 - (value - min) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 10;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\tCx = w / 2 + dx;\n\t\t\t\tCy = h / 1.25 + dy;\n\n\t\t\t\t// Xo = w / 2 + dx + Ro * Math.cos(alpha);\n\t\t\t\t// Yo = h - (h - Cy) - Ro * Math.sin(alpha);\n\t\t\t\t// Xi = w / 2 + dx + Ri * Math.cos(alpha);\n\t\t\t\t// Yi = h - (h - Cy) - Ri * Math.sin(alpha);\n\n\t\t\t\tXo = Cx + Ro * Math.cos(alpha);\n\t\t\t\tYo = Cy - Ro * Math.sin(alpha);\n\t\t\t\tXi = Cx + Ri * Math.cos(alpha);\n\t\t\t\tYi = Cy - Ri * Math.sin(alpha);\n\n\t\t\t\tpath = \"M\" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"L\" + (Cx - Ro) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"A\" + Ro + \",\" + Ro + \" 0 0 1 \" + Xo + \",\" + Yo + \" \";\n\t\t\t\tpath += \"L\" + Xi + \",\" + Yi + \" \";\n\t\t\t\tpath += \"A\" + Ri + \",\" + Ri + \" 0 0 0 \" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * ndl - custom attribute for generating pointer path\n\t\t *\n\t\t * @param {Number} value display value\n\t\t * @returns SVG path string for gauge pointer\n\t\t */\n\t\tthis.canvas.customAttributes.ndl = function (value) {\n\t\t\tconst min = this.config.min;\n\t\t\tconst max = this.config.max;\n\t\t\tconst w = this.params.widgetW;\n\t\t\tconst h = this.params.widgetH;\n\t\t\tconst dx = this.params.dx;\n\t\t\tconst dy = this.params.dy;\n\t\t\tconst gws = this.config.gaugeWidthScale;\n\t\t\tconst donut = this.config.donut;\n\n\t\t\tlet dlt = (w * 3.5) / 100;\n\t\t\tlet dlb = w / 15;\n\t\t\tlet dw = w / 100;\n\n\t\t\tif (this.config.pointerOptions.toplength != null && this.config.pointerOptions.toplength !== undefined) dlt = this.config.pointerOptions.toplength;\n\t\t\tif (this.config.pointerOptions.bottomlength != null && this.config.pointerOptions.bottomlength !== undefined)\n\t\t\t\tdlb = this.config.pointerOptions.bottomlength;\n\t\t\tif (this.config.pointerOptions.bottomwidth != null && this.config.pointerOptions.bottomwidth !== undefined)\n\t\t\t\tdw = this.config.pointerOptions.bottomwidth;\n\n\t\t\tlet alpha, Ro, Ri, Cy, Xo, Yo, Xi, Yi, Xc, Yc, Xz, Yz, Xa, Ya, Xb, Yb, path;\n\n\t\t\tif (donut) {\n\t\t\t\talpha = (1 - (2 * (value - min)) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 30;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\t// Cx = w / 2 + dx\n\t\t\t\tCy = h / 2 + dy;\n\n\t\t\t\tXo = w / 2 + dx + Ro * Math.cos(alpha);\n\t\t\t\tYo = h - (h - Cy) - Ro * Math.sin(alpha);\n\t\t\t\tXi = w / 2 + dx + Ri * Math.cos(alpha);\n\t\t\t\tYi = h - (h - Cy) - Ri * Math.sin(alpha);\n\n\t\t\t\tXc = Xo + dlt * Math.cos(alpha);\n\t\t\t\tYc = Yo - dlt * Math.sin(alpha);\n\t\t\t\tXz = Xi - dlb * Math.cos(alpha);\n\t\t\t\tYz = Yi + dlb * Math.sin(alpha);\n\n\t\t\t\tXa = Xz + dw * Math.sin(alpha);\n\t\t\t\tYa = Yz + dw * Math.cos(alpha);\n\t\t\t\tXb = Xz - dw * Math.sin(alpha);\n\t\t\t\tYb = Yz - dw * Math.cos(alpha);\n\n\t\t\t\tpath = \"M\" + Xa + \",\" + Ya + \" \";\n\t\t\t\tpath += \"L\" + Xb + \",\" + Yb + \" \";\n\t\t\t\tpath += \"L\" + Xc + \",\" + Yc + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\talpha = (1 - (value - min) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 10;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\t// Cx = w / 2 + dx\n\t\t\t\tCy = h / 1.25 + dy;\n\n\t\t\t\tXo = w / 2 + dx + Ro * Math.cos(alpha);\n\t\t\t\tYo = h - (h - Cy) - Ro * Math.sin(alpha);\n\t\t\t\tXi = w / 2 + dx + Ri * Math.cos(alpha);\n\t\t\t\tYi = h - (h - Cy) - Ri * Math.sin(alpha);\n\n\t\t\t\tXc = Xo + dlt * Math.cos(alpha);\n\t\t\t\tYc = Yo - dlt * Math.sin(alpha);\n\t\t\t\tXz = Xi - dlb * Math.cos(alpha);\n\t\t\t\tYz = Yi + dlb * Math.sin(alpha);\n\n\t\t\t\tXa = Xz + dw * Math.sin(alpha);\n\t\t\t\tYa = Yz + dw * Math.cos(alpha);\n\t\t\t\tXb = Xz - dw * Math.sin(alpha);\n\t\t\t\tYb = Yz - dw * Math.cos(alpha);\n\n\t\t\t\tpath = \"M\" + Xa + \",\" + Ya + \" \";\n\t\t\t\tpath += \"L\" + Xb + \",\" + Yb + \" \";\n\t\t\t\tpath += \"L\" + Xc + \",\" + Yc + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\t// gauge\n\t\tthis.gauge = this.canvas.path().attr({\n\t\t\tstroke: \"none\",\n\t\t\tfill: this.config.gaugeColor,\n\t\t\tpki: [this.config.max],\n\t\t});\n\n\t\t// level\n\t\tthis.level = this.canvas.path().attr({\n\t\t\tstroke: \"none\",\n\t\t\tfill: getColor(\n\t\t\t\tthis.config.value,\n\t\t\t\t(this.config.value - this.config.min) / (this.config.max - this.config.min),\n\t\t\t\tthis.config.levelColors,\n\t\t\t\tthis.config.noGradient,\n\t\t\t\tthis.config.customSectors,\n\t\t\t),\n\t\t\tpki: [this.config.min],\n\t\t});\n\t\tif (this.config.donut) {\n\t\t\tthis.level.transform(\n\t\t\t\t\"r\" + this.config.donutStartAngle + \", \" + (this.params.widgetW / 2 + this.params.dx) + \", \" + (this.params.widgetH / 2 + this.params.dy),\n\t\t\t);\n\t\t}\n\n\t\tif (this.config.pointer) {\n\t\t\t// needle\n\t\t\tthis.needle = this.canvas.path().attr({\n\t\t\t\tstroke: !isUndefined(this.config.pointerOptions.stroke) ? this.config.pointerOptions.stroke : \"none\",\n\t\t\t\t\"stroke-width\": !isUndefined(this.config.pointerOptions.stroke_width) ? this.config.pointerOptions.stroke_width : 0,\n\t\t\t\t\"stroke-linecap\": !isUndefined(this.config.pointerOptions.stroke_linecap) ? this.config.pointerOptions.stroke_linecap : \"square\",\n\t\t\t\tfill: !isUndefined(this.config.pointerOptions.color) ? this.config.pointerOptions.color : \"#000000\",\n\t\t\t\tndl: [this.config.min],\n\t\t\t});\n\n\t\t\tif (this.config.donut) {\n\t\t\t\tthis.needle.transform(\n\t\t\t\t\t\"r\" + this.config.donutStartAngle + \", \" + (this.params.widgetW / 2 + this.params.dx) + \", \" + (this.params.widgetH / 2 + this.params.dy),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// value\n\t\tthis.txtValue = this.canvas.text(this.params.valueX, this.params.valueY, 0);\n\t\tthis.txtValue.attr({\n\t\t\t\"font-size\": this.params.valueFontSize,\n\t\t\t\"font-weight\": \"bold\",\n\t\t\t\"font-family\": this.config.valueFontFamily,\n\t\t\tfill: this.config.valueFontColor,\n\t\t\t\"fill-opacity\": \"0\",\n\t\t});\n\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\n\t\t// label\n\t\tthis.txtLabel = this.canvas.text(this.params.labelX, this.params.labelY, this.config.label);\n\t\tthis.txtLabel.attr({\n\t\t\t\"font-size\": this.params.labelFontSize,\n\t\t\t\"font-weight\": \"normal\",\n\t\t\t\"font-family\": this.config.labelFontFamily,\n\t\t\tfill: this.config.labelFontColor,\n\t\t\t\"fill-opacity\": \"0\",\n\t\t});\n\t\tsetDy(this.txtLabel, this.params.labelFontSize, this.params.labelY);\n\n\t\t// min\n\t\tlet min = this.config.min;\n\t\tif (this.config.reverse) {\n\t\t\tmin = this.config.max;\n\t\t}\n\n\t\tthis.txtMinimum = min;\n\t\tif (this.config.minTxt) {\n\t\t\tthis.txtMinimum = this.config.minTxt;\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tthis.txtMinimum = humanFriendlyNumber(min, this.config.humanFriendlyDecimal);\n\t\t} else if (this.config.formatNumber) {\n\t\t\tthis.txtMinimum = formatNumber(min);\n\t\t}\n\t\tthis.txtMin = this.canvas.text(this.params.minX, this.params.minY, this.txtMinimum);\n\t\tthis.txtMin.attr({\n\t\t\t\"font-size\": this.params.minFontSize,\n\t\t\t\"font-weight\": \"normal\",\n\t\t\t\"font-family\": this.config.labelFontFamily,\n\t\t\tfill: this.config.labelFontColor,\n\t\t\t\"fill-opacity\": this.config.hideMinMax || this.config.donut ? \"0\" : \"1\",\n\t\t});\n\t\tsetDy(this.txtMin, this.params.minFontSize, this.params.minY);\n\n\t\t// max\n\t\tlet max = this.config.max;\n\t\tif (this.config.reverse) {\n\t\t\tmax = this.config.min;\n\t\t}\n\t\tthis.txtMaximum = max;\n\t\tif (this.config.maxTxt) {\n\t\t\tthis.txtMaximum = this.config.maxTxt;\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tthis.txtMaximum = humanFriendlyNumber(max, this.config.humanFriendlyDecimal);\n\t\t} else if (this.config.formatNumber) {\n\t\t\tthis.txtMaximum = formatNumber(max);\n\t\t}\n\t\tthis.txtMax = this.canvas.text(this.params.maxX, this.params.maxY, this.txtMaximum);\n\t\tthis.txtMax.attr({\n\t\t\t\"font-size\": this.params.maxFontSize,\n\t\t\t\"font-weight\": \"normal\",\n\t\t\t\"font-family\": this.config.labelFontFamily,\n\t\t\tfill: this.config.labelFontColor,\n\t\t\t\"fill-opacity\": this.config.hideMinMax || this.config.donut ? \"0\" : \"1\",\n\t\t});\n\t\tsetDy(this.txtMax, this.params.maxFontSize, this.params.maxY);\n\n\t\tconst defs = this.canvas.canvas.childNodes[1];\n\t\tconst svg = \"http://www.w3.org/2000/svg\";\n\n\t\tif (ie !== undefined && ie < 9) {\n\t\t\t// VML mode - no SVG & SVG filter support\n\t\t} else if (ie !== undefined) {\n\t\t\tonCreateElementNsReady(() => {\n\t\t\t\tthis.generateShadow(svg, defs);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.generateShadow(svg, defs);\n\t\t}\n\n\t\t// set value to display\n\t\tif (this.config.textRenderer && this.config.textRenderer(this.originalValue) !== false) {\n\t\t\tthis.originalValue = this.config.textRenderer(this.originalValue);\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tthis.originalValue = humanFriendlyNumber(this.originalValue, this.config.humanFriendlyDecimal) + this.config.symbol;\n\t\t} else if (this.config.formatNumber) {\n\t\t\tthis.originalValue = formatNumber(this.originalValue) + this.config.symbol;\n\t\t} else if (this.config.displayRemaining) {\n\t\t\tthis.originalValue = ((this.config.max - this.originalValue) * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t} else {\n\t\t\tthis.originalValue = (this.originalValue * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t}\n\n\t\tif (this.config.counter === true) {\n\t\t\t// on each animation frame\n\t\t\tconst onFrame = () => {\n\t\t\t\tlet currentValue = this.level.attr(\"pki\")[0];\n\t\t\t\tif (this.config.reverse) {\n\t\t\t\t\tcurrentValue = this.config.max * 1 + this.config.min * 1 - this.level.attr(\"pki\")[0] * 1;\n\t\t\t\t}\n\t\t\t\tif (this.config.textRenderer && this.config.textRenderer(Math.floor(currentValue)) !== false) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", this.config.textRenderer(Math.floor(currentValue)));\n\t\t\t\t} else if (this.config.humanFriendly) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", humanFriendlyNumber(Math.floor(currentValue), this.config.humanFriendlyDecimal) + this.config.symbol);\n\t\t\t\t} else if (this.config.formatNumber) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", formatNumber(Math.floor(currentValue)) + this.config.symbol);\n\t\t\t\t} else if (this.config.displayRemaining) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", ((this.config.max - currentValue) * 1).toFixed(this.config.decimals) + this.config.symbol);\n\t\t\t\t} else {\n\t\t\t\t\tthis.txtValue.attr(\"text\", (currentValue * 1).toFixed(this.config.decimals) + this.config.symbol);\n\t\t\t\t}\n\t\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t\t\tcurrentValue = null;\n\t\t\t};\n\n\t\t\t// on animation end\n\t\t\tconst onFinish = () => {\n\t\t\t\tthis.txtValue.attr({\n\t\t\t\t\ttext: this.originalValue,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t\t};\n\n\t\t\tthis.bindEvent(\"raphael.anim.finish\", onFinish);\n\t\t\tthis.bindEvent(\"raphael.anim.frame\", onFrame);\n\t\t} else {\n\t\t\t// on animation start\n\t\t\tconst onStart = () => {\n\t\t\t\tthis.txtValue.attr({\n\t\t\t\t\ttext: this.originalValue,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t\t};\n\n\t\t\tthis.bindEvent(\"raphael.anim.start\", onStart);\n\t\t}\n\n\t\t// animate gauge level, value & label\n\t\tlet rvl = this.config.value;\n\t\tif (this.config.reverse) {\n\t\t\trvl = this.config.max * 1 + this.config.min * 1 - this.config.value * 1;\n\t\t}\n\t\tthis.level.animate(\n\t\t\t{\n\t\t\t\tpki: [rvl],\n\t\t\t},\n\t\t\tthis.config.startAnimationTime,\n\t\t\tthis.config.startAnimationType,\n\t\t\tthis.config.onAnimationEnd,\n\t\t);\n\n\t\tif (this.config.pointer) {\n\t\t\tthis.needle.animate(\n\t\t\t\t{\n\t\t\t\t\tndl: [rvl],\n\t\t\t\t},\n\t\t\t\tthis.config.startAnimationTime,\n\t\t\t\tthis.config.startAnimationType,\n\t\t\t);\n\t\t}\n\n\t\tthis.txtValue.animate(\n\t\t\t{\n\t\t\t\t\"fill-opacity\": this.config.hideValue ? \"0\" : \"1\",\n\t\t\t},\n\t\t\tthis.config.startAnimationTime,\n\t\t\tthis.config.startAnimationType,\n\t\t);\n\t\tthis.txtLabel.animate(\n\t\t\t{\n\t\t\t\t\"fill-opacity\": \"1\",\n\t\t\t},\n\t\t\tthis.config.startAnimationTime,\n\t\t\tthis.config.startAnimationType,\n\t\t);\n\t}\n\n\t/**\n\t * Bind a function to a Raphael eve event\n\t *\n\t * @param {String} eventName Raphael event name\n\t * @param {Function} func The function to call on that event\n\t */\n\tbindEvent(eventName, func) {\n\t\t// add the level id to the event\n\t\teventName += \".\" + this.level.id;\n\n\t\t// check for existing bind events\n\t\tif (this.events[eventName]) {\n\t\t\tRaphael.eve.off(eventName, this.events[eventName]);\n\t\t}\n\n\t\tRaphael.eve.on(eventName, func);\n\n\t\tthis.events[eventName] = func;\n\t}\n\t/**\n\t * Update Gauge values\n\t *\n\t * @param {Number} val The value\n\t * @param {Number|String} max Max value\n\t * @param {Number|String} min Min value\n\t * @param {String} label The Label\n\t */\n\trefresh(val, max, min, label) {\n\t\tlet displayVal;\n\n\t\tmax = isNumber(max) ? max : null;\n\t\tmin = isNumber(min) ? min : null;\n\t\tlabel = label || null;\n\n\t\t// set label min\n\t\tif (label !== null) {\n\t\t\tthis.config.label = label;\n\n\t\t\tthis.txtLabel.attr({\n\t\t\t\ttext: this.config.label,\n\t\t\t});\n\t\t\tsetDy(this.txtLabel, this.params.labelFontSize, this.params.labelY);\n\t\t}\n\n\t\t// set new min\n\t\tif (min !== null) {\n\t\t\tthis.config.min = min;\n\t\t\t// TODO: update customSectors\n\n\t\t\tthis.txtMinimum = this.config.min;\n\t\t\tif (this.config.minTxt) {\n\t\t\t\tthis.txtMinimum = this.config.minTxt;\n\t\t\t} else if (this.config.humanFriendly) {\n\t\t\t\tthis.txtMinimum = humanFriendlyNumber(this.config.min, this.config.humanFriendlyDecimal);\n\t\t\t} else if (this.config.formatNumber) {\n\t\t\t\tthis.txtMinimum = formatNumber(this.config.min);\n\t\t\t}\n\t\t\tif (!this.config.reverse) {\n\t\t\t\tthis.txtMin.attr({\n\t\t\t\t\ttext: this.txtMinimum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMin, this.params.minFontSize, this.params.minY);\n\t\t\t} else {\n\t\t\t\tthis.txtMax.attr({\n\t\t\t\t\ttext: this.txtMinimum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMax, this.params.minFontSize, this.params.minY);\n\t\t\t}\n\t\t}\n\n\t\t// set new max\n\t\tif (max !== null) {\n\t\t\tthis.config.max = max;\n\n\t\t\tthis.txtMaximum = this.config.max;\n\t\t\tif (this.config.maxTxt) {\n\t\t\t\tthis.txtMaximum = this.config.maxTxt;\n\t\t\t} else if (this.config.humanFriendly) {\n\t\t\t\tthis.txtMaximum = humanFriendlyNumber(this.config.max, this.config.humanFriendlyDecimal);\n\t\t\t} else if (this.config.formatNumber) {\n\t\t\t\tthis.txtMaximum = formatNumber(this.config.max);\n\t\t\t}\n\t\t\tif (!this.config.reverse) {\n\t\t\t\tthis.txtMax.attr({\n\t\t\t\t\ttext: this.txtMaximum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMax, this.params.maxFontSize, this.params.maxY);\n\t\t\t} else {\n\t\t\t\tthis.txtMin.attr({\n\t\t\t\t\ttext: this.txtMaximum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMin, this.params.maxFontSize, this.params.maxY);\n\t\t\t}\n\t\t}\n\n\t\t// overflow values\n\t\tdisplayVal = val;\n\t\tif (val * 1 > this.config.max * 1) {\n\t\t\tval = this.config.max * 1;\n\t\t}\n\t\tif (val * 1 < this.config.min * 1) {\n\t\t\tval = this.config.min * 1;\n\t\t}\n\n\t\tconst color = getColor(\n\t\t\tval,\n\t\t\t(val - this.config.min) / (this.config.max - this.config.min),\n\t\t\tthis.config.levelColors,\n\t\t\tthis.config.noGradient,\n\t\t\tthis.config.customSectors,\n\t\t);\n\n\t\tif (this.config.textRenderer && this.config.textRenderer(displayVal) !== false) {\n\t\t\tdisplayVal = this.config.textRenderer(displayVal);\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tdisplayVal = humanFriendlyNumber(displayVal, this.config.humanFriendlyDecimal) + this.config.symbol;\n\t\t} else if (this.config.formatNumber) {\n\t\t\tdisplayVal = formatNumber((displayVal * 1).toFixed(this.config.decimals)) + this.config.symbol;\n\t\t} else if (this.config.displayRemaining) {\n\t\t\tdisplayVal = ((this.config.max - displayVal) * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t} else {\n\t\t\tdisplayVal = (displayVal * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t}\n\t\tthis.originalValue = displayVal;\n\t\tthis.config.value = val * 1;\n\n\t\tif (!this.config.counter) {\n\t\t\tthis.txtValue.attr({\n\t\t\t\ttext: displayVal,\n\t\t\t});\n\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t}\n\n\t\tlet rvl = this.config.value;\n\t\tif (this.config.reverse) {\n\t\t\trvl = this.config.max * 1 + this.config.min * 1 - this.config.value * 1;\n\t\t}\n\n\t\tthis.level.animate(\n\t\t\t{\n\t\t\t\tpki: [rvl],\n\t\t\t\tfill: color,\n\t\t\t},\n\t\t\tthis.config.refreshAnimationTime,\n\t\t\tthis.config.refreshAnimationType,\n\t\t\tthis.config.onAnimationEnd,\n\t\t);\n\n\t\tif (this.config.pointer) {\n\t\t\tthis.needle.animate(\n\t\t\t\t{\n\t\t\t\t\tndl: [rvl],\n\t\t\t\t},\n\t\t\t\tthis.config.refreshAnimationTime,\n\t\t\t\tthis.config.refreshAnimationType,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Update Gauge options\n\t *\n\t * @param options {String} option The target option name\n\t * @param val {Number|String} val The value to be assigned to the option\n\t *\n\t * Alternative signature\n\t * @param options {String|Object} options name and value\n\t */\n\tupdate(options, val) {\n\t\tconst obj = this;\n\n\t\t// options as an object of option/val values\n\t\tif (options instanceof Object) {\n\t\t\tfor (const option in options) {\n\t\t\t\tval = options[option];\n\t\t\t\tupdateProp(obj, option, val);\n\t\t\t}\n\n\t\t\t// options as single option/val\n\t\t} else {\n\t\t\tupdateProp(obj, options, val);\n\t\t}\n\t}\n\t/**\n\t * Destroy the Gauge Object and unbind events\n\t *\n\t */\n\tdestroy() {\n\t\tif (this.node && this.node.parentNode) this.node.innerHTML = \"\";\n\n\t\tfor (const event in this.events) {\n\t\t\tRaphael.eve.off(event, this.events[event]);\n\t\t}\n\n\t\tthis.events = {};\n\t}\n\n\t/**\n\t * Generate Shadow\n\t *\n\t * @param {Object} svg The Svg element Object\n\t * @param {Object} defs The defs element Object\n\t */\n\tgenerateShadow(svg, defs) {\n\t\tconst sid = \"inner-shadow-\" + (this.config.element.id || this.config.classId);\n\n\t\t// FILTER\n\t\tconst gaussFilter = document.createElementNS(svg, \"filter\");\n\t\tgaussFilter.setAttribute(\"id\", sid);\n\t\tdefs.appendChild(gaussFilter);\n\n\t\t// offset\n\t\tconst feOffset = document.createElementNS(svg, \"feOffset\");\n\t\tfeOffset.setAttribute(\"dx\", \"0\");\n\t\tfeOffset.setAttribute(\"dy\", this.config.shadowVerticalOffset);\n\t\tgaussFilter.appendChild(feOffset);\n\n\t\t// blur\n\t\tconst feGaussianBlur = document.createElementNS(svg, \"feGaussianBlur\");\n\t\tfeGaussianBlur.setAttribute(\"result\", \"offset-blur\");\n\t\tfeGaussianBlur.setAttribute(\"stdDeviation\", this.config.shadowSize);\n\t\tgaussFilter.appendChild(feGaussianBlur);\n\n\t\t// composite 1\n\t\tconst feComposite1 = document.createElementNS(svg, \"feComposite\");\n\t\tfeComposite1.setAttribute(\"operator\", \"out\");\n\t\tfeComposite1.setAttribute(\"in\", \"SourceGraphic\");\n\t\tfeComposite1.setAttribute(\"in2\", \"offset-blur\");\n\t\tfeComposite1.setAttribute(\"result\", \"inverse\");\n\t\tgaussFilter.appendChild(feComposite1);\n\n\t\t// flood\n\t\tconst feFlood = document.createElementNS(svg, \"feFlood\");\n\t\tfeFlood.setAttribute(\"flood-color\", \"black\");\n\t\tfeFlood.setAttribute(\"flood-opacity\", this.config.shadowOpacity);\n\t\tfeFlood.setAttribute(\"result\", \"color\");\n\t\tgaussFilter.appendChild(feFlood);\n\n\t\t// composite 2\n\t\tconst feComposite2 = document.createElementNS(svg, \"feComposite\");\n\t\tfeComposite2.setAttribute(\"operator\", \"in\");\n\t\tfeComposite2.setAttribute(\"in\", \"color\");\n\t\tfeComposite2.setAttribute(\"in2\", \"inverse\");\n\t\tfeComposite2.setAttribute(\"result\", \"shadow\");\n\t\tgaussFilter.appendChild(feComposite2);\n\n\t\t// composite 3\n\t\tconst feComposite3 = document.createElementNS(svg, \"feComposite\");\n\t\tfeComposite3.setAttribute(\"operator\", \"over\");\n\t\tfeComposite3.setAttribute(\"in\", \"shadow\");\n\t\tfeComposite3.setAttribute(\"in2\", \"SourceGraphic\");\n\t\tgaussFilter.appendChild(feComposite3);\n\n\t\t// set shadow\n\t\tif (this.config.showInnerShadow) {\n\t\t\tthis.canvas.canvas.childNodes[2].setAttribute(\"filter\", \"url(#\" + sid + \")\");\n\t\t\tthis.canvas.canvas.childNodes[3].setAttribute(\"filter\", \"url(#\" + sid + \")\");\n\t\t}\n\t}\n}\n\n/**\n * Utility function to update properties to a JustGage object\n *\n * @param obj {JustGage Object} JustGage object to apply the property update to\n * @param option {String} option name\n * @param val {String} option value\n */\nfunction updateProp(obj, option, val) {\n\tswitch (option) {\n\t\tcase \"valueFontColor\":\n\t\t\tif (!isHexColor(val)) {\n\t\t\t\tconsole.log(\"* justgage: the updated valueFontColor value is not a valid hex color\");\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tobj.txtValue.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase \"labelFontColor\":\n\t\t\tif (!isHexColor(val)) {\n\t\t\t\tconsole.log(\"* justgage: the updated labelFontColor value is not a valid hex color\");\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tobj.txtMin.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\t\t\tobj.txtMax.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\t\t\tobj.txtLabel.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tconsole.log(`* justgage: \"${option}\" is not a supported update setting`);\n\t}\n}\n\n//\n// tiny helper function to lookup value of a key from two hash tables\n// if none found, return defaultvalue\n//\n// key: string\n// tablea: object\n// tableb: DOMStringMap|object\n// defval: string|integer|float|null\n// datatype: return datatype\n// delimiter: delimiter to be used in conjunction with datatype formatting\n//\nfunction kvLookup(key, tablea, tableb, defval, datatype, delimiter) {\n\tlet val = defval;\n\tlet canConvert = false;\n\tif (!isUndefined(key)) {\n\t\tif (!isUndefined(tableb) && typeof tableb === \"object\" && key in tableb) {\n\t\t\tval = tableb[key];\n\t\t\tcanConvert = true;\n\t\t} else if (!isUndefined(tablea) && typeof tablea === \"object\" && key in tablea) {\n\t\t\tval = tablea[key];\n\t\t\tcanConvert = true;\n\t\t} else {\n\t\t\tval = defval;\n\t\t}\n\t\tif (canConvert === true) {\n\t\t\tif (!isUndefined(datatype)) {\n\t\t\t\tswitch (datatype) {\n\t\t\t\t\tcase \"int\":\n\t\t\t\t\t\tval = parseInt(val, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"float\":\n\t\t\t\t\t\tval = parseFloat(val);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn val;\n}\n\nfunction isUndefined(v) {\n\treturn v === null || v === undefined;\n}\n\n/** Get color for value */\nfunction getColor(val, pct, col, noGradient, custSec) {\n\tlet percentage, rval, gval, bval, lower, upper, range, rangePct, pctLower, pctUpper, color;\n\tconst cust = custSec && custSec.ranges && custSec.ranges.length > 0;\n\tnoGradient = noGradient || cust;\n\n\tif (cust) {\n\t\tif (custSec.percents === true) val = pct * 100;\n\t\tfor (let i = 0; i < custSec.ranges.length; i++) {\n\t\t\tif (val >= custSec.ranges[i].lo && val <= custSec.ranges[i].hi) {\n\t\t\t\treturn custSec.ranges[i].color;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst no = col.length;\n\tif (no === 1) return col[0];\n\tconst inc = noGradient ? 1 / no : 1 / (no - 1);\n\tconst colors = [];\n\tfor (let i = 0; i < col.length; i++) {\n\t\tpercentage = noGradient ? inc * (i + 1) : inc * i;\n\t\trval = parseInt(cutHex(col[i]).substring(0, 2), 16);\n\t\tgval = parseInt(cutHex(col[i]).substring(2, 4), 16);\n\t\tbval = parseInt(cutHex(col[i]).substring(4, 6), 16);\n\t\tcolors[i] = {\n\t\t\tpct: percentage,\n\t\t\tcolor: {\n\t\t\t\tr: rval,\n\t\t\t\tg: gval,\n\t\t\t\tb: bval,\n\t\t\t},\n\t\t};\n\t}\n\n\tif (pct === 0) {\n\t\treturn \"rgb(\" + [colors[0].color.r, colors[0].color.g, colors[0].color.b].join(\",\") + \")\";\n\t}\n\n\tfor (let j = 0; j < colors.length; j++) {\n\t\tif (pct <= colors[j].pct) {\n\t\t\tif (noGradient) {\n\t\t\t\treturn \"rgb(\" + [colors[j].color.r, colors[j].color.g, colors[j].color.b].join(\",\") + \")\";\n\t\t\t} else {\n\t\t\t\tlower = colors[j - 1];\n\t\t\t\tupper = colors[j];\n\t\t\t\trange = upper.pct - lower.pct;\n\t\t\t\trangePct = (pct - lower.pct) / range;\n\t\t\t\tpctLower = 1 - rangePct;\n\t\t\t\tpctUpper = rangePct;\n\t\t\t\tcolor = {\n\t\t\t\t\tr: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper),\n\t\t\t\t\tg: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper),\n\t\t\t\t\tb: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper),\n\t\t\t\t};\n\t\t\t\treturn \"rgb(\" + [color.r, color.g, color.b].join(\",\") + \")\";\n\t\t\t}\n\t\t}\n\t}\n}\n\n/** Fix Raphael display:none tspan dy attribute bug */\nfunction setDy(elem, fontSize, txtYpos) {\n\tif ((!ie || ie > 9) && elem.node.firstChild.attributes.dy) {\n\t\telem.node.firstChild.attributes.dy.value = 0;\n\t}\n}\n\n/** Cut hex */\nfunction cutHex(str) {\n\treturn str.charAt(0) === \"#\" ? str.substring(1, 7) : str;\n}\n\n/**\n * Validate if html hex color presentation\n *\n * @param val\n * @returns {*|boolean}\n */\nfunction isHexColor(val) {\n\tconst regExp = /^#([0-9A-Fa-f]{3}){1,2}$/;\n\treturn typeof val === \"string\" && regExp.test(val);\n}\n\n/** Human friendly number suffix - @robertsLando */\nfunction humanFriendlyNumber(n, d) {\n\tconst d2 = Math.pow(10, d);\n\tconst s = \" KMGTPE\";\n\tlet i = 0;\n\tconst c = 1000;\n\n\twhile ((n >= c || n <= -c) && ++i < s.length) n = n / c;\n\n\ti = i >= s.length ? s.length - 1 : i;\n\n\treturn Math.round(n * d2) / d2 + s[i];\n}\n\n/** Format numbers with commas - From: http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript */\nfunction formatNumber(x) {\n\tconst parts = x.toString().split(\".\");\n\tparts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\treturn parts.join(\".\");\n}\n\n/** Get style */\nfunction getStyle(oElm, strCssRule) {\n\tlet strValue = \"\";\n\tif (document.defaultView && document.defaultView.getComputedStyle) {\n\t\tstrValue = document.defaultView.getComputedStyle(oElm, \"\").getPropertyValue(strCssRule);\n\t} else if (oElm.currentStyle) {\n\t\tstrCssRule = strCssRule.replace(/-(\\w)/g, function (strMatch, p1) {\n\t\t\treturn p1.toUpperCase();\n\t\t});\n\t\tstrValue = oElm.currentStyle[strCssRule];\n\t}\n\treturn strValue;\n}\n\n/** Create Element NS Ready */\nfunction onCreateElementNsReady(func) {\n\tif (document.createElementNS !== undefined) {\n\t\tfunc();\n\t} else {\n\t\tsetTimeout(function () {\n\t\t\tonCreateElementNsReady(func);\n\t\t}, 100);\n\t}\n}\n\n/** Get IE version */\n// ----------------------------------------------------------\n// A short snippet for detecting versions of IE in JavaScript\n// without resorting to user-agent sniffing\n// ----------------------------------------------------------\n// If you're not in IE (or IE version is less than 5) then:\n// ie === undefined\n// If you're in IE (>=5) then you can determine which version:\n// ie === 7; // IE7\n// Thus, to detect IE:\n// if (ie) {}\n// And to detect the version:\n// ie === 6 // IE6\n// ie > 7 // IE8, IE9 ...\n// ie < 9 // Anything less than IE9\n// ----------------------------------------------------------\n// UPDATE: Now using Live NodeList idea from @jdalton\nconst ie = (function () {\n\tlet v = 3;\n\tconst div = document.createElement(\"div\");\n\tconst all = div.getElementsByTagName(\"i\");\n\n\twhile (all[0]) {\n\t\tdiv.innerHTML = \"<!--[if gt IE \" + ++v + \"]><i></i><![endif]-->\";\n\t}\n\treturn v > 4 ? v : undefined;\n})();\n\n// extend target object with second object\nfunction extend(out) {\n\tout = out || {};\n\n\tfor (let i = 1; i < arguments.length; i++) {\n\t\tif (!arguments[i]) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfor (const key in arguments[i]) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n\t\t\t\tout[key] = arguments[i][key];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out;\n}\n\nfunction isNumber(n) {\n\treturn n !== null && n !== undefined && !isNaN(n);\n}\n\n/**\n * Generate UUID\n * @returns UUID\n */\nfunction uuid() {\n\treturn \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n\t\tconst r = (Math.random() * 16) | 0;\n\t\tconst v = c === \"x\" ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n}\n","<svelte:options tag=\"hb-gauge\" />\n\n<script lang=\"ts\">\n\timport { get_current_component, onDestroy, onMount } from \"svelte/internal\";\n\n\timport { createEventDispatcher } from \"svelte\";\n\timport JustGage from \"@app/functions/justgage\";\n\timport pkg from \"../../package.json\";\n\tconst component = get_current_component();\n\t// const svelteDispatch = createEventDispatcher();\n\t// function dispatch(name, detail) {\n\t// \tsvelteDispatch(name, detail);\n\t// \tcomponent.dispatchEvent && component.dispatchEvent(new CustomEvent(name, { detail }));\n\t// }\n\tlet gaugeEl: HTMLElement;\n\tlet gauge: JustGage;\n\texport let id: string;\n\texport let options: any;\n\n\t$: {\n\t\tif (!id) id = \"\";\n\t\tif (options && typeof options === \"string\") {\n\t\t\toptions = JSON.parse(options);\n\t\t\tif (gaugeEl && gauge) {\n\t\t\t\trecreateGauge();\n\t\t\t}\n\t\t}\n\t}\n\tfunction updateGauge(val: number) {\n\t\tif (gauge) gauge.refresh(val, null, null, null);\n\t}\n\tfunction recreateGauge() {\n\t\tif (gauge) gauge.destroy();\n\t\tgauge = null;\n\n\t\tcreateGauge();\n\t}\n\tfunction createGauge() {\n\t\tif (!options || !gaugeEl) return console.error(\"cannot create gauge\");\n\t\tif (!gauge) {\n\t\t\tconst opts = Object.assign({ element: gaugeEl }, options);\n\t\t\tgauge = new JustGage(opts);\n\t\t} else {\n\t\t\tconsole.error(\"cannot create html gauge\");\n\t\t}\n\t}\n\tonMount(() => {\n\t\tgaugeEl = component.shadowRoot.getElementById(\"gauge\");\n\t\tcreateGauge();\n\t});\n\tonDestroy(() => {\n\t\tif (gauge) gauge.destroy();\n\t\tgauge = null;\n\t});\n</script>\n\n<div style=\"width:100%\" id=\"gauge\" />\n<svelte:window\n\ton:resize={() => {\n\t\trecreateGauge();\n\n\t\t//updateGauge(options.value);\n\t}}\n/>\n\n<style lang=\"scss\">\n\t// @import \"../styles/webcomponent.scss\";\n</style>\n"],"names":["noop","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","insert","target","node","anchor","insertBefore","detach","parentNode","removeChild","attribute_to_object","attributes","result","attribute","name","value","current_component","set_current_component","component","get_current_component","Error","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","add_render_callback","push","seen_callbacks","Set","flushidx","flush","saved_component","length","update","$$","pop","i","callback","has","add","clear","fragment","before_update","dirty","p","ctx","after_update","outroing","make_dirty","then","fill","init","options","instance","create_fragment","not_equal","props","append_styles","parent_component","bound","on_mount","on_destroy","on_disconnect","context","Map","callbacks","skip_bound","root","ready","ret","rest","hydrate","nodes","element","Array","from","childNodes","children","l","c","intro","block","delete","local","customElement","m","new_on_destroy","map","filter","mount_component","SvelteElement","HTMLElement","constructor","super","this","attachShadow","mode","connectedCallback","key","slotted","appendChild","attributeChangedCallback","attr","_oldValue","newValue","disconnectedCallback","$destroy","detaching","d","destroy_component","$on","type","index","indexOf","splice","$set","$$props","obj","$$set","keys","window","module","t","e","r","exports","n","call","o","defineProperty","enumerable","get","Symbol","toStringTag","__esModule","bind","default","prototype","hasOwnProperty","s","is","on","A","_engine","T","slice","arguments","version","eve","et","rt","circle","rect","path","ellipse","text","image","doc","document","win","h","was","Raphael","u","ca","customAttributes","f","TouchEvent","DocumentTouch","g","x","String","v","y","mousedown","mousemove","mouseup","toLowerCase","_","Math","w","max","k","min","B","abs","C","pow","S","PI","M","toString","E","_ISURL","N","NaN","Infinity","L","P","round","z","parseFloat","F","parseInt","R","toUpperCase","j","_availableAttrs","blur","cursor","cx","cy","font","gradient","height","href","opacity","rx","ry","src","stroke","title","transform","width","class","I","_availableAnimAttrs","D","q","hs","rg","O","V","W","Y","G","_radial_gradient","H","X","U","_rectPath","$","Z","_getPath","attrs","_getBBox","set","Q","mapPath","Tt","_g","SVGAngle","implementation","hasFeature","J","K","createElement","innerHTML","firstChild","style","behavior","adj","tt","svg","vml","_Paper","_id","isArray","angle","atan2","rad","deg","snapTo","createUUID","random","replace","setWindow","initWin","it","ActiveXObject","write","close","body","createPopup","createTextRange","ht","color","queryCommandValue","display","defaultView","getComputedStyle","getPropertyValue","nt","at","st","hex","ot","getRGB","lt","rgb","join","cache","count","shift","ut","ct","hsb2rgb","hsl2rgb","rgb2hsl","rgb2hsb","_path2string","_preload","cssText","onload","onerror","error","substring","charAt","match","hsb","hsl","getColor","start","reset","parsePathString","ft","arr","mt","parseTransformString","ps","sleep","setTimeout","pt","dt","sqrt","gt","toFixed","xt","bezierBBox","isBBoxIntersect","apply","findDotsAtSegment","concat","t1","t2","vt","_path2curve","segment1","segment2","bez1","bez2","end","alpha","St","x2","y2","isPointInsideBBox","pathIntersection","pathIntersectionNumber","isPointInsidePath","pathBBox","_removedFactory","yt","bbox","bt","_pathToRelative","rel","_t","_pathToAbsolute","wt","kt","Bt","cos","sin","asin","tan","Ct","curve","bx","by","qx","qy","At","_parseDots","offset","_tear","top","prev","bottom","next","Mt","_tofront","_toback","_insertafter","_insertbefore","toMatrix","getBBox","Et","matrix","transformPath","_extractTransform","Pt","invert","translate","rotate","scale","dirtyT","sx","sy","dx","dy","Nt","Lt","_equaliseTransform","to","_getContainer","getElementById","tagName","container","pixelWidth","offsetWidth","pixelHeight","offsetHeight","pathToRelative","path2curve","clone","fromCharCode","toFilter","split","scalex","shear","scaley","acos","isSimple","isSuperSimple","noRotation","toTransformString","zt","returnValue","Ft","originalEvent","preventDefault","Rt","cancelBubble","jt","stopPropagation","It","documentElement","scrollTop","scrollLeft","clientX","clientY","Dt","addEventListener","targetTouches","removeEventListener","attachEvent","event","detachEvent","qt","Ot","touches","identifier","el","_drag","id","nextSibling","opera","paper","getElementByPoint","move_scope","Vt","unmousemove","unmouseup","end_scope","start_scope","Wt","Yt","events","unbind","shape","data","removeData","getData","hover","mouseover","mouseout","unhover","unmouseover","unmouseout","Gt","Ht","drag","onDragOver","undrag","unmousedown","__set__","format","ce","setStart","setFinish","getSize","canvas","setSize","setViewBox","raphael","elementFromPoint","getBoundingClientRect","ownerDocument","clientTop","clientLeft","pageYOffset","left","pageXOffset","createSVGRect","getIntersectionList","getById","raphaelid","getElementsByBBox","getElementsByPoint","isPointInside","realPath","removed","bboxwt","glow","offsetx","offsety","Xt","Ut","$t","Zt","Qt","getTotalLength","getPointAtLength","getSubpath","getPath","Jt","easing_formulas","linear","backIn","backOut","elastic","bounce","easeIn","easeOut","easeInOut","Kt","te","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","ee","Date","paused","ms","easing","diff","initstatus","anim","percent","status","stop","re","real","repeat","totalOrigin","ae","percents","ie","ne","times","sort","timestamp","del","origin","se","animateWith","animation","onAnimation","delay","floor","animate","setTime","pause","resume","oe","le","he","ue","items","fe","pe","exclude","insertAfter","registerFont","face","fonts","glyphs","getFont","normal","bold","lighter","bolder","RegExp","test","print","descent","fullfill","ninja","readyState","listeners","firstDefined","lastDefined","zIndex","_events","separator","nts","off","once","classic","diamond","open","oval","setAttributeNS","setAttribute","createElementNS","webkitTapHighlightColor","isNaN","defs","fx","fy","x1","y1","gradientTransform","isFinite","fillOpacity","documentMode","location","protocol","host","pathname","search","pattern","patternTransform","arrows","endPath","endMarker","startPath","startMarker","getElementsByTagName","markerHeight","markerWidth","orient","refX","refY","startdx","enddx","square","butt","visibility","nodeValue","createTextNode","clip","getAttribute","startString","endString","patternUnits","hide","show","remove","parentElement","clientWidth","clientHeight","def","toFront","toBack","stdDeviation","_blur","removeAttribute","preserveAspectRatio","_viewBox","xmlns","_left","_top","renderfix","_vbSize","viewBox","getScreenCTM","createSVGMatrix","desc","fillpos","coordsize","rotation","flip","coordorigin","fillsize","position","size","clipRect","textpath","fontFamily","fontSize","fontWeight","fontStyle","weight","joinstyle","miterlimit","endcap","dashstyle","span","string","right","bbx","method","color2","colors","focus","focussize","focusposition","_oid","_viewBoxShift","skew","auxGetBBox","runtimeStyle","margin","Path","textpathok","styleSheets","createStyleSheet","addRule","namespaces","rvml","JustGage","config","isUndefined","dataset","canvasW","canvasH","widgetW","widgetH","aspect","valueFontSize","valueX","valueY","labelFontSize","labelX","labelY","minFontSize","minX","minY","maxFontSize","maxX","maxY","defaults","out","extend","classId","kvLookup","valueFontColor","valueFontFamily","symbol","minTxt","maxTxt","reverse","humanFriendlyDecimal","textRenderer","onAnimationEnd","gaugeWidthScale","gaugeColor","label","labelFontColor","labelFontFamily","shadowOpacity","shadowSize","shadowVerticalOffset","levelColors","startAnimationTime","startAnimationType","refreshAnimationTime","refreshAnimationType","donutStartAngle","valueMinFontSize","labelMinFontSize","minLabelMinFontSize","maxLabelMinFontSize","hideValue","hideMinMax","showInnerShadow","humanFriendly","noGradient","donut","relativeGaugeSize","counter","decimals","customSectors","formatNumber","pointer","pointerOptions","displayRemaining","originalValue","Number","getStyle","params","pki","gws","Ro","Ri","Cx","Cy","Xo","Yo","Xi","Yi","ndl","Xc","Yc","Xz","Yz","Xa","Ya","Xb","Yb","dlt","dlb","dw","toplength","undefined","bottomlength","bottomwidth","gauge","level","needle","stroke_width","stroke_linecap","txtValue","setDy","txtLabel","txtMinimum","humanFriendlyNumber","txtMin","txtMaximum","txtMax","onCreateElementNsReady","generateShadow","onFrame","currentValue","onFinish","bindEvent","onStart","rvl","eventName","func","refresh","val","displayVal","isNumber","option","updateProp","destroy","sid","gaussFilter","feOffset","feGaussianBlur","feComposite1","feFlood","feComposite2","feComposite3","isHexColor","console","log","tablea","tableb","defval","datatype","delimiter","canConvert","pct","col","custSec","percentage","rval","gval","bval","lower","upper","range","rangePct","pctLower","pctUpper","cust","ranges","lo","hi","no","inc","cutHex","elem","txtYpos","str","d2","parts","oElm","strCssRule","strValue","currentStyle","strMatch","p1","div","all","important","removeProperty","setProperty","handler","gaugeEl","recreateGauge","createGauge","opts","assign","onMount","shadowRoot","onDestroy","JSON","parse"],"mappings":"oCAAA,SAASA,KAgBT,SAASC,EAAIC,GACT,OAAOA,IAEX,SAASC,IACL,OAAOC,OAAOC,OAAO,MAEzB,SAASC,EAAQC,GACbA,EAAIC,QAAQP,GAEhB,SAASQ,EAAYC,GACjB,MAAwB,mBAAVA,EAElB,SAASC,EAAeC,EAAGC,GACvB,OAAOD,GAAKA,EAAIC,GAAKA,EAAID,IAAMC,GAAOD,GAAkB,iBAANA,GAAgC,mBAANA,EA2UhF,SAASE,EAAOC,EAAQC,EAAMC,GAC1BF,EAAOG,aAAaF,EAAMC,GAAU,MAUxC,SAASE,EAAOH,GACZA,EAAKI,WAAWC,YAAYL,GAmahC,SAASM,EAAoBC,GACzB,MAAMC,EAAS,GACf,IAAK,MAAMC,KAAaF,EACpBC,EAAOC,EAAUC,MAAQD,EAAUE,MAEvC,OAAOH,EAiJX,IAAII,EACJ,SAASC,EAAsBC,GAC3BF,EAAoBE,EAExB,SAASC,IACL,IAAKH,EACD,MAAM,IAAII,MAAM,oDACpB,OAAOJ,EAmDX,MAAMK,EAAmB,GAEnBC,EAAoB,GACpBC,EAAmB,GACnBC,EAAkB,GAClBC,EAAmBC,QAAQC,UACjC,IAAIC,GAAmB,EAWvB,SAASC,EAAoBvC,GACzBiC,EAAiBO,KAAKxC,GAuB1B,MAAMyC,EAAiB,IAAIC,IAC3B,IAAIC,EAAW,EACf,SAASC,IACL,MAAMC,EAAkBnB,EACxB,EAAG,CAGC,KAAOiB,EAAWZ,EAAiBe,QAAQ,CACvC,MAAMlB,EAAYG,EAAiBY,GACnCA,IACAhB,EAAsBC,GACtBmB,EAAOnB,EAAUoB,IAKrB,IAHArB,EAAsB,MACtBI,EAAiBe,OAAS,EAC1BH,EAAW,EACJX,EAAkBc,QACrBd,EAAkBiB,KAAlBjB,GAIJ,IAAK,IAAIkB,EAAI,EAAGA,EAAIjB,EAAiBa,OAAQI,GAAK,EAAG,CACjD,MAAMC,EAAWlB,EAAiBiB,GAC7BT,EAAeW,IAAID,KAEpBV,EAAeY,IAAIF,GACnBA,KAGRlB,EAAiBa,OAAS,QACrBf,EAAiBe,QAC1B,KAAOZ,EAAgBY,QACnBZ,EAAgBe,KAAhBf,GAEJI,GAAmB,EACnBG,EAAea,QACf3B,EAAsBkB,GAE1B,SAASE,EAAOC,GACZ,GAAoB,OAAhBA,EAAGO,SAAmB,CACtBP,EAAGD,SACH3C,EAAQ4C,EAAGQ,eACX,MAAMC,EAAQT,EAAGS,MACjBT,EAAGS,MAAQ,EAAE,GACbT,EAAGO,UAAYP,EAAGO,SAASG,EAAEV,EAAGW,IAAKF,GACrCT,EAAGY,aAAatD,QAAQiC,IAiBhC,MAAMsB,EAAW,IAAInB,IAotBrB,SAASoB,EAAWlC,EAAWsB,IACI,IAA3BtB,EAAUoB,GAAGS,MAAM,KACnB1B,EAAiBS,KAAKZ,GArzBrBU,IACDA,GAAmB,EACnBH,EAAiB4B,KAAKnB,IAqzBtBhB,EAAUoB,GAAGS,MAAMO,KAAK,IAE5BpC,EAAUoB,GAAGS,MAAOP,EAAI,GAAM,IAAO,GAAMA,EAAI,GAEnD,SAASe,EAAKrC,EAAWsC,EAASC,EAAUC,EAAiBC,EAAWC,EAAOC,EAAed,EAAQ,EAAE,IACpG,MAAMe,EAAmB9C,EACzBC,EAAsBC,GACtB,MAAMoB,EAAKpB,EAAUoB,GAAK,CACtBO,SAAU,KACVI,IAAK,KAELW,MAAAA,EACAvB,OAAQjD,EACRuE,UAAAA,EACAI,MAAOxE,IAEPyE,SAAU,GACVC,WAAY,GACZC,cAAe,GACfpB,cAAe,GACfI,aAAc,GACdiB,QAAS,IAAIC,IAAIZ,EAAQW,UAAYL,EAAmBA,EAAiBxB,GAAG6B,QAAU,KAEtFE,UAAW9E,IACXwD,MAAAA,EACAuB,YAAY,EACZC,KAAMf,EAAQrD,QAAU2D,EAAiBxB,GAAGiC,MAEhDV,GAAiBA,EAAcvB,EAAGiC,MAClC,IAAIC,GAAQ,EAkBZ,GAjBAlC,EAAGW,IAAMQ,EACHA,EAASvC,EAAWsC,EAAQI,OAAS,IAAI,CAACpB,EAAGiC,KAAQC,KACnD,MAAM3D,EAAQ2D,EAAKtC,OAASsC,EAAK,GAAKD,EAOtC,OANInC,EAAGW,KAAOU,EAAUrB,EAAGW,IAAIT,GAAIF,EAAGW,IAAIT,GAAKzB,MACtCuB,EAAGgC,YAAchC,EAAGyB,MAAMvB,IAC3BF,EAAGyB,MAAMvB,GAAGzB,GACZyD,GACApB,EAAWlC,EAAWsB,IAEvBiC,KAET,GACNnC,EAAGD,SACHmC,GAAQ,EACR9E,EAAQ4C,EAAGQ,eAEXR,EAAGO,WAAWa,GAAkBA,EAAgBpB,EAAGW,KAC/CO,EAAQrD,OAAQ,CAChB,GAAIqD,EAAQmB,QAAS,CAEjB,MAAMC,EA91ClB,SAAkBC,GACd,OAAOC,MAAMC,KAAKF,EAAQG,YA61CJC,CAASzB,EAAQrD,QAE/BmC,EAAGO,UAAYP,EAAGO,SAASqC,EAAEN,GAC7BA,EAAMhF,QAAQW,QAId+B,EAAGO,UAAYP,EAAGO,SAASsC,IAE3B3B,EAAQ4B,SApwBGC,EAqwBGnE,EAAUoB,GAAGO,WApwBtBwC,EAAM7C,IACfW,EAASmC,OAAOD,GAChBA,EAAM7C,EAAE+C,KAmqBhB,SAAyBrE,EAAWf,EAAQE,EAAQmF,GAChD,MAAM3C,SAAEA,EAAQmB,SAAEA,EAAQC,WAAEA,EAAUf,aAAEA,GAAiBhC,EAAUoB,GACnEO,GAAYA,EAAS4C,EAAEtF,EAAQE,GAC1BmF,GAED3D,GAAoB,KAChB,MAAM6D,EAAiB1B,EAAS2B,IAAItG,GAAKuG,OAAO/F,GAC5CoE,EACAA,EAAWnC,QAAQ4D,GAKnBhG,EAAQgG,GAEZxE,EAAUoB,GAAG0B,SAAW,MAGhCd,EAAatD,QAAQiC,GA8EjBgE,CAAgB3E,EAAWsC,EAAQrD,OAAQqD,EAAQnD,OAAQmD,EAAQgC,eAEnEtD,IAxwBR,IAAuBmD,EAAOE,EA0wB1BtE,EAAsB6C,GAE1B,IAAIgC,sGACuB,mBAAhBC,cACPD,EAAgB,cAAcC,YAC1BC,cACIC,QACAC,KAAKC,aAAa,CAAEC,KAAM,SAE9BC,oBACI,MAAMrC,SAAEA,GAAakC,KAAK5D,GAC1B4D,KAAK5D,GAAG4B,cAAgBF,EAAS2B,IAAItG,GAAKuG,OAAO/F,GAEjD,IAAK,MAAMyG,KAAOJ,KAAK5D,GAAGiE,QAEtBL,KAAKM,YAAYN,KAAK5D,GAAGiE,QAAQD,IAGzCG,yBAAyBC,EAAMC,EAAWC,GACtCV,KAAKQ,GAAQE,EAEjBC,uBACInH,EAAQwG,KAAK5D,GAAG4B,eAEpB4C,YAxGR,SAA2B5F,EAAW6F,GAClC,MAAMzE,EAAKpB,EAAUoB,GACD,OAAhBA,EAAGO,WACHnD,EAAQ4C,EAAG2B,YACX3B,EAAGO,UAAYP,EAAGO,SAASmE,EAAED,GAG7BzE,EAAG2B,WAAa3B,EAAGO,SAAW,KAC9BP,EAAGW,IAAM,IAiGLgE,CAAkBf,KAAM,GACxBA,KAAKY,SAAW1H,EAEpB8H,IAAIC,EAAM1E,GAEN,MAAM4B,EAAa6B,KAAK5D,GAAG+B,UAAU8C,KAAUjB,KAAK5D,GAAG+B,UAAU8C,GAAQ,IAEzE,OADA9C,EAAUvC,KAAKW,GACR,KACH,MAAM2E,EAAQ/C,EAAUgD,QAAQ5E,IACjB,IAAX2E,GACA/C,EAAUiD,OAAOF,EAAO,IAGpCG,KAAKC,GAn2Db,IAAkBC,EAo2DFvB,KAAKwB,QAp2DHD,EAo2DsBD,EAn2DD,IAA5BhI,OAAOmI,KAAKF,GAAKrF,UAo2DZ8D,KAAK5D,GAAGgC,YAAa,EACrB4B,KAAKwB,MAAMF,GACXtB,KAAK5D,GAAGgC,YAAa,iCCj5D8JsD,OAAlIC,UAA2J,SAASC,GAAG,IAAIC,EAAE,GAAG,SAASC,EAAExF,GAAG,GAAGuF,EAAEvF,GAAG,OAAOuF,EAAEvF,GAAGyF,QAAQ,IAAIC,EAAEH,EAAEvF,GAAG,CAACA,EAAEA,EAAE0C,GAAE,EAAG+C,QAAQ,IAAI,OAAOH,EAAEtF,GAAG2F,KAAKD,EAAED,QAAQC,EAAEA,EAAED,QAAQD,GAAGE,EAAEhD,GAAE,EAAGgD,EAAED,QAAQ,OAAOD,EAAEvC,EAAEqC,EAAEE,EAAE7C,EAAE4C,EAAEC,EAAEhB,EAAE,SAASc,EAAEC,EAAEvF,GAAGwF,EAAEI,EAAEN,EAAEC,IAAIvI,OAAO6I,eAAeP,EAAEC,EAAE,CAACO,YAAW,EAAGC,IAAI/F,KAAKwF,EAAEA,EAAE,SAASF,GAAG,oBAAoBU,QAAQA,OAAOC,aAAajJ,OAAO6I,eAAeP,EAAEU,OAAOC,YAAY,CAAC1H,MAAM,WAAWvB,OAAO6I,eAAeP,EAAE,aAAa,CAAC/G,OAAM,KAAMiH,EAAEF,EAAE,SAASA,EAAEC,GAAG,GAAG,EAAEA,IAAID,EAAEE,EAAEF,IAAI,EAAEC,EAAE,OAAOD,EAAE,GAAG,EAAEC,GAAG,iBAAiBD,GAAGA,GAAGA,EAAEY,WAAW,OAAOZ,EAAE,IAAItF,EAAEhD,OAAOC,OAAO,MAAM,GAAGuI,EAAEA,EAAExF,GAAGhD,OAAO6I,eAAe7F,EAAE,UAAU,CAAC8F,YAAW,EAAGvH,MAAM+G,IAAI,EAAEC,GAAG,iBAAiBD,EAAE,IAAI,IAAII,KAAKJ,EAAEE,EAAEhB,EAAExE,EAAE0F,EAAE,SAASH,GAAG,OAAOD,EAAEC,IAAIY,KAAK,KAAKT,IAAI,OAAO1F,GAAGwF,EAAEE,EAAE,SAASJ,GAAG,IAAIC,EAAED,GAAGA,EAAEY,WAAW,WAAW,OAAOZ,EAAEc,SAAS,WAAW,OAAOd,GAAG,OAAOE,EAAEhB,EAAEe,EAAE,IAAIA,GAAGA,GAAGC,EAAEI,EAAE,SAASN,EAAEC,GAAG,OAAOvI,OAAOqJ,UAAUC,eAAeX,KAAKL,EAAEC,IAAIC,EAAEhF,EAAE,GAAGgF,EAAEA,EAAEe,EAAE,GAAj5B,CAAq5B,CAAC,SAASjB,EAAEC,EAAEC,GAAG,IAAIxF,EAAE0F,EAAE1F,EAAE,CAACwF,EAAE,SAAI,KAAUE,EAAE,SAASJ,GAAG,SAASC,EAAEvF,GAAG,GAAGuF,EAAEiB,GAAGxG,EAAE,YAAY,OAAOwF,EAAExF,IAAIsF,EAAEmB,GAAG,kBAAkBzG,GAAG,GAAGuF,EAAEiB,GAAGxG,EAAE0G,GAAG,OAAOnB,EAAEoB,QAAQ1J,OAAO0F,GAAG4C,EAAEvF,EAAE8E,OAAO,EAAE,EAAES,EAAEiB,GAAGxG,EAAE,GAAG4G,KAAKzG,IAAIH,GAAG,IAAI0F,EAAEpD,MAAM+D,UAAUQ,MAAMlB,KAAKmB,UAAU,GAAG,GAAGvB,EAAEiB,GAAGd,EAAEA,EAAE9F,OAAO,GAAG,YAAY,CAAC,IAAIpC,EAAEkI,EAAE3F,MAAM,OAAOyF,EAAEhI,EAAEmI,KAAKJ,EAAEoB,QAAQ1J,OAAO0F,GAAG4C,EAAEG,IAAIJ,EAAEmB,GAAG,mBAAkB,WAAWjJ,EAAEmI,KAAKJ,EAAEoB,QAAQ1J,OAAO0F,GAAG4C,EAAEG,OAAM,OAAOH,EAAEoB,QAAQ1J,OAAO0F,GAAG4C,EAAEuB,WAAWvB,EAAEwB,QAAQ,QAAQxB,EAAEyB,IAAI1B,EAAE,IAAIE,EAAExF,EAA6mMiH,EAAGC,EAA9mMxB,EAAE,QAAQlI,EAAE,CAAC2J,OAAO,EAAEC,KAAK,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,MAAM,GAAGjB,EAAE,aAAaX,EAAE,iBAAiBlD,EAAE,CAAC+E,IAAIC,SAASC,IAAIvC,QAAQwC,EAAE,CAACC,IAAI7K,OAAOqJ,UAAUT,GAAGD,KAAKjD,EAAEiF,IAAI,WAAWnB,GAAG9D,EAAEiF,IAAIG,SAASC,EAAE,WAAWrE,KAAKsE,GAAGtE,KAAKuE,iBAAiB,IAAItF,EAAE,QAAQuF,EAAE,SAAS1H,EAAE,iBAAiB4E,QAAQA,OAAO+C,YAAY/C,OAAOgD,eAAeV,oBAAoBU,cAAc5D,EAAE,GAAG6D,EAAE,IAAIC,EAAEC,OAAOC,EAAE,QAAQC,EAAE,0GAA0GD,GAAGH,GAAGpF,EAAE,CAACyF,UAAU,aAAaC,UAAU,YAAYC,QAAQ,YAAYnL,EAAE6K,EAAEjC,UAAUwC,YAAYC,EAAEC,KAAKC,EAAEF,EAAEG,IAAIC,EAAEJ,EAAEK,IAAIC,EAAEN,EAAEO,IAAIC,EAAER,EAAES,IAAIC,EAAEV,EAAEW,GAAG7C,EAAE,SAASF,EAAE,QAAQgD,EAAE1M,OAAOqJ,UAAUsD,SAASC,GAAGrE,EAAEsE,OAAO,4BAA4B,oTAAoTC,EAAE,CAACC,IAAI,EAAEC,SAAS,EAAE,YAAY,GAAGC,EAAE,yDAAyDC,EAAEpB,EAAEqB,MAAMC,EAAEC,WAAWC,EAAEC,SAASC,EAAElC,EAAEjC,UAAUoE,YAAYC,EAAEnF,EAAEoF,gBAAgB,CAAC,YAAY,OAAO,cAAc,OAAOC,KAAK,EAAE,YAAY,cAAcC,OAAO,UAAUC,GAAG,EAAEC,GAAG,EAAEjK,KAAK,OAAO,eAAe,EAAEkK,KAAK,eAAe,cAAc,UAAU,YAAY,KAAK,aAAa,SAAS,cAAc,IAAIC,SAAS,EAAEC,OAAO,EAAEC,KAAK,wBAAwB,iBAAiB,EAAEC,QAAQ,EAAE/D,KAAK,OAAO7B,EAAE,EAAE6F,GAAG,EAAEC,GAAG,EAAEC,IAAI,GAAGC,OAAO,OAAO,mBAAmB,GAAG,iBAAiB,OAAO,kBAAkB,OAAO,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,EAAE7N,OAAO,SAAS,cAAc,SAAS8N,MAAM,UAAUC,UAAU,GAAGC,MAAM,EAAErD,EAAE,EAAEG,EAAE,EAAEmD,MAAM,IAAIC,EAAEtG,EAAEuG,oBAAoB,CAAClB,KAAKhE,EAAE,YAAY,MAAMkE,GAAGlE,EAAEmE,GAAGnE,EAAE9F,KAAK,SAAS,eAAe8F,EAAE,YAAYA,EAAEsE,OAAOtE,EAAEwE,QAAQxE,EAAES,KAAK,OAAO7B,EAAEoB,EAAEyE,GAAGzE,EAAE0E,GAAG1E,EAAE4E,OAAO,SAAS,iBAAiB5E,EAAE,eAAeA,EAAE8E,UAAU,YAAYC,MAAM/E,EAAE0B,EAAE1B,EAAE6B,EAAE7B,GAAGmF,EAAE,0RAA0RC,EAAE,CAACC,GAAG,EAAEC,GAAG,GAAGC,EAAE,yBAAyBC,EAAE,udAAudC,EAAE,gdAAgdC,EAAE,yTAAyTC,GAAGhH,EAAEiH,iBAAiB,sTAAsT,IAAIC,EAAE,SAASnH,EAAEC,GAAG,OAAO6E,EAAE9E,GAAG8E,EAAE7E,IAAImH,EAAE,SAASpH,GAAG,OAAOA,GAAGqH,EAAEpH,EAAEqH,UAAU,SAAStH,EAAEC,EAAEC,EAAExF,EAAE0F,GAAG,OAAOA,EAAE,CAAC,CAAC,IAAIJ,EAAEI,EAAEH,GAAG,CAAC,IAAIC,EAAE,EAAEE,EAAE,GAAG,CAAC,IAAIA,EAAEA,EAAE,EAAE,EAAE,EAAEA,EAAEA,GAAG,CAAC,IAAI,EAAE1F,EAAE,EAAE0F,GAAG,CAAC,IAAIA,EAAEA,EAAE,EAAE,EAAE,GAAGA,EAAEA,GAAG,CAAC,IAAI,EAAEA,EAAEF,EAAE,GAAG,CAAC,IAAIE,EAAEA,EAAE,EAAE,EAAE,GAAGA,GAAGA,GAAG,CAAC,IAAI,EAAE,EAAEA,EAAE1F,GAAG,CAAC,IAAI0F,EAAEA,EAAE,EAAE,EAAE,EAAEA,GAAGA,GAAG,CAAC,MAAM,CAAC,CAAC,IAAIJ,EAAEC,GAAG,CAAC,IAAIC,EAAE,GAAG,CAAC,IAAI,EAAExF,GAAG,CAAC,KAAKwF,EAAE,GAAG,CAAC,OAAOqH,EAAE,SAASvH,EAAEC,EAAEC,EAAExF,GAAG,OAAO,MAAMA,IAAIA,EAAEwF,GAAG,CAAC,CAAC,IAAIF,EAAEC,GAAG,CAAC,IAAI,GAAGvF,GAAG,CAAC,IAAIwF,EAAExF,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEA,GAAG,CAAC,IAAIwF,EAAExF,EAAE,EAAE,EAAE,EAAE,GAAG,EAAEA,GAAG,CAAC,OAAO8M,EAAEvH,EAAEwH,SAAS,CAAC1F,KAAK,SAAS/B,GAAG,OAAOA,EAAEpB,KAAK,SAASiD,OAAO,SAAS7B,GAAG,IAAIC,EAAED,EAAE0H,MAAM,OAAOH,EAAEtH,EAAEuF,GAAGvF,EAAEwF,GAAGxF,EAAEC,IAAI8B,QAAQ,SAAShC,GAAG,IAAIC,EAAED,EAAE0H,MAAM,OAAOH,EAAEtH,EAAEuF,GAAGvF,EAAEwF,GAAGxF,EAAE8F,GAAG9F,EAAE+F,KAAKlE,KAAK,SAAS9B,GAAG,IAAIC,EAAED,EAAE0H,MAAM,OAAOL,EAAEpH,EAAE+C,EAAE/C,EAAEkD,EAAElD,EAAEoG,MAAMpG,EAAE2F,OAAO3F,EAAEC,IAAIgC,MAAM,SAASlC,GAAG,IAAIC,EAAED,EAAE0H,MAAM,OAAOL,EAAEpH,EAAE+C,EAAE/C,EAAEkD,EAAElD,EAAEoG,MAAMpG,EAAE2F,SAAS3D,KAAK,SAASjC,GAAG,IAAIC,EAAED,EAAE2H,WAAW,OAAON,EAAEpH,EAAE+C,EAAE/C,EAAEkD,EAAElD,EAAEoG,MAAMpG,EAAE2F,SAASgC,IAAI,SAAS5H,GAAG,IAAIC,EAAED,EAAE2H,WAAW,OAAON,EAAEpH,EAAE+C,EAAE/C,EAAEkD,EAAElD,EAAEoG,MAAMpG,EAAE2F,UAAUiC,EAAE5H,EAAE6H,QAAQ,SAAS9H,EAAEC,GAAG,IAAIA,EAAE,OAAOD,EAAE,IAAIE,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,EAAE,IAAIgD,EAAE,EAAEa,GAAGjB,EAAE+H,GAAG/H,IAAI1F,OAAO8F,EAAEa,EAAEb,IAAI,IAAIlI,EAAE,EAAEoI,GAAGlD,EAAE4C,EAAEI,IAAI9F,OAAOpC,EAAEoI,EAAEpI,GAAG,EAAEgI,EAAED,EAAE+C,EAAE5F,EAAElF,GAAGkF,EAAElF,EAAE,IAAIwC,EAAEuF,EAAEkD,EAAE/F,EAAElF,GAAGkF,EAAElF,EAAE,IAAIkF,EAAElF,GAAGgI,EAAE9C,EAAElF,EAAE,GAAGwC,EAAE,OAAOsF,GAAG,GAAGC,EAAE+H,GAAG5K,EAAE6C,EAAEZ,KAAKjC,EAAEiF,IAAI4F,UAAU7K,EAAE+E,IAAI+F,eAAeC,WAAW,oDAAoD,OAAO,MAAM,MAAM,OAAOlI,EAAEZ,KAAK,CAAC,IAAI+I,GAAEC,GAAEjL,EAAE+E,IAAImG,cAAc,OAAO,GAAGD,GAAEE,UAAU,sBAAsBH,GAAEC,GAAEG,YAAYC,MAAMC,SAAS,qBAAqBN,IAAG,iBAAiBA,GAAEO,IAAI,OAAO1I,EAAEZ,KAAKH,EAAEmJ,GAAE,KAAK,SAASO,GAAG5I,GAAG,GAAG,mBAAmBA,GAAGtI,OAAOsI,KAAKA,EAAE,OAAOA,EAAE,IAAIC,EAAE,IAAID,EAAE9B,YAAY,IAAI,IAAIgC,KAAKF,EAAEA,EAAEM,GAAGJ,KAAKD,EAAEC,GAAG0I,GAAG5I,EAAEE,KAAK,OAAOD,EAAEA,EAAE4I,MAAM5I,EAAE6I,IAAI,OAAO7I,EAAEZ,MAAMY,EAAE8I,OAAOtG,EAAExC,EAAEzI,GAAGkD,EAAE+H,EAAE1B,UAAUd,EAAEc,UAAUd,EAAE+I,IAAI,EAAE/I,EAAEiB,GAAG,SAASlB,EAAEC,GAAG,MAAM,WAAWA,EAAE9H,EAAEkI,KAAKJ,KAAKuE,EAAElE,IAAIN,GAAG,SAASC,EAAED,aAAahD,MAAM,QAAQiD,GAAG,OAAOD,GAAGC,UAAUD,GAAG,OAAOA,GAAG,UAAUC,GAAGD,IAAItI,OAAOsI,IAAI,SAASC,GAAGjD,MAAMiM,SAASjM,MAAMiM,QAAQjJ,IAAIoE,EAAE/D,KAAKL,GAAGuB,MAAM,GAAG,GAAGgC,eAAetD,GAAGA,EAAEiJ,MAAM,SAASlJ,EAAEE,EAAExF,EAAE0F,EAAElI,EAAE+I,GAAG,GAAG,MAAM/I,EAAE,CAAC,IAAIoI,EAAEN,EAAEtF,EAAE0C,EAAE8C,EAAEE,EAAE,OAAOE,GAAGlD,GAAG,IAAI,IAAIoG,EAAE2F,OAAO/L,GAAGkD,GAAG4D,EAAE,KAAK,IAAI,EAAE,OAAOjE,EAAEiJ,MAAMlJ,EAAEE,EAAEhI,EAAE+I,GAAGhB,EAAEiJ,MAAMxO,EAAE0F,EAAElI,EAAE+I,IAAIhB,EAAEmJ,IAAI,SAASpJ,GAAG,OAAOA,EAAE,IAAIkE,EAAE,KAAKjE,EAAEoJ,IAAI,SAASrJ,GAAG,OAAOyD,KAAKoB,MAAM,IAAI7E,EAAEkE,EAAE,IAAI,KAAK,KAAKjE,EAAEqJ,OAAO,SAAStJ,EAAEE,EAAExF,GAAG,GAAGA,EAAEuF,EAAEiB,GAAGxG,EAAE,UAAUA,EAAE,GAAGuF,EAAEiB,GAAGlB,EAAEoB,IAAI,IAAI,IAAIhB,EAAEJ,EAAE1F,OAAO8F,KAAK,GAAG0D,EAAE9D,EAAEI,GAAGF,IAAIxF,EAAE,OAAOsF,EAAEI,OAAO,CAAC,IAAIlI,EAAEgI,GAAGF,GAAGA,GAAG,GAAG9H,EAAEwC,EAAE,OAAOwF,EAAEhI,EAAE,GAAGA,EAAE8H,EAAEtF,EAAE,OAAOwF,EAAEhI,EAAE8H,EAAE,OAAOE,GAAaD,EAAEsJ,YAAY5H,EAAG,QAAQC,EAAG,SAAS5B,GAAG,IAAIC,EAAE,GAAGuD,EAAEgG,SAAS,EAAE,OAAO,KAAKxJ,EAAEC,EAAE,EAAEA,EAAE,GAAGoE,SAAS,KAAK,WAAW,MAAM,uCAAuCoF,QAAQ9H,EAAGC,GAAIuD,gBAAgBlF,EAAEyJ,UAAU,SAASxJ,GAAGF,EAAE,oBAAoBC,EAAE7C,EAAEiF,IAAInC,GAAG9C,EAAEiF,IAAInC,EAAE9C,EAAE+E,IAAI/E,EAAEiF,IAAID,SAASnC,EAAEoB,QAAQsI,SAAS1J,EAAEoB,QAAQsI,QAAQvM,EAAEiF,MAAM,IAAIuH,GAAG,SAAS5J,GAAG,GAAGC,EAAE6I,IAAI,CAAC,IAAI5I,EAAExF,EAAE,aAAa,IAAI,IAAI0F,EAAE,IAAIyJ,cAAc,YAAYzJ,EAAE0J,MAAM,UAAU1J,EAAE2J,QAAQ7J,EAAEE,EAAE4J,KAAK,MAAMhK,GAAGE,EAAE+J,cAAc7H,SAAS4H,KAAK,IAAI9R,EAAEgI,EAAEgK,kBAAkBN,GAAGO,IAAG,SAASnK,GAAG,IAAIE,EAAEuI,MAAM2B,MAAMpH,EAAEhD,GAAGyJ,QAAQ/O,EAAEwE,GAAG,IAAIe,EAAE/H,EAAEmS,kBAAkB,aAAa,MAAM,KAAK,UAAUpK,GAAG,IAAIA,IAAI,GAAG,MAAMA,GAAG,SAASA,KAAK,IAAIoE,SAAS,KAAK9C,OAAO,GAAG,MAAMvB,GAAG,MAAM,eAAc,CAAC,IAAIiB,EAAE7D,EAAE+E,IAAImG,cAAc,KAAKrH,EAAEkF,MAAM,wBAAwBlF,EAAEwH,MAAM6B,QAAQ,OAAOlN,EAAE+E,IAAI6H,KAAKtL,YAAYuC,GAAG2I,GAAGO,IAAG,SAASnK,GAAG,OAAOiB,EAAEwH,MAAM2B,MAAMpK,EAAE5C,EAAE+E,IAAIoI,YAAYC,iBAAiBvJ,EAAE/B,GAAGuL,iBAAiB,YAAW,OAAOb,GAAG5J,IAAI0K,GAAG,WAAW,MAAM,OAAO,CAACtM,KAAKkE,EAAElE,KAAK6C,EAAE7C,KAAKjG,GAAG,KAAKwS,GAAG,WAAW,MAAM,OAAO,CAACvM,KAAKkE,EAAElE,KAAK6C,EAAE7C,KAAKhB,GAAG,KAAKwN,GAAG,WAAW,OAAOxM,KAAKyM,KAAKC,GAAG,SAAS9K,EAAEE,EAAExF,GAAG,GAAG,MAAMwF,GAAGD,EAAEiB,GAAGlB,EAAE,WAAW,MAAMA,GAAG,MAAMA,GAAG,MAAMA,IAAItF,EAAEsF,EAAE7H,EAAE+H,EAAEF,EAAE+C,EAAE/C,EAAEA,EAAEE,GAAG,MAAMA,GAAGD,EAAEiB,GAAGlB,EAAE,UAAU,CAAC,IAAII,EAAEH,EAAE8K,OAAO/K,GAAGA,EAAEI,EAAEF,EAAEA,EAAEE,EAAE2C,EAAErI,EAAE0F,EAAEjI,EAAE,OAAO6H,EAAE,GAAGE,EAAE,GAAGxF,EAAE,KAAKsF,GAAG,IAAIE,GAAG,IAAIxF,GAAG,KAAK,CAACsF,EAAEE,EAAExF,IAAIsQ,GAAG,SAAShL,EAAEE,EAAExF,EAAE0F,GAAG,IAAIlI,EAAE,CAACgI,EAAEF,GAAG,IAAI+C,EAAE7C,GAAG,IAAI/H,EAAEuC,GAAG,IAAImQ,IAAI5K,EAAEgL,IAAIjL,EAAEE,EAAExF,GAAG2J,SAASuG,IAAI,OAAO3K,EAAEiB,GAAGd,EAAE,YAAYlI,EAAE4N,QAAQ1F,GAAGlI,GAAG,SAASiS,GAAGnK,EAAEC,EAAEC,GAAG,OAAO,SAASxF,IAAI,IAAI0F,EAAEpD,MAAM+D,UAAUQ,MAAMlB,KAAKmB,UAAU,GAAGtJ,EAAEkI,EAAE8K,KAAK,KAAKjK,EAAEvG,EAAEyQ,MAAMzQ,EAAEyQ,OAAO,GAAG/N,EAAE1C,EAAE0Q,MAAM1Q,EAAE0Q,OAAO,GAAG,OAAOnK,EAAEX,GAAGpI,IAAI,SAAS8H,EAAEC,GAAG,IAAI,IAAIC,EAAE,EAAExF,EAAEsF,EAAE1F,OAAO4F,EAAExF,EAAEwF,IAAI,GAAGF,EAAEE,KAAKD,EAAE,OAAOD,EAAEhG,KAAKgG,EAAER,OAAOU,EAAE,GAAG,IAArF,CAA0F9C,EAAElF,GAAGgI,EAAEA,EAAEe,EAAE/I,IAAI+I,EAAE/I,KAAKkF,EAAE9C,QAAQ,YAAY2G,EAAE7D,EAAEiO,SAASjO,EAAEpD,KAAK9B,GAAG+I,EAAE/I,GAAG8H,EAAE3C,GAAG4C,EAAEG,GAAGF,EAAEA,EAAEe,EAAE/I,IAAI+I,EAAE/I,KAA+tD,SAASoT,KAAK,OAAOlN,KAAKyM,IAAI,SAASU,GAAGvL,EAAEC,GAAG,IAAI,IAAIC,EAAE,GAAGxF,EAAE,EAAE0F,EAAEJ,EAAE1F,OAAO8F,EAAE,GAAGH,EAAEvF,EAAEA,GAAG,EAAE,CAAC,IAAIxC,EAAE,CAAC,CAAC8K,GAAGhD,EAAEtF,EAAE,GAAGyI,GAAGnD,EAAEtF,EAAE,IAAI,CAACsI,GAAGhD,EAAEtF,GAAGyI,GAAGnD,EAAEtF,EAAE,IAAI,CAACsI,GAAGhD,EAAEtF,EAAE,GAAGyI,GAAGnD,EAAEtF,EAAE,IAAI,CAACsI,GAAGhD,EAAEtF,EAAE,GAAGyI,GAAGnD,EAAEtF,EAAE,KAAKuF,EAAEvF,EAAE0F,EAAE,GAAG1F,EAAExC,EAAE,GAAG,CAAC8K,GAAGhD,EAAE,GAAGmD,GAAGnD,EAAE,IAAII,EAAE,GAAG1F,IAAIxC,EAAE,GAAG,CAAC8K,GAAGhD,EAAE,GAAGmD,GAAGnD,EAAE,IAAI9H,EAAE,GAAG,CAAC8K,GAAGhD,EAAE,GAAGmD,GAAGnD,EAAE,KAAK9H,EAAE,GAAG,CAAC8K,GAAGhD,EAAEI,EAAE,GAAG+C,GAAGnD,EAAEI,EAAE,IAAIA,EAAE,GAAG1F,EAAExC,EAAE,GAAGA,EAAE,GAAGwC,IAAIxC,EAAE,GAAG,CAAC8K,GAAGhD,EAAEtF,GAAGyI,GAAGnD,EAAEtF,EAAE,KAAKwF,EAAElG,KAAK,CAAC,MAAM9B,EAAE,GAAG8K,EAAE,EAAE9K,EAAE,GAAG8K,EAAE9K,EAAE,GAAG8K,GAAG,IAAI9K,EAAE,GAAGiL,EAAE,EAAEjL,EAAE,GAAGiL,EAAEjL,EAAE,GAAGiL,GAAG,GAAGjL,EAAE,GAAG8K,EAAE,EAAE9K,EAAE,GAAG8K,EAAE9K,EAAE,GAAG8K,GAAG,GAAG9K,EAAE,GAAGiL,EAAE,EAAEjL,EAAE,GAAGiL,EAAEjL,EAAE,GAAGiL,GAAG,EAAEjL,EAAE,GAAG8K,EAAE9K,EAAE,GAAGiL,IAAI,OAAOjD,EAAvsED,EAAEmK,MAAM,SAASpK,GAAG,IAAIE,EAAE,OAAOD,EAAEiB,GAAGlB,EAAE,WAAW,MAAMA,GAAG,MAAMA,GAAG,MAAMA,GAAGE,EAAED,EAAEuL,QAAQxL,GAAGA,EAAEE,EAAEA,EAAEA,EAAEF,EAAE+C,EAAE7C,EAAE6C,EAAE/C,EAAE7H,EAAE+H,EAAE/H,EAAE6H,EAAE6K,IAAI3K,EAAE2K,KAAK5K,EAAEiB,GAAGlB,EAAE,WAAW,MAAMA,GAAG,MAAMA,GAAG,MAAMA,GAAGE,EAAED,EAAEwL,QAAQzL,GAAGA,EAAEE,EAAEA,EAAEA,EAAEF,EAAE+C,EAAE7C,EAAE6C,EAAE/C,EAAE7H,EAAE+H,EAAE/H,EAAE6H,EAAE6K,IAAI3K,EAAE2K,MAAM5K,EAAEiB,GAAGlB,EAAE,YAAYA,EAAEC,EAAE8K,OAAO/K,IAAIC,EAAEiB,GAAGlB,EAAE,WAAW,MAAMA,GAAG,MAAMA,GAAG,MAAMA,GAAGE,EAAED,EAAEyL,QAAQ1L,GAAGA,EAAEsC,EAAEpC,EAAEoC,EAAEtC,EAAEiB,EAAEf,EAAEe,EAAEjB,EAAE5C,EAAE8C,EAAE9C,EAAE8C,EAAED,EAAE0L,QAAQ3L,GAAGA,EAAEkD,EAAEhD,EAAE/H,IAAI6H,EAAE,CAAC6K,IAAI,SAAS3K,EAAEF,EAAE+C,EAAE/C,EAAE7H,EAAE6H,EAAEsC,EAAEtC,EAAEiB,EAAEjB,EAAEkD,EAAElD,EAAE5C,GAAG,GAAG4C,EAAEqE,SAASuG,GAAG5K,GAAGC,EAAEuL,QAAQ,SAASxL,EAAEC,EAAEC,EAAExF,GAAG,IAAI0F,EAAElI,EAAE+I,EAAEX,EAAElD,EAAE,OAAOgB,KAAK8C,GAAGlB,EAAE,WAAW,MAAMA,GAAG,MAAMA,GAAG,MAAMA,IAAIE,EAAEF,EAAE7H,EAAE8H,EAAED,EAAEiB,EAAEvG,EAAEsF,EAAEM,EAAEN,EAAEA,EAAEsC,GAAGhC,GAAGlD,EAAE8C,EAAED,IAAI,EAAE6D,GAAG9D,GAAGA,GAAG,KAAK,IAAI,IAAI,EAAE,IAAII,EAAElI,EAAE+I,EAAEf,EAAE9C,EAAE4N,GAAG5K,GAAG,CAAChD,EAAEkD,EAAE,EAAE,EAAEA,EAAElD,GAAG4C,IAAIA,GAAG9H,GAAG,CAACoI,EAAElD,EAAEA,EAAEkD,EAAE,EAAE,GAAGN,GAAGiB,GAAG,CAAC,EAAE,EAAEX,EAAElD,EAAEA,EAAEkD,GAAGN,GAAGtF,IAAIuF,EAAEwL,QAAQ,SAASzL,EAAEC,EAAEC,EAAExF,GAAG,IAAI0F,EAAElI,EAAE+I,EAAEX,EAAElD,EAAE,OAAOgB,KAAK8C,GAAGlB,EAAE,WAAW,MAAMA,GAAG,MAAMA,GAAG,MAAMA,IAAIE,EAAEF,EAAE5C,EAAE6C,EAAED,EAAEiB,EAAEjB,EAAEA,EAAEsC,IAAItC,EAAE,GAAGC,EAAE,GAAGC,EAAE,KAAKF,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAAKI,GAAGlD,EAAE,EAAE6C,GAAGC,EAAE,GAAGA,EAAE,EAAEA,KAAK,EAAE4D,GAAG9D,GAAGA,GAAG,KAAK,IAAI,IAAI,EAAE,IAAII,EAAElI,EAAE+I,EAAEf,EAAE9C,EAAE,EAAE4N,GAAG5K,GAAG,CAAChD,EAAEkD,EAAE,EAAE,EAAEA,EAAElD,GAAG4C,IAAIA,GAAG9H,GAAG,CAACoI,EAAElD,EAAEA,EAAEkD,EAAE,EAAE,GAAGN,GAAGiB,GAAG,CAAC,EAAE,EAAEX,EAAElD,EAAEA,EAAEkD,GAAGN,GAAGtF,IAAIuF,EAAE0L,QAAQ,SAAS3L,EAAEC,EAAEC,GAAG,IAAIxF,EAAE0F,EAAE,OAAOJ,GAAGE,EAAE4K,GAAG9K,EAAEC,EAAEC,IAAI,GAAGD,EAAEC,EAAE,GAAGA,EAAEA,EAAE,GAAG,CAACoC,IAAI,IAAIlC,GAAG1F,EAAEgJ,EAAE1D,EAAEC,EAAEC,IAAI0D,EAAE5D,EAAEC,EAAEC,IAAI,KAAKxF,GAAGsF,GAAGC,EAAEC,GAAGE,EAAE1F,GAAGuF,GAAGC,EAAEF,GAAGI,EAAE,GAAGJ,EAAEC,GAAGG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAIa,EAAE,GAAGb,EAAE,EAAEA,EAAE1F,EAAEvC,EAAEuC,EAAE2J,SAASqG,KAAKzK,EAAEyL,QAAQ,SAAS1L,EAAEC,EAAEC,GAAG,IAAIxF,EAAE0F,EAAElI,EAAE+I,EAAE,OAAOjB,GAAGE,EAAE4K,GAAG9K,EAAEC,EAAEC,IAAI,GAAGD,EAAEC,EAAE,GAAGA,EAAEA,EAAE,GAAGxF,IAAI0F,EAAEsD,EAAE1D,EAAEC,EAAEC,KAAKhI,EAAE0L,EAAE5D,EAAEC,EAAEC,KAAK,EAAE,CAACoC,IAAI,IAAIrB,EAAEb,EAAElI,GAAG,KAAKkI,GAAGJ,GAAGC,EAAEC,GAAGe,EAAEb,GAAGH,GAAGC,EAAEF,GAAGiB,EAAE,GAAGjB,EAAEC,GAAGgB,EAAE,GAAG,KAAK,EAAE,GAAG,IAAIA,EAAE,GAAGA,EAAE,EAAEvG,EAAE,GAAGuG,GAAG,EAAEvG,GAAGuG,GAAG,EAAE,EAAEvG,GAAG0C,EAAE1C,EAAE2J,SAASsG,KAAK1K,EAAE2L,aAAa,WAAW,OAAOxN,KAAK8M,KAAK,KAAKzB,QAAQ5C,EAAE,OAAO5G,EAAE4L,SAAS,SAAS7L,EAAEC,GAAG,IAAIC,EAAE9C,EAAE+E,IAAImG,cAAc,OAAOpI,EAAEuI,MAAMqD,QAAQ,6CAA6C5L,EAAE6L,OAAO,WAAW9L,EAAEI,KAAKjC,MAAMA,KAAK2N,OAAO,KAAK3O,EAAE+E,IAAI6H,KAAKrR,YAAYyF,OAAO8B,EAAE8L,QAAQ,WAAW5O,EAAE+E,IAAI6H,KAAKrR,YAAYyF,OAAOhB,EAAE+E,IAAI6H,KAAKtL,YAAYwB,GAAGA,EAAE+F,IAAIjG,GAAkfC,EAAE8K,OAAOZ,IAAG,SAASnK,GAAG,IAAIA,IAAIA,EAAEgD,EAAEhD,IAAIT,QAAQ,KAAK,EAAE,MAAM,CAACW,GAAG,EAAE6C,GAAG,EAAE5K,GAAG,EAAE0S,IAAI,OAAOoB,MAAM,EAAE5H,SAASiH,IAAI,GAAG,QAAQtL,EAAE,MAAM,CAACE,GAAG,EAAE6C,GAAG,EAAE5K,GAAG,EAAE0S,IAAI,OAAOxG,SAASiH,KAAK5E,EAAEpG,GAAGN,EAAEuD,cAAc2I,UAAU,EAAE,KAAK,KAAKlM,EAAEmM,WAAWnM,EAAE4J,GAAG5J,IAAI,IAAIE,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAE7D,EAAEkF,EAAEtC,EAAEoM,MAAM9H,GAAG,OAAOhC,GAAGA,EAAE,KAAKlC,EAAE4E,EAAE1C,EAAE,GAAG4J,UAAU,GAAG,IAAIxR,EAAEsK,EAAE1C,EAAE,GAAG4J,UAAU,EAAE,GAAG,IAAIhM,EAAE8E,EAAE1C,EAAE,GAAG4J,UAAU,EAAE,GAAG,KAAK5J,EAAE,KAAKlC,EAAE4E,GAAG/D,EAAEqB,EAAE,GAAG6J,OAAO,IAAIlL,EAAE,IAAIvG,EAAEsK,GAAG/D,EAAEqB,EAAE,GAAG6J,OAAO,IAAIlL,EAAE,IAAIf,EAAE8E,GAAG/D,EAAEqB,EAAE,GAAG6J,OAAO,IAAIlL,EAAE,KAAKqB,EAAE,KAAKlF,EAAEkF,EAAE,GAAGY,GAAGuD,GAAGvG,EAAE4E,EAAE1H,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAKrB,GAAG,MAAMxF,EAAEoK,EAAE1H,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAK7G,GAAG,MAAM0F,EAAE0E,EAAE1H,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAKnB,GAAG,MAAM,QAAQkC,EAAE,GAAGiB,cAAchC,MAAM,EAAE,KAAKrJ,EAAE4M,EAAE1H,EAAE,KAAKA,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAKrJ,GAAG,MAAMoK,EAAE,IAAIlF,EAAEkF,EAAE,GAAGY,GAAGuD,GAAGvG,EAAE4E,EAAE1H,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAKrB,GAAG,MAAMxF,EAAEoK,EAAE1H,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAK7G,GAAG,MAAM0F,EAAE0E,EAAE1H,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAKnB,GAAG,OAAO,OAAOhD,EAAE,GAAGmE,OAAO,IAAI,KAAKnE,EAAE,GAAGmE,OAAO,MAAMrB,GAAG,KAAK,QAAQoC,EAAE,GAAGiB,cAAchC,MAAM,EAAE,KAAKrJ,EAAE4M,EAAE1H,EAAE,KAAKA,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAKrJ,GAAG,KAAK+H,EAAEuL,QAAQtL,EAAExF,EAAE0F,EAAElI,IAAIoK,EAAE,IAAIlF,EAAEkF,EAAE,GAAGY,GAAGuD,GAAGvG,EAAE4E,EAAE1H,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAKrB,GAAG,MAAMxF,EAAEoK,EAAE1H,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAK7G,GAAG,MAAM0F,EAAE0E,EAAE1H,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAKnB,GAAG,OAAO,OAAOhD,EAAE,GAAGmE,OAAO,IAAI,KAAKnE,EAAE,GAAGmE,OAAO,MAAMrB,GAAG,KAAK,QAAQoC,EAAE,GAAGiB,cAAchC,MAAM,EAAE,KAAKrJ,EAAE4M,EAAE1H,EAAE,KAAKA,EAAE,IAAI,KAAKA,EAAE,GAAGmE,OAAO,KAAKrJ,GAAG,KAAK+H,EAAEwL,QAAQvL,EAAExF,EAAE0F,EAAElI,MAAMoK,EAAE,CAACpC,EAAEA,EAAE6C,EAAErI,EAAEvC,EAAEiI,EAAEiE,SAASiH,KAAKT,IAAI,KAAK,SAASzK,EAAE1F,GAAG,EAAEwF,GAAG,IAAImE,SAAS,IAAI9C,MAAM,GAAGtB,EAAEiB,GAAGhJ,EAAE,YAAYoK,EAAEwD,QAAQ5N,GAAGoK,IAAI,CAACpC,GAAG,EAAE6C,GAAG,EAAE5K,GAAG,EAAE0S,IAAI,OAAOoB,MAAM,EAAE5H,SAASiH,MAAKrL,GAAGA,EAAEoM,IAAIlC,IAAG,SAASnK,EAAEE,EAAExF,GAAG,OAAOuF,EAAEuL,QAAQxL,EAAEE,EAAExF,GAAGmQ,OAAM5K,EAAEqM,IAAInC,IAAG,SAASnK,EAAEE,EAAExF,GAAG,OAAOuF,EAAEwL,QAAQzL,EAAEE,EAAExF,GAAGmQ,OAAM5K,EAAEgL,IAAId,IAAG,SAASnK,EAAEC,EAAEC,GAAG,SAASxF,EAAEsF,GAAG,OAAOA,EAAE,GAAG,EAAE,MAAM,KAAK,SAAStF,EAAEwF,GAAGxF,EAAEuF,IAAI,EAAEvF,EAAEsF,IAAI,IAAIqE,SAAS,IAAI9C,MAAM,MAAKtB,EAAEsM,SAAS,SAASvM,GAAG,IAAIC,EAAE7B,KAAKmO,SAASC,MAAMpO,KAAKmO,SAASC,OAAO,CAAClK,EAAE,EAAErB,EAAE,EAAE9I,EAAE6H,GAAG,KAAKE,EAAE9B,KAAKoN,QAAQvL,EAAEqC,EAAErC,EAAEgB,EAAEhB,EAAE9H,GAAG,OAAO8H,EAAEqC,GAAG,KAAKrC,EAAEqC,EAAE,IAAIrC,EAAEqC,EAAE,EAAErC,EAAEgB,GAAG,GAAGhB,EAAEgB,GAAG,IAAI7C,KAAKmO,SAASC,MAAM,CAAClK,EAAE,EAAErB,EAAE,EAAE9I,EAAE8H,EAAE9H,KAAK+H,EAAE2K,KAAK5K,EAAEsM,SAASE,MAAM,kBAAkBrO,KAAKoO,OAAOvM,EAAEyM,gBAAgB,SAAS1M,GAAG,IAAIA,EAAE,OAAO,KAAK,IAAIE,EAAEyM,GAAG3M,GAAG,GAAGE,EAAE0M,IAAI,OAAOC,GAAG3M,EAAE0M,KAAK,IAAIlS,EAAE,CAACxC,EAAE,EAAEmF,EAAE,EAAEiF,EAAE,EAAElF,EAAE,EAAEO,EAAE,EAAEuC,EAAE,EAAEwG,EAAE,EAAEzF,EAAE,EAAEjB,EAAE,EAAEkD,EAAE,EAAE4B,EAAE,GAAG1E,EAAE,GAAG,OAAOH,EAAEiB,GAAGlB,EAAEoB,IAAInB,EAAEiB,GAAGlB,EAAE,GAAGoB,KAAKhB,EAAEyM,GAAG7M,IAAII,EAAE9F,QAAQ0I,EAAEhD,GAAGyJ,QAAQ3C,GAAE,SAAS9G,EAAEC,EAAEC,GAAG,IAAIhI,EAAE,GAAG+I,EAAEhB,EAAEsD,cAAc,GAAGrD,EAAEuJ,QAAQzC,GAAE,SAAShH,EAAEC,GAAGA,GAAG/H,EAAE8B,MAAMiG,MAAK,KAAKgB,GAAG/I,EAAEoC,OAAO,IAAI8F,EAAEpG,KAAK,CAACiG,GAAG2C,GAAG1K,EAAEsH,OAAO,EAAE,KAAKyB,EAAE,IAAIhB,EAAE,KAAKA,EAAE,IAAI,KAAK,KAAKgB,EAAEb,EAAEpG,KAAK,CAACiG,GAAG2C,GAAG1K,SAAS,KAAKA,EAAEoC,QAAQI,EAAEuG,KAAKb,EAAEpG,KAAK,CAACiG,GAAG2C,GAAG1K,EAAEsH,OAAO,EAAE9E,EAAEuG,MAAMvG,EAAEuG,UAASb,EAAEiE,SAASpE,EAAE2L,aAAa1L,EAAE0M,IAAIC,GAAGzM,GAAGA,GAAGH,EAAE6M,qBAAqB3C,IAAG,SAASnK,GAAG,IAAIA,EAAE,OAAO,KAAK,IAAIE,EAAE,GAAG,OAAOD,EAAEiB,GAAGlB,EAAEoB,IAAInB,EAAEiB,GAAGlB,EAAE,GAAGoB,KAAKlB,EAAE2M,GAAG7M,IAAIE,EAAE5F,QAAQ0I,EAAEhD,GAAGyJ,QAAQ1C,GAAE,SAAS/G,EAAEC,EAAEvF,GAAG,IAAI0F,EAAE,GAAGjI,EAAEkI,KAAKJ,GAAGvF,EAAE+O,QAAQzC,GAAE,SAAShH,EAAEC,GAAGA,GAAGG,EAAEpG,MAAMiG,MAAKC,EAAElG,KAAK,CAACiG,GAAG2C,GAAGxC,OAAMF,EAAEmE,SAASpE,EAAE2L,aAAa1L,IAAG9B,MAAK,SAAS4B,GAAG,IAAIA,EAAE,OAAOA,EAAE,IAAI,IAAIC,EAAE,GAAGC,EAAE,EAAEA,EAAEF,EAAE1F,OAAO4F,IAAI,CAAC,IAAI,IAAIxF,EAAE,GAAG0F,EAAE,EAAEA,EAAEJ,EAAEE,GAAG5F,OAAO8F,IAAI1F,EAAEV,KAAKgG,EAAEE,GAAGE,IAAIH,EAAEjG,KAAKU,GAAG,OAAOuF,KAAI,IAAI0M,GAAG,SAAS3M,GAAG,IAAIC,EAAE0M,GAAGI,GAAGJ,GAAGI,IAAI,GAAG,OAAO9M,EAAED,GAAGC,EAAED,GAAGgN,MAAM,IAAI/M,EAAED,GAAG,CAACgN,MAAM,KAAKC,YAAW,WAAW,IAAI,IAAI/M,KAAKD,EAAEA,EAAEK,GAAGJ,IAAIA,GAAGF,IAAIC,EAAEC,GAAG8M,SAAS/M,EAAEC,GAAG8M,cAAc/M,EAAEC,OAAMD,EAAED,IAAI,SAASkN,GAAGlN,EAAEC,EAAEC,EAAExF,EAAE0F,GAAG,OAAOJ,GAAGA,IAAI,EAAEC,EAAE,EAAEC,EAAE,EAAExF,EAAE,EAAE0F,GAAG,EAAEH,EAAE,GAAGC,EAAE,EAAExF,GAAG,EAAEuF,EAAE,EAAEC,EAAE,SAASiN,GAAGnN,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,GAAG,MAAMA,IAAIA,EAAE,GAAG,IAAI,IAAIkF,GAAGlF,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,GAAG,EAAEqF,EAAE,EAAE,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAOpF,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAOuF,EAAE,EAAE1H,EAAE,EAAEA,EAAE,GAAGA,IAAI,CAAC,IAAIgE,EAAEoD,EAAEG,EAAEvH,GAAGoH,EAAES,EAAEmK,GAAGhO,EAAEc,EAAEE,EAAEE,EAAEa,GAAG+B,EAAEkK,GAAGhO,EAAEe,EAAEvF,EAAExC,EAAEoI,GAAG4C,EAAEH,EAAEA,EAAEC,EAAEA,EAAEJ,GAAGvF,EAAEnC,GAAGsI,EAAE4J,KAAKlK,GAAG,OAAOZ,EAAEM,EAAE,SAASyK,GAAGrN,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,GAAG,KAAKoD,EAAE1D,EAAEE,GAAG0D,EAAExD,EAAEa,IAAI2C,EAAE5D,EAAEE,GAAGwD,EAAEtD,EAAEa,IAAIyC,EAAEzD,EAAEvF,GAAGkJ,EAAE1L,EAAEoI,IAAIsD,EAAE3D,EAAEvF,GAAGgJ,EAAExL,EAAEoI,IAAI,CAAC,IAAIlD,GAAG4C,EAAEE,IAAIhI,EAAEoI,IAAIL,EAAEvF,IAAI0F,EAAEa,GAAG,GAAG7D,EAAE,CAAC,IAAIkF,IAAItC,EAAEtF,EAAEuF,EAAEC,IAAIE,EAAEa,IAAIjB,EAAEE,IAAIE,EAAEE,EAAEpI,EAAE+I,IAAI7D,EAAEqF,IAAIzC,EAAEtF,EAAEuF,EAAEC,IAAIhI,EAAEoI,IAAIL,EAAEvF,IAAI0F,EAAEE,EAAEpI,EAAE+I,IAAI7D,EAAEC,GAAGiF,EAAEgL,QAAQ,GAAG1K,GAAGH,EAAE6K,QAAQ,GAAG,KAAKjQ,GAAGuG,EAAE5D,EAAEE,GAAGoN,QAAQ,IAAIjQ,GAAGqG,EAAE1D,EAAEE,GAAGoN,QAAQ,IAAIjQ,GAAGuG,EAAExD,EAAEa,GAAGqM,QAAQ,IAAIjQ,GAAGqG,EAAEtD,EAAEa,GAAGqM,QAAQ,IAAI1K,GAAGgB,EAAE3D,EAAEvF,GAAG4S,QAAQ,IAAI1K,GAAGc,EAAEzD,EAAEvF,GAAG4S,QAAQ,IAAI1K,GAAGgB,EAAE1L,EAAEoI,GAAGgN,QAAQ,IAAI1K,GAAGc,EAAExL,EAAEoI,GAAGgN,QAAQ,IAAI,MAAM,CAACtK,EAAEV,EAAEa,EAAEV,KAAK,SAAS8K,GAAGvN,EAAEE,EAAExF,GAAG,IAAI0F,EAAEH,EAAEuN,WAAWxN,GAAG9H,EAAE+H,EAAEuN,WAAWtN,GAAG,IAAID,EAAEwN,gBAAgBrN,EAAElI,GAAG,OAAOwC,EAAE,EAAE,GAAG,IAAI,IAAIuG,EAAEkM,GAAGO,MAAM,EAAE1N,GAAGM,EAAE6M,GAAGO,MAAM,EAAExN,GAAG9C,EAAEsG,KAAKzC,EAAE,GAAG,GAAGqB,EAAEoB,KAAKpD,EAAE,GAAG,GAAGmC,EAAE,GAAGpF,EAAE,GAAGuF,EAAE,GAAG1H,EAAER,EAAE,EAAE,GAAGwE,EAAE,EAAEA,EAAE9B,EAAE,EAAE8B,IAAI,CAAC,IAAI6D,EAAE9C,EAAE0N,kBAAkBD,MAAMzN,EAAED,EAAE4N,OAAO1O,EAAE9B,IAAIqF,EAAEzI,KAAK,CAACgJ,EAAED,EAAEC,EAAEG,EAAEJ,EAAEI,EAAEnD,EAAEd,EAAE9B,IAAI,IAAI8B,EAAE,EAAEA,EAAEoD,EAAE,EAAEpD,IAAI6D,EAAE9C,EAAE0N,kBAAkBD,MAAMzN,EAAEC,EAAE0N,OAAO1O,EAAEoD,IAAIjF,EAAErD,KAAK,CAACgJ,EAAED,EAAEC,EAAEG,EAAEJ,EAAEI,EAAEnD,EAAEd,EAAEoD,IAAI,IAAIpD,EAAE,EAAEA,EAAE9B,EAAE8B,IAAI,IAAI,IAAI8D,EAAE,EAAEA,EAAEV,EAAEU,IAAI,CAAC,IAAIE,EAAET,EAAEvD,GAAGiE,EAAEV,EAAEvD,EAAE,GAAGvB,EAAEN,EAAE2F,GAAG7K,EAAEkF,EAAE2F,EAAE,GAAGQ,EAAEM,EAAEX,EAAEH,EAAEE,EAAEF,GAAG,KAAK,IAAI,IAAIgB,EAAEF,EAAE3L,EAAE6K,EAAErF,EAAEqF,GAAG,KAAK,IAAI,IAAIkB,EAAEmJ,GAAGnK,EAAEF,EAAEE,EAAEC,EAAEA,EAAEH,EAAEG,EAAEA,EAAExF,EAAEqF,EAAErF,EAAEwF,EAAEhL,EAAE6K,EAAE7K,EAAEgL,GAAG,GAAGe,EAAE,CAAC,GAAGtB,EAAEsB,EAAElB,EAAEsK,QAAQ,KAAKpJ,EAAEf,EAAEmK,QAAQ,GAAG,SAAS1K,EAAEsB,EAAElB,EAAEsK,QAAQ,IAAIpJ,EAAEf,EAAEmK,QAAQ,GAAG,IAAIhM,EAAE4B,EAAElD,EAAE8D,GAAGI,EAAEV,GAAGN,EAAEM,KAAKL,EAAEK,GAAGN,EAAEM,MAAML,EAAEnD,EAAEkD,EAAElD,GAAGoB,EAAEzD,EAAEqC,EAAE8D,GAAGI,EAAEF,GAAGrG,EAAEqG,KAAK7L,EAAE6L,GAAGrG,EAAEqG,MAAM7L,EAAE6H,EAAErC,EAAEqC,GAAGsB,GAAG,GAAGA,GAAG,OAAOF,GAAG,GAAGA,GAAG,QAAQ1G,EAAEQ,IAAIA,EAAElB,KAAK,CAACgJ,EAAEkB,EAAElB,EAAEG,EAAEe,EAAEf,EAAE0K,GAAGjK,EAAEtC,EAAE,GAAGwM,GAAGlK,EAAExC,EAAE,OAAO,OAAOlG,EAAE,SAAS6S,GAAG/N,EAAEE,EAAExF,GAAGsF,EAAEC,EAAE+N,YAAYhO,GAAGE,EAAED,EAAE+N,YAAY9N,GAAG,IAAI,IAAIE,EAAElI,EAAE+I,EAAEX,EAAElD,EAAEkF,EAAEG,EAAEpF,EAAEuF,EAAE1H,EAAEgE,EAAExE,EAAE,EAAE,GAAGqI,EAAE,EAAEC,EAAEhD,EAAE1F,OAAOyI,EAAEC,EAAED,IAAI,CAAC,IAAIG,EAAElD,EAAE+C,GAAG,GAAG,KAAKG,EAAE,GAAG9C,EAAEhD,EAAE8F,EAAE,GAAGhL,EAAEoK,EAAEY,EAAE,OAAO,CAAC,KAAKA,EAAE,IAAIN,EAAE,CAACxC,EAAElI,GAAG0V,OAAO1K,EAAE3B,MAAM,IAAInB,EAAEwC,EAAE,GAAG1K,EAAE0K,EAAE,KAAKA,EAAE,CAACxC,EAAElI,EAAEkI,EAAElI,EAAEkF,EAAEkF,EAAElF,EAAEkF,GAAGlC,EAAEhD,EAAElF,EAAEoK,GAAG,IAAI,IAAIa,EAAE,EAAExF,EAAEuC,EAAE5F,OAAO6I,EAAExF,EAAEwF,IAAI,CAAC,IAAIhL,EAAE+H,EAAEiD,GAAG,GAAG,KAAKhL,EAAE,GAAG8I,EAAEwB,EAAEtK,EAAE,GAAGmI,EAAEjD,EAAElF,EAAE,OAAO,CAAC,KAAKA,EAAE,IAAI+C,EAAE,CAAC+F,EAAEX,GAAGsN,OAAOzV,EAAEoJ,MAAM,IAAIN,EAAE/F,EAAE,GAAGoF,EAAEpF,EAAE,KAAKA,EAAE,CAAC+F,EAAEX,EAAEW,EAAEX,EAAEmC,EAAEpF,EAAEoF,EAAEpF,GAAG4D,EAAEwB,EAAEnC,EAAEjD,GAAG,IAAImG,EAAE+J,GAAG3K,EAAE1H,EAAER,GAAG,GAAGA,EAAEwE,GAAGsE,MAAM,CAAC,IAAI,IAAIE,EAAE,EAAEE,EAAEJ,EAAElJ,OAAOoJ,EAAEE,EAAEF,IAAIF,EAAEE,GAAGuK,SAASlL,EAAES,EAAEE,GAAGwK,SAAS/K,EAAEK,EAAEE,GAAGyK,KAAKvL,EAAEY,EAAEE,GAAG0K,KAAKlT,EAAEgE,EAAEA,EAAE0O,OAAOpK,OAAO,OAAOtE,EAAEe,EAAE0N,kBAAkB,SAAS3N,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,GAAG,IAAIkF,EAAE,EAAElF,EAAEqF,EAAEuB,EAAE1B,EAAE,GAAGjF,EAAE2G,EAAE1B,EAAE,GAAGM,EAAExF,EAAEA,EAAElC,EAAE0H,EAAExF,EAAE8B,EAAEuD,EAAEzC,EAAE,EAAE3C,EAAED,EAAE8C,EAAE,EAAEoC,EAAElF,EAAEA,EAAEgD,EAAElF,EAAE+F,EAAE8B,EAAEN,EAAExC,EAAE,EAAE5C,EAAED,EAAE1C,EAAE,EAAE4H,EAAElF,EAAEA,EAAElF,EAAEgD,EAAEoF,EAAE0C,EAAEhD,EAAE,EAAE5C,GAAG8C,EAAEF,GAAG4C,GAAGxC,EAAE,EAAEF,EAAEF,GAAGkD,EAAEjD,EAAE,EAAE7C,GAAG1C,EAAEuF,GAAG2C,GAAG1K,EAAE,EAAEwC,EAAEuF,GAAGkD,EAAEjD,EAAE,EAAE9C,GAAGgD,EAAEF,GAAG0C,GAAG3B,EAAE,EAAEb,EAAEF,GAAGvC,EAAEjD,EAAE,EAAE0C,GAAGlF,EAAEwC,GAAGkI,GAAGtC,EAAE,EAAEpI,EAAEwC,GAAGvC,EAAEmK,EAAEtC,EAAE5C,EAAE8C,EAAEwD,EAAEpB,EAAErC,EAAE7C,EAAE1C,EAAEkJ,EAAEtB,EAAElC,EAAEhD,EAAE6D,EAAE6C,EAAExB,EAAEpK,EAAEkF,EAAEkD,EAAEgB,EAAE,GAAG,IAAIkC,EAAE2F,MAAMnG,EAAEG,EAAED,EAAEvF,GAAGuG,EAAE,OAAOlB,EAAEG,GAAGD,EAAEvF,KAAK2D,GAAG,KAAK,CAAC0B,EAAE9D,EAAEiE,EAAEJ,EAAEpF,EAAE,CAACqF,EAAEA,EAAEG,EAAED,GAAG9C,EAAE,CAAC4C,EAAEG,EAAEA,EAAExF,GAAG6O,MAAM,CAACxJ,EAAE7K,EAAEgL,EAAEO,GAAG2K,IAAI,CAACrL,EAAEY,EAAET,EAAEW,GAAGwK,MAAMhN,IAAIrB,EAAEuN,WAAW,SAASxN,EAAEE,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,GAAG6C,EAAEiB,GAAGlB,EAAE,WAAWA,EAAE,CAACA,EAAEE,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,IAAI,IAAIkF,EAAEiM,GAAGb,MAAM,KAAK1N,GAAG,MAAM,CAACgD,EAAEV,EAAEuB,IAAIb,EAAEG,EAAEb,EAAEuB,IAAIV,EAAEqL,GAAGlM,EAAEqB,IAAIX,EAAEyL,GAAGnM,EAAEqB,IAAIR,EAAEkD,MAAM/D,EAAEqB,IAAIX,EAAEV,EAAEuB,IAAIb,EAAE4C,OAAOtD,EAAEqB,IAAIR,EAAEb,EAAEuB,IAAIV,IAAIlD,EAAEyO,kBAAkB,SAAS1O,EAAEC,EAAEC,GAAG,OAAOD,GAAGD,EAAEgD,GAAG/C,GAAGD,EAAEwO,IAAItO,GAAGF,EAAEmD,GAAGjD,GAAGF,EAAEyO,IAAIxO,EAAEwN,gBAAgB,SAASzN,EAAEE,GAAG,IAAIxF,EAAEuF,EAAEyO,kBAAkB,OAAOhU,EAAEwF,EAAEF,EAAEgD,EAAEhD,EAAEmD,IAAIzI,EAAEwF,EAAEF,EAAEwO,GAAGxO,EAAEmD,IAAIzI,EAAEwF,EAAEF,EAAEgD,EAAEhD,EAAEyO,KAAK/T,EAAEwF,EAAEF,EAAEwO,GAAGxO,EAAEyO,KAAK/T,EAAEsF,EAAEE,EAAE8C,EAAE9C,EAAEiD,IAAIzI,EAAEsF,EAAEE,EAAEsO,GAAGtO,EAAEiD,IAAIzI,EAAEsF,EAAEE,EAAE8C,EAAE9C,EAAEuO,KAAK/T,EAAEsF,EAAEE,EAAEsO,GAAGtO,EAAEuO,MAAMzO,EAAEgD,EAAE9C,EAAEsO,IAAIxO,EAAEgD,EAAE9C,EAAE8C,GAAG9C,EAAE8C,EAAEhD,EAAEwO,IAAItO,EAAE8C,EAAEhD,EAAEgD,KAAKhD,EAAEmD,EAAEjD,EAAEuO,IAAIzO,EAAEmD,EAAEjD,EAAEiD,GAAGjD,EAAEiD,EAAEnD,EAAEyO,IAAIvO,EAAEiD,EAAEnD,EAAEmD,IAAIlD,EAAE0O,iBAAiB,SAAS3O,EAAEC,GAAG,OAAO8N,GAAG/N,EAAEC,IAAIA,EAAE2O,uBAAuB,SAAS5O,EAAEC,GAAG,OAAO8N,GAAG/N,EAAEC,EAAE,IAAIA,EAAE4O,kBAAkB,SAAS7O,EAAEE,EAAExF,GAAG,IAAI0F,EAAEH,EAAE6O,SAAS9O,GAAG,OAAOC,EAAEyO,kBAAkBtO,EAAEF,EAAExF,IAAIqT,GAAG/N,EAAE,CAAC,CAAC,IAAIE,EAAExF,GAAG,CAAC,IAAI0F,EAAEoO,GAAG,KAAK,GAAG,GAAG,GAAGvO,EAAE8O,gBAAgB,SAAS9O,GAAG,OAAO,WAAWD,EAAE,cAAc,KAAK,uCAAuCC,EAAE,sBAAsBA,KAAK,IAAI+O,GAAG/O,EAAE6O,SAAS,SAAS9O,GAAG,IAAIC,EAAE0M,GAAG3M,GAAG,GAAGC,EAAEgP,KAAK,OAAOrG,GAAG3I,EAAEgP,MAAM,IAAIjP,EAAE,MAAM,CAACgD,EAAE,EAAEG,EAAE,EAAEkD,MAAM,EAAET,OAAO,EAAE4I,GAAG,EAAEC,GAAG,GAAG,IAAI,IAAIvO,EAAExF,EAAE,EAAE0F,EAAE,EAAElI,EAAE,GAAG+I,EAAE,GAAGX,EAAE,EAAElD,GAAG4C,EAAE+H,GAAG/H,IAAI1F,OAAOgG,EAAElD,EAAEkD,IAAI,GAAG,MAAMJ,EAAEF,EAAEM,IAAI,GAAG5F,EAAEwF,EAAE,GAAGE,EAAEF,EAAE,GAAGhI,EAAE8B,KAAKU,GAAGuG,EAAEjH,KAAKoG,OAAO,CAAC,IAAIkC,EAAEiM,GAAG7T,EAAE0F,EAAEF,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIhI,EAAEA,EAAE0K,GAAGN,EAAEuB,IAAIb,EAAEV,EAAEqB,IAAIX,GAAG/B,EAAEA,EAAE2B,GAAGN,EAAEuB,IAAIV,EAAEb,EAAEqB,IAAIR,GAAGzI,EAAEwF,EAAE,GAAGE,EAAEF,EAAE,GAAG,IAAIuC,EAAEmB,EAAEvG,GAAG,EAAEnF,GAAGgD,EAAE0I,EAAEvG,GAAG,EAAE4D,GAAG/B,EAAEwE,EAAErG,GAAG,EAAEnF,GAAG6K,EAAEW,EAAErG,GAAG,EAAE4D,GAAG+B,EAAE9D,EAAEuD,EAAES,EAAEH,EAAE7H,EAAEiI,EAAE,CAACH,EAAEP,EAAEU,EAAEjI,EAAEsT,GAAGtP,EAAEuP,GAAG1L,EAAEsD,MAAMrD,EAAE4C,OAAO1C,EAAEsC,GAAG/C,EAAEO,EAAE,EAAEyC,GAAGvK,EAAEgI,EAAE,GAAG,OAAOjD,EAAEgP,KAAKrG,GAAGzF,GAAGA,GAAG0J,GAAG,SAAS7M,GAAG,IAAIE,EAAE0I,GAAG5I,GAAG,OAAOE,EAAEmE,SAASpE,EAAE2L,aAAa1L,GAAGgP,GAAGjP,EAAEkP,gBAAgB,SAASnP,GAAG,IAAIE,EAAEyM,GAAG3M,GAAG,GAAGE,EAAEkP,IAAI,OAAOvC,GAAG3M,EAAEkP,KAAKnP,EAAEiB,GAAGlB,EAAEoB,IAAInB,EAAEiB,GAAGlB,GAAGA,EAAE,GAAGoB,KAAKpB,EAAEC,EAAEyM,gBAAgB1M,IAAI,IAAItF,EAAE,GAAG0F,EAAE,EAAElI,EAAE,EAAE+I,EAAE,EAAEX,EAAE,EAAElD,EAAE,EAAE,KAAK4C,EAAE,GAAG,KAAKiB,EAAEb,EAAEJ,EAAE,GAAG,GAAGM,EAAEpI,EAAE8H,EAAE,GAAG,GAAG5C,IAAI1C,EAAEV,KAAK,CAAC,IAAIoG,EAAElI,KAAK,IAAI,IAAIoK,EAAElF,EAAEqF,EAAEzC,EAAE1F,OAAOgI,EAAEG,EAAEH,IAAI,CAAC,IAAIjF,EAAE3C,EAAE4H,GAAG,GAAGM,EAAE5C,EAAEsC,GAAG,GAAGM,EAAE,IAAIzK,EAAEkI,KAAKuC,EAAE,IAAI,OAAOvF,EAAE,GAAGlF,EAAEkI,KAAKuC,EAAE,IAAIvF,EAAE,IAAI,IAAI,IAAIA,EAAE,GAAGuF,EAAE,GAAGvF,EAAE,GAAGuF,EAAE,GAAGvF,EAAE,GAAGuF,EAAE,GAAGvF,EAAE,GAAGuF,EAAE,GAAGvF,EAAE,GAAGuF,EAAE,GAAGvF,EAAE,KAAKuF,EAAE,GAAGxC,GAAGkN,QAAQ,GAAGjQ,EAAE,KAAKuF,EAAE,GAAG1K,GAAGoV,QAAQ,GAAG,MAAM,IAAI,IAAIjQ,EAAE,KAAKuF,EAAE,GAAG1K,GAAGoV,QAAQ,GAAG,MAAM,IAAI,IAAIrM,EAAE2B,EAAE,GAAGtC,EAAEsC,EAAE,GAAG,QAAQ,IAAI,IAAI1H,EAAE,EAAEgE,EAAE0D,EAAEtI,OAAOY,EAAEgE,EAAEhE,IAAImC,EAAEnC,KAAK0H,EAAE1H,IAAIA,EAAE,EAAEkF,EAAElI,IAAIoV,QAAQ,OAAO,CAACjQ,EAAE3C,EAAE4H,GAAG,GAAG,KAAKM,EAAE,KAAK3B,EAAE2B,EAAE,GAAGxC,EAAEE,EAAEsC,EAAE,GAAG1K,GAAG,IAAI,IAAI6K,EAAE,EAAEC,EAAEJ,EAAEtI,OAAOyI,EAAEC,EAAED,IAAIrI,EAAE4H,GAAGS,GAAGH,EAAEG,GAAG,IAAIG,EAAExI,EAAE4H,GAAGhI,OAAO,OAAOI,EAAE4H,GAAG,IAAI,IAAI,IAAIlC,EAAEa,EAAE/I,EAAEoI,EAAE,MAAM,IAAI,IAAIF,IAAI1F,EAAE4H,GAAGY,EAAE,GAAG,MAAM,IAAI,IAAIhL,IAAIwC,EAAE4H,GAAGY,EAAE,GAAG,MAAM,QAAQ9C,IAAI1F,EAAE4H,GAAGY,EAAE,GAAGhL,IAAIwC,EAAE4H,GAAGY,EAAE,IAAI,OAAOxI,EAAE2J,SAASpE,EAAE2L,aAAa1L,EAAEkP,IAAIvC,GAAGnS,GAAGA,GAAG2U,GAAGpP,EAAEqP,gBAAgB,SAAStP,GAAG,IAAIE,EAAEyM,GAAG3M,GAAG,GAAGE,EAAE6D,IAAI,OAAO8I,GAAG3M,EAAE6D,KAAK,GAAG9D,EAAEiB,GAAGlB,EAAEoB,IAAInB,EAAEiB,GAAGlB,GAAGA,EAAE,GAAGoB,KAAKpB,EAAEC,EAAEyM,gBAAgB1M,KAAKA,IAAIA,EAAE1F,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,IAAII,EAAE,GAAG0F,EAAE,EAAElI,EAAE,EAAE+I,EAAE,EAAEX,EAAE,EAAElD,EAAE,EAAE,KAAK4C,EAAE,GAAG,KAAKiB,EAAEb,GAAGJ,EAAE,GAAG,GAAGM,EAAEpI,GAAG8H,EAAE,GAAG,GAAG5C,IAAI1C,EAAE,GAAG,CAAC,IAAI0F,EAAElI,IAAI,IAAI,IAAIoK,EAAEG,EAAEpF,EAAE,GAAG2C,EAAE1F,QAAQ,KAAK0F,EAAE,GAAG,IAAI,KAAKA,EAAE,GAAG,GAAGmF,eAAe,KAAKnF,EAAE,GAAG,GAAGmF,cAAcjK,EAAEkC,EAAE8B,EAAEc,EAAE1F,OAAOY,EAAEgE,EAAEhE,IAAI,CAAC,GAAGR,EAAEV,KAAKsI,EAAE,KAAKG,EAAEzC,EAAE9E,IAAI,IAAIgK,EAAE7E,KAAKoC,EAAE,IAAI,OAAOH,EAAE,GAAG4C,EAAE7E,KAAKoC,EAAE,IAAIH,EAAE,IAAI,IAAI,IAAIA,EAAE,GAAGG,EAAE,GAAGH,EAAE,GAAGG,EAAE,GAAGH,EAAE,GAAGG,EAAE,GAAGH,EAAE,GAAGG,EAAE,GAAGH,EAAE,GAAGG,EAAE,GAAGH,EAAE,KAAKG,EAAE,GAAGrC,GAAGkC,EAAE,KAAKG,EAAE,GAAGvK,GAAG,MAAM,IAAI,IAAIoK,EAAE,IAAIG,EAAE,GAAGvK,EAAE,MAAM,IAAI,IAAIoK,EAAE,IAAIG,EAAE,GAAGrC,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI2C,EAAE,CAAC3C,EAAElI,GAAG0K,GAAGH,EAAElB,MAAM,IAAIyB,EAAE,EAAEE,EAAEH,EAAEzI,OAAO0I,EAAEE,EAAEF,IAAID,EAAEC,IAAID,EAAEC,GAAG5C,EAAE2C,IAAIC,IAAID,EAAEC,GAAG9K,EAAEwC,EAAED,MAAMC,EAAEA,EAAEkI,GAAG2I,GAAGxI,EAAE1F,IAAI,MAAM,IAAI,IAAI4D,GAAGwB,EAAE,GAAGrC,EAAEE,GAAGmC,EAAE,GAAGvK,EAAE,QAAQ,IAAI8K,EAAE,EAAEE,EAAET,EAAEnI,OAAO0I,EAAEE,EAAEF,IAAIV,EAAEU,IAAIP,EAAEO,IAAIA,EAAE,EAAE5C,EAAElI,QAAQ,GAAG,KAAKuK,EAAE,GAAGM,EAAE,CAAC3C,EAAElI,GAAG0K,GAAGH,EAAElB,MAAM,IAAI7G,EAAED,MAAMC,EAAEA,EAAEkI,GAAG2I,GAAGxI,EAAE1F,IAAIiF,EAAE,CAAC,KAAKM,GAAGH,EAAElB,OAAO,SAAS,IAAI,IAAI4B,EAAE,EAAExF,EAAE8E,EAAEnI,OAAO6I,EAAExF,EAAEwF,IAAIb,EAAEa,GAAGV,EAAEU,GAAG,OAAOb,EAAE,IAAI,IAAI,IAAIlC,EAAEa,EAAE/I,EAAEoI,EAAE,MAAM,IAAI,IAAIF,EAAEkC,EAAE,GAAG,MAAM,IAAI,IAAIpK,EAAEoK,EAAE,GAAG,MAAM,IAAI,IAAIrB,EAAEqB,EAAEA,EAAEhI,OAAO,GAAGgG,EAAEgC,EAAEA,EAAEhI,OAAO,GAAG,QAAQ8F,EAAEkC,EAAEA,EAAEhI,OAAO,GAAGpC,EAAEoK,EAAEA,EAAEhI,OAAO,IAAI,OAAOI,EAAE2J,SAASpE,EAAE2L,aAAa1L,EAAE6D,IAAI8I,GAAGnS,GAAGA,GAAG6U,GAAG,SAASvP,EAAEC,EAAEC,EAAExF,GAAG,MAAM,CAACsF,EAAEC,EAAEC,EAAExF,EAAEwF,EAAExF,IAAI8U,GAAG,SAASxP,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,GAAG,MAAM,CAAC,EAAE,EAAE8H,EAAE,EAAE,EAAEE,EAAE,EAAE,EAAED,EAAE,EAAE,EAAEvF,EAAE,EAAE,EAAE0F,EAAE,EAAE,EAAEF,EAAE,EAAE,EAAEhI,EAAE,EAAE,EAAEwC,EAAE0F,EAAElI,IAAIuX,GAAG,SAASzP,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,EAAEkF,GAAG,IAAIG,EAAEpF,EAAE,IAAI6G,EAAE,IAAIhJ,EAAEgJ,EAAE,MAAM9D,GAAG,GAAGlB,EAAE,GAAG6D,EAAEoH,IAAG,SAASnK,EAAEC,EAAEC,GAAG,MAAM,CAAC8C,EAAEhD,EAAEwD,EAAEkM,IAAIxP,GAAGD,EAAEuD,EAAEmM,IAAIzP,GAAGiD,EAAEnD,EAAEwD,EAAEmM,IAAIzP,GAAGD,EAAEuD,EAAEkM,IAAIxP,OAAM,GAAGoC,EAAElB,EAAEkB,EAAE,GAAG8B,EAAE9B,EAAE,GAAG0B,EAAE1B,EAAE,GAAGhB,EAAEgB,EAAE,OAAO,CAACtC,GAAGyC,EAAEM,EAAE/C,EAAEC,GAAG/E,IAAI8H,EAAE/C,EAAEwC,EAAEU,EAAwD,IAAIH,GAAGhD,GAA7DM,GAAGmC,EAAEM,EAAEzC,EAAElD,GAAGlC,IAAI8H,IAAkD,EAAEG,GAAGlD,GAArD7C,EAAEqF,EAAEU,IAAsD,EAAExF,EAAEqF,EAAEA,GAAG9C,EAAEA,GAAGiD,EAAEA,GAAGzI,EAAEA,GAAGiD,EAAE,IAAIuC,GAAGvC,EAAE6F,EAAE4J,KAAKzP,GAAGjD,GAAGiD,GAAG,IAAIxF,EAAE+H,EAAEA,EAAEwD,EAAEhJ,EAAEA,EAAEkJ,GAAG1L,GAAG+I,GAAG,EAAE,GAAGuC,EAAE4J,KAAKtJ,GAAG3L,EAAEuL,EAAEvL,EAAEgL,EAAEA,EAAEO,EAAEV,EAAEA,IAAI7K,EAAEgL,EAAEA,EAAEO,EAAEV,EAAEA,KAAKgB,EAAEJ,EAAE1D,EAAEiD,EAAEzI,GAAGsF,EAAEM,GAAG,EAAEgB,EAAEsC,GAAGlJ,EAAEsI,EAAE9C,GAAGD,EAAE7C,GAAG,EAAEgE,EAAEoC,EAAEoM,OAAO3P,EAAEqB,GAAG5G,GAAG4S,QAAQ,IAAIlJ,EAAEZ,EAAEoM,OAAOxS,EAAEkE,GAAG5G,GAAG4S,QAAQ,KAAKlM,EAAEpB,EAAEgE,EAAEE,EAAE9C,EAAEA,GAAG,IAAIA,EAAE,EAAE8C,EAAE9C,IAAIgD,EAAE9D,EAAE0D,EAAEE,EAAEE,EAAEA,GAAG,IAAIA,EAAE,EAAEF,EAAEE,GAAGnD,GAAGG,EAAEgD,IAAIhD,GAAG,EAAE8C,IAAIjD,GAAGmD,EAAEhD,IAAIgD,GAAG,EAAEF,GAAG,IAAII,EAAEF,EAAEhD,EAAE,GAAG0C,EAAEQ,GAAGjH,EAAE,CAAC,IAAImH,EAAEJ,EAAEO,EAAErE,EAAEsE,EAAExH,EAAEgH,EAAEhD,EAAE/D,GAAG4D,GAAGmD,EAAEhD,EAAE,GAAG,GAAGd,EAAE0D,EAAE9D,EAAEsD,EAAEkM,IAAItL,GAAGhH,EAAEkE,EAAE5G,EAAE8I,EAAEmM,IAAIvL,GAAGlF,EAAEuQ,GAAGnP,EAAElD,EAAE8C,EAAExF,EAAE0F,EAAE,EAAEa,EAAE0D,EAAEC,EAAE,CAACR,EAAEI,EAAER,EAAE1C,IAAIgD,EAAEF,EAAEhD,EAAE,IAAI0D,EAAEtB,EAAEkM,IAAItO,GAAG4D,EAAExB,EAAEmM,IAAIvO,GAAG8D,EAAE1B,EAAEkM,IAAItL,GAAGgB,EAAE5B,EAAEmM,IAAIvL,GAAGmC,EAAE/C,EAAEqM,IAAIvL,EAAE,GAAGmC,EAAE,EAAE,EAAEvG,EAAEqG,EAAEG,EAAE,EAAE,EAAEhM,EAAE6L,EAAEM,EAAE,CAAC7G,EAAEC,GAAG6G,EAAE,CAAC9G,EAAEyG,EAAEzB,EAAE/E,EAAEyG,EAAE5B,GAAGiC,EAAE,CAACzG,EAAEmG,EAAErB,EAAEhI,EAAEsJ,EAAExB,GAAG8B,EAAE,CAAC1G,EAAElD,GAAG,GAAG0J,EAAE,GAAG,EAAED,EAAE,GAAGC,EAAE,GAAGA,EAAE,GAAG,EAAED,EAAE,GAAGC,EAAE,GAAGxE,EAAE,MAAM,CAACwE,EAAEC,EAAEC,GAAGpE,GAAG1D,GAAG,IAAI,IAAI+H,EAAE,GAAGE,EAAE,EAAEC,GAAGlI,EAAE,CAAC4H,EAAEC,EAAEC,GAAGpE,GAAG1D,GAAGgM,OAAOhI,GAAG,MAAM5I,OAAO6M,EAAEC,EAAED,IAAIF,EAAEE,GAAGA,EAAE,EAAEpE,EAAE7D,EAAEiI,EAAE,GAAGjI,EAAEiI,GAAGjM,GAAGiI,EAAEJ,EAAE7D,EAAEiI,GAAGjI,EAAEiI,EAAE,GAAGjM,GAAG8H,EAAE,OAAOiE,GAAG6I,GAAG,SAAS9P,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,GAAG,IAAIkF,EAAE,EAAElF,EAAE,MAAM,CAAC4F,EAAEgB,EAAE1B,EAAE,GAAGtC,EAAE,EAAEgE,EAAE1B,EAAE,GAAGlF,EAAE8C,EAAE,EAAEoC,EAAElF,EAAEA,EAAEgD,EAAE4D,EAAE5G,EAAE,GAAG6D,EAAEkC,EAAEa,EAAE1B,EAAE,GAAGrC,EAAE,EAAE+D,EAAE1B,EAAE,GAAGlF,EAAE1C,EAAE,EAAE4H,EAAElF,EAAEA,EAAElF,EAAE8L,EAAE5G,EAAE,GAAGkD,IAAIiO,GAAGpE,IAAG,SAASnK,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,GAAG,IAAIlD,EAAEkF,EAAElC,EAAE,EAAEF,EAAEF,GAAGiB,EAAE,EAAEb,EAAEF,GAAGuC,EAAE,GAAGvC,EAAEF,GAAG,GAAGI,EAAEF,GAAG0C,EAAE5C,EAAEE,EAAEhF,IAAIuH,EAAEe,EAAE4J,KAAK3K,EAAEA,EAAE,EAAEH,EAAEM,IAAI,EAAEN,EAAEpD,IAAIuD,EAAEe,EAAE4J,KAAK3K,EAAEA,EAAE,EAAEH,EAAEM,IAAI,EAAEN,EAAES,EAAE,CAAC9C,EAAEK,GAAG0C,EAAE,CAAChD,EAAEiB,GAAG,OAAO6C,EAAE5I,GAAG,SAASA,EAAE,IAAI4I,EAAE5E,GAAG,SAASA,EAAE,IAAIhE,EAAE,GAAGA,EAAE,IAAIkC,EAAE0S,GAAG9P,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAEpF,GAAG8H,EAAEhJ,KAAKoD,EAAE4F,GAAGD,EAAE/I,KAAKoD,EAAE+F,IAAIjE,EAAE,GAAGA,EAAE,IAAI9B,EAAE0S,GAAG9P,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAEpB,GAAG8D,EAAEhJ,KAAKoD,EAAE4F,GAAGD,EAAE/I,KAAKoD,EAAE+F,IAAIb,EAAEpK,EAAE,EAAEwC,EAAEuF,GAAGK,EAAE,EAAEpI,EAAEwC,GAAGkI,EAAE3C,EAAEvF,EAAEQ,KAAKuH,EAAE,GAAG/H,EAAEuF,GAAG,GAAG/H,EAAEwC,IAAI8I,EAAE4J,KAAK3K,EAAEA,EAAE,EAAEH,EAAEM,IAAI,EAAEN,EAAEpD,IAAIuD,EAAEe,EAAE4J,KAAK3K,EAAEA,EAAE,EAAEH,EAAEM,IAAI,EAAEN,EAAEwB,EAAE5I,GAAG,SAASA,EAAE,IAAI4I,EAAE5E,GAAG,SAASA,EAAE,IAAIhE,EAAE,GAAGA,EAAE,IAAIkC,EAAE0S,GAAG9P,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAEpF,GAAG8H,EAAEhJ,KAAKoD,EAAE4F,GAAGD,EAAE/I,KAAKoD,EAAE+F,IAAIjE,EAAE,GAAGA,EAAE,IAAI9B,EAAE0S,GAAG9P,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAEpB,GAAG8D,EAAEhJ,KAAKoD,EAAE4F,GAAGD,EAAE/I,KAAKoD,EAAE+F,IAAI,CAACU,IAAI,CAACb,EAAEY,EAAEvG,GAAG,EAAE2F,GAAGG,EAAES,EAAEvG,GAAG,EAAE0F,IAAIY,IAAI,CAACX,EAAEU,EAAErG,GAAG,EAAE2F,GAAGG,EAAEO,EAAErG,GAAG,EAAE0F,QAAOgF,GAAG9H,EAAE+N,YAAY7D,IAAG,SAASnK,EAAEC,GAAG,IAAIC,GAAGD,GAAG0M,GAAG3M,GAAG,IAAIC,GAAGC,EAAE6P,MAAM,OAAOlD,GAAG3M,EAAE6P,OAAO,IAAI,IAAIrV,EAAE2U,GAAGrP,GAAGI,EAAEH,GAAGoP,GAAGpP,GAAG/H,EAAE,CAAC8K,EAAE,EAAEG,EAAE,EAAE6M,GAAG,EAAEC,GAAG,EAAE7I,EAAE,EAAEJ,EAAE,EAAEkJ,GAAG,KAAKC,GAAG,MAAMlP,EAAE,CAAC+B,EAAE,EAAEG,EAAE,EAAE6M,GAAG,EAAEC,GAAG,EAAE7I,EAAE,EAAEJ,EAAE,EAAEkJ,GAAG,KAAKC,GAAG,MAAM7P,EAAE,SAASN,EAAEC,EAAEC,GAAG,IAAIxF,EAAE0F,EAAE,IAAIJ,EAAE,MAAM,CAAC,IAAIC,EAAE+C,EAAE/C,EAAEkD,EAAElD,EAAE+C,EAAE/C,EAAEkD,EAAElD,EAAE+C,EAAE/C,EAAEkD,GAAG,SAASnD,EAAE,IAAI,CAACsB,EAAE,EAAEuG,EAAE,MAAM5H,EAAEiQ,GAAGjQ,EAAEkQ,GAAG,MAAMnQ,EAAE,IAAI,IAAI,IAAIC,EAAEmH,EAAEpH,EAAE,GAAGC,EAAE+G,EAAEhH,EAAE,GAAG,MAAM,IAAI,IAAIA,EAAE,CAAC,KAAK4C,GAAG6M,GAAGpS,GAAG,EAAE,CAAC4C,EAAE+C,EAAE/C,EAAEkD,GAAGP,GAAG5C,EAAEuB,MAAM,MAAM,MAAM,IAAI,IAAI,KAAKrB,GAAG,KAAKA,GAAGxF,EAAE,EAAEuF,EAAE+C,EAAE/C,EAAE+P,GAAG5P,EAAE,EAAEH,EAAEkD,EAAElD,EAAEgQ,KAAKvV,EAAEuF,EAAE+C,EAAE5C,EAAEH,EAAEkD,GAAGnD,EAAE,CAAC,IAAItF,EAAE0F,GAAGwC,GAAG5C,EAAEuB,MAAM,IAAI,MAAM,IAAI,IAAI,KAAKrB,GAAG,KAAKA,GAAGD,EAAEiQ,GAAG,EAAEjQ,EAAE+C,EAAE/C,EAAEiQ,GAAGjQ,EAAEkQ,GAAG,EAAElQ,EAAEkD,EAAElD,EAAEkQ,KAAKlQ,EAAEiQ,GAAGjQ,EAAE+C,EAAE/C,EAAEkQ,GAAGlQ,EAAEkD,GAAGnD,EAAE,CAAC,KAAK4C,GAAG4M,GAAGvP,EAAE+C,EAAE/C,EAAEkD,EAAElD,EAAEiQ,GAAGjQ,EAAEkQ,GAAGnQ,EAAE,GAAGA,EAAE,KAAK,MAAM,IAAI,IAAIC,EAAEiQ,GAAGlQ,EAAE,GAAGC,EAAEkQ,GAAGnQ,EAAE,GAAGA,EAAE,CAAC,KAAK4C,GAAG4M,GAAGvP,EAAE+C,EAAE/C,EAAEkD,EAAEnD,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,KAAK,MAAM,IAAI,IAAIA,EAAE,CAAC,KAAK4C,GAAG2M,GAAGtP,EAAE+C,EAAE/C,EAAEkD,EAAEnD,EAAE,GAAGA,EAAE,KAAK,MAAM,IAAI,IAAIA,EAAE,CAAC,KAAK4C,GAAG2M,GAAGtP,EAAE+C,EAAE/C,EAAEkD,EAAEnD,EAAE,GAAGC,EAAEkD,IAAI,MAAM,IAAI,IAAInD,EAAE,CAAC,KAAK4C,GAAG2M,GAAGtP,EAAE+C,EAAE/C,EAAEkD,EAAElD,EAAE+C,EAAEhD,EAAE,KAAK,MAAM,IAAI,IAAIA,EAAE,CAAC,KAAK4C,GAAG2M,GAAGtP,EAAE+C,EAAE/C,EAAEkD,EAAElD,EAAEmH,EAAEnH,EAAE+G,IAAI,OAAOhH,GAAG5C,EAAE,SAAS4C,EAAEC,GAAG,GAAGD,EAAEC,GAAG3F,OAAO,EAAE,CAAC0F,EAAEC,GAAGoL,QAAQ,IAAI,IAAInL,EAAEF,EAAEC,GAAGC,EAAE5F,QAAQmI,EAAExC,GAAG,IAAIG,IAAIlF,EAAE+E,GAAG,KAAKD,EAAER,OAAOS,IAAI,EAAE,CAAC,KAAK2C,GAAG1C,EAAEV,OAAO,EAAE,KAAKQ,EAAER,OAAOS,EAAE,GAAGiD,EAAEQ,EAAEhJ,EAAEJ,OAAO8F,GAAGA,EAAE9F,QAAQ,KAAKgI,EAAE,SAAStC,EAAEC,EAAEC,EAAEhI,EAAE+I,GAAGjB,GAAGC,GAAG,KAAKD,EAAEiB,GAAG,IAAI,KAAKhB,EAAEgB,GAAG,KAAKhB,EAAET,OAAOyB,EAAE,EAAE,CAAC,IAAI/I,EAAE8K,EAAE9K,EAAEiL,IAAIjD,EAAE8P,GAAG,EAAE9P,EAAE+P,GAAG,EAAE/P,EAAE8C,EAAEhD,EAAEiB,GAAG,GAAGf,EAAEiD,EAAEnD,EAAEiB,GAAG,GAAGiC,EAAEQ,EAAEhJ,EAAEJ,OAAO8F,GAAGA,EAAE9F,QAAQ,KAAKmI,EAAE,GAAGvH,EAAE,GAAGgE,EAAE,GAAG6D,EAAE,GAAGC,EAAE,EAAEE,EAAEQ,EAAEhJ,EAAEJ,OAAO8F,GAAGA,EAAE9F,QAAQ,GAAG0I,EAAEE,EAAEF,IAAI,CAACtI,EAAEsI,KAAK9D,EAAExE,EAAEsI,GAAG,IAAI,KAAK9D,IAAIuD,EAAEO,GAAG9D,EAAE8D,IAAID,EAAEN,EAAEO,EAAE,KAAKtI,EAAEsI,GAAG1C,EAAE5F,EAAEsI,GAAG9K,EAAE6K,GAAG,KAAKN,EAAEO,IAAI,KAAK9D,IAAIuD,EAAEO,GAAG,KAAK5F,EAAE1C,EAAEsI,GAAG5C,IAAIA,EAAE4C,KAAK9D,EAAEkB,EAAE4C,GAAG,IAAI,KAAK9D,IAAIhE,EAAE8H,GAAG9D,EAAE8D,IAAID,EAAE7H,EAAE8H,EAAE,KAAK5C,EAAE4C,GAAG1C,EAAEF,EAAE4C,GAAG/B,EAAE8B,GAAG,KAAK7H,EAAE8H,IAAI,KAAK9D,IAAIhE,EAAE8H,GAAG,KAAK5F,EAAEgD,EAAE4C,IAAIV,EAAE5H,EAAE0F,EAAElI,EAAE+I,EAAE+B,GAAGV,EAAElC,EAAE1F,EAAEuG,EAAE/I,EAAE8K,GAAG,IAAIG,EAAEzI,EAAEsI,GAAGrF,EAAEyC,GAAGA,EAAE4C,GAAG7K,EAAEgL,EAAE7I,OAAOkJ,EAAEpD,GAAGzC,EAAErD,OAAOpC,EAAE8K,EAAEG,EAAEhL,EAAE,GAAGD,EAAEiL,EAAEA,EAAEhL,EAAE,GAAGD,EAAE8X,GAAGlL,EAAE3B,EAAEhL,EAAE,KAAKD,EAAE8K,EAAE9K,EAAE+X,GAAGnL,EAAE3B,EAAEhL,EAAE,KAAKD,EAAEiL,EAAElC,EAAE+O,GAAG5P,IAAI0E,EAAEnH,EAAE6F,EAAE,KAAKvC,EAAE+B,GAAG/B,EAAEgP,GAAG7P,IAAI0E,EAAEnH,EAAE6F,EAAE,KAAKvC,EAAEkC,GAAGlC,EAAE+B,EAAE5C,GAAGzC,EAAE6F,EAAE,GAAGvC,EAAEkC,EAAE/C,GAAGzC,EAAE6F,EAAE,GAAG,OAAOpD,IAAIF,EAAE6P,MAAMlD,GAAGnS,IAAI0F,EAAE,CAAC1F,EAAE0F,GAAG1F,IAAG,KAAKmS,IAAIuD,IAAInQ,EAAEoQ,WAAWlG,IAAG,SAASnK,GAAG,IAAI,IAAIE,EAAE,GAAGxF,EAAE,EAAE0F,EAAEJ,EAAE1F,OAAOI,EAAE0F,EAAE1F,IAAI,CAAC,IAAIxC,EAAE,GAAG+I,EAAEjB,EAAEtF,GAAG0R,MAAM,uBAAuB,GAAGlU,EAAEkS,MAAMnK,EAAE8K,OAAO9J,EAAE,IAAI/I,EAAEkS,MAAM6B,MAAM,OAAO,KAAK/T,EAAE4N,QAAQ5N,EAAEkS,MAAMtE,QAAQ5N,EAAEkS,MAAMlS,EAAEkS,MAAMS,IAAI5J,EAAE,KAAK/I,EAAEoY,OAAOrP,EAAE,GAAG,KAAKf,EAAElG,KAAK9B,GAAG,IAAIwC,EAAE,EAAE0F,EAAEF,EAAE5F,OAAO,EAAEI,EAAE0F,EAAE1F,IAAI,IAAIwF,EAAExF,GAAG4V,OAAO,CAAC,IAAI,IAAIhQ,EAAEwE,EAAE5E,EAAExF,EAAE,GAAG4V,QAAQ,GAAGlT,EAAE,EAAEkF,EAAE5H,EAAE,EAAE4H,EAAElC,EAAEkC,IAAI,GAAGpC,EAAEoC,GAAGgO,OAAO,CAAClT,EAAE8C,EAAEoC,GAAGgO,OAAO,MAAMlT,IAAIA,EAAE,IAAIkF,EAAElC,GAAG,IAAI,IAAIqC,IAAIrF,EAAE0H,EAAE1H,IAAIkD,IAAIgC,EAAE5H,EAAE,GAAGA,EAAE4H,EAAE5H,IAAI4F,GAAGmC,EAAEvC,EAAExF,GAAG4V,OAAOhQ,EAAE,IAAI,OAAOJ,KAAID,EAAEsQ,MAAM,SAASvQ,EAAEC,GAAGD,GAAGC,EAAEuQ,MAAMvQ,EAAEuQ,IAAIxQ,EAAEyQ,MAAMzQ,GAAGC,EAAEyQ,SAASzQ,EAAEyQ,OAAO1Q,EAAE2Q,MAAM3Q,EAAE2Q,OAAO3Q,EAAE2Q,KAAKF,KAAKzQ,EAAEyQ,MAAMzQ,EAAEyQ,OAAOzQ,EAAEyQ,KAAKE,KAAK3Q,EAAE2Q,QAAQC,IAAI3Q,EAAE4Q,SAAS,SAAS7Q,EAAEC,GAAGA,EAAEuQ,MAAMxQ,IAAIoQ,GAAGpQ,EAAEC,GAAGD,EAAE2Q,KAAK,KAAK3Q,EAAEyQ,KAAKxQ,EAAEuQ,IAAIvQ,EAAEuQ,IAAIG,KAAK3Q,EAAEC,EAAEuQ,IAAIxQ,IAAIC,EAAE6Q,QAAQ,SAAS9Q,EAAEC,GAAGA,EAAEyQ,SAAS1Q,IAAIoQ,GAAGpQ,EAAEC,GAAGD,EAAE2Q,KAAK1Q,EAAEyQ,OAAO1Q,EAAEyQ,KAAK,KAAKxQ,EAAEyQ,OAAOD,KAAKzQ,EAAEC,EAAEyQ,OAAO1Q,IAAIC,EAAE8Q,aAAa,SAAS/Q,EAAEC,EAAEC,GAAGkQ,GAAGpQ,EAAEE,GAAGD,GAAGC,EAAEsQ,MAAMtQ,EAAEsQ,IAAIxQ,GAAGC,EAAE0Q,OAAO1Q,EAAE0Q,KAAKF,KAAKzQ,GAAGA,EAAE2Q,KAAK1Q,EAAE0Q,KAAK3Q,EAAEyQ,KAAKxQ,EAAEA,EAAE0Q,KAAK3Q,GAAGC,EAAE+Q,cAAc,SAAShR,EAAEC,EAAEC,GAAGkQ,GAAGpQ,EAAEE,GAAGD,GAAGC,EAAEwQ,SAASxQ,EAAEwQ,OAAO1Q,GAAGC,EAAEwQ,OAAOxQ,EAAEwQ,KAAKE,KAAK3Q,GAAGA,EAAEyQ,KAAKxQ,EAAEwQ,KAAKxQ,EAAEwQ,KAAKzQ,EAAEA,EAAE2Q,KAAK1Q,GAAGA,EAAEgR,SAAS,SAASjR,EAAEC,GAAG,IAAIC,EAAE8O,GAAGhP,GAAGtF,EAAE,CAAC8I,EAAE,CAAC4C,UAAUlH,GAAGgS,QAAQ,WAAW,OAAOhR,IAAI,OAAOiR,GAAGzW,EAAEuF,GAAGvF,EAAE0W,SAASD,IAAIlR,EAAEoR,cAAc,SAASrR,EAAEC,GAAG,OAAO4H,EAAE7H,EAAE4Q,GAAG5Q,EAAEC,KAAKA,EAAEqR,kBAAkB,SAAStR,EAAEE,GAAG,GAAG,MAAMA,EAAE,OAAOF,EAAEwD,EAAE4C,UAAUlG,EAAE8C,EAAE9C,GAAGuJ,QAAQ,gBAAgBzJ,EAAEwD,EAAE4C,WAAWlH,GAAG,IAAIxE,EAAE0F,EAAElI,EAAE+H,EAAE6M,qBAAqB5M,GAAGe,EAAE,EAAEX,EAAE,EAAElD,EAAE,EAAEkF,EAAEtC,EAAEwD,EAAEf,EAAE,IAAI8O,GAAG,GAAGjP,EAAE8D,UAAUlO,GAAG,GAAGA,EAAE,IAAI,IAAImF,EAAE,EAAEuF,EAAE1K,EAAEoC,OAAO+C,EAAEuF,EAAEvF,IAAI,CAAC,IAAInC,EAAE6H,EAAEG,EAAEC,EAAExF,EAAExF,EAAED,EAAEmF,GAAGmG,EAAErL,EAAEmC,OAAOoJ,EAAEV,EAAE7K,EAAE,IAAIoL,cAAcK,EAAEzL,EAAE,IAAIuL,EAAEI,EAAEF,EAAEnB,EAAE+O,SAAS,EAAE,KAAK9N,GAAG,GAAGF,EAAEI,GAAG1I,EAAE4I,EAAEd,EAAE,EAAE,GAAGD,EAAEe,EAAEX,EAAE,EAAE,GAAGD,EAAEY,EAAEd,EAAE7K,EAAE,GAAGA,EAAE,IAAIgL,EAAEW,EAAEX,EAAEhL,EAAE,GAAGA,EAAE,IAAIsK,EAAEgP,UAAUvO,EAAEhI,EAAEiI,EAAEJ,IAAIN,EAAEgP,UAAUtZ,EAAE,GAAGA,EAAE,IAAI,KAAKuL,EAAE,GAAGF,GAAG7F,EAAEA,GAAGqC,EAAEkR,QAAQ,GAAGzO,EAAEiP,OAAOvZ,EAAE,GAAGwF,EAAEqF,EAAErF,EAAE0I,MAAM,EAAE1I,EAAEwF,EAAExF,EAAEiI,OAAO,GAAG3E,GAAG9I,EAAE,IAAI,GAAGqL,IAAII,GAAGV,EAAEY,EAAEd,EAAE7K,EAAE,GAAGA,EAAE,IAAIgL,EAAEW,EAAEX,EAAEhL,EAAE,GAAGA,EAAE,IAAIsK,EAAEiP,OAAOvZ,EAAE,GAAG+K,EAAEC,IAAIV,EAAEiP,OAAOvZ,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI8I,GAAG9I,EAAE,IAAI,KAAKuL,EAAE,GAAGF,GAAG,GAAGA,GAAG7F,EAAEA,GAAGqC,EAAEkR,QAAQ,GAAGzO,EAAEkP,MAAMxZ,EAAE,GAAGA,EAAEqL,EAAE,GAAG7F,EAAEqF,EAAErF,EAAE0I,MAAM,EAAE1I,EAAEwF,EAAExF,EAAEiI,OAAO,GAAGtF,GAAGnI,EAAE,GAAGiF,GAAGjF,EAAEqL,EAAE,IAAI,GAAGA,IAAII,GAAGV,EAAEY,EAAEd,EAAE7K,EAAE,GAAGA,EAAE,IAAIgL,EAAEW,EAAEX,EAAEhL,EAAE,GAAGA,EAAE,IAAIsK,EAAEkP,MAAMxZ,EAAE,GAAGA,EAAE,GAAG+K,EAAEC,IAAIV,EAAEkP,MAAMxZ,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAImI,GAAGnI,EAAE,GAAGiF,GAAGjF,EAAE,IAAI,KAAKuL,GAAG,GAAGF,GAAGf,EAAE5H,IAAI1C,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAImK,EAAEsP,OAAO,EAAE5R,EAAEoR,OAAO3O,EAAEzC,EAAEoR,OAAO3O,EAAEH,EAAEuP,GAAGvR,EAAEgC,EAAEwP,GAAG1U,EAAEkF,EAAE+G,IAAIpI,EAAEqB,EAAEyP,GAAGrX,EAAE+H,EAAExC,EAAEqC,EAAE0P,GAAG5R,EAAEqC,EAAEG,EAAE,GAAGtC,GAAG,GAAGlD,IAAI6D,GAAGqB,EAAE2M,MAAM3M,EAAE2M,KAAKjM,IAAItI,EAAE4H,EAAE2M,KAAK9L,IAAI/C,GAAGkC,EAAEsP,OAAO,IAAIK,GAAG,SAASjS,GAAG,IAAIC,EAAED,EAAE,GAAG,OAAOC,EAAEsD,eAAe,IAAI,IAAI,MAAM,CAACtD,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,CAACA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,OAAO,GAAGD,EAAE1F,OAAO,CAAC2F,EAAE,EAAED,EAAE,GAAGA,EAAE,IAAI,CAACC,EAAE,GAAG,IAAI,IAAI,OAAO,GAAGD,EAAE1F,OAAO,CAAC2F,EAAE,EAAE,EAAED,EAAE,GAAGA,EAAE,IAAI,GAAGA,EAAE1F,OAAO,CAAC2F,EAAE,EAAE,GAAG,CAACA,EAAE,KAAKiS,GAAGjS,EAAEkS,mBAAmB,SAASnS,EAAEE,GAAGA,EAAE8C,EAAE9C,GAAGuJ,QAAQ,gBAAgBzJ,GAAGA,EAAEC,EAAE6M,qBAAqB9M,IAAI,GAAGE,EAAED,EAAE6M,qBAAqB5M,IAAI,GAAG,IAAI,IAAIxF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAEoD,EAAE1D,EAAE1F,OAAO4F,EAAE5F,QAAQ8C,EAAE,GAAGkF,EAAE,GAAGG,EAAE,EAAEA,EAAEnC,EAAEmC,IAAI,CAAC,GAAGvK,EAAE8H,EAAEyC,IAAIwP,GAAG/R,EAAEuC,IAAIxB,EAAEf,EAAEuC,IAAIwP,GAAG/Z,GAAGA,EAAE,IAAI+I,EAAE,IAAI,KAAK/I,EAAE,GAAGqL,gBAAgBrL,EAAE,IAAI+I,EAAE,IAAI/I,EAAE,IAAI+I,EAAE,KAAK,KAAK/I,EAAE,GAAGqL,gBAAgBrL,EAAE,IAAI+I,EAAE,IAAI/I,EAAE,IAAI+I,EAAE,IAAI,OAAO,IAAI7D,EAAEqF,GAAG,GAAGH,EAAEG,GAAG,GAAG/H,EAAE,EAAE0F,EAAEsD,EAAExL,EAAEoC,OAAO2G,EAAE3G,QAAQI,EAAE0F,EAAE1F,IAAIA,KAAKxC,IAAIkF,EAAEqF,GAAG/H,GAAGxC,EAAEwC,IAAIA,KAAKuG,IAAIqB,EAAEG,GAAG/H,GAAGuG,EAAEvG,IAAI,MAAM,CAACuC,KAAKG,EAAEgV,GAAG9P,IAAI,SAASiP,GAAGvR,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,GAAG,MAAM8H,GAAG5B,KAAKlG,GAAG8H,EAAE5B,KAAKjG,GAAG8H,EAAE7B,KAAKf,GAAG6C,EAAE9B,KAAKc,GAAGxE,EAAE0D,KAAK6B,GAAGG,EAAEhC,KAAKwE,GAAG1K,IAAIkG,KAAKlG,EAAE,EAAEkG,KAAKjG,EAAE,EAAEiG,KAAKf,EAAE,EAAEe,KAAKc,EAAE,EAAEd,KAAK6B,EAAE,EAAE7B,KAAKwE,EAAE,GAAG3C,EAAEoS,cAAc,SAASrS,EAAEE,EAAExF,EAAE0F,GAAG,IAAIlI,EAAE,GAAG,OAAOA,EAAE,MAAMkI,GAAGH,EAAEiB,GAAGlB,EAAE,UAAUA,EAAE5C,EAAE+E,IAAImQ,eAAetS,IAAI,OAAO9H,EAAEqa,QAAQ,MAAMrS,EAAE,CAACsS,UAAUta,EAAEmO,MAAMnO,EAAEuQ,MAAMgK,YAAYva,EAAEwa,YAAY9M,OAAO1N,EAAEuQ,MAAMkK,aAAaza,EAAE0a,cAAc,CAACJ,UAAUta,EAAEmO,MAAMnG,EAAE0F,OAAOlL,GAAG,CAAC8X,UAAU,EAAExP,EAAEhD,EAAEmD,EAAEjD,EAAEmG,MAAM3L,EAAEkL,OAAOxF,IAAIH,EAAE4S,eAAe3D,GAAGjP,EAAEoB,QAAQ,GAAGpB,EAAE6S,WAAW/K,GAAG9H,EAAEmR,OAAO,SAASpR,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,GAAG,OAAO,IAAIqZ,GAAGvR,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,IAAI,SAAS8H,GAAG,SAASE,EAAEF,GAAG,OAAOA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,SAAStF,EAAEsF,GAAG,IAAIC,EAAEuD,EAAE4J,KAAKlN,EAAEF,IAAIA,EAAE,KAAKA,EAAE,IAAIC,GAAGD,EAAE,KAAKA,EAAE,IAAIC,GAAGD,EAAEnF,IAAI,SAASmF,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,GAAG,IAAI+I,EAAEX,EAAElD,EAAEkF,EAAEG,EAAE,CAAC,GAAG,GAAG,IAAIpF,EAAE,CAAC,CAACe,KAAKlG,EAAEkG,KAAKf,EAAEe,KAAK6B,GAAG,CAAC7B,KAAKjG,EAAEiG,KAAKc,EAAEd,KAAKwE,GAAG,CAAC,EAAE,EAAE,IAAIA,EAAE,CAAC,CAAC5C,EAAEE,EAAEE,GAAG,CAACH,EAAEvF,EAAExC,GAAG,CAAC,EAAE,EAAE,IAAI,IAAI8H,GAAGA,aAAauR,KAAK3O,EAAE,CAAC,CAAC5C,EAAE9H,EAAE8H,EAAE3C,EAAE2C,EAAEC,GAAG,CAACD,EAAE7H,EAAE6H,EAAEd,EAAEc,EAAE4C,GAAG,CAAC,EAAE,EAAE,KAAK3B,EAAE,EAAEA,EAAE,EAAEA,IAAI,IAAIX,EAAE,EAAEA,EAAE,EAAEA,IAAI,CAAC,IAAIgC,EAAE,EAAElF,EAAE,EAAEA,EAAE,EAAEA,IAAIkF,GAAGjF,EAAE4D,GAAG7D,GAAGwF,EAAExF,GAAGkD,GAAGmC,EAAExB,GAAGX,GAAGgC,EAAElE,KAAKlG,EAAEuK,EAAE,GAAG,GAAGrE,KAAKjG,EAAEsK,EAAE,GAAG,GAAGrE,KAAKf,EAAEoF,EAAE,GAAG,GAAGrE,KAAKc,EAAEuD,EAAE,GAAG,GAAGrE,KAAK6B,EAAEwC,EAAE,GAAG,GAAGrE,KAAKwE,EAAEH,EAAE,GAAG,IAAIzC,EAAEwR,OAAO,WAAW,IAAIxR,EAAE5B,KAAK6B,EAAED,EAAE9H,EAAE8H,EAAEd,EAAEc,EAAE7H,EAAE6H,EAAE3C,EAAE,OAAO,IAAIkU,GAAGvR,EAAEd,EAAEe,GAAGD,EAAE7H,EAAE8H,GAAGD,EAAE3C,EAAE4C,EAAED,EAAE9H,EAAE+H,GAAGD,EAAE3C,EAAE2C,EAAE4C,EAAE5C,EAAEd,EAAEc,EAAEC,GAAGA,GAAGD,EAAE7H,EAAE6H,EAAEC,EAAED,EAAE9H,EAAE8H,EAAE4C,GAAG3C,IAAID,EAAE+S,MAAM,WAAW,OAAO,IAAIxB,GAAGnT,KAAKlG,EAAEkG,KAAKjG,EAAEiG,KAAKf,EAAEe,KAAKc,EAAEd,KAAK6B,EAAE7B,KAAKwE,IAAI5C,EAAEyR,UAAU,SAASzR,EAAEC,GAAG7B,KAAKvD,IAAI,EAAE,EAAE,EAAE,EAAEmF,EAAEC,IAAID,EAAE2R,MAAM,SAAS3R,EAAEC,EAAEC,EAAExF,GAAG,MAAMuF,IAAIA,EAAED,IAAIE,GAAGxF,IAAI0D,KAAKvD,IAAI,EAAE,EAAE,EAAE,EAAEqF,EAAExF,GAAG0D,KAAKvD,IAAImF,EAAE,EAAE,EAAEC,EAAE,EAAE,IAAIC,GAAGxF,IAAI0D,KAAKvD,IAAI,EAAE,EAAE,EAAE,GAAGqF,GAAGxF,IAAIsF,EAAE0R,OAAO,SAAS1R,EAAEE,EAAExF,GAAGsF,EAAEC,EAAEmJ,IAAIpJ,GAAGE,EAAEA,GAAG,EAAExF,EAAEA,GAAG,EAAE,IAAI0F,GAAGoD,EAAEkM,IAAI1P,GAAGsN,QAAQ,GAAGpV,GAAGsL,EAAEmM,IAAI3P,GAAGsN,QAAQ,GAAGlP,KAAKvD,IAAIuF,EAAElI,GAAGA,EAAEkI,EAAEF,EAAExF,GAAG0D,KAAKvD,IAAI,EAAE,EAAE,EAAE,GAAGqF,GAAGxF,IAAIsF,EAAEgD,EAAE,SAAShD,EAAEC,GAAG,OAAOD,EAAE5B,KAAKlG,EAAE+H,EAAE7B,KAAKf,EAAEe,KAAK6B,GAAGD,EAAEmD,EAAE,SAASnD,EAAEC,GAAG,OAAOD,EAAE5B,KAAKjG,EAAE8H,EAAE7B,KAAKc,EAAEd,KAAKwE,GAAG5C,EAAES,IAAI,SAAST,GAAG,OAAO5B,KAAK4E,EAAEgQ,aAAa,GAAGhT,IAAIsN,QAAQ,IAAItN,EAAEqE,SAAS,WAAW,OAAOpE,EAAE4I,IAAI,UAAU,CAACzK,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,IAAIyK,OAAO,IAAI,CAAC9M,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAG,EAAE,GAAGyK,QAAQlL,EAAEiT,SAAS,WAAW,MAAM,gDAAgD7U,KAAKqC,IAAI,GAAG,SAASrC,KAAKqC,IAAI,GAAG,SAASrC,KAAKqC,IAAI,GAAG,SAASrC,KAAKqC,IAAI,GAAG,QAAQrC,KAAKqC,IAAI,GAAG,QAAQrC,KAAKqC,IAAI,GAAG,iCAAiCT,EAAEsQ,OAAO,WAAW,MAAM,CAAClS,KAAK6B,EAAEqN,QAAQ,GAAGlP,KAAKwE,EAAE0K,QAAQ,KAAKtN,EAAEkT,MAAM,WAAW,IAAIlT,EAAE,GAAGA,EAAE+R,GAAG3T,KAAK6B,EAAED,EAAEgS,GAAG5T,KAAKwE,EAAE,IAAIxC,EAAE,CAAC,CAAChC,KAAKlG,EAAEkG,KAAKf,GAAG,CAACe,KAAKjG,EAAEiG,KAAKc,IAAIc,EAAEmT,OAAO3P,EAAE4J,KAAKlN,EAAEE,EAAE,KAAK1F,EAAE0F,EAAE,IAAIJ,EAAEoT,MAAMhT,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,CAACA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGJ,EAAEoT,MAAMhT,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGJ,EAAEoT,OAAOpT,EAAEqT,OAAO7P,EAAE4J,KAAKlN,EAAEE,EAAE,KAAK1F,EAAE0F,EAAE,IAAIJ,EAAEoT,OAAOpT,EAAEqT,OAAO,IAAInb,GAAGkI,EAAE,GAAG,GAAGa,EAAEb,EAAE,GAAG,GAAG,OAAOa,EAAE,GAAGjB,EAAE0R,OAAOzR,EAAEoJ,IAAI7F,EAAE8P,KAAKrS,IAAI/I,EAAE,IAAI8H,EAAE0R,OAAO,IAAI1R,EAAE0R,SAAS1R,EAAE0R,OAAOzR,EAAEoJ,IAAI7F,EAAEoM,KAAK1X,IAAI8H,EAAEuT,YAAYvT,EAAEoT,MAAM9F,QAAQ,IAAItN,EAAEmT,OAAO7F,QAAQ,IAAItN,EAAEqT,OAAO/F,QAAQ,IAAItN,EAAE0R,QAAQ1R,EAAEwT,gBAAgBxT,EAAEoT,MAAM9F,QAAQ,IAAItN,EAAEmT,OAAO7F,QAAQ,IAAItN,EAAEqT,OAAO/F,QAAQ,KAAKtN,EAAE0R,OAAO1R,EAAEyT,aAAazT,EAAEoT,MAAM9F,QAAQ,KAAKtN,EAAE0R,OAAO1R,GAAGA,EAAE0T,kBAAkB,SAAS1T,GAAG,IAAIC,EAAED,GAAG5B,KAAK8E,KAAK,OAAOjD,EAAEsT,UAAUtT,EAAEkT,QAAQlT,EAAEkT,OAAO7F,QAAQ,GAAGrN,EAAEoT,QAAQpT,EAAEoT,OAAO/F,QAAQ,GAAGrN,EAAEyR,QAAQzR,EAAEyR,OAAOpE,QAAQ,IAAIrN,EAAE8R,IAAI9R,EAAE+R,GAAG,IAAI,CAAC/R,EAAE8R,GAAG9R,EAAE+R,IAAI9S,IAAI,GAAGe,EAAEkT,QAAQ,GAAGlT,EAAEoT,OAAO,IAAI,CAACpT,EAAEkT,OAAOlT,EAAEoT,OAAO,EAAE,GAAGnU,IAAIe,EAAEyR,OAAO,IAAI,CAACzR,EAAEyR,OAAO,EAAE,GAAGxS,IAAI,IAAI,CAACd,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,GAAGrC,KAAKqC,IAAI,KAA/kF,CAAqlF8Q,GAAGxQ,WAAW,IAAI,IAAI4S,GAAG,WAAWvV,KAAKwV,aAAY,GAAIC,GAAG,WAAW,OAAOzV,KAAK0V,cAAcC,kBAAkBC,GAAG,WAAW5V,KAAK6V,cAAa,GAAIC,GAAG,WAAW,OAAO9V,KAAK0V,cAAcK,mBAAmBC,GAAG,SAASpU,GAAG,IAAIC,EAAE7C,EAAE+E,IAAIkS,gBAAgBC,WAAWlX,EAAE+E,IAAI6H,KAAKsK,UAAUpU,EAAE9C,EAAE+E,IAAIkS,gBAAgBE,YAAYnX,EAAE+E,IAAI6H,KAAKuK,WAAW,MAAM,CAACvR,EAAEhD,EAAEwU,QAAQtU,EAAEiD,EAAEnD,EAAEyU,QAAQxU,IAAIyU,GAAGtX,EAAE+E,IAAIwS,iBAAiB,SAAS3U,EAAEC,EAAEC,EAAExF,GAAG,IAAI0F,EAAE,SAASJ,GAAG,IAAIC,EAAEmU,GAAGpU,GAAG,OAAOE,EAAEG,KAAK3F,EAAEsF,EAAEC,EAAE+C,EAAE/C,EAAEkD,IAAI,GAAGnD,EAAE2U,iBAAiB1U,EAAEG,GAAE,GAAIlF,GAAGyC,EAAEsC,GAAG,CAAC,IAAI/H,EAAE,SAAS+H,GAAG,IAAI,IAAIG,EAAEgU,GAAGnU,GAAG/H,EAAE+H,EAAEgB,EAAE,EAAEX,EAAEL,EAAE2U,eAAe3U,EAAE2U,cAActa,OAAO2G,EAAEX,EAAEW,IAAI,GAAGhB,EAAE2U,cAAc3T,GAAG5I,QAAQ2H,EAAE,EAAEC,EAAEA,EAAE2U,cAAc3T,IAAI6S,cAAc5b,EAAE+H,EAAE8T,eAAeF,GAAG5T,EAAEkU,gBAAgBD,GAAG,MAAM,OAAOhU,EAAEG,KAAK3F,EAAEuF,EAAEG,EAAE4C,EAAE5C,EAAE+C,IAAInD,EAAE2U,iBAAiBhX,EAAEsC,GAAG/H,GAAE,GAAI,OAAO,WAAW,OAAO8H,EAAE6U,oBAAoB5U,EAAEG,GAAE,GAAIlF,GAAGyC,EAAEsC,IAAID,EAAE6U,oBAAoBlX,EAAEsC,GAAG/H,GAAE,IAAI,IAAKkF,EAAE+E,IAAI2S,YAAY,SAAS9U,EAAEC,EAAEC,EAAExF,GAAG,IAAI0F,EAAE,SAASJ,GAAGA,EAAEA,GAAG5C,EAAEiF,IAAI0S,MAAM,IAAI9U,EAAE7C,EAAE+E,IAAIkS,gBAAgBC,WAAWlX,EAAE+E,IAAI6H,KAAKsK,UAAUlU,EAAEhD,EAAE+E,IAAIkS,gBAAgBE,YAAYnX,EAAE+E,IAAI6H,KAAKuK,WAAWrc,EAAE8H,EAAEwU,QAAQpU,EAAEa,EAAEjB,EAAEyU,QAAQxU,EAAE,OAAOD,EAAE+T,eAAe/T,EAAE+T,gBAAgBJ,GAAG3T,EAAEmU,gBAAgBnU,EAAEmU,iBAAiBH,GAAG9T,EAAEG,KAAK3F,EAAEsF,EAAE9H,EAAE+I,IAAI,OAAOjB,EAAE8U,YAAY,KAAK7U,EAAEG,GAAG,WAAW,OAAOJ,EAAEgV,YAAY,KAAK/U,EAAEG,IAAG,SAAK,EAAO6U,GAAG,GAAGC,GAAG,SAASjV,GAAG,IAAI,IAAIC,EAAExF,EAAEuF,EAAEuU,QAAQpU,EAAEH,EAAEwU,QAAQvc,EAAEkF,EAAE+E,IAAIkS,gBAAgBC,WAAWlX,EAAE+E,IAAI6H,KAAKsK,UAAUrT,EAAE7D,EAAE+E,IAAIkS,gBAAgBE,YAAYnX,EAAE+E,IAAI6H,KAAKuK,WAAWjU,EAAE2U,GAAG3a,OAAOgG,KAAK,CAAC,GAAGJ,EAAE+U,GAAG3U,GAAGpF,GAAG+E,EAAEkV,SAAS,IAAI,IAAI7S,EAAEG,EAAExC,EAAEkV,QAAQ7a,OAAOmI,KAAK,IAAIH,EAAErC,EAAEkV,QAAQ1S,IAAI2S,YAAYlV,EAAEmV,GAAGC,MAAMC,GAAG,CAAC7a,EAAE4H,EAAEkS,QAAQpU,EAAEkC,EAAEmS,SAASxU,EAAE6T,cAAc7T,EAAE6T,cAAc7T,GAAG8T,iBAAiB,YAAY9T,EAAE8T,iBAAiB,IAAI1W,EAAEuF,EAAE1C,EAAEmV,GAAG/c,KAAK4G,EAAE0D,EAAE4S,YAAYzS,EAAEH,EAAElK,WAAWsK,EAAEJ,EAAE6F,MAAM6B,QAAQlN,EAAEiF,IAAIoT,OAAO1S,EAAEpK,YAAYiK,GAAGA,EAAE6F,MAAM6B,QAAQ,OAAOjN,EAAE6C,EAAEmV,GAAGK,MAAMC,kBAAkBjb,EAAE0F,GAAGwC,EAAE6F,MAAM6B,QAAQtH,EAAE5F,EAAEiF,IAAIoT,QAAQvW,EAAE6D,EAAEvK,aAAaoK,EAAE1D,GAAG6D,EAAErE,YAAYkE,IAAIvF,GAAG2C,EAAE,qBAAqBE,EAAEmV,GAAGE,GAAGrV,EAAEmV,GAAGhY,GAAG3C,GAAGuG,EAAEb,GAAGlI,EAAE8H,EAAE,qBAAqBE,EAAEmV,GAAGE,GAAGrV,EAAE0V,YAAY1V,EAAEmV,GAAG3a,EAAEwF,EAAEmV,GAAGC,MAAMtS,EAAE5C,EAAEF,EAAEmV,GAAGC,MAAMnS,EAAEzI,EAAE0F,EAAEH,KAAK4V,GAAG,SAAS3V,GAAGD,EAAE6V,YAAYZ,IAAIa,UAAUF,IAAI,IAAI,IAAInb,EAAE0F,EAAE6U,GAAG3a,OAAO8F,MAAM1F,EAAEua,GAAG7U,IAAIiV,GAAGC,MAAM,GAAGtV,EAAE,oBAAoBtF,EAAE2a,GAAGE,GAAG7a,EAAEsb,WAAWtb,EAAEub,aAAavb,EAAEkb,YAAYlb,EAAE2a,GAAGnV,GAAG+U,GAAG,IAAIiB,GAAGjW,EAAEoV,GAAG,GAAGc,GAAGhT,EAAE7I,OAAO6b,OAAO,SAASnW,GAAGC,EAAED,GAAGkW,GAAGlW,GAAG,SAASE,EAAExF,GAAG,OAAOuF,EAAEiB,GAAGhB,EAAE,cAAc9B,KAAKgY,OAAOhY,KAAKgY,QAAQ,GAAGhY,KAAKgY,OAAOpc,KAAK,CAAChB,KAAKgH,EAAE4C,EAAE1C,EAAEmW,OAAO3B,GAAGtW,KAAKkY,OAAOlY,KAAK9F,MAAM8E,EAAE+E,IAAInC,EAAEE,EAAExF,GAAG0D,SAASA,MAAM6B,EAAE,KAAKD,GAAGkW,GAAG,KAAKlW,GAAG,SAASE,GAAG,IAAI,IAAIxF,EAAE0D,KAAKgY,QAAQ,GAAGhW,EAAE1F,EAAEJ,OAAO8F,KAAK1F,EAAE0F,GAAGpH,MAAMgH,IAAIC,EAAEiB,GAAGhB,EAAE,cAAcxF,EAAE0F,GAAGwC,GAAG1C,IAAIxF,EAAE0F,GAAGiW,SAAS3b,EAAE8E,OAAOY,EAAE,IAAI1F,EAAEJ,eAAe8D,KAAKgY,QAAQ,OAAOhY,MAApX,CAA2X+E,EAAEgT,KAAKD,GAAGK,KAAK,SAASrW,EAAExF,GAAG,IAAI0F,EAAE6G,EAAE7I,KAAKmX,IAAItO,EAAE7I,KAAKmX,KAAK,GAAG,GAAG,GAAG/T,UAAUlH,OAAO,OAAO8F,EAAE,GAAG,GAAGoB,UAAUlH,OAAO,CAAC,GAAG2F,EAAEiB,GAAGhB,EAAE,UAAU,CAAC,IAAI,IAAIhI,KAAKgI,EAAEA,EAAEI,GAAGpI,IAAIkG,KAAKmY,KAAKre,EAAEgI,EAAEhI,IAAI,OAAOkG,KAAK,OAAO4B,EAAE,oBAAoB5B,KAAKmX,GAAGnX,KAAKgC,EAAEF,GAAGA,GAAGE,EAAEF,GAAG,OAAOE,EAAEF,GAAGxF,EAAEsF,EAAE,oBAAoB5B,KAAKmX,GAAGnX,KAAK1D,EAAEwF,GAAG9B,MAAM8X,GAAGM,WAAW,SAASxW,GAAG,OAAO,MAAMA,SAASiH,EAAE7I,KAAKmX,IAAItO,EAAE7I,KAAKmX,YAAYtO,EAAE7I,KAAKmX,IAAIvV,GAAG5B,MAAM8X,GAAGO,QAAQ,WAAW,OAAO7N,GAAG3B,EAAE7I,KAAKmX,KAAK,KAAKW,GAAGQ,MAAM,SAAS1W,EAAEC,EAAEC,EAAExF,GAAG,OAAO0D,KAAKuY,UAAU3W,EAAEE,GAAG0W,SAAS3W,EAAEvF,GAAGwF,IAAIgW,GAAGW,QAAQ,SAAS7W,EAAEC,GAAG,OAAO7B,KAAK0Y,YAAY9W,GAAG+W,WAAW9W,IAAI,IAAI+W,GAAG,GAAg6E,SAASC,KAAK,OAAO7Y,KAAK4E,EAAED,EAAE3E,KAAK+E,EAAEJ,EAAE3E,KAAKiI,MAAM,MAAMjI,KAAKwH,OAA19EsQ,GAAGgB,KAAK,SAAShX,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,GAAG,SAASgC,EAAEA,IAAIA,EAAEwR,eAAexR,GAAGyR,iBAAiB,IAAItR,EAAEH,EAAEkS,QAAQnX,EAAEiF,EAAEmS,QAAQ7R,EAAExF,EAAE+E,IAAIkS,gBAAgBC,WAAWlX,EAAE+E,IAAI6H,KAAKsK,UAAUpV,EAAE9B,EAAE+E,IAAIkS,gBAAgBE,YAAYnX,EAAE+E,IAAI6H,KAAKuK,WAAW,GAAGnW,KAAKkX,MAAMC,GAAGjT,EAAE8S,WAAWla,GAAGoH,EAAE6S,QAAQ,IAAI,IAAIpS,EAAEC,EAAEV,EAAE6S,QAAQ7a,OAAO0I,KAAK,GAAGD,EAAET,EAAE6S,QAAQnS,GAAG5E,KAAKkX,MAAMC,GAAGxS,EAAEqS,WAAWrS,EAAEqS,YAAYhX,KAAKkX,MAAMC,GAAG,CAAC9S,EAAEM,EAAEyR,QAAQnX,EAAE0F,EAAE0R,QAAQ,MAAMrW,KAAKkX,MAAMtS,EAAEP,EAAEvD,EAAEd,KAAKkX,MAAMnS,EAAE9F,EAAEuF,GAAGqS,GAAG3a,QAAQ2F,EAAEoD,UAAU6R,IAAI5R,QAAQuS,IAAIZ,GAAGjb,KAAK,CAACqb,GAAGjX,KAAKwX,WAAW1d,EAAE+d,YAAYhV,EAAE+U,UAAU1V,IAAI5F,GAAGsF,EAAEmB,GAAG,sBAAsB/C,KAAKmX,GAAG7a,GAAGwF,GAAGF,EAAEmB,GAAG,qBAAqB/C,KAAKmX,GAAGrV,GAAGE,GAAGJ,EAAEmB,GAAG,oBAAoB/C,KAAKmX,GAAGnV,GAAGJ,EAAE,sBAAsB5B,KAAKmX,GAAGtU,GAAG/I,GAAGkG,KAAKA,KAAKkX,MAAMtS,EAAE5E,KAAKkX,MAAMnS,EAAEb,GAAG,OAAOlE,KAAKkX,MAAM,GAAG0B,GAAGhd,KAAK,CAACqb,GAAGjX,KAAKoO,MAAMlK,IAAIlE,KAAKgF,UAAUd,GAAGlE,MAAM8X,GAAGiB,WAAW,SAASlX,GAAGA,EAAED,EAAEmB,GAAG,qBAAqB/C,KAAKmX,GAAGtV,GAAGD,EAAEqW,OAAO,qBAAqBjY,KAAKmX,KAAKW,GAAGkB,OAAO,WAAW,IAAI,IAAIlX,EAAE8W,GAAG1c,OAAO4F,KAAK8W,GAAG9W,GAAGmV,IAAIjX,OAAOA,KAAKiZ,YAAYL,GAAG9W,GAAGsM,OAAOwK,GAAGxX,OAAOU,EAAE,GAAGF,EAAEqW,OAAO,kBAAkBjY,KAAKmX,MAAMyB,GAAG1c,QAAQ2F,EAAE6V,YAAYZ,IAAIa,UAAUF,IAAIZ,GAAG,IAAIva,EAAEmH,OAAO,SAAS7B,EAAEE,EAAExF,GAAG,IAAI0F,EAAEH,EAAEoB,QAAQQ,OAAOzD,KAAK4B,GAAG,EAAEE,GAAG,EAAExF,GAAG,GAAG,OAAO0D,KAAKkZ,SAASlZ,KAAKkZ,QAAQtd,KAAKoG,GAAGA,GAAG1F,EAAEoH,KAAK,SAAS9B,EAAEE,EAAExF,EAAE0F,EAAElI,GAAG,IAAI+I,EAAEhB,EAAEoB,QAAQS,KAAK1D,KAAK4B,GAAG,EAAEE,GAAG,EAAExF,GAAG,EAAE0F,GAAG,EAAElI,GAAG,GAAG,OAAOkG,KAAKkZ,SAASlZ,KAAKkZ,QAAQtd,KAAKiH,GAAGA,GAAGvG,EAAEsH,QAAQ,SAAShC,EAAEE,EAAExF,EAAE0F,GAAG,IAAIlI,EAAE+H,EAAEoB,QAAQW,QAAQ5D,KAAK4B,GAAG,EAAEE,GAAG,EAAExF,GAAG,EAAE0F,GAAG,GAAG,OAAOhC,KAAKkZ,SAASlZ,KAAKkZ,QAAQtd,KAAK9B,GAAGA,GAAGwC,EAAEqH,KAAK,SAAS/B,GAAGA,IAAIC,EAAEiB,GAAGlB,EAAE,YAAYC,EAAEiB,GAAGlB,EAAE,GAAGoB,KAAKpB,GAAGd,GAAG,IAAIgB,EAAED,EAAEoB,QAAQU,KAAK9B,EAAEsX,OAAOla,GAAG4C,EAAEuB,WAAWpD,MAAM,OAAOA,KAAKkZ,SAASlZ,KAAKkZ,QAAQtd,KAAKkG,GAAGA,GAAGxF,EAAEwH,MAAM,SAASlC,EAAEE,EAAExF,EAAE0F,EAAElI,GAAG,IAAI+I,EAAEhB,EAAEoB,QAAQa,MAAM9D,KAAK4B,GAAG,cAAcE,GAAG,EAAExF,GAAG,EAAE0F,GAAG,EAAElI,GAAG,GAAG,OAAOkG,KAAKkZ,SAASlZ,KAAKkZ,QAAQtd,KAAKiH,GAAGA,GAAGvG,EAAEuH,KAAK,SAASjC,EAAEE,EAAExF,GAAG,IAAI0F,EAAEH,EAAEoB,QAAQY,KAAK7D,KAAK4B,GAAG,EAAEE,GAAG,EAAE8C,EAAEtI,IAAI,OAAO0D,KAAKkZ,SAASlZ,KAAKkZ,QAAQtd,KAAKoG,GAAGA,GAAG1F,EAAEkN,IAAI,SAAS5H,IAAIC,EAAEiB,GAAGlB,EAAE,WAAWA,EAAEhD,MAAM+D,UAAUvB,OAAOa,KAAKmB,UAAU,EAAEA,UAAUlH,SAAS,IAAI4F,EAAE,IAAIsX,GAAGxX,GAAG,OAAO5B,KAAKkZ,SAASlZ,KAAKkZ,QAAQtd,KAAKkG,GAAGA,EAAEwV,MAAMtX,KAAK8B,EAAEb,KAAK,MAAMa,GAAGxF,EAAE+c,SAAS,SAASzX,GAAG5B,KAAKkZ,QAAQtX,GAAG5B,KAAKwJ,OAAOlN,EAAEgd,UAAU,SAAS1X,GAAG,IAAIC,EAAE7B,KAAKkZ,QAAQ,cAAclZ,KAAKkZ,QAAQrX,GAAGvF,EAAEid,QAAQ,WAAW,IAAI3X,EAAE5B,KAAKwZ,OAAOlf,WAAW,MAAM,CAAC2N,MAAMrG,EAAE0S,YAAY9M,OAAO5F,EAAE4S,eAAelY,EAAEmd,QAAQ,SAAS7X,EAAEE,GAAG,OAAOD,EAAEoB,QAAQwW,QAAQxX,KAAKjC,KAAK4B,EAAEE,IAAIxF,EAAEod,WAAW,SAAS9X,EAAEE,EAAExF,EAAE0F,EAAElI,GAAG,OAAO+H,EAAEoB,QAAQyW,WAAWzX,KAAKjC,KAAK4B,EAAEE,EAAExF,EAAE0F,EAAElI,IAAIwC,EAAE8V,IAAI9V,EAAEgW,OAAO,KAAKhW,EAAEqd,QAAQ9X,EAAsEvF,EAAEib,kBAAkB,SAAS3V,EAAEC,GAAG,IAAIC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAEgC,EAAEG,EAAErE,KAAKwZ,OAAOva,EAAED,EAAE+E,IAAI6V,iBAAiBhY,EAAEC,GAAG,GAAG7C,EAAEiF,IAAIoT,OAAO,OAAOpY,EAAEkV,QAAQ,CAAC,IAAI3P,GAAGlI,GAAGwF,EAAEuC,GAAGwV,wBAA0C/f,GAAlBkI,EAAEF,EAAEgY,eAAkBlO,KAAyB1J,GAApBW,EAAEb,EAAEiU,iBAAoB8D,WAAWjgB,EAAEigB,WAAW,EAAE7V,EAAErB,EAAEmX,YAAYlgB,EAAEkgB,YAAY,EAAE,CAACjV,EAAEzI,EAAE8V,KAAKpT,EAAEiF,IAAIgW,aAAapX,EAAEqT,WAAWpc,EAAEoc,WAAWhU,EAAE0C,EAAEtI,EAAE4d,MAAMlb,EAAEiF,IAAIkW,aAAatX,EAAEsT,YAAYrc,EAAEqc,YAAYjS,IAAIpH,EAAEuH,EAAE+V,gBAAgBtd,EAAE8H,EAAEhD,EAAE4C,EAAEI,EAAE9H,EAAEiI,EAAElD,EAAE2C,EAAEO,EAAEjI,EAAEmL,MAAMnL,EAAE0K,OAAO,EAAE,IAAI1G,EAAEuD,EAAEgW,oBAAoBvd,EAAE,MAAMgE,EAAE5E,SAAS+C,EAAE6B,EAAEA,EAAE5E,OAAO,IAAI,IAAI+C,EAAE,OAAO,KAAK,KAAKA,EAAE3E,YAAY2E,GAAGoF,EAAE/J,aAAa2E,EAAE0a,SAAS1a,EAAEA,EAAE3E,WAAW,OAAO2E,GAAGe,KAAKwZ,OAAOlf,aAAa2E,EAAEoF,GAAKpF,GAAGA,EAAE0a,QAAQ3Z,KAAKsa,QAAQrb,EAAEsb,WAAW,MAAMje,EAAEke,kBAAkB,SAAS5Y,GAAG,IAAIE,EAAE9B,KAAKwJ,MAAM,OAAOxJ,KAAKtG,SAAQ,SAAS4C,GAAGuF,EAAEwN,gBAAgB/S,EAAEwW,UAAUlR,IAAIE,EAAElG,KAAKU,MAAKwF,GAAGxF,EAAEge,QAAQ,SAAS1Y,GAAG,IAAI,IAAIC,EAAE7B,KAAKsS,OAAOzQ,GAAG,CAAC,GAAGA,EAAEsV,IAAIvV,EAAE,OAAOC,EAAEA,EAAEA,EAAE0Q,KAAK,OAAO,MAAMjW,EAAE5C,QAAQ,SAASkI,EAAEC,GAAG,IAAI,IAAIC,EAAE9B,KAAKsS,OAAOxQ,GAAG,CAAC,IAAG,IAAKF,EAAEK,KAAKJ,EAAEC,GAAG,OAAO9B,KAAK8B,EAAEA,EAAEyQ,KAAK,OAAOvS,MAAM1D,EAAEme,mBAAmB,SAAS7Y,EAAEC,GAAG,IAAIC,EAAE9B,KAAKwJ,MAAM,OAAOxJ,KAAKtG,SAAQ,SAAS4C,GAAGA,EAAEoe,cAAc9Y,EAAEC,IAAIC,EAAElG,KAAKU,MAAKwF,GAAGgW,GAAG4C,cAAc,SAAS9Y,EAAEE,GAAG,IAAIxF,EAAE0D,KAAK2a,SAASvR,EAAEpJ,KAAKiB,MAAMjB,MAAM,OAAOA,KAAKQ,KAAK,cAAcR,KAAKQ,KAAK,aAAatE,SAASI,EAAEuF,EAAEoR,cAAc3W,EAAE0D,KAAKQ,KAAK,eAAeqB,EAAE4O,kBAAkBnU,EAAEsF,EAAEE,IAAIgW,GAAGhF,QAAQ,SAASlR,GAAG,GAAG5B,KAAK4a,QAAQ,MAAM,GAAG,IAAI/Y,EAAE7B,KAAKoF,EAAE,OAAOxD,IAAIC,EAAEhF,OAAOgF,EAAEgZ,SAAS7a,KAAK2a,SAASvR,EAAEpJ,KAAKiB,MAAMjB,MAAM6B,EAAEgZ,OAAOjK,GAAG5Q,KAAK2a,UAAU9Y,EAAEgZ,OAAO5U,SAAS4S,GAAGhX,EAAEhF,MAAM,GAAGgF,EAAEgZ,UAAUhZ,EAAEhF,OAAOgF,EAAE2R,SAAS3R,EAAEgP,SAAShP,EAAEhF,OAAOmD,KAAK2a,WAAW9Y,EAAEgZ,OAAO,EAAE7a,KAAK2a,SAASvR,EAAEpJ,KAAKiB,MAAMjB,OAAO6B,EAAEgP,KAAKD,GAAGnH,EAAEzJ,KAAK2a,SAAS3a,KAAKgT,SAASnR,EAAEgP,KAAK5K,SAAS4S,GAAGhX,EAAEhF,MAAMgF,EAAE2R,OAAO,GAAG3R,EAAEgP,OAAOiH,GAAGnD,MAAM,WAAW,GAAG3U,KAAK4a,QAAQ,OAAO,KAAK,IAAIhZ,EAAE5B,KAAKsX,MAAMtX,KAAKiB,QAAQT,KAAKR,KAAKQ,QAAQ,OAAOR,KAAKkZ,SAASlZ,KAAKkZ,QAAQtd,KAAKgG,GAAGA,GAAGkW,GAAGgD,KAAK,SAASlZ,GAAG,GAAG,QAAQ5B,KAAKiB,KAAK,OAAO,KAAK,IAAIY,EAAE,CAACoG,QAAQrG,EAAEA,GAAG,IAAIqG,OAAO,MAAMjI,KAAKQ,KAAK,iBAAiB,GAAGpD,KAAKwE,EAAExE,OAAM,EAAGsK,QAAQ,MAAM9F,EAAE8F,QAAQ,GAAG9F,EAAE8F,QAAQqT,QAAQnZ,EAAEmZ,SAAS,EAAEC,QAAQpZ,EAAEoZ,SAAS,EAAEhP,MAAMpK,EAAEoK,OAAO,QAAQlK,EAAED,EAAEoG,MAAM,EAAE3L,EAAE0D,KAAKsX,MAAMtV,EAAE1F,EAAEkN,MAAM1P,EAAEkG,KAAK2a,UAAUvR,EAAEpJ,KAAKiB,MAAMjB,MAAMlG,EAAEkG,KAAKgT,OAAOvJ,EAAE3P,EAAEkG,KAAKgT,QAAQlZ,EAAE,IAAI,IAAI+I,EAAE,EAAEA,EAAEf,EAAE,EAAEe,IAAIb,EAAEpG,KAAKU,EAAEqH,KAAK7J,GAAG0G,KAAK,CAACsH,OAAOjG,EAAEmK,MAAM5O,KAAKyE,EAAEzE,KAAKyE,EAAEmK,MAAM,OAAO,kBAAkB,QAAQ,iBAAiB,QAAQ,iBAAiBnK,EAAEoG,MAAMnG,EAAEe,GAAGqM,QAAQ,GAAGxH,UAAU7F,EAAE6F,QAAQ5F,GAAGoN,QAAQ,MAAM,OAAOlN,EAAE5H,aAAa4F,MAAMqT,UAAUxR,EAAEkZ,QAAQlZ,EAAEmZ,UAAU,IAAIC,GAAG,SAASrZ,EAAEE,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,EAAEkF,GAAG,OAAO,MAAMA,EAAE6K,GAAGnN,EAAEE,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,GAAG6C,EAAE0N,kBAAkB3N,EAAEE,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,EAAE,SAAS4C,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,GAAG,KAAKA,EAAE,GAAG+P,GAAGnN,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,GAAGlD,GAAG,CAAC,IAAIkF,EAAEG,EAAE,GAAGpF,EAAE,EAAEoF,EAAE,IAAIH,EAAE6K,GAAGnN,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAEjD,GAAGyG,EAAExB,EAAElF,GAAG,KAAKkF,EAAE6K,GAAGnN,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAEjD,IAAIiF,EAAElF,EAAE,GAAG,IAAIqF,GAAG,IAAI,OAAOpF,GAAzK,CAA6K2C,EAAEE,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,EAAEkF,KAAKgX,GAAG,SAAStZ,EAAEE,GAAG,OAAO,SAASxF,EAAE0F,EAAElI,GAAG,IAAI,IAAI+I,EAAEX,EAAElD,EAAEkF,EAAEG,EAAEpF,EAAE,GAAGuF,EAAE,GAAG1H,EAAE,EAAEgE,EAAE,EAAE6D,GAAGrI,EAAEqN,GAAGrN,IAAIJ,OAAO4E,EAAE6D,EAAE7D,IAAI,CAAC,GAAG,MAAM9B,EAAE1C,EAAEwE,IAAI,GAAG+B,GAAG7D,EAAE,GAAGkD,GAAGlD,EAAE,OAAO,CAAC,GAAGlC,GAAGoH,EAAE+W,GAAGpY,EAAEX,EAAElD,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,KAAKgD,EAAE,CAAC,GAAGF,IAAI0C,EAAE4J,MAAM,CAAC,GAAGnP,GAAG,CAAC,KAAKoF,EAAE4W,GAAGpY,EAAEX,EAAElD,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGgD,EAAElF,IAAIsR,MAAMxJ,EAAEP,EAAE+J,MAAMrJ,EAAEV,EAAE9E,EAAEqF,EAAEP,EAAE9E,EAAEwF,EAAEV,EAAEO,EAAEP,EAAEU,GAAGjL,EAAE,OAAOmF,EAAEuF,EAAE4J,MAAMnP,EAAEA,EAAE,CAAC,IAAIoF,EAAEO,EAAEP,EAAEU,EAAE,IAAIV,EAAErC,EAAE4C,EAAEP,EAAErC,EAAE+C,EAAEV,EAAE4L,IAAIrL,EAAEP,EAAE4L,IAAIlL,EAAE/F,EAAE,GAAGA,EAAE,IAAI8N,OAAOhQ,GAAGoH,EAAErB,GAAG7D,EAAE,GAAGkD,GAAGlD,EAAE,GAAG,SAAS,IAAI4C,IAAIE,EAAE,MAAM,CAAC8C,GAAGP,EAAE4W,GAAGpY,EAAEX,EAAElD,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGgD,EAAElF,IAAI8H,EAAEG,EAAEV,EAAEU,EAAEmL,MAAM7L,EAAE6L,OAAOpT,GAAGoH,EAAErB,GAAG7D,EAAE,GAAGkD,GAAGlD,EAAE,GAAGC,GAAGD,EAAEiO,QAAQjO,EAAE,OAAOwF,EAAEyL,IAAIhR,GAAGoF,EAAEzC,EAAE9E,EAAEgF,EAAE0C,EAAE3C,EAAE0N,kBAAkB1M,EAAEX,EAAElD,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,IAAIkR,QAAQ7L,EAAE,CAACO,EAAEP,EAAEO,EAAEG,EAAEV,EAAEU,EAAEmL,MAAM7L,EAAE6L,QAAQ7L,IAAI8W,GAAGD,GAAG,GAAGE,GAAGF,KAAKG,GAAGH,GAAG,EAAE,GAAGrZ,EAAEyZ,eAAeH,GAAGtZ,EAAE0Z,iBAAiBH,GAAGvZ,EAAE2Z,WAAW,SAAS5Z,EAAEC,EAAEC,GAAG,GAAG9B,KAAKsb,eAAe1Z,GAAGE,EAAE,KAAK,OAAOuZ,GAAGzZ,EAAEC,GAAGoO,IAAI,IAAI3T,EAAE+e,GAAGzZ,EAAEE,EAAE,GAAG,OAAOD,EAAEwZ,GAAG/e,EAAEuF,GAAGoO,IAAI3T,GAAGwb,GAAGwD,eAAe,WAAW,IAAI1Z,EAAE5B,KAAKyb,UAAU,GAAG7Z,EAAE,OAAO5B,KAAK9F,KAAKohB,eAAetb,KAAK9F,KAAKohB,iBAAiBH,GAAGvZ,IAAIkW,GAAGyD,iBAAiB,SAAS3Z,GAAG,IAAIC,EAAE7B,KAAKyb,UAAU,GAAG5Z,EAAE,OAAOuZ,GAAGvZ,EAAED,IAAIkW,GAAG2D,QAAQ,WAAW,IAAI7Z,EAAEE,EAAED,EAAEwH,SAASrJ,KAAKiB,MAAM,GAAG,QAAQjB,KAAKiB,MAAM,OAAOjB,KAAKiB,KAAK,OAAOa,IAAIF,EAAEE,EAAE9B,OAAO4B,GAAGkW,GAAG0D,WAAW,SAAS5Z,EAAEE,GAAG,IAAIxF,EAAE0D,KAAKyb,UAAU,GAAGnf,EAAE,OAAOuF,EAAE2Z,WAAWlf,EAAEsF,EAAEE,IAAI,IAAI4Z,GAAG7Z,EAAE8Z,gBAAgB,CAACC,OAAO,SAASha,GAAG,OAAOA,GAAG,IAAI,SAASA,GAAG,OAAOgE,EAAEhE,EAAE,MAAM,IAAI,SAASA,GAAG,OAAOgE,EAAEhE,EAAE,MAAM,KAAK,SAASA,GAAG,IAAIC,EAAE,IAAID,EAAE,KAAKE,EAAEsD,EAAE4J,KAAK,MAAMnN,EAAEA,GAAGvF,EAAEwF,EAAED,EAAEG,GAAGF,EAAED,EAAE/H,EAAE8L,EAAEF,EAAEpJ,GAAG,EAAE,IAAIA,EAAE,GAAG,EAAE,GAAGsJ,EAAEF,EAAE1D,GAAG,EAAE,IAAIA,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,GAAG,EAAElI,GAAGA,EAAEA,EAAEA,EAAEA,EAAEA,GAAG+hB,OAAO,SAASja,GAAG,IAAIC,EAAE,QAAQ,OAAOD,EAAEA,IAAIC,EAAE,GAAGD,EAAEC,IAAIia,QAAQ,SAASla,GAAG,IAAIC,EAAE,QAAQ,OAAOD,GAAG,GAAGA,IAAIC,EAAE,GAAGD,EAAEC,GAAG,GAAGka,QAAQ,SAASna,GAAG,OAAOA,KAAKA,EAAEA,EAAEgE,EAAE,GAAG,GAAGhE,GAAGwD,EAAEmM,IAAI,EAAEzL,GAAGlE,EAAE,MAAM,IAAI,GAAGoa,OAAO,SAASpa,GAAG,IAAIC,EAAE,OAAOC,EAAE,KAAK,OAAOF,EAAE,EAAEE,EAAED,EAAED,EAAEA,EAAEA,EAAE,EAAEE,EAAED,GAAGD,GAAG,IAAIE,GAAGF,EAAE,IAAIA,EAAE,IAAIE,EAAED,GAAGD,GAAG,KAAKE,GAAGF,EAAE,MAAMC,GAAGD,GAAG,MAAME,GAAGF,EAAE,UAAU8Z,GAAGO,OAAOP,GAAG,WAAWA,GAAG,KAAKA,GAAGQ,QAAQR,GAAG,YAAYA,GAAG,KAAKA,GAAGS,UAAUT,GAAG,eAAeA,GAAG,MAAMA,GAAG,WAAWA,GAAGG,OAAOH,GAAG,YAAYA,GAAGI,QAAQ,IAAIM,GAAG,GAAGC,GAAG3a,OAAO4a,uBAAuB5a,OAAO6a,6BAA6B7a,OAAO8a,0BAA0B9a,OAAO+a,wBAAwB/a,OAAOgb,yBAAyB,SAAS9a,GAAGiN,WAAWjN,EAAE,KAAK+a,GAAG,WAAW,IAAI,IAAI7a,GAAG,IAAI8a,KAAKtgB,EAAE,EAAEA,EAAE8f,GAAGlgB,OAAOI,IAAI,CAAC,IAAI0F,EAAEoa,GAAG9f,GAAG,IAAI0F,EAAEiV,GAAG2D,UAAU5Y,EAAE6a,OAAO,CAAC,IAAI/iB,EAAE+I,EAAE7D,EAAE8C,EAAEE,EAAEoM,MAAMlK,EAAElC,EAAE8a,GAAGzY,EAAErC,EAAE+a,OAAO9d,EAAE+C,EAAEnD,KAAK/B,EAAEkF,EAAEgb,KAAKlc,EAAEkB,EAAEgS,GAAGpP,GAAG5C,EAAEJ,EAAEI,EAAEiV,IAAInS,EAAE,GAAGC,EAAE,GAAG,GAAG/C,EAAEib,YAAYje,GAAGgD,EAAEib,WAAWjb,EAAEkb,KAAK9K,IAAIpQ,EAAEqQ,OAAOrQ,EAAEmb,QAAQnb,EAAEqQ,MAAMnO,EAAElC,EAAEob,OAAOpb,EAAEib,kBAAkBjb,EAAEib,WAAWjb,EAAEqb,MAAMjB,GAAGhb,OAAO9E,IAAI,IAAI0F,EAAEob,QAAQpb,EAAEqQ,MAAMrQ,EAAEmb,QAAQnb,EAAEqQ,OAAOrT,EAAEkF,IAAIlC,EAAEkb,KAAK9K,MAAMpT,EAAE,GAAG,GAAGA,EAAEkF,EAAE,CAAC,IAAI3E,EAAE8E,EAAErF,EAAEkF,GAAG,IAAI,IAAInK,KAAKkF,EAAE,GAAGA,EAAEiD,GAAGnI,GAAG,CAAC,OAAOoO,EAAEpO,IAAI,KAAKmJ,EAAEpJ,GAAGmF,EAAElF,GAAGwF,EAAE2E,EAAEpH,EAAE/C,GAAG,MAAM,IAAI,SAASD,EAAE,OAAO,CAACwjB,GAAG9W,EAAEvH,EAAElF,GAAG+H,EAAEvC,EAAE2E,EAAEpH,EAAE/C,GAAG+H,IAAIwb,GAAG9W,EAAEvH,EAAElF,GAAG4K,EAAEpF,EAAE2E,EAAEpH,EAAE/C,GAAG4K,IAAI2Y,GAAG9W,EAAEvH,EAAElF,GAAGA,EAAEwF,EAAE2E,EAAEpH,EAAE/C,GAAGA,KAAK+S,KAAK,KAAK,IAAI,MAAM,IAAI,OAAOhT,EAAE,GAAG,IAAI,IAAIsL,EAAE,EAAEE,EAAErG,EAAElF,GAAGmC,OAAOkJ,EAAEE,EAAEF,IAAI,CAACtL,EAAEsL,GAAG,CAACnG,EAAElF,GAAGqL,GAAG,IAAI,IAAI,IAAII,EAAE,EAAEE,EAAEzG,EAAElF,GAAGqL,GAAGlJ,OAAOsJ,EAAEE,EAAEF,IAAI1L,EAAEsL,GAAGI,IAAIvG,EAAElF,GAAGqL,GAAGI,GAAGjG,EAAE2E,EAAEpH,EAAE/C,GAAGqL,GAAGI,GAAG1L,EAAEsL,GAAGtL,EAAEsL,GAAG0H,KAAKnI,GAAG7K,EAAEA,EAAEgT,KAAKnI,GAAG,MAAM,IAAI,YAAY,GAAG7H,EAAE/C,GAAGwjB,KAAK,IAAIzjB,EAAE,GAAGsL,EAAE,EAAEE,EAAErG,EAAElF,GAAGmC,OAAOkJ,EAAEE,EAAEF,IAAI,IAAItL,EAAEsL,GAAG,CAACnG,EAAElF,GAAGqL,GAAG,IAAII,EAAE,EAAEE,EAAEzG,EAAElF,GAAGqL,GAAGlJ,OAAOsJ,EAAEE,EAAEF,IAAI1L,EAAEsL,GAAGI,GAAGvG,EAAElF,GAAGqL,GAAGI,GAAGjG,EAAE2E,EAAEpH,EAAE/C,GAAGqL,GAAGI,OAAO,CAAC,IAAII,EAAE,SAAShE,GAAG,OAAO3C,EAAElF,GAAG6H,GAAGrC,EAAE2E,EAAEpH,EAAE/C,GAAG6H,IAAI9H,EAAE,CAAC,CAAC,IAAI8L,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,KAAK,MAAM,IAAI,MAAM,GAAG,aAAa7L,EAAE,IAAID,EAAE,GAAGsL,EAAE,EAAEA,KAAKtL,EAAEsL,IAAInG,EAAElF,GAAGqL,GAAG7F,EAAE2E,EAAEpH,EAAE/C,GAAGqL,GAAG,MAAM,QAAQ,IAAIU,EAAE,GAAGtB,GAAGvF,EAAElF,IAAI,IAAID,EAAE,GAAGsL,EAAER,EAAE0S,MAAM/S,iBAAiBxK,GAAGmC,OAAOkJ,KAAKtL,EAAEsL,IAAIU,EAAEV,GAAG7F,EAAE2E,EAAEpH,EAAE/C,GAAGqL,GAAGN,EAAE/K,GAAGD,EAAE8K,EAAEpE,KAAKsE,GAAG,SAASjD,EAAEC,EAAExF,GAAGuS,YAAW,WAAWjN,EAAE,sBAAsBC,EAAEC,EAAExF,MAAlE,CAAwEsI,EAAEuS,GAAGvS,EAAE5C,EAAEkb,UAAU,CAAC,GAAG,SAASpb,EAAExF,EAAE0F,GAAG6M,YAAW,WAAWjN,EAAE,sBAAsBtF,EAAE6a,GAAG7a,EAAE0F,GAAGJ,EAAE,uBAAuBtF,EAAE6a,GAAG7a,EAAE0F,GAAGH,EAAEiB,GAAGhB,EAAE,aAAaA,EAAEG,KAAK3F,MAAtI,CAA4I0F,EAAEzF,SAASqI,EAAE5C,EAAEkb,MAAMtY,EAAEpE,KAAKM,GAAGsb,GAAGhb,OAAO9E,IAAI,GAAG0F,EAAEwb,OAAO,IAAIxb,EAAEuQ,KAAK,CAAC,IAAI1P,KAAK/B,EAAEA,EAAEoB,GAAGW,KAAKkC,EAAElC,GAAGb,EAAEyb,YAAY5a,IAAIb,EAAEiV,GAAGzW,KAAKuE,GAAG2Y,GAAG1b,EAAEkb,KAAKlb,EAAEiV,GAAGjV,EAAEkb,KAAKS,SAAS,GAAG,KAAK3b,EAAEyb,YAAYzb,EAAEwb,OAAO,GAAGxb,EAAEuQ,OAAOvQ,EAAEqb,MAAMK,GAAG1b,EAAEkb,KAAKlb,EAAEiV,GAAGjV,EAAEuQ,KAAK,KAAKvQ,EAAEyb,YAAYzb,EAAEwb,UAAUpB,GAAGlgB,QAAQmgB,GAAGM,KAAKW,GAAG,SAAS1b,GAAG,OAAOA,EAAE,IAAI,IAAIA,EAAE,EAAE,EAAEA,GAAG,SAASgc,GAAGhc,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,GAAG,IAAI+I,EAAE,EAAEhB,EAAEK,EAAE,GAAG5F,EAAEuF,GAAGgB,EAAE7D,EAAE,EAAE6D,EAAEX,EAAEgC,EAAE,EAAEpC,EAAEuC,EAAE,GAAGrC,EAAEF,GAAGoC,EAAEjF,EAAE,EAAEiF,EAAEG,EAAE,SAASG,EAAE5C,GAAG,QAAQ5C,EAAE4C,EAAEM,GAAGN,EAAEiB,GAAGjB,EAAE,OAAO,SAASA,EAAEC,GAAG,IAAIC,EAAE,SAASF,EAAEC,GAAG,IAAIC,EAAExF,EAAE0F,EAAElI,EAAEoK,EAAEG,EAAE,IAAIrC,EAAEJ,EAAEyC,EAAE,EAAEA,EAAE,EAAEA,IAAI,CAAC,GAAGvK,EAAE0K,EAAExC,GAAGJ,EAAE8D,EAAE5L,GAAG+H,EAAE,OAAOG,EAAE,GAAG0D,EAAExB,GAAG,EAAElF,EAAEgD,EAAE,EAAEE,GAAGF,EAAEa,GAAG,KAAK,MAAMb,GAAGlI,EAAEoK,EAAE,IAAQlC,EAAEJ,IAAIE,EAAE,GAAG,OAAOA,EAAE,GAAGE,GAA5B1F,EAAE,GAA8B,OAAOA,EAAE,KAAKwF,EAAExF,GAAG,CAAC,GAAGxC,EAAE0K,EAAExC,GAAG0D,EAAE5L,EAAE8H,GAAGC,EAAE,OAAOG,EAAEJ,EAAE9H,EAAEgI,EAAEE,EAAE1F,EAAE0F,EAAEA,GAAG1F,EAAEwF,GAAG,EAAEA,EAAE,OAAOE,EAA3O,CAA8OJ,EAAEC,GAAG,QAAQ5C,EAAE6C,EAAEuC,GAAGvC,EAAEoC,GAAGpC,EAA3R,CAA8RF,EAAE,GAAG,IAAI9H,IAAI,SAAS+jB,GAAGjc,EAAEC,GAAG,IAAIC,EAAE,GAAGxF,EAAE,GAAG,GAAG0D,KAAK8c,GAAGjb,EAAE7B,KAAK8d,MAAM,EAAElc,EAAE,CAAC,IAAI,IAAII,KAAKJ,EAAEA,EAAEM,GAAGF,KAAK1F,EAAEoK,EAAE1E,IAAIJ,EAAEI,GAAGF,EAAElG,KAAK8K,EAAE1E,KAAKF,EAAEic,KAAKhV,GAAG/I,KAAKkd,KAAK5gB,EAAE0D,KAAKoS,IAAItQ,EAAEA,EAAE5F,OAAO,GAAG8D,KAAK2d,SAAS7b,EAAE,SAAS4b,GAAG5b,EAAExF,EAAExC,EAAE+I,EAAE7D,EAAEkF,GAAGpK,EAAE4M,EAAE5M,GAAG,IAAIuK,EAAEpF,EAAEnC,EAAEgE,EAAE6D,EAAEI,EAAExF,EAAEuC,EAAEgb,GAAG/iB,EAAE,GAAGqL,EAAE,GAAGE,EAAE,GAAG,GAAGzC,EAAE,IAAI6C,EAAE,EAAEE,EAAEwW,GAAGlgB,OAAOwJ,EAAEE,EAAEF,IAAI,CAAC,IAAIF,EAAE4W,GAAG1W,GAAG,GAAGF,EAAEyR,GAAGE,IAAI7a,EAAE6a,IAAI3R,EAAE0X,MAAMpb,EAAE,CAAC0D,EAAE2X,SAASrjB,GAAGsiB,GAAGhb,OAAOsE,EAAE,GAAG5I,EAAE,GAAGmC,EAAEuG,EAAElJ,EAAEkE,KAAKgF,EAAEiY,aAAa,YAAY5a,GAAGuC,EAAE,IAAI,IAAIM,EAAE,EAAEE,EAAE9D,EAAE6b,SAASzhB,OAAOwJ,EAAEE,EAAEF,IAAI,CAAC,GAAG5D,EAAE6b,SAASjY,IAAI5L,GAAGgI,EAAE6b,SAASjY,GAAG7C,EAAEf,EAAEsQ,IAAI,CAACtY,EAAEgI,EAAE6b,SAASjY,GAAGf,EAAE7C,EAAE6b,SAASjY,EAAE,IAAI,EAAEnG,EAAEA,EAAEuC,EAAEsQ,KAAKtY,EAAE6K,GAAG7D,EAAEgB,EAAE6b,SAASjY,EAAE,GAAGrB,EAAEvC,EAAEob,KAAKpjB,GAAG,MAAM+I,GAAGvG,EAAEkE,KAAKsB,EAAEob,KAAKpb,EAAE6b,SAASjY,KAAK,GAAGrB,EAAE,CAAC,GAAGpF,EAAEA,EAAEge,WAAWpa,EAAE5D,EAAEmP,MAAM,IAAIwO,KAAK3d,EAAE6d,GAAGja,MAAM,CAAC,IAAI,IAAIiD,KAAKzB,EAAE,GAAGA,EAAEnC,GAAG4D,KAAKqC,EAAEjG,GAAG4D,IAAIxJ,EAAEgb,MAAM/S,iBAAiBrC,GAAG4D,IAAI,OAAO/L,EAAE+L,GAAGxJ,EAAEkE,KAAKsF,GAAG,MAAM/L,EAAE+L,KAAK/L,EAAE+L,GAAGkB,EAAElB,IAAIV,EAAEU,GAAGzB,EAAEyB,GAAGqC,EAAErC,IAAI,KAAK5C,EAAEoC,EAAEQ,IAAIV,EAAEU,GAAG/L,EAAE+L,IAAIvG,EAAE,MAAM,IAAI,SAASxF,EAAE+L,GAAGjE,EAAE8K,OAAO5S,EAAE+L,IAAI,IAAI9C,EAAEnB,EAAE8K,OAAOvH,EAAEU,IAAIR,EAAEQ,GAAG,CAAChE,GAAGkB,EAAElB,EAAE/H,EAAE+L,GAAGhE,GAAGvC,EAAEoF,GAAG3B,EAAE2B,EAAE5K,EAAE+L,GAAGnB,GAAGpF,EAAExF,GAAGiJ,EAAEjJ,EAAEA,EAAE+L,GAAG/L,GAAGwF,GAAG,MAAM,IAAI,OAAO,IAAIyG,EAAE2D,GAAG5P,EAAE+L,GAAGV,EAAEU,IAAII,EAAEF,EAAE,GAAG,IAAIjM,EAAE+L,GAAGE,EAAE,GAAGV,EAAEQ,GAAG,GAAGJ,EAAE,EAAEE,EAAE7L,EAAE+L,GAAG5J,OAAOwJ,EAAEE,EAAEF,IAAI,CAACJ,EAAEQ,GAAGJ,GAAG,CAAC,GAAG,IAAI,IAAIU,EAAE,EAAEI,EAAEzM,EAAE+L,GAAGJ,GAAGxJ,OAAOkK,EAAEI,EAAEJ,IAAId,EAAEQ,GAAGJ,GAAGU,IAAIF,EAAER,GAAGU,GAAGrM,EAAE+L,GAAGJ,GAAGU,IAAI7G,EAAE,MAAM,IAAI,YAAY,IAAIqH,EAAEtK,EAAE8I,EAAE0B,EAAEgN,GAAGlN,EAAEd,GAAGV,EAAEU,IAAI,GAAGgB,EAAE,IAAI/M,EAAE+L,GAAGgB,EAAEjI,KAAKuG,EAAEU,GAAGgB,EAAEkN,GAAG1O,EAAEQ,GAAG,GAAGR,EAAEQ,GAAGyX,MAAK,EAAG7X,EAAE,EAAEE,EAAE7L,EAAE+L,GAAG5J,OAAOwJ,EAAEE,EAAEF,IAAI,IAAIJ,EAAEQ,GAAGJ,GAAG,CAAC3L,EAAE+L,GAAGJ,GAAG,IAAIU,EAAE,EAAEI,EAAEzM,EAAE+L,GAAGJ,GAAGxJ,OAAOkK,EAAEI,EAAEJ,IAAId,EAAEQ,GAAGJ,GAAGU,IAAIhB,EAAEU,GAAGJ,GAAGU,GAAGrM,EAAE+L,GAAGJ,GAAGU,IAAI7G,MAAM,CAAC,IAAI8I,EAAE/L,EAAE0W,QAAQ,IAAIG,GAAG7K,EAAE,CAAClD,EAAE,CAAC4C,UAAUpB,EAAEoB,WAAW8K,QAAQ,WAAW,OAAOxW,EAAEwW,QAAQ,KAAK/Y,EAAE+L,GAAG,CAACuC,EAAEvO,EAAEuO,EAAEtO,EAAEsO,EAAEpJ,EAAEoJ,EAAEvH,EAAEuH,EAAExG,EAAEwG,EAAE7D,GAAGuO,GAAGzK,EAAElD,EAAEU,IAAIV,EAAEU,GAAGwC,EAAElD,EAAE4C,UAAU1C,EAAEQ,GAAG,EAAEwC,EAAE0K,OAAOlZ,EAAEuO,EAAEvO,GAAGyF,GAAG+I,EAAE0K,OAAOjZ,EAAEsO,EAAEtO,GAAGwF,GAAG+I,EAAE0K,OAAO/T,EAAEoJ,EAAEpJ,GAAGM,GAAG+I,EAAE0K,OAAOlS,EAAEuH,EAAEvH,GAAGvB,GAAG+I,EAAE0K,OAAOnR,EAAEwG,EAAExG,GAAGtC,GAAG+I,EAAE0K,OAAOxO,EAAE6D,EAAE7D,GAAGjF,GAAG,MAAM,IAAI,MAAM,IAAIkJ,EAAE7D,EAAEP,EAAEyB,IAAIhB,GAAG9C,GAAG0G,EAAE9D,EAAE7K,EAAE+L,IAAIhB,GAAG9C,GAAG,GAAG,aAAa8D,EAAE,IAAI/L,EAAE+L,GAAG4C,EAAEpD,EAAEQ,GAAG,GAAGJ,EAAEgD,EAAExM,OAAOwJ,KAAKJ,EAAEQ,GAAGJ,IAAI+C,EAAE/C,GAAG3L,EAAE+L,GAAGJ,IAAInG,EAAE6F,EAAEU,GAAG2C,EAAE,MAAM,QAAQ,IAAIA,EAAE,GAAGjE,GAAGH,EAAEyB,IAAI4C,EAAE,GAAGlE,GAAGzK,EAAE+L,IAAIR,EAAEQ,GAAG,GAAGJ,EAAEpJ,EAAEgb,MAAM/S,iBAAiBuB,GAAG5J,OAAOwJ,KAAKJ,EAAEQ,GAAGJ,KAAK+C,EAAE/C,IAAI,IAAIgD,EAAEhD,IAAI,IAAInG,EAAE,IAAIoJ,EAAEtE,EAAE0Y,OAAOnU,EAAE/G,EAAE8Z,gBAAgBhT,GAAG,IAAIC,EAAE,IAAIA,EAAEhE,EAAE+D,GAAGqF,MAAMzH,KAAK,GAAGqC,EAAE1M,OAAO,CAAC,IAAI2M,EAAED,EAAEA,EAAE,SAAShH,GAAG,OAAOgc,GAAGhc,GAAGiH,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,GAAGtJ,SAASqJ,EAAEI,EAAE,GAAGxD,EAAE,CAAC0X,KAAKpb,EAAEqb,QAAQrjB,EAAEkkB,UAAUjZ,EAAEV,EAAE+J,OAAOtM,EAAEsM,QAAQ,IAAIwO,KAAKxO,MAAMrJ,GAAGjD,EAAEmc,KAAK,GAAGb,OAAO,EAAEH,WAAWpa,GAAG,EAAEwa,MAAK,EAAGP,GAAGvd,EAAEwd,OAAOnU,EAAE/J,KAAK9E,EAAEijB,KAAK1X,EAAE0O,GAAG5O,EAAE6R,GAAG3a,EAAEC,SAAS8H,EAAE9H,SAAS8V,KAAK1N,EAAE4N,KAAKzR,EAAE0c,OAAOtZ,GAAGpC,EAAEgc,MAAMI,OAAO5hB,EAAEkE,OAAOid,YAAYze,GAAGod,GAAGxgB,KAAK4J,GAAG3C,IAAI5D,IAAInC,IAAI0I,EAAE6X,MAAK,EAAG7X,EAAE4I,MAAM,IAAIwO,KAAKrd,EAAEsD,EAAE,GAAGuZ,GAAGlgB,QAAQ,OAAOygB,KAAK7f,IAAI0I,EAAE4I,MAAM,IAAIwO,KAAKpX,EAAEsX,GAAGja,GAAG,GAAGuZ,GAAGlgB,QAAQmgB,GAAGM,IAAI/a,EAAE,sBAAsBtF,EAAE6a,GAAG7a,EAAEwF,IAAI,SAASqc,GAAGvc,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEua,GAAGlgB,OAAO2F,IAAIua,GAAGva,GAAGoV,GAAGK,OAAO1V,GAAGwa,GAAGhb,OAAOS,IAAI,GAAGiW,GAAGsG,YAAY,SAASxc,EAAEE,EAAExF,EAAE0F,EAAElI,EAAE+I,GAAG,GAAG7C,KAAK4a,QAAQ,OAAO/X,GAAGA,EAAEZ,KAAKjC,MAAMA,KAAK,IAAIkC,EAAE5F,aAAauhB,GAAGvhB,EAAEuF,EAAEwc,UAAU/hB,EAAE0F,EAAElI,EAAE+I,GAAG6a,GAAGxb,EAAElC,KAAKkC,EAAEyb,SAAS,GAAG,KAAK3d,KAAKQ,QAAQ,IAAI,IAAIxB,EAAE,EAAEkF,EAAEkY,GAAGlgB,OAAO8C,EAAEkF,EAAElF,IAAI,GAAGod,GAAGpd,GAAGke,MAAMpb,GAAGsa,GAAGpd,GAAGiY,IAAIrV,EAAE,CAACwa,GAAGlY,EAAE,GAAGkK,MAAMgO,GAAGpd,GAAGoP,MAAM,MAAM,OAAOpO,MAAM8X,GAAGwG,YAAY,SAASzc,GAAG,OAAOA,EAAED,EAAEmB,GAAG,sBAAsB/C,KAAKmX,GAAGtV,GAAGD,EAAEqW,OAAO,sBAAsBjY,KAAKmX,IAAInX,MAAM6d,GAAGlb,UAAU4b,MAAM,SAAS3c,GAAG,IAAIC,EAAE,IAAIgc,GAAG7d,KAAKkd,KAAKld,KAAK8c,IAAI,OAAOjb,EAAEic,MAAM9d,KAAK8d,MAAMjc,EAAEoc,KAAKrc,GAAG,EAAEC,GAAGgc,GAAGlb,UAAU6a,OAAO,SAAS5b,GAAG,IAAIC,EAAE,IAAIgc,GAAG7d,KAAKkd,KAAKld,KAAK8c,IAAI,OAAOjb,EAAEoc,IAAIje,KAAKie,IAAIpc,EAAEic,MAAM1Y,EAAEoZ,MAAMlZ,EAAE1D,EAAE,KAAK,EAAEC,GAAGA,EAAEwc,UAAU,SAASzc,EAAEE,EAAExF,EAAE0F,GAAG,GAAGJ,aAAaic,GAAG,OAAOjc,GAAGC,EAAEiB,GAAGxG,EAAE,aAAaA,IAAI0F,EAAEA,GAAG1F,GAAG,KAAKA,EAAE,MAAMsF,EAAEtI,OAAOsI,GAAGE,GAAGA,GAAG,EAAE,IAAIhI,EAAE+I,EAAE7D,EAAE,GAAG,IAAI6D,KAAKjB,EAAEA,EAAEM,GAAGW,IAAI6D,EAAE7D,IAAIA,GAAG6D,EAAE7D,GAAG,KAAKA,IAAI/I,GAAE,EAAGkF,EAAE6D,GAAGjB,EAAEiB,IAAI,GAAG/I,EAAE,OAAOwC,IAAI0C,EAAE+d,OAAOzgB,GAAG0F,IAAIhD,EAAEzC,SAASyF,GAAG,IAAI6b,GAAG,CAAC,IAAI7e,GAAG8C,GAAG,GAAGE,EAAE,CAAC,IAAIkC,EAAE,EAAE,IAAI,IAAIG,KAAKzC,EAAE,CAAC,IAAI3C,EAAE2H,EAAEvC,GAAGzC,EAAEM,GAAGmC,IAAIpF,EAAEiF,IAAIA,EAAEjF,IAAI2C,EAAEsC,GAAG,KAAK3H,WAAWqF,EAAEsC,GAAG3H,SAASyF,GAAG,OAAO,IAAI6b,GAAGjc,EAAEE,IAAIgW,GAAG2G,QAAQ,SAAS7c,EAAEE,EAAExF,EAAE0F,GAAG,GAAGhC,KAAK4a,QAAQ,OAAO5Y,GAAGA,EAAEC,KAAKjC,MAAMA,KAAK,IAAIlG,EAAE8H,aAAaic,GAAGjc,EAAEC,EAAEwc,UAAUzc,EAAEE,EAAExF,EAAE0F,GAAG,OAAO0b,GAAG5jB,EAAEkG,KAAKlG,EAAE6jB,SAAS,GAAG,KAAK3d,KAAKQ,QAAQR,MAAM8X,GAAG4G,QAAQ,SAAS9c,EAAEC,GAAG,OAAOD,GAAG,MAAMC,GAAG7B,KAAKod,OAAOxb,EAAE4D,EAAE3D,EAAED,EAAEkb,IAAIlb,EAAEkb,IAAI9c,MAAM8X,GAAGsF,OAAO,SAASxb,EAAEC,GAAG,IAAIC,EAAExF,EAAE0F,EAAE,GAAGlI,EAAE,EAAE,GAAG,MAAM+H,EAAE,OAAO6b,GAAG9b,EAAE5B,MAAM,EAAEwF,EAAE3D,EAAE,IAAI7B,KAAK,IAAI8B,EAAEsa,GAAGlgB,OAAOpC,EAAEgI,EAAEhI,IAAI,IAAIwC,EAAE8f,GAAGtiB,IAAImd,GAAGE,IAAInX,KAAKmX,MAAMvV,GAAGtF,EAAE4gB,MAAMtb,GAAG,CAAC,GAAGA,EAAE,OAAOtF,EAAE8gB,OAAOpb,EAAEpG,KAAK,CAACshB,KAAK5gB,EAAE4gB,KAAKE,OAAO9gB,EAAE8gB,SAAS,OAAOxb,EAAE,EAAEI,GAAG8V,GAAG6G,MAAM,SAAS9c,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEsa,GAAGlgB,OAAO4F,IAAIsa,GAAGta,GAAGmV,GAAGE,IAAInX,KAAKmX,IAAItV,GAAGua,GAAGta,GAAGob,MAAMrb,IAAG,IAAKD,EAAE,sBAAsB5B,KAAKmX,GAAGnX,KAAKoc,GAAGta,GAAGob,QAAQd,GAAGta,GAAG+a,QAAO,GAAI,OAAO7c,MAAM8X,GAAG8G,OAAO,SAAS/c,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEsa,GAAGlgB,OAAO4F,IAAI,GAAGsa,GAAGta,GAAGmV,GAAGE,IAAInX,KAAKmX,MAAMtV,GAAGua,GAAGta,GAAGob,MAAMrb,GAAG,CAAC,IAAIvF,EAAE8f,GAAGta,IAAG,IAAKF,EAAE,uBAAuB5B,KAAKmX,GAAGnX,KAAK1D,EAAE4gB,eAAe5gB,EAAEugB,OAAO7c,KAAKod,OAAO9gB,EAAE4gB,KAAK5gB,EAAE8gB,SAAS,OAAOpd,MAAM8X,GAAGuF,KAAK,SAASxb,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEsa,GAAGlgB,OAAO4F,IAAIsa,GAAGta,GAAGmV,GAAGE,IAAInX,KAAKmX,IAAItV,GAAGua,GAAGta,GAAGob,MAAMrb,IAAG,IAAKD,EAAE,qBAAqB5B,KAAKmX,GAAGnX,KAAKoc,GAAGta,GAAGob,OAAOd,GAAGhb,OAAOU,IAAI,GAAG,OAAO9B,MAAM4B,EAAEmB,GAAG,iBAAiBob,IAAIvc,EAAEmB,GAAG,gBAAgBob,IAAIrG,GAAG7R,SAAS,WAAW,MAAM,oBAAoB,IAAI4Y,GAAGC,GAAGC,GAAGC,GAAG5F,GAAG,SAASxX,GAAG,GAAG5B,KAAKif,MAAM,GAAGjf,KAAK9D,OAAO,EAAE8D,KAAKiB,KAAK,MAAMW,EAAE,IAAI,IAAIC,EAAE,EAAEC,EAAEF,EAAE1F,OAAO2F,EAAEC,EAAED,KAAKD,EAAEC,IAAID,EAAEC,GAAG/B,aAAagY,GAAGhY,aAAa8B,EAAEC,GAAG/B,aAAasZ,KAAKpZ,KAAKA,KAAKif,MAAM/iB,QAAQ8D,KAAKif,MAAMjf,KAAKif,MAAM/iB,QAAQ0F,EAAEC,GAAG7B,KAAK9D,WAAWgjB,GAAG9F,GAAGzW,UAAU,IAAI,IAAIwc,MAAMD,GAAGtjB,KAAK,WAAW,IAAI,IAAIgG,EAAEC,EAAEC,EAAE,EAAExF,EAAE8G,UAAUlH,OAAO4F,EAAExF,EAAEwF,MAAMF,EAAEwB,UAAUtB,KAAKF,EAAE9B,aAAagY,GAAGhY,aAAa8B,EAAE9B,aAAasZ,KAAKpZ,KAAK6B,EAAE7B,KAAKif,MAAM/iB,QAAQ8D,KAAKif,MAAMpd,GAAGD,EAAE5B,KAAK9D,UAAU,OAAO8D,MAAMkf,GAAG7iB,IAAI,WAAW,OAAO2D,KAAK9D,eAAe8D,KAAKA,KAAK9D,UAAU8D,KAAKif,MAAM5iB,OAAO6iB,GAAGxlB,QAAQ,SAASkI,EAAEC,GAAG,IAAI,IAAIC,EAAE,EAAExF,EAAE0D,KAAKif,MAAM/iB,OAAO4F,EAAExF,EAAEwF,IAAI,IAAG,IAAKF,EAAEK,KAAKJ,EAAE7B,KAAKif,MAAMnd,GAAGA,GAAG,OAAO9B,KAAK,OAAOA,MAAM8X,GAAGA,GAAG5V,GAAGid,MAAMD,GAAGC,IAAI,SAASvd,GAAG,OAAO,WAAW,IAAIC,EAAEuB,UAAU,OAAOpD,KAAKtG,SAAQ,SAASoI,GAAGA,EAAEF,GAAG3C,GAAG6C,EAAED,OAAxF,CAA+Fsd,KAAK,OAAOD,GAAG1e,KAAK,SAASoB,EAAEE,GAAG,GAAGF,GAAGC,EAAEiB,GAAGlB,EAAEoB,IAAInB,EAAEiB,GAAGlB,EAAE,GAAG,UAAU,IAAI,IAAItF,EAAE,EAAE0F,EAAEJ,EAAE1F,OAAOI,EAAE0F,EAAE1F,IAAI0D,KAAKif,MAAM3iB,GAAGkE,KAAKoB,EAAEtF,SAAS,IAAI,IAAIxC,EAAE,EAAE+I,EAAE7C,KAAKif,MAAM/iB,OAAOpC,EAAE+I,EAAE/I,IAAIkG,KAAKif,MAAMnlB,GAAG0G,KAAKoB,EAAEE,GAAG,OAAO9B,MAAMkf,GAAGxiB,MAAM,WAAW,KAAKsD,KAAK9D,QAAQ8D,KAAK3D,OAAO6iB,GAAG9d,OAAO,SAASQ,EAAEC,EAAEC,GAAGF,EAAEA,EAAE,EAAE0D,EAAEtF,KAAK9D,OAAO0F,EAAE,GAAGA,EAAEC,EAAEyD,EAAE,EAAEE,EAAExF,KAAK9D,OAAO0F,EAAEC,IAAI,IAAIvF,EAAE0F,EAAE,GAAGlI,EAAE,GAAG+I,EAAE,GAAG,IAAIvG,EAAE,EAAEA,EAAE8G,UAAUlH,OAAOI,IAAIuG,EAAEjH,KAAKwH,UAAU9G,IAAI,IAAIA,EAAE,EAAEA,EAAEuF,EAAEvF,IAAIxC,EAAE8B,KAAKoE,KAAK4B,EAAEtF,IAAI,KAAKA,EAAE0D,KAAK9D,OAAO0F,EAAEtF,IAAI0F,EAAEpG,KAAKoE,KAAK4B,EAAEtF,IAAI,IAAI4F,EAAEW,EAAE3G,OAAO,IAAII,EAAE,EAAEA,EAAE4F,EAAEF,EAAE9F,OAAOI,IAAI0D,KAAKif,MAAMrd,EAAEtF,GAAG0D,KAAK4B,EAAEtF,GAAGA,EAAE4F,EAAEW,EAAEvG,GAAG0F,EAAE1F,EAAE4F,GAAG,IAAI5F,EAAE0D,KAAKif,MAAM/iB,OAAO8D,KAAK9D,QAAQ2F,EAAEK,EAAElC,KAAK1D,WAAW0D,KAAK1D,KAAK,OAAO,IAAI8c,GAAGtf,IAAIolB,GAAGE,QAAQ,SAASxd,GAAG,IAAI,IAAIC,EAAE,EAAEC,EAAE9B,KAAK9D,OAAO2F,EAAEC,EAAED,IAAI,GAAG7B,KAAK6B,IAAID,EAAE,OAAO5B,KAAKoB,OAAOS,EAAE,IAAG,GAAIqd,GAAGT,QAAQ,SAAS7c,EAAEE,EAAExF,EAAE0F,IAAIH,EAAEiB,GAAGxG,EAAE,cAAcA,KAAK0F,EAAE1F,GAAG,MAAM,IAAIxC,EAAE+I,EAAEX,EAAElC,KAAKif,MAAM/iB,OAAO8C,EAAEkD,EAAEgC,EAAElE,KAAK,IAAIkC,EAAE,OAAOlC,KAAKgC,IAAIa,EAAE,cAAcX,GAAGF,EAAEC,KAAKiC,KAAK5H,EAAEuF,EAAEiB,GAAGxG,EAAE,UAAUA,EAAEuG,EAAE,IAAIwB,EAAExC,EAAEwc,UAAUzc,EAAEE,EAAExF,EAAEuG,GAAG,IAAI/I,EAAEkG,KAAKif,QAAQjgB,GAAGyf,QAAQpa,GAAGrF,KAAKgB,KAAKif,MAAMjgB,KAAKgB,KAAKif,MAAMjgB,GAAG4b,SAAS5a,KAAKif,MAAMjgB,GAAGof,YAAYtkB,EAAEuK,EAAEA,GAAGrE,KAAKif,MAAMjgB,KAAKgB,KAAKif,MAAMjgB,GAAG4b,SAAS1Y,IAAI,OAAOlC,MAAMkf,GAAGG,YAAY,SAASzd,GAAG,IAAI,IAAIC,EAAE7B,KAAKif,MAAM/iB,OAAO2F,KAAK7B,KAAKif,MAAMpd,GAAGwd,YAAYzd,GAAG,OAAO5B,MAAMkf,GAAGpM,QAAQ,WAAW,IAAI,IAAIlR,EAAE,GAAGC,EAAE,GAAGC,EAAE,GAAGxF,EAAE,GAAG0F,EAAEhC,KAAKif,MAAM/iB,OAAO8F,KAAK,IAAIhC,KAAKif,MAAMjd,GAAG4Y,QAAQ,CAAC,IAAI9gB,EAAEkG,KAAKif,MAAMjd,GAAG8Q,UAAUlR,EAAEhG,KAAK9B,EAAE8K,GAAG/C,EAAEjG,KAAK9B,EAAEiL,GAAGjD,EAAElG,KAAK9B,EAAE8K,EAAE9K,EAAEmO,OAAO3L,EAAEV,KAAK9B,EAAEiL,EAAEjL,EAAE0N,QAAQ,MAAM,CAAC5C,EAAEhD,EAAE4D,EAAEvG,GAAG,EAAE2C,GAAGmD,EAAElD,EAAE2D,EAAEvG,GAAG,EAAE4C,GAAGuO,GAAGtO,EAAEwD,EAAErG,GAAG,EAAE6C,GAAGuO,GAAG/T,EAAEgJ,EAAErG,GAAG,EAAE3C,GAAG2L,MAAMnG,EAAEF,EAAE4F,OAAOlL,EAAEuF,IAAIqd,GAAGvK,MAAM,SAAS/S,GAAGA,EAAE5B,KAAKsX,MAAM9N,MAAM,IAAI,IAAI3H,EAAE,EAAEC,EAAE9B,KAAKif,MAAM/iB,OAAO2F,EAAEC,EAAED,IAAID,EAAEhG,KAAKoE,KAAKif,MAAMpd,GAAG8S,SAAS,OAAO/S,GAAGsd,GAAGjZ,SAAS,WAAW,MAAM,iBAAiBiZ,GAAGpE,KAAK,SAASlZ,GAAG,IAAIC,EAAE7B,KAAKsX,MAAM9N,MAAM,OAAOxJ,KAAKtG,SAAQ,SAASoI,EAAExF,GAAG,IAAI0F,EAAEF,EAAEgZ,KAAKlZ,GAAG,MAAMI,GAAGA,EAAEtI,SAAQ,SAASkI,EAAEE,GAAGD,EAAEjG,KAAKgG,SAAOC,GAAGqd,GAAGxE,cAAc,SAAS9Y,EAAEC,GAAG,IAAIC,GAAE,EAAG,OAAO9B,KAAKtG,SAAQ,SAAS4C,GAAG,GAAGA,EAAEoe,cAAc9Y,EAAEC,GAAG,OAAOC,GAAE,GAAG,KAAKA,GAAGD,EAAEyd,aAAa,SAAS1d,GAAG,IAAIA,EAAE2d,KAAK,OAAO3d,EAAE5B,KAAKwf,MAAMxf,KAAKwf,OAAO,GAAG,IAAI3d,EAAE,CAACyD,EAAE1D,EAAE0D,EAAEia,KAAK,GAAGE,OAAO,IAAI3d,EAAEF,EAAE2d,KAAK,eAAe,IAAI,IAAIjjB,KAAKsF,EAAE2d,KAAK3d,EAAE2d,KAAKrd,GAAG5F,KAAKuF,EAAE0d,KAAKjjB,GAAGsF,EAAE2d,KAAKjjB,IAAI,GAAG0D,KAAKwf,MAAM1d,GAAG9B,KAAKwf,MAAM1d,GAAGlG,KAAKiG,GAAG7B,KAAKwf,MAAM1d,GAAG,CAACD,IAAID,EAAE6I,IAAI,IAAI,IAAIzI,KAAKH,EAAE0d,KAAK,gBAAgB3Y,EAAEhF,EAAE2d,KAAK,gBAAgB,IAAI3d,EAAE6d,OAAO,GAAG7d,EAAE6d,OAAOvd,GAAGF,GAAG,CAAC,IAAIlI,EAAE8H,EAAE6d,OAAOzd,GAAG,GAAGH,EAAE4d,OAAOzd,GAAG,CAACsD,EAAExL,EAAEwL,EAAEE,EAAE,GAAG1E,EAAEhH,EAAEgH,GAAG,IAAIhH,EAAEgH,EAAEuK,QAAQ,cAAa,SAASzJ,GAAG,MAAM,CAAC5C,EAAE,IAAIC,EAAE,IAAI2F,EAAE,IAAIhD,EAAE,IAAIE,EAAE,IAAIgD,EAAE,KAAKlD,IAAI,OAAM,KAAK9H,EAAE0L,EAAE,IAAI,IAAI3C,KAAK/I,EAAE0L,EAAE1L,EAAEoI,GAAGW,KAAKhB,EAAE4d,OAAOzd,GAAGwD,EAAE3C,GAAG/I,EAAE0L,EAAE3C,IAAI,OAAOjB,GAAGtF,EAAEojB,QAAQ,SAAS9d,EAAEE,EAAExF,EAAE0F,GAAG,GAAGA,EAAEA,GAAG,SAAS1F,EAAEA,GAAG,SAASwF,GAAGA,GAAG,CAAC6d,OAAO,IAAIC,KAAK,IAAIC,QAAQ,IAAIC,OAAO,KAAKhe,IAAI,IAAID,EAAE2d,MAAM,CAAC,IAAI1lB,EAAE+I,EAAEhB,EAAE2d,MAAM5d,GAAG,IAAIiB,EAAE,CAAC,IAAI7D,EAAE,IAAI+gB,OAAO,UAAUne,EAAEyJ,QAAQ,oBAAoBvK,GAAG,UAAU,KAAK,IAAI,IAAIoD,KAAKrC,EAAE2d,MAAM,GAAG3d,EAAE2d,MAAMtd,GAAGgC,IAAIlF,EAAEghB,KAAK9b,GAAG,CAACrB,EAAEhB,EAAE2d,MAAMtb,GAAG,OAAO,GAAGrB,EAAE,IAAI,IAAIwB,EAAE,EAAEpF,EAAE4D,EAAE3G,OAAOmI,EAAEpF,KAAKnF,EAAE+I,EAAEwB,IAAIkb,KAAK,gBAAgBzd,GAAGhI,EAAEylB,KAAK,eAAejjB,GAAGxC,EAAEylB,KAAK,eAAezlB,EAAEylB,KAAK,iBAAiBvd,GAAGqC,KAAK,OAAOvK,IAAIwC,EAAE2jB,MAAM,SAASre,EAAEE,EAAExF,EAAExC,EAAE+I,EAAEX,EAAElD,EAAEkF,GAAGhC,EAAEA,GAAG,SAASlD,EAAEsG,EAAEE,EAAExG,GAAG,EAAE,IAAI,GAAGkF,EAAEoB,EAAEE,EAAEtB,GAAG,EAAE,GAAG,GAAG,IAAIG,EAAEpF,EAAE2F,EAAEtI,GAAGwI,GAAGhE,GAAG0D,EAAE,EAAE1H,EAAE,EAAE6H,EAAE7D,EAAE,GAAGe,EAAEiB,GAAGhJ,EAAE,YAAYA,EAAEkG,KAAK0f,QAAQ5lB,IAAIA,EAAE,CAACuK,GAAGxB,GAAG,IAAI/I,EAAEylB,KAAK,gBAAgB,IAAI,IAAIxa,EAAEjL,EAAEylB,KAAK1O,KAAK/L,GAAG9C,GAAGzC,GAAGwF,EAAE,GAAGhL,EAAEgL,EAAE,GAAGA,EAAE,GAAGK,EAAE,EAAEM,GAAGX,EAAE,IAAI,YAAY7C,EAAEnI,IAAID,EAAEylB,KAAKW,QAAQnmB,EAAE,GAAG6L,EAAE,EAAEE,EAAE7G,EAAE/C,OAAO0J,EAAEE,EAAEF,IAAI,CAAC,GAAG,MAAM3G,EAAE2G,GAAGpB,EAAE,EAAExB,EAAE,EAAElG,EAAE,EAAEsI,GAAGrL,EAAEmK,MAAM,CAAC,IAAIhB,EAAEpG,GAAGhD,EAAE2lB,OAAOxgB,EAAE2G,EAAE,KAAK,GAAG5C,EAAElJ,EAAE2lB,OAAOxgB,EAAE2G,IAAIpB,GAAG1H,GAAGoG,EAAEoC,GAAGxL,EAAEwL,IAAIpC,EAAEsC,GAAGtC,EAAEsC,EAAEvG,EAAE2G,KAAK,GAAG9L,EAAEwL,EAAEtG,EAAE,EAAElC,EAAE,EAAEkG,GAAGA,EAAElC,IAAI6D,GAAG9C,EAAEoR,cAAcjQ,EAAElC,EAAE,CAAC,IAAI0D,EAAEH,EAAEe,EAAEf,EAAE,IAAIA,EAAEA,EAAE9E,EAAEmG,EAAE,KAAK9D,EAAErC,GAAG8E,GAAGvC,EAAE4D,GAAGrB,MAAM,OAAOrE,KAAK2D,KAAKgB,GAAGnE,KAAK,CAACpD,KAAK,OAAO0K,OAAO,UAAUxL,EAAEG,IAAI,SAASmF,GAAG,GAAGC,EAAEiB,GAAGlB,EAAE,SAAS,IAAI,IAAIE,EAAExF,EAAE0D,KAAKwJ,MAAMxH,EAAE,EAAEa,EAAEjB,EAAE1F,OAAO8F,EAAEa,EAAEb,IAAIF,EAAEF,EAAEI,IAAI,GAAGlI,EAAEoI,GAAGJ,EAAEb,OAAO3E,EAAEV,KAAKoE,KAAK8B,EAAEb,QAAQT,KAAKsB,IAAI,OAAOxF,GAAGuF,EAAEsX,OAAO,SAASvX,EAAEE,GAAG,IAAIxF,EAAEuF,EAAEiB,GAAGhB,EAAEkB,GAAG,CAAC,GAAGwB,GAAG1C,GAAGsB,UAAU,OAAOxB,GAAGC,EAAEiB,GAAGlB,EAAE,WAAWtF,EAAEJ,OAAO,IAAI0F,EAAEA,EAAEyJ,QAAQxI,GAAE,SAASjB,EAAEC,GAAG,OAAO,MAAMvF,IAAIuF,GAAGf,EAAExE,EAAEuF,OAAMD,GAAGd,GAAGe,EAAEse,UAAUtB,GAAG,gBAAgBC,GAAG,2DAA2D,SAASld,EAAEC,GAAG,OAAOgD,OAAOjD,GAAGyJ,QAAQwT,IAAG,SAASjd,EAAEE,GAAG,OAAO,SAASF,EAAEC,EAAEC,GAAG,IAAIxF,EAAEwF,EAAE,OAAOD,EAAEwJ,QAAQyT,IAAG,SAASld,EAAEC,EAAEC,EAAEE,EAAElI,GAAG+H,EAAEA,GAAGG,EAAE1F,IAAIuF,KAAKvF,IAAIA,EAAEA,EAAEuF,IAAI,mBAAmBvF,GAAGxC,IAAIwC,EAAEA,SAAQA,GAAG,MAAMA,GAAGA,GAAGwF,EAAEF,EAAEtF,GAAG,GAAtJ,CAA0JsF,EAAEE,EAAED,QAAOA,EAAEue,MAAM,WAAW,GAAGlc,EAAEC,IAAInF,EAAEiF,IAAIG,QAAQF,EAAEpB,OAAO,CAACpB,OAAO0C,aAAQ,EAAO,WAAW1C,OAAO0C,QAAQ,MAAMxC,KAAK,OAAOC,GAAGA,EAAE2K,GAAG0S,GAAGtd,EAAEmB,GAAG,mBAAkB,WAAWjB,GAAE,KAAK,OAAOid,GAAG/a,UAAUqc,YAAYtB,GAAGxI,mBAAmBwI,GAAGxI,iBAAiB,mBAAmByI,GAAG,WAAWD,GAAGtI,oBAAoB,mBAAmBuI,IAAG,GAAID,GAAGsB,WAAW,aAAY,GAAItB,GAAGsB,WAAW,WAAW,SAASze,IAAI,KAAKoe,KAAKjB,GAAGsB,YAAYxR,WAAWjN,EAAE,GAAGC,EAAEyB,IAAI,mBAA5D,GAAkFzB,GAAGyN,MAAMzN,EAAEvF,MAAMsF,EAAEG,QAAQC,IAAI,SAASJ,EAAEC,EAAEC,GAAG,IAAIxF,EAAE0F,EAAE1F,EAAE,CAACwF,EAAE,GAAGA,EAAE,GAAGA,EAAE,SAAI,KAAUE,EAAE,SAASJ,GAAG,OAAOA,GAAG0N,MAAMzN,EAAEvF,MAAMsF,EAAEG,QAAQC,IAAI,SAASJ,EAAEC,EAAEC,GAAG,IAAIxF,EAAE0F,EAAElI,EAAE+I,EAAEX,EAAElD,EAAEkF,EAAEG,EAAEpF,EAAEuF,EAAE1H,EAAEgE,EAAE6D,EAAEC,EAAE/B,EAAE,iBAAiBX,EAAE,SAASlD,EAAE,UAAUkF,EAAE,SAAStC,EAAEC,GAAG,OAAOD,EAAEC,GAAGwC,EAAE,CAACrC,EAAE,IAAI/C,EAAE,WAAW,IAAI,IAAI2C,EAAE,EAAEC,EAAE7B,KAAK9D,OAAO0F,EAAEC,EAAED,IAAI,QAAG,IAAS5B,KAAK4B,GAAG,OAAO5B,KAAK4B,IAAI4C,EAAE,WAAW,IAAI,IAAI5C,EAAE5B,KAAK9D,SAAS0F,GAAG,QAAG,IAAS5B,KAAK4B,GAAG,OAAO5B,KAAK4B,IAAI9E,EAAExD,OAAOqJ,UAAUsD,SAASnF,EAAE+D,OAAOF,EAAE/F,MAAMiM,SAAS,SAASjJ,GAAG,OAAOA,aAAahD,OAAO,kBAAkB9B,EAAEmF,KAAKL,KAAKgD,EAAE,SAAShD,EAAEC,GAAG,IAAIC,EAAExF,EAAExC,EAAE+I,EAAEjE,MAAM+D,UAAUQ,MAAMlB,KAAKmB,UAAU,GAAGlB,EAAE0C,EAAE0b,UAAU1e,GAAG5C,EAAE,EAAEqF,EAAE,GAAGvH,EAAE,GAAGgE,EAAE,GAAG6D,EAAE3C,EAAElB,EAAEyf,aAAathB,EAAE6B,EAAE0f,YAAYhc,EAAExC,EAAEJ,EAAE9H,EAAE,EAAE,IAAI,IAAIgL,EAAE,EAAEC,EAAE7C,EAAEhG,OAAO4I,EAAEC,EAAED,IAAI,WAAW5C,EAAE4C,KAAKT,EAAEzI,KAAKsG,EAAE4C,GAAG2b,QAAQve,EAAE4C,GAAG2b,OAAO,IAAI3jB,EAAEoF,EAAE4C,GAAG2b,QAAQve,EAAE4C,KAAK,IAAIT,EAAE0Z,KAAK7Z,GAAGG,EAAErF,GAAG,GAAG,GAAG8C,EAAEhF,EAAEuH,EAAErF,MAAM8B,EAAElF,KAAKkG,EAAEwN,MAAMzN,EAAEgB,IAAI/I,EAAE,OAAOA,EAAEwC,EAAEwE,EAAE,IAAIgE,EAAE,EAAEA,EAAEC,EAAED,IAAI,GAAG,WAAWhD,EAAEI,EAAE4C,IAAI,GAAGhD,EAAE2e,QAAQpc,EAAErF,GAAG,CAAC,GAAG8B,EAAElF,KAAKkG,EAAEwN,MAAMzN,EAAEgB,IAAI/I,EAAE,MAAM,GAAG,IAAIgI,EAAEhF,EAAEuH,IAAIrF,MAAM8B,EAAElF,KAAKkG,EAAEwN,MAAMzN,EAAEgB,IAAI/I,EAAE,YAAYgI,QAAQhF,EAAEgF,EAAE2e,QAAQ3e,OAAO,GAAGhB,EAAElF,KAAKkG,EAAEwN,MAAMzN,EAAEgB,IAAI/I,EAAE,MAAM,OAAOA,EAAEwC,EAAE0F,EAAE2C,EAAE7D,IAAI4f,QAAQrc,EAAEO,EAAE0b,UAAU,SAAS1e,GAAG,IAAIC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,EAAE7D,EAAEkF,EAAEjF,EAAE0F,EAAE/C,GAAGA,EAAEA,EAAEkT,MAAM5S,GAAGsC,EAAEH,EAAEvH,EAAE,CAAC0H,GAAG1D,EAAE,GAAG,IAAIkB,EAAE,EAAElI,EAAEmF,EAAE/C,OAAO8F,EAAElI,EAAEkI,IAAI,CAAC,IAAIkC,EAAE,GAAGrB,EAAE,EAAE7D,EAAElC,EAAEZ,OAAO2G,EAAE7D,EAAE6D,IAAI,IAAIf,EAAE,EAAE0C,EAAE1H,EAAE+F,GAAGb,GAAG/C,EAAE+C,IAAIwC,EAAE,MAAMlI,EAAE,EAAEA,MAAMuF,EAAEC,EAAExF,MAAM4H,EAAEtI,KAAKiG,GAAGf,EAAEA,EAAE0O,OAAO3N,EAAE2C,GAAG,KAAK1H,EAAEoH,EAAE,OAAOpD,GAAG8D,EAAE+b,UAAU,SAAS/e,GAAGA,GAAGA,EAAE,KAAKA,EAAEd,EAAEc,GAAGyJ,QAAQ,oBAAoB,OAAO,IAAInJ,EAAE,IAAI6d,OAAOne,IAAIM,EAAE,UAAU0C,EAAE7B,GAAG,SAASnB,EAAEC,GAAG,GAAG,mBAAmBA,EAAE,OAAO,aAAa,IAAI,IAAIC,EAAE6C,EAAE/C,GAAG+C,EAAE/C,EAAE,IAAIA,EAAE,CAACA,GAAGd,EAAEc,GAAGkT,MAAM9V,GAAG1C,EAAE,EAAE0F,EAAEF,EAAE5F,OAAOI,EAAE0F,EAAE1F,KAAK,SAASsF,GAAG,IAAI,IAAIE,EAAExF,EAAEqI,EAAE/C,GAAGA,EAAEd,EAAEc,GAAGkT,MAAM5S,GAAGF,EAAEqC,EAAEvK,EAAE,EAAE+I,EAAEvG,EAAEJ,OAAOpC,EAAE+I,EAAE/I,IAAIkI,GAAGA,EAAEA,EAAEA,GAAGY,eAAetG,EAAExC,KAAKkI,EAAE1F,EAAExC,MAAMkI,EAAE1F,EAAExC,IAAI,CAACkI,EAAE,KAAK,IAAIA,EAAEwC,EAAExC,EAAEwC,GAAG,GAAG1K,EAAE,EAAE+I,EAAEb,EAAEwC,EAAEtI,OAAOpC,EAAE+I,EAAE/I,IAAI,GAAGkI,EAAEwC,EAAE1K,IAAI+H,EAAE,CAACC,GAAE,EAAG,OAAOA,GAAGE,EAAEwC,EAAE5I,KAAKiG,GAAjN,CAAqNC,EAAExF,IAAI,OAAO,SAASsF,IAAIA,IAAIA,IAAIC,EAAE4e,QAAQ7e,KAAKgD,EAAEJ,EAAE,SAAS5C,GAAG,IAAIC,EAAE,GAAGsB,MAAMlB,KAAKmB,UAAU,GAAG,OAAO,WAAWwB,EAAE0K,MAAM,KAAK,CAAC1N,EAAE,MAAM4N,OAAO3N,GAAG2N,OAAO,GAAGrM,MAAMlB,KAAKmB,UAAU,OAAOwB,EAAEyY,KAAK,WAAWvjB,EAAE,GAAG8K,EAAE0H,GAAG,SAAS1K,GAAG,IAAIC,EAAE8C,EAAE3C,GAAGA,EAAE8K,KAAK,KAAK9K,EAAE,OAAOJ,EAAE,IAAIme,OAAO,gBAAgBne,EAAE,iBAAiBoe,KAAKne,GAAGA,GAAG+C,EAAEgc,IAAI,WAAW,OAAOjc,EAAE3C,GAAGA,EAAEA,EAAE8S,MAAM5S,IAAI0C,EAAEic,IAAIjc,EAAEqT,OAAO,SAASrW,EAAEC,GAAG,GAAGD,EAAE,CAAC,IAAIE,EAAE6C,EAAE/C,GAAG+C,EAAE/C,EAAE,IAAIA,EAAE,CAACA,GAAGd,EAAEc,GAAGkT,MAAM9V,GAAG,GAAG8C,EAAE5F,OAAO,EAAE,IAAI,IAAII,EAAE,EAAE0F,EAAEF,EAAE5F,OAAOI,EAAE0F,EAAE1F,IAAIsI,EAAEic,IAAI/e,EAAExF,GAAGuF,OAAO,CAACC,EAAE6C,EAAE/C,GAAGA,EAAEd,EAAEc,GAAGkT,MAAM5S,GAAG,IAAIpI,EAAEoK,EAAEjF,EAAEuF,EAAE1H,EAAEgI,EAAE,CAACT,GAAG,IAAI/H,EAAE,EAAE0F,EAAEF,EAAE5F,OAAOI,EAAE0F,EAAE1F,IAAI,IAAIkI,EAAE,EAAEA,EAAEM,EAAE5I,OAAOsI,GAAGvF,EAAE/C,OAAO,EAAE,CAAC,GAAG+C,EAAE,CAACuF,EAAE,GAAG1K,EAAEgL,EAAEN,GAAGxC,EAAE,KAAKF,EAAExF,GAAGxC,EAAEgI,EAAExF,KAAK2C,EAAErD,KAAK9B,EAAEgI,EAAExF,UAAU,IAAI4H,KAAKpK,EAAEA,EAAE+I,GAAGqB,IAAIjF,EAAErD,KAAK9B,EAAEoK,IAAIY,EAAE1D,OAAOkO,MAAMxK,EAAE7F,GAAG,IAAI3C,EAAE,EAAE0F,EAAE8C,EAAE5I,OAAOI,EAAE0F,EAAE1F,IAAI,IAAIxC,EAAEgL,EAAExI,GAAGxC,EAAEkI,GAAG,CAAC,GAAGH,EAAE,CAAC,GAAG/H,EAAE0K,EAAE,CAAC,IAAIA,EAAE,EAAE1H,EAAEhD,EAAE0K,EAAEtI,OAAOsI,EAAE1H,EAAE0H,IAAI,GAAG1K,EAAE0K,EAAEA,IAAI3C,EAAE,CAAC/H,EAAE0K,EAAEpD,OAAOoD,EAAE,GAAG,OAAO1K,EAAE0K,EAAEtI,eAAepC,EAAE0K,EAAE,IAAIN,KAAKpK,EAAEkI,EAAE,GAAGlI,EAAEkI,EAAEa,GAAGqB,IAAIpK,EAAEkI,EAAEkC,GAAGM,EAAE,CAAC,IAAIO,EAAEjL,EAAEkI,EAAEkC,GAAGM,EAAE,IAAIA,EAAE,EAAE1H,EAAEiI,EAAE7I,OAAOsI,EAAE1H,EAAE0H,IAAI,GAAGO,EAAEP,IAAI3C,EAAE,CAACkD,EAAE3D,OAAOoD,EAAE,GAAG,OAAOO,EAAE7I,eAAepC,EAAEkI,EAAEkC,GAAGM,QAAQ,IAAIN,YAAYpK,EAAE0K,EAAE1K,EAAEkI,EAAElI,EAAEkI,EAAEa,GAAGqB,IAAIpK,EAAEkI,EAAEkC,GAAGM,UAAU1K,EAAEkI,EAAEkC,GAAGM,EAAE1K,EAAEA,EAAEkI,SAAS4C,EAAE8b,QAAQrc,EAAE,CAACrC,EAAE,KAAK4C,EAAEkc,KAAK,SAASlf,EAAEC,GAAG,IAAIC,EAAE,WAAW,OAAO8C,EAAEic,IAAIjf,EAAEE,GAAGD,EAAEyN,MAAMtP,KAAKoD,YAAY,OAAOwB,EAAE7B,GAAGnB,EAAEE,IAAI8C,EAAEvB,QAAQ,QAAQuB,EAAEqB,SAAS,WAAW,MAAM,6BAA6BrE,EAAEG,QAAQH,EAAEG,QAAQ6C,OAAE,KAAUtI,EAAE,WAAW,OAAOsI,GAAG0K,MAAMzN,EAAE,OAAOD,EAAEG,QAAQzF,IAAI,SAASsF,EAAEC,EAAEC,GAAG,IAAIxF,EAAE0F,EAAE1F,EAAE,CAACwF,EAAE,SAAI,KAAUE,EAAE,SAASJ,GAAG,IAAIA,GAAGA,EAAE6I,IAAI,CAAC,IAAI5I,EAAE,iBAAiBC,EAAE+C,OAAOvI,EAAEqK,WAAW3E,EAAE6E,SAAS/M,EAAEuL,KAAKxC,EAAE/I,EAAEyL,IAAIrD,EAAEpI,EAAE6L,IAAI3G,EAAElF,EAAE+L,IAAI3B,EAAE,QAAQG,EAAEzC,EAAE0B,IAAIrE,EAAE,GAAGuF,EAAE,IAAI1H,EAAE,+BAA+BgE,EAAE,CAAC3B,MAAM,kBAAkB4hB,QAAQ,8BAA8BC,QAAQ,4BAA4BC,KAAK,iBAAiBC,KAAK,mDAAmDvc,EAAE,GAAG/C,EAAEqE,SAAS,WAAW,MAAM,uDAAuDjG,KAAKqD,SAAS,IAAIuB,EAAE,SAAStI,EAAE0F,GAAG,GAAGA,EAAE,IAAI,IAAIlI,IAAI,iBAAiBwC,IAAIA,EAAEsI,EAAEtI,IAAI0F,EAAEA,EAAEH,GAAG/H,KAAK,UAAUA,EAAEgU,UAAU,EAAE,GAAGxR,EAAE6kB,eAAerkB,EAAEhD,EAAEgU,UAAU,GAAGhM,EAAEE,EAAElI,KAAKwC,EAAE8kB,aAAatnB,EAAEgI,EAAEE,EAAElI,WAAWwC,EAAEsF,EAAEgI,GAAG7F,IAAIsd,gBAAgB,6BAA6B/kB,IAAI+N,QAAQ/N,EAAE+N,MAAMiX,wBAAwB,iBAAiB,OAAOhlB,GAAGwI,EAAE,SAASjD,EAAEG,GAAG,IAAIkC,EAAE,SAASG,EAAExC,EAAEsV,GAAGnV,EAAEwC,EAAE,GAAG1H,EAAE,GAAGgE,EAAEe,EAAE3H,KAAKyK,EAAE9C,EAAEyV,MAAMxS,EAAEhE,EAAEuJ,MAAM9K,EAAEqC,EAAEgI,GAAG7F,IAAImQ,eAAe7P,GAAG,IAAI9E,EAAE,CAAC,GAAGyC,GAAGA,EAAEF,EAAEE,GAAGqJ,QAAQzJ,EAAEkH,kBAAiB,SAASlH,EAAEC,EAAEC,GAAG,GAAGoC,EAAE,SAASrC,GAAGC,EAAE,CAAC0C,EAAElI,EAAEuF,GAAG,IAAIG,EAAE,IAAIlF,EAAER,EAAEwF,IAAI,IAAI,EAAE9C,EAAEwF,EAAE,GAAG,GAAGxF,EAAElC,EAAE,GAAG,GAAG,MAAMA,EAAEhD,EAAEkV,KAAK,IAAIhQ,EAAEwF,EAAE,GAAG,IAAIxC,EAAE,KAAK,IAAIlF,IAAIA,EAAEA,EAAEoS,QAAQ,GAAG,KAAKlN,GAAG,OAAO/C,MAAK6V,MAAM,YAAY,UAAU5Q,EAAE,CAAC,IAAInK,EAAEiI,EAAEiL,QAAQ,GAAGlT,GAAGuC,EAAEvC,GAAGwnB,MAAMxnB,GAAG,OAAO,KAAK,IAAIqL,EAAE,CAAC,EAAE,EAAEtL,EAAEwX,IAAI1P,EAAEoJ,IAAIjR,IAAID,EAAEyX,IAAI3P,EAAEoJ,IAAIjR,KAAKuL,EAAE,GAAGzC,EAAEX,EAAEkD,EAAE,IAAIlD,EAAEkD,EAAE,MAAM,GAAGA,EAAE,IAAIE,EAAEF,EAAE,IAAIE,EAAEF,EAAE,GAAG,IAAIA,EAAE,IAAIA,EAAE,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,IAAIA,EAAE,IAAIA,EAAE,GAAGA,EAAE,GAAG,GAAG,IAAII,EAAE5D,EAAEqQ,WAAWjQ,GAAG,IAAIwD,EAAE,OAAO,KAAK,GAAGnB,EAAEA,EAAEgH,QAAQ,kBAAkB,KAAKxJ,EAAE0F,UAAUlD,GAAGxC,EAAE0F,SAAS4P,KAAKxS,EAAE6c,KAAKjnB,YAAYsH,EAAE0F,iBAAiB1F,EAAE0F,WAAW1F,EAAE0F,SAAS,CAAChI,EAAEqF,EAAEV,EAAE,WAAW,CAACiT,GAAG9S,IAAIxC,EAAE0F,SAAShI,EAAEqF,EAAErF,EAAE,UAAU2E,EAAE,CAACud,GAAGjd,EAAEkd,GAAG5kB,GAAG,CAAC6kB,GAAGvc,EAAE,GAAGwc,GAAGxc,EAAE,GAAGgL,GAAGhL,EAAE,GAAGiL,GAAGjL,EAAE,GAAGyc,kBAAkBhgB,EAAEmR,OAAOI,WAAWzO,EAAE6c,KAAKlhB,YAAYf,GAAG,IAAI,IAAImG,EAAE,EAAEE,EAAEJ,EAAEtJ,OAAOwJ,EAAEE,EAAEF,IAAInG,EAAEe,YAAYsE,EAAE,OAAO,CAACsN,OAAO1M,EAAEE,GAAGwM,OAAO1M,EAAEE,GAAGwM,OAAOxM,EAAE,OAAO,KAAK,aAAaF,EAAEE,GAAGsG,OAAO,OAAO,eAAe8V,SAAStc,EAAEE,GAAGgC,SAASlC,EAAEE,GAAGgC,QAAQ,MAAM,OAAO9C,EAAE9D,EAAE,CAAC1D,KAAK2H,EAAEV,GAAGqD,QAAQ,EAAE,eAAe,IAAI5C,EAAE1H,KAAK6B,EAAE6F,EAAE4C,QAAQ,EAAE5C,EAAEid,YAAY,EAAE,GAAGhd,EAAE,SAASnD,GAAG,IAAIC,EAAEmC,SAASge,gBAAgB,IAAIngB,GAAG,KAAKA,GAAG,MAAM,SAASD,EAAE,KAAK,IAAIC,EAAEC,EAAEkC,SAASie,SAAS,MAAM,QAASngB,EAAEogB,SAAS,KAAKpgB,EAAEqgB,KAAKrgB,EAAEsgB,SAAStgB,EAAEugB,OAAQ,IAAIzgB,EAAE,MAAMrC,EAAE,SAASqC,GAAG,IAAIC,EAAED,EAAEkR,QAAQ,GAAGlO,EAAEhD,EAAE0gB,QAAQ,CAACC,iBAAiB3gB,EAAEoR,OAAOI,SAAS,cAAcvR,EAAE+C,EAAE,IAAI/C,EAAEkD,EAAE,OAAOhL,EAAE,SAASuC,EAAE0F,EAAElI,GAAG,GAAG,QAAQwC,EAAE2E,KAAK,CAAC,IAAI,IAAI4B,EAAEX,EAAElD,EAAEkF,EAAEG,EAAEG,EAAE1C,EAAEE,GAAGmD,cAAc2P,MAAM,KAAKhY,EAAER,EAAEgb,MAAMxS,EAAEhL,EAAE,MAAM,QAAQiL,EAAEzI,EAAEpC,KAAKqF,EAAEjD,EAAEgN,MAAMvP,EAAEwF,EAAE,gBAAgB6F,EAAEZ,EAAEtI,OAAOoJ,EAAE,UAAUE,EAAE,EAAEE,EAAE,EAAEE,EAAE,EAAER,KAAK,OAAOZ,EAAEY,IAAI,IAAI,QAAQ,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,IAAI,OAAOE,EAAEd,EAAEY,GAAG,MAAM,IAAI,OAAOM,EAAE,EAAE,MAAM,IAAI,SAASA,EAAE,EAAE,MAAM,IAAI,OAAOF,EAAE,EAAE,MAAM,IAAI,QAAQA,EAAE,EAAE,GAAG,QAAQF,GAAGE,GAAG,EAAEE,GAAG,EAAEE,GAAG,EAAE5G,EAAE,EAAEkF,EAAEpK,EAAE,EAAE,EAAEuK,EAAE,CAACjH,KAAK,OAAO0K,OAAOvI,EAAEuI,UAAU5D,EAAElF,EAAEwG,EAAE,EAAEnB,EAAE,CAACjH,KAAKmC,EAAEuI,OAAOA,OAAO,SAASxL,EAAE8I,EAAEod,OAAO1oB,GAAGwC,EAAE8I,EAAEod,OAAOC,SAAS9d,EAAErI,EAAE8I,EAAEod,OAAOC,WAAWnmB,EAAE8I,EAAEod,OAAOE,WAAW/d,EAAErI,EAAE8I,EAAEod,OAAOE,eAAepmB,EAAE8I,EAAEod,OAAOG,WAAWhe,EAAErI,EAAE8I,EAAEod,OAAOG,aAAarmB,EAAE8I,EAAEod,OAAOI,aAAaje,EAAErI,EAAE8I,EAAEod,OAAOI,gBAAgBtmB,EAAE8I,EAAEod,OAAO,GAAG,QAAQld,EAAE,CAAC,IAAIQ,EAAE,kBAAkBR,EAAEpC,EAAE,kBAAkB4B,EAAEQ,EAAEE,EAAEE,EAAE,OAAOpJ,EAAE6a,GAAGvV,EAAEgI,GAAG7F,IAAImQ,eAAepO,GAAGnB,EAAEmB,MAAMhJ,EAAE0kB,KAAKlhB,YAAYsE,EAAEA,EAAE,QAAQ,CAAC,iBAAiB,QAAQ9D,EAAEA,EAAEwE,GAAG6R,GAAGrR,KAAKnB,EAAEmB,GAAG,GAAG,IAAI9C,EAAEgD,EAAEpE,EAAEgI,GAAG7F,IAAImQ,eAAehR,GAAG8C,GAAGrB,EAAEzB,KAAKF,EAAEgD,EAAE6c,qBAAqB,OAAO,KAAK7c,EAAEpB,EAAEA,EAAE,UAAU,CAACuS,GAAGjU,EAAE4f,aAAapd,EAAEqd,YAAYvd,EAAEwd,OAAO,OAAOC,KAAK/e,EAAEgf,KAAKxd,EAAE,IAAI1C,EAAE4B,EAAEA,EAAE,OAAO,CAAC,aAAa,IAAIkB,EAAEkC,WAAWlO,EAAE,cAAc0L,EAAE,EAAE,IAAIE,EAAE,EAAE,KAAKzG,GAAG,SAASuG,EAAEI,EAAE,IAAIF,EAAEE,EAAE,IAAI,gBAAgB,IAAIJ,EAAEI,EAAEF,EAAEE,GAAG,IAAIsJ,QAAQ,KAAKlJ,EAAE1F,YAAY0C,GAAGlG,EAAE0kB,KAAKlhB,YAAY0F,GAAGrB,EAAEzB,GAAG,GAAG0B,EAAE5B,EAAEqB,GAAG,IAAI6B,EAAElH,GAAG,WAAWsG,GAAG,QAAQA,GAAGxL,GAAG+I,EAAEvG,EAAE8I,EAAEod,OAAOW,QAAQppB,GAAG,EAAEmI,EAAEN,EAAE0Z,eAAe/b,EAAEoE,MAAMuC,EAAEnM,IAAI8I,EAAEqD,EAAEnM,EAAEmI,EAAEN,EAAE0Z,eAAe/b,EAAEoE,OAAOrH,EAAE8I,EAAEod,OAAOY,MAAMrpB,GAAG,KAAKsK,EAAE,IAAI,UAAUS,GAAG,QAAQ5B,EAAE,KAAKhB,GAAGW,KAAKwB,EAAEvD,EAAEc,EAAE4Z,WAAWjc,EAAEoE,KAAKd,EAAEX,IAAI0C,EAAEG,EAAEV,GAAG/H,EAAE8I,EAAEod,OAAO1d,EAAE,QAAQgB,EAAExJ,EAAE8I,EAAEod,OAAO1d,EAAE,UAAU5B,EAAE5G,EAAE8I,EAAEod,OAAO1d,EAAE,MAAMoB,EAAE5J,EAAE8I,EAAEod,OAAO1d,EAAE,QAAQQ,EAAEhJ,EAAE8I,EAAEod,OAAO1d,EAAE,UAAU9C,OAAOlI,GAAG+I,EAAEvG,EAAE8I,EAAEod,OAAOW,QAAQppB,GAAG,EAAEmI,EAAEN,EAAE0Z,eAAe/b,EAAEoE,MAAMd,IAAIA,EAAE,EAAEX,EAAEN,EAAE0Z,eAAe/b,EAAEoE,OAAOrH,EAAE8I,EAAEod,OAAOY,MAAMrpB,GAAG,IAAIuC,EAAE8I,EAAEod,OAAO1d,EAAE,SAASF,EAAEG,EAAE,CAACjE,EAAEc,EAAE4Z,WAAWjc,EAAEoE,KAAKd,EAAEX,YAAY5F,EAAE8I,EAAEod,OAAO1d,EAAE,eAAexI,EAAE8I,EAAEod,OAAO1d,EAAE,iBAAiBxI,EAAE8I,EAAEod,OAAO1d,EAAE,aAAaxI,EAAE8I,EAAEod,OAAO1d,EAAE,eAAexI,EAAE8I,EAAEod,OAAO1d,EAAE,UAAU,IAAIT,KAAKM,EAAE,GAAGA,EAAE9C,GAAGwC,KAAKM,EAAEN,GAAG,CAAC,IAAI+B,EAAExE,EAAEgI,GAAG7F,IAAImQ,eAAe7P,GAAG+B,GAAGA,EAAE9L,WAAWC,YAAY6L,MAAMhB,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIE,EAAE,SAAS1D,EAAEC,EAAEvF,GAAG,GAAGuF,EAAEuD,EAAEtD,EAAED,GAAGsD,eAAe,CAAC,IAAI,IAAInD,EAAEJ,EAAE0H,MAAM,iBAAiB,IAAIxP,EAAE,CAAC2M,MAAMzE,EAAEqhB,OAAOrhB,EAAEshB,KAAK,GAAG1hB,EAAE0H,MAAM,mBAAmBhN,EAAE,oBAAoB,EAAEuG,EAAE,GAAGX,EAAEL,EAAE3F,OAAOgG,KAAKW,EAAEX,GAAGL,EAAEK,GAAGF,GAAGE,EAAE,EAAE,GAAG,GAAGpI,EAAE8K,EAAEhD,EAAE1H,KAAK,CAAC,mBAAmB2I,EAAEiK,KAAK,YAAYlI,EAAEhD,EAAE1H,KAAK,CAAC,mBAAmB,UAAUsL,EAAE,SAASlJ,EAAExC,GAAG,IAAIkF,EAAE1C,EAAEpC,KAAKmK,EAAE/H,EAAEgN,MAAM9E,EAAExF,EAAEqL,MAAMkZ,WAAW,IAAI,IAAIziB,KAAK9B,EAAEqL,MAAMkZ,WAAW,SAASzpB,EAAE,GAAGA,EAAE+H,GAAGf,GAAG,CAAC,IAAIc,EAAEqF,gBAAgBpF,GAAGf,GAAG,SAAS,IAAI6D,EAAE7K,EAAEgH,GAAG,OAAOuD,EAAEvD,GAAG6D,EAAE7D,GAAG,IAAI,OAAOxE,EAAE4K,KAAKvC,GAAG,MAAM,IAAI,QAAQ,IAAII,EAAE/F,EAAE6jB,qBAAqB,SAAS,GAAG9d,EAAE7I,SAAS6I,EAAEA,EAAE,IAAIA,EAAEqF,WAAWoZ,UAAU7e,MAAM,CAACI,EAAEH,EAAE,SAAS,IAAIQ,EAAExD,EAAEgI,GAAG7F,IAAI0f,eAAe9e,GAAGI,EAAEzE,YAAY8E,GAAGpG,EAAEsB,YAAYyE,GAAG,MAAM,IAAI,OAAO,IAAI,SAAS,IAAIS,EAAExG,EAAE1E,WAAW,GAAG,KAAKkL,EAAE2O,QAAQhP,cAAc,CAAC,IAAIS,EAAEhB,EAAE,KAAKY,EAAEpL,aAAawL,EAAE5G,GAAG4G,EAAEtF,YAAYtB,GAAGwG,EAAEI,EAAE,UAAU9E,EAAE0E,EAAE2b,eAAerkB,EAAE,OAAO,SAAS6H,EAAE,MAAMA,GAAGa,EAAE2b,eAAerkB,EAAEgE,EAAE6D,GAAG,MAAM,IAAI,SAAS3F,EAAEqL,MAAMlD,OAAOxC,EAAE,MAAM,IAAI,YAAYrI,EAAE0L,UAAUrD,GAAG,MAAM,IAAI,cAAc5K,EAAEuC,EAAEqI,GAAG,MAAM,IAAI,YAAY5K,EAAEuC,EAAEqI,EAAE,GAAG,MAAM,IAAI,YAAY,IAAImB,EAAEhE,EAAE6C,GAAGmQ,MAAM5Q,GAAG,GAAG,GAAG4B,EAAE5J,OAAO,CAACI,EAAEonB,MAAMpnB,EAAEonB,KAAKppB,WAAWA,WAAWC,YAAY+B,EAAEonB,KAAKppB,YAAY,IAAI4I,EAAE0B,EAAE,YAAY5B,EAAE4B,EAAE,QAAQ1B,EAAEiU,GAAGvV,EAAEuJ,aAAavG,EAAE5B,EAAE,CAAC4B,EAAEkB,EAAE,GAAGf,EAAEe,EAAE,GAAGmC,MAAMnC,EAAE,GAAG0B,OAAO1B,EAAE,KAAK5C,EAAE5C,YAAY0C,GAAG1G,EAAEgb,MAAMkK,KAAKlhB,YAAY4C,GAAG0B,EAAE5F,EAAE,CAAC,YAAY,QAAQkE,EAAEiU,GAAG,MAAM7a,EAAEonB,KAAK1gB,EAAE,IAAI2B,EAAE,CAAC,IAAIqB,EAAEhH,EAAE2kB,aAAa,aAAa,GAAG3d,EAAE,CAAC,IAAIE,EAAEtE,EAAEgI,GAAG7F,IAAImQ,eAAelO,EAAEqF,QAAQ,iBAAiBpM,IAAIiH,GAAGA,EAAE5L,WAAWC,YAAY2L,GAAGtB,EAAE5F,EAAE,CAAC,YAAYC,WAAW3C,EAAEonB,MAAM,MAAM,IAAI,OAAO,QAAQpnB,EAAE2E,OAAO2D,EAAE5F,EAAE,CAAC8B,EAAE6D,EAAEN,EAAEV,KAAK/B,EAAEsP,gBAAgBvM,GAAG,SAASrI,EAAE8I,EAAEvI,MAAM,EAAEP,EAAE8I,EAAEod,SAAS,gBAAgBlmB,EAAE8I,EAAEod,QAAQzoB,EAAEuC,EAAEA,EAAE8I,EAAEod,OAAOoB,aAAa,cAActnB,EAAE8I,EAAEod,QAAQzoB,EAAEuC,EAAEA,EAAE8I,EAAEod,OAAOqB,UAAU,KAAK,MAAM,IAAI,QAAQ,GAAG7kB,EAAEoiB,aAAatgB,EAAE6D,GAAGrI,EAAE8I,EAAEvI,MAAM,GAAGwH,EAAEod,GAAG,MAAM3gB,EAAE,IAAI6D,EAAEN,EAAEO,EAAE,IAAI,IAAIP,EAAEod,KAAK9c,GAAGN,EAAEO,GAAGP,EAAE4D,OAAO,IAAI,IAAI,KAAK,GAAG,MAAMnH,GAAG,QAAQxE,EAAE2E,KAAK,MAAM,IAAI,KAAKjC,EAAEoiB,aAAatgB,EAAE6D,GAAGrI,EAAEgmB,SAAS/iB,EAAEjD,GAAGA,EAAE8I,EAAEvI,MAAM,EAAE,MAAM,IAAI,SAAS,GAAGmC,EAAEoiB,aAAatgB,EAAE6D,GAAGrI,EAAE8I,EAAEvI,MAAM,GAAGwH,EAAEqd,GAAG,MAAM5gB,EAAE,IAAI6D,EAAEN,EAAEU,EAAE,IAAI,IAAIV,EAAEqd,KAAK/c,GAAGN,EAAEU,GAAGV,EAAEmD,QAAQ,IAAI,IAAI,KAAK,GAAG,MAAM1G,GAAG,QAAQxE,EAAE2E,KAAK,MAAM,IAAI,KAAKjC,EAAEoiB,aAAatgB,EAAE6D,GAAGrI,EAAEgmB,SAAS/iB,EAAEjD,GAAGA,EAAE8I,EAAEvI,MAAM,EAAE,MAAM,IAAI,IAAI,QAAQP,EAAE2E,KAAK2D,EAAE5F,EAAE,CAAC2I,GAAGhD,EAAEiD,GAAGjD,IAAI3F,EAAEoiB,aAAatgB,EAAE6D,GAAGrI,EAAE8I,EAAEvI,MAAM,EAAE,MAAM,IAAI,MAAM,SAASP,EAAE2E,MAAMjC,EAAEmiB,eAAerkB,EAAE,OAAO6H,GAAG,MAAM,IAAI,eAAe,GAAGrI,EAAE8I,EAAEqO,IAAI,GAAGnX,EAAE8I,EAAEsO,KAAK/O,GAAG9B,EAAEX,EAAE5F,EAAE8I,EAAEqO,IAAIvR,EAAE5F,EAAE8I,EAAEsO,MAAM,GAAG1U,EAAEoiB,aAAatgB,EAAE6D,GAAGN,EAAE,qBAAqBiB,EAAEhJ,EAAE+H,EAAE,oBAAoBvK,GAAGwC,EAAE8I,EAAEod,SAAS,gBAAgBlmB,EAAE8I,EAAEod,QAAQzoB,EAAEuC,EAAEA,EAAE8I,EAAEod,OAAOoB,aAAa,cAActnB,EAAE8I,EAAEod,QAAQzoB,EAAEuC,EAAEA,EAAE8I,EAAEod,OAAOqB,UAAU,IAAI,MAAM,IAAI,mBAAmBve,EAAEhJ,EAAEqI,EAAE7K,GAAG,MAAM,IAAI,OAAO,IAAIsM,EAAEtE,EAAE6C,GAAGqJ,MAAMpM,EAAEuE,QAAQ,GAAGC,EAAE,CAAClD,EAAE0B,EAAE,WAAW,IAAI2B,EAAE3B,EAAE,SAAS1B,EAAEiU,GAAGvV,EAAEuJ,aAAavG,EAAE1B,EAAE,CAAC0B,EAAE,EAAEG,EAAE,EAAE+e,aAAa,iBAAiBtc,OAAO,EAAES,MAAM,IAAIrD,EAAE2B,EAAE,CAAC3B,EAAE,EAAEG,EAAE,EAAE,aAAaqB,EAAE,KAAKlD,EAAE5C,YAAYiG,GAAG,SAAS1E,GAAGD,EAAE6L,SAASrH,EAAE,IAAG,WAAW,IAAIxE,EAAE5B,KAAKsU,YAAYxS,EAAE9B,KAAKwU,aAAa5P,EAAE/C,EAAE,CAACoG,MAAMrG,EAAE4F,OAAO1F,IAAI8C,EAAE2B,EAAE,CAAC0B,MAAMrG,EAAE4F,OAAO1F,OAA9H,CAAqIoB,GAAG5G,EAAEgb,MAAMkK,KAAKlhB,YAAY4C,GAAG0B,EAAE5F,EAAE,CAAC5B,KAAK,QAAQ8F,EAAEiU,GAAG,MAAM7a,EAAEgmB,QAAQpf,EAAE5G,EAAEgmB,SAAS/iB,EAAEjD,GAAG,MAAM,IAAIkK,EAAE5E,EAAE+K,OAAOhI,GAAG,GAAG6B,EAAEqH,OAAO,IAAI,UAAUvR,EAAE2E,MAAM,WAAW3E,EAAE2E,MAAM,KAAKa,EAAE6C,GAAGoJ,WAAWjJ,EAAExI,EAAEqI,GAAG,CAAC,GAAG,YAAYN,GAAG,iBAAiBA,EAAE,CAAC,IAAIqC,EAAE9E,EAAEgI,GAAG7F,IAAImQ,eAAelV,EAAE2kB,aAAa,QAAQtY,QAAQ,eAAepM,IAAI,GAAGyH,EAAE,CAAC,IAAIE,EAAEF,EAAEmc,qBAAqB,QAAQje,EAAEgC,EAAEA,EAAE1K,OAAO,GAAG,CAAC,gBAAgB,YAAYmI,EAAEA,EAAEqD,QAAQ,IAAI,iBAAiBrD,EAAEA,EAAE,gBAAgB,MAAMA,EAAEkD,SAAS5C,EAAEN,EAAEjH,KAAK,OAAO,mBAAmBtD,EAAEyN,gBAAgBlD,EAAEkD,UAAU3F,EAAEkB,GAAGuB,EAAEqD,QAAQ,cAAc9F,EAAEkB,GAAGhJ,EAAE4N,QAAQ,cAAc9C,EAAE5F,EAAE,CAAC0I,QAAQrD,EAAEqD,WAAW9F,EAAEkB,GAAGuB,EAAE,gBAAgB,cAAczC,EAAEkB,GAAGhJ,EAAE,gBAAgB,cAAc8K,EAAE5F,EAAE,CAAC,eAAeqF,EAAE,kBAAkBmC,EAAE3E,GAAG,YAAY+C,EAAE5F,EAAE,CAAC,eAAewH,EAAEkB,QAAQ,EAAElB,EAAEkB,QAAQ,IAAIlB,EAAEkB,UAAU,IAAI,SAASlB,EAAE5E,EAAE+K,OAAOhI,GAAG3F,EAAEoiB,aAAatgB,EAAE0F,EAAEiG,KAAK,UAAU3L,GAAG0F,EAAE3E,GAAG,YAAY+C,EAAE5F,EAAE,CAAC,iBAAiBwH,EAAEkB,QAAQ,EAAElB,EAAEkB,QAAQ,IAAIlB,EAAEkB,UAAU,UAAU5G,GAAGxE,EAAE8I,EAAEod,SAAS,gBAAgBlmB,EAAE8I,EAAEod,QAAQzoB,EAAEuC,EAAEA,EAAE8I,EAAEod,OAAOoB,aAAa,cAActnB,EAAE8I,EAAEod,QAAQzoB,EAAEuC,EAAEA,EAAE8I,EAAEod,OAAOqB,UAAU,IAAI,MAAM,IAAI,YAAY,UAAUvnB,EAAE2E,MAAM,WAAW3E,EAAE2E,MAAM,KAAKa,EAAE6C,GAAGoJ,WAAWjJ,EAAExI,EAAEqI,GAAG,MAAM,IAAI,UAAUN,EAAEkD,WAAWlD,EAAExC,GAAG,mBAAmB+C,EAAE5F,EAAE,CAAC,iBAAiB2F,EAAE,EAAEA,EAAE,IAAIA,IAAI,IAAI,eAAe,GAAGN,EAAEkD,SAAS,EAAEb,EAAE9E,EAAEgI,GAAG7F,IAAImQ,eAAelV,EAAE2kB,aAAa,QAAQtY,QAAQ,eAAepM,OAAO2H,EAAEF,EAAEmc,qBAAqB,QAAQje,EAAEgC,EAAEA,EAAE1K,OAAO,GAAG,CAAC,eAAeyI,KAAK,MAAM,QAAQ,aAAa7D,IAAI6D,EAAE3C,EAAE2C,EAAE,IAAI,MAAM,IAAImC,EAAEhG,EAAEuK,QAAQ,UAAS,SAASzJ,GAAG,OAAOA,EAAEkM,UAAU,GAAG/G,iBAAgB/H,EAAEqL,MAAMvD,GAAGnC,EAAErI,EAAE8I,EAAEvI,MAAM,EAAEmC,EAAEoiB,aAAatgB,EAAE6D,IAAIe,EAAEpJ,EAAExC,GAAGkF,EAAEqL,MAAMkZ,WAAW/e,GAAGkB,EAAE,SAASpJ,EAAExC,GAAG,GAAG,QAAQwC,EAAE2E,OAAOnH,EAAE+H,GAAG,SAAS/H,EAAE+H,GAAG,SAAS/H,EAAE+H,GAAG,cAAc/H,EAAE+H,GAAG,MAAM/H,EAAE+H,GAAG,MAAM,CAAC,IAAIgB,EAAEvG,EAAEgN,MAAMpH,EAAE5F,EAAEpC,KAAK8E,EAAEkD,EAAEkI,WAAWpI,EAAEJ,EAAEgI,GAAG7F,IAAIoI,YAAYC,iBAAiBlK,EAAEkI,WAAWnL,GAAGoN,iBAAiB,aAAa,IAAI,GAAG,GAAGvS,EAAE+H,GAAG,QAAQ,CAAC,IAAIgB,EAAEgB,KAAK/J,EAAE+J,KAAK3B,EAAEkI,YAAYlI,EAAE3H,YAAY2H,EAAEkI,YAAY,IAAI,IAAIlG,EAAEG,EAAEvC,EAAEhI,EAAE+J,MAAMiR,MAAM,MAAMtQ,EAAE,GAAG1H,EAAE,EAAEgE,EAAEuD,EAAEnI,OAAOY,EAAEgE,EAAEhE,IAAIoH,EAAEU,EAAE,SAAS9H,GAAG8H,EAAEV,EAAE,CAAC0P,GAAG,IAAI5U,EAAE4F,EAAE/B,EAAE+B,IAAIV,EAAE5D,YAAYsB,EAAEgI,GAAG7F,IAAI0f,eAAepf,EAAEvH,KAAKoF,EAAE5B,YAAY4D,GAAGM,EAAE1H,GAAGoH,OAAO,IAAIpH,EAAE,EAAEgE,GAAG0D,EAAEtC,EAAE2gB,qBAAqB,UAAU3mB,OAAOY,EAAEgE,EAAEhE,IAAIA,EAAE8H,EAAEJ,EAAE1H,GAAG,CAAC8W,GAAG,IAAI5U,EAAE4F,EAAE/B,EAAE+B,IAAIA,EAAEJ,EAAE,GAAG,CAACoP,GAAG,IAAIhP,EAAE1C,EAAE,CAAC0C,EAAE/B,EAAE+B,EAAEG,EAAElC,EAAEkC,IAAIzI,EAAE8I,EAAEvI,MAAM,EAAE,IAAI8H,EAAErI,EAAEiN,WAAWzE,EAAEjC,EAAEkC,GAAGJ,EAAEI,EAAEJ,EAAE6C,OAAO,GAAG1C,GAAGlD,EAAEkB,GAAGgC,EAAE,WAAWF,EAAEJ,EAAE,GAAG,CAACoP,GAAG9O,MAAMc,EAAE,SAAShE,GAAG,OAAOA,EAAEtH,YAAY,MAAMsH,EAAEtH,WAAW6Z,QAAQhP,cAAcvD,EAAEtH,WAAWsH,GAAGkE,EAAE,SAASjE,EAAEC,GAAG9B,KAAK,GAAGA,KAAK9F,KAAK2H,EAAEA,EAAE8X,SAAQ,EAAG3Z,KAAKmX,IAAI,QAAQ9R,KAAK+F,SAAS/F,KAAKQ,IAAI,GAAG,IAAI,GAAGI,SAAS,KAAK9C,OAAO,GAAGtB,EAAE0Y,UAAUva,KAAKmX,GAAGnX,KAAKgT,OAAOpR,EAAEoR,SAAShT,KAAK2a,SAAS,KAAK3a,KAAKsX,MAAMxV,EAAE9B,KAAKsJ,MAAMtJ,KAAKsJ,OAAO,GAAGtJ,KAAKoF,EAAE,CAAC4C,UAAU,GAAGyL,GAAG,EAAEC,GAAG,EAAEzI,IAAI,EAAE0I,GAAG,EAAEC,GAAG,EAAE/W,MAAM,IAAIiF,EAAEwQ,SAASxQ,EAAEwQ,OAAOtS,MAAMA,KAAKqS,KAAKvQ,EAAEsQ,IAAItQ,EAAEsQ,MAAMtQ,EAAEsQ,IAAIG,KAAKvS,MAAM8B,EAAEsQ,IAAIpS,KAAKA,KAAKuS,KAAK,MAAMrP,EAAEtB,EAAEqV,GAAGnR,EAAEnD,UAAUO,EAAEA,EAAEpD,YAAYgG,EAAElE,EAAEqB,QAAQU,KAAK,SAAS/B,EAAEC,GAAG,IAAIC,EAAE8C,EAAE,QAAQ/C,EAAE2X,QAAQ3X,EAAE2X,OAAOlZ,YAAYwB,GAAG,IAAIxF,EAAE,IAAIwJ,EAAEhE,EAAED,GAAG,OAAOvF,EAAE2E,KAAK,OAAOuE,EAAElJ,EAAE,CAACc,KAAK,OAAO0K,OAAO,OAAOnE,KAAK/B,IAAItF,GAAG4G,EAAEoQ,OAAO,SAAS1R,EAAEC,EAAEG,GAAG,GAAGhC,KAAK4a,QAAQ,OAAO5a,KAAK,IAAI4B,EAAEE,EAAEF,GAAGkT,MAAM5Q,IAAIhI,OAAO,IAAI2F,EAAEvF,EAAEsF,EAAE,IAAII,EAAE1F,EAAEsF,EAAE,KAAKA,EAAEtF,EAAEsF,EAAE,IAAI,MAAMI,IAAIH,EAAEG,GAAG,MAAMH,GAAG,MAAMG,EAAE,CAAC,IAAIlI,EAAEkG,KAAK8S,QAAQ,GAAGjR,EAAE/H,EAAE8K,EAAE9K,EAAEmO,MAAM,EAAEjG,EAAElI,EAAEiL,EAAEjL,EAAE0N,OAAO,EAAE,OAAOxH,KAAKgI,UAAUhI,KAAKoF,EAAE4C,UAAUwH,OAAO,CAAC,CAAC,IAAI5N,EAAEC,EAAEG,MAAMhC,MAAMkD,EAAEqQ,MAAM,SAAS3R,EAAEC,EAAEG,EAAElI,GAAG,GAAGkG,KAAK4a,QAAQ,OAAO5a,KAAK,IAAI4B,EAAEE,EAAEF,GAAGkT,MAAM5Q,IAAIhI,OAAO,IAAI2F,EAAEvF,EAAEsF,EAAE,IAAII,EAAE1F,EAAEsF,EAAE,IAAI9H,EAAEwC,EAAEsF,EAAE,KAAKA,EAAEtF,EAAEsF,EAAE,IAAI,MAAMC,IAAIA,EAAED,GAAG,MAAM9H,IAAIkI,EAAElI,GAAG,MAAMkI,GAAG,MAAMlI,EAAE,IAAI+I,EAAE7C,KAAK8S,QAAQ,GAAG,OAAO9Q,EAAE,MAAMA,EAAEa,EAAE+B,EAAE/B,EAAEoF,MAAM,EAAEjG,EAAElI,EAAE,MAAMA,EAAE+I,EAAEkC,EAAElC,EAAE2E,OAAO,EAAE1N,EAAEkG,KAAKgI,UAAUhI,KAAKoF,EAAE4C,UAAUwH,OAAO,CAAC,CAAC,IAAI5N,EAAEC,EAAEG,EAAElI,MAAMkG,MAAMkD,EAAEmQ,UAAU,SAASzR,EAAEC,GAAG,OAAO7B,KAAK4a,WAAehZ,EAAEE,EAAEF,GAAGkT,MAAM5Q,IAAIhI,OAAO,IAAI2F,EAAEvF,EAAEsF,EAAE,KAAKA,EAAEtF,EAAEsF,EAAE,KAAK,EAAEC,GAAGA,GAAG,EAAE7B,KAAKgI,UAAUhI,KAAKoF,EAAE4C,UAAUwH,OAAO,CAAC,CAAC,IAAI5N,EAAEC,OAAlH7B,MAA+HkD,EAAE8E,UAAU,SAASlG,GAAG,IAAIxF,EAAE0D,KAAKoF,EAAE,GAAG,MAAMtD,EAAE,OAAOxF,EAAE0L,UAAU,GAAGpG,EAAEsR,kBAAkBlT,KAAK8B,GAAG9B,KAAK0jB,MAAM9e,EAAE5E,KAAK0jB,KAAK,CAAC1b,UAAUhI,KAAKgT,OAAOI,WAAWpT,KAAKsiB,SAAS/iB,EAAES,MAAMA,KAAK9F,MAAM0K,EAAE5E,KAAK9F,KAAK,CAAC8N,UAAUhI,KAAKgT,SAAS,GAAG1W,EAAEmX,IAAI,GAAGnX,EAAEoX,GAAG,CAAC,IAAI1R,EAAEhC,KAAKsJ,MAAMzH,GAAG,gBAAgB7B,KAAKsJ,MAAM,gBAAgB,EAAEtJ,KAAKQ,KAAK,CAAC,eAAewB,IAAI,OAAOhC,MAAMkD,EAAE6gB,KAAK,WAAW,OAAO/jB,KAAK4a,UAAU5a,KAAK9F,KAAKmQ,MAAM6B,QAAQ,QAAQlM,MAAMkD,EAAE8gB,KAAK,WAAW,OAAOhkB,KAAK4a,UAAU5a,KAAK9F,KAAKmQ,MAAM6B,QAAQ,IAAIlM,MAAMkD,EAAE+gB,OAAO,WAAW,IAAIpiB,EAAE+D,EAAE5F,KAAK9F,MAAM,IAAI8F,KAAK4a,SAAS/Y,EAAEvH,WAAW,CAAC,IAAIwH,EAAE9B,KAAKsX,MAAM,IAAI,IAAIhb,KAAKwF,EAAEoX,SAASpX,EAAEoX,QAAQkG,QAAQpf,MAAMqE,EAAE4T,OAAO,eAAejY,KAAKmX,IAAInX,KAAKuH,UAAUzF,EAAE0f,KAAKjnB,YAAYyF,KAAKuH,UAAU3F,EAAEuQ,MAAMnS,KAAK8B,GAAGD,EAAEvH,WAAWC,YAAYsH,GAAG7B,KAAKoY,aAAapY,KAAKA,KAAK1D,GAAG,mBAAmB0D,KAAK1D,GAAGsF,EAAE+O,gBAAgBrU,GAAG,KAAK0D,KAAK4a,SAAQ,IAAK1X,EAAEqG,SAAS,WAAW,GAAG,QAAQvJ,KAAK9F,KAAKmQ,MAAM6B,QAAQ,CAAClM,KAAKgkB,OAAO,IAAIpiB,GAAE,EAAG,IAAIC,EAAEC,GAAE,EAAG9B,KAAKsX,MAAMkC,OAAO0K,cAAcriB,EAAE7B,KAAKsX,MAAMkC,OAAO0K,cAAc7Z,MAAMrK,KAAKsX,MAAMkC,OAAOlf,aAAauH,EAAE7B,KAAKsX,MAAMkC,OAAOlf,WAAW+P,OAAOxI,GAAG,QAAQA,EAAEqK,UAAUpK,GAAE,EAAGD,EAAEqK,QAAQ,IAAI,IAAI5P,EAAE,GAAG,IAAIA,EAAE0D,KAAK9F,KAAK4Y,UAAU,MAAMlR,GAAGtF,EAAE,CAACsI,EAAE5E,KAAK9F,KAAK8f,WAAWjV,EAAE/E,KAAK9F,KAAK6f,UAAU9R,MAAMjI,KAAK9F,KAAKiqB,YAAY3c,OAAOxH,KAAK9F,KAAKkqB,cAAc,QAAQ9nB,EAAEA,GAAG,GAAGwF,IAAID,EAAEqK,QAAQ,QAAQ,OAAOtK,GAAG5B,KAAK+jB,OAAOznB,GAAG4G,EAAE1C,KAAK,SAASsB,EAAExF,GAAG,GAAG0D,KAAK4a,QAAQ,OAAO5a,KAAK,GAAG,MAAM8B,EAAE,CAAC,IAAIE,EAAE,GAAG,IAAI,IAAIlI,KAAKkG,KAAKsJ,MAAMtJ,KAAKsJ,MAAMzH,GAAG/H,KAAKkI,EAAElI,GAAGkG,KAAKsJ,MAAMxP,IAAI,OAAOkI,EAAEuF,UAAU,QAAQvF,EAAE5E,OAAO4E,EAAE5E,KAAK4E,EAAEuF,kBAAkBvF,EAAEuF,SAASvF,EAAEgG,UAAUhI,KAAKoF,EAAE4C,UAAUhG,EAAE,GAAG,MAAM1F,GAAGsF,EAAEkB,GAAGhB,EAAE,UAAU,CAAC,GAAG,QAAQA,GAAG,QAAQ9B,KAAKsJ,MAAMlM,MAAM4C,KAAKsJ,MAAM/B,SAAS,OAAOvH,KAAKsJ,MAAM/B,SAAS,GAAG,aAAazF,EAAE,OAAO9B,KAAKoF,EAAE4C,UAAU,IAAI,IAAInF,EAAEf,EAAEgT,MAAM5Q,GAAGhC,EAAE,GAAGlD,EAAE,EAAEC,EAAE4D,EAAE3G,OAAO8C,EAAEC,EAAED,KAAK8C,EAAEe,EAAE7D,MAAMgB,KAAKsJ,MAAMpH,EAAEJ,GAAG9B,KAAKsJ,MAAMxH,GAAGF,EAAEkB,GAAG9C,KAAKsX,MAAM/S,iBAAiBzC,GAAG,YAAYI,EAAEJ,GAAG9B,KAAKsX,MAAM/S,iBAAiBzC,GAAGuiB,IAAIniB,EAAEJ,GAAGF,EAAEqF,gBAAgBnF,GAAG,OAAO7C,EAAE,EAAEiD,EAAEA,EAAEW,EAAE,IAAI,GAAG,MAAMvG,GAAGsF,EAAEkB,GAAGhB,EAAE,SAAS,CAAC,IAAII,EAAE,GAAGlD,EAAE,EAAEC,EAAE6C,EAAE5F,OAAO8C,EAAEC,EAAED,IAAIkD,EAAEJ,EAAE9C,IAAIgB,KAAKQ,KAAKsB,EAAE9C,IAAI,OAAOkD,EAAE,GAAG,MAAM5F,EAAE,CAAC,IAAIkI,EAAE,GAAGA,EAAE1C,GAAGxF,OAAO,MAAMwF,GAAGF,EAAEkB,GAAGhB,EAAE,YAAY0C,EAAE1C,GAAG,IAAI,IAAIhF,KAAK0H,EAAEH,EAAE,gBAAgBvH,EAAE,IAAIkD,KAAKmX,GAAGnX,KAAKwE,EAAE1H,IAAI,IAAIA,KAAKkD,KAAKsX,MAAM/S,iBAAiB,GAAGvE,KAAKsX,MAAM/S,iBAAiB1C,GAAG/E,IAAI0H,EAAE3C,GAAG/E,IAAI8E,EAAEkB,GAAG9C,KAAKsX,MAAM/S,iBAAiBzH,GAAG,YAAY,CAAC,IAAIgE,EAAEd,KAAKsX,MAAM/S,iBAAiBzH,GAAGwS,MAAMtP,KAAK,GAAGwP,OAAOhL,EAAE1H,KAAK,IAAI,IAAI6H,KAAK3E,KAAKsJ,MAAMxM,GAAG0H,EAAE1H,GAAGgE,EAAEA,EAAEe,GAAG8C,KAAKH,EAAEG,GAAG7D,EAAE6D,IAAI,OAAOa,EAAExF,KAAKwE,GAAGxE,MAAMkD,EAAEohB,QAAQ,WAAW,GAAGtkB,KAAK4a,QAAQ,OAAO5a,KAAK,IAAI6B,EAAE+D,EAAE5F,KAAK9F,MAAM2H,EAAEvH,WAAWgG,YAAYuB,GAAG,IAAIC,EAAE9B,KAAKsX,MAAM,OAAOxV,EAAEsQ,KAAKpS,MAAM4B,EAAE6Q,SAASzS,KAAK8B,GAAG9B,MAAMkD,EAAEqhB,OAAO,WAAW,GAAGvkB,KAAK4a,QAAQ,OAAO5a,KAAK,IAAI6B,EAAE+D,EAAE5F,KAAK9F,MAAM4H,EAAED,EAAEvH,WAAgF,OAArEwH,EAAE1H,aAAayH,EAAEC,EAAEsI,YAAYxI,EAAE8Q,QAAQ1S,KAAKA,KAAKsX,OAAOtX,KAAKsX,MAAatX,MAAMkD,EAAEmc,YAAY,SAASxd,GAAG,GAAG7B,KAAK4a,UAAU/Y,EAAE,OAAO7B,KAAK,IAAI8B,EAAE8D,EAAE5F,KAAK9F,MAAMoC,EAAEsJ,EAAE/D,EAAE3H,MAAM2H,EAAEA,EAAE3F,OAAO,GAAGhC,MAAM,OAAOoC,EAAE8a,YAAY9a,EAAEhC,WAAWF,aAAa0H,EAAExF,EAAE8a,aAAa9a,EAAEhC,WAAWgG,YAAYwB,GAAGF,EAAE+Q,aAAa3S,KAAK6B,EAAE7B,KAAKsX,OAAOtX,MAAMkD,EAAE9I,aAAa,SAASyH,GAAG,GAAG7B,KAAK4a,UAAU/Y,EAAE,OAAO7B,KAAK,IAAI8B,EAAE8D,EAAE5F,KAAK9F,MAAMoC,EAAEsJ,EAAE/D,EAAE3H,MAAM2H,EAAE,GAAG3H,MAAM,OAAOoC,EAAEhC,WAAWF,aAAa0H,EAAExF,GAAGsF,EAAEgR,cAAc5S,KAAK6B,EAAE7B,KAAKsX,OAAOtX,MAAMkD,EAAEgE,KAAK,SAASrF,GAAG,IAAIC,EAAE9B,KAAK,GAAG,IAAI6B,EAAE,CAAC,IAAIvF,EAAEsI,EAAE,UAAU5C,EAAE4C,EAAE,kBAAkB9C,EAAEwH,MAAMpC,KAAKrF,EAAEvF,EAAE6a,GAAGvV,EAAEuJ,aAAavG,EAAE5C,EAAE,CAACwiB,cAAc3iB,GAAG,MAAMvF,EAAEgE,YAAY0B,GAAGF,EAAEwV,MAAMkK,KAAKlhB,YAAYhE,GAAGwF,EAAE2iB,MAAMnoB,EAAEsI,EAAE9C,EAAE5H,KAAK,CAACwF,OAAO,QAAQpD,EAAE6a,GAAG,WAAWrV,EAAE2iB,QAAQ3iB,EAAE2iB,MAAMnqB,WAAWC,YAAYuH,EAAE2iB,cAAc3iB,EAAE2iB,aAAa3iB,EAAEwH,MAAMpC,MAAMpF,EAAE5H,KAAKwqB,gBAAgB,UAAU,OAAO5iB,GAAGF,EAAEqB,QAAQQ,OAAO,SAAS7B,EAAEC,EAAEC,EAAExF,GAAG,IAAI0F,EAAE4C,EAAE,UAAUhD,EAAE4X,QAAQ5X,EAAE4X,OAAOlZ,YAAY0B,GAAG,IAAIlI,EAAE,IAAIgM,EAAE9D,EAAEJ,GAAG,OAAO9H,EAAEwP,MAAM,CAAClC,GAAGvF,EAAEwF,GAAGvF,EAAEA,EAAExF,EAAEc,KAAK,OAAO0K,OAAO,QAAQhO,EAAEmH,KAAK,SAAS2D,EAAE5C,EAAElI,EAAEwP,OAAOxP,GAAG8H,EAAEqB,QAAQS,KAAK,SAAS9B,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,GAAG,IAAI+I,EAAE+B,EAAE,QAAQhD,EAAE4X,QAAQ5X,EAAE4X,OAAOlZ,YAAYuC,GAAG,IAAIX,EAAE,IAAI4D,EAAEjD,EAAEjB,GAAG,OAAOM,EAAEoH,MAAM,CAAC1E,EAAE/C,EAAEkD,EAAEjD,EAAEmG,MAAM3L,EAAEkL,OAAOxF,EAAE2F,GAAG7N,GAAG,EAAE8N,GAAG9N,GAAG,EAAEsD,KAAK,OAAO0K,OAAO,QAAQ5F,EAAEjB,KAAK,OAAO2D,EAAE/B,EAAEX,EAAEoH,OAAOpH,GAAGN,EAAEqB,QAAQW,QAAQ,SAAShC,EAAEC,EAAEC,EAAExF,EAAE0F,GAAG,IAAIlI,EAAE8K,EAAE,WAAWhD,EAAE4X,QAAQ5X,EAAE4X,OAAOlZ,YAAYxG,GAAG,IAAI+I,EAAE,IAAIiD,EAAEhM,EAAE8H,GAAG,OAAOiB,EAAEyG,MAAM,CAAClC,GAAGvF,EAAEwF,GAAGvF,EAAE6F,GAAGrL,EAAEsL,GAAG5F,EAAE5E,KAAK,OAAO0K,OAAO,QAAQjF,EAAE5B,KAAK,UAAU2D,EAAE9K,EAAE+I,EAAEyG,OAAOzG,GAAGjB,EAAEqB,QAAQa,MAAM,SAASlC,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,GAAG,IAAI+I,EAAE+B,EAAE,SAASA,EAAE/B,EAAE,CAAC+B,EAAE9C,EAAEiD,EAAEzI,EAAE2L,MAAMjG,EAAEwF,OAAO1N,EAAE6qB,oBAAoB,SAAS9hB,EAAEse,eAAerkB,EAAE,OAAO+E,GAAGD,EAAE4X,QAAQ5X,EAAE4X,OAAOlZ,YAAYuC,GAAG,IAAIX,EAAE,IAAI4D,EAAEjD,EAAEjB,GAAG,OAAOM,EAAEoH,MAAM,CAAC1E,EAAE9C,EAAEiD,EAAEzI,EAAE2L,MAAMjG,EAAEwF,OAAO1N,EAAE+N,IAAIhG,GAAGK,EAAEjB,KAAK,QAAQiB,GAAGN,EAAEqB,QAAQY,KAAK,SAAShC,EAAEC,EAAExF,EAAE0F,GAAG,IAAIlI,EAAE8K,EAAE,QAAQ/C,EAAE2X,QAAQ3X,EAAE2X,OAAOlZ,YAAYxG,GAAG,IAAI+I,EAAE,IAAIiD,EAAEhM,EAAE+H,GAAG,OAAOgB,EAAEyG,MAAM,CAAC1E,EAAE9C,EAAEiD,EAAEzI,EAAE,cAAc,SAASuH,KAAK7B,EAAE,cAAcJ,EAAEqF,gBAAgB,eAAe,YAAYrF,EAAEqF,gBAAgB,aAAaa,OAAO,OAAO1K,KAAK,QAAQyF,EAAE5B,KAAK,OAAOuE,EAAE3C,EAAEA,EAAEyG,OAAOzG,GAAGjB,EAAEqB,QAAQwW,QAAQ,SAAS7X,EAAEC,GAAG,OAAO7B,KAAKiI,MAAMrG,GAAG5B,KAAKiI,MAAMjI,KAAKwH,OAAO3F,GAAG7B,KAAKwH,OAAOxH,KAAKwZ,OAAO4H,aAAa,QAAQphB,KAAKiI,OAAOjI,KAAKwZ,OAAO4H,aAAa,SAASphB,KAAKwH,QAAQxH,KAAK4kB,UAAU5kB,KAAK0Z,WAAWpK,MAAMtP,KAAKA,KAAK4kB,UAAU5kB,MAAM4B,EAAEqB,QAAQ1J,OAAO,WAAW,IAAIsI,EAAED,EAAEqS,cAAc3E,MAAM,EAAElM,WAAWtB,EAAED,GAAGA,EAAEuS,UAAU,IAAItS,EAAE,MAAM,IAAI5G,MAAM,4BAA4B,IAAIoB,EAAE0F,EAAEH,EAAE+C,EAAE9K,EAAE+H,EAAEkD,EAAElC,EAAEhB,EAAEoG,MAAM/F,EAAEL,EAAE2F,OAAOxI,EAAE4F,EAAE,OAAOV,EAAE,mBAAmB,OAAOlC,EAAEA,GAAG,EAAElI,EAAEA,GAAG,EAAE8K,EAAE5F,EAAE,CAACwI,OAAOtF,EAAEA,GAAG,IAAImB,QAAQ,IAAI4E,MAAMpF,EAAEA,GAAG,IAAIgiB,MAAM,6BAA6B,cAAc,iCAAiC,GAAG/iB,GAAG9C,EAAEqL,MAAMqD,QAAQxJ,EAAE,0BAA0BlC,EAAE,UAAUlI,EAAE,KAAK8H,EAAEgI,GAAG7F,IAAI6H,KAAKtL,YAAYtB,GAAG1C,EAAE,IAAI0C,EAAEqL,MAAMqD,QAAQxJ,EAAE,oBAAoBpC,EAAEsI,WAAWtI,EAAE1H,aAAa4E,EAAE8C,EAAEsI,YAAYtI,EAAExB,YAAYtB,KAAK8C,EAAE,IAAIF,EAAE+I,QAAQ1C,MAAMpF,EAAEf,EAAE0F,OAAOtF,EAAEJ,EAAE0X,OAAOxa,EAAE8C,EAAEpF,QAAQoF,EAAEgjB,MAAMhjB,EAAEijB,KAAK,EAAEzoB,IAAIwF,EAAEkjB,UAAU,cAAcljB,EAAEkjB,YAAYljB,GAAGF,EAAEqB,QAAQyW,WAAW,SAAS9X,EAAEC,EAAEC,EAAExF,EAAE0F,GAAGqC,EAAE,qBAAqBrE,KAAKA,KAAK4kB,SAAS,CAAChjB,EAAEC,EAAEC,EAAExF,EAAE0F,IAAI,IAAIlI,EAAEoI,EAAElD,EAAEgB,KAAKuZ,UAAUrV,EAAErB,EAAEf,EAAE9C,EAAEiJ,MAAM3L,EAAE0C,EAAEwI,QAAQvI,EAAEe,KAAKoS,IAAItV,EAAEkF,EAAE,gBAAgB,WAAW,IAAI,MAAMJ,GAAG5B,KAAKilB,UAAU/gB,EAAE,UAAUlE,KAAKilB,QAAQnrB,EAAE,OAAOkG,KAAKiI,MAAMzD,EAAExE,KAAKwH,SAASxH,KAAKilB,QAAQ/gB,EAAEpK,EAAE8H,EAAE4C,EAAE3C,EAAE2C,EAAE1C,EAAE0C,EAAElI,GAAGsI,EAAE5E,KAAKwZ,OAAO,CAAC0L,QAAQprB,EAAE6qB,oBAAoB7nB,IAAIoH,GAAGjF,GAAGiD,EAAE,iBAAiBjD,EAAEqK,MAAMrK,EAAEqK,MAAM,gBAAgB,EAAErK,EAAEuB,KAAK,CAAC,eAAe0B,IAAIjD,EAAEmG,EAAEvI,MAAM,EAAEoC,EAAEmG,EAAEoO,OAAO,EAAEvU,EAAEA,EAAEoT,KAAK,OAAOrS,KAAK4kB,SAAS,CAAChjB,EAAEC,EAAEC,EAAExF,IAAI0F,GAAGhC,MAAM4B,EAAEe,UAAUqiB,UAAU,WAAW,IAAIpjB,EAAEC,EAAE7B,KAAKwZ,OAAO1X,EAAED,EAAEwI,MAAM,IAAIzI,EAAEC,EAAEsjB,gBAAgBtjB,EAAEujB,kBAAkB,MAAMtjB,GAAGF,EAAEC,EAAEujB,kBAAkB,IAAI9oB,GAAGsF,EAAEC,EAAE,EAAEG,GAAGJ,EAAE4C,EAAE,GAAGlI,GAAG0F,KAAK1F,IAAI0D,KAAK8kB,OAAO9kB,KAAK8kB,MAAMxoB,GAAG,EAAEwF,EAAEoY,KAAKla,KAAK8kB,MAAM,MAAM9iB,IAAIhC,KAAK+kB,MAAM/kB,KAAK+kB,KAAK/iB,GAAG,EAAEF,EAAEsQ,IAAIpS,KAAK+kB,KAAK,QAAQnjB,EAAEe,UAAUjG,MAAM,WAAWkF,EAAE0B,IAAI,gBAAgBtD,MAAM,IAAI,IAAI6B,EAAE7B,KAAKwZ,OAAO3X,EAAEuI,YAAYvI,EAAEtH,YAAYsH,EAAEuI,YAAYpK,KAAKsS,OAAOtS,KAAKoS,IAAI,MAAMpS,KAAKqlB,KAAKzgB,EAAE,SAAStE,YAAYsB,EAAEgI,GAAG7F,IAAI0f,eAAe,wBAAwB7hB,EAAEyB,UAAUxB,EAAEvB,YAAYN,KAAKqlB,MAAMxjB,EAAEvB,YAAYN,KAAKwhB,KAAK5c,EAAE,UAAUhD,EAAEe,UAAUshB,OAAO,WAAW,IAAI,IAAIpiB,KAAKwC,EAAE,iBAAiBrE,MAAMA,KAAKwZ,OAAOlf,YAAY0F,KAAKwZ,OAAOlf,WAAWC,YAAYyF,KAAKwZ,QAAQxZ,KAAKA,KAAK6B,GAAG,mBAAmB7B,KAAK6B,GAAGD,EAAE+O,gBAAgB9O,GAAG,MAAM,IAAImB,EAAEpB,EAAE4K,GAAG,IAAI,IAAIxG,KAAK9C,EAAEA,EAAErB,GAAGmE,KAAKhD,EAAEnB,GAAGmE,KAAKhD,EAAEgD,GAAG,SAASpE,GAAG,OAAO,WAAW,IAAIC,EAAEuB,UAAU,OAAOpD,KAAKtG,SAAQ,SAASoI,GAAGA,EAAEF,GAAG0N,MAAMxN,EAAED,OAA3F,CAAkGmE,MAAMsJ,MAAMzN,EAAEvF,MAAMsF,EAAEG,QAAQC,IAAI,SAASJ,EAAEC,EAAEC,GAAG,IAAIxF,EAAE0F,EAAE1F,EAAE,CAACwF,EAAE,SAAI,KAAUE,EAAE,SAASJ,GAAG,IAAIA,GAAGA,EAAE8I,IAAI,CAAC,IAAI7I,EAAE,iBAAiBC,EAAE+C,OAAOvI,EAAEqK,WAAW3E,EAAEqD,KAAKvL,EAAEkI,EAAEyE,MAAM5D,EAAEb,EAAEuD,IAAIrD,EAAEF,EAAEyD,IAAIzG,EAAEgD,EAAE2D,IAAIzB,EAAE,QAAQG,EAAEzC,EAAE0B,IAAIrE,EAAE,IAAIuF,EAAE,GAAG1H,EAAE,CAACkJ,EAAE,IAAIO,EAAE,IAAIX,EAAE,IAAIwD,EAAE,IAAI7J,EAAE,IAAIP,EAAE,IAAIC,EAAE,IAAIyH,EAAE,KAAK5F,EAAE,yBAAyB6D,EAAE,6BAA6BC,EAAE,cAAcE,EAAE,iFAAiFC,EAAE,MAAMxF,EAAE,CAACoE,KAAK,EAAED,KAAK,EAAEI,MAAM,GAAG/J,EAAE,CAAC0J,OAAO,EAAEG,QAAQ,GAAGwB,EAAE,SAASvD,EAAEC,EAAExF,GAAG,IAAI0F,EAAEJ,EAAEoR,SAAS,OAAOhR,EAAEsR,QAAQzR,EAAE,GAAG,IAAI,CAAC8R,GAAG3R,EAAE4C,EAAE9C,EAAExF,GAAGsX,GAAG5R,EAAE+C,EAAEjD,EAAExF,KAAKgJ,EAAE,SAAS1D,EAAEC,EAAEC,EAAExF,EAAE0F,EAAElI,GAAG,IAAI+I,EAAEjB,EAAEwD,EAAElD,EAAEN,EAAEoR,OAAO9O,EAAErB,EAAEyiB,QAAQjhB,EAAEzC,EAAE1H,KAAKsK,EAAEH,EAAEgG,MAAMvN,EAAE,EAAEgE,EAAE,GAAG6D,EAAEI,EAAElD,EAAE+C,EAAEG,EAAEjD,EAAE,GAAG0C,EAAE+e,WAAW,SAAS1hB,GAAGC,EAAE,CAAC,GAAGuC,EAAEkhB,UAAUvmB,EAAE2F,GAAG1F,EAAED,EAAE4F,GAAGJ,EAAEghB,SAAS1rB,GAAG+H,EAAEC,EAAE,GAAG,EAAE,GAAGhI,EAAE,CAAC,IAAIgL,EAAEM,EAAEtL,EAAEwC,EAAE0F,GAAG1F,EAAEwI,EAAE6O,GAAG3R,EAAE8C,EAAE8O,GAAG,GAAG/R,EAAE,IAAIf,GAAG,KAAKgB,EAAE,IAAIhB,GAAG,QAAQhE,GAAG,GAAG0H,EAAEihB,KAAK3kB,EAAEuD,EAAEqhB,YAAYppB,GAAGqI,EAAE1F,EAAE+C,GAAG4C,EAAEV,GAAGrB,EAAE8iB,SAAS,CAAC,IAAIpmB,EAAE8E,EAAEwe,qBAAqB,QAAQtjB,EAAEA,GAAGA,EAAE,GAAG8E,EAAE9J,YAAYgF,GAAG2E,IAAIY,EAAEM,EAAEtL,EAAEoI,EAAE0C,EAAEV,EAAE,GAAGA,EAAE,IAAIhC,EAAE6C,EAAEb,EAAE,GAAGA,EAAE,KAAK3E,EAAEqmB,SAAS9gB,EAAE6O,GAAG7W,EAAEmC,EAAE6F,EAAE8O,GAAG9W,GAAG+F,EAAE8iB,WAAWpmB,EAAEsmB,KAAKhjB,EAAE8iB,SAAS,GAAG3mB,EAAE6C,GAAG5C,EAAE4D,EAAE8iB,SAAS,GAAG3mB,EAAE8C,IAAIuC,EAAE/D,YAAYf,GAAGiF,EAAE+e,WAAW,YAAY3hB,EAAEqE,SAAS,WAAW,MAAM,mFAAmFjG,KAAKqD,SAAS,IAAImC,EAAEE,EAAE,SAAS9D,EAAEC,EAAEvF,GAAG,IAAI,IAAI0F,EAAEF,EAAED,GAAGsD,cAAc2P,MAAM,KAAKhb,EAAEwC,EAAE,MAAM,QAAQuG,EAAEb,EAAE9F,OAAOgG,EAAE,UAAUlD,EAAE,SAASkF,EAAE,SAASrB,KAAK,OAAOb,EAAEa,IAAI,IAAI,QAAQ,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,IAAI,OAAOX,EAAEF,EAAEa,GAAG,MAAM,IAAI,OAAO,IAAI,SAASqB,EAAElC,EAAEa,GAAG,MAAM,IAAI,OAAO,IAAI,QAAQ7D,EAAEgD,EAAEa,GAAG,IAAIwB,EAAEzC,EAAE1H,KAAK2oB,qBAAqB,UAAU,GAAGxe,EAAEvK,EAAE,SAASoI,EAAEmC,EAAEvK,EAAE,eAAekF,EAAEqF,EAAEvK,EAAE,cAAcoK,GAAG0B,EAAE,SAAS5D,EAAEhD,GAAGgD,EAAEsH,MAAMtH,EAAEsH,OAAO,GAAG,IAAIjF,EAAErC,EAAE9H,KAAKyK,EAAE3C,EAAEsH,MAAMxE,EAAET,EAAEgG,MAAMjF,EAAE7F,EAAEyC,EAAEf,QAAQjC,EAAE4F,GAAGD,EAAEC,GAAG5F,EAAE+F,GAAGJ,EAAEI,GAAG/F,EAAEiJ,OAAOtD,EAAEsD,OAAOjJ,EAAEwI,QAAQ7C,EAAE6C,QAAQxI,EAAEoI,IAAIzC,EAAEyC,IAAIpI,EAAEqI,IAAI1C,EAAE0C,IAAIrI,EAAE2I,IAAIhD,EAAEgD,IAAI3I,EAAE4I,IAAIjD,EAAEiD,IAAI5I,EAAE8C,GAAG6C,EAAE7C,GAAG8D,EAAE7L,EAAEiI,EAAEf,QAAQ0D,EAAEyC,IAAIpI,EAAEoI,IAAIzC,EAAE0C,IAAIrI,EAAEqI,IAAI1C,EAAE7C,GAAG9C,EAAE8C,GAAG6C,EAAEgD,IAAI3I,EAAE2I,IAAIhD,EAAEiD,IAAI5I,EAAE4I,IAAI1E,EAAElB,EAAE,IAAI,IAAIgB,KAAKhE,EAAEA,EAAE6C,GAAGmB,KAAK2B,EAAE3B,GAAGhE,EAAEgE,IAAI,GAAGoC,IAAIT,EAAEhB,KAAK/B,EAAEyH,SAASrH,EAAEf,MAAMe,GAAGA,EAAEoD,EAAEvI,MAAM,GAAGmC,EAAEyI,OAAOpD,EAAEoD,KAAKzI,EAAEyI,MAAMzI,EAAE+I,QAAQ1D,EAAE0D,MAAM/I,EAAE+I,OAAO/I,EAAE/E,SAASoK,EAAEpK,OAAO+E,EAAE/E,QAAQ+E,EAAEmI,SAASrC,EAAEqC,OAAOnI,EAAEmI,QAAQ,SAASnI,GAAGgD,EAAEkF,KAAKlI,EAAEkI,OAAOlI,EAAE2E,MAAM,QAAQ3B,EAAEf,MAAMmE,KAAKf,EAAEV,KAAK,SAAS9B,GAAG,IAAIvF,EAAE,aAAa0F,EAAEJ,EAAEsP,gBAAgB,GAAGpP,EAAED,GAAGmM,MAAM1R,KAAK0F,EAAEJ,EAAEgO,aAAatT,EAAE,UAAU0F,GAAGJ,EAAEsP,kBAAkBpP,EAAED,GAAGmM,MAAM1R,GAAG,CAAC,IAAIuG,EAAEf,EAAED,GAAGwJ,QAAQvK,GAAE,SAASc,EAAEC,EAAEC,GAAG,IAAIxF,EAAE,GAAG0F,EAAE,KAAKH,EAAEsD,cAActC,EAAE/F,EAAE+E,GAAG,OAAOC,EAAEuJ,QAAQzG,GAAE,SAAShD,GAAGI,GAAG,GAAG1F,EAAEJ,SAAS2G,GAAGvG,EAAEQ,EAAE,KAAK+E,EAAE,IAAI,KAAKvF,EAAE,IAAIA,EAAEV,KAAK9B,EAAE8H,EAAEmD,OAAMlC,EAAEvG,KAAI,OAAOuG,EAAE,IAAIX,EAAElD,EAAEkF,EAAElC,EAAEH,GAAGgB,EAAE,GAAG,IAAI,IAAIwB,EAAE,EAAEM,EAAET,EAAEhI,OAAOmI,EAAEM,EAAEN,IAAI,CAACnC,EAAEgC,EAAEG,GAAG,MAAMrF,EAAEkF,EAAEG,GAAG,GAAGc,iBAAiBnG,EAAE,KAAK,IAAI,IAAI8F,EAAE,EAAEvF,EAAE2C,EAAEhG,OAAO4I,EAAEvF,EAAEuF,IAAI9F,GAAGlF,EAAEoI,EAAE4C,GAAGC,IAAID,GAAGvF,EAAE,EAAE,IAAIiF,GAAG3B,EAAEjH,KAAKoD,GAAG,OAAO6D,EAAEiK,KAAK7N,GAAxf,EAA6f6C,EAAE6C,EAAEhB,MAAMwB,cAAchE,QAAQ,KAAKS,EAAEsP,gBAAgBvM,EAAEhB,MAAMgB,EAAEhB,MAAM3B,EAAEoD,EAAEvI,MAAM,EAAE,SAASmF,EAAEf,OAAOe,EAAEoD,EAAEkgB,QAAQ,CAAC3gB,EAAEC,EAAED,EAAEI,GAAG/C,EAAEoD,EAAEugB,SAAS,CAAChhB,EAAEsD,MAAMtD,EAAE6C,QAAQlC,EAAEtD,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,cAAchD,GAAGgD,EAAEgG,UAAUhJ,EAAEgJ,WAAWpC,EAAE,CAAC,IAAII,GAAGrB,EAAEyC,GAAGlB,GAAGvB,EAAE0C,GAAGjB,GAAGzB,EAAEgD,KAAKhD,EAAE7C,GAAG,EAAEyE,GAAG5B,EAAEiD,KAAKjD,EAAE7C,GAAG,EAAEuC,EAAEV,KAAK/B,EAAEuX,OAAO,qCAAqCrf,GAAGkM,EAAEI,GAAGrB,GAAGjL,GAAGoM,EAAEK,GAAGxB,GAAGjL,GAAGkM,EAAEI,GAAGrB,GAAGjL,GAAGoM,EAAEK,GAAGxB,GAAGjL,EAAEkM,EAAEjB,IAAI/C,EAAEoD,EAAEvI,MAAM,EAAE,GAAG,cAAcmC,EAAE,CAAC,IAAIwH,EAAE1E,EAAE9C,EAAE,cAAc8V,MAAM5Q,GAAG,GAAG,GAAGsC,EAAEtK,OAAO,CAACsK,EAAE,IAAIA,EAAE,KAAKA,EAAE,GAAGA,EAAE,IAAIA,EAAE,KAAKA,EAAE,GAAG,IAAIE,EAAErC,EAAEyhB,UAAUlkB,EAAEgI,GAAG7F,IAAImG,cAAc,OAAOtD,EAAEF,EAAE2D,MAAMzD,EAAE8c,KAAK9hB,EAAEuX,OAAO,gCAAgC3S,GAAGnC,EAAEyhB,WAAWlf,EAAEgf,SAAS,WAAWhf,EAAEwL,IAAI,EAAExL,EAAEsT,KAAK,EAAEtT,EAAEqB,MAAMjG,EAAEsV,MAAMrP,MAAM,KAAKrB,EAAEY,OAAOxF,EAAEsV,MAAM9P,OAAO,KAAKnD,EAAE/J,WAAWF,aAAasM,EAAErC,GAAGqC,EAAEpG,YAAY+D,GAAGA,EAAEyhB,SAASpf,GAAG1H,EAAE,cAAcqF,EAAEyhB,WAAWzhB,EAAEyhB,SAASzb,MAAMqZ,KAAK,QAAQ,GAAG1hB,EAAE+jB,SAAS,CAAC,IAAIjf,EAAE9E,EAAE+jB,SAAS1b,MAAMrL,EAAEsI,OAAOR,EAAEQ,KAAKtI,EAAEsI,MAAMtI,EAAE,iBAAiB8H,EAAEkf,WAAW,IAAIhnB,EAAE,eAAe8V,MAAM,KAAK,GAAGzJ,QAAQ,iBAAiB7G,GAAG,KAAKxF,EAAE,eAAe8H,EAAEmf,SAASjnB,EAAE,cAAcA,EAAE,iBAAiB8H,EAAEof,WAAWlnB,EAAE,gBAAgBA,EAAE,gBAAgB8H,EAAEqf,UAAUnnB,EAAE,eAAe,GAAG,gBAAgBA,GAAG0G,EAAExC,EAAElE,EAAE,gBAAgB,cAAcA,GAAG0G,EAAExC,EAAElE,EAAE,aAAa,GAAG,MAAMA,EAAE0I,SAAS,MAAM1I,EAAE5B,MAAM,MAAM4B,EAAE6I,KAAK,MAAM7I,EAAE8I,QAAQ,MAAM9I,EAAE,iBAAiB,MAAMA,EAAE,mBAAmB,MAAMA,EAAE,iBAAiB,MAAMA,EAAE,qBAAqB,MAAMA,EAAE,sBAAsB,MAAMA,EAAE,oBAAoB,MAAMA,EAAE,kBAAkB,CAAC,IAAIgI,EAAE3C,EAAEwe,qBAAqB,QAAQ,KAAK7b,EAAEA,GAAGA,EAAE,MAAMA,EAAExB,EAAE,SAAS,SAASxD,EAAEf,MAAMjC,EAAE6I,MAAMb,EAAEa,IAAI7I,EAAE6I,KAAK7I,EAAE5B,OAAO4J,EAAEjE,IAAG,GAAI,MAAMiE,EAAEjE,IAAI,QAAQ/D,EAAE5B,MAAM,OAAO4B,EAAE5B,OAAO4J,EAAEjE,IAAG,GAAIiE,EAAEjE,IAAI/D,EAAE5B,KAAK,CAAC,IAAI+K,EAAErG,EAAE9C,EAAE5B,MAAM4Q,MAAMpM,EAAEuE,QAAQ,GAAGgC,EAAE,CAACnB,EAAE1M,YAAY+J,GAAGA,EAAE9J,YAAYyM,GAAGA,EAAEsM,QAAO,EAAGtM,EAAEa,IAAIM,EAAE,GAAGnB,EAAE/F,KAAK,OAAO,IAAIoH,EAAErG,EAAE8Q,QAAQ,GAAG9L,EAAE4e,SAASvd,EAAEzD,EAAE3F,EAAEoJ,EAAEtD,EAAE/C,EAAEoD,EAAEkgB,QAAQ,CAACjd,EAAEzD,EAAEyD,EAAEtD,GAAGnD,EAAE6L,SAAStF,EAAE,IAAG,WAAWnG,EAAEoD,EAAEugB,SAAS,CAAC3lB,KAAKsU,YAAYtU,KAAKwU,sBAAqBxN,EAAEgF,MAAMpK,EAAE+K,OAAO3N,EAAE5B,MAAMqP,IAAIzF,EAAEa,IAAIrD,EAAEwC,EAAE/F,KAAK,QAAQW,EAAE+K,OAAO3N,EAAE5B,MAAMyQ,QAAQ3K,EAAEjC,OAAO,CAACwC,OAAO,EAAEG,QAAQ,IAAI,KAAK9B,EAAE9C,EAAE5B,MAAM2Q,WAAWjI,EAAE5C,EAAElE,EAAE5B,KAAK4J,KAAKrC,EAAEvH,KAAK,OAAOuH,EAAE4C,SAASvI,EAAE5B,KAAK4J,EAAEsM,QAAO,GAAI,GAAG,iBAAiBtU,GAAG,YAAYA,EAAE,CAAC,IAAIsJ,KAAK3D,EAAE,gBAAgB,GAAG,GAAG,MAAMA,EAAE+C,QAAQ,GAAG,GAAG,MAAM9F,EAAE+K,OAAO3N,EAAE5B,MAAM8E,EAAE,GAAG,GAAG,GAAGoG,EAAEpG,EAAEW,EAAEyF,EAAE,GAAG,GAAGtB,EAAEU,QAAQY,EAAEtB,EAAEa,MAAMb,EAAEgF,MAAM,QAAQ3H,EAAE/D,YAAY0G,GAAG,IAAIyB,EAAEpE,EAAEwe,qBAAqB,WAAWxe,EAAEwe,qBAAqB,UAAU,GAAGna,GAAE,GAAID,IAAIC,EAAED,EAAEjD,EAAE,YAAYxG,EAAE8I,QAAQ,QAAQ9I,EAAE8I,QAAQ9I,EAAE,iBAAiB,MAAMA,EAAE,mBAAmBA,EAAE,qBAAqBA,EAAE,sBAAsBA,EAAE,oBAAoBA,EAAE,qBAAqByJ,EAAE1F,IAAG,IAAK,QAAQ/D,EAAE8I,QAAQ,OAAO9I,EAAE8I,QAAQ,MAAMW,EAAE1F,IAAI,GAAG/D,EAAE8I,QAAQ,GAAG9I,EAAE,mBAAmByJ,EAAE1F,IAAG,GAAI,IAAI4F,EAAE/G,EAAE+K,OAAO3N,EAAE8I,QAAQW,EAAE1F,IAAI/D,EAAE8I,SAASW,EAAEuD,MAAMrD,EAAE8D,KAAKnE,KAAK3D,EAAE,kBAAkB,GAAG,GAAG,MAAMA,EAAE+C,QAAQ,GAAG,GAAG,MAAMiB,EAAEzG,EAAE,GAAG,GAAG,GAAG,IAAI0G,EAAE,KAAKtM,EAAE0C,EAAE,kBAAkB,GAAG,GAAGsJ,EAAEpG,EAAEW,EAAEyF,EAAE,GAAG,GAAG,MAAMtJ,EAAE,kBAAkB4J,EAAEjE,EAAE,iBAAiB3F,EAAE,kBAAkByJ,EAAE2d,OAAOxd,GAAGA,GAAGA,EAAE,IAAIN,GAAGM,KAAKH,EAAE2d,OAAO,GAAG3d,EAAEf,QAAQY,EAAEtJ,EAAE,qBAAqByJ,EAAE4d,UAAUrnB,EAAE,oBAAoB,SAASyJ,EAAE6d,WAAWtnB,EAAE,sBAAsB,EAAEA,EAAE,oBAAoByJ,EAAE8d,OAAO,QAAQvnB,EAAE,kBAAkB,OAAO,UAAUA,EAAE,kBAAkB,SAAS,SAAS,qBAAqBA,EAAE,CAAC,IAAI6J,EAAE,CAAC,IAAI,YAAY,IAAI,WAAW,KAAK,eAAe,MAAM,kBAAkB,KAAK,MAAM,KAAK,OAAO,KAAK,WAAW,MAAM,UAAU,MAAM,cAAc,OAAO,kBAAkBJ,EAAE+d,UAAU3d,EAAEhH,GAAG7C,EAAE,qBAAqB6J,EAAE7J,EAAE,qBAAqBwF,EAAEkE,GAAGrE,EAAE/D,YAAYmI,GAAG,GAAG,QAAQvF,EAAEjC,KAAK,CAACiC,EAAEoU,MAAMkC,OAAOnP,MAAM6B,QAAQ1H,EAAE,IAAIuE,EAAE7F,EAAEoU,MAAMmP,KAAKzd,EAAErE,EAAE2C,MAAM3C,EAAE2C,KAAK0G,MAAM,uBAAuBlJ,EAAEiE,EAAEsB,MAAM1F,EAAE2C,OAAOxC,EAAEwC,KAAK3C,EAAE2C,MAAM3C,EAAE,iBAAiBG,EAAEkhB,WAAWrhB,EAAE,gBAAgBA,EAAE,iBAAiBG,EAAEohB,WAAWvhB,EAAE,gBAAgBA,EAAE,gBAAgBG,EAAEqhB,UAAUxhB,EAAE,eAAeqE,EAAE1M,EAAEqI,EAAE,cAAcqE,GAAGA,EAAE,KAAK,GAAGlE,EAAEmhB,SAAS,IAAIjd,EAAE,KAAK9F,EAAE6iB,SAASW,SAAS3d,EAAEoB,UAAUrI,EAAEoB,EAAE6iB,SAASW,QAAQrb,QAAQ,KAAK,SAASA,QAAQ,KAAK,SAASA,QAAQ,MAAM,SAAS,IAAIpC,EAAEF,EAAE8Q,wBAAwB3W,EAAEyF,EAAEhE,EAAEW,GAAG2D,EAAE0d,MAAM1d,EAAEiR,MAAM,IAAIhX,EAAE6F,EAAEpE,EAAET,GAAG+E,EAAEqJ,OAAOrJ,EAAEmJ,KAAK,IAAIlP,EAAE8F,EAAErE,EAAEC,EAAE1B,EAAE0F,EAAEjE,EAAEI,EAAE7B,EAAE6F,EAAE,GAAG,MAAM/J,GAAG,MAAMA,KAAKkE,EAAES,KAAKmB,EAAElD,EAAEuX,OAAO,mBAAmBrf,EAAE6K,EAAEC,EAAEG,GAAGjL,EAAE6K,EAAEI,EAAEA,GAAGjL,EAAE6K,EAAEC,EAAEG,GAAG,IAAI,IAAI,IAAIoE,EAAE,CAAC,IAAI,IAAI,OAAO,OAAO,cAAc,cAAc,aAAa,aAAaC,EAAE,EAAEK,EAAEN,EAAEjN,OAAOkN,EAAEK,EAAEL,IAAI,GAAGD,EAAEC,KAAKpK,EAAE,CAACkE,EAAEkC,EAAEvI,MAAM,EAAE,MAAM,OAAO8H,EAAE,gBAAgB,IAAI,QAAQzB,EAAE6iB,SAAS1b,MAAM,gBAAgB,OAAOnH,EAAE0jB,IAAI1jB,EAAEyF,EAAE,EAAE,MAAM,IAAI,MAAMzF,EAAE6iB,SAAS1b,MAAM,gBAAgB,QAAQnH,EAAE0jB,KAAK1jB,EAAEyF,EAAE,EAAE,MAAM,QAAQzF,EAAE6iB,SAAS1b,MAAM,gBAAgB,SAASnH,EAAE0jB,IAAI,EAAE1jB,EAAE6iB,SAAS1b,MAAM,gBAAe,IAAKvE,EAAE,SAASjE,EAAE/H,EAAE+I,GAAGhB,EAAEyH,MAAMzH,EAAEyH,OAAO,GAAGzH,EAAEyH,MAAM,IAAIpH,EAAEmD,KAAKQ,IAAI7G,EAAE,SAASkF,EAAE,QAAQ,GAAGrC,EAAEyH,MAAM/B,SAASzN,EAAEA,GAAGA,EAAEgI,EAAEhI,GAAGuR,QAAQzJ,EAAEkH,kBAAiB,SAASlH,EAAEC,EAAEC,GAAG,OAAO9C,EAAE,SAAS6C,GAAGC,IAAID,EAAEvF,EAAEuF,GAAGC,EAAExF,EAAEwF,GAAGI,EAAEL,EAAE,GAAG,GAAGK,EAAEJ,EAAE,GAAG,GAAG,MAAMA,EAAEE,EAAEgN,KAAK,IAAI9M,EAAEL,EAAE,GAAG,KAAK,GAAGC,EAAE,IAAI,GAAG,IAAIoC,EAAErC,EAAE5C,EAAE6C,GAAG0C,MAAKsQ,MAAM,YAAY,UAAU9V,EAAE,CAAC,IAAIqF,EAAEvK,EAAEmT,QAAQ,GAAG5I,GAAG/H,EAAE+H,GAAGkd,MAAMld,GAAG,OAAO,KAAK,IAAIvH,EAAE8E,EAAEqQ,WAAWnY,GAAG,IAAIgD,EAAE,OAAO,KAAK,GAAG+E,EAAEA,EAAEqW,OAAOrW,EAAE3H,KAAK4C,EAAEZ,OAAO,CAAC2F,EAAEtH,YAAYsI,GAAGA,EAAEE,IAAG,EAAGF,EAAEgkB,OAAO,OAAOhkB,EAAEmJ,MAAMlP,EAAE,GAAGkP,MAAMnJ,EAAEikB,OAAOhqB,EAAEA,EAAEZ,OAAO,GAAG8P,MAAM,IAAI,IAAIlL,EAAE,GAAG6D,EAAE,EAAEC,EAAE9H,EAAEZ,OAAOyI,EAAEC,EAAED,IAAI7H,EAAE6H,GAAGuN,QAAQpR,EAAElF,KAAKkB,EAAE6H,GAAGuN,OAAOjT,EAAEnC,EAAE6H,GAAGqH,OAAOnJ,EAAEkkB,OAAOjmB,EAAE5E,OAAO4E,EAAEgM,OAAO,MAAMjK,EAAEmJ,MAAM,UAAUhN,GAAG6D,EAAE5B,KAAK,gBAAgB4B,EAAEmkB,MAAM,OAAOnkB,EAAEokB,UAAU,MAAMpkB,EAAEqkB,cAAchjB,EAAErB,EAAEiI,MAAM,IAAIjI,EAAE5B,KAAK,WAAW4B,EAAEiI,OAAO,IAAIzG,GAAG,KAAKxC,EAAEvB,YAAYuC,GAAG,OAAO,GAAGK,EAAE,SAASrB,EAAEC,GAAG9B,KAAK,GAAGA,KAAK9F,KAAK2H,EAAEA,EAAE8X,SAAQ,EAAG3Z,KAAKmX,GAAGvV,EAAEulB,OAAOtlB,EAAE0Y,UAAUva,KAAKmX,GAAGnX,KAAKgJ,EAAE,EAAEhJ,KAAK4I,EAAE,EAAE5I,KAAKsJ,MAAM,GAAGtJ,KAAKsX,MAAMxV,EAAE9B,KAAKgT,OAAOpR,EAAEoR,SAAShT,KAAKoF,EAAE,CAAC4C,UAAU,GAAGyL,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAE3I,IAAI,EAAEpO,MAAM,EAAE2W,OAAO,IAAI1R,EAAEwQ,SAASxQ,EAAEwQ,OAAOtS,MAAMA,KAAKqS,KAAKvQ,EAAEsQ,IAAItQ,EAAEsQ,MAAMtQ,EAAEsQ,IAAIG,KAAKvS,MAAM8B,EAAEsQ,IAAIpS,KAAKA,KAAKuS,KAAK,MAAMvP,EAAEpB,EAAEqV,GAAG/T,EAAEP,UAAUK,EAAEA,EAAElD,YAAYoD,EAAEF,EAAEgF,UAAU,SAASnG,GAAG,GAAG,MAAMA,EAAE,OAAO7B,KAAKoF,EAAE4C,UAAU,IAAI1L,EAAE0F,EAAEhC,KAAKsX,MAAM8P,cAActtB,EAAEkI,EAAE,IAAI,CAACA,EAAEuR,MAAMvR,EAAEuR,OAAO,QAAQ,CAACvR,EAAE2R,GAAG3R,EAAE4R,IAAIpP,EAAExC,IAAI1F,EAAEuF,EAAEC,EAAED,GAAGwJ,QAAQ,gBAAgBrL,KAAKoF,EAAE4C,WAAWxD,IAAI5C,EAAEsR,kBAAkBlT,KAAKlG,EAAE+H,GAAG,IAAIgB,EAAEX,EAAElC,KAAKgT,OAAO2B,QAAQ3V,EAAEgB,KAAKqnB,KAAKnjB,EAAElE,KAAK9F,KAAKmK,GAAGvC,EAAE9B,KAAKsJ,MAAMlM,MAAM+D,QAAQ,KAAKrE,GAAGgF,EAAE9B,KAAKsJ,MAAMlM,MAAM+D,QAAQ,QAAQ,GAAGe,EAAEmR,UAAU,EAAE,GAAGvW,GAAGuH,GAAG,SAASrE,KAAKiB,KAAK,GAAGjC,EAAEgU,OAAO,UAAUhU,EAAEkT,OAAO,MAAMrP,EAAEX,EAAE4S,QAAQzQ,GAAGxB,EAAEwS,aAAaxS,EAAEsS,SAAS,CAACjR,EAAEmG,MAAM3K,OAAOwC,EAAE2S,WAAW,IAAI/T,EAAEd,KAAK8S,UAAUnO,EAAE3E,KAAK8S,QAAQ,GAAGlO,EAAE9D,EAAE8D,EAAED,EAAEC,EAAEE,EAAEhE,EAAEiE,EAAEJ,EAAEI,EAAEb,EAAEwhB,YAAY9gB,GAAGG,EAAE9F,EAAE6F,GAAGC,EAAEO,EAAEtF,KAAK,EAAE,EAAE4E,EAAEE,EAAE,QAAQZ,EAAEmG,MAAM3K,OAAO8E,EAAEc,EAAEtF,KAAK6C,EAAEkS,OAAOlS,EAAEoS,OAAOpS,EAAE8Q,GAAG9Q,EAAE+Q,GAAG/Q,EAAEyQ,aAAapP,EAAEmG,MAAM3K,OAAO8E,EAAExF,EAAEgU,OAAOlR,EAAEI,GAAGlD,EAAEkT,OAAOhQ,EAAEgQ,SAAS,OAAO,OAAO5V,IAAI0D,KAAKoF,EAAE4C,UAAU1L,EAAEsF,EAAEsR,kBAAkBlT,KAAK1D,IAAI0D,MAAMgD,EAAEsQ,OAAO,SAAS1R,EAAEC,EAAEG,GAAG,GAAGhC,KAAK4a,QAAQ,OAAO5a,KAAK,GAAG,MAAM4B,EAAE,CAAC,IAAIA,EAAEE,EAAEF,GAAGkT,MAAM5Q,IAAIhI,OAAO,IAAI2F,EAAEvF,EAAEsF,EAAE,IAAII,EAAE1F,EAAEsF,EAAE,KAAKA,EAAEtF,EAAEsF,EAAE,IAAI,MAAMI,IAAIH,EAAEG,GAAG,MAAMH,GAAG,MAAMG,EAAE,CAAC,IAAIlI,EAAEkG,KAAK8S,QAAQ,GAAGjR,EAAE/H,EAAE8K,EAAE9K,EAAEmO,MAAM,EAAEjG,EAAElI,EAAEiL,EAAEjL,EAAE0N,OAAO,EAAE,OAAOxH,KAAKoF,EAAEoO,OAAO,EAAExT,KAAKgI,UAAUhI,KAAKoF,EAAE4C,UAAUwH,OAAO,CAAC,CAAC,IAAI5N,EAAEC,EAAEG,MAAMhC,OAAOgD,EAAEqQ,UAAU,SAASzR,EAAEC,GAAG,OAAO7B,KAAK4a,WAAehZ,EAAEE,EAAEF,GAAGkT,MAAM5Q,IAAIhI,OAAO,IAAI2F,EAAEvF,EAAEsF,EAAE,KAAKA,EAAEtF,EAAEsF,EAAE,KAAK,EAAEC,GAAGA,GAAG,EAAE7B,KAAKoF,EAAEyL,OAAO7Q,KAAKoF,EAAEyL,KAAKjM,GAAGhD,EAAE5B,KAAKoF,EAAEyL,KAAK9L,GAAGlD,GAAG7B,KAAKgI,UAAUhI,KAAKoF,EAAE4C,UAAUwH,OAAO,CAAC,CAAC,IAAI5N,EAAEC,OAAnK7B,MAAgLgD,EAAEuQ,MAAM,SAAS3R,EAAEC,EAAEG,EAAElI,GAAG,GAAGkG,KAAK4a,QAAQ,OAAO5a,KAAK,IAAI4B,EAAEE,EAAEF,GAAGkT,MAAM5Q,IAAIhI,OAAO,IAAI2F,EAAEvF,EAAEsF,EAAE,IAAII,EAAE1F,EAAEsF,EAAE,IAAI9H,EAAEwC,EAAEsF,EAAE,IAAI2f,MAAMvf,KAAKA,EAAE,MAAMuf,MAAMznB,KAAKA,EAAE,OAAO8H,EAAEtF,EAAEsF,EAAE,IAAI,MAAMC,IAAIA,EAAED,GAAG,MAAM9H,IAAIkI,EAAElI,GAAG,MAAMkI,GAAG,MAAMlI,EAAE,IAAI+I,EAAE7C,KAAK8S,QAAQ,GAAG,OAAO9Q,EAAE,MAAMA,EAAEa,EAAE+B,EAAE/B,EAAEoF,MAAM,EAAEjG,EAAElI,EAAE,MAAMA,EAAE+I,EAAEkC,EAAElC,EAAE2E,OAAO,EAAE1N,EAAEkG,KAAKgI,UAAUhI,KAAKoF,EAAE4C,UAAUwH,OAAO,CAAC,CAAC,IAAI5N,EAAEC,EAAEG,EAAElI,MAAMkG,KAAKoF,EAAEoO,OAAO,EAAExT,MAAMgD,EAAE+gB,KAAK,WAAW,OAAO/jB,KAAK4a,UAAU5a,KAAK9F,KAAKmQ,MAAM6B,QAAQ,QAAQlM,MAAMgD,EAAEghB,KAAK,WAAW,OAAOhkB,KAAK4a,UAAU5a,KAAK9F,KAAKmQ,MAAM6B,QAAQ1H,GAAGxE,MAAMgD,EAAEskB,WAAW1lB,EAAEqV,GAAGnE,QAAQ9P,EAAE8P,QAAQ,WAAW,IAAIlR,EAAE5B,KAAKsnB,aAAa,GAAGtnB,KAAKsX,OAAOtX,KAAKsX,MAAM8P,cAAc,CAAC,IAAIvlB,EAAE,GAAGC,EAAE,EAAE9B,KAAKsX,MAAM8P,cAAc7T,MAAM,OAAO1R,EAAE+C,EAAEhD,EAAEgD,EAAE5E,KAAKsX,MAAM8P,cAAczT,GAAG9R,EAAE+C,GAAG9C,EAAED,EAAEkD,EAAEnD,EAAEmD,EAAE/E,KAAKsX,MAAM8P,cAAcxT,GAAG/R,EAAEkD,GAAGjD,EAAED,EAAEoG,MAAMrG,EAAEqG,MAAMnG,EAAED,EAAE2F,OAAO5F,EAAE4F,OAAO1F,EAAED,EAAEuO,GAAGvO,EAAE+C,EAAE/C,EAAEoG,MAAMpG,EAAEwO,GAAGxO,EAAEkD,EAAElD,EAAE2F,OAAO3F,EAAE,OAAOD,GAAGoB,EAAEuG,SAAS,WAAW,OAAOvJ,KAAK4a,QAAQ,GAAG,CAAChW,EAAE5E,KAAKgJ,GAAGhJ,KAAK4mB,KAAK,GAAG5mB,KAAK2I,EAAE,EAAE5D,EAAE/E,KAAK4I,EAAE5I,KAAK+I,EAAEd,MAAMjI,KAAK2I,EAAEnB,OAAOxH,KAAK+I,IAAI/F,EAAEihB,OAAO,WAAW,IAAIjkB,KAAK4a,SAAS5a,KAAK9F,KAAKI,WAAW,CAAC,IAAI,IAAIuH,KAAK7B,KAAKsX,MAAM4B,SAASlZ,KAAKsX,MAAM4B,QAAQkG,QAAQpf,MAAM4B,EAAE0B,IAAI2U,OAAO,eAAejY,KAAKmX,IAAIvV,EAAEuQ,MAAMnS,KAAKA,KAAKsX,OAAOtX,KAAK9F,KAAKI,WAAWC,YAAYyF,KAAK9F,MAAM8F,KAAKkY,OAAOlY,KAAKkY,MAAM5d,WAAWC,YAAYyF,KAAKkY,OAAOlY,KAAKA,KAAK6B,GAAG,mBAAmB7B,KAAK6B,GAAGD,EAAE+O,gBAAgB9O,GAAG,KAAK7B,KAAK4a,SAAQ,IAAK5X,EAAExC,KAAK,SAASsB,EAAExF,GAAG,GAAG0D,KAAK4a,QAAQ,OAAO5a,KAAK,GAAG,MAAM8B,EAAE,CAAC,IAAIE,EAAE,GAAG,IAAI,IAAIlI,KAAKkG,KAAKsJ,MAAMtJ,KAAKsJ,MAAMzH,GAAG/H,KAAKkI,EAAElI,GAAGkG,KAAKsJ,MAAMxP,IAAI,OAAOkI,EAAEuF,UAAU,QAAQvF,EAAE5E,OAAO4E,EAAE5E,KAAK4E,EAAEuF,kBAAkBvF,EAAEuF,SAASvF,EAAEgG,UAAUhI,KAAKoF,EAAE4C,UAAUhG,EAAE,GAAG,MAAM1F,GAAGsF,EAAEkB,GAAGhB,EAAE,UAAU,CAAC,GAAG,QAAQA,GAAG,QAAQ9B,KAAKsJ,MAAMlM,MAAM4C,KAAKsJ,MAAM/B,SAAS,OAAOvH,KAAKsJ,MAAM/B,SAAS,IAAI,IAAI1E,EAAEf,EAAEgT,MAAM5Q,GAAGhC,EAAE,GAAGlD,EAAE,EAAEC,EAAE4D,EAAE3G,OAAO8C,EAAEC,EAAED,KAAK8C,EAAEe,EAAE7D,MAAMgB,KAAKsJ,MAAMpH,EAAEJ,GAAG9B,KAAKsJ,MAAMxH,GAAGF,EAAEkB,GAAG9C,KAAKsX,MAAM/S,iBAAiBzC,GAAG,YAAYI,EAAEJ,GAAG9B,KAAKsX,MAAM/S,iBAAiBzC,GAAGuiB,IAAIniB,EAAEJ,GAAGF,EAAEqF,gBAAgBnF,GAAG,OAAO7C,EAAE,EAAEiD,EAAEA,EAAEW,EAAE,IAAI,GAAG7C,KAAKsJ,OAAO,MAAMhN,GAAGsF,EAAEkB,GAAGhB,EAAE,SAAS,CAAC,IAAII,EAAE,GAAGlD,EAAE,EAAEC,EAAE6C,EAAE5F,OAAO8C,EAAEC,EAAED,IAAIkD,EAAEJ,EAAE9C,IAAIgB,KAAKQ,KAAKsB,EAAE9C,IAAI,OAAOkD,EAAE,IAAIsC,EAAE,IAAI,IAAI1H,KAAK,MAAMR,KAAKkI,EAAE,IAAI1C,GAAGxF,GAAG,MAAMA,GAAGsF,EAAEkB,GAAGhB,EAAE,YAAY0C,EAAE1C,GAAG0C,EAAEH,EAAE,gBAAgBvH,EAAE,IAAIkD,KAAKmX,GAAGnX,KAAKwE,EAAE1H,IAAI,GAAG0H,EAAE,CAAC,IAAI1H,KAAKkD,KAAKsX,MAAM/S,iBAAiB,GAAGvE,KAAKsX,MAAM/S,iBAAiB1C,GAAG/E,IAAI0H,EAAE3C,GAAG/E,IAAI8E,EAAEkB,GAAG9C,KAAKsX,MAAM/S,iBAAiBzH,GAAG,YAAY,CAAC,IAAIgE,EAAEd,KAAKsX,MAAM/S,iBAAiBzH,GAAGwS,MAAMtP,KAAK,GAAGwP,OAAOhL,EAAE1H,KAAK,IAAI,IAAI6H,KAAK3E,KAAKsJ,MAAMxM,GAAG0H,EAAE1H,GAAGgE,EAAEA,EAAEe,GAAG8C,KAAKH,EAAEG,GAAG7D,EAAE6D,IAAIH,EAAEX,MAAM,QAAQ7D,KAAKiB,OAAOjB,KAAK+lB,SAASW,OAAOliB,EAAEX,MAAM+B,EAAE5F,KAAKwE,GAAG,OAAOxE,MAAMgD,EAAEshB,QAAQ,WAAW,OAAOtkB,KAAK4a,SAAS5a,KAAK9F,KAAKI,WAAWgG,YAAYN,KAAK9F,MAAM8F,KAAKsX,OAAOtX,KAAKsX,MAAMlF,KAAKpS,MAAM4B,EAAE6Q,SAASzS,KAAKA,KAAKsX,OAAOtX,MAAMgD,EAAEuhB,OAAO,WAAW,OAAOvkB,KAAK4a,SAAc5a,KAAK9F,KAAKI,WAAW8P,YAAYpK,KAAK9F,OAAO8F,KAAK9F,KAAKI,WAAWF,aAAa4F,KAAK9F,KAAK8F,KAAK9F,KAAKI,WAAW8P,YAAYxI,EAAE8Q,QAAQ1S,KAAKA,KAAKsX,QAApJtX,MAAmKgD,EAAEqc,YAAY,SAASxd,GAAG,OAAO7B,KAAK4a,UAAc/Y,EAAE/B,aAAa8B,EAAE4K,GAAG1M,cAAc+B,EAAEA,EAAEA,EAAE3F,OAAO,IAAI2F,EAAE3H,KAAKkd,YAAYvV,EAAE3H,KAAKI,WAAWF,aAAa4F,KAAK9F,KAAK2H,EAAE3H,KAAKkd,aAAavV,EAAE3H,KAAKI,WAAWgG,YAAYN,KAAK9F,MAAM0H,EAAE+Q,aAAa3S,KAAK6B,EAAE7B,KAAKsX,QAA7MtX,MAA2NgD,EAAE5I,aAAa,SAASyH,GAAG,OAAO7B,KAAK4a,UAAc/Y,EAAE/B,aAAa8B,EAAE4K,GAAG1M,cAAc+B,EAAEA,EAAE,IAAIA,EAAE3H,KAAKI,WAAWF,aAAa4F,KAAK9F,KAAK2H,EAAE3H,MAAM0H,EAAEgR,cAAc5S,KAAK6B,EAAE7B,KAAKsX,QAA7HtX,MAA2IgD,EAAEkE,KAAK,SAASrF,GAAG,IAAIC,EAAE9B,KAAK9F,KAAKqtB,aAAajrB,EAAEwF,EAAEpC,OAAO,OAAOpD,EAAEA,EAAE+O,QAAQ1G,EAAEH,GAAG,IAAI3C,GAAG7B,KAAKsJ,MAAMpC,KAAKrF,EAAEC,EAAEpC,OAAOpD,EAAE2C,EAAE,yDAAyD4C,GAAG,KAAK,IAAIC,EAAE0lB,OAAO5lB,EAAEuX,OAAO,oBAAoBrf,GAAG+H,GAAG,QAAQC,EAAEpC,OAAOpD,EAAEwF,EAAE0lB,OAAO,SAASxnB,KAAKsJ,MAAMpC,MAAMlH,MAAM4B,EAAEqB,QAAQU,KAAK,SAAS/B,EAAEC,GAAG,IAAIC,EAAE0D,EAAE,SAAS1D,EAAEuI,MAAMqD,QAAQ5I,EAAEhD,EAAEyjB,UAAUxgB,EAAE9F,EAAE8F,EAAEjD,EAAE4jB,YAAY7jB,EAAE6jB,YAAY,IAAIppB,EAAE,IAAI4G,EAAEpB,EAAED,GAAGG,EAAE,CAAC5E,KAAK,OAAO0K,OAAO,QAAQlG,IAAII,EAAE2B,KAAK/B,GAAGtF,EAAE2E,KAAK,OAAO3E,EAAEqH,KAAK,GAAGrH,EAAEmrB,KAAKjjB,EAAEoB,EAAEtJ,EAAE0F,GAAGH,EAAE2X,QAAQ3X,EAAE2X,OAAOlZ,YAAYwB,GAAG,IAAIhI,EAAE0L,EAAE,QAAQ,OAAO1L,EAAEiJ,IAAG,EAAGjB,EAAExB,YAAYxG,GAAGwC,EAAE+qB,KAAKvtB,EAAEwC,EAAE0L,UAAUxD,GAAGlI,GAAGsF,EAAEqB,QAAQS,KAAK,SAAS7B,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,GAAG,IAAIX,EAAEN,EAAEsH,UAAUpH,EAAExF,EAAE0F,EAAElI,EAAE+I,GAAG7D,EAAE6C,EAAE8B,KAAKzB,GAAGgC,EAAElF,EAAEsK,MAAM,OAAOtK,EAAEgK,EAAE9E,EAAEU,EAAE9C,EAAE9C,EAAE4J,EAAE1E,EAAEa,EAAEzI,EAAE0C,EAAE2J,EAAEzE,EAAE+D,MAAMjG,EAAEhD,EAAE+J,EAAE7E,EAAEsD,OAAO1N,EAAEoK,EAAEpC,EAAEe,EAAEqB,EAAEP,KAAKzB,EAAElD,EAAEiC,KAAK,OAAOjC,GAAG4C,EAAEqB,QAAQW,QAAQ,SAAShC,EAAEC,EAAEC,EAAExF,EAAE0F,GAAG,IAAIlI,EAAE8H,EAAE+B,OAAe,OAAR7J,EAAEwP,MAAaxP,EAAEkP,EAAEnH,EAAEvF,EAAExC,EAAE8O,EAAE9G,EAAEE,EAAElI,EAAE6O,EAAE,EAAErM,EAAExC,EAAEiP,EAAE,EAAE/G,EAAElI,EAAEmH,KAAK,UAAU2E,EAAE9L,EAAE,CAACsN,GAAGvF,EAAEwF,GAAGvF,EAAE6F,GAAGrL,EAAEsL,GAAG5F,IAAIlI,GAAG8H,EAAEqB,QAAQQ,OAAO,SAAS7B,EAAEC,EAAEC,EAAExF,GAAG,IAAI0F,EAAEJ,EAAE+B,OAAe,OAAR3B,EAAEsH,MAAatH,EAAEgH,EAAEnH,EAAEvF,EAAE0F,EAAE4G,EAAE9G,EAAExF,EAAE0F,EAAE2G,EAAE3G,EAAE+G,EAAE,EAAEzM,EAAE0F,EAAEf,KAAK,SAAS2E,EAAE5D,EAAE,CAACoF,GAAGvF,EAAEwF,GAAGvF,EAAEA,EAAExF,IAAI0F,GAAGJ,EAAEqB,QAAQa,MAAM,SAASjC,EAAEC,EAAExF,EAAE0F,EAAElI,EAAE+I,GAAG,IAAIX,EAAEN,EAAEsH,UAAU5M,EAAE0F,EAAElI,EAAE+I,GAAG7D,EAAE6C,EAAE8B,KAAKzB,GAAG1B,KAAK,CAACsH,OAAO,SAAS5D,EAAElF,EAAEsK,MAAMjF,EAAErF,EAAE9E,KAAK+E,EAAEoF,EAAEwe,qBAAqB,QAAQ,GAAG,OAAO3e,EAAE2D,IAAI/F,EAAE9C,EAAEgK,EAAE9E,EAAEU,EAAEtI,EAAE0C,EAAE4J,EAAE1E,EAAEa,EAAE/C,EAAEhD,EAAE2J,EAAEzE,EAAE+D,MAAMnO,EAAEkF,EAAE+J,EAAE7E,EAAEsD,OAAO3E,EAAEqB,EAAEP,KAAKzB,EAAElD,EAAEiC,KAAK,QAAQhC,EAAE3E,YAAY+J,GAAGA,EAAE9J,YAAY0E,GAAGA,EAAEqU,QAAO,EAAGrU,EAAE4I,IAAI/F,EAAE7C,EAAEgC,KAAK,OAAOjC,EAAEoG,EAAEkgB,QAAQ,CAAChpB,EAAE0F,GAAGhD,EAAEoG,EAAEugB,SAAS,CAAC7rB,EAAE+I,GAAGwB,EAAE/D,YAAYrB,GAAGqG,EAAEtG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGA,GAAG4C,EAAEqB,QAAQY,KAAK,SAAShC,EAAEvF,EAAE0F,EAAEa,GAAG,IAAIX,EAAEsD,EAAE,SAASxG,EAAEwG,EAAE,QAAQtB,EAAEsB,EAAE,YAAYlJ,EAAEA,GAAG,EAAE0F,EAAEA,GAAG,EAAEa,EAAEA,GAAG,GAAG7D,EAAE8F,EAAElD,EAAEuX,OAAO,mBAAmBrf,EAAEwC,EAAEyI,GAAGjL,EAAEkI,EAAE+C,GAAGjL,EAAEwC,EAAEyI,GAAG,GAAG/F,EAAE0oB,YAAW,EAAGxjB,EAAEwiB,OAAO5kB,EAAEe,GAAGqB,EAAEnB,IAAG,EAAGb,EAAEmI,MAAMqD,QAAQ5I,EAAE5C,EAAEqjB,UAAUxgB,EAAE9F,EAAE8F,EAAE7C,EAAEwjB,YAAY,MAAM,IAAIrhB,EAAE,IAAInB,EAAEhB,EAAEL,GAAG/E,EAAE,CAACM,KAAK,OAAO0K,OAAO,OAAOR,KAAK1F,EAAEqF,gBAAgBK,KAAKzD,KAAKhB,GAAGwB,EAAE6T,MAAMhW,EAAEmC,EAAEV,KAAK3E,EAAEqF,EAAE0hB,SAAS7hB,EAAEG,EAAEpD,KAAK,OAAOoD,EAAEiF,MAAMzF,KAAK/B,EAAEe,GAAGwB,EAAEiF,MAAM1E,EAAEtI,EAAE+H,EAAEiF,MAAMvE,EAAE/C,EAAEqC,EAAEiF,MAAMhE,EAAE,EAAEjB,EAAEiF,MAAMpF,EAAE,EAAE0B,EAAEvB,EAAEvH,GAAGoF,EAAE5B,YAAY4D,GAAGhC,EAAE5B,YAAYtB,GAAG6C,EAAE2X,OAAOlZ,YAAY4B,GAAG,IAAIpB,EAAE0E,EAAE,QAAQ,OAAO1E,EAAEiC,IAAG,EAAGb,EAAE5B,YAAYQ,GAAGuD,EAAEgjB,KAAKvmB,EAAEuD,EAAE2D,UAAUxD,GAAGH,GAAGzC,EAAEqB,QAAQwW,QAAQ,SAAS5X,EAAEC,GAAG,IAAIxF,EAAE0D,KAAKwZ,OAAOnP,MAAM,OAAOrK,KAAKiI,MAAMpG,EAAE7B,KAAKwH,OAAO1F,EAAED,IAAIA,IAAIA,GAAG,MAAMC,IAAIA,IAAIA,GAAG,MAAMxF,EAAE2L,MAAMpG,EAAEvF,EAAEkL,OAAO1F,EAAExF,EAAEonB,KAAK,UAAU7hB,EAAE,IAAIC,EAAE,MAAM9B,KAAK4kB,UAAUhjB,EAAEqB,QAAQyW,WAAWpK,MAAMtP,KAAKA,KAAK4kB,UAAU5kB,MAAM4B,EAAEqB,QAAQyW,WAAW,SAAS7X,EAAEC,EAAExF,EAAE0F,EAAElI,GAAG8H,EAAE0B,IAAI,qBAAqBtD,KAAKA,KAAK4kB,SAAS,CAAC/iB,EAAEC,EAAExF,EAAE0F,EAAElI,IAAI,IAAI+I,EAAEX,EAAElD,EAAEgB,KAAKuZ,UAAUrV,EAAElF,EAAEiJ,MAAM5D,EAAErF,EAAEwI,OAAO,OAAO1N,IAAIwC,GAAGuG,EAAEwB,EAAErC,GAAGkC,IAAIrC,IAAIqC,EAAE5H,EAAEuG,GAAG,EAAEA,GAAGb,GAAGE,EAAEgC,EAAE5H,GAAG+H,IAAIvC,IAAIuC,EAAErC,EAAEE,GAAG,EAAEA,IAAIlC,KAAK4kB,SAAS,CAAC/iB,EAAEC,EAAExF,EAAE0F,IAAIlI,GAAGkG,KAAKonB,cAAc,CAACzT,IAAI9R,EAAE+R,IAAI9R,EAAEyR,MAAMvU,GAAGgB,KAAKtG,SAAQ,SAASkI,GAAGA,EAAEoG,UAAU,UAAShI,MAAM4B,EAAEqB,QAAQsI,QAAQ,SAAS3J,GAAG,IAAIC,EAAED,EAAEoC,SAASnC,EAAE8lB,YAAYzrB,OAAO,GAAG2F,EAAE+lB,mBAAmBC,QAAQ,QAAQ,8BAA8BhmB,EAAE8lB,YAAY,GAAGE,QAAQ,QAAQ,8BAA8B,KAAKhmB,EAAEimB,WAAWC,MAAMlmB,EAAEimB,WAAWrrB,IAAI,OAAO,iCAAiC+I,EAAE,SAAS5D,GAAG,OAAOC,EAAEqI,cAAc,SAAStI,EAAE,mBAAmB,MAAMA,GAAG4D,EAAE,SAAS5D,GAAG,OAAOC,EAAEqI,cAAc,IAAItI,EAAE,2DAA2DA,EAAEqB,QAAQsI,QAAQ3J,EAAEgI,GAAG3F,KAAKrC,EAAEqB,QAAQ1J,OAAO,WAAW,IAAIsI,EAAED,EAAEqS,cAAc3E,MAAM,EAAElM,WAAWtB,EAAED,EAAEuS,UAAU9X,EAAEuF,EAAE2F,OAAOxF,EAAEH,EAAEoG,MAAMnO,EAAE+H,EAAE+C,EAAE/B,EAAEhB,EAAEkD,EAAE,IAAIjD,EAAE,MAAM,IAAI5G,MAAM,4BAA4B,IAAIgH,EAAE,IAAIN,EAAE+I,OAAO3L,EAAEkD,EAAEsX,OAAO5X,EAAEgI,GAAG7F,IAAImG,cAAc,OAAOhG,EAAElF,EAAEqL,MAAM,OAAOvQ,EAAEA,GAAG,EAAE+I,EAAEA,GAAG,EAAEb,EAAEA,GAAG,IAAI1F,EAAEA,GAAG,IAAI4F,EAAE+F,MAAMjG,EAAEE,EAAEsF,OAAOlL,EAAE0F,IAAIA,IAAIA,GAAG,MAAM1F,IAAIA,IAAIA,GAAG,MAAM4F,EAAEqjB,UAAU,MAAMtmB,EAAE,MAAMiD,EAAEwjB,YAAY,MAAMxjB,EAAEukB,KAAK7kB,EAAEgI,GAAG7F,IAAImG,cAAc,QAAQhI,EAAEukB,KAAKpc,MAAMqD,QAAQ,+EAA+E1O,EAAEsB,YAAY4B,EAAEukB,MAAMviB,EAAEwJ,QAAQ9L,EAAEuX,OAAO,kHAAkHnX,EAAE1F,GAAG,GAAGwF,GAAGF,EAAEgI,GAAG7F,IAAI6H,KAAKtL,YAAYtB,GAAGkF,EAAEgW,KAAKpgB,EAAE,KAAKoK,EAAEkO,IAAIvP,EAAE,KAAKqB,EAAE0hB,SAAS,YAAY9jB,EAAEsI,WAAWtI,EAAE1H,aAAa4E,EAAE8C,EAAEsI,YAAYtI,EAAExB,YAAYtB,GAAGkD,EAAE8iB,UAAU,aAAa9iB,GAAGN,EAAEe,UAAUjG,MAAM,WAAWkF,EAAE0B,IAAI,gBAAgBtD,MAAMA,KAAKwZ,OAAOrP,UAAU3F,EAAExE,KAAKymB,KAAK7kB,EAAEgI,GAAG7F,IAAImG,cAAc,QAAQlK,KAAKymB,KAAKpc,MAAMqD,QAAQ,8FAA8F1N,KAAKwZ,OAAOlZ,YAAYN,KAAKymB,MAAMzmB,KAAKsS,OAAOtS,KAAKoS,IAAI,MAAMxQ,EAAEe,UAAUshB,OAAO,WAAW,IAAI,IAAIpiB,KAAKD,EAAE0B,IAAI,iBAAiBtD,MAAMA,KAAKwZ,OAAOlf,WAAWC,YAAYyF,KAAKwZ,QAAQxZ,KAAKA,KAAK6B,GAAG,mBAAmB7B,KAAK6B,GAAGD,EAAE+O,gBAAgB9O,GAAG,KAAK,OAAM,GAAI,IAAImE,EAAEpE,EAAE4K,GAAG,IAAI,IAAItG,KAAKlD,EAAEA,EAAEnB,GAAGqE,KAAKF,EAAEnE,GAAGqE,KAAKF,EAAEE,GAAG,SAAStE,GAAG,OAAO,WAAW,IAAIC,EAAEuB,UAAU,OAAOpD,KAAKtG,SAAQ,SAASoI,GAAGA,EAAEF,GAAG0N,MAAMxN,EAAED,OAA3F,CAAkGqE,MAAMoJ,MAAMzN,EAAEvF,MAAMsF,EAAEG,QAAQC,qDCSl81F,MAAMgmB,EAEpBloB,YAAYmoB,GAEX,GAAIC,EAAYD,GACf,MAAM,IAAI/sB,MAAM,6DAEjB8E,KAAKgY,OAAS,GAEdhY,KAAK9F,KAAO+tB,EAAOtpB,QAEnB,MAAMwpB,EAAUnoB,KAAK9F,KAAKiuB,QAAUnoB,KAAK9F,KAAKiuB,QAAU,GAuNxD,IAAIC,EACHC,EACAC,EACAC,EACAC,EACA7U,EACAC,EACA6U,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GArOgB,MADClB,EAAYD,EAAOoB,WAAYpB,EAAOoB,YAEvDpB,EAkwCH,SAAgBqB,GACfA,EAAMA,GAAO,GAEb,IAAK,IAAIhtB,EAAI,EAAGA,EAAI8G,UAAUlH,OAAQI,IACrC,GAAK8G,UAAU9G,GAIf,IAAK,MAAM8D,KAAOgD,UAAU9G,GACvBhD,OAAOqJ,UAAUC,eAAeX,KAAKmB,UAAU9G,GAAI8D,KACtDkpB,EAAIlpB,GAAOgD,UAAU9G,GAAG8D,IAK3B,OAAOkpB,EAjxCIC,CAAO,WACTtB,EAAOoB,UAIfrpB,KAAKioB,OAAS,CAGbtpB,QAASspB,EAAOtpB,QAIhB6qB,QAixCK,uCAAuCne,QAAQ,SAAS,SAAUpM,GACxE,MAAM6C,EAAqB,GAAhBuD,KAAK+F,SAAiB,EAC3BtG,EAAU,MAAN7F,EAAY6C,EAAS,EAAJA,EAAW,EACtC,OAAOgD,EAAEmB,SAAS,OAhxCjBpL,MAAO4uB,EAAS,QAASxB,EAAQE,EAAS,EAAG,SAI7CkB,SAAUI,EAAS,WAAYxB,EAAQE,EAAS,GAAG,GAInD7tB,WAAYmvB,EAAS,aAAcxB,EAAQE,EAAS,MAIpDlgB,MAAOwhB,EAAS,QAASxB,EAAQE,EAAS,MAI1C3gB,OAAQiiB,EAAS,SAAUxB,EAAQE,EAAS,MAI5CuB,eAAgBD,EAAS,iBAAkBxB,EAAQE,EAAS,WAI5DwB,gBAAiBF,EAAS,kBAAmBxB,EAAQE,EAAS,SAI9DyB,OAAQH,EAAS,SAAUxB,EAAQE,EAAS,IAI5C1iB,IAAKgkB,EAAS,MAAOxB,EAAQE,EAAS,EAAG,SAIzC0B,OAAQJ,EAAS,SAAUxB,EAAQE,GAAS,GAI5C5iB,IAAKkkB,EAAS,MAAOxB,EAAQE,EAAS,IAAK,SAI3C2B,OAAQL,EAAS,SAAUxB,EAAQE,GAAS,GAI5C4B,QAASN,EAAS,UAAWxB,EAAQE,GAAS,GAI9C6B,qBAAsBP,EAAS,uBAAwBxB,EAAQE,EAAS,GAIxE8B,aAAcR,EAAS,eAAgBxB,EAAQE,EAAS,MAIxD+B,eAAgBT,EAAS,iBAAkBxB,EAAQE,EAAS,MAI5DgC,gBAAiBV,EAAS,kBAAmBxB,EAAQE,EAAS,GAI9DiC,WAAYX,EAAS,aAAcxB,EAAQE,EAAS,WAIpDkC,MAAOZ,EAAS,QAASxB,EAAQE,EAAS,IAI1CmC,eAAgBb,EAAS,iBAAkBxB,EAAQE,EAAS,WAI5DoC,gBAAiBd,EAAS,kBAAmBxB,EAAQE,EAAS,SAI9DqC,cAAef,EAAS,gBAAiBxB,EAAQE,EAAS,IAI1DsC,WAAYhB,EAAS,aAAcxB,EAAQE,EAAS,GAIpDuC,qBAAsBjB,EAAS,uBAAwBxB,EAAQE,EAAS,GAIxEwC,YAAalB,EAAS,cAAexB,EAAQE,EAAS,CAAC,UAAW,UAAW,WAAY,SAIzFyC,mBAAoBnB,EAAS,qBAAsBxB,EAAQE,EAAS,KAIpE0C,mBAAoBpB,EAAS,qBAAsBxB,EAAQE,EAAS,KAIpE2C,qBAAsBrB,EAAS,uBAAwBxB,EAAQE,EAAS,KAIxE4C,qBAAsBtB,EAAS,uBAAwBxB,EAAQE,EAAS,KAIxE6C,gBAAiBvB,EAAS,kBAAmBxB,EAAQE,EAAS,IAI9D8C,iBAAkBxB,EAAS,mBAAoBxB,EAAQE,EAAS,IAIhE+C,iBAAkBzB,EAAS,mBAAoBxB,EAAQE,EAAS,IAIhEgD,oBAAqB1B,EAAS,sBAAuBxB,EAAQE,EAAS,IAItEiD,oBAAqB3B,EAAS,sBAAuBxB,EAAQE,EAAS,IAItEkD,UAAW5B,EAAS,YAAaxB,EAAQE,GAAS,GAIlDmD,WAAY7B,EAAS,aAAcxB,EAAQE,GAAS,GAIpDoD,gBAAiB9B,EAAS,kBAAmBxB,EAAQE,GAAS,GAI9DqD,cAAe/B,EAAS,gBAAiBxB,EAAQE,GAAS,GAI1DsD,WAAYhC,EAAS,aAAcxB,EAAQE,GAAS,GAIpDuD,MAAOjC,EAAS,QAASxB,EAAQE,GAAS,GAI1CwD,kBAAmBlC,EAAS,oBAAqBxB,EAAQE,GAAS,GAIlEyD,QAASnC,EAAS,UAAWxB,EAAQE,GAAS,GAI9C0D,SAAUpC,EAAS,WAAYxB,EAAQE,EAAS,GAMhD2D,cAAerC,EAAS,gBAAiBxB,EAAQE,EAAS,IAI1D4D,aAActC,EAAS,eAAgBxB,EAAQE,GAAS,GAIxD6D,QAASvC,EAAS,UAAWxB,EAAQE,GAAS,GAI9C8D,eAAgBxC,EAAS,iBAAkBxB,EAAQE,EAAS,IAI5D+D,iBAAkBzC,EAAS,mBAAoBxB,EAAQE,GAAS,IAyB7DnoB,KAAKioB,OAAOptB,MAAQmF,KAAKioB,OAAO1iB,MAAKvF,KAAKioB,OAAOptB,MAAQmF,KAAKioB,OAAO1iB,KACrEvF,KAAKioB,OAAOptB,MAAQmF,KAAKioB,OAAOxiB,MAAKzF,KAAKioB,OAAOptB,MAAQmF,KAAKioB,OAAOxiB,KACzEzF,KAAKmsB,cAAgB1C,EAAS,QAASxB,EAAQE,GAAU,EAAG,SAG5DnoB,KAAKwZ,OAASpV,EAAQpE,KAAKioB,OAAOtpB,QAAS,OAAQ,SAGb,IAAlCqB,KAAKioB,OAAO0D,mBACW,IAAtB3rB,KAAKioB,OAAOyD,OACf1rB,KAAKwZ,OAAOE,WAAW,EAAG,EAAG,IAAK,KAAK,GACvC0O,EAAU,IACVC,EAAU,MAEVroB,KAAKwZ,OAAOE,WAAW,EAAG,EAAG,IAAK,KAAK,GACvC0O,EAAU,IACVC,EAAU,KAEqB,OAAtBroB,KAAKioB,OAAOhgB,OAAyC,OAAvBjI,KAAKioB,OAAOzgB,QACpD4gB,EAAUpoB,KAAKioB,OAAOhgB,MACtBogB,EAAUroB,KAAKioB,OAAOzgB,QACe,OAA3BxH,KAAKioB,OAAO3tB,YACtB0F,KAAKwZ,OAAOE,WAAW,EAAG,EAAG,IAAK,KAAK,GACvC0O,EAAU,IACVC,EAAU,MAEVD,EAAwE,EAA9DgE,OAAOC,EAASrsB,KAAKioB,OAAOtpB,QAAS,SAASwE,MAAM,GAAI,IAClEklB,EAAyE,EAA/D+D,OAAOC,EAASrsB,KAAKioB,OAAOtpB,QAAS,UAAUwE,MAAM,GAAI,MAI1C,IAAtBnD,KAAKioB,OAAOyD,OACXtD,EAAUC,GAEbE,EAAUF,EACVC,EAAUC,IAIVD,EAAUF,EACVG,EAAUD,GAQX3U,GAAMyU,EAAUE,GAAW,EAC3B1U,GAAMyU,EAAUE,GAAW,EAG3BE,EAAgBF,EAAU,IAAM,GAAKA,EAAU,IAAM,GACrDG,EAAS/U,EAAK2U,EAAU,EAEvBK,EADyB,KAAtB3oB,KAAKioB,OAAOoC,MACNzW,EAAK2U,EAAU,KAEf3U,EAAK2U,EAAU,IAIzBK,EAAgBL,EAAU,GAAK,GAAKA,EAAU,GAAK,GACnDM,EAASlV,EAAK2U,EAAU,EACxBQ,EAASH,EAASC,EAGlBG,EAAcR,EAAU,GAAK,GAAKA,EAAU,GAAK,GACjDS,EAAOrV,EAAK2U,EAAU,GAAOA,EAAU,kBAAqBtoB,KAAKioB,OAAOkC,gBAAmB,EAC3FlB,EAAOH,EAGPI,EAAcX,EAAU,GAAK,GAAKA,EAAU,GAAK,GACjDY,EAAOxV,EAAK2U,EAAUA,EAAU,GAAOA,EAAU,kBAAqBtoB,KAAKioB,OAAOkC,gBAAmB,EACrGf,EAAON,IAEHV,EAAUC,GAEbE,EAAUF,EACVC,EAAoB,EAAVC,EACND,EAAUF,IAEbI,EAASF,EAAUF,EACnBE,GAAoBE,EACpBD,GAAoBC,IAEXJ,EAAUC,GAEpBC,EAAUF,EACVG,EAAUD,EAAU,IAGpBA,EAAUF,EACVG,EAAoB,GAAVD,GAIX3U,GAAMyU,EAAUE,GAAW,EAC3B1U,GAAMyU,EAAUE,GAAW,EAG3BE,EAAgBF,EAAU,IAAMvoB,KAAKioB,OAAOgD,iBAAmB1C,EAAU,IAAMvoB,KAAKioB,OAAOgD,iBAC3FvC,EAAS/U,EAAK2U,EAAU,EACxBK,EAAS/U,EAAK2U,EAAU,MAGxBK,EAAgBL,EAAU,GAAKvoB,KAAKioB,OAAOiD,iBAAmB3C,EAAU,GAAKvoB,KAAKioB,OAAOiD,iBACzFrC,EAASlV,EAAK2U,EAAU,EACxBQ,EAASH,EAASF,EAAgB,EAAI,EAGtCM,EAAcR,EAAU,GAAKvoB,KAAKioB,OAAOkD,oBAAsB5C,EAAU,GAAKvoB,KAAKioB,OAAOkD,oBAC1FnC,EAAOrV,EAAK2U,EAAU,GAAOA,EAAU,kBAAqBtoB,KAAKioB,OAAOkC,gBAAmB,EAC3FlB,EAAOH,EAGPI,EAAcX,EAAU,GAAKvoB,KAAKioB,OAAOmD,oBAAsB7C,EAAU,GAAKvoB,KAAKioB,OAAOmD,oBAC1FjC,EAAOxV,EAAK2U,EAAUA,EAAU,GAAOA,EAAU,kBAAqBtoB,KAAKioB,OAAOkC,gBAAmB,EACrGf,EAAON,GAIR9oB,KAAKssB,OAAS,CACblE,QAASA,EACTC,QAASA,EACTC,QAASA,EACTC,QAASA,EACT5U,GAAIA,EACJC,GAAIA,EACJ6U,cAAeA,EACfC,OAAQA,EACRC,OAAQA,EACRC,cAAeA,EACfC,OAAQA,EACRC,OAAQA,EACRC,YAAaA,EACbC,KAAMA,EACNC,KAAMA,EACNC,YAAaA,EACbC,KAAMA,EACNC,KAAMA,GAYPppB,KAAKwZ,OAAOjV,iBAAiBgoB,IAAO1xB,IACnC,IAAI4K,EAAMzF,KAAKioB,OAAOxiB,IAClBF,EAAMvF,KAAKioB,OAAO1iB,IACtB,MAAMD,EAAItF,KAAKssB,OAAOhE,QAChBpkB,EAAIlE,KAAKssB,OAAO/D,QAChB5U,EAAK3T,KAAKssB,OAAO3Y,GACjBC,EAAK5T,KAAKssB,OAAO1Y,GACjB4Y,EAAMxsB,KAAKioB,OAAOkC,gBAGxB,IAAIja,EAAOuc,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIrpB,EAQ3C,OANI8B,EAAM,IACTF,GAAOE,EACP5K,GAAS4K,EACTA,EAAM,GAPOzF,KAAKioB,OAAOyD,OAWzBxb,GAAS,EAAK,GAAKrV,EAAQ4K,IAASF,EAAME,IAAQJ,KAAKU,GACvD0mB,EAAKnnB,EAAI,EAAIA,EAAI,GACjBonB,EAAKD,EAAMnnB,EAAI,kBAAqBknB,EAEpCG,EAAKrnB,EAAI,EAAIqO,EACbiZ,EAAK1oB,EAAI,EAAI0P,EAEbiZ,EAAKF,EAAKF,EAAKpnB,KAAKiM,IAAIpB,GACxB4c,EAAKF,EAAKH,EAAKpnB,KAAKkM,IAAIrB,GACxB6c,EAAKJ,EAAKD,EAAKrnB,KAAKiM,IAAIpB,GACxB8c,EAAKJ,EAAKF,EAAKrnB,KAAKkM,IAAIrB,GAExBvM,EAAO,KAAOgpB,EAAKD,GAAM,IAAME,EAAK,IACpCjpB,GAAQ,KAAOgpB,EAAKF,GAAM,IAAMG,EAAK,IACjC/xB,EAAQ4K,GAAOF,EAAME,GAAO,IAC/B9B,GAAQ,IAAM8oB,EAAK,IAAMA,EAAK,WAAaE,EAAKF,GAAM,IAAMG,EAAK,KAElEjpB,GAAQ,IAAM8oB,EAAK,IAAMA,EAAK,UAAYI,EAAK,IAAMC,EAAK,IAC1DnpB,GAAQ,IAAMopB,EAAK,IAAMC,EAAK,IAC1BnyB,EAAQ4K,GAAOF,EAAME,GAAO,IAC/B9B,GAAQ,IAAM+oB,EAAK,IAAMA,EAAK,WAAaC,EAAKD,GAAM,IAAME,EAAK,KAElEjpB,GAAQ,IAAM+oB,EAAK,IAAMA,EAAK,WAAaC,EAAKD,GAAM,IAAME,EAAK,IACjEjpB,GAAQ,KAED,CACNA,KAAMA,KAGPuM,GAAS,GAAKrV,EAAQ4K,IAAQF,EAAME,IAAQJ,KAAKU,GACjD0mB,EAAKnnB,EAAI,EAAIA,EAAI,GACjBonB,EAAKD,EAAMnnB,EAAI,kBAAqBknB,EAEpCG,EAAKrnB,EAAI,EAAIqO,EACbiZ,EAAK1oB,EAAI,KAAO0P,EAOhBiZ,EAAKF,EAAKF,EAAKpnB,KAAKiM,IAAIpB,GACxB4c,EAAKF,EAAKH,EAAKpnB,KAAKkM,IAAIrB,GACxB6c,EAAKJ,EAAKD,EAAKrnB,KAAKiM,IAAIpB,GACxB8c,EAAKJ,EAAKF,EAAKrnB,KAAKkM,IAAIrB,GAExBvM,EAAO,KAAOgpB,EAAKD,GAAM,IAAME,EAAK,IACpCjpB,GAAQ,KAAOgpB,EAAKF,GAAM,IAAMG,EAAK,IACrCjpB,GAAQ,IAAM8oB,EAAK,IAAMA,EAAK,UAAYI,EAAK,IAAMC,EAAK,IAC1DnpB,GAAQ,IAAMopB,EAAK,IAAMC,EAAK,IAC9BrpB,GAAQ,IAAM+oB,EAAK,IAAMA,EAAK,WAAaC,EAAKD,GAAM,IAAME,EAAK,IACjEjpB,GAAQ,KAED,CACNA,KAAMA,KAWT3D,KAAKwZ,OAAOjV,iBAAiB0oB,IAAM,SAAUpyB,GAC5C,MAAM4K,EAAMzF,KAAKioB,OAAOxiB,IAClBF,EAAMvF,KAAKioB,OAAO1iB,IAClBD,EAAItF,KAAKssB,OAAOhE,QAChBpkB,EAAIlE,KAAKssB,OAAO/D,QAChB5U,EAAK3T,KAAKssB,OAAO3Y,GACjBC,EAAK5T,KAAKssB,OAAO1Y,GACjB4Y,EAAMxsB,KAAKioB,OAAOkC,gBAClBuB,EAAQ1rB,KAAKioB,OAAOyD,MAE1B,IAUIxb,EAAOuc,EAAIC,EAAIE,EAAIC,EAAIC,EAAIC,EAAIC,EAAIE,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI9pB,EAVnE+pB,EAAW,IAAJpoB,EAAW,IAClBqoB,EAAMroB,EAAI,GACVsoB,EAAKtoB,EAAI,IAUb,OAR4C,MAAxCtF,KAAKioB,OAAOgE,eAAe4B,gBAA8DC,IAAzC9tB,KAAKioB,OAAOgE,eAAe4B,YAAyBH,EAAM1tB,KAAKioB,OAAOgE,eAAe4B,WAC1F,MAA3C7tB,KAAKioB,OAAOgE,eAAe8B,mBAAoED,IAA5C9tB,KAAKioB,OAAOgE,eAAe8B,eACjFJ,EAAM3tB,KAAKioB,OAAOgE,eAAe8B,cACY,MAA1C/tB,KAAKioB,OAAOgE,eAAe+B,kBAAkEF,IAA3C9tB,KAAKioB,OAAOgE,eAAe+B,cAChFJ,EAAK5tB,KAAKioB,OAAOgE,eAAe+B,aAI7BtC,GACHxb,GAAS,EAAK,GAAKrV,EAAQ4K,IAASF,EAAME,IAAQJ,KAAKU,GACvD0mB,EAAKnnB,EAAI,EAAIA,EAAI,GACjBonB,EAAKD,EAAMnnB,EAAI,kBAAqBknB,EAGpCI,EAAK1oB,EAAI,EAAI0P,EAEbiZ,EAAKvnB,EAAI,EAAIqO,EAAK8Y,EAAKpnB,KAAKiM,IAAIpB,GAChC4c,EAAK5oB,GAAKA,EAAI0oB,GAAMH,EAAKpnB,KAAKkM,IAAIrB,GAClC6c,EAAKznB,EAAI,EAAIqO,EAAK+Y,EAAKrnB,KAAKiM,IAAIpB,GAChC8c,EAAK9oB,GAAKA,EAAI0oB,GAAMF,EAAKrnB,KAAKkM,IAAIrB,GAElCgd,EAAKL,EAAKa,EAAMroB,KAAKiM,IAAIpB,GACzBid,EAAKL,EAAKY,EAAMroB,KAAKkM,IAAIrB,GACzBkd,EAAKL,EAAKY,EAAMtoB,KAAKiM,IAAIpB,GACzBmd,EAAKL,EAAKW,EAAMtoB,KAAKkM,IAAIrB,GAEzBod,EAAKF,EAAKQ,EAAKvoB,KAAKkM,IAAIrB,GACxBqd,EAAKF,EAAKO,EAAKvoB,KAAKiM,IAAIpB,GACxBsd,EAAKJ,EAAKQ,EAAKvoB,KAAKkM,IAAIrB,GACxBud,EAAKJ,EAAKO,EAAKvoB,KAAKiM,IAAIpB,GAExBvM,EAAO,IAAM2pB,EAAK,IAAMC,EAAK,IAC7B5pB,GAAQ,IAAM6pB,EAAK,IAAMC,EAAK,IAC9B9pB,GAAQ,IAAMupB,EAAK,IAAMC,EAAK,IAC9BxpB,GAAQ,KAED,CACNA,KAAMA,KAGPuM,GAAS,GAAKrV,EAAQ4K,IAAQF,EAAME,IAAQJ,KAAKU,GACjD0mB,EAAKnnB,EAAI,EAAIA,EAAI,GACjBonB,EAAKD,EAAMnnB,EAAI,kBAAqBknB,EAGpCI,EAAK1oB,EAAI,KAAO0P,EAEhBiZ,EAAKvnB,EAAI,EAAIqO,EAAK8Y,EAAKpnB,KAAKiM,IAAIpB,GAChC4c,EAAK5oB,GAAKA,EAAI0oB,GAAMH,EAAKpnB,KAAKkM,IAAIrB,GAClC6c,EAAKznB,EAAI,EAAIqO,EAAK+Y,EAAKrnB,KAAKiM,IAAIpB,GAChC8c,EAAK9oB,GAAKA,EAAI0oB,GAAMF,EAAKrnB,KAAKkM,IAAIrB,GAElCgd,EAAKL,EAAKa,EAAMroB,KAAKiM,IAAIpB,GACzBid,EAAKL,EAAKY,EAAMroB,KAAKkM,IAAIrB,GACzBkd,EAAKL,EAAKY,EAAMtoB,KAAKiM,IAAIpB,GACzBmd,EAAKL,EAAKW,EAAMtoB,KAAKkM,IAAIrB,GAEzBod,EAAKF,EAAKQ,EAAKvoB,KAAKkM,IAAIrB,GACxBqd,EAAKF,EAAKO,EAAKvoB,KAAKiM,IAAIpB,GACxBsd,EAAKJ,EAAKQ,EAAKvoB,KAAKkM,IAAIrB,GACxBud,EAAKJ,EAAKO,EAAKvoB,KAAKiM,IAAIpB,GAExBvM,EAAO,IAAM2pB,EAAK,IAAMC,EAAK,IAC7B5pB,GAAQ,IAAM6pB,EAAK,IAAMC,EAAK,IAC9B9pB,GAAQ,IAAMupB,EAAK,IAAMC,EAAK,IAC9BxpB,GAAQ,KAED,CACNA,KAAMA,KAMT3D,KAAKiuB,MAAQjuB,KAAKwZ,OAAO7V,OAAOnD,KAAK,CACpCsH,OAAQ,OACR1K,KAAM4C,KAAKioB,OAAOmC,WAClBmC,IAAK,CAACvsB,KAAKioB,OAAO1iB,OAInBvF,KAAKkuB,MAAQluB,KAAKwZ,OAAO7V,OAAOnD,KAAK,CACpCsH,OAAQ,OACR1K,KAAM+Q,EACLnO,KAAKioB,OAAOptB,OACXmF,KAAKioB,OAAOptB,MAAQmF,KAAKioB,OAAOxiB,MAAQzF,KAAKioB,OAAO1iB,IAAMvF,KAAKioB,OAAOxiB,KACvEzF,KAAKioB,OAAO0C,YACZ3qB,KAAKioB,OAAOwD,WACZzrB,KAAKioB,OAAO6D,eAEbS,IAAK,CAACvsB,KAAKioB,OAAOxiB,OAEfzF,KAAKioB,OAAOyD,OACf1rB,KAAKkuB,MAAMlmB,UACV,IAAMhI,KAAKioB,OAAO+C,gBAAkB,MAAQhrB,KAAKssB,OAAOhE,QAAU,EAAItoB,KAAKssB,OAAO3Y,IAAM,MAAQ3T,KAAKssB,OAAO/D,QAAU,EAAIvoB,KAAKssB,OAAO1Y,KAIpI5T,KAAKioB,OAAO+D,UAEfhsB,KAAKmuB,OAASnuB,KAAKwZ,OAAO7V,OAAOnD,KAAK,CACrCsH,OAASogB,EAAYloB,KAAKioB,OAAOgE,eAAenkB,QAA8C,OAApC9H,KAAKioB,OAAOgE,eAAenkB,OACrF,eAAiBogB,EAAYloB,KAAKioB,OAAOgE,eAAemC,cAA0D,EAA1CpuB,KAAKioB,OAAOgE,eAAemC,aACnG,iBAAmBlG,EAAYloB,KAAKioB,OAAOgE,eAAeoC,gBAA8D,SAA5CruB,KAAKioB,OAAOgE,eAAeoC,eACvGjxB,KAAO8qB,EAAYloB,KAAKioB,OAAOgE,eAAejgB,OAA4C,UAAnChM,KAAKioB,OAAOgE,eAAejgB,MAClFihB,IAAK,CAACjtB,KAAKioB,OAAOxiB,OAGfzF,KAAKioB,OAAOyD,OACf1rB,KAAKmuB,OAAOnmB,UACX,IAAMhI,KAAKioB,OAAO+C,gBAAkB,MAAQhrB,KAAKssB,OAAOhE,QAAU,EAAItoB,KAAKssB,OAAO3Y,IAAM,MAAQ3T,KAAKssB,OAAO/D,QAAU,EAAIvoB,KAAKssB,OAAO1Y,MAMzI5T,KAAKsuB,SAAWtuB,KAAKwZ,OAAO3V,KAAK7D,KAAKssB,OAAO5D,OAAQ1oB,KAAKssB,OAAO3D,OAAQ,GACzE3oB,KAAKsuB,SAAS9tB,KAAK,CAClB,YAAaR,KAAKssB,OAAO7D,cACzB,cAAe,OACf,cAAezoB,KAAKioB,OAAO0B,gBAC3BvsB,KAAM4C,KAAKioB,OAAOyB,eAClB,eAAgB,MAEjB6E,EAAMvuB,KAAKsuB,SAAUtuB,KAAKssB,OAAO7D,cAAezoB,KAAKssB,OAAO3D,QAG5D3oB,KAAKwuB,SAAWxuB,KAAKwZ,OAAO3V,KAAK7D,KAAKssB,OAAOzD,OAAQ7oB,KAAKssB,OAAOxD,OAAQ9oB,KAAKioB,OAAOoC,OACrFrqB,KAAKwuB,SAAShuB,KAAK,CAClB,YAAaR,KAAKssB,OAAO1D,cACzB,cAAe,SACf,cAAe5oB,KAAKioB,OAAOsC,gBAC3BntB,KAAM4C,KAAKioB,OAAOqC,eAClB,eAAgB,MAEjBiE,EAAMvuB,KAAKwuB,SAAUxuB,KAAKssB,OAAO1D,cAAe5oB,KAAKssB,OAAOxD,QAG5D,IAAIrjB,EAAMzF,KAAKioB,OAAOxiB,IAClBzF,KAAKioB,OAAO8B,UACftkB,EAAMzF,KAAKioB,OAAO1iB,KAGnBvF,KAAKyuB,WAAahpB,EACdzF,KAAKioB,OAAO4B,OACf7pB,KAAKyuB,WAAazuB,KAAKioB,OAAO4B,OACpB7pB,KAAKioB,OAAOuD,cACtBxrB,KAAKyuB,WAAaC,EAAoBjpB,EAAKzF,KAAKioB,OAAO+B,sBAC7ChqB,KAAKioB,OAAO8D,eACtB/rB,KAAKyuB,WAAa1C,EAAatmB,IAEhCzF,KAAK2uB,OAAS3uB,KAAKwZ,OAAO3V,KAAK7D,KAAKssB,OAAOtD,KAAMhpB,KAAKssB,OAAOrD,KAAMjpB,KAAKyuB,YACxEzuB,KAAK2uB,OAAOnuB,KAAK,CAChB,YAAaR,KAAKssB,OAAOvD,YACzB,cAAe,SACf,cAAe/oB,KAAKioB,OAAOsC,gBAC3BntB,KAAM4C,KAAKioB,OAAOqC,eAClB,eAAgBtqB,KAAKioB,OAAOqD,YAActrB,KAAKioB,OAAOyD,MAAQ,IAAM,MAErE6C,EAAMvuB,KAAK2uB,OAAQ3uB,KAAKssB,OAAOvD,YAAa/oB,KAAKssB,OAAOrD,MAGxD,IAAI1jB,EAAMvF,KAAKioB,OAAO1iB,IAClBvF,KAAKioB,OAAO8B,UACfxkB,EAAMvF,KAAKioB,OAAOxiB,KAEnBzF,KAAK4uB,WAAarpB,EACdvF,KAAKioB,OAAO6B,OACf9pB,KAAK4uB,WAAa5uB,KAAKioB,OAAO6B,OACpB9pB,KAAKioB,OAAOuD,cACtBxrB,KAAK4uB,WAAaF,EAAoBnpB,EAAKvF,KAAKioB,OAAO+B,sBAC7ChqB,KAAKioB,OAAO8D,eACtB/rB,KAAK4uB,WAAa7C,EAAaxmB,IAEhCvF,KAAK6uB,OAAS7uB,KAAKwZ,OAAO3V,KAAK7D,KAAKssB,OAAOnD,KAAMnpB,KAAKssB,OAAOlD,KAAMppB,KAAK4uB,YACxE5uB,KAAK6uB,OAAOruB,KAAK,CAChB,YAAaR,KAAKssB,OAAOpD,YACzB,cAAe,SACf,cAAelpB,KAAKioB,OAAOsC,gBAC3BntB,KAAM4C,KAAKioB,OAAOqC,eAClB,eAAgBtqB,KAAKioB,OAAOqD,YAActrB,KAAKioB,OAAOyD,MAAQ,IAAM,MAErE6C,EAAMvuB,KAAK6uB,OAAQ7uB,KAAKssB,OAAOpD,YAAalpB,KAAKssB,OAAOlD,MAExD,MAAM5H,EAAOxhB,KAAKwZ,OAAOA,OAAO1a,WAAW,GACrC2L,EAAM,6BAyBZ,QAvBWqjB,IAAPlQ,GAAoBA,EAAK,SAEXkQ,IAAPlQ,EACVkR,GAAuB,KACtB9uB,KAAK+uB,eAAetkB,EAAK+W,MAG1BxhB,KAAK+uB,eAAetkB,EAAK+W,IAItBxhB,KAAKioB,OAAOgC,eAAiE,IAAjDjqB,KAAKioB,OAAOgC,aAAajqB,KAAKmsB,eAC7DnsB,KAAKmsB,cAAgBnsB,KAAKioB,OAAOgC,aAAajqB,KAAKmsB,eACzCnsB,KAAKioB,OAAOuD,cACtBxrB,KAAKmsB,cAAgBuC,EAAoB1uB,KAAKmsB,cAAensB,KAAKioB,OAAO+B,sBAAwBhqB,KAAKioB,OAAO2B,OACnG5pB,KAAKioB,OAAO8D,aACtB/rB,KAAKmsB,cAAgBJ,EAAa/rB,KAAKmsB,eAAiBnsB,KAAKioB,OAAO2B,OAC1D5pB,KAAKioB,OAAOiE,iBACtBlsB,KAAKmsB,eAA0D,GAAxCnsB,KAAKioB,OAAO1iB,IAAMvF,KAAKmsB,gBAAoBjd,QAAQlP,KAAKioB,OAAO4D,UAAY7rB,KAAKioB,OAAO2B,OAE9G5pB,KAAKmsB,eAAsC,EAArBnsB,KAAKmsB,eAAmBjd,QAAQlP,KAAKioB,OAAO4D,UAAY7rB,KAAKioB,OAAO2B,QAG/D,IAAxB5pB,KAAKioB,OAAO2D,QAAkB,CAEjC,MAAMoD,EAAU,KACf,IAAIC,EAAejvB,KAAKkuB,MAAM1tB,KAAK,OAAO,GACtCR,KAAKioB,OAAO8B,UACfkF,EAAiC,EAAlBjvB,KAAKioB,OAAO1iB,IAA4B,EAAlBvF,KAAKioB,OAAOxiB,IAAsC,EAA5BzF,KAAKkuB,MAAM1tB,KAAK,OAAO,IAE/ER,KAAKioB,OAAOgC,eAAuE,IAAvDjqB,KAAKioB,OAAOgC,aAAa5kB,KAAKmZ,MAAMyQ,IACnEjvB,KAAKsuB,SAAS9tB,KAAK,OAAQR,KAAKioB,OAAOgC,aAAa5kB,KAAKmZ,MAAMyQ,KACrDjvB,KAAKioB,OAAOuD,cACtBxrB,KAAKsuB,SAAS9tB,KAAK,OAAQkuB,EAAoBrpB,KAAKmZ,MAAMyQ,GAAejvB,KAAKioB,OAAO+B,sBAAwBhqB,KAAKioB,OAAO2B,QAC/G5pB,KAAKioB,OAAO8D,aACtB/rB,KAAKsuB,SAAS9tB,KAAK,OAAQurB,EAAa1mB,KAAKmZ,MAAMyQ,IAAiBjvB,KAAKioB,OAAO2B,QACtE5pB,KAAKioB,OAAOiE,iBACtBlsB,KAAKsuB,SAAS9tB,KAAK,QAA4C,GAAlCR,KAAKioB,OAAO1iB,IAAM0pB,IAAmB/f,QAAQlP,KAAKioB,OAAO4D,UAAY7rB,KAAKioB,OAAO2B,QAE9G5pB,KAAKsuB,SAAS9tB,KAAK,QAAwB,EAAfyuB,GAAkB/f,QAAQlP,KAAKioB,OAAO4D,UAAY7rB,KAAKioB,OAAO2B,QAE3F2E,EAAMvuB,KAAKsuB,SAAUtuB,KAAKssB,OAAO7D,cAAezoB,KAAKssB,OAAO3D,QAC5DsG,EAAe,MAIVC,EAAW,KAChBlvB,KAAKsuB,SAAS9tB,KAAK,CAClBqD,KAAM7D,KAAKmsB,gBAEZoC,EAAMvuB,KAAKsuB,SAAUtuB,KAAKssB,OAAO7D,cAAezoB,KAAKssB,OAAO3D,SAG7D3oB,KAAKmvB,UAAU,sBAAuBD,GACtClvB,KAAKmvB,UAAU,qBAAsBH,OAC/B,CAEN,MAAMI,EAAU,KACfpvB,KAAKsuB,SAAS9tB,KAAK,CAClBqD,KAAM7D,KAAKmsB,gBAEZoC,EAAMvuB,KAAKsuB,SAAUtuB,KAAKssB,OAAO7D,cAAezoB,KAAKssB,OAAO3D,SAG7D3oB,KAAKmvB,UAAU,qBAAsBC,GAItC,IAAIC,EAAMrvB,KAAKioB,OAAOptB,MAClBmF,KAAKioB,OAAO8B,UACfsF,EAAwB,EAAlBrvB,KAAKioB,OAAO1iB,IAA4B,EAAlBvF,KAAKioB,OAAOxiB,IAA8B,EAApBzF,KAAKioB,OAAOptB,OAE/DmF,KAAKkuB,MAAMzP,QACV,CACC8N,IAAK,CAAC8C,IAEPrvB,KAAKioB,OAAO2C,mBACZ5qB,KAAKioB,OAAO4C,mBACZ7qB,KAAKioB,OAAOiC,gBAGTlqB,KAAKioB,OAAO+D,SACfhsB,KAAKmuB,OAAO1P,QACX,CACCwO,IAAK,CAACoC,IAEPrvB,KAAKioB,OAAO2C,mBACZ5qB,KAAKioB,OAAO4C,oBAId7qB,KAAKsuB,SAAS7P,QACb,CACC,eAAgBze,KAAKioB,OAAOoD,UAAY,IAAM,KAE/CrrB,KAAKioB,OAAO2C,mBACZ5qB,KAAKioB,OAAO4C,oBAEb7qB,KAAKwuB,SAAS/P,QACb,CACC,eAAgB,KAEjBze,KAAKioB,OAAO2C,mBACZ5qB,KAAKioB,OAAO4C,oBAUdsE,UAAUG,EAAWC,GAEpBD,GAAa,IAAMtvB,KAAKkuB,MAAM/W,GAG1BnX,KAAKgY,OAAOsX,IACflrB,EAAQd,IAAIud,IAAIyO,EAAWtvB,KAAKgY,OAAOsX,IAGxClrB,EAAQd,IAAIP,GAAGusB,EAAWC,GAE1BvvB,KAAKgY,OAAOsX,GAAaC,EAU1BC,QAAQC,EAAKlqB,EAAKE,EAAK4kB,GACtB,IAAIqF,EAEJnqB,EAAMoqB,EAASpqB,GAAOA,EAAM,KAC5BE,EAAMkqB,EAASlqB,GAAOA,EAAM,KAId,QAHd4kB,EAAQA,GAAS,QAIhBrqB,KAAKioB,OAAOoC,MAAQA,EAEpBrqB,KAAKwuB,SAAShuB,KAAK,CAClBqD,KAAM7D,KAAKioB,OAAOoC,QAEnBkE,EAAMvuB,KAAKwuB,SAAUxuB,KAAKssB,OAAO1D,cAAe5oB,KAAKssB,OAAOxD,SAIjD,OAARrjB,IACHzF,KAAKioB,OAAOxiB,IAAMA,EAGlBzF,KAAKyuB,WAAazuB,KAAKioB,OAAOxiB,IAC1BzF,KAAKioB,OAAO4B,OACf7pB,KAAKyuB,WAAazuB,KAAKioB,OAAO4B,OACpB7pB,KAAKioB,OAAOuD,cACtBxrB,KAAKyuB,WAAaC,EAAoB1uB,KAAKioB,OAAOxiB,IAAKzF,KAAKioB,OAAO+B,sBACzDhqB,KAAKioB,OAAO8D,eACtB/rB,KAAKyuB,WAAa1C,EAAa/rB,KAAKioB,OAAOxiB,MAEvCzF,KAAKioB,OAAO8B,SAMhB/pB,KAAK6uB,OAAOruB,KAAK,CAChBqD,KAAM7D,KAAKyuB,aAEZF,EAAMvuB,KAAK6uB,OAAQ7uB,KAAKssB,OAAOvD,YAAa/oB,KAAKssB,OAAOrD,QARxDjpB,KAAK2uB,OAAOnuB,KAAK,CAChBqD,KAAM7D,KAAKyuB,aAEZF,EAAMvuB,KAAK2uB,OAAQ3uB,KAAKssB,OAAOvD,YAAa/oB,KAAKssB,OAAOrD,QAU9C,OAAR1jB,IACHvF,KAAKioB,OAAO1iB,IAAMA,EAElBvF,KAAK4uB,WAAa5uB,KAAKioB,OAAO1iB,IAC1BvF,KAAKioB,OAAO6B,OACf9pB,KAAK4uB,WAAa5uB,KAAKioB,OAAO6B,OACpB9pB,KAAKioB,OAAOuD,cACtBxrB,KAAK4uB,WAAaF,EAAoB1uB,KAAKioB,OAAO1iB,IAAKvF,KAAKioB,OAAO+B,sBACzDhqB,KAAKioB,OAAO8D,eACtB/rB,KAAK4uB,WAAa7C,EAAa/rB,KAAKioB,OAAO1iB,MAEvCvF,KAAKioB,OAAO8B,SAMhB/pB,KAAK2uB,OAAOnuB,KAAK,CAChBqD,KAAM7D,KAAK4uB,aAEZL,EAAMvuB,KAAK2uB,OAAQ3uB,KAAKssB,OAAOpD,YAAalpB,KAAKssB,OAAOlD,QARxDppB,KAAK6uB,OAAOruB,KAAK,CAChBqD,KAAM7D,KAAK4uB,aAEZL,EAAMvuB,KAAK6uB,OAAQ7uB,KAAKssB,OAAOpD,YAAalpB,KAAKssB,OAAOlD,QAU1DsG,EAAaD,EACH,EAANA,EAA4B,EAAlBzvB,KAAKioB,OAAO1iB,MACzBkqB,EAAwB,EAAlBzvB,KAAKioB,OAAO1iB,KAET,EAANkqB,EAA4B,EAAlBzvB,KAAKioB,OAAOxiB,MACzBgqB,EAAwB,EAAlBzvB,KAAKioB,OAAOxiB,KAGnB,MAAMuG,EAAQmC,EACbshB,GACCA,EAAMzvB,KAAKioB,OAAOxiB,MAAQzF,KAAKioB,OAAO1iB,IAAMvF,KAAKioB,OAAOxiB,KACzDzF,KAAKioB,OAAO0C,YACZ3qB,KAAKioB,OAAOwD,WACZzrB,KAAKioB,OAAO6D,eAIZ4D,EADG1vB,KAAKioB,OAAOgC,eAAyD,IAAzCjqB,KAAKioB,OAAOgC,aAAayF,GAC3C1vB,KAAKioB,OAAOgC,aAAayF,GAC5B1vB,KAAKioB,OAAOuD,cACTkD,EAAoBgB,EAAY1vB,KAAKioB,OAAO+B,sBAAwBhqB,KAAKioB,OAAO2B,OACnF5pB,KAAKioB,OAAO8D,aACTA,GAA2B,EAAb2D,GAAgBxgB,QAAQlP,KAAKioB,OAAO4D,WAAa7rB,KAAKioB,OAAO2B,OAC9E5pB,KAAKioB,OAAOiE,kBACyB,GAAhClsB,KAAKioB,OAAO1iB,IAAMmqB,IAAiBxgB,QAAQlP,KAAKioB,OAAO4D,UAAY7rB,KAAKioB,OAAO2B,QAEnE,EAAb8F,GAAgBxgB,QAAQlP,KAAKioB,OAAO4D,UAAY7rB,KAAKioB,OAAO2B,OAE3E5pB,KAAKmsB,cAAgBuD,EACrB1vB,KAAKioB,OAAOptB,MAAc,EAAN40B,EAEfzvB,KAAKioB,OAAO2D,UAChB5rB,KAAKsuB,SAAS9tB,KAAK,CAClBqD,KAAM6rB,IAEPnB,EAAMvuB,KAAKsuB,SAAUtuB,KAAKssB,OAAO7D,cAAezoB,KAAKssB,OAAO3D,SAG7D,IAAI0G,EAAMrvB,KAAKioB,OAAOptB,MAClBmF,KAAKioB,OAAO8B,UACfsF,EAAwB,EAAlBrvB,KAAKioB,OAAO1iB,IAA4B,EAAlBvF,KAAKioB,OAAOxiB,IAA8B,EAApBzF,KAAKioB,OAAOptB,OAG/DmF,KAAKkuB,MAAMzP,QACV,CACC8N,IAAK,CAAC8C,GACNjyB,KAAM4O,GAEPhM,KAAKioB,OAAO6C,qBACZ9qB,KAAKioB,OAAO8C,qBACZ/qB,KAAKioB,OAAOiC,gBAGTlqB,KAAKioB,OAAO+D,SACfhsB,KAAKmuB,OAAO1P,QACX,CACCwO,IAAK,CAACoC,IAEPrvB,KAAKioB,OAAO6C,qBACZ9qB,KAAKioB,OAAO8C,sBAcf5uB,OAAOmB,EAASmyB,GACf,MAAMluB,EAAMvB,KAGZ,GAAI1C,aAAmBhE,OACtB,IAAK,MAAMs2B,KAAUtyB,EAEpBuyB,EAAWtuB,EAAKquB,EADhBH,EAAMnyB,EAAQsyB,SAMfC,EAAWtuB,EAAKjE,EAASmyB,GAO3BK,UACK9vB,KAAK9F,MAAQ8F,KAAK9F,KAAKI,aAAY0F,KAAK9F,KAAKiQ,UAAY,IAE7D,IAAK,MAAMwM,KAAS3W,KAAKgY,OACxB5T,EAAQd,IAAIud,IAAIlK,EAAO3W,KAAKgY,OAAOrB,IAGpC3W,KAAKgY,OAAS,GASf+W,eAAetkB,EAAK+W,GACnB,MAAMuO,EAAM,iBAAmB/vB,KAAKioB,OAAOtpB,QAAQwY,IAAMnX,KAAKioB,OAAOuB,SAG/DwG,EAAchsB,SAASqd,gBAAgB5W,EAAK,UAClDulB,EAAY5O,aAAa,KAAM2O,GAC/BvO,EAAKlhB,YAAY0vB,GAGjB,MAAMC,EAAWjsB,SAASqd,gBAAgB5W,EAAK,YAC/CwlB,EAAS7O,aAAa,KAAM,KAC5B6O,EAAS7O,aAAa,KAAMphB,KAAKioB,OAAOyC,sBACxCsF,EAAY1vB,YAAY2vB,GAGxB,MAAMC,EAAiBlsB,SAASqd,gBAAgB5W,EAAK,kBACrDylB,EAAe9O,aAAa,SAAU,eACtC8O,EAAe9O,aAAa,eAAgBphB,KAAKioB,OAAOwC,YACxDuF,EAAY1vB,YAAY4vB,GAGxB,MAAMC,EAAensB,SAASqd,gBAAgB5W,EAAK,eACnD0lB,EAAa/O,aAAa,WAAY,OACtC+O,EAAa/O,aAAa,KAAM,iBAChC+O,EAAa/O,aAAa,MAAO,eACjC+O,EAAa/O,aAAa,SAAU,WACpC4O,EAAY1vB,YAAY6vB,GAGxB,MAAMC,EAAUpsB,SAASqd,gBAAgB5W,EAAK,WAC9C2lB,EAAQhP,aAAa,cAAe,SACpCgP,EAAQhP,aAAa,gBAAiBphB,KAAKioB,OAAOuC,eAClD4F,EAAQhP,aAAa,SAAU,SAC/B4O,EAAY1vB,YAAY8vB,GAGxB,MAAMC,EAAersB,SAASqd,gBAAgB5W,EAAK,eACnD4lB,EAAajP,aAAa,WAAY,MACtCiP,EAAajP,aAAa,KAAM,SAChCiP,EAAajP,aAAa,MAAO,WACjCiP,EAAajP,aAAa,SAAU,UACpC4O,EAAY1vB,YAAY+vB,GAGxB,MAAMC,EAAetsB,SAASqd,gBAAgB5W,EAAK,eACnD6lB,EAAalP,aAAa,WAAY,QACtCkP,EAAalP,aAAa,KAAM,UAChCkP,EAAalP,aAAa,MAAO,iBACjC4O,EAAY1vB,YAAYgwB,GAGpBtwB,KAAKioB,OAAOsD,kBACfvrB,KAAKwZ,OAAOA,OAAO1a,WAAW,GAAGsiB,aAAa,SAAU,QAAU2O,EAAM,KACxE/vB,KAAKwZ,OAAOA,OAAO1a,WAAW,GAAGsiB,aAAa,SAAU,QAAU2O,EAAM,OAY3E,SAASF,EAAWtuB,EAAKquB,EAAQH,GAChC,OAAQG,GACP,IAAK,iBACJ,IAAKW,EAAWd,GAAM,CACrBe,QAAQC,IAAI,yEACZ,MAGDlvB,EAAI+sB,SAAS9tB,KAAK,CACjBpD,KAAMqyB,IAEP,MAED,IAAK,iBACJ,IAAKc,EAAWd,GAAM,CACrBe,QAAQC,IAAI,yEACZ,MAGDlvB,EAAIotB,OAAOnuB,KAAK,CACfpD,KAAMqyB,IAEPluB,EAAIstB,OAAOruB,KAAK,CACfpD,KAAMqyB,IAEPluB,EAAIitB,SAAShuB,KAAK,CACjBpD,KAAMqyB,IAGP,MAED,QACCe,QAAQC,IAAI,gBAAgBb,yCAe/B,SAASnG,EAASrpB,EAAKswB,EAAQC,EAAQC,EAAQC,EAAUC,GACxD,IAAIrB,EAAMmB,EACNG,GAAa,EACjB,IAAK7I,EAAY9nB,MACX8nB,EAAYyI,IAA6B,iBAAXA,GAAuBvwB,KAAOuwB,GAChElB,EAAMkB,EAAOvwB,GACb2wB,GAAa,IACF7I,EAAYwI,IAA6B,iBAAXA,GAAuBtwB,KAAOswB,GACvEjB,EAAMiB,EAAOtwB,GACb2wB,GAAa,GAEbtB,EAAMmB,GAEY,IAAfG,IACE7I,EAAY2I,IAChB,OAAQA,GACP,IAAK,MACJpB,EAAM5oB,SAAS4oB,EAAK,IACpB,MACD,IAAK,QACJA,EAAM9oB,WAAW8oB,GAQtB,OAAOA,EAGR,SAASvH,EAAYpjB,GACpB,OAAOA,MAAAA,EAIR,SAASqJ,EAASshB,EAAKuB,EAAKC,EAAKxF,EAAYyF,GAC5C,IAAIC,EAAYC,EAAMC,EAAMC,EAAMC,EAAOC,EAAOC,EAAOC,EAAUC,EAAUC,EAAU5lB,EACrF,MAAM6lB,EAAOX,GAAWA,EAAQY,QAAUZ,EAAQY,OAAO51B,OAAS,EAGlE,GAFAuvB,EAAaA,GAAcoG,EAEvBA,EAAM,EACgB,IAArBX,EAAQvT,WAAmB8R,EAAY,IAANuB,GACrC,IAAK,IAAI10B,EAAI,EAAGA,EAAI40B,EAAQY,OAAO51B,OAAQI,IAC1C,GAAImzB,GAAOyB,EAAQY,OAAOx1B,GAAGy1B,IAAMtC,GAAOyB,EAAQY,OAAOx1B,GAAG01B,GAC3D,OAAOd,EAAQY,OAAOx1B,GAAG0P,MAK5B,MAAMimB,EAAKhB,EAAI/0B,OACf,GAAW,IAAP+1B,EAAU,OAAOhB,EAAI,GACzB,MAAMiB,EAAMzG,EAAa,EAAIwG,EAAK,GAAKA,EAAK,GACtClL,EAAS,GACf,IAAK,IAAIzqB,EAAI,EAAGA,EAAI20B,EAAI/0B,OAAQI,IAC/B60B,EAAa1F,EAAayG,GAAO51B,EAAI,GAAK41B,EAAM51B,EAChD80B,EAAOvqB,SAASsrB,EAAOlB,EAAI30B,IAAIwR,UAAU,EAAG,GAAI,IAChDujB,EAAOxqB,SAASsrB,EAAOlB,EAAI30B,IAAIwR,UAAU,EAAG,GAAI,IAChDwjB,EAAOzqB,SAASsrB,EAAOlB,EAAI30B,IAAIwR,UAAU,EAAG,GAAI,IAChDiZ,EAAOzqB,GAAK,CACX00B,IAAKG,EACLnlB,MAAO,CACNlK,EAAGsvB,EACHzsB,EAAG0sB,EACHt3B,EAAGu3B,IAKN,GAAY,IAARN,EACH,MAAO,OAAS,CAACjK,EAAO,GAAG/a,MAAMlK,EAAGilB,EAAO,GAAG/a,MAAMrH,EAAGoiB,EAAO,GAAG/a,MAAMjS,GAAG+S,KAAK,KAAO,IAGvF,IAAK,IAAI9F,EAAI,EAAGA,EAAI+f,EAAO7qB,OAAQ8K,IAClC,GAAIgqB,GAAOjK,EAAO/f,GAAGgqB,IACpB,OAAIvF,EACI,OAAS,CAAC1E,EAAO/f,GAAGgF,MAAMlK,EAAGilB,EAAO/f,GAAGgF,MAAMrH,EAAGoiB,EAAO/f,GAAGgF,MAAMjS,GAAG+S,KAAK,KAAO,KAEtFykB,EAAQxK,EAAO/f,EAAI,GACnBwqB,EAAQzK,EAAO/f,GACfyqB,EAAQD,EAAMR,IAAMO,EAAMP,IAC1BU,GAAYV,EAAMO,EAAMP,KAAOS,EAC/BE,EAAW,EAAID,EACfE,EAAWF,EACX1lB,EAAQ,CACPlK,EAAGuD,KAAKmZ,MAAM+S,EAAMvlB,MAAMlK,EAAI6vB,EAAWH,EAAMxlB,MAAMlK,EAAI8vB,GACzDjtB,EAAGU,KAAKmZ,MAAM+S,EAAMvlB,MAAMrH,EAAIgtB,EAAWH,EAAMxlB,MAAMrH,EAAIitB,GACzD73B,EAAGsL,KAAKmZ,MAAM+S,EAAMvlB,MAAMjS,EAAI43B,EAAWH,EAAMxlB,MAAMjS,EAAI63B,IAEnD,OAAS,CAAC5lB,EAAMlK,EAAGkK,EAAMrH,EAAGqH,EAAMjS,GAAG+S,KAAK,KAAO,KAO5D,SAASyhB,EAAM6D,EAAMnM,EAAUoM,KACxBzU,GAAMA,EAAK,IAAMwU,EAAKl4B,KAAKkQ,WAAW3P,WAAWmZ,KACtDwe,EAAKl4B,KAAKkQ,WAAW3P,WAAWmZ,GAAG/Y,MAAQ,GAK7C,SAASs3B,EAAOG,GACf,MAAyB,MAAlBA,EAAIvkB,OAAO,GAAaukB,EAAIxkB,UAAU,EAAG,GAAKwkB,EAStD,SAAS/B,EAAWd,GAEnB,MAAsB,iBAARA,GADC,2BAC0BzP,KAAKyP,GAI/C,SAASf,EAAoB1sB,EAAGlB,GAC/B,MAAMyxB,EAAKltB,KAAKQ,IAAI,GAAI/E,GAClB+B,EAAI,UACV,IAAIvG,EAAI,EACR,MAAM2C,EAAI,IAEV,MAAQ+C,GAAK/C,GAAK+C,IAAM/C,MAAQ3C,EAAIuG,EAAE3G,QAAQ8F,GAAQ/C,EAItD,OAFA3C,EAAIA,GAAKuG,EAAE3G,OAAS2G,EAAE3G,OAAS,EAAII,EAE5B+I,KAAKoB,MAAMzE,EAAIuwB,GAAMA,EAAK1vB,EAAEvG,GAIpC,SAASyvB,EAAannB,GACrB,MAAM4tB,EAAQ5tB,EAAEqB,WAAW6O,MAAM,KAEjC,OADA0d,EAAM,GAAKA,EAAM,GAAGnnB,QAAQ,wBAAyB,KAC9CmnB,EAAM1lB,KAAK,KAInB,SAASuf,EAASoG,EAAMC,GACvB,IAAIC,EAAW,GASf,OARI3uB,SAASmI,aAAenI,SAASmI,YAAYC,iBAChDumB,EAAW3uB,SAASmI,YAAYC,iBAAiBqmB,EAAM,IAAIpmB,iBAAiBqmB,GAClED,EAAKG,eACfF,EAAaA,EAAWrnB,QAAQ,UAAU,SAAUwnB,EAAUC,GAC7D,OAAOA,EAAG/rB,iBAEX4rB,EAAWF,EAAKG,aAAaF,IAEvBC,EAIR,SAAS7D,EAAuBS,QACEzB,IAA7B9pB,SAASqd,gBACZkO,IAEA1gB,YAAW,WACVigB,EAAuBS,KACrB,KAqBL,MAAM3R,EAAK,WACV,IAAI9Y,EAAI,EACR,MAAMiuB,EAAM/uB,SAASkG,cAAc,OAC7B8oB,EAAMD,EAAIlQ,qBAAqB,KAErC,KAAOmQ,EAAI,IACVD,EAAI5oB,UAAY,uBAAqBrF,EAAI,2BAE1C,OAAOA,EAAI,EAAIA,OAAIgpB,EART,GA8BX,SAAS6B,EAAS3tB,GACjB,OAAOA,MAAAA,IAAkCuf,MAAMvf,sCFl7BhD,IAAiBpH,EAuQEV,EAAMkG,EAAKvF,EAAOo4B,EAvQpBr4B,UACNoJ,SAASkG,cAActP,YAsQfV,IAAMkG,UACP,QADYvF,UAEtBX,EAAKmQ,MAAM6oB,eAAe9yB,GAG1BlG,EAAKmQ,MAAM8oB,YAAY/yB,EAAKvF,EAAOo4B,EAAY,YAAc,IA9MrE,SAAc/4B,EAAMS,EAAWE,GACd,MAATA,EACAX,EAAKwqB,gBAAgB/pB,GAChBT,EAAKypB,aAAahpB,KAAeE,GACtCX,EAAKknB,aAAazmB,EAAWE,4BApCrC,IAAgBX,EAAMyc,EAAOyc,EAAS91B,EGlWtCtD,aHkWgBE,SAAMyc,WAAOyc,OACzBl5B,EAAKqc,iBAAiBI,EAAOyc,EAAS91B,KAC/B,IAAMpD,EAAKuc,oBAAoBE,EAAOyc,EAAS91B,sEGpZnDtC,EAAYC,QAMdo4B,EACApF,MACO9W,cACA7Z,cAcFg2B,IACJrF,GAAOA,EAAM6B,cACjB7B,EAAQ,MAERsF,aAEQA,QACHj2B,IAAY+1B,SAAgB7C,QAAQ3iB,MAAM,0BAC1CogB,EAIJuC,QAAQ3iB,MAAM,uCAHR2lB,EAAOl6B,OAAOm6B,QAAS90B,QAAS00B,GAAW/1B,OACjD2wB,MAAYjG,EAASwL,MHg5BxB,SAAiBp6B,GACb6B,IAAwBmB,GAAG0B,SAASlC,KAAKxC,GG54B5Cs6B,WACCL,EAAUr4B,EAAU24B,WAAWzf,eAAe,UAC9Cqf,OH+4BF,SAAmBn6B,GACf6B,IAAwBmB,GAAG2B,WAAWnC,KAAKxC,GG94B9Cw6B,OACK3F,GAAOA,EAAM6B,cACjB7B,EAAQ,oHAhCH9W,OAAIA,EAAK,IACV7Z,GAA8B,iBAAZA,QACrBA,EAAUu2B,KAAKC,MAAMx2B,IACjB+1B,GAAWpF,GACdqF,uBAmCFA"}
|