Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: FIXME
Upstream-Contact: FIXME
Source: FIXME
Disclaimer: Autogenerated by licensecheck

Files:
 *
Copyright:
  NONE
License: Apache-2.0 and/or Apache-2.0 or Expat
 FIXME

Files:
 crates/swc_common/src/errors/diagnostic.rs
 crates/swc_common/src/errors/diagnostic_builder.rs
 crates/swc_common/src/errors/emitter.rs
 crates/swc_common/src/errors/lock.rs
 crates/swc_common/src/errors/mod.rs
 crates/swc_common/src/errors/snippet.rs
 crates/swc_common/src/errors/styled_buffer.rs
 crates/swc_common/src/source_map.rs
 crates/swc_common/src/sync.rs
 crates/swc_common/src/syntax_pos/analyze_source_file.rs
 crates/swc_common/src/syntax_pos/hygiene.rs
Copyright:
  2012, The Rust Project Developers. See the COPYRIGHT
  2012-2014, The Rust Project Developers. See the COPYRIGHT
  2012-2015, The Rust Project Developers. See the COPYRIGHT
  2016, The Rust Project Developers. See the COPYRIGHT
  2017, The Rust Project Developers. See the COPYRIGHT
  2018, The Rust Project Developers. See the COPYRIGHT
License: Apache-2.0 or MIT~unspecified
 FIXME

Files:
 crates/swc_html_minifier/tests/fixture/comment/basic/input.html
 crates/swc_html_minifier/tests/fixture/comment/basic/output.min.html
 crates/swc_html_minifier/tests/fixture/comment/disable-remove-comment/input.html
 crates/swc_html_minifier/tests/fixture/comment/disable-remove-comment/output.min.html
Copyright:
  foo -->
License: UNKNOWN
 FIXME

Files:
 crates/hstr/src/wtf8/mod.rs
 crates/hstr/src/wtf8/not_quite_std.rs
Copyright:
  2014, Simon Sapin
License: Expat
 FIXME

Files:
 crates/swc_html_minifier/tests/fixture/text/basic/input.html
 crates/swc_html_minifier/tests/fixture/text/basic/output.min.html
Copyright:
  ©
License: UNKNOWN
 FIXME

Files:
 crates/hstr/LICENSE
Copyright:
  NONE
License: Apache-2.0
 FIXME

Files:
 LICENSE
Copyright:
  2024, SWC contributors.
License: Apache-2.0
 FIXME

Files:
 crates/swc_sourcemap/tests/fixtures/ram_bundle/indexed_bundle_1/basic.jsbundle.map
Copyright:
  Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @polyfill * * @format "use strict"; eslint-disable no-bitwise global.__r = metroRequire; global.__d = define; global.__c = clear; global.__registerSegment = registerSegment; var modules = clear(); Don't use a Symbol here, it would pull in an extra polyfill with all sorts of additional stuff (e.g. Array.from). const EMPTY = {}; const _ref = {}, hasOwnProperty = _ref.hasOwnProperty; function clear() { modules = Object.create(null); We return modules here so that we can assign an initial value to modules when defining it. Otherwise, we would have to do "let modules = null", which will force us to add "nullthrows" everywhere. return modules; } if (__DEV__) { var verboseNamesToModuleIds = Object.create(null); var initializingModuleIds = []; } function define(factory, moduleId, dependencyMap) { if (modules[moduleId] != null) { if (__DEV__) { (We take `inverseDependencies` from `arguments` to avoid an unused named parameter in `define` in production. const inverseDependencies = arguments[4]; If the module has already been defined and the define method has been called with inverseDependencies, we can hot reload it. if (inverseDependencies) { global.__accept(moduleId, factory, dependencyMap, inverseDependencies); } } prevent repeated calls to `global.nativeRequire` to overwrite modules that are already loaded return; } modules[moduleId] = { dependencyMap, factory, hasError: false, importedAll: EMPTY, importedDefault: EMPTY, isInitialized: false, publicModule: { exports: {} } }; if (__DEV__) { HMR modules[moduleId].hot = createHotReloadingObject(); DEBUGGABLE MODULES NAMES we take `verboseName` from `arguments` to avoid an unused named parameter in `define` in production. const verboseName = arguments[3]; if (verboseName) { modules[moduleId].verboseName = verboseName; verboseNamesToModuleIds[verboseName] = moduleId; } } } function metroRequire(moduleId) { if (__DEV__ && typeof moduleId === "string") { const verboseName = moduleId; moduleId = verboseNamesToModuleIds[verboseName]; if (moduleId == null) { throw new Error(`Unknown named module: "${verboseName}"`); } else { console.warn( `Requiring module "${verboseName}" by name is only supported for ` + "debugging purposes and will BREAK IN PRODUCTION!" ); } } $FlowFixMe: at this point we know that moduleId is a number const moduleIdReallyIsNumber = moduleId; if (__DEV__) { const initializingIndex = initializingModuleIds.indexOf( moduleIdReallyIsNumber ); if (initializingIndex !== -1) { const cycle = initializingModuleIds .slice(initializingIndex) .map(id => modules[id].verboseName); We want to show A -> B -> A: cycle.push(cycle[0]); console.warn( `Require cycle: ${cycle.join(" -> ")} ` + "Require cycles are allowed, but can result in uninitialized values. " + "Consider refactoring to remove the need for a cycle." ); } } const module = modules[moduleIdReallyIsNumber]; return module && module.isInitialized ? module.publicModule.exports : guardedLoadModule(moduleIdReallyIsNumber, module); } function metroImportDefault(moduleId) { if (__DEV__ && typeof moduleId === "string") { const verboseName = moduleId; moduleId = verboseNamesToModuleIds[verboseName]; } $FlowFixMe: at this point we know that moduleId is a number const moduleIdReallyIsNumber = moduleId; if ( modules[moduleIdReallyIsNumber] && modules[moduleIdReallyIsNumber].importedDefault !== EMPTY ) { return modules[moduleIdReallyIsNumber].importedDefault; } const exports = metroRequire(moduleIdReallyIsNumber); const importedDefault = exports && exports.__esModule ? exports.default : exports; return (modules[moduleIdReallyIsNumber].importedDefault = importedDefault); } metroRequire.importDefault = metroImportDefault; function metroImportAll(moduleId) { if (__DEV__ && typeof moduleId === "string") { const verboseName = moduleId; moduleId = verboseNamesToModuleIds[verboseName]; } $FlowFixMe: at this point we know that moduleId is a number const moduleIdReallyIsNumber = moduleId; if ( modules[moduleIdReallyIsNumber] && modules[moduleIdReallyIsNumber].importedAll !== EMPTY ) { return modules[moduleIdReallyIsNumber].importedAll; } const exports = metroRequire(moduleIdReallyIsNumber); let importedAll; if (exports && exports.__esModule) { importedAll = exports; } else { importedAll = {}; Refrain from using Object.assign, it has to work in ES3 environments. if (exports) { for (const key in exports) { if (hasOwnProperty.call(exports, key)) { importedAll[key] = exports[key]; } } } importedAll.default = exports; } return (modules[moduleIdReallyIsNumber].importedAll = importedAll); } metroRequire.importAll = metroImportAll; let inGuard = false; function guardedLoadModule(moduleId, module) { if (!inGuard && global.ErrorUtils) { inGuard = true; let returnValue; try { returnValue = loadModuleImplementation(moduleId, module); } catch (e) { global.ErrorUtils.reportFatalError(e); } inGuard = false; return returnValue; } else { return loadModuleImplementation(moduleId, module); } } const ID_MASK_SHIFT = 16; const LOCAL_ID_MASK = ~0 >>> ID_MASK_SHIFT; function unpackModuleId(moduleId) { const segmentId = moduleId >>> ID_MASK_SHIFT; const localId = moduleId & LOCAL_ID_MASK; return { segmentId, localId }; } metroRequire.unpackModuleId = unpackModuleId; function packModuleId(value) { return (value.segmentId << ID_MASK_SHIFT) + value.localId; } metroRequire.packModuleId = packModuleId; const hooks = []; function registerHook(cb) { const hook = { cb }; hooks.push(hook); return { release: () => { for (let i = 0; i < hooks.length; ++i) { if (hooks[i] === hook) { hooks.splice(i, 1); break; } } } }; } metroRequire.registerHook = registerHook; const moduleDefinersBySegmentID = []; function registerSegment(segmentID, moduleDefiner) { moduleDefinersBySegmentID[segmentID] = moduleDefiner; } function loadModuleImplementation(moduleId, module) { if (!module && moduleDefinersBySegmentID.length > 0) { const _unpackModuleId = unpackModuleId(moduleId), segmentId = _unpackModuleId.segmentId, localId = _unpackModuleId.localId; const definer = moduleDefinersBySegmentID[segmentId]; if (definer != null) { definer(localId); module = modules[moduleId]; } } const nativeRequire = global.nativeRequire; if (!module && nativeRequire) { const _unpackModuleId2 = unpackModuleId(moduleId), segmentId = _unpackModuleId2.segmentId, localId = _unpackModuleId2.localId; nativeRequire(localId, segmentId); module = modules[moduleId]; } if (!module) { throw unknownModuleError(moduleId); } if (module.hasError) { throw moduleThrewError(moduleId, module.error); } `metroRequire` calls into the require polyfill itself are not analyzed and replaced so that they use numeric module IDs. The systrace module will expose itself on the metroRequire function so that it can be used here. TODO(davidaurelio) Scan polyfills for dependencies, too (t9759686) if (__DEV__) { var Systrace = metroRequire.Systrace; } We must optimistically mark module as initialized before running the factory to keep any require cycles inside the factory from causing an infinite require loop. module.isInitialized = true; const _module = module, factory = _module.factory, dependencyMap = _module.dependencyMap; if (__DEV__) { initializingModuleIds.push(moduleId); } try { if (__DEV__) { $FlowFixMe: we know that __DEV__ is const and `Systrace` exists Systrace.beginEvent("JS_require_" + (module.verboseName || moduleId)); } const moduleObject = module.publicModule; if (__DEV__) { if (module.hot) { moduleObject.hot = module.hot; } } moduleObject.id = moduleId; if (hooks.length > 0) { for (let i = 0; i < hooks.length; ++i) { hooks[i].cb(moduleId, moduleObject); } } keep args in sync with with defineModuleCode in metro/src/Resolver/index.js and metro/src/ModuleGraph/worker.js factory( global, metroRequire, metroImportDefault, metroImportAll, moduleObject, moduleObject.exports, dependencyMap ); avoid removing factory in DEV mode as it breaks HMR if (!__DEV__) { $FlowFixMe: This is only sound because we never access `factory` again module.factory = undefined; module.dependencyMap = undefined; } if (__DEV__) { $FlowFixMe: we know that __DEV__ is const and `Systrace` exists Systrace.endEvent(); } return moduleObject.exports; } catch (e) { module.hasError = true; module.error = e; module.isInitialized = false; module.publicModule.exports = undefined; throw e; } finally { if (__DEV__) { if (initializingModuleIds.pop() !== moduleId) { throw new Error( "initializingModuleIds is corrupt; something is terribly wrong" ); } } } } function unknownModuleError(id) { let message = 'Requiring unknown module "' + id + '".'; if (__DEV__) { message += "If you are sure the module is there, try restarting Metro Bundler. " + "You may also want to run `yarn`, or `npm install` (depending on your environment)."; } return Error(message); } function moduleThrewError(id, error) { const displayName = (__DEV__ && modules[id] && modules[id].verboseName) || id; return Error( 'Requiring module "' + displayName + '", which threw an exception: ' + error ); } if (__DEV__) { metroRequire.Systrace = { beginEvent: () => {}, endEvent: () => {} }; metroRequire.getModules = () => { return modules; }; HOT MODULE RELOADING var createHotReloadingObject = function() { const hot = { acceptCallback: null, accept: callback => { hot.acceptCallback = callback; }, disposeCallback: null, dispose: callback => { hot.disposeCallback = callback; } }; return hot; }; const metroAcceptAll = function( dependentModules, inverseDependencies, patchedModules ) { if (!dependentModules || dependentModules.length === 0) { return true; } const notAccepted = dependentModules.filter( module => !metroAccept( module, factory undefined, dependencyMap undefined, inverseDependencies, patchedModules ) ); const parents = []; for (let i = 0; i < notAccepted.length; i++) { if the module has no parents then the change cannot be hot loaded if (inverseDependencies[notAccepted[i]].length === 0) { return false; } parents.push.apply(parents, inverseDependencies[notAccepted[i]]); } return parents.length == 0; }; const metroAccept = function( id, factory, dependencyMap, inverseDependencies ) { let patchedModules = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; if (id in patchedModules) { Do not patch the same module more that once during an update. return true; } patchedModules[id] = true; const mod = modules[id]; if (!mod && factory) { New modules are going to be handled by the define() method. return true; } const hot = mod.hot; if (!hot) { console.warn( "Cannot accept module because Hot Module Replacement " + "API was not installed." ); return false; } if (hot.disposeCallback) { try { hot.disposeCallback(); } catch (error) { console.error( `Error while calling dispose handler for module ${id}: `, error ); } } replace and initialize factory if (factory) { mod.factory = factory; } if (dependencyMap) { mod.dependencyMap = dependencyMap; } mod.hasError = false; mod.isInitialized = false; metroRequire(id); if (hot.acceptCallback) { try { hot.acceptCallback(); return true; } catch (error) { console.error( `Error while calling accept handler for module ${id}: `, error ); } } need to have inverseDependencies to bubble up accept if (!inverseDependencies) { throw new Error("Undefined `inverseDependencies`"); } accept parent modules recursively up until all siblings are accepted return metroAcceptAll( inverseDependencies[id], inverseDependencies, patchedModules ); }; global.__accept = metroAccept; } "],"names":["global","__r","metroRequire","__d","factory","moduleId","dependencyMap","modules","hasError","importedAll","EMPTY","importedDefault","isInitialized","publicModule","exports","__c","clear","__registerSegment","segmentID","moduleDefiner","moduleDefinersBySegmentID","hasOwnProperty","Object","create","moduleIdReallyIsNumber","module","guardedLoadModule","metroImportDefault","__esModule","default","metroImportAll","key","call","importDefault","importAll","inGuard","ErrorUtils","returnValue","loadModuleImplementation","e","reportFatalError","ID_MASK_SHIFT","LOCAL_ID_MASK","unpackModuleId","segmentId","localId","packModuleId","value","hooks","registerHook","cb","hook","push","release","i","length","splice","_unpackModuleId","definer","nativeRequire","_unpackModuleId2","unknownModuleError","moduleThrewError","error","_module","moduleObject","id","undefined","Error"],"mappings":"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"},"offset":{"line":1,"column":0}},{"map":{"version":3,"sources":["require-/Users/anton/reps/tmp/ram-bundles-test/metro-test/src/index.js"],"sourcesContent":[""],"names":[],"mappings":""},"offset":{"line":2,"column":0}},{"map":{"version":3,"sources":["source-map"],"sourcesContent":[""],"names":[],"mappings":""},"offset":{"line":3,"column":0}}],"version":3},"offset":{"line":0,"column":123}},{"map":{"version":3,"sources":["/Users/anton/reps/tmp/ram-bundles-test/metro-test/src/index.js"],"sourcesContent":["const f = require("./other"); const isWindows = require("is-windows"); 3rd party package console.log("inside index.js"); console.log(f("world")); console.log("Is Windows OS: " + isWindows()); "],"names":["f","require","d","isWindows","console","log"],"mappings":"yCAAA,MAAMA,EAAIC,EAAOC,EAAA,IACXC,EAAYF,EAAOC,EAAA,IAEzBE,QAAQC,IAAI,mBACZD,QAAQC,IAAIL,EAAE,UACdI,QAAQC,IAAI,kBAAoBF"},"offset":{"line":4,"column":28}},{"map":{"version":3,"sources":["/Users/anton/reps/tmp/ram-bundles-test/metro-test/src/other.js"],"sourcesContent":["console.log('inside other.js'); module.exports = s => "hello, " + s; "],"names":["console","log","module","exports","s"],"mappings":"yCAAAA,QAAQC,IAAI,mBACZC,EAAOC,QAAUC,CAAAA,GAAK,UAAYA"},"offset":{"line":5,"column":28}},{"map":{"version":3,"sources":["/Users/anton/reps/tmp/ram-bundles-test/metro-test/node_modules/is-windows/index.js"],"sourcesContent":["! * is-windows <https://github.com/jonschlinkert/is-windows> * * Copyright © 2015-2018, Jon Schlinkert. * Released under the MIT License. (function(factory) { if (exports && typeof exports === 'object' && typeof module !== 'undefined') { module.exports = factory(); } else if (typeof define === 'function' && define.amd) { define([], factory); } else if (typeof window !== 'undefined') { window.isWindows = factory(); } else if (typeof global !== 'undefined') { global.isWindows = factory(); } else if (typeof self !== 'undefined') { self.isWindows = factory(); } else { this.isWindows = factory(); } })(function() { 'use strict'; return function isWindows() { return process && (process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE)); }; }); "],"names":["factory","exports","module","define","amd","window","isWindows","global","self","this","process","platform","test","env","OSTYPE"],"mappings":"2CAOA,SAAUA,GACJC,GAA8B,iBAAZA,QAA0C,IAAXC,EACnDA,EAAOD,QAAUD,IACU,mBAAXG,QAAyBA,OAAOC,IAChDD,UAAWH,GACgB,oBAAXK,OAChBA,OAAOC,UAAYN,SACQ,IAAXO,EAChBA,EAAOD,UAAYN,IACM,oBAATQ,KAChBA,KAAKF,UAAYN,IAEjBS,KAAKH,UAAYN,KAZrB,CAcG,WAED,OAAO,WACL,OAAOU,UAAiC,UAArBA,QAAQC,UAAwB,kBAAkBC,KAAKF,QAAQG,IAAIC"},"offset":{"line":6,"column":28}}],"version":3,"x_facebook_offsets":[4,null,null,5,6],"x_metro_module_paths":["/Users/anton/reps/tmp/ram-bundles-test/metro-test/src/index.js","__prelude__","/Users/anton/reps/tmp/ram-bundles-test/metro-test/node_modules/metro/src/lib/polyfills/require.js","/Users/anton/reps/tmp/ram-bundles-test/metro-test/src/other.js","/Users/anton/reps/tmp/ram-bundles-test/metro-test/node_modules/is-windows/index.js","require-/Users/anton/reps/tmp/ram-bundles-test/metro-test/src/index.js","source-map"]}
License: Expat
 FIXME

Files:
 crates/swc_sourcemap/tests/fixtures/react-native-metro/output.js.map
Copyright:
  Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @polyfill * * @format "use strict"; eslint-disable no-bitwise global.__r = metroRequire; global.__d = define; global.__c = clear; global.__registerSegment = registerSegment; var modules = clear(); Don't use a Symbol here, it would pull in an extra polyfill with all sorts of additional stuff (e.g. Array.from). const EMPTY = {}; const _ref = {}, hasOwnProperty = _ref.hasOwnProperty; if (__DEV__) { global.$RefreshReg$ = () => {}; global.$RefreshSig$ = () => type => type; } function clear() { modules = Object.create(null); We return modules here so that we can assign an initial value to modules when defining it. Otherwise, we would have to do "let modules = null", which will force us to add "nullthrows" everywhere. return modules; } if (__DEV__) { var verboseNamesToModuleIds = Object.create(null); var initializingModuleIds = []; } function define(factory, moduleId, dependencyMap) { if (modules[moduleId] != null) { if (__DEV__) { (We take `inverseDependencies` from `argPuments` to avoid an unused named parameter in `define` in production. const inverseDependencies = arguments[4]; If the module has already been defined and the define method has been called with inverseDependencies, we can hot reload it. if (inverseDependencies) { global.__accept(moduleId, factory, dependencyMap, inverseDependencies); } } prevent repeated calls to `global.nativeRequire` to overwrite modules that are already loaded return; } const mod = { dependencyMap, factory, hasError: false, importedAll: EMPTY, importedDefault: EMPTY, isInitialized: false, publicModule: { exports: {} } }; modules[moduleId] = mod; if (__DEV__) { HMR mod.hot = createHotReloadingObject(); DEBUGGABLE MODULES NAMES we take `verboseName` from `arguments` to avoid an unused named parameter in `define` in production. const verboseName = arguments[3]; if (verboseName) { mod.verboseName = verboseName; verboseNamesToModuleIds[verboseName] = moduleId; } } } function metroRequire(moduleId) { if (__DEV__ && typeof moduleId === "string") { const verboseName = moduleId; moduleId = verboseNamesToModuleIds[verboseName]; if (moduleId == null) { throw new Error(`Unknown named module: "${verboseName}"`); } else { console.warn( `Requiring module "${verboseName}" by name is only supported for ` + "debugging purposes and will BREAK IN PRODUCTION!" ); } } $FlowFixMe: at this point we know that moduleId is a number const moduleIdReallyIsNumber = moduleId; if (__DEV__) { const initializingIndex = initializingModuleIds.indexOf( moduleIdReallyIsNumber ); if (initializingIndex !== -1) { const cycle = initializingModuleIds .slice(initializingIndex) .map(id => (modules[id] ? modules[id].verboseName : "[unknown]")); We want to show A -> B -> A: cycle.push(cycle[0]); console.warn( `Require cycle: ${cycle.join(" -> ")} ` + "Require cycles are allowed, but can result in uninitialized values. " + "Consider refactoring to remove the need for a cycle." ); } } const module = modules[moduleIdReallyIsNumber]; return module && module.isInitialized ? module.publicModule.exports : guardedLoadModule(moduleIdReallyIsNumber, module); } function metroImportDefault(moduleId) { if (__DEV__ && typeof moduleId === "string") { const verboseName = moduleId; moduleId = verboseNamesToModuleIds[verboseName]; } $FlowFixMe: at this point we know that moduleId is a number const moduleIdReallyIsNumber = moduleId; if ( modules[moduleIdReallyIsNumber] && modules[moduleIdReallyIsNumber].importedDefault !== EMPTY ) { return modules[moduleIdReallyIsNumber].importedDefault; } const exports = metroRequire(moduleIdReallyIsNumber); const importedDefault = exports && exports.__esModule ? exports.default : exports; $FlowFixMe The metroRequire call above will throw if modules[id] is null return (modules[moduleIdReallyIsNumber].importedDefault = importedDefault); } metroRequire.importDefault = metroImportDefault; function metroImportAll(moduleId) { if (__DEV__ && typeof moduleId === "string") { const verboseName = moduleId; moduleId = verboseNamesToModuleIds[verboseName]; } $FlowFixMe: at this point we know that moduleId is a number const moduleIdReallyIsNumber = moduleId; if ( modules[moduleIdReallyIsNumber] && modules[moduleIdReallyIsNumber].importedAll !== EMPTY ) { return modules[moduleIdReallyIsNumber].importedAll; } const exports = metroRequire(moduleIdReallyIsNumber); let importedAll; if (exports && exports.__esModule) { importedAll = exports; } else { importedAll = {}; Refrain from using Object.assign, it has to work in ES3 environments. if (exports) { for (const key in exports) { if (hasOwnProperty.call(exports, key)) { importedAll[key] = exports[key]; } } } importedAll.default = exports; } $FlowFixMe The metroRequire call above will throw if modules[id] is null return (modules[moduleIdReallyIsNumber].importedAll = importedAll); } metroRequire.importAll = metroImportAll; let inGuard = false; function guardedLoadModule(moduleId, module) { if (!inGuard && global.ErrorUtils) { inGuard = true; let returnValue; try { returnValue = loadModuleImplementation(moduleId, module); } catch (e) { TODO: (moti) T48204692 Type this use of ErrorUtils. global.ErrorUtils.reportFatalError(e); } inGuard = false; return returnValue; } else { return loadModuleImplementation(moduleId, module); } } const ID_MASK_SHIFT = 16; const LOCAL_ID_MASK = ~0 >>> ID_MASK_SHIFT; function unpackModuleId(moduleId) { const segmentId = moduleId >>> ID_MASK_SHIFT; const localId = moduleId & LOCAL_ID_MASK; return { segmentId, localId }; } metroRequire.unpackModuleId = unpackModuleId; function packModuleId(value) { return (value.segmentId << ID_MASK_SHIFT) + value.localId; } metroRequire.packModuleId = packModuleId; const moduleDefinersBySegmentID = []; function registerSegment(segmentID, moduleDefiner) { moduleDefinersBySegmentID[segmentID] = moduleDefiner; } function loadModuleImplementation(moduleId, module) { if (!module && moduleDefinersBySegmentID.length > 0) { const _unpackModuleId = unpackModuleId(moduleId), segmentId = _unpackModuleId.segmentId, localId = _unpackModuleId.localId; const definer = moduleDefinersBySegmentID[segmentId]; if (definer != null) { definer(localId); module = modules[moduleId]; } } const nativeRequire = global.nativeRequire; if (!module && nativeRequire) { const _unpackModuleId2 = unpackModuleId(moduleId), segmentId = _unpackModuleId2.segmentId, localId = _unpackModuleId2.localId; nativeRequire(localId, segmentId); module = modules[moduleId]; } if (!module) { throw unknownModuleError(moduleId); } if (module.hasError) { throw moduleThrewError(moduleId, module.error); } `metroRequire` calls into the require polyfill itself are not analyzed and replaced so that they use numeric module IDs. The systrace module will expose itself on the metroRequire function so that it can be used here. TODO(t9759686) Scan polyfills for dependencies, too if (__DEV__) { var Systrace = metroRequire.Systrace, Refresh = metroRequire.Refresh; } We must optimistically mark module as initialized before running the factory to keep any require cycles inside the factory from causing an infinite require loop. module.isInitialized = true; const _module = module, factory = _module.factory, dependencyMap = _module.dependencyMap; if (__DEV__) { initializingModuleIds.push(moduleId); } try { if (__DEV__) { $FlowFixMe: we know that __DEV__ is const and `Systrace` exists Systrace.beginEvent("JS_require_" + (module.verboseName || moduleId)); } const moduleObject = module.publicModule; if (__DEV__) { moduleObject.hot = module.hot; var prevRefreshReg = global.$RefreshReg$; var prevRefreshSig = global.$RefreshSig$; if (Refresh != null) { const RefreshRuntime = Refresh; global.$RefreshReg$ = (type, id) => { RefreshRuntime.register(type, moduleId + " " + id); }; global.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform; } } moduleObject.id = moduleId; keep args in sync with with defineModuleCode in metro/src/Resolver/index.js and metro/src/ModuleGraph/worker.js factory( global, metroRequire, metroImportDefault, metroImportAll, moduleObject, moduleObject.exports, dependencyMap ); avoid removing factory in DEV mode as it breaks HMR if (!__DEV__) { $FlowFixMe: This is only sound because we never access `factory` again module.factory = undefined; module.dependencyMap = undefined; } if (__DEV__) { $FlowFixMe: we know that __DEV__ is const and `Systrace` exists Systrace.endEvent(); if (Refresh != null) { registerExportsForReactRefresh(Refresh, moduleObject.exports, moduleId); } } return moduleObject.exports; } catch (e) { module.hasError = true; module.error = e; module.isInitialized = false; module.publicModule.exports = undefined; throw e; } finally { if (__DEV__) { if (initializingModuleIds.pop() !== moduleId) { throw new Error( "initializingModuleIds is corrupt; something is terribly wrong" ); } global.$RefreshReg$ = prevRefreshReg; global.$RefreshSig$ = prevRefreshSig; } } } function unknownModuleError(id) { let message = 'Requiring unknown module "' + id + '".'; if (__DEV__) { message += " If you are sure the module exists, try restarting Metro. " + "You may also want to run `yarn` or `npm install`."; } return Error(message); } function moduleThrewError(id, error) { const displayName = (__DEV__ && modules[id] && modules[id].verboseName) || id; return Error( 'Requiring module "' + displayName + '", which threw an exception: ' + error ); } if (__DEV__) { metroRequire.Systrace = { beginEvent: () => {}, endEvent: () => {} }; metroRequire.getModules = () => { return modules; }; HOT MODULE RELOADING var createHotReloadingObject = function() { const hot = { _acceptCallback: null, _disposeCallback: null, _didAccept: false, accept: callback => { hot._didAccept = true; hot._acceptCallback = callback; }, dispose: callback => { hot._disposeCallback = callback; } }; return hot; }; let reactRefreshTimeout = null; const metroHotUpdateModule = function( id, factory, dependencyMap, inverseDependencies ) { const mod = modules[id]; if (!mod) { if (factory) { New modules are going to be handled by the define() method. return; } throw unknownModuleError(id); } if (!mod.hasError && !mod.isInitialized) { The module hasn't actually been executed yet, so we can always safely replace it. mod.factory = factory; mod.dependencyMap = dependencyMap; return; } const Refresh = metroRequire.Refresh; const pendingModuleIDs = [id]; const updatedModuleIDs = []; const seenModuleIDs = new Set(); const refreshBoundaryIDs = new Set(); In this loop, we will traverse the dependency tree upwards from the changed module. Updates "bubble" up to the closest accepted parent. If we reach the module root and nothing along the way accepted the update, we know hot reload is going to fail. In that case we return false. The main purpose of this loop is to figure out whether it's safe to apply a hot update. It is only safe when the update was accepted somewhere along the way upwards for each of its parent dependency module chains. If we didn't have this check, we'd risk re-evaluating modules that have side effects and lead to confusing and meaningless crashes. while (pendingModuleIDs.length > 0) { const pendingID = pendingModuleIDs.pop(); Don't process twice if we have a cycle. if (seenModuleIDs.has(pendingID)) { continue; } seenModuleIDs.add(pendingID); If the module accepts itself, no need to bubble. We can stop worrying about this module chain and pick the next one. const pendingModule = modules[pendingID]; if (pendingModule != null) { const pendingHot = pendingModule.hot; if (pendingHot == null) { throw new Error( "[Refresh] Expected module.hot to always exist in DEV." ); } A module can be accepted manually from within itself. let canAccept = pendingHot._didAccept; if (!canAccept && Refresh != null) { Or React Refresh may mark it accepted based on exports. const isBoundary = isReactRefreshBoundary( Refresh, pendingModule.publicModule.exports ); if (isBoundary) { canAccept = true; refreshBoundaryIDs.add(pendingID); } } if (canAccept) { updatedModuleIDs.push(pendingID); continue; } } If we bubble through the roof, there is no way to do a hot update. Bail out altogether. This is the failure case. const parentIDs = inverseDependencies[pendingID]; if (parentIDs.length === 0) { Reload the app because the hot reload can't succeed. This should work both on web and React Native. performFullRefresh(); return; } This module didn't accept but maybe all its parents did? Put them all in the queue to run the same set of checks. updatedModuleIDs.push(pendingID); parentIDs.forEach(parentID => pendingModuleIDs.push(parentID)); } If we reached here, it is likely that hot reload will be successful. Run the actual factories. seenModuleIDs.clear(); for (let i = 0; i < updatedModuleIDs.length; i++) { Don't process twice if we have a cycle. const updatedID = updatedModuleIDs[i]; if (seenModuleIDs.has(updatedID)) { continue; } seenModuleIDs.add(updatedID); const mod = modules[updatedID]; if (mod == null) { throw new Error("[Refresh] Expected to find the updated module."); } const prevExports = mod.publicModule.exports; const didError = runUpdatedModule( updatedID, updatedID === id ? factory : undefined, updatedID === id ? dependencyMap : undefined ); const nextExports = mod.publicModule.exports; if (didError) { The user was shown a redbox about module initialization. There's nothing for us to do here until it's fixed. return; } if (refreshBoundaryIDs.has(updatedID)) { Since we just executed the code for it, it's possible that the new exports make it ineligible for being a boundary. const isNoLongerABoundary = !isReactRefreshBoundary( Refresh, nextExports ); It can also become ineligible if its exports are incompatible with the previous exports. For example, if you add/remove/change exports, we'll want to re-execute the importing modules, and force those components to re-render. Similarly, if you convert a class component to a function, we want to invalidate the boundary. const didInvalidate = shouldInvalidateReactRefreshBoundary( Refresh, prevExports, nextExports ); if (isNoLongerABoundary || didInvalidate) { We'll be conservative. The only case in which we won't do a full reload is if all parent modules are also refresh boundaries. In that case we'll add them to the current queue. const parentIDs = inverseDependencies[updatedID]; if (parentIDs.length === 0) { Looks like we bubbled to the root. Can't recover from that. performFullRefresh(); return; } Schedule all parent refresh boundaries to re-run in this loop. for (let j = 0; j < parentIDs.length; j++) { const parentID = parentIDs[j]; const parentMod = modules[parentID]; if (parentMod == null) { throw new Error("[Refresh] Expected to find parent module."); } const canAcceptParent = isReactRefreshBoundary( Refresh, parentMod.publicModule.exports ); if (canAcceptParent) { All parents will have to re-run too. refreshBoundaryIDs.add(parentID); updatedModuleIDs.push(parentID); } else { performFullRefresh(); return; } } } } } if (Refresh != null) { Debounce a little in case there are multiple updates queued up. This is also useful because __accept may be called multiple times. if (reactRefreshTimeout == null) { reactRefreshTimeout = setTimeout(() => { reactRefreshTimeout = null; Update React components. Refresh.performReactRefresh(); }, 30); } } }; const runUpdatedModule = function(id, factory, dependencyMap) { const mod = modules[id]; if (mod == null) { throw new Error("[Refresh] Expected to find the module."); } const hot = mod.hot; if (!hot) { throw new Error("[Refresh] Expected module.hot to always exist in DEV."); } if (hot._disposeCallback) { try { hot._disposeCallback(); } catch (error) { console.error( `Error while calling dispose handler for module ${id}: `, error ); } } if (factory) { mod.factory = factory; } if (dependencyMap) { mod.dependencyMap = dependencyMap; } mod.hasError = false; mod.error = undefined; mod.importedAll = EMPTY; mod.importedDefault = EMPTY; mod.isInitialized = false; const prevExports = mod.publicModule.exports; mod.publicModule.exports = {}; hot._didAccept = false; hot._acceptCallback = null; hot._disposeCallback = null; metroRequire(id); if (mod.hasError) { This error has already been reported via a redbox. We know it's likely a typo or some mistake that was just introduced. Our goal now is to keep the rest of the application working so that by the time user fixes the error, the app isn't completely destroyed underneath the redbox. So we'll revert the module object to the last successful export and stop propagating this update. mod.hasError = false; mod.isInitialized = true; mod.error = null; mod.publicModule.exports = prevExports; We errored. Stop the update. return true; } if (hot._acceptCallback) { try { hot._acceptCallback(); } catch (error) { console.error( `Error while calling accept handler for module ${id}: `, error ); } } No error. return false; }; const performFullRefresh = () => { global window if ( typeof window !== "undefined" && window.location != null && typeof window.location.reload === "function" ) { window.location.reload(); } else { This is attached in setUpDeveloperTools. const Refresh = metroRequire.Refresh; if (Refresh != null) { Refresh.performFullRefresh(); } else { console.warn("Could not reload the application after an edit."); } } }; Modules that only export components become React Refresh boundaries. var isReactRefreshBoundary = function(Refresh, moduleExports) { if (Refresh.isLikelyComponentType(moduleExports)) { return true; } if (moduleExports == null || typeof moduleExports !== "object") { Exit if we can't iterate over exports. return false; } let hasExports = false; let areAllExportsComponents = true; for (const key in moduleExports) { hasExports = true; if (key === "__esModule") { continue; } const desc = Object.getOwnPropertyDescriptor(moduleExports, key); if (desc && desc.get) { Don't invoke getters as they may have side effects. return false; } const exportValue = moduleExports[key]; if (!Refresh.isLikelyComponentType(exportValue)) { areAllExportsComponents = false; } } return hasExports && areAllExportsComponents; }; var shouldInvalidateReactRefreshBoundary = ( Refresh, prevExports, nextExports ) => { const prevSignature = getRefreshBoundarySignature(Refresh, prevExports); const nextSignature = getRefreshBoundarySignature(Refresh, nextExports); if (prevSignature.length !== nextSignature.length) { return true; } for (let i = 0; i < nextSignature.length; i++) { if (prevSignature[i] !== nextSignature[i]) { return true; } } return false; }; When this signature changes, it's unsafe to stop at this refresh boundary. var getRefreshBoundarySignature = (Refresh, moduleExports) => { const signature = []; signature.push(Refresh.getFamilyByType(moduleExports)); if (moduleExports == null || typeof moduleExports !== "object") { Exit if we can't iterate over exports. (This is important for legacy environments.) return signature; } for (const key in moduleExports) { if (key === "__esModule") { continue; } const desc = Object.getOwnPropertyDescriptor(moduleExports, key); if (desc && desc.get) { continue; } const exportValue = moduleExports[key]; signature.push(key); signature.push(Refresh.getFamilyByType(exportValue)); } return signature; }; var registerExportsForReactRefresh = (Refresh, moduleExports, moduleID) => { Refresh.register(moduleExports, moduleID + " %exports%"); if (moduleExports == null || typeof moduleExports !== "object") { Exit if we can't iterate over exports. (This is important for legacy environments.) return; } for (const key in moduleExports) { const desc = Object.getOwnPropertyDescriptor(moduleExports, key); if (desc && desc.get) { Don't invoke getters as they may have side effects. continue; } const exportValue = moduleExports[key]; const typeID = moduleID + " %exports% " + key; Refresh.register(exportValue, typeID); } }; global.__accept = metroHotUpdateModule; } ","* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @polyfill * @nolint * @format eslint-disable no-shadow, eqeqeq, curly, no-unused-vars, no-void, no-control-regex * * This pipes all of our console logging functions to native logging so that * JavaScript errors in required modules show up in Xcode via NSLog. const inspect = (function() { Copyright Joyent, Inc. and other Node contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. https://github.com/joyent/node/blob/master/lib/util.js function inspect(obj, opts) { var ctx = { seen: [], formatValueCalls: 0, stylize: stylizeNoColor, }; return formatValue(ctx, obj, opts.depth); } function stylizeNoColor(str, styleType) { return str; } function arrayToHash(array) { var hash = {}; array.forEach(function(val, idx) { hash[val] = true; }); return hash; } function formatValue(ctx, value, recurseTimes) { ctx.formatValueCalls++; if (ctx.formatValueCalls > 200) { return `[TOO BIG formatValueCalls ${ ctx.formatValueCalls } exceeded limit of 200]`; } Primitive types cannot have properties var primitive = formatPrimitive(ctx, value); if (primitive) { return primitive; } Look up the keys of the object. var keys = Object.keys(value); var visibleKeys = arrayToHash(keys); IE doesn't make error fields non-enumerable http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx if ( isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0) ) { return formatError(value); } Some type of object without properties can be shortcutted. if (keys.length === 0) { if (isFunction(value)) { var name = value.name ? ': ' + value.name : ''; return ctx.stylize('[Function' + name + ']', 'special'); } if (isRegExp(value)) { return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); } if (isDate(value)) { return ctx.stylize(Date.prototype.toString.call(value), 'date'); } if (isError(value)) { return formatError(value); } } var base = '', array = false, braces = ['{', '}']; Make Array say that they are Array if (isArray(value)) { array = true; braces = ['[', ']']; } Make functions say that they are functions if (isFunction(value)) { var n = value.name ? ': ' + value.name : ''; base = ' [Function' + n + ']'; } Make RegExps say that they are RegExps if (isRegExp(value)) { base = ' ' + RegExp.prototype.toString.call(value); } Make dates with properties first say the date if (isDate(value)) { base = ' ' + Date.prototype.toUTCString.call(value); } Make error with message first say the error if (isError(value)) { base = ' ' + formatError(value); } if (keys.length === 0 && (!array || value.length == 0)) { return braces[0] + base + braces[1]; } if (recurseTimes < 0) { if (isRegExp(value)) { return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); } else { return ctx.stylize('[Object]', 'special'); } } ctx.seen.push(value); var output; if (array) { output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); } else { output = keys.map(function(key) { return formatProperty( ctx, value, recurseTimes, visibleKeys, key, array, ); }); } ctx.seen.pop(); return reduceToSingleString(output, base, braces); } function formatPrimitive(ctx, value) { if (isUndefined(value)) return ctx.stylize('undefined', 'undefined'); if (isString(value)) { var simple = "'" + JSON.stringify(value) .replace(/^"|"$/g, '') .replace(/'/g, "'") .replace(/"/g, '"') + "'"; return ctx.stylize(simple, 'string'); } if (isNumber(value)) return ctx.stylize('' + value, 'number'); if (isBoolean(value)) return ctx.stylize('' + value, 'boolean'); For some reason typeof null is "object", so special case here. if (isNull(value)) return ctx.stylize('null', 'null'); } function formatError(value) { return '[' + Error.prototype.toString.call(value) + ']'; } function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { var output = []; for (var i = 0, l = value.length; i < l; ++i) { if (hasOwnProperty(value, String(i))) { output.push( formatProperty( ctx, value, recurseTimes, visibleKeys, String(i), true, ), ); } else { output.push(''); } } keys.forEach(function(key) { if (!key.match(/^d+$/)) { output.push( formatProperty(ctx, value, recurseTimes, visibleKeys, key, true), ); } }); return output; } function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { var name, str, desc; desc = Object.getOwnPropertyDescriptor(value, key) || {value: value[key]}; if (desc.get) { if (desc.set) { str = ctx.stylize('[Getter/Setter]', 'special'); } else { str = ctx.stylize('[Getter]', 'special'); } } else { if (desc.set) { str = ctx.stylize('[Setter]', 'special'); } } if (!hasOwnProperty(visibleKeys, key)) { name = '[' + key + ']'; } if (!str) { if (ctx.seen.indexOf(desc.value) < 0) { if (isNull(recurseTimes)) { str = formatValue(ctx, desc.value, null); } else { str = formatValue(ctx, desc.value, recurseTimes - 1); } if (str.indexOf(' ') > -1) { if (array) { str = str .split(' ') .map(function(line) { return ' ' + line; }) .join(' ') .substr(2); } else { str = ' ' + str .split(' ') .map(function(line) { return ' ' + line; }) .join(' '); } } } else { str = ctx.stylize('[Circular]', 'special'); } } if (isUndefined(name)) { if (array && key.match(/^d+$/)) { return str; } name = JSON.stringify('' + key); if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { name = name.substr(1, name.length - 2); name = ctx.stylize(name, 'name'); } else { name = name .replace(/'/g, "'") .replace(/"/g, '"') .replace(/(^"|"$)/g, "'"); name = ctx.stylize(name, 'string'); } } return name + ': ' + str; } function reduceToSingleString(output, base, braces) { var numLinesEst = 0; var length = output.reduce(function(prev, cur) { numLinesEst++; if (cur.indexOf(' ') >= 0) numLinesEst++; return prev + cur.replace(/u001b[dd?m/g, '').length + 1; }, 0); if (length > 60) { return ( braces[0] + (base === '' ? '' : base + ' ') + ' ' + output.join(', ') + ' ' + braces[1] ); } return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; } NOTE: These type checking functions intentionally don't use `instanceof` because it is fragile and can be easily faked with `Object.create()`. function isArray(ar) { return Array.isArray(ar); } function isBoolean(arg) { return typeof arg === 'boolean'; } function isNull(arg) { return arg === null; } function isNullOrUndefined(arg) { return arg == null; } function isNumber(arg) { return typeof arg === 'number'; } function isString(arg) { return typeof arg === 'string'; } function isSymbol(arg) { return typeof arg === 'symbol'; } function isUndefined(arg) { return arg === void 0; } function isRegExp(re) { return isObject(re) && objectToString(re) === '[object RegExp]'; } function isObject(arg) { return typeof arg === 'object' && arg !== null; } function isDate(d) { return isObject(d) && objectToString(d) === '[object Date]'; } function isError(e) { return ( isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error) ); } function isFunction(arg) { return typeof arg === 'function'; } function objectToString(o) { return Object.prototype.toString.call(o); } function hasOwnProperty(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } return inspect; })(); const OBJECT_COLUMN_NAME = '(index)'; const LOG_LEVELS = { trace: 0, info: 1, warn: 2, error: 3, }; const INSPECTOR_LEVELS = []; INSPECTOR_LEVELS[LOG_LEVELS.trace] = 'debug'; INSPECTOR_LEVELS[LOG_LEVELS.info] = 'log'; INSPECTOR_LEVELS[LOG_LEVELS.warn] = 'warning'; INSPECTOR_LEVELS[LOG_LEVELS.error] = 'error'; Strip the inner function in getNativeLogFunction(), if in dev also strip method printing to originalConsole. const INSPECTOR_FRAMES_TO_SKIP = __DEV__ ? 2 : 1; function getNativeLogFunction(level) { return function() { let str; if (arguments.length === 1 && typeof arguments[0] === 'string') { str = arguments[0]; } else { str = Array.prototype.map .call(arguments, function(arg) { return inspect(arg, {depth: 10}); }) .join(', '); } let logLevel = level; if (str.slice(0, 9) === 'Warning: ' && logLevel >= LOG_LEVELS.error) { React warnings use console.error so that a stack trace is shown, but we don't (currently) want these to show a redbox (Note: Logic duplicated in ExceptionsManager.js.) logLevel = LOG_LEVELS.warn; } if (global.__inspectorLog) { global.__inspectorLog( INSPECTOR_LEVELS[logLevel], str, [].slice.call(arguments), INSPECTOR_FRAMES_TO_SKIP, ); } if (groupStack.length) { str = groupFormat('', str); } global.nativeLoggingHook(str, logLevel); }; } function repeat(element, n) { return Array.apply(null, Array(n)).map(function() { return element; }); } function consoleTablePolyfill(rows) { convert object -> array if (!Array.isArray(rows)) { var data = rows; rows = []; for (var key in data) { if (data.hasOwnProperty(key)) { var row = data[key]; row[OBJECT_COLUMN_NAME] = key; rows.push(row); } } } if (rows.length === 0) { global.nativeLoggingHook('', LOG_LEVELS.info); return; } var columns = Object.keys(rows[0]).sort(); var stringRows = []; var columnWidths = []; Convert each cell to a string. Also figure out max cell width for each column columns.forEach(function(k, i) { columnWidths[i] = k.length; for (var j = 0; j < rows.length; j++) { var cellStr = (rows[j][k] || '?').toString(); stringRows[j] = stringRows[j] || []; stringRows[j][i] = cellStr; columnWidths[i] = Math.max(columnWidths[i], cellStr.length); } }); Join all elements in the row into a single string with | separators (appends extra spaces to each cell to make separators | aligned) function joinRow(row, space) { var cells = row.map(function(cell, i) { var extraSpaces = repeat(' ', columnWidths[i] - cell.length).join(''); return cell + extraSpaces; }); space = space || ' '; return cells.join(space + '|' + space); } var separators = columnWidths.map(function(columnWidth) { return repeat('-', columnWidth).join(''); }); var separatorRow = joinRow(separators, '-'); var header = joinRow(columns); var table = [header, separatorRow]; for (var i = 0; i < rows.length; i++) { table.push(joinRow(stringRows[i])); } Notice extra empty line at the beginning. Native logging hook adds "RCTLog >" at the front of every logged string, which would shift the header and screw up the table global.nativeLoggingHook(' ' + table.join(' '), LOG_LEVELS.info); } const GROUP_PAD = 'u2502'; Box light vertical const GROUP_OPEN = 'u2510'; Box light down+left const GROUP_CLOSE = 'u2518'; Box light up+left const groupStack = []; function groupFormat(prefix, msg) { Insert group formatting before the console message return groupStack.join('') + prefix + ' ' + (msg || ''); } function consoleGroupPolyfill(label) { global.nativeLoggingHook(groupFormat(GROUP_OPEN, label), LOG_LEVELS.info); groupStack.push(GROUP_PAD); } function consoleGroupCollapsedPolyfill(label) { global.nativeLoggingHook(groupFormat(GROUP_CLOSE, label), LOG_LEVELS.info); groupStack.push(GROUP_PAD); } function consoleGroupEndPolyfill() { groupStack.pop(); global.nativeLoggingHook(groupFormat(GROUP_CLOSE), LOG_LEVELS.info); } function consoleAssertPolyfill(expression, label) { if (!expression) { global.nativeLoggingHook('Assertion failed: ' + label, LOG_LEVELS.error); } } if (global.nativeLoggingHook) { const originalConsole = global.console; Preserve the original `console` as `originalConsole` if (__DEV__ && originalConsole) { const descriptor = Object.getOwnPropertyDescriptor(global, 'console'); if (descriptor) { Object.defineProperty(global, 'originalConsole', descriptor); } } global.console = { error: getNativeLogFunction(LOG_LEVELS.error), info: getNativeLogFunction(LOG_LEVELS.info), log: getNativeLogFunction(LOG_LEVELS.info), warn: getNativeLogFunction(LOG_LEVELS.warn), trace: getNativeLogFunction(LOG_LEVELS.trace), debug: getNativeLogFunction(LOG_LEVELS.trace), table: consoleTablePolyfill, group: consoleGroupPolyfill, groupEnd: consoleGroupEndPolyfill, groupCollapsed: consoleGroupCollapsedPolyfill, assert: consoleAssertPolyfill, }; Object.defineProperty(console, '_isPolyfilled', { value: true, enumerable: false, }); If available, also call the original `console` method since that is sometimes useful. Ex: on OS X, this will let you see rich output in the Safari Web Inspector console. if (__DEV__ && originalConsole) { Object.keys(console).forEach(methodName => { const reactNativeMethod = console[methodName]; if (originalConsole[methodName]) { console[methodName] = function() { TODO(T43930203): remove this special case once originalConsole.assert properly checks the condition if (methodName === 'assert') { if (!arguments[0]) { originalConsole.assert(...arguments); } } else { originalConsole[methodName](...arguments); } reactNativeMethod.apply(console, arguments); }; } }); The following methods are not supported by this polyfill but we still should pass them to original console if they are supported by it. [ 'clear', 'dir', 'dirxml', 'groupCollapsed', 'profile', 'profileEnd', ].forEach(methodName => { if (typeof originalConsole[methodName] === 'function') { console[methodName] = function() { originalConsole[methodName](...arguments); }; } }); } } else if (!global.console) { const log = global.print || function consoleLoggingStub() {}; global.console = { error: log, info: log, log: log, warn: log, trace: log, debug: log, table: log, }; Object.defineProperty(console, '_isPolyfilled', { value: true, enumerable: false, }); } ","* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format * @flow strict * @polyfill let _inGuard = 0; type ErrorHandler = (error: mixed, isFatal: boolean) => void; type Fn<Args, Return> = (...Args) => Return; * * This is the error handler that is called when we encounter an exception * when loading a module. This will report any errors encountered before * ExceptionsManager is configured. let _globalHandler: ErrorHandler = function onError( e: mixed, isFatal: boolean, ) { throw e; }; * * The particular require runtime that we are using looks for a global * `ErrorUtils` object and if it exists, then it requires modules with the * error handler specified via ErrorUtils.setGlobalHandler by calling the * require function with applyWithGuard. Since the require module is loaded * before any of the modules, this ErrorUtils must be defined (and the handler * set) globally before requiring anything. const ErrorUtils = { setGlobalHandler(fun: ErrorHandler): void { _globalHandler = fun; }, getGlobalHandler(): ErrorHandler { return _globalHandler; }, reportError(error: mixed): void { _globalHandler && _globalHandler(error, false); }, reportFatalError(error: mixed): void { NOTE: This has an untyped call site in Metro. _globalHandler && _globalHandler(error, true); }, applyWithGuard<TArgs: $ReadOnlyArray<mixed>, TOut>( fun: Fn<TArgs, TOut>, context?: ?mixed, args?: ?TArgs, Unused, but some code synced from www sets it to null. unused_onError?: null, Some callers pass a name here, which we ignore. unused_name?: ?string, ): ?TOut { try { _inGuard++; $FlowFixMe: TODO T48204745 (1) apply(context, null) is fine. (2) array -> rest array should work return fun.apply(context, args); } catch (e) { ErrorUtils.reportError(e); } finally { _inGuard--; } return null; }, applyWithGuardIfNeeded<TArgs: $ReadOnlyArray<mixed>, TOut>( fun: Fn<TArgs, TOut>, context?: ?mixed, args?: ?TArgs, ): ?TOut { if (ErrorUtils.inGuard()) { $FlowFixMe: TODO T48204745 (1) apply(context, null) is fine. (2) array -> rest array should work return fun.apply(context, args); } else { ErrorUtils.applyWithGuard(fun, context, args); } return null; }, inGuard(): boolean { return !!_inGuard; }, guard<TArgs: $ReadOnlyArray<mixed>, TOut>( fun: Fn<TArgs, TOut>, name?: ?string, context?: ?mixed, ): ?(...TArgs) => ?TOut { TODO: (moti) T48204753 Make sure this warning is never hit and remove it - types should be sufficient. if (typeof fun !== 'function') { console.warn('A function must be passed to ErrorUtils.guard, got ', fun); return null; } const guardName = name ?? fun.name ?? '<generated guard>'; function guarded(...args: TArgs): ?TOut { return ErrorUtils.applyWithGuard( fun, context ?? this, args, null, guardName, ); } return guarded; }, }; global.ErrorUtils = ErrorUtils; export type ErrorUtilsT = typeof ErrorUtils; ","* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format * @polyfill * @nolint (function() { 'use strict'; const hasOwnProperty = Object.prototype.hasOwnProperty; * * Returns an array of the given object's own enumerable entries. * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries if (typeof Object.entries !== 'function') { Object.entries = function(object) { `null` and `undefined` values are not allowed. if (object == null) { throw new TypeError('Object.entries called on non-object'); } const entries = []; for (const key in object) { if (hasOwnProperty.call(object, key)) { entries.push([key, object[key]]); } } return entries; }; } * * Returns an array of the given object's own enumerable entries. * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values if (typeof Object.values !== 'function') { Object.values = function(object) { `null` and `undefined` values are not allowed. if (object == null) { throw new TypeError('Object.values called on non-object'); } const values = []; for (const key in object) { if (hasOwnProperty.call(object, key)) { values.push(object[key]); } } return values; }; } })(); ","import { foo } from "./module.js" foo(); ","export function foo() { throw new Error("lets throw!"); } "],"x_facebook_sources":[null,[{"names":["<global>","global.$RefreshReg$","global.$RefreshSig$","<anonymous>","clear","define","metroRequire","initializingModuleIds.slice.map$argument_0","metroImportDefault","metroImportAll","guardedLoadModule","unpackModuleId","packModuleId","registerSegment","loadModuleImplementation","unknownModuleError","moduleThrewError","metroRequire.Systrace.beginEvent","metroRequire.Systrace.endEvent","metroRequire.getModules","createHotReloadingObject","hot.accept","hot.dispose","metroHotUpdateModule","parentIDs.forEach$argument_0","setTimeout$argument_0","runUpdatedModule","performFullRefresh","isReactRefreshBoundary","shouldInvalidateReactRefreshBoundary","getRefreshBoundarySignature","registerExportsForReactRefresh"],"mappings":"AAA;wBCyB,QD;wBEE,MC,YH;AIG;CJM;AKO;CL2C;AME;aCyB,2DD;CNe;AQE;CRoB;ASI;CTmC;AUK;CViB;AWK;CXO;AYI;CZE;AaK;CbE;AcE;8BbqE;SaE;CduD;AeE;CfU;AgBE;ChBK;gBiBI,QjB;ckBC,QlB;4BmBG;GnBE;iCoBE;cCK;ODG;eEC;OFE;GpBG;+BuBI;wBCgG,2CD;yCEgG;SFI;GvBG;2B0BE;G1BuE;6B2BE;G3BkB;+B4BE;G5BmC;6C6BE;G7BmB;oC8BE;G9B2B;uC+BE;G/BqB"}],[{"names":["<global>","<anonymous>","inspect","stylizeNoColor","arrayToHash","array.forEach$argument_0","formatValue","keys.map$argument_0","formatPrimitive","formatError","formatArray","keys.forEach$argument_0","formatProperty","str.split.map$argument_0","reduceToSingleString","output.reduce$argument_0","isArray","isBoolean","isNull","isNullOrUndefined","isNumber","isString","isSymbol","isUndefined","isRegExp","isObject","isDate","isError","isFunction","objectToString","hasOwnProperty","getNativeLogFunction","Array.prototype.map.call$argument_1","repeat","Array.apply.map$argument_0","consoleTablePolyfill","columns.forEach$argument_0","joinRow","row.map$argument_0","columnWidths.map$argument_0","groupFormat","consoleGroupPolyfill","consoleGroupCollapsedPolyfill","consoleGroupEndPolyfill","consoleAssertPolyfill","Object.keys.forEach$argument_0","methodName","forEach$argument_0","consoleLoggingStub"],"mappings":"AAA;iBCiB;ECwB;GDO;EEE;GFE;EGE;kBCG;KDE;GHG;EKE;wBC6F;ODS;GLM;EOE;GPgB;EQE;GRE;ESE;iBCkB;KDM;GTE;EWE;mBC4B;eDE;qBCQ;iBDE;GX0B;EaE;+BCE;KDI;Gbc;EeI;GfE;EgBE;GhBE;EiBE;GjBE;EkBE;GlBE;EmBE;GnBE;EoBE;GpBE;EqBE;GrBE;EsBE;GtBE;EuBE;GvBE;EwBE;GxBE;EyBE;GzBE;E0BE;G1BK;E2BE;G3BE;E4BE;G5BE;E6BE;G7BE;CDG;A+BmB;S9BC;yB+BM;S/BE;G8BuB;C/BC;AiCE;yCCC;GDE;CjCC;AmCE;kBCwB;GDQ;EEI;wBCC;KDG;GFG;oCIE;GJE;CnCc;AwCQ;CxCG;AyCE;CzCG;A0CE;C1CG;A2CE;C3CG;A4CE;C5CI;iC6CmC;8BCG;SDW;K7CE;c+CY;8BDE;SCE;K/CE;8BgDG,gChD"}],[{"names":["<global>","onError","ErrorUtils.setGlobalHandler","ErrorUtils.getGlobalHandler","ErrorUtils.reportError","ErrorUtils.reportFatalError","ErrorUtils.applyWithGuard","ErrorUtils.applyWithGuardIfNeeded","ErrorUtils.inGuard","ErrorUtils.guard","guarded"],"mappings":"AAA;mCCqB;CDK;EEW;GFE;EGC;GHE;EIC;GJE;EKC;GLG;EMC;GNmB;EOC;GPY;EQC;GRE;ESC;ICY;KDQ;GTG"}],[{"names":["<global>","<anonymous>","entries","values"],"mappings":"AAA;CCW;qBCU;KDa;oBEQ;KFa;CDE"}],[{"names":["<global>"],"mappings":"AAA"}],[{"names":["<global>","foo"],"mappings":"AAA,OC;CDE"}]],"names":["global","__r","metroRequire","__d","define","__c","clear","__registerSegment","registerSegment","modules","EMPTY","_ref","hasOwnProperty","__DEV__","$RefreshReg$","$RefreshSig$","type","Object","create","verboseNamesToModuleIds","initializingModuleIds","factory","moduleId","dependencyMap","inverseDependencies","arguments","__accept","mod","hasError","importedAll","importedDefault","isInitialized","publicModule","exports","hot","createHotReloadingObject","verboseName","Error","console","warn","moduleIdReallyIsNumber","initializingIndex","indexOf","cycle","slice","map","id","push","join","module","guardedLoadModule","metroImportDefault","__esModule","default","importDefault","metroImportAll","key","call","importAll","inGuard","ErrorUtils","returnValue","loadModuleImplementation","e","reportFatalError","ID_MASK_SHIFT","LOCAL_ID_MASK","unpackModuleId","segmentId","localId","packModuleId","value","moduleDefinersBySegmentID","segmentID","moduleDefiner","length","_unpackModuleId","definer","nativeRequire","_unpackModuleId2","unknownModuleError","moduleThrewError","error","Systrace","Refresh","_module","beginEvent","moduleObject","prevRefreshReg","prevRefreshSig","RefreshRuntime","register","createSignatureFunctionForTransform","undefined","endEvent","registerExportsForReactRefresh","pop","message","displayName","getModules","_acceptCallback","_disposeCallback","_didAccept","accept","callback","dispose","reactRefreshTimeout","metroHotUpdateModule","pendingModuleIDs","updatedModuleIDs","seenModuleIDs","Set","refreshBoundaryIDs","pendingID","has","add","pendingModule","pendingHot","canAccept","isBoundary","isReactRefreshBoundary","parentIDs","performFullRefresh","forEach","parentID","i","updatedID","prevExports","didError","runUpdatedModule","nextExports","isNoLongerABoundary","didInvalidate","shouldInvalidateReactRefreshBoundary","j","parentMod","canAcceptParent","setTimeout","performReactRefresh","window","location","reload","moduleExports","isLikelyComponentType","hasExports","areAllExportsComponents","desc","getOwnPropertyDescriptor","get","exportValue","prevSignature","getRefreshBoundarySignature","nextSignature","signature","getFamilyByType","moduleID","typeID","inspect","obj","opts","ctx","seen","formatValueCalls","stylize","stylizeNoColor","formatValue","depth","str","styleType","arrayToHash","array","hash","val","idx","recurseTimes","primitive","formatPrimitive","keys","visibleKeys","isError","formatError","isFunction","name","isRegExp","RegExp","prototype","toString","isDate","Date","base","braces","isArray","n","toUTCString","output","formatArray","formatProperty","reduceToSingleString","isUndefined","isString","simple","JSON","stringify","replace","isNumber","isBoolean","isNull","l","String","match","set","split","line","substr","numLinesEst","reduce","prev","cur","ar","Array","arg","isNullOrUndefined","isSymbol","re","isObject","objectToString","d","o","prop","OBJECT_COLUMN_NAME","LOG_LEVELS","trace","info","INSPECTOR_LEVELS","INSPECTOR_FRAMES_TO_SKIP","getNativeLogFunction","level","logLevel","__inspectorLog","groupStack","groupFormat","nativeLoggingHook","repeat","element","apply","consoleTablePolyfill","rows","data","row","columns","sort","stringRows","columnWidths","k","cellStr","Math","max","joinRow","space","cells","cell","extraSpaces","separators","columnWidth","separatorRow","header","table","GROUP_PAD","GROUP_OPEN","GROUP_CLOSE","prefix","msg","consoleGroupPolyfill","label","consoleGroupCollapsedPolyfill","consoleGroupEndPolyfill","consoleAssertPolyfill","expression","originalConsole","descriptor","defineProperty","log","debug","group","groupEnd","groupCollapsed","assert","enumerable","methodName","reactNativeMethod","print","consoleLoggingStub","_inGuard","_globalHandler","onError","isFatal","setGlobalHandler","fun","getGlobalHandler","reportError","applyWithGuard","context","args","unused_onError","unused_name","applyWithGuardIfNeeded","guard","guardName","guarded","entries","object","TypeError","values","foo"],"mappings":";;ACUA;;AAGAA,EAAAA,MAAM,CAACC,GAAP,GAAaC,YAAb;AACAF,EAAAA,MAAM,CAACG,GAAP,GAAaC,MAAb;AACAJ,EAAAA,MAAM,CAACK,GAAP,GAAaC,KAAb;AACAN,EAAAA,MAAM,CAACO,iBAAP,GAA2BC,eAA3B;AACA,MAAIC,OAAO,GAAGH,KAAK,EAAnB;AAGA,MAAMI,KAAK,GAAG,EAAd;AACA,MAAMC,IAAI,GAAG,EAAb;AAAA,MACEC,cAAc,GAAGD,IAAI,CAACC,cADxB;;AAGA,MAAIC,OAAJ,EAAa;AACXb,IAAAA,MAAM,CAACc,YAAP,GAAsB,YAAM,CAAE,CAA9B;;AAEAd,IAAAA,MAAM,CAACe,YAAP,GAAsB;AAAA,aAAM,UAAAC,IAAI;AAAA,eAAIA,IAAJ;AAAA,OAAV;AAAA,KAAtB;AACD;;AAED,WAASV,KAAT,GAAiB;AACfG,IAAAA,OAAO,GAAGQ,MAAM,CAACC,MAAP,CAAc,IAAd,CAAV;AAIA,WAAOT,OAAP;AACD;;AAED,MAAII,OAAJ,EAAa;AACX,QAAIM,uBAAuB,GAAGF,MAAM,CAACC,MAAP,CAAc,IAAd,CAA9B;AACA,QAAIE,qBAAqB,GAAG,EAA5B;AACD;;AAED,WAAShB,MAAT,CAAgBiB,OAAhB,EAAyBC,QAAzB,EAAmCC,aAAnC,EAAkD;AAChD,QAAId,OAAO,CAACa,QAAD,CAAP,IAAqB,IAAzB,EAA+B;AAC7B,UAAIT,OAAJ,EAAa;AAGX,YAAMW,mBAAmB,GAAGC,SAAS,CAAC,CAAD,CAArC;;AAGA,YAAID,mBAAJ,EAAyB;AACvBxB,UAAAA,MAAM,CAAC0B,QAAP,CAAgBJ,QAAhB,EAA0BD,OAA1B,EAAmCE,aAAnC,EAAkDC,mBAAlD;AACD;AACF;;AAGD;AACD;;AAED,QAAMG,GAAG,GAAG;AACVJ,MAAAA,aAAa,EAAbA,aADU;AAEVF,MAAAA,OAAO,EAAPA,OAFU;AAGVO,MAAAA,QAAQ,EAAE,KAHA;AAIVC,MAAAA,WAAW,EAAEnB,KAJH;AAKVoB,MAAAA,eAAe,EAAEpB,KALP;AAMVqB,MAAAA,aAAa,EAAE,KANL;AAOVC,MAAAA,YAAY,EAAE;AACZC,QAAAA,OAAO,EAAE;AADG;AAPJ,KAAZ;AAWAxB,IAAAA,OAAO,CAACa,QAAD,CAAP,GAAoBK,GAApB;;AAEA,QAAId,OAAJ,EAAa;AAEXc,MAAAA,GAAG,CAACO,GAAJ,GAAUC,wBAAwB,EAAlC;AAIA,UAAMC,WAAW,GAAGX,SAAS,CAAC,CAAD,CAA7B;;AAEA,UAAIW,WAAJ,EAAiB;AACfT,QAAAA,GAAG,CAACS,WAAJ,GAAkBA,WAAlB;AACAjB,QAAAA,uBAAuB,CAACiB,WAAD,CAAvB,GAAuCd,QAAvC;AACD;AACF;AACF;;AAED,WAASpB,YAAT,CAAsBoB,QAAtB,EAAgC;AAC9B,QAAIT,OAAO,IAAI,OAAOS,QAAP,KAAoB,QAAnC,EAA6C;AAC3C,UAAMc,WAAW,GAAGd,QAApB;AACAA,MAAAA,QAAQ,GAAGH,uBAAuB,CAACiB,WAAD,CAAlC;;AAEA,UAAId,QAAQ,IAAI,IAAhB,EAAsB;AACpB,cAAM,IAAIe,KAAJ,8BAAoCD,WAApC,QAAN;AACD,OAFD,MAEO;AACLE,QAAAA,OAAO,CAACC,IAAR,CACE,wBAAqBH,WAArB,yCACE,kDAFJ;AAID;AACF;;AAED,QAAMI,sBAAsB,GAAGlB,QAA/B;;AAEA,QAAIT,OAAJ,EAAa;AACX,UAAM4B,iBAAiB,GAAGrB,qBAAqB,CAACsB,OAAtB,CACxBF,sBADwB,CAA1B;;AAIA,UAAIC,iBAAiB,KAAK,CAAC,CAA3B,EAA8B;AAC5B,YAAME,KAAK,GAAGvB,qBAAqB,CAChCwB,KADW,CACLH,iBADK,EAEXI,GAFW,CAEP,UAAAC,EAAE;AAAA,iBAAKrC,OAAO,CAACqC,EAAD,CAAP,GAAcrC,OAAO,CAACqC,EAAD,CAAP,CAAYV,WAA1B,GAAwC,WAA7C;AAAA,SAFK,CAAd;AAIAO,QAAAA,KAAK,CAACI,IAAN,CAAWJ,KAAK,CAAC,CAAD,CAAhB;AACAL,QAAAA,OAAO,CAACC,IAAR,CACE,oBAAkBI,KAAK,CAACK,IAAN,CAAW,MAAX,CAAlB,YACE,sEADF,GAEE,sDAHJ;AAKD;AACF;;AAED,QAAMC,MAAM,GAAGxC,OAAO,CAAC+B,sBAAD,CAAtB;AACA,WAAOS,MAAM,IAAIA,MAAM,CAAClB,aAAjB,GACHkB,MAAM,CAACjB,YAAP,CAAoBC,OADjB,GAEHiB,iBAAiB,CAACV,sBAAD,EAAyBS,MAAzB,CAFrB;AAGD;;AAED,WAASE,kBAAT,CAA4B7B,QAA5B,EAAsC;AACpC,QAAIT,OAAO,IAAI,OAAOS,QAAP,KAAoB,QAAnC,EAA6C;AAC3C,UAAMc,WAAW,GAAGd,QAApB;AACAA,MAAAA,QAAQ,GAAGH,uBAAuB,CAACiB,WAAD,CAAlC;AACD;;AAED,QAAMI,sBAAsB,GAAGlB,QAA/B;;AAEA,QACEb,OAAO,CAAC+B,sBAAD,CAAP,IACA/B,OAAO,CAAC+B,sBAAD,CAAP,CAAgCV,eAAhC,KAAoDpB,KAFtD,EAGE;AACA,aAAOD,OAAO,CAAC+B,sBAAD,CAAP,CAAgCV,eAAvC;AACD;;AAED,QAAMG,OAAO,GAAG/B,YAAY,CAACsC,sBAAD,CAA5B;AACA,QAAMV,eAAe,GACnBG,OAAO,IAAIA,OAAO,CAACmB,UAAnB,GAAgCnB,OAAO,CAACoB,OAAxC,GAAkDpB,OADpD;AAGA,WAAQxB,OAAO,CAAC+B,sBAAD,CAAP,CAAgCV,eAAhC,GAAkDA,eAA1D;AACD;;AAED5B,EAAAA,YAAY,CAACoD,aAAb,GAA6BH,kBAA7B;;AAEA,WAASI,cAAT,CAAwBjC,QAAxB,EAAkC;AAChC,QAAIT,OAAO,IAAI,OAAOS,QAAP,KAAoB,QAAnC,EAA6C;AAC3C,UAAMc,WAAW,GAAGd,QAApB;AACAA,MAAAA,QAAQ,GAAGH,uBAAuB,CAACiB,WAAD,CAAlC;AACD;;AAED,QAAMI,sBAAsB,GAAGlB,QAA/B;;AAEA,QACEb,OAAO,CAAC+B,sBAAD,CAAP,IACA/B,OAAO,CAAC+B,sBAAD,CAAP,CAAgCX,WAAhC,KAAgDnB,KAFlD,EAGE;AACA,aAAOD,OAAO,CAAC+B,sBAAD,CAAP,CAAgCX,WAAvC;AACD;;AAED,QAAMI,OAAO,GAAG/B,YAAY,CAACsC,sBAAD,CAA5B;AACA,QAAIX,WAAJ;;AAEA,QAAII,OAAO,IAAIA,OAAO,CAACmB,UAAvB,EAAmC;AACjCvB,MAAAA,WAAW,GAAGI,OAAd;AACD,KAFD,MAEO;AACLJ,MAAAA,WAAW,GAAG,EAAd;;AAEA,UAAII,OAAJ,EAAa;AACX,aAAK,IAAMuB,GAAX,IAAkBvB,OAAlB,EAA2B;AACzB,cAAIrB,cAAc,CAAC6C,IAAf,CAAoBxB,OAApB,EAA6BuB,GAA7B,CAAJ,EAAuC;AACrC3B,YAAAA,WAAW,CAAC2B,GAAD,CAAX,GAAmBvB,OAAO,CAACuB,GAAD,CAA1B;AACD;AACF;AACF;;AAED3B,MAAAA,WAAW,CAACwB,OAAZ,GAAsBpB,OAAtB;AACD;;AAED,WAAQxB,OAAO,CAAC+B,sBAAD,CAAP,CAAgCX,WAAhC,GAA8CA,WAAtD;AACD;;AAED3B,EAAAA,YAAY,CAACwD,SAAb,GAAyBH,cAAzB;AACA,MAAII,OAAO,GAAG,KAAd;;AAEA,WAAST,iBAAT,CAA2B5B,QAA3B,EAAqC2B,MAArC,EAA6C;AAC3C,QAAI,CAACU,OAAD,IAAY3D,MAAM,CAAC4D,UAAvB,EAAmC;AACjCD,MAAAA,OAAO,GAAG,IAAV;AACA,UAAIE,WAAJ;;AAEA,UAAI;AACFA,QAAAA,WAAW,GAAGC,wBAAwB,CAACxC,QAAD,EAAW2B,MAAX,CAAtC;AACD,OAFD,CAEE,OAAOc,CAAP,EAAU;AAEV/D,QAAAA,MAAM,CAAC4D,UAAP,CAAkBI,gBAAlB,CAAmCD,CAAnC;AACD;;AAEDJ,MAAAA,OAAO,GAAG,KAAV;AACA,aAAOE,WAAP;AACD,KAbD,MAaO;AACL,aAAOC,wBAAwB,CAACxC,QAAD,EAAW2B,MAAX,CAA/B;AACD;AACF;;AAED,MAAMgB,aAAa,GAAG,EAAtB;AACA,MAAMC,aAAa,GAAG,CAAC,CAAD,KAAOD,aAA7B;;AAEA,WAASE,cAAT,CAAwB7C,QAAxB,EAAkC;AAChC,QAAM8C,SAAS,GAAG9C,QAAQ,KAAK2C,aAA/B;AACA,QAAMI,OAAO,GAAG/C,QAAQ,GAAG4C,aAA3B;AACA,WAAO;AACLE,MAAAA,SAAS,EAATA,SADK;AAELC,MAAAA,OAAO,EAAPA;AAFK,KAAP;AAID;;AAEDnE,EAAAA,YAAY,CAACiE,cAAb,GAA8BA,cAA9B;;AAEA,WAASG,YAAT,CAAsBC,KAAtB,EAA6B;AAC3B,WAAO,CAACA,KAAK,CAACH,SAAN,IAAmBH,aAApB,IAAqCM,KAAK,CAACF,OAAlD;AACD;;AAEDnE,EAAAA,YAAY,CAACoE,YAAb,GAA4BA,YAA5B;AACA,MAAME,yBAAyB,GAAG,EAAlC;;AAEA,WAAShE,eAAT,CAAyBiE,SAAzB,EAAoCC,aAApC,EAAmD;AACjDF,IAAAA,yBAAyB,CAACC,SAAD,CAAzB,GAAuCC,aAAvC;AACD;;AAED,WAASZ,wBAAT,CAAkCxC,QAAlC,EAA4C2B,MAA5C,EAAoD;AAClD,QAAI,CAACA,MAAD,IAAWuB,yBAAyB,CAACG,MAA1B,GAAmC,CAAlD,EAAqD;AACnD,UAAMC,eAAe,GAAGT,cAAc,CAAC7C,QAAD,CAAtC;AAAA,UACE8C,SAAS,GAAGQ,eAAe,CAACR,SAD9B;AAAA,UAEEC,OAAO,GAAGO,eAAe,CAACP,OAF5B;;AAIA,UAAMQ,OAAO,GAAGL,yBAAyB,CAACJ,SAAD,CAAzC;;AAEA,UAAIS,OAAO,IAAI,IAAf,EAAqB;AACnBA,QAAAA,OAAO,CAACR,OAAD,CAAP;AACApB,QAAAA,MAAM,GAAGxC,OAAO,CAACa,QAAD,CAAhB;AACD;AACF;;AAED,QAAMwD,aAAa,GAAG9E,MAAM,CAAC8E,aAA7B;;AAEA,QAAI,CAAC7B,MAAD,IAAW6B,aAAf,EAA8B;AAC5B,UAAMC,gBAAgB,GAAGZ,cAAc,CAAC7C,QAAD,CAAvC;AAAA,UACE8C,UAAS,GAAGW,gBAAgB,CAACX,SAD/B;AAAA,UAEEC,QAAO,GAAGU,gBAAgB,CAACV,OAF7B;;AAIAS,MAAAA,aAAa,CAACT,QAAD,EAAUD,UAAV,CAAb;AACAnB,MAAAA,MAAM,GAAGxC,OAAO,CAACa,QAAD,CAAhB;AACD;;AAED,QAAI,CAAC2B,MAAL,EAAa;AACX,YAAM+B,kBAAkB,CAAC1D,QAAD,CAAxB;AACD;;AAED,QAAI2B,MAAM,CAACrB,QAAX,EAAqB;AACnB,YAAMqD,gBAAgB,CAAC3D,QAAD,EAAW2B,MAAM,CAACiC,KAAlB,CAAtB;AACD;;AAMD,QAAIrE,OAAJ,EAAa;AACX,UAAIsE,QAAQ,GAAGjF,YAAY,CAACiF,QAA5B;AAAA,UACEC,OAAO,GAAGlF,YAAY,CAACkF,OADzB;AAED;;AAIDnC,IAAAA,MAAM,CAAClB,aAAP,GAAuB,IAAvB;AACA,QAAMsD,OAAO,GAAGpC,MAAhB;AAAA,QACE5B,OAAO,GAAGgE,OAAO,CAAChE,OADpB;AAAA,QAEEE,aAAa,GAAG8D,OAAO,CAAC9D,aAF1B;;AAIA,QAAIV,OAAJ,EAAa;AACXO,MAAAA,qBAAqB,CAAC2B,IAAtB,CAA2BzB,QAA3B;AACD;;AAED,QAAI;AACF,UAAIT,OAAJ,EAAa;AAEXsE,QAAAA,QAAQ,CAACG,UAAT,CAAoB,iBAAiBrC,MAAM,CAACb,WAAP,IAAsBd,QAAvC,CAApB;AACD;;AAED,UAAMiE,YAAY,GAAGtC,MAAM,CAACjB,YAA5B;;AAEA,UAAInB,OAAJ,EAAa;AACX0E,QAAAA,YAAY,CAACrD,GAAb,GAAmBe,MAAM,CAACf,GAA1B;AACA,YAAIsD,cAAc,GAAGxF,MAAM,CAACc,YAA5B;AACA,YAAI2E,cAAc,GAAGzF,MAAM,CAACe,YAA5B;;AAEA,YAAIqE,OAAO,IAAI,IAAf,EAAqB;AACnB,cAAMM,cAAc,GAAGN,OAAvB;;AAEApF,UAAAA,MAAM,CAACc,YAAP,GAAsB,UAACE,IAAD,EAAO8B,EAAP,EAAc;AAClC4C,YAAAA,cAAc,CAACC,QAAf,CAAwB3E,IAAxB,EAA8BM,QAAQ,GAAG,GAAX,GAAiBwB,EAA/C;AACD,WAFD;;AAIA9C,UAAAA,MAAM,CAACe,YAAP,GACE2E,cAAc,CAACE,mCADjB;AAED;AACF;;AAEDL,MAAAA,YAAY,CAACzC,EAAb,GAAkBxB,QAAlB;AAIAD,MAAAA,OAAO,CACLrB,MADK,EAELE,YAFK,EAGLiD,kBAHK,EAILI,cAJK,EAKLgC,YALK,EAMLA,YAAY,CAACtD,OANR,EAOLV,aAPK,CAAP;;AAUA,UAAI,CAACV,OAAL,EAAc;AAEZoC,QAAAA,MAAM,CAAC5B,OAAP,GAAiBwE,SAAjB;AACA5C,QAAAA,MAAM,CAAC1B,aAAP,GAAuBsE,SAAvB;AACD;;AAED,UAAIhF,OAAJ,EAAa;AAEXsE,QAAAA,QAAQ,CAACW,QAAT;;AAEA,YAAIV,OAAO,IAAI,IAAf,EAAqB;AACnBW,UAAAA,8BAA8B,CAACX,OAAD,EAAUG,YAAY,CAACtD,OAAvB,EAAgCX,QAAhC,CAA9B;AACD;AACF;;AAED,aAAOiE,YAAY,CAACtD,OAApB;AACD,KAvDD,CAuDE,OAAO8B,CAAP,EAAU;AACVd,MAAAA,MAAM,CAACrB,QAAP,GAAkB,IAAlB;AACAqB,MAAAA,MAAM,CAACiC,KAAP,GAAenB,CAAf;AACAd,MAAAA,MAAM,CAAClB,aAAP,GAAuB,KAAvB;AACAkB,MAAAA,MAAM,CAACjB,YAAP,CAAoBC,OAApB,GAA8B4D,SAA9B;AACA,YAAM9B,CAAN;AACD,KA7DD,SA6DU;AACR,UAAIlD,OAAJ,EAAa;AACX,YAAIO,qBAAqB,CAAC4E,GAAtB,OAAgC1E,QAApC,EAA8C;AAC5C,gBAAM,IAAIe,KAAJ,CACJ,+DADI,CAAN;AAGD;;AAEDrC,QAAAA,MAAM,CAACc,YAAP,GAAsB0E,cAAtB;AACAxF,QAAAA,MAAM,CAACe,YAAP,GAAsB0E,cAAtB;AACD;AACF;AACF;;AAED,WAAST,kBAAT,CAA4BlC,EAA5B,EAAgC;AAC9B,QAAImD,OAAO,GAAG,+BAA+BnD,EAA/B,GAAoC,IAAlD;;AAEA,QAAIjC,OAAJ,EAAa;AACXoF,MAAAA,OAAO,IACL,+DACA,mDAFF;AAGD;;AAED,WAAO5D,KAAK,CAAC4D,OAAD,CAAZ;AACD;;AAED,WAAShB,gBAAT,CAA0BnC,EAA1B,EAA8BoC,KAA9B,EAAqC;AACnC,QAAMgB,WAAW,GAAIrF,OAAO,IAAIJ,OAAO,CAACqC,EAAD,CAAlB,IAA0BrC,OAAO,CAACqC,EAAD,CAAP,CAAYV,WAAvC,IAAuDU,EAA3E;AACA,WAAOT,KAAK,CACV,uBAAuB6D,WAAvB,GAAqC,+BAArC,GAAuEhB,KAD7D,CAAZ;AAGD;;AAED,MAAIrE,OAAJ,EAAa;AACXX,IAAAA,YAAY,CAACiF,QAAb,GAAwB;AACtBG,MAAAA,UAAU,EAAE,sBAAM,CAAE,CADE;AAEtBQ,MAAAA,QAAQ,EAAE,oBAAM,CAAE;AAFI,KAAxB;;AAKA5F,IAAAA,YAAY,CAACiG,UAAb,GAA0B,YAAM;AAC9B,aAAO1F,OAAP;AACD,KAFD;;AAIA,QAAI0B,wBAAwB,GAAG,SAA3BA,wBAA2B,GAAW;AACxC,UAAMD,GAAG,GAAG;AACVkE,QAAAA,eAAe,EAAE,IADP;AAEVC,QAAAA,gBAAgB,EAAE,IAFR;AAGVC,QAAAA,UAAU,EAAE,KAHF;AAIVC,QAAAA,MAAM,EAAE,gBAAAC,QAAQ,EAAI;AAClBtE,UAAAA,GAAG,CAACoE,UAAJ,GAAiB,IAAjB;AACApE,UAAAA,GAAG,CAACkE,eAAJ,GAAsBI,QAAtB;AACD,SAPS;AAQVC,QAAAA,OAAO,EAAE,iBAAAD,QAAQ,EAAI;AACnBtE,UAAAA,GAAG,CAACmE,gBAAJ,GAAuBG,QAAvB;AACD;AAVS,OAAZ;AAYA,aAAOtE,GAAP;AACD,KAdD;;AAgBA,QAAIwE,mBAAmB,GAAG,IAA1B;;AAEA,QAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAC3B7D,EAD2B,EAE3BzB,OAF2B,EAG3BE,aAH2B,EAI3BC,mBAJ2B,EAK3B;AACA,UAAMG,GAAG,GAAGlB,OAAO,CAACqC,EAAD,CAAnB;;AAEA,UAAI,CAACnB,GAAL,EAAU;AACR,YAAIN,OAAJ,EAAa;AAEX;AACD;;AAED,cAAM2D,kBAAkB,CAAClC,EAAD,CAAxB;AACD;;AAED,UAAI,CAACnB,GAAG,CAACC,QAAL,IAAiB,CAACD,GAAG,CAACI,aAA1B,EAAyC;AAGvCJ,QAAAA,GAAG,CAACN,OAAJ,GAAcA,OAAd;AACAM,QAAAA,GAAG,CAACJ,aAAJ,GAAoBA,aAApB;AACA;AACD;;AAED,UAAM6D,OAAO,GAAGlF,YAAY,CAACkF,OAA7B;AACA,UAAMwB,gBAAgB,GAAG,CAAC9D,EAAD,CAAzB;AACA,UAAM+D,gBAAgB,GAAG,EAAzB;AACA,UAAMC,aAAa,GAAG,IAAIC,GAAJ,EAAtB;AACA,UAAMC,kBAAkB,GAAG,IAAID,GAAJ,EAA3B;;AAaA,aAAOH,gBAAgB,CAACjC,MAAjB,GAA0B,CAAjC,EAAoC;AAClC,YAAMsC,SAAS,GAAGL,gBAAgB,CAACZ,GAAjB,EAAlB;;AAEA,YAAIc,aAAa,CAACI,GAAd,CAAkBD,SAAlB,CAAJ,EAAkC;AAChC;AACD;;AAEDH,QAAAA,aAAa,CAACK,GAAd,CAAkBF,SAAlB;AAGA,YAAMG,aAAa,GAAG3G,OAAO,CAACwG,SAAD,CAA7B;;AAEA,YAAIG,aAAa,IAAI,IAArB,EAA2B;AACzB,cAAMC,UAAU,GAAGD,aAAa,CAAClF,GAAjC;;AAEA,cAAImF,UAAU,IAAI,IAAlB,EAAwB;AACtB,kBAAM,IAAIhF,KAAJ,CACJ,uDADI,CAAN;AAGD;;AAED,cAAIiF,SAAS,GAAGD,UAAU,CAACf,UAA3B;;AAEA,cAAI,CAACgB,SAAD,IAAclC,OAAO,IAAI,IAA7B,EAAmC;AAEjC,gBAAMmC,UAAU,GAAGC,sBAAsB,CACvCpC,OADuC,EAEvCgC,aAAa,CAACpF,YAAd,CAA2BC,OAFY,CAAzC;;AAKA,gBAAIsF,UAAJ,EAAgB;AACdD,cAAAA,SAAS,GAAG,IAAZ;AACAN,cAAAA,kBAAkB,CAACG,GAAnB,CAAuBF,SAAvB;AACD;AACF;;AAED,cAAIK,SAAJ,EAAe;AACbT,YAAAA,gBAAgB,CAAC9D,IAAjB,CAAsBkE,SAAtB;AACA;AACD;AACF;;AAGD,YAAMQ,SAAS,GAAGjG,mBAAmB,CAACyF,SAAD,CAArC;;AAEA,YAAIQ,SAAS,CAAC9C,MAAV,KAAqB,CAAzB,EAA4B;AAG1B+C,UAAAA,kBAAkB;AAClB;AACD;;AAGDb,QAAAA,gBAAgB,CAAC9D,IAAjB,CAAsBkE,SAAtB;AACAQ,QAAAA,SAAS,CAACE,OAAV,CAAkB,UAAAC,QAAQ;AAAA,iBAAIhB,gBAAgB,CAAC7D,IAAjB,CAAsB6E,QAAtB,CAAJ;AAAA,SAA1B;AACD;;AAGDd,MAAAA,aAAa,CAACxG,KAAd;;AAEA,WAAK,IAAIuH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhB,gBAAgB,CAAClC,MAArC,EAA6CkD,CAAC,EAA9C,EAAkD;AAEhD,YAAMC,SAAS,GAAGjB,gBAAgB,CAACgB,CAAD,CAAlC;;AAEA,YAAIf,aAAa,CAACI,GAAd,CAAkBY,SAAlB,CAAJ,EAAkC;AAChC;AACD;;AAEDhB,QAAAA,aAAa,CAACK,GAAd,CAAkBW,SAAlB;AACA,YAAMnG,IAAG,GAAGlB,OAAO,CAACqH,SAAD,CAAnB;;AAEA,YAAInG,IAAG,IAAI,IAAX,EAAiB;AACf,gBAAM,IAAIU,KAAJ,CAAU,gDAAV,CAAN;AACD;;AAED,YAAM0F,WAAW,GAAGpG,IAAG,CAACK,YAAJ,CAAiBC,OAArC;AACA,YAAM+F,QAAQ,GAAGC,gBAAgB,CAC/BH,SAD+B,EAE/BA,SAAS,KAAKhF,EAAd,GAAmBzB,OAAnB,GAA6BwE,SAFE,EAG/BiC,SAAS,KAAKhF,EAAd,GAAmBvB,aAAnB,GAAmCsE,SAHJ,CAAjC;AAKA,YAAMqC,WAAW,GAAGvG,IAAG,CAACK,YAAJ,CAAiBC,OAArC;;AAEA,YAAI+F,QAAJ,EAAc;AAGZ;AACD;;AAED,YAAIhB,kBAAkB,CAACE,GAAnB,CAAuBY,SAAvB,CAAJ,EAAuC;AAGrC,cAAMK,mBAAmB,GAAG,CAACX,sBAAsB,CACjDpC,OADiD,EAEjD8C,WAFiD,CAAnD;AAUA,cAAME,aAAa,GAAGC,oCAAoC,CACxDjD,OADwD,EAExD2C,WAFwD,EAGxDG,WAHwD,CAA1D;;AAMA,cAAIC,mBAAmB,IAAIC,aAA3B,EAA0C;AAIxC,gBAAMX,UAAS,GAAGjG,mBAAmB,CAACsG,SAAD,CAArC;;AAEA,gBAAIL,UAAS,CAAC9C,MAAV,KAAqB,CAAzB,EAA4B;AAE1B+C,cAAAA,kBAAkB;AAClB;AACD;;AAED,iBAAK,IAAIY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGb,UAAS,CAAC9C,MAA9B,EAAsC2D,CAAC,EAAvC,EAA2C;AACzC,kBAAMV,QAAQ,GAAGH,UAAS,CAACa,CAAD,CAA1B;AACA,kBAAMC,SAAS,GAAG9H,OAAO,CAACmH,QAAD,CAAzB;;AAEA,kBAAIW,SAAS,IAAI,IAAjB,EAAuB;AACrB,sBAAM,IAAIlG,KAAJ,CAAU,2CAAV,CAAN;AACD;;AAED,kBAAMmG,eAAe,GAAGhB,sBAAsB,CAC5CpC,OAD4C,EAE5CmD,SAAS,CAACvG,YAAV,CAAuBC,OAFqB,CAA9C;;AAKA,kBAAIuG,eAAJ,EAAqB;AAEnBxB,gBAAAA,kBAAkB,CAACG,GAAnB,CAAuBS,QAAvB;AACAf,gBAAAA,gBAAgB,CAAC9D,IAAjB,CAAsB6E,QAAtB;AACD,eAJD,MAIO;AACLF,gBAAAA,kBAAkB;AAClB;AACD;AACF;AACF;AACF;AACF;;AAED,UAAItC,OAAO,IAAI,IAAf,EAAqB;AAGnB,YAAIsB,mBAAmB,IAAI,IAA3B,EAAiC;AAC/BA,UAAAA,mBAAmB,GAAG+B,UAAU,CAAC,YAAM;AACrC/B,YAAAA,mBAAmB,GAAG,IAAtB;AAEAtB,YAAAA,OAAO,CAACsD,mBAAR;AACD,WAJ+B,EAI7B,EAJ6B,CAAhC;AAKD;AACF;AACF,KAvMD;;AAyMA,QAAMT,gBAAgB,GAAG,SAAnBA,gBAAmB,CAASnF,EAAT,EAAazB,OAAb,EAAsBE,aAAtB,EAAqC;AAC5D,UAAMI,GAAG,GAAGlB,OAAO,CAACqC,EAAD,CAAnB;;AAEA,UAAInB,GAAG,IAAI,IAAX,EAAiB;AACf,cAAM,IAAIU,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAED,UAAMH,GAAG,GAAGP,GAAG,CAACO,GAAhB;;AAEA,UAAI,CAACA,GAAL,EAAU;AACR,cAAM,IAAIG,KAAJ,CAAU,uDAAV,CAAN;AACD;;AAED,UAAIH,GAAG,CAACmE,gBAAR,EAA0B;AACxB,YAAI;AACFnE,UAAAA,GAAG,CAACmE,gBAAJ;AACD,SAFD,CAEE,OAAOnB,KAAP,EAAc;AACd5C,UAAAA,OAAO,CAAC4C,KAAR,qDACoDpC,EADpD,SAEEoC,KAFF;AAID;AACF;;AAED,UAAI7D,OAAJ,EAAa;AACXM,QAAAA,GAAG,CAACN,OAAJ,GAAcA,OAAd;AACD;;AAED,UAAIE,aAAJ,EAAmB;AACjBI,QAAAA,GAAG,CAACJ,aAAJ,GAAoBA,aAApB;AACD;;AAEDI,MAAAA,GAAG,CAACC,QAAJ,GAAe,KAAf;AACAD,MAAAA,GAAG,CAACuD,KAAJ,GAAYW,SAAZ;AACAlE,MAAAA,GAAG,CAACE,WAAJ,GAAkBnB,KAAlB;AACAiB,MAAAA,GAAG,CAACG,eAAJ,GAAsBpB,KAAtB;AACAiB,MAAAA,GAAG,CAACI,aAAJ,GAAoB,KAApB;AACA,UAAMgG,WAAW,GAAGpG,GAAG,CAACK,YAAJ,CAAiBC,OAArC;AACAN,MAAAA,GAAG,CAACK,YAAJ,CAAiBC,OAAjB,GAA2B,EAA3B;AACAC,MAAAA,GAAG,CAACoE,UAAJ,GAAiB,KAAjB;AACApE,MAAAA,GAAG,CAACkE,eAAJ,GAAsB,IAAtB;AACAlE,MAAAA,GAAG,CAACmE,gBAAJ,GAAuB,IAAvB;AACAnG,MAAAA,YAAY,CAAC4C,EAAD,CAAZ;;AAEA,UAAInB,GAAG,CAACC,QAAR,EAAkB;AAOhBD,QAAAA,GAAG,CAACC,QAAJ,GAAe,KAAf;AACAD,QAAAA,GAAG,CAACI,aAAJ,GAAoB,IAApB;AACAJ,QAAAA,GAAG,CAACuD,KAAJ,GAAY,IAAZ;AACAvD,QAAAA,GAAG,CAACK,YAAJ,CAAiBC,OAAjB,GAA2B8F,WAA3B;AAEA,eAAO,IAAP;AACD;;AAED,UAAI7F,GAAG,CAACkE,eAAR,EAAyB;AACvB,YAAI;AACFlE,UAAAA,GAAG,CAACkE,eAAJ;AACD,SAFD,CAEE,OAAOlB,KAAP,EAAc;AACd5C,UAAAA,OAAO,CAAC4C,KAAR,oDACmDpC,EADnD,SAEEoC,KAFF;AAID;AACF;;AAED,aAAO,KAAP;AACD,KAvED;;AAyEA,QAAMwC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAE/B,UACE,OAAOiB,MAAP,KAAkB,WAAlB,IACAA,MAAM,CAACC,QAAP,IAAmB,IADnB,IAEA,OAAOD,MAAM,CAACC,QAAP,CAAgBC,MAAvB,KAAkC,UAHpC,EAIE;AACAF,QAAAA,MAAM,CAACC,QAAP,CAAgBC,MAAhB;AACD,OAND,MAMO;AAEL,YAAMzD,OAAO,GAAGlF,YAAY,CAACkF,OAA7B;;AAEA,YAAIA,OAAO,IAAI,IAAf,EAAqB;AACnBA,UAAAA,OAAO,CAACsC,kBAAR;AACD,SAFD,MAEO;AACLpF,UAAAA,OAAO,CAACC,IAAR,CAAa,iDAAb;AACD;AACF;AACF,KAlBD;;AAoBA,QAAIiF,sBAAsB,GAAG,SAAzBA,sBAAyB,CAASpC,OAAT,EAAkB0D,aAAlB,EAAiC;AAC5D,UAAI1D,OAAO,CAAC2D,qBAAR,CAA8BD,aAA9B,CAAJ,EAAkD;AAChD,eAAO,IAAP;AACD;;AAED,UAAIA,aAAa,IAAI,IAAjB,IAAyB,OAAOA,aAAP,KAAyB,QAAtD,EAAgE;AAE9D,eAAO,KAAP;AACD;;AAED,UAAIE,UAAU,GAAG,KAAjB;AACA,UAAIC,uBAAuB,GAAG,IAA9B;;AAEA,WAAK,IAAMzF,GAAX,IAAkBsF,aAAlB,EAAiC;AAC/BE,QAAAA,UAAU,GAAG,IAAb;;AAEA,YAAIxF,GAAG,KAAK,YAAZ,EAA0B;AACxB;AACD;;AAED,YAAM0F,IAAI,GAAGjI,MAAM,CAACkI,wBAAP,CAAgCL,aAAhC,EAA+CtF,GAA/C,CAAb;;AAEA,YAAI0F,IAAI,IAAIA,IAAI,CAACE,GAAjB,EAAsB;AAEpB,iBAAO,KAAP;AACD;;AAED,YAAMC,WAAW,GAAGP,aAAa,CAACtF,GAAD,CAAjC;;AAEA,YAAI,CAAC4B,OAAO,CAAC2D,qBAAR,CAA8BM,WAA9B,CAAL,EAAiD;AAC/CJ,UAAAA,uBAAuB,GAAG,KAA1B;AACD;AACF;;AAED,aAAOD,UAAU,IAAIC,uBAArB;AACD,KAnCD;;AAqCA,QAAIZ,oCAAoC,GAAG,SAAvCA,oCAAuC,CACzCjD,OADyC,EAEzC2C,WAFyC,EAGzCG,WAHyC,EAItC;AACH,UAAMoB,aAAa,GAAGC,2BAA2B,CAACnE,OAAD,EAAU2C,WAAV,CAAjD;AACA,UAAMyB,aAAa,GAAGD,2BAA2B,CAACnE,OAAD,EAAU8C,WAAV,CAAjD;;AAEA,UAAIoB,aAAa,CAAC3E,MAAd,KAAyB6E,aAAa,CAAC7E,MAA3C,EAAmD;AACjD,eAAO,IAAP;AACD;;AAED,WAAK,IAAIkD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2B,aAAa,CAAC7E,MAAlC,EAA0CkD,CAAC,EAA3C,EAA+C;AAC7C,YAAIyB,aAAa,CAACzB,CAAD,CAAb,KAAqB2B,aAAa,CAAC3B,CAAD,CAAtC,EAA2C;AACzC,iBAAO,IAAP;AACD;AACF;;AAED,aAAO,KAAP;AACD,KAnBD;;AAqBA,QAAI0B,2BAA2B,GAAG,SAA9BA,2BAA8B,CAACnE,OAAD,EAAU0D,aAAV,EAA4B;AAC5D,UAAMW,SAAS,GAAG,EAAlB;AACAA,MAAAA,SAAS,CAAC1G,IAAV,CAAeqC,OAAO,CAACsE,eAAR,CAAwBZ,aAAxB,CAAf;;AAEA,UAAIA,aAAa,IAAI,IAAjB,IAAyB,OAAOA,aAAP,KAAyB,QAAtD,EAAgE;AAG9D,eAAOW,SAAP;AACD;;AAED,WAAK,IAAMjG,GAAX,IAAkBsF,aAAlB,EAAiC;AAC/B,YAAItF,GAAG,KAAK,YAAZ,EAA0B;AACxB;AACD;;AAED,YAAM0F,IAAI,GAAGjI,MAAM,CAACkI,wBAAP,CAAgCL,aAAhC,EAA+CtF,GAA/C,CAAb;;AAEA,YAAI0F,IAAI,IAAIA,IAAI,CAACE,GAAjB,EAAsB;AACpB;AACD;;AAED,YAAMC,WAAW,GAAGP,aAAa,CAACtF,GAAD,CAAjC;AACAiG,QAAAA,SAAS,CAAC1G,IAAV,CAAeS,GAAf;AACAiG,QAAAA,SAAS,CAAC1G,IAAV,CAAeqC,OAAO,CAACsE,eAAR,CAAwBL,WAAxB,CAAf;AACD;;AAED,aAAOI,SAAP;AACD,KA3BD;;AA6BA,QAAI1D,8BAA8B,GAAG,SAAjCA,8BAAiC,CAACX,OAAD,EAAU0D,aAAV,EAAyBa,QAAzB,EAAsC;AACzEvE,MAAAA,OAAO,CAACO,QAAR,CAAiBmD,aAAjB,EAAgCa,QAAQ,GAAG,YAA3C;;AAEA,UAAIb,aAAa,IAAI,IAAjB,IAAyB,OAAOA,aAAP,KAAyB,QAAtD,EAAgE;AAG9D;AACD;;AAED,WAAK,IAAMtF,GAAX,IAAkBsF,aAAlB,EAAiC;AAC/B,YAAMI,IAAI,GAAGjI,MAAM,CAACkI,wBAAP,CAAgCL,aAAhC,EAA+CtF,GAA/C,CAAb;;AAEA,YAAI0F,IAAI,IAAIA,IAAI,CAACE,GAAjB,EAAsB;AAEpB;AACD;;AAED,YAAMC,WAAW,GAAGP,aAAa,CAACtF,GAAD,CAAjC;AACA,YAAMoG,MAAM,GAAGD,QAAQ,GAAG,aAAX,GAA2BnG,GAA1C;AACA4B,QAAAA,OAAO,CAACO,QAAR,CAAiB0D,WAAjB,EAA8BO,MAA9B;AACD;AACF,KArBD;;AAuBA5J,IAAAA,MAAM,CAAC0B,QAAP,GAAkBiF,oBAAlB;AACD;;;ACjyBD,MAAMkD,OAAO,GAAI,YAAW;AAwB1B,aAASA,OAAT,CAAiBC,GAAjB,EAAsBC,IAAtB,EAA4B;AAC1B,UAAIC,GAAG,GAAG;AACRC,QAAAA,IAAI,EAAE,EADE;AAERC,QAAAA,gBAAgB,EAAE,CAFV;AAGRC,QAAAA,OAAO,EAAEC;AAHD,OAAV;AAKA,aAAOC,WAAW,CAACL,GAAD,EAAMF,GAAN,EAAWC,IAAI,CAACO,KAAhB,CAAlB;AACD;;AAED,aAASF,cAAT,CAAwBG,GAAxB,EAA6BC,SAA7B,EAAwC;AACtC,aAAOD,GAAP;AACD;;AAED,aAASE,WAAT,CAAqBC,KAArB,EAA4B;AAC1B,UAAIC,IAAI,GAAG,EAAX;AAEAD,MAAAA,KAAK,CAAC/C,OAAN,CAAc,UAASiD,GAAT,EAAcC,GAAd,EAAmB;AAC/BF,QAAAA,IAAI,CAACC,GAAD,CAAJ,GAAY,IAAZ;AACD,OAFD;AAIA,aAAOD,IAAP;AACD;;AAED,aAASN,WAAT,CAAqBL,GAArB,EAA0BzF,KAA1B,EAAiCuG,YAAjC,EAA+C;AAC7Cd,MAAAA,GAAG,CAACE,gBAAJ;;AACA,UAAIF,GAAG,CAACE,gBAAJ,GAAuB,GAA3B,EAAgC;AAC9B,8CACEF,GAAG,CAACE,gBADN;AAGD;;AAGD,UAAIa,SAAS,GAAGC,eAAe,CAAChB,GAAD,EAAMzF,KAAN,CAA/B;;AACA,UAAIwG,SAAJ,EAAe;AACb,eAAOA,SAAP;AACD;;AAGD,UAAIE,IAAI,GAAGhK,MAAM,CAACgK,IAAP,CAAY1G,KAAZ,CAAX;AACA,UAAI2G,WAAW,GAAGT,WAAW,CAACQ,IAAD,CAA7B;;AAIA,UACEE,OAAO,CAAC5G,KAAD,CAAP,KACC0G,IAAI,CAACvI,OAAL,CAAa,SAAb,KAA2B,CAA3B,IAAgCuI,IAAI,CAACvI,OAAL,CAAa,aAAb,KAA+B,CADhE,CADF,EAGE;AACA,eAAO0I,WAAW,CAAC7G,KAAD,CAAlB;AACD;;AAGD,UAAI0G,IAAI,CAACtG,MAAL,KAAgB,CAApB,EAAuB;AACrB,YAAI0G,UAAU,CAAC9G,KAAD,CAAd,EAAuB;AACrB,cAAI+G,IAAI,GAAG/G,KAAK,CAAC+G,IAAN,GAAa,OAAO/G,KAAK,CAAC+G,IAA1B,GAAiC,EAA5C;AACA,iBAAOtB,GAAG,CAACG,OAAJ,CAAY,cAAcmB,IAAd,GAAqB,GAAjC,EAAsC,SAAtC,CAAP;AACD;;AACD,YAAIC,QAAQ,CAAChH,KAAD,CAAZ,EAAqB;AACnB,iBAAOyF,GAAG,CAACG,OAAJ,CAAYqB,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BjI,IAA1B,CAA+Bc,KAA/B,CAAZ,EAAmD,QAAnD,CAAP;AACD;;AACD,YAAIoH,MAAM,CAACpH,KAAD,CAAV,EAAmB;AACjB,iBAAOyF,GAAG,CAACG,OAAJ,CAAYyB,IAAI,CAACH,SAAL,CAAeC,QAAf,CAAwBjI,IAAxB,CAA6Bc,KAA7B,CAAZ,EAAiD,MAAjD,CAAP;AACD;;AACD,YAAI4G,OAAO,CAAC5G,KAAD,CAAX,EAAoB;AAClB,iBAAO6G,WAAW,CAAC7G,KAAD,CAAlB;AACD;AACF;;AAED,UAAIsH,IAAI,GAAG,EAAX;AAAA,UACEnB,KAAK,GAAG,KADV;AAAA,UAEEoB,MAAM,GAAG,CAAC,GAAD,EAAM,GAAN,CAFX;;AAKA,UAAIC,OAAO,CAACxH,KAAD,CAAX,EAAoB;AAClBmG,QAAAA,KAAK,GAAG,IAAR;AACAoB,QAAAA,MAAM,GAAG,CAAC,GAAD,EAAM,GAAN,CAAT;AACD;;AAGD,UAAIT,UAAU,CAAC9G,KAAD,CAAd,EAAuB;AACrB,YAAIyH,CAAC,GAAGzH,KAAK,CAAC+G,IAAN,GAAa,OAAO/G,KAAK,CAAC+G,IAA1B,GAAiC,EAAzC;AACAO,QAAAA,IAAI,GAAG,eAAeG,CAAf,GAAmB,GAA1B;AACD;;AAGD,UAAIT,QAAQ,CAAChH,KAAD,CAAZ,EAAqB;AACnBsH,QAAAA,IAAI,GAAG,MAAML,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BjI,IAA1B,CAA+Bc,KAA/B,CAAb;AACD;;AAGD,UAAIoH,MAAM,CAACpH,KAAD,CAAV,EAAmB;AACjBsH,QAAAA,IAAI,GAAG,MAAMD,IAAI,CAACH,SAAL,CAAeQ,WAAf,CAA2BxI,IAA3B,CAAgCc,KAAhC,CAAb;AACD;;AAGD,UAAI4G,OAAO,CAAC5G,KAAD,CAAX,EAAoB;AAClBsH,QAAAA,IAAI,GAAG,MAAMT,WAAW,CAAC7G,KAAD,CAAxB;AACD;;AAED,UAAI0G,IAAI,CAACtG,MAAL,KAAgB,CAAhB,KAAsB,CAAC+F,KAAD,IAAUnG,KAAK,CAACI,MAAN,IAAgB,CAAhD,CAAJ,EAAwD;AACtD,eAAOmH,MAAM,CAAC,CAAD,CAAN,GAAYD,IAAZ,GAAmBC,MAAM,CAAC,CAAD,CAAhC;AACD;;AAED,UAAIhB,YAAY,GAAG,CAAnB,EAAsB;AACpB,YAAIS,QAAQ,CAAChH,KAAD,CAAZ,EAAqB;AACnB,iBAAOyF,GAAG,CAACG,OAAJ,CAAYqB,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BjI,IAA1B,CAA+Bc,KAA/B,CAAZ,EAAmD,QAAnD,CAAP;AACD,SAFD,MAEO;AACL,iBAAOyF,GAAG,CAACG,OAAJ,CAAY,UAAZ,EAAwB,SAAxB,CAAP;AACD;AACF;;AAEDH,MAAAA,GAAG,CAACC,IAAJ,CAASlH,IAAT,CAAcwB,KAAd;AAEA,UAAI2H,MAAJ;;AACA,UAAIxB,KAAJ,EAAW;AACTwB,QAAAA,MAAM,GAAGC,WAAW,CAACnC,GAAD,EAAMzF,KAAN,EAAauG,YAAb,EAA2BI,WAA3B,EAAwCD,IAAxC,CAApB;AACD,OAFD,MAEO;AACLiB,QAAAA,MAAM,GAAGjB,IAAI,CAACpI,GAAL,CAAS,UAASW,GAAT,EAAc;AAC9B,iBAAO4I,cAAc,CACnBpC,GADmB,EAEnBzF,KAFmB,EAGnBuG,YAHmB,EAInBI,WAJmB,EAKnB1H,GALmB,EAMnBkH,KANmB,CAArB;AAQD,SATQ,CAAT;AAUD;;AAEDV,MAAAA,GAAG,CAACC,IAAJ,CAASjE,GAAT;AAEA,aAAOqG,oBAAoB,CAACH,MAAD,EAASL,IAAT,EAAeC,MAAf,CAA3B;AACD;;AAED,aAASd,eAAT,CAAyBhB,GAAzB,EAA8BzF,KAA9B,EAAqC;AACnC,UAAI+H,WAAW,CAAC/H,KAAD,CAAf,EAAwB,OAAOyF,GAAG,CAACG,OAAJ,CAAY,WAAZ,EAAyB,WAAzB,CAAP;;AACxB,UAAIoC,QAAQ,CAAChI,KAAD,CAAZ,EAAqB;AACnB,YAAIiI,MAAM,GACR,MACAC,IAAI,CAACC,SAAL,CAAenI,KAAf,EACGoI,OADH,CACW,QADX,EACqB,EADrB,EAEGA,OAFH,CAEW,IAFX,EAEiB,KAFjB,EAGGA,OAHH,CAGW,MAHX,EAGmB,GAHnB,CADA,GAKA,GANF;AAOA,eAAO3C,GAAG,CAACG,OAAJ,CAAYqC,MAAZ,EAAoB,QAApB,CAAP;AACD;;AACD,UAAII,QAAQ,CAACrI,KAAD,CAAZ,EAAqB,OAAOyF,GAAG,CAACG,OAAJ,CAAY,KAAK5F,KAAjB,EAAwB,QAAxB,CAAP;AACrB,UAAIsI,SAAS,CAACtI,KAAD,CAAb,EAAsB,OAAOyF,GAAG,CAACG,OAAJ,CAAY,KAAK5F,KAAjB,EAAwB,SAAxB,CAAP;AAEtB,UAAIuI,MAAM,CAACvI,KAAD,CAAV,EAAmB,OAAOyF,GAAG,CAACG,OAAJ,CAAY,MAAZ,EAAoB,MAApB,CAAP;AACpB;;AAED,aAASiB,WAAT,CAAqB7G,KAArB,EAA4B;AAC1B,aAAO,MAAMlC,KAAK,CAACoJ,SAAN,CAAgBC,QAAhB,CAAyBjI,IAAzB,CAA8Bc,KAA9B,CAAN,GAA6C,GAApD;AACD;;AAED,aAAS4H,WAAT,CAAqBnC,GAArB,EAA0BzF,KAA1B,EAAiCuG,YAAjC,EAA+CI,WAA/C,EAA4DD,IAA5D,EAAkE;AAChE,UAAIiB,MAAM,GAAG,EAAb;;AACA,WAAK,IAAIrE,CAAC,GAAG,CAAR,EAAWkF,CAAC,GAAGxI,KAAK,CAACI,MAA1B,EAAkCkD,CAAC,GAAGkF,CAAtC,EAAyC,EAAElF,CAA3C,EAA8C;AAC5C,YAAIjH,cAAc,CAAC2D,KAAD,EAAQyI,MAAM,CAACnF,CAAD,CAAd,CAAlB,EAAsC;AACpCqE,UAAAA,MAAM,CAACnJ,IAAP,CACEqJ,cAAc,CACZpC,GADY,EAEZzF,KAFY,EAGZuG,YAHY,EAIZI,WAJY,EAKZ8B,MAAM,CAACnF,CAAD,CALM,EAMZ,IANY,CADhB;AAUD,SAXD,MAWO;AACLqE,UAAAA,MAAM,CAACnJ,IAAP,CAAY,EAAZ;AACD;AACF;;AACDkI,MAAAA,IAAI,CAACtD,OAAL,CAAa,UAASnE,GAAT,EAAc;AACzB,YAAI,CAACA,GAAG,CAACyJ,KAAJ,CAAU,OAAV,CAAL,EAAyB;AACvBf,UAAAA,MAAM,CAACnJ,IAAP,CACEqJ,cAAc,CAACpC,GAAD,EAAMzF,KAAN,EAAauG,YAAb,EAA2BI,WAA3B,EAAwC1H,GAAxC,EAA6C,IAA7C,CADhB;AAGD;AACF,OAND;AAOA,aAAO0I,MAAP;AACD;;AAED,aAASE,cAAT,CAAwBpC,GAAxB,EAA6BzF,KAA7B,EAAoCuG,YAApC,EAAkDI,WAAlD,EAA+D1H,GAA/D,EAAoEkH,KAApE,EAA2E;AACzE,UAAIY,IAAJ,EAAUf,GAAV,EAAerB,IAAf;AACAA,MAAAA,IAAI,GAAGjI,MAAM,CAACkI,wBAAP,CAAgC5E,KAAhC,EAAuCf,GAAvC,KAA+C;AAACe,QAAAA,KAAK,EAAEA,KAAK,CAACf,GAAD;AAAb,OAAtD;;AACA,UAAI0F,IAAI,CAACE,GAAT,EAAc;AACZ,YAAIF,IAAI,CAACgE,GAAT,EAAc;AACZ3C,UAAAA,GAAG,GAAGP,GAAG,CAACG,OAAJ,CAAY,iBAAZ,EAA+B,SAA/B,CAAN;AACD,SAFD,MAEO;AACLI,UAAAA,GAAG,GAAGP,GAAG,CAACG,OAAJ,CAAY,UAAZ,EAAwB,SAAxB,CAAN;AACD;AACF,OAND,MAMO;AACL,YAAIjB,IAAI,CAACgE,GAAT,EAAc;AACZ3C,UAAAA,GAAG,GAAGP,GAAG,CAACG,OAAJ,CAAY,UAAZ,EAAwB,SAAxB,CAAN;AACD;AACF;;AACD,UAAI,CAACvJ,cAAc,CAACsK,WAAD,EAAc1H,GAAd,CAAnB,EAAuC;AACrC8H,QAAAA,IAAI,GAAG,MAAM9H,GAAN,GAAY,GAAnB;AACD;;AACD,UAAI,CAAC+G,GAAL,EAAU;AACR,YAAIP,GAAG,CAACC,IAAJ,CAASvH,OAAT,CAAiBwG,IAAI,CAAC3E,KAAtB,IAA+B,CAAnC,EAAsC;AACpC,cAAIuI,MAAM,CAAChC,YAAD,CAAV,EAA0B;AACxBP,YAAAA,GAAG,GAAGF,WAAW,CAACL,GAAD,EAAMd,IAAI,CAAC3E,KAAX,EAAkB,IAAlB,CAAjB;AACD,WAFD,MAEO;AACLgG,YAAAA,GAAG,GAAGF,WAAW,CAACL,GAAD,EAAMd,IAAI,CAAC3E,KAAX,EAAkBuG,YAAY,GAAG,CAAjC,CAAjB;AACD;;AACD,cAAIP,GAAG,CAAC7H,OAAJ,CAAY,IAAZ,IAAoB,CAAC,CAAzB,EAA4B;AAC1B,gBAAIgI,KAAJ,EAAW;AACTH,cAAAA,GAAG,GAAGA,GAAG,CACN4C,KADG,CACG,IADH,EAEHtK,GAFG,CAEC,UAASuK,IAAT,EAAe;AAClB,uBAAO,OAAOA,IAAd;AACD,eAJG,EAKHpK,IALG,CAKE,IALF,EAMHqK,MANG,CAMI,CANJ,CAAN;AAOD,aARD,MAQO;AACL9C,cAAAA,GAAG,GACD,OACAA,GAAG,CACA4C,KADH,CACS,IADT,EAEGtK,GAFH,CAEO,UAASuK,IAAT,EAAe;AAClB,uBAAO,QAAQA,IAAf;AACD,eAJH,EAKGpK,IALH,CAKQ,IALR,CAFF;AAQD;AACF;AACF,SA1BD,MA0BO;AACLuH,UAAAA,GAAG,GAAGP,GAAG,CAACG,OAAJ,CAAY,YAAZ,EAA0B,SAA1B,CAAN;AACD;AACF;;AACD,UAAImC,WAAW,CAAChB,IAAD,CAAf,EAAuB;AACrB,YAAIZ,KAAK,IAAIlH,GAAG,CAACyJ,KAAJ,CAAU,OAAV,CAAb,EAAiC;AAC/B,iBAAO1C,GAAP;AACD;;AACDe,QAAAA,IAAI,GAAGmB,IAAI,CAACC,SAAL,CAAe,KAAKlJ,GAApB,CAAP;;AACA,YAAI8H,IAAI,CAAC2B,KAAL,CAAW,8BAAX,CAAJ,EAAgD;AAC9C3B,UAAAA,IAAI,GAAGA,IAAI,CAAC+B,MAAL,CAAY,CAAZ,EAAe/B,IAAI,CAAC3G,MAAL,GAAc,CAA7B,CAAP;AACA2G,UAAAA,IAAI,GAAGtB,GAAG,CAACG,OAAJ,CAAYmB,IAAZ,EAAkB,MAAlB,CAAP;AACD,SAHD,MAGO;AACLA,UAAAA,IAAI,GAAGA,IAAI,CACRqB,OADI,CACI,IADJ,EACU,KADV,EAEJA,OAFI,CAEI,MAFJ,EAEY,GAFZ,EAGJA,OAHI,CAGI,UAHJ,EAGgB,GAHhB,CAAP;AAIArB,UAAAA,IAAI,GAAGtB,GAAG,CAACG,OAAJ,CAAYmB,IAAZ,EAAkB,QAAlB,CAAP;AACD;AACF;;AAED,aAAOA,IAAI,GAAG,IAAP,GAAcf,GAArB;AACD;;AAED,aAAS8B,oBAAT,CAA8BH,MAA9B,EAAsCL,IAAtC,EAA4CC,MAA5C,EAAoD;AAClD,UAAIwB,WAAW,GAAG,CAAlB;AACA,UAAI3I,MAAM,GAAGuH,MAAM,CAACqB,MAAP,CAAc,UAASC,IAAT,EAAeC,GAAf,EAAoB;AAC7CH,QAAAA,WAAW;AACX,YAAIG,GAAG,CAAC/K,OAAJ,CAAY,IAAZ,KAAqB,CAAzB,EAA4B4K,WAAW;AACvC,eAAOE,IAAI,GAAGC,GAAG,CAACd,OAAJ,CAAY,iBAAZ,EAA+B,EAA/B,EAAmChI,MAA1C,GAAmD,CAA1D;AACD,OAJY,EAIV,CAJU,CAAb;;AAMA,UAAIA,MAAM,GAAG,EAAb,EAAiB;AACf,eACEmH,MAAM,CAAC,CAAD,CAAN,IACCD,IAAI,KAAK,EAAT,GAAc,EAAd,GAAmBA,IAAI,GAAG,KAD3B,IAEA,GAFA,GAGAK,MAAM,CAAClJ,IAAP,CAAY,OAAZ,CAHA,GAIA,GAJA,GAKA8I,MAAM,CAAC,CAAD,CANR;AAQD;;AAED,aAAOA,MAAM,CAAC,CAAD,CAAN,GAAYD,IAAZ,GAAmB,GAAnB,GAAyBK,MAAM,CAAClJ,IAAP,CAAY,IAAZ,CAAzB,GAA6C,GAA7C,GAAmD8I,MAAM,CAAC,CAAD,CAAhE;AACD;;AAID,aAASC,OAAT,CAAiB2B,EAAjB,EAAqB;AACnB,aAAOC,KAAK,CAAC5B,OAAN,CAAc2B,EAAd,CAAP;AACD;;AAED,aAASb,SAAT,CAAmBe,GAAnB,EAAwB;AACtB,aAAO,OAAOA,GAAP,KAAe,SAAtB;AACD;;AAED,aAASd,MAAT,CAAgBc,GAAhB,EAAqB;AACnB,aAAOA,GAAG,KAAK,IAAf;AACD;;AAED,aAASC,iBAAT,CAA2BD,GAA3B,EAAgC;AAC9B,aAAOA,GAAG,IAAI,IAAd;AACD;;AAED,aAAShB,QAAT,CAAkBgB,GAAlB,EAAuB;AACrB,aAAO,OAAOA,GAAP,KAAe,QAAtB;AACD;;AAED,aAASrB,QAAT,CAAkBqB,GAAlB,EAAuB;AACrB,aAAO,OAAOA,GAAP,KAAe,QAAtB;AACD;;AAED,aAASE,QAAT,CAAkBF,GAAlB,EAAuB;AACrB,aAAO,OAAOA,GAAP,KAAe,QAAtB;AACD;;AAED,aAAStB,WAAT,CAAqBsB,GAArB,EAA0B;AACxB,aAAOA,GAAG,KAAK,KAAK,CAApB;AACD;;AAED,aAASrC,QAAT,CAAkBwC,EAAlB,EAAsB;AACpB,aAAOC,QAAQ,CAACD,EAAD,CAAR,IAAgBE,cAAc,CAACF,EAAD,CAAd,KAAuB,iBAA9C;AACD;;AAED,aAASC,QAAT,CAAkBJ,GAAlB,EAAuB;AACrB,aAAO,OAAOA,GAAP,KAAe,QAAf,IAA2BA,GAAG,KAAK,IAA1C;AACD;;AAED,aAASjC,MAAT,CAAgBuC,CAAhB,EAAmB;AACjB,aAAOF,QAAQ,CAACE,CAAD,CAAR,IAAeD,cAAc,CAACC,CAAD,CAAd,KAAsB,eAA5C;AACD;;AAED,aAAS/C,OAAT,CAAiBpH,CAAjB,EAAoB;AAClB,aACEiK,QAAQ,CAACjK,CAAD,CAAR,KACCkK,cAAc,CAAClK,CAAD,CAAd,KAAsB,gBAAtB,IAA0CA,CAAC,YAAY1B,KADxD,CADF;AAID;;AAED,aAASgJ,UAAT,CAAoBuC,GAApB,EAAyB;AACvB,aAAO,OAAOA,GAAP,KAAe,UAAtB;AACD;;AAED,aAASK,cAAT,CAAwBE,CAAxB,EAA2B;AACzB,aAAOlN,MAAM,CAACwK,SAAP,CAAiBC,QAAjB,CAA0BjI,IAA1B,CAA+B0K,CAA/B,CAAP;AACD;;AAED,aAASvN,cAAT,CAAwBkJ,GAAxB,EAA6BsE,IAA7B,EAAmC;AACjC,aAAOnN,MAAM,CAACwK,SAAP,CAAiB7K,cAAjB,CAAgC6C,IAAhC,CAAqCqG,GAArC,EAA0CsE,IAA1C,CAAP;AACD;;AAED,WAAOvE,OAAP;AACD,GA3We,EAAhB;;AA6WA,MAAMwE,kBAAkB,GAAG,SAA3B;AACA,MAAMC,UAAU,GAAG;AACjBC,IAAAA,KAAK,EAAE,CADU;AAEjBC,IAAAA,IAAI,EAAE,CAFW;AAGjBjM,IAAAA,IAAI,EAAE,CAHW;AAIjB2C,IAAAA,KAAK,EAAE;AAJU,GAAnB;AAMA,MAAMuJ,gBAAgB,GAAG,EAAzB;AACAA,EAAAA,gBAAgB,CAACH,UAAU,CAACC,KAAZ,CAAhB,GAAqC,OAArC;AACAE,EAAAA,gBAAgB,CAACH,UAAU,CAACE,IAAZ,CAAhB,GAAoC,KAApC;AACAC,EAAAA,gBAAgB,CAACH,UAAU,CAAC/L,IAAZ,CAAhB,GAAoC,SAApC;AACAkM,EAAAA,gBAAgB,CAACH,UAAU,CAACpJ,KAAZ,CAAhB,GAAqC,OAArC;AAIA,MAAMwJ,wBAAwB,GAAG7N,OAAO,GAAG,CAAH,GAAO,CAA/C;;AAEA,WAAS8N,oBAAT,CAA8BC,KAA9B,EAAqC;AACnC,WAAO,YAAW;AAChB,UAAIrE,GAAJ;;AACA,UAAI9I,SAAS,CAACkD,MAAV,KAAqB,CAArB,IAA0B,OAAOlD,SAAS,CAAC,CAAD,CAAhB,KAAwB,QAAtD,EAAgE;AAC9D8I,QAAAA,GAAG,GAAG9I,SAAS,CAAC,CAAD,CAAf;AACD,OAFD,MAEO;AACL8I,QAAAA,GAAG,GAAGoD,KAAK,CAAClC,SAAN,CAAgB5I,GAAhB,CACHY,IADG,CACEhC,SADF,EACa,UAASmM,GAAT,EAAc;AAC7B,iBAAO/D,OAAO,CAAC+D,GAAD,EAAM;AAACtD,YAAAA,KAAK,EAAE;AAAR,WAAN,CAAd;AACD,SAHG,EAIHtH,IAJG,CAIE,IAJF,CAAN;AAKD;;AAED,UAAI6L,QAAQ,GAAGD,KAAf;;AACA,UAAIrE,GAAG,CAAC3H,KAAJ,CAAU,CAAV,EAAa,CAAb,MAAoB,WAApB,IAAmCiM,QAAQ,IAAIP,UAAU,CAACpJ,KAA9D,EAAqE;AAInE2J,QAAAA,QAAQ,GAAGP,UAAU,CAAC/L,IAAtB;AACD;;AACD,UAAIvC,MAAM,CAAC8O,cAAX,EAA2B;AACzB9O,QAAAA,MAAM,CAAC8O,cAAP,CACEL,gBAAgB,CAACI,QAAD,CADlB,EAEEtE,GAFF,EAGE,GAAG3H,KAAH,CAASa,IAAT,CAAchC,SAAd,CAHF,EAIEiN,wBAJF;AAMD;;AACD,UAAIK,UAAU,CAACpK,MAAf,EAAuB;AACrB4F,QAAAA,GAAG,GAAGyE,WAAW,CAAC,EAAD,EAAKzE,GAAL,CAAjB;AACD;;AACDvK,MAAAA,MAAM,CAACiP,iBAAP,CAAyB1E,GAAzB,EAA8BsE,QAA9B;AACD,KA/BD;AAgCD;;AAED,WAASK,MAAT,CAAgBC,OAAhB,EAAyBnD,CAAzB,EAA4B;AAC1B,WAAO2B,KAAK,CAACyB,KAAN,CAAY,IAAZ,EAAkBzB,KAAK,CAAC3B,CAAD,CAAvB,EAA4BnJ,GAA5B,CAAgC,YAAW;AAChD,aAAOsM,OAAP;AACD,KAFM,CAAP;AAGD;;AAED,WAASE,oBAAT,CAA8BC,IAA9B,EAAoC;AAElC,QAAI,CAAC3B,KAAK,CAAC5B,OAAN,CAAcuD,IAAd,CAAL,EAA0B;AACxB,UAAIC,IAAI,GAAGD,IAAX;AACAA,MAAAA,IAAI,GAAG,EAAP;;AACA,WAAK,IAAI9L,GAAT,IAAgB+L,IAAhB,EAAsB;AACpB,YAAIA,IAAI,CAAC3O,cAAL,CAAoB4C,GAApB,CAAJ,EAA8B;AAC5B,cAAIgM,GAAG,GAAGD,IAAI,CAAC/L,GAAD,CAAd;AACAgM,UAAAA,GAAG,CAACnB,kBAAD,CAAH,GAA0B7K,GAA1B;AACA8L,UAAAA,IAAI,CAACvM,IAAL,CAAUyM,GAAV;AACD;AACF;AACF;;AACD,QAAIF,IAAI,CAAC3K,MAAL,KAAgB,CAApB,EAAuB;AACrB3E,MAAAA,MAAM,CAACiP,iBAAP,CAAyB,EAAzB,EAA6BX,UAAU,CAACE,IAAxC;AACA;AACD;;AAED,QAAIiB,OAAO,GAAGxO,MAAM,CAACgK,IAAP,CAAYqE,IAAI,CAAC,CAAD,CAAhB,EAAqBI,IAArB,EAAd;AACA,QAAIC,UAAU,GAAG,EAAjB;AACA,QAAIC,YAAY,GAAG,EAAnB;AAIAH,IAAAA,OAAO,CAAC9H,OAAR,CAAgB,UAASkI,CAAT,EAAYhI,CAAZ,EAAe;AAC7B+H,MAAAA,YAAY,CAAC/H,CAAD,CAAZ,GAAkBgI,CAAC,CAAClL,MAApB;;AACA,WAAK,IAAI2D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgH,IAAI,CAAC3K,MAAzB,EAAiC2D,CAAC,EAAlC,EAAsC;AACpC,YAAIwH,OAAO,GAAG,CAACR,IAAI,CAAChH,CAAD,CAAJ,CAAQuH,CAAR,KAAc,GAAf,EAAoBnE,QAApB,EAAd;AACAiE,QAAAA,UAAU,CAACrH,CAAD,CAAV,GAAgBqH,UAAU,CAACrH,CAAD,CAAV,IAAiB,EAAjC;AACAqH,QAAAA,UAAU,CAACrH,CAAD,CAAV,CAAcT,CAAd,IAAmBiI,OAAnB;AACAF,QAAAA,YAAY,CAAC/H,CAAD,CAAZ,GAAkBkI,IAAI,CAACC,GAAL,CAASJ,YAAY,CAAC/H,CAAD,CAArB,EAA0BiI,OAAO,CAACnL,MAAlC,CAAlB;AACD;AACF,KARD;;AAYA,aAASsL,OAAT,CAAiBT,GAAjB,EAAsBU,KAAtB,EAA6B;AAC3B,UAAIC,KAAK,GAAGX,GAAG,CAAC3M,GAAJ,CAAQ,UAASuN,IAAT,EAAevI,CAAf,EAAkB;AACpC,YAAIwI,WAAW,GAAGnB,MAAM,CAAC,GAAD,EAAMU,YAAY,CAAC/H,CAAD,CAAZ,GAAkBuI,IAAI,CAACzL,MAA7B,CAAN,CAA2C3B,IAA3C,CAAgD,EAAhD,CAAlB;AACA,eAAOoN,IAAI,GAAGC,WAAd;AACD,OAHW,CAAZ;AAIAH,MAAAA,KAAK,GAAGA,KAAK,IAAI,GAAjB;AACA,aAAOC,KAAK,CAACnN,IAAN,CAAWkN,KAAK,GAAG,GAAR,GAAcA,KAAzB,CAAP;AACD;;AAED,QAAII,UAAU,GAAGV,YAAY,CAAC/M,GAAb,CAAiB,UAAS0N,WAAT,EAAsB;AACtD,aAAOrB,MAAM,CAAC,GAAD,EAAMqB,WAAN,CAAN,CAAyBvN,IAAzB,CAA8B,EAA9B,CAAP;AACD,KAFgB,CAAjB;AAGA,QAAIwN,YAAY,GAAGP,OAAO,CAACK,UAAD,EAAa,GAAb,CAA1B;AACA,QAAIG,MAAM,GAAGR,OAAO,CAACR,OAAD,CAApB;AACA,QAAIiB,KAAK,GAAG,CAACD,MAAD,EAASD,YAAT,CAAZ;;AAEA,SAAK,IAAI3I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyH,IAAI,CAAC3K,MAAzB,EAAiCkD,CAAC,EAAlC,EAAsC;AACpC6I,MAAAA,KAAK,CAAC3N,IAAN,CAAWkN,OAAO,CAACN,UAAU,CAAC9H,CAAD,CAAX,CAAlB;AACD;;AAMD7H,IAAAA,MAAM,CAACiP,iBAAP,CAAyB,OAAOyB,KAAK,CAAC1N,IAAN,CAAW,IAAX,CAAhC,EAAkDsL,UAAU,CAACE,IAA7D;AACD;;AAED,MAAMmC,SAAS,GAAG,QAAlB;AACA,MAAMC,UAAU,GAAG,QAAnB;AACA,MAAMC,WAAW,GAAG,QAApB;AAEA,MAAM9B,UAAU,GAAG,EAAnB;;AAEA,WAASC,WAAT,CAAqB8B,MAArB,EAA6BC,GAA7B,EAAkC;AAEhC,WAAOhC,UAAU,CAAC/L,IAAX,CAAgB,EAAhB,IAAsB8N,MAAtB,GAA+B,GAA/B,IAAsCC,GAAG,IAAI,EAA7C,CAAP;AACD;;AAED,WAASC,oBAAT,CAA8BC,KAA9B,EAAqC;AACnCjR,IAAAA,MAAM,CAACiP,iBAAP,CAAyBD,WAAW,CAAC4B,UAAD,EAAaK,KAAb,CAApC,EAAyD3C,UAAU,CAACE,IAApE;AACAO,IAAAA,UAAU,CAAChM,IAAX,CAAgB4N,SAAhB;AACD;;AAED,WAASO,6BAAT,CAAuCD,KAAvC,EAA8C;AAC5CjR,IAAAA,MAAM,CAACiP,iBAAP,CAAyBD,WAAW,CAAC6B,WAAD,EAAcI,KAAd,CAApC,EAA0D3C,UAAU,CAACE,IAArE;AACAO,IAAAA,UAAU,CAAChM,IAAX,CAAgB4N,SAAhB;AACD;;AAED,WAASQ,uBAAT,GAAmC;AACjCpC,IAAAA,UAAU,CAAC/I,GAAX;AACAhG,IAAAA,MAAM,CAACiP,iBAAP,CAAyBD,WAAW,CAAC6B,WAAD,CAApC,EAAmDvC,UAAU,CAACE,IAA9D;AACD;;AAED,WAAS4C,qBAAT,CAA+BC,UAA/B,EAA2CJ,KAA3C,EAAkD;AAChD,QAAI,CAACI,UAAL,EAAiB;AACfrR,MAAAA,MAAM,CAACiP,iBAAP,CAAyB,uBAAuBgC,KAAhD,EAAuD3C,UAAU,CAACpJ,KAAlE;AACD;AACF;;AAED,MAAIlF,MAAM,CAACiP,iBAAX,EAA8B;AAC5B,QAAMqC,eAAe,GAAGtR,MAAM,CAACsC,OAA/B;;AAEA,QAAIzB,OAAO,IAAIyQ,eAAf,EAAgC;AAC9B,UAAMC,UAAU,GAAGtQ,MAAM,CAACkI,wBAAP,CAAgCnJ,MAAhC,EAAwC,SAAxC,CAAnB;;AACA,UAAIuR,UAAJ,EAAgB;AACdtQ,QAAAA,MAAM,CAACuQ,cAAP,CAAsBxR,MAAtB,EAA8B,iBAA9B,EAAiDuR,UAAjD;AACD;AACF;;AAEDvR,IAAAA,MAAM,CAACsC,OAAP,GAAiB;AACf4C,MAAAA,KAAK,EAAEyJ,oBAAoB,CAACL,UAAU,CAACpJ,KAAZ,CADZ;AAEfsJ,MAAAA,IAAI,EAAEG,oBAAoB,CAACL,UAAU,CAACE,IAAZ,CAFX;AAGfiD,MAAAA,GAAG,EAAE9C,oBAAoB,CAACL,UAAU,CAACE,IAAZ,CAHV;AAIfjM,MAAAA,IAAI,EAAEoM,oBAAoB,CAACL,UAAU,CAAC/L,IAAZ,CAJX;AAKfgM,MAAAA,KAAK,EAAEI,oBAAoB,CAACL,UAAU,CAACC,KAAZ,CALZ;AAMfmD,MAAAA,KAAK,EAAE/C,oBAAoB,CAACL,UAAU,CAACC,KAAZ,CANZ;AAOfmC,MAAAA,KAAK,EAAErB,oBAPQ;AAQfsC,MAAAA,KAAK,EAAEX,oBARQ;AASfY,MAAAA,QAAQ,EAAET,uBATK;AAUfU,MAAAA,cAAc,EAAEX,6BAVD;AAWfY,MAAAA,MAAM,EAAEV;AAXO,KAAjB;AAcAnQ,IAAAA,MAAM,CAACuQ,cAAP,CAAsBlP,OAAtB,EAA+B,eAA/B,EAAgD;AAC9CiC,MAAAA,KAAK,EAAE,IADuC;AAE9CwN,MAAAA,UAAU,EAAE;AAFkC,KAAhD;;AAQA,QAAIlR,OAAO,IAAIyQ,eAAf,EAAgC;AAC9BrQ,MAAAA,MAAM,CAACgK,IAAP,CAAY3I,OAAZ,EAAqBqF,OAArB,CAA6B,UAAAqK,UAAU,EAAI;AACzC,YAAMC,iBAAiB,GAAG3P,OAAO,CAAC0P,UAAD,CAAjC;;AACA,YAAIV,eAAe,CAACU,UAAD,CAAnB,EAAiC;AAC/B1P,UAAAA,OAAO,CAAC0P,UAAD,CAAP,GAAsB,YAAW;AAG/B,gBAAIA,UAAU,KAAK,QAAnB,EAA6B;AAC3B,kBAAI,CAACvQ,SAAS,CAAC,CAAD,CAAd,EAAmB;AACjB6P,gBAAAA,eAAe,CAACQ,MAAhB,OAAAR,eAAe,EAAW7P,SAAX,CAAf;AACD;AACF,aAJD,MAIO;AACL6P,cAAAA,eAAe,CAACU,UAAD,CAAf,OAAAV,eAAe,EAAgB7P,SAAhB,CAAf;AACD;;AACDwQ,YAAAA,iBAAiB,CAAC7C,KAAlB,CAAwB9M,OAAxB,EAAiCb,SAAjC;AACD,WAXD;AAYD;AACF,OAhBD;AAqBA,OACE,OADF,EAEE,KAFF,EAGE,QAHF,EAIE,gBAJF,EAKE,SALF,EAME,YANF,EAOEkG,OAPF,CAOU,UAAAqK,UAAU,EAAI;AACtB,YAAI,OAAOV,eAAe,CAACU,UAAD,CAAtB,KAAuC,UAA3C,EAAuD;AACrD1P,UAAAA,OAAO,CAAC0P,UAAD,CAAP,GAAsB,YAAW;AAC/BV,YAAAA,eAAe,CAACU,UAAD,CAAf,OAAAV,eAAe,EAAgB7P,SAAhB,CAAf;AACD,WAFD;AAGD;AACF,OAbD;AAcD;AACF,GArED,MAqEO,IAAI,CAACzB,MAAM,CAACsC,OAAZ,EAAqB;AAC1B,QAAMmP,GAAG,GAAGzR,MAAM,CAACkS,KAAP,IAAgB,SAASC,kBAAT,GAA8B,CAAE,CAA5D;;AACAnS,IAAAA,MAAM,CAACsC,OAAP,GAAiB;AACf4C,MAAAA,KAAK,EAAEuM,GADQ;AAEfjD,MAAAA,IAAI,EAAEiD,GAFS;AAGfA,MAAAA,GAAG,EAAEA,GAHU;AAIflP,MAAAA,IAAI,EAAEkP,GAJS;AAKflD,MAAAA,KAAK,EAAEkD,GALQ;AAMfC,MAAAA,KAAK,EAAED,GANQ;AAOff,MAAAA,KAAK,EAAEe;AAPQ,KAAjB;AAUAxQ,IAAAA,MAAM,CAACuQ,cAAP,CAAsBlP,OAAtB,EAA+B,eAA/B,EAAgD;AAC9CiC,MAAAA,KAAK,EAAE,IADuC;AAE9CwN,MAAAA,UAAU,EAAE;AAFkC,KAAhD;AAID;;;ACjmBD,MAAIK,QAAQ,GAAG,CAAf;;AAUA,MAAIC,cAA4B,GAAG,SAASC,OAAT,CACjCvO,CADiC,EAEjCwO,OAFiC,EAGjC;AACA,UAAMxO,CAAN;AACD,GALD;;AAeA,MAAMH,UAAU,GAAG;AACjB4O,IAAAA,gBADiB,4BACAC,GADA,EACyB;AACxCJ,MAAAA,cAAc,GAAGI,GAAjB;AACD,KAHgB;AAIjBC,IAAAA,gBAJiB,8BAIgB;AAC/B,aAAOL,cAAP;AACD,KANgB;AAOjBM,IAAAA,WAPiB,uBAOLzN,KAPK,EAOe;AAC9BmN,MAAAA,cAAc,IAAIA,cAAc,CAACnN,KAAD,EAAQ,KAAR,CAAhC;AACD,KATgB;AAUjBlB,IAAAA,gBAViB,4BAUAkB,KAVA,EAUoB;AAEnCmN,MAAAA,cAAc,IAAIA,cAAc,CAACnN,KAAD,EAAQ,IAAR,CAAhC;AACD,KAbgB;AAcjB0N,IAAAA,cAdiB,0BAefH,GAfe,EAgBfI,OAhBe,EAiBfC,IAjBe,EAmBfC,cAnBe,EAqBfC,WArBe,EAsBR;AACP,UAAI;AACFZ,QAAAA,QAAQ;AAER,eAAOK,GAAG,CAACrD,KAAJ,CAAUyD,OAAV,EAAmBC,IAAnB,CAAP;AACD,OAJD,CAIE,OAAO/O,CAAP,EAAU;AACVH,QAAAA,UAAU,CAAC+O,WAAX,CAAuB5O,CAAvB;AACD,OAND,SAMU;AACRqO,QAAAA,QAAQ;AACT;;AACD,aAAO,IAAP;AACD,KAjCgB;AAkCjBa,IAAAA,sBAlCiB,kCAmCfR,GAnCe,EAoCfI,OApCe,EAqCfC,IArCe,EAsCR;AACP,UAAIlP,UAAU,CAACD,OAAX,EAAJ,EAA0B;AAExB,eAAO8O,GAAG,CAACrD,KAAJ,CAAUyD,OAAV,EAAmBC,IAAnB,CAAP;AACD,OAHD,MAGO;AACLlP,QAAAA,UAAU,CAACgP,cAAX,CAA0BH,GAA1B,EAA+BI,OAA/B,EAAwCC,IAAxC;AACD;;AACD,aAAO,IAAP;AACD,KA9CgB;AA+CjBnP,IAAAA,OA/CiB,qBA+CE;AACjB,aAAO,CAAC,CAACyO,QAAT;AACD,KAjDgB;AAkDjBc,IAAAA,KAlDiB,iBAmDfT,GAnDe,EAoDfnH,IApDe,EAqDfuH,OArDe,EAsDO;AAAA;;AAGtB,UAAI,OAAOJ,GAAP,KAAe,UAAnB,EAA+B;AAC7BnQ,QAAAA,OAAO,CAACC,IAAR,CAAa,qDAAb,EAAoEkQ,GAApE;AACA,eAAO,IAAP;AACD;;AACD,UAAMU,SAAS,WAAG7H,IAAH,WAAGA,IAAH,GAAWmH,GAAG,CAACnH,IAAf,mBAAuB,mBAAtC;;AACA,eAAS8H,OAAT,GAAwC;AAAA,0CAApBN,IAAoB;AAApBA,UAAAA,IAAoB;AAAA;;AACtC,eAAOlP,UAAU,CAACgP,cAAX,CACLH,GADK,EAELI,OAFK,WAELA,OAFK,GAEM,IAFN,EAGLC,IAHK,EAIL,IAJK,EAKLK,SALK,CAAP;AAOD;;AAED,aAAOC,OAAP;AACD;AAzEgB,GAAnB;AA4EApT,EAAAA,MAAM,CAAC4D,UAAP,GAAoBA,UAApB;;;ACrGA,GAAC,YAAW;AACV;;AAEA,QAAMhD,cAAc,GAAGK,MAAM,CAACwK,SAAP,CAAiB7K,cAAxC;;AAMA,QAAI,OAAOK,MAAM,CAACoS,OAAd,KAA0B,UAA9B,EAA0C;AACxCpS,MAAAA,MAAM,CAACoS,OAAP,GAAiB,UAASC,MAAT,EAAiB;AAEhC,YAAIA,MAAM,IAAI,IAAd,EAAoB;AAClB,gBAAM,IAAIC,SAAJ,CAAc,qCAAd,CAAN;AACD;;AAED,YAAMF,OAAO,GAAG,EAAhB;;AACA,aAAK,IAAM7P,GAAX,IAAkB8P,MAAlB,EAA0B;AACxB,cAAI1S,cAAc,CAAC6C,IAAf,CAAoB6P,MAApB,EAA4B9P,GAA5B,CAAJ,EAAsC;AACpC6P,YAAAA,OAAO,CAACtQ,IAAR,CAAa,CAACS,GAAD,EAAM8P,MAAM,CAAC9P,GAAD,CAAZ,CAAb;AACD;AACF;;AACD,eAAO6P,OAAP;AACD,OAbD;AAcD;;AAMD,QAAI,OAAOpS,MAAM,CAACuS,MAAd,KAAyB,UAA7B,EAAyC;AACvCvS,MAAAA,MAAM,CAACuS,MAAP,GAAgB,UAASF,MAAT,EAAiB;AAE/B,YAAIA,MAAM,IAAI,IAAd,EAAoB;AAClB,gBAAM,IAAIC,SAAJ,CAAc,oCAAd,CAAN;AACD;;AAED,YAAMC,MAAM,GAAG,EAAf;;AACA,aAAK,IAAMhQ,GAAX,IAAkB8P,MAAlB,EAA0B;AACxB,cAAI1S,cAAc,CAAC6C,IAAf,CAAoB6P,MAApB,EAA4B9P,GAA5B,CAAJ,EAAsC;AACpCgQ,YAAAA,MAAM,CAACzQ,IAAP,CAAYuQ,MAAM,CAAC9P,GAAD,CAAlB;AACD;AACF;;AACD,eAAOgQ,MAAP;AACD,OAbD;AAcD;AACF,GA9CD;;;ACXA;;AAEA;;;;;;;;ACFO,WAASC,GAAT,GAAe;AAClB,UAAM,IAAIpR,KAAJ,CAAU,aAAV,CAAN;AACH"}
License: Expat
 FIXME

Files:
 debian/*
Copyright:
  2020-2021, Purism, SPC
  2020-2023, Jonas Smedegaard <dr@jones.dk>
  K / /mg;'
  protected nor stating copyright or licensing
License: GPL-3+
 FIXME

