closevector-hnswlib-wasm
Version:
typescript and wasm bindings for Hnswlib
7,808 lines • 936 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["hnswlib-wasm"] = {}));
})(this, (function (exports) { 'use strict';
const defaultParams = {
/**
* Default parameters for the HNSW index.
* @param {number} m The maximum number of outgoing connections on the graph (default: 16).
* @param {number} efConstruction The parameter that controls speed/accuracy trade-off during the index construction (default: 200).
* @param {number} randomSeed The seed value of random number generator (default: 100).
*/
initIndex: [32, 128, 100]
};
const hnswParamsForAda = {
m: 32,
efSearch: 128,
efConstruction: 128,
numNeighbors: 8,
dimensions: 1538
};
const IDBFS_STORE_NAME = "FILE_DATA";
let library;
const syncFileSystem = (action) => {
const EmscriptenFileSystemManager = library.EmscriptenFileSystemManager;
const syncAction = action === "read" ? true : action === "write" ? false : void 0;
if (syncAction === void 0)
throw new Error("Invalid action type");
return new Promise((resolve2, reject) => {
try {
EmscriptenFileSystemManager.syncFS(syncAction, () => {
resolve2();
});
} catch (error) {
reject(error);
}
});
};
const waitForFileSystemInitalized = () => {
const EmscriptenFileSystemManager = library.EmscriptenFileSystemManager;
return new Promise((resolve2, reject) => {
let totalWaitTime = 0;
const checkInterval = 100;
const maxWaitTime = 4e3;
const checkInitialization = () => {
if (EmscriptenFileSystemManager.isInitialized()) {
resolve2();
} else if (totalWaitTime >= maxWaitTime) {
reject(new Error("Failed to initialize filesystem"));
} else {
totalWaitTime += checkInterval;
setTimeout(checkInitialization, checkInterval);
}
};
setTimeout(checkInitialization, checkInterval);
});
};
const waitForFileSystemSynced = () => {
const EmscriptenFileSystemManager = library.EmscriptenFileSystemManager;
return new Promise((resolve2, reject) => {
let totalWaitTime = 0;
const checkInterval = 100;
const maxWaitTime = 4e3;
const checkInitialization = () => {
if (EmscriptenFileSystemManager.isSynced()) {
resolve2();
} else if (totalWaitTime >= maxWaitTime) {
reject(new Error("Failed to initialize filesystem"));
} else {
totalWaitTime += checkInterval;
setTimeout(checkInitialization, checkInterval);
}
};
setTimeout(checkInitialization, checkInterval);
});
};
const initializeFileSystemAsync = async (inputFsType) => {
const fsType = inputFsType == null ? "IDBFS" : inputFsType;
const EmscriptenFileSystemManager = library.EmscriptenFileSystemManager;
if (EmscriptenFileSystemManager.isInitialized()) {
return;
}
EmscriptenFileSystemManager.initializeFileSystem(fsType);
return await waitForFileSystemInitalized();
};
let promiseCalling = void 0;
const loadHnswlib = async (inputFsType) => {
if (promiseCalling) {
return promiseCalling;
}
promiseCalling = new Promise((resolve2, reject) => {
(async () => {
try {
if (typeof hnswlib !== "undefined" && hnswlib !== null) {
const lib = hnswlib();
if (lib != null)
return lib;
}
if (!library) {
const temp = await Promise.resolve().then(() => hnswlib$2);
const factoryFunc = temp.default;
library = await factoryFunc();
await initializeFileSystemAsync(inputFsType);
return resolve2(library);
}
return resolve2(library);
} catch (err) {
console.error("----------------------------------------");
console.error("Error initializing the library:", err);
reject(err);
}
})();
promiseCalling = void 0;
});
return promiseCalling;
};
var hnswlib$1 = (() => {
var _scriptDir = (typeof document === 'undefined' && typeof location === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : typeof document === 'undefined' ? location.href : (document.currentScript && document.currentScript.src || new URL('hnswlib.umd.js', document.baseURI).href));
return (
function(moduleArg = {}) {
// include: shell.js
// The Module object: Our interface to the outside world. We import
// and export values on it. There are various ways Module can be used:
// 1. Not defined. We create it here
// 2. A function parameter, function(Module) { ..generated code.. }
// 3. pre-run appended it, var Module = {}; ..generated code..
// 4. External script tag defines var Module.
// We need to check if Module already exists (e.g. case 3 above).
// Substitution will be replaced with actual code on later stage of the build,
// this way Closure Compiler will not mangle it (e.g. case 4. above).
// Note that if you want to run closure, and also to use Module
// after the generated code, you will need to define var Module = {};
// before the code. Then that object will be used in the code, and you
// can continue to use Module afterwards as well.
var Module = moduleArg;
// Set up the promise that indicates the Module is initialized
var readyPromiseResolve, readyPromiseReject;
Module['ready'] = new Promise((resolve, reject) => {
readyPromiseResolve = resolve;
readyPromiseReject = reject;
});
["_main","getExceptionMessage","___get_exception_message","_free","___cpp_exception","___cxa_increment_exception_refcount","___cxa_decrement_exception_refcount","___thrown_object_from_unwind_exception","_memory","_syncIdb_js","___indirect_function_table","__embind_initialize_bindings","_fflush","___start_em_js","___stop_em_js","___start_em_asm","___stop_em_asm","onRuntimeInitialized"].forEach((prop) => {
if (!Object.getOwnPropertyDescriptor(Module['ready'], prop)) {
Object.defineProperty(Module['ready'], prop, {
get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'),
set: () => abort('You are setting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'),
});
}
});
// --pre-jses are emitted after the Module integration code, so that they can
// refer to Module (if they choose; they can also define Module)
// Sometimes an existing Module object exists with properties
// meant to overwrite the default module functionality. Here
// we collect those properties and reapply _after_ we configure
// the current environment's defaults to avoid having to be so
// defensive during initialization.
var moduleOverrides = Object.assign({}, Module);
var thisProgram = './this.program';
var ENVIRONMENT_IS_WORKER = false;
var ENVIRONMENT_IS_NODE = false;
var ENVIRONMENT_IS_SHELL = false;
if (Module['ENVIRONMENT']) {
throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)');
}
// `/` should be present at the end if `scriptDirectory` is not empty
var scriptDirectory = '';
function locateFile(path) {
if (Module['locateFile']) {
return Module['locateFile'](path, scriptDirectory);
}
return scriptDirectory + path;
}
// Hooks that are implemented differently in different runtime environments.
var read_,
readAsync;
{
if (typeof document != 'undefined' && document.currentScript) { // web
scriptDirectory = document.currentScript.src;
}
// When MODULARIZE, this JS may be executed later, after document.currentScript
// is gone, so we saved it, and we use it here instead of any other info.
if (_scriptDir) {
scriptDirectory = _scriptDir;
}
// blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
// otherwise, slice off the final part of the url to find the script directory.
// if scriptDirectory does not contain a slash, lastIndexOf will return -1,
// and scriptDirectory will correctly be replaced with an empty string.
// If scriptDirectory contains a query (starting with ?) or a fragment (starting with #),
// they are removed because they could contain a slash.
if (scriptDirectory.indexOf('blob:') !== 0) {
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1);
} else {
scriptDirectory = '';
}
if (!(typeof window == 'object' || typeof importScripts == 'function')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)');
// Differentiate the Web Worker from the Node Worker case, as reading must
// be done differently.
{
// include: web_or_worker_shell_read.js
read_ = (url) => {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.send(null);
return xhr.responseText;
};
readAsync = (url, onload, onerror) => {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = () => {
if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
onload(xhr.response);
return;
}
onerror();
};
xhr.onerror = onerror;
xhr.send(null);
};
// end include: web_or_worker_shell_read.js
}
}
var out = Module['print'] || console.log.bind(console);
var err = Module['printErr'] || console.error.bind(console);
// Merge back in the overrides
Object.assign(Module, moduleOverrides);
// Free the object hierarchy contained in the overrides, this lets the GC
// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
moduleOverrides = null;
checkIncomingModuleAPI();
// Emit code to handle expected values on the Module object. This applies Module.x
// to the proper local x. This has two benefits: first, we only emit it if it is
// expected to arrive, and second, by using a local everywhere else that can be
// minified.
if (Module['arguments']) Module['arguments'];legacyModuleProp('arguments', 'arguments_');
if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram');
if (Module['quit']) Module['quit'];legacyModuleProp('quit', 'quit_');
// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
// Assertions on removed incoming Module JS APIs.
assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead');
assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead');
assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead');
assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead');
assert(typeof Module['read'] == 'undefined', 'Module.read option was removed (modify read_ in JS)');
assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)');
assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)');
assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)');
assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY');
legacyModuleProp('asm', 'wasmExports');
legacyModuleProp('read', 'read_');
legacyModuleProp('readAsync', 'readAsync');
legacyModuleProp('readBinary', 'readBinary');
legacyModuleProp('setWindowTitle', 'setWindowTitle');
assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable.");
assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable.");
assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");
// end include: shell.js
// include: preamble.js
// === Preamble library stuff ===
// Documentation for the public APIs defined in this file must be updated in:
// site/source/docs/api_reference/preamble.js.rst
// A prebuilt local version of the documentation is available at:
// site/build/text/docs/api_reference/preamble.js.txt
// You can also build docs locally as HTML or other formats in site/
// An online HTML version (which may be of a different version of Emscripten)
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
var wasmBinary;
if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary');
Module['noExitRuntime'] || true;legacyModuleProp('noExitRuntime', 'noExitRuntime');
if (typeof WebAssembly != 'object') {
abort('no native wasm support detected');
}
// Wasm globals
var wasmMemory;
var wasmExports;
//========================================
// Runtime essentials
//========================================
// whether we are quitting the application. no code should run after this.
// set in exit() and abort()
var ABORT = false;
/** @type {function(*, string=)} */
function assert(condition, text) {
if (!condition) {
abort('Assertion failed' + (text ? ': ' + text : ''));
}
}
// We used to include malloc/free by default in the past. Show a helpful error in
// builds with assertions.
// Memory management
var /** @type {!Int8Array} */
HEAP8,
/** @type {!Uint8Array} */
HEAPU8,
/** @type {!Int16Array} */
HEAP16,
/** @type {!Uint16Array} */
HEAPU16,
/** @type {!Int32Array} */
HEAP32,
/** @type {!Uint32Array} */
HEAPU32,
/** @type {!Float32Array} */
HEAPF32,
/** @type {!Float64Array} */
HEAPF64;
function updateMemoryViews() {
var b = wasmMemory.buffer;
Module['HEAP8'] = HEAP8 = new Int8Array(b);
Module['HEAP16'] = HEAP16 = new Int16Array(b);
Module['HEAP32'] = HEAP32 = new Int32Array(b);
Module['HEAPU8'] = HEAPU8 = new Uint8Array(b);
Module['HEAPU16'] = HEAPU16 = new Uint16Array(b);
Module['HEAPU32'] = HEAPU32 = new Uint32Array(b);
Module['HEAPF32'] = HEAPF32 = new Float32Array(b);
Module['HEAPF64'] = HEAPF64 = new Float64Array(b);
}
assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time');
assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined,
'JS engine does not provide full typed array support');
// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY
assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally');
assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically');
// include: runtime_init_table.js
// In regular non-RELOCATABLE mode the table is exported
// from the wasm module and this will be assigned once
// the exports are available.
var wasmTable;
// end include: runtime_init_table.js
// include: runtime_stack_check.js
// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode.
function writeStackCookie() {
var max = _emscripten_stack_get_end();
assert((max & 3) == 0);
// If the stack ends at address zero we write our cookies 4 bytes into the
// stack. This prevents interference with SAFE_HEAP and ASAN which also
// monitor writes to address zero.
if (max == 0) {
max += 4;
}
// The stack grow downwards towards _emscripten_stack_get_end.
// We write cookies to the final two words in the stack and detect if they are
// ever overwritten.
HEAPU32[((max)>>2)] = 0x02135467;
HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE;
// Also test the global address 0 for integrity.
HEAPU32[((0)>>2)] = 1668509029;
}
function checkStackCookie() {
if (ABORT) return;
var max = _emscripten_stack_get_end();
// See writeStackCookie().
if (max == 0) {
max += 4;
}
var cookie1 = HEAPU32[((max)>>2)];
var cookie2 = HEAPU32[(((max)+(4))>>2)];
if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) {
abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`);
}
// Also test the global address 0 for integrity.
if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) {
abort('Runtime error: The application has corrupted its heap memory area (address zero)!');
}
}
// end include: runtime_stack_check.js
// include: runtime_assertions.js
// Endianness check
(function() {
var h16 = new Int16Array(1);
var h8 = new Int8Array(h16.buffer);
h16[0] = 0x6373;
if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)';
})();
// end include: runtime_assertions.js
var __ATPRERUN__ = []; // functions called before the runtime is initialized
var __ATINIT__ = []; // functions called during startup
var __ATPOSTRUN__ = []; // functions called after the main() is called
var runtimeInitialized = false;
function preRun() {
if (Module['preRun']) {
if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
while (Module['preRun'].length) {
addOnPreRun(Module['preRun'].shift());
}
}
callRuntimeCallbacks(__ATPRERUN__);
}
function initRuntime() {
assert(!runtimeInitialized);
runtimeInitialized = true;
checkStackCookie();
if (!Module["noFSInit"] && !FS.init.initialized)
FS.init();
FS.ignorePermissions = false;
callRuntimeCallbacks(__ATINIT__);
}
function postRun() {
checkStackCookie();
if (Module['postRun']) {
if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
while (Module['postRun'].length) {
addOnPostRun(Module['postRun'].shift());
}
}
callRuntimeCallbacks(__ATPOSTRUN__);
}
function addOnPreRun(cb) {
__ATPRERUN__.unshift(cb);
}
function addOnInit(cb) {
__ATINIT__.unshift(cb);
}
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
// include: runtime_math.js
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
// end include: runtime_math.js
// A counter of dependencies for calling run(). If we need to
// do asynchronous work before running, increment this and
// decrement it. Incrementing must happen in a place like
// Module.preRun (used by emcc to add file preloading).
// Note that you can add dependencies in preRun, even though
// it happens right before run - run will be postponed until
// the dependencies are met.
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
var runDependencyTracking = {};
function getUniqueRunDependency(id) {
var orig = id;
while (1) {
if (!runDependencyTracking[id]) return id;
id = orig + Math.random();
}
}
function addRunDependency(id) {
runDependencies++;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (id) {
assert(!runDependencyTracking[id]);
runDependencyTracking[id] = 1;
if (runDependencyWatcher === null && typeof setInterval != 'undefined') {
// Check for missing dependencies every few seconds
runDependencyWatcher = setInterval(() => {
if (ABORT) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
return;
}
var shown = false;
for (var dep in runDependencyTracking) {
if (!shown) {
shown = true;
err('still waiting on run dependencies:');
}
err('dependency: ' + dep);
}
if (shown) {
err('(end of list)');
}
}, 10000);
}
} else {
err('warning: run dependency added without ID');
}
}
function removeRunDependency(id) {
runDependencies--;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (id) {
assert(runDependencyTracking[id]);
delete runDependencyTracking[id];
} else {
err('warning: run dependency removed without ID');
}
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback(); // can add another dependenciesFulfilled
}
}
}
/** @param {string|number=} what */
function abort(what) {
if (Module['onAbort']) {
Module['onAbort'](what);
}
what = 'Aborted(' + what + ')';
// TODO(sbc): Should we remove printing and leave it up to whoever
// catches the exception?
err(what);
ABORT = true;
// Use a wasm runtime error, because a JS error might be seen as a foreign
// exception, which means we'd run destructors on it. We need the error to
// simply make the program stop.
// FIXME This approach does not work in Wasm EH because it currently does not assume
// all RuntimeErrors are from traps; it decides whether a RuntimeError is from
// a trap or not based on a hidden field within the object. So at the moment
// we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that
// allows this in the wasm spec.
// Suppress closure compiler warning here. Closure compiler's builtin extern
// defintion for WebAssembly.RuntimeError claims it takes no arguments even
// though it can.
// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed.
// See above, in the meantime, we resort to wasm code for trapping.
//
// In case abort() is called before the module is initialized, wasmExports
// and its exported '__trap' function is not available, in which case we throw
// a RuntimeError.
//
// We trap instead of throwing RuntimeError to prevent infinite-looping in
// Wasm EH code (because RuntimeError is considered as a foreign exception and
// caught by 'catch_all'), but in case throwing RuntimeError is fine because
// the module has not even been instantiated, even less running.
if (runtimeInitialized) {
___trap();
}
/** @suppress {checkTypes} */
var e = new WebAssembly.RuntimeError(what);
readyPromiseReject(e);
// Throw the error whether or not MODULARIZE is set because abort is used
// in code paths apart from instantiation where an exception is expected
// to be thrown when abort is called.
throw e;
}
// include: memoryprofiler.js
// end include: memoryprofiler.js
// include: URIUtils.js
// Prefix of data URIs emitted by SINGLE_FILE and related options.
var dataURIPrefix = 'data:application/octet-stream;base64,';
// Indicates whether filename is a base64 data URI.
function isDataURI(filename) {
// Prefix of data URIs emitted by SINGLE_FILE and related options.
return filename.startsWith(dataURIPrefix);
}
// Indicates whether filename is delivered via file protocol (as opposed to http/https)
function isFileURI(filename) {
return filename.startsWith('file://');
}
// end include: URIUtils.js
function createExportWrapper(name) {
return function() {
assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`);
var f = wasmExports[name];
assert(f, `exported native function \`${name}\` not found`);
return f.apply(null, arguments);
};
}
// include: runtime_exceptions.js
// end include: runtime_exceptions.js
var wasmBinaryFile;
wasmBinaryFile = 'data:application/octet-stream;base64,AGFzbQEAAAAB/QM+YAJ/fwBgAX8Bf2ABfwBgAn9/AX9gA39/fwF/YAN/f38AYAR/f39/AX9gBH9/f38AYAZ/f39/f38Bf2AFf39/f38Bf2AFf39/f38AYAN/f38BfWAAAGAGf39/f39/AGAIf39/f39/f38Bf2AAAX9gB39/f39/f38Bf2AHf39/f39/fwBgBX9+fn5+AGADf35/AX5gBX9/fn9/AGAFf39/f34Bf2AEf39/fwF+YAh/f39/f39/fwBgBH9+fn8AYAp/f39/f39/f39/AX9gBn9/f39+fgF/YAd/f39/f35+AX9gA39/fwF8YAZ/fH9/f38Bf2ADf35/AX9gAn9+AGAMf39/f39/f39/f39/AX9gBX9/f398AX9gBH9/f3wBf2AFf39/fn4Bf2ALf39/f39/f39/f38Bf2AKf39/f39/f39/fwBgD39/f39/f39/f39/f39/fwBgDX9/f39/f39/f39/f38AYAl/f39/f39/f38AYAV/f39/fwF8YAABfGAEf39/fwF9YAF8AXxgAnx/AXxgAn5/AX9gAn5+AXxgAAF+YAF/AX5gA39+fwBgAn98AGAEfn5+fgF/YAN+fn4Bf2ABfwF8YAJ/fwF+YAJ+fgF9YAN/f34AYAR/f39+AX5gBX5/f39/AX9gCX9/f39/f39/fwF/YAR/f35+AAKtCzMDZW52DV9lbXZhbF9kZWNyZWYAAgNlbnYYX2VtdmFsX2dldF9tZXRob2RfY2FsbGVyAAMDZW52DV9lbXZhbF9pbmNyZWYAAgNlbnYXX2VtdmFsX2NhbGxfdm9pZF9tZXRob2QABwNlbnYZX2VtYmluZF9yZWdpc3Rlcl9mdW5jdGlvbgARA2VudhZfZW1iaW5kX3JlZ2lzdGVyX2NsYXNzACcDZW52Il9lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfY29uc3RydWN0b3IADQNlbnYfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbgAoA2VudiVfZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NsYXNzX2Z1bmN0aW9uABcDZW52EV9lbXZhbF90YWtlX3ZhbHVlAAMDZW52EF9lbXZhbF9uZXdfYXJyYXkADwNlbnYRX2VtdmFsX25ld19vYmplY3QADwNlbnYSX2VtdmFsX25ld19jc3RyaW5nAAEDZW52E19lbXZhbF9zZXRfcHJvcGVydHkABQNlbnYYZW1zY3JpcHRlbl9hc21fY29uc3RfaW50AAQDZW52CnN5bmNJZGJfanMAAgNlbnYTX2VtdmFsX2dldF9wcm9wZXJ0eQADA2VudglfZW12YWxfYXMAHANlbnYWX2VtdmFsX3J1bl9kZXN0cnVjdG9ycwACA2VudhFfZW12YWxfZ2V0X2dsb2JhbAABA2VudgpfZW12YWxfbmV3AAYDZW52IV9lbXZhbF9uZXdfYXJyYXlfZnJvbV9tZW1vcnlfdmlldwABA2VudhJfZW12YWxfY2FsbF9tZXRob2QAKQNlbnYNX19hc3NlcnRfZmFpbAAHA2VudhVfZW1iaW5kX3JlZ2lzdGVyX3ZvaWQAAANlbnYVX2VtYmluZF9yZWdpc3Rlcl9ib29sAAoDZW52GF9lbWJpbmRfcmVnaXN0ZXJfaW50ZWdlcgAKA2VudhZfZW1iaW5kX3JlZ2lzdGVyX2Zsb2F0AAUDZW52G19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwAAA2VudhxfZW1iaW5kX3JlZ2lzdGVyX3N0ZF93c3RyaW5nAAUDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZW12YWwAAANlbnYcX2VtYmluZF9yZWdpc3Rlcl9tZW1vcnlfdmlldwAFA2VudhVlbXNjcmlwdGVuX21lbWNweV9iaWcABQNlbnYSZW1zY3JpcHRlbl9nZXRfbm93ACoWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQAGA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAEDZW52IF9lbXNjcmlwdGVuX2dldF9ub3dfaXNfbW9ub3RvbmljAA8DZW52EF9fc3lzY2FsbF9vcGVuYXQABgNlbnYRX19zeXNjYWxsX2ZjbnRsNjQABANlbnYPX19zeXNjYWxsX2lvY3RsAAQWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9yZWFkAAYWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF9jbG9zZQABFndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQAAxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxC2Vudmlyb25fZ2V0AAMDZW52CnN0cmZ0aW1lX2wACQNlbnYQX19zeXNjYWxsX3N0YXQ2NAADA2VudhFfX3N5c2NhbGxfbWtkaXJhdAAEA2VudgVhYm9ydAAMA2VudiJfX3Rocm93X2V4Y2VwdGlvbl93aXRoX3N0YWNrX3RyYWNlAAIDZW52F19lbWJpbmRfcmVnaXN0ZXJfYmlnaW50ABEWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrAAkD+Af2BwwCAgIDDAICAAwMAwECAwELKwEDAQELAQIDAQQBAgQDAAUAAwAFAAUHAAoJAQEBAgYECg0FBwAABQQHCgcKBwYAAwABAAAFAAEBAAoAAQIBDwACDwUAAg8DAQMABwUDAAcFBAUCAwUKAAMFBQUIAgACBQAAAwEDAQABDAIDCwEBAQILAQMHCgAKAAECAAYCAwICAQcFAAUKAAEBAgAKBQkNBwUBBwAAAgEAAQEMDAQEBCwEBAABAwEBBAYCAgQTAQ8tCRAFAQcuCgQdAAMDAQECAwAYGC8wAQQMAwMDEwQBHh4BAQEEMQIBAgAEFAcEBQQBAQMEAwEBAgIAAgEAAwEBBQAyAQECAgACAAUFAQMBAQABAAUABAEBAQEEAgIBDAMDBBQHAQACAQICAQIEBQoHBQAFAwMBAQEFAQIAAQIAAh8BABISMzQ1NhIAEhgSEhIHNzgGOQQEAwMEAQMGBAMGAgAGOgcJBwUECQcFBAgBEAMAAggBBRkGBwgWCAYIBggWCAogCwgcCAcIDwQEAwgBEAgDBRkICAgICAogCAgIBAkBAQkHCQQRCBUJFSEiBAYRGiMJBAkBCREIFQkVISIRGiMJBAAADgEICAgNCA0ICgkODggICA0IDQgKCQ4QDRACAQAAAAEAAxAkAAUFEAUAAQEDABAkABAFAQABAxslJgQIGyUmBAgEDQ0BDAIAAgIBBQICAQIAAwIAAAICAgQGBgYDBAMEBgQJAQIDBAMEBgQJDgkJAg4EDgkJAQEJAQ4OCQEODgkBAgECAQEAAAAAAAAAAAECAQIAAQIBAgECAQIBAgECAQIBAgECAQIBAgECAgEFAwAFBQAFAQEFBQACAwwMAQIWFgIMAQMBAgIABQwCAwUABQcGAQAABQAFBQEAAAMCAQACAQUABQcCAQICAgUCAAMHAwMAAwMDBRcBCgUFBQQGAwABAxcBCgAFHwADAwMDAwUEBAABBQEFBQQEAAECBQACAQwMAgAMDAwCDAIEBAQDBQcHBwcEAwcKDQoKCg0NDQEBAQECAgEBAwEBOwACDA8PDw8CAQYCAwMDAQMFBAEAAgIBAQMDAQEABRACAwADAQEDAQMEBAQBAwABAwMDAAEFAQMECAADAAADAwAAAAEBAgYDBAEDAwMJAwMDAwMAAAEABAYBAQMDBQMDAwAGAQEEAQMAAAcAAAAAAAAAAAAAAAAGAAMBAgAAAAAAAAMAAAAAAAAAAAAAAAAAAwAAAgMAAAAEAAAAAAAAAAADAAAAAAAEAAAAAAAGAAAAAwMDAwAAAAAAAwAAAAQAAAAAAAADAwMAAAAAAAQAAAAAAAADAAEAAAUABAABBQkREDwZPQQFAXAA2gUFBwEBgAKAgAINAwEAAgYXBH8BQYCSBwt/AUEAC38BQQALfwFBAAsH7QQdBm1lbW9yeQIAEV9fd2FzbV9jYWxsX2N0b3JzADMPX19jcHBfZXhjZXB0aW9uBAAGbWFsbG9jAIICBGZyZWUAgwIZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEADV9fZ2V0VHlwZU5hbWUA3gEbX2VtYmluZF9pbml0aWFsaXplX2JpbmRpbmdzAN8BEF9fZXJybm9fbG9jYXRpb24A8wEGZmZsdXNoAJUCBl9fdHJhcADEBRVlbXNjcmlwdGVuX3N0YWNrX2luaXQAxwYZZW1zY3JpcHRlbl9zdGFja19nZXRfZnJlZQDIBhllbXNjcmlwdGVuX3N0YWNrX2dldF9iYXNlAMkGGGVtc2NyaXB0ZW5fc3RhY2tfZ2V0X2VuZADKBglzdGFja1NhdmUAywYMc3RhY2tSZXN0b3JlAMwGCnN0YWNrQWxsb2MAzQYcZW1zY3JpcHRlbl9zdGFja19nZXRfY3VycmVudADLBiJfX2N4YV9kZWNyZW1lbnRfZXhjZXB0aW9uX3JlZmNvdW50AJkGIl9fY3hhX2luY3JlbWVudF9leGNlcHRpb25fcmVmY291bnQAnQYOX19jeGFfZGVtYW5nbGUAzgYlX190aHJvd25fb2JqZWN0X2Zyb21fdW53aW5kX2V4Y2VwdGlvbgChCBdfX2dldF9leGNlcHRpb25fbWVzc2FnZQCiCAxkeW5DYWxsX2ppamkAowgOZHluQ2FsbF92aWlqaWkApAgOZHluQ2FsbF9paWlpaWoApQgPZHluQ2FsbF9paWlpaWpqAKYIEGR5bkNhbGxfaWlpaWlpamoApwgJ2woBAEEBC9kFvwY+Oz9AQUJDREVGR0BBSElERUZKS0xNTk9QUVJTVFVWV1hZWltcXV5fRmBFYWJjZGVmVVZnaGlYalRrbG1ub3BxcnN0dXZGd3h5entGRXx9fl5/OoABgQGCAYMBhAGFAYIBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBvAa1AbYBsAE0NDU2OT2xAbIBswG2AbQBsQGyAbMBtAG3AbgBuQG7AbwBvQG+AcYBygHLAcwBzgHgAeoB8AHxAf0B/gGQApECkgKWArYBmwKcAp0CngKfAqAC6gHqAaECpAKlAqYCpwKmAqkCqwKqAqwCtwK5ArgCugLMAs8C2QLVAtYC1wLYAtEC0wLUAqgB2gLbAtwCqgHdAt4C3wI07QK2AbQB6wKJBooGiwbsAu4CsgHwAvECigORA4MCNM8E0QSJBYsFjgWQBZIFlAWWBZgFmgWcBZ4FoAWiBaQFyATJBNAE3QTeBN8E4AThBOIEjQLjBOQE5QS+BOkE6gTsBO4E7wTqAfEE8gT6BPsE/gT/BIAFggWFBfwE/QSxAcUCgQWDBYYFtgG0AbQB0gTTBNQE1QTWBNcE2ATZBI0C2gTbBNwEtAHmBOYE5wToAegB6AToAbQB8wT0BOcE6gHqAfUE9gS0AfME9ATnBOoB6gH1BPYEtAH3BPgE5wTqAeoB+QT2BLQB9wT4BOcE6gHqAfkE9gS2AbQBmQOaA5wDtgG0AZ0DngOgA7QBoQOnA60DrwOxA7EDswO1A7kDuwO9A7QBwgPFA8kDygPLA8sDzAPNA9AD0QPSA7QB1APXA90D3gPfA+AD5QPnA7QB6QPrA+4D7wPwA/ED9AP2A7YBtAH7A/wD/QP+A4AEggSFBIgFjQWRBZ0FoQWVBZkFtgG0AfsDhwSIBIkEiwSNBJAEigWPBZMFnwWjBZcFmwWmBaUFkQSmBaUFkwS0AZUElQSWBJYElgSXBOoBmASYBLQBlQSVBJYElgSWBJcE6gGYBJgEtAGZBJkElgSWBJYEmgTqAZgEmAS0AZkEmQSWBJYElgSaBOoBmASYBLQBnAShBLQBqASrBLQBsQS1BLQBtgS6BLQBuwS8BJ0CtAG7BL0EnQK2AbsFowa7BekBvwXBBdsF4QXiBeMF5AXtArQBjQaOBrQBjwaQBo4G7gKYBjSfBqAGtgG0ATQ0pQa0AacGuAa1BqoGtAG3BrQGqwa0AbYGsQatBrQBrga0AboGtAG7BrQBuQa+BrIB7gK+Br4GvgbuArQBwAbpAekB6QGoAv4GnQKAB7YBtAG7BYEHtAGEB4UHtAGGB7QBkgeUB5UHlgeXB5gHtAGsB7QBsAe0AbEHtAGyB7QBswe0AbQHtAG2B7QBtwe0AbgHtAG5B7QBuge0AbwHtAHAB7QBwQe0AcIHtAHDB7QBxAe0AcUHtAHHB7QByAe0AckHyge0AcsHzAe0Ac0Hyge0Ac4Hzwe0AdAHtAHSB7QB0we0AdUHtAHWB7QB2Qe0AdoHtAHbB7QB3Qe0Ad4HtAHfB7QB4Ae0AeEHtAHiB7QB4wfkB7QB5ge0AecHtAHoB7QB6QfqB7QB7AftB7QB7wfuB7QB8Ae0AfIHtAHzB7QB9AfkB7QB4wfkB7QB4we0AfUH9gf3B/gH+Qf6B7QB+we0AfwH6ge0AeEHtAH9B7QB/gf+B/8HgAi0AYEItAGDCLQBhAi0Af4H/geFCIYItAGHCLQBiAi0AYkIigiLCIwIjQi0AY4ItAGPCLQBkAi0AZIItAH+B/4HkwiUCLQBiQiVCJYItAGXCLQBmAiZCJsItAGYCJwIngi0AaAItAEK6swR9gfPAgECf0GAkgckA0GAkgMkAiMAQRBrIgAkAAJAIABBDGogAEEIahAqDQBBgP0CIAAoAgxBAnRBBGoQggIiATYCACABRQ0AIAAoAggQggIiAQRAQYD9AigCACAAKAIMQQJ0akEANgIAQYD9AigCACABECtFDQELQYD9AkEANgIACyAAQRBqJABB9O4CQQA6AABB8O4CQQA2AgBB+O4CQQE2AgBBgO8CQRAQvQUiADYCAEGE7wJCjoCAgICCgICAfzcCACAAQcILKQAANwAGIABBvAspAAA3AAAgAEEAOgAOQYzvAkH0ADYCAEGQ7wJBADYCABA9QZDvAkGs7wIoAgA2AgBBrO8CQYzvAjYCAEGw7wJBigE2AgBBtO8CQQA2AgAQ4AFBtO8CQazvAigCADYCAEGs7wJBsO8CNgIAQeT4AkHs9wI2AgBBnPgCQSo2AgALAwABCxQAQfTuAi0AAARAQfDuAigCABoLCxsAIwAhAAZAQfjuAigCABAAGSAAJAAQoQYACwtvAQN/IAEQ8gEiAkHw////B0kEQAJAIAJBCk0EQCAAIAI6AAsgACEDDAELIAJBD3JBAWoiBBC9BSEDIAAgBEGAgICAeHI2AgggACADNgIAIAAgAjYCBAsgAyABIAIQ4gEgAmpBADoAACAADwsQOAALCQBBgyMQrgEACxkAQYvvAiwAAEEASARAQYDvAigCABCDAgsLqQIBAn8jAEEQayIBJABB/e4CLQAABEBBzCkQ7wELQf7uAiAAOgAAQfjuAigCAEEBRwRAQZQ9EO8BQfjuAigCACEABkBBmO8CLQAAQQFxRQRAQQJBlN0AEAEhAkGY7wJBAToAAEGU7wIgAjYCAAtBlO8CKAIAIQJBARACIAFBATYCCCACIABB+x0gAUEIahADGSABJAAGQEEBEAAZIAEkABChBgALCQALBkBBARAAGSABJAAQoQYACwZAQfjuAigCABAAGSABJAAGQEEBEAAZIAEkABChBgALCQALQfjuAkEBNgIABkBBABAAGSABJAAQoQYACwsCQEH07gItAABFDQBB8O4CKAIAGkH07gJBADoAAEH97gItAABFDQBBuCkQ7wELIAFBEGokAAv2BQIGfwJ9IwBBIGsiAiQAIABBADYCCCAAQgA3AgACQCABKAIEIgYgASgCACIBRg0ABkAgBiABayIEQQBIBEAQPAALIAQQvQUhAxkgAiQAIAAoAgAiAQRAIAAgATYCBCABEIMCCwZACQEHACEAIAIkAEH0kQNBgAg2AgBB8JEDQQA2AgAgABDGBgJAQfiRAygCAEEBRgRAIAAQmgYhAEH97gItAAAEQCACIAAgACgCACgCCBEBADYCAEH11gAgAhDnAQtBCBCVBiEDIAAgACgCACgCCBEBACEAIAJBAToAHwZAIAJBBGogABA3IQAgAkEBOgAeBkAgAiAAQeTLABD5BSIBKAIINgIYIAIgASkCADcDECABQgA3AgAgAUEANgIIIAJBAToAHQZAIAMgAkEQahDuBSEBIAJBADoAHSABQcSbAkEBEJcGDAQZIAIkACACLQAdIQEgAiwAG0EASARAIAIoAhAQgwILIAIgAUEBcToAHgkACwAZIAIkACACLQAeIQEgACwAC0EASARAIAAoAgAQgwILIAIgAUEBcToAHwkA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ATYCFAZAIAJBCGogAkEUahCrARkgAiQABkAgAigCFBAAGSACJAAQoQYACwkACwZAIAIoAhQQABkgAiQAEKEGAAsGQCACQRRqIgEgAkEIaiAAEQAABkAgARCsASEBGSACJAAgAigCFCIABEAgAiAANgIYIAAQgwILCQALGSACJAAgAigCCCIABEAgAiAANgIMIAAQgwILCQALIAIoAhQiAARAIAIgADYCGCAAEIMCCyACKAIIIgAEQCACIAA2AgwgABCDAgsgAkEgaiQAIAELBgBBhN4ACy4BAX8gAARAIAAoAgQhASAAQQA2AgQgAQRAIAEgASgCACgCEBECAAsgABCDAgsLKQEBfyMAQRBrIgIkACACIAE2AgwgAkEMaiAAEQEAIQAgAkEQaiQAIAALMAECfyMAIQIGQAZAQQgQvQUhARgBIAEgACgCABCvASEAGSACJAAgARCDAgkACyAAC/oDAgN/AX0jAEEwayIDJAACQAJAIAEoAgQgASgCAGtBAnUiBCAAKAIAIgVGBEAgAigCBCACKAIAa0ECdSAERg0BC0H97gItAAAEQCADIAU2AgBBidsAIAMQ5wELQQgQlQYhASAAKAIAIQAgA0EBOgAvBkAgA0EEaiICIAAQgwYgA0EBOgAuBkAgAyACQavFABD5BSIAKAIINgIYIAMgACkCADcDECAAQgA3AgAgAEEANgIIIANBAToALQZAIAMgA0EQakGSPhD8BSIAKAIINgIoIAMgACkCADcDICAAQgA3AgAgAEEANgIIIANBAToALAZAIAEgA0EgahDrBSIAQZiaAjYCACADQQA6ACwgAEG8mgJB6wAQlwYMBRkgAyQAIAMtACwhACADLAArQQBIBEAgAygCIBCDAgsgAyAAQQFxOgAtCQALABkgAyQAIAMtAC0hACADLAAbQQBIBEAgAygCEBCDAgsgAyAAQQFxOgAuCQALABkgAyQAIAMtAC4hACADLAAPQQBIBEAgAygCBBCDAgsgAyAAQQFxOgAvCQALABkgAyQAIAMtAC8EQCABEJYGCwkACwALIAAoAgQiBCAEKAIAKAIEEQEAIQQgASgCACACKAIAIAAoAgQiACAAKAIAKAIIEQEAIAQRCwAhBiADQTBqJAAgBg8LAAvKAgICfwF9IwBBIGsiBCQAIAEgACgCBCIFQQF1aiEBIAAoAgAhACAFQQFxBEAgASgCACAAaigCACEACyAEIAI2AgQGQCAEQRBqIARBBGoQqwEZIAQkAAZAIAQoAgQQABkgBCQAEKEGAAsJAAsGQCAEKAIEEAAZIAQkABChBgALIAQgAzYCHAZABkAgBEEEaiAEQRxqEKsBGSAEJAAGQCAEKAIcEAAZIAQkABChBgALCQALBkAgBCgCHBAAGSAEJAAQoQYACwZAIAEgBEEQaiAEQQRqIAARCwAhBhkgBCQAIAQoAgQiAARAIAQgADYCCCAAEIMCCwkACxkgBCQAIAQoAhAiAARAIAQgADYCFCAAEIMCCwkACyAEKAIEIgAEQCAEIAA2AgggABCDAgsgBCgCECIABEAgBCAANgIUIAAQgwILIARBIGokACAGCwcAIAAoAgALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRAQALBgBBpOAAC2wBAn8jACEBQQgQvQUhAiAAKAIAIQAgAkEANgIEIAIgADYCAAZAQRAQvQUhARkgASQAIAJBADYCBCACEIMCCQALIAEgADYCDCABQewANgIEIAFBpOEANgIAIAEgAEECdDYCCCACIAE2AgQgAguXAwIDfwF9IwBBIGsiAyQAAkACQCABKAIEIAEoAgBrQQJ1IgQgACgCACIFRgRAIAIoAgQgAigCAGtBAnUgBEYNAQtB/e4CLQAABEAgAyAFNgIAQYnbACADEOcBC0EIEJUGIQEgACgCACEAIANBAToAHwZAIANBBGoiAiAAEIMGIANBAToAHgZAIAMgAkGrxQAQ+QUiACgCCDYCGCADIAApAgA3AxAgAEIANwIAIABBADYCCCADQQE6AB0GQCABIANBEGoQ6wUiAEGYmgI2AgAgA0EAOgAdIABBvJoCQesAEJcGDAQZIAMkACADLQAdIQAgAywAG0EASARAIAMoAhAQgwILIAMgAEEBcToAHgkACwAZIAMkACADLQAeIQAgAywAD0EASARAIAMoAgQQgwILIAMgAEEBcToAHwkACwAZIAMkACADLQAfBEAgARCWBgsJAAsACyAAKAIEIgQgBCgCACgCBBEBACEEIAEoAgAgAigCACAAKAIEIgAgACgCACgCCBEBACAEEQsAIQYgA0EgaiQAIAYPCwALDQAgACgCAEEEaygCAAsuAQF/IAAE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AygCBBCDAgsJAAsACxA4AAsgAywAD0EASARAIAMoAgQQgwILIANBEGokAAvUBwIGfwF+IwBB0ABrIgIkACACIAEoAgAgASABLAALQQBIGzYCEEG41QAgAkEQahDnAQJAIAAoAgRFBEAGQAZAQQgQlQYhABgDIABBvTsQ7wUhAAwCGSACJAAgABCWBgkACwALAkBBhO8CKAIAQYvvAiwAACIFQf8BcSAFQQBIGyIGQQFqIgNB8P///wdJBEACQCADQQpNBEAgAkEANgIwIAJCADcDKCACIAM6ADMgAkEoaiEEDAELIANBD3JBAWoiBxC9BSEEIAIgAzYCLCACIAQ2AiggAiAHQYCAgIB4cjYCMAsgBEGA7wJBgO8CKAIAIAVBAE4bIAYQ4gEgBmpBLzsAAAZAIAJBKGogASgCACABIAEtAAsiA8BBAEgiBBsgASgCBCADIAQbEPcFIQEMAhkgAiQAIAIsADNBAEgEQCACKAIoEIMCCwkACwALEDgACyACQUBrIAEoAgg2AgAgAiABKQIANwM4IAFCADcCACABQQA2AgggAiwAM0EASARAIAIoAigQgwILBkAgAkEoaiACQThqIgEgARD7BSACQRhqIgMQ+AUhASACQQA2AiAgAkIANwMYBkAGQCADIAEoAgAgASABLQALIgPAQQBIIgQbIgUgBSABKAIEIAMgBBtqEJkBGSACJAAgAiwAI0EASARAIAIoAhgQgwILCQALBkAgAkHIAGogAkEYakEAENIFGSACJAAgAiwAI0EASARAIAIoAhgQgwILCQALIAIpA0ghCCACLAAjQQBIBEAgAigCGBCDAgsCQCAIp0H/AXEiA0H/AUdBACADGw0AIAIgASgCACABIAEsAAtBAEgbNgIAQeHUACACEOcBIAJBADYCICACQgA3AxgGQCACQRhqIAEoAgAgASABLQALIgPAQQBIIgQbIgUgBSABKAIEIAMgBBtqEJkBGSACJAAgAiwAI0EASARAIAIoAhgQgwILCQALBkAgAkEYakEAENAFGSACJAAgAiwAI0EASARAIAIoAhgQgwILCQALIAIsACNBAE4NACACKAIYEIMCCyAAKAIEIgAgAkE4aiAAKAIAKAIMEQAAIAJBATYCFAZAQQAgAkEUahCIARkgAiQABkAgAigCFBAAGSACJAAQoQYACwkACxkgAiQAIAEsAAtBAEgEQCABKAIAEIMCCwkACxkgAiQAIAIsAENBAEgEQCACKAI4EIMCCwkACwZAIAIoAhQQABkgAiQAEKEGAAsgASwAC0EASARAIAEoAgAQgwILIAIsAENBAEgEQCACKAI4EIMCCyACQdAAaiQADwsgAEHEmwJBARCXBgAL/AkCCH8CfSMAQUBqIgMkAAJAIAAoAgQiB0UEQAZABkBBCBCVBiEAGAMgAEG9OxDvBSEADAIZIAMkACAAEJYGCQALAAsCQCABKAIEIgQgASgCACIFayIJQQJ1IgggACgCAEcEQEEIEJUGIQEgACgCACEAIANBAToAOQZAIANBDGoiAiAAEIMGIANBAToAOAZAIAMgAkGrxQAQ+QUiACgCCDYCICADIAApAgA3AxggAEIANwIAIABBADYCCCADQQE6ADcGQCADIANBGGpBkj4Q/AUiACgCCDYCMCADIAApAgA3AyggAEIANwIAIABBADYCCCADQQE6ADYGQCABIANBKGoQ6wUiAEGYmgI2AgAgA0EAOgA2IABBvJoCQesAEJcGDAUZIAMkACADLQA2IQAgAywAM0EASARAIAMoAigQgwILIAMgAEEBcToANwkACwAZIAMkACADLQA3IQAgAywAI0EASARAIAMoAhgQgwILIAMgAEEBcToAOAkACwAZIAMkACADLQA4IQAgAywAF0EASARAIAMoAgwQgwILIAMgAEEBcToAOQkACwAZIAMkACADLQA5BEAgARCWBgsJAAsACwJAIAAtAAxFDQAgBCAFRiIGRQRAIAUhAQNAIAEqAgAiDCAMlCALkiELIAFBBGoiASAERw0ACwsgBg0AIAuLkSILQwAAAABeRQ0AQQEgCCAIQQFNGyIEQQFxIQhBACEBIAlBCE8EQCAEQX5xIQlBACEEA0AgBSABQQJ0IgZqIgogCioCACALlTgCACAFIAZBBHJqIgYgBioCACALlTgCACABQQJqIQEgBEECaiIEIAlHDQALCyAIRQ0AIAUgAUECdGoiASABKgIAIAuVOAIACyAHKAIMIAcoAghGBEBBCBCVBiEBIAAoAgQoAgghACADQQE6ADwGQCADQRhqIgIgABCDBiADQQE6ADsGQCADIAJB0MwAEPkFIgAoAgg2AjAgAyAAKQIANwMoIABCADcCACAAQQA2AgggA0EBOgA6BkAgASADQShqEO4FIQAgA0EAOgA6IABBxJsCQQEQlwYMBBkgAyQAIAMtADohACADLAAzQQBIBEAgAygCKBCDAgsgAyAAQQFxOgA7CQALABkgAyQAIAMtADshACADLAAjQQBIBEAgAygCGBCDAgsgAyAAQQFxOgA8CQALABkgAyQAIAMtADwEQCABEJYGCwkACwALBkAgByAFIAJBACAHKAIAKAIAEQcABwAhACADJABB9JEDQawINgIAQfCRA0EANgIAIAAQxgYCQEH4kQMoAgBBAUYEQCAAEJoGIQBBCBCVBiECIAAgACgCACgCCBEBACEAIANBAToAPwZAIANBGGogABA3IQAgA0EBOgA+BkAgAyAAQcfPABD5BSIBKAIINgIwIAMgASkCADcDKCABQgA3AgAgAUEANgIIIANBAToAPQZAIAIgA0EoahDuBSEBIANBADoAPSABQcSbAkEBEJcGDAQZIAMkACADLQA9IQEgAywAM0EASARAIAMoAigQgwILIAMgAUEBcToAPgkACwAZIAMkACADLQA+IQEgACwAC0EASARAIAAoAgAQgwILIAMgAUEBcToAPwkACwAZIAMkACADLQA/BEAgAhCWBgsGQBCbBhkgAyQAEKEGAAsJAAsACwkBCwALIANBQGskAA8LAAsgAEHEmwJBARCXBgALwQEBAn8jAEEQayIEJAAgASAAKAIEIgVBAXVqIQEgACgCACEAIAVBAXEEQCABKAIAIABqKAIAIQALIAQgAjYCDAZAIAQgBEEMahCrARkgBCQABkAgBCgCDBAAGSAEJAAQoQYACwkACwZAIAQoAgwQABkgBCQAEKEGAAsGQCABIAQgAyAAEQUAGSAEJAAgBCgCACIABEAgBCAANgIEIAAQgwILCQALIAQoAgAiAARAIAQgADYCBCAAEIMCCyAEQRBqJAALlwIBBn8jAEEgayICJAACQCAAKAIEIgBFBEAGQAZAQQgQlQYhABgDIABBvTsQ7wUhAAwCGSACJAAgABCWBgkACwALIAIgATYCDCACIAJBDGoiAzYCFCACQRhqIgYgAEE4aiIBIAMgAkEUaiIHIAJBCGoiBBCaASACKAIYKAIMIQUgASADEJsBIAIgACgCFCAAKAIEIAAoAhAgACgCDEEBa2xqaigCADYCCCACIAQ2AhQgBiABIAQgByACQRNqEJoBIAIoAhggBTYC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9wUhBAwCGSADJAAgAywAO0EASARAIAMoAjAQgwILCQALAAsQOAALIAMgBCgCCDYCSCADIAQpAgA3A0AgBEIANwIAIARBADYCCCADLAA7QQBIBEAgAygCMBCDAgsGQAZAQZgCEL0FIQQGQCAAKAIIIQUgA0FAayEGIwAhByAEQgA3AgQgBEG46QA2AgAgBEIANwIMIARCADcCFCAEQgA3AhwgBEIANwIkIARBMGpBAEH0ABDjARogBEIANwPIASAEQgA3A8ABIARCADcDuAEgBEIANwOwASAEQgA3A6gBIARCADcC7AEgBEEBOgDoASAEQgA3A+ABIARCgYCAgBA3A9gBIARCgICAgICAgMA/NwPQASAEQgA3AvQBIARCADcC/AEgBEGEAmoiCEIANwIAIARCADcCjAIgBEGAgID8AzYClAIGQCAEIAYgBSACENcBGSAHJAAgCBCXASAEQcQBahCXASAEKAKUASICBEAgBCACNgKYASACEIMCCyAEQewAahDDASAEQcgAahDDAQkACxkgAyQAIAQQgwIJAAsgACAENgIEIAAQoQEHACECIAMkAEH0kQNBvAg2AgBB8JEDQQA2AgAgAhDGBkH4kQMoAgBBAUYEQAZAAkAGQCADQTBqIQQgAhCaBiICIAIoAgAoAggRAQAhAhgFIAQgAhA3IQIGQCADQSRqQYgpEDchBCABKAIAIQUgASwACyEGIAMgAigCACACIAIsAAtBAEgbNgIEIAMgBSABIAZBAEgbNgIAQbHXACADEOcBBkAgAiAEEJgBQX9HBEAGQEEIEJUGIQEYCCAAKAIEKAIEIQAgA0EBOgBPBkAgA0EMaiIFIAAQgwYgA0EBOgBOBkAgAyAFQbvNABD5BSIAKAIINgIgIAMgACkCADcDGCAAQgA3AgAgAEEANgIIIANBAToATQZAIAEgA0EYahDuBSEAIANBADoATSAAQcSbAkEBEJcGDAYZIAMkACADLQBNIQAgAywAI0EASARAIAMoAhgQgwILIAMgAEEBcToATgkACwAZIAMkACADLQBOIQAgAywAF0EASARAIAMoAgwQgwILIAMgAEEBcToATwkACwAZIAMkACADLQBPBEAGQCABEJYGGAoLCQALAAsQnAYZIAMkACAELAALQQBIBEAgBCgCABCDAgsJAAsZIAMkACACLAALQQBIBEAgAigCABCDAgsJAAsLGSADJAAGQBCbBhkgAyQAEKEGAAsJAAsACwkACxkgAyQAIAMsAEtBAEgEQCADKAJAEIMCCwkACyADLABLQQBIBEAgAygCQBCDAgsgA0HQAGokAAvxAQEEfyMAQRBrIgQkACABIAAoAgQiBUEBdWohBiAAKAIAIQEgBUEBcQRAIAYoAgAgAWooAgAhAQsCQCACKAIAIgBB8P///wdJBEACQCAAQQpNBEAgBCAAOgAPIARBBGohBQwBCyAAQQ9yQQFqIgcQvQUhBSAEIAdBgICAgHhyNgIMIAQgBTYCBCAEIAA2AggLIAUgAkEEaiAAEOEBIABqQQA6AAAGQCAGIARBBGogAyABEQUADAIZIAQkACAELAAPQQBIBEAgBCgCBBCDAgsJAAsACxA4AAsgBCwAD0EASARAIAQoAgQQgwILIARBEGokAAuBCAIGfwF+IwBB4ABrIgIkACACIAEoAgAgASABLAALQQBIGzYCIEHf1QAgAkEgahDnAUH97gItAAAEQCACIAEoAgAgASABLAALQQBIGzYCEEGW2QAgAkEQahDnAQsCQCAAKAIERQRABkAGQEEIEJUGIQAYAyAAQb07EO8FIQAMAhkgAiQAIAAQlgYJAAsACwJAQYTvAigCAEGL7wIsAAAiBUH/AXEgBUEASBsiBkEBaiIDQfD///8HSQRAAkAgA0EKTQRAIAJBQGtBADYCACACQgA3AzggAiADOgBDIAJBOGohBAwBCyADQQ9yQQFqIgcQvQUhBCACIAM2AjwgAiAENgI4IAIgB0GAgICAeHI2AkALIARBgO8CQYDvAigCACAFQQBOGyAGEOIBIAZqQS87AAAGQCACQThqIAEoAgAgASABLQALIgPAQQBIIgQbIAEoAgQgAyAEGxD3BSEBDAIZIAIkACACLABDQQBIBEAgAigCOBCDAgsJAAsACxA4AAsgAiABKAIINgJQIAIgASkCADcDSCABQgA3AgAgAUEANgIIIAIsAENBAEgEQCACKAI4EIMCCwZAIAJBOGogAkHIAGoiASABEPsFIAJBKGoiAxD4BSEBIAJBADYCMCACQgA3AygGQAZAIAMgASgCACABIAEtAAsiA8BBAEgiBBsiBSAFIAEoAgQgAyAEG2oQmQEZIAIkACACLAAzQQBIBEAgAigCKBCDAgsJAAsGQCACQdgAaiACQShqQQAQ0gUZIAIkACACLAAzQQBIBEAgAigCKBCDAgsJAAsgAikDWCEIIAIsADNBAEgEQCACKAIoEIMCCwJAIAinQf8BcSIDQf8BR0EAIAMbDQAgAiABKAIAIAEgASwAC0EASBs2AgBBjdUAIAIQ5wEgAkEANgIwIAJCADcDKAZAIAJBKGogASgCACABIAEtAAsiA8BBAEgiBBsiBSAFIAEoAgQgAyAEG2oQmQEZIAIkACACLAAzQQBIBEAgAigCKBCDAgsJAAsGQCACQShqQQAQ0AUZIAIkACACLAAzQQBIBEAgAigCKBCDAgsJAAsgAiwAM0EATg0AIAIoAigQgwILIAAoAgQiACACQcgAaiAAKAIAKAIMEQAAIAJBATYCJAZAQQAgAkEkahCIARkgAiQABkAgAigCJBAAGSACJAAQoQYACwkACxkgAiQAIAEsAAtBAEgEQCABKAIAEIMCCwkACxkgAiQAIAIsAFNBAEgEQCACKAJIEIMCCwkACwZAIAIoAiQQABkgAiQAEKEGAAsgASwAC0EASARAIAEoAgAQgwILIAIsAFNBAEgEQCACKAJIEIMCCyACQeAAaiQADwsgAEHEmwJBARCXBgALVgECfyMAIQICQCAAKAIEIgNFBEAGQAZAQQgQlQYhABgDIABBvTsQ7wUhAAwCGSACJAAgABCWBgkACwALIAMgARCiASAAEKMBDwsgAEHEmwJBARCXBgAL7gUBBH8jAEEwayIDJAACQCABKAIEIgFFBEAGQAZAQQgQlQYhABgDIABBvTsQ7wUhAAwCGSADJAAgABCWBgkACwALBkAgA0EgaiABIAIQpAEGQCAAEAo2AgBBACEBIANBADYCECADKAIkIgIgAygCICIERwRAIAQhAgNABkAgAiABQQJ0aiEEIwBBEGsiASQAIAAoAgAhBSABIAMoAhA2AghBhJYCIAFBCGoiBhAJIQIgASAEKgIAOAIIBkBBqJYCIAYQCSEEBkAgBSACIAQQDRkgASQABkAgBBAAGSABJAAQoQYACwkACxkgASQABkAgAhAAGSABJAAQoQYACwkACwZAIAQQABkgASQAEKEGAAsGQCACEAAZIAEkABChBgALIAFBEGokABkgAyQABkAgACgCABAAGSADJAAQoQYACwkACyADIAMoAhBBAWoiATYCECABIAMoAiQgAygCICIC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ABgKIARBAToAjwEGQCAEQeAAaiAAEDchACAEQQE6AI4BBkAgBCAAQZfFABD5BSIBKAIINgJ4IAQgASkCADcDcCABQgA3AgAgAUEANgIIIARBAToAjQEGQCACIARB8ABqEO4FIQEgBEEAOgCNASABQcSbAkEBEJcGDAQZIAQkACAELQCNASEBIAQsAHtBAEgEQCAEKAJwEIMCCyAEIAFBAXE6AI4BCQALABkgBCQAIAQtAI4BIQEgACwAC0EASARAIAAoAgAQgwILIAQgAUEBcToAjwEJAAsAGSAEJAAgBC0AjwEEQAZAIAIQlgYYDAsGQBCbBhkgBCQAEKEGAAsJAAsACwkBCwALGSAEJAAgBygCACIABEAgByAANgIEIAAQgwILCQALIANBAWohAwwACwAZIAQkAAkACwALIABBxJsCQQEQlwYMAQsgAEHEmwJBARCXBgsZIAQkAAkACwALvwIBAn8jAEEgayIEJAAgASAAKAIEIgVBAXVqIQEgACgCACEAIAVBAXEEQCABKAIAIABqKAIAIQALIAQgAjYCFAZAIARBCGogBEEUahDYARkgBCQABkAgBCgCFBAAGSAEJAAQoQYACwkACwZAIAQoAhQQABkgBCQAEKEGAAsGQCAEQRRqIgIgASAEQQhqIAMgABEHAAZAIAIQ2wEhBRkgBCQAIAQoAhQiAARAIAQgADYCGCAAEIMCCwkACxkgBCQAIARBCGoQ2gEJAAsgBCgCFCIABEAgBCAANgIYIAAQgwILIAQoAggiAgRAIAQoAgwiASACIgBHBEADQCABQQxrIgAoAgAiAwRAIAFBCGsgAzYCACADEIMCCyAAIgEgAkcNAAsgBCgCCCEACyAEIAI2AgwgABCDAgsgBEEgaiQAIAULugEBBH8jACEDAkAGQCABLQA8BEAgARChAQsgAEEANgIIIABCADcCACABKAJEIgQgASgCQCICRg0BBkAgBCACayIFQQBIBEAQPAALIAUQvQUhARkgAyQAIAAoAgAiAQRAIAAgATYCBCABEIMCCwkACxkgAyQACQALIAAgATYCBCAAIAE2AgAgACABIAVBfHFqNgIIA0AgASACKAIANgIAIAFBBGohASACQQRqIgIgBEcNAAsgACABNgIECwuJAQEDfyMAQRBrIgIkACAAKAIAIQMgAkEEaiIEIAEgACgCBCIAQQF1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IAUoAgBBDGsoAgBqIgYgBigCEEEEchDvAgtBgO8CKAIAIQZBi+8CLAAAIQcgACgCACEIIAAsAAshCSADQShqIgoQiQIgC31CwIQ9fxCCBiADIAggACAJQQBIGzYCACADQYDvAiAGIAdBAE4bNgIEIAMgAygCKCAKIAMsADNBAEgbNgIIQaPWACADEOcBIAMsADNBAEgEQCADKAIoEIMCCyACKAIAIgBBAWtBAkkNAwZAQZjvAi0AAEEBcUUEQEECQZTdABABIQJBmO8CQQE6AABBlO8CIAI2AgALQZTvAigCACECQQEQAiADQQE2AiggAiAAQfsdIANBKGoQAxkgAyQABkBBARAAGSADJAAQoQYACwkACxkgAyQAIAUQqgEaCQALGSADJAAgBCwAC0EASARAIAQoAgAQgwILCQALGSADJAAgAywAiwJBAEgEQCADKAKAAhCDAgsJAAsGQEEBEAAZIAMkABChBgALCyAFQbihASgCACIANgIAIAUgAEEMaygCAGpBxKEBKAIANgIAIAEQzAIaIAVB6ABqEJoCIAQsAAtBAEgEQCAEKAIAEIMCCyADLACLAkEASARAIAMoAoACEIMCCyADQZACaiQAC4kCAQR/IwBBIGsiAiQAAkAgASgCACIDQfD///8HSQRAAkAgA0EKTQRAIAIgAzoAEyACQQhqIQQMAQsgA0EPckEBaiIFEL0FIQQgAiAFQYCAgIB4cjYCECACIAQ2AgggAiADNgIMCyAEIAFBBGogAxDhASADakEAOgAABkAgAkEUaiIBIAJBCGogABEAAAZAIAEQ3QEhAQwDGSACJAAgAigCFCIABEAgAiAANgIYIAAQgwILCQALABkgAiQAIAIsABNBAEgEQCACKAIIEIMCCwkACwALEDgACyACKAIUIgAEQCACIAA2AhggABCDAgsgAiwAE0EASARAIAIoAggQgwILIAJBIGokACABC+ILAg1/AX4jAEHwAWsiAiQAIAIgASgCACABIAEsAAtBAEgbNgIAIAJBgO8CQYDvAigCAEGL7wIsAABBAE4bNgIEQdTYACACEOcBAkBBhO8CKAIAQYvvAiwAACIEQf8BcSAEQQBIGyIFQQFqIgdB8P///wdJBEACQCAHQQpNBEAgAkEANgIYIAJCADcDECACIAc6ABsgAkEQaiEGDAELIAdBD3JBAWoiAxC9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CDYCNCAEQQAgBhDjARogAyAINgIwCyABKAIAIQggAyAENgKsAgZAQYQZEAwhCQZAIAggCRAQIQgZIAMkAAZAIAkQABkgAyQAEKEGAAsgAyAENgKsAgkACwZAIAkQABkgAyQAEKEGAAsGQEGzChATIQsgASgCACEJBkBB0xAQDCEKBkAgCSAKEBAhCRkgAyQABkAgChAAGSADJAAQoQYACwkACwZAIAoQABkgAyQAEKEGAAsgASgCACEBBkBB2R8QDCEKBkAgASAKEBAhARkgAyQABkAgChAAGSADJAAQoQYACwkACwZAIAoQABkgAyQAEKEGAAsGQCAIEAIgAyAINgKQAiAJEAIgAyAJNgKYAiABEAIgAyABNgKgAiALQQNB0O4AIANBkAJqEBQhChkgAyQABkAgARAAGSADJAAQoQYACwkACxkgAyQABkAgCRAAGSADJAAQoQYACwkACxkgAyQABkAgCxAAGSADJAAQoQYACwkACwZAIAEQABkgAyQAEKEGAAsGQCAJEAAZIAMkABChBgALBkAgCxAAGSADJAAQoQYACyADIAQ2ApQCIAMgBjYCkAIGQEGw7gAgA0GQAmoQCSEBBkBBqO8CLQAAQQFxRQRAQQJB3O4AEAEhBEGo7wJBAToAAEGk7wIgBDYCAAtBpO8CKAIAIQQgChACIAMgCjYCkAIgBCABQdoQIANBkAJqEAMgByADKAIsIgQgAygCMCAEaxC+AiAHQQRqIgQQzQJFBEAgByAHKAIAQQxrKAIAaiIGIAYoAhBBBHIQ7wILQYDvAigCACEGQYvvAiwAACEJIAAoAgAhCyAALAALIQwgA0GQAmoiDRCJAiAPfULAhD1/EIIGIAMgCyAAIAxBAEgbNgIAIANBgO8CIAYgCUEAThs2AgQgAyADKAKQAiANIAMsAJsCQQBIGzYCCEGj1gAgAxDnASADLACbAkEASARAIAMoApACEIMCCyACKAIAIgBBAWtBAkkNBwZAQZjvAi0AAEEBcUUEQEECQZTdABABIQJBmO8CQQE6AABBlO8CIAI2AgALQZTvAigCACECQQEQAiADQQE2ApACIAIgAEH7HSADQZACahADGSADJAAGQEEBEAAZIAMkABChBgALCQALGSADJAAGQCABEAAZIAMkABChBgALCQALGSADJAAGQCAKEAAZIAMkABChBgALCQALGSADJAAGQCAIEAAZIAMkABChBgALIAMgAygCLDYCrAIJAAsZIAMkACADKAKsAiIABEAgAyAANgIwIAAQgwILCQALGSADJAAgBxCqARoJAAsZIAMkACAFLAALQQBIBEAgBSgCABCDAgsJAAsZIAMkACADLACLAkEASARAIAMoAoACEIMCCwkACwZAQQEQABkgAyQAEKEGAAsLBkAgARAAGSADJAAQoQYACwZAIAoQABkgAyQAEKEGAAsGQCAIEAAZIAMkABChBgALIAMoAiwiAARAIAAQgwILIAdBuKEBKAIAIgA2AgAgByAAQQxrKAIAakHEoQEoAgA2AgAgBBDMAhogB0HoAGoQmgIgBSwAC0EASARAIAUoAgAQgwILIAMsAIsCQQBIBEAgAygCgAIQgwILIANBsAJqJAAL+wEBAn8jACEDIABCADcCICAAIAI2AgggAEGE5gA2AgAgAEIANwIoIABCADcCMCAAQThqIgRCADcCACAAQUBrQgA3AgAgAEGAgID8AzYCSAZAIAAgASABKAIAKAIAEQEANgIUIAAgASABKAIAKAIEEQEANgIYIAAgASABKAIAKAIIEQEANgIcIAAgACgCFEEEaiIBNgIQIAAgASACbBCCAiIBNgIEAkAgAUUEQAZABkBBCBCVBiEAGAQgAEHcKxDvBSEADAIZIAMkAAZAIAAQlgYYBAkACwALIABBADYCDCAADwsgAEHEmwJBARCXBhkgAyQAIAQQlwEJAAsAC9gCAQF/IwBBwAFrIgMkAAZABkAgA0EEaiABEKcBIQEYASABIABBCGpBBBC0AiABIABBEGpBBBC0AiABIABBDGpBBBC0AiAAIAIgAigCACgCABEBADYCFCAAIAIgAigCACgCBBEBADYCGCAAIAIgAigCACgCCBEBADYCHCAAIAAoAhRBBGoiAjYCECAAIAAoAgggAmwiAhCCAiIANgIEAkAgAEUEQAZABkBBCBCVBiEAGAQgAEGnKxDvBSEADAIZIAMkAAZAIAAQlgYYBAkACwALIAEgACACELQCIAFBCGoiABDNAkUEQCABIAEoAgBBDGsoAgBqIgIgAigCEEEEchDvAgsgAUGcoAEoAgAiAjYCACABIAJBDGsoAgBqQaigASgCADYCACAAEMwCGiABQewAahCaAiADQcABaiQADwsgAEHEmwJBARCXBhkg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QgA3A6gBIABBADYCoAEgAEIANwLsASAAQQE6AOgBIABBADYC5AEgAEIBNwLcASAAIAI2AgQgAEEANgIUIABCADcDsAEgAEIANwO4ASAAQgA3A8ABIABCADcDyAEgAEEANgLQASAAQoCAgPwTNwLUASAAQgA3AvQBIABCADcC/AEgAEGEAmoiBkIANwIAIABCADcCjAIgAEGAgID8AzYClAIgAEHEAWohCAZAIAAgASABKAIAKAIAEQEANgKgASAAIAEgASgCACgCBBEBADYCpAEgASABKAIAKAIIEQEAIQEgAEEKNgIoIAAgAzYCHCAAIAM2AhggACABNgKoASAAQQA2AoQBIAAgA0EBdDYCICAAIAQgAyADIARJGzYCJCAAIANBA3RBBHIiATYCfCAAIAE2AoABIABBASAFQf////8HcCIDIANBAU0bNgLYASAAIAAoAqABIAFqIgE2AogBIABBASAFQQFqQf////8HcCIDIANBAU0bNgLcASAAIAFBBGoiATYCDCAAIAAoAgQgAWwQggIiATYCjAECQCABRQRABkAGQEEIEJUGIQEYByABQesJEO8FIQEMAhkgByQABkAgARCWBhgHCQALAAsgAEEANgIIQTQQvQUhAQZAIAEgAhDCASEBGSAHJAAgARCDAgkACyAAQX82AnggACABNgJEIABBfzYCQCAAIAAoAgRBAnQQggIiATYCkAECQCABRQRABkAGQEEIEJUGIQEYCCABQagSEO8FIQEMAhkgByQABkAgARCWBhgICQALAAsgACAAKAIcQQJ0QQRqNgIQBkAgACgCGLgQ5AEhDBgGIABEAAAAAAAA8D8gDKMiDDkDMCAARAAAAAAAAPA/IAyjOQM4IAdBEGokACAADwsgAUHEmwJBARCXBgwDCyABQcSbAkEBEJcGGSAHJAAgBhCXASAIEJcBIAAoApQBIgEEQCAAIAE2ApgBIAEQgwILCQALGSAHJAAgCRDDAQkACwsZIAckACAKEMMBCQALAAv0CgEMfyMAQUBqIgIkACACQQA2AiwgAkIANwIkIAJBADYCICACQgA3AhggAkIANwMIIAJCADcDACACQYCAgPwDNgIQIABBADoAPCAAKAIEQcwBaiEHA0AgBSEDAkAGQAJ/A0AgBygCACIHRQRAIAAoAgRBjAJqIQlBACEDQQAhCEEAIQUDQCAJ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ADcCJCAAQgA3AiwgAEIANwI0IABBADoAPCAAQgA3AkggAEIANwJQIABBADoAWCAAQUBrIQcGQAJAIABB3ABqIgIgA0YNACADLAALQQBOBEAgAiADKQIANwIAIAIgAygCCDYCCAwBCyADKAIAIQYgAygCBCEDIwBBEGsiBSQAAkAgA0EKTQRAIAIgAi0AC0GAAXEgA3I6AAsgAiACLQALQf8AcToACyACIAYgAxCiAiAFQQA6AA8gAiADaiAFLQAPOgAADAELIAJBCiADQQprIAItAAtB/wBxIghBACAIIAMgBhDxBQsgBUEQaiQACwJAAkACQAJAIAEoAgQgAS0ACyIDIAPAIgNBAEgbQQJrDgUAAwMDAQMLIAEoAgAgASADQQBIGyIFLwAAQezkAEYEQEEQEL0FIgEgACgCACICNgIMIAFB7gA2AgQgAUH43gA2AgAgASACQQJ0NgIIDAILIAUvAABB6eABRw0CQRAQvQUiASAAKAIAIgI2AgwgAUHsADYCBCABQaThADYCACABIAJBAnQ2AggMAQsgASgCACABIANBAEgbQbskQQYQ5gENAUEQEL0FIgEgACgCACICNgIMIAFB7AA2AgQgAUGk4QA2AgAgASACQQJ0NgIIIABBAToAWAsgACABNgIIIARBIGokACAADwtB/e4CLQAABEAgBCABKAIAIAEgA0EASBs2AgBBxtkAIAQQ5wELBkBBCBCVBiEDGAEgBEEBOgAfBkAgBEEQaiIFQazOACABEIEGIARBAToAHgZAIAMgBRDrBSIBQZiaAjYCACAEQQA6AB4gAUG8mgJB6wAQlwYZIAQkACAELQAeIQEgBCwAG0EASARAIAQoAhAQgwILIAQgAUEBcToAHwkACxkgBCQAIAQtAB8EQAZAIAMQlgYYAwsJAAsZIAQkACAALABnQQBIBEAgAigCABCDAgsgACgCTCIBBEAgACABNgJQIAEQgwILIAcoAgAiAQRAIAAgATYCRCABEIMCCwkACwALUwEEfwJAIAAtAAQNACAAKAIAIgMoAgAiAUUNACABIQIgASADKAIEIgRHBEADQCAEQRhrIgQgAUcNAAsgACgCACgCACECCyADIAE2AgQgAhCDAgsLpwIBBn8jACEEIABCADcCACAAIAE2AjAgAEIANwIoIABCADcCICAAQgA3AhggAEIANwIQIABC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ADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvpAgECfwJAIAAgAUYNACABIAAgAmoiBGtBACACQQF0a00EQCAAIAEgAhDhAQ8LIAAgAXNBA3EhAwJAAkAgACABSQRAIAMEQCAAIQMMAwsgAEEDcUUEQCAAIQMMAgsgACEDA0AgAkUNBCADIAEtAAA6AAAgAUEBaiEBIAJBAWshAiADQQFqIgNBA3ENAAsMAQsCQCADDQAgBEEDcQRAA0AgAkUNBSAAIAJBAWsiAmoiAyABIAJqLQAAOgAAIANBA3ENAAsLIAJBA00NAANAIAAgAkEEayICaiABIAJqKAIANgIAIAJBA0sNAAsLIAJFDQIDQCAAIAJBAWsiAmogASACai0AADoAACACDQALDAILIAJBA00NAANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIAJBBGsiAkEDSw0ACwsgAkUNAANAIAMgAS0AADoAACADQQFqIQMgAUEBaiEBIAJBAWsiAg0ACwsgAAvyAgICfwF+AkAgAkUNACAAIAE6AAAgACACaiIDQQFrIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0EDayABOgAAIANBAmsgAToAACACQQdJDQAgACABOgADIANBBGsgAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkEEayABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBCGsgATYCACACQQxrIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQRBrIAE2AgAgAkEUayABNgIAIAJBGGsgATYCACACQRxrIAE2AgAgBCADQQRxQRhyIgRrIgJBIEkNACABrUKBgICAEH4hBSADIARqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0A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AQRAIAEgACgCODYCOAsgACgCOCICBEAgAiABNgI0CyAAQbzvAigCAEYEQEG87wIgAjYCAAsgACgCYBCDAiAAEIMCCyADIARyC3wBAn8gACAAKAJIIgFBAWsgAXI2AkggACgCFCAAKAIcRwRAIABBAEEAIAAoAiQRBAAaCyAAQQA2AhwgAEIANwMQIAAoAgAiAUEEcQRAIAAgAUEgcjYCAEF/DwsgACAAKAIsIAAoAjBqIgI2AgggACACNgIEIAFBG3RBH3ULoQEBAn8gAigCTBogAiACKAJIIgNBAWsgA3I2AkggAigCBCIDIAIoAggiBEYEfyABBSAAIAMgBCADayIDIAEgASADSxsiAxDhARogAiACKAIEIANqNgIEIAAgA2ohACABIANrCyIDBEADQAJAIAIQlwJFBEAgAiAAIAMgAigCIBEEACIEDQELIAEgA2sPCyAAIARqIQAgAyAEayIDDQALCyABC3ACAn8BfiAAKAIoIQJBASEBAkAgAEIAIAAtAABBgAFxBH9BAUECIAAoAhQgACgCHEYbBUEBCyACERMAIgNCAFMNACADIAAoAggiAQR/IABBBGoFIAAoAhwiAUUNASAAQRRqCygCACABa6x8IQMLIAMLCAAgABDwAhoLOAECfyAAQZicATYCACAAKAIEIgEgASgCBEEBayICNgIEIAJBf0YEQCABIAEoAgAoAggRAgALIAALDQAgABCbAhogABCDAgsDAAELBAAgAAsQACAAQn83AwggAEIANwMACxAAIABCfzcDCCAAQgA3AwALggIBBn8jAEEQayIEJAADQAJAIAIgBkwNAAJAIAAoAgwiAyAAKAIQIgVJBEAgBEH/////BzYCDCAEIAUgA2s2AgggBCACIAZrNgIEIwBBEGsiAyQAIARBBGoiBSgCACAEQQhqIgcoAgBIIQggA0EQaiQAIAUgByAIGyEDIwBBEGsiBSQAIAMoAgAgBEEMaiIHKAIASCEIIAVBEGokACADIAcgCBshAyABIAAoAgwgAygCACIDEKICIAAgACgCDCADajYCDAwBCyAAIAAoAgAoAigRAQAiA0F/Rg0BIAEgA8A6AABBASEDCyABIANqIQEgAyAGaiEGDAELCyAEQRBqJAAgBgseAQF/IwAhAwZAIAEgAiAAEKMCGhkgAyQAEKEGAAsLDgAgACAAIAFqIAIQ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aiEBA0AgACgCRCIEIAEgACgCICICIAIgACgCNGogA0EMaiAEKAIAKAIUEQkAIQQgACgCICICQQEgAygCDCACayICIAAoAkAQ7QEgAkcNAwJAIARBAWsOAgEEAAsLQQAhASAAKAJAEJUCRQ0DDAILIAJBCHFFDQIgAyAAKQJQNwMAAn8CQAJAIAAtAGIEQCAAKAIQIAAoAgxrrCEFDAELIAQgBCgCACgCGBEBACEBIAAoAiggACgCJGusIQUgAUEASgRAIAAoAhAgACgCDGsgAWysIAV8IQUMAQsgACgCDCAAKAIQRw0BC0EADAELIAAoAkQiASADIAAoAiAgACgCJCAAKAIMIAAoAghrIAEoAgAoAiARCQAhASAAKAIkIAEgACgCIGprrCAFfCEFQQELIQEgACgCQEIAIAV9QQEQlAINASABBEAgACADKQMANwJICyAAIAAoAiAiATYCKCAAIAE2AiRBACEBIABBADYCECAAQQA2AgwgAEEANgIIIABBADYCXAwCCxDSAgALQX8hAQsgA0EQaiQAIAELqQIBAX8gACAAKAIAKAIYEQEAGiAAIAEQywIiATYCRCAALQBiIQIgACABIAEoAgAoAhwRAQAiAToAYiABIAJHBEAgAEEANgIQIABBADYCDCAAQQA2AgggAEEANgIcIABBADYCFCAAQQA2AhggAC0AYCEBIAAtAGIEQAJAIAFFDQAgACgCICIBRQ0AIAEQgwILIAAgAC0AYToAYCAAIAAoAjw2AjQgACgCOCEBIABCADcCOCAAIAE2AiAgAEEAOgBhDwsCQCABDQAgACgCICIBIABBLGpGDQAgAEEAOgBhIAAgATYCOCAAIAAoAjQiATYCPCABEL0FIQEgAEEBOgBgIAAgATYCIA8LIAAgACgCNCIBNgI8IAEQvQUhASAAQQE6AGEgACABNgI4CwsKACAAEKgBEIMCCxMAIAAgACgCAEEMaygCAGoQqAELEwAgACAAKAIAQQxrKAIAahDaAgsKACAAEKoBEIMCCxMAIAAgACgCAEEMaygCAGoQqgELEwAgACAAKAIAQQxrKAIAahDdAguGAQECfyMAQRBrIgQkACMAQSBrIgMkACADQRhqIAAgARDhAiADQRBqIANBDGogAygCGCADKAIcIAIQ4gIgAyAAIAMoAhAgAGtqNgIMIAMgAiADKAIUIAJrajYCCCAEIAMoAgw2AgggBCADKAIINgIMIANBIGokACAEKAIMIQAgBEEQaiQAIAALNgEBfyMAQRBrIgMkACADIAE2AgwgAyACNgIIIAAgAygCDDYCACAAIAMoAgg2AgQgA0EQaiQACw0AIAAgAiADIAQQ4wILRQEBfyMAQRBrIgQkACAEIAI2AgwgBCADIAEgAiABayIBEOIBIAFqNgIIIAAgBCgCDDYCACAAIAQoAgg2AgQgBEEQaiQACxkAIwAhAAZAIAFBARDlAhkgACQAEKEGAAsLJQAgAUEISwRAIwAhAQZAIAAQgwIZIAEkABChBgALDwsgABCDAgsZACABIAIQ5wIhASAAIAI2AgQgACABNgIACwkAIAFBARDoAgt0AQF/IAFBCEsEQEEEIAEgAUEETRshAUEBIAAgAEEBTRshAAJAA0AgASAAEL4FIgINAUHcjQMoAgAiAgRAIAIRDAAMAQsLQQQQlQYiAEHomAI2AgAgAEHAmAI2AgAgAEG0mQJB7QAQlwYACyACDwsgABC9BQtLAQJ/IAAoAgAiAQRAAn8gASgCDCICIAEoAhBGBEAgASABKAIAKAIkEQEADAELIAItAAALQX9HBEAgACgCAEUPCyAAQQA2AgALQQELSwECfyAAKAIAIgEEQAJ/IAEoAgwiAiABKAIQRgRAIAEgASgCACgCJBEBAAwBCyACKAIAC0F/RwRAIAAoAgBFDwsgAEEANgIAC0EBCwUAQbwdCxoAIAJBAUcEQCAAIAIQjAYPCyAAQa0XEDcaCwcAIAAQvwYLDQAgABC/BhogABCDAgvcAQICfwF+IAAgACgCGEUgAXIiATYCECAAKAIUIAFxBEAjAEEQayIBJABBEBCVBiECIwBBEGsiAyQAIANBCGohAEH6/AItAABFBEBB+vwCQQE6AAALIABByOYCNgIEIABBATYCACABIAMpAwg3AgQgA0EQaiQAIAFBAToADwZAIwBBEGsiACQAIAAgASkCBCIENwMAIAAgBDcDCCACIABBvRkQkwZBlKMBNgIAIABBEGokACABQQA6AA8gAkHoowFBvgEQlwYZIAEkACABLQAPBEAgAhCWBgsJAAsACwukAQEDfyMAIQIgAEGoowE2AgAGQAJAIAAoAighAQNAIAFFDQFBACAAIAFBAWsiAUECdCIDIAAoAiRqKAIAIAAoAiAgA2ooAgARBQAMAAsACxkgAiQAEKEGAAsgACgCHCIBIAEoAgRBAWsiAjYCBCACQX9GBEAgASABKAIAKAIIEQIACyAAKAIgEIMCIAAoAiQQgwIgACgCMBCDAiAAKAI8EIMCIAALDQAgABDwAhogABCDAgtAACAAQQA2AhQgACABNgIYIABBADYCDCAAQoKggIDgADcCBCAAIAFFNgIQIABBIGpBAEEoEOMBGiAAQRxqEMwECx4AIAAgACgCEEEBcjYCECAALQAUQQFxBEAQnAYACwtHAQJ/IAAgATcDcCAAIAAoAiwgACgCBCIDa6w3A3ggACgCCCECAkAgAVANACACIANrrCABVw0AIAMgAadqIQILIAAgAjYCaAuMAgIDfwJ+AkAgACkDcCIEQgBSIAQgACkDeCAAKAIEIgEgACgCLCICa6x8IgVXcUUEQCMAQRBrIgIkAEF/IQECQCAAEJcCDQAgACACQQ9qQQEgACgCIBEEAEEBRw0AIAItAA8hAQsgAkEQaiQAIAEiA0EATg0BIAAoAgQhASAAKAIsIQILIABCfzcDcCAAIAE2AmggACAFIAIgAWusfDcDeEF/DwsgBUIBfCEFIAAoAgQhASAAKAIIIQICQCAAKQNwIgRQDQAgBCAFfSIEIAIgAWusWQ0AIAEgBKdqIQILIAAgAjYCaCAAIAUgACgCLCIAIAFrrHw3A3ggACABTwRAIAFBAWsgAzoAAAsgAwt/AgJ/AX4jAEEQayIDJAAgAAJ+IAFFBEBCAAwBCyADIAEgAUEfdSICcyACayICrUIAIAJnIgJB0QBqEIYCIAMpAwhCgICAgICAwACFQZ6AASACa61CMIZ8IAFBgICAgHhxrUIghoQhBCADKQMACzcDACAAIAQ3AwggA0EQaiQAC8kKAgV/D34jAEHgAGsiBSQAIARC////////P4MhDCACIASFQoCAgICAgICAgH+DIQogAkL///////8/gyINQiCIIQ4gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyILQoCAgICAgMD//wBUIAtCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCgwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEKIAMhAQwCCyABIAtCgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACEKQgAhAQwDCyAKQoCAgICAgMD//wCEIQpCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASALhCECQgAhASACUARAQoCAgICAgOD//wAhCgwDCyAKQoCAgICAgMD//wCEIQoMAgsgASALhFAEQEIAIQEMAgsgAiADhFAEQEIAIQEMAgsgC0L///////8/WARAIAVB0ABqIAEgDSABIA0gDVAiBht5IAZBBnStfKciBkEPaxCGAkEQIAZrIQYgBSkDWCINQiCIIQ4gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAwgAyAMIAxQIggbeSAIQQZ0rXynIghBD2sQhgIgBiAIa0EQaiEGIAUpA0ghDCAFKQNAIQMLIANCD4YiC0KAgP7/D4MiAiABQiCIIgR+IhAgC0IgiCITIAFC/////w+DIgF+fCIPQiCGIhEgASACfnwiCyARVK0gAiANQv////8PgyINfiIVIAQgE358IhEgDEIPhiISIANCMYiEQv////8PgyIDIAF+fCIUIA8gEFStQiCGIA9CIIiEfCIPIAIgDkKAgASEIgx+IhYgDSATfnwiDiASQiCIQoCAgIAIhCICIAF+fCIQIAMgBH58IhJCIIZ8Ihd8IQEgByAJaiAGakH//wBrIQYCQCACIAR+IhggDCATfnwiBCAYVK0gBCAEIAMgDX58IgRWrXwgAiAMfnwgBCAEIBEgFVStIBEgFFatfHwiBFatfCADIAx+IgMgAiANfnwiAiADVK1CIIYgAkIgiIR8IAQgAkIghnwiAiAEVK18IAIgAiAQIBJWrSAOIBZUrSAOIBBWrXx8QiCGIBJCIIiEfCICVq18IAIgAiAPIBRUrSAPIBdWrXx8IgJWrXwiBEKAgICAgIDAAINCAFIEQCAGQQFqIQYMAQsgC0I/iCEDIARCAYYgAkI/iIQhBCACQgGGIAFCP4iEIQIgC0IBhiELIAMgAUIBhoQhAQsgBkH//wFOBEAgCkKAgICAgIDA//8AhCEKQgAhAQwBCwJ+IAZBAEwEQEEBIAZrIgdB/wBNBEAgBUEwaiALIAEgBkH/AGoiBhCGAiAFQSBqIAIgBCAGEIYCIAVBEGogCyABIAcQhwIgBSACIAQgBxCHAiAFKQMwIAUpAziEQgBSrSAFKQMgIAUpAxCEhCELIAUpAyggBSkDGIQhASAFKQMAIQIgBSkDCAwCC0IAIQEMAgsgBEL///////8/gyAGrUIwhoQLIAqEIQogC1AgAUIAWSABQoCAgICAgICAgH9RG0UEQCAKIAJCAXwiAVCtfCEKDAELIAsgAUKAgICAgICAgIB/hYRCAFIEQCACIQEMAQsgCiACIAJCAYN8IgEgAlStfCEKCyAAIAE3AwAgACAKNwMIIAVB4ABqJAALzAkCBH8FfiMAQfAAayIGJAAgBEL///////////8AgyEJAkACQCABUCIFIAJC////////////AIMiCkKAgICAgIDA//8AfUKAgICAgIDAgIB/VCAKUBtFBEAgA0IAUiAJQoCAgICAgMD//wB9IgtCgICAgICAwICAf1YgC0KAgICAgIDAgIB/URsNAQsgBSAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgCUKAgICAgIDA//8AVCAJQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAKQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiBRshBEIAIAEgBRshAwwCCyADIAlCgICAgICAwP//AIWEUA0BIAEgCoRQBEAgAyAJhEIAUg0CIAEgA4MhAyACIASDIQQMAgsgAyAJhEIAUg0AIAEhAyACIQQMAQsgAyABIAEgA1QgCSAKViAJIApRGyIIGyEKIAQgAiAIGyILQv///////z+DIQkgAiAEIAgbIgJCMIinQf//AXEhByALQjCIp0H//wFxIgVFBEAgBkHgAGogCiAJIAogCSAJUCIFG3kgBUEGdK18pyIFQQ9rEIYCIAYpA2ghCSAGKQNgIQpBECAFayEFCyABIAMgCBshAyACQv///////z+DIQQgB0UEQCAGQdAAaiADIAQgAyAEIARQIgcbeSAHQQZ0rXynIgdBD2sQhgJBECAHayEHIAYpA1ghBCAGKQNQIQMLIARCA4YgA0I9iIRCgICAgICAgASEIQEgCUIDhiAKQj2IhCEEIAIgC4UhDQJ+IANCA4YiAiAFIAdGDQAaIAUgB2siB0H/AEsEQEIAIQFCAQwBCyAGQUBrIAIgAUGAASAHaxCGAiAGQTBqIAIgASAHEIcCIAYpAzghASAGKQMwIAYpA0AgBikDSIRCAFKthAshCSAEQoCAgICAgIAEhCEMIApCA4YhCgJAIA1CAFMEQEIAIQNCACEEIAkgCoUgASAMhYRQDQIgCiAJfSECIAwgAX0gCSAKVq19IgRC/////////wNWDQEgBkEgaiACIAQgAiAEIARQIgcbeSAHQQZ0rXynQQxrIgcQhgIgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCICIAlUrSABIAx8fCIEQoCAgICAgIAIg1ANACAJQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgC0KAgICAgICAgIB/gyEBIAVB//8BTgRAIAFCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBUEASgRAIAUhBwwBCyAGQRBqIAIgBCAFQf8AahCGAiAGIAIgBEEBIAVrEIcCIAYpAwAgBikDECAGKQMYhEIAUq2EIQIgBikDCCEECyACp0EHcSIFQQRLrSAEQj2GIAJCA4iEIgJ8IgMgAlStIARCA4hC////////P4MgB61CMIaEIAGEfCEEAkAgBUEERgRAIAQgA0IBgyIBIAN8IgMgAVStfCEEDAELIAVFDQELCyAAIAM3AwAgACAENwMIIAZB8ABqJAAL+gECA34CfyMAQRBrIgUkAAJ+IAG9IgNC////////////AIMiAkKAgICAgICACH1C/////////+//AFgEQCACQjyGIQQgAkIEiEKAgICAgICAgDx8DAELIAJCgICAgICAgPj/AFoEQCADQjyGIQQgA0IEiEKAgICAgIDA//8AhAwBCyACUARAQgAMAQsgBSACQgAgA6dnQSBqIAJCIIinZyACQoCAgIAQVBsiBkExahCGAiAFKQMAIQQgBSkDCEKAgICAgIDAAIVBjPgAIAZrrUIwhoQLIQIgACAENwMAIAAgAiADQoCAgICAgICAgH+DhDcDCCAFQRBqJAAL2wECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJCAFIgA0L///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFEbDQAgACAChCAFIAaEhFAEQEEADwsgASADg0IAWQRAQX8hBCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwtBfyEEIAAgAlYgASADVSABIANRGw0AIAAgAoUgASADhYRCAFIhBAsgBAvAAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQAgAkL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFJxDQAgACAEIAWEhFAEQEEADwsgASACg0IAWQRAIAEgAlIgASACU3ENASAAIAEgAoWEQgBSDwsgAEIAUiABIAJVIAEgAlEbDQAgACABIAKFhEIAUiEDCyADC6kBAQF8RAAAAAAAAPA/IQECQCAAQYAITgRARAAAAAAAAOB/IQEgAEH/D0kEQCAAQf8HayEADAILRAAAAAAAAPB/IQFB/RcgACAAQf0XThtB/g9rIQAMAQsgAEGBeEoNAEQAAAAAAABgAyEBIABBuHBLBEAgAEHJB2ohAAwBC0QAAAAAAAAAACEBQfBoIAAgAEHwaEwbQZIPaiEACyABIABB/wdqrUI0hr+iCzUAIAAgATcDACAAIAJC////////P4MgBEIwiKdBgIACcSACQjCIp0H//wFxcq1CMIaENwMIC2QCAX8BfiMAQRBrIgIkACAAAn4gAUUEQEIADAELIAIgAa1CACABZyIBQdEAahCGAiACKQMIQoCAgICAgMAAhUGegAEgAWutQjCGfCEDIAIpAwALNwMAIAAgAzcDCCACQRBqJAALRQEBfyMAQRBrIgUkACAFIAEgAiADIARCgICAgICAgICAf4UQ+AIgBSkDACEBIAAgBSkDCDcDCCAAIAE3AwAgBUEQaiQAC8QCAQF/IwBB0ABrIgQkAAJAIANBgIABTgRAIARBIGogASACQgBCgICAgICAgP//ABD3AiAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABD3AkH9/wIgAyADQf3/Ak4bQf7/AWshAyAEKQMYIQIgBCkDECEBDAELIANBgYB/Sg0AIARBQGsgASACQgBCgICAgICAgDkQ9wIgBCkDSCECIAQpA0AhASADQfSAfksEQCADQY3/AGohAwwBCyAEQTBqIAEgAkIAQoCAgICAgIA5EPcCQeiBfSADIANB6IF9TBtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhD3AiAAIAQpAwg3AwggACAEKQMANwMAIARB0ABqJAALdQEBfiAAIAEgBH4gAiADfnwgA0IgiCICIAFCIIgiBH58IANC/////w+DIgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCABIAJ+IANC/////w+DfCIBQiCIfDcDCCAAIAVC/////w+DIAFCIIaENwMAC74PAgV/D34jAEHQAmsiBSQAIARC////////P4MhCyACQv///////z+DIQogAiAEhUKAgICAgICAgIB/gyENIARCMIinQf//AXEhCAJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAhB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiDEKAgICAgIDA//8AVCAMQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQ0MAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhDSADIQEMAgsgASAMQoCAgICAgMD//wCFhFAEQCADIAJCgICAgICAwP//AIWEUARAQgAhAUKAgICAgIDg//8AIQ0MAwsgDUKAgICAgIDA//8AhCENQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAQgAhAQwCCyABIAyEUARAQoCAgICAgOD//wAgDSACIAOEUBshDUIAIQEMAgsgAiADhFAEQCANQoCAgICAgMD//wCEIQ1CACEBDAILIAxC////////P1gEQCAFQcACaiABIAogASAKIApQIgYbeSAGQQZ0rXynIgZBD2sQhgJBECAGayEGIAUpA8gCIQogBSkDwAIhAQsgAkL///////8/Vg0AIAVBsAJqIAMgCyADIAsgC1AiBxt5IAdBBnStfKciB0EPaxCGAiAGIAdqQRBrIQYgBSkDuAIhCyAFKQOwAiEDCyAFQaACaiALQoCAgICAgMAAhCISQg+GIANCMYiEIgJCAEKAgICAsOa8gvUAIAJ9IgRCABCBAyAFQZACakIAIAUpA6gCfUIAIARCABCBAyAFQYACaiAFKQOYAkIBhiAFKQOQAkI/iIQiBEIAIAJCABCBAyAFQfABaiAEQgBCACAFKQOIAn1CABCBAyAFQeABaiAFKQP4AUIBhiAFKQPwAUI/iIQiBEIAIAJCABCBAyAFQdABaiAEQgBCACAFKQPoAX1CABCBAyAFQcABaiAFKQPYAUIBhiAFKQPQAUI/iIQiBEIAIAJCABCBAyAFQbABaiAEQgBCACAFKQPIAX1CABCBAyAFQaABaiACQgAgBSkDuAFCAYYgBSkDsAFCP4iEQgF9IgJCABCBAyAFQZABaiADQg+GQgAgAkIAEIEDIAVB8ABqIAJCAEIAIAUpA6gBIAUpA6ABIgwgBSkDmAF8IgQgDFStfCAEQgFWrXx9QgAQgQMgBUGAAWpCASAEfUIAIAJCABCBAyAGIAkgCGtqIQYCfyAFKQNwIhNCAYYiDiAFKQOIASIPQgGGIAUpA4ABQj+IhHwiEELn7AB9IhRCIIgiAiAKQoCAgICAgMAAhCIVQgGGIhZCIIgiBH4iESABQgGGIgxCIIgiCyAQIBRWrSAOIBBWrSAFKQN4QgGGIBNCP4iEIA9CP4h8fHxCAX0iE0IgiCIQfnwiDiARVK0gDiAOIBNC/////w+DIhMgAUI/iCIXIApCAYaEQv////8PgyIKfnwiDlatfCAEIBB+fCAEIBN+IhEgCiAQfnwiDyARVK1CIIYgD0IgiIR8IA4gDiAPQiCGfCIOVq18IA4gDiAUQv////8PgyIUIAp+IhEgAiALfnwiDyARVK0gDyAPIBMgDEL+////D4MiEX58Ig9WrXx8Ig5WrXwgDiAEIBR+IhggECARfnwiBCACIAp+fCIKIAsgE358IhBCIIggCiAQVq0gBCAYVK0gBCAKVq18fEIghoR8IgQgDlStfCAEIA8gAiARfiICIAsgFH58IgtCIIggAiALVq1CIIaEfCICIA9UrSACIBBCIIZ8IAJUrXx8IgIgBFStfCIEQv////////8AWARAIBYgF4QhFSAFQdAAaiACIAQgAyASEIEDIAFCMYYgBSkDWH0gBSkDUCIBQgBSrX0hCkIAIAF9IQsgBkH+/wBqDAELIAVB4ABqIARCP4YgAkIBiIQiAiAEQgGIIgQgAyASEIEDIAFCMIYgBSkDaH0gBSkDYCIMQgBSrX0hCkIAIAx9IQsgASEMIAZB//8AagsiBkH//wFOBEAgDUKAgICAgIDA//8AhCENQgAhAQwBCwJ+IAZBAEoEQCAKQgGGIAtCP4iEIQogBEL///////8/gyAGrUIwhoQhDCALQgGGDAELIAZBj39MBEBCACEBDAILIAVBQGsgAiAEQQEgBmsQhwIgBUEwaiAMIBUgBkHwAGoQhgIgBUEgaiADIBIgBSkDQCICIAUpA0giDBCBAyAFKQM4IAUpAyhCAYYgBSkDICIBQj+IhH0gBSkDMCIEIAFCAYYiAVStfSEKIAQgAX0LIQQgBUEQaiADIBJCA0IAEIEDIAUgAyASQgVCABCBAyAMIAIgAiADIAJCAYMiASAEfCIDVCAKIAEgA1atfCIBIBJWIAEgElEbrXwiAlatfCIEIAIgAiAEQoCAgICAgMD//wBUIAMgBSkDEFYgASAFKQMYIgRWIAEgBFEbca18IgJWrXwiBCACIARCgICAgICAwP//AFQgAyAFKQMAViABIAUpAwgiA1YgASADURtxrXwiASACVK18IA2EIQ0LIAAgATcDACAAIA03AwggBUHQAmokAAvRBgIEfwN+IwBBgAFrIgUkAAJAAkACQCADIARCAEIAEPoCRQ0AAn8gBEL///////8/gyEKAn8gBEIwiKdB//8BcSIGQf//AUcEQEEEIAYNARpBAkEDIAMgCoRQGwwCCyADIAqEUAsLIQYgAkIwiKciCEH//wFxIgdB//8BRg0AIAYNAQsgBUEQaiABIAIgAyAEEPcCIAUgBSkDECICIAUpAxgiASACIAEQggMgBSkDCCECIAUpAwAhBAwBCyABIAJC////////////AIMiCiADIARC////////////AIMiCRD6AkEATARAIAEgCiADIAkQ+gIEQCABIQQMAgsgBUHwAGogASACQgBCABD3AiAFKQN4IQIgBSkDcCEEDAELIARCMIinQf//AXEhBiAHBH4gAQUgBUHgAGogASAKQgBCgICAgICAwLvAABD3AiAFKQNoIgpCMIinQfgAayEHIAUpA2ALIQQgBkUEQCAFQdAAaiADIAlCAEKAgICAgIDAu8AAEPcCIAUpA1giCUIwiKdB+ABrIQYgBSkDUCEDCyAJQv///////z+DQoCAgICAgMAAhCELIApC////////P4NCgICAgICAwACEIQogBiAHSARAA0ACfiAKIAt9IAMgBFatfSIJQgBZBEAgCSAEIAN9IgSEUARAIAVBIGogASACQgBCABD3AiAFKQMoIQIgBSkDICEEDAULIAlCAYYgBEI/iIQMAQsgCkIBhiAEQj+IhAshCiAEQgGGIQQgB0EBayIHIAZKDQALIAYhBwsCQCAKIAt9IAMgBFatfSIJQgBTBEAgCiEJDAELIAkgBCADfSIEhEIAUg0AIAVBMGogASACQgBCABD3AiAFKQM4IQIgBSkDMCEEDAELIAlC////////P1gEQANAIARCP4ghASAHQQFrIQcgBEIBhiEEIAEgCUIBhoQiCUKAgICAgIDAAFQNAAsLIAhBgIACcSEGIAdBAEwEQCAFQUBrIAQgCUL///////8/gyAHQfgAaiAGcq1CMIaEQgBCgICAgICAwMM/EPcCIAUpA0ghAiAFKQNAIQQMAQsgCUL///////8/gyAGIAdyrUIwhoQhAgsgACAENwMAIAAgAjcDCCAFQYABaiQAC4kzAw9/B34BfCMAQTBrIgwkAAJAIAJBAk0EQCACQQJ0IgJB3KQBaigCACEPIAJB0KQBaigCACEOA0ACfyABKAIEIgIgASgCaEcEQCABIAJBAWo2AgQgAi0AAAwBCyABEPUCCyICQSBGIAJBCWtBBUlyDQALQQEhCgJAAkAgAkEraw4DAAEAAQtBf0EBIAJBLUYbIQogASgCBCICIAEoAmhHBEAgASACQQFqNgIEIAItAAAhAgwBCyABEPUCIQILAkACQANAIAVB0QlqLAAAIAJBIHJGBEACQCAFQQZLDQAgASgCBCICIAEoAmhHBEAgASACQQFqNgIEIAItAAAhAgwBCyABEPUCIQILIAVBAWoiBUEIRw0BDAILCyAFQQNHBEAgBUEIRg0BIANFDQIgBUEESQ0CIAVBCEYNAQsgASkDcCITQgBZBEAgASABKAIEQQFrNgIECyADRQ0AIAVBBEkNACATQgBTIQIDQCACRQRAIAEgASgCBEEBazYCBAsgBUEBayIFQQNLDQALC0IAIRMjAEEQayICJAACfiAKskMAAIB/lLwiA0H/////B3EiAUGAgIAEa0H////3B00EQCABrUIZhkKAgICAgICAwD98DAELIAOtQhmGQoCAgICAgMD//wCEIAFBgICA/AdP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QTBrIgRBCU0gAUEwayICQcyZs+YASHENAAsgAqwhBgsCQCAEQQpPDQADQCADrSAGQgp+fCEGAn8gACgCBCIBIAAoAmhHBEAgACABQQFqNgIEIAEtAAAMAQsgABD1AgshAyAGQjB9IQYgA0EwayIEQQlLDQEgBkKuj4XXx8LrowFTDQALCyAEQQpJBEADQAJ/IAAoAgQiASAAKAJoRwRAIAAgAUEBajYCBCABLQAADAELIAAQ9QILQTBrQQpJDQALCyAAKQNwQgBZBEAgACAAKAIEQQFrNgIEC0IAIAZ9IAYgBRshBgwBC0KAgICAgICAgIB/IQYgACkDcEIAUw0AIAAgACgCBEEBazYCBEKAgICAgICAgIB/DwsgBgu2AwIDfwF+IwBBIGsiAyQAAkAgAUL///////////8AgyIFQoCAgICAgMDAP30gBUKAgICAgIDAv8AAfVQEQCABQhmIpyEEIABQIAFC////D4MiBUKAgIAIVCAFQoCAgAhRG0UEQCAEQYGAgIAEaiECDAILIARBgICAgARqIQIgACAFQoCAgAiFhEIAUg0BIAIgBEEBcWohAgwBCyAAUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAFCGYinQf///wFxQYCAgP4HciECDAELQYCAgPwHIQIgBUL///////+/v8AAVg0AQQAhAiAFQjCIpyIEQZH+AEkNACADQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiBSAEQYH+AGsQhgIgAyAAIAVBgf8AIARrEIcCIAMpAwgiAEIZiKchAiADKQMAIAMpAxAgAykDGIRCAFKthCIFUCAAQv///w+DIgBCgICACFQgAEKAgIAIURtFBEAgAkEBaiECDAELIAUgAEKAgIAIhYRCAFINACACQQFxIAJqIQILIANBIGokACACIAFCIIinQYCAgIB4cXK+C8UCAQR/IANB/PwCIAMbIgUoAgAhAwJAAn8CQCABRQRAIAMNAUEADwtBfiACRQ0BGgJAIAMEQCACIQQMAQsgAS0AACIDwCIEQQBOBEAgAARAIAAgAzYCAAsgBEEARw8LQeT4AigCACgCAEUEQEEBIABFDQMaIAAgASwAAEH/vwNxNgIAQQEPCyABLQAAQcIBayIDQTJLDQEgA0ECdEGApwFqKAIAIQMgAkEBayIERQ0DIAFBAWohAQsgAS0AACIGQQN2IgdBEGsgA0EadSAHanJBB0sNAANAIARBAWshBCAGQYABayADQQZ0ciIDQQBOBEAgBUEANgIAIAAEQCAAIAM2AgALIAIgBGsPCyAERQ0DIAFBAWoiAS0AACIGQcABcUGAAUYNAAsLIAVBADYCAEHI9wJBGTYCAEF/Cw8LIAUgAzYCAEF+C0MAAkAgAEUNAAJAAkACQAJAIAFBAmoOBgABAgIEAwQLIAAgAjwAAA8LIAAgAj0BAA8LIAAgAj4CAA8LIAAgAjcDAAsL3R8CD38FfiMAQZABayIIJAADQCAIIBOnakEAOgAAIBNCAXwiE0KQAVQNAAsgCEF/NgJMIAggADYCLCAIQcoBNgIgIAggADYCVCABIQQgAiEPQQAhACMAQbACayIHJAAgCCIDKAJMGgJAAkACQAJAIAMoAgQNACADEJcCGiADKAIEDQAMAQsgBC0AACIBRQ0CAkACQAJAAkADQAJAAkAgAUH/AXEiAUEgRiABQQlrQQVJcgRAA0AgBCIBQQFqIQQgAS0AASICQSBGIAJBCWtBBUlyDQALIANCABD0AgNAAn8gAygCBCICIAMoAmhHBEAgAyACQQFqNgIEIAItAAAMAQsgAxD1AgsiAkEgRiACQQlrQQVJcg0ACyADKAIEIQQgAykDcEIAWQRAIAMgBEEBayIENgIECyAEIAMoAixrrCADKQN4IBV8fCEVDAELAn8CQAJAIAQtAABBJUYEQCAELQABIgFBKkYNASABQSVHDQILIANCABD0AgJAIAQtAABBJUYEQANAAn8gAygCBCIBIAMoAmhHBEAgAyABQQFqNgIEIAEtAAAMAQsgAxD1AgsiAUEgRiABQQlrQQVJcg0ACyAEQQFqIQQMAQsgAygCBCIBIAMoAmhHBEAgAyABQQFqNgIEIAEtAAAhAQwBCyADEPUCIQELIAQtAAAgAUcEQCADKQNwQgBZBEAgAyADKAIEQQFrNgIECyABQQBODQ1BACEGIA0NDQwLCyADKAIEIAMoAixrrCADKQN4IBV8fCEVIAQhAQwDC0EAIQkgBEECagwBCwJAIAFBMGtBCk8NACAELQACQSRHDQAgBC0AAUEwayEIIwBBEGsiAiAPNgIMIAIgDyAIQQJ0QQRrQQAgCEEBSxtqIgJBBGo2AgggAigCACEJIARBA2oMAQsgDygCACEJIA9BBGohDyAEQQFqCyEBQQAhCEEAIQQgAS0AAEEwa0EKSQRAA0AgAS0AACAEQQpsakEwayEEIAEtAAEhAiABQQFqIQEgAkEwa0EKSQ0ACwsgAS0AACIOQe0ARwR/IAEFQQAhCiAJQQBHIQggAS0AASEOQQAhACABQQFqCyICQQFqIQFBAyEFIAghBgJAAkACQAJAAkACQCAOQcEAaw46BAwEDAQEBAwMDAwDDAwMDAwMBAwMDAwEDAwEDAwMDAwEDAQEBAQEAAQFDAEMBAQEDAwEAgQMDAQMAgwLIAJBAmogASACLQABQegARiICGyEBQX5BfyACGyEFDAQLIAJBAmogASACLQABQewARiICGyEBQQNBASACGyEFDAMLQQEhBQwCC0ECIQUMAQtBACEFIAIhAQtBASAFIAEtAAAiBkEvcUEDRiICGyEQAkAgBkEgciAGIAIbIgtB2wBGDQACQCALQe4ARwRAIAtB4wBHDQFBASAEIARBAUwbIQQMAgsgCSAQIBUQiAMMAgsgA0IAEPQCA0ACfyADKAIEIgIgAygCaEcEQCADIAJBAWo2AgQgAi0AAAwBCyADEPUCCyICQSBGIAJBCWtBBUlyDQALIAMoAgQhAiADKQNwQgBZBEAgAyACQQFrIgI2AgQLIAIgAygCLGusIAMpA3ggFXx8IRULIAMgBKwiFBD0AgJAIAMoAgQiAiADKAJoRwRAIAMgAkEBajYCBAwBCyADEPUCQQBIDQYLIAMpA3BCAFkEQCADIAMoAgRBAWs2AgQLQRAhAgJAAkACQAJAAkACQAJAAkACQAJAIAtB2ABrDiEGCQkCCQkJCQkBCQIEAQEBCQUJCQkJCQMGCQkCCQQJCQYACyALQcEAayICQQZLDQhBASACdEHxAHFFDQgLIAdBCGogAyAQQQAQhAMgAykDeEIAIAMoAgQgAygCLGusfVINBQwMCyALQRByQfMARgRAIAdBIGpBf0GBAhDjARogB0EAOgAgIAtB8wBHDQYgB0EAOgBBIAdBADoALiAHQQA2ASoMBgsgB0EgaiABLQABIgVB3gBGIgZBgQIQ4wEaIAdBADoAICABQQJqIAFBAWogBhshAgJ/AkACQCABQQJBASAGG2otAAAiAUEtRwRAIAFB3QBGDQEgBUHeAEchBSACDAMLIAcgBUHeAEciBToATgwBCyAHIAVB3gBHIgU6AH4LIAJBAWoLIQEDQAJAIAEtAAAiAkEtRwRAIAJFDQ8gAkHdAEYNCAwBC0EtIQIgAS0AASIMRQ0AIAxB3QBGDQAgAUEBaiEGAkAgDCABQQFrLQAAIgFNBEAgDCECDAELA0AgAUEBaiIBIAdBIGpqIAU6AAAgASAGLQAAIgJJDQALCyAGIQELIAIgB2ogBToAISABQQFqIQEMAAsAC0EIIQIMAgtBCiECDAELQQAhAgtCACESQQAhBUEAIQZBACEOIwBBEGsiESQAAkAgAkEBRyACQSRNcUUEQEHI9wJBHDYCAAwBCwNAAn8gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAMAQsgAxD1AgsiBEEgRiAEQQlrQQVJcg0ACwJAAkAgBEEraw4DAAEAAQtBf0EAIARBLUYbIQ4gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAhBAwBCyADEPUCIQQLAkACQAJAAkACQCACQQBHIAJBEEdxDQAgBEEwRw0AAn8gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAMAQsgAxD1AgsiBEFfcUHYAEYEQAJ/IAMoAgQiAiADKAJoRwRAIAMgAkEBajYCBCACLQAADAELIAMQ9QILIQRBECECIARB8aQBai0AAEEQSQ0DIAMpA3BCAFkEQCADIAMoAgRBAWs2AgQLIANCABD0AgwGCyACDQFBCCECDAILIAJBCiACGyICIARB8aQBai0AAEsNACADKQNwQgBZBEAgAyADKAIEQQFrNgIECyADQgAQ9AJByPcCQRw2AgAMBAsgAkEKRw0AIARBMGsiBUEJTQRAQQAhAgNAAn8gAygCBCIGIAMoAmhHBEAgAyAGQQFqNgIEIAYtAAAMAQsgAxD1AgshBCACQQpsIAVqIgJBmbPmzAFJIARBMGsiBUEJTXENAAsgAq0hEgsCQCAFQQlLDQAgEkIKfiEUIAWtIRMDQAJ/IAMoAgQiAiADKAJoRwRAIAMgAkEBajYCBCACLQAADAELIAMQ9QILIQQgEyAUfCESIARBMGsiBUEJSw0BIBJCmrPmzJmz5swZWg0BIBJCCn4iFCAFrSITQn+FWA0AC0EKIQIMAgtBCiECIAVBCU0NAQwCCyACIAJBAWtxBEAgBEHxpAFqLQAAIgYgAkkEQANAAn8gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAMAQsgAxD1AgshBCAGIAIgBWxqIgVBx+PxOEkgBEHxpAFqLQAAIgYgAklxDQALIAWtIRILIAIgBk0NASACrSEWA0AgEiAWfiIUIAatQv8BgyITQn+FVg0CAn8gAygCBCIGIAMoAmhHBEAgAyAGQQFqNgIEIAYtAAAMAQsgAxD1AgshBCATIBR8IRIgAiAEQfGkAWotAAAiBk0NAiARIBZCACASQgAQgQMgESkDCFANAAsMAQsgAkEXbEEFdkEHcUHxpgFqLAAAIQwgBEHxpAFqLQAAIgUgAkkEQANAAn8gAygCBCIEIAMoAmhHBEAgAyAEQQFqNgIEIAQtAAAMAQsgAxD1AgshBCAFIAYgDHRyIgZBgICAwABJIARB8aQBai0AACIFIAJJcQ0ACyAGrSESCyACIAVNDQBCfyAMrSIWiCIUIBJUDQADQCAFrUL/AYMhEwJ/IAMoAgQiBiADKAJoRwRAIAMgBkEBajYCBCAGLQAADAELIAMQ9QILIQQgEiAWhiAThCESIAIgBEHxpAFqLQAAIgVNDQEgEiAUWA0ACwsgAiAEQfGkAWotAABNDQADQCACAn8gAygCBCIGIAMoAmhHBEAgAyAGQQFqNgIEIAYtAAAMAQsgAxD1AgtB8aQBai0AAEsNAAtByPcCQcQANgIAQQAhDkJ/IRILIAMpA3BCAFkEQCADIAMoAgRBAWs2AgQLAkAgEkJ/Ug0ACyASIA6sIhOFIBN9IRILIBFBEGokACADKQN4QgAgAygCBCADKAIsa6x9UQ0HAkAgC0HwAEcNACAJRQ0AIAkgEj4CAAwDCyAJIBAgEhCIAwwCCyAJRQ0BIAcpAxAhFCAHKQMIIRMCQAJAAkAgEA4DAAECBAsgCSATIBQQhgM4AgAMAwsgCSATIBQQiAI5AwAMAgsgCSATNwMAIAkgFDcDCAwBC0EfIARBAWogC0HjAEciDBshBQJAIBBBAUYEQCAJIQIgCARAIAVBAnQQggIiAkUNBwsgB0IANwKoAkEAIQQDQCACIQACQANAAn8gAygCBCICIAMoAmhHBEAgAyACQQFqNgIEIAItAAAMAQsgAxD1AgsiAiAHai0AIUUNASAHIAI6ABsgB0EcaiAHQRtqQQEgB0GoAmoQhwMiAkF+Rg0AQQAhCiACQX9GDQsgAARAIAAgBEECdGogBygCHDYCACAEQQFqIQQLIAhFDQAgBCAFRw0AC0EBIQYgACAFQQF0QQFyIgVBAnQQhAIiAg0BDAsLC0EAIQogACEFIAdBqAJqBH8gBygCqAIFQQALDQgMAQsgCARAQQAhBCAFEIICIgJFDQYDQCACIQADQAJ/IAMoAgQiAiADKAJoRwRAIAMgAkEBajYCBCACLQAADAELIAMQ9QILIgIgB2otACFFBEBBACEFIAAhCgwECyAAIARqIAI6AAAgBEEBaiIEIAVHDQALQQEhBiAAIAVBAXRBAXIiBRCEAiICDQALIAAhCkEAIQAMCQtBACEEIAkEQANAAn8gAygCBCIAIAMoAmhHBEAgAyAAQQFqNgIEIAAtAAAMAQsgAxD1AgsiACAHai0AIQRAIAQgCWogADoAACAEQQFqIQQMAQVBACEFIAkiACEKDAMLAAsACwNAAn8gAygCBCIAIAMoAmhHBEAgAyAAQQFqNgIEIAAtAAAMAQsgAxD1AgsgB2otACENAAtBACEAQQAhCkEAIQULIAMoAgQhAiADKQNwQgBZBEAgAyACQQFrIgI2AgQLIAMpA3ggAiADKAIsa6x8IhNQDQIgDCATIBRRckUNAiAIBEAgCSAANgIACwJAIAtB4wBGDQAgBQRAIAUgBEECdGpBADYCAAsgCkUEQEEAIQoMAQsgBCAKakEAOgAACyAFIQALIAMoAgQgAygCLGusIAMpA3ggFXx8IRUgDSAJQQBHaiENCyABQQFqIQQgAS0AASIBDQEMCAsLIAUhAAwBC0EBIQZBACEKQQAhAAwCCyAIIQYMAwsgCCEGCyANDQELQX8hDQsgBkUNACAKEIMCIAAQgwILIAdBsAJqJAAgA0GQAWokACANC1UBAn8gASAAKAJUIgEgAUEAIAJBgAJqIgMQ5QEiBCABayADIAQbIgMgAiACIANLGyICEOEBGiAAIAEgA2oiAzYCVCAAIAM2AgggACABIAJqNgIEIAILTQECfyABLQAAIQICQCAALQAAIgNFDQAgAiADRw0AA0AgAS0AASECIAAtAAEiA0UNASABQQFqIQEgAEEBaiEAIAIgA0YNAAsLIAMgAmsLKAAgAEEYdCAAQYD+A3FBCHRyIABBCHZBgP4DcSAAQRh2cnIgACABGwtmAQN/IAJFBEBBAA8LAkAgAC0AACIDRQ0AA0ACQCADIAEtAAAiBUcNACAFRQ0AIAJBAWsiAkUNACABQQFqIQEgAC0AASEDIABBAWohACADDQEMAgsLIAMhBAsgBEH/AXEgAS0AAGsLgAEBBH8gACAAQT0QjgIiAUYEQEEADwsCQCAAIAEgAGsiBGotAAANAEGA/QIoAgAiAUUNACABKAIAIgJFDQADQAJAIAAgAiAEEI0DRQRAIAEoAgAgBGoiAi0AAEE9Rg0BCyABKAIEIQIgAUEEaiEBIAINAQwCCwsgAkEBaiEDCyADC+gCAQN/AkAgAS0AAA0AQecuEI4DIgEEQCABLQAADQELIABBDGxBwKkBahCOAyIBBEAgAS0AAA0BC0H8LhCOAyIBBEAgAS0AAA0BC0GeOCEBCwJAA0ACQCABIAJqLQAAIgRFDQAgBEEvRg0AQRchBCACQQFqIgJBF0cNAQwCCwsgAiEEC0GeOCEDAkACQAJAAkACQCABLQAAIgJBLkYNACABIARqLQAADQAgASEDIAJBwwBHDQELIAMtAAFFDQELIANBnjgQiwNFDQAgA0HNLRCLAw0BCyAARQRAQeSoASECIAMtAAFBLkYNAgtBAA8LQYj9AigCACICBEADQCADIAJBCGoQiwNFDQIgAigCICICDQALC0EkEIICIgIEQCACQeSoASkCADcCACACQQhqIgEgAyAEEOEBGiABIARqQQA6AAAgAkGI/QIoAgA2AiBBiP0CIAI2AgALIAJB5KgBIAAgAnIbIQILIAILtQECAn8BfiMAQaABayIEJAAgBCAAIARBngFqIAEbIgU2ApQBIAQgAUEBayIAQQAgACABTRs2ApgBA0AgBCAGp2pBADoAACAGQgF8IgZCkAFUDQALQX8hACAEQX82AkwgBEHLATYCJCAEQX82AlAgBCAEQZ8BajYCLCAEIARBlAFqNgJUAkAgAUEASARAQcj3AkE9NgIADAELIAVBADoAACAEIAIgAxD8ASEACyAEQaABaiQAIAALqgEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhDhARogAyADKAIAIAZqIgU2AgAgAyADKAIEIAZrIgQ2AgQLIAQgAiACIARLGyIEBEAgBSABIAQQ4QEaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCykBAX8jAEEQayICJAAgAiABNgIMIABB/SMgARCJAyEAIAJBEGokACAACyoBAX8jAEEQayIEJAAgBCADNgIMIAAgASACIAMQkAMhACAEQRBqJAAgAAsvACAAQQBHIABBiKkBR3EgAEGgqQFHcSAAQYz9AkdxIABBpP0CR3EEQCAAEIMCCwvRAQEBfwJAAkAgACABc0EDcQRAIAEtAAAhAgwBCyABQQNxBEADQCAAIAEtAAAiAjoAACACRQ0DIABBAWohACABQQFqIgFBA3ENAAsLIAEoAgAiAkF/cyACQYGChAhrcUGAgYKEeHENAANAIAAgAjYCACABKAIEIQIgAEEEaiEAIAFBBGohASACQYGChAhrIAJBf3NxQYCBgoR4cUUNAAsLIAAgAjoAACACQf8BcUUNAANAIAAgAS0AASICOgABIABBAWohACABQQFqIQEgAg0ACwsLswgBBX8gASgCACEEAkACQAJAAkACQAJAAkACfwJAAkACQAJAIANFDQAgAygCACIGRQ0AIABFBEAgAiEDDAMLIANBADYCACACIQMMAQsCQEHk+AIoAgAoAgBFBEAgAEUNASACRQ0MIAIhBgNAIAQsAAAiAwRAIAAgA0H/vwNxNgIAIABBBGohACAEQQFqIQQgBkEBayIGDQEMDgsLIABBADYCACABQQA2AgAgAiAGaw8LIAIhAyAARQ0DDAULIAQQ8gEPC0EBIQUMAwtBAAwBC0EBCyEFA0AgBUUEQCAELQAAQQN2IgVBEGsgBkEadSAFanJBB0sNAwJ/IARBAWoiBSAGQYCAgBBxRQ0AGiAFLQAAQcABcUGAAUcEQCAEQQFrIQQMBwsgBEECaiIFIAZBgIAgcUUNABogBS0AAEHAAXFBgAFHBEAgBEEBayEEDAcLIARBA2oLIQQgA0EBayEDQQEhBQwBCwNAIAQtAAAhBgJAIARBA3ENACAGQQFrQf4ASw0AIAQoAgAiBkGBgoQIayAGckGAgYKEeHENAANAIANBBGshAyAEKAIEIQYgBEEEaiEEIAYgBkGBgoQIa3JBgIGChHhxRQ0ACwsgBkH/AXEiBUEBa0H+AE0EQCADQQFrIQMgBEEBaiEEDAELCyAFQcIBayIFQTJLDQMgBEEBaiEEIAVBAnRBgKcBaigCACEGQQAhBQwACwALA0AgBUUEQCADRQ0HA0ACQAJAAkAgBC0AACIFQQFrIgdB/gBLBEAgBSEGDAELIANBBUkNASAEQQNxDQECQANAIAQoAgAiBkGBgoQIayAGckGAgYKEeHENASAAIAZB/wFxNgIAIAAgBC0AATYCBCAAIAQtAAI2AgggACAELQADNgIMIABBEGohACAEQQRqIQQgA0EEayIDQQRLDQALIAQtAAAhBgsgBkH/AXEiBUEBayEHCyAHQf4ASw0BCyAAIAU2AgAgAEEEaiEAIARBAWohBCADQQFrIgMNAQwJCwsgBUHCAWsiBUEySw0DIARBAWohBCAFQQJ0QYCnAWooAgAhBkEBIQUMAQsgBC0AACIFQQN2IgdBEGsgByAGQRp1anJBB0sNAQJAAkACfyAEQQFqIgcgBUGAAWsgBkEGdHIiBUEATg0AGiAHLQAAQYABayIHQT9LDQEgBEECaiIIIAcgBUEGdHIiBUEATg0AGiAILQAAQYABayIHQT9LDQEgByAFQQZ0ciEFIARBA2oLIQQgACAFNgIAIANBAWshAyAAQQRqIQAMAQtByPcCQRk2AgAgBEEBayEEDAULQQAhBQwACwALIARBAWshBCAGDQEgBC0AACEGCyAGQf8BcQ0AIAAEQCAAQQA2AgAgAUEANgIACyACIANrDwtByPcCQRk2AgAgAEUNAQsgASAENgIAC0F/DwsgASAENgIAIAILnwQCB38EfiMAQRBrIggkAAJAAkACQCACQSRMBEAgAC0AACIFDQEgACEEDAILQcj3AkEcNgIAQgAhAwwCCyAAIQQCQANAIAXAIgVBIEYgBUEJa0EFSXJFDQEgBC0AASEFIARBAWohBCAFDQALDAELAkAgBC0AACIFQStrDgMAAQABC0F/QQAgBUEtRhshByAEQQFqIQQLAn8CQCACQRByQRBHDQAgBC0AAEEwRw0AQQEhCSAELQABQd8BcUHYAEYEQCAEQQJqIQRBEAwCCyAEQQFqIQQgAkEIIAIbDAELIAJBCiACGwsiCq0hDEEAIQIDQAJAQVAhBQJAIAQsAAAiBkEwa0H/AXFBCkkNAEGpfyEFIAZB4QBrQf8BcUEaSQ0AQUkhBSAGQcEAa0H/AXFBGUsNAQsgBSAGaiIGIApODQAgCCAMQgAgC0IAEIEDQQEhBQJAIAgpAwhCAFINACALIAx+Ig0gBq0iDkJ/hVYNACANIA58IQtBASEJIAIhBQsgBEEBaiEEIAUhAgwBCwsgAQRAIAEgBCAAIAkbNgIACwJAAkAgAgRAQcj3AkHEADYCACAHQQAgA0IBgyIMUBshByADIQsMAQsgAyALVg0BIANCAYMhDAsCQCAMpw0AIAcNAEHI9wJBxAA2AgAgA0IBfSEDDAILIAMgC1oNAEHI9wJBxAA2AgAMAQsgCyAHrCIDhSADfSEDCyAIQRBqJAAgAwt/AgJ/An4jAEGgAWsiBCQAIAQgATYCPCAEIAE2AhQgBEF/NgIYIARBEGoiBUIAEPQCIAQgBSADQQEQhAMgBCkDCCEGIAQpAwAhByACBEAgAiABIAQoAhQgBCgCiAFqIAQoAjxrajYCAAsgACAGNwMIIAAgBzcDACAEQaABaiQAC14BA38gASAEIANraiEFAkADQCADIARHBEBBfyEAIAEgAkYNAiABLAAAIgYgAywAACIHSA0CIAYgB0oEQEEBDwUgA0EBaiEDIAFBAWohAQwCCwALCyACIAVHIQALIAALCwAgACACIAMQmwMLHQEBfyMAQRBrIgMkACAAIAEgAhDHAiADQRBqJAALQAEBf0EAIQADfyABIAJGBH8gAAUgASwAACAAQQR0aiIAQYCAgIB/cSIDQRh2IANyIABzIQAgAUEBaiEBDAELCwtUAQJ/AkADQCADIARHBEBBfyEAIAEgAkYNAiABKAIAIgUgAygCACIGSA0CIAUgBkoEQEEBDwUgA0EEaiEDIAFBBGohAQwCCwALCyABIAJHIQALIAALGwAjAEEQayIBJAAgACACIAMQnwMgAUEQaiQAC4kCAQN/IwBBEGsiBCQAIAIgAWtBAnUiBUHv////A00EQAJAIAVBAkkEQCAAIAAtAAtBgAFxIAVyOgALIAAgAC0AC0H/AHE6AAsgACEDDAELIARBCGogACAFQQJPBH8gBUEEakF8cSIDIANBAWsiAyADQQJGGwVBAQtBAWoQpwUgBCgCDBogACAEKAIIIgM2AgAgACAAKAIIQYCAgIB4cSAEKAIMQf////8HcXI2AgggACAAKAIIQYCAgIB4cjYCCCAAIAU2AgQLA0AgASACRwRAIAMgASgCADYCACADQQRqIQMgAUEEaiEBDAELCyAEQQA2AgQgAyAEKAIENgIAIARBEGokAA8LEDgAC0ABAX9BACEAA38gASACRgR/IAAFIAEoAgAgAEEEdGoiAEGAgICAf3EiA0EYdiADciAAcyEAIAFBBGohAQwBCwsLsAQBAn8jAEEgayIGJAAgBiABNgIYAkACQAJAIAMoAgRBAXFFBEAgBkF/NgIAIAAgASACIAMgBCAGIAAoAgAoAhARCAAhAQJAAkAgBigCAA4CAwABCyAFQQE6AAAMBAsgBUEBOgAAIARBBDYCAAwDCyAGIAMoAhwiADYCACAAIAAoAgRBAWo2AgQGQCAGEK8CIQcMAhkgBiQAIAYoAgAiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsJAAsACyAFQQA6AAAMAQsgBigCACIAIAAoAgRBAWsiATYCBCABQX9GBEAgACAAKAIAKAIIEQIACyAGIAMoAhwiADYCACAAIAAoAgRBAWo2AgQGQCAGEKIDIQAZIAYkACAGKAIAIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALCQALIAYoAgAiASABKAIEQQFrIgM2AgQgA0F/RgRAIAEgASgCACgCCBECAAsgBiAGNgIcBkAgBiAAIAAoAgAoAhgRAAAgBiAGQQxyIgE2AhwgASAAIAAoAgAoAhwRAAAZIAYkACAGKAIcIgMgBkcEQANAIANBDGsQ8gUiAyAGRw0ACwsJAAsGQCAGQRhqIgMgAiAGIAMgByAEQQEQowMhABkgBiQAA0AgA0EMaxDyBSIDIAZHDQALCQALIAUgACAGRjoAACAGKAIYIQEDQCADQQxrEPIFIgMgBkcNAAsLIAZBIGokACABCwsAIABByP8CEKQDC9sFAQt/IwBBgAFrIggkACAIIAE2AnwgAyACa0EMbSEJIAhBzAE2AgQgCEEIakEAIAhBBGoQzgIhDiAIQRBqIQoGQAJAIAlB5QBPBEAgCRCCAiIKRQRAELwFAAsgDiAKEKUDCyAKIQcgAiEBA0AgASADRgRAA0AgACAIQfwAahCxAiAJRXJBAUYEQCAAIAhB/ABqELECBEAgBSAFKAIAQQJyNgIACwwECwJ/IAAoAgAiBygCDCIBIAcoAhBGBEAgByAHKAIAKAIkEQEADAELIAEtAAALwCENIAZFBEAgBCANIAQoAgAoAgwRAwAhDQsgD0EBaiEMQQAhECAKIQcgAiEBA0AgASADRgRAIAwhDyAQRQ0CIAAQsgIaIAohByACIQEgCSALakECSQ0CA0AgASADRg0DAkAgBy0AAEECRw0AAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIA9GDQAgB0EAOgAAIAtBAWshCwsgB0EBaiEHIAFBDGohAQwACwALAkAgBy0AAEEBRw0AAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsgD2otAAAhEQJAIA1B/wFxIAYEfyARBSAEIBHAIAQoAgAoAgwRAwALQf8BcUYEQEEBIRACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgDEcNAiAHQQI6AAAgC0EBaiELDAELIAdBADoAAAsgCUEBayEJCyAHQQFqIQcgAUEMaiEBDAALAAsABSAHQQJBAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0UiDBs6AAAgB0EBaiEHIAFBDGohASALIAxqIQsgCSAMayEJDAELAAsACxkgCCQAIA4QpgMJAAsCQAJAA0AgAiADRg0BIAotAABBAkcEQCAKQQFqIQogAkEMaiECDAELCyACIQMMAQsgBSAFKAIAQQRyNgIACyAOEKYDIAhBgAFqJAAgAwspACAAKAIAIgAgARDEBCIBEMsERQRAENICAAsgACgCCCABQQJ0aigCAAs0AQF/IAAoAgAhAiAAIAE2AgAgAgRAIwAhAQZAIAIgAEEEaigCABECABkgASQAEKEGAAsLCwkAIABBABClAwu2BQECfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIAMQqAMhBiAAQcQBaiADIABB9wFqEKkDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQfwBaiAAQfgBahCxAg0AIAAoArQBAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAJqRgRAAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIQMgAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0EBdBDIAiABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgACADAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAmo2ArQBCwJ/IAAoAvwBIgMoAgwiByADKAIQRgRAIAMgAygCACgCJBEBAAwBCyAHLQAAC8AgBiACIABBtAFqIABBCGogACwA9wEgAEHEAWogAEEQaiAAQQxqQaDCARCqAw0AIABB/AFqELICGgwBCwsCQAJ/IAAtAM8BQQd2BEAgACgCyAEMAQsgAC0AzwFB/wBxC0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCrAzYCACAAQcQBaiAAQRBqIAAoAgwgBBCsAyAAQfwBaiAAQfgBahCxAiECGSAAJAAgARDyBRogAEHEAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAvwBIQIgARDyBRogAEHEAWoQ8gUaIABBgAJqJAAgAgsuAAJAIAAoAgRBygBxIgAEQCAAQcAARgRAQQgPCyAAQQhHDQFBEA8LQQAPC0EKC7QBAQJ/IwBBEGsiAyQAIANBDGoiBCABKAIcIgE2AgAgASABKAIEQQFqNgIEBkAgAiAEEKIDIgEgASgCACgCEBEBADoAACAAIAEgASgCACgCFBEAABkgAyQAIAMoAgwiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsJAAsgAygCDCIAIAAoAgRBAWsiATYCBCABQX9GBEAgACAAKAIAKAIIEQIACyADQRBqJAALjAMBA38jAEEQayIKJAAgCiAAOgAPAkACQAJAIAMoAgAgAkcNAEErIQsgAEH/AXEiDCAJLQAYRwRAQS0hCyAJLQAZIAxHDQELIAMgAkEBajYCACACIAs6AAAMAQsCQAJ/IAYtAAtBB3YEQCAGKAIEDAELIAYtAAtB/wBxC0UNACAAIAVHDQBBACEAIAgoAgAiASAHa0GfAUoNAiAEKAIAIQAgCCABQQRqNgIAIAEgADYCAAwBC0F/IQAgCSAJQRpqIApBD2oQwAMgCWsiBUEXSg0BAkACQAJAIAFBCGsOAwACAAELIAEgBUoNAQwDCyABQRBHDQAgBUEWSA0AIAMoAgAiASACRg0CIAEgAmtBAkoNAiABQQFrLQAAQTBHDQJBACEAIARBADYCACADIAFBAWo2AgAgASAFQaDCAWotAAA6AAAMAgsgAyADKAIAIgBBAWo2AgAgACAFQaDCAWotAAA6AAAgBCAEKAIAQQFqNgIAQQAhAAwBC0EAIQAgBEEANgIACyAKQRBqJAAgAAvFAQICfwF+IwBBEGsiBCQAAn8CQAJAIAAgAUcEQEHI9wIoAgAhBUHI9wJBADYCACAAIARBDGogAxC+AxC5BSEGAkBByPcCKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBAwDC0HI9wIgBTYCACAEKAIMIAFGDQILCyACQQQ2AgBBAAwCCyAGQoCAgIB4Uw0AIAZC/////wdVDQAgBqcMAQsgAkEENgIAQf////8HIAZCAFUNABpBgICAgHgLIQAgBEEQaiQAIAAL8AEBAn8CfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQshBAJAIAIgAWtBBUgNACAERQ0AIAEgAhD5AyACQQRrIQQCfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsCfyAALQALQQd2BEAgACgCAAwBCyAACyICaiEFAkADQAJAIAIsAAAhACABIARPDQACQCAAQQBMDQAgAEH/AE4NACABKAIAIAIsAABHDQMLIAFBBGohASACIAUgAmtBAUpqIQIMAQsLIABBAEwNASAAQf8ATg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACwu2BQECfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIAMQqAMhBiAAQcQBaiADIABB9wFqEKkDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQfwBaiAAQfgBahCxAg0AIAAoArQBAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAJqRgRAAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIQMgAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0EBdBDIAiABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgACADAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAmo2ArQBCwJ/IAAoAvwBIgMoAgwiByADKAIQRgRAIAMgAygCACgCJBEBAAwBCyAHLQAAC8AgBiACIABBtAFqIABBCGogACwA9wEgAEHEAWogAEEQaiAAQQxqQaDCARCqAw0AIABB/AFqELICGgwBCwsCQAJ/IAAtAM8BQQd2BEAgACgCyAEMAQsgAC0AzwFB/wBxC0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCuAzcDACAAQcQBaiAAQRBqIAAoAgwgBBCsAyAAQfwBaiAAQfgBahCxAiECGSAAJAAgARDyBRogAEHEAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAvwBIQIgARDyBRogAEHEAWoQ8gUaIABBgAJqJAAgAgu3AQIBfgJ/IwBBEGsiBSQAAkACQCAAIAFHBEBByPcCKAIAIQZByPcCQQA2AgAgACAFQQxqIAMQvgMQuQUhBAJAQcj3AigCACIABEAgBSgCDCABRw0BIABBxABGDQMMBAtByPcCIAY2AgAgBSgCDCABRg0DCwsgAkEENgIAQgAhBAwBCyACQQQ2AgAgBEIAVQRAQv///////////wAhBAwBC0KAgICAgICAgIB/IQQLIAVBEGokACAEC7YFAQJ/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEgAxCoAyEGIABBxAFqIAMgAEH3AWoQqQMGQCMAQRBrIgIkACAAQbgBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB/AFqIABB+AFqELECDQAgACgCtAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCtAELAn8gACgC/AEiAygCDCIHIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIActAAALwCAGIAIgAEG0AWogAEEIaiAALAD3ASAAQcQBaiAAQRBqIABBDGpBoMIBEKoDDQAgAEH8AWoQsgIaDAELCwJAAn8gAC0AzwFBB3YEQCAAKALIAQwBCyAALQDPAUH/AHELRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGELADOwEAIABBxAFqIABBEGogACgCDCAEEKwDIABB/AFqIABB+AFqELECIQIZIAAkACABEPIFGiAAQcQBahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgC/AEhAiABEPIFGiAAQcQBahDyBRogAEGAAmokACACC90BAgN/AX4jAEEQayIEJAACfwJAAkACQCAAIAFHBEACQAJAIAAtAAAiBUEtRw0AIABBAWoiACABRw0ADAELQcj3AigCACEGQcj3AkEANgIAIAAgBEEMaiADEL4DELoFIQcCQEHI9wIoAgAiAARAIAQoAgwgAUcNASAAQcQARg0FDAQLQcj3AiAGNgIAIAQoAgwgAUYNAwsLCyACQQQ2AgBBAAwDCyAHQv//A1gNAQsgAkEENgIAQf//AwwBC0EAIAenIgBrIAAgBUEtRhsLIQAgBEEQaiQAIABB//8DcQu2BQECfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIAMQqAMhBiAAQcQBaiADIABB9wFqEKkDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQfwBaiAAQfgBahCxAg0AIAAoArQBAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAJqRgRAAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIQMgAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0EBdBDIAiABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgACADAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAmo2ArQBCwJ/IAAoAvwBIgMoAgwiByADKAIQRgRAIAMgAygCACgCJBEBAAwBCyAHLQAAC8AgBiACIABBtAFqIABBCGogACwA9wEgAEHEAWogAEEQaiAAQQxqQaDCARCqAw0AIABB/AFqELICGgwBCwsCQAJ/IAAtAM8BQQd2BEAgACgCyAEMAQsgAC0AzwFB/wBxC0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCyAzYCACAAQcQBaiAAQRBqIAAoAgwgBBCsAyAAQfwBaiAAQfgBahCxAiECGSAAJAAgARDyBRogAEHEAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAvwBIQIgARDyBRogAEHEAWoQ8gUaIABBgAJqJAAgAgvYAQIDfwF+IwBBEGsiBCQAAn8CQAJAAkAgACABRwRAAkACQCAALQAAIgVBLUcNACAAQQFqIgAgAUcNAAwBC0HI9wIoAgAhBkHI9wJBADYCACAAIARBDGogAxC+AxC6BSEHAkBByPcCKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBQwEC0HI9wIgBjYCACAEKAIMIAFGDQMLCwsgAkEENgIAQQAMAwsgB0L/////D1gNAQsgAkEENgIAQX8MAQtBACAHpyIAayAAIAVBLUYbCyEAIARBEGokACAAC7YFAQJ/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEgAxCoAyEGIABBxAFqIAMgAEH3AWoQqQMGQCMAQRBrIgIkACAAQbgBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB/AFqIABB+AFqELECDQAgACgCtAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCtAELAn8gACgC/AEiAygCDCIHIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIActAAALwCAGIAIgAEG0AWogAEEIaiAALAD3ASAAQcQBaiAAQRBqIABBDGpBoMIBEKoDDQAgAEH8AWoQsgIaDAELCwJAAn8gAC0AzwFBB3YEQCAAKALIAQwBCyAALQDPAUH/AHELRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGELQDNwMAIABBxAFqIABBEGogACgCDCAEEKwDIABB/AFqIABB+AFqELECIQIZIAAkACABEPIFGiAAQcQBahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgC/AEhAiABEPIFGiAAQcQBahDyBRogAEGAAmokACACC8cBAgN/AX4jAEEQayIEJAACfgJAAkAgACABRwRAAkACQCAALQAAIgVBLUcNACAAQQFqIgAgAUcNAAwBC0HI9wIoAgAhBkHI9wJBADYCACAAIARBDGogAxC+AxC6BSEHAkBByPcCKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBAwFC0HI9wIgBjYCACAEKAIMIAFGDQQLCwsgAkEENgIAQgAMAgsgAkEENgIAQn8MAQtCACAHfSAHIAVBLUYbCyEHIARBEGokACAHC+AFAQF/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEgAEHAAWogAyAAQdABaiAAQc8BaiAAQc4BahC2AwZAIwBBEGsiAiQAIABBtAFqIgFCADcCACABQQA2AgggAkEQaiQAIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAjYCsAEgACAAQRBqNgIMIABBADYCCCAAQQE6AAcgAEHFADoABgNAAkAgAEH8AWogAEH4AWoQsQINACAAKAKwAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyACakYEQAJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyEDIAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQtBAXQQyAIgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAAgAwJ/IAEtAAtBB3YEQCABKAIADAELIAELIgJqNgKwAQsCfyAAKAL8ASIDKAIMIgYgAygCEEYEQCADIAMoAgAoAiQRAQAMAQsgBi0AAAvAIABBB2ogAEEGaiACIABBsAFqIAAsAM8BIAAsAM4BIABBwAFqIABBEGogAEEMaiAAQQhqIABB0AFqELcDDQAgAEH8AWoQsgIaDAELCwJAAn8gAC0AywFBB3YEQCAAKALEAQwBCyAALQDLAUH/AHELRQ0AIAAtAAdFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAKwASAEELgDOAIAIABBwAFqIABBEGogACgCDCAEEKwDIABB/AFqIABB+AFqELECIQIZIAAkACABEPIFGiAAQcABahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgC/AEhAiABEPIFGiAAQcABahDyBRogAEGAAmokACACC+MBAQJ/IwBBEGsiBSQAIAVBDGoiBiABKAIcIgE2AgAgASABKAIEQQFqNgIEBkAgBhCvAiIBQaDCAUHAwgEgAiABKAIAKAIgEQYAGiADIAYQogMiASABKAIAKAIMEQEAOgAAIAQgASABKAIAKAIQEQEAOgAAIAAgASABKAIAKAIUEQAAGSAFJAAgBSgCDCIAIAAoAgRBAWsiATYCBCABQX9GBEAgACAAKAIAKAIIEQIACwkACyAFKAIMIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALIAVBEGokAAvuBAEBfyMAQRBrIgwkACAMIAA6AA8CQAJAIAAgBUYEQCABLQAARQ0BQQAhACABQQA6AAAgBCAEKAIAIgFBAWo2AgAgAUEuOgAAAn8gBy0AC0EHdgRAIAcoAgQMAQsgBy0AC0H/AHELRQ0CIAkoAgAiASAIa0GfAUoNAiAKKAIAIQIgCSABQQRqNgIAIAEgAjYCAAwCCwJAIAAgBkcNAAJ/IActAAtBB3YEQCAHKAIEDAELIActAAtB/wBxC0UNACABLQAARQ0BQQAhACAJKAIAIgEgCGtBnwFKDQIgCigCACEAIAkgAUEEajYCACABIAA2AgBBACEAIApBADYCAAwCC0F/IQAgCyALQSBqIAxBD2oQwAMgC2siBkEfSg0BIAZBoMIBaiwAACEFAkACQAJAAkAgBkF+cUEWaw4DAQIAAgsgAyAEKAIAIgFHBEAgAUEBaywAACIDQd8AcSADIANB4QBrQRpJGyACLAAAIgJB3wBxIAIgAkHhAGtBGkkbRw0FCyAEIAFBAWo2AgAgASAFOgAAQQAhAAwECyACQdAAOgAADAELIAVB3wBxIAUgBUHhAGtBGkkbIgAgAiwAAEcNACACIABBIHIgACAAQcEAa0EaSRs6AAAgAS0AAEUNACABQQA6AAACfyAHLQALQQd2BEAgBygCBAwBCyAHLQALQf8AcQtFDQAgCSgCACIAIAhrQZ8BSg0AIAooAgAhASAJIABBBGo2AgAgACABNgIACyAEIAQoAgAiAEEBajYCACAAIAU6AABBACEAIAZBFUoNASAKIAooAgBBAWo2AgAMAQtBfyEACyAMQRBqJAAgAAu7AQIEfwJ9IwBBEGsiAyQAAkACQAJAIAAgAUcEQEHI9wIoAgAhBUHI9wJBADYCACADQQxqIQYQvgMaIwBBEGsiBCQAIAQgACAGQQAQmAMgBCkDACAEKQMIEIYDIQcgBEEQaiQAQcj3AigCACIARQ0BIAMoAgwgAUcNAiAHIQggAEHEAEcNAwwCCyACQQQ2AgAMAgtByPcCIAU2AgAgAygCDCABRg0BCyACQQQ2AgAgCCEHCyADQRBqJAAgBwvgBQEBfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIABBwAFqIAMgAEHQAWogAEHPAWogAEHOAWoQtgMGQCMAQRBrIgIkACAAQbQBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArABIAAgAEEQajYCDCAAQQA2AgggAEEBOgAHIABBxQA6AAYDQAJAIABB/AFqIABB+AFqELECDQAgACgCsAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCsAELAn8gACgC/AEiAygCDCIGIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIAYtAAALwCAAQQdqIABBBmogAiAAQbABaiAALADPASAALADOASAAQcABaiAAQRBqIABBDGogAEEIaiAAQdABahC3Aw0AIABB/AFqELICGgwBCwsCQAJ/IAAtAMsBQQd2BEAgACgCxAEMAQsgAC0AywFB/wBxC0UNACAALQAHRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCsAEgBBC6AzkDACAAQcABaiAAQRBqIAAoAgwgBBCsAyAAQfwBaiAAQfgBahCxAiECGSAAJAAgARDyBRogAEHAAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAvwBIQIgARDyBRogAEHAAWoQ8gUaIABBgAJqJAAgAgu7AQIEfwJ8IwBBEGsiAyQAAkACQAJAIAAgAUcEQEHI9wIoAgAhBUHI9wJBADYCACADQQxqIQYQvgMaIwBBEGsiBCQAIAQgACAGQQEQmAMgBCkDACAEKQMIEIgCIQcgBEEQaiQAQcj3AigCACIARQ0BIAMoAgwgAUcNAiAHIQggAEHEAEcNAwwCCyACQQQ2AgAMAgtByPcCIAU2AgAgAygCDCABRg0BCyACQQQ2AgAgCCEHCyADQRBqJAAgBwv3BQIBfwF+IwBBkAJrIgAkACAAIAI2AogCIAAgATYCjAIgAEHQAWogAyAAQeABaiAAQd8BaiAAQd4BahC2AwZAIwBBEGsiAiQAIABBxAFqIgFCADcCACABQQA2AgggAkEQaiQAIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAjYCwAEgACAAQSBqNgIcIABBADYCGCAAQQE6ABcgAEHFADoAFgNAAkAgAEGMAmogAEGIAmoQsQINACAAKALAAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyACakYEQAJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyEDIAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQtBAXQQyAIgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAAgAwJ/IAEtAAtBB3YEQCABKAIADAELIAELIgJqNgLAAQsCfyAAKAKMAiIDKAIMIgYgAygCEEYEQCADIAMoAgAoAiQRAQAMAQsgBi0AAAvAIABBF2ogAEEWaiACIABBwAFqIAAsAN8BIAAsAN4BIABB0AFqIABBIGogAEEcaiAAQRhqIABB4AFqELcDDQAgAEGMAmoQsgIaDAELCwJAAn8gAC0A2wFBB3YEQCAAKALUAQwBCyAALQDbAUH/AHELRQ0AIAAtABdFDQAgACgCHCIDIABBIGprQZ8BSg0AIAAgA0EEajYCHCADIAAoAhg2AgALIAAgAiAAKALAASAEELwDIAApAwghByAFIAApAwA3AwAgBSAHNwMIIABB0AFqIABBIGogACgCHCAEEKwDIABBjAJqIABBiAJqELECIQIZIAAkACABEPIFGiAAQdABahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgCjAIhAiABEPIFGiAAQdABahDyBRogAEGQAmokACACC7YCAgR+Bn8jAEEgayIIJAACQAJAAkAgASACRwRAQcj3AigCACEMQcj3AkEANgIAIwBBEGsiCSQAIAhBHGohDRC+AxojAEEQayIKJAAjAEEQayILJAAgCyABIA1BAhCYAyALKQMAIQQgCiALKQMINwMIIAogBDcDACALQRBqJAAgCikDACEEIAkgCikDCDcDCCAJIAQ3AwAgCkEQaiQAIAkpAwAhBCAIIAkpAwg3AxAgCCAENwMIIAlBEGokACAIKQMQIQQgCCkDCCEFQcj3AigCACIBRQ0BIAgoAhwgAkcNAiAFIQYgBCEHIAFBxABHDQMMAgsgA0EENgIADAILQcj3AiAMNgIAIAgoAhwgAkYNAQsgA0EENgIAIAYhBSAHIQQLIAAgBTcDACAAIAQ3AwggCEEgaiQAC7MGAQJ/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEjAEEQayIBJAAgAEHEAWoiBkIANwIAIAZBADYCCCABQRBqJAAGQCAAQRBqIgIgAygCHCIBNgIAIAEgASgCBEEBajYCBAZAIAIQrwIiAUGgwgFBusIBIABB0AFqIAEoAgAoAiARBgAaGSAAJAAGQCAAKAIQIgEgASgCBEEBayICNgIEIAJBf0YEQCABIAEoAgAoAggRAgALGAIJAAsGQCAAKAIQIgEgASgCBEEBayICNgIEIAJBf0YEQCABIAEoAgAoAggRAgALGAEGQCMAQRBrIgEkACAAQbgBaiICQgA3AgAgAkEANgIIIAFBEGokACACIAItAAtBB3YEfyACKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAItAAtBB3YEQCACKAIADAELIAILIgE2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB/AFqIABB+AFqELECDQAgACgCtAECfyACLQALQQd2BEAgAigCBAwBCyACLQALQf8AcQsgAWpGBEACfyACLQALQQd2BEAgAigCBAwBCyACLQALQf8AcQshAyACAn8gAi0AC0EHdgRAIAIoAgQMAQsgAi0AC0H/AHELQQF0EMgCIAIgAi0AC0EHdgR/IAIoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyACLQALQQd2BEAgAigCAAwBCyACCyIBajYCtAELAn8gACgC/AEiAygCDCIHIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIActAAALwEEQIAEgAEG0AWogAEEIakEAIAYgAEEQaiAAQQxqIABB0AFqEKoDDQAgAEH8AWoQsgIaDAELCyACIAAoArQBIAFrEMgCAn8gAi0AC0EHdgRAIAIoAgAMAQsgAgshARC+AyEDIAAgBTYCACABIAMgABC/A0EBRwRAIARBBDYCAAsgAEH8AWogAEH4AWoQsQIhARkgACQAIAIQ8gUaCQALGSAAJAAgBhDyBRoJAAsgAQRAIAQgBCgCAEECcjYCAAsgACgC/AEhASACEPIFGiAGEPIFGiAAQYACaiQAIAEL1AIBA39B6P4CLQAABEBB5P4CKAIADwsjAEEgayIBJAACQAJAA0AgAUEIaiAAQQJ0aiAAQfMvQZDdAEEBIAB0Qf////8HcRsQjwMiAjYCACACQX9GDQEgAEEBaiIAQQZHDQALQYipASEAIAFBCGpBiKkBQRgQ5gFFDQFBoKkBIQAgAUEIakGgqQFBGBDmAUUNAUEAIQBBvP0CLQAARQRAA0AgAEECdEGM/QJqIABBkN0AEI8DNgIAIABBAWoiAEEGRw0AC0G8/QJBAToAAEGk/QJBjP0CKAIANgIAC0GM/QIhACABQQhqQYz9AkEYEOYBRQ0BQaT9AiEAIAFBCGpBpP0CQRgQ5gFFDQFBGBCCAiIARQ0AIAAgASkCCDcCACAAIAEpAhg3AhAgACABKQIQNwIIDAELQQAhAAsgAUEgaiQAQej+AkEBOgAAQeT+AiAANgIAIAALbAEBfyMAQRBrIgMkACADIAE2AgwgAyACNgIIIANBBGogA0EMahDBAyEBIABBpBsgAygCCBCJAyECIAEoAgAiAARAQeT4AigCABogAARAQeT4AkHs9wIgACAAQX9GGzYCAAsLIANBEGokACACCzEAIAItAAAhAgNAAkAgACABRwR/IAAtAAAgAkcNASAABSABCw8LIABBAWohAAwACwALPQEBf0Hk+AIoAgAhAiABKAIAIgEEQEHk+AJB7PcCIAEgAUF/Rhs2AgALIABBfyACIAJB7PcCRhs2AgAgAAuwBAECfyMAQSBrIgYkACAGIAE2AhgCQAJAAkAgAygCBEEBcUUEQCAGQX82AgAgACABIAIgAyAEIAYgACgCACgCEBEIACEBAkACQCAGKAIADgIDAAELIAVBAToAAAwECyAFQQE6AAAgBEEENgIADAMLIAYgAygCHCIANgIAIAAgACgCBEEBajYCBAZAIAYQwAIhBwwCGSAGJAAgBigCACIAIAAoAgRBAWsiATYCBCABQX9GBEAgACAAKAIAKAIIEQIACwkACwALIAVBADoAAAwBCyAGKAIAIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALIAYgAygCHCIANgIAIAAgACgCBEEBajYCBAZAIAYQwwMhABkgBiQAIAYoAgAiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsJAAsgBigCACIBIAEoAgRBAWsiAzYCBCADQX9GBEAgASABKAIAKAIIEQIACyAGIAY2AhwGQCAGIAAgACgCACgCGBEAACAGIAZBDHIiATYCHCABIAAgACgCACgCHBEAABkgBiQAIAYoAhwiAyAGRwRAA0AgA0EMaxD+BSIDIAZHDQALCwkACwZAIAZBGGoiAyACIAYgAyAHIARBARDEAyEAGSAGJAADQCADQQxrEP4FIgMgBkcNAAsJAAsgBSAAIAZGOgAAIAYoAhghAQNAIANBDGsQ/gUiAyAGRw0ACwsgBkEgaiQAIAELCwAgAEHQ/wIQpAML1AUBC38jAEGAAWsiCCQAIAggATYCfCADIAJrQQxtIQkgCEHMATYCBCAIQQhqQQAgCEEEahDOAiEOIAhBEGohCgZAAkAgCUHlAE8EQCAJEIICIgpFBEAQvAUACyAOIAoQpQMLIAohByACIQEDQCABIANGBEADQCAAIAhB/ABqEMECIAlFckEBRgRAIAAgCEH8AGoQwQIEQCAFIAUoAgBBAnI2AgALDAQLAn8gACgCACIHKAIMIgEgBygCEEYEQCAHIAcoAgAoAiQRAQAMAQsgASgCAAshDSAGRQRAIAQgDSAEKAIAKAIcEQMAIQ0LIA9BAWohDEEAIRAgCiEHIAIhAQNAIAEgA0YEQCAMIQ8gEEUNAiAAEMICGiAKIQcgAiEBIAkgC2pBAkkNAgNAIAEgA0YNAwJAIActAABBAkcNAAJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyAPRg0AIAdBADoAACALQQFrIQsLIAdBAWohByABQQxqIQEMAAsACwJAIActAABBAUcNAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIA9BAnRqKAIAIRECQCAGBH8gEQUgBCARIAQoAgAoAhwRAwALIA1GBEBBASEQAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAxHDQIgB0ECOgAAIAtBAWohCwwBCyAHQQA6AAALIAlBAWshCQsgB0EBaiEHIAFBDGohAQwACwALAAUgB0ECQQECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQtFIgwbOgAAIAdBAWohByABQQxqIQEgCyAMaiELIAkgDGshCQwBCwALAAsZIAgkACAOEKYDCQALAkACQANAIAIgA0YNASAKLQAAQQJHBEAgCkEBaiEKIAJBDGohAgwBCwsgAiEDDAELIAUgBSgCAEEEcjYCAAsgDhCmAyAIQYABaiQAIAMLwAUBA38jAEHQAmsiACQAIAAgAjYCyAIgACABNgLMAiADEKgDIQYgAyAAQdABahDGAyEHIABBxAFqIAMgAEHEAmoQxwMGQCMAQRBrIgIkACAAQbgBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqEMECDQAgACgCtAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCtAELAn8gACgCzAIiAygCDCIIIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIAgoAgALIAYgAiAAQbQBaiAAQQhqIAAoAsQCIABBxAFqIABBEGogAEEMaiAHEMgDDQAgAEHMAmoQwgIaDAELCwJAAn8gAC0AzwFBB3YEQCAAKALIAQwBCyAALQDPAUH/AHELRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGEKsDNgIAIABBxAFqIABBEGogACgCDCAEEKwDIABBzAJqIABByAJqEMECIQIZIAAkACABEPIFGiAAQcQBahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgCzAIhAiABEPIFGiAAQcQBahDyBRogAEHQAmokACACC60BAQJ/IwBBEGsiAiQAIAJBDGoiAyAAKAIcIgA2AgAgACAAKAIEQQFqNgIEBkAgAxDAAiIAQaDCAUG6wgEgASAAKAIAKAIwEQYAGhkgAiQAIAIoAgwiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsJAAsgAigCDCIAIAAoAgRBAWsiAzYCBCADQX9GBEAgACAAKAIAKAIIEQIACyACQRBqJAAgAQu0AQECfyMAQRBrIgMkACADQQxqIgQgASgCHCIBNgIAIAEgASgCBEEBajYCBAZAIAIgBBDDAyIBIAEoAgAoAhARAQA2AgAgACABIAEoAgAoAhQRAAAZIAMkACADKAIMIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALCQALIAMoAgwiACAAKAIEQQFrIgE2AgQgAUF/RgRAIAAgACgCACgCCBECAAsgA0EQaiQAC5ADAQJ/IwBBEGsiCiQAIAogADYCDAJAAkACQCADKAIAIAJHDQBBKyELIAAgCSgCYEcEQEEtIQsgCSgCZCAARw0BCyADIAJBAWo2AgAgAiALOgAADAELAkACfyAGLQALQQd2BEAgBigCBAwBCyAGLQALQf8AcQtFDQAgACAFRw0AQQAhACAIKAIAIgEgB2tBnwFKDQIgBCgCACEAIAggAUEEajYCACABIAA2AgAMAQtBfyEAIAkgCUHoAGogCkEMahDTAyAJayIGQdwASg0BIAZBAnUhBQJAAkACQCABQQhrDgMAAgABCyABIAVKDQEMAwsgAUEQRw0AIAZB2ABIDQAgAygCACIBIAJGDQIgASACa0ECSg0CIAFBAWstAABBMEcNAkEAIQAgBEEANgIAIAMgAUEBajYCACABIAVBoMIBai0AADoAAAwCCyADIAMoAgAiAEEBajYCACAAIAVBoMIBai0AADoAACAEIAQoAgBBAWo2AgBBACEADAELQQAhACAEQQA2AgALIApBEGokACAAC8AFAQN/IwBB0AJrIgAkACAAIAI2AsgCIAAgATYCzAIgAxCoAyEGIAMgAEHQAWoQxgMhByAAQcQBaiADIABBxAJqEMcDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQcwCaiAAQcgCahDBAg0AIAAoArQBAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIAJqRgRAAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELIQMgAQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxC0EBdBDIAiABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgACADAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAmo2ArQBCwJ/IAAoAswCIgMoAgwiCCADKAIQRgRAIAMgAygCACgCJBEBAAwBCyAIKAIACyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxDIAw0AIABBzAJqEMICGgwBCwsCQAJ/IAAtAM8BQQd2BEAgACgCyAEMAQsgAC0AzwFB/wBxC0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCuAzcDACAAQcQBaiAAQRBqIAAoAgwgBBCsAyAAQcwCaiAAQcgCahDBAiECGSAAJAAgARDyBRogAEHEAWoQ8gUaCQALIAIEQCAEIAQoAgBBAnI2AgALIAAoAswCIQIgARDyBRogAEHEAWoQ8gUaIABB0AJqJAAgAgvABQEDfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQqAMhBiADIABB0AFqEMYDIQcgAEHEAWogAyAAQcQCahDHAwZAIwBBEGsiAiQAIABBuAFqIgFCADcCACABQQA2AgggAkEQaiQAIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAAn8gAS0AC0EHdgRAIAEoAgAMAQsgAQsiAjYCtAEgACAAQRBqNgIMIABBADYCCANAAkAgAEHMAmogAEHIAmoQwQINACAAKAK0AQJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyACakYEQAJ/IAEtAAtBB3YEQCABKAIEDAELIAEtAAtB/wBxCyEDIAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQtBAXQQyAIgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAAgAwJ/IAEtAAtBB3YEQCABKAIADAELIAELIgJqNgK0AQsCfyAAKALMAiIDKAIMIgggAygCEEYEQCADIAMoAgAoAiQRAQAMAQsgCCgCAAsgBiACIABBtAFqIABBCGogACgCxAIgAEHEAWogAEEQaiAAQQxqIAcQyAMNACAAQcwCahDCAhoMAQsLAkACfyAALQDPAUEHdgRAIAAoAsgBDAELIAAtAM8BQf8AcQtFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK0ASAEIAYQsAM7AQAgAEHEAWogAEEQaiAAKAIMIAQQrAMgAEHMAmogAEHIAmoQwQIhAhkgACQAIAEQ8gUaIABBxAFqEPIFGgkACyACBEAgBCAEKAIAQQJyNgIACyAAKALMAiECIAEQ8gUaIABBxAFqEPIFGiAAQdACaiQAIAILwAUBA38jAEHQAmsiACQAIAAgAjYCyAIgACABNgLMAiADEKgDIQYgAyAAQdABahDGAyEHIABBxAFqIAMgAEHEAmoQxwMGQCMAQRBrIgIkACAAQbgBaiIBQgA3AgAgAUEANgIIIAJBEGokACABIAEtAAtBB3YEfyABKAIIQf////8HcUEBawVBCgsQyAIgAAJ/IAEtAAtBB3YEQCABKAIADAELIAELIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqEMECDQAgACgCtAECfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsgAmpGBEACfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQshAyABAn8gAS0AC0EHdgRAIAEoAgQMAQsgAS0AC0H/AHELQQF0EMgCIAEgAS0AC0EHdgR/IAEoAghB/////wdxQQFrBUEKCxDIAiAAIAMCfyABLQALQQd2BEAgASgCAAwBCyABCyICajYCtAELAn8gACgCzAIiAygCDCIIIAMoAhBGBEAgAyADKAIAKAIkEQEADAELIAgoAgALIAYgAiAAQbQBaiAAQQhqIAAoAsQCIABBxAFqIABBEGogAEEMaiAHEMgDDQAgAEHMAmoQwgIaDAELCwJAAn8gAC0AzwFBB3YEQCAAKALIAQwBCyAALQDPAUH/AHELRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGELIDNgIAIABBxAFqIABBEGogACgCDCAEEKwDIABBzAJqIABByAJqEMECIQIZIAAkACABEPIFGiAAQcQBahDyBRoJAAsgAgRAIAQgBCgCAEECcjYCAAsgACgCzAIhAiABEPIFGiAAQcQBahDyBRogAEHQAmokACACC8AFAQN/IwBB0AJrIgAkACAAIAI2AsgCIAAgATYCzAIgAxCoAyEGIAMgAEHQAWoQxgMhByAAQcQBaiADIABBxAJqEMcDBkAjAEEQayICJAAgAEG4AWoiAUIANwIAIAFBADYCCCACQRBqJAAgASABLQALQQd2BH8gASgCCEH/////B3FBAWsFQQoLEMgCIAACfyABLQALQQd2BEAgASgCAAwBCyABCyICNgK0ASAAIABBEGo2AgwgAEEANgII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C0HgAGoQoAQgCygCZCEKCyALIApBBGo2AmQgCiABNgIACwJAIAsoAhRBAEwNAAJAIAAgC0GMBGoQwQJFBEACfyAAKAIAIgEoAgwiBCABKAIQRgRAIAEgASgCACgCJBEBAAwBCyAEKAIACyEBIAEgCygCWEYNAQsMAwsgABDCAhoDQCALKAIUQQBMDQECQCAAIAtBjARqEMECRQRAIAdBwAACfyAAKAIAIgEoAgwiBCABKAIQRgRAIAEgASgCACgCJBEBAAwBCyAEKAIACyAHKAIAKAIMEQQADQELDAQLIAkoAgAgCygCiARGBEAgCCAJIAtBiARqEKAECwJ/IAAoAgAiASgCDCIEIAEoAhBGBEAgASABKAIAKAIkEQEADAELIAQoAgALIQEgCSAJKAIAIgRBBGo2AgAgBCABNgIAIAsgCygCFEEBazYCFCAAEMICGgwACwALIAIhCiAIKAIAIAkoAgBHDQQMAQsCQCACRQ0AQQEhCgNAAn8gAi0AC0EHdgRAIAIoAgQMAQsgAi0AC0H/AHELIApNDQECQCAAIAtBjARqEMECRQRAAn8gACgCACIBKAIMIgMgASgCEEYEQCABIAEoAgAoAiQRAQAMAQsgAygCAAshASABAn8gAi0AC0EHdgRAIAIoAgAMAQsgAgsgCkECdGooAgBGDQELDAMLIApBAWohCiAAEMICGgwACwALQQEhACARKAIAIAsoAmRGDQEgC0EANgIMIA8gESgCACALKAJkIAtBDGoQrAMgCygCDEUNAQsgBSAFKAIAQQRyNgIAQQAhAAsgEBD+BRogDBD+BRogDRD+BRogDhD+BRogDxDyBRogERCmAwwDCyACIQoLIANBAWohAwwACwALGSALJAAgEBD+BRogDBD+BRogDRD+BRogDhD+BRogDxDyBRogERCmAwkACwsgC0GQBGokACAACx8BAX8gASgCABDDAiECIAAgASgCADYCBCAAIAI2AgALkAQBA38jAEHAA2siACQAIAAgAjYCuAMgACABNgK8AyAAQc0BNgIUIABBGGogAEEgaiAAQRRqIgkQzgIhBwZAIABBEGoiCCAEKAIcIgE2AgAgASABKAIEQQFqNgIEBkAgCBDAAiEBIABBADoADyAAQbwDaiACIAMgCCAEKAIEIAUgAEEPaiABIAcgCSAAQbADahCpBARAIwBBEGsi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AHELIAkgD2tBAXRqampBAWoMAQsgACgCnAECfyAILQALQQd2BEAgCCgCBAwBCyAILQALQf8AcQsCfyAHLQALQQd2BEAgBygCBAwBCyAHLQALQf8AcQtqakECagsiD0HlAEkNACAMIA8QggIQpQMgDCgCACICDQAQvAUMBQsgAiAAQSRqIABBIGogAygCBCALIAkgC2ogECARIABByAFqIAAsAMcBIAAsAMYBIA4gByAIIAAoApwBELMEIAEgAiAAKAIkIAAoAiAgAyAEENwDIQIZIAAkACAMEKYDCQALGSAAJAAgCBDyBRogBxDyBRogDhDyBRoJAAsZIAAkAAZAIAAoAswBIgEgASgCBEEBayICNgIEIAJBf0YEQCABIAEoAgAoAggRAgALGAMJAAsZIAAkACAKEKYDIA0QpgMJAAsgDBCmAyAIEPIFGiAHEPIFGiAOEPIFGiAAKALMASIBIAEoAgRBAWsiAzYCBCADQX9GBEAgASABKAIAKAIIEQIACyAKEKYDIA0QpgMgAEHAA2okACACDwsAC+8DAQF/IwBBEGsiCiQAIAkCfyAABEAgAhCkBCEAAkAgAQRAIApBBGoiASAAIAAoAgAoAiwRAAAgAyAKKAIENgAAIAEgACAAKAIAKAIgEQAADAELIApBBGoiASAAIAAoAgAoAigRAAAgAyAKKAIENgAAIAEgACAAKAIAKAIcEQAACyAIIAEQxgIgARDyBRogBCAAIAAoAgAoAgwRAQA6AAAgBSAAIAAoAgAoAhARAQA6AAAgCkEEaiIBIAAgACgCACgCFBEAACAGIAEQxgIgARDyBRogASAAIAAoAgAoAhgRAAAgByABEMYCIAEQ8gUaIAAgACgCACgCJBEBAAwBCyACEKUEIQACQCABBEAgCkEEaiIBIAAgACgCACgCLBEAACADIAooAgQ2AAAgASAAIAAoAgAoAiARAAAMAQsgCkEEaiIBIAAgACgCACgCKBEAACADIAooAgQ2AAAgASAAIAAoAgAoAhwRAAALIAggARDGAiABEPIFGiAEIAAgACgCACgCDBEBADoAACAFIAAgACgCACgCEBEBADoAACAKQQRqIgEgACAAKAIAKAIUEQAAIAYgARDGAiABEPIFGiABIAAgACgCACgCGBEAACAHIAEQxgIgARDyBRogACAAKAIAKAIkEQEACzYCACAK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IAFBAnRBBBDoAgsgACAAAn8gAC0AC0EHdgRAIAAoAgAMAQsgAAsgARCqBQsvAQF/IwBBEGsiAyQAIAAgAhCjBCADQQA6AA8gASACaiADLQAPOgAAIANBEGokAAsJACAAIAEQrAULGQAjACEABkAgAUEEEOUCGSAAJAAQoQYACws8AQF/IwBBEGsiAyQAIAMgARCuBTYCDCADIAIQrgU2AgggACADKAIMNgIAIAAgAygCCDYCBCADQRBqJAALQgECfyMAQRBrIgEkACABIAA2AgwgASgCDCECIwBBEGsiACQAIAAgAjYCDCAAKAIMIQIgAEEQaiQAIAFBEGokACACC18BBH8jAEEQayIAJAAgAEH/////AzYCDCAAQf////8HNgIIIwBBEGsiASQAIABBCGoiAigCACAAQQxqIgMoAgBJIQQgAUEQaiQAIAIgAyAEGygCACEBIABBEGokACABC0sBAX8jAEEQayIDJAACQAJAIAJBHksNACABLQB4DQAgAUEBOgB4DAELIANBD2ogAhCoBSEBCyADQRBqJAAgACACNgIEIAAgATYCAAswACMAQRBrIgIkAAJAIAAgAUYEQCABQQA6AHgMAQsgAkEPaiABEKwFCyACQRBqJAALJgEBfyAAKAIEIQIDQCABIAJHBEAgAkEEayECDAELCyAAIAE2AgQLUwEBfyAAKAIEIQEDQCABIAAoAghHBEAgACgCEBogACAAKAIIQQRrNgIIDAELCyAAKAIABEAgACgCECAAKAIAIgEgAEEMaigCACABa0ECdRCxBQsLqwEBBX8jAEEQayIDJAAgAyAAKAIENgIMIAMgASgCBDYCCCMAQRBrIgIkACADQQhqIgQoAgAgA0EMaiIFKAIASSEGIAJBEGokACAEIAUgBhshAgJAAn8gACgCACEEIAEoAgAhBUEAIAIoAgAiAkUNABogBCAFIAIQ5gELIgINAEEAIQIgACgCBCABKAIERg0AQX9BASAAKAIEIAEoAgRJGyECCyADQRBqJAAgAgsGABC2BQALQAECfyMAIQEGQAZAQQgQlQYhABgBIABBgyMQ7QUiAEGEmwI2AgAZIAEkACAAEJYGCQALIABBpJsCQesAEJcGAAsjAQJ/IAAhAQNAIAEiAkEEaiEBIAIoAgANAAsgAiAAa0ECdQsKACAAEL4DNgIACxYAIAAgASAC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DQALCyACC0UBAX8jACECIABB6JgCNgIAIABB1JkCNgIABkAgAEEEagJ/IAEtAAtBB3YEQCABKAIADAELIAELEOwFGSACJAAJAAsgAAs6AQJ/IAEQ8gEiAkENahC9BSIDQQA2AgggAyACNgIEIAMgAjYCACAAIANBDGogASACQQFqEOEBNgIACzABAX8jACECIABB6JgCNgIAIABB1JkCNgIABkAgAEEEaiABEOwFGSACJAAJAAsgAAtFAQF/IwAhAiAAQeiYAjYCACAAQeiZAjYCAAZAIABBBGoCfyABLQALQQd2BEAgASgCAAwBCyABCxDsBRkgAiQACQALIAALMAEBfyMAIQIgAEHomAI2AgAgAEHomQI2AgAGQCAAQQRqIAEQ7AUZIAIkAAkACyAACwwAIAAgASACEOIBGguOAwEFfyMAQRBrIggkACACIAFBf3NB7////wdqTQRAAn8gAC0AC0EHdgRAIAAoAgAMAQsgAAshCSAIQQRqIAAgAUHn////A0kEfyAIIAFBAXQ2AgwgCCABIAJqNgIEIwBBEGsiAiQAIAhBBGoiCigCACAIQQxqIgsoAgBJIQwgAkEQaiQAIAsgCiAMGygCACICQQtPBH8gAkEQakFwcSICIAJBAWsiAiACQQtGGwVBCgtBAWoFQe////8HCxDmAiAIKAIEIQIgCCgCCBogBARAIAIgCSAEEKICCyAGBEAgAiAEaiAHIAYQogILIAMgBCAFaiIKayEHIAMgCkcEQCACIARqIAZqIAQgCWogBWogBxCiAgsgAUEBaiIBQQtHBEAgACAJIAEQ5AILIAAgAjYCACAAIAAoAghBgICAgHhxIAgoAghB/////wdxcjYCCCAAIAAoAghBgICAgHhyNgIIIAAgBCAGaiAHaiIANgIEIAhBADoADCAAIAJqIAgtAAw6AAAgCEEQaiQADwsQOAALJQAgAC0AC0EHdgRAIAAgACgCACAAKAIIQf////8HcRDkAgsgAAvIAgEFfyMAQRBrIgUkACACQe////8HIAFrTQRAAn8gAC0AC0EHdgRAIAAoAgAMAQsgAAshBiAFQQRqIAAgAUHn////A0kEfyAFIAFBAXQ2AgwgBSABIAJqNgIEIwBBEGsiAiQAIAVBBGoiBygCACAFQQxqIggoAgBJIQkgAkEQaiQAIAggByAJGygCACICQQtPBH8gAkEQakFwcSICIAJBAWsiAiACQQtGGwVBCgtBAWoFQe////8HCxDmAiAFKAIEIQIgBSgCCBogBARAIAIgBiAEEKICCyADIARHBEAgAiAEaiAEIAZqIAMgBGsQogILIAFBAWoiAUELRwRAIAAgBiABEOQCCyAAIAI2AgAgACAAKAIIQYCAgIB4cSAFKAIIQf////8HcXI2AgggACAAKAIIQYCAgIB4cjYCCCAFQRBqJAAPCxA4AAtEAQF/IwBBEGsiAyQAIAMgAjoADyADQQ9qIQIDQCABBEAgACACLQAAOgAAIAFBAWshASAAQQFqIQAMAQsLIANBEGokAAvoAQECfyMAQRBrIgMkACACQe////8HTQRAAkAgAkELSQRAIAAgAC0AC0GAAXEgAnI6AAsgACAALQALQf8AcToACyAAIQQMAQsgA0EIaiAAIAJBC08EfyACQRBqQXBxIgQgBEEBayIEIARBC0YbBUEKC0EBahDmAiADKAIMGiAAIAMoAggiBDYCACAAIAAoAghBgICAgHhxIAMoAgxB/////wdxcjYCCCAAIAAoAghBgICAgHhyNgIIIAAgAjYCBAsgBCABIAIQogIgA0EAOgAHIAIgBGogAy0ABzoAACADQRBqJAAPCxA4AAuHAQEBfyAALQALQQd2BH8gACgCCEH/////B3FBAWsFQQoLIgMgAk8EQAJ/IAAtAAtBB3YEQCAAKAIADAELIAALIgMgASACEPAFIAAgAyACEKoFDwsgACADIAIgA2sCfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsiAEEAIAAgAiABEPEFC8IBAQN/IwBBEGsiBSQAAkAgAiAALQALQQd2BH8gACgCCEH/////B3FBAWsFQQoLIgQCfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsiA2tNBEAgAkUNAQJ/IAAtAAtBB3YEQCAAKAIADAELIAALIgQgA2ogASACEKICIAAgAiADaiIBEKMEIAVBADoADyABIARqIAUtAA86AAAMAQsgACAEIAIgBGsgA2ogAyADQQAgAiABEPEFCyAFQRBqJAAgAAufAQECfyMAQRBrIgMkACADIAI2AgwCfyABLQALQQd2BEAgASgCBAwBCyABLQALQf8AcQsiAkEASQRAELUFAAsCfyABLQALQQd2BEAgASgCAAwBCyABCyEBIAMgAjYCBCAAIAEjAEEQayIBJAAgA0EEaiICKAIAIANBDGoiBCgCAEkhBSABQRBqJAAgAiAEIAUbKAIAEPUFIANBEGokACAAC4ECAQR/An8gARDyASECIwBBEGsiBSQAAn8gAC0AC0EHdgRAIAAoAgQMAQsgAC0AC0H/AHELIgRBAE8EQAJAIAIgAC0AC0EHdgR/IAAoAghB/////wdxQQFrBUEKCyIDIARrTQRAIAJFDQECfyAALQALQQd2BEAgACgCAAwBCyAACyIDIAQEfyACIANqIAMgBBDwBSABIAJBACADIARqIAFLG0EAIAEgA08bagUgAQsgAhDwBSAAIAIgBGoiARCjBCAFQQA6AA8gASADaiAFLQAPOgAADAELIAAgAyACIARqIANrIARBAEEAIAIgARDxBQsgBUEQaiQAIAAMAQsQtQUACwv5AQEDfyMAQRBrIgIkACACIAE6AA8CQAJAAn8gAC0AC0EHdiIERQRAQQohASAALQALQf8AcQwBCyAAKAIIQf////8HcUEBayEBIAAoAgQLIgMgAUYEQCAAIAFBASABIAEQ8wUCfyAALQALQQd2BEAgACgCAAwBC0EACxoMAQsCfyAALQALQQd2BEAgACgCAAwBC0EACxogBA0AIAAiASADQQFqIAAtAAtBgAFxcjoACyAAIAAtAAtB/wBxOgALDAELIAAoAgAhASAAIANBAWo2AgQLIAEgA2oiACACLQAPOgAAIAJBADoADiAAIAItAA46AAEgAkEQaiQAC3YBAn8CfwJ/IAAtAAtBB3YEQCAAKAIADAELIAALIQFBfwJ/IAAtAAtBB3YEQCAAKAIEDAELIAAtAAtB/wBxCyIARQ0AGiAAIAFqIQBBfyECAkADQCAAIAFGDQEgAEEBayIALAAAQS9HDQALIAAgAWshAgsgAgsLDgAgACABIAEQ8gEQ9wULnwMBBX8jAEEQayIIJAAgAiABQX9zQe////8Dak0EQAJ/IAAtAAtBB3YEQCAAKAIADAELIAALIQkgCEEEaiAAIAFB5////wFJBH8gCCABQQF0NgIMIAggASACajYCBCMAQRBrIgIkACAIQQRqIgooAgAgCEEMaiILKAIASSEMIAJBEGokACALIAogDBsoAgAiAkECTwR/IAJBBGpBfHEiAiACQQFrIgIgAkECRhsF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RwRAIAMgAiADKAIAKAIUEQAACwsgACgCDCICLQAEQc0Aa0H/AXFBAk8EQCAEIARBCGpBkMsAENEGKQIANwMAIAEgBBD/BhogACgCDCECCyACIAEgAigCACgCEBEAACACLwAFQcABcUHAAEcEQCACIAEgAigCACgCFBEAAAsgBEEQaiQAC5gCAQJ/IwBBIGsiAyQAIAFB2wAQ0AYhASAAKAIIIgIgASACKAIAKAIQEQAAIAIvAAVBwAFxQcAARwRAIAIgASACKAIAKAIUEQAACyADIANBGGpB5s8AENEGKQIANwMIIAEgA0EIahD/BiEBIAAoAgwiAiABIAIoAgAoAhARAAAgAi8ABUHAAXFBwABHBEAgAiABIAIoAgAoAhQRAAALIAFB3QAQ0AYhASAAKAIQIgItAARBzQBrQf8BcUECTwR/IAMgA0EQakGQywAQ0QYpAgA3AwAgASADEP8GGiAAKAIQBSACCyIAIAEgACgCACgCEBEAACAALwAFQcABcUHAAEcEQCAAIAEgACgCACgCFBEAAAsgA0EgaiQACy4AIABBwgBBAEEBQQFBARD9BiIAIAE2AgggAEGswQI2AgAgACACKQIANwIMIAALVwEBfyAAKAIIIgIEQCACIAEgAigCACgCEBEAACACLwAFQcABcUHAAEcEQCACIAEgAigCACgCFBEAAAsLIABBDGogAUH7ABDQBiIAELUHIABB/QAQ0AYaC4YBAQF/IAFBKBCtByAAKAIIIgIgASACKAIAKAIQEQAAIAIvAAVBwAFxQcAARwRAIAIgASACKAIAKAIUEQAACyABQSkQrwcgAUEoEK0HIAAoAgwiACABIAAoAgAoAhARAAAgAC8ABUHAAXFBwABHBEAgACABIAAoAgAoAhQRAAALIAFBKRCvBwveAgECfyMAQeAAayICJAAgACgCDCIDIAEgAygCACgCEBEAACADLwAFQcABcUHAAEcEQCADIAEgAygCACgCFBEAAAsgAiACQdgAakHMNxDRBikCADcDICABIAJBIGoQ/wYhAyAAKAIIIgEgAyABKAIAKAIQEQAAIAEvAAVBwAFxQcAARwRAIAEgAyABKAIAKAIUEQAACyACIAJB0ABqQdvEABDRBikCADcDGCADIAJBGGoQ/wYhASACAn8gAEEQaiIAKAIAIAAoAgRGBEAgAkHIAGpB9zkQ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QShqQdoMENEGKQIANwMQIAEgAkEQahD/BhogACgCCCEDCyADQQJxBH8gAiACQSBqQc4kENEGKQIANwMIIAEgAkEIahD/BhogACgCCAUgAwtBBHEEQCACIAJBGGpB5RAQ0QYpAgA3AwAgASACEP8GGgsgAkEwaiQACxYAIAAoAgwiACABIAAoAgAoAhQRAAALYwEBfyMAQRBrIgIkACACIAJBCGpBkBEQ0QYpAgA3AwAgASACEP8GIQEgACgCCCIAIAEgACgCACgCEBEAACAALwAFQcABcUHAAEcEQCAAIAEgACgCACgCFBEAAAsgAkEQaiQAC3IBAX8jAEEgayICJAAgAC0ADEUEQCACIAJBGGpBgssAENEGKQIANwMIIAEgAkEIahD/BhoLIAIgAkEQakH9DxDRBikCADcDACABIAIQ/wYiAUEoEK0HIAAoAgggAUETQQAQrgcgAUEpEK8HIAJBIGokAAuBAQEBfyMAQSBrIgIkACACIAJBGGpBoS0Q0QYpAgA3AwggASACQQhqEP8GIQEgACgCCCIAIAEgACgCACgCEBEAACAALwAFQcABcUHAAEcEQCAAIAEgACgCACgCFBEAAAsgAiACQRBqQZ0tENEGKQIANwMAIAEgAhD/BhogAkEgaiQACyoAIABBG0EAQQFBAUEBEP0GIgAgAjYCDCAAIAE2AgggAEGg3wI2AgAgAAu5AQECfyMAQSBrIgIkACAAKAIIIgMgASADKAIAKAIQEQAAIAMvAAVBwAFxQcAARwRAIAMgASADKAIAKAIUEQAACyACIAJBGGpBpi0Q0QYpAgA3AwggASACQQhqEP8GIQEgACgCDCIABEAgACABIAAoAgAoAhARAAAgAC8ABUHAAXFBwABHBEAgACABIAAoAgAoAhQRAAALCyACIAJBEGpBnS0Q0QYpAgA3AwAgASACEP8GGiACQSBqJAALFgAgACgCCCIAIAEgACgCACgCEBEAAAvpAQECfyMAQTBrIgIkACABKAIEIgNFBEBBzRxBySBBqgFBrB8QFwALIAMgASgCAGpBAWssAABB3QBHBEAgAiACQShqQfnPABDRBikCADcDECABIAJBEGoQ/wYaCyACIAJBIGpBrS0Q0QYpAgA3AwggASACQQhqEP8GIQMgACgCDCIBBEAgASADIAEoAgAoAhARAAAgAS8ABUHAAXFB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iKcQMQsLxscCPQBBgAgL0lf/AA0BAgABAQAAAACEjAAA/wAZAQIABQEAAn0DfQAAAMSNAACEjAAAAAAAAP8ADQECAAEBAAAAAISMAAD/AA0BAgABAQAAAADEjQAA/wANAQIAAQEAAAAAxI0AAP8ADQECAAEBAAAAAISMAAD/AA0BAgABAQAAAACEjAAA/wANAQIAAQEAAAAAhIwAAP8ADQECAAEBAAAAAISMAAD/AA0BAgABAQAAAACEjAAAb3BlcmF0b3J+AHsuLi59AG9wZXJhdG9yfHwAb3BlcmF0b3J8AGluZmluaXR5AGNyZWF0ZV9kaXJlY3RvcnkATm90IGVub3VnaCBtZW1vcnkARmVicnVhcnkASmFudWFyeQAgaW1hZ2luYXJ5AEp1bHkAcG9wVHJhaWxpbmdOb2RlQXJyYXkAVWludDhBcnJheQBUaHVyc2RheQBUdWVzZGF5AFdlZG5lc2RheQBTYXR1cmRheQBTdW5kYXkATW9uZGF5AEZyaWRheQBNYXkAVHkAJW0vJWQvJXkAbngAdW5pcXVlX2xvY2s6OmxvY2s6IHJlZmVyZW5jZXMgbnVsbCBtdXRleAAgY29tcGxleAAvaG5zd2xpYi1pbmRleABpbml0SW5kZXgAcmVzaXplSW5kZXgAd3JpdGVJbmRleAByZWFkSW5kZXgARHgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweAB0dwB0aHJvdwBfX25leHRfcHJpbWUgb3ZlcmZsb3cAb3BlcmF0b3IgbmV3AER3AE5vdgBEdgBUaHUAVHUAQXVndXN0ACBjb25zdABOb3QgZW5vdWdoIG1lbW9yeTogbG9hZEluZGV4IGZhaWxlZCB0byBhbGxvY2F0ZSBsaW5rbGlzdABOb3QgZW5vdWdoIG1lbW9yeTogYWRkUG9pbnQgZmFpbGVkIHRvIGFsbG9jYXRlIGxpbmtsaXN0AFRoZSBuZXdseSBpbnNlcnRlZCBlbGVtZW50IHNob3VsZCBoYXZlIGJsYW5rIGxpbmsgbGlzdAB+U2NvcGVkVGVtcGxhdGVQYXJhbUxpc3QAY29uc3RfY2FzdAByZWludGVycHJldF9jYXN0AHN0ZDo6YmFkX2Nhc3QAc3RhdGljX2Nhc3QAZHluYW1pY19jYXN0AHVuc2lnbmVkIHNob3J0AG5vZXhjZXB0AGsgPD0gY3VyX2VsZW1lbnRfY291bnQAaW50ZXJuYWxJZCA8IGN1cl9lbGVtZW50X2NvdW50AGdldEN1cnJlbnRDb3VudABnZXRQb2ludABub3JtYWxpemVQb2ludAByZW1vdmVQb2ludABhZGRQb2ludAB1bnNpZ25lZCBpbnQAX0JpdEludABUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGV4Y2VlZHMgdGhlIHNwZWNpZmllZCBsaW1pdABvcGVyYXRvciBjb19hd2FpdAB1bmNhdWdodABieXRlT2Zmc2V0AHN0cnVjdAAgcmVzdHJpY3QAb2JqY19vYmplY3QAT2N0AHBvc2l4X3N0YXQAZmxvYXQAX0Zsb2F0AFNhdABzdGQ6Om51bGxwdHJfdAB3Y2hhcl90AGNoYXI4X3QAY2hhcjE2X3QAdWludDY0X3QAY2hhcjMyX3QAVXQAVHQAU3QAY2hlY2tGaWxlRXhpc3RzAE5vdCBlbm91Z2ggbWVtb3J5OiBsb2FkSW5kZXggZmFpbGVkIHRvIGFsbG9jYXRlIGxpbmtsaXN0cwBOb3QgZW5vdWdoIG1lbW9yeTogSGllcmFyY2hpY2FsTlNXIGZhaWxlZCB0byBhbGxvY2F0ZSBsaW5rbGlzdHMAUGFyc2VyLT5UZW1wbGF0ZVBhcmFtcy5zaXplKCkgPj0gT2xkTnVtVGVtcGxhdGVQYXJhbUxpc3RzAGFkZFBvaW50cwBDYW5ub3QgcmVzaXplLCBtYXggZWxlbWVudCBpcyBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgbnVtYmVyIG9mIGVsZW1lbnRzAGdldE1heEVsZW1lbnRzAG5laWdoYm9ycwBOb3QgZW5vdWdoIG1lbW9yeTogcmVzaXplSW5kZXggZmFpbGVkIHRvIGFsbG9jYXRlIG90aGVyIGxheWVycwBnZXROdW1EaW1lbnNpb25zAG1hcmtEZWxldGVJdGVtcwBhZGRJdGVtcwBnZXREZWxldGVkTGFiZWxzAGdldFVzZWRMYWJlbHMAdGhpcwBzZXREZWJ1Z0xvZ3MAY3JlYXRlX2RpcmVjdG9yaWVzAGRpc3RhbmNlcwBUcwB0ZXJtaW5hdGluZyBkdWUgdG8gJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgZHVlIHRvICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwBmaWxlc3lzdGVtIGVycm9yOiAlcwBudWxscHRyAHNyAEFwcgBSZXBsYWNlbWVudCBvZiBkZWxldGVkIGVsZW1lbnRzIGlzIGRpc2FibGVkIGluIGNvbnN0cnVjdG9yAEN1c3RvbUZpbHRlckZ1bmN0b3IAdmVjdG9yAG9wZXJhdG9yAGFsbG9jYXRvcgB1bnNwZWNpZmllZCBpb3N0cmVhbV9jYXRlZ29yeSBlcnJvcgBtb25leV9nZXQgZXJyb3IATGV2ZWwgZXJyb3IAY2FuZCBlcnJvcgBOb3QgZW5vdWdoIG1lbW9yeTogcmVzaXplSW5kZXggZmFpbGVkIHRvIGFsbG9jYXRlIGJhc2UgbGF5ZXIAcmVhZEVuY29kZWRQb2ludGVyAEJhZCB2YWx1ZSBvZiBzel9saW5rX2xpc3Rfb3RoZXIARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyAGJ1ZmZlcgBPY3RvYmVyAE5vdmVtYmVyAFNlcHRlbWJlcgBEZWNlbWJlcgB1bnNpZ25lZCBjaGFyAGlvc19iYXNlOjpjbGVhcgBNYXIAc3AAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2N4YV9wZXJzb25hbGl0eS5jcHAAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2N4YV9kZW1hbmdsZS5jcHAAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2ZhbGxiYWNrX21hbGxvYy5jcHAAb3AAZnAAU2VwAFRwACVJOiVNOiVTICVwAGF1dG8Ab2JqY3Byb3RvAHNvAERvAFN1bgBKdW4AeXB0bgBQb3NzaWJsZSBtZW1vcnkgY29ycnVwdGlvbgBzdGQ6OmV4Y2VwdGlvbgB0ZXJtaW5hdGluZyBkdWUgdG8gJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHRocmV3IGFuIGV4Y2VwdGlvbgBDdXJyZW50UG9zaXRpb24AdW5pb24ATW9uAHNlYXJjaEtubgBkbgBuYW4ASmFuAFRuAERuAGVudW0Ac3lzdGVtAGluaXRpYWxpemVGaWxlU3lzdGVtAHBhcnNlVGVtcGxhdGVQYXJhbQBiYXNpY19pb3N0cmVhbQBiYXNpY19vc3RyZWFtAGJhc2ljX2lzdHJlYW0ASnVsAHRsAGJvb2wAZ2V0U3ltYm9sAHVsbABjYWxsAEFwcmlsAExldmVsIG9mIGl0ZW0gdG8gYmUgdXBkYXRlZCBjYW5ub3QgYmUgYmlnZ2VyIHRoYW4gbWF4IGxldmVsAFRyeWluZyB0byBtYWtlIGEgbGluayBvbiBhIG5vbi1leGlzdGVudCBsZXZlbABlbXNjcmlwdGVuOjp2YWwAc3RyaW5nIGxpdGVyYWwAdW5tYXJrRGVsZXRlZEludGVybmFsAFVsAHBvcF9iYWNrAGRyb3BCYWNrAEZyaQBwaQBsaQBiYWRfYXJyYXlfbmV3X2xlbmd0aABieXRlTGVuZ3RoAGZhaWxlZCB0byBkZXRlcm1pbmUgYXR0cmlidXRlcyBmb3IgdGhlIHNwZWNpZmllZCBwYXRoAHNldEVmU2VhcmNoAGdldEVmU2VhcmNoAEJydXRlZm9yY2VTZWFyY2gATWFyY2gAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2RlbWFuZ2xlL1V0aWxpdHkuaAAvZW1zZGsvZW1zY3JpcHRlbi9zeXN0ZW0vbGliL2xpYmN4eGFiaS9zcmMvZGVtYW5nbGUvU3RyaW5nVmlldy5oAC4vLi9zcmMvaG5zd2xpYi9obnN3YWxnLmgAL2Vtc2RrL2Vtc2NyaXB0ZW4vc3lzdGVtL2xpYi9saWJjeHhhYmkvc3JjL2RlbWFuZ2xlL0l0YW5pdW1EZW1hbmdsZS5oAC4vLi9zcmMvaG5zd2xpYi9icnV0ZWZvcmNlLmgAQXVnAHVuc2lnbmVkIGxvbmcgbG9uZwB1bnNpZ25lZCBsb25nAHRlcm1pbmF0aW5nAHN0ZDo6d3N0cmluZwBiYXNpY19zdHJpbmcAc3RkOjpzdHJpbmcAc3RkOjp1MTZzdHJpbmcAc3RkOjp1MzJzdHJpbmcAX191dWlkb2YAaW5mAFRyeWluZyB0byBjb25uZWN0IGFuIGVsZW1lbnQgdG8gaXRzZWxmAGhhbGYAJWFmACUuMExmACVMZgB0cnVlAFR1ZQBvcGVyYXRvciBkZWxldGUAdW5tYXJrRGVsZXRlAGZhbHNlAGRlY2x0eXBlAEp1bmUAY29zaW5lAGdldEJhc2VOYW1lACB2b2xhdGlsZQBDYW5ub3Qgb3BlbiBmaWxlAHdyaXRlQnVmZmVyVG9GaWxlAHdyaXRlU3RyaW5nVG9GaWxlAGdldEJ1ZmZlckZyb21GaWxlAGdldFN0cmluZ0Zyb21GaWxlAF9fY3hhX2RlbWFuZ2xlAGxvbmcgZG91YmxlAF9ibG9ja19pbnZva2UARm9yd2FyZFJlZi0+Z2V0S2luZCgpID09IE5vZGU6OktGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2UAZGlzdGFuY2UASW5uZXJQcm9kdWN0U3BhY2UATDJTcGFjZQBUZQBzdGQATGFiZWwgbm90IGZvdW5kAHZvaWQAQXV0b1NhdmUgbm90IGVuYWJsZWQgb3Igbm90IGluaXRpYWxpemVkAGlzSW5kZXhJbml0aWFsaXplZABpc0luaXRpYWxpemVkAGxvY2FsZSBub3Qgc3VwcG9ydGVkAFRoZSByZXF1ZXN0ZWQgdG8gZGVsZXRlIGVsZW1lbnQgaXMgYWxyZWFkeSBkZWxldGVkAFRoZSByZXF1ZXN0ZWQgdG8gdW5kZWxldGUgZWxlbWVudCBpcyBub3QgZGVsZXRlZAB1bmV4cGVjdGVkAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZAAndW5uYW1lZABtdXRleCBsb2NrIGZhaWxlZABjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykgZmFpbGVkAFRoZSBtYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBoYXMgYmVlbiByZWFjaGVkAGUuIElEQkZTIGhhcyBzeW5jZWQAYy4gSURCRlMgaGFzIHN5bmNlZABpc1N5bmNlZABzZXRJZGJmc1N5bmNlZABXZWQAVW5rbm93biBlcnJvciAlZABmYWxsYmFja19tYWxsb2MAc3RkOjpiYWRfYWxsb2MAbWMAU2hvdWxkIGJlIG5vdCBiZSBtb3JlIHRoYW4gTV8gY2FuZGlkYXRlcyByZXR1cm5lZCBieSB0aGUgaGV1cmlzdGljAGdlbmVyaWMARGVjAHdiAHJiAEZlYgBzY2FuX2VoX3RhYgBVYgB3K2IAcitiAGErYgByd2EATm90IGVub3VnaCBtZW1vcnk6IGxvYWRJbmRleCBmYWlsZWQgdG8gYWxsb2NhdGUgZGF0YQBOb3QgZW5vdWdoIG1lbW9yeTogQnJ1dGVmb3JjZVNlYXJjaCBmYWlsZWQgdG8gYWxsb2NhdGUgZGF0YQAnbGFtYmRhACVhAGJhc2ljXwBvcGVyYXRvcl4Ab3BlcmF0b3IgbmV3W10Ab3BlcmF0b3JbXQBvcGVyYXRvciBkZWxldGVbXQBmaWxlc3lzdGVtIGVycm9yOiAlcyBbIiVzIl0AZmlsZXN5c3RlbSBlcnJvcjogJXMgWyIlcyJdIFsiJXMiXQBcAHBpeGVsIHZlY3RvclsAc1oAX19fX1oAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgASGllcmFyY2hpY2FsTlNXAGZwVAAkVFQAJFQARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyIG11c3QgYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIGNhbGxpbmcgc3luY0ZTACVIOiVNOiVTAHNQAERPAHNyTgBfR0xPQkFMX19OAE5BTgAkTgBQTQBBTQBmTAAlTGFMAExDX0FMTABVYTllbmFibGVfaWZJAExBTkcASU5GAHZFAGFjdGlvbnMgJiBfVUFfQ0xFQU5VUF9QSEFTRQBhY3Rpb25zICYgX1VBX1NFQVJDSF9QSEFTRQBSRQBPRQBiMUUAYjBFAHJlc3VsdHMucmVhc29uID09IF9VUkNfSEFORExFUl9GT1VORABEQwBvcGVyYXRvcj8AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4Ab3BlcmF0b3I+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+ADxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ACwgc3RkOjphbGxvY2F0b3I8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4Ab3BlcmF0b3I+PgBvcGVyYXRvcjw9PgBvcGVyYXRvci0+AG9wZXJhdG9yfD0Ab3BlcmF0b3I9AG9wZXJhdG9yXj0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4+PQBvcGVyYXRvcj09AG9wZXJhdG9yPD0Ab3BlcmF0b3I8PD0Ab3BlcmF0b3IvPQBvcGVyYXRvci09AG9wZXJhdG9yKz0Ab3BlcmF0b3IqPQBvcGVyYXRvciY9AG9wZXJhdG9yJT0Ab3BlcmF0b3IhPQBvcGVyYXRvcjwAdGVtcGxhdGU8AGlkPABvcGVyYXRvcjw8AC48ACI8AFthYmk6ACBbZW5hYmxlX2lmOgBzdGQ6OgAwMTIzNDU2Nzg5AHVuc2lnbmVkIF9faW50MTI4AF9fZmxvYXQxMjgAZGVjaW1hbDEyOABDLlVURi04AGRlY2ltYWw2NABkZWNpbWFsMzIAX19neHhfcGVyc29uYWxpdHlfd2FzbTAATm90IGVub3VnaCBtZW1vcnk6IGxvYWRJbmRleCBmYWlsZWQgdG8gYWxsb2NhdGUgbGV2ZWwwAHJlaW50ZXJwcmV0X2Nhc3Q8c2l6ZV90PihwdHIpICUgUmVxdWlyZWRBbGlnbm1lbnQgPT0gMAByZWludGVycHJldF9jYXN0PHNpemVfdD4ocCArIDEpICUgUmVxdWlyZWRBbGlnbm1lbnQgPT0gMABvcGVyYXRvci8ARmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4LgBJbnZhbGlkIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBDdXN0b21GaWx0ZXJGdW5jdG9yLgBvcGVyYXRvci4ASW52YWxpZCB0aGUgZmlyc3QgYXJndW1lbnQgdHlwZSwgbXVzdCBiZSBhIG51bWJlci4AVGhlIG51bWJlciBvZiB2ZWN0b3JzIGFuZCBpZHMgbXVzdCBiZSB0aGUgc2FtZS4AU2VhcmNoIGluZGV4IGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCwgY2FsbCBgaW5pdEluZGV4YCBpbiBhZHZhbmNlLgBDYW4ndCB1c2UgYWRkUG9pbnQgdG8gdXBkYXRlIGRlbGV0ZWQgZWxlbWVudHMgaWYgcmVwbGFjZW1lbnQgb2YgZGVsZXRlZCBlbGVtZW50cyBpcyBlbmFibGVkLgBUaGUgbnVtYmVyIG9mIHZlY3RvcnMgYW5kIGlkcyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwLgBkLiBDYWxsaW5nIHN5bmMgY2FsbGJhY2suLi4Ac2l6ZW9mLi4uAGEuIHN0YXJ0IHN5bmNGUy4uLgBJbnZhbGlkIHRoZSBudW1iZXIgb2Ygay1uZWFyZXN0IG5laWdoYm9ycyAobXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcikuAG9wZXJhdG9yLQAtaW4tAG9wZXJhdG9yLS0Ab3BlcmF0b3IsAHcrAG9wZXJhdG9yKwBhKwBvcGVyYXRvcisrAG9wZXJhdG9yKgBvcGVyYXRvci0+KgA6OioAb3BlcmF0b3IuKgBkZWNsdHlwZShhdXRvKQAobnVsbCkAKGFub255bW91cyBuYW1lc3BhY2UpAGFjdGlvbnMgJiAoX1VBX1NFQVJDSF9QSEFTRSB8IF9VQV9GT1JDRV9VTldJTkQpAGFjdGlvbnMgJiAoX1VBX1NFQVJDSF9QSEFTRSB8IF9VQV9IQU5ETEVSX0ZSQU1FIHwgX1VBX0ZPUkNFX1VOV0lORCkAUGFyc2VyLkZvcndhcmRUZW1wbGF0ZVJlZnMuZW1wdHkoKQAhZW1wdHkoKQBvcGVyYXRvcigpAEZyb21Qb3NpdGlvbiA8PSBOYW1lcy5zaXplKCkAU1Yuc3RhcnRzV2l0aCgiYmFzaWNfIikAICgAJ2Jsb2NrLWxpdGVyYWwnAG9wZXJhdG9yJgBvcGVyYXRvciYmACAmJgAgJgBvcGVyYXRvciUAPiIAKGJhc2UgIT0gMCkgJiYgIkRXX0VIX1BFX2RhdGFyZWwgaXMgaW52YWxpZCB3aXRoIGEgYmFzZSBvZiAwIgBSZXMuc3RhcnRzV2l0aCgib3BlcmF0b3IiKSAmJiAib3BlcmF0b3IgbmFtZSBkb2VzIG5vdCBzdGFydCB3aXRoICdvcGVyYXRvciciAEluZGV4IDwgc2l6ZSgpICYmICJJbnZhbGlkIGFjY2VzcyEiAExhc3QgIT0gRmlyc3QgJiYgIkNhbGxpbmcgYmFjaygpIG9uIGVtcHR5IHZlY3RvciEiAExhc3QgIT0gRmlyc3QgJiYgIlBvcHBpbmcgZW1wdHkgdmVjdG9yISIASW5kZXggPD0gc2l6ZSgpICYmICJkcm9wQmFjaygpIGNhbid0IGV4cGFuZCEiAG9wZXJhdG9yIQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBJbnZhbGlkIHZlY3RvciBzaXplIGF0IGluZGV4IAB0aHJvdyAAbm9leGNlcHQgACwgYnV0IGdvdCAAIGF0IG9mZnNldCAAQ291bGQgbm90IGFkZFBvaW50cyAAQ291bGQgbm90IG1hcmtEZWxldGVJdGVtcyAAQ291bGQgbm90IGFkZEl0ZW1zIABJbnZhbGlkIHZlY3RvciBzaXplLiBNdXN0IGJlIGVxdWFsIHRvIHRoZSBkaW1lbnNpb24gb2YgdGhlIHNwYWNlLiBUaGUgZGltZW5zaW9uIG9mIHRoZSBzcGFjZSBpcyAAb3BlcmF0b3IgAHJlZmVyZW5jZSB0ZW1wb3JhcnkgZm9yIAB0ZW1wbGF0ZSBwYXJhbWV0ZXIgb2JqZWN0IGZvciAAdHlwZWluZm8gZm9yIAB0aHJlYWQtbG9jYWwgd3JhcHBlciByb3V0aW5lIGZvciAAdGhyZWFkLWxvY2FsIGluaXRpYWxpemF0aW9uIHJvdXRpbmUgZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAGd1YXJkIHZhcmlhYmxlIGZvciAAVlRUIGZvciAAY292YXJpYW50IHJldHVybiB0aHVuayB0byAAbm9uLXZpcnR1YWwgdGh1bmsgdG8gAGludm9jYXRpb24gZnVuY3Rpb24gZm9yIGJsb2NrIGluIABMb29waW5nIENoZWNrIDo6IEluZGV4IHNlZW1zIHRvIGJlIGNvcnJ1cHRlZCBvciB1bnN1cHBvcnRlZCwgd2l0aCB0ZWxsZyBhbmQgdG90YWxfZmlsZXNpemUgcmVzdWx0aW5nIGluIABPdXRzaWRlIENoZWNrIDo6IEluZGV4IHNlZW1zIHRvIGJlIGNvcnJ1cHRlZCBvciB1bnN1cHBvcnRlZCwgd2l0aCB0ZWxsZyBhbmQgdG90YWxfZmlsZXNpemUgcmVzdWx0aW5nIGluIABhbGlnbm9mIABzaXplb2YgAD4gdHlwZW5hbWUgAGluaXRpYWxpemVyIGZvciBtb2R1bGUgACBhbmQgAHR5cGVpZCAASW52YWxpZCB0aGUgZ2l2ZW4gYXJyYXkgbGVuZ3RoIChleHBlY3RlZCAAdW5zaWduZWQgACA/IAAgPSAARmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4OiAARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyIDo6IGZpbGUgZG9lcyBub3QgZXhpc3Q6IABGYWlsZWQgdG8gbm9ybWFsaXplIHRoZSBwb2ludCwgY2hlY2sgdmVjdG9yIGRpbWVuc2lvbnM6IABGYWlsZWQgdG8gY2FsbCB0aGUgY2FsbGJhY2sgZnVuY3Rpb246IABsaWJjKythYmk6IABUaGUgbWF4aW11bSBudW1iZXIgb2YgZWxlbWVudHMgaGFzIGJlZW4gcmVhY2hlZCBpbiBpbmRleCwgcGxlYXNlIGluY3JlYXNlZCB0aGUgaW5kZXggbWF4X3NpemUuICBtYXhfc2l6ZTogAFRoZSBtYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgaW5kZXggaGFzIGJlZW4gcmVhY2hlZC4gLCBwbGVhc2UgaW5jcmVhc2VkIHRoZSBpbmRleCBtYXhfc2l6ZS4gIG1heF9zaXplOiAAaW52YWxpZCBzcGFjZSBzaG91bGQgYmUgZXhwZWN0ZWQgbDIsIGlwLCBvciBjb3NpbmUsIG5hbWU6IABJbnZhbGlkIHRoZSBudW1iZXIgb2Ygay1uZWFyZXN0IG5laWdoYm9ycyAoY2Fubm90IGJlIGdpdmVuIGEgdmFsdWUgZ3JlYXRlciB0aGFuIGBtYXhFbGVtZW50c2A6IABITlNXTElCIEVSUk9SOiAAIDogAHNpemVvZi4uLiAAIC4uLiAALCAAb3BlcmF0b3IiIiAAVGhlIG1heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzIGhhcyBiZWVuIHJlYWNoZWQgaW4gaW5kZXgsIHBsZWFzZSBpbmNyZWFzZWQgdGhlIGluZGV4IG1heF9zaXplLiAgbWF4X3NpemU6ICV6dQoAVGhlIG1heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBpbmRleCBoYXMgYmVlbiByZWFjaGVkLiAsIHBsZWFzZSBpbmNyZWFzZWQgdGhlIGluZGV4IG1heF9zaXplLiAgbWF4X3NpemU6ICV6dQoATG9hZGVkOiBtYXhfZWxlbWVudHM6ICVsdSwgc2l6ZV9kYXRhX3Blcl9lbGVtZW50OiAlbHUsIGxhYmVsX29mZnNldDogJWx1LCBvZmZzZXREYXRhOiAlbHUsIG1heGxldmVsOiAlbHUsIGVudGVycG9pbnRfbm9kZTogJWx1LCBtYXhNOiAlbHUsIG1heE0wOiAlbHUsIE06ICVsdSwgbXVsdDogJWx1LCBlZl9jb25zdHJ1Y3Rpb246ICVsdQoAVGhlIG51bWJlciBvZiBlbGVtZW50cyBleGNlZWRzIHRoZSBzcGVjaWZpZWQgbGltaXQKAExvYWRlZCBpbmRleCBmcm9tIGZpbGUgaW4gJWxkIG1zCgBDb3VsZCBub3QgbWFya0RlbGV0ZUl0ZW1zICVzCgBDb3VsZCBub3QgYWRkSXRlbXMgJXMKAEVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlciA6OiBjcmVhdGluZyBkaXJlY3Rvcnk6ICVzCgBCcnV0ZWZvcmNlU2VhcmNoIDo6IGNyZWF0aW5nIGRpcmVjdG9yeTogJXMKAEhpZXJhcmNoaWNhbE5TVyA6OiBjcmVhdGluZyBkaXJlY3Rvcnk6ICVzCgBCcnV0ZWZvcmNlU2VhcmNoIDo6IHdyaXRpbmcgaW5kZXg6ICVzCgBIaWVyYXJjaGljYWxOU1cgOjogd3JpdGluZyBpbmRleDogJXMKAEZhaWxlZCB0byByZWFkIHRoZSBpbmRleDogJXMKAEVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlciA6OiB3cml0dGVuIGZpbGU6ICVzLCBpbiBsb2NhdGlvbjogJXMsIGRvbmUsIGNvc3Q6ICVzCgBGYWlsZWQgdG8gbm9ybWFsaXplIHRoZSBwb2ludCwgY2hlY2sgdmVjdG9yIGRpbWVuc2lvbnM6ICVzCgBIaWVyYXJjaGljYWxOU1cgOjogcmVhZEluZGV4IGZpbGVuYW1lOiAlcywgcmVhc29uOiAlcwoARmFpbGVkIHRvIGNhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uOiAlcwoARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyIDo6IHdyaXRpbmcgZmlsZTogJXMsIGluIGxvY2F0aW9uOiAlcwoARW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyIDo6IHJlYWRpbmcgZmlsZTogJXMsIGluIGxvY2F0aW9uOiAlcwoAV3JpdGVJbmRleCBmaWxlbmFtZTogJXMKAEF1dG9TYXZlIGZpbGVuYW1lOiAlcwoAaW52YWxpZCBzcGFjZSBzaG91bGQgYmUgZXhwZWN0ZWQgbDIsIGlwLCBvciBjb3NpbmUsIG5hbWU6ICVzCgBITlNXTElCIEVSUk9SOiAlcwoASW52YWxpZCB2ZWN0b3Igc2l6ZSBhdCBpbmRleCAlenUuIE11c3QgYmUgZXF1YWwgdG8gdGhlIGRpbWVuc2lvbiBvZiB0aGUgc3BhY2UuIFRoZSBkaW1lbnNpb24gb2YgdGhlIHNwYWNlIGlzICVkLgoASW52YWxpZCB2ZWN0b3Igc2l6ZS4gTXVzdCBiZSBlcXVhbCB0byB0aGUgZGltZW5zaW9uIG9mIHRoZSBzcGFjZS4gVGhlIGRpbWVuc2lvbiBvZiB0aGUgc3BhY2UgaXMgJWQuCgBJbnZhbGlkIHRoZSBnaXZlbiBhcnJheSBsZW5ndGggKGV4cGVjdGVkICVsdSwgYnV0IGdvdCAlenUpLgoASW52YWxpZCB0aGUgbnVtYmVyIG9mIGstbmVhcmVzdCBuZWlnaGJvcnMgKGNhbm5vdCBiZSBnaXZlbiBhIHZhbHVlIGdyZWF0ZXIgdGhhbiBgbWF4RWxlbWVudHNgOiAlenUpLgoAAAAAgIoAALAuAABOMTBlbXNjcmlwdGVuM3ZhbEUAAESLAACcLgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAABEiwAAuC4AALAuAACwLgAAaWlpAE4xMGVtc2NyaXB0ZW43TDJTcGFjZUUAAESLAADsLgAAUE4xMGVtc2NyaXB0ZW43TDJTcGFjZUUAJIwAAAwvAAAAAAAABC8AAFBLTjEwZW1zY3JpcHRlbjdMMlNwYWNlRQAAAAAkjAAANC8AAAEAAAAELwAAaWkAdgB2aQAkLwAA7IoAAAAAAADILwAAdQAAAHYAAAB3AAAAeAAAAHkAAABON2huc3dsaWI3TDJTcGFjZUUATjdobnN3bGliMTRTcGFjZUludGVyZmFjZUlmRUUAAAAARIsAAJ8vAABsiwAAjC8AAMAvAEHg3wALggIoiwAAJC8AALAuAACwLgAAZmlpaWkAAADsigAAJC8AAE4xMGVtc2NyaXB0ZW4xN0lubmVyUHJvZHVjdFNwYWNlRQAAAESLAAAAMAAAUE4xMGVtc2NyaXB0ZW4xN0lubmVyUHJvZHVjdFNwYWNlRQAAJIwAACwwAAAAAAAAJDAAAFBLTjEwZW1zY3JpcHRlbjE3SW5uZXJQcm9kdWN0U3BhY2VFACSMAABgMAAAAQAAACQwAABQMAAA7IoAAAAAAADYMAAAegAAAHsAAAB8AAAAeAAAAH0AAABON2huc3dsaWIxN0lubmVyUHJvZHVjdFNwYWNlRQAAAGyLAAC4MAAAwC8AQfDhAAu1BSiLAABQMAAAsC4AALAuAADsigAAUDAAAAAAAABgMQAAfgAAAE4xMGVtc2NyaXB0ZW4xOUN1c3RvbUZpbHRlckZ1bmN0b3JFAE43aG5zd2xpYjE3QmFzZUZpbHRlckZ1bmN0b3JFAAAARIsAADgxAABsiwAAFDEAAFgxAACYigAAsC4AAASLAABQTjEwZW1zY3JpcHRlbjE5Q3VzdG9tRmlsdGVyRnVuY3RvckUAAAAAJIwAAHgxAAAAAAAAYDEAAFBLTjEwZW1zY3JpcHRlbjE5Q3VzdG9tRmlsdGVyRnVuY3RvckUAAAAkjAAAsDEAAAEAAABgMQAAoDEAALAuAACYigAAoDEAAASLAABpaWlpAE4xMGVtc2NyaXB0ZW4xNkJydXRlZm9yY2VTZWFyY2hFAAAARIsAAAEyAABQTjEwZW1zY3JpcHRlbjE2QnJ1dGVmb3JjZVNlYXJjaEUAAAAkjAAALDIAAAAAAAAkMgAAUEtOMTBlbXNjcmlwdGVuMTZCcnV0ZWZvcmNlU2VhcmNoRQAAJIwAAGAyAAABAAAAJDIAAFAyAADgMgAA7IoAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAABEiwAAoDIAAICKAABQMgAA7IoAAHZpaWkAAAAAAAAAAGgzAAB/AAAAgAAAAIEAAACCAAAAgwAAAIQAAABON2huc3dsaWIxNkJydXRlZm9yY2VTZWFyY2hJZkVFAE43aG5zd2xpYjE4QWxnb3JpdGhtSW50ZXJmYWNlSWZFRQAAAESLAAA8MwAAbIsAABwzAABgMwAAAAAAALAuAABQMgAAgIoAAFAyAADgMgAAAAAAAICKAABQMgAAsC4AAOyKAAB2aWlpaQBBsOcAC7IBsC4AAFAyAACwLgAA7IoAALAuAABpaWlpaWkAAOyKAABQMgAATjEwZW1zY3JpcHRlbjE1SGllcmFyY2hpY2FsTlNXRQBEiwAA1DMAAFBOMTBlbXNjcmlwdGVuMTVIaWVyYXJjaGljYWxOU1dFAAAAACSMAAD8MwAAAAAAAPQzAABQS04xMGVtc2NyaXB0ZW4xNUhpZXJhcmNoaWNhbE5TV0UAAAAkjAAAMDQAAAEAAAD0MwBB8OgACxUgNAAA4DIAAOyKAADgMgAAaWlpaWkAQZDpAAtygIoAACA0AADsigAA7IoAAOyKAADsigAAdmlpaWlpaQAAAAAA8DQAAIUAAACGAAAAgQAAAIcAAACIAAAAiQAAAE43aG5zd2xpYjE1SGllcmFyY2hpY2FsTlNXSWZFRQAAbIsAANA0AABgMwAAsC4AACA0AEGQ6gALMoCKAAAgNAAA4DIAAOyKAACAigAAIDQAAOAyAACAigAAIDQAAOyKAACwLgAAIDQAAOyKAEHQ6gALkgGAigAAIDQAALAuAADsigAAmIoAAHZpaWlpaQAAAAAAAICKAAAgNAAAsC4AALAuAACYigAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAABEiwAAhDUAAAAAAACwLgAAIDQAALAuAACYigAAsC4AACA0AADgigAAIDQAAICKAAAgNAAAsC4AAOyKAABUNABB8OsAC4ICsC4AACA0AACwLgAA7IoAALAuAACAigAAmIoAAHZpaQBOMTBlbXNjcmlwdGVuMjdFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXJFAESLAAAQNgAAUE4xMGVtc2NyaXB0ZW4yN0Vtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlckUAAAAAJIwAAEQ2AAAAAAAAPDYAAFBLTjEwZW1zY3JpcHRlbjI3RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyRQAAACSMAACENgAAAQAAADw2AAB0NgAAgIoAAOAyAABpaQAAmIoAAICKAACYigAAsC4AAJiKAADgMgAA4DIAAOAyAEGA7gAL8SeAigAA4DIAAOAyAACwLgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAABEiwAAEDcAALAuAADgMgAAgIoAAOAyAACwLgAAsC4AALAuAACwLgAAsC4AAICKAACwLgAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAAESLAABkNwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUAAESLAACsNwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAABEiwAA9DcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEaU5TXzExY2hhcl90cmFpdHNJRGlFRU5TXzlhbGxvY2F0b3JJRGlFRUVFAAAARIsAAEA4AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAAESLAACMOAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAABEiwAAtDgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAARIsAANw4AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAAESLAAAEOQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAABEiwAALDkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQAARIsAAFQ5AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUAAESLAAB8OQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJeEVFAABEiwAApDkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXlFRQAARIsAAMw5AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAAESLAAD0OQAAAAAAAAA4+v5CLuY/MGfHk1fzLj0BAAAAAADgv1swUVVVVdU/kEXr////z78RAfEks5nJP5/IBuV1VcW/AAAAAAAA4L93VVVVVVXVP8v9/////8+/DN2VmZmZyT+nRWdVVVXFvzDeRKMkScI/ZT1CpP//v7/K1ioohHG8P/9osEPrmbm/hdCv94KBtz/NRdF1E1K1v5/e4MPwNPc/AJDmeX/M178f6SxqeBP3PwAADcLub9e/oLX6CGDy9j8A4FET4xPXv32MEx+m0fY/AHgoOFu41r/RtMULSbH2PwB4gJBVXda/ugwvM0eR9j8AABh20ALWvyNCIhifcfY/AJCQhsqo1b/ZHqWZT1L2PwBQA1ZDT9W/xCSPqlYz9j8AQGvDN/bUvxTcnWuzFPY/AFCo/aed1L9MXMZSZPb1PwCoiTmSRdS/TyyRtWfY9T8AuLA59O3Tv96QW8u8uvU/AHCPRM6W0794GtnyYZ31PwCgvRceQNO/h1ZGElaA9T8AgEbv4unSv9Nr586XY/U/AOAwOBuU0r+Tf6fiJUf1PwCI2ozFPtK/g0UGQv8q9T8AkCcp4enRv9+9stsiD/U/APhIK22V0b/X3jRHj/P0PwD4uZpnQdG/QCjez0PY9D8AmO+U0O3Qv8ijeMA+vfQ/ABDbGKWa0L+KJeDDf6L0PwC4Y1LmR9C/NITUJAWI9D8A8IZFIuvPvwstGRvObfQ/ALAXdUpHz79UGDnT2VP0PwAwED1EpM6/WoS0RCc69D8AsOlEDQLOv/v4FUG1IPQ/APB3KaJgzb+x9D7aggf0PwCQlQQBwMy/j/5XXY/u8z8AEIlWKSDMv+lMC6DZ1fM/ABCBjReBy78rwRDAYL3zPwDQ08zJ4sq/uNp1KySl8z8AkBIuQEXKvwLQn80ijfM/APAdaHeoyb8ceoTFW3XzPwAwSGltDMm/4jatSc5d8z8AwEWmIHHIv0DUTZh5RvM/ADAUtI/Wx78ky//OXC/zPwBwYjy4PMe/SQ2hdXcY8z8AYDebmqPGv5A5PjfIAfM/AKC3VDELxr9B+JW7TuvyPwAwJHZ9c8W/0akZAgrV8j8AMMKPe9zEvyr9t6j5vvI/AADSUSxGxL+rGwx6HKnyPwAAg7yKsMO/MLUUYHKT8j8AAElrmRvDv/WhV1f6ffI/AECkkFSHwr+/Ox2bs2jyPwCgefi588G/vfWPg51T8j8AoCwlyGDBvzsIyaq3PvI/ACD3V3/OwL+2QKkrASryPwCg/kncPMC/MkHMlnkV8j8AgEu8vVe/v5v80h0gAfI/AEBAlgg3vr8LSE1J9OzxPwBA+T6YF72/aWWPUvXY8T8AoNhOZ/m7v3x+VxEjxfE/AGAvIHncur/pJst0fLHxPwCAKOfDwLm/thosDAGe8T8AwHKzRqa4v71wtnuwivE/AACsswGNt7+2vO8linfxPwAAOEXxdLa/2jFMNY1k8T8AgIdtDl61v91fJ5C5UfE/AOCh3lxItL9M0jKkDj/xPwCgak3ZM7O/2vkQcoss8T8AYMX4eSCyvzG17CgwGvE/ACBimEYOsb+vNITa+wfxPwAA0mps+q+/s2tOD+718D8AQHdKjdqtv86fKl0G5PA/AACF5Oy8q78hpSxjRNLwPwDAEkCJoam/GpjifKfA8D8AwAIzWIinv9E2xoMvr/A/AIDWZ15xpb85E6CY253wPwCAZUmKXKO/3+dSr6uM8D8AQBVk40mhv/soTi+fe/A/AIDrgsBynr8ZjzWMtWrwPwCAUlLxVZq/LPnspe5Z8D8AgIHPYj2Wv5As0c1JSfA/AACqjPsokr+prfDGxjjwPwAA+SB7MYy/qTJ5E2Uo8D8AAKpdNRmEv0hz6ickGPA/AADswgMSeL+VsRQGBAjwPwAAJHkJBGC/Gvom9x/g7z8AAJCE8+9vP3TqYcIcoe8/AAA9NUHchz8umYGwEGPvPwCAwsSjzpM/za3uPPYl7z8AAIkUwZ+bP+cTkQPI6e4/AAARztiwoT+rsct4gK7uPwDAAdBbiqU/mwydohp07j8AgNhAg1ypP7WZCoOROu4/AIBX72onrT9WmmAJ4AHuPwDAmOWYdbA/mLt35QHK7T8AIA3j9VOyPwORfAvyku0/AAA4i90utD/OXPtmrFztPwDAV4dZBrY/nd5eqiwn7T8AAGo1dtq3P80saz5u8uw/AGAcTkOruT8Ceaeibb7sPwBgDbvHeLs/bQg3bSaL7D8AIOcyE0O9PwRYXb2UWOw/AGDecTEKvz+Mn7sztSbsPwBAkSsVZ8A/P+fs7oP16z8AsJKChUfBP8GW23X9xOs/ADDKzW4mwj8oSoYMHpXrPwBQxabXA8M/LD7vxeJl6z8AEDM8w9/DP4uIyWdIN+s/AIB6aza6xD9KMB0hSwnrPwDw0Sg5k8U/fu/yhejb6j8A8BgkzWrGP6I9YDEdr+o/AJBm7PhAxz+nWNM/5oLqPwDwGvXAFcg/i3MJ70BX6j8AgPZUKenIPydLq5AqLOo/AED4Aja7yT/R8pMToAHqPwAALBzti8o/GzzbJJ/X6T8A0AFcUVvLP5CxxwUlruk/AMC8zGcpzD8vzpfyLoXpPwBgSNU19sw/dUuk7rpc6T8AwEY0vcHNPzhI553GNOk/AODPuAGMzj/mUmcvTw3pPwCQF8AJVc8/ndf/jlLm6D8AuB8SbA7QP3wAzJ/Ov+g/ANCTDrhx0D8Ow77awJnoPwBwhp5r1NA/+xcjqid06D8A0EszhzbRPwias6wAT+g/AEgjZw2Y0T9VPmXoSSroPwCAzOD/+NE/YAL0lQEG6D8AaGPXX1nSPymj4GMl4uc/AKgUCTC50j+ttdx3s77nPwBgQxByGNM/wiWXZ6qb5z8AGOxtJnfTP1cGF/IHeec/ADCv+0/V0z8ME9bbylbnPwDgL+PuMtQ/a7ZPAQAQ5j88W0KRbAJ+PJW0TQMAMOY/QV0ASOq/jTx41JQNAFDmP7el1oanf448rW9OBwBw5j9MJVRr6vxhPK4P3/7/j+Y//Q5ZTCd+fLy8xWMHALDmPwHa3EhowYq89sFcHgDQ5j8Rk0mdHD+DPD72Bev/7+Y/Uy3iGgSAfryAl4YOABDnP1J5CXFm/3s8Euln/P8v5z8kh70m4gCMPGoRgd//T+c/0gHxbpECbryQnGcPAHDnP3ScVM1x/Ge8Nch++v+P5z+DBPWewb6BPObCIP7/r+c/ZWTMKRd+cLwAyT/t/8/nPxyLewhygIC8dhom6f/v5z+u+Z1tKMCNPOijnAQAEOg/M0zlUdJ/iTyPLJMXADDoP4HzMLbp/oq8nHMzBgBQ6D+8NWVrv7+JPMaJQiAAcOg/dXsR82W/i7wEefXr/4/oP1fLPaJuAIm83wS8IgCw6D8KS+A43wB9vIobDOX/z+g/BZ//RnEAiLxDjpH8/+/oPzhwetB7gYM8x1/6HgAQ6T8DtN92kT6JPLl7RhMAMOk/dgKYS06AfzxvB+7m/0/pPy5i/9nwfo+80RI83v9v6T+6OCaWqoJwvA2KRfT/j+k/76hkkRuAh7w+Lpjd/6/pPzeTWorgQIe8ZvtJ7f/P6T8A4JvBCM4/PFGc8SAA8Ok/CluIJ6o/irwGsEURABDqP1baWJlI/3Q8+va7BwAw6j8YbSuKq76MPHkdlxAAUOo/MHl43cr+iDxILvUdAHDqP9ur2D12QY+8UjNZHACQ6j8SdsKEAr+OvEs+TyoAsOo/Xz//PAT9abzRHq7X/8/qP7RwkBLnPoK8eARR7v/v6j+j3g7gPgZqPFsNZdv/D+s/uQofOMgGWjxXyqr+/y/rPx08I3QeAXm83LqV2f9P6z+fKoZoEP95vJxlniQAcOs/Pk+G0EX/ijxAFof5/4/rP/nDwpZ3/nw8T8sE0v+v6z/EK/LuJ/9jvEVcQdL/z+s/Ieo77rf/bLzfCWP4/+/rP1wLLpcDQYG8U3a14f8P7D8ZareUZMGLPONX+vH/L+w/7cYwje/+ZLwk5L/c/0/sP3VH7LxoP4S897lU7f9v7D/s4FPwo36EPNWPmev/j+w/8ZL5jQaDczyaISUhALDsPwQOGGSO/Wi8nEaU3f/P7D9y6sccvn6OPHbE/er/7+w//oifrTm+jjwr+JoWABDtP3FauaiRfXU8HfcPDQAw7T/ax3BpkMGJPMQPeer/T+0/DP5YxTcOWLzlh9wuAHDtP0QPwU3WgH+8qoLcIQCQ7T9cXP2Uj3x0vIMCa9j/r+0/fmEhxR1/jDw5R2wpANDtP1Ox/7KeAYg89ZBE5f/v7T+JzFLG0gBuPJT2q83/D+4/0mktIECDf7zdyFLb/y/uP2QIG8rBAHs87xZC8v9P7j9Rq5SwqP9yPBFeiuj/b+4/Wb7vsXP2V7wN/54RAJDuPwHIC16NgIS8RBel3/+v7j+1IEPVBgB4PKF/EhoA0O4/klxWYPgCULzEvLoHAPDuPxHmNV1EQIW8Ao169f8P7z8Fke85MftPvMeK5R4AMO8/VRFz8qyBijyUNIL1/0/vP0PH19RBP4o8a0yp/P9v7z91eJgc9AJivEHE+eH/j+8/S+d39NF9dzx+4+DS/6/vPzGjfJoZAW+8nuR3HADQ7z+xrM5L7oFxPDHD4Pf/7+8/WodwATcFbrxuYGX0/w/wP9oKHEmtfoq8WHqG8/8v8D/gsvzDaX+XvBcN/P3/T/A/W5TLNP6/lzyCTc0DAHDwP8tW5MCDAII86Mvy+f+P8D8adTe+3/9tvGXaDAEAsPA/6ybmrn8/kbw406QBANDwP/efSHn6fYA8/f3a+v/v8D/Aa9ZwBQR3vJb9ugsAEPE/YgtthNSAjjxd9OX6/y/xP+82/WT6v5082ZrVDQBQ8T+uUBJwdwCaPJpVIQ8AcPE/7t7j4vn9jTwmVCf8/4/xP3NyO9wwAJE8WTw9EgCw8T+IAQOAeX+ZPLeeKfj/z/E/Z4yfqzL5ZbwA1Ir0/+/xP+tbp52/f5M8pIaLDAAQ8j8iW/2Ra4CfPANDhQMAMPI/M7+f68L/kzyE9rz//0/yP3IuLn7nAXY82SEp9f9v8j9hDH92u/x/PDw6kxQAkPI/K0ECPMoCcrwTY1UUALDyPwIf8jOCgJK8O1L+6//P8j/y3E84fv+IvJatuAsA8PI/xUEwUFH/hbyv4nr7/w/zP50oXohxAIG8f1+s/v8v8z8Vt7c/Xf+RvFZnpgwAUPM/vYKLIoJ/lTwh9/sRAHDzP8zVDcS6AIA8uS9Z+f+P8z9Rp7ItnT+UvELS3QQAsPM/4Th2cGt/hTxXybL1/8/zPzESvxA6Ano8GLSw6v/v8z+wUrFmbX+YPPSvMhUAEPQ/JIUZXzf4Zzwpi0cXADD0P0NR3HLmAYM8Y7SV5/9P9D9aibK4af+JPOB1BOj/b/Q/VPLCm7HAlbznwW/v/4/0P3IqOvIJQJs8BKe+5f+v9D9FfQ2/t/+UvN4nEBcA0PQ/PWrccWTAmbziPvAPAPD0PxxThQuJf5c80UvcEgAQ9T82pGZxZQRgPHonBRYAMPU/CTIjzs6/lrxMcNvs/0/1P9ehBQVyAom8qVRf7/9v9T8SZMkO5r+bPBIQ5hcAkPU/kO+vgcV+iDySPskDALD1P8AMvwoIQZ+8vBlJHQDQ9T8pRyX7KoGYvIl6uOf/7/U/BGntgLd+lLwZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBBgZYBCyEOAAAAAAAAAAAZAAoNGRkZAA0AAAIACQ4AAAAJAA4AAA4AQbuWAQsBDABBx5YBCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQfWWAQsBEABBgZcBCxUPAAAABA8AAAAACRAAAAAAABAAABAAQa+XAQsBEgBBu5cBCx4RAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAQfKXAQsOGgAAABoaGgAAAAAAAAkAQaOYAQsBFABBr5gBCxUXAAAAABcAAAAACRQAAAAAABQAABQAQd2YAQsBFgBB6ZgBC4oQFQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGAAAAAAIAAAADAAAABQAAAAcAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAH8AAACDAAAAiQAAAIsAAACVAAAAlwAAAJ0AAACjAAAApwAAAK0AAACzAAAAtQAAAL8AAADBAAAAxQAAAMcAAADTAAAAAQAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAeQAAAH8AAACDAAAAiQAAAIsAAACPAAAAlQAAAJcAAACdAAAAowAAAKcAAACpAAAArQAAALMAAAC1AAAAuwAAAL8AAADBAAAAxQAAAMcAAADRAAAAAAAAAFxPAACVAAAAlgAAAJcAAACYAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAAgAAAAAAAAAlE8AAKMAAACkAAAA+P////j///+UTwAApQAAAKYAAABcTgAAcE4AAAQAAAAAAAAA3E8AAKcAAACoAAAA/P////z////cTwAAqQAAAKoAAACMTgAAoE4AAAAAAABcUQAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAAJwAAACdAAAAsgAAAJ8AAACzAAAAoQAAALQAAABOU3QzX18yOWJhc2ljX2lvc0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAGyLAADwTgAAxFEAAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAABEiwAAKE8AAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAMiLAABkTwAAAAAAAAEAAAAcTwAAA/T//05TdDNfXzIxM2Jhc2ljX29zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAMiLAACsTwAAAAAAAAEAAAAcTwAAA/T//2wAAAAAAAAAhFAAALUAAAC2AAAAlP///5T///+EUAAAtwAAALgAAAAAUAAAOFAAAExQAAAUUAAAbAAAAAAAAACUTwAAowAAAKQAAACU////lP///5RPAAClAAAApgAAAE5TdDNfXzIxNGJhc2ljX2lmc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAGyLAABUUAAAlE8AAGgAAAAAAAAAIFEAALkAAAC6AAAAmP///5j///8gUQAAuwAAALwAAACcUAAA1FAAAOhQAACwUAAAaAAAAAAAAADcTwAApwAAAKgAAACY////mP///9xPAACpAAAAqgAAAE5TdDNfXzIxNGJhc2ljX29mc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAGyLAADwUAAA3E8AAE5TdDNfXzIxM2Jhc2ljX2ZpbGVidWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAGyLAAAsUQAAXE8AAAAAAAAUUgAAvwAAAMAAAADBAAAAwgAAAMMAAADEAAAAxQAAAAAAAADoUQAAvgAAAMYAAADHAAAAAAAAAMRRAADIAAAAyQAAAE5TdDNfXzI4aW9zX2Jhc2VFAAAARIsAALBRAABOU3QzX18yOGlvc19iYXNlN2ZhaWx1cmVFAAAAbIsAAMxRAABEiAAATlN0M19fMjE5X19pb3N0cmVhbV9jYXRlZ29yeUUAAABsiwAA9FEAAIyIAADRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzbAAAAAN4SBJUAAAAA////////////////UFQAABQAAABDLlVURi04AEGgqQELAmRUAEHAqQELSkxDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTABBXAEGUrgEL+QMBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAA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X18yMTRfX3NoYXJlZF9jb3VudEUAAAAARIsAABR8AAAAAAAAdHwAAM8BAADSAQAA0QEAANMBAADRAQAATlN0M19fMjE5X19zaGFyZWRfd2Vha19jb3VudEUAAADIiwAAVHwAAAAAAAABAAAAMHwAQZD5AQvZEMx8AADUAQAA1QEAANYBAABOU3QzX18yNF9fZnMxMGZpbGVzeXN0ZW0xNmZpbGVzeXN0ZW1fZXJyb3JFAGyLAACgfAAARIgAAAAAAABYfQAA1wEAANgBAADZAQAA0wEAANoBAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOU180X19mczEwZmlsZXN5c3RlbTE2ZmlsZXN5c3RlbV9lcnJvcjhfU3RvcmFnZUVOU185YWxsb2NhdG9ySVM0X0VFRUUAbIsAAPR8AAB0fAAABgUIAggECAEIAwgHTm8gZXJyb3IgaW5mb3JtYXRpb24ASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9j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jgAAlAAAAAkCAAAKAgAAU3Q5dHlwZV9pbmZvAAAAAESLAAAYjgAAU3Q4YmFkX2Nhc3QAbIsAADCOAACEjAAA/P/////////8//////////7//////////P/////////4//////////z//////////P/////////8//////////z//////////P/////////+//////////z/////////+P////////8AAAAAPI8AAAsCAAAMAgAADQIAAA4CAAAPAgAAEAIAABECAAASAgAAEwIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTExU3BlY2lhbE5hbWVFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTROb2RlRQBEiwAADI8AAGyLAADcjgAANI8AAAAAAAA0jwAACwIAAAwCAAANAgAADgIAANEBAAAQAgAAEQIAABICAAAUAgAAAAAAANyPAAALAgAADAIAAA0CAAAOAgAAFQIAABACAAARAgAAEgIAABYCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMUN0b3JWdGFibGVTcGVjaWFsTmFtZUUAAABsiwAAoI8AADSPAAAAAAAAQJAAAAsCAAAMAgAADQIAAA4CAAAXAgAAEAIAABgCAAASAgAAGQIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThOYW1lVHlwZUUAbIsAABSQAAA0jwAAAAAAAKiQAAALAgAADAIAAA0CAAAOAgAAGgIAABACAAARAgAAEgIAABsCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME1vZHVsZU5hbWVFAABsiwAAeJAAADSPAAAAAAAAIJEAABwCAAAdAgAAHgIAAB8CAAAgAgAAIQIAABECAAASAgAAIgIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTI0Rm9yd2FyZFRlbXBsYXRlUmVmZXJlbmNlRQAAAABsiwAA4JAAADSPAAAAAAAAYU4CIogbAABhUwIiDhsAAGFhAhyhIAAAYWQABJcgAABhbgIWlyAAAGF0DAUVJQAAYXcKADgIAABhegwEFSUAAGNjCwIiBwAAY2wHAkQgAABjbQIkLh8AAGNvAASs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VHlwZVNwZWZUeXBlRQAAbIsAAASxAAA0jwAAAAAAAKixAADQAgAADAIAAA0CAAAOAgAA0QIAANICAAARAgAAEgIAANMCAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMVBvaW50ZXJUeXBlRQBsiwAAeLEAADSPAAAAAAAAFLIAANQCAAAMAgAADQIAAA4CAADVAgAA1gIAABECAAASAgAA1wIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzUmVmZXJlbmNlVHlwZUUAAABsiwAA4LEAADSPAAAAAAAAiLIAAAsCAAAMAgAADQIAAA4CAADYAgAAEAIAABECAAASAgAA2QIAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIwUG9zdGZpeFF1YWxpZmllZFR5cGVFAAAAAGyLAABMsgAANI8AAKMLAACDEQAAgxEAANMOAADFDgAAtg4AQbDlAgsBBQBBvOUCCwGLAEHU5QILDowAAACNAAAAyLcAAAAEAEHs5QILAQEAQfzlAgsF/////woAQcDmAgsZsLIAAADJAQBwUQAA2IcAAPyHAAAAAAAABQBB5OYCCwGSAEH85gILCowAAACQAAAA3MYAQZTnAgsBAgBBpOcCCwj//////////wBB6OcCCw5YswAA5gEAAOcBAABKCAD5+AgEbmFtZQGF8wipCAANX2VtdmFsX2RlY3JlZgEYX2VtdmFsX2dldF9tZXRob2RfY2FsbGVyAg1fZW12YWxfaW5jcmVmAxdfZW12YWxfY2FsbF92b2lkX21ldGhvZAQZX2VtYmluZF9yZWdpc3Rlcl9mdW5jdGlvbgUWX2VtYmluZF9yZWdpc3Rlcl9jbGFzcwYiX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jb25zdHJ1Y3RvcgcfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbgglX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jbGFzc19mdW5jdGlvbgkRX2VtdmFsX3Rha2VfdmFsdWUKEF9lbXZhbF9uZXdfYXJyYXkLEV9lbXZhbF9uZXdfb2JqZWN0DBJfZW12YWxfbmV3X2NzdHJpbmcNE19lbXZhbF9zZXRfcHJvcGVydHkOGGVtc2NyaXB0ZW5fYXNtX2NvbnN0X2ludA8Kc3luY0lkYl9qcxATX2VtdmFsX2dldF9wcm9wZXJ0eREJX2VtdmFsX2FzEhZfZW12YWxfcnVuX2Rlc3RydWN0b3JzExFfZW12YWxfZ2V0X2dsb2JhbBQKX2VtdmFsX25ldxUhX2VtdmFsX25ld19hcnJheV9mcm9tX21lbW9yeV92aWV3FhJfZW12YWxfY2FsbF9tZXRob2QXDV9fYXNzZXJ0X2ZhaWwYFV9lbWJpbmRfcmVnaXN0ZXJfdm9pZBkVX2VtYmluZF9yZWdpc3Rlcl9ib29sGhhfZW1iaW5kX3JlZ2lzdGVyX2ludGVnZXIbFl9lbWJpbmRfcmVnaXN0ZXJfZmxvYXQcG19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZx0cX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZx4WX2VtYmluZF9yZWdpc3Rlcl9lbXZhbB8cX2VtYmluZF9yZWdpc3Rlcl9tZW1vcnlfdmlldyAVZW1zY3JpcHRlbl9tZW1jcHlfYmlnIRJlbXNjcmlwdGVuX2dldF9ub3ciD19fd2FzaV9mZF93cml0ZSMWZW1zY3JpcHRlbl9yZXNpemVfaGVhcCQgX2Vtc2NyaXB0ZW5fZ2V0X25vd19pc19tb25vdG9uaWMlEF9fc3lzY2FsbF9vcGVuYXQmEV9fc3lzY2FsbF9mY250bDY0Jw9fX3N5c2NhbGxfaW9jdGwoDl9fd2FzaV9mZF9yZWFkKQ9fX3dhc2lfZmRfY2xvc2UqGF9fd2FzaV9lbnZpcm9uX3NpemVzX2dldCsSX193YXNpX2Vudmlyb25fZ2V0LApzdHJmdGltZV9sLRBfX3N5c2NhbGxfc3RhdDY0LhFfX3N5c2NhbGxfbWtkaXJhdC8FYWJvcnQwIl9fdGhyb3dfZXhjZXB0aW9uX3dpdGhfc3RhY2tfdHJhY2UxI2xlZ2FsaW1wb3J0JF9lbWJpbmRfcmVnaXN0ZXJfYmlnaW50MhpsZWdhbGltcG9ydCRfX3dhc2lfZmRfc2VlazMRX193YXNtX2NhbGxfY3RvcnM0F19fY3h4X2dsb2JhbF9hcnJheV9kdG9yNRlfX2N4eF9nbG9iYWxfYXJyYXlfZHRvci40NhlfX2N4eF9nbG9iYWxfYXJyYXlfZHRvci42N4wBc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpiYXNpY19zdHJpbmdbYWJpOnYxNjAwMDRdPHN0ZDo6bnVsbHB0cl90PihjaGFyIGNvbnN0Kik4f3N0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X190aHJvd19sZW5ndGhfZXJyb3JbYWJpOnYxNjAwMDRdKCkgY29uc3Q5GV9fY3h4X2dsb2JhbF9hcnJheV9kdG9yLjg6DnNldElkYmZzU3luY2VkO1tlbXNjcmlwdGVuOjpub3JtYWxpemVQb2ludHNQdXJlKHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYpPF5zdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj46Ol9fdGhyb3dfbGVuZ3RoX2Vycm9yW2FiaTp2MTYwMDA0XSgpIGNvbnN0PSFlbXNjcmlwdGVuOjplbWJpbmRfaW5pdF9obnN3bGliKCk+oQJlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCY+OjppbnZva2Uoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+ICgqKShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmKSwgZW1zY3JpcHRlbjo6X0VNX1ZBTCopP1p2b2lkIGNvbnN0KiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6Z2V0QWN0dWFsVHlwZTxlbXNjcmlwdGVuOjpMMlNwYWNlPihlbXNjcmlwdGVuOjpMMlNwYWNlKilAVHZvaWQgZW1zY3JpcHRlbjo6aW50ZXJuYWw6OnJhd19kZXN0cnVjdG9yPGVtc2NyaXB0ZW46OkwyU3BhY2U+KGVtc2NyaXB0ZW46OkwyU3BhY2UqKUGDAWVtc2NyaXB0ZW46OmludGVybmFsOjpJbnZva2VyPGVtc2NyaXB0ZW46OkwyU3BhY2UqLCB1bnNpZ25lZCBpbnQmJj46Omludm9rZShlbXNjcmlwdGVuOjpMMlNwYWNlKiAoKikodW5zaWduZWQgaW50JiYpLCB1bnNpZ25lZCBpbnQpQmplbXNjcmlwdGVuOjpMMlNwYWNlKiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6b3BlcmF0b3JfbmV3PGVtc2NyaXB0ZW46OkwyU3BhY2UsIHVuc2lnbmVkIGludD4odW5zaWduZWQgaW50JiYpQ5UBZW1zY3JpcHRlbjo6TDJTcGFjZTo6ZGlzdGFuY2Uoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0Jiwgc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JilEuQRlbXNjcmlwdGVuOjppbnRlcm5hbDo6TWV0aG9kSW52b2tlcjxmbG9hdCAoZW1zY3JpcHRlbjo6TDJTcGFjZTo6Kikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0Jiwgc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiksIGZsb2F0LCBlbXNjcmlwdGVuOjpMMlNwYWNlKiwgc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0Jiwgc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0Jj46Omludm9rZShmbG9hdCAoZW1zY3JpcHRlbjo6TDJTcGFjZTo6KiBjb25zdCYpKHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYsIHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYpLCBlbXNjcmlwdGVuOjpMMlNwYWNlKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCosIGVtc2NyaXB0ZW46Ol9FTV9WQUwqKUUnZW1zY3JpcHRlbjo6TDJTcGFjZTo6Z2V0TnVtRGltZW5zaW9ucygpRr4BZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dW5zaWduZWQgaW50IChlbXNjcmlwdGVuOjpMMlNwYWNlOjoqKSgpLCB1bnNpZ25lZCBpbnQsIGVtc2NyaXB0ZW46OkwyU3BhY2UqPjo6aW52b2tlKHVuc2lnbmVkIGludCAoZW1zY3JpcHRlbjo6TDJTcGFjZTo6KiBjb25zdCYpKCksIGVtc2NyaXB0ZW46OkwyU3BhY2UqKUdudm9pZCBjb25zdCogZW1zY3JpcHRlbjo6aW50ZXJuYWw6OmdldEFjdHVhbFR5cGU8ZW1zY3JpcHRlbjo6SW5uZXJQcm9kdWN0U3BhY2U+KGVtc2NyaXB0ZW46OklubmVyUHJvZHVjdFNwYWNlKilIfmVtc2NyaXB0ZW46OklubmVyUHJvZHVjdFNwYWNlKiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6b3BlcmF0b3JfbmV3PGVtc2NyaXB0ZW46OklubmVyUHJvZHVjdFNwYWNlLCB1bnNpZ25lZCBpbnQ+KHVuc2lnbmVkIGludCYmKUmfAWVtc2NyaXB0ZW46OklubmVyUHJvZHVjdFNwYWNlOjpkaXN0YW5jZShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCBzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmKUpydm9pZCBjb25zdCogZW1zY3JpcHRlbjo6aW50ZXJuYWw6OmdldEFjdHVhbFR5cGU8ZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3Rvcj4oZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3RvciopS2x2b2lkIGVtc2NyaXB0ZW46OmludGVybmFsOjpyYXdfZGVzdHJ1Y3RvcjxlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yPihlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yKilMqQFlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yKiwgZW1zY3JpcHRlbjo6dmFsJiY+OjppbnZva2UoZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3RvciogKCopKGVtc2NyaXB0ZW46OnZhbCYmKSwgZW1zY3JpcHRlbjo6X0VNX1ZBTCopTYgBZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3RvciogZW1zY3JpcHRlbjo6aW50ZXJuYWw6Om9wZXJhdG9yX25ldzxlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yLCBlbXNjcmlwdGVuOjp2YWw+KGVtc2NyaXB0ZW46OnZhbCYmKU6OAmVtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPGJvb2wgKGVtc2NyaXB0ZW46OkN1c3RvbUZpbHRlckZ1bmN0b3I6OiopKHVuc2lnbmVkIGxvbmcpLCBib29sLCBlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yKiwgdW5zaWduZWQgbG9uZz46Omludm9rZShib29sIChlbXNjcmlwdGVuOjpDdXN0b21GaWx0ZXJGdW5jdG9yOjoqIGNvbnN0JikodW5zaWduZWQgbG9uZyksIGVtc2NyaXB0ZW46OkN1c3RvbUZpbHRlckZ1bmN0b3IqLCB1bnNpZ25lZCBsb25nKU9sdm9pZCBjb25zdCogZW1zY3JpcHRlbjo6aW50ZXJuYWw6OmdldEFjdHVhbFR5cGU8ZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaD4oZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCopUGZ2b2lkIGVtc2NyaXB0ZW46OmludGVybmFsOjpyYXdfZGVzdHJ1Y3RvcjxlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoPihlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoKilR0ANlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoKiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JiYsIHVuc2lnbmVkIGludCYmPjo6aW52b2tlKGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqICgqKShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4mJiwgdW5zaWduZWQgaW50JiYpLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKiwgdW5zaWduZWQgaW50KVKqAmVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqIGVtc2NyaXB0ZW46OmludGVybmFsOjpvcGVyYXRvcl9uZXc8ZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB1bnNpZ25lZCBpbnQ+KHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiYmLCB1bnNpZ25lZCBpbnQmJilTNWVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OmluaXRJbmRleCh1bnNpZ25lZCBpbnQpVP4BZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dm9pZCAoZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6KikodW5zaWduZWQgaW50KSwgdm9pZCwgZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCosIHVuc2lnbmVkIGludD46Omludm9rZSh2b2lkIChlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjoqIGNvbnN0JikodW5zaWduZWQgaW50KSwgZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCosIHVuc2lnbmVkIGludClVMmVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OmlzSW5kZXhJbml0aWFsaXplZCgpVusBZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8ZW1zY3JpcHRlbjo6dmFsIChlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjoqKSgpLCBlbXNjcmlwdGVuOjp2YWwsIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqPjo6aW52b2tlKGVtc2NyaXB0ZW46OnZhbCAoZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6KiBjb25zdCYpKCksIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqKVeEAWVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OnJlYWRJbmRleChzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKVjoBGVtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPHZvaWQgKGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OiopKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpLCB2b2lkLCBlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoKiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0Jj46Omludm9rZSh2b2lkIChlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjoqIGNvbnN0Jikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiksIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKilZhQFlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjp3cml0ZUluZGV4KHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpWnBlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjphZGRQb2ludChzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpW8gDZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dm9pZCAoZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6Kikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50KSwgdm9pZCwgZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCosIHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYsIHVuc2lnbmVkIGludD46Omludm9rZSh2b2lkIChlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjoqIGNvbnN0Jikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50KSwgZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaCosIGVtc2NyaXB0ZW46Ol9FTV9WQUwqLCB1bnNpZ25lZCBpbnQpXDdlbXNjcmlwdGVuOjpCcnV0ZWZvcmNlU2VhcmNoOjpyZW1vdmVQb2ludCh1bnNpZ25lZCBpbnQpXYIBZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6c2VhcmNoS25uKHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBjb25zdCYsIHVuc2lnbmVkIGludCwgZW1zY3JpcHRlbjo6dmFsKV6yBGVtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPGVtc2NyaXB0ZW46OnZhbCAoZW1zY3JpcHRlbjo6QnJ1dGVmb3JjZVNlYXJjaDo6Kikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50LCBlbXNjcmlwdGVuOjp2YWwpLCBlbXNjcmlwdGVuOjp2YWwsIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqLCBzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGVtc2NyaXB0ZW46OnZhbD46Omludm9rZShlbXNjcmlwdGVuOjp2YWwgKGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OiogY29uc3QmKShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGVtc2NyaXB0ZW46OnZhbCksIGVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2gqLCBlbXNjcmlwdGVuOjpfRU1fVkFMKiwgdW5zaWduZWQgaW50LCBlbXNjcmlwdGVuOjpfRU1fVkFMKilfLmVtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OmdldE1heEVsZW1lbnRzKClgL2Vtc2NyaXB0ZW46OkJydXRlZm9yY2VTZWFyY2g6OmdldEN1cnJlbnRDb3VudCgpYWp2b2lkIGNvbnN0KiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6Z2V0QWN0dWFsVHlwZTxlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c+KGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyopYmR2b2lkIGVtc2NyaXB0ZW46OmludGVybmFsOjpyYXdfZGVzdHJ1Y3RvcjxlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c+KGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyopY50GZW1zY3JpcHRlbjo6aW50ZXJuYWw6Okludm9rZXI8ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50JiYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+OjppbnZva2UoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiAoKikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50JiYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKiwgdW5zaWduZWQgaW50LCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKilk7gNlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqIGVtc2NyaXB0ZW46OmludGVybmFsOjpvcGVyYXRvcl9uZXc8ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+KHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHVuc2lnbmVkIGludCYmLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKWVeZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjppbml0SW5kZXgodW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KWaiA2Vtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPHZvaWQgKGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6KikodW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KSwgdm9pZCwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50Pjo6aW52b2tlKHZvaWQgKGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6KiBjb25zdCYpKHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCksIGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludClnkQFlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OnJlYWRJbmRleChzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpaJwFZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqKShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpLCB2b2lkLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQ+OjppbnZva2Uodm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0Jikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KSwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgZW1zY3JpcHRlbjo6aW50ZXJuYWw6OkJpbmRpbmdUeXBlPHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Piwgdm9pZD46Oid1bm5hbWVkJyosIHVuc2lnbmVkIGludClphAFlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OndyaXRlSW5kZXgoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JilqNmVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6cmVzaXplSW5kZXgodW5zaWduZWQgaW50KWszZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpnZXRQb2ludCh1bnNpZ25lZCBpbnQpbJsCZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8ZW1zY3JpcHRlbjo6dmFsIChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiopKHVuc2lnbmVkIGludCksIGVtc2NyaXB0ZW46OnZhbCwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgdW5zaWduZWQgaW50Pjo6aW52b2tlKGVtc2NyaXB0ZW46OnZhbCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0JikodW5zaWduZWQgaW50KSwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgdW5zaWduZWQgaW50KW11ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjphZGRQb2ludChzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGJvb2wpbtwDZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8dm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqKShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGJvb2wpLCB2b2lkLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqLCBzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmLCB1bnNpZ25lZCBpbnQsIGJvb2w+OjppbnZva2Uodm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0Jikoc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50LCBib29sKSwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCosIHVuc2lnbmVkIGludCwgYm9vbClvjgJlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OmFkZFBvaW50cyhzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4+PiBjb25zdCYsIHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IGNvbnN0JiwgYm9vbClwrAdlbXNjcmlwdGVuOjppbnRlcm5hbDo6TWV0aG9kSW52b2tlcjx2b2lkIChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiopKHN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Pj4+IGNvbnN0Jiwgc3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj4gY29uc3QmLCBib29sKSwgdm9pZCwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gY29uc3QmLCBzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiBjb25zdCYsIGJvb2w+OjppbnZva2Uodm9pZCAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0Jikoc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gY29uc3QmLCBzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiBjb25zdCYsIGJvb2wpLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqLCBlbXNjcmlwdGVuOjpfRU1fVkFMKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCosIGJvb2wpccMBZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjphZGRJdGVtcyhzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4+PiBjb25zdCYsIGJvb2wpcu8GZW1zY3JpcHRlbjo6aW50ZXJuYWw6Ok1ldGhvZEludm9rZXI8c3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj4gKGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6Kikoc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gY29uc3QmLCBib29sKSwgc3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj4sIGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyosIHN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Pj4+IGNvbnN0JiwgYm9vbD46Omludm9rZShzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiAoZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjoqIGNvbnN0Jikoc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gY29uc3QmLCBib29sKSwgZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCosIGJvb2wpcyxlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OmdldFVzZWRMYWJlbHMoKXT9AmVtc2NyaXB0ZW46OmludGVybmFsOjpNZXRob2RJbnZva2VyPHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiopKCksIHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+LCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqPjo6aW52b2tlKHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiogY29uc3QmKSgpLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqKXUvZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpnZXREZWxldGVkTGFiZWxzKCl2LWVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6Z2V0TWF4RWxlbWVudHMoKXc1ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjptYXJrRGVsZXRlKHVuc2lnbmVkIGludCl4dmVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6bWFya0RlbGV0ZUl0ZW1zKHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IGNvbnN0Jil5tgNlbXNjcmlwdGVuOjppbnRlcm5hbDo6TWV0aG9kSW52b2tlcjx2b2lkIChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiopKHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IGNvbnN0JiksIHZvaWQsIGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVyosIHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGludD4+IGNvbnN0Jj46Omludm9rZSh2b2lkIChlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OiogY29uc3QmKShzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiBjb25zdCYpLCBlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1cqLCBlbXNjcmlwdGVuOjpfRU1fVkFMKil6N2Vtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6dW5tYXJrRGVsZXRlKHVuc2lnbmVkIGludCl7NGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6Z2V0Q3VycmVudENvdW50KCkgY29uc3R8MGVtc2NyaXB0ZW46OkhpZXJhcmNoaWNhbE5TVzo6Z2V0RWZTZWFyY2goKSBjb25zdH02ZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpzZXRFZlNlYXJjaCh1bnNpZ25lZCBpbnQpfoEBZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpzZWFyY2hLbm4oc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGNvbnN0JiwgdW5zaWduZWQgaW50LCBlbXNjcmlwdGVuOjp2YWwpf0dlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjx2b2lkLCBib29sPjo6aW52b2tlKHZvaWQgKCopKGJvb2wpLCBib29sKYABggF2b2lkIGNvbnN0KiBlbXNjcmlwdGVuOjppbnRlcm5hbDo6Z2V0QWN0dWFsVHlwZTxlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXI+KGVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlciopgQF8dm9pZCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6cmF3X2Rlc3RydWN0b3I8ZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyPihlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXIqKYIBf2Vtc2NyaXB0ZW46OmludGVybmFsOjpJbnZva2VyPGVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcio+OjppbnZva2UoZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyKiAoKikoKSmDAXZlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXIqIGVtc2NyaXB0ZW46OmludGVybmFsOjpvcGVyYXRvcl9uZXc8ZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyPigphAH6AmVtc2NyaXB0ZW46OmludGVybmFsOjpJbnZva2VyPHZvaWQsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+OjppbnZva2Uodm9pZCAoKikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiksIGVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHZvaWQ+OjondW5uYW1lZCcqKYUBmgFlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXI6OmluaXRpYWxpemVGaWxlU3lzdGVtKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYphgE4ZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyOjppc0luaXRpYWxpemVkKCmHAX9lbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjx2b2lkLCBib29sLCBlbXNjcmlwdGVuOjp2YWw+OjppbnZva2Uodm9pZCAoKikoYm9vbCwgZW1zY3JpcHRlbjo6dmFsKSwgYm9vbCwgZW1zY3JpcHRlbjo6X0VNX1ZBTCopiAFGZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyOjpzeW5jRlMoYm9vbCwgZW1zY3JpcHRlbjo6dmFsKYkBO2Vtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcjo6c2V0RGVidWdMb2dzKGJvb2wpigEzZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyOjppc1N5bmNlZCgpiwH6AmVtc2NyaXB0ZW46OmludGVybmFsOjpJbnZva2VyPGJvb2wsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+OjppbnZva2UoYm9vbCAoKikoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiksIGVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHZvaWQ+OjondW5uYW1lZCcqKYwBlQFlbXNjcmlwdGVuOjpFbXNjcmlwdGVuRmlsZVN5c3RlbU1hbmFnZXI6OmNoZWNrRmlsZUV4aXN0cyhzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKY0BmgRlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCY+OjppbnZva2Uoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+ICgqKShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKSwgZW1zY3JpcHRlbjo6aW50ZXJuYWw6OkJpbmRpbmdUeXBlPHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Piwgdm9pZD46Oid1bm5hbWVkJyopjgGXAWVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcjo6Z2V0U3RyaW5nRnJvbUZpbGUoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JimPAfcFZW1zY3JpcHRlbjo6aW50ZXJuYWw6Okludm9rZXI8dm9pZCwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgZW1zY3JpcHRlbjo6dmFsPjo6aW52b2tlKHZvaWQgKCopKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIGVtc2NyaXB0ZW46OnZhbCksIGVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHZvaWQ+OjondW5uYW1lZCcqLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCopkAGFAmVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcjo6d3JpdGVTdHJpbmdUb0ZpbGUoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgZW1zY3JpcHRlbjo6dmFsKZEB+ANlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjxzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGNoYXIsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgY2hhcj4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmPjo6aW52b2tlKHN0ZDo6X18yOjp2ZWN0b3I8dW5zaWduZWQgY2hhciwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBjaGFyPj4gKCopKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpLCBlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+LCB2b2lkPjo6J3VubmFtZWQnKimSAZcBZW1zY3JpcHRlbjo6RW1zY3JpcHRlbkZpbGVTeXN0ZW1NYW5hZ2VyOjpnZXRCdWZmZXJGcm9tRmlsZShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKZMB6gNlbXNjcmlwdGVuOjppbnRlcm5hbDo6SW52b2tlcjx2b2lkLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCBlbXNjcmlwdGVuOjp2YWwsIGVtc2NyaXB0ZW46OnZhbD46Omludm9rZSh2b2lkICgqKShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCBlbXNjcmlwdGVuOjp2YWwsIGVtc2NyaXB0ZW46OnZhbCksIGVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4sIHZvaWQ+OjondW5uYW1lZCcqLCBlbXNjcmlwdGVuOjpfRU1fVkFMKiwgZW1zY3JpcHRlbjo6X0VNX1ZBTCoplAG5AWVtc2NyaXB0ZW46OkVtc2NyaXB0ZW5GaWxlU3lzdGVtTWFuYWdlcjo6d3JpdGVCdWZmZXJUb0ZpbGUoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgZW1zY3JpcHRlbjo6dmFsLCBlbXNjcmlwdGVuOjp2YWwplQFiaG5zd2xpYjo6QnJ1dGVmb3JjZVNlYXJjaDxmbG9hdD46OkJydXRlZm9yY2VTZWFyY2goaG5zd2xpYjo6U3BhY2VJbnRlcmZhY2U8ZmxvYXQ+KiwgdW5zaWduZWQgbG9uZymWAakBaG5zd2xpYjo6QnJ1dGVmb3JjZVNlYXJjaDxmbG9hdD46OmxvYWRJbmRleChzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCBobnN3bGliOjpTcGFjZUludGVyZmFjZTxmbG9hdD4qKZcB3wFzdGQ6Ol9fMjo6dW5vcmRlcmVkX21hcDx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCBzdGQ6Ol9fMjo6aGFzaDx1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6OmVxdWFsX3RvPHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpwYWlyPHVuc2lnbmVkIGxvbmcgY29uc3QsIHVuc2lnbmVkIGxvbmc+Pj46On51bm9yZGVyZWRfbWFwW2FiaTp2MTYwMDA0XSgpmAHZAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6ZmluZFthYmk6djE2MDAwNF0oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgbG9uZykgY29uc3SZAbICc3RkOjpfXzI6OmVuYWJsZV9pZjxfX2lzX2NwcDE3X2ZvcndhcmRfaXRlcmF0b3I8Y2hhciBjb25zdCo+Ojp2YWx1ZSwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jj46OnR5cGUgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjphcHBlbmRbYWJpOnYxNjAwMDRdPGNoYXIgY29uc3QqPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCopmgGaB3N0ZDo6X18yOjpwYWlyPHN0ZDo6X18yOjpfX2hhc2hfaXRlcmF0b3I8c3RkOjpfXzI6Ol9faGFzaF9ub2RlPHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPiwgdm9pZCo+Kj4sIGJvb2w+IHN0ZDo6X18yOjpfX2hhc2hfdGFibGU8c3RkOjpfXzI6Ol9faGFzaF92YWx1ZV90eXBlPHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6X191bm9yZGVyZWRfbWFwX2hhc2hlcjx1bnNpZ25lZCBsb25nLCBzdGQ6Ol9fMjo6X19oYXNoX3ZhbHVlX3R5cGU8dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjpoYXNoPHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6ZXF1YWxfdG88dW5zaWduZWQgbG9uZz4sIHRydWU+LCBzdGQ6Ol9fMjo6X191bm9yZGVyZWRfbWFwX2VxdWFsPHVuc2lnbmVkIGxvbmcsIHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6OmVxdWFsX3RvPHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6aGFzaDx1bnNpZ25lZCBsb25nPiwgdHJ1ZT4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Ol9faGFzaF92YWx1ZV90eXBlPHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmc+Pj46Ol9fZW1wbGFjZV91bmlxdWVfa2V5X2FyZ3M8dW5zaWduZWQgbG9uZywgc3RkOjpfXzI6OnBpZWNld2lzZV9jb25zdHJ1Y3RfdCBjb25zdCYsIHN0ZDo6X18yOjp0dXBsZTx1bnNpZ25lZCBsb25nIGNvbnN0Jj4sIHN0ZDo6X18yOjp0dXBsZTw+Pih1bnNpZ25lZCBsb25nIGNvbnN0Jiwgc3RkOjpfXzI6OnBpZWNld2lzZV9jb25zdHJ1Y3RfdCBjb25zdCYsIHN0ZDo6X18yOjp0dXBsZTx1bnNpZ25lZCBsb25nIGNvbnN0Jj4mJiwgc3RkOjpfXzI6OnR1cGxlPD4mJimbAcsEdW5zaWduZWQgbG9uZyBzdGQ6Ol9fMjo6X19oYXNoX3RhYmxlPHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6Ol9fdW5vcmRlcmVkX21hcF9oYXNoZXI8dW5zaWduZWQgbG9uZywgc3RkOjpfXzI6Ol9faGFzaF92YWx1ZV90eXBlPHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6aGFzaDx1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6OmVxdWFsX3RvPHVuc2lnbmVkIGxvbmc+LCB0cnVlPiwgc3RkOjpfXzI6Ol9fdW5vcmRlcmVkX21hcF9lcXVhbDx1bnNpZ25lZCBsb25nLCBzdGQ6Ol9fMjo6X19oYXNoX3ZhbHVlX3R5cGU8dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjplcXVhbF90bzx1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6Omhhc2g8dW5zaWduZWQgbG9uZz4sIHRydWU+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPj4+OjpfX2VyYXNlX3VuaXF1ZTx1bnNpZ25lZCBsb25nPih1bnNpZ25lZCBsb25nIGNvbnN0JimcAUFzdGQ6OmludmFsaWRfYXJndW1lbnQ6OmludmFsaWRfYXJndW1lbnRbYWJpOnYxNjAwMDRdKGNoYXIgY29uc3QqKZ0BP3ZvaWQgZW1zY3JpcHRlbjo6dmFsOjpzZXQ8aW50LCBmbG9hdD4oaW50IGNvbnN0JiwgZmxvYXQgY29uc3QmKZ4BT3ZvaWQgZW1zY3JpcHRlbjo6dmFsOjpzZXQ8aW50LCB1bnNpZ25lZCBsb25nPihpbnQgY29uc3QmLCB1bnNpZ25lZCBsb25nIGNvbnN0JimfAdQDdm9pZCBzdGQ6Ol9fMjo6X19wb3BfaGVhcFthYmk6djE2MDAwNF08c3RkOjpfXzI6Ol9DbGFzc2ljQWxnUG9saWN5LCBzdGQ6Ol9fMjo6bGVzczxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8c3RkOjpfXzI6OnBhaXI8ZmxvYXQsIHVuc2lnbmVkIGxvbmc+Kj4+KHN0ZDo6X18yOjpfX3dyYXBfaXRlcjxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4qPiwgc3RkOjpfXzI6Ol9fd3JhcF9pdGVyPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBsb25nPio+LCBzdGQ6Ol9fMjo6bGVzczxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4+Jiwgc3RkOjpfXzI6Oml0ZXJhdG9yX3RyYWl0czxzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8c3RkOjpfXzI6OnBhaXI8ZmxvYXQsIHVuc2lnbmVkIGxvbmc+Kj4+OjpkaWZmZXJlbmNlX3R5cGUpoAGPAWhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OkhpZXJhcmNoaWNhbE5TVyhobnN3bGliOjpTcGFjZUludGVyZmFjZTxmbG9hdD4qLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIGJvb2wpoQEwZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjp1cGRhdGVMYWJlbENhY2hlcygpogE7aG5zd2xpYjo6SGllcmFyY2hpY2FsTlNXPGZsb2F0Pjo6cmVzaXplSW5kZXgodW5zaWduZWQgbG9uZymjASxlbXNjcmlwdGVuOjpIaWVyYXJjaGljYWxOU1c6OmF1dG9TYXZlSW5kZXgoKaQBf3N0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+PiBobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpnZXREYXRhQnlMYWJlbDxmbG9hdD4odW5zaWduZWQgbG9uZykgY29uc3SlATpobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjptYXJrRGVsZXRlKHVuc2lnbmVkIGxvbmcppgE8aG5zd2xpYjo6SGllcmFyY2hpY2FsTlNXPGZsb2F0Pjo6dW5tYXJrRGVsZXRlKHVuc2lnbmVkIGxvbmcppwG2AXN0ZDo6X18yOjpiYXNpY19pZnN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpiYXNpY19pZnN0cmVhbShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpqAFOc3RkOjpfXzI6OmJhc2ljX2lmc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19pZnN0cmVhbSgpqQG2AXN0ZDo6X18yOjpiYXNpY19vZnN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpiYXNpY19vZnN0cmVhbShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQpqgFOc3RkOjpfXzI6OmJhc2ljX29mc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19vZnN0cmVhbSgpqwFtc3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+IGVtc2NyaXB0ZW46OnZlY0Zyb21KU0FycmF5PGZsb2F0PihlbXNjcmlwdGVuOjp2YWwgY29uc3QmKawBpAFlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+LCB2b2lkPjo6dG9XaXJlVHlwZShzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4gY29uc3QmKa0BMHN0ZDo6X190aHJvd19iYWRfYXJyYXlfbmV3X2xlbmd0aFthYmk6djE2MDAwNF0oKa4BOHN0ZDo6X18yOjpfX3Rocm93X2xlbmd0aF9lcnJvclthYmk6djE2MDAwNF0oY2hhciBjb25zdCoprwEqZW1zY3JpcHRlbjo6TDJTcGFjZTo6TDJTcGFjZSh1bnNpZ25lZCBpbnQpsAE1aG5zd2xpYjo6TDJTcXIodm9pZCBjb25zdCosIHZvaWQgY29uc3QqLCB2b2lkIGNvbnN0KimxASFobnN3bGliOjpMMlNwYWNlOjpnZXRfZGF0YV9zaXplKCmyASFobnN3bGliOjpMMlNwYWNlOjpnZXRfZGlzdF9mdW5jKCmzASdobnN3bGliOjpMMlNwYWNlOjpnZXRfZGlzdF9mdW5jX3BhcmFtKCm0ARxobnN3bGliOjpMMlNwYWNlOjp+TDJTcGFjZSgptQFEaG5zd2xpYjo6SW5uZXJQcm9kdWN0RGlzdGFuY2Uodm9pZCBjb25zdCosIHZvaWQgY29uc3QqLCB2b2lkIGNvbnN0Kim2ATFobnN3bGliOjpTcGFjZUludGVyZmFjZTxmbG9hdD46On5TcGFjZUludGVyZmFjZSgptwE6ZW1zY3JpcHRlbjo6Q3VzdG9tRmlsdGVyRnVuY3Rvcjo6b3BlcmF0b3IoKSh1bnNpZ25lZCBsb25nKbgBTGhuc3dsaWI6OkJydXRlZm9yY2VTZWFyY2g8ZmxvYXQ+OjphZGRQb2ludCh2b2lkIGNvbnN0KiwgdW5zaWduZWQgbG9uZywgYm9vbCm5AWpobnN3bGliOjpCcnV0ZWZvcmNlU2VhcmNoPGZsb2F0Pjo6c2VhcmNoS25uKHZvaWQgY29uc3QqLCB1bnNpZ25lZCBsb25nLCBobnN3bGliOjpCYXNlRmlsdGVyRnVuY3RvciopIGNvbnN0ugGVAnN0ZDo6X18yOjpwcmlvcml0eV9xdWV1ZTxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OnBhaXI8ZmxvYXQsIHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBsb25nPj4+LCBzdGQ6Ol9fMjo6bGVzczxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4+Pjo6cHVzaChzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgbG9uZz4mJim7AXdobnN3bGliOjpBbGdvcml0aG1JbnRlcmZhY2U8ZmxvYXQ+OjpzZWFyY2hLbm5DbG9zZXJGaXJzdCh2b2lkIGNvbnN0KiwgdW5zaWduZWQgbG9uZywgaG5zd2xpYjo6QmFzZUZpbHRlckZ1bmN0b3IqKSBjb25zdLwBiAFobnN3bGliOjpCcnV0ZWZvcmNlU2VhcmNoPGZsb2F0Pjo6c2F2ZUluZGV4KHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpvQE1aG5zd2xpYjo6QnJ1dGVmb3JjZVNlYXJjaDxmbG9hdD46On5CcnV0ZWZvcmNlU2VhcmNoKCm+ATdobnN3bGliOjpCcnV0ZWZvcmNlU2VhcmNoPGZsb2F0Pjo6fkJydXRlZm9yY2VTZWFyY2goKS4xvwGvBHZvaWQgc3RkOjpfXzI6Ol9faGFzaF90YWJsZTxzdGQ6Ol9fMjo6X19oYXNoX3ZhbHVlX3R5cGU8dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjpfX3Vub3JkZXJlZF9tYXBfaGFzaGVyPHVuc2lnbmVkIGxvbmcsIHN0ZDo6X18yOjpfX2hhc2hfdmFsdWVfdHlwZTx1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nPiwgc3RkOjpfXzI6Omhhc2g8dW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjplcXVhbF90bzx1bnNpZ25lZCBsb25nPiwgdHJ1ZT4sIHN0ZDo6X18yOjpfX3Vub3JkZXJlZF9tYXBfZXF1YWw8dW5zaWduZWQgbG9uZywgc3RkOjpfXzI6Ol9faGFzaF92YWx1ZV90eXBlPHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmc+LCBzdGQ6Ol9fMjo6ZXF1YWxfdG88dW5zaWduZWQgbG9uZz4sIHN0ZDo6X18yOjpoYXNoPHVuc2lnbmVkIGxvbmc+LCB0cnVlPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19oYXNoX3ZhbHVlX3R5cGU8dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZz4+Pjo6X19kb19yZWhhc2g8dHJ1ZT4odW5zaWduZWQgbG9uZynAAfQBZW1zY3JpcHRlbjo6SGllcmFyY2hpY2FsTlNXOjpIaWVyYXJjaGljYWxOU1coc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKcEBrwFzdGQ6Ol9fMjo6X19leGNlcHRpb25fZ3VhcmRfZXhjZXB0aW9uczxzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjptdXRleCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6bXV0ZXg+Pjo6X19kZXN0cm95X3ZlY3Rvcj46On5fX2V4Y2VwdGlvbl9ndWFyZF9leGNlcHRpb25zW2FiaTp2MTYwMDA0XSgpwgEzaG5zd2xpYjo6VmlzaXRlZExpc3RQb29sOjpWaXNpdGVkTGlzdFBvb2woaW50LCBpbnQpwwFfc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6bXV0ZXgsIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Om11dGV4Pj46On52ZWN0b3JbYWJpOnYxNjAwMDRdKCnEAWpzdGQ6Ol9fMjo6ZGVxdWU8aG5zd2xpYjo6VmlzaXRlZExpc3QqLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGhuc3dsaWI6OlZpc2l0ZWRMaXN0Kj4+OjpfX2FkZF9mcm9udF9jYXBhY2l0eSgpxQFpc3RkOjpfXzI6OmRlcXVlPGhuc3dsaWI6OlZpc2l0ZWRMaXN0Kiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxobnN3bGliOjpWaXNpdGVkTGlzdCo+Pjo6fmRlcXVlW2FiaTp2MTYwMDA0XSgpxgFLaG5zd2xpYjo6SGllcmFyY2hpY2FsTlNXPGZsb2F0Pjo6YWRkUG9pbnQodm9pZCBjb25zdCosIHVuc2lnbmVkIGxvbmcsIGJvb2wpxwFKaG5zd2xpYjo6SGllcmFyY2hpY2FsTlNXPGZsb2F0Pjo6YWRkUG9pbnQodm9pZCBjb25zdCosIHVuc2lnbmVkIGxvbmcsIGludCnIAURobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+Ojp1bm1hcmtEZWxldGVkSW50ZXJuYWwodW5zaWduZWQgaW50KckBTmhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OnVwZGF0ZVBvaW50KHZvaWQgY29uc3QqLCB1bnNpZ25lZCBpbnQsIGZsb2F0KcoBaWhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OnNlYXJjaEtubih2b2lkIGNvbnN0KiwgdW5zaWduZWQgbG9uZywgaG5zd2xpYjo6QmFzZUZpbHRlckZ1bmN0b3IqKSBjb25zdMsBhwFobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpzYXZlSW5kZXgoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JinMATNobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+Ojp+SGllcmFyY2hpY2FsTlNXKCnNASxobnN3bGliOjpWaXNpdGVkTGlzdFBvb2w6On5WaXNpdGVkTGlzdFBvb2woKc4BNWhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46On5IaWVyYXJjaGljYWxOU1coKS4xzwGIAXN0ZDo6X18yOjpfX3NwbGl0X2J1ZmZlcjxobnN3bGliOjpWaXNpdGVkTGlzdCoqLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGhuc3dsaWI6OlZpc2l0ZWRMaXN0Kio+Pjo6cHVzaF9mcm9udChobnN3bGliOjpWaXNpdGVkTGlzdCoqIGNvbnN0JinQAVBobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpzZWFyY2hCYXNlTGF5ZXIodW5zaWduZWQgaW50LCB2b2lkIGNvbnN0KiwgaW50KdEBmwJ2b2lkIHN0ZDo6X18yOjpwcmlvcml0eV9xdWV1ZTxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgaW50Piwgc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgaW50Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6cGFpcjxmbG9hdCwgdW5zaWduZWQgaW50Pj4+LCBobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpDb21wYXJlQnlGaXJzdD46OmVtcGxhY2U8ZmxvYXQsIHVuc2lnbmVkIGludCY+KGZsb2F0JiYsIHVuc2lnbmVkIGludCYp0gHCAmhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46Om11dHVhbGx5Q29ubmVjdE5ld0VsZW1lbnQodm9pZCBjb25zdCosIHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OnByaW9yaXR5X3F1ZXVlPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+LCBzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+Pj4sIGhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OkNvbXBhcmVCeUZpcnN0PiYsIGludCwgYm9vbCnTAW5obnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpyZXBhaXJDb25uZWN0aW9uc0ZvclVwZGF0ZSh2b2lkIGNvbnN0KiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQsIGludCwgaW50KdQBzAJzdGQ6Ol9fMjo6cGFpcjxzdGQ6Ol9fMjo6X19oYXNoX2l0ZXJhdG9yPHN0ZDo6X18yOjpfX2hhc2hfbm9kZTx1bnNpZ25lZCBpbnQsIHZvaWQqPio+LCBib29sPiBzdGQ6Ol9fMjo6X19oYXNoX3RhYmxlPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6Omhhc2g8dW5zaWduZWQgaW50Piwgc3RkOjpfXzI6OmVxdWFsX3RvPHVuc2lnbmVkIGludD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj46Ol9fZW1wbGFjZV91bmlxdWVfa2V5X2FyZ3M8dW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQgY29uc3QmPih1bnNpZ25lZCBpbnQgY29uc3QmLCB1bnNpZ25lZCBpbnQgY29uc3QmKdUBqgJobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+OjpnZXROZWlnaGJvcnNCeUhldXJpc3RpYzIoc3RkOjpfXzI6OnByaW9yaXR5X3F1ZXVlPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+LCBzdGQ6Ol9fMjo6dmVjdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpwYWlyPGZsb2F0LCB1bnNpZ25lZCBpbnQ+Pj4sIGhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46OkNvbXBhcmVCeUZpcnN0PiYsIHVuc2lnbmVkIGxvbmcp1gEuaG5zd2xpYjo6VmlzaXRlZExpc3RQb29sOjpnZXRGcmVlVmlzaXRlZExpc3QoKdcBtwFobnN3bGliOjpIaWVyYXJjaGljYWxOU1c8ZmxvYXQ+Ojpsb2FkSW5kZXgoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgaG5zd2xpYjo6U3BhY2VJbnRlcmZhY2U8ZmxvYXQ+KiwgdW5zaWduZWQgbG9uZynYAfcBc3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6dmVjdG9yPGZsb2F0LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGZsb2F0Pj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+Pj4gZW1zY3JpcHRlbjo6dmVjRnJvbUpTQXJyYXk8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+PihlbXNjcmlwdGVuOjp2YWwgY29uc3QmKdkBggFzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+PiBlbXNjcmlwdGVuOjp2ZWNGcm9tSlNBcnJheTx1bnNpZ25lZCBpbnQ+KGVtc2NyaXB0ZW46OnZhbCBjb25zdCYp2gGnAXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OnZlY3RvcjxmbG9hdCwgc3RkOjpfXzI6OmFsbG9jYXRvcjxmbG9hdD4+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjp2ZWN0b3I8ZmxvYXQsIHN0ZDo6X18yOjphbGxvY2F0b3I8ZmxvYXQ+Pj4+Ojp+dmVjdG9yW2FiaTp2MTYwMDA0XSgp2wHAAWVtc2NyaXB0ZW46OmludGVybmFsOjpCaW5kaW5nVHlwZTxzdGQ6Ol9fMjo6dmVjdG9yPHVuc2lnbmVkIGludCwgc3RkOjpfXzI6OmFsbG9jYXRvcjx1bnNpZ25lZCBpbnQ+Piwgdm9pZD46OnRvV2lyZVR5cGUoc3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBpbnQsIHN0ZDo6X18yOjphbGxvY2F0b3I8dW5zaWduZWQgaW50Pj4gY29uc3QmKdwBQmhuc3dsaWI6OkhpZXJhcmNoaWNhbE5TVzxmbG9hdD46Om1hcmtEZWxldGVkSW50ZXJuYWwodW5zaWduZWQgaW50Kd0BxAFlbXNjcmlwdGVuOjppbnRlcm5hbDo6QmluZGluZ1R5cGU8c3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBjaGFyLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGNoYXI+Piwgdm9pZD46OnRvV2lyZVR5cGUoc3RkOjpfXzI6OnZlY3Rvcjx1bnNpZ25lZCBjaGFyLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHVuc2lnbmVkIGNoYXI+PiBjb25zdCYp3gENX19nZXRUeXBlTmFtZd8BG19lbWJpbmRfaW5pdGlhbGl6ZV9iaW5kaW5nc+ABFWVtYmluZF9pbml0X2J1aWx0aW4oKeEBCF9fbWVtY3B54gEHbWVtbW92ZeMBCF9fbWVtc2V05AEDbG9n5QEGbWVtY2hy5gEGbWVtY21w5wEHaXByaW50ZugBCl9fbG9ja2ZpbGXpARVlbXNjcmlwdGVuX2Z1dGV4X3dha2XqARRfX3B0aHJlYWRfbXV0ZXhfbG9ja+sBCV9fdG93cml0ZewBCV9fZndyaXRleO0BBmZ3cml0Ze4BCl9fb3ZlcmZsb3fvAQRwdXRz8AENX19zdGRpb193cml0ZfEBGF9fZW1zY3JpcHRlbl9zdGRvdXRfc2Vla/IBBnN0cmxlbvMBEF9fZXJybm9fbG9jYXRpb270AQVmcmV4cPUBE19fdmZwcmludGZfaW50ZXJuYWz2AQtwcmludGZfY29yZfcBA291dPgBBmdldGludPkBB3BvcF9hcmf6AQVmbXRfdfsBA3BhZPwBCHZmcHJpbnRm/QEGZm10X2Zw/gETcG9wX2FyZ19sb25nX2RvdWJsZf8BB3djcnRvbWKAAgZ3Y3RvbWKBAgRzYnJrggIIZGxtYWxsb2ODAgZkbGZyZWWEAglkbHJlYWxsb2OFAg1kaXNwb3NlX2NodW5rhgIJX19hc2hsdGkzhwIJX19sc2hydGkziAIMX190cnVuY3RmZGYyiQIlc3RkOjpfXzI6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKYoCJXN0ZDo6X18yOjpfX25leHRfcHJpbWUodW5zaWduZWQgbG9uZymLApoBdW5zaWduZWQgaW50IGNvbnN0KiBzdGQ6Ol9fMjo6bG93ZXJfYm91bmRbYWJpOnYxNjAwMDRdPHVuc2lnbmVkIGludCBjb25zdCosIHVuc2lnbmVkIGxvbmc+KHVuc2lnbmVkIGludCBjb25zdCosIHVuc2lnbmVkIGludCBjb25zdCosIHVuc2lnbmVkIGxvbmcgY29uc3QmKYwCOnN0ZDo6X18yOjpfX3Rocm93X292ZXJmbG93X2Vycm9yW2FiaTp2MTYwMDA0XShjaGFyIGNvbnN0KimNAmR1bnNpZ25lZCBpbnQgY29uc3QmIHN0ZDo6X18yOjpfX2lkZW50aXR5OjpvcGVyYXRvcigpPHVuc2lnbmVkIGludCBjb25zdCY+KHVuc2lnbmVkIGludCBjb25zdCYpIGNvbnN0jgILX19zdHJjaHJudWyPAgZzdHJjaHKQAgxfX3N0ZGlvX3NlZWuRAgxfX3N0ZGlvX3JlYWSSAg1fX3N0ZGlvX2Nsb3NlkwIRX19mc2Vla29fdW5sb2NrZWSUAghfX2ZzZWVrb5UCBmZmbHVzaJYCBmZjbG9zZZcCCF9fdG9yZWFkmAIFZnJlYWSZAhFfX2Z0ZWxsb191bmxvY2tlZJoCRHN0ZDo6X18yOjpiYXNpY19pb3M8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lvcygpmwJQc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfc3RyZWFtYnVmKCmcAlJzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19zdHJlYW1idWYoKS4xnQJcc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjppbWJ1ZShzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JimeAlFzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNldGJ1ZihjaGFyKiwgbG9uZymfAntzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNlZWtvZmYobG9uZyBsb25nLCBzdGQ6Ol9fMjo6aW9zX2Jhc2U6OnNlZWtkaXIsIHVuc2lnbmVkIGludCmgAnBzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNlZWtwb3Moc3RkOjpfXzI6OmZwb3M8X19tYnN0YXRlX3Q+LCB1bnNpZ25lZCBpbnQpoQJRc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp4c2dldG4oY2hhciosIGxvbmcpogJEc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Ojpjb3B5KGNoYXIqLCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgbG9uZymjArsBc3RkOjpfXzI6OmVuYWJsZV9pZjxfX2lzX2NwcDE3X3JhbmRvbV9hY2Nlc3NfaXRlcmF0b3I8Y2hhciBjb25zdCo+Ojp2YWx1ZSwgY2hhcio+Ojp0eXBlIHN0ZDo6X18yOjpjb3B5X25bYWJpOnYxNjAwMDRdPGNoYXIgY29uc3QqLCB1bnNpZ25lZCBsb25nLCBjaGFyKj4oY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcsIGNoYXIqKaQCSXN0ZDo6X18yOjpiYXNpY19zdHJlYW1idWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6dW5kZXJmbG93KCmlAkVzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnVmbG93KCmmAkxzdGQ6Ol9fMjo6YmFzaWNfc3RyZWFtYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnBiYWNrZmFpbChpbnQppwJXc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp4c3B1dG4oY2hhciBjb25zdCosIGxvbmcpqAJMc3RkOjpfXzI6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lzdHJlYW0oKakCTnN0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19pc3RyZWFtKCkuMaoCXXZpcnR1YWwgdGh1bmsgdG8gc3RkOjpfXzI6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lzdHJlYW0oKasCTnN0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19pc3RyZWFtKCkuMqwCX3ZpcnR1YWwgdGh1bmsgdG8gc3RkOjpfXzI6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lzdHJlYW0oKS4xrQKNAXN0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNlbnRyeTo6c2VudHJ5KHN0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4mLCBib29sKa4CQ3N0ZDo6X18yOjpiYXNpY19vc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmZsdXNoKCmvAm1zdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpjdHlwZTxjaGFyPj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYpsAJbc3RkOjpfXzI6OmJhc2ljX2lvczxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZXRzdGF0ZVthYmk6djE2MDAwNF0odW5zaWduZWQgaW50KbEC2wFib29sIHN0ZDo6X18yOjpvcGVyYXRvcj09W2FiaTp2MTYwMDA0XTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4gY29uc3QmLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+IGNvbnN0JimyAltzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpvcGVyYXRvcisrW2FiaTp2MTYwMDA0XSgpswJTc3RkOjpfXzI6OmJhc2ljX3N0cmVhbWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzYnVtcGNbYWJpOnYxNjAwMDRdKCm0Ak1zdGQ6Ol9fMjo6YmFzaWNfaXN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpyZWFkKGNoYXIqLCBsb25nKbUCQ3N0ZDo6X18yOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnRlbGxnKCm2AmlzdGQ6Ol9fMjo6YmFzaWNfaXN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZWVrZyhsb25nIGxvbmcsIHN0ZDo6X18yOjppb3NfYmFzZTo6c2Vla2Rpcim3Ak5zdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfb3N0cmVhbSgpLjG4Al12aXJ0dWFsIHRodW5rIHRvIHN0ZDo6X18yOjpiYXNpY19vc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19vc3RyZWFtKCm5Ak5zdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfb3N0cmVhbSgpLjK6Al92aXJ0dWFsIHRodW5rIHRvIHN0ZDo6X18yOjpiYXNpY19vc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19vc3RyZWFtKCkuMbsChwFzdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZW50cnk6OnNlbnRyeShzdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Jim8Ak1zdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZW50cnk6On5zZW50cnkoKb0CXnN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0oY2hhcim+AlRzdGQ6Ol9fMjo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp3cml0ZShjaGFyIGNvbnN0KiwgbG9uZym/Ak1zdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD46OmNvcHkod2NoYXJfdCosIHdjaGFyX3QgY29uc3QqLCB1bnNpZ25lZCBsb25nKcACc3N0ZDo6X18yOjpjdHlwZTx3Y2hhcl90PiBjb25zdCYgc3RkOjpfXzI6OnVzZV9mYWNldFthYmk6djE2MDAwNF08c3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+PihzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JinBAu0BYm9vbCBzdGQ6Ol9fMjo6b3BlcmF0b3I9PVthYmk6djE2MDAwNF08d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PihzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+IGNvbnN0Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiBjb25zdCYpwgJhc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pjo6b3BlcmF0b3IrK1thYmk6djE2MDAwNF0oKcMCWXN0ZDo6X18yOjpiYXNpY19zdHJlYW1idWY8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pjo6c2J1bXBjW2FiaTp2MTYwMDA0XSgpxAJnc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pjo6b3BlcmF0b3I9W2FiaTp2MTYwMDA0XSh3Y2hhcl90KcUCV3N0ZDo6X18yOjpiYXNpY19zdHJlYW1idWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6Z3B0clthYmk6djE2MDAwNF0oKSBjb25zdMYCxAFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JiYpxwK8AXN0ZDo6X18yOjplbmFibGVfaWY8X19pc19jcHAxN19mb3J3YXJkX2l0ZXJhdG9yPGNoYXIqPjo6dmFsdWUsIHZvaWQ+Ojp0eXBlIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19pbml0PGNoYXIqPihjaGFyKiwgY2hhciopyAJ4c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpyZXNpemVbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcpyQJbc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6b3BlbihjaGFyIGNvbnN0KiwgdW5zaWduZWQgaW50KcoCS3N0ZDo6X18yOjpiYXNpY19maWxlYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmJhc2ljX2ZpbGVidWYoKcsClwFzdGQ6Ol9fMjo6Y29kZWN2dDxjaGFyLCBjaGFyLCBfX21ic3RhdGVfdD4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIsIGNoYXIsIF9fbWJzdGF0ZV90Pj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYpzAJMc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2ZpbGVidWYoKc0CQ3N0ZDo6X18yOjpiYXNpY19maWxlYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmNsb3NlKCnOAtUBc3RkOjpfXzI6OnVuaXF1ZV9wdHI8X0lPX0ZJTEUsIGludCAoKikoX0lPX0ZJTEUqKT46OnVuaXF1ZV9wdHJbYWJpOnYxNjAwMDRdPHRydWUsIHZvaWQ+KF9JT19GSUxFKiwgc3RkOjpfXzI6Ol9fZGVwZW5kZW50X3R5cGU8c3RkOjpfXzI6Ol9fdW5pcXVlX3B0cl9kZWxldGVyX3NmaW5hZTxpbnQgKCopKF9JT19GSUxFKik+LCB0cnVlPjo6X19nb29kX3J2YWxfcmVmX3R5cGUpzwJOc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2ZpbGVidWYoKS4x0AJRc3RkOjpfXzI6OnVuaXF1ZV9wdHI8X0lPX0ZJTEUsIGludCAoKikoX0lPX0ZJTEUqKT46OnJlc2V0W2FiaTp2MTYwMDA0XShfSU9fRklMRSop0QJHc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6dW5kZXJmbG93KCnSAilzdGQ6Ol9fMjo6X190aHJvd19iYWRfY2FzdFthYmk6djE2MDAwNF0oKdMCSnN0ZDo6X18yOjpiYXNpY19maWxlYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnBiYWNrZmFpbChpbnQp1AJJc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6b3ZlcmZsb3coaW50KdUCT3N0ZDo6X18yOjpiYXNpY19maWxlYnVmPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OnNldGJ1ZihjaGFyKiwgbG9uZynWAnlzdGQ6Ol9fMjo6YmFzaWNfZmlsZWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzZWVrb2ZmKGxvbmcgbG9uZywgc3RkOjpfXzI6Omlvc19iYXNlOjpzZWVrZGlyLCB1bnNpZ25lZCBpbnQp1wJuc3RkOjpfXzI6OmJhc2ljX2ZpbGVidWY8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6c2Vla3BvcyhzdGQ6Ol9fMjo6ZnBvczxfX21ic3RhdGVfdD4sIHVuc2lnbmVkIGludCnYAkJzdGQ6Ol9fMjo6YmFzaWNfZmlsZWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjpzeW5jKCnZAlpzdGQ6Ol9fMjo6YmFzaWNfZmlsZWJ1ZjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+OjppbWJ1ZShzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JinaAlBzdGQ6Ol9fMjo6YmFzaWNfaWZzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lmc3RyZWFtKCkuMdsCX3ZpcnR1YWwgdGh1bmsgdG8gc3RkOjpfXzI6OmJhc2ljX2lmc3RyZWFtPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46On5iYXNpY19pZnN0cmVhbSgp3AJhdmlydHVhbCB0aHVuayB0byBzdGQ6Ol9fMjo6YmFzaWNfaWZzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX2lmc3RyZWFtKCkuMd0CUHN0ZDo6X18yOjpiYXNpY19vZnN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfb2ZzdHJlYW0oKS4x3gJfdmlydHVhbCB0aHVuayB0byBzdGQ6Ol9fMjo6YmFzaWNfb2ZzdHJlYW08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6fmJhc2ljX29mc3RyZWFtKCnfAmF2aXJ0dWFsIHRodW5rIHRvIHN0ZDo6X18yOjpiYXNpY19vZnN0cmVhbTxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Ojp+YmFzaWNfb2ZzdHJlYW0oKS4x4AJWY2hhciogc3RkOjpfXzI6OmNvcHlbYWJpOnYxNjAwMDRdPGNoYXIgY29uc3QqLCBjaGFyKj4oY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBjaGFyKinhAl5hdXRvIHN0ZDo6X18yOjpfX3Vud3JhcF9yYW5nZVthYmk6djE2MDAwNF08Y2hhciBjb25zdCosIGNoYXIgY29uc3QqPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCop4gKQAXN0ZDo6X18yOjpwYWlyPGNoYXIgY29uc3QqLCBjaGFyKj4gc3RkOjpfXzI6Ol9fY29weV90cml2aWFsOjpvcGVyYXRvcigpW2FiaTp2MTYwMDA0XTxjaGFyIGNvbnN0LCBjaGFyLCAwPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIqKSBjb25zdOMCgAFzdGQ6Ol9fMjo6cGFpcjxjaGFyIGNvbnN0KiwgY2hhcio+IHN0ZDo6X18yOjpfX2NvcHlfdHJpdmlhbF9pbXBsW2FiaTp2MTYwMDA0XTxjaGFyIGNvbnN0LCBjaGFyPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIqKeQCgAFzdGQ6Ol9fMjo6YWxsb2NhdG9yX3RyYWl0czxzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6ZGVhbGxvY2F0ZVthYmk6djE2MDAwNF0oc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPiYsIGNoYXIqLCB1bnNpZ25lZCBsb25nKeUCT3N0ZDo6X18yOjpfX2xpYmNwcF9kZWFsbG9jYXRlW2FiaTp2MTYwMDA0XSh2b2lkKiwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZynmAs4Bc3RkOjpfXzI6Ol9fYWxsb2NhdGlvbl9yZXN1bHQ8c3RkOjpfXzI6OmFsbG9jYXRvcl90cmFpdHM8c3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46OnBvaW50ZXI+IHN0ZDo6X18yOjpfX2FsbG9jYXRlX2F0X2xlYXN0W2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PihzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+JiwgdW5zaWduZWQgbG9uZynnAj9zdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+OjphbGxvY2F0ZVthYmk6djE2MDAwNF0odW5zaWduZWQgbG9uZynoAkZzdGQ6Ol9fMjo6X19saWJjcHBfYWxsb2NhdGVbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcp6QJlc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pjo6X190ZXN0X2Zvcl9lb2ZbYWJpOnYxNjAwMDRdKCkgY29uc3TqAmtzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+OjpfX3Rlc3RfZm9yX2VvZlthYmk6djE2MDAwNF0oKSBjb25zdOsCK3N0ZDo6X18yOjpfX2lvc3RyZWFtX2NhdGVnb3J5OjpuYW1lKCkgY29uc3TsAjFzdGQ6Ol9fMjo6X19pb3N0cmVhbV9jYXRlZ29yeTo6bWVzc2FnZShpbnQpIGNvbnN07QInc3RkOjpfXzI6Omlvc19iYXNlOjpmYWlsdXJlOjp+ZmFpbHVyZSgp7gIpc3RkOjpfXzI6Omlvc19iYXNlOjpmYWlsdXJlOjp+ZmFpbHVyZSgpLjHvAidzdGQ6Ol9fMjo6aW9zX2Jhc2U6OmNsZWFyKHVuc2lnbmVkIGludCnwAh9zdGQ6Ol9fMjo6aW9zX2Jhc2U6On5pb3NfYmFzZSgp8QIhc3RkOjpfXzI6Omlvc19iYXNlOjp+aW9zX2Jhc2UoKS4x8gIfc3RkOjpfXzI6Omlvc19iYXNlOjppbml0KHZvaWQqKfMCN3N0ZDo6X18yOjppb3NfYmFzZTo6X19zZXRfYmFkYml0X2FuZF9jb25zaWRlcl9yZXRocm93KCn0AgdfX3NobGlt9QIIX19zaGdldGP2AgtfX2Zsb2F0c2l0ZvcCCF9fbXVsdGYz+AIIX19hZGR0ZjP5Ag1fX2V4dGVuZGRmdGYy+gIHX19sZXRmMvsCB19fZ2V0ZjL8AgZzY2FsYm79Agljb3B5c2lnbmz+Ag1fX2Zsb2F0dW5zaXRm/wIIX19zdWJ0ZjOAAwdzY2FsYm5sgQMIX19tdWx0aTOCAwhfX2RpdnRmM4MDBWZtb2RshAMLX19mbG9hdHNjYW6FAwdzY2FuZXhwhgMMX190cnVuY3Rmc2YyhwMHbWJydG93Y4gDCXN0b3JlX2ludIkDB3Zzc2NhbmaKAwtzdHJpbmdfcmVhZIsDBnN0cmNtcIwDBXN3YXBjjQMHc3RybmNtcI4DBmdldGVudo8DDF9fZ2V0X2xvY2FsZZADCXZzbnByaW50ZpEDCHNuX3dyaXRlkgMGc3NjYW5mkwMIc25wcmludGaUAwpmcmVlbG9jYWxllQMGc3RyY3B5lgMJbWJzcnRvd2NzlwMGc3RydG94mAMIc3RydG94LjGZA11zdGQ6Ol9fMjo6Y29sbGF0ZTxjaGFyPjo6ZG9fY29tcGFyZShjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KikgY29uc3SaA0VzdGQ6Ol9fMjo6Y29sbGF0ZTxjaGFyPjo6ZG9fdHJhbnNmb3JtKGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KikgY29uc3SbA5wBc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpiYXNpY19zdHJpbmdbYWJpOnYxNjAwMDRdPGNoYXIgY29uc3QqLCB2b2lkPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCopnANAc3RkOjpfXzI6OmNvbGxhdGU8Y2hhcj46OmRvX2hhc2goY2hhciBjb25zdCosIGNoYXIgY29uc3QqKSBjb25zdJ0DbHN0ZDo6X18yOjpjb2xsYXRlPHdjaGFyX3Q+Ojpkb19jb21wYXJlKHdjaGFyX3QgY29uc3QqLCB3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdJ4DTnN0ZDo6X18yOjpjb2xsYXRlPHdjaGFyX3Q+Ojpkb190cmFuc2Zvcm0od2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdJ8D6QFzdGQ6Ol9fMjo6ZW5hYmxlX2lmPF9faXNfY3BwMTdfZm9yd2FyZF9pdGVyYXRvcjx3Y2hhcl90IGNvbnN0Kj46OnZhbHVlLCB2b2lkPjo6dHlwZSBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Ol9faW5pdDx3Y2hhcl90IGNvbnN0Kj4od2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKaADSXN0ZDo6X18yOjpjb2xsYXRlPHdjaGFyX3Q+Ojpkb19oYXNoKHdjaGFyX3QgY29uc3QqLCB3Y2hhcl90IGNvbnN0KikgY29uc3ShA5YCc3RkOjpfXzI6Om51bV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCBib29sJikgY29uc3SiA3NzdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpudW1wdW5jdDxjaGFyPj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYpowOpBXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCogc3RkOjpfXzI6Ol9fc2Nhbl9rZXl3b3JkW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4+KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QqLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmLCB1bnNpZ25lZCBpbnQmLCBib29sKaQDOHN0ZDo6X18yOjpsb2NhbGU6OnVzZV9mYWNldChzdGQ6Ol9fMjo6bG9jYWxlOjppZCYpIGNvbnN0pQNYc3RkOjpfXzI6OnVuaXF1ZV9wdHI8dW5zaWduZWQgY2hhciwgdm9pZCAoKikodm9pZCopPjo6cmVzZXRbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGNoYXIqKaYDUHN0ZDo6X18yOjp1bmlxdWVfcHRyPHVuc2lnbmVkIGNoYXIsIHZvaWQgKCopKHZvaWQqKT46On51bmlxdWVfcHRyW2FiaTp2MTYwMDA0XSgppwOWAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyYpIGNvbnN0qAM5c3RkOjpfXzI6Ol9fbnVtX2dldF9iYXNlOjpfX2dldF9iYXNlKHN0ZDo6X18yOjppb3NfYmFzZSYpqQNIc3RkOjpfXzI6Ol9fbnVtX2dldDxjaGFyPjo6X19zdGFnZTJfaW50X3ByZXAoc3RkOjpfXzI6Omlvc19iYXNlJiwgY2hhciYpqgPkAXN0ZDo6X18yOjpfX251bV9nZXQ8Y2hhcj46Ol9fc3RhZ2UyX2ludF9sb29wKGNoYXIsIGludCwgY2hhciosIGNoYXIqJiwgdW5zaWduZWQgaW50JiwgY2hhciwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KiwgdW5zaWduZWQgaW50KiYsIGNoYXIgY29uc3QqKasDaWxvbmcgc3RkOjpfXzI6Ol9fbnVtX2dldF9zaWduZWRfaW50ZWdyYWxbYWJpOnYxNjAwMDRdPGxvbmc+KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgaW50JiwgaW50KawDpAFzdGQ6Ol9fMjo6X19jaGVja19ncm91cGluZyhzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCB1bnNpZ25lZCBpbnQqLCB1bnNpZ25lZCBpbnQqLCB1bnNpZ25lZCBpbnQmKa0DmwJzdGQ6Ol9fMjo6bnVtX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIGxvbmcgbG9uZyYpIGNvbnN0rgNzbG9uZyBsb25nIHN0ZDo6X18yOjpfX251bV9nZXRfc2lnbmVkX2ludGVncmFsW2FiaTp2MTYwMDA0XTxsb25nIGxvbmc+KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgaW50JiwgaW50Ka8DoAJzdGQ6Ol9fMjo6bnVtX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHVuc2lnbmVkIHNob3J0JikgY29uc3SwA391bnNpZ25lZCBzaG9ydCBzdGQ6Ol9fMjo6X19udW1fZ2V0X3Vuc2lnbmVkX2ludGVncmFsW2FiaTp2MTYwMDA0XTx1bnNpZ25lZCBzaG9ydD4oY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBpbnQmLCBpbnQpsQOeAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdW5zaWduZWQgaW50JikgY29uc3SyA3t1bnNpZ25lZCBpbnQgc3RkOjpfXzI6Ol9fbnVtX2dldF91bnNpZ25lZF9pbnRlZ3JhbFthYmk6djE2MDAwNF08dW5zaWduZWQgaW50PihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYsIGludCmzA6QCc3RkOjpfXzI6Om51bV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB1bnNpZ25lZCBsb25nIGxvbmcmKSBjb25zdLQDhwF1bnNpZ25lZCBsb25nIGxvbmcgc3RkOjpfXzI6Ol9fbnVtX2dldF91bnNpZ25lZF9pbnRlZ3JhbFthYmk6djE2MDAwNF08dW5zaWduZWQgbG9uZyBsb25nPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYsIGludCm1A5cCc3RkOjpfXzI6Om51bV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCBmbG9hdCYpIGNvbnN0tgNYc3RkOjpfXzI6Ol9fbnVtX2dldDxjaGFyPjo6X19zdGFnZTJfZmxvYXRfcHJlcChzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyKiwgY2hhciYsIGNoYXImKbcD7wFzdGQ6Ol9fMjo6X19udW1fZ2V0PGNoYXI+OjpfX3N0YWdlMl9mbG9hdF9sb29wKGNoYXIsIGJvb2wmLCBjaGFyJiwgY2hhciosIGNoYXIqJiwgY2hhciwgY2hhciwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KiwgdW5zaWduZWQgaW50KiYsIHVuc2lnbmVkIGludCYsIGNoYXIqKbgDXGZsb2F0IHN0ZDo6X18yOjpfX251bV9nZXRfZmxvYXRbYWJpOnYxNjAwMDRdPGZsb2F0PihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYpuQOYAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgZG91YmxlJikgY29uc3S6A15kb3VibGUgc3RkOjpfXzI6Ol9fbnVtX2dldF9mbG9hdFthYmk6djE2MDAwNF08ZG91YmxlPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYpuwOdAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyBkb3VibGUmKSBjb25zdLwDaGxvbmcgZG91YmxlIHN0ZDo6X18yOjpfX251bV9nZXRfZmxvYXRbYWJpOnYxNjAwMDRdPGxvbmcgZG91YmxlPihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCYpvQOXAnN0ZDo6X18yOjpudW1fZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50Jiwgdm9pZComKSBjb25zdL4DEnN0ZDo6X18yOjpfX2Nsb2MoKb8DTHN0ZDo6X18yOjpfX2xpYmNwcF9zc2NhbmZfbChjaGFyIGNvbnN0KiwgX19sb2NhbGVfc3RydWN0KiwgY2hhciBjb25zdCosIC4uLinAA2FjaGFyIGNvbnN0KiBzdGQ6Ol9fMjo6ZmluZFthYmk6djE2MDAwNF08Y2hhciBjb25zdCosIGNoYXI+KGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCYpwQNWc3RkOjpfXzI6Ol9fbGliY3BwX2xvY2FsZV9ndWFyZDo6X19saWJjcHBfbG9jYWxlX2d1YXJkW2FiaTp2MTYwMDA0XShfX2xvY2FsZV9zdHJ1Y3QqJinCA6sCc3RkOjpfXzI6Om51bV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCBib29sJikgY29uc3TDA3lzdGQ6Ol9fMjo6bnVtcHVuY3Q8d2NoYXJfdD4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpudW1wdW5jdDx3Y2hhcl90Pj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYpxAPlBXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiBjb25zdCogc3RkOjpfXzI6Ol9fc2Nhbl9rZXl3b3JkW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4gY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD4+KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4gY29uc3QqLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4gY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD4gY29uc3QmLCB1bnNpZ25lZCBpbnQmLCBib29sKcUDqwJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIGxvbmcmKSBjb25zdMYDTXN0ZDo6X18yOjpfX251bV9nZXQ8d2NoYXJfdD46Ol9fZG9fd2lkZW4oc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCopIGNvbnN0xwNOc3RkOjpfXzI6Ol9fbnVtX2dldDx3Y2hhcl90Pjo6X19zdGFnZTJfaW50X3ByZXAoc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCYpyAPwAXN0ZDo6X18yOjpfX251bV9nZXQ8d2NoYXJfdD46Ol9fc3RhZ2UyX2ludF9sb29wKHdjaGFyX3QsIGludCwgY2hhciosIGNoYXIqJiwgdW5zaWduZWQgaW50Jiwgd2NoYXJfdCwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KiwgdW5zaWduZWQgaW50KiYsIHdjaGFyX3QgY29uc3QqKckDsAJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIGxvbmcgbG9uZyYpIGNvbnN0ygO1AnN0ZDo6X18yOjpudW1fZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdW5zaWduZWQgc2hvcnQmKSBjb25zdMsDswJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHVuc2lnbmVkIGludCYpIGNvbnN0zAO5AnN0ZDo6X18yOjpudW1fZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdW5zaWduZWQgbG9uZyBsb25nJikgY29uc3TNA6wCc3RkOjpfXzI6Om51bV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCBmbG9hdCYpIGNvbnN0zgNkc3RkOjpfXzI6Ol9fbnVtX2dldDx3Y2hhcl90Pjo6X19zdGFnZTJfZmxvYXRfcHJlcChzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90Kiwgd2NoYXJfdCYsIHdjaGFyX3QmKc8D/gFzdGQ6Ol9fMjo6X19udW1fZ2V0PHdjaGFyX3Q+OjpfX3N0YWdlMl9mbG9hdF9sb29wKHdjaGFyX3QsIGJvb2wmLCBjaGFyJiwgY2hhciosIGNoYXIqJiwgd2NoYXJfdCwgd2NoYXJfdCwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JiwgdW5zaWduZWQgaW50KiwgdW5zaWduZWQgaW50KiYsIHVuc2lnbmVkIGludCYsIHdjaGFyX3QqKdADrQJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIGRvdWJsZSYpIGNvbnN00QOyAnN0ZDo6X18yOjpudW1fZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyBkb3VibGUmKSBjb25zdNIDrAJzdGQ6Ol9fMjo6bnVtX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHZvaWQqJikgY29uc3TTA3N3Y2hhcl90IGNvbnN0KiBzdGQ6Ol9fMjo6ZmluZFthYmk6djE2MDAwNF08d2NoYXJfdCBjb25zdCosIHdjaGFyX3Q+KHdjaGFyX3QgY29uc3QqLCB3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCYp1APKAXN0ZDo6X18yOjpudW1fcHV0PGNoYXIsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19wdXQoc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgY2hhciwgYm9vbCkgY29uc3TVA2pzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46OmJlZ2luW2FiaTp2MTYwMDA0XSgp1gNoc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjplbmRbYWJpOnYxNjAwMDRdKCnXA8oBc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBsb25nKSBjb25zdNgDTnN0ZDo6X18yOjpfX251bV9wdXRfYmFzZTo6X19mb3JtYXRfaW50KGNoYXIqLCBjaGFyIGNvbnN0KiwgYm9vbCwgdW5zaWduZWQgaW50KdkDV3N0ZDo6X18yOjpfX2xpYmNwcF9zbnByaW50Zl9sKGNoYXIqLCB1bnNpZ25lZCBsb25nLCBfX2xvY2FsZV9zdHJ1Y3QqLCBjaGFyIGNvbnN0KiwgLi4uKdoDVXN0ZDo6X18yOjpfX251bV9wdXRfYmFzZTo6X19pZGVudGlmeV9wYWRkaW5nKGNoYXIqLCBjaGFyKiwgc3RkOjpfXzI6Omlvc19iYXNlIGNvbnN0JinbA3VzdGQ6Ol9fMjo6X19udW1fcHV0PGNoYXI+OjpfX3dpZGVuX2FuZF9ncm91cF9pbnQoY2hhciosIGNoYXIqLCBjaGFyKiwgY2hhciosIGNoYXIqJiwgY2hhciomLCBzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JincA48Cc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiBzdGQ6Ol9fMjo6X19wYWRfYW5kX291dHB1dFthYmk6djE2MDAwNF08Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PihzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyKd0DzwFzdGQ6Ol9fMjo6bnVtX3B1dDxjaGFyLCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIGNoYXIsIGxvbmcgbG9uZykgY29uc3TeA9MBc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCB1bnNpZ25lZCBsb25nKSBjb25zdN8D2AFzdGQ6Ol9fMjo6bnVtX3B1dDxjaGFyLCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIGNoYXIsIHVuc2lnbmVkIGxvbmcgbG9uZykgY29uc3TgA8wBc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBkb3VibGUpIGNvbnN04QPAAnN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4gc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46Ol9fZG9fcHV0X2Zsb2F0aW5nX3BvaW50W2FiaTp2MTYwMDA0XTxkb3VibGU+KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIGNoYXIsIGRvdWJsZSwgY2hhciBjb25zdCopIGNvbnN04gNKc3RkOjpfXzI6Ol9fbnVtX3B1dF9iYXNlOjpfX2Zvcm1hdF9mbG9hdChjaGFyKiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGludCnjA0lzdGQ6Ol9fMjo6X19saWJjcHBfYXNwcmludGZfbChjaGFyKiosIF9fbG9jYWxlX3N0cnVjdCosIGNoYXIgY29uc3QqLCAuLi4p5AN3c3RkOjpfXzI6Ol9fbnVtX3B1dDxjaGFyPjo6X193aWRlbl9hbmRfZ3JvdXBfZmxvYXQoY2hhciosIGNoYXIqLCBjaGFyKiwgY2hhciosIGNoYXIqJiwgY2hhciomLCBzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JinlA9EBc3RkOjpfXzI6Om51bV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBsb25nIGRvdWJsZSkgY29uc3TmA8oCc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiBzdGQ6Ol9fMjo6bnVtX3B1dDxjaGFyLCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6X19kb19wdXRfZmxvYXRpbmdfcG9pbnRbYWJpOnYxNjAwMDRdPGxvbmcgZG91YmxlPihzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBsb25nIGRvdWJsZSwgY2hhciBjb25zdCopIGNvbnN05wPRAXN0ZDo6X18yOjpudW1fcHV0PGNoYXIsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19wdXQoc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgY2hhciwgdm9pZCBjb25zdCopIGNvbnN06AOEAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6YmFzaWNfc3RyaW5nW2FiaTp2MTYwMDA0XSh1bnNpZ25lZCBsb25nLCBjaGFyKekD3AFzdGQ6Ol9fMjo6bnVtX3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIGJvb2wpIGNvbnN06gNxc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+OjplbmRbYWJpOnYxNjAwMDRdKCnrA9wBc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90LCBsb25nKSBjb25zdOwDgQFzdGQ6Ol9fMjo6X19udW1fcHV0PHdjaGFyX3Q+OjpfX3dpZGVuX2FuZF9ncm91cF9pbnQoY2hhciosIGNoYXIqLCBjaGFyKiwgd2NoYXJfdCosIHdjaGFyX3QqJiwgd2NoYXJfdComLCBzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JintA60Cc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiBzdGQ6Ol9fMjo6X19wYWRfYW5kX291dHB1dFthYmk6djE2MDAwNF08d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PihzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCB3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqLCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90Ke4D4QFzdGQ6Ol9fMjo6bnVtX3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIGxvbmcgbG9uZykgY29uc3TvA+UBc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90LCB1bnNpZ25lZCBsb25nKSBjb25zdPAD6gFzdGQ6Ol9fMjo6bnVtX3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIHVuc2lnbmVkIGxvbmcgbG9uZykgY29uc3TxA94Bc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90LCBkb3VibGUpIGNvbnN08gPYAnN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4gc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46Ol9fZG9fcHV0X2Zsb2F0aW5nX3BvaW50W2FiaTp2MTYwMDA0XTxkb3VibGU+KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIGRvdWJsZSwgY2hhciBjb25zdCopIGNvbnN08wODAXN0ZDo6X18yOjpfX251bV9wdXQ8d2NoYXJfdD46Ol9fd2lkZW5fYW5kX2dyb3VwX2Zsb2F0KGNoYXIqLCBjaGFyKiwgY2hhciosIHdjaGFyX3QqLCB3Y2hhcl90KiYsIHdjaGFyX3QqJiwgc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYp9APjAXN0ZDo6X18yOjpudW1fcHV0PHdjaGFyX3QsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19wdXQoc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCwgbG9uZyBkb3VibGUpIGNvbnN09QPiAnN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4gc3RkOjpfXzI6Om51bV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46Ol9fZG9fcHV0X2Zsb2F0aW5nX3BvaW50W2FiaTp2MTYwMDA0XTxsb25nIGRvdWJsZT4oc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCwgbG9uZyBkb3VibGUsIGNoYXIgY29uc3QqKSBjb25zdPYD4wFzdGQ6Ol9fMjo6bnVtX3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIHZvaWQgY29uc3QqKSBjb25zdPcDkAFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46OmJhc2ljX3N0cmluZ1thYmk6djE2MDAwNF0odW5zaWduZWQgbG9uZywgd2NoYXJfdCn4Azh2b2lkIHN0ZDo6X18yOjpyZXZlcnNlW2FiaTp2MTYwMDA0XTxjaGFyKj4oY2hhciosIGNoYXIqKfkDQXZvaWQgc3RkOjpfXzI6OnJldmVyc2VbYWJpOnYxNjAwMDRdPHdjaGFyX3QqPih3Y2hhcl90Kiwgd2NoYXJfdCop+gOsAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6Z2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqKSBjb25zdPsDcXN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZGF0ZV9vcmRlcigpIGNvbnN0/AOaAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZ2V0X3RpbWUoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdG0qKSBjb25zdP0DmgJzdGQ6Ol9fMjo6dGltZV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldF9kYXRlKHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKikgY29uc3T+A50Cc3RkOjpfXzI6OnRpbWVfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXRfd2Vla2RheShzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSopIGNvbnN0/wOrAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6X19nZXRfd2Vla2RheW5hbWUoaW50Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHVuc2lnbmVkIGludCYsIHN0ZDo6X18yOjpjdHlwZTxjaGFyPiBjb25zdCYpIGNvbnN0gASfAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fZ2V0X21vbnRobmFtZShzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSopIGNvbnN0gQSpAnN0ZDo6X18yOjp0aW1lX2dldDxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6X19nZXRfbW9udGhuYW1lKGludCYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCB1bnNpZ25lZCBpbnQmLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmKSBjb25zdIIEmgJzdGQ6Ol9fMjo6dGltZV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldF95ZWFyKHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKikgY29uc3SDBKQCc3RkOjpfXzI6OnRpbWVfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+OjpfX2dldF95ZWFyKGludCYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCB1bnNpZ25lZCBpbnQmLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmKSBjb25zdIQErgJpbnQgc3RkOjpfXzI6Ol9fZ2V0X3VwX3RvX25fZGlnaXRzW2FiaTp2MTYwMDA0XTxjaGFyLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+PihzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiwgdW5zaWduZWQgaW50Jiwgc3RkOjpfXzI6OmN0eXBlPGNoYXI+IGNvbnN0JiwgaW50KYUEoQJzdGQ6Ol9fMjo6dGltZV9nZXQ8Y2hhciwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSosIGNoYXIsIGNoYXIpIGNvbnN0hgTHAnN0ZDo6X18yOjp0aW1lX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6Z2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKiwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdIcErwJzdGQ6Ol9fMjo6dGltZV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX2dldF90aW1lKHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHRtKikgY29uc3SIBK8Cc3RkOjpfXzI6OnRpbWVfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXRfZGF0ZShzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSopIGNvbnN0iQSyAnN0ZDo6X18yOjp0aW1lX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0X3dlZWtkYXkoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdG0qKSBjb25zdIoEwwJzdGQ6Ol9fMjo6dGltZV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46Ol9fZ2V0X3dlZWtkYXluYW1lKGludCYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4mLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCB1bnNpZ25lZCBpbnQmLCBzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD4gY29uc3QmKSBjb25zdIsEtAJzdGQ6Ol9fMjo6dGltZV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX2dldF9tb250aG5hbWUoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdG0qKSBjb25zdIwEwQJzdGQ6Ol9fMjo6dGltZV9nZXQ8d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46Ol9fZ2V0X21vbnRobmFtZShpbnQmLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiwgdW5zaWduZWQgaW50Jiwgc3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+IGNvbnN0JikgY29uc3SNBK8Cc3RkOjpfXzI6OnRpbWVfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXRfeWVhcihzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB1bnNpZ25lZCBpbnQmLCB0bSopIGNvbnN0jgS8AnN0ZDo6X18yOjp0aW1lX2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6X19nZXRfeWVhcihpbnQmLCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiwgdW5zaWduZWQgaW50Jiwgc3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+IGNvbnN0JikgY29uc3SPBMYCaW50IHN0ZDo6X18yOjpfX2dldF91cF90b19uX2RpZ2l0c1thYmk6djE2MDAwNF08d2NoYXJfdCwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj4oc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiYsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHVuc2lnbmVkIGludCYsIHN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90PiBjb25zdCYsIGludCmQBLYCc3RkOjpfXzI6OnRpbWVfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgdG0qLCBjaGFyLCBjaGFyKSBjb25zdJEE3AFzdGQ6Ol9fMjo6dGltZV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCB0bSBjb25zdCosIGNoYXIsIGNoYXIpIGNvbnN0kgRKc3RkOjpfXzI6Ol9fdGltZV9wdXQ6Ol9fZG9fcHV0KGNoYXIqLCBjaGFyKiYsIHRtIGNvbnN0KiwgY2hhciwgY2hhcikgY29uc3STBO4Bc3RkOjpfXzI6OnRpbWVfcHV0PHdjaGFyX3QsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19wdXQoc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6Omlvc19iYXNlJiwgd2NoYXJfdCwgdG0gY29uc3QqLCBjaGFyLCBjaGFyKSBjb25zdJQELHN0ZDo6X18yOjpfX3Rocm93X3J1bnRpbWVfZXJyb3IoY2hhciBjb25zdCoplQQ7c3RkOjpfXzI6Om1vbmV5cHVuY3Q8Y2hhciwgZmFsc2U+Ojpkb19kZWNpbWFsX3BvaW50KCkgY29uc3SWBDZzdGQ6Ol9fMjo6bW9uZXlwdW5jdDxjaGFyLCBmYWxzZT46OmRvX2dyb3VwaW5nKCkgY29uc3SXBDtzdGQ6Ol9fMjo6bW9uZXlwdW5jdDxjaGFyLCBmYWxzZT46OmRvX25lZ2F0aXZlX3NpZ24oKSBjb25zdJgEOHN0ZDo6X18yOjptb25leXB1bmN0PGNoYXIsIGZhbHNlPjo6ZG9fcG9zX2Zvcm1hdCgpIGNvbnN0mQQ+c3RkOjpfXzI6Om1vbmV5cHVuY3Q8d2NoYXJfdCwgZmFsc2U+Ojpkb19kZWNpbWFsX3BvaW50KCkgY29uc3SaBD5zdGQ6Ol9fMjo6bW9uZXlwdW5jdDx3Y2hhcl90LCBmYWxzZT46OmRvX25lZ2F0aXZlX3NpZ24oKSBjb25zdJsEvwFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46OmJhc2ljX3N0cmluZyhzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKZwEpQJzdGQ6Ol9fMjo6bW9uZXlfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiwgYm9vbCwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyBkb3VibGUmKSBjb25zdJ0EiANzdGQ6Ol9fMjo6bW9uZXlfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+OjpfX2RvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiwgYm9vbCwgc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50JiwgYm9vbCYsIHN0ZDo6X18yOjpjdHlwZTxjaGFyPiBjb25zdCYsIHN0ZDo6X18yOjp1bmlxdWVfcHRyPGNoYXIsIHZvaWQgKCopKHZvaWQqKT4mLCBjaGFyKiYsIGNoYXIqKZ4EXnN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46Om9wZXJhdG9yKytbYWJpOnYxNjAwMDRdKGludCmfBHN2b2lkIHN0ZDo6X18yOjpfX2RvdWJsZV9vcl9ub3RoaW5nW2FiaTp2MTYwMDA0XTxjaGFyPihzdGQ6Ol9fMjo6dW5pcXVlX3B0cjxjaGFyLCB2b2lkICgqKSh2b2lkKik+JiwgY2hhciomLCBjaGFyKiYpoASTAXZvaWQgc3RkOjpfXzI6Ol9fZG91YmxlX29yX25vdGhpbmdbYWJpOnYxNjAwMDRdPHVuc2lnbmVkIGludD4oc3RkOjpfXzI6OnVuaXF1ZV9wdHI8dW5zaWduZWQgaW50LCB2b2lkICgqKSh2b2lkKik+JiwgdW5zaWduZWQgaW50KiYsIHVuc2lnbmVkIGludComKaEE7gJzdGQ6Ol9fMjo6bW9uZXlfZ2V0PGNoYXIsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+PiwgYm9vbCwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JikgY29uc3SiBJoCc3RkOjpfXzI6OmVuYWJsZV9pZjxfX2lzX2NwcDE3X2ZvcndhcmRfaXRlcmF0b3I8Y2hhcio+Ojp2YWx1ZSwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jj46OnR5cGUgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjphcHBlbmRbYWJpOnYxNjAwMDRdPGNoYXIqPihjaGFyKiwgY2hhciopowR8c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpfX3NldF9zaXplW2FiaTp2MTYwMDA0XSh1bnNpZ25lZCBsb25nKaQEgwFzdGQ6Ol9fMjo6bW9uZXlwdW5jdDxjaGFyLCB0cnVlPiBjb25zdCYgc3RkOjpfXzI6OnVzZV9mYWNldFthYmk6djE2MDAwNF08c3RkOjpfXzI6Om1vbmV5cHVuY3Q8Y2hhciwgdHJ1ZT4+KHN0ZDo6X18yOjpsb2NhbGUgY29uc3QmKaUEhQFzdGQ6Ol9fMjo6bW9uZXlwdW5jdDxjaGFyLCBmYWxzZT4gY29uc3QmIHN0ZDo6X18yOjp1c2VfZmFjZXRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjptb25leXB1bmN0PGNoYXIsIGZhbHNlPj4oc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYppgRAc3RkOjpfXzI6Ol9fd3JhcF9pdGVyPGNoYXIqPjo6b3BlcmF0b3IrW2FiaTp2MTYwMDA0XShsb25nKSBjb25zdKcEcnN0ZDo6X18yOjp1bmlxdWVfcHRyPGNoYXIsIHZvaWQgKCopKHZvaWQqKT46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0oc3RkOjpfXzI6OnVuaXF1ZV9wdHI8Y2hhciwgdm9pZCAoKikodm9pZCopPiYmKagEugJzdGQ6Ol9fMjo6bW9uZXlfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+Ojpkb19nZXQoc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Piwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiwgYm9vbCwgc3RkOjpfXzI6Omlvc19iYXNlJiwgdW5zaWduZWQgaW50JiwgbG9uZyBkb3VibGUmKSBjb25zdKkEqQNzdGQ6Ol9fMjo6bW9uZXlfZ2V0PHdjaGFyX3QsIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4+OjpfX2RvX2dldChzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Jiwgc3RkOjpfXzI6OmlzdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+PiwgYm9vbCwgc3RkOjpfXzI6OmxvY2FsZSBjb25zdCYsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50JiwgYm9vbCYsIHN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90PiBjb25zdCYsIHN0ZDo6X18yOjp1bmlxdWVfcHRyPHdjaGFyX3QsIHZvaWQgKCopKHZvaWQqKT4mLCB3Y2hhcl90KiYsIHdjaGFyX3QqKaoEZHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj46Om9wZXJhdG9yKytbYWJpOnYxNjAwMDRdKGludCmrBIwDc3RkOjpfXzI6Om1vbmV5X2dldDx3Y2hhcl90LCBzdGQ6Ol9fMjo6aXN0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fZ2V0KHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIHN0ZDo6X18yOjppc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIGJvb2wsIHN0ZDo6X18yOjppb3NfYmFzZSYsIHVuc2lnbmVkIGludCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiYpIGNvbnN0rAS4AnN0ZDo6X18yOjplbmFibGVfaWY8X19pc19jcHAxN19mb3J3YXJkX2l0ZXJhdG9yPHdjaGFyX3QqPjo6dmFsdWUsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiY+Ojp0eXBlIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+Pjo6YXBwZW5kW2FiaTp2MTYwMDA0XTx3Y2hhcl90Kj4od2NoYXJfdCosIHdjaGFyX3QqKa0EiQFzdGQ6Ol9fMjo6bW9uZXlwdW5jdDx3Y2hhcl90LCB0cnVlPiBjb25zdCYgc3RkOjpfXzI6OnVzZV9mYWNldFthYmk6djE2MDAwNF08c3RkOjpfXzI6Om1vbmV5cHVuY3Q8d2NoYXJfdCwgdHJ1ZT4+KHN0ZDo6X18yOjpsb2NhbGUgY29uc3QmKa4E1gFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+JiYprwSLAXN0ZDo6X18yOjptb25leXB1bmN0PHdjaGFyX3QsIGZhbHNlPiBjb25zdCYgc3RkOjpfXzI6OnVzZV9mYWNldFthYmk6djE2MDAwNF08c3RkOjpfXzI6Om1vbmV5cHVuY3Q8d2NoYXJfdCwgZmFsc2U+PihzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JimwBENzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8d2NoYXJfdCo+OjpvcGVyYXRvcitbYWJpOnYxNjAwMDRdKGxvbmcpIGNvbnN0sQTZAXN0ZDo6X18yOjptb25leV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+LCBib29sLCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCBjaGFyLCBsb25nIGRvdWJsZSkgY29uc3SyBIgDc3RkOjpfXzI6Ol9fbW9uZXlfcHV0PGNoYXI+OjpfX2dhdGhlcl9pbmZvKGJvb2wsIGJvb2wsIHN0ZDo6X18yOjpsb2NhbGUgY29uc3QmLCBzdGQ6Ol9fMjo6bW9uZXlfYmFzZTo6cGF0dGVybiYsIGNoYXImLCBjaGFyJiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JiwgaW50JimzBNYDc3RkOjpfXzI6Ol9fbW9uZXlfcHV0PGNoYXI+OjpfX2Zvcm1hdChjaGFyKiwgY2hhciomLCBjaGFyKiYsIHVuc2lnbmVkIGludCwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj4gY29uc3QmLCBib29sLCBzdGQ6Ol9fMjo6bW9uZXlfYmFzZTo6cGF0dGVybiBjb25zdCYsIGNoYXIsIGNoYXIsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIGludCm0BJsBY2hhciogc3RkOjpfXzI6OmNvcHlbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpfX3dyYXBfaXRlcjxjaGFyIGNvbnN0Kj4sIGNoYXIqPihzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBjaGFyKim1BKkCc3RkOjpfXzI6Om1vbmV5X3B1dDxjaGFyLCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4sIGJvb2wsIHN0ZDo6X18yOjppb3NfYmFzZSYsIGNoYXIsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpIGNvbnN0tgTrAXN0ZDo6X18yOjptb25leV9wdXQ8d2NoYXJfdCwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+Pj46OmRvX3B1dChzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+LCBib29sLCBzdGQ6Ol9fMjo6aW9zX2Jhc2UmLCB3Y2hhcl90LCBsb25nIGRvdWJsZSkgY29uc3S3BKMDc3RkOjpfXzI6Ol9fbW9uZXlfcHV0PHdjaGFyX3Q+OjpfX2dhdGhlcl9pbmZvKGJvb2wsIGJvb2wsIHN0ZDo6X18yOjpsb2NhbGUgY29uc3QmLCBzdGQ6Ol9fMjo6bW9uZXlfYmFzZTo6cGF0dGVybiYsIHdjaGFyX3QmLCB3Y2hhcl90Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+Jiwgc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+JiwgaW50Jim4BIMEc3RkOjpfXzI6Ol9fbW9uZXlfcHV0PHdjaGFyX3Q+OjpfX2Zvcm1hdCh3Y2hhcl90Kiwgd2NoYXJfdComLCB3Y2hhcl90KiYsIHVuc2lnbmVkIGludCwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqLCBzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD4gY29uc3QmLCBib29sLCBzdGQ6Ol9fMjo6bW9uZXlfYmFzZTo6cGF0dGVybiBjb25zdCYsIHdjaGFyX3QsIHdjaGFyX3QsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiBjb25zdCYsIGludCm5BK0Bd2NoYXJfdCogc3RkOjpfXzI6OmNvcHlbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpfX3dyYXBfaXRlcjx3Y2hhcl90IGNvbnN0Kj4sIHdjaGFyX3QqPihzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8d2NoYXJfdCBjb25zdCo+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8d2NoYXJfdCBjb25zdCo+LCB3Y2hhcl90Kim6BMQCc3RkOjpfXzI6Om1vbmV5X3B1dDx3Y2hhcl90LCBzdGQ6Ol9fMjo6b3N0cmVhbWJ1Zl9pdGVyYXRvcjx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4+Pjo6ZG9fcHV0KHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Pj4sIGJvb2wsIHN0ZDo6X18yOjppb3NfYmFzZSYsIHdjaGFyX3QsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+PiBjb25zdCYpIGNvbnN0uwSdAXN0ZDo6X18yOjptZXNzYWdlczxjaGFyPjo6ZG9fb3BlbihzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmLCBzdGQ6Ol9fMjo6bG9jYWxlIGNvbnN0JikgY29uc3S8BJMBc3RkOjpfXzI6Om1lc3NhZ2VzPGNoYXI+Ojpkb19nZXQobG9uZywgaW50LCBpbnQsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpIGNvbnN0vQSfAXN0ZDo6X18yOjptZXNzYWdlczx3Y2hhcl90Pjo6ZG9fZ2V0KGxvbmcsIGludCwgaW50LCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4gY29uc3QmKSBjb25zdL4EOXN0ZDo6X18yOjpjb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6fmNvZGVjdnQoKb8ELXN0ZDo6X18yOjpsb2NhbGU6Ol9faW1wOjpfX2ltcCh1bnNpZ25lZCBsb25nKcAEfXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+Ojp+dmVjdG9yW2FiaTp2MTYwMDA0XSgpwQSIAXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2NvbnN0cnVjdF9hdF9lbmQodW5zaWduZWQgbG9uZynCBM0Bc3RkOjpfXzI6Ol9fZXhjZXB0aW9uX2d1YXJkX2V4Y2VwdGlvbnM8c3RkOjpfXzI6OnZlY3RvcjxzdGQ6Ol9fMjo6bG9jYWxlOjpmYWNldCosIHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPj46Ol9fZGVzdHJveV92ZWN0b3I+Ojp+X19leGNlcHRpb25fZ3VhcmRfZXhjZXB0aW9uc1thYmk6djE2MDAwNF0oKcMEfXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2NsZWFyW2FiaTp2MTYwMDA0XSgpxAQdc3RkOjpfXzI6OmxvY2FsZTo6aWQ6Ol9fZ2V0KCnFBEBzdGQ6Ol9fMjo6bG9jYWxlOjpfX2ltcDo6aW5zdGFsbChzdGQ6Ol9fMjo6bG9jYWxlOjpmYWNldCosIGxvbmcpxgSSAXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2Rlc3Ryb3lfdmVjdG9yOjpvcGVyYXRvcigpW2FiaTp2MTYwMDA0XSgpxwSFAXN0ZDo6X18yOjp1bmlxdWVfcHRyPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0LCBzdGQ6Ol9fMjo6KGFub255bW91cyBuYW1lc3BhY2UpOjpyZWxlYXNlPjo6cmVzZXRbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KinIBCFzdGQ6Ol9fMjo6bG9jYWxlOjpfX2ltcDo6fl9faW1wKCnJBCNzdGQ6Ol9fMjo6bG9jYWxlOjpfX2ltcDo6fl9faW1wKCkuMcoEfnN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2FwcGVuZCh1bnNpZ25lZCBsb25nKcsELnN0ZDo6X18yOjpsb2NhbGU6Ol9faW1wOjpoYXNfZmFjZXQobG9uZykgY29uc3TMBBpzdGQ6Ol9fMjo6bG9jYWxlOjpsb2NhbGUoKc0EsgFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj46Om9wZXJhdG9yIHN0ZDo6X18yOjpiYXNpY19zdHJpbmdfdmlldzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4+W2FiaTp2MTYwMDA0XSgpIGNvbnN0zgRrc3RkOjpfXzI6OmJhc2ljX3N0cmluZ192aWV3PGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmJhc2ljX3N0cmluZ192aWV3W2FiaTp2MTYwMDA0XShjaGFyIGNvbnN0KinPBB5zdGQ6Ol9fMjo6bG9jYWxlOjppZDo6X19pbml0KCnQBCtzdGQ6Ol9fMjo6bG9jYWxlOjpmYWNldDo6X19vbl96ZXJvX3NoYXJlZCgp0QR1dm9pZCBzdGQ6Ol9fMjo6X19jYWxsX29uY2VfcHJveHlbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjp0dXBsZTxzdGQ6Ol9fMjo6KGFub255bW91cyBuYW1lc3BhY2UpOjpfX2Zha2VfYmluZCYmPj4odm9pZCop0gQ9c3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+Ojpkb19pcyh1bnNpZ25lZCBsb25nLCB3Y2hhcl90KSBjb25zdNMEVXN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90Pjo6ZG9faXMod2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqLCB1bnNpZ25lZCBsb25nKikgY29uc3TUBFlzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD46OmRvX3NjYW5faXModW5zaWduZWQgbG9uZywgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdNUEWnN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90Pjo6ZG9fc2Nhbl9ub3QodW5zaWduZWQgbG9uZywgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqKSBjb25zdNYEM3N0ZDo6X18yOjpjdHlwZTx3Y2hhcl90Pjo6ZG9fdG91cHBlcih3Y2hhcl90KSBjb25zdNcERHN0ZDo6X18yOjpjdHlwZTx3Y2hhcl90Pjo6ZG9fdG91cHBlcih3Y2hhcl90Kiwgd2NoYXJfdCBjb25zdCopIGNvbnN02AQzc3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+Ojpkb190b2xvd2VyKHdjaGFyX3QpIGNvbnN02QREc3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+Ojpkb190b2xvd2VyKHdjaGFyX3QqLCB3Y2hhcl90IGNvbnN0KikgY29uc3TaBExzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD46OmRvX3dpZGVuKGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0Kiwgd2NoYXJfdCopIGNvbnN02wQ4c3RkOjpfXzI6OmN0eXBlPHdjaGFyX3Q+Ojpkb19uYXJyb3cod2NoYXJfdCwgY2hhcikgY29uc3TcBFZzdGQ6Ol9fMjo6Y3R5cGU8d2NoYXJfdD46OmRvX25hcnJvdyh3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCosIGNoYXIsIGNoYXIqKSBjb25zdN0EH3N0ZDo6X18yOjpjdHlwZTxjaGFyPjo6fmN0eXBlKCneBCFzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj46On5jdHlwZSgpLjHfBC1zdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj46OmRvX3RvdXBwZXIoY2hhcikgY29uc3TgBDtzdGQ6Ol9fMjo6Y3R5cGU8Y2hhcj46OmRvX3RvdXBwZXIoY2hhciosIGNoYXIgY29uc3QqKSBjb25zdOEELXN0ZDo6X18yOjpjdHlwZTxjaGFyPjo6ZG9fdG9sb3dlcihjaGFyKSBjb25zdOIEO3N0ZDo6X18yOjpjdHlwZTxjaGFyPjo6ZG9fdG9sb3dlcihjaGFyKiwgY2hhciBjb25zdCopIGNvbnN04wRGc3RkOjpfXzI6OmN0eXBlPGNoYXI+Ojpkb193aWRlbihjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIqKSBjb25zdOQEMnN0ZDo6X18yOjpjdHlwZTxjaGFyPjo6ZG9fbmFycm93KGNoYXIsIGNoYXIpIGNvbnN05QRNc3RkOjpfXzI6OmN0eXBlPGNoYXI+Ojpkb19uYXJyb3coY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBjaGFyLCBjaGFyKikgY29uc3TmBIQBc3RkOjpfXzI6OmNvZGVjdnQ8Y2hhciwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19vdXQoX19tYnN0YXRlX3QmLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqJiwgY2hhciosIGNoYXIqLCBjaGFyKiYpIGNvbnN05wRgc3RkOjpfXzI6OmNvZGVjdnQ8Y2hhciwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb191bnNoaWZ0KF9fbWJzdGF0ZV90JiwgY2hhciosIGNoYXIqLCBjaGFyKiYpIGNvbnN06ARyc3RkOjpfXzI6OmNvZGVjdnQ8Y2hhciwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19sZW5ndGgoX19tYnN0YXRlX3QmLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcpIGNvbnN06QQ7c3RkOjpfXzI6OmNvZGVjdnQ8d2NoYXJfdCwgY2hhciwgX19tYnN0YXRlX3Q+Ojp+Y29kZWN2dCgpLjHqBJABc3RkOjpfXzI6OmNvZGVjdnQ8d2NoYXJfdCwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19vdXQoX19tYnN0YXRlX3QmLCB3Y2hhcl90IGNvbnN0Kiwgd2NoYXJfdCBjb25zdCosIHdjaGFyX3QgY29uc3QqJiwgY2hhciosIGNoYXIqLCBjaGFyKiYpIGNvbnN06wRZc3RkOjpfXzI6Ol9fbGliY3BwX3djcnRvbWJfbFthYmk6djE2MDAwNF0oY2hhciosIHdjaGFyX3QsIF9fbWJzdGF0ZV90KiwgX19sb2NhbGVfc3RydWN0KinsBI8Bc3RkOjpfXzI6OmNvZGVjdnQ8d2NoYXJfdCwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19pbihfX21ic3RhdGVfdCYsIGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdComLCB3Y2hhcl90Kiwgd2NoYXJfdCosIHdjaGFyX3QqJikgY29uc3TtBG9zdGQ6Ol9fMjo6X19saWJjcHBfbWJydG93Y19sW2FiaTp2MTYwMDA0XSh3Y2hhcl90KiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcsIF9fbWJzdGF0ZV90KiwgX19sb2NhbGVfc3RydWN0KinuBGNzdGQ6Ol9fMjo6Y29kZWN2dDx3Y2hhcl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX3Vuc2hpZnQoX19tYnN0YXRlX3QmLCBjaGFyKiwgY2hhciosIGNoYXIqJikgY29uc3TvBEJzdGQ6Ol9fMjo6Y29kZWN2dDx3Y2hhcl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX2VuY29kaW5nKCkgY29uc3TwBD5zdGQ6Ol9fMjo6X19saWJjcHBfbWJfY3VyX21heF9sW2FiaTp2MTYwMDA0XShfX2xvY2FsZV9zdHJ1Y3QqKfEEdXN0ZDo6X18yOjpjb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6ZG9fbGVuZ3RoKF9fbWJzdGF0ZV90JiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBsb25nKSBjb25zdPIERHN0ZDo6X18yOjpjb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6ZG9fbWF4X2xlbmd0aCgpIGNvbnN08wSUAXN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIxNl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX291dChfX21ic3RhdGVfdCYsIGNoYXIxNl90IGNvbnN0KiwgY2hhcjE2X3QgY29uc3QqLCBjaGFyMTZfdCBjb25zdComLCBjaGFyKiwgY2hhciosIGNoYXIqJikgY29uc3T0BJMBc3RkOjpfXzI6OmNvZGVjdnQ8Y2hhcjE2X3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6ZG9faW4oX19tYnN0YXRlX3QmLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqJiwgY2hhcjE2X3QqLCBjaGFyMTZfdCosIGNoYXIxNl90KiYpIGNvbnN09QR2c3RkOjpfXzI6OmNvZGVjdnQ8Y2hhcjE2X3QsIGNoYXIsIF9fbWJzdGF0ZV90Pjo6ZG9fbGVuZ3RoKF9fbWJzdGF0ZV90JiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCB1bnNpZ25lZCBsb25nKSBjb25zdPYERXN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIxNl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX21heF9sZW5ndGgoKSBjb25zdPcElAFzdGQ6Ol9fMjo6Y29kZWN2dDxjaGFyMzJfdCwgY2hhciwgX19tYnN0YXRlX3Q+Ojpkb19vdXQoX19tYnN0YXRlX3QmLCBjaGFyMzJfdCBjb25zdCosIGNoYXIzMl90IGNvbnN0KiwgY2hhcjMyX3QgY29uc3QqJiwgY2hhciosIGNoYXIqLCBjaGFyKiYpIGNvbnN0+ASTAXN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIzMl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX2luKF9fbWJzdGF0ZV90JiwgY2hhciBjb25zdCosIGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiYsIGNoYXIzMl90KiwgY2hhcjMyX3QqLCBjaGFyMzJfdComKSBjb25zdPkEdnN0ZDo6X18yOjpjb2RlY3Z0PGNoYXIzMl90LCBjaGFyLCBfX21ic3RhdGVfdD46OmRvX2xlbmd0aChfX21ic3RhdGVfdCYsIGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgbG9uZykgY29uc3T6BCVzdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj46On5udW1wdW5jdCgp+wQnc3RkOjpfXzI6Om51bXB1bmN0PGNoYXI+Ojp+bnVtcHVuY3QoKS4x/AQoc3RkOjpfXzI6Om51bXB1bmN0PHdjaGFyX3Q+Ojp+bnVtcHVuY3QoKf0EKnN0ZDo6X18yOjpudW1wdW5jdDx3Y2hhcl90Pjo6fm51bXB1bmN0KCkuMf4EMnN0ZDo6X18yOjpudW1wdW5jdDxjaGFyPjo6ZG9fZGVjaW1hbF9wb2ludCgpIGNvbnN0/wQyc3RkOjpfXzI6Om51bXB1bmN0PGNoYXI+Ojpkb190aG91c2FuZHNfc2VwKCkgY29uc3SABS1zdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj46OmRvX2dyb3VwaW5nKCkgY29uc3SBBTBzdGQ6Ol9fMjo6bnVtcHVuY3Q8d2NoYXJfdD46OmRvX2dyb3VwaW5nKCkgY29uc3SCBS1zdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj46OmRvX3RydWVuYW1lKCkgY29uc3SDBTBzdGQ6Ol9fMjo6bnVtcHVuY3Q8d2NoYXJfdD46OmRvX3RydWVuYW1lKCkgY29uc3SEBZgBc3RkOjpfXzI6OmJhc2ljX3N0cmluZzx3Y2hhcl90LCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8d2NoYXJfdD4sIHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+OjpiYXNpY19zdHJpbmdbYWJpOnYxNjAwMDRdPHN0ZDo6bnVsbHB0cl90Pih3Y2hhcl90IGNvbnN0KimFBS5zdGQ6Ol9fMjo6bnVtcHVuY3Q8Y2hhcj46OmRvX2ZhbHNlbmFtZSgpIGNvbnN0hgUxc3RkOjpfXzI6Om51bXB1bmN0PHdjaGFyX3Q+Ojpkb19mYWxzZW5hbWUoKSBjb25zdIcFeXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6b3BlcmF0b3I9W2FiaTp2MTYwMDA0XShjaGFyIGNvbnN0KimIBTVzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fd2Vla3MoKSBjb25zdIkFGl9fY3h4X2dsb2JhbF9hcnJheV9kdG9yLjU3igU4c3RkOjpfXzI6Ol9fdGltZV9nZXRfY19zdG9yYWdlPHdjaGFyX3Q+OjpfX3dlZWtzKCkgY29uc3SLBRpfX2N4eF9nbG9iYWxfYXJyYXlfZHRvci43MowFhQFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Om9wZXJhdG9yPVthYmk6djE2MDAwNF0od2NoYXJfdCBjb25zdCopjQU2c3RkOjpfXzI6Ol9fdGltZV9nZXRfY19zdG9yYWdlPGNoYXI+OjpfX21vbnRocygpIGNvbnN0jgUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuODePBTlzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9fbW9udGhzKCkgY29uc3SQBRtfX2N4eF9nbG9iYWxfYXJyYXlfZHRvci4xMTGRBTVzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fYW1fcG0oKSBjb25zdJIFG19fY3h4X2dsb2JhbF9hcnJheV9kdG9yLjEzNZMFOHN0ZDo6X18yOjpfX3RpbWVfZ2V0X2Nfc3RvcmFnZTx3Y2hhcl90Pjo6X19hbV9wbSgpIGNvbnN0lAUbX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMTM4lQUxc3RkOjpfXzI6Ol9fdGltZV9nZXRfY19zdG9yYWdlPGNoYXI+OjpfX3goKSBjb25zdJYFGV9fY3h4X2dsb2JhbF9hcnJheV9kdG9yLjOXBTRzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9feCgpIGNvbnN0mAUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMzKZBTFzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fWCgpIGNvbnN0mgUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMzSbBTRzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9fWCgpIGNvbnN0nAUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMzadBTFzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fYygpIGNvbnN0ngUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuMzifBTRzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9fYygpIGNvbnN0oAUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuNDChBTFzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8Y2hhcj46Ol9fcigpIGNvbnN0ogUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuNDKjBTRzdGQ6Ol9fMjo6X190aW1lX2dldF9jX3N0b3JhZ2U8d2NoYXJfdD46Ol9fcigpIGNvbnN0pAUaX19jeHhfZ2xvYmFsX2FycmF5X2R0b3IuNDSlBWdzdGQ6Ol9fMjo6dGltZV9wdXQ8Y2hhciwgc3RkOjpfXzI6Om9zdHJlYW1idWZfaXRlcmF0b3I8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Pj46On50aW1lX3B1dCgppgVpc3RkOjpfXzI6OnRpbWVfcHV0PGNoYXIsIHN0ZDo6X18yOjpvc3RyZWFtYnVmX2l0ZXJhdG9yPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4+Ojp+dGltZV9wdXQoKS4xpwXXAXN0ZDo6X18yOjpfX2FsbG9jYXRpb25fcmVzdWx0PHN0ZDo6X18yOjphbGxvY2F0b3JfdHJhaXRzPHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+Ojpwb2ludGVyPiBzdGQ6Ol9fMjo6X19hbGxvY2F0ZV9hdF9sZWFzdFthYmk6djE2MDAwNF08c3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj4oc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90PiYsIHVuc2lnbmVkIGxvbmcpqAVCc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pjo6YWxsb2NhdGVbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcpqQWAAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19lcmFzZV90b19lbmRbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcpqgWMAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19udWxsX3Rlcm1pbmF0ZV9hdFthYmk6djE2MDAwNF0oY2hhciosIHVuc2lnbmVkIGxvbmcpqwWJAXN0ZDo6X18yOjphbGxvY2F0b3JfdHJhaXRzPHN0ZDo6X18yOjphbGxvY2F0b3I8d2NoYXJfdD4+OjpkZWFsbG9jYXRlW2FiaTp2MTYwMDA0XShzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+Jiwgd2NoYXJfdCosIHVuc2lnbmVkIGxvbmcprAVOc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pjo6ZGVhbGxvY2F0ZVthYmk6djE2MDAwNF0od2NoYXJfdCosIHVuc2lnbmVkIGxvbmcprQW6AWF1dG8gc3RkOjpfXzI6Ol9fdW53cmFwX3JhbmdlW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+PihzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+Ka4FxgJkZWNsdHlwZShzdGQ6Ol9fMjo6X191bndyYXBfaXRlcl9pbXBsPHN0ZDo6X18yOjpfX3dyYXBfaXRlcjxjaGFyIGNvbnN0Kj4sIHRydWU+OjpfX3Vud3JhcChzdGQ6OmRlY2x2YWw8c3RkOjpfXzI6Ol9fd3JhcF9pdGVyPGNoYXIgY29uc3QqPj4oKSkpIHN0ZDo6X18yOjpfX3Vud3JhcF9pdGVyW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+LCBzdGQ6Ol9fMjo6X191bndyYXBfaXRlcl9pbXBsPHN0ZDo6X18yOjpfX3dyYXBfaXRlcjxjaGFyIGNvbnN0Kj4sIHRydWU+LCAwPihzdGQ6Ol9fMjo6X193cmFwX2l0ZXI8Y2hhciBjb25zdCo+Ka8Fd3N0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjptYXhfc2l6ZSgpIGNvbnN0sAWuAnN0ZDo6X18yOjpfX2FsbG9jYXRpb25fcmVzdWx0PHN0ZDo6X18yOjphbGxvY2F0b3JfdHJhaXRzPHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPj46OnBvaW50ZXI+IHN0ZDo6X18yOjpfX2FsbG9jYXRlX2F0X2xlYXN0W2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+KHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPiYsIHVuc2lnbmVkIGxvbmcpsQXUAXN0ZDo6X18yOjphbGxvY2F0b3JfdHJhaXRzPHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPj46OmRlYWxsb2NhdGVbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpfX3Nzb19hbGxvY2F0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCAzMHVsPiYsIHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiosIHVuc2lnbmVkIGxvbmcpsgWlAXN0ZDo6X18yOjp2ZWN0b3I8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4+OjpfX2Jhc2VfZGVzdHJ1Y3RfYXRfZW5kW2FiaTp2MTYwMDA0XShzdGQ6Ol9fMjo6bG9jYWxlOjpmYWNldCoqKbMFgQFzdGQ6Ol9fMjo6X19zcGxpdF9idWZmZXI8c3RkOjpfXzI6OmxvY2FsZTo6ZmFjZXQqLCBzdGQ6Ol9fMjo6X19zc29fYWxsb2NhdG9yPHN0ZDo6X18yOjpsb2NhbGU6OmZhY2V0KiwgMzB1bD4mPjo6fl9fc3BsaXRfYnVmZmVyKCm0BY0Bc3RkOjpfXzI6OmJhc2ljX3N0cmluZ192aWV3PGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj46OmNvbXBhcmUoc3RkOjpfXzI6OmJhc2ljX3N0cmluZ192aWV3PGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4pIGNvbnN0tQV/c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpfX3Rocm93X291dF9vZl9yYW5nZVthYmk6djE2MDAwNF0oKSBjb25zdLYFOHN0ZDo6X18yOjpfX3Rocm93X291dF9vZl9yYW5nZVthYmk6djE2MDAwNF0oY2hhciBjb25zdCoptwU5c3RkOjpfXzI6Ol9fY29uc3RleHByX3djc2xlblthYmk6djE2MDAwNF0od2NoYXJfdCBjb25zdCopuAUvc3RkOjpfXzI6Ol9fdGltZV9wdXQ6Ol9fdGltZV9wdXRbYWJpOnYxNjAwMDRdKCm5BQlzdHJ0b2xsX2y6BQpzdHJ0b3VsbF9suwUtc3RkOjpfXzI6Ol9fc2hhcmVkX2NvdW50Ojp+X19zaGFyZWRfY291bnQoKS4xvAUYc3RkOjpfX3Rocm93X2JhZF9hbGxvYygpvQUbb3BlcmF0b3IgbmV3KHVuc2lnbmVkIGxvbmcpvgVLc3RkOjpfXzI6Ol9fbGliY3BwX2FsaWduZWRfYWxsb2NbYWJpOnYxNjAwMDRdKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpvwVBc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6On5maWxlc3lzdGVtX2Vycm9yKCnABWhzdGQ6Ol9fMjo6c2hhcmVkX3B0cjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Ojp+c2hhcmVkX3B0clthYmk6djE2MDAwNF0oKcEFQ3N0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjp+ZmlsZXN5c3RlbV9lcnJvcigpLjHCBUBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X19jcmVhdGVfd2hhdChpbnQpwwVac3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmRldGFpbDo6KGFub255bW91cyBuYW1lc3BhY2UpOjpmb3JtYXRfc3RyaW5nKGNoYXIgY29uc3QqLCAuLi4pxAUtc3RkOjpfXzI6Ol9fbGliY3BwX3VucmVhY2hhYmxlW2FiaTp2MTYwMDA0XSgpxQU2c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGg6On5wYXRoW2FiaTp2MTYwMDA0XSgpxgVcc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGg6OnBhdGhbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0JinHBZgCc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IHN0ZDo6X18yOjpvcGVyYXRvcitbYWJpOnYxNjAwMDRdPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+JiYsIGNoYXIgY29uc3QqKcgFrgJ2b2lkIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpfX3Rocm93X2ZpbGVzeXN0ZW1fZXJyb3JbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiYsIHN0ZDo6X18yOjplcnJvcl9jb2RlIGNvbnN0Jj4oc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+Jiwgc3RkOjpfXzI6OmVycm9yX2NvZGUgY29uc3QmKckFgAN2b2lkIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpfX3Rocm93X2ZpbGVzeXN0ZW1fZXJyb3JbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0Jiwgc3RkOjpfXzI6OmVycm9yX2NvZGUgY29uc3QmPihzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4mLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjplcnJvcl9jb2RlIGNvbnN0JinKBdIDdm9pZCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6X190aHJvd19maWxlc3lzdGVtX2Vycm9yW2FiaTp2MTYwMDA0XTxzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4mLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0Jiwgc3RkOjpfXzI6OmVycm9yX2NvZGUgY29uc3QmPihzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4mLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0Jiwgc3RkOjpfXzI6OmVycm9yX2NvZGUgY29uc3QmKcsF0QFzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZGV0YWlsOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OkVycm9ySGFuZGxlcjx2b2lkPjo6RXJyb3JIYW5kbGVyKGNoYXIgY29uc3QqLCBzdGQ6Ol9fMjo6ZXJyb3JfY29kZSosIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoIGNvbnN0Kiwgc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGggY29uc3QqKcwFWHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpleGlzdHNbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlX3N0YXR1cynNBXhzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZGV0YWlsOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OkVycm9ySGFuZGxlcjxib29sPjo6cmVwb3J0KHN0ZDo6X18yOjplcnJvcl9jb2RlIGNvbnN0JikgY29uc3TOBXJzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZGV0YWlsOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OkVycm9ySGFuZGxlcjxib29sPjo6cmVwb3J0KHN0ZDo6X18yOjplcnJjIGNvbnN0JikgY29uc3TPBW9zdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6c3RhdHVzW2FiaTp2MTYwMDA0XShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjplcnJvcl9jb2RlJinQBXBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6X19jcmVhdGVfZGlyZWN0b3JpZXMoc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGggY29uc3QmLCBzdGQ6Ol9fMjo6ZXJyb3JfY29kZSop0QWFAXN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpkZXRhaWw6Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6cG9zaXhfc3RhdChzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYsIHN0ZDo6X18yOjplcnJvcl9jb2RlKinSBWRzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6X19zdGF0dXMoc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGggY29uc3QmLCBzdGQ6Ol9fMjo6ZXJyb3JfY29kZSop0wVTc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6cGFyc2VyOjpQYXRoUGFyc2VyOjpvcGVyYXRvci0tKCnUBVhzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6Om9wZXJhdG9yKigpIGNvbnN01QWSAXN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OnBhcnNlcjo6UGF0aFBhcnNlcjo6Q3JlYXRlQmVnaW4oc3RkOjpfXzI6OmJhc2ljX3N0cmluZ192aWV3PGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPj4p1gXGAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6YXBwZW5kW2FiaTp2MTYwMDA0XShzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKdcFUnN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OnBhcnNlcjo6UGF0aFBhcnNlcjo6aW5jcmVtZW50KCnYBXJzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6Q29uc3VtZVJvb3REaXIoc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6cGFyc2VyOjpQYXRoUGFyc2VyKinZBZoCc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OkNvbXBhcmVSb290TmFtZShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXIqLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXIqKTo6JF8wOjpvcGVyYXRvcigpKHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OnBhcnNlcjo6UGF0aFBhcnNlciopIGNvbnN02gVzc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OkNvbnN1bWVSb290TmFtZShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXIqKdsFOnN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjp3aGF0KCkgY29uc3TcBWFzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZGV0YWlsOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OmZvcm1hdF9zdHJpbmdfaW1wbChjaGFyIGNvbnN0Kiwgdm9pZCop3QWRAXN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpkZXRhaWw6Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RXJyb3JIYW5kbGVyPHZvaWQ+OjpyZXBvcnRfaW1wbChzdGQ6Ol9fMjo6ZXJyb3JfY29kZSBjb25zdCYsIGNoYXIgY29uc3QqLCB2b2lkKikgY29uc3TeBbkCc3RkOjpfXzI6OnNoYXJlZF9wdHI8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlPiBzdGQ6Ol9fMjo6bWFrZV9zaGFyZWRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGgsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoLCB2b2lkPihzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCYmLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCYmKd8F3gNzdGQ6Ol9fMjo6c2hhcmVkX3B0cjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+IHN0ZDo6X18yOjphbGxvY2F0ZV9zaGFyZWRbYWJpOnYxNjAwMDRdPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+LCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCwgc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGgsIHZvaWQ+KHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlPiBjb25zdCYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoJiYsIHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpwYXRoJiYp4AX6AXN0ZDo6X18yOjpfX2FsbG9jYXRpb25fZ3VhcmQ8c3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19zaGFyZWRfcHRyX2VtcGxhY2U8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZT4+Pj46On5fX2FsbG9jYXRpb25fZ3VhcmRbYWJpOnYxNjAwMDRdKCnhBbwBc3RkOjpfXzI6Ol9fc2hhcmVkX3B0cl9lbXBsYWNlPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Pjo6fl9fc2hhcmVkX3B0cl9lbXBsYWNlKCniBb4Bc3RkOjpfXzI6Ol9fc2hhcmVkX3B0cl9lbXBsYWNlPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Pjo6fl9fc2hhcmVkX3B0cl9lbXBsYWNlKCkuMeMFtwFzdGQ6Ol9fMjo6X19zaGFyZWRfcHRyX2VtcGxhY2U8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlLCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZT4+OjpfX29uX3plcm9fc2hhcmVkKCnkBbwBc3RkOjpfXzI6Ol9fc2hhcmVkX3B0cl9lbXBsYWNlPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Pjo6X19vbl96ZXJvX3NoYXJlZF93ZWFrKCnlBZ8Bc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlOjpfU3RvcmFnZVthYmk6djE2MDAwNF0oc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OnBhdGggY29uc3QmLCBzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6cGF0aCBjb25zdCYp5gWGA3N0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Ol9fc2hhcmVkX3B0cl9lbXBsYWNlPHN0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjpmaWxlc3lzdGVtX2Vycm9yOjpfU3RvcmFnZSwgc3RkOjpfXzI6OmFsbG9jYXRvcjxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2U+Pj46OmRlYWxsb2NhdGVbYWJpOnYxNjAwMDRdKHN0ZDo6X18yOjpfX3NoYXJlZF9wdHJfZW1wbGFjZTxzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6ZmlsZXN5c3RlbV9lcnJvcjo6X1N0b3JhZ2UsIHN0ZDo6X18yOjphbGxvY2F0b3I8c3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06OmZpbGVzeXN0ZW1fZXJyb3I6Ol9TdG9yYWdlPj4qLCB1bnNpZ25lZCBsb25nKecFpAFzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6Om1ha2VTdGF0ZShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6OlBhcnNlclN0YXRlKegFe3N0ZDo6X18yOjpfX2ZzOjpmaWxlc3lzdGVtOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OnBhcnNlcjo6UGF0aFBhcnNlcjo6Y29uc3VtZUFsbFNlcGFyYXRvcnMoY2hhciBjb25zdCosIGNoYXIgY29uc3QqKSBjb25zdOkFvgFzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6Om1ha2VTdGF0ZShzdGQ6Ol9fMjo6X19mczo6ZmlsZXN5c3RlbTo6KGFub255bW91cyBuYW1lc3BhY2UpOjpwYXJzZXI6OlBhdGhQYXJzZXI6OlBhcnNlclN0YXRlLCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCop6gVyc3RkOjpfXzI6Ol9fZnM6OmZpbGVzeXN0ZW06Oihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6cGFyc2VyOjpQYXRoUGFyc2VyOjpjb25zdW1lTmFtZShjaGFyIGNvbnN0KiwgY2hhciBjb25zdCopIGNvbnN06wV6c3RkOjpsb2dpY19lcnJvcjo6bG9naWNfZXJyb3Ioc3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+IGNvbnN0JinsBT1zdGQ6Ol9fMjo6X19saWJjcHBfcmVmc3RyaW5nOjpfX2xpYmNwcF9yZWZzdHJpbmcoY2hhciBjb25zdCop7QUqc3RkOjpsb2dpY19lcnJvcjo6bG9naWNfZXJyb3IoY2hhciBjb25zdCop7gV+c3RkOjpydW50aW1lX2Vycm9yOjpydW50aW1lX2Vycm9yKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYp7wUuc3RkOjpydW50aW1lX2Vycm9yOjpydW50aW1lX2Vycm9yKGNoYXIgY29uc3QqKfAFRHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPjo6bW92ZShjaGFyKiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcp8QXSAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19ncm93X2J5X2FuZF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIGNoYXIgY29uc3QqKfIFZXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6fmJhc2ljX3N0cmluZygp8wW5AXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19ncm93X2J5KHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcp9AU/c3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+Ojphc3NpZ24oY2hhciosIHVuc2lnbmVkIGxvbmcsIGNoYXIp9QV4c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpfX2luaXQoY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcp9gWDAXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6X19hc3NpZ25fZXh0ZXJuYWwoY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcp9wV4c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjphcHBlbmQoY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcp+AX/AXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6YmFzaWNfc3RyaW5nKHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4gY29uc3QmKfkFeHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6aW5zZXJ0KHVuc2lnbmVkIGxvbmcsIGNoYXIgY29uc3QqKfoFZXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6cHVzaF9iYWNrKGNoYXIp+wV2c3RkOjpfXzI6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6Ol9fMjo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6X18yOjphbGxvY2F0b3I8Y2hhcj4+OjpyZmluZChjaGFyLCB1bnNpZ25lZCBsb25nKSBjb25zdPwFaXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+Pjo6YXBwZW5kKGNoYXIgY29uc3QqKf0F3gFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Ol9fZ3Jvd19ieV9hbmRfcmVwbGFjZSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB3Y2hhcl90IGNvbnN0Kin+BW5zdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46On5iYXNpY19zdHJpbmcoKf8FwgFzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPHdjaGFyX3QsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czx3Y2hhcl90Piwgc3RkOjpfXzI6OmFsbG9jYXRvcjx3Y2hhcl90Pj46Ol9fZ3Jvd19ieSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nKYAGcXN0ZDo6X18yOjpiYXNpY19zdHJpbmc8d2NoYXJfdCwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPHdjaGFyX3Q+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPHdjaGFyX3Q+Pjo6cHVzaF9iYWNrKHdjaGFyX3QpgQaQAnN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBzdGQ6Ol9fMjo6b3BlcmF0b3IrPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4oY2hhciBjb25zdCosIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PiBjb25zdCYpggYec3RkOjpfXzI6OnRvX3N0cmluZyhsb25nIGxvbmcpgwYhc3RkOjpfXzI6OnRvX3N0cmluZyh1bnNpZ25lZCBpbnQphAZBc3RkOjpfXzI6Ol9faXRvYTo6X19iYXNlXzEwX3UzMlthYmk6djE2MDAwNF0oY2hhciosIHVuc2lnbmVkIGludCmFBj1zdGQ6Ol9fMjo6X19pdG9hOjpfX2FwcGVuZDJbYWJpOnYxNjAwMDRdKGNoYXIqLCB1bnNpZ25lZCBpbnQphgY9c3RkOjpfXzI6Ol9faXRvYTo6X19hcHBlbmQ0W2FiaTp2MTYwMDA0XShjaGFyKiwgdW5zaWduZWQgaW50KYcGPXN0ZDo6X18yOjpfX2l0b2E6Ol9fYXBwZW5kNlthYmk6djE2MDAwNF0oY2hhciosIHVuc2lnbmVkIGludCmIBj1zdGQ6Ol9fMjo6X19pdG9hOjpfX2FwcGVuZDhbYWJpOnYxNjAwMDRdKGNoYXIqLCB1bnNpZ25lZCBpbnQpiQY8c3RkOjpfXzI6OmVycm9yX2NhdGVnb3J5OjpkZWZhdWx0X2Vycm9yX2NvbmRpdGlvbihpbnQpIGNvbnN0igZRc3RkOjpfXzI6OmVycm9yX2NhdGVnb3J5OjplcXVpdmFsZW50KGludCwgc3RkOjpfXzI6OmVycm9yX2NvbmRpdGlvbiBjb25zdCYpIGNvbnN0iwZMc3RkOjpfXzI6OmVycm9yX2NhdGVnb3J5OjplcXVpdmFsZW50KHN0ZDo6X18yOjplcnJvcl9jb2RlIGNvbnN0JiwgaW50KSBjb25zdIwGKnN0ZDo6X18yOjpfX2RvX21lc3NhZ2U6Om1lc3NhZ2UoaW50KSBjb25zdI0GMHN0ZDo6X18yOjpfX2dlbmVyaWNfZXJyb3JfY2F0ZWdvcnk6Om5hbWUoKSBjb25zdI4GNnN0ZDo6X18yOjpfX2dlbmVyaWNfZXJyb3JfY2F0ZWdvcnk6Om1lc3NhZ2UoaW50KSBjb25zdI8GL3N0ZDo6X18yOjpfX3N5c3RlbV9lcnJvcl9jYXRlZ29yeTo6bmFtZSgpIGNvbnN0kAZFc3RkOjpfXzI6Ol9fc3lzdGVtX2Vycm9yX2NhdGVnb3J5OjpkZWZhdWx0X2Vycm9yX2NvbmRpdGlvbihpbnQpIGNvbnN0kQaRAXN0ZDo6X18yOjpzeXN0ZW1fZXJyb3I6Ol9faW5pdChzdGQ6Ol9fMjo6ZXJyb3JfY29kZSBjb25zdCYsIHN0ZDo6X18yOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpfXzI6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6Ol9fMjo6YWxsb2NhdG9yPGNoYXI+PimSBpcBc3RkOjpfXzI6OnN5c3RlbV9lcnJvcjo6c3lzdGVtX2Vycm9yKHN0ZDo6X18yOjplcnJvcl9jb2RlLCBzdGQ6Ol9fMjo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6X18yOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjpfXzI6OmFsbG9jYXRvcjxjaGFyPj4gY29uc3QmKZMGR3N0ZDo6X18yOjpzeXN0ZW1fZXJyb3I6OnN5c3RlbV9lcnJvcihzdGQ6Ol9fMjo6ZXJyb3JfY29kZSwgY2hhciBjb25zdCoplAYwc3RkOjpfXzI6Ol9fdGhyb3dfc3lzdGVtX2Vycm9yKGludCwgY2hhciBjb25zdCoplQYYX19jeGFfYWxsb2NhdGVfZXhjZXB0aW9ulgYUX19jeGFfZnJlZV9leGNlcHRpb26XBgtfX2N4YV90aHJvd5gGS19fY3h4YWJpdjE6OmV4Y2VwdGlvbl9jbGVhbnVwX2Z1bmMoX1Vud2luZF9SZWFzb25fQ29kZSwgX1Vud2luZF9FeGNlcHRpb24qKZkGIl9fY3hhX2RlY3JlbWVudF9leGNlcHRpb25fcmVmY291bnSaBhFfX2N4YV9iZWdpbl9jYXRjaJsGD19fY3hhX2VuZF9jYXRjaJwGDV9fY3hhX3JldGhyb3edBiJfX2N4YV9pbmNyZW1lbnRfZXhjZXB0aW9uX3JlZmNvdW50ngYNYWJvcnRfbWVzc2FnZZ8GHmRlbWFuZ2xpbmdfdGVybWluYXRlX2hhbmRsZXIoKaAGH2RlbWFuZ2xpbmdfdW5leHBlY3RlZF9oYW5kbGVyKCmhBhBzdGQ6OnRlcm1pbmF0ZSgpogYcc3RkOjpfX3Rlcm1pbmF0ZSh2b2lkICgqKSgpKaMGEl9fY3hhX3B1cmVfdmlydHVhbKQGL19fY3h4YWJpdjE6Ol9fYWxpZ25lZF9mcmVlX3dpdGhfZmFsbGJhY2sodm9pZCoppQZhX19jeHhhYml2MTo6X19mdW5kYW1lbnRhbF90eXBlX2luZm86OmNhbl9jYXRjaChfX2N4eGFiaXYxOjpfX3NoaW1fdHlwZV9pbmZvIGNvbnN0Kiwgdm9pZComKSBjb25zdKYGPGlzX2VxdWFsKHN0ZDo6dHlwZV9pbmZvIGNvbnN0Kiwgc3RkOjp0eXBlX2luZm8gY29uc3QqLCBib29sKacGW19fY3h4YWJpdjE6Ol9fY2xhc3NfdHlwZV9pbmZvOjpjYW5fY2F0Y2goX19jeHhhYml2MTo6X19zaGltX3R5cGVfaW5mbyBjb25zdCosIHZvaWQqJikgY29uc3SoBg5fX2R5bmFtaWNfY2FzdKkGa19fY3h4YWJpdjE6Ol9fY2xhc3NfdHlwZV9pbmZvOjpwcm9jZXNzX2ZvdW5kX2Jhc2VfY2xhc3MoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQqLCBpbnQpIGNvbnN0qgZuX19jeHhhYml2MTo6X19jbGFzc190eXBlX2luZm86Omhhc191bmFtYmlndW91c19wdWJsaWNfYmFzZShfX2N4eGFiaXYxOjpfX2R5bmFtaWNfY2FzdF9pbmZvKiwgdm9pZCosIGludCkgY29uc3SrBnFfX2N4eGFiaXYxOjpfX3NpX2NsYXNzX3R5cGVfaW5mbzo6aGFzX3VuYW1iaWd1b3VzX3B1YmxpY19iYXNlKF9fY3h4YWJpdjE6Ol9fZHluYW1pY19jYXN0X2luZm8qLCB2b2lkKiwgaW50KSBjb25zdKwGc19fY3h4YWJpdjE6Ol9fYmFzZV9jbGFzc190eXBlX2luZm86Omhhc191bmFtYmlndW91c19wdWJsaWNfYmFzZShfX2N4eGFiaXYxOjpfX2R5bmFtaWNfY2FzdF9pbmZvKiwgdm9pZCosIGludCkgY29uc3StBnJfX2N4eGFiaXYxOjpfX3ZtaV9jbGFzc190eXBlX2luZm86Omhhc191bmFtYmlndW91c19wdWJsaWNfYmFzZShfX2N4eGFiaXYxOjpfX2R5bmFtaWNfY2FzdF9pbmZvKiwgdm9pZCosIGludCkgY29uc3SuBl1fX2N4eGFiaXYxOjpfX3BvaW50ZXJfdHlwZV9pbmZvOjpjYW5fY2F0Y2goX19jeHhhYml2MTo6X19zaGltX3R5cGVfaW5mbyBjb25zdCosIHZvaWQqJikgY29uc3SvBmZfX2N4eGFiaXYxOjpfX3BvaW50ZXJfdG9fbWVtYmVyX3R5cGVfaW5mbzo6Y2FuX2NhdGNoX25lc3RlZChfX2N4eGFiaXYxOjpfX3NoaW1fdHlwZV9pbmZvIGNvbnN0KikgY29uc3SwBoMBX19jeHhhYml2MTo6X19jbGFzc190eXBlX2luZm86OnByb2Nlc3Nfc3RhdGljX3R5cGVfYWJvdmVfZHN0KF9fY3h4YWJpdjE6Ol9fZHluYW1pY19jYXN0X2luZm8qLCB2b2lkIGNvbnN0Kiwgdm9pZCBjb25zdCosIGludCkgY29uc3SxBnNfX2N4eGFiaXYxOjpfX3ZtaV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9iZWxvd19kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0sgaBAV9fY3h4YWJpdjE6Ol9fYmFzZV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9hYm92ZV9kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCB2b2lkIGNvbnN0KiwgaW50LCBib29sKSBjb25zdLMGdF9fY3h4YWJpdjE6Ol9fYmFzZV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9iZWxvd19kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0tAZyX19jeHhhYml2MTo6X19zaV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9iZWxvd19kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0tQZvX19jeHhhYml2MTo6X19jbGFzc190eXBlX2luZm86OnNlYXJjaF9iZWxvd19kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0tgaAAV9fY3h4YWJpdjE6Ol9fdm1pX2NsYXNzX3R5cGVfaW5mbzo6c2VhcmNoX2Fib3ZlX2RzdChfX2N4eGFiaXYxOjpfX2R5bmFtaWNfY2FzdF9pbmZvKiwgdm9pZCBjb25zdCosIHZvaWQgY29uc3QqLCBpbnQsIGJvb2wpIGNvbnN0twZ/X19jeHhhYml2MTo6X19zaV9jbGFzc190eXBlX2luZm86OnNlYXJjaF9hYm92ZV9kc3QoX19jeHhhYml2MTo6X19keW5hbWljX2Nhc3RfaW5mbyosIHZvaWQgY29uc3QqLCB2b2lkIGNvbnN0KiwgaW50LCBib29sKSBjb25zdLgGfF9fY3h4YWJpdjE6Ol9fY2xhc3NfdHlwZV9pbmZvOjpzZWFyY2hfYWJvdmVfZHN0KF9fY3h4YWJpdjE6Ol9fZHluYW1pY19jYXN0X2luZm8qLCB2b2lkIGNvbnN0Kiwgdm9pZCBjb25zdCosIGludCwgYm9vbCkgY29uc3S5BhxzdGQ6OmV4Y2VwdGlvbjo6d2hhdCgpIGNvbnN0ugYcc3RkOjpiYWRfYWxsb2M6OndoYXQoKSBjb25zdLsGJ3N0ZDo6YmFkX2FycmF5X25ld19sZW5ndGg6OndoYXQoKSBjb25zdLwGIHN0ZDo6bG9naWNfZXJyb3I6On5sb2dpY19lcnJvcigpvQYzc3RkOjpfXzI6Ol9fbGliY3BwX3JlZnN0cmluZzo6fl9fbGliY3BwX3JlZnN0cmluZygpvgYic3RkOjpsb2dpY19lcnJvcjo6fmxvZ2ljX2Vycm9yKCkuMb8GJHN0ZDo6cnVudGltZV9lcnJvcjo6fnJ1bnRpbWVfZXJyb3IoKcAGG3N0ZDo6YmFkX2Nhc3Q6OndoYXQoKSBjb25zdMEGU19fY3h4YWJpdjE6OnJlYWRFbmNvZGVkUG9pbnRlcih1bnNpZ25lZCBjaGFyIGNvbnN0KiosIHVuc2lnbmVkIGNoYXIsIHVuc2lnbmVkIGxvbmcpwgYuX19jeHhhYml2MTo6cmVhZFVMRUIxMjgodW5zaWduZWQgY2hhciBjb25zdCoqKcMGLl9fY3h4YWJpdjE6OnJlYWRTTEVCMTI4KHVuc2lnbmVkIGNoYXIgY29uc3QqKinEBoABX19jeHhhYml2MTo6Z2V0X3NoaW1fdHlwZV9pbmZvKHVuc2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgY2hhciBjb25zdCosIHVuc2lnbmVkIGNoYXIsIGJvb2wsIF9VbndpbmRfRXhjZXB0aW9uKiwgdW5zaWduZWQgbG9uZynFBjRfX2N4eGFiaXYxOjpjYWxsX3Rlcm1pbmF0ZShib29sLCBfVW53aW5kX0V4Y2VwdGlvbiopxgYXX1Vud2luZF9DYWxsUGVyc29uYWxpdHnHBhVlbXNjcmlwdGVuX3N0YWNrX2luaXTIBhllbXNjcmlwdGVuX3N0YWNrX2dldF9mcmVlyQYZZW1zY3JpcHRlbl9zdGFja19nZXRfYmFzZcoGGGVtc2NyaXB0ZW5fc3RhY2tfZ2V0X2VuZMsGCXN0YWNrU2F2ZcwGDHN0YWNrUmVzdG9yZc0GCnN0YWNrQWxsb2POBg5fX2N4YV9kZW1hbmdsZc8G5QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+Ojp+QWJzdHJhY3RNYW5nbGluZ1BhcnNlcigp0AZHKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXI6Om9wZXJhdG9yKz0oY2hhcinRBkwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXc6OlN0cmluZ1ZpZXcoY2hhciBjb25zdCop0gaKAihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OmNvbnN1bWVJZigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcp0wbbAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRW5jb2RpbmcoKdQG2wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+Ojpjb25zdW1lSWYoY2hhcinVBt0BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VOdW1iZXIoYm9vbCnWBsEDKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3BlY2lhbE5hbWUsIGNoYXIgY29uc3QgKCYpIFszNF0sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomPihjaGFyIGNvbnN0ICgmKSBbMzRdLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJinXBtcBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VUeXBlKCnYBkooYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlcjo6Z3Jvdyh1bnNpZ25lZCBsb25nKdkGkwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Rm9yd2FyZFRlbXBsYXRlUmVmZXJlbmNlKiwgNHVsPjo6flBPRFNtYWxsVmVjdG9yKCnaBn8oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDMydWw+OjpQT0RTbWFsbFZlY3Rvcigp2wZ+KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCA4dWw+OjpQT0RTbWFsbFZlY3Rvcigp3Aa9AShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCA4dWw+KiwgNHVsPjo6UE9EU21hbGxWZWN0b3IoKd0Geihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldzo6c3RhcnRzV2l0aCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcpIGNvbnN03gatAyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlTmFtZSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpOYW1lU3RhdGUqKd8G+wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUVuY29kaW5nKCk6OidsYW1iZGEnKCk6Om9wZXJhdG9yKCkoKSBjb25zdOAG3gEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVRlbXBsYXRlQXJnKCnhBq8BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCAzMnVsPjo6cHVzaF9iYWNrKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogY29uc3QmKeIG7wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+Ojpwb3BUcmFpbGluZ05vZGVBcnJheSh1bnNpZ25lZCBsb25nKeMGrAcoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvbkVuY29kaW5nLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZUFycmF5LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpRdWFsaWZpZXJzJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvblJlZlF1YWwmPigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZUFycmF5JiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxpZmllcnMmLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZ1bmN0aW9uUmVmUXVhbCYp5AaGAihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRW5jb2RpbmcoKTo6U2F2ZVRlbXBsYXRlUGFyYW1zOjp+U2F2ZVRlbXBsYXRlUGFyYW1zKCnlBtoCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TmFtZVR5cGUsIGNoYXIgY29uc3QgKCYpIFs1XT4oY2hhciBjb25zdCAoJikgWzVdKeYG4QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUJhcmVTb3VyY2VOYW1lKCnnBp4DKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TmFtZVR5cGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldyY+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldyYp6AbXAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRXhwcigp6QbbAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRGVjbHR5cGUoKeoGogMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQYXJhbWV0ZXJQYWNrRXhwYW5zaW9uLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYp6wbgAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlVGVtcGxhdGVQYXJhbSgp7AbjAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlVGVtcGxhdGVBcmdzKGJvb2wp7QaCBChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5hbWVXaXRoVGVtcGxhdGVBcmdzLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiY+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJinuBosEKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UmVmZXJlbmNlVHlwZSwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UmVmZXJlbmNlS2luZD4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UmVmZXJlbmNlS2luZCYmKe8GvAMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVVuc2NvcGVkTmFtZSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpOYW1lU3RhdGUqLCBib29sKinwBuABKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VRdWFsaWZpZWRUeXBlKCnxBuUCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qLCA0dWw+OjpvcGVyYXRvcj0oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qLCA0dWw+JiYp8gbnAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiwgOHVsPjo6b3BlcmF0b3I9KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiwgOHVsPiYmKfMG3QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUNhbGxPZmZzZXQoKfQG5gEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVNlcUlkKHVuc2lnbmVkIGxvbmcqKfUGlQIoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZU1vZHVsZU5hbWVPcHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNb2R1bGVOYW1lKiYp9gabAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2UqLCA0dWw+OjpvcGVyYXRvcltdKHVuc2lnbmVkIGxvbmcp9waZAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2UqLCA0dWw+Ojpkcm9wQmFjayh1bnNpZ25lZCBsb25nKfgG3gEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUV4cHJQcmltYXJ5KCn5BroFKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCA4dWw+Kiogc3RkOjpfXzI6OmNvcHlbYWJpOnYxNjAwMDRdPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiwgOHVsPioqLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qKj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqLCA4dWw+KiosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UE9EU21hbGxWZWN0b3I8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiwgOHVsPioqLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qKin6BrMDKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VTb3VyY2VOYW1lKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Ok5hbWVTdGF0ZSop+wZEKGFub255bW91cyBuYW1lc3BhY2UpOjpCdW1wUG9pbnRlckFsbG9jYXRvcjo6YWxsb2NhdGUodW5zaWduZWQgbG9uZyn8BqwBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTcGVjaWFsTmFtZTo6U3BlY2lhbE5hbWUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJpbmdWaWV3LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUgY29uc3QqKf0GvwIoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6Ok5vZGUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpLaW5kLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6OlByZWMsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUp/gZ9KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTcGVjaWFsTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T/BnYoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlcjo6b3BlcmF0b3IrPSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcpgAdCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpnZXRCYXNlTmFtZSgpIGNvbnN0gQeHAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q3RvclZ0YWJsZVNwZWNpYWxOYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIIH8AEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVBvc2l0aXZlSW50ZWdlcih1bnNpZ25lZCBsb25nKimDB3AoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5hbWVUeXBlOjpOYW1lVHlwZSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcphAd6KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOYW1lVHlwZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SFB0YoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5hbWVUeXBlOjpnZXRCYXNlTmFtZSgpIGNvbnN0hgd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNb2R1bGVOYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIcH3wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUNWUXVhbGlmaWVycygpiAffAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlU3Vic3RpdHV0aW9uKCmJB3koYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDMydWw+Ojpwb3BfYmFjaygpigeeBChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlVW5xdWFsaWZpZWROYW1lKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Ok5hbWVTdGF0ZSosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TW9kdWxlTmFtZSopiwdWKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpwYXJzZV9kaXNjcmltaW5hdG9yKGNoYXIgY29uc3QqLCBjaGFyIGNvbnN0KimMB/cDKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TG9jYWxOYW1lLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiY+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJimNB7MBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQT0RTbWFsbFZlY3RvcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBPRFNtYWxsVmVjdG9yPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSosIDh1bD4qLCA0dWw+OjpiYWNrKCmOB4gCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VBYmlUYWdzKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSopjwe4Ayhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlVW5uYW1lZFR5cGVOYW1lKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Ok5hbWVTdGF0ZSopkAe1Ayhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlT3BlcmF0b3JOYW1lKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Ok5hbWVTdGF0ZSopkQeKAihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Tm9kZSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6OktpbmQsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6Q2FjaGUpkgeUAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Rm9yd2FyZFRlbXBsYXRlUmVmZXJlbmNlOjpoYXNSSFNDb21wb25lbnRTbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3STB3woYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6Omhhc1JIU0NvbXBvbmVudCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0lAeNAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Rm9yd2FyZFRlbXBsYXRlUmVmZXJlbmNlOjpoYXNBcnJheVNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJUHkAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZvcndhcmRUZW1wbGF0ZVJlZmVyZW5jZTo6aGFzRnVuY3Rpb25TbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SWB44BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2U6OmdldFN5bnRheE5vZGUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJcHigEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZvcndhcmRUZW1wbGF0ZVJlZmVyZW5jZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SYB4sBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2U6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJkH4wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZU9wZXJhdG9yRW5jb2RpbmcoKZoH6wEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpPcGVyYXRvckluZm86OmdldFN5bWJvbCgpIGNvbnN0mwfFAihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlUHJlZml4RXhwcigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6UHJlYymcB+oEKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q2FsbEV4cHIsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGVBcnJheSwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpQcmVjPigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlQXJyYXkmJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpQcmVjJiYpnQfgAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlRnVuY3Rpb25QYXJhbSgpngfdAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OnBhcnNlQnJhY2VkRXhwcigpnwfDAyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkVuY2xvc2luZ0V4cHIsIGNoYXIgY29uc3QgKCYpIFsxMV0sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomPihjaGFyIGNvbnN0ICgmKSBbMTFdLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJimgB6sBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpvcGVyYXRvcj09KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldyBjb25zdCYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nVmlldyBjb25zdCYpoQdTKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJpbmdWaWV3Ojpkcm9wRnJvbnQodW5zaWduZWQgbG9uZykgY29uc3SiB5QCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VJbnRlZ2VyTGl0ZXJhbCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcpowe+Aihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkJvb2xFeHByLCBpbnQ+KGludCYmKaQHowMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvblBhcmFtLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcmPigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcmKaUH6QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpPcGVyYXRvckluZm86OmdldE5hbWUoKSBjb25zdKYHhgQoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpCcmFjZWRFeHByLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIGJvb2w+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgYm9vbCYmKacH4QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZVVucmVzb2x2ZWRUeXBlKCmoB9sBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VTaW1wbGVJZCgpqQf7Ayhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxpZmllZE5hbWUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomKaoH5QEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjpwYXJzZUJhc2VVbnJlc29sdmVkTmFtZSgpqwefAyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSogKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6bWFrZTwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Okdsb2JhbFF1YWxpZmllZE5hbWUsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomPigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJimsB3woYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkJpbmFyeUV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0rQdGKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXI6OnByaW50T3BlbihjaGFyKa4HtgEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGU6OnByaW50QXNPcGVyYW5kKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlOjpQcmVjLCBib29sKSBjb25zdK8HRyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyOjpwcmludENsb3NlKGNoYXIpsAd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQcmVmaXhFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdLEHfShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UG9zdGZpeEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0sgeEAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QXJyYXlTdWJzY3JpcHRFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdLMHfChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWVtYmVyRXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3S0B3koYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5ld0V4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0tQeAAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZUFycmF5OjpwcmludFdpdGhDb21tYSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0tgd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpEZWxldGVFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdLcHeihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q2FsbEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0uAeAAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q29udmVyc2lvbkV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0uQeBAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q29uZGl0aW9uYWxFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdLoHeihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q2FzdEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0uwflAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RW5jbG9zaW5nRXhwcjo6RW5jbG9zaW5nRXhwcigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN0cmluZ1ZpZXcsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSBjb25zdCosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6UHJlYym8B38oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkVuY2xvc2luZ0V4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0vQfJAyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OlNjb3BlZFRlbXBsYXRlUGFyYW1MaXN0OjpTY29wZWRUZW1wbGF0ZVBhcmFtTGlzdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+Kim+B+QBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VUZW1wbGF0ZVBhcmFtRGVjbCgpvwf/AShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46OlNjb3BlZFRlbXBsYXRlUGFyYW1MaXN0Ojp+U2NvcGVkVGVtcGxhdGVQYXJhbUxpc3QoKcAHgAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkludGVnZXJMaXRlcmFsOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdMEHeihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Qm9vbEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0wgeJAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RmxvYXRMaXRlcmFsSW1wbDxmbG9hdD46OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0wweKAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RmxvYXRMaXRlcmFsSW1wbDxkb3VibGU+OjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdMQHjwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZsb2F0TGl0ZXJhbEltcGw8bG9uZyBkb3VibGU+OjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdMUHfyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3RyaW5nTGl0ZXJhbDo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TGB/gCKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpBYnN0cmFjdE1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPiwgKGFub255bW91cyBuYW1lc3BhY2UpOjpEZWZhdWx0QWxsb2NhdG9yPjo6cGFyc2VUZW1wbGF0ZVBhcmFtRGVjbCgpOjonbGFtYmRhJygoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlRlbXBsYXRlUGFyYW1LaW5kKTo6b3BlcmF0b3IoKSgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlRlbXBsYXRlUGFyYW1LaW5kKSBjb25zdMcHgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlVubmFtZWRUeXBlTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TIB4wBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTeW50aGV0aWNUZW1wbGF0ZVBhcmFtTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TJB4cBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpUeXBlVGVtcGxhdGVQYXJhbURlY2w6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0ygeIAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6VHlwZVRlbXBsYXRlUGFyYW1EZWNsOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TLB4oBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb25UeXBlVGVtcGxhdGVQYXJhbURlY2w6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0zAeLAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9uVHlwZVRlbXBsYXRlUGFyYW1EZWNsOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TNB4sBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpUZW1wbGF0ZVRlbXBsYXRlUGFyYW1EZWNsOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdM4HhwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlRlbXBsYXRlUGFyYW1QYWNrRGVjbDo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TPB4gBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpUZW1wbGF0ZVBhcmFtUGFja0RlY2w6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdNAHgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkNsb3N1cmVUeXBlTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TRB4cBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpDbG9zdXJlVHlwZU5hbWU6OnByaW50RGVjbGFyYXRvcigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN00gd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpMYW1iZGFFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdNMHfShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RW51bUxpdGVyYWw6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN01Ad2KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXI6Om9wZXJhdG9yPDwoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJpbmdWaWV3KdUHfyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RnVuY3Rpb25QYXJhbTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TWB3ooYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZvbGRFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdNcHmgEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZvbGRFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdDo6J2xhbWJkYScoKTo6b3BlcmF0b3IoKSgpIGNvbnN02AeNAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UGFyYW1ldGVyUGFja0V4cGFuc2lvbjo6UGFyYW1ldGVyUGFja0V4cGFuc2lvbigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUgY29uc3QqKdkHiAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBhcmFtZXRlclBhY2tFeHBhbnNpb246OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN02gd8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpCcmFjZWRFeHByOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdNsHgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkJyYWNlZFJhbmdlRXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TcB60BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpJbml0TGlzdEV4cHI6OkluaXRMaXN0RXhwcigoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUgY29uc3QqLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGVBcnJheSndB34oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkluaXRMaXN0RXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TeB48BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQb2ludGVyVG9NZW1iZXJDb252ZXJzaW9uRXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TfB38oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlN1Ym9iamVjdEV4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN04AeFAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U2l6ZW9mUGFyYW1QYWNrRXhwcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3ThB38oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGVBcnJheU5vZGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN04gd7KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpUaHJvd0V4cHI6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN04wd/KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpRdWFsaWZpZWROYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdOQHSyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UXVhbGlmaWVkTmFtZTo6Z2V0QmFzZU5hbWUoKSBjb25zdOUHogMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpDb252ZXJzaW9uT3BlcmF0b3JUeXBlLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYp5gd6KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpEdG9yTmFtZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TnB4gBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpDb252ZXJzaW9uT3BlcmF0b3JUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdOgHgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkxpdGVyYWxPcGVyYXRvcjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TpB4UBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpHbG9iYWxRdWFsaWZpZWROYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdOoHUShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6R2xvYmFsUXVhbGlmaWVkTmFtZTo6Z2V0QmFzZU5hbWUoKSBjb25zdOsHzwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkV4cGFuZGVkU3BlY2lhbFN1YnN0aXR1dGlvbjo6RXhwYW5kZWRTcGVjaWFsU3Vic3RpdHV0aW9uKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3BlY2lhbFN1YktpbmQsIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZTo6S2luZCnsB4UBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTcGVjaWFsU3Vic3RpdHV0aW9uOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdO0HUShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6U3BlY2lhbFN1YnN0aXR1dGlvbjo6Z2V0QmFzZU5hbWUoKSBjb25zdO4HWShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RXhwYW5kZWRTcGVjaWFsU3Vic3RpdHV0aW9uOjpnZXRCYXNlTmFtZSgpIGNvbnN07weNAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RXhwYW5kZWRTcGVjaWFsU3Vic3RpdHV0aW9uOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdPAHfChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJpVGFnQXR0cjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3TxB7IDKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkFic3RyYWN0TWFuZ2xpbmdQYXJzZXI8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+LCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlZmF1bHRBbGxvY2F0b3I+OjptYWtlPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Q3RvckR0b3JOYW1lLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgYm9vbCwgaW50Jj4oKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiYsIGJvb2wmJiwgaW50JinyB4cBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJ1Y3R1cmVkQmluZGluZ05hbWU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN08wd+KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpDdG9yRHRvck5hbWU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN09Ad+KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpNb2R1bGVFbnRpdHk6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN09QeJAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UGFyYW1ldGVyUGFjazo6aGFzUkhTQ29tcG9uZW50U2xvdygoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN09geCAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UGFyYW1ldGVyUGFjazo6aGFzQXJyYXlTbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T3B4UBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQYXJhbWV0ZXJQYWNrOjpoYXNGdW5jdGlvblNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdPgHgwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBhcmFtZXRlclBhY2s6OmdldFN5bnRheE5vZGUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdPkHfyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UGFyYW1ldGVyUGFjazo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T6B4ABKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQYXJhbWV0ZXJQYWNrOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T7B34oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlRlbXBsYXRlQXJnczo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T8B4YBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOYW1lV2l0aFRlbXBsYXRlQXJnczo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T9B34oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkVuYWJsZUlmQXR0cjo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T+B4wBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvbkVuY29kaW5nOjpoYXNSSFNDb21wb25lbnRTbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3T/B4IBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpGdW5jdGlvbkVuY29kaW5nOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIAIgwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZ1bmN0aW9uRW5jb2Rpbmc6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIEIeyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6RG90U3VmZml4OjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIII+AMoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QWJzdHJhY3RNYW5nbGluZ1BhcnNlcjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok1hbmdsaW5nUGFyc2VyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6RGVmYXVsdEFsbG9jYXRvcj46Om1ha2U8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpWZWN0b3JUeXBlLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlKiY+KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSomLCAoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZGUqJimDCH4oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok5vZXhjZXB0U3BlYzo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SECIYBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpEeW5hbWljRXhjZXB0aW9uU3BlYzo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SFCH4oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZ1bmN0aW9uVHlwZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SGCH8oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkZ1bmN0aW9uVHlwZTo6cHJpbnRSaWdodCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0hwh/KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPYmpDUHJvdG9OYW1lOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIgIgwEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlZlbmRvckV4dFF1YWxUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIkIhAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxUeXBlOjpoYXNSSFNDb21wb25lbnRTbG93KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SKCH0oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxUeXBlOjpoYXNBcnJheVNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIsIgAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlF1YWxUeXBlOjpoYXNGdW5jdGlvblNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdIwIeihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UXVhbFR5cGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0jQh7KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpRdWFsVHlwZTo6cHJpbnRSaWdodCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0jgh+KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpCaW5hcnlGUFR5cGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0jwh8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpCaXRJbnRUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJAIgQEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBpeGVsVmVjdG9yVHlwZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SRCKsBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpWZWN0b3JUeXBlOjpWZWN0b3JUeXBlKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSBjb25zdCosIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6Tm9kZSBjb25zdCopkgh8KGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpWZWN0b3JUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJMIeyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QXJyYXlUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJQIfChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6QXJyYXlUeXBlOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SVCIUBKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQb2ludGVyVG9NZW1iZXJUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJYIhgEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBvaW50ZXJUb01lbWJlclR5cGU6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJcIiAEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OkVsYWJvcmF0ZWRUeXBlU3BlZlR5cGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0mAiHAShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UG9pbnRlclR5cGU6Omhhc1JIU0NvbXBvbmVudFNsb3coKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJkIfShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UG9pbnRlclR5cGU6OnByaW50TGVmdCgoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6Ok91dHB1dEJ1ZmZlciYpIGNvbnN0mghMKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPYmpDUHJvdG9OYW1lOjppc09iakNPYmplY3QoKSBjb25zdJsIfihhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UG9pbnRlclR5cGU6OnByaW50UmlnaHQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdJwIfyhhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6UmVmZXJlbmNlVHlwZTo6cHJpbnRMZWZ0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SdCH4oYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlJlZmVyZW5jZVR5cGU6OmNvbGxhcHNlKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SeCIABKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpSZWZlcmVuY2VUeXBlOjpwcmludFJpZ2h0KChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6aXRhbml1bV9kZW1hbmdsZTo6T3V0cHV0QnVmZmVyJikgY29uc3SfCL4BKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpQb3N0Zml4UXVhbGlmaWVkVHlwZTo6UG9zdGZpeFF1YWxpZmllZFR5cGUoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpOb2RlIGNvbnN0KiwgKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpTdHJpbmdWaWV3KaAIhgEoYW5vbnltb3VzIG5hbWVzcGFjZSk6Oml0YW5pdW1fZGVtYW5nbGU6OlBvc3RmaXhRdWFsaWZpZWRUeXBlOjpwcmludExlZnQoKGFub255bW91cyBuYW1lc3BhY2UpOjppdGFuaXVtX2RlbWFuZ2xlOjpPdXRwdXRCdWZmZXImKSBjb25zdKEIJV9fdGhyb3duX29iamVjdF9mcm9tX3Vud2luZF9leGNlcHRpb26iCBdfX2dldF9leGNlcHRpb25fbWVzc2FnZaMIFmxlZ2Fsc3R1YiRkeW5DYWxsX2ppammkCBhsZWdhbHN0dWIkZHluQ2FsbF92aWlqaWmlCBhsZWdhbHN0dWIkZHluQ2FsbF9paWlpaWqmCBlsZWdhbHN0dWIkZHluQ2FsbF9paWlpaWpqpwgabGVnYWxzdHViJGR5bkNhbGxfaWlpaWlpamqoCCFsZWdhbGZ1bmMkX2VtYmluZF9yZWdpc3Rlcl9iaWdpbnQHNwQAD19fc3RhY2tfcG9pbnRlcgEIdGVtcFJldDACC19fc3RhY2tfZW5kAwxfX3N0YWNrX2Jhc2UJrwU9AAcucm9kYXRhAQkucm9kYXRhLjECCS5yb2RhdGEuMgMJLnJvZGF0YS4zBAkucm9kYXRhLjQFCS5yb2RhdGEuNQYJLnJvZGF0YS42Bwkucm9kYXRhLjcICS5yb2RhdGEuOAkJLnJvZGF0YS45Cgoucm9kYXRhLjEwCwoucm9kYXRhLjExDAoucm9kYXRhLjEyDQoucm9kYXRhLjEzDgoucm9kYXRhLjE0Dwoucm9kYXRhLjE1EAoucm9kYXRhLjE2EQoucm9kYXRhLjE3Egoucm9kYXRhLjE4Ewoucm9kYXRhLjE5FAoucm9kYXRhLjIwFQoucm9kYXRhLjIxFgoucm9kYXRhLjIyFwoucm9kYXRhLjIzGAoucm9kYXRhLjI0GQoucm9kYXRhLjI1Ggoucm9kYXRhLjI2Gwoucm9kYXRhLjI3HAoucm9kYXRhLjI4HQoucm9kYXRhLjI5Hgoucm9kYXRhLjMwHwoucm9kYXRhLjMxIAoucm9kYXRhLjMyIQoucm9kYXRhLjMzIgoucm9kYXRhLjM0Iwoucm9kYXRhLjM1JAoucm9kYXRhLjM2JQoucm9kYXRhLjM3Jgoucm9kYXRhLjM4Jwoucm9kYXRhLjM5KAoucm9kYXRhLjQwKQoucm9kYXRhLjQxKgoucm9kYXRhLjQyKwoucm9kYXRhLjQzLAoucm9kYXRhLjQ0LQoucm9kYXRhLjQ1Lgoucm9kYXRhLjQ2Lwoucm9kYXRhLjQ3MAoucm9kYXRhLjQ4MQoucm9kYXRhLjQ5MgUuZGF0YTMHLmRhdGEuMTQHLmRhdGEuMjUHLmRhdGEuMzYHLmRhdGEuNDcHLmRhdGEuNTgHLmRhdGEuNjkHLmRhdGEuNzoHLmRhdGEuODsHLmRhdGEuOTwILmRhdGEuMTA=';
if (!isDataURI(wasmBinaryFile)) {
wasmBinaryFile = locateFile(wasmBinaryFile);
}
function getBinarySync(file) {
if (file == wasmBinaryFile && wasmBinary) {
return new Uint8Array(wasmBinary);
}
var binary = tryParseAsDataURI(file);
if (binary) {
return binary;
}
throw "both async and sync fetching of the wasm failed";
}
function getBinaryPromise(binaryFile) {
// Otherwise, getBinarySync should be able to get it synchronously
return Promise.resolve().then(() => getBinarySync(binaryFile));
}
function instantiateArrayBuffer(binaryFile, imports, receiver) {
return getBinaryPromise(binaryFile).then((binary) => {
return WebAssembly.instantiate(binary, imports);
}).then((instance) => {
return instance;
}).then(receiver, (reason) => {
err('failed to asynchronously prepare wasm: ' + reason);
// Warn on some common problems.
if (isFileURI(wasmBinaryFile)) {
err('warning: Loading from a file URI (' + wasmBinaryFile + ') is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing');
}
abort(reason);
});
}
function instantiateAsync(binary, binaryFile, imports, callback) {
return instantiateArrayBuffer(binaryFile, imports, callback);
}
// Create the wasm instance.
// Receives the wasm imports, returns the exports.
function createWasm() {
// prepare imports
var info = {
'env': wasmImports,
'wasi_snapshot_preview1': wasmImports,
};
// Load the wasm module and create an instance of using native support in the JS engine.
// handle a generated wasm instance, receiving its exports and
// performing other necessary setup
/** @param {WebAssembly.Module=} module*/
function receiveInstance(instance, module) {
var exports = instance.exports;
wasmExports = exports;
wasmMemory = wasmExports['memory'];
assert(wasmMemory, "memory not found in wasm exports");
// This assertion doesn't hold when emscripten is run in --post-link
// mode.
// TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode.
//assert(wasmMemory.buffer.byteLength === 16777216);
updateMemoryViews();
wasmTable = wasmExports['__indirect_function_table'];
assert(wasmTable, "table not found in wasm exports");
addOnInit(wasmExports['__wasm_call_ctors']);
removeRunDependency('wasm-instantiate');
return exports;
}
// wait for the pthread pool (if any)
addRunDependency('wasm-instantiate');
// Prefer streaming instantiation if available.
// Async compilation can be confusing when an error on the page overwrites Module
// (for example, if the order of elements is wrong, and the one defining Module is
// later), so we save Module and check it later.
var trueModule = Module;
function receiveInstantiationResult(result) {
// 'result' is a ResultObject object which has both the module and instance.
// receiveInstance() will swap in the exports (to Module.asm) so they can be called
assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?');
trueModule = null;
// TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
// When the regression is fixed, can restore the above PTHREADS-enabled path.
receiveInstance(result['instance']);
}
// User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
// to manually instantiate the Wasm module themselves. This allows pages to
// run the instantiation parallel to any other async startup actions they are
// performing.
// Also pthreads and wasm workers initialize the wasm instance through this
// path.
if (Module['instantiateWasm']) {
try {
return Module['instantiateWasm'](info, receiveInstance);
} catch(e) {
err('Module.instantiateWasm callback failed with error: ' + e);
// If instantiation fails, reject the module ready promise.
readyPromiseReject(e);
}
}
// If instantiation fails, reject the module ready promise.
instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
return {}; // no exports yet; we'll fill them in later
}
// Globals used by JS i64 conversions (see makeSetValue)
var tempDouble;
var tempI64;
// include: runtime_debug.js
function legacyModuleProp(prop, newName, incomming=true) {
if (!Object.getOwnPropertyDescriptor(Module, prop)) {
Object.defineProperty(Module, prop, {
configurable: true,
get() {
let extra = incomming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : '';
abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra);
}
});
}
}
function ignoredModuleProp(prop) {
if (Object.getOwnPropertyDescriptor(Module, prop)) {
abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`);
}
}
// forcing the filesystem exports a few things by default
function isExportedByForceFilesystem(name) {
return name === 'FS_createPath' ||
name === 'FS_createDataFile' ||
name === 'FS_createPreloadedFile' ||
name === 'FS_unlink' ||
name === 'addRunDependency' ||
// The old FS has some functionality that WasmFS lacks.
name === 'FS_createLazyFile' ||
name === 'FS_createDevice' ||
name === 'removeRunDependency';
}
function missingGlobal(sym, msg) {
if (typeof globalThis !== 'undefined') {
Object.defineProperty(globalThis, sym, {
configurable: true,
get() {
warnOnce('`' + sym + '` is not longer defined by emscripten. ' + msg);
return undefined;
}
});
}
}
missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer');
function missingLibrarySymbol(sym) {
if (typeof globalThis !== 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) {
Object.defineProperty(globalThis, sym, {
configurable: true,
get() {
// Can't `abort()` here because it would break code that does runtime
// checks. e.g. `if (typeof SDL === 'undefined')`.
var msg = '`' + sym + '` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line';
// DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in
// library.js, which means $name for a JS name with no prefix, or name
// for a JS name like _name.
var librarySymbol = sym;
if (!librarySymbol.startsWith('_')) {
librarySymbol = '$' + sym;
}
msg += " (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='" + librarySymbol + "')";
if (isExportedByForceFilesystem(sym)) {
msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you';
}
warnOnce(msg);
return undefined;
}
});
}
// Any symbol that is not included from the JS libary is also (by definition)
// not exported on the Module object.
unexportedRuntimeSymbol(sym);
}
function unexportedRuntimeSymbol(sym) {
if (!Object.getOwnPropertyDescriptor(Module, sym)) {
Object.defineProperty(Module, sym, {
configurable: true,
get() {
var msg = "'" + sym + "' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)";
if (isExportedByForceFilesystem(sym)) {
msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you';
}
abort(msg);
}
});
}
}
// end include: runtime_debug.js
// === Body ===
var ASM_CONSTS = {
46407: ($0, $1) => { let type = UTF8ToString($0); let directory = UTF8ToString($1); let allocatedDir = _malloc(directory.length + 1); stringToUTF8(directory, allocatedDir, directory.length + 1); let jsAllocatedDir = UTF8ToString(allocatedDir); if (type == "IDBFS") { FS.mkdir(jsAllocatedDir); FS.mount(IDBFS, {}, jsAllocatedDir); console.log('EmscriptenFileSystemManager: Mounting IDBFS filesystem...\n'); } else { throw new Error('Unsupported filesystem type, IDBFS is supported: ' + type); } _free(allocatedDir); }
};
function syncIdb_js(populateFromFS) { try { FS.syncfs(populateFromFS, function(err) { setTimeout(function() { if (err) { console.error('b. jsFS Error: syncing FS:', err); Module.setIdbfsSynced(false); } else { console.log('b. jsFS synced successfully'); Module.setIdbfsSynced(true); } }, 1); }); } catch (err) { Module.setIdbfsSynced(false); } }
var callRuntimeCallbacks = (callbacks) => {
while (callbacks.length > 0) {
// Pass the module as the first argument.
callbacks.shift()(Module);
}
};
function getCppExceptionTag() {
// In static linking, tags are defined within the wasm module and are
// exported, whereas in dynamic linking, tags are defined in library.js in
// JS code and wasm modules import them.
return wasmExports['__cpp_exception'];
}
function getCppExceptionThrownObjectFromWebAssemblyException(ex) {
// In Wasm EH, the value extracted from WebAssembly.Exception is a pointer
// to the unwind header. Convert it to the actual thrown value.
var unwind_header = ex.getArg(getCppExceptionTag(), 0);
return ___thrown_object_from_unwind_exception(unwind_header);
}
var withStackSave = (f) => {
var stack = stackSave();
var ret = f();
stackRestore(stack);
return ret;
};
var lengthBytesUTF8 = (str) => {
var len = 0;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
// unit, not a Unicode code point of the character! So decode
// UTF16->UTF32->UTF8.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var c = str.charCodeAt(i); // possibly a lead surrogate
if (c <= 0x7F) {
len++;
} else if (c <= 0x7FF) {
len += 2;
} else if (c >= 0xD800 && c <= 0xDFFF) {
len += 4; ++i;
} else {
len += 3;
}
}
return len;
};
var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
assert(typeof str === 'string');
// Parameter maxBytesToWrite is not optional. Negative values, 0, null,
// undefined and false each don't write out any bytes.
if (!(maxBytesToWrite > 0))
return 0;
var startIdx = outIdx;
var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
// unit, not a Unicode code point of the character! So decode
// UTF16->UTF32->UTF8.
// See http://unicode.org/faq/utf_bom.html#utf16-3
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description
// and https://www.ietf.org/rfc/rfc2279.txt
// and https://tools.ietf.org/html/rfc3629
var u = str.charCodeAt(i); // possibly a lead surrogate
if (u >= 0xD800 && u <= 0xDFFF) {
var u1 = str.charCodeAt(++i);
u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
}
if (u <= 0x7F) {
if (outIdx >= endIdx) break;
heap[outIdx++] = u;
} else if (u <= 0x7FF) {
if (outIdx + 1 >= endIdx) break;
heap[outIdx++] = 0xC0 | (u >> 6);
heap[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0xFFFF) {
if (outIdx + 2 >= endIdx) break;
heap[outIdx++] = 0xE0 | (u >> 12);
heap[outIdx++] = 0x80 | ((u >> 6) & 63);
heap[outIdx++] = 0x80 | (u & 63);
} else {
if (outIdx + 3 >= endIdx) break;
if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).');
heap[outIdx++] = 0xF0 | (u >> 18);
heap[outIdx++] = 0x80 | ((u >> 12) & 63);
heap[outIdx++] = 0x80 | ((u >> 6) & 63);
heap[outIdx++] = 0x80 | (u & 63);
}
}
// Null-terminate the pointer to the buffer.
heap[outIdx] = 0;
return outIdx - startIdx;
};
var stringToUTF8 = (str, outPtr, maxBytesToWrite) => {
assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
};
var stringToUTF8OnStack = (str) => {
var size = lengthBytesUTF8(str) + 1;
var ret = stackAlloc(size);
stringToUTF8(str, ret, size);
return ret;
};
var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined;
/**
* Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given
* array that contains uint8 values, returns a copy of that string as a
* Javascript String object.
* heapOrArray is either a regular array, or a JavaScript typed array view.
* @param {number} idx
* @param {number=} maxBytesToRead
* @return {string}
*/
var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => {
var endIdx = idx + maxBytesToRead;
var endPtr = idx;
// TextDecoder needs to know the byte length in advance, it doesn't stop on
// null terminator by itself. Also, use the length info to avoid running tiny
// strings through TextDecoder, since .subarray() allocates garbage.
// (As a tiny code save trick, compare endPtr against endIdx using a negation,
// so that undefined means Infinity)
while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
}
var str = '';
// If building with TextDecoder, we have already computed the string length
// above, so test loop end condition against that
while (idx < endPtr) {
// For UTF8 byte structure, see:
// http://en.wikipedia.org/wiki/UTF-8#Description
// https://www.ietf.org/rfc/rfc2279.txt
// https://tools.ietf.org/html/rfc3629
var u0 = heapOrArray[idx++];
if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
var u1 = heapOrArray[idx++] & 63;
if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
var u2 = heapOrArray[idx++] & 63;
if ((u0 & 0xF0) == 0xE0) {
u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
} else {
if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!');
u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63);
}
if (u0 < 0x10000) {
str += String.fromCharCode(u0);
} else {
var ch = u0 - 0x10000;
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
}
}
return str;
};
/**
* Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
* emscripten HEAP, returns a copy of that string as a Javascript String object.
*
* @param {number} ptr
* @param {number=} maxBytesToRead - An optional length that specifies the
* maximum number of bytes to read. You can omit this parameter to scan the
* string until the first 0 byte. If maxBytesToRead is passed, and the string
* at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
* string will cut short at that byte index (i.e. maxBytesToRead will not
* produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing
* frequent uses of UTF8ToString() with and without maxBytesToRead may throw
* JS JIT optimizations off, so it is worth to consider consistently using one
* @return {string}
*/
var UTF8ToString = (ptr, maxBytesToRead) => {
assert(typeof ptr == 'number');
return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : '';
};
function demangle(func) {
// If demangle has failed before, stop demangling any further function names
// This avoids an infinite recursion with malloc()->abort()->stackTrace()->demangle()->malloc()->...
demangle.recursionGuard = (demangle.recursionGuard|0)+1;
if (demangle.recursionGuard > 1) return func;
return withStackSave(function() {
try {
var s = func;
if (s.startsWith('__Z'))
s = s.substr(1);
var buf = stringToUTF8OnStack(s);
var status = stackAlloc(4);
var ret = ___cxa_demangle(buf, 0, 0, status);
if (HEAP32[((status)>>2)] === 0 && ret) {
return UTF8ToString(ret);
}
// otherwise, libcxxabi failed
} catch(e) {
} finally {
_free(ret);
if (demangle.recursionGuard < 2) --demangle.recursionGuard;
}
// failure when using libcxxabi, don't demangle
return func;
});
}
var getExceptionMessageCommon = (ptr) => withStackSave(() => {
var type_addr_addr = stackAlloc(4);
var message_addr_addr = stackAlloc(4);
___get_exception_message(ptr, type_addr_addr, message_addr_addr);
var type_addr = HEAPU32[((type_addr_addr)>>2)];
var message_addr = HEAPU32[((message_addr_addr)>>2)];
var type = UTF8ToString(type_addr);
_free(type_addr);
var message;
if (message_addr) {
message = UTF8ToString(message_addr);
_free(message_addr);
}
return [type, message];
});
function getExceptionMessage(ex) {
var ptr = getCppExceptionThrownObjectFromWebAssemblyException(ex);
return getExceptionMessageCommon(ptr);
}
Module['getExceptionMessage'] = getExceptionMessage;
var ptrToString = (ptr) => {
assert(typeof ptr === 'number');
// With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
ptr >>>= 0;
return '0x' + ptr.toString(16).padStart(8, '0');
};
function demangleAll(text) {
var regex =
/\b_Z[\w\d_]+/g;
return text.replace(regex,
function(x) {
var y = demangle(x);
return x === y ? x : (y + ' [' + x + ']');
});
}
var warnOnce = (text) => {
if (!warnOnce.shown) warnOnce.shown = {};
if (!warnOnce.shown[text]) {
warnOnce.shown[text] = 1;
err(text);
}
};
var ___assert_fail = (condition, filename, line, func) => {
abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']);
};
var setErrNo = (value) => {
HEAP32[((___errno_location())>>2)] = value;
return value;
};
var PATH = {
isAbs:(path) => path.charAt(0) === '/',
splitPath:(filename) => {
var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
return splitPathRe.exec(filename).slice(1);
},
normalizeArray:(parts, allowAboveRoot) => {
// if the path tries to go above the root, `up` ends up > 0
var up = 0;
for (var i = parts.length - 1; i >= 0; i--) {
var last = parts[i];
if (last === '.') {
parts.splice(i, 1);
} else if (last === '..') {
parts.splice(i, 1);
up++;
} else if (up) {
parts.splice(i, 1);
up--;
}
}
// if the path is allowed to go above the root, restore leading ..s
if (allowAboveRoot) {
for (; up; up--) {
parts.unshift('..');
}
}
return parts;
},
normalize:(path) => {
var isAbsolute = PATH.isAbs(path),
trailingSlash = path.substr(-1) === '/';
// Normalize the path
path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/');
if (!path && !isAbsolute) {
path = '.';
}
if (path && trailingSlash) {
path += '/';
}
return (isAbsolute ? '/' : '') + path;
},
dirname:(path) => {
var result = PATH.splitPath(path),
root = result[0],
dir = result[1];
if (!root && !dir) {
// No dirname whatsoever
return '.';
}
if (dir) {
// It has a dirname, strip trailing slash
dir = dir.substr(0, dir.length - 1);
}
return root + dir;
},
basename:(path) => {
// EMSCRIPTEN return '/'' for '/', not an empty string
if (path === '/') return '/';
path = PATH.normalize(path);
path = path.replace(/\/$/, "");
var lastSlash = path.lastIndexOf('/');
if (lastSlash === -1) return path;
return path.substr(lastSlash+1);
},
join:function() {
var paths = Array.prototype.slice.call(arguments);
return PATH.normalize(paths.join('/'));
},
join2:(l, r) => {
return PATH.normalize(l + '/' + r);
},
};
var initRandomFill = () => {
if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') {
// for modern web browsers
return (view) => crypto.getRandomValues(view);
} else
// we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096
abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };");
};
var randomFill = (view) => {
// Lazily init on the first invocation.
return (randomFill = initRandomFill())(view);
};
var PATH_FS = {
resolve:function() {
var resolvedPath = '',
resolvedAbsolute = false;
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
var path = (i >= 0) ? arguments[i] : FS.cwd();
// Skip empty and invalid entries
if (typeof path != 'string') {
throw new TypeError('Arguments to path.resolve must be strings');
} else if (!path) {
return ''; // an invalid portion invalidates the whole thing
}
resolvedPath = path + '/' + resolvedPath;
resolvedAbsolute = PATH.isAbs(path);
}
// At this point the path should be resolved to a full absolute path, but
// handle relative paths to be safe (might happen when process.cwd() fails)
resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/');
return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
},
relative:(from, to) => {
from = PATH_FS.resolve(from).substr(1);
to = PATH_FS.resolve(to).substr(1);
function trim(arr) {
var start = 0;
for (; start < arr.length; start++) {
if (arr[start] !== '') break;
}
var end = arr.length - 1;
for (; end >= 0; end--) {
if (arr[end] !== '') break;
}
if (start > end) return [];
return arr.slice(start, end - start + 1);
}
var fromParts = trim(from.split('/'));
var toParts = trim(to.split('/'));
var length = Math.min(fromParts.length, toParts.length);
var samePartsLength = length;
for (var i = 0; i < length; i++) {
if (fromParts[i] !== toParts[i]) {
samePartsLength = i;
break;
}
}
var outputParts = [];
for (var i = samePartsLength; i < fromParts.length; i++) {
outputParts.push('..');
}
outputParts = outputParts.concat(toParts.slice(samePartsLength));
return outputParts.join('/');
},
};
var FS_stdin_getChar_buffer = [];
/** @type {function(string, boolean=, number=)} */
function intArrayFromString(stringy, dontAddNull, length) {
var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
var u8array = new Array(len);
var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
if (dontAddNull) u8array.length = numBytesWritten;
return u8array;
}
var FS_stdin_getChar = () => {
if (!FS_stdin_getChar_buffer.length) {
var result = null;
if (typeof window != 'undefined' &&
typeof window.prompt == 'function') {
// Browser.
result = window.prompt('Input: '); // returns null on cancel
if (result !== null) {
result += '\n';
}
} else if (typeof readline == 'function') {
// Command line.
result = readline();
if (result !== null) {
result += '\n';
}
}
if (!result) {
return null;
}
FS_stdin_getChar_buffer = intArrayFromString(result, true);
}
return FS_stdin_getChar_buffer.shift();
};
var TTY = {
ttys:[],
init:function () {
// https://github.com/emscripten-core/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // currently, FS.init does not distinguish if process.stdin is a file or TTY
// // device, it always assumes it's a TTY device. because of this, we're forcing
// // process.stdin to UTF8 encoding to at least make stdin reading compatible
// // with text files until FS.init can be refactored.
// process.stdin.setEncoding('utf8');
// }
},
shutdown:function() {
// https://github.com/emscripten-core/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
// // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
// // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
// // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
// // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
// process.stdin.pause();
// }
},
register:function(dev, ops) {
TTY.ttys[dev] = { input: [], output: [], ops: ops };
FS.registerDevice(dev, TTY.stream_ops);
},
stream_ops:{
open:function(stream) {
var tty = TTY.ttys[stream.node.rdev];
if (!tty) {
throw new FS.ErrnoError(43);
}
stream.tty = tty;
stream.seekable = false;
},
close:function(stream) {
// flush any pending line data
stream.tty.ops.fsync(stream.tty);
},
fsync:function(stream) {
stream.tty.ops.fsync(stream.tty);
},
read:function(stream, buffer, offset, length, pos /* ignored */) {
if (!stream.tty || !stream.tty.ops.get_char) {
throw new FS.ErrnoError(60);
}
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = stream.tty.ops.get_char(stream.tty);
} catch (e) {
throw new FS.ErrnoError(29);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(6);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},
write:function(stream, buffer, offset, length, pos) {
if (!stream.tty || !stream.tty.ops.put_char) {
throw new FS.ErrnoError(60);
}
try {
for (var i = 0; i < length; i++) {
stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
}
} catch (e) {
throw new FS.ErrnoError(29);
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
},
},
default_tty_ops:{
get_char:function(tty) {
return FS_stdin_getChar();
},
put_char:function(tty, val) {
if (val === null || val === 10) {
out(UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
}
},
fsync:function(tty) {
if (tty.output && tty.output.length > 0) {
out(UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
},
ioctl_tcgets:function(tty) {
// typical setting
return {
c_iflag: 25856,
c_oflag: 5,
c_cflag: 191,
c_lflag: 35387,
c_cc: [
0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00,
0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]
};
},
ioctl_tcsets:function(tty, optional_actions, data) {
// currently just ignore
return 0;
},
ioctl_tiocgwinsz:function(tty) {
return [24, 80];
},
},
default_tty1_ops:{
put_char:function(tty, val) {
if (val === null || val === 10) {
err(UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val);
}
},
fsync:function(tty) {
if (tty.output && tty.output.length > 0) {
err(UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
},
},
};
var mmapAlloc = (size) => {
abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported');
};
var MEMFS = {
ops_table:null,
mount(mount) {
return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
},
createNode(parent, name, mode, dev) {
if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
// no supported
throw new FS.ErrnoError(63);
}
if (!MEMFS.ops_table) {
MEMFS.ops_table = {
dir: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
lookup: MEMFS.node_ops.lookup,
mknod: MEMFS.node_ops.mknod,
rename: MEMFS.node_ops.rename,
unlink: MEMFS.node_ops.unlink,
rmdir: MEMFS.node_ops.rmdir,
readdir: MEMFS.node_ops.readdir,
symlink: MEMFS.node_ops.symlink
},
stream: {
llseek: MEMFS.stream_ops.llseek
}
},
file: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: {
llseek: MEMFS.stream_ops.llseek,
read: MEMFS.stream_ops.read,
write: MEMFS.stream_ops.write,
allocate: MEMFS.stream_ops.allocate,
mmap: MEMFS.stream_ops.mmap,
msync: MEMFS.stream_ops.msync
}
},
link: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
readlink: MEMFS.node_ops.readlink
},
stream: {}
},
chrdev: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: FS.chrdev_stream_ops
}
};
}
var node = FS.createNode(parent, name, mode, dev);
if (FS.isDir(node.mode)) {
node.node_ops = MEMFS.ops_table.dir.node;
node.stream_ops = MEMFS.ops_table.dir.stream;
node.contents = {};
} else if (FS.isFile(node.mode)) {
node.node_ops = MEMFS.ops_table.file.node;
node.stream_ops = MEMFS.ops_table.file.stream;
node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity.
// When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
// for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
// penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
node.contents = null;
} else if (FS.isLink(node.mode)) {
node.node_ops = MEMFS.ops_table.link.node;
node.stream_ops = MEMFS.ops_table.link.stream;
} else if (FS.isChrdev(node.mode)) {
node.node_ops = MEMFS.ops_table.chrdev.node;
node.stream_ops = MEMFS.ops_table.chrdev.stream;
}
node.timestamp = Date.now();
// add the new node to the parent
if (parent) {
parent.contents[name] = node;
parent.timestamp = node.timestamp;
}
return node;
},
getFileDataAsTypedArray(node) {
if (!node.contents) return new Uint8Array(0);
if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
return new Uint8Array(node.contents);
},
expandFileStorage(node, newCapacity) {
var prevCapacity = node.contents ? node.contents.length : 0;
if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
// Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
// For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
// avoid overshooting the allocation cap by a very large margin.
var CAPACITY_DOUBLING_MAX = 1024 * 1024;
newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0);
if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
var oldContents = node.contents;
node.contents = new Uint8Array(newCapacity); // Allocate new storage.
if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
},
resizeFileStorage(node, newSize) {
if (node.usedBytes == newSize) return;
if (newSize == 0) {
node.contents = null; // Fully decommit when requesting a resize to zero.
node.usedBytes = 0;
} else {
var oldContents = node.contents;
node.contents = new Uint8Array(newSize); // Allocate new storage.
if (oldContents) {
node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.
}
node.usedBytes = newSize;
}
},
node_ops:{
getattr(node) {
var attr = {};
// device numbers reuse inode numbers.
attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
attr.ino = node.id;
attr.mode = node.mode;
attr.nlink = 1;
attr.uid = 0;
attr.gid = 0;
attr.rdev = node.rdev;
if (FS.isDir(node.mode)) {
attr.size = 4096;
} else if (FS.isFile(node.mode)) {
attr.size = node.usedBytes;
} else if (FS.isLink(node.mode)) {
attr.size = node.link.length;
} else {
attr.size = 0;
}
attr.atime = new Date(node.timestamp);
attr.mtime = new Date(node.timestamp);
attr.ctime = new Date(node.timestamp);
// NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
// but this is not required by the standard.
attr.blksize = 4096;
attr.blocks = Math.ceil(attr.size / attr.blksize);
return attr;
},
setattr(node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
if (attr.size !== undefined) {
MEMFS.resizeFileStorage(node, attr.size);
}
},
lookup(parent, name) {
throw FS.genericErrors[44];
},
mknod(parent, name, mode, dev) {
return MEMFS.createNode(parent, name, mode, dev);
},
rename(old_node, new_dir, new_name) {
// if we're overwriting a directory at new_name, make sure it's empty.
if (FS.isDir(old_node.mode)) {
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
}
if (new_node) {
for (var i in new_node.contents) {
throw new FS.ErrnoError(55);
}
}
}
// do the internal rewiring
delete old_node.parent.contents[old_node.name];
old_node.parent.timestamp = Date.now();
old_node.name = new_name;
new_dir.contents[new_name] = old_node;
new_dir.timestamp = old_node.parent.timestamp;
old_node.parent = new_dir;
},
unlink(parent, name) {
delete parent.contents[name];
parent.timestamp = Date.now();
},
rmdir(parent, name) {
var node = FS.lookupNode(parent, name);
for (var i in node.contents) {
throw new FS.ErrnoError(55);
}
delete parent.contents[name];
parent.timestamp = Date.now();
},
readdir(node) {
var entries = ['.', '..'];
for (var key in node.contents) {
if (!node.contents.hasOwnProperty(key)) {
continue;
}
entries.push(key);
}
return entries;
},
symlink(parent, newname, oldpath) {
var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
node.link = oldpath;
return node;
},
readlink(node) {
if (!FS.isLink(node.mode)) {
throw new FS.ErrnoError(28);
}
return node.link;
},
},
stream_ops:{
read(stream, buffer, offset, length, position) {
var contents = stream.node.contents;
if (position >= stream.node.usedBytes) return 0;
var size = Math.min(stream.node.usedBytes - position, length);
assert(size >= 0);
if (size > 8 && contents.subarray) { // non-trivial, and typed array
buffer.set(contents.subarray(position, position + size), offset);
} else {
for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
}
return size;
},
write(stream, buffer, offset, length, position, canOwn) {
// The data buffer should be a typed array view
assert(!(buffer instanceof ArrayBuffer));
// If the buffer is located in main memory (HEAP), and if
// memory can grow, we can't hold on to references of the
// memory buffer, as they may get invalidated. That means we
// need to do copy its contents.
if (buffer.buffer === HEAP8.buffer) {
canOwn = false;
}
if (!length) return 0;
var node = stream.node;
node.timestamp = Date.now();
if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array?
if (canOwn) {
assert(position === 0, 'canOwn must imply no weird position inside the file');
node.contents = buffer.subarray(offset, offset + length);
node.usedBytes = length;
return length;
} else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
node.contents = buffer.slice(offset, offset + length);
node.usedBytes = length;
return length;
} else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file?
node.contents.set(buffer.subarray(offset, offset + length), position);
return length;
}
}
// Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
MEMFS.expandFileStorage(node, position+length);
if (node.contents.subarray && buffer.subarray) {
// Use typed array write which is available.
node.contents.set(buffer.subarray(offset, offset + length), position);
} else {
for (var i = 0; i < length; i++) {
node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.
}
}
node.usedBytes = Math.max(node.usedBytes, position + length);
return length;
},
llseek(stream, offset, whence) {
var position = offset;
if (whence === 1) {
position += stream.position;
} else if (whence === 2) {
if (FS.isFile(stream.node.mode)) {
position += stream.node.usedBytes;
}
}
if (position < 0) {
throw new FS.ErrnoError(28);
}
return position;
},
allocate(stream, offset, length) {
MEMFS.expandFileStorage(stream.node, offset + length);
stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
},
mmap(stream, length, position, prot, flags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(43);
}
var ptr;
var allocated;
var contents = stream.node.contents;
// Only make a new copy when MAP_PRIVATE is specified.
if (!(flags & 2) && contents.buffer === HEAP8.buffer) {
// We can't emulate MAP_SHARED when the file is not backed by the
// buffer we're mapping to (e.g. the HEAP buffer).
allocated = false;
ptr = contents.byteOffset;
} else {
// Try to avoid unnecessary slices.
if (position > 0 || position + length < contents.length) {
if (contents.subarray) {
contents = contents.subarray(position, position + length);
} else {
contents = Array.prototype.slice.call(contents, position, position + length);
}
}
allocated = true;
ptr = mmapAlloc();
if (!ptr) {
throw new FS.ErrnoError(48);
}
HEAP8.set(contents, ptr);
}
return { ptr, allocated };
},
msync(stream, buffer, offset, length, mmapFlags) {
MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
// should we check if bytesWritten and length are the same?
return 0;
},
},
};
/** @param {boolean=} noRunDep */
var asyncLoad = (url, onload, onerror, noRunDep) => {
var dep = !noRunDep ? getUniqueRunDependency(`al ${url}`) : '';
readAsync(url, (arrayBuffer) => {
assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`);
onload(new Uint8Array(arrayBuffer));
if (dep) removeRunDependency(dep);
}, (event) => {
if (onerror) {
onerror();
} else {
throw `Loading data file "${url}" failed.`;
}
});
if (dep) addRunDependency(dep);
};
var preloadPlugins = Module['preloadPlugins'] || [];
function FS_handledByPreloadPlugin(byteArray, fullname, finish, onerror) {
// Ensure plugins are ready.
if (typeof Browser != 'undefined') Browser.init();
var handled = false;
preloadPlugins.forEach(function(plugin) {
if (handled) return;
if (plugin['canHandle'](fullname)) {
plugin['handle'](byteArray, fullname, finish, onerror);
handled = true;
}
});
return handled;
}
function FS_createPreloadedFile(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
// TODO we should allow people to just pass in a complete filename instead
// of parent and name being that we just join them anyways
var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname
function processData(byteArray) {
function finish(byteArray) {
if (preFinish) preFinish();
if (!dontCreateFile) {
FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
}
if (onload) onload();
removeRunDependency(dep);
}
if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => {
if (onerror) onerror();
removeRunDependency(dep);
})) {
return;
}
finish(byteArray);
}
addRunDependency(dep);
if (typeof url == 'string') {
asyncLoad(url, (byteArray) => processData(byteArray), onerror);
} else {
processData(url);
}
}
function FS_modeStringToFlags(str) {
var flagModes = {
'r': 0,
'r+': 2,
'w': 512 | 64 | 1,
'w+': 512 | 64 | 2,
'a': 1024 | 64 | 1,
'a+': 1024 | 64 | 2,
};
var flags = flagModes[str];
if (typeof flags == 'undefined') {
throw new Error(`Unknown file open mode: ${str}`);
}
return flags;
}
function FS_getMode(canRead, canWrite) {
var mode = 0;
if (canRead) mode |= 292 | 73;
if (canWrite) mode |= 146;
return mode;
}
var IDBFS = {
dbs:{
},
indexedDB:() => {
if (typeof indexedDB != 'undefined') return indexedDB;
var ret = null;
if (typeof window == 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
assert(ret, 'IDBFS used, but indexedDB not supported');
return ret;
},
DB_VERSION:21,
DB_STORE_NAME:"FILE_DATA",
mount:function(mount) {
// reuse all of the core MEMFS functionality
return MEMFS.mount.apply(null, arguments);
},
syncfs:(mount, populate, callback) => {
IDBFS.getLocalSet(mount, (err, local) => {
if (err) return callback(err);
IDBFS.getRemoteSet(mount, (err, remote) => {
if (err) return callback(err);
var src = populate ? remote : local;
var dst = populate ? local : remote;
IDBFS.reconcile(src, dst, callback);
});
});
},
quit:() => {
Object.values(IDBFS.dbs).forEach((value) => value.close());
IDBFS.dbs = {};
},
getDB:(name, callback) => {
// check the cache first
var db = IDBFS.dbs[name];
if (db) {
return callback(null, db);
}
var req;
try {
req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
} catch (e) {
return callback(e);
}
if (!req) {
return callback("Unable to connect to IndexedDB");
}
req.onupgradeneeded = (e) => {
var db = /** @type {IDBDatabase} */ (e.target.result);
var transaction = e.target.transaction;
var fileStore;
if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
} else {
fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
}
if (!fileStore.indexNames.contains('timestamp')) {
fileStore.createIndex('timestamp', 'timestamp', { unique: false });
}
};
req.onsuccess = () => {
db = /** @type {IDBDatabase} */ (req.result);
// add to the cache
IDBFS.dbs[name] = db;
callback(null, db);
};
req.onerror = (e) => {
callback(e.target.error);
e.preventDefault();
};
},
getLocalSet:(mount, callback) => {
var entries = {};
function isRealDir(p) {
return p !== '.' && p !== '..';
} function toAbsolute(root) {
return (p) => {
return PATH.join2(root, p);
}
}
var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
while (check.length) {
var path = check.pop();
var stat;
try {
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
}
entries[path] = { 'timestamp': stat.mtime };
}
return callback(null, { type: 'local', entries: entries });
},
getRemoteSet:(mount, callback) => {
var entries = {};
IDBFS.getDB(mount.mountpoint, (err, db) => {
if (err) return callback(err);
try {
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
transaction.onerror = (e) => {
callback(e.target.error);
e.preventDefault();
};
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
var index = store.index('timestamp');
index.openKeyCursor().onsuccess = (event) => {
var cursor = event.target.result;
if (!cursor) {
return callback(null, { type: 'remote', db, entries });
}
entries[cursor.primaryKey] = { 'timestamp': cursor.key };
cursor.continue();
};
} catch (e) {
return callback(e);
}
});
},
loadLocalEntry:(path, callback) => {
var stat, node;
try {
var lookup = FS.lookupPath(path);
node = lookup.node;
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
return callback(null, { 'timestamp': stat.mtime, 'mode': stat.mode });
} else if (FS.isFile(stat.mode)) {
// Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.
// Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.
node.contents = MEMFS.getFileDataAsTypedArray(node);
return callback(null, { 'timestamp': stat.mtime, 'mode': stat.mode, 'contents': node.contents });
} else {
return callback(new Error('node type not supported'));
}
},
storeLocalEntry:(path, entry, callback) => {
try {
if (FS.isDir(entry['mode'])) {
FS.mkdirTree(path, entry['mode']);
} else if (FS.isFile(entry['mode'])) {
FS.writeFile(path, entry['contents'], { canOwn: true });
} else {
return callback(new Error('node type not supported'));
}
FS.chmod(path, entry['mode']);
FS.utime(path, entry['timestamp'], entry['timestamp']);
} catch (e) {
return callback(e);
}
callback(null);
},
removeLocalEntry:(path, callback) => {
try {
var stat = FS.stat(path);
if (FS.isDir(stat.mode)) {
FS.rmdir(path);
} else if (FS.isFile(stat.mode)) {
FS.unlink(path);
}
} catch (e) {
return callback(e);
}
callback(null);
},
loadRemoteEntry:(store, path, callback) => {
var req = store.get(path);
req.onsuccess = (event) => { callback(null, event.target.result); };
req.onerror = (e) => {
callback(e.target.error);
e.preventDefault();
};
},
storeRemoteEntry:(store, path, entry, callback) => {
try {
var req = store.put(entry, path);
} catch (e) {
callback(e);
return;
}
req.onsuccess = () => { callback(null); };
req.onerror = (e) => {
callback(e.target.error);
e.preventDefault();
};
},
removeRemoteEntry:(store, path, callback) => {
var req = store.delete(path);
req.onsuccess = () => { callback(null); };
req.onerror = (e) => {
callback(e.target.error);
e.preventDefault();
};
},
reconcile:(src, dst, callback) => {
var total = 0;
var create = [];
Object.keys(src.entries).forEach(function (key) {
var e = src.entries[key];
var e2 = dst.entries[key];
if (!e2 || e['timestamp'].getTime() != e2['timestamp'].getTime()) {
create.push(key);
total++;
}
});
var remove = [];
Object.keys(dst.entries).forEach(function (key) {
if (!src.entries[key]) {
remove.push(key);
total++;
}
});
if (!total) {
return callback(null);
}
var errored = false;
var db = src.type === 'remote' ? src.db : dst.db;
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
function done(err) {
if (err && !errored) {
errored = true;
return callback(err);
}
}
transaction.onerror = (e) => {
done(this.error);
e.preventDefault();
};
transaction.oncomplete = (e) => {
if (!errored) {
callback(null);
}
};
// sort paths in ascending order so directory entries are created
// before the files inside them
create.sort().forEach((path) => {
if (dst.type === 'local') {
IDBFS.loadRemoteEntry(store, path, (err, entry) => {
if (err) return done(err);
IDBFS.storeLocalEntry(path, entry, done);
});
} else {
IDBFS.loadLocalEntry(path, (err, entry) => {
if (err) return done(err);
IDBFS.storeRemoteEntry(store, path, entry, done);
});
}
});
// sort paths in descending order so files are deleted before their
// parent directories
remove.sort().reverse().forEach((path) => {
if (dst.type === 'local') {
IDBFS.removeLocalEntry(path, done);
} else {
IDBFS.removeRemoteEntry(store, path, done);
}
});
},
};
var ERRNO_MESSAGES = {
0:"Success",
1:"Arg list too long",
2:"Permission denied",
3:"Address already in use",
4:"Address not available",
5:"Address family not supported by protocol family",
6:"No more processes",
7:"Socket already connected",
8:"Bad file number",
9:"Trying to read unreadable message",
10:"Mount device busy",
11:"Operation canceled",
12:"No children",
13:"Connection aborted",
14:"Connection refused",
15:"Connection reset by peer",
16:"File locking deadlock error",
17:"Destination address required",
18:"Math arg out of domain of func",
19:"Quota exceeded",
20:"File exists",
21:"Bad address",
22:"File too large",
23:"Host is unreachable",
24:"Identifier removed",
25:"Illegal byte sequence",
26:"Connection already in progress",
27:"Interrupted system call",
28:"Invalid argument",
29:"I/O error",
30:"Socket is already connected",
31:"Is a directory",
32:"Too many symbolic links",
33:"Too many open files",
34:"Too many links",
35:"Message too long",
36:"Multihop attempted",
37:"File or path name too long",
38:"Network interface is not configured",
39:"Connection reset by network",
40:"Network is unreachable",
41:"Too many open files in system",
42:"No buffer space available",
43:"No such device",
44:"No such file or directory",
45:"Exec format error",
46:"No record locks available",
47:"The link has been severed",
48:"Not enough core",
49:"No message of desired type",
50:"Protocol not available",
51:"No space left on device",
52:"Function not implemented",
53:"Socket is not connected",
54:"Not a directory",
55:"Directory not empty",
56:"State not recoverable",
57:"Socket operation on non-socket",
59:"Not a typewriter",
60:"No such device or address",
61:"Value too large for defined data type",
62:"Previous owner died",
63:"Not super-user",
64:"Broken pipe",
65:"Protocol error",
66:"Unknown protocol",
67:"Protocol wrong type for socket",
68:"Math result not representable",
69:"Read only file system",
70:"Illegal seek",
71:"No such process",
72:"Stale file handle",
73:"Connection timed out",
74:"Text file busy",
75:"Cross-device link",
100:"Device not a stream",
101:"Bad font file fmt",
102:"Invalid slot",
103:"Invalid request code",
104:"No anode",
105:"Block device required",
106:"Channel number out of range",
107:"Level 3 halted",
108:"Level 3 reset",
109:"Link number out of range",
110:"Protocol driver not attached",
111:"No CSI structure available",
112:"Level 2 halted",
113:"Invalid exchange",
114:"Invalid request descriptor",
115:"Exchange full",
116:"No data (for no delay io)",
117:"Timer expired",
118:"Out of streams resources",
119:"Machine is not on the network",
120:"Package not installed",
121:"The object is remote",
122:"Advertise error",
123:"Srmount error",
124:"Communication error on send",
125:"Cross mount point (not really error)",
126:"Given log. name not unique",
127:"f.d. invalid for this operation",
128:"Remote address changed",
129:"Can access a needed shared lib",
130:"Accessing a corrupted shared lib",
131:".lib section in a.out corrupted",
132:"Attempting to link in too many libs",
133:"Attempting to exec a shared library",
135:"Streams pipe error",
136:"Too many users",
137:"Socket type not supported",
138:"Not supported",
139:"Protocol family not supported",
140:"Can't send after socket shutdown",
141:"Too many references",
142:"Host is down",
148:"No medium (in tape drive)",
156:"Level 2 not synchronized",
};
var ERRNO_CODES = {
};
var FS = {
root:null,
mounts:[],
devices:{
},
streams:[],
nextInode:1,
nameTable:null,
currentPath:"/",
initialized:false,
ignorePermissions:true,
ErrnoError:null,
genericErrors:{
},
filesystems:null,
syncFSRequests:0,
lookupPath:(path, opts = {}) => {
path = PATH_FS.resolve(path);
if (!path) return { path: '', node: null };
var defaults = {
follow_mount: true,
recurse_count: 0
};
opts = Object.assign(defaults, opts);
if (opts.recurse_count > 8) { // max recursive lookup of 8
throw new FS.ErrnoError(32);
}
// split the absolute path
var parts = path.split('/').filter((p) => !!p);
// start at the root
var current = FS.root;
var current_path = '/';
for (var i = 0; i < parts.length; i++) {
var islast = (i === parts.length-1);
if (islast && opts.parent) {
// stop resolving
break;
}
current = FS.lookupNode(current, parts[i]);
current_path = PATH.join2(current_path, parts[i]);
// jump to the mount's root node if this is a mountpoint
if (FS.isMountpoint(current)) {
if (!islast || (islast && opts.follow_mount)) {
current = current.mounted.root;
}
}
// by default, lookupPath will not follow a symlink if it is the final path component.
// setting opts.follow = true will override this behavior.
if (!islast || opts.follow) {
var count = 0;
while (FS.isLink(current.mode)) {
var link = FS.readlink(current_path);
current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 });
current = lookup.node;
if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
throw new FS.ErrnoError(32);
}
}
}
}
return { path: current_path, node: current };
},
getPath:(node) => {
var path;
while (true) {
if (FS.isRoot(node)) {
var mount = node.mount.mountpoint;
if (!path) return mount;
return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path;
}
path = path ? `${node.name}/${path}` : node.name;
node = node.parent;
}
},
hashName:(parentid, name) => {
var hash = 0;
for (var i = 0; i < name.length; i++) {
hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
}
return ((parentid + hash) >>> 0) % FS.nameTable.length;
},
hashAddNode:(node) => {
var hash = FS.hashName(node.parent.id, node.name);
node.name_next = FS.nameTable[hash];
FS.nameTable[hash] = node;
},
hashRemoveNode:(node) => {
var hash = FS.hashName(node.parent.id, node.name);
if (FS.nameTable[hash] === node) {
FS.nameTable[hash] = node.name_next;
} else {
var current = FS.nameTable[hash];
while (current) {
if (current.name_next === node) {
current.name_next = node.name_next;
break;
}
current = current.name_next;
}
}
},
lookupNode:(parent, name) => {
var errCode = FS.mayLookup(parent);
if (errCode) {
throw new FS.ErrnoError(errCode, parent);
}
var hash = FS.hashName(parent.id, name);
for (var node = FS.nameTable[hash]; node; node = node.name_next) {
var nodeName = node.name;
if (node.parent.id === parent.id && nodeName === name) {
return node;
}
}
// if we failed to find it in the cache, call into the VFS
return FS.lookup(parent, name);
},
createNode:(parent, name, mode, rdev) => {
assert(typeof parent == 'object');
var node = new FS.FSNode(parent, name, mode, rdev);
FS.hashAddNode(node);
return node;
},
destroyNode:(node) => {
FS.hashRemoveNode(node);
},
isRoot:(node) => {
return node === node.parent;
},
isMountpoint:(node) => {
return !!node.mounted;
},
isFile:(mode) => {
return (mode & 61440) === 32768;
},
isDir:(mode) => {
return (mode & 61440) === 16384;
},
isLink:(mode) => {
return (mode & 61440) === 40960;
},
isChrdev:(mode) => {
return (mode & 61440) === 8192;
},
isBlkdev:(mode) => {
return (mode & 61440) === 24576;
},
isFIFO:(mode) => {
return (mode & 61440) === 4096;
},
isSocket:(mode) => {
return (mode & 49152) === 49152;
},
flagsToPermissionString:(flag) => {
var perms = ['r', 'w', 'rw'][flag & 3];
if ((flag & 512)) {
perms += 'w';
}
return perms;
},
nodePermissions:(node, perms) => {
if (FS.ignorePermissions) {
return 0;
}
// return 0 if any user, group or owner bits are set.
if (perms.includes('r') && !(node.mode & 292)) {
return 2;
} else if (perms.includes('w') && !(node.mode & 146)) {
return 2;
} else if (perms.includes('x') && !(node.mode & 73)) {
return 2;
}
return 0;
},
mayLookup:(dir) => {
var errCode = FS.nodePermissions(dir, 'x');
if (errCode) return errCode;
if (!dir.node_ops.lookup) return 2;
return 0;
},
mayCreate:(dir, name) => {
try {
var node = FS.lookupNode(dir, name);
return 20;
} catch (e) {
}
return FS.nodePermissions(dir, 'wx');
},
mayDelete:(dir, name, isdir) => {
var node;
try {
node = FS.lookupNode(dir, name);
} catch (e) {
return e.errno;
}
var errCode = FS.nodePermissions(dir, 'wx');
if (errCode) {
return errCode;
}
if (isdir) {
if (!FS.isDir(node.mode)) {
return 54;
}
if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
return 10;
}
} else {
if (FS.isDir(node.mode)) {
return 31;
}
}
return 0;
},
mayOpen:(node, flags) => {
if (!node) {
return 44;
}
if (FS.isLink(node.mode)) {
return 32;
} else if (FS.isDir(node.mode)) {
if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
(flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
return 31;
}
}
return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
},
MAX_OPEN_FDS:4096,
nextfd:() => {
for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) {
if (!FS.streams[fd]) {
return fd;
}
}
throw new FS.ErrnoError(33);
},
getStreamChecked:(fd) => {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(8);
}
return stream;
},
getStream:(fd) => FS.streams[fd],
createStream:(stream, fd = -1) => {
if (!FS.FSStream) {
FS.FSStream = /** @constructor */ function() {
this.shared = { };
};
FS.FSStream.prototype = {};
Object.defineProperties(FS.FSStream.prototype, {
object: {
/** @this {FS.FSStream} */
get() { return this.node; },
/** @this {FS.FSStream} */
set(val) { this.node = val; }
},
isRead: {
/** @this {FS.FSStream} */
get() { return (this.flags & 2097155) !== 1; }
},
isWrite: {
/** @this {FS.FSStream} */
get() { return (this.flags & 2097155) !== 0; }
},
isAppend: {
/** @this {FS.FSStream} */
get() { return (this.flags & 1024); }
},
flags: {
/** @this {FS.FSStream} */
get() { return this.shared.flags; },
/** @this {FS.FSStream} */
set(val) { this.shared.flags = val; },
},
position : {
/** @this {FS.FSStream} */
get() { return this.shared.position; },
/** @this {FS.FSStream} */
set(val) { this.shared.position = val; },
},
});
}
// clone it, so we can return an instance of FSStream
stream = Object.assign(new FS.FSStream(), stream);
if (fd == -1) {
fd = FS.nextfd();
}
stream.fd = fd;
FS.streams[fd] = stream;
return stream;
},
closeStream:(fd) => {
FS.streams[fd] = null;
},
chrdev_stream_ops:{
open:(stream) => {
var device = FS.getDevice(stream.node.rdev);
// override node's stream ops with the device's
stream.stream_ops = device.stream_ops;
// forward the open call
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
},
llseek:() => {
throw new FS.ErrnoError(70);
},
},
major:(dev) => ((dev) >> 8),
minor:(dev) => ((dev) & 0xff),
makedev:(ma, mi) => ((ma) << 8 | (mi)),
registerDevice:(dev, ops) => {
FS.devices[dev] = { stream_ops: ops };
},
getDevice:(dev) => FS.devices[dev],
getMounts:(mount) => {
var mounts = [];
var check = [mount];
while (check.length) {
var m = check.pop();
mounts.push(m);
check.push.apply(check, m.mounts);
}
return mounts;
},
syncfs:(populate, callback) => {
if (typeof populate == 'function') {
callback = populate;
populate = false;
}
FS.syncFSRequests++;
if (FS.syncFSRequests > 1) {
err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
}
var mounts = FS.getMounts(FS.root.mount);
var completed = 0;
function doCallback(errCode) {
assert(FS.syncFSRequests > 0);
FS.syncFSRequests--;
return callback(errCode);
}
function done(errCode) {
if (errCode) {
if (!done.errored) {
done.errored = true;
return doCallback(errCode);
}
return;
}
if (++completed >= mounts.length) {
doCallback(null);
}
}
// sync all mounts
mounts.forEach((mount) => {
if (!mount.type.syncfs) {
return done(null);
}
mount.type.syncfs(mount, populate, done);
});
},
mount:(type, opts, mountpoint) => {
if (typeof type == 'string') {
// The filesystem was not included, and instead we have an error
// message stored in the variable.
throw type;
}
var root = mountpoint === '/';
var pseudo = !mountpoint;
var node;
if (root && FS.root) {
throw new FS.ErrnoError(10);
} else if (!root && !pseudo) {
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
mountpoint = lookup.path; // use the absolute path
node = lookup.node;
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(10);
}
if (!FS.isDir(node.mode)) {
throw new FS.ErrnoError(54);
}
}
var mount = {
type,
opts,
mountpoint,
mounts: []
};
// create a root node for the fs
var mountRoot = type.mount(mount);
mountRoot.mount = mount;
mount.root = mountRoot;
if (root) {
FS.root = mountRoot;
} else if (node) {
// set as a mountpoint
node.mounted = mount;
// add the new mount to the current mount's children
if (node.mount) {
node.mount.mounts.push(mount);
}
}
return mountRoot;
},
unmount:(mountpoint) => {
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
if (!FS.isMountpoint(lookup.node)) {
throw new FS.ErrnoError(28);
}
// destroy the nodes for this mount, and all its child mounts
var node = lookup.node;
var mount = node.mounted;
var mounts = FS.getMounts(mount);
Object.keys(FS.nameTable).forEach((hash) => {
var current = FS.nameTable[hash];
while (current) {
var next = current.name_next;
if (mounts.includes(current.mount)) {
FS.destroyNode(current);
}
current = next;
}
});
// no longer a mountpoint
node.mounted = null;
// remove this mount from the child mounts
var idx = node.mount.mounts.indexOf(mount);
assert(idx !== -1);
node.mount.mounts.splice(idx, 1);
},
lookup:(parent, name) => {
return parent.node_ops.lookup(parent, name);
},
mknod:(path, mode, dev) => {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
if (!name || name === '.' || name === '..') {
throw new FS.ErrnoError(28);
}
var errCode = FS.mayCreate(parent, name);
if (errCode) {
throw new FS.ErrnoError(errCode);
}
if (!parent.node_ops.mknod) {
throw new FS.ErrnoError(63);
}
return parent.node_ops.mknod(parent, name, mode, dev);
},
create:(path, mode) => {
mode = mode !== undefined ? mode : 438 /* 0666 */;
mode &= 4095;
mode |= 32768;
return FS.mknod(path, mode, 0);
},
mkdir:(path, mode) => {
mode = mode !== undefined ? mode : 511 /* 0777 */;
mode &= 511 | 512;
mode |= 16384;
return FS.mknod(path, mode, 0);
},
mkdirTree:(path, mode) => {
var dirs = path.split('/');
var d = '';
for (var i = 0; i < dirs.length; ++i) {
if (!dirs[i]) continue;
d += '/' + dirs[i];
try {
FS.mkdir(d, mode);
} catch(e) {
if (e.errno != 20) throw e;
}
}
},
mkdev:(path, mode, dev) => {
if (typeof dev == 'undefined') {
dev = mode;
mode = 438 /* 0666 */;
}
mode |= 8192;
return FS.mknod(path, mode, dev);
},
symlink:(oldpath, newpath) => {
if (!PATH_FS.resolve(oldpath)) {
throw new FS.ErrnoError(44);
}
var lookup = FS.lookupPath(newpath, { parent: true });
var parent = lookup.node;
if (!parent) {
throw new FS.ErrnoError(44);
}
var newname = PATH.basename(newpath);
var errCode = FS.mayCreate(parent, newname);
if (errCode) {
throw new FS.ErrnoError(errCode);
}
if (!parent.node_ops.symlink) {
throw new FS.ErrnoError(63);
}
return parent.node_ops.symlink(parent, newname, oldpath);
},
rename:(old_path, new_path) => {
var old_dirname = PATH.dirname(old_path);
var new_dirname = PATH.dirname(new_path);
var old_name = PATH.basename(old_path);
var new_name = PATH.basename(new_path);
// parents must exist
var lookup, old_dir, new_dir;
// let the errors from non existant directories percolate up
lookup = FS.lookupPath(old_path, { parent: true });
old_dir = lookup.node;
lookup = FS.lookupPath(new_path, { parent: true });
new_dir = lookup.node;
if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
// need to be part of the same mount
if (old_dir.mount !== new_dir.mount) {
throw new FS.ErrnoError(75);
}
// source must exist
var old_node = FS.lookupNode(old_dir, old_name);
// old path should not be an ancestor of the new path
var relative = PATH_FS.relative(old_path, new_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(28);
}
// new path should not be an ancestor of the old path
relative = PATH_FS.relative(new_path, old_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(55);
}
// see if the new path already exists
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
// not fatal
}
// early out if nothing needs to change
if (old_node === new_node) {
return;
}
// we'll need to delete the old entry
var isdir = FS.isDir(old_node.mode);
var errCode = FS.mayDelete(old_dir, old_name, isdir);
if (errCode) {
throw new FS.ErrnoError(errCode);
}
// need delete permissions if we'll be overwriting.
// need create permissions if new doesn't already exist.
errCode = new_node ?
FS.mayDelete(new_dir, new_name, isdir) :
FS.mayCreate(new_dir, new_name);
if (errCode) {
throw new FS.ErrnoError(errCode);
}
if (!old_dir.node_ops.rename) {
throw new FS.ErrnoError(63);
}
if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
throw new FS.ErrnoError(10);
}
// if we are going to change the parent, check write permissions
if (new_dir !== old_dir) {
errCode = FS.nodePermissions(old_dir, 'w');
if (errCode) {
throw new FS.ErrnoError(errCode);
}
}
// remove the node from the lookup hash
FS.hashRemoveNode(old_node);
// do the underlying fs rename
try {
old_dir.node_ops.rename(old_node, new_dir, new_name);
} catch (e) {
throw e;
} finally {
// add the node back to the hash (in case node_ops.rename
// changed its name)
FS.hashAddNode(old_node);
}
},
rmdir:(path) => {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var errCode = FS.mayDelete(parent, name, true);
if (errCode) {
throw new FS.ErrnoError(errCode);
}
if (!parent.node_ops.rmdir) {
throw new FS.ErrnoError(63);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(10);
}
parent.node_ops.rmdir(parent, name);
FS.destroyNode(node);
},
readdir:(path) => {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
if (!node.node_ops.readdir) {
throw new FS.ErrnoError(54);
}
return node.node_ops.readdir(node);
},
unlink:(path) => {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
if (!parent) {
throw new FS.ErrnoError(44);
}
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var errCode = FS.mayDelete(parent, name, false);
if (errCode) {
// According to POSIX, we should map EISDIR to EPERM, but
// we instead do what Linux does (and we must, as we use
// the musl linux libc).
throw new FS.ErrnoError(errCode);
}
if (!parent.node_ops.unlink) {
throw new FS.ErrnoError(63);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(10);
}
parent.node_ops.unlink(parent, name);
FS.destroyNode(node);
},
readlink:(path) => {
var lookup = FS.lookupPath(path);
var link = lookup.node;
if (!link) {
throw new FS.ErrnoError(44);
}
if (!link.node_ops.readlink) {
throw new FS.ErrnoError(28);
}
return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
},
stat:(path, dontFollow) => {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
var node = lookup.node;
if (!node) {
throw new FS.ErrnoError(44);
}
if (!node.node_ops.getattr) {
throw new FS.ErrnoError(63);
}
return node.node_ops.getattr(node);
},
lstat:(path) => {
return FS.stat(path, true);
},
chmod:(path, mode, dontFollow) => {
var node;
if (typeof path == 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(63);
}
node.node_ops.setattr(node, {
mode: (mode & 4095) | (node.mode & ~4095),
timestamp: Date.now()
});
},
lchmod:(path, mode) => {
FS.chmod(path, mode, true);
},
fchmod:(fd, mode) => {
var stream = FS.getStreamChecked(fd);
FS.chmod(stream.node, mode);
},
chown:(path, uid, gid, dontFollow) => {
var node;
if (typeof path == 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(63);
}
node.node_ops.setattr(node, {
timestamp: Date.now()
// we ignore the uid / gid for now
});
},
lchown:(path, uid, gid) => {
FS.chown(path, uid, gid, true);
},
fchown:(fd, uid, gid) => {
var stream = FS.getStreamChecked(fd);
FS.chown(stream.node, uid, gid);
},
truncate:(path, len) => {
if (len < 0) {
throw new FS.ErrnoError(28);
}
var node;
if (typeof path == 'string') {
var lookup = FS.lookupPath(path, { follow: true });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(63);
}
if (FS.isDir(node.mode)) {
throw new FS.ErrnoError(31);
}
if (!FS.isFile(node.mode)) {
throw new FS.ErrnoError(28);
}
var errCode = FS.nodePermissions(node, 'w');
if (errCode) {
throw new FS.ErrnoError(errCode);
}
node.node_ops.setattr(node, {
size: len,
timestamp: Date.now()
});
},
ftruncate:(fd, len) => {
var stream = FS.getStreamChecked(fd);
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(28);
}
FS.truncate(stream.node, len);
},
utime:(path, atime, mtime) => {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
node.node_ops.setattr(node, {
timestamp: Math.max(atime, mtime)
});
},
open:(path, flags, mode) => {
if (path === "") {
throw new FS.ErrnoError(44);
}
flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags;
mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode;
if ((flags & 64)) {
mode = (mode & 4095) | 32768;
} else {
mode = 0;
}
var node;
if (typeof path == 'object') {
node = path;
} else {
path = PATH.normalize(path);
try {
var lookup = FS.lookupPath(path, {
follow: !(flags & 131072)
});
node = lookup.node;
} catch (e) {
// ignore
}
}
// perhaps we need to create the node
var created = false;
if ((flags & 64)) {
if (node) {
// if O_CREAT and O_EXCL are set, error out if the node already exists
if ((flags & 128)) {
throw new FS.ErrnoError(20);
}
} else {
// node doesn't exist, try to create it
node = FS.mknod(path, mode, 0);
created = true;
}
}
if (!node) {
throw new FS.ErrnoError(44);
}
// can't truncate a device
if (FS.isChrdev(node.mode)) {
flags &= ~512;
}
// if asked only for a directory, then this must be one
if ((flags & 65536) && !FS.isDir(node.mode)) {
throw new FS.ErrnoError(54);
}
// check permissions, if this is not a file we just created now (it is ok to
// create and write to a file with read-only permissions; it is read-only
// for later use)
if (!created) {
var errCode = FS.mayOpen(node, flags);
if (errCode) {
throw new FS.ErrnoError(errCode);
}
}
// do truncation if necessary
if ((flags & 512) && !created) {
FS.truncate(node, 0);
}
// we've already handled these, don't pass down to the underlying vfs
flags &= ~(128 | 512 | 131072);
// register the stream with the filesystem
var stream = FS.createStream({
node,
path: FS.getPath(node), // we want the absolute path to the node
flags,
seekable: true,
position: 0,
stream_ops: node.stream_ops,
// used by the file family libc calls (fopen, fwrite, ferror, etc.)
ungotten: [],
error: false
});
// call the new stream's open function
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
if (Module['logReadFiles'] && !(flags & 1)) {
if (!FS.readFiles) FS.readFiles = {};
if (!(path in FS.readFiles)) {
FS.readFiles[path] = 1;
}
}
return stream;
},
close:(stream) => {
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(8);
}
if (stream.getdents) stream.getdents = null; // free readdir state
try {
if (stream.stream_ops.close) {
stream.stream_ops.close(stream);
}
} catch (e) {
throw e;
} finally {
FS.closeStream(stream.fd);
}
stream.fd = null;
},
isClosed:(stream) => {
return stream.fd === null;
},
llseek:(stream, offset, whence) => {
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(8);
}
if (!stream.seekable || !stream.stream_ops.llseek) {
throw new FS.ErrnoError(70);
}
if (whence != 0 && whence != 1 && whence != 2) {
throw new FS.ErrnoError(28);
}
stream.position = stream.stream_ops.llseek(stream, offset, whence);
stream.ungotten = [];
return stream.position;
},
read:(stream, buffer, offset, length, position) => {
assert(offset >= 0);
if (length < 0 || position < 0) {
throw new FS.ErrnoError(28);
}
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(8);
}
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(8);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(31);
}
if (!stream.stream_ops.read) {
throw new FS.ErrnoError(28);
}
var seeking = typeof position != 'undefined';
if (!seeking) {
position = stream.position;
} else if (!stream.seekable) {
throw new FS.ErrnoError(70);
}
var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
if (!seeking) stream.position += bytesRead;
return bytesRead;
},
write:(stream, buffer, offset, length, position, canOwn) => {
assert(offset >= 0);
if (length < 0 || position < 0) {
throw new FS.ErrnoError(28);
}
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(8);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(8);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(31);
}
if (!stream.stream_ops.write) {
throw new FS.ErrnoError(28);
}
if (stream.seekable && stream.flags & 1024) {
// seek to the end before writing in append mode
FS.llseek(stream, 0, 2);
}
var seeking = typeof position != 'undefined';
if (!seeking) {
position = stream.position;
} else if (!stream.seekable) {
throw new FS.ErrnoError(70);
}
var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
if (!seeking) stream.position += bytesWritten;
return bytesWritten;
},
allocate:(stream, offset, length) => {
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(8);
}
if (offset < 0 || length <= 0) {
throw new FS.ErrnoError(28);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(8);
}
if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(43);
}
if (!stream.stream_ops.allocate) {
throw new FS.ErrnoError(138);
}
stream.stream_ops.allocate(stream, offset, length);
},
mmap:(stream, length, position, prot, flags) => {
// User requests writing to file (prot & PROT_WRITE != 0).
// Checking if we have permissions to write to the file unless
// MAP_PRIVATE flag is set. According to POSIX spec it is possible
// to write to file opened in read-only mode with MAP_PRIVATE flag,
// as all modifications will be visible only in the memory of
// the current process.
if ((prot & 2) !== 0
&& (flags & 2) === 0
&& (stream.flags & 2097155) !== 2) {
throw new FS.ErrnoError(2);
}
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(2);
}
if (!stream.stream_ops.mmap) {
throw new FS.ErrnoError(43);
}
return stream.stream_ops.mmap(stream, length, position, prot, flags);
},
msync:(stream, buffer, offset, length, mmapFlags) => {
assert(offset >= 0);
if (!stream.stream_ops.msync) {
return 0;
}
return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
},
munmap:(stream) => 0,
ioctl:(stream, cmd, arg) => {
if (!stream.stream_ops.ioctl) {
throw new FS.ErrnoError(59);
}
return stream.stream_ops.ioctl(stream, cmd, arg);
},
readFile:(path, opts = {}) => {
opts.flags = opts.flags || 0;
opts.encoding = opts.encoding || 'binary';
if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
throw new Error(`Invalid encoding type "${opts.encoding}"`);
}
var ret;
var stream = FS.open(path, opts.flags);
var stat = FS.stat(path);
var length = stat.size;
var buf = new Uint8Array(length);
FS.read(stream, buf, 0, length, 0);
if (opts.encoding === 'utf8') {
ret = UTF8ArrayToString(buf, 0);
} else if (opts.encoding === 'binary') {
ret = buf;
}
FS.close(stream);
return ret;
},
writeFile:(path, data, opts = {}) => {
opts.flags = opts.flags || 577;
var stream = FS.open(path, opts.flags, opts.mode);
if (typeof data == 'string') {
var buf = new Uint8Array(lengthBytesUTF8(data)+1);
var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
} else if (ArrayBuffer.isView(data)) {
FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
} else {
throw new Error('Unsupported data type');
}
FS.close(stream);
},
cwd:() => FS.currentPath,
chdir:(path) => {
var lookup = FS.lookupPath(path, { follow: true });
if (lookup.node === null) {
throw new FS.ErrnoError(44);
}
if (!FS.isDir(lookup.node.mode)) {
throw new FS.ErrnoError(54);
}
var errCode = FS.nodePermissions(lookup.node, 'x');
if (errCode) {
throw new FS.ErrnoError(errCode);
}
FS.currentPath = lookup.path;
},
createDefaultDirectories:() => {
FS.mkdir('/tmp');
FS.mkdir('/home');
FS.mkdir('/home/web_user');
},
createDefaultDevices:() => {
// create /dev
FS.mkdir('/dev');
// setup /dev/null
FS.registerDevice(FS.makedev(1, 3), {
read: () => 0,
write: (stream, buffer, offset, length, pos) => length,
});
FS.mkdev('/dev/null', FS.makedev(1, 3));
// setup /dev/tty and /dev/tty1
// stderr needs to print output using err() rather than out()
// so we register a second tty just for it.
TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
FS.mkdev('/dev/tty', FS.makedev(5, 0));
FS.mkdev('/dev/tty1', FS.makedev(6, 0));
// setup /dev/[u]random
// use a buffer to avoid overhead of individual crypto calls per byte
var randomBuffer = new Uint8Array(1024), randomLeft = 0;
var randomByte = () => {
if (randomLeft === 0) {
randomLeft = randomFill(randomBuffer).byteLength;
}
return randomBuffer[--randomLeft];
};
FS.createDevice('/dev', 'random', randomByte);
FS.createDevice('/dev', 'urandom', randomByte);
// we're not going to emulate the actual shm device,
// just create the tmp dirs that reside in it commonly
FS.mkdir('/dev/shm');
FS.mkdir('/dev/shm/tmp');
},
createSpecialDirectories:() => {
// create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the
// name of the stream for fd 6 (see test_unistd_ttyname)
FS.mkdir('/proc');
var proc_self = FS.mkdir('/proc/self');
FS.mkdir('/proc/self/fd');
FS.mount({
mount: () => {
var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73);
node.node_ops = {
lookup: (parent, name) => {
var fd = +name;
var stream = FS.getStreamChecked(fd);
var ret = {
parent: null,
mount: { mountpoint: 'fake' },
node_ops: { readlink: () => stream.path },
};
ret.parent = ret; // make it look like a simple root node
return ret;
}
};
return node;
}
}, {}, '/proc/self/fd');
},
createStandardStreams:() => {
// TODO deprecate the old functionality of a single
// input / output callback and that utilizes FS.createDevice
// and instead require a unique set of stream ops
// by default, we symlink the standard streams to the
// default tty devices. however, if the standard streams
// have been overwritten we create a unique device for
// them instead.
if (Module['stdin']) {
FS.createDevice('/dev', 'stdin', Module['stdin']);
} else {
FS.symlink('/dev/tty', '/dev/stdin');
}
if (Module['stdout']) {
FS.createDevice('/dev', 'stdout', null, Module['stdout']);
} else {
FS.symlink('/dev/tty', '/dev/stdout');
}
if (Module['stderr']) {
FS.createDevice('/dev', 'stderr', null, Module['stderr']);
} else {
FS.symlink('/dev/tty1', '/dev/stderr');
}
// open default streams for the stdin, stdout and stderr devices
var stdin = FS.open('/dev/stdin', 0);
var stdout = FS.open('/dev/stdout', 1);
var stderr = FS.open('/dev/stderr', 1);
assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`);
assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`);
assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`);
},
ensureErrnoError:() => {
if (FS.ErrnoError) return;
FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) {
// We set the `name` property to be able to identify `FS.ErrnoError`
// - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway.
// - when using PROXYFS, an error can come from an underlying FS
// as different FS objects have their own FS.ErrnoError each,
// the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs.
// we'll use the reliable test `err.name == "ErrnoError"` instead
this.name = 'ErrnoError';
this.node = node;
this.setErrno = /** @this{Object} */ function(errno) {
this.errno = errno;
for (var key in ERRNO_CODES) {
if (ERRNO_CODES[key] === errno) {
this.code = key;
break;
}
}
};
this.setErrno(errno);
this.message = ERRNO_MESSAGES[errno];
// Try to get a maximally helpful stack trace. On Node.js, getting Error.stack
// now ensures it shows what we want.
if (this.stack) {
// Define the stack property for Node.js 4, which otherwise errors on the next line.
Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true });
this.stack = demangleAll(this.stack);
}
};
FS.ErrnoError.prototype = new Error();
FS.ErrnoError.prototype.constructor = FS.ErrnoError;
// Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
[44].forEach((code) => {
FS.genericErrors[code] = new FS.ErrnoError(code);
FS.genericErrors[code].stack = '<generic error, no stack>';
});
},
staticInit:() => {
FS.ensureErrnoError();
FS.nameTable = new Array(4096);
FS.mount(MEMFS, {}, '/');
FS.createDefaultDirectories();
FS.createDefaultDevices();
FS.createSpecialDirectories();
FS.filesystems = {
'MEMFS': MEMFS,
'IDBFS': IDBFS,
};
},
init:(input, output, error) => {
assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
FS.init.initialized = true;
FS.ensureErrnoError();
// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
Module['stdin'] = input || Module['stdin'];
Module['stdout'] = output || Module['stdout'];
Module['stderr'] = error || Module['stderr'];
FS.createStandardStreams();
},
quit:() => {
FS.init.initialized = false;
// force-flush all streams, so we get musl std streams printed out
_fflush(0);
// close all of our streams
for (var i = 0; i < FS.streams.length; i++) {
var stream = FS.streams[i];
if (!stream) {
continue;
}
FS.close(stream);
}
},
findObject:(path, dontResolveLastLink) => {
var ret = FS.analyzePath(path, dontResolveLastLink);
if (!ret.exists) {
return null;
}
return ret.object;
},
analyzePath:(path, dontResolveLastLink) => {
// operate from within the context of the symlink's target
try {
var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
path = lookup.path;
} catch (e) {
}
var ret = {
isRoot: false, exists: false, error: 0, name: null, path: null, object: null,
parentExists: false, parentPath: null, parentObject: null
};
try {
var lookup = FS.lookupPath(path, { parent: true });
ret.parentExists = true;
ret.parentPath = lookup.path;
ret.parentObject = lookup.node;
ret.name = PATH.basename(path);
lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
ret.exists = true;
ret.path = lookup.path;
ret.object = lookup.node;
ret.name = lookup.node.name;
ret.isRoot = lookup.path === '/';
} catch (e) {
ret.error = e.errno;
} return ret;
},
createPath:(parent, path, canRead, canWrite) => {
parent = typeof parent == 'string' ? parent : FS.getPath(parent);
var parts = path.split('/').reverse();
while (parts.length) {
var part = parts.pop();
if (!part) continue;
var current = PATH.join2(parent, part);
try {
FS.mkdir(current);
} catch (e) {
// ignore EEXIST
}
parent = current;
}
return current;
},
createFile:(parent, name, properties, canRead, canWrite) => {
var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name);
var mode = FS_getMode(canRead, canWrite);
return FS.create(path, mode);
},
createDataFile:(parent, name, data, canRead, canWrite, canOwn) => {
var path = name;
if (parent) {
parent = typeof parent == 'string' ? parent : FS.getPath(parent);
path = name ? PATH.join2(parent, name) : parent;
}
var mode = FS_getMode(canRead, canWrite);
var node = FS.create(path, mode);
if (data) {
if (typeof data == 'string') {
var arr = new Array(data.length);
for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
data = arr;
}
// make sure we can write to the file
FS.chmod(node, mode | 146);
var stream = FS.open(node, 577);
FS.write(stream, data, 0, data.length, 0, canOwn);
FS.close(stream);
FS.chmod(node, mode);
}
return node;
},
createDevice:(parent, name, input, output) => {
var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name);
var mode = FS_getMode(!!input, !!output);
if (!FS.createDevice.major) FS.createDevice.major = 64;
var dev = FS.makedev(FS.createDevice.major++, 0);
// Create a fake device that a set of stream ops to emulate
// the old behavior.
FS.registerDevice(dev, {
open: (stream) => {
stream.seekable = false;
},
close: (stream) => {
// flush any pending line data
if (output && output.buffer && output.buffer.length) {
output(10);
}
},
read: (stream, buffer, offset, length, pos /* ignored */) => {
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = input();
} catch (e) {
throw new FS.ErrnoError(29);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(6);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},
write: (stream, buffer, offset, length, pos) => {
for (var i = 0; i < length; i++) {
try {
output(buffer[offset+i]);
} catch (e) {
throw new FS.ErrnoError(29);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}
});
return FS.mkdev(path, mode, dev);
},
forceLoadFile:(obj) => {
if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
if (typeof XMLHttpRequest != 'undefined') {
throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
} else if (read_) {
// Command-line.
try {
// WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
// read() will try to parse UTF8.
obj.contents = intArrayFromString(read_(obj.url), true);
obj.usedBytes = obj.contents.length;
} catch (e) {
throw new FS.ErrnoError(29);
}
} else {
throw new Error('Cannot load without read() or XMLHttpRequest.');
}
},
createLazyFile:(parent, name, url, canRead, canWrite) => {
// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
/** @constructor */
function LazyUint8Array() {
this.lengthKnown = false;
this.chunks = []; // Loaded chunks. Index is the chunk number
}
LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) {
if (idx > this.length-1 || idx < 0) {
return undefined;
}
var chunkOffset = idx % this.chunkSize;
var chunkNum = (idx / this.chunkSize)|0;
return this.getter(chunkNum)[chunkOffset];
};
LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
this.getter = getter;
};
LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
// Find length
var xhr = new XMLHttpRequest();
xhr.open('HEAD', url, false);
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
var datalength = Number(xhr.getResponseHeader("Content-length"));
var header;
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
var chunkSize = 1024*1024; // Chunk size in bytes
if (!hasByteServing) chunkSize = datalength;
// Function to get a range from the remote URL.
var doXHR = (from, to) => {
if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
// Some hints to the browser that we want binary data.
xhr.responseType = 'arraybuffer';
if (xhr.overrideMimeType) {
xhr.overrideMimeType('text/plain; charset=x-user-defined');
}
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
if (xhr.response !== undefined) {
return new Uint8Array(/** @type{Array<number>} */(xhr.response || []));
}
return intArrayFromString(xhr.responseText || '', true);
};
var lazyArray = this;
lazyArray.setDataGetter((chunkNum) => {
var start = chunkNum * chunkSize;
var end = (chunkNum+1) * chunkSize - 1; // including this byte
end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
if (typeof lazyArray.chunks[chunkNum] == 'undefined') {
lazyArray.chunks[chunkNum] = doXHR(start, end);
}
if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!');
return lazyArray.chunks[chunkNum];
});
if (usesGzip || !datalength) {
// if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
datalength = this.getter(0).length;
chunkSize = datalength;
out("LazyFiles on gzip forces download of the whole file when length is accessed");
}
this._length = datalength;
this._chunkSize = chunkSize;
this.lengthKnown = true;
};
if (typeof XMLHttpRequest != 'undefined') {
throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
var lazyArray = new LazyUint8Array();
var properties = { isDevice: false, contents: lazyArray };
} else {
var properties = { isDevice: false, url: url };
}
var node = FS.createFile(parent, name, properties, canRead, canWrite);
// This is a total hack, but I want to get this lazy file code out of the
// core of MEMFS. If we want to keep this lazy file concept I feel it should
// be its own thin LAZYFS proxying calls to MEMFS.
if (properties.contents) {
node.contents = properties.contents;
} else if (properties.url) {
node.contents = null;
node.url = properties.url;
}
// Add a function that defers querying the file size until it is asked the first time.
Object.defineProperties(node, {
usedBytes: {
get: /** @this {FSNode} */ function() { return this.contents.length; }
}
});
// override each stream op with one that tries to force load the lazy file first
var stream_ops = {};
var keys = Object.keys(node.stream_ops);
keys.forEach((key) => {
var fn = node.stream_ops[key];
stream_ops[key] = function forceLoadLazyFile() {
FS.forceLoadFile(node);
return fn.apply(null, arguments);
};
});
function writeChunks(stream, buffer, offset, length, position) {
var contents = stream.node.contents;
if (position >= contents.length)
return 0;
var size = Math.min(contents.length - position, length);
assert(size >= 0);
if (contents.slice) { // normal array
for (var i = 0; i < size; i++) {
buffer[offset + i] = contents[position + i];
}
} else {
for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
buffer[offset + i] = contents.get(position + i);
}
}
return size;
}
// use a custom read function
stream_ops.read = (stream, buffer, offset, length, position) => {
FS.forceLoadFile(node);
return writeChunks(stream, buffer, offset, length, position)
};
// use a custom mmap function
stream_ops.mmap = (stream, length, position, prot, flags) => {
FS.forceLoadFile(node);
var ptr = mmapAlloc();
if (!ptr) {
throw new FS.ErrnoError(48);
}
writeChunks(stream, HEAP8, ptr, length, position);
return { ptr, allocated: true };
};
node.stream_ops = stream_ops;
return node;
},
absolutePath:() => {
abort('FS.absolutePath has been removed; use PATH_FS.resolve instead');
},
createFolder:() => {
abort('FS.createFolder has been removed; use FS.mkdir instead');
},
createLink:() => {
abort('FS.createLink has been removed; use FS.symlink instead');
},
joinPath:() => {
abort('FS.joinPath has been removed; use PATH.join instead');
},
mmapAlloc:() => {
abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc');
},
standardizePath:() => {
abort('FS.standardizePath has been removed; use PATH.normalize instead');
},
};
var SYSCALLS = {
DEFAULT_POLLMASK:5,
calculateAt:function(dirfd, path, allowEmpty) {
if (PATH.isAbs(path)) {
return path;
}
// relative path
var dir;
if (dirfd === -100) {
dir = FS.cwd();
} else {
var dirstream = SYSCALLS.getStreamFromFD(dirfd);
dir = dirstream.path;
}
if (path.length == 0) {
if (!allowEmpty) {
throw new FS.ErrnoError(44); }
return dir;
}
return PATH.join2(dir, path);
},
doStat:function(func, path, buf) {
try {
var stat = func(path);
} catch (e) {
if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
// an error occurred while trying to look up the path; we should just report ENOTDIR
return -54;
}
throw e;
}
HEAP32[((buf)>>2)] = stat.dev;
HEAP32[(((buf)+(4))>>2)] = stat.mode;
HEAPU32[(((buf)+(8))>>2)] = stat.nlink;
HEAP32[(((buf)+(12))>>2)] = stat.uid;
HEAP32[(((buf)+(16))>>2)] = stat.gid;
HEAP32[(((buf)+(20))>>2)] = stat.rdev;
(tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(24))>>2)] = tempI64[0],HEAP32[(((buf)+(28))>>2)] = tempI64[1]);
HEAP32[(((buf)+(32))>>2)] = 4096;
HEAP32[(((buf)+(36))>>2)] = stat.blocks;
var atime = stat.atime.getTime();
var mtime = stat.mtime.getTime();
var ctime = stat.ctime.getTime();
(tempI64 = [Math.floor(atime / 1000)>>>0,(tempDouble=Math.floor(atime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]);
HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000;
(tempI64 = [Math.floor(mtime / 1000)>>>0,(tempDouble=Math.floor(mtime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]);
HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000;
(tempI64 = [Math.floor(ctime / 1000)>>>0,(tempDouble=Math.floor(ctime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]);
HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000;
(tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]);
return 0;
},
doMsync:function(addr, stream, len, flags, offset) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(43);
}
if (flags & 2) {
// MAP_PRIVATE calls need not to be synced back to underlying fs
return 0;
}
var buffer = HEAPU8.slice(addr, addr + len);
FS.msync(stream, buffer, offset, len, flags);
},
varargs:undefined,
get() {
assert(SYSCALLS.varargs != undefined);
SYSCALLS.varargs += 4;
var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
return ret;
},
getStr(ptr) {
var ret = UTF8ToString(ptr);
return ret;
},
getStreamFromFD:function(fd) {
var stream = FS.getStreamChecked(fd);
return stream;
},
};
function ___syscall_fcntl64(fd, cmd, varargs) {
SYSCALLS.varargs = varargs;
try {
var stream = SYSCALLS.getStreamFromFD(fd);
switch (cmd) {
case 0: {
var arg = SYSCALLS.get();
if (arg < 0) {
return -28;
}
var newStream;
newStream = FS.createStream(stream, arg);
return newStream.fd;
}
case 1:
case 2:
return 0; // FD_CLOEXEC makes no sense for a single process.
case 3:
return stream.flags;
case 4: {
var arg = SYSCALLS.get();
stream.flags |= arg;
return 0;
}
case 5: {
var arg = SYSCALLS.get();
var offset = 0;
// We're always unlocked.
HEAP16[(((arg)+(offset))>>1)] = 2;
return 0;
}
case 6:
case 7:
return 0; // Pretend that the locking is successful.
case 16:
case 8:
return -28; // These are for sockets. We don't have them fully implemented yet.
case 9:
// musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves.
setErrNo(28);
return -1;
default: {
return -28;
}
}
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return -e.errno;
}
}
function ___syscall_fstat64(fd, buf) {
try {
var stream = SYSCALLS.getStreamFromFD(fd);
return SYSCALLS.doStat(FS.stat, stream.path, buf);
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return -e.errno;
}
}
function ___syscall_ioctl(fd, op, varargs) {
SYSCALLS.varargs = varargs;
try {
var stream = SYSCALLS.getStreamFromFD(fd);
switch (op) {
case 21509: {
if (!stream.tty) return -59;
return 0;
}
case 21505: {
if (!stream.tty) return -59;
if (stream.tty.ops.ioctl_tcgets) {
var termios = stream.tty.ops.ioctl_tcgets(stream);
var argp = SYSCALLS.get();
HEAP32[((argp)>>2)] = termios.c_iflag || 0;
HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0;
HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0;
HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0;
for (var i = 0; i < 32; i++) {
HEAP8[(((argp + i)+(17))>>0)] = termios.c_cc[i] || 0;
}
return 0;
}
return 0;
}
case 21510:
case 21511:
case 21512: {
if (!stream.tty) return -59;
return 0; // no-op, not actually adjusting terminal settings
}
case 21506:
case 21507:
case 21508: {
if (!stream.tty) return -59;
if (stream.tty.ops.ioctl_tcsets) {
var argp = SYSCALLS.get();
var c_iflag = HEAP32[((argp)>>2)];
var c_oflag = HEAP32[(((argp)+(4))>>2)];
var c_cflag = HEAP32[(((argp)+(8))>>2)];
var c_lflag = HEAP32[(((argp)+(12))>>2)];
var c_cc = [];
for (var i = 0; i < 32; i++) {
c_cc.push(HEAP8[(((argp + i)+(17))>>0)]);
}
return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc });
}
return 0; // no-op, not actually adjusting terminal settings
}
case 21519: {
if (!stream.tty) return -59;
var argp = SYSCALLS.get();
HEAP32[((argp)>>2)] = 0;
return 0;
}
case 21520: {
if (!stream.tty) return -59;
return -28; // not supported
}
case 21531: {
var argp = SYSCALLS.get();
return FS.ioctl(stream, op, argp);
}
case 21523: {
// TODO: in theory we should write to the winsize struct that gets
// passed in, but for now musl doesn't read anything on it
if (!stream.tty) return -59;
if (stream.tty.ops.ioctl_tiocgwinsz) {
var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty);
var argp = SYSCALLS.get();
HEAP16[((argp)>>1)] = winsize[0];
HEAP16[(((argp)+(2))>>1)] = winsize[1];
}
return 0;
}
case 21524: {
// TODO: technically, this ioctl call should change the window size.
// but, since emscripten doesn't have any concept of a terminal window
// yet, we'll just silently throw it away as we do TIOCGWINSZ
if (!stream.tty) return -59;
return 0;
}
case 21515: {
if (!stream.tty) return -59;
return 0;
}
default: return -28; // not supported
}
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return -e.errno;
}
}
function ___syscall_lstat64(path, buf) {
try {
path = SYSCALLS.getStr(path);
return SYSCALLS.doStat(FS.lstat, path, buf);
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return -e.errno;
}
}
function ___syscall_mkdirat(dirfd, path, mode) {
try {
path = SYSCALLS.getStr(path);
path = SYSCALLS.calculateAt(dirfd, path);
// remove a trailing slash, if one - /a/b/ has basename of '', but
// we want to create b in the context of this function
path = PATH.normalize(path);
if (path[path.length-1] === '/') path = path.substr(0, path.length-1);
FS.mkdir(path, mode, 0);
return 0;
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return -e.errno;
}
}
function ___syscall_newfstatat(dirfd, path, buf, flags) {
try {
path = SYSCALLS.getStr(path);
var nofollow = flags & 256;
var allowEmpty = flags & 4096;
flags = flags & (~6400);
assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`);
path = SYSCALLS.calculateAt(dirfd, path, allowEmpty);
return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf);
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return -e.errno;
}
}
function ___syscall_openat(dirfd, path, flags, varargs) {
SYSCALLS.varargs = varargs;
try {
path = SYSCALLS.getStr(path);
path = SYSCALLS.calculateAt(dirfd, path);
var mode = varargs ? SYSCALLS.get() : 0;
return FS.open(path, flags, mode).fd;
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return -e.errno;
}
}
function ___syscall_stat64(path, buf) {
try {
path = SYSCALLS.getStr(path);
return SYSCALLS.doStat(FS.stat, path, buf);
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return -e.errno;
}
}
function ___throw_exception_with_stack_trace(ex) {
var e = new WebAssembly.Exception(getCppExceptionTag(), [ex], {traceStack: true});
e.message = getExceptionMessage(e);
// The generated stack trace will be in the form of:
//
// Error
// at ___throw_exception_with_stack_trace(test.js:1139:13)
// at __cxa_throw (wasm://wasm/009a7c9a:wasm-function[1551]:0x24367)
// ...
//
// Remove this JS function name, which is in the second line, from the stack
// trace. Note that .stack does not yet exist in all browsers (see #18828).
if (e.stack) {
var arr = e.stack.split('\n');
arr.splice(1,1);
e.stack = arr.join('\n');
}
throw e;
}
function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {}
function getShiftFromSize(size) {
switch (size) {
case 1: return 0;
case 2: return 1;
case 4: return 2;
case 8: return 3;
default:
throw new TypeError(`Unknown type size: ${size}`);
}
}
function embind_init_charCodes() {
var codes = new Array(256);
for (var i = 0; i < 256; ++i) {
codes[i] = String.fromCharCode(i);
}
embind_charCodes = codes;
}
var embind_charCodes = undefined;
function readLatin1String(ptr) {
var ret = "";
var c = ptr;
while (HEAPU8[c]) {
ret += embind_charCodes[HEAPU8[c++]];
}
return ret;
}
var awaitingDependencies = {
};
var registeredTypes = {
};
var typeDependencies = {
};
var BindingError = undefined;
function throwBindingError(message) {
throw new BindingError(message);
}
var InternalError = undefined;
function throwInternalError(message) {
throw new InternalError(message);
}
function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) {
myTypes.forEach(function(type) {
typeDependencies[type] = dependentTypes;
});
function onComplete(typeConverters) {
var myTypeConverters = getTypeConverters(typeConverters);
if (myTypeConverters.length !== myTypes.length) {
throwInternalError('Mismatched type converter count');
}
for (var i = 0; i < myTypes.length; ++i) {
registerType(myTypes[i], myTypeConverters[i]);
}
}
var typeConverters = new Array(dependentTypes.length);
var unregisteredTypes = [];
var registered = 0;
dependentTypes.forEach((dt, i) => {
if (registeredTypes.hasOwnProperty(dt)) {
typeConverters[i] = registeredTypes[dt];
} else {
unregisteredTypes.push(dt);
if (!awaitingDependencies.hasOwnProperty(dt)) {
awaitingDependencies[dt] = [];
}
awaitingDependencies[dt].push(() => {
typeConverters[i] = registeredTypes[dt];
++registered;
if (registered === unregisteredTypes.length) {
onComplete(typeConverters);
}
});
}
});
if (0 === unregisteredTypes.length) {
onComplete(typeConverters);
}
}
/** @param {Object=} options */
function sharedRegisterType(rawType, registeredInstance, options = {}) {
var name = registeredInstance.name;
if (!rawType) {
throwBindingError(`type "${name}" must have a positive integer typeid pointer`);
}
if (registeredTypes.hasOwnProperty(rawType)) {
if (options.ignoreDuplicateRegistrations) {
return;
} else {
throwBindingError(`Cannot register type '${name}' twice`);
}
}
registeredTypes[rawType] = registeredInstance;
delete typeDependencies[rawType];
if (awaitingDependencies.hasOwnProperty(rawType)) {
var callbacks = awaitingDependencies[rawType];
delete awaitingDependencies[rawType];
callbacks.forEach((cb) => cb());
}
}
/** @param {Object=} options */
function registerType(rawType, registeredInstance, options = {}) {
if (!('argPackAdvance' in registeredInstance)) {
throw new TypeError('registerType registeredInstance requires argPackAdvance');
}
return sharedRegisterType(rawType, registeredInstance, options);
}
function __embind_register_bool(rawType, name, size, trueValue, falseValue) {
var shift = getShiftFromSize(size);
name = readLatin1String(name);
registerType(rawType, {
name,
'fromWireType': function(wt) {
// ambiguous emscripten ABI: sometimes return values are
// true or false, and sometimes integers (0 or 1)
return !!wt;
},
'toWireType': function(destructors, o) {
return o ? trueValue : falseValue;
},
'argPackAdvance': 8,
'readValueFromPointer': function(pointer) {
// TODO: if heap is fixed (like in asm.js) this could be executed outside
var heap;
if (size === 1) {
heap = HEAP8;
} else if (size === 2) {
heap = HEAP16;
} else if (size === 4) {
heap = HEAP32;
} else {
throw new TypeError("Unknown boolean type size: " + name);
}
return this['fromWireType'](heap[pointer >> shift]);
},
destructorFunction: null, // This type does not need a destructor
});
}
function ClassHandle_isAliasOf(other) {
if (!(this instanceof ClassHandle)) {
return false;
}
if (!(other instanceof ClassHandle)) {
return false;
}
var leftClass = this.$$.ptrType.registeredClass;
var left = this.$$.ptr;
var rightClass = other.$$.ptrType.registeredClass;
var right = other.$$.ptr;
while (leftClass.baseClass) {
left = leftClass.upcast(left);
leftClass = leftClass.baseClass;
}
while (rightClass.baseClass) {
right = rightClass.upcast(right);
rightClass = rightClass.baseClass;
}
return leftClass === rightClass && left === right;
}
function shallowCopyInternalPointer(o) {
return {
count: o.count,
deleteScheduled: o.deleteScheduled,
preservePointerOnDelete: o.preservePointerOnDelete,
ptr: o.ptr,
ptrType: o.ptrType,
smartPtr: o.smartPtr,
smartPtrType: o.smartPtrType,
};
}
function throwInstanceAlreadyDeleted(obj) {
function getInstanceTypeName(handle) {
return handle.$$.ptrType.registeredClass.name;
}
throwBindingError(getInstanceTypeName(obj) + ' instance already deleted');
}
var finalizationRegistry = false;
function detachFinalizer(handle) {}
function runDestructor($$) {
if ($$.smartPtr) {
$$.smartPtrType.rawDestructor($$.smartPtr);
} else {
$$.ptrType.registeredClass.rawDestructor($$.ptr);
}
}
function releaseClassHandle($$) {
$$.count.value -= 1;
var toDelete = 0 === $$.count.value;
if (toDelete) {
runDestructor($$);
}
}
function downcastPointer(ptr, ptrClass, desiredClass) {
if (ptrClass === desiredClass) {
return ptr;
}
if (undefined === desiredClass.baseClass) {
return null; // no conversion
}
var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
if (rv === null) {
return null;
}
return desiredClass.downcast(rv);
}
var registeredPointers = {
};
function getInheritedInstanceCount() {
return Object.keys(registeredInstances).length;
}
function getLiveInheritedInstances() {
var rv = [];
for (var k in registeredInstances) {
if (registeredInstances.hasOwnProperty(k)) {
rv.push(registeredInstances[k]);
}
}
return rv;
}
var deletionQueue = [];
function flushPendingDeletes() {
while (deletionQueue.length) {
var obj = deletionQueue.pop();
obj.$$.deleteScheduled = false;
obj['delete']();
}
}
var delayFunction = undefined;
function setDelayFunction(fn) {
delayFunction = fn;
if (deletionQueue.length && delayFunction) {
delayFunction(flushPendingDeletes);
}
}
function init_embind() {
Module['getInheritedInstanceCount'] = getInheritedInstanceCount;
Module['getLiveInheritedInstances'] = getLiveInheritedInstances;
Module['flushPendingDeletes'] = flushPendingDeletes;
Module['setDelayFunction'] = setDelayFunction;
}
var registeredInstances = {
};
function getBasestPointer(class_, ptr) {
if (ptr === undefined) {
throwBindingError('ptr should not be undefined');
}
while (class_.baseClass) {
ptr = class_.upcast(ptr);
class_ = class_.baseClass;
}
return ptr;
}
function getInheritedInstance(class_, ptr) {
ptr = getBasestPointer(class_, ptr);
return registeredInstances[ptr];
}
function makeClassHandle(prototype, record) {
if (!record.ptrType || !record.ptr) {
throwInternalError('makeClassHandle requires ptr and ptrType');
}
var hasSmartPtrType = !!record.smartPtrType;
var hasSmartPtr = !!record.smartPtr;
if (hasSmartPtrType !== hasSmartPtr) {
throwInternalError('Both smartPtrType and smartPtr must be specified');
}
record.count = { value: 1 };
return attachFinalizer(Object.create(prototype, {
$$: {
value: record,
},
}));
}
function RegisteredPointer_fromWireType(ptr) {
// ptr is a raw pointer (or a raw smartpointer)
// rawPointer is a maybe-null raw pointer
var rawPointer = this.getPointee(ptr);
if (!rawPointer) {
this.destructor(ptr);
return null;
}
var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
if (undefined !== registeredInstance) {
// JS object has been neutered, time to repopulate it
if (0 === registeredInstance.$$.count.value) {
registeredInstance.$$.ptr = rawPointer;
registeredInstance.$$.smartPtr = ptr;
return registeredInstance['clone']();
} else {
// else, just increment reference count on existing object
// it already has a reference to the smart pointer
var rv = registeredInstance['clone']();
this.destructor(ptr);
return rv;
}
}
function makeDefaultHandle() {
if (this.isSmartPointer) {
return makeClassHandle(this.registeredClass.instancePrototype, {
ptrType: this.pointeeType,
ptr: rawPointer,
smartPtrType: this,
smartPtr: ptr,
});
} else {
return makeClassHandle(this.registeredClass.instancePrototype, {
ptrType: this,
ptr,
});
}
}
var actualType = this.registeredClass.getActualType(rawPointer);
var registeredPointerRecord = registeredPointers[actualType];
if (!registeredPointerRecord) {
return makeDefaultHandle.call(this);
}
var toType;
if (this.isConst) {
toType = registeredPointerRecord.constPointerType;
} else {
toType = registeredPointerRecord.pointerType;
}
var dp = downcastPointer(
rawPointer,
this.registeredClass,
toType.registeredClass);
if (dp === null) {
return makeDefaultHandle.call(this);
}
if (this.isSmartPointer) {
return makeClassHandle(toType.registeredClass.instancePrototype, {
ptrType: toType,
ptr: dp,
smartPtrType: this,
smartPtr: ptr,
});
} else {
return makeClassHandle(toType.registeredClass.instancePrototype, {
ptrType: toType,
ptr: dp,
});
}
}
var attachFinalizer = function(handle) {
if ('undefined' === typeof FinalizationRegistry) {
attachFinalizer = (handle) => handle;
return handle;
}
// If the running environment has a FinalizationRegistry (see
// https://github.com/tc39/proposal-weakrefs), then attach finalizers
// for class handles. We check for the presence of FinalizationRegistry
// at run-time, not build-time.
finalizationRegistry = new FinalizationRegistry((info) => {
console.warn(info.leakWarning.stack.replace(/^Error: /, ''));
releaseClassHandle(info.$$);
});
attachFinalizer = (handle) => {
var $$ = handle.$$;
var hasSmartPtr = !!$$.smartPtr;
if (hasSmartPtr) {
// We should not call the destructor on raw pointers in case other code expects the pointee to live
var info = { $$: $$ };
// Create a warning as an Error instance in advance so that we can store
// the current stacktrace and point to it when / if a leak is detected.
// This is more useful than the empty stacktrace of `FinalizationRegistry`
// callback.
var cls = $$.ptrType.registeredClass;
info.leakWarning = new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n` +
"We'll free it automatically in this case, but this functionality is not reliable across various environments.\n" +
"Make sure to invoke .delete() manually once you're done with the instance instead.\n" +
"Originally allocated"); // `.stack` will add "at ..." after this sentence
if ('captureStackTrace' in Error) {
Error.captureStackTrace(info.leakWarning, RegisteredPointer_fromWireType);
}
finalizationRegistry.register(handle, info, handle);
}
return handle;
};
detachFinalizer = (handle) => finalizationRegistry.unregister(handle);
return attachFinalizer(handle);
};
function ClassHandle_clone() {
if (!this.$$.ptr) {
throwInstanceAlreadyDeleted(this);
}
if (this.$$.preservePointerOnDelete) {
this.$$.count.value += 1;
return this;
} else {
var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), {
$$: {
value: shallowCopyInternalPointer(this.$$),
}
}));
clone.$$.count.value += 1;
clone.$$.deleteScheduled = false;
return clone;
}
}
function ClassHandle_delete() {
if (!this.$$.ptr) {
throwInstanceAlreadyDeleted(this);
}
if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
throwBindingError('Object already scheduled for deletion');
}
detachFinalizer(this);
releaseClassHandle(this.$$);
if (!this.$$.preservePointerOnDelete) {
this.$$.smartPtr = undefined;
this.$$.ptr = undefined;
}
}
function ClassHandle_isDeleted() {
return !this.$$.ptr;
}
function ClassHandle_deleteLater() {
if (!this.$$.ptr) {
throwInstanceAlreadyDeleted(this);
}
if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
throwBindingError('Object already scheduled for deletion');
}
deletionQueue.push(this);
if (deletionQueue.length === 1 && delayFunction) {
delayFunction(flushPendingDeletes);
}
this.$$.deleteScheduled = true;
return this;
}
function init_ClassHandle() {
ClassHandle.prototype['isAliasOf'] = ClassHandle_isAliasOf;
ClassHandle.prototype['clone'] = ClassHandle_clone;
ClassHandle.prototype['delete'] = ClassHandle_delete;
ClassHandle.prototype['isDeleted'] = ClassHandle_isDeleted;
ClassHandle.prototype['deleteLater'] = ClassHandle_deleteLater;
}
function ClassHandle() {
}
var char_0 = 48;
var char_9 = 57;
function makeLegalFunctionName(name) {
if (undefined === name) {
return '_unknown';
}
name = name.replace(/[^a-zA-Z0-9_]/g, '$');
var f = name.charCodeAt(0);
if (f >= char_0 && f <= char_9) {
return `_${name}`;
}
return name;
}
function createNamedFunction(name, body) {
name = makeLegalFunctionName(name);
// Use an abject with a computed property name to create a new function with
// a name specified at runtime, but without using `new Function` or `eval`.
return {
[name]: function() {
return body.apply(this, arguments);
}
}[name];
}
function ensureOverloadTable(proto, methodName, humanName) {
if (undefined === proto[methodName].overloadTable) {
var prevFunc = proto[methodName];
// Inject an overload resolver function that routes to the appropriate overload based on the number of arguments.
proto[methodName] = function() {
// TODO This check can be removed in -O3 level "unsafe" optimizations.
if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) {
throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`);
}
return proto[methodName].overloadTable[arguments.length].apply(this, arguments);
};
// Move the previous function into the overload table.
proto[methodName].overloadTable = [];
proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
}
}
/** @param {number=} numArguments */
function exposePublicSymbol(name, value, numArguments) {
if (Module.hasOwnProperty(name)) {
if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) {
throwBindingError(`Cannot register public name '${name}' twice`);
}
// We are exposing a function with the same name as an existing function. Create an overload table and a function selector
// that routes between the two.
ensureOverloadTable(Module, name, name);
if (Module.hasOwnProperty(numArguments)) {
throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`);
}
// Add the new function into the overload table.
Module[name].overloadTable[numArguments] = value;
}
else {
Module[name] = value;
if (undefined !== numArguments) {
Module[name].numArguments = numArguments;
}
}
}
/** @constructor */
function RegisteredClass(name,
constructor,
instancePrototype,
rawDestructor,
baseClass,
getActualType,
upcast,
downcast) {
this.name = name;
this.constructor = constructor;
this.instancePrototype = instancePrototype;
this.rawDestructor = rawDestructor;
this.baseClass = baseClass;
this.getActualType = getActualType;
this.upcast = upcast;
this.downcast = downcast;
this.pureVirtualFunctions = [];
}
function upcastPointer(ptr, ptrClass, desiredClass) {
while (ptrClass !== desiredClass) {
if (!ptrClass.upcast) {
throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`);
}
ptr = ptrClass.upcast(ptr);
ptrClass = ptrClass.baseClass;
}
return ptr;
}
function constNoSmartPtrRawPointerToWireType(destructors, handle) {
if (handle === null) {
if (this.isReference) {
throwBindingError(`null is not a valid ${this.name}`);
}
return 0;
}
if (!handle.$$) {
throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
}
if (!handle.$$.ptr) {
throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
}
var handleClass = handle.$$.ptrType.registeredClass;
var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
return ptr;
}
function genericPointerToWireType(destructors, handle) {
var ptr;
if (handle === null) {
if (this.isReference) {
throwBindingError(`null is not a valid ${this.name}`);
}
if (this.isSmartPointer) {
ptr = this.rawConstructor();
if (destructors !== null) {
destructors.push(this.rawDestructor, ptr);
}
return ptr;
} else {
return 0;
}
}
if (!handle.$$) {
throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
}
if (!handle.$$.ptr) {
throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
}
if (!this.isConst && handle.$$.ptrType.isConst) {
throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`);
}
var handleClass = handle.$$.ptrType.registeredClass;
ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
if (this.isSmartPointer) {
// TODO: this is not strictly true
// We could support BY_EMVAL conversions from raw pointers to smart pointers
// because the smart pointer can hold a reference to the handle
if (undefined === handle.$$.smartPtr) {
throwBindingError('Passing raw pointer to smart pointer is illegal');
}
switch (this.sharingPolicy) {
case 0: // NONE
// no upcasting
if (handle.$$.smartPtrType === this) {
ptr = handle.$$.smartPtr;
} else {
throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`);
}
break;
case 1: // INTRUSIVE
ptr = handle.$$.smartPtr;
break;
case 2: // BY_EMVAL
if (handle.$$.smartPtrType === this) {
ptr = handle.$$.smartPtr;
} else {
var clonedHandle = handle['clone']();
ptr = this.rawShare(
ptr,
Emval.toHandle(function() {
clonedHandle['delete']();
})
);
if (destructors !== null) {
destructors.push(this.rawDestructor, ptr);
}
}
break;
default:
throwBindingError('Unsupporting sharing policy');
}
}
return ptr;
}
function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) {
if (handle === null) {
if (this.isReference) {
throwBindingError(`null is not a valid ${this.name}`);
}
return 0;
}
if (!handle.$$) {
throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
}
if (!handle.$$.ptr) {
throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
}
if (handle.$$.ptrType.isConst) {
throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`);
}
var handleClass = handle.$$.ptrType.registeredClass;
var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
return ptr;
}
function simpleReadValueFromPointer(pointer) {
return this['fromWireType'](HEAP32[((pointer)>>2)]);
}
function RegisteredPointer_getPointee(ptr) {
if (this.rawGetPointee) {
ptr = this.rawGetPointee(ptr);
}
return ptr;
}
function RegisteredPointer_destructor(ptr) {
if (this.rawDestructor) {
this.rawDestructor(ptr);
}
}
function RegisteredPointer_deleteObject(handle) {
if (handle !== null) {
handle['delete']();
}
}
function init_RegisteredPointer() {
RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee;
RegisteredPointer.prototype.destructor = RegisteredPointer_destructor;
RegisteredPointer.prototype['argPackAdvance'] = 8;
RegisteredPointer.prototype['readValueFromPointer'] = simpleReadValueFromPointer;
RegisteredPointer.prototype['deleteObject'] = RegisteredPointer_deleteObject;
RegisteredPointer.prototype['fromWireType'] = RegisteredPointer_fromWireType;
}
/** @constructor
@param {*=} pointeeType,
@param {*=} sharingPolicy,
@param {*=} rawGetPointee,
@param {*=} rawConstructor,
@param {*=} rawShare,
@param {*=} rawDestructor,
*/
function RegisteredPointer(
name,
registeredClass,
isReference,
isConst,
// smart pointer properties
isSmartPointer,
pointeeType,
sharingPolicy,
rawGetPointee,
rawConstructor,
rawShare,
rawDestructor
) {
this.name = name;
this.registeredClass = registeredClass;
this.isReference = isReference;
this.isConst = isConst;
// smart pointer properties
this.isSmartPointer = isSmartPointer;
this.pointeeType = pointeeType;
this.sharingPolicy = sharingPolicy;
this.rawGetPointee = rawGetPointee;
this.rawConstructor = rawConstructor;
this.rawShare = rawShare;
this.rawDestructor = rawDestructor;
if (!isSmartPointer && registeredClass.baseClass === undefined) {
if (isConst) {
this['toWireType'] = constNoSmartPtrRawPointerToWireType;
this.destructorFunction = null;
} else {
this['toWireType'] = nonConstNoSmartPtrRawPointerToWireType;
this.destructorFunction = null;
}
} else {
this['toWireType'] = genericPointerToWireType;
// Here we must leave this.destructorFunction undefined, since whether genericPointerToWireType returns
// a pointer that needs to be freed up is runtime-dependent, and cannot be evaluated at registration time.
// TODO: Create an alternative mechanism that allows removing the use of var destructors = []; array in
// craftInvokerFunction altogether.
}
}
/** @param {number=} numArguments */
function replacePublicSymbol(name, value, numArguments) {
if (!Module.hasOwnProperty(name)) {
throwInternalError('Replacing nonexistant public symbol');
}
// If there's an overload table for this symbol, replace the symbol in the overload table instead.
if (undefined !== Module[name].overloadTable && undefined !== numArguments) {
Module[name].overloadTable[numArguments] = value;
}
else {
Module[name] = value;
Module[name].argCount = numArguments;
}
}
var dynCallLegacy = (sig, ptr, args) => {
assert(('dynCall_' + sig) in Module, `bad function pointer type - dynCall function not found for sig '${sig}'`);
if (args && args.length) {
// j (64-bit integer) must be passed in as two numbers [low 32, high 32].
assert(args.length === sig.substring(1).replace(/j/g, '--').length);
} else {
assert(sig.length == 1);
}
var f = Module['dynCall_' + sig];
return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr);
};
var wasmTableMirror = [];
var getWasmTableEntry = (funcPtr) => {
var func = wasmTableMirror[funcPtr];
if (!func) {
if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;
wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
}
assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!");
return func;
};
/** @param {Object=} args */
var dynCall = (sig, ptr, args) => {
// Without WASM_BIGINT support we cannot directly call function with i64 as
// part of thier signature, so we rely the dynCall functions generated by
// wasm-emscripten-finalize
if (sig.includes('j')) {
return dynCallLegacy(sig, ptr, args);
}
assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`);
var rtn = getWasmTableEntry(ptr).apply(null, args);
return rtn;
};
var getDynCaller = (sig, ptr) => {
assert(sig.includes('j') || sig.includes('p'), 'getDynCaller should only be called with i64 sigs');
var argCache = [];
return function() {
argCache.length = 0;
Object.assign(argCache, arguments);
return dynCall(sig, ptr, argCache);
};
};
function embind__requireFunction(signature, rawFunction) {
signature = readLatin1String(signature);
function makeDynCaller() {
if (signature.includes('j')) {
return getDynCaller(signature, rawFunction);
}
return getWasmTableEntry(rawFunction);
}
var fp = makeDynCaller();
if (typeof fp != "function") {
throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`);
}
return fp;
}
function extendError(baseErrorType, errorName) {
var errorClass = createNamedFunction(errorName, function(message) {
this.name = errorName;
this.message = message;
var stack = (new Error(message)).stack;
if (stack !== undefined) {
this.stack = this.toString() + '\n' +
stack.replace(/^Error(:[^\n]*)?\n/, '');
}
});
errorClass.prototype = Object.create(baseErrorType.prototype);
errorClass.prototype.constructor = errorClass;
errorClass.prototype.toString = function() {
if (this.message === undefined) {
return this.name;
} else {
return `${this.name}: ${this.message}`;
}
};
return errorClass;
}
var UnboundTypeError = undefined;
function getTypeName(type) {
var ptr = ___getTypeName(type);
var rv = readLatin1String(ptr);
_free(ptr);
return rv;
}
function throwUnboundTypeError(message, types) {
var unboundTypes = [];
var seen = {};
function visit(type) {
if (seen[type]) {
return;
}
if (registeredTypes[type]) {
return;
}
if (typeDependencies[type]) {
typeDependencies[type].forEach(visit);
return;
}
unboundTypes.push(type);
seen[type] = true;
}
types.forEach(visit);
throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([', ']));
}
function __embind_register_class(rawType,
rawPointerType,
rawConstPointerType,
baseClassRawType,
getActualTypeSignature,
getActualType,
upcastSignature,
upcast,
downcastSignature,
downcast,
name,
destructorSignature,
rawDestructor) {
name = readLatin1String(name);
getActualType = embind__requireFunction(getActualTypeSignature, getActualType);
if (upcast) {
upcast = embind__requireFunction(upcastSignature, upcast);
}
if (downcast) {
downcast = embind__requireFunction(downcastSignature, downcast);
}
rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);
var legalFunctionName = makeLegalFunctionName(name);
exposePublicSymbol(legalFunctionName, function() {
// this code cannot run if baseClassRawType is zero
throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]);
});
whenDependentTypesAreResolved(
[rawType, rawPointerType, rawConstPointerType],
baseClassRawType ? [baseClassRawType] : [],
function(base) {
base = base[0];
var baseClass;
var basePrototype;
if (baseClassRawType) {
baseClass = base.registeredClass;
basePrototype = baseClass.instancePrototype;
} else {
basePrototype = ClassHandle.prototype;
}
var constructor = createNamedFunction(legalFunctionName, function() {
if (Object.getPrototypeOf(this) !== instancePrototype) {
throw new BindingError("Use 'new' to construct " + name);
}
if (undefined === registeredClass.constructor_body) {
throw new BindingError(name + " has no accessible constructor");
}
var body = registeredClass.constructor_body[arguments.length];
if (undefined === body) {
throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`);
}
return body.apply(this, arguments);
});
var instancePrototype = Object.create(basePrototype, {
constructor: { value: constructor },
});
constructor.prototype = instancePrototype;
var registeredClass = new RegisteredClass(name,
constructor,
instancePrototype,
rawDestructor,
baseClass,
getActualType,
upcast,
downcast);
if (registeredClass.baseClass) {
// Keep track of class hierarchy. Used to allow sub-classes to inherit class functions.
if (registeredClass.baseClass.__derivedClasses === undefined) {
registeredClass.baseClass.__derivedClasses = [];
}
registeredClass.baseClass.__derivedClasses.push(registeredClass);
}
var referenceConverter = new RegisteredPointer(name,
registeredClass,
true,
false,
false);
var pointerConverter = new RegisteredPointer(name + '*',
registeredClass,
false,
false,
false);
var constPointerConverter = new RegisteredPointer(name + ' const*',
registeredClass,
false,
true,
false);
registeredPointers[rawType] = {
pointerType: pointerConverter,
constPointerType: constPointerConverter
};
replacePublicSymbol(legalFunctionName, constructor);
return [referenceConverter, pointerConverter, constPointerConverter];
}
);
}
function runDestructors(destructors) {
while (destructors.length) {
var ptr = destructors.pop();
var del = destructors.pop();
del(ptr);
}
}
function newFunc(constructor, argumentList) {
if (!(constructor instanceof Function)) {
throw new TypeError(`new_ called with constructor type ${typeof(constructor)} which is not a function`);
}
/*
* Previously, the following line was just:
* function dummy() {};
* Unfortunately, Chrome was preserving 'dummy' as the object's name, even
* though at creation, the 'dummy' has the correct constructor name. Thus,
* objects created with IMVU.new would show up in the debugger as 'dummy',
* which isn't very helpful. Using IMVU.createNamedFunction addresses the
* issue. Doublely-unfortunately, there's no way to write a test for this
* behavior. -NRD 2013.02.22
*/
var dummy = createNamedFunction(constructor.name || 'unknownFunctionName', function(){});
dummy.prototype = constructor.prototype;
var obj = new dummy;
var r = constructor.apply(obj, argumentList);
return (r instanceof Object) ? r : obj;
}
function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, /** boolean= */ isAsync) {
// humanName: a human-readable string name for the function to be generated.
// argTypes: An array that contains the embind type objects for all types in the function signature.
// argTypes[0] is the type object for the function return value.
// argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method.
// argTypes[2...] are the actual function parameters.
// classType: The embind type object for the class to be bound, or null if this is not a method of a class.
// cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code.
// cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling.
// isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI.
var argCount = argTypes.length;
if (argCount < 2) {
throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");
}
assert(!isAsync, 'Async bindings are only supported with JSPI.');
var isClassMethodFunc = (argTypes[1] !== null && classType !== null);
// Free functions with signature "void function()" do not need an invoker that marshalls between wire types.
// TODO: This omits argument count check - enable only at -O3 or similar.
// if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) {
// return FUNCTION_TABLE[fn];
// }
// Determine if we need to use a dynamic stack to store the destructors for the function parameters.
// TODO: Remove this completely once all function invokers are being dynamically generated.
var needsDestructorStack = false;
for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here.
if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack
needsDestructorStack = true;
break;
}
}
var returns = (argTypes[0].name !== "void");
var argsList = "";
var argsListWired = "";
for (var i = 0; i < argCount - 2; ++i) {
argsList += (i!==0?", ":"")+"arg"+i;
argsListWired += (i!==0?", ":"")+"arg"+i+"Wired";
}
var invokerFnBody = `
return function ${makeLegalFunctionName(humanName)}(${argsList}) {
if (arguments.length !== ${argCount - 2}) {
throwBindingError('function ${humanName} called with ${arguments.length} arguments, expected ${argCount - 2} args!');
}`;
if (needsDestructorStack) {
invokerFnBody += "var destructors = [];\n";
}
var dtorStack = needsDestructorStack ? "destructors" : "null";
var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"];
var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]];
if (isClassMethodFunc) {
invokerFnBody += "var thisWired = classParam.toWireType("+dtorStack+", this);\n";
}
for (var i = 0; i < argCount - 2; ++i) {
invokerFnBody += "var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";
args1.push("argType"+i);
args2.push(argTypes[i+2]);
}
if (isClassMethodFunc) {
argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired;
}
invokerFnBody +=
(returns || isAsync ? "var rv = ":"") + "invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";
if (needsDestructorStack) {
invokerFnBody += "runDestructors(destructors);\n";
} else {
for (var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method.
var paramName = (i === 1 ? "thisWired" : ("arg"+(i - 2)+"Wired"));
if (argTypes[i].destructorFunction !== null) {
invokerFnBody += paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";
args1.push(paramName+"_dtor");
args2.push(argTypes[i].destructorFunction);
}
}
}
if (returns) {
invokerFnBody += "var ret = retType.fromWireType(rv);\n" +
"return ret;\n";
}
invokerFnBody += "}\n";
args1.push(invokerFnBody);
return newFunc(Function, args1).apply(null, args2);
}
function heap32VectorToArray(count, firstElement) {
var array = [];
for (var i = 0; i < count; i++) {
// TODO(https://github.com/emscripten-core/emscripten/issues/17310):
// Find a way to hoist the `>> 2` or `>> 3` out of this loop.
array.push(HEAPU32[(((firstElement)+(i * 4))>>2)]);
}
return array;
}
function __embind_register_class_class_function(rawClassType,
methodName,
argCount,
rawArgTypesAddr,
invokerSignature,
rawInvoker,
fn,
isAsync) {
var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
methodName = readLatin1String(methodName);
rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);
whenDependentTypesAreResolved([], [rawClassType], function(classType) {
classType = classType[0];
var humanName = `${classType.name}.${methodName}`;
function unboundTypesHandler() {
throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes);
}
if (methodName.startsWith("@@")) {
methodName = Symbol[methodName.substring(2)];
}
var proto = classType.registeredClass.constructor;
if (undefined === proto[methodName]) {
// This is the first function to be registered with this name.
unboundTypesHandler.argCount = argCount-1;
proto[methodName] = unboundTypesHandler;
} else {
// There was an existing function with the same name registered. Set up
// a function overload routing table.
ensureOverloadTable(proto, methodName, humanName);
proto[methodName].overloadTable[argCount-1] = unboundTypesHandler;
}
whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
// Replace the initial unbound-types-handler stub with the proper
// function. If multiple overloads are registered, the function handlers
// go into an overload table.
var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */);
var func = craftInvokerFunction(humanName, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync);
if (undefined === proto[methodName].overloadTable) {
func.argCount = argCount-1;
proto[methodName] = func;
} else {
proto[methodName].overloadTable[argCount-1] = func;
}
if (classType.registeredClass.__derivedClasses) {
for (const derivedClass of classType.registeredClass.__derivedClasses) {
if (!derivedClass.constructor.hasOwnProperty(methodName)) {
// TODO: Add support for overloads
derivedClass.constructor[methodName] = func;
}
}
}
return [];
});
return [];
});
}
function __embind_register_class_constructor(
rawClassType,
argCount,
rawArgTypesAddr,
invokerSignature,
invoker,
rawConstructor
) {
assert(argCount > 0);
var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
invoker = embind__requireFunction(invokerSignature, invoker);
whenDependentTypesAreResolved([], [rawClassType], function(classType) {
classType = classType[0];
var humanName = `constructor ${classType.name}`;
if (undefined === classType.registeredClass.constructor_body) {
classType.registeredClass.constructor_body = [];
}
if (undefined !== classType.registeredClass.constructor_body[argCount - 1]) {
throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
}
classType.registeredClass.constructor_body[argCount - 1] = () => {
throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`, rawArgTypes);
};
whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
// Insert empty slot for context type (argTypes[1]).
argTypes.splice(1, 0, null);
classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor);
return [];
});
return [];
});
}
function __embind_register_class_function(rawClassType,
methodName,
argCount,
rawArgTypesAddr, // [ReturnType, ThisType, Args...]
invokerSignature,
rawInvoker,
context,
isPureVirtual,
isAsync) {
var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
methodName = readLatin1String(methodName);
rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);
whenDependentTypesAreResolved([], [rawClassType], function(classType) {
classType = classType[0];
var humanName = `${classType.name}.${methodName}`;
if (methodName.startsWith("@@")) {
methodName = Symbol[methodName.substring(2)];
}
if (isPureVirtual) {
classType.registeredClass.pureVirtualFunctions.push(methodName);
}
function unboundTypesHandler() {
throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes);
}
var proto = classType.registeredClass.instancePrototype;
var method = proto[methodName];
if (undefined === method || (undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2)) {
// This is the first overload to be registered, OR we are replacing a
// function in the base class with a function in the derived class.
unboundTypesHandler.argCount = argCount - 2;
unboundTypesHandler.className = classType.name;
proto[methodName] = unboundTypesHandler;
} else {
// There was an existing function with the same name registered. Set up
// a function overload routing table.
ensureOverloadTable(proto, methodName, humanName);
proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler;
}
whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync);
// Replace the initial unbound-handler-stub function with the appropriate member function, now that all types
// are resolved. If multiple overloads are registered for this function, the function goes into an overload table.
if (undefined === proto[methodName].overloadTable) {
// Set argCount in case an overload is registered later
memberFunction.argCount = argCount - 2;
proto[methodName] = memberFunction;
} else {
proto[methodName].overloadTable[argCount - 2] = memberFunction;
}
return [];
});
return [];
});
}
function handleAllocatorInit() {
Object.assign(HandleAllocator.prototype, /** @lends {HandleAllocator.prototype} */ {
get(id) {
assert(this.allocated[id] !== undefined, `invalid handle: ${id}`);
return this.allocated[id];
},
has(id) {
return this.allocated[id] !== undefined;
},
allocate(handle) {
var id = this.freelist.pop() || this.allocated.length;
this.allocated[id] = handle;
return id;
},
free(id) {
assert(this.allocated[id] !== undefined);
// Set the slot to `undefined` rather than using `delete` here since
// apparently arrays with holes in them can be less efficient.
this.allocated[id] = undefined;
this.freelist.push(id);
}
});
}
/** @constructor */
function HandleAllocator() {
// Reserve slot 0 so that 0 is always an invalid handle
this.allocated = [undefined];
this.freelist = [];
}
var emval_handles = new HandleAllocator(); function __emval_decref(handle) {
if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) {
emval_handles.free(handle);
}
}
function count_emval_handles() {
var count = 0;
for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) {
if (emval_handles.allocated[i] !== undefined) {
++count;
}
}
return count;
}
function init_emval() {
// reserve some special values. These never get de-allocated.
// The HandleAllocator takes care of reserving zero.
emval_handles.allocated.push(
{value: undefined},
{value: null},
{value: true},
{value: false},
);
emval_handles.reserved = emval_handles.allocated.length;
Module['count_emval_handles'] = count_emval_handles;
}
var Emval = {
toValue:(handle) => {
if (!handle) {
throwBindingError('Cannot use deleted val. handle = ' + handle);
}
return emval_handles.get(handle).value;
},
toHandle:(value) => {
switch (value) {
case undefined: return 1;
case null: return 2;
case true: return 3;
case false: return 4;
default:{
return emval_handles.allocate({refcount: 1, value: value});
}
}
},
};
function __embind_register_emval(rawType, name) {
name = readLatin1String(name);
registerType(rawType, {
name,
'fromWireType': function(handle) {
var rv = Emval.toValue(handle);
__emval_decref(handle);
return rv;
},
'toWireType': function(destructors, value) {
return Emval.toHandle(value);
},
'argPackAdvance': 8,
'readValueFromPointer': simpleReadValueFromPointer,
destructorFunction: null, // This type does not need a destructor
// TODO: do we need a deleteObject here? write a test where
// emval is passed into JS via an interface
});
}
function embindRepr(v) {
if (v === null) {
return 'null';
}
var t = typeof v;
if (t === 'object' || t === 'array' || t === 'function') {
return v.toString();
} else {
return '' + v;
}
}
function floatReadValueFromPointer(name, shift) {
switch (shift) {
case 2: return function(pointer) {
return this['fromWireType'](HEAPF32[pointer >> 2]);
};
case 3: return function(pointer) {
return this['fromWireType'](HEAPF64[pointer >> 3]);
};
default:
throw new TypeError("Unknown float type: " + name);
}
}
function __embind_register_float(rawType, name, size) {
var shift = getShiftFromSize(size);
name = readLatin1String(name);
registerType(rawType, {
name,
'fromWireType': function(value) {
return value;
},
'toWireType': function(destructors, value) {
if (typeof value != "number" && typeof value != "boolean") {
throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`);
}
// The VM will perform JS to Wasm value conversion, according to the spec:
// https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue
return value;
},
'argPackAdvance': 8,
'readValueFromPointer': floatReadValueFromPointer(name, shift),
destructorFunction: null, // This type does not need a destructor
});
}
function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) {
var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
name = readLatin1String(name);
rawInvoker = embind__requireFunction(signature, rawInvoker);
exposePublicSymbol(name, function() {
throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes);
}, argCount - 1);
whenDependentTypesAreResolved([], argTypes, function(argTypes) {
var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */);
replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync), argCount - 1);
return [];
});
}
function integerReadValueFromPointer(name, shift, signed) {
// integers are quite common, so generate very specialized functions
switch (shift) {
case 0: return signed ?
function readS8FromPointer(pointer) { return HEAP8[pointer]; } :
function readU8FromPointer(pointer) { return HEAPU8[pointer]; };
case 1: return signed ?
function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } :
function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; };
case 2: return signed ?
function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } :
function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; };
default:
throw new TypeError("Unknown integer type: " + name);
}
}
function __embind_register_integer(primitiveType, name, size, minRange, maxRange) {
name = readLatin1String(name);
// LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come
// out as 'i32 -1'. Always treat those as max u32.
if (maxRange === -1) {
maxRange = 4294967295;
}
var shift = getShiftFromSize(size);
var fromWireType = (value) => value;
if (minRange === 0) {
var bitshift = 32 - 8*size;
fromWireType = (value) => (value << bitshift) >>> bitshift;
}
var isUnsignedType = (name.includes('unsigned'));
var checkAssertions = (value, toTypeName) => {
if (typeof value != "number" && typeof value != "boolean") {
throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`);
}
if (value < minRange || value > maxRange) {
throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`);
}
};
var toWireType;
if (isUnsignedType) {
toWireType = function(destructors, value) {
checkAssertions(value, this.name);
return value >>> 0;
};
} else {
toWireType = function(destructors, value) {
checkAssertions(value, this.name);
// The VM will perform JS to Wasm value conversion, according to the spec:
// https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue
return value;
};
}
registerType(primitiveType, {
name,
'fromWireType': fromWireType,
'toWireType': toWireType,
'argPackAdvance': 8,
'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0),
destructorFunction: null, // This type does not need a destructor
});
}
function __embind_register_memory_view(rawType, dataTypeIndex, name) {
var typeMapping = [
Int8Array,
Uint8Array,
Int16Array,
Uint16Array,
Int32Array,
Uint32Array,
Float32Array,
Float64Array,
];
var TA = typeMapping[dataTypeIndex];
function decodeMemoryView(handle) {
handle = handle >> 2;
var heap = HEAPU32;
var size = heap[handle]; // in elements
var data = heap[handle + 1]; // byte offset into emscripten heap
return new TA(heap.buffer, data, size);
}
name = readLatin1String(name);
registerType(rawType, {
name,
'fromWireType': decodeMemoryView,
'argPackAdvance': 8,
'readValueFromPointer': decodeMemoryView,
}, {
ignoreDuplicateRegistrations: true,
});
}
function __embind_register_std_string(rawType, name) {
name = readLatin1String(name);
var stdStringIsUTF8
//process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string<unsigned char>
= (name === "std::string");
registerType(rawType, {
name,
'fromWireType': function(value) {
var length = HEAPU32[((value)>>2)];
var payload = value + 4;
var str;
if (stdStringIsUTF8) {
var decodeStartPtr = payload;
// Looping here to support possible embedded '0' bytes
for (var i = 0; i <= length; ++i) {
var currentBytePtr = payload + i;
if (i == length || HEAPU8[currentBytePtr] == 0) {
var maxRead = currentBytePtr - decodeStartPtr;
var stringSegment = UTF8ToString(decodeStartPtr, maxRead);
if (str === undefined) {
str = stringSegment;
} else {
str += String.fromCharCode(0);
str += stringSegment;
}
decodeStartPtr = currentBytePtr + 1;
}
}
} else {
var a = new Array(length);
for (var i = 0; i < length; ++i) {
a[i] = String.fromCharCode(HEAPU8[payload + i]);
}
str = a.join('');
}
_free(value);
return str;
},
'toWireType': function(destructors, value) {
if (value instanceof ArrayBuffer) {
value = new Uint8Array(value);
}
var length;
var valueIsOfTypeString = (typeof value == 'string');
if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
throwBindingError('Cannot pass non-string to std::string');
}
if (stdStringIsUTF8 && valueIsOfTypeString) {
length = lengthBytesUTF8(value);
} else {
length = value.length;
}
// assumes 4-byte alignment
var base = _malloc(4 + length + 1);
var ptr = base + 4;
HEAPU32[((base)>>2)] = length;
if (stdStringIsUTF8 && valueIsOfTypeString) {
stringToUTF8(value, ptr, length + 1);
} else {
if (valueIsOfTypeString) {
for (var i = 0; i < length; ++i) {
var charCode = value.charCodeAt(i);
if (charCode > 255) {
_free(ptr);
throwBindingError('String has UTF-16 code units that do not fit in 8 bits');
}
HEAPU8[ptr + i] = charCode;
}
} else {
for (var i = 0; i < length; ++i) {
HEAPU8[ptr + i] = value[i];
}
}
}
if (destructors !== null) {
destructors.push(_free, base);
}
return base;
},
'argPackAdvance': 8,
'readValueFromPointer': simpleReadValueFromPointer,
destructorFunction: function(ptr) { _free(ptr); },
});
}
var UTF16Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf-16le') : undefined; var UTF16ToString = (ptr, maxBytesToRead) => {
assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!');
var endPtr = ptr;
// TextDecoder needs to know the byte length in advance, it doesn't stop on
// null terminator by itself.
// Also, use the length info to avoid running tiny strings through
// TextDecoder, since .subarray() allocates garbage.
var idx = endPtr >> 1;
var maxIdx = idx + maxBytesToRead / 2;
// If maxBytesToRead is not passed explicitly, it will be undefined, and this
// will always evaluate to true. This saves on code size.
while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx;
endPtr = idx << 1;
if (endPtr - ptr > 32 && UTF16Decoder)
return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
// Fallback: decode without UTF16Decoder
var str = '';
// If maxBytesToRead is not passed explicitly, it will be undefined, and the
// for-loop's condition will always evaluate to true. The loop is then
// terminated on the first null char.
for (var i = 0; !(i >= maxBytesToRead / 2); ++i) {
var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
if (codeUnit == 0) break;
// fromCharCode constructs a character from a UTF-16 code unit, so we can
// pass the UTF16 string right through.
str += String.fromCharCode(codeUnit);
}
return str;
};
var stringToUTF16 = (str, outPtr, maxBytesToWrite) => {
assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!');
assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
if (maxBytesToWrite === undefined) {
maxBytesToWrite = 0x7FFFFFFF;
}
if (maxBytesToWrite < 2) return 0;
maxBytesToWrite -= 2; // Null terminator.
var startPtr = outPtr;
var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;
for (var i = 0; i < numCharsToWrite; ++i) {
// charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
HEAP16[((outPtr)>>1)] = codeUnit;
outPtr += 2;
}
// Null-terminate the pointer to the HEAP.
HEAP16[((outPtr)>>1)] = 0;
return outPtr - startPtr;
};
var lengthBytesUTF16 = (str) => {
return str.length*2;
};
var UTF32ToString = (ptr, maxBytesToRead) => {
assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!');
var i = 0;
var str = '';
// If maxBytesToRead is not passed explicitly, it will be undefined, and this
// will always evaluate to true. This saves on code size.
while (!(i >= maxBytesToRead / 4)) {
var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
if (utf32 == 0) break;
++i;
// Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
// See http://unicode.org/faq/utf_bom.html#utf16-3
if (utf32 >= 0x10000) {
var ch = utf32 - 0x10000;
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
} else {
str += String.fromCharCode(utf32);
}
}
return str;
};
var stringToUTF32 = (str, outPtr, maxBytesToWrite) => {
assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!');
assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
if (maxBytesToWrite === undefined) {
maxBytesToWrite = 0x7FFFFFFF;
}
if (maxBytesToWrite < 4) return 0;
var startPtr = outPtr;
var endPtr = startPtr + maxBytesToWrite - 4;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
var trailSurrogate = str.charCodeAt(++i);
codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
}
HEAP32[((outPtr)>>2)] = codeUnit;
outPtr += 4;
if (outPtr + 4 > endPtr) break;
}
// Null-terminate the pointer to the HEAP.
HEAP32[((outPtr)>>2)] = 0;
return outPtr - startPtr;
};
var lengthBytesUTF32 = (str) => {
var len = 0;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var codeUnit = str.charCodeAt(i);
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.
len += 4;
}
return len;
};
var __embind_register_std_wstring = function(rawType, charSize, name) {
name = readLatin1String(name);
var decodeString, encodeString, getHeap, lengthBytesUTF, shift;
if (charSize === 2) {
decodeString = UTF16ToString;
encodeString = stringToUTF16;
lengthBytesUTF = lengthBytesUTF16;
getHeap = () => HEAPU16;
shift = 1;
} else if (charSize === 4) {
decodeString = UTF32ToString;
encodeString = stringToUTF32;
lengthBytesUTF = lengthBytesUTF32;
getHeap = () => HEAPU32;
shift = 2;
}
registerType(rawType, {
name,
'fromWireType': function(value) {
// Code mostly taken from _embind_register_std_string fromWireType
var length = HEAPU32[value >> 2];
var HEAP = getHeap();
var str;
var decodeStartPtr = value + 4;
// Looping here to support possible embedded '0' bytes
for (var i = 0; i <= length; ++i) {
var currentBytePtr = value + 4 + i * charSize;
if (i == length || HEAP[currentBytePtr >> shift] == 0) {
var maxReadBytes = currentBytePtr - decodeStartPtr;
var stringSegment = decodeString(decodeStartPtr, maxReadBytes);
if (str === undefined) {
str = stringSegment;
} else {
str += String.fromCharCode(0);
str += stringSegment;
}
decodeStartPtr = currentBytePtr + charSize;
}
}
_free(value);
return str;
},
'toWireType': function(destructors, value) {
if (!(typeof value == 'string')) {
throwBindingError(`Cannot pass non-string to C++ string type ${name}`);
}
// assumes 4-byte alignment
var length = lengthBytesUTF(value);
var ptr = _malloc(4 + length + charSize);
HEAPU32[ptr >> 2] = length >> shift;
encodeString(value, ptr + 4, length + charSize);
if (destructors !== null) {
destructors.push(_free, ptr);
}
return ptr;
},
'argPackAdvance': 8,
'readValueFromPointer': simpleReadValueFromPointer,
destructorFunction: function(ptr) { _free(ptr); },
});
};
function __embind_register_void(rawType, name) {
name = readLatin1String(name);
registerType(rawType, {
isVoid: true, // void return values can be optimized out sometimes
name,
'argPackAdvance': 0,
'fromWireType': function() {
return undefined;
},
'toWireType': function(destructors, o) {
// TODO: assert if anything else is given?
return undefined;
},
});
}
var nowIsMonotonic = true; var __emscripten_get_now_is_monotonic = () => nowIsMonotonic;
function requireRegisteredType(rawType, humanName) {
var impl = registeredTypes[rawType];
if (undefined === impl) {
throwBindingError(humanName + " has unknown type " + getTypeName(rawType));
}
return impl;
}
function __emval_as(handle, returnType, destructorsRef) {
handle = Emval.toValue(handle);
returnType = requireRegisteredType(returnType, 'emval::as');
var destructors = [];
var rd = Emval.toHandle(destructors);
HEAPU32[((destructorsRef)>>2)] = rd;
return returnType['toWireType'](destructors, handle);
}
function emval_allocateDestructors(destructorsRef) {
var destructors = [];
HEAPU32[((destructorsRef)>>2)] = Emval.toHandle(destructors);
return destructors;
}
var emval_symbols = {
};
function getStringOrSymbol(address) {
var symbol = emval_symbols[address];
if (symbol === undefined) {
return readLatin1String(address);
}
return symbol;
}
var emval_methodCallers = [];
function __emval_call_method(caller, handle, methodName, destructorsRef, args) {
caller = emval_methodCallers[caller];
handle = Emval.toValue(handle);
methodName = getStringOrSymbol(methodName);
return caller(handle, methodName, emval_allocateDestructors(destructorsRef), args);
}
function __emval_call_void_method(caller, handle, methodName, args) {
caller = emval_methodCallers[caller];
handle = Emval.toValue(handle);
methodName = getStringOrSymbol(methodName);
caller(handle, methodName, null, args);
}
function emval_get_global() {
if (typeof globalThis == 'object') {
return globalThis;
}
return (function(){
return Function;
})()('return this')();
}
function __emval_get_global(name) {
if (name===0) {
return Emval.toHandle(emval_get_global());
} else {
name = getStringOrSymbol(name);
return Emval.toHandle(emval_get_global()[name]);
}
}
function emval_addMethodCaller(caller) {
var id = emval_methodCallers.length;
emval_methodCallers.push(caller);
return id;
}
function emval_lookupTypes(argCount, argTypes) {
var a = new Array(argCount);
for (var i = 0; i < argCount; ++i) {
a[i] = requireRegisteredType(HEAPU32[(((argTypes)+(i * 4))>>2)],
"parameter " + i);
}
return a;
}
var emval_registeredMethods = [];
function __emval_get_method_caller(argCount, argTypes) {
var types = emval_lookupTypes(argCount, argTypes);
var retType = types[0];
var signatureName = retType.name + "_$" + types.slice(1).map(function (t) { return t.name; }).join("_") + "$";
var returnId = emval_registeredMethods[signatureName];
if (returnId !== undefined) {
return returnId;
}
var params = ["retType"];
var args = [retType];
var argsList = ""; // 'arg0, arg1, arg2, ... , argN'
for (var i = 0; i < argCount - 1; ++i) {
argsList += (i !== 0 ? ", " : "") + "arg" + i;
params.push("argType" + i);
args.push(types[1 + i]);
}
var functionName = makeLegalFunctionName("methodCaller_" + signatureName);
var functionBody =
"return function " + functionName + "(handle, name, destructors, args) {\n";
var offset = 0;
for (var i = 0; i < argCount - 1; ++i) {
functionBody +=
" var arg" + i + " = argType" + i + ".readValueFromPointer(args" + (offset ? ("+"+offset) : "") + ");\n";
offset += types[i + 1]['argPackAdvance'];
}
functionBody +=
" var rv = handle[name](" + argsList + ");\n";
for (var i = 0; i < argCount - 1; ++i) {
if (types[i + 1]['deleteObject']) {
functionBody +=
" argType" + i + ".deleteObject(arg" + i + ");\n";
}
}
if (!retType.isVoid) {
functionBody +=
" return retType.toWireType(destructors, rv);\n";
}
functionBody +=
"};\n";
params.push(functionBody);
var invokerFunction = newFunc(Function, params).apply(null, args);
returnId = emval_addMethodCaller(invokerFunction);
emval_registeredMethods[signatureName] = returnId;
return returnId;
}
function __emval_get_property(handle, key) {
handle = Emval.toValue(handle);
key = Emval.toValue(key);
return Emval.toHandle(handle[key]);
}
function __emval_incref(handle) {
if (handle > 4) {
emval_handles.get(handle).refcount += 1;
}
}
function craftEmvalAllocator(argCount) {
/*This function returns a new function that looks like this:
function emval_allocator_3(constructor, argTypes, args) {
var argType0 = requireRegisteredType(HEAP32[(argTypes >> 2)], "parameter 0");
var arg0 = argType0['readValueFromPointer'](args);
var argType1 = requireRegisteredType(HEAP32[(argTypes >> 2) + 1], "parameter 1");
var arg1 = argType1['readValueFromPointer'](args + 8);
var argType2 = requireRegisteredType(HEAP32[(argTypes >> 2) + 2], "parameter 2");
var arg2 = argType2['readValueFromPointer'](args + 16);
var obj = new constructor(arg0, arg1, arg2);
return Emval.toHandle(obj);
} */
var argsList = "";
for (var i = 0; i < argCount; ++i) {
argsList += (i!==0?", ":"")+"arg"+i; // 'arg0, arg1, ..., argn'
}
// The body of the generated function does not have access to enclosing
// scope where HEAPU64/HEAPU32/etc are defined, and we cannot pass them
// directly as arguments (like we do the Module object) since memory
// growth can cause them to be re-bound.
var getMemory = () => HEAPU32;
var functionBody =
"return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n" +
" var HEAPU32 = getMemory();\n";
for (var i = 0; i < argCount; ++i) {
functionBody +=
"var argType"+i+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+i+"');\n" +
"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n" +
"args += argType"+i+"['argPackAdvance'];\n" +
"argTypes += 4;\n";
}
functionBody +=
"var obj = new constructor("+argsList+");\n" +
"return valueToHandle(obj);\n" +
"}\n";
/*jshint evil:true*/
return (new Function("requireRegisteredType", "Module", "valueToHandle", "getMemory" , functionBody))(
requireRegisteredType, Module, Emval.toHandle, getMemory);
}
var emval_newers = {
};
function __emval_new(handle, argCount, argTypes, args) {
handle = Emval.toValue(handle);
var newer = emval_newers[argCount];
if (!newer) {
newer = craftEmvalAllocator(argCount);
emval_newers[argCount] = newer;
}
return newer(handle, argTypes, args);
}
function __emval_new_array() {
return Emval.toHandle([]);
}
function __emval_new_array_from_memory_view(view) {
view = Emval.toValue(view);
// using for..loop is faster than Array.from
var a = new Array(view.length);
for (var i = 0; i < view.length; i++) a[i] = view[i];
return Emval.toHandle(a);
}
function __emval_new_cstring(v) {
return Emval.toHandle(getStringOrSymbol(v));
}
function __emval_new_object() {
return Emval.toHandle({});
}
function __emval_run_destructors(handle) {
var destructors = Emval.toValue(handle);
runDestructors(destructors);
__emval_decref(handle);
}
function __emval_set_property(handle, key, value) {
handle = Emval.toValue(handle);
key = Emval.toValue(key);
value = Emval.toValue(value);
handle[key] = value;
}
function __emval_take_value(type, arg) {
type = requireRegisteredType(type, '_emval_take_value');
var v = type['readValueFromPointer'](arg);
return Emval.toHandle(v);
}
var _abort = () => {
abort('native code called abort()');
};
var readEmAsmArgsArray = [];
var readEmAsmArgs = (sigPtr, buf) => {
// Nobody should have mutated _readEmAsmArgsArray underneath us to be something else than an array.
assert(Array.isArray(readEmAsmArgsArray));
// The input buffer is allocated on the stack, so it must be stack-aligned.
assert(buf % 16 == 0);
readEmAsmArgsArray.length = 0;
var ch;
// Most arguments are i32s, so shift the buffer pointer so it is a plain
// index into HEAP32.
buf >>= 2;
while (ch = HEAPU8[sigPtr++]) {
var chr = String.fromCharCode(ch);
var validChars = ['d', 'f', 'i'];
assert(validChars.includes(chr), `Invalid character ${ch}("${chr}") in readEmAsmArgs! Use only [${validChars}], and do not specify "v" for void return argument.`);
// Floats are always passed as doubles, and doubles and int64s take up 8
// bytes (two 32-bit slots) in memory, align reads to these:
buf += (ch != 105/*i*/) & buf;
readEmAsmArgsArray.push(
ch == 105/*i*/ ? HEAP32[buf] :
HEAPF64[buf++ >> 1]
);
++buf;
}
return readEmAsmArgsArray;
};
var runEmAsmFunction = (code, sigPtr, argbuf) => {
var args = readEmAsmArgs(sigPtr, argbuf);
if (!ASM_CONSTS.hasOwnProperty(code)) abort(`No EM_ASM constant found at address ${code}`);
return ASM_CONSTS[code].apply(null, args);
};
var _emscripten_asm_const_int = (code, sigPtr, argbuf) => {
return runEmAsmFunction(code, sigPtr, argbuf);
};
function _emscripten_date_now() {
return Date.now();
}
var _emscripten_get_now;
// Modern environment where performance.now() is supported:
// N.B. a shorter form "_emscripten_get_now = performance.now;" is
// unfortunately not allowed even in current browsers (e.g. FF Nightly 75).
_emscripten_get_now = () => performance.now();
var _emscripten_memcpy_big = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num);
var getHeapMax = () =>
// Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
// full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
// for any code that deals with heap sizes, which would require special
// casing all heap size related code to treat 0 specially.
2147483648;
var growMemory = (size) => {
var b = wasmMemory.buffer;
var pages = (size - b.byteLength + 65535) >>> 16;
try {
// round size grow request up to wasm page size (fixed 64KB per spec)
wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size
updateMemoryViews();
return 1 /*success*/;
} catch(e) {
err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`);
}
// implicit 0 return to save code size (caller will cast "undefined" into 0
// anyhow)
};
var _emscripten_resize_heap = (requestedSize) => {
var oldSize = HEAPU8.length;
// With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
requestedSize >>>= 0;
// With multithreaded builds, races can happen (another thread might increase the size
// in between), so return a failure, and let the caller retry.
assert(requestedSize > oldSize);
// Memory resize rules:
// 1. Always increase heap size to at least the requested size, rounded up
// to next page multiple.
// 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap
// geometrically: increase the heap size according to
// MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most
// overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB).
// 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap
// linearly: increase the heap size by at least
// MEMORY_GROWTH_LINEAR_STEP bytes.
// 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by
// MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest
// 4. If we were unable to allocate as much memory, it may be due to
// over-eager decision to excessively reserve due to (3) above.
// Hence if an allocation fails, cut down on the amount of excess
// growth, in an attempt to succeed to perform a smaller allocation.
// A limit is set for how much we can grow. We should not exceed that
// (the wasm binary specifies it, so if we tried, we'd fail anyhow).
var maxHeapSize = getHeapMax();
if (requestedSize > maxHeapSize) {
err(`Cannot enlarge memory, asked to go up to ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);
return false;
}
var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;
// Loop through potential heap size increases. If we attempt a too eager
// reservation that fails, cut down on the attempted size and reserve a
// smaller bump instead. (max 3 times, chosen somewhat arbitrarily)
for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth
// but limit overreserving (default to capping at +96MB overgrowth at most)
overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 );
var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
var replacement = growMemory(newSize);
if (replacement) {
return true;
}
}
err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);
return false;
};
var ENV = {
};
var getExecutableName = () => {
return thisProgram || './this.program';
};
var getEnvStrings = () => {
if (!getEnvStrings.strings) {
// Default values.
// Browser language detection #8751
var lang = ((typeof navigator == 'object' && navigator.languages && navigator.languages[0]) || 'C').replace('-', '_') + '.UTF-8';
var env = {
'USER': 'web_user',
'LOGNAME': 'web_user',
'PATH': '/',
'PWD': '/',
'HOME': '/home/web_user',
'LANG': lang,
'_': getExecutableName()
};
// Apply the user-provided values, if any.
for (var x in ENV) {
// x is a key in ENV; if ENV[x] is undefined, that means it was
// explicitly set to be so. We allow user code to do that to
// force variables with default values to remain unset.
if (ENV[x] === undefined) delete env[x];
else env[x] = ENV[x];
}
var strings = [];
for (var x in env) {
strings.push(`${x}=${env[x]}`);
}
getEnvStrings.strings = strings;
}
return getEnvStrings.strings;
};
var stringToAscii = (str, buffer) => {
for (var i = 0; i < str.length; ++i) {
assert(str.charCodeAt(i) === (str.charCodeAt(i) & 0xff));
HEAP8[((buffer++)>>0)] = str.charCodeAt(i);
}
// Null-terminate the string
HEAP8[((buffer)>>0)] = 0;
};
var _environ_get = (__environ, environ_buf) => {
var bufSize = 0;
getEnvStrings().forEach(function(string, i) {
var ptr = environ_buf + bufSize;
HEAPU32[(((__environ)+(i*4))>>2)] = ptr;
stringToAscii(string, ptr);
bufSize += string.length + 1;
});
return 0;
};
var _environ_sizes_get = (penviron_count, penviron_buf_size) => {
var strings = getEnvStrings();
HEAPU32[((penviron_count)>>2)] = strings.length;
var bufSize = 0;
strings.forEach(function(string) {
bufSize += string.length + 1;
});
HEAPU32[((penviron_buf_size)>>2)] = bufSize;
return 0;
};
function _fd_close(fd) {
try {
var stream = SYSCALLS.getStreamFromFD(fd);
FS.close(stream);
return 0;
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return e.errno;
}
}
/** @param {number=} offset */
var doReadv = (stream, iov, iovcnt, offset) => {
var ret = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAPU32[((iov)>>2)];
var len = HEAPU32[(((iov)+(4))>>2)];
iov += 8;
var curr = FS.read(stream, HEAP8,ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
if (curr < len) break; // nothing more to read
if (typeof offset !== 'undefined') {
offset += curr;
}
}
return ret;
};
function _fd_read(fd, iov, iovcnt, pnum) {
try {
var stream = SYSCALLS.getStreamFromFD(fd);
var num = doReadv(stream, iov, iovcnt);
HEAPU32[((pnum)>>2)] = num;
return 0;
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return e.errno;
}
}
function convertI32PairToI53Checked(lo, hi) {
assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32
assert(hi === (hi|0)); // hi should be a i32
return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN;
}
function _fd_seek(fd,offset_low, offset_high,whence,newOffset) {
var offset = convertI32PairToI53Checked(offset_low, offset_high);
try {
if (isNaN(offset)) return 61;
var stream = SYSCALLS.getStreamFromFD(fd);
FS.llseek(stream, offset, whence);
(tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]);
if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
return 0;
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return e.errno;
}
}
/** @param {number=} offset */
var doWritev = (stream, iov, iovcnt, offset) => {
var ret = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAPU32[((iov)>>2)];
var len = HEAPU32[(((iov)+(4))>>2)];
iov += 8;
var curr = FS.write(stream, HEAP8,ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
if (typeof offset !== 'undefined') {
offset += curr;
}
}
return ret;
};
function _fd_write(fd, iov, iovcnt, pnum) {
try {
var stream = SYSCALLS.getStreamFromFD(fd);
var num = doWritev(stream, iov, iovcnt);
HEAPU32[((pnum)>>2)] = num;
return 0;
} catch (e) {
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
return e.errno;
}
}
var isLeapYear = (year) => {
return year%4 === 0 && (year%100 !== 0 || year%400 === 0);
};
var arraySum = (array, index) => {
var sum = 0;
for (var i = 0; i <= index; sum += array[i++]) {
// no-op
}
return sum;
};
var MONTH_DAYS_LEAP = [31,29,31,30,31,30,31,31,30,31,30,31];
var MONTH_DAYS_REGULAR = [31,28,31,30,31,30,31,31,30,31,30,31];
var addDays = (date, days) => {
var newDate = new Date(date.getTime());
while (days > 0) {
var leap = isLeapYear(newDate.getFullYear());
var currentMonth = newDate.getMonth();
var daysInCurrentMonth = (leap ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR)[currentMonth];
if (days > daysInCurrentMonth-newDate.getDate()) {
// we spill over to next month
days -= (daysInCurrentMonth-newDate.getDate()+1);
newDate.setDate(1);
if (currentMonth < 11) {
newDate.setMonth(currentMonth+1);
} else {
newDate.setMonth(0);
newDate.setFullYear(newDate.getFullYear()+1);
}
} else {
// we stay in current month
newDate.setDate(newDate.getDate()+days);
return newDate;
}
}
return newDate;
};
var writeArrayToMemory = (array, buffer) => {
assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)');
HEAP8.set(array, buffer);
};
var _strftime = (s, maxsize, format, tm) => {
// size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
var tm_zone = HEAP32[(((tm)+(40))>>2)];
var date = {
tm_sec: HEAP32[((tm)>>2)],
tm_min: HEAP32[(((tm)+(4))>>2)],
tm_hour: HEAP32[(((tm)+(8))>>2)],
tm_mday: HEAP32[(((tm)+(12))>>2)],
tm_mon: HEAP32[(((tm)+(16))>>2)],
tm_year: HEAP32[(((tm)+(20))>>2)],
tm_wday: HEAP32[(((tm)+(24))>>2)],
tm_yday: HEAP32[(((tm)+(28))>>2)],
tm_isdst: HEAP32[(((tm)+(32))>>2)],
tm_gmtoff: HEAP32[(((tm)+(36))>>2)],
tm_zone: tm_zone ? UTF8ToString(tm_zone) : ''
};
var pattern = UTF8ToString(format);
// expand format
var EXPANSION_RULES_1 = {
'%c': '%a %b %d %H:%M:%S %Y', // Replaced by the locale's appropriate date and time representation - e.g., Mon Aug 3 14:02:01 2013
'%D': '%m/%d/%y', // Equivalent to %m / %d / %y
'%F': '%Y-%m-%d', // Equivalent to %Y - %m - %d
'%h': '%b', // Equivalent to %b
'%r': '%I:%M:%S %p', // Replaced by the time in a.m. and p.m. notation
'%R': '%H:%M', // Replaced by the time in 24-hour notation
'%T': '%H:%M:%S', // Replaced by the time
'%x': '%m/%d/%y', // Replaced by the locale's appropriate date representation
'%X': '%H:%M:%S', // Replaced by the locale's appropriate time representation
// Modified Conversion Specifiers
'%Ec': '%c', // Replaced by the locale's alternative appropriate date and time representation.
'%EC': '%C', // Replaced by the name of the base year (period) in the locale's alternative representation.
'%Ex': '%m/%d/%y', // Replaced by the locale's alternative date representation.
'%EX': '%H:%M:%S', // Replaced by the locale's alternative time representation.
'%Ey': '%y', // Replaced by the offset from %EC (year only) in the locale's alternative representation.
'%EY': '%Y', // Replaced by the full alternative year representation.
'%Od': '%d', // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading zeros if there is any alternative symbol for zero; otherwise, with leading <space> characters.
'%Oe': '%e', // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading <space> characters.
'%OH': '%H', // Replaced by the hour (24-hour clock) using the locale's alternative numeric symbols.
'%OI': '%I', // Replaced by the hour (12-hour clock) using the locale's alternative numeric symbols.
'%Om': '%m', // Replaced by the month using the locale's alternative numeric symbols.
'%OM': '%M', // Replaced by the minutes using the locale's alternative numeric symbols.
'%OS': '%S', // Replaced by the seconds using the locale's alternative numeric symbols.
'%Ou': '%u', // Replaced by the weekday as a number in the locale's alternative representation (Monday=1).
'%OU': '%U', // Replaced by the week number of the year (Sunday as the first day of the week, rules corresponding to %U ) using the locale's alternative numeric symbols.
'%OV': '%V', // Replaced by the week number of the year (Monday as the first day of the week, rules corresponding to %V ) using the locale's alternative numeric symbols.
'%Ow': '%w', // Replaced by the number of the weekday (Sunday=0) using the locale's alternative numeric symbols.
'%OW': '%W', // Replaced by the week number of the year (Monday as the first day of the week) using the locale's alternative numeric symbols.
'%Oy': '%y', // Replaced by the year (offset from %C ) using the locale's alternative numeric symbols.
};
for (var rule in EXPANSION_RULES_1) {
pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_1[rule]);
}
var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
function leadingSomething(value, digits, character) {
var str = typeof value == 'number' ? value.toString() : (value || '');
while (str.length < digits) {
str = character[0]+str;
}
return str;
}
function leadingNulls(value, digits) {
return leadingSomething(value, digits, '0');
}
function compareByDay(date1, date2) {
function sgn(value) {
return value < 0 ? -1 : (value > 0 ? 1 : 0);
}
var compare;
if ((compare = sgn(date1.getFullYear()-date2.getFullYear())) === 0) {
if ((compare = sgn(date1.getMonth()-date2.getMonth())) === 0) {
compare = sgn(date1.getDate()-date2.getDate());
}
}
return compare;
}
function getFirstWeekStartDate(janFourth) {
switch (janFourth.getDay()) {
case 0: // Sunday
return new Date(janFourth.getFullYear()-1, 11, 29);
case 1: // Monday
return janFourth;
case 2: // Tuesday
return new Date(janFourth.getFullYear(), 0, 3);
case 3: // Wednesday
return new Date(janFourth.getFullYear(), 0, 2);
case 4: // Thursday
return new Date(janFourth.getFullYear(), 0, 1);
case 5: // Friday
return new Date(janFourth.getFullYear()-1, 11, 31);
case 6: // Saturday
return new Date(janFourth.getFullYear()-1, 11, 30);
}
}
function getWeekBasedYear(date) {
var thisDate = addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
var janFourthNextYear = new Date(thisDate.getFullYear()+1, 0, 4);
var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
// this date is after the start of the first week of this year
if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
return thisDate.getFullYear()+1;
}
return thisDate.getFullYear();
}
return thisDate.getFullYear()-1;
}
var EXPANSION_RULES_2 = {
'%a': (date) => WEEKDAYS[date.tm_wday].substring(0,3) ,
'%A': (date) => WEEKDAYS[date.tm_wday],
'%b': (date) => MONTHS[date.tm_mon].substring(0,3),
'%B': (date) => MONTHS[date.tm_mon],
'%C': (date) => {
var year = date.tm_year+1900;
return leadingNulls((year/100)|0,2);
},
'%d': (date) => leadingNulls(date.tm_mday, 2),
'%e': (date) => leadingSomething(date.tm_mday, 2, ' '),
'%g': (date) => {
// %g, %G, and %V give values according to the ISO 8601:2000 standard week-based year.
// In this system, weeks begin on a Monday and week 1 of the year is the week that includes
// January 4th, which is also the week that includes the first Thursday of the year, and
// is also the first week that contains at least four days in the year.
// If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of
// the last week of the preceding year; thus, for Saturday 2nd January 1999,
// %G is replaced by 1998 and %V is replaced by 53. If December 29th, 30th,
// or 31st is a Monday, it and any following days are part of week 1 of the following year.
// Thus, for Tuesday 30th December 1997, %G is replaced by 1998 and %V is replaced by 01.
return getWeekBasedYear(date).toString().substring(2);
},
'%G': (date) => getWeekBasedYear(date),
'%H': (date) => leadingNulls(date.tm_hour, 2),
'%I': (date) => {
var twelveHour = date.tm_hour;
if (twelveHour == 0) twelveHour = 12;
else if (twelveHour > 12) twelveHour -= 12;
return leadingNulls(twelveHour, 2);
},
'%j': (date) => {
// Day of the year (001-366)
return leadingNulls(date.tm_mday + arraySum(isLeapYear(date.tm_year+1900) ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR, date.tm_mon-1), 3);
},
'%m': (date) => leadingNulls(date.tm_mon+1, 2),
'%M': (date) => leadingNulls(date.tm_min, 2),
'%n': () => '\n',
'%p': (date) => {
if (date.tm_hour >= 0 && date.tm_hour < 12) {
return 'AM';
}
return 'PM';
},
'%S': (date) => leadingNulls(date.tm_sec, 2),
'%t': () => '\t',
'%u': (date) => date.tm_wday || 7,
'%U': (date) => {
var days = date.tm_yday + 7 - date.tm_wday;
return leadingNulls(Math.floor(days / 7), 2);
},
'%V': (date) => {
// Replaced by the week number of the year (Monday as the first day of the week)
// as a decimal number [01,53]. If the week containing 1 January has four
// or more days in the new year, then it is considered week 1.
// Otherwise, it is the last week of the previous year, and the next week is week 1.
// Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday]
var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7 ) / 7);
// If 1 Jan is just 1-3 days past Monday, the previous week
// is also in this year.
if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {
val++;
}
if (!val) {
val = 52;
// If 31 December of prev year a Thursday, or Friday of a
// leap year, then the prev year has 53 weeks.
var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;
if (dec31 == 4 || (dec31 == 5 && isLeapYear(date.tm_year%400-1))) {
val++;
}
} else if (val == 53) {
// If 1 January is not a Thursday, and not a Wednesday of a
// leap year, then this year has only 52 weeks.
var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;
if (jan1 != 4 && (jan1 != 3 || !isLeapYear(date.tm_year)))
val = 1;
}
return leadingNulls(val, 2);
},
'%w': (date) => date.tm_wday,
'%W': (date) => {
var days = date.tm_yday + 7 - ((date.tm_wday + 6) % 7);
return leadingNulls(Math.floor(days / 7), 2);
},
'%y': (date) => {
// Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year]
return (date.tm_year+1900).toString().substring(2);
},
// Replaced by the year as a decimal number (for example, 1997). [ tm_year]
'%Y': (date) => date.tm_year+1900,
'%z': (date) => {
// Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ).
// For example, "-0430" means 4 hours 30 minutes behind UTC (west of Greenwich).
var off = date.tm_gmtoff;
var ahead = off >= 0;
off = Math.abs(off) / 60;
// convert from minutes into hhmm format (which means 60 minutes = 100 units)
off = (off / 60)*100 + (off % 60);
return (ahead ? '+' : '-') + String("0000" + off).slice(-4);
},
'%Z': (date) => date.tm_zone,
'%%': () => '%'
};
// Replace %% with a pair of NULLs (which cannot occur in a C string), then
// re-inject them after processing.
pattern = pattern.replace(/%%/g, '\0\0');
for (var rule in EXPANSION_RULES_2) {
if (pattern.includes(rule)) {
pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_2[rule](date));
}
}
pattern = pattern.replace(/\0\0/g, '%');
var bytes = intArrayFromString(pattern, false);
if (bytes.length > maxsize) {
return 0;
}
writeArrayToMemory(bytes, s);
return bytes.length-1;
};
var _strftime_l = (s, maxsize, format, tm, loc) => {
return _strftime(s, maxsize, format, tm); // no locale support yet
};
var FSNode = /** @constructor */ function(parent, name, mode, rdev) {
if (!parent) {
parent = this; // root node sets parent to itself
}
this.parent = parent;
this.mount = parent.mount;
this.mounted = null;
this.id = FS.nextInode++;
this.name = name;
this.mode = mode;
this.node_ops = {};
this.stream_ops = {};
this.rdev = rdev;
};
var readMode = 292/*292*/ | 73/*73*/;
var writeMode = 146/*146*/;
Object.defineProperties(FSNode.prototype, {
read: {
get: /** @this{FSNode} */function() {
return (this.mode & readMode) === readMode;
},
set: /** @this{FSNode} */function(val) {
val ? this.mode |= readMode : this.mode &= ~readMode;
}
},
write: {
get: /** @this{FSNode} */function() {
return (this.mode & writeMode) === writeMode;
},
set: /** @this{FSNode} */function(val) {
val ? this.mode |= writeMode : this.mode &= ~writeMode;
}
},
isFolder: {
get: /** @this{FSNode} */function() {
return FS.isDir(this.mode);
}
},
isDevice: {
get: /** @this{FSNode} */function() {
return FS.isChrdev(this.mode);
}
}
});
FS.FSNode = FSNode;
FS.createPreloadedFile = FS_createPreloadedFile;
FS.staticInit();ERRNO_CODES = {
'EPERM': 63,
'ENOENT': 44,
'ESRCH': 71,
'EINTR': 27,
'EIO': 29,
'ENXIO': 60,
'E2BIG': 1,
'ENOEXEC': 45,
'EBADF': 8,
'ECHILD': 12,
'EAGAIN': 6,
'EWOULDBLOCK': 6,
'ENOMEM': 48,
'EACCES': 2,
'EFAULT': 21,
'ENOTBLK': 105,
'EBUSY': 10,
'EEXIST': 20,
'EXDEV': 75,
'ENODEV': 43,
'ENOTDIR': 54,
'EISDIR': 31,
'EINVAL': 28,
'ENFILE': 41,
'EMFILE': 33,
'ENOTTY': 59,
'ETXTBSY': 74,
'EFBIG': 22,
'ENOSPC': 51,
'ESPIPE': 70,
'EROFS': 69,
'EMLINK': 34,
'EPIPE': 64,
'EDOM': 18,
'ERANGE': 68,
'ENOMSG': 49,
'EIDRM': 24,
'ECHRNG': 106,
'EL2NSYNC': 156,
'EL3HLT': 107,
'EL3RST': 108,
'ELNRNG': 109,
'EUNATCH': 110,
'ENOCSI': 111,
'EL2HLT': 112,
'EDEADLK': 16,
'ENOLCK': 46,
'EBADE': 113,
'EBADR': 114,
'EXFULL': 115,
'ENOANO': 104,
'EBADRQC': 103,
'EBADSLT': 102,
'EDEADLOCK': 16,
'EBFONT': 101,
'ENOSTR': 100,
'ENODATA': 116,
'ETIME': 117,
'ENOSR': 118,
'ENONET': 119,
'ENOPKG': 120,
'EREMOTE': 121,
'ENOLINK': 47,
'EADV': 122,
'ESRMNT': 123,
'ECOMM': 124,
'EPROTO': 65,
'EMULTIHOP': 36,
'EDOTDOT': 125,
'EBADMSG': 9,
'ENOTUNIQ': 126,
'EBADFD': 127,
'EREMCHG': 128,
'ELIBACC': 129,
'ELIBBAD': 130,
'ELIBSCN': 131,
'ELIBMAX': 132,
'ELIBEXEC': 133,
'ENOSYS': 52,
'ENOTEMPTY': 55,
'ENAMETOOLONG': 37,
'ELOOP': 32,
'EOPNOTSUPP': 138,
'EPFNOSUPPORT': 139,
'ECONNRESET': 15,
'ENOBUFS': 42,
'EAFNOSUPPORT': 5,
'EPROTOTYPE': 67,
'ENOTSOCK': 57,
'ENOPROTOOPT': 50,
'ESHUTDOWN': 140,
'ECONNREFUSED': 14,
'EADDRINUSE': 3,
'ECONNABORTED': 13,
'ENETUNREACH': 40,
'ENETDOWN': 38,
'ETIMEDOUT': 73,
'EHOSTDOWN': 142,
'EHOSTUNREACH': 23,
'EINPROGRESS': 26,
'EALREADY': 7,
'EDESTADDRREQ': 17,
'EMSGSIZE': 35,
'EPROTONOSUPPORT': 66,
'ESOCKTNOSUPPORT': 137,
'EADDRNOTAVAIL': 4,
'ENETRESET': 39,
'EISCONN': 30,
'ENOTCONN': 53,
'ETOOMANYREFS': 141,
'EUSERS': 136,
'EDQUOT': 19,
'ESTALE': 72,
'ENOTSUP': 138,
'ENOMEDIUM': 148,
'EILSEQ': 25,
'EOVERFLOW': 61,
'ECANCELED': 11,
'ENOTRECOVERABLE': 56,
'EOWNERDEAD': 62,
'ESTRPIPE': 135,
};embind_init_charCodes();
BindingError = Module['BindingError'] = class BindingError extends Error { constructor(message) { super(message); this.name = 'BindingError'; }};
InternalError = Module['InternalError'] = class InternalError extends Error { constructor(message) { super(message); this.name = 'InternalError'; }};
init_ClassHandle();
init_embind();init_RegisteredPointer();
UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');handleAllocatorInit();
init_emval();function checkIncomingModuleAPI() {
ignoredModuleProp('fetchSettings');
}
var wasmImports = {
__assert_fail: ___assert_fail,
__syscall_fcntl64: ___syscall_fcntl64,
__syscall_fstat64: ___syscall_fstat64,
__syscall_ioctl: ___syscall_ioctl,
__syscall_lstat64: ___syscall_lstat64,
__syscall_mkdirat: ___syscall_mkdirat,
__syscall_newfstatat: ___syscall_newfstatat,
__syscall_openat: ___syscall_openat,
__syscall_stat64: ___syscall_stat64,
__throw_exception_with_stack_trace: ___throw_exception_with_stack_trace,
_embind_register_bigint: __embind_register_bigint,
_embind_register_bool: __embind_register_bool,
_embind_register_class: __embind_register_class,
_embind_register_class_class_function: __embind_register_class_class_function,
_embind_register_class_constructor: __embind_register_class_constructor,
_embind_register_class_function: __embind_register_class_function,
_embind_register_emval: __embind_register_emval,
_embind_register_float: __embind_register_float,
_embind_register_function: __embind_register_function,
_embind_register_integer: __embind_register_integer,
_embind_register_memory_view: __embind_register_memory_view,
_embind_register_std_string: __embind_register_std_string,
_embind_register_std_wstring: __embind_register_std_wstring,
_embind_register_void: __embind_register_void,
_emscripten_get_now_is_monotonic: __emscripten_get_now_is_monotonic,
_emval_as: __emval_as,
_emval_call_method: __emval_call_method,
_emval_call_void_method: __emval_call_void_method,
_emval_decref: __emval_decref,
_emval_get_global: __emval_get_global,
_emval_get_method_caller: __emval_get_method_caller,
_emval_get_property: __emval_get_property,
_emval_incref: __emval_incref,
_emval_new: __emval_new,
_emval_new_array: __emval_new_array,
_emval_new_array_from_memory_view: __emval_new_array_from_memory_view,
_emval_new_cstring: __emval_new_cstring,
_emval_new_object: __emval_new_object,
_emval_run_destructors: __emval_run_destructors,
_emval_set_property: __emval_set_property,
_emval_take_value: __emval_take_value,
abort: _abort,
emscripten_asm_const_int: _emscripten_asm_const_int,
emscripten_date_now: _emscripten_date_now,
emscripten_get_now: _emscripten_get_now,
emscripten_memcpy_big: _emscripten_memcpy_big,
emscripten_resize_heap: _emscripten_resize_heap,
environ_get: _environ_get,
environ_sizes_get: _environ_sizes_get,
fd_close: _fd_close,
fd_read: _fd_read,
fd_seek: _fd_seek,
fd_write: _fd_write,
strftime_l: _strftime_l,
syncIdb_js: syncIdb_js
};
createWasm();
var _malloc = createExportWrapper('malloc');
var _free = Module['_free'] = createExportWrapper('free');
var ___getTypeName = createExportWrapper('__getTypeName');
Module['__embind_initialize_bindings'] = createExportWrapper('_embind_initialize_bindings');
var ___errno_location = createExportWrapper('__errno_location');
var _fflush = Module['_fflush'] = createExportWrapper('fflush');
var ___trap = () => (___trap = wasmExports['__trap'])();
var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])();
var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])();
var stackSave = createExportWrapper('stackSave');
var stackRestore = createExportWrapper('stackRestore');
var stackAlloc = createExportWrapper('stackAlloc');
Module['___cxa_decrement_exception_refcount'] = createExportWrapper('__cxa_decrement_exception_refcount');
Module['___cxa_increment_exception_refcount'] = createExportWrapper('__cxa_increment_exception_refcount');
var ___cxa_demangle = createExportWrapper('__cxa_demangle');
var ___thrown_object_from_unwind_exception = Module['___thrown_object_from_unwind_exception'] = createExportWrapper('__thrown_object_from_unwind_exception');
var ___get_exception_message = Module['___get_exception_message'] = createExportWrapper('__get_exception_message');
Module['dynCall_jiji'] = createExportWrapper('dynCall_jiji');
Module['dynCall_viijii'] = createExportWrapper('dynCall_viijii');
Module['dynCall_iiiiij'] = createExportWrapper('dynCall_iiiiij');
Module['dynCall_iiiiijj'] = createExportWrapper('dynCall_iiiiijj');
Module['dynCall_iiiiiijj'] = createExportWrapper('dynCall_iiiiiijj');
Module['___start_em_js'] = 46072;
Module['___stop_em_js'] = 46407;
// include: postamble.js
// === Auto-generated postamble setup entry stuff ===
// include: base64Utils.js
// Converts a string of base64 into a byte array.
// Throws error on invalid input.
function intArrayFromBase64(s) {
try {
var decoded = atob(s);
var bytes = new Uint8Array(decoded.length);
for (var i = 0 ; i < decoded.length ; ++i) {
bytes[i] = decoded.charCodeAt(i);
}
return bytes;
} catch (_) {
throw new Error('Converting base64 string to bytes failed.');
}
}
// If filename is a base64 data URI, parses and returns data (Buffer on node,
// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined.
function tryParseAsDataURI(filename) {
if (!isDataURI(filename)) {
return;
}
return intArrayFromBase64(filename.slice(dataURIPrefix.length));
}
// end include: base64Utils.js
var missingLibrarySymbols = [
'writeI53ToI64',
'writeI53ToI64Clamped',
'writeI53ToI64Signaling',
'writeI53ToU64Clamped',
'writeI53ToU64Signaling',
'readI53FromI64',
'readI53FromU64',
'convertI32PairToI53',
'convertU32PairToI53',
'exitJS',
'ydayFromDate',
'inetPton4',
'inetNtop4',
'inetPton6',
'inetNtop6',
'readSockaddr',
'writeSockaddr',
'getHostByName',
'getCallstack',
'emscriptenLog',
'convertPCtoSourceLocation',
'runMainThreadEmAsm',
'jstoi_q',
'jstoi_s',
'listenOnce',
'autoResumeAudioContext',
'handleException',
'runtimeKeepalivePush',
'runtimeKeepalivePop',
'callUserCallback',
'maybeExit',
'safeSetTimeout',
'asmjsMangle',
'getNativeTypeSize',
'STACK_SIZE',
'STACK_ALIGN',
'POINTER_SIZE',
'ASSERTIONS',
'getCFunc',
'ccall',
'cwrap',
'uleb128Encode',
'sigToWasmTypes',
'generateFuncType',
'convertJsFunctionToWasm',
'getEmptyTableSlot',
'updateTableMap',
'getFunctionAddress',
'addFunction',
'removeFunction',
'reallyNegative',
'unSign',
'strLen',
'reSign',
'formatString',
'intArrayToString',
'AsciiToString',
'stringToNewUTF8',
'registerKeyEventCallback',
'maybeCStringToJsString',
'findEventTarget',
'findCanvasEventTarget',
'getBoundingClientRect',
'fillMouseEventData',
'registerMouseEventCallback',
'registerWheelEventCallback',
'registerUiEventCallback',
'registerFocusEventCallback',
'fillDeviceOrientationEventData',
'registerDeviceOrientationEventCallback',
'fillDeviceMotionEventData',
'registerDeviceMotionEventCallback',
'screenOrientation',
'fillOrientationChangeEventData',
'registerOrientationChangeEventCallback',
'fillFullscreenChangeEventData',
'registerFullscreenChangeEventCallback',
'JSEvents_requestFullscreen',
'JSEvents_resizeCanvasForFullscreen',
'registerRestoreOldStyle',
'hideEverythingExceptGivenElement',
'restoreHiddenElements',
'setLetterbox',
'softFullscreenResizeWebGLRenderTarget',
'doRequestFullscreen',
'fillPointerlockChangeEventData',
'registerPointerlockChangeEventCallback',
'registerPointerlockErrorEventCallback',
'requestPointerLock',
'fillVisibilityChangeEventData',
'registerVisibilityChangeEventCallback',
'registerTouchEventCallback',
'fillGamepadEventData',
'registerGamepadEventCallback',
'registerBeforeUnloadEventCallback',
'fillBatteryEventData',
'battery',
'registerBatteryEventCallback',
'setCanvasElementSize',
'getCanvasElementSize',
'checkWasiClock',
'wasiRightsToMuslOFlags',
'wasiOFlagsToMuslOFlags',
'createDyncallWrapper',
'setImmediateWrapped',
'clearImmediateWrapped',
'polyfillSetImmediate',
'getPromise',
'makePromise',
'idsToPromises',
'makePromiseCallback',
'setMainLoop',
'getSocketFromFD',
'getSocketAddress',
'_setNetworkCallback',
'heapObjectForWebGLType',
'heapAccessShiftForWebGLHeap',
'webgl_enable_ANGLE_instanced_arrays',
'webgl_enable_OES_vertex_array_object',
'webgl_enable_WEBGL_draw_buffers',
'webgl_enable_WEBGL_multi_draw',
'emscriptenWebGLGet',
'computeUnpackAlignedImageSize',
'colorChannelsInGlTextureFormat',
'emscriptenWebGLGetTexPixelData',
'__glGenObject',
'emscriptenWebGLGetUniform',
'webglGetUniformLocation',
'webglPrepareUniformLocationsBeforeFirstUse',
'webglGetLeftBracePos',
'emscriptenWebGLGetVertexAttrib',
'__glGetActiveAttribOrUniform',
'writeGLArray',
'registerWebGlEventCallback',
'runAndAbortIfError',
'SDL_unicode',
'SDL_ttfContext',
'SDL_audio',
'GLFW_Window',
'ALLOC_NORMAL',
'ALLOC_STACK',
'allocate',
'writeStringToMemory',
'writeAsciiToMemory',
'registerInheritedInstance',
'unregisterInheritedInstance',
'enumReadValueFromPointer',
'validateThis',
];
missingLibrarySymbols.forEach(missingLibrarySymbol);
var unexportedSymbols = [
'run',
'addOnPreRun',
'addOnInit',
'addOnPreMain',
'addOnExit',
'addOnPostRun',
'addRunDependency',
'removeRunDependency',
'FS_createFolder',
'FS_createPath',
'FS_createDataFile',
'FS_createLazyFile',
'FS_createLink',
'FS_createDevice',
'FS_unlink',
'out',
'err',
'callMain',
'abort',
'keepRuntimeAlive',
'wasmMemory',
'wasmTable',
'wasmExports',
'stackAlloc',
'stackSave',
'stackRestore',
'getTempRet0',
'setTempRet0',
'writeStackCookie',
'checkStackCookie',
'intArrayFromBase64',
'tryParseAsDataURI',
'convertI32PairToI53Checked',
'ptrToString',
'zeroMemory',
'getHeapMax',
'growMemory',
'ENV',
'MONTH_DAYS_REGULAR',
'MONTH_DAYS_LEAP',
'MONTH_DAYS_REGULAR_CUMULATIVE',
'MONTH_DAYS_LEAP_CUMULATIVE',
'isLeapYear',
'arraySum',
'addDays',
'ERRNO_CODES',
'ERRNO_MESSAGES',
'setErrNo',
'DNS',
'Protocols',
'Sockets',
'initRandomFill',
'randomFill',
'timers',
'warnOnce',
'UNWIND_CACHE',
'readEmAsmArgsArray',
'readEmAsmArgs',
'runEmAsmFunction',
'getExecutableName',
'dynCallLegacy',
'getDynCaller',
'dynCall',
'asyncLoad',
'alignMemory',
'mmapAlloc',
'handleAllocatorInit',
'HandleAllocator',
'freeTableIndexes',
'functionsInTableMap',
'setValue',
'getValue',
'PATH',
'PATH_FS',
'UTF8Decoder',
'UTF8ArrayToString',
'UTF8ToString',
'stringToUTF8Array',
'stringToUTF8',
'lengthBytesUTF8',
'intArrayFromString',
'stringToAscii',
'UTF16Decoder',
'UTF16ToString',
'stringToUTF16',
'lengthBytesUTF16',
'UTF32ToString',
'stringToUTF32',
'lengthBytesUTF32',
'stringToUTF8OnStack',
'writeArrayToMemory',
'JSEvents',
'specialHTMLTargets',
'currentFullscreenStrategy',
'restoreOldWindowedStyle',
'demangle',
'demangleAll',
'jsStackTrace',
'stackTrace',
'ExitStatus',
'getEnvStrings',
'doReadv',
'doWritev',
'promiseMap',
'getExceptionMessageCommon',
'getCppExceptionTag',
'getCppExceptionThrownObjectFromWebAssemblyException',
'incrementExceptionRefcount',
'decrementExceptionRefcount',
'getExceptionMessage',
'Browser',
'wget',
'SYSCALLS',
'preloadPlugins',
'FS_createPreloadedFile',
'FS_modeStringToFlags',
'FS_getMode',
'FS_stdin_getChar_buffer',
'FS_stdin_getChar',
'FS',
'MEMFS',
'TTY',
'PIPEFS',
'SOCKFS',
'tempFixedLengthArray',
'miniTempWebGLFloatBuffers',
'miniTempWebGLIntBuffers',
'GL',
'emscripten_webgl_power_preferences',
'AL',
'GLUT',
'EGL',
'GLEW',
'IDBStore',
'SDL',
'SDL_gfx',
'GLFW',
'allocateUTF8',
'allocateUTF8OnStack',
'InternalError',
'BindingError',
'throwInternalError',
'throwBindingError',
'registeredTypes',
'awaitingDependencies',
'typeDependencies',
'tupleRegistrations',
'structRegistrations',
'sharedRegisterType',
'whenDependentTypesAreResolved',
'embind_charCodes',
'embind_init_charCodes',
'readLatin1String',
'getTypeName',
'heap32VectorToArray',
'requireRegisteredType',
'UnboundTypeError',
'PureVirtualError',
'init_embind',
'throwUnboundTypeError',
'ensureOverloadTable',
'exposePublicSymbol',
'replacePublicSymbol',
'extendError',
'createNamedFunction',
'embindRepr',
'registeredInstances',
'getBasestPointer',
'getInheritedInstance',
'getInheritedInstanceCount',
'getLiveInheritedInstances',
'registeredPointers',
'registerType',
'getShiftFromSize',
'integerReadValueFromPointer',
'floatReadValueFromPointer',
'simpleReadValueFromPointer',
'runDestructors',
'newFunc',
'craftInvokerFunction',
'embind__requireFunction',
'genericPointerToWireType',
'constNoSmartPtrRawPointerToWireType',
'nonConstNoSmartPtrRawPointerToWireType',
'init_RegisteredPointer',
'RegisteredPointer',
'RegisteredPointer_getPointee',
'RegisteredPointer_destructor',
'RegisteredPointer_deleteObject',
'RegisteredPointer_fromWireType',
'runDestructor',
'releaseClassHandle',
'finalizationRegistry',
'detachFinalizer_deps',
'detachFinalizer',
'attachFinalizer',
'makeClassHandle',
'init_ClassHandle',
'ClassHandle',
'ClassHandle_isAliasOf',
'throwInstanceAlreadyDeleted',
'ClassHandle_clone',
'ClassHandle_delete',
'deletionQueue',
'ClassHandle_isDeleted',
'ClassHandle_deleteLater',
'flushPendingDeletes',
'delayFunction',
'setDelayFunction',
'RegisteredClass',
'shallowCopyInternalPointer',
'downcastPointer',
'upcastPointer',
'char_0',
'char_9',
'makeLegalFunctionName',
'emval_handles',
'emval_symbols',
'init_emval',
'count_emval_handles',
'getStringOrSymbol',
'Emval',
'emval_newers',
'craftEmvalAllocator',
'emval_get_global',
'emval_lookupTypes',
'emval_allocateDestructors',
'emval_methodCallers',
'emval_addMethodCaller',
'emval_registeredMethods',
'IDBFS',
];
unexportedSymbols.forEach(unexportedRuntimeSymbol);
var calledRun;
dependenciesFulfilled = function runCaller() {
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
if (!calledRun) run();
if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
};
function stackCheckInit() {
// This is normally called automatically during __wasm_call_ctors but need to
// get these values before even running any of the ctors so we call it redundantly
// here.
_emscripten_stack_init();
// TODO(sbc): Move writeStackCookie to native to to avoid this.
writeStackCookie();
}
function run() {
if (runDependencies > 0) {
return;
}
stackCheckInit();
preRun();
// a preRun added a dependency, run will be called later
if (runDependencies > 0) {
return;
}
function doRun() {
// run may have just been called through dependencies being fulfilled just in this very frame,
// or while the async setStatus time below was happening
if (calledRun) return;
calledRun = true;
Module['calledRun'] = true;
if (ABORT) return;
initRuntime();
readyPromiseResolve(Module);
if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');
postRun();
}
if (Module['setStatus']) {
Module['setStatus']('Running...');
setTimeout(function() {
setTimeout(function() {
Module['setStatus']('');
}, 1);
doRun();
}, 1);
} else
{
doRun();
}
checkStackCookie();
}
if (Module['preInit']) {
if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
while (Module['preInit'].length > 0) {
Module['preInit'].pop()();
}
}
run();
// end include: postamble.js
return moduleArg.ready
}
);
})();
const hnswlib$2 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: hnswlib$1
}, Symbol.toStringTag, { value: 'Module' }));
exports.IDBFS_STORE_NAME = IDBFS_STORE_NAME;
exports.defaultParams = defaultParams;
exports.hnswParamsForAda = hnswParamsForAda;
exports.loadHnswlib = loadHnswlib;
exports.syncFileSystem = syncFileSystem;
exports.waitForFileSystemInitalized = waitForFileSystemInitalized;
exports.waitForFileSystemSynced = waitForFileSystemSynced;
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
}));
//# sourceMappingURL=hnswlib.umd.js.map