diff --git a/Docear-Projects/TSYS-Bizops/_data/!!!info.txt b/Docear-Projects/TSYS-Bizops/_data/!!!info.txt
new file mode 100644
index 0000000..f733384
--- /dev/null
+++ b/Docear-Projects/TSYS-Bizops/_data/!!!info.txt
@@ -0,0 +1 @@
+This directory was created by Docear. It contains the workspace and profile settings and files. Please do not modify or delete anything in this folder and its sub-folders.
\ No newline at end of file
diff --git a/Docear-Projects/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/.$default.bib$ b/Docear-Projects/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/.$default.bib$
new file mode 100644
index 0000000..a35f572
--- /dev/null
+++ b/Docear-Projects/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/.$default.bib$
@@ -0,0 +1,3 @@
+% This file was created with JabRef 2.7.1.
+% Encoding: UTF8
+
diff --git a/Docear-Projects/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/default.bib b/Docear-Projects/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/default.bib
new file mode 100644
index 0000000..a35f572
--- /dev/null
+++ b/Docear-Projects/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/default.bib
@@ -0,0 +1,3 @@
+% This file was created with JabRef 2.7.1.
+% Encoding: UTF8
+
diff --git a/Docear/TSYS-Bizops/_data/!!!info.txt b/Docear/TSYS-Bizops/_data/!!!info.txt
new file mode 100644
index 0000000..f733384
--- /dev/null
+++ b/Docear/TSYS-Bizops/_data/!!!info.txt
@@ -0,0 +1 @@
+This directory was created by Docear. It contains the workspace and profile settings and files. Please do not modify or delete anything in this folder and its sub-folders.
\ No newline at end of file
diff --git a/Docear/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/.$TSYS-Bizops.bib$ b/Docear/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/.$TSYS-Bizops.bib$
new file mode 100644
index 0000000..a35f572
--- /dev/null
+++ b/Docear/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/.$TSYS-Bizops.bib$
@@ -0,0 +1,3 @@
+% This file was created with JabRef 2.7.1.
+% Encoding: UTF8
+
diff --git a/Docear/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/TSYS-Bizops.bib b/Docear/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/TSYS-Bizops.bib
new file mode 100644
index 0000000..a35f572
--- /dev/null
+++ b/Docear/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/default_files/TSYS-Bizops.bib
@@ -0,0 +1,3 @@
+% This file was created with JabRef 2.7.1.
+% Encoding: UTF8
+
diff --git a/Docear/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/settings.xml b/Docear/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/settings.xml
new file mode 100644
index 0000000..5530776
--- /dev/null
+++ b/Docear/TSYS-Bizops/_data/17C1016F599EW8AXTP48YUP2PCQRJ95GK0E5/settings.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TICodeComposer/.jxbrowser.userdata/BrowserMetrics/BrowserMetrics-614A585A-254C.pma b/TICodeComposer/.jxbrowser.userdata/BrowserMetrics/BrowserMetrics-614A585A-254C.pma
new file mode 100644
index 0000000..10ed05e
Binary files /dev/null and b/TICodeComposer/.jxbrowser.userdata/BrowserMetrics/BrowserMetrics-614A585A-254C.pma differ
diff --git a/TICodeComposer/.jxbrowser.userdata/Default/AutofillStrikeDatabase/LOCK b/TICodeComposer/.jxbrowser.userdata/Default/AutofillStrikeDatabase/LOCK
new file mode 100644
index 0000000..e69de29
diff --git a/TICodeComposer/.jxbrowser.userdata/Default/AutofillStrikeDatabase/LOG b/TICodeComposer/.jxbrowser.userdata/Default/AutofillStrikeDatabase/LOG
new file mode 100644
index 0000000..e69de29
diff --git a/TICodeComposer/.jxbrowser.userdata/Default/BudgetDatabase/LOCK b/TICodeComposer/.jxbrowser.userdata/Default/BudgetDatabase/LOCK
new file mode 100644
index 0000000..e69de29
diff --git a/TICodeComposer/.jxbrowser.userdata/Default/BudgetDatabase/LOG b/TICodeComposer/.jxbrowser.userdata/Default/BudgetDatabase/LOG
new file mode 100644
index 0000000..e69de29
diff --git a/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_0 b/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_0
new file mode 100644
index 0000000..5108f6c
Binary files /dev/null and b/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_0 differ
diff --git a/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_1 b/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_1
new file mode 100644
index 0000000..abecb4d
Binary files /dev/null and b/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_1 differ
diff --git a/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_2 b/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_2
new file mode 100644
index 0000000..9c9a995
Binary files /dev/null and b/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_2 differ
diff --git a/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_3 b/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_3
new file mode 100644
index 0000000..b5f54a9
Binary files /dev/null and b/TICodeComposer/.jxbrowser.userdata/Default/Cache/data_3 differ
diff --git a/TICodeComposer/.jxbrowser.userdata/Default/Cache/f_000001 b/TICodeComposer/.jxbrowser.userdata/Default/Cache/f_000001
new file mode 100644
index 0000000..e9f0838
--- /dev/null
+++ b/TICodeComposer/.jxbrowser.userdata/Default/Cache/f_000001
@@ -0,0 +1,2821 @@
+const BUILD = {"allRenderFn":false,"cmpDidLoad":true,"cmpShouldUpdate":false,"cmpDidUnload":true,"cmpDidUpdate":true,"cmpDidRender":true,"cmpWillLoad":true,"cmpWillUpdate":true,"cmpWillRender":false,"connectedCallback":true,"disconnectedCallback":true,"element":false,"event":true,"hasRenderFn":true,"lifecycle":true,"asyncLoading":true,"hostListener":true,"hostListenerTargetWindow":true,"hostListenerTargetDocument":true,"hostListenerTargetBody":false,"hostListenerTargetParent":false,"hostListenerTarget":true,"member":true,"method":true,"mode":false,"noVdomRender":false,"observeAttribute":true,"prop":true,"propBoolean":true,"propNumber":true,"propString":true,"propMutable":true,"reflect":true,"scoped":false,"shadowDom":true,"shadowDelegatesFocus":false,"slot":true,"slotRelocation":true,"state":true,"style":true,"svg":true,"updatable":true,"vdomAttribute":true,"vdomXlink":true,"vdomClass":true,"vdomFunctional":false,"vdomKey":true,"vdomListener":true,"vdomPropOrAttr":true,"vdomRef":true,"vdomRender":true,"vdomStyle":true,"vdomText":true,"watchCallback":true,"taskQueue":true,"lazyLoad":true,"hydrateServerSide":false,"cssVarShim":true,"initializeNextTick":true,"hydrateClientSide":false,"isDebug":false,"isDev":true,"devTools":true,"profile":true,"hotModuleReplacement":true,"constructableCSS":false,"cssAnnotations":true,"appendChildSlotFix":false,"cloneNodeFix":false,"dynamicImportShim":true,"lifecycleDOMEvents":false,"safari10":true,"shadowDomShim":true,"hydratedAttribute":false,"hydratedClass":true};
+const NAMESPACE = 'gc-components';
+
+let queueCongestion = 0;
+let queuePending = false;
+let i = 0;
+let scopeId;
+let contentRef;
+let hostTagName;
+let useNativeShadowDom = false;
+let checkSlotFallbackVisibility = false;
+let checkSlotRelocate = false;
+let isSvgMode = false;
+let renderingElement = null;
+const win = typeof window !== 'undefined' ? window : {};
+const CSS = BUILD.cssVarShim ? win.CSS : null;
+const doc = win.document || { head: {} };
+const H = (win.HTMLElement || class {
+});
+const plt = {
+ $flags$: 0,
+ $resourcesUrl$: '',
+ jmp: (h) => h(),
+ raf: (h) => requestAnimationFrame(h),
+ ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
+ rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
+};
+const supportsShadowDom = BUILD.shadowDomShim ? (BUILD.shadowDom) ? /*@__PURE__*/ (() => (doc.head.attachShadow + '').indexOf('[native') > -1)() : false : true;
+const supportsListenerOptions = /*@__PURE__*/ (() => {
+ let supportsListenerOptions = false;
+ try {
+ doc.addEventListener('e', null, Object.defineProperty({}, 'passive', {
+ get() { supportsListenerOptions = true; }
+ }));
+ }
+ catch (e) { }
+ return supportsListenerOptions;
+})();
+const promiseResolve = (v) => Promise.resolve(v);
+const supportsConstructibleStylesheets = BUILD.constructableCSS ? /*@__PURE__*/ (() => {
+ try {
+ new CSSStyleSheet();
+ return true;
+ }
+ catch (e) { }
+ return false;
+})() : false;
+const Context = {};
+const hostRefs = new WeakMap();
+const getHostRef = (ref) => hostRefs.get(ref);
+const registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
+const registerHost = (elm) => {
+ const hostRef = {
+ $flags$: 0,
+ $hostElement$: elm,
+ $instanceValues$: new Map()
+ };
+ if (BUILD.isDev) {
+ hostRef.$renderCount$ = 0;
+ }
+ if (BUILD.method && BUILD.lazyLoad) {
+ hostRef.$onInstancePromise$ = new Promise(r => hostRef.$onInstanceResolve$ = r);
+ }
+ if (BUILD.asyncLoading) {
+ hostRef.$onReadyPromise$ = new Promise(r => hostRef.$onReadyResolve$ = r);
+ elm['s-p'] = [];
+ elm['s-rc'] = [];
+ }
+ return hostRefs.set(elm, hostRef);
+};
+const isMemberInElement = (elm, memberName) => memberName in elm;
+const STENCIL_DEV_MODE = ['%c[STENCIL-DEV-MODE]', 'color:#4c47ff;font-weight: bold'];
+const consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m);
+const consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m);
+const consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m);
+const consoleError = (e) => console.error(e);
+const moduleCache = /*@__PURE__*/ new Map();
+const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
+ // loadModuleImport
+ const exportName = cmpMeta.$tagName$.replace(/-/g, '_');
+ const bundleId = ((BUILD.mode && typeof cmpMeta.$lazyBundleIds$ !== 'string')
+ ? cmpMeta.$lazyBundleIds$[hostRef.$modeName$]
+ : cmpMeta.$lazyBundleIds$);
+ const module = !BUILD.hotModuleReplacement ? moduleCache.get(bundleId) : false;
+ if (module) {
+ return module[exportName];
+ }
+ return __sc_import_gc_components(
+ /* webpackInclude: /\.entry\.js$/ */
+ /* webpackExclude: /\.system\.entry\.js$/ */
+ /* webpackMode: "lazy" */
+ `./${bundleId}.entry.js${BUILD.hotModuleReplacement && hmrVersionId ? '?s-hmr=' + hmrVersionId : ''}`).then(importedModule => {
+ if (!BUILD.hotModuleReplacement) {
+ moduleCache.set(bundleId, importedModule);
+ }
+ return importedModule[exportName];
+ }, consoleError);
+};
+const styles = new Map();
+const queueDomReads = [];
+const queueDomWrites = [];
+const queueDomWritesLow = [];
+const queueTask = (queue, write) => (cb) => {
+ queue.push(cb);
+ if (!queuePending) {
+ queuePending = true;
+ if (write && plt.$flags$ & 4 /* queueSync */) {
+ nextTick(flush);
+ }
+ else {
+ plt.raf(flush);
+ }
+ }
+};
+const consume = (queue) => {
+ for (let i = 0; i < queue.length; i++) {
+ try {
+ queue[i](performance.now());
+ }
+ catch (e) {
+ consoleError(e);
+ }
+ }
+ queue.length = 0;
+};
+const consumeTimeout = (queue, timeout) => {
+ let i = 0;
+ let ts = 0;
+ while (i < queue.length && (ts = performance.now()) < timeout) {
+ try {
+ queue[i++](ts);
+ }
+ catch (e) {
+ consoleError(e);
+ }
+ }
+ if (i === queue.length) {
+ queue.length = 0;
+ }
+ else if (i !== 0) {
+ queue.splice(0, i);
+ }
+};
+const flush = () => {
+ queueCongestion++;
+ // always force a bunch of medium callbacks to run, but still have
+ // a throttle on how many can run in a certain time
+ // DOM READS!!!
+ consume(queueDomReads);
+ const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */
+ ? performance.now() + (10 * Math.ceil(queueCongestion * (1.0 / 22.0)))
+ : Infinity;
+ // DOM WRITES!!!
+ consumeTimeout(queueDomWrites, timeout);
+ consumeTimeout(queueDomWritesLow, timeout);
+ if (queueDomWrites.length > 0) {
+ queueDomWritesLow.push(...queueDomWrites);
+ queueDomWrites.length = 0;
+ }
+ if (queuePending = ((queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length) > 0)) {
+ // still more to do yet, but we've run out of time
+ // let's let this thing cool off and try again in the next tick
+ plt.raf(flush);
+ }
+ else {
+ queueCongestion = 0;
+ }
+};
+const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
+const readTask = /*@__PURE__*/ queueTask(queueDomReads, false);
+const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
+const Build = {
+ isDev: BUILD.isDev ? true : false,
+ isBrowser: true
+};
+/**
+ * Default style mode id
+ */
+/**
+ * Reusable empty obj/array
+ * Don't add values to these!!
+ */
+const EMPTY_OBJ = {};
+/**
+ * Namespaces
+ */
+const SVG_NS = 'http://www.w3.org/2000/svg';
+const HTML_NS = 'http://www.w3.org/1999/xhtml';
+const isDef = (v) => v != null;
+const isComplexType = (o) => {
+ // https://jsperf.com/typeof-fn-object/5
+ o = typeof o;
+ return o === 'object' || o === 'function';
+};
+const getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\s|-/g, '_')}`;
+const patchEsm = () => {
+ // @ts-ignore
+ if (BUILD.cssVarShim && !(CSS && CSS.supports && CSS.supports('color', 'var(--c)'))) {
+ // @ts-ignore
+ return __sc_import_gc_components(/* webpackChunkName: "stencil-polyfills-css-shim" */ './css-shim-8775d9ad-556f0cc2.js').then(() => {
+ if (plt.$cssShim$ = win.__cssshim) {
+ return plt.$cssShim$.i();
+ }
+ else {
+ // for better minification
+ return 0;
+ }
+ });
+ }
+ return promiseResolve();
+};
+const patchBrowser = () => {
+ // NOTE!! This fn cannot use async/await!
+ if (BUILD.isDev) {
+ consoleDevInfo('Stencil is running in the development mode.');
+ }
+ if (BUILD.cssVarShim) {
+ // shim css vars
+ plt.$cssShim$ = win.__cssshim;
+ }
+ if (BUILD.cloneNodeFix) {
+ // opted-in to polyfill cloneNode() for slot polyfilled components
+ patchCloneNodeFix(H.prototype);
+ }
+ if (BUILD.profile && !performance.mark) {
+ // not all browsers support performance.mark/measure (Safari 10)
+ performance.mark = performance.measure = () => { };
+ performance.getEntriesByName = () => [];
+ }
+ // @ts-ignore
+ const scriptElm = (BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim) ?
+ Array.from(doc.querySelectorAll('script')).find(s => (new RegExp(`\/${NAMESPACE}(\\.esm)?\\.js($|\\?|#)`).test(s.src) ||
+ s.getAttribute('data-stencil-namespace') === NAMESPACE)) : null;
+ const importMeta = "";
+ const opts = BUILD.scriptDataOpts ? scriptElm['data-opts'] || {} : {};
+ if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {
+ // Safari < v11 support: This IF is true if it's Safari below v11.
+ // This fn cannot use async/await since Safari didn't support it until v11,
+ // however, Safari 10 did support modules. Safari 10 also didn't support "nomodule",
+ // so both the ESM file and nomodule file would get downloaded. Only Safari
+ // has 'onbeforeload' in the script, and "history.scrollRestoration" was added
+ // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.
+ // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.
+ return { then() { } };
+ }
+ if (!BUILD.safari10 && importMeta !== '') {
+ opts.resourcesUrl = new URL('.', importMeta).href;
+ }
+ else if (BUILD.dynamicImportShim || BUILD.safari10) {
+ opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;
+ patchDynamicImport(opts.resourcesUrl, scriptElm);
+ if (BUILD.dynamicImportShim && !win.customElements) {
+ // module support, but no custom elements support (Old Edge)
+ // @ts-ignore
+ return __sc_import_gc_components(/* webpackChunkName: "stencil-polyfills-dom" */ './dom-76cc7c7d-0a082895.js').then(() => opts);
+ }
+ }
+ return promiseResolve(opts);
+};
+const patchDynamicImport = (base, orgScriptElm) => {
+ const importFunctionName = getDynamicImportFunction(NAMESPACE);
+ try {
+ // test if this browser supports dynamic imports
+ // There is a caching issue in V8, that breaks using import() in Function
+ // By generating a random string, we can workaround it
+ // Check https://bugs.chromium.org/p/v8/issues/detail?id=9558 for more info
+ win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);
+ }
+ catch (e) {
+ // this shim is specifically for browsers that do support "esm" imports
+ // however, they do NOT support "dynamic" imports
+ // basically this code is for old Edge, v18 and below
+ const moduleMap = new Map();
+ win[importFunctionName] = (src) => {
+ const url = new URL(src, base).href;
+ let mod = moduleMap.get(url);
+ if (!mod) {
+ const script = doc.createElement('script');
+ script.type = 'module';
+ script.crossOrigin = orgScriptElm.crossOrigin;
+ script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], { type: 'application/javascript' }));
+ mod = new Promise(resolve => {
+ script.onload = () => {
+ resolve(win[importFunctionName].m);
+ script.remove();
+ };
+ });
+ moduleMap.set(url, mod);
+ doc.head.appendChild(script);
+ }
+ return mod;
+ };
+ }
+};
+const patchCloneNodeFix = (HTMLElementPrototype) => {
+ const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;
+ HTMLElementPrototype.cloneNode = function (deep) {
+ if (this.nodeName === 'TEMPLATE') {
+ return nativeCloneNodeFn.call(this, deep);
+ }
+ const clonedNode = nativeCloneNodeFn.call(this, false);
+ const srcChildNodes = this.childNodes;
+ if (deep) {
+ for (let i = 0; i < srcChildNodes.length; i++) {
+ // Node.ATTRIBUTE_NODE === 2, and checking because IE11
+ if (srcChildNodes[i].nodeType !== 2) {
+ clonedNode.appendChild(srcChildNodes[i].cloneNode(true));
+ }
+ }
+ }
+ return clonedNode;
+ };
+};
+const CONTENT_REF_ID = 'r';
+const ORG_LOCATION_ID = 'o';
+const SLOT_NODE_ID = 's';
+const TEXT_NODE_ID = 't';
+const HYDRATE_ID = 's-id';
+const HYDRATED_STYLE_ID = 'sty-id';
+const HYDRATE_CHILD_ID = 'c-id';
+const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
+const XLINK_NS = 'http://www.w3.org/1999/xlink';
+const createTime = (fnName, tagName = '') => {
+ if (BUILD.profile) {
+ const key = `st:${fnName}:${tagName}:${i++}`;
+ // Start
+ performance.mark(key);
+ // End
+ return () => performance.measure(`[Stencil] ${fnName}() <${tagName}>`, key);
+ }
+ else {
+ return () => { return; };
+ }
+};
+const uniqueTime = (key, measureText) => {
+ if (BUILD.profile) {
+ if (performance.getEntriesByName(key).length === 0) {
+ performance.mark(key);
+ }
+ return () => {
+ if (performance.getEntriesByName(measureText).length === 0) {
+ performance.measure(measureText, key);
+ }
+ };
+ }
+ else {
+ return () => { return; };
+ }
+};
+const inspect = (ref) => {
+ const hostRef = getHostRef(ref);
+ if (!hostRef) {
+ return undefined;
+ }
+ const flags = hostRef.$flags$;
+ const hostElement = hostRef.$hostElement$;
+ return {
+ renderCount: hostRef.$renderCount$,
+ flags: {
+ hasRendered: !!(flags & 2 /* hasRendered */),
+ hasConnected: !!(flags & 1 /* hasConnected */),
+ isWaitingForChildren: !!(flags & 4 /* isWaitingForChildren */),
+ isConstructingInstance: !!(flags & 8 /* isConstructingInstance */),
+ isQueuedForUpdate: !!(flags & 16 /* isQueuedForUpdate */),
+ hasInitializedComponent: !!(flags & 32 /* hasInitializedComponent */),
+ hasLoadedComponent: !!(flags & 64 /* hasLoadedComponent */),
+ isWatchReady: !!(flags & 128 /* isWatchReady */),
+ isListenReady: !!(flags & 256 /* isListenReady */),
+ needsRerender: !!(flags & 512 /* needsRerender */),
+ },
+ instanceValues: hostRef.$instanceValues$,
+ ancestorComponent: hostRef.$ancestorComponent$,
+ hostElement,
+ lazyInstance: hostRef.$lazyInstance$,
+ vnode: hostRef.$vnode$,
+ modeName: hostRef.$modeName$,
+ onReadyPromise: hostRef.$onReadyPromise$,
+ onReadyResolve: hostRef.$onReadyResolve$,
+ onInstancePromise: hostRef.$onInstancePromise$,
+ onInstanceResolve: hostRef.$onInstanceResolve$,
+ onRenderResolve: hostRef.$onRenderResolve$,
+ queuedListeners: hostRef.$queuedListeners$,
+ rmListeners: hostRef.$rmListeners$,
+ ['s-id']: hostElement['s-id'],
+ ['s-cr']: hostElement['s-cr'],
+ ['s-lr']: hostElement['s-lr'],
+ ['s-p']: hostElement['s-p'],
+ ['s-rc']: hostElement['s-rc'],
+ ['s-sc']: hostElement['s-sc'],
+ };
+};
+const installDevTools = () => {
+ if (BUILD.devTools) {
+ const stencil = win.stencil = win.stencil || {};
+ const originalInspect = stencil.inspect;
+ stencil.inspect = (ref) => {
+ let result = inspect(ref);
+ if (!result && typeof originalInspect === 'function') {
+ result = originalInspect(ref);
+ }
+ return result;
+ };
+ }
+};
+const rootAppliedStyles = new WeakMap();
+const registerStyle = (scopeId, cssText, allowCS) => {
+ let style = styles.get(scopeId);
+ if (supportsConstructibleStylesheets && allowCS) {
+ style = (style || new CSSStyleSheet());
+ style.replace(cssText);
+ }
+ else {
+ style = cssText;
+ }
+ styles.set(scopeId, style);
+};
+const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
+ let scopeId = BUILD.mode ? getScopeId(cmpMeta.$tagName$, mode) : getScopeId(cmpMeta.$tagName$);
+ let style = styles.get(scopeId);
+ // if an element is NOT connected then getRootNode() will return the wrong root node
+ // so the fallback is to always use the document for the root node in those cases
+ styleContainerNode = (styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc);
+ if (BUILD.mode && !style) {
+ scopeId = getScopeId(cmpMeta.$tagName$);
+ style = styles.get(scopeId);
+ }
+ if (style) {
+ if (typeof style === 'string') {
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
+ let styleElm;
+ if (!appliedStyles) {
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = new Set());
+ }
+ if (!appliedStyles.has(scopeId)) {
+ if (BUILD.hydrateClientSide && styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId}"]`))) {
+ // This is only happening on native shadow-dom, do not needs CSS var shim
+ styleElm.innerHTML = style;
+ }
+ else {
+ if (BUILD.cssVarShim && plt.$cssShim$) {
+ styleElm = plt.$cssShim$.createHostStyle(hostElm, scopeId, style, !!(cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */));
+ const newScopeId = styleElm['s-sc'];
+ if (newScopeId) {
+ scopeId = newScopeId;
+ // we don't want to add this styleID to the appliedStyles Set
+ // since the cssVarShim might need to apply several different
+ // stylesheets for the same component
+ appliedStyles = null;
+ }
+ }
+ else {
+ styleElm = doc.createElement('style');
+ styleElm.innerHTML = style;
+ }
+ if (BUILD.hydrateServerSide || BUILD.hotModuleReplacement) {
+ styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId);
+ }
+ styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
+ }
+ if (appliedStyles) {
+ appliedStyles.add(scopeId);
+ }
+ }
+ }
+ else if (BUILD.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) {
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
+ }
+ }
+ return scopeId;
+};
+const attachStyles = (elm, cmpMeta, mode) => {
+ const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
+ const scopeId = addStyle((BUILD.shadowDom && supportsShadowDom && elm.shadowRoot)
+ ? elm.shadowRoot
+ : elm.getRootNode(), cmpMeta, mode, elm);
+ if ((BUILD.shadowDom || BUILD.scoped) && BUILD.cssAnnotations && cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */) {
+ // only required when we're NOT using native shadow dom (slot)
+ // or this browser doesn't support native shadow dom
+ // and this host element was NOT created with SSR
+ // let's pick out the inner content for slot projection
+ // create a node to represent where the original
+ // content was first placed, which is useful later on
+ // DOM WRITE!!
+ elm['s-sc'] = scopeId;
+ elm.classList.add(scopeId + '-h');
+ if (BUILD.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
+ elm.classList.add(scopeId + '-s');
+ }
+ }
+ endAttachStyles();
+};
+const getScopeId = (tagName, mode) => 'sc-' + ((BUILD.mode && mode) ? tagName + '-' + mode : tagName);
+const convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, '$1{');
+/**
+ * Production h() function based on Preact by
+ * Jason Miller (@developit)
+ * Licensed under the MIT License
+ * https://github.com/developit/preact/blob/master/LICENSE
+ *
+ * Modified for Stencil's compiler and vdom
+ */
+// const stack: any[] = [];
+// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
+// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
+const h = (nodeName, vnodeData, ...children) => {
+ let child = null;
+ let key = null;
+ let slotName = null;
+ let simple = false;
+ let lastSimple = false;
+ let vNodeChildren = [];
+ const walk = (c) => {
+ for (let i = 0; i < c.length; i++) {
+ child = c[i];
+ if (Array.isArray(child)) {
+ walk(child);
+ }
+ else if (child != null && typeof child !== 'boolean') {
+ if (simple = typeof nodeName !== 'function' && !isComplexType(child)) {
+ child = String(child);
+ }
+ else if (BUILD.isDev && child.$flags$ === undefined) {
+ consoleDevError(`vNode passed as children has unexpected type.
+Make sure it's using the correct h() function.
+Empty objects can also be the cause, look for JSX comments that became objects.`);
+ }
+ if (simple && lastSimple) {
+ // If the previous child was simple (string), we merge both
+ vNodeChildren[vNodeChildren.length - 1].$text$ += child;
+ }
+ else {
+ // Append a new vNode, if it's text, we create a text vNode
+ vNodeChildren.push(simple ? newVNode(null, child) : child);
+ }
+ lastSimple = simple;
+ }
+ }
+ };
+ walk(children);
+ if (vnodeData) {
+ if (BUILD.isDev && nodeName === 'input') {
+ validateInputProperties(vnodeData);
+ }
+ // normalize class / classname attributes
+ if (BUILD.vdomKey && vnodeData.key) {
+ key = vnodeData.key;
+ }
+ if (BUILD.slotRelocation && vnodeData.name) {
+ slotName = vnodeData.name;
+ }
+ if (BUILD.vdomClass) {
+ const classData = vnodeData.className || vnodeData.class;
+ if (classData) {
+ vnodeData.class = typeof classData !== 'object'
+ ? classData
+ : Object.keys(classData)
+ .filter(k => classData[k])
+ .join(' ');
+ }
+ }
+ }
+ if (BUILD.isDev && vNodeChildren.some(isHost)) {
+ consoleDevError(`The must be the single root component. Make sure:
+- You are NOT using hostData() and in the same component.
+- is used once, and it's the single root component of the render() function.`);
+ }
+ if (BUILD.vdomFunctional && typeof nodeName === 'function') {
+ // nodeName is a functional component
+ return nodeName(vnodeData, vNodeChildren, vdomFnUtils);
+ }
+ const vnode = newVNode(nodeName, null);
+ vnode.$attrs$ = vnodeData;
+ if (vNodeChildren.length > 0) {
+ vnode.$children$ = vNodeChildren;
+ }
+ if (BUILD.vdomKey) {
+ vnode.$key$ = key;
+ }
+ if (BUILD.slotRelocation) {
+ vnode.$name$ = slotName;
+ }
+ return vnode;
+};
+const newVNode = (tag, text) => {
+ const vnode = {
+ $flags$: 0,
+ $tag$: tag,
+ $text$: text,
+ $elm$: null,
+ $children$: null
+ };
+ if (BUILD.vdomAttribute) {
+ vnode.$attrs$ = null;
+ }
+ if (BUILD.vdomKey) {
+ vnode.$key$ = null;
+ }
+ if (BUILD.slotRelocation) {
+ vnode.$name$ = null;
+ }
+ return vnode;
+};
+const Host = {};
+const isHost = (node) => node && node.$tag$ === Host;
+const vdomFnUtils = {
+ 'forEach': (children, cb) => children.map(convertToPublic).forEach(cb),
+ 'map': (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate)
+};
+const convertToPublic = (node) => {
+ return {
+ vattrs: node.$attrs$,
+ vchildren: node.$children$,
+ vkey: node.$key$,
+ vname: node.$name$,
+ vtag: node.$tag$,
+ vtext: node.$text$
+ };
+};
+const convertToPrivate = (node) => {
+ const vnode = newVNode(node.vtag, node.vtext);
+ vnode.$attrs$ = node.vattrs;
+ vnode.$children$ = node.vchildren;
+ vnode.$key$ = node.vkey;
+ vnode.$name$ = node.vname;
+ return vnode;
+};
+const validateInputProperties = (vnodeData) => {
+ const props = Object.keys(vnodeData);
+ const typeIndex = props.indexOf('type');
+ const minIndex = props.indexOf('min');
+ const maxIndex = props.indexOf('max');
+ const stepIndex = props.indexOf('min');
+ const value = props.indexOf('value');
+ if (value < typeIndex || value < minIndex || value < maxIndex || value < stepIndex) {
+ consoleDevWarn(`The "value" prop of should be set after "min", "max", "type" and "step"`);
+ }
+};
+/**
+ * Production setAccessor() function based on Preact by
+ * Jason Miller (@developit)
+ * Licensed under the MIT License
+ * https://github.com/developit/preact/blob/master/LICENSE
+ *
+ * Modified for Stencil's compiler and vdom
+ */
+const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
+ if (oldValue !== newValue) {
+ let isProp = isMemberInElement(elm, memberName);
+ let ln = memberName.toLowerCase();
+ if (BUILD.vdomClass && memberName === 'class') {
+ const classList = elm.classList;
+ const oldClasses = parseClassList(oldValue);
+ const newClasses = parseClassList(newValue);
+ classList.remove(...oldClasses.filter(c => c && !newClasses.includes(c)));
+ classList.add(...newClasses.filter(c => c && !oldClasses.includes(c)));
+ }
+ else if (BUILD.vdomStyle && memberName === 'style') {
+ // update style attribute, css properties and values
+ if (BUILD.updatable) {
+ for (const prop in oldValue) {
+ if (!newValue || newValue[prop] == null) {
+ if (!BUILD.hydrateServerSide && prop.includes('-')) {
+ elm.style.removeProperty(prop);
+ }
+ else {
+ elm.style[prop] = '';
+ }
+ }
+ }
+ }
+ for (const prop in newValue) {
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
+ if (!BUILD.hydrateServerSide && prop.includes('-')) {
+ elm.style.setProperty(prop, newValue[prop]);
+ }
+ else {
+ elm.style[prop] = newValue[prop];
+ }
+ }
+ }
+ }
+ else if (BUILD.vdomKey && memberName === 'key')
+ ;
+ else if (BUILD.vdomRef && memberName === 'ref') {
+ // minifier will clean this up
+ if (newValue) {
+ newValue(elm);
+ }
+ }
+ else if (BUILD.vdomListener &&
+ (BUILD.lazyLoad
+ ? !isProp
+ : !elm.__lookupSetter__(memberName)) &&
+ memberName[0] === 'o' && memberName[1] === 'n') {
+ // Event Handlers
+ // so if the member name starts with "on" and the 3rd characters is
+ // a capital letter, and it's not already a member on the element,
+ // then we're assuming it's an event listener
+ if (memberName[2] === '-') {
+ // on- prefixed events
+ // allows to be explicit about the dom event to listen without any magic
+ // under the hood:
+ // // listens for "click"
+ // // listens for "Click"
+ // // listens for "ionChange"
+ // // listens for "EVENTS"
+ memberName = memberName.slice(3);
+ }
+ else if (isMemberInElement(win, ln)) {
+ // standard event
+ // the JSX attribute could have been "onMouseOver" and the
+ // member name "onmouseover" is on the window's prototype
+ // so let's add the listener "mouseover", which is all lowercased
+ memberName = ln.slice(2);
+ }
+ else {
+ // custom event
+ // the JSX attribute could have been "onMyCustomEvent"
+ // so let's trim off the "on" prefix and lowercase the first character
+ // and add the listener "myCustomEvent"
+ // except for the first character, we keep the event name case
+ memberName = ln[2] + memberName.slice(3);
+ }
+ if (oldValue) {
+ plt.rel(elm, memberName, oldValue, false);
+ }
+ if (newValue) {
+ plt.ael(elm, memberName, newValue, false);
+ }
+ }
+ else if (BUILD.vdomPropOrAttr) {
+ // Set property if it exists and it's not a SVG
+ const isComplex = isComplexType(newValue);
+ if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
+ try {
+ if (!elm.tagName.includes('-')) {
+ let n = newValue == null ? '' : newValue;
+ // Workaround for Safari, moving the caret when re-assigning the same valued
+ if (memberName === 'list') {
+ isProp = false;
+ // tslint:disable-next-line: triple-equals
+ }
+ else if (oldValue == null || elm[memberName] != n) {
+ elm[memberName] = n;
+ }
+ }
+ else {
+ elm[memberName] = newValue;
+ }
+ }
+ catch (e) { }
+ }
+ /**
+ * Need to manually update attribute if:
+ * - memberName is not an attribute
+ * - if we are rendering the host element in order to reflect attribute
+ * - if it's a SVG, since properties might not work in