/*! * @pixiv/three-vrm v2.0.6 * VRM file loader for three.js. * * Copyright (c) 2019-2023 pixiv Inc. * @pixiv/three-vrm is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('three')) : typeof define === 'function' && define.amd ? define(['exports', 'three'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.THREE_VRM = {}, global.THREE)); })(this, (function (exports, THREE) { 'use strict'; function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n["default"] = e; return Object.freeze(n); } var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE); /*! * @pixiv/three-vrm-core v2.0.6 * The implementation of core features of VRM, for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-core is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ // animationMixer の監視対象は、Scene の中に入っている必要がある。 // そのため、表示オブジェクトではないけれど、Object3D を継承して Scene に投入できるようにする。 class VRMExpression extends THREE__namespace.Object3D { /** * A value represents how much it should override blink expressions. * `0.0` == no override at all, `1.0` == completely block the expressions. */ get overrideBlinkAmount() { if (this.overrideBlink === 'block') { return 0.0 < this.weight ? 1.0 : 0.0; } else if (this.overrideBlink === 'blend') { return this.weight; } else { return 0.0; } } /** * A value represents how much it should override lookAt expressions. * `0.0` == no override at all, `1.0` == completely block the expressions. */ get overrideLookAtAmount() { if (this.overrideLookAt === 'block') { return 0.0 < this.weight ? 1.0 : 0.0; } else if (this.overrideLookAt === 'blend') { return this.weight; } else { return 0.0; } } /** * A value represents how much it should override mouth expressions. * `0.0` == no override at all, `1.0` == completely block the expressions. */ get overrideMouthAmount() { if (this.overrideMouth === 'block') { return 0.0 < this.weight ? 1.0 : 0.0; } else if (this.overrideMouth === 'blend') { return this.weight; } else { return 0.0; } } constructor(expressionName) { super(); /** * The current weight of the expression. */ this.weight = 0.0; /** * Interpret values greater than 0.5 as 1.0, ortherwise 0.0. */ this.isBinary = false; /** * Specify how the expression overrides blink expressions. */ this.overrideBlink = 'none'; /** * Specify how the expression overrides lookAt expressions. */ this.overrideLookAt = 'none'; /** * Specify how the expression overrides mouth expressions. */ this.overrideMouth = 'none'; this._binds = []; this.name = `VRMExpression_${expressionName}`; this.expressionName = expressionName; // traverse 時の救済手段として Object3D ではないことを明示しておく this.type = 'VRMExpression'; // 表示目的のオブジェクトではないので、負荷軽減のために visible を false にしておく。 // これにより、このインスタンスに対する毎フレームの matrix 自動計算を省略できる。 this.visible = false; } addBind(bind) { this._binds.push(bind); } /** * Apply weight to every assigned blend shapes. * Should be called every frame. */ applyWeight(options) { var _a; let actualWeight = this.isBinary ? (this.weight <= 0.5 ? 0.0 : 1.0) : this.weight; actualWeight *= (_a = options === null || options === void 0 ? void 0 : options.multiplier) !== null && _a !== void 0 ? _a : 1.0; this._binds.forEach((bind) => bind.applyWeight(actualWeight)); } /** * Clear previously assigned blend shapes. */ clearAppliedWeight() { this._binds.forEach((bind) => bind.clearAppliedWeight()); } } /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$6(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function extractPrimitivesInternal(gltf, nodeIndex, node) { var _a, _b; const json = gltf.parser.json; /** * Let's list up every possible patterns that parsed gltf nodes with a mesh can have,,, * * "*" indicates that those meshes should be listed up using this function * * ### A node with a (mesh, a signle primitive) * * - `THREE.Mesh`: The only primitive of the mesh * * * ### A node with a (mesh, multiple primitives) * * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * * ### A node with a (mesh, multiple primitives) AND (a child with a mesh, a single primitive) * * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * - `THREE.Mesh`: A primitive of a MESH OF THE CHILD * * ### A node with a (mesh, multiple primitives) AND (a child with a mesh, multiple primitives) * * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * - `THREE.Group`: The root of a MESH OF THE CHILD * - `THREE.Mesh`: A primitive of the mesh of the child * - `THREE.Mesh`: A primitive of the mesh of the child (2) * * ### A node with a (mesh, multiple primitives) BUT the node is a bone * * - `THREE.Bone`: The root of the node, as a bone * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * * ### A node with a (mesh, multiple primitives) AND (a child with a mesh, multiple primitives) BUT the node is a bone * * - `THREE.Bone`: The root of the node, as a bone * - `THREE.Group`: The root of the mesh * - `THREE.Mesh`: A primitive of the mesh * * - `THREE.Mesh`: A primitive of the mesh (2) * * - `THREE.Group`: The root of a MESH OF THE CHILD * - `THREE.Mesh`: A primitive of the mesh of the child * - `THREE.Mesh`: A primitive of the mesh of the child (2) * * ...I will take a strategy that traverses the root of the node and take first (primitiveCount) meshes. */ // Make sure that the node has a mesh const schemaNode = (_a = json.nodes) === null || _a === void 0 ? void 0 : _a[nodeIndex]; if (schemaNode == null) { console.warn(`extractPrimitivesInternal: Attempt to use nodes[${nodeIndex}] of glTF but the node doesn't exist`); return null; } const meshIndex = schemaNode.mesh; if (meshIndex == null) { return null; } // How many primitives the mesh has? const schemaMesh = (_b = json.meshes) === null || _b === void 0 ? void 0 : _b[meshIndex]; if (schemaMesh == null) { console.warn(`extractPrimitivesInternal: Attempt to use meshes[${meshIndex}] of glTF but the mesh doesn't exist`); return null; } const primitiveCount = schemaMesh.primitives.length; // Traverse the node and take first (primitiveCount) meshes const primitives = []; node.traverse((object) => { if (primitives.length < primitiveCount) { if (object.isMesh) { primitives.push(object); } } }); return primitives; } /** * Extract primitives ( `THREE.Mesh[]` ) of a node from a loaded GLTF. * The main purpose of this function is to distinguish primitives and children from a node that has both meshes and children. * * It utilizes the behavior that GLTFLoader adds mesh primitives to the node object ( `THREE.Group` ) first then adds its children. * * @param gltf A GLTF object taken from GLTFLoader * @param nodeIndex The index of the node */ function gltfExtractPrimitivesFromNode(gltf, nodeIndex) { return __awaiter$6(this, void 0, void 0, function* () { const node = yield gltf.parser.getDependency('node', nodeIndex); return extractPrimitivesInternal(gltf, nodeIndex, node); }); } /** * Extract primitives ( `THREE.Mesh[]` ) of nodes from a loaded GLTF. * See {@link gltfExtractPrimitivesFromNode} for more details. * * It returns a map from node index to extraction result. * If a node does not have a mesh, the entry for the node will not be put in the returning map. * * @param gltf A GLTF object taken from GLTFLoader */ function gltfExtractPrimitivesFromNodes(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const nodes = yield gltf.parser.getDependencies('node'); const map = new Map(); nodes.forEach((node, index) => { const result = extractPrimitivesInternal(gltf, index, node); if (result != null) { map.set(index, result); } }); return map; }); } /** * Get a material definition index of glTF from associated material. * It's basically a comat code between Three.js r133 or above and previous versions. * @param parser GLTFParser * @param material A material of gltf * @returns Material definition index of glTF */ function gltfGetAssociatedMaterialIndex(parser, material) { var _a, _b; const threeRevision = parseInt(THREE__namespace.REVISION, 10); let index = null; if (threeRevision >= 133) { index = (_b = (_a = parser.associations.get(material)) === null || _a === void 0 ? void 0 : _a.materials) !== null && _b !== void 0 ? _b : null; } else { const associations = parser.associations; const reference = associations.get(material); if ((reference === null || reference === void 0 ? void 0 : reference.type) === 'materials') { index = reference.index; } } return index; } /* eslint-disable @typescript-eslint/naming-convention */ const VRMExpressionPresetName = { Aa: 'aa', Ih: 'ih', Ou: 'ou', Ee: 'ee', Oh: 'oh', Blink: 'blink', Happy: 'happy', Angry: 'angry', Sad: 'sad', Relaxed: 'relaxed', LookUp: 'lookUp', Surprised: 'surprised', LookDown: 'lookDown', LookLeft: 'lookLeft', LookRight: 'lookRight', BlinkLeft: 'blinkLeft', BlinkRight: 'blinkRight', Neutral: 'neutral', }; /** * Clamp the input value within [0.0 - 1.0]. * * @param value The input value */ function saturate(value) { return Math.max(Math.min(value, 1.0), 0.0); } class VRMExpressionManager { get expressions() { return this._expressions.concat(); } get expressionMap() { return Object.assign({}, this._expressionMap); } /** * A map from name to expression, but excluding custom expressions. */ get presetExpressionMap() { const result = {}; const presetNameSet = new Set(Object.values(VRMExpressionPresetName)); Object.entries(this._expressionMap).forEach(([name, expression]) => { if (presetNameSet.has(name)) { result[name] = expression; } }); return result; } /** * A map from name to expression, but excluding preset expressions. */ get customExpressionMap() { const result = {}; const presetNameSet = new Set(Object.values(VRMExpressionPresetName)); Object.entries(this._expressionMap).forEach(([name, expression]) => { if (!presetNameSet.has(name)) { result[name] = expression; } }); return result; } /** * Create a new {@link VRMExpressionManager}. */ constructor() { /** * A set of name or preset name of expressions that will be overridden by {@link VRMExpression.overrideBlink}. */ this.blinkExpressionNames = ['blink', 'blinkLeft', 'blinkRight']; /** * A set of name or preset name of expressions that will be overridden by {@link VRMExpression.overrideLookAt}. */ this.lookAtExpressionNames = ['lookLeft', 'lookRight', 'lookUp', 'lookDown']; /** * A set of name or preset name of expressions that will be overridden by {@link VRMExpression.overrideMouth}. */ this.mouthExpressionNames = ['aa', 'ee', 'ih', 'oh', 'ou']; /** * A set of {@link VRMExpression}. * When you want to register expressions, use {@link registerExpression} */ this._expressions = []; /** * A map from name to expression. */ this._expressionMap = {}; // do nothing } /** * Copy the given {@link VRMExpressionManager} into this one. * @param source The {@link VRMExpressionManager} you want to copy * @returns this */ copy(source) { // first unregister all the expression it has const expressions = this._expressions.concat(); expressions.forEach((expression) => { this.unregisterExpression(expression); }); // then register all the expression of the source source._expressions.forEach((expression) => { this.registerExpression(expression); }); // copy remaining members this.blinkExpressionNames = source.blinkExpressionNames.concat(); this.lookAtExpressionNames = source.lookAtExpressionNames.concat(); this.mouthExpressionNames = source.mouthExpressionNames.concat(); return this; } /** * Returns a clone of this {@link VRMExpressionManager}. * @returns Copied {@link VRMExpressionManager} */ clone() { return new VRMExpressionManager().copy(this); } /** * Return a registered expression. * If it cannot find an expression, it will return `null` instead. * * @param name Name or preset name of the expression */ getExpression(name) { var _a; return (_a = this._expressionMap[name]) !== null && _a !== void 0 ? _a : null; } /** * Register an expression. * * @param expression {@link VRMExpression} that describes the expression */ registerExpression(expression) { this._expressions.push(expression); this._expressionMap[expression.expressionName] = expression; } /** * Unregister an expression. * * @param expression The expression you want to unregister */ unregisterExpression(expression) { const index = this._expressions.indexOf(expression); if (index === -1) { console.warn('VRMExpressionManager: The specified expressions is not registered'); } this._expressions.splice(index, 1); delete this._expressionMap[expression.expressionName]; } /** * Get the current weight of the specified expression. * If it doesn't have an expression of given name, it will return `null` instead. * * @param name Name of the expression */ getValue(name) { var _a; const expression = this.getExpression(name); return (_a = expression === null || expression === void 0 ? void 0 : expression.weight) !== null && _a !== void 0 ? _a : null; } /** * Set a weight to the specified expression. * * @param name Name of the expression * @param weight Weight */ setValue(name, weight) { const expression = this.getExpression(name); if (expression) { expression.weight = saturate(weight); } } /** * Get a track name of specified expression. * This track name is needed to manipulate its expression via keyframe animations. * * @example Manipulate an expression using keyframe animation * ```js * const trackName = vrm.expressionManager.getExpressionTrackName( 'blink' ); * const track = new THREE.NumberKeyframeTrack( * name, * [ 0.0, 0.5, 1.0 ], // times * [ 0.0, 1.0, 0.0 ] // values * ); * * const clip = new THREE.AnimationClip( * 'blink', // name * 1.0, // duration * [ track ] // tracks * ); * * const mixer = new THREE.AnimationMixer( vrm.scene ); * const action = mixer.clipAction( clip ); * action.play(); * ``` * * @param name Name of the expression */ getExpressionTrackName(name) { const expression = this.getExpression(name); return expression ? `${expression.name}.weight` : null; } /** * Update every expressions. */ update() { // see how much we should override certain expressions const weightMultipliers = this._calculateWeightMultipliers(); // reset expression binds first this._expressions.forEach((expression) => { expression.clearAppliedWeight(); }); // then apply binds this._expressions.forEach((expression) => { let multiplier = 1.0; const name = expression.expressionName; if (this.blinkExpressionNames.indexOf(name) !== -1) { multiplier *= weightMultipliers.blink; } if (this.lookAtExpressionNames.indexOf(name) !== -1) { multiplier *= weightMultipliers.lookAt; } if (this.mouthExpressionNames.indexOf(name) !== -1) { multiplier *= weightMultipliers.mouth; } expression.applyWeight({ multiplier }); }); } /** * Calculate sum of override amounts to see how much we should multiply weights of certain expressions. */ _calculateWeightMultipliers() { let blink = 1.0; let lookAt = 1.0; let mouth = 1.0; this._expressions.forEach((expression) => { blink -= expression.overrideBlinkAmount; lookAt -= expression.overrideLookAtAmount; mouth -= expression.overrideMouthAmount; }); blink = Math.max(0.0, blink); lookAt = Math.max(0.0, lookAt); mouth = Math.max(0.0, mouth); return { blink, lookAt, mouth }; } } /* eslint-disable @typescript-eslint/naming-convention */ const VRMExpressionMaterialColorType = { Color: 'color', EmissionColor: 'emissionColor', ShadeColor: 'shadeColor', MatcapColor: 'matcapColor', RimColor: 'rimColor', OutlineColor: 'outlineColor', }; const v0ExpressionMaterialColorMap = { _Color: VRMExpressionMaterialColorType.Color, _EmissionColor: VRMExpressionMaterialColorType.EmissionColor, _ShadeColor: VRMExpressionMaterialColorType.ShadeColor, _RimColor: VRMExpressionMaterialColorType.RimColor, _OutlineColor: VRMExpressionMaterialColorType.OutlineColor, }; const _color = new THREE__namespace.Color(); /** * A bind of expression influences to a material color. */ class VRMExpressionMaterialColorBind { constructor({ material, type, targetValue, }) { var _a, _b, _c; this.material = material; this.type = type; this.targetValue = targetValue; // init property name const propertyNameMap = (_a = Object.entries(VRMExpressionMaterialColorBind._propertyNameMapMap).find(([distinguisher]) => { return material[distinguisher] === true; })) === null || _a === void 0 ? void 0 : _a[1]; const propertyName = (_b = propertyNameMap === null || propertyNameMap === void 0 ? void 0 : propertyNameMap[type]) !== null && _b !== void 0 ? _b : null; if (propertyName == null) { console.warn(`Tried to add a material color bind to the material ${(_c = material.name) !== null && _c !== void 0 ? _c : '(no name)'}, the type ${type} but the material or the type is not supported.`); this._state = null; } else { const target = material[propertyName]; const initialValue = target.clone(); // 負の値を保持するためにColor.subを使わずに差分を計算する const deltaValue = new THREE__namespace.Color(targetValue.r - initialValue.r, targetValue.g - initialValue.g, targetValue.b - initialValue.b); this._state = { propertyName, initialValue, deltaValue, }; } } applyWeight(weight) { if (this._state == null) { // warning is already emitted in constructor return; } const { propertyName, deltaValue } = this._state; const target = this.material[propertyName]; if (target === undefined) { return; } // TODO: we should kick this at `addMaterialValue` target.add(_color.copy(deltaValue).multiplyScalar(weight)); if (typeof this.material.shouldApplyUniforms === 'boolean') { this.material.shouldApplyUniforms = true; } } clearAppliedWeight() { if (this._state == null) { // warning is already emitted in constructor return; } const { propertyName, initialValue } = this._state; const target = this.material[propertyName]; if (target === undefined) { return; } // TODO: we should kick this at `addMaterialValue` target.copy(initialValue); if (typeof this.material.shouldApplyUniforms === 'boolean') { this.material.shouldApplyUniforms = true; } } } /** * Mapping of property names from VRMC/materialColorBinds.type to three.js/Material. */ VRMExpressionMaterialColorBind._propertyNameMapMap = { isMeshStandardMaterial: { color: 'color', emissionColor: 'emissive', }, isMeshBasicMaterial: { color: 'color', }, isMToonMaterial: { color: 'color', emissionColor: 'emissive', outlineColor: 'outlineColorFactor', matcapColor: 'matcapFactor', rimColor: 'parametricRimColorFactor', shadeColor: 'shadeColorFactor', }, }; /** * A bind of {@link VRMExpression} influences to morph targets. */ class VRMExpressionMorphTargetBind { constructor({ primitives, index, weight, }) { this.primitives = primitives; this.index = index; this.weight = weight; } applyWeight(weight) { this.primitives.forEach((mesh) => { var _a; if (((_a = mesh.morphTargetInfluences) === null || _a === void 0 ? void 0 : _a[this.index]) != null) { mesh.morphTargetInfluences[this.index] += this.weight * weight; } }); } clearAppliedWeight() { this.primitives.forEach((mesh) => { var _a; if (((_a = mesh.morphTargetInfluences) === null || _a === void 0 ? void 0 : _a[this.index]) != null) { mesh.morphTargetInfluences[this.index] = 0.0; } }); } } const _v2 = new THREE__namespace.Vector2(); /** * A bind of expression influences to texture transforms. */ class VRMExpressionTextureTransformBind { constructor({ material, scale, offset, }) { var _a, _b; this.material = material; this.scale = scale; this.offset = offset; const propertyNames = (_a = Object.entries(VRMExpressionTextureTransformBind._propertyNamesMap).find(([distinguisher]) => { return material[distinguisher] === true; })) === null || _a === void 0 ? void 0 : _a[1]; if (propertyNames == null) { console.warn(`Tried to add a texture transform bind to the material ${(_b = material.name) !== null && _b !== void 0 ? _b : '(no name)'} but the material is not supported.`); this._properties = []; } else { this._properties = []; propertyNames.forEach((propertyName) => { var _a; const texture = (_a = material[propertyName]) === null || _a === void 0 ? void 0 : _a.clone(); if (!texture) { return null; } material[propertyName] = texture; // because the texture is cloned const initialOffset = texture.offset.clone(); const initialScale = texture.repeat.clone(); const deltaOffset = offset.clone().sub(initialOffset); const deltaScale = scale.clone().sub(initialScale); this._properties.push({ name: propertyName, initialOffset, deltaOffset, initialScale, deltaScale, }); }); } } applyWeight(weight) { this._properties.forEach((property) => { const target = this.material[property.name]; if (target === undefined) { return; } // TODO: we should kick this at `addMaterialValue` target.offset.add(_v2.copy(property.deltaOffset).multiplyScalar(weight)); target.repeat.add(_v2.copy(property.deltaScale).multiplyScalar(weight)); target.needsUpdate = true; }); } clearAppliedWeight() { this._properties.forEach((property) => { const target = this.material[property.name]; if (target === undefined) { return; } // TODO: we should kick this at `addMaterialValue` target.offset.copy(property.initialOffset); target.repeat.copy(property.initialScale); target.needsUpdate = true; }); } } VRMExpressionTextureTransformBind._propertyNamesMap = { isMeshStandardMaterial: [ 'map', 'emissiveMap', 'bumpMap', 'normalMap', 'displacementMap', 'roughnessMap', 'metalnessMap', 'alphaMap', ], isMeshBasicMaterial: ['map', 'specularMap', 'alphaMap'], isMToonMaterial: [ 'map', 'normalMap', 'emissiveMap', 'shadeMultiplyTexture', 'rimMultiplyTexture', 'outlineWidthMultiplyTexture', 'uvAnimationMaskTexture', ], }; /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$4 = new Set(['1.0', '1.0-beta']); /** * A plugin of GLTFLoader that imports a {@link VRMExpressionManager} from a VRM extension of a GLTF. */ class VRMExpressionLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMExpressionLoaderPlugin'; } constructor(parser) { this.parser = parser; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { gltf.userData.vrmExpressionManager = yield this._import(gltf); }); } /** * Import a {@link VRMExpressionManager} from a VRM. * * @param gltf A parsed result of GLTF taken from GLTFLoader */ _import(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const v1Result = yield this._v1Import(gltf); if (v1Result) { return v1Result; } const v0Result = yield this._v0Import(gltf); if (v0Result) { return v0Result; } return null; }); } _v1Import(gltf) { var _a, _b; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$4.has(specVersion)) { console.warn(`VRMExpressionLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaExpressions = extension.expressions; if (!schemaExpressions) { return null; } // list expressions const presetNameSet = new Set(Object.values(VRMExpressionPresetName)); const nameSchemaExpressionMap = new Map(); if (schemaExpressions.preset != null) { Object.entries(schemaExpressions.preset).forEach(([name, schemaExpression]) => { if (schemaExpression == null) { return; } // typescript if (!presetNameSet.has(name)) { console.warn(`VRMExpressionLoaderPlugin: Unknown preset name "${name}" detected. Ignoring the expression`); return; } nameSchemaExpressionMap.set(name, schemaExpression); }); } if (schemaExpressions.custom != null) { Object.entries(schemaExpressions.custom).forEach(([name, schemaExpression]) => { if (presetNameSet.has(name)) { console.warn(`VRMExpressionLoaderPlugin: Custom expression cannot have preset name "${name}". Ignoring the expression`); return; } nameSchemaExpressionMap.set(name, schemaExpression); }); } // prepare manager const manager = new VRMExpressionManager(); // load expressions yield Promise.all(Array.from(nameSchemaExpressionMap.entries()).map(([name, schemaExpression]) => __awaiter$6(this, void 0, void 0, function* () { var _c, _d, _e, _f, _g, _h, _j; const expression = new VRMExpression(name); gltf.scene.add(expression); expression.isBinary = (_c = schemaExpression.isBinary) !== null && _c !== void 0 ? _c : false; expression.overrideBlink = (_d = schemaExpression.overrideBlink) !== null && _d !== void 0 ? _d : 'none'; expression.overrideLookAt = (_e = schemaExpression.overrideLookAt) !== null && _e !== void 0 ? _e : 'none'; expression.overrideMouth = (_f = schemaExpression.overrideMouth) !== null && _f !== void 0 ? _f : 'none'; (_g = schemaExpression.morphTargetBinds) === null || _g === void 0 ? void 0 : _g.forEach((bind) => __awaiter$6(this, void 0, void 0, function* () { var _k; if (bind.node === undefined || bind.index === undefined) { return; } const primitives = (yield gltfExtractPrimitivesFromNode(gltf, bind.node)); const morphTargetIndex = bind.index; // check if the mesh has the target morph target if (!primitives.every((primitive) => Array.isArray(primitive.morphTargetInfluences) && morphTargetIndex < primitive.morphTargetInfluences.length)) { console.warn(`VRMExpressionLoaderPlugin: ${schemaExpression.name} attempts to index morph #${morphTargetIndex} but not found.`); return; } expression.addBind(new VRMExpressionMorphTargetBind({ primitives, index: morphTargetIndex, weight: (_k = bind.weight) !== null && _k !== void 0 ? _k : 1.0, })); })); if (schemaExpression.materialColorBinds || schemaExpression.textureTransformBinds) { // list up every material in `gltf.scene` const gltfMaterials = []; gltf.scene.traverse((object) => { const material = object.material; if (material) { gltfMaterials.push(material); } }); (_h = schemaExpression.materialColorBinds) === null || _h === void 0 ? void 0 : _h.forEach((bind) => __awaiter$6(this, void 0, void 0, function* () { const materials = gltfMaterials.filter((material) => { const materialIndex = gltfGetAssociatedMaterialIndex(this.parser, material); return bind.material === materialIndex; }); materials.forEach((material) => { expression.addBind(new VRMExpressionMaterialColorBind({ material, type: bind.type, targetValue: new THREE__namespace.Color().fromArray(bind.targetValue), })); }); })); (_j = schemaExpression.textureTransformBinds) === null || _j === void 0 ? void 0 : _j.forEach((bind) => __awaiter$6(this, void 0, void 0, function* () { const materials = gltfMaterials.filter((material) => { const materialIndex = gltfGetAssociatedMaterialIndex(this.parser, material); return bind.material === materialIndex; }); materials.forEach((material) => { var _a, _b; expression.addBind(new VRMExpressionTextureTransformBind({ material, offset: new THREE__namespace.Vector2().fromArray((_a = bind.offset) !== null && _a !== void 0 ? _a : [0.0, 0.0]), scale: new THREE__namespace.Vector2().fromArray((_b = bind.scale) !== null && _b !== void 0 ? _b : [1.0, 1.0]), })); }); })); } manager.registerExpression(expression); }))); return manager; }); } _v0Import(gltf) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaBlendShape = vrmExt.blendShapeMaster; if (!schemaBlendShape) { return null; } const manager = new VRMExpressionManager(); const schemaBlendShapeGroups = schemaBlendShape.blendShapeGroups; if (!schemaBlendShapeGroups) { return manager; } const blendShapeNameSet = new Set(); yield Promise.all(schemaBlendShapeGroups.map((schemaGroup) => __awaiter$6(this, void 0, void 0, function* () { var _b; const v0PresetName = schemaGroup.presetName; const v1PresetName = (v0PresetName != null && VRMExpressionLoaderPlugin.v0v1PresetNameMap[v0PresetName]) || null; const name = v1PresetName !== null && v1PresetName !== void 0 ? v1PresetName : schemaGroup.name; if (name == null) { console.warn('VRMExpressionLoaderPlugin: One of custom expressions has no name. Ignoring the expression'); return; } // duplication check if (blendShapeNameSet.has(name)) { console.warn(`VRMExpressionLoaderPlugin: An expression preset ${v0PresetName} has duplicated entries. Ignoring the expression`); return; } blendShapeNameSet.add(name); const expression = new VRMExpression(name); gltf.scene.add(expression); expression.isBinary = (_b = schemaGroup.isBinary) !== null && _b !== void 0 ? _b : false; // v0 doesn't have ignore properties // Bind morphTarget if (schemaGroup.binds) { schemaGroup.binds.forEach((bind) => __awaiter$6(this, void 0, void 0, function* () { var _c; if (bind.mesh === undefined || bind.index === undefined) { return; } const nodesUsingMesh = []; (_c = json.nodes) === null || _c === void 0 ? void 0 : _c.forEach((node, i) => { if (node.mesh === bind.mesh) { nodesUsingMesh.push(i); } }); const morphTargetIndex = bind.index; yield Promise.all(nodesUsingMesh.map((nodeIndex) => __awaiter$6(this, void 0, void 0, function* () { var _d; const primitives = (yield gltfExtractPrimitivesFromNode(gltf, nodeIndex)); // check if the mesh has the target morph target if (!primitives.every((primitive) => Array.isArray(primitive.morphTargetInfluences) && morphTargetIndex < primitive.morphTargetInfluences.length)) { console.warn(`VRMExpressionLoaderPlugin: ${schemaGroup.name} attempts to index ${morphTargetIndex}th morph but not found.`); return; } expression.addBind(new VRMExpressionMorphTargetBind({ primitives, index: morphTargetIndex, weight: 0.01 * ((_d = bind.weight) !== null && _d !== void 0 ? _d : 100), // narrowing the range from [ 0.0 - 100.0 ] to [ 0.0 - 1.0 ] })); }))); })); } // Bind MaterialColor and TextureTransform const materialValues = schemaGroup.materialValues; if (materialValues && materialValues.length !== 0) { materialValues.forEach((materialValue) => { if (materialValue.materialName === undefined || materialValue.propertyName === undefined || materialValue.targetValue === undefined) { return; } /** * アバターのオブジェクトに設定されているマテリアルの内から * materialValueで指定されているマテリアルを集める。 * * 特定には名前を使用する。 * アウトライン描画用のマテリアルも同時に集める。 */ const materials = []; gltf.scene.traverse((object) => { if (object.material) { const material = object.material; if (Array.isArray(material)) { materials.push(...material.filter((mtl) => (mtl.name === materialValue.materialName || mtl.name === materialValue.materialName + ' (Outline)') && materials.indexOf(mtl) === -1)); } else if (material.name === materialValue.materialName && materials.indexOf(material) === -1) { materials.push(material); } } }); const materialPropertyName = materialValue.propertyName; materials.forEach((material) => { // TextureTransformBind if (materialPropertyName === '_MainTex_ST') { const scale = new THREE__namespace.Vector2(materialValue.targetValue[0], materialValue.targetValue[1]); const offset = new THREE__namespace.Vector2(materialValue.targetValue[2], materialValue.targetValue[3]); offset.y = 1.0 - offset.y - scale.y; expression.addBind(new VRMExpressionTextureTransformBind({ material, scale, offset, })); return; } // MaterialColorBind const materialColorType = v0ExpressionMaterialColorMap[materialPropertyName]; if (materialColorType) { expression.addBind(new VRMExpressionMaterialColorBind({ material, type: materialColorType, targetValue: new THREE__namespace.Color(...materialValue.targetValue.slice(0, 3)), })); return; } console.warn(materialPropertyName + ' is not supported'); }); }); } manager.registerExpression(expression); }))); return manager; }); } } VRMExpressionLoaderPlugin.v0v1PresetNameMap = { a: 'aa', e: 'ee', i: 'ih', o: 'oh', u: 'ou', blink: 'blink', joy: 'happy', angry: 'angry', sorrow: 'sad', fun: 'relaxed', lookup: 'lookUp', lookdown: 'lookDown', lookleft: 'lookLeft', lookright: 'lookRight', // eslint-disable-next-line @typescript-eslint/naming-convention blink_l: 'blinkLeft', // eslint-disable-next-line @typescript-eslint/naming-convention blink_r: 'blinkRight', neutral: 'neutral', }; /* eslint-disable @typescript-eslint/naming-convention */ const VRMExpressionOverrideType = { None: 'none', Block: 'block', Blend: 'blend', }; class VRMFirstPerson { /** * Create a new VRMFirstPerson object. * * @param humanoid A {@link VRMHumanoid} * @param meshAnnotations A renderer settings. See the description of [[RendererFirstPersonFlags]] for more info */ constructor(humanoid, meshAnnotations) { this._firstPersonOnlyLayer = VRMFirstPerson.DEFAULT_FIRSTPERSON_ONLY_LAYER; this._thirdPersonOnlyLayer = VRMFirstPerson.DEFAULT_THIRDPERSON_ONLY_LAYER; this._initializedLayers = false; this.humanoid = humanoid; this.meshAnnotations = meshAnnotations; } /** * Copy the given {@link VRMFirstPerson} into this one. * {@link humanoid} must be same as the source one. * @param source The {@link VRMFirstPerson} you want to copy * @returns this */ copy(source) { if (this.humanoid !== source.humanoid) { throw new Error('VRMFirstPerson: humanoid must be same in order to copy'); } this.meshAnnotations = source.meshAnnotations.map((annotation) => ({ meshes: annotation.meshes.concat(), type: annotation.type, })); return this; } /** * Returns a clone of this {@link VRMFirstPerson}. * @returns Copied {@link VRMFirstPerson} */ clone() { return new VRMFirstPerson(this.humanoid, this.meshAnnotations).copy(this); } /** * A camera layer represents `FirstPersonOnly` layer. * Note that **you must call {@link setup} first before you use the layer feature** or it does not work properly. * * The value is {@link DEFAULT_FIRSTPERSON_ONLY_LAYER} by default but you can change the layer by specifying via {@link setup} if you prefer. * * @see https://vrm.dev/en/univrm/api/univrm_use_firstperson/ * @see https://threejs.org/docs/#api/en/core/Layers */ get firstPersonOnlyLayer() { return this._firstPersonOnlyLayer; } /** * A camera layer represents `ThirdPersonOnly` layer. * Note that **you must call {@link setup} first before you use the layer feature** or it does not work properly. * * The value is {@link DEFAULT_THIRDPERSON_ONLY_LAYER} by default but you can change the layer by specifying via {@link setup} if you prefer. * * @see https://vrm.dev/en/univrm/api/univrm_use_firstperson/ * @see https://threejs.org/docs/#api/en/core/Layers */ get thirdPersonOnlyLayer() { return this._thirdPersonOnlyLayer; } /** * In this method, it assigns layers for every meshes based on mesh annotations. * You must call this method first before you use the layer feature. * * This is an equivalent of [VRMFirstPerson.Setup](https://github.com/vrm-c/UniVRM/blob/73a5bd8fcddaa2a7a8735099a97e63c9db3e5ea0/Assets/VRM/Runtime/FirstPerson/VRMFirstPerson.cs#L295-L299) of the UniVRM. * * The `cameraLayer` parameter specifies which layer will be assigned for `FirstPersonOnly` / `ThirdPersonOnly`. * In UniVRM, we specified those by naming each desired layer as `FIRSTPERSON_ONLY_LAYER` / `THIRDPERSON_ONLY_LAYER` * but we are going to specify these layers at here since we are unable to name layers in Three.js. * * @param cameraLayer Specify which layer will be for `FirstPersonOnly` / `ThirdPersonOnly`. */ setup({ firstPersonOnlyLayer = VRMFirstPerson.DEFAULT_FIRSTPERSON_ONLY_LAYER, thirdPersonOnlyLayer = VRMFirstPerson.DEFAULT_THIRDPERSON_ONLY_LAYER, } = {}) { if (this._initializedLayers) { return; } this._firstPersonOnlyLayer = firstPersonOnlyLayer; this._thirdPersonOnlyLayer = thirdPersonOnlyLayer; this.meshAnnotations.forEach((item) => { item.meshes.forEach((mesh) => { if (item.type === 'firstPersonOnly') { mesh.layers.set(this._firstPersonOnlyLayer); mesh.traverse((child) => child.layers.set(this._firstPersonOnlyLayer)); } else if (item.type === 'thirdPersonOnly') { mesh.layers.set(this._thirdPersonOnlyLayer); mesh.traverse((child) => child.layers.set(this._thirdPersonOnlyLayer)); } else if (item.type === 'auto') { this._createHeadlessModel(mesh); } }); }); this._initializedLayers = true; } _excludeTriangles(triangles, bws, skinIndex, exclude) { let count = 0; if (bws != null && bws.length > 0) { for (let i = 0; i < triangles.length; i += 3) { const a = triangles[i]; const b = triangles[i + 1]; const c = triangles[i + 2]; const bw0 = bws[a]; const skin0 = skinIndex[a]; if (bw0[0] > 0 && exclude.includes(skin0[0])) continue; if (bw0[1] > 0 && exclude.includes(skin0[1])) continue; if (bw0[2] > 0 && exclude.includes(skin0[2])) continue; if (bw0[3] > 0 && exclude.includes(skin0[3])) continue; const bw1 = bws[b]; const skin1 = skinIndex[b]; if (bw1[0] > 0 && exclude.includes(skin1[0])) continue; if (bw1[1] > 0 && exclude.includes(skin1[1])) continue; if (bw1[2] > 0 && exclude.includes(skin1[2])) continue; if (bw1[3] > 0 && exclude.includes(skin1[3])) continue; const bw2 = bws[c]; const skin2 = skinIndex[c]; if (bw2[0] > 0 && exclude.includes(skin2[0])) continue; if (bw2[1] > 0 && exclude.includes(skin2[1])) continue; if (bw2[2] > 0 && exclude.includes(skin2[2])) continue; if (bw2[3] > 0 && exclude.includes(skin2[3])) continue; triangles[count++] = a; triangles[count++] = b; triangles[count++] = c; } } return count; } _createErasedMesh(src, erasingBonesIndex) { const dst = new THREE__namespace.SkinnedMesh(src.geometry.clone(), src.material); dst.name = `${src.name}(erase)`; dst.frustumCulled = src.frustumCulled; dst.layers.set(this._firstPersonOnlyLayer); const geometry = dst.geometry; const skinIndexAttr = geometry.getAttribute('skinIndex'); const skinIndexAttrArray = skinIndexAttr instanceof THREE__namespace.GLBufferAttribute ? [] : skinIndexAttr.array; const skinIndex = []; for (let i = 0; i < skinIndexAttrArray.length; i += 4) { skinIndex.push([ skinIndexAttrArray[i], skinIndexAttrArray[i + 1], skinIndexAttrArray[i + 2], skinIndexAttrArray[i + 3], ]); } const skinWeightAttr = geometry.getAttribute('skinWeight'); const skinWeightAttrArray = skinWeightAttr instanceof THREE__namespace.GLBufferAttribute ? [] : skinWeightAttr.array; const skinWeight = []; for (let i = 0; i < skinWeightAttrArray.length; i += 4) { skinWeight.push([ skinWeightAttrArray[i], skinWeightAttrArray[i + 1], skinWeightAttrArray[i + 2], skinWeightAttrArray[i + 3], ]); } const index = geometry.getIndex(); if (!index) { throw new Error("The geometry doesn't have an index buffer"); } const oldTriangles = Array.from(index.array); const count = this._excludeTriangles(oldTriangles, skinWeight, skinIndex, erasingBonesIndex); const newTriangle = []; for (let i = 0; i < count; i++) { newTriangle[i] = oldTriangles[i]; } geometry.setIndex(newTriangle); // mtoon material includes onBeforeRender. this is unsupported at SkinnedMesh#clone if (src.onBeforeRender) { dst.onBeforeRender = src.onBeforeRender; } dst.bind(new THREE__namespace.Skeleton(src.skeleton.bones, src.skeleton.boneInverses), new THREE__namespace.Matrix4()); return dst; } _createHeadlessModelForSkinnedMesh(parent, mesh) { const eraseBoneIndexes = []; mesh.skeleton.bones.forEach((bone, index) => { if (this._isEraseTarget(bone)) eraseBoneIndexes.push(index); }); // Unlike UniVRM we don't copy mesh if no invisible bone was found if (!eraseBoneIndexes.length) { mesh.layers.enable(this._thirdPersonOnlyLayer); mesh.layers.enable(this._firstPersonOnlyLayer); return; } mesh.layers.set(this._thirdPersonOnlyLayer); const newMesh = this._createErasedMesh(mesh, eraseBoneIndexes); parent.add(newMesh); } _createHeadlessModel(node) { if (node.type === 'Group') { node.layers.set(this._thirdPersonOnlyLayer); if (this._isEraseTarget(node)) { node.traverse((child) => child.layers.set(this._thirdPersonOnlyLayer)); } else { const parent = new THREE__namespace.Group(); parent.name = `_headless_${node.name}`; parent.layers.set(this._firstPersonOnlyLayer); node.parent.add(parent); node.children .filter((child) => child.type === 'SkinnedMesh') .forEach((child) => { const skinnedMesh = child; this._createHeadlessModelForSkinnedMesh(parent, skinnedMesh); }); } } else if (node.type === 'SkinnedMesh') { const skinnedMesh = node; this._createHeadlessModelForSkinnedMesh(node.parent, skinnedMesh); } else { if (this._isEraseTarget(node)) { node.layers.set(this._thirdPersonOnlyLayer); node.traverse((child) => child.layers.set(this._thirdPersonOnlyLayer)); } } } _isEraseTarget(bone) { if (bone === this.humanoid.getRawBoneNode('head')) { return true; } else if (!bone.parent) { return false; } else { return this._isEraseTarget(bone.parent); } } } /** * A default camera layer for `FirstPersonOnly` layer. * * @see [[getFirstPersonOnlyLayer]] */ VRMFirstPerson.DEFAULT_FIRSTPERSON_ONLY_LAYER = 9; /** * A default camera layer for `ThirdPersonOnly` layer. * * @see [[getThirdPersonOnlyLayer]] */ VRMFirstPerson.DEFAULT_THIRDPERSON_ONLY_LAYER = 10; /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$3 = new Set(['1.0', '1.0-beta']); /** * A plugin of GLTFLoader that imports a {@link VRMFirstPerson} from a VRM extension of a GLTF. */ class VRMFirstPersonLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMFirstPersonLoaderPlugin'; } constructor(parser) { this.parser = parser; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const vrmHumanoid = gltf.userData.vrmHumanoid; // explicitly distinguish null and undefined // since vrmHumanoid might be null as a result if (vrmHumanoid === null) { return; } else if (vrmHumanoid === undefined) { throw new Error('VRMFirstPersonLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first'); } gltf.userData.vrmFirstPerson = yield this._import(gltf, vrmHumanoid); }); } /** * Import a {@link VRMFirstPerson} from a VRM. * * @param gltf A parsed result of GLTF taken from GLTFLoader * @param humanoid A {@link VRMHumanoid} instance that represents the VRM */ _import(gltf, humanoid) { return __awaiter$6(this, void 0, void 0, function* () { if (humanoid == null) { return null; } const v1Result = yield this._v1Import(gltf, humanoid); if (v1Result) { return v1Result; } const v0Result = yield this._v0Import(gltf, humanoid); if (v0Result) { return v0Result; } return null; }); } _v1Import(gltf, humanoid) { var _a, _b; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$3.has(specVersion)) { console.warn(`VRMFirstPersonLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaFirstPerson = extension.firstPerson; if (!schemaFirstPerson) { return null; } const meshAnnotations = []; const nodePrimitivesMap = yield gltfExtractPrimitivesFromNodes(gltf); Array.from(nodePrimitivesMap.entries()).forEach(([nodeIndex, primitives]) => { var _a; const annotation = schemaFirstPerson.meshAnnotations ? schemaFirstPerson.meshAnnotations.find((a) => a.node === nodeIndex) : undefined; meshAnnotations.push({ meshes: primitives, type: (_a = annotation === null || annotation === void 0 ? void 0 : annotation.type) !== null && _a !== void 0 ? _a : 'both', }); }); return new VRMFirstPerson(humanoid, meshAnnotations); }); } _v0Import(gltf, humanoid) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaFirstPerson = vrmExt.firstPerson; if (!schemaFirstPerson) { return null; } const meshAnnotations = []; const nodePrimitivesMap = yield gltfExtractPrimitivesFromNodes(gltf); Array.from(nodePrimitivesMap.entries()).forEach(([nodeIndex, primitives]) => { const schemaNode = json.nodes[nodeIndex]; const flag = schemaFirstPerson.meshAnnotations ? schemaFirstPerson.meshAnnotations.find((a) => a.mesh === schemaNode.mesh) : undefined; meshAnnotations.push({ meshes: primitives, type: this._convertV0FlagToV1Type(flag === null || flag === void 0 ? void 0 : flag.firstPersonFlag), }); }); return new VRMFirstPerson(humanoid, meshAnnotations); }); } _convertV0FlagToV1Type(flag) { if (flag === 'FirstPersonOnly') { return 'firstPersonOnly'; } else if (flag === 'ThirdPersonOnly') { return 'thirdPersonOnly'; } else if (flag === 'Auto') { return 'auto'; } else { return 'both'; } } } /* eslint-disable @typescript-eslint/naming-convention */ const VRMFirstPersonMeshAnnotationType = { Auto: 'auto', Both: 'both', ThirdPersonOnly: 'thirdPersonOnly', FirstPersonOnly: 'firstPersonOnly', }; const _v3A$4$1 = new THREE__namespace.Vector3(); const _v3B$2$1 = new THREE__namespace.Vector3(); const _quatA$5 = new THREE__namespace.Quaternion(); class VRMHumanoidHelper extends THREE__namespace.Group { constructor(humanoid) { super(); this.vrmHumanoid = humanoid; this._boneAxesMap = new Map(); Object.values(humanoid.humanBones).forEach((bone) => { const helper = new THREE__namespace.AxesHelper(1.0); helper.matrixAutoUpdate = false; helper.material.depthTest = false; helper.material.depthWrite = false; this.add(helper); this._boneAxesMap.set(bone, helper); }); } dispose() { Array.from(this._boneAxesMap.values()).forEach((axes) => { axes.geometry.dispose(); axes.material.dispose(); }); } updateMatrixWorld(force) { Array.from(this._boneAxesMap.entries()).forEach(([bone, axes]) => { bone.node.updateWorldMatrix(true, false); bone.node.matrixWorld.decompose(_v3A$4$1, _quatA$5, _v3B$2$1); const scale = _v3A$4$1.set(0.1, 0.1, 0.1).divide(_v3B$2$1); axes.matrix.copy(bone.node.matrixWorld).scale(scale); }); super.updateMatrixWorld(force); } } /* eslint-disable @typescript-eslint/naming-convention */ /** * The list of {@link VRMHumanBoneName}. Dependency aware. */ const VRMHumanBoneList = [ 'hips', 'spine', 'chest', 'upperChest', 'neck', 'head', 'leftEye', 'rightEye', 'jaw', 'leftUpperLeg', 'leftLowerLeg', 'leftFoot', 'leftToes', 'rightUpperLeg', 'rightLowerLeg', 'rightFoot', 'rightToes', 'leftShoulder', 'leftUpperArm', 'leftLowerArm', 'leftHand', 'rightShoulder', 'rightUpperArm', 'rightLowerArm', 'rightHand', 'leftThumbMetacarpal', 'leftThumbProximal', 'leftThumbDistal', 'leftIndexProximal', 'leftIndexIntermediate', 'leftIndexDistal', 'leftMiddleProximal', 'leftMiddleIntermediate', 'leftMiddleDistal', 'leftRingProximal', 'leftRingIntermediate', 'leftRingDistal', 'leftLittleProximal', 'leftLittleIntermediate', 'leftLittleDistal', 'rightThumbMetacarpal', 'rightThumbProximal', 'rightThumbDistal', 'rightIndexProximal', 'rightIndexIntermediate', 'rightIndexDistal', 'rightMiddleProximal', 'rightMiddleIntermediate', 'rightMiddleDistal', 'rightRingProximal', 'rightRingIntermediate', 'rightRingDistal', 'rightLittleProximal', 'rightLittleIntermediate', 'rightLittleDistal', ]; /* eslint-disable @typescript-eslint/naming-convention */ /** * The names of {@link VRMHumanoid} bone names. * * Ref: https://github.com/vrm-c/vrm-specification/blob/master/specification/VRMC_vrm-1.0/humanoid.md */ const VRMHumanBoneName = { Hips: 'hips', Spine: 'spine', Chest: 'chest', UpperChest: 'upperChest', Neck: 'neck', Head: 'head', LeftEye: 'leftEye', RightEye: 'rightEye', Jaw: 'jaw', LeftUpperLeg: 'leftUpperLeg', LeftLowerLeg: 'leftLowerLeg', LeftFoot: 'leftFoot', LeftToes: 'leftToes', RightUpperLeg: 'rightUpperLeg', RightLowerLeg: 'rightLowerLeg', RightFoot: 'rightFoot', RightToes: 'rightToes', LeftShoulder: 'leftShoulder', LeftUpperArm: 'leftUpperArm', LeftLowerArm: 'leftLowerArm', LeftHand: 'leftHand', RightShoulder: 'rightShoulder', RightUpperArm: 'rightUpperArm', RightLowerArm: 'rightLowerArm', RightHand: 'rightHand', LeftThumbMetacarpal: 'leftThumbMetacarpal', LeftThumbProximal: 'leftThumbProximal', LeftThumbDistal: 'leftThumbDistal', LeftIndexProximal: 'leftIndexProximal', LeftIndexIntermediate: 'leftIndexIntermediate', LeftIndexDistal: 'leftIndexDistal', LeftMiddleProximal: 'leftMiddleProximal', LeftMiddleIntermediate: 'leftMiddleIntermediate', LeftMiddleDistal: 'leftMiddleDistal', LeftRingProximal: 'leftRingProximal', LeftRingIntermediate: 'leftRingIntermediate', LeftRingDistal: 'leftRingDistal', LeftLittleProximal: 'leftLittleProximal', LeftLittleIntermediate: 'leftLittleIntermediate', LeftLittleDistal: 'leftLittleDistal', RightThumbMetacarpal: 'rightThumbMetacarpal', RightThumbProximal: 'rightThumbProximal', RightThumbDistal: 'rightThumbDistal', RightIndexProximal: 'rightIndexProximal', RightIndexIntermediate: 'rightIndexIntermediate', RightIndexDistal: 'rightIndexDistal', RightMiddleProximal: 'rightMiddleProximal', RightMiddleIntermediate: 'rightMiddleIntermediate', RightMiddleDistal: 'rightMiddleDistal', RightRingProximal: 'rightRingProximal', RightRingIntermediate: 'rightRingIntermediate', RightRingDistal: 'rightRingDistal', RightLittleProximal: 'rightLittleProximal', RightLittleIntermediate: 'rightLittleIntermediate', RightLittleDistal: 'rightLittleDistal', }; /* eslint-disable @typescript-eslint/naming-convention */ /** * An object that maps from {@link VRMHumanBoneName} to its parent {@link VRMHumanBoneName}. * * Ref: https://github.com/vrm-c/vrm-specification/blob/master/specification/VRMC_vrm-1.0/humanoid.md */ const VRMHumanBoneParentMap = { hips: null, spine: 'hips', chest: 'spine', upperChest: 'chest', neck: 'upperChest', head: 'neck', leftEye: 'head', rightEye: 'head', jaw: 'head', leftUpperLeg: 'hips', leftLowerLeg: 'leftUpperLeg', leftFoot: 'leftLowerLeg', leftToes: 'leftFoot', rightUpperLeg: 'hips', rightLowerLeg: 'rightUpperLeg', rightFoot: 'rightLowerLeg', rightToes: 'rightFoot', leftShoulder: 'upperChest', leftUpperArm: 'leftShoulder', leftLowerArm: 'leftUpperArm', leftHand: 'leftLowerArm', rightShoulder: 'upperChest', rightUpperArm: 'rightShoulder', rightLowerArm: 'rightUpperArm', rightHand: 'rightLowerArm', leftThumbMetacarpal: 'leftHand', leftThumbProximal: 'leftThumbMetacarpal', leftThumbDistal: 'leftThumbProximal', leftIndexProximal: 'leftHand', leftIndexIntermediate: 'leftIndexProximal', leftIndexDistal: 'leftIndexIntermediate', leftMiddleProximal: 'leftHand', leftMiddleIntermediate: 'leftMiddleProximal', leftMiddleDistal: 'leftMiddleIntermediate', leftRingProximal: 'leftHand', leftRingIntermediate: 'leftRingProximal', leftRingDistal: 'leftRingIntermediate', leftLittleProximal: 'leftHand', leftLittleIntermediate: 'leftLittleProximal', leftLittleDistal: 'leftLittleIntermediate', rightThumbMetacarpal: 'rightHand', rightThumbProximal: 'rightThumbMetacarpal', rightThumbDistal: 'rightThumbProximal', rightIndexProximal: 'rightHand', rightIndexIntermediate: 'rightIndexProximal', rightIndexDistal: 'rightIndexIntermediate', rightMiddleProximal: 'rightHand', rightMiddleIntermediate: 'rightMiddleProximal', rightMiddleDistal: 'rightMiddleIntermediate', rightRingProximal: 'rightHand', rightRingIntermediate: 'rightRingProximal', rightRingDistal: 'rightRingIntermediate', rightLittleProximal: 'rightHand', rightLittleIntermediate: 'rightLittleProximal', rightLittleDistal: 'rightLittleIntermediate', }; /** * A compat function for `Quaternion.invert()` / `Quaternion.inverse()`. * `Quaternion.invert()` is introduced in r123 and `Quaternion.inverse()` emits a warning. * We are going to use this compat for a while. * @param target A target quaternion */ function quatInvertCompat$1(target) { if (target.invert) { target.invert(); } else { target.inverse(); } return target; } const _v3A$3$2 = new THREE__namespace.Vector3(); const _quatA$4 = new THREE__namespace.Quaternion(); /** * A class represents the Rig of a VRM. */ class VRMRig { /** * Create a new {@link VRMHumanoid}. * @param humanBones A {@link VRMHumanBones} contains all the bones of the new humanoid */ constructor(humanBones) { this.humanBones = humanBones; this.restPose = this.getAbsolutePose(); } /** * Return the current absolute pose of this humanoid as a {@link VRMPose}. * Note that the output result will contain initial state of the VRM and not compatible between different models. * You might want to use {@link getPose} instead. */ getAbsolutePose() { const pose = {}; Object.keys(this.humanBones).forEach((vrmBoneNameString) => { const vrmBoneName = vrmBoneNameString; const node = this.getBoneNode(vrmBoneName); // Ignore when there are no bone on the VRMHumanoid if (!node) { return; } // Get the position / rotation from the node _v3A$3$2.copy(node.position); _quatA$4.copy(node.quaternion); // Convert to raw arrays pose[vrmBoneName] = { position: _v3A$3$2.toArray(), rotation: _quatA$4.toArray(), }; }); return pose; } /** * Return the current pose of this humanoid as a {@link VRMPose}. * * Each transform is a local transform relative from rest pose (T-pose). */ getPose() { const pose = {}; Object.keys(this.humanBones).forEach((boneNameString) => { const boneName = boneNameString; const node = this.getBoneNode(boneName); // Ignore when there are no bone on the VRMHumanoid if (!node) { return; } // Take a diff from restPose _v3A$3$2.set(0, 0, 0); _quatA$4.identity(); const restState = this.restPose[boneName]; if (restState === null || restState === void 0 ? void 0 : restState.position) { _v3A$3$2.fromArray(restState.position).negate(); } if (restState === null || restState === void 0 ? void 0 : restState.rotation) { quatInvertCompat$1(_quatA$4.fromArray(restState.rotation)); } // Get the position / rotation from the node _v3A$3$2.add(node.position); _quatA$4.premultiply(node.quaternion); // Convert to raw arrays pose[boneName] = { position: _v3A$3$2.toArray(), rotation: _quatA$4.toArray(), }; }); return pose; } /** * Let the humanoid do a specified pose. * * Each transform have to be a local transform relative from rest pose (T-pose). * You can pass what you got from {@link getPose}. * * @param poseObject A [[VRMPose]] that represents a single pose */ setPose(poseObject) { Object.entries(poseObject).forEach(([boneNameString, state]) => { const boneName = boneNameString; const node = this.getBoneNode(boneName); // Ignore when there are no bone that is defined in the pose on the VRMHumanoid if (!node) { return; } const restState = this.restPose[boneName]; if (!restState) { // It's very unlikely. Possibly a bug return; } // Apply the state to the actual bone if (state === null || state === void 0 ? void 0 : state.position) { node.position.fromArray(state.position); if (restState.position) { node.position.add(_v3A$3$2.fromArray(restState.position)); } } if (state === null || state === void 0 ? void 0 : state.rotation) { node.quaternion.fromArray(state.rotation); if (restState.rotation) { node.quaternion.multiply(_quatA$4.fromArray(restState.rotation)); } } }); } /** * Reset the humanoid to its rest pose. */ resetPose() { Object.entries(this.restPose).forEach(([boneName, rest]) => { const node = this.getBoneNode(boneName); if (!node) { return; } if (rest === null || rest === void 0 ? void 0 : rest.position) { node.position.fromArray(rest.position); } if (rest === null || rest === void 0 ? void 0 : rest.rotation) { node.quaternion.fromArray(rest.rotation); } }); } /** * Return a bone bound to a specified {@link VRMHumanBoneName}, as a {@link VRMHumanBone}. * * @param name Name of the bone you want */ getBone(name) { var _a; return (_a = this.humanBones[name]) !== null && _a !== void 0 ? _a : undefined; } /** * Return a bone bound to a specified {@link VRMHumanBoneName}, as a `THREE.Object3D`. * * @param name Name of the bone you want */ getBoneNode(name) { var _a, _b; return (_b = (_a = this.humanBones[name]) === null || _a === void 0 ? void 0 : _a.node) !== null && _b !== void 0 ? _b : null; } } const _v3A$2$2 = new THREE__namespace.Vector3(); const _quatA$3$1 = new THREE__namespace.Quaternion(); const _boneWorldPos = new THREE__namespace.Vector3(); /** * A class represents the normalized Rig of a VRM. */ class VRMHumanoidRig extends VRMRig { static _setupTransforms(modelRig) { const root = new THREE__namespace.Object3D(); root.name = 'VRMHumanoidRig'; // store boneWorldPositions and boneWorldRotations const boneWorldPositions = {}; const boneWorldRotations = {}; const boneRotations = {}; VRMHumanBoneList.forEach((boneName) => { const boneNode = modelRig.getBoneNode(boneName); if (boneNode) { const boneWorldPosition = new THREE__namespace.Vector3(); const boneWorldRotation = new THREE__namespace.Quaternion(); boneNode.updateWorldMatrix(true, false); boneNode.matrixWorld.decompose(boneWorldPosition, boneWorldRotation, _v3A$2$2); boneWorldPositions[boneName] = boneWorldPosition; boneWorldRotations[boneName] = boneWorldRotation; boneRotations[boneName] = boneNode.quaternion.clone(); } }); // build rig hierarchy + store parentWorldRotations const parentWorldRotations = {}; const rigBones = {}; VRMHumanBoneList.forEach((boneName) => { var _a; const boneNode = modelRig.getBoneNode(boneName); if (boneNode) { const boneWorldPosition = boneWorldPositions[boneName]; // see the nearest parent position let currentBoneName = boneName; let parentWorldPosition; let parentWorldRotation; while (parentWorldPosition == null) { currentBoneName = VRMHumanBoneParentMap[currentBoneName]; if (currentBoneName == null) { break; } parentWorldPosition = boneWorldPositions[currentBoneName]; parentWorldRotation = boneWorldRotations[currentBoneName]; } // add to hierarchy const rigBoneNode = new THREE__namespace.Object3D(); rigBoneNode.name = 'Normalized_' + boneNode.name; const parentRigBoneNode = (currentBoneName ? (_a = rigBones[currentBoneName]) === null || _a === void 0 ? void 0 : _a.node : root); parentRigBoneNode.add(rigBoneNode); rigBoneNode.position.copy(boneWorldPosition); if (parentWorldPosition) { rigBoneNode.position.sub(parentWorldPosition); } rigBones[boneName] = { node: rigBoneNode }; // store parentWorldRotation parentWorldRotations[boneName] = parentWorldRotation !== null && parentWorldRotation !== void 0 ? parentWorldRotation : new THREE__namespace.Quaternion(); } }); return { rigBones: rigBones, root, parentWorldRotations, boneRotations, }; } constructor(humanoid) { const { rigBones, root, parentWorldRotations, boneRotations } = VRMHumanoidRig._setupTransforms(humanoid); super(rigBones); this.original = humanoid; this.root = root; this._parentWorldRotations = parentWorldRotations; this._boneRotations = boneRotations; } /** * Update this humanoid rig. */ update() { VRMHumanBoneList.forEach((boneName) => { const boneNode = this.original.getBoneNode(boneName); if (boneNode != null) { const rigBoneNode = this.getBoneNode(boneName); const parentWorldRotation = this._parentWorldRotations[boneName]; const invParentWorldRotation = _quatA$3$1.copy(parentWorldRotation).invert(); const boneRotation = this._boneRotations[boneName]; boneNode.quaternion .copy(rigBoneNode.quaternion) .multiply(parentWorldRotation) .premultiply(invParentWorldRotation) .multiply(boneRotation); // Move the mass center of the VRM if (boneName === 'hips') { const boneWorldPosition = rigBoneNode.getWorldPosition(_boneWorldPos); boneNode.parent.updateWorldMatrix(true, false); const parentWorldMatrix = boneNode.parent.matrixWorld; const localPosition = boneWorldPosition.applyMatrix4(parentWorldMatrix.invert()); boneNode.position.copy(localPosition); } } }); } } /** * A class represents a humanoid of a VRM. */ class VRMHumanoid { /** * @deprecated Deprecated. Use either {@link rawRestPose} or {@link normalizedRestPose} instead. */ get restPose() { console.warn('VRMHumanoid: restPose is deprecated. Use either rawRestPose or normalizedRestPose instead.'); return this.rawRestPose; } /** * A {@link VRMPose} of its raw human bones that is its default state. * Note that it's not compatible with {@link setRawPose} and {@link getRawPose}, since it contains non-relative values of each local transforms. */ get rawRestPose() { return this._rawHumanBones.restPose; } /** * A {@link VRMPose} of its normalized human bones that is its default state. * Note that it's not compatible with {@link setNormalizedPose} and {@link getNormalizedPose}, since it contains non-relative values of each local transforms. */ get normalizedRestPose() { return this._normalizedHumanBones.restPose; } /** * A map from {@link VRMHumanBoneName} to raw {@link VRMHumanBone}s. */ get humanBones() { // an alias of `rawHumanBones` return this._rawHumanBones.humanBones; } /** * A map from {@link VRMHumanBoneName} to raw {@link VRMHumanBone}s. */ get rawHumanBones() { return this._rawHumanBones.humanBones; } /** * A map from {@link VRMHumanBoneName} to normalized {@link VRMHumanBone}s. */ get normalizedHumanBones() { return this._normalizedHumanBones.humanBones; } /** * The root of normalized {@link VRMHumanBone}s. */ get normalizedHumanBonesRoot() { return this._normalizedHumanBones.root; } /** * Create a new {@link VRMHumanoid}. * @param humanBones A {@link VRMHumanBones} contains all the bones of the new humanoid * @param autoUpdateHumanBones Whether it copies pose from normalizedHumanBones to rawHumanBones on {@link update}. `true` by default. */ constructor(humanBones, options) { var _a; this.autoUpdateHumanBones = (_a = options === null || options === void 0 ? void 0 : options.autoUpdateHumanBones) !== null && _a !== void 0 ? _a : true; this._rawHumanBones = new VRMRig(humanBones); this._normalizedHumanBones = new VRMHumanoidRig(this._rawHumanBones); } /** * Copy the given {@link VRMHumanoid} into this one. * @param source The {@link VRMHumanoid} you want to copy * @returns this */ copy(source) { this.autoUpdateHumanBones = source.autoUpdateHumanBones; this._rawHumanBones = new VRMRig(source.humanBones); this._normalizedHumanBones = new VRMHumanoidRig(this._rawHumanBones); return this; } /** * Returns a clone of this {@link VRMHumanoid}. * @returns Copied {@link VRMHumanoid} */ clone() { return new VRMHumanoid(this.humanBones, { autoUpdateHumanBones: this.autoUpdateHumanBones }).copy(this); } /** * @deprecated Deprecated. Use either {@link getRawAbsolutePose} or {@link getNormalizedAbsolutePose} instead. */ getAbsolutePose() { console.warn('VRMHumanoid: getAbsolutePose() is deprecated. Use either getRawAbsolutePose() or getNormalizedAbsolutePose() instead.'); return this.getRawAbsolutePose(); } /** * Return the current absolute pose of this raw human bones as a {@link VRMPose}. * Note that the output result will contain initial state of the VRM and not compatible between different models. * You might want to use {@link getRawPose} instead. */ getRawAbsolutePose() { return this._rawHumanBones.getAbsolutePose(); } /** * Return the current absolute pose of this normalized human bones as a {@link VRMPose}. * Note that the output result will contain initial state of the VRM and not compatible between different models. * You might want to use {@link getNormalizedPose} instead. */ getNormalizedAbsolutePose() { return this._normalizedHumanBones.getAbsolutePose(); } /** * @deprecated Deprecated. Use either {@link getRawPose} or {@link getNormalizedPose} instead. */ getPose() { console.warn('VRMHumanoid: getPose() is deprecated. Use either getRawPose() or getNormalizedPose() instead.'); return this.getRawPose(); } /** * Return the current pose of raw human bones as a {@link VRMPose}. * * Each transform is a local transform relative from rest pose (T-pose). */ getRawPose() { return this._rawHumanBones.getPose(); } /** * Return the current pose of normalized human bones as a {@link VRMPose}. * * Each transform is a local transform relative from rest pose (T-pose). */ getNormalizedPose() { return this._normalizedHumanBones.getPose(); } /** * @deprecated Deprecated. Use either {@link setRawPose} or {@link setNormalizedPose} instead. */ setPose(poseObject) { console.warn('VRMHumanoid: setPose() is deprecated. Use either setRawPose() or setNormalizedPose() instead.'); return this.setRawPose(poseObject); } /** * Let the raw human bones do a specified pose. * * Each transform have to be a local transform relative from rest pose (T-pose). * You can pass what you got from {@link getRawPose}. * * If you are using {@link autoUpdateHumanBones}, you might want to use {@link setNormalizedPose} instead. * * @param poseObject A {@link VRMPose} that represents a single pose */ setRawPose(poseObject) { return this._rawHumanBones.setPose(poseObject); } /** * Let the normalized human bones do a specified pose. * * Each transform have to be a local transform relative from rest pose (T-pose). * You can pass what you got from {@link getNormalizedPose}. * * @param poseObject A {@link VRMPose} that represents a single pose */ setNormalizedPose(poseObject) { return this._normalizedHumanBones.setPose(poseObject); } /** * @deprecated Deprecated. Use either {@link resetRawPose} or {@link resetNormalizedPose} instead. */ resetPose() { console.warn('VRMHumanoid: resetPose() is deprecated. Use either resetRawPose() or resetNormalizedPose() instead.'); return this.resetRawPose(); } /** * Reset the raw humanoid to its rest pose. * * If you are using {@link autoUpdateHumanBones}, you might want to use {@link resetNormalizedPose} instead. */ resetRawPose() { return this._rawHumanBones.resetPose(); } /** * Reset the normalized humanoid to its rest pose. */ resetNormalizedPose() { return this._normalizedHumanBones.resetPose(); } /** * @deprecated Deprecated. Use either {@link getRawBone} or {@link getNormalizedBone} instead. */ getBone(name) { console.warn('VRMHumanoid: getBone() is deprecated. Use either getRawBone() or getNormalizedBone() instead.'); return this.getRawBone(name); } /** * Return a raw {@link VRMHumanBone} bound to a specified {@link VRMHumanBoneName}. * * @param name Name of the bone you want */ getRawBone(name) { return this._rawHumanBones.getBone(name); } /** * Return a normalized {@link VRMHumanBone} bound to a specified {@link VRMHumanBoneName}. * * @param name Name of the bone you want */ getNormalizedBone(name) { return this._normalizedHumanBones.getBone(name); } /** * @deprecated Deprecated. Use either {@link getRawBoneNode} or {@link getNormalizedBoneNode} instead. */ getBoneNode(name) { console.warn('VRMHumanoid: getBoneNode() is deprecated. Use either getRawBoneNode() or getNormalizedBoneNode() instead.'); return this.getRawBoneNode(name); } /** * Return a raw bone as a `THREE.Object3D` bound to a specified {@link VRMHumanBoneName}. * * @param name Name of the bone you want */ getRawBoneNode(name) { return this._rawHumanBones.getBoneNode(name); } /** * Return a normalized bone as a `THREE.Object3D` bound to a specified {@link VRMHumanBoneName}. * * @param name Name of the bone you want */ getNormalizedBoneNode(name) { return this._normalizedHumanBones.getBoneNode(name); } /** * Update the humanoid component. * * If {@link autoUpdateHumanBones} is `true`, it transfers the pose of normalized human bones to raw human bones. */ update() { if (this.autoUpdateHumanBones) { this._normalizedHumanBones.update(); } } } /* eslint-disable @typescript-eslint/naming-convention */ const VRMRequiredHumanBoneName = { Hips: 'hips', Spine: 'spine', Head: 'head', LeftUpperLeg: 'leftUpperLeg', LeftLowerLeg: 'leftLowerLeg', LeftFoot: 'leftFoot', RightUpperLeg: 'rightUpperLeg', RightLowerLeg: 'rightLowerLeg', RightFoot: 'rightFoot', LeftUpperArm: 'leftUpperArm', LeftLowerArm: 'leftLowerArm', LeftHand: 'leftHand', RightUpperArm: 'rightUpperArm', RightLowerArm: 'rightLowerArm', RightHand: 'rightHand', }; /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$2$1 = new Set(['1.0', '1.0-beta']); /** * A map from old thumb bone names to new thumb bone names */ const thumbBoneNameMap = { leftThumbProximal: 'leftThumbMetacarpal', leftThumbIntermediate: 'leftThumbProximal', rightThumbProximal: 'rightThumbMetacarpal', rightThumbIntermediate: 'rightThumbProximal', }; /** * A plugin of GLTFLoader that imports a {@link VRMHumanoid} from a VRM extension of a GLTF. */ class VRMHumanoidLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMHumanoidLoaderPlugin'; } constructor(parser, options) { this.parser = parser; this.helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; this.autoUpdateHumanBones = options === null || options === void 0 ? void 0 : options.autoUpdateHumanBones; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { gltf.userData.vrmHumanoid = yield this._import(gltf); }); } /** * Import a {@link VRMHumanoid} from a VRM. * * @param gltf A parsed result of GLTF taken from GLTFLoader */ _import(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const v1Result = yield this._v1Import(gltf); if (v1Result) { return v1Result; } const v0Result = yield this._v0Import(gltf); if (v0Result) { return v0Result; } return null; }); } _v1Import(gltf) { var _a, _b; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$2$1.has(specVersion)) { console.warn(`VRMHumanoidLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaHumanoid = extension.humanoid; if (!schemaHumanoid) { return null; } /** * compat: 1.0-beta thumb bone names * * `true` if `leftThumbIntermediate` or `rightThumbIntermediate` exists */ const existsPreviousThumbName = schemaHumanoid.humanBones.leftThumbIntermediate != null || schemaHumanoid.humanBones.rightThumbIntermediate != null; const humanBones = {}; if (schemaHumanoid.humanBones != null) { yield Promise.all(Object.entries(schemaHumanoid.humanBones).map(([boneNameString, schemaHumanBone]) => __awaiter$6(this, void 0, void 0, function* () { let boneName = boneNameString; const index = schemaHumanBone.node; // compat: 1.0-beta previous thumb bone names if (existsPreviousThumbName) { const thumbBoneName = thumbBoneNameMap[boneName]; if (thumbBoneName != null) { boneName = thumbBoneName; } } const node = yield this.parser.getDependency('node', index); // if the specified node does not exist, emit a warning if (node == null) { console.warn(`A glTF node bound to the humanoid bone ${boneName} (index = ${index}) does not exist`); return; } // set to the `humanBones` humanBones[boneName] = { node }; }))); } const humanoid = new VRMHumanoid(this._ensureRequiredBonesExist(humanBones), { autoUpdateHumanBones: this.autoUpdateHumanBones, }); gltf.scene.add(humanoid.normalizedHumanBonesRoot); if (this.helperRoot) { const helper = new VRMHumanoidHelper(humanoid); this.helperRoot.add(helper); helper.renderOrder = this.helperRoot.renderOrder; } return humanoid; }); } _v0Import(gltf) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaHumanoid = vrmExt.humanoid; if (!schemaHumanoid) { return null; } const humanBones = {}; if (schemaHumanoid.humanBones != null) { yield Promise.all(schemaHumanoid.humanBones.map((bone) => __awaiter$6(this, void 0, void 0, function* () { const boneName = bone.bone; const index = bone.node; if (boneName == null || index == null) { return; } const node = yield this.parser.getDependency('node', index); // if the specified node does not exist, emit a warning if (node == null) { console.warn(`A glTF node bound to the humanoid bone ${boneName} (index = ${index}) does not exist`); return; } // map to new bone name const thumbBoneName = thumbBoneNameMap[boneName]; const newBoneName = (thumbBoneName !== null && thumbBoneName !== void 0 ? thumbBoneName : boneName); // v0 VRMs might have a multiple nodes attached to a single bone... // so if there already is an entry in the `humanBones`, show a warning and ignore it if (humanBones[newBoneName] != null) { console.warn(`Multiple bone entries for ${newBoneName} detected (index = ${index}), ignoring duplicated entries.`); return; } // set to the `humanBones` humanBones[newBoneName] = { node }; }))); } const humanoid = new VRMHumanoid(this._ensureRequiredBonesExist(humanBones), { autoUpdateHumanBones: this.autoUpdateHumanBones, }); gltf.scene.add(humanoid.normalizedHumanBonesRoot); if (this.helperRoot) { const helper = new VRMHumanoidHelper(humanoid); this.helperRoot.add(helper); helper.renderOrder = this.helperRoot.renderOrder; } return humanoid; }); } /** * Ensure required bones exist in given human bones. * @param humanBones Human bones * @returns Human bones, no longer partial! */ _ensureRequiredBonesExist(humanBones) { // ensure required bones exist const missingRequiredBones = Object.values(VRMRequiredHumanBoneName).filter((requiredBoneName) => humanBones[requiredBoneName] == null); // throw an error if there are missing bones if (missingRequiredBones.length > 0) { throw new Error(`VRMHumanoidLoaderPlugin: These humanoid bones are required but not exist: ${missingRequiredBones.join(', ')}`); } return humanBones; } } class FanBufferGeometry extends THREE__namespace.BufferGeometry { constructor() { super(); this._currentTheta = 0; this._currentRadius = 0; this.theta = 0.0; this.radius = 0.0; this._currentTheta = 0.0; this._currentRadius = 0.0; this._attrPos = new THREE__namespace.BufferAttribute(new Float32Array(65 * 3), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE__namespace.BufferAttribute(new Uint16Array(3 * 63), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; if (this._currentTheta !== this.theta) { this._currentTheta = this.theta; shouldUpdateGeometry = true; } if (this._currentRadius !== this.radius) { this._currentRadius = this.radius; shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { this._attrPos.setXYZ(0, 0.0, 0.0, 0.0); for (let i = 0; i < 64; i++) { const t = (i / 63.0) * this._currentTheta; this._attrPos.setXYZ(i + 1, this._currentRadius * Math.sin(t), 0.0, this._currentRadius * Math.cos(t)); } this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 63; i++) { this._attrIndex.setXYZ(i * 3, 0, i + 1, i + 2); } this._attrIndex.needsUpdate = true; } } class LineAndSphereBufferGeometry extends THREE__namespace.BufferGeometry { constructor() { super(); this.radius = 0.0; this._currentRadius = 0.0; this.tail = new THREE__namespace.Vector3(); this._currentTail = new THREE__namespace.Vector3(); this._attrPos = new THREE__namespace.BufferAttribute(new Float32Array(294), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE__namespace.BufferAttribute(new Uint16Array(194), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; if (this._currentRadius !== this.radius) { this._currentRadius = this.radius; shouldUpdateGeometry = true; } if (!this._currentTail.equals(this.tail)) { this._currentTail.copy(this.tail); shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { for (let i = 0; i < 32; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(i, Math.cos(t), Math.sin(t), 0.0); this._attrPos.setXYZ(32 + i, 0.0, Math.cos(t), Math.sin(t)); this._attrPos.setXYZ(64 + i, Math.sin(t), 0.0, Math.cos(t)); } this.scale(this._currentRadius, this._currentRadius, this._currentRadius); this.translate(this._currentTail.x, this._currentTail.y, this._currentTail.z); this._attrPos.setXYZ(96, 0, 0, 0); this._attrPos.setXYZ(97, this._currentTail.x, this._currentTail.y, this._currentTail.z); this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 32; i++) { const i1 = (i + 1) % 32; this._attrIndex.setXY(i * 2, i, i1); this._attrIndex.setXY(64 + i * 2, 32 + i, 32 + i1); this._attrIndex.setXY(128 + i * 2, 64 + i, 64 + i1); } this._attrIndex.setXY(192, 96, 97); this._attrIndex.needsUpdate = true; } } const _quatA$2$1 = new THREE__namespace.Quaternion(); const _quatB$2$1 = new THREE__namespace.Quaternion(); const _v3A$1$2 = new THREE__namespace.Vector3(); const _v3B$1$2 = new THREE__namespace.Vector3(); const SQRT_2_OVER_2 = Math.sqrt(2.0) / 2.0; const QUAT_XY_CW90 = new THREE__namespace.Quaternion(0, 0, -SQRT_2_OVER_2, SQRT_2_OVER_2); const VEC3_POSITIVE_Y = new THREE__namespace.Vector3(0.0, 1.0, 0.0); class VRMLookAtHelper extends THREE__namespace.Group { constructor(lookAt) { super(); this.matrixAutoUpdate = false; this.vrmLookAt = lookAt; { const geometry = new FanBufferGeometry(); geometry.radius = 0.5; const material = new THREE__namespace.MeshBasicMaterial({ color: 0x00ff00, transparent: true, opacity: 0.5, side: THREE__namespace.DoubleSide, depthTest: false, depthWrite: false, }); this._meshPitch = new THREE__namespace.Mesh(geometry, material); this.add(this._meshPitch); } { const geometry = new FanBufferGeometry(); geometry.radius = 0.5; const material = new THREE__namespace.MeshBasicMaterial({ color: 0xff0000, transparent: true, opacity: 0.5, side: THREE__namespace.DoubleSide, depthTest: false, depthWrite: false, }); this._meshYaw = new THREE__namespace.Mesh(geometry, material); this.add(this._meshYaw); } { const geometry = new LineAndSphereBufferGeometry(); geometry.radius = 0.1; const material = new THREE__namespace.LineBasicMaterial({ color: 0xffffff, depthTest: false, depthWrite: false, }); this._lineTarget = new THREE__namespace.LineSegments(geometry, material); this._lineTarget.frustumCulled = false; this.add(this._lineTarget); } } dispose() { this._meshYaw.geometry.dispose(); this._meshYaw.material.dispose(); this._meshPitch.geometry.dispose(); this._meshPitch.material.dispose(); this._lineTarget.geometry.dispose(); this._lineTarget.material.dispose(); } updateMatrixWorld(force) { // update geometries const yaw = THREE__namespace.MathUtils.DEG2RAD * this.vrmLookAt.yaw; this._meshYaw.geometry.theta = yaw; this._meshYaw.geometry.update(); const pitch = THREE__namespace.MathUtils.DEG2RAD * this.vrmLookAt.pitch; this._meshPitch.geometry.theta = pitch; this._meshPitch.geometry.update(); // get world position and quaternion this.vrmLookAt.getLookAtWorldPosition(_v3A$1$2); this.vrmLookAt.getLookAtWorldQuaternion(_quatA$2$1); // calculate rotation using faceFront _quatA$2$1.multiply(this.vrmLookAt.getFaceFrontQuaternion(_quatB$2$1)); // set transform to meshes this._meshYaw.position.copy(_v3A$1$2); this._meshYaw.quaternion.copy(_quatA$2$1); this._meshPitch.position.copy(_v3A$1$2); this._meshPitch.quaternion.copy(_quatA$2$1); this._meshPitch.quaternion.multiply(_quatB$2$1.setFromAxisAngle(VEC3_POSITIVE_Y, yaw)); this._meshPitch.quaternion.multiply(QUAT_XY_CW90); // update target line and sphere const { target, autoUpdate } = this.vrmLookAt; if (target != null && autoUpdate) { target.getWorldPosition(_v3B$1$2).sub(_v3A$1$2); this._lineTarget.geometry.tail.copy(_v3B$1$2); this._lineTarget.geometry.update(); this._lineTarget.position.copy(_v3A$1$2); } // apply transform to meshes super.updateMatrixWorld(force); } } const _position = new THREE__namespace.Vector3(); const _scale = new THREE__namespace.Vector3(); /** * A replacement of `Object3D.getWorldQuaternion`. * Extract the world quaternion of an object from its world space matrix, without calling `Object3D.updateWorldMatrix`. * Use this when you're sure that the world matrix is up-to-date. * * @param object The object * @param out A target quaternion */ function getWorldQuaternionLite(object, out) { object.matrixWorld.decompose(_position, out, _scale); return out; } /** * Calculate azimuth / altitude angles from a vector. * * This returns a difference of angles from (1, 0, 0). * Azimuth represents an angle around Y axis. * Altitude represents an angle around Z axis. * It is rotated in intrinsic Y-Z order. * * @param vector The vector * @returns A tuple contains two angles, `[ azimuth, altitude ]` */ function calcAzimuthAltitude(vector) { return [Math.atan2(-vector.z, vector.x), Math.atan2(vector.y, Math.sqrt(vector.x * vector.x + vector.z * vector.z))]; } /** * Make sure the angle is within -PI to PI. * * @example * ```js * sanitizeAngle(1.5 * Math.PI) // -0.5 * PI * ``` * * @param angle An input angle */ function sanitizeAngle(angle) { const roundTurn = Math.round(angle / 2.0 / Math.PI); return angle - 2.0 * Math.PI * roundTurn; } const VEC3_POSITIVE_Z$1 = new THREE__namespace.Vector3(0.0, 0.0, 1.0); const _v3A$6 = new THREE__namespace.Vector3(); const _v3B$3 = new THREE__namespace.Vector3(); const _v3C$2 = new THREE__namespace.Vector3(); const _quatA$1$1 = new THREE__namespace.Quaternion(); const _quatB$1$1 = new THREE__namespace.Quaternion(); const _quatC$1 = new THREE__namespace.Quaternion(); const _quatD = new THREE__namespace.Quaternion(); const _eulerA$1 = new THREE__namespace.Euler(); /** * A class controls eye gaze movements of a VRM. */ class VRMLookAt { /** * Its current angle around Y axis, in degree. */ get yaw() { return this._yaw; } /** * Its current angle around Y axis, in degree. */ set yaw(value) { this._yaw = value; this._needsUpdate = true; } /** * Its current angle around X axis, in degree. */ get pitch() { return this._pitch; } /** * Its current angle around X axis, in degree. */ set pitch(value) { this._pitch = value; this._needsUpdate = true; } /** * @deprecated Use {@link getEuler} instead. */ get euler() { console.warn('VRMLookAt: euler is deprecated. use getEuler() instead.'); return this.getEuler(new THREE__namespace.Euler()); } /** * Create a new {@link VRMLookAt}. * * @param humanoid A {@link VRMHumanoid} * @param applier A {@link VRMLookAtApplier} */ constructor(humanoid, applier) { /** * The origin of LookAt. Position offset from the head bone. */ this.offsetFromHeadBone = new THREE__namespace.Vector3(); /** * If this is true, the LookAt will be updated automatically by calling {@link update}, towarding the direction to the {@link target}. * `true` by default. * * See also: {@link target} */ this.autoUpdate = true; /** * The front direction of the face. * Intended to be used for VRM 0.0 compat (VRM 0.0 models are facing Z- instead of Z+). * You usually don't want to touch this. */ this.faceFront = new THREE__namespace.Vector3(0.0, 0.0, 1.0); this.humanoid = humanoid; this.applier = applier; this._yaw = 0.0; this._pitch = 0.0; this._needsUpdate = true; this._restHeadWorldQuaternion = this.getLookAtWorldQuaternion(new THREE__namespace.Quaternion()); } /** * Get its yaw-pitch angles as an `Euler`. * Does NOT consider {@link faceFront}; it returns `Euler(0, 0, 0; "YXZ")` by default regardless of the faceFront value. * * @param target The target euler */ getEuler(target) { return target.set(THREE__namespace.MathUtils.DEG2RAD * this._pitch, THREE__namespace.MathUtils.DEG2RAD * this._yaw, 0.0, 'YXZ'); } /** * Copy the given {@link VRMLookAt} into this one. * {@link humanoid} must be same as the source one. * {@link applier} will reference the same instance as the source one. * @param source The {@link VRMLookAt} you want to copy * @returns this */ copy(source) { if (this.humanoid !== source.humanoid) { throw new Error('VRMLookAt: humanoid must be same in order to copy'); } this.offsetFromHeadBone.copy(source.offsetFromHeadBone); this.applier = source.applier; this.autoUpdate = source.autoUpdate; this.target = source.target; this.faceFront.copy(source.faceFront); return this; } /** * Returns a clone of this {@link VRMLookAt}. * Note that {@link humanoid} and {@link applier} will reference the same instance as this one. * @returns Copied {@link VRMLookAt} */ clone() { return new VRMLookAt(this.humanoid, this.applier).copy(this); } /** * Reset the lookAt direction (yaw and pitch) to the initial direction. */ reset() { this._yaw = 0.0; this._pitch = 0.0; this._needsUpdate = true; } /** * Get its lookAt position in world coordinate. * * @param target A target `THREE.Vector3` */ getLookAtWorldPosition(target) { const head = this.humanoid.getRawBoneNode('head'); return target.copy(this.offsetFromHeadBone).applyMatrix4(head.matrixWorld); } /** * Get its lookAt rotation in world coordinate. * Does NOT consider {@link faceFront}. * * @param target A target `THREE.Quaternion` */ getLookAtWorldQuaternion(target) { const head = this.humanoid.getRawBoneNode('head'); return getWorldQuaternionLite(head, target); } /** * Get a quaternion that rotates the +Z unit vector of the humanoid Head to the {@link faceFront} direction. * * @param target A target `THREE.Quaternion` */ getFaceFrontQuaternion(target) { if (this.faceFront.distanceToSquared(VEC3_POSITIVE_Z$1) < 0.01) { return target.copy(this._restHeadWorldQuaternion).invert(); } const [faceFrontAzimuth, faceFrontAltitude] = calcAzimuthAltitude(this.faceFront); _eulerA$1.set(0.0, 0.5 * Math.PI + faceFrontAzimuth, faceFrontAltitude, 'YZX'); return target.setFromEuler(_eulerA$1).premultiply(_quatD.copy(this._restHeadWorldQuaternion).invert()); } /** * Get its LookAt direction in world coordinate. * * @param target A target `THREE.Vector3` */ getLookAtWorldDirection(target) { this.getLookAtWorldQuaternion(_quatB$1$1); this.getFaceFrontQuaternion(_quatC$1); return target .copy(VEC3_POSITIVE_Z$1) .applyQuaternion(_quatB$1$1) .applyQuaternion(_quatC$1) .applyEuler(this.getEuler(_eulerA$1)); } /** * Set its lookAt target position. * * Note that its result will be instantly overwritten if {@link VRMLookAtHead.autoUpdate} is enabled. * * If you want to track an object continuously, you might want to use {@link target} instead. * * @param position A target position, in world space */ lookAt(position) { // Look at direction in local coordinate const headRotDiffInv = _quatA$1$1 .copy(this._restHeadWorldQuaternion) .multiply(quatInvertCompat$1(this.getLookAtWorldQuaternion(_quatB$1$1))); const headPos = this.getLookAtWorldPosition(_v3B$3); const lookAtDir = _v3C$2.copy(position).sub(headPos).applyQuaternion(headRotDiffInv).normalize(); // calculate angles const [azimuthFrom, altitudeFrom] = calcAzimuthAltitude(this.faceFront); const [azimuthTo, altitudeTo] = calcAzimuthAltitude(lookAtDir); const yaw = sanitizeAngle(azimuthTo - azimuthFrom); const pitch = sanitizeAngle(altitudeFrom - altitudeTo); // spinning (1, 0, 0) CCW around Z axis makes the vector look up, while spinning (0, 0, 1) CCW around X axis makes the vector look down // apply angles this._yaw = THREE__namespace.MathUtils.RAD2DEG * yaw; this._pitch = THREE__namespace.MathUtils.RAD2DEG * pitch; this._needsUpdate = true; } /** * Update the VRMLookAtHead. * If {@link autoUpdate} is enabled, this will make it look at the {@link target}. * * @param delta deltaTime, it isn't used though. You can use the parameter if you want to use this in your own extended {@link VRMLookAt}. */ update(delta) { if (this.target != null && this.autoUpdate) { this.lookAt(this.target.getWorldPosition(_v3A$6)); } if (this._needsUpdate) { this._needsUpdate = false; this.applier.applyYawPitch(this._yaw, this._pitch); } } } VRMLookAt.EULER_ORDER = 'YXZ'; // yaw-pitch-roll const VEC3_POSITIVE_Z = new THREE__namespace.Vector3(0.0, 0.0, 1.0); const _quatA$6 = new THREE__namespace.Quaternion(); const _quatB$3 = new THREE__namespace.Quaternion(); const _eulerA = new THREE__namespace.Euler(0.0, 0.0, 0.0, 'YXZ'); /** * A class that applies eye gaze directions to a VRM. * It will be used by {@link VRMLookAt}. */ class VRMLookAtBoneApplier { /** * Create a new {@link VRMLookAtBoneApplier}. * * @param humanoid A {@link VRMHumanoid} * @param rangeMapHorizontalInner A {@link VRMLookAtRangeMap} used for inner transverse direction * @param rangeMapHorizontalOuter A {@link VRMLookAtRangeMap} used for outer transverse direction * @param rangeMapVerticalDown A {@link VRMLookAtRangeMap} used for down direction * @param rangeMapVerticalUp A {@link VRMLookAtRangeMap} used for up direction */ constructor(humanoid, rangeMapHorizontalInner, rangeMapHorizontalOuter, rangeMapVerticalDown, rangeMapVerticalUp) { this.humanoid = humanoid; this.rangeMapHorizontalInner = rangeMapHorizontalInner; this.rangeMapHorizontalOuter = rangeMapHorizontalOuter; this.rangeMapVerticalDown = rangeMapVerticalDown; this.rangeMapVerticalUp = rangeMapVerticalUp; this.faceFront = new THREE__namespace.Vector3(0.0, 0.0, 1.0); // set rest quaternions this._restQuatLeftEye = new THREE__namespace.Quaternion(); this._restQuatRightEye = new THREE__namespace.Quaternion(); this._restLeftEyeParentWorldQuat = new THREE__namespace.Quaternion(); this._restRightEyeParentWorldQuat = new THREE__namespace.Quaternion(); const leftEye = this.humanoid.getRawBoneNode('leftEye'); const rightEye = this.humanoid.getRawBoneNode('rightEye'); if (leftEye) { this._restQuatLeftEye.copy(leftEye.quaternion); getWorldQuaternionLite(leftEye.parent, this._restLeftEyeParentWorldQuat); } if (rightEye) { this._restQuatRightEye.copy(rightEye.quaternion); getWorldQuaternionLite(rightEye.parent, this._restRightEyeParentWorldQuat); } } /** * Apply the input angle to its associated VRM model. * * @param yaw Rotation around Y axis, in degree * @param pitch Rotation around X axis, in degree */ applyYawPitch(yaw, pitch) { const leftEye = this.humanoid.getRawBoneNode('leftEye'); const rightEye = this.humanoid.getRawBoneNode('rightEye'); const leftEyeNormalized = this.humanoid.getNormalizedBoneNode('leftEye'); const rightEyeNormalized = this.humanoid.getNormalizedBoneNode('rightEye'); // left if (leftEye) { if (pitch < 0.0) { _eulerA.x = -THREE__namespace.MathUtils.DEG2RAD * this.rangeMapVerticalDown.map(-pitch); } else { _eulerA.x = THREE__namespace.MathUtils.DEG2RAD * this.rangeMapVerticalUp.map(pitch); } if (yaw < 0.0) { _eulerA.y = -THREE__namespace.MathUtils.DEG2RAD * this.rangeMapHorizontalInner.map(-yaw); } else { _eulerA.y = THREE__namespace.MathUtils.DEG2RAD * this.rangeMapHorizontalOuter.map(yaw); } _quatA$6.setFromEuler(_eulerA); this._getWorldFaceFrontQuat(_quatB$3); // _quatB * _quatA * _quatB^-1 // where _quatA is LookAt rotation // and _quatB is worldFaceFrontQuat leftEyeNormalized.quaternion.copy(_quatB$3).multiply(_quatA$6).multiply(_quatB$3.invert()); _quatA$6.copy(this._restLeftEyeParentWorldQuat); // _quatA^-1 * leftEyeNormalized.quaternion * _quatA * restQuatLeftEye // where _quatA is restLeftEyeParentWorldQuat leftEye.quaternion .copy(leftEyeNormalized.quaternion) .multiply(_quatA$6) .premultiply(_quatA$6.invert()) .multiply(this._restQuatLeftEye); } // right if (rightEye) { if (pitch < 0.0) { _eulerA.x = -THREE__namespace.MathUtils.DEG2RAD * this.rangeMapVerticalDown.map(-pitch); } else { _eulerA.x = THREE__namespace.MathUtils.DEG2RAD * this.rangeMapVerticalUp.map(pitch); } if (yaw < 0.0) { _eulerA.y = -THREE__namespace.MathUtils.DEG2RAD * this.rangeMapHorizontalOuter.map(-yaw); } else { _eulerA.y = THREE__namespace.MathUtils.DEG2RAD * this.rangeMapHorizontalInner.map(yaw); } _quatA$6.setFromEuler(_eulerA); this._getWorldFaceFrontQuat(_quatB$3); // _quatB * _quatA * _quatB^-1 // where _quatA is LookAt rotation // and _quatB is worldFaceFrontQuat rightEyeNormalized.quaternion.copy(_quatB$3).multiply(_quatA$6).multiply(_quatB$3.invert()); _quatA$6.copy(this._restRightEyeParentWorldQuat); // _quatA^-1 * rightEyeNormalized.quaternion * _quatA * restQuatRightEye // where _quatA is restRightEyeParentWorldQuat rightEye.quaternion .copy(rightEyeNormalized.quaternion) .multiply(_quatA$6) .premultiply(_quatA$6.invert()) .multiply(this._restQuatRightEye); } } /** * @deprecated Use {@link applyYawPitch} instead. */ lookAt(euler) { console.warn('VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.'); const yaw = THREE__namespace.MathUtils.RAD2DEG * euler.y; const pitch = THREE__namespace.MathUtils.RAD2DEG * euler.x; this.applyYawPitch(yaw, pitch); } /** * Get a quaternion that rotates the world-space +Z unit vector to the {@link faceFront} direction. * * @param target A target `THREE.Quaternion` */ _getWorldFaceFrontQuat(target) { if (this.faceFront.distanceToSquared(VEC3_POSITIVE_Z) < 0.01) { return target.identity(); } const [faceFrontAzimuth, faceFrontAltitude] = calcAzimuthAltitude(this.faceFront); _eulerA.set(0.0, 0.5 * Math.PI + faceFrontAzimuth, faceFrontAltitude, 'YZX'); return target.setFromEuler(_eulerA); } } /** * Represent its type of applier. */ VRMLookAtBoneApplier.type = 'bone'; /** * A class that applies eye gaze directions to a VRM. * It will be used by {@link VRMLookAt}. */ class VRMLookAtExpressionApplier { /** * Create a new {@link VRMLookAtExpressionApplier}. * * @param expressions A {@link VRMExpressionManager} * @param rangeMapHorizontalInner A {@link VRMLookAtRangeMap} used for inner transverse direction * @param rangeMapHorizontalOuter A {@link VRMLookAtRangeMap} used for outer transverse direction * @param rangeMapVerticalDown A {@link VRMLookAtRangeMap} used for down direction * @param rangeMapVerticalUp A {@link VRMLookAtRangeMap} used for up direction */ constructor(expressions, rangeMapHorizontalInner, rangeMapHorizontalOuter, rangeMapVerticalDown, rangeMapVerticalUp) { this.expressions = expressions; this.rangeMapHorizontalInner = rangeMapHorizontalInner; this.rangeMapHorizontalOuter = rangeMapHorizontalOuter; this.rangeMapVerticalDown = rangeMapVerticalDown; this.rangeMapVerticalUp = rangeMapVerticalUp; } /** * Apply the input angle to its associated VRM model. * * @param yaw Rotation around Y axis, in degree * @param pitch Rotation around X axis, in degree */ applyYawPitch(yaw, pitch) { if (pitch < 0.0) { this.expressions.setValue('lookDown', 0.0); this.expressions.setValue('lookUp', this.rangeMapVerticalUp.map(-pitch)); } else { this.expressions.setValue('lookUp', 0.0); this.expressions.setValue('lookDown', this.rangeMapVerticalDown.map(pitch)); } if (yaw < 0.0) { this.expressions.setValue('lookLeft', 0.0); this.expressions.setValue('lookRight', this.rangeMapHorizontalOuter.map(-yaw)); } else { this.expressions.setValue('lookRight', 0.0); this.expressions.setValue('lookLeft', this.rangeMapHorizontalOuter.map(yaw)); } } /** * @deprecated Use {@link applyYawPitch} instead. */ lookAt(euler) { console.warn('VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.'); const yaw = THREE__namespace.MathUtils.RAD2DEG * euler.y; const pitch = THREE__namespace.MathUtils.RAD2DEG * euler.x; this.applyYawPitch(yaw, pitch); } } /** * Represent its type of applier. */ VRMLookAtExpressionApplier.type = 'expression'; class VRMLookAtRangeMap { /** * Create a new {@link VRMLookAtRangeMap}. * * @param inputMaxValue The {@link inputMaxValue} of the map * @param outputScale The {@link outputScale} of the map */ constructor(inputMaxValue, outputScale) { this.inputMaxValue = inputMaxValue; this.outputScale = outputScale; } /** * Evaluate an input value and output a mapped value. * @param src The input value */ map(src) { return this.outputScale * saturate(src / this.inputMaxValue); } } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$1$1 = new Set(['1.0', '1.0-beta']); /** * The minimum permitted value for {@link V1VRMSchema.LookAtRangeMap.inputMaxValue}. * If the given value is smaller than this, the loader shows a warning and clamps up the value. */ const INPUT_MAX_VALUE_MINIMUM = 0.01; /** * A plugin of GLTFLoader that imports a {@link VRMLookAt} from a VRM extension of a GLTF. */ class VRMLookAtLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMLookAtLoaderPlugin'; } constructor(parser, options) { this.parser = parser; this.helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const vrmHumanoid = gltf.userData.vrmHumanoid; // explicitly distinguish null and undefined // since vrmHumanoid might be null as a result if (vrmHumanoid === null) { return; } else if (vrmHumanoid === undefined) { throw new Error('VRMLookAtLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first'); } const vrmExpressionManager = gltf.userData.vrmExpressionManager; if (vrmExpressionManager === null) { return; } else if (vrmExpressionManager === undefined) { throw new Error('VRMLookAtLoaderPlugin: vrmExpressionManager is undefined. VRMExpressionLoaderPlugin have to be used first'); } gltf.userData.vrmLookAt = yield this._import(gltf, vrmHumanoid, vrmExpressionManager); }); } /** * Import a {@link VRMLookAt} from a VRM. * * @param gltf A parsed result of GLTF taken from GLTFLoader * @param humanoid A {@link VRMHumanoid} instance that represents the VRM * @param expressions A {@link VRMExpressionManager} instance that represents the VRM */ _import(gltf, humanoid, expressions) { return __awaiter$6(this, void 0, void 0, function* () { if (humanoid == null || expressions == null) { return null; } const v1Result = yield this._v1Import(gltf, humanoid, expressions); if (v1Result) { return v1Result; } const v0Result = yield this._v0Import(gltf, humanoid, expressions); if (v0Result) { return v0Result; } return null; }); } _v1Import(gltf, humanoid, expressions) { var _a, _b, _c; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$1$1.has(specVersion)) { console.warn(`VRMLookAtLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaLookAt = extension.lookAt; if (!schemaLookAt) { return null; } const defaultOutputScale = schemaLookAt.type === 'expression' ? 1.0 : 10.0; const mapHI = this._v1ImportRangeMap(schemaLookAt.rangeMapHorizontalInner, defaultOutputScale); const mapHO = this._v1ImportRangeMap(schemaLookAt.rangeMapHorizontalOuter, defaultOutputScale); const mapVD = this._v1ImportRangeMap(schemaLookAt.rangeMapVerticalDown, defaultOutputScale); const mapVU = this._v1ImportRangeMap(schemaLookAt.rangeMapVerticalUp, defaultOutputScale); let applier; if (schemaLookAt.type === 'expression') { applier = new VRMLookAtExpressionApplier(expressions, mapHI, mapHO, mapVD, mapVU); } else { applier = new VRMLookAtBoneApplier(humanoid, mapHI, mapHO, mapVD, mapVU); } const lookAt = this._importLookAt(humanoid, applier); lookAt.offsetFromHeadBone.fromArray((_c = schemaLookAt.offsetFromHeadBone) !== null && _c !== void 0 ? _c : [0.0, 0.06, 0.0]); return lookAt; }); } _v1ImportRangeMap(schemaRangeMap, defaultOutputScale) { var _a, _b; let inputMaxValue = (_a = schemaRangeMap === null || schemaRangeMap === void 0 ? void 0 : schemaRangeMap.inputMaxValue) !== null && _a !== void 0 ? _a : 90.0; const outputScale = (_b = schemaRangeMap === null || schemaRangeMap === void 0 ? void 0 : schemaRangeMap.outputScale) !== null && _b !== void 0 ? _b : defaultOutputScale; // It might cause NaN when `inputMaxValue` is too small // which makes the mesh of the head disappear // See: https://github.com/pixiv/three-vrm/issues/1201 if (inputMaxValue < INPUT_MAX_VALUE_MINIMUM) { console.warn('VRMLookAtLoaderPlugin: inputMaxValue of a range map is too small. Consider reviewing the range map!'); inputMaxValue = INPUT_MAX_VALUE_MINIMUM; } return new VRMLookAtRangeMap(inputMaxValue, outputScale); } _v0Import(gltf, humanoid, expressions) { var _a, _b, _c, _d; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaFirstPerson = vrmExt.firstPerson; if (!schemaFirstPerson) { return null; } const defaultOutputScale = schemaFirstPerson.lookAtTypeName === 'BlendShape' ? 1.0 : 10.0; const mapHI = this._v0ImportDegreeMap(schemaFirstPerson.lookAtHorizontalInner, defaultOutputScale); const mapHO = this._v0ImportDegreeMap(schemaFirstPerson.lookAtHorizontalOuter, defaultOutputScale); const mapVD = this._v0ImportDegreeMap(schemaFirstPerson.lookAtVerticalDown, defaultOutputScale); const mapVU = this._v0ImportDegreeMap(schemaFirstPerson.lookAtVerticalUp, defaultOutputScale); let applier; if (schemaFirstPerson.lookAtTypeName === 'BlendShape') { applier = new VRMLookAtExpressionApplier(expressions, mapHI, mapHO, mapVD, mapVU); } else { applier = new VRMLookAtBoneApplier(humanoid, mapHI, mapHO, mapVD, mapVU); } const lookAt = this._importLookAt(humanoid, applier); if (schemaFirstPerson.firstPersonBoneOffset) { lookAt.offsetFromHeadBone.set((_b = schemaFirstPerson.firstPersonBoneOffset.x) !== null && _b !== void 0 ? _b : 0.0, (_c = schemaFirstPerson.firstPersonBoneOffset.y) !== null && _c !== void 0 ? _c : 0.06, -((_d = schemaFirstPerson.firstPersonBoneOffset.z) !== null && _d !== void 0 ? _d : 0.0)); } else { lookAt.offsetFromHeadBone.set(0.0, 0.06, 0.0); } // VRM 0.0 are facing Z- instead of Z+ lookAt.faceFront.set(0.0, 0.0, -1.0); if (applier instanceof VRMLookAtBoneApplier) { applier.faceFront.set(0.0, 0.0, -1.0); } return lookAt; }); } _v0ImportDegreeMap(schemaDegreeMap, defaultOutputScale) { var _a, _b; const curve = schemaDegreeMap === null || schemaDegreeMap === void 0 ? void 0 : schemaDegreeMap.curve; if (JSON.stringify(curve) !== '[0,0,0,1,1,1,1,0]') { console.warn('Curves of LookAtDegreeMap defined in VRM 0.0 are not supported'); } let xRange = (_a = schemaDegreeMap === null || schemaDegreeMap === void 0 ? void 0 : schemaDegreeMap.xRange) !== null && _a !== void 0 ? _a : 90.0; const yRange = (_b = schemaDegreeMap === null || schemaDegreeMap === void 0 ? void 0 : schemaDegreeMap.yRange) !== null && _b !== void 0 ? _b : defaultOutputScale; // It might cause NaN when `xRange` is too small // which makes the mesh of the head disappear // See: https://github.com/pixiv/three-vrm/issues/1201 if (xRange < INPUT_MAX_VALUE_MINIMUM) { console.warn('VRMLookAtLoaderPlugin: xRange of a degree map is too small. Consider reviewing the degree map!'); xRange = INPUT_MAX_VALUE_MINIMUM; } return new VRMLookAtRangeMap(xRange, yRange); } _importLookAt(humanoid, applier) { const lookAt = new VRMLookAt(humanoid, applier); if (this.helperRoot) { const helper = new VRMLookAtHelper(lookAt); this.helperRoot.add(helper); helper.renderOrder = this.helperRoot.renderOrder; } return lookAt; } } /* eslint-disable @typescript-eslint/naming-convention */ /** * Represents a type of applier. */ const VRMLookAtTypeName = { Bone: 'bone', Expression: 'expression', }; /** * Yoinked from https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/GLTFLoader.js */ function resolveURL(url, path) { // Invalid URL if (typeof url !== 'string' || url === '') return ''; // Host Relative URL if (/^https?:\/\//i.test(path) && /^\//.test(url)) { path = path.replace(/(^https?:\/\/[^/]+).*/i, '$1'); } // Absolute URL http://,https://,// if (/^(https?:)?\/\//i.test(url)) return url; // Data URI if (/^data:.*,.*$/i.test(url)) return url; // Blob URL if (/^blob:.*$/i.test(url)) return url; // Relative URL return path + url; } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$5 = new Set(['1.0', '1.0-beta']); /** * A plugin of GLTFLoader that imports a {@link VRM1Meta} from a VRM extension of a GLTF. */ class VRMMetaLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMMetaLoaderPlugin'; } constructor(parser, options) { var _a, _b, _c; this.parser = parser; this.needThumbnailImage = (_a = options === null || options === void 0 ? void 0 : options.needThumbnailImage) !== null && _a !== void 0 ? _a : true; this.acceptLicenseUrls = (_b = options === null || options === void 0 ? void 0 : options.acceptLicenseUrls) !== null && _b !== void 0 ? _b : ['https://vrm.dev/licenses/1.0/']; this.acceptV0Meta = (_c = options === null || options === void 0 ? void 0 : options.acceptV0Meta) !== null && _c !== void 0 ? _c : true; } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { gltf.userData.vrmMeta = yield this._import(gltf); }); } _import(gltf) { return __awaiter$6(this, void 0, void 0, function* () { const v1Result = yield this._v1Import(gltf); if (v1Result != null) { return v1Result; } const v0Result = yield this._v0Import(gltf); if (v0Result != null) { return v0Result; } return null; }); } _v1Import(gltf) { var _a, _b, _c; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRMC_vrm')) !== -1; if (!isVRMUsed) { return null; } const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRMC_vrm']; if (extension == null) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$5.has(specVersion)) { console.warn(`VRMMetaLoaderPlugin: Unknown VRMC_vrm specVersion "${specVersion}"`); return null; } const schemaMeta = extension.meta; if (!schemaMeta) { return null; } // throw an error if acceptV0Meta is false const licenseUrl = schemaMeta.licenseUrl; const acceptLicenseUrlsSet = new Set(this.acceptLicenseUrls); if (!acceptLicenseUrlsSet.has(licenseUrl)) { throw new Error(`VRMMetaLoaderPlugin: The license url "${licenseUrl}" is not accepted`); } let thumbnailImage = undefined; if (this.needThumbnailImage && schemaMeta.thumbnailImage != null) { thumbnailImage = (_c = (yield this._extractGLTFImage(schemaMeta.thumbnailImage))) !== null && _c !== void 0 ? _c : undefined; } return { metaVersion: '1', name: schemaMeta.name, version: schemaMeta.version, authors: schemaMeta.authors, copyrightInformation: schemaMeta.copyrightInformation, contactInformation: schemaMeta.contactInformation, references: schemaMeta.references, thirdPartyLicenses: schemaMeta.thirdPartyLicenses, thumbnailImage, licenseUrl: schemaMeta.licenseUrl, avatarPermission: schemaMeta.avatarPermission, allowExcessivelyViolentUsage: schemaMeta.allowExcessivelyViolentUsage, allowExcessivelySexualUsage: schemaMeta.allowExcessivelySexualUsage, commercialUsage: schemaMeta.commercialUsage, allowPoliticalOrReligiousUsage: schemaMeta.allowPoliticalOrReligiousUsage, allowAntisocialOrHateUsage: schemaMeta.allowAntisocialOrHateUsage, creditNotation: schemaMeta.creditNotation, allowRedistribution: schemaMeta.allowRedistribution, modification: schemaMeta.modification, otherLicenseUrl: schemaMeta.otherLicenseUrl, }; }); } _v0Import(gltf) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use vrm const vrmExt = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a.VRM; if (!vrmExt) { return null; } const schemaMeta = vrmExt.meta; if (!schemaMeta) { return null; } // throw an error if acceptV0Meta is false if (!this.acceptV0Meta) { throw new Error('VRMMetaLoaderPlugin: Attempted to load VRM0.0 meta but acceptV0Meta is false'); } // load thumbnail texture let texture; if (this.needThumbnailImage && schemaMeta.texture != null && schemaMeta.texture !== -1) { texture = yield this.parser.getDependency('texture', schemaMeta.texture); } return { metaVersion: '0', allowedUserName: schemaMeta.allowedUserName, author: schemaMeta.author, commercialUssageName: schemaMeta.commercialUssageName, contactInformation: schemaMeta.contactInformation, licenseName: schemaMeta.licenseName, otherLicenseUrl: schemaMeta.otherLicenseUrl, otherPermissionUrl: schemaMeta.otherPermissionUrl, reference: schemaMeta.reference, sexualUssageName: schemaMeta.sexualUssageName, texture: texture !== null && texture !== void 0 ? texture : undefined, title: schemaMeta.title, version: schemaMeta.version, violentUssageName: schemaMeta.violentUssageName, }; }); } _extractGLTFImage(index) { var _a; return __awaiter$6(this, void 0, void 0, function* () { const json = this.parser.json; const source = (_a = json.images) === null || _a === void 0 ? void 0 : _a[index]; if (source == null) { console.warn(`VRMMetaLoaderPlugin: Attempt to use images[${index}] of glTF as a thumbnail but the image doesn't exist`); return null; } // Ref: https://github.com/mrdoob/three.js/blob/r124/examples/jsm/loaders/GLTFLoader.js#L2467 // `source.uri` might be a reference to a file let sourceURI = source.uri; // Load the binary as a blob if (source.bufferView != null) { const bufferView = yield this.parser.getDependency('bufferView', source.bufferView); const blob = new Blob([bufferView], { type: source.mimeType }); sourceURI = URL.createObjectURL(blob); } if (sourceURI == null) { console.warn(`VRMMetaLoaderPlugin: Attempt to use images[${index}] of glTF as a thumbnail but the image couldn't load properly`); return null; } const loader = new THREE__namespace.ImageLoader(); return yield loader.loadAsync(resolveURL(sourceURI, this.parser.options.path)).catch((error) => { console.error(error); console.warn('VRMMetaLoaderPlugin: Failed to load a thumbnail image'); return null; }); }); } } /** * A class that represents a single VRM model. * This class only includes core spec of the VRM (`VRMC_vrm`). */ class VRMCore { /** * Create a new VRM instance. * * @param params [[VRMParameters]] that represents components of the VRM */ constructor(params) { this.scene = params.scene; this.meta = params.meta; this.humanoid = params.humanoid; this.expressionManager = params.expressionManager; this.firstPerson = params.firstPerson; this.lookAt = params.lookAt; } /** * **You need to call this on your update loop.** * * This function updates every VRM components. * * @param delta deltaTime */ update(delta) { this.humanoid.update(); if (this.lookAt) { this.lookAt.update(delta); } if (this.expressionManager) { this.expressionManager.update(); } } } class VRMCoreLoaderPlugin { get name() { // We should use the extension name instead but we have multiple plugins for an extension... return 'VRMC_vrm'; } constructor(parser, options) { var _a, _b, _c, _d, _e; this.parser = parser; const helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; const autoUpdateHumanBones = options === null || options === void 0 ? void 0 : options.autoUpdateHumanBones; this.expressionPlugin = (_a = options === null || options === void 0 ? void 0 : options.expressionPlugin) !== null && _a !== void 0 ? _a : new VRMExpressionLoaderPlugin(parser); this.firstPersonPlugin = (_b = options === null || options === void 0 ? void 0 : options.firstPersonPlugin) !== null && _b !== void 0 ? _b : new VRMFirstPersonLoaderPlugin(parser); this.humanoidPlugin = (_c = options === null || options === void 0 ? void 0 : options.humanoidPlugin) !== null && _c !== void 0 ? _c : new VRMHumanoidLoaderPlugin(parser, { helperRoot, autoUpdateHumanBones }); this.lookAtPlugin = (_d = options === null || options === void 0 ? void 0 : options.lookAtPlugin) !== null && _d !== void 0 ? _d : new VRMLookAtLoaderPlugin(parser, { helperRoot }); this.metaPlugin = (_e = options === null || options === void 0 ? void 0 : options.metaPlugin) !== null && _e !== void 0 ? _e : new VRMMetaLoaderPlugin(parser); } afterRoot(gltf) { return __awaiter$6(this, void 0, void 0, function* () { yield this.metaPlugin.afterRoot(gltf); yield this.humanoidPlugin.afterRoot(gltf); yield this.expressionPlugin.afterRoot(gltf); yield this.lookAtPlugin.afterRoot(gltf); yield this.firstPersonPlugin.afterRoot(gltf); const meta = gltf.userData.vrmMeta; const humanoid = gltf.userData.vrmHumanoid; // meta and humanoid are required to be a VRM. // Don't create VRM if they are null if (meta && humanoid) { const vrmCore = new VRMCore({ scene: gltf.scene, expressionManager: gltf.userData.vrmExpressionManager, firstPerson: gltf.userData.vrmFirstPerson, humanoid, lookAt: gltf.userData.vrmLookAt, meta, }); gltf.userData.vrmCore = vrmCore; } }); } } /** * A class that represents a single VRM model. */ class VRM extends VRMCore { /** * Create a new VRM instance. * * @param params [[VRMParameters]] that represents components of the VRM */ constructor(params) { super(params); this.materials = params.materials; this.springBoneManager = params.springBoneManager; this.nodeConstraintManager = params.nodeConstraintManager; } /** * **You need to call this on your update loop.** * * This function updates every VRM components. * * @param delta deltaTime */ update(delta) { super.update(delta); if (this.nodeConstraintManager) { this.nodeConstraintManager.update(); } if (this.springBoneManager) { this.springBoneManager.update(delta); } if (this.materials) { this.materials.forEach((material) => { if (material.update) { material.update(delta); } }); } } } /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$5(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } /*! * @pixiv/three-vrm-materials-mtoon v2.0.6 * MToon (toon material) module for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-materials-mtoon is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$4(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } var vertexShader = "// #define PHONG\n\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n varying vec3 vNormal;\n#endif\n\n#include \n\n// #include \n#ifdef MTOON_USE_UV\n varying vec2 vUv;\n\n // COMPAT: pre-r151 uses a common uvTransform\n #if THREE_VRM_THREE_REVISION < 151\n uniform mat3 uvTransform;\n #endif\n#endif\n\n// #include \n// COMAPT: pre-r151 uses uv2 for lightMap and aoMap\n#if THREE_VRM_THREE_REVISION < 151\n #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n attribute vec2 uv2;\n varying vec2 vUv2;\n uniform mat3 uv2Transform;\n #endif\n#endif\n\n// #include \n// #include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n\n#ifdef USE_OUTLINEWIDTHMULTIPLYTEXTURE\n uniform sampler2D outlineWidthMultiplyTexture;\n uniform mat3 outlineWidthMultiplyTextureUvTransform;\n#endif\n\nuniform float outlineWidthFactor;\n\nvoid main() {\n\n // #include \n #ifdef MTOON_USE_UV\n // COMPAT: pre-r151 uses a common uvTransform\n #if THREE_VRM_THREE_REVISION >= 151\n vUv = uv;\n #else\n vUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n #endif\n #endif\n\n // #include \n // COMAPT: pre-r151 uses uv2 for lightMap and aoMap\n #if THREE_VRM_THREE_REVISION < 151\n #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n #endif\n #endif\n\n #include \n\n #include \n #include \n #include \n #include \n\n // we need this to compute the outline properly\n objectNormal = normalize( objectNormal );\n\n #include \n\n #ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n vNormal = normalize( transformedNormal );\n #endif\n\n #include \n\n #include \n #include \n // #include \n #include \n #include \n #include \n\n vViewPosition = - mvPosition.xyz;\n\n float outlineTex = 1.0;\n\n #ifdef OUTLINE\n #ifdef USE_OUTLINEWIDTHMULTIPLYTEXTURE\n vec2 outlineWidthMultiplyTextureUv = ( outlineWidthMultiplyTextureUvTransform * vec3( vUv, 1 ) ).xy;\n outlineTex = texture2D( outlineWidthMultiplyTexture, outlineWidthMultiplyTextureUv ).g;\n #endif\n\n #ifdef OUTLINE_WIDTH_WORLD\n float worldNormalLength = length( transformedNormal );\n vec3 outlineOffset = outlineWidthFactor * outlineTex * worldNormalLength * objectNormal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4( outlineOffset + transformed, 1.0 );\n #endif\n\n #ifdef OUTLINE_WIDTH_SCREEN\n vec3 clipNormal = ( projectionMatrix * modelViewMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n vec2 projectedNormal = normalize( clipNormal.xy );\n projectedNormal.x *= projectionMatrix[ 0 ].x / projectionMatrix[ 1 ].y;\n gl_Position.xy += 2.0 * outlineWidthFactor * outlineTex * projectedNormal.xy;\n #endif\n\n gl_Position.z += 1E-6 * gl_Position.w; // anti-artifact magic\n #endif\n\n #include \n // #include \n #include \n #include \n\n}"; var fragmentShader = "// #define PHONG\n\nuniform vec3 litFactor;\n\nuniform float opacity;\n\nuniform vec3 shadeColorFactor;\n#ifdef USE_SHADEMULTIPLYTEXTURE\n uniform sampler2D shadeMultiplyTexture;\n uniform mat3 shadeMultiplyTextureUvTransform;\n#endif\n\nuniform float shadingShiftFactor;\nuniform float shadingToonyFactor;\n\n#ifdef USE_SHADINGSHIFTTEXTURE\n uniform sampler2D shadingShiftTexture;\n uniform mat3 shadingShiftTextureUvTransform;\n uniform float shadingShiftTextureScale;\n#endif\n\nuniform float giEqualizationFactor;\n\nuniform vec3 parametricRimColorFactor;\n#ifdef USE_RIMMULTIPLYTEXTURE\n uniform sampler2D rimMultiplyTexture;\n uniform mat3 rimMultiplyTextureUvTransform;\n#endif\nuniform float rimLightingMixFactor;\nuniform float parametricRimFresnelPowerFactor;\nuniform float parametricRimLiftFactor;\n\n#ifdef USE_MATCAPTEXTURE\n uniform vec3 matcapFactor;\n uniform sampler2D matcapTexture;\n uniform mat3 matcapTextureUvTransform;\n#endif\n\nuniform vec3 emissive;\nuniform float emissiveIntensity;\n\nuniform vec3 outlineColorFactor;\nuniform float outlineLightingMixFactor;\n\n#ifdef USE_UVANIMATIONMASKTEXTURE\n uniform sampler2D uvAnimationMaskTexture;\n uniform mat3 uvAnimationMaskTextureUvTransform;\n#endif\n\nuniform float uvAnimationScrollXOffset;\nuniform float uvAnimationScrollYOffset;\nuniform float uvAnimationRotationPhase;\n\n#include \n#include \n#include \n#include \n\n// #include \n#if ( defined( MTOON_USE_UV ) && !defined( MTOON_UVS_VERTEX_ONLY ) )\n varying vec2 vUv;\n#endif\n\n// #include \n// COMAPT: pre-r151 uses uv2 for lightMap and aoMap\n#if THREE_VRM_THREE_REVISION < 151\n #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n varying vec2 vUv2;\n #endif\n#endif\n\n#include \n\n#ifdef USE_MAP\n uniform mat3 mapUvTransform;\n#endif\n\n// #include \n\n#if THREE_VRM_THREE_REVISION >= 132\n #include \n#endif\n\n#include \n// #include \n#include \n\n#ifdef USE_EMISSIVEMAP\n uniform mat3 emissiveMapUvTransform;\n#endif\n\n// #include \n// #include \n// #include \n#include \n\n// #include \n// COMPAT: pre-r151 doesn't have BRDF_Lambert in \n#if THREE_VRM_THREE_REVISION < 151\n vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n return RECIPROCAL_PI * diffuseColor;\n }\n#endif\n\n#include \n\n#if THREE_VRM_THREE_REVISION >= 132\n #include \n#endif\n\n// #include \nvarying vec3 vViewPosition;\n\n#if THREE_VRM_THREE_REVISION < 132\n #ifndef FLAT_SHADED\n varying vec3 vNormal;\n #endif\n#endif\n\nstruct MToonMaterial {\n vec3 diffuseColor;\n vec3 shadeColor;\n float shadingShift;\n};\n\nfloat linearstep( float a, float b, float t ) {\n return clamp( ( t - a ) / ( b - a ), 0.0, 1.0 );\n}\n\n/**\n * Convert NdotL into toon shading factor using shadingShift and shadingToony\n */\nfloat getShading(\n const in float dotNL,\n const in float shadow,\n const in float shadingShift\n) {\n float shading = dotNL;\n shading = shading + shadingShift;\n shading = linearstep( -1.0 + shadingToonyFactor, 1.0 - shadingToonyFactor, shading );\n shading *= shadow;\n return shading;\n}\n\n/**\n * Mix diffuseColor and shadeColor using shading factor and light color\n */\nvec3 getDiffuse(\n const in MToonMaterial material,\n const in float shading,\n in vec3 lightColor\n) {\n #ifdef DEBUG_LITSHADERATE\n return vec3( BRDF_Lambert( shading * lightColor ) );\n #endif\n\n #if THREE_VRM_THREE_REVISION < 132\n #ifndef PHYSICALLY_CORRECT_LIGHTS\n lightColor *= PI;\n #endif\n #endif\n\n vec3 col = lightColor * BRDF_Lambert( mix( material.shadeColor, material.diffuseColor, shading ) );\n\n // The \"comment out if you want to PBR absolutely\" line\n #ifdef V0_COMPAT_SHADE\n col = min( col, material.diffuseColor );\n #endif\n\n return col;\n}\n\n#if THREE_VRM_THREE_REVISION >= 157\n void RE_Direct_MToon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in MToonMaterial material, const in float shadow, inout ReflectedLight reflectedLight ) {\n float dotNL = clamp( dot( geometryNormal, directLight.direction ), -1.0, 1.0 );\n vec3 irradiance = directLight.color;\n\n #if THREE_VRM_THREE_REVISION < 132\n #ifndef PHYSICALLY_CORRECT_LIGHTS\n irradiance *= PI;\n #endif\n #endif\n\n // directSpecular will be used for rim lighting, not an actual specular\n reflectedLight.directSpecular += irradiance;\n\n irradiance *= dotNL;\n\n float shading = getShading( dotNL, shadow, material.shadingShift );\n\n // toon shaded diffuse\n reflectedLight.directDiffuse += getDiffuse( material, shading, directLight.color );\n }\n\n void RE_IndirectDiffuse_MToon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in MToonMaterial material, inout ReflectedLight reflectedLight ) {\n // indirect diffuse will use diffuseColor, no shadeColor involved\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n // directSpecular will be used for rim lighting, not an actual specular\n reflectedLight.directSpecular += irradiance;\n }\n#else\n void RE_Direct_MToon( const in IncidentLight directLight, const in GeometricContext geometry, const in MToonMaterial material, const in float shadow, inout ReflectedLight reflectedLight ) {\n float dotNL = clamp( dot( geometry.normal, directLight.direction ), -1.0, 1.0 );\n vec3 irradiance = directLight.color;\n\n #if THREE_VRM_THREE_REVISION < 132\n #ifndef PHYSICALLY_CORRECT_LIGHTS\n irradiance *= PI;\n #endif\n #endif\n\n // directSpecular will be used for rim lighting, not an actual specular\n reflectedLight.directSpecular += irradiance;\n\n irradiance *= dotNL;\n\n float shading = getShading( dotNL, shadow, material.shadingShift );\n\n // toon shaded diffuse\n reflectedLight.directDiffuse += getDiffuse( material, shading, directLight.color );\n }\n\n void RE_IndirectDiffuse_MToon( const in vec3 irradiance, const in GeometricContext geometry, const in MToonMaterial material, inout ReflectedLight reflectedLight ) {\n // indirect diffuse will use diffuseColor, no shadeColor involved\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n // directSpecular will be used for rim lighting, not an actual specular\n reflectedLight.directSpecular += irradiance;\n }\n#endif\n\n#define RE_Direct RE_Direct_MToon\n#define RE_IndirectDiffuse RE_IndirectDiffuse_MToon\n#define Material_LightProbeLOD( material ) (0)\n\n#include \n// #include \n\n// #include \n#ifdef USE_NORMALMAP\n\n uniform sampler2D normalMap;\n uniform mat3 normalMapUvTransform;\n uniform vec2 normalScale;\n\n#endif\n\n// COMPAT: USE_NORMALMAP_OBJECTSPACE used to be OBJECTSPACE_NORMALMAP in pre-r151\n#if defined( USE_NORMALMAP_OBJECTSPACE ) || defined( OBJECTSPACE_NORMALMAP )\n\n uniform mat3 normalMatrix;\n\n#endif\n\n// COMPAT: USE_NORMALMAP_TANGENTSPACE used to be TANGENTSPACE_NORMALMAP in pre-r151\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( TANGENTSPACE_NORMALMAP ) )\n\n // Per-Pixel Tangent Space Normal Mapping\n // http://hacksoflife.blogspot.ch/2009/11/per-pixel-tangent-space-normal-mapping.html\n\n // three-vrm specific change: it requires `uv` as an input in order to support uv scrolls\n\n // Temporary compat against shader change @ Three.js r126, r151\n #if THREE_VRM_THREE_REVISION >= 151\n\n mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\n vec3 q0 = dFdx( eye_pos.xyz );\n vec3 q1 = dFdy( eye_pos.xyz );\n vec2 st0 = dFdx( uv.st );\n vec2 st1 = dFdy( uv.st );\n\n vec3 N = surf_norm;\n\n vec3 q1perp = cross( q1, N );\n vec3 q0perp = cross( N, q0 );\n\n vec3 T = q1perp * st0.x + q0perp * st1.x;\n vec3 B = q1perp * st0.y + q0perp * st1.y;\n\n float det = max( dot( T, T ), dot( B, B ) );\n float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\n return mat3( T * scale, B * scale, N );\n\n }\n\n #elif THREE_VRM_THREE_REVISION >= 126\n\n vec3 perturbNormal2Arb( vec2 uv, vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\n vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n vec2 st0 = dFdx( uv.st );\n vec2 st1 = dFdy( uv.st );\n\n vec3 N = normalize( surf_norm );\n\n vec3 q1perp = cross( q1, N );\n vec3 q0perp = cross( N, q0 );\n\n vec3 T = q1perp * st0.x + q0perp * st1.x;\n vec3 B = q1perp * st0.y + q0perp * st1.y;\n\n // three-vrm specific change: Workaround for the issue that happens when delta of uv = 0.0\n // TODO: Is this still required? Or shall I make a PR about it?\n if ( length( T ) == 0.0 || length( B ) == 0.0 ) {\n return surf_norm;\n }\n\n float det = max( dot( T, T ), dot( B, B ) );\n float scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\n return normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\n }\n\n #else\n\n vec3 perturbNormal2Arb( vec2 uv, vec3 eye_pos, vec3 surf_norm, vec3 mapN ) {\n\n // Workaround for Adreno 3XX dFd*( vec3 ) bug. See #9988\n\n vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n vec2 st0 = dFdx( uv.st );\n vec2 st1 = dFdy( uv.st );\n\n float scale = sign( st1.t * st0.s - st0.t * st1.s ); // we do not care about the magnitude\n\n vec3 S = ( q0 * st1.t - q1 * st0.t ) * scale;\n vec3 T = ( - q0 * st1.s + q1 * st0.s ) * scale;\n\n // three-vrm specific change: Workaround for the issue that happens when delta of uv = 0.0\n // TODO: Is this still required? Or shall I make a PR about it?\n\n if ( length( S ) == 0.0 || length( T ) == 0.0 ) {\n return surf_norm;\n }\n\n S = normalize( S );\n T = normalize( T );\n vec3 N = normalize( surf_norm );\n\n #ifdef DOUBLE_SIDED\n\n // Workaround for Adreno GPUs gl_FrontFacing bug. See #15850 and #10331\n\n bool frontFacing = dot( cross( S, T ), N ) > 0.0;\n\n mapN.xy *= ( float( frontFacing ) * 2.0 - 1.0 );\n\n #else\n\n mapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\n #endif\n\n mat3 tsn = mat3( S, T, N );\n return normalize( tsn * mapN );\n\n }\n\n #endif\n\n#endif\n\n// #include \n#include \n#include \n\n// == post correction ==========================================================\nvoid postCorrection() {\n #include \n #include \n #include \n #include \n #include \n}\n\n// == main procedure ===========================================================\nvoid main() {\n #include \n\n vec2 uv = vec2(0.5, 0.5);\n\n #if ( defined( MTOON_USE_UV ) && !defined( MTOON_UVS_VERTEX_ONLY ) )\n uv = vUv;\n\n float uvAnimMask = 1.0;\n #ifdef USE_UVANIMATIONMASKTEXTURE\n vec2 uvAnimationMaskTextureUv = ( uvAnimationMaskTextureUvTransform * vec3( uv, 1 ) ).xy;\n uvAnimMask = texture2D( uvAnimationMaskTexture, uvAnimationMaskTextureUv ).b;\n #endif\n\n uv = uv + vec2( uvAnimationScrollXOffset, uvAnimationScrollYOffset ) * uvAnimMask;\n float uvRotCos = cos( uvAnimationRotationPhase * uvAnimMask );\n float uvRotSin = sin( uvAnimationRotationPhase * uvAnimMask );\n uv = mat2( uvRotCos, -uvRotSin, uvRotSin, uvRotCos ) * ( uv - 0.5 ) + 0.5;\n #endif\n\n #ifdef DEBUG_UV\n gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n #if ( defined( MTOON_USE_UV ) && !defined( MTOON_UVS_VERTEX_ONLY ) )\n gl_FragColor = vec4( uv, 0.0, 1.0 );\n #endif\n return;\n #endif\n\n vec4 diffuseColor = vec4( litFactor, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive * emissiveIntensity;\n\n #include \n\n // #include \n #ifdef USE_MAP\n vec2 mapUv = ( mapUvTransform * vec3( uv, 1 ) ).xy;\n vec4 sampledDiffuseColor = texture2D( map, mapUv );\n #ifdef DECODE_VIDEO_TEXTURE\n sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n #endif\n diffuseColor *= sampledDiffuseColor;\n #endif\n\n // #include \n #if ( defined( USE_COLOR ) && !defined( IGNORE_VERTEX_COLOR ) )\n diffuseColor.rgb *= vColor;\n #endif\n\n // #include \n\n #include \n\n // #include \n\n // #include \n float faceDirection = gl_FrontFacing ? 1.0 : -1.0;\n\n #ifdef FLAT_SHADED\n\n vec3 fdx = dFdx( vViewPosition );\n vec3 fdy = dFdy( vViewPosition );\n vec3 normal = normalize( cross( fdx, fdy ) );\n\n #else\n\n vec3 normal = normalize( vNormal );\n\n #ifdef DOUBLE_SIDED\n\n normal *= faceDirection;\n\n #endif\n\n #endif\n\n #ifdef USE_NORMALMAP\n\n vec2 normalMapUv = ( normalMapUvTransform * vec3( uv, 1 ) ).xy;\n\n #endif\n\n #ifdef USE_NORMALMAP_TANGENTSPACE\n\n #ifdef USE_TANGENT\n\n mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\n #else\n\n mat3 tbn = getTangentFrame( - vViewPosition, normal, normalMapUv );\n\n #endif\n\n #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\n tbn[0] *= faceDirection;\n tbn[1] *= faceDirection;\n\n #endif\n\n #endif\n\n #ifdef USE_CLEARCOAT_NORMALMAP\n\n #ifdef USE_TANGENT\n\n mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\n #else\n\n mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\n #endif\n\n #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\n tbn2[0] *= faceDirection;\n tbn2[1] *= faceDirection;\n\n #endif\n\n #endif\n\n // non perturbed normal for clearcoat among others\n\n vec3 nonPerturbedNormal = normal;\n\n #ifdef OUTLINE\n normal *= -1.0;\n #endif\n\n // #include \n\n // COMPAT: USE_NORMALMAP_OBJECTSPACE used to be OBJECTSPACE_NORMALMAP in pre-r151\n #if defined( USE_NORMALMAP_OBJECTSPACE ) || defined( OBJECTSPACE_NORMALMAP )\n\n normal = texture2D( normalMap, normalMapUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals\n\n #ifdef FLIP_SIDED\n\n normal = - normal;\n\n #endif\n\n #ifdef DOUBLE_SIDED\n\n // Temporary compat against shader change @ Three.js r126\n // See: #21205, #21307, #21299\n #if THREE_VRM_THREE_REVISION >= 126\n\n normal = normal * faceDirection;\n\n #else\n\n normal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\n #endif\n\n #endif\n\n normal = normalize( normalMatrix * normal );\n\n // COMPAT: USE_NORMALMAP_TANGENTSPACE used to be TANGENTSPACE_NORMALMAP in pre-r151\n #elif defined( USE_NORMALMAP_TANGENTSPACE ) || defined( TANGENTSPACE_NORMALMAP )\n\n vec3 mapN = texture2D( normalMap, normalMapUv ).xyz * 2.0 - 1.0;\n mapN.xy *= normalScale;\n\n // COMPAT: pre-r151\n #if THREE_VRM_THREE_REVISION >= 151 || defined( USE_TANGENT )\n\n normal = normalize( tbn * mapN );\n\n #else\n\n // pre-r126\n #if THREE_VRM_THREE_REVISION >= 126\n\n normal = perturbNormal2Arb( uv, -vViewPosition, normal, mapN, faceDirection );\n\n #else\n\n normal = perturbNormal2Arb( uv, -vViewPosition, normal, mapN );\n\n #endif\n\n #endif\n\n #endif\n\n // #include \n #ifdef USE_EMISSIVEMAP\n vec2 emissiveMapUv = ( emissiveMapUvTransform * vec3( uv, 1 ) ).xy;\n totalEmissiveRadiance *= texture2D( emissiveMap, emissiveMapUv ).rgb;\n #endif\n\n #ifdef DEBUG_NORMAL\n gl_FragColor = vec4( 0.5 + 0.5 * normal, 1.0 );\n return;\n #endif\n\n // -- MToon: lighting --------------------------------------------------------\n // accumulation\n // #include \n MToonMaterial material;\n\n material.diffuseColor = diffuseColor.rgb;\n\n material.shadeColor = shadeColorFactor;\n #ifdef USE_SHADEMULTIPLYTEXTURE\n vec2 shadeMultiplyTextureUv = ( shadeMultiplyTextureUvTransform * vec3( uv, 1 ) ).xy;\n material.shadeColor *= texture2D( shadeMultiplyTexture, shadeMultiplyTextureUv ).rgb;\n #endif\n\n #if ( defined( USE_COLOR ) && !defined( IGNORE_VERTEX_COLOR ) )\n material.shadeColor.rgb *= vColor;\n #endif\n\n material.shadingShift = shadingShiftFactor;\n #ifdef USE_SHADINGSHIFTTEXTURE\n vec2 shadingShiftTextureUv = ( shadingShiftTextureUvTransform * vec3( uv, 1 ) ).xy;\n material.shadingShift += texture2D( shadingShiftTexture, shadingShiftTextureUv ).r * shadingShiftTextureScale;\n #endif\n\n // #include \n\n // MToon Specific changes:\n // Since we want to take shadows into account of shading instead of irradiance,\n // we had to modify the codes that multiplies the results of shadowmap into color of direct lights.\n\n #if THREE_VRM_THREE_REVISION >= 157\n vec3 geometryPosition = - vViewPosition;\n vec3 geometryNormal = normal;\n vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n \n vec3 geometryClearcoatNormal;\n\n #ifdef USE_CLEARCOAT\n\n geometryClearcoatNormal = clearcoatNormal;\n\n #endif\n #else\n GeometricContext geometry;\n\n geometry.position = - vViewPosition;\n geometry.normal = normal;\n geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n\n #ifdef USE_CLEARCOAT\n\n geometry.clearcoatNormal = clearcoatNormal;\n\n #endif\n #endif\n\n IncidentLight directLight;\n\n // since these variables will be used in unrolled loop, we have to define in prior\n float shadow;\n\n #if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\n PointLight pointLight;\n #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n PointLightShadow pointLightShadow;\n #endif\n\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\n pointLight = pointLights[ i ];\n\n #if THREE_VRM_THREE_REVISION >= 157\n getPointLightInfo( pointLight, geometryPosition, directLight );\n #elif THREE_VRM_THREE_REVISION >= 132\n getPointLightInfo( pointLight, geometry, directLight );\n #else\n getPointDirectLightIrradiance( pointLight, geometry, directLight );\n #endif\n\n shadow = 1.0;\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n pointLightShadow = pointLightShadows[ i ];\n shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n #endif\n\n #if THREE_VRM_THREE_REVISION >= 157\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, shadow, reflectedLight );\n #else\n RE_Direct( directLight, geometry, material, shadow, reflectedLight );\n #endif\n\n }\n #pragma unroll_loop_end\n\n #endif\n\n #if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\n SpotLight spotLight;\n #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n SpotLightShadow spotLightShadow;\n #endif\n\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\n spotLight = spotLights[ i ];\n\n #if THREE_VRM_THREE_REVISION >= 157\n getSpotLightInfo( spotLight, geometryPosition, directLight );\n #elif THREE_VRM_THREE_REVISION >= 132\n getSpotLightInfo( spotLight, geometry, directLight );\n #else\n getSpotDirectLightIrradiance( spotLight, geometry, directLight );\n #endif\n\n shadow = 1.0;\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n spotLightShadow = spotLightShadows[ i ];\n shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n #endif\n\n #if THREE_VRM_THREE_REVISION >= 157\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, shadow, reflectedLight );\n #else\n RE_Direct( directLight, geometry, material, shadow, reflectedLight );\n #endif\n\n }\n #pragma unroll_loop_end\n\n #endif\n\n #if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\n DirectionalLight directionalLight;\n #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLightShadow;\n #endif\n\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n directionalLight = directionalLights[ i ];\n\n #if THREE_VRM_THREE_REVISION >= 157\n getDirectionalLightInfo( directionalLight, directLight );\n #elif THREE_VRM_THREE_REVISION >= 132\n getDirectionalLightInfo( directionalLight, geometry, directLight );\n #else\n getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n #endif\n\n shadow = 1.0;\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n directionalLightShadow = directionalLightShadows[ i ];\n shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n #endif\n\n #if THREE_VRM_THREE_REVISION >= 157\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, shadow, reflectedLight );\n #else\n RE_Direct( directLight, geometry, material, shadow, reflectedLight );\n #endif\n\n }\n #pragma unroll_loop_end\n\n #endif\n\n // #if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\n // RectAreaLight rectAreaLight;\n\n // #pragma unroll_loop_start\n // for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\n // rectAreaLight = rectAreaLights[ i ];\n // RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\n // }\n // #pragma unroll_loop_end\n\n // #endif\n\n #if defined( RE_IndirectDiffuse )\n\n vec3 iblIrradiance = vec3( 0.0 );\n\n vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\n #if THREE_VRM_THREE_REVISION >= 157\n #if defined( USE_LIGHT_PROBES )\n irradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n #endif\n #elif THREE_VRM_THREE_REVISION >= 133\n irradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n #else\n irradiance += getLightProbeIrradiance( lightProbe, geometry );\n #endif\n\n #if ( NUM_HEMI_LIGHTS > 0 )\n\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\n #if THREE_VRM_THREE_REVISION >= 157\n irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\n #elif THREE_VRM_THREE_REVISION >= 133\n irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n #else\n irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n #endif\n\n }\n #pragma unroll_loop_end\n\n #endif\n\n #endif\n\n // #if defined( RE_IndirectSpecular )\n\n // vec3 radiance = vec3( 0.0 );\n // vec3 clearcoatRadiance = vec3( 0.0 );\n\n // #endif\n\n #include \n #include \n\n // modulation\n #include \n\n vec3 col = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\n #ifdef DEBUG_LITSHADERATE\n gl_FragColor = vec4( col, diffuseColor.a );\n postCorrection();\n return;\n #endif\n\n // -- MToon: rim lighting -----------------------------------------\n vec3 viewDir = normalize( vViewPosition );\n\n #ifndef PHYSICALLY_CORRECT_LIGHTS\n reflectedLight.directSpecular /= PI;\n #endif\n vec3 rimMix = mix( vec3( 1.0 ), reflectedLight.directSpecular, 1.0 );\n\n vec3 rim = parametricRimColorFactor * pow( saturate( 1.0 - dot( viewDir, normal ) + parametricRimLiftFactor ), parametricRimFresnelPowerFactor );\n\n #ifdef USE_MATCAPTEXTURE\n {\n vec3 x = normalize( vec3( viewDir.z, 0.0, -viewDir.x ) );\n vec3 y = cross( viewDir, x ); // guaranteed to be normalized\n vec2 sphereUv = 0.5 + 0.5 * vec2( dot( x, normal ), -dot( y, normal ) );\n sphereUv = ( matcapTextureUvTransform * vec3( sphereUv, 1 ) ).xy;\n vec3 matcap = texture2D( matcapTexture, sphereUv ).rgb;\n rim += matcapFactor * matcap;\n }\n #endif\n\n #ifdef USE_RIMMULTIPLYTEXTURE\n vec2 rimMultiplyTextureUv = ( rimMultiplyTextureUvTransform * vec3( uv, 1 ) ).xy;\n rim *= texture2D( rimMultiplyTexture, rimMultiplyTextureUv ).rgb;\n #endif\n\n col += rimMix * rim;\n\n // -- MToon: Emission --------------------------------------------------------\n col += totalEmissiveRadiance;\n\n // #include \n\n // -- Almost done! -----------------------------------------------------------\n #if defined( OUTLINE )\n col = outlineColorFactor.rgb * mix( vec3( 1.0 ), col, outlineLightingMixFactor );\n #endif\n\n #ifdef OPAQUE\n diffuseColor.a = 1.0;\n #endif\n\n gl_FragColor = vec4( col, diffuseColor.a );\n postCorrection();\n}\n"; /* eslint-disable @typescript-eslint/naming-convention */ /** * Specifiers of debug mode of {@link MToonMaterial}. * * See: {@link MToonMaterial.debugMode} */ const MToonMaterialDebugMode = { /** * Render normally. */ None: 'none', /** * Visualize normals of the surface. */ Normal: 'normal', /** * Visualize lit/shade of the surface. */ LitShadeRate: 'litShadeRate', /** * Visualize UV of the surface. */ UV: 'uv', }; /* eslint-disable @typescript-eslint/naming-convention */ const MToonMaterialOutlineWidthMode = { None: 'none', WorldCoordinates: 'worldCoordinates', ScreenCoordinates: 'screenCoordinates', }; const encodingColorSpaceMap = { 3000: '', 3001: 'srgb', }; /** * A compat function to get texture color space. * * COMPAT: pre-r152 * Starting from Three.js r152, `texture.encoding` is renamed to `texture.colorSpace`. * This function will handle the comapt. * * @param texture The texture you want to get the color space from */ function getTextureColorSpace(texture) { if (parseInt(THREE__namespace.REVISION, 10) >= 152) { return texture.colorSpace; } else { return encodingColorSpaceMap[texture.encoding]; } } /* tslint:disable:member-ordering */ /** * MToon is a material specification that has various features. * The spec and implementation are originally founded for Unity engine and this is a port of the material. * * See: https://github.com/Santarh/MToon */ class MToonMaterial extends THREE__namespace.ShaderMaterial { get color() { return this.uniforms.litFactor.value; } set color(value) { this.uniforms.litFactor.value = value; } get map() { return this.uniforms.map.value; } set map(value) { this.uniforms.map.value = value; } get normalMap() { return this.uniforms.normalMap.value; } set normalMap(value) { this.uniforms.normalMap.value = value; } get normalScale() { return this.uniforms.normalScale.value; } set normalScale(value) { this.uniforms.normalScale.value = value; } get emissive() { return this.uniforms.emissive.value; } set emissive(value) { this.uniforms.emissive.value = value; } get emissiveIntensity() { return this.uniforms.emissiveIntensity.value; } set emissiveIntensity(value) { this.uniforms.emissiveIntensity.value = value; } get emissiveMap() { return this.uniforms.emissiveMap.value; } set emissiveMap(value) { this.uniforms.emissiveMap.value = value; } get shadeColorFactor() { return this.uniforms.shadeColorFactor.value; } set shadeColorFactor(value) { this.uniforms.shadeColorFactor.value = value; } get shadeMultiplyTexture() { return this.uniforms.shadeMultiplyTexture.value; } set shadeMultiplyTexture(value) { this.uniforms.shadeMultiplyTexture.value = value; } get shadingShiftFactor() { return this.uniforms.shadingShiftFactor.value; } set shadingShiftFactor(value) { this.uniforms.shadingShiftFactor.value = value; } get shadingShiftTexture() { return this.uniforms.shadingShiftTexture.value; } set shadingShiftTexture(value) { this.uniforms.shadingShiftTexture.value = value; } get shadingShiftTextureScale() { return this.uniforms.shadingShiftTextureScale.value; } set shadingShiftTextureScale(value) { this.uniforms.shadingShiftTextureScale.value = value; } get shadingToonyFactor() { return this.uniforms.shadingToonyFactor.value; } set shadingToonyFactor(value) { this.uniforms.shadingToonyFactor.value = value; } get giEqualizationFactor() { return this.uniforms.giEqualizationFactor.value; } set giEqualizationFactor(value) { this.uniforms.giEqualizationFactor.value = value; } get matcapFactor() { return this.uniforms.matcapFactor.value; } set matcapFactor(value) { this.uniforms.matcapFactor.value = value; } get matcapTexture() { return this.uniforms.matcapTexture.value; } set matcapTexture(value) { this.uniforms.matcapTexture.value = value; } get parametricRimColorFactor() { return this.uniforms.parametricRimColorFactor.value; } set parametricRimColorFactor(value) { this.uniforms.parametricRimColorFactor.value = value; } get rimMultiplyTexture() { return this.uniforms.rimMultiplyTexture.value; } set rimMultiplyTexture(value) { this.uniforms.rimMultiplyTexture.value = value; } get rimLightingMixFactor() { return this.uniforms.rimLightingMixFactor.value; } set rimLightingMixFactor(value) { this.uniforms.rimLightingMixFactor.value = value; } get parametricRimFresnelPowerFactor() { return this.uniforms.parametricRimFresnelPowerFactor.value; } set parametricRimFresnelPowerFactor(value) { this.uniforms.parametricRimFresnelPowerFactor.value = value; } get parametricRimLiftFactor() { return this.uniforms.parametricRimLiftFactor.value; } set parametricRimLiftFactor(value) { this.uniforms.parametricRimLiftFactor.value = value; } get outlineWidthMultiplyTexture() { return this.uniforms.outlineWidthMultiplyTexture.value; } set outlineWidthMultiplyTexture(value) { this.uniforms.outlineWidthMultiplyTexture.value = value; } get outlineWidthFactor() { return this.uniforms.outlineWidthFactor.value; } set outlineWidthFactor(value) { this.uniforms.outlineWidthFactor.value = value; } get outlineColorFactor() { return this.uniforms.outlineColorFactor.value; } set outlineColorFactor(value) { this.uniforms.outlineColorFactor.value = value; } get outlineLightingMixFactor() { return this.uniforms.outlineLightingMixFactor.value; } set outlineLightingMixFactor(value) { this.uniforms.outlineLightingMixFactor.value = value; } get uvAnimationMaskTexture() { return this.uniforms.uvAnimationMaskTexture.value; } set uvAnimationMaskTexture(value) { this.uniforms.uvAnimationMaskTexture.value = value; } get uvAnimationScrollXOffset() { return this.uniforms.uvAnimationScrollXOffset.value; } set uvAnimationScrollXOffset(value) { this.uniforms.uvAnimationScrollXOffset.value = value; } get uvAnimationScrollYOffset() { return this.uniforms.uvAnimationScrollYOffset.value; } set uvAnimationScrollYOffset(value) { this.uniforms.uvAnimationScrollYOffset.value = value; } get uvAnimationRotationPhase() { return this.uniforms.uvAnimationRotationPhase.value; } set uvAnimationRotationPhase(value) { this.uniforms.uvAnimationRotationPhase.value = value; } /** * When this is `true`, vertex colors will be ignored. * `true` by default. */ get ignoreVertexColor() { return this._ignoreVertexColor; } set ignoreVertexColor(value) { this._ignoreVertexColor = value; this.needsUpdate = true; } /** * There is a line of the shader called "comment out if you want to PBR absolutely" in VRM0.0 MToon. * When this is true, the material enables the line to make it compatible with the legacy rendering of VRM. * Usually not recommended to turn this on. * `false` by default. */ get v0CompatShade() { return this._v0CompatShade; } /** * There is a line of the shader called "comment out if you want to PBR absolutely" in VRM0.0 MToon. * When this is true, the material enables the line to make it compatible with the legacy rendering of VRM. * Usually not recommended to turn this on. * `false` by default. */ set v0CompatShade(v) { this._v0CompatShade = v; this.needsUpdate = true; } /** * Debug mode for the material. * You can visualize several components for diagnosis using debug mode. * * See: {@link MToonMaterialDebugMode} */ get debugMode() { return this._debugMode; } /** * Debug mode for the material. * You can visualize several components for diagnosis using debug mode. * * See: {@link MToonMaterialDebugMode} */ set debugMode(m) { this._debugMode = m; this.needsUpdate = true; } get outlineWidthMode() { return this._outlineWidthMode; } set outlineWidthMode(m) { this._outlineWidthMode = m; this.needsUpdate = true; } get isOutline() { return this._isOutline; } set isOutline(b) { this._isOutline = b; this.needsUpdate = true; } /** * Readonly boolean that indicates this is a [[MToonMaterial]]. */ get isMToonMaterial() { return true; } constructor(parameters = {}) { super({ vertexShader, fragmentShader }); this.uvAnimationScrollXSpeedFactor = 0.0; this.uvAnimationScrollYSpeedFactor = 0.0; this.uvAnimationRotationSpeedFactor = 0.0; /** * Whether the material is affected by fog. * `true` by default. */ this.fog = true; /** * Will be read in WebGLPrograms * * See: https://github.com/mrdoob/three.js/blob/4f5236ac3d6f41d904aa58401b40554e8fbdcb15/src/renderers/webgl/WebGLPrograms.js#L190-L191 */ this.normalMapType = THREE__namespace.TangentSpaceNormalMap; /** * When this is `true`, vertex colors will be ignored. * `true` by default. */ this._ignoreVertexColor = true; this._v0CompatShade = false; this._debugMode = MToonMaterialDebugMode.None; this._outlineWidthMode = MToonMaterialOutlineWidthMode.None; this._isOutline = false; // override depthWrite with transparentWithZWrite if (parameters.transparentWithZWrite) { parameters.depthWrite = true; } delete parameters.transparentWithZWrite; // == enabling bunch of stuff ================================================================== parameters.fog = true; parameters.lights = true; parameters.clipping = true; // COMPAT: pre-r129 // See: https://github.com/mrdoob/three.js/pull/21788 if (parseInt(THREE__namespace.REVISION, 10) < 129) { parameters.skinning = parameters.skinning || false; } // COMPAT: pre-r131 // See: https://github.com/mrdoob/three.js/pull/22169 if (parseInt(THREE__namespace.REVISION, 10) < 131) { parameters.morphTargets = parameters.morphTargets || false; parameters.morphNormals = parameters.morphNormals || false; } // == uniforms ================================================================================= this.uniforms = THREE__namespace.UniformsUtils.merge([ THREE__namespace.UniformsLib.common, THREE__namespace.UniformsLib.normalmap, THREE__namespace.UniformsLib.emissivemap, THREE__namespace.UniformsLib.fog, THREE__namespace.UniformsLib.lights, { litFactor: { value: new THREE__namespace.Color(1.0, 1.0, 1.0) }, mapUvTransform: { value: new THREE__namespace.Matrix3() }, colorAlpha: { value: 1.0 }, normalMapUvTransform: { value: new THREE__namespace.Matrix3() }, shadeColorFactor: { value: new THREE__namespace.Color(0.97, 0.81, 0.86) }, shadeMultiplyTexture: { value: null }, shadeMultiplyTextureUvTransform: { value: new THREE__namespace.Matrix3() }, shadingShiftFactor: { value: 0.0 }, shadingShiftTexture: { value: null }, shadingShiftTextureUvTransform: { value: new THREE__namespace.Matrix3() }, shadingShiftTextureScale: { value: 1.0 }, shadingToonyFactor: { value: 0.9 }, giEqualizationFactor: { value: 0.9 }, matcapFactor: { value: new THREE__namespace.Color(0.0, 0.0, 0.0) }, matcapTexture: { value: null }, matcapTextureUvTransform: { value: new THREE__namespace.Matrix3() }, parametricRimColorFactor: { value: new THREE__namespace.Color(0.0, 0.0, 0.0) }, rimMultiplyTexture: { value: null }, rimMultiplyTextureUvTransform: { value: new THREE__namespace.Matrix3() }, rimLightingMixFactor: { value: 0.0 }, parametricRimFresnelPowerFactor: { value: 1.0 }, parametricRimLiftFactor: { value: 0.0 }, emissive: { value: new THREE__namespace.Color(0.0, 0.0, 0.0) }, emissiveIntensity: { value: 1.0 }, emissiveMapUvTransform: { value: new THREE__namespace.Matrix3() }, outlineWidthMultiplyTexture: { value: null }, outlineWidthMultiplyTextureUvTransform: { value: new THREE__namespace.Matrix3() }, outlineWidthFactor: { value: 0.5 }, outlineColorFactor: { value: new THREE__namespace.Color(0.0, 0.0, 0.0) }, outlineLightingMixFactor: { value: 1.0 }, uvAnimationMaskTexture: { value: null }, uvAnimationMaskTextureUvTransform: { value: new THREE__namespace.Matrix3() }, uvAnimationScrollXOffset: { value: 0.0 }, uvAnimationScrollYOffset: { value: 0.0 }, uvAnimationRotationPhase: { value: 0.0 }, }, parameters.uniforms, ]); // == finally compile the shader program ======================================================= this.setValues(parameters); // == upload uniforms that need to upload ====================================================== this._uploadUniformsWorkaround(); // == update shader stuff ====================================================================== this.customProgramCacheKey = () => [ ...Object.entries(this._generateDefines()).map(([token, macro]) => `${token}:${macro}`), this.matcapTexture ? `matcapTextureColorSpace:${getTextureColorSpace(this.matcapTexture)}` : '', this.shadeMultiplyTexture ? `shadeMultiplyTextureColorSpace:${getTextureColorSpace(this.shadeMultiplyTexture)}` : '', this.rimMultiplyTexture ? `rimMultiplyTextureColorSpace:${getTextureColorSpace(this.rimMultiplyTexture)}` : '', ].join(','); this.onBeforeCompile = (shader) => { const threeRevision = parseInt(THREE__namespace.REVISION, 10); const defines = Object.entries(Object.assign(Object.assign({}, this._generateDefines()), this.defines)) .filter(([token, macro]) => !!macro) .map(([token, macro]) => `#define ${token} ${macro}`) .join('\n') + '\n'; // -- generate shader code ------------------------------------------------------------------- shader.vertexShader = defines + shader.vertexShader; shader.fragmentShader = defines + shader.fragmentShader; // -- compat --------------------------------------------------------------------------------- // COMPAT: pre-r154 // Three.js r154 renames the shader chunk to if (threeRevision < 154) { shader.fragmentShader = shader.fragmentShader.replace('#include ', '#include '); } // COMPAT: pre-r132 // Three.js r132 introduces new shader chunks and if (threeRevision < 132) { shader.fragmentShader = shader.fragmentShader.replace('#include ', ''); shader.fragmentShader = shader.fragmentShader.replace('#include ', ''); } }; } /** * Update this material. * * @param delta deltaTime since last update */ update(delta) { this._uploadUniformsWorkaround(); this._updateUVAnimation(delta); } copy(source) { super.copy(source); // uniforms are already copied at this moment // Beginning from r133, uniform textures will be cloned instead of reference // See: https://github.com/mrdoob/three.js/blob/a8813be04a849bd155f7cf6f1b23d8ee2e0fb48b/examples/jsm/loaders/GLTFLoader.js#L3047 // See: https://github.com/mrdoob/three.js/blob/a8813be04a849bd155f7cf6f1b23d8ee2e0fb48b/src/renderers/shaders/UniformsUtils.js#L22 // This will leave their `.version` to be `0` // and these textures won't be uploaded to GPU // We are going to workaround this in here // I've opened an issue for this: https://github.com/mrdoob/three.js/issues/22718 this.map = source.map; this.normalMap = source.normalMap; this.emissiveMap = source.emissiveMap; this.shadeMultiplyTexture = source.shadeMultiplyTexture; this.shadingShiftTexture = source.shadingShiftTexture; this.matcapTexture = source.matcapTexture; this.rimMultiplyTexture = source.rimMultiplyTexture; this.outlineWidthMultiplyTexture = source.outlineWidthMultiplyTexture; this.uvAnimationMaskTexture = source.uvAnimationMaskTexture; // == copy members ============================================================================= this.normalMapType = source.normalMapType; this.uvAnimationScrollXSpeedFactor = source.uvAnimationScrollXSpeedFactor; this.uvAnimationScrollYSpeedFactor = source.uvAnimationScrollYSpeedFactor; this.uvAnimationRotationSpeedFactor = source.uvAnimationRotationSpeedFactor; this.ignoreVertexColor = source.ignoreVertexColor; this.v0CompatShade = source.v0CompatShade; this.debugMode = source.debugMode; this.outlineWidthMode = source.outlineWidthMode; this.isOutline = source.isOutline; // == update shader stuff ====================================================================== this.needsUpdate = true; return this; } /** * Update UV animation state. * Intended to be called via {@link update}. * @param delta deltaTime */ _updateUVAnimation(delta) { this.uniforms.uvAnimationScrollXOffset.value += delta * this.uvAnimationScrollXSpeedFactor; this.uniforms.uvAnimationScrollYOffset.value += delta * this.uvAnimationScrollYSpeedFactor; this.uniforms.uvAnimationRotationPhase.value += delta * this.uvAnimationRotationSpeedFactor; this.uniformsNeedUpdate = true; } /** * Upload uniforms that need to upload but doesn't automatically because of reasons. * Intended to be called via {@link constructor} and {@link update}. */ _uploadUniformsWorkaround() { // workaround: since opacity is defined as a property in THREE.Material // and cannot be overridden as an accessor, // We are going to update opacity here this.uniforms.opacity.value = this.opacity; // workaround: texture transforms are not updated automatically this._updateTextureMatrix(this.uniforms.map, this.uniforms.mapUvTransform); this._updateTextureMatrix(this.uniforms.normalMap, this.uniforms.normalMapUvTransform); this._updateTextureMatrix(this.uniforms.emissiveMap, this.uniforms.emissiveMapUvTransform); this._updateTextureMatrix(this.uniforms.shadeMultiplyTexture, this.uniforms.shadeMultiplyTextureUvTransform); this._updateTextureMatrix(this.uniforms.shadingShiftTexture, this.uniforms.shadingShiftTextureUvTransform); this._updateTextureMatrix(this.uniforms.matcapTexture, this.uniforms.matcapTextureUvTransform); this._updateTextureMatrix(this.uniforms.rimMultiplyTexture, this.uniforms.rimMultiplyTextureUvTransform); this._updateTextureMatrix(this.uniforms.outlineWidthMultiplyTexture, this.uniforms.outlineWidthMultiplyTextureUvTransform); this._updateTextureMatrix(this.uniforms.uvAnimationMaskTexture, this.uniforms.uvAnimationMaskTextureUvTransform); // COMPAT workaround: starting from r132, alphaTest becomes a uniform instead of preprocessor value const threeRevision = parseInt(THREE__namespace.REVISION, 10); if (threeRevision >= 132) { this.uniforms.alphaTest.value = this.alphaTest; } this.uniformsNeedUpdate = true; } /** * Returns a map object of preprocessor token and macro of the shader program. */ _generateDefines() { const threeRevision = parseInt(THREE__namespace.REVISION, 10); const useUvInVert = this.outlineWidthMultiplyTexture !== null; const useUvInFrag = this.map !== null || this.emissiveMap !== null || this.shadeMultiplyTexture !== null || this.shadingShiftTexture !== null || this.rimMultiplyTexture !== null || this.uvAnimationMaskTexture !== null; return { // Temporary compat against shader change @ Three.js r126 // See: #21205, #21307, #21299 THREE_VRM_THREE_REVISION: threeRevision, OUTLINE: this._isOutline, MTOON_USE_UV: useUvInVert || useUvInFrag, MTOON_UVS_VERTEX_ONLY: useUvInVert && !useUvInFrag, V0_COMPAT_SHADE: this._v0CompatShade, USE_SHADEMULTIPLYTEXTURE: this.shadeMultiplyTexture !== null, USE_SHADINGSHIFTTEXTURE: this.shadingShiftTexture !== null, USE_MATCAPTEXTURE: this.matcapTexture !== null, USE_RIMMULTIPLYTEXTURE: this.rimMultiplyTexture !== null, USE_OUTLINEWIDTHMULTIPLYTEXTURE: this._isOutline && this.outlineWidthMultiplyTexture !== null, USE_UVANIMATIONMASKTEXTURE: this.uvAnimationMaskTexture !== null, IGNORE_VERTEX_COLOR: this._ignoreVertexColor === true, DEBUG_NORMAL: this._debugMode === 'normal', DEBUG_LITSHADERATE: this._debugMode === 'litShadeRate', DEBUG_UV: this._debugMode === 'uv', OUTLINE_WIDTH_WORLD: this._isOutline && this._outlineWidthMode === MToonMaterialOutlineWidthMode.WorldCoordinates, OUTLINE_WIDTH_SCREEN: this._isOutline && this._outlineWidthMode === MToonMaterialOutlineWidthMode.ScreenCoordinates, }; } _updateTextureMatrix(src, dst) { if (src.value) { if (src.value.matrixAutoUpdate) { src.value.updateMatrix(); } dst.value.copy(src.value.matrix); } } } const colorSpaceEncodingMap = { '': 3000, srgb: 3001, }; /** * A compat function to set texture color space. * * COMPAT: pre-r152 * Starting from Three.js r152, `texture.encoding` is renamed to `texture.colorSpace`. * This function will handle the comapt. * * @param texture The texture you want to set the color space to * @param colorSpace The color space you want to set to the texture */ function setTextureColorSpace(texture, colorSpace) { if (parseInt(THREE__namespace.REVISION, 10) >= 152) { texture.colorSpace = colorSpace; } else { texture.encoding = colorSpaceEncodingMap[colorSpace]; } } /** * MaterialParameters hates `undefined`. This helper automatically rejects assign of these `undefined`. * It also handles asynchronous process of textures. * Make sure await for {@link GLTFMToonMaterialParamsAssignHelper.pending}. */ class GLTFMToonMaterialParamsAssignHelper { get pending() { return Promise.all(this._pendings); } constructor(parser, materialParams) { this._parser = parser; this._materialParams = materialParams; this._pendings = []; } assignPrimitive(key, value) { if (value != null) { this._materialParams[key] = value; } } assignColor(key, value, convertSRGBToLinear) { if (value != null) { this._materialParams[key] = new THREE__namespace.Color().fromArray(value); if (convertSRGBToLinear) { this._materialParams[key].convertSRGBToLinear(); } } } assignTexture(key, texture, isColorTexture) { return __awaiter$4(this, void 0, void 0, function* () { const promise = (() => __awaiter$4(this, void 0, void 0, function* () { if (texture != null) { yield this._parser.assignTexture(this._materialParams, key, texture); if (isColorTexture) { setTextureColorSpace(this._materialParams[key], 'srgb'); } } }))(); this._pendings.push(promise); return promise; }); } assignTextureByIndex(key, textureIndex, isColorTexture) { return __awaiter$4(this, void 0, void 0, function* () { return this.assignTexture(key, textureIndex != null ? { index: textureIndex } : undefined, isColorTexture); }); } } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$2 = new Set(['1.0', '1.0-beta']); class MToonMaterialLoaderPlugin { get name() { return MToonMaterialLoaderPlugin.EXTENSION_NAME; } constructor(parser, options = {}) { var _a, _b, _c; this.parser = parser; this.renderOrderOffset = (_a = options.renderOrderOffset) !== null && _a !== void 0 ? _a : 0; this.v0CompatShade = (_b = options.v0CompatShade) !== null && _b !== void 0 ? _b : false; this.debugMode = (_c = options.debugMode) !== null && _c !== void 0 ? _c : 'none'; this._mToonMaterialSet = new Set(); } beforeRoot() { return __awaiter$4(this, void 0, void 0, function* () { this._removeUnlitExtensionIfMToonExists(); }); } afterRoot(gltf) { return __awaiter$4(this, void 0, void 0, function* () { gltf.userData.vrmMToonMaterials = Array.from(this._mToonMaterialSet); }); } getMaterialType(materialIndex) { const v1Extension = this._getMToonExtension(materialIndex); if (v1Extension) { return MToonMaterial; } return null; } extendMaterialParams(materialIndex, materialParams) { const extension = this._getMToonExtension(materialIndex); if (extension) { return this._extendMaterialParams(extension, materialParams); } return null; } loadMesh(meshIndex) { var _a; return __awaiter$4(this, void 0, void 0, function* () { const parser = this.parser; const json = parser.json; const meshDef = (_a = json.meshes) === null || _a === void 0 ? void 0 : _a[meshIndex]; if (meshDef == null) { throw new Error(`MToonMaterialLoaderPlugin: Attempt to use meshes[${meshIndex}] of glTF but the mesh doesn't exist`); } const primitivesDef = meshDef.primitives; const meshOrGroup = yield parser.loadMesh(meshIndex); if (primitivesDef.length === 1) { const mesh = meshOrGroup; const materialIndex = primitivesDef[0].material; if (materialIndex != null) { this._setupPrimitive(mesh, materialIndex); } } else { const group = meshOrGroup; for (let i = 0; i < primitivesDef.length; i++) { const mesh = group.children[i]; const materialIndex = primitivesDef[i].material; if (materialIndex != null) { this._setupPrimitive(mesh, materialIndex); } } } return meshOrGroup; }); } /** * Delete use of `KHR_materials_unlit` from its `materials` if the material is using MToon. * * Since GLTFLoader have so many hardcoded procedure related to `KHR_materials_unlit` * we have to delete the extension before we start to parse the glTF. */ _removeUnlitExtensionIfMToonExists() { const parser = this.parser; const json = parser.json; const materialDefs = json.materials; materialDefs === null || materialDefs === void 0 ? void 0 : materialDefs.map((materialDef, iMaterial) => { var _a; const extension = this._getMToonExtension(iMaterial); if (extension && ((_a = materialDef.extensions) === null || _a === void 0 ? void 0 : _a['KHR_materials_unlit'])) { delete materialDef.extensions['KHR_materials_unlit']; } }); } _getMToonExtension(materialIndex) { var _a, _b; const parser = this.parser; const json = parser.json; const materialDef = (_a = json.materials) === null || _a === void 0 ? void 0 : _a[materialIndex]; if (materialDef == null) { console.warn(`MToonMaterialLoaderPlugin: Attempt to use materials[${materialIndex}] of glTF but the material doesn't exist`); return undefined; } const extension = (_b = materialDef.extensions) === null || _b === void 0 ? void 0 : _b[MToonMaterialLoaderPlugin.EXTENSION_NAME]; if (extension == null) { return undefined; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$2.has(specVersion)) { console.warn(`MToonMaterialLoaderPlugin: Unknown ${MToonMaterialLoaderPlugin.EXTENSION_NAME} specVersion "${specVersion}"`); return undefined; } return extension; } _extendMaterialParams(extension, materialParams) { var _a; return __awaiter$4(this, void 0, void 0, function* () { // Removing material params that is not required to supress warnings. delete materialParams.metalness; delete materialParams.roughness; const assignHelper = new GLTFMToonMaterialParamsAssignHelper(this.parser, materialParams); assignHelper.assignPrimitive('transparentWithZWrite', extension.transparentWithZWrite); assignHelper.assignColor('shadeColorFactor', extension.shadeColorFactor); assignHelper.assignTexture('shadeMultiplyTexture', extension.shadeMultiplyTexture, true); assignHelper.assignPrimitive('shadingShiftFactor', extension.shadingShiftFactor); assignHelper.assignTexture('shadingShiftTexture', extension.shadingShiftTexture, true); assignHelper.assignPrimitive('shadingShiftTextureScale', (_a = extension.shadingShiftTexture) === null || _a === void 0 ? void 0 : _a.scale); assignHelper.assignPrimitive('shadingToonyFactor', extension.shadingToonyFactor); assignHelper.assignPrimitive('giEqualizationFactor', extension.giEqualizationFactor); assignHelper.assignColor('matcapFactor', extension.matcapFactor); assignHelper.assignTexture('matcapTexture', extension.matcapTexture, true); assignHelper.assignColor('parametricRimColorFactor', extension.parametricRimColorFactor); assignHelper.assignTexture('rimMultiplyTexture', extension.rimMultiplyTexture, true); assignHelper.assignPrimitive('rimLightingMixFactor', extension.rimLightingMixFactor); assignHelper.assignPrimitive('parametricRimFresnelPowerFactor', extension.parametricRimFresnelPowerFactor); assignHelper.assignPrimitive('parametricRimLiftFactor', extension.parametricRimLiftFactor); assignHelper.assignPrimitive('outlineWidthMode', extension.outlineWidthMode); assignHelper.assignPrimitive('outlineWidthFactor', extension.outlineWidthFactor); assignHelper.assignTexture('outlineWidthMultiplyTexture', extension.outlineWidthMultiplyTexture, false); assignHelper.assignColor('outlineColorFactor', extension.outlineColorFactor); assignHelper.assignPrimitive('outlineLightingMixFactor', extension.outlineLightingMixFactor); assignHelper.assignTexture('uvAnimationMaskTexture', extension.uvAnimationMaskTexture, false); assignHelper.assignPrimitive('uvAnimationScrollXSpeedFactor', extension.uvAnimationScrollXSpeedFactor); assignHelper.assignPrimitive('uvAnimationScrollYSpeedFactor', extension.uvAnimationScrollYSpeedFactor); assignHelper.assignPrimitive('uvAnimationRotationSpeedFactor', extension.uvAnimationRotationSpeedFactor); assignHelper.assignPrimitive('v0CompatShade', this.v0CompatShade); assignHelper.assignPrimitive('debugMode', this.debugMode); yield assignHelper.pending; }); } /** * This will do two processes that is required to render MToon properly. * * - Set render order * - Generate outline * * @param mesh A target GLTF primitive * @param materialIndex The material index of the primitive */ _setupPrimitive(mesh, materialIndex) { const extension = this._getMToonExtension(materialIndex); if (extension) { const renderOrder = this._parseRenderOrder(extension); mesh.renderOrder = renderOrder + this.renderOrderOffset; this._generateOutline(mesh); this._addToMaterialSet(mesh); return; } } /** * Generate outline for the given mesh, if it needs. * * @param mesh The target mesh */ _generateOutline(mesh) { // OK, it's the hacky part. // We are going to duplicate the MToonMaterial for outline use. // Then we are going to create two geometry groups and refer same buffer but different material. // It's how we draw two materials at once using a single mesh. // make sure the material is mtoon const surfaceMaterial = mesh.material; if (!(surfaceMaterial instanceof MToonMaterial)) { return; } // check whether we really have to prepare outline or not if (surfaceMaterial.outlineWidthMode === 'none' || surfaceMaterial.outlineWidthFactor <= 0.0) { return; } // make its material an array mesh.material = [surfaceMaterial]; // mesh.material is guaranteed to be a Material in GLTFLoader // duplicate the material for outline use const outlineMaterial = surfaceMaterial.clone(); outlineMaterial.name += ' (Outline)'; outlineMaterial.isOutline = true; outlineMaterial.side = THREE__namespace.BackSide; mesh.material.push(outlineMaterial); // make two geometry groups out of a same buffer const geometry = mesh.geometry; // mesh.geometry is guaranteed to be a BufferGeometry in GLTFLoader const primitiveVertices = geometry.index ? geometry.index.count : geometry.attributes.position.count / 3; geometry.addGroup(0, primitiveVertices, 0); geometry.addGroup(0, primitiveVertices, 1); } _addToMaterialSet(mesh) { const materialOrMaterials = mesh.material; const materialSet = new Set(); if (Array.isArray(materialOrMaterials)) { materialOrMaterials.forEach((material) => materialSet.add(material)); } else { materialSet.add(materialOrMaterials); } for (const material of materialSet) { if (material instanceof MToonMaterial) { this._mToonMaterialSet.add(material); } } } _parseRenderOrder(extension) { var _a; // transparentWithZWrite ranges from 0 to +9 // mere transparent ranges from -9 to 0 const enabledZWrite = extension.transparentWithZWrite; return (enabledZWrite ? 0 : 19) + ((_a = extension.renderQueueOffsetNumber) !== null && _a !== void 0 ? _a : 0); } } MToonMaterialLoaderPlugin.EXTENSION_NAME = 'VRMC_materials_mtoon'; /*! * @pixiv/three-vrm-materials-hdr-emissive-multiplier v2.0.6 * Support VRMC_hdr_emissiveMultiplier for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-materials-hdr-emissive-multiplier is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$3(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } class VRMMaterialsHDREmissiveMultiplierLoaderPlugin { get name() { return VRMMaterialsHDREmissiveMultiplierLoaderPlugin.EXTENSION_NAME; } constructor(parser) { this.parser = parser; } extendMaterialParams(materialIndex, materialParams) { return __awaiter$3(this, void 0, void 0, function* () { const extension = this._getHDREmissiveMultiplierExtension(materialIndex); if (extension == null) { return; } // This extension is archived. Emit warning // See: https://github.com/vrm-c/vrm-specification/pull/375 console.warn('VRMMaterialsHDREmissiveMultiplierLoaderPlugin: `VRMC_materials_hdr_emissiveMultiplier` is archived. Use `KHR_materials_emissive_strength` instead.'); const emissiveMultiplier = extension.emissiveMultiplier; materialParams.emissiveIntensity = emissiveMultiplier; }); } _getHDREmissiveMultiplierExtension(materialIndex) { var _a, _b; const parser = this.parser; const json = parser.json; const materialDef = (_a = json.materials) === null || _a === void 0 ? void 0 : _a[materialIndex]; if (materialDef == null) { console.warn(`VRMMaterialsHDREmissiveMultiplierLoaderPlugin: Attempt to use materials[${materialIndex}] of glTF but the material doesn't exist`); return undefined; } const extension = (_b = materialDef.extensions) === null || _b === void 0 ? void 0 : _b[VRMMaterialsHDREmissiveMultiplierLoaderPlugin.EXTENSION_NAME]; if (extension == null) { return undefined; } return extension; } } VRMMaterialsHDREmissiveMultiplierLoaderPlugin.EXTENSION_NAME = 'VRMC_materials_hdr_emissiveMultiplier'; /*! * @pixiv/three-vrm-materials-v0compat v2.0.6 * VRM0.0 materials compatibility layer plugin for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-materials-v0compat is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$2(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function gammaEOTF(e) { return Math.pow(e, 2.2); } class VRMMaterialsV0CompatPlugin { get name() { return 'VRMMaterialsV0CompatPlugin'; } constructor(parser) { var _a; this.parser = parser; this._renderQueueMapTransparent = new Map(); this._renderQueueMapTransparentZWrite = new Map(); // WORKAROUND: Add KHR_texture_transform to extensionsUsed // It is too late to add this in beforeRoot const json = this.parser.json; json.extensionsUsed = (_a = json.extensionsUsed) !== null && _a !== void 0 ? _a : []; if (json.extensionsUsed.indexOf('KHR_texture_transform') === -1) { json.extensionsUsed.push('KHR_texture_transform'); } } beforeRoot() { var _a; return __awaiter$2(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use V0VRM const v0VRMExtension = (_a = json.extensions) === null || _a === void 0 ? void 0 : _a['VRM']; const v0MaterialProperties = v0VRMExtension === null || v0VRMExtension === void 0 ? void 0 : v0VRMExtension.materialProperties; if (!v0MaterialProperties) { return; } // populate render queue map this._populateRenderQueueMap(v0MaterialProperties); // convert V0 material properties into V1 compatible format v0MaterialProperties.forEach((materialProperties, materialIndex) => { var _a, _b; const materialDef = (_a = json.materials) === null || _a === void 0 ? void 0 : _a[materialIndex]; if (materialDef == null) { console.warn(`VRMMaterialsV0CompatPlugin: Attempt to use materials[${materialIndex}] of glTF but the material doesn't exist`); return; } if (materialProperties.shader === 'VRM/MToon') { const material = this._parseV0MToonProperties(materialProperties, materialDef); json.materials[materialIndex] = material; } else if ((_b = materialProperties.shader) === null || _b === void 0 ? void 0 : _b.startsWith('VRM/Unlit')) { const material = this._parseV0UnlitProperties(materialProperties, materialDef); json.materials[materialIndex] = material; } else if (materialProperties.shader === 'VRM_USE_GLTFSHADER') ; else { console.warn(`VRMMaterialsV0CompatPlugin: Unknown shader: ${materialProperties.shader}`); } }); }); } _parseV0MToonProperties(materialProperties, schemaMaterial) { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19; const isTransparent = (_b = (_a = materialProperties.keywordMap) === null || _a === void 0 ? void 0 : _a['_ALPHABLEND_ON']) !== null && _b !== void 0 ? _b : false; const enabledZWrite = ((_c = materialProperties.floatProperties) === null || _c === void 0 ? void 0 : _c['_ZWrite']) === 1; const transparentWithZWrite = enabledZWrite && isTransparent; const renderQueueOffsetNumber = this._v0ParseRenderQueue(materialProperties); const isCutoff = (_e = (_d = materialProperties.keywordMap) === null || _d === void 0 ? void 0 : _d['_ALPHATEST_ON']) !== null && _e !== void 0 ? _e : false; const alphaMode = isTransparent ? 'BLEND' : isCutoff ? 'MASK' : 'OPAQUE'; const alphaCutoff = isCutoff ? (_f = materialProperties.floatProperties) === null || _f === void 0 ? void 0 : _f['_Cutoff'] : undefined; const cullMode = (_h = (_g = materialProperties.floatProperties) === null || _g === void 0 ? void 0 : _g['_CullMode']) !== null && _h !== void 0 ? _h : 2; // enum, { Off, Front, Back } const doubleSided = cullMode === 0; const textureTransformExt = this._portTextureTransform(materialProperties); const baseColorFactor = (_k = (_j = materialProperties.vectorProperties) === null || _j === void 0 ? void 0 : _j['_Color']) === null || _k === void 0 ? void 0 : _k.map((v, i) => (i === 3 ? v : gammaEOTF(v))); const baseColorTextureIndex = (_l = materialProperties.textureProperties) === null || _l === void 0 ? void 0 : _l['_MainTex']; const baseColorTexture = baseColorTextureIndex != null ? { index: baseColorTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const normalTextureScale = (_m = materialProperties.floatProperties) === null || _m === void 0 ? void 0 : _m['_BumpScale']; const normalTextureIndex = (_o = materialProperties.textureProperties) === null || _o === void 0 ? void 0 : _o['_BumpMap']; const normalTexture = normalTextureIndex != null ? { index: normalTextureIndex, scale: normalTextureScale, extensions: Object.assign({}, textureTransformExt), } : undefined; const emissiveFactor = (_q = (_p = materialProperties.vectorProperties) === null || _p === void 0 ? void 0 : _p['_EmissionColor']) === null || _q === void 0 ? void 0 : _q.map(gammaEOTF); const emissiveTextureIndex = (_r = materialProperties.textureProperties) === null || _r === void 0 ? void 0 : _r['_EmissionMap']; const emissiveTexture = emissiveTextureIndex != null ? { index: emissiveTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const shadeColorFactor = (_t = (_s = materialProperties.vectorProperties) === null || _s === void 0 ? void 0 : _s['_ShadeColor']) === null || _t === void 0 ? void 0 : _t.map(gammaEOTF); const shadeMultiplyTextureIndex = (_u = materialProperties.textureProperties) === null || _u === void 0 ? void 0 : _u['_ShadeTexture']; const shadeMultiplyTexture = shadeMultiplyTextureIndex != null ? { index: shadeMultiplyTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; // // convert v0 shade shift / shade toony let shadingShiftFactor = (_w = (_v = materialProperties.floatProperties) === null || _v === void 0 ? void 0 : _v['_ShadeShift']) !== null && _w !== void 0 ? _w : 0.0; let shadingToonyFactor = (_y = (_x = materialProperties.floatProperties) === null || _x === void 0 ? void 0 : _x['_ShadeToony']) !== null && _y !== void 0 ? _y : 0.9; shadingToonyFactor = THREE__namespace.MathUtils.lerp(shadingToonyFactor, 1.0, 0.5 + 0.5 * shadingShiftFactor); shadingShiftFactor = -shadingShiftFactor - (1.0 - shadingToonyFactor); const giIntensityFactor = (_z = materialProperties.floatProperties) === null || _z === void 0 ? void 0 : _z['_IndirectLightIntensity']; const giEqualizationFactor = giIntensityFactor ? 1.0 - giIntensityFactor : undefined; const matcapTextureIndex = (_0 = materialProperties.textureProperties) === null || _0 === void 0 ? void 0 : _0['_SphereAdd']; const matcapFactor = matcapTextureIndex != null ? [1.0, 1.0, 1.0] : undefined; const matcapTexture = matcapTextureIndex != null ? { index: matcapTextureIndex, } : undefined; const rimLightingMixFactor = (_1 = materialProperties.floatProperties) === null || _1 === void 0 ? void 0 : _1['_RimLightingMix']; const rimMultiplyTextureIndex = (_2 = materialProperties.textureProperties) === null || _2 === void 0 ? void 0 : _2['_RimTexture']; const rimMultiplyTexture = rimMultiplyTextureIndex != null ? { index: rimMultiplyTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const parametricRimColorFactor = (_4 = (_3 = materialProperties.vectorProperties) === null || _3 === void 0 ? void 0 : _3['_RimColor']) === null || _4 === void 0 ? void 0 : _4.map(gammaEOTF); const parametricRimFresnelPowerFactor = (_5 = materialProperties.floatProperties) === null || _5 === void 0 ? void 0 : _5['_RimFresnelPower']; const parametricRimLiftFactor = (_6 = materialProperties.floatProperties) === null || _6 === void 0 ? void 0 : _6['_RimLift']; const outlineWidthMode = ['none', 'worldCoordinates', 'screenCoordinates'][(_8 = (_7 = materialProperties.floatProperties) === null || _7 === void 0 ? void 0 : _7['_OutlineWidthMode']) !== null && _8 !== void 0 ? _8 : 0]; // // v0 outlineWidthFactor is in centimeter let outlineWidthFactor = (_10 = (_9 = materialProperties.floatProperties) === null || _9 === void 0 ? void 0 : _9['_OutlineWidth']) !== null && _10 !== void 0 ? _10 : 0.0; outlineWidthFactor = 0.01 * outlineWidthFactor; const outlineWidthMultiplyTextureIndex = (_11 = materialProperties.textureProperties) === null || _11 === void 0 ? void 0 : _11['_OutlineWidthTexture']; const outlineWidthMultiplyTexture = outlineWidthMultiplyTextureIndex != null ? { index: outlineWidthMultiplyTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const outlineColorFactor = (_13 = (_12 = materialProperties.vectorProperties) === null || _12 === void 0 ? void 0 : _12['_OutlineColor']) === null || _13 === void 0 ? void 0 : _13.map(gammaEOTF); const outlineColorMode = (_14 = materialProperties.floatProperties) === null || _14 === void 0 ? void 0 : _14['_OutlineColorMode']; // enum, { Fixed, Mixed } const outlineLightingMixFactor = outlineColorMode === 1 ? (_15 = materialProperties.floatProperties) === null || _15 === void 0 ? void 0 : _15['_OutlineLightingMix'] : 0.0; const uvAnimationMaskTextureIndex = (_16 = materialProperties.textureProperties) === null || _16 === void 0 ? void 0 : _16['_UvAnimMaskTexture']; const uvAnimationMaskTexture = uvAnimationMaskTextureIndex != null ? { index: uvAnimationMaskTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; const uvAnimationScrollXSpeedFactor = (_17 = materialProperties.floatProperties) === null || _17 === void 0 ? void 0 : _17['_UvAnimScrollX']; // uvAnimationScrollYSpeedFactor will be opposite between V0 and V1 let uvAnimationScrollYSpeedFactor = (_18 = materialProperties.floatProperties) === null || _18 === void 0 ? void 0 : _18['_UvAnimScrollY']; if (uvAnimationScrollYSpeedFactor != null) { uvAnimationScrollYSpeedFactor = -uvAnimationScrollYSpeedFactor; } const uvAnimationRotationSpeedFactor = (_19 = materialProperties.floatProperties) === null || _19 === void 0 ? void 0 : _19['_UvAnimRotation']; const mtoonExtension = { specVersion: '1.0', transparentWithZWrite, renderQueueOffsetNumber, shadeColorFactor, shadeMultiplyTexture, shadingShiftFactor, shadingToonyFactor, giEqualizationFactor, matcapFactor, matcapTexture, rimLightingMixFactor, rimMultiplyTexture, parametricRimColorFactor, parametricRimFresnelPowerFactor, parametricRimLiftFactor, outlineWidthMode, outlineWidthFactor, outlineWidthMultiplyTexture, outlineColorFactor, outlineLightingMixFactor, uvAnimationMaskTexture, uvAnimationScrollXSpeedFactor, uvAnimationScrollYSpeedFactor, uvAnimationRotationSpeedFactor, }; return Object.assign(Object.assign({}, schemaMaterial), { pbrMetallicRoughness: { baseColorFactor, baseColorTexture, }, normalTexture, emissiveTexture, emissiveFactor, alphaMode, alphaCutoff, doubleSided, extensions: { // eslint-disable-next-line @typescript-eslint/naming-convention VRMC_materials_mtoon: mtoonExtension, } }); } _parseV0UnlitProperties(materialProperties, schemaMaterial) { var _a, _b, _c, _d; const isTransparentZWrite = materialProperties.shader === 'VRM/UnlitTransparentZWrite'; const isTransparent = materialProperties.shader === 'VRM/UnlitTransparent' || isTransparentZWrite; const renderQueueOffsetNumber = this._v0ParseRenderQueue(materialProperties); const isCutoff = materialProperties.shader === 'VRM/UnlitCutout'; const alphaMode = isTransparent ? 'BLEND' : isCutoff ? 'MASK' : 'OPAQUE'; const alphaCutoff = isCutoff ? (_a = materialProperties.floatProperties) === null || _a === void 0 ? void 0 : _a['_Cutoff'] : undefined; const textureTransformExt = this._portTextureTransform(materialProperties); const baseColorFactor = (_c = (_b = materialProperties.vectorProperties) === null || _b === void 0 ? void 0 : _b['_Color']) === null || _c === void 0 ? void 0 : _c.map(gammaEOTF); const baseColorTextureIndex = (_d = materialProperties.textureProperties) === null || _d === void 0 ? void 0 : _d['_MainTex']; const baseColorTexture = baseColorTextureIndex != null ? { index: baseColorTextureIndex, extensions: Object.assign({}, textureTransformExt), } : undefined; // use mtoon instead of unlit, since there might be VRM0.0 specific features that are not supported by gltf const mtoonExtension = { specVersion: '1.0', transparentWithZWrite: isTransparentZWrite, renderQueueOffsetNumber, shadeColorFactor: baseColorFactor, shadeMultiplyTexture: baseColorTexture, }; return Object.assign(Object.assign({}, schemaMaterial), { pbrMetallicRoughness: { baseColorFactor, baseColorTexture, }, alphaMode, alphaCutoff, extensions: { // eslint-disable-next-line @typescript-eslint/naming-convention VRMC_materials_mtoon: mtoonExtension, } }); } /** * Create a glTF `KHR_texture_transform` extension from v0 texture transform info. */ _portTextureTransform(materialProperties) { var _a, _b, _c, _d, _e; const textureTransform = (_a = materialProperties.vectorProperties) === null || _a === void 0 ? void 0 : _a['_MainTex']; if (textureTransform == null) { return {}; } const offset = [(_b = textureTransform === null || textureTransform === void 0 ? void 0 : textureTransform[0]) !== null && _b !== void 0 ? _b : 0.0, (_c = textureTransform === null || textureTransform === void 0 ? void 0 : textureTransform[1]) !== null && _c !== void 0 ? _c : 0.0]; const scale = [(_d = textureTransform === null || textureTransform === void 0 ? void 0 : textureTransform[2]) !== null && _d !== void 0 ? _d : 1.0, (_e = textureTransform === null || textureTransform === void 0 ? void 0 : textureTransform[3]) !== null && _e !== void 0 ? _e : 1.0]; offset[1] = 1.0 - scale[1] - offset[1]; return { // eslint-disable-next-line @typescript-eslint/naming-convention KHR_texture_transform: { offset, scale }, }; } /** * Convert v0 render order into v1 render order. * This uses a map from v0 render queue to v1 compliant render queue offset which is generated in {@link _populateRenderQueueMap}. */ _v0ParseRenderQueue(materialProperties) { var _a, _b, _c; const isTransparent = (_b = (_a = materialProperties.keywordMap) === null || _a === void 0 ? void 0 : _a['_ALPHABLEND_ON']) !== null && _b !== void 0 ? _b : false; const enabledZWrite = ((_c = materialProperties.floatProperties) === null || _c === void 0 ? void 0 : _c['_ZWrite']) === 1; let offset = 0; if (isTransparent) { const v0Queue = materialProperties.renderQueue; if (v0Queue != null) { if (enabledZWrite) { offset = this._renderQueueMapTransparentZWrite.get(v0Queue); } else { offset = this._renderQueueMapTransparent.get(v0Queue); } } } return offset; } /** * Create a map which maps v0 render queue to v1 compliant render queue offset. * This lists up all render queues the model use and creates a map to new render queue offsets in the same order. */ _populateRenderQueueMap(materialPropertiesList) { /** * A set of used render queues in Transparent materials. */ const renderQueuesTransparent = new Set(); /** * A set of used render queues in TransparentZWrite materials. */ const renderQueuesTransparentZWrite = new Set(); // populate the render queue set materialPropertiesList.forEach((materialProperties) => { var _a, _b, _c; const isTransparent = (_b = (_a = materialProperties.keywordMap) === null || _a === void 0 ? void 0 : _a['_ALPHABLEND_ON']) !== null && _b !== void 0 ? _b : false; const enabledZWrite = ((_c = materialProperties.floatProperties) === null || _c === void 0 ? void 0 : _c['_ZWrite']) === 1; if (isTransparent) { const v0Queue = materialProperties.renderQueue; if (v0Queue != null) { if (enabledZWrite) { renderQueuesTransparentZWrite.add(v0Queue); } else { renderQueuesTransparent.add(v0Queue); } } } }); // show a warning if the model uses v1 incompatible number of render queues if (renderQueuesTransparent.size > 10) { console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${renderQueuesTransparent.size} render queues for Transparent materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`); } if (renderQueuesTransparentZWrite.size > 10) { console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${renderQueuesTransparentZWrite.size} render queues for TransparentZWrite materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`); } // create a map from v0 render queue to v1 render queue offset Array.from(renderQueuesTransparent) .sort() .forEach((queue, i) => { const newQueueOffset = Math.min(Math.max(i - renderQueuesTransparent.size + 1, -9), 0); this._renderQueueMapTransparent.set(queue, newQueueOffset); }); Array.from(renderQueuesTransparentZWrite) .sort() .forEach((queue, i) => { const newQueueOffset = Math.min(Math.max(i, 0), 9); this._renderQueueMapTransparentZWrite.set(queue, newQueueOffset); }); } } /*! * @pixiv/three-vrm-node-constraint v2.0.6 * Node constraint module for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-node-constraint is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ const _v3A$3$1 = new THREE__namespace.Vector3(); class VRMNodeConstraintHelper extends THREE__namespace.Group { constructor(constraint) { super(); this._attrPosition = new THREE__namespace.BufferAttribute(new Float32Array([0, 0, 0, 0, 0, 0]), 3); this._attrPosition.setUsage(THREE__namespace.DynamicDrawUsage); const geometry = new THREE__namespace.BufferGeometry(); geometry.setAttribute('position', this._attrPosition); const material = new THREE__namespace.LineBasicMaterial({ color: 0xff00ff, depthTest: false, depthWrite: false, }); this._line = new THREE__namespace.Line(geometry, material); this.add(this._line); this.constraint = constraint; } updateMatrixWorld(force) { _v3A$3$1.setFromMatrixPosition(this.constraint.destination.matrixWorld); this._attrPosition.setXYZ(0, _v3A$3$1.x, _v3A$3$1.y, _v3A$3$1.z); if (this.constraint.source) { _v3A$3$1.setFromMatrixPosition(this.constraint.source.matrixWorld); } this._attrPosition.setXYZ(1, _v3A$3$1.x, _v3A$3$1.y, _v3A$3$1.z); this._attrPosition.needsUpdate = true; super.updateMatrixWorld(force); } } function decomposePosition(matrix, target) { return target.set(matrix.elements[12], matrix.elements[13], matrix.elements[14]); } const _v3A$2$1 = new THREE__namespace.Vector3(); const _v3B$1$1 = new THREE__namespace.Vector3(); function decomposeRotation(matrix, target) { matrix.decompose(_v3A$2$1, target, _v3B$1$1); return target; } /** * A compat function for `Quaternion.invert()` / `Quaternion.inverse()`. * `Quaternion.invert()` is introduced in r123 and `Quaternion.inverse()` emits a warning. * We are going to use this compat for a while. * @param target A target quaternion */ function quatInvertCompat(target) { if (target.invert) { target.invert(); } else { target.inverse(); } return target; } /** * A base class of VRM constraint classes. */ class VRMNodeConstraint { /** * @param destination The destination object * @param source The source object */ constructor(destination, source) { this.destination = destination; this.source = source; this.weight = 1.0; } } const _v3A$1$1 = new THREE__namespace.Vector3(); const _v3B$2 = new THREE__namespace.Vector3(); const _v3C$1 = new THREE__namespace.Vector3(); const _quatA$2 = new THREE__namespace.Quaternion(); const _quatB$2 = new THREE__namespace.Quaternion(); const _quatC = new THREE__namespace.Quaternion(); /** * A constraint that makes it look at a source object. * * See: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_node_constraint-1.0_beta#roll-constraint */ class VRMAimConstraint extends VRMNodeConstraint { /** * The aim axis of the constraint. */ get aimAxis() { return this._aimAxis; } /** * The aim axis of the constraint. */ set aimAxis(aimAxis) { this._aimAxis = aimAxis; this._v3AimAxis.set(aimAxis === 'PositiveX' ? 1.0 : aimAxis === 'NegativeX' ? -1.0 : 0.0, aimAxis === 'PositiveY' ? 1.0 : aimAxis === 'NegativeY' ? -1.0 : 0.0, aimAxis === 'PositiveZ' ? 1.0 : aimAxis === 'NegativeZ' ? -1.0 : 0.0); } get dependencies() { const set = new Set([this.source]); if (this.destination.parent) { set.add(this.destination.parent); } return set; } constructor(destination, source) { super(destination, source); this._aimAxis = 'PositiveX'; this._v3AimAxis = new THREE__namespace.Vector3(1, 0, 0); this._dstRestQuat = new THREE__namespace.Quaternion(); } setInitState() { this._dstRestQuat.copy(this.destination.quaternion); } update() { // update world matrix of destination and source manually this.destination.updateWorldMatrix(true, false); this.source.updateWorldMatrix(true, false); // get world quaternion of the parent of the destination const dstParentWorldQuat = _quatA$2.identity(); const invDstParentWorldQuat = _quatB$2.identity(); if (this.destination.parent) { decomposeRotation(this.destination.parent.matrixWorld, dstParentWorldQuat); quatInvertCompat(invDstParentWorldQuat.copy(dstParentWorldQuat)); } // calculate from-to vectors in world coord const a0 = _v3A$1$1.copy(this._v3AimAxis).applyQuaternion(this._dstRestQuat).applyQuaternion(dstParentWorldQuat); const a1 = decomposePosition(this.source.matrixWorld, _v3B$2) .sub(decomposePosition(this.destination.matrixWorld, _v3C$1)) .normalize(); // create a from-to quaternion, convert to destination local coord, then multiply rest quaternion const targetQuat = _quatC .setFromUnitVectors(a0, a1) .premultiply(invDstParentWorldQuat) .multiply(dstParentWorldQuat) .multiply(this._dstRestQuat); // blend with the rest quaternion using weight this.destination.quaternion.copy(this._dstRestQuat).slerp(targetQuat, this.weight); } } /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter$1(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } /** * Traverse ancestors of given object and call given callback from root side. * It will include the given object itself. * * @param object The object you want to traverse * @param callback The call back function that will be called for each ancestors */ function traverseAncestorsFromRoot$1(object, callback) { const ancestors = [object]; let head = object.parent; while (head !== null) { ancestors.unshift(head); head = head.parent; } ancestors.forEach((ancestor) => { callback(ancestor); }); } class VRMNodeConstraintManager { constructor() { this._constraints = new Set(); this._objectConstraintsMap = new Map(); } get constraints() { return this._constraints; } addConstraint(constraint) { this._constraints.add(constraint); let objectSet = this._objectConstraintsMap.get(constraint.destination); if (objectSet == null) { objectSet = new Set(); this._objectConstraintsMap.set(constraint.destination, objectSet); } objectSet.add(constraint); } deleteConstraint(constraint) { this._constraints.delete(constraint); const objectSet = this._objectConstraintsMap.get(constraint.destination); objectSet.delete(constraint); } setInitState() { const constraintsTried = new Set(); const constraintsDone = new Set(); for (const constraint of this._constraints) { this._processConstraint(constraint, constraintsTried, constraintsDone, (constraint) => constraint.setInitState()); } } update() { const constraintsTried = new Set(); const constraintsDone = new Set(); for (const constraint of this._constraints) { this._processConstraint(constraint, constraintsTried, constraintsDone, (constraint) => constraint.update()); } } /** * Update a constraint. * If there are other constraints that are dependant, it will try to update them recursively. * It might throw an error if there are circular dependencies. * * Intended to be used in {@link update} and {@link _processConstraint} itself recursively. * * @param constraint A constraint you want to update * @param constraintsTried Set of constraints that are already tried to be updated * @param constraintsDone Set of constraints that are already up to date */ _processConstraint(constraint, constraintsTried, constraintsDone, callback) { if (constraintsDone.has(constraint)) { return; } if (constraintsTried.has(constraint)) { throw new Error('VRMNodeConstraintManager: Circular dependency detected while updating constraints'); } constraintsTried.add(constraint); const depObjects = constraint.dependencies; for (const depObject of depObjects) { traverseAncestorsFromRoot$1(depObject, (depObjectAncestor) => { const objectSet = this._objectConstraintsMap.get(depObjectAncestor); if (objectSet) { for (const depConstraint of objectSet) { this._processConstraint(depConstraint, constraintsTried, constraintsDone, callback); } } }); } callback(constraint); constraintsDone.add(constraint); } } const _quatA$1 = new THREE__namespace.Quaternion(); const _quatB$1 = new THREE__namespace.Quaternion(); /** * A constraint that transfers a rotation around one axis of a source. * * See: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_node_constraint-1.0_beta#roll-constraint */ class VRMRotationConstraint extends VRMNodeConstraint { get dependencies() { return new Set([this.source]); } constructor(destination, source) { super(destination, source); this._dstRestQuat = new THREE__namespace.Quaternion(); this._invSrcRestQuat = new THREE__namespace.Quaternion(); } setInitState() { this._dstRestQuat.copy(this.destination.quaternion); quatInvertCompat(this._invSrcRestQuat.copy(this.source.quaternion)); } update() { // calculate the delta rotation from the rest about the source const srcDeltaQuat = _quatA$1.copy(this._invSrcRestQuat).multiply(this.source.quaternion); // multiply the delta to the rest of the destination const targetQuat = _quatB$1.copy(this._dstRestQuat).multiply(srcDeltaQuat); // blend with the rest quaternion using weight this.destination.quaternion.copy(this._dstRestQuat).slerp(targetQuat, this.weight); } } const _v3A$5 = new THREE__namespace.Vector3(); const _quatA$3 = new THREE__namespace.Quaternion(); const _quatB = new THREE__namespace.Quaternion(); /** * A constraint that transfers a rotation around one axis of a source. * * See: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_node_constraint-1.0_beta#roll-constraint */ class VRMRollConstraint extends VRMNodeConstraint { /** * The roll axis of the constraint. */ get rollAxis() { return this._rollAxis; } /** * The roll axis of the constraint. */ set rollAxis(rollAxis) { this._rollAxis = rollAxis; this._v3RollAxis.set(rollAxis === 'X' ? 1.0 : 0.0, rollAxis === 'Y' ? 1.0 : 0.0, rollAxis === 'Z' ? 1.0 : 0.0); } get dependencies() { return new Set([this.source]); } constructor(destination, source) { super(destination, source); this._rollAxis = 'X'; this._v3RollAxis = new THREE__namespace.Vector3(1, 0, 0); this._dstRestQuat = new THREE__namespace.Quaternion(); this._invDstRestQuat = new THREE__namespace.Quaternion(); this._invSrcRestQuatMulDstRestQuat = new THREE__namespace.Quaternion(); } setInitState() { this._dstRestQuat.copy(this.destination.quaternion); quatInvertCompat(this._invDstRestQuat.copy(this._dstRestQuat)); quatInvertCompat(this._invSrcRestQuatMulDstRestQuat.copy(this.source.quaternion)).multiply(this._dstRestQuat); } update() { // calculate the delta rotation from the rest about the source, then convert to the destination local coord /** * What the quatDelta is intended to be: * * ```ts * const quatSrcDelta = _quatA * .copy( this._invSrcRestQuat ) * .multiply( this.source.quaternion ); * const quatSrcDeltaInParent = _quatB * .copy( this._srcRestQuat ) * .multiply( quatSrcDelta ) * .multiply( this._invSrcRestQuat ); * const quatSrcDeltaInDst = _quatA * .copy( this._invDstRestQuat ) * .multiply( quatSrcDeltaInParent ) * .multiply( this._dstRestQuat ); * ``` */ const quatDelta = _quatA$3 .copy(this._invDstRestQuat) .multiply(this.source.quaternion) .multiply(this._invSrcRestQuatMulDstRestQuat); // create a from-to quaternion const n1 = _v3A$5.copy(this._v3RollAxis).applyQuaternion(quatDelta); /** * What the quatFromTo is intended to be: * * ```ts * const quatFromTo = _quatB.setFromUnitVectors( this._v3RollAxis, n1 ).inverse(); * ``` */ const quatFromTo = _quatB.setFromUnitVectors(n1, this._v3RollAxis); // quatFromTo * quatDelta == roll extracted from quatDelta const targetQuat = quatFromTo.premultiply(this._dstRestQuat).multiply(quatDelta); // blend with the rest quaternion using weight this.destination.quaternion.copy(this._dstRestQuat).slerp(targetQuat, this.weight); } } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS$1 = new Set(['1.0', '1.0-beta']); class VRMNodeConstraintLoaderPlugin { get name() { return VRMNodeConstraintLoaderPlugin.EXTENSION_NAME; } constructor(parser, options) { this.parser = parser; this.helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; } afterRoot(gltf) { return __awaiter$1(this, void 0, void 0, function* () { gltf.userData.vrmNodeConstraintManager = yield this._import(gltf); }); } /** * Import constraints from a GLTF and returns a {@link VRMNodeConstraintManager}. * It might return `null` instead when it does not need to be created or something go wrong. * * @param gltf A parsed result of GLTF taken from GLTFLoader */ _import(gltf) { var _a; return __awaiter$1(this, void 0, void 0, function* () { const json = this.parser.json; // early abort if it doesn't use constraints const isConstraintsUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf(VRMNodeConstraintLoaderPlugin.EXTENSION_NAME)) !== -1; if (!isConstraintsUsed) { return null; } const manager = new VRMNodeConstraintManager(); const threeNodes = yield this.parser.getDependencies('node'); // import constraints for each nodes threeNodes.forEach((node, nodeIndex) => { var _a; const schemaNode = json.nodes[nodeIndex]; // check if the extension uses the extension const extension = (_a = schemaNode === null || schemaNode === void 0 ? void 0 : schemaNode.extensions) === null || _a === void 0 ? void 0 : _a[VRMNodeConstraintLoaderPlugin.EXTENSION_NAME]; if (extension == null) { return; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS$1.has(specVersion)) { console.warn(`VRMNodeConstraintLoaderPlugin: Unknown ${VRMNodeConstraintLoaderPlugin.EXTENSION_NAME} specVersion "${specVersion}"`); return; } const constraintDef = extension.constraint; // import constraints if (constraintDef.roll != null) { const constraint = this._importRollConstraint(node, threeNodes, constraintDef.roll); manager.addConstraint(constraint); } else if (constraintDef.aim != null) { const constraint = this._importAimConstraint(node, threeNodes, constraintDef.aim); manager.addConstraint(constraint); } else if (constraintDef.rotation != null) { const constraint = this._importRotationConstraint(node, threeNodes, constraintDef.rotation); manager.addConstraint(constraint); } }); // init constraints gltf.scene.updateMatrixWorld(); manager.setInitState(); return manager; }); } _importRollConstraint(destination, nodes, rollConstraintDef) { const { source: sourceIndex, rollAxis, weight } = rollConstraintDef; const source = nodes[sourceIndex]; const constraint = new VRMRollConstraint(destination, source); if (rollAxis != null) { constraint.rollAxis = rollAxis; } if (weight != null) { constraint.weight = weight; } if (this.helperRoot) { const helper = new VRMNodeConstraintHelper(constraint); this.helperRoot.add(helper); } return constraint; } _importAimConstraint(destination, nodes, aimConstraintDef) { const { source: sourceIndex, aimAxis, weight } = aimConstraintDef; const source = nodes[sourceIndex]; const constraint = new VRMAimConstraint(destination, source); if (aimAxis != null) { constraint.aimAxis = aimAxis; } if (weight != null) { constraint.weight = weight; } if (this.helperRoot) { const helper = new VRMNodeConstraintHelper(constraint); this.helperRoot.add(helper); } return constraint; } _importRotationConstraint(destination, nodes, rotationConstraintDef) { const { source: sourceIndex, weight } = rotationConstraintDef; const source = nodes[sourceIndex]; const constraint = new VRMRotationConstraint(destination, source); if (weight != null) { constraint.weight = weight; } if (this.helperRoot) { const helper = new VRMNodeConstraintHelper(constraint); this.helperRoot.add(helper); } return constraint; } } VRMNodeConstraintLoaderPlugin.EXTENSION_NAME = 'VRMC_node_constraint'; /*! * @pixiv/three-vrm-springbone v2.0.6 * Spring bone module for @pixiv/three-vrm * * Copyright (c) 2020-2023 pixiv Inc. * @pixiv/three-vrm-springbone is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE */ /** * Represents a shape of a collider. */ class VRMSpringBoneColliderShape { } const _v3A$4 = new THREE__namespace.Vector3(); const _v3B$1 = new THREE__namespace.Vector3(); class VRMSpringBoneColliderShapeCapsule extends VRMSpringBoneColliderShape { get type() { return 'capsule'; } constructor(params) { var _a, _b, _c; super(); this.offset = (_a = params === null || params === void 0 ? void 0 : params.offset) !== null && _a !== void 0 ? _a : new THREE__namespace.Vector3(0.0, 0.0, 0.0); this.tail = (_b = params === null || params === void 0 ? void 0 : params.tail) !== null && _b !== void 0 ? _b : new THREE__namespace.Vector3(0.0, 0.0, 0.0); this.radius = (_c = params === null || params === void 0 ? void 0 : params.radius) !== null && _c !== void 0 ? _c : 0.0; } calculateCollision(colliderMatrix, objectPosition, objectRadius, target) { _v3A$4.copy(this.offset).applyMatrix4(colliderMatrix); // transformed head _v3B$1.copy(this.tail).applyMatrix4(colliderMatrix); // transformed tail _v3B$1.sub(_v3A$4); // from head to tail const lengthSqCapsule = _v3B$1.lengthSq(); target.copy(objectPosition).sub(_v3A$4); // from head to object const dot = _v3B$1.dot(target); // dot product of offsetToTail and offsetToObject if (dot <= 0.0) ; else if (lengthSqCapsule <= dot) { // if object is near from the tail target.sub(_v3B$1); // from tail to object } else { // if object is between two ends _v3B$1.multiplyScalar(dot / lengthSqCapsule); // from head to the nearest point of the shaft target.sub(_v3B$1); // from the shaft point to object } const radius = objectRadius + this.radius; const distance = target.length() - radius; target.normalize(); return distance; } } class VRMSpringBoneColliderShapeSphere extends VRMSpringBoneColliderShape { get type() { return 'sphere'; } constructor(params) { var _a, _b; super(); this.offset = (_a = params === null || params === void 0 ? void 0 : params.offset) !== null && _a !== void 0 ? _a : new THREE__namespace.Vector3(0.0, 0.0, 0.0); this.radius = (_b = params === null || params === void 0 ? void 0 : params.radius) !== null && _b !== void 0 ? _b : 0.0; } calculateCollision(colliderMatrix, objectPosition, objectRadius, target) { target.copy(this.offset).applyMatrix4(colliderMatrix); // transformed offset target.negate().add(objectPosition); // a vector from collider center to object position const radius = objectRadius + this.radius; const distance = target.length() - radius; target.normalize(); return distance; } } const _v3A$3 = new THREE__namespace.Vector3(); class ColliderShapeCapsuleBufferGeometry extends THREE__namespace.BufferGeometry { constructor(shape) { super(); this.worldScale = 1.0; this._currentRadius = 0; this._currentOffset = new THREE__namespace.Vector3(); this._currentTail = new THREE__namespace.Vector3(); this._shape = shape; this._attrPos = new THREE__namespace.BufferAttribute(new Float32Array(396), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE__namespace.BufferAttribute(new Uint16Array(264), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; const radius = this._shape.radius / this.worldScale; if (this._currentRadius !== radius) { this._currentRadius = radius; shouldUpdateGeometry = true; } if (!this._currentOffset.equals(this._shape.offset)) { this._currentOffset.copy(this._shape.offset); shouldUpdateGeometry = true; } const tail = _v3A$3.copy(this._shape.tail).divideScalar(this.worldScale); if (this._currentTail.distanceToSquared(tail) > 1e-10) { this._currentTail.copy(tail); shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { _v3A$3.copy(this._currentTail).sub(this._currentOffset); const l = _v3A$3.length() / this._currentRadius; for (let i = 0; i <= 16; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(i, -Math.sin(t), -Math.cos(t), 0.0); this._attrPos.setXYZ(17 + i, l + Math.sin(t), Math.cos(t), 0.0); this._attrPos.setXYZ(34 + i, -Math.sin(t), 0.0, -Math.cos(t)); this._attrPos.setXYZ(51 + i, l + Math.sin(t), 0.0, Math.cos(t)); } for (let i = 0; i < 32; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(68 + i, 0.0, Math.sin(t), Math.cos(t)); this._attrPos.setXYZ(100 + i, l, Math.sin(t), Math.cos(t)); } const theta = Math.atan2(_v3A$3.y, Math.sqrt(_v3A$3.x * _v3A$3.x + _v3A$3.z * _v3A$3.z)); const phi = -Math.atan2(_v3A$3.z, _v3A$3.x); this.rotateZ(theta); this.rotateY(phi); this.scale(this._currentRadius, this._currentRadius, this._currentRadius); this.translate(this._currentOffset.x, this._currentOffset.y, this._currentOffset.z); this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 34; i++) { const i1 = (i + 1) % 34; this._attrIndex.setXY(i * 2, i, i1); this._attrIndex.setXY(68 + i * 2, 34 + i, 34 + i1); } for (let i = 0; i < 32; i++) { const i1 = (i + 1) % 32; this._attrIndex.setXY(136 + i * 2, 68 + i, 68 + i1); this._attrIndex.setXY(200 + i * 2, 100 + i, 100 + i1); } this._attrIndex.needsUpdate = true; } } class ColliderShapeSphereBufferGeometry extends THREE__namespace.BufferGeometry { constructor(shape) { super(); this.worldScale = 1.0; this._currentRadius = 0; this._currentOffset = new THREE__namespace.Vector3(); this._shape = shape; this._attrPos = new THREE__namespace.BufferAttribute(new Float32Array(32 * 3 * 3), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE__namespace.BufferAttribute(new Uint16Array(64 * 3), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; const radius = this._shape.radius / this.worldScale; if (this._currentRadius !== radius) { this._currentRadius = radius; shouldUpdateGeometry = true; } if (!this._currentOffset.equals(this._shape.offset)) { this._currentOffset.copy(this._shape.offset); shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { for (let i = 0; i < 32; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(i, Math.cos(t), Math.sin(t), 0.0); this._attrPos.setXYZ(32 + i, 0.0, Math.cos(t), Math.sin(t)); this._attrPos.setXYZ(64 + i, Math.sin(t), 0.0, Math.cos(t)); } this.scale(this._currentRadius, this._currentRadius, this._currentRadius); this.translate(this._currentOffset.x, this._currentOffset.y, this._currentOffset.z); this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 32; i++) { const i1 = (i + 1) % 32; this._attrIndex.setXY(i * 2, i, i1); this._attrIndex.setXY(64 + i * 2, 32 + i, 32 + i1); this._attrIndex.setXY(128 + i * 2, 64 + i, 64 + i1); } this._attrIndex.needsUpdate = true; } } const _v3A$2 = new THREE__namespace.Vector3(); class VRMSpringBoneColliderHelper extends THREE__namespace.Group { constructor(collider) { super(); this.matrixAutoUpdate = false; this.collider = collider; if (this.collider.shape instanceof VRMSpringBoneColliderShapeSphere) { this._geometry = new ColliderShapeSphereBufferGeometry(this.collider.shape); } else if (this.collider.shape instanceof VRMSpringBoneColliderShapeCapsule) { this._geometry = new ColliderShapeCapsuleBufferGeometry(this.collider.shape); } else { throw new Error('VRMSpringBoneColliderHelper: Unknown collider shape type detected'); } const material = new THREE__namespace.LineBasicMaterial({ color: 0xff00ff, depthTest: false, depthWrite: false, }); this._line = new THREE__namespace.LineSegments(this._geometry, material); this.add(this._line); } dispose() { this._geometry.dispose(); } updateMatrixWorld(force) { this.collider.updateWorldMatrix(true, false); this.matrix.copy(this.collider.matrixWorld); const matrixWorldElements = this.matrix.elements; this._geometry.worldScale = _v3A$2 .set(matrixWorldElements[0], matrixWorldElements[1], matrixWorldElements[2]) .length(); // calculate scale of x component this._geometry.update(); super.updateMatrixWorld(force); } } class SpringBoneBufferGeometry extends THREE__namespace.BufferGeometry { constructor(springBone) { super(); this.worldScale = 1.0; this._currentRadius = 0; this._currentTail = new THREE__namespace.Vector3(); this._springBone = springBone; this._attrPos = new THREE__namespace.BufferAttribute(new Float32Array(294), 3); this.setAttribute('position', this._attrPos); this._attrIndex = new THREE__namespace.BufferAttribute(new Uint16Array(194), 1); this.setIndex(this._attrIndex); this._buildIndex(); this.update(); } update() { let shouldUpdateGeometry = false; const radius = this._springBone.settings.hitRadius / this.worldScale; if (this._currentRadius !== radius) { this._currentRadius = radius; shouldUpdateGeometry = true; } if (!this._currentTail.equals(this._springBone.initialLocalChildPosition)) { this._currentTail.copy(this._springBone.initialLocalChildPosition); shouldUpdateGeometry = true; } if (shouldUpdateGeometry) { this._buildPosition(); } } _buildPosition() { for (let i = 0; i < 32; i++) { const t = (i / 16.0) * Math.PI; this._attrPos.setXYZ(i, Math.cos(t), Math.sin(t), 0.0); this._attrPos.setXYZ(32 + i, 0.0, Math.cos(t), Math.sin(t)); this._attrPos.setXYZ(64 + i, Math.sin(t), 0.0, Math.cos(t)); } this.scale(this._currentRadius, this._currentRadius, this._currentRadius); this.translate(this._currentTail.x, this._currentTail.y, this._currentTail.z); this._attrPos.setXYZ(96, 0, 0, 0); this._attrPos.setXYZ(97, this._currentTail.x, this._currentTail.y, this._currentTail.z); this._attrPos.needsUpdate = true; } _buildIndex() { for (let i = 0; i < 32; i++) { const i1 = (i + 1) % 32; this._attrIndex.setXY(i * 2, i, i1); this._attrIndex.setXY(64 + i * 2, 32 + i, 32 + i1); this._attrIndex.setXY(128 + i * 2, 64 + i, 64 + i1); } this._attrIndex.setXY(192, 96, 97); this._attrIndex.needsUpdate = true; } } const _v3A$1 = new THREE__namespace.Vector3(); class VRMSpringBoneJointHelper extends THREE__namespace.Group { constructor(springBone) { super(); this.matrixAutoUpdate = false; this.springBone = springBone; this._geometry = new SpringBoneBufferGeometry(this.springBone); const material = new THREE__namespace.LineBasicMaterial({ color: 0xffff00, depthTest: false, depthWrite: false, }); this._line = new THREE__namespace.LineSegments(this._geometry, material); this.add(this._line); } dispose() { this._geometry.dispose(); } updateMatrixWorld(force) { this.springBone.bone.updateWorldMatrix(true, false); this.matrix.copy(this.springBone.bone.matrixWorld); const matrixWorldElements = this.matrix.elements; this._geometry.worldScale = _v3A$1 .set(matrixWorldElements[0], matrixWorldElements[1], matrixWorldElements[2]) .length(); // calculate scale of x component this._geometry.update(); super.updateMatrixWorld(force); } } /** * Represents a collider of a VRM. */ class VRMSpringBoneCollider extends THREE__namespace.Object3D { constructor(shape) { super(); this.shape = shape; } } const _matA$1 = new THREE__namespace.Matrix4(); /** * A compat function for `Matrix4.invert()` / `Matrix4.getInverse()`. * `Matrix4.invert()` is introduced in r123 and `Matrix4.getInverse()` emits a warning. * We are going to use this compat for a while. * @param target A target matrix */ function mat4InvertCompat(target) { if (target.invert) { target.invert(); } else { target.getInverse(_matA$1.copy(target)); } return target; } class Matrix4InverseCache { /** * Inverse of given matrix. * Note that it will return its internal private instance. * Make sure copying this before mutate this. */ get inverse() { if (this._shouldUpdateInverse) { this._inverseCache.copy(this.matrix); mat4InvertCompat(this._inverseCache); this._shouldUpdateInverse = false; } return this._inverseCache; } constructor(matrix) { /** * A cache of inverse of current matrix. */ this._inverseCache = new THREE__namespace.Matrix4(); /** * A flag that makes it want to recalculate its {@link _inverseCache}. * Will be set `true` when `elements` are mutated and be used in `getInverse`. */ this._shouldUpdateInverse = true; this.matrix = matrix; const handler = { set: (obj, prop, newVal) => { this._shouldUpdateInverse = true; obj[prop] = newVal; return true; }, }; this._originalElements = matrix.elements; matrix.elements = new Proxy(matrix.elements, handler); } revert() { this.matrix.elements = this._originalElements; } } // based on // http://rocketjump.skr.jp/unity3d/109/ // https://github.com/dwango/UniVRM/blob/master/Scripts/SpringBone/VRMSpringBone.cs const IDENTITY_MATRIX4 = new THREE__namespace.Matrix4(); // 計算中の一時保存用変数(一度インスタンスを作ったらあとは使い回す) const _v3A = new THREE__namespace.Vector3(); const _v3B = new THREE__namespace.Vector3(); const _v3C = new THREE__namespace.Vector3(); /** * A temporary variable which is used in `update` */ const _worldSpacePosition = new THREE__namespace.Vector3(); /** * A temporary variable which is used in `update` */ const _centerSpacePosition = new THREE__namespace.Vector3(); /** * A temporary variable which is used in `update` */ const _nextTail = new THREE__namespace.Vector3(); const _quatA = new THREE__namespace.Quaternion(); const _matA = new THREE__namespace.Matrix4(); const _matB = new THREE__namespace.Matrix4(); /** * A class represents a single joint of a spring bone. * It should be managed by a [[VRMSpringBoneManager]]. */ class VRMSpringBoneJoint { get center() { return this._center; } set center(center) { var _a; // uninstall inverse cache if ((_a = this._center) === null || _a === void 0 ? void 0 : _a.userData.inverseCacheProxy) { this._center.userData.inverseCacheProxy.revert(); delete this._center.userData.inverseCacheProxy; } // change the center this._center = center; // install inverse cache if (this._center) { if (!this._center.userData.inverseCacheProxy) { this._center.userData.inverseCacheProxy = new Matrix4InverseCache(this._center.matrixWorld); } } } get initialLocalChildPosition() { return this._initialLocalChildPosition; } /** * Returns the world matrix of its parent object. * Note that it returns a reference to the matrix. Don't mutate this directly! */ get _parentMatrixWorld() { return this.bone.parent ? this.bone.parent.matrixWorld : IDENTITY_MATRIX4; } /** * Create a new VRMSpringBone. * * @param bone An Object3D that will be attached to this bone * @param child An Object3D that will be used as a tail of this spring bone. It can be null when the spring bone is imported from VRM 0.0 * @param settings Several parameters related to behavior of the spring bone * @param colliderGroups Collider groups that will be collided with this spring bone */ constructor(bone, child, settings = {}, colliderGroups = []) { var _a, _b, _c, _d, _e, _f; /** * Current position of child tail, in center unit. Will be used for verlet integration. */ this._currentTail = new THREE__namespace.Vector3(); /** * Previous position of child tail, in center unit. Will be used for verlet integration. */ this._prevTail = new THREE__namespace.Vector3(); /** * Initial axis of the bone, in local unit. */ this._boneAxis = new THREE__namespace.Vector3(); /** * Length of the bone in world unit. * Will be used for normalization in update loop, will be updated by {@link _calcWorldSpaceBoneLength}. * * It's same as local unit length unless there are scale transformations in the world space. */ this._worldSpaceBoneLength = 0.0; /** * This springbone will be calculated based on the space relative from this object. * If this is `null`, springbone will be calculated in world space. */ this._center = null; /** * Initial state of the local matrix of the bone. */ this._initialLocalMatrix = new THREE__namespace.Matrix4(); /** * Initial state of the rotation of the bone. */ this._initialLocalRotation = new THREE__namespace.Quaternion(); /** * Initial state of the position of its child. */ this._initialLocalChildPosition = new THREE__namespace.Vector3(); this.bone = bone; // uniVRMでの parent this.bone.matrixAutoUpdate = false; // updateにより計算されるのでthree.js内での自動処理は不要 this.child = child; this.settings = { hitRadius: (_a = settings.hitRadius) !== null && _a !== void 0 ? _a : 0.0, stiffness: (_b = settings.stiffness) !== null && _b !== void 0 ? _b : 1.0, gravityPower: (_c = settings.gravityPower) !== null && _c !== void 0 ? _c : 0.0, gravityDir: (_e = (_d = settings.gravityDir) === null || _d === void 0 ? void 0 : _d.clone()) !== null && _e !== void 0 ? _e : new THREE__namespace.Vector3(0.0, -1.0, 0.0), dragForce: (_f = settings.dragForce) !== null && _f !== void 0 ? _f : 0.4, }; this.colliderGroups = colliderGroups; } /** * Set the initial state of this spring bone. * You might want to call {@link VRMSpringBoneManager.setInitState} instead. */ setInitState() { // remember initial position of itself this._initialLocalMatrix.copy(this.bone.matrix); this._initialLocalRotation.copy(this.bone.quaternion); // see initial position of its local child if (this.child) { this._initialLocalChildPosition.copy(this.child.position); } else { // vrm0 requires a 7cm fixed bone length for the final node in a chain // See: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_springBone-1.0#about-spring-configuration this._initialLocalChildPosition.copy(this.bone.position).normalize().multiplyScalar(0.07); } // copy the child position to tails const matrixWorldToCenter = this._getMatrixWorldToCenter(_matA); this.bone.localToWorld(this._currentTail.copy(this._initialLocalChildPosition)).applyMatrix4(matrixWorldToCenter); this._prevTail.copy(this._currentTail); // set initial states that are related to local child position this._boneAxis.copy(this._initialLocalChildPosition).normalize(); } /** * Reset the state of this bone. * You might want to call [[VRMSpringBoneManager.reset]] instead. */ reset() { this.bone.quaternion.copy(this._initialLocalRotation); // We need to update its matrixWorld manually, since we tweaked the bone by our hand this.bone.updateMatrix(); this.bone.matrixWorld.multiplyMatrices(this._parentMatrixWorld, this.bone.matrix); // Apply updated position to tail states const matrixWorldToCenter = this._getMatrixWorldToCenter(_matA); this.bone.localToWorld(this._currentTail.copy(this._initialLocalChildPosition)).applyMatrix4(matrixWorldToCenter); this._prevTail.copy(this._currentTail); } /** * Update the state of this bone. * You might want to call [[VRMSpringBoneManager.update]] instead. * * @param delta deltaTime */ update(delta) { if (delta <= 0) return; // Update the _worldSpaceBoneLength this._calcWorldSpaceBoneLength(); // Get bone position in center space _worldSpacePosition.setFromMatrixPosition(this.bone.matrixWorld); let matrixWorldToCenter = this._getMatrixWorldToCenter(_matA); _centerSpacePosition.copy(_worldSpacePosition).applyMatrix4(matrixWorldToCenter); const quatWorldToCenter = _quatA.setFromRotationMatrix(matrixWorldToCenter); // Get parent matrix in center space const centerSpaceParentMatrix = _matB.copy(matrixWorldToCenter).multiply(this._parentMatrixWorld); // Get boneAxis in center space const centerSpaceBoneAxis = _v3B .copy(this._boneAxis) .applyMatrix4(this._initialLocalMatrix) .applyMatrix4(centerSpaceParentMatrix) .sub(_centerSpacePosition) .normalize(); // gravity in center space const centerSpaceGravity = _v3C.copy(this.settings.gravityDir).applyQuaternion(quatWorldToCenter).normalize(); const matrixCenterToWorld = this._getMatrixCenterToWorld(_matA); // verlet積分で次の位置を計算 _nextTail .copy(this._currentTail) .add(_v3A .copy(this._currentTail) .sub(this._prevTail) .multiplyScalar(1 - this.settings.dragForce)) // 前フレームの移動を継続する(減衰もあるよ) .add(_v3A.copy(centerSpaceBoneAxis).multiplyScalar(this.settings.stiffness * delta)) // 親の回転による子ボーンの移動目標 .add(_v3A.copy(centerSpaceGravity).multiplyScalar(this.settings.gravityPower * delta)) // 外力による移動量 .applyMatrix4(matrixCenterToWorld); // tailをworld spaceに戻す // normalize bone length _nextTail.sub(_worldSpacePosition).normalize().multiplyScalar(this._worldSpaceBoneLength).add(_worldSpacePosition); // Collisionで移動 this._collision(_nextTail); // update prevTail and currentTail matrixWorldToCenter = this._getMatrixWorldToCenter(_matA); this._prevTail.copy(this._currentTail); this._currentTail.copy(_v3A.copy(_nextTail).applyMatrix4(matrixWorldToCenter)); // Apply rotation, convert vector3 thing into actual quaternion // Original UniVRM is doing center unit calculus at here but we're gonna do this on local unit const worldSpaceInitialMatrixInv = mat4InvertCompat(_matA.copy(this._parentMatrixWorld).multiply(this._initialLocalMatrix)); const applyRotation = _quatA.setFromUnitVectors(this._boneAxis, _v3A.copy(_nextTail).applyMatrix4(worldSpaceInitialMatrixInv).normalize()); this.bone.quaternion.copy(this._initialLocalRotation).multiply(applyRotation); // We need to update its matrixWorld manually, since we tweaked the bone by our hand this.bone.updateMatrix(); this.bone.matrixWorld.multiplyMatrices(this._parentMatrixWorld, this.bone.matrix); } /** * Do collision math against every colliders attached to this bone. * * @param tail The tail you want to process */ _collision(tail) { this.colliderGroups.forEach((colliderGroup) => { colliderGroup.colliders.forEach((collider) => { const dist = collider.shape.calculateCollision(collider.matrixWorld, tail, this.settings.hitRadius, _v3A); if (dist < 0.0) { // hit tail.add(_v3A.multiplyScalar(-dist)); // normalize bone length tail.sub(_worldSpacePosition).normalize().multiplyScalar(this._worldSpaceBoneLength).add(_worldSpacePosition); } }); }); } /** * Calculate the {@link _worldSpaceBoneLength}. * Intended to be used in {@link update}. */ _calcWorldSpaceBoneLength() { _v3A.setFromMatrixPosition(this.bone.matrixWorld); // get world position of this.bone if (this.child) { _v3B.setFromMatrixPosition(this.child.matrixWorld); // get world position of this.child } else { _v3B.copy(this._initialLocalChildPosition); _v3B.applyMatrix4(this.bone.matrixWorld); } this._worldSpaceBoneLength = _v3A.sub(_v3B).length(); } /** * Create a matrix that converts center space into world space. * @param target Target matrix */ _getMatrixCenterToWorld(target) { if (this._center) { target.copy(this._center.matrixWorld); } else { target.identity(); } return target; } /** * Create a matrix that converts world space into center space. * @param target Target matrix */ _getMatrixWorldToCenter(target) { if (this._center) { target.copy(this._center.userData.inverseCacheProxy.inverse); } else { target.identity(); } return target; } } /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function traverseAncestorsFromRoot(object, callback) { const ancestors = []; let head = object; while (head !== null) { ancestors.unshift(head); head = head.parent; } ancestors.forEach((ancestor) => { callback(ancestor); }); } /** * Traverse children of given object and execute given callback. * The given object itself wont be given to the callback. * If the return value of the callback is `true`, it will halt the traversal of its children. * @param object A root object * @param callback A callback function called for each children */ function traverseChildrenUntilConditionMet(object, callback) { object.children.forEach((child) => { const result = callback(child); if (!result) { traverseChildrenUntilConditionMet(child, callback); } }); } class VRMSpringBoneManager { constructor() { this._joints = new Set(); this._objectSpringBonesMap = new Map(); } get joints() { return this._joints; } /** * @deprecated Use {@link joints} instead. */ get springBones() { console.warn('VRMSpringBoneManager: springBones is deprecated. use joints instead.'); return this._joints; } get colliderGroups() { const set = new Set(); this._joints.forEach((springBone) => { springBone.colliderGroups.forEach((colliderGroup) => { set.add(colliderGroup); }); }); return Array.from(set); } get colliders() { const set = new Set(); this.colliderGroups.forEach((colliderGroup) => { colliderGroup.colliders.forEach((collider) => { set.add(collider); }); }); return Array.from(set); } addJoint(joint) { this._joints.add(joint); let objectSet = this._objectSpringBonesMap.get(joint.bone); if (objectSet == null) { objectSet = new Set(); this._objectSpringBonesMap.set(joint.bone, objectSet); } objectSet.add(joint); } /** * @deprecated Use {@link addJoint} instead. */ addSpringBone(joint) { console.warn('VRMSpringBoneManager: addSpringBone() is deprecated. use addJoint() instead.'); this.addJoint(joint); } deleteJoint(joint) { this._joints.delete(joint); const objectSet = this._objectSpringBonesMap.get(joint.bone); objectSet.delete(joint); } /** * @deprecated Use {@link deleteJoint} instead. */ deleteSpringBone(joint) { console.warn('VRMSpringBoneManager: deleteSpringBone() is deprecated. use deleteJoint() instead.'); this.deleteJoint(joint); } setInitState() { const springBonesTried = new Set(); const springBonesDone = new Set(); const objectUpdated = new Set(); for (const springBone of this._joints) { this._processSpringBone(springBone, springBonesTried, springBonesDone, objectUpdated, (springBone) => springBone.setInitState()); } } reset() { const springBonesTried = new Set(); const springBonesDone = new Set(); const objectUpdated = new Set(); for (const springBone of this._joints) { this._processSpringBone(springBone, springBonesTried, springBonesDone, objectUpdated, (springBone) => springBone.reset()); } } update(delta) { const springBonesTried = new Set(); const springBonesDone = new Set(); const objectUpdated = new Set(); for (const springBone of this._joints) { // update the springbone this._processSpringBone(springBone, springBonesTried, springBonesDone, objectUpdated, (springBone) => springBone.update(delta)); // update children world matrices // it is required when the spring bone chain is sparse traverseChildrenUntilConditionMet(springBone.bone, (object) => { var _a, _b; // if the object has attached springbone, halt the traversal if (((_b = (_a = this._objectSpringBonesMap.get(object)) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0) > 0) { return true; } // otherwise update its world matrix object.updateWorldMatrix(false, false); return false; }); } } /** * Update a spring bone. * If there are other spring bone that are dependant, it will try to update them recursively. * It updates matrixWorld of all ancestors and myself. * It might throw an error if there are circular dependencies. * * Intended to be used in {@link update} and {@link _processSpringBone} itself recursively. * * @param springBone A springBone you want to update * @param springBonesTried Set of springBones that are already tried to be updated * @param springBonesDone Set of springBones that are already up to date * @param objectUpdated Set of object3D whose matrixWorld is updated */ _processSpringBone(springBone, springBonesTried, springBonesDone, objectUpdated, callback) { if (springBonesDone.has(springBone)) { return; } if (springBonesTried.has(springBone)) { throw new Error('VRMSpringBoneManager: Circular dependency detected while updating springbones'); } springBonesTried.add(springBone); const depObjects = this._getDependencies(springBone); for (const depObject of depObjects) { traverseAncestorsFromRoot(depObject, (depObjectAncestor) => { const objectSet = this._objectSpringBonesMap.get(depObjectAncestor); if (objectSet) { for (const depSpringBone of objectSet) { this._processSpringBone(depSpringBone, springBonesTried, springBonesDone, objectUpdated, callback); } } else if (!objectUpdated.has(depObjectAncestor)) { // update matrix of non-springbone depObjectAncestor.updateWorldMatrix(false, false); objectUpdated.add(depObjectAncestor); } }); } // update my matrix springBone.bone.updateMatrix(); springBone.bone.updateWorldMatrix(false, false); callback(springBone); objectUpdated.add(springBone.bone); springBonesDone.add(springBone); } /** * Return a set of objects that are dependant of given spring bone. * @param springBone A spring bone * @return A set of objects that are dependant of given spring bone */ _getDependencies(springBone) { const set = new Set(); const parent = springBone.bone.parent; if (parent) { set.add(parent); } springBone.colliderGroups.forEach((colliderGroup) => { colliderGroup.colliders.forEach((collider) => { set.add(collider); }); }); return set; } } /** * Possible spec versions it recognizes. */ const POSSIBLE_SPEC_VERSIONS = new Set(['1.0', '1.0-beta']); class VRMSpringBoneLoaderPlugin { get name() { return VRMSpringBoneLoaderPlugin.EXTENSION_NAME; } constructor(parser, options) { this.parser = parser; this.jointHelperRoot = options === null || options === void 0 ? void 0 : options.jointHelperRoot; this.colliderHelperRoot = options === null || options === void 0 ? void 0 : options.colliderHelperRoot; } afterRoot(gltf) { return __awaiter(this, void 0, void 0, function* () { gltf.userData.vrmSpringBoneManager = yield this._import(gltf); }); } /** * Import spring bones from a GLTF and return a {@link VRMSpringBoneManager}. * It might return `null` instead when it does not need to be created or something go wrong. * * @param gltf A parsed result of GLTF taken from GLTFLoader */ _import(gltf) { return __awaiter(this, void 0, void 0, function* () { const v1Result = yield this._v1Import(gltf); if (v1Result != null) { return v1Result; } const v0Result = yield this._v0Import(gltf); if (v0Result != null) { return v0Result; } return null; }); } _v1Import(gltf) { var _a, _b, _c, _d, _e; return __awaiter(this, void 0, void 0, function* () { const json = gltf.parser.json; // early abort if it doesn't use spring bones const isSpringBoneUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf(VRMSpringBoneLoaderPlugin.EXTENSION_NAME)) !== -1; if (!isSpringBoneUsed) { return null; } const manager = new VRMSpringBoneManager(); const threeNodes = yield gltf.parser.getDependencies('node'); const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b[VRMSpringBoneLoaderPlugin.EXTENSION_NAME]; if (!extension) { return null; } const specVersion = extension.specVersion; if (!POSSIBLE_SPEC_VERSIONS.has(specVersion)) { console.warn(`VRMSpringBoneLoaderPlugin: Unknown ${VRMSpringBoneLoaderPlugin.EXTENSION_NAME} specVersion "${specVersion}"`); return null; } const colliders = (_c = extension.colliders) === null || _c === void 0 ? void 0 : _c.map((schemaCollider, iCollider) => { var _a, _b, _c, _d, _e; const node = threeNodes[schemaCollider.node]; const schemaShape = schemaCollider.shape; if (schemaShape.sphere) { return this._importSphereCollider(node, { offset: new THREE__namespace.Vector3().fromArray((_a = schemaShape.sphere.offset) !== null && _a !== void 0 ? _a : [0.0, 0.0, 0.0]), radius: (_b = schemaShape.sphere.radius) !== null && _b !== void 0 ? _b : 0.0, }); } else if (schemaShape.capsule) { return this._importCapsuleCollider(node, { offset: new THREE__namespace.Vector3().fromArray((_c = schemaShape.capsule.offset) !== null && _c !== void 0 ? _c : [0.0, 0.0, 0.0]), radius: (_d = schemaShape.capsule.radius) !== null && _d !== void 0 ? _d : 0.0, tail: new THREE__namespace.Vector3().fromArray((_e = schemaShape.capsule.tail) !== null && _e !== void 0 ? _e : [0.0, 0.0, 0.0]), }); } throw new Error(`VRMSpringBoneLoaderPlugin: The collider #${iCollider} has no valid shape`); }); const colliderGroups = (_d = extension.colliderGroups) === null || _d === void 0 ? void 0 : _d.map((schemaColliderGroup, iColliderGroup) => { var _a; const cols = ((_a = schemaColliderGroup.colliders) !== null && _a !== void 0 ? _a : []).map((iCollider) => { const col = colliders === null || colliders === void 0 ? void 0 : colliders[iCollider]; if (col == null) { throw new Error(`VRMSpringBoneLoaderPlugin: The colliderGroup #${iColliderGroup} attempted to use a collider #${iCollider} but not found`); } return col; }); return { colliders: cols, name: schemaColliderGroup.name, }; }); (_e = extension.springs) === null || _e === void 0 ? void 0 : _e.forEach((schemaSpring, iSpring) => { var _a; const schemaJoints = schemaSpring.joints; // prepare colliders const colliderGroupsForSpring = (_a = schemaSpring.colliderGroups) === null || _a === void 0 ? void 0 : _a.map((iColliderGroup) => { const group = colliderGroups === null || colliderGroups === void 0 ? void 0 : colliderGroups[iColliderGroup]; if (group == null) { throw new Error(`VRMSpringBoneLoaderPlugin: The spring #${iSpring} attempted to use a colliderGroup ${iColliderGroup} but not found`); } return group; }); const center = schemaSpring.center != null ? threeNodes[schemaSpring.center] : undefined; let prevSchemaJoint; schemaJoints.forEach((schemaJoint) => { if (prevSchemaJoint) { // prepare node const nodeIndex = prevSchemaJoint.node; const node = threeNodes[nodeIndex]; const childIndex = schemaJoint.node; const child = threeNodes[childIndex]; // prepare setting const setting = { hitRadius: prevSchemaJoint.hitRadius, dragForce: prevSchemaJoint.dragForce, gravityPower: prevSchemaJoint.gravityPower, stiffness: prevSchemaJoint.stiffness, gravityDir: prevSchemaJoint.gravityDir != null ? new THREE__namespace.Vector3().fromArray(prevSchemaJoint.gravityDir) : undefined, }; // create spring bones const joint = this._importJoint(node, child, setting, colliderGroupsForSpring); if (center) { joint.center = center; } manager.addJoint(joint); } prevSchemaJoint = schemaJoint; }); }); // init spring bones manager.setInitState(); return manager; }); } _v0Import(gltf) { var _a, _b, _c; return __awaiter(this, void 0, void 0, function* () { const json = gltf.parser.json; // early abort if it doesn't use vrm const isVRMUsed = ((_a = json.extensionsUsed) === null || _a === void 0 ? void 0 : _a.indexOf('VRM')) !== -1; if (!isVRMUsed) { return null; } // early abort if it doesn't have bone groups const extension = (_b = json.extensions) === null || _b === void 0 ? void 0 : _b['VRM']; const schemaSecondaryAnimation = extension === null || extension === void 0 ? void 0 : extension.secondaryAnimation; if (!schemaSecondaryAnimation) { return null; } const schemaBoneGroups = schemaSecondaryAnimation === null || schemaSecondaryAnimation === void 0 ? void 0 : schemaSecondaryAnimation.boneGroups; if (!schemaBoneGroups) { return null; } const manager = new VRMSpringBoneManager(); const threeNodes = yield gltf.parser.getDependencies('node'); const colliderGroups = (_c = schemaSecondaryAnimation.colliderGroups) === null || _c === void 0 ? void 0 : _c.map((schemaColliderGroup) => { var _a; const node = threeNodes[schemaColliderGroup.node]; const colliders = ((_a = schemaColliderGroup.colliders) !== null && _a !== void 0 ? _a : []).map((schemaCollider, iCollider) => { var _a, _b, _c; const offset = new THREE__namespace.Vector3(0.0, 0.0, 0.0); if (schemaCollider.offset) { offset.set((_a = schemaCollider.offset.x) !== null && _a !== void 0 ? _a : 0.0, (_b = schemaCollider.offset.y) !== null && _b !== void 0 ? _b : 0.0, schemaCollider.offset.z ? -schemaCollider.offset.z : 0.0); } return this._importSphereCollider(node, { offset, radius: (_c = schemaCollider.radius) !== null && _c !== void 0 ? _c : 0.0, }); }); return { colliders }; }); // import spring bones for each spring bone groups schemaBoneGroups === null || schemaBoneGroups === void 0 ? void 0 : schemaBoneGroups.forEach((schemaBoneGroup, iBoneGroup) => { const rootIndices = schemaBoneGroup.bones; if (!rootIndices) { return; } rootIndices.forEach((rootIndex) => { var _a, _b, _c, _d; const root = threeNodes[rootIndex]; // prepare setting const gravityDir = new THREE__namespace.Vector3(); if (schemaBoneGroup.gravityDir) { gravityDir.set((_a = schemaBoneGroup.gravityDir.x) !== null && _a !== void 0 ? _a : 0.0, (_b = schemaBoneGroup.gravityDir.y) !== null && _b !== void 0 ? _b : 0.0, (_c = schemaBoneGroup.gravityDir.z) !== null && _c !== void 0 ? _c : 0.0); } else { gravityDir.set(0.0, -1.0, 0.0); } const center = schemaBoneGroup.center != null ? threeNodes[schemaBoneGroup.center] : undefined; const setting = { hitRadius: schemaBoneGroup.hitRadius, dragForce: schemaBoneGroup.dragForce, gravityPower: schemaBoneGroup.gravityPower, stiffness: schemaBoneGroup.stiffiness, gravityDir, }; // prepare colliders const colliderGroupsForSpring = (_d = schemaBoneGroup.colliderGroups) === null || _d === void 0 ? void 0 : _d.map((iColliderGroup) => { const group = colliderGroups === null || colliderGroups === void 0 ? void 0 : colliderGroups[iColliderGroup]; if (group == null) { throw new Error(`VRMSpringBoneLoaderPlugin: The spring #${iBoneGroup} attempted to use a colliderGroup ${iColliderGroup} but not found`); } return group; }); // create spring bones root.traverse((node) => { var _a; const child = (_a = node.children[0]) !== null && _a !== void 0 ? _a : null; const joint = this._importJoint(node, child, setting, colliderGroupsForSpring); if (center) { joint.center = center; } manager.addJoint(joint); }); }); }); // init spring bones gltf.scene.updateMatrixWorld(); manager.setInitState(); return manager; }); } _importJoint(node, child, setting, colliderGroupsForSpring) { const springBone = new VRMSpringBoneJoint(node, child, setting, colliderGroupsForSpring); if (this.jointHelperRoot) { const helper = new VRMSpringBoneJointHelper(springBone); this.jointHelperRoot.add(helper); helper.renderOrder = this.jointHelperRoot.renderOrder; } return springBone; } _importSphereCollider(destination, params) { const { offset, radius } = params; const shape = new VRMSpringBoneColliderShapeSphere({ offset, radius }); const collider = new VRMSpringBoneCollider(shape); destination.add(collider); if (this.colliderHelperRoot) { const helper = new VRMSpringBoneColliderHelper(collider); this.colliderHelperRoot.add(helper); helper.renderOrder = this.colliderHelperRoot.renderOrder; } return collider; } _importCapsuleCollider(destination, params) { const { offset, radius, tail } = params; const shape = new VRMSpringBoneColliderShapeCapsule({ offset, radius, tail }); const collider = new VRMSpringBoneCollider(shape); destination.add(collider); if (this.colliderHelperRoot) { const helper = new VRMSpringBoneColliderHelper(collider); this.colliderHelperRoot.add(helper); helper.renderOrder = this.colliderHelperRoot.renderOrder; } return collider; } } VRMSpringBoneLoaderPlugin.EXTENSION_NAME = 'VRMC_springBone'; class VRMLoaderPlugin { get name() { return 'VRMLoaderPlugin'; } constructor(parser, options) { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; this.parser = parser; const helperRoot = options === null || options === void 0 ? void 0 : options.helperRoot; const autoUpdateHumanBones = options === null || options === void 0 ? void 0 : options.autoUpdateHumanBones; this.expressionPlugin = (_a = options === null || options === void 0 ? void 0 : options.expressionPlugin) !== null && _a !== void 0 ? _a : new VRMExpressionLoaderPlugin(parser); this.firstPersonPlugin = (_b = options === null || options === void 0 ? void 0 : options.firstPersonPlugin) !== null && _b !== void 0 ? _b : new VRMFirstPersonLoaderPlugin(parser); this.humanoidPlugin = (_c = options === null || options === void 0 ? void 0 : options.humanoidPlugin) !== null && _c !== void 0 ? _c : new VRMHumanoidLoaderPlugin(parser, { helperRoot, autoUpdateHumanBones, }); this.lookAtPlugin = (_d = options === null || options === void 0 ? void 0 : options.lookAtPlugin) !== null && _d !== void 0 ? _d : new VRMLookAtLoaderPlugin(parser, { helperRoot }); this.metaPlugin = (_e = options === null || options === void 0 ? void 0 : options.metaPlugin) !== null && _e !== void 0 ? _e : new VRMMetaLoaderPlugin(parser); this.mtoonMaterialPlugin = (_f = options === null || options === void 0 ? void 0 : options.mtoonMaterialPlugin) !== null && _f !== void 0 ? _f : new MToonMaterialLoaderPlugin(parser); this.materialsHDREmissiveMultiplierPlugin = (_g = options === null || options === void 0 ? void 0 : options.materialsHDREmissiveMultiplierPlugin) !== null && _g !== void 0 ? _g : new VRMMaterialsHDREmissiveMultiplierLoaderPlugin(parser); this.materialsV0CompatPlugin = (_h = options === null || options === void 0 ? void 0 : options.materialsV0CompatPlugin) !== null && _h !== void 0 ? _h : new VRMMaterialsV0CompatPlugin(parser); this.springBonePlugin = (_j = options === null || options === void 0 ? void 0 : options.springBonePlugin) !== null && _j !== void 0 ? _j : new VRMSpringBoneLoaderPlugin(parser, { colliderHelperRoot: helperRoot, jointHelperRoot: helperRoot, }); this.nodeConstraintPlugin = (_k = options === null || options === void 0 ? void 0 : options.nodeConstraintPlugin) !== null && _k !== void 0 ? _k : new VRMNodeConstraintLoaderPlugin(parser, { helperRoot }); } beforeRoot() { return __awaiter$5(this, void 0, void 0, function* () { yield this.materialsV0CompatPlugin.beforeRoot(); yield this.mtoonMaterialPlugin.beforeRoot(); }); } loadMesh(meshIndex) { return __awaiter$5(this, void 0, void 0, function* () { return yield this.mtoonMaterialPlugin.loadMesh(meshIndex); }); } getMaterialType(materialIndex) { const mtoonType = this.mtoonMaterialPlugin.getMaterialType(materialIndex); if (mtoonType != null) { return mtoonType; } return null; } extendMaterialParams(materialIndex, materialParams) { return __awaiter$5(this, void 0, void 0, function* () { yield this.materialsHDREmissiveMultiplierPlugin.extendMaterialParams(materialIndex, materialParams); yield this.mtoonMaterialPlugin.extendMaterialParams(materialIndex, materialParams); }); } afterRoot(gltf) { return __awaiter$5(this, void 0, void 0, function* () { yield this.metaPlugin.afterRoot(gltf); yield this.humanoidPlugin.afterRoot(gltf); yield this.expressionPlugin.afterRoot(gltf); yield this.lookAtPlugin.afterRoot(gltf); yield this.firstPersonPlugin.afterRoot(gltf); yield this.springBonePlugin.afterRoot(gltf); yield this.nodeConstraintPlugin.afterRoot(gltf); yield this.mtoonMaterialPlugin.afterRoot(gltf); const meta = gltf.userData.vrmMeta; const humanoid = gltf.userData.vrmHumanoid; // meta and humanoid are required to be a VRM. // Don't create VRM if they are null if (meta && humanoid) { const vrm = new VRM({ scene: gltf.scene, expressionManager: gltf.userData.vrmExpressionManager, firstPerson: gltf.userData.vrmFirstPerson, humanoid, lookAt: gltf.userData.vrmLookAt, meta, materials: gltf.userData.vrmMToonMaterials, springBoneManager: gltf.userData.vrmSpringBoneManager, nodeConstraintManager: gltf.userData.vrmNodeConstraintManager, }); gltf.userData.vrm = vrm; } }); } } // See: https://threejs.org/docs/#manual/en/introduction/How-to-dispose-of-objects function disposeMaterial(material) { Object.values(material).forEach((value) => { if (value === null || value === void 0 ? void 0 : value.isTexture) { const texture = value; texture.dispose(); } }); if (material.isShaderMaterial) { const uniforms = material.uniforms; if (uniforms) { Object.values(uniforms).forEach((uniform) => { const value = uniform.value; if (value === null || value === void 0 ? void 0 : value.isTexture) { const texture = value; texture.dispose(); } }); } } material.dispose(); } function dispose(object3D) { const geometry = object3D.geometry; if (geometry) { geometry.dispose(); } const skeleton = object3D.skeleton; if (skeleton) { skeleton.dispose(); } const material = object3D.material; if (material) { if (Array.isArray(material)) { material.forEach((material) => disposeMaterial(material)); } else if (material) { disposeMaterial(material); } } } function deepDispose(object3D) { object3D.traverse(dispose); } /** * Traverse given object and remove unnecessarily bound joints from every `THREE.SkinnedMesh`. * Some environments like mobile devices have a lower limit of bones and might be unable to perform mesh skinning, this function might resolve such an issue. * Also this function might greatly improve the performance of mesh skinning. * * @param root Root object that will be traversed */ function removeUnnecessaryJoints(root) { // some meshes might share a same skinIndex attribute and this map prevents to convert the attribute twice const skeletonList = new Map(); // Traverse an entire tree root.traverse((obj) => { if (obj.type !== 'SkinnedMesh') { return; } const mesh = obj; const geometry = mesh.geometry; const attribute = geometry.getAttribute('skinIndex'); // look for existing skeleton let skeleton = skeletonList.get(attribute); if (!skeleton) { // generate reduced bone list const bones = []; // new list of bone const boneInverses = []; // new list of boneInverse const boneIndexMap = {}; // map of old bone index vs. new bone index // create a new bone map const array = attribute.array; for (let i = 0; i < array.length; i++) { const index = array[i]; // new skinIndex buffer if (boneIndexMap[index] === undefined) { boneIndexMap[index] = bones.length; bones.push(mesh.skeleton.bones[index]); boneInverses.push(mesh.skeleton.boneInverses[index]); } array[i] = boneIndexMap[index]; } // replace with new indices attribute.copyArray(array); attribute.needsUpdate = true; // replace with new indices skeleton = new THREE__namespace.Skeleton(bones, boneInverses); skeletonList.set(attribute, skeleton); } mesh.bind(skeleton, new THREE__namespace.Matrix4()); // ^^^^^^^^^^^^^^^^^^^ transform of meshes should be ignored // See: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins }); } /** * Traverse given object and remove unnecessary vertices from every BufferGeometries. * This only processes buffer geometries with index buffer. * * Three.js creates morph textures for each geometries and it sometimes consumes unnecessary amount of VRAM for certain models. * This function will optimize geometries to reduce the size of morph texture. * See: https://github.com/mrdoob/three.js/issues/23095 * * @param root Root object that will be traversed */ function removeUnnecessaryVertices(root) { const geometryMap = new Map(); // Traverse an entire tree root.traverse((obj) => { var _a, _b, _c, _d; if (!obj.isMesh) { return; } const mesh = obj; const geometry = mesh.geometry; // if the geometry does not have an index buffer it does not need to process const origianlIndex = geometry.index; if (origianlIndex == null) { return; } // skip already processed geometry const newGeometryAlreadyExisted = geometryMap.get(geometry); if (newGeometryAlreadyExisted != null) { mesh.geometry = newGeometryAlreadyExisted; return; } const newGeometry = new THREE__namespace.BufferGeometry(); // copy various properties // Ref: https://github.com/mrdoob/three.js/blob/1a241ef10048770d56e06d6cd6a64c76cc720f95/src/core/BufferGeometry.js#L1011 newGeometry.name = geometry.name; newGeometry.morphTargetsRelative = geometry.morphTargetsRelative; geometry.groups.forEach((group) => { newGeometry.addGroup(group.start, group.count, group.materialIndex); }); newGeometry.boundingBox = (_b = (_a = geometry.boundingBox) === null || _a === void 0 ? void 0 : _a.clone()) !== null && _b !== void 0 ? _b : null; newGeometry.boundingSphere = (_d = (_c = geometry.boundingSphere) === null || _c === void 0 ? void 0 : _c.clone()) !== null && _d !== void 0 ? _d : null; newGeometry.setDrawRange(geometry.drawRange.start, geometry.drawRange.count); newGeometry.userData = geometry.userData; // set to geometryMap geometryMap.set(geometry, newGeometry); /** from original index to new index */ const originalIndexNewIndexMap = []; /** from new index to original index */ const newIndexOriginalIndexMap = []; // reorganize indices { const originalIndexArray = origianlIndex.array; const newIndexArray = new originalIndexArray.constructor(originalIndexArray.length); let indexHead = 0; for (let i = 0; i < originalIndexArray.length; i++) { const originalIndex = originalIndexArray[i]; let newIndex = originalIndexNewIndexMap[originalIndex]; if (newIndex == null) { originalIndexNewIndexMap[originalIndex] = indexHead; newIndexOriginalIndexMap[indexHead] = originalIndex; newIndex = indexHead; indexHead++; } newIndexArray[i] = newIndex; } newGeometry.setIndex(new THREE.BufferAttribute(newIndexArray, 1, false)); } // reorganize attributes Object.keys(geometry.attributes).forEach((attributeName) => { const originalAttribute = geometry.attributes[attributeName]; if (originalAttribute.isInterleavedBufferAttribute) { throw new Error('removeUnnecessaryVertices: InterleavedBufferAttribute is not supported'); } const originalAttributeArray = originalAttribute.array; const { itemSize, normalized } = originalAttribute; const newAttributeArray = new originalAttributeArray.constructor(newIndexOriginalIndexMap.length * itemSize); newIndexOriginalIndexMap.forEach((originalIndex, i) => { for (let j = 0; j < itemSize; j++) { newAttributeArray[i * itemSize + j] = originalAttributeArray[originalIndex * itemSize + j]; } }); newGeometry.setAttribute(attributeName, new THREE.BufferAttribute(newAttributeArray, itemSize, normalized)); }); // reorganize morph attributes /** True if all morphs are zero. */ let isNullMorph = true; Object.keys(geometry.morphAttributes).forEach((attributeName) => { newGeometry.morphAttributes[attributeName] = []; const morphs = geometry.morphAttributes[attributeName]; for (let iMorph = 0; iMorph < morphs.length; iMorph++) { const originalAttribute = morphs[iMorph]; if (originalAttribute.isInterleavedBufferAttribute) { throw new Error('removeUnnecessaryVertices: InterleavedBufferAttribute is not supported'); } const originalAttributeArray = originalAttribute.array; const { itemSize, normalized } = originalAttribute; const newAttributeArray = new originalAttributeArray.constructor(newIndexOriginalIndexMap.length * itemSize); newIndexOriginalIndexMap.forEach((originalIndex, i) => { for (let j = 0; j < itemSize; j++) { newAttributeArray[i * itemSize + j] = originalAttributeArray[originalIndex * itemSize + j]; } }); isNullMorph = isNullMorph && newAttributeArray.every((v) => v === 0); newGeometry.morphAttributes[attributeName][iMorph] = new THREE.BufferAttribute(newAttributeArray, itemSize, normalized); } }); // If all morphs are zero, just discard the morph attributes we've just made if (isNullMorph) { newGeometry.morphAttributes = {}; } mesh.geometry = newGeometry; }); Array.from(geometryMap.keys()).forEach((originalGeometry) => { originalGeometry.dispose(); }); } /** * If the given VRM is VRM0.0, rotate the `vrm.scene` by 180 degrees around the Y axis. * * @param vrm The target VRM */ function rotateVRM0(vrm) { var _a; if (((_a = vrm.meta) === null || _a === void 0 ? void 0 : _a.metaVersion) === '0') { vrm.scene.rotation.y = Math.PI; } } class VRMUtils { constructor() { // this class is not meant to be instantiated } } VRMUtils.deepDispose = deepDispose; VRMUtils.removeUnnecessaryJoints = removeUnnecessaryJoints; VRMUtils.removeUnnecessaryVertices = removeUnnecessaryVertices; VRMUtils.rotateVRM0 = rotateVRM0; exports.MToonMaterial = MToonMaterial; exports.MToonMaterialDebugMode = MToonMaterialDebugMode; exports.MToonMaterialLoaderPlugin = MToonMaterialLoaderPlugin; exports.MToonMaterialOutlineWidthMode = MToonMaterialOutlineWidthMode; exports.VRM = VRM; exports.VRMAimConstraint = VRMAimConstraint; exports.VRMCore = VRMCore; exports.VRMCoreLoaderPlugin = VRMCoreLoaderPlugin; exports.VRMExpression = VRMExpression; exports.VRMExpressionLoaderPlugin = VRMExpressionLoaderPlugin; exports.VRMExpressionManager = VRMExpressionManager; exports.VRMExpressionMaterialColorBind = VRMExpressionMaterialColorBind; exports.VRMExpressionMaterialColorType = VRMExpressionMaterialColorType; exports.VRMExpressionMorphTargetBind = VRMExpressionMorphTargetBind; exports.VRMExpressionOverrideType = VRMExpressionOverrideType; exports.VRMExpressionPresetName = VRMExpressionPresetName; exports.VRMExpressionTextureTransformBind = VRMExpressionTextureTransformBind; exports.VRMFirstPerson = VRMFirstPerson; exports.VRMFirstPersonLoaderPlugin = VRMFirstPersonLoaderPlugin; exports.VRMFirstPersonMeshAnnotationType = VRMFirstPersonMeshAnnotationType; exports.VRMHumanBoneList = VRMHumanBoneList; exports.VRMHumanBoneName = VRMHumanBoneName; exports.VRMHumanBoneParentMap = VRMHumanBoneParentMap; exports.VRMHumanoid = VRMHumanoid; exports.VRMHumanoidHelper = VRMHumanoidHelper; exports.VRMHumanoidLoaderPlugin = VRMHumanoidLoaderPlugin; exports.VRMLoaderPlugin = VRMLoaderPlugin; exports.VRMLookAt = VRMLookAt; exports.VRMLookAtBoneApplier = VRMLookAtBoneApplier; exports.VRMLookAtExpressionApplier = VRMLookAtExpressionApplier; exports.VRMLookAtHelper = VRMLookAtHelper; exports.VRMLookAtLoaderPlugin = VRMLookAtLoaderPlugin; exports.VRMLookAtRangeMap = VRMLookAtRangeMap; exports.VRMLookAtTypeName = VRMLookAtTypeName; exports.VRMMetaLoaderPlugin = VRMMetaLoaderPlugin; exports.VRMNodeConstraint = VRMNodeConstraint; exports.VRMNodeConstraintHelper = VRMNodeConstraintHelper; exports.VRMNodeConstraintLoaderPlugin = VRMNodeConstraintLoaderPlugin; exports.VRMNodeConstraintManager = VRMNodeConstraintManager; exports.VRMRequiredHumanBoneName = VRMRequiredHumanBoneName; exports.VRMRollConstraint = VRMRollConstraint; exports.VRMRotationConstraint = VRMRotationConstraint; exports.VRMSpringBoneCollider = VRMSpringBoneCollider; exports.VRMSpringBoneColliderHelper = VRMSpringBoneColliderHelper; exports.VRMSpringBoneColliderShape = VRMSpringBoneColliderShape; exports.VRMSpringBoneColliderShapeCapsule = VRMSpringBoneColliderShapeCapsule; exports.VRMSpringBoneColliderShapeSphere = VRMSpringBoneColliderShapeSphere; exports.VRMSpringBoneJoint = VRMSpringBoneJoint; exports.VRMSpringBoneJointHelper = VRMSpringBoneJointHelper; exports.VRMSpringBoneLoaderPlugin = VRMSpringBoneLoaderPlugin; exports.VRMSpringBoneManager = VRMSpringBoneManager; exports.VRMUtils = VRMUtils; Object.defineProperty(exports, '__esModule', { value: true }); Object.assign(THREE, exports); })); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtdnJtLmpzIiwic291cmNlcyI6WyIuLi8uLi90aHJlZS12cm0tY29yZS9saWIvdGhyZWUtdnJtLWNvcmUubW9kdWxlLmpzIiwiLi4vc3JjL1ZSTS50cyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMiLCIuLi8uLi90aHJlZS12cm0tbWF0ZXJpYWxzLW10b29uL2xpYi90aHJlZS12cm0tbWF0ZXJpYWxzLW10b29uLm1vZHVsZS5qcyIsIi4uLy4uL3RocmVlLXZybS1tYXRlcmlhbHMtaGRyLWVtaXNzaXZlLW11bHRpcGxpZXIvbGliL3RocmVlLXZybS1tYXRlcmlhbHMtaGRyLWVtaXNzaXZlLW11bHRpcGxpZXIubW9kdWxlLmpzIiwiLi4vLi4vdGhyZWUtdnJtLW1hdGVyaWFscy12MGNvbXBhdC9saWIvdGhyZWUtdnJtLW1hdGVyaWFscy12MGNvbXBhdC5tb2R1bGUuanMiLCIuLi8uLi90aHJlZS12cm0tbm9kZS1jb25zdHJhaW50L2xpYi90aHJlZS12cm0tbm9kZS1jb25zdHJhaW50Lm1vZHVsZS5qcyIsIi4uLy4uL3RocmVlLXZybS1zcHJpbmdib25lL2xpYi90aHJlZS12cm0tc3ByaW5nYm9uZS5tb2R1bGUuanMiLCIuLi9zcmMvVlJNTG9hZGVyUGx1Z2luLnRzIiwiLi4vc3JjL1ZSTVV0aWxzL2RlZXBEaXNwb3NlLnRzIiwiLi4vc3JjL1ZSTVV0aWxzL3JlbW92ZVVubmVjZXNzYXJ5Sm9pbnRzLnRzIiwiLi4vc3JjL1ZSTVV0aWxzL3JlbW92ZVVubmVjZXNzYXJ5VmVydGljZXMudHMiLCIuLi9zcmMvVlJNVXRpbHMvcm90YXRlVlJNMC50cyIsIi4uL3NyYy9WUk1VdGlscy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBwaXhpdi90aHJlZS12cm0tY29yZSB2Mi4wLjZcbiAqIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiBjb3JlIGZlYXR1cmVzIG9mIFZSTSwgZm9yIEBwaXhpdi90aHJlZS12cm1cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAtMjAyMyBwaXhpdiBJbmMuXG4gKiBAcGl4aXYvdGhyZWUtdnJtLWNvcmUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgTUlUIExpY2Vuc2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpdi90aHJlZS12cm0vYmxvYi9yZWxlYXNlL0xJQ0VOU0VcbiAqL1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG4vLyBhbmltYXRpb25NaXhlciDjga7nm6Poppblr77osaHjga/jgIFTY2VuZSDjga7kuK3jgavlhaXjgaPjgabjgYTjgovlv4XopoHjgYzjgYLjgovjgIJcbi8vIOOBneOBruOBn+OCgeOAgeihqOekuuOCquODluOCuOOCp+OCr+ODiOOBp+OBr+OBquOBhOOBkeOCjOOBqeOAgU9iamVjdDNEIOOCkue2meaJv+OBl+OBpiBTY2VuZSDjgavmipXlhaXjgafjgY3jgovjgojjgYbjgavjgZnjgovjgIJcbmNsYXNzIFZSTUV4cHJlc3Npb24gZXh0ZW5kcyBUSFJFRS5PYmplY3QzRCB7XG4gICAgLyoqXG4gICAgICogQSB2YWx1ZSByZXByZXNlbnRzIGhvdyBtdWNoIGl0IHNob3VsZCBvdmVycmlkZSBibGluayBleHByZXNzaW9ucy5cbiAgICAgKiBgMC4wYCA9PSBubyBvdmVycmlkZSBhdCBhbGwsIGAxLjBgID09IGNvbXBsZXRlbHkgYmxvY2sgdGhlIGV4cHJlc3Npb25zLlxuICAgICAqL1xuICAgIGdldCBvdmVycmlkZUJsaW5rQW1vdW50KCkge1xuICAgICAgICBpZiAodGhpcy5vdmVycmlkZUJsaW5rID09PSAnYmxvY2snKSB7XG4gICAgICAgICAgICByZXR1cm4gMC4wIDwgdGhpcy53ZWlnaHQgPyAxLjAgOiAwLjA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5vdmVycmlkZUJsaW5rID09PSAnYmxlbmQnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy53ZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMC4wO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEEgdmFsdWUgcmVwcmVzZW50cyBob3cgbXVjaCBpdCBzaG91bGQgb3ZlcnJpZGUgbG9va0F0IGV4cHJlc3Npb25zLlxuICAgICAqIGAwLjBgID09IG5vIG92ZXJyaWRlIGF0IGFsbCwgYDEuMGAgPT0gY29tcGxldGVseSBibG9jayB0aGUgZXhwcmVzc2lvbnMuXG4gICAgICovXG4gICAgZ2V0IG92ZXJyaWRlTG9va0F0QW1vdW50KCkge1xuICAgICAgICBpZiAodGhpcy5vdmVycmlkZUxvb2tBdCA9PT0gJ2Jsb2NrJykge1xuICAgICAgICAgICAgcmV0dXJuIDAuMCA8IHRoaXMud2VpZ2h0ID8gMS4wIDogMC4wO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMub3ZlcnJpZGVMb29rQXQgPT09ICdibGVuZCcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLndlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAwLjA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQSB2YWx1ZSByZXByZXNlbnRzIGhvdyBtdWNoIGl0IHNob3VsZCBvdmVycmlkZSBtb3V0aCBleHByZXNzaW9ucy5cbiAgICAgKiBgMC4wYCA9PSBubyBvdmVycmlkZSBhdCBhbGwsIGAxLjBgID09IGNvbXBsZXRlbHkgYmxvY2sgdGhlIGV4cHJlc3Npb25zLlxuICAgICAqL1xuICAgIGdldCBvdmVycmlkZU1vdXRoQW1vdW50KCkge1xuICAgICAgICBpZiAodGhpcy5vdmVycmlkZU1vdXRoID09PSAnYmxvY2snKSB7XG4gICAgICAgICAgICByZXR1cm4gMC4wIDwgdGhpcy53ZWlnaHQgPyAxLjAgOiAwLjA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5vdmVycmlkZU1vdXRoID09PSAnYmxlbmQnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy53ZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMC4wO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKGV4cHJlc3Npb25OYW1lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgY3VycmVudCB3ZWlnaHQgb2YgdGhlIGV4cHJlc3Npb24uXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLndlaWdodCA9IDAuMDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEludGVycHJldCB2YWx1ZXMgZ3JlYXRlciB0aGFuIDAuNSBhcyAxLjAsIG9ydGhlcndpc2UgMC4wLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5pc0JpbmFyeSA9IGZhbHNlO1xuICAgICAgICAvKipcbiAgICAgICAgICogU3BlY2lmeSBob3cgdGhlIGV4cHJlc3Npb24gb3ZlcnJpZGVzIGJsaW5rIGV4cHJlc3Npb25zLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5vdmVycmlkZUJsaW5rID0gJ25vbmUnO1xuICAgICAgICAvKipcbiAgICAgICAgICogU3BlY2lmeSBob3cgdGhlIGV4cHJlc3Npb24gb3ZlcnJpZGVzIGxvb2tBdCBleHByZXNzaW9ucy5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMub3ZlcnJpZGVMb29rQXQgPSAnbm9uZSc7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGhvdyB0aGUgZXhwcmVzc2lvbiBvdmVycmlkZXMgbW91dGggZXhwcmVzc2lvbnMuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLm92ZXJyaWRlTW91dGggPSAnbm9uZSc7XG4gICAgICAgIHRoaXMuX2JpbmRzID0gW107XG4gICAgICAgIHRoaXMubmFtZSA9IGBWUk1FeHByZXNzaW9uXyR7ZXhwcmVzc2lvbk5hbWV9YDtcbiAgICAgICAgdGhpcy5leHByZXNzaW9uTmFtZSA9IGV4cHJlc3Npb25OYW1lO1xuICAgICAgICAvLyB0cmF2ZXJzZSDmmYLjga7mlZHmuIjmiYvmrrXjgajjgZfjgaYgT2JqZWN0M0Qg44Gn44Gv44Gq44GE44GT44Go44KS5piO56S644GX44Gm44GK44GPXG4gICAgICAgIHRoaXMudHlwZSA9ICdWUk1FeHByZXNzaW9uJztcbiAgICAgICAgLy8g6KGo56S655uu55qE44Gu44Kq44OW44K444Kn44Kv44OI44Gn44Gv44Gq44GE44Gu44Gn44CB6LKg6I236Lu95rib44Gu44Gf44KB44GrIHZpc2libGUg44KSIGZhbHNlIOOBq+OBl+OBpuOBiuOBj+OAglxuICAgICAgICAvLyDjgZPjgozjgavjgojjgorjgIHjgZPjga7jgqTjg7Pjgrnjgr/jg7Pjgrnjgavlr77jgZnjgovmr47jg5Xjg6zjg7zjg6Djga4gbWF0cml4IOiHquWLleioiOeul+OCkuecgeeVpeOBp+OBjeOCi+OAglxuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gICAgYWRkQmluZChiaW5kKSB7XG4gICAgICAgIHRoaXMuX2JpbmRzLnB1c2goYmluZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFwcGx5IHdlaWdodCB0byBldmVyeSBhc3NpZ25lZCBibGVuZCBzaGFwZXMuXG4gICAgICogU2hvdWxkIGJlIGNhbGxlZCBldmVyeSBmcmFtZS5cbiAgICAgKi9cbiAgICBhcHBseVdlaWdodChvcHRpb25zKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgbGV0IGFjdHVhbFdlaWdodCA9IHRoaXMuaXNCaW5hcnkgPyAodGhpcy53ZWlnaHQgPD0gMC41ID8gMC4wIDogMS4wKSA6IHRoaXMud2VpZ2h0O1xuICAgICAgICBhY3R1YWxXZWlnaHQgKj0gKF9hID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLm11bHRpcGxpZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDEuMDtcbiAgICAgICAgdGhpcy5fYmluZHMuZm9yRWFjaCgoYmluZCkgPT4gYmluZC5hcHBseVdlaWdodChhY3R1YWxXZWlnaHQpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2xlYXIgcHJldmlvdXNseSBhc3NpZ25lZCBibGVuZCBzaGFwZXMuXG4gICAgICovXG4gICAgY2xlYXJBcHBsaWVkV2VpZ2h0KCkge1xuICAgICAgICB0aGlzLl9iaW5kcy5mb3JFYWNoKChiaW5kKSA9PiBiaW5kLmNsZWFyQXBwbGllZFdlaWdodCgpKTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxuXG5mdW5jdGlvbiBleHRyYWN0UHJpbWl0aXZlc0ludGVybmFsKGdsdGYsIG5vZGVJbmRleCwgbm9kZSkge1xuICAgIHZhciBfYSwgX2I7XG4gICAgY29uc3QganNvbiA9IGdsdGYucGFyc2VyLmpzb247XG4gICAgLyoqXG4gICAgICogTGV0J3MgbGlzdCB1cCBldmVyeSBwb3NzaWJsZSBwYXR0ZXJucyB0aGF0IHBhcnNlZCBnbHRmIG5vZGVzIHdpdGggYSBtZXNoIGNhbiBoYXZlLCwsXG4gICAgICpcbiAgICAgKiBcIipcIiBpbmRpY2F0ZXMgdGhhdCB0aG9zZSBtZXNoZXMgc2hvdWxkIGJlIGxpc3RlZCB1cCB1c2luZyB0aGlzIGZ1bmN0aW9uXG4gICAgICpcbiAgICAgKiAjIyMgQSBub2RlIHdpdGggYSAobWVzaCwgYSBzaWdubGUgcHJpbWl0aXZlKVxuICAgICAqXG4gICAgICogLSBgVEhSRUUuTWVzaGA6IFRoZSBvbmx5IHByaW1pdGl2ZSBvZiB0aGUgbWVzaCAqXG4gICAgICpcbiAgICAgKiAjIyMgQSBub2RlIHdpdGggYSAobWVzaCwgbXVsdGlwbGUgcHJpbWl0aXZlcylcbiAgICAgKlxuICAgICAqIC0gYFRIUkVFLkdyb3VwYDogVGhlIHJvb3Qgb2YgdGhlIG1lc2hcbiAgICAgKiAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCAqXG4gICAgICogICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKDIpICpcbiAgICAgKlxuICAgICAqICMjIyBBIG5vZGUgd2l0aCBhIChtZXNoLCBtdWx0aXBsZSBwcmltaXRpdmVzKSBBTkQgKGEgY2hpbGQgd2l0aCBhIG1lc2gsIGEgc2luZ2xlIHByaW1pdGl2ZSlcbiAgICAgKlxuICAgICAqIC0gYFRIUkVFLkdyb3VwYDogVGhlIHJvb3Qgb2YgdGhlIG1lc2hcbiAgICAgKiAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCAqXG4gICAgICogICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKDIpICpcbiAgICAgKiAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiBhIE1FU0ggT0YgVEhFIENISUxEXG4gICAgICpcbiAgICAgKiAjIyMgQSBub2RlIHdpdGggYSAobWVzaCwgbXVsdGlwbGUgcHJpbWl0aXZlcykgQU5EIChhIGNoaWxkIHdpdGggYSBtZXNoLCBtdWx0aXBsZSBwcmltaXRpdmVzKVxuICAgICAqXG4gICAgICogLSBgVEhSRUUuR3JvdXBgOiBUaGUgcm9vdCBvZiB0aGUgbWVzaFxuICAgICAqICAgLSBgVEhSRUUuTWVzaGA6IEEgcHJpbWl0aXZlIG9mIHRoZSBtZXNoICpcbiAgICAgKiAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCAoMikgKlxuICAgICAqICAgLSBgVEhSRUUuR3JvdXBgOiBUaGUgcm9vdCBvZiBhIE1FU0ggT0YgVEhFIENISUxEXG4gICAgICogICAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCBvZiB0aGUgY2hpbGRcbiAgICAgKiAgICAgLSBgVEhSRUUuTWVzaGA6IEEgcHJpbWl0aXZlIG9mIHRoZSBtZXNoIG9mIHRoZSBjaGlsZCAoMilcbiAgICAgKlxuICAgICAqICMjIyBBIG5vZGUgd2l0aCBhIChtZXNoLCBtdWx0aXBsZSBwcmltaXRpdmVzKSBCVVQgdGhlIG5vZGUgaXMgYSBib25lXG4gICAgICpcbiAgICAgKiAtIGBUSFJFRS5Cb25lYDogVGhlIHJvb3Qgb2YgdGhlIG5vZGUsIGFzIGEgYm9uZVxuICAgICAqICAgLSBgVEhSRUUuR3JvdXBgOiBUaGUgcm9vdCBvZiB0aGUgbWVzaFxuICAgICAqICAgICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKlxuICAgICAqICAgICAtIGBUSFJFRS5NZXNoYDogQSBwcmltaXRpdmUgb2YgdGhlIG1lc2ggKDIpICpcbiAgICAgKlxuICAgICAqICMjIyBBIG5vZGUgd2l0aCBhIChtZXNoLCBtdWx0aXBsZSBwcmltaXRpdmVzKSBBTkQgKGEgY2hpbGQgd2l0aCBhIG1lc2gsIG11bHRpcGxlIHByaW1pdGl2ZXMpIEJVVCB0aGUgbm9kZSBpcyBhIGJvbmVcbiAgICAgKlxuICAgICAqIC0gYFRIUkVFLkJvbmVgOiBUaGUgcm9vdCBvZiB0aGUgbm9kZSwgYXMgYSBib25lXG4gICAgICogICAtIGBUSFJFRS5Hcm91cGA6IFRoZSByb290IG9mIHRoZSBtZXNoXG4gICAgICogICAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCAqXG4gICAgICogICAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCAoMikgKlxuICAgICAqICAgLSBgVEhSRUUuR3JvdXBgOiBUaGUgcm9vdCBvZiBhIE1FU0ggT0YgVEhFIENISUxEXG4gICAgICogICAgIC0gYFRIUkVFLk1lc2hgOiBBIHByaW1pdGl2ZSBvZiB0aGUgbWVzaCBvZiB0aGUgY2hpbGRcbiAgICAgKiAgICAgLSBgVEhSRUUuTWVzaGA6IEEgcHJpbWl0aXZlIG9mIHRoZSBtZXNoIG9mIHRoZSBjaGlsZCAoMilcbiAgICAgKlxuICAgICAqIC4uLkkgd2lsbCB0YWtlIGEgc3RyYXRlZ3kgdGhhdCB0cmF2ZXJzZXMgdGhlIHJvb3Qgb2YgdGhlIG5vZGUgYW5kIHRha2UgZmlyc3QgKHByaW1pdGl2ZUNvdW50KSBtZXNoZXMuXG4gICAgICovXG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIG5vZGUgaGFzIGEgbWVzaFxuICAgIGNvbnN0IHNjaGVtYU5vZGUgPSAoX2EgPSBqc29uLm5vZGVzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Fbbm9kZUluZGV4XTtcbiAgICBpZiAoc2NoZW1hTm9kZSA9PSBudWxsKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgZXh0cmFjdFByaW1pdGl2ZXNJbnRlcm5hbDogQXR0ZW1wdCB0byB1c2Ugbm9kZXNbJHtub2RlSW5kZXh9XSBvZiBnbFRGIGJ1dCB0aGUgbm9kZSBkb2Vzbid0IGV4aXN0YCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBtZXNoSW5kZXggPSBzY2hlbWFOb2RlLm1lc2g7XG4gICAgaWYgKG1lc2hJbmRleCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvLyBIb3cgbWFueSBwcmltaXRpdmVzIHRoZSBtZXNoIGhhcz9cbiAgICBjb25zdCBzY2hlbWFNZXNoID0gKF9iID0ganNvbi5tZXNoZXMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYlttZXNoSW5kZXhdO1xuICAgIGlmIChzY2hlbWFNZXNoID09IG51bGwpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBleHRyYWN0UHJpbWl0aXZlc0ludGVybmFsOiBBdHRlbXB0IHRvIHVzZSBtZXNoZXNbJHttZXNoSW5kZXh9XSBvZiBnbFRGIGJ1dCB0aGUgbWVzaCBkb2Vzbid0IGV4aXN0YCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBwcmltaXRpdmVDb3VudCA9IHNjaGVtYU1lc2gucHJpbWl0aXZlcy5sZW5ndGg7XG4gICAgLy8gVHJhdmVyc2UgdGhlIG5vZGUgYW5kIHRha2UgZmlyc3QgKHByaW1pdGl2ZUNvdW50KSBtZXNoZXNcbiAgICBjb25zdCBwcmltaXRpdmVzID0gW107XG4gICAgbm9kZS50cmF2ZXJzZSgob2JqZWN0KSA9PiB7XG4gICAgICAgIGlmIChwcmltaXRpdmVzLmxlbmd0aCA8IHByaW1pdGl2ZUNvdW50KSB7XG4gICAgICAgICAgICBpZiAob2JqZWN0LmlzTWVzaCkge1xuICAgICAgICAgICAgICAgIHByaW1pdGl2ZXMucHVzaChvYmplY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHByaW1pdGl2ZXM7XG59XG4vKipcbiAqIEV4dHJhY3QgcHJpbWl0aXZlcyAoIGBUSFJFRS5NZXNoW11gICkgb2YgYSBub2RlIGZyb20gYSBsb2FkZWQgR0xURi5cbiAqIFRoZSBtYWluIHB1cnBvc2Ugb2YgdGhpcyBmdW5jdGlvbiBpcyB0byBkaXN0aW5ndWlzaCBwcmltaXRpdmVzIGFuZCBjaGlsZHJlbiBmcm9tIGEgbm9kZSB0aGF0IGhhcyBib3RoIG1lc2hlcyBhbmQgY2hpbGRyZW4uXG4gKlxuICogSXQgdXRpbGl6ZXMgdGhlIGJlaGF2aW9yIHRoYXQgR0xURkxvYWRlciBhZGRzIG1lc2ggcHJpbWl0aXZlcyB0byB0aGUgbm9kZSBvYmplY3QgKCBgVEhSRUUuR3JvdXBgICkgZmlyc3QgdGhlbiBhZGRzIGl0cyBjaGlsZHJlbi5cbiAqXG4gKiBAcGFyYW0gZ2x0ZiBBIEdMVEYgb2JqZWN0IHRha2VuIGZyb20gR0xURkxvYWRlclxuICogQHBhcmFtIG5vZGVJbmRleCBUaGUgaW5kZXggb2YgdGhlIG5vZGVcbiAqL1xuZnVuY3Rpb24gZ2x0ZkV4dHJhY3RQcmltaXRpdmVzRnJvbU5vZGUoZ2x0Ziwgbm9kZUluZGV4KSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHlpZWxkIGdsdGYucGFyc2VyLmdldERlcGVuZGVuY3koJ25vZGUnLCBub2RlSW5kZXgpO1xuICAgICAgICByZXR1cm4gZXh0cmFjdFByaW1pdGl2ZXNJbnRlcm5hbChnbHRmLCBub2RlSW5kZXgsIG5vZGUpO1xuICAgIH0pO1xufVxuLyoqXG4gKiBFeHRyYWN0IHByaW1pdGl2ZXMgKCBgVEhSRUUuTWVzaFtdYCApIG9mIG5vZGVzIGZyb20gYSBsb2FkZWQgR0xURi5cbiAqIFNlZSB7QGxpbmsgZ2x0ZkV4dHJhY3RQcmltaXRpdmVzRnJvbU5vZGV9IGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogSXQgcmV0dXJucyBhIG1hcCBmcm9tIG5vZGUgaW5kZXggdG8gZXh0cmFjdGlvbiByZXN1bHQuXG4gKiBJZiBhIG5vZGUgZG9lcyBub3QgaGF2ZSBhIG1lc2gsIHRoZSBlbnRyeSBmb3IgdGhlIG5vZGUgd2lsbCBub3QgYmUgcHV0IGluIHRoZSByZXR1cm5pbmcgbWFwLlxuICpcbiAqIEBwYXJhbSBnbHRmIEEgR0xURiBvYmplY3QgdGFrZW4gZnJvbSBHTFRGTG9hZGVyXG4gKi9cbmZ1bmN0aW9uIGdsdGZFeHRyYWN0UHJpbWl0aXZlc0Zyb21Ob2RlcyhnbHRmKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3Qgbm9kZXMgPSB5aWVsZCBnbHRmLnBhcnNlci5nZXREZXBlbmRlbmNpZXMoJ25vZGUnKTtcbiAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcCgpO1xuICAgICAgICBub2Rlcy5mb3JFYWNoKChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZXh0cmFjdFByaW1pdGl2ZXNJbnRlcm5hbChnbHRmLCBpbmRleCwgbm9kZSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBtYXAuc2V0KGluZGV4LCByZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgYSBtYXRlcmlhbCBkZWZpbml0aW9uIGluZGV4IG9mIGdsVEYgZnJvbSBhc3NvY2lhdGVkIG1hdGVyaWFsLlxuICogSXQncyBiYXNpY2FsbHkgYSBjb21hdCBjb2RlIGJldHdlZW4gVGhyZWUuanMgcjEzMyBvciBhYm92ZSBhbmQgcHJldmlvdXMgdmVyc2lvbnMuXG4gKiBAcGFyYW0gcGFyc2VyIEdMVEZQYXJzZXJcbiAqIEBwYXJhbSBtYXRlcmlhbCBBIG1hdGVyaWFsIG9mIGdsdGZcbiAqIEByZXR1cm5zIE1hdGVyaWFsIGRlZmluaXRpb24gaW5kZXggb2YgZ2xURlxuICovXG5mdW5jdGlvbiBnbHRmR2V0QXNzb2NpYXRlZE1hdGVyaWFsSW5kZXgocGFyc2VyLCBtYXRlcmlhbCkge1xuICAgIHZhciBfYSwgX2I7XG4gICAgY29uc3QgdGhyZWVSZXZpc2lvbiA9IHBhcnNlSW50KFRIUkVFLlJFVklTSU9OLCAxMCk7XG4gICAgbGV0IGluZGV4ID0gbnVsbDtcbiAgICBpZiAodGhyZWVSZXZpc2lvbiA+PSAxMzMpIHtcbiAgICAgICAgaW5kZXggPSAoX2IgPSAoX2EgPSBwYXJzZXIuYXNzb2NpYXRpb25zLmdldChtYXRlcmlhbCkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5tYXRlcmlhbHMpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IG51bGw7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBhc3NvY2lhdGlvbnMgPSBwYXJzZXIuYXNzb2NpYXRpb25zO1xuICAgICAgICBjb25zdCByZWZlcmVuY2UgPSBhc3NvY2lhdGlvbnMuZ2V0KG1hdGVyaWFsKTtcbiAgICAgICAgaWYgKChyZWZlcmVuY2UgPT09IG51bGwgfHwgcmVmZXJlbmNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZWZlcmVuY2UudHlwZSkgPT09ICdtYXRlcmlhbHMnKSB7XG4gICAgICAgICAgICBpbmRleCA9IHJlZmVyZW5jZS5pbmRleDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaW5kZXg7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuY29uc3QgVlJNRXhwcmVzc2lvblByZXNldE5hbWUgPSB7XG4gICAgQWE6ICdhYScsXG4gICAgSWg6ICdpaCcsXG4gICAgT3U6ICdvdScsXG4gICAgRWU6ICdlZScsXG4gICAgT2g6ICdvaCcsXG4gICAgQmxpbms6ICdibGluaycsXG4gICAgSGFwcHk6ICdoYXBweScsXG4gICAgQW5ncnk6ICdhbmdyeScsXG4gICAgU2FkOiAnc2FkJyxcbiAgICBSZWxheGVkOiAncmVsYXhlZCcsXG4gICAgTG9va1VwOiAnbG9va1VwJyxcbiAgICBTdXJwcmlzZWQ6ICdzdXJwcmlzZWQnLFxuICAgIExvb2tEb3duOiAnbG9va0Rvd24nLFxuICAgIExvb2tMZWZ0OiAnbG9va0xlZnQnLFxuICAgIExvb2tSaWdodDogJ2xvb2tSaWdodCcsXG4gICAgQmxpbmtMZWZ0OiAnYmxpbmtMZWZ0JyxcbiAgICBCbGlua1JpZ2h0OiAnYmxpbmtSaWdodCcsXG4gICAgTmV1dHJhbDogJ25ldXRyYWwnLFxufTtcblxuLyoqXG4gKiBDbGFtcCB0aGUgaW5wdXQgdmFsdWUgd2l0aGluIFswLjAgLSAxLjBdLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgaW5wdXQgdmFsdWVcbiAqL1xuZnVuY3Rpb24gc2F0dXJhdGUodmFsdWUpIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4odmFsdWUsIDEuMCksIDAuMCk7XG59XG5cbmNsYXNzIFZSTUV4cHJlc3Npb25NYW5hZ2VyIHtcbiAgICBnZXQgZXhwcmVzc2lvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHByZXNzaW9ucy5jb25jYXQoKTtcbiAgICB9XG4gICAgZ2V0IGV4cHJlc3Npb25NYXAoKSB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9leHByZXNzaW9uTWFwKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQSBtYXAgZnJvbSBuYW1lIHRvIGV4cHJlc3Npb24sIGJ1dCBleGNsdWRpbmcgY3VzdG9tIGV4cHJlc3Npb25zLlxuICAgICAqL1xuICAgIGdldCBwcmVzZXRFeHByZXNzaW9uTWFwKCkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICAgICAgY29uc3QgcHJlc2V0TmFtZVNldCA9IG5ldyBTZXQoT2JqZWN0LnZhbHVlcyhWUk1FeHByZXNzaW9uUHJlc2V0TmFtZSkpO1xuICAgICAgICBPYmplY3QuZW50cmllcyh0aGlzLl9leHByZXNzaW9uTWFwKS5mb3JFYWNoKChbbmFtZSwgZXhwcmVzc2lvbl0pID0+IHtcbiAgICAgICAgICAgIGlmIChwcmVzZXROYW1lU2V0LmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtuYW1lXSA9IGV4cHJlc3Npb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIG1hcCBmcm9tIG5hbWUgdG8gZXhwcmVzc2lvbiwgYnV0IGV4Y2x1ZGluZyBwcmVzZXQgZXhwcmVzc2lvbnMuXG4gICAgICovXG4gICAgZ2V0IGN1c3RvbUV4cHJlc3Npb25NYXAoKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgICAgICBjb25zdCBwcmVzZXROYW1lU2V0ID0gbmV3IFNldChPYmplY3QudmFsdWVzKFZSTUV4cHJlc3Npb25QcmVzZXROYW1lKSk7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuX2V4cHJlc3Npb25NYXApLmZvckVhY2goKFtuYW1lLCBleHByZXNzaW9uXSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFwcmVzZXROYW1lU2V0LmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtuYW1lXSA9IGV4cHJlc3Npb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIFZSTUV4cHJlc3Npb25NYW5hZ2VyfS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEEgc2V0IG9mIG5hbWUgb3IgcHJlc2V0IG5hbWUgb2YgZXhwcmVzc2lvbnMgdGhhdCB3aWxsIGJlIG92ZXJyaWRkZW4gYnkge0BsaW5rIFZSTUV4cHJlc3Npb24ub3ZlcnJpZGVCbGlua30uXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmJsaW5rRXhwcmVzc2lvbk5hbWVzID0gWydibGluaycsICdibGlua0xlZnQnLCAnYmxpbmtSaWdodCddO1xuICAgICAgICAvKipcbiAgICAgICAgICogQSBzZXQgb2YgbmFtZSBvciBwcmVzZXQgbmFtZSBvZiBleHByZXNzaW9ucyB0aGF0IHdpbGwgYmUgb3ZlcnJpZGRlbiBieSB7QGxpbmsgVlJNRXhwcmVzc2lvbi5vdmVycmlkZUxvb2tBdH0uXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmxvb2tBdEV4cHJlc3Npb25OYW1lcyA9IFsnbG9va0xlZnQnLCAnbG9va1JpZ2h0JywgJ2xvb2tVcCcsICdsb29rRG93biddO1xuICAgICAgICAvKipcbiAgICAgICAgICogQSBzZXQgb2YgbmFtZSBvciBwcmVzZXQgbmFtZSBvZiBleHByZXNzaW9ucyB0aGF0IHdpbGwgYmUgb3ZlcnJpZGRlbiBieSB7QGxpbmsgVlJNRXhwcmVzc2lvbi5vdmVycmlkZU1vdXRofS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMubW91dGhFeHByZXNzaW9uTmFtZXMgPSBbJ2FhJywgJ2VlJywgJ2loJywgJ29oJywgJ291J107XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBIHNldCBvZiB7QGxpbmsgVlJNRXhwcmVzc2lvbn0uXG4gICAgICAgICAqIFdoZW4geW91IHdhbnQgdG8gcmVnaXN0ZXIgZXhwcmVzc2lvbnMsIHVzZSB7QGxpbmsgcmVnaXN0ZXJFeHByZXNzaW9ufVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fZXhwcmVzc2lvbnMgPSBbXTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEEgbWFwIGZyb20gbmFtZSB0byBleHByZXNzaW9uLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fZXhwcmVzc2lvbk1hcCA9IHt9O1xuICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvcHkgdGhlIGdpdmVuIHtAbGluayBWUk1FeHByZXNzaW9uTWFuYWdlcn0gaW50byB0aGlzIG9uZS5cbiAgICAgKiBAcGFyYW0gc291cmNlIFRoZSB7QGxpbmsgVlJNRXhwcmVzc2lvbk1hbmFnZXJ9IHlvdSB3YW50IHRvIGNvcHlcbiAgICAgKiBAcmV0dXJucyB0aGlzXG4gICAgICovXG4gICAgY29weShzb3VyY2UpIHtcbiAgICAgICAgLy8gZmlyc3QgdW5yZWdpc3RlciBhbGwgdGhlIGV4cHJlc3Npb24gaXQgaGFzXG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25zID0gdGhpcy5fZXhwcmVzc2lvbnMuY29uY2F0KCk7XG4gICAgICAgIGV4cHJlc3Npb25zLmZvckVhY2goKGV4cHJlc3Npb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMudW5yZWdpc3RlckV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGVuIHJlZ2lzdGVyIGFsbCB0aGUgZXhwcmVzc2lvbiBvZiB0aGUgc291cmNlXG4gICAgICAgIHNvdXJjZS5fZXhwcmVzc2lvbnMuZm9yRWFjaCgoZXhwcmVzc2lvbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBjb3B5IHJlbWFpbmluZyBtZW1iZXJzXG4gICAgICAgIHRoaXMuYmxpbmtFeHByZXNzaW9uTmFtZXMgPSBzb3VyY2UuYmxpbmtFeHByZXNzaW9uTmFtZXMuY29uY2F0KCk7XG4gICAgICAgIHRoaXMubG9va0F0RXhwcmVzc2lvbk5hbWVzID0gc291cmNlLmxvb2tBdEV4cHJlc3Npb25OYW1lcy5jb25jYXQoKTtcbiAgICAgICAgdGhpcy5tb3V0aEV4cHJlc3Npb25OYW1lcyA9IHNvdXJjZS5tb3V0aEV4cHJlc3Npb25OYW1lcy5jb25jYXQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBjbG9uZSBvZiB0aGlzIHtAbGluayBWUk1FeHByZXNzaW9uTWFuYWdlcn0uXG4gICAgICogQHJldHVybnMgQ29waWVkIHtAbGluayBWUk1FeHByZXNzaW9uTWFuYWdlcn1cbiAgICAgKi9cbiAgICBjbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBWUk1FeHByZXNzaW9uTWFuYWdlcigpLmNvcHkodGhpcyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHJlZ2lzdGVyZWQgZXhwcmVzc2lvbi5cbiAgICAgKiBJZiBpdCBjYW5ub3QgZmluZCBhbiBleHByZXNzaW9uLCBpdCB3aWxsIHJldHVybiBgbnVsbGAgaW5zdGVhZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIE5hbWUgb3IgcHJlc2V0IG5hbWUgb2YgdGhlIGV4cHJlc3Npb25cbiAgICAgKi9cbiAgICBnZXRFeHByZXNzaW9uKG5hbWUpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gKF9hID0gdGhpcy5fZXhwcmVzc2lvbk1hcFtuYW1lXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgYW4gZXhwcmVzc2lvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBleHByZXNzaW9uIHtAbGluayBWUk1FeHByZXNzaW9ufSB0aGF0IGRlc2NyaWJlcyB0aGUgZXhwcmVzc2lvblxuICAgICAqL1xuICAgIHJlZ2lzdGVyRXhwcmVzc2lvbihleHByZXNzaW9uKSB7XG4gICAgICAgIHRoaXMuX2V4cHJlc3Npb25zLnB1c2goZXhwcmVzc2lvbik7XG4gICAgICAgIHRoaXMuX2V4cHJlc3Npb25NYXBbZXhwcmVzc2lvbi5leHByZXNzaW9uTmFtZV0gPSBleHByZXNzaW9uO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVbnJlZ2lzdGVyIGFuIGV4cHJlc3Npb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbiBUaGUgZXhwcmVzc2lvbiB5b3Ugd2FudCB0byB1bnJlZ2lzdGVyXG4gICAgICovXG4gICAgdW5yZWdpc3RlckV4cHJlc3Npb24oZXhwcmVzc2lvbikge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuX2V4cHJlc3Npb25zLmluZGV4T2YoZXhwcmVzc2lvbik7XG4gICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignVlJNRXhwcmVzc2lvbk1hbmFnZXI6IFRoZSBzcGVjaWZpZWQgZXhwcmVzc2lvbnMgaXMgbm90IHJlZ2lzdGVyZWQnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9leHByZXNzaW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICBkZWxldGUgdGhpcy5fZXhwcmVzc2lvbk1hcFtleHByZXNzaW9uLmV4cHJlc3Npb25OYW1lXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBjdXJyZW50IHdlaWdodCBvZiB0aGUgc3BlY2lmaWVkIGV4cHJlc3Npb24uXG4gICAgICogSWYgaXQgZG9lc24ndCBoYXZlIGFuIGV4cHJlc3Npb24gb2YgZ2l2ZW4gbmFtZSwgaXQgd2lsbCByZXR1cm4gYG51bGxgIGluc3RlYWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBleHByZXNzaW9uXG4gICAgICovXG4gICAgZ2V0VmFsdWUobmFtZSkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSB0aGlzLmdldEV4cHJlc3Npb24obmFtZSk7XG4gICAgICAgIHJldHVybiAoX2EgPSBleHByZXNzaW9uID09PSBudWxsIHx8IGV4cHJlc3Npb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cHJlc3Npb24ud2VpZ2h0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgYSB3ZWlnaHQgdG8gdGhlIHNwZWNpZmllZCBleHByZXNzaW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgZXhwcmVzc2lvblxuICAgICAqIEBwYXJhbSB3ZWlnaHQgV2VpZ2h0XG4gICAgICovXG4gICAgc2V0VmFsdWUobmFtZSwgd2VpZ2h0KSB7XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSB0aGlzLmdldEV4cHJlc3Npb24obmFtZSk7XG4gICAgICAgIGlmIChleHByZXNzaW9uKSB7XG4gICAgICAgICAgICBleHByZXNzaW9uLndlaWdodCA9IHNhdHVyYXRlKHdlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IGEgdHJhY2sgbmFtZSBvZiBzcGVjaWZpZWQgZXhwcmVzc2lvbi5cbiAgICAgKiBUaGlzIHRyYWNrIG5hbWUgaXMgbmVlZGVkIHRvIG1hbmlwdWxhdGUgaXRzIGV4cHJlc3Npb24gdmlhIGtleWZyYW1lIGFuaW1hdGlvbnMuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZSBNYW5pcHVsYXRlIGFuIGV4cHJlc3Npb24gdXNpbmcga2V5ZnJhbWUgYW5pbWF0aW9uXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCB0cmFja05hbWUgPSB2cm0uZXhwcmVzc2lvbk1hbmFnZXIuZ2V0RXhwcmVzc2lvblRyYWNrTmFtZSggJ2JsaW5rJyApO1xuICAgICAqIGNvbnN0IHRyYWNrID0gbmV3IFRIUkVFLk51bWJlcktleWZyYW1lVHJhY2soXG4gICAgICogICBuYW1lLFxuICAgICAqICAgWyAwLjAsIDAuNSwgMS4wIF0sIC8vIHRpbWVzXG4gICAgICogICBbIDAuMCwgMS4wLCAwLjAgXSAvLyB2YWx1ZXNcbiAgICAgKiApO1xuICAgICAqXG4gICAgICogY29uc3QgY2xpcCA9IG5ldyBUSFJFRS5BbmltYXRpb25DbGlwKFxuICAgICAqICAgJ2JsaW5rJywgLy8gbmFtZVxuICAgICAqICAgMS4wLCAvLyBkdXJhdGlvblxuICAgICAqICAgWyB0cmFjayBdIC8vIHRyYWNrc1xuICAgICAqICk7XG4gICAgICpcbiAgICAgKiBjb25zdCBtaXhlciA9IG5ldyBUSFJFRS5BbmltYXRpb25NaXhlciggdnJtLnNjZW5lICk7XG4gICAgICogY29uc3QgYWN0aW9uID0gbWl4ZXIuY2xpcEFjdGlvbiggY2xpcCApO1xuICAgICAqIGFjdGlvbi5wbGF5KCk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBleHByZXNzaW9uXG4gICAgICovXG4gICAgZ2V0RXhwcmVzc2lvblRyYWNrTmFtZShuYW1lKSB7XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSB0aGlzLmdldEV4cHJlc3Npb24obmFtZSk7XG4gICAgICAgIHJldHVybiBleHByZXNzaW9uID8gYCR7ZXhwcmVzc2lvbi5uYW1lfS53ZWlnaHRgIDogbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVXBkYXRlIGV2ZXJ5IGV4cHJlc3Npb25zLlxuICAgICAqL1xuICAgIHVwZGF0ZSgpIHtcbiAgICAgICAgLy8gc2VlIGhvdyBtdWNoIHdlIHNob3VsZCBvdmVycmlkZSBjZXJ0YWluIGV4cHJlc3Npb25zXG4gICAgICAgIGNvbnN0IHdlaWdodE11bHRpcGxpZXJzID0gdGhpcy5fY2FsY3VsYXRlV2VpZ2h0TXVsdGlwbGllcnMoKTtcbiAgICAgICAgLy8gcmVzZXQgZXhwcmVzc2lvbiBiaW5kcyBmaXJzdFxuICAgICAgICB0aGlzLl9leHByZXNzaW9ucy5mb3JFYWNoKChleHByZXNzaW9uKSA9PiB7XG4gICAgICAgICAgICBleHByZXNzaW9uLmNsZWFyQXBwbGllZFdlaWdodCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gdGhlbiBhcHBseSBiaW5kc1xuICAgICAgICB0aGlzLl9leHByZXNzaW9ucy5mb3JFYWNoKChleHByZXNzaW9uKSA9PiB7XG4gICAgICAgICAgICBsZXQgbXVsdGlwbGllciA9IDEuMDtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBleHByZXNzaW9uLmV4cHJlc3Npb25OYW1lO1xuICAgICAgICAgICAgaWYgKHRoaXMuYmxpbmtFeHByZXNzaW9uTmFtZXMuaW5kZXhPZihuYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBtdWx0aXBsaWVyICo9IHdlaWdodE11bHRpcGxpZXJzLmJsaW5rO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMubG9va0F0RXhwcmVzc2lvbk5hbWVzLmluZGV4T2YobmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgbXVsdGlwbGllciAqPSB3ZWlnaHRNdWx0aXBsaWVycy5sb29rQXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5tb3V0aEV4cHJlc3Npb25OYW1lcy5pbmRleE9mKG5hbWUpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIG11bHRpcGxpZXIgKj0gd2VpZ2h0TXVsdGlwbGllcnMubW91dGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBleHByZXNzaW9uLmFwcGx5V2VpZ2h0KHsgbXVsdGlwbGllciB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSBzdW0gb2Ygb3ZlcnJpZGUgYW1vdW50cyB0byBzZWUgaG93IG11Y2ggd2Ugc2hvdWxkIG11bHRpcGx5IHdlaWdodHMgb2YgY2VydGFpbiBleHByZXNzaW9ucy5cbiAgICAgKi9cbiAgICBfY2FsY3VsYXRlV2VpZ2h0TXVsdGlwbGllcnMoKSB7XG4gICAgICAgIGxldCBibGluayA9IDEuMDtcbiAgICAgICAgbGV0IGxvb2tBdCA9IDEuMDtcbiAgICAgICAgbGV0IG1vdXRoID0gMS4wO1xuICAgICAgICB0aGlzLl9leHByZXNzaW9ucy5mb3JFYWNoKChleHByZXNzaW9uKSA9PiB7XG4gICAgICAgICAgICBibGluayAtPSBleHByZXNzaW9uLm92ZXJyaWRlQmxpbmtBbW91bnQ7XG4gICAgICAgICAgICBsb29rQXQgLT0gZXhwcmVzc2lvbi5vdmVycmlkZUxvb2tBdEFtb3VudDtcbiAgICAgICAgICAgIG1vdXRoIC09IGV4cHJlc3Npb24ub3ZlcnJpZGVNb3V0aEFtb3VudDtcbiAgICAgICAgfSk7XG4gICAgICAgIGJsaW5rID0gTWF0aC5tYXgoMC4wLCBibGluayk7XG4gICAgICAgIGxvb2tBdCA9IE1hdGgubWF4KDAuMCwgbG9va0F0KTtcbiAgICAgICAgbW91dGggPSBNYXRoLm1heCgwLjAsIG1vdXRoKTtcbiAgICAgICAgcmV0dXJuIHsgYmxpbmssIGxvb2tBdCwgbW91dGggfTtcbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuY29uc3QgVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JUeXBlID0ge1xuICAgIENvbG9yOiAnY29sb3InLFxuICAgIEVtaXNzaW9uQ29sb3I6ICdlbWlzc2lvbkNvbG9yJyxcbiAgICBTaGFkZUNvbG9yOiAnc2hhZGVDb2xvcicsXG4gICAgTWF0Y2FwQ29sb3I6ICdtYXRjYXBDb2xvcicsXG4gICAgUmltQ29sb3I6ICdyaW1Db2xvcicsXG4gICAgT3V0bGluZUNvbG9yOiAnb3V0bGluZUNvbG9yJyxcbn07XG5jb25zdCB2MEV4cHJlc3Npb25NYXRlcmlhbENvbG9yTWFwID0ge1xuICAgIF9Db2xvcjogVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JUeXBlLkNvbG9yLFxuICAgIF9FbWlzc2lvbkNvbG9yOiBWUk1FeHByZXNzaW9uTWF0ZXJpYWxDb2xvclR5cGUuRW1pc3Npb25Db2xvcixcbiAgICBfU2hhZGVDb2xvcjogVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JUeXBlLlNoYWRlQ29sb3IsXG4gICAgX1JpbUNvbG9yOiBWUk1FeHByZXNzaW9uTWF0ZXJpYWxDb2xvclR5cGUuUmltQ29sb3IsXG4gICAgX091dGxpbmVDb2xvcjogVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JUeXBlLk91dGxpbmVDb2xvcixcbn07XG5cbmNvbnN0IF9jb2xvciA9IG5ldyBUSFJFRS5Db2xvcigpO1xuLyoqXG4gKiBBIGJpbmQgb2YgZXhwcmVzc2lvbiBpbmZsdWVuY2VzIHRvIGEgbWF0ZXJpYWwgY29sb3IuXG4gKi9cbmNsYXNzIFZSTUV4cHJlc3Npb25NYXRlcmlhbENvbG9yQmluZCB7XG4gICAgY29uc3RydWN0b3IoeyBtYXRlcmlhbCwgdHlwZSwgdGFyZ2V0VmFsdWUsIH0pIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIHRoaXMubWF0ZXJpYWwgPSBtYXRlcmlhbDtcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICAgICAgdGhpcy50YXJnZXRWYWx1ZSA9IHRhcmdldFZhbHVlO1xuICAgICAgICAvLyBpbml0IHByb3BlcnR5IG5hbWVcbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lTWFwID0gKF9hID0gT2JqZWN0LmVudHJpZXMoVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JCaW5kLl9wcm9wZXJ0eU5hbWVNYXBNYXApLmZpbmQoKFtkaXN0aW5ndWlzaGVyXSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG1hdGVyaWFsW2Rpc3Rpbmd1aXNoZXJdID09PSB0cnVlO1xuICAgICAgICB9KSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWzFdO1xuICAgICAgICBjb25zdCBwcm9wZXJ0eU5hbWUgPSAoX2IgPSBwcm9wZXJ0eU5hbWVNYXAgPT09IG51bGwgfHwgcHJvcGVydHlOYW1lTWFwID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcm9wZXJ0eU5hbWVNYXBbdHlwZV0pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IG51bGw7XG4gICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBUcmllZCB0byBhZGQgYSBtYXRlcmlhbCBjb2xvciBiaW5kIHRvIHRoZSBtYXRlcmlhbCAkeyhfYyA9IG1hdGVyaWFsLm5hbWUpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6ICcobm8gbmFtZSknfSwgdGhlIHR5cGUgJHt0eXBlfSBidXQgdGhlIG1hdGVyaWFsIG9yIHRoZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuYCk7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBtYXRlcmlhbFtwcm9wZXJ0eU5hbWVdO1xuICAgICAgICAgICAgY29uc3QgaW5pdGlhbFZhbHVlID0gdGFyZ2V0LmNsb25lKCk7XG4gICAgICAgICAgICAvLyDosqDjga7lgKTjgpLkv53mjIHjgZnjgovjgZ/jgoHjgatDb2xvci5zdWLjgpLkvb/jgo/jgZrjgavlt67liIbjgpLoqIjnrpfjgZnjgotcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhVmFsdWUgPSBuZXcgVEhSRUUuQ29sb3IodGFyZ2V0VmFsdWUuciAtIGluaXRpYWxWYWx1ZS5yLCB0YXJnZXRWYWx1ZS5nIC0gaW5pdGlhbFZhbHVlLmcsIHRhcmdldFZhbHVlLmIgLSBpbml0aWFsVmFsdWUuYik7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUsXG4gICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlLFxuICAgICAgICAgICAgICAgIGRlbHRhVmFsdWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIGFwcGx5V2VpZ2h0KHdlaWdodCkge1xuICAgICAgICBpZiAodGhpcy5fc3RhdGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gd2FybmluZyBpcyBhbHJlYWR5IGVtaXR0ZWQgaW4gY29uc3RydWN0b3JcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHByb3BlcnR5TmFtZSwgZGVsdGFWYWx1ZSB9ID0gdGhpcy5fc3RhdGU7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMubWF0ZXJpYWxbcHJvcGVydHlOYW1lXTtcbiAgICAgICAgaWYgKHRhcmdldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gLy8gVE9ETzogd2Ugc2hvdWxkIGtpY2sgdGhpcyBhdCBgYWRkTWF0ZXJpYWxWYWx1ZWBcbiAgICAgICAgdGFyZ2V0LmFkZChfY29sb3IuY29weShkZWx0YVZhbHVlKS5tdWx0aXBseVNjYWxhcih3ZWlnaHQpKTtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1hdGVyaWFsLnNob3VsZEFwcGx5VW5pZm9ybXMgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgdGhpcy5tYXRlcmlhbC5zaG91bGRBcHBseVVuaWZvcm1zID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjbGVhckFwcGxpZWRXZWlnaHQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9zdGF0ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyB3YXJuaW5nIGlzIGFscmVhZHkgZW1pdHRlZCBpbiBjb25zdHJ1Y3RvclxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgcHJvcGVydHlOYW1lLCBpbml0aWFsVmFsdWUgfSA9IHRoaXMuX3N0YXRlO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLm1hdGVyaWFsW3Byb3BlcnR5TmFtZV07XG4gICAgICAgIGlmICh0YXJnZXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IC8vIFRPRE86IHdlIHNob3VsZCBraWNrIHRoaXMgYXQgYGFkZE1hdGVyaWFsVmFsdWVgXG4gICAgICAgIHRhcmdldC5jb3B5KGluaXRpYWxWYWx1ZSk7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tYXRlcmlhbC5zaG91bGRBcHBseVVuaWZvcm1zID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRoaXMubWF0ZXJpYWwuc2hvdWxkQXBwbHlVbmlmb3JtcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKipcbiAqIE1hcHBpbmcgb2YgcHJvcGVydHkgbmFtZXMgZnJvbSBWUk1DL21hdGVyaWFsQ29sb3JCaW5kcy50eXBlIHRvIHRocmVlLmpzL01hdGVyaWFsLlxuICovXG5WUk1FeHByZXNzaW9uTWF0ZXJpYWxDb2xvckJpbmQuX3Byb3BlcnR5TmFtZU1hcE1hcCA9IHtcbiAgICBpc01lc2hTdGFuZGFyZE1hdGVyaWFsOiB7XG4gICAgICAgIGNvbG9yOiAnY29sb3InLFxuICAgICAgICBlbWlzc2lvbkNvbG9yOiAnZW1pc3NpdmUnLFxuICAgIH0sXG4gICAgaXNNZXNoQmFzaWNNYXRlcmlhbDoge1xuICAgICAgICBjb2xvcjogJ2NvbG9yJyxcbiAgICB9LFxuICAgIGlzTVRvb25NYXRlcmlhbDoge1xuICAgICAgICBjb2xvcjogJ2NvbG9yJyxcbiAgICAgICAgZW1pc3Npb25Db2xvcjogJ2VtaXNzaXZlJyxcbiAgICAgICAgb3V0bGluZUNvbG9yOiAnb3V0bGluZUNvbG9yRmFjdG9yJyxcbiAgICAgICAgbWF0Y2FwQ29sb3I6ICdtYXRjYXBGYWN0b3InLFxuICAgICAgICByaW1Db2xvcjogJ3BhcmFtZXRyaWNSaW1Db2xvckZhY3RvcicsXG4gICAgICAgIHNoYWRlQ29sb3I6ICdzaGFkZUNvbG9yRmFjdG9yJyxcbiAgICB9LFxufTtcblxuLyoqXG4gKiBBIGJpbmQgb2Yge0BsaW5rIFZSTUV4cHJlc3Npb259IGluZmx1ZW5jZXMgdG8gbW9ycGggdGFyZ2V0cy5cbiAqL1xuY2xhc3MgVlJNRXhwcmVzc2lvbk1vcnBoVGFyZ2V0QmluZCB7XG4gICAgY29uc3RydWN0b3IoeyBwcmltaXRpdmVzLCBpbmRleCwgd2VpZ2h0LCB9KSB7XG4gICAgICAgIHRoaXMucHJpbWl0aXZlcyA9IHByaW1pdGl2ZXM7XG4gICAgICAgIHRoaXMuaW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy53ZWlnaHQgPSB3ZWlnaHQ7XG4gICAgfVxuICAgIGFwcGx5V2VpZ2h0KHdlaWdodCkge1xuICAgICAgICB0aGlzLnByaW1pdGl2ZXMuZm9yRWFjaCgobWVzaCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgaWYgKCgoX2EgPSBtZXNoLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hW3RoaXMuaW5kZXhdKSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgbWVzaC5tb3JwaFRhcmdldEluZmx1ZW5jZXNbdGhpcy5pbmRleF0gKz0gdGhpcy53ZWlnaHQgKiB3ZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjbGVhckFwcGxpZWRXZWlnaHQoKSB7XG4gICAgICAgIHRoaXMucHJpbWl0aXZlcy5mb3JFYWNoKChtZXNoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoKChfYSA9IG1lc2gubW9ycGhUYXJnZXRJbmZsdWVuY2VzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbdGhpcy5pbmRleF0pICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBtZXNoLm1vcnBoVGFyZ2V0SW5mbHVlbmNlc1t0aGlzLmluZGV4XSA9IDAuMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5jb25zdCBfdjIgPSBuZXcgVEhSRUUuVmVjdG9yMigpO1xuLyoqXG4gKiBBIGJpbmQgb2YgZXhwcmVzc2lvbiBpbmZsdWVuY2VzIHRvIHRleHR1cmUgdHJhbnNmb3Jtcy5cbiAqL1xuY2xhc3MgVlJNRXhwcmVzc2lvblRleHR1cmVUcmFuc2Zvcm1CaW5kIHtcbiAgICBjb25zdHJ1Y3Rvcih7IG1hdGVyaWFsLCBzY2FsZSwgb2Zmc2V0LCB9KSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHRoaXMubWF0ZXJpYWwgPSBtYXRlcmlhbDtcbiAgICAgICAgdGhpcy5zY2FsZSA9IHNjYWxlO1xuICAgICAgICB0aGlzLm9mZnNldCA9IG9mZnNldDtcbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lcyA9IChfYSA9IE9iamVjdC5lbnRyaWVzKFZSTUV4cHJlc3Npb25UZXh0dXJlVHJhbnNmb3JtQmluZC5fcHJvcGVydHlOYW1lc01hcCkuZmluZCgoW2Rpc3Rpbmd1aXNoZXJdKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbWF0ZXJpYWxbZGlzdGluZ3Vpc2hlcl0gPT09IHRydWU7XG4gICAgICAgIH0pKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbMV07XG4gICAgICAgIGlmIChwcm9wZXJ0eU5hbWVzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgVHJpZWQgdG8gYWRkIGEgdGV4dHVyZSB0cmFuc2Zvcm0gYmluZCB0byB0aGUgbWF0ZXJpYWwgJHsoX2IgPSBtYXRlcmlhbC5uYW1lKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAnKG5vIG5hbWUpJ30gYnV0IHRoZSBtYXRlcmlhbCBpcyBub3Qgc3VwcG9ydGVkLmApO1xuICAgICAgICAgICAgdGhpcy5fcHJvcGVydGllcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcHJvcGVydGllcyA9IFtdO1xuICAgICAgICAgICAgcHJvcGVydHlOYW1lcy5mb3JFYWNoKChwcm9wZXJ0eU5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dHVyZSA9IChfYSA9IG1hdGVyaWFsW3Byb3BlcnR5TmFtZV0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jbG9uZSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGV4dHVyZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbWF0ZXJpYWxbcHJvcGVydHlOYW1lXSA9IHRleHR1cmU7IC8vIGJlY2F1c2UgdGhlIHRleHR1cmUgaXMgY2xvbmVkXG4gICAgICAgICAgICAgICAgY29uc3QgaW5pdGlhbE9mZnNldCA9IHRleHR1cmUub2Zmc2V0LmNsb25lKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5pdGlhbFNjYWxlID0gdGV4dHVyZS5yZXBlYXQuY2xvbmUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWx0YU9mZnNldCA9IG9mZnNldC5jbG9uZSgpLnN1Yihpbml0aWFsT2Zmc2V0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWx0YVNjYWxlID0gc2NhbGUuY2xvbmUoKS5zdWIoaW5pdGlhbFNjYWxlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9wZXJ0aWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBwcm9wZXJ0eU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGluaXRpYWxPZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGRlbHRhT2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBpbml0aWFsU2NhbGUsXG4gICAgICAgICAgICAgICAgICAgIGRlbHRhU2NhbGUsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhcHBseVdlaWdodCh3ZWlnaHQpIHtcbiAgICAgICAgdGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5tYXRlcmlhbFtwcm9wZXJ0eS5uYW1lXTtcbiAgICAgICAgICAgIGlmICh0YXJnZXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gLy8gVE9ETzogd2Ugc2hvdWxkIGtpY2sgdGhpcyBhdCBgYWRkTWF0ZXJpYWxWYWx1ZWBcbiAgICAgICAgICAgIHRhcmdldC5vZmZzZXQuYWRkKF92Mi5jb3B5KHByb3BlcnR5LmRlbHRhT2Zmc2V0KS5tdWx0aXBseVNjYWxhcih3ZWlnaHQpKTtcbiAgICAgICAgICAgIHRhcmdldC5yZXBlYXQuYWRkKF92Mi5jb3B5KHByb3BlcnR5LmRlbHRhU2NhbGUpLm11bHRpcGx5U2NhbGFyKHdlaWdodCkpO1xuICAgICAgICAgICAgdGFyZ2V0Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNsZWFyQXBwbGllZFdlaWdodCgpIHtcbiAgICAgICAgdGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5tYXRlcmlhbFtwcm9wZXJ0eS5uYW1lXTtcbiAgICAgICAgICAgIGlmICh0YXJnZXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gLy8gVE9ETzogd2Ugc2hvdWxkIGtpY2sgdGhpcyBhdCBgYWRkTWF0ZXJpYWxWYWx1ZWBcbiAgICAgICAgICAgIHRhcmdldC5vZmZzZXQuY29weShwcm9wZXJ0eS5pbml0aWFsT2Zmc2V0KTtcbiAgICAgICAgICAgIHRhcmdldC5yZXBlYXQuY29weShwcm9wZXJ0eS5pbml0aWFsU2NhbGUpO1xuICAgICAgICAgICAgdGFyZ2V0Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuVlJNRXhwcmVzc2lvblRleHR1cmVUcmFuc2Zvcm1CaW5kLl9wcm9wZXJ0eU5hbWVzTWFwID0ge1xuICAgIGlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw6IFtcbiAgICAgICAgJ21hcCcsXG4gICAgICAgICdlbWlzc2l2ZU1hcCcsXG4gICAgICAgICdidW1wTWFwJyxcbiAgICAgICAgJ25vcm1hbE1hcCcsXG4gICAgICAgICdkaXNwbGFjZW1lbnRNYXAnLFxuICAgICAgICAncm91Z2huZXNzTWFwJyxcbiAgICAgICAgJ21ldGFsbmVzc01hcCcsXG4gICAgICAgICdhbHBoYU1hcCcsXG4gICAgXSxcbiAgICBpc01lc2hCYXNpY01hdGVyaWFsOiBbJ21hcCcsICdzcGVjdWxhck1hcCcsICdhbHBoYU1hcCddLFxuICAgIGlzTVRvb25NYXRlcmlhbDogW1xuICAgICAgICAnbWFwJyxcbiAgICAgICAgJ25vcm1hbE1hcCcsXG4gICAgICAgICdlbWlzc2l2ZU1hcCcsXG4gICAgICAgICdzaGFkZU11bHRpcGx5VGV4dHVyZScsXG4gICAgICAgICdyaW1NdWx0aXBseVRleHR1cmUnLFxuICAgICAgICAnb3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlJyxcbiAgICAgICAgJ3V2QW5pbWF0aW9uTWFza1RleHR1cmUnLFxuICAgIF0sXG59O1xuXG4vKipcbiAqIFBvc3NpYmxlIHNwZWMgdmVyc2lvbnMgaXQgcmVjb2duaXplcy5cbiAqL1xuY29uc3QgUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyQ0ID0gbmV3IFNldChbJzEuMCcsICcxLjAtYmV0YSddKTtcbi8qKlxuICogQSBwbHVnaW4gb2YgR0xURkxvYWRlciB0aGF0IGltcG9ydHMgYSB7QGxpbmsgVlJNRXhwcmVzc2lvbk1hbmFnZXJ9IGZyb20gYSBWUk0gZXh0ZW5zaW9uIG9mIGEgR0xURi5cbiAqL1xuY2xhc3MgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbiB7XG4gICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIC8vIFdlIHNob3VsZCB1c2UgdGhlIGV4dGVuc2lvbiBuYW1lIGluc3RlYWQgYnV0IHdlIGhhdmUgbXVsdGlwbGUgcGx1Z2lucyBmb3IgYW4gZXh0ZW5zaW9uLi4uXG4gICAgICAgIHJldHVybiAnVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbic7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlcikge1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB9XG4gICAgYWZ0ZXJSb290KGdsdGYpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGdsdGYudXNlckRhdGEudnJtRXhwcmVzc2lvbk1hbmFnZXIgPSB5aWVsZCB0aGlzLl9pbXBvcnQoZ2x0Zik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbXBvcnQgYSB7QGxpbmsgVlJNRXhwcmVzc2lvbk1hbmFnZXJ9IGZyb20gYSBWUk0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ2x0ZiBBIHBhcnNlZCByZXN1bHQgb2YgR0xURiB0YWtlbiBmcm9tIEdMVEZMb2FkZXJcbiAgICAgKi9cbiAgICBfaW1wb3J0KGdsdGYpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHYxUmVzdWx0ID0geWllbGQgdGhpcy5fdjFJbXBvcnQoZ2x0Zik7XG4gICAgICAgICAgICBpZiAodjFSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdjFSZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB2MFJlc3VsdCA9IHlpZWxkIHRoaXMuX3YwSW1wb3J0KGdsdGYpO1xuICAgICAgICAgICAgaWYgKHYwUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYwUmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfdjFJbXBvcnQoZ2x0Zikge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHRoaXMucGFyc2VyLmpzb247XG4gICAgICAgICAgICAvLyBlYXJseSBhYm9ydCBpZiBpdCBkb2Vzbid0IHVzZSB2cm1cbiAgICAgICAgICAgIGNvbnN0IGlzVlJNVXNlZCA9ICgoX2EgPSBqc29uLmV4dGVuc2lvbnNVc2VkKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaW5kZXhPZignVlJNQ192cm0nKSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKCFpc1ZSTVVzZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IChfYiA9IGpzb24uZXh0ZW5zaW9ucykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iWydWUk1DX3ZybSddO1xuICAgICAgICAgICAgaWYgKCFleHRlbnNpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNwZWNWZXJzaW9uID0gZXh0ZW5zaW9uLnNwZWNWZXJzaW9uO1xuICAgICAgICAgICAgaWYgKCFQT1NTSUJMRV9TUEVDX1ZFUlNJT05TJDQuaGFzKHNwZWNWZXJzaW9uKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbjogVW5rbm93biBWUk1DX3ZybSBzcGVjVmVyc2lvbiBcIiR7c3BlY1ZlcnNpb259XCJgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYUV4cHJlc3Npb25zID0gZXh0ZW5zaW9uLmV4cHJlc3Npb25zO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFFeHByZXNzaW9ucykge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gbGlzdCBleHByZXNzaW9uc1xuICAgICAgICAgICAgY29uc3QgcHJlc2V0TmFtZVNldCA9IG5ldyBTZXQoT2JqZWN0LnZhbHVlcyhWUk1FeHByZXNzaW9uUHJlc2V0TmFtZSkpO1xuICAgICAgICAgICAgY29uc3QgbmFtZVNjaGVtYUV4cHJlc3Npb25NYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICBpZiAoc2NoZW1hRXhwcmVzc2lvbnMucHJlc2V0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhzY2hlbWFFeHByZXNzaW9ucy5wcmVzZXQpLmZvckVhY2goKFtuYW1lLCBzY2hlbWFFeHByZXNzaW9uXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2NoZW1hRXhwcmVzc2lvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH0gLy8gdHlwZXNjcmlwdFxuICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXNldE5hbWVTZXQuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW46IFVua25vd24gcHJlc2V0IG5hbWUgXCIke25hbWV9XCIgZGV0ZWN0ZWQuIElnbm9yaW5nIHRoZSBleHByZXNzaW9uYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbmFtZVNjaGVtYUV4cHJlc3Npb25NYXAuc2V0KG5hbWUsIHNjaGVtYUV4cHJlc3Npb24pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNjaGVtYUV4cHJlc3Npb25zLmN1c3RvbSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoc2NoZW1hRXhwcmVzc2lvbnMuY3VzdG9tKS5mb3JFYWNoKChbbmFtZSwgc2NoZW1hRXhwcmVzc2lvbl0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXNldE5hbWVTZXQuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW46IEN1c3RvbSBleHByZXNzaW9uIGNhbm5vdCBoYXZlIHByZXNldCBuYW1lIFwiJHtuYW1lfVwiLiBJZ25vcmluZyB0aGUgZXhwcmVzc2lvbmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWVTY2hlbWFFeHByZXNzaW9uTWFwLnNldChuYW1lLCBzY2hlbWFFeHByZXNzaW9uKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHByZXBhcmUgbWFuYWdlclxuICAgICAgICAgICAgY29uc3QgbWFuYWdlciA9IG5ldyBWUk1FeHByZXNzaW9uTWFuYWdlcigpO1xuICAgICAgICAgICAgLy8gbG9hZCBleHByZXNzaW9uc1xuICAgICAgICAgICAgeWllbGQgUHJvbWlzZS5hbGwoQXJyYXkuZnJvbShuYW1lU2NoZW1hRXhwcmVzc2lvbk1hcC5lbnRyaWVzKCkpLm1hcCgoW25hbWUsIHNjaGVtYUV4cHJlc3Npb25dKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIF9jLCBfZCwgX2UsIF9mLCBfZywgX2gsIF9qO1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBuZXcgVlJNRXhwcmVzc2lvbihuYW1lKTtcbiAgICAgICAgICAgICAgICBnbHRmLnNjZW5lLmFkZChleHByZXNzaW9uKTtcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uLmlzQmluYXJ5ID0gKF9jID0gc2NoZW1hRXhwcmVzc2lvbi5pc0JpbmFyeSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogZmFsc2U7XG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5vdmVycmlkZUJsaW5rID0gKF9kID0gc2NoZW1hRXhwcmVzc2lvbi5vdmVycmlkZUJsaW5rKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAnbm9uZSc7XG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5vdmVycmlkZUxvb2tBdCA9IChfZSA9IHNjaGVtYUV4cHJlc3Npb24ub3ZlcnJpZGVMb29rQXQpICE9PSBudWxsICYmIF9lICE9PSB2b2lkIDAgPyBfZSA6ICdub25lJztcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uLm92ZXJyaWRlTW91dGggPSAoX2YgPSBzY2hlbWFFeHByZXNzaW9uLm92ZXJyaWRlTW91dGgpICE9PSBudWxsICYmIF9mICE9PSB2b2lkIDAgPyBfZiA6ICdub25lJztcbiAgICAgICAgICAgICAgICAoX2cgPSBzY2hlbWFFeHByZXNzaW9uLm1vcnBoVGFyZ2V0QmluZHMpID09PSBudWxsIHx8IF9nID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZy5mb3JFYWNoKChiaW5kKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfaztcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJpbmQubm9kZSA9PT0gdW5kZWZpbmVkIHx8IGJpbmQuaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByaW1pdGl2ZXMgPSAoeWllbGQgZ2x0ZkV4dHJhY3RQcmltaXRpdmVzRnJvbU5vZGUoZ2x0ZiwgYmluZC5ub2RlKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vcnBoVGFyZ2V0SW5kZXggPSBiaW5kLmluZGV4O1xuICAgICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiB0aGUgbWVzaCBoYXMgdGhlIHRhcmdldCBtb3JwaCB0YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmltaXRpdmVzLmV2ZXJ5KChwcmltaXRpdmUpID0+IEFycmF5LmlzQXJyYXkocHJpbWl0aXZlLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vcnBoVGFyZ2V0SW5kZXggPCBwcmltaXRpdmUubW9ycGhUYXJnZXRJbmZsdWVuY2VzLmxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbjogJHtzY2hlbWFFeHByZXNzaW9uLm5hbWV9IGF0dGVtcHRzIHRvIGluZGV4IG1vcnBoICMke21vcnBoVGFyZ2V0SW5kZXh9IGJ1dCBub3QgZm91bmQuYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5hZGRCaW5kKG5ldyBWUk1FeHByZXNzaW9uTW9ycGhUYXJnZXRCaW5kKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW1pdGl2ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogbW9ycGhUYXJnZXRJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogKF9rID0gYmluZC53ZWlnaHQpICE9PSBudWxsICYmIF9rICE9PSB2b2lkIDAgPyBfayA6IDEuMCxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICBpZiAoc2NoZW1hRXhwcmVzc2lvbi5tYXRlcmlhbENvbG9yQmluZHMgfHwgc2NoZW1hRXhwcmVzc2lvbi50ZXh0dXJlVHJhbnNmb3JtQmluZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbGlzdCB1cCBldmVyeSBtYXRlcmlhbCBpbiBgZ2x0Zi5zY2VuZWBcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2x0Zk1hdGVyaWFscyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBnbHRmLnNjZW5lLnRyYXZlcnNlKChvYmplY3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsID0gb2JqZWN0Lm1hdGVyaWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x0Zk1hdGVyaWFscy5wdXNoKG1hdGVyaWFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIChfaCA9IHNjaGVtYUV4cHJlc3Npb24ubWF0ZXJpYWxDb2xvckJpbmRzKSA9PT0gbnVsbCB8fCBfaCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2guZm9yRWFjaCgoYmluZCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxzID0gZ2x0Zk1hdGVyaWFscy5maWx0ZXIoKG1hdGVyaWFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxJbmRleCA9IGdsdGZHZXRBc3NvY2lhdGVkTWF0ZXJpYWxJbmRleCh0aGlzLnBhcnNlciwgbWF0ZXJpYWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBiaW5kLm1hdGVyaWFsID09PSBtYXRlcmlhbEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbHMuZm9yRWFjaCgobWF0ZXJpYWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uLmFkZEJpbmQobmV3IFZSTUV4cHJlc3Npb25NYXRlcmlhbENvbG9yQmluZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBiaW5kLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFZhbHVlOiBuZXcgVEhSRUUuQ29sb3IoKS5mcm9tQXJyYXkoYmluZC50YXJnZXRWYWx1ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgKF9qID0gc2NoZW1hRXhwcmVzc2lvbi50ZXh0dXJlVHJhbnNmb3JtQmluZHMpID09PSBudWxsIHx8IF9qID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfai5mb3JFYWNoKChiaW5kKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbHMgPSBnbHRmTWF0ZXJpYWxzLmZpbHRlcigobWF0ZXJpYWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbEluZGV4ID0gZ2x0ZkdldEFzc29jaWF0ZWRNYXRlcmlhbEluZGV4KHRoaXMucGFyc2VyLCBtYXRlcmlhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJpbmQubWF0ZXJpYWwgPT09IG1hdGVyaWFsSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFscy5mb3JFYWNoKChtYXRlcmlhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbi5hZGRCaW5kKG5ldyBWUk1FeHByZXNzaW9uVGV4dHVyZVRyYW5zZm9ybUJpbmQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBuZXcgVEhSRUUuVmVjdG9yMigpLmZyb21BcnJheSgoX2EgPSBiaW5kLm9mZnNldCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogWzAuMCwgMC4wXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlOiBuZXcgVEhSRUUuVmVjdG9yMigpLmZyb21BcnJheSgoX2IgPSBiaW5kLnNjYWxlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBbMS4wLCAxLjBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtYW5hZ2VyLnJlZ2lzdGVyRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgICAgIH0pKSk7XG4gICAgICAgICAgICByZXR1cm4gbWFuYWdlcjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF92MEltcG9ydChnbHRmKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgdnJtXG4gICAgICAgICAgICBjb25zdCB2cm1FeHQgPSAoX2EgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5WUk07XG4gICAgICAgICAgICBpZiAoIXZybUV4dCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hQmxlbmRTaGFwZSA9IHZybUV4dC5ibGVuZFNoYXBlTWFzdGVyO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFCbGVuZFNoYXBlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtYW5hZ2VyID0gbmV3IFZSTUV4cHJlc3Npb25NYW5hZ2VyKCk7XG4gICAgICAgICAgICBjb25zdCBzY2hlbWFCbGVuZFNoYXBlR3JvdXBzID0gc2NoZW1hQmxlbmRTaGFwZS5ibGVuZFNoYXBlR3JvdXBzO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFCbGVuZFNoYXBlR3JvdXBzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hbmFnZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBibGVuZFNoYXBlTmFtZVNldCA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHlpZWxkIFByb21pc2UuYWxsKHNjaGVtYUJsZW5kU2hhcGVHcm91cHMubWFwKChzY2hlbWFHcm91cCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgIHZhciBfYjtcbiAgICAgICAgICAgICAgICBjb25zdCB2MFByZXNldE5hbWUgPSBzY2hlbWFHcm91cC5wcmVzZXROYW1lO1xuICAgICAgICAgICAgICAgIGNvbnN0IHYxUHJlc2V0TmFtZSA9ICh2MFByZXNldE5hbWUgIT0gbnVsbCAmJiBWUk1FeHByZXNzaW9uTG9hZGVyUGx1Z2luLnYwdjFQcmVzZXROYW1lTWFwW3YwUHJlc2V0TmFtZV0pIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IHYxUHJlc2V0TmFtZSAhPT0gbnVsbCAmJiB2MVByZXNldE5hbWUgIT09IHZvaWQgMCA/IHYxUHJlc2V0TmFtZSA6IHNjaGVtYUdyb3VwLm5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUV4cHJlc3Npb25Mb2FkZXJQbHVnaW46IE9uZSBvZiBjdXN0b20gZXhwcmVzc2lvbnMgaGFzIG5vIG5hbWUuIElnbm9yaW5nIHRoZSBleHByZXNzaW9uJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gZHVwbGljYXRpb24gY2hlY2tcbiAgICAgICAgICAgICAgICBpZiAoYmxlbmRTaGFwZU5hbWVTZXQuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbjogQW4gZXhwcmVzc2lvbiBwcmVzZXQgJHt2MFByZXNldE5hbWV9IGhhcyBkdXBsaWNhdGVkIGVudHJpZXMuIElnbm9yaW5nIHRoZSBleHByZXNzaW9uYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYmxlbmRTaGFwZU5hbWVTZXQuYWRkKG5hbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBuZXcgVlJNRXhwcmVzc2lvbihuYW1lKTtcbiAgICAgICAgICAgICAgICBnbHRmLnNjZW5lLmFkZChleHByZXNzaW9uKTtcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uLmlzQmluYXJ5ID0gKF9iID0gc2NoZW1hR3JvdXAuaXNCaW5hcnkpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIC8vIHYwIGRvZXNuJ3QgaGF2ZSBpZ25vcmUgcHJvcGVydGllc1xuICAgICAgICAgICAgICAgIC8vIEJpbmQgbW9ycGhUYXJnZXRcbiAgICAgICAgICAgICAgICBpZiAoc2NoZW1hR3JvdXAuYmluZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgc2NoZW1hR3JvdXAuYmluZHMuZm9yRWFjaCgoYmluZCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9jO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJpbmQubWVzaCA9PT0gdW5kZWZpbmVkIHx8IGJpbmQuaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVzVXNpbmdNZXNoID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICAoX2MgPSBqc29uLm5vZGVzKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuZm9yRWFjaCgobm9kZSwgaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlLm1lc2ggPT09IGJpbmQubWVzaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlc1VzaW5nTWVzaC5wdXNoKGkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9ycGhUYXJnZXRJbmRleCA9IGJpbmQuaW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCBQcm9taXNlLmFsbChub2Rlc1VzaW5nTWVzaC5tYXAoKG5vZGVJbmRleCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmltaXRpdmVzID0gKHlpZWxkIGdsdGZFeHRyYWN0UHJpbWl0aXZlc0Zyb21Ob2RlKGdsdGYsIG5vZGVJbmRleCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZSBtZXNoIGhhcyB0aGUgdGFyZ2V0IG1vcnBoIHRhcmdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJpbWl0aXZlcy5ldmVyeSgocHJpbWl0aXZlKSA9PiBBcnJheS5pc0FycmF5KHByaW1pdGl2ZS5tb3JwaFRhcmdldEluZmx1ZW5jZXMpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vcnBoVGFyZ2V0SW5kZXggPCBwcmltaXRpdmUubW9ycGhUYXJnZXRJbmZsdWVuY2VzLmxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1FeHByZXNzaW9uTG9hZGVyUGx1Z2luOiAke3NjaGVtYUdyb3VwLm5hbWV9IGF0dGVtcHRzIHRvIGluZGV4ICR7bW9ycGhUYXJnZXRJbmRleH10aCBtb3JwaCBidXQgbm90IGZvdW5kLmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24uYWRkQmluZChuZXcgVlJNRXhwcmVzc2lvbk1vcnBoVGFyZ2V0QmluZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1pdGl2ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBtb3JwaFRhcmdldEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAuMDEgKiAoKF9kID0gYmluZC53ZWlnaHQpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDEwMCksIC8vIG5hcnJvd2luZyB0aGUgcmFuZ2UgZnJvbSBbIDAuMCAtIDEwMC4wIF0gdG8gWyAwLjAgLSAxLjAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gQmluZCBNYXRlcmlhbENvbG9yIGFuZCBUZXh0dXJlVHJhbnNmb3JtXG4gICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxWYWx1ZXMgPSBzY2hlbWFHcm91cC5tYXRlcmlhbFZhbHVlcztcbiAgICAgICAgICAgICAgICBpZiAobWF0ZXJpYWxWYWx1ZXMgJiYgbWF0ZXJpYWxWYWx1ZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsVmFsdWVzLmZvckVhY2goKG1hdGVyaWFsVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRlcmlhbFZhbHVlLm1hdGVyaWFsTmFtZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxWYWx1ZS5wcm9wZXJ0eU5hbWUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsVmFsdWUudGFyZ2V0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICog44Ki44OQ44K/44O844Gu44Kq44OW44K444Kn44Kv44OI44Gr6Kit5a6a44GV44KM44Gm44GE44KL44Oe44OG44Oq44Ki44Or44Gu5YaF44GL44KJXG4gICAgICAgICAgICAgICAgICAgICAgICAgKiBtYXRlcmlhbFZhbHVl44Gn5oyH5a6a44GV44KM44Gm44GE44KL44Oe44OG44Oq44Ki44Or44KS6ZuG44KB44KL44CCXG4gICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICog54m55a6a44Gr44Gv5ZCN5YmN44KS5L2/55So44GZ44KL44CCXG4gICAgICAgICAgICAgICAgICAgICAgICAgKiDjgqLjgqbjg4jjg6njgqTjg7Pmj4/nlLvnlKjjga7jg57jg4bjg6rjgqLjg6vjgoLlkIzmmYLjgavpm4bjgoHjgovjgIJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBnbHRmLnNjZW5lLnRyYXZlcnNlKChvYmplY3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob2JqZWN0Lm1hdGVyaWFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsID0gb2JqZWN0Lm1hdGVyaWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShtYXRlcmlhbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFscy5wdXNoKC4uLm1hdGVyaWFsLmZpbHRlcigobXRsKSA9PiAobXRsLm5hbWUgPT09IG1hdGVyaWFsVmFsdWUubWF0ZXJpYWxOYW1lIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXRsLm5hbWUgPT09IG1hdGVyaWFsVmFsdWUubWF0ZXJpYWxOYW1lICsgJyAoT3V0bGluZSknKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFscy5pbmRleE9mKG10bCkgPT09IC0xKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAobWF0ZXJpYWwubmFtZSA9PT0gbWF0ZXJpYWxWYWx1ZS5tYXRlcmlhbE5hbWUgJiYgbWF0ZXJpYWxzLmluZGV4T2YobWF0ZXJpYWwpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxzLnB1c2gobWF0ZXJpYWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbFByb3BlcnR5TmFtZSA9IG1hdGVyaWFsVmFsdWUucHJvcGVydHlOYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxzLmZvckVhY2goKG1hdGVyaWFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGV4dHVyZVRyYW5zZm9ybUJpbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0ZXJpYWxQcm9wZXJ0eU5hbWUgPT09ICdfTWFpblRleF9TVCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2NhbGUgPSBuZXcgVEhSRUUuVmVjdG9yMihtYXRlcmlhbFZhbHVlLnRhcmdldFZhbHVlWzBdLCBtYXRlcmlhbFZhbHVlLnRhcmdldFZhbHVlWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gbmV3IFRIUkVFLlZlY3RvcjIobWF0ZXJpYWxWYWx1ZS50YXJnZXRWYWx1ZVsyXSwgbWF0ZXJpYWxWYWx1ZS50YXJnZXRWYWx1ZVszXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldC55ID0gMS4wIC0gb2Zmc2V0LnkgLSBzY2FsZS55O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uLmFkZEJpbmQobmV3IFZSTUV4cHJlc3Npb25UZXh0dXJlVHJhbnNmb3JtQmluZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWF0ZXJpYWxDb2xvckJpbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbENvbG9yVHlwZSA9IHYwRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JNYXBbbWF0ZXJpYWxQcm9wZXJ0eU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRlcmlhbENvbG9yVHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uLmFkZEJpbmQobmV3IFZSTUV4cHJlc3Npb25NYXRlcmlhbENvbG9yQmluZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IG1hdGVyaWFsQ29sb3JUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0VmFsdWU6IG5ldyBUSFJFRS5Db2xvciguLi5tYXRlcmlhbFZhbHVlLnRhcmdldFZhbHVlLnNsaWNlKDAsIDMpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihtYXRlcmlhbFByb3BlcnR5TmFtZSArICcgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtYW5hZ2VyLnJlZ2lzdGVyRXhwcmVzc2lvbihleHByZXNzaW9uKTtcbiAgICAgICAgICAgIH0pKSk7XG4gICAgICAgICAgICByZXR1cm4gbWFuYWdlcjtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbi52MHYxUHJlc2V0TmFtZU1hcCA9IHtcbiAgICBhOiAnYWEnLFxuICAgIGU6ICdlZScsXG4gICAgaTogJ2loJyxcbiAgICBvOiAnb2gnLFxuICAgIHU6ICdvdScsXG4gICAgYmxpbms6ICdibGluaycsXG4gICAgam95OiAnaGFwcHknLFxuICAgIGFuZ3J5OiAnYW5ncnknLFxuICAgIHNvcnJvdzogJ3NhZCcsXG4gICAgZnVuOiAncmVsYXhlZCcsXG4gICAgbG9va3VwOiAnbG9va1VwJyxcbiAgICBsb29rZG93bjogJ2xvb2tEb3duJyxcbiAgICBsb29rbGVmdDogJ2xvb2tMZWZ0JyxcbiAgICBsb29rcmlnaHQ6ICdsb29rUmlnaHQnLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBibGlua19sOiAnYmxpbmtMZWZ0JyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgYmxpbmtfcjogJ2JsaW5rUmlnaHQnLFxuICAgIG5ldXRyYWw6ICduZXV0cmFsJyxcbn07XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuY29uc3QgVlJNRXhwcmVzc2lvbk92ZXJyaWRlVHlwZSA9IHtcbiAgICBOb25lOiAnbm9uZScsXG4gICAgQmxvY2s6ICdibG9jaycsXG4gICAgQmxlbmQ6ICdibGVuZCcsXG59O1xuXG5jbGFzcyBWUk1GaXJzdFBlcnNvbiB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IFZSTUZpcnN0UGVyc29uIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBodW1hbm9pZCBBIHtAbGluayBWUk1IdW1hbm9pZH1cbiAgICAgKiBAcGFyYW0gbWVzaEFubm90YXRpb25zIEEgcmVuZGVyZXIgc2V0dGluZ3MuIFNlZSB0aGUgZGVzY3JpcHRpb24gb2YgW1tSZW5kZXJlckZpcnN0UGVyc29uRmxhZ3NdXSBmb3IgbW9yZSBpbmZvXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoaHVtYW5vaWQsIG1lc2hBbm5vdGF0aW9ucykge1xuICAgICAgICB0aGlzLl9maXJzdFBlcnNvbk9ubHlMYXllciA9IFZSTUZpcnN0UGVyc29uLkRFRkFVTFRfRklSU1RQRVJTT05fT05MWV9MQVlFUjtcbiAgICAgICAgdGhpcy5fdGhpcmRQZXJzb25Pbmx5TGF5ZXIgPSBWUk1GaXJzdFBlcnNvbi5ERUZBVUxUX1RISVJEUEVSU09OX09OTFlfTEFZRVI7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkTGF5ZXJzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaHVtYW5vaWQgPSBodW1hbm9pZDtcbiAgICAgICAgdGhpcy5tZXNoQW5ub3RhdGlvbnMgPSBtZXNoQW5ub3RhdGlvbnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvcHkgdGhlIGdpdmVuIHtAbGluayBWUk1GaXJzdFBlcnNvbn0gaW50byB0aGlzIG9uZS5cbiAgICAgKiB7QGxpbmsgaHVtYW5vaWR9IG11c3QgYmUgc2FtZSBhcyB0aGUgc291cmNlIG9uZS5cbiAgICAgKiBAcGFyYW0gc291cmNlIFRoZSB7QGxpbmsgVlJNRmlyc3RQZXJzb259IHlvdSB3YW50IHRvIGNvcHlcbiAgICAgKiBAcmV0dXJucyB0aGlzXG4gICAgICovXG4gICAgY29weShzb3VyY2UpIHtcbiAgICAgICAgaWYgKHRoaXMuaHVtYW5vaWQgIT09IHNvdXJjZS5odW1hbm9pZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdWUk1GaXJzdFBlcnNvbjogaHVtYW5vaWQgbXVzdCBiZSBzYW1lIGluIG9yZGVyIHRvIGNvcHknKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1lc2hBbm5vdGF0aW9ucyA9IHNvdXJjZS5tZXNoQW5ub3RhdGlvbnMubWFwKChhbm5vdGF0aW9uKSA9PiAoe1xuICAgICAgICAgICAgbWVzaGVzOiBhbm5vdGF0aW9uLm1lc2hlcy5jb25jYXQoKSxcbiAgICAgICAgICAgIHR5cGU6IGFubm90YXRpb24udHlwZSxcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIGNsb25lIG9mIHRoaXMge0BsaW5rIFZSTUZpcnN0UGVyc29ufS5cbiAgICAgKiBAcmV0dXJucyBDb3BpZWQge0BsaW5rIFZSTUZpcnN0UGVyc29ufVxuICAgICAqL1xuICAgIGNsb25lKCkge1xuICAgICAgICByZXR1cm4gbmV3IFZSTUZpcnN0UGVyc29uKHRoaXMuaHVtYW5vaWQsIHRoaXMubWVzaEFubm90YXRpb25zKS5jb3B5KHRoaXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIGNhbWVyYSBsYXllciByZXByZXNlbnRzIGBGaXJzdFBlcnNvbk9ubHlgIGxheWVyLlxuICAgICAqIE5vdGUgdGhhdCAqKnlvdSBtdXN0IGNhbGwge0BsaW5rIHNldHVwfSBmaXJzdCBiZWZvcmUgeW91IHVzZSB0aGUgbGF5ZXIgZmVhdHVyZSoqIG9yIGl0IGRvZXMgbm90IHdvcmsgcHJvcGVybHkuXG4gICAgICpcbiAgICAgKiBUaGUgdmFsdWUgaXMge0BsaW5rIERFRkFVTFRfRklSU1RQRVJTT05fT05MWV9MQVlFUn0gYnkgZGVmYXVsdCBidXQgeW91IGNhbiBjaGFuZ2UgdGhlIGxheWVyIGJ5IHNwZWNpZnlpbmcgdmlhIHtAbGluayBzZXR1cH0gaWYgeW91IHByZWZlci5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly92cm0uZGV2L2VuL3VuaXZybS9hcGkvdW5pdnJtX3VzZV9maXJzdHBlcnNvbi9cbiAgICAgKiBAc2VlIGh0dHBzOi8vdGhyZWVqcy5vcmcvZG9jcy8jYXBpL2VuL2NvcmUvTGF5ZXJzXG4gICAgICovXG4gICAgZ2V0IGZpcnN0UGVyc29uT25seUxheWVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlyc3RQZXJzb25Pbmx5TGF5ZXI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEEgY2FtZXJhIGxheWVyIHJlcHJlc2VudHMgYFRoaXJkUGVyc29uT25seWAgbGF5ZXIuXG4gICAgICogTm90ZSB0aGF0ICoqeW91IG11c3QgY2FsbCB7QGxpbmsgc2V0dXB9IGZpcnN0IGJlZm9yZSB5b3UgdXNlIHRoZSBsYXllciBmZWF0dXJlKiogb3IgaXQgZG9lcyBub3Qgd29yayBwcm9wZXJseS5cbiAgICAgKlxuICAgICAqIFRoZSB2YWx1ZSBpcyB7QGxpbmsgREVGQVVMVF9USElSRFBFUlNPTl9PTkxZX0xBWUVSfSBieSBkZWZhdWx0IGJ1dCB5b3UgY2FuIGNoYW5nZSB0aGUgbGF5ZXIgYnkgc3BlY2lmeWluZyB2aWEge0BsaW5rIHNldHVwfSBpZiB5b3UgcHJlZmVyLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3ZybS5kZXYvZW4vdW5pdnJtL2FwaS91bml2cm1fdXNlX2ZpcnN0cGVyc29uL1xuICAgICAqIEBzZWUgaHR0cHM6Ly90aHJlZWpzLm9yZy9kb2NzLyNhcGkvZW4vY29yZS9MYXllcnNcbiAgICAgKi9cbiAgICBnZXQgdGhpcmRQZXJzb25Pbmx5TGF5ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90aGlyZFBlcnNvbk9ubHlMYXllcjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW4gdGhpcyBtZXRob2QsIGl0IGFzc2lnbnMgbGF5ZXJzIGZvciBldmVyeSBtZXNoZXMgYmFzZWQgb24gbWVzaCBhbm5vdGF0aW9ucy5cbiAgICAgKiBZb3UgbXVzdCBjYWxsIHRoaXMgbWV0aG9kIGZpcnN0IGJlZm9yZSB5b3UgdXNlIHRoZSBsYXllciBmZWF0dXJlLlxuICAgICAqXG4gICAgICogVGhpcyBpcyBhbiBlcXVpdmFsZW50IG9mIFtWUk1GaXJzdFBlcnNvbi5TZXR1cF0oaHR0cHM6Ly9naXRodWIuY29tL3ZybS1jL1VuaVZSTS9ibG9iLzczYTViZDhmY2RkYWEyYTdhODczNTA5OWE5N2U2M2M5ZGIzZTVlYTAvQXNzZXRzL1ZSTS9SdW50aW1lL0ZpcnN0UGVyc29uL1ZSTUZpcnN0UGVyc29uLmNzI0wyOTUtTDI5OSkgb2YgdGhlIFVuaVZSTS5cbiAgICAgKlxuICAgICAqIFRoZSBgY2FtZXJhTGF5ZXJgIHBhcmFtZXRlciBzcGVjaWZpZXMgd2hpY2ggbGF5ZXIgd2lsbCBiZSBhc3NpZ25lZCBmb3IgYEZpcnN0UGVyc29uT25seWAgLyBgVGhpcmRQZXJzb25Pbmx5YC5cbiAgICAgKiBJbiBVbmlWUk0sIHdlIHNwZWNpZmllZCB0aG9zZSBieSBuYW1pbmcgZWFjaCBkZXNpcmVkIGxheWVyIGFzIGBGSVJTVFBFUlNPTl9PTkxZX0xBWUVSYCAvIGBUSElSRFBFUlNPTl9PTkxZX0xBWUVSYFxuICAgICAqIGJ1dCB3ZSBhcmUgZ29pbmcgdG8gc3BlY2lmeSB0aGVzZSBsYXllcnMgYXQgaGVyZSBzaW5jZSB3ZSBhcmUgdW5hYmxlIHRvIG5hbWUgbGF5ZXJzIGluIFRocmVlLmpzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhbWVyYUxheWVyIFNwZWNpZnkgd2hpY2ggbGF5ZXIgd2lsbCBiZSBmb3IgYEZpcnN0UGVyc29uT25seWAgLyBgVGhpcmRQZXJzb25Pbmx5YC5cbiAgICAgKi9cbiAgICBzZXR1cCh7IGZpcnN0UGVyc29uT25seUxheWVyID0gVlJNRmlyc3RQZXJzb24uREVGQVVMVF9GSVJTVFBFUlNPTl9PTkxZX0xBWUVSLCB0aGlyZFBlcnNvbk9ubHlMYXllciA9IFZSTUZpcnN0UGVyc29uLkRFRkFVTFRfVEhJUkRQRVJTT05fT05MWV9MQVlFUiwgfSA9IHt9KSB7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZExheWVycykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2ZpcnN0UGVyc29uT25seUxheWVyID0gZmlyc3RQZXJzb25Pbmx5TGF5ZXI7XG4gICAgICAgIHRoaXMuX3RoaXJkUGVyc29uT25seUxheWVyID0gdGhpcmRQZXJzb25Pbmx5TGF5ZXI7XG4gICAgICAgIHRoaXMubWVzaEFubm90YXRpb25zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0ubWVzaGVzLmZvckVhY2goKG1lc2gpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS50eXBlID09PSAnZmlyc3RQZXJzb25Pbmx5Jykge1xuICAgICAgICAgICAgICAgICAgICBtZXNoLmxheWVycy5zZXQodGhpcy5fZmlyc3RQZXJzb25Pbmx5TGF5ZXIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNoLnRyYXZlcnNlKChjaGlsZCkgPT4gY2hpbGQubGF5ZXJzLnNldCh0aGlzLl9maXJzdFBlcnNvbk9ubHlMYXllcikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICd0aGlyZFBlcnNvbk9ubHknKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lc2gubGF5ZXJzLnNldCh0aGlzLl90aGlyZFBlcnNvbk9ubHlMYXllcik7XG4gICAgICAgICAgICAgICAgICAgIG1lc2gudHJhdmVyc2UoKGNoaWxkKSA9PiBjaGlsZC5sYXllcnMuc2V0KHRoaXMuX3RoaXJkUGVyc29uT25seUxheWVyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0udHlwZSA9PT0gJ2F1dG8nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZUhlYWRsZXNzTW9kZWwobWVzaCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZExheWVycyA9IHRydWU7XG4gICAgfVxuICAgIF9leGNsdWRlVHJpYW5nbGVzKHRyaWFuZ2xlcywgYndzLCBza2luSW5kZXgsIGV4Y2x1ZGUpIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgaWYgKGJ3cyAhPSBudWxsICYmIGJ3cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRyaWFuZ2xlcy5sZW5ndGg7IGkgKz0gMykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0cmlhbmdsZXNbaV07XG4gICAgICAgICAgICAgICAgY29uc3QgYiA9IHRyaWFuZ2xlc1tpICsgMV07XG4gICAgICAgICAgICAgICAgY29uc3QgYyA9IHRyaWFuZ2xlc1tpICsgMl07XG4gICAgICAgICAgICAgICAgY29uc3QgYncwID0gYndzW2FdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNraW4wID0gc2tpbkluZGV4W2FdO1xuICAgICAgICAgICAgICAgIGlmIChidzBbMF0gPiAwICYmIGV4Y2x1ZGUuaW5jbHVkZXMoc2tpbjBbMF0pKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBpZiAoYncwWzFdID4gMCAmJiBleGNsdWRlLmluY2x1ZGVzKHNraW4wWzFdKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKGJ3MFsyXSA+IDAgJiYgZXhjbHVkZS5pbmNsdWRlcyhza2luMFsyXSkpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIGlmIChidzBbM10gPiAwICYmIGV4Y2x1ZGUuaW5jbHVkZXMoc2tpbjBbM10pKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBidzEgPSBid3NbYl07XG4gICAgICAgICAgICAgICAgY29uc3Qgc2tpbjEgPSBza2luSW5kZXhbYl07XG4gICAgICAgICAgICAgICAgaWYgKGJ3MVswXSA+IDAgJiYgZXhjbHVkZS5pbmNsdWRlcyhza2luMVswXSkpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIGlmIChidzFbMV0gPiAwICYmIGV4Y2x1ZGUuaW5jbHVkZXMoc2tpbjFbMV0pKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBpZiAoYncxWzJdID4gMCAmJiBleGNsdWRlLmluY2x1ZGVzKHNraW4xWzJdKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKGJ3MVszXSA+IDAgJiYgZXhjbHVkZS5pbmNsdWRlcyhza2luMVszXSkpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJ3MiA9IGJ3c1tjXTtcbiAgICAgICAgICAgICAgICBjb25zdCBza2luMiA9IHNraW5JbmRleFtjXTtcbiAgICAgICAgICAgICAgICBpZiAoYncyWzBdID4gMCAmJiBleGNsdWRlLmluY2x1ZGVzKHNraW4yWzBdKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKGJ3MlsxXSA+IDAgJiYgZXhjbHVkZS5pbmNsdWRlcyhza2luMlsxXSkpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIGlmIChidzJbMl0gPiAwICYmIGV4Y2x1ZGUuaW5jbHVkZXMoc2tpbjJbMl0pKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBpZiAoYncyWzNdID4gMCAmJiBleGNsdWRlLmluY2x1ZGVzKHNraW4yWzNdKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgdHJpYW5nbGVzW2NvdW50KytdID0gYTtcbiAgICAgICAgICAgICAgICB0cmlhbmdsZXNbY291bnQrK10gPSBiO1xuICAgICAgICAgICAgICAgIHRyaWFuZ2xlc1tjb3VudCsrXSA9IGM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH1cbiAgICBfY3JlYXRlRXJhc2VkTWVzaChzcmMsIGVyYXNpbmdCb25lc0luZGV4KSB7XG4gICAgICAgIGNvbnN0IGRzdCA9IG5ldyBUSFJFRS5Ta2lubmVkTWVzaChzcmMuZ2VvbWV0cnkuY2xvbmUoKSwgc3JjLm1hdGVyaWFsKTtcbiAgICAgICAgZHN0Lm5hbWUgPSBgJHtzcmMubmFtZX0oZXJhc2UpYDtcbiAgICAgICAgZHN0LmZydXN0dW1DdWxsZWQgPSBzcmMuZnJ1c3R1bUN1bGxlZDtcbiAgICAgICAgZHN0LmxheWVycy5zZXQodGhpcy5fZmlyc3RQZXJzb25Pbmx5TGF5ZXIpO1xuICAgICAgICBjb25zdCBnZW9tZXRyeSA9IGRzdC5nZW9tZXRyeTtcbiAgICAgICAgY29uc3Qgc2tpbkluZGV4QXR0ciA9IGdlb21ldHJ5LmdldEF0dHJpYnV0ZSgnc2tpbkluZGV4Jyk7XG4gICAgICAgIGNvbnN0IHNraW5JbmRleEF0dHJBcnJheSA9IHNraW5JbmRleEF0dHIgaW5zdGFuY2VvZiBUSFJFRS5HTEJ1ZmZlckF0dHJpYnV0ZSA/IFtdIDogc2tpbkluZGV4QXR0ci5hcnJheTtcbiAgICAgICAgY29uc3Qgc2tpbkluZGV4ID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2tpbkluZGV4QXR0ckFycmF5Lmxlbmd0aDsgaSArPSA0KSB7XG4gICAgICAgICAgICBza2luSW5kZXgucHVzaChbXG4gICAgICAgICAgICAgICAgc2tpbkluZGV4QXR0ckFycmF5W2ldLFxuICAgICAgICAgICAgICAgIHNraW5JbmRleEF0dHJBcnJheVtpICsgMV0sXG4gICAgICAgICAgICAgICAgc2tpbkluZGV4QXR0ckFycmF5W2kgKyAyXSxcbiAgICAgICAgICAgICAgICBza2luSW5kZXhBdHRyQXJyYXlbaSArIDNdLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2tpbldlaWdodEF0dHIgPSBnZW9tZXRyeS5nZXRBdHRyaWJ1dGUoJ3NraW5XZWlnaHQnKTtcbiAgICAgICAgY29uc3Qgc2tpbldlaWdodEF0dHJBcnJheSA9IHNraW5XZWlnaHRBdHRyIGluc3RhbmNlb2YgVEhSRUUuR0xCdWZmZXJBdHRyaWJ1dGUgPyBbXSA6IHNraW5XZWlnaHRBdHRyLmFycmF5O1xuICAgICAgICBjb25zdCBza2luV2VpZ2h0ID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2tpbldlaWdodEF0dHJBcnJheS5sZW5ndGg7IGkgKz0gNCkge1xuICAgICAgICAgICAgc2tpbldlaWdodC5wdXNoKFtcbiAgICAgICAgICAgICAgICBza2luV2VpZ2h0QXR0ckFycmF5W2ldLFxuICAgICAgICAgICAgICAgIHNraW5XZWlnaHRBdHRyQXJyYXlbaSArIDFdLFxuICAgICAgICAgICAgICAgIHNraW5XZWlnaHRBdHRyQXJyYXlbaSArIDJdLFxuICAgICAgICAgICAgICAgIHNraW5XZWlnaHRBdHRyQXJyYXlbaSArIDNdLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBnZW9tZXRyeS5nZXRJbmRleCgpO1xuICAgICAgICBpZiAoIWluZGV4KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgZ2VvbWV0cnkgZG9lc24ndCBoYXZlIGFuIGluZGV4IGJ1ZmZlclwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvbGRUcmlhbmdsZXMgPSBBcnJheS5mcm9tKGluZGV4LmFycmF5KTtcbiAgICAgICAgY29uc3QgY291bnQgPSB0aGlzLl9leGNsdWRlVHJpYW5nbGVzKG9sZFRyaWFuZ2xlcywgc2tpbldlaWdodCwgc2tpbkluZGV4LCBlcmFzaW5nQm9uZXNJbmRleCk7XG4gICAgICAgIGNvbnN0IG5ld1RyaWFuZ2xlID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgICAgICAgICAgbmV3VHJpYW5nbGVbaV0gPSBvbGRUcmlhbmdsZXNbaV07XG4gICAgICAgIH1cbiAgICAgICAgZ2VvbWV0cnkuc2V0SW5kZXgobmV3VHJpYW5nbGUpO1xuICAgICAgICAvLyBtdG9vbiBtYXRlcmlhbCBpbmNsdWRlcyBvbkJlZm9yZVJlbmRlci4gdGhpcyBpcyB1bnN1cHBvcnRlZCBhdCBTa2lubmVkTWVzaCNjbG9uZVxuICAgICAgICBpZiAoc3JjLm9uQmVmb3JlUmVuZGVyKSB7XG4gICAgICAgICAgICBkc3Qub25CZWZvcmVSZW5kZXIgPSBzcmMub25CZWZvcmVSZW5kZXI7XG4gICAgICAgIH1cbiAgICAgICAgZHN0LmJpbmQobmV3IFRIUkVFLlNrZWxldG9uKHNyYy5za2VsZXRvbi5ib25lcywgc3JjLnNrZWxldG9uLmJvbmVJbnZlcnNlcyksIG5ldyBUSFJFRS5NYXRyaXg0KCkpO1xuICAgICAgICByZXR1cm4gZHN0O1xuICAgIH1cbiAgICBfY3JlYXRlSGVhZGxlc3NNb2RlbEZvclNraW5uZWRNZXNoKHBhcmVudCwgbWVzaCkge1xuICAgICAgICBjb25zdCBlcmFzZUJvbmVJbmRleGVzID0gW107XG4gICAgICAgIG1lc2guc2tlbGV0b24uYm9uZXMuZm9yRWFjaCgoYm9uZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9pc0VyYXNlVGFyZ2V0KGJvbmUpKVxuICAgICAgICAgICAgICAgIGVyYXNlQm9uZUluZGV4ZXMucHVzaChpbmRleCk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBVbmxpa2UgVW5pVlJNIHdlIGRvbid0IGNvcHkgbWVzaCBpZiBubyBpbnZpc2libGUgYm9uZSB3YXMgZm91bmRcbiAgICAgICAgaWYgKCFlcmFzZUJvbmVJbmRleGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWVzaC5sYXllcnMuZW5hYmxlKHRoaXMuX3RoaXJkUGVyc29uT25seUxheWVyKTtcbiAgICAgICAgICAgIG1lc2gubGF5ZXJzLmVuYWJsZSh0aGlzLl9maXJzdFBlcnNvbk9ubHlMYXllcik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbWVzaC5sYXllcnMuc2V0KHRoaXMuX3RoaXJkUGVyc29uT25seUxheWVyKTtcbiAgICAgICAgY29uc3QgbmV3TWVzaCA9IHRoaXMuX2NyZWF0ZUVyYXNlZE1lc2gobWVzaCwgZXJhc2VCb25lSW5kZXhlcyk7XG4gICAgICAgIHBhcmVudC5hZGQobmV3TWVzaCk7XG4gICAgfVxuICAgIF9jcmVhdGVIZWFkbGVzc01vZGVsKG5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGUudHlwZSA9PT0gJ0dyb3VwJykge1xuICAgICAgICAgICAgbm9kZS5sYXllcnMuc2V0KHRoaXMuX3RoaXJkUGVyc29uT25seUxheWVyKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9pc0VyYXNlVGFyZ2V0KG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgbm9kZS50cmF2ZXJzZSgoY2hpbGQpID0+IGNoaWxkLmxheWVycy5zZXQodGhpcy5fdGhpcmRQZXJzb25Pbmx5TGF5ZXIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IG5ldyBUSFJFRS5Hcm91cCgpO1xuICAgICAgICAgICAgICAgIHBhcmVudC5uYW1lID0gYF9oZWFkbGVzc18ke25vZGUubmFtZX1gO1xuICAgICAgICAgICAgICAgIHBhcmVudC5sYXllcnMuc2V0KHRoaXMuX2ZpcnN0UGVyc29uT25seUxheWVyKTtcbiAgICAgICAgICAgICAgICBub2RlLnBhcmVudC5hZGQocGFyZW50KTtcbiAgICAgICAgICAgICAgICBub2RlLmNoaWxkcmVuXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGNoaWxkKSA9PiBjaGlsZC50eXBlID09PSAnU2tpbm5lZE1lc2gnKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2tpbm5lZE1lc2ggPSBjaGlsZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3JlYXRlSGVhZGxlc3NNb2RlbEZvclNraW5uZWRNZXNoKHBhcmVudCwgc2tpbm5lZE1lc2gpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gJ1NraW5uZWRNZXNoJykge1xuICAgICAgICAgICAgY29uc3Qgc2tpbm5lZE1lc2ggPSBub2RlO1xuICAgICAgICAgICAgdGhpcy5fY3JlYXRlSGVhZGxlc3NNb2RlbEZvclNraW5uZWRNZXNoKG5vZGUucGFyZW50LCBza2lubmVkTWVzaCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5faXNFcmFzZVRhcmdldChub2RlKSkge1xuICAgICAgICAgICAgICAgIG5vZGUubGF5ZXJzLnNldCh0aGlzLl90aGlyZFBlcnNvbk9ubHlMYXllcik7XG4gICAgICAgICAgICAgICAgbm9kZS50cmF2ZXJzZSgoY2hpbGQpID0+IGNoaWxkLmxheWVycy5zZXQodGhpcy5fdGhpcmRQZXJzb25Pbmx5TGF5ZXIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBfaXNFcmFzZVRhcmdldChib25lKSB7XG4gICAgICAgIGlmIChib25lID09PSB0aGlzLmh1bWFub2lkLmdldFJhd0JvbmVOb2RlKCdoZWFkJykpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFib25lLnBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2lzRXJhc2VUYXJnZXQoYm9uZS5wYXJlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBBIGRlZmF1bHQgY2FtZXJhIGxheWVyIGZvciBgRmlyc3RQZXJzb25Pbmx5YCBsYXllci5cbiAqXG4gKiBAc2VlIFtbZ2V0Rmlyc3RQZXJzb25Pbmx5TGF5ZXJdXVxuICovXG5WUk1GaXJzdFBlcnNvbi5ERUZBVUxUX0ZJUlNUUEVSU09OX09OTFlfTEFZRVIgPSA5O1xuLyoqXG4gKiBBIGRlZmF1bHQgY2FtZXJhIGxheWVyIGZvciBgVGhpcmRQZXJzb25Pbmx5YCBsYXllci5cbiAqXG4gKiBAc2VlIFtbZ2V0VGhpcmRQZXJzb25Pbmx5TGF5ZXJdXVxuICovXG5WUk1GaXJzdFBlcnNvbi5ERUZBVUxUX1RISVJEUEVSU09OX09OTFlfTEFZRVIgPSAxMDtcblxuLyoqXG4gKiBQb3NzaWJsZSBzcGVjIHZlcnNpb25zIGl0IHJlY29nbml6ZXMuXG4gKi9cbmNvbnN0IFBPU1NJQkxFX1NQRUNfVkVSU0lPTlMkMyA9IG5ldyBTZXQoWycxLjAnLCAnMS4wLWJldGEnXSk7XG4vKipcbiAqIEEgcGx1Z2luIG9mIEdMVEZMb2FkZXIgdGhhdCBpbXBvcnRzIGEge0BsaW5rIFZSTUZpcnN0UGVyc29ufSBmcm9tIGEgVlJNIGV4dGVuc2lvbiBvZiBhIEdMVEYuXG4gKi9cbmNsYXNzIFZSTUZpcnN0UGVyc29uTG9hZGVyUGx1Z2luIHtcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIHVzZSB0aGUgZXh0ZW5zaW9uIG5hbWUgaW5zdGVhZCBidXQgd2UgaGF2ZSBtdWx0aXBsZSBwbHVnaW5zIGZvciBhbiBleHRlbnNpb24uLi5cbiAgICAgICAgcmV0dXJuICdWUk1GaXJzdFBlcnNvbkxvYWRlclBsdWdpbic7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlcikge1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB9XG4gICAgYWZ0ZXJSb290KGdsdGYpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHZybUh1bWFub2lkID0gZ2x0Zi51c2VyRGF0YS52cm1IdW1hbm9pZDtcbiAgICAgICAgICAgIC8vIGV4cGxpY2l0bHkgZGlzdGluZ3Vpc2ggbnVsbCBhbmQgdW5kZWZpbmVkXG4gICAgICAgICAgICAvLyBzaW5jZSB2cm1IdW1hbm9pZCBtaWdodCBiZSBudWxsIGFzIGEgcmVzdWx0XG4gICAgICAgICAgICBpZiAodnJtSHVtYW5vaWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh2cm1IdW1hbm9pZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdWUk1GaXJzdFBlcnNvbkxvYWRlclBsdWdpbjogdnJtSHVtYW5vaWQgaXMgdW5kZWZpbmVkLiBWUk1IdW1hbm9pZExvYWRlclBsdWdpbiBoYXZlIHRvIGJlIHVzZWQgZmlyc3QnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdsdGYudXNlckRhdGEudnJtRmlyc3RQZXJzb24gPSB5aWVsZCB0aGlzLl9pbXBvcnQoZ2x0ZiwgdnJtSHVtYW5vaWQpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wb3J0IGEge0BsaW5rIFZSTUZpcnN0UGVyc29ufSBmcm9tIGEgVlJNLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdsdGYgQSBwYXJzZWQgcmVzdWx0IG9mIEdMVEYgdGFrZW4gZnJvbSBHTFRGTG9hZGVyXG4gICAgICogQHBhcmFtIGh1bWFub2lkIEEge0BsaW5rIFZSTUh1bWFub2lkfSBpbnN0YW5jZSB0aGF0IHJlcHJlc2VudHMgdGhlIFZSTVxuICAgICAqL1xuICAgIF9pbXBvcnQoZ2x0ZiwgaHVtYW5vaWQpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmIChodW1hbm9pZCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB2MVJlc3VsdCA9IHlpZWxkIHRoaXMuX3YxSW1wb3J0KGdsdGYsIGh1bWFub2lkKTtcbiAgICAgICAgICAgIGlmICh2MVJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2MVJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHYwUmVzdWx0ID0geWllbGQgdGhpcy5fdjBJbXBvcnQoZ2x0ZiwgaHVtYW5vaWQpO1xuICAgICAgICAgICAgaWYgKHYwUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYwUmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfdjFJbXBvcnQoZ2x0ZiwgaHVtYW5vaWQpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgdnJtXG4gICAgICAgICAgICBjb25zdCBpc1ZSTVVzZWQgPSAoKF9hID0ganNvbi5leHRlbnNpb25zVXNlZCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmluZGV4T2YoJ1ZSTUNfdnJtJykpICE9PSAtMTtcbiAgICAgICAgICAgIGlmICghaXNWUk1Vc2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBleHRlbnNpb24gPSAoX2IgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYlsnVlJNQ192cm0nXTtcbiAgICAgICAgICAgIGlmICghZXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzcGVjVmVyc2lvbiA9IGV4dGVuc2lvbi5zcGVjVmVyc2lvbjtcbiAgICAgICAgICAgIGlmICghUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyQzLmhhcyhzcGVjVmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTUZpcnN0UGVyc29uTG9hZGVyUGx1Z2luOiBVbmtub3duIFZSTUNfdnJtIHNwZWNWZXJzaW9uIFwiJHtzcGVjVmVyc2lvbn1cImApO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hRmlyc3RQZXJzb24gPSBleHRlbnNpb24uZmlyc3RQZXJzb247XG4gICAgICAgICAgICBpZiAoIXNjaGVtYUZpcnN0UGVyc29uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtZXNoQW5ub3RhdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVQcmltaXRpdmVzTWFwID0geWllbGQgZ2x0ZkV4dHJhY3RQcmltaXRpdmVzRnJvbU5vZGVzKGdsdGYpO1xuICAgICAgICAgICAgQXJyYXkuZnJvbShub2RlUHJpbWl0aXZlc01hcC5lbnRyaWVzKCkpLmZvckVhY2goKFtub2RlSW5kZXgsIHByaW1pdGl2ZXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFubm90YXRpb24gPSBzY2hlbWFGaXJzdFBlcnNvbi5tZXNoQW5ub3RhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgPyBzY2hlbWFGaXJzdFBlcnNvbi5tZXNoQW5ub3RhdGlvbnMuZmluZCgoYSkgPT4gYS5ub2RlID09PSBub2RlSW5kZXgpXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIG1lc2hBbm5vdGF0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbWVzaGVzOiBwcmltaXRpdmVzLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAoX2EgPSBhbm5vdGF0aW9uID09PSBudWxsIHx8IGFubm90YXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFubm90YXRpb24udHlwZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ2JvdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFZSTUZpcnN0UGVyc29uKGh1bWFub2lkLCBtZXNoQW5ub3RhdGlvbnMpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YwSW1wb3J0KGdsdGYsIGh1bWFub2lkKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgY29uc3QgdnJtRXh0ID0gKF9hID0ganNvbi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuVlJNO1xuICAgICAgICAgICAgaWYgKCF2cm1FeHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYUZpcnN0UGVyc29uID0gdnJtRXh0LmZpcnN0UGVyc29uO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFGaXJzdFBlcnNvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbWVzaEFubm90YXRpb25zID0gW107XG4gICAgICAgICAgICBjb25zdCBub2RlUHJpbWl0aXZlc01hcCA9IHlpZWxkIGdsdGZFeHRyYWN0UHJpbWl0aXZlc0Zyb21Ob2RlcyhnbHRmKTtcbiAgICAgICAgICAgIEFycmF5LmZyb20obm9kZVByaW1pdGl2ZXNNYXAuZW50cmllcygpKS5mb3JFYWNoKChbbm9kZUluZGV4LCBwcmltaXRpdmVzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjaGVtYU5vZGUgPSBqc29uLm5vZGVzW25vZGVJbmRleF07XG4gICAgICAgICAgICAgICAgY29uc3QgZmxhZyA9IHNjaGVtYUZpcnN0UGVyc29uLm1lc2hBbm5vdGF0aW9uc1xuICAgICAgICAgICAgICAgICAgICA/IHNjaGVtYUZpcnN0UGVyc29uLm1lc2hBbm5vdGF0aW9ucy5maW5kKChhKSA9PiBhLm1lc2ggPT09IHNjaGVtYU5vZGUubWVzaClcbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgbWVzaEFubm90YXRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBtZXNoZXM6IHByaW1pdGl2ZXMsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHRoaXMuX2NvbnZlcnRWMEZsYWdUb1YxVHlwZShmbGFnID09PSBudWxsIHx8IGZsYWcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZsYWcuZmlyc3RQZXJzb25GbGFnKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBWUk1GaXJzdFBlcnNvbihodW1hbm9pZCwgbWVzaEFubm90YXRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9jb252ZXJ0VjBGbGFnVG9WMVR5cGUoZmxhZykge1xuICAgICAgICBpZiAoZmxhZyA9PT0gJ0ZpcnN0UGVyc29uT25seScpIHtcbiAgICAgICAgICAgIHJldHVybiAnZmlyc3RQZXJzb25Pbmx5JztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmbGFnID09PSAnVGhpcmRQZXJzb25Pbmx5Jykge1xuICAgICAgICAgICAgcmV0dXJuICd0aGlyZFBlcnNvbk9ubHknO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZsYWcgPT09ICdBdXRvJykge1xuICAgICAgICAgICAgcmV0dXJuICdhdXRvJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnYm90aCc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuY29uc3QgVlJNRmlyc3RQZXJzb25NZXNoQW5ub3RhdGlvblR5cGUgPSB7XG4gICAgQXV0bzogJ2F1dG8nLFxuICAgIEJvdGg6ICdib3RoJyxcbiAgICBUaGlyZFBlcnNvbk9ubHk6ICd0aGlyZFBlcnNvbk9ubHknLFxuICAgIEZpcnN0UGVyc29uT25seTogJ2ZpcnN0UGVyc29uT25seScsXG59O1xuXG5jb25zdCBfdjNBJDQgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3YzQiQyID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF9xdWF0QSQ1ID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNsYXNzIFZSTUh1bWFub2lkSGVscGVyIGV4dGVuZHMgVEhSRUUuR3JvdXAge1xuICAgIGNvbnN0cnVjdG9yKGh1bWFub2lkKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudnJtSHVtYW5vaWQgPSBodW1hbm9pZDtcbiAgICAgICAgdGhpcy5fYm9uZUF4ZXNNYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgIE9iamVjdC52YWx1ZXMoaHVtYW5vaWQuaHVtYW5Cb25lcykuZm9yRWFjaCgoYm9uZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaGVscGVyID0gbmV3IFRIUkVFLkF4ZXNIZWxwZXIoMS4wKTtcbiAgICAgICAgICAgIGhlbHBlci5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG4gICAgICAgICAgICBoZWxwZXIubWF0ZXJpYWwuZGVwdGhUZXN0ID0gZmFsc2U7XG4gICAgICAgICAgICBoZWxwZXIubWF0ZXJpYWwuZGVwdGhXcml0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5hZGQoaGVscGVyKTtcbiAgICAgICAgICAgIHRoaXMuX2JvbmVBeGVzTWFwLnNldChib25lLCBoZWxwZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZGlzcG9zZSgpIHtcbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLl9ib25lQXhlc01hcC52YWx1ZXMoKSkuZm9yRWFjaCgoYXhlcykgPT4ge1xuICAgICAgICAgICAgYXhlcy5nZW9tZXRyeS5kaXNwb3NlKCk7XG4gICAgICAgICAgICBheGVzLm1hdGVyaWFsLmRpc3Bvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHVwZGF0ZU1hdHJpeFdvcmxkKGZvcmNlKSB7XG4gICAgICAgIEFycmF5LmZyb20odGhpcy5fYm9uZUF4ZXNNYXAuZW50cmllcygpKS5mb3JFYWNoKChbYm9uZSwgYXhlc10pID0+IHtcbiAgICAgICAgICAgIGJvbmUubm9kZS51cGRhdGVXb3JsZE1hdHJpeCh0cnVlLCBmYWxzZSk7XG4gICAgICAgICAgICBib25lLm5vZGUubWF0cml4V29ybGQuZGVjb21wb3NlKF92M0EkNCwgX3F1YXRBJDUsIF92M0IkMik7XG4gICAgICAgICAgICBjb25zdCBzY2FsZSA9IF92M0EkNC5zZXQoMC4xLCAwLjEsIDAuMSkuZGl2aWRlKF92M0IkMik7XG4gICAgICAgICAgICBheGVzLm1hdHJpeC5jb3B5KGJvbmUubm9kZS5tYXRyaXhXb3JsZCkuc2NhbGUoc2NhbGUpO1xuICAgICAgICB9KTtcbiAgICAgICAgc3VwZXIudXBkYXRlTWF0cml4V29ybGQoZm9yY2UpO1xuICAgIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG4vKipcbiAqIFRoZSBsaXN0IG9mIHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfS4gRGVwZW5kZW5jeSBhd2FyZS5cbiAqL1xuY29uc3QgVlJNSHVtYW5Cb25lTGlzdCA9IFtcbiAgICAnaGlwcycsXG4gICAgJ3NwaW5lJyxcbiAgICAnY2hlc3QnLFxuICAgICd1cHBlckNoZXN0JyxcbiAgICAnbmVjaycsXG4gICAgJ2hlYWQnLFxuICAgICdsZWZ0RXllJyxcbiAgICAncmlnaHRFeWUnLFxuICAgICdqYXcnLFxuICAgICdsZWZ0VXBwZXJMZWcnLFxuICAgICdsZWZ0TG93ZXJMZWcnLFxuICAgICdsZWZ0Rm9vdCcsXG4gICAgJ2xlZnRUb2VzJyxcbiAgICAncmlnaHRVcHBlckxlZycsXG4gICAgJ3JpZ2h0TG93ZXJMZWcnLFxuICAgICdyaWdodEZvb3QnLFxuICAgICdyaWdodFRvZXMnLFxuICAgICdsZWZ0U2hvdWxkZXInLFxuICAgICdsZWZ0VXBwZXJBcm0nLFxuICAgICdsZWZ0TG93ZXJBcm0nLFxuICAgICdsZWZ0SGFuZCcsXG4gICAgJ3JpZ2h0U2hvdWxkZXInLFxuICAgICdyaWdodFVwcGVyQXJtJyxcbiAgICAncmlnaHRMb3dlckFybScsXG4gICAgJ3JpZ2h0SGFuZCcsXG4gICAgJ2xlZnRUaHVtYk1ldGFjYXJwYWwnLFxuICAgICdsZWZ0VGh1bWJQcm94aW1hbCcsXG4gICAgJ2xlZnRUaHVtYkRpc3RhbCcsXG4gICAgJ2xlZnRJbmRleFByb3hpbWFsJyxcbiAgICAnbGVmdEluZGV4SW50ZXJtZWRpYXRlJyxcbiAgICAnbGVmdEluZGV4RGlzdGFsJyxcbiAgICAnbGVmdE1pZGRsZVByb3hpbWFsJyxcbiAgICAnbGVmdE1pZGRsZUludGVybWVkaWF0ZScsXG4gICAgJ2xlZnRNaWRkbGVEaXN0YWwnLFxuICAgICdsZWZ0UmluZ1Byb3hpbWFsJyxcbiAgICAnbGVmdFJpbmdJbnRlcm1lZGlhdGUnLFxuICAgICdsZWZ0UmluZ0Rpc3RhbCcsXG4gICAgJ2xlZnRMaXR0bGVQcm94aW1hbCcsXG4gICAgJ2xlZnRMaXR0bGVJbnRlcm1lZGlhdGUnLFxuICAgICdsZWZ0TGl0dGxlRGlzdGFsJyxcbiAgICAncmlnaHRUaHVtYk1ldGFjYXJwYWwnLFxuICAgICdyaWdodFRodW1iUHJveGltYWwnLFxuICAgICdyaWdodFRodW1iRGlzdGFsJyxcbiAgICAncmlnaHRJbmRleFByb3hpbWFsJyxcbiAgICAncmlnaHRJbmRleEludGVybWVkaWF0ZScsXG4gICAgJ3JpZ2h0SW5kZXhEaXN0YWwnLFxuICAgICdyaWdodE1pZGRsZVByb3hpbWFsJyxcbiAgICAncmlnaHRNaWRkbGVJbnRlcm1lZGlhdGUnLFxuICAgICdyaWdodE1pZGRsZURpc3RhbCcsXG4gICAgJ3JpZ2h0UmluZ1Byb3hpbWFsJyxcbiAgICAncmlnaHRSaW5nSW50ZXJtZWRpYXRlJyxcbiAgICAncmlnaHRSaW5nRGlzdGFsJyxcbiAgICAncmlnaHRMaXR0bGVQcm94aW1hbCcsXG4gICAgJ3JpZ2h0TGl0dGxlSW50ZXJtZWRpYXRlJyxcbiAgICAncmlnaHRMaXR0bGVEaXN0YWwnLFxuXTtcblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG4vKipcbiAqIFRoZSBuYW1lcyBvZiB7QGxpbmsgVlJNSHVtYW5vaWR9IGJvbmUgbmFtZXMuXG4gKlxuICogUmVmOiBodHRwczovL2dpdGh1Yi5jb20vdnJtLWMvdnJtLXNwZWNpZmljYXRpb24vYmxvYi9tYXN0ZXIvc3BlY2lmaWNhdGlvbi9WUk1DX3ZybS0xLjAvaHVtYW5vaWQubWRcbiAqL1xuY29uc3QgVlJNSHVtYW5Cb25lTmFtZSA9IHtcbiAgICBIaXBzOiAnaGlwcycsXG4gICAgU3BpbmU6ICdzcGluZScsXG4gICAgQ2hlc3Q6ICdjaGVzdCcsXG4gICAgVXBwZXJDaGVzdDogJ3VwcGVyQ2hlc3QnLFxuICAgIE5lY2s6ICduZWNrJyxcbiAgICBIZWFkOiAnaGVhZCcsXG4gICAgTGVmdEV5ZTogJ2xlZnRFeWUnLFxuICAgIFJpZ2h0RXllOiAncmlnaHRFeWUnLFxuICAgIEphdzogJ2phdycsXG4gICAgTGVmdFVwcGVyTGVnOiAnbGVmdFVwcGVyTGVnJyxcbiAgICBMZWZ0TG93ZXJMZWc6ICdsZWZ0TG93ZXJMZWcnLFxuICAgIExlZnRGb290OiAnbGVmdEZvb3QnLFxuICAgIExlZnRUb2VzOiAnbGVmdFRvZXMnLFxuICAgIFJpZ2h0VXBwZXJMZWc6ICdyaWdodFVwcGVyTGVnJyxcbiAgICBSaWdodExvd2VyTGVnOiAncmlnaHRMb3dlckxlZycsXG4gICAgUmlnaHRGb290OiAncmlnaHRGb290JyxcbiAgICBSaWdodFRvZXM6ICdyaWdodFRvZXMnLFxuICAgIExlZnRTaG91bGRlcjogJ2xlZnRTaG91bGRlcicsXG4gICAgTGVmdFVwcGVyQXJtOiAnbGVmdFVwcGVyQXJtJyxcbiAgICBMZWZ0TG93ZXJBcm06ICdsZWZ0TG93ZXJBcm0nLFxuICAgIExlZnRIYW5kOiAnbGVmdEhhbmQnLFxuICAgIFJpZ2h0U2hvdWxkZXI6ICdyaWdodFNob3VsZGVyJyxcbiAgICBSaWdodFVwcGVyQXJtOiAncmlnaHRVcHBlckFybScsXG4gICAgUmlnaHRMb3dlckFybTogJ3JpZ2h0TG93ZXJBcm0nLFxuICAgIFJpZ2h0SGFuZDogJ3JpZ2h0SGFuZCcsXG4gICAgTGVmdFRodW1iTWV0YWNhcnBhbDogJ2xlZnRUaHVtYk1ldGFjYXJwYWwnLFxuICAgIExlZnRUaHVtYlByb3hpbWFsOiAnbGVmdFRodW1iUHJveGltYWwnLFxuICAgIExlZnRUaHVtYkRpc3RhbDogJ2xlZnRUaHVtYkRpc3RhbCcsXG4gICAgTGVmdEluZGV4UHJveGltYWw6ICdsZWZ0SW5kZXhQcm94aW1hbCcsXG4gICAgTGVmdEluZGV4SW50ZXJtZWRpYXRlOiAnbGVmdEluZGV4SW50ZXJtZWRpYXRlJyxcbiAgICBMZWZ0SW5kZXhEaXN0YWw6ICdsZWZ0SW5kZXhEaXN0YWwnLFxuICAgIExlZnRNaWRkbGVQcm94aW1hbDogJ2xlZnRNaWRkbGVQcm94aW1hbCcsXG4gICAgTGVmdE1pZGRsZUludGVybWVkaWF0ZTogJ2xlZnRNaWRkbGVJbnRlcm1lZGlhdGUnLFxuICAgIExlZnRNaWRkbGVEaXN0YWw6ICdsZWZ0TWlkZGxlRGlzdGFsJyxcbiAgICBMZWZ0UmluZ1Byb3hpbWFsOiAnbGVmdFJpbmdQcm94aW1hbCcsXG4gICAgTGVmdFJpbmdJbnRlcm1lZGlhdGU6ICdsZWZ0UmluZ0ludGVybWVkaWF0ZScsXG4gICAgTGVmdFJpbmdEaXN0YWw6ICdsZWZ0UmluZ0Rpc3RhbCcsXG4gICAgTGVmdExpdHRsZVByb3hpbWFsOiAnbGVmdExpdHRsZVByb3hpbWFsJyxcbiAgICBMZWZ0TGl0dGxlSW50ZXJtZWRpYXRlOiAnbGVmdExpdHRsZUludGVybWVkaWF0ZScsXG4gICAgTGVmdExpdHRsZURpc3RhbDogJ2xlZnRMaXR0bGVEaXN0YWwnLFxuICAgIFJpZ2h0VGh1bWJNZXRhY2FycGFsOiAncmlnaHRUaHVtYk1ldGFjYXJwYWwnLFxuICAgIFJpZ2h0VGh1bWJQcm94aW1hbDogJ3JpZ2h0VGh1bWJQcm94aW1hbCcsXG4gICAgUmlnaHRUaHVtYkRpc3RhbDogJ3JpZ2h0VGh1bWJEaXN0YWwnLFxuICAgIFJpZ2h0SW5kZXhQcm94aW1hbDogJ3JpZ2h0SW5kZXhQcm94aW1hbCcsXG4gICAgUmlnaHRJbmRleEludGVybWVkaWF0ZTogJ3JpZ2h0SW5kZXhJbnRlcm1lZGlhdGUnLFxuICAgIFJpZ2h0SW5kZXhEaXN0YWw6ICdyaWdodEluZGV4RGlzdGFsJyxcbiAgICBSaWdodE1pZGRsZVByb3hpbWFsOiAncmlnaHRNaWRkbGVQcm94aW1hbCcsXG4gICAgUmlnaHRNaWRkbGVJbnRlcm1lZGlhdGU6ICdyaWdodE1pZGRsZUludGVybWVkaWF0ZScsXG4gICAgUmlnaHRNaWRkbGVEaXN0YWw6ICdyaWdodE1pZGRsZURpc3RhbCcsXG4gICAgUmlnaHRSaW5nUHJveGltYWw6ICdyaWdodFJpbmdQcm94aW1hbCcsXG4gICAgUmlnaHRSaW5nSW50ZXJtZWRpYXRlOiAncmlnaHRSaW5nSW50ZXJtZWRpYXRlJyxcbiAgICBSaWdodFJpbmdEaXN0YWw6ICdyaWdodFJpbmdEaXN0YWwnLFxuICAgIFJpZ2h0TGl0dGxlUHJveGltYWw6ICdyaWdodExpdHRsZVByb3hpbWFsJyxcbiAgICBSaWdodExpdHRsZUludGVybWVkaWF0ZTogJ3JpZ2h0TGl0dGxlSW50ZXJtZWRpYXRlJyxcbiAgICBSaWdodExpdHRsZURpc3RhbDogJ3JpZ2h0TGl0dGxlRGlzdGFsJyxcbn07XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyoqXG4gKiBBbiBvYmplY3QgdGhhdCBtYXBzIGZyb20ge0BsaW5rIFZSTUh1bWFuQm9uZU5hbWV9IHRvIGl0cyBwYXJlbnQge0BsaW5rIFZSTUh1bWFuQm9uZU5hbWV9LlxuICpcbiAqIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL3ZybS1jL3ZybS1zcGVjaWZpY2F0aW9uL2Jsb2IvbWFzdGVyL3NwZWNpZmljYXRpb24vVlJNQ192cm0tMS4wL2h1bWFub2lkLm1kXG4gKi9cbmNvbnN0IFZSTUh1bWFuQm9uZVBhcmVudE1hcCA9IHtcbiAgICBoaXBzOiBudWxsLFxuICAgIHNwaW5lOiAnaGlwcycsXG4gICAgY2hlc3Q6ICdzcGluZScsXG4gICAgdXBwZXJDaGVzdDogJ2NoZXN0JyxcbiAgICBuZWNrOiAndXBwZXJDaGVzdCcsXG4gICAgaGVhZDogJ25lY2snLFxuICAgIGxlZnRFeWU6ICdoZWFkJyxcbiAgICByaWdodEV5ZTogJ2hlYWQnLFxuICAgIGphdzogJ2hlYWQnLFxuICAgIGxlZnRVcHBlckxlZzogJ2hpcHMnLFxuICAgIGxlZnRMb3dlckxlZzogJ2xlZnRVcHBlckxlZycsXG4gICAgbGVmdEZvb3Q6ICdsZWZ0TG93ZXJMZWcnLFxuICAgIGxlZnRUb2VzOiAnbGVmdEZvb3QnLFxuICAgIHJpZ2h0VXBwZXJMZWc6ICdoaXBzJyxcbiAgICByaWdodExvd2VyTGVnOiAncmlnaHRVcHBlckxlZycsXG4gICAgcmlnaHRGb290OiAncmlnaHRMb3dlckxlZycsXG4gICAgcmlnaHRUb2VzOiAncmlnaHRGb290JyxcbiAgICBsZWZ0U2hvdWxkZXI6ICd1cHBlckNoZXN0JyxcbiAgICBsZWZ0VXBwZXJBcm06ICdsZWZ0U2hvdWxkZXInLFxuICAgIGxlZnRMb3dlckFybTogJ2xlZnRVcHBlckFybScsXG4gICAgbGVmdEhhbmQ6ICdsZWZ0TG93ZXJBcm0nLFxuICAgIHJpZ2h0U2hvdWxkZXI6ICd1cHBlckNoZXN0JyxcbiAgICByaWdodFVwcGVyQXJtOiAncmlnaHRTaG91bGRlcicsXG4gICAgcmlnaHRMb3dlckFybTogJ3JpZ2h0VXBwZXJBcm0nLFxuICAgIHJpZ2h0SGFuZDogJ3JpZ2h0TG93ZXJBcm0nLFxuICAgIGxlZnRUaHVtYk1ldGFjYXJwYWw6ICdsZWZ0SGFuZCcsXG4gICAgbGVmdFRodW1iUHJveGltYWw6ICdsZWZ0VGh1bWJNZXRhY2FycGFsJyxcbiAgICBsZWZ0VGh1bWJEaXN0YWw6ICdsZWZ0VGh1bWJQcm94aW1hbCcsXG4gICAgbGVmdEluZGV4UHJveGltYWw6ICdsZWZ0SGFuZCcsXG4gICAgbGVmdEluZGV4SW50ZXJtZWRpYXRlOiAnbGVmdEluZGV4UHJveGltYWwnLFxuICAgIGxlZnRJbmRleERpc3RhbDogJ2xlZnRJbmRleEludGVybWVkaWF0ZScsXG4gICAgbGVmdE1pZGRsZVByb3hpbWFsOiAnbGVmdEhhbmQnLFxuICAgIGxlZnRNaWRkbGVJbnRlcm1lZGlhdGU6ICdsZWZ0TWlkZGxlUHJveGltYWwnLFxuICAgIGxlZnRNaWRkbGVEaXN0YWw6ICdsZWZ0TWlkZGxlSW50ZXJtZWRpYXRlJyxcbiAgICBsZWZ0UmluZ1Byb3hpbWFsOiAnbGVmdEhhbmQnLFxuICAgIGxlZnRSaW5nSW50ZXJtZWRpYXRlOiAnbGVmdFJpbmdQcm94aW1hbCcsXG4gICAgbGVmdFJpbmdEaXN0YWw6ICdsZWZ0UmluZ0ludGVybWVkaWF0ZScsXG4gICAgbGVmdExpdHRsZVByb3hpbWFsOiAnbGVmdEhhbmQnLFxuICAgIGxlZnRMaXR0bGVJbnRlcm1lZGlhdGU6ICdsZWZ0TGl0dGxlUHJveGltYWwnLFxuICAgIGxlZnRMaXR0bGVEaXN0YWw6ICdsZWZ0TGl0dGxlSW50ZXJtZWRpYXRlJyxcbiAgICByaWdodFRodW1iTWV0YWNhcnBhbDogJ3JpZ2h0SGFuZCcsXG4gICAgcmlnaHRUaHVtYlByb3hpbWFsOiAncmlnaHRUaHVtYk1ldGFjYXJwYWwnLFxuICAgIHJpZ2h0VGh1bWJEaXN0YWw6ICdyaWdodFRodW1iUHJveGltYWwnLFxuICAgIHJpZ2h0SW5kZXhQcm94aW1hbDogJ3JpZ2h0SGFuZCcsXG4gICAgcmlnaHRJbmRleEludGVybWVkaWF0ZTogJ3JpZ2h0SW5kZXhQcm94aW1hbCcsXG4gICAgcmlnaHRJbmRleERpc3RhbDogJ3JpZ2h0SW5kZXhJbnRlcm1lZGlhdGUnLFxuICAgIHJpZ2h0TWlkZGxlUHJveGltYWw6ICdyaWdodEhhbmQnLFxuICAgIHJpZ2h0TWlkZGxlSW50ZXJtZWRpYXRlOiAncmlnaHRNaWRkbGVQcm94aW1hbCcsXG4gICAgcmlnaHRNaWRkbGVEaXN0YWw6ICdyaWdodE1pZGRsZUludGVybWVkaWF0ZScsXG4gICAgcmlnaHRSaW5nUHJveGltYWw6ICdyaWdodEhhbmQnLFxuICAgIHJpZ2h0UmluZ0ludGVybWVkaWF0ZTogJ3JpZ2h0UmluZ1Byb3hpbWFsJyxcbiAgICByaWdodFJpbmdEaXN0YWw6ICdyaWdodFJpbmdJbnRlcm1lZGlhdGUnLFxuICAgIHJpZ2h0TGl0dGxlUHJveGltYWw6ICdyaWdodEhhbmQnLFxuICAgIHJpZ2h0TGl0dGxlSW50ZXJtZWRpYXRlOiAncmlnaHRMaXR0bGVQcm94aW1hbCcsXG4gICAgcmlnaHRMaXR0bGVEaXN0YWw6ICdyaWdodExpdHRsZUludGVybWVkaWF0ZScsXG59O1xuXG4vKipcbiAqIEEgY29tcGF0IGZ1bmN0aW9uIGZvciBgUXVhdGVybmlvbi5pbnZlcnQoKWAgLyBgUXVhdGVybmlvbi5pbnZlcnNlKClgLlxuICogYFF1YXRlcm5pb24uaW52ZXJ0KClgIGlzIGludHJvZHVjZWQgaW4gcjEyMyBhbmQgYFF1YXRlcm5pb24uaW52ZXJzZSgpYCBlbWl0cyBhIHdhcm5pbmcuXG4gKiBXZSBhcmUgZ29pbmcgdG8gdXNlIHRoaXMgY29tcGF0IGZvciBhIHdoaWxlLlxuICogQHBhcmFtIHRhcmdldCBBIHRhcmdldCBxdWF0ZXJuaW9uXG4gKi9cbmZ1bmN0aW9uIHF1YXRJbnZlcnRDb21wYXQodGFyZ2V0KSB7XG4gICAgaWYgKHRhcmdldC5pbnZlcnQpIHtcbiAgICAgICAgdGFyZ2V0LmludmVydCgpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGFyZ2V0LmludmVyc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbn1cblxuY29uc3QgX3YzQSQzID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF9xdWF0QSQ0ID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbi8qKlxuICogQSBjbGFzcyByZXByZXNlbnRzIHRoZSBSaWcgb2YgYSBWUk0uXG4gKi9cbmNsYXNzIFZSTVJpZyB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IHtAbGluayBWUk1IdW1hbm9pZH0uXG4gICAgICogQHBhcmFtIGh1bWFuQm9uZXMgQSB7QGxpbmsgVlJNSHVtYW5Cb25lc30gY29udGFpbnMgYWxsIHRoZSBib25lcyBvZiB0aGUgbmV3IGh1bWFub2lkXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoaHVtYW5Cb25lcykge1xuICAgICAgICB0aGlzLmh1bWFuQm9uZXMgPSBodW1hbkJvbmVzO1xuICAgICAgICB0aGlzLnJlc3RQb3NlID0gdGhpcy5nZXRBYnNvbHV0ZVBvc2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBjdXJyZW50IGFic29sdXRlIHBvc2Ugb2YgdGhpcyBodW1hbm9pZCBhcyBhIHtAbGluayBWUk1Qb3NlfS5cbiAgICAgKiBOb3RlIHRoYXQgdGhlIG91dHB1dCByZXN1bHQgd2lsbCBjb250YWluIGluaXRpYWwgc3RhdGUgb2YgdGhlIFZSTSBhbmQgbm90IGNvbXBhdGlibGUgYmV0d2VlbiBkaWZmZXJlbnQgbW9kZWxzLlxuICAgICAqIFlvdSBtaWdodCB3YW50IHRvIHVzZSB7QGxpbmsgZ2V0UG9zZX0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBnZXRBYnNvbHV0ZVBvc2UoKSB7XG4gICAgICAgIGNvbnN0IHBvc2UgPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5odW1hbkJvbmVzKS5mb3JFYWNoKCh2cm1Cb25lTmFtZVN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdnJtQm9uZU5hbWUgPSB2cm1Cb25lTmFtZVN0cmluZztcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldEJvbmVOb2RlKHZybUJvbmVOYW1lKTtcbiAgICAgICAgICAgIC8vIElnbm9yZSB3aGVuIHRoZXJlIGFyZSBubyBib25lIG9uIHRoZSBWUk1IdW1hbm9pZFxuICAgICAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gR2V0IHRoZSBwb3NpdGlvbiAvIHJvdGF0aW9uIGZyb20gdGhlIG5vZGVcbiAgICAgICAgICAgIF92M0EkMy5jb3B5KG5vZGUucG9zaXRpb24pO1xuICAgICAgICAgICAgX3F1YXRBJDQuY29weShub2RlLnF1YXRlcm5pb24pO1xuICAgICAgICAgICAgLy8gQ29udmVydCB0byByYXcgYXJyYXlzXG4gICAgICAgICAgICBwb3NlW3ZybUJvbmVOYW1lXSA9IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogX3YzQSQzLnRvQXJyYXkoKSxcbiAgICAgICAgICAgICAgICByb3RhdGlvbjogX3F1YXRBJDQudG9BcnJheSgpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwb3NlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGN1cnJlbnQgcG9zZSBvZiB0aGlzIGh1bWFub2lkIGFzIGEge0BsaW5rIFZSTVBvc2V9LlxuICAgICAqXG4gICAgICogRWFjaCB0cmFuc2Zvcm0gaXMgYSBsb2NhbCB0cmFuc2Zvcm0gcmVsYXRpdmUgZnJvbSByZXN0IHBvc2UgKFQtcG9zZSkuXG4gICAgICovXG4gICAgZ2V0UG9zZSgpIHtcbiAgICAgICAgY29uc3QgcG9zZSA9IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmh1bWFuQm9uZXMpLmZvckVhY2goKGJvbmVOYW1lU3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBib25lTmFtZSA9IGJvbmVOYW1lU3RyaW5nO1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Qm9uZU5vZGUoYm9uZU5hbWUpO1xuICAgICAgICAgICAgLy8gSWdub3JlIHdoZW4gdGhlcmUgYXJlIG5vIGJvbmUgb24gdGhlIFZSTUh1bWFub2lkXG4gICAgICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUYWtlIGEgZGlmZiBmcm9tIHJlc3RQb3NlXG4gICAgICAgICAgICBfdjNBJDMuc2V0KDAsIDAsIDApO1xuICAgICAgICAgICAgX3F1YXRBJDQuaWRlbnRpdHkoKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3RTdGF0ZSA9IHRoaXMucmVzdFBvc2VbYm9uZU5hbWVdO1xuICAgICAgICAgICAgaWYgKHJlc3RTdGF0ZSA9PT0gbnVsbCB8fCByZXN0U3RhdGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc3RTdGF0ZS5wb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIF92M0EkMy5mcm9tQXJyYXkocmVzdFN0YXRlLnBvc2l0aW9uKS5uZWdhdGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXN0U3RhdGUgPT09IG51bGwgfHwgcmVzdFN0YXRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXN0U3RhdGUucm90YXRpb24pIHtcbiAgICAgICAgICAgICAgICBxdWF0SW52ZXJ0Q29tcGF0KF9xdWF0QSQ0LmZyb21BcnJheShyZXN0U3RhdGUucm90YXRpb24pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEdldCB0aGUgcG9zaXRpb24gLyByb3RhdGlvbiBmcm9tIHRoZSBub2RlXG4gICAgICAgICAgICBfdjNBJDMuYWRkKG5vZGUucG9zaXRpb24pO1xuICAgICAgICAgICAgX3F1YXRBJDQucHJlbXVsdGlwbHkobm9kZS5xdWF0ZXJuaW9uKTtcbiAgICAgICAgICAgIC8vIENvbnZlcnQgdG8gcmF3IGFycmF5c1xuICAgICAgICAgICAgcG9zZVtib25lTmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IF92M0EkMy50b0FycmF5KCksXG4gICAgICAgICAgICAgICAgcm90YXRpb246IF9xdWF0QSQ0LnRvQXJyYXkoKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcG9zZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTGV0IHRoZSBodW1hbm9pZCBkbyBhIHNwZWNpZmllZCBwb3NlLlxuICAgICAqXG4gICAgICogRWFjaCB0cmFuc2Zvcm0gaGF2ZSB0byBiZSBhIGxvY2FsIHRyYW5zZm9ybSByZWxhdGl2ZSBmcm9tIHJlc3QgcG9zZSAoVC1wb3NlKS5cbiAgICAgKiBZb3UgY2FuIHBhc3Mgd2hhdCB5b3UgZ290IGZyb20ge0BsaW5rIGdldFBvc2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBvc2VPYmplY3QgQSBbW1ZSTVBvc2VdXSB0aGF0IHJlcHJlc2VudHMgYSBzaW5nbGUgcG9zZVxuICAgICAqL1xuICAgIHNldFBvc2UocG9zZU9iamVjdCkge1xuICAgICAgICBPYmplY3QuZW50cmllcyhwb3NlT2JqZWN0KS5mb3JFYWNoKChbYm9uZU5hbWVTdHJpbmcsIHN0YXRlXSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYm9uZU5hbWUgPSBib25lTmFtZVN0cmluZztcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldEJvbmVOb2RlKGJvbmVOYW1lKTtcbiAgICAgICAgICAgIC8vIElnbm9yZSB3aGVuIHRoZXJlIGFyZSBubyBib25lIHRoYXQgaXMgZGVmaW5lZCBpbiB0aGUgcG9zZSBvbiB0aGUgVlJNSHVtYW5vaWRcbiAgICAgICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlc3RTdGF0ZSA9IHRoaXMucmVzdFBvc2VbYm9uZU5hbWVdO1xuICAgICAgICAgICAgaWYgKCFyZXN0U3RhdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBJdCdzIHZlcnkgdW5saWtlbHkuIFBvc3NpYmx5IGEgYnVnXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQXBwbHkgdGhlIHN0YXRlIHRvIHRoZSBhY3R1YWwgYm9uZVxuICAgICAgICAgICAgaWYgKHN0YXRlID09PSBudWxsIHx8IHN0YXRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzdGF0ZS5wb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIG5vZGUucG9zaXRpb24uZnJvbUFycmF5KHN0YXRlLnBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdFN0YXRlLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUucG9zaXRpb24uYWRkKF92M0EkMy5mcm9tQXJyYXkocmVzdFN0YXRlLnBvc2l0aW9uKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXRlID09PSBudWxsIHx8IHN0YXRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzdGF0ZS5yb3RhdGlvbikge1xuICAgICAgICAgICAgICAgIG5vZGUucXVhdGVybmlvbi5mcm9tQXJyYXkoc3RhdGUucm90YXRpb24pO1xuICAgICAgICAgICAgICAgIGlmIChyZXN0U3RhdGUucm90YXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5xdWF0ZXJuaW9uLm11bHRpcGx5KF9xdWF0QSQ0LmZyb21BcnJheShyZXN0U3RhdGUucm90YXRpb24pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNldCB0aGUgaHVtYW5vaWQgdG8gaXRzIHJlc3QgcG9zZS5cbiAgICAgKi9cbiAgICByZXNldFBvc2UoKSB7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMucmVzdFBvc2UpLmZvckVhY2goKFtib25lTmFtZSwgcmVzdF0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldEJvbmVOb2RlKGJvbmVOYW1lKTtcbiAgICAgICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXN0ID09PSBudWxsIHx8IHJlc3QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc3QucG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICBub2RlLnBvc2l0aW9uLmZyb21BcnJheShyZXN0LnBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXN0ID09PSBudWxsIHx8IHJlc3QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc3Qucm90YXRpb24pIHtcbiAgICAgICAgICAgICAgICBub2RlLnF1YXRlcm5pb24uZnJvbUFycmF5KHJlc3Qucm90YXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgYm9uZSBib3VuZCB0byBhIHNwZWNpZmllZCB7QGxpbmsgVlJNSHVtYW5Cb25lTmFtZX0sIGFzIGEge0BsaW5rIFZSTUh1bWFuQm9uZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBib25lIHlvdSB3YW50XG4gICAgICovXG4gICAgZ2V0Qm9uZShuYW1lKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMuaHVtYW5Cb25lc1tuYW1lXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSBib25lIGJvdW5kIHRvIGEgc3BlY2lmaWVkIHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfSwgYXMgYSBgVEhSRUUuT2JqZWN0M0RgLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgYm9uZSB5b3Ugd2FudFxuICAgICAqL1xuICAgIGdldEJvbmVOb2RlKG5hbWUpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIChfYiA9IChfYSA9IHRoaXMuaHVtYW5Cb25lc1tuYW1lXSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5vZGUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IG51bGw7XG4gICAgfVxufVxuXG5jb25zdCBfdjNBJDIgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3F1YXRBJDMgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuY29uc3QgX2JvbmVXb3JsZFBvcyA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4vKipcbiAqIEEgY2xhc3MgcmVwcmVzZW50cyB0aGUgbm9ybWFsaXplZCBSaWcgb2YgYSBWUk0uXG4gKi9cbmNsYXNzIFZSTUh1bWFub2lkUmlnIGV4dGVuZHMgVlJNUmlnIHtcbiAgICBzdGF0aWMgX3NldHVwVHJhbnNmb3Jtcyhtb2RlbFJpZykge1xuICAgICAgICBjb25zdCByb290ID0gbmV3IFRIUkVFLk9iamVjdDNEKCk7XG4gICAgICAgIHJvb3QubmFtZSA9ICdWUk1IdW1hbm9pZFJpZyc7XG4gICAgICAgIC8vIHN0b3JlIGJvbmVXb3JsZFBvc2l0aW9ucyBhbmQgYm9uZVdvcmxkUm90YXRpb25zXG4gICAgICAgIGNvbnN0IGJvbmVXb3JsZFBvc2l0aW9ucyA9IHt9O1xuICAgICAgICBjb25zdCBib25lV29ybGRSb3RhdGlvbnMgPSB7fTtcbiAgICAgICAgY29uc3QgYm9uZVJvdGF0aW9ucyA9IHt9O1xuICAgICAgICBWUk1IdW1hbkJvbmVMaXN0LmZvckVhY2goKGJvbmVOYW1lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBib25lTm9kZSA9IG1vZGVsUmlnLmdldEJvbmVOb2RlKGJvbmVOYW1lKTtcbiAgICAgICAgICAgIGlmIChib25lTm9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvbmVXb3JsZFBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBib25lV29ybGRSb3RhdGlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgICAgICAgICAgICAgYm9uZU5vZGUudXBkYXRlV29ybGRNYXRyaXgodHJ1ZSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgIGJvbmVOb2RlLm1hdHJpeFdvcmxkLmRlY29tcG9zZShib25lV29ybGRQb3NpdGlvbiwgYm9uZVdvcmxkUm90YXRpb24sIF92M0EkMik7XG4gICAgICAgICAgICAgICAgYm9uZVdvcmxkUG9zaXRpb25zW2JvbmVOYW1lXSA9IGJvbmVXb3JsZFBvc2l0aW9uO1xuICAgICAgICAgICAgICAgIGJvbmVXb3JsZFJvdGF0aW9uc1tib25lTmFtZV0gPSBib25lV29ybGRSb3RhdGlvbjtcbiAgICAgICAgICAgICAgICBib25lUm90YXRpb25zW2JvbmVOYW1lXSA9IGJvbmVOb2RlLnF1YXRlcm5pb24uY2xvbmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIGJ1aWxkIHJpZyBoaWVyYXJjaHkgKyBzdG9yZSBwYXJlbnRXb3JsZFJvdGF0aW9uc1xuICAgICAgICBjb25zdCBwYXJlbnRXb3JsZFJvdGF0aW9ucyA9IHt9O1xuICAgICAgICBjb25zdCByaWdCb25lcyA9IHt9O1xuICAgICAgICBWUk1IdW1hbkJvbmVMaXN0LmZvckVhY2goKGJvbmVOYW1lKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBjb25zdCBib25lTm9kZSA9IG1vZGVsUmlnLmdldEJvbmVOb2RlKGJvbmVOYW1lKTtcbiAgICAgICAgICAgIGlmIChib25lTm9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvbmVXb3JsZFBvc2l0aW9uID0gYm9uZVdvcmxkUG9zaXRpb25zW2JvbmVOYW1lXTtcbiAgICAgICAgICAgICAgICAvLyBzZWUgdGhlIG5lYXJlc3QgcGFyZW50IHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRCb25lTmFtZSA9IGJvbmVOYW1lO1xuICAgICAgICAgICAgICAgIGxldCBwYXJlbnRXb3JsZFBvc2l0aW9uO1xuICAgICAgICAgICAgICAgIGxldCBwYXJlbnRXb3JsZFJvdGF0aW9uO1xuICAgICAgICAgICAgICAgIHdoaWxlIChwYXJlbnRXb3JsZFBvc2l0aW9uID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEJvbmVOYW1lID0gVlJNSHVtYW5Cb25lUGFyZW50TWFwW2N1cnJlbnRCb25lTmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50Qm9uZU5hbWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGFyZW50V29ybGRQb3NpdGlvbiA9IGJvbmVXb3JsZFBvc2l0aW9uc1tjdXJyZW50Qm9uZU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICBwYXJlbnRXb3JsZFJvdGF0aW9uID0gYm9uZVdvcmxkUm90YXRpb25zW2N1cnJlbnRCb25lTmFtZV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGFkZCB0byBoaWVyYXJjaHlcbiAgICAgICAgICAgICAgICBjb25zdCByaWdCb25lTm9kZSA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xuICAgICAgICAgICAgICAgIHJpZ0JvbmVOb2RlLm5hbWUgPSAnTm9ybWFsaXplZF8nICsgYm9uZU5vZGUubmFtZTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRSaWdCb25lTm9kZSA9IChjdXJyZW50Qm9uZU5hbWUgPyAoX2EgPSByaWdCb25lc1tjdXJyZW50Qm9uZU5hbWVdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eubm9kZSA6IHJvb3QpO1xuICAgICAgICAgICAgICAgIHBhcmVudFJpZ0JvbmVOb2RlLmFkZChyaWdCb25lTm9kZSk7XG4gICAgICAgICAgICAgICAgcmlnQm9uZU5vZGUucG9zaXRpb24uY29weShib25lV29ybGRQb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudFdvcmxkUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnQm9uZU5vZGUucG9zaXRpb24uc3ViKHBhcmVudFdvcmxkUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByaWdCb25lc1tib25lTmFtZV0gPSB7IG5vZGU6IHJpZ0JvbmVOb2RlIH07XG4gICAgICAgICAgICAgICAgLy8gc3RvcmUgcGFyZW50V29ybGRSb3RhdGlvblxuICAgICAgICAgICAgICAgIHBhcmVudFdvcmxkUm90YXRpb25zW2JvbmVOYW1lXSA9IHBhcmVudFdvcmxkUm90YXRpb24gIT09IG51bGwgJiYgcGFyZW50V29ybGRSb3RhdGlvbiAhPT0gdm9pZCAwID8gcGFyZW50V29ybGRSb3RhdGlvbiA6IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmlnQm9uZXM6IHJpZ0JvbmVzLFxuICAgICAgICAgICAgcm9vdCxcbiAgICAgICAgICAgIHBhcmVudFdvcmxkUm90YXRpb25zLFxuICAgICAgICAgICAgYm9uZVJvdGF0aW9ucyxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IoaHVtYW5vaWQpIHtcbiAgICAgICAgY29uc3QgeyByaWdCb25lcywgcm9vdCwgcGFyZW50V29ybGRSb3RhdGlvbnMsIGJvbmVSb3RhdGlvbnMgfSA9IFZSTUh1bWFub2lkUmlnLl9zZXR1cFRyYW5zZm9ybXMoaHVtYW5vaWQpO1xuICAgICAgICBzdXBlcihyaWdCb25lcyk7XG4gICAgICAgIHRoaXMub3JpZ2luYWwgPSBodW1hbm9pZDtcbiAgICAgICAgdGhpcy5yb290ID0gcm9vdDtcbiAgICAgICAgdGhpcy5fcGFyZW50V29ybGRSb3RhdGlvbnMgPSBwYXJlbnRXb3JsZFJvdGF0aW9ucztcbiAgICAgICAgdGhpcy5fYm9uZVJvdGF0aW9ucyA9IGJvbmVSb3RhdGlvbnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB0aGlzIGh1bWFub2lkIHJpZy5cbiAgICAgKi9cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIFZSTUh1bWFuQm9uZUxpc3QuZm9yRWFjaCgoYm9uZU5hbWUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJvbmVOb2RlID0gdGhpcy5vcmlnaW5hbC5nZXRCb25lTm9kZShib25lTmFtZSk7XG4gICAgICAgICAgICBpZiAoYm9uZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJpZ0JvbmVOb2RlID0gdGhpcy5nZXRCb25lTm9kZShib25lTmFtZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50V29ybGRSb3RhdGlvbiA9IHRoaXMuX3BhcmVudFdvcmxkUm90YXRpb25zW2JvbmVOYW1lXTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnZQYXJlbnRXb3JsZFJvdGF0aW9uID0gX3F1YXRBJDMuY29weShwYXJlbnRXb3JsZFJvdGF0aW9uKS5pbnZlcnQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBib25lUm90YXRpb24gPSB0aGlzLl9ib25lUm90YXRpb25zW2JvbmVOYW1lXTtcbiAgICAgICAgICAgICAgICBib25lTm9kZS5xdWF0ZXJuaW9uXG4gICAgICAgICAgICAgICAgICAgIC5jb3B5KHJpZ0JvbmVOb2RlLnF1YXRlcm5pb24pXG4gICAgICAgICAgICAgICAgICAgIC5tdWx0aXBseShwYXJlbnRXb3JsZFJvdGF0aW9uKVxuICAgICAgICAgICAgICAgICAgICAucHJlbXVsdGlwbHkoaW52UGFyZW50V29ybGRSb3RhdGlvbilcbiAgICAgICAgICAgICAgICAgICAgLm11bHRpcGx5KGJvbmVSb3RhdGlvbik7XG4gICAgICAgICAgICAgICAgLy8gTW92ZSB0aGUgbWFzcyBjZW50ZXIgb2YgdGhlIFZSTVxuICAgICAgICAgICAgICAgIGlmIChib25lTmFtZSA9PT0gJ2hpcHMnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvbmVXb3JsZFBvc2l0aW9uID0gcmlnQm9uZU5vZGUuZ2V0V29ybGRQb3NpdGlvbihfYm9uZVdvcmxkUG9zKTtcbiAgICAgICAgICAgICAgICAgICAgYm9uZU5vZGUucGFyZW50LnVwZGF0ZVdvcmxkTWF0cml4KHRydWUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyZW50V29ybGRNYXRyaXggPSBib25lTm9kZS5wYXJlbnQubWF0cml4V29ybGQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsUG9zaXRpb24gPSBib25lV29ybGRQb3NpdGlvbi5hcHBseU1hdHJpeDQocGFyZW50V29ybGRNYXRyaXguaW52ZXJ0KCkpO1xuICAgICAgICAgICAgICAgICAgICBib25lTm9kZS5wb3NpdGlvbi5jb3B5KGxvY2FsUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY2xhc3MgcmVwcmVzZW50cyBhIGh1bWFub2lkIG9mIGEgVlJNLlxuICovXG5jbGFzcyBWUk1IdW1hbm9pZCB7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRGVwcmVjYXRlZC4gVXNlIGVpdGhlciB7QGxpbmsgcmF3UmVzdFBvc2V9IG9yIHtAbGluayBub3JtYWxpemVkUmVzdFBvc2V9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0IHJlc3RQb3NlKCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUh1bWFub2lkOiByZXN0UG9zZSBpcyBkZXByZWNhdGVkLiBVc2UgZWl0aGVyIHJhd1Jlc3RQb3NlIG9yIG5vcm1hbGl6ZWRSZXN0UG9zZSBpbnN0ZWFkLicpO1xuICAgICAgICByZXR1cm4gdGhpcy5yYXdSZXN0UG9zZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQSB7QGxpbmsgVlJNUG9zZX0gb2YgaXRzIHJhdyBodW1hbiBib25lcyB0aGF0IGlzIGl0cyBkZWZhdWx0IHN0YXRlLlxuICAgICAqIE5vdGUgdGhhdCBpdCdzIG5vdCBjb21wYXRpYmxlIHdpdGgge0BsaW5rIHNldFJhd1Bvc2V9IGFuZCB7QGxpbmsgZ2V0UmF3UG9zZX0sIHNpbmNlIGl0IGNvbnRhaW5zIG5vbi1yZWxhdGl2ZSB2YWx1ZXMgb2YgZWFjaCBsb2NhbCB0cmFuc2Zvcm1zLlxuICAgICAqL1xuICAgIGdldCByYXdSZXN0UG9zZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jhd0h1bWFuQm9uZXMucmVzdFBvc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEEge0BsaW5rIFZSTVBvc2V9IG9mIGl0cyBub3JtYWxpemVkIGh1bWFuIGJvbmVzIHRoYXQgaXMgaXRzIGRlZmF1bHQgc3RhdGUuXG4gICAgICogTm90ZSB0aGF0IGl0J3Mgbm90IGNvbXBhdGlibGUgd2l0aCB7QGxpbmsgc2V0Tm9ybWFsaXplZFBvc2V9IGFuZCB7QGxpbmsgZ2V0Tm9ybWFsaXplZFBvc2V9LCBzaW5jZSBpdCBjb250YWlucyBub24tcmVsYXRpdmUgdmFsdWVzIG9mIGVhY2ggbG9jYWwgdHJhbnNmb3Jtcy5cbiAgICAgKi9cbiAgICBnZXQgbm9ybWFsaXplZFJlc3RQb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMucmVzdFBvc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEEgbWFwIGZyb20ge0BsaW5rIFZSTUh1bWFuQm9uZU5hbWV9IHRvIHJhdyB7QGxpbmsgVlJNSHVtYW5Cb25lfXMuXG4gICAgICovXG4gICAgZ2V0IGh1bWFuQm9uZXMoKSB7XG4gICAgICAgIC8vIGFuIGFsaWFzIG9mIGByYXdIdW1hbkJvbmVzYFxuICAgICAgICByZXR1cm4gdGhpcy5fcmF3SHVtYW5Cb25lcy5odW1hbkJvbmVzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIG1hcCBmcm9tIHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfSB0byByYXcge0BsaW5rIFZSTUh1bWFuQm9uZX1zLlxuICAgICAqL1xuICAgIGdldCByYXdIdW1hbkJvbmVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmF3SHVtYW5Cb25lcy5odW1hbkJvbmVzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIG1hcCBmcm9tIHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfSB0byBub3JtYWxpemVkIHtAbGluayBWUk1IdW1hbkJvbmV9cy5cbiAgICAgKi9cbiAgICBnZXQgbm9ybWFsaXplZEh1bWFuQm9uZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ub3JtYWxpemVkSHVtYW5Cb25lcy5odW1hbkJvbmVzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgcm9vdCBvZiBub3JtYWxpemVkIHtAbGluayBWUk1IdW1hbkJvbmV9cy5cbiAgICAgKi9cbiAgICBnZXQgbm9ybWFsaXplZEh1bWFuQm9uZXNSb290KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMucm9vdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IHtAbGluayBWUk1IdW1hbm9pZH0uXG4gICAgICogQHBhcmFtIGh1bWFuQm9uZXMgQSB7QGxpbmsgVlJNSHVtYW5Cb25lc30gY29udGFpbnMgYWxsIHRoZSBib25lcyBvZiB0aGUgbmV3IGh1bWFub2lkXG4gICAgICogQHBhcmFtIGF1dG9VcGRhdGVIdW1hbkJvbmVzIFdoZXRoZXIgaXQgY29waWVzIHBvc2UgZnJvbSBub3JtYWxpemVkSHVtYW5Cb25lcyB0byByYXdIdW1hbkJvbmVzIG9uIHtAbGluayB1cGRhdGV9LiBgdHJ1ZWAgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihodW1hbkJvbmVzLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgdGhpcy5hdXRvVXBkYXRlSHVtYW5Cb25lcyA9IChfYSA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5hdXRvVXBkYXRlSHVtYW5Cb25lcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5fcmF3SHVtYW5Cb25lcyA9IG5ldyBWUk1SaWcoaHVtYW5Cb25lcyk7XG4gICAgICAgIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzID0gbmV3IFZSTUh1bWFub2lkUmlnKHRoaXMuX3Jhd0h1bWFuQm9uZXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb3B5IHRoZSBnaXZlbiB7QGxpbmsgVlJNSHVtYW5vaWR9IGludG8gdGhpcyBvbmUuXG4gICAgICogQHBhcmFtIHNvdXJjZSBUaGUge0BsaW5rIFZSTUh1bWFub2lkfSB5b3Ugd2FudCB0byBjb3B5XG4gICAgICogQHJldHVybnMgdGhpc1xuICAgICAqL1xuICAgIGNvcHkoc291cmNlKSB7XG4gICAgICAgIHRoaXMuYXV0b1VwZGF0ZUh1bWFuQm9uZXMgPSBzb3VyY2UuYXV0b1VwZGF0ZUh1bWFuQm9uZXM7XG4gICAgICAgIHRoaXMuX3Jhd0h1bWFuQm9uZXMgPSBuZXcgVlJNUmlnKHNvdXJjZS5odW1hbkJvbmVzKTtcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMgPSBuZXcgVlJNSHVtYW5vaWRSaWcodGhpcy5fcmF3SHVtYW5Cb25lcyk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgY2xvbmUgb2YgdGhpcyB7QGxpbmsgVlJNSHVtYW5vaWR9LlxuICAgICAqIEByZXR1cm5zIENvcGllZCB7QGxpbmsgVlJNSHVtYW5vaWR9XG4gICAgICovXG4gICAgY2xvbmUoKSB7XG4gICAgICAgIHJldHVybiBuZXcgVlJNSHVtYW5vaWQodGhpcy5odW1hbkJvbmVzLCB7IGF1dG9VcGRhdGVIdW1hbkJvbmVzOiB0aGlzLmF1dG9VcGRhdGVIdW1hbkJvbmVzIH0pLmNvcHkodGhpcyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQuIFVzZSBlaXRoZXIge0BsaW5rIGdldFJhd0Fic29sdXRlUG9zZX0gb3Ige0BsaW5rIGdldE5vcm1hbGl6ZWRBYnNvbHV0ZVBvc2V9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0QWJzb2x1dGVQb3NlKCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUh1bWFub2lkOiBnZXRBYnNvbHV0ZVBvc2UoKSBpcyBkZXByZWNhdGVkLiBVc2UgZWl0aGVyIGdldFJhd0Fic29sdXRlUG9zZSgpIG9yIGdldE5vcm1hbGl6ZWRBYnNvbHV0ZVBvc2UoKSBpbnN0ZWFkLicpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSYXdBYnNvbHV0ZVBvc2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBjdXJyZW50IGFic29sdXRlIHBvc2Ugb2YgdGhpcyByYXcgaHVtYW4gYm9uZXMgYXMgYSB7QGxpbmsgVlJNUG9zZX0uXG4gICAgICogTm90ZSB0aGF0IHRoZSBvdXRwdXQgcmVzdWx0IHdpbGwgY29udGFpbiBpbml0aWFsIHN0YXRlIG9mIHRoZSBWUk0gYW5kIG5vdCBjb21wYXRpYmxlIGJldHdlZW4gZGlmZmVyZW50IG1vZGVscy5cbiAgICAgKiBZb3UgbWlnaHQgd2FudCB0byB1c2Uge0BsaW5rIGdldFJhd1Bvc2V9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0UmF3QWJzb2x1dGVQb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmF3SHVtYW5Cb25lcy5nZXRBYnNvbHV0ZVBvc2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBjdXJyZW50IGFic29sdXRlIHBvc2Ugb2YgdGhpcyBub3JtYWxpemVkIGh1bWFuIGJvbmVzIGFzIGEge0BsaW5rIFZSTVBvc2V9LlxuICAgICAqIE5vdGUgdGhhdCB0aGUgb3V0cHV0IHJlc3VsdCB3aWxsIGNvbnRhaW4gaW5pdGlhbCBzdGF0ZSBvZiB0aGUgVlJNIGFuZCBub3QgY29tcGF0aWJsZSBiZXR3ZWVuIGRpZmZlcmVudCBtb2RlbHMuXG4gICAgICogWW91IG1pZ2h0IHdhbnQgdG8gdXNlIHtAbGluayBnZXROb3JtYWxpemVkUG9zZX0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBnZXROb3JtYWxpemVkQWJzb2x1dGVQb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMuZ2V0QWJzb2x1dGVQb3NlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQuIFVzZSBlaXRoZXIge0BsaW5rIGdldFJhd1Bvc2V9IG9yIHtAbGluayBnZXROb3JtYWxpemVkUG9zZX0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBnZXRQb3NlKCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUh1bWFub2lkOiBnZXRQb3NlKCkgaXMgZGVwcmVjYXRlZC4gVXNlIGVpdGhlciBnZXRSYXdQb3NlKCkgb3IgZ2V0Tm9ybWFsaXplZFBvc2UoKSBpbnN0ZWFkLicpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSYXdQb3NlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgY3VycmVudCBwb3NlIG9mIHJhdyBodW1hbiBib25lcyBhcyBhIHtAbGluayBWUk1Qb3NlfS5cbiAgICAgKlxuICAgICAqIEVhY2ggdHJhbnNmb3JtIGlzIGEgbG9jYWwgdHJhbnNmb3JtIHJlbGF0aXZlIGZyb20gcmVzdCBwb3NlIChULXBvc2UpLlxuICAgICAqL1xuICAgIGdldFJhd1Bvc2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yYXdIdW1hbkJvbmVzLmdldFBvc2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBjdXJyZW50IHBvc2Ugb2Ygbm9ybWFsaXplZCBodW1hbiBib25lcyBhcyBhIHtAbGluayBWUk1Qb3NlfS5cbiAgICAgKlxuICAgICAqIEVhY2ggdHJhbnNmb3JtIGlzIGEgbG9jYWwgdHJhbnNmb3JtIHJlbGF0aXZlIGZyb20gcmVzdCBwb3NlIChULXBvc2UpLlxuICAgICAqL1xuICAgIGdldE5vcm1hbGl6ZWRQb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMuZ2V0UG9zZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBEZXByZWNhdGVkLiBVc2UgZWl0aGVyIHtAbGluayBzZXRSYXdQb3NlfSBvciB7QGxpbmsgc2V0Tm9ybWFsaXplZFBvc2V9IGluc3RlYWQuXG4gICAgICovXG4gICAgc2V0UG9zZShwb3NlT2JqZWN0KSB7XG4gICAgICAgIGNvbnNvbGUud2FybignVlJNSHVtYW5vaWQ6IHNldFBvc2UoKSBpcyBkZXByZWNhdGVkLiBVc2UgZWl0aGVyIHNldFJhd1Bvc2UoKSBvciBzZXROb3JtYWxpemVkUG9zZSgpIGluc3RlYWQuJyk7XG4gICAgICAgIHJldHVybiB0aGlzLnNldFJhd1Bvc2UocG9zZU9iamVjdCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIExldCB0aGUgcmF3IGh1bWFuIGJvbmVzIGRvIGEgc3BlY2lmaWVkIHBvc2UuXG4gICAgICpcbiAgICAgKiBFYWNoIHRyYW5zZm9ybSBoYXZlIHRvIGJlIGEgbG9jYWwgdHJhbnNmb3JtIHJlbGF0aXZlIGZyb20gcmVzdCBwb3NlIChULXBvc2UpLlxuICAgICAqIFlvdSBjYW4gcGFzcyB3aGF0IHlvdSBnb3QgZnJvbSB7QGxpbmsgZ2V0UmF3UG9zZX0uXG4gICAgICpcbiAgICAgKiBJZiB5b3UgYXJlIHVzaW5nIHtAbGluayBhdXRvVXBkYXRlSHVtYW5Cb25lc30sIHlvdSBtaWdodCB3YW50IHRvIHVzZSB7QGxpbmsgc2V0Tm9ybWFsaXplZFBvc2V9IGluc3RlYWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcG9zZU9iamVjdCBBIHtAbGluayBWUk1Qb3NlfSB0aGF0IHJlcHJlc2VudHMgYSBzaW5nbGUgcG9zZVxuICAgICAqL1xuICAgIHNldFJhd1Bvc2UocG9zZU9iamVjdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmF3SHVtYW5Cb25lcy5zZXRQb3NlKHBvc2VPYmplY3QpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBMZXQgdGhlIG5vcm1hbGl6ZWQgaHVtYW4gYm9uZXMgZG8gYSBzcGVjaWZpZWQgcG9zZS5cbiAgICAgKlxuICAgICAqIEVhY2ggdHJhbnNmb3JtIGhhdmUgdG8gYmUgYSBsb2NhbCB0cmFuc2Zvcm0gcmVsYXRpdmUgZnJvbSByZXN0IHBvc2UgKFQtcG9zZSkuXG4gICAgICogWW91IGNhbiBwYXNzIHdoYXQgeW91IGdvdCBmcm9tIHtAbGluayBnZXROb3JtYWxpemVkUG9zZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcG9zZU9iamVjdCBBIHtAbGluayBWUk1Qb3NlfSB0aGF0IHJlcHJlc2VudHMgYSBzaW5nbGUgcG9zZVxuICAgICAqL1xuICAgIHNldE5vcm1hbGl6ZWRQb3NlKHBvc2VPYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRIdW1hbkJvbmVzLnNldFBvc2UocG9zZU9iamVjdCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQuIFVzZSBlaXRoZXIge0BsaW5rIHJlc2V0UmF3UG9zZX0gb3Ige0BsaW5rIHJlc2V0Tm9ybWFsaXplZFBvc2V9IGluc3RlYWQuXG4gICAgICovXG4gICAgcmVzZXRQb3NlKCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUh1bWFub2lkOiByZXNldFBvc2UoKSBpcyBkZXByZWNhdGVkLiBVc2UgZWl0aGVyIHJlc2V0UmF3UG9zZSgpIG9yIHJlc2V0Tm9ybWFsaXplZFBvc2UoKSBpbnN0ZWFkLicpO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNldFJhd1Bvc2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzZXQgdGhlIHJhdyBodW1hbm9pZCB0byBpdHMgcmVzdCBwb3NlLlxuICAgICAqXG4gICAgICogSWYgeW91IGFyZSB1c2luZyB7QGxpbmsgYXV0b1VwZGF0ZUh1bWFuQm9uZXN9LCB5b3UgbWlnaHQgd2FudCB0byB1c2Uge0BsaW5rIHJlc2V0Tm9ybWFsaXplZFBvc2V9IGluc3RlYWQuXG4gICAgICovXG4gICAgcmVzZXRSYXdQb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmF3SHVtYW5Cb25lcy5yZXNldFBvc2UoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzZXQgdGhlIG5vcm1hbGl6ZWQgaHVtYW5vaWQgdG8gaXRzIHJlc3QgcG9zZS5cbiAgICAgKi9cbiAgICByZXNldE5vcm1hbGl6ZWRQb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMucmVzZXRQb3NlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQuIFVzZSBlaXRoZXIge0BsaW5rIGdldFJhd0JvbmV9IG9yIHtAbGluayBnZXROb3JtYWxpemVkQm9uZX0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBnZXRCb25lKG5hbWUpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1IdW1hbm9pZDogZ2V0Qm9uZSgpIGlzIGRlcHJlY2F0ZWQuIFVzZSBlaXRoZXIgZ2V0UmF3Qm9uZSgpIG9yIGdldE5vcm1hbGl6ZWRCb25lKCkgaW5zdGVhZC4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmF3Qm9uZShuYW1lKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgcmF3IHtAbGluayBWUk1IdW1hbkJvbmV9IGJvdW5kIHRvIGEgc3BlY2lmaWVkIHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIGJvbmUgeW91IHdhbnRcbiAgICAgKi9cbiAgICBnZXRSYXdCb25lKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jhd0h1bWFuQm9uZXMuZ2V0Qm9uZShuYW1lKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgbm9ybWFsaXplZCB7QGxpbmsgVlJNSHVtYW5Cb25lfSBib3VuZCB0byBhIHNwZWNpZmllZCB7QGxpbmsgVlJNSHVtYW5Cb25lTmFtZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBib25lIHlvdSB3YW50XG4gICAgICovXG4gICAgZ2V0Tm9ybWFsaXplZEJvbmUobmFtZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMuZ2V0Qm9uZShuYW1lKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRGVwcmVjYXRlZC4gVXNlIGVpdGhlciB7QGxpbmsgZ2V0UmF3Qm9uZU5vZGV9IG9yIHtAbGluayBnZXROb3JtYWxpemVkQm9uZU5vZGV9IGluc3RlYWQuXG4gICAgICovXG4gICAgZ2V0Qm9uZU5vZGUobmFtZSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUh1bWFub2lkOiBnZXRCb25lTm9kZSgpIGlzIGRlcHJlY2F0ZWQuIFVzZSBlaXRoZXIgZ2V0UmF3Qm9uZU5vZGUoKSBvciBnZXROb3JtYWxpemVkQm9uZU5vZGUoKSBpbnN0ZWFkLicpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSYXdCb25lTm9kZShuYW1lKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgcmF3IGJvbmUgYXMgYSBgVEhSRUUuT2JqZWN0M0RgIGJvdW5kIHRvIGEgc3BlY2lmaWVkIHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIGJvbmUgeW91IHdhbnRcbiAgICAgKi9cbiAgICBnZXRSYXdCb25lTm9kZShuYW1lKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yYXdIdW1hbkJvbmVzLmdldEJvbmVOb2RlKG5hbWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSBub3JtYWxpemVkIGJvbmUgYXMgYSBgVEhSRUUuT2JqZWN0M0RgIGJvdW5kIHRvIGEgc3BlY2lmaWVkIHtAbGluayBWUk1IdW1hbkJvbmVOYW1lfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIGJvbmUgeW91IHdhbnRcbiAgICAgKi9cbiAgICBnZXROb3JtYWxpemVkQm9uZU5vZGUobmFtZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZEh1bWFuQm9uZXMuZ2V0Qm9uZU5vZGUobmFtZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB0aGUgaHVtYW5vaWQgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogSWYge0BsaW5rIGF1dG9VcGRhdGVIdW1hbkJvbmVzfSBpcyBgdHJ1ZWAsIGl0IHRyYW5zZmVycyB0aGUgcG9zZSBvZiBub3JtYWxpemVkIGh1bWFuIGJvbmVzIHRvIHJhdyBodW1hbiBib25lcy5cbiAgICAgKi9cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmF1dG9VcGRhdGVIdW1hbkJvbmVzKSB7XG4gICAgICAgICAgICB0aGlzLl9ub3JtYWxpemVkSHVtYW5Cb25lcy51cGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5jb25zdCBWUk1SZXF1aXJlZEh1bWFuQm9uZU5hbWUgPSB7XG4gICAgSGlwczogJ2hpcHMnLFxuICAgIFNwaW5lOiAnc3BpbmUnLFxuICAgIEhlYWQ6ICdoZWFkJyxcbiAgICBMZWZ0VXBwZXJMZWc6ICdsZWZ0VXBwZXJMZWcnLFxuICAgIExlZnRMb3dlckxlZzogJ2xlZnRMb3dlckxlZycsXG4gICAgTGVmdEZvb3Q6ICdsZWZ0Rm9vdCcsXG4gICAgUmlnaHRVcHBlckxlZzogJ3JpZ2h0VXBwZXJMZWcnLFxuICAgIFJpZ2h0TG93ZXJMZWc6ICdyaWdodExvd2VyTGVnJyxcbiAgICBSaWdodEZvb3Q6ICdyaWdodEZvb3QnLFxuICAgIExlZnRVcHBlckFybTogJ2xlZnRVcHBlckFybScsXG4gICAgTGVmdExvd2VyQXJtOiAnbGVmdExvd2VyQXJtJyxcbiAgICBMZWZ0SGFuZDogJ2xlZnRIYW5kJyxcbiAgICBSaWdodFVwcGVyQXJtOiAncmlnaHRVcHBlckFybScsXG4gICAgUmlnaHRMb3dlckFybTogJ3JpZ2h0TG93ZXJBcm0nLFxuICAgIFJpZ2h0SGFuZDogJ3JpZ2h0SGFuZCcsXG59O1xuXG4vKipcbiAqIFBvc3NpYmxlIHNwZWMgdmVyc2lvbnMgaXQgcmVjb2duaXplcy5cbiAqL1xuY29uc3QgUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyQyID0gbmV3IFNldChbJzEuMCcsICcxLjAtYmV0YSddKTtcbi8qKlxuICogQSBtYXAgZnJvbSBvbGQgdGh1bWIgYm9uZSBuYW1lcyB0byBuZXcgdGh1bWIgYm9uZSBuYW1lc1xuICovXG5jb25zdCB0aHVtYkJvbmVOYW1lTWFwID0ge1xuICAgIGxlZnRUaHVtYlByb3hpbWFsOiAnbGVmdFRodW1iTWV0YWNhcnBhbCcsXG4gICAgbGVmdFRodW1iSW50ZXJtZWRpYXRlOiAnbGVmdFRodW1iUHJveGltYWwnLFxuICAgIHJpZ2h0VGh1bWJQcm94aW1hbDogJ3JpZ2h0VGh1bWJNZXRhY2FycGFsJyxcbiAgICByaWdodFRodW1iSW50ZXJtZWRpYXRlOiAncmlnaHRUaHVtYlByb3hpbWFsJyxcbn07XG4vKipcbiAqIEEgcGx1Z2luIG9mIEdMVEZMb2FkZXIgdGhhdCBpbXBvcnRzIGEge0BsaW5rIFZSTUh1bWFub2lkfSBmcm9tIGEgVlJNIGV4dGVuc2lvbiBvZiBhIEdMVEYuXG4gKi9cbmNsYXNzIFZSTUh1bWFub2lkTG9hZGVyUGx1Z2luIHtcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIHVzZSB0aGUgZXh0ZW5zaW9uIG5hbWUgaW5zdGVhZCBidXQgd2UgaGF2ZSBtdWx0aXBsZSBwbHVnaW5zIGZvciBhbiBleHRlbnNpb24uLi5cbiAgICAgICAgcmV0dXJuICdWUk1IdW1hbm9pZExvYWRlclBsdWdpbic7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlciwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICAgICAgdGhpcy5oZWxwZXJSb290ID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmhlbHBlclJvb3Q7XG4gICAgICAgIHRoaXMuYXV0b1VwZGF0ZUh1bWFuQm9uZXMgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuYXV0b1VwZGF0ZUh1bWFuQm9uZXM7XG4gICAgfVxuICAgIGFmdGVyUm9vdChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBnbHRmLnVzZXJEYXRhLnZybUh1bWFub2lkID0geWllbGQgdGhpcy5faW1wb3J0KGdsdGYpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wb3J0IGEge0BsaW5rIFZSTUh1bWFub2lkfSBmcm9tIGEgVlJNLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdsdGYgQSBwYXJzZWQgcmVzdWx0IG9mIEdMVEYgdGFrZW4gZnJvbSBHTFRGTG9hZGVyXG4gICAgICovXG4gICAgX2ltcG9ydChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCB2MVJlc3VsdCA9IHlpZWxkIHRoaXMuX3YxSW1wb3J0KGdsdGYpO1xuICAgICAgICAgICAgaWYgKHYxUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYxUmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdjBSZXN1bHQgPSB5aWVsZCB0aGlzLl92MEltcG9ydChnbHRmKTtcbiAgICAgICAgICAgIGlmICh2MFJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2MFJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YxSW1wb3J0KGdsdGYpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgdnJtXG4gICAgICAgICAgICBjb25zdCBpc1ZSTVVzZWQgPSAoKF9hID0ganNvbi5leHRlbnNpb25zVXNlZCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmluZGV4T2YoJ1ZSTUNfdnJtJykpICE9PSAtMTtcbiAgICAgICAgICAgIGlmICghaXNWUk1Vc2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBleHRlbnNpb24gPSAoX2IgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYlsnVlJNQ192cm0nXTtcbiAgICAgICAgICAgIGlmICghZXh0ZW5zaW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzcGVjVmVyc2lvbiA9IGV4dGVuc2lvbi5zcGVjVmVyc2lvbjtcbiAgICAgICAgICAgIGlmICghUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyQyLmhhcyhzcGVjVmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTUh1bWFub2lkTG9hZGVyUGx1Z2luOiBVbmtub3duIFZSTUNfdnJtIHNwZWNWZXJzaW9uIFwiJHtzcGVjVmVyc2lvbn1cImApO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hSHVtYW5vaWQgPSBleHRlbnNpb24uaHVtYW5vaWQ7XG4gICAgICAgICAgICBpZiAoIXNjaGVtYUh1bWFub2lkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIGNvbXBhdDogMS4wLWJldGEgdGh1bWIgYm9uZSBuYW1lc1xuICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAqIGB0cnVlYCBpZiBgbGVmdFRodW1iSW50ZXJtZWRpYXRlYCBvciBgcmlnaHRUaHVtYkludGVybWVkaWF0ZWAgZXhpc3RzXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IGV4aXN0c1ByZXZpb3VzVGh1bWJOYW1lID0gc2NoZW1hSHVtYW5vaWQuaHVtYW5Cb25lcy5sZWZ0VGh1bWJJbnRlcm1lZGlhdGUgIT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgIHNjaGVtYUh1bWFub2lkLmh1bWFuQm9uZXMucmlnaHRUaHVtYkludGVybWVkaWF0ZSAhPSBudWxsO1xuICAgICAgICAgICAgY29uc3QgaHVtYW5Cb25lcyA9IHt9O1xuICAgICAgICAgICAgaWYgKHNjaGVtYUh1bWFub2lkLmh1bWFuQm9uZXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHlpZWxkIFByb21pc2UuYWxsKE9iamVjdC5lbnRyaWVzKHNjaGVtYUh1bWFub2lkLmh1bWFuQm9uZXMpLm1hcCgoW2JvbmVOYW1lU3RyaW5nLCBzY2hlbWFIdW1hbkJvbmVdKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBib25lTmFtZSA9IGJvbmVOYW1lU3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHNjaGVtYUh1bWFuQm9uZS5ub2RlO1xuICAgICAgICAgICAgICAgICAgICAvLyBjb21wYXQ6IDEuMC1iZXRhIHByZXZpb3VzIHRodW1iIGJvbmUgbmFtZXNcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4aXN0c1ByZXZpb3VzVGh1bWJOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0aHVtYkJvbmVOYW1lID0gdGh1bWJCb25lTmFtZU1hcFtib25lTmFtZV07XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGh1bWJCb25lTmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9uZU5hbWUgPSB0aHVtYkJvbmVOYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB5aWVsZCB0aGlzLnBhcnNlci5nZXREZXBlbmRlbmN5KCdub2RlJywgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGUgc3BlY2lmaWVkIG5vZGUgZG9lcyBub3QgZXhpc3QsIGVtaXQgYSB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgIGlmIChub2RlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgQSBnbFRGIG5vZGUgYm91bmQgdG8gdGhlIGh1bWFub2lkIGJvbmUgJHtib25lTmFtZX0gKGluZGV4ID0gJHtpbmRleH0pIGRvZXMgbm90IGV4aXN0YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHRvIHRoZSBgaHVtYW5Cb25lc2BcbiAgICAgICAgICAgICAgICAgICAgaHVtYW5Cb25lc1tib25lTmFtZV0gPSB7IG5vZGUgfTtcbiAgICAgICAgICAgICAgICB9KSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaHVtYW5vaWQgPSBuZXcgVlJNSHVtYW5vaWQodGhpcy5fZW5zdXJlUmVxdWlyZWRCb25lc0V4aXN0KGh1bWFuQm9uZXMpLCB7XG4gICAgICAgICAgICAgICAgYXV0b1VwZGF0ZUh1bWFuQm9uZXM6IHRoaXMuYXV0b1VwZGF0ZUh1bWFuQm9uZXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGdsdGYuc2NlbmUuYWRkKGh1bWFub2lkLm5vcm1hbGl6ZWRIdW1hbkJvbmVzUm9vdCk7XG4gICAgICAgICAgICBpZiAodGhpcy5oZWxwZXJSb290KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVscGVyID0gbmV3IFZSTUh1bWFub2lkSGVscGVyKGh1bWFub2lkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhlbHBlclJvb3QuYWRkKGhlbHBlcik7XG4gICAgICAgICAgICAgICAgaGVscGVyLnJlbmRlck9yZGVyID0gdGhpcy5oZWxwZXJSb290LnJlbmRlck9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGh1bWFub2lkO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YwSW1wb3J0KGdsdGYpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHRoaXMucGFyc2VyLmpzb247XG4gICAgICAgICAgICBjb25zdCB2cm1FeHQgPSAoX2EgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5WUk07XG4gICAgICAgICAgICBpZiAoIXZybUV4dCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hSHVtYW5vaWQgPSB2cm1FeHQuaHVtYW5vaWQ7XG4gICAgICAgICAgICBpZiAoIXNjaGVtYUh1bWFub2lkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBodW1hbkJvbmVzID0ge307XG4gICAgICAgICAgICBpZiAoc2NoZW1hSHVtYW5vaWQuaHVtYW5Cb25lcyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgeWllbGQgUHJvbWlzZS5hbGwoc2NoZW1hSHVtYW5vaWQuaHVtYW5Cb25lcy5tYXAoKGJvbmUpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9uZU5hbWUgPSBib25lLmJvbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYm9uZS5ub2RlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYm9uZU5hbWUgPT0gbnVsbCB8fCBpbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHlpZWxkIHRoaXMucGFyc2VyLmdldERlcGVuZGVuY3koJ25vZGUnLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBzcGVjaWZpZWQgbm9kZSBkb2VzIG5vdCBleGlzdCwgZW1pdCBhIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBBIGdsVEYgbm9kZSBib3VuZCB0byB0aGUgaHVtYW5vaWQgYm9uZSAke2JvbmVOYW1lfSAoaW5kZXggPSAke2luZGV4fSkgZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBtYXAgdG8gbmV3IGJvbmUgbmFtZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aHVtYkJvbmVOYW1lID0gdGh1bWJCb25lTmFtZU1hcFtib25lTmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0JvbmVOYW1lID0gKHRodW1iQm9uZU5hbWUgIT09IG51bGwgJiYgdGh1bWJCb25lTmFtZSAhPT0gdm9pZCAwID8gdGh1bWJCb25lTmFtZSA6IGJvbmVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdjAgVlJNcyBtaWdodCBoYXZlIGEgbXVsdGlwbGUgbm9kZXMgYXR0YWNoZWQgdG8gYSBzaW5nbGUgYm9uZS4uLlxuICAgICAgICAgICAgICAgICAgICAvLyBzbyBpZiB0aGVyZSBhbHJlYWR5IGlzIGFuIGVudHJ5IGluIHRoZSBgaHVtYW5Cb25lc2AsIHNob3cgYSB3YXJuaW5nIGFuZCBpZ25vcmUgaXRcbiAgICAgICAgICAgICAgICAgICAgaWYgKGh1bWFuQm9uZXNbbmV3Qm9uZU5hbWVdICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgTXVsdGlwbGUgYm9uZSBlbnRyaWVzIGZvciAke25ld0JvbmVOYW1lfSBkZXRlY3RlZCAoaW5kZXggPSAke2luZGV4fSksIGlnbm9yaW5nIGR1cGxpY2F0ZWQgZW50cmllcy5gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBzZXQgdG8gdGhlIGBodW1hbkJvbmVzYFxuICAgICAgICAgICAgICAgICAgICBodW1hbkJvbmVzW25ld0JvbmVOYW1lXSA9IHsgbm9kZSB9O1xuICAgICAgICAgICAgICAgIH0pKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBodW1hbm9pZCA9IG5ldyBWUk1IdW1hbm9pZCh0aGlzLl9lbnN1cmVSZXF1aXJlZEJvbmVzRXhpc3QoaHVtYW5Cb25lcyksIHtcbiAgICAgICAgICAgICAgICBhdXRvVXBkYXRlSHVtYW5Cb25lczogdGhpcy5hdXRvVXBkYXRlSHVtYW5Cb25lcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZ2x0Zi5zY2VuZS5hZGQoaHVtYW5vaWQubm9ybWFsaXplZEh1bWFuQm9uZXNSb290KTtcbiAgICAgICAgICAgIGlmICh0aGlzLmhlbHBlclJvb3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWxwZXIgPSBuZXcgVlJNSHVtYW5vaWRIZWxwZXIoaHVtYW5vaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGVscGVyUm9vdC5hZGQoaGVscGVyKTtcbiAgICAgICAgICAgICAgICBoZWxwZXIucmVuZGVyT3JkZXIgPSB0aGlzLmhlbHBlclJvb3QucmVuZGVyT3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaHVtYW5vaWQ7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbnN1cmUgcmVxdWlyZWQgYm9uZXMgZXhpc3QgaW4gZ2l2ZW4gaHVtYW4gYm9uZXMuXG4gICAgICogQHBhcmFtIGh1bWFuQm9uZXMgSHVtYW4gYm9uZXNcbiAgICAgKiBAcmV0dXJucyBIdW1hbiBib25lcywgbm8gbG9uZ2VyIHBhcnRpYWwhXG4gICAgICovXG4gICAgX2Vuc3VyZVJlcXVpcmVkQm9uZXNFeGlzdChodW1hbkJvbmVzKSB7XG4gICAgICAgIC8vIGVuc3VyZSByZXF1aXJlZCBib25lcyBleGlzdFxuICAgICAgICBjb25zdCBtaXNzaW5nUmVxdWlyZWRCb25lcyA9IE9iamVjdC52YWx1ZXMoVlJNUmVxdWlyZWRIdW1hbkJvbmVOYW1lKS5maWx0ZXIoKHJlcXVpcmVkQm9uZU5hbWUpID0+IGh1bWFuQm9uZXNbcmVxdWlyZWRCb25lTmFtZV0gPT0gbnVsbCk7XG4gICAgICAgIC8vIHRocm93IGFuIGVycm9yIGlmIHRoZXJlIGFyZSBtaXNzaW5nIGJvbmVzXG4gICAgICAgIGlmIChtaXNzaW5nUmVxdWlyZWRCb25lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZSTUh1bWFub2lkTG9hZGVyUGx1Z2luOiBUaGVzZSBodW1hbm9pZCBib25lcyBhcmUgcmVxdWlyZWQgYnV0IG5vdCBleGlzdDogJHttaXNzaW5nUmVxdWlyZWRCb25lcy5qb2luKCcsICcpfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBodW1hbkJvbmVzO1xuICAgIH1cbn1cblxuY2xhc3MgRmFuQnVmZmVyR2VvbWV0cnkgZXh0ZW5kcyBUSFJFRS5CdWZmZXJHZW9tZXRyeSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUaGV0YSA9IDA7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRSYWRpdXMgPSAwO1xuICAgICAgICB0aGlzLnRoZXRhID0gMC4wO1xuICAgICAgICB0aGlzLnJhZGl1cyA9IDAuMDtcbiAgICAgICAgdGhpcy5fY3VycmVudFRoZXRhID0gMC4wO1xuICAgICAgICB0aGlzLl9jdXJyZW50UmFkaXVzID0gMC4wO1xuICAgICAgICB0aGlzLl9hdHRyUG9zID0gbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXcgRmxvYXQzMkFycmF5KDY1ICogMyksIDMpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCB0aGlzLl9hdHRyUG9zKTtcbiAgICAgICAgdGhpcy5fYXR0ckluZGV4ID0gbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXcgVWludDE2QXJyYXkoMyAqIDYzKSwgMSk7XG4gICAgICAgIHRoaXMuc2V0SW5kZXgodGhpcy5fYXR0ckluZGV4KTtcbiAgICAgICAgdGhpcy5fYnVpbGRJbmRleCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH1cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIGxldCBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFRoZXRhICE9PSB0aGlzLnRoZXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50VGhldGEgPSB0aGlzLnRoZXRhO1xuICAgICAgICAgICAgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9jdXJyZW50UmFkaXVzICE9PSB0aGlzLnJhZGl1cykge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFJhZGl1cyA9IHRoaXMucmFkaXVzO1xuICAgICAgICAgICAgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRVcGRhdGVHZW9tZXRyeSkge1xuICAgICAgICAgICAgdGhpcy5fYnVpbGRQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9idWlsZFBvc2l0aW9uKCkge1xuICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWigwLCAwLjAsIDAuMCwgMC4wKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA2NDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0ID0gKGkgLyA2My4wKSAqIHRoaXMuX2N1cnJlbnRUaGV0YTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKGkgKyAxLCB0aGlzLl9jdXJyZW50UmFkaXVzICogTWF0aC5zaW4odCksIDAuMCwgdGhpcy5fY3VycmVudFJhZGl1cyAqIE1hdGguY29zKHQpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hdHRyUG9zLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgX2J1aWxkSW5kZXgoKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNjM7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZWihpICogMywgMCwgaSArIDEsIGkgKyAyKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hdHRySW5kZXgubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbn1cblxuY2xhc3MgTGluZUFuZFNwaGVyZUJ1ZmZlckdlb21ldHJ5IGV4dGVuZHMgVEhSRUUuQnVmZmVyR2VvbWV0cnkge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnJhZGl1cyA9IDAuMDtcbiAgICAgICAgdGhpcy5fY3VycmVudFJhZGl1cyA9IDAuMDtcbiAgICAgICAgdGhpcy50YWlsID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICAgICAgdGhpcy5fY3VycmVudFRhaWwgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgICAgICB0aGlzLl9hdHRyUG9zID0gbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXcgRmxvYXQzMkFycmF5KDI5NCksIDMpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCB0aGlzLl9hdHRyUG9zKTtcbiAgICAgICAgdGhpcy5fYXR0ckluZGV4ID0gbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXcgVWludDE2QXJyYXkoMTk0KSwgMSk7XG4gICAgICAgIHRoaXMuc2V0SW5kZXgodGhpcy5fYXR0ckluZGV4KTtcbiAgICAgICAgdGhpcy5fYnVpbGRJbmRleCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH1cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIGxldCBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFJhZGl1cyAhPT0gdGhpcy5yYWRpdXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRSYWRpdXMgPSB0aGlzLnJhZGl1cztcbiAgICAgICAgICAgIHNob3VsZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2N1cnJlbnRUYWlsLmVxdWFscyh0aGlzLnRhaWwpKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50VGFpbC5jb3B5KHRoaXMudGFpbCk7XG4gICAgICAgICAgICBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZUdlb21ldHJ5KSB7XG4gICAgICAgICAgICB0aGlzLl9idWlsZFBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2J1aWxkUG9zaXRpb24oKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdCA9IChpIC8gMTYuMCkgKiBNYXRoLlBJO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooaSwgTWF0aC5jb3ModCksIE1hdGguc2luKHQpLCAwLjApO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooMzIgKyBpLCAwLjAsIE1hdGguY29zKHQpLCBNYXRoLnNpbih0KSk7XG4gICAgICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWig2NCArIGksIE1hdGguc2luKHQpLCAwLjAsIE1hdGguY29zKHQpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNjYWxlKHRoaXMuX2N1cnJlbnRSYWRpdXMsIHRoaXMuX2N1cnJlbnRSYWRpdXMsIHRoaXMuX2N1cnJlbnRSYWRpdXMpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZSh0aGlzLl9jdXJyZW50VGFpbC54LCB0aGlzLl9jdXJyZW50VGFpbC55LCB0aGlzLl9jdXJyZW50VGFpbC56KTtcbiAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooOTYsIDAsIDAsIDApO1xuICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWig5NywgdGhpcy5fY3VycmVudFRhaWwueCwgdGhpcy5fY3VycmVudFRhaWwueSwgdGhpcy5fY3VycmVudFRhaWwueik7XG4gICAgICAgIHRoaXMuX2F0dHJQb3MubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBfYnVpbGRJbmRleCgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzMjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpMSA9IChpICsgMSkgJSAzMjtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWShpICogMiwgaSwgaTEpO1xuICAgICAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZKDY0ICsgaSAqIDIsIDMyICsgaSwgMzIgKyBpMSk7XG4gICAgICAgICAgICB0aGlzLl9hdHRySW5kZXguc2V0WFkoMTI4ICsgaSAqIDIsIDY0ICsgaSwgNjQgKyBpMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZKDE5MiwgOTYsIDk3KTtcbiAgICAgICAgdGhpcy5fYXR0ckluZGV4Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG59XG5cbmNvbnN0IF9xdWF0QSQyID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9xdWF0QiQyID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF92M0EkMSA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfdjNCJDEgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgU1FSVF8yX09WRVJfMiA9IE1hdGguc3FydCgyLjApIC8gMi4wO1xuY29uc3QgUVVBVF9YWV9DVzkwID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwgMCwgLVNRUlRfMl9PVkVSXzIsIFNRUlRfMl9PVkVSXzIpO1xuY29uc3QgVkVDM19QT1NJVElWRV9ZID0gbmV3IFRIUkVFLlZlY3RvcjMoMC4wLCAxLjAsIDAuMCk7XG5jbGFzcyBWUk1Mb29rQXRIZWxwZXIgZXh0ZW5kcyBUSFJFRS5Hcm91cCB7XG4gICAgY29uc3RydWN0b3IobG9va0F0KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubWF0cml4QXV0b1VwZGF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnZybUxvb2tBdCA9IGxvb2tBdDtcbiAgICAgICAge1xuICAgICAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgRmFuQnVmZmVyR2VvbWV0cnkoKTtcbiAgICAgICAgICAgIGdlb21ldHJ5LnJhZGl1cyA9IDAuNTtcbiAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHtcbiAgICAgICAgICAgICAgICBjb2xvcjogMHgwMGZmMDAsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41LFxuICAgICAgICAgICAgICAgIHNpZGU6IFRIUkVFLkRvdWJsZVNpZGUsXG4gICAgICAgICAgICAgICAgZGVwdGhUZXN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZXB0aFdyaXRlOiBmYWxzZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fbWVzaFBpdGNoID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKTtcbiAgICAgICAgICAgIHRoaXMuYWRkKHRoaXMuX21lc2hQaXRjaCk7XG4gICAgICAgIH1cbiAgICAgICAge1xuICAgICAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgRmFuQnVmZmVyR2VvbWV0cnkoKTtcbiAgICAgICAgICAgIGdlb21ldHJ5LnJhZGl1cyA9IDAuNTtcbiAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHtcbiAgICAgICAgICAgICAgICBjb2xvcjogMHhmZjAwMDAsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ6IHRydWUsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41LFxuICAgICAgICAgICAgICAgIHNpZGU6IFRIUkVFLkRvdWJsZVNpZGUsXG4gICAgICAgICAgICAgICAgZGVwdGhUZXN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZXB0aFdyaXRlOiBmYWxzZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fbWVzaFlhdyA9IG5ldyBUSFJFRS5NZXNoKGdlb21ldHJ5LCBtYXRlcmlhbCk7XG4gICAgICAgICAgICB0aGlzLmFkZCh0aGlzLl9tZXNoWWF3KTtcbiAgICAgICAgfVxuICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCBnZW9tZXRyeSA9IG5ldyBMaW5lQW5kU3BoZXJlQnVmZmVyR2VvbWV0cnkoKTtcbiAgICAgICAgICAgIGdlb21ldHJ5LnJhZGl1cyA9IDAuMTtcbiAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLkxpbmVCYXNpY01hdGVyaWFsKHtcbiAgICAgICAgICAgICAgICBjb2xvcjogMHhmZmZmZmYsXG4gICAgICAgICAgICAgICAgZGVwdGhUZXN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZXB0aFdyaXRlOiBmYWxzZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fbGluZVRhcmdldCA9IG5ldyBUSFJFRS5MaW5lU2VnbWVudHMoZ2VvbWV0cnksIG1hdGVyaWFsKTtcbiAgICAgICAgICAgIHRoaXMuX2xpbmVUYXJnZXQuZnJ1c3R1bUN1bGxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5hZGQodGhpcy5fbGluZVRhcmdldCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGlzcG9zZSgpIHtcbiAgICAgICAgdGhpcy5fbWVzaFlhdy5nZW9tZXRyeS5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMuX21lc2hZYXcubWF0ZXJpYWwuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLl9tZXNoUGl0Y2guZ2VvbWV0cnkuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLl9tZXNoUGl0Y2gubWF0ZXJpYWwuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLl9saW5lVGFyZ2V0Lmdlb21ldHJ5LmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5fbGluZVRhcmdldC5tYXRlcmlhbC5kaXNwb3NlKCk7XG4gICAgfVxuICAgIHVwZGF0ZU1hdHJpeFdvcmxkKGZvcmNlKSB7XG4gICAgICAgIC8vIHVwZGF0ZSBnZW9tZXRyaWVzXG4gICAgICAgIGNvbnN0IHlhdyA9IFRIUkVFLk1hdGhVdGlscy5ERUcyUkFEICogdGhpcy52cm1Mb29rQXQueWF3O1xuICAgICAgICB0aGlzLl9tZXNoWWF3Lmdlb21ldHJ5LnRoZXRhID0geWF3O1xuICAgICAgICB0aGlzLl9tZXNoWWF3Lmdlb21ldHJ5LnVwZGF0ZSgpO1xuICAgICAgICBjb25zdCBwaXRjaCA9IFRIUkVFLk1hdGhVdGlscy5ERUcyUkFEICogdGhpcy52cm1Mb29rQXQucGl0Y2g7XG4gICAgICAgIHRoaXMuX21lc2hQaXRjaC5nZW9tZXRyeS50aGV0YSA9IHBpdGNoO1xuICAgICAgICB0aGlzLl9tZXNoUGl0Y2guZ2VvbWV0cnkudXBkYXRlKCk7XG4gICAgICAgIC8vIGdldCB3b3JsZCBwb3NpdGlvbiBhbmQgcXVhdGVybmlvblxuICAgICAgICB0aGlzLnZybUxvb2tBdC5nZXRMb29rQXRXb3JsZFBvc2l0aW9uKF92M0EkMSk7XG4gICAgICAgIHRoaXMudnJtTG9va0F0LmdldExvb2tBdFdvcmxkUXVhdGVybmlvbihfcXVhdEEkMik7XG4gICAgICAgIC8vIGNhbGN1bGF0ZSByb3RhdGlvbiB1c2luZyBmYWNlRnJvbnRcbiAgICAgICAgX3F1YXRBJDIubXVsdGlwbHkodGhpcy52cm1Mb29rQXQuZ2V0RmFjZUZyb250UXVhdGVybmlvbihfcXVhdEIkMikpO1xuICAgICAgICAvLyBzZXQgdHJhbnNmb3JtIHRvIG1lc2hlc1xuICAgICAgICB0aGlzLl9tZXNoWWF3LnBvc2l0aW9uLmNvcHkoX3YzQSQxKTtcbiAgICAgICAgdGhpcy5fbWVzaFlhdy5xdWF0ZXJuaW9uLmNvcHkoX3F1YXRBJDIpO1xuICAgICAgICB0aGlzLl9tZXNoUGl0Y2gucG9zaXRpb24uY29weShfdjNBJDEpO1xuICAgICAgICB0aGlzLl9tZXNoUGl0Y2gucXVhdGVybmlvbi5jb3B5KF9xdWF0QSQyKTtcbiAgICAgICAgdGhpcy5fbWVzaFBpdGNoLnF1YXRlcm5pb24ubXVsdGlwbHkoX3F1YXRCJDIuc2V0RnJvbUF4aXNBbmdsZShWRUMzX1BPU0lUSVZFX1ksIHlhdykpO1xuICAgICAgICB0aGlzLl9tZXNoUGl0Y2gucXVhdGVybmlvbi5tdWx0aXBseShRVUFUX1hZX0NXOTApO1xuICAgICAgICAvLyB1cGRhdGUgdGFyZ2V0IGxpbmUgYW5kIHNwaGVyZVxuICAgICAgICBjb25zdCB7IHRhcmdldCwgYXV0b1VwZGF0ZSB9ID0gdGhpcy52cm1Mb29rQXQ7XG4gICAgICAgIGlmICh0YXJnZXQgIT0gbnVsbCAmJiBhdXRvVXBkYXRlKSB7XG4gICAgICAgICAgICB0YXJnZXQuZ2V0V29ybGRQb3NpdGlvbihfdjNCJDEpLnN1YihfdjNBJDEpO1xuICAgICAgICAgICAgdGhpcy5fbGluZVRhcmdldC5nZW9tZXRyeS50YWlsLmNvcHkoX3YzQiQxKTtcbiAgICAgICAgICAgIHRoaXMuX2xpbmVUYXJnZXQuZ2VvbWV0cnkudXBkYXRlKCk7XG4gICAgICAgICAgICB0aGlzLl9saW5lVGFyZ2V0LnBvc2l0aW9uLmNvcHkoX3YzQSQxKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBhcHBseSB0cmFuc2Zvcm0gdG8gbWVzaGVzXG4gICAgICAgIHN1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKGZvcmNlKTtcbiAgICB9XG59XG5cbmNvbnN0IF9wb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfc2NhbGUgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuLyoqXG4gKiBBIHJlcGxhY2VtZW50IG9mIGBPYmplY3QzRC5nZXRXb3JsZFF1YXRlcm5pb25gLlxuICogRXh0cmFjdCB0aGUgd29ybGQgcXVhdGVybmlvbiBvZiBhbiBvYmplY3QgZnJvbSBpdHMgd29ybGQgc3BhY2UgbWF0cml4LCB3aXRob3V0IGNhbGxpbmcgYE9iamVjdDNELnVwZGF0ZVdvcmxkTWF0cml4YC5cbiAqIFVzZSB0aGlzIHdoZW4geW91J3JlIHN1cmUgdGhhdCB0aGUgd29ybGQgbWF0cml4IGlzIHVwLXRvLWRhdGUuXG4gKlxuICogQHBhcmFtIG9iamVjdCBUaGUgb2JqZWN0XG4gKiBAcGFyYW0gb3V0IEEgdGFyZ2V0IHF1YXRlcm5pb25cbiAqL1xuZnVuY3Rpb24gZ2V0V29ybGRRdWF0ZXJuaW9uTGl0ZShvYmplY3QsIG91dCkge1xuICAgIG9iamVjdC5tYXRyaXhXb3JsZC5kZWNvbXBvc2UoX3Bvc2l0aW9uLCBvdXQsIF9zY2FsZSk7XG4gICAgcmV0dXJuIG91dDtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgYXppbXV0aCAvIGFsdGl0dWRlIGFuZ2xlcyBmcm9tIGEgdmVjdG9yLlxuICpcbiAqIFRoaXMgcmV0dXJucyBhIGRpZmZlcmVuY2Ugb2YgYW5nbGVzIGZyb20gKDEsIDAsIDApLlxuICogQXppbXV0aCByZXByZXNlbnRzIGFuIGFuZ2xlIGFyb3VuZCBZIGF4aXMuXG4gKiBBbHRpdHVkZSByZXByZXNlbnRzIGFuIGFuZ2xlIGFyb3VuZCBaIGF4aXMuXG4gKiBJdCBpcyByb3RhdGVkIGluIGludHJpbnNpYyBZLVogb3JkZXIuXG4gKlxuICogQHBhcmFtIHZlY3RvciBUaGUgdmVjdG9yXG4gKiBAcmV0dXJucyBBIHR1cGxlIGNvbnRhaW5zIHR3byBhbmdsZXMsIGBbIGF6aW11dGgsIGFsdGl0dWRlIF1gXG4gKi9cbmZ1bmN0aW9uIGNhbGNBemltdXRoQWx0aXR1ZGUodmVjdG9yKSB7XG4gICAgcmV0dXJuIFtNYXRoLmF0YW4yKC12ZWN0b3IueiwgdmVjdG9yLngpLCBNYXRoLmF0YW4yKHZlY3Rvci55LCBNYXRoLnNxcnQodmVjdG9yLnggKiB2ZWN0b3IueCArIHZlY3Rvci56ICogdmVjdG9yLnopKV07XG59XG5cbi8qKlxuICogTWFrZSBzdXJlIHRoZSBhbmdsZSBpcyB3aXRoaW4gLVBJIHRvIFBJLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBqc1xuICogc2FuaXRpemVBbmdsZSgxLjUgKiBNYXRoLlBJKSAvLyAtMC41ICogUElcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBhbmdsZSBBbiBpbnB1dCBhbmdsZVxuICovXG5mdW5jdGlvbiBzYW5pdGl6ZUFuZ2xlKGFuZ2xlKSB7XG4gICAgY29uc3Qgcm91bmRUdXJuID0gTWF0aC5yb3VuZChhbmdsZSAvIDIuMCAvIE1hdGguUEkpO1xuICAgIHJldHVybiBhbmdsZSAtIDIuMCAqIE1hdGguUEkgKiByb3VuZFR1cm47XG59XG5cbmNvbnN0IFZFQzNfUE9TSVRJVkVfWiQxID0gbmV3IFRIUkVFLlZlY3RvcjMoMC4wLCAwLjAsIDEuMCk7XG5jb25zdCBfdjNBID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF92M0IgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3YzQyA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfcXVhdEEkMSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfcXVhdEIkMSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfcXVhdEMgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuY29uc3QgX3F1YXREID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9ldWxlckEkMSA9IG5ldyBUSFJFRS5FdWxlcigpO1xuLyoqXG4gKiBBIGNsYXNzIGNvbnRyb2xzIGV5ZSBnYXplIG1vdmVtZW50cyBvZiBhIFZSTS5cbiAqL1xuY2xhc3MgVlJNTG9va0F0IHtcbiAgICAvKipcbiAgICAgKiBJdHMgY3VycmVudCBhbmdsZSBhcm91bmQgWSBheGlzLCBpbiBkZWdyZWUuXG4gICAgICovXG4gICAgZ2V0IHlhdygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3lhdztcbiAgICB9XG4gICAgLyoqXG4gICAgICogSXRzIGN1cnJlbnQgYW5nbGUgYXJvdW5kIFkgYXhpcywgaW4gZGVncmVlLlxuICAgICAqL1xuICAgIHNldCB5YXcodmFsdWUpIHtcbiAgICAgICAgdGhpcy5feWF3ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX25lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSXRzIGN1cnJlbnQgYW5nbGUgYXJvdW5kIFggYXhpcywgaW4gZGVncmVlLlxuICAgICAqL1xuICAgIGdldCBwaXRjaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BpdGNoO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJdHMgY3VycmVudCBhbmdsZSBhcm91bmQgWCBheGlzLCBpbiBkZWdyZWUuXG4gICAgICovXG4gICAgc2V0IHBpdGNoKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3BpdGNoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX25lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBnZXRFdWxlcn0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBnZXQgZXVsZXIoKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignVlJNTG9va0F0OiBldWxlciBpcyBkZXByZWNhdGVkLiB1c2UgZ2V0RXVsZXIoKSBpbnN0ZWFkLicpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRFdWxlcihuZXcgVEhSRUUuRXVsZXIoKSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgVlJNTG9va0F0fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBodW1hbm9pZCBBIHtAbGluayBWUk1IdW1hbm9pZH1cbiAgICAgKiBAcGFyYW0gYXBwbGllciBBIHtAbGluayBWUk1Mb29rQXRBcHBsaWVyfVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGh1bWFub2lkLCBhcHBsaWVyKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgb3JpZ2luIG9mIExvb2tBdC4gUG9zaXRpb24gb2Zmc2V0IGZyb20gdGhlIGhlYWQgYm9uZS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMub2Zmc2V0RnJvbUhlYWRCb25lID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIElmIHRoaXMgaXMgdHJ1ZSwgdGhlIExvb2tBdCB3aWxsIGJlIHVwZGF0ZWQgYXV0b21hdGljYWxseSBieSBjYWxsaW5nIHtAbGluayB1cGRhdGV9LCB0b3dhcmRpbmcgdGhlIGRpcmVjdGlvbiB0byB0aGUge0BsaW5rIHRhcmdldH0uXG4gICAgICAgICAqIGB0cnVlYCBieSBkZWZhdWx0LlxuICAgICAgICAgKlxuICAgICAgICAgKiBTZWUgYWxzbzoge0BsaW5rIHRhcmdldH1cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuYXV0b1VwZGF0ZSA9IHRydWU7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgZnJvbnQgZGlyZWN0aW9uIG9mIHRoZSBmYWNlLlxuICAgICAgICAgKiBJbnRlbmRlZCB0byBiZSB1c2VkIGZvciBWUk0gMC4wIGNvbXBhdCAoVlJNIDAuMCBtb2RlbHMgYXJlIGZhY2luZyBaLSBpbnN0ZWFkIG9mIForKS5cbiAgICAgICAgICogWW91IHVzdWFsbHkgZG9uJ3Qgd2FudCB0byB0b3VjaCB0aGlzLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5mYWNlRnJvbnQgPSBuZXcgVEhSRUUuVmVjdG9yMygwLjAsIDAuMCwgMS4wKTtcbiAgICAgICAgdGhpcy5odW1hbm9pZCA9IGh1bWFub2lkO1xuICAgICAgICB0aGlzLmFwcGxpZXIgPSBhcHBsaWVyO1xuICAgICAgICB0aGlzLl95YXcgPSAwLjA7XG4gICAgICAgIHRoaXMuX3BpdGNoID0gMC4wO1xuICAgICAgICB0aGlzLl9uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuX3Jlc3RIZWFkV29ybGRRdWF0ZXJuaW9uID0gdGhpcy5nZXRMb29rQXRXb3JsZFF1YXRlcm5pb24obmV3IFRIUkVFLlF1YXRlcm5pb24oKSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBpdHMgeWF3LXBpdGNoIGFuZ2xlcyBhcyBhbiBgRXVsZXJgLlxuICAgICAqIERvZXMgTk9UIGNvbnNpZGVyIHtAbGluayBmYWNlRnJvbnR9OyBpdCByZXR1cm5zIGBFdWxlcigwLCAwLCAwOyBcIllYWlwiKWAgYnkgZGVmYXVsdCByZWdhcmRsZXNzIG9mIHRoZSBmYWNlRnJvbnQgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJnZXQgZXVsZXJcbiAgICAgKi9cbiAgICBnZXRFdWxlcih0YXJnZXQpIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldC5zZXQoVEhSRUUuTWF0aFV0aWxzLkRFRzJSQUQgKiB0aGlzLl9waXRjaCwgVEhSRUUuTWF0aFV0aWxzLkRFRzJSQUQgKiB0aGlzLl95YXcsIDAuMCwgJ1lYWicpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb3B5IHRoZSBnaXZlbiB7QGxpbmsgVlJNTG9va0F0fSBpbnRvIHRoaXMgb25lLlxuICAgICAqIHtAbGluayBodW1hbm9pZH0gbXVzdCBiZSBzYW1lIGFzIHRoZSBzb3VyY2Ugb25lLlxuICAgICAqIHtAbGluayBhcHBsaWVyfSB3aWxsIHJlZmVyZW5jZSB0aGUgc2FtZSBpbnN0YW5jZSBhcyB0aGUgc291cmNlIG9uZS5cbiAgICAgKiBAcGFyYW0gc291cmNlIFRoZSB7QGxpbmsgVlJNTG9va0F0fSB5b3Ugd2FudCB0byBjb3B5XG4gICAgICogQHJldHVybnMgdGhpc1xuICAgICAqL1xuICAgIGNvcHkoc291cmNlKSB7XG4gICAgICAgIGlmICh0aGlzLmh1bWFub2lkICE9PSBzb3VyY2UuaHVtYW5vaWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVlJNTG9va0F0OiBodW1hbm9pZCBtdXN0IGJlIHNhbWUgaW4gb3JkZXIgdG8gY29weScpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub2Zmc2V0RnJvbUhlYWRCb25lLmNvcHkoc291cmNlLm9mZnNldEZyb21IZWFkQm9uZSk7XG4gICAgICAgIHRoaXMuYXBwbGllciA9IHNvdXJjZS5hcHBsaWVyO1xuICAgICAgICB0aGlzLmF1dG9VcGRhdGUgPSBzb3VyY2UuYXV0b1VwZGF0ZTtcbiAgICAgICAgdGhpcy50YXJnZXQgPSBzb3VyY2UudGFyZ2V0O1xuICAgICAgICB0aGlzLmZhY2VGcm9udC5jb3B5KHNvdXJjZS5mYWNlRnJvbnQpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIGNsb25lIG9mIHRoaXMge0BsaW5rIFZSTUxvb2tBdH0uXG4gICAgICogTm90ZSB0aGF0IHtAbGluayBodW1hbm9pZH0gYW5kIHtAbGluayBhcHBsaWVyfSB3aWxsIHJlZmVyZW5jZSB0aGUgc2FtZSBpbnN0YW5jZSBhcyB0aGlzIG9uZS5cbiAgICAgKiBAcmV0dXJucyBDb3BpZWQge0BsaW5rIFZSTUxvb2tBdH1cbiAgICAgKi9cbiAgICBjbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBWUk1Mb29rQXQodGhpcy5odW1hbm9pZCwgdGhpcy5hcHBsaWVyKS5jb3B5KHRoaXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNldCB0aGUgbG9va0F0IGRpcmVjdGlvbiAoeWF3IGFuZCBwaXRjaCkgdG8gdGhlIGluaXRpYWwgZGlyZWN0aW9uLlxuICAgICAqL1xuICAgIHJlc2V0KCkge1xuICAgICAgICB0aGlzLl95YXcgPSAwLjA7XG4gICAgICAgIHRoaXMuX3BpdGNoID0gMC4wO1xuICAgICAgICB0aGlzLl9uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBpdHMgbG9va0F0IHBvc2l0aW9uIGluIHdvcmxkIGNvb3JkaW5hdGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IEEgdGFyZ2V0IGBUSFJFRS5WZWN0b3IzYFxuICAgICAqL1xuICAgIGdldExvb2tBdFdvcmxkUG9zaXRpb24odGFyZ2V0KSB7XG4gICAgICAgIGNvbnN0IGhlYWQgPSB0aGlzLmh1bWFub2lkLmdldFJhd0JvbmVOb2RlKCdoZWFkJyk7XG4gICAgICAgIHJldHVybiB0YXJnZXQuY29weSh0aGlzLm9mZnNldEZyb21IZWFkQm9uZSkuYXBwbHlNYXRyaXg0KGhlYWQubWF0cml4V29ybGQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgaXRzIGxvb2tBdCByb3RhdGlvbiBpbiB3b3JsZCBjb29yZGluYXRlLlxuICAgICAqIERvZXMgTk9UIGNvbnNpZGVyIHtAbGluayBmYWNlRnJvbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldCBBIHRhcmdldCBgVEhSRUUuUXVhdGVybmlvbmBcbiAgICAgKi9cbiAgICBnZXRMb29rQXRXb3JsZFF1YXRlcm5pb24odGFyZ2V0KSB7XG4gICAgICAgIGNvbnN0IGhlYWQgPSB0aGlzLmh1bWFub2lkLmdldFJhd0JvbmVOb2RlKCdoZWFkJyk7XG4gICAgICAgIHJldHVybiBnZXRXb3JsZFF1YXRlcm5pb25MaXRlKGhlYWQsIHRhcmdldCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBhIHF1YXRlcm5pb24gdGhhdCByb3RhdGVzIHRoZSArWiB1bml0IHZlY3RvciBvZiB0aGUgaHVtYW5vaWQgSGVhZCB0byB0aGUge0BsaW5rIGZhY2VGcm9udH0gZGlyZWN0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldCBBIHRhcmdldCBgVEhSRUUuUXVhdGVybmlvbmBcbiAgICAgKi9cbiAgICBnZXRGYWNlRnJvbnRRdWF0ZXJuaW9uKHRhcmdldCkge1xuICAgICAgICBpZiAodGhpcy5mYWNlRnJvbnQuZGlzdGFuY2VUb1NxdWFyZWQoVkVDM19QT1NJVElWRV9aJDEpIDwgMC4wMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5jb3B5KHRoaXMuX3Jlc3RIZWFkV29ybGRRdWF0ZXJuaW9uKS5pbnZlcnQoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbZmFjZUZyb250QXppbXV0aCwgZmFjZUZyb250QWx0aXR1ZGVdID0gY2FsY0F6aW11dGhBbHRpdHVkZSh0aGlzLmZhY2VGcm9udCk7XG4gICAgICAgIF9ldWxlckEkMS5zZXQoMC4wLCAwLjUgKiBNYXRoLlBJICsgZmFjZUZyb250QXppbXV0aCwgZmFjZUZyb250QWx0aXR1ZGUsICdZWlgnKTtcbiAgICAgICAgcmV0dXJuIHRhcmdldC5zZXRGcm9tRXVsZXIoX2V1bGVyQSQxKS5wcmVtdWx0aXBseShfcXVhdEQuY29weSh0aGlzLl9yZXN0SGVhZFdvcmxkUXVhdGVybmlvbikuaW52ZXJ0KCkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgaXRzIExvb2tBdCBkaXJlY3Rpb24gaW4gd29ybGQgY29vcmRpbmF0ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQgQSB0YXJnZXQgYFRIUkVFLlZlY3RvcjNgXG4gICAgICovXG4gICAgZ2V0TG9va0F0V29ybGREaXJlY3Rpb24odGFyZ2V0KSB7XG4gICAgICAgIHRoaXMuZ2V0TG9va0F0V29ybGRRdWF0ZXJuaW9uKF9xdWF0QiQxKTtcbiAgICAgICAgdGhpcy5nZXRGYWNlRnJvbnRRdWF0ZXJuaW9uKF9xdWF0Qyk7XG4gICAgICAgIHJldHVybiB0YXJnZXRcbiAgICAgICAgICAgIC5jb3B5KFZFQzNfUE9TSVRJVkVfWiQxKVxuICAgICAgICAgICAgLmFwcGx5UXVhdGVybmlvbihfcXVhdEIkMSlcbiAgICAgICAgICAgIC5hcHBseVF1YXRlcm5pb24oX3F1YXRDKVxuICAgICAgICAgICAgLmFwcGx5RXVsZXIodGhpcy5nZXRFdWxlcihfZXVsZXJBJDEpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IGl0cyBsb29rQXQgdGFyZ2V0IHBvc2l0aW9uLlxuICAgICAqXG4gICAgICogTm90ZSB0aGF0IGl0cyByZXN1bHQgd2lsbCBiZSBpbnN0YW50bHkgb3ZlcndyaXR0ZW4gaWYge0BsaW5rIFZSTUxvb2tBdEhlYWQuYXV0b1VwZGF0ZX0gaXMgZW5hYmxlZC5cbiAgICAgKlxuICAgICAqIElmIHlvdSB3YW50IHRvIHRyYWNrIGFuIG9iamVjdCBjb250aW51b3VzbHksIHlvdSBtaWdodCB3YW50IHRvIHVzZSB7QGxpbmsgdGFyZ2V0fSBpbnN0ZWFkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBvc2l0aW9uIEEgdGFyZ2V0IHBvc2l0aW9uLCBpbiB3b3JsZCBzcGFjZVxuICAgICAqL1xuICAgIGxvb2tBdChwb3NpdGlvbikge1xuICAgICAgICAvLyBMb29rIGF0IGRpcmVjdGlvbiBpbiBsb2NhbCBjb29yZGluYXRlXG4gICAgICAgIGNvbnN0IGhlYWRSb3REaWZmSW52ID0gX3F1YXRBJDFcbiAgICAgICAgICAgIC5jb3B5KHRoaXMuX3Jlc3RIZWFkV29ybGRRdWF0ZXJuaW9uKVxuICAgICAgICAgICAgLm11bHRpcGx5KHF1YXRJbnZlcnRDb21wYXQodGhpcy5nZXRMb29rQXRXb3JsZFF1YXRlcm5pb24oX3F1YXRCJDEpKSk7XG4gICAgICAgIGNvbnN0IGhlYWRQb3MgPSB0aGlzLmdldExvb2tBdFdvcmxkUG9zaXRpb24oX3YzQik7XG4gICAgICAgIGNvbnN0IGxvb2tBdERpciA9IF92M0MuY29weShwb3NpdGlvbikuc3ViKGhlYWRQb3MpLmFwcGx5UXVhdGVybmlvbihoZWFkUm90RGlmZkludikubm9ybWFsaXplKCk7XG4gICAgICAgIC8vIGNhbGN1bGF0ZSBhbmdsZXNcbiAgICAgICAgY29uc3QgW2F6aW11dGhGcm9tLCBhbHRpdHVkZUZyb21dID0gY2FsY0F6aW11dGhBbHRpdHVkZSh0aGlzLmZhY2VGcm9udCk7XG4gICAgICAgIGNvbnN0IFthemltdXRoVG8sIGFsdGl0dWRlVG9dID0gY2FsY0F6aW11dGhBbHRpdHVkZShsb29rQXREaXIpO1xuICAgICAgICBjb25zdCB5YXcgPSBzYW5pdGl6ZUFuZ2xlKGF6aW11dGhUbyAtIGF6aW11dGhGcm9tKTtcbiAgICAgICAgY29uc3QgcGl0Y2ggPSBzYW5pdGl6ZUFuZ2xlKGFsdGl0dWRlRnJvbSAtIGFsdGl0dWRlVG8pOyAvLyBzcGlubmluZyAoMSwgMCwgMCkgQ0NXIGFyb3VuZCBaIGF4aXMgbWFrZXMgdGhlIHZlY3RvciBsb29rIHVwLCB3aGlsZSBzcGlubmluZyAoMCwgMCwgMSkgQ0NXIGFyb3VuZCBYIGF4aXMgbWFrZXMgdGhlIHZlY3RvciBsb29rIGRvd25cbiAgICAgICAgLy8gYXBwbHkgYW5nbGVzXG4gICAgICAgIHRoaXMuX3lhdyA9IFRIUkVFLk1hdGhVdGlscy5SQUQyREVHICogeWF3O1xuICAgICAgICB0aGlzLl9waXRjaCA9IFRIUkVFLk1hdGhVdGlscy5SQUQyREVHICogcGl0Y2g7XG4gICAgICAgIHRoaXMuX25lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSBWUk1Mb29rQXRIZWFkLlxuICAgICAqIElmIHtAbGluayBhdXRvVXBkYXRlfSBpcyBlbmFibGVkLCB0aGlzIHdpbGwgbWFrZSBpdCBsb29rIGF0IHRoZSB7QGxpbmsgdGFyZ2V0fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkZWx0YSBkZWx0YVRpbWUsIGl0IGlzbid0IHVzZWQgdGhvdWdoLiBZb3UgY2FuIHVzZSB0aGUgcGFyYW1ldGVyIGlmIHlvdSB3YW50IHRvIHVzZSB0aGlzIGluIHlvdXIgb3duIGV4dGVuZGVkIHtAbGluayBWUk1Mb29rQXR9LlxuICAgICAqL1xuICAgIHVwZGF0ZShkZWx0YSkge1xuICAgICAgICBpZiAodGhpcy50YXJnZXQgIT0gbnVsbCAmJiB0aGlzLmF1dG9VcGRhdGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9va0F0KHRoaXMudGFyZ2V0LmdldFdvcmxkUG9zaXRpb24oX3YzQSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9uZWVkc1VwZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fbmVlZHNVcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYXBwbGllci5hcHBseVlhd1BpdGNoKHRoaXMuX3lhdywgdGhpcy5fcGl0Y2gpO1xuICAgICAgICB9XG4gICAgfVxufVxuVlJNTG9va0F0LkVVTEVSX09SREVSID0gJ1lYWic7IC8vIHlhdy1waXRjaC1yb2xsXG5cbmNvbnN0IFZFQzNfUE9TSVRJVkVfWiA9IG5ldyBUSFJFRS5WZWN0b3IzKDAuMCwgMC4wLCAxLjApO1xuY29uc3QgX3F1YXRBID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9xdWF0QiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBfZXVsZXJBID0gbmV3IFRIUkVFLkV1bGVyKDAuMCwgMC4wLCAwLjAsICdZWFonKTtcbi8qKlxuICogQSBjbGFzcyB0aGF0IGFwcGxpZXMgZXllIGdhemUgZGlyZWN0aW9ucyB0byBhIFZSTS5cbiAqIEl0IHdpbGwgYmUgdXNlZCBieSB7QGxpbmsgVlJNTG9va0F0fS5cbiAqL1xuY2xhc3MgVlJNTG9va0F0Qm9uZUFwcGxpZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgVlJNTG9va0F0Qm9uZUFwcGxpZXJ9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGh1bWFub2lkIEEge0BsaW5rIFZSTUh1bWFub2lkfVxuICAgICAqIEBwYXJhbSByYW5nZU1hcEhvcml6b250YWxJbm5lciBBIHtAbGluayBWUk1Mb29rQXRSYW5nZU1hcH0gdXNlZCBmb3IgaW5uZXIgdHJhbnN2ZXJzZSBkaXJlY3Rpb25cbiAgICAgKiBAcGFyYW0gcmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXIgQSB7QGxpbmsgVlJNTG9va0F0UmFuZ2VNYXB9IHVzZWQgZm9yIG91dGVyIHRyYW5zdmVyc2UgZGlyZWN0aW9uXG4gICAgICogQHBhcmFtIHJhbmdlTWFwVmVydGljYWxEb3duIEEge0BsaW5rIFZSTUxvb2tBdFJhbmdlTWFwfSB1c2VkIGZvciBkb3duIGRpcmVjdGlvblxuICAgICAqIEBwYXJhbSByYW5nZU1hcFZlcnRpY2FsVXAgQSB7QGxpbmsgVlJNTG9va0F0UmFuZ2VNYXB9IHVzZWQgZm9yIHVwIGRpcmVjdGlvblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGh1bWFub2lkLCByYW5nZU1hcEhvcml6b250YWxJbm5lciwgcmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXIsIHJhbmdlTWFwVmVydGljYWxEb3duLCByYW5nZU1hcFZlcnRpY2FsVXApIHtcbiAgICAgICAgdGhpcy5odW1hbm9pZCA9IGh1bWFub2lkO1xuICAgICAgICB0aGlzLnJhbmdlTWFwSG9yaXpvbnRhbElubmVyID0gcmFuZ2VNYXBIb3Jpem9udGFsSW5uZXI7XG4gICAgICAgIHRoaXMucmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXIgPSByYW5nZU1hcEhvcml6b250YWxPdXRlcjtcbiAgICAgICAgdGhpcy5yYW5nZU1hcFZlcnRpY2FsRG93biA9IHJhbmdlTWFwVmVydGljYWxEb3duO1xuICAgICAgICB0aGlzLnJhbmdlTWFwVmVydGljYWxVcCA9IHJhbmdlTWFwVmVydGljYWxVcDtcbiAgICAgICAgdGhpcy5mYWNlRnJvbnQgPSBuZXcgVEhSRUUuVmVjdG9yMygwLjAsIDAuMCwgMS4wKTtcbiAgICAgICAgLy8gc2V0IHJlc3QgcXVhdGVybmlvbnNcbiAgICAgICAgdGhpcy5fcmVzdFF1YXRMZWZ0RXllID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICAgICAgdGhpcy5fcmVzdFF1YXRSaWdodEV5ZSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgICAgIHRoaXMuX3Jlc3RMZWZ0RXllUGFyZW50V29ybGRRdWF0ID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICAgICAgdGhpcy5fcmVzdFJpZ2h0RXllUGFyZW50V29ybGRRdWF0ID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICAgICAgY29uc3QgbGVmdEV5ZSA9IHRoaXMuaHVtYW5vaWQuZ2V0UmF3Qm9uZU5vZGUoJ2xlZnRFeWUnKTtcbiAgICAgICAgY29uc3QgcmlnaHRFeWUgPSB0aGlzLmh1bWFub2lkLmdldFJhd0JvbmVOb2RlKCdyaWdodEV5ZScpO1xuICAgICAgICBpZiAobGVmdEV5ZSkge1xuICAgICAgICAgICAgdGhpcy5fcmVzdFF1YXRMZWZ0RXllLmNvcHkobGVmdEV5ZS5xdWF0ZXJuaW9uKTtcbiAgICAgICAgICAgIGdldFdvcmxkUXVhdGVybmlvbkxpdGUobGVmdEV5ZS5wYXJlbnQsIHRoaXMuX3Jlc3RMZWZ0RXllUGFyZW50V29ybGRRdWF0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmlnaHRFeWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3RRdWF0UmlnaHRFeWUuY29weShyaWdodEV5ZS5xdWF0ZXJuaW9uKTtcbiAgICAgICAgICAgIGdldFdvcmxkUXVhdGVybmlvbkxpdGUocmlnaHRFeWUucGFyZW50LCB0aGlzLl9yZXN0UmlnaHRFeWVQYXJlbnRXb3JsZFF1YXQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFwcGx5IHRoZSBpbnB1dCBhbmdsZSB0byBpdHMgYXNzb2NpYXRlZCBWUk0gbW9kZWwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0geWF3IFJvdGF0aW9uIGFyb3VuZCBZIGF4aXMsIGluIGRlZ3JlZVxuICAgICAqIEBwYXJhbSBwaXRjaCBSb3RhdGlvbiBhcm91bmQgWCBheGlzLCBpbiBkZWdyZWVcbiAgICAgKi9cbiAgICBhcHBseVlhd1BpdGNoKHlhdywgcGl0Y2gpIHtcbiAgICAgICAgY29uc3QgbGVmdEV5ZSA9IHRoaXMuaHVtYW5vaWQuZ2V0UmF3Qm9uZU5vZGUoJ2xlZnRFeWUnKTtcbiAgICAgICAgY29uc3QgcmlnaHRFeWUgPSB0aGlzLmh1bWFub2lkLmdldFJhd0JvbmVOb2RlKCdyaWdodEV5ZScpO1xuICAgICAgICBjb25zdCBsZWZ0RXllTm9ybWFsaXplZCA9IHRoaXMuaHVtYW5vaWQuZ2V0Tm9ybWFsaXplZEJvbmVOb2RlKCdsZWZ0RXllJyk7XG4gICAgICAgIGNvbnN0IHJpZ2h0RXllTm9ybWFsaXplZCA9IHRoaXMuaHVtYW5vaWQuZ2V0Tm9ybWFsaXplZEJvbmVOb2RlKCdyaWdodEV5ZScpO1xuICAgICAgICAvLyBsZWZ0XG4gICAgICAgIGlmIChsZWZ0RXllKSB7XG4gICAgICAgICAgICBpZiAocGl0Y2ggPCAwLjApIHtcbiAgICAgICAgICAgICAgICBfZXVsZXJBLnggPSAtVEhSRUUuTWF0aFV0aWxzLkRFRzJSQUQgKiB0aGlzLnJhbmdlTWFwVmVydGljYWxEb3duLm1hcCgtcGl0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgX2V1bGVyQS54ID0gVEhSRUUuTWF0aFV0aWxzLkRFRzJSQUQgKiB0aGlzLnJhbmdlTWFwVmVydGljYWxVcC5tYXAocGl0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHlhdyA8IDAuMCkge1xuICAgICAgICAgICAgICAgIF9ldWxlckEueSA9IC1USFJFRS5NYXRoVXRpbHMuREVHMlJBRCAqIHRoaXMucmFuZ2VNYXBIb3Jpem9udGFsSW5uZXIubWFwKC15YXcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgX2V1bGVyQS55ID0gVEhSRUUuTWF0aFV0aWxzLkRFRzJSQUQgKiB0aGlzLnJhbmdlTWFwSG9yaXpvbnRhbE91dGVyLm1hcCh5YXcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX3F1YXRBLnNldEZyb21FdWxlcihfZXVsZXJBKTtcbiAgICAgICAgICAgIHRoaXMuX2dldFdvcmxkRmFjZUZyb250UXVhdChfcXVhdEIpO1xuICAgICAgICAgICAgLy8gX3F1YXRCICogX3F1YXRBICogX3F1YXRCXi0xXG4gICAgICAgICAgICAvLyB3aGVyZSBfcXVhdEEgaXMgTG9va0F0IHJvdGF0aW9uXG4gICAgICAgICAgICAvLyBhbmQgX3F1YXRCIGlzIHdvcmxkRmFjZUZyb250UXVhdFxuICAgICAgICAgICAgbGVmdEV5ZU5vcm1hbGl6ZWQucXVhdGVybmlvbi5jb3B5KF9xdWF0QikubXVsdGlwbHkoX3F1YXRBKS5tdWx0aXBseShfcXVhdEIuaW52ZXJ0KCkpO1xuICAgICAgICAgICAgX3F1YXRBLmNvcHkodGhpcy5fcmVzdExlZnRFeWVQYXJlbnRXb3JsZFF1YXQpO1xuICAgICAgICAgICAgLy8gX3F1YXRBXi0xICogbGVmdEV5ZU5vcm1hbGl6ZWQucXVhdGVybmlvbiAqIF9xdWF0QSAqIHJlc3RRdWF0TGVmdEV5ZVxuICAgICAgICAgICAgLy8gd2hlcmUgX3F1YXRBIGlzIHJlc3RMZWZ0RXllUGFyZW50V29ybGRRdWF0XG4gICAgICAgICAgICBsZWZ0RXllLnF1YXRlcm5pb25cbiAgICAgICAgICAgICAgICAuY29weShsZWZ0RXllTm9ybWFsaXplZC5xdWF0ZXJuaW9uKVxuICAgICAgICAgICAgICAgIC5tdWx0aXBseShfcXVhdEEpXG4gICAgICAgICAgICAgICAgLnByZW11bHRpcGx5KF9xdWF0QS5pbnZlcnQoKSlcbiAgICAgICAgICAgICAgICAubXVsdGlwbHkodGhpcy5fcmVzdFF1YXRMZWZ0RXllKTtcbiAgICAgICAgfVxuICAgICAgICAvLyByaWdodFxuICAgICAgICBpZiAocmlnaHRFeWUpIHtcbiAgICAgICAgICAgIGlmIChwaXRjaCA8IDAuMCkge1xuICAgICAgICAgICAgICAgIF9ldWxlckEueCA9IC1USFJFRS5NYXRoVXRpbHMuREVHMlJBRCAqIHRoaXMucmFuZ2VNYXBWZXJ0aWNhbERvd24ubWFwKC1waXRjaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBfZXVsZXJBLnggPSBUSFJFRS5NYXRoVXRpbHMuREVHMlJBRCAqIHRoaXMucmFuZ2VNYXBWZXJ0aWNhbFVwLm1hcChwaXRjaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoeWF3IDwgMC4wKSB7XG4gICAgICAgICAgICAgICAgX2V1bGVyQS55ID0gLVRIUkVFLk1hdGhVdGlscy5ERUcyUkFEICogdGhpcy5yYW5nZU1hcEhvcml6b250YWxPdXRlci5tYXAoLXlhdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBfZXVsZXJBLnkgPSBUSFJFRS5NYXRoVXRpbHMuREVHMlJBRCAqIHRoaXMucmFuZ2VNYXBIb3Jpem9udGFsSW5uZXIubWFwKHlhdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBfcXVhdEEuc2V0RnJvbUV1bGVyKF9ldWxlckEpO1xuICAgICAgICAgICAgdGhpcy5fZ2V0V29ybGRGYWNlRnJvbnRRdWF0KF9xdWF0Qik7XG4gICAgICAgICAgICAvLyBfcXVhdEIgKiBfcXVhdEEgKiBfcXVhdEJeLTFcbiAgICAgICAgICAgIC8vIHdoZXJlIF9xdWF0QSBpcyBMb29rQXQgcm90YXRpb25cbiAgICAgICAgICAgIC8vIGFuZCBfcXVhdEIgaXMgd29ybGRGYWNlRnJvbnRRdWF0XG4gICAgICAgICAgICByaWdodEV5ZU5vcm1hbGl6ZWQucXVhdGVybmlvbi5jb3B5KF9xdWF0QikubXVsdGlwbHkoX3F1YXRBKS5tdWx0aXBseShfcXVhdEIuaW52ZXJ0KCkpO1xuICAgICAgICAgICAgX3F1YXRBLmNvcHkodGhpcy5fcmVzdFJpZ2h0RXllUGFyZW50V29ybGRRdWF0KTtcbiAgICAgICAgICAgIC8vIF9xdWF0QV4tMSAqIHJpZ2h0RXllTm9ybWFsaXplZC5xdWF0ZXJuaW9uICogX3F1YXRBICogcmVzdFF1YXRSaWdodEV5ZVxuICAgICAgICAgICAgLy8gd2hlcmUgX3F1YXRBIGlzIHJlc3RSaWdodEV5ZVBhcmVudFdvcmxkUXVhdFxuICAgICAgICAgICAgcmlnaHRFeWUucXVhdGVybmlvblxuICAgICAgICAgICAgICAgIC5jb3B5KHJpZ2h0RXllTm9ybWFsaXplZC5xdWF0ZXJuaW9uKVxuICAgICAgICAgICAgICAgIC5tdWx0aXBseShfcXVhdEEpXG4gICAgICAgICAgICAgICAgLnByZW11bHRpcGx5KF9xdWF0QS5pbnZlcnQoKSlcbiAgICAgICAgICAgICAgICAubXVsdGlwbHkodGhpcy5fcmVzdFF1YXRSaWdodEV5ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBhcHBseVlhd1BpdGNofSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIGxvb2tBdChldWxlcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUxvb2tBdEJvbmVBcHBsaWVyOiBsb29rQXQoKSBpcyBkZXByZWNhdGVkLiB1c2UgYXBwbHkoKSBpbnN0ZWFkLicpO1xuICAgICAgICBjb25zdCB5YXcgPSBUSFJFRS5NYXRoVXRpbHMuUkFEMkRFRyAqIGV1bGVyLnk7XG4gICAgICAgIGNvbnN0IHBpdGNoID0gVEhSRUUuTWF0aFV0aWxzLlJBRDJERUcgKiBldWxlci54O1xuICAgICAgICB0aGlzLmFwcGx5WWF3UGl0Y2goeWF3LCBwaXRjaCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBhIHF1YXRlcm5pb24gdGhhdCByb3RhdGVzIHRoZSB3b3JsZC1zcGFjZSArWiB1bml0IHZlY3RvciB0byB0aGUge0BsaW5rIGZhY2VGcm9udH0gZGlyZWN0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldCBBIHRhcmdldCBgVEhSRUUuUXVhdGVybmlvbmBcbiAgICAgKi9cbiAgICBfZ2V0V29ybGRGYWNlRnJvbnRRdWF0KHRhcmdldCkge1xuICAgICAgICBpZiAodGhpcy5mYWNlRnJvbnQuZGlzdGFuY2VUb1NxdWFyZWQoVkVDM19QT1NJVElWRV9aKSA8IDAuMDEpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQuaWRlbnRpdHkoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbZmFjZUZyb250QXppbXV0aCwgZmFjZUZyb250QWx0aXR1ZGVdID0gY2FsY0F6aW11dGhBbHRpdHVkZSh0aGlzLmZhY2VGcm9udCk7XG4gICAgICAgIF9ldWxlckEuc2V0KDAuMCwgMC41ICogTWF0aC5QSSArIGZhY2VGcm9udEF6aW11dGgsIGZhY2VGcm9udEFsdGl0dWRlLCAnWVpYJyk7XG4gICAgICAgIHJldHVybiB0YXJnZXQuc2V0RnJvbUV1bGVyKF9ldWxlckEpO1xuICAgIH1cbn1cbi8qKlxuICogUmVwcmVzZW50IGl0cyB0eXBlIG9mIGFwcGxpZXIuXG4gKi9cblZSTUxvb2tBdEJvbmVBcHBsaWVyLnR5cGUgPSAnYm9uZSc7XG5cbi8qKlxuICogQSBjbGFzcyB0aGF0IGFwcGxpZXMgZXllIGdhemUgZGlyZWN0aW9ucyB0byBhIFZSTS5cbiAqIEl0IHdpbGwgYmUgdXNlZCBieSB7QGxpbmsgVlJNTG9va0F0fS5cbiAqL1xuY2xhc3MgVlJNTG9va0F0RXhwcmVzc2lvbkFwcGxpZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgVlJNTG9va0F0RXhwcmVzc2lvbkFwcGxpZXJ9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGV4cHJlc3Npb25zIEEge0BsaW5rIFZSTUV4cHJlc3Npb25NYW5hZ2VyfVxuICAgICAqIEBwYXJhbSByYW5nZU1hcEhvcml6b250YWxJbm5lciBBIHtAbGluayBWUk1Mb29rQXRSYW5nZU1hcH0gdXNlZCBmb3IgaW5uZXIgdHJhbnN2ZXJzZSBkaXJlY3Rpb25cbiAgICAgKiBAcGFyYW0gcmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXIgQSB7QGxpbmsgVlJNTG9va0F0UmFuZ2VNYXB9IHVzZWQgZm9yIG91dGVyIHRyYW5zdmVyc2UgZGlyZWN0aW9uXG4gICAgICogQHBhcmFtIHJhbmdlTWFwVmVydGljYWxEb3duIEEge0BsaW5rIFZSTUxvb2tBdFJhbmdlTWFwfSB1c2VkIGZvciBkb3duIGRpcmVjdGlvblxuICAgICAqIEBwYXJhbSByYW5nZU1hcFZlcnRpY2FsVXAgQSB7QGxpbmsgVlJNTG9va0F0UmFuZ2VNYXB9IHVzZWQgZm9yIHVwIGRpcmVjdGlvblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGV4cHJlc3Npb25zLCByYW5nZU1hcEhvcml6b250YWxJbm5lciwgcmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXIsIHJhbmdlTWFwVmVydGljYWxEb3duLCByYW5nZU1hcFZlcnRpY2FsVXApIHtcbiAgICAgICAgdGhpcy5leHByZXNzaW9ucyA9IGV4cHJlc3Npb25zO1xuICAgICAgICB0aGlzLnJhbmdlTWFwSG9yaXpvbnRhbElubmVyID0gcmFuZ2VNYXBIb3Jpem9udGFsSW5uZXI7XG4gICAgICAgIHRoaXMucmFuZ2VNYXBIb3Jpem9udGFsT3V0ZXIgPSByYW5nZU1hcEhvcml6b250YWxPdXRlcjtcbiAgICAgICAgdGhpcy5yYW5nZU1hcFZlcnRpY2FsRG93biA9IHJhbmdlTWFwVmVydGljYWxEb3duO1xuICAgICAgICB0aGlzLnJhbmdlTWFwVmVydGljYWxVcCA9IHJhbmdlTWFwVmVydGljYWxVcDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQXBwbHkgdGhlIGlucHV0IGFuZ2xlIHRvIGl0cyBhc3NvY2lhdGVkIFZSTSBtb2RlbC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB5YXcgUm90YXRpb24gYXJvdW5kIFkgYXhpcywgaW4gZGVncmVlXG4gICAgICogQHBhcmFtIHBpdGNoIFJvdGF0aW9uIGFyb3VuZCBYIGF4aXMsIGluIGRlZ3JlZVxuICAgICAqL1xuICAgIGFwcGx5WWF3UGl0Y2goeWF3LCBwaXRjaCkge1xuICAgICAgICBpZiAocGl0Y2ggPCAwLjApIHtcbiAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMuc2V0VmFsdWUoJ2xvb2tEb3duJywgMC4wKTtcbiAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMuc2V0VmFsdWUoJ2xvb2tVcCcsIHRoaXMucmFuZ2VNYXBWZXJ0aWNhbFVwLm1hcCgtcGl0Y2gpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMuc2V0VmFsdWUoJ2xvb2tVcCcsIDAuMCk7XG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25zLnNldFZhbHVlKCdsb29rRG93bicsIHRoaXMucmFuZ2VNYXBWZXJ0aWNhbERvd24ubWFwKHBpdGNoKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHlhdyA8IDAuMCkge1xuICAgICAgICAgICAgdGhpcy5leHByZXNzaW9ucy5zZXRWYWx1ZSgnbG9va0xlZnQnLCAwLjApO1xuICAgICAgICAgICAgdGhpcy5leHByZXNzaW9ucy5zZXRWYWx1ZSgnbG9va1JpZ2h0JywgdGhpcy5yYW5nZU1hcEhvcml6b250YWxPdXRlci5tYXAoLXlhdykpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leHByZXNzaW9ucy5zZXRWYWx1ZSgnbG9va1JpZ2h0JywgMC4wKTtcbiAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMuc2V0VmFsdWUoJ2xvb2tMZWZ0JywgdGhpcy5yYW5nZU1hcEhvcml6b250YWxPdXRlci5tYXAoeWF3KSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBhcHBseVlhd1BpdGNofSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIGxvb2tBdChldWxlcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUxvb2tBdEJvbmVBcHBsaWVyOiBsb29rQXQoKSBpcyBkZXByZWNhdGVkLiB1c2UgYXBwbHkoKSBpbnN0ZWFkLicpO1xuICAgICAgICBjb25zdCB5YXcgPSBUSFJFRS5NYXRoVXRpbHMuUkFEMkRFRyAqIGV1bGVyLnk7XG4gICAgICAgIGNvbnN0IHBpdGNoID0gVEhSRUUuTWF0aFV0aWxzLlJBRDJERUcgKiBldWxlci54O1xuICAgICAgICB0aGlzLmFwcGx5WWF3UGl0Y2goeWF3LCBwaXRjaCk7XG4gICAgfVxufVxuLyoqXG4gKiBSZXByZXNlbnQgaXRzIHR5cGUgb2YgYXBwbGllci5cbiAqL1xuVlJNTG9va0F0RXhwcmVzc2lvbkFwcGxpZXIudHlwZSA9ICdleHByZXNzaW9uJztcblxuY2xhc3MgVlJNTG9va0F0UmFuZ2VNYXAge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgVlJNTG9va0F0UmFuZ2VNYXB9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGlucHV0TWF4VmFsdWUgVGhlIHtAbGluayBpbnB1dE1heFZhbHVlfSBvZiB0aGUgbWFwXG4gICAgICogQHBhcmFtIG91dHB1dFNjYWxlIFRoZSB7QGxpbmsgb3V0cHV0U2NhbGV9IG9mIHRoZSBtYXBcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihpbnB1dE1heFZhbHVlLCBvdXRwdXRTY2FsZSkge1xuICAgICAgICB0aGlzLmlucHV0TWF4VmFsdWUgPSBpbnB1dE1heFZhbHVlO1xuICAgICAgICB0aGlzLm91dHB1dFNjYWxlID0gb3V0cHV0U2NhbGU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEV2YWx1YXRlIGFuIGlucHV0IHZhbHVlIGFuZCBvdXRwdXQgYSBtYXBwZWQgdmFsdWUuXG4gICAgICogQHBhcmFtIHNyYyBUaGUgaW5wdXQgdmFsdWVcbiAgICAgKi9cbiAgICBtYXAoc3JjKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm91dHB1dFNjYWxlICogc2F0dXJhdGUoc3JjIC8gdGhpcy5pbnB1dE1heFZhbHVlKTtcbiAgICB9XG59XG5cbi8qKlxuICogUG9zc2libGUgc3BlYyB2ZXJzaW9ucyBpdCByZWNvZ25pemVzLlxuICovXG5jb25zdCBQT1NTSUJMRV9TUEVDX1ZFUlNJT05TJDEgPSBuZXcgU2V0KFsnMS4wJywgJzEuMC1iZXRhJ10pO1xuLyoqXG4gKiBUaGUgbWluaW11bSBwZXJtaXR0ZWQgdmFsdWUgZm9yIHtAbGluayBWMVZSTVNjaGVtYS5Mb29rQXRSYW5nZU1hcC5pbnB1dE1heFZhbHVlfS5cbiAqIElmIHRoZSBnaXZlbiB2YWx1ZSBpcyBzbWFsbGVyIHRoYW4gdGhpcywgdGhlIGxvYWRlciBzaG93cyBhIHdhcm5pbmcgYW5kIGNsYW1wcyB1cCB0aGUgdmFsdWUuXG4gKi9cbmNvbnN0IElOUFVUX01BWF9WQUxVRV9NSU5JTVVNID0gMC4wMTtcbi8qKlxuICogQSBwbHVnaW4gb2YgR0xURkxvYWRlciB0aGF0IGltcG9ydHMgYSB7QGxpbmsgVlJNTG9va0F0fSBmcm9tIGEgVlJNIGV4dGVuc2lvbiBvZiBhIEdMVEYuXG4gKi9cbmNsYXNzIFZSTUxvb2tBdExvYWRlclBsdWdpbiB7XG4gICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIC8vIFdlIHNob3VsZCB1c2UgdGhlIGV4dGVuc2lvbiBuYW1lIGluc3RlYWQgYnV0IHdlIGhhdmUgbXVsdGlwbGUgcGx1Z2lucyBmb3IgYW4gZXh0ZW5zaW9uLi4uXG4gICAgICAgIHJldHVybiAnVlJNTG9va0F0TG9hZGVyUGx1Z2luJztcbiAgICB9XG4gICAgY29uc3RydWN0b3IocGFyc2VyLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICAgICAgICB0aGlzLmhlbHBlclJvb3QgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuaGVscGVyUm9vdDtcbiAgICB9XG4gICAgYWZ0ZXJSb290KGdsdGYpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHZybUh1bWFub2lkID0gZ2x0Zi51c2VyRGF0YS52cm1IdW1hbm9pZDtcbiAgICAgICAgICAgIC8vIGV4cGxpY2l0bHkgZGlzdGluZ3Vpc2ggbnVsbCBhbmQgdW5kZWZpbmVkXG4gICAgICAgICAgICAvLyBzaW5jZSB2cm1IdW1hbm9pZCBtaWdodCBiZSBudWxsIGFzIGEgcmVzdWx0XG4gICAgICAgICAgICBpZiAodnJtSHVtYW5vaWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh2cm1IdW1hbm9pZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdWUk1Mb29rQXRMb2FkZXJQbHVnaW46IHZybUh1bWFub2lkIGlzIHVuZGVmaW5lZC4gVlJNSHVtYW5vaWRMb2FkZXJQbHVnaW4gaGF2ZSB0byBiZSB1c2VkIGZpcnN0Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB2cm1FeHByZXNzaW9uTWFuYWdlciA9IGdsdGYudXNlckRhdGEudnJtRXhwcmVzc2lvbk1hbmFnZXI7XG4gICAgICAgICAgICBpZiAodnJtRXhwcmVzc2lvbk1hbmFnZXIgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh2cm1FeHByZXNzaW9uTWFuYWdlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdWUk1Mb29rQXRMb2FkZXJQbHVnaW46IHZybUV4cHJlc3Npb25NYW5hZ2VyIGlzIHVuZGVmaW5lZC4gVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbiBoYXZlIHRvIGJlIHVzZWQgZmlyc3QnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdsdGYudXNlckRhdGEudnJtTG9va0F0ID0geWllbGQgdGhpcy5faW1wb3J0KGdsdGYsIHZybUh1bWFub2lkLCB2cm1FeHByZXNzaW9uTWFuYWdlcik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbXBvcnQgYSB7QGxpbmsgVlJNTG9va0F0fSBmcm9tIGEgVlJNLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdsdGYgQSBwYXJzZWQgcmVzdWx0IG9mIEdMVEYgdGFrZW4gZnJvbSBHTFRGTG9hZGVyXG4gICAgICogQHBhcmFtIGh1bWFub2lkIEEge0BsaW5rIFZSTUh1bWFub2lkfSBpbnN0YW5jZSB0aGF0IHJlcHJlc2VudHMgdGhlIFZSTVxuICAgICAqIEBwYXJhbSBleHByZXNzaW9ucyBBIHtAbGluayBWUk1FeHByZXNzaW9uTWFuYWdlcn0gaW5zdGFuY2UgdGhhdCByZXByZXNlbnRzIHRoZSBWUk1cbiAgICAgKi9cbiAgICBfaW1wb3J0KGdsdGYsIGh1bWFub2lkLCBleHByZXNzaW9ucykge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKGh1bWFub2lkID09IG51bGwgfHwgZXhwcmVzc2lvbnMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdjFSZXN1bHQgPSB5aWVsZCB0aGlzLl92MUltcG9ydChnbHRmLCBodW1hbm9pZCwgZXhwcmVzc2lvbnMpO1xuICAgICAgICAgICAgaWYgKHYxUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYxUmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdjBSZXN1bHQgPSB5aWVsZCB0aGlzLl92MEltcG9ydChnbHRmLCBodW1hbm9pZCwgZXhwcmVzc2lvbnMpO1xuICAgICAgICAgICAgaWYgKHYwUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYwUmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfdjFJbXBvcnQoZ2x0ZiwgaHVtYW5vaWQsIGV4cHJlc3Npb25zKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHRoaXMucGFyc2VyLmpzb247XG4gICAgICAgICAgICAvLyBlYXJseSBhYm9ydCBpZiBpdCBkb2Vzbid0IHVzZSB2cm1cbiAgICAgICAgICAgIGNvbnN0IGlzVlJNVXNlZCA9ICgoX2EgPSBqc29uLmV4dGVuc2lvbnNVc2VkKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaW5kZXhPZignVlJNQ192cm0nKSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKCFpc1ZSTVVzZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IChfYiA9IGpzb24uZXh0ZW5zaW9ucykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iWydWUk1DX3ZybSddO1xuICAgICAgICAgICAgaWYgKCFleHRlbnNpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNwZWNWZXJzaW9uID0gZXh0ZW5zaW9uLnNwZWNWZXJzaW9uO1xuICAgICAgICAgICAgaWYgKCFQT1NTSUJMRV9TUEVDX1ZFUlNJT05TJDEuaGFzKHNwZWNWZXJzaW9uKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNTG9va0F0TG9hZGVyUGx1Z2luOiBVbmtub3duIFZSTUNfdnJtIHNwZWNWZXJzaW9uIFwiJHtzcGVjVmVyc2lvbn1cImApO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hTG9va0F0ID0gZXh0ZW5zaW9uLmxvb2tBdDtcbiAgICAgICAgICAgIGlmICghc2NoZW1hTG9va0F0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0T3V0cHV0U2NhbGUgPSBzY2hlbWFMb29rQXQudHlwZSA9PT0gJ2V4cHJlc3Npb24nID8gMS4wIDogMTAuMDtcbiAgICAgICAgICAgIGNvbnN0IG1hcEhJID0gdGhpcy5fdjFJbXBvcnRSYW5nZU1hcChzY2hlbWFMb29rQXQucmFuZ2VNYXBIb3Jpem9udGFsSW5uZXIsIGRlZmF1bHRPdXRwdXRTY2FsZSk7XG4gICAgICAgICAgICBjb25zdCBtYXBITyA9IHRoaXMuX3YxSW1wb3J0UmFuZ2VNYXAoc2NoZW1hTG9va0F0LnJhbmdlTWFwSG9yaXpvbnRhbE91dGVyLCBkZWZhdWx0T3V0cHV0U2NhbGUpO1xuICAgICAgICAgICAgY29uc3QgbWFwVkQgPSB0aGlzLl92MUltcG9ydFJhbmdlTWFwKHNjaGVtYUxvb2tBdC5yYW5nZU1hcFZlcnRpY2FsRG93biwgZGVmYXVsdE91dHB1dFNjYWxlKTtcbiAgICAgICAgICAgIGNvbnN0IG1hcFZVID0gdGhpcy5fdjFJbXBvcnRSYW5nZU1hcChzY2hlbWFMb29rQXQucmFuZ2VNYXBWZXJ0aWNhbFVwLCBkZWZhdWx0T3V0cHV0U2NhbGUpO1xuICAgICAgICAgICAgbGV0IGFwcGxpZXI7XG4gICAgICAgICAgICBpZiAoc2NoZW1hTG9va0F0LnR5cGUgPT09ICdleHByZXNzaW9uJykge1xuICAgICAgICAgICAgICAgIGFwcGxpZXIgPSBuZXcgVlJNTG9va0F0RXhwcmVzc2lvbkFwcGxpZXIoZXhwcmVzc2lvbnMsIG1hcEhJLCBtYXBITywgbWFwVkQsIG1hcFZVKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGFwcGxpZXIgPSBuZXcgVlJNTG9va0F0Qm9uZUFwcGxpZXIoaHVtYW5vaWQsIG1hcEhJLCBtYXBITywgbWFwVkQsIG1hcFZVKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxvb2tBdCA9IHRoaXMuX2ltcG9ydExvb2tBdChodW1hbm9pZCwgYXBwbGllcik7XG4gICAgICAgICAgICBsb29rQXQub2Zmc2V0RnJvbUhlYWRCb25lLmZyb21BcnJheSgoX2MgPSBzY2hlbWFMb29rQXQub2Zmc2V0RnJvbUhlYWRCb25lKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBbMC4wLCAwLjA2LCAwLjBdKTtcbiAgICAgICAgICAgIHJldHVybiBsb29rQXQ7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfdjFJbXBvcnRSYW5nZU1hcChzY2hlbWFSYW5nZU1hcCwgZGVmYXVsdE91dHB1dFNjYWxlKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGxldCBpbnB1dE1heFZhbHVlID0gKF9hID0gc2NoZW1hUmFuZ2VNYXAgPT09IG51bGwgfHwgc2NoZW1hUmFuZ2VNYXAgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNjaGVtYVJhbmdlTWFwLmlucHV0TWF4VmFsdWUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDkwLjA7XG4gICAgICAgIGNvbnN0IG91dHB1dFNjYWxlID0gKF9iID0gc2NoZW1hUmFuZ2VNYXAgPT09IG51bGwgfHwgc2NoZW1hUmFuZ2VNYXAgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNjaGVtYVJhbmdlTWFwLm91dHB1dFNjYWxlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBkZWZhdWx0T3V0cHV0U2NhbGU7XG4gICAgICAgIC8vIEl0IG1pZ2h0IGNhdXNlIE5hTiB3aGVuIGBpbnB1dE1heFZhbHVlYCBpcyB0b28gc21hbGxcbiAgICAgICAgLy8gd2hpY2ggbWFrZXMgdGhlIG1lc2ggb2YgdGhlIGhlYWQgZGlzYXBwZWFyXG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3BpeGl2L3RocmVlLXZybS9pc3N1ZXMvMTIwMVxuICAgICAgICBpZiAoaW5wdXRNYXhWYWx1ZSA8IElOUFVUX01BWF9WQUxVRV9NSU5JTVVNKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTUxvb2tBdExvYWRlclBsdWdpbjogaW5wdXRNYXhWYWx1ZSBvZiBhIHJhbmdlIG1hcCBpcyB0b28gc21hbGwuIENvbnNpZGVyIHJldmlld2luZyB0aGUgcmFuZ2UgbWFwIScpO1xuICAgICAgICAgICAgaW5wdXRNYXhWYWx1ZSA9IElOUFVUX01BWF9WQUxVRV9NSU5JTVVNO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgVlJNTG9va0F0UmFuZ2VNYXAoaW5wdXRNYXhWYWx1ZSwgb3V0cHV0U2NhbGUpO1xuICAgIH1cbiAgICBfdjBJbXBvcnQoZ2x0ZiwgaHVtYW5vaWQsIGV4cHJlc3Npb25zKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgdnJtXG4gICAgICAgICAgICBjb25zdCB2cm1FeHQgPSAoX2EgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5WUk07XG4gICAgICAgICAgICBpZiAoIXZybUV4dCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hRmlyc3RQZXJzb24gPSB2cm1FeHQuZmlyc3RQZXJzb247XG4gICAgICAgICAgICBpZiAoIXNjaGVtYUZpcnN0UGVyc29uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0T3V0cHV0U2NhbGUgPSBzY2hlbWFGaXJzdFBlcnNvbi5sb29rQXRUeXBlTmFtZSA9PT0gJ0JsZW5kU2hhcGUnID8gMS4wIDogMTAuMDtcbiAgICAgICAgICAgIGNvbnN0IG1hcEhJID0gdGhpcy5fdjBJbXBvcnREZWdyZWVNYXAoc2NoZW1hRmlyc3RQZXJzb24ubG9va0F0SG9yaXpvbnRhbElubmVyLCBkZWZhdWx0T3V0cHV0U2NhbGUpO1xuICAgICAgICAgICAgY29uc3QgbWFwSE8gPSB0aGlzLl92MEltcG9ydERlZ3JlZU1hcChzY2hlbWFGaXJzdFBlcnNvbi5sb29rQXRIb3Jpem9udGFsT3V0ZXIsIGRlZmF1bHRPdXRwdXRTY2FsZSk7XG4gICAgICAgICAgICBjb25zdCBtYXBWRCA9IHRoaXMuX3YwSW1wb3J0RGVncmVlTWFwKHNjaGVtYUZpcnN0UGVyc29uLmxvb2tBdFZlcnRpY2FsRG93biwgZGVmYXVsdE91dHB1dFNjYWxlKTtcbiAgICAgICAgICAgIGNvbnN0IG1hcFZVID0gdGhpcy5fdjBJbXBvcnREZWdyZWVNYXAoc2NoZW1hRmlyc3RQZXJzb24ubG9va0F0VmVydGljYWxVcCwgZGVmYXVsdE91dHB1dFNjYWxlKTtcbiAgICAgICAgICAgIGxldCBhcHBsaWVyO1xuICAgICAgICAgICAgaWYgKHNjaGVtYUZpcnN0UGVyc29uLmxvb2tBdFR5cGVOYW1lID09PSAnQmxlbmRTaGFwZScpIHtcbiAgICAgICAgICAgICAgICBhcHBsaWVyID0gbmV3IFZSTUxvb2tBdEV4cHJlc3Npb25BcHBsaWVyKGV4cHJlc3Npb25zLCBtYXBISSwgbWFwSE8sIG1hcFZELCBtYXBWVSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBhcHBsaWVyID0gbmV3IFZSTUxvb2tBdEJvbmVBcHBsaWVyKGh1bWFub2lkLCBtYXBISSwgbWFwSE8sIG1hcFZELCBtYXBWVSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsb29rQXQgPSB0aGlzLl9pbXBvcnRMb29rQXQoaHVtYW5vaWQsIGFwcGxpZXIpO1xuICAgICAgICAgICAgaWYgKHNjaGVtYUZpcnN0UGVyc29uLmZpcnN0UGVyc29uQm9uZU9mZnNldCkge1xuICAgICAgICAgICAgICAgIGxvb2tBdC5vZmZzZXRGcm9tSGVhZEJvbmUuc2V0KChfYiA9IHNjaGVtYUZpcnN0UGVyc29uLmZpcnN0UGVyc29uQm9uZU9mZnNldC54KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwLjAsIChfYyA9IHNjaGVtYUZpcnN0UGVyc29uLmZpcnN0UGVyc29uQm9uZU9mZnNldC55KSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwLjA2LCAtKChfZCA9IHNjaGVtYUZpcnN0UGVyc29uLmZpcnN0UGVyc29uQm9uZU9mZnNldC56KSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAwLjApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxvb2tBdC5vZmZzZXRGcm9tSGVhZEJvbmUuc2V0KDAuMCwgMC4wNiwgMC4wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFZSTSAwLjAgYXJlIGZhY2luZyBaLSBpbnN0ZWFkIG9mIForXG4gICAgICAgICAgICBsb29rQXQuZmFjZUZyb250LnNldCgwLjAsIDAuMCwgLTEuMCk7XG4gICAgICAgICAgICBpZiAoYXBwbGllciBpbnN0YW5jZW9mIFZSTUxvb2tBdEJvbmVBcHBsaWVyKSB7XG4gICAgICAgICAgICAgICAgYXBwbGllci5mYWNlRnJvbnQuc2V0KDAuMCwgMC4wLCAtMS4wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBsb29rQXQ7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfdjBJbXBvcnREZWdyZWVNYXAoc2NoZW1hRGVncmVlTWFwLCBkZWZhdWx0T3V0cHV0U2NhbGUpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgY3VydmUgPSBzY2hlbWFEZWdyZWVNYXAgPT09IG51bGwgfHwgc2NoZW1hRGVncmVlTWFwID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzY2hlbWFEZWdyZWVNYXAuY3VydmU7XG4gICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShjdXJ2ZSkgIT09ICdbMCwwLDAsMSwxLDEsMSwwXScpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ3VydmVzIG9mIExvb2tBdERlZ3JlZU1hcCBkZWZpbmVkIGluIFZSTSAwLjAgYXJlIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgeFJhbmdlID0gKF9hID0gc2NoZW1hRGVncmVlTWFwID09PSBudWxsIHx8IHNjaGVtYURlZ3JlZU1hcCA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2NoZW1hRGVncmVlTWFwLnhSYW5nZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogOTAuMDtcbiAgICAgICAgY29uc3QgeVJhbmdlID0gKF9iID0gc2NoZW1hRGVncmVlTWFwID09PSBudWxsIHx8IHNjaGVtYURlZ3JlZU1hcCA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2NoZW1hRGVncmVlTWFwLnlSYW5nZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogZGVmYXVsdE91dHB1dFNjYWxlO1xuICAgICAgICAvLyBJdCBtaWdodCBjYXVzZSBOYU4gd2hlbiBgeFJhbmdlYCBpcyB0b28gc21hbGxcbiAgICAgICAgLy8gd2hpY2ggbWFrZXMgdGhlIG1lc2ggb2YgdGhlIGhlYWQgZGlzYXBwZWFyXG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3BpeGl2L3RocmVlLXZybS9pc3N1ZXMvMTIwMVxuICAgICAgICBpZiAoeFJhbmdlIDwgSU5QVVRfTUFYX1ZBTFVFX01JTklNVU0pIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignVlJNTG9va0F0TG9hZGVyUGx1Z2luOiB4UmFuZ2Ugb2YgYSBkZWdyZWUgbWFwIGlzIHRvbyBzbWFsbC4gQ29uc2lkZXIgcmV2aWV3aW5nIHRoZSBkZWdyZWUgbWFwIScpO1xuICAgICAgICAgICAgeFJhbmdlID0gSU5QVVRfTUFYX1ZBTFVFX01JTklNVU07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBWUk1Mb29rQXRSYW5nZU1hcCh4UmFuZ2UsIHlSYW5nZSk7XG4gICAgfVxuICAgIF9pbXBvcnRMb29rQXQoaHVtYW5vaWQsIGFwcGxpZXIpIHtcbiAgICAgICAgY29uc3QgbG9va0F0ID0gbmV3IFZSTUxvb2tBdChodW1hbm9pZCwgYXBwbGllcik7XG4gICAgICAgIGlmICh0aGlzLmhlbHBlclJvb3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGhlbHBlciA9IG5ldyBWUk1Mb29rQXRIZWxwZXIobG9va0F0KTtcbiAgICAgICAgICAgIHRoaXMuaGVscGVyUm9vdC5hZGQoaGVscGVyKTtcbiAgICAgICAgICAgIGhlbHBlci5yZW5kZXJPcmRlciA9IHRoaXMuaGVscGVyUm9vdC5yZW5kZXJPcmRlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbG9va0F0O1xuICAgIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0eXBlIG9mIGFwcGxpZXIuXG4gKi9cbmNvbnN0IFZSTUxvb2tBdFR5cGVOYW1lID0ge1xuICAgIEJvbmU6ICdib25lJyxcbiAgICBFeHByZXNzaW9uOiAnZXhwcmVzc2lvbicsXG59O1xuXG4vKipcbiAqIFlvaW5rZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbXJkb29iL3RocmVlLmpzL2Jsb2IvbWFzdGVyL2V4YW1wbGVzL2pzbS9sb2FkZXJzL0dMVEZMb2FkZXIuanNcbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVVSTCh1cmwsIHBhdGgpIHtcbiAgICAvLyBJbnZhbGlkIFVSTFxuICAgIGlmICh0eXBlb2YgdXJsICE9PSAnc3RyaW5nJyB8fCB1cmwgPT09ICcnKVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgLy8gSG9zdCBSZWxhdGl2ZSBVUkxcbiAgICBpZiAoL15odHRwcz86XFwvXFwvL2kudGVzdChwYXRoKSAmJiAvXlxcLy8udGVzdCh1cmwpKSB7XG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoLyheaHR0cHM/OlxcL1xcL1teL10rKS4qL2ksICckMScpO1xuICAgIH1cbiAgICAvLyBBYnNvbHV0ZSBVUkwgaHR0cDovLyxodHRwczovLywvL1xuICAgIGlmICgvXihodHRwcz86KT9cXC9cXC8vaS50ZXN0KHVybCkpXG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgLy8gRGF0YSBVUklcbiAgICBpZiAoL15kYXRhOi4qLC4qJC9pLnRlc3QodXJsKSlcbiAgICAgICAgcmV0dXJuIHVybDtcbiAgICAvLyBCbG9iIFVSTFxuICAgIGlmICgvXmJsb2I6LiokL2kudGVzdCh1cmwpKVxuICAgICAgICByZXR1cm4gdXJsO1xuICAgIC8vIFJlbGF0aXZlIFVSTFxuICAgIHJldHVybiBwYXRoICsgdXJsO1xufVxuXG4vKipcbiAqIFBvc3NpYmxlIHNwZWMgdmVyc2lvbnMgaXQgcmVjb2duaXplcy5cbiAqL1xuY29uc3QgUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyA9IG5ldyBTZXQoWycxLjAnLCAnMS4wLWJldGEnXSk7XG4vKipcbiAqIEEgcGx1Z2luIG9mIEdMVEZMb2FkZXIgdGhhdCBpbXBvcnRzIGEge0BsaW5rIFZSTTFNZXRhfSBmcm9tIGEgVlJNIGV4dGVuc2lvbiBvZiBhIEdMVEYuXG4gKi9cbmNsYXNzIFZSTU1ldGFMb2FkZXJQbHVnaW4ge1xuICAgIGdldCBuYW1lKCkge1xuICAgICAgICAvLyBXZSBzaG91bGQgdXNlIHRoZSBleHRlbnNpb24gbmFtZSBpbnN0ZWFkIGJ1dCB3ZSBoYXZlIG11bHRpcGxlIHBsdWdpbnMgZm9yIGFuIGV4dGVuc2lvbi4uLlxuICAgICAgICByZXR1cm4gJ1ZSTU1ldGFMb2FkZXJQbHVnaW4nO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJzZXIsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICAgICAgICB0aGlzLm5lZWRUaHVtYm5haWxJbWFnZSA9IChfYSA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5uZWVkVGh1bWJuYWlsSW1hZ2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRydWU7XG4gICAgICAgIHRoaXMuYWNjZXB0TGljZW5zZVVybHMgPSAoX2IgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuYWNjZXB0TGljZW5zZVVybHMpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IFsnaHR0cHM6Ly92cm0uZGV2L2xpY2Vuc2VzLzEuMC8nXTtcbiAgICAgICAgdGhpcy5hY2NlcHRWME1ldGEgPSAoX2MgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuYWNjZXB0VjBNZXRhKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiB0cnVlO1xuICAgIH1cbiAgICBhZnRlclJvb3QoZ2x0Zikge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgZ2x0Zi51c2VyRGF0YS52cm1NZXRhID0geWllbGQgdGhpcy5faW1wb3J0KGdsdGYpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX2ltcG9ydChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCB2MVJlc3VsdCA9IHlpZWxkIHRoaXMuX3YxSW1wb3J0KGdsdGYpO1xuICAgICAgICAgICAgaWYgKHYxUmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdjFSZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB2MFJlc3VsdCA9IHlpZWxkIHRoaXMuX3YwSW1wb3J0KGdsdGYpO1xuICAgICAgICAgICAgaWYgKHYwUmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdjBSZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF92MUltcG9ydChnbHRmKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHRoaXMucGFyc2VyLmpzb247XG4gICAgICAgICAgICAvLyBlYXJseSBhYm9ydCBpZiBpdCBkb2Vzbid0IHVzZSB2cm1cbiAgICAgICAgICAgIGNvbnN0IGlzVlJNVXNlZCA9ICgoX2EgPSBqc29uLmV4dGVuc2lvbnNVc2VkKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaW5kZXhPZignVlJNQ192cm0nKSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKCFpc1ZSTVVzZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IChfYiA9IGpzb24uZXh0ZW5zaW9ucykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iWydWUk1DX3ZybSddO1xuICAgICAgICAgICAgaWYgKGV4dGVuc2lvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzcGVjVmVyc2lvbiA9IGV4dGVuc2lvbi5zcGVjVmVyc2lvbjtcbiAgICAgICAgICAgIGlmICghUE9TU0lCTEVfU1BFQ19WRVJTSU9OUy5oYXMoc3BlY1ZlcnNpb24pKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1NZXRhTG9hZGVyUGx1Z2luOiBVbmtub3duIFZSTUNfdnJtIHNwZWNWZXJzaW9uIFwiJHtzcGVjVmVyc2lvbn1cImApO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hTWV0YSA9IGV4dGVuc2lvbi5tZXRhO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFNZXRhKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB0aHJvdyBhbiBlcnJvciBpZiBhY2NlcHRWME1ldGEgaXMgZmFsc2VcbiAgICAgICAgICAgIGNvbnN0IGxpY2Vuc2VVcmwgPSBzY2hlbWFNZXRhLmxpY2Vuc2VVcmw7XG4gICAgICAgICAgICBjb25zdCBhY2NlcHRMaWNlbnNlVXJsc1NldCA9IG5ldyBTZXQodGhpcy5hY2NlcHRMaWNlbnNlVXJscyk7XG4gICAgICAgICAgICBpZiAoIWFjY2VwdExpY2Vuc2VVcmxzU2V0LmhhcyhsaWNlbnNlVXJsKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVlJNTWV0YUxvYWRlclBsdWdpbjogVGhlIGxpY2Vuc2UgdXJsIFwiJHtsaWNlbnNlVXJsfVwiIGlzIG5vdCBhY2NlcHRlZGApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IHRodW1ibmFpbEltYWdlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKHRoaXMubmVlZFRodW1ibmFpbEltYWdlICYmIHNjaGVtYU1ldGEudGh1bWJuYWlsSW1hZ2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRodW1ibmFpbEltYWdlID0gKF9jID0gKHlpZWxkIHRoaXMuX2V4dHJhY3RHTFRGSW1hZ2Uoc2NoZW1hTWV0YS50aHVtYm5haWxJbWFnZSkpKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1ldGFWZXJzaW9uOiAnMScsXG4gICAgICAgICAgICAgICAgbmFtZTogc2NoZW1hTWV0YS5uYW1lLFxuICAgICAgICAgICAgICAgIHZlcnNpb246IHNjaGVtYU1ldGEudmVyc2lvbixcbiAgICAgICAgICAgICAgICBhdXRob3JzOiBzY2hlbWFNZXRhLmF1dGhvcnMsXG4gICAgICAgICAgICAgICAgY29weXJpZ2h0SW5mb3JtYXRpb246IHNjaGVtYU1ldGEuY29weXJpZ2h0SW5mb3JtYXRpb24sXG4gICAgICAgICAgICAgICAgY29udGFjdEluZm9ybWF0aW9uOiBzY2hlbWFNZXRhLmNvbnRhY3RJbmZvcm1hdGlvbixcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBzY2hlbWFNZXRhLnJlZmVyZW5jZXMsXG4gICAgICAgICAgICAgICAgdGhpcmRQYXJ0eUxpY2Vuc2VzOiBzY2hlbWFNZXRhLnRoaXJkUGFydHlMaWNlbnNlcyxcbiAgICAgICAgICAgICAgICB0aHVtYm5haWxJbWFnZSxcbiAgICAgICAgICAgICAgICBsaWNlbnNlVXJsOiBzY2hlbWFNZXRhLmxpY2Vuc2VVcmwsXG4gICAgICAgICAgICAgICAgYXZhdGFyUGVybWlzc2lvbjogc2NoZW1hTWV0YS5hdmF0YXJQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICAgIGFsbG93RXhjZXNzaXZlbHlWaW9sZW50VXNhZ2U6IHNjaGVtYU1ldGEuYWxsb3dFeGNlc3NpdmVseVZpb2xlbnRVc2FnZSxcbiAgICAgICAgICAgICAgICBhbGxvd0V4Y2Vzc2l2ZWx5U2V4dWFsVXNhZ2U6IHNjaGVtYU1ldGEuYWxsb3dFeGNlc3NpdmVseVNleHVhbFVzYWdlLFxuICAgICAgICAgICAgICAgIGNvbW1lcmNpYWxVc2FnZTogc2NoZW1hTWV0YS5jb21tZXJjaWFsVXNhZ2UsXG4gICAgICAgICAgICAgICAgYWxsb3dQb2xpdGljYWxPclJlbGlnaW91c1VzYWdlOiBzY2hlbWFNZXRhLmFsbG93UG9saXRpY2FsT3JSZWxpZ2lvdXNVc2FnZSxcbiAgICAgICAgICAgICAgICBhbGxvd0FudGlzb2NpYWxPckhhdGVVc2FnZTogc2NoZW1hTWV0YS5hbGxvd0FudGlzb2NpYWxPckhhdGVVc2FnZSxcbiAgICAgICAgICAgICAgICBjcmVkaXROb3RhdGlvbjogc2NoZW1hTWV0YS5jcmVkaXROb3RhdGlvbixcbiAgICAgICAgICAgICAgICBhbGxvd1JlZGlzdHJpYnV0aW9uOiBzY2hlbWFNZXRhLmFsbG93UmVkaXN0cmlidXRpb24sXG4gICAgICAgICAgICAgICAgbW9kaWZpY2F0aW9uOiBzY2hlbWFNZXRhLm1vZGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICBvdGhlckxpY2Vuc2VVcmw6IHNjaGVtYU1ldGEub3RoZXJMaWNlbnNlVXJsLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF92MEltcG9ydChnbHRmKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2UgdnJtXG4gICAgICAgICAgICBjb25zdCB2cm1FeHQgPSAoX2EgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5WUk07XG4gICAgICAgICAgICBpZiAoIXZybUV4dCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hTWV0YSA9IHZybUV4dC5tZXRhO1xuICAgICAgICAgICAgaWYgKCFzY2hlbWFNZXRhKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB0aHJvdyBhbiBlcnJvciBpZiBhY2NlcHRWME1ldGEgaXMgZmFsc2VcbiAgICAgICAgICAgIGlmICghdGhpcy5hY2NlcHRWME1ldGEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZSTU1ldGFMb2FkZXJQbHVnaW46IEF0dGVtcHRlZCB0byBsb2FkIFZSTTAuMCBtZXRhIGJ1dCBhY2NlcHRWME1ldGEgaXMgZmFsc2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGxvYWQgdGh1bWJuYWlsIHRleHR1cmVcbiAgICAgICAgICAgIGxldCB0ZXh0dXJlO1xuICAgICAgICAgICAgaWYgKHRoaXMubmVlZFRodW1ibmFpbEltYWdlICYmIHNjaGVtYU1ldGEudGV4dHVyZSAhPSBudWxsICYmIHNjaGVtYU1ldGEudGV4dHVyZSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0ZXh0dXJlID0geWllbGQgdGhpcy5wYXJzZXIuZ2V0RGVwZW5kZW5jeSgndGV4dHVyZScsIHNjaGVtYU1ldGEudGV4dHVyZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1ldGFWZXJzaW9uOiAnMCcsXG4gICAgICAgICAgICAgICAgYWxsb3dlZFVzZXJOYW1lOiBzY2hlbWFNZXRhLmFsbG93ZWRVc2VyTmFtZSxcbiAgICAgICAgICAgICAgICBhdXRob3I6IHNjaGVtYU1ldGEuYXV0aG9yLFxuICAgICAgICAgICAgICAgIGNvbW1lcmNpYWxVc3NhZ2VOYW1lOiBzY2hlbWFNZXRhLmNvbW1lcmNpYWxVc3NhZ2VOYW1lLFxuICAgICAgICAgICAgICAgIGNvbnRhY3RJbmZvcm1hdGlvbjogc2NoZW1hTWV0YS5jb250YWN0SW5mb3JtYXRpb24sXG4gICAgICAgICAgICAgICAgbGljZW5zZU5hbWU6IHNjaGVtYU1ldGEubGljZW5zZU5hbWUsXG4gICAgICAgICAgICAgICAgb3RoZXJMaWNlbnNlVXJsOiBzY2hlbWFNZXRhLm90aGVyTGljZW5zZVVybCxcbiAgICAgICAgICAgICAgICBvdGhlclBlcm1pc3Npb25Vcmw6IHNjaGVtYU1ldGEub3RoZXJQZXJtaXNzaW9uVXJsLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZTogc2NoZW1hTWV0YS5yZWZlcmVuY2UsXG4gICAgICAgICAgICAgICAgc2V4dWFsVXNzYWdlTmFtZTogc2NoZW1hTWV0YS5zZXh1YWxVc3NhZ2VOYW1lLFxuICAgICAgICAgICAgICAgIHRleHR1cmU6IHRleHR1cmUgIT09IG51bGwgJiYgdGV4dHVyZSAhPT0gdm9pZCAwID8gdGV4dHVyZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogc2NoZW1hTWV0YS50aXRsZSxcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiBzY2hlbWFNZXRhLnZlcnNpb24sXG4gICAgICAgICAgICAgICAgdmlvbGVudFVzc2FnZU5hbWU6IHNjaGVtYU1ldGEudmlvbGVudFVzc2FnZU5hbWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX2V4dHJhY3RHTFRGSW1hZ2UoaW5kZXgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHRoaXMucGFyc2VyLmpzb247XG4gICAgICAgICAgICBjb25zdCBzb3VyY2UgPSAoX2EgPSBqc29uLmltYWdlcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hW2luZGV4XTtcbiAgICAgICAgICAgIGlmIChzb3VyY2UgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNTWV0YUxvYWRlclBsdWdpbjogQXR0ZW1wdCB0byB1c2UgaW1hZ2VzWyR7aW5kZXh9XSBvZiBnbFRGIGFzIGEgdGh1bWJuYWlsIGJ1dCB0aGUgaW1hZ2UgZG9lc24ndCBleGlzdGApO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vbXJkb29iL3RocmVlLmpzL2Jsb2IvcjEyNC9leGFtcGxlcy9qc20vbG9hZGVycy9HTFRGTG9hZGVyLmpzI0wyNDY3XG4gICAgICAgICAgICAvLyBgc291cmNlLnVyaWAgbWlnaHQgYmUgYSByZWZlcmVuY2UgdG8gYSBmaWxlXG4gICAgICAgICAgICBsZXQgc291cmNlVVJJID0gc291cmNlLnVyaTtcbiAgICAgICAgICAgIC8vIExvYWQgdGhlIGJpbmFyeSBhcyBhIGJsb2JcbiAgICAgICAgICAgIGlmIChzb3VyY2UuYnVmZmVyVmlldyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYnVmZmVyVmlldyA9IHlpZWxkIHRoaXMucGFyc2VyLmdldERlcGVuZGVuY3koJ2J1ZmZlclZpZXcnLCBzb3VyY2UuYnVmZmVyVmlldyk7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJWaWV3XSwgeyB0eXBlOiBzb3VyY2UubWltZVR5cGUgfSk7XG4gICAgICAgICAgICAgICAgc291cmNlVVJJID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzb3VyY2VVUkkgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNTWV0YUxvYWRlclBsdWdpbjogQXR0ZW1wdCB0byB1c2UgaW1hZ2VzWyR7aW5kZXh9XSBvZiBnbFRGIGFzIGEgdGh1bWJuYWlsIGJ1dCB0aGUgaW1hZ2UgY291bGRuJ3QgbG9hZCBwcm9wZXJseWApO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbG9hZGVyID0gbmV3IFRIUkVFLkltYWdlTG9hZGVyKCk7XG4gICAgICAgICAgICByZXR1cm4geWllbGQgbG9hZGVyLmxvYWRBc3luYyhyZXNvbHZlVVJMKHNvdXJjZVVSSSwgdGhpcy5wYXJzZXIub3B0aW9ucy5wYXRoKSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdWUk1NZXRhTG9hZGVyUGx1Z2luOiBGYWlsZWQgdG8gbG9hZCBhIHRodW1ibmFpbCBpbWFnZScpO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLyoqXG4gKiBBIGNsYXNzIHRoYXQgcmVwcmVzZW50cyBhIHNpbmdsZSBWUk0gbW9kZWwuXG4gKiBUaGlzIGNsYXNzIG9ubHkgaW5jbHVkZXMgY29yZSBzcGVjIG9mIHRoZSBWUk0gKGBWUk1DX3ZybWApLlxuICovXG5jbGFzcyBWUk1Db3JlIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcgVlJNIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtcyBbW1ZSTVBhcmFtZXRlcnNdXSB0aGF0IHJlcHJlc2VudHMgY29tcG9uZW50cyBvZiB0aGUgVlJNXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocGFyYW1zKSB7XG4gICAgICAgIHRoaXMuc2NlbmUgPSBwYXJhbXMuc2NlbmU7XG4gICAgICAgIHRoaXMubWV0YSA9IHBhcmFtcy5tZXRhO1xuICAgICAgICB0aGlzLmh1bWFub2lkID0gcGFyYW1zLmh1bWFub2lkO1xuICAgICAgICB0aGlzLmV4cHJlc3Npb25NYW5hZ2VyID0gcGFyYW1zLmV4cHJlc3Npb25NYW5hZ2VyO1xuICAgICAgICB0aGlzLmZpcnN0UGVyc29uID0gcGFyYW1zLmZpcnN0UGVyc29uO1xuICAgICAgICB0aGlzLmxvb2tBdCA9IHBhcmFtcy5sb29rQXQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqICoqWW91IG5lZWQgdG8gY2FsbCB0aGlzIG9uIHlvdXIgdXBkYXRlIGxvb3AuKipcbiAgICAgKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gdXBkYXRlcyBldmVyeSBWUk0gY29tcG9uZW50cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkZWx0YSBkZWx0YVRpbWVcbiAgICAgKi9cbiAgICB1cGRhdGUoZGVsdGEpIHtcbiAgICAgICAgdGhpcy5odW1hbm9pZC51cGRhdGUoKTtcbiAgICAgICAgaWYgKHRoaXMubG9va0F0KSB7XG4gICAgICAgICAgICB0aGlzLmxvb2tBdC51cGRhdGUoZGVsdGEpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmV4cHJlc3Npb25NYW5hZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYW5hZ2VyLnVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5jbGFzcyBWUk1Db3JlTG9hZGVyUGx1Z2luIHtcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgLy8gV2Ugc2hvdWxkIHVzZSB0aGUgZXh0ZW5zaW9uIG5hbWUgaW5zdGVhZCBidXQgd2UgaGF2ZSBtdWx0aXBsZSBwbHVnaW5zIGZvciBhbiBleHRlbnNpb24uLi5cbiAgICAgICAgcmV0dXJuICdWUk1DX3ZybSc7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlciwgb3B0aW9ucykge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lO1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICAgICAgY29uc3QgaGVscGVyUm9vdCA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5oZWxwZXJSb290O1xuICAgICAgICBjb25zdCBhdXRvVXBkYXRlSHVtYW5Cb25lcyA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5hdXRvVXBkYXRlSHVtYW5Cb25lcztcbiAgICAgICAgdGhpcy5leHByZXNzaW9uUGx1Z2luID0gKF9hID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmV4cHJlc3Npb25QbHVnaW4pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG5ldyBWUk1FeHByZXNzaW9uTG9hZGVyUGx1Z2luKHBhcnNlcik7XG4gICAgICAgIHRoaXMuZmlyc3RQZXJzb25QbHVnaW4gPSAoX2IgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuZmlyc3RQZXJzb25QbHVnaW4pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IG5ldyBWUk1GaXJzdFBlcnNvbkxvYWRlclBsdWdpbihwYXJzZXIpO1xuICAgICAgICB0aGlzLmh1bWFub2lkUGx1Z2luID1cbiAgICAgICAgICAgIChfYyA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5odW1hbm9pZFBsdWdpbikgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogbmV3IFZSTUh1bWFub2lkTG9hZGVyUGx1Z2luKHBhcnNlciwgeyBoZWxwZXJSb290LCBhdXRvVXBkYXRlSHVtYW5Cb25lcyB9KTtcbiAgICAgICAgdGhpcy5sb29rQXRQbHVnaW4gPSAoX2QgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMubG9va0F0UGx1Z2luKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiBuZXcgVlJNTG9va0F0TG9hZGVyUGx1Z2luKHBhcnNlciwgeyBoZWxwZXJSb290IH0pO1xuICAgICAgICB0aGlzLm1ldGFQbHVnaW4gPSAoX2UgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMubWV0YVBsdWdpbikgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogbmV3IFZSTU1ldGFMb2FkZXJQbHVnaW4ocGFyc2VyKTtcbiAgICB9XG4gICAgYWZ0ZXJSb290KGdsdGYpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIHlpZWxkIHRoaXMubWV0YVBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmh1bWFub2lkUGx1Z2luLmFmdGVyUm9vdChnbHRmKTtcbiAgICAgICAgICAgIHlpZWxkIHRoaXMuZXhwcmVzc2lvblBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmxvb2tBdFBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmZpcnN0UGVyc29uUGx1Z2luLmFmdGVyUm9vdChnbHRmKTtcbiAgICAgICAgICAgIGNvbnN0IG1ldGEgPSBnbHRmLnVzZXJEYXRhLnZybU1ldGE7XG4gICAgICAgICAgICBjb25zdCBodW1hbm9pZCA9IGdsdGYudXNlckRhdGEudnJtSHVtYW5vaWQ7XG4gICAgICAgICAgICAvLyBtZXRhIGFuZCBodW1hbm9pZCBhcmUgcmVxdWlyZWQgdG8gYmUgYSBWUk0uXG4gICAgICAgICAgICAvLyBEb24ndCBjcmVhdGUgVlJNIGlmIHRoZXkgYXJlIG51bGxcbiAgICAgICAgICAgIGlmIChtZXRhICYmIGh1bWFub2lkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdnJtQ29yZSA9IG5ldyBWUk1Db3JlKHtcbiAgICAgICAgICAgICAgICAgICAgc2NlbmU6IGdsdGYuc2NlbmUsXG4gICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb25NYW5hZ2VyOiBnbHRmLnVzZXJEYXRhLnZybUV4cHJlc3Npb25NYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICBmaXJzdFBlcnNvbjogZ2x0Zi51c2VyRGF0YS52cm1GaXJzdFBlcnNvbixcbiAgICAgICAgICAgICAgICAgICAgaHVtYW5vaWQsXG4gICAgICAgICAgICAgICAgICAgIGxvb2tBdDogZ2x0Zi51c2VyRGF0YS52cm1Mb29rQXQsXG4gICAgICAgICAgICAgICAgICAgIG1ldGEsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZ2x0Zi51c2VyRGF0YS52cm1Db3JlID0gdnJtQ29yZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBWUk1Db3JlLCBWUk1Db3JlTG9hZGVyUGx1Z2luLCBWUk1FeHByZXNzaW9uLCBWUk1FeHByZXNzaW9uTG9hZGVyUGx1Z2luLCBWUk1FeHByZXNzaW9uTWFuYWdlciwgVlJNRXhwcmVzc2lvbk1hdGVyaWFsQ29sb3JCaW5kLCBWUk1FeHByZXNzaW9uTWF0ZXJpYWxDb2xvclR5cGUsIFZSTUV4cHJlc3Npb25Nb3JwaFRhcmdldEJpbmQsIFZSTUV4cHJlc3Npb25PdmVycmlkZVR5cGUsIFZSTUV4cHJlc3Npb25QcmVzZXROYW1lLCBWUk1FeHByZXNzaW9uVGV4dHVyZVRyYW5zZm9ybUJpbmQsIFZSTUZpcnN0UGVyc29uLCBWUk1GaXJzdFBlcnNvbkxvYWRlclBsdWdpbiwgVlJNRmlyc3RQZXJzb25NZXNoQW5ub3RhdGlvblR5cGUsIFZSTUh1bWFuQm9uZUxpc3QsIFZSTUh1bWFuQm9uZU5hbWUsIFZSTUh1bWFuQm9uZVBhcmVudE1hcCwgVlJNSHVtYW5vaWQsIFZSTUh1bWFub2lkSGVscGVyLCBWUk1IdW1hbm9pZExvYWRlclBsdWdpbiwgVlJNTG9va0F0LCBWUk1Mb29rQXRCb25lQXBwbGllciwgVlJNTG9va0F0RXhwcmVzc2lvbkFwcGxpZXIsIFZSTUxvb2tBdEhlbHBlciwgVlJNTG9va0F0TG9hZGVyUGx1Z2luLCBWUk1Mb29rQXRSYW5nZU1hcCwgVlJNTG9va0F0VHlwZU5hbWUsIFZSTU1ldGFMb2FkZXJQbHVnaW4sIFZSTVJlcXVpcmVkSHVtYW5Cb25lTmFtZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkR2h5WldVdGRuSnRMV052Y21VdWJXOWtkV3hsTG1weklpd2ljMjkxY21ObGN5STZXeUl1TGk5emNtTXZaWGh3Y21WemMybHZibk12VmxKTlJYaHdjbVZ6YzJsdmJpNTBjeUlzSWk0dUx5NHVMeTR1TDI1dlpHVmZiVzlrZFd4bGN5OTBjMnhwWWk5MGMyeHBZaTVsY3pZdWFuTWlMQ0l1TGk5emNtTXZkWFJwYkhNdloyeDBaa1Y0ZEhKaFkzUlFjbWx0YVhScGRtVnpSbkp2YlU1dlpHVXVkSE1pTENJdUxpOXpjbU12ZFhScGJITXZaMngwWmtkbGRFRnpjMjlqYVdGMFpXUk5ZWFJsY21saGJFbHVaR1Y0TG5Seklpd2lMaTR2YzNKakwyVjRjSEpsYzNOcGIyNXpMMVpTVFVWNGNISmxjM05wYjI1UWNtVnpaWFJPWVcxbExuUnpJaXdpTGk0dmMzSmpMM1YwYVd4ekwzTmhkSFZ5WVhSbExuUnpJaXdpTGk0dmMzSmpMMlY0Y0hKbGMzTnBiMjV6TDFaU1RVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUxuUnpJaXdpTGk0dmMzSmpMMlY0Y0hKbGMzTnBiMjV6TDFaU1RVVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5Vkhsd1pTNTBjeUlzSWk0dUwzTnlZeTlsZUhCeVpYTnphVzl1Y3k5V1VrMUZlSEJ5WlhOemFXOXVUV0YwWlhKcFlXeERiMnh2Y2tKcGJtUXVkSE1pTENJdUxpOXpjbU12Wlhod2NtVnpjMmx2Ym5NdlZsSk5SWGh3Y21WemMybHZiazF2Y25Cb1ZHRnlaMlYwUW1sdVpDNTBjeUlzSWk0dUwzTnlZeTlsZUhCeVpYTnphVzl1Y3k5V1VrMUZlSEJ5WlhOemFXOXVWR1Y0ZEhWeVpWUnlZVzV6Wm05eWJVSnBibVF1ZEhNaUxDSXVMaTl6Y21NdlpYaHdjbVZ6YzJsdmJuTXZWbEpOUlhod2NtVnpjMmx2Ymt4dllXUmxjbEJzZFdkcGJpNTBjeUlzSWk0dUwzTnlZeTlsZUhCeVpYTnphVzl1Y3k5V1VrMUZlSEJ5WlhOemFXOXVUM1psY25KcFpHVlVlWEJsTG5Seklpd2lMaTR2YzNKakwyWnBjbk4wVUdWeWMyOXVMMVpTVFVacGNuTjBVR1Z5YzI5dUxuUnpJaXdpTGk0dmMzSmpMMlpwY25OMFVHVnljMjl1TDFaU1RVWnBjbk4wVUdWeWMyOXVURzloWkdWeVVHeDFaMmx1TG5Seklpd2lMaTR2YzNKakwyWnBjbk4wVUdWeWMyOXVMMVpTVFVacGNuTjBVR1Z5YzI5dVRXVnphRUZ1Ym05MFlYUnBiMjVVZVhCbExuUnpJaXdpTGk0dmMzSmpMMmgxYldGdWIybGtMMmhsYkhCbGNuTXZWbEpOU0hWdFlXNXZhV1JJWld4d1pYSXVkSE1pTENJdUxpOXpjbU12YUhWdFlXNXZhV1F2VmxKTlNIVnRZVzVDYjI1bFRHbHpkQzUwY3lJc0lpNHVMM055WXk5b2RXMWhibTlwWkM5V1VrMUlkVzFoYmtKdmJtVk9ZVzFsTG5Seklpd2lMaTR2YzNKakwyaDFiV0Z1YjJsa0wxWlNUVWgxYldGdVFtOXVaVkJoY21WdWRFMWhjQzUwY3lJc0lpNHVMM055WXk5MWRHbHNjeTl4ZFdGMFNXNTJaWEowUTI5dGNHRjBMblJ6SWl3aUxpNHZjM0pqTDJoMWJXRnViMmxrTDFaU1RWSnBaeTUwY3lJc0lpNHVMM055WXk5b2RXMWhibTlwWkM5V1VrMUlkVzFoYm05cFpGSnBaeTUwY3lJc0lpNHVMM055WXk5b2RXMWhibTlwWkM5V1VrMUlkVzFoYm05cFpDNTBjeUlzSWk0dUwzTnlZeTlvZFcxaGJtOXBaQzlXVWsxU1pYRjFhWEpsWkVoMWJXRnVRbTl1WlU1aGJXVXVkSE1pTENJdUxpOXpjbU12YUhWdFlXNXZhV1F2VmxKTlNIVnRZVzV2YVdSTWIyRmtaWEpRYkhWbmFXNHVkSE1pTENJdUxpOXpjbU12Ykc5dmEwRjBMMmhsYkhCbGNuTXZkWFJwYkhNdlJtRnVRblZtWm1WeVIyVnZiV1YwY25rdWRITWlMQ0l1TGk5emNtTXZiRzl2YTBGMEwyaGxiSEJsY25NdmRYUnBiSE12VEdsdVpVRnVaRk53YUdWeVpVSjFabVpsY2tkbGIyMWxkSEo1TG5Seklpd2lMaTR2YzNKakwyeHZiMnRCZEM5b1pXeHdaWEp6TDFaU1RVeHZiMnRCZEVobGJIQmxjaTUwY3lJc0lpNHVMM055WXk5MWRHbHNjeTluWlhSWGIzSnNaRkYxWVhSbGNtNXBiMjVNYVhSbExuUnpJaXdpTGk0dmMzSmpMMnh2YjJ0QmRDOTFkR2xzY3k5allXeGpRWHBwYlhWMGFFRnNkR2wwZFdSbExuUnpJaXdpTGk0dmMzSmpMMnh2YjJ0QmRDOTFkR2xzY3k5ellXNXBkR2w2WlVGdVoyeGxMblJ6SWl3aUxpNHZjM0pqTDJ4dmIydEJkQzlXVWsxTWIyOXJRWFF1ZEhNaUxDSXVMaTl6Y21NdmJHOXZhMEYwTDFaU1RVeHZiMnRCZEVKdmJtVkJjSEJzYVdWeUxuUnpJaXdpTGk0dmMzSmpMMnh2YjJ0QmRDOVdVazFNYjI5clFYUkZlSEJ5WlhOemFXOXVRWEJ3YkdsbGNpNTBjeUlzSWk0dUwzTnlZeTlzYjI5clFYUXZWbEpOVEc5dmEwRjBVbUZ1WjJWTllYQXVkSE1pTENJdUxpOXpjbU12Ykc5dmEwRjBMMVpTVFV4dmIydEJkRXh2WVdSbGNsQnNkV2RwYmk1MGN5SXNJaTR1TDNOeVl5OXNiMjlyUVhRdlZsSk5URzl2YTBGMFZIbHdaVTVoYldVdWRITWlMQ0l1TGk5emNtTXZkWFJwYkhNdmNtVnpiMngyWlZWU1RDNTBjeUlzSWk0dUwzTnlZeTl0WlhSaEwxWlNUVTFsZEdGTWIyRmtaWEpRYkhWbmFXNHVkSE1pTENJdUxpOXpjbU12VmxKTlEyOXlaUzUwY3lJc0lpNHVMM055WXk5V1VrMURiM0psVEc5aFpHVnlVR3gxWjJsdUxuUnpJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibWx0Y0c5eWRDQjdJRlpTVFVWNGNISmxjM05wYjI1Q2FXNWtJSDBnWm5KdmJTQW5MaTlXVWsxRmVIQnlaWE56YVc5dVFtbHVaQ2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFVWNGNISmxjM05wYjI1UGRtVnljbWxrWlZSNWNHVWdmU0JtY205dElDY3VMMVpTVFVWNGNISmxjM05wYjI1UGRtVnljbWxrWlZSNWNHVW5PMXh1WEc0dkx5QmhibWx0WVhScGIyNU5hWGhsY2lEamdhN25tNlBvcHBibHI3N29zYUhqZ2EvamdJRlRZMlZ1WlNEamdhN2t1SzNqZ2F2bGhhWGpnYVBqZ2FiamdZVGpnb3ZsdjRYb3BvSGpnWXpqZ1lMamdvdmpnSUpjYmk4dklPT0JuZU9CcnVPQm4rT0NnZU9BZ2VpaHFPZWt1dU9DcXVPRGx1T0N1T09DcCtPQ3IrT0RpT09CcCtPQnIrT0JxdU9CaE9PQmtlT0NqT09CcWVPQWdVOWlhbVZqZERORUlPT0NrdWUybWVhSnYrT0JsK09CcGlCVFkyVnVaU0RqZ2F2bWlwWGxoYVhqZ2FmamdZM2pnb3ZqZ29qamdZYmpnYXZqZ1puamdvdmpnSUpjYm1WNGNHOXlkQ0JqYkdGemN5QldVazFGZUhCeVpYTnphVzl1SUdWNGRHVnVaSE1nVkVoU1JVVXVUMkpxWldOME0wUWdlMXh1SUNBdktpcGNiaUFnSUNvZ1RtRnRaU0J2WmlCMGFHbHpJR1Y0Y0hKbGMzTnBiMjR1WEc0Z0lDQXFJRVJwYzNScGJtZDFhWE5vWldRZ2QybDBhQ0JnYm1GdFpXQWdjMmx1WTJVZ1lHNWhiV1ZnSUhkcGJHd2dZbVVnWTI5dVpteHBZM1JsWkNCM2FYUm9JRTlpYW1WamRETkVMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR1Y0Y0hKbGMzTnBiMjVPWVcxbE9pQnpkSEpwYm1jN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQmpkWEp5Wlc1MElIZGxhV2RvZENCdlppQjBhR1VnWlhod2NtVnpjMmx2Ymk1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCM1pXbG5hSFFnUFNBd0xqQTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFbHVkR1Z5Y0hKbGRDQjJZV3gxWlhNZ1ozSmxZWFJsY2lCMGFHRnVJREF1TlNCaGN5QXhMakFzSUc5eWRHaGxjbmRwYzJVZ01DNHdMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2x6UW1sdVlYSjVJRDBnWm1Gc2MyVTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGTndaV05wWm5rZ2FHOTNJSFJvWlNCbGVIQnlaWE56YVc5dUlHOTJaWEp5YVdSbGN5QmliR2x1YXlCbGVIQnlaWE56YVc5dWN5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnZkbVZ5Y21sa1pVSnNhVzVyT2lCV1VrMUZlSEJ5WlhOemFXOXVUM1psY25KcFpHVlVlWEJsSUQwZ0oyNXZibVVuTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJUY0dWamFXWjVJR2h2ZHlCMGFHVWdaWGh3Y21WemMybHZiaUJ2ZG1WeWNtbGtaWE1nYkc5dmEwRjBJR1Y0Y0hKbGMzTnBiMjV6TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUc5MlpYSnlhV1JsVEc5dmEwRjBPaUJXVWsxRmVIQnlaWE56YVc5dVQzWmxjbkpwWkdWVWVYQmxJRDBnSjI1dmJtVW5PMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlRjR1ZqYVdaNUlHaHZkeUIwYUdVZ1pYaHdjbVZ6YzJsdmJpQnZkbVZ5Y21sa1pYTWdiVzkxZEdnZ1pYaHdjbVZ6YzJsdmJuTXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdiM1psY25KcFpHVk5iM1YwYURvZ1ZsSk5SWGh3Y21WemMybHZiazkyWlhKeWFXUmxWSGx3WlNBOUlDZHViMjVsSnp0Y2JseHVJQ0J3Y21sMllYUmxJRjlpYVc1a2N6b2dWbEpOUlhod2NtVnpjMmx2YmtKcGJtUmJYU0E5SUZ0ZE8xeHVYRzRnSUc5MlpYSnlhV1JsSUhKbFlXUnZibXg1SUhSNWNHVTZJSE4wY21sdVp5QjhJQ2RXVWsxRmVIQnlaWE56YVc5dUp6dGNibHh1SUNBdktpcGNiaUFnSUNvZ1FTQjJZV3gxWlNCeVpYQnlaWE5sYm5SeklHaHZkeUJ0ZFdOb0lHbDBJSE5vYjNWc1pDQnZkbVZ5Y21sa1pTQmliR2x1YXlCbGVIQnlaWE56YVc5dWN5NWNiaUFnSUNvZ1lEQXVNR0FnUFQwZ2JtOGdiM1psY25KcFpHVWdZWFFnWVd4c0xDQmdNUzR3WUNBOVBTQmpiMjF3YkdWMFpXeDVJR0pzYjJOcklIUm9aU0JsZUhCeVpYTnphVzl1Y3k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdiM1psY25KcFpHVkNiR2x1YTBGdGIzVnVkQ2dwT2lCdWRXMWlaWElnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbTkyWlhKeWFXUmxRbXhwYm1zZ1BUMDlJQ2RpYkc5amF5Y3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQXdMakFnUENCMGFHbHpMbmRsYVdkb2RDQS9JREV1TUNBNklEQXVNRHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWIzWmxjbkpwWkdWQ2JHbHVheUE5UFQwZ0oySnNaVzVrSnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkMlZwWjJoME8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdNQzR3TzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQklIWmhiSFZsSUhKbGNISmxjMlZ1ZEhNZ2FHOTNJRzExWTJnZ2FYUWdjMmh2ZFd4a0lHOTJaWEp5YVdSbElHeHZiMnRCZENCbGVIQnlaWE56YVc5dWN5NWNiaUFnSUNvZ1lEQXVNR0FnUFQwZ2JtOGdiM1psY25KcFpHVWdZWFFnWVd4c0xDQmdNUzR3WUNBOVBTQmpiMjF3YkdWMFpXeDVJR0pzYjJOcklIUm9aU0JsZUhCeVpYTnphVzl1Y3k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdiM1psY25KcFpHVk1iMjlyUVhSQmJXOTFiblFvS1RvZ2JuVnRZbVZ5SUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTV2ZG1WeWNtbGtaVXh2YjJ0QmRDQTlQVDBnSjJKc2IyTnJKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJREF1TUNBOElIUm9hWE11ZDJWcFoyaDBJRDhnTVM0d0lEb2dNQzR3TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXZkbVZ5Y21sa1pVeHZiMnRCZENBOVBUMGdKMkpzWlc1a0p5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZDJWcFoyaDBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnTUM0d08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJJSFpoYkhWbElISmxjSEpsYzJWdWRITWdhRzkzSUcxMVkyZ2dhWFFnYzJodmRXeGtJRzkyWlhKeWFXUmxJRzF2ZFhSb0lHVjRjSEpsYzNOcGIyNXpMbHh1SUNBZ0tpQmdNQzR3WUNBOVBTQnVieUJ2ZG1WeWNtbGtaU0JoZENCaGJHd3NJR0F4TGpCZ0lEMDlJR052YlhCc1pYUmxiSGtnWW14dlkyc2dkR2hsSUdWNGNISmxjM05wYjI1ekxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkQ0J2ZG1WeWNtbGtaVTF2ZFhSb1FXMXZkVzUwS0NrNklHNTFiV0psY2lCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YjNabGNuSnBaR1ZOYjNWMGFDQTlQVDBnSjJKc2IyTnJKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJREF1TUNBOElIUm9hWE11ZDJWcFoyaDBJRDhnTVM0d0lEb2dNQzR3TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXZkbVZ5Y21sa1pVMXZkWFJvSUQwOVBTQW5ZbXhsYm1RbktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUzWldsbmFIUTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUF3TGpBN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9aWGh3Y21WemMybHZiazVoYldVNklITjBjbWx1WnlrZ2UxeHVJQ0FnSUhOMWNHVnlLQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtNWhiV1VnUFNCZ1ZsSk5SWGh3Y21WemMybHZibDhrZTJWNGNISmxjM05wYjI1T1lXMWxmV0E3WEc0Z0lDQWdkR2hwY3k1bGVIQnlaWE56YVc5dVRtRnRaU0E5SUdWNGNISmxjM05wYjI1T1lXMWxPMXh1WEc0Z0lDQWdMeThnZEhKaGRtVnljMlVnNXBtQzQ0R3U1cFdSNXJpSTVvbUw1cTYxNDRHbzQ0R1g0NEdtSUU5aWFtVmpkRE5FSU9PQnArT0JyK09CcXVPQmhPT0JrK09CcU9PQ2t1YVlqdWVrdXVPQmwrT0JwdU9CaXVPQmoxeHVJQ0FnSUhSb2FYTXVkSGx3WlNBOUlDZFdVazFGZUhCeVpYTnphVzl1Snp0Y2JseHVJQ0FnSUM4dklPaWhxT2VrdXVlYnJ1ZWFoT09CcnVPQ3F1T0RsdU9DdU9PQ3ArT0NyK09EaU9PQnArT0JyK09CcXVPQmhPT0JydU9CcCtPQWdlaXlvT2lOdCtpN3ZlYTRtK09CcnVPQm4rT0NnZU9CcXlCMmFYTnBZbXhsSU9PQ2tpQm1ZV3h6WlNEamdhdmpnWmZqZ2FiamdZcmpnWS9qZ0lKY2JpQWdJQ0F2THlEamdaUGpnb3pqZ2F2amdvampnb3JqZ0lIamdaUGpnYTdqZ3FUamc3UGpncm5qZ3Ivamc3UGpncm5qZ2F2bHI3N2pnWm5qZ292bXI0N2pnNVhqZzZ6amc3empnNkRqZ2E0Z2JXRjBjbWw0SU9pSHF1V0xsZWlvaU9ldWwrT0NrdWVjZ2VlVnBlT0JwK09CamVPQ2krT0FnbHh1SUNBZ0lIUm9hWE11ZG1semFXSnNaU0E5SUdaaGJITmxPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR0ZrWkVKcGJtUW9ZbWx1WkRvZ1ZsSk5SWGh3Y21WemMybHZia0pwYm1RcE9pQjJiMmxrSUh0Y2JpQWdJQ0IwYUdsekxsOWlhVzVrY3k1d2RYTm9LR0pwYm1RcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUZ3Y0d4NUlIZGxhV2RvZENCMGJ5QmxkbVZ5ZVNCaGMzTnBaMjVsWkNCaWJHVnVaQ0J6YUdGd1pYTXVYRzRnSUNBcUlGTm9iM1ZzWkNCaVpTQmpZV3hzWldRZ1pYWmxjbmtnWm5KaGJXVXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdZWEJ3YkhsWFpXbG5hSFFvYjNCMGFXOXVjejg2SUh0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCTmRXeDBhWEJzYVdWeklHRWdkbUZzZFdVZ2RHOGdhWFJ6SUhkbGFXZG9kQ0IwYnlCaGNIQnNlUzVjYmlBZ0lDQWdLaUJKYm5SbGJtUmxaQ0IwYnlCaVpTQjFjMlZrSUdadmNpQnZkbVZ5Y21sa2FXNW5JR0Z1SUdWNGNISmxjM05wYjI0Z2QyVnBaMmgwSUdKNUlHRnViM1JvWlhJZ1pYaHdjbVZ6YzJsdmJpNWNiaUFnSUNBZ0tpQlRaV1VnWVd4emJ6b2dlMEJzYVc1cklHOTJaWEp5YVdSbFFteHBibXQ5TENCN1FHeHBibXNnYjNabGNuSnBaR1ZNYjI5clFYUjlMQ0I3UUd4cGJtc2diM1psY25KcFpHVk5iM1YwYUgxY2JpQWdJQ0FnS2k5Y2JpQWdJQ0J0ZFd4MGFYQnNhV1Z5UHpvZ2JuVnRZbVZ5TzF4dUlDQjlLVG9nZG05cFpDQjdYRzRnSUNBZ2JHVjBJR0ZqZEhWaGJGZGxhV2RvZENBOUlIUm9hWE11YVhOQ2FXNWhjbmtnUHlBb2RHaHBjeTUzWldsbmFIUWdQRDBnTUM0MUlEOGdNQzR3SURvZ01TNHdLU0E2SUhSb2FYTXVkMlZwWjJoME8xeHVJQ0FnSUdGamRIVmhiRmRsYVdkb2RDQXFQU0J2Y0hScGIyNXpQeTV0ZFd4MGFYQnNhV1Z5SUQ4L0lERXVNRHRjYmx4dUlDQWdJSFJvYVhNdVgySnBibVJ6TG1admNrVmhZMmdvS0dKcGJtUXBJRDArSUdKcGJtUXVZWEJ3YkhsWFpXbG5hSFFvWVdOMGRXRnNWMlZwWjJoMEtTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTJ4bFlYSWdjSEpsZG1sdmRYTnNlU0JoYzNOcFoyNWxaQ0JpYkdWdVpDQnphR0Z3WlhNdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1kyeGxZWEpCY0hCc2FXVmtWMlZwWjJoMEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVYMkpwYm1SekxtWnZja1ZoWTJnb0tHSnBibVFwSUQwK0lHSnBibVF1WTJ4bFlYSkJjSEJzYVdWa1YyVnBaMmgwS0NrcE8xeHVJQ0I5WEc1OVhHNGlMQ0l2S2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FYSEpjYmtOdmNIbHlhV2RvZENBb1l5a2dUV2xqY205emIyWjBJRU52Y25CdmNtRjBhVzl1TGx4eVhHNWNjbHh1VUdWeWJXbHpjMmx2YmlCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2dZVzVrTDI5eUlHUnBjM1J5YVdKMWRHVWdkR2hwY3lCemIyWjBkMkZ5WlNCbWIzSWdZVzU1WEhKY2JuQjFjbkJ2YzJVZ2QybDBhQ0J2Y2lCM2FYUm9iM1YwSUdabFpTQnBjeUJvWlhKbFlua2daM0poYm5SbFpDNWNjbHh1WEhKY2JsUklSU0JUVDBaVVYwRlNSU0JKVXlCUVVrOVdTVVJGUkNCY0lrRlRJRWxUWENJZ1FVNUVJRlJJUlNCQlZWUklUMUlnUkVsVFEweEJTVTFUSUVGTVRDQlhRVkpTUVU1VVNVVlRJRmRKVkVoY2NseHVVa1ZIUVZKRUlGUlBJRlJJU1ZNZ1UwOUdWRmRCVWtVZ1NVNURURlZFU1U1SElFRk1UQ0JKVFZCTVNVVkVJRmRCVWxKQlRsUkpSVk1nVDBZZ1RVVlNRMGhCVGxSQlFrbE1TVlJaWEhKY2JrRk9SQ0JHU1ZST1JWTlRMaUJKVGlCT1R5QkZWa1ZPVkNCVFNFRk1UQ0JVU0VVZ1FWVlVTRTlTSUVKRklFeEpRVUpNUlNCR1QxSWdRVTVaSUZOUVJVTkpRVXdzSUVSSlVrVkRWQ3hjY2x4dVNVNUVTVkpGUTFRc0lFOVNJRU5QVGxORlVWVkZUbFJKUVV3Z1JFRk5RVWRGVXlCUFVpQkJUbGtnUkVGTlFVZEZVeUJYU0VGVVUwOUZWa1ZTSUZKRlUxVk1WRWxPUnlCR1VrOU5YSEpjYmt4UFUxTWdUMFlnVlZORkxDQkVRVlJCSUU5U0lGQlNUMFpKVkZNc0lGZElSVlJJUlZJZ1NVNGdRVTRnUVVOVVNVOU9JRTlHSUVOUFRsUlNRVU5VTENCT1JVZE1TVWRGVGtORklFOVNYSEpjYms5VVNFVlNJRlJQVWxSSlQxVlRJRUZEVkVsUFRpd2dRVkpKVTBsT1J5QlBWVlFnVDBZZ1QxSWdTVTRnUTA5T1RrVkRWRWxQVGlCWFNWUklJRlJJUlNCVlUwVWdUMUpjY2x4dVVFVlNSazlTVFVGT1EwVWdUMFlnVkVoSlV5QlRUMFpVVjBGU1JTNWNjbHh1S2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb2dLaTljY2x4dUx5b2daMnh2WW1Gc0lGSmxabXhsWTNRc0lGQnliMjFwYzJVZ0tpOWNjbHh1WEhKY2JuWmhjaUJsZUhSbGJtUlRkR0YwYVdOeklEMGdablZ1WTNScGIyNG9aQ3dnWWlrZ2UxeHlYRzRnSUNBZ1pYaDBaVzVrVTNSaGRHbGpjeUE5SUU5aWFtVmpkQzV6WlhSUWNtOTBiM1I1Y0dWUFppQjhmRnh5WEc0Z0lDQWdJQ0FnSUNoN0lGOWZjSEp2ZEc5Zlh6b2dXMTBnZlNCcGJuTjBZVzVqWlc5bUlFRnljbUY1SUNZbUlHWjFibU4wYVc5dUlDaGtMQ0JpS1NCN0lHUXVYMTl3Y205MGIxOWZJRDBnWWpzZ2ZTa2dmSHhjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlBb1pDd2dZaWtnZXlCbWIzSWdLSFpoY2lCd0lHbHVJR0lwSUdsbUlDaFBZbXBsWTNRdWNISnZkRzkwZVhCbExtaGhjMDkzYmxCeWIzQmxjblI1TG1OaGJHd29ZaXdnY0NrcElHUmJjRjBnUFNCaVczQmRPeUI5TzF4eVhHNGdJQ0FnY21WMGRYSnVJR1Y0ZEdWdVpGTjBZWFJwWTNNb1pDd2dZaWs3WEhKY2JuMDdYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWxlSFJsYm1SektHUXNJR0lwSUh0Y2NseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1lpQWhQVDBnWENKbWRXNWpkR2x2Ymx3aUlDWW1JR0lnSVQwOUlHNTFiR3dwWEhKY2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa05zWVhOeklHVjRkR1Z1WkhNZ2RtRnNkV1VnWENJZ0t5QlRkSEpwYm1jb1lpa2dLeUJjSWlCcGN5QnViM1FnWVNCamIyNXpkSEoxWTNSdmNpQnZjaUJ1ZFd4c1hDSXBPMXh5WEc0Z0lDQWdaWGgwWlc1a1UzUmhkR2xqY3loa0xDQmlLVHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJRjlmS0NrZ2V5QjBhR2x6TG1OdmJuTjBjblZqZEc5eUlEMGdaRHNnZlZ4eVhHNGdJQ0FnWkM1d2NtOTBiM1I1Y0dVZ1BTQmlJRDA5UFNCdWRXeHNJRDhnVDJKcVpXTjBMbU55WldGMFpTaGlLU0E2SUNoZlh5NXdjbTkwYjNSNWNHVWdQU0JpTG5CeWIzUnZkSGx3WlN3Z2JtVjNJRjlmS0NrcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdkbUZ5SUY5ZllYTnphV2R1SUQwZ1puVnVZM1JwYjI0b0tTQjdYSEpjYmlBZ0lDQmZYMkZ6YzJsbmJpQTlJRTlpYW1WamRDNWhjM05wWjI0Z2ZId2dablZ1WTNScGIyNGdYMTloYzNOcFoyNG9kQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlITXNJR2tnUFNBeExDQnVJRDBnWVhKbmRXMWxiblJ6TG14bGJtZDBhRHNnYVNBOElHNDdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeklEMGdZWEpuZFcxbGJuUnpXMmxkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUdsdUlITXBJR2xtSUNoUFltcGxZM1F1Y0hKdmRHOTBlWEJsTG1oaGMwOTNibEJ5YjNCbGNuUjVMbU5oYkd3b2N5d2djQ2twSUhSYmNGMGdQU0J6VzNCZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZER0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhKbGRIVnliaUJmWDJGemMybG5iaTVoY0hCc2VTaDBhR2x6TENCaGNtZDFiV1Z1ZEhNcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl5WlhOMEtITXNJR1VwSUh0Y2NseHVJQ0FnSUhaaGNpQjBJRDBnZTMwN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCd0lHbHVJSE1wSUdsbUlDaFBZbXBsWTNRdWNISnZkRzkwZVhCbExtaGhjMDkzYmxCeWIzQmxjblI1TG1OaGJHd29jeXdnY0NrZ0ppWWdaUzVwYm1SbGVFOW1LSEFwSUR3Z01DbGNjbHh1SUNBZ0lDQWdJQ0IwVzNCZElEMGdjMXR3WFR0Y2NseHVJQ0FnSUdsbUlDaHpJQ0U5SUc1MWJHd2dKaVlnZEhsd1pXOW1JRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1nUFQwOUlGd2lablZ1WTNScGIyNWNJaWxjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnY0NBOUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVk41YldKdmJITW9jeWs3SUdrZ1BDQndMbXhsYm1kMGFEc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGxMbWx1WkdWNFQyWW9jRnRwWFNrZ1BDQXdJQ1ltSUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1Y0hKdmNHVnlkSGxKYzBWdWRXMWxjbUZpYkdVdVkyRnNiQ2h6TENCd1cybGRLU2xjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSYmNGdHBYVjBnUFNCelczQmJhVjFkTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCME8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlrWldOdmNtRjBaU2hrWldOdmNtRjBiM0p6TENCMFlYSm5aWFFzSUd0bGVTd2daR1Z6WXlrZ2UxeHlYRzRnSUNBZ2RtRnlJR01nUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvTENCeUlEMGdZeUE4SURNZ1B5QjBZWEpuWlhRZ09pQmtaWE5qSUQwOVBTQnVkV3hzSUQ4Z1pHVnpZeUE5SUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9kR0Z5WjJWMExDQnJaWGtwSURvZ1pHVnpZeXdnWkR0Y2NseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1VtVm1iR1ZqZENBOVBUMGdYQ0p2WW1wbFkzUmNJaUFtSmlCMGVYQmxiMllnVW1WbWJHVmpkQzVrWldOdmNtRjBaU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0J5SUQwZ1VtVm1iR1ZqZEM1a1pXTnZjbUYwWlNoa1pXTnZjbUYwYjNKekxDQjBZWEpuWlhRc0lHdGxlU3dnWkdWell5azdYSEpjYmlBZ0lDQmxiSE5sSUdadmNpQW9kbUZ5SUdrZ1BTQmtaV052Y21GMGIzSnpMbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnYVMwdEtTQnBaaUFvWkNBOUlHUmxZMjl5WVhSdmNuTmJhVjBwSUhJZ1BTQW9ZeUE4SURNZ1B5QmtLSElwSURvZ1l5QStJRE1nUHlCa0tIUmhjbWRsZEN3Z2EyVjVMQ0J5S1NBNklHUW9kR0Z5WjJWMExDQnJaWGtwS1NCOGZDQnlPMXh5WEc0Z0lDQWdjbVYwZFhKdUlHTWdQaUF6SUNZbUlISWdKaVlnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z2EyVjVMQ0J5S1N3Z2NqdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmY0dGeVlXMG9jR0Z5WVcxSmJtUmxlQ3dnWkdWamIzSmhkRzl5S1NCN1hISmNiaUFnSUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnS0hSaGNtZGxkQ3dnYTJWNUtTQjdJR1JsWTI5eVlYUnZjaWgwWVhKblpYUXNJR3RsZVN3Z2NHRnlZVzFKYm1SbGVDazdJSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZlpYTkVaV052Y21GMFpTaGpkRzl5TENCa1pYTmpjbWx3ZEc5eVNXNHNJR1JsWTI5eVlYUnZjbk1zSUdOdmJuUmxlSFJKYml3Z2FXNXBkR2xoYkdsNlpYSnpMQ0JsZUhSeVlVbHVhWFJwWVd4cGVtVnljeWtnZTF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnWVdOalpYQjBLR1lwSUhzZ2FXWWdLR1lnSVQwOUlIWnZhV1FnTUNBbUppQjBlWEJsYjJZZ1ppQWhQVDBnWENKbWRXNWpkR2x2Ymx3aUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpUm5WdVkzUnBiMjRnWlhod1pXTjBaV1JjSWlrN0lISmxkSFZ5YmlCbU95QjlYSEpjYmlBZ0lDQjJZWElnYTJsdVpDQTlJR052Ym5SbGVIUkpiaTVyYVc1a0xDQnJaWGtnUFNCcmFXNWtJRDA5UFNCY0ltZGxkSFJsY2x3aUlEOGdYQ0puWlhSY0lpQTZJR3RwYm1RZ1BUMDlJRndpYzJWMGRHVnlYQ0lnUHlCY0luTmxkRndpSURvZ1hDSjJZV3gxWlZ3aU8xeHlYRzRnSUNBZ2RtRnlJSFJoY21kbGRDQTlJQ0ZrWlhOamNtbHdkRzl5U1c0Z0ppWWdZM1J2Y2lBL0lHTnZiblJsZUhSSmJsdGNJbk4wWVhScFkxd2lYU0EvSUdOMGIzSWdPaUJqZEc5eUxuQnliM1J2ZEhsd1pTQTZJRzUxYkd3N1hISmNiaUFnSUNCMllYSWdaR1Z6WTNKcGNIUnZjaUE5SUdSbGMyTnlhWEIwYjNKSmJpQjhmQ0FvZEdGeVoyVjBJRDhnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNpaDBZWEpuWlhRc0lHTnZiblJsZUhSSmJpNXVZVzFsS1NBNklIdDlLVHRjY2x4dUlDQWdJSFpoY2lCZkxDQmtiMjVsSUQwZ1ptRnNjMlU3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ1pHVmpiM0poZEc5eWN5NXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCamIyNTBaWGgwSUQwZ2UzMDdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQmpiMjUwWlhoMFNXNHBJR052Ym5SbGVIUmJjRjBnUFNCd0lEMDlQU0JjSW1GalkyVnpjMXdpSUQ4Z2UzMGdPaUJqYjI1MFpYaDBTVzViY0YwN1hISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdjQ0JwYmlCamIyNTBaWGgwU1c0dVlXTmpaWE56S1NCamIyNTBaWGgwTG1GalkyVnpjMXR3WFNBOUlHTnZiblJsZUhSSmJpNWhZMk5sYzNOYmNGMDdYSEpjYmlBZ0lDQWdJQ0FnWTI5dWRHVjRkQzVoWkdSSmJtbDBhV0ZzYVhwbGNpQTlJR1oxYm1OMGFXOXVJQ2htS1NCN0lHbG1JQ2hrYjI1bEtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpUTJGdWJtOTBJR0ZrWkNCcGJtbDBhV0ZzYVhwbGNuTWdZV1owWlhJZ1pHVmpiM0poZEdsdmJpQm9ZWE1nWTI5dGNHeGxkR1ZrWENJcE95QmxlSFJ5WVVsdWFYUnBZV3hwZW1WeWN5NXdkWE5vS0dGalkyVndkQ2htSUh4OElHNTFiR3dwS1RzZ2ZUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NtVnpkV3gwSUQwZ0tEQXNJR1JsWTI5eVlYUnZjbk5iYVYwcEtHdHBibVFnUFQwOUlGd2lZV05qWlhOemIzSmNJaUEvSUhzZ1oyVjBPaUJrWlhOamNtbHdkRzl5TG1kbGRDd2djMlYwT2lCa1pYTmpjbWx3ZEc5eUxuTmxkQ0I5SURvZ1pHVnpZM0pwY0hSdmNsdHJaWGxkTENCamIyNTBaWGgwS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvYTJsdVpDQTlQVDBnWENKaFkyTmxjM052Y2x3aUtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMWJIUWdQVDA5SUhadmFXUWdNQ2tnWTI5dWRHbHVkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpYTjFiSFFnUFQwOUlHNTFiR3dnZkh3Z2RIbHdaVzltSUhKbGMzVnNkQ0FoUFQwZ1hDSnZZbXBsWTNSY0lpa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWs5aWFtVmpkQ0JsZUhCbFkzUmxaRndpS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tGOGdQU0JoWTJObGNIUW9jbVZ6ZFd4MExtZGxkQ2twSUdSbGMyTnlhWEIwYjNJdVoyVjBJRDBnWHp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tGOGdQU0JoWTJObGNIUW9jbVZ6ZFd4MExuTmxkQ2twSUdSbGMyTnlhWEIwYjNJdWMyVjBJRDBnWHp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tGOGdQU0JoWTJObGNIUW9jbVZ6ZFd4MExtbHVhWFFwS1NCcGJtbDBhV0ZzYVhwbGNuTXVjSFZ6YUNoZktUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRcEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hyYVc1a0lEMDlQU0JjSW1acFpXeGtYQ0lwSUdsdWFYUnBZV3hwZW1WeWN5NXdkWE5vS0Y4cE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR1JsYzJOeWFYQjBiM0piYTJWNVhTQTlJRjg3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2FXWWdLSFJoY21kbGRDa2dUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hSaGNtZGxkQ3dnWTI5dWRHVjRkRWx1TG01aGJXVXNJR1JsYzJOeWFYQjBiM0lwTzF4eVhHNGdJQ0FnWkc5dVpTQTlJSFJ5ZFdVN1hISmNibjA3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl5ZFc1SmJtbDBhV0ZzYVhwbGNuTW9kR2hwYzBGeVp5d2dhVzVwZEdsaGJHbDZaWEp6TENCMllXeDFaU2tnZTF4eVhHNGdJQ0FnZG1GeUlIVnpaVlpoYkhWbElEMGdZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJREk3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdsdWFYUnBZV3hwZW1WeWN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ2RYTmxWbUZzZFdVZ1B5QnBibWwwYVdGc2FYcGxjbk5iYVYwdVkyRnNiQ2gwYUdselFYSm5MQ0IyWVd4MVpTa2dPaUJwYm1sMGFXRnNhWHBsY25OYmFWMHVZMkZzYkNoMGFHbHpRWEpuS1R0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhKbGRIVnliaUIxYzJWV1lXeDFaU0EvSUhaaGJIVmxJRG9nZG05cFpDQXdPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmNISnZjRXRsZVNoNEtTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z2RIbHdaVzltSUhnZ1BUMDlJRndpYzNsdFltOXNYQ0lnUHlCNElEb2dYQ0pjSWk1amIyNWpZWFFvZUNrN1hISmNibjA3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl6WlhSR2RXNWpkR2x2Yms1aGJXVW9aaXdnYm1GdFpTd2djSEpsWm1sNEtTQjdYSEpjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzVoYldVZ1BUMDlJRndpYzNsdFltOXNYQ0lwSUc1aGJXVWdQU0J1WVcxbExtUmxjMk55YVhCMGFXOXVJRDhnWENKYlhDSXVZMjl1WTJGMEtHNWhiV1V1WkdWelkzSnBjSFJwYjI0c0lGd2lYVndpS1NBNklGd2lYQ0k3WEhKY2JpQWdJQ0J5WlhSMWNtNGdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dZc0lGd2libUZ0WlZ3aUxDQjdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaU3dnZG1Gc2RXVTZJSEJ5WldacGVDQS9JRndpWENJdVkyOXVZMkYwS0hCeVpXWnBlQ3dnWENJZ1hDSXNJRzVoYldVcElEb2dibUZ0WlNCOUtUdGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDIxbGRHRmtZWFJoS0cxbGRHRmtZWFJoUzJWNUxDQnRaWFJoWkdGMFlWWmhiSFZsS1NCN1hISmNiaUFnSUNCcFppQW9kSGx3Wlc5bUlGSmxabXhsWTNRZ1BUMDlJRndpYjJKcVpXTjBYQ0lnSmlZZ2RIbHdaVzltSUZKbFpteGxZM1F1YldWMFlXUmhkR0VnUFQwOUlGd2lablZ1WTNScGIyNWNJaWtnY21WMGRYSnVJRkpsWm14bFkzUXViV1YwWVdSaGRHRW9iV1YwWVdSaGRHRkxaWGtzSUcxbGRHRmtZWFJoVm1Gc2RXVXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5aGQyRnBkR1Z5S0hSb2FYTkJjbWNzSUY5aGNtZDFiV1Z1ZEhNc0lGQXNJR2RsYm1WeVlYUnZjaWtnZTF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnWVdSdmNIUW9kbUZzZFdVcElIc2djbVYwZFhKdUlIWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1VDQS9JSFpoYkhWbElEb2dibVYzSUZBb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1VcElIc2djbVZ6YjJ4MlpTaDJZV3gxWlNrN0lIMHBPeUI5WEhKY2JpQWdJQ0J5WlhSMWNtNGdibVYzSUNoUUlIeDhJQ2hRSUQwZ1VISnZiV2x6WlNrcEtHWjFibU4wYVc5dUlDaHlaWE52YkhabExDQnlaV3BsWTNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUJtZFd4bWFXeHNaV1FvZG1Gc2RXVXBJSHNnZEhKNUlIc2djM1JsY0NoblpXNWxjbUYwYjNJdWJtVjRkQ2gyWVd4MVpTa3BPeUI5SUdOaGRHTm9JQ2hsS1NCN0lISmxhbVZqZENobEtUc2dmU0I5WEhKY2JpQWdJQ0FnSUNBZ1puVnVZM1JwYjI0Z2NtVnFaV04wWldRb2RtRnNkV1VwSUhzZ2RISjVJSHNnYzNSbGNDaG5aVzVsY21GMGIzSmJYQ0owYUhKdmQxd2lYU2gyWVd4MVpTa3BPeUI5SUdOaGRHTm9JQ2hsS1NCN0lISmxhbVZqZENobEtUc2dmU0I5WEhKY2JpQWdJQ0FnSUNBZ1puVnVZM1JwYjI0Z2MzUmxjQ2h5WlhOMWJIUXBJSHNnY21WemRXeDBMbVJ2Ym1VZ1B5QnlaWE52YkhabEtISmxjM1ZzZEM1MllXeDFaU2tnT2lCaFpHOXdkQ2h5WlhOMWJIUXVkbUZzZFdVcExuUm9aVzRvWm5Wc1ptbHNiR1ZrTENCeVpXcGxZM1JsWkNrN0lIMWNjbHh1SUNBZ0lDQWdJQ0J6ZEdWd0tDaG5aVzVsY21GMGIzSWdQU0JuWlc1bGNtRjBiM0l1WVhCd2JIa29kR2hwYzBGeVp5d2dYMkZ5WjNWdFpXNTBjeUI4ZkNCYlhTa3BMbTVsZUhRb0tTazdYSEpjYmlBZ0lDQjlLVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZloyVnVaWEpoZEc5eUtIUm9hWE5CY21jc0lHSnZaSGtwSUh0Y2NseHVJQ0FnSUhaaGNpQmZJRDBnZXlCc1lXSmxiRG9nTUN3Z2MyVnVkRG9nWm5WdVkzUnBiMjRvS1NCN0lHbG1JQ2gwV3pCZElDWWdNU2tnZEdoeWIzY2dkRnN4WFRzZ2NtVjBkWEp1SUhSYk1WMDdJSDBzSUhSeWVYTTZJRnRkTENCdmNITTZJRnRkSUgwc0lHWXNJSGtzSUhRc0lHYzdYSEpjYmlBZ0lDQnlaWFIxY200Z1p5QTlJSHNnYm1WNGREb2dkbVZ5WWlnd0tTd2dYQ0owYUhKdmQxd2lPaUIyWlhKaUtERXBMQ0JjSW5KbGRIVnlibHdpT2lCMlpYSmlLRElwSUgwc0lIUjVjR1Z2WmlCVGVXMWliMndnUFQwOUlGd2lablZ1WTNScGIyNWNJaUFtSmlBb1oxdFRlVzFpYjJ3dWFYUmxjbUYwYjNKZElEMGdablZ1WTNScGIyNG9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlLU3dnWnp0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhabGNtSW9iaWtnZXlCeVpYUjFjbTRnWm5WdVkzUnBiMjRnS0hZcElIc2djbVYwZFhKdUlITjBaWEFvVzI0c0lIWmRLVHNnZlRzZ2ZWeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2MzUmxjQ2h2Y0NrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNobUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpUjJWdVpYSmhkRzl5SUdseklHRnNjbVZoWkhrZ1pYaGxZM1YwYVc1bkxsd2lLVHRjY2x4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvWnlBbUppQW9aeUE5SURBc0lHOXdXekJkSUNZbUlDaGZJRDBnTUNrcExDQmZLU0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aaUE5SURFc0lIa2dKaVlnS0hRZ1BTQnZjRnN3WFNBbUlESWdQeUI1VzF3aWNtVjBkWEp1WENKZElEb2diM0JiTUYwZ1B5QjVXMXdpZEdoeWIzZGNJbDBnZkh3Z0tDaDBJRDBnZVZ0Y0luSmxkSFZ5Ymx3aVhTa2dKaVlnZEM1allXeHNLSGtwTENBd0tTQTZJSGt1Ym1WNGRDa2dKaVlnSVNoMElEMGdkQzVqWVd4c0tIa3NJRzl3V3pGZEtTa3VaRzl1WlNrZ2NtVjBkWEp1SUhRN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDVJRDBnTUN3Z2RDa2diM0FnUFNCYmIzQmJNRjBnSmlBeUxDQjBMblpoYkhWbFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNodmNGc3dYU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F3T2lCallYTmxJREU2SUhRZ1BTQnZjRHNnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEUTZJRjh1YkdGaVpXd3JLenNnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzl3V3pGZExDQmtiMjVsT2lCbVlXeHpaU0I5TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0ExT2lCZkxteGhZbVZzS3lzN0lIa2dQU0J2Y0ZzeFhUc2diM0FnUFNCYk1GMDdJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQTNPaUJ2Y0NBOUlGOHViM0J6TG5CdmNDZ3BPeUJmTG5SeWVYTXVjRzl3S0NrN0lHTnZiblJwYm5WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REcGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JU2gwSUQwZ1h5NTBjbmx6TENCMElEMGdkQzVzWlc1bmRHZ2dQaUF3SUNZbUlIUmJkQzVzWlc1bmRHZ2dMU0F4WFNrZ0ppWWdLRzl3V3pCZElEMDlQU0EySUh4OElHOXdXekJkSUQwOVBTQXlLU2tnZXlCZklEMGdNRHNnWTI5dWRHbHVkV1U3SUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2IzQmJNRjBnUFQwOUlETWdKaVlnS0NGMElIeDhJQ2h2Y0ZzeFhTQStJSFJiTUYwZ0ppWWdiM0JiTVYwZ1BDQjBXek5kS1NrcElIc2dYeTVzWVdKbGJDQTlJRzl3V3pGZE95QmljbVZoYXpzZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZjRnN3WFNBOVBUMGdOaUFtSmlCZkxteGhZbVZzSUR3Z2RGc3hYU2tnZXlCZkxteGhZbVZzSUQwZ2RGc3hYVHNnZENBOUlHOXdPeUJpY21WaGF6c2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwSUNZbUlGOHViR0ZpWld3Z1BDQjBXekpkS1NCN0lGOHViR0ZpWld3Z1BTQjBXekpkT3lCZkxtOXdjeTV3ZFhOb0tHOXdLVHNnWW5KbFlXczdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEZzeVhTa2dYeTV2Y0hNdWNHOXdLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYeTUwY25sekxuQnZjQ2dwT3lCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J2Y0NBOUlHSnZaSGt1WTJGc2JDaDBhR2x6UVhKbkxDQmZLVHRjY2x4dUlDQWdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdJRzl3SUQwZ1d6WXNJR1ZkT3lCNUlEMGdNRHNnZlNCbWFXNWhiR3g1SUhzZ1ppQTlJSFFnUFNBd095QjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUNZZ05Ta2dkR2h5YjNjZ2IzQmJNVjA3SUhKbGRIVnliaUI3SUhaaGJIVmxPaUJ2Y0Zzd1hTQS9JRzl3V3pGZElEb2dkbTlwWkNBd0xDQmtiMjVsT2lCMGNuVmxJSDA3WEhKY2JpQWdJQ0I5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCMllYSWdYMTlqY21WaGRHVkNhVzVrYVc1bklEMGdUMkpxWldOMExtTnlaV0YwWlNBL0lDaG1kVzVqZEdsdmJpaHZMQ0J0TENCckxDQnJNaWtnZTF4eVhHNGdJQ0FnYVdZZ0tHc3lJRDA5UFNCMWJtUmxabWx1WldRcElHc3lJRDBnYXp0Y2NseHVJQ0FnSUhaaGNpQmtaWE5qSUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWh0TENCcktUdGNjbHh1SUNBZ0lHbG1JQ2doWkdWell5QjhmQ0FvWENKblpYUmNJaUJwYmlCa1pYTmpJRDhnSVcwdVgxOWxjMDF2WkhWc1pTQTZJR1JsYzJNdWQzSnBkR0ZpYkdVZ2ZId2daR1Z6WXk1amIyNW1hV2QxY21GaWJHVXBLU0I3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpZeUE5SUhzZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN3Z1oyVjBPaUJtZFc1amRHbHZiaWdwSUhzZ2NtVjBkWEp1SUcxYmExMDdJSDBnZlR0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaHZMQ0JyTWl3Z1pHVnpZeWs3WEhKY2JuMHBJRG9nS0daMWJtTjBhVzl1S0c4c0lHMHNJR3NzSUdzeUtTQjdYSEpjYmlBZ0lDQnBaaUFvYXpJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnYXpJZ1BTQnJPMXh5WEc0Z0lDQWdiMXRyTWwwZ1BTQnRXMnRkTzF4eVhHNTlLVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMlY0Y0c5eWRGTjBZWElvYlN3Z2J5a2dlMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdjQ0JwYmlCdEtTQnBaaUFvY0NBaFBUMGdYQ0prWldaaGRXeDBYQ0lnSmlZZ0lVOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaHZMQ0J3S1NrZ1gxOWpjbVZoZEdWQ2FXNWthVzVuS0c4c0lHMHNJSEFwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOTJZV3gxWlhNb2J5a2dlMXh5WEc0Z0lDQWdkbUZ5SUhNZ1BTQjBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnSmlZZ1UzbHRZbTlzTG1sMFpYSmhkRzl5TENCdElEMGdjeUFtSmlCdlczTmRMQ0JwSUQwZ01EdGNjbHh1SUNBZ0lHbG1JQ2h0S1NCeVpYUjFjbTRnYlM1allXeHNLRzhwTzF4eVhHNGdJQ0FnYVdZZ0tHOGdKaVlnZEhsd1pXOW1JRzh1YkdWdVozUm9JRDA5UFNCY0ltNTFiV0psY2x3aUtTQnlaWFIxY200Z2UxeHlYRzRnSUNBZ0lDQWdJRzVsZUhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c4Z0ppWWdhU0ErUFNCdkxteGxibWQwYUNrZ2J5QTlJSFp2YVdRZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ2RtRnNkV1U2SUc4Z0ppWWdiMXRwS3l0ZExDQmtiMjVsT2lBaGJ5QjlPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtITWdQeUJjSWs5aWFtVmpkQ0JwY3lCdWIzUWdhWFJsY21GaWJHVXVYQ0lnT2lCY0lsTjViV0p2YkM1cGRHVnlZWFJ2Y2lCcGN5QnViM1FnWkdWbWFXNWxaQzVjSWlrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM0psWVdRb2J5d2diaWtnZTF4eVhHNGdJQ0FnZG1GeUlHMGdQU0IwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ0ppWWdiMXRUZVcxaWIyd3VhWFJsY21GMGIzSmRPMXh5WEc0Z0lDQWdhV1lnS0NGdEtTQnlaWFIxY200Z2J6dGNjbHh1SUNBZ0lIWmhjaUJwSUQwZ2JTNWpZV3hzS0c4cExDQnlMQ0JoY2lBOUlGdGRMQ0JsTzF4eVhHNGdJQ0FnZEhKNUlIdGNjbHh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9LRzRnUFQwOUlIWnZhV1FnTUNCOGZDQnVMUzBnUGlBd0tTQW1KaUFoS0hJZ1BTQnBMbTVsZUhRb0tTa3VaRzl1WlNrZ1lYSXVjSFZ6YUNoeUxuWmhiSFZsS1R0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdOaGRHTm9JQ2hsY25KdmNpa2dleUJsSUQwZ2V5Qmxjbkp2Y2pvZ1pYSnliM0lnZlRzZ2ZWeHlYRzRnSUNBZ1ptbHVZV3hzZVNCN1hISmNiaUFnSUNBZ0lDQWdkSEo1SUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tISWdKaVlnSVhJdVpHOXVaU0FtSmlBb2JTQTlJR2xiWENKeVpYUjFjbTVjSWwwcEtTQnRMbU5oYkd3b2FTazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHWnBibUZzYkhrZ2V5QnBaaUFvWlNrZ2RHaHliM2NnWlM1bGNuSnZjanNnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJR0Z5TzF4eVhHNTlYSEpjYmx4eVhHNHZLaW9nUUdSbGNISmxZMkYwWldRZ0tpOWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYzNCeVpXRmtLQ2tnZTF4eVhHNGdJQ0FnWm05eUlDaDJZWElnWVhJZ1BTQmJYU3dnYVNBOUlEQTdJR2tnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcEt5c3BYSEpjYmlBZ0lDQWdJQ0FnWVhJZ1BTQmhjaTVqYjI1allYUW9YMTl5WldGa0tHRnlaM1Z0Wlc1MGMxdHBYU2twTzF4eVhHNGdJQ0FnY21WMGRYSnVJR0Z5TzF4eVhHNTlYSEpjYmx4eVhHNHZLaW9nUUdSbGNISmxZMkYwWldRZ0tpOWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYzNCeVpXRmtRWEp5WVhsektDa2dlMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdjeUE5SURBc0lHa2dQU0F3TENCcGJDQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZzdJR2tnUENCcGJEc2dhU3NyS1NCeklDczlJR0Z5WjNWdFpXNTBjMXRwWFM1c1pXNW5kR2c3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJ5SUQwZ1FYSnlZWGtvY3lrc0lHc2dQU0F3TENCcElEMGdNRHNnYVNBOElHbHNPeUJwS3lzcFhISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdZU0E5SUdGeVozVnRaVzUwYzF0cFhTd2dhaUE5SURBc0lHcHNJRDBnWVM1c1pXNW5kR2c3SUdvZ1BDQnFiRHNnYWlzckxDQnJLeXNwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpiYTEwZ1BTQmhXMnBkTzF4eVhHNGdJQ0FnY21WMGRYSnVJSEk3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzTndjbVZoWkVGeWNtRjVLSFJ2TENCbWNtOXRMQ0J3WVdOcktTQjdYSEpjYmlBZ0lDQnBaaUFvY0dGamF5QjhmQ0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDA5UFNBeUtTQm1iM0lnS0haaGNpQnBJRDBnTUN3Z2JDQTlJR1p5YjIwdWJHVnVaM1JvTENCaGNqc2dhU0E4SUd3N0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hoY2lCOGZDQWhLR2tnYVc0Z1puSnZiU2twSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRmhjaWtnWVhJZ1BTQkJjbkpoZVM1d2NtOTBiM1I1Y0dVdWMyeHBZMlV1WTJGc2JDaG1jbTl0TENBd0xDQnBLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZWEpiYVYwZ1BTQm1jbTl0VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQjBieTVqYjI1allYUW9ZWElnZkh3Z1FYSnlZWGt1Y0hKdmRHOTBlWEJsTG5Oc2FXTmxMbU5oYkd3b1puSnZiU2twTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhkMkZwZENoMktTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeUJwYm5OMFlXNWpaVzltSUY5ZllYZGhhWFFnUHlBb2RHaHBjeTUySUQwZ2Rpd2dkR2hwY3lrZ09pQnVaWGNnWDE5aGQyRnBkQ2gyS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZWE41Ym1OSFpXNWxjbUYwYjNJb2RHaHBjMEZ5Wnl3Z1gyRnlaM1Z0Wlc1MGN5d2daMlZ1WlhKaGRHOXlLU0I3WEhKY2JpQWdJQ0JwWmlBb0lWTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSWdhWE1nYm05MElHUmxabWx1WldRdVhDSXBPMXh5WEc0Z0lDQWdkbUZ5SUdjZ1BTQm5aVzVsY21GMGIzSXVZWEJ3Ykhrb2RHaHBjMEZ5Wnl3Z1gyRnlaM1Z0Wlc1MGN5QjhmQ0JiWFNrc0lHa3NJSEVnUFNCYlhUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCcElEMGdlMzBzSUhabGNtSW9YQ0p1WlhoMFhDSXBMQ0IyWlhKaUtGd2lkR2h5YjNkY0lpa3NJSFpsY21Jb1hDSnlaWFIxY201Y0lpa3NJR2xiVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNKZElEMGdablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnZEdocGN6c2dmU3dnYVR0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhabGNtSW9iaWtnZXlCcFppQW9aMXR1WFNrZ2FWdHVYU0E5SUdaMWJtTjBhVzl1SUNoMktTQjdJSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaU2htZFc1amRHbHZiaUFvWVN3Z1lpa2dleUJ4TG5CMWMyZ29XMjRzSUhZc0lHRXNJR0pkS1NBK0lERWdmSHdnY21WemRXMWxLRzRzSUhZcE95QjlLVHNnZlRzZ2ZWeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2NtVnpkVzFsS0c0c0lIWXBJSHNnZEhKNUlIc2djM1JsY0NoblcyNWRLSFlwS1RzZ2ZTQmpZWFJqYUNBb1pTa2dleUJ6WlhSMGJHVW9jVnN3WFZzelhTd2daU2s3SUgwZ2ZWeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2MzUmxjQ2h5S1NCN0lISXVkbUZzZFdVZ2FXNXpkR0Z1WTJWdlppQmZYMkYzWVdsMElEOGdVSEp2YldselpTNXlaWE52YkhabEtISXVkbUZzZFdVdWRpa3VkR2hsYmlobWRXeG1hV3hzTENCeVpXcGxZM1FwSURvZ2MyVjBkR3hsS0hGYk1GMWJNbDBzSUhJcE95QjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQm1kV3htYVd4c0tIWmhiSFZsS1NCN0lISmxjM1Z0WlNoY0ltNWxlSFJjSWl3Z2RtRnNkV1VwT3lCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCeVpXcGxZM1FvZG1Gc2RXVXBJSHNnY21WemRXMWxLRndpZEdoeWIzZGNJaXdnZG1Gc2RXVXBPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6WlhSMGJHVW9aaXdnZGlrZ2V5QnBaaUFvWmloMktTd2djUzV6YUdsbWRDZ3BMQ0J4TG14bGJtZDBhQ2tnY21WemRXMWxLSEZiTUYxYk1GMHNJSEZiTUYxYk1WMHBPeUI5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyRnplVzVqUkdWc1pXZGhkRzl5S0c4cElIdGNjbHh1SUNBZ0lIWmhjaUJwTENCd08xeHlYRzRnSUNBZ2NtVjBkWEp1SUdrZ1BTQjdmU3dnZG1WeVlpaGNJbTVsZUhSY0lpa3NJSFpsY21Jb1hDSjBhSEp2ZDF3aUxDQm1kVzVqZEdsdmJpQW9aU2tnZXlCMGFISnZkeUJsT3lCOUtTd2dkbVZ5WWloY0luSmxkSFZ5Ymx3aUtTd2dhVnRUZVcxaWIyd3VhWFJsY21GMGIzSmRJRDBnWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z2RHaHBjenNnZlN3Z2FUdGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlIWmxjbUlvYml3Z1ppa2dleUJwVzI1ZElEMGdiMXR1WFNBL0lHWjFibU4wYVc5dUlDaDJLU0I3SUhKbGRIVnliaUFvY0NBOUlDRndLU0EvSUhzZ2RtRnNkV1U2SUY5ZllYZGhhWFFvYjF0dVhTaDJLU2tzSUdSdmJtVTZJR1poYkhObElIMGdPaUJtSUQ4Z1ppaDJLU0E2SUhZN0lIMGdPaUJtT3lCOVhISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkZ6ZVc1alZtRnNkV1Z6S0c4cElIdGNjbHh1SUNBZ0lHbG1JQ2doVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lCcGN5QnViM1FnWkdWbWFXNWxaQzVjSWlrN1hISmNiaUFnSUNCMllYSWdiU0E5SUc5YlUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSmRMQ0JwTzF4eVhHNGdJQ0FnY21WMGRYSnVJRzBnUHlCdExtTmhiR3dvYnlrZ09pQW9ieUE5SUhSNWNHVnZaaUJmWDNaaGJIVmxjeUE5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJRDhnWDE5MllXeDFaWE1vYnlrZ09pQnZXMU41YldKdmJDNXBkR1Z5WVhSdmNsMG9LU3dnYVNBOUlIdDlMQ0IyWlhKaUtGd2libVY0ZEZ3aUtTd2dkbVZ5WWloY0luUm9jbTkzWENJcExDQjJaWEppS0Z3aWNtVjBkWEp1WENJcExDQnBXMU41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5WFNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHNJR2twTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVLU0I3SUdsYmJsMGdQU0J2VzI1ZElDWW1JR1oxYm1OMGFXOXVJQ2gyS1NCN0lISmxkSFZ5YmlCdVpYY2dVSEp2YldselpTaG1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdJSFlnUFNCdlcyNWRLSFlwTENCelpYUjBiR1VvY21WemIyeDJaU3dnY21WcVpXTjBMQ0IyTG1SdmJtVXNJSFl1ZG1Gc2RXVXBPeUI5S1RzZ2ZUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjMlYwZEd4bEtISmxjMjlzZG1Vc0lISmxhbVZqZEN3Z1pDd2dkaWtnZXlCUWNtOXRhWE5sTG5KbGMyOXNkbVVvZGlrdWRHaGxiaWhtZFc1amRHbHZiaWgyS1NCN0lISmxjMjlzZG1Vb2V5QjJZV3gxWlRvZ2Rpd2daRzl1WlRvZ1pDQjlLVHNnZlN3Z2NtVnFaV04wS1RzZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl0WVd0bFZHVnRjR3hoZEdWUFltcGxZM1FvWTI5dmEyVmtMQ0J5WVhjcElIdGNjbHh1SUNBZ0lHbG1JQ2hQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrcElIc2dUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dOdmIydGxaQ3dnWENKeVlYZGNJaXdnZXlCMllXeDFaVG9nY21GM0lIMHBPeUI5SUdWc2MyVWdleUJqYjI5clpXUXVjbUYzSUQwZ2NtRjNPeUI5WEhKY2JpQWdJQ0J5WlhSMWNtNGdZMjl2YTJWa08xeHlYRzU5TzF4eVhHNWNjbHh1ZG1GeUlGOWZjMlYwVFc5a2RXeGxSR1ZtWVhWc2RDQTlJRTlpYW1WamRDNWpjbVZoZEdVZ1B5QW9ablZ1WTNScGIyNG9ieXdnZGlrZ2UxeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRzhzSUZ3aVpHVm1ZWFZzZEZ3aUxDQjdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNJSFpoYkhWbE9pQjJJSDBwTzF4eVhHNTlLU0E2SUdaMWJtTjBhVzl1S0c4c0lIWXBJSHRjY2x4dUlDQWdJRzliWENKa1pXWmhkV3gwWENKZElEMGdkanRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgybHRjRzl5ZEZOMFlYSW9iVzlrS1NCN1hISmNiaUFnSUNCcFppQW9iVzlrSUNZbUlHMXZaQzVmWDJWelRXOWtkV3hsS1NCeVpYUjFjbTRnYlc5a08xeHlYRzRnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJSHQ5TzF4eVhHNGdJQ0FnYVdZZ0tHMXZaQ0FoUFNCdWRXeHNLU0JtYjNJZ0tIWmhjaUJySUdsdUlHMXZaQ2tnYVdZZ0tHc2dJVDA5SUZ3aVpHVm1ZWFZzZEZ3aUlDWW1JRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2h0YjJRc0lHc3BLU0JmWDJOeVpXRjBaVUpwYm1ScGJtY29jbVZ6ZFd4MExDQnRiMlFzSUdzcE8xeHlYRzRnSUNBZ1gxOXpaWFJOYjJSMWJHVkVaV1poZFd4MEtISmxjM1ZzZEN3Z2JXOWtLVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMmx0Y0c5eWRFUmxabUYxYkhRb2JXOWtLU0I3WEhKY2JpQWdJQ0J5WlhSMWNtNGdLRzF2WkNBbUppQnRiMlF1WDE5bGMwMXZaSFZzWlNrZ1B5QnRiMlFnT2lCN0lHUmxabUYxYkhRNklHMXZaQ0I5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWpiR0Z6YzFCeWFYWmhkR1ZHYVdWc1pFZGxkQ2h5WldObGFYWmxjaXdnYzNSaGRHVXNJR3RwYm1Rc0lHWXBJSHRjY2x4dUlDQWdJR2xtSUNocmFXNWtJRDA5UFNCY0ltRmNJaUFtSmlBaFppa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWxCeWFYWmhkR1VnWVdOalpYTnpiM0lnZDJGeklHUmxabWx1WldRZ2QybDBhRzkxZENCaElHZGxkSFJsY2x3aUtUdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdjM1JoZEdVZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBL0lISmxZMlZwZG1WeUlDRTlQU0J6ZEdGMFpTQjhmQ0FoWmlBNklDRnpkR0YwWlM1b1lYTW9jbVZqWldsMlpYSXBLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVEyRnVibTkwSUhKbFlXUWdjSEpwZG1GMFpTQnRaVzFpWlhJZ1puSnZiU0JoYmlCdlltcGxZM1FnZDJodmMyVWdZMnhoYzNNZ1pHbGtJRzV2ZENCa1pXTnNZWEpsSUdsMFhDSXBPMXh5WEc0Z0lDQWdjbVYwZFhKdUlHdHBibVFnUFQwOUlGd2liVndpSUQ4Z1ppQTZJR3RwYm1RZ1BUMDlJRndpWVZ3aUlEOGdaaTVqWVd4c0tISmxZMlZwZG1WeUtTQTZJR1lnUHlCbUxuWmhiSFZsSURvZ2MzUmhkR1V1WjJWMEtISmxZMlZwZG1WeUtUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWTJ4aGMzTlFjbWwyWVhSbFJtbGxiR1JUWlhRb2NtVmpaV2wyWlhJc0lITjBZWFJsTENCMllXeDFaU3dnYTJsdVpDd2daaWtnZTF4eVhHNGdJQ0FnYVdZZ0tHdHBibVFnUFQwOUlGd2liVndpS1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lVSEpwZG1GMFpTQnRaWFJvYjJRZ2FYTWdibTkwSUhkeWFYUmhZbXhsWENJcE8xeHlYRzRnSUNBZ2FXWWdLR3RwYm1RZ1BUMDlJRndpWVZ3aUlDWW1JQ0ZtS1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lVSEpwZG1GMFpTQmhZMk5sYzNOdmNpQjNZWE1nWkdWbWFXNWxaQ0IzYVhSb2IzVjBJR0VnYzJWMGRHVnlYQ0lwTzF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCemRHRjBaU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJRDhnY21WalpXbDJaWElnSVQwOUlITjBZWFJsSUh4OElDRm1JRG9nSVhOMFlYUmxMbWhoY3loeVpXTmxhWFpsY2lrcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEWVc1dWIzUWdkM0pwZEdVZ2NISnBkbUYwWlNCdFpXMWlaWElnZEc4Z1lXNGdiMkpxWldOMElIZG9iM05sSUdOc1lYTnpJR1JwWkNCdWIzUWdaR1ZqYkdGeVpTQnBkRndpS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUFvYTJsdVpDQTlQVDBnWENKaFhDSWdQeUJtTG1OaGJHd29jbVZqWldsMlpYSXNJSFpoYkhWbEtTQTZJR1lnUHlCbUxuWmhiSFZsSUQwZ2RtRnNkV1VnT2lCemRHRjBaUzV6WlhRb2NtVmpaV2wyWlhJc0lIWmhiSFZsS1Nrc0lIWmhiSFZsTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWpiR0Z6YzFCeWFYWmhkR1ZHYVdWc1pFbHVLSE4wWVhSbExDQnlaV05sYVhabGNpa2dlMXh5WEc0Z0lDQWdhV1lnS0hKbFkyVnBkbVZ5SUQwOVBTQnVkV3hzSUh4OElDaDBlWEJsYjJZZ2NtVmpaV2wyWlhJZ0lUMDlJRndpYjJKcVpXTjBYQ0lnSmlZZ2RIbHdaVzltSUhKbFkyVnBkbVZ5SUNFOVBTQmNJbVoxYm1OMGFXOXVYQ0lwS1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lRMkZ1Ym05MElIVnpaU0FuYVc0bklHOXdaWEpoZEc5eUlHOXVJRzV2YmkxdlltcGxZM1JjSWlrN1hISmNiaUFnSUNCeVpYUjFjbTRnZEhsd1pXOW1JSE4wWVhSbElEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ1B5QnlaV05sYVhabGNpQTlQVDBnYzNSaGRHVWdPaUJ6ZEdGMFpTNW9ZWE1vY21WalpXbDJaWElwTzF4eVhHNTlYSEpjYmlJc0ltbHRjRzl5ZENCMGVYQmxJSHNnUjB4VVJpQjlJR1p5YjIwZ0ozUm9jbVZsTDJWNFlXMXdiR1Z6TDJwemJTOXNiMkZrWlhKekwwZE1WRVpNYjJGa1pYSXVhbk1uTzF4dWFXMXdiM0owSUhzZ1IweFVSaUJoY3lCSFRGUkdVMk5vWlcxaElIMGdabkp2YlNBblFHZHNkR1l0ZEhKaGJuTm1iM0p0TDJOdmNtVW5PMXh1WEc1bWRXNWpkR2x2YmlCbGVIUnlZV04wVUhKcGJXbDBhWFpsYzBsdWRHVnlibUZzS0dkc2RHWTZJRWRNVkVZc0lHNXZaR1ZKYm1SbGVEb2diblZ0WW1WeUxDQnViMlJsT2lCVVNGSkZSUzVQWW1wbFkzUXpSQ2s2SUZSSVVrVkZMazFsYzJoYlhTQjhJRzUxYkd3Z2UxeHVJQ0JqYjI1emRDQnFjMjl1SUQwZ1oyeDBaaTV3WVhKelpYSXVhbk52YmlCaGN5QkhURlJHVTJOb1pXMWhMa2xIVEZSR08xeHVYRzRnSUM4cUtseHVJQ0FnS2lCTVpYUW5jeUJzYVhOMElIVndJR1YyWlhKNUlIQnZjM05wWW14bElIQmhkSFJsY201eklIUm9ZWFFnY0dGeWMyVmtJR2RzZEdZZ2JtOWtaWE1nZDJsMGFDQmhJRzFsYzJnZ1kyRnVJR2hoZG1Vc0xDeGNiaUFnSUNwY2JpQWdJQ29nWENJcVhDSWdhVzVrYVdOaGRHVnpJSFJvWVhRZ2RHaHZjMlVnYldWemFHVnpJSE5vYjNWc1pDQmlaU0JzYVhOMFpXUWdkWEFnZFhOcGJtY2dkR2hwY3lCbWRXNWpkR2x2Ymx4dUlDQWdLbHh1SUNBZ0tpQWpJeU1nUVNCdWIyUmxJSGRwZEdnZ1lTQW9iV1Z6YUN3Z1lTQnphV2R1YkdVZ2NISnBiV2wwYVhabEtWeHVJQ0FnS2x4dUlDQWdLaUF0SUdCVVNGSkZSUzVOWlhOb1lEb2dWR2hsSUc5dWJIa2djSEpwYldsMGFYWmxJRzltSUhSb1pTQnRaWE5vSUNwY2JpQWdJQ3BjYmlBZ0lDb2dJeU1qSUVFZ2JtOWtaU0IzYVhSb0lHRWdLRzFsYzJnc0lHMTFiSFJwY0d4bElIQnlhVzFwZEdsMlpYTXBYRzRnSUNBcVhHNGdJQ0FxSUMwZ1lGUklVa1ZGTGtkeWIzVndZRG9nVkdobElISnZiM1FnYjJZZ2RHaGxJRzFsYzJoY2JpQWdJQ29nSUNBdElHQlVTRkpGUlM1TlpYTm9ZRG9nUVNCd2NtbHRhWFJwZG1VZ2IyWWdkR2hsSUcxbGMyZ2dLbHh1SUNBZ0tpQWdJQzBnWUZSSVVrVkZMazFsYzJoZ09pQkJJSEJ5YVcxcGRHbDJaU0J2WmlCMGFHVWdiV1Z6YUNBb01pa2dLbHh1SUNBZ0tseHVJQ0FnS2lBakl5TWdRU0J1YjJSbElIZHBkR2dnWVNBb2JXVnphQ3dnYlhWc2RHbHdiR1VnY0hKcGJXbDBhWFpsY3lrZ1FVNUVJQ2hoSUdOb2FXeGtJSGRwZEdnZ1lTQnRaWE5vTENCaElITnBibWRzWlNCd2NtbHRhWFJwZG1VcFhHNGdJQ0FxWEc0Z0lDQXFJQzBnWUZSSVVrVkZMa2R5YjNWd1lEb2dWR2hsSUhKdmIzUWdiMllnZEdobElHMWxjMmhjYmlBZ0lDb2dJQ0F0SUdCVVNGSkZSUzVOWlhOb1lEb2dRU0J3Y21sdGFYUnBkbVVnYjJZZ2RHaGxJRzFsYzJnZ0tseHVJQ0FnS2lBZ0lDMGdZRlJJVWtWRkxrMWxjMmhnT2lCQklIQnlhVzFwZEdsMlpTQnZaaUIwYUdVZ2JXVnphQ0FvTWlrZ0tseHVJQ0FnS2lBZ0lDMGdZRlJJVWtWRkxrMWxjMmhnT2lCQklIQnlhVzFwZEdsMlpTQnZaaUJoSUUxRlUwZ2dUMFlnVkVoRklFTklTVXhFWEc0Z0lDQXFYRzRnSUNBcUlDTWpJeUJCSUc1dlpHVWdkMmwwYUNCaElDaHRaWE5vTENCdGRXeDBhWEJzWlNCd2NtbHRhWFJwZG1WektTQkJUa1FnS0dFZ1kyaHBiR1FnZDJsMGFDQmhJRzFsYzJnc0lHMTFiSFJwY0d4bElIQnlhVzFwZEdsMlpYTXBYRzRnSUNBcVhHNGdJQ0FxSUMwZ1lGUklVa1ZGTGtkeWIzVndZRG9nVkdobElISnZiM1FnYjJZZ2RHaGxJRzFsYzJoY2JpQWdJQ29nSUNBdElHQlVTRkpGUlM1TlpYTm9ZRG9nUVNCd2NtbHRhWFJwZG1VZ2IyWWdkR2hsSUcxbGMyZ2dLbHh1SUNBZ0tpQWdJQzBnWUZSSVVrVkZMazFsYzJoZ09pQkJJSEJ5YVcxcGRHbDJaU0J2WmlCMGFHVWdiV1Z6YUNBb01pa2dLbHh1SUNBZ0tpQWdJQzBnWUZSSVVrVkZMa2R5YjNWd1lEb2dWR2hsSUhKdmIzUWdiMllnWVNCTlJWTklJRTlHSUZSSVJTQkRTRWxNUkZ4dUlDQWdLaUFnSUNBZ0xTQmdWRWhTUlVVdVRXVnphR0E2SUVFZ2NISnBiV2wwYVhabElHOW1JSFJvWlNCdFpYTm9JRzltSUhSb1pTQmphR2xzWkZ4dUlDQWdLaUFnSUNBZ0xTQmdWRWhTUlVVdVRXVnphR0E2SUVFZ2NISnBiV2wwYVhabElHOW1JSFJvWlNCdFpYTm9JRzltSUhSb1pTQmphR2xzWkNBb01pbGNiaUFnSUNwY2JpQWdJQ29nSXlNaklFRWdibTlrWlNCM2FYUm9JR0VnS0cxbGMyZ3NJRzExYkhScGNHeGxJSEJ5YVcxcGRHbDJaWE1wSUVKVlZDQjBhR1VnYm05a1pTQnBjeUJoSUdKdmJtVmNiaUFnSUNwY2JpQWdJQ29nTFNCZ1ZFaFNSVVV1UW05dVpXQTZJRlJvWlNCeWIyOTBJRzltSUhSb1pTQnViMlJsTENCaGN5QmhJR0p2Ym1WY2JpQWdJQ29nSUNBdElHQlVTRkpGUlM1SGNtOTFjR0E2SUZSb1pTQnliMjkwSUc5bUlIUm9aU0J0WlhOb1hHNGdJQ0FxSUNBZ0lDQXRJR0JVU0ZKRlJTNU5aWE5vWURvZ1FTQndjbWx0YVhScGRtVWdiMllnZEdobElHMWxjMmdnS2x4dUlDQWdLaUFnSUNBZ0xTQmdWRWhTUlVVdVRXVnphR0E2SUVFZ2NISnBiV2wwYVhabElHOW1JSFJvWlNCdFpYTm9JQ2d5S1NBcVhHNGdJQ0FxWEc0Z0lDQXFJQ01qSXlCQklHNXZaR1VnZDJsMGFDQmhJQ2h0WlhOb0xDQnRkV3gwYVhCc1pTQndjbWx0YVhScGRtVnpLU0JCVGtRZ0tHRWdZMmhwYkdRZ2QybDBhQ0JoSUcxbGMyZ3NJRzExYkhScGNHeGxJSEJ5YVcxcGRHbDJaWE1wSUVKVlZDQjBhR1VnYm05a1pTQnBjeUJoSUdKdmJtVmNiaUFnSUNwY2JpQWdJQ29nTFNCZ1ZFaFNSVVV1UW05dVpXQTZJRlJvWlNCeWIyOTBJRzltSUhSb1pTQnViMlJsTENCaGN5QmhJR0p2Ym1WY2JpQWdJQ29nSUNBdElHQlVTRkpGUlM1SGNtOTFjR0E2SUZSb1pTQnliMjkwSUc5bUlIUm9aU0J0WlhOb1hHNGdJQ0FxSUNBZ0lDQXRJR0JVU0ZKRlJTNU5aWE5vWURvZ1FTQndjbWx0YVhScGRtVWdiMllnZEdobElHMWxjMmdnS2x4dUlDQWdLaUFnSUNBZ0xTQmdWRWhTUlVVdVRXVnphR0E2SUVFZ2NISnBiV2wwYVhabElHOW1JSFJvWlNCdFpYTm9JQ2d5S1NBcVhHNGdJQ0FxSUNBZ0xTQmdWRWhTUlVVdVIzSnZkWEJnT2lCVWFHVWdjbTl2ZENCdlppQmhJRTFGVTBnZ1QwWWdWRWhGSUVOSVNVeEVYRzRnSUNBcUlDQWdJQ0F0SUdCVVNGSkZSUzVOWlhOb1lEb2dRU0J3Y21sdGFYUnBkbVVnYjJZZ2RHaGxJRzFsYzJnZ2IyWWdkR2hsSUdOb2FXeGtYRzRnSUNBcUlDQWdJQ0F0SUdCVVNGSkZSUzVOWlhOb1lEb2dRU0J3Y21sdGFYUnBkbVVnYjJZZ2RHaGxJRzFsYzJnZ2IyWWdkR2hsSUdOb2FXeGtJQ2d5S1Z4dUlDQWdLbHh1SUNBZ0tpQXVMaTVKSUhkcGJHd2dkR0ZyWlNCaElITjBjbUYwWldkNUlIUm9ZWFFnZEhKaGRtVnljMlZ6SUhSb1pTQnliMjkwSUc5bUlIUm9aU0J1YjJSbElHRnVaQ0IwWVd0bElHWnBjbk4wSUNod2NtbHRhWFJwZG1WRGIzVnVkQ2tnYldWemFHVnpMbHh1SUNBZ0tpOWNibHh1SUNBdkx5Qk5ZV3RsSUhOMWNtVWdkR2hoZENCMGFHVWdibTlrWlNCb1lYTWdZU0J0WlhOb1hHNGdJR052Ym5OMElITmphR1Z0WVU1dlpHVWdQU0JxYzI5dUxtNXZaR1Z6UHk1YmJtOWtaVWx1WkdWNFhUdGNiaUFnYVdZZ0tITmphR1Z0WVU1dlpHVWdQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lHTnZibk52YkdVdWQyRnliaWhnWlhoMGNtRmpkRkJ5YVcxcGRHbDJaWE5KYm5SbGNtNWhiRG9nUVhSMFpXMXdkQ0IwYnlCMWMyVWdibTlrWlhOYkpIdHViMlJsU1c1a1pYaDlYU0J2WmlCbmJGUkdJR0oxZENCMGFHVWdibTlrWlNCa2IyVnpiaWQwSUdWNGFYTjBZQ2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCamIyNXpkQ0J0WlhOb1NXNWtaWGdnUFNCelkyaGxiV0ZPYjJSbExtMWxjMmc3WEc0Z0lHbG1JQ2h0WlhOb1NXNWtaWGdnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5OGdTRzkzSUcxaGJua2djSEpwYldsMGFYWmxjeUIwYUdVZ2JXVnphQ0JvWVhNL1hHNGdJR052Ym5OMElITmphR1Z0WVUxbGMyZ2dQU0JxYzI5dUxtMWxjMmhsY3o4dVcyMWxjMmhKYm1SbGVGMDdYRzRnSUdsbUlDaHpZMmhsYldGTlpYTm9JRDA5SUc1MWJHd3BJSHRjYmlBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWUdWNGRISmhZM1JRY21sdGFYUnBkbVZ6U1c1MFpYSnVZV3c2SUVGMGRHVnRjSFFnZEc4Z2RYTmxJRzFsYzJobGMxc2tlMjFsYzJoSmJtUmxlSDFkSUc5bUlHZHNWRVlnWW5WMElIUm9aU0J0WlhOb0lHUnZaWE51SjNRZ1pYaHBjM1JnS1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHTnZibk4wSUhCeWFXMXBkR2wyWlVOdmRXNTBJRDBnYzJOb1pXMWhUV1Z6YUM1d2NtbHRhWFJwZG1WekxteGxibWQwYUR0Y2JseHVJQ0F2THlCVWNtRjJaWEp6WlNCMGFHVWdibTlrWlNCaGJtUWdkR0ZyWlNCbWFYSnpkQ0FvY0hKcGJXbDBhWFpsUTI5MWJuUXBJRzFsYzJobGMxeHVJQ0JqYjI1emRDQndjbWx0YVhScGRtVnpPaUJVU0ZKRlJTNU5aWE5vVzEwZ1BTQmJYVHRjYmlBZ2JtOWtaUzUwY21GMlpYSnpaU2dvYjJKcVpXTjBLU0E5UGlCN1hHNGdJQ0FnYVdZZ0tIQnlhVzFwZEdsMlpYTXViR1Z1WjNSb0lEd2djSEpwYldsMGFYWmxRMjkxYm5RcElIdGNiaUFnSUNBZ0lHbG1JQ2dvYjJKcVpXTjBJR0Z6SUdGdWVTa3VhWE5OWlhOb0tTQjdYRzRnSUNBZ0lDQWdJSEJ5YVcxcGRHbDJaWE11Y0hWemFDaHZZbXBsWTNRZ1lYTWdWRWhTUlVVdVRXVnphQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUtUdGNibHh1SUNCeVpYUjFjbTRnY0hKcGJXbDBhWFpsY3p0Y2JuMWNibHh1THlvcVhHNGdLaUJGZUhSeVlXTjBJSEJ5YVcxcGRHbDJaWE1nS0NCZ1ZFaFNSVVV1VFdWemFGdGRZQ0FwSUc5bUlHRWdibTlrWlNCbWNtOXRJR0VnYkc5aFpHVmtJRWRNVkVZdVhHNGdLaUJVYUdVZ2JXRnBiaUJ3ZFhKd2IzTmxJRzltSUhSb2FYTWdablZ1WTNScGIyNGdhWE1nZEc4Z1pHbHpkR2x1WjNWcGMyZ2djSEpwYldsMGFYWmxjeUJoYm1RZ1kyaHBiR1J5Wlc0Z1puSnZiU0JoSUc1dlpHVWdkR2hoZENCb1lYTWdZbTkwYUNCdFpYTm9aWE1nWVc1a0lHTm9hV3hrY21WdUxseHVJQ3BjYmlBcUlFbDBJSFYwYVd4cGVtVnpJSFJvWlNCaVpXaGhkbWx2Y2lCMGFHRjBJRWRNVkVaTWIyRmtaWElnWVdSa2N5QnRaWE5vSUhCeWFXMXBkR2wyWlhNZ2RHOGdkR2hsSUc1dlpHVWdiMkpxWldOMElDZ2dZRlJJVWtWRkxrZHliM1Z3WUNBcElHWnBjbk4wSUhSb1pXNGdZV1JrY3lCcGRITWdZMmhwYkdSeVpXNHVYRzRnS2x4dUlDb2dRSEJoY21GdElHZHNkR1lnUVNCSFRGUkdJRzlpYW1WamRDQjBZV3RsYmlCbWNtOXRJRWRNVkVaTWIyRmtaWEpjYmlBcUlFQndZWEpoYlNCdWIyUmxTVzVrWlhnZ1ZHaGxJR2x1WkdWNElHOW1JSFJvWlNCdWIyUmxYRzRnS2k5Y2JtVjRjRzl5ZENCaGMzbHVZeUJtZFc1amRHbHZiaUJuYkhSbVJYaDBjbUZqZEZCeWFXMXBkR2wyWlhOR2NtOXRUbTlrWlNobmJIUm1PaUJIVEZSR0xDQnViMlJsU1c1a1pYZzZJRzUxYldKbGNpazZJRkJ5YjIxcGMyVThWRWhTUlVVdVRXVnphRnRkSUh3Z2JuVnNiRDRnZTF4dUlDQmpiMjV6ZENCdWIyUmxPaUJVU0ZKRlJTNVBZbXBsWTNRelJDQTlJR0YzWVdsMElHZHNkR1l1Y0dGeWMyVnlMbWRsZEVSbGNHVnVaR1Z1WTNrb0oyNXZaR1VuTENCdWIyUmxTVzVrWlhncE8xeHVJQ0J5WlhSMWNtNGdaWGgwY21GamRGQnlhVzFwZEdsMlpYTkpiblJsY201aGJDaG5iSFJtTENCdWIyUmxTVzVrWlhnc0lHNXZaR1VwTzF4dWZWeHVYRzR2S2lwY2JpQXFJRVY0ZEhKaFkzUWdjSEpwYldsMGFYWmxjeUFvSUdCVVNGSkZSUzVOWlhOb1cxMWdJQ2tnYjJZZ2JtOWtaWE1nWm5KdmJTQmhJR3h2WVdSbFpDQkhURlJHTGx4dUlDb2dVMlZsSUh0QWJHbHVheUJuYkhSbVJYaDBjbUZqZEZCeWFXMXBkR2wyWlhOR2NtOXRUbTlrWlgwZ1ptOXlJRzF2Y21VZ1pHVjBZV2xzY3k1Y2JpQXFYRzRnS2lCSmRDQnlaWFIxY201eklHRWdiV0Z3SUdaeWIyMGdibTlrWlNCcGJtUmxlQ0IwYnlCbGVIUnlZV04wYVc5dUlISmxjM1ZzZEM1Y2JpQXFJRWxtSUdFZ2JtOWtaU0JrYjJWeklHNXZkQ0JvWVhabElHRWdiV1Z6YUN3Z2RHaGxJR1Z1ZEhKNUlHWnZjaUIwYUdVZ2JtOWtaU0IzYVd4c0lHNXZkQ0JpWlNCd2RYUWdhVzRnZEdobElISmxkSFZ5Ym1sdVp5QnRZWEF1WEc0Z0tseHVJQ29nUUhCaGNtRnRJR2RzZEdZZ1FTQkhURlJHSUc5aWFtVmpkQ0IwWVd0bGJpQm1jbTl0SUVkTVZFWk1iMkZrWlhKY2JpQXFMMXh1Wlhod2IzSjBJR0Z6ZVc1aklHWjFibU4wYVc5dUlHZHNkR1pGZUhSeVlXTjBVSEpwYldsMGFYWmxjMFp5YjIxT2IyUmxjeWhuYkhSbU9pQkhURlJHS1RvZ1VISnZiV2x6WlR4TllYQThiblZ0WW1WeUxDQlVTRkpGUlM1TlpYTm9XMTArUGlCN1hHNGdJR052Ym5OMElHNXZaR1Z6T2lCVVNGSkZSUzVQWW1wbFkzUXpSRnRkSUQwZ1lYZGhhWFFnWjJ4MFppNXdZWEp6WlhJdVoyVjBSR1Z3Wlc1a1pXNWphV1Z6S0NkdWIyUmxKeWs3WEc0Z0lHTnZibk4wSUcxaGNDQTlJRzVsZHlCTllYQThiblZ0WW1WeUxDQlVTRkpGUlM1TlpYTm9XMTArS0NrN1hHNWNiaUFnYm05a1pYTXVabTl5UldGamFDZ29ibTlrWlN3Z2FXNWtaWGdwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUWdQU0JsZUhSeVlXTjBVSEpwYldsMGFYWmxjMGx1ZEdWeWJtRnNLR2RzZEdZc0lHbHVaR1Y0TENCdWIyUmxLVHRjYmlBZ0lDQnBaaUFvY21WemRXeDBJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJRzFoY0M1elpYUW9hVzVrWlhnc0lISmxjM1ZzZENrN1hHNGdJQ0FnZlZ4dUlDQjlLVHRjYmx4dUlDQnlaWFIxY200Z2JXRndPMXh1ZlZ4dUlpd2lhVzF3YjNKMElDb2dZWE1nVkVoU1JVVWdabkp2YlNBbmRHaHlaV1VuTzF4dWFXMXdiM0owSUhzZ1IweFVSbEJoY25ObGNpQjlJR1p5YjIwZ0ozUm9jbVZsTDJWNFlXMXdiR1Z6TDJwemJTOXNiMkZrWlhKekwwZE1WRVpNYjJGa1pYSXVhbk1uTzF4dVhHNHZLaXBjYmlBcUlFZGxkQ0JoSUcxaGRHVnlhV0ZzSUdSbFptbHVhWFJwYjI0Z2FXNWtaWGdnYjJZZ1oyeFVSaUJtY205dElHRnpjMjlqYVdGMFpXUWdiV0YwWlhKcFlXd3VYRzRnS2lCSmRDZHpJR0poYzJsallXeHNlU0JoSUdOdmJXRjBJR052WkdVZ1ltVjBkMlZsYmlCVWFISmxaUzVxY3lCeU1UTXpJRzl5SUdGaWIzWmxJR0Z1WkNCd2NtVjJhVzkxY3lCMlpYSnphVzl1Y3k1Y2JpQXFJRUJ3WVhKaGJTQndZWEp6WlhJZ1IweFVSbEJoY25ObGNseHVJQ29nUUhCaGNtRnRJRzFoZEdWeWFXRnNJRUVnYldGMFpYSnBZV3dnYjJZZ1oyeDBabHh1SUNvZ1FISmxkSFZ5Ym5NZ1RXRjBaWEpwWVd3Z1pHVm1hVzVwZEdsdmJpQnBibVJsZUNCdlppQm5iRlJHWEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm5iSFJtUjJWMFFYTnpiMk5wWVhSbFpFMWhkR1Z5YVdGc1NXNWtaWGdvY0dGeWMyVnlPaUJIVEZSR1VHRnljMlZ5TENCdFlYUmxjbWxoYkRvZ1ZFaFNSVVV1VFdGMFpYSnBZV3dwT2lCdWRXMWlaWElnZkNCdWRXeHNJSHRjYmlBZ1kyOXVjM1FnZEdoeVpXVlNaWFpwYzJsdmJpQTlJSEJoY25ObFNXNTBLRlJJVWtWRkxsSkZWa2xUU1U5T0xDQXhNQ2s3WEc1Y2JpQWdiR1YwSUdsdVpHVjRPaUJ1ZFcxaVpYSWdmQ0J1ZFd4c0lEMGdiblZzYkR0Y2JseHVJQ0JwWmlBb2RHaHlaV1ZTWlhacGMybHZiaUErUFNBeE16TXBJSHRjYmlBZ0lDQnBibVJsZUNBOUlIQmhjbk5sY2k1aGMzTnZZMmxoZEdsdmJuTXVaMlYwS0cxaGRHVnlhV0ZzS1Q4dWJXRjBaWEpwWVd4eklEOC9JRzUxYkd3N1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ0x5OGdRMDlOVUVGVU9pQnpkSEoxWTNSMWNtVWdiMllnWUhCaGNuTmxjaTVoYzNOdlkybGhkR2x2Ym5OZ0lHaGhjeUJpWldWdUlHTm9ZVzVuWldRZ1FDQnlNVE16WEc0Z0lDQWdMeThnVTJWbE9pQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZiWEprYjI5aUwzUm9jbVZsTG1wekwzQjFiR3d2TWpFM016ZGNiaUFnSUNBdkx5QlNaV1k2SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5MGFISmxaUzEwZVhCbGN5OTBhSEpsWlMxMGN5MTBlWEJsY3k5amIyMXRhWFF2TlRJME5qWTNObVUwTnpsaU5qRmhPV1ptTW1SaU56RmtaalF4TVRsbU5tWXhORFl5TlRnd1pGeHVJQ0FnSUhSNWNHVWdSMHhVUmxKbFptVnlaVzVqWlZCeVpURXpNeUE5SUh0Y2JpQWdJQ0FnSUhSNWNHVTZJQ2R0WVhSbGNtbGhiSE1uSUh3Z0oyNXZaR1Z6SnlCOElDZDBaWGgwZFhKbGN5Y2dmQ0FuYldWemFHVnpKenRjYmlBZ0lDQWdJR2x1WkdWNE9pQnVkVzFpWlhJN1hHNGdJQ0FnZlR0Y2JseHVJQ0FnSUhSNWNHVWdSMHhVUmtGemMyOWphV0YwYVc5dWMxQnlaVEV6TXlBOUlFMWhjRHhVU0ZKRlJTNVBZbXBsWTNRelJDQjhJRlJJVWtWRkxrMWhkR1Z5YVdGc0lId2dWRWhTUlVVdVZHVjRkSFZ5WlN3Z1IweFVSbEpsWm1WeVpXNWpaVkJ5WlRFek16NDdYRzVjYmlBZ0lDQmpiMjV6ZENCaGMzTnZZMmxoZEdsdmJuTWdQU0J3WVhKelpYSXVZWE56YjJOcFlYUnBiMjV6SUdGeklFZE1WRVpCYzNOdlkybGhkR2x2Ym5OUWNtVXhNek03WEc1Y2JpQWdJQ0JqYjI1emRDQnlaV1psY21WdVkyVWdQU0JoYzNOdlkybGhkR2x2Ym5NdVoyVjBLRzFoZEdWeWFXRnNLVHRjYmx4dUlDQWdJR2xtSUNoeVpXWmxjbVZ1WTJVL0xuUjVjR1VnUFQwOUlDZHRZWFJsY21saGJITW5LU0I3WEc0Z0lDQWdJQ0JwYm1SbGVDQTlJSEpsWm1WeVpXNWpaUzVwYm1SbGVEdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2FXNWtaWGc3WEc1OVhHNGlMQ0l2S2lCbGMyeHBiblF0WkdsellXSnNaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym1GdGFXNW5MV052Ym5abGJuUnBiMjRnS2k5Y2JseHVaWGh3YjNKMElHTnZibk4wSUZaU1RVVjRjSEpsYzNOcGIyNVFjbVZ6WlhST1lXMWxJRDBnZTF4dUlDQkJZVG9nSjJGaEp5eGNiaUFnU1dnNklDZHBhQ2NzWEc0Z0lFOTFPaUFuYjNVbkxGeHVJQ0JGWlRvZ0oyVmxKeXhjYmlBZ1QyZzZJQ2R2YUNjc1hHNGdJRUpzYVc1ck9pQW5ZbXhwYm1zbkxGeHVJQ0JJWVhCd2VUb2dKMmhoY0hCNUp5eGNiaUFnUVc1bmNuazZJQ2RoYm1keWVTY3NYRzRnSUZOaFpEb2dKM05oWkNjc1hHNGdJRkpsYkdGNFpXUTZJQ2R5Wld4aGVHVmtKeXhjYmlBZ1RHOXZhMVZ3T2lBbmJHOXZhMVZ3Snl4Y2JpQWdVM1Z5Y0hKcGMyVmtPaUFuYzNWeWNISnBjMlZrSnl4Y2JpQWdURzl2YTBSdmQyNDZJQ2RzYjI5clJHOTNiaWNzWEc0Z0lFeHZiMnRNWldaME9pQW5iRzl2YTB4bFpuUW5MRnh1SUNCTWIyOXJVbWxuYUhRNklDZHNiMjlyVW1sbmFIUW5MRnh1SUNCQ2JHbHVhMHhsWm5RNklDZGliR2x1YTB4bFpuUW5MRnh1SUNCQ2JHbHVhMUpwWjJoME9pQW5ZbXhwYm10U2FXZG9kQ2NzWEc0Z0lFNWxkWFJ5WVd3NklDZHVaWFYwY21Gc0p5eGNibjBnWVhNZ1kyOXVjM1E3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRlpTVFVWNGNISmxjM05wYjI1UWNtVnpaWFJPWVcxbElEMGdkSGx3Wlc5bUlGWlNUVVY0Y0hKbGMzTnBiMjVRY21WelpYUk9ZVzFsVzJ0bGVXOW1JSFI1Y0dWdlppQldVazFGZUhCeVpYTnphVzl1VUhKbGMyVjBUbUZ0WlYwN1hHNGlMQ0l2S2lwY2JpQXFJRU5zWVcxd0lIUm9aU0JwYm5CMWRDQjJZV3gxWlNCM2FYUm9hVzRnV3pBdU1DQXRJREV1TUYwdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUhaaGJIVmxJRlJvWlNCcGJuQjFkQ0IyWVd4MVpWeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYzJGMGRYSmhkR1VvZG1Gc2RXVTZJRzUxYldKbGNpazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJOWVhSb0xtMWhlQ2hOWVhSb0xtMXBiaWgyWVd4MVpTd2dNUzR3S1N3Z01DNHdLVHRjYm4xY2JpSXNJbWx0Y0c5eWRDQjdJRlpTVFVWNGNISmxjM05wYjI1UWNtVnpaWFJPWVcxbElIMGdabkp2YlNBbkxpOVdVazFGZUhCeVpYTnphVzl1VUhKbGMyVjBUbUZ0WlNjN1hHNXBiWEJ2Y25RZ2V5QnpZWFIxY21GMFpTQjlJR1p5YjIwZ0p5NHVMM1YwYVd4ekwzTmhkSFZ5WVhSbEp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5SWGh3Y21WemMybHZiaUI5SUdaeWIyMGdKeTR2VmxKTlJYaHdjbVZ6YzJsdmJpYzdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QldVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjaUI3WEc0Z0lDOHFLbHh1SUNBZ0tpQkJJSE5sZENCdlppQnVZVzFsSUc5eUlIQnlaWE5sZENCdVlXMWxJRzltSUdWNGNISmxjM05wYjI1eklIUm9ZWFFnZDJsc2JDQmlaU0J2ZG1WeWNtbGtaR1Z1SUdKNUlIdEFiR2x1YXlCV1VrMUZlSEJ5WlhOemFXOXVMbTkyWlhKeWFXUmxRbXhwYm10OUxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHSnNhVzVyUlhod2NtVnpjMmx2Yms1aGJXVnpJRDBnV3lkaWJHbHVheWNzSUNkaWJHbHVhMHhsWm5RbkxDQW5ZbXhwYm10U2FXZG9kQ2RkTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJCSUhObGRDQnZaaUJ1WVcxbElHOXlJSEJ5WlhObGRDQnVZVzFsSUc5bUlHVjRjSEpsYzNOcGIyNXpJSFJvWVhRZ2QybHNiQ0JpWlNCdmRtVnljbWxrWkdWdUlHSjVJSHRBYkdsdWF5QldVazFGZUhCeVpYTnphVzl1TG05MlpYSnlhV1JsVEc5dmEwRjBmUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJzYjI5clFYUkZlSEJ5WlhOemFXOXVUbUZ0WlhNZ1BTQmJKMnh2YjJ0TVpXWjBKeXdnSjJ4dmIydFNhV2RvZENjc0lDZHNiMjlyVlhBbkxDQW5iRzl2YTBSdmQyNG5YVHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0J6WlhRZ2IyWWdibUZ0WlNCdmNpQndjbVZ6WlhRZ2JtRnRaU0J2WmlCbGVIQnlaWE56YVc5dWN5QjBhR0YwSUhkcGJHd2dZbVVnYjNabGNuSnBaR1JsYmlCaWVTQjdRR3hwYm1zZ1ZsSk5SWGh3Y21WemMybHZiaTV2ZG1WeWNtbGtaVTF2ZFhSb2ZTNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnRiM1YwYUVWNGNISmxjM05wYjI1T1lXMWxjeUE5SUZzbllXRW5MQ0FuWldVbkxDQW5hV2duTENBbmIyZ25MQ0FuYjNVblhUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1FTQnpaWFFnYjJZZ2UwQnNhVzVySUZaU1RVVjRjSEpsYzNOcGIyNTlMbHh1SUNBZ0tpQlhhR1Z1SUhsdmRTQjNZVzUwSUhSdklISmxaMmx6ZEdWeUlHVjRjSEpsYzNOcGIyNXpMQ0IxYzJVZ2UwQnNhVzVySUhKbFoybHpkR1Z5Ulhod2NtVnpjMmx2Ym4xY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gyVjRjSEpsYzNOcGIyNXpPaUJXVWsxRmVIQnlaWE56YVc5dVcxMGdQU0JiWFR0Y2JpQWdjSFZpYkdsaklHZGxkQ0JsZUhCeVpYTnphVzl1Y3lncE9pQldVazFGZUhCeVpYTnphVzl1VzEwZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOWxlSEJ5WlhOemFXOXVjeTVqYjI1allYUW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQklHMWhjQ0JtY205dElHNWhiV1VnZEc4Z1pYaHdjbVZ6YzJsdmJpNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYMlY0Y0hKbGMzTnBiMjVOWVhBNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklGWlNUVVY0Y0hKbGMzTnBiMjRnZlNBOUlIdDlPMXh1SUNCd2RXSnNhV01nWjJWMElHVjRjSEpsYzNOcGIyNU5ZWEFvS1RvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ1ZsSk5SWGh3Y21WemMybHZiaUI5SUh0Y2JpQWdJQ0J5WlhSMWNtNGdUMkpxWldOMExtRnpjMmxuYmloN2ZTd2dkR2hwY3k1ZlpYaHdjbVZ6YzJsdmJrMWhjQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FTQnRZWEFnWm5KdmJTQnVZVzFsSUhSdklHVjRjSEpsYzNOcGIyNHNJR0oxZENCbGVHTnNkV1JwYm1jZ1kzVnpkRzl0SUdWNGNISmxjM05wYjI1ekxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkQ0J3Y21WelpYUkZlSEJ5WlhOemFXOXVUV0Z3S0NrNklIc2dXMjVoYldVZ2FXNGdWbEpOUlhod2NtVnpjMmx2YmxCeVpYTmxkRTVoYldWZFB6b2dWbEpOUlhod2NtVnpjMmx2YmlCOUlIdGNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUTZJSHNnVzI1aGJXVWdhVzRnVmxKTlJYaHdjbVZ6YzJsdmJsQnlaWE5sZEU1aGJXVmRQem9nVmxKTlJYaHdjbVZ6YzJsdmJpQjlJRDBnZTMwN1hHNWNiaUFnSUNCamIyNXpkQ0J3Y21WelpYUk9ZVzFsVTJWMElEMGdibVYzSUZObGREeHpkSEpwYm1jK0tFOWlhbVZqZEM1MllXeDFaWE1vVmxKTlJYaHdjbVZ6YzJsdmJsQnlaWE5sZEU1aGJXVXBLVHRjYmx4dUlDQWdJRTlpYW1WamRDNWxiblJ5YVdWektIUm9hWE11WDJWNGNISmxjM05wYjI1TllYQXBMbVp2Y2tWaFkyZ29LRnR1WVcxbExDQmxlSEJ5WlhOemFXOXVYU2tnUFQ0Z2UxeHVJQ0FnSUNBZ2FXWWdLSEJ5WlhObGRFNWhiV1ZUWlhRdWFHRnpLRzVoYldVcEtTQjdYRzRnSUNBZ0lDQWdJSEpsYzNWc2RGdHVZVzFsSUdGeklGWlNUVVY0Y0hKbGMzTnBiMjVRY21WelpYUk9ZVzFsWFNBOUlHVjRjSEpsYzNOcGIyNDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRWdiV0Z3SUdaeWIyMGdibUZ0WlNCMGJ5QmxlSEJ5WlhOemFXOXVMQ0JpZFhRZ1pYaGpiSFZrYVc1bklIQnlaWE5sZENCbGVIQnlaWE56YVc5dWN5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFFnWTNWemRHOXRSWGh3Y21WemMybHZiazFoY0NncE9pQjdJRnR1WVcxbE9pQnpkSEpwYm1kZE9pQldVazFGZUhCeVpYTnphVzl1SUgwZ2UxeHVJQ0FnSUdOdmJuTjBJSEpsYzNWc2REb2dleUJiYm1GdFpUb2djM1J5YVc1blhUb2dWbEpOUlhod2NtVnpjMmx2YmlCOUlEMGdlMzA3WEc1Y2JpQWdJQ0JqYjI1emRDQndjbVZ6WlhST1lXMWxVMlYwSUQwZ2JtVjNJRk5sZER4emRISnBibWMrS0U5aWFtVmpkQzUyWVd4MVpYTW9WbEpOUlhod2NtVnpjMmx2YmxCeVpYTmxkRTVoYldVcEtUdGNibHh1SUNBZ0lFOWlhbVZqZEM1bGJuUnlhV1Z6S0hSb2FYTXVYMlY0Y0hKbGMzTnBiMjVOWVhBcExtWnZja1ZoWTJnb0tGdHVZVzFsTENCbGVIQnlaWE56YVc5dVhTa2dQVDRnZTF4dUlDQWdJQ0FnYVdZZ0tDRndjbVZ6WlhST1lXMWxVMlYwTG1oaGN5aHVZVzFsS1NrZ2UxeHVJQ0FnSUNBZ0lDQnlaWE4xYkhSYmJtRnRaVjBnUFNCbGVIQnlaWE56YVc5dU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGNtVmhkR1VnWVNCdVpYY2dlMEJzYVc1cklGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlmUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2lncElIdGNiaUFnSUNBdkx5QmtieUJ1YjNSb2FXNW5YRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTI5d2VTQjBhR1VnWjJsMlpXNGdlMEJzYVc1cklGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlmU0JwYm5SdklIUm9hWE1nYjI1bExseHVJQ0FnS2lCQWNHRnlZVzBnYzI5MWNtTmxJRlJvWlNCN1FHeHBibXNnVmxKTlJYaHdjbVZ6YzJsdmJrMWhibUZuWlhKOUlIbHZkU0IzWVc1MElIUnZJR052Y0hsY2JpQWdJQ29nUUhKbGRIVnlibk1nZEdocGMxeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHTnZjSGtvYzI5MWNtTmxPaUJXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY2lrNklIUm9hWE1nZTF4dUlDQWdJQzh2SUdacGNuTjBJSFZ1Y21WbmFYTjBaWElnWVd4c0lIUm9aU0JsZUhCeVpYTnphVzl1SUdsMElHaGhjMXh1SUNBZ0lHTnZibk4wSUdWNGNISmxjM05wYjI1eklEMGdkR2hwY3k1ZlpYaHdjbVZ6YzJsdmJuTXVZMjl1WTJGMEtDazdYRzRnSUNBZ1pYaHdjbVZ6YzJsdmJuTXVabTl5UldGamFDZ29aWGh3Y21WemMybHZiaWtnUFQ0Z2UxeHVJQ0FnSUNBZ2RHaHBjeTUxYm5KbFoybHpkR1Z5Ulhod2NtVnpjMmx2YmlobGVIQnlaWE56YVc5dUtUdGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lDOHZJSFJvWlc0Z2NtVm5hWE4wWlhJZ1lXeHNJSFJvWlNCbGVIQnlaWE56YVc5dUlHOW1JSFJvWlNCemIzVnlZMlZjYmlBZ0lDQnpiM1Z5WTJVdVgyVjRjSEpsYzNOcGIyNXpMbVp2Y2tWaFkyZ29LR1Y0Y0hKbGMzTnBiMjRwSUQwK0lIdGNiaUFnSUNBZ0lIUm9hWE11Y21WbmFYTjBaWEpGZUhCeVpYTnphVzl1S0dWNGNISmxjM05wYjI0cE8xeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ0x5OGdZMjl3ZVNCeVpXMWhhVzVwYm1jZ2JXVnRZbVZ5YzF4dUlDQWdJSFJvYVhNdVlteHBibXRGZUhCeVpYTnphVzl1VG1GdFpYTWdQU0J6YjNWeVkyVXVZbXhwYm10RmVIQnlaWE56YVc5dVRtRnRaWE11WTI5dVkyRjBLQ2s3WEc0Z0lDQWdkR2hwY3k1c2IyOXJRWFJGZUhCeVpYTnphVzl1VG1GdFpYTWdQU0J6YjNWeVkyVXViRzl2YTBGMFJYaHdjbVZ6YzJsdmJrNWhiV1Z6TG1OdmJtTmhkQ2dwTzF4dUlDQWdJSFJvYVhNdWJXOTFkR2hGZUhCeVpYTnphVzl1VG1GdFpYTWdQU0J6YjNWeVkyVXViVzkxZEdoRmVIQnlaWE56YVc5dVRtRnRaWE11WTI5dVkyRjBLQ2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRWdZMnh2Ym1VZ2IyWWdkR2hwY3lCN1FHeHBibXNnVmxKTlJYaHdjbVZ6YzJsdmJrMWhibUZuWlhKOUxseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCRGIzQnBaV1FnZTBCc2FXNXJJRlpTVFVWNGNISmxjM05wYjI1TllXNWhaMlZ5ZlZ4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdOc2IyNWxLQ2s2SUZaU1RVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUlIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlLQ2t1WTI5d2VTaDBhR2x6S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z1lTQnlaV2RwYzNSbGNtVmtJR1Y0Y0hKbGMzTnBiMjR1WEc0Z0lDQXFJRWxtSUdsMElHTmhibTV2ZENCbWFXNWtJR0Z1SUdWNGNISmxjM05wYjI0c0lHbDBJSGRwYkd3Z2NtVjBkWEp1SUdCdWRXeHNZQ0JwYm5OMFpXRmtMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnYm1GdFpTQk9ZVzFsSUc5eUlIQnlaWE5sZENCdVlXMWxJRzltSUhSb1pTQmxlSEJ5WlhOemFXOXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaMlYwUlhod2NtVnpjMmx2YmlodVlXMWxPaUJXVWsxRmVIQnlaWE56YVc5dVVISmxjMlYwVG1GdFpTQjhJSE4wY21sdVp5azZJRlpTVFVWNGNISmxjM05wYjI0Z2ZDQnVkV3hzSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpYaHdjbVZ6YzJsdmJrMWhjRnR1WVcxbFhTQS9QeUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsWjJsemRHVnlJR0Z1SUdWNGNISmxjM05wYjI0dVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQmxlSEJ5WlhOemFXOXVJSHRBYkdsdWF5QldVazFGZUhCeVpYTnphVzl1ZlNCMGFHRjBJR1JsYzJOeWFXSmxjeUIwYUdVZ1pYaHdjbVZ6YzJsdmJseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklISmxaMmx6ZEdWeVJYaHdjbVZ6YzJsdmJpaGxlSEJ5WlhOemFXOXVPaUJXVWsxRmVIQnlaWE56YVc5dUtUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NWZaWGh3Y21WemMybHZibk11Y0hWemFDaGxlSEJ5WlhOemFXOXVLVHRjYmlBZ0lDQjBhR2x6TGw5bGVIQnlaWE56YVc5dVRXRndXMlY0Y0hKbGMzTnBiMjR1Wlhod2NtVnpjMmx2Yms1aGJXVmRJRDBnWlhod2NtVnpjMmx2Ymp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlZibkpsWjJsemRHVnlJR0Z1SUdWNGNISmxjM05wYjI0dVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQmxlSEJ5WlhOemFXOXVJRlJvWlNCbGVIQnlaWE56YVc5dUlIbHZkU0IzWVc1MElIUnZJSFZ1Y21WbmFYTjBaWEpjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUIxYm5KbFoybHpkR1Z5Ulhod2NtVnpjMmx2YmlobGVIQnlaWE56YVc5dU9pQldVazFGZUhCeVpYTnphVzl1S1RvZ2RtOXBaQ0I3WEc0Z0lDQWdZMjl1YzNRZ2FXNWtaWGdnUFNCMGFHbHpMbDlsZUhCeVpYTnphVzl1Y3k1cGJtUmxlRTltS0dWNGNISmxjM05wYjI0cE8xeHVJQ0FnSUdsbUlDaHBibVJsZUNBOVBUMGdMVEVwSUh0Y2JpQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpZ25WbEpOUlhod2NtVnpjMmx2YmsxaGJtRm5aWEk2SUZSb1pTQnpjR1ZqYVdacFpXUWdaWGh3Y21WemMybHZibk1nYVhNZ2JtOTBJSEpsWjJsemRHVnlaV1FuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxsOWxlSEJ5WlhOemFXOXVjeTV6Y0d4cFkyVW9hVzVrWlhnc0lERXBPMXh1SUNBZ0lHUmxiR1YwWlNCMGFHbHpMbDlsZUhCeVpYTnphVzl1VFdGd1cyVjRjSEpsYzNOcGIyNHVaWGh3Y21WemMybHZiazVoYldWZE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCMGFHVWdZM1Z5Y21WdWRDQjNaV2xuYUhRZ2IyWWdkR2hsSUhOd1pXTnBabWxsWkNCbGVIQnlaWE56YVc5dUxseHVJQ0FnS2lCSlppQnBkQ0JrYjJWemJpZDBJR2hoZG1VZ1lXNGdaWGh3Y21WemMybHZiaUJ2WmlCbmFYWmxiaUJ1WVcxbExDQnBkQ0IzYVd4c0lISmxkSFZ5YmlCZ2JuVnNiR0FnYVc1emRHVmhaQzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUc1aGJXVWdUbUZ0WlNCdlppQjBhR1VnWlhod2NtVnpjMmx2Ymx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRGWmhiSFZsS0c1aGJXVTZJRlpTVFVWNGNISmxjM05wYjI1UWNtVnpaWFJPWVcxbElId2djM1J5YVc1bktUb2diblZ0WW1WeUlId2diblZzYkNCN1hHNGdJQ0FnWTI5dWMzUWdaWGh3Y21WemMybHZiaUE5SUhSb2FYTXVaMlYwUlhod2NtVnpjMmx2YmlodVlXMWxLVHRjYmlBZ0lDQnlaWFIxY200Z1pYaHdjbVZ6YzJsdmJqOHVkMlZwWjJoMElEOC9JRzUxYkd3N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVMlYwSUdFZ2QyVnBaMmgwSUhSdklIUm9aU0J6Y0dWamFXWnBaV1FnWlhod2NtVnpjMmx2Ymk1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElHNWhiV1VnVG1GdFpTQnZaaUIwYUdVZ1pYaHdjbVZ6YzJsdmJseHVJQ0FnS2lCQWNHRnlZVzBnZDJWcFoyaDBJRmRsYVdkb2RGeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklITmxkRlpoYkhWbEtHNWhiV1U2SUZaU1RVVjRjSEpsYzNOcGIyNVFjbVZ6WlhST1lXMWxJSHdnYzNSeWFXNW5MQ0IzWldsbmFIUTZJRzUxYldKbGNpazZJSFp2YVdRZ2UxeHVJQ0FnSUdOdmJuTjBJR1Y0Y0hKbGMzTnBiMjRnUFNCMGFHbHpMbWRsZEVWNGNISmxjM05wYjI0b2JtRnRaU2s3WEc0Z0lDQWdhV1lnS0dWNGNISmxjM05wYjI0cElIdGNiaUFnSUNBZ0lHVjRjSEpsYzNOcGIyNHVkMlZwWjJoMElEMGdjMkYwZFhKaGRHVW9kMlZwWjJoMEtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUdFZ2RISmhZMnNnYm1GdFpTQnZaaUJ6Y0dWamFXWnBaV1FnWlhod2NtVnpjMmx2Ymk1Y2JpQWdJQ29nVkdocGN5QjBjbUZqYXlCdVlXMWxJR2x6SUc1bFpXUmxaQ0IwYnlCdFlXNXBjSFZzWVhSbElHbDBjeUJsZUhCeVpYTnphVzl1SUhacFlTQnJaWGxtY21GdFpTQmhibWx0WVhScGIyNXpMbHh1SUNBZ0tseHVJQ0FnS2lCQVpYaGhiWEJzWlNCTllXNXBjSFZzWVhSbElHRnVJR1Y0Y0hKbGMzTnBiMjRnZFhOcGJtY2dhMlY1Wm5KaGJXVWdZVzVwYldGMGFXOXVYRzRnSUNBcUlHQmdZR3B6WEc0Z0lDQXFJR052Ym5OMElIUnlZV05yVG1GdFpTQTlJSFp5YlM1bGVIQnlaWE56YVc5dVRXRnVZV2RsY2k1blpYUkZlSEJ5WlhOemFXOXVWSEpoWTJ0T1lXMWxLQ0FuWW14cGJtc25JQ2s3WEc0Z0lDQXFJR052Ym5OMElIUnlZV05ySUQwZ2JtVjNJRlJJVWtWRkxrNTFiV0psY2t0bGVXWnlZVzFsVkhKaFkyc29YRzRnSUNBcUlDQWdibUZ0WlN4Y2JpQWdJQ29nSUNCYklEQXVNQ3dnTUM0MUxDQXhMakFnWFN3Z0x5OGdkR2x0WlhOY2JpQWdJQ29nSUNCYklEQXVNQ3dnTVM0d0xDQXdMakFnWFNBdkx5QjJZV3gxWlhOY2JpQWdJQ29nS1R0Y2JpQWdJQ3BjYmlBZ0lDb2dZMjl1YzNRZ1kyeHBjQ0E5SUc1bGR5QlVTRkpGUlM1QmJtbHRZWFJwYjI1RGJHbHdLRnh1SUNBZ0tpQWdJQ2RpYkdsdWF5Y3NJQzh2SUc1aGJXVmNiaUFnSUNvZ0lDQXhMakFzSUM4dklHUjFjbUYwYVc5dVhHNGdJQ0FxSUNBZ1d5QjBjbUZqYXlCZElDOHZJSFJ5WVdOcmMxeHVJQ0FnS2lBcE8xeHVJQ0FnS2x4dUlDQWdLaUJqYjI1emRDQnRhWGhsY2lBOUlHNWxkeUJVU0ZKRlJTNUJibWx0WVhScGIyNU5hWGhsY2lnZ2RuSnRMbk5qWlc1bElDazdYRzRnSUNBcUlHTnZibk4wSUdGamRHbHZiaUE5SUcxcGVHVnlMbU5zYVhCQlkzUnBiMjRvSUdOc2FYQWdLVHRjYmlBZ0lDb2dZV04wYVc5dUxuQnNZWGtvS1R0Y2JpQWdJQ29nWUdCZ1hHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQnVZVzFsSUU1aGJXVWdiMllnZEdobElHVjRjSEpsYzNOcGIyNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFJGZUhCeVpYTnphVzl1VkhKaFkydE9ZVzFsS0c1aGJXVTZJRlpTVFVWNGNISmxjM05wYjI1UWNtVnpaWFJPWVcxbElId2djM1J5YVc1bktUb2djM1J5YVc1bklId2diblZzYkNCN1hHNGdJQ0FnWTI5dWMzUWdaWGh3Y21WemMybHZiaUE5SUhSb2FYTXVaMlYwUlhod2NtVnpjMmx2YmlodVlXMWxLVHRjYmlBZ0lDQnlaWFIxY200Z1pYaHdjbVZ6YzJsdmJpQS9JR0FrZTJWNGNISmxjM05wYjI0dWJtRnRaWDB1ZDJWcFoyaDBZQ0E2SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVlhCa1lYUmxJR1YyWlhKNUlHVjRjSEpsYzNOcGIyNXpMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSFZ3WkdGMFpTZ3BPaUIyYjJsa0lIdGNiaUFnSUNBdkx5QnpaV1VnYUc5M0lHMTFZMmdnZDJVZ2MyaHZkV3hrSUc5MlpYSnlhV1JsSUdObGNuUmhhVzRnWlhod2NtVnpjMmx2Ym5OY2JpQWdJQ0JqYjI1emRDQjNaV2xuYUhSTmRXeDBhWEJzYVdWeWN5QTlJSFJvYVhNdVgyTmhiR04xYkdGMFpWZGxhV2RvZEUxMWJIUnBjR3hwWlhKektDazdYRzVjYmlBZ0lDQXZMeUJ5WlhObGRDQmxlSEJ5WlhOemFXOXVJR0pwYm1SeklHWnBjbk4wWEc0Z0lDQWdkR2hwY3k1ZlpYaHdjbVZ6YzJsdmJuTXVabTl5UldGamFDZ29aWGh3Y21WemMybHZiaWtnUFQ0Z2UxeHVJQ0FnSUNBZ1pYaHdjbVZ6YzJsdmJpNWpiR1ZoY2tGd2NHeHBaV1JYWldsbmFIUW9LVHRjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJQzh2SUhSb1pXNGdZWEJ3YkhrZ1ltbHVaSE5jYmlBZ0lDQjBhR2x6TGw5bGVIQnlaWE56YVc5dWN5NW1iM0pGWVdOb0tDaGxlSEJ5WlhOemFXOXVLU0E5UGlCN1hHNGdJQ0FnSUNCc1pYUWdiWFZzZEdsd2JHbGxjaUE5SURFdU1EdGNiaUFnSUNBZ0lHTnZibk4wSUc1aGJXVWdQU0JsZUhCeVpYTnphVzl1TG1WNGNISmxjM05wYjI1T1lXMWxPMXh1WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVpYkdsdWEwVjRjSEpsYzNOcGIyNU9ZVzFsY3k1cGJtUmxlRTltS0c1aGJXVXBJQ0U5UFNBdE1Ta2dlMXh1SUNBZ0lDQWdJQ0J0ZFd4MGFYQnNhV1Z5SUNvOUlIZGxhV2RvZEUxMWJIUnBjR3hwWlhKekxtSnNhVzVyTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c2IyOXJRWFJGZUhCeVpYTnphVzl1VG1GdFpYTXVhVzVrWlhoUFppaHVZVzFsS1NBaFBUMGdMVEVwSUh0Y2JpQWdJQ0FnSUNBZ2JYVnNkR2x3YkdsbGNpQXFQU0IzWldsbmFIUk5kV3gwYVhCc2FXVnljeTVzYjI5clFYUTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoMGFHbHpMbTF2ZFhSb1JYaHdjbVZ6YzJsdmJrNWhiV1Z6TG1sdVpHVjRUMllvYm1GdFpTa2dJVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJRzExYkhScGNHeHBaWElnS2owZ2QyVnBaMmgwVFhWc2RHbHdiR2xsY25NdWJXOTFkR2c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdWNGNISmxjM05wYjI0dVlYQndiSGxYWldsbmFIUW9leUJ0ZFd4MGFYQnNhV1Z5SUgwcE8xeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU5oYkdOMWJHRjBaU0J6ZFcwZ2IyWWdiM1psY25KcFpHVWdZVzF2ZFc1MGN5QjBieUJ6WldVZ2FHOTNJRzExWTJnZ2QyVWdjMmh2ZFd4a0lHMTFiSFJwY0d4NUlIZGxhV2RvZEhNZ2IyWWdZMlZ5ZEdGcGJpQmxlSEJ5WlhOemFXOXVjeTVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDJOaGJHTjFiR0YwWlZkbGFXZG9kRTExYkhScGNHeHBaWEp6S0NrNklIdGNiaUFnSUNCaWJHbHVhem9nYm5WdFltVnlPMXh1SUNBZ0lHeHZiMnRCZERvZ2JuVnRZbVZ5TzF4dUlDQWdJRzF2ZFhSb09pQnVkVzFpWlhJN1hHNGdJSDBnZTF4dUlDQWdJR3hsZENCaWJHbHVheUE5SURFdU1EdGNiaUFnSUNCc1pYUWdiRzl2YTBGMElEMGdNUzR3TzF4dUlDQWdJR3hsZENCdGIzVjBhQ0E5SURFdU1EdGNibHh1SUNBZ0lIUm9hWE11WDJWNGNISmxjM05wYjI1ekxtWnZja1ZoWTJnb0tHVjRjSEpsYzNOcGIyNHBJRDArSUh0Y2JpQWdJQ0FnSUdKc2FXNXJJQzA5SUdWNGNISmxjM05wYjI0dWIzWmxjbkpwWkdWQ2JHbHVhMEZ0YjNWdWREdGNiaUFnSUNBZ0lHeHZiMnRCZENBdFBTQmxlSEJ5WlhOemFXOXVMbTkyWlhKeWFXUmxURzl2YTBGMFFXMXZkVzUwTzF4dUlDQWdJQ0FnYlc5MWRHZ2dMVDBnWlhod2NtVnpjMmx2Ymk1dmRtVnljbWxrWlUxdmRYUm9RVzF2ZFc1ME8xeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ1lteHBibXNnUFNCTllYUm9MbTFoZUNnd0xqQXNJR0pzYVc1cktUdGNiaUFnSUNCc2IyOXJRWFFnUFNCTllYUm9MbTFoZUNnd0xqQXNJR3h2YjJ0QmRDazdYRzRnSUNBZ2JXOTFkR2dnUFNCTllYUm9MbTFoZUNnd0xqQXNJRzF2ZFhSb0tUdGNibHh1SUNBZ0lISmxkSFZ5YmlCN0lHSnNhVzVyTENCc2IyOXJRWFFzSUcxdmRYUm9JSDA3WEc0Z0lIMWNibjFjYmlJc0lpOHFJR1Z6YkdsdWRDMWthWE5oWW14bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVZVzFwYm1jdFkyOXVkbVZ1ZEdsdmJpQXFMMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdWbEpOUlhod2NtVnpjMmx2YmsxaGRHVnlhV0ZzUTI5c2IzSlVlWEJsSUQwZ2UxeHVJQ0JEYjJ4dmNqb2dKMk52Ykc5eUp5eGNiaUFnUlcxcGMzTnBiMjVEYjJ4dmNqb2dKMlZ0YVhOemFXOXVRMjlzYjNJbkxGeHVJQ0JUYUdGa1pVTnZiRzl5T2lBbmMyaGhaR1ZEYjJ4dmNpY3NYRzRnSUUxaGRHTmhjRU52Ykc5eU9pQW5iV0YwWTJGd1EyOXNiM0luTEZ4dUlDQlNhVzFEYjJ4dmNqb2dKM0pwYlVOdmJHOXlKeXhjYmlBZ1QzVjBiR2x1WlVOdmJHOXlPaUFuYjNWMGJHbHVaVU52Ykc5eUp5eGNibjBnWVhNZ1kyOXVjM1E3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRlpTVFVWNGNISmxjM05wYjI1TllYUmxjbWxoYkVOdmJHOXlWSGx3WlNBOVhHNGdJSFI1Y0dWdlppQldVazFGZUhCeVpYTnphVzl1VFdGMFpYSnBZV3hEYjJ4dmNsUjVjR1ZiYTJWNWIyWWdkSGx3Wlc5bUlGWlNUVVY0Y0hKbGMzTnBiMjVOWVhSbGNtbGhiRU52Ykc5eVZIbHdaVjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0IyTUVWNGNISmxjM05wYjI1TllYUmxjbWxoYkVOdmJHOXlUV0Z3T2lCN0lGdHJaWGs2SUhOMGNtbHVaMTA2SUZaU1RVVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5Vkhsd1pTQjhJSFZ1WkdWbWFXNWxaQ0I5SUQwZ2UxeHVJQ0JmUTI5c2IzSTZJRlpTVFVWNGNISmxjM05wYjI1TllYUmxjbWxoYkVOdmJHOXlWSGx3WlM1RGIyeHZjaXhjYmlBZ1gwVnRhWE56YVc5dVEyOXNiM0k2SUZaU1RVVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5Vkhsd1pTNUZiV2x6YzJsdmJrTnZiRzl5TEZ4dUlDQmZVMmhoWkdWRGIyeHZjam9nVmxKTlJYaHdjbVZ6YzJsdmJrMWhkR1Z5YVdGc1EyOXNiM0pVZVhCbExsTm9ZV1JsUTI5c2IzSXNYRzRnSUY5U2FXMURiMnh2Y2pvZ1ZsSk5SWGh3Y21WemMybHZiazFoZEdWeWFXRnNRMjlzYjNKVWVYQmxMbEpwYlVOdmJHOXlMRnh1SUNCZlQzVjBiR2x1WlVOdmJHOXlPaUJXVWsxRmVIQnlaWE56YVc5dVRXRjBaWEpwWVd4RGIyeHZjbFI1Y0dVdVQzVjBiR2x1WlVOdmJHOXlMRnh1ZlR0Y2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlJYaHdjbVZ6YzJsdmJrSnBibVFnZlNCbWNtOXRJQ2N1TDFaU1RVVjRjSEpsYzNOcGIyNUNhVzVrSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlJYaHdjbVZ6YzJsdmJrMWhkR1Z5YVdGc1EyOXNiM0pVZVhCbElIMGdabkp2YlNBbkxpOVdVazFGZUhCeVpYTnphVzl1VFdGMFpYSnBZV3hEYjJ4dmNsUjVjR1VuTzF4dVhHNWpiMjV6ZENCZlkyOXNiM0lnUFNCdVpYY2dWRWhTUlVVdVEyOXNiM0lvS1R0Y2JseHVMeW9xWEc0Z0tpQkJJR0pwYm1RZ2IyWWdaWGh3Y21WemMybHZiaUJwYm1ac2RXVnVZMlZ6SUhSdklHRWdiV0YwWlhKcFlXd2dZMjlzYjNJdVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QldVazFGZUhCeVpYTnphVzl1VFdGMFpYSnBZV3hEYjJ4dmNrSnBibVFnYVcxd2JHVnRaVzUwY3lCV1VrMUZlSEJ5WlhOemFXOXVRbWx1WkNCN1hHNGdJQzhxS2x4dUlDQWdLaUJOWVhCd2FXNW5JRzltSUhCeWIzQmxjblI1SUc1aGJXVnpJR1p5YjIwZ1ZsSk5ReTl0WVhSbGNtbGhiRU52Ykc5eVFtbHVaSE11ZEhsd1pTQjBieUIwYUhKbFpTNXFjeTlOWVhSbGNtbGhiQzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnYzNSaGRHbGpJRjl3Y205d1pYSjBlVTVoYldWTllYQk5ZWEE2SUh0Y2JpQWdJQ0JiWkdsemRHbHVaM1ZwYzJobGNqb2djM1J5YVc1blhUb2dleUJiZEhsd1pTQnBiaUJXVWsxRmVIQnlaWE56YVc5dVRXRjBaWEpwWVd4RGIyeHZjbFI1Y0dWZFB6b2djM1J5YVc1bklIMDdYRzRnSUgwZ1BTQjdYRzRnSUNBZ2FYTk5aWE5vVTNSaGJtUmhjbVJOWVhSbGNtbGhiRG9nZTF4dUlDQWdJQ0FnWTI5c2IzSTZJQ2RqYjJ4dmNpY3NYRzRnSUNBZ0lDQmxiV2x6YzJsdmJrTnZiRzl5T2lBblpXMXBjM05wZG1VbkxGeHVJQ0FnSUgwc1hHNGdJQ0FnYVhOTlpYTm9RbUZ6YVdOTllYUmxjbWxoYkRvZ2UxeHVJQ0FnSUNBZ1kyOXNiM0k2SUNkamIyeHZjaWNzWEc0Z0lDQWdmU3hjYmlBZ0lDQnBjMDFVYjI5dVRXRjBaWEpwWVd3NklIdGNiaUFnSUNBZ0lHTnZiRzl5T2lBblkyOXNiM0luTEZ4dUlDQWdJQ0FnWlcxcGMzTnBiMjVEYjJ4dmNqb2dKMlZ0YVhOemFYWmxKeXhjYmlBZ0lDQWdJRzkxZEd4cGJtVkRiMnh2Y2pvZ0oyOTFkR3hwYm1WRGIyeHZja1poWTNSdmNpY3NYRzRnSUNBZ0lDQnRZWFJqWVhCRGIyeHZjam9nSjIxaGRHTmhjRVpoWTNSdmNpY3NYRzRnSUNBZ0lDQnlhVzFEYjJ4dmNqb2dKM0JoY21GdFpYUnlhV05TYVcxRGIyeHZja1poWTNSdmNpY3NYRzRnSUNBZ0lDQnphR0ZrWlVOdmJHOXlPaUFuYzJoaFpHVkRiMnh2Y2taaFkzUnZjaWNzWEc0Z0lDQWdmU3hjYmlBZ2ZUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJSFJoY21kbGRDQnRZWFJsY21saGJDNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQnRZWFJsY21saGJEb2dWRWhTUlVVdVRXRjBaWEpwWVd3N1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQjBlWEJsSUc5bUlIUm9aU0IwWVhKblpYUWdjSEp2Y0dWeWRIa2diMllnZEdobElHMWhkR1Z5YVdGc0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlIUjVjR1U2SUZaU1RVVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5Vkhsd1pUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJSFJoY21kbGRDQmpiMnh2Y2k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCMFlYSm5aWFJXWVd4MVpUb2dWRWhTUlVVdVEyOXNiM0k3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWwwY3lCemRHRjBaUzVjYmlBZ0lDb2dTV1lnYVhRZ1kyRnVibTkwSUdacGJtUWdkR2hsSUhSaGNtZGxkQ0J3Y205d1pYSjBlU0JwYmlCamIyNXpkSEoxWTNSdmNpd2dhWFFnZDJsc2JDQmlaU0J1ZFd4c0lHbHVjM1JsWVdRdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOXpkR0YwWlRvZ2UxeHVJQ0FnSUhCeWIzQmxjblI1VG1GdFpUb2djM1J5YVc1bk8xeHVJQ0FnSUdsdWFYUnBZV3hXWVd4MVpUb2dWRWhTUlVVdVEyOXNiM0k3WEc0Z0lDQWdaR1ZzZEdGV1lXeDFaVG9nVkVoU1JVVXVRMjlzYjNJN1hHNGdJSDBnZkNCdWRXeHNPMXh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaDdYRzRnSUNBZ2JXRjBaWEpwWVd3c1hHNGdJQ0FnZEhsd1pTeGNiaUFnSUNCMFlYSm5aWFJXWVd4MVpTeGNiaUFnZlRvZ2UxeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlGUm9aU0IwWVhKblpYUWdiV0YwWlhKcFlXd3VYRzRnSUNBZ0lDb3ZYRzRnSUNBZ2JXRjBaWEpwWVd3NklGUklVa1ZGTGsxaGRHVnlhV0ZzTzF4dVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1ZHaGxJSFI1Y0dVZ2IyWWdkR2hsSUhSaGNtZGxkQ0J3Y205d1pYSjBlU0J2WmlCMGFHVWdiV0YwWlhKcFlXd3VYRzRnSUNBZ0lDb3ZYRzRnSUNBZ2RIbHdaVG9nVmxKTlJYaHdjbVZ6YzJsdmJrMWhkR1Z5YVdGc1EyOXNiM0pVZVhCbE8xeHVYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dWR2hsSUhSaGNtZGxkQ0JqYjJ4dmNpNWNiaUFnSUNBZ0tpOWNiaUFnSUNCMFlYSm5aWFJXWVd4MVpUb2dWRWhTUlVVdVEyOXNiM0k3WEc0Z0lIMHBJSHRjYmlBZ0lDQjBhR2x6TG0xaGRHVnlhV0ZzSUQwZ2JXRjBaWEpwWVd3N1hHNGdJQ0FnZEdocGN5NTBlWEJsSUQwZ2RIbHdaVHRjYmlBZ0lDQjBhR2x6TG5SaGNtZGxkRlpoYkhWbElEMGdkR0Z5WjJWMFZtRnNkV1U3WEc1Y2JpQWdJQ0F2THlCcGJtbDBJSEJ5YjNCbGNuUjVJRzVoYldWY2JpQWdJQ0JqYjI1emRDQndjbTl3WlhKMGVVNWhiV1ZOWVhBZ1BTQlBZbXBsWTNRdVpXNTBjbWxsY3loV1VrMUZlSEJ5WlhOemFXOXVUV0YwWlhKcFlXeERiMnh2Y2tKcGJtUXVYM0J5YjNCbGNuUjVUbUZ0WlUxaGNFMWhjQ2t1Wm1sdVpDaGNiaUFnSUNBZ0lDaGJaR2x6ZEdsdVozVnBjMmhsY2wwcElEMCtJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJQ2h0WVhSbGNtbGhiQ0JoY3lCaGJua3BXMlJwYzNScGJtZDFhWE5vWlhKZElEMDlQU0IwY25WbE8xeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBcFB5NWJNVjA3WEc0Z0lDQWdZMjl1YzNRZ2NISnZjR1Z5ZEhsT1lXMWxJRDBnY0hKdmNHVnlkSGxPWVcxbFRXRndQeTViZEhsd1pWMGdQejhnYm5Wc2JEdGNibHh1SUNBZ0lHbG1JQ2h3Y205d1pYSjBlVTVoYldVZ1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLRnh1SUNBZ0lDQWdJQ0JnVkhKcFpXUWdkRzhnWVdSa0lHRWdiV0YwWlhKcFlXd2dZMjlzYjNJZ1ltbHVaQ0IwYnlCMGFHVWdiV0YwWlhKcFlXd2dKSHRjYmlBZ0lDQWdJQ0FnSUNCdFlYUmxjbWxoYkM1dVlXMWxJRDgvSUNjb2JtOGdibUZ0WlNrblhHNGdJQ0FnSUNBZ0lIMHNJSFJvWlNCMGVYQmxJQ1I3ZEhsd1pYMGdZblYwSUhSb1pTQnRZWFJsY21saGJDQnZjaUIwYUdVZ2RIbHdaU0JwY3lCdWIzUWdjM1Z3Y0c5eWRHVmtMbUFzWEc0Z0lDQWdJQ0FwTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbDl6ZEdGMFpTQTlJRzUxYkd3N1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR052Ym5OMElIUmhjbWRsZENBOUlDaHRZWFJsY21saGJDQmhjeUJoYm5rcFczQnliM0JsY25SNVRtRnRaVjBnWVhNZ1ZFaFNSVVV1UTI5c2IzSTdYRzVjYmlBZ0lDQWdJR052Ym5OMElHbHVhWFJwWVd4V1lXeDFaU0E5SUhSaGNtZGxkQzVqYkc5dVpTZ3BPMXh1WEc0Z0lDQWdJQ0F2THlEb3NxRGpnYTdsZ0tUamdwTGt2NTNtaklIamdabmpnb3ZqZ1ovamdvSGpnYXREYjJ4dmNpNXpkV0xqZ3BMa3ZiL2pnby9qZ1pyamdhdmx0NjdsaUliamdwTG9xSWpucnBmamdabmpnb3RjYmlBZ0lDQWdJR052Ym5OMElHUmxiSFJoVm1Gc2RXVWdQU0J1WlhjZ1ZFaFNSVVV1UTI5c2IzSW9YRzRnSUNBZ0lDQWdJSFJoY21kbGRGWmhiSFZsTG5JZ0xTQnBibWwwYVdGc1ZtRnNkV1V1Y2l4Y2JpQWdJQ0FnSUNBZ2RHRnlaMlYwVm1Gc2RXVXVaeUF0SUdsdWFYUnBZV3hXWVd4MVpTNW5MRnh1SUNBZ0lDQWdJQ0IwWVhKblpYUldZV3gxWlM1aUlDMGdhVzVwZEdsaGJGWmhiSFZsTG1Jc1hHNGdJQ0FnSUNBcE8xeHVYRzRnSUNBZ0lDQjBhR2x6TGw5emRHRjBaU0E5SUh0Y2JpQWdJQ0FnSUNBZ2NISnZjR1Z5ZEhsT1lXMWxMRnh1SUNBZ0lDQWdJQ0JwYm1sMGFXRnNWbUZzZFdVc1hHNGdJQ0FnSUNBZ0lHUmxiSFJoVm1Gc2RXVXNYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmhjSEJzZVZkbGFXZG9kQ2gzWldsbmFIUTZJRzUxYldKbGNpazZJSFp2YVdRZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TGw5emRHRjBaU0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCM1lYSnVhVzVuSUdseklHRnNjbVZoWkhrZ1pXMXBkSFJsWkNCcGJpQmpiMjV6ZEhKMVkzUnZjbHh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSHNnY0hKdmNHVnlkSGxPWVcxbExDQmtaV3gwWVZaaGJIVmxJSDBnUFNCMGFHbHpMbDl6ZEdGMFpUdGNibHh1SUNBZ0lHTnZibk4wSUhSaGNtZGxkQ0E5SUNoMGFHbHpMbTFoZEdWeWFXRnNJR0Z6SUdGdWVTbGJjSEp2Y0dWeWRIbE9ZVzFsWFNCaGN5QlVTRkpGUlM1RGIyeHZjanRjYmlBZ0lDQnBaaUFvZEdGeVoyVjBJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5SUM4dklGUlBSRTg2SUhkbElITm9iM1ZzWkNCcmFXTnJJSFJvYVhNZ1lYUWdZR0ZrWkUxaGRHVnlhV0ZzVm1Gc2RXVmdYRzVjYmlBZ0lDQjBZWEpuWlhRdVlXUmtLRjlqYjJ4dmNpNWpiM0I1S0dSbGJIUmhWbUZzZFdVcExtMTFiSFJwY0d4NVUyTmhiR0Z5S0hkbGFXZG9kQ2twTzF4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlBb2RHaHBjeTV0WVhSbGNtbGhiQ0JoY3lCaGJua3BMbk5vYjNWc1pFRndjR3g1Vlc1cFptOXliWE1nUFQwOUlDZGliMjlzWldGdUp5a2dlMXh1SUNBZ0lDQWdLSFJvYVhNdWJXRjBaWEpwWVd3Z1lYTWdZVzU1S1M1emFHOTFiR1JCY0hCc2VWVnVhV1p2Y20xeklEMGdkSEoxWlR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWTJ4bFlYSkJjSEJzYVdWa1YyVnBaMmgwS0NrNklIWnZhV1FnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbDl6ZEdGMFpTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUIzWVhKdWFXNW5JR2x6SUdGc2NtVmhaSGtnWlcxcGRIUmxaQ0JwYmlCamIyNXpkSEoxWTNSdmNseHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElIc2djSEp2Y0dWeWRIbE9ZVzFsTENCcGJtbDBhV0ZzVm1Gc2RXVWdmU0E5SUhSb2FYTXVYM04wWVhSbE8xeHVYRzRnSUNBZ1kyOXVjM1FnZEdGeVoyVjBJRDBnS0hSb2FYTXViV0YwWlhKcFlXd2dZWE1nWVc1NUtWdHdjbTl3WlhKMGVVNWhiV1ZkSUdGeklGUklVa1ZGTGtOdmJHOXlPMXh1SUNBZ0lHbG1JQ2gwWVhKblpYUWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDBnTHk4Z1ZFOUVUem9nZDJVZ2MyaHZkV3hrSUd0cFkyc2dkR2hwY3lCaGRDQmdZV1JrVFdGMFpYSnBZV3hXWVd4MVpXQmNibHh1SUNBZ0lIUmhjbWRsZEM1amIzQjVLR2x1YVhScFlXeFdZV3gxWlNrN1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlDaDBhR2x6TG0xaGRHVnlhV0ZzSUdGeklHRnVlU2t1YzJodmRXeGtRWEJ3YkhsVmJtbG1iM0p0Y3lBOVBUMGdKMkp2YjJ4bFlXNG5LU0I3WEc0Z0lDQWdJQ0FvZEdocGN5NXRZWFJsY21saGJDQmhjeUJoYm5rcExuTm9iM1ZzWkVGd2NHeDVWVzVwWm05eWJYTWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dUlpd2lhVzF3YjNKMElIUjVjR1VnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVVY0Y0hKbGMzTnBiMjVDYVc1a0lIMGdabkp2YlNBbkxpOVdVazFGZUhCeVpYTnphVzl1UW1sdVpDYzdYRzVjYmk4cUtseHVJQ29nUVNCaWFXNWtJRzltSUh0QWJHbHVheUJXVWsxRmVIQnlaWE56YVc5dWZTQnBibVpzZFdWdVkyVnpJSFJ2SUcxdmNuQm9JSFJoY21kbGRITXVYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJXVWsxRmVIQnlaWE56YVc5dVRXOXljR2hVWVhKblpYUkNhVzVrSUdsdGNHeGxiV1Z1ZEhNZ1ZsSk5SWGh3Y21WemMybHZia0pwYm1RZ2UxeHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHMWxjMmdnY0hKcGJXbDBhWFpsY3lCMGFHRjBJR0YwZEdGamFHVmtJSFJ2SUhSaGNtZGxkQ0J0WlhOb0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlIQnlhVzFwZEdsMlpYTTZJRlJJVWtWRkxrMWxjMmhiWFR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHbHVaR1Y0SUc5bUlIUm9aU0J0YjNKd2FDQjBZWEpuWlhRZ2FXNGdkR2hsSUcxbGMyZ3VYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2dhVzVrWlhnNklHNTFiV0psY2p0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElIZGxhV2RvZENCMllXeDFaU0J2WmlCMFlYSm5aWFFnYlc5eWNHZ2dkR0Z5WjJWMExpQlNZVzVuYVc1bklHbHVJRnN3TGpBZ0xTQXhMakJkTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUhkbGFXZG9kRG9nYm5WdFltVnlPMXh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaDdYRzRnSUNBZ2NISnBiV2wwYVhabGN5eGNiaUFnSUNCcGJtUmxlQ3hjYmlBZ0lDQjNaV2xuYUhRc1hHNGdJSDA2SUh0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCVWFHVWdiV1Z6YUNCd2NtbHRhWFJwZG1WeklIUm9ZWFFnWVhSMFlXTm9aV1FnZEc4Z2RHRnlaMlYwSUcxbGMyZ3VYRzRnSUNBZ0lDb3ZYRzRnSUNBZ2NISnBiV2wwYVhabGN6b2dWRWhTUlVVdVRXVnphRnRkTzF4dVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1ZHaGxJR2x1WkdWNElHOW1JSFJvWlNCdGIzSndhQ0IwWVhKblpYUWdhVzRnZEdobElHMWxjMmd1WEc0Z0lDQWdJQ292WEc0Z0lDQWdhVzVrWlhnNklHNTFiV0psY2p0Y2JseHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlGUm9aU0IzWldsbmFIUWdkbUZzZFdVZ2IyWWdkR0Z5WjJWMElHMXZjbkJvSUhSaGNtZGxkQzRnVW1GdVoybHVaeUJwYmlCYk1DNHdJQzBnTVM0d1hTNWNiaUFnSUNBZ0tpOWNiaUFnSUNCM1pXbG5hSFE2SUc1MWJXSmxjanRjYmlBZ2ZTa2dlMXh1SUNBZ0lIUm9hWE11Y0hKcGJXbDBhWFpsY3lBOUlIQnlhVzFwZEdsMlpYTTdYRzRnSUNBZ2RHaHBjeTVwYm1SbGVDQTlJR2x1WkdWNE8xeHVJQ0FnSUhSb2FYTXVkMlZwWjJoMElEMGdkMlZwWjJoME8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHRndjR3g1VjJWcFoyaDBLSGRsYVdkb2REb2diblZ0WW1WeUtUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NXdjbWx0YVhScGRtVnpMbVp2Y2tWaFkyZ29LRzFsYzJncElEMCtJSHRjYmlBZ0lDQWdJR2xtSUNodFpYTm9MbTF2Y25Cb1ZHRnlaMlYwU1c1bWJIVmxibU5sY3o4dVczUm9hWE11YVc1a1pYaGRJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYldWemFDNXRiM0p3YUZSaGNtZGxkRWx1Wm14MVpXNWpaWE5iZEdocGN5NXBibVJsZUYwZ0t6MGdkR2hwY3k1M1pXbG5hSFFnS2lCM1pXbG5hSFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWTJ4bFlYSkJjSEJzYVdWa1YyVnBaMmgwS0NrNklIWnZhV1FnZTF4dUlDQWdJSFJvYVhNdWNISnBiV2wwYVhabGN5NW1iM0pGWVdOb0tDaHRaWE5vS1NBOVBpQjdYRzRnSUNBZ0lDQnBaaUFvYldWemFDNXRiM0p3YUZSaGNtZGxkRWx1Wm14MVpXNWpaWE0vTGx0MGFHbHpMbWx1WkdWNFhTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJRzFsYzJndWJXOXljR2hVWVhKblpYUkpibVpzZFdWdVkyVnpXM1JvYVhNdWFXNWtaWGhkSUQwZ01DNHdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHBPMXh1SUNCOVhHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVVY0Y0hKbGMzTnBiMjVDYVc1a0lIMGdabkp2YlNBbkxpOVdVazFGZUhCeVpYTnphVzl1UW1sdVpDYzdYRzVjYm1OdmJuTjBJRjkyTWlBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJeUtDazdYRzVjYmk4cUtseHVJQ29nUVNCaWFXNWtJRzltSUdWNGNISmxjM05wYjI0Z2FXNW1iSFZsYm1ObGN5QjBieUIwWlhoMGRYSmxJSFJ5WVc1elptOXliWE11WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCV1VrMUZlSEJ5WlhOemFXOXVWR1Y0ZEhWeVpWUnlZVzV6Wm05eWJVSnBibVFnYVcxd2JHVnRaVzUwY3lCV1VrMUZlSEJ5WlhOemFXOXVRbWx1WkNCN1hHNGdJSEJ5YVhaaGRHVWdjM1JoZEdsaklGOXdjbTl3WlhKMGVVNWhiV1Z6VFdGd09pQjdJRnRrYVhOMGFXNW5kV2x6YUdWeU9pQnpkSEpwYm1kZE9pQnpkSEpwYm1kYlhTQjlJRDBnZTF4dUlDQWdJR2x6VFdWemFGTjBZVzVrWVhKa1RXRjBaWEpwWVd3NklGdGNiaUFnSUNBZ0lDZHRZWEFuTEZ4dUlDQWdJQ0FnSjJWdGFYTnphWFpsVFdGd0p5eGNiaUFnSUNBZ0lDZGlkVzF3VFdGd0p5eGNiaUFnSUNBZ0lDZHViM0p0WVd4TllYQW5MRnh1SUNBZ0lDQWdKMlJwYzNCc1lXTmxiV1Z1ZEUxaGNDY3NYRzRnSUNBZ0lDQW5jbTkxWjJodVpYTnpUV0Z3Snl4Y2JpQWdJQ0FnSUNkdFpYUmhiRzVsYzNOTllYQW5MRnh1SUNBZ0lDQWdKMkZzY0doaFRXRndKeXhjYmlBZ0lDQmRMRnh1SUNBZ0lHbHpUV1Z6YUVKaGMybGpUV0YwWlhKcFlXdzZJRnNuYldGd0p5d2dKM053WldOMWJHRnlUV0Z3Snl3Z0oyRnNjR2hoVFdGd0oxMHNYRzRnSUNBZ2FYTk5WRzl2YmsxaGRHVnlhV0ZzT2lCYlhHNGdJQ0FnSUNBbmJXRndKeXhjYmlBZ0lDQWdJQ2R1YjNKdFlXeE5ZWEFuTEZ4dUlDQWdJQ0FnSjJWdGFYTnphWFpsVFdGd0p5eGNiaUFnSUNBZ0lDZHphR0ZrWlUxMWJIUnBjR3g1VkdWNGRIVnlaU2NzWEc0Z0lDQWdJQ0FuY21sdFRYVnNkR2x3YkhsVVpYaDBkWEpsSnl4Y2JpQWdJQ0FnSUNkdmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21VbkxGeHVJQ0FnSUNBZ0ozVjJRVzVwYldGMGFXOXVUV0Z6YTFSbGVIUjFjbVVuTEZ4dUlDQWdJRjBzWEc0Z0lIMDdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0IwWVhKblpYUWdiV0YwWlhKcFlXd3VYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2diV0YwWlhKcFlXdzZJRlJJVWtWRkxrMWhkR1Z5YVdGc08xeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdkWFlnYzJOaGJHVWdiMllnZEdobElIUmxlSFIxY21VdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2NtVmhaRzl1YkhrZ2MyTmhiR1U2SUZSSVVrVkZMbFpsWTNSdmNqSTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0IxZGlCdlptWnpaWFFnYjJZZ2RHaGxJSFJsZUhSMWNtVXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2diMlptYzJWME9pQlVTRkpGUlM1V1pXTjBiM0l5TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ2JHbHpkQ0J2WmlCMFpYaDBkWEpsSUc1aGJXVnpJR0Z1WkNCcGRITWdjM1JoZEdVZ2RHaGhkQ0J6YUc5MWJHUWdZbVVnZEhKaGJuTm1iM0p0WldRZ1lua2dkR2hwY3lCaWFXNWtMbHh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0JmY0hKdmNHVnlkR2xsY3pvZ2UxeHVJQ0FnSUc1aGJXVTZJSE4wY21sdVp6dGNiaUFnSUNCcGJtbDBhV0ZzVDJabWMyVjBPaUJVU0ZKRlJTNVdaV04wYjNJeU8xeHVJQ0FnSUdsdWFYUnBZV3hUWTJGc1pUb2dWRWhTUlVVdVZtVmpkRzl5TWp0Y2JpQWdJQ0JrWld4MFlVOW1abk5sZERvZ1ZFaFNSVVV1Vm1WamRHOXlNanRjYmlBZ0lDQmtaV3gwWVZOallXeGxPaUJVU0ZKRlJTNVdaV04wYjNJeU8xeHVJQ0I5VzEwN1hHNWNiaUFnY0hWaWJHbGpJR052Ym5OMGNuVmpkRzl5S0h0Y2JpQWdJQ0J0WVhSbGNtbGhiQ3hjYmlBZ0lDQnpZMkZzWlN4Y2JpQWdJQ0J2Wm1aelpYUXNYRzRnSUgwNklIdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQlVhR1VnZEdGeVoyVjBJRzFoZEdWeWFXRnNMbHh1SUNBZ0lDQXFMMXh1SUNBZ0lHMWhkR1Z5YVdGc09pQlVTRkpGUlM1TllYUmxjbWxoYkR0Y2JseHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlGUm9aU0IxZGlCelkyRnNaU0J2WmlCMGFHVWdkR1Y0ZEhWeVpTNWNiaUFnSUNBZ0tpOWNiaUFnSUNCelkyRnNaVG9nVkVoU1JVVXVWbVZqZEc5eU1qdGNibHh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRlJvWlNCMWRpQnZabVp6WlhRZ2IyWWdkR2hsSUhSbGVIUjFjbVV1WEc0Z0lDQWdJQ292WEc0Z0lDQWdiMlptYzJWME9pQlVTRkpGUlM1V1pXTjBiM0l5TzF4dUlDQjlLU0I3WEc0Z0lDQWdkR2hwY3k1dFlYUmxjbWxoYkNBOUlHMWhkR1Z5YVdGc08xeHVJQ0FnSUhSb2FYTXVjMk5oYkdVZ1BTQnpZMkZzWlR0Y2JpQWdJQ0IwYUdsekxtOW1abk5sZENBOUlHOW1abk5sZER0Y2JseHVJQ0FnSUdOdmJuTjBJSEJ5YjNCbGNuUjVUbUZ0WlhNZ1BTQlBZbXBsWTNRdVpXNTBjbWxsY3loV1VrMUZlSEJ5WlhOemFXOXVWR1Y0ZEhWeVpWUnlZVzV6Wm05eWJVSnBibVF1WDNCeWIzQmxjblI1VG1GdFpYTk5ZWEFwTG1acGJtUW9YRzRnSUNBZ0lDQW9XMlJwYzNScGJtZDFhWE5vWlhKZEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvYldGMFpYSnBZV3dnWVhNZ1lXNTVLVnRrYVhOMGFXNW5kV2x6YUdWeVhTQTlQVDBnZEhKMVpUdGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0tUOHVXekZkTzF4dVhHNGdJQ0FnYVdZZ0tIQnliM0JsY25SNVRtRnRaWE1nUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtGeHVJQ0FnSUNBZ0lDQmdWSEpwWldRZ2RHOGdZV1JrSUdFZ2RHVjRkSFZ5WlNCMGNtRnVjMlp2Y20wZ1ltbHVaQ0IwYnlCMGFHVWdiV0YwWlhKcFlXd2dKSHRjYmlBZ0lDQWdJQ0FnSUNCdFlYUmxjbWxoYkM1dVlXMWxJRDgvSUNjb2JtOGdibUZ0WlNrblhHNGdJQ0FnSUNBZ0lIMGdZblYwSUhSb1pTQnRZWFJsY21saGJDQnBjeUJ1YjNRZ2MzVndjRzl5ZEdWa0xtQXNYRzRnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0IwYUdsekxsOXdjbTl3WlhKMGFXVnpJRDBnVzEwN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzQnliM0JsY25ScFpYTWdQU0JiWFR0Y2JseHVJQ0FnSUNBZ2NISnZjR1Z5ZEhsT1lXMWxjeTVtYjNKRllXTm9LQ2h3Y205d1pYSjBlVTVoYldVcElEMCtJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkR1Y0ZEhWeVpTQTlJQ2dvYldGMFpYSnBZV3dnWVhNZ1lXNTVLVnR3Y205d1pYSjBlVTVoYldWZElHRnpJRlJJVWtWRkxsUmxlSFIxY21VZ2ZDQjFibVJsWm1sdVpXUXBQeTVqYkc5dVpTZ3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb0lYUmxlSFIxY21VcElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ2h0WVhSbGNtbGhiQ0JoY3lCaGJua3BXM0J5YjNCbGNuUjVUbUZ0WlYwZ1BTQjBaWGgwZFhKbE95QXZMeUJpWldOaGRYTmxJSFJvWlNCMFpYaDBkWEpsSUdseklHTnNiMjVsWkZ4dVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUdsdWFYUnBZV3hQWm1aelpYUWdQU0IwWlhoMGRYSmxMbTltWm5ObGRDNWpiRzl1WlNncE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCcGJtbDBhV0ZzVTJOaGJHVWdQU0IwWlhoMGRYSmxMbkpsY0dWaGRDNWpiRzl1WlNncE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCa1pXeDBZVTltWm5ObGRDQTlJRzltWm5ObGRDNWpiRzl1WlNncExuTjFZaWhwYm1sMGFXRnNUMlptYzJWMEtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pHVnNkR0ZUWTJGc1pTQTlJSE5qWVd4bExtTnNiMjVsS0NrdWMzVmlLR2x1YVhScFlXeFRZMkZzWlNrN1hHNWNiaUFnSUNBZ0lDQWdkR2hwY3k1ZmNISnZjR1Z5ZEdsbGN5NXdkWE5vS0h0Y2JpQWdJQ0FnSUNBZ0lDQnVZVzFsT2lCd2NtOXdaWEowZVU1aGJXVXNYRzRnSUNBZ0lDQWdJQ0FnYVc1cGRHbGhiRTltWm5ObGRDeGNiaUFnSUNBZ0lDQWdJQ0JrWld4MFlVOW1abk5sZEN4Y2JpQWdJQ0FnSUNBZ0lDQnBibWwwYVdGc1UyTmhiR1VzWEc0Z0lDQWdJQ0FnSUNBZ1pHVnNkR0ZUWTJGc1pTeGNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWVhCd2JIbFhaV2xuYUhRb2QyVnBaMmgwT2lCdWRXMWlaWElwT2lCMmIybGtJSHRjYmlBZ0lDQjBhR2x6TGw5d2NtOXdaWEowYVdWekxtWnZja1ZoWTJnb0tIQnliM0JsY25SNUtTQTlQaUI3WEc0Z0lDQWdJQ0JqYjI1emRDQjBZWEpuWlhRZ1BTQW9kR2hwY3k1dFlYUmxjbWxoYkNCaGN5QmhibmtwVzNCeWIzQmxjblI1TG01aGJXVmRJR0Z6SUZSSVVrVkZMbFJsZUhSMWNtVTdYRzRnSUNBZ0lDQnBaaUFvZEdGeVoyVjBJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZTQXZMeUJVVDBSUE9pQjNaU0J6YUc5MWJHUWdhMmxqYXlCMGFHbHpJR0YwSUdCaFpHUk5ZWFJsY21saGJGWmhiSFZsWUZ4dVhHNGdJQ0FnSUNCMFlYSm5aWFF1YjJabWMyVjBMbUZrWkNoZmRqSXVZMjl3ZVNod2NtOXdaWEowZVM1a1pXeDBZVTltWm5ObGRDa3ViWFZzZEdsd2JIbFRZMkZzWVhJb2QyVnBaMmgwS1NrN1hHNGdJQ0FnSUNCMFlYSm5aWFF1Y21Wd1pXRjBMbUZrWkNoZmRqSXVZMjl3ZVNod2NtOXdaWEowZVM1a1pXeDBZVk5qWVd4bEtTNXRkV3gwYVhCc2VWTmpZV3hoY2loM1pXbG5hSFFwS1R0Y2JseHVJQ0FnSUNBZ2RHRnlaMlYwTG01bFpXUnpWWEJrWVhSbElEMGdkSEoxWlR0Y2JpQWdJQ0I5S1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCamJHVmhja0Z3Y0d4cFpXUlhaV2xuYUhRb0tUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NWZjSEp2Y0dWeWRHbGxjeTVtYjNKRllXTm9LQ2h3Y205d1pYSjBlU2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnZEdGeVoyVjBJRDBnS0hSb2FYTXViV0YwWlhKcFlXd2dZWE1nWVc1NUtWdHdjbTl3WlhKMGVTNXVZVzFsWFNCaGN5QlVTRkpGUlM1VVpYaDBkWEpsTzF4dUlDQWdJQ0FnYVdZZ0tIUmhjbWRsZENBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDBnTHk4Z1ZFOUVUem9nZDJVZ2MyaHZkV3hrSUd0cFkyc2dkR2hwY3lCaGRDQmdZV1JrVFdGMFpYSnBZV3hXWVd4MVpXQmNibHh1SUNBZ0lDQWdkR0Z5WjJWMExtOW1abk5sZEM1amIzQjVLSEJ5YjNCbGNuUjVMbWx1YVhScFlXeFBabVp6WlhRcE8xeHVJQ0FnSUNBZ2RHRnlaMlYwTG5KbGNHVmhkQzVqYjNCNUtIQnliM0JsY25SNUxtbHVhWFJwWVd4VFkyRnNaU2s3WEc1Y2JpQWdJQ0FnSUhSaGNtZGxkQzV1WldWa2MxVndaR0YwWlNBOUlIUnlkV1U3WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibjFjYmlJc0ltbHRjRzl5ZENCMGVYQmxJQ29nWVhNZ1ZqQldVazBnWm5KdmJTQW5RSEJwZUdsMkwzUjVjR1Z6TFhaeWJTMHdMakFuTzF4dWFXMXdiM0owSUhSNWNHVWdLaUJoY3lCV01WWlNUVk5qYUdWdFlTQm1jbTl0SUNkQWNHbDRhWFl2ZEhsd1pYTXRkbkp0WXkxMmNtMHRNUzR3Snp0Y2JtbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0I3SUVkTVZFWXNJRWRNVkVaTWIyRmtaWEpRYkhWbmFXNHNJRWRNVkVaUVlYSnpaWElnZlNCbWNtOXRJQ2QwYUhKbFpTOWxlR0Z0Y0d4bGN5OXFjMjB2Ykc5aFpHVnljeTlIVEZSR1RHOWhaR1Z5TG1wekp6dGNibWx0Y0c5eWRDQjdJR2RzZEdaRmVIUnlZV04wVUhKcGJXbDBhWFpsYzBaeWIyMU9iMlJsSUgwZ1puSnZiU0FuTGk0dmRYUnBiSE12WjJ4MFprVjRkSEpoWTNSUWNtbHRhWFJwZG1WelJuSnZiVTV2WkdVbk8xeHVhVzF3YjNKMElIc2daMngwWmtkbGRFRnpjMjlqYVdGMFpXUk5ZWFJsY21saGJFbHVaR1Y0SUgwZ1puSnZiU0FuTGk0dmRYUnBiSE12WjJ4MFprZGxkRUZ6YzI5amFXRjBaV1JOWVhSbGNtbGhiRWx1WkdWNEp6dGNibWx0Y0c5eWRDQjdJRlpTVFVWNGNISmxjM05wYjI0Z2ZTQm1jbTl0SUNjdUwxWlNUVVY0Y0hKbGMzTnBiMjRuTzF4dWFXMXdiM0owSUhzZ1ZsSk5SWGh3Y21WemMybHZiazFoYm1GblpYSWdmU0JtY205dElDY3VMMVpTVFVWNGNISmxjM05wYjI1TllXNWhaMlZ5Snp0Y2JtbHRjRzl5ZENCN0lIWXdSWGh3Y21WemMybHZiazFoZEdWeWFXRnNRMjlzYjNKTllYQWdmU0JtY205dElDY3VMMVpTVFVWNGNISmxjM05wYjI1TllYUmxjbWxoYkVOdmJHOXlWSGx3WlNjN1hHNXBiWEJ2Y25RZ2V5QldVazFGZUhCeVpYTnphVzl1VFdGMFpYSnBZV3hEYjJ4dmNrSnBibVFnZlNCbWNtOXRJQ2N1TDFaU1RVVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5UW1sdVpDYzdYRzVwYlhCdmNuUWdleUJXVWsxRmVIQnlaWE56YVc5dVRXOXljR2hVWVhKblpYUkNhVzVrSUgwZ1puSnZiU0FuTGk5V1VrMUZlSEJ5WlhOemFXOXVUVzl5Y0doVVlYSm5aWFJDYVc1a0p6dGNibWx0Y0c5eWRDQjdJRlpTVFVWNGNISmxjM05wYjI1UWNtVnpaWFJPWVcxbElIMGdabkp2YlNBbkxpOVdVazFGZUhCeVpYTnphVzl1VUhKbGMyVjBUbUZ0WlNjN1hHNXBiWEJ2Y25RZ2V5QldVazFGZUhCeVpYTnphVzl1VkdWNGRIVnlaVlJ5WVc1elptOXliVUpwYm1RZ2ZTQm1jbTl0SUNjdUwxWlNUVVY0Y0hKbGMzTnBiMjVVWlhoMGRYSmxWSEpoYm5ObWIzSnRRbWx1WkNjN1hHNXBiWEJ2Y25RZ2V5QkhURlJHSUdGeklFZE1WRVpUWTJobGJXRWdmU0JtY205dElDZEFaMngwWmkxMGNtRnVjMlp2Y20wdlkyOXlaU2M3WEc1Y2JpOHFLbHh1SUNvZ1VHOXpjMmxpYkdVZ2MzQmxZeUIyWlhKemFXOXVjeUJwZENCeVpXTnZaMjVwZW1WekxseHVJQ292WEc1amIyNXpkQ0JRVDFOVFNVSk1SVjlUVUVWRFgxWkZVbE5KVDA1VElEMGdibVYzSUZObGRDaGJKekV1TUNjc0lDY3hMakF0WW1WMFlTZGRLVHRjYmx4dUx5b3FYRzRnS2lCQklIQnNkV2RwYmlCdlppQkhURlJHVEc5aFpHVnlJSFJvWVhRZ2FXMXdiM0owY3lCaElIdEFiR2x1YXlCV1VrMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNuMGdabkp2YlNCaElGWlNUU0JsZUhSbGJuTnBiMjRnYjJZZ1lTQkhURlJHTGx4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5SWGh3Y21WemMybHZia3h2WVdSbGNsQnNkV2RwYmlCcGJYQnNaVzFsYm5SeklFZE1WRVpNYjJGa1pYSlFiSFZuYVc0Z2UxeHVJQ0J3ZFdKc2FXTWdjM1JoZEdsaklISmxZV1J2Ym14NUlIWXdkakZRY21WelpYUk9ZVzFsVFdGd09pQjdJRnQyTUU1aGJXVWdhVzRnVmpCV1VrMHVRbXhsYm1SVGFHRndaVkJ5WlhObGRFNWhiV1ZkUHpvZ1ZsSk5SWGh3Y21WemMybHZibEJ5WlhObGRFNWhiV1VnZlNBOUlIdGNiaUFnSUNCaE9pQW5ZV0VuTEZ4dUlDQWdJR1U2SUNkbFpTY3NYRzRnSUNBZ2FUb2dKMmxvSnl4Y2JpQWdJQ0J2T2lBbmIyZ25MRnh1SUNBZ0lIVTZJQ2R2ZFNjc1hHNGdJQ0FnWW14cGJtczZJQ2RpYkdsdWF5Y3NYRzRnSUNBZ2FtOTVPaUFuYUdGd2NIa25MRnh1SUNBZ0lHRnVaM0o1T2lBbllXNW5jbmtuTEZ4dUlDQWdJSE52Y25KdmR6b2dKM05oWkNjc1hHNGdJQ0FnWm5WdU9pQW5jbVZzWVhobFpDY3NYRzRnSUNBZ2JHOXZhM1Z3T2lBbmJHOXZhMVZ3Snl4Y2JpQWdJQ0JzYjI5clpHOTNiam9nSjJ4dmIydEViM2R1Snl4Y2JpQWdJQ0JzYjI5cmJHVm1kRG9nSjJ4dmIydE1aV1owSnl4Y2JpQWdJQ0JzYjI5cmNtbG5hSFE2SUNkc2IyOXJVbWxuYUhRbkxGeHVJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtRnRhVzVuTFdOdmJuWmxiblJwYjI1Y2JpQWdJQ0JpYkdsdWExOXNPaUFuWW14cGJtdE1aV1owSnl4Y2JpQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1aGJXbHVaeTFqYjI1MlpXNTBhVzl1WEc0Z0lDQWdZbXhwYm10ZmNqb2dKMkpzYVc1clVtbG5hSFFuTEZ4dUlDQWdJRzVsZFhSeVlXdzZJQ2R1WlhWMGNtRnNKeXhjYmlBZ2ZUdGNibHh1SUNCd2RXSnNhV01nY21WaFpHOXViSGtnY0dGeWMyVnlPaUJIVEZSR1VHRnljMlZ5TzF4dVhHNGdJSEIxWW14cFl5Qm5aWFFnYm1GdFpTZ3BPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lDOHZJRmRsSUhOb2IzVnNaQ0IxYzJVZ2RHaGxJR1Y0ZEdWdWMybHZiaUJ1WVcxbElHbHVjM1JsWVdRZ1luVjBJSGRsSUdoaGRtVWdiWFZzZEdsd2JHVWdjR3gxWjJsdWN5Qm1iM0lnWVc0Z1pYaDBaVzV6YVc5dUxpNHVYRzRnSUNBZ2NtVjBkWEp1SUNkV1VrMUZlSEJ5WlhOemFXOXVURzloWkdWeVVHeDFaMmx1Snp0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaHdZWEp6WlhJNklFZE1WRVpRWVhKelpYSXBJSHRjYmlBZ0lDQjBhR2x6TG5CaGNuTmxjaUE5SUhCaGNuTmxjanRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJoYzNsdVl5QmhablJsY2xKdmIzUW9aMngwWmpvZ1IweFVSaWs2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHZHNkR1l1ZFhObGNrUmhkR0V1ZG5KdFJYaHdjbVZ6YzJsdmJrMWhibUZuWlhJZ1BTQmhkMkZwZENCMGFHbHpMbDlwYlhCdmNuUW9aMngwWmlrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTVzF3YjNKMElHRWdlMEJzYVc1cklGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlmU0JtY205dElHRWdWbEpOTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ1oyeDBaaUJCSUhCaGNuTmxaQ0J5WlhOMWJIUWdiMllnUjB4VVJpQjBZV3RsYmlCbWNtOXRJRWRNVkVaTWIyRmtaWEpjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdYMmx0Y0c5eWRDaG5iSFJtT2lCSFRGUkdLVG9nVUhKdmJXbHpaVHhXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY2lCOElHNTFiR3crSUh0Y2JpQWdJQ0JqYjI1emRDQjJNVkpsYzNWc2RDQTlJR0YzWVdsMElIUm9hWE11WDNZeFNXMXdiM0owS0dkc2RHWXBPMXh1SUNBZ0lHbG1JQ2gyTVZKbGMzVnNkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFl4VW1WemRXeDBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhZd1VtVnpkV3gwSUQwZ1lYZGhhWFFnZEdocGN5NWZkakJKYlhCdmNuUW9aMngwWmlrN1hHNGdJQ0FnYVdZZ0tIWXdVbVZ6ZFd4MEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RqQlNaWE4xYkhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHRnplVzVqSUY5Mk1VbHRjRzl5ZENobmJIUm1PaUJIVEZSR0tUb2dVSEp2YldselpUeFdVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjaUI4SUc1MWJHdytJSHRjYmlBZ0lDQmpiMjV6ZENCcWMyOXVJRDBnZEdocGN5NXdZWEp6WlhJdWFuTnZiaUJoY3lCSFRGUkdVMk5vWlcxaExrbEhURlJHTzF4dVhHNGdJQ0FnTHk4Z1pXRnliSGtnWVdKdmNuUWdhV1lnYVhRZ1pHOWxjMjRuZENCMWMyVWdkbkp0WEc0Z0lDQWdZMjl1YzNRZ2FYTldVazFWYzJWa0lEMGdhbk52Ymk1bGVIUmxibk5wYjI1elZYTmxaRDh1YVc1a1pYaFBaaWduVmxKTlExOTJjbTBuS1NBaFBUMGdMVEU3WEc0Z0lDQWdhV1lnS0NGcGMxWlNUVlZ6WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdWNGRHVnVjMmx2YmlBOUlHcHpiMjR1WlhoMFpXNXphVzl1Y3o4dVd5ZFdVazFEWDNaeWJTZGRJR0Z6SUZZeFZsSk5VMk5vWlcxaExsWlNUVU5XVWswZ2ZDQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2FXWWdLQ0ZsZUhSbGJuTnBiMjRwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSE53WldOV1pYSnphVzl1SUQwZ1pYaDBaVzV6YVc5dUxuTndaV05XWlhKemFXOXVPMXh1SUNBZ0lHbG1JQ2doVUU5VFUwbENURVZmVTFCRlExOVdSVkpUU1U5T1V5NW9ZWE1vYzNCbFkxWmxjbk5wYjI0cEtTQjdYRzRnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWUZaU1RVVjRjSEpsYzNOcGIyNU1iMkZrWlhKUWJIVm5hVzQ2SUZWdWEyNXZkMjRnVmxKTlExOTJjbTBnYzNCbFkxWmxjbk5wYjI0Z1hDSWtlM053WldOV1pYSnphVzl1ZlZ3aVlDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCelkyaGxiV0ZGZUhCeVpYTnphVzl1Y3lBOUlHVjRkR1Z1YzJsdmJpNWxlSEJ5WlhOemFXOXVjenRjYmlBZ0lDQnBaaUFvSVhOamFHVnRZVVY0Y0hKbGMzTnBiMjV6S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QnNhWE4wSUdWNGNISmxjM05wYjI1elhHNGdJQ0FnWTI5dWMzUWdjSEpsYzJWMFRtRnRaVk5sZENBOUlHNWxkeUJUWlhROGMzUnlhVzVuUGloUFltcGxZM1F1ZG1Gc2RXVnpLRlpTVFVWNGNISmxjM05wYjI1UWNtVnpaWFJPWVcxbEtTazdYRzRnSUNBZ1kyOXVjM1FnYm1GdFpWTmphR1Z0WVVWNGNISmxjM05wYjI1TllYQWdQU0J1WlhjZ1RXRndQSE4wY21sdVp5d2dWakZXVWsxVFkyaGxiV0V1Ulhod2NtVnpjMmx2Ymo0b0tUdGNibHh1SUNBZ0lHbG1JQ2h6WTJobGJXRkZlSEJ5WlhOemFXOXVjeTV3Y21WelpYUWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdUMkpxWldOMExtVnVkSEpwWlhNb2MyTm9aVzFoUlhod2NtVnpjMmx2Ym5NdWNISmxjMlYwS1M1bWIzSkZZV05vS0NoYmJtRnRaU3dnYzJOb1pXMWhSWGh3Y21WemMybHZibDBwSUQwK0lIdGNiaUFnSUNBZ0lDQWdhV1lnS0hOamFHVnRZVVY0Y0hKbGMzTnBiMjRnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ2ZTQXZMeUIwZVhCbGMyTnlhWEIwWEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0Z3Y21WelpYUk9ZVzFsVTJWMExtaGhjeWh1WVcxbEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGdWbEpOUlhod2NtVnpjMmx2Ymt4dllXUmxjbEJzZFdkcGJqb2dWVzVyYm05M2JpQndjbVZ6WlhRZ2JtRnRaU0JjSWlSN2JtRnRaWDFjSWlCa1pYUmxZM1JsWkM0Z1NXZHViM0pwYm1jZ2RHaGxJR1Y0Y0hKbGMzTnBiMjVnS1R0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J1WVcxbFUyTm9aVzFoUlhod2NtVnpjMmx2YmsxaGNDNXpaWFFvYm1GdFpTd2djMk5vWlcxaFJYaHdjbVZ6YzJsdmJpazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYzJOb1pXMWhSWGh3Y21WemMybHZibk11WTNWemRHOXRJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJRTlpYW1WamRDNWxiblJ5YVdWektITmphR1Z0WVVWNGNISmxjM05wYjI1ekxtTjFjM1J2YlNrdVptOXlSV0ZqYUNnb1cyNWhiV1VzSUhOamFHVnRZVVY0Y0hKbGMzTnBiMjVkS1NBOVBpQjdYRzRnSUNBZ0lDQWdJR2xtSUNod2NtVnpaWFJPWVcxbFUyVjBMbWhoY3lodVlXMWxLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk52YkdVdWQyRnliaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lHQldVazFGZUhCeVpYTnphVzl1VEc5aFpHVnlVR3gxWjJsdU9pQkRkWE4wYjIwZ1pYaHdjbVZ6YzJsdmJpQmpZVzV1YjNRZ2FHRjJaU0J3Y21WelpYUWdibUZ0WlNCY0lpUjdibUZ0WlgxY0lpNGdTV2R1YjNKcGJtY2dkR2hsSUdWNGNISmxjM05wYjI1Z0xGeHVJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdibUZ0WlZOamFHVnRZVVY0Y0hKbGMzTnBiMjVOWVhBdWMyVjBLRzVoYldVc0lITmphR1Z0WVVWNGNISmxjM05wYjI0cE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdjSEpsY0dGeVpTQnRZVzVoWjJWeVhHNGdJQ0FnWTI5dWMzUWdiV0Z1WVdkbGNpQTlJRzVsZHlCV1VrMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNpZ3BPMXh1WEc0Z0lDQWdMeThnYkc5aFpDQmxlSEJ5WlhOemFXOXVjMXh1SUNBZ0lHRjNZV2wwSUZCeWIyMXBjMlV1WVd4c0tGeHVJQ0FnSUNBZ1FYSnlZWGt1Wm5KdmJTaHVZVzFsVTJOb1pXMWhSWGh3Y21WemMybHZiazFoY0M1bGJuUnlhV1Z6S0NrcExtMWhjQ2hoYzNsdVl5QW9XMjVoYldVc0lITmphR1Z0WVVWNGNISmxjM05wYjI1ZEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1Y0Y0hKbGMzTnBiMjRnUFNCdVpYY2dWbEpOUlhod2NtVnpjMmx2YmlodVlXMWxLVHRjYmlBZ0lDQWdJQ0FnWjJ4MFppNXpZMlZ1WlM1aFpHUW9aWGh3Y21WemMybHZiaWs3WEc1Y2JpQWdJQ0FnSUNBZ1pYaHdjbVZ6YzJsdmJpNXBjMEpwYm1GeWVTQTlJSE5qYUdWdFlVVjRjSEpsYzNOcGIyNHVhWE5DYVc1aGNua2dQejhnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJR1Y0Y0hKbGMzTnBiMjR1YjNabGNuSnBaR1ZDYkdsdWF5QTlJSE5qYUdWdFlVVjRjSEpsYzNOcGIyNHViM1psY25KcFpHVkNiR2x1YXlBL1B5QW5ibTl1WlNjN1hHNGdJQ0FnSUNBZ0lHVjRjSEpsYzNOcGIyNHViM1psY25KcFpHVk1iMjlyUVhRZ1BTQnpZMmhsYldGRmVIQnlaWE56YVc5dUxtOTJaWEp5YVdSbFRHOXZhMEYwSUQ4L0lDZHViMjVsSnp0Y2JpQWdJQ0FnSUNBZ1pYaHdjbVZ6YzJsdmJpNXZkbVZ5Y21sa1pVMXZkWFJvSUQwZ2MyTm9aVzFoUlhod2NtVnpjMmx2Ymk1dmRtVnljbWxrWlUxdmRYUm9JRDgvSUNkdWIyNWxKenRjYmx4dUlDQWdJQ0FnSUNCelkyaGxiV0ZGZUhCeVpYTnphVzl1TG0xdmNuQm9WR0Z5WjJWMFFtbHVaSE0vTG1admNrVmhZMmdvWVhONWJtTWdLR0pwYm1RcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ZbWx1WkM1dWIyUmxJRDA5UFNCMWJtUmxabWx1WldRZ2ZId2dZbWx1WkM1cGJtUmxlQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjSEpwYldsMGFYWmxjeUE5SUNoaGQyRnBkQ0JuYkhSbVJYaDBjbUZqZEZCeWFXMXBkR2wyWlhOR2NtOXRUbTlrWlNobmJIUm1MQ0JpYVc1a0xtNXZaR1VwS1NFN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JXOXljR2hVWVhKblpYUkpibVJsZUNBOUlHSnBibVF1YVc1a1pYZzdYRzVjYmlBZ0lDQWdJQ0FnSUNBdkx5QmphR1ZqYXlCcFppQjBhR1VnYldWemFDQm9ZWE1nZEdobElIUmhjbWRsZENCdGIzSndhQ0IwWVhKblpYUmNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FoY0hKcGJXbDBhWFpsY3k1bGRtVnllU2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdLSEJ5YVcxcGRHbDJaU2tnUFQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCQmNuSmhlUzVwYzBGeWNtRjVLSEJ5YVcxcGRHbDJaUzV0YjNKd2FGUmhjbWRsZEVsdVpteDFaVzVqWlhNcElDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiVzl5Y0doVVlYSm5aWFJKYm1SbGVDQThJSEJ5YVcxcGRHbDJaUzV0YjNKd2FGUmhjbWRsZEVsdVpteDFaVzVqWlhNdWJHVnVaM1JvTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCZ1ZsSk5SWGh3Y21WemMybHZia3h2WVdSbGNsQnNkV2RwYmpvZ0pIdHpZMmhsYldGRmVIQnlaWE56YVc5dUxtNWhiV1Y5SUdGMGRHVnRjSFJ6SUhSdklHbHVaR1Y0SUcxdmNuQm9JQ01rZTIxdmNuQm9WR0Z5WjJWMFNXNWtaWGg5SUdKMWRDQnViM1FnWm05MWJtUXVZQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWlhod2NtVnpjMmx2Ymk1aFpHUkNhVzVrS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdibVYzSUZaU1RVVjRjSEpsYzNOcGIyNU5iM0p3YUZSaGNtZGxkRUpwYm1Rb2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2NtbHRhWFJwZG1WekxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxlRG9nYlc5eWNHaFVZWEpuWlhSSmJtUmxlQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkMlZwWjJoME9pQmlhVzVrTG5kbGFXZG9kQ0EvUHlBeExqQXNYRzRnSUNBZ0lDQWdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNCOUtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2MyTm9aVzFoUlhod2NtVnpjMmx2Ymk1dFlYUmxjbWxoYkVOdmJHOXlRbWx1WkhNZ2ZId2djMk5vWlcxaFJYaHdjbVZ6YzJsdmJpNTBaWGgwZFhKbFZISmhibk5tYjNKdFFtbHVaSE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJzYVhOMElIVndJR1YyWlhKNUlHMWhkR1Z5YVdGc0lHbHVJR0JuYkhSbUxuTmpaVzVsWUZ4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdkc2RHWk5ZWFJsY21saGJITTZJRlJJVWtWRkxrMWhkR1Z5YVdGc1cxMGdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ0lDQm5iSFJtTG5OalpXNWxMblJ5WVhabGNuTmxLQ2h2WW1wbFkzUXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMWhkR1Z5YVdGc0lEMGdLRzlpYW1WamRDQmhjeUJoYm5rcExtMWhkR1Z5YVdGc0lHRnpJRlJJVWtWRkxrMWhkR1Z5YVdGc0lId2dkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzFoZEdWeWFXRnNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2RzZEdaTllYUmxjbWxoYkhNdWNIVnphQ2h0WVhSbGNtbGhiQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0J6WTJobGJXRkZlSEJ5WlhOemFXOXVMbTFoZEdWeWFXRnNRMjlzYjNKQ2FXNWtjejh1Wm05eVJXRmphQ2hoYzNsdVl5QW9ZbWx1WkNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYldGMFpYSnBZV3h6SUQwZ1oyeDBaazFoZEdWeWFXRnNjeTVtYVd4MFpYSW9LRzFoZEdWeWFXRnNLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNTVzVrWlhnZ1BTQm5iSFJtUjJWMFFYTnpiMk5wWVhSbFpFMWhkR1Z5YVdGc1NXNWtaWGdvZEdocGN5NXdZWEp6WlhJc0lHMWhkR1Z5YVdGc0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdKcGJtUXViV0YwWlhKcFlXd2dQVDA5SUcxaGRHVnlhV0ZzU1c1a1pYZzdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUtUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2JXRjBaWEpwWVd4ekxtWnZja1ZoWTJnb0tHMWhkR1Z5YVdGc0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1Y0Y0hKbGMzTnBiMjR1WVdSa1FtbHVaQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1WlhjZ1ZsSk5SWGh3Y21WemMybHZiazFoZEdWeWFXRnNRMjlzYjNKQ2FXNWtLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGRHVnlhV0ZzTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVG9nWW1sdVpDNTBlWEJsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHRnlaMlYwVm1Gc2RXVTZJRzVsZHlCVVNGSkZSUzVEYjJ4dmNpZ3BMbVp5YjIxQmNuSmhlU2hpYVc1a0xuUmhjbWRsZEZaaGJIVmxLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2MyTm9aVzFoUlhod2NtVnpjMmx2Ymk1MFpYaDBkWEpsVkhKaGJuTm1iM0p0UW1sdVpITS9MbVp2Y2tWaFkyZ29ZWE41Ym1NZ0tHSnBibVFwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNjeUE5SUdkc2RHWk5ZWFJsY21saGJITXVabWxzZEdWeUtDaHRZWFJsY21saGJDa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRZWFJsY21saGJFbHVaR1Y0SUQwZ1oyeDBaa2RsZEVGemMyOWphV0YwWldSTllYUmxjbWxoYkVsdVpHVjRLSFJvYVhNdWNHRnljMlZ5TENCdFlYUmxjbWxoYkNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJpYVc1a0xtMWhkR1Z5YVdGc0lEMDlQU0J0WVhSbGNtbGhiRWx1WkdWNE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUcxaGRHVnlhV0ZzY3k1bWIzSkZZV05vS0NodFlYUmxjbWxoYkNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmxlSEJ5WlhOemFXOXVMbUZrWkVKcGJtUW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibVYzSUZaU1RVVjRjSEpsYzNOcGIyNVVaWGgwZFhKbFZISmhibk5tYjNKdFFtbHVaQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdFlYUmxjbWxoYkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOW1abk5sZERvZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pJb0tTNW1jbTl0UVhKeVlYa29ZbWx1WkM1dlptWnpaWFFnUHo4Z1d6QXVNQ3dnTUM0d1hTa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6WTJGc1pUb2dibVYzSUZSSVVrVkZMbFpsWTNSdmNqSW9LUzVtY205dFFYSnlZWGtvWW1sdVpDNXpZMkZzWlNBL1B5QmJNUzR3TENBeExqQmRLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2JXRnVZV2RsY2k1eVpXZHBjM1JsY2tWNGNISmxjM05wYjI0b1pYaHdjbVZ6YzJsdmJpazdYRzRnSUNBZ0lDQjlLU3hjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHMWhibUZuWlhJN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHRnplVzVqSUY5Mk1FbHRjRzl5ZENobmJIUm1PaUJIVEZSR0tUb2dVSEp2YldselpUeFdVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjaUI4SUc1MWJHdytJSHRjYmlBZ0lDQmpiMjV6ZENCcWMyOXVJRDBnZEdocGN5NXdZWEp6WlhJdWFuTnZiaUJoY3lCSFRGUkdVMk5vWlcxaExrbEhURlJHTzF4dVhHNGdJQ0FnTHk4Z1pXRnliSGtnWVdKdmNuUWdhV1lnYVhRZ1pHOWxjMjRuZENCMWMyVWdkbkp0WEc0Z0lDQWdZMjl1YzNRZ2RuSnRSWGgwSUQwZ2FuTnZiaTVsZUhSbGJuTnBiMjV6UHk1V1VrMGdZWE1nVmpCV1VrMHVWbEpOSUh3Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUdsbUlDZ2hkbkp0UlhoMEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCelkyaGxiV0ZDYkdWdVpGTm9ZWEJsSUQwZ2RuSnRSWGgwTG1Kc1pXNWtVMmhoY0dWTllYTjBaWEk3WEc0Z0lDQWdhV1lnS0NGelkyaGxiV0ZDYkdWdVpGTm9ZWEJsS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J0WVc1aFoyVnlJRDBnYm1WM0lGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlLQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQnpZMmhsYldGQ2JHVnVaRk5vWVhCbFIzSnZkWEJ6SUQwZ2MyTm9aVzFoUW14bGJtUlRhR0Z3WlM1aWJHVnVaRk5vWVhCbFIzSnZkWEJ6TzF4dUlDQWdJR2xtSUNnaGMyTm9aVzFoUW14bGJtUlRhR0Z3WlVkeWIzVndjeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzFoYm1GblpYSTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnWW14bGJtUlRhR0Z3WlU1aGJXVlRaWFFnUFNCdVpYY2dVMlYwUEhOMGNtbHVaejRvS1R0Y2JseHVJQ0FnSUdGM1lXbDBJRkJ5YjIxcGMyVXVZV3hzS0Z4dUlDQWdJQ0FnYzJOb1pXMWhRbXhsYm1SVGFHRndaVWR5YjNWd2N5NXRZWEFvWVhONWJtTWdLSE5qYUdWdFlVZHliM1Z3S1NBOVBpQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElIWXdVSEpsYzJWMFRtRnRaU0E5SUhOamFHVnRZVWR5YjNWd0xuQnlaWE5sZEU1aGJXVTdYRzRnSUNBZ0lDQWdJR052Ym5OMElIWXhVSEpsYzJWMFRtRnRaU0E5WEc0Z0lDQWdJQ0FnSUNBZ0tIWXdVSEpsYzJWMFRtRnRaU0FoUFNCdWRXeHNJQ1ltSUZaU1RVVjRjSEpsYzNOcGIyNU1iMkZrWlhKUWJIVm5hVzR1ZGpCMk1WQnlaWE5sZEU1aGJXVk5ZWEJiZGpCUWNtVnpaWFJPWVcxbFhTa2dmSHdnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JtRnRaU0E5SUhZeFVISmxjMlYwVG1GdFpTQS9QeUJ6WTJobGJXRkhjbTkxY0M1dVlXMWxPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHVZVzFsSUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvSjFaU1RVVjRjSEpsYzNOcGIyNU1iMkZrWlhKUWJIVm5hVzQ2SUU5dVpTQnZaaUJqZFhOMGIyMGdaWGh3Y21WemMybHZibk1nYUdGeklHNXZJRzVoYldVdUlFbG5ibTl5YVc1bklIUm9aU0JsZUhCeVpYTnphVzl1SnlrN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnTHk4Z1pIVndiR2xqWVhScGIyNGdZMmhsWTJ0Y2JpQWdJQ0FnSUNBZ2FXWWdLR0pzWlc1a1UyaGhjR1ZPWVcxbFUyVjBMbWhoY3lodVlXMWxLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk52YkdVdWQyRnliaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lHQldVazFGZUhCeVpYTnphVzl1VEc5aFpHVnlVR3gxWjJsdU9pQkJiaUJsZUhCeVpYTnphVzl1SUhCeVpYTmxkQ0FrZTNZd1VISmxjMlYwVG1GdFpYMGdhR0Z6SUdSMWNHeHBZMkYwWldRZ1pXNTBjbWxsY3k0Z1NXZHViM0pwYm1jZ2RHaGxJR1Y0Y0hKbGMzTnBiMjVnTEZ4dUlDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1lteGxibVJUYUdGd1pVNWhiV1ZUWlhRdVlXUmtLRzVoYldVcE8xeHVYRzRnSUNBZ0lDQWdJR052Ym5OMElHVjRjSEpsYzNOcGIyNGdQU0J1WlhjZ1ZsSk5SWGh3Y21WemMybHZiaWh1WVcxbEtUdGNiaUFnSUNBZ0lDQWdaMngwWmk1elkyVnVaUzVoWkdRb1pYaHdjbVZ6YzJsdmJpazdYRzVjYmlBZ0lDQWdJQ0FnWlhod2NtVnpjMmx2Ymk1cGMwSnBibUZ5ZVNBOUlITmphR1Z0WVVkeWIzVndMbWx6UW1sdVlYSjVJRDgvSUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0F2THlCMk1DQmtiMlZ6YmlkMElHaGhkbVVnYVdkdWIzSmxJSEJ5YjNCbGNuUnBaWE5jYmx4dUlDQWdJQ0FnSUNBdkx5QkNhVzVrSUcxdmNuQm9WR0Z5WjJWMFhHNGdJQ0FnSUNBZ0lHbG1JQ2h6WTJobGJXRkhjbTkxY0M1aWFXNWtjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lITmphR1Z0WVVkeWIzVndMbUpwYm1SekxtWnZja1ZoWTJnb1lYTjVibU1nS0dKcGJtUXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoaWFXNWtMbTFsYzJnZ1BUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkNCaWFXNWtMbWx1WkdWNElEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J1YjJSbGMxVnphVzVuVFdWemFEb2diblZ0WW1WeVcxMGdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3B6YjI0dWJtOWtaWE0vTG1admNrVmhZMmdvS0c1dlpHVXNJR2twSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzV2WkdVdWJXVnphQ0E5UFQwZ1ltbHVaQzV0WlhOb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibTlrWlhOVmMybHVaMDFsYzJndWNIVnphQ2hwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMXZjbkJvVkdGeVoyVjBTVzVrWlhnZ1BTQmlhVzVrTG1sdVpHVjRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2JtOWtaWE5WYzJsdVowMWxjMmd1YldGd0tHRnplVzVqSUNodWIyUmxTVzVrWlhncElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQndjbWx0YVhScGRtVnpJRDBnS0dGM1lXbDBJR2RzZEdaRmVIUnlZV04wVUhKcGJXbDBhWFpsYzBaeWIyMU9iMlJsS0dkc2RHWXNJRzV2WkdWSmJtUmxlQ2twSVR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJR05vWldOcklHbG1JSFJvWlNCdFpYTm9JR2hoY3lCMGFHVWdkR0Z5WjJWMElHMXZjbkJvSUhSaGNtZGxkRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDRndjbWx0YVhScGRtVnpMbVYyWlhKNUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FvY0hKcGJXbDBhWFpsS1NBOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUVGeWNtRjVMbWx6UVhKeVlYa29jSEpwYldsMGFYWmxMbTF2Y25Cb1ZHRnlaMlYwU1c1bWJIVmxibU5sY3lrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdGIzSndhRlJoY21kbGRFbHVaR1Y0SUR3Z2NISnBiV2wwYVhabExtMXZjbkJvVkdGeVoyVjBTVzVtYkhWbGJtTmxjeTVzWlc1bmRHZ3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHQldVazFGZUhCeVpYTnphVzl1VEc5aFpHVnlVR3gxWjJsdU9pQWtlM05qYUdWdFlVZHliM1Z3TG01aGJXVjlJR0YwZEdWdGNIUnpJSFJ2SUdsdVpHVjRJQ1I3Ylc5eWNHaFVZWEpuWlhSSmJtUmxlSDEwYUNCdGIzSndhQ0JpZFhRZ2JtOTBJR1p2ZFc1a0xtQXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVjRjSEpsYzNOcGIyNHVZV1JrUW1sdVpDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzVsZHlCV1VrMUZlSEJ5WlhOemFXOXVUVzl5Y0doVVlYSm5aWFJDYVc1a0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0hKcGJXbDBhWFpsY3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhVzVrWlhnNklHMXZjbkJvVkdGeVoyVjBTVzVrWlhnc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGRsYVdkb2REb2dNQzR3TVNBcUlDaGlhVzVrTG5kbGFXZG9kQ0EvUHlBeE1EQXBMQ0F2THlCdVlYSnliM2RwYm1jZ2RHaGxJSEpoYm1kbElHWnliMjBnV3lBd0xqQWdMU0F4TURBdU1DQmRJSFJ2SUZzZ01DNHdJQzBnTVM0d0lGMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgwcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDOHZJRUpwYm1RZ1RXRjBaWEpwWVd4RGIyeHZjaUJoYm1RZ1ZHVjRkSFZ5WlZSeVlXNXpabTl5YlZ4dUlDQWdJQ0FnSUNCamIyNXpkQ0J0WVhSbGNtbGhiRlpoYkhWbGN5QTlJSE5qYUdWdFlVZHliM1Z3TG0xaGRHVnlhV0ZzVm1Gc2RXVnpPMXh1SUNBZ0lDQWdJQ0JwWmlBb2JXRjBaWEpwWVd4V1lXeDFaWE1nSmlZZ2JXRjBaWEpwWVd4V1lXeDFaWE11YkdWdVozUm9JQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYldGMFpYSnBZV3hXWVd4MVpYTXVabTl5UldGamFDZ29iV0YwWlhKcFlXeFdZV3gxWlNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnRZWFJsY21saGJGWmhiSFZsTG0xaGRHVnlhV0ZzVG1GdFpTQTlQVDBnZFc1a1pXWnBibVZrSUh4OFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGRHVnlhV0ZzVm1Gc2RXVXVjSEp2Y0dWeWRIbE9ZVzFsSUQwOVBTQjFibVJsWm1sdVpXUWdmSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdiV0YwWlhKcFlXeFdZV3gxWlM1MFlYSm5aWFJXWVd4MVpTQTlQVDBnZFc1a1pXWnBibVZrWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2S2lwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FxSU9PQ291T0RrT09DditPRHZPT0JydU9DcXVPRGx1T0N1T09DcCtPQ3IrT0RpT09CcStpb3JlV3VtdU9CbGVPQ2pPT0JwdU9CaE9PQ2krT0RudU9EaHVPRHF1T0NvdU9EcStPQnJ1V0doZU9CaStPQ2lWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNvZ2JXRjBaWEpwWVd4V1lXeDFaZU9CcCthTWgrV3VtdU9CbGVPQ2pPT0JwdU9CaE9PQ2krT0RudU9EaHVPRHF1T0NvdU9EcStPQ2t1bWJodU9DZ2VPQ2krT0FnbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBcUlPZUp1ZVd1bXVPQnErT0JyK1dRamVXSmplT0NrdVM5ditlVXFPT0JtZU9DaStPQWdseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNvZzQ0S2k0NEttNDRPSTQ0T3A0NEtrNDRPejVvK1A1NVM3NTVTbzQ0R3U0NE9lNDRPRzQ0T3E0NEtpNDRPcjQ0S0M1WkNNNXBtQzQ0R3I2WnVHNDRLQjQ0S0w0NENDWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdLaTljYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUcxaGRHVnlhV0ZzY3pvZ1ZFaFNSVVV1VFdGMFpYSnBZV3hiWFNBOUlGdGRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1oyeDBaaTV6WTJWdVpTNTBjbUYyWlhKelpTZ29iMkpxWldOMEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnb2IySnFaV04wSUdGeklHRnVlU2t1YldGMFpYSnBZV3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0WVhSbGNtbGhiRG9nVkVoU1JVVXVUV0YwWlhKcFlXeGJYU0I4SUZSSVVrVkZMazFoZEdWeWFXRnNJRDBnS0c5aWFtVmpkQ0JoY3lCaGJua3BMbTFoZEdWeWFXRnNPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLRzFoZEdWeWFXRnNLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JXRjBaWEpwWVd4ekxuQjFjMmdvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNHVMbTFoZEdWeWFXRnNMbVpwYkhSbGNpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2JYUnNLU0E5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS0cxMGJDNXVZVzFsSUQwOVBTQnRZWFJsY21saGJGWmhiSFZsTG0xaGRHVnlhV0ZzVG1GdFpTRWdmSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYlhSc0xtNWhiV1VnUFQwOUlHMWhkR1Z5YVdGc1ZtRnNkV1V1YldGMFpYSnBZV3hPWVcxbElTQXJJQ2NnS0U5MWRHeHBibVVwSnlrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhkR1Z5YVdGc2N5NXBibVJsZUU5bUtHMTBiQ2tnUFQwOUlDMHhMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0cxaGRHVnlhV0ZzTG01aGJXVWdQVDA5SUcxaGRHVnlhV0ZzVm1Gc2RXVXViV0YwWlhKcFlXeE9ZVzFsSUNZbUlHMWhkR1Z5YVdGc2N5NXBibVJsZUU5bUtHMWhkR1Z5YVdGc0tTQTlQVDBnTFRFcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzFoZEdWeWFXRnNjeTV3ZFhOb0tHMWhkR1Z5YVdGc0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0WVhSbGNtbGhiRkJ5YjNCbGNuUjVUbUZ0WlNBOUlHMWhkR1Z5YVdGc1ZtRnNkV1V1Y0hKdmNHVnlkSGxPWVcxbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYldGMFpYSnBZV3h6TG1admNrVmhZMmdvS0cxaGRHVnlhV0ZzS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJsZUhSMWNtVlVjbUZ1YzJadmNtMUNhVzVrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodFlYUmxjbWxoYkZCeWIzQmxjblI1VG1GdFpTQTlQVDBnSjE5TllXbHVWR1Y0WDFOVUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITmpZV3hsSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pJb2JXRjBaWEpwWVd4V1lXeDFaUzUwWVhKblpYUldZV3gxWlNGYk1GMHNJRzFoZEdWeWFXRnNWbUZzZFdVdWRHRnlaMlYwVm1Gc2RXVWhXekZkS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J2Wm1aelpYUWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNaWh0WVhSbGNtbGhiRlpoYkhWbExuUmhjbWRsZEZaaGJIVmxJVnN5WFN3Z2JXRjBaWEpwWVd4V1lXeDFaUzUwWVhKblpYUldZV3gxWlNGYk0xMHBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjJabWMyVjBMbmtnUFNBeExqQWdMU0J2Wm1aelpYUXVlU0F0SUhOallXeGxMbms3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGVIQnlaWE56YVc5dUxtRmtaRUpwYm1Rb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnVaWGNnVmxKTlJYaHdjbVZ6YzJsdmJsUmxlSFIxY21WVWNtRnVjMlp2Y20xQ2FXNWtLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JXRjBaWEpwWVd3c1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5qWVd4bExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2Wm1aelpYUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdUV0YwWlhKcFlXeERiMnh2Y2tKcGJtUmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYldGMFpYSnBZV3hEYjJ4dmNsUjVjR1VnUFNCMk1FVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5VFdGd1cyMWhkR1Z5YVdGc1VISnZjR1Z5ZEhsT1lXMWxYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0cxaGRHVnlhV0ZzUTI5c2IzSlVlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pYaHdjbVZ6YzJsdmJpNWhaR1JDYVc1a0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibVYzSUZaU1RVVjRjSEpsYzNOcGIyNU5ZWFJsY21saGJFTnZiRzl5UW1sdVpDaDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGRHVnlhV0ZzTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBlWEJsT2lCdFlYUmxjbWxoYkVOdmJHOXlWSGx3WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR0Z5WjJWMFZtRnNkV1U2SUc1bGR5QlVTRkpGUlM1RGIyeHZjaWd1TGk1dFlYUmxjbWxoYkZaaGJIVmxMblJoY21kbGRGWmhiSFZsSVM1emJHbGpaU2d3TENBektTa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLRzFoZEdWeWFXRnNVSEp2Y0dWeWRIbE9ZVzFsSUNzZ0p5QnBjeUJ1YjNRZ2MzVndjRzl5ZEdWa0p5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJRzFoYm1GblpYSXVjbVZuYVhOMFpYSkZlSEJ5WlhOemFXOXVLR1Y0Y0hKbGMzTnBiMjRwTzF4dUlDQWdJQ0FnZlNrc1hHNGdJQ0FnS1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ0WVc1aFoyVnlPMXh1SUNCOVhHNTlYRzRpTENJdktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtRnRhVzVuTFdOdmJuWmxiblJwYjI0Z0tpOWNibHh1Wlhod2IzSjBJR052Ym5OMElGWlNUVVY0Y0hKbGMzTnBiMjVQZG1WeWNtbGtaVlI1Y0dVZ1BTQjdYRzRnSUU1dmJtVTZJQ2R1YjI1bEp5eGNiaUFnUW14dlkyczZJQ2RpYkc5amF5Y3NYRzRnSUVKc1pXNWtPaUFuWW14bGJtUW5MRnh1ZlNCaGN5QmpiMjV6ZER0Y2JseHVaWGh3YjNKMElIUjVjR1VnVmxKTlJYaHdjbVZ6YzJsdmJrOTJaWEp5YVdSbFZIbHdaU0E5SUhSNWNHVnZaaUJXVWsxRmVIQnlaWE56YVc5dVQzWmxjbkpwWkdWVWVYQmxXMnRsZVc5bUlIUjVjR1Z2WmlCV1VrMUZlSEJ5WlhOemFXOXVUM1psY25KcFpHVlVlWEJsWFR0Y2JpSXNJbWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5SbWx5YzNSUVpYSnpiMjVOWlhOb1FXNXViM1JoZEdsdmJpQjlJR1p5YjIwZ0p5NHZWbEpOUm1seWMzUlFaWEp6YjI1TlpYTm9RVzV1YjNSaGRHbHZiaWM3WEc1cGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVWgxYldGdWIybGtJSDBnWm5KdmJTQW5MaTR2YUhWdFlXNXZhV1FuTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVmxKTlJtbHljM1JRWlhKemIyNGdlMXh1SUNBdktpcGNiaUFnSUNvZ1FTQmtaV1poZFd4MElHTmhiV1Z5WVNCc1lYbGxjaUJtYjNJZ1lFWnBjbk4wVUdWeWMyOXVUMjVzZVdBZ2JHRjVaWEl1WEc0Z0lDQXFYRzRnSUNBcUlFQnpaV1VnVzF0blpYUkdhWEp6ZEZCbGNuTnZiazl1YkhsTVlYbGxjbDFkWEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nYzNSaGRHbGpJSEpsWVdSdmJteDVJRVJGUmtGVlRGUmZSa2xTVTFSUVJWSlRUMDVmVDA1TVdWOU1RVmxGVWlBOUlEazdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRWdaR1ZtWVhWc2RDQmpZVzFsY21FZ2JHRjVaWElnWm05eUlHQlVhR2x5WkZCbGNuTnZiazl1YkhsZ0lHeGhlV1Z5TGx4dUlDQWdLbHh1SUNBZ0tpQkFjMlZsSUZ0YloyVjBWR2hwY21SUVpYSnpiMjVQYm14NVRHRjVaWEpkWFZ4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhOMFlYUnBZeUJ5WldGa2IyNXNlU0JFUlVaQlZVeFVYMVJJU1ZKRVVFVlNVMDlPWDA5T1RGbGZURUZaUlZJZ1BTQXhNRHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTWFJ6SUdGemMyOWphV0YwWldRZ2UwQnNhVzVySUZaU1RVaDFiV0Z1YjJsa2ZTNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQm9kVzFoYm05cFpEb2dWbEpOU0hWdFlXNXZhV1E3WEc0Z0lIQjFZbXhwWXlCdFpYTm9RVzV1YjNSaGRHbHZibk02SUZaU1RVWnBjbk4wVUdWeWMyOXVUV1Z6YUVGdWJtOTBZWFJwYjI1YlhUdGNibHh1SUNCd2NtbDJZWFJsSUY5bWFYSnpkRkJsY25OdmJrOXViSGxNWVhsbGNpQTlJRlpTVFVacGNuTjBVR1Z5YzI5dUxrUkZSa0ZWVEZSZlJrbFNVMVJRUlZKVFQwNWZUMDVNV1Y5TVFWbEZVanRjYmlBZ2NISnBkbUYwWlNCZmRHaHBjbVJRWlhKemIyNVBibXg1VEdGNVpYSWdQU0JXVWsxR2FYSnpkRkJsY25OdmJpNUVSVVpCVlV4VVgxUklTVkpFVUVWU1UwOU9YMDlPVEZsZlRFRlpSVkk3WEc1Y2JpQWdjSEpwZG1GMFpTQmZhVzVwZEdsaGJHbDZaV1JNWVhsbGNuTWdQU0JtWVd4elpUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdFZ2JtVjNJRlpTVFVacGNuTjBVR1Z5YzI5dUlHOWlhbVZqZEM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElHaDFiV0Z1YjJsa0lFRWdlMEJzYVc1cklGWlNUVWgxYldGdWIybGtmVnh1SUNBZ0tpQkFjR0Z5WVcwZ2JXVnphRUZ1Ym05MFlYUnBiMjV6SUVFZ2NtVnVaR1Z5WlhJZ2MyVjBkR2x1WjNNdUlGTmxaU0IwYUdVZ1pHVnpZM0pwY0hScGIyNGdiMllnVzF0U1pXNWtaWEpsY2tacGNuTjBVR1Z5YzI5dVJteGhaM05kWFNCbWIzSWdiVzl5WlNCcGJtWnZYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvYUhWdFlXNXZhV1E2SUZaU1RVaDFiV0Z1YjJsa0xDQnRaWE5vUVc1dWIzUmhkR2x2Ym5NNklGWlNUVVpwY25OMFVHVnljMjl1VFdWemFFRnVibTkwWVhScGIyNWJYU2tnZTF4dUlDQWdJSFJvYVhNdWFIVnRZVzV2YVdRZ1BTQm9kVzFoYm05cFpEdGNiaUFnSUNCMGFHbHpMbTFsYzJoQmJtNXZkR0YwYVc5dWN5QTlJRzFsYzJoQmJtNXZkR0YwYVc5dWN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYjNCNUlIUm9aU0JuYVhabGJpQjdRR3hwYm1zZ1ZsSk5SbWx5YzNSUVpYSnpiMjU5SUdsdWRHOGdkR2hwY3lCdmJtVXVYRzRnSUNBcUlIdEFiR2x1YXlCb2RXMWhibTlwWkgwZ2JYVnpkQ0JpWlNCellXMWxJR0Z6SUhSb1pTQnpiM1Z5WTJVZ2IyNWxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2MyOTFjbU5sSUZSb1pTQjdRR3hwYm1zZ1ZsSk5SbWx5YzNSUVpYSnpiMjU5SUhsdmRTQjNZVzUwSUhSdklHTnZjSGxjYmlBZ0lDb2dRSEpsZEhWeWJuTWdkR2hwYzF4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdOdmNIa29jMjkxY21ObE9pQldVazFHYVhKemRGQmxjbk52YmlrNklIUm9hWE1nZTF4dUlDQWdJR2xtSUNoMGFHbHpMbWgxYldGdWIybGtJQ0U5UFNCemIzVnlZMlV1YUhWdFlXNXZhV1FwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVmxKTlJtbHljM1JRWlhKemIyNDZJR2gxYldGdWIybGtJRzExYzNRZ1ltVWdjMkZ0WlNCcGJpQnZjbVJsY2lCMGJ5QmpiM0I1SnlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXRaWE5vUVc1dWIzUmhkR2x2Ym5NZ1BTQnpiM1Z5WTJVdWJXVnphRUZ1Ym05MFlYUnBiMjV6TG0xaGNDZ29ZVzV1YjNSaGRHbHZiaWtnUFQ0Z0tIdGNiaUFnSUNBZ0lHMWxjMmhsY3pvZ1lXNXViM1JoZEdsdmJpNXRaWE5vWlhNdVkyOXVZMkYwS0Nrc1hHNGdJQ0FnSUNCMGVYQmxPaUJoYm01dmRHRjBhVzl1TG5SNWNHVXNYRzRnSUNBZ2ZTa3BPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCaElHTnNiMjVsSUc5bUlIUm9hWE1nZTBCc2FXNXJJRlpTVFVacGNuTjBVR1Z5YzI5dWZTNWNiaUFnSUNvZ1FISmxkSFZ5Ym5NZ1EyOXdhV1ZrSUh0QWJHbHVheUJXVWsxR2FYSnpkRkJsY25OdmJuMWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QmpiRzl1WlNncE9pQldVazFHYVhKemRGQmxjbk52YmlCN1hHNGdJQ0FnY21WMGRYSnVJRzVsZHlCV1VrMUdhWEp6ZEZCbGNuTnZiaWgwYUdsekxtaDFiV0Z1YjJsa0xDQjBhR2x6TG0xbGMyaEJibTV2ZEdGMGFXOXVjeWt1WTI5d2VTaDBhR2x6S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJJR05oYldWeVlTQnNZWGxsY2lCeVpYQnlaWE5sYm5SeklHQkdhWEp6ZEZCbGNuTnZiazl1YkhsZ0lHeGhlV1Z5TGx4dUlDQWdLaUJPYjNSbElIUm9ZWFFnS2lwNWIzVWdiWFZ6ZENCallXeHNJSHRBYkdsdWF5QnpaWFIxY0gwZ1ptbHljM1FnWW1WbWIzSmxJSGx2ZFNCMWMyVWdkR2hsSUd4aGVXVnlJR1psWVhSMWNtVXFLaUJ2Y2lCcGRDQmtiMlZ6SUc1dmRDQjNiM0pySUhCeWIzQmxjbXg1TGx4dUlDQWdLbHh1SUNBZ0tpQlVhR1VnZG1Gc2RXVWdhWE1nZTBCc2FXNXJJRVJGUmtGVlRGUmZSa2xTVTFSUVJWSlRUMDVmVDA1TVdWOU1RVmxGVW4wZ1lua2daR1ZtWVhWc2RDQmlkWFFnZVc5MUlHTmhiaUJqYUdGdVoyVWdkR2hsSUd4aGVXVnlJR0o1SUhOd1pXTnBabmxwYm1jZ2RtbGhJSHRBYkdsdWF5QnpaWFIxY0gwZ2FXWWdlVzkxSUhCeVpXWmxjaTVjYmlBZ0lDcGNiaUFnSUNvZ1FITmxaU0JvZEhSd2N6b3ZMM1p5YlM1a1pYWXZaVzR2ZFc1cGRuSnRMMkZ3YVM5MWJtbDJjbTFmZFhObFgyWnBjbk4wY0dWeWMyOXVMMXh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2ZEdoeVpXVnFjeTV2Y21jdlpHOWpjeThqWVhCcEwyVnVMMk52Y21VdlRHRjVaWEp6WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWjJWMElHWnBjbk4wVUdWeWMyOXVUMjVzZVV4aGVXVnlLQ2s2SUc1MWJXSmxjaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJacGNuTjBVR1Z5YzI5dVQyNXNlVXhoZVdWeU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUVnWTJGdFpYSmhJR3hoZVdWeUlISmxjSEpsYzJWdWRITWdZRlJvYVhKa1VHVnljMjl1VDI1c2VXQWdiR0Y1WlhJdVhHNGdJQ0FxSUU1dmRHVWdkR2hoZENBcUtubHZkU0J0ZFhOMElHTmhiR3dnZTBCc2FXNXJJSE5sZEhWd2ZTQm1hWEp6ZENCaVpXWnZjbVVnZVc5MUlIVnpaU0IwYUdVZ2JHRjVaWElnWm1WaGRIVnlaU29xSUc5eUlHbDBJR1J2WlhNZ2JtOTBJSGR2Y21zZ2NISnZjR1Z5YkhrdVhHNGdJQ0FxWEc0Z0lDQXFJRlJvWlNCMllXeDFaU0JwY3lCN1FHeHBibXNnUkVWR1FWVk1WRjlVU0VsU1JGQkZVbE5QVGw5UFRreFpYMHhCV1VWU2ZTQmllU0JrWldaaGRXeDBJR0oxZENCNWIzVWdZMkZ1SUdOb1lXNW5aU0IwYUdVZ2JHRjVaWElnWW5rZ2MzQmxZMmxtZVdsdVp5QjJhV0VnZTBCc2FXNXJJSE5sZEhWd2ZTQnBaaUI1YjNVZ2NISmxabVZ5TGx4dUlDQWdLbHh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2ZG5KdExtUmxkaTlsYmk5MWJtbDJjbTB2WVhCcEwzVnVhWFp5YlY5MWMyVmZabWx5YzNSd1pYSnpiMjR2WEc0Z0lDQXFJRUJ6WldVZ2FIUjBjSE02THk5MGFISmxaV3B6TG05eVp5OWtiMk56THlOaGNHa3ZaVzR2WTI5eVpTOU1ZWGxsY25OY2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdkR2hwY21SUVpYSnpiMjVQYm14NVRHRjVaWElvS1RvZ2JuVnRZbVZ5SUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmRHaHBjbVJRWlhKemIyNVBibXg1VEdGNVpYSTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nU1c0Z2RHaHBjeUJ0WlhSb2IyUXNJR2wwSUdGemMybG5ibk1nYkdGNVpYSnpJR1p2Y2lCbGRtVnllU0J0WlhOb1pYTWdZbUZ6WldRZ2IyNGdiV1Z6YUNCaGJtNXZkR0YwYVc5dWN5NWNiaUFnSUNvZ1dXOTFJRzExYzNRZ1kyRnNiQ0IwYUdseklHMWxkR2h2WkNCbWFYSnpkQ0JpWldadmNtVWdlVzkxSUhWelpTQjBhR1VnYkdGNVpYSWdabVZoZEhWeVpTNWNiaUFnSUNwY2JpQWdJQ29nVkdocGN5QnBjeUJoYmlCbGNYVnBkbUZzWlc1MElHOW1JRnRXVWsxR2FYSnpkRkJsY25OdmJpNVRaWFIxY0Ywb2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzWnliUzFqTDFWdWFWWlNUUzlpYkc5aUx6Y3pZVFZpWkRobVkyUmtZV0V5WVRkaE9EY3pOVEE1T1dFNU4yVTJNMk01WkdJelpUVmxZVEF2UVhOelpYUnpMMVpTVFM5U2RXNTBhVzFsTDBacGNuTjBVR1Z5YzI5dUwxWlNUVVpwY25OMFVHVnljMjl1TG1Oekkwd3lPVFV0VERJNU9Ta2diMllnZEdobElGVnVhVlpTVFM1Y2JpQWdJQ3BjYmlBZ0lDb2dWR2hsSUdCallXMWxjbUZNWVhsbGNtQWdjR0Z5WVcxbGRHVnlJSE53WldOcFptbGxjeUIzYUdsamFDQnNZWGxsY2lCM2FXeHNJR0psSUdGemMybG5ibVZrSUdadmNpQmdSbWx5YzNSUVpYSnpiMjVQYm14NVlDQXZJR0JVYUdseVpGQmxjbk52Yms5dWJIbGdMbHh1SUNBZ0tpQkpiaUJWYm1sV1VrMHNJSGRsSUhOd1pXTnBabWxsWkNCMGFHOXpaU0JpZVNCdVlXMXBibWNnWldGamFDQmtaWE5wY21Wa0lHeGhlV1Z5SUdGeklHQkdTVkpUVkZCRlVsTlBUbDlQVGt4WlgweEJXVVZTWUNBdklHQlVTRWxTUkZCRlVsTlBUbDlQVGt4WlgweEJXVVZTWUZ4dUlDQWdLaUJpZFhRZ2QyVWdZWEpsSUdkdmFXNW5JSFJ2SUhOd1pXTnBabmtnZEdobGMyVWdiR0Y1WlhKeklHRjBJR2hsY21VZ2MybHVZMlVnZDJVZ1lYSmxJSFZ1WVdKc1pTQjBieUJ1WVcxbElHeGhlV1Z5Y3lCcGJpQlVhSEpsWlM1cWN5NWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJR05oYldWeVlVeGhlV1Z5SUZOd1pXTnBabmtnZDJocFkyZ2diR0Y1WlhJZ2QybHNiQ0JpWlNCbWIzSWdZRVpwY25OMFVHVnljMjl1VDI1c2VXQWdMeUJnVkdocGNtUlFaWEp6YjI1UGJteDVZQzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ6WlhSMWNDaDdYRzRnSUNBZ1ptbHljM1JRWlhKemIyNVBibXg1VEdGNVpYSWdQU0JXVWsxR2FYSnpkRkJsY25OdmJpNUVSVVpCVlV4VVgwWkpVbE5VVUVWU1UwOU9YMDlPVEZsZlRFRlpSVklzWEc0Z0lDQWdkR2hwY21SUVpYSnpiMjVQYm14NVRHRjVaWElnUFNCV1VrMUdhWEp6ZEZCbGNuTnZiaTVFUlVaQlZVeFVYMVJJU1ZKRVVFVlNVMDlPWDA5T1RGbGZURUZaUlZJc1hHNGdJSDBnUFNCN2ZTazZJSFp2YVdRZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TGw5cGJtbDBhV0ZzYVhwbFpFeGhlV1Z5Y3lrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TGw5bWFYSnpkRkJsY25OdmJrOXViSGxNWVhsbGNpQTlJR1pwY25OMFVHVnljMjl1VDI1c2VVeGhlV1Z5TzF4dUlDQWdJSFJvYVhNdVgzUm9hWEprVUdWeWMyOXVUMjVzZVV4aGVXVnlJRDBnZEdocGNtUlFaWEp6YjI1UGJteDVUR0Y1WlhJN1hHNWNiaUFnSUNCMGFHbHpMbTFsYzJoQmJtNXZkR0YwYVc5dWN5NW1iM0pGWVdOb0tDaHBkR1Z0S1NBOVBpQjdYRzRnSUNBZ0lDQnBkR1Z0TG0xbGMyaGxjeTVtYjNKRllXTm9LQ2h0WlhOb0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBkR1Z0TG5SNWNHVWdQVDA5SUNkbWFYSnpkRkJsY25OdmJrOXViSGtuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiV1Z6YUM1c1lYbGxjbk11YzJWMEtIUm9hWE11WDJacGNuTjBVR1Z5YzI5dVQyNXNlVXhoZVdWeUtUdGNiaUFnSUNBZ0lDQWdJQ0J0WlhOb0xuUnlZWFpsY25ObEtDaGphR2xzWkNrZ1BUNGdZMmhwYkdRdWJHRjVaWEp6TG5ObGRDaDBhR2x6TGw5bWFYSnpkRkJsY25OdmJrOXViSGxNWVhsbGNpa3BPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dsMFpXMHVkSGx3WlNBOVBUMGdKM1JvYVhKa1VHVnljMjl1VDI1c2VTY3BJSHRjYmlBZ0lDQWdJQ0FnSUNCdFpYTm9MbXhoZVdWeWN5NXpaWFFvZEdocGN5NWZkR2hwY21SUVpYSnpiMjVQYm14NVRHRjVaWElwTzF4dUlDQWdJQ0FnSUNBZ0lHMWxjMmd1ZEhKaGRtVnljMlVvS0dOb2FXeGtLU0E5UGlCamFHbHNaQzVzWVhsbGNuTXVjMlYwS0hSb2FYTXVYM1JvYVhKa1VHVnljMjl1VDI1c2VVeGhlV1Z5S1NrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9hWFJsYlM1MGVYQmxJRDA5UFNBbllYVjBieWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TGw5amNtVmhkR1ZJWldGa2JHVnpjMDF2WkdWc0tHMWxjMmdwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lIUm9hWE11WDJsdWFYUnBZV3hwZW1Wa1RHRjVaWEp6SUQwZ2RISjFaVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWDJWNFkyeDFaR1ZVY21saGJtZHNaWE1vZEhKcFlXNW5iR1Z6T2lCdWRXMWlaWEpiWFN3Z1luZHpPaUJ1ZFcxaVpYSmJYVnRkTENCemEybHVTVzVrWlhnNklHNTFiV0psY2x0ZFcxMHNJR1Y0WTJ4MVpHVTZJRzUxYldKbGNsdGRLVG9nYm5WdFltVnlJSHRjYmlBZ0lDQnNaWFFnWTI5MWJuUWdQU0F3TzF4dUlDQWdJR2xtSUNoaWQzTWdJVDBnYm5Wc2JDQW1KaUJpZDNNdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IwY21saGJtZHNaWE11YkdWdVozUm9PeUJwSUNzOUlETXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZU0E5SUhSeWFXRnVaMnhsYzF0cFhUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1lpQTlJSFJ5YVdGdVoyeGxjMXRwSUNzZ01WMDdYRzRnSUNBZ0lDQWdJR052Ym5OMElHTWdQU0IwY21saGJtZHNaWE5iYVNBcklESmRPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmlkekFnUFNCaWQzTmJZVjA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE5yYVc0d0lEMGdjMnRwYmtsdVpHVjRXMkZkTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hpZHpCYk1GMGdQaUF3SUNZbUlHVjRZMngxWkdVdWFXNWpiSFZrWlhNb2MydHBiakJiTUYwcEtTQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lDQWdhV1lnS0dKM01Gc3hYU0ErSURBZ0ppWWdaWGhqYkhWa1pTNXBibU5zZFdSbGN5aHphMmx1TUZzeFhTa3BJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdJQ0JwWmlBb1luY3dXekpkSUQ0Z01DQW1KaUJsZUdOc2RXUmxMbWx1WTJ4MVpHVnpLSE5yYVc0d1d6SmRLU2tnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUdsbUlDaGlkekJiTTEwZ1BpQXdJQ1ltSUdWNFkyeDFaR1V1YVc1amJIVmtaWE1vYzJ0cGJqQmJNMTBwS1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCaWR6RWdQU0JpZDNOYllsMDdYRzRnSUNBZ0lDQWdJR052Ym5OMElITnJhVzR4SUQwZ2MydHBia2x1WkdWNFcySmRPMXh1SUNBZ0lDQWdJQ0JwWmlBb1luY3hXekJkSUQ0Z01DQW1KaUJsZUdOc2RXUmxMbWx1WTJ4MVpHVnpLSE5yYVc0eFd6QmRLU2tnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUdsbUlDaGlkekZiTVYwZ1BpQXdJQ1ltSUdWNFkyeDFaR1V1YVc1amJIVmtaWE1vYzJ0cGJqRmJNVjBwS1NCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR0ozTVZzeVhTQStJREFnSmlZZ1pYaGpiSFZrWlM1cGJtTnNkV1JsY3loemEybHVNVnN5WFNrcElHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWW5jeFd6TmRJRDRnTUNBbUppQmxlR05zZFdSbExtbHVZMngxWkdWektITnJhVzR4V3pOZEtTa2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZbmN5SUQwZ1luZHpXMk5kTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J6YTJsdU1pQTlJSE5yYVc1SmJtUmxlRnRqWFR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR0ozTWxzd1hTQStJREFnSmlZZ1pYaGpiSFZrWlM1cGJtTnNkV1JsY3loemEybHVNbHN3WFNrcElHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWW5jeVd6RmRJRDRnTUNBbUppQmxlR05zZFdSbExtbHVZMngxWkdWektITnJhVzR5V3pGZEtTa2dZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJR2xtSUNoaWR6SmJNbDBnUGlBd0lDWW1JR1Y0WTJ4MVpHVXVhVzVqYkhWa1pYTW9jMnRwYmpKYk1sMHBLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHSjNNbHN6WFNBK0lEQWdKaVlnWlhoamJIVmtaUzVwYm1Oc2RXUmxjeWh6YTJsdU1sc3pYU2twSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNBZ0lIUnlhV0Z1WjJ4bGMxdGpiM1Z1ZENzclhTQTlJR0U3WEc0Z0lDQWdJQ0FnSUhSeWFXRnVaMnhsYzF0amIzVnVkQ3NyWFNBOUlHSTdYRzRnSUNBZ0lDQWdJSFJ5YVdGdVoyeGxjMXRqYjNWdWRDc3JYU0E5SUdNN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmpiM1Z1ZER0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gyTnlaV0YwWlVWeVlYTmxaRTFsYzJnb2MzSmpPaUJVU0ZKRlJTNVRhMmx1Ym1Wa1RXVnphQ3dnWlhKaGMybHVaMEp2Ym1WelNXNWtaWGc2SUc1MWJXSmxjbHRkS1RvZ1ZFaFNSVVV1VTJ0cGJtNWxaRTFsYzJnZ2UxeHVJQ0FnSUdOdmJuTjBJR1J6ZENBOUlHNWxkeUJVU0ZKRlJTNVRhMmx1Ym1Wa1RXVnphQ2h6Y21NdVoyVnZiV1YwY25rdVkyeHZibVVvS1N3Z2MzSmpMbTFoZEdWeWFXRnNLVHRjYmlBZ0lDQmtjM1F1Ym1GdFpTQTlJR0FrZTNOeVl5NXVZVzFsZlNobGNtRnpaU2xnTzF4dUlDQWdJR1J6ZEM1bWNuVnpkSFZ0UTNWc2JHVmtJRDBnYzNKakxtWnlkWE4wZFcxRGRXeHNaV1E3WEc0Z0lDQWdaSE4wTG14aGVXVnljeTV6WlhRb2RHaHBjeTVmWm1seWMzUlFaWEp6YjI1UGJteDVUR0Y1WlhJcE8xeHVYRzRnSUNBZ1kyOXVjM1FnWjJWdmJXVjBjbmtnUFNCa2MzUXVaMlZ2YldWMGNuazdYRzVjYmlBZ0lDQmpiMjV6ZENCemEybHVTVzVrWlhoQmRIUnlJRDBnWjJWdmJXVjBjbmt1WjJWMFFYUjBjbWxpZFhSbEtDZHphMmx1U1c1a1pYZ25LVHRjYmlBZ0lDQmpiMjV6ZENCemEybHVTVzVrWlhoQmRIUnlRWEp5WVhrZ1BTQnphMmx1U1c1a1pYaEJkSFJ5SUdsdWMzUmhibU5sYjJZZ1ZFaFNSVVV1UjB4Q2RXWm1aWEpCZEhSeWFXSjFkR1VnUHlCYlhTQTZJSE5yYVc1SmJtUmxlRUYwZEhJdVlYSnlZWGs3WEc0Z0lDQWdZMjl1YzNRZ2MydHBia2x1WkdWNElEMGdXMTA3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0J6YTJsdVNXNWtaWGhCZEhSeVFYSnlZWGt1YkdWdVozUm9PeUJwSUNzOUlEUXBJSHRjYmlBZ0lDQWdJSE5yYVc1SmJtUmxlQzV3ZFhOb0tGdGNiaUFnSUNBZ0lDQWdjMnRwYmtsdVpHVjRRWFIwY2tGeWNtRjVXMmxkTEZ4dUlDQWdJQ0FnSUNCemEybHVTVzVrWlhoQmRIUnlRWEp5WVhsYmFTQXJJREZkTEZ4dUlDQWdJQ0FnSUNCemEybHVTVzVrWlhoQmRIUnlRWEp5WVhsYmFTQXJJREpkTEZ4dUlDQWdJQ0FnSUNCemEybHVTVzVrWlhoQmRIUnlRWEp5WVhsYmFTQXJJRE5kTEZ4dUlDQWdJQ0FnWFNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdjMnRwYmxkbGFXZG9kRUYwZEhJZ1BTQm5aVzl0WlhSeWVTNW5aWFJCZEhSeWFXSjFkR1VvSjNOcmFXNVhaV2xuYUhRbktUdGNiaUFnSUNCamIyNXpkQ0J6YTJsdVYyVnBaMmgwUVhSMGNrRnljbUY1SUQwZ2MydHBibGRsYVdkb2RFRjBkSElnYVc1emRHRnVZMlZ2WmlCVVNGSkZSUzVIVEVKMVptWmxja0YwZEhKcFluVjBaU0EvSUZ0ZElEb2djMnRwYmxkbGFXZG9kRUYwZEhJdVlYSnlZWGs3WEc0Z0lDQWdZMjl1YzNRZ2MydHBibGRsYVdkb2RDQTlJRnRkTzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYzJ0cGJsZGxhV2RvZEVGMGRISkJjbkpoZVM1c1pXNW5kR2c3SUdrZ0t6MGdOQ2tnZTF4dUlDQWdJQ0FnYzJ0cGJsZGxhV2RvZEM1d2RYTm9LRnRjYmlBZ0lDQWdJQ0FnYzJ0cGJsZGxhV2RvZEVGMGRISkJjbkpoZVZ0cFhTeGNiaUFnSUNBZ0lDQWdjMnRwYmxkbGFXZG9kRUYwZEhKQmNuSmhlVnRwSUNzZ01WMHNYRzRnSUNBZ0lDQWdJSE5yYVc1WFpXbG5hSFJCZEhSeVFYSnlZWGxiYVNBcklESmRMRnh1SUNBZ0lDQWdJQ0J6YTJsdVYyVnBaMmgwUVhSMGNrRnljbUY1VzJrZ0t5QXpYU3hjYmlBZ0lDQWdJRjBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHbHVaR1Y0SUQwZ1oyVnZiV1YwY25rdVoyVjBTVzVrWlhnb0tUdGNiaUFnSUNCcFppQW9JV2x1WkdWNEtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSlVhR1VnWjJWdmJXVjBjbmtnWkc5bGMyNG5kQ0JvWVhabElHRnVJR2x1WkdWNElHSjFabVpsY2x3aUtUdGNiaUFnSUNCOVhHNGdJQ0FnWTI5dWMzUWdiMnhrVkhKcFlXNW5iR1Z6SUQwZ1FYSnlZWGt1Wm5KdmJTaHBibVJsZUM1aGNuSmhlU2s3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiM1Z1ZENBOUlIUm9hWE11WDJWNFkyeDFaR1ZVY21saGJtZHNaWE1vYjJ4a1ZISnBZVzVuYkdWekxDQnphMmx1VjJWcFoyaDBMQ0J6YTJsdVNXNWtaWGdzSUdWeVlYTnBibWRDYjI1bGMwbHVaR1Y0S1R0Y2JpQWdJQ0JqYjI1emRDQnVaWGRVY21saGJtZHNaVG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHTnZkVzUwT3lCcEt5c3BJSHRjYmlBZ0lDQWdJRzVsZDFSeWFXRnVaMnhsVzJsZElEMGdiMnhrVkhKcFlXNW5iR1Z6VzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0JuWlc5dFpYUnllUzV6WlhSSmJtUmxlQ2h1WlhkVWNtbGhibWRzWlNrN1hHNWNiaUFnSUNBdkx5QnRkRzl2YmlCdFlYUmxjbWxoYkNCcGJtTnNkV1JsY3lCdmJrSmxabTl5WlZKbGJtUmxjaTRnZEdocGN5QnBjeUIxYm5OMWNIQnZjblJsWkNCaGRDQlRhMmx1Ym1Wa1RXVnphQ05qYkc5dVpWeHVJQ0FnSUdsbUlDaHpjbU11YjI1Q1pXWnZjbVZTWlc1a1pYSXBJSHRjYmlBZ0lDQWdJR1J6ZEM1dmJrSmxabTl5WlZKbGJtUmxjaUE5SUhOeVl5NXZia0psWm05eVpWSmxibVJsY2p0Y2JpQWdJQ0I5WEc0Z0lDQWdaSE4wTG1KcGJtUW9ibVYzSUZSSVVrVkZMbE5yWld4bGRHOXVLSE55WXk1emEyVnNaWFJ2Ymk1aWIyNWxjeXdnYzNKakxuTnJaV3hsZEc5dUxtSnZibVZKYm5abGNuTmxjeWtzSUc1bGR5QlVTRkpGUlM1TllYUnlhWGcwS0NrcE8xeHVJQ0FnSUhKbGRIVnliaUJrYzNRN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElGOWpjbVZoZEdWSVpXRmtiR1Z6YzAxdlpHVnNSbTl5VTJ0cGJtNWxaRTFsYzJnb2NHRnlaVzUwT2lCVVNGSkZSUzVQWW1wbFkzUXpSQ3dnYldWemFEb2dWRWhTUlVVdVUydHBibTVsWkUxbGMyZ3BPaUIyYjJsa0lIdGNiaUFnSUNCamIyNXpkQ0JsY21GelpVSnZibVZKYm1SbGVHVnpPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0FnSUcxbGMyZ3VjMnRsYkdWMGIyNHVZbTl1WlhNdVptOXlSV0ZqYUNnb1ltOXVaU3dnYVc1a1pYZ3BJRDArSUh0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TGw5cGMwVnlZWE5sVkdGeVoyVjBLR0p2Ym1VcEtTQmxjbUZ6WlVKdmJtVkpibVJsZUdWekxuQjFjMmdvYVc1a1pYZ3BPMXh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdMeThnVlc1c2FXdGxJRlZ1YVZaU1RTQjNaU0JrYjI0bmRDQmpiM0I1SUcxbGMyZ2dhV1lnYm04Z2FXNTJhWE5wWW14bElHSnZibVVnZDJGeklHWnZkVzVrWEc0Z0lDQWdhV1lnS0NGbGNtRnpaVUp2Ym1WSmJtUmxlR1Z6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnYldWemFDNXNZWGxsY25NdVpXNWhZbXhsS0hSb2FYTXVYM1JvYVhKa1VHVnljMjl1VDI1c2VVeGhlV1Z5S1R0Y2JpQWdJQ0FnSUcxbGMyZ3ViR0Y1WlhKekxtVnVZV0pzWlNoMGFHbHpMbDltYVhKemRGQmxjbk52Yms5dWJIbE1ZWGxsY2lrN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1SUNBZ0lHMWxjMmd1YkdGNVpYSnpMbk5sZENoMGFHbHpMbDkwYUdseVpGQmxjbk52Yms5dWJIbE1ZWGxsY2lrN1hHNGdJQ0FnWTI5dWMzUWdibVYzVFdWemFDQTlJSFJvYVhNdVgyTnlaV0YwWlVWeVlYTmxaRTFsYzJnb2JXVnphQ3dnWlhKaGMyVkNiMjVsU1c1a1pYaGxjeWs3WEc0Z0lDQWdjR0Z5Wlc1MExtRmtaQ2h1WlhkTlpYTm9LVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWDJOeVpXRjBaVWhsWVdSc1pYTnpUVzlrWld3b2JtOWtaVG9nVkVoU1JVVXVUMkpxWldOME0wUXBPaUIyYjJsa0lIdGNiaUFnSUNCcFppQW9ibTlrWlM1MGVYQmxJRDA5UFNBblIzSnZkWEFuS1NCN1hHNGdJQ0FnSUNCdWIyUmxMbXhoZVdWeWN5NXpaWFFvZEdocGN5NWZkR2hwY21SUVpYSnpiMjVQYm14NVRHRjVaWElwTzF4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11WDJselJYSmhjMlZVWVhKblpYUW9ibTlrWlNrcElIdGNiaUFnSUNBZ0lDQWdibTlrWlM1MGNtRjJaWEp6WlNnb1kyaHBiR1FwSUQwK0lHTm9hV3hrTG14aGVXVnljeTV6WlhRb2RHaHBjeTVmZEdocGNtUlFaWEp6YjI1UGJteDVUR0Y1WlhJcEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhCaGNtVnVkQ0E5SUc1bGR5QlVTRkpGUlM1SGNtOTFjQ2dwTzF4dUlDQWdJQ0FnSUNCd1lYSmxiblF1Ym1GdFpTQTlJR0JmYUdWaFpHeGxjM05mSkh0dWIyUmxMbTVoYldWOVlEdGNiaUFnSUNBZ0lDQWdjR0Z5Wlc1MExteGhlV1Z5Y3k1elpYUW9kR2hwY3k1ZlptbHljM1JRWlhKemIyNVBibXg1VEdGNVpYSXBPMXh1SUNBZ0lDQWdJQ0J1YjJSbExuQmhjbVZ1ZENFdVlXUmtLSEJoY21WdWRDazdYRzRnSUNBZ0lDQWdJRzV2WkdVdVkyaHBiR1J5Wlc1Y2JpQWdJQ0FnSUNBZ0lDQXVabWxzZEdWeUtDaGphR2xzWkNrZ1BUNGdZMmhwYkdRdWRIbHdaU0E5UFQwZ0oxTnJhVzV1WldSTlpYTm9KeWxjYmlBZ0lDQWdJQ0FnSUNBdVptOXlSV0ZqYUNnb1kyaHBiR1FwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE5yYVc1dVpXUk5aWE5vSUQwZ1kyaHBiR1FnWVhNZ1ZFaFNSVVV1VTJ0cGJtNWxaRTFsYzJnN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxsOWpjbVZoZEdWSVpXRmtiR1Z6YzAxdlpHVnNSbTl5VTJ0cGJtNWxaRTFsYzJnb2NHRnlaVzUwTENCemEybHVibVZrVFdWemFDazdYRzRnSUNBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMblI1Y0dVZ1BUMDlJQ2RUYTJsdWJtVmtUV1Z6YUNjcElIdGNiaUFnSUNBZ0lHTnZibk4wSUhOcmFXNXVaV1JOWlhOb0lEMGdibTlrWlNCaGN5QlVTRkpGUlM1VGEybHVibVZrVFdWemFEdGNiaUFnSUNBZ0lIUm9hWE11WDJOeVpXRjBaVWhsWVdSc1pYTnpUVzlrWld4R2IzSlRhMmx1Ym1Wa1RXVnphQ2h1YjJSbExuQmhjbVZ1ZENFc0lITnJhVzV1WldSTlpYTm9LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdVgybHpSWEpoYzJWVVlYSm5aWFFvYm05a1pTa3BJSHRjYmlBZ0lDQWdJQ0FnYm05a1pTNXNZWGxsY25NdWMyVjBLSFJvYVhNdVgzUm9hWEprVUdWeWMyOXVUMjVzZVV4aGVXVnlLVHRjYmlBZ0lDQWdJQ0FnYm05a1pTNTBjbUYyWlhKelpTZ29ZMmhwYkdRcElEMCtJR05vYVd4a0xteGhlV1Z5Y3k1elpYUW9kR2hwY3k1ZmRHaHBjbVJRWlhKemIyNVBibXg1VEdGNVpYSXBLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRjlwYzBWeVlYTmxWR0Z5WjJWMEtHSnZibVU2SUZSSVVrVkZMazlpYW1WamRETkVLVG9nWW05dmJHVmhiaUI3WEc0Z0lDQWdhV1lnS0dKdmJtVWdQVDA5SUhSb2FYTXVhSFZ0WVc1dmFXUXVaMlYwVW1GM1FtOXVaVTV2WkdVb0oyaGxZV1FuS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDZ2hZbTl1WlM1d1lYSmxiblFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybHpSWEpoYzJWVVlYSm5aWFFvWW05dVpTNXdZWEpsYm5RcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dUlpd2lhVzF3YjNKMElIUjVjR1VnS2lCaGN5QldNRlpTVFNCbWNtOXRJQ2RBY0dsNGFYWXZkSGx3WlhNdGRuSnRMVEF1TUNjN1hHNXBiWEJ2Y25RZ2RIbHdaU0FxSUdGeklGWXhWbEpOVTJOb1pXMWhJR1p5YjIwZ0owQndhWGhwZGk5MGVYQmxjeTEyY20xakxYWnliUzB4TGpBbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSFRGUkdMQ0JIVEZSR1RHOWhaR1Z5VUd4MVoybHVMQ0JIVEZSR1VHRnljMlZ5SUgwZ1puSnZiU0FuZEdoeVpXVXZaWGhoYlhCc1pYTXZhbk50TDJ4dllXUmxjbk12UjB4VVJreHZZV1JsY2k1cWN5YzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVWgxYldGdWIybGtJSDBnWm5KdmJTQW5MaTR2YUhWdFlXNXZhV1F2VmxKTlNIVnRZVzV2YVdRbk8xeHVhVzF3YjNKMElIc2daMngwWmtWNGRISmhZM1JRY21sdGFYUnBkbVZ6Um5KdmJVNXZaR1Z6SUgwZ1puSnZiU0FuTGk0dmRYUnBiSE12WjJ4MFprVjRkSEpoWTNSUWNtbHRhWFJwZG1WelJuSnZiVTV2WkdVbk8xeHVhVzF3YjNKMElIc2dWbEpOUm1seWMzUlFaWEp6YjI0Z2ZTQm1jbTl0SUNjdUwxWlNUVVpwY25OMFVHVnljMjl1Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlJtbHljM1JRWlhKemIyNU5aWE5vUVc1dWIzUmhkR2x2YmlCOUlHWnliMjBnSnk0dlZsSk5SbWx5YzNSUVpYSnpiMjVOWlhOb1FXNXViM1JoZEdsdmJpYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVVpwY25OMFVHVnljMjl1VFdWemFFRnVibTkwWVhScGIyNVVlWEJsSUgwZ1puSnZiU0FuTGk5V1VrMUdhWEp6ZEZCbGNuTnZiazFsYzJoQmJtNXZkR0YwYVc5dVZIbHdaU2M3WEc1cGJYQnZjblFnZXlCSFRGUkdJR0Z6SUVkTVZFWlRZMmhsYldFZ2ZTQm1jbTl0SUNkQVoyeDBaaTEwY21GdWMyWnZjbTB2WTI5eVpTYzdYRzVjYmk4cUtseHVJQ29nVUc5emMybGliR1VnYzNCbFl5QjJaWEp6YVc5dWN5QnBkQ0J5WldOdloyNXBlbVZ6TGx4dUlDb3ZYRzVqYjI1emRDQlFUMU5UU1VKTVJWOVRVRVZEWDFaRlVsTkpUMDVUSUQwZ2JtVjNJRk5sZENoYkp6RXVNQ2NzSUNjeExqQXRZbVYwWVNkZEtUdGNibHh1THlvcVhHNGdLaUJCSUhCc2RXZHBiaUJ2WmlCSFRGUkdURzloWkdWeUlIUm9ZWFFnYVcxd2IzSjBjeUJoSUh0QWJHbHVheUJXVWsxR2FYSnpkRkJsY25OdmJuMGdabkp2YlNCaElGWlNUU0JsZUhSbGJuTnBiMjRnYjJZZ1lTQkhURlJHTGx4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5SbWx5YzNSUVpYSnpiMjVNYjJGa1pYSlFiSFZuYVc0Z2FXMXdiR1Z0Wlc1MGN5QkhURlJHVEc5aFpHVnlVR3gxWjJsdUlIdGNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJSEJoY25ObGNqb2dSMHhVUmxCaGNuTmxjanRjYmx4dUlDQndkV0pzYVdNZ1oyVjBJRzVoYldVb0tUb2djM1J5YVc1bklIdGNiaUFnSUNBdkx5QlhaU0J6YUc5MWJHUWdkWE5sSUhSb1pTQmxlSFJsYm5OcGIyNGdibUZ0WlNCcGJuTjBaV0ZrSUdKMWRDQjNaU0JvWVhabElHMTFiSFJwY0d4bElIQnNkV2RwYm5NZ1ptOXlJR0Z1SUdWNGRHVnVjMmx2Ymk0dUxseHVJQ0FnSUhKbGRIVnliaUFuVmxKTlJtbHljM1JRWlhKemIyNU1iMkZrWlhKUWJIVm5hVzRuTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtIQmhjbk5sY2pvZ1IweFVSbEJoY25ObGNpa2dlMXh1SUNBZ0lIUm9hWE11Y0dGeWMyVnlJRDBnY0dGeWMyVnlPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR0Z6ZVc1aklHRm1kR1Z5VW05dmRDaG5iSFJtT2lCSFRGUkdLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1kyOXVjM1FnZG5KdFNIVnRZVzV2YVdRZ1BTQm5iSFJtTG5WelpYSkVZWFJoTG5aeWJVaDFiV0Z1YjJsa0lHRnpJRlpTVFVoMWJXRnViMmxrSUh3Z2RXNWtaV1pwYm1Wa08xeHVYRzRnSUNBZ0x5OGdaWGh3YkdsamFYUnNlU0JrYVhOMGFXNW5kV2x6YUNCdWRXeHNJR0Z1WkNCMWJtUmxabWx1WldSY2JpQWdJQ0F2THlCemFXNWpaU0IyY20xSWRXMWhibTlwWkNCdGFXZG9kQ0JpWlNCdWRXeHNJR0Z6SUdFZ2NtVnpkV3gwWEc0Z0lDQWdhV1lnS0haeWJVaDFiV0Z1YjJsa0lEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMmNtMUlkVzFoYm05cFpDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUNkV1VrMUdhWEp6ZEZCbGNuTnZia3h2WVdSbGNsQnNkV2RwYmpvZ2RuSnRTSFZ0WVc1dmFXUWdhWE1nZFc1a1pXWnBibVZrTGlCV1VrMUlkVzFoYm05cFpFeHZZV1JsY2xCc2RXZHBiaUJvWVhabElIUnZJR0psSUhWelpXUWdabWx5YzNRbkxGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCbmJIUm1MblZ6WlhKRVlYUmhMblp5YlVacGNuTjBVR1Z5YzI5dUlEMGdZWGRoYVhRZ2RHaHBjeTVmYVcxd2IzSjBLR2RzZEdZc0lIWnliVWgxYldGdWIybGtLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSmJYQnZjblFnWVNCN1FHeHBibXNnVmxKTlJtbHljM1JRWlhKemIyNTlJR1p5YjIwZ1lTQldVazB1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCbmJIUm1JRUVnY0dGeWMyVmtJSEpsYzNWc2RDQnZaaUJIVEZSR0lIUmhhMlZ1SUdaeWIyMGdSMHhVUmt4dllXUmxjbHh1SUNBZ0tpQkFjR0Z5WVcwZ2FIVnRZVzV2YVdRZ1FTQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1dmFXUjlJR2x1YzNSaGJtTmxJSFJvWVhRZ2NtVndjbVZ6Wlc1MGN5QjBhR1VnVmxKTlhHNGdJQ0FxTDF4dVhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ1gybHRjRzl5ZENobmJIUm1PaUJIVEZSR0xDQm9kVzFoYm05cFpEb2dWbEpOU0hWdFlXNXZhV1FnZkNCdWRXeHNLVG9nVUhKdmJXbHpaVHhXVWsxR2FYSnpkRkJsY25OdmJpQjhJRzUxYkd3K0lIdGNiaUFnSUNCcFppQW9hSFZ0WVc1dmFXUWdQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2RqRlNaWE4xYkhRZ1BTQmhkMkZwZENCMGFHbHpMbDkyTVVsdGNHOXlkQ2huYkhSbUxDQm9kVzFoYm05cFpDazdYRzRnSUNBZ2FXWWdLSFl4VW1WemRXeDBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkakZTWlhOMWJIUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnZGpCU1pYTjFiSFFnUFNCaGQyRnBkQ0IwYUdsekxsOTJNRWx0Y0c5eWRDaG5iSFJtTENCb2RXMWhibTlwWkNrN1hHNGdJQ0FnYVdZZ0tIWXdVbVZ6ZFd4MEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RqQlNaWE4xYkhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHRnplVzVqSUY5Mk1VbHRjRzl5ZENobmJIUm1PaUJIVEZSR0xDQm9kVzFoYm05cFpEb2dWbEpOU0hWdFlXNXZhV1FwT2lCUWNtOXRhWE5sUEZaU1RVWnBjbk4wVUdWeWMyOXVJSHdnYm5Wc2JENGdlMXh1SUNBZ0lHTnZibk4wSUdwemIyNGdQU0IwYUdsekxuQmhjbk5sY2k1cWMyOXVJR0Z6SUVkTVZFWlRZMmhsYldFdVNVZE1WRVk3WEc1Y2JpQWdJQ0F2THlCbFlYSnNlU0JoWW05eWRDQnBaaUJwZENCa2IyVnpiaWQwSUhWelpTQjJjbTFjYmlBZ0lDQmpiMjV6ZENCcGMxWlNUVlZ6WldRZ1BTQnFjMjl1TG1WNGRHVnVjMmx2Ym5OVmMyVmtQeTVwYm1SbGVFOW1LQ2RXVWsxRFgzWnliU2NwSUNFOVBTQXRNVHRjYmlBZ0lDQnBaaUFvSVdselZsSk5WWE5sWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnWlhoMFpXNXphVzl1SUQwZ2FuTnZiaTVsZUhSbGJuTnBiMjV6UHk1YkoxWlNUVU5mZG5KdEoxMGdZWE1nVmpGV1VrMVRZMmhsYldFdVZsSk5RMVpTVFNCOElIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCcFppQW9JV1Y0ZEdWdWMybHZiaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdjM0JsWTFabGNuTnBiMjRnUFNCbGVIUmxibk5wYjI0dWMzQmxZMVpsY25OcGIyNDdYRzRnSUNBZ2FXWWdLQ0ZRVDFOVFNVSk1SVjlUVUVWRFgxWkZVbE5KVDA1VExtaGhjeWh6Y0dWalZtVnljMmx2YmlrcElIdGNiaUFnSUNBZ0lHTnZibk52YkdVdWQyRnliaWhnVmxKTlJtbHljM1JRWlhKemIyNU1iMkZrWlhKUWJIVm5hVzQ2SUZWdWEyNXZkMjRnVmxKTlExOTJjbTBnYzNCbFkxWmxjbk5wYjI0Z1hDSWtlM053WldOV1pYSnphVzl1ZlZ3aVlDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCelkyaGxiV0ZHYVhKemRGQmxjbk52YmlBOUlHVjRkR1Z1YzJsdmJpNW1hWEp6ZEZCbGNuTnZianRjYmlBZ0lDQnBaaUFvSVhOamFHVnRZVVpwY25OMFVHVnljMjl1S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J0WlhOb1FXNXViM1JoZEdsdmJuTTZJRlpTVFVacGNuTjBVR1Z5YzI5dVRXVnphRUZ1Ym05MFlYUnBiMjViWFNBOUlGdGRPMXh1SUNBZ0lHTnZibk4wSUc1dlpHVlFjbWx0YVhScGRtVnpUV0Z3SUQwZ1lYZGhhWFFnWjJ4MFprVjRkSEpoWTNSUWNtbHRhWFJwZG1WelJuSnZiVTV2WkdWektHZHNkR1lwTzF4dUlDQWdJRUZ5Y21GNUxtWnliMjBvYm05a1pWQnlhVzFwZEdsMlpYTk5ZWEF1Wlc1MGNtbGxjeWdwS1M1bWIzSkZZV05vS0NoYmJtOWtaVWx1WkdWNExDQndjbWx0YVhScGRtVnpYU2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWVc1dWIzUmhkR2x2YmlBOUlITmphR1Z0WVVacGNuTjBVR1Z5YzI5dUxtMWxjMmhCYm01dmRHRjBhVzl1YzF4dUlDQWdJQ0FnSUNBL0lITmphR1Z0WVVacGNuTjBVR1Z5YzI5dUxtMWxjMmhCYm01dmRHRjBhVzl1Y3k1bWFXNWtLQ2hoS1NBOVBpQmhMbTV2WkdVZ1BUMDlJRzV2WkdWSmJtUmxlQ2xjYmlBZ0lDQWdJQ0FnT2lCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNBZ0lHMWxjMmhCYm01dmRHRjBhVzl1Y3k1d2RYTm9LSHRjYmlBZ0lDQWdJQ0FnYldWemFHVnpPaUJ3Y21sdGFYUnBkbVZ6TEZ4dUlDQWdJQ0FnSUNCMGVYQmxPaUJoYm01dmRHRjBhVzl1UHk1MGVYQmxJRDgvSUNkaWIzUm9KeXhjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnY21WMGRYSnVJRzVsZHlCV1VrMUdhWEp6ZEZCbGNuTnZiaWhvZFcxaGJtOXBaQ3dnYldWemFFRnVibTkwWVhScGIyNXpLVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdYM1l3U1cxd2IzSjBLR2RzZEdZNklFZE1WRVlzSUdoMWJXRnViMmxrT2lCV1VrMUlkVzFoYm05cFpDazZJRkJ5YjIxcGMyVThWbEpOUm1seWMzUlFaWEp6YjI0Z2ZDQnVkV3hzUGlCN1hHNGdJQ0FnWTI5dWMzUWdhbk52YmlBOUlIUm9hWE11Y0dGeWMyVnlMbXB6YjI0Z1lYTWdSMHhVUmxOamFHVnRZUzVKUjB4VVJqdGNibHh1SUNBZ0lHTnZibk4wSUhaeWJVVjRkQ0E5SUdwemIyNHVaWGgwWlc1emFXOXVjejh1VmxKTklHRnpJRll3VmxKTkxsWlNUU0I4SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JwWmlBb0lYWnliVVY0ZENrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYzJOb1pXMWhSbWx5YzNSUVpYSnpiMjQ2SUZZd1ZsSk5Ma1pwY25OMFVHVnljMjl1SUh3Z2RXNWtaV1pwYm1Wa0lEMGdkbkp0UlhoMExtWnBjbk4wVUdWeWMyOXVPMXh1SUNBZ0lHbG1JQ2doYzJOb1pXMWhSbWx5YzNSUVpYSnpiMjRwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJRzFsYzJoQmJtNXZkR0YwYVc5dWN6b2dWbEpOUm1seWMzUlFaWEp6YjI1TlpYTm9RVzV1YjNSaGRHbHZibHRkSUQwZ1cxMDdYRzRnSUNBZ1kyOXVjM1FnYm05a1pWQnlhVzFwZEdsMlpYTk5ZWEFnUFNCaGQyRnBkQ0JuYkhSbVJYaDBjbUZqZEZCeWFXMXBkR2wyWlhOR2NtOXRUbTlrWlhNb1oyeDBaaWs3WEc1Y2JpQWdJQ0JCY25KaGVTNW1jbTl0S0c1dlpHVlFjbWx0YVhScGRtVnpUV0Z3TG1WdWRISnBaWE1vS1NrdVptOXlSV0ZqYUNnb1cyNXZaR1ZKYm1SbGVDd2djSEpwYldsMGFYWmxjMTBwSUQwK0lIdGNiaUFnSUNBZ0lHTnZibk4wSUhOamFHVnRZVTV2WkdVZ1BTQnFjMjl1TG01dlpHVnpJVnR1YjJSbFNXNWtaWGhkTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0JtYkdGbklEMGdjMk5vWlcxaFJtbHljM1JRWlhKemIyNHViV1Z6YUVGdWJtOTBZWFJwYjI1elhHNGdJQ0FnSUNBZ0lEOGdjMk5vWlcxaFJtbHljM1JRWlhKemIyNHViV1Z6YUVGdWJtOTBZWFJwYjI1ekxtWnBibVFvS0dFcElEMCtJR0V1YldWemFDQTlQVDBnYzJOb1pXMWhUbTlrWlM1dFpYTm9LVnh1SUNBZ0lDQWdJQ0E2SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUNBZ2JXVnphRUZ1Ym05MFlYUnBiMjV6TG5CMWMyZ29lMXh1SUNBZ0lDQWdJQ0J0WlhOb1pYTTZJSEJ5YVcxcGRHbDJaWE1zWEc0Z0lDQWdJQ0FnSUhSNWNHVTZJSFJvYVhNdVgyTnZiblpsY25SV01FWnNZV2RVYjFZeFZIbHdaU2htYkdGblB5NW1hWEp6ZEZCbGNuTnZia1pzWVdjcExGeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRlpTVFVacGNuTjBVR1Z5YzI5dUtHaDFiV0Z1YjJsa0xDQnRaWE5vUVc1dWIzUmhkR2x2Ym5NcE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmZZMjl1ZG1WeWRGWXdSbXhoWjFSdlZqRlVlWEJsS0dac1lXYzZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ2s2SUZaU1RVWnBjbk4wVUdWeWMyOXVUV1Z6YUVGdWJtOTBZWFJwYjI1VWVYQmxJSHRjYmlBZ0lDQnBaaUFvWm14aFp5QTlQVDBnSjBacGNuTjBVR1Z5YzI5dVQyNXNlU2NwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUFuWm1seWMzUlFaWEp6YjI1UGJteDVKenRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR1pzWVdjZ1BUMDlJQ2RVYUdseVpGQmxjbk52Yms5dWJIa25LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdKM1JvYVhKa1VHVnljMjl1VDI1c2VTYzdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaG1iR0ZuSUQwOVBTQW5RWFYwYnljcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlBbllYVjBieWM3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlBblltOTBhQ2M3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzRpTENJdktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtRnRhVzVuTFdOdmJuWmxiblJwYjI0Z0tpOWNibHh1Wlhod2IzSjBJR052Ym5OMElGWlNUVVpwY25OMFVHVnljMjl1VFdWemFFRnVibTkwWVhScGIyNVVlWEJsSUQwZ2UxeHVJQ0JCZFhSdk9pQW5ZWFYwYnljc1hHNGdJRUp2ZEdnNklDZGliM1JvSnl4Y2JpQWdWR2hwY21SUVpYSnpiMjVQYm14NU9pQW5kR2hwY21SUVpYSnpiMjVQYm14NUp5eGNiaUFnUm1seWMzUlFaWEp6YjI1UGJteDVPaUFuWm1seWMzUlFaWEp6YjI1UGJteDVKeXhjYm4wZ1lYTWdZMjl1YzNRN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUZaU1RVWnBjbk4wVUdWeWMyOXVUV1Z6YUVGdWJtOTBZWFJwYjI1VWVYQmxJRDFjYmlBZ2RIbHdaVzltSUZaU1RVWnBjbk4wVUdWeWMyOXVUV1Z6YUVGdWJtOTBZWFJwYjI1VWVYQmxXMnRsZVc5bUlIUjVjR1Z2WmlCV1VrMUdhWEp6ZEZCbGNuTnZiazFsYzJoQmJtNXZkR0YwYVc5dVZIbHdaVjA3WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZXlCV1VrMUlkVzFoYmtKdmJtVWdmU0JtY205dElDY3VMaTlXVWsxSWRXMWhia0p2Ym1Vbk8xeHVhVzF3YjNKMElIc2dWbEpOU0hWdFlXNXZhV1FnZlNCbWNtOXRJQ2N1TGk5V1VrMUlkVzFoYm05cFpDYzdYRzVjYm1OdmJuTjBJRjkyTTBFZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1WTI5dWMzUWdYM1l6UWlBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVqYjI1emRDQmZjWFZoZEVFZ1BTQnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVmxKTlNIVnRZVzV2YVdSSVpXeHdaWElnWlhoMFpXNWtjeUJVU0ZKRlJTNUhjbTkxY0NCN1hHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQjJjbTFJZFcxaGJtOXBaRG9nVmxKTlNIVnRZVzV2YVdRN1hHNGdJSEJ5YVhaaGRHVWdYMkp2Ym1WQmVHVnpUV0Z3T2lCTllYQThWbEpOU0hWdFlXNUNiMjVsTENCVVNGSkZSUzVCZUdWelNHVnNjR1Z5UGp0Y2JseHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvYUhWdFlXNXZhV1E2SUZaU1RVaDFiV0Z1YjJsa0tTQjdYRzRnSUNBZ2MzVndaWElvS1R0Y2JseHVJQ0FnSUhSb2FYTXVkbkp0U0hWdFlXNXZhV1FnUFNCb2RXMWhibTlwWkR0Y2JseHVJQ0FnSUhSb2FYTXVYMkp2Ym1WQmVHVnpUV0Z3SUQwZ2JtVjNJRTFoY0NncE8xeHVYRzRnSUNBZ1QySnFaV04wTG5aaGJIVmxjeWhvZFcxaGJtOXBaQzVvZFcxaGJrSnZibVZ6S1M1bWIzSkZZV05vS0NoaWIyNWxLU0E5UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0JvWld4d1pYSWdQU0J1WlhjZ1ZFaFNSVVV1UVhobGMwaGxiSEJsY2lneExqQXBPMXh1WEc0Z0lDQWdJQ0JvWld4d1pYSXViV0YwY21sNFFYVjBiMVZ3WkdGMFpTQTlJR1poYkhObE8xeHVYRzRnSUNBZ0lDQW9hR1ZzY0dWeUxtMWhkR1Z5YVdGc0lHRnpJRlJJVWtWRkxrMWhkR1Z5YVdGc0tTNWtaWEIwYUZSbGMzUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDaG9aV3h3WlhJdWJXRjBaWEpwWVd3Z1lYTWdWRWhTUlVVdVRXRjBaWEpwWVd3cExtUmxjSFJvVjNKcGRHVWdQU0JtWVd4elpUdGNibHh1SUNBZ0lDQWdkR2hwY3k1aFpHUW9hR1ZzY0dWeUtUdGNibHh1SUNBZ0lDQWdkR2hwY3k1ZlltOXVaVUY0WlhOTllYQXVjMlYwS0dKdmJtVXNJR2hsYkhCbGNpazdYRzRnSUNBZ2ZTazdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdaR2x6Y0c5elpTZ3BPaUIyYjJsa0lIdGNiaUFnSUNCQmNuSmhlUzVtY205dEtIUm9hWE11WDJKdmJtVkJlR1Z6VFdGd0xuWmhiSFZsY3lncEtTNW1iM0pGWVdOb0tDaGhlR1Z6S1NBOVBpQjdYRzRnSUNBZ0lDQmhlR1Z6TG1kbGIyMWxkSEo1TG1ScGMzQnZjMlVvS1R0Y2JpQWdJQ0FnSUNoaGVHVnpMbTFoZEdWeWFXRnNJR0Z6SUZSSVVrVkZMazFoZEdWeWFXRnNLUzVrYVhOd2IzTmxLQ2s3WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nZFhCa1lYUmxUV0YwY21sNFYyOXliR1FvWm05eVkyVTZJR0p2YjJ4bFlXNHBPaUIyYjJsa0lIdGNiaUFnSUNCQmNuSmhlUzVtY205dEtIUm9hWE11WDJKdmJtVkJlR1Z6VFdGd0xtVnVkSEpwWlhNb0tTa3VabTl5UldGamFDZ29XMkp2Ym1Vc0lHRjRaWE5kS1NBOVBpQjdYRzRnSUNBZ0lDQmliMjVsTG01dlpHVXVkWEJrWVhSbFYyOXliR1JOWVhSeWFYZ29kSEoxWlN3Z1ptRnNjMlVwTzF4dVhHNGdJQ0FnSUNCaWIyNWxMbTV2WkdVdWJXRjBjbWw0VjI5eWJHUXVaR1ZqYjIxd2IzTmxLRjkyTTBFc0lGOXhkV0YwUVN3Z1gzWXpRaWs3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJSE5qWVd4bElEMGdYM1l6UVM1elpYUW9NQzR4TENBd0xqRXNJREF1TVNrdVpHbDJhV1JsS0Y5Mk0wSXBPMXh1SUNBZ0lDQWdZWGhsY3k1dFlYUnlhWGd1WTI5d2VTaGliMjVsTG01dlpHVXViV0YwY21sNFYyOXliR1FwTG5OallXeGxLSE5qWVd4bEtUdGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lITjFjR1Z5TG5Wd1pHRjBaVTFoZEhKcGVGZHZjbXhrS0dadmNtTmxLVHRjYmlBZ2ZWeHVmVnh1SWl3aUx5b2daWE5zYVc1MExXUnBjMkZpYkdVZ1FIUjVjR1Z6WTNKcGNIUXRaWE5zYVc1MEwyNWhiV2x1WnkxamIyNTJaVzUwYVc5dUlDb3ZYRzVjYm1sdGNHOXlkQ0I3SUZaU1RVaDFiV0Z1UW05dVpVNWhiV1VnZlNCbWNtOXRJQ2N1TDFaU1RVaDFiV0Z1UW05dVpVNWhiV1VuTzF4dVhHNHZLaXBjYmlBcUlGUm9aU0JzYVhOMElHOW1JSHRBYkdsdWF5QldVazFJZFcxaGJrSnZibVZPWVcxbGZTNGdSR1Z3Wlc1a1pXNWplU0JoZDJGeVpTNWNiaUFxTDF4dVpYaHdiM0owSUdOdmJuTjBJRlpTVFVoMWJXRnVRbTl1WlV4cGMzUTZJRlpTVFVoMWJXRnVRbTl1WlU1aGJXVmJYU0E5SUZ0Y2JpQWdKMmhwY0hNbkxGeHVJQ0FuYzNCcGJtVW5MRnh1SUNBblkyaGxjM1FuTEZ4dUlDQW5kWEJ3WlhKRGFHVnpkQ2NzWEc0Z0lDZHVaV05ySnl4Y2JseHVJQ0FuYUdWaFpDY3NYRzRnSUNkc1pXWjBSWGxsSnl4Y2JpQWdKM0pwWjJoMFJYbGxKeXhjYmlBZ0oycGhkeWNzWEc1Y2JpQWdKMnhsWm5SVmNIQmxja3hsWnljc1hHNGdJQ2RzWldaMFRHOTNaWEpNWldjbkxGeHVJQ0FuYkdWbWRFWnZiM1FuTEZ4dUlDQW5iR1ZtZEZSdlpYTW5MRnh1WEc0Z0lDZHlhV2RvZEZWd2NHVnlUR1ZuSnl4Y2JpQWdKM0pwWjJoMFRHOTNaWEpNWldjbkxGeHVJQ0FuY21sbmFIUkdiMjkwSnl4Y2JpQWdKM0pwWjJoMFZHOWxjeWNzWEc1Y2JpQWdKMnhsWm5SVGFHOTFiR1JsY2ljc1hHNGdJQ2RzWldaMFZYQndaWEpCY20wbkxGeHVJQ0FuYkdWbWRFeHZkMlZ5UVhKdEp5eGNiaUFnSjJ4bFpuUklZVzVrSnl4Y2JseHVJQ0FuY21sbmFIUlRhRzkxYkdSbGNpY3NYRzRnSUNkeWFXZG9kRlZ3Y0dWeVFYSnRKeXhjYmlBZ0ozSnBaMmgwVEc5M1pYSkJjbTBuTEZ4dUlDQW5jbWxuYUhSSVlXNWtKeXhjYmx4dUlDQW5iR1ZtZEZSb2RXMWlUV1YwWVdOaGNuQmhiQ2NzWEc0Z0lDZHNaV1owVkdoMWJXSlFjbTk0YVcxaGJDY3NYRzRnSUNkc1pXWjBWR2gxYldKRWFYTjBZV3duTEZ4dUlDQW5iR1ZtZEVsdVpHVjRVSEp2ZUdsdFlXd25MRnh1SUNBbmJHVm1kRWx1WkdWNFNXNTBaWEp0WldScFlYUmxKeXhjYmlBZ0oyeGxablJKYm1SbGVFUnBjM1JoYkNjc1hHNGdJQ2RzWldaMFRXbGtaR3hsVUhKdmVHbHRZV3duTEZ4dUlDQW5iR1ZtZEUxcFpHUnNaVWx1ZEdWeWJXVmthV0YwWlNjc1hHNGdJQ2RzWldaMFRXbGtaR3hsUkdsemRHRnNKeXhjYmlBZ0oyeGxablJTYVc1blVISnZlR2x0WVd3bkxGeHVJQ0FuYkdWbWRGSnBibWRKYm5SbGNtMWxaR2xoZEdVbkxGeHVJQ0FuYkdWbWRGSnBibWRFYVhOMFlXd25MRnh1SUNBbmJHVm1kRXhwZEhSc1pWQnliM2hwYldGc0p5eGNiaUFnSjJ4bFpuUk1hWFIwYkdWSmJuUmxjbTFsWkdsaGRHVW5MRnh1SUNBbmJHVm1kRXhwZEhSc1pVUnBjM1JoYkNjc1hHNWNiaUFnSjNKcFoyaDBWR2gxYldKTlpYUmhZMkZ5Y0dGc0p5eGNiaUFnSjNKcFoyaDBWR2gxYldKUWNtOTRhVzFoYkNjc1hHNGdJQ2R5YVdkb2RGUm9kVzFpUkdsemRHRnNKeXhjYmlBZ0ozSnBaMmgwU1c1a1pYaFFjbTk0YVcxaGJDY3NYRzRnSUNkeWFXZG9kRWx1WkdWNFNXNTBaWEp0WldScFlYUmxKeXhjYmlBZ0ozSnBaMmgwU1c1a1pYaEVhWE4wWVd3bkxGeHVJQ0FuY21sbmFIUk5hV1JrYkdWUWNtOTRhVzFoYkNjc1hHNGdJQ2R5YVdkb2RFMXBaR1JzWlVsdWRHVnliV1ZrYVdGMFpTY3NYRzRnSUNkeWFXZG9kRTFwWkdSc1pVUnBjM1JoYkNjc1hHNGdJQ2R5YVdkb2RGSnBibWRRY205NGFXMWhiQ2NzWEc0Z0lDZHlhV2RvZEZKcGJtZEpiblJsY20xbFpHbGhkR1VuTEZ4dUlDQW5jbWxuYUhSU2FXNW5SR2x6ZEdGc0p5eGNiaUFnSjNKcFoyaDBUR2wwZEd4bFVISnZlR2x0WVd3bkxGeHVJQ0FuY21sbmFIUk1hWFIwYkdWSmJuUmxjbTFsWkdsaGRHVW5MRnh1SUNBbmNtbG5hSFJNYVhSMGJHVkVhWE4wWVd3bkxGeHVYVHRjYmlJc0lpOHFJR1Z6YkdsdWRDMWthWE5oWW14bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVZVzFwYm1jdFkyOXVkbVZ1ZEdsdmJpQXFMMXh1WEc0dktpcGNiaUFxSUZSb1pTQnVZVzFsY3lCdlppQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1dmFXUjlJR0p2Ym1VZ2JtRnRaWE11WEc0Z0tseHVJQ29nVW1WbU9pQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZkbkp0TFdNdmRuSnRMWE53WldOcFptbGpZWFJwYjI0dllteHZZaTl0WVhOMFpYSXZjM0JsWTJsbWFXTmhkR2x2Ymk5V1VrMURYM1p5YlMweExqQXZhSFZ0WVc1dmFXUXViV1JjYmlBcUwxeHVaWGh3YjNKMElHTnZibk4wSUZaU1RVaDFiV0Z1UW05dVpVNWhiV1VnUFNCN1hHNGdJRWhwY0hNNklDZG9hWEJ6Snl4Y2JpQWdVM0JwYm1VNklDZHpjR2x1WlNjc1hHNGdJRU5vWlhOME9pQW5ZMmhsYzNRbkxGeHVJQ0JWY0hCbGNrTm9aWE4wT2lBbmRYQndaWEpEYUdWemRDY3NYRzRnSUU1bFkyczZJQ2R1WldOckp5eGNibHh1SUNCSVpXRmtPaUFuYUdWaFpDY3NYRzRnSUV4bFpuUkZlV1U2SUNkc1pXWjBSWGxsSnl4Y2JpQWdVbWxuYUhSRmVXVTZJQ2R5YVdkb2RFVjVaU2NzWEc0Z0lFcGhkem9nSjJwaGR5Y3NYRzVjYmlBZ1RHVm1kRlZ3Y0dWeVRHVm5PaUFuYkdWbWRGVndjR1Z5VEdWbkp5eGNiaUFnVEdWbWRFeHZkMlZ5VEdWbk9pQW5iR1ZtZEV4dmQyVnlUR1ZuSnl4Y2JpQWdUR1ZtZEVadmIzUTZJQ2RzWldaMFJtOXZkQ2NzWEc0Z0lFeGxablJVYjJWek9pQW5iR1ZtZEZSdlpYTW5MRnh1WEc0Z0lGSnBaMmgwVlhCd1pYSk1aV2M2SUNkeWFXZG9kRlZ3Y0dWeVRHVm5KeXhjYmlBZ1VtbG5hSFJNYjNkbGNreGxaem9nSjNKcFoyaDBURzkzWlhKTVpXY25MRnh1SUNCU2FXZG9kRVp2YjNRNklDZHlhV2RvZEVadmIzUW5MRnh1SUNCU2FXZG9kRlJ2WlhNNklDZHlhV2RvZEZSdlpYTW5MRnh1WEc0Z0lFeGxablJUYUc5MWJHUmxjam9nSjJ4bFpuUlRhRzkxYkdSbGNpY3NYRzRnSUV4bFpuUlZjSEJsY2tGeWJUb2dKMnhsWm5SVmNIQmxja0Z5YlNjc1hHNGdJRXhsWm5STWIzZGxja0Z5YlRvZ0oyeGxablJNYjNkbGNrRnliU2NzWEc0Z0lFeGxablJJWVc1a09pQW5iR1ZtZEVoaGJtUW5MRnh1WEc0Z0lGSnBaMmgwVTJodmRXeGtaWEk2SUNkeWFXZG9kRk5vYjNWc1pHVnlKeXhjYmlBZ1VtbG5hSFJWY0hCbGNrRnliVG9nSjNKcFoyaDBWWEJ3WlhKQmNtMG5MRnh1SUNCU2FXZG9kRXh2ZDJWeVFYSnRPaUFuY21sbmFIUk1iM2RsY2tGeWJTY3NYRzRnSUZKcFoyaDBTR0Z1WkRvZ0ozSnBaMmgwU0dGdVpDY3NYRzVjYmlBZ1RHVm1kRlJvZFcxaVRXVjBZV05oY25CaGJEb2dKMnhsWm5SVWFIVnRZazFsZEdGallYSndZV3duTEZ4dUlDQk1aV1owVkdoMWJXSlFjbTk0YVcxaGJEb2dKMnhsWm5SVWFIVnRZbEJ5YjNocGJXRnNKeXhjYmlBZ1RHVm1kRlJvZFcxaVJHbHpkR0ZzT2lBbmJHVm1kRlJvZFcxaVJHbHpkR0ZzSnl4Y2JpQWdUR1ZtZEVsdVpHVjRVSEp2ZUdsdFlXdzZJQ2RzWldaMFNXNWtaWGhRY205NGFXMWhiQ2NzWEc0Z0lFeGxablJKYm1SbGVFbHVkR1Z5YldWa2FXRjBaVG9nSjJ4bFpuUkpibVJsZUVsdWRHVnliV1ZrYVdGMFpTY3NYRzRnSUV4bFpuUkpibVJsZUVScGMzUmhiRG9nSjJ4bFpuUkpibVJsZUVScGMzUmhiQ2NzWEc0Z0lFeGxablJOYVdSa2JHVlFjbTk0YVcxaGJEb2dKMnhsWm5STmFXUmtiR1ZRY205NGFXMWhiQ2NzWEc0Z0lFeGxablJOYVdSa2JHVkpiblJsY20xbFpHbGhkR1U2SUNkc1pXWjBUV2xrWkd4bFNXNTBaWEp0WldScFlYUmxKeXhjYmlBZ1RHVm1kRTFwWkdSc1pVUnBjM1JoYkRvZ0oyeGxablJOYVdSa2JHVkVhWE4wWVd3bkxGeHVJQ0JNWldaMFVtbHVaMUJ5YjNocGJXRnNPaUFuYkdWbWRGSnBibWRRY205NGFXMWhiQ2NzWEc0Z0lFeGxablJTYVc1blNXNTBaWEp0WldScFlYUmxPaUFuYkdWbWRGSnBibWRKYm5SbGNtMWxaR2xoZEdVbkxGeHVJQ0JNWldaMFVtbHVaMFJwYzNSaGJEb2dKMnhsWm5SU2FXNW5SR2x6ZEdGc0p5eGNiaUFnVEdWbWRFeHBkSFJzWlZCeWIzaHBiV0ZzT2lBbmJHVm1kRXhwZEhSc1pWQnliM2hwYldGc0p5eGNiaUFnVEdWbWRFeHBkSFJzWlVsdWRHVnliV1ZrYVdGMFpUb2dKMnhsWm5STWFYUjBiR1ZKYm5SbGNtMWxaR2xoZEdVbkxGeHVJQ0JNWldaMFRHbDBkR3hsUkdsemRHRnNPaUFuYkdWbWRFeHBkSFJzWlVScGMzUmhiQ2NzWEc1Y2JpQWdVbWxuYUhSVWFIVnRZazFsZEdGallYSndZV3c2SUNkeWFXZG9kRlJvZFcxaVRXVjBZV05oY25CaGJDY3NYRzRnSUZKcFoyaDBWR2gxYldKUWNtOTRhVzFoYkRvZ0ozSnBaMmgwVkdoMWJXSlFjbTk0YVcxaGJDY3NYRzRnSUZKcFoyaDBWR2gxYldKRWFYTjBZV3c2SUNkeWFXZG9kRlJvZFcxaVJHbHpkR0ZzSnl4Y2JpQWdVbWxuYUhSSmJtUmxlRkJ5YjNocGJXRnNPaUFuY21sbmFIUkpibVJsZUZCeWIzaHBiV0ZzSnl4Y2JpQWdVbWxuYUhSSmJtUmxlRWx1ZEdWeWJXVmthV0YwWlRvZ0ozSnBaMmgwU1c1a1pYaEpiblJsY20xbFpHbGhkR1VuTEZ4dUlDQlNhV2RvZEVsdVpHVjRSR2x6ZEdGc09pQW5jbWxuYUhSSmJtUmxlRVJwYzNSaGJDY3NYRzRnSUZKcFoyaDBUV2xrWkd4bFVISnZlR2x0WVd3NklDZHlhV2RvZEUxcFpHUnNaVkJ5YjNocGJXRnNKeXhjYmlBZ1VtbG5hSFJOYVdSa2JHVkpiblJsY20xbFpHbGhkR1U2SUNkeWFXZG9kRTFwWkdSc1pVbHVkR1Z5YldWa2FXRjBaU2NzWEc0Z0lGSnBaMmgwVFdsa1pHeGxSR2x6ZEdGc09pQW5jbWxuYUhSTmFXUmtiR1ZFYVhOMFlXd25MRnh1SUNCU2FXZG9kRkpwYm1kUWNtOTRhVzFoYkRvZ0ozSnBaMmgwVW1sdVoxQnliM2hwYldGc0p5eGNiaUFnVW1sbmFIUlNhVzVuU1c1MFpYSnRaV1JwWVhSbE9pQW5jbWxuYUhSU2FXNW5TVzUwWlhKdFpXUnBZWFJsSnl4Y2JpQWdVbWxuYUhSU2FXNW5SR2x6ZEdGc09pQW5jbWxuYUhSU2FXNW5SR2x6ZEdGc0p5eGNiaUFnVW1sbmFIUk1hWFIwYkdWUWNtOTRhVzFoYkRvZ0ozSnBaMmgwVEdsMGRHeGxVSEp2ZUdsdFlXd25MRnh1SUNCU2FXZG9kRXhwZEhSc1pVbHVkR1Z5YldWa2FXRjBaVG9nSjNKcFoyaDBUR2wwZEd4bFNXNTBaWEp0WldScFlYUmxKeXhjYmlBZ1VtbG5hSFJNYVhSMGJHVkVhWE4wWVd3NklDZHlhV2RvZEV4cGRIUnNaVVJwYzNSaGJDY3NYRzU5SUdGeklHTnZibk4wTzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JXVWsxSWRXMWhia0p2Ym1WT1lXMWxJRDBnZEhsd1pXOW1JRlpTVFVoMWJXRnVRbTl1WlU1aGJXVmJhMlY1YjJZZ2RIbHdaVzltSUZaU1RVaDFiV0Z1UW05dVpVNWhiV1ZkTzF4dUlpd2lMeW9nWlhOc2FXNTBMV1JwYzJGaWJHVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMMjVoYldsdVp5MWpiMjUyWlc1MGFXOXVJQ292WEc1Y2JtbHRjRzl5ZENCN0lGWlNUVWgxYldGdVFtOXVaVTVoYldVZ2ZTQm1jbTl0SUNjdUwxWlNUVWgxYldGdVFtOXVaVTVoYldVbk8xeHVYRzR2S2lwY2JpQXFJRUZ1SUc5aWFtVmpkQ0IwYUdGMElHMWhjSE1nWm5KdmJTQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1Q2IyNWxUbUZ0WlgwZ2RHOGdhWFJ6SUhCaGNtVnVkQ0I3UUd4cGJtc2dWbEpOU0hWdFlXNUNiMjVsVG1GdFpYMHVYRzRnS2x4dUlDb2dVbVZtT2lCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmRuSnRMV012ZG5KdExYTndaV05wWm1sallYUnBiMjR2WW14dllpOXRZWE4wWlhJdmMzQmxZMmxtYVdOaGRHbHZiaTlXVWsxRFgzWnliUzB4TGpBdmFIVnRZVzV2YVdRdWJXUmNiaUFxTDF4dVpYaHdiM0owSUdOdmJuTjBJRlpTVFVoMWJXRnVRbTl1WlZCaGNtVnVkRTFoY0RvZ2V5QmJZbTl1WlNCcGJpQldVazFJZFcxaGJrSnZibVZPWVcxbFhUb2dWbEpOU0hWdFlXNUNiMjVsVG1GdFpTQjhJRzUxYkd3Z2ZTQTlJSHRjYmlBZ2FHbHdjem9nYm5Wc2JDeGNiaUFnYzNCcGJtVTZJQ2RvYVhCekp5eGNiaUFnWTJobGMzUTZJQ2R6Y0dsdVpTY3NYRzRnSUhWd2NHVnlRMmhsYzNRNklDZGphR1Z6ZENjc1hHNGdJRzVsWTJzNklDZDFjSEJsY2tOb1pYTjBKeXhjYmx4dUlDQm9aV0ZrT2lBbmJtVmpheWNzWEc0Z0lHeGxablJGZVdVNklDZG9aV0ZrSnl4Y2JpQWdjbWxuYUhSRmVXVTZJQ2RvWldGa0p5eGNiaUFnYW1GM09pQW5hR1ZoWkNjc1hHNWNiaUFnYkdWbWRGVndjR1Z5VEdWbk9pQW5hR2x3Y3ljc1hHNGdJR3hsWm5STWIzZGxja3hsWnpvZ0oyeGxablJWY0hCbGNreGxaeWNzWEc0Z0lHeGxablJHYjI5ME9pQW5iR1ZtZEV4dmQyVnlUR1ZuSnl4Y2JpQWdiR1ZtZEZSdlpYTTZJQ2RzWldaMFJtOXZkQ2NzWEc1Y2JpQWdjbWxuYUhSVmNIQmxja3hsWnpvZ0oyaHBjSE1uTEZ4dUlDQnlhV2RvZEV4dmQyVnlUR1ZuT2lBbmNtbG5hSFJWY0hCbGNreGxaeWNzWEc0Z0lISnBaMmgwUm05dmREb2dKM0pwWjJoMFRHOTNaWEpNWldjbkxGeHVJQ0J5YVdkb2RGUnZaWE02SUNkeWFXZG9kRVp2YjNRbkxGeHVYRzRnSUd4bFpuUlRhRzkxYkdSbGNqb2dKM1Z3Y0dWeVEyaGxjM1FuTEZ4dUlDQnNaV1owVlhCd1pYSkJjbTA2SUNkc1pXWjBVMmh2ZFd4a1pYSW5MRnh1SUNCc1pXWjBURzkzWlhKQmNtMDZJQ2RzWldaMFZYQndaWEpCY20wbkxGeHVJQ0JzWldaMFNHRnVaRG9nSjJ4bFpuUk1iM2RsY2tGeWJTY3NYRzVjYmlBZ2NtbG5hSFJUYUc5MWJHUmxjam9nSjNWd2NHVnlRMmhsYzNRbkxGeHVJQ0J5YVdkb2RGVndjR1Z5UVhKdE9pQW5jbWxuYUhSVGFHOTFiR1JsY2ljc1hHNGdJSEpwWjJoMFRHOTNaWEpCY20wNklDZHlhV2RvZEZWd2NHVnlRWEp0Snl4Y2JpQWdjbWxuYUhSSVlXNWtPaUFuY21sbmFIUk1iM2RsY2tGeWJTY3NYRzVjYmlBZ2JHVm1kRlJvZFcxaVRXVjBZV05oY25CaGJEb2dKMnhsWm5SSVlXNWtKeXhjYmlBZ2JHVm1kRlJvZFcxaVVISnZlR2x0WVd3NklDZHNaV1owVkdoMWJXSk5aWFJoWTJGeWNHRnNKeXhjYmlBZ2JHVm1kRlJvZFcxaVJHbHpkR0ZzT2lBbmJHVm1kRlJvZFcxaVVISnZlR2x0WVd3bkxGeHVJQ0JzWldaMFNXNWtaWGhRY205NGFXMWhiRG9nSjJ4bFpuUklZVzVrSnl4Y2JpQWdiR1ZtZEVsdVpHVjRTVzUwWlhKdFpXUnBZWFJsT2lBbmJHVm1kRWx1WkdWNFVISnZlR2x0WVd3bkxGeHVJQ0JzWldaMFNXNWtaWGhFYVhOMFlXdzZJQ2RzWldaMFNXNWtaWGhKYm5SbGNtMWxaR2xoZEdVbkxGeHVJQ0JzWldaMFRXbGtaR3hsVUhKdmVHbHRZV3c2SUNkc1pXWjBTR0Z1WkNjc1hHNGdJR3hsWm5STmFXUmtiR1ZKYm5SbGNtMWxaR2xoZEdVNklDZHNaV1owVFdsa1pHeGxVSEp2ZUdsdFlXd25MRnh1SUNCc1pXWjBUV2xrWkd4bFJHbHpkR0ZzT2lBbmJHVm1kRTFwWkdSc1pVbHVkR1Z5YldWa2FXRjBaU2NzWEc0Z0lHeGxablJTYVc1blVISnZlR2x0WVd3NklDZHNaV1owU0dGdVpDY3NYRzRnSUd4bFpuUlNhVzVuU1c1MFpYSnRaV1JwWVhSbE9pQW5iR1ZtZEZKcGJtZFFjbTk0YVcxaGJDY3NYRzRnSUd4bFpuUlNhVzVuUkdsemRHRnNPaUFuYkdWbWRGSnBibWRKYm5SbGNtMWxaR2xoZEdVbkxGeHVJQ0JzWldaMFRHbDBkR3hsVUhKdmVHbHRZV3c2SUNkc1pXWjBTR0Z1WkNjc1hHNGdJR3hsWm5STWFYUjBiR1ZKYm5SbGNtMWxaR2xoZEdVNklDZHNaV1owVEdsMGRHeGxVSEp2ZUdsdFlXd25MRnh1SUNCc1pXWjBUR2wwZEd4bFJHbHpkR0ZzT2lBbmJHVm1kRXhwZEhSc1pVbHVkR1Z5YldWa2FXRjBaU2NzWEc1Y2JpQWdjbWxuYUhSVWFIVnRZazFsZEdGallYSndZV3c2SUNkeWFXZG9kRWhoYm1RbkxGeHVJQ0J5YVdkb2RGUm9kVzFpVUhKdmVHbHRZV3c2SUNkeWFXZG9kRlJvZFcxaVRXVjBZV05oY25CaGJDY3NYRzRnSUhKcFoyaDBWR2gxYldKRWFYTjBZV3c2SUNkeWFXZG9kRlJvZFcxaVVISnZlR2x0WVd3bkxGeHVJQ0J5YVdkb2RFbHVaR1Y0VUhKdmVHbHRZV3c2SUNkeWFXZG9kRWhoYm1RbkxGeHVJQ0J5YVdkb2RFbHVaR1Y0U1c1MFpYSnRaV1JwWVhSbE9pQW5jbWxuYUhSSmJtUmxlRkJ5YjNocGJXRnNKeXhjYmlBZ2NtbG5hSFJKYm1SbGVFUnBjM1JoYkRvZ0ozSnBaMmgwU1c1a1pYaEpiblJsY20xbFpHbGhkR1VuTEZ4dUlDQnlhV2RvZEUxcFpHUnNaVkJ5YjNocGJXRnNPaUFuY21sbmFIUklZVzVrSnl4Y2JpQWdjbWxuYUhSTmFXUmtiR1ZKYm5SbGNtMWxaR2xoZEdVNklDZHlhV2RvZEUxcFpHUnNaVkJ5YjNocGJXRnNKeXhjYmlBZ2NtbG5hSFJOYVdSa2JHVkVhWE4wWVd3NklDZHlhV2RvZEUxcFpHUnNaVWx1ZEdWeWJXVmthV0YwWlNjc1hHNGdJSEpwWjJoMFVtbHVaMUJ5YjNocGJXRnNPaUFuY21sbmFIUklZVzVrSnl4Y2JpQWdjbWxuYUhSU2FXNW5TVzUwWlhKdFpXUnBZWFJsT2lBbmNtbG5hSFJTYVc1blVISnZlR2x0WVd3bkxGeHVJQ0J5YVdkb2RGSnBibWRFYVhOMFlXdzZJQ2R5YVdkb2RGSnBibWRKYm5SbGNtMWxaR2xoZEdVbkxGeHVJQ0J5YVdkb2RFeHBkSFJzWlZCeWIzaHBiV0ZzT2lBbmNtbG5hSFJJWVc1a0p5eGNiaUFnY21sbmFIUk1hWFIwYkdWSmJuUmxjbTFsWkdsaGRHVTZJQ2R5YVdkb2RFeHBkSFJzWlZCeWIzaHBiV0ZzSnl4Y2JpQWdjbWxuYUhSTWFYUjBiR1ZFYVhOMFlXdzZJQ2R5YVdkb2RFeHBkSFJzWlVsdWRHVnliV1ZrYVdGMFpTY3NYRzU5TzF4dUlpd2lhVzF3YjNKMElDb2dZWE1nVkVoU1JVVWdabkp2YlNBbmRHaHlaV1VuTzF4dVhHNHZLaXBjYmlBcUlFRWdZMjl0Y0dGMElHWjFibU4wYVc5dUlHWnZjaUJnVVhWaGRHVnlibWx2Ymk1cGJuWmxjblFvS1dBZ0x5QmdVWFZoZEdWeWJtbHZiaTVwYm5abGNuTmxLQ2xnTGx4dUlDb2dZRkYxWVhSbGNtNXBiMjR1YVc1MlpYSjBLQ2xnSUdseklHbHVkSEp2WkhWalpXUWdhVzRnY2pFeU15QmhibVFnWUZGMVlYUmxjbTVwYjI0dWFXNTJaWEp6WlNncFlDQmxiV2wwY3lCaElIZGhjbTVwYm1jdVhHNGdLaUJYWlNCaGNtVWdaMjlwYm1jZ2RHOGdkWE5sSUhSb2FYTWdZMjl0Y0dGMElHWnZjaUJoSUhkb2FXeGxMbHh1SUNvZ1FIQmhjbUZ0SUhSaGNtZGxkQ0JCSUhSaGNtZGxkQ0J4ZFdGMFpYSnVhVzl1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnhkV0YwU1c1MlpYSjBRMjl0Y0dGMFBGUWdaWGgwWlc1a2N5QlVTRkpGUlM1UmRXRjBaWEp1YVc5dVBpaDBZWEpuWlhRNklGUXBPaUJVSUh0Y2JpQWdhV1lnS0NoMFlYSm5aWFFnWVhNZ1lXNTVLUzVwYm5abGNuUXBJSHRjYmlBZ0lDQjBZWEpuWlhRdWFXNTJaWEowS0NrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ0tIUmhjbWRsZENCaGN5QmhibmtwTG1sdWRtVnljMlVvS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMFlYSm5aWFE3WEc1OVhHNGlMQ0pwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNXBiWEJ2Y25RZ2V5QnhkV0YwU1c1MlpYSjBRMjl0Y0dGMElIMGdabkp2YlNBbkxpNHZkWFJwYkhNdmNYVmhkRWx1ZG1WeWRFTnZiWEJoZENjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZaU1RVaDFiV0Z1UW05dVpTQjlJR1p5YjIwZ0p5NHZWbEpOU0hWdFlXNUNiMjVsSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlNIVnRZVzVDYjI1bGN5QjlJR1p5YjIwZ0p5NHZWbEpOU0hWdFlXNUNiMjVsY3ljN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZaU1RVaDFiV0Z1UW05dVpVNWhiV1VnZlNCbWNtOXRJQ2N1TDFaU1RVaDFiV0Z1UW05dVpVNWhiV1VuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJXVWsxUWIzTmxJSDBnWm5KdmJTQW5MaTlXVWsxUWIzTmxKenRjYmx4dVkyOXVjM1FnWDNZelFTQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1amIyNXpkQ0JmY1hWaGRFRWdQU0J1WlhjZ1ZFaFNSVVV1VVhWaGRHVnlibWx2YmlncE8xeHVYRzR2S2lwY2JpQXFJRUVnWTJ4aGMzTWdjbVZ3Y21WelpXNTBjeUIwYUdVZ1VtbG5JRzltSUdFZ1ZsSk5MbHh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVmxKTlVtbG5JSHRjYmlBZ0x5b3FYRzRnSUNBcUlFRWdlMEJzYVc1cklGWlNUVWgxYldGdVFtOXVaWE45SUhSb1lYUWdZMjl1ZEdGcGJuTWdZV3hzSUhSb1pTQm9kVzFoYmlCaWIyNWxjeUJ2WmlCMGFHVWdWbEpOTGx4dUlDQWdLaUJaYjNVZ2JXbG5hSFFnZDJGdWRDQjBieUJuWlhRZ2RHaGxjMlVnWW05dVpYTWdkWE5wYm1jZ2UwQnNhVzVySUZaU1RVaDFiV0Z1YjJsa0xtZGxkRUp2Ym1WOUxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHaDFiV0Z1UW05dVpYTTZJRlpTVFVoMWJXRnVRbTl1WlhNN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVFZ2UwQnNhVzVySUZaU1RWQnZjMlY5SUhSb1lYUWdhWE1nYVhSeklHUmxabUYxYkhRZ2MzUmhkR1V1WEc0Z0lDQXFJRTV2ZEdVZ2RHaGhkQ0JwZENkeklHNXZkQ0JqYjIxd1lYUnBZbXhsSUhkcGRHZ2dlMEJzYVc1cklITmxkRkJ2YzJWOUlHRnVaQ0I3UUd4cGJtc2daMlYwVUc5elpYMHNJSE5wYm1ObElHbDBJR052Ym5SaGFXNXpJRzV2YmkxeVpXeGhkR2wyWlNCMllXeDFaWE1nYjJZZ1pXRmphQ0JzYjJOaGJDQjBjbUZ1YzJadmNtMXpMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpsYzNSUWIzTmxPaUJXVWsxUWIzTmxPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRjbVZoZEdVZ1lTQnVaWGNnZTBCc2FXNXJJRlpTVFVoMWJXRnViMmxrZlM1Y2JpQWdJQ29nUUhCaGNtRnRJR2gxYldGdVFtOXVaWE1nUVNCN1FHeHBibXNnVmxKTlNIVnRZVzVDYjI1bGMzMGdZMjl1ZEdGcGJuTWdZV3hzSUhSb1pTQmliMjVsY3lCdlppQjBhR1VnYm1WM0lHaDFiV0Z1YjJsa1hHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9hSFZ0WVc1Q2IyNWxjem9nVmxKTlNIVnRZVzVDYjI1bGN5a2dlMXh1SUNBZ0lIUm9hWE11YUhWdFlXNUNiMjVsY3lBOUlHaDFiV0Z1UW05dVpYTTdYRzVjYmlBZ0lDQjBhR2x6TG5KbGMzUlFiM05sSUQwZ2RHaHBjeTVuWlhSQlluTnZiSFYwWlZCdmMyVW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnZEdobElHTjFjbkpsYm5RZ1lXSnpiMngxZEdVZ2NHOXpaU0J2WmlCMGFHbHpJR2gxYldGdWIybGtJR0Z6SUdFZ2UwQnNhVzVySUZaU1RWQnZjMlY5TGx4dUlDQWdLaUJPYjNSbElIUm9ZWFFnZEdobElHOTFkSEIxZENCeVpYTjFiSFFnZDJsc2JDQmpiMjUwWVdsdUlHbHVhWFJwWVd3Z2MzUmhkR1VnYjJZZ2RHaGxJRlpTVFNCaGJtUWdibTkwSUdOdmJYQmhkR2xpYkdVZ1ltVjBkMlZsYmlCa2FXWm1aWEpsYm5RZ2JXOWtaV3h6TGx4dUlDQWdLaUJaYjNVZ2JXbG5hSFFnZDJGdWRDQjBieUIxYzJVZ2UwQnNhVzVySUdkbGRGQnZjMlY5SUdsdWMzUmxZV1F1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWjJWMFFXSnpiMngxZEdWUWIzTmxLQ2s2SUZaU1RWQnZjMlVnZTF4dUlDQWdJR052Ym5OMElIQnZjMlVnUFNCN2ZTQmhjeUJXVWsxUWIzTmxPMXh1WEc0Z0lDQWdUMkpxWldOMExtdGxlWE1vZEdocGN5NW9kVzFoYmtKdmJtVnpLUzVtYjNKRllXTm9LQ2gyY20xQ2IyNWxUbUZ0WlZOMGNtbHVaeWtnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnZG5KdFFtOXVaVTVoYldVZ1BTQjJjbTFDYjI1bFRtRnRaVk4wY21sdVp5QmhjeUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxPMXh1SUNBZ0lDQWdZMjl1YzNRZ2JtOWtaU0E5SUhSb2FYTXVaMlYwUW05dVpVNXZaR1VvZG5KdFFtOXVaVTVoYldVcE8xeHVYRzRnSUNBZ0lDQXZMeUJKWjI1dmNtVWdkMmhsYmlCMGFHVnlaU0JoY21VZ2JtOGdZbTl1WlNCdmJpQjBhR1VnVmxKTlNIVnRZVzV2YVdSY2JpQWdJQ0FnSUdsbUlDZ2hibTlrWlNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDOHZJRWRsZENCMGFHVWdjRzl6YVhScGIyNGdMeUJ5YjNSaGRHbHZiaUJtY205dElIUm9aU0J1YjJSbFhHNGdJQ0FnSUNCZmRqTkJMbU52Y0hrb2JtOWtaUzV3YjNOcGRHbHZiaWs3WEc0Z0lDQWdJQ0JmY1hWaGRFRXVZMjl3ZVNodWIyUmxMbkYxWVhSbGNtNXBiMjRwTzF4dVhHNGdJQ0FnSUNBdkx5QkRiMjUyWlhKMElIUnZJSEpoZHlCaGNuSmhlWE5jYmlBZ0lDQWdJSEJ2YzJWYmRuSnRRbTl1WlU1aGJXVmRJRDBnZTF4dUlDQWdJQ0FnSUNCd2IzTnBkR2x2YmpvZ1gzWXpRUzUwYjBGeWNtRjVLQ2tnWVhNZ1cyNTFiV0psY2l3Z2JuVnRZbVZ5TENCdWRXMWlaWEpkTEZ4dUlDQWdJQ0FnSUNCeWIzUmhkR2x2YmpvZ1gzRjFZWFJCTG5SdlFYSnlZWGtvS1NCaGN5QmJiblZ0WW1WeUxDQnVkVzFpWlhJc0lHNTFiV0psY2l3Z2JuVnRZbVZ5WFN4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnY0c5elpUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkR2hsSUdOMWNuSmxiblFnY0c5elpTQnZaaUIwYUdseklHaDFiV0Z1YjJsa0lHRnpJR0VnZTBCc2FXNXJJRlpTVFZCdmMyVjlMbHh1SUNBZ0tseHVJQ0FnS2lCRllXTm9JSFJ5WVc1elptOXliU0JwY3lCaElHeHZZMkZzSUhSeVlXNXpabTl5YlNCeVpXeGhkR2wyWlNCbWNtOXRJSEpsYzNRZ2NHOXpaU0FvVkMxd2IzTmxLUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhSUWIzTmxLQ2s2SUZaU1RWQnZjMlVnZTF4dUlDQWdJR052Ym5OMElIQnZjMlVnUFNCN2ZTQmhjeUJXVWsxUWIzTmxPMXh1WEc0Z0lDQWdUMkpxWldOMExtdGxlWE1vZEdocGN5NW9kVzFoYmtKdmJtVnpLUzVtYjNKRllXTm9LQ2hpYjI1bFRtRnRaVk4wY21sdVp5a2dQVDRnZTF4dUlDQWdJQ0FnWTI5dWMzUWdZbTl1WlU1aGJXVWdQU0JpYjI1bFRtRnRaVk4wY21sdVp5QmhjeUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxPMXh1SUNBZ0lDQWdZMjl1YzNRZ2JtOWtaU0E5SUhSb2FYTXVaMlYwUW05dVpVNXZaR1VvWW05dVpVNWhiV1VwTzF4dVhHNGdJQ0FnSUNBdkx5QkpaMjV2Y21VZ2QyaGxiaUIwYUdWeVpTQmhjbVVnYm04Z1ltOXVaU0J2YmlCMGFHVWdWbEpOU0hWdFlXNXZhV1JjYmlBZ0lDQWdJR2xtSUNnaGJtOWtaU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklGUmhhMlVnWVNCa2FXWm1JR1p5YjIwZ2NtVnpkRkJ2YzJWY2JpQWdJQ0FnSUY5Mk0wRXVjMlYwS0RBc0lEQXNJREFwTzF4dUlDQWdJQ0FnWDNGMVlYUkJMbWxrWlc1MGFYUjVLQ2s3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJSEpsYzNSVGRHRjBaU0E5SUhSb2FYTXVjbVZ6ZEZCdmMyVmJZbTl1WlU1aGJXVmRPMXh1SUNBZ0lDQWdhV1lnS0hKbGMzUlRkR0YwWlQ4dWNHOXphWFJwYjI0cElIdGNiaUFnSUNBZ0lDQWdYM1l6UVM1bWNtOXRRWEp5WVhrb2NtVnpkRk4wWVhSbExuQnZjMmwwYVc5dUtTNXVaV2RoZEdVb0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2h5WlhOMFUzUmhkR1UvTG5KdmRHRjBhVzl1S1NCN1hHNGdJQ0FnSUNBZ0lIRjFZWFJKYm5abGNuUkRiMjF3WVhRb1gzRjFZWFJCTG1aeWIyMUJjbkpoZVNoeVpYTjBVM1JoZEdVdWNtOTBZWFJwYjI0cEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdMeThnUjJWMElIUm9aU0J3YjNOcGRHbHZiaUF2SUhKdmRHRjBhVzl1SUdaeWIyMGdkR2hsSUc1dlpHVmNiaUFnSUNBZ0lGOTJNMEV1WVdSa0tHNXZaR1V1Y0c5emFYUnBiMjRwTzF4dUlDQWdJQ0FnWDNGMVlYUkJMbkJ5WlcxMWJIUnBjR3g1S0c1dlpHVXVjWFZoZEdWeWJtbHZiaWs3WEc1Y2JpQWdJQ0FnSUM4dklFTnZiblpsY25RZ2RHOGdjbUYzSUdGeWNtRjVjMXh1SUNBZ0lDQWdjRzl6WlZ0aWIyNWxUbUZ0WlYwZ1BTQjdYRzRnSUNBZ0lDQWdJSEJ2YzJsMGFXOXVPaUJmZGpOQkxuUnZRWEp5WVhrb0tTQmhjeUJiYm5WdFltVnlMQ0J1ZFcxaVpYSXNJRzUxYldKbGNsMHNYRzRnSUNBZ0lDQWdJSEp2ZEdGMGFXOXVPaUJmY1hWaGRFRXVkRzlCY25KaGVTZ3BJR0Z6SUZ0dWRXMWlaWElzSUc1MWJXSmxjaXdnYm5WdFltVnlMQ0J1ZFcxaVpYSmRMRnh1SUNBZ0lDQWdmVHRjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQndiM05sTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFeGxkQ0IwYUdVZ2FIVnRZVzV2YVdRZ1pHOGdZU0J6Y0dWamFXWnBaV1FnY0c5elpTNWNiaUFnSUNwY2JpQWdJQ29nUldGamFDQjBjbUZ1YzJadmNtMGdhR0YyWlNCMGJ5QmlaU0JoSUd4dlkyRnNJSFJ5WVc1elptOXliU0J5Wld4aGRHbDJaU0JtY205dElISmxjM1FnY0c5elpTQW9WQzF3YjNObEtTNWNiaUFnSUNvZ1dXOTFJR05oYmlCd1lYTnpJSGRvWVhRZ2VXOTFJR2R2ZENCbWNtOXRJSHRBYkdsdWF5Qm5aWFJRYjNObGZTNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJSEJ2YzJWUFltcGxZM1FnUVNCYlcxWlNUVkJ2YzJWZFhTQjBhR0YwSUhKbGNISmxjMlZ1ZEhNZ1lTQnphVzVuYkdVZ2NHOXpaVnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSE5sZEZCdmMyVW9jRzl6WlU5aWFtVmpkRG9nVmxKTlVHOXpaU2s2SUhadmFXUWdlMXh1SUNBZ0lFOWlhbVZqZEM1bGJuUnlhV1Z6S0hCdmMyVlBZbXBsWTNRcExtWnZja1ZoWTJnb0tGdGliMjVsVG1GdFpWTjBjbWx1Wnl3Z2MzUmhkR1ZkS1NBOVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCaWIyNWxUbUZ0WlNBOUlHSnZibVZPWVcxbFUzUnlhVzVuSUdGeklGWlNUVWgxYldGdVFtOXVaVTVoYldVN1hHNGdJQ0FnSUNCamIyNXpkQ0J1YjJSbElEMGdkR2hwY3k1blpYUkNiMjVsVG05a1pTaGliMjVsVG1GdFpTazdYRzVjYmlBZ0lDQWdJQzh2SUVsbmJtOXlaU0IzYUdWdUlIUm9aWEpsSUdGeVpTQnVieUJpYjI1bElIUm9ZWFFnYVhNZ1pHVm1hVzVsWkNCcGJpQjBhR1VnY0c5elpTQnZiaUIwYUdVZ1ZsSk5TSFZ0WVc1dmFXUmNiaUFnSUNBZ0lHbG1JQ2doYm05a1pTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR052Ym5OMElISmxjM1JUZEdGMFpTQTlJSFJvYVhNdWNtVnpkRkJ2YzJWYlltOXVaVTVoYldWZE8xeHVJQ0FnSUNBZ2FXWWdLQ0Z5WlhOMFUzUmhkR1VwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdTWFFuY3lCMlpYSjVJSFZ1YkdsclpXeDVMaUJRYjNOemFXSnNlU0JoSUdKMVoxeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDOHZJRUZ3Y0d4NUlIUm9aU0J6ZEdGMFpTQjBieUIwYUdVZ1lXTjBkV0ZzSUdKdmJtVmNiaUFnSUNBZ0lHbG1JQ2h6ZEdGMFpUOHVjRzl6YVhScGIyNHBJSHRjYmlBZ0lDQWdJQ0FnYm05a1pTNXdiM05wZEdsdmJpNW1jbTl0UVhKeVlYa29jM1JoZEdVdWNHOXphWFJwYjI0cE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTjBVM1JoZEdVdWNHOXphWFJwYjI0cElIdGNiaUFnSUNBZ0lDQWdJQ0J1YjJSbExuQnZjMmwwYVc5dUxtRmtaQ2hmZGpOQkxtWnliMjFCY25KaGVTaHlaWE4wVTNSaGRHVXVjRzl6YVhScGIyNHBLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9jM1JoZEdVL0xuSnZkR0YwYVc5dUtTQjdYRzRnSUNBZ0lDQWdJRzV2WkdVdWNYVmhkR1Z5Ym1sdmJpNW1jbTl0UVhKeVlYa29jM1JoZEdVdWNtOTBZWFJwYjI0cE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTjBVM1JoZEdVdWNtOTBZWFJwYjI0cElIdGNiaUFnSUNBZ0lDQWdJQ0J1YjJSbExuRjFZWFJsY201cGIyNHViWFZzZEdsd2JIa29YM0YxWVhSQkxtWnliMjFCY25KaGVTaHlaWE4wVTNSaGRHVXVjbTkwWVhScGIyNHBLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxjMlYwSUhSb1pTQm9kVzFoYm05cFpDQjBieUJwZEhNZ2NtVnpkQ0J3YjNObExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklISmxjMlYwVUc5elpTZ3BPaUIyYjJsa0lIdGNiaUFnSUNCUFltcGxZM1F1Wlc1MGNtbGxjeWgwYUdsekxuSmxjM1JRYjNObEtTNW1iM0pGWVdOb0tDaGJZbTl1WlU1aGJXVXNJSEpsYzNSZEtTQTlQaUI3WEc0Z0lDQWdJQ0JqYjI1emRDQnViMlJsSUQwZ2RHaHBjeTVuWlhSQ2IyNWxUbTlrWlNoaWIyNWxUbUZ0WlNCaGN5QldVazFJZFcxaGJrSnZibVZPWVcxbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0NGdWIyUmxLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tISmxjM1EvTG5CdmMybDBhVzl1S1NCN1hHNGdJQ0FnSUNBZ0lHNXZaR1V1Y0c5emFYUnBiMjR1Wm5KdmJVRnljbUY1S0hKbGMzUXVjRzl6YVhScGIyNHBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2NtVnpkRDh1Y205MFlYUnBiMjRwSUh0Y2JpQWdJQ0FnSUNBZ2JtOWtaUzV4ZFdGMFpYSnVhVzl1TG1aeWIyMUJjbkpoZVNoeVpYTjBMbkp2ZEdGMGFXOXVLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnWVNCaWIyNWxJR0p2ZFc1a0lIUnZJR0VnYzNCbFkybG1hV1ZrSUh0QWJHbHVheUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxmU3dnWVhNZ1lTQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1Q2IyNWxmUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUc1aGJXVWdUbUZ0WlNCdlppQjBhR1VnWW05dVpTQjViM1VnZDJGdWRGeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRUp2Ym1Vb2JtRnRaVG9nVmxKTlNIVnRZVzVDYjI1bFRtRnRaU2s2SUZaU1RVaDFiV0Z1UW05dVpTQjhJSFZ1WkdWbWFXNWxaQ0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YUhWdFlXNUNiMjVsYzF0dVlXMWxYU0EvUHlCMWJtUmxabWx1WldRN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdUlHRWdZbTl1WlNCaWIzVnVaQ0IwYnlCaElITndaV05wWm1sbFpDQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1Q2IyNWxUbUZ0Wlgwc0lHRnpJR0VnWUZSSVVrVkZMazlpYW1WamRETkVZQzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUc1aGJXVWdUbUZ0WlNCdlppQjBhR1VnWW05dVpTQjViM1VnZDJGdWRGeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRUp2Ym1WT2IyUmxLRzVoYldVNklGWlNUVWgxYldGdVFtOXVaVTVoYldVcE9pQlVTRkpGUlM1UFltcGxZM1F6UkNCOElHNTFiR3dnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1oMWJXRnVRbTl1WlhOYmJtRnRaVjAvTG01dlpHVWdQejhnYm5Wc2JEdGNiaUFnZlZ4dWZWeHVJaXdpYVcxd2IzSjBJQ29nWVhNZ1ZFaFNSVVVnWm5KdmJTQW5kR2h5WldVbk8xeHVhVzF3YjNKMElIc2dWbEpOU0hWdFlXNUNiMjVsVG1GdFpTd2dWbEpOU0hWdFlXNUNiMjVsY3lCOUlHWnliMjBnSnk0bk8xeHVhVzF3YjNKMElIc2dWbEpOU0hWdFlXNUNiMjVsVEdsemRDQjlJR1p5YjIwZ0p5NHZWbEpOU0hWdFlXNUNiMjVsVEdsemRDYzdYRzVwYlhCdmNuUWdleUJXVWsxSWRXMWhia0p2Ym1WUVlYSmxiblJOWVhBZ2ZTQm1jbTl0SUNjdUwxWlNUVWgxYldGdVFtOXVaVkJoY21WdWRFMWhjQ2M3WEc1cGJYQnZjblFnZXlCV1VrMVNhV2NnZlNCbWNtOXRJQ2N1TDFaU1RWSnBaeWM3WEc1Y2JtTnZibk4wSUY5Mk0wRWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTzF4dVkyOXVjM1FnWDNGMVlYUkJJRDBnYm1WM0lGUklVa1ZGTGxGMVlYUmxjbTVwYjI0b0tUdGNibU52Ym5OMElGOWliMjVsVjI5eWJHUlFiM01nUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVYRzR2S2lwY2JpQXFJRUVnWTJ4aGMzTWdjbVZ3Y21WelpXNTBjeUIwYUdVZ2JtOXliV0ZzYVhwbFpDQlNhV2NnYjJZZ1lTQldVazB1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCV1VrMUlkVzFoYm05cFpGSnBaeUJsZUhSbGJtUnpJRlpTVFZKcFp5QjdYRzRnSUhCeWIzUmxZM1JsWkNCemRHRjBhV01nWDNObGRIVndWSEpoYm5ObWIzSnRjeWh0YjJSbGJGSnBaem9nVmxKTlVtbG5LVG9nZTF4dUlDQWdJSEpwWjBKdmJtVnpPaUJXVWsxSWRXMWhia0p2Ym1Wek8xeHVJQ0FnSUhKdmIzUTZJRlJJVWtWRkxrOWlhbVZqZERORU8xeHVJQ0FnSUhCaGNtVnVkRmR2Y214a1VtOTBZWFJwYjI1ek9pQjdJRnRpYjI1bFRtRnRaU0JwYmlCV1VrMUlkVzFoYmtKdmJtVk9ZVzFsWFQ4NklGUklVa1ZGTGxGMVlYUmxjbTVwYjI0Z2ZUdGNiaUFnSUNCaWIyNWxVbTkwWVhScGIyNXpPaUI3SUZ0aWIyNWxUbUZ0WlNCcGJpQldVazFJZFcxaGJrSnZibVZPWVcxbFhUODZJRlJJVWtWRkxsRjFZWFJsY201cGIyNGdmVHRjYmlBZ2ZTQjdYRzRnSUNBZ1kyOXVjM1FnY205dmRDQTlJRzVsZHlCVVNGSkZSUzVQWW1wbFkzUXpSQ2dwTzF4dUlDQWdJSEp2YjNRdWJtRnRaU0E5SUNkV1VrMUlkVzFoYm05cFpGSnBaeWM3WEc1Y2JpQWdJQ0F2THlCemRHOXlaU0JpYjI1bFYyOXliR1JRYjNOcGRHbHZibk1nWVc1a0lHSnZibVZYYjNKc1pGSnZkR0YwYVc5dWMxeHVJQ0FnSUdOdmJuTjBJR0p2Ym1WWGIzSnNaRkJ2YzJsMGFXOXVjem9nZXlCYlltOXVaVTVoYldVZ2FXNGdWbEpOU0hWdFlXNUNiMjVsVG1GdFpWMC9PaUJVU0ZKRlJTNVdaV04wYjNJeklIMGdQU0I3ZlR0Y2JpQWdJQ0JqYjI1emRDQmliMjVsVjI5eWJHUlNiM1JoZEdsdmJuTTZJSHNnVzJKdmJtVk9ZVzFsSUdsdUlGWlNUVWgxYldGdVFtOXVaVTVoYldWZFB6b2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpQjlJRDBnZTMwN1hHNGdJQ0FnWTI5dWMzUWdZbTl1WlZKdmRHRjBhVzl1Y3pvZ2V5QmJZbTl1WlU1aGJXVWdhVzRnVmxKTlNIVnRZVzVDYjI1bFRtRnRaVjAvT2lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1SUgwZ1BTQjdmVHRjYmx4dUlDQWdJRlpTVFVoMWJXRnVRbTl1WlV4cGMzUXVabTl5UldGamFDZ29ZbTl1WlU1aGJXVXBJRDArSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR0p2Ym1WT2IyUmxJRDBnYlc5a1pXeFNhV2N1WjJWMFFtOXVaVTV2WkdVb1ltOXVaVTVoYldVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvWW05dVpVNXZaR1VwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWW05dVpWZHZjbXhrVUc5emFYUnBiMjRnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCaWIyNWxWMjl5YkdSU2IzUmhkR2x2YmlBOUlHNWxkeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLQ2s3WEc1Y2JpQWdJQ0FnSUNBZ1ltOXVaVTV2WkdVdWRYQmtZWFJsVjI5eWJHUk5ZWFJ5YVhnb2RISjFaU3dnWm1Gc2MyVXBPMXh1SUNBZ0lDQWdJQ0JpYjI1bFRtOWtaUzV0WVhSeWFYaFhiM0pzWkM1a1pXTnZiWEJ2YzJVb1ltOXVaVmR2Y214a1VHOXphWFJwYjI0c0lHSnZibVZYYjNKc1pGSnZkR0YwYVc5dUxDQmZkak5CS1R0Y2JseHVJQ0FnSUNBZ0lDQmliMjVsVjI5eWJHUlFiM05wZEdsdmJuTmJZbTl1WlU1aGJXVmRJRDBnWW05dVpWZHZjbXhrVUc5emFYUnBiMjQ3WEc0Z0lDQWdJQ0FnSUdKdmJtVlhiM0pzWkZKdmRHRjBhVzl1YzF0aWIyNWxUbUZ0WlYwZ1BTQmliMjVsVjI5eWJHUlNiM1JoZEdsdmJqdGNiaUFnSUNBZ0lDQWdZbTl1WlZKdmRHRjBhVzl1YzF0aWIyNWxUbUZ0WlYwZ1BTQmliMjVsVG05a1pTNXhkV0YwWlhKdWFXOXVMbU5zYjI1bEtDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQXZMeUJpZFdsc1pDQnlhV2NnYUdsbGNtRnlZMmg1SUNzZ2MzUnZjbVVnY0dGeVpXNTBWMjl5YkdSU2IzUmhkR2x2Ym5OY2JpQWdJQ0JqYjI1emRDQndZWEpsYm5SWGIzSnNaRkp2ZEdGMGFXOXVjem9nZXlCYlltOXVaVTVoYldVZ2FXNGdWbEpOU0hWdFlXNUNiMjVsVG1GdFpWMC9PaUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVJSDBnUFNCN2ZUdGNibHh1SUNBZ0lHTnZibk4wSUhKcFowSnZibVZ6T2lCUVlYSjBhV0ZzUEZaU1RVaDFiV0Z1UW05dVpYTStJRDBnZTMwN1hHNGdJQ0FnVmxKTlNIVnRZVzVDYjI1bFRHbHpkQzVtYjNKRllXTm9LQ2hpYjI1bFRtRnRaU2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWW05dVpVNXZaR1VnUFNCdGIyUmxiRkpwWnk1blpYUkNiMjVsVG05a1pTaGliMjVsVG1GdFpTazdYRzVjYmlBZ0lDQWdJR2xtSUNoaWIyNWxUbTlrWlNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCaWIyNWxWMjl5YkdSUWIzTnBkR2x2YmlBOUlHSnZibVZYYjNKc1pGQnZjMmwwYVc5dWMxdGliMjVsVG1GdFpWMGdZWE1nVkVoU1JVVXVWbVZqZEc5eU16dGNibHh1SUNBZ0lDQWdJQ0F2THlCelpXVWdkR2hsSUc1bFlYSmxjM1FnY0dGeVpXNTBJSEJ2YzJsMGFXOXVYRzRnSUNBZ0lDQWdJR3hsZENCamRYSnlaVzUwUW05dVpVNWhiV1U2SUZaU1RVaDFiV0Z1UW05dVpVNWhiV1VnZkNCdWRXeHNJRDBnWW05dVpVNWhiV1U3WEc0Z0lDQWdJQ0FnSUd4bGRDQndZWEpsYm5SWGIzSnNaRkJ2YzJsMGFXOXVPaUJVU0ZKRlJTNVdaV04wYjNJeklId2dkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdJQ0JzWlhRZ2NHRnlaVzUwVjI5eWJHUlNiM1JoZEdsdmJqb2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpQjhJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLSEJoY21WdWRGZHZjbXhrVUc5emFYUnBiMjRnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTjFjbkpsYm5SQ2IyNWxUbUZ0WlNBOUlGWlNUVWgxYldGdVFtOXVaVkJoY21WdWRFMWhjRnRqZFhKeVpXNTBRbTl1WlU1aGJXVmRPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGpkWEp5Wlc1MFFtOXVaVTVoYldVZ1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIQmhjbVZ1ZEZkdmNteGtVRzl6YVhScGIyNGdQU0JpYjI1bFYyOXliR1JRYjNOcGRHbHZibk5iWTNWeWNtVnVkRUp2Ym1WT1lXMWxYVHRjYmlBZ0lDQWdJQ0FnSUNCd1lYSmxiblJYYjNKc1pGSnZkR0YwYVc5dUlEMGdZbTl1WlZkdmNteGtVbTkwWVhScGIyNXpXMk4xY25KbGJuUkNiMjVsVG1GdFpWMDdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBdkx5QmhaR1FnZEc4Z2FHbGxjbUZ5WTJoNVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUhKcFowSnZibVZPYjJSbElEMGdibVYzSUZSSVVrVkZMazlpYW1WamRETkVLQ2s3WEc0Z0lDQWdJQ0FnSUhKcFowSnZibVZPYjJSbExtNWhiV1VnUFNBblRtOXliV0ZzYVhwbFpGOG5JQ3NnWW05dVpVNXZaR1V1Ym1GdFpUdGNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQndZWEpsYm5SU2FXZENiMjVsVG05a1pTQTlJQ2hqZFhKeVpXNTBRbTl1WlU1aGJXVWdQeUJ5YVdkQ2IyNWxjMXRqZFhKeVpXNTBRbTl1WlU1aGJXVmRQeTV1YjJSbElEb2djbTl2ZENrZ1lYTWdWRWhTUlVVdVQySnFaV04wTTBRN1hHNWNiaUFnSUNBZ0lDQWdjR0Z5Wlc1MFVtbG5RbTl1WlU1dlpHVXVZV1JrS0hKcFowSnZibVZPYjJSbEtUdGNiaUFnSUNBZ0lDQWdjbWxuUW05dVpVNXZaR1V1Y0c5emFYUnBiMjR1WTI5d2VTaGliMjVsVjI5eWJHUlFiM05wZEdsdmJpazdYRzRnSUNBZ0lDQWdJR2xtSUNod1lYSmxiblJYYjNKc1pGQnZjMmwwYVc5dUtTQjdYRzRnSUNBZ0lDQWdJQ0FnY21sblFtOXVaVTV2WkdVdWNHOXphWFJwYjI0dWMzVmlLSEJoY21WdWRGZHZjbXhrVUc5emFYUnBiMjRwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbWxuUW05dVpYTmJZbTl1WlU1aGJXVmRJRDBnZXlCdWIyUmxPaUJ5YVdkQ2IyNWxUbTlrWlNCOU8xeHVYRzRnSUNBZ0lDQWdJQzh2SUhOMGIzSmxJSEJoY21WdWRGZHZjbXhrVW05MFlYUnBiMjVjYmlBZ0lDQWdJQ0FnY0dGeVpXNTBWMjl5YkdSU2IzUmhkR2x2Ym5OYlltOXVaVTVoYldWZElEMGdjR0Z5Wlc1MFYyOXliR1JTYjNSaGRHbHZiaUEvUHlCdVpYY2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lISnBaMEp2Ym1Wek9pQnlhV2RDYjI1bGN5QmhjeUJXVWsxSWRXMWhia0p2Ym1WekxGeHVJQ0FnSUNBZ2NtOXZkQ3hjYmlBZ0lDQWdJSEJoY21WdWRGZHZjbXhrVW05MFlYUnBiMjV6TEZ4dUlDQWdJQ0FnWW05dVpWSnZkR0YwYVc5dWN5eGNiaUFnSUNCOU8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlHOXlhV2RwYm1Gc09pQldVazFTYVdjN1hHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQnliMjkwT2lCVVNGSkZSUzVQWW1wbFkzUXpSRHRjYmlBZ2NISnZkR1ZqZEdWa0lISmxZV1J2Ym14NUlGOXdZWEpsYm5SWGIzSnNaRkp2ZEdGMGFXOXVjem9nZXlCYlltOXVaVTVoYldVZ2FXNGdWbEpOU0hWdFlXNUNiMjVsVG1GdFpWMC9PaUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVJSDA3WEc0Z0lIQnliM1JsWTNSbFpDQnlaV0ZrYjI1c2VTQmZZbTl1WlZKdmRHRjBhVzl1Y3pvZ2V5QmJZbTl1WlU1aGJXVWdhVzRnVmxKTlNIVnRZVzVDYjI1bFRtRnRaVjAvT2lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1SUgwN1hHNWNiaUFnY0hWaWJHbGpJR052Ym5OMGNuVmpkRzl5S0doMWJXRnViMmxrT2lCV1VrMVNhV2NwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJSEpwWjBKdmJtVnpMQ0J5YjI5MExDQndZWEpsYm5SWGIzSnNaRkp2ZEdGMGFXOXVjeXdnWW05dVpWSnZkR0YwYVc5dWN5QjlJRDBnVmxKTlNIVnRZVzV2YVdSU2FXY3VYM05sZEhWd1ZISmhibk5tYjNKdGN5aG9kVzFoYm05cFpDazdYRzVjYmlBZ0lDQnpkWEJsY2loeWFXZENiMjVsY3lrN1hHNWNiaUFnSUNCMGFHbHpMbTl5YVdkcGJtRnNJRDBnYUhWdFlXNXZhV1E3WEc0Z0lDQWdkR2hwY3k1eWIyOTBJRDBnY205dmREdGNiaUFnSUNCMGFHbHpMbDl3WVhKbGJuUlhiM0pzWkZKdmRHRjBhVzl1Y3lBOUlIQmhjbVZ1ZEZkdmNteGtVbTkwWVhScGIyNXpPMXh1SUNBZ0lIUm9hWE11WDJKdmJtVlNiM1JoZEdsdmJuTWdQU0JpYjI1bFVtOTBZWFJwYjI1ek8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlZ3WkdGMFpTQjBhR2x6SUdoMWJXRnViMmxrSUhKcFp5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QjFjR1JoZEdVb0tUb2dkbTlwWkNCN1hHNGdJQ0FnVmxKTlNIVnRZVzVDYjI1bFRHbHpkQzVtYjNKRllXTm9LQ2hpYjI1bFRtRnRaU2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWW05dVpVNXZaR1VnUFNCMGFHbHpMbTl5YVdkcGJtRnNMbWRsZEVKdmJtVk9iMlJsS0dKdmJtVk9ZVzFsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLR0p2Ym1WT2IyUmxJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjbWxuUW05dVpVNXZaR1VnUFNCMGFHbHpMbWRsZEVKdmJtVk9iMlJsS0dKdmJtVk9ZVzFsS1NFN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhCaGNtVnVkRmR2Y214a1VtOTBZWFJwYjI0Z1BTQjBhR2x6TGw5d1lYSmxiblJYYjNKc1pGSnZkR0YwYVc5dWMxdGliMjVsVG1GdFpWMGhPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnBiblpRWVhKbGJuUlhiM0pzWkZKdmRHRjBhVzl1SUQwZ1gzRjFZWFJCTG1OdmNIa29jR0Z5Wlc1MFYyOXliR1JTYjNSaGRHbHZiaWt1YVc1MlpYSjBLQ2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR0p2Ym1WU2IzUmhkR2x2YmlBOUlIUm9hWE11WDJKdmJtVlNiM1JoZEdsdmJuTmJZbTl1WlU1aGJXVmRJVHRjYmx4dUlDQWdJQ0FnSUNCaWIyNWxUbTlrWlM1eGRXRjBaWEp1YVc5dVhHNGdJQ0FnSUNBZ0lDQWdMbU52Y0hrb2NtbG5RbTl1WlU1dlpHVXVjWFZoZEdWeWJtbHZiaWxjYmlBZ0lDQWdJQ0FnSUNBdWJYVnNkR2x3Ykhrb2NHRnlaVzUwVjI5eWJHUlNiM1JoZEdsdmJpbGNiaUFnSUNBZ0lDQWdJQ0F1Y0hKbGJYVnNkR2x3Ykhrb2FXNTJVR0Z5Wlc1MFYyOXliR1JTYjNSaGRHbHZiaWxjYmlBZ0lDQWdJQ0FnSUNBdWJYVnNkR2x3Ykhrb1ltOXVaVkp2ZEdGMGFXOXVLVHRjYmx4dUlDQWdJQ0FnSUNBdkx5Qk5iM1psSUhSb1pTQnRZWE56SUdObGJuUmxjaUJ2WmlCMGFHVWdWbEpOWEc0Z0lDQWdJQ0FnSUdsbUlDaGliMjVsVG1GdFpTQTlQVDBnSjJocGNITW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWW05dVpWZHZjbXhrVUc5emFYUnBiMjRnUFNCeWFXZENiMjVsVG05a1pTNW5aWFJYYjNKc1pGQnZjMmwwYVc5dUtGOWliMjVsVjI5eWJHUlFiM01wTzF4dUlDQWdJQ0FnSUNBZ0lHSnZibVZPYjJSbExuQmhjbVZ1ZENFdWRYQmtZWFJsVjI5eWJHUk5ZWFJ5YVhnb2RISjFaU3dnWm1Gc2MyVXBPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEJoY21WdWRGZHZjbXhrVFdGMGNtbDRJRDBnWW05dVpVNXZaR1V1Y0dGeVpXNTBJUzV0WVhSeWFYaFhiM0pzWkR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCc2IyTmhiRkJ2YzJsMGFXOXVJRDBnWW05dVpWZHZjbXhrVUc5emFYUnBiMjR1WVhCd2JIbE5ZWFJ5YVhnMEtIQmhjbVZ1ZEZkdmNteGtUV0YwY21sNExtbHVkbVZ5ZENncEtUdGNiaUFnSUNBZ0lDQWdJQ0JpYjI1bFRtOWtaUzV3YjNOcGRHbHZiaTVqYjNCNUtHeHZZMkZzVUc5emFYUnBiMjRwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNrN1hHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlNIVnRZVzVDYjI1bElIMGdabkp2YlNBbkxpOVdVazFJZFcxaGJrSnZibVVuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJXVWsxSWRXMWhia0p2Ym1WeklIMGdabkp2YlNBbkxpOVdVazFJZFcxaGJrSnZibVZ6Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlNIVnRZVzVDYjI1bFRtRnRaU0I5SUdaeWIyMGdKeTR2VmxKTlNIVnRZVzVDYjI1bFRtRnRaU2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFZCdmMyVWdmU0JtY205dElDY3VMMVpTVFZCdmMyVW5PMXh1YVcxd2IzSjBJSHNnVmxKTlVtbG5JSDBnWm5KdmJTQW5MaTlXVWsxU2FXY25PMXh1YVcxd2IzSjBJSHNnVmxKTlNIVnRZVzV2YVdSU2FXY2dmU0JtY205dElDY3VMMVpTVFVoMWJXRnViMmxrVW1sbkp6dGNibHh1THlvcVhHNGdLaUJCSUdOc1lYTnpJSEpsY0hKbGMyVnVkSE1nWVNCb2RXMWhibTlwWkNCdlppQmhJRlpTVFM1Y2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklGWlNUVWgxYldGdWIybGtJSHRjYmlBZ0x5b3FYRzRnSUNBcUlGZG9aWFJvWlhJZ2FYUWdZMjl3YVdWeklIQnZjMlVnWm5KdmJTQnViM0p0WVd4cGVtVmtTSFZ0WVc1Q2IyNWxjeUIwYnlCeVlYZElkVzFoYmtKdmJtVnpJRzl1SUh0QWJHbHVheUIxY0dSaGRHVjlMbHh1SUNBZ0tpQmdkSEoxWldBZ1lua2daR1ZtWVhWc2RDNWNiaUFnSUNwY2JpQWdJQ29nUUdSbFptRjFiSFFnZEhKMVpWeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHRjFkRzlWY0dSaGRHVklkVzFoYmtKdmJtVnpPaUJpYjI5c1pXRnVPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJJSEpoZHlCeWFXY2diMllnZEdobElGWlNUUzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDNKaGQwaDFiV0Z1UW05dVpYTTZJRlpTVFZKcFp6c2dMeThnVkU5RVR6b2dVbVZ1WVcxbFhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVFZ2JtOXliV0ZzYVhwbFpDQnlhV2NnYjJZZ2RHaGxJRlpTVFM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gyNXZjbTFoYkdsNlpXUklkVzFoYmtKdmJtVnpPaUJXVWsxSWRXMWhibTlwWkZKcFp6c2dMeThnVkU5RVR6b2dVbVZ1WVcxbFhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYQnlaV05oZEdWa0lFUmxjSEpsWTJGMFpXUXVJRlZ6WlNCbGFYUm9aWElnZTBCc2FXNXJJSEpoZDFKbGMzUlFiM05sZlNCdmNpQjdRR3hwYm1zZ2JtOXliV0ZzYVhwbFpGSmxjM1JRYjNObGZTQnBibk4wWldGa0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkQ0J5WlhOMFVHOXpaU2dwT2lCV1VrMVFiM05sSUh0Y2JpQWdJQ0JqYjI1emIyeGxMbmRoY200b0oxWlNUVWgxYldGdWIybGtPaUJ5WlhOMFVHOXpaU0JwY3lCa1pYQnlaV05oZEdWa0xpQlZjMlVnWldsMGFHVnlJSEpoZDFKbGMzUlFiM05sSUc5eUlHNXZjbTFoYkdsNlpXUlNaWE4wVUc5elpTQnBibk4wWldGa0xpY3BPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21GM1VtVnpkRkJ2YzJVN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0I3UUd4cGJtc2dWbEpOVUc5elpYMGdiMllnYVhSeklISmhkeUJvZFcxaGJpQmliMjVsY3lCMGFHRjBJR2x6SUdsMGN5QmtaV1poZFd4MElITjBZWFJsTGx4dUlDQWdLaUJPYjNSbElIUm9ZWFFnYVhRbmN5QnViM1FnWTI5dGNHRjBhV0pzWlNCM2FYUm9JSHRBYkdsdWF5QnpaWFJTWVhkUWIzTmxmU0JoYm1RZ2UwQnNhVzVySUdkbGRGSmhkMUJ2YzJWOUxDQnphVzVqWlNCcGRDQmpiMjUwWVdsdWN5QnViMjR0Y21Wc1lYUnBkbVVnZG1Gc2RXVnpJRzltSUdWaFkyZ2diRzlqWVd3Z2RISmhibk5tYjNKdGN5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFFnY21GM1VtVnpkRkJ2YzJVb0tUb2dWbEpOVUc5elpTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0poZDBoMWJXRnVRbTl1WlhNdWNtVnpkRkJ2YzJVN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0I3UUd4cGJtc2dWbEpOVUc5elpYMGdiMllnYVhSeklHNXZjbTFoYkdsNlpXUWdhSFZ0WVc0Z1ltOXVaWE1nZEdoaGRDQnBjeUJwZEhNZ1pHVm1ZWFZzZENCemRHRjBaUzVjYmlBZ0lDb2dUbTkwWlNCMGFHRjBJR2wwSjNNZ2JtOTBJR052YlhCaGRHbGliR1VnZDJsMGFDQjdRR3hwYm1zZ2MyVjBUbTl5YldGc2FYcGxaRkJ2YzJWOUlHRnVaQ0I3UUd4cGJtc2daMlYwVG05eWJXRnNhWHBsWkZCdmMyVjlMQ0J6YVc1alpTQnBkQ0JqYjI1MFlXbHVjeUJ1YjI0dGNtVnNZWFJwZG1VZ2RtRnNkV1Z6SUc5bUlHVmhZMmdnYkc5allXd2dkSEpoYm5ObWIzSnRjeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhRZ2JtOXliV0ZzYVhwbFpGSmxjM1JRYjNObEtDazZJRlpTVFZCdmMyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFlXeHBlbVZrU0hWdFlXNUNiMjVsY3k1eVpYTjBVRzl6WlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJJRzFoY0NCbWNtOXRJSHRBYkdsdWF5QldVazFJZFcxaGJrSnZibVZPWVcxbGZTQjBieUJ5WVhjZ2UwQnNhVzVySUZaU1RVaDFiV0Z1UW05dVpYMXpMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZENCb2RXMWhia0p2Ym1WektDazZJRlpTVFVoMWJXRnVRbTl1WlhNZ2UxeHVJQ0FnSUM4dklHRnVJR0ZzYVdGeklHOW1JR0J5WVhkSWRXMWhia0p2Ym1WellGeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXlZWGRJZFcxaGJrSnZibVZ6TG1oMWJXRnVRbTl1WlhNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0J0WVhBZ1puSnZiU0I3UUd4cGJtc2dWbEpOU0hWdFlXNUNiMjVsVG1GdFpYMGdkRzhnY21GM0lIdEFiR2x1YXlCV1VrMUlkVzFoYmtKdmJtVjljeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhRZ2NtRjNTSFZ0WVc1Q2IyNWxjeWdwT2lCV1VrMUlkVzFoYmtKdmJtVnpJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY21GM1NIVnRZVzVDYjI1bGN5NW9kVzFoYmtKdmJtVnpPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVFZ2JXRndJR1p5YjIwZ2UwQnNhVzVySUZaU1RVaDFiV0Z1UW05dVpVNWhiV1Y5SUhSdklHNXZjbTFoYkdsNlpXUWdlMEJzYVc1cklGWlNUVWgxYldGdVFtOXVaWDF6TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRDQnViM0p0WVd4cGVtVmtTSFZ0WVc1Q2IyNWxjeWdwT2lCV1VrMUlkVzFoYmtKdmJtVnpJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJXRnNhWHBsWkVoMWJXRnVRbTl1WlhNdWFIVnRZVzVDYjI1bGN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ2NtOXZkQ0J2WmlCdWIzSnRZV3hwZW1Wa0lIdEFiR2x1YXlCV1VrMUlkVzFoYmtKdmJtVjljeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhRZ2JtOXliV0ZzYVhwbFpFaDFiV0Z1UW05dVpYTlNiMjkwS0NrNklGUklVa1ZGTGs5aWFtVmpkRE5FSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJtOXliV0ZzYVhwbFpFaDFiV0Z1UW05dVpYTXVjbTl2ZER0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRjbVZoZEdVZ1lTQnVaWGNnZTBCc2FXNXJJRlpTVFVoMWJXRnViMmxrZlM1Y2JpQWdJQ29nUUhCaGNtRnRJR2gxYldGdVFtOXVaWE1nUVNCN1FHeHBibXNnVmxKTlNIVnRZVzVDYjI1bGMzMGdZMjl1ZEdGcGJuTWdZV3hzSUhSb1pTQmliMjVsY3lCdlppQjBhR1VnYm1WM0lHaDFiV0Z1YjJsa1hHNGdJQ0FxSUVCd1lYSmhiU0JoZFhSdlZYQmtZWFJsU0hWdFlXNUNiMjVsY3lCWGFHVjBhR1Z5SUdsMElHTnZjR2xsY3lCd2IzTmxJR1p5YjIwZ2JtOXliV0ZzYVhwbFpFaDFiV0Z1UW05dVpYTWdkRzhnY21GM1NIVnRZVzVDYjI1bGN5QnZiaUI3UUd4cGJtc2dkWEJrWVhSbGZTNGdZSFJ5ZFdWZ0lHSjVJR1JsWm1GMWJIUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvYUhWdFlXNUNiMjVsY3pvZ1ZsSk5TSFZ0WVc1Q2IyNWxjeXdnYjNCMGFXOXVjejg2SUhzZ1lYVjBiMVZ3WkdGMFpVaDFiV0Z1UW05dVpYTS9PaUJpYjI5c1pXRnVJSDBwSUh0Y2JpQWdJQ0IwYUdsekxtRjFkRzlWY0dSaGRHVklkVzFoYmtKdmJtVnpJRDBnYjNCMGFXOXVjejh1WVhWMGIxVndaR0YwWlVoMWJXRnVRbTl1WlhNZ1B6OGdkSEoxWlR0Y2JpQWdJQ0IwYUdsekxsOXlZWGRJZFcxaGJrSnZibVZ6SUQwZ2JtVjNJRlpTVFZKcFp5aG9kVzFoYmtKdmJtVnpLVHRjYmlBZ0lDQjBhR2x6TGw5dWIzSnRZV3hwZW1Wa1NIVnRZVzVDYjI1bGN5QTlJRzVsZHlCV1VrMUlkVzFoYm05cFpGSnBaeWgwYUdsekxsOXlZWGRJZFcxaGJrSnZibVZ6S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRiM0I1SUhSb1pTQm5hWFpsYmlCN1FHeHBibXNnVmxKTlNIVnRZVzV2YVdSOUlHbHVkRzhnZEdocGN5QnZibVV1WEc0Z0lDQXFJRUJ3WVhKaGJTQnpiM1Z5WTJVZ1ZHaGxJSHRBYkdsdWF5QldVazFJZFcxaGJtOXBaSDBnZVc5MUlIZGhiblFnZEc4Z1kyOXdlVnh1SUNBZ0tpQkFjbVYwZFhKdWN5QjBhR2x6WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWTI5d2VTaHpiM1Z5WTJVNklGWlNUVWgxYldGdWIybGtLVG9nZEdocGN5QjdYRzRnSUNBZ2RHaHBjeTVoZFhSdlZYQmtZWFJsU0hWdFlXNUNiMjVsY3lBOUlITnZkWEpqWlM1aGRYUnZWWEJrWVhSbFNIVnRZVzVDYjI1bGN6dGNiaUFnSUNCMGFHbHpMbDl5WVhkSWRXMWhia0p2Ym1WeklEMGdibVYzSUZaU1RWSnBaeWh6YjNWeVkyVXVhSFZ0WVc1Q2IyNWxjeWs3WEc0Z0lDQWdkR2hwY3k1ZmJtOXliV0ZzYVhwbFpFaDFiV0Z1UW05dVpYTWdQU0J1WlhjZ1ZsSk5TSFZ0WVc1dmFXUlNhV2NvZEdocGN5NWZjbUYzU0hWdFlXNUNiMjVsY3lrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0VnWTJ4dmJtVWdiMllnZEdocGN5QjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1dmFXUjlMbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QkRiM0JwWldRZ2UwQnNhVzVySUZaU1RVaDFiV0Z1YjJsa2ZWeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHTnNiMjVsS0NrNklGWlNUVWgxYldGdWIybGtJSHRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRlpTVFVoMWJXRnViMmxrS0hSb2FYTXVhSFZ0WVc1Q2IyNWxjeXdnZXlCaGRYUnZWWEJrWVhSbFNIVnRZVzVDYjI1bGN6b2dkR2hwY3k1aGRYUnZWWEJrWVhSbFNIVnRZVzVDYjI1bGN5QjlLUzVqYjNCNUtIUm9hWE1wTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWEJ5WldOaGRHVmtJRVJsY0hKbFkyRjBaV1F1SUZWelpTQmxhWFJvWlhJZ2UwQnNhVzVySUdkbGRGSmhkMEZpYzI5c2RYUmxVRzl6WlgwZ2IzSWdlMEJzYVc1cklHZGxkRTV2Y20xaGJHbDZaV1JCWW5OdmJIVjBaVkJ2YzJWOUlHbHVjM1JsWVdRdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1oyVjBRV0p6YjJ4MWRHVlFiM05sS0NrNklGWlNUVkJ2YzJVZ2UxeHVJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGNiaUFnSUNBZ0lDZFdVazFJZFcxaGJtOXBaRG9nWjJWMFFXSnpiMngxZEdWUWIzTmxLQ2tnYVhNZ1pHVndjbVZqWVhSbFpDNGdWWE5sSUdWcGRHaGxjaUJuWlhSU1lYZEJZbk52YkhWMFpWQnZjMlVvS1NCdmNpQm5aWFJPYjNKdFlXeHBlbVZrUVdKemIyeDFkR1ZRYjNObEtDa2dhVzV6ZEdWaFpDNG5MRnh1SUNBZ0lDazdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVuWlhSU1lYZEJZbk52YkhWMFpWQnZjMlVvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z2RHaGxJR04xY25KbGJuUWdZV0p6YjJ4MWRHVWdjRzl6WlNCdlppQjBhR2x6SUhKaGR5Qm9kVzFoYmlCaWIyNWxjeUJoY3lCaElIdEFiR2x1YXlCV1VrMVFiM05sZlM1Y2JpQWdJQ29nVG05MFpTQjBhR0YwSUhSb1pTQnZkWFJ3ZFhRZ2NtVnpkV3gwSUhkcGJHd2dZMjl1ZEdGcGJpQnBibWwwYVdGc0lITjBZWFJsSUc5bUlIUm9aU0JXVWswZ1lXNWtJRzV2ZENCamIyMXdZWFJwWW14bElHSmxkSGRsWlc0Z1pHbG1abVZ5Wlc1MElHMXZaR1ZzY3k1Y2JpQWdJQ29nV1c5MUlHMXBaMmgwSUhkaGJuUWdkRzhnZFhObElIdEFiR2x1YXlCblpYUlNZWGRRYjNObGZTQnBibk4wWldGa0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRkpoZDBGaWMyOXNkWFJsVUc5elpTZ3BPaUJXVWsxUWIzTmxJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY21GM1NIVnRZVzVDYjI1bGN5NW5aWFJCWW5OdmJIVjBaVkJ2YzJVb0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkR2hsSUdOMWNuSmxiblFnWVdKemIyeDFkR1VnY0c5elpTQnZaaUIwYUdseklHNXZjbTFoYkdsNlpXUWdhSFZ0WVc0Z1ltOXVaWE1nWVhNZ1lTQjdRR3hwYm1zZ1ZsSk5VRzl6WlgwdVhHNGdJQ0FxSUU1dmRHVWdkR2hoZENCMGFHVWdiM1YwY0hWMElISmxjM1ZzZENCM2FXeHNJR052Ym5SaGFXNGdhVzVwZEdsaGJDQnpkR0YwWlNCdlppQjBhR1VnVmxKTklHRnVaQ0J1YjNRZ1kyOXRjR0YwYVdKc1pTQmlaWFIzWldWdUlHUnBabVpsY21WdWRDQnRiMlJsYkhNdVhHNGdJQ0FxSUZsdmRTQnRhV2RvZENCM1lXNTBJSFJ2SUhWelpTQjdRR3hwYm1zZ1oyVjBUbTl5YldGc2FYcGxaRkJ2YzJWOUlHbHVjM1JsWVdRdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1oyVjBUbTl5YldGc2FYcGxaRUZpYzI5c2RYUmxVRzl6WlNncE9pQldVazFRYjNObElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZibTl5YldGc2FYcGxaRWgxYldGdVFtOXVaWE11WjJWMFFXSnpiMngxZEdWUWIzTmxLQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjSEpsWTJGMFpXUWdSR1Z3Y21WallYUmxaQzRnVlhObElHVnBkR2hsY2lCN1FHeHBibXNnWjJWMFVtRjNVRzl6WlgwZ2IzSWdlMEJzYVc1cklHZGxkRTV2Y20xaGJHbDZaV1JRYjNObGZTQnBibk4wWldGa0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRkJ2YzJVb0tUb2dWbEpOVUc5elpTQjdYRzRnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLQ2RXVWsxSWRXMWhibTlwWkRvZ1oyVjBVRzl6WlNncElHbHpJR1JsY0hKbFkyRjBaV1F1SUZWelpTQmxhWFJvWlhJZ1oyVjBVbUYzVUc5elpTZ3BJRzl5SUdkbGRFNXZjbTFoYkdsNlpXUlFiM05sS0NrZ2FXNXpkR1ZoWkM0bktUdGNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWRsZEZKaGQxQnZjMlVvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z2RHaGxJR04xY25KbGJuUWdjRzl6WlNCdlppQnlZWGNnYUhWdFlXNGdZbTl1WlhNZ1lYTWdZU0I3UUd4cGJtc2dWbEpOVUc5elpYMHVYRzRnSUNBcVhHNGdJQ0FxSUVWaFkyZ2dkSEpoYm5ObWIzSnRJR2x6SUdFZ2JHOWpZV3dnZEhKaGJuTm1iM0p0SUhKbGJHRjBhWFpsSUdaeWIyMGdjbVZ6ZENCd2IzTmxJQ2hVTFhCdmMyVXBMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEZKaGQxQnZjMlVvS1RvZ1ZsSk5VRzl6WlNCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzSmhkMGgxYldGdVFtOXVaWE11WjJWMFVHOXpaU2dwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5YmlCMGFHVWdZM1Z5Y21WdWRDQndiM05sSUc5bUlHNXZjbTFoYkdsNlpXUWdhSFZ0WVc0Z1ltOXVaWE1nWVhNZ1lTQjdRR3hwYm1zZ1ZsSk5VRzl6WlgwdVhHNGdJQ0FxWEc0Z0lDQXFJRVZoWTJnZ2RISmhibk5tYjNKdElHbHpJR0VnYkc5allXd2dkSEpoYm5ObWIzSnRJSEpsYkdGMGFYWmxJR1p5YjIwZ2NtVnpkQ0J3YjNObElDaFVMWEJ2YzJVcExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRTV2Y20xaGJHbDZaV1JRYjNObEtDazZJRlpTVFZCdmMyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFlXeHBlbVZrU0hWdFlXNUNiMjVsY3k1blpYUlFiM05sS0NrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsY0hKbFkyRjBaV1FnUkdWd2NtVmpZWFJsWkM0Z1ZYTmxJR1ZwZEdobGNpQjdRR3hwYm1zZ2MyVjBVbUYzVUc5elpYMGdiM0lnZTBCc2FXNXJJSE5sZEU1dmNtMWhiR2w2WldSUWIzTmxmU0JwYm5OMFpXRmtMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSE5sZEZCdmMyVW9jRzl6WlU5aWFtVmpkRG9nVmxKTlVHOXpaU2s2SUhadmFXUWdlMXh1SUNBZ0lHTnZibk52YkdVdWQyRnliaWduVmxKTlNIVnRZVzV2YVdRNklITmxkRkJ2YzJVb0tTQnBjeUJrWlhCeVpXTmhkR1ZrTGlCVmMyVWdaV2wwYUdWeUlITmxkRkpoZDFCdmMyVW9LU0J2Y2lCelpYUk9iM0p0WVd4cGVtVmtVRzl6WlNncElHbHVjM1JsWVdRdUp5azdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6WlhSU1lYZFFiM05sS0hCdmMyVlBZbXBsWTNRcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRXhsZENCMGFHVWdjbUYzSUdoMWJXRnVJR0p2Ym1WeklHUnZJR0VnYzNCbFkybG1hV1ZrSUhCdmMyVXVYRzRnSUNBcVhHNGdJQ0FxSUVWaFkyZ2dkSEpoYm5ObWIzSnRJR2hoZG1VZ2RHOGdZbVVnWVNCc2IyTmhiQ0IwY21GdWMyWnZjbTBnY21Wc1lYUnBkbVVnWm5KdmJTQnlaWE4wSUhCdmMyVWdLRlF0Y0c5elpTa3VYRzRnSUNBcUlGbHZkU0JqWVc0Z2NHRnpjeUIzYUdGMElIbHZkU0JuYjNRZ1puSnZiU0I3UUd4cGJtc2daMlYwVW1GM1VHOXpaWDB1WEc0Z0lDQXFYRzRnSUNBcUlFbG1JSGx2ZFNCaGNtVWdkWE5wYm1jZ2UwQnNhVzVySUdGMWRHOVZjR1JoZEdWSWRXMWhia0p2Ym1WemZTd2dlVzkxSUcxcFoyaDBJSGRoYm5RZ2RHOGdkWE5sSUh0QWJHbHVheUJ6WlhST2IzSnRZV3hwZW1Wa1VHOXpaWDBnYVc1emRHVmhaQzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUhCdmMyVlBZbXBsWTNRZ1FTQjdRR3hwYm1zZ1ZsSk5VRzl6WlgwZ2RHaGhkQ0J5WlhCeVpYTmxiblJ6SUdFZ2MybHVaMnhsSUhCdmMyVmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnpaWFJTWVhkUWIzTmxLSEJ2YzJWUFltcGxZM1E2SUZaU1RWQnZjMlVwT2lCMmIybGtJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY21GM1NIVnRZVzVDYjI1bGN5NXpaWFJRYjNObEtIQnZjMlZQWW1wbFkzUXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUV4bGRDQjBhR1VnYm05eWJXRnNhWHBsWkNCb2RXMWhiaUJpYjI1bGN5QmtieUJoSUhOd1pXTnBabWxsWkNCd2IzTmxMbHh1SUNBZ0tseHVJQ0FnS2lCRllXTm9JSFJ5WVc1elptOXliU0JvWVhabElIUnZJR0psSUdFZ2JHOWpZV3dnZEhKaGJuTm1iM0p0SUhKbGJHRjBhWFpsSUdaeWIyMGdjbVZ6ZENCd2IzTmxJQ2hVTFhCdmMyVXBMbHh1SUNBZ0tpQlpiM1VnWTJGdUlIQmhjM01nZDJoaGRDQjViM1VnWjI5MElHWnliMjBnZTBCc2FXNXJJR2RsZEU1dmNtMWhiR2w2WldSUWIzTmxmUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUhCdmMyVlBZbXBsWTNRZ1FTQjdRR3hwYm1zZ1ZsSk5VRzl6WlgwZ2RHaGhkQ0J5WlhCeVpYTmxiblJ6SUdFZ2MybHVaMnhsSUhCdmMyVmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnpaWFJPYjNKdFlXeHBlbVZrVUc5elpTaHdiM05sVDJKcVpXTjBPaUJXVWsxUWIzTmxLVG9nZG05cFpDQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMjV2Y20xaGJHbDZaV1JJZFcxaGJrSnZibVZ6TG5ObGRGQnZjMlVvY0c5elpVOWlhbVZqZENrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsY0hKbFkyRjBaV1FnUkdWd2NtVmpZWFJsWkM0Z1ZYTmxJR1ZwZEdobGNpQjdRR3hwYm1zZ2NtVnpaWFJTWVhkUWIzTmxmU0J2Y2lCN1FHeHBibXNnY21WelpYUk9iM0p0WVd4cGVtVmtVRzl6WlgwZ2FXNXpkR1ZoWkM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCeVpYTmxkRkJ2YzJVb0tUb2dkbTlwWkNCN1hHNGdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtDZFdVazFJZFcxaGJtOXBaRG9nY21WelpYUlFiM05sS0NrZ2FYTWdaR1Z3Y21WallYUmxaQzRnVlhObElHVnBkR2hsY2lCeVpYTmxkRkpoZDFCdmMyVW9LU0J2Y2lCeVpYTmxkRTV2Y20xaGJHbDZaV1JRYjNObEtDa2dhVzV6ZEdWaFpDNG5LVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbGMyVjBVbUYzVUc5elpTZ3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGMyVjBJSFJvWlNCeVlYY2dhSFZ0WVc1dmFXUWdkRzhnYVhSeklISmxjM1FnY0c5elpTNWNiaUFnSUNwY2JpQWdJQ29nU1dZZ2VXOTFJR0Z5WlNCMWMybHVaeUI3UUd4cGJtc2dZWFYwYjFWd1pHRjBaVWgxYldGdVFtOXVaWE45TENCNWIzVWdiV2xuYUhRZ2QyRnVkQ0IwYnlCMWMyVWdlMEJzYVc1cklISmxjMlYwVG05eWJXRnNhWHBsWkZCdmMyVjlJR2x1YzNSbFlXUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZ6WlhSU1lYZFFiM05sS0NrNklIWnZhV1FnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5eVlYZElkVzFoYmtKdmJtVnpMbkpsYzJWMFVHOXpaU2dwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxjMlYwSUhSb1pTQnViM0p0WVd4cGVtVmtJR2gxYldGdWIybGtJSFJ2SUdsMGN5QnlaWE4wSUhCdmMyVXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjbVZ6WlhST2IzSnRZV3hwZW1Wa1VHOXpaU2dwT2lCMmIybGtJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJXRnNhWHBsWkVoMWJXRnVRbTl1WlhNdWNtVnpaWFJRYjNObEtDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGNISmxZMkYwWldRZ1JHVndjbVZqWVhSbFpDNGdWWE5sSUdWcGRHaGxjaUI3UUd4cGJtc2daMlYwVW1GM1FtOXVaWDBnYjNJZ2UwQnNhVzVySUdkbGRFNXZjbTFoYkdsNlpXUkNiMjVsZlNCcGJuTjBaV0ZrTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRFSnZibVVvYm1GdFpUb2dWbEpOU0hWdFlXNUNiMjVsVG1GdFpTazZJRlpTVFVoMWJXRnVRbTl1WlNCOElIVnVaR1ZtYVc1bFpDQjdYRzRnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLQ2RXVWsxSWRXMWhibTlwWkRvZ1oyVjBRbTl1WlNncElHbHpJR1JsY0hKbFkyRjBaV1F1SUZWelpTQmxhWFJvWlhJZ1oyVjBVbUYzUW05dVpTZ3BJRzl5SUdkbGRFNXZjbTFoYkdsNlpXUkNiMjVsS0NrZ2FXNXpkR1ZoWkM0bktUdGNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWRsZEZKaGQwSnZibVVvYm1GdFpTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJR0VnY21GM0lIdEFiR2x1YXlCV1VrMUlkVzFoYmtKdmJtVjlJR0p2ZFc1a0lIUnZJR0VnYzNCbFkybG1hV1ZrSUh0QWJHbHVheUJXVWsxSWRXMWhia0p2Ym1WT1lXMWxmUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUc1aGJXVWdUbUZ0WlNCdlppQjBhR1VnWW05dVpTQjViM1VnZDJGdWRGeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRkpoZDBKdmJtVW9ibUZ0WlRvZ1ZsSk5TSFZ0WVc1Q2IyNWxUbUZ0WlNrNklGWlNUVWgxYldGdVFtOXVaU0I4SUhWdVpHVm1hVzVsWkNCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzSmhkMGgxYldGdVFtOXVaWE11WjJWMFFtOXVaU2h1WVcxbEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdZU0J1YjNKdFlXeHBlbVZrSUh0QWJHbHVheUJXVWsxSWRXMWhia0p2Ym1WOUlHSnZkVzVrSUhSdklHRWdjM0JsWTJsbWFXVmtJSHRBYkdsdWF5QldVazFJZFcxaGJrSnZibVZPWVcxbGZTNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJRzVoYldVZ1RtRnRaU0J2WmlCMGFHVWdZbTl1WlNCNWIzVWdkMkZ1ZEZ4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRFNXZjbTFoYkdsNlpXUkNiMjVsS0c1aGJXVTZJRlpTVFVoMWJXRnVRbTl1WlU1aGJXVXBPaUJXVWsxSWRXMWhia0p2Ym1VZ2ZDQjFibVJsWm1sdVpXUWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFlXeHBlbVZrU0hWdFlXNUNiMjVsY3k1blpYUkNiMjVsS0c1aGJXVXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYQnlaV05oZEdWa0lFUmxjSEpsWTJGMFpXUXVJRlZ6WlNCbGFYUm9aWElnZTBCc2FXNXJJR2RsZEZKaGQwSnZibVZPYjJSbGZTQnZjaUI3UUd4cGJtc2daMlYwVG05eWJXRnNhWHBsWkVKdmJtVk9iMlJsZlNCcGJuTjBaV0ZrTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRFSnZibVZPYjJSbEtHNWhiV1U2SUZaU1RVaDFiV0Z1UW05dVpVNWhiV1VwT2lCVVNGSkZSUzVQWW1wbFkzUXpSQ0I4SUc1MWJHd2dlMXh1SUNBZ0lHTnZibk52YkdVdWQyRnliaWhjYmlBZ0lDQWdJQ2RXVWsxSWRXMWhibTlwWkRvZ1oyVjBRbTl1WlU1dlpHVW9LU0JwY3lCa1pYQnlaV05oZEdWa0xpQlZjMlVnWldsMGFHVnlJR2RsZEZKaGQwSnZibVZPYjJSbEtDa2diM0lnWjJWMFRtOXliV0ZzYVhwbFpFSnZibVZPYjJSbEtDa2dhVzV6ZEdWaFpDNG5MRnh1SUNBZ0lDazdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVuWlhSU1lYZENiMjVsVG05a1pTaHVZVzFsS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z1lTQnlZWGNnWW05dVpTQmhjeUJoSUdCVVNGSkZSUzVQWW1wbFkzUXpSR0FnWW05MWJtUWdkRzhnWVNCemNHVmphV1pwWldRZ2UwQnNhVzVySUZaU1RVaDFiV0Z1UW05dVpVNWhiV1Y5TGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2JtRnRaU0JPWVcxbElHOW1JSFJvWlNCaWIyNWxJSGx2ZFNCM1lXNTBYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaMlYwVW1GM1FtOXVaVTV2WkdVb2JtRnRaVG9nVmxKTlNIVnRZVzVDYjI1bFRtRnRaU2s2SUZSSVVrVkZMazlpYW1WamRETkVJSHdnYm5Wc2JDQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0poZDBoMWJXRnVRbTl1WlhNdVoyVjBRbTl1WlU1dlpHVW9ibUZ0WlNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdUlHRWdibTl5YldGc2FYcGxaQ0JpYjI1bElHRnpJR0VnWUZSSVVrVkZMazlpYW1WamRETkVZQ0JpYjNWdVpDQjBieUJoSUhOd1pXTnBabWxsWkNCN1FHeHBibXNnVmxKTlNIVnRZVzVDYjI1bFRtRnRaWDB1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCdVlXMWxJRTVoYldVZ2IyWWdkR2hsSUdKdmJtVWdlVzkxSUhkaGJuUmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFJPYjNKdFlXeHBlbVZrUW05dVpVNXZaR1VvYm1GdFpUb2dWbEpOU0hWdFlXNUNiMjVsVG1GdFpTazZJRlJJVWtWRkxrOWlhbVZqZERORUlId2diblZzYkNCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFoYkdsNlpXUklkVzFoYmtKdmJtVnpMbWRsZEVKdmJtVk9iMlJsS0c1aGJXVXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZWd1pHRjBaU0IwYUdVZ2FIVnRZVzV2YVdRZ1kyOXRjRzl1Wlc1MExseHVJQ0FnS2x4dUlDQWdLaUJKWmlCN1FHeHBibXNnWVhWMGIxVndaR0YwWlVoMWJXRnVRbTl1WlhOOUlHbHpJR0IwY25WbFlDd2dhWFFnZEhKaGJuTm1aWEp6SUhSb1pTQndiM05sSUc5bUlHNXZjbTFoYkdsNlpXUWdhSFZ0WVc0Z1ltOXVaWE1nZEc4Z2NtRjNJR2gxYldGdUlHSnZibVZ6TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhWd1pHRjBaU2dwT2lCMmIybGtJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NWhkWFJ2VlhCa1lYUmxTSFZ0WVc1Q2IyNWxjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NWZibTl5YldGc2FYcGxaRWgxYldGdVFtOXVaWE11ZFhCa1lYUmxLQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzRpTENJdktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtRnRhVzVuTFdOdmJuWmxiblJwYjI0Z0tpOWNibHh1Wlhod2IzSjBJR052Ym5OMElGWlNUVkpsY1hWcGNtVmtTSFZ0WVc1Q2IyNWxUbUZ0WlNBOUlIdGNiaUFnU0dsd2N6b2dKMmhwY0hNbkxGeHVJQ0JUY0dsdVpUb2dKM053YVc1bEp5eGNiaUFnU0dWaFpEb2dKMmhsWVdRbkxGeHVJQ0JNWldaMFZYQndaWEpNWldjNklDZHNaV1owVlhCd1pYSk1aV2NuTEZ4dUlDQk1aV1owVEc5M1pYSk1aV2M2SUNkc1pXWjBURzkzWlhKTVpXY25MRnh1SUNCTVpXWjBSbTl2ZERvZ0oyeGxablJHYjI5MEp5eGNiaUFnVW1sbmFIUlZjSEJsY2t4bFp6b2dKM0pwWjJoMFZYQndaWEpNWldjbkxGeHVJQ0JTYVdkb2RFeHZkMlZ5VEdWbk9pQW5jbWxuYUhSTWIzZGxja3hsWnljc1hHNGdJRkpwWjJoMFJtOXZkRG9nSjNKcFoyaDBSbTl2ZENjc1hHNGdJRXhsWm5SVmNIQmxja0Z5YlRvZ0oyeGxablJWY0hCbGNrRnliU2NzWEc0Z0lFeGxablJNYjNkbGNrRnliVG9nSjJ4bFpuUk1iM2RsY2tGeWJTY3NYRzRnSUV4bFpuUklZVzVrT2lBbmJHVm1kRWhoYm1RbkxGeHVJQ0JTYVdkb2RGVndjR1Z5UVhKdE9pQW5jbWxuYUhSVmNIQmxja0Z5YlNjc1hHNGdJRkpwWjJoMFRHOTNaWEpCY20wNklDZHlhV2RvZEV4dmQyVnlRWEp0Snl4Y2JpQWdVbWxuYUhSSVlXNWtPaUFuY21sbmFIUklZVzVrSnl4Y2JuMGdZWE1nWTI5dWMzUTdYRzVjYm1WNGNHOXlkQ0IwZVhCbElGWlNUVkpsY1hWcGNtVmtTSFZ0WVc1Q2IyNWxUbUZ0WlNBOUlIUjVjR1Z2WmlCV1VrMVNaWEYxYVhKbFpFaDFiV0Z1UW05dVpVNWhiV1ZiYTJWNWIyWWdkSGx3Wlc5bUlGWlNUVkpsY1hWcGNtVmtTSFZ0WVc1Q2IyNWxUbUZ0WlYwN1hHNGlMQ0pwYlhCdmNuUWdkSGx3WlNBcUlHRnpJRll3VmxKTklHWnliMjBnSjBCd2FYaHBkaTkwZVhCbGN5MTJjbTB0TUM0d0p6dGNibWx0Y0c5eWRDQjBlWEJsSUNvZ1lYTWdWakZXVWsxVFkyaGxiV0VnWm5KdmJTQW5RSEJwZUdsMkwzUjVjR1Z6TFhaeWJXTXRkbkp0TFRFdU1DYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZE1WRVlzSUVkTVZFWk1iMkZrWlhKUWJIVm5hVzRzSUVkTVZFWlFZWEp6WlhJZ2ZTQm1jbTl0SUNkMGFISmxaUzlsZUdGdGNHeGxjeTlxYzIwdmJHOWhaR1Z5Y3k5SFRGUkdURzloWkdWeUxtcHpKenRjYm1sdGNHOXlkQ0I3SUZaU1RVaDFiV0Z1YjJsa0lIMGdabkp2YlNBbkxpOVdVazFJZFcxaGJtOXBaQ2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFVoMWJXRnVRbTl1WlhNZ2ZTQm1jbTl0SUNjdUwxWlNUVWgxYldGdVFtOXVaWE1uTzF4dWFXMXdiM0owSUhzZ1ZsSk5VbVZ4ZFdseVpXUklkVzFoYmtKdmJtVk9ZVzFsSUgwZ1puSnZiU0FuTGk5V1VrMVNaWEYxYVhKbFpFaDFiV0Z1UW05dVpVNWhiV1VuTzF4dWFXMXdiM0owSUhzZ1IweFVSaUJoY3lCSFRGUkdVMk5vWlcxaElIMGdabkp2YlNBblFHZHNkR1l0ZEhKaGJuTm1iM0p0TDJOdmNtVW5PMXh1YVcxd2IzSjBJSHNnVmxKTlNIVnRZVzV2YVdSSVpXeHdaWElnZlNCbWNtOXRJQ2N1TDJobGJIQmxjbk12VmxKTlNIVnRZVzV2YVdSSVpXeHdaWEluTzF4dWFXMXdiM0owSUhzZ1ZsSk5TSFZ0WVc1dmFXUk1iMkZrWlhKUWJIVm5hVzVQY0hScGIyNXpJSDBnWm5KdmJTQW5MaTlXVWsxSWRXMWhibTlwWkV4dllXUmxjbEJzZFdkcGJrOXdkR2x2Ym5Nbk8xeHVYRzR2S2lwY2JpQXFJRkJ2YzNOcFlteGxJSE53WldNZ2RtVnljMmx2Ym5NZ2FYUWdjbVZqYjJkdWFYcGxjeTVjYmlBcUwxeHVZMjl1YzNRZ1VFOVRVMGxDVEVWZlUxQkZRMTlXUlZKVFNVOU9VeUE5SUc1bGR5QlRaWFFvV3ljeExqQW5MQ0FuTVM0d0xXSmxkR0VuWFNrN1hHNWNiaThxS2x4dUlDb2dRU0J0WVhBZ1puSnZiU0J2YkdRZ2RHaDFiV0lnWW05dVpTQnVZVzFsY3lCMGJ5QnVaWGNnZEdoMWJXSWdZbTl1WlNCdVlXMWxjMXh1SUNvdlhHNWpiMjV6ZENCMGFIVnRZa0p2Ym1WT1lXMWxUV0Z3T2lCN0lGdHJaWGs2SUhOMGNtbHVaMTA2SUZZeFZsSk5VMk5vWlcxaExraDFiV0Z1YjJsa1NIVnRZVzVDYjI1bFRtRnRaU0I4SUhWdVpHVm1hVzVsWkNCOUlEMGdlMXh1SUNCc1pXWjBWR2gxYldKUWNtOTRhVzFoYkRvZ0oyeGxablJVYUhWdFlrMWxkR0ZqWVhKd1lXd25MRnh1SUNCc1pXWjBWR2gxYldKSmJuUmxjbTFsWkdsaGRHVTZJQ2RzWldaMFZHaDFiV0pRY205NGFXMWhiQ2NzWEc0Z0lISnBaMmgwVkdoMWJXSlFjbTk0YVcxaGJEb2dKM0pwWjJoMFZHaDFiV0pOWlhSaFkyRnljR0ZzSnl4Y2JpQWdjbWxuYUhSVWFIVnRZa2x1ZEdWeWJXVmthV0YwWlRvZ0ozSnBaMmgwVkdoMWJXSlFjbTk0YVcxaGJDY3NYRzU5TzF4dVhHNHZLaXBjYmlBcUlFRWdjR3gxWjJsdUlHOW1JRWRNVkVaTWIyRmtaWElnZEdoaGRDQnBiWEJ2Y25SeklHRWdlMEJzYVc1cklGWlNUVWgxYldGdWIybGtmU0JtY205dElHRWdWbEpOSUdWNGRHVnVjMmx2YmlCdlppQmhJRWRNVkVZdVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QldVazFJZFcxaGJtOXBaRXh2WVdSbGNsQnNkV2RwYmlCcGJYQnNaVzFsYm5SeklFZE1WRVpNYjJGa1pYSlFiSFZuYVc0Z2UxeHVJQ0F2S2lwY2JpQWdJQ29nVTNCbFkybG1lU0JoYmlCUFltcGxZM1F6UkNCMGJ5QmhaR1FnZTBCc2FXNXJJRlpTVFVoMWJXRnViMmxrU0dWc2NHVnlmUzVjYmlBZ0lDb2dTV1lnYm05MElITndaV05wWm1sbFpDd2dhR1ZzY0dWeUlIZHBiR3dnYm05MElHSmxJR055WldGMFpXUXVYRzRnSUNBcUlFbG1JR0J5Wlc1a1pYSlBjbVJsY21BZ2FYTWdjMlYwSUhSdklIUm9aU0J5YjI5MExDQjBhR1VnYUdWc2NHVnlJSGRwYkd3Z1kyOXdlU0IwYUdVZ2MyRnRaU0JnY21WdVpHVnlUM0prWlhKZ0lDNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm9aV3h3WlhKU2IyOTBQem9nVkVoU1JVVXVUMkpxWldOME0wUTdYRzVjYmlBZ2NIVmliR2xqSUdGMWRHOVZjR1JoZEdWSWRXMWhia0p2Ym1WelB6b2dZbTl2YkdWaGJqdGNibHh1SUNCd2RXSnNhV01nY21WaFpHOXViSGtnY0dGeWMyVnlPaUJIVEZSR1VHRnljMlZ5TzF4dVhHNGdJSEIxWW14cFl5Qm5aWFFnYm1GdFpTZ3BPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lDOHZJRmRsSUhOb2IzVnNaQ0IxYzJVZ2RHaGxJR1Y0ZEdWdWMybHZiaUJ1WVcxbElHbHVjM1JsWVdRZ1luVjBJSGRsSUdoaGRtVWdiWFZzZEdsd2JHVWdjR3gxWjJsdWN5Qm1iM0lnWVc0Z1pYaDBaVzV6YVc5dUxpNHVYRzRnSUNBZ2NtVjBkWEp1SUNkV1VrMUlkVzFoYm05cFpFeHZZV1JsY2xCc2RXZHBiaWM3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2NHRnljMlZ5T2lCSFRGUkdVR0Z5YzJWeUxDQnZjSFJwYjI1elB6b2dWbEpOU0hWdFlXNXZhV1JNYjJGa1pYSlFiSFZuYVc1UGNIUnBiMjV6S1NCN1hHNGdJQ0FnZEdocGN5NXdZWEp6WlhJZ1BTQndZWEp6WlhJN1hHNWNiaUFnSUNCMGFHbHpMbWhsYkhCbGNsSnZiM1FnUFNCdmNIUnBiMjV6UHk1b1pXeHdaWEpTYjI5ME8xeHVJQ0FnSUhSb2FYTXVZWFYwYjFWd1pHRjBaVWgxYldGdVFtOXVaWE1nUFNCdmNIUnBiMjV6UHk1aGRYUnZWWEJrWVhSbFNIVnRZVzVDYjI1bGN6dGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmhjM2x1WXlCaFpuUmxjbEp2YjNRb1oyeDBaam9nUjB4VVJpazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdkc2RHWXVkWE5sY2tSaGRHRXVkbkp0U0hWdFlXNXZhV1FnUFNCaGQyRnBkQ0IwYUdsekxsOXBiWEJ2Y25Rb1oyeDBaaWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1NXMXdiM0owSUdFZ2UwQnNhVzVySUZaU1RVaDFiV0Z1YjJsa2ZTQm1jbTl0SUdFZ1ZsSk5MbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnWjJ4MFppQkJJSEJoY25ObFpDQnlaWE4xYkhRZ2IyWWdSMHhVUmlCMFlXdGxiaUJtY205dElFZE1WRVpNYjJGa1pYSmNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ1gybHRjRzl5ZENobmJIUm1PaUJIVEZSR0tUb2dVSEp2YldselpUeFdVazFJZFcxaGJtOXBaQ0I4SUc1MWJHdytJSHRjYmlBZ0lDQmpiMjV6ZENCMk1WSmxjM1ZzZENBOUlHRjNZV2wwSUhSb2FYTXVYM1l4U1cxd2IzSjBLR2RzZEdZcE8xeHVJQ0FnSUdsbUlDaDJNVkpsYzNWc2RDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIWXhVbVZ6ZFd4ME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSFl3VW1WemRXeDBJRDBnWVhkaGFYUWdkR2hwY3k1ZmRqQkpiWEJ2Y25Rb1oyeDBaaWs3WEc0Z0lDQWdhV1lnS0hZd1VtVnpkV3gwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZGpCU1pYTjFiSFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdGemVXNWpJRjkyTVVsdGNHOXlkQ2huYkhSbU9pQkhURlJHS1RvZ1VISnZiV2x6WlR4V1VrMUlkVzFoYm05cFpDQjhJRzUxYkd3K0lIdGNiaUFnSUNCamIyNXpkQ0JxYzI5dUlEMGdkR2hwY3k1d1lYSnpaWEl1YW5OdmJpQmhjeUJIVEZSR1UyTm9aVzFoTGtsSFRGUkdPMXh1WEc0Z0lDQWdMeThnWldGeWJIa2dZV0p2Y25RZ2FXWWdhWFFnWkc5bGMyNG5kQ0IxYzJVZ2RuSnRYRzRnSUNBZ1kyOXVjM1FnYVhOV1VrMVZjMlZrSUQwZ2FuTnZiaTVsZUhSbGJuTnBiMjV6VlhObFpEOHVhVzVrWlhoUFppZ25WbEpOUTE5MmNtMG5LU0FoUFQwZ0xURTdYRzRnSUNBZ2FXWWdLQ0ZwYzFaU1RWVnpaV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJR1Y0ZEdWdWMybHZiaUE5SUdwemIyNHVaWGgwWlc1emFXOXVjejh1V3lkV1VrMURYM1p5YlNkZElHRnpJRll4VmxKTlUyTm9aVzFoTGxaU1RVTldVazBnZkNCMWJtUmxabWx1WldRN1hHNGdJQ0FnYVdZZ0tDRmxlSFJsYm5OcGIyNHBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElITndaV05XWlhKemFXOXVJRDBnWlhoMFpXNXphVzl1TG5Od1pXTldaWEp6YVc5dU8xeHVJQ0FnSUdsbUlDZ2hVRTlUVTBsQ1RFVmZVMUJGUTE5V1JWSlRTVTlPVXk1b1lYTW9jM0JsWTFabGNuTnBiMjRwS1NCN1hHNGdJQ0FnSUNCamIyNXpiMnhsTG5kaGNtNG9ZRlpTVFVoMWJXRnViMmxrVEc5aFpHVnlVR3gxWjJsdU9pQlZibXR1YjNkdUlGWlNUVU5mZG5KdElITndaV05XWlhKemFXOXVJRndpSkh0emNHVmpWbVZ5YzJsdmJuMWNJbUFwTzF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdjMk5vWlcxaFNIVnRZVzV2YVdRZ1BTQmxlSFJsYm5OcGIyNHVhSFZ0WVc1dmFXUTdYRzRnSUNBZ2FXWWdLQ0Z6WTJobGJXRklkVzFoYm05cFpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nWTI5dGNHRjBPaUF4TGpBdFltVjBZU0IwYUhWdFlpQmliMjVsSUc1aGJXVnpYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQmdkSEoxWldBZ2FXWWdZR3hsWm5SVWFIVnRZa2x1ZEdWeWJXVmthV0YwWldBZ2IzSWdZSEpwWjJoMFZHaDFiV0pKYm5SbGNtMWxaR2xoZEdWZ0lHVjRhWE4wYzF4dUlDQWdJQ0FxTDF4dUlDQWdJR052Ym5OMElHVjRhWE4wYzFCeVpYWnBiM1Z6VkdoMWJXSk9ZVzFsSUQxY2JpQWdJQ0FnSUNoelkyaGxiV0ZJZFcxaGJtOXBaQzVvZFcxaGJrSnZibVZ6SUdGeklHRnVlU2t1YkdWbWRGUm9kVzFpU1c1MFpYSnRaV1JwWVhSbElDRTlJRzUxYkd3Z2ZIeGNiaUFnSUNBZ0lDaHpZMmhsYldGSWRXMWhibTlwWkM1b2RXMWhia0p2Ym1WeklHRnpJR0Z1ZVNrdWNtbG5hSFJVYUhWdFlrbHVkR1Z5YldWa2FXRjBaU0FoUFNCdWRXeHNPMXh1WEc0Z0lDQWdZMjl1YzNRZ2FIVnRZVzVDYjI1bGN6b2dVR0Z5ZEdsaGJEeFdVazFJZFcxaGJrSnZibVZ6UGlBOUlIdDlPMXh1SUNBZ0lHbG1JQ2h6WTJobGJXRklkVzFoYm05cFpDNW9kVzFoYmtKdmJtVnpJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR0YzWVdsMElGQnliMjFwYzJVdVlXeHNLRnh1SUNBZ0lDQWdJQ0JQWW1wbFkzUXVaVzUwY21sbGN5aHpZMmhsYldGSWRXMWhibTlwWkM1b2RXMWhia0p2Ym1WektTNXRZWEFvWVhONWJtTWdLRnRpYjI1bFRtRnRaVk4wY21sdVp5d2djMk5vWlcxaFNIVnRZVzVDYjI1bFhTa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0JpYjI1bFRtRnRaU0E5SUdKdmJtVk9ZVzFsVTNSeWFXNW5JR0Z6SUZZeFZsSk5VMk5vWlcxaExraDFiV0Z1YjJsa1NIVnRZVzVDYjI1bFRtRnRaVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JwYm1SbGVDQTlJSE5qYUdWdFlVaDFiV0Z1UW05dVpTNXViMlJsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdMeThnWTI5dGNHRjBPaUF4TGpBdFltVjBZU0J3Y21WMmFXOTFjeUIwYUhWdFlpQmliMjVsSUc1aGJXVnpYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHVjRhWE4wYzFCeVpYWnBiM1Z6VkdoMWJXSk9ZVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQjBhSFZ0WWtKdmJtVk9ZVzFsSUQwZ2RHaDFiV0pDYjI1bFRtRnRaVTFoY0Z0aWIyNWxUbUZ0WlYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RHaDFiV0pDYjI1bFRtRnRaU0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR0p2Ym1WT1lXMWxJRDBnZEdoMWJXSkNiMjVsVG1GdFpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J1YjJSbElEMGdZWGRoYVhRZ2RHaHBjeTV3WVhKelpYSXVaMlYwUkdWd1pXNWtaVzVqZVNnbmJtOWtaU2NzSUdsdVpHVjRLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHZJR2xtSUhSb1pTQnpjR1ZqYVdacFpXUWdibTlrWlNCa2IyVnpJRzV2ZENCbGVHbHpkQ3dnWlcxcGRDQmhJSGRoY201cGJtZGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2JtOWtaU0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWUVFZ1oyeFVSaUJ1YjJSbElHSnZkVzVrSUhSdklIUm9aU0JvZFcxaGJtOXBaQ0JpYjI1bElDUjdZbTl1WlU1aGJXVjlJQ2hwYm1SbGVDQTlJQ1I3YVc1a1pYaDlLU0JrYjJWeklHNXZkQ0JsZUdsemRHQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUM4dklITmxkQ0IwYnlCMGFHVWdZR2gxYldGdVFtOXVaWE5nWEc0Z0lDQWdJQ0FnSUNBZ2FIVnRZVzVDYjI1bGMxdGliMjVsVG1GdFpWMGdQU0I3SUc1dlpHVWdmVHRjYmlBZ0lDQWdJQ0FnZlNrc1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJR2gxYldGdWIybGtJRDBnYm1WM0lGWlNUVWgxYldGdWIybGtLSFJvYVhNdVgyVnVjM1Z5WlZKbGNYVnBjbVZrUW05dVpYTkZlR2x6ZENob2RXMWhia0p2Ym1WektTd2dlMXh1SUNBZ0lDQWdZWFYwYjFWd1pHRjBaVWgxYldGdVFtOXVaWE02SUhSb2FYTXVZWFYwYjFWd1pHRjBaVWgxYldGdVFtOXVaWE1zWEc0Z0lDQWdmU2s3WEc0Z0lDQWdaMngwWmk1elkyVnVaUzVoWkdRb2FIVnRZVzV2YVdRdWJtOXliV0ZzYVhwbFpFaDFiV0Z1UW05dVpYTlNiMjkwS1R0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TG1obGJIQmxjbEp2YjNRcElIdGNiaUFnSUNBZ0lHTnZibk4wSUdobGJIQmxjaUE5SUc1bGR5QldVazFJZFcxaGJtOXBaRWhsYkhCbGNpaG9kVzFoYm05cFpDazdYRzRnSUNBZ0lDQjBhR2x6TG1obGJIQmxjbEp2YjNRdVlXUmtLR2hsYkhCbGNpazdYRzRnSUNBZ0lDQm9aV3h3WlhJdWNtVnVaR1Z5VDNKa1pYSWdQU0IwYUdsekxtaGxiSEJsY2xKdmIzUXVjbVZ1WkdWeVQzSmtaWEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHaDFiV0Z1YjJsa08xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmhjM2x1WXlCZmRqQkpiWEJ2Y25Rb1oyeDBaam9nUjB4VVJpazZJRkJ5YjIxcGMyVThWbEpOU0hWdFlXNXZhV1FnZkNCdWRXeHNQaUI3WEc0Z0lDQWdZMjl1YzNRZ2FuTnZiaUE5SUhSb2FYTXVjR0Z5YzJWeUxtcHpiMjRnWVhNZ1IweFVSbE5qYUdWdFlTNUpSMHhVUmp0Y2JseHVJQ0FnSUdOdmJuTjBJSFp5YlVWNGRDQTlJR3B6YjI0dVpYaDBaVzV6YVc5dWN6OHVWbEpOSUdGeklGWXdWbEpOTGxaU1RTQjhJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQnBaaUFvSVhaeWJVVjRkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdjMk5vWlcxaFNIVnRZVzV2YVdRNklGWXdWbEpOTGtoMWJXRnViMmxrSUh3Z2RXNWtaV1pwYm1Wa0lEMGdkbkp0UlhoMExtaDFiV0Z1YjJsa08xeHVJQ0FnSUdsbUlDZ2hjMk5vWlcxaFNIVnRZVzV2YVdRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdoMWJXRnVRbTl1WlhNNklGQmhjblJwWVd3OFZsSk5TSFZ0WVc1Q2IyNWxjejRnUFNCN2ZUdGNiaUFnSUNCcFppQW9jMk5vWlcxaFNIVnRZVzV2YVdRdWFIVnRZVzVDYjI1bGN5QWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaGNiaUFnSUNBZ0lDQWdjMk5vWlcxaFNIVnRZVzV2YVdRdWFIVnRZVzVDYjI1bGN5NXRZWEFvWVhONWJtTWdLR0p2Ym1VcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JpYjI1bFRtRnRaU0E5SUdKdmJtVXVZbTl1WlR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCcGJtUmxlQ0E5SUdKdmJtVXVibTlrWlR0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoaWIyNWxUbUZ0WlNBOVBTQnVkV3hzSUh4OElHbHVaR1Y0SUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnWVhkaGFYUWdkR2hwY3k1d1lYSnpaWEl1WjJWMFJHVndaVzVrWlc1amVTZ25ibTlrWlNjc0lHbHVaR1Y0S1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQzh2SUdsbUlIUm9aU0J6Y0dWamFXWnBaV1FnYm05a1pTQmtiMlZ6SUc1dmRDQmxlR2x6ZEN3Z1pXMXBkQ0JoSUhkaGNtNXBibWRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ibTlrWlNBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emIyeGxMbmRoY200b1lFRWdaMnhVUmlCdWIyUmxJR0p2ZFc1a0lIUnZJSFJvWlNCb2RXMWhibTlwWkNCaWIyNWxJQ1I3WW05dVpVNWhiV1Y5SUNocGJtUmxlQ0E5SUNSN2FXNWtaWGg5S1NCa2IyVnpJRzV2ZENCbGVHbHpkR0FwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDOHZJRzFoY0NCMGJ5QnVaWGNnWW05dVpTQnVZVzFsWEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZEdoMWJXSkNiMjVsVG1GdFpTQTlJSFJvZFcxaVFtOXVaVTVoYldWTllYQmJZbTl1WlU1aGJXVmRPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzVsZDBKdmJtVk9ZVzFsSUQwZ0tIUm9kVzFpUW05dVpVNWhiV1VnUHo4Z1ltOXVaVTVoYldVcElHRnpJRll4VmxKTlUyTm9aVzFoTGtoMWJXRnViMmxrU0hWdFlXNUNiMjVsVG1GdFpUdGNibHh1SUNBZ0lDQWdJQ0FnSUM4dklIWXdJRlpTVFhNZ2JXbG5hSFFnYUdGMlpTQmhJRzExYkhScGNHeGxJRzV2WkdWeklHRjBkR0ZqYUdWa0lIUnZJR0VnYzJsdVoyeGxJR0p2Ym1VdUxpNWNiaUFnSUNBZ0lDQWdJQ0F2THlCemJ5QnBaaUIwYUdWeVpTQmhiSEpsWVdSNUlHbHpJR0Z1SUdWdWRISjVJR2x1SUhSb1pTQmdhSFZ0WVc1Q2IyNWxjMkFzSUhOb2IzY2dZU0IzWVhKdWFXNW5JR0Z1WkNCcFoyNXZjbVVnYVhSY2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYUhWdFlXNUNiMjVsYzF0dVpYZENiMjVsVG1GdFpWMGdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmdUWFZzZEdsd2JHVWdZbTl1WlNCbGJuUnlhV1Z6SUdadmNpQWtlMjVsZDBKdmJtVk9ZVzFsZlNCa1pYUmxZM1JsWkNBb2FXNWtaWGdnUFNBa2UybHVaR1Y0ZlNrc0lHbG5ibTl5YVc1bklHUjFjR3hwWTJGMFpXUWdaVzUwY21sbGN5NWdMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0F2THlCelpYUWdkRzhnZEdobElHQm9kVzFoYmtKdmJtVnpZRnh1SUNBZ0lDQWdJQ0FnSUdoMWJXRnVRbTl1WlhOYmJtVjNRbTl1WlU1aGJXVmRJRDBnZXlCdWIyUmxJSDA3WEc0Z0lDQWdJQ0FnSUgwcExGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JvZFcxaGJtOXBaQ0E5SUc1bGR5QldVazFJZFcxaGJtOXBaQ2gwYUdsekxsOWxibk4xY21WU1pYRjFhWEpsWkVKdmJtVnpSWGhwYzNRb2FIVnRZVzVDYjI1bGN5a3NJSHRjYmlBZ0lDQWdJR0YxZEc5VmNHUmhkR1ZJZFcxaGJrSnZibVZ6T2lCMGFHbHpMbUYxZEc5VmNHUmhkR1ZJZFcxaGJrSnZibVZ6TEZ4dUlDQWdJSDBwTzF4dUlDQWdJR2RzZEdZdWMyTmxibVV1WVdSa0tHaDFiV0Z1YjJsa0xtNXZjbTFoYkdsNlpXUklkVzFoYmtKdmJtVnpVbTl2ZENrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1b1pXeHdaWEpTYjI5MEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCb1pXeHdaWElnUFNCdVpYY2dWbEpOU0hWdFlXNXZhV1JJWld4d1pYSW9hSFZ0WVc1dmFXUXBPMXh1SUNBZ0lDQWdkR2hwY3k1b1pXeHdaWEpTYjI5MExtRmtaQ2hvWld4d1pYSXBPMXh1SUNBZ0lDQWdhR1ZzY0dWeUxuSmxibVJsY2s5eVpHVnlJRDBnZEdocGN5NW9aV3h3WlhKU2IyOTBMbkpsYm1SbGNrOXlaR1Z5TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQm9kVzFoYm05cFpEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJGYm5OMWNtVWdjbVZ4ZFdseVpXUWdZbTl1WlhNZ1pYaHBjM1FnYVc0Z1oybDJaVzRnYUhWdFlXNGdZbTl1WlhNdVhHNGdJQ0FxSUVCd1lYSmhiU0JvZFcxaGJrSnZibVZ6SUVoMWJXRnVJR0p2Ym1WelhHNGdJQ0FxSUVCeVpYUjFjbTV6SUVoMWJXRnVJR0p2Ym1WekxDQnVieUJzYjI1blpYSWdjR0Z5ZEdsaGJDRmNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYMlZ1YzNWeVpWSmxjWFZwY21Wa1FtOXVaWE5GZUdsemRDaG9kVzFoYmtKdmJtVnpPaUJRWVhKMGFXRnNQRlpTVFVoMWJXRnVRbTl1WlhNK0tUb2dWbEpOU0hWdFlXNUNiMjVsY3lCN1hHNGdJQ0FnTHk4Z1pXNXpkWEpsSUhKbGNYVnBjbVZrSUdKdmJtVnpJR1Y0YVhOMFhHNGdJQ0FnWTI5dWMzUWdiV2x6YzJsdVoxSmxjWFZwY21Wa1FtOXVaWE1nUFNCUFltcGxZM1F1ZG1Gc2RXVnpLRlpTVFZKbGNYVnBjbVZrU0hWdFlXNUNiMjVsVG1GdFpTa3VabWxzZEdWeUtGeHVJQ0FnSUNBZ0tISmxjWFZwY21Wa1FtOXVaVTVoYldVcElEMCtJR2gxYldGdVFtOXVaWE5iY21WeGRXbHlaV1JDYjI1bFRtRnRaVjBnUFQwZ2JuVnNiQ3hjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdMeThnZEdoeWIzY2dZVzRnWlhKeWIzSWdhV1lnZEdobGNtVWdZWEpsSUcxcGMzTnBibWNnWW05dVpYTmNiaUFnSUNCcFppQW9iV2x6YzJsdVoxSmxjWFZwY21Wa1FtOXVaWE11YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCZ1ZsSk5TSFZ0WVc1dmFXUk1iMkZrWlhKUWJIVm5hVzQ2SUZSb1pYTmxJR2gxYldGdWIybGtJR0p2Ym1WeklHRnlaU0J5WlhGMWFYSmxaQ0JpZFhRZ2JtOTBJR1Y0YVhOME9pQWtlMjFwYzNOcGJtZFNaWEYxYVhKbFpFSnZibVZ6TG1wdmFXNG9KeXdnSnlsOVlDeGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdoMWJXRnVRbTl1WlhNZ1lYTWdWbEpOU0hWdFlXNUNiMjVsY3p0Y2JpQWdmVnh1ZlZ4dUlpd2lhVzF3YjNKMElDb2dZWE1nVkVoU1JVVWdabkp2YlNBbmRHaHlaV1VuTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nUm1GdVFuVm1abVZ5UjJWdmJXVjBjbmtnWlhoMFpXNWtjeUJVU0ZKRlJTNUNkV1ptWlhKSFpXOXRaWFJ5ZVNCN1hHNGdJSEIxWW14cFl5QjBhR1YwWVRvZ2JuVnRZbVZ5TzF4dUlDQndkV0pzYVdNZ2NtRmthWFZ6T2lCdWRXMWlaWEk3WEc0Z0lIQnlhWFpoZEdVZ1gyTjFjbkpsYm5SVWFHVjBZU0E5SURBN1hHNGdJSEJ5YVhaaGRHVWdYMk4xY25KbGJuUlNZV1JwZFhNZ1BTQXdPMXh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUY5aGRIUnlVRzl6T2lCVVNGSkZSUzVDZFdabVpYSkJkSFJ5YVdKMWRHVTdYRzRnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnWDJGMGRISkpibVJsZURvZ1ZFaFNSVVV1UW5WbVptVnlRWFIwY21saWRYUmxPMXh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpZ3BJSHRjYmlBZ0lDQnpkWEJsY2lncE8xeHVYRzRnSUNBZ2RHaHBjeTUwYUdWMFlTQTlJREF1TUR0Y2JpQWdJQ0IwYUdsekxuSmhaR2wxY3lBOUlEQXVNRHRjYmlBZ0lDQjBhR2x6TGw5amRYSnlaVzUwVkdobGRHRWdQU0F3TGpBN1hHNGdJQ0FnZEdocGN5NWZZM1Z5Y21WdWRGSmhaR2wxY3lBOUlEQXVNRHRjYmx4dUlDQWdJSFJvYVhNdVgyRjBkSEpRYjNNZ1BTQnVaWGNnVkVoU1JVVXVRblZtWm1WeVFYUjBjbWxpZFhSbEtHNWxkeUJHYkc5aGRETXlRWEp5WVhrb05qVWdLaUF6S1N3Z015azdYRzRnSUNBZ2RHaHBjeTV6WlhSQmRIUnlhV0oxZEdVb0ozQnZjMmwwYVc5dUp5d2dkR2hwY3k1ZllYUjBjbEJ2Y3lrN1hHNWNiaUFnSUNCMGFHbHpMbDloZEhSeVNXNWtaWGdnUFNCdVpYY2dWRWhTUlVVdVFuVm1abVZ5UVhSMGNtbGlkWFJsS0c1bGR5QlZhVzUwTVRaQmNuSmhlU2d6SUNvZ05qTXBMQ0F4S1R0Y2JpQWdJQ0IwYUdsekxuTmxkRWx1WkdWNEtIUm9hWE11WDJGMGRISkpibVJsZUNrN1hHNWNiaUFnSUNCMGFHbHpMbDlpZFdsc1pFbHVaR1Y0S0NrN1hHNGdJQ0FnZEdocGN5NTFjR1JoZEdVb0tUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QjFjR1JoZEdVb0tUb2dkbTlwWkNCN1hHNGdJQ0FnYkdWMElITm9iM1ZzWkZWd1pHRjBaVWRsYjIxbGRISjVJRDBnWm1Gc2MyVTdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NWZZM1Z5Y21WdWRGUm9aWFJoSUNFOVBTQjBhR2x6TG5Sb1pYUmhLU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOWpkWEp5Wlc1MFZHaGxkR0VnUFNCMGFHbHpMblJvWlhSaE8xeHVJQ0FnSUNBZ2MyaHZkV3hrVlhCa1lYUmxSMlZ2YldWMGNua2dQU0IwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TGw5amRYSnlaVzUwVW1Ga2FYVnpJQ0U5UFNCMGFHbHpMbkpoWkdsMWN5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZlkzVnljbVZ1ZEZKaFpHbDFjeUE5SUhSb2FYTXVjbUZrYVhWek8xeHVJQ0FnSUNBZ2MyaHZkV3hrVlhCa1lYUmxSMlZ2YldWMGNua2dQU0IwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHphRzkxYkdSVmNHUmhkR1ZIWlc5dFpYUnllU2tnZTF4dUlDQWdJQ0FnZEdocGN5NWZZblZwYkdSUWIzTnBkR2x2YmlncE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gySjFhV3hrVUc5emFYUnBiMjRvS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdkR2hwY3k1ZllYUjBjbEJ2Y3k1elpYUllXVm9vTUN3Z01DNHdMQ0F3TGpBc0lEQXVNQ2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SURZME95QnBLeXNwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSFFnUFNBb2FTQXZJRFl6TGpBcElDb2dkR2hwY3k1ZlkzVnljbVZ1ZEZSb1pYUmhPMXh1WEc0Z0lDQWdJQ0IwYUdsekxsOWhkSFJ5VUc5ekxuTmxkRmhaV2locElDc2dNU3dnZEdocGN5NWZZM1Z5Y21WdWRGSmhaR2wxY3lBcUlFMWhkR2d1YzJsdUtIUXBMQ0F3TGpBc0lIUm9hWE11WDJOMWNuSmxiblJTWVdScGRYTWdLaUJOWVhSb0xtTnZjeWgwS1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NWZZWFIwY2xCdmN5NXVaV1ZrYzFWd1pHRjBaU0E5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRjlpZFdsc1pFbHVaR1Y0S0NrNklIWnZhV1FnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnTmpNN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NWZZWFIwY2tsdVpHVjRMbk5sZEZoWldpaHBJQ29nTXl3Z01Dd2dhU0FySURFc0lHa2dLeUF5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxsOWhkSFJ5U1c1a1pYZ3VibVZsWkhOVmNHUmhkR1VnUFNCMGNuVmxPMXh1SUNCOVhHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5Qk1hVzVsUVc1a1UzQm9aWEpsUW5WbVptVnlSMlZ2YldWMGNua2daWGgwWlc1a2N5QlVTRkpGUlM1Q2RXWm1aWEpIWlc5dFpYUnllU0I3WEc0Z0lIQjFZbXhwWXlCeVlXUnBkWE02SUc1MWJXSmxjanRjYmlBZ2NIVmliR2xqSUhSaGFXdzZJRlJJVWtWRkxsWmxZM1J2Y2pNN1hHNGdJSEJ5YVhaaGRHVWdYMk4xY25KbGJuUlNZV1JwZFhNNklHNTFiV0psY2p0Y2JpQWdjSEpwZG1GMFpTQmZZM1Z5Y21WdWRGUmhhV3c2SUZSSVVrVkZMbFpsWTNSdmNqTTdYRzRnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnWDJGMGRISlFiM002SUZSSVVrVkZMa0oxWm1abGNrRjBkSEpwWW5WMFpUdGNiaUFnY0hKcGRtRjBaU0J5WldGa2IyNXNlU0JmWVhSMGNrbHVaR1Y0T2lCVVNGSkZSUzVDZFdabVpYSkJkSFJ5YVdKMWRHVTdYRzVjYmlBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtDa2dlMXh1SUNBZ0lITjFjR1Z5S0NrN1hHNWNiaUFnSUNCMGFHbHpMbkpoWkdsMWN5QTlJREF1TUR0Y2JpQWdJQ0IwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6SUQwZ01DNHdPMXh1WEc0Z0lDQWdkR2hwY3k1MFlXbHNJRDBnYm1WM0lGUklVa1ZGTGxabFkzUnZjak1vS1R0Y2JpQWdJQ0IwYUdsekxsOWpkWEp5Wlc1MFZHRnBiQ0E5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNWNiaUFnSUNCMGFHbHpMbDloZEhSeVVHOXpJRDBnYm1WM0lGUklVa1ZGTGtKMVptWmxja0YwZEhKcFluVjBaU2h1WlhjZ1JteHZZWFF6TWtGeWNtRjVLREk1TkNrc0lETXBPMXh1SUNBZ0lIUm9hWE11YzJWMFFYUjBjbWxpZFhSbEtDZHdiM05wZEdsdmJpY3NJSFJvYVhNdVgyRjBkSEpRYjNNcE8xeHVYRzRnSUNBZ2RHaHBjeTVmWVhSMGNrbHVaR1Y0SUQwZ2JtVjNJRlJJVWtWRkxrSjFabVpsY2tGMGRISnBZblYwWlNodVpYY2dWV2x1ZERFMlFYSnlZWGtvTVRrMEtTd2dNU2s3WEc0Z0lDQWdkR2hwY3k1elpYUkpibVJsZUNoMGFHbHpMbDloZEhSeVNXNWtaWGdwTzF4dVhHNGdJQ0FnZEdocGN5NWZZblZwYkdSSmJtUmxlQ2dwTzF4dUlDQWdJSFJvYVhNdWRYQmtZWFJsS0NrN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ2RYQmtZWFJsS0NrNklIWnZhV1FnZTF4dUlDQWdJR3hsZENCemFHOTFiR1JWY0dSaGRHVkhaVzl0WlhSeWVTQTlJR1poYkhObE8xeHVYRzRnSUNBZ2FXWWdLSFJvYVhNdVgyTjFjbkpsYm5SU1lXUnBkWE1nSVQwOUlIUm9hWE11Y21Ga2FYVnpLU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6SUQwZ2RHaHBjeTV5WVdScGRYTTdYRzRnSUNBZ0lDQnphRzkxYkdSVmNHUmhkR1ZIWlc5dFpYUnllU0E5SUhSeWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLQ0YwYUdsekxsOWpkWEp5Wlc1MFZHRnBiQzVsY1hWaGJITW9kR2hwY3k1MFlXbHNLU2tnZTF4dUlDQWdJQ0FnZEdocGN5NWZZM1Z5Y21WdWRGUmhhV3d1WTI5d2VTaDBhR2x6TG5SaGFXd3BPMXh1SUNBZ0lDQWdjMmh2ZFd4a1ZYQmtZWFJsUjJWdmJXVjBjbmtnUFNCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h6YUc5MWJHUlZjR1JoZEdWSFpXOXRaWFJ5ZVNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmWW5WcGJHUlFiM05wZEdsdmJpZ3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMkoxYVd4a1VHOXphWFJwYjI0b0tUb2dkbTlwWkNCN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENBek1qc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0IwSUQwZ0tHa2dMeUF4Tmk0d0tTQXFJRTFoZEdndVVFazdYRzVjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpRYjNNdWMyVjBXRmxhS0drc0lFMWhkR2d1WTI5ektIUXBMQ0JOWVhSb0xuTnBiaWgwS1N3Z01DNHdLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpRYjNNdWMyVjBXRmxhS0RNeUlDc2dhU3dnTUM0d0xDQk5ZWFJvTG1OdmN5aDBLU3dnVFdGMGFDNXphVzRvZENrcE8xeHVJQ0FnSUNBZ2RHaHBjeTVmWVhSMGNsQnZjeTV6WlhSWVdWb29OalFnS3lCcExDQk5ZWFJvTG5OcGJpaDBLU3dnTUM0d0xDQk5ZWFJvTG1OdmN5aDBLU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1elkyRnNaU2gwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6TENCMGFHbHpMbDlqZFhKeVpXNTBVbUZrYVhWekxDQjBhR2x6TGw5amRYSnlaVzUwVW1Ga2FYVnpLVHRjYmlBZ0lDQjBhR2x6TG5SeVlXNXpiR0YwWlNoMGFHbHpMbDlqZFhKeVpXNTBWR0ZwYkM1NExDQjBhR2x6TGw5amRYSnlaVzUwVkdGcGJDNTVMQ0IwYUdsekxsOWpkWEp5Wlc1MFZHRnBiQzU2S1R0Y2JseHVJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTXVjMlYwV0ZsYUtEazJMQ0F3TENBd0xDQXdLVHRjYmlBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6TG5ObGRGaFpXaWc1Tnl3Z2RHaHBjeTVmWTNWeWNtVnVkRlJoYVd3dWVDd2dkR2hwY3k1ZlkzVnljbVZ1ZEZSaGFXd3VlU3dnZEdocGN5NWZZM1Z5Y21WdWRGUmhhV3d1ZWlrN1hHNWNiaUFnSUNCMGFHbHpMbDloZEhSeVVHOXpMbTVsWldSelZYQmtZWFJsSUQwZ2RISjFaVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWDJKMWFXeGtTVzVrWlhnb0tUb2dkbTlwWkNCN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENBek1qc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JwTVNBOUlDaHBJQ3NnTVNrZ0pTQXpNanRjYmx4dUlDQWdJQ0FnZEdocGN5NWZZWFIwY2tsdVpHVjRMbk5sZEZoWktHa2dLaUF5TENCcExDQnBNU2s3WEc0Z0lDQWdJQ0IwYUdsekxsOWhkSFJ5U1c1a1pYZ3VjMlYwV0Zrb05qUWdLeUJwSUNvZ01pd2dNeklnS3lCcExDQXpNaUFySUdreEtUdGNiaUFnSUNBZ0lIUm9hWE11WDJGMGRISkpibVJsZUM1elpYUllXU2d4TWpnZ0t5QnBJQ29nTWl3Z05qUWdLeUJwTENBMk5DQXJJR2t4S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1ZllYUjBja2x1WkdWNExuTmxkRmhaS0RFNU1pd2dPVFlzSURrM0tUdGNibHh1SUNBZ0lIUm9hWE11WDJGMGRISkpibVJsZUM1dVpXVmtjMVZ3WkdGMFpTQTlJSFJ5ZFdVN1hHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lGWlNUVXh2YjJ0QmRDQjlJR1p5YjIwZ0p5NHVMMVpTVFV4dmIydEJkQ2M3WEc1cGJYQnZjblFnZXlCR1lXNUNkV1ptWlhKSFpXOXRaWFJ5ZVNCOUlHWnliMjBnSnk0dmRYUnBiSE12Um1GdVFuVm1abVZ5UjJWdmJXVjBjbmtuTzF4dWFXMXdiM0owSUhzZ1RHbHVaVUZ1WkZOd2FHVnlaVUoxWm1abGNrZGxiMjFsZEhKNUlIMGdabkp2YlNBbkxpOTFkR2xzY3k5TWFXNWxRVzVrVTNCb1pYSmxRblZtWm1WeVIyVnZiV1YwY25rbk8xeHVYRzVqYjI1emRDQmZjWFZoZEVFZ1BTQnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dVkyOXVjM1FnWDNGMVlYUkNJRDBnYm1WM0lGUklVa1ZGTGxGMVlYUmxjbTVwYjI0b0tUdGNibU52Ym5OMElGOTJNMEVnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVZMjl1YzNRZ1gzWXpRaUE5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNWNibU52Ym5OMElGTlJVbFJmTWw5UFZrVlNYeklnUFNCTllYUm9Mbk54Y25Rb01pNHdLU0F2SURJdU1EdGNibU52Ym5OMElGRlZRVlJmV0ZsZlExYzVNQ0E5SUc1bGR5QlVTRkpGUlM1UmRXRjBaWEp1YVc5dUtEQXNJREFzSUMxVFVWSlVYekpmVDFaRlVsOHlMQ0JUVVZKVVh6SmZUMVpGVWw4eUtUdGNibU52Ym5OMElGWkZRek5mVUU5VFNWUkpWa1ZmV1NBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektEQXVNQ3dnTVM0d0xDQXdMakFwTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVmxKTlRHOXZhMEYwU0dWc2NHVnlJR1Y0ZEdWdVpITWdWRWhTUlVVdVIzSnZkWEFnZTF4dUlDQndkV0pzYVdNZ2NtVmhaRzl1YkhrZ2RuSnRURzl2YTBGME9pQldVazFNYjI5clFYUTdYRzRnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnWDIxbGMyaFpZWGM2SUZSSVVrVkZMazFsYzJnOFJtRnVRblZtWm1WeVIyVnZiV1YwY25rc0lGUklVa1ZGTGsxbGMyaENZWE5wWTAxaGRHVnlhV0ZzUGp0Y2JpQWdjSEpwZG1GMFpTQnlaV0ZrYjI1c2VTQmZiV1Z6YUZCcGRHTm9PaUJVU0ZKRlJTNU5aWE5vUEVaaGJrSjFabVpsY2tkbGIyMWxkSEo1TENCVVNGSkZSUzVOWlhOb1FtRnphV05OWVhSbGNtbGhiRDQ3WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gyeHBibVZVWVhKblpYUTZJRlJJVWtWRkxreHBibVZUWldkdFpXNTBjenhNYVc1bFFXNWtVM0JvWlhKbFFuVm1abVZ5UjJWdmJXVjBjbmtzSUZSSVVrVkZMa3hwYm1WQ1lYTnBZMDFoZEdWeWFXRnNQanRjYmx4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9iRzl2YTBGME9pQldVazFNYjI5clFYUXBJSHRjYmlBZ0lDQnpkWEJsY2lncE8xeHVJQ0FnSUhSb2FYTXViV0YwY21sNFFYVjBiMVZ3WkdGMFpTQTlJR1poYkhObE8xeHVYRzRnSUNBZ2RHaHBjeTUyY20xTWIyOXJRWFFnUFNCc2IyOXJRWFE3WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0JqYjI1emRDQm5aVzl0WlhSeWVTQTlJRzVsZHlCR1lXNUNkV1ptWlhKSFpXOXRaWFJ5ZVNncE8xeHVJQ0FnSUNBZ1oyVnZiV1YwY25rdWNtRmthWFZ6SUQwZ01DNDFPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQnRZWFJsY21saGJDQTlJRzVsZHlCVVNGSkZSUzVOWlhOb1FtRnphV05OWVhSbGNtbGhiQ2g3WEc0Z0lDQWdJQ0FnSUdOdmJHOXlPaUF3ZURBd1ptWXdNQ3hjYmlBZ0lDQWdJQ0FnZEhKaGJuTndZWEpsYm5RNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUc5d1lXTnBkSGs2SURBdU5TeGNiaUFnSUNBZ0lDQWdjMmxrWlRvZ1ZFaFNSVVV1Ukc5MVlteGxVMmxrWlN4Y2JpQWdJQ0FnSUNBZ1pHVndkR2hVWlhOME9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ1pHVndkR2hYY21sMFpUb2dabUZzYzJVc1hHNGdJQ0FnSUNCOUtUdGNibHh1SUNBZ0lDQWdkR2hwY3k1ZmJXVnphRkJwZEdOb0lEMGdibVYzSUZSSVVrVkZMazFsYzJnb1oyVnZiV1YwY25rc0lHMWhkR1Z5YVdGc0tUdGNiaUFnSUNBZ0lIUm9hWE11WVdSa0tIUm9hWE11WDIxbGMyaFFhWFJqYUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaMlZ2YldWMGNua2dQU0J1WlhjZ1JtRnVRblZtWm1WeVIyVnZiV1YwY25rb0tUdGNiaUFnSUNBZ0lHZGxiMjFsZEhKNUxuSmhaR2wxY3lBOUlEQXVOVHRjYmx4dUlDQWdJQ0FnWTI5dWMzUWdiV0YwWlhKcFlXd2dQU0J1WlhjZ1ZFaFNSVVV1VFdWemFFSmhjMmxqVFdGMFpYSnBZV3dvZTF4dUlDQWdJQ0FnSUNCamIyeHZjam9nTUhobVpqQXdNREFzWEc0Z0lDQWdJQ0FnSUhSeVlXNXpjR0Z5Wlc1ME9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNCdmNHRmphWFI1T2lBd0xqVXNYRzRnSUNBZ0lDQWdJSE5wWkdVNklGUklVa1ZGTGtSdmRXSnNaVk5wWkdVc1hHNGdJQ0FnSUNBZ0lHUmxjSFJvVkdWemREb2dabUZzYzJVc1hHNGdJQ0FnSUNBZ0lHUmxjSFJvVjNKcGRHVTZJR1poYkhObExGeHVJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJSFJvYVhNdVgyMWxjMmhaWVhjZ1BTQnVaWGNnVkVoU1JVVXVUV1Z6YUNoblpXOXRaWFJ5ZVN3Z2JXRjBaWEpwWVd3cE8xeHVJQ0FnSUNBZ2RHaHBjeTVoWkdRb2RHaHBjeTVmYldWemFGbGhkeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdZMjl1YzNRZ1oyVnZiV1YwY25rZ1BTQnVaWGNnVEdsdVpVRnVaRk53YUdWeVpVSjFabVpsY2tkbGIyMWxkSEo1S0NrN1hHNGdJQ0FnSUNCblpXOXRaWFJ5ZVM1eVlXUnBkWE1nUFNBd0xqRTdYRzVjYmlBZ0lDQWdJR052Ym5OMElHMWhkR1Z5YVdGc0lEMGdibVYzSUZSSVVrVkZMa3hwYm1WQ1lYTnBZMDFoZEdWeWFXRnNLSHRjYmlBZ0lDQWdJQ0FnWTI5c2IzSTZJREI0Wm1abVptWm1MRnh1SUNBZ0lDQWdJQ0JrWlhCMGFGUmxjM1E2SUdaaGJITmxMRnh1SUNBZ0lDQWdJQ0JrWlhCMGFGZHlhWFJsT2lCbVlXeHpaU3hjYmlBZ0lDQWdJSDBwTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbDlzYVc1bFZHRnlaMlYwSUQwZ2JtVjNJRlJJVWtWRkxreHBibVZUWldkdFpXNTBjeWhuWlc5dFpYUnllU3dnYldGMFpYSnBZV3dwTzF4dUlDQWdJQ0FnZEdocGN5NWZiR2x1WlZSaGNtZGxkQzVtY25WemRIVnRRM1ZzYkdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnSUNCMGFHbHpMbUZrWkNoMGFHbHpMbDlzYVc1bFZHRnlaMlYwS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWkdsemNHOXpaU2dwT2lCMmIybGtJSHRjYmlBZ0lDQjBhR2x6TGw5dFpYTm9XV0YzTG1kbGIyMWxkSEo1TG1ScGMzQnZjMlVvS1R0Y2JpQWdJQ0IwYUdsekxsOXRaWE5vV1dGM0xtMWhkR1Z5YVdGc0xtUnBjM0J2YzJVb0tUdGNibHh1SUNBZ0lIUm9hWE11WDIxbGMyaFFhWFJqYUM1blpXOXRaWFJ5ZVM1a2FYTndiM05sS0NrN1hHNGdJQ0FnZEdocGN5NWZiV1Z6YUZCcGRHTm9MbTFoZEdWeWFXRnNMbVJwYzNCdmMyVW9LVHRjYmx4dUlDQWdJSFJvYVhNdVgyeHBibVZVWVhKblpYUXVaMlZ2YldWMGNua3VaR2x6Y0c5elpTZ3BPMXh1SUNBZ0lIUm9hWE11WDJ4cGJtVlVZWEpuWlhRdWJXRjBaWEpwWVd3dVpHbHpjRzl6WlNncE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklIVndaR0YwWlUxaGRISnBlRmR2Y214a0tHWnZjbU5sT2lCaWIyOXNaV0Z1S1RvZ2RtOXBaQ0I3WEc0Z0lDQWdMeThnZFhCa1lYUmxJR2RsYjIxbGRISnBaWE5jYmlBZ0lDQmpiMjV6ZENCNVlYY2dQU0JVU0ZKRlJTNU5ZWFJvVlhScGJITXVSRVZITWxKQlJDQXFJSFJvYVhNdWRuSnRURzl2YTBGMExubGhkenRjYmlBZ0lDQjBhR2x6TGw5dFpYTm9XV0YzTG1kbGIyMWxkSEo1TG5Sb1pYUmhJRDBnZVdGM08xeHVJQ0FnSUhSb2FYTXVYMjFsYzJoWllYY3VaMlZ2YldWMGNua3VkWEJrWVhSbEtDazdYRzVjYmlBZ0lDQmpiMjV6ZENCd2FYUmphQ0E5SUZSSVVrVkZMazFoZEdoVmRHbHNjeTVFUlVjeVVrRkVJQ29nZEdocGN5NTJjbTFNYjI5clFYUXVjR2wwWTJnN1hHNGdJQ0FnZEdocGN5NWZiV1Z6YUZCcGRHTm9MbWRsYjIxbGRISjVMblJvWlhSaElEMGdjR2wwWTJnN1hHNGdJQ0FnZEdocGN5NWZiV1Z6YUZCcGRHTm9MbWRsYjIxbGRISjVMblZ3WkdGMFpTZ3BPMXh1WEc0Z0lDQWdMeThnWjJWMElIZHZjbXhrSUhCdmMybDBhVzl1SUdGdVpDQnhkV0YwWlhKdWFXOXVYRzRnSUNBZ2RHaHBjeTUyY20xTWIyOXJRWFF1WjJWMFRHOXZhMEYwVjI5eWJHUlFiM05wZEdsdmJpaGZkak5CS1R0Y2JpQWdJQ0IwYUdsekxuWnliVXh2YjJ0QmRDNW5aWFJNYjI5clFYUlhiM0pzWkZGMVlYUmxjbTVwYjI0b1gzRjFZWFJCS1R0Y2JseHVJQ0FnSUM4dklHTmhiR04xYkdGMFpTQnliM1JoZEdsdmJpQjFjMmx1WnlCbVlXTmxSbkp2Ym5SY2JpQWdJQ0JmY1hWaGRFRXViWFZzZEdsd2JIa29kR2hwY3k1MmNtMU1iMjlyUVhRdVoyVjBSbUZqWlVaeWIyNTBVWFZoZEdWeWJtbHZiaWhmY1hWaGRFSXBLVHRjYmx4dUlDQWdJQzh2SUhObGRDQjBjbUZ1YzJadmNtMGdkRzhnYldWemFHVnpYRzRnSUNBZ2RHaHBjeTVmYldWemFGbGhkeTV3YjNOcGRHbHZiaTVqYjNCNUtGOTJNMEVwTzF4dUlDQWdJSFJvYVhNdVgyMWxjMmhaWVhjdWNYVmhkR1Z5Ym1sdmJpNWpiM0I1S0Y5eGRXRjBRU2s3WEc1Y2JpQWdJQ0IwYUdsekxsOXRaWE5vVUdsMFkyZ3VjRzl6YVhScGIyNHVZMjl3ZVNoZmRqTkJLVHRjYmlBZ0lDQjBhR2x6TGw5dFpYTm9VR2wwWTJndWNYVmhkR1Z5Ym1sdmJpNWpiM0I1S0Y5eGRXRjBRU2s3WEc0Z0lDQWdkR2hwY3k1ZmJXVnphRkJwZEdOb0xuRjFZWFJsY201cGIyNHViWFZzZEdsd2JIa29YM0YxWVhSQ0xuTmxkRVp5YjIxQmVHbHpRVzVuYkdVb1ZrVkRNMTlRVDFOSlZFbFdSVjlaTENCNVlYY3BLVHRjYmlBZ0lDQjBhR2x6TGw5dFpYTm9VR2wwWTJndWNYVmhkR1Z5Ym1sdmJpNXRkV3gwYVhCc2VTaFJWVUZVWDFoWlgwTlhPVEFwTzF4dVhHNGdJQ0FnTHk4Z2RYQmtZWFJsSUhSaGNtZGxkQ0JzYVc1bElHRnVaQ0J6Y0dobGNtVmNiaUFnSUNCamIyNXpkQ0I3SUhSaGNtZGxkQ3dnWVhWMGIxVndaR0YwWlNCOUlEMGdkR2hwY3k1MmNtMU1iMjlyUVhRN1hHNGdJQ0FnYVdZZ0tIUmhjbWRsZENBaFBTQnVkV3hzSUNZbUlHRjFkRzlWY0dSaGRHVXBJSHRjYmlBZ0lDQWdJSFJoY21kbGRDNW5aWFJYYjNKc1pGQnZjMmwwYVc5dUtGOTJNMElwTG5OMVlpaGZkak5CS1R0Y2JpQWdJQ0FnSUhSb2FYTXVYMnhwYm1WVVlYSm5aWFF1WjJWdmJXVjBjbmt1ZEdGcGJDNWpiM0I1S0Y5Mk0wSXBPMXh1SUNBZ0lDQWdkR2hwY3k1ZmJHbHVaVlJoY21kbGRDNW5aVzl0WlhSeWVTNTFjR1JoZEdVb0tUdGNiaUFnSUNBZ0lIUm9hWE11WDJ4cGJtVlVZWEpuWlhRdWNHOXphWFJwYjI0dVkyOXdlU2hmZGpOQktUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhjSEJzZVNCMGNtRnVjMlp2Y20wZ2RHOGdiV1Z6YUdWelhHNGdJQ0FnYzNWd1pYSXVkWEJrWVhSbFRXRjBjbWw0VjI5eWJHUW9abTl5WTJVcE8xeHVJQ0I5WEc1OVhHNGlMQ0pwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNWNibU52Ym5OMElGOXdiM05wZEdsdmJpQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1amIyNXpkQ0JmYzJOaGJHVWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTzF4dVhHNHZLaXBjYmlBcUlFRWdjbVZ3YkdGalpXMWxiblFnYjJZZ1lFOWlhbVZqZERORUxtZGxkRmR2Y214a1VYVmhkR1Z5Ym1sdmJtQXVYRzRnS2lCRmVIUnlZV04wSUhSb1pTQjNiM0pzWkNCeGRXRjBaWEp1YVc5dUlHOW1JR0Z1SUc5aWFtVmpkQ0JtY205dElHbDBjeUIzYjNKc1pDQnpjR0ZqWlNCdFlYUnlhWGdzSUhkcGRHaHZkWFFnWTJGc2JHbHVaeUJnVDJKcVpXTjBNMFF1ZFhCa1lYUmxWMjl5YkdSTllYUnlhWGhnTGx4dUlDb2dWWE5sSUhSb2FYTWdkMmhsYmlCNWIzVW5jbVVnYzNWeVpTQjBhR0YwSUhSb1pTQjNiM0pzWkNCdFlYUnlhWGdnYVhNZ2RYQXRkRzh0WkdGMFpTNWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2IySnFaV04wSUZSb1pTQnZZbXBsWTNSY2JpQXFJRUJ3WVhKaGJTQnZkWFFnUVNCMFlYSm5aWFFnY1hWaGRHVnlibWx2Ymx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaMlYwVjI5eWJHUlJkV0YwWlhKdWFXOXVUR2wwWlNodlltcGxZM1E2SUZSSVVrVkZMazlpYW1WamRETkVMQ0J2ZFhRNklGUklVa1ZGTGxGMVlYUmxjbTVwYjI0cE9pQlVTRkpGUlM1UmRXRjBaWEp1YVc5dUlIdGNiaUFnYjJKcVpXTjBMbTFoZEhKcGVGZHZjbXhrTG1SbFkyOXRjRzl6WlNoZmNHOXphWFJwYjI0c0lHOTFkQ3dnWDNOallXeGxLVHRjYmlBZ2NtVjBkWEp1SUc5MWREdGNibjFjYmlJc0ltbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYmx4dUx5b3FYRzRnS2lCRFlXeGpkV3hoZEdVZ1lYcHBiWFYwYUNBdklHRnNkR2wwZFdSbElHRnVaMnhsY3lCbWNtOXRJR0VnZG1WamRHOXlMbHh1SUNwY2JpQXFJRlJvYVhNZ2NtVjBkWEp1Y3lCaElHUnBabVpsY21WdVkyVWdiMllnWVc1bmJHVnpJR1p5YjIwZ0tERXNJREFzSURBcExseHVJQ29nUVhwcGJYVjBhQ0J5WlhCeVpYTmxiblJ6SUdGdUlHRnVaMnhsSUdGeWIzVnVaQ0JaSUdGNGFYTXVYRzRnS2lCQmJIUnBkSFZrWlNCeVpYQnlaWE5sYm5SeklHRnVJR0Z1WjJ4bElHRnliM1Z1WkNCYUlHRjRhWE11WEc0Z0tpQkpkQ0JwY3lCeWIzUmhkR1ZrSUdsdUlHbHVkSEpwYm5OcFl5QlpMVm9nYjNKa1pYSXVYRzRnS2x4dUlDb2dRSEJoY21GdElIWmxZM1J2Y2lCVWFHVWdkbVZqZEc5eVhHNGdLaUJBY21WMGRYSnVjeUJCSUhSMWNHeGxJR052Ym5SaGFXNXpJSFIzYnlCaGJtZHNaWE1zSUdCYklHRjZhVzExZEdnc0lHRnNkR2wwZFdSbElGMWdYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCallXeGpRWHBwYlhWMGFFRnNkR2wwZFdSbEtIWmxZM1J2Y2pvZ1ZFaFNSVVV1Vm1WamRHOXlNeWs2SUZ0aGVtbHRkWFJvT2lCdWRXMWlaWElzSUdGc2RHbDBkV1JsT2lCdWRXMWlaWEpkSUh0Y2JpQWdjbVYwZFhKdUlGdE5ZWFJvTG1GMFlXNHlLQzEyWldOMGIzSXVlaXdnZG1WamRHOXlMbmdwTENCTllYUm9MbUYwWVc0eUtIWmxZM1J2Y2k1NUxDQk5ZWFJvTG5OeGNuUW9kbVZqZEc5eUxuZ2dLaUIyWldOMGIzSXVlQ0FySUhabFkzUnZjaTU2SUNvZ2RtVmpkRzl5TG5vcEtWMDdYRzU5WEc0aUxDSXZLaXBjYmlBcUlFMWhhMlVnYzNWeVpTQjBhR1VnWVc1bmJHVWdhWE1nZDJsMGFHbHVJQzFRU1NCMGJ5QlFTUzVjYmlBcVhHNGdLaUJBWlhoaGJYQnNaVnh1SUNvZ1lHQmdhbk5jYmlBcUlITmhibWwwYVhwbFFXNW5iR1VvTVM0MUlDb2dUV0YwYUM1UVNTa2dMeThnTFRBdU5TQXFJRkJKWEc0Z0tpQmdZR0JjYmlBcVhHNGdLaUJBY0dGeVlXMGdZVzVuYkdVZ1FXNGdhVzV3ZFhRZ1lXNW5iR1ZjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlITmhibWwwYVhwbFFXNW5iR1VvWVc1bmJHVTZJRzUxYldKbGNpazZJRzUxYldKbGNpQjdYRzRnSUdOdmJuTjBJSEp2ZFc1a1ZIVnliaUE5SUUxaGRHZ3VjbTkxYm1Rb1lXNW5iR1VnTHlBeUxqQWdMeUJOWVhSb0xsQkpLVHRjYmlBZ2NtVjBkWEp1SUdGdVoyeGxJQzBnTWk0d0lDb2dUV0YwYUM1UVNTQXFJSEp2ZFc1a1ZIVnlianRjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lGWlNUVWgxYldGdWIybGtJSDBnWm5KdmJTQW5MaTR2YUhWdFlXNXZhV1FuTzF4dWFXMXdiM0owSUhzZ1oyVjBWMjl5YkdSUmRXRjBaWEp1YVc5dVRHbDBaU0I5SUdaeWIyMGdKeTR1TDNWMGFXeHpMMmRsZEZkdmNteGtVWFZoZEdWeWJtbHZia3hwZEdVbk8xeHVhVzF3YjNKMElIc2djWFZoZEVsdWRtVnlkRU52YlhCaGRDQjlJR1p5YjIwZ0p5NHVMM1YwYVd4ekwzRjFZWFJKYm5abGNuUkRiMjF3WVhRbk8xeHVhVzF3YjNKMElIc2dZMkZzWTBGNmFXMTFkR2hCYkhScGRIVmtaU0I5SUdaeWIyMGdKeTR2ZFhScGJITXZZMkZzWTBGNmFXMTFkR2hCYkhScGRIVmtaU2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFV4dmIydEJkRUZ3Y0d4cFpYSWdmU0JtY205dElDY3VMMVpTVFV4dmIydEJkRUZ3Y0d4cFpYSW5PMXh1YVcxd2IzSjBJSHNnYzJGdWFYUnBlbVZCYm1kc1pTQjlJR1p5YjIwZ0p5NHZkWFJwYkhNdmMyRnVhWFJwZW1WQmJtZHNaU2M3WEc1Y2JtTnZibk4wSUZaRlF6TmZVRTlUU1ZSSlZrVmZXaUE5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0RBdU1Dd2dNQzR3TENBeExqQXBPMXh1WEc1amIyNXpkQ0JmZGpOQklEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9LVHRjYm1OdmJuTjBJRjkyTTBJZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1WTI5dWMzUWdYM1l6UXlBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVqYjI1emRDQmZjWFZoZEVFZ1BTQnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dVkyOXVjM1FnWDNGMVlYUkNJRDBnYm1WM0lGUklVa1ZGTGxGMVlYUmxjbTVwYjI0b0tUdGNibU52Ym5OMElGOXhkV0YwUXlBOUlHNWxkeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLQ2s3WEc1amIyNXpkQ0JmY1hWaGRFUWdQU0J1WlhjZ1ZFaFNSVVV1VVhWaGRHVnlibWx2YmlncE8xeHVZMjl1YzNRZ1gyVjFiR1Z5UVNBOUlHNWxkeUJVU0ZKRlJTNUZkV3hsY2lncE8xeHVYRzR2S2lwY2JpQXFJRUVnWTJ4aGMzTWdZMjl1ZEhKdmJITWdaWGxsSUdkaGVtVWdiVzkyWlcxbGJuUnpJRzltSUdFZ1ZsSk5MbHh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVmxKTlRHOXZhMEYwSUh0Y2JpQWdjSFZpYkdsaklITjBZWFJwWXlCeVpXRmtiMjVzZVNCRlZVeEZVbDlQVWtSRlVpQTlJQ2RaV0Zvbk95QXZMeUI1WVhjdGNHbDBZMmd0Y205c2JGeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdiM0pwWjJsdUlHOW1JRXh2YjJ0QmRDNGdVRzl6YVhScGIyNGdiMlptYzJWMElHWnliMjBnZEdobElHaGxZV1FnWW05dVpTNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnZabVp6WlhSR2NtOXRTR1ZoWkVKdmJtVWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJKZEhNZ1lYTnpiMk5wWVhSbFpDQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1dmFXUjlMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJR2gxYldGdWIybGtPaUJXVWsxSWRXMWhibTlwWkR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElIdEFiR2x1YXlCV1VrMU1iMjlyUVhSQmNIQnNhV1Z5ZlNCdlppQjBhR1VnVEc5dmEwRjBMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR0Z3Y0d4cFpYSTZJRlpTVFV4dmIydEJkRUZ3Y0d4cFpYSTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFbG1JSFJvYVhNZ2FYTWdkSEoxWlN3Z2RHaGxJRXh2YjJ0QmRDQjNhV3hzSUdKbElIVndaR0YwWldRZ1lYVjBiMjFoZEdsallXeHNlU0JpZVNCallXeHNhVzVuSUh0QWJHbHVheUIxY0dSaGRHVjlMQ0IwYjNkaGNtUnBibWNnZEdobElHUnBjbVZqZEdsdmJpQjBieUIwYUdVZ2UwQnNhVzVySUhSaGNtZGxkSDB1WEc0Z0lDQXFJR0IwY25WbFlDQmllU0JrWldaaGRXeDBMbHh1SUNBZ0tseHVJQ0FnS2lCVFpXVWdZV3h6YnpvZ2UwQnNhVzVySUhSaGNtZGxkSDFjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJoZFhSdlZYQmtZWFJsSUQwZ2RISjFaVHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUhSaGNtZGxkQ0J2WW1wbFkzUWdiMllnZEdobElFeHZiMnRCZEM1Y2JpQWdJQ29nVG05MFpTQjBhR0YwSUdsMElHUnZaWE1nYm05MElHMWhhMlVnWVc1NUlITmxibk5sSUdsbUlIdEFiR2x1YXlCaGRYUnZWWEJrWVhSbGZTQnBjeUJrYVhOaFlteGxaQzVjYmlBZ0lDcGNiaUFnSUNvZ1UyVmxJR0ZzYzI4NklIdEFiR2x1YXlCaGRYUnZWWEJrWVhSbGZWeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklIUmhjbWRsZEQ4NklGUklVa1ZGTGs5aWFtVmpkRE5FSUh3Z2JuVnNiRHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUdaeWIyNTBJR1JwY21WamRHbHZiaUJ2WmlCMGFHVWdabUZqWlM1Y2JpQWdJQ29nU1c1MFpXNWtaV1FnZEc4Z1ltVWdkWE5sWkNCbWIzSWdWbEpOSURBdU1DQmpiMjF3WVhRZ0tGWlNUU0F3TGpBZ2JXOWtaV3h6SUdGeVpTQm1ZV05wYm1jZ1dpMGdhVzV6ZEdWaFpDQnZaaUJhS3lrdVhHNGdJQ0FxSUZsdmRTQjFjM1ZoYkd4NUlHUnZiaWQwSUhkaGJuUWdkRzhnZEc5MVkyZ2dkR2hwY3k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCbVlXTmxSbkp2Ym5RZ1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3dMakFzSURBdU1Dd2dNUzR3S1R0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nU1hSeklHTjFjbkpsYm5RZ1lXNW5iR1VnWVhKdmRXNWtJRmtnWVhocGN5d2dhVzRnWkdWbmNtVmxMbHh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUY5NVlYYzZJRzUxYldKbGNqdGNibHh1SUNBdktpcGNiaUFnSUNvZ1NYUnpJR04xY25KbGJuUWdZVzVuYkdVZ1lYSnZkVzVrSUZrZ1lYaHBjeXdnYVc0Z1pHVm5jbVZsTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRDQjVZWGNvS1RvZ2JuVnRZbVZ5SUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmVXRjNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsMGN5QmpkWEp5Wlc1MElHRnVaMnhsSUdGeWIzVnVaQ0JaSUdGNGFYTXNJR2x1SUdSbFozSmxaUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ6WlhRZ2VXRjNLSFpoYkhWbE9pQnVkVzFpWlhJcElIdGNiaUFnSUNCMGFHbHpMbDk1WVhjZ1BTQjJZV3gxWlR0Y2JpQWdJQ0IwYUdsekxsOXVaV1ZrYzFWd1pHRjBaU0E5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nU1hSeklHTjFjbkpsYm5RZ1lXNW5iR1VnWVhKdmRXNWtJRmdnWVhocGN5d2dhVzRnWkdWbmNtVmxMbHh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUY5d2FYUmphRG9nYm5WdFltVnlPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpkSE1nWTNWeWNtVnVkQ0JoYm1kc1pTQmhjbTkxYm1RZ1dDQmhlR2x6TENCcGJpQmtaV2R5WldVdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1oyVjBJSEJwZEdOb0tDazZJRzUxYldKbGNpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0JwZEdOb08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWwwY3lCamRYSnlaVzUwSUdGdVoyeGxJR0Z5YjNWdVpDQllJR0Y0YVhNc0lHbHVJR1JsWjNKbFpTNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnpaWFFnY0dsMFkyZ29kbUZzZFdVNklHNTFiV0psY2lrZ2UxeHVJQ0FnSUhSb2FYTXVYM0JwZEdOb0lEMGdkbUZzZFdVN1hHNGdJQ0FnZEdocGN5NWZibVZsWkhOVmNHUmhkR1VnUFNCMGNuVmxPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZOd1pXTnBabWxsY3lCMGFHRjBJR0Z1WjJ4bGN5QnVaV1ZrSUhSdklHSmxJR0Z3Y0d4cFpXUWdkRzhnYVhSeklGdEFiR2x1YXlCaGNIQnNhV1Z5WFM1Y2JpQWdJQ292WEc0Z0lIQnliM1JsWTNSbFpDQmZibVZsWkhOVmNHUmhkR1U2SUdKdmIyeGxZVzQ3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRmR2Y214a0lISnZkR0YwYVc5dUlHOW1JSFJvWlNCb1pXRmtJR2x1SUdsMGN5QnlaWE4wSUhCdmMyVXVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjl5WlhOMFNHVmhaRmR2Y214a1VYVmhkR1Z5Ym1sdmJqb2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJqdGNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjSEpsWTJGMFpXUWdWWE5sSUh0QWJHbHVheUJuWlhSRmRXeGxjbjBnYVc1emRHVmhaQzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhRZ1pYVnNaWElvS1RvZ1ZFaFNSVVV1UlhWc1pYSWdlMXh1SUNBZ0lHTnZibk52YkdVdWQyRnliaWduVmxKTlRHOXZhMEYwT2lCbGRXeGxjaUJwY3lCa1pYQnlaV05oZEdWa0xpQjFjMlVnWjJWMFJYVnNaWElvS1NCcGJuTjBaV0ZrTGljcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaMlYwUlhWc1pYSW9ibVYzSUZSSVVrVkZMa1YxYkdWeUtDa3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaU0JoSUc1bGR5QjdRR3hwYm1zZ1ZsSk5URzl2YTBGMGZTNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJR2gxYldGdWIybGtJRUVnZTBCc2FXNXJJRlpTVFVoMWJXRnViMmxrZlZ4dUlDQWdLaUJBY0dGeVlXMGdZWEJ3YkdsbGNpQkJJSHRBYkdsdWF5QldVazFNYjI5clFYUkJjSEJzYVdWeWZWeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLR2gxYldGdWIybGtPaUJXVWsxSWRXMWhibTlwWkN3Z1lYQndiR2xsY2pvZ1ZsSk5URzl2YTBGMFFYQndiR2xsY2lrZ2UxeHVJQ0FnSUhSb2FYTXVhSFZ0WVc1dmFXUWdQU0JvZFcxaGJtOXBaRHRjYmlBZ0lDQjBhR2x6TG1Gd2NHeHBaWElnUFNCaGNIQnNhV1Z5TzF4dVhHNGdJQ0FnZEdocGN5NWZlV0YzSUQwZ01DNHdPMXh1SUNBZ0lIUm9hWE11WDNCcGRHTm9JRDBnTUM0d08xeHVJQ0FnSUhSb2FYTXVYMjVsWldSelZYQmtZWFJsSUQwZ2RISjFaVHRjYmx4dUlDQWdJSFJvYVhNdVgzSmxjM1JJWldGa1YyOXliR1JSZFdGMFpYSnVhVzl1SUQwZ2RHaHBjeTVuWlhSTWIyOXJRWFJYYjNKc1pGRjFZWFJsY201cGIyNG9ibVYzSUZSSVVrVkZMbEYxWVhSbGNtNXBiMjRvS1NrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUdsMGN5QjVZWGN0Y0dsMFkyZ2dZVzVuYkdWeklHRnpJR0Z1SUdCRmRXeGxjbUF1WEc0Z0lDQXFJRVJ2WlhNZ1RrOVVJR052Ym5OcFpHVnlJSHRBYkdsdWF5Qm1ZV05sUm5KdmJuUjlPeUJwZENCeVpYUjFjbTV6SUdCRmRXeGxjaWd3TENBd0xDQXdPeUJjSWxsWVdsd2lLV0FnWW5rZ1pHVm1ZWFZzZENCeVpXZGhjbVJzWlhOeklHOW1JSFJvWlNCbVlXTmxSbkp2Ym5RZ2RtRnNkV1V1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCMFlYSm5aWFFnVkdobElIUmhjbWRsZENCbGRXeGxjbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEVWMWJHVnlLSFJoY21kbGREb2dWRWhTUlVVdVJYVnNaWElwT2lCVVNGSkZSUzVGZFd4bGNpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSaGNtZGxkQzV6WlhRb1ZFaFNSVVV1VFdGMGFGVjBhV3h6TGtSRlJ6SlNRVVFnS2lCMGFHbHpMbDl3YVhSamFDd2dWRWhTUlVVdVRXRjBhRlYwYVd4ekxrUkZSekpTUVVRZ0tpQjBhR2x6TGw5NVlYY3NJREF1TUN3Z0oxbFlXaWNwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnZjSGtnZEdobElHZHBkbVZ1SUh0QWJHbHVheUJXVWsxTWIyOXJRWFI5SUdsdWRHOGdkR2hwY3lCdmJtVXVYRzRnSUNBcUlIdEFiR2x1YXlCb2RXMWhibTlwWkgwZ2JYVnpkQ0JpWlNCellXMWxJR0Z6SUhSb1pTQnpiM1Z5WTJVZ2IyNWxMbHh1SUNBZ0tpQjdRR3hwYm1zZ1lYQndiR2xsY24wZ2QybHNiQ0J5WldabGNtVnVZMlVnZEdobElITmhiV1VnYVc1emRHRnVZMlVnWVhNZ2RHaGxJSE52ZFhKalpTQnZibVV1WEc0Z0lDQXFJRUJ3WVhKaGJTQnpiM1Z5WTJVZ1ZHaGxJSHRBYkdsdWF5QldVazFNYjI5clFYUjlJSGx2ZFNCM1lXNTBJSFJ2SUdOdmNIbGNiaUFnSUNvZ1FISmxkSFZ5Ym5NZ2RHaHBjMXh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR052Y0hrb2MyOTFjbU5sT2lCV1VrMU1iMjlyUVhRcE9pQjBhR2x6SUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVvZFcxaGJtOXBaQ0FoUFQwZ2MyOTFjbU5sTG1oMWJXRnViMmxrS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFaU1RVeHZiMnRCZERvZ2FIVnRZVzV2YVdRZ2JYVnpkQ0JpWlNCellXMWxJR2x1SUc5eVpHVnlJSFJ2SUdOdmNIa25LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG05bVpuTmxkRVp5YjIxSVpXRmtRbTl1WlM1amIzQjVLSE52ZFhKalpTNXZabVp6WlhSR2NtOXRTR1ZoWkVKdmJtVXBPMXh1SUNBZ0lIUm9hWE11WVhCd2JHbGxjaUE5SUhOdmRYSmpaUzVoY0hCc2FXVnlPMXh1SUNBZ0lIUm9hWE11WVhWMGIxVndaR0YwWlNBOUlITnZkWEpqWlM1aGRYUnZWWEJrWVhSbE8xeHVJQ0FnSUhSb2FYTXVkR0Z5WjJWMElEMGdjMjkxY21ObExuUmhjbWRsZER0Y2JpQWdJQ0IwYUdsekxtWmhZMlZHY205dWRDNWpiM0I1S0hOdmRYSmpaUzVtWVdObFJuSnZiblFwTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QmhJR05zYjI1bElHOW1JSFJvYVhNZ2UwQnNhVzVySUZaU1RVeHZiMnRCZEgwdVhHNGdJQ0FxSUU1dmRHVWdkR2hoZENCN1FHeHBibXNnYUhWdFlXNXZhV1I5SUdGdVpDQjdRR3hwYm1zZ1lYQndiR2xsY24wZ2QybHNiQ0J5WldabGNtVnVZMlVnZEdobElITmhiV1VnYVc1emRHRnVZMlVnWVhNZ2RHaHBjeUJ2Ym1VdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUVOdmNHbGxaQ0I3UUd4cGJtc2dWbEpOVEc5dmEwRjBmVnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR05zYjI1bEtDazZJRlpTVFV4dmIydEJkQ0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJXVWsxTWIyOXJRWFFvZEdocGN5NW9kVzFoYm05cFpDd2dkR2hwY3k1aGNIQnNhV1Z5S1M1amIzQjVLSFJvYVhNcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsYzJWMElIUm9aU0JzYjI5clFYUWdaR2x5WldOMGFXOXVJQ2g1WVhjZ1lXNWtJSEJwZEdOb0tTQjBieUIwYUdVZ2FXNXBkR2xoYkNCa2FYSmxZM1JwYjI0dVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2NtVnpaWFFvS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdkR2hwY3k1ZmVXRjNJRDBnTUM0d08xeHVJQ0FnSUhSb2FYTXVYM0JwZEdOb0lEMGdNQzR3TzF4dUlDQWdJSFJvYVhNdVgyNWxaV1J6VlhCa1lYUmxJRDBnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2FYUnpJR3h2YjJ0QmRDQndiM05wZEdsdmJpQnBiaUIzYjNKc1pDQmpiMjl5WkdsdVlYUmxMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnZEdGeVoyVjBJRUVnZEdGeVoyVjBJR0JVU0ZKRlJTNVdaV04wYjNJellGeHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHZGxkRXh2YjJ0QmRGZHZjbXhrVUc5emFYUnBiMjRvZEdGeVoyVjBPaUJVU0ZKRlJTNVdaV04wYjNJektUb2dWRWhTUlVVdVZtVmpkRzl5TXlCN1hHNGdJQ0FnWTI5dWMzUWdhR1ZoWkNBOUlIUm9hWE11YUhWdFlXNXZhV1F1WjJWMFVtRjNRbTl1WlU1dlpHVW9KMmhsWVdRbktTRTdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHRnlaMlYwTG1OdmNIa29kR2hwY3k1dlptWnpaWFJHY205dFNHVmhaRUp2Ym1VcExtRndjR3g1VFdGMGNtbDROQ2hvWldGa0xtMWhkSEpwZUZkdmNteGtLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdhWFJ6SUd4dmIydEJkQ0J5YjNSaGRHbHZiaUJwYmlCM2IzSnNaQ0JqYjI5eVpHbHVZWFJsTGx4dUlDQWdLaUJFYjJWeklFNVBWQ0JqYjI1emFXUmxjaUI3UUd4cGJtc2dabUZqWlVaeWIyNTBmUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUhSaGNtZGxkQ0JCSUhSaGNtZGxkQ0JnVkVoU1JVVXVVWFZoZEdWeWJtbHZibUJjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhSTWIyOXJRWFJYYjNKc1pGRjFZWFJsY201cGIyNG9kR0Z5WjJWME9pQlVTRkpGUlM1UmRXRjBaWEp1YVc5dUtUb2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpQjdYRzRnSUNBZ1kyOXVjM1FnYUdWaFpDQTlJSFJvYVhNdWFIVnRZVzV2YVdRdVoyVjBVbUYzUW05dVpVNXZaR1VvSjJobFlXUW5LU0U3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdaMlYwVjI5eWJHUlJkV0YwWlhKdWFXOXVUR2wwWlNob1pXRmtMQ0IwWVhKblpYUXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQmhJSEYxWVhSbGNtNXBiMjRnZEdoaGRDQnliM1JoZEdWeklIUm9aU0FyV2lCMWJtbDBJSFpsWTNSdmNpQnZaaUIwYUdVZ2FIVnRZVzV2YVdRZ1NHVmhaQ0IwYnlCMGFHVWdlMEJzYVc1cklHWmhZMlZHY205dWRIMGdaR2x5WldOMGFXOXVMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnZEdGeVoyVjBJRUVnZEdGeVoyVjBJR0JVU0ZKRlJTNVJkV0YwWlhKdWFXOXVZRnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZEVaaFkyVkdjbTl1ZEZGMVlYUmxjbTVwYjI0b2RHRnlaMlYwT2lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1S1RvZ1ZFaFNSVVV1VVhWaGRHVnlibWx2YmlCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Wm1GalpVWnliMjUwTG1ScGMzUmhibU5sVkc5VGNYVmhjbVZrS0ZaRlF6TmZVRTlUU1ZSSlZrVmZXaWtnUENBd0xqQXhLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR0Z5WjJWMExtTnZjSGtvZEdocGN5NWZjbVZ6ZEVobFlXUlhiM0pzWkZGMVlYUmxjbTVwYjI0cExtbHVkbVZ5ZENncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJRnRtWVdObFJuSnZiblJCZW1sdGRYUm9MQ0JtWVdObFJuSnZiblJCYkhScGRIVmtaVjBnUFNCallXeGpRWHBwYlhWMGFFRnNkR2wwZFdSbEtIUm9hWE11Wm1GalpVWnliMjUwS1R0Y2JpQWdJQ0JmWlhWc1pYSkJMbk5sZENnd0xqQXNJREF1TlNBcUlFMWhkR2d1VUVrZ0t5Qm1ZV05sUm5KdmJuUkJlbWx0ZFhSb0xDQm1ZV05sUm5KdmJuUkJiSFJwZEhWa1pTd2dKMWxhV0NjcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSaGNtZGxkQzV6WlhSR2NtOXRSWFZzWlhJb1gyVjFiR1Z5UVNrdWNISmxiWFZzZEdsd2JIa29YM0YxWVhSRUxtTnZjSGtvZEdocGN5NWZjbVZ6ZEVobFlXUlhiM0pzWkZGMVlYUmxjbTVwYjI0cExtbHVkbVZ5ZENncEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2FYUnpJRXh2YjJ0QmRDQmthWEpsWTNScGIyNGdhVzRnZDI5eWJHUWdZMjl2Y21ScGJtRjBaUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUhSaGNtZGxkQ0JCSUhSaGNtZGxkQ0JnVkVoU1JVVXVWbVZqZEc5eU0yQmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFJNYjI5clFYUlhiM0pzWkVScGNtVmpkR2x2YmloMFlYSm5aWFE2SUZSSVVrVkZMbFpsWTNSdmNqTXBPaUJVU0ZKRlJTNVdaV04wYjNJeklIdGNiaUFnSUNCMGFHbHpMbWRsZEV4dmIydEJkRmR2Y214a1VYVmhkR1Z5Ym1sdmJpaGZjWFZoZEVJcE8xeHVJQ0FnSUhSb2FYTXVaMlYwUm1GalpVWnliMjUwVVhWaGRHVnlibWx2YmloZmNYVmhkRU1wTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJoY21kbGRGeHVJQ0FnSUNBZ0xtTnZjSGtvVmtWRE0xOVFUMU5KVkVsV1JWOWFLVnh1SUNBZ0lDQWdMbUZ3Y0d4NVVYVmhkR1Z5Ym1sdmJpaGZjWFZoZEVJcFhHNGdJQ0FnSUNBdVlYQndiSGxSZFdGMFpYSnVhVzl1S0Y5eGRXRjBReWxjYmlBZ0lDQWdJQzVoY0hCc2VVVjFiR1Z5S0hSb2FYTXVaMlYwUlhWc1pYSW9YMlYxYkdWeVFTa3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZObGRDQnBkSE1nYkc5dmEwRjBJSFJoY21kbGRDQndiM05wZEdsdmJpNWNiaUFnSUNwY2JpQWdJQ29nVG05MFpTQjBhR0YwSUdsMGN5QnlaWE4xYkhRZ2QybHNiQ0JpWlNCcGJuTjBZVzUwYkhrZ2IzWmxjbmR5YVhSMFpXNGdhV1lnZTBCc2FXNXJJRlpTVFV4dmIydEJkRWhsWVdRdVlYVjBiMVZ3WkdGMFpYMGdhWE1nWlc1aFlteGxaQzVjYmlBZ0lDcGNiaUFnSUNvZ1NXWWdlVzkxSUhkaGJuUWdkRzhnZEhKaFkyc2dZVzRnYjJKcVpXTjBJR052Ym5ScGJuVnZkWE5zZVN3Z2VXOTFJRzFwWjJoMElIZGhiblFnZEc4Z2RYTmxJSHRBYkdsdWF5QjBZWEpuWlhSOUlHbHVjM1JsWVdRdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQndiM05wZEdsdmJpQkJJSFJoY21kbGRDQndiM05wZEdsdmJpd2dhVzRnZDI5eWJHUWdjM0JoWTJWY2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCc2IyOXJRWFFvY0c5emFYUnBiMjQ2SUZSSVVrVkZMbFpsWTNSdmNqTXBPaUIyYjJsa0lIdGNiaUFnSUNBdkx5Qk1iMjlySUdGMElHUnBjbVZqZEdsdmJpQnBiaUJzYjJOaGJDQmpiMjl5WkdsdVlYUmxYRzRnSUNBZ1kyOXVjM1FnYUdWaFpGSnZkRVJwWm1aSmJuWWdQU0JmY1hWaGRFRmNiaUFnSUNBZ0lDNWpiM0I1S0hSb2FYTXVYM0psYzNSSVpXRmtWMjl5YkdSUmRXRjBaWEp1YVc5dUtWeHVJQ0FnSUNBZ0xtMTFiSFJwY0d4NUtIRjFZWFJKYm5abGNuUkRiMjF3WVhRb2RHaHBjeTVuWlhSTWIyOXJRWFJYYjNKc1pGRjFZWFJsY201cGIyNG9YM0YxWVhSQ0tTa3BPMXh1SUNBZ0lHTnZibk4wSUdobFlXUlFiM01nUFNCMGFHbHpMbWRsZEV4dmIydEJkRmR2Y214a1VHOXphWFJwYjI0b1gzWXpRaWs3WEc0Z0lDQWdZMjl1YzNRZ2JHOXZhMEYwUkdseUlEMGdYM1l6UXk1amIzQjVLSEJ2YzJsMGFXOXVLUzV6ZFdJb2FHVmhaRkJ2Y3lrdVlYQndiSGxSZFdGMFpYSnVhVzl1S0dobFlXUlNiM1JFYVdabVNXNTJLUzV1YjNKdFlXeHBlbVVvS1R0Y2JseHVJQ0FnSUM4dklHTmhiR04xYkdGMFpTQmhibWRzWlhOY2JpQWdJQ0JqYjI1emRDQmJZWHBwYlhWMGFFWnliMjBzSUdGc2RHbDBkV1JsUm5KdmJWMGdQU0JqWVd4alFYcHBiWFYwYUVGc2RHbDBkV1JsS0hSb2FYTXVabUZqWlVaeWIyNTBLVHRjYmlBZ0lDQmpiMjV6ZENCYllYcHBiWFYwYUZSdkxDQmhiSFJwZEhWa1pWUnZYU0E5SUdOaGJHTkJlbWx0ZFhSb1FXeDBhWFIxWkdVb2JHOXZhMEYwUkdseUtUdGNiaUFnSUNCamIyNXpkQ0I1WVhjZ1BTQnpZVzVwZEdsNlpVRnVaMnhsS0dGNmFXMTFkR2hVYnlBdElHRjZhVzExZEdoR2NtOXRLVHRjYmlBZ0lDQmpiMjV6ZENCd2FYUmphQ0E5SUhOaGJtbDBhWHBsUVc1bmJHVW9ZV3gwYVhSMVpHVkdjbTl0SUMwZ1lXeDBhWFIxWkdWVWJ5azdJQzh2SUhOd2FXNXVhVzVuSUNneExDQXdMQ0F3S1NCRFExY2dZWEp2ZFc1a0lGb2dZWGhwY3lCdFlXdGxjeUIwYUdVZ2RtVmpkRzl5SUd4dmIyc2dkWEFzSUhkb2FXeGxJSE53YVc1dWFXNW5JQ2d3TENBd0xDQXhLU0JEUTFjZ1lYSnZkVzVrSUZnZ1lYaHBjeUJ0WVd0bGN5QjBhR1VnZG1WamRHOXlJR3h2YjJzZ1pHOTNibHh1WEc0Z0lDQWdMeThnWVhCd2JIa2dZVzVuYkdWelhHNGdJQ0FnZEdocGN5NWZlV0YzSUQwZ1ZFaFNSVVV1VFdGMGFGVjBhV3h6TGxKQlJESkVSVWNnS2lCNVlYYzdYRzRnSUNBZ2RHaHBjeTVmY0dsMFkyZ2dQU0JVU0ZKRlJTNU5ZWFJvVlhScGJITXVVa0ZFTWtSRlJ5QXFJSEJwZEdOb08xeHVYRzRnSUNBZ2RHaHBjeTVmYm1WbFpITlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGVndaR0YwWlNCMGFHVWdWbEpOVEc5dmEwRjBTR1ZoWkM1Y2JpQWdJQ29nU1dZZ2UwQnNhVzVySUdGMWRHOVZjR1JoZEdWOUlHbHpJR1Z1WVdKc1pXUXNJSFJvYVhNZ2QybHNiQ0J0WVd0bElHbDBJR3h2YjJzZ1lYUWdkR2hsSUh0QWJHbHVheUIwWVhKblpYUjlMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnWkdWc2RHRWdaR1ZzZEdGVWFXMWxMQ0JwZENCcGMyNG5kQ0IxYzJWa0lIUm9iM1ZuYUM0Z1dXOTFJR05oYmlCMWMyVWdkR2hsSUhCaGNtRnRaWFJsY2lCcFppQjViM1VnZDJGdWRDQjBieUIxYzJVZ2RHaHBjeUJwYmlCNWIzVnlJRzkzYmlCbGVIUmxibVJsWkNCN1FHeHBibXNnVmxKTlRHOXZhMEYwZlM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCMWNHUmhkR1VvWkdWc2RHRTZJRzUxYldKbGNpazZJSFp2YVdRZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG5SaGNtZGxkQ0FoUFNCdWRXeHNJQ1ltSUhSb2FYTXVZWFYwYjFWd1pHRjBaU2tnZTF4dUlDQWdJQ0FnZEdocGN5NXNiMjlyUVhRb2RHaHBjeTUwWVhKblpYUXVaMlYwVjI5eWJHUlFiM05wZEdsdmJpaGZkak5CS1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11WDI1bFpXUnpWWEJrWVhSbEtTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5dVpXVmtjMVZ3WkdGMFpTQTlJR1poYkhObE8xeHVYRzRnSUNBZ0lDQjBhR2x6TG1Gd2NHeHBaWEl1WVhCd2JIbFpZWGRRYVhSamFDaDBhR2x6TGw5NVlYY3NJSFJvYVhNdVgzQnBkR05vS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmlJc0ltbHRjRzl5ZENCN0lGWlNUVWgxYldGdWIybGtJSDBnWm5KdmJTQW5MaTR2YUhWdFlXNXZhV1FuTzF4dWFXMXdiM0owSUNvZ1lYTWdWRWhTUlVVZ1puSnZiU0FuZEdoeVpXVW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QldVazFNYjI5clFYUkJjSEJzYVdWeUlIMGdabkp2YlNBbkxpOVdVazFNYjI5clFYUkJjSEJzYVdWeUp6dGNibWx0Y0c5eWRDQjdJRlpTVFV4dmIydEJkRkpoYm1kbFRXRndJSDBnWm5KdmJTQW5MaTlXVWsxTWIyOXJRWFJTWVc1blpVMWhjQ2M3WEc1cGJYQnZjblFnZXlCallXeGpRWHBwYlhWMGFFRnNkR2wwZFdSbElIMGdabkp2YlNBbkxpOTFkR2xzY3k5allXeGpRWHBwYlhWMGFFRnNkR2wwZFdSbEp6dGNibWx0Y0c5eWRDQjdJR2RsZEZkdmNteGtVWFZoZEdWeWJtbHZia3hwZEdVZ2ZTQm1jbTl0SUNjdUxpOTFkR2xzY3k5blpYUlhiM0pzWkZGMVlYUmxjbTVwYjI1TWFYUmxKenRjYmx4dVkyOXVjM1FnVmtWRE0xOVFUMU5KVkVsV1JWOWFJRDBnYm1WM0lGUklVa1ZGTGxabFkzUnZjak1vTUM0d0xDQXdMakFzSURFdU1DazdYRzVjYm1OdmJuTjBJRjl4ZFdGMFFTQTlJRzVsZHlCVVNGSkZSUzVSZFdGMFpYSnVhVzl1S0NrN1hHNWpiMjV6ZENCZmNYVmhkRUlnUFNCdVpYY2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpZ3BPMXh1WTI5dWMzUWdYMlYxYkdWeVFTQTlJRzVsZHlCVVNGSkZSUzVGZFd4bGNpZ3dMakFzSURBdU1Dd2dNQzR3TENBbldWaGFKeWs3WEc1Y2JpOHFLbHh1SUNvZ1FTQmpiR0Z6Y3lCMGFHRjBJR0Z3Y0d4cFpYTWdaWGxsSUdkaGVtVWdaR2x5WldOMGFXOXVjeUIwYnlCaElGWlNUUzVjYmlBcUlFbDBJSGRwYkd3Z1ltVWdkWE5sWkNCaWVTQjdRR3hwYm1zZ1ZsSk5URzl2YTBGMGZTNWNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRlpTVFV4dmIydEJkRUp2Ym1WQmNIQnNhV1Z5SUdsdGNHeGxiV1Z1ZEhNZ1ZsSk5URzl2YTBGMFFYQndiR2xsY2lCN1hHNGdJQzhxS2x4dUlDQWdLaUJTWlhCeVpYTmxiblFnYVhSeklIUjVjR1VnYjJZZ1lYQndiR2xsY2k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCemRHRjBhV01nY21WaFpHOXViSGtnZEhsd1pTQTlJQ2RpYjI1bEp6dGNibHh1SUNBdktpcGNiaUFnSUNvZ1NYUnpJR0Z6YzI5amFXRjBaV1FnZTBCc2FXNXJJRlpTVFVoMWJXRnViMmxrZlM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCb2RXMWhibTlwWkRvZ1ZsSk5TSFZ0WVc1dmFXUTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRWdlMEJzYVc1cklGWlNUVXh2YjJ0QmRGSmhibWRsVFdGd2ZTQm1iM0lnYUc5eWFYcHZiblJoYkNCcGJuZGhjbVFnYlc5MlpXMWxiblF1SUZSb1pTQnNaV1owSUdWNVpTQnRiM1psY3lCeWFXZG9kQzRnVkdobElISnBaMmgwSUdWNVpTQnRiM1psY3lCc1pXWjBMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpoYm1kbFRXRndTRzl5YVhwdmJuUmhiRWx1Ym1WeU9pQldVazFNYjI5clFYUlNZVzVuWlUxaGNEdGNibHh1SUNBdktpcGNiaUFnSUNvZ1FTQjdRR3hwYm1zZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhCOUlHWnZjaUJvYjNKcGVtOXVkR0ZzSUc5MWRIZGhjbVFnYlc5MlpXMWxiblF1SUZSb1pTQnNaV1owSUdWNVpTQnRiM1psY3lCc1pXWjBMaUJVYUdVZ2NtbG5hSFFnWlhsbElHMXZkbVZ6SUhKcFoyaDBMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpoYm1kbFRXRndTRzl5YVhwdmJuUmhiRTkxZEdWeU9pQldVazFNYjI5clFYUlNZVzVuWlUxaGNEdGNibHh1SUNBdktpcGNiaUFnSUNvZ1FTQjdRR3hwYm1zZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhCOUlHWnZjaUIyWlhKMGFXTmhiQ0JrYjNkdWQyRnlaQ0J0YjNabGJXVnVkQzRnUW05MGFDQmxlV1Z6SUcxdmRtVWdkWEIzWVhKa2N5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnlZVzVuWlUxaGNGWmxjblJwWTJGc1JHOTNiam9nVmxKTlRHOXZhMEYwVW1GdVoyVk5ZWEE3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUVnZTBCc2FXNXJJRlpTVFV4dmIydEJkRkpoYm1kbFRXRndmU0JtYjNJZ2RtVnlkR2xqWVd3Z2RYQjNZWEprSUcxdmRtVnRaVzUwTGlCQ2IzUm9JR1Y1WlhNZ2JXOTJaU0JrYjNkdWQyRnlaSE11WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nY21GdVoyVk5ZWEJXWlhKMGFXTmhiRlZ3T2lCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0R0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHWnliMjUwSUdScGNtVmpkR2x2YmlCdlppQjBhR1VnWm1GalpTNWNiaUFnSUNvZ1NXNTBaVzVrWldRZ2RHOGdZbVVnZFhObFpDQm1iM0lnVmxKTklEQXVNQ0JqYjIxd1lYUWdLRlpTVFNBd0xqQWdiVzlrWld4eklHRnlaU0JtWVdOcGJtY2dXaTBnYVc1emRHVmhaQ0J2WmlCYUt5a3VYRzRnSUNBcUlGbHZkU0IxYzNWaGJHeDVJR1J2YmlkMElIZGhiblFnZEc4Z2RHOTFZMmdnZEdocGN5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm1ZV05sUm5KdmJuUTZJRlJJVWtWRkxsWmxZM1J2Y2pNN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQnlaWE4wSUhGMVlYUmxjbTVwYjI0Z2IyWWdUR1ZtZEVWNVpTQmliMjVsTGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZmNtVnpkRkYxWVhSTVpXWjBSWGxsT2lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ2NtVnpkQ0J4ZFdGMFpYSnVhVzl1SUc5bUlGSnBaMmgwUlhsbElHSnZibVV1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5eVpYTjBVWFZoZEZKcFoyaDBSWGxsT2lCVVNGSkZSUzVSZFdGMFpYSnVhVzl1TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ2QyOXliR1F0YzNCaFkyVWdjbVZ6ZENCeGRXRjBaWEp1YVc5dUlHOW1JSFJvWlNCd1lYSmxiblFnYjJZZ2RHaGxJR2gxYldGdWIybGtJRXhsWm5SRmVXVXVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjl5WlhOMFRHVm1kRVY1WlZCaGNtVnVkRmR2Y214a1VYVmhkRG9nVkVoU1JVVXVVWFZoZEdWeWJtbHZianRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUhkdmNteGtMWE53WVdObElISmxjM1FnY1hWaGRHVnlibWx2YmlCdlppQjBhR1VnY0dGeVpXNTBJRzltSUhSb1pTQm9kVzFoYm05cFpDQlNhV2RvZEVWNVpTNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYM0psYzNSU2FXZG9kRVY1WlZCaGNtVnVkRmR2Y214a1VYVmhkRG9nVkVoU1JVVXVVWFZoZEdWeWJtbHZianRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdibVYzSUh0QWJHbHVheUJXVWsxTWIyOXJRWFJDYjI1bFFYQndiR2xsY24wdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQm9kVzFoYm05cFpDQkJJSHRBYkdsdWF5QldVazFJZFcxaGJtOXBaSDFjYmlBZ0lDb2dRSEJoY21GdElISmhibWRsVFdGd1NHOXlhWHB2Ym5SaGJFbHVibVZ5SUVFZ2UwQnNhVzVySUZaU1RVeHZiMnRCZEZKaGJtZGxUV0Z3ZlNCMWMyVmtJR1p2Y2lCcGJtNWxjaUIwY21GdWMzWmxjbk5sSUdScGNtVmpkR2x2Ymx4dUlDQWdLaUJBY0dGeVlXMGdjbUZ1WjJWTllYQkliM0pwZW05dWRHRnNUM1YwWlhJZ1FTQjdRR3hwYm1zZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhCOUlIVnpaV1FnWm05eUlHOTFkR1Z5SUhSeVlXNXpkbVZ5YzJVZ1pHbHlaV04wYVc5dVhHNGdJQ0FxSUVCd1lYSmhiU0J5WVc1blpVMWhjRlpsY25ScFkyRnNSRzkzYmlCQklIdEFiR2x1YXlCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0gwZ2RYTmxaQ0JtYjNJZ1pHOTNiaUJrYVhKbFkzUnBiMjVjYmlBZ0lDb2dRSEJoY21GdElISmhibWRsVFdGd1ZtVnlkR2xqWVd4VmNDQkJJSHRBYkdsdWF5QldVazFNYjI5clFYUlNZVzVuWlUxaGNIMGdkWE5sWkNCbWIzSWdkWEFnWkdseVpXTjBhVzl1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb1hHNGdJQ0FnYUhWdFlXNXZhV1E2SUZaU1RVaDFiV0Z1YjJsa0xGeHVJQ0FnSUhKaGJtZGxUV0Z3U0c5eWFYcHZiblJoYkVsdWJtVnlPaUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjQ3hjYmlBZ0lDQnlZVzVuWlUxaGNFaHZjbWw2YjI1MFlXeFBkWFJsY2pvZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhBc1hHNGdJQ0FnY21GdVoyVk5ZWEJXWlhKMGFXTmhiRVJ2ZDI0NklGWlNUVXh2YjJ0QmRGSmhibWRsVFdGd0xGeHVJQ0FnSUhKaGJtZGxUV0Z3Vm1WeWRHbGpZV3hWY0RvZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhBc1hHNGdJQ2tnZTF4dUlDQWdJSFJvYVhNdWFIVnRZVzV2YVdRZ1BTQm9kVzFoYm05cFpEdGNibHh1SUNBZ0lIUm9hWE11Y21GdVoyVk5ZWEJJYjNKcGVtOXVkR0ZzU1c1dVpYSWdQU0J5WVc1blpVMWhjRWh2Y21sNmIyNTBZV3hKYm01bGNqdGNiaUFnSUNCMGFHbHpMbkpoYm1kbFRXRndTRzl5YVhwdmJuUmhiRTkxZEdWeUlEMGdjbUZ1WjJWTllYQkliM0pwZW05dWRHRnNUM1YwWlhJN1hHNGdJQ0FnZEdocGN5NXlZVzVuWlUxaGNGWmxjblJwWTJGc1JHOTNiaUE5SUhKaGJtZGxUV0Z3Vm1WeWRHbGpZV3hFYjNkdU8xeHVJQ0FnSUhSb2FYTXVjbUZ1WjJWTllYQldaWEowYVdOaGJGVndJRDBnY21GdVoyVk5ZWEJXWlhKMGFXTmhiRlZ3TzF4dVhHNGdJQ0FnZEdocGN5NW1ZV05sUm5KdmJuUWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWd3TGpBc0lEQXVNQ3dnTVM0d0tUdGNibHh1SUNBZ0lDOHZJSE5sZENCeVpYTjBJSEYxWVhSbGNtNXBiMjV6WEc0Z0lDQWdkR2hwY3k1ZmNtVnpkRkYxWVhSTVpXWjBSWGxsSUQwZ2JtVjNJRlJJVWtWRkxsRjFZWFJsY201cGIyNG9LVHRjYmlBZ0lDQjBhR2x6TGw5eVpYTjBVWFZoZEZKcFoyaDBSWGxsSUQwZ2JtVjNJRlJJVWtWRkxsRjFZWFJsY201cGIyNG9LVHRjYmlBZ0lDQjBhR2x6TGw5eVpYTjBUR1ZtZEVWNVpWQmhjbVZ1ZEZkdmNteGtVWFZoZENBOUlHNWxkeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLQ2s3WEc0Z0lDQWdkR2hwY3k1ZmNtVnpkRkpwWjJoMFJYbGxVR0Z5Wlc1MFYyOXliR1JSZFdGMElEMGdibVYzSUZSSVVrVkZMbEYxWVhSbGNtNXBiMjRvS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR3hsWm5SRmVXVWdQU0IwYUdsekxtaDFiV0Z1YjJsa0xtZGxkRkpoZDBKdmJtVk9iMlJsS0Nkc1pXWjBSWGxsSnlrN1hHNGdJQ0FnWTI5dWMzUWdjbWxuYUhSRmVXVWdQU0IwYUdsekxtaDFiV0Z1YjJsa0xtZGxkRkpoZDBKdmJtVk9iMlJsS0NkeWFXZG9kRVY1WlNjcE8xeHVYRzRnSUNBZ2FXWWdLR3hsWm5SRmVXVXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzSmxjM1JSZFdGMFRHVm1kRVY1WlM1amIzQjVLR3hsWm5SRmVXVXVjWFZoZEdWeWJtbHZiaWs3WEc0Z0lDQWdJQ0JuWlhSWGIzSnNaRkYxWVhSbGNtNXBiMjVNYVhSbEtHeGxablJGZVdVdWNHRnlaVzUwSVN3Z2RHaHBjeTVmY21WemRFeGxablJGZVdWUVlYSmxiblJYYjNKc1pGRjFZWFFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoeWFXZG9kRVY1WlNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmY21WemRGRjFZWFJTYVdkb2RFVjVaUzVqYjNCNUtISnBaMmgwUlhsbExuRjFZWFJsY201cGIyNHBPMXh1SUNBZ0lDQWdaMlYwVjI5eWJHUlJkV0YwWlhKdWFXOXVUR2wwWlNoeWFXZG9kRVY1WlM1d1lYSmxiblFoTENCMGFHbHpMbDl5WlhOMFVtbG5hSFJGZVdWUVlYSmxiblJYYjNKc1pGRjFZWFFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQmNIQnNlU0IwYUdVZ2FXNXdkWFFnWVc1bmJHVWdkRzhnYVhSeklHRnpjMjlqYVdGMFpXUWdWbEpOSUcxdlpHVnNMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnZVdGM0lGSnZkR0YwYVc5dUlHRnliM1Z1WkNCWklHRjRhWE1zSUdsdUlHUmxaM0psWlZ4dUlDQWdLaUJBY0dGeVlXMGdjR2wwWTJnZ1VtOTBZWFJwYjI0Z1lYSnZkVzVrSUZnZ1lYaHBjeXdnYVc0Z1pHVm5jbVZsWEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWVhCd2JIbFpZWGRRYVhSamFDaDVZWGM2SUc1MWJXSmxjaXdnY0dsMFkyZzZJRzUxYldKbGNpazZJSFp2YVdRZ2UxeHVJQ0FnSUdOdmJuTjBJR3hsWm5SRmVXVWdQU0IwYUdsekxtaDFiV0Z1YjJsa0xtZGxkRkpoZDBKdmJtVk9iMlJsS0Nkc1pXWjBSWGxsSnlrN1hHNGdJQ0FnWTI5dWMzUWdjbWxuYUhSRmVXVWdQU0IwYUdsekxtaDFiV0Z1YjJsa0xtZGxkRkpoZDBKdmJtVk9iMlJsS0NkeWFXZG9kRVY1WlNjcE8xeHVJQ0FnSUdOdmJuTjBJR3hsWm5SRmVXVk9iM0p0WVd4cGVtVmtJRDBnZEdocGN5NW9kVzFoYm05cFpDNW5aWFJPYjNKdFlXeHBlbVZrUW05dVpVNXZaR1VvSjJ4bFpuUkZlV1VuS1R0Y2JpQWdJQ0JqYjI1emRDQnlhV2RvZEVWNVpVNXZjbTFoYkdsNlpXUWdQU0IwYUdsekxtaDFiV0Z1YjJsa0xtZGxkRTV2Y20xaGJHbDZaV1JDYjI1bFRtOWtaU2duY21sbmFIUkZlV1VuS1R0Y2JpQWdJQ0F2THlCc1pXWjBYRzRnSUNBZ2FXWWdLR3hsWm5SRmVXVXBJSHRjYmlBZ0lDQWdJR2xtSUNod2FYUmphQ0E4SURBdU1Da2dlMXh1SUNBZ0lDQWdJQ0JmWlhWc1pYSkJMbmdnUFNBdFZFaFNSVVV1VFdGMGFGVjBhV3h6TGtSRlJ6SlNRVVFnS2lCMGFHbHpMbkpoYm1kbFRXRndWbVZ5ZEdsallXeEViM2R1TG0xaGNDZ3RjR2wwWTJncE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1gyVjFiR1Z5UVM1NElEMGdWRWhTUlVVdVRXRjBhRlYwYVd4ekxrUkZSekpTUVVRZ0tpQjBhR2x6TG5KaGJtZGxUV0Z3Vm1WeWRHbGpZV3hWY0M1dFlYQW9jR2wwWTJncE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvZVdGM0lEd2dNQzR3S1NCN1hHNGdJQ0FnSUNBZ0lGOWxkV3hsY2tFdWVTQTlJQzFVU0ZKRlJTNU5ZWFJvVlhScGJITXVSRVZITWxKQlJDQXFJSFJvYVhNdWNtRnVaMlZOWVhCSWIzSnBlbTl1ZEdGc1NXNXVaWEl1YldGd0tDMTVZWGNwTzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnWDJWMWJHVnlRUzU1SUQwZ1ZFaFNSVVV1VFdGMGFGVjBhV3h6TGtSRlJ6SlNRVVFnS2lCMGFHbHpMbkpoYm1kbFRXRndTRzl5YVhwdmJuUmhiRTkxZEdWeUxtMWhjQ2g1WVhjcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmZjWFZoZEVFdWMyVjBSbkp2YlVWMWJHVnlLRjlsZFd4bGNrRXBPMXh1SUNBZ0lDQWdkR2hwY3k1ZloyVjBWMjl5YkdSR1lXTmxSbkp2Ym5SUmRXRjBLRjl4ZFdGMFFpazdYRzVjYmlBZ0lDQWdJQzh2SUY5eGRXRjBRaUFxSUY5eGRXRjBRU0FxSUY5eGRXRjBRbDR0TVZ4dUlDQWdJQ0FnTHk4Z2QyaGxjbVVnWDNGMVlYUkJJR2x6SUV4dmIydEJkQ0J5YjNSaGRHbHZibHh1SUNBZ0lDQWdMeThnWVc1a0lGOXhkV0YwUWlCcGN5QjNiM0pzWkVaaFkyVkdjbTl1ZEZGMVlYUmNiaUFnSUNBZ0lHeGxablJGZVdWT2IzSnRZV3hwZW1Wa0lTNXhkV0YwWlhKdWFXOXVMbU52Y0hrb1gzRjFZWFJDS1M1dGRXeDBhWEJzZVNoZmNYVmhkRUVwTG0xMWJIUnBjR3g1S0Y5eGRXRjBRaTVwYm5abGNuUW9LU2s3WEc1Y2JpQWdJQ0FnSUY5eGRXRjBRUzVqYjNCNUtIUm9hWE11WDNKbGMzUk1aV1owUlhsbFVHRnlaVzUwVjI5eWJHUlJkV0YwS1R0Y2JseHVJQ0FnSUNBZ0x5OGdYM0YxWVhSQlhpMHhJQ29nYkdWbWRFVjVaVTV2Y20xaGJHbDZaV1F1Y1hWaGRHVnlibWx2YmlBcUlGOXhkV0YwUVNBcUlISmxjM1JSZFdGMFRHVm1kRVY1WlZ4dUlDQWdJQ0FnTHk4Z2QyaGxjbVVnWDNGMVlYUkJJR2x6SUhKbGMzUk1aV1owUlhsbFVHRnlaVzUwVjI5eWJHUlJkV0YwWEc0Z0lDQWdJQ0JzWldaMFJYbGxMbkYxWVhSbGNtNXBiMjVjYmlBZ0lDQWdJQ0FnTG1OdmNIa29iR1ZtZEVWNVpVNXZjbTFoYkdsNlpXUWhMbkYxWVhSbGNtNXBiMjRwWEc0Z0lDQWdJQ0FnSUM1dGRXeDBhWEJzZVNoZmNYVmhkRUVwWEc0Z0lDQWdJQ0FnSUM1d2NtVnRkV3gwYVhCc2VTaGZjWFZoZEVFdWFXNTJaWEowS0NrcFhHNGdJQ0FnSUNBZ0lDNXRkV3gwYVhCc2VTaDBhR2x6TGw5eVpYTjBVWFZoZEV4bFpuUkZlV1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUhKcFoyaDBYRzRnSUNBZ2FXWWdLSEpwWjJoMFJYbGxLU0I3WEc0Z0lDQWdJQ0JwWmlBb2NHbDBZMmdnUENBd0xqQXBJSHRjYmlBZ0lDQWdJQ0FnWDJWMWJHVnlRUzU0SUQwZ0xWUklVa1ZGTGsxaGRHaFZkR2xzY3k1RVJVY3lVa0ZFSUNvZ2RHaHBjeTV5WVc1blpVMWhjRlpsY25ScFkyRnNSRzkzYmk1dFlYQW9MWEJwZEdOb0tUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lGOWxkV3hsY2tFdWVDQTlJRlJJVWtWRkxrMWhkR2hWZEdsc2N5NUVSVWN5VWtGRUlDb2dkR2hwY3k1eVlXNW5aVTFoY0ZabGNuUnBZMkZzVlhBdWJXRndLSEJwZEdOb0tUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hsaGR5QThJREF1TUNrZ2UxeHVJQ0FnSUNBZ0lDQmZaWFZzWlhKQkxua2dQU0F0VkVoU1JVVXVUV0YwYUZWMGFXeHpMa1JGUnpKU1FVUWdLaUIwYUdsekxuSmhibWRsVFdGd1NHOXlhWHB2Ym5SaGJFOTFkR1Z5TG0xaGNDZ3RlV0YzS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUY5bGRXeGxja0V1ZVNBOUlGUklVa1ZGTGsxaGRHaFZkR2xzY3k1RVJVY3lVa0ZFSUNvZ2RHaHBjeTV5WVc1blpVMWhjRWh2Y21sNmIyNTBZV3hKYm01bGNpNXRZWEFvZVdGM0tUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdYM0YxWVhSQkxuTmxkRVp5YjIxRmRXeGxjaWhmWlhWc1pYSkJLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyZGxkRmR2Y214a1JtRmpaVVp5YjI1MFVYVmhkQ2hmY1hWaGRFSXBPMXh1WEc0Z0lDQWdJQ0F2THlCZmNYVmhkRUlnS2lCZmNYVmhkRUVnS2lCZmNYVmhkRUplTFRGY2JpQWdJQ0FnSUM4dklIZG9aWEpsSUY5eGRXRjBRU0JwY3lCTWIyOXJRWFFnY205MFlYUnBiMjVjYmlBZ0lDQWdJQzh2SUdGdVpDQmZjWFZoZEVJZ2FYTWdkMjl5YkdSR1lXTmxSbkp2Ym5SUmRXRjBYRzRnSUNBZ0lDQnlhV2RvZEVWNVpVNXZjbTFoYkdsNlpXUWhMbkYxWVhSbGNtNXBiMjR1WTI5d2VTaGZjWFZoZEVJcExtMTFiSFJwY0d4NUtGOXhkV0YwUVNrdWJYVnNkR2x3Ykhrb1gzRjFZWFJDTG1sdWRtVnlkQ2dwS1R0Y2JseHVJQ0FnSUNBZ1gzRjFZWFJCTG1OdmNIa29kR2hwY3k1ZmNtVnpkRkpwWjJoMFJYbGxVR0Z5Wlc1MFYyOXliR1JSZFdGMEtUdGNibHh1SUNBZ0lDQWdMeThnWDNGMVlYUkJYaTB4SUNvZ2NtbG5hSFJGZVdWT2IzSnRZV3hwZW1Wa0xuRjFZWFJsY201cGIyNGdLaUJmY1hWaGRFRWdLaUJ5WlhOMFVYVmhkRkpwWjJoMFJYbGxYRzRnSUNBZ0lDQXZMeUIzYUdWeVpTQmZjWFZoZEVFZ2FYTWdjbVZ6ZEZKcFoyaDBSWGxsVUdGeVpXNTBWMjl5YkdSUmRXRjBYRzRnSUNBZ0lDQnlhV2RvZEVWNVpTNXhkV0YwWlhKdWFXOXVYRzRnSUNBZ0lDQWdJQzVqYjNCNUtISnBaMmgwUlhsbFRtOXliV0ZzYVhwbFpDRXVjWFZoZEdWeWJtbHZiaWxjYmlBZ0lDQWdJQ0FnTG0xMWJIUnBjR3g1S0Y5eGRXRjBRU2xjYmlBZ0lDQWdJQ0FnTG5CeVpXMTFiSFJwY0d4NUtGOXhkV0YwUVM1cGJuWmxjblFvS1NsY2JpQWdJQ0FnSUNBZ0xtMTFiSFJwY0d4NUtIUm9hWE11WDNKbGMzUlJkV0YwVW1sbmFIUkZlV1VwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVndjbVZqWVhSbFpDQlZjMlVnZTBCc2FXNXJJR0Z3Y0d4NVdXRjNVR2wwWTJoOUlHbHVjM1JsWVdRdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2JHOXZhMEYwS0dWMWJHVnlPaUJVU0ZKRlJTNUZkV3hsY2lrNklIWnZhV1FnZTF4dUlDQWdJR052Ym5OdmJHVXVkMkZ5YmlnblZsSk5URzl2YTBGMFFtOXVaVUZ3Y0d4cFpYSTZJR3h2YjJ0QmRDZ3BJR2x6SUdSbGNISmxZMkYwWldRdUlIVnpaU0JoY0hCc2VTZ3BJR2x1YzNSbFlXUXVKeWs3WEc1Y2JpQWdJQ0JqYjI1emRDQjVZWGNnUFNCVVNGSkZSUzVOWVhSb1ZYUnBiSE11VWtGRU1rUkZSeUFxSUdWMWJHVnlMbms3WEc0Z0lDQWdZMjl1YzNRZ2NHbDBZMmdnUFNCVVNGSkZSUzVOWVhSb1ZYUnBiSE11VWtGRU1rUkZSeUFxSUdWMWJHVnlMbmc3WEc1Y2JpQWdJQ0IwYUdsekxtRndjR3g1V1dGM1VHbDBZMmdvZVdGM0xDQndhWFJqYUNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUdFZ2NYVmhkR1Z5Ym1sdmJpQjBhR0YwSUhKdmRHRjBaWE1nZEdobElIZHZjbXhrTFhOd1lXTmxJQ3RhSUhWdWFYUWdkbVZqZEc5eUlIUnZJSFJvWlNCN1FHeHBibXNnWm1GalpVWnliMjUwZlNCa2FYSmxZM1JwYjI0dVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQjBZWEpuWlhRZ1FTQjBZWEpuWlhRZ1lGUklVa1ZGTGxGMVlYUmxjbTVwYjI1Z1hHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOW5aWFJYYjNKc1pFWmhZMlZHY205dWRGRjFZWFFvZEdGeVoyVjBPaUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLVG9nVkVoU1JVVXVVWFZoZEdWeWJtbHZiaUI3WEc0Z0lDQWdhV1lnS0hSb2FYTXVabUZqWlVaeWIyNTBMbVJwYzNSaGJtTmxWRzlUY1hWaGNtVmtLRlpGUXpOZlVFOVRTVlJKVmtWZldpa2dQQ0F3TGpBeEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHRnlaMlYwTG1sa1pXNTBhWFI1S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdXMlpoWTJWR2NtOXVkRUY2YVcxMWRHZ3NJR1poWTJWR2NtOXVkRUZzZEdsMGRXUmxYU0E5SUdOaGJHTkJlbWx0ZFhSb1FXeDBhWFIxWkdVb2RHaHBjeTVtWVdObFJuSnZiblFwTzF4dUlDQWdJRjlsZFd4bGNrRXVjMlYwS0RBdU1Dd2dNQzQxSUNvZ1RXRjBhQzVRU1NBcklHWmhZMlZHY205dWRFRjZhVzExZEdnc0lHWmhZMlZHY205dWRFRnNkR2wwZFdSbExDQW5XVnBZSnlrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdGeVoyVjBMbk5sZEVaeWIyMUZkV3hsY2loZlpYVnNaWEpCS1R0Y2JpQWdmVnh1ZlZ4dUlpd2lhVzF3YjNKMElIc2dWbEpOUlhod2NtVnpjMmx2YmsxaGJtRm5aWElnZlNCbWNtOXRJQ2N1TGk5bGVIQnlaWE56YVc5dWN5YzdYRzVwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUZaU1RVeHZiMnRCZEVGd2NHeHBaWElnZlNCbWNtOXRJQ2N1TDFaU1RVeHZiMnRCZEVGd2NHeHBaWEluTzF4dWFXMXdiM0owSUhzZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhBZ2ZTQm1jbTl0SUNjdUwxWlNUVXh2YjJ0QmRGSmhibWRsVFdGd0p6dGNibHh1THlvcVhHNGdLaUJCSUdOc1lYTnpJSFJvWVhRZ1lYQndiR2xsY3lCbGVXVWdaMkY2WlNCa2FYSmxZM1JwYjI1eklIUnZJR0VnVmxKTkxseHVJQ29nU1hRZ2QybHNiQ0JpWlNCMWMyVmtJR0o1SUh0QWJHbHVheUJXVWsxTWIyOXJRWFI5TGx4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZsSk5URzl2YTBGMFJYaHdjbVZ6YzJsdmJrRndjR3hwWlhJZ2FXMXdiR1Z0Wlc1MGN5QldVazFNYjI5clFYUkJjSEJzYVdWeUlIdGNiaUFnTHlvcVhHNGdJQ0FxSUZKbGNISmxjMlZ1ZENCcGRITWdkSGx3WlNCdlppQmhjSEJzYVdWeUxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklITjBZWFJwWXlCeVpXRmtiMjVzZVNCMGVYQmxJRDBnSjJWNGNISmxjM05wYjI0bk8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCSmRITWdZWE56YjJOcFlYUmxaQ0I3UUd4cGJtc2dWbEpOUlhod2NtVnpjMmx2YmsxaGJtRm5aWEo5TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUdWNGNISmxjM05wYjI1ek9pQldVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjanRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTWFFnZDI5dUozUWdZbVVnZFhObFpDQnBiaUJsZUhCeVpYTnphVzl1SUdGd2NHeHBaWEl1WEc0Z0lDQXFJRk5sWlNCaGJITnZPaUI3UUd4cGJtc2djbUZ1WjJWTllYQkliM0pwZW05dWRHRnNUM1YwWlhKOVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2NtRnVaMlZOWVhCSWIzSnBlbTl1ZEdGc1NXNXVaWEk2SUZaU1RVeHZiMnRCZEZKaGJtZGxUV0Z3TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJCSUh0QWJHbHVheUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjSDBnWm05eUlHaHZjbWw2YjI1MFlXd2diVzkyWlcxbGJuUXVJRUp2ZEdnZ1pYbGxjeUJ0YjNabElHeGxablFnYjNJZ2NtbG5hSFF1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nY21GdVoyVk5ZWEJJYjNKcGVtOXVkR0ZzVDNWMFpYSTZJRlpTVFV4dmIydEJkRkpoYm1kbFRXRndPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJJSHRBYkdsdWF5QldVazFNYjI5clFYUlNZVzVuWlUxaGNIMGdabTl5SUhabGNuUnBZMkZzSUdSdmQyNTNZWEprSUcxdmRtVnRaVzUwTGlCQ2IzUm9JR1Y1WlhNZ2JXOTJaU0IxY0hkaGNtUnpMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpoYm1kbFRXRndWbVZ5ZEdsallXeEViM2R1T2lCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0R0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUVNCN1FHeHBibXNnVmxKTlRHOXZhMEYwVW1GdVoyVk5ZWEI5SUdadmNpQjJaWEowYVdOaGJDQjFjSGRoY21RZ2JXOTJaVzFsYm5RdUlFSnZkR2dnWlhsbGN5QnRiM1psSUdSdmQyNTNZWEprY3k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCeVlXNW5aVTFoY0ZabGNuUnBZMkZzVlhBNklGWlNUVXh2YjJ0QmRGSmhibWRsVFdGd08xeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGNtVmhkR1VnWVNCdVpYY2dlMEJzYVc1cklGWlNUVXh2YjJ0QmRFVjRjSEpsYzNOcGIyNUJjSEJzYVdWeWZTNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJR1Y0Y0hKbGMzTnBiMjV6SUVFZ2UwQnNhVzVySUZaU1RVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeWZWeHVJQ0FnS2lCQWNHRnlZVzBnY21GdVoyVk5ZWEJJYjNKcGVtOXVkR0ZzU1c1dVpYSWdRU0I3UUd4cGJtc2dWbEpOVEc5dmEwRjBVbUZ1WjJWTllYQjlJSFZ6WldRZ1ptOXlJR2x1Ym1WeUlIUnlZVzV6ZG1WeWMyVWdaR2x5WldOMGFXOXVYRzRnSUNBcUlFQndZWEpoYlNCeVlXNW5aVTFoY0VodmNtbDZiMjUwWVd4UGRYUmxjaUJCSUh0QWJHbHVheUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjSDBnZFhObFpDQm1iM0lnYjNWMFpYSWdkSEpoYm5OMlpYSnpaU0JrYVhKbFkzUnBiMjVjYmlBZ0lDb2dRSEJoY21GdElISmhibWRsVFdGd1ZtVnlkR2xqWVd4RWIzZHVJRUVnZTBCc2FXNXJJRlpTVFV4dmIydEJkRkpoYm1kbFRXRndmU0IxYzJWa0lHWnZjaUJrYjNkdUlHUnBjbVZqZEdsdmJseHVJQ0FnS2lCQWNHRnlZVzBnY21GdVoyVk5ZWEJXWlhKMGFXTmhiRlZ3SUVFZ2UwQnNhVzVySUZaU1RVeHZiMnRCZEZKaGJtZGxUV0Z3ZlNCMWMyVmtJR1p2Y2lCMWNDQmthWEpsWTNScGIyNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWhjYmlBZ0lDQmxlSEJ5WlhOemFXOXVjem9nVmxKTlJYaHdjbVZ6YzJsdmJrMWhibUZuWlhJc1hHNGdJQ0FnY21GdVoyVk5ZWEJJYjNKcGVtOXVkR0ZzU1c1dVpYSTZJRlpTVFV4dmIydEJkRkpoYm1kbFRXRndMRnh1SUNBZ0lISmhibWRsVFdGd1NHOXlhWHB2Ym5SaGJFOTFkR1Z5T2lCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0N4Y2JpQWdJQ0J5WVc1blpVMWhjRlpsY25ScFkyRnNSRzkzYmpvZ1ZsSk5URzl2YTBGMFVtRnVaMlZOWVhBc1hHNGdJQ0FnY21GdVoyVk5ZWEJXWlhKMGFXTmhiRlZ3T2lCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0N4Y2JpQWdLU0I3WEc0Z0lDQWdkR2hwY3k1bGVIQnlaWE56YVc5dWN5QTlJR1Y0Y0hKbGMzTnBiMjV6TzF4dVhHNGdJQ0FnZEdocGN5NXlZVzVuWlUxaGNFaHZjbWw2YjI1MFlXeEpibTVsY2lBOUlISmhibWRsVFdGd1NHOXlhWHB2Ym5SaGJFbHVibVZ5TzF4dUlDQWdJSFJvYVhNdWNtRnVaMlZOWVhCSWIzSnBlbTl1ZEdGc1QzVjBaWElnUFNCeVlXNW5aVTFoY0VodmNtbDZiMjUwWVd4UGRYUmxjanRjYmlBZ0lDQjBhR2x6TG5KaGJtZGxUV0Z3Vm1WeWRHbGpZV3hFYjNkdUlEMGdjbUZ1WjJWTllYQldaWEowYVdOaGJFUnZkMjQ3WEc0Z0lDQWdkR2hwY3k1eVlXNW5aVTFoY0ZabGNuUnBZMkZzVlhBZ1BTQnlZVzVuWlUxaGNGWmxjblJwWTJGc1ZYQTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUVhCd2JIa2dkR2hsSUdsdWNIVjBJR0Z1WjJ4bElIUnZJR2wwY3lCaGMzTnZZMmxoZEdWa0lGWlNUU0J0YjJSbGJDNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJSGxoZHlCU2IzUmhkR2x2YmlCaGNtOTFibVFnV1NCaGVHbHpMQ0JwYmlCa1pXZHlaV1ZjYmlBZ0lDb2dRSEJoY21GdElIQnBkR05vSUZKdmRHRjBhVzl1SUdGeWIzVnVaQ0JZSUdGNGFYTXNJR2x1SUdSbFozSmxaVnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR0Z3Y0d4NVdXRjNVR2wwWTJnb2VXRjNPaUJ1ZFcxaVpYSXNJSEJwZEdOb09pQnVkVzFpWlhJcE9pQjJiMmxrSUh0Y2JpQWdJQ0JwWmlBb2NHbDBZMmdnUENBd0xqQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVpYaHdjbVZ6YzJsdmJuTXVjMlYwVm1Gc2RXVW9KMnh2YjJ0RWIzZHVKeXdnTUM0d0tUdGNiaUFnSUNBZ0lIUm9hWE11Wlhod2NtVnpjMmx2Ym5NdWMyVjBWbUZzZFdVb0oyeHZiMnRWY0Njc0lIUm9hWE11Y21GdVoyVk5ZWEJXWlhKMGFXTmhiRlZ3TG0xaGNDZ3RjR2wwWTJncEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NWxlSEJ5WlhOemFXOXVjeTV6WlhSV1lXeDFaU2duYkc5dmExVndKeXdnTUM0d0tUdGNiaUFnSUNBZ0lIUm9hWE11Wlhod2NtVnpjMmx2Ym5NdWMyVjBWbUZzZFdVb0oyeHZiMnRFYjNkdUp5d2dkR2hwY3k1eVlXNW5aVTFoY0ZabGNuUnBZMkZzUkc5M2JpNXRZWEFvY0dsMFkyZ3BLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZVdGM0lEd2dNQzR3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbVY0Y0hKbGMzTnBiMjV6TG5ObGRGWmhiSFZsS0Nkc2IyOXJUR1ZtZENjc0lEQXVNQ2s3WEc0Z0lDQWdJQ0IwYUdsekxtVjRjSEpsYzNOcGIyNXpMbk5sZEZaaGJIVmxLQ2RzYjI5clVtbG5hSFFuTENCMGFHbHpMbkpoYm1kbFRXRndTRzl5YVhwdmJuUmhiRTkxZEdWeUxtMWhjQ2d0ZVdGM0tTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVaWGh3Y21WemMybHZibk11YzJWMFZtRnNkV1VvSjJ4dmIydFNhV2RvZENjc0lEQXVNQ2s3WEc0Z0lDQWdJQ0IwYUdsekxtVjRjSEpsYzNOcGIyNXpMbk5sZEZaaGJIVmxLQ2RzYjI5clRHVm1kQ2NzSUhSb2FYTXVjbUZ1WjJWTllYQkliM0pwZW05dWRHRnNUM1YwWlhJdWJXRndLSGxoZHlrcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z3Y21WallYUmxaQ0JWYzJVZ2UwQnNhVzVySUdGd2NHeDVXV0YzVUdsMFkyaDlJR2x1YzNSbFlXUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdiRzl2YTBGMEtHVjFiR1Z5T2lCVVNGSkZSUzVGZFd4bGNpazZJSFp2YVdRZ2UxeHVJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpZ25WbEpOVEc5dmEwRjBRbTl1WlVGd2NHeHBaWEk2SUd4dmIydEJkQ2dwSUdseklHUmxjSEpsWTJGMFpXUXVJSFZ6WlNCaGNIQnNlU2dwSUdsdWMzUmxZV1F1SnlrN1hHNWNiaUFnSUNCamIyNXpkQ0I1WVhjZ1BTQlVTRkpGUlM1TllYUm9WWFJwYkhNdVVrRkVNa1JGUnlBcUlHVjFiR1Z5TG5rN1hHNGdJQ0FnWTI5dWMzUWdjR2wwWTJnZ1BTQlVTRkpGUlM1TllYUm9WWFJwYkhNdVVrRkVNa1JGUnlBcUlHVjFiR1Z5TG5nN1hHNWNiaUFnSUNCMGFHbHpMbUZ3Y0d4NVdXRjNVR2wwWTJnb2VXRjNMQ0J3YVhSamFDazdYRzRnSUgxY2JuMWNiaUlzSW1sdGNHOXlkQ0I3SUhOaGRIVnlZWFJsSUgwZ1puSnZiU0FuTGk0dmRYUnBiSE12YzJGMGRYSmhkR1VuTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVmxKTlRHOXZhMEYwVW1GdVoyVk5ZWEFnZTF4dUlDQXZLaXBjYmlBZ0lDb2dUR2x0YVhSeklIUm9aU0J0WVhocGJYVnRJR0Z1WjJ4bElHOW1JSFJvWlNCcGJuQjFkQ0JoYm1kc1pTQnZaaUIwYUdVZ1RHOXZhMEYwSUhabFkzUnZjaUJtY205dElIUm9aU0JtY205dWRDQnZaaUIwYUdVZ2FHVmhaQ0FvZEdobElIQnZjMmwwYVhabElIb2dZWGhwY3lrdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2FXNXdkWFJOWVhoV1lXeDFaVG9nYm5WdFltVnlPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWEJ5WlhObGJuUnpJR0Z1SUdGdVoyeGxJQ2hwYmlCa1pXZHlaV1Z6S1NCbWIzSWdZbTl1WlNCMGVYQmxJRzltSUV4dmIydEJkQ0JoY0hCc2FXVnljeXdnYjNJZ1lTQjNaV2xuYUhRZ1ptOXlJR1Y0Y0hKbGMzTnBiMjRnZEhsd1pTQnZaaUJNYjI5clFYUWdZWEJ3YkdsbGNuTXVYRzRnSUNBcUlGUm9aU0JwYm5CMWRDQjJZV3gxWlNCM2FXeHNJSFJoYTJVZ1lERXVNR0FnZDJobGJpQjBhR1VnYVc1d2RYUWdZVzVuYkdVZ1pYRjFZV3h6SUNodmNpQm5jbVZoZEdWeUtTQjBieUI3UUd4cGJtc2dhVzV3ZFhSTllYaFdZV3gxWlgwdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2IzVjBjSFYwVTJOaGJHVTZJRzUxYldKbGNqdGNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdFZ2JtVjNJSHRBYkdsdWF5QldVazFNYjI5clFYUlNZVzVuWlUxaGNIMHVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0JwYm5CMWRFMWhlRlpoYkhWbElGUm9aU0I3UUd4cGJtc2dhVzV3ZFhSTllYaFdZV3gxWlgwZ2IyWWdkR2hsSUcxaGNGeHVJQ0FnS2lCQWNHRnlZVzBnYjNWMGNIVjBVMk5oYkdVZ1ZHaGxJSHRBYkdsdWF5QnZkWFJ3ZFhSVFkyRnNaWDBnYjJZZ2RHaGxJRzFoY0Z4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtHbHVjSFYwVFdGNFZtRnNkV1U2SUc1MWJXSmxjaXdnYjNWMGNIVjBVMk5oYkdVNklHNTFiV0psY2lrZ2UxeHVJQ0FnSUhSb2FYTXVhVzV3ZFhSTllYaFdZV3gxWlNBOUlHbHVjSFYwVFdGNFZtRnNkV1U3WEc0Z0lDQWdkR2hwY3k1dmRYUndkWFJUWTJGc1pTQTlJRzkxZEhCMWRGTmpZV3hsTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFVjJZV3gxWVhSbElHRnVJR2x1Y0hWMElIWmhiSFZsSUdGdVpDQnZkWFJ3ZFhRZ1lTQnRZWEJ3WldRZ2RtRnNkV1V1WEc0Z0lDQXFJRUJ3WVhKaGJTQnpjbU1nVkdobElHbHVjSFYwSUhaaGJIVmxYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdiV0Z3S0hOeVl6b2diblZ0WW1WeUtUb2diblZ0WW1WeUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXZkWFJ3ZFhSVFkyRnNaU0FxSUhOaGRIVnlZWFJsS0hOeVl5QXZJSFJvYVhNdWFXNXdkWFJOWVhoV1lXeDFaU2s3WEc0Z0lIMWNibjFjYmlJc0ltbHRjRzl5ZENCMGVYQmxJQ29nWVhNZ1ZqQldVazBnWm5KdmJTQW5RSEJwZUdsMkwzUjVjR1Z6TFhaeWJTMHdMakFuTzF4dWFXMXdiM0owSUhSNWNHVWdLaUJoY3lCV01WWlNUVk5qYUdWdFlTQm1jbTl0SUNkQWNHbDRhWFl2ZEhsd1pYTXRkbkp0WXkxMmNtMHRNUzR3Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUjB4VVJpd2dSMHhVUmt4dllXUmxjbEJzZFdkcGJpd2dSMHhVUmxCaGNuTmxjaUI5SUdaeWIyMGdKM1JvY21WbEwyVjRZVzF3YkdWekwycHpiUzlzYjJGa1pYSnpMMGRNVkVaTWIyRmtaWEl1YW5Nbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCV1VrMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNpQjlJR1p5YjIwZ0p5NHVMMlY0Y0hKbGMzTnBiMjV6TDFaU1RVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5TSFZ0WVc1dmFXUWdmU0JtY205dElDY3VMaTlvZFcxaGJtOXBaQzlXVWsxSWRXMWhibTlwWkNjN1hHNXBiWEJ2Y25RZ2V5QldVazFNYjI5clFYUklaV3h3WlhJZ2ZTQm1jbTl0SUNjdUwyaGxiSEJsY25NdlZsSk5URzl2YTBGMFNHVnNjR1Z5Snp0Y2JtbHRjRzl5ZENCN0lGWlNUVXh2YjJ0QmRDQjlJR1p5YjIwZ0p5NHZWbEpOVEc5dmEwRjBKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dWbEpOVEc5dmEwRjBRWEJ3YkdsbGNpQjlJR1p5YjIwZ0p5NHZWbEpOVEc5dmEwRjBRWEJ3YkdsbGNpYzdYRzVwYlhCdmNuUWdleUJXVWsxTWIyOXJRWFJDYjI1bFFYQndiR2xsY2lCOUlHWnliMjBnSnk0dlZsSk5URzl2YTBGMFFtOXVaVUZ3Y0d4cFpYSW5PMXh1YVcxd2IzSjBJSHNnVmxKTlRHOXZhMEYwUlhod2NtVnpjMmx2YmtGd2NHeHBaWElnZlNCbWNtOXRJQ2N1TDFaU1RVeHZiMnRCZEVWNGNISmxjM05wYjI1QmNIQnNhV1Z5Snp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlRHOXZhMEYwVEc5aFpHVnlVR3gxWjJsdVQzQjBhVzl1Y3lCOUlHWnliMjBnSnk0dlZsSk5URzl2YTBGMFRHOWhaR1Z5VUd4MVoybHVUM0IwYVc5dWN5YzdYRzVwYlhCdmNuUWdleUJXVWsxTWIyOXJRWFJTWVc1blpVMWhjQ0I5SUdaeWIyMGdKeTR2VmxKTlRHOXZhMEYwVW1GdVoyVk5ZWEFuTzF4dWFXMXdiM0owSUhzZ1IweFVSaUJoY3lCSFRGUkdVMk5vWlcxaElIMGdabkp2YlNBblFHZHNkR1l0ZEhKaGJuTm1iM0p0TDJOdmNtVW5PMXh1WEc0dktpcGNiaUFxSUZCdmMzTnBZbXhsSUhOd1pXTWdkbVZ5YzJsdmJuTWdhWFFnY21WamIyZHVhWHBsY3k1Y2JpQXFMMXh1WTI5dWMzUWdVRTlUVTBsQ1RFVmZVMUJGUTE5V1JWSlRTVTlPVXlBOUlHNWxkeUJUWlhRb1d5Y3hMakFuTENBbk1TNHdMV0psZEdFblhTazdYRzVjYmk4cUtseHVJQ29nVkdobElHMXBibWx0ZFcwZ2NHVnliV2wwZEdWa0lIWmhiSFZsSUdadmNpQjdRR3hwYm1zZ1ZqRldVazFUWTJobGJXRXVURzl2YTBGMFVtRnVaMlZOWVhBdWFXNXdkWFJOWVhoV1lXeDFaWDB1WEc0Z0tpQkpaaUIwYUdVZ1oybDJaVzRnZG1Gc2RXVWdhWE1nYzIxaGJHeGxjaUIwYUdGdUlIUm9hWE1zSUhSb1pTQnNiMkZrWlhJZ2MyaHZkM01nWVNCM1lYSnVhVzVuSUdGdVpDQmpiR0Z0Y0hNZ2RYQWdkR2hsSUhaaGJIVmxMbHh1SUNvdlhHNWpiMjV6ZENCSlRsQlZWRjlOUVZoZlZrRk1WVVZmVFVsT1NVMVZUU0E5SURBdU1ERTdYRzVjYmk4cUtseHVJQ29nUVNCd2JIVm5hVzRnYjJZZ1IweFVSa3h2WVdSbGNpQjBhR0YwSUdsdGNHOXlkSE1nWVNCN1FHeHBibXNnVmxKTlRHOXZhMEYwZlNCbWNtOXRJR0VnVmxKTklHVjRkR1Z1YzJsdmJpQnZaaUJoSUVkTVZFWXVYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJXVWsxTWIyOXJRWFJNYjJGa1pYSlFiSFZuYVc0Z2FXMXdiR1Z0Wlc1MGN5QkhURlJHVEc5aFpHVnlVR3gxWjJsdUlIdGNiaUFnTHlvcVhHNGdJQ0FxSUZOd1pXTnBabmtnWVc0Z1QySnFaV04wTTBRZ2RHOGdZV1JrSUh0QWJHbHVheUJXVWsxTWIyOXJRWFJJWld4d1pYSjlJSE11WEc0Z0lDQXFJRWxtSUc1dmRDQnpjR1ZqYVdacFpXUXNJR2hsYkhCbGNpQjNhV3hzSUc1dmRDQmlaU0JqY21WaGRHVmtMbHh1SUNBZ0tpQkpaaUJnY21WdVpHVnlUM0prWlhKZ0lHbHpJSE5sZENCMGJ5QjBhR1VnY205dmRDd2dhR1ZzY0dWeWN5QjNhV3hzSUdOdmNIa2dkR2hsSUhOaGJXVWdZSEpsYm1SbGNrOXlaR1Z5WUNBdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2FHVnNjR1Z5VW05dmREODZJRlJJVWtWRkxrOWlhbVZqZERORU8xeHVYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0J3WVhKelpYSTZJRWRNVkVaUVlYSnpaWEk3WEc1Y2JpQWdjSFZpYkdsaklHZGxkQ0J1WVcxbEtDazZJSE4wY21sdVp5QjdYRzRnSUNBZ0x5OGdWMlVnYzJodmRXeGtJSFZ6WlNCMGFHVWdaWGgwWlc1emFXOXVJRzVoYldVZ2FXNXpkR1ZoWkNCaWRYUWdkMlVnYUdGMlpTQnRkV3gwYVhCc1pTQndiSFZuYVc1eklHWnZjaUJoYmlCbGVIUmxibk5wYjI0dUxpNWNiaUFnSUNCeVpYUjFjbTRnSjFaU1RVeHZiMnRCZEV4dllXUmxjbEJzZFdkcGJpYzdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvY0dGeWMyVnlPaUJIVEZSR1VHRnljMlZ5TENCdmNIUnBiMjV6UHpvZ1ZsSk5URzl2YTBGMFRHOWhaR1Z5VUd4MVoybHVUM0IwYVc5dWN5a2dlMXh1SUNBZ0lIUm9hWE11Y0dGeWMyVnlJRDBnY0dGeWMyVnlPMXh1WEc0Z0lDQWdkR2hwY3k1b1pXeHdaWEpTYjI5MElEMGdiM0IwYVc5dWN6OHVhR1ZzY0dWeVVtOXZkRHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJoYzNsdVl5QmhablJsY2xKdmIzUW9aMngwWmpvZ1IweFVSaWs2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUhaeWJVaDFiV0Z1YjJsa0lEMGdaMngwWmk1MWMyVnlSR0YwWVM1MmNtMUlkVzFoYm05cFpDQmhjeUJXVWsxSWRXMWhibTlwWkNCOElIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lDOHZJR1Y0Y0d4cFkybDBiSGtnWkdsemRHbHVaM1ZwYzJnZ2JuVnNiQ0JoYm1RZ2RXNWtaV1pwYm1Wa1hHNGdJQ0FnTHk4Z2MybHVZMlVnZG5KdFNIVnRZVzV2YVdRZ2JXbG5hSFFnWW1VZ2JuVnNiQ0JoY3lCaElISmxjM1ZzZEZ4dUlDQWdJR2xtSUNoMmNtMUlkVzFoYm05cFpDQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RuSnRTSFZ0WVc1dmFXUWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkV1VrMU1iMjlyUVhSTWIyRmtaWEpRYkhWbmFXNDZJSFp5YlVoMWJXRnViMmxrSUdseklIVnVaR1ZtYVc1bFpDNGdWbEpOU0hWdFlXNXZhV1JNYjJGa1pYSlFiSFZuYVc0Z2FHRjJaU0IwYnlCaVpTQjFjMlZrSUdacGNuTjBKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2RuSnRSWGh3Y21WemMybHZiazFoYm1GblpYSWdQU0JuYkhSbUxuVnpaWEpFWVhSaExuWnliVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlJR0Z6SUZaU1RVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUlId2dkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdhV1lnS0haeWJVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMmNtMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNpQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUNkV1VrMU1iMjlyUVhSTWIyRmtaWEpRYkhWbmFXNDZJSFp5YlVWNGNISmxjM05wYjI1TllXNWhaMlZ5SUdseklIVnVaR1ZtYVc1bFpDNGdWbEpOUlhod2NtVnpjMmx2Ymt4dllXUmxjbEJzZFdkcGJpQm9ZWFpsSUhSdklHSmxJSFZ6WldRZ1ptbHljM1FuTEZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JuYkhSbUxuVnpaWEpFWVhSaExuWnliVXh2YjJ0QmRDQTlJR0YzWVdsMElIUm9hWE11WDJsdGNHOXlkQ2huYkhSbUxDQjJjbTFJZFcxaGJtOXBaQ3dnZG5KdFJYaHdjbVZ6YzJsdmJrMWhibUZuWlhJcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWx0Y0c5eWRDQmhJSHRBYkdsdWF5QldVazFNYjI5clFYUjlJR1p5YjIwZ1lTQldVazB1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCbmJIUm1JRUVnY0dGeWMyVmtJSEpsYzNWc2RDQnZaaUJIVEZSR0lIUmhhMlZ1SUdaeWIyMGdSMHhVUmt4dllXUmxjbHh1SUNBZ0tpQkFjR0Z5WVcwZ2FIVnRZVzV2YVdRZ1FTQjdRR3hwYm1zZ1ZsSk5TSFZ0WVc1dmFXUjlJR2x1YzNSaGJtTmxJSFJvWVhRZ2NtVndjbVZ6Wlc1MGN5QjBhR1VnVmxKTlhHNGdJQ0FxSUVCd1lYSmhiU0JsZUhCeVpYTnphVzl1Y3lCQklIdEFiR2x1YXlCV1VrMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNuMGdhVzV6ZEdGdVkyVWdkR2hoZENCeVpYQnlaWE5sYm5SeklIUm9aU0JXVWsxY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWDJsdGNHOXlkQ2hjYmlBZ0lDQm5iSFJtT2lCSFRGUkdMRnh1SUNBZ0lHaDFiV0Z1YjJsa09pQldVazFJZFcxaGJtOXBaQ0I4SUc1MWJHd3NYRzRnSUNBZ1pYaHdjbVZ6YzJsdmJuTTZJRlpTVFVWNGNISmxjM05wYjI1TllXNWhaMlZ5SUh3Z2JuVnNiQ3hjYmlBZ0tUb2dVSEp2YldselpUeFdVazFNYjI5clFYUWdmQ0J1ZFd4c1BpQjdYRzRnSUNBZ2FXWWdLR2gxYldGdWIybGtJRDA5SUc1MWJHd2dmSHdnWlhod2NtVnpjMmx2Ym5NZ1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnZGpGU1pYTjFiSFFnUFNCaGQyRnBkQ0IwYUdsekxsOTJNVWx0Y0c5eWRDaG5iSFJtTENCb2RXMWhibTlwWkN3Z1pYaHdjbVZ6YzJsdmJuTXBPMXh1SUNBZ0lHbG1JQ2gyTVZKbGMzVnNkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFl4VW1WemRXeDBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhZd1VtVnpkV3gwSUQwZ1lYZGhhWFFnZEdocGN5NWZkakJKYlhCdmNuUW9aMngwWml3Z2FIVnRZVzV2YVdRc0lHVjRjSEpsYzNOcGIyNXpLVHRjYmlBZ0lDQnBaaUFvZGpCU1pYTjFiSFFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIyTUZKbGMzVnNkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdYM1l4U1cxd2IzSjBLRnh1SUNBZ0lHZHNkR1k2SUVkTVZFWXNYRzRnSUNBZ2FIVnRZVzV2YVdRNklGWlNUVWgxYldGdWIybGtMRnh1SUNBZ0lHVjRjSEpsYzNOcGIyNXpPaUJXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY2l4Y2JpQWdLVG9nVUhKdmJXbHpaVHhXVWsxTWIyOXJRWFFnZkNCdWRXeHNQaUI3WEc0Z0lDQWdZMjl1YzNRZ2FuTnZiaUE5SUhSb2FYTXVjR0Z5YzJWeUxtcHpiMjRnWVhNZ1IweFVSbE5qYUdWdFlTNUpSMHhVUmp0Y2JseHVJQ0FnSUM4dklHVmhjbXg1SUdGaWIzSjBJR2xtSUdsMElHUnZaWE51SjNRZ2RYTmxJSFp5YlZ4dUlDQWdJR052Ym5OMElHbHpWbEpOVlhObFpDQTlJR3B6YjI0dVpYaDBaVzV6YVc5dWMxVnpaV1EvTG1sdVpHVjRUMllvSjFaU1RVTmZkbkp0SnlrZ0lUMDlJQzB4TzF4dUlDQWdJR2xtSUNnaGFYTldVazFWYzJWa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCbGVIUmxibk5wYjI0Z1BTQnFjMjl1TG1WNGRHVnVjMmx2Ym5NL0xsc25WbEpOUTE5MmNtMG5YU0JoY3lCV01WWlNUVk5qYUdWdFlTNVdVazFEVmxKTklId2dkVzVrWldacGJtVmtPMXh1SUNBZ0lHbG1JQ2doWlhoMFpXNXphVzl1S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J6Y0dWalZtVnljMmx2YmlBOUlHVjRkR1Z1YzJsdmJpNXpjR1ZqVm1WeWMybHZianRjYmlBZ0lDQnBaaUFvSVZCUFUxTkpRa3hGWDFOUVJVTmZWa1ZTVTBsUFRsTXVhR0Z6S0hOd1pXTldaWEp6YVc5dUtTa2dlMXh1SUNBZ0lDQWdZMjl1YzI5c1pTNTNZWEp1S0dCV1VrMU1iMjlyUVhSTWIyRmtaWEpRYkhWbmFXNDZJRlZ1YTI1dmQyNGdWbEpOUTE5MmNtMGdjM0JsWTFabGNuTnBiMjRnWENJa2UzTndaV05XWlhKemFXOXVmVndpWUNrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J6WTJobGJXRk1iMjlyUVhRZ1BTQmxlSFJsYm5OcGIyNHViRzl2YTBGME8xeHVJQ0FnSUdsbUlDZ2hjMk5vWlcxaFRHOXZhMEYwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JrWldaaGRXeDBUM1YwY0hWMFUyTmhiR1VnUFNCelkyaGxiV0ZNYjI5clFYUXVkSGx3WlNBOVBUMGdKMlY0Y0hKbGMzTnBiMjRuSUQ4Z01TNHdJRG9nTVRBdU1EdGNibHh1SUNBZ0lHTnZibk4wSUcxaGNFaEpJRDBnZEdocGN5NWZkakZKYlhCdmNuUlNZVzVuWlUxaGNDaHpZMmhsYldGTWIyOXJRWFF1Y21GdVoyVk5ZWEJJYjNKcGVtOXVkR0ZzU1c1dVpYSXNJR1JsWm1GMWJIUlBkWFJ3ZFhSVFkyRnNaU2s3WEc0Z0lDQWdZMjl1YzNRZ2JXRndTRThnUFNCMGFHbHpMbDkyTVVsdGNHOXlkRkpoYm1kbFRXRndLSE5qYUdWdFlVeHZiMnRCZEM1eVlXNW5aVTFoY0VodmNtbDZiMjUwWVd4UGRYUmxjaXdnWkdWbVlYVnNkRTkxZEhCMWRGTmpZV3hsS1R0Y2JpQWdJQ0JqYjI1emRDQnRZWEJXUkNBOUlIUm9hWE11WDNZeFNXMXdiM0owVW1GdVoyVk5ZWEFvYzJOb1pXMWhURzl2YTBGMExuSmhibWRsVFdGd1ZtVnlkR2xqWVd4RWIzZHVMQ0JrWldaaGRXeDBUM1YwY0hWMFUyTmhiR1VwTzF4dUlDQWdJR052Ym5OMElHMWhjRlpWSUQwZ2RHaHBjeTVmZGpGSmJYQnZjblJTWVc1blpVMWhjQ2h6WTJobGJXRk1iMjlyUVhRdWNtRnVaMlZOWVhCV1pYSjBhV05oYkZWd0xDQmtaV1poZFd4MFQzVjBjSFYwVTJOaGJHVXBPMXh1WEc0Z0lDQWdiR1YwSUdGd2NHeHBaWEk3WEc1Y2JpQWdJQ0JwWmlBb2MyTm9aVzFoVEc5dmEwRjBMblI1Y0dVZ1BUMDlJQ2RsZUhCeVpYTnphVzl1SnlrZ2UxeHVJQ0FnSUNBZ1lYQndiR2xsY2lBOUlHNWxkeUJXVWsxTWIyOXJRWFJGZUhCeVpYTnphVzl1UVhCd2JHbGxjaWhsZUhCeVpYTnphVzl1Y3l3Z2JXRndTRWtzSUcxaGNFaFBMQ0J0WVhCV1JDd2diV0Z3VmxVcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoY0hCc2FXVnlJRDBnYm1WM0lGWlNUVXh2YjJ0QmRFSnZibVZCY0hCc2FXVnlLR2gxYldGdWIybGtMQ0J0WVhCSVNTd2diV0Z3U0U4c0lHMWhjRlpFTENCdFlYQldWU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2JHOXZhMEYwSUQwZ2RHaHBjeTVmYVcxd2IzSjBURzl2YTBGMEtHaDFiV0Z1YjJsa0xDQmhjSEJzYVdWeUtUdGNibHh1SUNBZ0lHeHZiMnRCZEM1dlptWnpaWFJHY205dFNHVmhaRUp2Ym1VdVpuSnZiVUZ5Y21GNUtITmphR1Z0WVV4dmIydEJkQzV2Wm1aelpYUkdjbTl0U0dWaFpFSnZibVVnUHo4Z1d6QXVNQ3dnTUM0d05pd2dNQzR3WFNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYkc5dmEwRjBPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmZGpGSmJYQnZjblJTWVc1blpVMWhjQ2hjYmlBZ0lDQnpZMmhsYldGU1lXNW5aVTFoY0RvZ1ZqRldVazFUWTJobGJXRXVURzl2YTBGMFVtRnVaMlZOWVhBZ2ZDQjFibVJsWm1sdVpXUXNYRzRnSUNBZ1pHVm1ZWFZzZEU5MWRIQjFkRk5qWVd4bE9pQnVkVzFpWlhJc1hHNGdJQ2s2SUZaU1RVeHZiMnRCZEZKaGJtZGxUV0Z3SUh0Y2JpQWdJQ0JzWlhRZ2FXNXdkWFJOWVhoV1lXeDFaU0E5SUhOamFHVnRZVkpoYm1kbFRXRndQeTVwYm5CMWRFMWhlRlpoYkhWbElEOC9JRGt3TGpBN1hHNGdJQ0FnWTI5dWMzUWdiM1YwY0hWMFUyTmhiR1VnUFNCelkyaGxiV0ZTWVc1blpVMWhjRDh1YjNWMGNIVjBVMk5oYkdVZ1B6OGdaR1ZtWVhWc2RFOTFkSEIxZEZOallXeGxPMXh1WEc0Z0lDQWdMeThnU1hRZ2JXbG5hSFFnWTJGMWMyVWdUbUZPSUhkb1pXNGdZR2x1Y0hWMFRXRjRWbUZzZFdWZ0lHbHpJSFJ2YnlCemJXRnNiRnh1SUNBZ0lDOHZJSGRvYVdOb0lHMWhhMlZ6SUhSb1pTQnRaWE5vSUc5bUlIUm9aU0JvWldGa0lHUnBjMkZ3Y0dWaGNseHVJQ0FnSUM4dklGTmxaVG9nYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDNCcGVHbDJMM1JvY21WbExYWnliUzlwYzNOMVpYTXZNVEl3TVZ4dUlDQWdJR2xtSUNocGJuQjFkRTFoZUZaaGJIVmxJRHdnU1U1UVZWUmZUVUZZWDFaQlRGVkZYMDFKVGtsTlZVMHBJSHRjYmlBZ0lDQWdJR052Ym5OdmJHVXVkMkZ5YmloY2JpQWdJQ0FnSUNBZ0oxWlNUVXh2YjJ0QmRFeHZZV1JsY2xCc2RXZHBiam9nYVc1d2RYUk5ZWGhXWVd4MVpTQnZaaUJoSUhKaGJtZGxJRzFoY0NCcGN5QjBiMjhnYzIxaGJHd3VJRU52Ym5OcFpHVnlJSEpsZG1sbGQybHVaeUIwYUdVZ2NtRnVaMlVnYldGd0lTY3NYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdhVzV3ZFhSTllYaFdZV3gxWlNBOUlFbE9VRlZVWDAxQldGOVdRVXhWUlY5TlNVNUpUVlZOTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnVaWGNnVmxKTlRHOXZhMEYwVW1GdVoyVk5ZWEFvYVc1d2RYUk5ZWGhXWVd4MVpTd2diM1YwY0hWMFUyTmhiR1VwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCaGMzbHVZeUJmZGpCSmJYQnZjblFvWEc0Z0lDQWdaMngwWmpvZ1IweFVSaXhjYmlBZ0lDQm9kVzFoYm05cFpEb2dWbEpOU0hWdFlXNXZhV1FzWEc0Z0lDQWdaWGh3Y21WemMybHZibk02SUZaU1RVVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUxGeHVJQ0FwT2lCUWNtOXRhWE5sUEZaU1RVeHZiMnRCZENCOElHNTFiR3crSUh0Y2JpQWdJQ0JqYjI1emRDQnFjMjl1SUQwZ2RHaHBjeTV3WVhKelpYSXVhbk52YmlCaGN5QkhURlJHVTJOb1pXMWhMa2xIVEZSR08xeHVYRzRnSUNBZ0x5OGdaV0Z5YkhrZ1lXSnZjblFnYVdZZ2FYUWdaRzlsYzI0bmRDQjFjMlVnZG5KdFhHNGdJQ0FnWTI5dWMzUWdkbkp0UlhoMElEMGdhbk52Ymk1bGVIUmxibk5wYjI1elB5NVdVazBnWVhNZ1ZqQldVazB1VmxKTklId2dkVzVrWldacGJtVmtPMXh1SUNBZ0lHbG1JQ2doZG5KdFJYaDBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnpZMmhsYldGR2FYSnpkRkJsY25OdmJpQTlJSFp5YlVWNGRDNW1hWEp6ZEZCbGNuTnZianRjYmlBZ0lDQnBaaUFvSVhOamFHVnRZVVpwY25OMFVHVnljMjl1S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JrWldaaGRXeDBUM1YwY0hWMFUyTmhiR1VnUFNCelkyaGxiV0ZHYVhKemRGQmxjbk52Ymk1c2IyOXJRWFJVZVhCbFRtRnRaU0E5UFQwZ0owSnNaVzVrVTJoaGNHVW5JRDhnTVM0d0lEb2dNVEF1TUR0Y2JseHVJQ0FnSUdOdmJuTjBJRzFoY0VoSklEMGdkR2hwY3k1ZmRqQkpiWEJ2Y25SRVpXZHlaV1ZOWVhBb2MyTm9aVzFoUm1seWMzUlFaWEp6YjI0dWJHOXZhMEYwU0c5eWFYcHZiblJoYkVsdWJtVnlMQ0JrWldaaGRXeDBUM1YwY0hWMFUyTmhiR1VwTzF4dUlDQWdJR052Ym5OMElHMWhjRWhQSUQwZ2RHaHBjeTVmZGpCSmJYQnZjblJFWldkeVpXVk5ZWEFvYzJOb1pXMWhSbWx5YzNSUVpYSnpiMjR1Ykc5dmEwRjBTRzl5YVhwdmJuUmhiRTkxZEdWeUxDQmtaV1poZFd4MFQzVjBjSFYwVTJOaGJHVXBPMXh1SUNBZ0lHTnZibk4wSUcxaGNGWkVJRDBnZEdocGN5NWZkakJKYlhCdmNuUkVaV2R5WldWTllYQW9jMk5vWlcxaFJtbHljM1JRWlhKemIyNHViRzl2YTBGMFZtVnlkR2xqWVd4RWIzZHVMQ0JrWldaaGRXeDBUM1YwY0hWMFUyTmhiR1VwTzF4dUlDQWdJR052Ym5OMElHMWhjRlpWSUQwZ2RHaHBjeTVmZGpCSmJYQnZjblJFWldkeVpXVk5ZWEFvYzJOb1pXMWhSbWx5YzNSUVpYSnpiMjR1Ykc5dmEwRjBWbVZ5ZEdsallXeFZjQ3dnWkdWbVlYVnNkRTkxZEhCMWRGTmpZV3hsS1R0Y2JseHVJQ0FnSUd4bGRDQmhjSEJzYVdWeU8xeHVYRzRnSUNBZ2FXWWdLSE5qYUdWdFlVWnBjbk4wVUdWeWMyOXVMbXh2YjJ0QmRGUjVjR1ZPWVcxbElEMDlQU0FuUW14bGJtUlRhR0Z3WlNjcElIdGNiaUFnSUNBZ0lHRndjR3hwWlhJZ1BTQnVaWGNnVmxKTlRHOXZhMEYwUlhod2NtVnpjMmx2YmtGd2NHeHBaWElvWlhod2NtVnpjMmx2Ym5Nc0lHMWhjRWhKTENCdFlYQklUeXdnYldGd1ZrUXNJRzFoY0ZaVktUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWVhCd2JHbGxjaUE5SUc1bGR5QldVazFNYjI5clFYUkNiMjVsUVhCd2JHbGxjaWhvZFcxaGJtOXBaQ3dnYldGd1NFa3NJRzFoY0VoUExDQnRZWEJXUkN3Z2JXRndWbFVwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHeHZiMnRCZENBOUlIUm9hWE11WDJsdGNHOXlkRXh2YjJ0QmRDaG9kVzFoYm05cFpDd2dZWEJ3YkdsbGNpazdYRzVjYmlBZ0lDQnBaaUFvYzJOb1pXMWhSbWx5YzNSUVpYSnpiMjR1Wm1seWMzUlFaWEp6YjI1Q2IyNWxUMlptYzJWMEtTQjdYRzRnSUNBZ0lDQnNiMjlyUVhRdWIyWm1jMlYwUm5KdmJVaGxZV1JDYjI1bExuTmxkQ2hjYmlBZ0lDQWdJQ0FnYzJOb1pXMWhSbWx5YzNSUVpYSnpiMjR1Wm1seWMzUlFaWEp6YjI1Q2IyNWxUMlptYzJWMExuZ2dQejhnTUM0d0xGeHVJQ0FnSUNBZ0lDQnpZMmhsYldGR2FYSnpkRkJsY25OdmJpNW1hWEp6ZEZCbGNuTnZia0p2Ym1WUFptWnpaWFF1ZVNBL1B5QXdMakEyTEZ4dUlDQWdJQ0FnSUNBdEtITmphR1Z0WVVacGNuTjBVR1Z5YzI5dUxtWnBjbk4wVUdWeWMyOXVRbTl1WlU5bVpuTmxkQzU2SUQ4L0lEQXVNQ2tzWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnNiMjlyUVhRdWIyWm1jMlYwUm5KdmJVaGxZV1JDYjI1bExuTmxkQ2d3TGpBc0lEQXVNRFlzSURBdU1DazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdWbEpOSURBdU1DQmhjbVVnWm1GamFXNW5JRm90SUdsdWMzUmxZV1FnYjJZZ1dpdGNiaUFnSUNCc2IyOXJRWFF1Wm1GalpVWnliMjUwTG5ObGRDZ3dMakFzSURBdU1Dd2dMVEV1TUNrN1hHNWNiaUFnSUNCcFppQW9ZWEJ3YkdsbGNpQnBibk4wWVc1alpXOW1JRlpTVFV4dmIydEJkRUp2Ym1WQmNIQnNhV1Z5S1NCN1hHNGdJQ0FnSUNCaGNIQnNhV1Z5TG1aaFkyVkdjbTl1ZEM1elpYUW9NQzR3TENBd0xqQXNJQzB4TGpBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJzYjI5clFYUTdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRjkyTUVsdGNHOXlkRVJsWjNKbFpVMWhjQ2hjYmlBZ0lDQnpZMmhsYldGRVpXZHlaV1ZOWVhBNklGWXdWbEpOTGtacGNuTjBVR1Z5YzI5dVJHVm5jbVZsVFdGd0lId2dkVzVrWldacGJtVmtMRnh1SUNBZ0lHUmxabUYxYkhSUGRYUndkWFJUWTJGc1pUb2diblZ0WW1WeUxGeHVJQ0FwT2lCV1VrMU1iMjlyUVhSU1lXNW5aVTFoY0NCN1hHNGdJQ0FnWTI5dWMzUWdZM1Z5ZG1VZ1BTQnpZMmhsYldGRVpXZHlaV1ZOWVhBL0xtTjFjblpsTzF4dUlDQWdJR2xtSUNoS1UwOU9Mbk4wY21sdVoybG1lU2hqZFhKMlpTa2dJVDA5SUNkYk1Dd3dMREFzTVN3eExERXNNU3d3WFNjcElIdGNiaUFnSUNBZ0lHTnZibk52YkdVdWQyRnliaWduUTNWeWRtVnpJRzltSUV4dmIydEJkRVJsWjNKbFpVMWhjQ0JrWldacGJtVmtJR2x1SUZaU1RTQXdMakFnWVhKbElHNXZkQ0J6ZFhCd2IzSjBaV1FuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JzWlhRZ2VGSmhibWRsSUQwZ2MyTm9aVzFoUkdWbmNtVmxUV0Z3UHk1NFVtRnVaMlVnUHo4Z09UQXVNRHRjYmlBZ0lDQmpiMjV6ZENCNVVtRnVaMlVnUFNCelkyaGxiV0ZFWldkeVpXVk5ZWEEvTG5sU1lXNW5aU0EvUHlCa1pXWmhkV3gwVDNWMGNIVjBVMk5oYkdVN1hHNWNiaUFnSUNBdkx5QkpkQ0J0YVdkb2RDQmpZWFZ6WlNCT1lVNGdkMmhsYmlCZ2VGSmhibWRsWUNCcGN5QjBiMjhnYzIxaGJHeGNiaUFnSUNBdkx5QjNhR2xqYUNCdFlXdGxjeUIwYUdVZ2JXVnphQ0J2WmlCMGFHVWdhR1ZoWkNCa2FYTmhjSEJsWVhKY2JpQWdJQ0F2THlCVFpXVTZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzl3YVhocGRpOTBhSEpsWlMxMmNtMHZhWE56ZFdWekx6RXlNREZjYmlBZ0lDQnBaaUFvZUZKaGJtZGxJRHdnU1U1UVZWUmZUVUZZWDFaQlRGVkZYMDFKVGtsTlZVMHBJSHRjYmlBZ0lDQWdJR052Ym5OdmJHVXVkMkZ5YmlnblZsSk5URzl2YTBGMFRHOWhaR1Z5VUd4MVoybHVPaUI0VW1GdVoyVWdiMllnWVNCa1pXZHlaV1VnYldGd0lHbHpJSFJ2YnlCemJXRnNiQzRnUTI5dWMybGtaWElnY21WMmFXVjNhVzVuSUhSb1pTQmtaV2R5WldVZ2JXRndJU2NwTzF4dUlDQWdJQ0FnZUZKaGJtZGxJRDBnU1U1UVZWUmZUVUZZWDFaQlRGVkZYMDFKVGtsTlZVMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QldVazFNYjI5clFYUlNZVzVuWlUxaGNDaDRVbUZ1WjJVc0lIbFNZVzVuWlNrN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElGOXBiWEJ2Y25STWIyOXJRWFFvYUhWdFlXNXZhV1E2SUZaU1RVaDFiV0Z1YjJsa0xDQmhjSEJzYVdWeU9pQldVazFNYjI5clFYUkJjSEJzYVdWeUtUb2dWbEpOVEc5dmEwRjBJSHRjYmlBZ0lDQmpiMjV6ZENCc2IyOXJRWFFnUFNCdVpYY2dWbEpOVEc5dmEwRjBLR2gxYldGdWIybGtMQ0JoY0hCc2FXVnlLVHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbWhsYkhCbGNsSnZiM1FwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR2hsYkhCbGNpQTlJRzVsZHlCV1VrMU1iMjlyUVhSSVpXeHdaWElvYkc5dmEwRjBLVHRjYmlBZ0lDQWdJSFJvYVhNdWFHVnNjR1Z5VW05dmRDNWhaR1FvYUdWc2NHVnlLVHRjYmlBZ0lDQWdJR2hsYkhCbGNpNXlaVzVrWlhKUGNtUmxjaUE5SUhSb2FYTXVhR1ZzY0dWeVVtOXZkQzV5Wlc1a1pYSlBjbVJsY2p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiRzl2YTBGME8xeHVJQ0I5WEc1OVhHNGlMQ0l2S2lCbGMyeHBiblF0WkdsellXSnNaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym1GdGFXNW5MV052Ym5abGJuUnBiMjRnS2k5Y2JseHVMeW9xWEc0Z0tpQlNaWEJ5WlhObGJuUnpJR0VnZEhsd1pTQnZaaUJoY0hCc2FXVnlMbHh1SUNvdlhHNWxlSEJ2Y25RZ1kyOXVjM1FnVmxKTlRHOXZhMEYwVkhsd1pVNWhiV1VnUFNCN1hHNGdJRUp2Ym1VNklDZGliMjVsSnl4Y2JpQWdSWGh3Y21WemMybHZiam9nSjJWNGNISmxjM05wYjI0bkxGeHVmVHRjYmx4dVpYaHdiM0owSUhSNWNHVWdWbEpOVEc5dmEwRjBWSGx3WlU1aGJXVWdQU0IwZVhCbGIyWWdWbEpOVEc5dmEwRjBWSGx3WlU1aGJXVmJhMlY1YjJZZ2RIbHdaVzltSUZaU1RVeHZiMnRCZEZSNWNHVk9ZVzFsWFR0Y2JpSXNJaThxS2x4dUlDb2dXVzlwYm10bFpDQm1jbTl0SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5dGNtUnZiMkl2ZEdoeVpXVXVhbk12WW14dllpOXRZWE4wWlhJdlpYaGhiWEJzWlhNdmFuTnRMMnh2WVdSbGNuTXZSMHhVUmt4dllXUmxjaTVxYzF4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbVZ6YjJ4MlpWVlNUQ2gxY213NklITjBjbWx1Wnl3Z2NHRjBhRG9nYzNSeWFXNW5LVG9nYzNSeWFXNW5JSHRjYmlBZ0x5OGdTVzUyWVd4cFpDQlZVa3hjYmlBZ2FXWWdLSFI1Y0dWdlppQjFjbXdnSVQwOUlDZHpkSEpwYm1jbklIeDhJSFZ5YkNBOVBUMGdKeWNwSUhKbGRIVnliaUFuSnp0Y2JseHVJQ0F2THlCSWIzTjBJRkpsYkdGMGFYWmxJRlZTVEZ4dUlDQnBaaUFvTDE1b2RIUndjejg2WEZ3dlhGd3ZMMmt1ZEdWemRDaHdZWFJvS1NBbUppQXZYbHhjTHk4dWRHVnpkQ2gxY213cEtTQjdYRzRnSUNBZ2NHRjBhQ0E5SUhCaGRHZ3VjbVZ3YkdGalpTZ3ZLRjVvZEhSd2N6ODZYRnd2WEZ3dlcxNHZYU3NwTGlvdmFTd2dKeVF4SnlrN1hHNGdJSDFjYmx4dUlDQXZMeUJCWW5OdmJIVjBaU0JWVWt3Z2FIUjBjRG92THl4b2RIUndjem92THl3dkwxeHVJQ0JwWmlBb0wxNG9hSFIwY0hNL09pay9YRnd2WEZ3dkwya3VkR1Z6ZENoMWNtd3BLU0J5WlhSMWNtNGdkWEpzTzF4dVhHNGdJQzh2SUVSaGRHRWdWVkpKWEc0Z0lHbG1JQ2d2WG1SaGRHRTZMaW9zTGlva0wya3VkR1Z6ZENoMWNtd3BLU0J5WlhSMWNtNGdkWEpzTzF4dVhHNGdJQzh2SUVKc2IySWdWVkpNWEc0Z0lHbG1JQ2d2WG1Kc2IySTZMaW9rTDJrdWRHVnpkQ2gxY213cEtTQnlaWFIxY200Z2RYSnNPMXh1WEc0Z0lDOHZJRkpsYkdGMGFYWmxJRlZTVEZ4dUlDQnlaWFIxY200Z2NHRjBhQ0FySUhWeWJEdGNibjFjYmlJc0ltbHRjRzl5ZENCMGVYQmxJSHNnUjB4VVJpd2dSMHhVUmt4dllXUmxjbEJzZFdkcGJpd2dSMHhVUmxCaGNuTmxjaUI5SUdaeWIyMGdKM1JvY21WbEwyVjRZVzF3YkdWekwycHpiUzlzYjJGa1pYSnpMMGRNVkVaTWIyRmtaWEl1YW5Nbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCV1VrMHdUV1YwWVNCOUlHWnliMjBnSnk0dlZsSk5NRTFsZEdFbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCV1VrMHhUV1YwWVNCOUlHWnliMjBnSnk0dlZsSk5NVTFsZEdFbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCV1VrMU5aWFJoSUgwZ1puSnZiU0FuTGk5V1VrMU5aWFJoSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlRXVjBZVXh2WVdSbGNsQnNkV2RwYms5d2RHbHZibk1nZlNCbWNtOXRJQ2N1TDFaU1RVMWxkR0ZNYjJGa1pYSlFiSFZuYVc1UGNIUnBiMjV6Snp0Y2JtbHRjRzl5ZENCMGVYQmxJQ29nWVhNZ1ZqQldVazBnWm5KdmJTQW5RSEJwZUdsMkwzUjVjR1Z6TFhaeWJTMHdMakFuTzF4dWFXMXdiM0owSUhSNWNHVWdLaUJoY3lCV01WWlNUVk5qYUdWdFlTQm1jbTl0SUNkQWNHbDRhWFl2ZEhsd1pYTXRkbkp0WXkxMmNtMHRNUzR3Snp0Y2JtbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0I3SUhKbGMyOXNkbVZWVWt3Z2ZTQm1jbTl0SUNjdUxpOTFkR2xzY3k5eVpYTnZiSFpsVlZKTUp6dGNibWx0Y0c5eWRDQjdJRWRNVkVZZ1lYTWdSMHhVUmxOamFHVnRZU0I5SUdaeWIyMGdKMEJuYkhSbUxYUnlZVzV6Wm05eWJTOWpiM0psSnp0Y2JseHVMeW9xWEc0Z0tpQlFiM056YVdKc1pTQnpjR1ZqSUhabGNuTnBiMjV6SUdsMElISmxZMjluYm1sNlpYTXVYRzRnS2k5Y2JtTnZibk4wSUZCUFUxTkpRa3hGWDFOUVJVTmZWa1ZTVTBsUFRsTWdQU0J1WlhjZ1UyVjBLRnNuTVM0d0p5d2dKekV1TUMxaVpYUmhKMTBwTzF4dVhHNHZLaXBjYmlBcUlFRWdjR3gxWjJsdUlHOW1JRWRNVkVaTWIyRmtaWElnZEdoaGRDQnBiWEJ2Y25SeklHRWdlMEJzYVc1cklGWlNUVEZOWlhSaGZTQm1jbTl0SUdFZ1ZsSk5JR1Y0ZEdWdWMybHZiaUJ2WmlCaElFZE1WRVl1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCV1VrMU5aWFJoVEc5aFpHVnlVR3gxWjJsdUlHbHRjR3hsYldWdWRITWdSMHhVUmt4dllXUmxjbEJzZFdkcGJpQjdYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0J3WVhKelpYSTZJRWRNVkVaUVlYSnpaWEk3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWxtSUdCbVlXeHpaV0FzSUdsMElIZHZiaWQwSUd4dllXUWdhWFJ6SUhSb2RXMWlibUZwYkNCcGJXRm5aU0FvZTBCc2FXNXJJRlpTVFRGTlpYUmhMblJvZFcxaWJtRnBiRWx0WVdkbGZTa3VYRzRnSUNBcUlHQjBjblZsWUNCaWVTQmtaV1poZFd4MExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHNWxaV1JVYUhWdFltNWhhV3hKYldGblpUb2dZbTl2YkdWaGJqdGNibHh1SUNBdktpcGNiaUFnSUNvZ1FTQnNhWE4wSUc5bUlHeHBZMlZ1YzJVZ2RYSnNjeTVjYmlBZ0lDb2dWR2hwY3lCdFpYUmhJR3h2WVdSbGNpQjNhV3hzSUdGalkyVndkQ0IwYUdWelpTQmdiR2xqWlc1elpWVnliR0J6TGx4dUlDQWdLaUJQZEdobGNuZHBjMlVnYVhRZ2QyOXVKM1FnWW1VZ2JHOWhaR1ZrTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdGalkyVndkRXhwWTJWdWMyVlZjbXh6T2lCemRISnBibWRiWFR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVjJobGRHaGxjaUJwZENCemFHOTFiR1FnWVdOalpYQjBJRlpTVFRBdU1DQnRaWFJoSUc5eUlHNXZkQzVjYmlBZ0lDb2dUbTkwWlNCMGFHRjBJR2wwSUcxcFoyaDBJR3h2WVdRZ2UwQnNhVzVySUZaU1RUQk5aWFJoZlNCcGJuTjBaV0ZrSUc5bUlIdEFiR2x1YXlCV1VrMHhUV1YwWVgwZ2QyaGxiaUIwYUdseklHbHpJR0IwY25WbFlDNWNiaUFnSUNvZ1lIUnlkV1ZnSUdKNUlHUmxabUYxYkhRdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1lXTmpaWEIwVmpCTlpYUmhPaUJpYjI5c1pXRnVPMXh1WEc0Z0lIQjFZbXhwWXlCblpYUWdibUZ0WlNncE9pQnpkSEpwYm1jZ2UxeHVJQ0FnSUM4dklGZGxJSE5vYjNWc1pDQjFjMlVnZEdobElHVjRkR1Z1YzJsdmJpQnVZVzFsSUdsdWMzUmxZV1FnWW5WMElIZGxJR2hoZG1VZ2JYVnNkR2x3YkdVZ2NHeDFaMmx1Y3lCbWIzSWdZVzRnWlhoMFpXNXphVzl1TGk0dVhHNGdJQ0FnY21WMGRYSnVJQ2RXVWsxTlpYUmhURzloWkdWeVVHeDFaMmx1Snp0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaHdZWEp6WlhJNklFZE1WRVpRWVhKelpYSXNJRzl3ZEdsdmJuTS9PaUJXVWsxTlpYUmhURzloWkdWeVVHeDFaMmx1VDNCMGFXOXVjeWtnZTF4dUlDQWdJSFJvYVhNdWNHRnljMlZ5SUQwZ2NHRnljMlZ5TzF4dVhHNGdJQ0FnZEdocGN5NXVaV1ZrVkdoMWJXSnVZV2xzU1cxaFoyVWdQU0J2Y0hScGIyNXpQeTV1WldWa1ZHaDFiV0p1WVdsc1NXMWhaMlVnUHo4Z2RISjFaVHRjYmlBZ0lDQjBhR2x6TG1GalkyVndkRXhwWTJWdWMyVlZjbXh6SUQwZ2IzQjBhVzl1Y3o4dVlXTmpaWEIwVEdsalpXNXpaVlZ5YkhNZ1B6OGdXeWRvZEhSd2N6b3ZMM1p5YlM1a1pYWXZiR2xqWlc1elpYTXZNUzR3THlkZE8xeHVJQ0FnSUhSb2FYTXVZV05qWlhCMFZqQk5aWFJoSUQwZ2IzQjBhVzl1Y3o4dVlXTmpaWEIwVmpCTlpYUmhJRDgvSUhSeWRXVTdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdZWE41Ym1NZ1lXWjBaWEpTYjI5MEtHZHNkR1k2SUVkTVZFWXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCbmJIUm1MblZ6WlhKRVlYUmhMblp5YlUxbGRHRWdQU0JoZDJGcGRDQjBhR2x6TGw5cGJYQnZjblFvWjJ4MFppazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR0Z6ZVc1aklGOXBiWEJ2Y25Rb1oyeDBaam9nUjB4VVJpazZJRkJ5YjIxcGMyVThWbEpOVFdWMFlTQjhJRzUxYkd3K0lIdGNiaUFnSUNCamIyNXpkQ0IyTVZKbGMzVnNkQ0E5SUdGM1lXbDBJSFJvYVhNdVgzWXhTVzF3YjNKMEtHZHNkR1lwTzF4dUlDQWdJR2xtSUNoMk1WSmxjM1ZzZENBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZGpGU1pYTjFiSFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2RqQlNaWE4xYkhRZ1BTQmhkMkZwZENCMGFHbHpMbDkyTUVsdGNHOXlkQ2huYkhSbUtUdGNiaUFnSUNCcFppQW9kakJTWlhOMWJIUWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIWXdVbVZ6ZFd4ME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmhjM2x1WXlCZmRqRkpiWEJ2Y25Rb1oyeDBaam9nUjB4VVJpazZJRkJ5YjIxcGMyVThWbEpOTVUxbGRHRWdmQ0J1ZFd4c1BpQjdYRzRnSUNBZ1kyOXVjM1FnYW5OdmJpQTlJSFJvYVhNdWNHRnljMlZ5TG1wemIyNGdZWE1nUjB4VVJsTmphR1Z0WVM1SlIweFVSanRjYmx4dUlDQWdJQzh2SUdWaGNteDVJR0ZpYjNKMElHbG1JR2wwSUdSdlpYTnVKM1FnZFhObElIWnliVnh1SUNBZ0lHTnZibk4wSUdselZsSk5WWE5sWkNBOUlHcHpiMjR1WlhoMFpXNXphVzl1YzFWelpXUS9MbWx1WkdWNFQyWW9KMVpTVFVOZmRuSnRKeWtnSVQwOUlDMHhPMXh1SUNBZ0lHbG1JQ2doYVhOV1VrMVZjMlZrS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JsZUhSbGJuTnBiMjRnUFNCcWMyOXVMbVY0ZEdWdWMybHZibk0vTGxzblZsSk5RMTkyY20wblhTQmhjeUJXTVZaU1RWTmphR1Z0WVM1V1VrMURWbEpOSUh3Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUdsbUlDaGxlSFJsYm5OcGIyNGdQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2MzQmxZMVpsY25OcGIyNGdQU0JsZUhSbGJuTnBiMjR1YzNCbFkxWmxjbk5wYjI0N1hHNGdJQ0FnYVdZZ0tDRlFUMU5UU1VKTVJWOVRVRVZEWDFaRlVsTkpUMDVUTG1oaGN5aHpjR1ZqVm1WeWMybHZiaWtwSUh0Y2JpQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGdWbEpOVFdWMFlVeHZZV1JsY2xCc2RXZHBiam9nVlc1cmJtOTNiaUJXVWsxRFgzWnliU0J6Y0dWalZtVnljMmx2YmlCY0lpUjdjM0JsWTFabGNuTnBiMjU5WENKZ0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhOamFHVnRZVTFsZEdFZ1BTQmxlSFJsYm5OcGIyNHViV1YwWVR0Y2JpQWdJQ0JwWmlBb0lYTmphR1Z0WVUxbGRHRXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUhSb2NtOTNJR0Z1SUdWeWNtOXlJR2xtSUdGalkyVndkRll3VFdWMFlTQnBjeUJtWVd4elpWeHVJQ0FnSUdOdmJuTjBJR3hwWTJWdWMyVlZjbXdnUFNCelkyaGxiV0ZOWlhSaExteHBZMlZ1YzJWVmNtdzdYRzRnSUNBZ1kyOXVjM1FnWVdOalpYQjBUR2xqWlc1elpWVnliSE5UWlhRZ1BTQnVaWGNnVTJWMEtIUm9hWE11WVdOalpYQjBUR2xqWlc1elpWVnliSE1wTzF4dUlDQWdJR2xtSUNnaFlXTmpaWEIwVEdsalpXNXpaVlZ5YkhOVFpYUXVhR0Z6S0d4cFkyVnVjMlZWY213cEtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lGWlNUVTFsZEdGTWIyRmtaWEpRYkhWbmFXNDZJRlJvWlNCc2FXTmxibk5sSUhWeWJDQmNJaVI3YkdsalpXNXpaVlZ5YkgxY0lpQnBjeUJ1YjNRZ1lXTmpaWEIwWldSZ0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCc1pYUWdkR2gxYldKdVlXbHNTVzFoWjJVNklFaFVUVXhKYldGblpVVnNaVzFsYm5RZ2ZDQjFibVJsWm1sdVpXUWdQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZsWkZSb2RXMWlibUZwYkVsdFlXZGxJQ1ltSUhOamFHVnRZVTFsZEdFdWRHaDFiV0p1WVdsc1NXMWhaMlVnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZEdoMWJXSnVZV2xzU1cxaFoyVWdQU0FvWVhkaGFYUWdkR2hwY3k1ZlpYaDBjbUZqZEVkTVZFWkpiV0ZuWlNoelkyaGxiV0ZOWlhSaExuUm9kVzFpYm1GcGJFbHRZV2RsS1NrZ1B6OGdkVzVrWldacGJtVmtPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCdFpYUmhWbVZ5YzJsdmJqb2dKekVuTEZ4dUlDQWdJQ0FnYm1GdFpUb2djMk5vWlcxaFRXVjBZUzV1WVcxbExGeHVJQ0FnSUNBZ2RtVnljMmx2YmpvZ2MyTm9aVzFoVFdWMFlTNTJaWEp6YVc5dUxGeHVJQ0FnSUNBZ1lYVjBhRzl5Y3pvZ2MyTm9aVzFoVFdWMFlTNWhkWFJvYjNKekxGeHVJQ0FnSUNBZ1kyOXdlWEpwWjJoMFNXNW1iM0p0WVhScGIyNDZJSE5qYUdWdFlVMWxkR0V1WTI5d2VYSnBaMmgwU1c1bWIzSnRZWFJwYjI0c1hHNGdJQ0FnSUNCamIyNTBZV04wU1c1bWIzSnRZWFJwYjI0NklITmphR1Z0WVUxbGRHRXVZMjl1ZEdGamRFbHVabTl5YldGMGFXOXVMRnh1SUNBZ0lDQWdjbVZtWlhKbGJtTmxjem9nYzJOb1pXMWhUV1YwWVM1eVpXWmxjbVZ1WTJWekxGeHVJQ0FnSUNBZ2RHaHBjbVJRWVhKMGVVeHBZMlZ1YzJWek9pQnpZMmhsYldGTlpYUmhMblJvYVhKa1VHRnlkSGxNYVdObGJuTmxjeXhjYmlBZ0lDQWdJSFJvZFcxaWJtRnBiRWx0WVdkbExGeHVJQ0FnSUNBZ2JHbGpaVzV6WlZWeWJEb2djMk5vWlcxaFRXVjBZUzVzYVdObGJuTmxWWEpzTEZ4dUlDQWdJQ0FnWVhaaGRHRnlVR1Z5YldsemMybHZiam9nYzJOb1pXMWhUV1YwWVM1aGRtRjBZWEpRWlhKdGFYTnphVzl1TEZ4dUlDQWdJQ0FnWVd4c2IzZEZlR05sYzNOcGRtVnNlVlpwYjJ4bGJuUlZjMkZuWlRvZ2MyTm9aVzFoVFdWMFlTNWhiR3h2ZDBWNFkyVnpjMmwyWld4NVZtbHZiR1Z1ZEZWellXZGxMRnh1SUNBZ0lDQWdZV3hzYjNkRmVHTmxjM05wZG1Wc2VWTmxlSFZoYkZWellXZGxPaUJ6WTJobGJXRk5aWFJoTG1Gc2JHOTNSWGhqWlhOemFYWmxiSGxUWlhoMVlXeFZjMkZuWlN4Y2JpQWdJQ0FnSUdOdmJXMWxjbU5wWVd4VmMyRm5aVG9nYzJOb1pXMWhUV1YwWVM1amIyMXRaWEpqYVdGc1ZYTmhaMlVzWEc0Z0lDQWdJQ0JoYkd4dmQxQnZiR2wwYVdOaGJFOXlVbVZzYVdkcGIzVnpWWE5oWjJVNklITmphR1Z0WVUxbGRHRXVZV3hzYjNkUWIyeHBkR2xqWVd4UGNsSmxiR2xuYVc5MWMxVnpZV2RsTEZ4dUlDQWdJQ0FnWVd4c2IzZEJiblJwYzI5amFXRnNUM0pJWVhSbFZYTmhaMlU2SUhOamFHVnRZVTFsZEdFdVlXeHNiM2RCYm5ScGMyOWphV0ZzVDNKSVlYUmxWWE5oWjJVc1hHNGdJQ0FnSUNCamNtVmthWFJPYjNSaGRHbHZiam9nYzJOb1pXMWhUV1YwWVM1amNtVmthWFJPYjNSaGRHbHZiaXhjYmlBZ0lDQWdJR0ZzYkc5M1VtVmthWE4wY21saWRYUnBiMjQ2SUhOamFHVnRZVTFsZEdFdVlXeHNiM2RTWldScGMzUnlhV0oxZEdsdmJpeGNiaUFnSUNBZ0lHMXZaR2xtYVdOaGRHbHZiam9nYzJOb1pXMWhUV1YwWVM1dGIyUnBabWxqWVhScGIyNHNYRzRnSUNBZ0lDQnZkR2hsY2t4cFkyVnVjMlZWY213NklITmphR1Z0WVUxbGRHRXViM1JvWlhKTWFXTmxibk5sVlhKc0xGeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHRnplVzVqSUY5Mk1FbHRjRzl5ZENobmJIUm1PaUJIVEZSR0tUb2dVSEp2YldselpUeFdVazB3VFdWMFlTQjhJRzUxYkd3K0lIdGNiaUFnSUNCamIyNXpkQ0JxYzI5dUlEMGdkR2hwY3k1d1lYSnpaWEl1YW5OdmJpQmhjeUJIVEZSR1UyTm9aVzFoTGtsSFRGUkdPMXh1WEc0Z0lDQWdMeThnWldGeWJIa2dZV0p2Y25RZ2FXWWdhWFFnWkc5bGMyNG5kQ0IxYzJVZ2RuSnRYRzRnSUNBZ1kyOXVjM1FnZG5KdFJYaDBJRDBnYW5OdmJpNWxlSFJsYm5OcGIyNXpQeTVXVWswZ1lYTWdWakJXVWswdVZsSk5JSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJR2xtSUNnaGRuSnRSWGgwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J6WTJobGJXRk5aWFJoSUQwZ2RuSnRSWGgwTG0xbGRHRTdYRzRnSUNBZ2FXWWdLQ0Z6WTJobGJXRk5aWFJoS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QjBhSEp2ZHlCaGJpQmxjbkp2Y2lCcFppQmhZMk5sY0hSV01FMWxkR0VnYVhNZ1ptRnNjMlZjYmlBZ0lDQnBaaUFvSVhSb2FYTXVZV05qWlhCMFZqQk5aWFJoS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFaU1RVMWxkR0ZNYjJGa1pYSlFiSFZuYVc0NklFRjBkR1Z0Y0hSbFpDQjBieUJzYjJGa0lGWlNUVEF1TUNCdFpYUmhJR0oxZENCaFkyTmxjSFJXTUUxbGRHRWdhWE1nWm1Gc2MyVW5LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJzYjJGa0lIUm9kVzFpYm1GcGJDQjBaWGgwZFhKbFhHNGdJQ0FnYkdWMElIUmxlSFIxY21VNklGUklVa1ZGTGxSbGVIUjFjbVVnZkNCdWRXeHNJSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWldSVWFIVnRZbTVoYVd4SmJXRm5aU0FtSmlCelkyaGxiV0ZOWlhSaExuUmxlSFIxY21VZ0lUMGdiblZzYkNBbUppQnpZMmhsYldGTlpYUmhMblJsZUhSMWNtVWdJVDA5SUMweEtTQjdYRzRnSUNBZ0lDQjBaWGgwZFhKbElEMGdZWGRoYVhRZ2RHaHBjeTV3WVhKelpYSXVaMlYwUkdWd1pXNWtaVzVqZVNnbmRHVjRkSFZ5WlNjc0lITmphR1Z0WVUxbGRHRXVkR1Y0ZEhWeVpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUcxbGRHRldaWEp6YVc5dU9pQW5NQ2NzWEc0Z0lDQWdJQ0JoYkd4dmQyVmtWWE5sY2s1aGJXVTZJSE5qYUdWdFlVMWxkR0V1WVd4c2IzZGxaRlZ6WlhKT1lXMWxMRnh1SUNBZ0lDQWdZWFYwYUc5eU9pQnpZMmhsYldGTlpYUmhMbUYxZEdodmNpeGNiaUFnSUNBZ0lHTnZiVzFsY21OcFlXeFZjM05oWjJWT1lXMWxPaUJ6WTJobGJXRk5aWFJoTG1OdmJXMWxjbU5wWVd4VmMzTmhaMlZPWVcxbExGeHVJQ0FnSUNBZ1kyOXVkR0ZqZEVsdVptOXliV0YwYVc5dU9pQnpZMmhsYldGTlpYUmhMbU52Ym5SaFkzUkpibVp2Y20xaGRHbHZiaXhjYmlBZ0lDQWdJR3hwWTJWdWMyVk9ZVzFsT2lCelkyaGxiV0ZOWlhSaExteHBZMlZ1YzJWT1lXMWxMRnh1SUNBZ0lDQWdiM1JvWlhKTWFXTmxibk5sVlhKc09pQnpZMmhsYldGTlpYUmhMbTkwYUdWeVRHbGpaVzV6WlZWeWJDeGNiaUFnSUNBZ0lHOTBhR1Z5VUdWeWJXbHpjMmx2YmxWeWJEb2djMk5vWlcxaFRXVjBZUzV2ZEdobGNsQmxjbTFwYzNOcGIyNVZjbXdzWEc0Z0lDQWdJQ0J5WldabGNtVnVZMlU2SUhOamFHVnRZVTFsZEdFdWNtVm1aWEpsYm1ObExGeHVJQ0FnSUNBZ2MyVjRkV0ZzVlhOellXZGxUbUZ0WlRvZ2MyTm9aVzFoVFdWMFlTNXpaWGgxWVd4VmMzTmhaMlZPWVcxbExGeHVJQ0FnSUNBZ2RHVjRkSFZ5WlRvZ2RHVjRkSFZ5WlNBL1B5QjFibVJsWm1sdVpXUXNYRzRnSUNBZ0lDQjBhWFJzWlRvZ2MyTm9aVzFoVFdWMFlTNTBhWFJzWlN4Y2JpQWdJQ0FnSUhabGNuTnBiMjQ2SUhOamFHVnRZVTFsZEdFdWRtVnljMmx2Yml4Y2JpQWdJQ0FnSUhacGIyeGxiblJWYzNOaFoyVk9ZVzFsT2lCelkyaGxiV0ZOWlhSaExuWnBiMnhsYm5SVmMzTmhaMlZPWVcxbExGeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHRnplVzVqSUY5bGVIUnlZV04wUjB4VVJrbHRZV2RsS0dsdVpHVjRPaUJ1ZFcxaVpYSXBPaUJRY205dGFYTmxQRWhVVFV4SmJXRm5aVVZzWlcxbGJuUWdmQ0J1ZFd4c1BpQjdYRzRnSUNBZ1kyOXVjM1FnYW5OdmJpQTlJSFJvYVhNdWNHRnljMlZ5TG1wemIyNGdZWE1nUjB4VVJsTmphR1Z0WVM1SlIweFVSanRjYmx4dUlDQWdJR052Ym5OMElITnZkWEpqWlNBOUlHcHpiMjR1YVcxaFoyVnpQeTViYVc1a1pYaGRPMXh1WEc0Z0lDQWdhV1lnS0hOdmRYSmpaU0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JqYjI1emIyeGxMbmRoY200b1hHNGdJQ0FnSUNBZ0lHQldVazFOWlhSaFRHOWhaR1Z5VUd4MVoybHVPaUJCZEhSbGJYQjBJSFJ2SUhWelpTQnBiV0ZuWlhOYkpIdHBibVJsZUgxZElHOW1JR2RzVkVZZ1lYTWdZU0IwYUhWdFltNWhhV3dnWW5WMElIUm9aU0JwYldGblpTQmtiMlZ6YmlkMElHVjRhWE4wWUN4Y2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QlNaV1k2SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5dGNtUnZiMkl2ZEdoeVpXVXVhbk12WW14dllpOXlNVEkwTDJWNFlXMXdiR1Z6TDJwemJTOXNiMkZrWlhKekwwZE1WRVpNYjJGa1pYSXVhbk1qVERJME5qZGNibHh1SUNBZ0lDOHZJR0J6YjNWeVkyVXVkWEpwWUNCdGFXZG9kQ0JpWlNCaElISmxabVZ5Wlc1alpTQjBieUJoSUdacGJHVmNiaUFnSUNCc1pYUWdjMjkxY21ObFZWSkpPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1FnUFNCemIzVnlZMlV1ZFhKcE8xeHVYRzRnSUNBZ0x5OGdURzloWkNCMGFHVWdZbWx1WVhKNUlHRnpJR0VnWW14dllseHVJQ0FnSUdsbUlDaHpiM1Z5WTJVdVluVm1abVZ5Vm1sbGR5QWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCaWRXWm1aWEpXYVdWM0lEMGdZWGRoYVhRZ2RHaHBjeTV3WVhKelpYSXVaMlYwUkdWd1pXNWtaVzVqZVNnblluVm1abVZ5Vm1sbGR5Y3NJSE52ZFhKalpTNWlkV1ptWlhKV2FXVjNLVHRjYmlBZ0lDQWdJR052Ym5OMElHSnNiMklnUFNCdVpYY2dRbXh2WWloYlluVm1abVZ5Vm1sbGQxMHNJSHNnZEhsd1pUb2djMjkxY21ObExtMXBiV1ZVZVhCbElIMHBPMXh1SUNBZ0lDQWdjMjkxY21ObFZWSkpJRDBnVlZKTUxtTnlaV0YwWlU5aWFtVmpkRlZTVENoaWJHOWlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYzI5MWNtTmxWVkpKSUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGNiaUFnSUNBZ0lDQWdZRlpTVFUxbGRHRk1iMkZrWlhKUWJIVm5hVzQ2SUVGMGRHVnRjSFFnZEc4Z2RYTmxJR2x0WVdkbGMxc2tlMmx1WkdWNGZWMGdiMllnWjJ4VVJpQmhjeUJoSUhSb2RXMWlibUZwYkNCaWRYUWdkR2hsSUdsdFlXZGxJR052ZFd4a2JpZDBJR3h2WVdRZ2NISnZjR1Z5YkhsZ0xGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUd4dllXUmxjaUE5SUc1bGR5QlVTRkpGUlM1SmJXRm5aVXh2WVdSbGNpZ3BPMXh1SUNBZ0lISmxkSFZ5YmlCaGQyRnBkQ0JzYjJGa1pYSXViRzloWkVGemVXNWpLSEpsYzI5c2RtVlZVa3dvYzI5MWNtTmxWVkpKTENBb2RHaHBjeTV3WVhKelpYSWdZWE1nWVc1NUtTNXZjSFJwYjI1ekxuQmhkR2dwS1M1allYUmphQ2dvWlhKeWIzSXBJRDArSUh0Y2JpQWdJQ0FnSUdOdmJuTnZiR1V1WlhKeWIzSW9aWEp5YjNJcE8xeHVJQ0FnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLQ2RXVWsxTlpYUmhURzloWkdWeVVHeDFaMmx1T2lCR1lXbHNaV1FnZEc4Z2JHOWhaQ0JoSUhSb2RXMWlibUZwYkNCcGJXRm5aU2NwTzF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlNrN1hHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lGWlNUVVY0Y0hKbGMzTnBiMjVOWVc1aFoyVnlJSDBnWm5KdmJTQW5MaTlsZUhCeVpYTnphVzl1Y3k5V1VrMUZlSEJ5WlhOemFXOXVUV0Z1WVdkbGNpYzdYRzVwYlhCdmNuUWdleUJXVWsxR2FYSnpkRkJsY25OdmJpQjlJR1p5YjIwZ0p5NHZabWx5YzNSUVpYSnpiMjR2VmxKTlJtbHljM1JRWlhKemIyNG5PMXh1YVcxd2IzSjBJSHNnVmxKTlNIVnRZVzV2YVdRZ2ZTQm1jbTl0SUNjdUwyaDFiV0Z1YjJsa0wxWlNUVWgxYldGdWIybGtKenRjYm1sdGNHOXlkQ0I3SUZaU1RVeHZiMnRCZENCOUlHWnliMjBnSnk0dmJHOXZhMEYwTDFaU1RVeHZiMnRCZENjN1hHNXBiWEJ2Y25RZ2V5QldVazFOWlhSaElIMGdabkp2YlNBbkxpOXRaWFJoTDFaU1RVMWxkR0VuTzF4dWFXMXdiM0owSUhzZ1ZsSk5RMjl5WlZCaGNtRnRaWFJsY25NZ2ZTQm1jbTl0SUNjdUwxWlNUVU52Y21WUVlYSmhiV1YwWlhKekp6dGNibHh1THlvcVhHNGdLaUJCSUdOc1lYTnpJSFJvWVhRZ2NtVndjbVZ6Wlc1MGN5QmhJSE5wYm1kc1pTQldVazBnYlc5a1pXd3VYRzRnS2lCVWFHbHpJR05zWVhOeklHOXViSGtnYVc1amJIVmtaWE1nWTI5eVpTQnpjR1ZqSUc5bUlIUm9aU0JXVWswZ0tHQldVazFEWDNaeWJXQXBMbHh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVmxKTlEyOXlaU0I3WEc0Z0lDOHFLbHh1SUNBZ0tpQmdWRWhTUlVVdVIzSnZkWEJnSUhSb1lYUWdZMjl1ZEdGcGJuTWdkR2hsSUdWdWRHbHlaU0JXVWswdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2NtVmhaRzl1YkhrZ2MyTmxibVU2SUZSSVVrVkZMa2R5YjNWd08xeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGIyNTBZV2x1Y3lCdFpYUmhJR1pwWld4a2N5QnZaaUIwYUdVZ1ZsSk5MbHh1SUNBZ0tpQlpiM1VnYldsbmFIUWdkMkZ1ZENCMGJ5QnlaV1psY2lCMGFHVnpaU0JzYVdObGJuTmxJR1pwWld4a2N5QmlaV1p2Y21VZ2RYTmxJSGx2ZFhJZ1ZsSk5jeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0J0WlhSaE9pQldVazFOWlhSaE8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGIyNTBZV2x1Y3lCN1FHeHBibXNnVmxKTlNIVnRZVzV2YVdSOUlHOW1JSFJvWlNCV1VrMHVYRzRnSUNBcUlGbHZkU0JqWVc0Z1kyOXVkSEp2YkNCbFlXTm9JR0p2Ym1WeklIVnphVzVuSUh0QWJHbHVheUJXVWsxSWRXMWhibTlwWkM1blpYUk9iM0p0WVd4cGVtVmtRbTl1WlU1dlpHVjlJRzl5SUh0QWJHbHVheUJXVWsxSWRXMWhibTlwWkM1blpYUlNZWGRDYjI1bFRtOWtaWDB1WEc0Z0lDQXFYRzRnSUNBcUlFQlVUMFJQSUVGa1pDQmhJR3hwYm1zZ2RHOGdWbEpOSUhOd1pXTmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQm9kVzFoYm05cFpEb2dWbEpOU0hWdFlXNXZhV1E3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU52Ym5SaGFXNXpJSHRBYkdsdWF5QldVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjbjBnYjJZZ2RHaGxJRlpTVFM1Y2JpQWdJQ29nV1c5MUlHMXBaMmgwSUhkaGJuUWdkRzhnWTI5dWRISnZiQ0IwYUdWelpTQm1ZV05wWVd3Z1pYaHdjbVZ6YzJsdmJuTWdkbWxoSUh0QWJHbHVheUJXVWsxRmVIQnlaWE56YVc5dVRXRnVZV2RsY2k1elpYUldZV3gxWlgwdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2NtVmhaRzl1YkhrZ1pYaHdjbVZ6YzJsdmJrMWhibUZuWlhJL09pQldVazFGZUhCeVpYTnphVzl1VFdGdVlXZGxjanRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRMjl1ZEdGcGJuTWdlMEJzYVc1cklGWlNUVVpwY25OMFVHVnljMjl1ZlNCdlppQjBhR1VnVmxKTkxseHVJQ0FnS2lCV1VrMUdhWEp6ZEZCbGNuTnZiaUJwY3lCdGIzTjBiSGtnZFhObFpDQm1iM0lnYldWemFDQmpkV3hzYVc1bklHWnZjaUJtYVhKemRDQndaWEp6YjI0Z2RtbGxkeTVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0JtYVhKemRGQmxjbk52Ymo4NklGWlNUVVpwY25OMFVHVnljMjl1TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYjI1MFlXbHVjeUI3UUd4cGJtc2dWbEpOVEc5dmEwRjBmU0J2WmlCMGFHVWdWbEpOTGx4dUlDQWdLaUJaYjNVZ2JXbG5hSFFnZDJGdWRDQjBieUIxYzJVZ2UwQnNhVzVySUZaU1RVeHZiMnRCZEM1MFlYSm5aWFI5SUhSdklHTnZiblJ5YjJ3Z2RHaGxJR1Y1WlNCa2FYSmxZM1JwYjI0Z2IyWWdlVzkxY2lCV1VrMXpMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJR3h2YjJ0QmREODZJRlpTVFV4dmIydEJkRHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdibVYzSUZaU1RTQnBibk4wWVc1alpTNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJSEJoY21GdGN5QmJXMVpTVFZCaGNtRnRaWFJsY25OZFhTQjBhR0YwSUhKbGNISmxjMlZ1ZEhNZ1kyOXRjRzl1Wlc1MGN5QnZaaUIwYUdVZ1ZsSk5YRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvY0dGeVlXMXpPaUJXVWsxRGIzSmxVR0Z5WVcxbGRHVnljeWtnZTF4dUlDQWdJSFJvYVhNdWMyTmxibVVnUFNCd1lYSmhiWE11YzJObGJtVTdYRzRnSUNBZ2RHaHBjeTV0WlhSaElEMGdjR0Z5WVcxekxtMWxkR0U3WEc0Z0lDQWdkR2hwY3k1b2RXMWhibTlwWkNBOUlIQmhjbUZ0Y3k1b2RXMWhibTlwWkR0Y2JpQWdJQ0IwYUdsekxtVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUlEMGdjR0Z5WVcxekxtVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeU8xeHVJQ0FnSUhSb2FYTXVabWx5YzNSUVpYSnpiMjRnUFNCd1lYSmhiWE11Wm1seWMzUlFaWEp6YjI0N1hHNGdJQ0FnZEdocGN5NXNiMjlyUVhRZ1BTQndZWEpoYlhNdWJHOXZhMEYwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlDb3FXVzkxSUc1bFpXUWdkRzhnWTJGc2JDQjBhR2x6SUc5dUlIbHZkWElnZFhCa1lYUmxJR3h2YjNBdUtpcGNiaUFnSUNwY2JpQWdJQ29nVkdocGN5Qm1kVzVqZEdsdmJpQjFjR1JoZEdWeklHVjJaWEo1SUZaU1RTQmpiMjF3YjI1bGJuUnpMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnWkdWc2RHRWdaR1ZzZEdGVWFXMWxYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdkWEJrWVhSbEtHUmxiSFJoT2lCdWRXMWlaWElwT2lCMmIybGtJSHRjYmlBZ0lDQjBhR2x6TG1oMWJXRnViMmxrTG5Wd1pHRjBaU2dwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ykc5dmEwRjBLU0I3WEc0Z0lDQWdJQ0IwYUdsekxteHZiMnRCZEM1MWNHUmhkR1VvWkdWc2RHRXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtVjRjSEpsYzNOcGIyNU5ZVzVoWjJWeUtTQjdYRzRnSUNBZ0lDQjBhR2x6TG1WNGNISmxjM05wYjI1TllXNWhaMlZ5TG5Wd1pHRjBaU2dwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1SWl3aWFXMXdiM0owSUhzZ1IweFVSaXdnUjB4VVJreHZZV1JsY2xCc2RXZHBiaXdnUjB4VVJsQmhjbk5sY2lCOUlHWnliMjBnSjNSb2NtVmxMMlY0WVcxd2JHVnpMMnB6YlM5c2IyRmtaWEp6TDBkTVZFWk1iMkZrWlhJdWFuTW5PMXh1YVcxd2IzSjBJSHNnVmxKTlEyOXlaVXh2WVdSbGNsQnNkV2RwYms5d2RHbHZibk1nZlNCbWNtOXRJQ2N1TDFaU1RVTnZjbVZNYjJGa1pYSlFiSFZuYVc1UGNIUnBiMjV6Snp0Y2JtbHRjRzl5ZENCN0lGWlNUVU52Y21VZ2ZTQm1jbTl0SUNjdUwxWlNUVU52Y21Vbk8xeHVhVzF3YjNKMElIc2dWbEpOUlhod2NtVnpjMmx2Ymt4dllXUmxjbEJzZFdkcGJpQjlJR1p5YjIwZ0p5NHZaWGh3Y21WemMybHZibk12VmxKTlJYaHdjbVZ6YzJsdmJreHZZV1JsY2xCc2RXZHBiaWM3WEc1cGJYQnZjblFnZXlCV1VrMUdhWEp6ZEZCbGNuTnZia3h2WVdSbGNsQnNkV2RwYmlCOUlHWnliMjBnSnk0dlptbHljM1JRWlhKemIyNHZWbEpOUm1seWMzUlFaWEp6YjI1TWIyRmtaWEpRYkhWbmFXNG5PMXh1YVcxd2IzSjBJSHNnVmxKTlNIVnRZVzV2YVdSTWIyRmtaWEpRYkhWbmFXNGdmU0JtY205dElDY3VMMmgxYldGdWIybGtMMVpTVFVoMWJXRnViMmxrVEc5aFpHVnlVR3gxWjJsdUp6dGNibWx0Y0c5eWRDQjdJRlpTVFUxbGRHRk1iMkZrWlhKUWJIVm5hVzRnZlNCbWNtOXRJQ2N1TDIxbGRHRXZWbEpOVFdWMFlVeHZZV1JsY2xCc2RXZHBiaWM3WEc1cGJYQnZjblFnZXlCV1VrMU1iMjlyUVhSTWIyRmtaWEpRYkhWbmFXNGdmU0JtY205dElDY3VMMnh2YjJ0QmRDOVdVazFNYjI5clFYUk1iMkZrWlhKUWJIVm5hVzRuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJXVWsxSWRXMWhibTlwWkNCOUlHWnliMjBnSnk0dmFIVnRZVzV2YVdRbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCV1VrMU5aWFJoSUgwZ1puSnZiU0FuTGk5dFpYUmhKenRjYmx4dVpYaHdiM0owSUdOc1lYTnpJRlpTVFVOdmNtVk1iMkZrWlhKUWJIVm5hVzRnYVcxd2JHVnRaVzUwY3lCSFRGUkdURzloWkdWeVVHeDFaMmx1SUh0Y2JpQWdjSFZpYkdsaklHZGxkQ0J1WVcxbEtDazZJSE4wY21sdVp5QjdYRzRnSUNBZ0x5OGdWMlVnYzJodmRXeGtJSFZ6WlNCMGFHVWdaWGgwWlc1emFXOXVJRzVoYldVZ2FXNXpkR1ZoWkNCaWRYUWdkMlVnYUdGMlpTQnRkV3gwYVhCc1pTQndiSFZuYVc1eklHWnZjaUJoYmlCbGVIUmxibk5wYjI0dUxpNWNiaUFnSUNCeVpYUjFjbTRnSjFaU1RVTmZkbkp0Snp0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCd1lYSnpaWEk2SUVkTVZFWlFZWEp6WlhJN1hHNWNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJR1Y0Y0hKbGMzTnBiMjVRYkhWbmFXNDZJRlpTVFVWNGNISmxjM05wYjI1TWIyRmtaWEpRYkhWbmFXNDdYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0JtYVhKemRGQmxjbk52YmxCc2RXZHBiam9nVmxKTlJtbHljM1JRWlhKemIyNU1iMkZrWlhKUWJIVm5hVzQ3WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCb2RXMWhibTlwWkZCc2RXZHBiam9nVmxKTlNIVnRZVzV2YVdSTWIyRmtaWEpRYkhWbmFXNDdYRzRnSUhCMVlteHBZeUJ5WldGa2IyNXNlU0JzYjI5clFYUlFiSFZuYVc0NklGWlNUVXh2YjJ0QmRFeHZZV1JsY2xCc2RXZHBianRjYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUcxbGRHRlFiSFZuYVc0NklGWlNUVTFsZEdGTWIyRmtaWEpRYkhWbmFXNDdYRzVjYmlBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtIQmhjbk5sY2pvZ1IweFVSbEJoY25ObGNpd2diM0IwYVc5dWN6ODZJRlpTVFVOdmNtVk1iMkZrWlhKUWJIVm5hVzVQY0hScGIyNXpLU0I3WEc0Z0lDQWdkR2hwY3k1d1lYSnpaWElnUFNCd1lYSnpaWEk3WEc1Y2JpQWdJQ0JqYjI1emRDQm9aV3h3WlhKU2IyOTBJRDBnYjNCMGFXOXVjejh1YUdWc2NHVnlVbTl2ZER0Y2JpQWdJQ0JqYjI1emRDQmhkWFJ2VlhCa1lYUmxTSFZ0WVc1Q2IyNWxjeUE5SUc5d2RHbHZibk0vTG1GMWRHOVZjR1JoZEdWSWRXMWhia0p2Ym1Wek8xeHVYRzRnSUNBZ2RHaHBjeTVsZUhCeVpYTnphVzl1VUd4MVoybHVJRDBnYjNCMGFXOXVjejh1Wlhod2NtVnpjMmx2YmxCc2RXZHBiaUEvUHlCdVpYY2dWbEpOUlhod2NtVnpjMmx2Ymt4dllXUmxjbEJzZFdkcGJpaHdZWEp6WlhJcE8xeHVJQ0FnSUhSb2FYTXVabWx5YzNSUVpYSnpiMjVRYkhWbmFXNGdQU0J2Y0hScGIyNXpQeTVtYVhKemRGQmxjbk52YmxCc2RXZHBiaUEvUHlCdVpYY2dWbEpOUm1seWMzUlFaWEp6YjI1TWIyRmtaWEpRYkhWbmFXNG9jR0Z5YzJWeUtUdGNiaUFnSUNCMGFHbHpMbWgxYldGdWIybGtVR3gxWjJsdUlEMWNiaUFnSUNBZ0lHOXdkR2x2Ym5NL0xtaDFiV0Z1YjJsa1VHeDFaMmx1SUQ4L0lHNWxkeUJXVWsxSWRXMWhibTlwWkV4dllXUmxjbEJzZFdkcGJpaHdZWEp6WlhJc0lIc2dhR1ZzY0dWeVVtOXZkQ3dnWVhWMGIxVndaR0YwWlVoMWJXRnVRbTl1WlhNZ2ZTazdYRzRnSUNBZ2RHaHBjeTVzYjI5clFYUlFiSFZuYVc0Z1BTQnZjSFJwYjI1elB5NXNiMjlyUVhSUWJIVm5hVzRnUHo4Z2JtVjNJRlpTVFV4dmIydEJkRXh2WVdSbGNsQnNkV2RwYmlod1lYSnpaWElzSUhzZ2FHVnNjR1Z5VW05dmRDQjlLVHRjYmlBZ0lDQjBhR2x6TG0xbGRHRlFiSFZuYVc0Z1BTQnZjSFJwYjI1elB5NXRaWFJoVUd4MVoybHVJRDgvSUc1bGR5QldVazFOWlhSaFRHOWhaR1Z5VUd4MVoybHVLSEJoY25ObGNpazdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdZWE41Ym1NZ1lXWjBaWEpTYjI5MEtHZHNkR1k2SUVkTVZFWXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCaGQyRnBkQ0IwYUdsekxtMWxkR0ZRYkhWbmFXNHVZV1owWlhKU2IyOTBLR2RzZEdZcE8xeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdWFIVnRZVzV2YVdSUWJIVm5hVzR1WVdaMFpYSlNiMjkwS0dkc2RHWXBPMXh1SUNBZ0lHRjNZV2wwSUhSb2FYTXVaWGh3Y21WemMybHZibEJzZFdkcGJpNWhablJsY2xKdmIzUW9aMngwWmlrN1hHNGdJQ0FnWVhkaGFYUWdkR2hwY3k1c2IyOXJRWFJRYkhWbmFXNHVZV1owWlhKU2IyOTBLR2RzZEdZcE8xeHVJQ0FnSUdGM1lXbDBJSFJvYVhNdVptbHljM1JRWlhKemIyNVFiSFZuYVc0dVlXWjBaWEpTYjI5MEtHZHNkR1lwTzF4dVhHNGdJQ0FnWTI5dWMzUWdiV1YwWVNBOUlHZHNkR1l1ZFhObGNrUmhkR0V1ZG5KdFRXVjBZU0JoY3lCV1VrMU5aWFJoSUh3Z2JuVnNiRHRjYmlBZ0lDQmpiMjV6ZENCb2RXMWhibTlwWkNBOUlHZHNkR1l1ZFhObGNrUmhkR0V1ZG5KdFNIVnRZVzV2YVdRZ1lYTWdWbEpOU0hWdFlXNXZhV1FnZkNCdWRXeHNPMXh1WEc0Z0lDQWdMeThnYldWMFlTQmhibVFnYUhWdFlXNXZhV1FnWVhKbElISmxjWFZwY21Wa0lIUnZJR0psSUdFZ1ZsSk5MbHh1SUNBZ0lDOHZJRVJ2YmlkMElHTnlaV0YwWlNCV1VrMGdhV1lnZEdobGVTQmhjbVVnYm5Wc2JGeHVJQ0FnSUdsbUlDaHRaWFJoSUNZbUlHaDFiV0Z1YjJsa0tTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMmNtMURiM0psSUQwZ2JtVjNJRlpTVFVOdmNtVW9lMXh1SUNBZ0lDQWdJQ0J6WTJWdVpUb2daMngwWmk1elkyVnVaU3hjYmlBZ0lDQWdJQ0FnWlhod2NtVnpjMmx2YmsxaGJtRm5aWEk2SUdkc2RHWXVkWE5sY2tSaGRHRXVkbkp0Ulhod2NtVnpjMmx2YmsxaGJtRm5aWElzWEc0Z0lDQWdJQ0FnSUdacGNuTjBVR1Z5YzI5dU9pQm5iSFJtTG5WelpYSkVZWFJoTG5aeWJVWnBjbk4wVUdWeWMyOXVMRnh1SUNBZ0lDQWdJQ0JvZFcxaGJtOXBaQ3hjYmlBZ0lDQWdJQ0FnYkc5dmEwRjBPaUJuYkhSbUxuVnpaWEpFWVhSaExuWnliVXh2YjJ0QmRDeGNiaUFnSUNBZ0lDQWdiV1YwWVN4Y2JpQWdJQ0FnSUgwcE8xeHVYRzRnSUNBZ0lDQm5iSFJtTG5WelpYSkVZWFJoTG5aeWJVTnZjbVVnUFNCMmNtMURiM0psTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1SWwwc0ltNWhiV1Z6SWpwYklsQlBVMU5KUWt4RlgxTlFSVU5mVmtWU1UwbFBUbE1pTENKZmRqTkJJaXdpWDNZelFpSXNJbDl4ZFdGMFFTSXNJbDl4ZFdGMFFpSXNJbFpGUXpOZlVFOVRTVlJKVmtWZldpSXNJbDlsZFd4bGNrRWlYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3pzN1FVRkpRVHRCUVVOQk8wRkJRMkVzVFVGQlFTeGhRVUZqTEZOQlFWRXNTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkJRVHRCUVc5REwwTTdPenRCUVVkSE8wRkJRMGdzU1VGQlFTeEpRVUZYTEcxQ1FVRnRRaXhIUVVGQk8wRkJRelZDTEZGQlFVRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1lVRkJZU3hMUVVGTExFOUJRVThzUlVGQlJUdEJRVU5zUXl4WlFVRkJMRTlCUVU4c1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJRenRCUVVOMFF5eFRRVUZCTzBGQlFVMHNZVUZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhoUVVGaExFdEJRVXNzVDBGQlR5eEZRVUZGTzFsQlEzcERMRTlCUVU4c1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dEJRVU53UWl4VFFVRkJPMEZCUVUwc1lVRkJRVHRCUVVOTUxGbEJRVUVzVDBGQlR5eEhRVUZITEVOQlFVTTdRVUZEV2l4VFFVRkJPMHRCUTBZN1FVRkZSRHM3TzBGQlIwYzdRVUZEU0N4SlFVRkJMRWxCUVZjc2IwSkJRVzlDTEVkQlFVRTdRVUZETjBJc1VVRkJRU3hKUVVGSkxFbEJRVWtzUTBGQlF5eGpRVUZqTEV0QlFVc3NUMEZCVHl4RlFVRkZPMEZCUTI1RExGbEJRVUVzVDBGQlR5eEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETzBGQlEzUkRMRk5CUVVFN1FVRkJUU3hoUVVGQkxFbEJRVWtzU1VGQlNTeERRVUZETEdOQlFXTXNTMEZCU3l4UFFVRlBMRVZCUVVVN1dVRkRNVU1zVDBGQlR5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRPMEZCUTNCQ0xGTkJRVUU3UVVGQlRTeGhRVUZCTzBGQlEwd3NXVUZCUVN4UFFVRlBMRWRCUVVjc1EwRkJRenRCUVVOYUxGTkJRVUU3UzBGRFJqdEJRVVZFT3pzN1FVRkhSenRCUVVOSUxFbEJRVUVzU1VGQlZ5eHRRa0ZCYlVJc1IwRkJRVHRCUVVNMVFpeFJRVUZCTEVsQlFVa3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1MwRkJTeXhQUVVGUExFVkJRVVU3UVVGRGJFTXNXVUZCUVN4UFFVRlBMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNN1FVRkRkRU1zVTBGQlFUdEJRVUZOTEdGQlFVRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1lVRkJZU3hMUVVGTExFOUJRVThzUlVGQlJUdFpRVU42UXl4UFFVRlBMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU03UVVGRGNFSXNVMEZCUVR0QlFVRk5MR0ZCUVVFN1FVRkRUQ3haUVVGQkxFOUJRVThzUjBGQlJ5eERRVUZETzBGQlExb3NVMEZCUVR0TFFVTkdPMEZCUlVRc1NVRkJRU3hYUVVGQkxFTkJRVmtzWTBGQmMwSXNSVUZCUVR0QlFVTm9ReXhSUVVGQkxFdEJRVXNzUlVGQlJTeERRVUZETzBGQmVFVldPenRCUVVWSE8xRkJRMGtzU1VGQlRTeERRVUZCTEUxQlFVRXNSMEZCUnl4SFFVRkhMRU5CUVVNN1FVRkZjRUk3TzBGQlJVYzdVVUZEU1N4SlFVRlJMRU5CUVVFc1VVRkJRU3hIUVVGSExFdEJRVXNzUTBGQlF6dEJRVVY0UWpzN1FVRkZSenRSUVVOSkxFbEJRV0VzUTBGQlFTeGhRVUZCTEVkQlFUaENMRTFCUVUwc1EwRkJRenRCUVVWNlJEczdRVUZGUnp0UlFVTkpMRWxCUVdNc1EwRkJRU3hqUVVGQkxFZEJRVGhDTEUxQlFVMHNRMEZCUXp0QlFVVXhSRHM3UVVGRlJ6dFJRVU5KTEVsQlFXRXNRMEZCUVN4aFFVRkJMRWRCUVRoQ0xFMUJRVTBzUTBGQlF6dFJRVVZxUkN4SlFVRk5MRU5CUVVFc1RVRkJRU3hIUVVGM1FpeEZRVUZGTEVOQlFVTTdRVUZwUkhaRExGRkJRVUVzU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRnBRaXhqUVVGQkxFVkJRVUVzWTBGQll5eEZRVUZGTEVOQlFVTTdRVUZET1VNc1VVRkJRU3hKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEdOQlFXTXNRMEZCUXpzN1FVRkhja01zVVVGQlFTeEpRVUZKTEVOQlFVTXNTVUZCU1N4SFFVRkhMR1ZCUVdVc1EwRkJRenM3TzBGQlNUVkNMRkZCUVVFc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEZEVJN1FVRkZUU3hKUVVGQkxFOUJRVThzUTBGQlF5eEpRVUYxUWl4RlFVRkJPMEZCUTNCRExGRkJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03UzBGRGVFSTdRVUZGUkRzN08wRkJSMGM3UVVGRFNTeEpRVUZCTEZkQlFWY3NRMEZCUXl4UFFVOXNRaXhGUVVGQk96dEJRVU5ETEZGQlFVRXNTVUZCU1N4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzUjBGQlJ5eEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkRiRVlzV1VGQldTeEpRVUZKTEVOQlFVRXNSVUZCUVN4SFFVRkJMRTlCUVU4c1MwRkJVQ3hKUVVGQkxFbEJRVUVzVDBGQlR5eExRVUZRTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFOUJRVThzUTBGQlJTeFZRVUZWTEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNSMEZCUnl4RFFVRkRPMEZCUlRORExGRkJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhKUVVGSkxFdEJRVXNzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRE8wdEJReTlFTzBGQlJVUTdPMEZCUlVjN1NVRkRTU3hyUWtGQmEwSXNSMEZCUVR0QlFVTjJRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1NVRkJTU3hMUVVGTExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1JVRkJSU3hEUVVGRExFTkJRVU03UzBGRE1VUTdRVUZEUmpzN1FVTTVTRVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFXOUhRVHRCUVVOUExGTkJRVk1zVTBGQlV5eERRVUZETEU5QlFVOHNSVUZCUlN4VlFVRlZMRVZCUVVVc1EwRkJReXhGUVVGRkxGTkJRVk1zUlVGQlJUdEJRVU0zUkN4SlFVRkpMRk5CUVZNc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGQlJTeEZRVUZGTEU5QlFVOHNTMEZCU3l4WlFVRlpMRU5CUVVNc1IwRkJSeXhMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNWVUZCVlN4UFFVRlBMRVZCUVVVc1JVRkJSU3hQUVVGUExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSVHRCUVVOb1NDeEpRVUZKTEU5QlFVOHNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eEZRVUZGTEZWQlFWVXNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSVHRCUVVNdlJDeFJRVUZSTEZOQlFWTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSU3hGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVN1FVRkRia2NzVVVGQlVTeFRRVUZUTEZGQlFWRXNRMEZCUXl4TFFVRkxMRVZCUVVVc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSU3hGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVN1FVRkRkRWNzVVVGQlVTeFRRVUZUTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1JVRkJSU3hOUVVGTkxFTkJRVU1zU1VGQlNTeEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRMRVZCUVVVN1FVRkRkRWdzVVVGQlVTeEpRVUZKTEVOQlFVTXNRMEZCUXl4VFFVRlRMRWRCUVVjc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNWVUZCVlN4SlFVRkpMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZET1VVc1MwRkJTeXhEUVVGRExFTkJRVU03UVVGRFVEczdRVU4yU0VFc1UwRkJVeXg1UWtGQmVVSXNRMEZCUXl4SlFVRlZMRVZCUVVVc1UwRkJhVUlzUlVGQlJTeEpRVUZ2UWl4RlFVRkJPenRCUVVOd1JpeEpRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXp0QlFVVnNSRHM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0QlFXbEVSenM3U1VGSFNDeE5RVUZOTEZWQlFWVXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zUzBGQlN5eE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRE8wbEJRek5ETEVsQlFVa3NWVUZCVlN4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOMFFpeFJRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc2JVUkJRVzFFTEZOQlFWTXNRMEZCUVN4dlEwRkJRU3hEUVVGelF5eERRVUZETEVOQlFVTTdRVUZEYWtnc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEV0QlFVRTdRVUZGUkN4SlFVRkJMRTFCUVUwc1UwRkJVeXhIUVVGSExGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTTdTVUZEYkVNc1NVRkJTU3hUUVVGVExFbEJRVWtzU1VGQlNTeEZRVUZGTzBGQlEzSkNMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeExRVUZCT3p0SlFVZEVMRTFCUVUwc1ZVRkJWU3hIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRk5MRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzVTBGQlV5eERRVUZETEVOQlFVTTdTVUZETlVNc1NVRkJTU3hWUVVGVkxFbEJRVWtzU1VGQlNTeEZRVUZGTzBGQlEzUkNMRkZCUVVFc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eHZSRUZCYjBRc1UwRkJVeXhEUVVGQkxHOURRVUZCTEVOQlFYTkRMRU5CUVVNc1EwRkJRenRCUVVOc1NDeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc1MwRkJRVHRCUVVWRUxFbEJRVUVzVFVGQlRTeGpRVUZqTEVkQlFVY3NWVUZCVlN4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTkxFTkJRVU03TzBsQlIzQkVMRTFCUVUwc1ZVRkJWU3hIUVVGcFFpeEZRVUZGTEVOQlFVTTdRVUZEY0VNc1NVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNUVUZCVFN4TFFVRkpPMEZCUTNaQ0xGRkJRVUVzU1VGQlNTeFZRVUZWTEVOQlFVTXNUVUZCVFN4SFFVRkhMR05CUVdNc1JVRkJSVHRaUVVOMFF5eEpRVUZMTEUxQlFXTXNRMEZCUXl4TlFVRk5MRVZCUVVVN1FVRkRNVUlzWjBKQlFVRXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGdlFpeERRVUZETEVOQlFVTTdRVUZEZGtNc1lVRkJRVHRCUVVOR0xGTkJRVUU3UVVGRFNDeExRVUZETEVOQlFVTXNRMEZCUXp0QlFVVklMRWxCUVVFc1QwRkJUeXhWUVVGVkxFTkJRVU03UVVGRGNFSXNRMEZCUXp0QlFVVkVPenM3T3pzN096dEJRVkZITzBGQlEyMUNMRk5CUVVFc05rSkJRVFpDTEVOQlFVTXNTVUZCVlN4RlFVRkZMRk5CUVdsQ0xFVkJRVUU3TzBGQlF5OUZMRkZCUVVFc1RVRkJUU3hKUVVGSkxFZEJRVzFDTEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhoUVVGaExFTkJRVU1zVFVGQlRTeEZRVUZGTEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUTJoR0xFOUJRVThzZVVKQlFYbENMRU5CUVVNc1NVRkJTU3hGUVVGRkxGTkJRVk1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0TFFVTjZSQ3hEUVVGQkxFTkJRVUU3UVVGQlFTeERRVUZCTzBGQlJVUTdPenM3T3pzN08wRkJVVWM3UVVGRFJ5eFRRVUZuUWl3NFFrRkJPRUlzUTBGQlF5eEpRVUZWTEVWQlFVRTdPMUZCUXpkRUxFMUJRVTBzUzBGQlN5eEhRVUZ4UWl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zWlVGQlpTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUXpGRkxGRkJRVUVzVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVhkQ0xFTkJRVU03VVVGRk5VTXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEV0QlFVazdXVUZETlVJc1RVRkJUU3hOUVVGTkxFZEJRVWNzZVVKQlFYbENMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0WlFVTTFSQ3hKUVVGSkxFMUJRVTBzU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZEYkVJc1owSkJRVUVzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRGVFSXNZVUZCUVR0QlFVTklMRk5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVWdzVVVGQlFTeFBRVUZQTEVkQlFVY3NRMEZCUXp0TFFVTmFMRU5CUVVFc1EwRkJRVHRCUVVGQk96dEJRek5JUkRzN096czdPMEZCVFVjN1FVRkRZU3hUUVVGQkxEaENRVUU0UWl4RFFVRkRMRTFCUVd0Q0xFVkJRVVVzVVVGQmQwSXNSVUZCUVRzN1NVRkRla1lzVFVGQlRTeGhRVUZoTEVkQlFVY3NVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdTVUZGYmtRc1NVRkJTU3hMUVVGTExFZEJRV3RDTEVsQlFVa3NRMEZCUXp0SlFVVm9ReXhKUVVGSkxHRkJRV0VzU1VGQlNTeEhRVUZITEVWQlFVVTdRVUZEZUVJc1VVRkJRU3hMUVVGTExFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNRMEZCUVN4RlFVRkJMRWRCUVVFc1RVRkJUU3hEUVVGRExGbEJRVmtzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVVVzVTBGQlV5eE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZKTEVsQlFVa3NRMEZCUXp0QlFVTTVSQ3hMUVVGQk8wRkJRVTBzVTBGQlFUdEJRVmRNTEZGQlFVRXNUVUZCVFN4WlFVRlpMRWRCUVVjc1RVRkJUU3hEUVVGRExGbEJRWE5ETEVOQlFVTTdVVUZGYmtVc1RVRkJUU3hUUVVGVExFZEJRVWNzV1VGQldTeERRVUZETEVkQlFVY3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVVM1F5eEpRVUZKTEVOQlFVRXNVMEZCVXl4TFFVRkJMRWxCUVVFc1NVRkJWQ3hUUVVGVExFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVZRc1UwRkJVeXhEUVVGRkxFbEJRVWtzVFVGQlN5eFhRVUZYTEVWQlFVVTdRVUZEYmtNc1dVRkJRU3hMUVVGTExFZEJRVWNzVTBGQlV5eERRVUZETEV0QlFVc3NRMEZCUXp0QlFVTjZRaXhUUVVGQk8wRkJRMFlzUzBGQlFUdEJRVVZFTEVsQlFVRXNUMEZCVHl4TFFVRkxMRU5CUVVNN1FVRkRaanM3UVVOMFEwRTdRVUZGWVN4TlFVRkJMSFZDUVVGMVFpeEhRVUZITzBGQlEzSkRMRWxCUVVFc1JVRkJSU3hGUVVGRkxFbEJRVWs3UVVGRFVpeEpRVUZCTEVWQlFVVXNSVUZCUlN4SlFVRkpPMEZCUTFJc1NVRkJRU3hGUVVGRkxFVkJRVVVzU1VGQlNUdEJRVU5TTEVsQlFVRXNSVUZCUlN4RlFVRkZMRWxCUVVrN1FVRkRVaXhKUVVGQkxFVkJRVVVzUlVGQlJTeEpRVUZKTzBGQlExSXNTVUZCUVN4TFFVRkxMRVZCUVVVc1QwRkJUenRCUVVOa0xFbEJRVUVzUzBGQlN5eEZRVUZGTEU5QlFVODdRVUZEWkN4SlFVRkJMRXRCUVVzc1JVRkJSU3hQUVVGUE8wRkJRMlFzU1VGQlFTeEhRVUZITEVWQlFVVXNTMEZCU3p0QlFVTldMRWxCUVVFc1QwRkJUeXhGUVVGRkxGTkJRVk03UVVGRGJFSXNTVUZCUVN4TlFVRk5MRVZCUVVVc1VVRkJVVHRCUVVOb1FpeEpRVUZCTEZOQlFWTXNSVUZCUlN4WFFVRlhPMEZCUTNSQ0xFbEJRVUVzVVVGQlVTeEZRVUZGTEZWQlFWVTdRVUZEY0VJc1NVRkJRU3hSUVVGUkxFVkJRVVVzVlVGQlZUdEJRVU53UWl4SlFVRkJMRk5CUVZNc1JVRkJSU3hYUVVGWE8wRkJRM1JDTEVsQlFVRXNVMEZCVXl4RlFVRkZMRmRCUVZjN1FVRkRkRUlzU1VGQlFTeFZRVUZWTEVWQlFVVXNXVUZCV1R0QlFVTjRRaXhKUVVGQkxFOUJRVThzUlVGQlJTeFRRVUZUT3pzN1FVTndRbkJDT3pzN08wRkJTVWM3UVVGRFJ5eFRRVUZWTEZGQlFWRXNRMEZCUXl4TFFVRmhMRVZCUVVFN1FVRkRjRU1zU1VGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVWQlFVVXNSMEZCUnl4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRE4wTTdPMDFEU0dFc2IwSkJRVzlDTEVOQlFVRTdRVUZ4UWk5Q0xFbEJRVUVzU1VGQlZ5eFhRVUZYTEVkQlFVRTdRVUZEY0VJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1MwRkRia003UVVGTlJDeEpRVUZCTEVsQlFWY3NZVUZCWVN4SFFVRkJPMUZCUTNSQ0xFOUJRVThzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzB0QlF5OURPMEZCUlVRN08wRkJSVWM3UVVGRFNDeEpRVUZCTEVsQlFWY3NiVUpCUVcxQ0xFZEJRVUU3VVVGRE5VSXNUVUZCVFN4TlFVRk5MRWRCUVRCRUxFVkJRVVVzUTBGQlF6dEJRVVY2UlN4UlFVRkJMRTFCUVUwc1lVRkJZU3hIUVVGSExFbEJRVWtzUjBGQlJ5eERRVUZUTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlRsRkxGRkJRVUVzVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1ZVRkJWU3hEUVVGRExFdEJRVWs3UVVGRGFrVXNXVUZCUVN4SlFVRkpMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVTdRVUZETTBJc1owSkJRVUVzVFVGQlRTeERRVUZETEVsQlFTdENMRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU03UVVGRGRFUXNZVUZCUVR0QlFVTklMRk5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVWdzVVVGQlFTeFBRVUZQTEUxQlFVMHNRMEZCUXp0TFFVTm1PMEZCUlVRN08wRkJSVWM3UVVGRFNDeEpRVUZCTEVsQlFWY3NiVUpCUVcxQ0xFZEJRVUU3VVVGRE5VSXNUVUZCVFN4TlFVRk5MRWRCUVhORExFVkJRVVVzUTBGQlF6dEJRVVZ5UkN4UlFVRkJMRTFCUVUwc1lVRkJZU3hIUVVGSExFbEJRVWtzUjBGQlJ5eERRVUZUTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlRsRkxGRkJRVUVzVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1ZVRkJWU3hEUVVGRExFdEJRVWs3UVVGRGFrVXNXVUZCUVN4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlR0QlFVTTFRaXhuUWtGQlFTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1ZVRkJWU3hEUVVGRE8wRkJRek5DTEdGQlFVRTdRVUZEU0N4VFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWSUxGRkJRVUVzVDBGQlR5eE5RVUZOTEVOQlFVTTdTMEZEWmp0QlFVVkVPenRCUVVWSE8wRkJRMGdzU1VGQlFTeFhRVUZCTEVkQlFVRTdRVUZ5UlVFN08wRkJSVWM3VVVGRFNTeEpRVUZ2UWl4RFFVRkJMRzlDUVVGQkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVWQlFVVXNWMEZCVnl4RlFVRkZMRmxCUVZrc1EwRkJReXhEUVVGRE8wRkJSVzVGT3p0QlFVVkhPMUZCUTBrc1NVRkJjVUlzUTBGQlFTeHhRa0ZCUVN4SFFVRkhMRU5CUVVNc1ZVRkJWU3hGUVVGRkxGZEJRVmNzUlVGQlJTeFJRVUZSTEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN1FVRkZMMFU3TzBGQlJVYzdRVUZEU1N4UlFVRkJMRWxCUVVFc1EwRkJRU3h2UWtGQmIwSXNSMEZCUnl4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVVM1JEczdPMEZCUjBjN1VVRkRTeXhKUVVGWkxFTkJRVUVzV1VGQlFTeEhRVUZ2UWl4RlFVRkZMRU5CUVVNN1FVRkxNME03TzBGQlJVYzdVVUZEU3l4SlFVRmpMRU5CUVVFc1kwRkJRU3hIUVVGelF5eEZRVUZGTEVOQlFVTTdPMHRCTkVNNVJEdEJRVVZFT3pzN08wRkJTVWM3UVVGRFNTeEpRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRTBRaXhGUVVGQk96dFJRVVYwUXl4TlFVRk5MRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMEZCUXk5RExGRkJRVUVzVjBGQlZ5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRlZCUVZVc1MwRkJTVHRCUVVOcVF5eFpRVUZCTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0QlFVTjRReXhUUVVGRExFTkJRVU1zUTBGQlF6czdVVUZIU0N4TlFVRk5MRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZWQlFWVXNTMEZCU1R0QlFVTjZReXhaUVVGQkxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVU4wUXl4VFFVRkRMRU5CUVVNc1EwRkJRenM3VVVGSFNDeEpRVUZKTEVOQlFVTXNiMEpCUVc5Q0xFZEJRVWNzVFVGQlRTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzFGQlEycEZMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNSMEZCUnl4TlFVRk5MRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkRia1VzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhIUVVGSExFMUJRVTBzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dEJRVVZxUlN4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wdEJRMkk3UVVGRlJEczdPMEZCUjBjN1NVRkRTU3hMUVVGTExFZEJRVUU3VVVGRFZpeFBRVUZQTEVsQlFVa3NiMEpCUVc5Q0xFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1MwRkRPVU03UVVGRlJEczdPenM3UVVGTFJ6dEJRVU5KTEVsQlFVRXNZVUZCWVN4RFFVRkRMRWxCUVhORExFVkJRVUU3TzFGQlEzcEVMRTlCUVU4c1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU03UzBGRE1VTTdRVUZGUkRzN096dEJRVWxITzBGQlEwa3NTVUZCUVN4clFrRkJhMElzUTBGQlF5eFZRVUY1UWl4RlFVRkJPMEZCUTJwRUxGRkJRVUVzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRGJrTXNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhWUVVGVkxFTkJRVU1zWTBGQll5eERRVUZETEVkQlFVY3NWVUZCVlN4RFFVRkRPMHRCUXpkRU8wRkJSVVE3T3pzN1FVRkpSenRCUVVOSkxFbEJRVUVzYjBKQlFXOUNMRU5CUVVNc1ZVRkJlVUlzUlVGQlFUdFJRVU51UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRCUVVOd1JDeFJRVUZCTEVsQlFVa3NTMEZCU3l4TFFVRkxMRU5CUVVNc1EwRkJReXhGUVVGRk8wRkJRMmhDTEZsQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXh0UlVGQmJVVXNRMEZCUXl4RFFVRkRPMEZCUTI1R0xGTkJRVUU3VVVGRlJDeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYmtNc1QwRkJUeXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEZWQlFWVXNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRMUVVOMlJEdEJRVVZFT3pzN096dEJRVXRITzBGQlEwa3NTVUZCUVN4UlFVRlJMRU5CUVVNc1NVRkJjME1zUlVGQlFUczdVVUZEY0VRc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNMVF5eFBRVUZQTEVOQlFVRXNSVUZCUVN4SFFVRkJMRlZCUVZVc1MwRkJRU3hKUVVGQkxFbEJRVllzVlVGQlZTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGV0xGVkJRVlVzUTBGQlJTeE5RVUZOTEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4RFFVRkRPMHRCUTI1RE8wRkJSVVE3T3pzN08wRkJTMGM3U1VGRFNTeFJRVUZSTEVOQlFVTXNTVUZCYzBNc1JVRkJSU3hOUVVGakxFVkJRVUU3VVVGRGNFVXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVTTFReXhSUVVGQkxFbEJRVWtzVlVGQlZTeEZRVUZGTzBGQlEyUXNXVUZCUVN4VlFVRlZMRU5CUVVNc1RVRkJUU3hIUVVGSExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0QlFVTjBReXhUUVVGQk8wdEJRMFk3UVVGRlJEczdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0QlFYbENSenRCUVVOSkxFbEJRVUVzYzBKQlFYTkNMRU5CUVVNc1NVRkJjME1zUlVGQlFUdFJRVU5zUlN4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMEZCUXpWRExGRkJRVUVzVDBGQlR5eFZRVUZWTEVkQlFVY3NRMEZCUnl4RlFVRkJMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVk1zVDBGQlFTeERRVUZCTEVkQlFVY3NTVUZCU1N4RFFVRkRPMHRCUTNoRU8wRkJSVVE3TzBGQlJVYzdTVUZEU1N4TlFVRk5MRWRCUVVFN08wRkJSVmdzVVVGQlFTeE5RVUZOTEdsQ1FVRnBRaXhIUVVGSExFbEJRVWtzUTBGQlF5d3lRa0ZCTWtJc1JVRkJSU3hEUVVGRE96dFJRVWMzUkN4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZWQlFWVXNTMEZCU1R0WlFVTjJReXhWUVVGVkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1EwRkJRenRCUVVOc1F5eFRRVUZETEVOQlFVTXNRMEZCUXpzN1VVRkhTQ3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRlZCUVZVc1MwRkJTVHRaUVVOMlF5eEpRVUZKTEZWQlFWVXNSMEZCUnl4SFFVRkhMRU5CUVVNN1FVRkRja0lzV1VGQlFTeE5RVUZOTEVsQlFVa3NSMEZCUnl4VlFVRlZMRU5CUVVNc1kwRkJZeXhEUVVGRE8xbEJSWFpETEVsQlFVa3NTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUlVGQlJUdEJRVU5zUkN4blFrRkJRU3hWUVVGVkxFbEJRVWtzYVVKQlFXbENMRU5CUVVNc1MwRkJTeXhEUVVGRE8wRkJRM1pETEdGQlFVRTdXVUZGUkN4SlFVRkpMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVWQlFVVTdRVUZEYmtRc1owSkJRVUVzVlVGQlZTeEpRVUZKTEdsQ1FVRnBRaXhEUVVGRExFMUJRVTBzUTBGQlF6dEJRVU40UXl4aFFVRkJPMWxCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RlFVRkZPMEZCUTJ4RUxHZENRVUZCTEZWQlFWVXNTVUZCU1N4cFFrRkJhVUlzUTBGQlF5eExRVUZMTEVOQlFVTTdRVUZEZGtNc1lVRkJRVHRCUVVWRUxGbEJRVUVzVlVGQlZTeERRVUZETEZkQlFWY3NRMEZCUXl4RlFVRkZMRlZCUVZVc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRGVrTXNVMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRTanRCUVVWRU96dEJRVVZITzBsQlEwc3NNa0pCUVRKQ0xFZEJRVUU3VVVGTGFrTXNTVUZCU1N4TFFVRkxMRWRCUVVjc1IwRkJSeXhEUVVGRE8xRkJRMmhDTEVsQlFVa3NUVUZCVFN4SFFVRkhMRWRCUVVjc1EwRkJRenRSUVVOcVFpeEpRVUZKTEV0QlFVc3NSMEZCUnl4SFFVRkhMRU5CUVVNN1VVRkZhRUlzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhWUVVGVkxFdEJRVWs3UVVGRGRrTXNXVUZCUVN4TFFVRkxMRWxCUVVrc1ZVRkJWU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkRPMEZCUTNoRExGbEJRVUVzVFVGQlRTeEpRVUZKTEZWQlFWVXNRMEZCUXl4dlFrRkJiMElzUTBGQlF6dEJRVU14UXl4WlFVRkJMRXRCUVVzc1NVRkJTU3hWUVVGVkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNN1FVRkRNVU1zVTBGQlF5eERRVUZETEVOQlFVTTdVVUZGU0N4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkROMElzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFGQlF5OUNMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVVM1FpeFJRVUZCTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3hGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETzB0QlEycERPMEZCUTBZN08wRkRiRkZFTzBGQlJXRXNUVUZCUVN3NFFrRkJPRUlzUjBGQlJ6dEJRVU0xUXl4SlFVRkJMRXRCUVVzc1JVRkJSU3hQUVVGUE8wRkJRMlFzU1VGQlFTeGhRVUZoTEVWQlFVVXNaVUZCWlR0QlFVTTVRaXhKUVVGQkxGVkJRVlVzUlVGQlJTeFpRVUZaTzBGQlEzaENMRWxCUVVFc1YwRkJWeXhGUVVGRkxHRkJRV0U3UVVGRE1VSXNTVUZCUVN4UlFVRlJMRVZCUVVVc1ZVRkJWVHRCUVVOd1FpeEpRVUZCTEZsQlFWa3NSVUZCUlN4alFVRmpPMFZCUTI1Q08wRkJTMG9zVFVGQlRTdzBRa0ZCTkVJc1IwRkJhMFU3U1VGRGVrY3NUVUZCVFN4RlFVRkZMRGhDUVVFNFFpeERRVUZETEV0QlFVczdTVUZETlVNc1kwRkJZeXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMR0ZCUVdFN1NVRkROVVFzVjBGQlZ5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExGVkJRVlU3U1VGRGRFUXNVMEZCVXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEZGQlFWRTdTVUZEYkVRc1lVRkJZU3hGUVVGRkxEaENRVUU0UWl4RFFVRkRMRmxCUVZrN1EwRkRNMFE3TzBGRGFFSkVMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRPMEZCUldwRE96dEJRVVZITzAxQlExVXNPRUpCUVRoQ0xFTkJRVUU3UVVGcFJIcERMRWxCUVVFc1YwRkJRU3hEUVVGdFFpeEZRVU5xUWl4UlFVRlJMRVZCUTFJc1NVRkJTU3hGUVVOS0xGZEJRVmNzUjBGblFsb3NSVUZCUVRzN1FVRkRReXhSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NVVUZCVVN4RFFVRkRPMEZCUTNwQ0xGRkJRVUVzU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkRha0lzVVVGQlFTeEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRmRCUVZjc1EwRkJRenM3UVVGSEwwSXNVVUZCUVN4TlFVRk5MR1ZCUVdVc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRGhDUVVFNFFpeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVU0zUml4RFFVRkRMRU5CUVVNc1lVRkJZU3hEUVVGRExFdEJRVWs3UVVGRGJFSXNXVUZCUVN4UFFVRlJMRkZCUVdkQ0xFTkJRVU1zWVVGQllTeERRVUZETEV0QlFVc3NTVUZCU1N4RFFVRkRPMEZCUTI1RUxGTkJRVU1zUTBGRFJpeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMUFzVVVGQlFTeE5RVUZOTEZsQlFWa3NSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hsUVVGbExFdEJRV1lzU1VGQlFTeEpRVUZCTEdWQlFXVXNTMEZCWml4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeGxRVUZsTEVOQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVrc1NVRkJTU3hEUVVGRE8xRkJSWEpFTEVsQlFVa3NXVUZCV1N4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVONFFpeFpRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUTFZc1EwRkJRU3h0UkVGQlFTeEZRVU5GTEUxQlFVRXNVVUZCVVN4RFFVRkRMRWxCUVVrc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJTU3hYUVVOdVFpeERRVUZCTEZkQlFVRXNSVUZCWXl4SlFVRkpMRU5CUVVFc0swTkJRVUVzUTBGQmFVUXNRMEZEY0VVc1EwRkJRenRCUVVWR0xGbEJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkRjRUlzVTBGQlFUdEJRVUZOTEdGQlFVRTdRVUZEVEN4WlFVRkJMRTFCUVUwc1RVRkJUU3hIUVVGSkxGRkJRV2RDTEVOQlFVTXNXVUZCV1N4RFFVRm5RaXhEUVVGRE8wRkJSVGxFTEZsQlFVRXNUVUZCVFN4WlFVRlpMRWRCUVVjc1RVRkJUU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZET3p0QlFVZHdReXhaUVVGQkxFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkRhRU1zVjBGQlZ5eERRVUZETEVOQlFVTXNSMEZCUnl4WlFVRlpMRU5CUVVNc1EwRkJReXhGUVVNNVFpeFhRVUZYTEVOQlFVTXNRMEZCUXl4SFFVRkhMRmxCUVZrc1EwRkJReXhEUVVGRExFVkJRemxDTEZkQlFWY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGREwwSXNRMEZCUXp0WlFVVkdMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWM3WjBKQlExb3NXVUZCV1R0blFrRkRXaXhaUVVGWk8yZENRVU5hTEZWQlFWVTdZVUZEV0N4RFFVRkRPMEZCUTBnc1UwRkJRVHRMUVVOR08wRkJSVTBzU1VGQlFTeFhRVUZYTEVOQlFVTXNUVUZCWXl4RlFVRkJPMEZCUXk5Q0xGRkJRVUVzU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SlFVRkpMRWxCUVVrc1JVRkJSVHM3V1VGRmRrSXNUMEZCVHp0QlFVTlNMRk5CUVVFN1VVRkZSQ3hOUVVGTkxFVkJRVVVzV1VGQldTeEZRVUZGTEZWQlFWVXNSVUZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRmFrUXNUVUZCVFN4TlFVRk5MRWRCUVVrc1NVRkJTU3hEUVVGRExGRkJRV2RDTEVOQlFVTXNXVUZCV1N4RFFVRm5RaXhEUVVGRE8xRkJRMjVGTEVsQlFVa3NUVUZCVFN4TFFVRkxMRk5CUVZNc1JVRkJSVHRaUVVONFFpeFBRVUZQTzBGQlExSXNVMEZCUVR0QlFVVkVMRkZCUVVFc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExHTkJRV01zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUlRORUxFbEJRVWtzVDBGQlVTeEpRVUZKTEVOQlFVTXNVVUZCWjBJc1EwRkJReXh0UWtGQmJVSXNTMEZCU3l4VFFVRlRMRVZCUVVVN1FVRkRiRVVzV1VGQlFTeEpRVUZKTEVOQlFVTXNVVUZCWjBJc1EwRkJReXh0UWtGQmJVSXNSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkRia1FzVTBGQlFUdExRVU5HTzBsQlJVMHNhMEpCUVd0Q0xFZEJRVUU3UVVGRGRrSXNVVUZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFbEJRVWtzU1VGQlNTeEZRVUZGT3p0WlFVVjJRaXhQUVVGUE8wRkJRMUlzVTBGQlFUdFJRVVZFTEUxQlFVMHNSVUZCUlN4WlFVRlpMRVZCUVVVc1dVRkJXU3hGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXp0UlFVVnVSQ3hOUVVGTkxFMUJRVTBzUjBGQlNTeEpRVUZKTEVOQlFVTXNVVUZCWjBJc1EwRkJReXhaUVVGWkxFTkJRV2RDTEVOQlFVTTdVVUZEYmtVc1NVRkJTU3hOUVVGTkxFdEJRVXNzVTBGQlV5eEZRVUZGTzFsQlEzaENMRTlCUVU4N1FVRkRVaXhUUVVGQk8wRkJSVVFzVVVGQlFTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRE8xRkJSVEZDTEVsQlFVa3NUMEZCVVN4SlFVRkpMRU5CUVVNc1VVRkJaMElzUTBGQlF5eHRRa0ZCYlVJc1MwRkJTeXhUUVVGVExFVkJRVVU3UVVGRGJFVXNXVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJaMElzUTBGQlF5eHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRGJrUXNVMEZCUVR0TFFVTkdPenRCUVd4S1JEczdRVUZGUnp0QlFVTlpMRGhDUVVGQkxFTkJRVUVzYlVKQlFXMUNMRWRCUlRsQ08wRkJRMFlzU1VGQlFTeHpRa0ZCYzBJc1JVRkJSVHRCUVVOMFFpeFJRVUZCTEV0QlFVc3NSVUZCUlN4UFFVRlBPMEZCUTJRc1VVRkJRU3hoUVVGaExFVkJRVVVzVlVGQlZUdEJRVU14UWl4TFFVRkJPMEZCUTBRc1NVRkJRU3h0UWtGQmJVSXNSVUZCUlR0QlFVTnVRaXhSUVVGQkxFdEJRVXNzUlVGQlJTeFBRVUZQTzBGQlEyWXNTMEZCUVR0QlFVTkVMRWxCUVVFc1pVRkJaU3hGUVVGRk8wRkJRMllzVVVGQlFTeExRVUZMTEVWQlFVVXNUMEZCVHp0QlFVTmtMRkZCUVVFc1lVRkJZU3hGUVVGRkxGVkJRVlU3UVVGRGVrSXNVVUZCUVN4WlFVRlpMRVZCUVVVc2IwSkJRVzlDTzBGQlEyeERMRkZCUVVFc1YwRkJWeXhGUVVGRkxHTkJRV003UVVGRE0wSXNVVUZCUVN4UlFVRlJMRVZCUVVVc01FSkJRVEJDTzBGQlEzQkRMRkZCUVVFc1ZVRkJWU3hGUVVGRkxHdENRVUZyUWp0QlFVTXZRaXhMUVVGQk8wTkJRMFk3TzBGRE5VSklPenRCUVVWSE8wMUJRMVVzTkVKQlFUUkNMRU5CUVVFN1FVRm5RblpETEVsQlFVRXNWMEZCUVN4RFFVRnRRaXhGUVVOcVFpeFZRVUZWTEVWQlExWXNTMEZCU3l4RlFVTk1MRTFCUVUwc1IwRm5RbEFzUlVGQlFUdEJRVU5ETEZGQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhWUVVGVkxFTkJRVU03UVVGRE4wSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dEJRVU51UWl4UlFVRkJMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETzB0QlEzUkNPMEZCUlUwc1NVRkJRU3hYUVVGWExFTkJRVU1zVFVGQll5eEZRVUZCTzFGQlF5OUNMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNTVUZCU1N4TFFVRkpPenRCUVVNdlFpeFpRVUZCTEVsQlFVa3NRMEZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOd1JDeG5Ra0ZCUVN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVY3NUVUZCVFN4RFFVRkRPMEZCUTJoRkxHRkJRVUU3UVVGRFNDeFRRVUZETEVOQlFVTXNRMEZCUXp0TFFVTktPMGxCUlUwc2EwSkJRV3RDTEVkQlFVRTdVVUZEZGtJc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4SlFVRkpMRXRCUVVrN08wRkJReTlDTEZsQlFVRXNTVUZCU1N4RFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVrc1NVRkJTU3hGUVVGRk8yZENRVU53UkN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF6dEJRVU01UXl4aFFVRkJPMEZCUTBnc1UwRkJReXhEUVVGRExFTkJRVU03UzBGRFNqdEJRVU5HT3p0QlF6TkVSQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVWb1F6czdRVUZGUnp0TlFVTlZMR2xEUVVGcFF5eERRVUZCTzBGQmEwUTFReXhKUVVGQkxGZEJRVUVzUTBGQmJVSXNSVUZEYWtJc1VVRkJVU3hGUVVOU0xFdEJRVXNzUlVGRFRDeE5RVUZOTEVkQlowSlFMRVZCUVVFN08wRkJRME1zVVVGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRkZCUVZFc1EwRkJRenRCUVVONlFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wRkJRMjVDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03UVVGRmNrSXNVVUZCUVN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMR2xEUVVGcFF5eERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVU0xUml4RFFVRkRMRU5CUVVNc1lVRkJZU3hEUVVGRExFdEJRVWs3UVVGRGJFSXNXVUZCUVN4UFFVRlJMRkZCUVdkQ0xFTkJRVU1zWVVGQllTeERRVUZETEV0QlFVc3NTVUZCU1N4RFFVRkRPMEZCUTI1RUxGTkJRVU1zUTBGRFJpeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJSVkFzU1VGQlNTeGhRVUZoTEVsQlFVa3NTVUZCU1N4RlFVRkZPMEZCUTNwQ0xGbEJRVUVzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZEVml4RFFVRkJMSE5FUVVGQkxFVkJRMFVzUTBGQlFTeEZRVUZCTEVkQlFVRXNVVUZCVVN4RFFVRkRMRWxCUVVrc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hYUVVOdVFpeERRVUZ4UXl4dFEwRkJRU3hEUVVGQkxFTkJRM1JETEVOQlFVTTdRVUZGUml4WlFVRkJMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzUlVGQlJTeERRVUZETzBGQlEzWkNMRk5CUVVFN1FVRkJUU3hoUVVGQk8wRkJRMHdzV1VGQlFTeEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRVZCUVVVc1EwRkJRenRCUVVWMFFpeFpRVUZCTEdGQlFXRXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhaUVVGWkxFdEJRVWs3TzJkQ1FVTnlReXhOUVVGTkxFOUJRVThzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUlN4UlFVRm5RaXhEUVVGRExGbEJRVmtzUTBGQkswSXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSU3hMUVVGTExFVkJRVVVzUTBGQlF6dG5Ra0ZEZUVZc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJUdEJRVU5hTEc5Q1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzYVVKQlFVRTdRVUZGUVN4blFrRkJRU3hSUVVGblFpeERRVUZETEZsQlFWa3NRMEZCUXl4SFFVRkhMRTlCUVU4c1EwRkJRenRuUWtGRk1VTXNUVUZCVFN4aFFVRmhMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXp0blFrRkROME1zVFVGQlRTeFpRVUZaTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF6dG5Ra0ZETlVNc1RVRkJUU3hYUVVGWExFZEJRVWNzVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhoUVVGaExFTkJRVU1zUTBGQlF6dG5Ra0ZEZEVRc1RVRkJUU3hWUVVGVkxFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dEJRVVZ1UkN4blFrRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXp0QlFVTndRaXh2UWtGQlFTeEpRVUZKTEVWQlFVVXNXVUZCV1R0dlFrRkRiRUlzWVVGQllUdHZRa0ZEWWl4WFFVRlhPMjlDUVVOWUxGbEJRVms3YjBKQlExb3NWVUZCVlR0QlFVTllMR2xDUVVGQkxFTkJRVU1zUTBGQlF6dEJRVU5NTEdGQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTBvc1UwRkJRVHRMUVVOR08wRkJSVTBzU1VGQlFTeFhRVUZYTEVOQlFVTXNUVUZCWXl4RlFVRkJPMUZCUXk5Q0xFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1VVRkJVU3hMUVVGSk8xbEJRM0JETEUxQlFVMHNUVUZCVFN4SFFVRkpMRWxCUVVrc1EwRkJReXhSUVVGblFpeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVd0Q0xFTkJRVU03V1VGRGRFVXNTVUZCU1N4TlFVRk5MRXRCUVVzc1UwRkJVeXhGUVVGRk8yZENRVU40UWl4UFFVRlBPMEZCUTFJc1lVRkJRVHRCUVVWRUxGbEJRVUVzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1kwRkJZeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZWtVc1dVRkJRU3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4alFVRmpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVY0UlN4WlFVRkJMRTFCUVUwc1EwRkJReXhYUVVGWExFZEJRVWNzU1VGQlNTeERRVUZETzBGQlF6VkNMRk5CUVVNc1EwRkJReXhEUVVGRE8wdEJRMG83U1VGRlRTeHJRa0ZCYTBJc1IwRkJRVHRSUVVOMlFpeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGRkJRVkVzUzBGQlNUdFpRVU53UXl4TlFVRk5MRTFCUVUwc1IwRkJTU3hKUVVGSkxFTkJRVU1zVVVGQlowSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGclFpeERRVUZETzFsQlEzUkZMRWxCUVVrc1RVRkJUU3hMUVVGTExGTkJRVk1zUlVGQlJUdG5Ra0ZEZUVJc1QwRkJUenRCUVVOU0xHRkJRVUU3V1VGRlJDeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zWVVGQllTeERRVUZETEVOQlFVTTdXVUZETTBNc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRE8wRkJSVEZETEZsQlFVRXNUVUZCVFN4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRE5VSXNVMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRTanM3UVVFMVNXTXNhVU5CUVVFc1EwRkJRU3hwUWtGQmFVSXNSMEZCTUVNN1FVRkRlRVVzU1VGQlFTeHpRa0ZCYzBJc1JVRkJSVHRSUVVOMFFpeExRVUZMTzFGQlEwd3NZVUZCWVR0UlFVTmlMRk5CUVZNN1VVRkRWQ3hYUVVGWE8xRkJRMWdzYVVKQlFXbENPMUZCUTJwQ0xHTkJRV003VVVGRFpDeGpRVUZqTzFGQlEyUXNWVUZCVlR0QlFVTllMRXRCUVVFN1FVRkRSQ3hKUVVGQkxHMUNRVUZ0UWl4RlFVRkZMRU5CUVVNc1MwRkJTeXhGUVVGRkxHRkJRV0VzUlVGQlJTeFZRVUZWTEVOQlFVTTdRVUZEZGtRc1NVRkJRU3hsUVVGbExFVkJRVVU3VVVGRFppeExRVUZMTzFGQlEwd3NWMEZCVnp0UlFVTllMR0ZCUVdFN1VVRkRZaXh6UWtGQmMwSTdVVUZEZEVJc2IwSkJRVzlDTzFGQlEzQkNMRFpDUVVFMlFqdFJRVU0zUWl4M1FrRkJkMEk3UVVGRGVrSXNTMEZCUVR0RFFVTkdPenRCUTJaSU96dEJRVVZITzBGQlEwZ3NUVUZCVFVFc2QwSkJRWE5DTEVkQlFVY3NTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVVTFSRHM3UVVGRlJ6dE5RVU5WTEhsQ1FVRjVRaXhEUVVGQk8wRkJlVUp3UXl4SlFVRkJMRWxCUVZjc1NVRkJTU3hIUVVGQk96dEJRVVZpTEZGQlFVRXNUMEZCVHl3eVFrRkJNa0lzUTBGQlF6dExRVU53UXp0QlFVVkVMRWxCUVVFc1YwRkJRU3hEUVVGdFFpeE5RVUZyUWl4RlFVRkJPMEZCUTI1RExGRkJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1MwRkRkRUk3UVVGRldTeEpRVUZCTEZOQlFWTXNRMEZCUXl4SlFVRlZMRVZCUVVFN08wRkJReTlDTEZsQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXh2UWtGQmIwSXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVMEZETDBRc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGQlFUdEJRVVZFT3pzN08wRkJTVWM3UVVGRFZ5eEpRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRlZMRVZCUVVFN08xbEJRemxDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVTTFReXhaUVVGQkxFbEJRVWtzVVVGQlVTeEZRVUZGTzBGQlExb3NaMEpCUVVFc1QwRkJUeXhSUVVGUkxFTkJRVU03UVVGRGFrSXNZVUZCUVR0WlFVVkVMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVNMVF5eFpRVUZCTEVsQlFVa3NVVUZCVVN4RlFVRkZPMEZCUTFvc1owSkJRVUVzVDBGQlR5eFJRVUZSTEVOQlFVTTdRVUZEYWtJc1lVRkJRVHRCUVVWRUxGbEJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdVMEZEWWl4RFFVRkJMRU5CUVVFN1FVRkJRU3hMUVVGQk8wRkJSV0VzU1VGQlFTeFRRVUZUTEVOQlFVTXNTVUZCVlN4RlFVRkJPenM3UVVGRGFFTXNXVUZCUVN4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFYZENMRU5CUVVNN08wRkJSMnhFTEZsQlFVRXNUVUZCVFN4VFFVRlRMRWRCUVVjc1EwRkJRU3hEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNZMEZCWXl4TlFVRkZMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGQkxFOUJRVThzUTBGQlF5eFZRVUZWTEVOQlFVTXNUVUZCU3l4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOc1JTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVRkZPMEZCUTJRc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4aFFVRkJPMWxCUlVRc1RVRkJUU3hUUVVGVExFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJ5eFZRVUZWTEVOQlFXOURMRU5CUVVNN1dVRkRia1lzU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUlR0QlFVTmtMR2RDUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEySXNZVUZCUVR0QlFVVkVMRmxCUVVFc1RVRkJUU3hYUVVGWExFZEJRVWNzVTBGQlV5eERRVUZETEZkQlFWY3NRMEZCUXp0QlFVTXhReXhaUVVGQkxFbEJRVWtzUTBGQlEwRXNkMEpCUVhOQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEZkQlFWY3NRMEZCUXl4RlFVRkZPMEZCUXpWRExHZENRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc05FUkJRVFJFTEZkQlFWY3NRMEZCUVN4RFFVRkJMRU5CUVVjc1EwRkJReXhEUVVGRE8wRkJRM3BHTEdkQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzWVVGQlFUdEJRVVZFTEZsQlFVRXNUVUZCVFN4cFFrRkJhVUlzUjBGQlJ5eFRRVUZUTEVOQlFVTXNWMEZCVnl4RFFVRkRPMWxCUTJoRUxFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSVHRCUVVOMFFpeG5Ra0ZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxHRkJRVUU3TzBGQlIwUXNXVUZCUVN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQlV5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMSFZDUVVGMVFpeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTTVSU3haUVVGQkxFMUJRVTBzZFVKQlFYVkNMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRV3RETEVOQlFVTTdRVUZGTVVVc1dVRkJRU3hKUVVGSkxHbENRVUZwUWl4RFFVRkRMRTFCUVUwc1NVRkJTU3hKUVVGSkxFVkJRVVU3UVVGRGNFTXNaMEpCUVVFc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3huUWtGQlowSXNRMEZCUXl4TFFVRkpPMjlDUVVNMVJTeEpRVUZKTEdkQ1FVRm5RaXhKUVVGSkxFbEJRVWtzUlVGQlJUdDNRa0ZETlVJc1QwRkJUenRCUVVOU0xIRkNRVUZCTzBGQlJVUXNiMEpCUVVFc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVN1FVRkROVUlzZDBKQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXh0UkVGQmJVUXNTVUZCU1N4RFFVRkJMRzFEUVVGQkxFTkJRWEZETEVOQlFVTXNRMEZCUXp0M1FrRkRNMGNzVDBGQlR6dEJRVU5TTEhGQ1FVRkJPMEZCUlVRc2IwSkJRVUVzZFVKQlFYVkNMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUlVGQlJTeG5Ra0ZCWjBJc1EwRkJReXhEUVVGRE8wRkJRM1JFTEdsQ1FVRkRMRU5CUVVNc1EwRkJRenRCUVVOS0xHRkJRVUU3UVVGRlJDeFpRVUZCTEVsQlFVa3NhVUpCUVdsQ0xFTkJRVU1zVFVGQlRTeEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTndReXhuUWtGQlFTeE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMR2xDUVVGcFFpeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEZRVUZGTEdkQ1FVRm5RaXhEUVVGRExFdEJRVWs3UVVGRE5VVXNiMEpCUVVFc1NVRkJTU3hoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZPMEZCUXpOQ0xIZENRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUTFZc2VVVkJRWGxGTEVsQlFVa3NRMEZCUVN3d1FrRkJRU3hEUVVFMFFpeERRVU14Unl4RFFVRkRPM2RDUVVOR0xFOUJRVTg3UVVGRFVpeHhRa0ZCUVR0QlFVVkVMRzlDUVVGQkxIVkNRVUYxUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFVkJRVVVzWjBKQlFXZENMRU5CUVVNc1EwRkJRenRCUVVOMFJDeHBRa0ZCUXl4RFFVRkRMRU5CUVVNN1FVRkRTaXhoUVVGQk96dEJRVWRFTEZsQlFVRXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3h2UWtGQmIwSXNSVUZCUlN4RFFVRkRPenRaUVVjelF5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUTJZc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRlBMRU5CUVVNc1NVRkJTU3hGUVVGRkxHZENRVUZuUWl4RFFVRkRMRXRCUVVrc1UwRkJRU3hEUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEVOQlFVRXNSVUZCUVN4TFFVRkJMRU5CUVVFc1JVRkJRU3hoUVVGQk96dEJRVU51Uml4blFrRkJRU3hOUVVGTkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEdGQlFXRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVNelF5eG5Ra0ZCUVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0blFrRkZNMElzVlVGQlZTeERRVUZETEZGQlFWRXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3huUWtGQlowSXNRMEZCUXl4UlFVRlJMRTFCUVVrc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVFc1MwRkJTeXhEUVVGRE8yZENRVU42UkN4VlFVRlZMRU5CUVVNc1lVRkJZU3hIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEdkQ1FVRm5RaXhEUVVGRExHRkJRV0VzVFVGQlNTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlFTeE5RVUZOTEVOQlFVTTdaMEpCUTNCRkxGVkJRVlVzUTBGQlF5eGpRVUZqTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1owSkJRV2RDTEVOQlFVTXNZMEZCWXl4TlFVRkpMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkJMRTFCUVUwc1EwRkJRenRuUWtGRGRFVXNWVUZCVlN4RFFVRkRMR0ZCUVdFc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeG5Ra0ZCWjBJc1EwRkJReXhoUVVGaExFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzVFVGQlRTeERRVUZETzJkQ1FVVndSU3hEUVVGQkxFVkJRVUVzUjBGQlFTeG5Ra0ZCWjBJc1EwRkJReXhuUWtGQlowSXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSU3hQUVVGUExFTkJRVU1zUTBGQlR5eEpRVUZKTEV0QlFVa3NVMEZCUVN4RFFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFTkJRVUVzUlVGQlFTeExRVUZCTEVOQlFVRXNSVUZCUVN4aFFVRkJPenR2UWtGRGVFUXNTVUZCU1N4SlFVRkpMRU5CUVVNc1NVRkJTU3hMUVVGTExGTkJRVk1zU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4TFFVRkxMRk5CUVZNc1JVRkJSVHQzUWtGRGRrUXNUMEZCVHp0QlFVTlNMSEZDUVVGQk8wRkJSVVFzYjBKQlFVRXNUVUZCVFN4VlFVRlZMRWxCUVVrc1RVRkJUU3cyUWtGQk5rSXNRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZGTEVOQlFVTTdRVUZETTBVc2IwSkJRVUVzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZET3p0QlFVZHdReXh2UWtGQlFTeEpRVU5GTEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVVzc1EwRkRaaXhEUVVGRExGTkJRVk1zUzBGRFVpeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRk5CUVZNc1EwRkJReXh4UWtGQmNVSXNRMEZCUXp0QlFVTTVReXgzUWtGQlFTeG5Ra0ZCWjBJc1IwRkJSeXhUUVVGVExFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1RVRkJUU3hEUVVNMVJDeEZRVU5FTzNkQ1FVTkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRMVlzUTBGQk9FSXNNa0pCUVVFc1JVRkJRU3huUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVRaQ0xEQkNRVUZCTEVWQlFVRXNaMEpCUVdkQ0xFTkJRV2xDTEdWQlFVRXNRMEZCUVN4RFFVTnNTQ3hEUVVGRE8zZENRVU5HTEU5QlFVODdRVUZEVWl4eFFrRkJRVHRCUVVWRUxHOUNRVUZCTEZWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUTJoQ0xFbEJRVWtzTkVKQlFUUkNMRU5CUVVNN2QwSkJReTlDTEZWQlFWVTdRVUZEVml4M1FrRkJRU3hMUVVGTExFVkJRVVVzWjBKQlFXZENPMEZCUTNaQ0xIZENRVUZCTEUxQlFVMHNSVUZCUlN4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeHRRMEZCU1N4SFFVRkhPMEZCUXpOQ0xIRkNRVUZCTEVOQlFVTXNRMEZEU0N4RFFVRkRPMmxDUVVOSUxFTkJRVUVzUTBGQlF5eERRVUZETzBGQlJVZ3NaMEpCUVVFc1NVRkJTU3huUWtGQlowSXNRMEZCUXl4clFrRkJhMElzU1VGQlNTeG5Ra0ZCWjBJc1EwRkJReXh4UWtGQmNVSXNSVUZCUlRzN2IwSkJSV3BHTEUxQlFVMHNZVUZCWVN4SFFVRnhRaXhGUVVGRkxFTkJRVU03YjBKQlF6TkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNUVUZCVFN4TFFVRkpPMEZCUXpkQ0xIZENRVUZCTEUxQlFVMHNVVUZCVVN4SFFVRkpMRTFCUVdNc1EwRkJReXhSUVVGelF5eERRVUZETzBGQlEzaEZMSGRDUVVGQkxFbEJRVWtzVVVGQlVTeEZRVUZGTzBGQlExb3NORUpCUVVFc1lVRkJZU3hEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0QlFVTTVRaXg1UWtGQlFUdEJRVU5JTEhGQ1FVRkRMRU5CUVVNc1EwRkJRenR2UWtGRlNDeERRVUZCTEVWQlFVRXNSMEZCUVN4blFrRkJaMElzUTBGQlF5eHJRa0ZCYTBJc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJTeFBRVUZQTEVOQlFVTXNRMEZCVHl4SlFVRkpMRXRCUVVrc1UwRkJRU3hEUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEVOQlFVRXNSVUZCUVN4TFFVRkJMRU5CUVVFc1JVRkJRU3hoUVVGQk8zZENRVU14UkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhoUVVGaExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNVVUZCVVN4TFFVRkpPelJDUVVOc1JDeE5RVUZOTEdGQlFXRXNSMEZCUnl3NFFrRkJPRUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRelZGTERSQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExGRkJRVkVzUzBGQlN5eGhRVUZoTEVOQlFVTTdRVUZEZWtNc2VVSkJRVU1zUTBGQlF5eERRVUZETzBGQlJVZ3NkMEpCUVVFc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZGQlFWRXNTMEZCU1R0QlFVTTNRaXcwUWtGQlFTeFZRVUZWTEVOQlFVTXNUMEZCVHl4RFFVTm9RaXhKUVVGSkxEaENRVUU0UWl4RFFVRkRPMmREUVVOcVF5eFJRVUZSTzJkRFFVTlNMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNUdEJRVU5tTEdkRFFVRkJMRmRCUVZjc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF6dEJRVU16UkN3MlFrRkJRU3hEUVVGRExFTkJRMGdzUTBGQlF6dEJRVU5LTEhsQ1FVRkRMRU5CUVVNc1EwRkJRenR4UWtGRFNpeERRVUZCTEVOQlFVTXNRMEZCUXp0dlFrRkZTQ3hEUVVGQkxFVkJRVUVzUjBGQlFTeG5Ra0ZCWjBJc1EwRkJReXh4UWtGQmNVSXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSU3hQUVVGUExFTkJRVU1zUTBGQlR5eEpRVUZKTEV0QlFVa3NVMEZCUVN4RFFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFTkJRVUVzUlVGQlFTeExRVUZCTEVOQlFVRXNSVUZCUVN4aFFVRkJPM2RDUVVNM1JDeE5RVUZOTEZOQlFWTXNSMEZCUnl4aFFVRmhMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zVVVGQlVTeExRVUZKT3pSQ1FVTnNSQ3hOUVVGTkxHRkJRV0VzUjBGQlJ5dzRRa0ZCT0VJc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUXpWRkxEUkNRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1MwRkJTeXhoUVVGaExFTkJRVU03UVVGRGVrTXNlVUpCUVVNc1EwRkJReXhEUVVGRE8wRkJSVWdzZDBKQlFVRXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExGRkJRVkVzUzBGQlNUczdRVUZETjBJc05FSkJRVUVzVlVGQlZTeERRVUZETEU5QlFVOHNRMEZEYUVJc1NVRkJTU3hwUTBGQmFVTXNRMEZCUXp0blEwRkRjRU1zVVVGQlVUdEJRVU5TTEdkRFFVRkJMRTFCUVUwc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1RVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeE5RVUZKTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZCTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJRMmhGTEdkRFFVRkJMRXRCUVVzc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1RVRkJRU3hKUVVGSkxFTkJRVU1zUzBGQlN5eE5RVUZKTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZCTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJReTlFTERaQ1FVRkJMRU5CUVVNc1EwRkRTQ3hEUVVGRE8wRkJRMG9zZVVKQlFVTXNRMEZCUXl4RFFVRkRPM0ZDUVVOS0xFTkJRVUVzUTBGQlF5eERRVUZETzBGQlEwb3NhVUpCUVVFN1FVRkZSQ3huUWtGQlFTeFBRVUZQTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdZVUZEZUVNc1EwRkJRU3hEUVVGRExFTkJRMGdzUTBGQlF6dEJRVVZHTEZsQlFVRXNUMEZCVHl4UFFVRlBMRU5CUVVNN08wRkJRMmhDTEV0QlFVRTdRVUZGWVN4SlFVRkJMRk5CUVZNc1EwRkJReXhKUVVGVkxFVkJRVUU3T3p0QlFVTm9ReXhaUVVGQkxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6czdXVUZIYkVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJTeEhRVUUwUWl4RFFVRkRPMWxCUXpkRUxFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVTdRVUZEV0N4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NUVUZCVFN4RFFVRkRMR2RDUVVGblFpeERRVUZETzFsQlEycEVMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNSVUZCUlR0QlFVTnlRaXhuUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NiMEpCUVc5Q0xFVkJRVVVzUTBGQlF6dEJRVVV6UXl4WlFVRkJMRTFCUVUwc2MwSkJRWE5DTEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNN1dVRkRha1VzU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhGUVVGRk8wRkJRek5DTEdkQ1FVRkJMRTlCUVU4c1QwRkJUeXhEUVVGRE8wRkJRMmhDTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVZVc1EwRkJRenRaUVVVMVF5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUTJZc2MwSkJRWE5DTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVU4c1YwRkJWeXhMUVVGSkxGTkJRVUVzUTBGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4RFFVRkJMRVZCUVVFc1MwRkJRU3hEUVVGQkxFVkJRVUVzWVVGQlFUczdRVUZETDBNc1owSkJRVUVzVFVGQlRTeFpRVUZaTEVkQlFVY3NWMEZCVnl4RFFVRkRMRlZCUVZVc1EwRkJRenRCUVVNMVF5eG5Ra0ZCUVN4TlFVRk5MRmxCUVZrc1IwRkRhRUlzUTBGQlF5eFpRVUZaTEVsQlFVa3NTVUZCU1N4SlFVRkpMSGxDUVVGNVFpeERRVUZETEdsQ1FVRnBRaXhEUVVGRExGbEJRVmtzUTBGQlF5eExRVUZMTEVsQlFVa3NRMEZCUXp0blFrRkRPVVlzVFVGQlRTeEpRVUZKTEVkQlFVY3NXVUZCV1N4TFFVRmFMRWxCUVVFc1NVRkJRU3haUVVGWkxFdEJRVm9zUzBGQlFTeERRVUZCTEVkQlFVRXNXVUZCV1N4SFFVRkpMRmRCUVZjc1EwRkJReXhKUVVGSkxFTkJRVU03WjBKQlJUbERMRWxCUVVrc1NVRkJTU3hKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU5vUWl4dlFrRkJRU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETERKR1FVRXlSaXhEUVVGRExFTkJRVU03YjBKQlF6RkhMRTlCUVU4N1FVRkRVaXhwUWtGQlFUczdRVUZIUkN4blFrRkJRU3hKUVVGSkxHbENRVUZwUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJUdEJRVU12UWl4dlFrRkJRU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVU5XTEcxRVFVRnRSQ3haUVVGWkxFTkJRVUVzWjBSQlFVRXNRMEZCYTBRc1EwRkRiRWdzUTBGQlF6dHZRa0ZEUml4UFFVRlBPMEZCUTFJc2FVSkJRVUU3UVVGRlJDeG5Ra0ZCUVN4cFFrRkJhVUlzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1FVRkZOVUlzWjBKQlFVRXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hoUVVGaExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdRVUZETTBNc1owSkJRVUVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03WjBKQlJUTkNMRlZCUVZVc1EwRkJReXhSUVVGUkxFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNWMEZCVnl4RFFVRkRMRkZCUVZFc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hMUVVGTExFTkJRVU03T3p0blFrRkpjRVFzU1VGQlNTeFhRVUZYTEVOQlFVTXNTMEZCU3l4RlFVRkZPMjlDUVVOeVFpeFhRVUZYTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGUExFbEJRVWtzUzBGQlNTeFRRVUZCTEVOQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1EwRkJRU3hGUVVGQkxFdEJRVUVzUTBGQlFTeEZRVUZCTEdGQlFVRTdPM2RDUVVOMlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4SlFVRkpMRXRCUVVzc1UwRkJVeXhKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEV0QlFVc3NVMEZCVXl4RlFVRkZPelJDUVVOMlJDeFBRVUZQTzBGQlExSXNlVUpCUVVFN2QwSkJSVVFzVFVGQlRTeGpRVUZqTEVkQlFXRXNSVUZCUlN4RFFVRkRPM2RDUVVOd1F5eERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhOUVVGRkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZCTEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFdEJRVWs3UVVGRE9VSXNORUpCUVVFc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeExRVUZMTEVsQlFVa3NRMEZCUXl4SlFVRkpMRVZCUVVVN1FVRkRNMElzWjBOQlFVRXNZMEZCWXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU40UWl3MlFrRkJRVHRCUVVOSUxIbENRVUZETEVOQlFVTXNRMEZCUXp0QlFVVklMSGRDUVVGQkxFMUJRVTBzWjBKQlFXZENMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF6dDNRa0ZGY0VNc1RVRkJUU3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVU5tTEdOQlFXTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJUeXhUUVVGVExFdEJRVWtzVTBGQlFTeERRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRU5CUVVFc1JVRkJRU3hMUVVGQkxFTkJRVUVzUlVGQlFTeGhRVUZCT3pzMFFrRkRja01zVFVGQlRTeFZRVUZWTEVsQlFVa3NUVUZCVFN3MlFrRkJOa0lzUTBGQlF5eEpRVUZKTEVWQlFVVXNVMEZCVXl4RFFVRkRMRU5CUVVVc1EwRkJRenM3UVVGSE0wVXNORUpCUVVFc1NVRkRSU3hEUVVGRExGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlEyWXNRMEZCUXl4VFFVRlRMRXRCUTFJc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eFRRVUZUTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU03UVVGRE9VTXNaME5CUVVFc1owSkJRV2RDTEVkQlFVY3NVMEZCVXl4RFFVRkRMSEZDUVVGeFFpeERRVUZETEUxQlFVMHNRMEZETlVRc1JVRkRSRHRuUTBGRFFTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMRU5CUVRoQ0xESkNRVUZCTEVWQlFVRXNWMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJjMElzYlVKQlFVRXNSVUZCUVN4blFrRkJaMElzUTBGQmVVSXNkVUpCUVVFc1EwRkJRU3hEUVVNNVJ5eERRVUZETzJkRFFVTkdMRTlCUVU4N1FVRkRVaXcyUWtGQlFUdEJRVVZFTERSQ1FVRkJMRlZCUVZVc1EwRkJReXhQUVVGUExFTkJRMmhDTEVsQlFVa3NORUpCUVRSQ0xFTkJRVU03WjBOQlF5OUNMRlZCUVZVN1FVRkRWaXhuUTBGQlFTeExRVUZMTEVWQlFVVXNaMEpCUVdkQ08wRkJRM1pDTEdkRFFVRkJMRTFCUVUwc1JVRkJSU3hKUVVGSkxFbEJRVWtzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4RFFVRkRMRTFCUVUwc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hIUVVGSExFTkJRVU03UVVGRGNFTXNOa0pCUVVFc1EwRkJReXhEUVVOSUxFTkJRVU03ZVVKQlEwZ3NRMEZCUVN4RFFVRkRMRU5CUTBnc1EwRkJRenR4UWtGRFNDeERRVUZCTEVOQlFVTXNRMEZCUXp0QlFVTktMR2xDUVVGQk96dEJRVWRFTEdkQ1FVRkJMRTFCUVUwc1kwRkJZeXhIUVVGSExGZEJRVmNzUTBGQlF5eGpRVUZqTEVOQlFVTTdRVUZEYkVRc1owSkJRVUVzU1VGQlNTeGpRVUZqTEVsQlFVa3NZMEZCWXl4RFFVRkRMRTFCUVUwc1MwRkJTeXhEUVVGRExFVkJRVVU3UVVGRGFrUXNiMEpCUVVFc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEdGQlFXRXNTMEZCU1R0QlFVTjJReXgzUWtGQlFTeEpRVU5GTEdGQlFXRXNRMEZCUXl4WlFVRlpMRXRCUVVzc1UwRkJVenMwUWtGRGVFTXNZVUZCWVN4RFFVRkRMRmxCUVZrc1MwRkJTeXhUUVVGVE8wRkJRM2hETERSQ1FVRkJMR0ZCUVdFc1EwRkJReXhYUVVGWExFdEJRVXNzVTBGQlV5eEZRVU4yUXpzMFFrRkRRU3hQUVVGUE8wRkJRMUlzZVVKQlFVRTdRVUZGUkRzN096czdPMEZCVFVjN2QwSkJRMGdzVFVGQlRTeFRRVUZUTEVkQlFYRkNMRVZCUVVVc1EwRkJRenQzUWtGRGRrTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eE5RVUZOTEV0QlFVazdORUpCUXpkQ0xFbEJRVXNzVFVGQll5eERRVUZETEZGQlFWRXNSVUZCUlR0QlFVTTFRaXhuUTBGQlFTeE5RVUZOTEZGQlFWRXNSMEZCZFVNc1RVRkJZeXhEUVVGRExGRkJRVkVzUTBGQlF6dEJRVU0zUlN4blEwRkJRU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVN2IwTkJRek5DTEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUTFvc1IwRkJSeXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVU5vUWl4RFFVRkRMRWRCUVVjc1MwRkRSaXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEV0QlFVc3NZVUZCWVN4RFFVRkRMRmxCUVdFN2QwTkJRM1pETEVkQlFVY3NRMEZCUXl4SlFVRkpMRXRCUVVzc1lVRkJZU3hEUVVGRExGbEJRV0VzUjBGQlJ5eFpRVUZaTzNkRFFVTjZSQ3hUUVVGVExFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVOb1F5eERRVU5HTEVOQlFVTTdRVUZEU0N4cFEwRkJRVHRCUVVGTkxIRkRRVUZCTEVsQlFVa3NVVUZCVVN4RFFVRkRMRWxCUVVrc1MwRkJTeXhoUVVGaExFTkJRVU1zV1VGQldTeEpRVUZKTEZOQlFWTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVWQlFVVTdRVUZETjBZc2IwTkJRVUVzVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVNeFFpeHBRMEZCUVR0QlFVTkdMRFpDUVVGQk8wRkJRMGdzZVVKQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlVnc2QwSkJRVUVzVFVGQlRTeHZRa0ZCYjBJc1IwRkJSeXhoUVVGaExFTkJRVU1zV1VGQldTeERRVUZETzBGQlEzaEVMSGRDUVVGQkxGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4UlFVRlJMRXRCUVVrN096UkNRVVUzUWl4SlFVRkpMRzlDUVVGdlFpeExRVUZMTEdGQlFXRXNSVUZCUlR0blEwRkRNVU1zVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExHRkJRV0VzUTBGQlF5eFhRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1lVRkJZU3hEUVVGRExGZEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmREUVVNNVJpeE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zWVVGQllTeERRVUZETEZkQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hoUVVGaExFTkJRVU1zVjBGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkZMMFlzWjBOQlFVRXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhIUVVGSExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSWEJETEdkRFFVRkJMRlZCUVZVc1EwRkJReXhQUVVGUExFTkJRMmhDTEVsQlFVa3NhVU5CUVdsRExFTkJRVU03YjBOQlEzQkRMRkZCUVZFN2IwTkJRMUlzUzBGQlN6dHZRMEZEVEN4TlFVRk5PMEZCUTFBc2FVTkJRVUVzUTBGQlF5eERRVU5JTEVOQlFVTTdaME5CUlVZc1QwRkJUenRCUVVOU0xEWkNRVUZCT3p0QlFVZEVMRFJDUVVGQkxFMUJRVTBzYVVKQlFXbENMRWRCUVVjc05FSkJRVFJDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUTBGQlF6dEJRVU0zUlN3MFFrRkJRU3hKUVVGSkxHbENRVUZwUWl4RlFVRkZPMEZCUTNKQ0xHZERRVUZCTEZWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUTJoQ0xFbEJRVWtzT0VKQlFUaENMRU5CUVVNN2IwTkJRMnBETEZGQlFWRTdRVUZEVWl4dlEwRkJRU3hKUVVGSkxFVkJRVVVzYVVKQlFXbENPMEZCUTNaQ0xHOURRVUZCTEZkQlFWY3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eGhRVUZoTEVOQlFVTXNWMEZCV1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZUVVc2FVTkJRVUVzUTBGQlF5eERRVU5JTEVOQlFVTTdaME5CUlVZc1QwRkJUenRCUVVOU0xEWkNRVUZCTzBGQlJVUXNORUpCUVVFc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1IwRkJSeXh0UWtGQmJVSXNRMEZCUXl4RFFVRkRPMEZCUXpORUxIbENRVUZETEVOQlFVTXNRMEZCUXp0QlFVTk1MSEZDUVVGRExFTkJRVU1zUTBGQlF6dEJRVU5LTEdsQ1FVRkJPMEZCUlVRc1owSkJRVUVzVDBGQlR5eERRVUZETEd0Q1FVRnJRaXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzJGQlEzaERMRU5CUVVFc1EwRkJReXhEUVVOSUxFTkJRVU03UVVGRlJpeFpRVUZCTEU5QlFVOHNUMEZCVHl4RFFVRkRPenRCUVVOb1FpeExRVUZCT3p0QlFYSlpjMElzZVVKQlFVRXNRMEZCUVN4cFFrRkJhVUlzUjBGQmVVVTdRVUZETDBjc1NVRkJRU3hEUVVGRExFVkJRVVVzU1VGQlNUdEJRVU5RTEVsQlFVRXNRMEZCUXl4RlFVRkZMRWxCUVVrN1FVRkRVQ3hKUVVGQkxFTkJRVU1zUlVGQlJTeEpRVUZKTzBGQlExQXNTVUZCUVN4RFFVRkRMRVZCUVVVc1NVRkJTVHRCUVVOUUxFbEJRVUVzUTBGQlF5eEZRVUZGTEVsQlFVazdRVUZEVUN4SlFVRkJMRXRCUVVzc1JVRkJSU3hQUVVGUE8wRkJRMlFzU1VGQlFTeEhRVUZITEVWQlFVVXNUMEZCVHp0QlFVTmFMRWxCUVVFc1MwRkJTeXhGUVVGRkxFOUJRVTg3UVVGRFpDeEpRVUZCTEUxQlFVMHNSVUZCUlN4TFFVRkxPMEZCUTJJc1NVRkJRU3hIUVVGSExFVkJRVVVzVTBGQlV6dEJRVU5rTEVsQlFVRXNUVUZCVFN4RlFVRkZMRkZCUVZFN1FVRkRhRUlzU1VGQlFTeFJRVUZSTEVWQlFVVXNWVUZCVlR0QlFVTndRaXhKUVVGQkxGRkJRVkVzUlVGQlJTeFZRVUZWTzBGQlEzQkNMRWxCUVVFc1UwRkJVeXhGUVVGRkxGZEJRVmM3TzBGQlJYUkNMRWxCUVVFc1QwRkJUeXhGUVVGRkxGZEJRVmM3TzBGQlJYQkNMRWxCUVVFc1QwRkJUeXhGUVVGRkxGbEJRVms3UVVGRGNrSXNTVUZCUVN4UFFVRlBMRVZCUVVVc1UwRkJVenREUVVOdVFqczdRVU0xUTBnN1FVRkZZU3hOUVVGQkxIbENRVUY1UWl4SFFVRkhPMEZCUTNaRExFbEJRVUVzU1VGQlNTeEZRVUZGTEUxQlFVMDdRVUZEV2l4SlFVRkJMRXRCUVVzc1JVRkJSU3hQUVVGUE8wRkJRMlFzU1VGQlFTeExRVUZMTEVWQlFVVXNUMEZCVHpzN08wMURSRWdzWTBGQll5eERRVUZCTzBGQk1FSjZRanM3T3pzN1FVRkxSenRKUVVOSUxGZEJRVzFDTEVOQlFVRXNVVUZCY1VJc1JVRkJSU3hsUVVFclF5eEZRVUZCTzBGQldHcEdMRkZCUVVFc1NVRkJRU3hEUVVGQkxIRkNRVUZ4UWl4SFFVRkhMR05CUVdNc1EwRkJReXc0UWtGQk9FSXNRMEZCUXp0QlFVTjBSU3hSUVVGQkxFbEJRVUVzUTBGQlFTeHhRa0ZCY1VJc1IwRkJSeXhqUVVGakxFTkJRVU1zT0VKQlFUaENMRU5CUVVNN1VVRkZkRVVzU1VGQmEwSXNRMEZCUVN4clFrRkJRU3hIUVVGSExFdEJRVXNzUTBGQlF6dEJRVk5xUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETzBGQlEzcENMRkZCUVVFc1NVRkJTU3hEUVVGRExHVkJRV1VzUjBGQlJ5eGxRVUZsTEVOQlFVTTdTMEZEZUVNN1FVRkZSRHM3T3pzN1FVRkxSenRCUVVOSkxFbEJRVUVzU1VGQlNTeERRVUZETEUxQlFYTkNMRVZCUVVFN1FVRkRhRU1zVVVGQlFTeEpRVUZKTEVsQlFVa3NRMEZCUXl4UlFVRlJMRXRCUVVzc1RVRkJUU3hEUVVGRExGRkJRVkVzUlVGQlJUdEJRVU55UXl4WlFVRkJMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zZDBSQlFYZEVMRU5CUVVNc1EwRkJRenRCUVVNelJTeFRRVUZCTzBGQlJVUXNVVUZCUVN4SlFVRkpMRU5CUVVNc1pVRkJaU3hIUVVGSExFMUJRVTBzUTBGQlF5eGxRVUZsTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1ZVRkJWU3hOUVVGTk8wRkJRMnBGTEZsQlFVRXNUVUZCVFN4RlFVRkZMRlZCUVZVc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTzFsQlEyeERMRWxCUVVrc1JVRkJSU3hWUVVGVkxFTkJRVU1zU1VGQlNUdEJRVU4wUWl4VFFVRkJMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVW9zVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0TFFVTmlPMEZCUlVRN096dEJRVWRITzBsQlEwa3NTMEZCU3l4SFFVRkJPMEZCUTFZc1VVRkJRU3hQUVVGUExFbEJRVWtzWTBGQll5eERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRVZCUVVVc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRMUVVNelJUdEJRVVZFT3pzN096czdPenRCUVZGSE8wRkJRMGdzU1VGQlFTeEpRVUZYTEc5Q1FVRnZRaXhIUVVGQk8xRkJRemRDTEU5QlFVOHNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETzB0QlEyNURPMEZCUlVRN096czdPenM3TzBGQlVVYzdRVUZEU0N4SlFVRkJMRWxCUVZjc2IwSkJRVzlDTEVkQlFVRTdVVUZETjBJc1QwRkJUeXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNN1MwRkRia003UVVGRlJEczdPenM3T3pzN096czdRVUZYUnp0QlFVTkpMRWxCUVVFc1MwRkJTeXhEUVVGRExFVkJRMWdzYjBKQlFXOUNMRWRCUVVjc1kwRkJZeXhEUVVGRExEaENRVUU0UWl4RlFVTndSU3h2UWtGQmIwSXNSMEZCUnl4alFVRmpMRU5CUVVNc09FSkJRVGhDTEVkQlEzSkZMRWRCUVVjc1JVRkJSU3hGUVVGQk8xRkJRMG9zU1VGQlNTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVU3V1VGRE0wSXNUMEZCVHp0QlFVTlNMRk5CUVVFN1FVRkRSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1IwRkJSeXh2UWtGQmIwSXNRMEZCUXp0QlFVTnNSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1IwRkJSeXh2UWtGQmIwSXNRMEZCUXp0UlFVVnNSQ3hKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc1MwRkJTVHRaUVVOd1F5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFbEJRVWtzUzBGQlNUdEJRVU16UWl4blFrRkJRU3hKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEV0QlFVc3NhVUpCUVdsQ0xFVkJRVVU3YjBKQlEyNURMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZETzBGQlF6VkRMRzlDUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4TFFVRkxMRXRCUVVzc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTjRSU3hwUWtGQlFUdEJRVUZOTEhGQ1FVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExFbEJRVWtzUzBGQlN5eHBRa0ZCYVVJc1JVRkJSVHR2UWtGRE1VTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFTkJRVU03UVVGRE5VTXNiMEpCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEV0QlFVc3NTMEZCU3l4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzaEZMR2xDUVVGQk8wRkJRVTBzY1VKQlFVRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1NVRkJTU3hMUVVGTExFMUJRVTBzUlVGQlJUdEJRVU12UWl4dlFrRkJRU3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03UVVGRGFrTXNhVUpCUVVFN1FVRkRTQ3hoUVVGRExFTkJRVU1zUTBGQlF6dEJRVU5NTEZOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlVnc1VVRkJRU3hKUVVGSkxFTkJRVU1zYTBKQlFXdENMRWRCUVVjc1NVRkJTU3hEUVVGRE8wdEJRMmhETzBGQlJVOHNTVUZCUVN4cFFrRkJhVUlzUTBGQlF5eFRRVUZ0UWl4RlFVRkZMRWRCUVdVc1JVRkJSU3hUUVVGeFFpeEZRVUZGTEU5QlFXbENMRVZCUVVFN1VVRkRkRWNzU1VGQlNTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJRc1NVRkJTU3hIUVVGSExFbEJRVWtzU1VGQlNTeEpRVUZKTEVkQlFVY3NRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhGUVVGRk8wRkJRMnBETEZsQlFVRXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJUdEJRVU0xUXl4blFrRkJRU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM1pDTEUxQlFVMHNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUXpOQ0xFMUJRVTBzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE0wSXNaMEpCUVVFc1RVRkJUU3hIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTI1Q0xHZENRVUZCTEUxQlFVMHNTMEZCU3l4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVV6UWl4blFrRkJRU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2IwSkJRVVVzVTBGQlV6dEJRVU4yUkN4blFrRkJRU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2IwSkJRVVVzVTBGQlV6dEJRVU4yUkN4blFrRkJRU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2IwSkJRVVVzVTBGQlV6dEJRVU4yUkN4blFrRkJRU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2IwSkJRVVVzVTBGQlV6dEJRVVYyUkN4blFrRkJRU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRia0lzWjBKQlFVRXNUVUZCVFN4TFFVRkxMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6TkNMR2RDUVVGQkxFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGQlJTeFRRVUZUTzBGQlEzWkVMR2RDUVVGQkxFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGQlJTeFRRVUZUTzBGQlEzWkVMR2RDUVVGQkxFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGQlJTeFRRVUZUTzBGQlEzWkVMR2RDUVVGQkxFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGQlJTeFRRVUZUTzBGQlJYWkVMR2RDUVVGQkxFMUJRVTBzUjBGQlJ5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOdVFpeG5Ra0ZCUVN4TlFVRk5MRXRCUVVzc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETTBJc1owSkJRVUVzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVUZGTEZOQlFWTTdRVUZEZGtRc1owSkJRVUVzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVUZGTEZOQlFWTTdRVUZEZGtRc1owSkJRVUVzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVUZGTEZOQlFWTTdRVUZEZGtRc1owSkJRVUVzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVUZGTEZOQlFWTTdRVUZGZGtRc1owSkJRVUVzVTBGQlV5eERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJRM1pDTEdkQ1FVRkJMRk5CUVZNc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTjJRaXhuUWtGQlFTeFRRVUZUTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRGVFSXNZVUZCUVR0QlFVTkdMRk5CUVVFN1FVRkRSQ3hSUVVGQkxFOUJRVThzUzBGQlN5eERRVUZETzB0QlEyUTdTVUZGVHl4cFFrRkJhVUlzUTBGQlF5eEhRVUZ6UWl4RlFVRkZMR2xDUVVFeVFpeEZRVUZCTzBGQlF6TkZMRkZCUVVFc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJRM1JGTEVkQlFVY3NRMEZCUXl4SlFVRkpMRWRCUVVjc1EwRkJRU3hGUVVGSExFZEJRVWNzUTBGQlF5eEpRVUZKTEZOQlFWTXNRMEZCUXp0QlFVTm9ReXhSUVVGQkxFZEJRVWNzUTBGQlF5eGhRVUZoTEVkQlFVY3NSMEZCUnl4RFFVRkRMR0ZCUVdFc1EwRkJRenRSUVVOMFF5eEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1EwRkJRenRCUVVVelF5eFJRVUZCTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWRCUVVjc1EwRkJReXhSUVVGUkxFTkJRVU03VVVGRk9VSXNUVUZCVFN4aFFVRmhMRWRCUVVjc1VVRkJVU3hEUVVGRExGbEJRVmtzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0QlFVTjZSQ3hSUVVGQkxFMUJRVTBzYTBKQlFXdENMRWRCUVVjc1lVRkJZU3haUVVGWkxFdEJRVXNzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhGUVVGRkxFZEJRVWNzWVVGQllTeERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTjJSeXhOUVVGTkxGTkJRVk1zUjBGQlJ5eEZRVUZGTEVOQlFVTTdRVUZEY2tJc1VVRkJRU3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVU3V1VGRGNrUXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJRenRuUWtGRFlpeHJRa0ZCYTBJc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGNrSXNaMEpCUVVFc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVONlFpeG5Ra0ZCUVN4clFrRkJhMElzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUTNwQ0xHZENRVUZCTEd0Q1FVRnJRaXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZETVVJc1lVRkJRU3hEUVVGRExFTkJRVU03UVVGRFNpeFRRVUZCTzFGQlJVUXNUVUZCVFN4alFVRmpMRWRCUVVjc1VVRkJVU3hEUVVGRExGbEJRVmtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0QlFVTXpSQ3hSUVVGQkxFMUJRVTBzYlVKQlFXMUNMRWRCUVVjc1kwRkJZeXhaUVVGWkxFdEJRVXNzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhGUVVGRkxFZEJRVWNzWTBGQll5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTXhSeXhOUVVGTkxGVkJRVlVzUjBGQlJ5eEZRVUZGTEVOQlFVTTdRVUZEZEVJc1VVRkJRU3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc2JVSkJRVzFDTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVU3V1VGRGRFUXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJRenRuUWtGRFpDeHRRa0ZCYlVJc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGRFSXNaMEpCUVVFc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVNeFFpeG5Ra0ZCUVN4dFFrRkJiVUlzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUXpGQ0xHZENRVUZCTEcxQ1FVRnRRaXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZETTBJc1lVRkJRU3hEUVVGRExFTkJRVU03UVVGRFNpeFRRVUZCTzBGQlJVUXNVVUZCUVN4TlFVRk5MRXRCUVVzc1IwRkJSeXhSUVVGUkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTTdVVUZEYkVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJUdEJRVU5XTEZsQlFVRXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXd5UTBGQk1rTXNRMEZCUXl4RFFVRkRPMEZCUXpsRUxGTkJRVUU3VVVGRFJDeE5RVUZOTEZsQlFWa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVVTNReXhSUVVGQkxFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eFpRVUZaTEVWQlFVVXNWVUZCVlN4RlFVRkZMRk5CUVZNc1JVRkJSU3hwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMUZCUXpkR0xFMUJRVTBzVjBGQlZ5eEhRVUZoTEVWQlFVVXNRMEZCUXp0UlFVTnFReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1MwRkJTeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF6bENMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRiRU1zVTBGQlFUdEJRVU5FTEZGQlFVRXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6czdVVUZITDBJc1NVRkJTU3hIUVVGSExFTkJRVU1zWTBGQll5eEZRVUZGTzBGQlEzUkNMRmxCUVVFc1IwRkJSeXhEUVVGRExHTkJRV01zUjBGQlJ5eEhRVUZITEVOQlFVTXNZMEZCWXl4RFFVRkRPMEZCUTNwRExGTkJRVUU3VVVGRFJDeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1JVRkJSU3hIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEZsQlFWa3NRMEZCUXl4RlFVRkZMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZEYWtjc1VVRkJRU3hQUVVGUExFZEJRVWNzUTBGQlF6dExRVU5hTzBsQlJVOHNhME5CUVd0RExFTkJRVU1zVFVGQmMwSXNSVUZCUlN4SlFVRjFRaXhGUVVGQk8xRkJRM2hHTEUxQlFVMHNaMEpCUVdkQ0xFZEJRV0VzUlVGQlJTeERRVUZETzBGQlEzUkRMRkZCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUzBGQlNUdEJRVU14UXl4WlFVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eEpRVUZKTEVOQlFVTTdRVUZCUlN4blFrRkJRU3huUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UVVGRE9VUXNVMEZCUXl4RFFVRkRMRU5CUVVNN08wRkJSMGdzVVVGQlFTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTzFsQlF6VkNMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZETzFsQlF5OURMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZETzFsQlF5OURMRTlCUVU4N1FVRkRVaXhUUVVGQk8xRkJRMFFzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRU5CUVVNN1VVRkROVU1zVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVsQlFVa3NSVUZCUlN4blFrRkJaMElzUTBGQlF5eERRVUZETzBGQlF5OUVMRkZCUVVFc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0TFFVTnlRanRCUVVWUExFbEJRVUVzYjBKQlFXOUNMRU5CUVVNc1NVRkJiMElzUlVGQlFUdEJRVU12UXl4UlFVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExFbEJRVWtzUzBGQlN5eFBRVUZQTEVWQlFVVTdXVUZEZWtJc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTTdRVUZETlVNc1dVRkJRU3hKUVVGSkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVN1FVRkROMElzWjBKQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFdEJRVXNzUzBGQlN5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM2hGTEdGQlFVRTdRVUZCVFN4cFFrRkJRVHRCUVVOTUxHZENRVUZCTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzJkQ1FVTnFReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEhRVUZITEVOQlFVRXNWVUZCUVN4RlFVRmhMRWxCUVVrc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dG5Ra0ZEZGtNc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTTdRVUZET1VNc1owSkJRVUVzU1VGQlNTeERRVUZETEUxQlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRGVrSXNaMEpCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkU3Y1VKQlExWXNUVUZCVFN4RFFVRkRMRU5CUVVNc1MwRkJTeXhMUVVGTExFdEJRVXNzUTBGQlF5eEpRVUZKTEV0QlFVc3NZVUZCWVN4RFFVRkRPMEZCUXk5RExIRkNRVUZCTEU5QlFVOHNRMEZCUXl4RFFVRkRMRXRCUVVzc1MwRkJTVHR2UWtGRGFrSXNUVUZCVFN4WFFVRlhMRWRCUVVjc1MwRkJNRUlzUTBGQlF6dEJRVU12UXl4dlFrRkJRU3hKUVVGSkxFTkJRVU1zYTBOQlFXdERMRU5CUVVNc1RVRkJUU3hGUVVGRkxGZEJRVmNzUTBGQlF5eERRVUZETzBGQlF5OUVMR2xDUVVGRExFTkJRVU1zUTBGQlF6dEJRVU5PTEdGQlFVRTdRVUZEUml4VFFVRkJPMEZCUVUwc1lVRkJRU3hKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEV0QlFVc3NZVUZCWVN4RlFVRkZPMWxCUTNSRExFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFYbENMRU5CUVVNN1dVRkRPVU1zU1VGQlNTeERRVUZETEd0RFFVRnJReXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZQTEVWQlFVVXNWMEZCVnl4RFFVRkRMRU5CUVVNN1FVRkRjRVVzVTBGQlFUdEJRVUZOTEdGQlFVRTdRVUZEVEN4WlFVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlR0blFrRkROMElzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRU5CUVVNN1FVRkROVU1zWjBKQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFdEJRVXNzUzBGQlN5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM2hGTEdGQlFVRTdRVUZEUml4VFFVRkJPMHRCUTBZN1FVRkZUeXhKUVVGQkxHTkJRV01zUTBGQlF5eEpRVUZ2UWl4RlFVRkJPMUZCUTNwRExFbEJRVWtzU1VGQlNTeExRVUZMTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1kwRkJZeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTzBGQlEycEVMRmxCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeFRRVUZCTzBGQlFVMHNZVUZCUVN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUlVGQlJUdEJRVU4yUWl4WlFVRkJMRTlCUVU4c1MwRkJTeXhEUVVGRE8wRkJRMlFzVTBGQlFUdEJRVUZOTEdGQlFVRTdXVUZEVEN4UFFVRlBMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUTNwRExGTkJRVUU3UzBGRFJqczdRVUV2VVVRN096czdRVUZKUnp0QlFVTnZRaXhqUVVFNFFpeERRVUZCTERoQ1FVRkJMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJSVEZFT3pzN08wRkJTVWM3UVVGRGIwSXNZMEZCT0VJc1EwRkJRU3c0UWtGQlFTeEhRVUZITEVWQlFVVTdPMEZEVURWRU96dEJRVVZITzBGQlEwZ3NUVUZCVFVFc2QwSkJRWE5DTEVkQlFVY3NTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVVTFSRHM3UVVGRlJ6dE5RVU5WTERCQ1FVRXdRaXhEUVVGQk8wRkJSM0pETEVsQlFVRXNTVUZCVnl4SlFVRkpMRWRCUVVFN08wRkJSV0lzVVVGQlFTeFBRVUZQTERSQ1FVRTBRaXhEUVVGRE8wdEJRM0pETzBGQlJVUXNTVUZCUVN4WFFVRkJMRU5CUVcxQ0xFMUJRV3RDTEVWQlFVRTdRVUZEYmtNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0TFFVTjBRanRCUVVWWkxFbEJRVUVzVTBGQlV5eERRVUZETEVsQlFWVXNSVUZCUVRzN1FVRkRMMElzV1VGQlFTeE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGZEJRWE5ETEVOQlFVTTdPenRaUVVsNlJTeEpRVUZKTEZkQlFWY3NTMEZCU3l4SlFVRkpMRVZCUVVVN1owSkJRM2hDTEU5QlFVODdRVUZEVWl4aFFVRkJPMmxDUVVGTkxFbEJRVWtzVjBGQlZ5eExRVUZMTEZOQlFWTXNSVUZCUlR0QlFVTndReXhuUWtGQlFTeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVTmlMSEZIUVVGeFJ5eERRVU4wUnl4RFFVRkRPMEZCUTBnc1lVRkJRVHRCUVVWRUxGbEJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4alFVRmpMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVsQlFVa3NSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJRenRUUVVOMFJTeERRVUZCTEVOQlFVRTdRVUZCUVN4TFFVRkJPMEZCUlVRN096czdPMEZCUzBjN1NVRkZWeXhQUVVGUExFTkJRVU1zU1VGQlZTeEZRVUZGTEZGQlFUUkNMRVZCUVVFN08xbEJRelZFTEVsQlFVa3NVVUZCVVN4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOd1FpeG5Ra0ZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxHRkJRVUU3V1VGRlJDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUTNSRUxGbEJRVUVzU1VGQlNTeFJRVUZSTEVWQlFVVTdRVUZEV2l4blFrRkJRU3hQUVVGUExGRkJRVkVzUTBGQlF6dEJRVU5xUWl4aFFVRkJPMWxCUlVRc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVU4wUkN4WlFVRkJMRWxCUVVrc1VVRkJVU3hGUVVGRk8wRkJRMW9zWjBKQlFVRXNUMEZCVHl4UlFVRlJMRU5CUVVNN1FVRkRha0lzWVVGQlFUdEJRVVZFTEZsQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1UwRkRZaXhEUVVGQkxFTkJRVUU3UVVGQlFTeExRVUZCTzBsQlJXRXNVMEZCVXl4RFFVRkRMRWxCUVZVc1JVRkJSU3hSUVVGeFFpeEZRVUZCT3pzN1FVRkRka1FzV1VGQlFTeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRWGRDTEVOQlFVTTdPMEZCUjJ4RUxGbEJRVUVzVFVGQlRTeFRRVUZUTEVkQlFVY3NRMEZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zWTBGQll5eE5RVUZGTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkJMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQlN5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTzBGQlEyUXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzFsQlJVUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXhWUVVGVkxFTkJRVzlETEVOQlFVTTdXVUZEYmtZc1NVRkJTU3hEUVVGRExGTkJRVk1zUlVGQlJUdEJRVU5rTEdkQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzWVVGQlFUdEJRVVZFTEZsQlFVRXNUVUZCVFN4WFFVRlhMRWRCUVVjc1UwRkJVeXhEUVVGRExGZEJRVmNzUTBGQlF6dEJRVU14UXl4WlFVRkJMRWxCUVVrc1EwRkJRMEVzZDBKQlFYTkNMRU5CUVVNc1IwRkJSeXhEUVVGRExGZEJRVmNzUTBGQlF5eEZRVUZGTzBGQlF6VkRMR2RDUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNOa1JCUVRaRUxGZEJRVmNzUTBGQlFTeERRVUZCTEVOQlFVY3NRMEZCUXl4RFFVRkRPMEZCUXpGR0xHZENRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc1lVRkJRVHRCUVVWRUxGbEJRVUVzVFVGQlRTeHBRa0ZCYVVJc1IwRkJSeXhUUVVGVExFTkJRVU1zVjBGQlZ5eERRVUZETzFsQlEyaEVMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSVUZCUlR0QlFVTjBRaXhuUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN1dVRkZSQ3hOUVVGTkxHVkJRV1VzUjBGQmJVTXNSVUZCUlN4RFFVRkRPMEZCUXpORUxGbEJRVUVzVFVGQlRTeHBRa0ZCYVVJc1IwRkJSeXhOUVVGTkxEaENRVUU0UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRM0pGTEZsQlFVRXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRlZCUVZVc1EwRkJReXhMUVVGSk96dEJRVU14UlN4blFrRkJRU3hOUVVGTkxGVkJRVlVzUjBGQlJ5eHBRa0ZCYVVJc1EwRkJReXhsUVVGbE8wRkJRMnhFTEhOQ1FVRkZMR2xDUVVGcFFpeERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVsQlFVa3NTMEZCU3l4VFFVRlRMRU5CUVVNN2MwSkJRMjVGTEZOQlFWTXNRMEZCUXp0blFrRkZaQ3hsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETzBGQlEyNUNMRzlDUVVGQkxFMUJRVTBzUlVGQlJTeFZRVUZWTzI5Q1FVTnNRaXhKUVVGSkxFVkJRVVVzUTBGQlFTeEZRVUZCTEVkQlFVRXNWVUZCVlN4TFFVRldMRWxCUVVFc1NVRkJRU3hWUVVGVkxIVkNRVUZXTEZWQlFWVXNRMEZCUlN4SlFVRkpMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVrc1RVRkJUVHRCUVVOcVF5eHBRa0ZCUVN4RFFVRkRMRU5CUVVNN1FVRkRUQ3hoUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZJTEZsQlFVRXNUMEZCVHl4SlFVRkpMR05CUVdNc1EwRkJReXhSUVVGUkxFVkJRVVVzWlVGQlpTeERRVUZETEVOQlFVTTdPMEZCUTNSRUxFdEJRVUU3U1VGRllTeFRRVUZUTEVOQlFVTXNTVUZCVlN4RlFVRkZMRkZCUVhGQ0xFVkJRVUU3T3p0QlFVTjJSQ3haUVVGQkxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6dFpRVVZzUkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGRkxFZEJRVFJDTEVOQlFVTTdXVUZETjBRc1NVRkJTU3hEUVVGRExFMUJRVTBzUlVGQlJUdEJRVU5ZTEdkQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzWVVGQlFUdEJRVVZFTEZsQlFVRXNUVUZCVFN4cFFrRkJhVUlzUjBGQmEwTXNUVUZCVFN4RFFVRkRMRmRCUVZjc1EwRkJRenRaUVVNMVJTeEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFVkJRVVU3UVVGRGRFSXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzFsQlJVUXNUVUZCVFN4bFFVRmxMRWRCUVcxRExFVkJRVVVzUTBGQlF6dEJRVU16UkN4WlFVRkJMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NUVUZCVFN3NFFrRkJPRUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVVnlSU3haUVVGQkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeFZRVUZWTEVOQlFVTXNTMEZCU1R0blFrRkRNVVVzVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dEJRVVV4UXl4blFrRkJRU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eHBRa0ZCYVVJc1EwRkJReXhsUVVGbE8wRkJRelZETEhOQ1FVRkZMR2xDUVVGcFFpeERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVsQlFVa3NTMEZCU3l4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRE8zTkNRVU42UlN4VFFVRlRMRU5CUVVNN1owSkJSV1FzWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUXp0QlFVTnVRaXh2UWtGQlFTeE5RVUZOTEVWQlFVVXNWVUZCVlR0QlFVTnNRaXh2UWtGQlFTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZETEVsQlFVa3NTMEZCU2l4SlFVRkJMRWxCUVVFc1NVRkJTU3hMUVVGS0xFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRWxCUVVrc1EwRkJSU3hsUVVGbExFTkJRVU03UVVGRGVrUXNhVUpCUVVFc1EwRkJReXhEUVVGRE8wRkJRMHdzWVVGQlF5eERRVUZETEVOQlFVTTdRVUZGU0N4WlFVRkJMRTlCUVU4c1NVRkJTU3hqUVVGakxFTkJRVU1zVVVGQlVTeEZRVUZGTEdWQlFXVXNRMEZCUXl4RFFVRkRPenRCUVVOMFJDeExRVUZCTzBGQlJVOHNTVUZCUVN4elFrRkJjMElzUTBGQlF5eEpRVUYzUWl4RlFVRkJPMUZCUTNKRUxFbEJRVWtzU1VGQlNTeExRVUZMTEdsQ1FVRnBRaXhGUVVGRk8wRkJRemxDTEZsQlFVRXNUMEZCVHl4cFFrRkJhVUlzUTBGQlF6dEJRVU14UWl4VFFVRkJPMkZCUVUwc1NVRkJTU3hKUVVGSkxFdEJRVXNzYVVKQlFXbENMRVZCUVVVN1FVRkRja01zV1VGQlFTeFBRVUZQTEdsQ1FVRnBRaXhEUVVGRE8wRkJRekZDTEZOQlFVRTdZVUZCVFN4SlFVRkpMRWxCUVVrc1MwRkJTeXhOUVVGTkxFVkJRVVU3UVVGRE1VSXNXVUZCUVN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVObUxGTkJRVUU3UVVGQlRTeGhRVUZCTzBGQlEwd3NXVUZCUVN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVObUxGTkJRVUU3UzBGRFJqdEJRVU5HT3p0QlF6TktSRHRCUVVWaExFMUJRVUVzWjBOQlFXZERMRWRCUVVjN1FVRkRPVU1zU1VGQlFTeEpRVUZKTEVWQlFVVXNUVUZCVFR0QlFVTmFMRWxCUVVFc1NVRkJTU3hGUVVGRkxFMUJRVTA3UVVGRFdpeEpRVUZCTEdWQlFXVXNSVUZCUlN4cFFrRkJhVUk3UVVGRGJFTXNTVUZCUVN4bFFVRmxMRVZCUVVVc2FVSkJRV2xDT3pzN1FVTkdjRU1zVFVGQlRVTXNUVUZCU1N4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQlEycERMRTFCUVUxRExFMUJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOcVF5eE5RVUZOUXl4UlFVRk5MRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTTdRVUZGZWtJc1RVRkJRU3hwUWtGQmEwSXNVMEZCVVN4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGQk8wRkJTV2hFTEVsQlFVRXNWMEZCUVN4RFFVRnRRaXhSUVVGeFFpeEZRVUZCTzBGQlEzUkRMRkZCUVVFc1MwRkJTeXhGUVVGRkxFTkJRVU03UVVGRlVpeFJRVUZCTEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1VVRkJVU3hEUVVGRE8wRkJSVFZDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETzBGQlJUbENMRkZCUVVFc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zU1VGQlNTeExRVUZKTzFsQlEyeEVMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVWNlF5eFpRVUZCTEUxQlFVMHNRMEZCUXl4blFrRkJaMElzUjBGQlJ5eExRVUZMTEVOQlFVTTdRVUZGTDBJc1dVRkJRU3hOUVVGTkxFTkJRVU1zVVVGQk1rSXNRMEZCUXl4VFFVRlRMRWRCUVVjc1MwRkJTeXhEUVVGRE8wRkJRM0pFTEZsQlFVRXNUVUZCVFN4RFFVRkRMRkZCUVRKQ0xFTkJRVU1zVlVGQlZTeEhRVUZITEV0QlFVc3NRMEZCUXp0QlFVVjJSQ3haUVVGQkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkZha0lzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzBGQlEzUkRMRk5CUVVNc1EwRkJReXhEUVVGRE8wdEJRMG83U1VGRlRTeFBRVUZQTEVkQlFVRTdRVUZEV2l4UlFVRkJMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVsQlFVa3NTMEZCU1R0QlFVTjBSQ3haUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkRka0lzV1VGQlFTeEpRVUZKTEVOQlFVTXNVVUZCTWtJc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVU01UXl4VFFVRkRMRU5CUVVNc1EwRkJRenRMUVVOS08wRkJSVTBzU1VGQlFTeHBRa0ZCYVVJc1EwRkJReXhMUVVGakxFVkJRVUU3VVVGRGNrTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVrN1dVRkRMMFFzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eEpRVUZKTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1FVRkZla01zV1VGQlFTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhUUVVGVExFTkJRVU5HTEUxQlFVa3NSVUZCUlVVc1VVRkJUU3hGUVVGRlJDeE5RVUZKTEVOQlFVTXNRMEZCUXp0QlFVVndSQ3haUVVGQkxFMUJRVTBzUzBGQlN5eEhRVUZIUkN4TlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRFF5eE5RVUZKTEVOQlFVTXNRMEZCUXp0QlFVTnVSQ3haUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRM1pFTEZOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlVnc1VVRkJRU3hMUVVGTExFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UzBGRGFFTTdRVUZEUmpzN1FVTndSRVE3UVVGSlFUczdRVUZGUnp0QlFVTlZMRTFCUVVFc1owSkJRV2RDTEVkQlFYVkNPMGxCUTJ4RUxFMUJRVTA3U1VGRFRpeFBRVUZQTzBsQlExQXNUMEZCVHp0SlFVTlFMRmxCUVZrN1NVRkRXaXhOUVVGTk8wbEJSVTRzVFVGQlRUdEpRVU5PTEZOQlFWTTdTVUZEVkN4VlFVRlZPMGxCUTFZc1MwRkJTenRKUVVWTUxHTkJRV003U1VGRFpDeGpRVUZqTzBsQlEyUXNWVUZCVlR0SlFVTldMRlZCUVZVN1NVRkZWaXhsUVVGbE8wbEJRMllzWlVGQlpUdEpRVU5tTEZkQlFWYzdTVUZEV0N4WFFVRlhPMGxCUlZnc1kwRkJZenRKUVVOa0xHTkJRV003U1VGRFpDeGpRVUZqTzBsQlEyUXNWVUZCVlR0SlFVVldMR1ZCUVdVN1NVRkRaaXhsUVVGbE8wbEJRMllzWlVGQlpUdEpRVU5tTEZkQlFWYzdTVUZGV0N4eFFrRkJjVUk3U1VGRGNrSXNiVUpCUVcxQ08wbEJRMjVDTEdsQ1FVRnBRanRKUVVOcVFpeHRRa0ZCYlVJN1NVRkRia0lzZFVKQlFYVkNPMGxCUTNaQ0xHbENRVUZwUWp0SlFVTnFRaXh2UWtGQmIwSTdTVUZEY0VJc2QwSkJRWGRDTzBsQlEzaENMR3RDUVVGclFqdEpRVU5zUWl4clFrRkJhMEk3U1VGRGJFSXNjMEpCUVhOQ08wbEJRM1JDTEdkQ1FVRm5RanRKUVVOb1FpeHZRa0ZCYjBJN1NVRkRjRUlzZDBKQlFYZENPMGxCUTNoQ0xHdENRVUZyUWp0SlFVVnNRaXh6UWtGQmMwSTdTVUZEZEVJc2IwSkJRVzlDTzBsQlEzQkNMR3RDUVVGclFqdEpRVU5zUWl4dlFrRkJiMEk3U1VGRGNFSXNkMEpCUVhkQ08wbEJRM2hDTEd0Q1FVRnJRanRKUVVOc1FpeHhRa0ZCY1VJN1NVRkRja0lzZVVKQlFYbENPMGxCUTNwQ0xHMUNRVUZ0UWp0SlFVTnVRaXh0UWtGQmJVSTdTVUZEYmtJc2RVSkJRWFZDTzBsQlEzWkNMR2xDUVVGcFFqdEpRVU5xUWl4eFFrRkJjVUk3U1VGRGNrSXNlVUpCUVhsQ08wbEJRM3BDTEcxQ1FVRnRRanM3TzBGRGNrVnlRanRCUVVWQk96czdPMEZCU1VjN1FVRkRWU3hOUVVGQkxHZENRVUZuUWl4SFFVRkhPMEZCUXpsQ0xFbEJRVUVzU1VGQlNTeEZRVUZGTEUxQlFVMDdRVUZEV2l4SlFVRkJMRXRCUVVzc1JVRkJSU3hQUVVGUE8wRkJRMlFzU1VGQlFTeExRVUZMTEVWQlFVVXNUMEZCVHp0QlFVTmtMRWxCUVVFc1ZVRkJWU3hGUVVGRkxGbEJRVms3UVVGRGVFSXNTVUZCUVN4SlFVRkpMRVZCUVVVc1RVRkJUVHRCUVVWYUxFbEJRVUVzU1VGQlNTeEZRVUZGTEUxQlFVMDdRVUZEV2l4SlFVRkJMRTlCUVU4c1JVRkJSU3hUUVVGVE8wRkJRMnhDTEVsQlFVRXNVVUZCVVN4RlFVRkZMRlZCUVZVN1FVRkRjRUlzU1VGQlFTeEhRVUZITEVWQlFVVXNTMEZCU3p0QlFVVldMRWxCUVVFc1dVRkJXU3hGUVVGRkxHTkJRV003UVVGRE5VSXNTVUZCUVN4WlFVRlpMRVZCUVVVc1kwRkJZenRCUVVNMVFpeEpRVUZCTEZGQlFWRXNSVUZCUlN4VlFVRlZPMEZCUTNCQ0xFbEJRVUVzVVVGQlVTeEZRVUZGTEZWQlFWVTdRVUZGY0VJc1NVRkJRU3hoUVVGaExFVkJRVVVzWlVGQlpUdEJRVU01UWl4SlFVRkJMR0ZCUVdFc1JVRkJSU3hsUVVGbE8wRkJRemxDTEVsQlFVRXNVMEZCVXl4RlFVRkZMRmRCUVZjN1FVRkRkRUlzU1VGQlFTeFRRVUZUTEVWQlFVVXNWMEZCVnp0QlFVVjBRaXhKUVVGQkxGbEJRVmtzUlVGQlJTeGpRVUZqTzBGQlF6VkNMRWxCUVVFc1dVRkJXU3hGUVVGRkxHTkJRV003UVVGRE5VSXNTVUZCUVN4WlFVRlpMRVZCUVVVc1kwRkJZenRCUVVNMVFpeEpRVUZCTEZGQlFWRXNSVUZCUlN4VlFVRlZPMEZCUlhCQ0xFbEJRVUVzWVVGQllTeEZRVUZGTEdWQlFXVTdRVUZET1VJc1NVRkJRU3hoUVVGaExFVkJRVVVzWlVGQlpUdEJRVU01UWl4SlFVRkJMR0ZCUVdFc1JVRkJSU3hsUVVGbE8wRkJRemxDTEVsQlFVRXNVMEZCVXl4RlFVRkZMRmRCUVZjN1FVRkZkRUlzU1VGQlFTeHRRa0ZCYlVJc1JVRkJSU3h4UWtGQmNVSTdRVUZETVVNc1NVRkJRU3hwUWtGQmFVSXNSVUZCUlN4dFFrRkJiVUk3UVVGRGRFTXNTVUZCUVN4bFFVRmxMRVZCUVVVc2FVSkJRV2xDTzBGQlEyeERMRWxCUVVFc2FVSkJRV2xDTEVWQlFVVXNiVUpCUVcxQ08wRkJRM1JETEVsQlFVRXNjVUpCUVhGQ0xFVkJRVVVzZFVKQlFYVkNPMEZCUXpsRExFbEJRVUVzWlVGQlpTeEZRVUZGTEdsQ1FVRnBRanRCUVVOc1F5eEpRVUZCTEd0Q1FVRnJRaXhGUVVGRkxHOUNRVUZ2UWp0QlFVTjRReXhKUVVGQkxITkNRVUZ6UWl4RlFVRkZMSGRDUVVGM1FqdEJRVU5vUkN4SlFVRkJMR2RDUVVGblFpeEZRVUZGTEd0Q1FVRnJRanRCUVVOd1F5eEpRVUZCTEdkQ1FVRm5RaXhGUVVGRkxHdENRVUZyUWp0QlFVTndReXhKUVVGQkxHOUNRVUZ2UWl4RlFVRkZMSE5DUVVGelFqdEJRVU0xUXl4SlFVRkJMR05CUVdNc1JVRkJSU3huUWtGQlowSTdRVUZEYUVNc1NVRkJRU3hyUWtGQmEwSXNSVUZCUlN4dlFrRkJiMEk3UVVGRGVFTXNTVUZCUVN4elFrRkJjMElzUlVGQlJTeDNRa0ZCZDBJN1FVRkRhRVFzU1VGQlFTeG5Ra0ZCWjBJc1JVRkJSU3hyUWtGQmEwSTdRVUZGY0VNc1NVRkJRU3h2UWtGQmIwSXNSVUZCUlN4elFrRkJjMEk3UVVGRE5VTXNTVUZCUVN4clFrRkJhMElzUlVGQlJTeHZRa0ZCYjBJN1FVRkRlRU1zU1VGQlFTeG5Ra0ZCWjBJc1JVRkJSU3hyUWtGQmEwSTdRVUZEY0VNc1NVRkJRU3hyUWtGQmEwSXNSVUZCUlN4dlFrRkJiMEk3UVVGRGVFTXNTVUZCUVN4elFrRkJjMElzUlVGQlJTeDNRa0ZCZDBJN1FVRkRhRVFzU1VGQlFTeG5Ra0ZCWjBJc1JVRkJSU3hyUWtGQmEwSTdRVUZEY0VNc1NVRkJRU3h0UWtGQmJVSXNSVUZCUlN4eFFrRkJjVUk3UVVGRE1VTXNTVUZCUVN4MVFrRkJkVUlzUlVGQlJTeDVRa0ZCZVVJN1FVRkRiRVFzU1VGQlFTeHBRa0ZCYVVJc1JVRkJSU3h0UWtGQmJVSTdRVUZEZEVNc1NVRkJRU3hwUWtGQmFVSXNSVUZCUlN4dFFrRkJiVUk3UVVGRGRFTXNTVUZCUVN4eFFrRkJjVUlzUlVGQlJTeDFRa0ZCZFVJN1FVRkRPVU1zU1VGQlFTeGxRVUZsTEVWQlFVVXNhVUpCUVdsQ08wRkJRMnhETEVsQlFVRXNiVUpCUVcxQ0xFVkJRVVVzY1VKQlFYRkNPMEZCUXpGRExFbEJRVUVzZFVKQlFYVkNMRVZCUVVVc2VVSkJRWGxDTzBGQlEyeEVMRWxCUVVFc2FVSkJRV2xDTEVWQlFVVXNiVUpCUVcxQ096czdRVU55UlhoRE8wRkJTVUU3T3pzN1FVRkpSenRCUVVOVkxFMUJRVUVzY1VKQlFYRkNMRWRCUVRSRU8wRkJRelZHTEVsQlFVRXNTVUZCU1N4RlFVRkZMRWxCUVVrN1FVRkRWaXhKUVVGQkxFdEJRVXNzUlVGQlJTeE5RVUZOTzBGQlEySXNTVUZCUVN4TFFVRkxMRVZCUVVVc1QwRkJUenRCUVVOa0xFbEJRVUVzVlVGQlZTeEZRVUZGTEU5QlFVODdRVUZEYmtJc1NVRkJRU3hKUVVGSkxFVkJRVVVzV1VGQldUdEJRVVZzUWl4SlFVRkJMRWxCUVVrc1JVRkJSU3hOUVVGTk8wRkJRMW9zU1VGQlFTeFBRVUZQTEVWQlFVVXNUVUZCVFR0QlFVTm1MRWxCUVVFc1VVRkJVU3hGUVVGRkxFMUJRVTA3UVVGRGFFSXNTVUZCUVN4SFFVRkhMRVZCUVVVc1RVRkJUVHRCUVVWWUxFbEJRVUVzV1VGQldTeEZRVUZGTEUxQlFVMDdRVUZEY0VJc1NVRkJRU3haUVVGWkxFVkJRVVVzWTBGQll6dEJRVU0xUWl4SlFVRkJMRkZCUVZFc1JVRkJSU3hqUVVGak8wRkJRM2hDTEVsQlFVRXNVVUZCVVN4RlFVRkZMRlZCUVZVN1FVRkZjRUlzU1VGQlFTeGhRVUZoTEVWQlFVVXNUVUZCVFR0QlFVTnlRaXhKUVVGQkxHRkJRV0VzUlVGQlJTeGxRVUZsTzBGQlF6bENMRWxCUVVFc1UwRkJVeXhGUVVGRkxHVkJRV1U3UVVGRE1VSXNTVUZCUVN4VFFVRlRMRVZCUVVVc1YwRkJWenRCUVVWMFFpeEpRVUZCTEZsQlFWa3NSVUZCUlN4WlFVRlpPMEZCUXpGQ0xFbEJRVUVzV1VGQldTeEZRVUZGTEdOQlFXTTdRVUZETlVJc1NVRkJRU3haUVVGWkxFVkJRVVVzWTBGQll6dEJRVU0xUWl4SlFVRkJMRkZCUVZFc1JVRkJSU3hqUVVGak8wRkJSWGhDTEVsQlFVRXNZVUZCWVN4RlFVRkZMRmxCUVZrN1FVRkRNMElzU1VGQlFTeGhRVUZoTEVWQlFVVXNaVUZCWlR0QlFVTTVRaXhKUVVGQkxHRkJRV0VzUlVGQlJTeGxRVUZsTzBGQlF6bENMRWxCUVVFc1UwRkJVeXhGUVVGRkxHVkJRV1U3UVVGRk1VSXNTVUZCUVN4dFFrRkJiVUlzUlVGQlJTeFZRVUZWTzBGQlF5OUNMRWxCUVVFc2FVSkJRV2xDTEVWQlFVVXNjVUpCUVhGQ08wRkJRM2hETEVsQlFVRXNaVUZCWlN4RlFVRkZMRzFDUVVGdFFqdEJRVU53UXl4SlFVRkJMR2xDUVVGcFFpeEZRVUZGTEZWQlFWVTdRVUZETjBJc1NVRkJRU3h4UWtGQmNVSXNSVUZCUlN4dFFrRkJiVUk3UVVGRE1VTXNTVUZCUVN4bFFVRmxMRVZCUVVVc2RVSkJRWFZDTzBGQlEzaERMRWxCUVVFc2EwSkJRV3RDTEVWQlFVVXNWVUZCVlR0QlFVTTVRaXhKUVVGQkxITkNRVUZ6UWl4RlFVRkZMRzlDUVVGdlFqdEJRVU0xUXl4SlFVRkJMR2RDUVVGblFpeEZRVUZGTEhkQ1FVRjNRanRCUVVNeFF5eEpRVUZCTEdkQ1FVRm5RaXhGUVVGRkxGVkJRVlU3UVVGRE5VSXNTVUZCUVN4dlFrRkJiMElzUlVGQlJTeHJRa0ZCYTBJN1FVRkRlRU1zU1VGQlFTeGpRVUZqTEVWQlFVVXNjMEpCUVhOQ08wRkJRM1JETEVsQlFVRXNhMEpCUVd0Q0xFVkJRVVVzVlVGQlZUdEJRVU01UWl4SlFVRkJMSE5DUVVGelFpeEZRVUZGTEc5Q1FVRnZRanRCUVVNMVF5eEpRVUZCTEdkQ1FVRm5RaXhGUVVGRkxIZENRVUYzUWp0QlFVVXhReXhKUVVGQkxHOUNRVUZ2UWl4RlFVRkZMRmRCUVZjN1FVRkRha01zU1VGQlFTeHJRa0ZCYTBJc1JVRkJSU3h6UWtGQmMwSTdRVUZETVVNc1NVRkJRU3huUWtGQlowSXNSVUZCUlN4dlFrRkJiMEk3UVVGRGRFTXNTVUZCUVN4clFrRkJhMElzUlVGQlJTeFhRVUZYTzBGQlF5OUNMRWxCUVVFc2MwSkJRWE5DTEVWQlFVVXNiMEpCUVc5Q08wRkJRelZETEVsQlFVRXNaMEpCUVdkQ0xFVkJRVVVzZDBKQlFYZENPMEZCUXpGRExFbEJRVUVzYlVKQlFXMUNMRVZCUVVVc1YwRkJWenRCUVVOb1F5eEpRVUZCTEhWQ1FVRjFRaXhGUVVGRkxIRkNRVUZ4UWp0QlFVTTVReXhKUVVGQkxHbENRVUZwUWl4RlFVRkZMSGxDUVVGNVFqdEJRVU0xUXl4SlFVRkJMR2xDUVVGcFFpeEZRVUZGTEZkQlFWYzdRVUZET1VJc1NVRkJRU3h4UWtGQmNVSXNSVUZCUlN4dFFrRkJiVUk3UVVGRE1VTXNTVUZCUVN4bFFVRmxMRVZCUVVVc2RVSkJRWFZDTzBGQlEzaERMRWxCUVVFc2JVSkJRVzFDTEVWQlFVVXNWMEZCVnp0QlFVTm9ReXhKUVVGQkxIVkNRVUYxUWl4RlFVRkZMSEZDUVVGeFFqdEJRVU01UXl4SlFVRkJMR2xDUVVGcFFpeEZRVUZGTEhsQ1FVRjVRanM3TzBGRGNrVTVRenM3T3pzN1FVRkxSenRCUVVOSExGTkJRVlVzWjBKQlFXZENMRU5CUVRaQ0xFMUJRVk1zUlVGQlFUdEpRVU53UlN4SlFVRkxMRTFCUVdNc1EwRkJReXhOUVVGTkxFVkJRVVU3VVVGRE1VSXNUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8wRkJRMnBDTEV0QlFVRTdRVUZCVFN4VFFVRkJPMUZCUTBvc1RVRkJZeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQlF6TkNMRXRCUVVFN1FVRkZSQ3hKUVVGQkxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENPenRCUTFSQkxFMUJRVTFFTEUxQlFVa3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVU5xUXl4TlFVRk5SU3hSUVVGTkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNWVUZCVlN4RlFVRkZMRU5CUVVNN1FVRkZkRU03TzBGQlJVYzdUVUZEVlN4TlFVRk5MRU5CUVVFN1FVRmhha0k3T3p0QlFVZEhPMEZCUTBnc1NVRkJRU3hYUVVGQkxFTkJRVzFDTEZWQlFYbENMRVZCUVVFN1FVRkRNVU1zVVVGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4SFFVRkhMRlZCUVZVc1EwRkJRenRCUVVVM1FpeFJRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExHVkJRV1VzUlVGQlJTeERRVUZETzB0QlEzaERPMEZCUlVRN096czdRVUZKUnp0SlFVTkpMR1ZCUVdVc1IwRkJRVHRSUVVOd1FpeE5RVUZOTEVsQlFVa3NSMEZCUnl4RlFVRmhMRU5CUVVNN1FVRkZNMElzVVVGQlFTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4cFFrRkJhVUlzUzBGQlNUdFpRVU42UkN4TlFVRk5MRmRCUVZjc1IwRkJSeXhwUWtGQmNVTXNRMEZCUXp0WlFVTXhSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE96dFpRVWN6UXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hGUVVGRk8yZENRVU5VTEU5QlFVODdRVUZEVWl4aFFVRkJPenRCUVVkRUxGbEJRVUZHTEUxQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBGQlEzcENMRmxCUVVGRkxGRkJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE96dFpRVWMzUWl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFZEJRVWM3UVVGRGJFSXNaMEpCUVVFc1VVRkJVU3hGUVVGRlJpeE5RVUZKTEVOQlFVTXNUMEZCVHl4RlFVRTRRanRCUVVOd1JDeG5Ra0ZCUVN4UlFVRlJMRVZCUVVWRkxGRkJRVTBzUTBGQlF5eFBRVUZQTEVWQlFYTkRPMkZCUXk5RUxFTkJRVU03UVVGRFNpeFRRVUZETEVOQlFVTXNRMEZCUXp0QlFVVklMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UzBGRFlqdEJRVVZFT3pzN08wRkJTVWM3U1VGRFNTeFBRVUZQTEVkQlFVRTdVVUZEV2l4TlFVRk5MRWxCUVVrc1IwRkJSeXhGUVVGaExFTkJRVU03UVVGRk0wSXNVVUZCUVN4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhqUVVGakxFdEJRVWs3V1VGRGRFUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1kwRkJhME1zUTBGQlF6dFpRVU53UkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPenRaUVVkNFF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RlFVRkZPMmRDUVVOVUxFOUJRVTg3UVVGRFVpeGhRVUZCT3p0WlFVZEVSaXhOUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGJFSkZMRkZCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dFpRVVZzUWl4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUXpGRExGbEJRVUVzU1VGQlNTeFRRVUZUTEV0QlFWUXNTVUZCUVN4SlFVRkJMRk5CUVZNc2RVSkJRVlFzVTBGQlV5eERRVUZGTEZGQlFWRXNSVUZCUlR0blFrRkRka0pHTEUxQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1UwRkJVeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMEZCUXpkRExHRkJRVUU3UVVGRFJDeFpRVUZCTEVsQlFVa3NVMEZCVXl4TFFVRlVMRWxCUVVFc1NVRkJRU3hUUVVGVExIVkNRVUZVTEZOQlFWTXNRMEZCUlN4UlFVRlJMRVZCUVVVN1owSkJRM1pDTEdkQ1FVRm5RaXhEUVVGRFJTeFJRVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRMRk5CUVZNc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzaEVMR0ZCUVVFN08wRkJSMFFzV1VGQlFVWXNUVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdRVUZEZUVJc1dVRkJRVVVzVVVGQlRTeERRVUZETEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03TzFsQlIzQkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUjBGQlJ6dEJRVU5tTEdkQ1FVRkJMRkZCUVZFc1JVRkJSVVlzVFVGQlNTeERRVUZETEU5QlFVOHNSVUZCT0VJN1FVRkRjRVFzWjBKQlFVRXNVVUZCVVN4RlFVRkZSU3hSUVVGTkxFTkJRVU1zVDBGQlR5eEZRVUZ6UXp0aFFVTXZSQ3hEUVVGRE8wRkJRMG9zVTBGQlF5eERRVUZETEVOQlFVTTdRVUZGU0N4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wdEJRMkk3UVVGRlJEczdPenM3T3p0QlFVOUhPMEZCUTBrc1NVRkJRU3hQUVVGUExFTkJRVU1zVlVGQmJVSXNSVUZCUVR0QlFVTm9ReXhSUVVGQkxFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eGpRVUZqTEVWQlFVVXNTMEZCU3l4RFFVRkRMRXRCUVVrN1dVRkROMFFzVFVGQlRTeFJRVUZSTEVkQlFVY3NZMEZCYTBNc1EwRkJRenRaUVVOd1JDeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZET3p0WlFVZDRReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTzJkQ1FVTlVMRTlCUVU4N1FVRkRVaXhoUVVGQk8xbEJSVVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFpRVU14UXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVGRk96dG5Ra0ZGWkN4UFFVRlBPMEZCUTFJc1lVRkJRVHM3UVVGSFJDeFpRVUZCTEVsQlFVa3NTMEZCU3l4TFFVRk1MRWxCUVVFc1NVRkJRU3hMUVVGTExIVkNRVUZNTEV0QlFVc3NRMEZCUlN4UlFVRlJMRVZCUVVVN1owSkJRMjVDTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0blFrRkZlRU1zU1VGQlNTeFRRVUZUTEVOQlFVTXNVVUZCVVN4RlFVRkZPMEZCUTNSQ0xHOUNRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRFJpeE5RVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRk5CUVZNc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzWkVMR2xDUVVGQk8wRkJRMFlzWVVGQlFUdEJRVVZFTEZsQlFVRXNTVUZCU1N4TFFVRkxMRXRCUVV3c1NVRkJRU3hKUVVGQkxFdEJRVXNzZFVKQlFVd3NTMEZCU3l4RFFVRkZMRkZCUVZFc1JVRkJSVHRuUWtGRGJrSXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMmRDUVVVeFF5eEpRVUZKTEZOQlFWTXNRMEZCUXl4UlFVRlJMRVZCUVVVN1FVRkRkRUlzYjBKQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhSUVVGUkxFTkJRVU5GTEZGQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNc1UwRkJVeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEYUVVc2FVSkJRVUU3UVVGRFJpeGhRVUZCTzBGQlEwZ3NVMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRTanRCUVVWRU96dEJRVVZITzBsQlEwa3NVMEZCVXl4SFFVRkJPMEZCUTJRc1VVRkJRU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTVHRaUVVONlJDeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGRkJRVFJDTEVOQlFVTXNRMEZCUXp0WlFVVTFSQ3hKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTzJkQ1FVTlVMRTlCUVU4N1FVRkRVaXhoUVVGQk8wRkJSVVFzV1VGQlFTeEpRVUZKTEVsQlFVa3NTMEZCU2l4SlFVRkJMRWxCUVVFc1NVRkJTU3gxUWtGQlNpeEpRVUZKTEVOQlFVVXNVVUZCVVN4RlFVRkZPMmRDUVVOc1FpeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdRVUZEZUVNc1lVRkJRVHRCUVVWRUxGbEJRVUVzU1VGQlNTeEpRVUZKTEV0QlFVb3NTVUZCUVN4SlFVRkJMRWxCUVVrc2RVSkJRVW9zU1VGQlNTeERRVUZGTEZGQlFWRXNSVUZCUlR0blFrRkRiRUlzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBGQlF6RkRMR0ZCUVVFN1FVRkRTQ3hUUVVGRExFTkJRVU1zUTBGQlF6dExRVU5LTzBGQlJVUTdPenM3UVVGSlJ6dEJRVU5KTEVsQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVhOQ0xFVkJRVUU3TzFGQlEyNURMRTlCUVU4c1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hUUVVGVExFTkJRVU03UzBGRE0wTTdRVUZGUkRzN096dEJRVWxITzBGQlEwa3NTVUZCUVN4WFFVRlhMRU5CUVVNc1NVRkJjMElzUlVGQlFUczdRVUZEZGtNc1VVRkJRU3hQUVVGUExFTkJRVUVzUlVGQlFTeEhRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1NVRkJTU3hOUVVGSkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF6dExRVU0xUXp0QlFVTkdPenRCUTNwTVJDeE5RVUZOUml4TlFVRkpMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZEYWtNc1RVRkJUVVVzVVVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8wRkJRM1JETEUxQlFVMHNZVUZCWVN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQlJURkRPenRCUVVWSE8wRkJRMGNzVFVGQlR5eGpRVUZsTEZOQlFWRXNUVUZCVFN4RFFVRkJPMGxCUXpsQ0xFOUJRVThzWjBKQlFXZENMRU5CUVVNc1VVRkJaMElzUlVGQlFUdEJRVTFvUkN4UlFVRkJMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRPMEZCUTJ4RExGRkJRVUVzU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4blFrRkJaMElzUTBGQlF6czdVVUZITjBJc1RVRkJUU3hyUWtGQmEwSXNSMEZCZFVRc1JVRkJSU3hEUVVGRE8xRkJRMnhHTEUxQlFVMHNhMEpCUVd0Q0xFZEJRVEJFTEVWQlFVVXNRMEZCUXp0UlFVTnlSaXhOUVVGTkxHRkJRV0VzUjBGQk1FUXNSVUZCUlN4RFFVRkRPMEZCUldoR0xGRkJRVUVzWjBKQlFXZENMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVVVGQlVTeExRVUZKTzFsQlEzQkRMRTFCUVUwc1VVRkJVU3hIUVVGSExGRkJRVkVzUTBGQlF5eFhRVUZYTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1FVRkZhRVFzV1VGQlFTeEpRVUZKTEZGQlFWRXNSVUZCUlR0QlFVTmFMR2RDUVVGQkxFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZET1VNc1owSkJRVUVzVFVGQlRTeHBRa0ZCYVVJc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0QlFVVnFSQ3huUWtGQlFTeFJRVUZSTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMmRDUVVONFF5eFJRVUZSTEVOQlFVTXNWMEZCVnl4RFFVRkRMRk5CUVZNc1EwRkJReXhwUWtGQmFVSXNSVUZCUlN4cFFrRkJhVUlzUlVGQlJVWXNUVUZCU1N4RFFVRkRMRU5CUVVNN1FVRkZNMFVzWjBKQlFVRXNhMEpCUVd0Q0xFTkJRVU1zVVVGQlVTeERRVUZETEVkQlFVY3NhVUpCUVdsQ0xFTkJRVU03UVVGRGFrUXNaMEpCUVVFc2EwSkJRV3RDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWRCUVVjc2FVSkJRV2xDTEVOQlFVTTdaMEpCUTJwRUxHRkJRV0VzUTBGQlF5eFJRVUZSTEVOQlFVTXNSMEZCUnl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzBGQlEzWkVMR0ZCUVVFN1FVRkRTQ3hUUVVGRExFTkJRVU1zUTBGQlF6czdVVUZIU0N4TlFVRk5MRzlDUVVGdlFpeEhRVUV3UkN4RlFVRkZMRU5CUVVNN1VVRkZka1lzVFVGQlRTeFJRVUZSTEVkQlFUSkNMRVZCUVVVc1EwRkJRenRCUVVNMVF5eFJRVUZCTEdkQ1FVRm5RaXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZGQlFWRXNTMEZCU1RzN1dVRkRjRU1zVFVGQlRTeFJRVUZSTEVkQlFVY3NVVUZCVVN4RFFVRkRMRmRCUVZjc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVVZvUkN4WlFVRkJMRWxCUVVrc1VVRkJVU3hGUVVGRk8wRkJRMW9zWjBKQlFVRXNUVUZCVFN4cFFrRkJhVUlzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJReXhSUVVGUkxFTkJRV3RDTEVOQlFVTTdPMmRDUVVkNFJTeEpRVUZKTEdWQlFXVXNSMEZCTkVJc1VVRkJVU3hEUVVGRE8wRkJRM2hFTEdkQ1FVRkJMRWxCUVVrc2JVSkJRVGhETEVOQlFVTTdRVUZEYmtRc1owSkJRVUVzU1VGQlNTeHRRa0ZCYVVRc1EwRkJRenRuUWtGRGRFUXNUMEZCVHl4dFFrRkJiVUlzU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZEYkVNc2IwSkJRVUVzWlVGQlpTeEhRVUZITEhGQ1FVRnhRaXhEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETzI5Q1FVTjZSQ3hKUVVGSkxHVkJRV1VzU1VGQlNTeEpRVUZKTEVWQlFVVTdkMEpCUXpOQ0xFMUJRVTA3UVVGRFVDeHhRa0ZCUVR0QlFVTkVMRzlDUVVGQkxHMUNRVUZ0UWl4SFFVRkhMR3RDUVVGclFpeERRVUZETEdWQlFXVXNRMEZCUXl4RFFVRkRPMEZCUXpGRUxHOUNRVUZCTEcxQ1FVRnRRaXhIUVVGSExHdENRVUZyUWl4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVGRE8wRkJRek5FTEdsQ1FVRkJPenRCUVVkRUxHZENRVUZCTEUxQlFVMHNWMEZCVnl4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzJkQ1FVTjZReXhYUVVGWExFTkJRVU1zU1VGQlNTeEhRVUZITEdGQlFXRXNSMEZCUnl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRE8wRkJSV3BFTEdkQ1FVRkJMRTFCUVUwc2FVSkJRV2xDTEVsQlFVa3NaVUZCWlN4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxGRkJRVkVzUTBGQlF5eGxRVUZsTEVOQlFVTXNNRU5CUVVVc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQmJVSXNRMEZCUXp0QlFVVjJSeXhuUWtGQlFTeHBRa0ZCYVVJc1EwRkJReXhIUVVGSExFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdRVUZEYmtNc1owSkJRVUVzVjBGQlZ5eERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0QlFVTTNReXhuUWtGQlFTeEpRVUZKTEcxQ1FVRnRRaXhGUVVGRk8wRkJRM1pDTEc5Q1FVRkJMRmRCUVZjc1EwRkJReXhSUVVGUkxFTkJRVU1zUjBGQlJ5eERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03UVVGREwwTXNhVUpCUVVFN1owSkJSVVFzVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4SFFVRkhMRVZCUVVVc1NVRkJTU3hGUVVGRkxGZEJRVmNzUlVGQlJTeERRVUZET3p0QlFVY3pReXhuUWtGQlFTeHZRa0ZCYjBJc1EwRkJReXhSUVVGUkxFTkJRVU1zUjBGQlJ5eHRRa0ZCYlVJc1MwRkJia0lzU1VGQlFTeEpRVUZCTEcxQ1FVRnRRaXhMUVVGdVFpeExRVUZCTEVOQlFVRXNSMEZCUVN4dFFrRkJiVUlzUjBGQlNTeEpRVUZKTEV0QlFVc3NRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRCUVVOb1JpeGhRVUZCTzBGQlEwZ3NVMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZTQ3hQUVVGUE8wRkJRMHdzV1VGQlFTeFJRVUZSTEVWQlFVVXNVVUZCZVVJN1dVRkRia01zU1VGQlNUdFpRVU5LTEc5Q1FVRnZRanRaUVVOd1FpeGhRVUZoTzFOQlEyUXNRMEZCUXp0TFFVTklPMEZCVDBRc1NVRkJRU3hYUVVGQkxFTkJRVzFDTEZGQlFXZENMRVZCUVVFN1FVRkRha01zVVVGQlFTeE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRWxCUVVrc1JVRkJSU3h2UWtGQmIwSXNSVUZCUlN4aFFVRmhMRVZCUVVVc1IwRkJSeXhqUVVGakxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03VVVGRk1VY3NTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJSV2hDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1IwRkJSeXhSUVVGUkxFTkJRVU03UVVGRGVrSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dEJRVU5xUWl4UlFVRkJMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNSMEZCUnl4dlFrRkJiMElzUTBGQlF6dEJRVU5zUkN4UlFVRkJMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzWVVGQllTeERRVUZETzB0QlEzSkRPMEZCUlVRN08wRkJSVWM3U1VGRFNTeE5RVUZOTEVkQlFVRTdRVUZEV0N4UlFVRkJMR2RDUVVGblFpeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRkZCUVZFc1MwRkJTVHRaUVVOd1F5eE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGZEJRVmNzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0WlFVVnlSQ3hKUVVGSkxGRkJRVkVzU1VGQlNTeEpRVUZKTEVWQlFVVTdaMEpCUTNCQ0xFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1VVRkJVU3hEUVVGRkxFTkJRVU03WjBKQlEyaEVMRTFCUVUwc2JVSkJRVzFDTEVkQlFVY3NTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEZGQlFWRXNRMEZCUlN4RFFVRkRPMmRDUVVOc1JTeE5RVUZOTEhOQ1FVRnpRaXhIUVVGSFJTeFJRVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1owSkJRM3BGTEUxQlFVMHNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVTTdRVUZGY0VRc1owSkJRVUVzVVVGQlVTeERRVUZETEZWQlFWVTdRVUZEYUVJc2NVSkJRVUVzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4VlFVRlZMRU5CUVVNN2NVSkJRelZDTEZGQlFWRXNRMEZCUXl4dFFrRkJiVUlzUTBGQlF6dHhRa0ZETjBJc1YwRkJWeXhEUVVGRExITkNRVUZ6UWl4RFFVRkRPM0ZDUVVOdVF5eFJRVUZSTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN08yZENRVWN4UWl4SlFVRkpMRkZCUVZFc1MwRkJTeXhOUVVGTkxFVkJRVVU3YjBKQlEzWkNMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NWMEZCVnl4RFFVRkRMR2RDUVVGblFpeERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRPMjlDUVVOMFJTeFJRVUZSTEVOQlFVTXNUVUZCVHl4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVsQlFVa3NSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVOb1JDeHZRa0ZCUVN4TlFVRk5MR2xDUVVGcFFpeEhRVUZITEZGQlFWRXNRMEZCUXl4TlFVRlBMRU5CUVVNc1YwRkJWeXhEUVVGRE8yOUNRVU4yUkN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhwUWtGQmFVSXNRMEZCUXl4WlFVRlpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJRenRCUVVOcVJpeHZRa0ZCUVN4UlFVRlJMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNRMEZCUXp0QlFVTjJReXhwUWtGQlFUdEJRVU5HTEdGQlFVRTdRVUZEU0N4VFFVRkRMRU5CUVVNc1EwRkJRenRMUVVOS08wRkJRMFk3TzBGRGNFbEVPenRCUVVWSE8wMUJRMVVzVjBGQlZ5eERRVUZCTzBGQmJVSjBRanM3UVVGRlJ6dEJRVU5JTEVsQlFVRXNTVUZCVnl4UlFVRlJMRWRCUVVFN1FVRkRha0lzVVVGQlFTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRFJHUVVFMFJpeERRVUZETEVOQlFVTTdVVUZGTTBjc1QwRkJUeXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETzB0QlEzcENPMEZCUlVRN096dEJRVWRITzBGQlEwZ3NTVUZCUVN4SlFVRlhMRmRCUVZjc1IwRkJRVHRCUVVOd1FpeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhSUVVGUkxFTkJRVU03UzBGRGNrTTdRVUZGUkRzN08wRkJSMGM3UVVGRFNDeEpRVUZCTEVsQlFWY3NhMEpCUVd0Q0xFZEJRVUU3UVVGRE0wSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4UlFVRlJMRU5CUVVNN1MwRkROVU03UVVGRlJEczdRVUZGUnp0QlFVTklMRWxCUVVFc1NVRkJWeXhWUVVGVkxFZEJRVUU3TzBGQlJXNUNMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEZWQlFWVXNRMEZCUXp0TFFVTjJRenRCUVVWRU96dEJRVVZITzBGQlEwZ3NTVUZCUVN4SlFVRlhMR0ZCUVdFc1IwRkJRVHRCUVVOMFFpeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhWUVVGVkxFTkJRVU03UzBGRGRrTTdRVUZGUkRzN1FVRkZSenRCUVVOSUxFbEJRVUVzU1VGQlZ5eHZRa0ZCYjBJc1IwRkJRVHRCUVVNM1FpeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEZWQlFWVXNRMEZCUXp0TFFVTTVRenRCUVVWRU96dEJRVVZITzBGQlEwZ3NTVUZCUVN4SlFVRlhMSGRDUVVGM1FpeEhRVUZCTzBGQlEycERMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1NVRkJTU3hEUVVGRE8wdEJRM2hETzBGQlJVUTdPenM3UVVGSlJ6dEpRVU5JTEZkQlFXMUNMRU5CUVVFc1ZVRkJlVUlzUlVGQlJTeFBRVUUwUXl4RlFVRkJPenRCUVVONFJpeFJRVUZCTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4UFFVRlBMRXRCUVVFc1NVRkJRU3hKUVVGUUxFOUJRVThzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJVQ3hQUVVGUExFTkJRVVVzYjBKQlFXOUNMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVrc1NVRkJTU3hEUVVGRE8xRkJRMnhGTEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1NVRkJTU3hOUVVGTkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdVVUZETjBNc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4SFFVRkhMRWxCUVVrc1kwRkJZeXhEUVVGRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0TFFVTjBSVHRCUVVWRU96czdPMEZCU1VjN1FVRkRTU3hKUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZ0UWl4RlFVRkJPMEZCUXpkQ0xGRkJRVUVzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhIUVVGSExFMUJRVTBzUTBGQlF5eHZRa0ZCYjBJc1EwRkJRenRSUVVONFJDeEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRWxCUVVrc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0UlFVTndSQ3hKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRWRCUVVjc1NVRkJTU3hqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRPMEZCUlhKRkxGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdTMEZEWWp0QlFVVkVPenM3UVVGSFJ6dEpRVU5KTEV0QlFVc3NSMEZCUVR0UlFVTldMRTlCUVU4c1NVRkJTU3hYUVVGWExFTkJRVU1zU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRzlDUVVGdlFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUlVGQlJTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wdEJRM3BITzBGQlJVUTdPMEZCUlVjN1NVRkRTU3hsUVVGbExFZEJRVUU3UVVGRGNFSXNVVUZCUVN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVOV0xIVklRVUYxU0N4RFFVTjRTQ3hEUVVGRE8wRkJSVVlzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUlVGQlJTeERRVUZETzB0QlEyeERPMEZCUlVRN096czdRVUZKUnp0SlFVTkpMR3RDUVVGclFpeEhRVUZCTzBGQlEzWkNMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEdWQlFXVXNSVUZCUlN4RFFVRkRPMHRCUXpsRE8wRkJSVVE3T3pzN1FVRkpSenRKUVVOSkxIbENRVUY1UWl4SFFVRkJPMEZCUXpsQ0xGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zWlVGQlpTeEZRVUZGTEVOQlFVTTdTMEZEY2tRN1FVRkZSRHM3UVVGRlJ6dEpRVU5KTEU5QlFVOHNSMEZCUVR0QlFVTmFMRkZCUVVFc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5d3JSa0ZCSzBZc1EwRkJReXhEUVVGRE8wRkJSVGxITEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03UzBGRE1VSTdRVUZGUkRzN096dEJRVWxITzBsQlEwa3NWVUZCVlN4SFFVRkJPMEZCUTJZc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1MwRkRkRU03UVVGRlJEczdPenRCUVVsSE8wbEJRMGtzYVVKQlFXbENMRWRCUVVFN1FVRkRkRUlzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0TFFVTTNRenRCUVVWRU96dEJRVVZITzBGQlEwa3NTVUZCUVN4UFFVRlBMRU5CUVVNc1ZVRkJiVUlzUlVGQlFUdEJRVU5vUXl4UlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zSzBaQlFTdEdMRU5CUVVNc1EwRkJRenRCUVVVNVJ5eFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dExRVU53UXp0QlFVVkVPenM3T3pzN096czdRVUZUUnp0QlFVTkpMRWxCUVVFc1ZVRkJWU3hEUVVGRExGVkJRVzFDTEVWQlFVRTdVVUZEYmtNc1QwRkJUeXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEU5QlFVOHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRMUVVOb1JEdEJRVVZFT3pzN096czdPMEZCVDBjN1FVRkRTU3hKUVVGQkxHbENRVUZwUWl4RFFVRkRMRlZCUVcxQ0xFVkJRVUU3VVVGRE1VTXNUMEZCVHl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wdEJRM1pFTzBGQlJVUTdPMEZCUlVjN1NVRkRTU3hUUVVGVExFZEJRVUU3UVVGRFpDeFJRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc2NVZEJRWEZITEVOQlFVTXNRMEZCUXp0QlFVVndTQ3hSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRPMHRCUXpWQ08wRkJSVVE3T3pzN1FVRkpSenRKUVVOSkxGbEJRVmtzUjBGQlFUdEJRVU5xUWl4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0TFFVTjRRenRCUVVWRU96dEJRVVZITzBsQlEwa3NiVUpCUVcxQ0xFZEJRVUU3UVVGRGVFSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRMUVVNdlF6dEJRVVZFT3p0QlFVVkhPMEZCUTBrc1NVRkJRU3hQUVVGUExFTkJRVU1zU1VGQmMwSXNSVUZCUVR0QlFVTnVReXhSUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNLMFpCUVN0R0xFTkJRVU1zUTBGQlF6dEJRVVU1Unl4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0TFFVTTVRanRCUVVWRU96czdPMEZCU1VjN1FVRkRTU3hKUVVGQkxGVkJRVlVzUTBGQlF5eEpRVUZ6UWl4RlFVRkJPMUZCUTNSRExFOUJRVThzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03UzBGRE1VTTdRVUZGUkRzN096dEJRVWxITzBGQlEwa3NTVUZCUVN4cFFrRkJhVUlzUTBGQlF5eEpRVUZ6UWl4RlFVRkJPMUZCUXpkRExFOUJRVThzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0TFFVTnFSRHRCUVVWRU96dEJRVVZITzBGQlEwa3NTVUZCUVN4WFFVRlhMRU5CUVVNc1NVRkJjMElzUlVGQlFUdEJRVU4yUXl4UlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRMVlzTWtkQlFUSkhMRU5CUXpWSExFTkJRVU03UVVGRlJpeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dExRVU5zUXp0QlFVVkVPenM3TzBGQlNVYzdRVUZEU1N4SlFVRkJMR05CUVdNc1EwRkJReXhKUVVGelFpeEZRVUZCTzFGQlF6RkRMRTlCUVU4c1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eFhRVUZYTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1MwRkRPVU03UVVGRlJEczdPenRCUVVsSE8wRkJRMGtzU1VGQlFTeHhRa0ZCY1VJc1EwRkJReXhKUVVGelFpeEZRVUZCTzFGQlEycEVMRTlCUVU4c1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRmRCUVZjc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dExRVU55UkR0QlFVVkVPenM3TzBGQlNVYzdTVUZEU1N4TlFVRk5MRWRCUVVFN1VVRkRXQ3hKUVVGSkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSVHRCUVVNM1FpeFpRVUZCTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0QlFVTnlReXhUUVVGQk8wdEJRMFk3UVVGRFJqczdRVU14VTBRN1FVRkZZU3hOUVVGQkxIZENRVUYzUWl4SFFVRkhPMEZCUTNSRExFbEJRVUVzU1VGQlNTeEZRVUZGTEUxQlFVMDdRVUZEV2l4SlFVRkJMRXRCUVVzc1JVRkJSU3hQUVVGUE8wRkJRMlFzU1VGQlFTeEpRVUZKTEVWQlFVVXNUVUZCVFR0QlFVTmFMRWxCUVVFc1dVRkJXU3hGUVVGRkxHTkJRV003UVVGRE5VSXNTVUZCUVN4WlFVRlpMRVZCUVVVc1kwRkJZenRCUVVNMVFpeEpRVUZCTEZGQlFWRXNSVUZCUlN4VlFVRlZPMEZCUTNCQ0xFbEJRVUVzWVVGQllTeEZRVUZGTEdWQlFXVTdRVUZET1VJc1NVRkJRU3hoUVVGaExFVkJRVVVzWlVGQlpUdEJRVU01UWl4SlFVRkJMRk5CUVZNc1JVRkJSU3hYUVVGWE8wRkJRM1JDTEVsQlFVRXNXVUZCV1N4RlFVRkZMR05CUVdNN1FVRkROVUlzU1VGQlFTeFpRVUZaTEVWQlFVVXNZMEZCWXp0QlFVTTFRaXhKUVVGQkxGRkJRVkVzUlVGQlJTeFZRVUZWTzBGQlEzQkNMRWxCUVVFc1lVRkJZU3hGUVVGRkxHVkJRV1U3UVVGRE9VSXNTVUZCUVN4aFFVRmhMRVZCUVVVc1pVRkJaVHRCUVVNNVFpeEpRVUZCTEZOQlFWTXNSVUZCUlN4WFFVRlhPenM3UVVOUWVFSTdPMEZCUlVjN1FVRkRTQ3hOUVVGTlNDeDNRa0ZCYzBJc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVFZFT3p0QlFVVkhPMEZCUTBnc1RVRkJUU3huUWtGQlowSXNSMEZCY1VVN1FVRkRla1lzU1VGQlFTeHBRa0ZCYVVJc1JVRkJSU3h4UWtGQmNVSTdRVUZEZUVNc1NVRkJRU3h4UWtGQmNVSXNSVUZCUlN4dFFrRkJiVUk3UVVGRE1VTXNTVUZCUVN4clFrRkJhMElzUlVGQlJTeHpRa0ZCYzBJN1FVRkRNVU1zU1VGQlFTeHpRa0ZCYzBJc1JVRkJSU3h2UWtGQmIwSTdRMEZETjBNc1EwRkJRenRCUVVWR096dEJRVVZITzAxQlExVXNkVUpCUVhWQ0xFTkJRVUU3UVVGWmJFTXNTVUZCUVN4SlFVRlhMRWxCUVVrc1IwRkJRVHM3UVVGRllpeFJRVUZCTEU5QlFVOHNlVUpCUVhsQ0xFTkJRVU03UzBGRGJFTTdTVUZGUkN4WFFVRnRRaXhEUVVGQkxFMUJRV3RDTEVWQlFVVXNUMEZCZDBNc1JVRkJRVHRCUVVNM1JTeFJRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJSWEpDTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1QwRkJUeXhMUVVGQkxFbEJRVUVzU1VGQlVDeFBRVUZQTEV0QlFWQXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzVDBGQlR5eERRVUZGTEZWQlFWVXNRMEZCUXp0UlFVTjBReXhKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRWRCUVVjc1QwRkJUeXhMUVVGQkxFbEJRVUVzU1VGQlVDeFBRVUZQTEV0QlFWQXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzVDBGQlR5eERRVUZGTEc5Q1FVRnZRaXhEUVVGRE8wdEJRek5FTzBGQlJWa3NTVUZCUVN4VFFVRlRMRU5CUVVNc1NVRkJWU3hGUVVGQk96dEJRVU12UWl4WlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFRRVU4wUkN4RFFVRkJMRU5CUVVFN1FVRkJRU3hMUVVGQk8wRkJSVVE3T3pzN1FVRkpSenRCUVVOWExFbEJRVUVzVDBGQlR5eERRVUZETEVsQlFWVXNSVUZCUVRzN1dVRkRPVUlzVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBGQlF6VkRMRmxCUVVFc1NVRkJTU3hSUVVGUkxFVkJRVVU3UVVGRFdpeG5Ra0ZCUVN4UFFVRlBMRkZCUVZFc1EwRkJRenRCUVVOcVFpeGhRVUZCTzFsQlJVUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMEZCUXpWRExGbEJRVUVzU1VGQlNTeFJRVUZSTEVWQlFVVTdRVUZEV2l4blFrRkJRU3hQUVVGUExGRkJRVkVzUTBGQlF6dEJRVU5xUWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dFRRVU5pTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUVVFN1FVRkZZU3hKUVVGQkxGTkJRVk1zUTBGQlF5eEpRVUZWTEVWQlFVRTdPenRCUVVOb1F5eFpRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXpzN1FVRkhiRVFzV1VGQlFTeE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eGpRVUZqTEUxQlFVVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1QwRkJUeXhEUVVGRExGVkJRVlVzUTBGQlF5eE5RVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVTdRVUZEWkN4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdXVUZGUkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExGVkJRVlVzUTBGQmIwTXNRMEZCUXp0WlFVTnVSaXhKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTzBGQlEyUXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzBGQlJVUXNXVUZCUVN4TlFVRk5MRmRCUVZjc1IwRkJSeXhUUVVGVExFTkJRVU1zVjBGQlZ5eERRVUZETzBGQlF6RkRMRmxCUVVFc1NVRkJTU3hEUVVGRFFTeDNRa0ZCYzBJc1EwRkJReXhIUVVGSExFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVTdRVUZETlVNc1owSkJRVUVzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl3d1JFRkJNRVFzVjBGQlZ5eERRVUZCTEVOQlFVRXNRMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkRka1lzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhoUVVGQk8wRkJSVVFzV1VGQlFTeE5RVUZOTEdOQlFXTXNSMEZCUnl4VFFVRlRMRU5CUVVNc1VVRkJVU3hEUVVGRE8xbEJRekZETEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVN1FVRkRia0lzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhoUVVGQk8wRkJSVVE3T3pzN1FVRkpSenRaUVVOSUxFMUJRVTBzZFVKQlFYVkNMRWRCUXpGQ0xHTkJRV01zUTBGQlF5eFZRVUZyUWl4RFFVRkRMSEZDUVVGeFFpeEpRVUZKTEVsQlFVazdRVUZETDBRc1owSkJRVUVzWTBGQll5eERRVUZETEZWQlFXdENMRU5CUVVNc2MwSkJRWE5DTEVsQlFVa3NTVUZCU1N4RFFVRkRPMWxCUlhCRkxFMUJRVTBzVlVGQlZTeEhRVUV5UWl4RlFVRkZMRU5CUVVNN1FVRkRPVU1zV1VGQlFTeEpRVUZKTEdOQlFXTXNRMEZCUXl4VlFVRlZMRWxCUVVrc1NVRkJTU3hGUVVGRk8yZENRVU55UXl4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRMllzVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4alFVRmpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVOHNRMEZCUXl4alFVRmpMRVZCUVVVc1pVRkJaU3hEUVVGRExFdEJRVWtzVTBGQlFTeERRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRU5CUVVFc1JVRkJRU3hMUVVGQkxFTkJRVUVzUlVGQlFTeGhRVUZCTzI5Q1FVTjRSaXhKUVVGSkxGRkJRVkVzUjBGQlJ5eGpRVUZ0UkN4RFFVRkRPMEZCUTI1RkxHOUNRVUZCTEUxQlFVMHNTMEZCU3l4SFFVRkhMR1ZCUVdVc1EwRkJReXhKUVVGSkxFTkJRVU03TzBGQlIyNURMRzlDUVVGQkxFbEJRVWtzZFVKQlFYVkNMRVZCUVVVN1FVRkRNMElzZDBKQlFVRXNUVUZCVFN4aFFVRmhMRWRCUVVjc1owSkJRV2RDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN2QwSkJRMnBFTEVsQlFVa3NZVUZCWVN4SlFVRkpMRWxCUVVrc1JVRkJSVHMwUWtGRGVrSXNVVUZCVVN4SFFVRkhMR0ZCUVdFc1EwRkJRenRCUVVNeFFpeDVRa0ZCUVR0QlFVTkdMSEZDUVVGQk8wRkJSVVFzYjBKQlFVRXNUVUZCVFN4SlFVRkpMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEdGQlFXRXNRMEZCUXl4TlFVRk5MRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03TzI5Q1FVYzFSQ3hKUVVGSkxFbEJRVWtzU1VGQlNTeEpRVUZKTEVWQlFVVTdkMEpCUTJoQ0xFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUVN4MVEwRkJRU3hGUVVFd1F5eFJRVUZSTEVOQlFXRXNWVUZCUVN4RlFVRkJMRXRCUVVzc1EwRkJhMElzWjBKQlFVRXNRMEZCUVN4RFFVRkRMRU5CUVVNN2QwSkJRM0pITEU5QlFVODdRVUZEVWl4eFFrRkJRVHM3UVVGSFJDeHZRa0ZCUVN4VlFVRlZMRU5CUVVNc1VVRkJVU3hEUVVGRExFZEJRVWNzUlVGQlJTeEpRVUZKTEVWQlFVVXNRMEZCUXp0cFFrRkRha01zUTBGQlFTeERRVUZETEVOQlEwZ3NRMEZCUXp0QlFVTklMR0ZCUVVFN1dVRkZSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc2VVSkJRWGxDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVN1owSkJRek5GTEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJN1FVRkRhRVFzWVVGQlFTeERRVUZETEVOQlFVTTdXVUZEU0N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zUTBGQlF6dFpRVVZzUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRVVU3UVVGRGJrSXNaMEpCUVVFc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeHBRa0ZCYVVJc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVU12UXl4blFrRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRuUWtGRE5VSXNUVUZCVFN4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEZkQlFWY3NRMEZCUXp0QlFVTnNSQ3hoUVVGQk8wRkJSVVFzV1VGQlFTeFBRVUZQTEZGQlFWRXNRMEZCUXpzN1FVRkRha0lzUzBGQlFUdEJRVVZoTEVsQlFVRXNVMEZCVXl4RFFVRkRMRWxCUVZVc1JVRkJRVHM3TzBGQlEyaERMRmxCUVVFc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRjNRaXhEUVVGRE8xbEJSV3hFTEUxQlFVMHNUVUZCVFN4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVVc1IwRkJORUlzUTBGQlF6dFpRVU0zUkN4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRk8wRkJRMWdzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhoUVVGQk8wRkJSVVFzV1VGQlFTeE5RVUZOTEdOQlFXTXNSMEZCSzBJc1RVRkJUU3hEUVVGRExGRkJRVkVzUTBGQlF6dFpRVU51UlN4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRk8wRkJRMjVDTEdkQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzWVVGQlFUdFpRVVZFTEUxQlFVMHNWVUZCVlN4SFFVRXlRaXhGUVVGRkxFTkJRVU03UVVGRE9VTXNXVUZCUVN4SlFVRkpMR05CUVdNc1EwRkJReXhWUVVGVkxFbEJRVWtzU1VGQlNTeEZRVUZGTzBGQlEzSkRMR2RDUVVGQkxFMUJRVTBzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZEWml4alFVRmpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZQTEVsQlFVa3NTMEZCU1N4VFFVRkJMRU5CUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUTBGQlFTeEZRVUZCTEV0QlFVRXNRMEZCUVN4RlFVRkJMR0ZCUVVFN1FVRkRNME1zYjBKQlFVRXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF6dEJRVU16UWl4dlFrRkJRU3hOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRPMEZCUlhoQ0xHOUNRVUZCTEVsQlFVa3NVVUZCVVN4SlFVRkpMRWxCUVVrc1NVRkJTU3hMUVVGTExFbEJRVWtzU1VGQlNTeEZRVUZGTzNkQ1FVTnlReXhQUVVGUE8wRkJRMUlzY1VKQlFVRTdRVUZGUkN4dlFrRkJRU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1lVRkJZU3hEUVVGRExFMUJRVTBzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXpzN2IwSkJSelZFTEVsQlFVa3NTVUZCU1N4SlFVRkpMRWxCUVVrc1JVRkJSVHQzUWtGRGFFSXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGQkxIVkRRVUZCTEVWQlFUQkRMRkZCUVZFc1EwRkJZU3hWUVVGQkxFVkJRVUVzUzBGQlN5eERRVUZyUWl4blFrRkJRU3hEUVVGQkxFTkJRVU1zUTBGQlF6dDNRa0ZEY2tjc1QwRkJUenRCUVVOU0xIRkNRVUZCT3p0QlFVZEVMRzlDUVVGQkxFMUJRVTBzWVVGQllTeEhRVUZITEdkQ1FVRm5RaXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzI5Q1FVTnFSQ3hOUVVGTkxGZEJRVmNzU1VGQlNTeGhRVUZoTEV0QlFVRXNTVUZCUVN4SlFVRmlMR0ZCUVdFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQllpeGhRVUZoTEVkQlFVa3NVVUZCVVN4RFFVRnpReXhEUVVGRE96czdRVUZKY2tZc2IwSkJRVUVzU1VGQlNTeFZRVUZWTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWxCUVVrc1NVRkJTU3hGUVVGRk8zZENRVU51UXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVOV0xFTkJRVUVzTUVKQlFVRXNSVUZCTmtJc1YwRkJWeXhEUVVGelFpeHRRa0ZCUVN4RlFVRkJMRXRCUVVzc1EwRkJhVU1zSzBKQlFVRXNRMEZCUVN4RFFVTnlSeXhEUVVGRE8zZENRVU5HTEU5QlFVODdRVUZEVWl4eFFrRkJRVHM3UVVGSFJDeHZRa0ZCUVN4VlFVRlZMRU5CUVVNc1YwRkJWeXhEUVVGRExFZEJRVWNzUlVGQlJTeEpRVUZKTEVWQlFVVXNRMEZCUXp0cFFrRkRjRU1zUTBGQlFTeERRVUZETEVOQlEwZ3NRMEZCUXp0QlFVTklMR0ZCUVVFN1dVRkZSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc2VVSkJRWGxDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVN1owSkJRek5GTEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJN1FVRkRhRVFzWVVGQlFTeERRVUZETEVOQlFVTTdXVUZEU0N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zUTBGQlF6dFpRVVZzUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRVVU3UVVGRGJrSXNaMEpCUVVFc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeHBRa0ZCYVVJc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVU12UXl4blFrRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRuUWtGRE5VSXNUVUZCVFN4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEZkQlFWY3NRMEZCUXp0QlFVTnNSQ3hoUVVGQk8wRkJSVVFzV1VGQlFTeFBRVUZQTEZGQlFWRXNRMEZCUXpzN1FVRkRha0lzUzBGQlFUdEJRVVZFT3pzN08wRkJTVWM3UVVGRFN5eEpRVUZCTEhsQ1FVRjVRaXhEUVVGRExGVkJRV3RETEVWQlFVRTdPMUZCUld4RkxFMUJRVTBzYjBKQlFXOUNMRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGRGVrVXNRMEZCUXl4blFrRkJaMElzUzBGQlN5eFZRVUZWTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlF6TkVMRU5CUVVNN08wRkJSMFlzVVVGQlFTeEpRVUZKTEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlFVVTdRVUZEYmtNc1dVRkJRU3hOUVVGTkxFbEJRVWtzUzBGQlN5eERRVU5pTEVOQlFVRXNNRVZCUVVFc1JVRkJOa1VzYjBKQlFXOUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZGTEVOQlFVRXNRMEZETDBjc1EwRkJRenRCUVVOSUxGTkJRVUU3UVVGRlJDeFJRVUZCTEU5QlFVOHNWVUZCTWtJc1EwRkJRenRMUVVOd1F6dEJRVU5HT3p0QlF6TlBXU3hOUVVGQkxHbENRVUZyUWl4VFFVRlJMRXRCUVVzc1EwRkJReXhqUVVGakxFTkJRVUU3UVVGUmVrUXNTVUZCUVN4WFFVRkJMRWRCUVVFN1FVRkRSU3hSUVVGQkxFdEJRVXNzUlVGQlJTeERRVUZETzFGQlRrWXNTVUZCWVN4RFFVRkJMR0ZCUVVFc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGJFSXNTVUZCWXl4RFFVRkJMR05CUVVFc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGUGVrSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFZEJRVWNzUTBGQlF6dEJRVU5xUWl4UlFVRkJMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBGQlEyeENMRkZCUVVFc1NVRkJTU3hEUVVGRExHRkJRV0VzUjBGQlJ5eEhRVUZITEVOQlFVTTdRVUZEZWtJc1VVRkJRU3hKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEVkQlFVY3NRMEZCUXp0QlFVVXhRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRExFbEJRVWtzV1VGQldTeERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4yUlN4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1FVRkZOME1zVVVGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eEpRVUZKTEZkQlFWY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZUVVc1VVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRSUVVVdlFpeEpRVUZKTEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNN1VVRkRia0lzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMHRCUTJZN1NVRkZUU3hOUVVGTkxFZEJRVUU3VVVGRFdDeEpRVUZKTEc5Q1FVRnZRaXhIUVVGSExFdEJRVXNzUTBGQlF6dEJRVVZxUXl4UlFVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExHRkJRV0VzUzBGQlN5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RlFVRkZPMEZCUTNKRExGbEJRVUVzU1VGQlNTeERRVUZETEdGQlFXRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRE8xbEJRMmhETEc5Q1FVRnZRaXhIUVVGSExFbEJRVWtzUTBGQlF6dEJRVU0zUWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hKUVVGSkxFbEJRVWtzUTBGQlF5eGpRVUZqTEV0QlFVc3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSVHRCUVVOMlF5eFpRVUZCTEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dFpRVU5zUXl4dlFrRkJiMElzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZETjBJc1UwRkJRVHRCUVVWRUxGRkJRVUVzU1VGQlNTeHZRa0ZCYjBJc1JVRkJSVHRaUVVONFFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1FVRkRka0lzVTBGQlFUdExRVU5HTzBsQlJVOHNZMEZCWXl4SFFVRkJPMEZCUTNCQ0xGRkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkZka01zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXpRaXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRWxCUVVrc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF6dEJRVVV4UXl4WlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTjRSeXhUUVVGQk8wRkJSVVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU03UzBGRGJFTTdTVUZGVHl4WFFVRlhMRWRCUVVFN1VVRkRha0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0QlFVTXpRaXhaUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEyaEVMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNWMEZCVnl4SFFVRkhMRWxCUVVrc1EwRkJRenRMUVVOd1F6dEJRVU5HT3p0QlF5OUVXU3hOUVVGQkxESkNRVUUwUWl4VFFVRlJMRXRCUVVzc1EwRkJReXhqUVVGakxFTkJRVUU3UVVGUmJrVXNTVUZCUVN4WFFVRkJMRWRCUVVFN1FVRkRSU3hSUVVGQkxFdEJRVXNzUlVGQlJTeERRVUZETzBGQlJWSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF6dEJRVU5zUWl4UlFVRkJMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlJURkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1VVRkRhRU1zU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVVY0UXl4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNCRkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNWVUZCVlN4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVVUzUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRWxCUVVrc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNKRkxGRkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRkwwSXNTVUZCU1N4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xRkJRMjVDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRMUVVObU8wbEJSVTBzVFVGQlRTeEhRVUZCTzFGQlExZ3NTVUZCU1N4dlFrRkJiMElzUjBGQlJ5eExRVUZMTEVOQlFVTTdRVUZGYWtNc1VVRkJRU3hKUVVGSkxFbEJRVWtzUTBGQlF5eGpRVUZqTEV0QlFVc3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSVHRCUVVOMlF5eFpRVUZCTEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dFpRVU5zUXl4dlFrRkJiMElzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZETjBJc1UwRkJRVHRSUVVWRUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVTdXVUZEZUVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRMnhETEc5Q1FVRnZRaXhIUVVGSExFbEJRVWtzUTBGQlF6dEJRVU0zUWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hKUVVGSkxHOUNRVUZ2UWl4RlFVRkZPMWxCUTNoQ0xFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0QlFVTjJRaXhUUVVGQk8wdEJRMFk3U1VGRlR5eGpRVUZqTEVkQlFVRTdVVUZEY0VJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU16UWl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVsQlFVa3NTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJRenRaUVVVdlFpeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM1pFTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6VkVMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXpkRUxGTkJRVUU3UVVGRlJDeFJRVUZCTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF6dFJRVU14UlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRk9VVXNVVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5zUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVWQlFVVXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVVjRSaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNWMEZCVnl4SFFVRkhMRWxCUVVrc1EwRkJRenRMUVVOc1F6dEpRVVZQTEZkQlFWY3NSMEZCUVR0UlFVTnFRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF6TkNMRTFCUVUwc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1FVRkZlRUlzV1VGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJRenRCUVVOd1F5eFpRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRVZCUVVVc1IwRkJSeXhEUVVGRExFVkJRVVVzUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMEZCUTI1RUxGbEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNSVUZCUlN4SFFVRkhMRU5CUVVNc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZEY2tRc1UwRkJRVHRSUVVORUxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZGYmtNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNN1MwRkRjRU03UVVGRFJqczdRVU40UlVRc1RVRkJUVWNzVVVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8wRkJRM1JETEUxQlFVMURMRkZCUVUwc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0QlFVTjBReXhOUVVGTlNDeE5RVUZKTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03UVVGRGFrTXNUVUZCVFVNc1RVRkJTU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMEZCUldwRExFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETzBGQlF6TkRMRTFCUVUwc1dVRkJXU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zWVVGQllTeEZRVUZGTEdGQlFXRXNRMEZCUXl4RFFVRkRPMEZCUXk5RkxFMUJRVTBzWlVGQlpTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUlRWRExFMUJRVUVzWlVGQlowSXNVMEZCVVN4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGQk8wRkJUVGxETEVsQlFVRXNWMEZCUVN4RFFVRnRRaXhOUVVGcFFpeEZRVUZCTzBGQlEyeERMRkZCUVVFc1MwRkJTeXhGUVVGRkxFTkJRVU03UVVGRFVpeFJRVUZCTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUjBGQlJ5eExRVUZMTEVOQlFVTTdRVUZGT1VJc1VVRkJRU3hKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEUxQlFVMHNRMEZCUXp0QlFVVjRRaXhSUVVGQk8wRkJRMFVzV1VGQlFTeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMR2xDUVVGcFFpeEZRVUZGTEVOQlFVTTdRVUZEZWtNc1dVRkJRU3hSUVVGUkxFTkJRVU1zVFVGQlRTeEhRVUZITEVkQlFVY3NRMEZCUXp0QlFVVjBRaXhaUVVGQkxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMR2xDUVVGcFFpeERRVUZETzBGQlF6TkRMR2RDUVVGQkxFdEJRVXNzUlVGQlJTeFJRVUZSTzBGQlEyWXNaMEpCUVVFc1YwRkJWeXhGUVVGRkxFbEJRVWs3UVVGRGFrSXNaMEpCUVVFc1QwRkJUeXhGUVVGRkxFZEJRVWM3WjBKQlExb3NTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhWUVVGVk8wRkJRM1JDTEdkQ1FVRkJMRk5CUVZNc1JVRkJSU3hMUVVGTE8wRkJRMmhDTEdkQ1FVRkJMRlZCUVZVc1JVRkJSU3hMUVVGTE8wRkJRMnhDTEdGQlFVRXNRMEZCUXl4RFFVRkRPMEZCUlVnc1dVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzVVVGQlVTeERRVUZETEVOQlFVTTdRVUZEY2tRc1dVRkJRU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRCUVVNelFpeFRRVUZCTzBGQlJVUXNVVUZCUVR0QlFVTkZMRmxCUVVFc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeHBRa0ZCYVVJc1JVRkJSU3hEUVVGRE8wRkJRM3BETEZsQlFVRXNVVUZCVVN4RFFVRkRMRTFCUVUwc1IwRkJSeXhIUVVGSExFTkJRVU03UVVGRmRFSXNXVUZCUVN4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eHBRa0ZCYVVJc1EwRkJRenRCUVVNelF5eG5Ra0ZCUVN4TFFVRkxMRVZCUVVVc1VVRkJVVHRCUVVObUxHZENRVUZCTEZkQlFWY3NSVUZCUlN4SlFVRkpPMEZCUTJwQ0xHZENRVUZCTEU5QlFVOHNSVUZCUlN4SFFVRkhPMmRDUVVOYUxFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVTXNWVUZCVlR0QlFVTjBRaXhuUWtGQlFTeFRRVUZUTEVWQlFVVXNTMEZCU3p0QlFVTm9RaXhuUWtGQlFTeFZRVUZWTEVWQlFVVXNTMEZCU3p0QlFVTnNRaXhoUVVGQkxFTkJRVU1zUTBGQlF6dEJRVVZJTEZsQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRMjVFTEZsQlFVRXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdRVUZEZWtJc1UwRkJRVHRCUVVWRUxGRkJRVUU3UVVGRFJTeFpRVUZCTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc01rSkJRVEpDTEVWQlFVVXNRMEZCUXp0QlFVTnVSQ3haUVVGQkxGRkJRVkVzUTBGQlF5eE5RVUZOTEVkQlFVY3NSMEZCUnl4RFFVRkRPMEZCUlhSQ0xGbEJRVUVzVFVGQlRTeFJRVUZSTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTTdRVUZETTBNc1owSkJRVUVzUzBGQlN5eEZRVUZGTEZGQlFWRTdRVUZEWml4blFrRkJRU3hUUVVGVExFVkJRVVVzUzBGQlN6dEJRVU5vUWl4blFrRkJRU3hWUVVGVkxFVkJRVVVzUzBGQlN6dEJRVU5zUWl4aFFVRkJMRU5CUVVNc1EwRkJRenRCUVVWSUxGbEJRVUVzU1VGQlNTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhaUVVGWkxFTkJRVU1zVVVGQlVTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUXpsRUxGbEJRVUVzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4aFFVRmhMRWRCUVVjc1MwRkJTeXhEUVVGRE8wRkJRM1pETEZsQlFVRXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdRVUZETlVJc1UwRkJRVHRMUVVOR08wbEJSVTBzVDBGQlR5eEhRVUZCTzBGQlExb3NVVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTnFReXhSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJSV3BETEZGQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhSUVVGUkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZEYmtNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEZGQlFWRXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVWdVF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1VVRkJVU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQlEzQkRMRkZCUVVFc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1MwRkRja003UVVGRlRTeEpRVUZCTEdsQ1FVRnBRaXhEUVVGRExFdEJRV01zUlVGQlFUczdRVUZGY2tNc1VVRkJRU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXp0UlFVTjZSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRWRCUVVjc1IwRkJSeXhEUVVGRE8wRkJRMjVETEZGQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhSUVVGUkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZGYUVNc1VVRkJRU3hOUVVGTkxFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTTNSQ3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wRkJRM1pETEZGQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhSUVVGUkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdPMEZCUjJ4RExGRkJRVUVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4elFrRkJjMElzUTBGQlEwUXNUVUZCU1N4RFFVRkRMRU5CUVVNN1FVRkROVU1zVVVGQlFTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMSGRDUVVGM1FpeERRVUZEUlN4UlFVRk5MRU5CUVVNc1EwRkJRenM3UVVGSGFFUXNVVUZCUVVFc1VVRkJUU3hEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMSE5DUVVGelFpeERRVUZEUXl4UlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRE96dFJRVWN2UkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTklMRTFCUVVrc1EwRkJReXhEUVVGRE8xRkJRMnhETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlEwVXNVVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkZkRU1zU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRFJpeE5RVUZKTEVOQlFVTXNRMEZCUXp0UlFVTndReXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVORkxGRkJRVTBzUTBGQlF5eERRVUZETzBGQlEzaERMRkZCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFZRVUZWTEVOQlFVTXNVVUZCVVN4RFFVRkRReXhSUVVGTkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1pVRkJaU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYmtZc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFZRVUZWTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRE96dFJRVWRzUkN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxGVkJRVlVzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNN1FVRkRPVU1zVVVGQlFTeEpRVUZKTEUxQlFVMHNTVUZCU1N4SlFVRkpMRWxCUVVrc1ZVRkJWU3hGUVVGRk8xbEJRMmhETEUxQlFVMHNRMEZCUXl4blFrRkJaMElzUTBGQlEwWXNUVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRFJDeE5RVUZKTEVOQlFVTXNRMEZCUXp0WlFVTjRReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRFF5eE5RVUZKTEVOQlFVTXNRMEZCUXp0QlFVTXhReXhaUVVGQkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8xbEJRMjVETEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlEwUXNUVUZCU1N4RFFVRkRMRU5CUVVNN1FVRkRkRU1zVTBGQlFUczdRVUZIUkN4UlFVRkJMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRMUVVOb1F6dEJRVU5HT3p0QlF6TklSQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOMFF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVVZ1UXpzN096czdPenRCUVU5SE8wRkJRMkVzVTBGQlFTeHpRa0ZCYzBJc1EwRkJReXhOUVVGelFpeEZRVUZGTEVkQlFYRkNMRVZCUVVFN1NVRkRiRVlzVFVGQlRTeERRVUZETEZkQlFWY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0QlFVTnlSQ3hKUVVGQkxFOUJRVThzUjBGQlJ5eERRVUZETzBGQlEySTdPMEZEWkVFN096czdPenM3T3pzN1FVRlZSenRCUVVOSExGTkJRVlVzYlVKQlFXMUNMRU5CUVVNc1RVRkJjVUlzUlVGQlFUdEpRVU4yUkN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRka2c3TzBGRFprRTdPenM3T3pzN096dEJRVk5ITzBGQlEwY3NVMEZCVlN4aFFVRmhMRU5CUVVNc1MwRkJZU3hGUVVGQk8wRkJRM3BETEVsQlFVRXNUVUZCVFN4VFFVRlRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU53UkN4UFFVRlBMRXRCUVVzc1IwRkJSeXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVWQlFVVXNSMEZCUnl4VFFVRlRMRU5CUVVNN1FVRkRNME03TzBGRFRFRXNUVUZCVFVrc2FVSkJRV1VzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVVjZSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOcVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVU5xUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTnFReXhOUVVGTlJpeFJRVUZOTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03UVVGRGRFTXNUVUZCVFVNc1VVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMEZCUTNSRExFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8wRkJRM1JETEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzBGQlEzUkRMRTFCUVUxRkxGTkJRVThzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJRenRCUVVWc1F6czdRVUZGUnp0TlFVTlZMRk5CUVZNc1EwRkJRVHRCUVRoRGNFSTdPMEZCUlVjN1FVRkRTQ3hKUVVGQkxFbEJRVmNzUjBGQlJ5eEhRVUZCTzFGQlExb3NUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRE8wdEJRMnhDTzBGQlJVUTdPMEZCUlVjN1NVRkRTQ3hKUVVGWExFZEJRVWNzUTBGQlF5eExRVUZoTEVWQlFVRTdRVUZETVVJc1VVRkJRU3hKUVVGSkxFTkJRVU1zU1VGQlNTeEhRVUZITEV0QlFVc3NRMEZCUXp0QlFVTnNRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRPMHRCUXpGQ08wRkJUMFE3TzBGQlJVYzdRVUZEU0N4SlFVRkJMRWxCUVZjc1MwRkJTeXhIUVVGQk8xRkJRMlFzVDBGQlR5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRPMHRCUTNCQ08wRkJSVVE3TzBGQlJVYzdTVUZEU0N4SlFVRlhMRXRCUVVzc1EwRkJReXhMUVVGaExFVkJRVUU3UVVGRE5VSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFdEJRVXNzUTBGQlF6dEJRVU53UWl4UlFVRkJMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETzB0QlF6RkNPMEZCV1VRN08wRkJSVWM3UVVGRFNDeEpRVUZCTEVsQlFWY3NTMEZCU3l4SFFVRkJPMEZCUTJRc1VVRkJRU3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEhsRVFVRjVSQ3hEUVVGRExFTkJRVU03VVVGRmVFVXNUMEZCVHl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRU5CUVVNN1MwRkRla003UVVGRlJEczdPenM3UVVGTFJ6dEpRVU5JTEZkQlFXMUNMRU5CUVVFc1VVRkJjVUlzUlVGQlJTeFBRVUY1UWl4RlFVRkJPMEZCZGtkdVJUczdRVUZGUnp0QlFVTkpMRkZCUVVFc1NVRkJRU3hEUVVGQkxHdENRVUZyUWl4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQldXaEVPenM3T3p0QlFVdEhPMUZCUTBrc1NVRkJWU3hEUVVGQkxGVkJRVUVzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZWZWtJN096czdRVUZKUnp0QlFVTkpMRkZCUVVFc1NVRkJRU3hEUVVGQkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0QlFXOUZiRVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRkZCUVZFc1EwRkJRenRCUVVONlFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1QwRkJUeXhEUVVGRE8wRkJSWFpDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU03UVVGRGFFSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF6dEJRVU5zUWl4UlFVRkJMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETzBGQlJYcENMRkZCUVVFc1NVRkJTU3hEUVVGRExIZENRVUYzUWl4SFFVRkhMRWxCUVVrc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4SlFVRkpMRXRCUVVzc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF5eERRVUZETzB0QlEzWkdPMEZCUlVRN096czdPMEZCUzBjN1FVRkRTU3hKUVVGQkxGRkJRVkVzUTBGQlF5eE5RVUZ0UWl4RlFVRkJPMEZCUTJwRExGRkJRVUVzVDBGQlR5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hIUVVGSExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdTMEZETTBjN1FVRkZSRHM3T3pzN08wRkJUVWM3UVVGRFNTeEpRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRnBRaXhGUVVGQk8wRkJRek5DTEZGQlFVRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1VVRkJVU3hMUVVGTExFMUJRVTBzUTBGQlF5eFJRVUZSTEVWQlFVVTdRVUZEY2tNc1dVRkJRU3hOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEcxRVFVRnRSQ3hEUVVGRExFTkJRVU03UVVGRGRFVXNVMEZCUVR0UlFVVkVMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1FVRkRlRVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU03UVVGRE9VSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hIUVVGSExFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTTdRVUZEY0VNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkROVUlzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzBGQlJYUkRMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UzBGRFlqdEJRVVZFT3pzN08wRkJTVWM3U1VGRFNTeExRVUZMTEVkQlFVRTdRVUZEVml4UlFVRkJMRTlCUVU4c1NVRkJTU3hUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMHRCUXpsRU8wRkJSVVE3TzBGQlJVYzdTVUZEU1N4TFFVRkxMRWRCUVVFN1FVRkRWaXhSUVVGQkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVkQlFVY3NSMEZCUnl4RFFVRkRPMEZCUTJoQ0xGRkJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4SFFVRkhMRU5CUVVNN1FVRkRiRUlzVVVGQlFTeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJRenRMUVVNeFFqdEJRVVZFT3pzN08wRkJTVWM3UVVGRFNTeEpRVUZCTEhOQ1FVRnpRaXhEUVVGRExFMUJRWEZDTEVWQlFVRTdVVUZEYWtRc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4alFVRmpMRU5CUVVNc1RVRkJUU3hEUVVGRkxFTkJRVU03UVVGRmJrUXNVVUZCUVN4UFFVRlBMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFTkJRVU1zV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRMUVVNMVJUdEJRVVZFT3pzN096dEJRVXRITzBGQlEwa3NTVUZCUVN4M1FrRkJkMElzUTBGQlF5eE5RVUYzUWl4RlFVRkJPMUZCUTNSRUxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1kwRkJZeXhEUVVGRExFMUJRVTBzUTBGQlJTeERRVUZETzBGQlJXNUVMRkZCUVVFc1QwRkJUeXh6UWtGQmMwSXNRMEZCUXl4SlFVRkpMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03UzBGRE4wTTdRVUZGUkRzN096dEJRVWxITzBGQlEwa3NTVUZCUVN4elFrRkJjMElzUTBGQlF5eE5RVUYzUWl4RlFVRkJPMUZCUTNCRUxFbEJRVWtzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4cFFrRkJhVUlzUTBGQlEwUXNhVUpCUVdVc1EwRkJReXhIUVVGSExFbEJRVWtzUlVGQlJUdFpRVU0xUkN4UFFVRlBMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEhkQ1FVRjNRaXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZETlVRc1UwRkJRVHRCUVVWRUxGRkJRVUVzVFVGQlRTeERRVUZETEdkQ1FVRm5RaXhGUVVGRkxHbENRVUZwUWl4RFFVRkRMRWRCUVVjc2JVSkJRVzFDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8wRkJRMnhHTEZGQlFVRkRMRk5CUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1JVRkJSU3hIUVVGSExHZENRVUZuUWl4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUlRkRkxFOUJRVThzVFVGQlRTeERRVUZETEZsQlFWa3NRMEZCUTBFc1UwRkJUeXhEUVVGRExFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExIZENRVUYzUWl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF6dExRVU4wUnp0QlFVVkVPenM3TzBGQlNVYzdRVUZEU1N4SlFVRkJMSFZDUVVGMVFpeERRVUZETEUxQlFYRkNMRVZCUVVFN1FVRkRiRVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU5HTEZGQlFVMHNRMEZCUXl4RFFVRkRPMEZCUTNSRExGRkJRVUVzU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlJYQkRMRkZCUVVFc1QwRkJUeXhOUVVGTk8yRkJRMVlzU1VGQlNTeERRVUZEUXl4cFFrRkJaU3hEUVVGRE8yRkJRM0pDTEdWQlFXVXNRMEZCUTBRc1VVRkJUU3hEUVVGRE8yRkJRM1pDTEdWQlFXVXNRMEZCUXl4TlFVRk5MRU5CUVVNN1lVRkRka0lzVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVORkxGTkJRVThzUTBGQlF5eERRVUZETEVOQlFVTTdTMEZEZGtNN1FVRkZSRHM3T3pzN096czdRVUZSUnp0QlFVTkpMRWxCUVVFc1RVRkJUU3hEUVVGRExGRkJRWFZDTEVWQlFVRTdPMUZCUlc1RExFMUJRVTBzWTBGQll5eEhRVUZIU0N4UlFVRk5PMEZCUXpGQ0xHRkJRVUVzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4M1FrRkJkMElzUTBGQlF6dGhRVU51UXl4UlFVRlJMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNTVUZCU1N4RFFVRkRMSGRDUVVGM1FpeERRVUZEUXl4UlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGNrVXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRMnhFTEUxQlFVMHNVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExHVkJRV1VzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenM3UVVGSEwwWXNVVUZCUVN4TlFVRk5MRU5CUVVNc1YwRkJWeXhGUVVGRkxGbEJRVmtzUTBGQlF5eEhRVUZITEcxQ1FVRnRRaXhEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0UlFVTjRSU3hOUVVGTkxFTkJRVU1zVTBGQlV5eEZRVUZGTEZWQlFWVXNRMEZCUXl4SFFVRkhMRzFDUVVGdFFpeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUXk5RUxFMUJRVTBzUjBGQlJ5eEhRVUZITEdGQlFXRXNRMEZCUXl4VFFVRlRMRWRCUVVjc1YwRkJWeXhEUVVGRExFTkJRVU03VVVGRGJrUXNUVUZCVFN4TFFVRkxMRWRCUVVjc1lVRkJZU3hEUVVGRExGbEJRVmtzUjBGQlJ5eFZRVUZWTEVOQlFVTXNRMEZCUXpzN1VVRkhka1FzU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUjBGQlJ5eEhRVUZITEVOQlFVTTdVVUZETVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1IwRkJSeXhMUVVGTExFTkJRVU03UVVGRk9VTXNVVUZCUVN4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF6dExRVU14UWp0QlFVVkVPenM3T3p0QlFVdEhPMEZCUTBrc1NVRkJRU3hOUVVGTkxFTkJRVU1zUzBGQllTeEZRVUZCTzFGQlEzcENMRWxCUVVrc1NVRkJTU3hEUVVGRExFMUJRVTBzU1VGQlNTeEpRVUZKTEVsQlFVa3NTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSVHRCUVVNeFF5eFpRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEycEVMRk5CUVVFN1VVRkZSQ3hKUVVGSkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlFVVTdRVUZEY2tJc1dVRkJRU3hKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEV0QlFVc3NRMEZCUXp0QlFVVXhRaXhaUVVGQkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUTNCRUxGTkJRVUU3UzBGRFJqczdRVUV4VVhOQ0xGTkJRVUVzUTBGQlFTeFhRVUZYTEVkQlFVY3NTMEZCU3l4RFFVRkRPenRCUTJoQ04wTXNUVUZCVFN4bFFVRmxMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRmVrUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTTdRVUZEZEVNc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNWVUZCVlN4RlFVRkZMRU5CUVVNN1FVRkRkRU1zVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJSWFJFT3pzN1FVRkhSenROUVVOVkxHOUNRVUZ2UWl4RFFVRkJPMEZCTUVRdlFqczdPenM3T3pzN1FVRlJSenRKUVVOSUxGZEJRMFVzUTBGQlFTeFJRVUZ4UWl4RlFVTnlRaXgxUWtGQk1FTXNSVUZETVVNc2RVSkJRVEJETEVWQlF6RkRMRzlDUVVGMVF5eEZRVU4yUXl4clFrRkJjVU1zUlVGQlFUdEJRVVZ5UXl4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETzBGQlJYcENMRkZCUVVFc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4SFFVRkhMSFZDUVVGMVFpeERRVUZETzBGQlEzWkVMRkZCUVVFc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4SFFVRkhMSFZDUVVGMVFpeERRVUZETzBGQlEzWkVMRkZCUVVFc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4SFFVRkhMRzlDUVVGdlFpeERRVUZETzBGQlEycEVMRkZCUVVFc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4SFFVRkhMR3RDUVVGclFpeERRVUZETzBGQlJUZERMRkZCUVVFc1NVRkJTU3hEUVVGRExGTkJRVk1zUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXpzN1VVRkhiRVFzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMUZCUXk5RExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0UlFVTm9SQ3hKUVVGSkxFTkJRVU1zTWtKQlFUSkNMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTTdVVUZETVVRc1NVRkJTU3hEUVVGRExEUkNRVUUwUWl4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzFGQlJUTkVMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNZMEZCWXl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8xRkJRM2hFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zWTBGQll5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMEZCUlRGRUxGRkJRVUVzU1VGQlNTeFBRVUZQTEVWQlFVVTdXVUZEV0N4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dFpRVU12UXl4elFrRkJjMElzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVHl4RlFVRkZMRWxCUVVrc1EwRkJReXd5UWtGQk1rSXNRMEZCUXl4RFFVRkRPMEZCUXpORkxGTkJRVUU3UVVGRlJDeFJRVUZCTEVsQlFVa3NVVUZCVVN4RlFVRkZPMWxCUTFvc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdXVUZEYWtRc2MwSkJRWE5DTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVU4c1JVRkJSU3hKUVVGSkxFTkJRVU1zTkVKQlFUUkNMRU5CUVVNc1EwRkJRenRCUVVNM1JTeFRRVUZCTzB0QlEwWTdRVUZGUkRzN096czdRVUZMUnp0SlFVTkpMR0ZCUVdFc1EwRkJReXhIUVVGWExFVkJRVVVzUzBGQllTeEZRVUZCTzFGQlF6ZERMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNZMEZCWXl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8xRkJRM2hFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zWTBGQll5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMUZCUXpGRUxFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFJRVU42UlN4TlFVRk5MR3RDUVVGclFpeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN08wRkJSVE5GTEZGQlFVRXNTVUZCU1N4UFFVRlBMRVZCUVVVN1dVRkRXQ3hKUVVGSkxFdEJRVXNzUjBGQlJ5eEhRVUZITEVWQlFVVTdRVUZEWml4blFrRkJRU3hQUVVGUExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUXpsRkxHRkJRVUU3UVVGQlRTeHBRa0ZCUVR0QlFVTk1MR2RDUVVGQkxFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTXhSU3hoUVVGQk8xbEJSVVFzU1VGQlNTeEhRVUZITEVkQlFVY3NSMEZCUnl4RlFVRkZPMEZCUTJJc1owSkJRVUVzVDBGQlR5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVNdlJTeGhRVUZCTzBGQlFVMHNhVUpCUVVFN1FVRkRUQ3huUWtGQlFTeFBRVUZQTEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkROMFVzWVVGQlFUdEJRVVZFTEZsQlFVRXNUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dEJRVU0zUWl4WlFVRkJMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenM3T3p0WlFVdHdReXhwUWtGQmEwSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkZkRVlzV1VGQlFTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXd5UWtGQk1rSXNRMEZCUXl4RFFVRkRPenM3UVVGSk9VTXNXVUZCUVN4UFFVRlBMRU5CUVVNc1ZVRkJWVHRCUVVObUxHbENRVUZCTEVsQlFVa3NRMEZCUXl4cFFrRkJhMElzUTBGQlF5eFZRVUZWTEVOQlFVTTdhVUpCUTI1RExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc2FVSkJRVUVzVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRCUVVNMVFpeHBRa0ZCUVN4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNN1FVRkRjRU1zVTBGQlFUczdRVUZIUkN4UlFVRkJMRWxCUVVrc1VVRkJVU3hGUVVGRk8xbEJRMW9zU1VGQlNTeExRVUZMTEVkQlFVY3NSMEZCUnl4RlFVRkZPMEZCUTJZc1owSkJRVUVzVDBGQlR5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVNNVJTeGhRVUZCTzBGQlFVMHNhVUpCUVVFN1FVRkRUQ3huUWtGQlFTeFBRVUZQTEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1FVRkRNVVVzWVVGQlFUdFpRVVZFTEVsQlFVa3NSMEZCUnl4SFFVRkhMRWRCUVVjc1JVRkJSVHRCUVVOaUxHZENRVUZCTEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGREwwVXNZVUZCUVR0QlFVRk5MR2xDUVVGQk8wRkJRMHdzWjBKQlFVRXNUMEZCVHl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJRemRGTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdRVUZETjBJc1dVRkJRU3hKUVVGSkxFTkJRVU1zYzBKQlFYTkNMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03T3pzN1dVRkxjRU1zYTBKQlFXMUNMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJSWFpHTEZsQlFVRXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zTkVKQlFUUkNMRU5CUVVNc1EwRkJRenM3TzBGQlNTOURMRmxCUVVFc1VVRkJVU3hEUVVGRExGVkJRVlU3UVVGRGFFSXNhVUpCUVVFc1NVRkJTU3hEUVVGRExHdENRVUZ0UWl4RFFVRkRMRlZCUVZVc1EwRkJRenRwUWtGRGNFTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJRenRCUVVOb1FpeHBRa0ZCUVN4WFFVRlhMRU5CUVVNc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzBGQlF6VkNMR2xDUVVGQkxGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlF6dEJRVU55UXl4VFFVRkJPMHRCUTBZN1FVRkZSRHM3UVVGRlJ6dEJRVU5KTEVsQlFVRXNUVUZCVFN4RFFVRkRMRXRCUVd0Q0xFVkJRVUU3UVVGRE9VSXNVVUZCUVN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExHOUZRVUZ2UlN4RFFVRkRMRU5CUVVNN1VVRkZia1lzVFVGQlRTeEhRVUZITEVkQlFVY3NTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhQUVVGUExFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTTVReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1IwRkJSeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlJXaEVMRkZCUVVFc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1MwRkRhRU03UVVGRlJEczdPenRCUVVsSE8wRkJRMHNzU1VGQlFTeHpRa0ZCYzBJc1EwRkJReXhOUVVGM1FpeEZRVUZCTzFGQlEzSkVMRWxCUVVrc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhsUVVGbExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVWQlFVVTdRVUZETlVRc1dVRkJRU3hQUVVGUExFMUJRVTBzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXp0QlFVTXhRaXhUUVVGQk8wRkJSVVFzVVVGQlFTeE5RVUZOTEVOQlFVTXNaMEpCUVdkQ0xFVkJRVVVzYVVKQlFXbENMRU5CUVVNc1IwRkJSeXh0UWtGQmJVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03UVVGRGJFWXNVVUZCUVN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRVZCUVVVc1IwRkJSeXhuUWtGQlowSXNSVUZCUlN4cFFrRkJhVUlzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVVTNSU3hSUVVGQkxFOUJRVThzVFVGQlRTeERRVUZETEZsQlFWa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRMUVVOeVF6czdRVUU1VFVRN08wRkJSVWM3UVVGRGIwSXNiMEpCUVVrc1EwRkJRU3hKUVVGQkxFZEJRVWNzVFVGQlRUczdRVU5vUW5SRE96czdRVUZIUnp0TlFVTlZMREJDUVVFd1FpeERRVUZCTzBGQlowTnlRenM3T3pzN096czdRVUZSUnp0SlFVTklMRmRCUTBVc1EwRkJRU3hYUVVGcFF5eEZRVU5xUXl4MVFrRkJNRU1zUlVGRE1VTXNkVUpCUVRCRExFVkJRekZETEc5Q1FVRjFReXhGUVVOMlF5eHJRa0ZCY1VNc1JVRkJRVHRCUVVWeVF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1YwRkJWeXhEUVVGRE8wRkJSUzlDTEZGQlFVRXNTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeEhRVUZITEhWQ1FVRjFRaXhEUVVGRE8wRkJRM1pFTEZGQlFVRXNTVUZCU1N4RFFVRkRMSFZDUVVGMVFpeEhRVUZITEhWQ1FVRjFRaXhEUVVGRE8wRkJRM1pFTEZGQlFVRXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEhRVUZITEc5Q1FVRnZRaXhEUVVGRE8wRkJRMnBFTEZGQlFVRXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeEhRVUZITEd0Q1FVRnJRaXhEUVVGRE8wdEJRemxETzBGQlJVUTdPenM3TzBGQlMwYzdTVUZEU1N4aFFVRmhMRU5CUVVNc1IwRkJWeXhGUVVGRkxFdEJRV0VzUlVGQlFUdFJRVU0zUXl4SlFVRkpMRXRCUVVzc1IwRkJSeXhIUVVGSExFVkJRVVU3V1VGRFppeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZETTBNc1dVRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZGQlFWRXNRMEZCUXl4UlFVRlJMRVZCUVVVc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETVVVc1UwRkJRVHRCUVVGTkxHRkJRVUU3V1VGRFRDeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRkZCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZEZWtNc1dVRkJRU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEZGQlFWRXNRMEZCUXl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6ZEZMRk5CUVVFN1VVRkZSQ3hKUVVGSkxFZEJRVWNzUjBGQlJ5eEhRVUZITEVWQlFVVTdXVUZEWWl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGRkJRVkVzUTBGQlF5eFZRVUZWTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkRNME1zV1VGQlFTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFVkJRVVVzU1VGQlNTeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRhRVlzVTBGQlFUdEJRVUZOTEdGQlFVRTdXVUZEVEN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGRkJRVkVzUTBGQlF5eFhRVUZYTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkROVU1zV1VGQlFTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXpsRkxGTkJRVUU3UzBGRFJqdEJRVVZFT3p0QlFVVkhPMEZCUTBrc1NVRkJRU3hOUVVGTkxFTkJRVU1zUzBGQmEwSXNSVUZCUVR0QlFVTTVRaXhSUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNiMFZCUVc5RkxFTkJRVU1zUTBGQlF6dFJRVVZ1Uml4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRemxETEUxQlFVMHNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQlR5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkZhRVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dExRVU5vUXpzN1FVRjZSa1E3TzBGQlJVYzdRVUZEYjBJc01FSkJRVWtzUTBGQlFTeEpRVUZCTEVkQlFVY3NXVUZCV1RzN1RVTllMMElzYVVKQlFXbENMRU5CUVVFN1FVRlpOVUk3T3pzN08wRkJTMGM3U1VGRFNDeFhRVUZ0UWl4RFFVRkJMR0ZCUVhGQ0xFVkJRVVVzVjBGQmJVSXNSVUZCUVR0QlFVTXpSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVkQlFVY3NZVUZCWVN4RFFVRkRPMEZCUTI1RExGRkJRVUVzU1VGQlNTeERRVUZETEZkQlFWY3NSMEZCUnl4WFFVRlhMRU5CUVVNN1MwRkRhRU03UVVGRlJEczdPMEZCUjBjN1FVRkRTU3hKUVVGQkxFZEJRVWNzUTBGQlF5eEhRVUZYTEVWQlFVRTdRVUZEY0VJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NVVUZCVVN4RFFVRkRMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVOQlFVTTdTMEZET1VRN1FVRkRSanM3UVVOc1FrUTdPMEZCUlVjN1FVRkRTQ3hOUVVGTlNpeDNRa0ZCYzBJc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVFZFT3pzN1FVRkhSenRCUVVOSUxFMUJRVTBzZFVKQlFYVkNMRWRCUVVjc1NVRkJTU3hEUVVGRE8wRkJSWEpET3p0QlFVVkhPMDFCUTFVc2NVSkJRWEZDTEVOQlFVRTdRVUZWYUVNc1NVRkJRU3hKUVVGWExFbEJRVWtzUjBGQlFUczdRVUZGWWl4UlFVRkJMRTlCUVU4c2RVSkJRWFZDTEVOQlFVTTdTMEZEYUVNN1NVRkZSQ3hYUVVGdFFpeERRVUZCTEUxQlFXdENMRVZCUVVVc1QwRkJjME1zUlVGQlFUdEJRVU16UlN4UlFVRkJMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETzFGQlJYSkNMRWxCUVVrc1EwRkJReXhWUVVGVkxFZEJRVWNzVDBGQlR5eExRVUZCTEVsQlFVRXNTVUZCVUN4UFFVRlBMRXRCUVZBc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNUMEZCVHl4RFFVRkZMRlZCUVZVc1EwRkJRenRMUVVOMlF6dEJRVVZaTEVsQlFVRXNVMEZCVXl4RFFVRkRMRWxCUVZVc1JVRkJRVHM3UVVGREwwSXNXVUZCUVN4TlFVRk5MRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZkQlFYTkRMRU5CUVVNN096dFpRVWw2UlN4SlFVRkpMRmRCUVZjc1MwRkJTeXhKUVVGSkxFVkJRVVU3WjBKQlEzaENMRTlCUVU4N1FVRkRVaXhoUVVGQk8ybENRVUZOTEVsQlFVa3NWMEZCVnl4TFFVRkxMRk5CUVZNc1JVRkJSVHRCUVVOd1F5eG5Ra0ZCUVN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExHZEhRVUZuUnl4RFFVRkRMRU5CUVVNN1FVRkRia2dzWVVGQlFUdEJRVVZFTEZsQlFVRXNUVUZCVFN4dlFrRkJiMElzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRzlDUVVGM1JDeERRVUZETzFsQlJYQkhMRWxCUVVrc2IwSkJRVzlDTEV0QlFVc3NTVUZCU1N4RlFVRkZPMmRDUVVOcVF5eFBRVUZQTzBGQlExSXNZVUZCUVR0cFFrRkJUU3hKUVVGSkxHOUNRVUZ2UWl4TFFVRkxMRk5CUVZNc1JVRkJSVHRCUVVNM1F5eG5Ra0ZCUVN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVOaUxESkhRVUV5Unl4RFFVTTFSeXhEUVVGRE8wRkJRMGdzWVVGQlFUdEJRVVZFTEZsQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1JVRkJSU3hYUVVGWExFVkJRVVVzYjBKQlFXOUNMRU5CUVVNc1EwRkJRenRUUVVOMlJpeERRVUZCTEVOQlFVRTdRVUZCUVN4TFFVRkJPMEZCUlVRN096czdPenRCUVUxSE8wRkJRMWNzU1VGQlFTeFBRVUZQTEVOQlEyNUNMRWxCUVZVc1JVRkRWaXhSUVVFMFFpeEZRVU0xUWl4WFFVRjNReXhGUVVGQk96dEJRVVY0UXl4WlFVRkJMRWxCUVVrc1VVRkJVU3hKUVVGSkxFbEJRVWtzU1VGQlNTeFhRVUZYTEVsQlFVa3NTVUZCU1N4RlFVRkZPMEZCUXpORExHZENRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc1lVRkJRVHRCUVVWRUxGbEJRVUVzVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUlVGQlJTeFJRVUZSTEVWQlFVVXNWMEZCVnl4RFFVRkRMRU5CUVVNN1FVRkRia1VzV1VGQlFTeEpRVUZKTEZGQlFWRXNSVUZCUlR0QlFVTmFMR2RDUVVGQkxFOUJRVThzVVVGQlVTeERRVUZETzBGQlEycENMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFMUJRVTBzVVVGQlVTeEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFVkJRVVVzVVVGQlVTeEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRPMEZCUTI1RkxGbEJRVUVzU1VGQlNTeFJRVUZSTEVWQlFVVTdRVUZEV2l4blFrRkJRU3hQUVVGUExGRkJRVkVzUTBGQlF6dEJRVU5xUWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dFRRVU5pTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUVVFN1FVRkZZU3hKUVVGQkxGTkJRVk1zUTBGRGNrSXNTVUZCVlN4RlFVTldMRkZCUVhGQ0xFVkJRM0pDTEZkQlFXbERMRVZCUVVFN096dEJRVVZxUXl4WlFVRkJMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCZDBJc1EwRkJRenM3UVVGSGJFUXNXVUZCUVN4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVa3NRMEZCUXl4alFVRmpMRTFCUVVVc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzVDBGQlR5eERRVUZETEZWQlFWVXNRMEZCUXl4TlFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMnhGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRVZCUVVVN1FVRkRaQ3huUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN1dVRkZSQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEZWQlFWVXNRMEZCYjBNc1EwRkJRenRaUVVOdVJpeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVRkZPMEZCUTJRc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eFRRVUZUTEVOQlFVTXNWMEZCVnl4RFFVRkRPMEZCUXpGRExGbEJRVUVzU1VGQlNTeERRVUZEUVN4M1FrRkJjMElzUTBGQlF5eEhRVUZITEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVN1FVRkROVU1zWjBKQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXgzUkVGQmQwUXNWMEZCVnl4RFFVRkJMRU5CUVVFc1EwRkJSeXhEUVVGRExFTkJRVU03UVVGRGNrWXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzBGQlJVUXNXVUZCUVN4TlFVRk5MRmxCUVZrc1IwRkJSeXhUUVVGVExFTkJRVU1zVFVGQlRTeERRVUZETzFsQlEzUkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVU3UVVGRGFrSXNaMEpCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU03UVVGRFlpeGhRVUZCTzBGQlJVUXNXVUZCUVN4TlFVRk5MR3RDUVVGclFpeEhRVUZITEZsQlFWa3NRMEZCUXl4SlFVRkpMRXRCUVVzc1dVRkJXU3hIUVVGSExFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZGTTBVc1dVRkJRU3hOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zV1VGQldTeERRVUZETEhWQ1FVRjFRaXhGUVVGRkxHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1FVRkRMMFlzV1VGQlFTeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNXVUZCV1N4RFFVRkRMSFZDUVVGMVFpeEZRVUZGTEd0Q1FVRnJRaXhEUVVGRExFTkJRVU03UVVGREwwWXNXVUZCUVN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1dVRkJXU3hEUVVGRExHOUNRVUZ2UWl4RlFVRkZMR3RDUVVGclFpeERRVUZETEVOQlFVTTdRVUZETlVZc1dVRkJRU3hOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zV1VGQldTeERRVUZETEd0Q1FVRnJRaXhGUVVGRkxHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1FVRkZNVVlzV1VGQlFTeEpRVUZKTEU5QlFVOHNRMEZCUXp0QlFVVmFMRmxCUVVFc1NVRkJTU3haUVVGWkxFTkJRVU1zU1VGQlNTeExRVUZMTEZsQlFWa3NSVUZCUlR0QlFVTjBReXhuUWtGQlFTeFBRVUZQTEVkQlFVY3NTVUZCU1N3d1FrRkJNRUlzUTBGQlF5eFhRVUZYTEVWQlFVVXNTMEZCU3l4RlFVRkZMRXRCUVVzc1JVRkJSU3hMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdRVUZEYmtZc1lVRkJRVHRCUVVGTkxHbENRVUZCTzBGQlEwd3NaMEpCUVVFc1QwRkJUeXhIUVVGSExFbEJRVWtzYjBKQlFXOUNMRU5CUVVNc1VVRkJVU3hGUVVGRkxFdEJRVXNzUlVGQlJTeExRVUZMTEVWQlFVVXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRekZGTEdGQlFVRTdXVUZGUkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEZGQlFWRXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRCUVVWeVJDeFpRVUZCTEUxQlFVMHNRMEZCUXl4clFrRkJhMElzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUVN4RlFVRkJMRWRCUVVFc1dVRkJXU3hEUVVGRExHdENRVUZyUWl4TlFVRkpMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkJMRU5CUVVNc1IwRkJSeXhGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlhwR0xGbEJRVUVzVDBGQlR5eE5RVUZOTEVOQlFVTTdPMEZCUTJZc1MwRkJRVHRKUVVWUExHbENRVUZwUWl4RFFVTjJRaXhqUVVGelJDeEZRVU4wUkN4clFrRkJNRUlzUlVGQlFUczdRVUZGTVVJc1VVRkJRU3hKUVVGSkxHRkJRV0VzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4alFVRmpMRXRCUVdRc1NVRkJRU3hKUVVGQkxHTkJRV01zUzBGQlpDeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hqUVVGakxFTkJRVVVzWVVGQllTeE5RVUZKTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVa3NRMEZCUXp0QlFVTXhSQ3hSUVVGQkxFMUJRVTBzVjBGQlZ5eEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMR05CUVdNc1MwRkJaQ3hKUVVGQkxFbEJRVUVzWTBGQll5eExRVUZrTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxHTkJRV01zUTBGQlJTeFhRVUZYTEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU03T3pzN1VVRkxkRVVzU1VGQlNTeGhRVUZoTEVkQlFVY3NkVUpCUVhWQ0xFVkJRVVU3UVVGRE0wTXNXVUZCUVN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVOV0xIRkhRVUZ4Unl4RFFVTjBSeXhEUVVGRE8xbEJRMFlzWVVGQllTeEhRVUZITEhWQ1FVRjFRaXhEUVVGRE8wRkJRM3BETEZOQlFVRTdRVUZGUkN4UlFVRkJMRTlCUVU4c1NVRkJTU3hwUWtGQmFVSXNRMEZCUXl4aFFVRmhMRVZCUVVVc1YwRkJWeXhEUVVGRExFTkJRVU03UzBGRE1VUTdRVUZGWVN4SlFVRkJMRk5CUVZNc1EwRkRja0lzU1VGQlZTeEZRVU5XTEZGQlFYRkNMRVZCUTNKQ0xGZEJRV2xETEVWQlFVRTdPenRCUVVWcVF5eFpRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXpzN1dVRkhiRVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUlN4SFFVRTBRaXhEUVVGRE8xbEJRemRFTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVN1FVRkRXQ3huUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1RVRkJUU3hEUVVGRExGZEJRVmNzUTBGQlF6dFpRVU0zUXl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVTdRVUZEZEVJc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hOUVVGTkxHdENRVUZyUWl4SFFVRkhMR2xDUVVGcFFpeERRVUZETEdOQlFXTXNTMEZCU3l4WlFVRlpMRWRCUVVjc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF6dEJRVVV4Uml4WlFVRkJMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4eFFrRkJjVUlzUlVGQlJTeHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8wRkJRMjVITEZsQlFVRXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMR2xDUVVGcFFpeERRVUZETEhGQ1FVRnhRaXhGUVVGRkxHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1FVRkRia2NzV1VGQlFTeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zYTBKQlFXdENMRVZCUVVVc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXp0QlFVTm9SeXhaUVVGQkxFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhuUWtGQlowSXNSVUZCUlN4clFrRkJhMElzUTBGQlF5eERRVUZETzBGQlJUbEdMRmxCUVVFc1NVRkJTU3hQUVVGUExFTkJRVU03UVVGRldpeFpRVUZCTEVsQlFVa3NhVUpCUVdsQ0xFTkJRVU1zWTBGQll5eExRVUZMTEZsQlFWa3NSVUZCUlR0QlFVTnlSQ3huUWtGQlFTeFBRVUZQTEVkQlFVY3NTVUZCU1N3d1FrRkJNRUlzUTBGQlF5eFhRVUZYTEVWQlFVVXNTMEZCU3l4RlFVRkZMRXRCUVVzc1JVRkJSU3hMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdRVUZEYmtZc1lVRkJRVHRCUVVGTkxHbENRVUZCTzBGQlEwd3NaMEpCUVVFc1QwRkJUeXhIUVVGSExFbEJRVWtzYjBKQlFXOUNMRU5CUVVNc1VVRkJVU3hGUVVGRkxFdEJRVXNzUlVGQlJTeExRVUZMTEVWQlFVVXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRekZGTEdGQlFVRTdXVUZGUkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEZGQlFWRXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRaUVVWeVJDeEpRVUZKTEdsQ1FVRnBRaXhEUVVGRExIRkNRVUZ4UWl4RlFVRkZPMEZCUXpORExHZENRVUZCTEUxQlFVMHNRMEZCUXl4clFrRkJhMElzUTBGQlF5eEhRVUZITEVOQlF6TkNMRU5CUVVFc1JVRkJRU3hIUVVGQkxHbENRVUZwUWl4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCU1N4SFFVRkhMRVZCUTJoRUxFMUJRVUVzYVVKQlFXbENMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNRMEZCUXl4TlFVRkpMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVrc1JVRkRha1FzUlVGQlJTeERRVUZCTEVWQlFVRXNSMEZCUVN4cFFrRkJhVUlzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRExFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVWtzUjBGQlJ5eERRVUZETEVOQlEzQkVMRU5CUVVNN1FVRkRTQ3hoUVVGQk8wRkJRVTBzYVVKQlFVRTdaMEpCUTB3c1RVRkJUU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzU1VGQlNTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUXk5RExHRkJRVUU3TzBGQlIwUXNXVUZCUVN4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRmNrTXNTVUZCU1N4UFFVRlBMRmxCUVZrc2IwSkJRVzlDTEVWQlFVVTdRVUZETTBNc1owSkJRVUVzVDBGQlR5eERRVUZETEZOQlFWTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMEZCUTNaRExHRkJRVUU3UVVGRlJDeFpRVUZCTEU5QlFVOHNUVUZCVFN4RFFVRkRPenRCUVVObUxFdEJRVUU3U1VGRlR5eHJRa0ZCYTBJc1EwRkRlRUlzWlVGQmRVUXNSVUZEZGtRc2EwSkJRVEJDTEVWQlFVRTdPMUZCUlRGQ0xFMUJRVTBzUzBGQlN5eEhRVUZITEdWQlFXVXNTMEZCUVN4SlFVRkJMRWxCUVdZc1pVRkJaU3hMUVVGbUxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMR1ZCUVdVc1EwRkJSU3hMUVVGTExFTkJRVU03VVVGRGNrTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEcxQ1FVRnRRaXhGUVVGRk8wRkJRMnBFTEZsQlFVRXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhuUlVGQlowVXNRMEZCUXl4RFFVRkRPMEZCUTJoR0xGTkJRVUU3UVVGRlJDeFJRVUZCTEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxHVkJRV1VzUzBGQlppeEpRVUZCTEVsQlFVRXNaVUZCWlN4TFFVRm1MRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEdWQlFXVXNRMEZCUlN4TlFVRk5MRTFCUVVrc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJTU3hEUVVGRE8wRkJRemRETEZGQlFVRXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzWlVGQlpTeExRVUZtTEVsQlFVRXNTVUZCUVN4bFFVRmxMRXRCUVdZc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNaVUZCWlN4RFFVRkZMRTFCUVUwc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hyUWtGQmEwSXNRMEZCUXpzN096dFJRVXMzUkN4SlFVRkpMRTFCUVUwc1IwRkJSeXgxUWtGQmRVSXNSVUZCUlR0QlFVTndReXhaUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNaMGRCUVdkSExFTkJRVU1zUTBGQlF6dFpRVU12Unl4TlFVRk5MRWRCUVVjc2RVSkJRWFZDTEVOQlFVTTdRVUZEYkVNc1UwRkJRVHRCUVVWRUxGRkJRVUVzVDBGQlR5eEpRVUZKTEdsQ1FVRnBRaXhEUVVGRExFMUJRVTBzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0TFFVTTVRenRKUVVWUExHRkJRV0VzUTBGQlF5eFJRVUZ4UWl4RlFVRkZMRTlCUVhsQ0xFVkJRVUU3VVVGRGNFVXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hUUVVGVExFTkJRVU1zVVVGQlVTeEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUldoRUxFbEJRVWtzU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlR0QlFVTnVRaXhaUVVGQkxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NaVUZCWlN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5ETEZsQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZETlVJc1RVRkJUU3hEUVVGRExGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRmRCUVZjc1EwRkJRenRCUVVOc1JDeFRRVUZCTzBGQlJVUXNVVUZCUVN4UFFVRlBMRTFCUVUwc1EwRkJRenRMUVVObU8wRkJRMFk3TzBGRGRGRkVPMEZCUlVFN08wRkJSVWM3UVVGRFZTeE5RVUZCTEdsQ1FVRnBRaXhIUVVGSE8wRkJReTlDTEVsQlFVRXNTVUZCU1N4RlFVRkZMRTFCUVUwN1FVRkRXaXhKUVVGQkxGVkJRVlVzUlVGQlJTeFpRVUZaT3pzN1FVTlFNVUk3TzBGQlJVYzdRVUZEWVN4VFFVRkJMRlZCUVZVc1EwRkJReXhIUVVGWExFVkJRVVVzU1VGQldTeEZRVUZCT3p0QlFVVnNSQ3hKUVVGQkxFbEJRVWtzVDBGQlR5eEhRVUZITEV0QlFVc3NVVUZCVVN4SlFVRkpMRWRCUVVjc1MwRkJTeXhGUVVGRk8wRkJRVVVzVVVGQlFTeFBRVUZQTEVWQlFVVXNRMEZCUXpzN1FVRkhja1FzU1VGQlFTeEpRVUZKTEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSVHRSUVVOcVJDeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXgzUWtGQmQwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVOeVJDeExRVUZCT3p0QlFVZEVMRWxCUVVFc1NVRkJTU3hyUWtGQmEwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRE8wRkJRVVVzVVVGQlFTeFBRVUZQTEVkQlFVY3NRMEZCUXpzN1FVRkhOME1zU1VGQlFTeEpRVUZKTEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRE8wRkJRVVVzVVVGQlFTeFBRVUZQTEVkQlFVY3NRMEZCUXpzN1FVRkhNVU1zU1VGQlFTeEpRVUZKTEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRE8wRkJRVVVzVVVGQlFTeFBRVUZQTEVkQlFVY3NRMEZCUXpzN1NVRkhka01zVDBGQlR5eEpRVUZKTEVkQlFVY3NSMEZCUnl4RFFVRkRPMEZCUTNCQ096dEJRMXBCT3p0QlFVVkhPMEZCUTBnc1RVRkJUU3h6UWtGQmMwSXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlRWRU96dEJRVVZITzAxQlExVXNiVUpCUVcxQ0xFTkJRVUU3UVVGMVFqbENMRWxCUVVFc1NVRkJWeXhKUVVGSkxFZEJRVUU3TzBGQlJXSXNVVUZCUVN4UFFVRlBMSEZDUVVGeFFpeERRVUZETzB0QlF6bENPMGxCUlVRc1YwRkJiVUlzUTBGQlFTeE5RVUZyUWl4RlFVRkZMRTlCUVc5RExFVkJRVUU3TzBGQlEzcEZMRkZCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eE5RVUZOTEVOQlFVTTdRVUZGY2tJc1VVRkJRU3hKUVVGSkxFTkJRVU1zYTBKQlFXdENMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzVDBGQlR5eExRVUZCTEVsQlFVRXNTVUZCVUN4UFFVRlBMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFWQXNUMEZCVHl4RFFVRkZMR3RDUVVGclFpeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZKTEVsQlFVa3NRMEZCUXp0QlFVTTVSQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeFBRVUZQTEV0QlFWQXNTVUZCUVN4SlFVRkJMRTlCUVU4c1MwRkJVQ3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4UFFVRlBMRU5CUVVVc2FVSkJRV2xDTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVa3NRMEZCUXl3clFrRkJLMElzUTBGQlF5eERRVUZETzBGQlEzcEdMRkZCUVVFc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4UFFVRlBMRXRCUVVFc1NVRkJRU3hKUVVGUUxFOUJRVThzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJVQ3hQUVVGUExFTkJRVVVzV1VGQldTeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZKTEVsQlFVa3NRMEZCUXp0TFFVTnVSRHRCUVVWWkxFbEJRVUVzVTBGQlV5eERRVUZETEVsQlFWVXNSVUZCUVRzN1FVRkRMMElzV1VGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTlCUVU4c1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRiRVFzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZCUVR0QlFVVmhMRWxCUVVFc1QwRkJUeXhEUVVGRExFbEJRVlVzUlVGQlFUczdXVUZET1VJc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRelZETEVsQlFVa3NVVUZCVVN4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOd1FpeG5Ra0ZCUVN4UFFVRlBMRkZCUVZFc1EwRkJRenRCUVVOcVFpeGhRVUZCTzFsQlJVUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUXpWRExFbEJRVWtzVVVGQlVTeEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTndRaXhuUWtGQlFTeFBRVUZQTEZGQlFWRXNRMEZCUXp0QlFVTnFRaXhoUVVGQk8wRkJSVVFzV1VGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0VFFVTmlMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRVUU3UVVGRllTeEpRVUZCTEZOQlFWTXNRMEZCUXl4SlFVRlZMRVZCUVVFN096dEJRVU5vUXl4WlFVRkJMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCZDBJc1EwRkJRenM3UVVGSGJFUXNXVUZCUVN4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVa3NRMEZCUXl4alFVRmpMRTFCUVVVc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzVDBGQlR5eERRVUZETEZWQlFWVXNRMEZCUXl4TlFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMnhGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRVZCUVVVN1FVRkRaQ3huUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN1dVRkZSQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEZWQlFWVXNRMEZCYjBNc1EwRkJRenRaUVVOdVJpeEpRVUZKTEZOQlFWTXNTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkRja0lzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRZaXhoUVVGQk8wRkJSVVFzV1VGQlFTeE5RVUZOTEZkQlFWY3NSMEZCUnl4VFFVRlRMRU5CUVVNc1YwRkJWeXhEUVVGRE8wRkJRekZETEZsQlFVRXNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZETEVkQlFVY3NRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSVHRCUVVNMVF5eG5Ra0ZCUVN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExITkVRVUZ6UkN4WFFVRlhMRU5CUVVFc1EwRkJRU3hEUVVGSExFTkJRVU1zUTBGQlF6dEJRVU51Uml4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTFCUVUwc1ZVRkJWU3hIUVVGSExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTTdXVUZEYkVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGQlJUdEJRVU5tTEdkQ1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzWVVGQlFUczdRVUZIUkN4WlFVRkJMRTFCUVUwc1ZVRkJWU3hIUVVGSExGVkJRVlVzUTBGQlF5eFZRVUZWTEVOQlFVTTdXVUZEZWtNc1RVRkJUU3h2UWtGQmIwSXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJRenRCUVVNM1JDeFpRVUZCTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVN1FVRkRla01zWjBKQlFVRXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXg1UTBGQmVVTXNWVUZCVlN4RFFVRkJMR2xDUVVGQkxFTkJRVzFDTEVOQlFVTXNRMEZCUXp0QlFVTjZSaXhoUVVGQk8xbEJSVVFzU1VGQlNTeGpRVUZqTEVkQlFXbERMRk5CUVZNc1EwRkJRenRaUVVNM1JDeEpRVUZKTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzU1VGQlNTeFZRVUZWTEVOQlFVTXNZMEZCWXl4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOb1JTeG5Ra0ZCUVN4alFVRmpMRWRCUVVjc1EwRkJRU3hGUVVGQkxFbEJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zVlVGQlZTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVrc1UwRkJVeXhEUVVGRE8wRkJRM3BHTEdGQlFVRTdXVUZGUkN4UFFVRlBPMEZCUTB3c1owSkJRVUVzVjBGQlZ5eEZRVUZGTEVkQlFVYzdaMEpCUTJoQ0xFbEJRVWtzUlVGQlJTeFZRVUZWTEVOQlFVTXNTVUZCU1R0blFrRkRja0lzVDBGQlR5eEZRVUZGTEZWQlFWVXNRMEZCUXl4UFFVRlBPMmRDUVVNelFpeFBRVUZQTEVWQlFVVXNWVUZCVlN4RFFVRkRMRTlCUVU4N1owSkJRek5DTEc5Q1FVRnZRaXhGUVVGRkxGVkJRVlVzUTBGQlF5eHZRa0ZCYjBJN1owSkJRM0pFTEd0Q1FVRnJRaXhGUVVGRkxGVkJRVlVzUTBGQlF5eHJRa0ZCYTBJN1owSkJRMnBFTEZWQlFWVXNSVUZCUlN4VlFVRlZMRU5CUVVNc1ZVRkJWVHRuUWtGRGFrTXNhMEpCUVd0Q0xFVkJRVVVzVlVGQlZTeERRVUZETEd0Q1FVRnJRanRuUWtGRGFrUXNZMEZCWXp0blFrRkRaQ3hWUVVGVkxFVkJRVVVzVlVGQlZTeERRVUZETEZWQlFWVTdaMEpCUTJwRExHZENRVUZuUWl4RlFVRkZMRlZCUVZVc1EwRkJReXhuUWtGQlowSTdaMEpCUXpkRExEUkNRVUUwUWl4RlFVRkZMRlZCUVZVc1EwRkJReXcwUWtGQk5FSTdaMEpCUTNKRkxESkNRVUV5UWl4RlFVRkZMRlZCUVZVc1EwRkJReXd5UWtGQk1rSTdaMEpCUTI1RkxHVkJRV1VzUlVGQlJTeFZRVUZWTEVOQlFVTXNaVUZCWlR0blFrRkRNME1zT0VKQlFUaENMRVZCUVVVc1ZVRkJWU3hEUVVGRExEaENRVUU0UWp0blFrRkRla1VzTUVKQlFUQkNMRVZCUVVVc1ZVRkJWU3hEUVVGRExEQkNRVUV3UWp0blFrRkRha1VzWTBGQll5eEZRVUZGTEZWQlFWVXNRMEZCUXl4alFVRmpPMmRDUVVONlF5eHRRa0ZCYlVJc1JVRkJSU3hWUVVGVkxFTkJRVU1zYlVKQlFXMUNPMmRDUVVOdVJDeFpRVUZaTEVWQlFVVXNWVUZCVlN4RFFVRkRMRmxCUVZrN1owSkJRM0pETEdWQlFXVXNSVUZCUlN4VlFVRlZMRU5CUVVNc1pVRkJaVHRoUVVNMVF5eERRVUZET3p0QlFVTklMRXRCUVVFN1FVRkZZU3hKUVVGQkxGTkJRVk1zUTBGQlF5eEpRVUZWTEVWQlFVRTdPenRCUVVOb1F5eFpRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXpzN1dVRkhiRVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUlN4SFFVRTBRaXhEUVVGRE8xbEJRemRFTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVN1FVRkRXQ3huUWtGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmlMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFMUJRVTBzVlVGQlZTeEhRVUZITEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNN1dVRkRMMElzU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlR0QlFVTm1MR2RDUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEySXNZVUZCUVRzN1FVRkhSQ3haUVVGQkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVRkZPMEZCUTNSQ0xHZENRVUZCTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc09FVkJRVGhGTEVOQlFVTXNRMEZCUXp0QlFVTnFSeXhoUVVGQk96dEJRVWRFTEZsQlFVRXNTVUZCU1N4UFFVRjVReXhEUVVGRE8wRkJRemxETEZsQlFVRXNTVUZCU1N4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVsQlFVa3NWVUZCVlN4RFFVRkRMRTlCUVU4c1NVRkJTU3hKUVVGSkxFbEJRVWtzVlVGQlZTeERRVUZETEU5QlFVOHNTMEZCU3l4RFFVRkRMRU5CUVVNc1JVRkJSVHRCUVVOMFJpeG5Ra0ZCUVN4UFFVRlBMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEdGQlFXRXNRMEZCUXl4VFFVRlRMRVZCUVVVc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzBGQlF6RkZMR0ZCUVVFN1dVRkZSQ3hQUVVGUE8wRkJRMHdzWjBKQlFVRXNWMEZCVnl4RlFVRkZMRWRCUVVjN1owSkJRMmhDTEdWQlFXVXNSVUZCUlN4VlFVRlZMRU5CUVVNc1pVRkJaVHRuUWtGRE0wTXNUVUZCVFN4RlFVRkZMRlZCUVZVc1EwRkJReXhOUVVGTk8yZENRVU42UWl4dlFrRkJiMElzUlVGQlJTeFZRVUZWTEVOQlFVTXNiMEpCUVc5Q08yZENRVU55UkN4clFrRkJhMElzUlVGQlJTeFZRVUZWTEVOQlFVTXNhMEpCUVd0Q08yZENRVU5xUkN4WFFVRlhMRVZCUVVVc1ZVRkJWU3hEUVVGRExGZEJRVmM3WjBKQlEyNURMR1ZCUVdVc1JVRkJSU3hWUVVGVkxFTkJRVU1zWlVGQlpUdG5Ra0ZETTBNc2EwSkJRV3RDTEVWQlFVVXNWVUZCVlN4RFFVRkRMR3RDUVVGclFqdG5Ra0ZEYWtRc1UwRkJVeXhGUVVGRkxGVkJRVlVzUTBGQlF5eFRRVUZUTzJkQ1FVTXZRaXhuUWtGQlowSXNSVUZCUlN4VlFVRlZMRU5CUVVNc1owSkJRV2RDTzBGQlF6ZERMR2RDUVVGQkxFOUJRVThzUlVGQlJTeFBRVUZQTEV0QlFVRXNTVUZCUVN4SlFVRlFMRTlCUVU4c1MwRkJVQ3hMUVVGQkxFTkJRVUVzUjBGQlFTeFBRVUZQTEVkQlFVa3NVMEZCVXp0blFrRkROMElzUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4TFFVRkxPMmRDUVVOMlFpeFBRVUZQTEVWQlFVVXNWVUZCVlN4RFFVRkRMRTlCUVU4N1owSkJRek5DTEdsQ1FVRnBRaXhGUVVGRkxGVkJRVlVzUTBGQlF5eHBRa0ZCYVVJN1lVRkRhRVFzUTBGQlF6czdRVUZEU0N4TFFVRkJPMEZCUldFc1NVRkJRU3hwUWtGQmFVSXNRMEZCUXl4TFFVRmhMRVZCUVVFN096dEJRVU16UXl4WlFVRkJMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCZDBJc1EwRkJRenRaUVVWc1JDeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRE8xbEJSWEJETEVsQlFVa3NUVUZCVFN4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOc1FpeG5Ra0ZCUVN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVOV0xEaERRVUU0UXl4TFFVRkxMRU5CUVVFc2IwUkJRVUVzUTBGQmMwUXNRMEZETVVjc1EwRkJRenRCUVVOR0xHZENRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJJc1lVRkJRVHM3TzBGQlMwUXNXVUZCUVN4SlFVRkpMRk5CUVZNc1IwRkJkVUlzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXpzN1FVRkhMME1zV1VGQlFTeEpRVUZKTEUxQlFVMHNRMEZCUXl4VlFVRlZMRWxCUVVrc1NVRkJTU3hGUVVGRk8wRkJRemRDTEdkQ1FVRkJMRTFCUVUwc1ZVRkJWU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4aFFVRmhMRU5CUVVNc1dVRkJXU3hGUVVGRkxFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0QlFVTndSaXhuUWtGQlFTeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRWxCUVVrc1EwRkJReXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eERRVUZETzBGQlF5OUVMR2RDUVVGQkxGTkJRVk1zUjBGQlJ5eEhRVUZITEVOQlFVTXNaVUZCWlN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRM1pETEdGQlFVRTdXVUZGUkN4SlFVRkpMRk5CUVZNc1NVRkJTU3hKUVVGSkxFVkJRVVU3UVVGRGNrSXNaMEpCUVVFc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGRFZpdzRRMEZCT0VNc1MwRkJTeXhEUVVGQkxEWkVRVUZCTEVOQlFTdEVMRU5CUTI1SUxFTkJRVU03UVVGRFJpeG5Ra0ZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxHRkJRVUU3UVVGRlJDeFpRVUZCTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETzFsQlEzWkRMRTlCUVU4c1RVRkJUU3hOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETEZWQlFWVXNRMEZCUXl4VFFVRlRMRVZCUVVjc1NVRkJTU3hEUVVGRExFMUJRV01zUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eExRVUZMTEV0QlFVazdRVUZEZEVjc1owSkJRVUVzVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVOeVFpeG5Ra0ZCUVN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExIVkVRVUYxUkN4RFFVRkRMRU5CUVVNN1FVRkRkRVVzWjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNN1FVRkRaQ3hoUVVGRExFTkJRVU1zUTBGQlF6czdRVUZEU2l4TFFVRkJPMEZCUTBZN08wRkRMMDFFT3pzN1FVRkhSenROUVVOVkxFOUJRVThzUTBGQlFUdEJRWE5EYkVJN096czdRVUZKUnp0QlFVTklMRWxCUVVFc1YwRkJRU3hEUVVGdFFpeE5RVUY1UWl4RlFVRkJPMEZCUXpGRExGRkJRVUVzU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRE8wRkJRekZDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETzBGQlEzaENMRkZCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUjBGQlJ5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRPMEZCUTJoRExGRkJRVUVzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhIUVVGSExFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1EwRkJRenRCUVVOc1JDeFJRVUZCTEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1RVRkJUU3hEUVVGRExGZEJRVmNzUTBGQlF6dEJRVU4wUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXp0TFFVTTNRanRCUVVWRU96czdPenM3UVVGTlJ6dEJRVU5KTEVsQlFVRXNUVUZCVFN4RFFVRkRMRXRCUVdFc1JVRkJRVHRCUVVONlFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03VVVGRmRrSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRk8wRkJRMllzV1VGQlFTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEJRVU16UWl4VFFVRkJPMUZCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRVZCUVVVN1FVRkRNVUlzV1VGQlFTeEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZEYWtNc1UwRkJRVHRMUVVOR08wRkJRMFk3TzAxRGRrVlpMRzFDUVVGdFFpeERRVUZCTzBGQlF6bENMRWxCUVVFc1NVRkJWeXhKUVVGSkxFZEJRVUU3TzBGQlJXSXNVVUZCUVN4UFFVRlBMRlZCUVZVc1EwRkJRenRMUVVOdVFqdEpRVlZFTEZkQlFXMUNMRU5CUVVFc1RVRkJhMElzUlVGQlJTeFBRVUZ2UXl4RlFVRkJPenRCUVVONlJTeFJRVUZCTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJSWEpDTEUxQlFVMHNWVUZCVlN4SFFVRkhMRTlCUVU4c1MwRkJRU3hKUVVGQkxFbEJRVkFzVDBGQlR5eExRVUZRTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFOUJRVThzUTBGQlJTeFZRVUZWTEVOQlFVTTdVVUZEZGtNc1RVRkJUU3h2UWtGQmIwSXNSMEZCUnl4UFFVRlBMRXRCUVVFc1NVRkJRU3hKUVVGUUxFOUJRVThzUzBGQlVDeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hQUVVGUExFTkJRVVVzYjBKQlFXOUNMRU5CUVVNN1FVRkZNMFFzVVVGQlFTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNUMEZCVHl4aFFVRlFMRTlCUVU4c1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCVUN4UFFVRlBMRU5CUVVVc1owSkJRV2RDTEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4NVFrRkJlVUlzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0QlFVTXpSaXhSUVVGQkxFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeFBRVUZQTEdGQlFWQXNUMEZCVHl4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZRTEU5QlFVOHNRMEZCUlN4cFFrRkJhVUlzVFVGQlNTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTERCQ1FVRXdRaXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6bEdMRkZCUVVFc1NVRkJTU3hEUVVGRExHTkJRV003UVVGRGFrSXNXVUZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hQUVVGUExFdEJRVkFzU1VGQlFTeEpRVUZCTEU5QlFVOHNkVUpCUVZBc1QwRkJUeXhEUVVGRkxHTkJRV01zVFVGQlNTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEhWQ1FVRjFRaXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEZWQlFWVXNSVUZCUlN4dlFrRkJiMElzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEZGtjc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4UFFVRlBMRXRCUVZBc1NVRkJRU3hKUVVGQkxFOUJRVThzZFVKQlFWQXNUMEZCVHl4RFFVRkZMRmxCUVZrc1RVRkJTU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxIRkNRVUZ4UWl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxGVkJRVlVzUlVGQlJTeERRVUZETEVOQlFVTTdRVUZETDBZc1VVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMRTlCUVU4c1lVRkJVQ3hQUVVGUExFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVZBc1QwRkJUeXhEUVVGRkxGVkJRVlVzVFVGQlNTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEcxQ1FVRnRRaXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzB0QlF6RkZPMEZCUlZrc1NVRkJRU3hUUVVGVExFTkJRVU1zU1VGQlZTeEZRVUZCT3p0WlFVTXZRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRM1JETEUxQlFVMHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdXVUZETVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF6VkRMRTFCUVUwc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkRlRU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMEZCUlRkRExGbEJRVUVzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhQUVVGNVFpeERRVUZETzBGQlEzSkVMRmxCUVVFc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4WFFVRnBReXhEUVVGRE96czdXVUZKYWtVc1NVRkJTU3hKUVVGSkxFbEJRVWtzVVVGQlVTeEZRVUZGTzBGQlEzQkNMR2RDUVVGQkxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NUMEZCVHl4RFFVRkRPMjlDUVVNeFFpeExRVUZMTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzN1FVRkRha0lzYjBKQlFVRXNhVUpCUVdsQ0xFVkJRVVVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4dlFrRkJiMEk3UVVGRGNrUXNiMEpCUVVFc1YwRkJWeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNZMEZCWXp0dlFrRkRla01zVVVGQlVUdEJRVU5TTEc5Q1FVRkJMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTTdiMEpCUXk5Q0xFbEJRVWs3UVVGRFRDeHBRa0ZCUVN4RFFVRkRMRU5CUVVNN1FVRkZTQ3huUWtGQlFTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTlCUVU4c1IwRkJSeXhQUVVGUExFTkJRVU03UVVGRGFrTXNZVUZCUVR0VFFVTkdMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRVUU3UVVGRFJqczdPenNpZlE9PVxuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgVlJNQ29yZSB9IGZyb20gJ0BwaXhpdi90aHJlZS12cm0tY29yZSc7XG5pbXBvcnQgeyBWUk1Ob2RlQ29uc3RyYWludE1hbmFnZXIgfSBmcm9tICdAcGl4aXYvdGhyZWUtdnJtLW5vZGUtY29uc3RyYWludCc7XG5pbXBvcnQgeyBWUk1TcHJpbmdCb25lTWFuYWdlciB9IGZyb20gJ0BwaXhpdi90aHJlZS12cm0tc3ByaW5nYm9uZSc7XG5pbXBvcnQgeyBWUk1QYXJhbWV0ZXJzIH0gZnJvbSAnLi9WUk1QYXJhbWV0ZXJzJztcblxuLyoqXG4gKiBBIGNsYXNzIHRoYXQgcmVwcmVzZW50cyBhIHNpbmdsZSBWUk0gbW9kZWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBWUk0gZXh0ZW5kcyBWUk1Db3JlIHtcbiAgLyoqXG4gICAqIENvbnRhaW5zIG1hdGVyaWFscyBvZiB0aGUgVlJNLlxuICAgKiBgdXBkYXRlYCBtZXRob2Qgb2YgdGhlc2UgbWF0ZXJpYWxzIHdpbGwgYmUgY2FsbGVkIHZpYSBpdHMge0BsaW5rIFZSTS51cGRhdGV9IG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtYXRlcmlhbHM/OiBUSFJFRS5NYXRlcmlhbFtdO1xuXG4gIC8qKlxuICAgKiBBIHtAbGluayBWUk1TcHJpbmdCb25lTWFuYWdlcn0gbWFuaXB1bGF0ZXMgYWxsIHNwcmluZyBib25lcyBhdHRhY2hlZCBvbiB0aGUgVlJNLlxuICAgKiBVc3VhbGx5IHlvdSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzcHJpbmdCb25lTWFuYWdlcj86IFZSTVNwcmluZ0JvbmVNYW5hZ2VyO1xuXG4gIC8qKlxuICAgKiBBIHtAbGluayBWUk1Ob2RlQ29uc3RyYWludE1hbmFnZXJ9IG1hbmlwdWxhdGVzIGFsbCBjb25zdHJhaW50cyBhdHRhY2hlZCBvbiB0aGUgVlJNLlxuICAgKiBVc3VhbGx5IHlvdSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBub2RlQ29uc3RyYWludE1hbmFnZXI/OiBWUk1Ob2RlQ29uc3RyYWludE1hbmFnZXI7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBWUk0gaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgW1tWUk1QYXJhbWV0ZXJzXV0gdGhhdCByZXByZXNlbnRzIGNvbXBvbmVudHMgb2YgdGhlIFZSTVxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogVlJNUGFyYW1ldGVycykge1xuICAgIHN1cGVyKHBhcmFtcyk7XG5cbiAgICB0aGlzLm1hdGVyaWFscyA9IHBhcmFtcy5tYXRlcmlhbHM7XG4gICAgdGhpcy5zcHJpbmdCb25lTWFuYWdlciA9IHBhcmFtcy5zcHJpbmdCb25lTWFuYWdlcjtcbiAgICB0aGlzLm5vZGVDb25zdHJhaW50TWFuYWdlciA9IHBhcmFtcy5ub2RlQ29uc3RyYWludE1hbmFnZXI7XG4gIH1cblxuICAvKipcbiAgICogKipZb3UgbmVlZCB0byBjYWxsIHRoaXMgb24geW91ciB1cGRhdGUgbG9vcC4qKlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHVwZGF0ZXMgZXZlcnkgVlJNIGNvbXBvbmVudHMuXG4gICAqXG4gICAqIEBwYXJhbSBkZWx0YSBkZWx0YVRpbWVcbiAgICovXG4gIHB1YmxpYyB1cGRhdGUoZGVsdGE6IG51bWJlcik6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZShkZWx0YSk7XG5cbiAgICBpZiAodGhpcy5ub2RlQ29uc3RyYWludE1hbmFnZXIpIHtcbiAgICAgIHRoaXMubm9kZUNvbnN0cmFpbnRNYW5hZ2VyLnVwZGF0ZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNwcmluZ0JvbmVNYW5hZ2VyKSB7XG4gICAgICB0aGlzLnNwcmluZ0JvbmVNYW5hZ2VyLnVwZGF0ZShkZWx0YSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWF0ZXJpYWxzKSB7XG4gICAgICB0aGlzLm1hdGVyaWFscy5mb3JFYWNoKChtYXRlcmlhbDogYW55KSA9PiB7XG4gICAgICAgIGlmIChtYXRlcmlhbC51cGRhdGUpIHtcbiAgICAgICAgICBtYXRlcmlhbC51cGRhdGUoZGVsdGEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xyXG5cclxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgaWYgKHR5cGVvZiBiICE9PSBcImZ1bmN0aW9uXCIgJiYgYiAhPT0gbnVsbClcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19lc0RlY29yYXRlKGN0b3IsIGRlc2NyaXB0b3JJbiwgZGVjb3JhdG9ycywgY29udGV4dEluLCBpbml0aWFsaXplcnMsIGV4dHJhSW5pdGlhbGl6ZXJzKSB7XHJcbiAgICBmdW5jdGlvbiBhY2NlcHQoZikgeyBpZiAoZiAhPT0gdm9pZCAwICYmIHR5cGVvZiBmICE9PSBcImZ1bmN0aW9uXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJGdW5jdGlvbiBleHBlY3RlZFwiKTsgcmV0dXJuIGY7IH1cclxuICAgIHZhciBraW5kID0gY29udGV4dEluLmtpbmQsIGtleSA9IGtpbmQgPT09IFwiZ2V0dGVyXCIgPyBcImdldFwiIDoga2luZCA9PT0gXCJzZXR0ZXJcIiA/IFwic2V0XCIgOiBcInZhbHVlXCI7XHJcbiAgICB2YXIgdGFyZ2V0ID0gIWRlc2NyaXB0b3JJbiAmJiBjdG9yID8gY29udGV4dEluW1wic3RhdGljXCJdID8gY3RvciA6IGN0b3IucHJvdG90eXBlIDogbnVsbDtcclxuICAgIHZhciBkZXNjcmlwdG9yID0gZGVzY3JpcHRvckluIHx8ICh0YXJnZXQgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgY29udGV4dEluLm5hbWUpIDoge30pO1xyXG4gICAgdmFyIF8sIGRvbmUgPSBmYWxzZTtcclxuICAgIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgdmFyIGNvbnRleHQgPSB7fTtcclxuICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbikgY29udGV4dFtwXSA9IHAgPT09IFwiYWNjZXNzXCIgPyB7fSA6IGNvbnRleHRJbltwXTtcclxuICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbi5hY2Nlc3MpIGNvbnRleHQuYWNjZXNzW3BdID0gY29udGV4dEluLmFjY2Vzc1twXTtcclxuICAgICAgICBjb250ZXh0LmFkZEluaXRpYWxpemVyID0gZnVuY3Rpb24gKGYpIHsgaWYgKGRvbmUpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWRcIik7IGV4dHJhSW5pdGlhbGl6ZXJzLnB1c2goYWNjZXB0KGYgfHwgbnVsbCkpOyB9O1xyXG4gICAgICAgIHZhciByZXN1bHQgPSAoMCwgZGVjb3JhdG9yc1tpXSkoa2luZCA9PT0gXCJhY2Nlc3NvclwiID8geyBnZXQ6IGRlc2NyaXB0b3IuZ2V0LCBzZXQ6IGRlc2NyaXB0b3Iuc2V0IH0gOiBkZXNjcmlwdG9yW2tleV0sIGNvbnRleHQpO1xyXG4gICAgICAgIGlmIChraW5kID09PSBcImFjY2Vzc29yXCIpIHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdm9pZCAwKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCB8fCB0eXBlb2YgcmVzdWx0ICE9PSBcIm9iamVjdFwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0IGV4cGVjdGVkXCIpO1xyXG4gICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuZ2V0KSkgZGVzY3JpcHRvci5nZXQgPSBfO1xyXG4gICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuc2V0KSkgZGVzY3JpcHRvci5zZXQgPSBfO1xyXG4gICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuaW5pdCkpIGluaXRpYWxpemVycy5wdXNoKF8pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChfID0gYWNjZXB0KHJlc3VsdCkpIHtcclxuICAgICAgICAgICAgaWYgKGtpbmQgPT09IFwiZmllbGRcIikgaW5pdGlhbGl6ZXJzLnB1c2goXyk7XHJcbiAgICAgICAgICAgIGVsc2UgZGVzY3JpcHRvcltrZXldID0gXztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGFyZ2V0KSBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSwgZGVzY3JpcHRvcik7XHJcbiAgICBkb25lID0gdHJ1ZTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3J1bkluaXRpYWxpemVycyh0aGlzQXJnLCBpbml0aWFsaXplcnMsIHZhbHVlKSB7XHJcbiAgICB2YXIgdXNlVmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMjtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6ZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdmFsdWUgPSB1c2VWYWx1ZSA/IGluaXRpYWxpemVyc1tpXS5jYWxsKHRoaXNBcmcsIHZhbHVlKSA6IGluaXRpYWxpemVyc1tpXS5jYWxsKHRoaXNBcmcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVzZVZhbHVlID8gdmFsdWUgOiB2b2lkIDA7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wcm9wS2V5KHgpIHtcclxuICAgIHJldHVybiB0eXBlb2YgeCA9PT0gXCJzeW1ib2xcIiA/IHggOiBcIlwiLmNvbmNhdCh4KTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NldEZ1bmN0aW9uTmFtZShmLCBuYW1lLCBwcmVmaXgpIHtcclxuICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gXCJzeW1ib2xcIikgbmFtZSA9IG5hbWUuZGVzY3JpcHRpb24gPyBcIltcIi5jb25jYXQobmFtZS5kZXNjcmlwdGlvbiwgXCJdXCIpIDogXCJcIjtcclxuICAgIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgXCJuYW1lXCIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gXCJcIi5jb25jYXQocHJlZml4LCBcIiBcIiwgbmFtZSkgOiBuYW1lIH0pO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChnICYmIChnID0gMCwgb3BbMF0gJiYgKF8gPSAwKSksIF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2NyZWF0ZUJpbmRpbmcgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sIGspO1xyXG4gICAgaWYgKCFkZXNjIHx8IChcImdldFwiIGluIGRlc2MgPyAhbS5fX2VzTW9kdWxlIDogZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSkpIHtcclxuICAgICAgICBkZXNjID0geyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gbVtrXTsgfSB9O1xyXG4gICAgfVxyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcclxufSkgOiAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBvW2syXSA9IG1ba107XHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBvKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG8sIHApKSBfX2NyZWF0ZUJpbmRpbmcobywgbSwgcCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbi8qKiBAZGVwcmVjYXRlZCAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbi8qKiBAZGVwcmVjYXRlZCAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XHJcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcclxuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcclxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcclxuICAgICAgICAgICAgcltrXSA9IGFbal07XHJcbiAgICByZXR1cm4gcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXkodG8sIGZyb20sIHBhY2spIHtcclxuICAgIGlmIChwYWNrIHx8IGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIGZvciAodmFyIGkgPSAwLCBsID0gZnJvbS5sZW5ndGgsIGFyOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xyXG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xyXG4gICAgICAgICAgICBhcltpXSA9IGZyb21baV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvLmNvbmNhdChhciB8fCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogZmFsc2UgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG52YXIgX19zZXRNb2R1bGVEZWZhdWx0ID0gT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCB2KSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgXCJkZWZhdWx0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHYgfSk7XHJcbn0pIDogZnVuY3Rpb24obywgdikge1xyXG4gICAgb1tcImRlZmF1bHRcIl0gPSB2O1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoayAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIF9fY3JlYXRlQmluZGluZyhyZXN1bHQsIG1vZCwgayk7XHJcbiAgICBfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LCBtb2QpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikge1xyXG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgZ2V0dGVyXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XHJcbiAgICByZXR1cm4ga2luZCA9PT0gXCJtXCIgPyBmIDoga2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXJcIik7XHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xyXG4gICAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oc3RhdGUsIHJlY2VpdmVyKSB7XHJcbiAgICBpZiAocmVjZWl2ZXIgPT09IG51bGwgfHwgKHR5cGVvZiByZWNlaXZlciAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgcmVjZWl2ZXIgIT09IFwiZnVuY3Rpb25cIikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgdXNlICdpbicgb3BlcmF0b3Igb24gbm9uLW9iamVjdFwiKTtcclxuICAgIHJldHVybiB0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyID09PSBzdGF0ZSA6IHN0YXRlLmhhcyhyZWNlaXZlcik7XHJcbn1cclxuIiwiLyohXG4gKiBAcGl4aXYvdGhyZWUtdnJtLW1hdGVyaWFscy1tdG9vbiB2Mi4wLjZcbiAqIE1Ub29uICh0b29uIG1hdGVyaWFsKSBtb2R1bGUgZm9yIEBwaXhpdi90aHJlZS12cm1cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAtMjAyMyBwaXhpdiBJbmMuXG4gKiBAcGl4aXYvdGhyZWUtdnJtLW1hdGVyaWFscy1tdG9vbiBpcyBkaXN0cmlidXRlZCB1bmRlciBNSVQgTGljZW5zZVxuICogaHR0cHM6Ly9naXRodWIuY29tL3BpeGl2L3RocmVlLXZybS9ibG9iL3JlbGVhc2UvTElDRU5TRVxuICovXG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxuXG52YXIgdmVydGV4U2hhZGVyID0gXCIvLyAjZGVmaW5lIFBIT05HXFxuXFxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XFxuXFxuI2lmbmRlZiBGTEFUX1NIQURFRFxcbiAgdmFyeWluZyB2ZWMzIHZOb3JtYWw7XFxuI2VuZGlmXFxuXFxuI2luY2x1ZGUgPGNvbW1vbj5cXG5cXG4vLyAjaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XFxuI2lmZGVmIE1UT09OX1VTRV9VVlxcbiAgdmFyeWluZyB2ZWMyIHZVdjtcXG5cXG4gIC8vIENPTVBBVDogcHJlLXIxNTEgdXNlcyBhIGNvbW1vbiB1dlRyYW5zZm9ybVxcbiAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA8IDE1MVxcbiAgICB1bmlmb3JtIG1hdDMgdXZUcmFuc2Zvcm07XFxuICAjZW5kaWZcXG4jZW5kaWZcXG5cXG4vLyAjaW5jbHVkZSA8dXYyX3BhcnNfdmVydGV4Plxcbi8vIENPTUFQVDogcHJlLXIxNTEgdXNlcyB1djIgZm9yIGxpZ2h0TWFwIGFuZCBhb01hcFxcbiNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPCAxNTFcXG4gICNpZiBkZWZpbmVkKCBVU0VfTElHSFRNQVAgKSB8fCBkZWZpbmVkKCBVU0VfQU9NQVAgKVxcbiAgICBhdHRyaWJ1dGUgdmVjMiB1djI7XFxuICAgIHZhcnlpbmcgdmVjMiB2VXYyO1xcbiAgICB1bmlmb3JtIG1hdDMgdXYyVHJhbnNmb3JtO1xcbiAgI2VuZGlmXFxuI2VuZGlmXFxuXFxuLy8gI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cXG4vLyAjaW5jbHVkZSA8ZW52bWFwX3BhcnNfdmVydGV4PlxcbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cXG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxcbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cXG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XFxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cXG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XFxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cXG5cXG4jaWZkZWYgVVNFX09VVExJTkVXSURUSE1VTFRJUExZVEVYVFVSRVxcbiAgdW5pZm9ybSBzYW1wbGVyMkQgb3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlO1xcbiAgdW5pZm9ybSBtYXQzIG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZVV2VHJhbnNmb3JtO1xcbiNlbmRpZlxcblxcbnVuaWZvcm0gZmxvYXQgb3V0bGluZVdpZHRoRmFjdG9yO1xcblxcbnZvaWQgbWFpbigpIHtcXG5cXG4gIC8vICNpbmNsdWRlIDx1dl92ZXJ0ZXg+XFxuICAjaWZkZWYgTVRPT05fVVNFX1VWXFxuICAgIC8vIENPTVBBVDogcHJlLXIxNTEgdXNlcyBhIGNvbW1vbiB1dlRyYW5zZm9ybVxcbiAgICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDE1MVxcbiAgICAgIHZVdiA9IHV2O1xcbiAgICAjZWxzZVxcbiAgICAgIHZVdiA9ICggdXZUcmFuc2Zvcm0gKiB2ZWMzKCB1diwgMSApICkueHk7XFxuICAgICNlbmRpZlxcbiAgI2VuZGlmXFxuXFxuICAvLyAjaW5jbHVkZSA8dXYyX3ZlcnRleD5cXG4gIC8vIENPTUFQVDogcHJlLXIxNTEgdXNlcyB1djIgZm9yIGxpZ2h0TWFwIGFuZCBhb01hcFxcbiAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA8IDE1MVxcbiAgICAjaWYgZGVmaW5lZCggVVNFX0xJR0hUTUFQICkgfHwgZGVmaW5lZCggVVNFX0FPTUFQIClcXG4gICAgICB2VXYyID0gKCB1djJUcmFuc2Zvcm0gKiB2ZWMzKCB1djIsIDEgKSApLnh5O1xcbiAgICAjZW5kaWZcXG4gICNlbmRpZlxcblxcbiAgI2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cXG5cXG4gICNpbmNsdWRlIDxiZWdpbm5vcm1hbF92ZXJ0ZXg+XFxuICAjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxcbiAgI2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cXG4gICNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cXG5cXG4gIC8vIHdlIG5lZWQgdGhpcyB0byBjb21wdXRlIHRoZSBvdXRsaW5lIHByb3Blcmx5XFxuICBvYmplY3ROb3JtYWwgPSBub3JtYWxpemUoIG9iamVjdE5vcm1hbCApO1xcblxcbiAgI2luY2x1ZGUgPGRlZmF1bHRub3JtYWxfdmVydGV4PlxcblxcbiAgI2lmbmRlZiBGTEFUX1NIQURFRCAvLyBOb3JtYWwgY29tcHV0ZWQgd2l0aCBkZXJpdmF0aXZlcyB3aGVuIEZMQVRfU0hBREVEXFxuICAgIHZOb3JtYWwgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XFxuICAjZW5kaWZcXG5cXG4gICNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XFxuXFxuICAjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxcbiAgI2luY2x1ZGUgPHNraW5uaW5nX3ZlcnRleD5cXG4gIC8vICNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxcbiAgI2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxcbiAgI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cXG4gICNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxcblxcbiAgdlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XFxuXFxuICBmbG9hdCBvdXRsaW5lVGV4ID0gMS4wO1xcblxcbiAgI2lmZGVmIE9VVExJTkVcXG4gICAgI2lmZGVmIFVTRV9PVVRMSU5FV0lEVEhNVUxUSVBMWVRFWFRVUkVcXG4gICAgICB2ZWMyIG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZVV2ID0gKCBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmVVdlRyYW5zZm9ybSAqIHZlYzMoIHZVdiwgMSApICkueHk7XFxuICAgICAgb3V0bGluZVRleCA9IHRleHR1cmUyRCggb3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlLCBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmVVdiApLmc7XFxuICAgICNlbmRpZlxcblxcbiAgICAjaWZkZWYgT1VUTElORV9XSURUSF9XT1JMRFxcbiAgICAgIGZsb2F0IHdvcmxkTm9ybWFsTGVuZ3RoID0gbGVuZ3RoKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xcbiAgICAgIHZlYzMgb3V0bGluZU9mZnNldCA9IG91dGxpbmVXaWR0aEZhY3RvciAqIG91dGxpbmVUZXggKiB3b3JsZE5vcm1hbExlbmd0aCAqIG9iamVjdE5vcm1hbDtcXG4gICAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KCBvdXRsaW5lT2Zmc2V0ICsgdHJhbnNmb3JtZWQsIDEuMCApO1xcbiAgICAjZW5kaWZcXG5cXG4gICAgI2lmZGVmIE9VVExJTkVfV0lEVEhfU0NSRUVOXFxuICAgICAgdmVjMyBjbGlwTm9ybWFsID0gKCBwcm9qZWN0aW9uTWF0cml4ICogbW9kZWxWaWV3TWF0cml4ICogdmVjNCggb2JqZWN0Tm9ybWFsLCAwLjAgKSApLnh5ejtcXG4gICAgICB2ZWMyIHByb2plY3RlZE5vcm1hbCA9IG5vcm1hbGl6ZSggY2xpcE5vcm1hbC54eSApO1xcbiAgICAgIHByb2plY3RlZE5vcm1hbC54ICo9IHByb2plY3Rpb25NYXRyaXhbIDAgXS54IC8gcHJvamVjdGlvbk1hdHJpeFsgMSBdLnk7XFxuICAgICAgZ2xfUG9zaXRpb24ueHkgKz0gMi4wICogb3V0bGluZVdpZHRoRmFjdG9yICogb3V0bGluZVRleCAqIHByb2plY3RlZE5vcm1hbC54eTtcXG4gICAgI2VuZGlmXFxuXFxuICAgIGdsX1Bvc2l0aW9uLnogKz0gMUUtNiAqIGdsX1Bvc2l0aW9uLnc7IC8vIGFudGktYXJ0aWZhY3QgbWFnaWNcXG4gICNlbmRpZlxcblxcbiAgI2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cXG4gIC8vICNpbmNsdWRlIDxlbnZtYXBfdmVydGV4PlxcbiAgI2luY2x1ZGUgPHNoYWRvd21hcF92ZXJ0ZXg+XFxuICAjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cXG5cXG59XCI7XG5cbnZhciBmcmFnbWVudFNoYWRlciA9IFwiLy8gI2RlZmluZSBQSE9OR1xcblxcbnVuaWZvcm0gdmVjMyBsaXRGYWN0b3I7XFxuXFxudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xcblxcbnVuaWZvcm0gdmVjMyBzaGFkZUNvbG9yRmFjdG9yO1xcbiNpZmRlZiBVU0VfU0hBREVNVUxUSVBMWVRFWFRVUkVcXG4gIHVuaWZvcm0gc2FtcGxlcjJEIHNoYWRlTXVsdGlwbHlUZXh0dXJlO1xcbiAgdW5pZm9ybSBtYXQzIHNoYWRlTXVsdGlwbHlUZXh0dXJlVXZUcmFuc2Zvcm07XFxuI2VuZGlmXFxuXFxudW5pZm9ybSBmbG9hdCBzaGFkaW5nU2hpZnRGYWN0b3I7XFxudW5pZm9ybSBmbG9hdCBzaGFkaW5nVG9vbnlGYWN0b3I7XFxuXFxuI2lmZGVmIFVTRV9TSEFESU5HU0hJRlRURVhUVVJFXFxuICB1bmlmb3JtIHNhbXBsZXIyRCBzaGFkaW5nU2hpZnRUZXh0dXJlO1xcbiAgdW5pZm9ybSBtYXQzIHNoYWRpbmdTaGlmdFRleHR1cmVVdlRyYW5zZm9ybTtcXG4gIHVuaWZvcm0gZmxvYXQgc2hhZGluZ1NoaWZ0VGV4dHVyZVNjYWxlO1xcbiNlbmRpZlxcblxcbnVuaWZvcm0gZmxvYXQgZ2lFcXVhbGl6YXRpb25GYWN0b3I7XFxuXFxudW5pZm9ybSB2ZWMzIHBhcmFtZXRyaWNSaW1Db2xvckZhY3RvcjtcXG4jaWZkZWYgVVNFX1JJTU1VTFRJUExZVEVYVFVSRVxcbiAgdW5pZm9ybSBzYW1wbGVyMkQgcmltTXVsdGlwbHlUZXh0dXJlO1xcbiAgdW5pZm9ybSBtYXQzIHJpbU11bHRpcGx5VGV4dHVyZVV2VHJhbnNmb3JtO1xcbiNlbmRpZlxcbnVuaWZvcm0gZmxvYXQgcmltTGlnaHRpbmdNaXhGYWN0b3I7XFxudW5pZm9ybSBmbG9hdCBwYXJhbWV0cmljUmltRnJlc25lbFBvd2VyRmFjdG9yO1xcbnVuaWZvcm0gZmxvYXQgcGFyYW1ldHJpY1JpbUxpZnRGYWN0b3I7XFxuXFxuI2lmZGVmIFVTRV9NQVRDQVBURVhUVVJFXFxuICB1bmlmb3JtIHZlYzMgbWF0Y2FwRmFjdG9yO1xcbiAgdW5pZm9ybSBzYW1wbGVyMkQgbWF0Y2FwVGV4dHVyZTtcXG4gIHVuaWZvcm0gbWF0MyBtYXRjYXBUZXh0dXJlVXZUcmFuc2Zvcm07XFxuI2VuZGlmXFxuXFxudW5pZm9ybSB2ZWMzIGVtaXNzaXZlO1xcbnVuaWZvcm0gZmxvYXQgZW1pc3NpdmVJbnRlbnNpdHk7XFxuXFxudW5pZm9ybSB2ZWMzIG91dGxpbmVDb2xvckZhY3RvcjtcXG51bmlmb3JtIGZsb2F0IG91dGxpbmVMaWdodGluZ01peEZhY3RvcjtcXG5cXG4jaWZkZWYgVVNFX1VWQU5JTUFUSU9OTUFTS1RFWFRVUkVcXG4gIHVuaWZvcm0gc2FtcGxlcjJEIHV2QW5pbWF0aW9uTWFza1RleHR1cmU7XFxuICB1bmlmb3JtIG1hdDMgdXZBbmltYXRpb25NYXNrVGV4dHVyZVV2VHJhbnNmb3JtO1xcbiNlbmRpZlxcblxcbnVuaWZvcm0gZmxvYXQgdXZBbmltYXRpb25TY3JvbGxYT2Zmc2V0O1xcbnVuaWZvcm0gZmxvYXQgdXZBbmltYXRpb25TY3JvbGxZT2Zmc2V0O1xcbnVuaWZvcm0gZmxvYXQgdXZBbmltYXRpb25Sb3RhdGlvblBoYXNlO1xcblxcbiNpbmNsdWRlIDxjb21tb24+XFxuI2luY2x1ZGUgPHBhY2tpbmc+XFxuI2luY2x1ZGUgPGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50PlxcbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50Plxcblxcbi8vICNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxcbiNpZiAoIGRlZmluZWQoIE1UT09OX1VTRV9VViApICYmICFkZWZpbmVkKCBNVE9PTl9VVlNfVkVSVEVYX09OTFkgKSApXFxuICB2YXJ5aW5nIHZlYzIgdlV2O1xcbiNlbmRpZlxcblxcbi8vICNpbmNsdWRlIDx1djJfcGFyc19mcmFnbWVudD5cXG4vLyBDT01BUFQ6IHByZS1yMTUxIHVzZXMgdXYyIGZvciBsaWdodE1hcCBhbmQgYW9NYXBcXG4jaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OIDwgMTUxXFxuICAjaWYgZGVmaW5lZCggVVNFX0xJR0hUTUFQICkgfHwgZGVmaW5lZCggVVNFX0FPTUFQIClcXG4gICAgdmFyeWluZyB2ZWMyIHZVdjI7XFxuICAjZW5kaWZcXG4jZW5kaWZcXG5cXG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XFxuXFxuI2lmZGVmIFVTRV9NQVBcXG4gIHVuaWZvcm0gbWF0MyBtYXBVdlRyYW5zZm9ybTtcXG4jZW5kaWZcXG5cXG4vLyAjaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cXG5cXG4jaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDEzMlxcbiAgI2luY2x1ZGUgPGFscGhhdGVzdF9wYXJzX2ZyYWdtZW50PlxcbiNlbmRpZlxcblxcbiNpbmNsdWRlIDxhb21hcF9wYXJzX2ZyYWdtZW50Plxcbi8vICNpbmNsdWRlIDxsaWdodG1hcF9wYXJzX2ZyYWdtZW50PlxcbiNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9wYXJzX2ZyYWdtZW50PlxcblxcbiNpZmRlZiBVU0VfRU1JU1NJVkVNQVBcXG4gIHVuaWZvcm0gbWF0MyBlbWlzc2l2ZU1hcFV2VHJhbnNmb3JtO1xcbiNlbmRpZlxcblxcbi8vICNpbmNsdWRlIDxlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnQ+XFxuLy8gI2luY2x1ZGUgPGVudm1hcF9wYXJzX2ZyYWdtZW50Plxcbi8vICNpbmNsdWRlIDxjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ+XFxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50Plxcblxcbi8vICNpbmNsdWRlIDxic2Rmcz5cXG4vLyBDT01QQVQ6IHByZS1yMTUxIGRvZXNuJ3QgaGF2ZSBCUkRGX0xhbWJlcnQgaW4gPGNvbW1vbj5cXG4jaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OIDwgMTUxXFxuICB2ZWMzIEJSREZfTGFtYmVydCggY29uc3QgaW4gdmVjMyBkaWZmdXNlQ29sb3IgKSB7XFxuICAgIHJldHVybiBSRUNJUFJPQ0FMX1BJICogZGlmZnVzZUNvbG9yO1xcbiAgfVxcbiNlbmRpZlxcblxcbiNpbmNsdWRlIDxsaWdodHNfcGFyc19iZWdpbj5cXG5cXG4jaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDEzMlxcbiAgI2luY2x1ZGUgPG5vcm1hbF9wYXJzX2ZyYWdtZW50PlxcbiNlbmRpZlxcblxcbi8vICNpbmNsdWRlIDxsaWdodHNfcGhvbmdfcGFyc19mcmFnbWVudD5cXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcXG5cXG4jaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OIDwgMTMyXFxuICAjaWZuZGVmIEZMQVRfU0hBREVEXFxuICAgIHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xcbiAgI2VuZGlmXFxuI2VuZGlmXFxuXFxuc3RydWN0IE1Ub29uTWF0ZXJpYWwge1xcbiAgdmVjMyBkaWZmdXNlQ29sb3I7XFxuICB2ZWMzIHNoYWRlQ29sb3I7XFxuICBmbG9hdCBzaGFkaW5nU2hpZnQ7XFxufTtcXG5cXG5mbG9hdCBsaW5lYXJzdGVwKCBmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCB0ICkge1xcbiAgcmV0dXJuIGNsYW1wKCAoIHQgLSBhICkgLyAoIGIgLSBhICksIDAuMCwgMS4wICk7XFxufVxcblxcbi8qKlxcbiAqIENvbnZlcnQgTmRvdEwgaW50byB0b29uIHNoYWRpbmcgZmFjdG9yIHVzaW5nIHNoYWRpbmdTaGlmdCBhbmQgc2hhZGluZ1Rvb255XFxuICovXFxuZmxvYXQgZ2V0U2hhZGluZyhcXG4gIGNvbnN0IGluIGZsb2F0IGRvdE5MLFxcbiAgY29uc3QgaW4gZmxvYXQgc2hhZG93LFxcbiAgY29uc3QgaW4gZmxvYXQgc2hhZGluZ1NoaWZ0XFxuKSB7XFxuICBmbG9hdCBzaGFkaW5nID0gZG90Tkw7XFxuICBzaGFkaW5nID0gc2hhZGluZyArIHNoYWRpbmdTaGlmdDtcXG4gIHNoYWRpbmcgPSBsaW5lYXJzdGVwKCAtMS4wICsgc2hhZGluZ1Rvb255RmFjdG9yLCAxLjAgLSBzaGFkaW5nVG9vbnlGYWN0b3IsIHNoYWRpbmcgKTtcXG4gIHNoYWRpbmcgKj0gc2hhZG93O1xcbiAgcmV0dXJuIHNoYWRpbmc7XFxufVxcblxcbi8qKlxcbiAqIE1peCBkaWZmdXNlQ29sb3IgYW5kIHNoYWRlQ29sb3IgdXNpbmcgc2hhZGluZyBmYWN0b3IgYW5kIGxpZ2h0IGNvbG9yXFxuICovXFxudmVjMyBnZXREaWZmdXNlKFxcbiAgY29uc3QgaW4gTVRvb25NYXRlcmlhbCBtYXRlcmlhbCxcXG4gIGNvbnN0IGluIGZsb2F0IHNoYWRpbmcsXFxuICBpbiB2ZWMzIGxpZ2h0Q29sb3JcXG4pIHtcXG4gICNpZmRlZiBERUJVR19MSVRTSEFERVJBVEVcXG4gICAgcmV0dXJuIHZlYzMoIEJSREZfTGFtYmVydCggc2hhZGluZyAqIGxpZ2h0Q29sb3IgKSApO1xcbiAgI2VuZGlmXFxuXFxuICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OIDwgMTMyXFxuICAgICNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xcbiAgICAgIGxpZ2h0Q29sb3IgKj0gUEk7XFxuICAgICNlbmRpZlxcbiAgI2VuZGlmXFxuXFxuICB2ZWMzIGNvbCA9IGxpZ2h0Q29sb3IgKiBCUkRGX0xhbWJlcnQoIG1peCggbWF0ZXJpYWwuc2hhZGVDb2xvciwgbWF0ZXJpYWwuZGlmZnVzZUNvbG9yLCBzaGFkaW5nICkgKTtcXG5cXG4gIC8vIFRoZSBcXFwiY29tbWVudCBvdXQgaWYgeW91IHdhbnQgdG8gUEJSIGFic29sdXRlbHlcXFwiIGxpbmVcXG4gICNpZmRlZiBWMF9DT01QQVRfU0hBREVcXG4gICAgY29sID0gbWluKCBjb2wsIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xcbiAgI2VuZGlmXFxuXFxuICByZXR1cm4gY29sO1xcbn1cXG5cXG4jaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDE1N1xcbiAgdm9pZCBSRV9EaXJlY3RfTVRvb24oIGNvbnN0IGluIEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQsIGNvbnN0IGluIHZlYzMgZ2VvbWV0cnlQb3NpdGlvbiwgY29uc3QgaW4gdmVjMyBnZW9tZXRyeU5vcm1hbCwgY29uc3QgaW4gdmVjMyBnZW9tZXRyeVZpZXdEaXIsIGNvbnN0IGluIHZlYzMgZ2VvbWV0cnlDbGVhcmNvYXROb3JtYWwsIGNvbnN0IGluIE1Ub29uTWF0ZXJpYWwgbWF0ZXJpYWwsIGNvbnN0IGluIGZsb2F0IHNoYWRvdywgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XFxuICAgIGZsb2F0IGRvdE5MID0gY2xhbXAoIGRvdCggZ2VvbWV0cnlOb3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApLCAtMS4wLCAxLjAgKTtcXG4gICAgdmVjMyBpcnJhZGlhbmNlID0gZGlyZWN0TGlnaHQuY29sb3I7XFxuXFxuICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPCAxMzJcXG4gICAgICAjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcXG4gICAgICAgIGlycmFkaWFuY2UgKj0gUEk7XFxuICAgICAgI2VuZGlmXFxuICAgICNlbmRpZlxcblxcbiAgICAvLyBkaXJlY3RTcGVjdWxhciB3aWxsIGJlIHVzZWQgZm9yIHJpbSBsaWdodGluZywgbm90IGFuIGFjdHVhbCBzcGVjdWxhclxcbiAgICByZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSBpcnJhZGlhbmNlO1xcblxcbiAgICBpcnJhZGlhbmNlICo9IGRvdE5MO1xcblxcbiAgICBmbG9hdCBzaGFkaW5nID0gZ2V0U2hhZGluZyggZG90TkwsIHNoYWRvdywgbWF0ZXJpYWwuc2hhZGluZ1NoaWZ0ICk7XFxuXFxuICAgIC8vIHRvb24gc2hhZGVkIGRpZmZ1c2VcXG4gICAgcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArPSBnZXREaWZmdXNlKCBtYXRlcmlhbCwgc2hhZGluZywgZGlyZWN0TGlnaHQuY29sb3IgKTtcXG4gIH1cXG5cXG4gIHZvaWQgUkVfSW5kaXJlY3REaWZmdXNlX01Ub29uKCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIHZlYzMgZ2VvbWV0cnlQb3NpdGlvbiwgY29uc3QgaW4gdmVjMyBnZW9tZXRyeU5vcm1hbCwgY29uc3QgaW4gdmVjMyBnZW9tZXRyeVZpZXdEaXIsIGNvbnN0IGluIHZlYzMgZ2VvbWV0cnlDbGVhcmNvYXROb3JtYWwsIGNvbnN0IGluIE1Ub29uTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xcbiAgICAvLyBpbmRpcmVjdCBkaWZmdXNlIHdpbGwgdXNlIGRpZmZ1c2VDb2xvciwgbm8gc2hhZGVDb2xvciBpbnZvbHZlZFxcbiAgICByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gaXJyYWRpYW5jZSAqIEJSREZfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XFxuXFxuICAgIC8vIGRpcmVjdFNwZWN1bGFyIHdpbGwgYmUgdXNlZCBmb3IgcmltIGxpZ2h0aW5nLCBub3QgYW4gYWN0dWFsIHNwZWN1bGFyXFxuICAgIHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICs9IGlycmFkaWFuY2U7XFxuICB9XFxuI2Vsc2VcXG4gIHZvaWQgUkVfRGlyZWN0X01Ub29uKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBNVG9vbk1hdGVyaWFsIG1hdGVyaWFsLCBjb25zdCBpbiBmbG9hdCBzaGFkb3csIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xcbiAgICBmbG9hdCBkb3ROTCA9IGNsYW1wKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICksIC0xLjAsIDEuMCApO1xcbiAgICB2ZWMzIGlycmFkaWFuY2UgPSBkaXJlY3RMaWdodC5jb2xvcjtcXG5cXG4gICAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA8IDEzMlxcbiAgICAgICNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xcbiAgICAgICAgaXJyYWRpYW5jZSAqPSBQSTtcXG4gICAgICAjZW5kaWZcXG4gICAgI2VuZGlmXFxuXFxuICAgIC8vIGRpcmVjdFNwZWN1bGFyIHdpbGwgYmUgdXNlZCBmb3IgcmltIGxpZ2h0aW5nLCBub3QgYW4gYWN0dWFsIHNwZWN1bGFyXFxuICAgIHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICs9IGlycmFkaWFuY2U7XFxuXFxuICAgIGlycmFkaWFuY2UgKj0gZG90Tkw7XFxuXFxuICAgIGZsb2F0IHNoYWRpbmcgPSBnZXRTaGFkaW5nKCBkb3ROTCwgc2hhZG93LCBtYXRlcmlhbC5zaGFkaW5nU2hpZnQgKTtcXG5cXG4gICAgLy8gdG9vbiBzaGFkZWQgZGlmZnVzZVxcbiAgICByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICs9IGdldERpZmZ1c2UoIG1hdGVyaWFsLCBzaGFkaW5nLCBkaXJlY3RMaWdodC5jb2xvciApO1xcbiAgfVxcblxcbiAgdm9pZCBSRV9JbmRpcmVjdERpZmZ1c2VfTVRvb24oIGNvbnN0IGluIHZlYzMgaXJyYWRpYW5jZSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gTVRvb25NYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XFxuICAgIC8vIGluZGlyZWN0IGRpZmZ1c2Ugd2lsbCB1c2UgZGlmZnVzZUNvbG9yLCBubyBzaGFkZUNvbG9yIGludm9sdmVkXFxuICAgIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBpcnJhZGlhbmNlICogQlJERl9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcXG5cXG4gICAgLy8gZGlyZWN0U3BlY3VsYXIgd2lsbCBiZSB1c2VkIGZvciByaW0gbGlnaHRpbmcsIG5vdCBhbiBhY3R1YWwgc3BlY3VsYXJcXG4gICAgcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gaXJyYWRpYW5jZTtcXG4gIH1cXG4jZW5kaWZcXG5cXG4jZGVmaW5lIFJFX0RpcmVjdCBSRV9EaXJlY3RfTVRvb25cXG4jZGVmaW5lIFJFX0luZGlyZWN0RGlmZnVzZSBSRV9JbmRpcmVjdERpZmZ1c2VfTVRvb25cXG4jZGVmaW5lIE1hdGVyaWFsX0xpZ2h0UHJvYmVMT0QoIG1hdGVyaWFsICkgKDApXFxuXFxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX2ZyYWdtZW50Plxcbi8vICNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XFxuXFxuLy8gI2luY2x1ZGUgPG5vcm1hbG1hcF9wYXJzX2ZyYWdtZW50PlxcbiNpZmRlZiBVU0VfTk9STUFMTUFQXFxuXFxuICB1bmlmb3JtIHNhbXBsZXIyRCBub3JtYWxNYXA7XFxuICB1bmlmb3JtIG1hdDMgbm9ybWFsTWFwVXZUcmFuc2Zvcm07XFxuICB1bmlmb3JtIHZlYzIgbm9ybWFsU2NhbGU7XFxuXFxuI2VuZGlmXFxuXFxuLy8gQ09NUEFUOiBVU0VfTk9STUFMTUFQX09CSkVDVFNQQUNFIHVzZWQgdG8gYmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIGluIHByZS1yMTUxXFxuI2lmIGRlZmluZWQoIFVTRV9OT1JNQUxNQVBfT0JKRUNUU1BBQ0UgKSB8fCBkZWZpbmVkKCBPQkpFQ1RTUEFDRV9OT1JNQUxNQVAgKVxcblxcbiAgdW5pZm9ybSBtYXQzIG5vcm1hbE1hdHJpeDtcXG5cXG4jZW5kaWZcXG5cXG4vLyBDT01QQVQ6IFVTRV9OT1JNQUxNQVBfVEFOR0VOVFNQQUNFIHVzZWQgdG8gYmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCBpbiBwcmUtcjE1MVxcbiNpZiAhIGRlZmluZWQgKCBVU0VfVEFOR0VOVCApICYmICggZGVmaW5lZCAoIFVTRV9OT1JNQUxNQVBfVEFOR0VOVFNQQUNFICkgfHwgZGVmaW5lZCAoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKSApXFxuXFxuICAvLyBQZXItUGl4ZWwgVGFuZ2VudCBTcGFjZSBOb3JtYWwgTWFwcGluZ1xcbiAgLy8gaHR0cDovL2hhY2tzb2ZsaWZlLmJsb2dzcG90LmNoLzIwMDkvMTEvcGVyLXBpeGVsLXRhbmdlbnQtc3BhY2Utbm9ybWFsLW1hcHBpbmcuaHRtbFxcblxcbiAgLy8gdGhyZWUtdnJtIHNwZWNpZmljIGNoYW5nZTogaXQgcmVxdWlyZXMgYHV2YCBhcyBhbiBpbnB1dCBpbiBvcmRlciB0byBzdXBwb3J0IHV2IHNjcm9sbHNcXG5cXG4gIC8vIFRlbXBvcmFyeSBjb21wYXQgYWdhaW5zdCBzaGFkZXIgY2hhbmdlIEAgVGhyZWUuanMgcjEyNiwgcjE1MVxcbiAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxNTFcXG5cXG4gICAgbWF0MyBnZXRUYW5nZW50RnJhbWUoIHZlYzMgZXllX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzIgdXYgKSB7XFxuXFxuICAgICAgdmVjMyBxMCA9IGRGZHgoIGV5ZV9wb3MueHl6ICk7XFxuICAgICAgdmVjMyBxMSA9IGRGZHkoIGV5ZV9wb3MueHl6ICk7XFxuICAgICAgdmVjMiBzdDAgPSBkRmR4KCB1di5zdCApO1xcbiAgICAgIHZlYzIgc3QxID0gZEZkeSggdXYuc3QgKTtcXG5cXG4gICAgICB2ZWMzIE4gPSBzdXJmX25vcm07XFxuXFxuICAgICAgdmVjMyBxMXBlcnAgPSBjcm9zcyggcTEsIE4gKTtcXG4gICAgICB2ZWMzIHEwcGVycCA9IGNyb3NzKCBOLCBxMCApO1xcblxcbiAgICAgIHZlYzMgVCA9IHExcGVycCAqIHN0MC54ICsgcTBwZXJwICogc3QxLng7XFxuICAgICAgdmVjMyBCID0gcTFwZXJwICogc3QwLnkgKyBxMHBlcnAgKiBzdDEueTtcXG5cXG4gICAgICBmbG9hdCBkZXQgPSBtYXgoIGRvdCggVCwgVCApLCBkb3QoIEIsIEIgKSApO1xcbiAgICAgIGZsb2F0IHNjYWxlID0gKCBkZXQgPT0gMC4wICkgPyAwLjAgOiBpbnZlcnNlc3FydCggZGV0ICk7XFxuXFxuICAgICAgcmV0dXJuIG1hdDMoIFQgKiBzY2FsZSwgQiAqIHNjYWxlLCBOICk7XFxuXFxuICAgIH1cXG5cXG4gICNlbGlmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxMjZcXG5cXG4gICAgdmVjMyBwZXJ0dXJiTm9ybWFsMkFyYiggdmVjMiB1diwgdmVjMyBleWVfcG9zLCB2ZWMzIHN1cmZfbm9ybSwgdmVjMyBtYXBOLCBmbG9hdCBmYWNlRGlyZWN0aW9uICkge1xcblxcbiAgICAgIHZlYzMgcTAgPSB2ZWMzKCBkRmR4KCBleWVfcG9zLnggKSwgZEZkeCggZXllX3Bvcy55ICksIGRGZHgoIGV5ZV9wb3MueiApICk7XFxuICAgICAgdmVjMyBxMSA9IHZlYzMoIGRGZHkoIGV5ZV9wb3MueCApLCBkRmR5KCBleWVfcG9zLnkgKSwgZEZkeSggZXllX3Bvcy56ICkgKTtcXG4gICAgICB2ZWMyIHN0MCA9IGRGZHgoIHV2LnN0ICk7XFxuICAgICAgdmVjMiBzdDEgPSBkRmR5KCB1di5zdCApO1xcblxcbiAgICAgIHZlYzMgTiA9IG5vcm1hbGl6ZSggc3VyZl9ub3JtICk7XFxuXFxuICAgICAgdmVjMyBxMXBlcnAgPSBjcm9zcyggcTEsIE4gKTtcXG4gICAgICB2ZWMzIHEwcGVycCA9IGNyb3NzKCBOLCBxMCApO1xcblxcbiAgICAgIHZlYzMgVCA9IHExcGVycCAqIHN0MC54ICsgcTBwZXJwICogc3QxLng7XFxuICAgICAgdmVjMyBCID0gcTFwZXJwICogc3QwLnkgKyBxMHBlcnAgKiBzdDEueTtcXG5cXG4gICAgICAvLyB0aHJlZS12cm0gc3BlY2lmaWMgY2hhbmdlOiBXb3JrYXJvdW5kIGZvciB0aGUgaXNzdWUgdGhhdCBoYXBwZW5zIHdoZW4gZGVsdGEgb2YgdXYgPSAwLjBcXG4gICAgICAvLyBUT0RPOiBJcyB0aGlzIHN0aWxsIHJlcXVpcmVkPyBPciBzaGFsbCBJIG1ha2UgYSBQUiBhYm91dCBpdD9cXG4gICAgICBpZiAoIGxlbmd0aCggVCApID09IDAuMCB8fCBsZW5ndGgoIEIgKSA9PSAwLjAgKSB7XFxuICAgICAgICByZXR1cm4gc3VyZl9ub3JtO1xcbiAgICAgIH1cXG5cXG4gICAgICBmbG9hdCBkZXQgPSBtYXgoIGRvdCggVCwgVCApLCBkb3QoIEIsIEIgKSApO1xcbiAgICAgIGZsb2F0IHNjYWxlID0gKCBkZXQgPT0gMC4wICkgPyAwLjAgOiBmYWNlRGlyZWN0aW9uICogaW52ZXJzZXNxcnQoIGRldCApO1xcblxcbiAgICAgIHJldHVybiBub3JtYWxpemUoIFQgKiAoIG1hcE4ueCAqIHNjYWxlICkgKyBCICogKCBtYXBOLnkgKiBzY2FsZSApICsgTiAqIG1hcE4ueiApO1xcblxcbiAgICB9XFxuXFxuICAjZWxzZVxcblxcbiAgICB2ZWMzIHBlcnR1cmJOb3JtYWwyQXJiKCB2ZWMyIHV2LCB2ZWMzIGV5ZV9wb3MsIHZlYzMgc3VyZl9ub3JtLCB2ZWMzIG1hcE4gKSB7XFxuXFxuICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgQWRyZW5vIDNYWCBkRmQqKCB2ZWMzICkgYnVnLiBTZWUgIzk5ODhcXG5cXG4gICAgICB2ZWMzIHEwID0gdmVjMyggZEZkeCggZXllX3Bvcy54ICksIGRGZHgoIGV5ZV9wb3MueSApLCBkRmR4KCBleWVfcG9zLnogKSApO1xcbiAgICAgIHZlYzMgcTEgPSB2ZWMzKCBkRmR5KCBleWVfcG9zLnggKSwgZEZkeSggZXllX3Bvcy55ICksIGRGZHkoIGV5ZV9wb3MueiApICk7XFxuICAgICAgdmVjMiBzdDAgPSBkRmR4KCB1di5zdCApO1xcbiAgICAgIHZlYzIgc3QxID0gZEZkeSggdXYuc3QgKTtcXG5cXG4gICAgICBmbG9hdCBzY2FsZSA9IHNpZ24oIHN0MS50ICogc3QwLnMgLSBzdDAudCAqIHN0MS5zICk7IC8vIHdlIGRvIG5vdCBjYXJlIGFib3V0IHRoZSBtYWduaXR1ZGVcXG5cXG4gICAgICB2ZWMzIFMgPSAoIHEwICogc3QxLnQgLSBxMSAqIHN0MC50ICkgKiBzY2FsZTtcXG4gICAgICB2ZWMzIFQgPSAoIC0gcTAgKiBzdDEucyArIHExICogc3QwLnMgKSAqIHNjYWxlO1xcblxcbiAgICAgIC8vIHRocmVlLXZybSBzcGVjaWZpYyBjaGFuZ2U6IFdvcmthcm91bmQgZm9yIHRoZSBpc3N1ZSB0aGF0IGhhcHBlbnMgd2hlbiBkZWx0YSBvZiB1diA9IDAuMFxcbiAgICAgIC8vIFRPRE86IElzIHRoaXMgc3RpbGwgcmVxdWlyZWQ/IE9yIHNoYWxsIEkgbWFrZSBhIFBSIGFib3V0IGl0P1xcblxcbiAgICAgIGlmICggbGVuZ3RoKCBTICkgPT0gMC4wIHx8IGxlbmd0aCggVCApID09IDAuMCApIHtcXG4gICAgICAgIHJldHVybiBzdXJmX25vcm07XFxuICAgICAgfVxcblxcbiAgICAgIFMgPSBub3JtYWxpemUoIFMgKTtcXG4gICAgICBUID0gbm9ybWFsaXplKCBUICk7XFxuICAgICAgdmVjMyBOID0gbm9ybWFsaXplKCBzdXJmX25vcm0gKTtcXG5cXG4gICAgICAjaWZkZWYgRE9VQkxFX1NJREVEXFxuXFxuICAgICAgICAvLyBXb3JrYXJvdW5kIGZvciBBZHJlbm8gR1BVcyBnbF9Gcm9udEZhY2luZyBidWcuIFNlZSAjMTU4NTAgYW5kICMxMDMzMVxcblxcbiAgICAgICAgYm9vbCBmcm9udEZhY2luZyA9IGRvdCggY3Jvc3MoIFMsIFQgKSwgTiApID4gMC4wO1xcblxcbiAgICAgICAgbWFwTi54eSAqPSAoIGZsb2F0KCBmcm9udEZhY2luZyApICogMi4wIC0gMS4wICk7XFxuXFxuICAgICAgI2Vsc2VcXG5cXG4gICAgICAgIG1hcE4ueHkgKj0gKCBmbG9hdCggZ2xfRnJvbnRGYWNpbmcgKSAqIDIuMCAtIDEuMCApO1xcblxcbiAgICAgICNlbmRpZlxcblxcbiAgICAgIG1hdDMgdHNuID0gbWF0MyggUywgVCwgTiApO1xcbiAgICAgIHJldHVybiBub3JtYWxpemUoIHRzbiAqIG1hcE4gKTtcXG5cXG4gICAgfVxcblxcbiAgI2VuZGlmXFxuXFxuI2VuZGlmXFxuXFxuLy8gI2luY2x1ZGUgPHNwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnQ+XFxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XFxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxcblxcbi8vID09IHBvc3QgY29ycmVjdGlvbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxudm9pZCBwb3N0Q29ycmVjdGlvbigpIHtcXG4gICNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cXG4gICNpbmNsdWRlIDxjb2xvcnNwYWNlX2ZyYWdtZW50PlxcbiAgI2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cXG4gICNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxcbiAgI2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cXG59XFxuXFxuLy8gPT0gbWFpbiBwcm9jZWR1cmUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cXG52b2lkIG1haW4oKSB7XFxuICAjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxcblxcbiAgdmVjMiB1diA9IHZlYzIoMC41LCAwLjUpO1xcblxcbiAgI2lmICggZGVmaW5lZCggTVRPT05fVVNFX1VWICkgJiYgIWRlZmluZWQoIE1UT09OX1VWU19WRVJURVhfT05MWSApIClcXG4gICAgdXYgPSB2VXY7XFxuXFxuICAgIGZsb2F0IHV2QW5pbU1hc2sgPSAxLjA7XFxuICAgICNpZmRlZiBVU0VfVVZBTklNQVRJT05NQVNLVEVYVFVSRVxcbiAgICAgIHZlYzIgdXZBbmltYXRpb25NYXNrVGV4dHVyZVV2ID0gKCB1dkFuaW1hdGlvbk1hc2tUZXh0dXJlVXZUcmFuc2Zvcm0gKiB2ZWMzKCB1diwgMSApICkueHk7XFxuICAgICAgdXZBbmltTWFzayA9IHRleHR1cmUyRCggdXZBbmltYXRpb25NYXNrVGV4dHVyZSwgdXZBbmltYXRpb25NYXNrVGV4dHVyZVV2ICkuYjtcXG4gICAgI2VuZGlmXFxuXFxuICAgIHV2ID0gdXYgKyB2ZWMyKCB1dkFuaW1hdGlvblNjcm9sbFhPZmZzZXQsIHV2QW5pbWF0aW9uU2Nyb2xsWU9mZnNldCApICogdXZBbmltTWFzaztcXG4gICAgZmxvYXQgdXZSb3RDb3MgPSBjb3MoIHV2QW5pbWF0aW9uUm90YXRpb25QaGFzZSAqIHV2QW5pbU1hc2sgKTtcXG4gICAgZmxvYXQgdXZSb3RTaW4gPSBzaW4oIHV2QW5pbWF0aW9uUm90YXRpb25QaGFzZSAqIHV2QW5pbU1hc2sgKTtcXG4gICAgdXYgPSBtYXQyKCB1dlJvdENvcywgLXV2Um90U2luLCB1dlJvdFNpbiwgdXZSb3RDb3MgKSAqICggdXYgLSAwLjUgKSArIDAuNTtcXG4gICNlbmRpZlxcblxcbiAgI2lmZGVmIERFQlVHX1VWXFxuICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoIDAuMCwgMC4wLCAwLjAsIDEuMCApO1xcbiAgICAjaWYgKCBkZWZpbmVkKCBNVE9PTl9VU0VfVVYgKSAmJiAhZGVmaW5lZCggTVRPT05fVVZTX1ZFUlRFWF9PTkxZICkgKVxcbiAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoIHV2LCAwLjAsIDEuMCApO1xcbiAgICAjZW5kaWZcXG4gICAgcmV0dXJuO1xcbiAgI2VuZGlmXFxuXFxuICB2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGxpdEZhY3Rvciwgb3BhY2l0eSApO1xcbiAgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcXG4gIHZlYzMgdG90YWxFbWlzc2l2ZVJhZGlhbmNlID0gZW1pc3NpdmUgKiBlbWlzc2l2ZUludGVuc2l0eTtcXG5cXG4gICNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cXG5cXG4gIC8vICNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XFxuICAjaWZkZWYgVVNFX01BUFxcbiAgICB2ZWMyIG1hcFV2ID0gKCBtYXBVdlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcXG4gICAgdmVjNCBzYW1wbGVkRGlmZnVzZUNvbG9yID0gdGV4dHVyZTJEKCBtYXAsIG1hcFV2ICk7XFxuICAgICNpZmRlZiBERUNPREVfVklERU9fVEVYVFVSRVxcbiAgICAgIHNhbXBsZWREaWZmdXNlQ29sb3IgPSB2ZWM0KCBtaXgoIHBvdyggc2FtcGxlZERpZmZ1c2VDb2xvci5yZ2IgKiAwLjk0Nzg2NzI5ODYgKyB2ZWMzKCAwLjA1MjEzMjcwMTQgKSwgdmVjMyggMi40ICkgKSwgc2FtcGxlZERpZmZ1c2VDb2xvci5yZ2IgKiAwLjA3NzM5OTM4MDgsIHZlYzMoIGxlc3NUaGFuRXF1YWwoIHNhbXBsZWREaWZmdXNlQ29sb3IucmdiLCB2ZWMzKCAwLjA0MDQ1ICkgKSApICksIHNhbXBsZWREaWZmdXNlQ29sb3IudyApO1xcbiAgICAjZW5kaWZcXG4gICAgZGlmZnVzZUNvbG9yICo9IHNhbXBsZWREaWZmdXNlQ29sb3I7XFxuICAjZW5kaWZcXG5cXG4gIC8vICNpbmNsdWRlIDxjb2xvcl9mcmFnbWVudD5cXG4gICNpZiAoIGRlZmluZWQoIFVTRV9DT0xPUiApICYmICFkZWZpbmVkKCBJR05PUkVfVkVSVEVYX0NPTE9SICkgKVxcbiAgICBkaWZmdXNlQ29sb3IucmdiICo9IHZDb2xvcjtcXG4gICNlbmRpZlxcblxcbiAgLy8gI2luY2x1ZGUgPGFscGhhbWFwX2ZyYWdtZW50PlxcblxcbiAgI2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cXG5cXG4gIC8vICNpbmNsdWRlIDxzcGVjdWxhcm1hcF9mcmFnbWVudD5cXG5cXG4gIC8vICNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfYmVnaW4+XFxuICBmbG9hdCBmYWNlRGlyZWN0aW9uID0gZ2xfRnJvbnRGYWNpbmcgPyAxLjAgOiAtMS4wO1xcblxcbiAgI2lmZGVmIEZMQVRfU0hBREVEXFxuXFxuICAgIHZlYzMgZmR4ID0gZEZkeCggdlZpZXdQb3NpdGlvbiApO1xcbiAgICB2ZWMzIGZkeSA9IGRGZHkoIHZWaWV3UG9zaXRpb24gKTtcXG4gICAgdmVjMyBub3JtYWwgPSBub3JtYWxpemUoIGNyb3NzKCBmZHgsIGZkeSApICk7XFxuXFxuICAjZWxzZVxcblxcbiAgICB2ZWMzIG5vcm1hbCA9IG5vcm1hbGl6ZSggdk5vcm1hbCApO1xcblxcbiAgICAjaWZkZWYgRE9VQkxFX1NJREVEXFxuXFxuICAgICAgbm9ybWFsICo9IGZhY2VEaXJlY3Rpb247XFxuXFxuICAgICNlbmRpZlxcblxcbiAgI2VuZGlmXFxuXFxuICAjaWZkZWYgVVNFX05PUk1BTE1BUFxcblxcbiAgICB2ZWMyIG5vcm1hbE1hcFV2ID0gKCBub3JtYWxNYXBVdlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcXG5cXG4gICNlbmRpZlxcblxcbiAgI2lmZGVmIFVTRV9OT1JNQUxNQVBfVEFOR0VOVFNQQUNFXFxuXFxuICAgICNpZmRlZiBVU0VfVEFOR0VOVFxcblxcbiAgICAgIG1hdDMgdGJuID0gbWF0Myggbm9ybWFsaXplKCB2VGFuZ2VudCApLCBub3JtYWxpemUoIHZCaXRhbmdlbnQgKSwgbm9ybWFsICk7XFxuXFxuICAgICNlbHNlXFxuXFxuICAgICAgbWF0MyB0Ym4gPSBnZXRUYW5nZW50RnJhbWUoIC0gdlZpZXdQb3NpdGlvbiwgbm9ybWFsLCBub3JtYWxNYXBVdiApO1xcblxcbiAgICAjZW5kaWZcXG5cXG4gICAgI2lmIGRlZmluZWQoIERPVUJMRV9TSURFRCApICYmICEgZGVmaW5lZCggRkxBVF9TSEFERUQgKVxcblxcbiAgICAgIHRiblswXSAqPSBmYWNlRGlyZWN0aW9uO1xcbiAgICAgIHRiblsxXSAqPSBmYWNlRGlyZWN0aW9uO1xcblxcbiAgICAjZW5kaWZcXG5cXG4gICNlbmRpZlxcblxcbiAgI2lmZGVmIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQXFxuXFxuICAgICNpZmRlZiBVU0VfVEFOR0VOVFxcblxcbiAgICAgIG1hdDMgdGJuMiA9IG1hdDMoIG5vcm1hbGl6ZSggdlRhbmdlbnQgKSwgbm9ybWFsaXplKCB2Qml0YW5nZW50ICksIG5vcm1hbCApO1xcblxcbiAgICAjZWxzZVxcblxcbiAgICAgIG1hdDMgdGJuMiA9IGdldFRhbmdlbnRGcmFtZSggLSB2Vmlld1Bvc2l0aW9uLCBub3JtYWwsIHZDbGVhcmNvYXROb3JtYWxNYXBVdiApO1xcblxcbiAgICAjZW5kaWZcXG5cXG4gICAgI2lmIGRlZmluZWQoIERPVUJMRV9TSURFRCApICYmICEgZGVmaW5lZCggRkxBVF9TSEFERUQgKVxcblxcbiAgICAgIHRibjJbMF0gKj0gZmFjZURpcmVjdGlvbjtcXG4gICAgICB0Ym4yWzFdICo9IGZhY2VEaXJlY3Rpb247XFxuXFxuICAgICNlbmRpZlxcblxcbiAgI2VuZGlmXFxuXFxuICAvLyBub24gcGVydHVyYmVkIG5vcm1hbCBmb3IgY2xlYXJjb2F0IGFtb25nIG90aGVyc1xcblxcbiAgdmVjMyBub25QZXJ0dXJiZWROb3JtYWwgPSBub3JtYWw7XFxuXFxuICAjaWZkZWYgT1VUTElORVxcbiAgICBub3JtYWwgKj0gLTEuMDtcXG4gICNlbmRpZlxcblxcbiAgLy8gI2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9tYXBzPlxcblxcbiAgLy8gQ09NUEFUOiBVU0VfTk9STUFMTUFQX09CSkVDVFNQQUNFIHVzZWQgdG8gYmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIGluIHByZS1yMTUxXFxuICAjaWYgZGVmaW5lZCggVVNFX05PUk1BTE1BUF9PQkpFQ1RTUEFDRSApIHx8IGRlZmluZWQoIE9CSkVDVFNQQUNFX05PUk1BTE1BUCApXFxuXFxuICAgIG5vcm1hbCA9IHRleHR1cmUyRCggbm9ybWFsTWFwLCBub3JtYWxNYXBVdiApLnh5eiAqIDIuMCAtIDEuMDsgLy8gb3ZlcnJpZGVzIGJvdGggZmxhdFNoYWRpbmcgYW5kIGF0dHJpYnV0ZSBub3JtYWxzXFxuXFxuICAgICNpZmRlZiBGTElQX1NJREVEXFxuXFxuICAgICAgbm9ybWFsID0gLSBub3JtYWw7XFxuXFxuICAgICNlbmRpZlxcblxcbiAgICAjaWZkZWYgRE9VQkxFX1NJREVEXFxuXFxuICAgICAgLy8gVGVtcG9yYXJ5IGNvbXBhdCBhZ2FpbnN0IHNoYWRlciBjaGFuZ2UgQCBUaHJlZS5qcyByMTI2XFxuICAgICAgLy8gU2VlOiAjMjEyMDUsICMyMTMwNywgIzIxMjk5XFxuICAgICAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxMjZcXG5cXG4gICAgICAgIG5vcm1hbCA9IG5vcm1hbCAqIGZhY2VEaXJlY3Rpb247XFxuXFxuICAgICAgI2Vsc2VcXG5cXG4gICAgICAgIG5vcm1hbCA9IG5vcm1hbCAqICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcXG5cXG4gICAgICAjZW5kaWZcXG5cXG4gICAgI2VuZGlmXFxuXFxuICAgIG5vcm1hbCA9IG5vcm1hbGl6ZSggbm9ybWFsTWF0cml4ICogbm9ybWFsICk7XFxuXFxuICAvLyBDT01QQVQ6IFVTRV9OT1JNQUxNQVBfVEFOR0VOVFNQQUNFIHVzZWQgdG8gYmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCBpbiBwcmUtcjE1MVxcbiAgI2VsaWYgZGVmaW5lZCggVVNFX05PUk1BTE1BUF9UQU5HRU5UU1BBQ0UgKSB8fCBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIClcXG5cXG4gICAgdmVjMyBtYXBOID0gdGV4dHVyZTJEKCBub3JtYWxNYXAsIG5vcm1hbE1hcFV2ICkueHl6ICogMi4wIC0gMS4wO1xcbiAgICBtYXBOLnh5ICo9IG5vcm1hbFNjYWxlO1xcblxcbiAgICAvLyBDT01QQVQ6IHByZS1yMTUxXFxuICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTUxIHx8IGRlZmluZWQoIFVTRV9UQU5HRU5UIClcXG5cXG4gICAgICBub3JtYWwgPSBub3JtYWxpemUoIHRibiAqIG1hcE4gKTtcXG5cXG4gICAgI2Vsc2VcXG5cXG4gICAgICAvLyBwcmUtcjEyNlxcbiAgICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTI2XFxuXFxuICAgICAgICBub3JtYWwgPSBwZXJ0dXJiTm9ybWFsMkFyYiggdXYsIC12Vmlld1Bvc2l0aW9uLCBub3JtYWwsIG1hcE4sIGZhY2VEaXJlY3Rpb24gKTtcXG5cXG4gICAgICAjZWxzZVxcblxcbiAgICAgICAgbm9ybWFsID0gcGVydHVyYk5vcm1hbDJBcmIoIHV2LCAtdlZpZXdQb3NpdGlvbiwgbm9ybWFsLCBtYXBOICk7XFxuXFxuICAgICAgI2VuZGlmXFxuXFxuICAgICNlbmRpZlxcblxcbiAgI2VuZGlmXFxuXFxuICAvLyAjaW5jbHVkZSA8ZW1pc3NpdmVtYXBfZnJhZ21lbnQ+XFxuICAjaWZkZWYgVVNFX0VNSVNTSVZFTUFQXFxuICAgIHZlYzIgZW1pc3NpdmVNYXBVdiA9ICggZW1pc3NpdmVNYXBVdlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcXG4gICAgdG90YWxFbWlzc2l2ZVJhZGlhbmNlICo9IHRleHR1cmUyRCggZW1pc3NpdmVNYXAsIGVtaXNzaXZlTWFwVXYgKS5yZ2I7XFxuICAjZW5kaWZcXG5cXG4gICNpZmRlZiBERUJVR19OT1JNQUxcXG4gICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCggMC41ICsgMC41ICogbm9ybWFsLCAxLjAgKTtcXG4gICAgcmV0dXJuO1xcbiAgI2VuZGlmXFxuXFxuICAvLyAtLSBNVG9vbjogbGlnaHRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG4gIC8vIGFjY3VtdWxhdGlvblxcbiAgLy8gI2luY2x1ZGUgPGxpZ2h0c19waG9uZ19mcmFnbWVudD5cXG4gIE1Ub29uTWF0ZXJpYWwgbWF0ZXJpYWw7XFxuXFxuICBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgPSBkaWZmdXNlQ29sb3IucmdiO1xcblxcbiAgbWF0ZXJpYWwuc2hhZGVDb2xvciA9IHNoYWRlQ29sb3JGYWN0b3I7XFxuICAjaWZkZWYgVVNFX1NIQURFTVVMVElQTFlURVhUVVJFXFxuICAgIHZlYzIgc2hhZGVNdWx0aXBseVRleHR1cmVVdiA9ICggc2hhZGVNdWx0aXBseVRleHR1cmVVdlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcXG4gICAgbWF0ZXJpYWwuc2hhZGVDb2xvciAqPSB0ZXh0dXJlMkQoIHNoYWRlTXVsdGlwbHlUZXh0dXJlLCBzaGFkZU11bHRpcGx5VGV4dHVyZVV2ICkucmdiO1xcbiAgI2VuZGlmXFxuXFxuICAjaWYgKCBkZWZpbmVkKCBVU0VfQ09MT1IgKSAmJiAhZGVmaW5lZCggSUdOT1JFX1ZFUlRFWF9DT0xPUiApIClcXG4gICAgbWF0ZXJpYWwuc2hhZGVDb2xvci5yZ2IgKj0gdkNvbG9yO1xcbiAgI2VuZGlmXFxuXFxuICBtYXRlcmlhbC5zaGFkaW5nU2hpZnQgPSBzaGFkaW5nU2hpZnRGYWN0b3I7XFxuICAjaWZkZWYgVVNFX1NIQURJTkdTSElGVFRFWFRVUkVcXG4gICAgdmVjMiBzaGFkaW5nU2hpZnRUZXh0dXJlVXYgPSAoIHNoYWRpbmdTaGlmdFRleHR1cmVVdlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcXG4gICAgbWF0ZXJpYWwuc2hhZGluZ1NoaWZ0ICs9IHRleHR1cmUyRCggc2hhZGluZ1NoaWZ0VGV4dHVyZSwgc2hhZGluZ1NoaWZ0VGV4dHVyZVV2ICkuciAqIHNoYWRpbmdTaGlmdFRleHR1cmVTY2FsZTtcXG4gICNlbmRpZlxcblxcbiAgLy8gI2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9iZWdpbj5cXG5cXG4gIC8vIE1Ub29uIFNwZWNpZmljIGNoYW5nZXM6XFxuICAvLyBTaW5jZSB3ZSB3YW50IHRvIHRha2Ugc2hhZG93cyBpbnRvIGFjY291bnQgb2Ygc2hhZGluZyBpbnN0ZWFkIG9mIGlycmFkaWFuY2UsXFxuICAvLyB3ZSBoYWQgdG8gbW9kaWZ5IHRoZSBjb2RlcyB0aGF0IG11bHRpcGxpZXMgdGhlIHJlc3VsdHMgb2Ygc2hhZG93bWFwIGludG8gY29sb3Igb2YgZGlyZWN0IGxpZ2h0cy5cXG5cXG4gICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTU3XFxuICAgIHZlYzMgZ2VvbWV0cnlQb3NpdGlvbiA9IC0gdlZpZXdQb3NpdGlvbjtcXG4gICAgdmVjMyBnZW9tZXRyeU5vcm1hbCA9IG5vcm1hbDtcXG4gICAgdmVjMyBnZW9tZXRyeVZpZXdEaXIgPSAoIGlzT3J0aG9ncmFwaGljICkgPyB2ZWMzKCAwLCAwLCAxICkgOiBub3JtYWxpemUoIHZWaWV3UG9zaXRpb24gKTtcXG4gICAgXFxuICAgIHZlYzMgZ2VvbWV0cnlDbGVhcmNvYXROb3JtYWw7XFxuXFxuICAgICNpZmRlZiBVU0VfQ0xFQVJDT0FUXFxuXFxuICAgICAgZ2VvbWV0cnlDbGVhcmNvYXROb3JtYWwgPSBjbGVhcmNvYXROb3JtYWw7XFxuXFxuICAgICNlbmRpZlxcbiAgI2Vsc2VcXG4gICAgR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeTtcXG5cXG4gICAgZ2VvbWV0cnkucG9zaXRpb24gPSAtIHZWaWV3UG9zaXRpb247XFxuICAgIGdlb21ldHJ5Lm5vcm1hbCA9IG5vcm1hbDtcXG4gICAgZ2VvbWV0cnkudmlld0RpciA9ICggaXNPcnRob2dyYXBoaWMgKSA/IHZlYzMoIDAsIDAsIDEgKSA6IG5vcm1hbGl6ZSggdlZpZXdQb3NpdGlvbiApO1xcblxcbiAgICAjaWZkZWYgVVNFX0NMRUFSQ09BVFxcblxcbiAgICAgIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCA9IGNsZWFyY29hdE5vcm1hbDtcXG5cXG4gICAgI2VuZGlmXFxuICAjZW5kaWZcXG5cXG4gIEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQ7XFxuXFxuICAvLyBzaW5jZSB0aGVzZSB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGluIHVucm9sbGVkIGxvb3AsIHdlIGhhdmUgdG8gZGVmaW5lIGluIHByaW9yXFxuICBmbG9hdCBzaGFkb3c7XFxuXFxuICAjaWYgKCBOVU1fUE9JTlRfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdCApXFxuXFxuICAgIFBvaW50TGlnaHQgcG9pbnRMaWdodDtcXG4gICAgI2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcXG4gICAgUG9pbnRMaWdodFNoYWRvdyBwb2ludExpZ2h0U2hhZG93O1xcbiAgICAjZW5kaWZcXG5cXG4gICAgI3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxcbiAgICBmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUE9JTlRfTElHSFRTOyBpICsrICkge1xcblxcbiAgICAgIHBvaW50TGlnaHQgPSBwb2ludExpZ2h0c1sgaSBdO1xcblxcbiAgICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTU3XFxuICAgICAgICBnZXRQb2ludExpZ2h0SW5mbyggcG9pbnRMaWdodCwgZ2VvbWV0cnlQb3NpdGlvbiwgZGlyZWN0TGlnaHQgKTtcXG4gICAgICAjZWxpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTMyXFxuICAgICAgICBnZXRQb2ludExpZ2h0SW5mbyggcG9pbnRMaWdodCwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XFxuICAgICAgI2Vsc2VcXG4gICAgICAgIGdldFBvaW50RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBwb2ludExpZ2h0LCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcXG4gICAgICAjZW5kaWZcXG5cXG4gICAgICBzaGFkb3cgPSAxLjA7XFxuICAgICAgI2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiAoIFVOUk9MTEVEX0xPT1BfSU5ERVggPCBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyApXFxuICAgICAgcG9pbnRMaWdodFNoYWRvdyA9IHBvaW50TGlnaHRTaGFkb3dzWyBpIF07XFxuICAgICAgc2hhZG93ID0gYWxsKCBidmVjMiggZGlyZWN0TGlnaHQudmlzaWJsZSwgcmVjZWl2ZVNoYWRvdyApICkgPyBnZXRQb2ludFNoYWRvdyggcG9pbnRTaGFkb3dNYXBbIGkgXSwgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dNYXBTaXplLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd0JpYXMsIHBvaW50TGlnaHRTaGFkb3cuc2hhZG93UmFkaXVzLCB2UG9pbnRTaGFkb3dDb29yZFsgaSBdLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd0NhbWVyYU5lYXIsIHBvaW50TGlnaHRTaGFkb3cuc2hhZG93Q2FtZXJhRmFyICkgOiAxLjA7XFxuICAgICAgI2VuZGlmXFxuXFxuICAgICAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxNTdcXG4gICAgICAgIFJFX0RpcmVjdCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5UG9zaXRpb24sIGdlb21ldHJ5Tm9ybWFsLCBnZW9tZXRyeVZpZXdEaXIsIGdlb21ldHJ5Q2xlYXJjb2F0Tm9ybWFsLCBtYXRlcmlhbCwgc2hhZG93LCByZWZsZWN0ZWRMaWdodCApO1xcbiAgICAgICNlbHNlXFxuICAgICAgICBSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHNoYWRvdywgcmVmbGVjdGVkTGlnaHQgKTtcXG4gICAgICAjZW5kaWZcXG5cXG4gICAgfVxcbiAgICAjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxcblxcbiAgI2VuZGlmXFxuXFxuICAjaWYgKCBOVU1fU1BPVF9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0IClcXG5cXG4gICAgU3BvdExpZ2h0IHNwb3RMaWdodDtcXG4gICAgI2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiBOVU1fU1BPVF9MSUdIVF9TSEFET1dTID4gMFxcbiAgICBTcG90TGlnaHRTaGFkb3cgc3BvdExpZ2h0U2hhZG93O1xcbiAgICAjZW5kaWZcXG5cXG4gICAgI3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxcbiAgICBmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fU1BPVF9MSUdIVFM7IGkgKysgKSB7XFxuXFxuICAgICAgc3BvdExpZ2h0ID0gc3BvdExpZ2h0c1sgaSBdO1xcblxcbiAgICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTU3XFxuICAgICAgICBnZXRTcG90TGlnaHRJbmZvKCBzcG90TGlnaHQsIGdlb21ldHJ5UG9zaXRpb24sIGRpcmVjdExpZ2h0ICk7XFxuICAgICAgI2VsaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDEzMlxcbiAgICAgICAgZ2V0U3BvdExpZ2h0SW5mbyggc3BvdExpZ2h0LCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcXG4gICAgICAjZWxzZVxcbiAgICAgICAgZ2V0U3BvdERpcmVjdExpZ2h0SXJyYWRpYW5jZSggc3BvdExpZ2h0LCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcXG4gICAgICAjZW5kaWZcXG5cXG4gICAgICBzaGFkb3cgPSAxLjA7XFxuICAgICAgI2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiAoIFVOUk9MTEVEX0xPT1BfSU5ERVggPCBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIClcXG4gICAgICBzcG90TGlnaHRTaGFkb3cgPSBzcG90TGlnaHRTaGFkb3dzWyBpIF07XFxuICAgICAgc2hhZG93ID0gYWxsKCBidmVjMiggZGlyZWN0TGlnaHQudmlzaWJsZSwgcmVjZWl2ZVNoYWRvdyApICkgPyBnZXRTaGFkb3coIHNwb3RTaGFkb3dNYXBbIGkgXSwgc3BvdExpZ2h0U2hhZG93LnNoYWRvd01hcFNpemUsIHNwb3RMaWdodFNoYWRvdy5zaGFkb3dCaWFzLCBzcG90TGlnaHRTaGFkb3cuc2hhZG93UmFkaXVzLCB2U3BvdFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcXG4gICAgICAjZW5kaWZcXG5cXG4gICAgICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDE1N1xcbiAgICAgICAgUkVfRGlyZWN0KCBkaXJlY3RMaWdodCwgZ2VvbWV0cnlQb3NpdGlvbiwgZ2VvbWV0cnlOb3JtYWwsIGdlb21ldHJ5Vmlld0RpciwgZ2VvbWV0cnlDbGVhcmNvYXROb3JtYWwsIG1hdGVyaWFsLCBzaGFkb3csIHJlZmxlY3RlZExpZ2h0ICk7XFxuICAgICAgI2Vsc2VcXG4gICAgICAgIFJFX0RpcmVjdCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LCBtYXRlcmlhbCwgc2hhZG93LCByZWZsZWN0ZWRMaWdodCApO1xcbiAgICAgICNlbmRpZlxcblxcbiAgICB9XFxuICAgICNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXFxuXFxuICAjZW5kaWZcXG5cXG4gICNpZiAoIE5VTV9ESVJfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdCApXFxuXFxuICAgIERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodDtcXG4gICAgI2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiBOVU1fRElSX0xJR0hUX1NIQURPV1MgPiAwXFxuICAgIERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgZGlyZWN0aW9uYWxMaWdodFNoYWRvdztcXG4gICAgI2VuZGlmXFxuXFxuICAgICNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcXG4gICAgZm9yICggaW50IGkgPSAwOyBpIDwgTlVNX0RJUl9MSUdIVFM7IGkgKysgKSB7XFxuXFxuICAgICAgZGlyZWN0aW9uYWxMaWdodCA9IGRpcmVjdGlvbmFsTGlnaHRzWyBpIF07XFxuXFxuICAgICAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxNTdcXG4gICAgICAgIGdldERpcmVjdGlvbmFsTGlnaHRJbmZvKCBkaXJlY3Rpb25hbExpZ2h0LCBkaXJlY3RMaWdodCApO1xcbiAgICAgICNlbGlmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxMzJcXG4gICAgICAgIGdldERpcmVjdGlvbmFsTGlnaHRJbmZvKCBkaXJlY3Rpb25hbExpZ2h0LCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcXG4gICAgICAjZWxzZVxcbiAgICAgICAgZ2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGRpcmVjdGlvbmFsTGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xcbiAgICAgICNlbmRpZlxcblxcbiAgICAgIHNoYWRvdyA9IDEuMDtcXG4gICAgICAjaWYgZGVmaW5lZCggVVNFX1NIQURPV01BUCApICYmICggVU5ST0xMRURfTE9PUF9JTkRFWCA8IE5VTV9ESVJfTElHSFRfU0hBRE9XUyApXFxuICAgICAgZGlyZWN0aW9uYWxMaWdodFNoYWRvdyA9IGRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzWyBpIF07XFxuICAgICAgc2hhZG93ID0gYWxsKCBidmVjMiggZGlyZWN0TGlnaHQudmlzaWJsZSwgcmVjZWl2ZVNoYWRvdyApICkgPyBnZXRTaGFkb3coIGRpcmVjdGlvbmFsU2hhZG93TWFwWyBpIF0sIGRpcmVjdGlvbmFsTGlnaHRTaGFkb3cuc2hhZG93TWFwU2l6ZSwgZGlyZWN0aW9uYWxMaWdodFNoYWRvdy5zaGFkb3dCaWFzLCBkaXJlY3Rpb25hbExpZ2h0U2hhZG93LnNoYWRvd1JhZGl1cywgdkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIGkgXSApIDogMS4wO1xcbiAgICAgICNlbmRpZlxcblxcbiAgICAgICNpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTU3XFxuICAgICAgICBSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeVBvc2l0aW9uLCBnZW9tZXRyeU5vcm1hbCwgZ2VvbWV0cnlWaWV3RGlyLCBnZW9tZXRyeUNsZWFyY29hdE5vcm1hbCwgbWF0ZXJpYWwsIHNoYWRvdywgcmVmbGVjdGVkTGlnaHQgKTtcXG4gICAgICAjZWxzZVxcbiAgICAgICAgUkVfRGlyZWN0KCBkaXJlY3RMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCBzaGFkb3csIHJlZmxlY3RlZExpZ2h0ICk7XFxuICAgICAgI2VuZGlmXFxuXFxuICAgIH1cXG4gICAgI3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcXG5cXG4gICNlbmRpZlxcblxcbiAgLy8gI2lmICggTlVNX1JFQ1RfQVJFQV9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0X1JlY3RBcmVhIClcXG5cXG4gIC8vICAgUmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0O1xcblxcbiAgLy8gICAjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XFxuICAvLyAgIGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9SRUNUX0FSRUFfTElHSFRTOyBpICsrICkge1xcblxcbiAgLy8gICAgIHJlY3RBcmVhTGlnaHQgPSByZWN0QXJlYUxpZ2h0c1sgaSBdO1xcbiAgLy8gICAgIFJFX0RpcmVjdF9SZWN0QXJlYSggcmVjdEFyZWFMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xcblxcbiAgLy8gICB9XFxuICAvLyAgICNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXFxuXFxuICAvLyAjZW5kaWZcXG5cXG4gICNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdERpZmZ1c2UgKVxcblxcbiAgICB2ZWMzIGlibElycmFkaWFuY2UgPSB2ZWMzKCAwLjAgKTtcXG5cXG4gICAgdmVjMyBpcnJhZGlhbmNlID0gZ2V0QW1iaWVudExpZ2h0SXJyYWRpYW5jZSggYW1iaWVudExpZ2h0Q29sb3IgKTtcXG5cXG4gICAgI2lmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxNTdcXG4gICAgICAjaWYgZGVmaW5lZCggVVNFX0xJR0hUX1BST0JFUyApXFxuICAgICAgICBpcnJhZGlhbmNlICs9IGdldExpZ2h0UHJvYmVJcnJhZGlhbmNlKCBsaWdodFByb2JlLCBnZW9tZXRyeU5vcm1hbCApO1xcbiAgICAgICNlbmRpZlxcbiAgICAjZWxpZiBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT04gPj0gMTMzXFxuICAgICAgaXJyYWRpYW5jZSArPSBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggbGlnaHRQcm9iZSwgZ2VvbWV0cnkubm9ybWFsICk7XFxuICAgICNlbHNlXFxuICAgICAgaXJyYWRpYW5jZSArPSBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggbGlnaHRQcm9iZSwgZ2VvbWV0cnkgKTtcXG4gICAgI2VuZGlmXFxuXFxuICAgICNpZiAoIE5VTV9IRU1JX0xJR0hUUyA+IDAgKVxcblxcbiAgICAgICNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcXG4gICAgICBmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fSEVNSV9MSUdIVFM7IGkgKysgKSB7XFxuXFxuICAgICAgICAjaWYgVEhSRUVfVlJNX1RIUkVFX1JFVklTSU9OID49IDE1N1xcbiAgICAgICAgICBpcnJhZGlhbmNlICs9IGdldEhlbWlzcGhlcmVMaWdodElycmFkaWFuY2UoIGhlbWlzcGhlcmVMaWdodHNbIGkgXSwgZ2VvbWV0cnlOb3JtYWwgKTtcXG4gICAgICAgICNlbGlmIFRIUkVFX1ZSTV9USFJFRV9SRVZJU0lPTiA+PSAxMzNcXG4gICAgICAgICAgaXJyYWRpYW5jZSArPSBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBoZW1pc3BoZXJlTGlnaHRzWyBpIF0sIGdlb21ldHJ5Lm5vcm1hbCApO1xcbiAgICAgICAgI2Vsc2VcXG4gICAgICAgICAgaXJyYWRpYW5jZSArPSBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBoZW1pc3BoZXJlTGlnaHRzWyBpIF0sIGdlb21ldHJ5ICk7XFxuICAgICAgICAjZW5kaWZcXG5cXG4gICAgICB9XFxuICAgICAgI3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcXG5cXG4gICAgI2VuZGlmXFxuXFxuICAjZW5kaWZcXG5cXG4gIC8vICNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcXG5cXG4gIC8vICAgdmVjMyByYWRpYW5jZSA9IHZlYzMoIDAuMCApO1xcbiAgLy8gICB2ZWMzIGNsZWFyY29hdFJhZGlhbmNlID0gdmVjMyggMC4wICk7XFxuXFxuICAvLyAjZW5kaWZcXG5cXG4gICNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfbWFwcz5cXG4gICNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfZW5kPlxcblxcbiAgLy8gbW9kdWxhdGlvblxcbiAgI2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxcblxcbiAgdmVjMyBjb2wgPSByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlO1xcblxcbiAgI2lmZGVmIERFQlVHX0xJVFNIQURFUkFURVxcbiAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KCBjb2wsIGRpZmZ1c2VDb2xvci5hICk7XFxuICAgIHBvc3RDb3JyZWN0aW9uKCk7XFxuICAgIHJldHVybjtcXG4gICNlbmRpZlxcblxcbiAgLy8gLS0gTVRvb246IHJpbSBsaWdodGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcbiAgdmVjMyB2aWV3RGlyID0gbm9ybWFsaXplKCB2Vmlld1Bvc2l0aW9uICk7XFxuXFxuICAjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcXG4gICAgcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgLz0gUEk7XFxuICAjZW5kaWZcXG4gIHZlYzMgcmltTWl4ID0gbWl4KCB2ZWMzKCAxLjAgKSwgcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIsIDEuMCApO1xcblxcbiAgdmVjMyByaW0gPSBwYXJhbWV0cmljUmltQ29sb3JGYWN0b3IgKiBwb3coIHNhdHVyYXRlKCAxLjAgLSBkb3QoIHZpZXdEaXIsIG5vcm1hbCApICsgcGFyYW1ldHJpY1JpbUxpZnRGYWN0b3IgKSwgcGFyYW1ldHJpY1JpbUZyZXNuZWxQb3dlckZhY3RvciApO1xcblxcbiAgI2lmZGVmIFVTRV9NQVRDQVBURVhUVVJFXFxuICAgIHtcXG4gICAgICB2ZWMzIHggPSBub3JtYWxpemUoIHZlYzMoIHZpZXdEaXIueiwgMC4wLCAtdmlld0Rpci54ICkgKTtcXG4gICAgICB2ZWMzIHkgPSBjcm9zcyggdmlld0RpciwgeCApOyAvLyBndWFyYW50ZWVkIHRvIGJlIG5vcm1hbGl6ZWRcXG4gICAgICB2ZWMyIHNwaGVyZVV2ID0gMC41ICsgMC41ICogdmVjMiggZG90KCB4LCBub3JtYWwgKSwgLWRvdCggeSwgbm9ybWFsICkgKTtcXG4gICAgICBzcGhlcmVVdiA9ICggbWF0Y2FwVGV4dHVyZVV2VHJhbnNmb3JtICogdmVjMyggc3BoZXJlVXYsIDEgKSApLnh5O1xcbiAgICAgIHZlYzMgbWF0Y2FwID0gdGV4dHVyZTJEKCBtYXRjYXBUZXh0dXJlLCBzcGhlcmVVdiApLnJnYjtcXG4gICAgICByaW0gKz0gbWF0Y2FwRmFjdG9yICogbWF0Y2FwO1xcbiAgICB9XFxuICAjZW5kaWZcXG5cXG4gICNpZmRlZiBVU0VfUklNTVVMVElQTFlURVhUVVJFXFxuICAgIHZlYzIgcmltTXVsdGlwbHlUZXh0dXJlVXYgPSAoIHJpbU11bHRpcGx5VGV4dHVyZVV2VHJhbnNmb3JtICogdmVjMyggdXYsIDEgKSApLnh5O1xcbiAgICByaW0gKj0gdGV4dHVyZTJEKCByaW1NdWx0aXBseVRleHR1cmUsIHJpbU11bHRpcGx5VGV4dHVyZVV2ICkucmdiO1xcbiAgI2VuZGlmXFxuXFxuICBjb2wgKz0gcmltTWl4ICogcmltO1xcblxcbiAgLy8gLS0gTVRvb246IEVtaXNzaW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuICBjb2wgKz0gdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xcblxcbiAgLy8gI2luY2x1ZGUgPGVudm1hcF9mcmFnbWVudD5cXG5cXG4gIC8vIC0tIEFsbW9zdCBkb25lISAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcbiAgI2lmIGRlZmluZWQoIE9VVExJTkUgKVxcbiAgICBjb2wgPSBvdXRsaW5lQ29sb3JGYWN0b3IucmdiICogbWl4KCB2ZWMzKCAxLjAgKSwgY29sLCBvdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3IgKTtcXG4gICNlbmRpZlxcblxcbiAgI2lmZGVmIE9QQVFVRVxcbiAgICBkaWZmdXNlQ29sb3IuYSA9IDEuMDtcXG4gICNlbmRpZlxcblxcbiAgZ2xfRnJhZ0NvbG9yID0gdmVjNCggY29sLCBkaWZmdXNlQ29sb3IuYSApO1xcbiAgcG9zdENvcnJlY3Rpb24oKTtcXG59XFxuXCI7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyoqXG4gKiBTcGVjaWZpZXJzIG9mIGRlYnVnIG1vZGUgb2Yge0BsaW5rIE1Ub29uTWF0ZXJpYWx9LlxuICpcbiAqIFNlZToge0BsaW5rIE1Ub29uTWF0ZXJpYWwuZGVidWdNb2RlfVxuICovXG5jb25zdCBNVG9vbk1hdGVyaWFsRGVidWdNb2RlID0ge1xuICAgIC8qKlxuICAgICAqIFJlbmRlciBub3JtYWxseS5cbiAgICAgKi9cbiAgICBOb25lOiAnbm9uZScsXG4gICAgLyoqXG4gICAgICogVmlzdWFsaXplIG5vcm1hbHMgb2YgdGhlIHN1cmZhY2UuXG4gICAgICovXG4gICAgTm9ybWFsOiAnbm9ybWFsJyxcbiAgICAvKipcbiAgICAgKiBWaXN1YWxpemUgbGl0L3NoYWRlIG9mIHRoZSBzdXJmYWNlLlxuICAgICAqL1xuICAgIExpdFNoYWRlUmF0ZTogJ2xpdFNoYWRlUmF0ZScsXG4gICAgLyoqXG4gICAgICogVmlzdWFsaXplIFVWIG9mIHRoZSBzdXJmYWNlLlxuICAgICAqL1xuICAgIFVWOiAndXYnLFxufTtcblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5jb25zdCBNVG9vbk1hdGVyaWFsT3V0bGluZVdpZHRoTW9kZSA9IHtcbiAgICBOb25lOiAnbm9uZScsXG4gICAgV29ybGRDb29yZGluYXRlczogJ3dvcmxkQ29vcmRpbmF0ZXMnLFxuICAgIFNjcmVlbkNvb3JkaW5hdGVzOiAnc2NyZWVuQ29vcmRpbmF0ZXMnLFxufTtcblxuY29uc3QgZW5jb2RpbmdDb2xvclNwYWNlTWFwID0ge1xuICAgIDMwMDA6ICcnLFxuICAgIDMwMDE6ICdzcmdiJyxcbn07XG4vKipcbiAqIEEgY29tcGF0IGZ1bmN0aW9uIHRvIGdldCB0ZXh0dXJlIGNvbG9yIHNwYWNlLlxuICpcbiAqIENPTVBBVDogcHJlLXIxNTJcbiAqIFN0YXJ0aW5nIGZyb20gVGhyZWUuanMgcjE1MiwgYHRleHR1cmUuZW5jb2RpbmdgIGlzIHJlbmFtZWQgdG8gYHRleHR1cmUuY29sb3JTcGFjZWAuXG4gKiBUaGlzIGZ1bmN0aW9uIHdpbGwgaGFuZGxlIHRoZSBjb21hcHQuXG4gKlxuICogQHBhcmFtIHRleHR1cmUgVGhlIHRleHR1cmUgeW91IHdhbnQgdG8gZ2V0IHRoZSBjb2xvciBzcGFjZSBmcm9tXG4gKi9cbmZ1bmN0aW9uIGdldFRleHR1cmVDb2xvclNwYWNlKHRleHR1cmUpIHtcbiAgICBpZiAocGFyc2VJbnQoVEhSRUUuUkVWSVNJT04sIDEwKSA+PSAxNTIpIHtcbiAgICAgICAgcmV0dXJuIHRleHR1cmUuY29sb3JTcGFjZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBlbmNvZGluZ0NvbG9yU3BhY2VNYXBbdGV4dHVyZS5lbmNvZGluZ107XG4gICAgfVxufVxuXG4vKiB0c2xpbnQ6ZGlzYWJsZTptZW1iZXItb3JkZXJpbmcgKi9cbi8qKlxuICogTVRvb24gaXMgYSBtYXRlcmlhbCBzcGVjaWZpY2F0aW9uIHRoYXQgaGFzIHZhcmlvdXMgZmVhdHVyZXMuXG4gKiBUaGUgc3BlYyBhbmQgaW1wbGVtZW50YXRpb24gYXJlIG9yaWdpbmFsbHkgZm91bmRlZCBmb3IgVW5pdHkgZW5naW5lIGFuZCB0aGlzIGlzIGEgcG9ydCBvZiB0aGUgbWF0ZXJpYWwuXG4gKlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vU2FudGFyaC9NVG9vblxuICovXG5jbGFzcyBNVG9vbk1hdGVyaWFsIGV4dGVuZHMgVEhSRUUuU2hhZGVyTWF0ZXJpYWwge1xuICAgIGdldCBjb2xvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMubGl0RmFjdG9yLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgY29sb3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5saXRGYWN0b3IudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IG1hcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMubWFwLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgbWFwKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMubWFwLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBub3JtYWxNYXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLm5vcm1hbE1hcC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG5vcm1hbE1hcCh2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLm5vcm1hbE1hcC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgbm9ybWFsU2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLm5vcm1hbFNjYWxlLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgbm9ybWFsU2NhbGUodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5ub3JtYWxTY2FsZS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgZW1pc3NpdmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLmVtaXNzaXZlLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZW1pc3NpdmUodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5lbWlzc2l2ZS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgZW1pc3NpdmVJbnRlbnNpdHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLmVtaXNzaXZlSW50ZW5zaXR5LnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZW1pc3NpdmVJbnRlbnNpdHkodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5lbWlzc2l2ZUludGVuc2l0eS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgZW1pc3NpdmVNYXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLmVtaXNzaXZlTWFwLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZW1pc3NpdmVNYXAodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5lbWlzc2l2ZU1hcC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgc2hhZGVDb2xvckZhY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMuc2hhZGVDb2xvckZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHNoYWRlQ29sb3JGYWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5zaGFkZUNvbG9yRmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBzaGFkZU11bHRpcGx5VGV4dHVyZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMuc2hhZGVNdWx0aXBseVRleHR1cmUudmFsdWU7XG4gICAgfVxuICAgIHNldCBzaGFkZU11bHRpcGx5VGV4dHVyZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnNoYWRlTXVsdGlwbHlUZXh0dXJlLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBzaGFkaW5nU2hpZnRGYWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnNoYWRpbmdTaGlmdEZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHNoYWRpbmdTaGlmdEZhY3Rvcih2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnNoYWRpbmdTaGlmdEZhY3Rvci52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgc2hhZGluZ1NoaWZ0VGV4dHVyZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMuc2hhZGluZ1NoaWZ0VGV4dHVyZS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHNoYWRpbmdTaGlmdFRleHR1cmUodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5zaGFkaW5nU2hpZnRUZXh0dXJlLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBzaGFkaW5nU2hpZnRUZXh0dXJlU2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnNoYWRpbmdTaGlmdFRleHR1cmVTY2FsZS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHNoYWRpbmdTaGlmdFRleHR1cmVTY2FsZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnNoYWRpbmdTaGlmdFRleHR1cmVTY2FsZS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgc2hhZGluZ1Rvb255RmFjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5zaGFkaW5nVG9vbnlGYWN0b3IudmFsdWU7XG4gICAgfVxuICAgIHNldCBzaGFkaW5nVG9vbnlGYWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5zaGFkaW5nVG9vbnlGYWN0b3IudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGdpRXF1YWxpemF0aW9uRmFjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5naUVxdWFsaXphdGlvbkZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IGdpRXF1YWxpemF0aW9uRmFjdG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMuZ2lFcXVhbGl6YXRpb25GYWN0b3IudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IG1hdGNhcEZhY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMubWF0Y2FwRmFjdG9yLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgbWF0Y2FwRmFjdG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMubWF0Y2FwRmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBtYXRjYXBUZXh0dXJlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5tYXRjYXBUZXh0dXJlLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgbWF0Y2FwVGV4dHVyZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLm1hdGNhcFRleHR1cmUudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHBhcmFtZXRyaWNSaW1Db2xvckZhY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMucGFyYW1ldHJpY1JpbUNvbG9yRmFjdG9yLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgcGFyYW1ldHJpY1JpbUNvbG9yRmFjdG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMucGFyYW1ldHJpY1JpbUNvbG9yRmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCByaW1NdWx0aXBseVRleHR1cmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnJpbU11bHRpcGx5VGV4dHVyZS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHJpbU11bHRpcGx5VGV4dHVyZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnJpbU11bHRpcGx5VGV4dHVyZS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgcmltTGlnaHRpbmdNaXhGYWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnJpbUxpZ2h0aW5nTWl4RmFjdG9yLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgcmltTGlnaHRpbmdNaXhGYWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5yaW1MaWdodGluZ01peEZhY3Rvci52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgcGFyYW1ldHJpY1JpbUZyZXNuZWxQb3dlckZhY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMucGFyYW1ldHJpY1JpbUZyZXNuZWxQb3dlckZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHBhcmFtZXRyaWNSaW1GcmVzbmVsUG93ZXJGYWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5wYXJhbWV0cmljUmltRnJlc25lbFBvd2VyRmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBwYXJhbWV0cmljUmltTGlmdEZhY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMucGFyYW1ldHJpY1JpbUxpZnRGYWN0b3IudmFsdWU7XG4gICAgfVxuICAgIHNldCBwYXJhbWV0cmljUmltTGlmdEZhY3Rvcih2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnBhcmFtZXRyaWNSaW1MaWZ0RmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLm91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLm91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgb3V0bGluZVdpZHRoRmFjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy5vdXRsaW5lV2lkdGhGYWN0b3IudmFsdWU7XG4gICAgfVxuICAgIHNldCBvdXRsaW5lV2lkdGhGYWN0b3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy5vdXRsaW5lV2lkdGhGYWN0b3IudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IG91dGxpbmVDb2xvckZhY3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMub3V0bGluZUNvbG9yRmFjdG9yLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgb3V0bGluZUNvbG9yRmFjdG9yKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMub3V0bGluZUNvbG9yRmFjdG9yLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBvdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLm91dGxpbmVMaWdodGluZ01peEZhY3Rvci52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG91dGxpbmVMaWdodGluZ01peEZhY3Rvcih2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLm91dGxpbmVMaWdodGluZ01peEZhY3Rvci52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgdXZBbmltYXRpb25NYXNrVGV4dHVyZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMudXZBbmltYXRpb25NYXNrVGV4dHVyZS52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHV2QW5pbWF0aW9uTWFza1RleHR1cmUodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy51dkFuaW1hdGlvbk1hc2tUZXh0dXJlLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCB1dkFuaW1hdGlvblNjcm9sbFhPZmZzZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuaWZvcm1zLnV2QW5pbWF0aW9uU2Nyb2xsWE9mZnNldC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHV2QW5pbWF0aW9uU2Nyb2xsWE9mZnNldCh2YWx1ZSkge1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnV2QW5pbWF0aW9uU2Nyb2xsWE9mZnNldC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgdXZBbmltYXRpb25TY3JvbGxZT2Zmc2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bmlmb3Jtcy51dkFuaW1hdGlvblNjcm9sbFlPZmZzZXQudmFsdWU7XG4gICAgfVxuICAgIHNldCB1dkFuaW1hdGlvblNjcm9sbFlPZmZzZXQodmFsdWUpIHtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy51dkFuaW1hdGlvblNjcm9sbFlPZmZzZXQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHV2QW5pbWF0aW9uUm90YXRpb25QaGFzZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5pZm9ybXMudXZBbmltYXRpb25Sb3RhdGlvblBoYXNlLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgdXZBbmltYXRpb25Sb3RhdGlvblBoYXNlKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMudXZBbmltYXRpb25Sb3RhdGlvblBoYXNlLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFdoZW4gdGhpcyBpcyBgdHJ1ZWAsIHZlcnRleCBjb2xvcnMgd2lsbCBiZSBpZ25vcmVkLlxuICAgICAqIGB0cnVlYCBieSBkZWZhdWx0LlxuICAgICAqL1xuICAgIGdldCBpZ25vcmVWZXJ0ZXhDb2xvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lnbm9yZVZlcnRleENvbG9yO1xuICAgIH1cbiAgICBzZXQgaWdub3JlVmVydGV4Q29sb3IodmFsdWUpIHtcbiAgICAgICAgdGhpcy5faWdub3JlVmVydGV4Q29sb3IgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoZXJlIGlzIGEgbGluZSBvZiB0aGUgc2hhZGVyIGNhbGxlZCBcImNvbW1lbnQgb3V0IGlmIHlvdSB3YW50IHRvIFBCUiBhYnNvbHV0ZWx5XCIgaW4gVlJNMC4wIE1Ub29uLlxuICAgICAqIFdoZW4gdGhpcyBpcyB0cnVlLCB0aGUgbWF0ZXJpYWwgZW5hYmxlcyB0aGUgbGluZSB0byBtYWtlIGl0IGNvbXBhdGlibGUgd2l0aCB0aGUgbGVnYWN5IHJlbmRlcmluZyBvZiBWUk0uXG4gICAgICogVXN1YWxseSBub3QgcmVjb21tZW5kZWQgdG8gdHVybiB0aGlzIG9uLlxuICAgICAqIGBmYWxzZWAgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICBnZXQgdjBDb21wYXRTaGFkZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3YwQ29tcGF0U2hhZGU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoZXJlIGlzIGEgbGluZSBvZiB0aGUgc2hhZGVyIGNhbGxlZCBcImNvbW1lbnQgb3V0IGlmIHlvdSB3YW50IHRvIFBCUiBhYnNvbHV0ZWx5XCIgaW4gVlJNMC4wIE1Ub29uLlxuICAgICAqIFdoZW4gdGhpcyBpcyB0cnVlLCB0aGUgbWF0ZXJpYWwgZW5hYmxlcyB0aGUgbGluZSB0byBtYWtlIGl0IGNvbXBhdGlibGUgd2l0aCB0aGUgbGVnYWN5IHJlbmRlcmluZyBvZiBWUk0uXG4gICAgICogVXN1YWxseSBub3QgcmVjb21tZW5kZWQgdG8gdHVybiB0aGlzIG9uLlxuICAgICAqIGBmYWxzZWAgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICBzZXQgdjBDb21wYXRTaGFkZSh2KSB7XG4gICAgICAgIHRoaXMuX3YwQ29tcGF0U2hhZGUgPSB2O1xuICAgICAgICB0aGlzLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRGVidWcgbW9kZSBmb3IgdGhlIG1hdGVyaWFsLlxuICAgICAqIFlvdSBjYW4gdmlzdWFsaXplIHNldmVyYWwgY29tcG9uZW50cyBmb3IgZGlhZ25vc2lzIHVzaW5nIGRlYnVnIG1vZGUuXG4gICAgICpcbiAgICAgKiBTZWU6IHtAbGluayBNVG9vbk1hdGVyaWFsRGVidWdNb2RlfVxuICAgICAqL1xuICAgIGdldCBkZWJ1Z01vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWJ1Z01vZGU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIERlYnVnIG1vZGUgZm9yIHRoZSBtYXRlcmlhbC5cbiAgICAgKiBZb3UgY2FuIHZpc3VhbGl6ZSBzZXZlcmFsIGNvbXBvbmVudHMgZm9yIGRpYWdub3NpcyB1c2luZyBkZWJ1ZyBtb2RlLlxuICAgICAqXG4gICAgICogU2VlOiB7QGxpbmsgTVRvb25NYXRlcmlhbERlYnVnTW9kZX1cbiAgICAgKi9cbiAgICBzZXQgZGVidWdNb2RlKG0pIHtcbiAgICAgICAgdGhpcy5fZGVidWdNb2RlID0gbTtcbiAgICAgICAgdGhpcy5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIGdldCBvdXRsaW5lV2lkdGhNb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3V0bGluZVdpZHRoTW9kZTtcbiAgICB9XG4gICAgc2V0IG91dGxpbmVXaWR0aE1vZGUobSkge1xuICAgICAgICB0aGlzLl9vdXRsaW5lV2lkdGhNb2RlID0gbTtcbiAgICAgICAgdGhpcy5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIGdldCBpc091dGxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc091dGxpbmU7XG4gICAgfVxuICAgIHNldCBpc091dGxpbmUoYikge1xuICAgICAgICB0aGlzLl9pc091dGxpbmUgPSBiO1xuICAgICAgICB0aGlzLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVhZG9ubHkgYm9vbGVhbiB0aGF0IGluZGljYXRlcyB0aGlzIGlzIGEgW1tNVG9vbk1hdGVyaWFsXV0uXG4gICAgICovXG4gICAgZ2V0IGlzTVRvb25NYXRlcmlhbCgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcmFtZXRlcnMgPSB7fSkge1xuICAgICAgICBzdXBlcih7IHZlcnRleFNoYWRlciwgZnJhZ21lbnRTaGFkZXIgfSk7XG4gICAgICAgIHRoaXMudXZBbmltYXRpb25TY3JvbGxYU3BlZWRGYWN0b3IgPSAwLjA7XG4gICAgICAgIHRoaXMudXZBbmltYXRpb25TY3JvbGxZU3BlZWRGYWN0b3IgPSAwLjA7XG4gICAgICAgIHRoaXMudXZBbmltYXRpb25Sb3RhdGlvblNwZWVkRmFjdG9yID0gMC4wO1xuICAgICAgICAvKipcbiAgICAgICAgICogV2hldGhlciB0aGUgbWF0ZXJpYWwgaXMgYWZmZWN0ZWQgYnkgZm9nLlxuICAgICAgICAgKiBgdHJ1ZWAgYnkgZGVmYXVsdC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZm9nID0gdHJ1ZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdpbGwgYmUgcmVhZCBpbiBXZWJHTFByb2dyYW1zXG4gICAgICAgICAqXG4gICAgICAgICAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21yZG9vYi90aHJlZS5qcy9ibG9iLzRmNTIzNmFjM2Q2ZjQxZDkwNGFhNTg0MDFiNDA1NTRlOGZiZGNiMTUvc3JjL3JlbmRlcmVycy93ZWJnbC9XZWJHTFByb2dyYW1zLmpzI0wxOTAtTDE5MVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5ub3JtYWxNYXBUeXBlID0gVEhSRUUuVGFuZ2VudFNwYWNlTm9ybWFsTWFwO1xuICAgICAgICAvKipcbiAgICAgICAgICogV2hlbiB0aGlzIGlzIGB0cnVlYCwgdmVydGV4IGNvbG9ycyB3aWxsIGJlIGlnbm9yZWQuXG4gICAgICAgICAqIGB0cnVlYCBieSBkZWZhdWx0LlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5faWdub3JlVmVydGV4Q29sb3IgPSB0cnVlO1xuICAgICAgICB0aGlzLl92MENvbXBhdFNoYWRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2RlYnVnTW9kZSA9IE1Ub29uTWF0ZXJpYWxEZWJ1Z01vZGUuTm9uZTtcbiAgICAgICAgdGhpcy5fb3V0bGluZVdpZHRoTW9kZSA9IE1Ub29uTWF0ZXJpYWxPdXRsaW5lV2lkdGhNb2RlLk5vbmU7XG4gICAgICAgIHRoaXMuX2lzT3V0bGluZSA9IGZhbHNlO1xuICAgICAgICAvLyBvdmVycmlkZSBkZXB0aFdyaXRlIHdpdGggdHJhbnNwYXJlbnRXaXRoWldyaXRlXG4gICAgICAgIGlmIChwYXJhbWV0ZXJzLnRyYW5zcGFyZW50V2l0aFpXcml0ZSkge1xuICAgICAgICAgICAgcGFyYW1ldGVycy5kZXB0aFdyaXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBkZWxldGUgcGFyYW1ldGVycy50cmFuc3BhcmVudFdpdGhaV3JpdGU7XG4gICAgICAgIC8vID09IGVuYWJsaW5nIGJ1bmNoIG9mIHN0dWZmID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICBwYXJhbWV0ZXJzLmZvZyA9IHRydWU7XG4gICAgICAgIHBhcmFtZXRlcnMubGlnaHRzID0gdHJ1ZTtcbiAgICAgICAgcGFyYW1ldGVycy5jbGlwcGluZyA9IHRydWU7XG4gICAgICAgIC8vIENPTVBBVDogcHJlLXIxMjlcbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbXJkb29iL3RocmVlLmpzL3B1bGwvMjE3ODhcbiAgICAgICAgaWYgKHBhcnNlSW50KFRIUkVFLlJFVklTSU9OLCAxMCkgPCAxMjkpIHtcbiAgICAgICAgICAgIHBhcmFtZXRlcnMuc2tpbm5pbmcgPSBwYXJhbWV0ZXJzLnNraW5uaW5nIHx8IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIENPTVBBVDogcHJlLXIxMzFcbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbXJkb29iL3RocmVlLmpzL3B1bGwvMjIxNjlcbiAgICAgICAgaWYgKHBhcnNlSW50KFRIUkVFLlJFVklTSU9OLCAxMCkgPCAxMzEpIHtcbiAgICAgICAgICAgIHBhcmFtZXRlcnMubW9ycGhUYXJnZXRzID0gcGFyYW1ldGVycy5tb3JwaFRhcmdldHMgfHwgZmFsc2U7XG4gICAgICAgICAgICBwYXJhbWV0ZXJzLm1vcnBoTm9ybWFscyA9IHBhcmFtZXRlcnMubW9ycGhOb3JtYWxzIHx8IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vID09IHVuaWZvcm1zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICB0aGlzLnVuaWZvcm1zID0gVEhSRUUuVW5pZm9ybXNVdGlscy5tZXJnZShbXG4gICAgICAgICAgICBUSFJFRS5Vbmlmb3Jtc0xpYi5jb21tb24sXG4gICAgICAgICAgICBUSFJFRS5Vbmlmb3Jtc0xpYi5ub3JtYWxtYXAsXG4gICAgICAgICAgICBUSFJFRS5Vbmlmb3Jtc0xpYi5lbWlzc2l2ZW1hcCxcbiAgICAgICAgICAgIFRIUkVFLlVuaWZvcm1zTGliLmZvZyxcbiAgICAgICAgICAgIFRIUkVFLlVuaWZvcm1zTGliLmxpZ2h0cyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsaXRGYWN0b3I6IHsgdmFsdWU6IG5ldyBUSFJFRS5Db2xvcigxLjAsIDEuMCwgMS4wKSB9LFxuICAgICAgICAgICAgICAgIG1hcFV2VHJhbnNmb3JtOiB7IHZhbHVlOiBuZXcgVEhSRUUuTWF0cml4MygpIH0sXG4gICAgICAgICAgICAgICAgY29sb3JBbHBoYTogeyB2YWx1ZTogMS4wIH0sXG4gICAgICAgICAgICAgICAgbm9ybWFsTWFwVXZUcmFuc2Zvcm06IHsgdmFsdWU6IG5ldyBUSFJFRS5NYXRyaXgzKCkgfSxcbiAgICAgICAgICAgICAgICBzaGFkZUNvbG9yRmFjdG9yOiB7IHZhbHVlOiBuZXcgVEhSRUUuQ29sb3IoMC45NywgMC44MSwgMC44NikgfSxcbiAgICAgICAgICAgICAgICBzaGFkZU11bHRpcGx5VGV4dHVyZTogeyB2YWx1ZTogbnVsbCB9LFxuICAgICAgICAgICAgICAgIHNoYWRlTXVsdGlwbHlUZXh0dXJlVXZUcmFuc2Zvcm06IHsgdmFsdWU6IG5ldyBUSFJFRS5NYXRyaXgzKCkgfSxcbiAgICAgICAgICAgICAgICBzaGFkaW5nU2hpZnRGYWN0b3I6IHsgdmFsdWU6IDAuMCB9LFxuICAgICAgICAgICAgICAgIHNoYWRpbmdTaGlmdFRleHR1cmU6IHsgdmFsdWU6IG51bGwgfSxcbiAgICAgICAgICAgICAgICBzaGFkaW5nU2hpZnRUZXh0dXJlVXZUcmFuc2Zvcm06IHsgdmFsdWU6IG5ldyBUSFJFRS5NYXRyaXgzKCkgfSxcbiAgICAgICAgICAgICAgICBzaGFkaW5nU2hpZnRUZXh0dXJlU2NhbGU6IHsgdmFsdWU6IDEuMCB9LFxuICAgICAgICAgICAgICAgIHNoYWRpbmdUb29ueUZhY3RvcjogeyB2YWx1ZTogMC45IH0sXG4gICAgICAgICAgICAgICAgZ2lFcXVhbGl6YXRpb25GYWN0b3I6IHsgdmFsdWU6IDAuOSB9LFxuICAgICAgICAgICAgICAgIG1hdGNhcEZhY3RvcjogeyB2YWx1ZTogbmV3IFRIUkVFLkNvbG9yKDAuMCwgMC4wLCAwLjApIH0sXG4gICAgICAgICAgICAgICAgbWF0Y2FwVGV4dHVyZTogeyB2YWx1ZTogbnVsbCB9LFxuICAgICAgICAgICAgICAgIG1hdGNhcFRleHR1cmVVdlRyYW5zZm9ybTogeyB2YWx1ZTogbmV3IFRIUkVFLk1hdHJpeDMoKSB9LFxuICAgICAgICAgICAgICAgIHBhcmFtZXRyaWNSaW1Db2xvckZhY3RvcjogeyB2YWx1ZTogbmV3IFRIUkVFLkNvbG9yKDAuMCwgMC4wLCAwLjApIH0sXG4gICAgICAgICAgICAgICAgcmltTXVsdGlwbHlUZXh0dXJlOiB7IHZhbHVlOiBudWxsIH0sXG4gICAgICAgICAgICAgICAgcmltTXVsdGlwbHlUZXh0dXJlVXZUcmFuc2Zvcm06IHsgdmFsdWU6IG5ldyBUSFJFRS5NYXRyaXgzKCkgfSxcbiAgICAgICAgICAgICAgICByaW1MaWdodGluZ01peEZhY3RvcjogeyB2YWx1ZTogMC4wIH0sXG4gICAgICAgICAgICAgICAgcGFyYW1ldHJpY1JpbUZyZXNuZWxQb3dlckZhY3RvcjogeyB2YWx1ZTogMS4wIH0sXG4gICAgICAgICAgICAgICAgcGFyYW1ldHJpY1JpbUxpZnRGYWN0b3I6IHsgdmFsdWU6IDAuMCB9LFxuICAgICAgICAgICAgICAgIGVtaXNzaXZlOiB7IHZhbHVlOiBuZXcgVEhSRUUuQ29sb3IoMC4wLCAwLjAsIDAuMCkgfSxcbiAgICAgICAgICAgICAgICBlbWlzc2l2ZUludGVuc2l0eTogeyB2YWx1ZTogMS4wIH0sXG4gICAgICAgICAgICAgICAgZW1pc3NpdmVNYXBVdlRyYW5zZm9ybTogeyB2YWx1ZTogbmV3IFRIUkVFLk1hdHJpeDMoKSB9LFxuICAgICAgICAgICAgICAgIG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZTogeyB2YWx1ZTogbnVsbCB9LFxuICAgICAgICAgICAgICAgIG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZVV2VHJhbnNmb3JtOiB7IHZhbHVlOiBuZXcgVEhSRUUuTWF0cml4MygpIH0sXG4gICAgICAgICAgICAgICAgb3V0bGluZVdpZHRoRmFjdG9yOiB7IHZhbHVlOiAwLjUgfSxcbiAgICAgICAgICAgICAgICBvdXRsaW5lQ29sb3JGYWN0b3I6IHsgdmFsdWU6IG5ldyBUSFJFRS5Db2xvcigwLjAsIDAuMCwgMC4wKSB9LFxuICAgICAgICAgICAgICAgIG91dGxpbmVMaWdodGluZ01peEZhY3RvcjogeyB2YWx1ZTogMS4wIH0sXG4gICAgICAgICAgICAgICAgdXZBbmltYXRpb25NYXNrVGV4dHVyZTogeyB2YWx1ZTogbnVsbCB9LFxuICAgICAgICAgICAgICAgIHV2QW5pbWF0aW9uTWFza1RleHR1cmVVdlRyYW5zZm9ybTogeyB2YWx1ZTogbmV3IFRIUkVFLk1hdHJpeDMoKSB9LFxuICAgICAgICAgICAgICAgIHV2QW5pbWF0aW9uU2Nyb2xsWE9mZnNldDogeyB2YWx1ZTogMC4wIH0sXG4gICAgICAgICAgICAgICAgdXZBbmltYXRpb25TY3JvbGxZT2Zmc2V0OiB7IHZhbHVlOiAwLjAgfSxcbiAgICAgICAgICAgICAgICB1dkFuaW1hdGlvblJvdGF0aW9uUGhhc2U6IHsgdmFsdWU6IDAuMCB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnMudW5pZm9ybXMsXG4gICAgICAgIF0pO1xuICAgICAgICAvLyA9PSBmaW5hbGx5IGNvbXBpbGUgdGhlIHNoYWRlciBwcm9ncmFtID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgdGhpcy5zZXRWYWx1ZXMocGFyYW1ldGVycyk7XG4gICAgICAgIC8vID09IHVwbG9hZCB1bmlmb3JtcyB0aGF0IG5lZWQgdG8gdXBsb2FkID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICB0aGlzLl91cGxvYWRVbmlmb3Jtc1dvcmthcm91bmQoKTtcbiAgICAgICAgLy8gPT0gdXBkYXRlIHNoYWRlciBzdHVmZiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIHRoaXMuY3VzdG9tUHJvZ3JhbUNhY2hlS2V5ID0gKCkgPT4gW1xuICAgICAgICAgICAgLi4uT2JqZWN0LmVudHJpZXModGhpcy5fZ2VuZXJhdGVEZWZpbmVzKCkpLm1hcCgoW3Rva2VuLCBtYWNyb10pID0+IGAke3Rva2VufToke21hY3JvfWApLFxuICAgICAgICAgICAgdGhpcy5tYXRjYXBUZXh0dXJlID8gYG1hdGNhcFRleHR1cmVDb2xvclNwYWNlOiR7Z2V0VGV4dHVyZUNvbG9yU3BhY2UodGhpcy5tYXRjYXBUZXh0dXJlKX1gIDogJycsXG4gICAgICAgICAgICB0aGlzLnNoYWRlTXVsdGlwbHlUZXh0dXJlXG4gICAgICAgICAgICAgICAgPyBgc2hhZGVNdWx0aXBseVRleHR1cmVDb2xvclNwYWNlOiR7Z2V0VGV4dHVyZUNvbG9yU3BhY2UodGhpcy5zaGFkZU11bHRpcGx5VGV4dHVyZSl9YFxuICAgICAgICAgICAgICAgIDogJycsXG4gICAgICAgICAgICB0aGlzLnJpbU11bHRpcGx5VGV4dHVyZSA/IGByaW1NdWx0aXBseVRleHR1cmVDb2xvclNwYWNlOiR7Z2V0VGV4dHVyZUNvbG9yU3BhY2UodGhpcy5yaW1NdWx0aXBseVRleHR1cmUpfWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcsJyk7XG4gICAgICAgIHRoaXMub25CZWZvcmVDb21waWxlID0gKHNoYWRlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGhyZWVSZXZpc2lvbiA9IHBhcnNlSW50KFRIUkVFLlJFVklTSU9OLCAxMCk7XG4gICAgICAgICAgICBjb25zdCBkZWZpbmVzID0gT2JqZWN0LmVudHJpZXMoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9nZW5lcmF0ZURlZmluZXMoKSksIHRoaXMuZGVmaW5lcykpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoW3Rva2VuLCBtYWNyb10pID0+ICEhbWFjcm8pXG4gICAgICAgICAgICAgICAgLm1hcCgoW3Rva2VuLCBtYWNyb10pID0+IGAjZGVmaW5lICR7dG9rZW59ICR7bWFjcm99YClcbiAgICAgICAgICAgICAgICAuam9pbignXFxuJykgKyAnXFxuJztcbiAgICAgICAgICAgIC8vIC0tIGdlbmVyYXRlIHNoYWRlciBjb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHNoYWRlci52ZXJ0ZXhTaGFkZXIgPSBkZWZpbmVzICsgc2hhZGVyLnZlcnRleFNoYWRlcjtcbiAgICAgICAgICAgIHNoYWRlci5mcmFnbWVudFNoYWRlciA9IGRlZmluZXMgKyBzaGFkZXIuZnJhZ21lbnRTaGFkZXI7XG4gICAgICAgICAgICAvLyAtLSBjb21wYXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBDT01QQVQ6IHByZS1yMTU0XG4gICAgICAgICAgICAvLyBUaHJlZS5qcyByMTU0IHJlbmFtZXMgdGhlIHNoYWRlciBjaHVuayA8Y29sb3JzcGFjZV9mcmFnbWVudD4gdG8gPGVuY29kaW5nc19mcmFnbWVudD5cbiAgICAgICAgICAgIGlmICh0aHJlZVJldmlzaW9uIDwgMTU0KSB7XG4gICAgICAgICAgICAgICAgc2hhZGVyLmZyYWdtZW50U2hhZGVyID0gc2hhZGVyLmZyYWdtZW50U2hhZGVyLnJlcGxhY2UoJyNpbmNsdWRlIDxjb2xvcnNwYWNlX2ZyYWdtZW50PicsICcjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQ09NUEFUOiBwcmUtcjEzMlxuICAgICAgICAgICAgLy8gVGhyZWUuanMgcjEzMiBpbnRyb2R1Y2VzIG5ldyBzaGFkZXIgY2h1bmtzIDxub3JtYWxfcGFyc19mcmFnbWVudD4gYW5kIDxhbHBoYXRlc3RfcGFyc19mcmFnbWVudD5cbiAgICAgICAgICAgIGlmICh0aHJlZVJldmlzaW9uIDwgMTMyKSB7XG4gICAgICAgICAgICAgICAgc2hhZGVyLmZyYWdtZW50U2hhZGVyID0gc2hhZGVyLmZyYWdtZW50U2hhZGVyLnJlcGxhY2UoJyNpbmNsdWRlIDxub3JtYWxfcGFyc19mcmFnbWVudD4nLCAnJyk7XG4gICAgICAgICAgICAgICAgc2hhZGVyLmZyYWdtZW50U2hhZGVyID0gc2hhZGVyLmZyYWdtZW50U2hhZGVyLnJlcGxhY2UoJyNpbmNsdWRlIDxhbHBoYXRlc3RfcGFyc19mcmFnbWVudD4nLCAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB0aGlzIG1hdGVyaWFsLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRlbHRhIGRlbHRhVGltZSBzaW5jZSBsYXN0IHVwZGF0ZVxuICAgICAqL1xuICAgIHVwZGF0ZShkZWx0YSkge1xuICAgICAgICB0aGlzLl91cGxvYWRVbmlmb3Jtc1dvcmthcm91bmQoKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlVVZBbmltYXRpb24oZGVsdGEpO1xuICAgIH1cbiAgICBjb3B5KHNvdXJjZSkge1xuICAgICAgICBzdXBlci5jb3B5KHNvdXJjZSk7XG4gICAgICAgIC8vIHVuaWZvcm1zIGFyZSBhbHJlYWR5IGNvcGllZCBhdCB0aGlzIG1vbWVudFxuICAgICAgICAvLyBCZWdpbm5pbmcgZnJvbSByMTMzLCB1bmlmb3JtIHRleHR1cmVzIHdpbGwgYmUgY2xvbmVkIGluc3RlYWQgb2YgcmVmZXJlbmNlXG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21yZG9vYi90aHJlZS5qcy9ibG9iL2E4ODEzYmUwNGE4NDliZDE1NWY3Y2Y2ZjFiMjNkOGVlMmUwZmI0OGIvZXhhbXBsZXMvanNtL2xvYWRlcnMvR0xURkxvYWRlci5qcyNMMzA0N1xuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9tcmRvb2IvdGhyZWUuanMvYmxvYi9hODgxM2JlMDRhODQ5YmQxNTVmN2NmNmYxYjIzZDhlZTJlMGZiNDhiL3NyYy9yZW5kZXJlcnMvc2hhZGVycy9Vbmlmb3Jtc1V0aWxzLmpzI0wyMlxuICAgICAgICAvLyBUaGlzIHdpbGwgbGVhdmUgdGhlaXIgYC52ZXJzaW9uYCB0byBiZSBgMGBcbiAgICAgICAgLy8gYW5kIHRoZXNlIHRleHR1cmVzIHdvbid0IGJlIHVwbG9hZGVkIHRvIEdQVVxuICAgICAgICAvLyBXZSBhcmUgZ29pbmcgdG8gd29ya2Fyb3VuZCB0aGlzIGluIGhlcmVcbiAgICAgICAgLy8gSSd2ZSBvcGVuZWQgYW4gaXNzdWUgZm9yIHRoaXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9tcmRvb2IvdGhyZWUuanMvaXNzdWVzLzIyNzE4XG4gICAgICAgIHRoaXMubWFwID0gc291cmNlLm1hcDtcbiAgICAgICAgdGhpcy5ub3JtYWxNYXAgPSBzb3VyY2Uubm9ybWFsTWFwO1xuICAgICAgICB0aGlzLmVtaXNzaXZlTWFwID0gc291cmNlLmVtaXNzaXZlTWFwO1xuICAgICAgICB0aGlzLnNoYWRlTXVsdGlwbHlUZXh0dXJlID0gc291cmNlLnNoYWRlTXVsdGlwbHlUZXh0dXJlO1xuICAgICAgICB0aGlzLnNoYWRpbmdTaGlmdFRleHR1cmUgPSBzb3VyY2Uuc2hhZGluZ1NoaWZ0VGV4dHVyZTtcbiAgICAgICAgdGhpcy5tYXRjYXBUZXh0dXJlID0gc291cmNlLm1hdGNhcFRleHR1cmU7XG4gICAgICAgIHRoaXMucmltTXVsdGlwbHlUZXh0dXJlID0gc291cmNlLnJpbU11bHRpcGx5VGV4dHVyZTtcbiAgICAgICAgdGhpcy5vdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUgPSBzb3VyY2Uub3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlO1xuICAgICAgICB0aGlzLnV2QW5pbWF0aW9uTWFza1RleHR1cmUgPSBzb3VyY2UudXZBbmltYXRpb25NYXNrVGV4dHVyZTtcbiAgICAgICAgLy8gPT0gY29weSBtZW1iZXJzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIHRoaXMubm9ybWFsTWFwVHlwZSA9IHNvdXJjZS5ub3JtYWxNYXBUeXBlO1xuICAgICAgICB0aGlzLnV2QW5pbWF0aW9uU2Nyb2xsWFNwZWVkRmFjdG9yID0gc291cmNlLnV2QW5pbWF0aW9uU2Nyb2xsWFNwZWVkRmFjdG9yO1xuICAgICAgICB0aGlzLnV2QW5pbWF0aW9uU2Nyb2xsWVNwZWVkRmFjdG9yID0gc291cmNlLnV2QW5pbWF0aW9uU2Nyb2xsWVNwZWVkRmFjdG9yO1xuICAgICAgICB0aGlzLnV2QW5pbWF0aW9uUm90YXRpb25TcGVlZEZhY3RvciA9IHNvdXJjZS51dkFuaW1hdGlvblJvdGF0aW9uU3BlZWRGYWN0b3I7XG4gICAgICAgIHRoaXMuaWdub3JlVmVydGV4Q29sb3IgPSBzb3VyY2UuaWdub3JlVmVydGV4Q29sb3I7XG4gICAgICAgIHRoaXMudjBDb21wYXRTaGFkZSA9IHNvdXJjZS52MENvbXBhdFNoYWRlO1xuICAgICAgICB0aGlzLmRlYnVnTW9kZSA9IHNvdXJjZS5kZWJ1Z01vZGU7XG4gICAgICAgIHRoaXMub3V0bGluZVdpZHRoTW9kZSA9IHNvdXJjZS5vdXRsaW5lV2lkdGhNb2RlO1xuICAgICAgICB0aGlzLmlzT3V0bGluZSA9IHNvdXJjZS5pc091dGxpbmU7XG4gICAgICAgIC8vID09IHVwZGF0ZSBzaGFkZXIgc3R1ZmYgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICB0aGlzLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBVViBhbmltYXRpb24gc3RhdGUuXG4gICAgICogSW50ZW5kZWQgdG8gYmUgY2FsbGVkIHZpYSB7QGxpbmsgdXBkYXRlfS5cbiAgICAgKiBAcGFyYW0gZGVsdGEgZGVsdGFUaW1lXG4gICAgICovXG4gICAgX3VwZGF0ZVVWQW5pbWF0aW9uKGRlbHRhKSB7XG4gICAgICAgIHRoaXMudW5pZm9ybXMudXZBbmltYXRpb25TY3JvbGxYT2Zmc2V0LnZhbHVlICs9IGRlbHRhICogdGhpcy51dkFuaW1hdGlvblNjcm9sbFhTcGVlZEZhY3RvcjtcbiAgICAgICAgdGhpcy51bmlmb3Jtcy51dkFuaW1hdGlvblNjcm9sbFlPZmZzZXQudmFsdWUgKz0gZGVsdGEgKiB0aGlzLnV2QW5pbWF0aW9uU2Nyb2xsWVNwZWVkRmFjdG9yO1xuICAgICAgICB0aGlzLnVuaWZvcm1zLnV2QW5pbWF0aW9uUm90YXRpb25QaGFzZS52YWx1ZSArPSBkZWx0YSAqIHRoaXMudXZBbmltYXRpb25Sb3RhdGlvblNwZWVkRmFjdG9yO1xuICAgICAgICB0aGlzLnVuaWZvcm1zTmVlZFVwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwbG9hZCB1bmlmb3JtcyB0aGF0IG5lZWQgdG8gdXBsb2FkIGJ1dCBkb2Vzbid0IGF1dG9tYXRpY2FsbHkgYmVjYXVzZSBvZiByZWFzb25zLlxuICAgICAqIEludGVuZGVkIHRvIGJlIGNhbGxlZCB2aWEge0BsaW5rIGNvbnN0cnVjdG9yfSBhbmQge0BsaW5rIHVwZGF0ZX0uXG4gICAgICovXG4gICAgX3VwbG9hZFVuaWZvcm1zV29ya2Fyb3VuZCgpIHtcbiAgICAgICAgLy8gd29ya2Fyb3VuZDogc2luY2Ugb3BhY2l0eSBpcyBkZWZpbmVkIGFzIGEgcHJvcGVydHkgaW4gVEhSRUUuTWF0ZXJpYWxcbiAgICAgICAgLy8gYW5kIGNhbm5vdCBiZSBvdmVycmlkZGVuIGFzIGFuIGFjY2Vzc29yLFxuICAgICAgICAvLyBXZSBhcmUgZ29pbmcgdG8gdXBkYXRlIG9wYWNpdHkgaGVyZVxuICAgICAgICB0aGlzLnVuaWZvcm1zLm9wYWNpdHkudmFsdWUgPSB0aGlzLm9wYWNpdHk7XG4gICAgICAgIC8vIHdvcmthcm91bmQ6IHRleHR1cmUgdHJhbnNmb3JtcyBhcmUgbm90IHVwZGF0ZWQgYXV0b21hdGljYWxseVxuICAgICAgICB0aGlzLl91cGRhdGVUZXh0dXJlTWF0cml4KHRoaXMudW5pZm9ybXMubWFwLCB0aGlzLnVuaWZvcm1zLm1hcFV2VHJhbnNmb3JtKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlVGV4dHVyZU1hdHJpeCh0aGlzLnVuaWZvcm1zLm5vcm1hbE1hcCwgdGhpcy51bmlmb3Jtcy5ub3JtYWxNYXBVdlRyYW5zZm9ybSk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVRleHR1cmVNYXRyaXgodGhpcy51bmlmb3Jtcy5lbWlzc2l2ZU1hcCwgdGhpcy51bmlmb3Jtcy5lbWlzc2l2ZU1hcFV2VHJhbnNmb3JtKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlVGV4dHVyZU1hdHJpeCh0aGlzLnVuaWZvcm1zLnNoYWRlTXVsdGlwbHlUZXh0dXJlLCB0aGlzLnVuaWZvcm1zLnNoYWRlTXVsdGlwbHlUZXh0dXJlVXZUcmFuc2Zvcm0pO1xuICAgICAgICB0aGlzLl91cGRhdGVUZXh0dXJlTWF0cml4KHRoaXMudW5pZm9ybXMuc2hhZGluZ1NoaWZ0VGV4dHVyZSwgdGhpcy51bmlmb3Jtcy5zaGFkaW5nU2hpZnRUZXh0dXJlVXZUcmFuc2Zvcm0pO1xuICAgICAgICB0aGlzLl91cGRhdGVUZXh0dXJlTWF0cml4KHRoaXMudW5pZm9ybXMubWF0Y2FwVGV4dHVyZSwgdGhpcy51bmlmb3Jtcy5tYXRjYXBUZXh0dXJlVXZUcmFuc2Zvcm0pO1xuICAgICAgICB0aGlzLl91cGRhdGVUZXh0dXJlTWF0cml4KHRoaXMudW5pZm9ybXMucmltTXVsdGlwbHlUZXh0dXJlLCB0aGlzLnVuaWZvcm1zLnJpbU11bHRpcGx5VGV4dHVyZVV2VHJhbnNmb3JtKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlVGV4dHVyZU1hdHJpeCh0aGlzLnVuaWZvcm1zLm91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZSwgdGhpcy51bmlmb3Jtcy5vdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmVVdlRyYW5zZm9ybSk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVRleHR1cmVNYXRyaXgodGhpcy51bmlmb3Jtcy51dkFuaW1hdGlvbk1hc2tUZXh0dXJlLCB0aGlzLnVuaWZvcm1zLnV2QW5pbWF0aW9uTWFza1RleHR1cmVVdlRyYW5zZm9ybSk7XG4gICAgICAgIC8vIENPTVBBVCB3b3JrYXJvdW5kOiBzdGFydGluZyBmcm9tIHIxMzIsIGFscGhhVGVzdCBiZWNvbWVzIGEgdW5pZm9ybSBpbnN0ZWFkIG9mIHByZXByb2Nlc3NvciB2YWx1ZVxuICAgICAgICBjb25zdCB0aHJlZVJldmlzaW9uID0gcGFyc2VJbnQoVEhSRUUuUkVWSVNJT04sIDEwKTtcbiAgICAgICAgaWYgKHRocmVlUmV2aXNpb24gPj0gMTMyKSB7XG4gICAgICAgICAgICB0aGlzLnVuaWZvcm1zLmFscGhhVGVzdC52YWx1ZSA9IHRoaXMuYWxwaGFUZXN0O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudW5pZm9ybXNOZWVkVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIG1hcCBvYmplY3Qgb2YgcHJlcHJvY2Vzc29yIHRva2VuIGFuZCBtYWNybyBvZiB0aGUgc2hhZGVyIHByb2dyYW0uXG4gICAgICovXG4gICAgX2dlbmVyYXRlRGVmaW5lcygpIHtcbiAgICAgICAgY29uc3QgdGhyZWVSZXZpc2lvbiA9IHBhcnNlSW50KFRIUkVFLlJFVklTSU9OLCAxMCk7XG4gICAgICAgIGNvbnN0IHVzZVV2SW5WZXJ0ID0gdGhpcy5vdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUgIT09IG51bGw7XG4gICAgICAgIGNvbnN0IHVzZVV2SW5GcmFnID0gdGhpcy5tYXAgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMuZW1pc3NpdmVNYXAgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMuc2hhZGVNdWx0aXBseVRleHR1cmUgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMuc2hhZGluZ1NoaWZ0VGV4dHVyZSAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy5yaW1NdWx0aXBseVRleHR1cmUgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMudXZBbmltYXRpb25NYXNrVGV4dHVyZSAhPT0gbnVsbDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC8vIFRlbXBvcmFyeSBjb21wYXQgYWdhaW5zdCBzaGFkZXIgY2hhbmdlIEAgVGhyZWUuanMgcjEyNlxuICAgICAgICAgICAgLy8gU2VlOiAjMjEyMDUsICMyMTMwNywgIzIxMjk5XG4gICAgICAgICAgICBUSFJFRV9WUk1fVEhSRUVfUkVWSVNJT046IHRocmVlUmV2aXNpb24sXG4gICAgICAgICAgICBPVVRMSU5FOiB0aGlzLl9pc091dGxpbmUsXG4gICAgICAgICAgICBNVE9PTl9VU0VfVVY6IHVzZVV2SW5WZXJ0IHx8IHVzZVV2SW5GcmFnLFxuICAgICAgICAgICAgTVRPT05fVVZTX1ZFUlRFWF9PTkxZOiB1c2VVdkluVmVydCAmJiAhdXNlVXZJbkZyYWcsXG4gICAgICAgICAgICBWMF9DT01QQVRfU0hBREU6IHRoaXMuX3YwQ29tcGF0U2hhZGUsXG4gICAgICAgICAgICBVU0VfU0hBREVNVUxUSVBMWVRFWFRVUkU6IHRoaXMuc2hhZGVNdWx0aXBseVRleHR1cmUgIT09IG51bGwsXG4gICAgICAgICAgICBVU0VfU0hBRElOR1NISUZUVEVYVFVSRTogdGhpcy5zaGFkaW5nU2hpZnRUZXh0dXJlICE9PSBudWxsLFxuICAgICAgICAgICAgVVNFX01BVENBUFRFWFRVUkU6IHRoaXMubWF0Y2FwVGV4dHVyZSAhPT0gbnVsbCxcbiAgICAgICAgICAgIFVTRV9SSU1NVUxUSVBMWVRFWFRVUkU6IHRoaXMucmltTXVsdGlwbHlUZXh0dXJlICE9PSBudWxsLFxuICAgICAgICAgICAgVVNFX09VVExJTkVXSURUSE1VTFRJUExZVEVYVFVSRTogdGhpcy5faXNPdXRsaW5lICYmIHRoaXMub3V0bGluZVdpZHRoTXVsdGlwbHlUZXh0dXJlICE9PSBudWxsLFxuICAgICAgICAgICAgVVNFX1VWQU5JTUFUSU9OTUFTS1RFWFRVUkU6IHRoaXMudXZBbmltYXRpb25NYXNrVGV4dHVyZSAhPT0gbnVsbCxcbiAgICAgICAgICAgIElHTk9SRV9WRVJURVhfQ09MT1I6IHRoaXMuX2lnbm9yZVZlcnRleENvbG9yID09PSB0cnVlLFxuICAgICAgICAgICAgREVCVUdfTk9STUFMOiB0aGlzLl9kZWJ1Z01vZGUgPT09ICdub3JtYWwnLFxuICAgICAgICAgICAgREVCVUdfTElUU0hBREVSQVRFOiB0aGlzLl9kZWJ1Z01vZGUgPT09ICdsaXRTaGFkZVJhdGUnLFxuICAgICAgICAgICAgREVCVUdfVVY6IHRoaXMuX2RlYnVnTW9kZSA9PT0gJ3V2JyxcbiAgICAgICAgICAgIE9VVExJTkVfV0lEVEhfV09STEQ6IHRoaXMuX2lzT3V0bGluZSAmJiB0aGlzLl9vdXRsaW5lV2lkdGhNb2RlID09PSBNVG9vbk1hdGVyaWFsT3V0bGluZVdpZHRoTW9kZS5Xb3JsZENvb3JkaW5hdGVzLFxuICAgICAgICAgICAgT1VUTElORV9XSURUSF9TQ1JFRU46IHRoaXMuX2lzT3V0bGluZSAmJiB0aGlzLl9vdXRsaW5lV2lkdGhNb2RlID09PSBNVG9vbk1hdGVyaWFsT3V0bGluZVdpZHRoTW9kZS5TY3JlZW5Db29yZGluYXRlcyxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgX3VwZGF0ZVRleHR1cmVNYXRyaXgoc3JjLCBkc3QpIHtcbiAgICAgICAgaWYgKHNyYy52YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHNyYy52YWx1ZS5tYXRyaXhBdXRvVXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgc3JjLnZhbHVlLnVwZGF0ZU1hdHJpeCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZHN0LnZhbHVlLmNvcHkoc3JjLnZhbHVlLm1hdHJpeCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmNvbnN0IGNvbG9yU3BhY2VFbmNvZGluZ01hcCA9IHtcbiAgICAnJzogMzAwMCxcbiAgICBzcmdiOiAzMDAxLFxufTtcbi8qKlxuICogQSBjb21wYXQgZnVuY3Rpb24gdG8gc2V0IHRleHR1cmUgY29sb3Igc3BhY2UuXG4gKlxuICogQ09NUEFUOiBwcmUtcjE1MlxuICogU3RhcnRpbmcgZnJvbSBUaHJlZS5qcyByMTUyLCBgdGV4dHVyZS5lbmNvZGluZ2AgaXMgcmVuYW1lZCB0byBgdGV4dHVyZS5jb2xvclNwYWNlYC5cbiAqIFRoaXMgZnVuY3Rpb24gd2lsbCBoYW5kbGUgdGhlIGNvbWFwdC5cbiAqXG4gKiBAcGFyYW0gdGV4dHVyZSBUaGUgdGV4dHVyZSB5b3Ugd2FudCB0byBzZXQgdGhlIGNvbG9yIHNwYWNlIHRvXG4gKiBAcGFyYW0gY29sb3JTcGFjZSBUaGUgY29sb3Igc3BhY2UgeW91IHdhbnQgdG8gc2V0IHRvIHRoZSB0ZXh0dXJlXG4gKi9cbmZ1bmN0aW9uIHNldFRleHR1cmVDb2xvclNwYWNlKHRleHR1cmUsIGNvbG9yU3BhY2UpIHtcbiAgICBpZiAocGFyc2VJbnQoVEhSRUUuUkVWSVNJT04sIDEwKSA+PSAxNTIpIHtcbiAgICAgICAgdGV4dHVyZS5jb2xvclNwYWNlID0gY29sb3JTcGFjZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRleHR1cmUuZW5jb2RpbmcgPSBjb2xvclNwYWNlRW5jb2RpbmdNYXBbY29sb3JTcGFjZV07XG4gICAgfVxufVxuXG4vKipcbiAqIE1hdGVyaWFsUGFyYW1ldGVycyBoYXRlcyBgdW5kZWZpbmVkYC4gVGhpcyBoZWxwZXIgYXV0b21hdGljYWxseSByZWplY3RzIGFzc2lnbiBvZiB0aGVzZSBgdW5kZWZpbmVkYC5cbiAqIEl0IGFsc28gaGFuZGxlcyBhc3luY2hyb25vdXMgcHJvY2VzcyBvZiB0ZXh0dXJlcy5cbiAqIE1ha2Ugc3VyZSBhd2FpdCBmb3Ige0BsaW5rIEdMVEZNVG9vbk1hdGVyaWFsUGFyYW1zQXNzaWduSGVscGVyLnBlbmRpbmd9LlxuICovXG5jbGFzcyBHTFRGTVRvb25NYXRlcmlhbFBhcmFtc0Fzc2lnbkhlbHBlciB7XG4gICAgZ2V0IHBlbmRpbmcoKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbCh0aGlzLl9wZW5kaW5ncyk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlciwgbWF0ZXJpYWxQYXJhbXMpIHtcbiAgICAgICAgdGhpcy5fcGFyc2VyID0gcGFyc2VyO1xuICAgICAgICB0aGlzLl9tYXRlcmlhbFBhcmFtcyA9IG1hdGVyaWFsUGFyYW1zO1xuICAgICAgICB0aGlzLl9wZW5kaW5ncyA9IFtdO1xuICAgIH1cbiAgICBhc3NpZ25QcmltaXRpdmUoa2V5LCB2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fbWF0ZXJpYWxQYXJhbXNba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzc2lnbkNvbG9yKGtleSwgdmFsdWUsIGNvbnZlcnRTUkdCVG9MaW5lYXIpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX21hdGVyaWFsUGFyYW1zW2tleV0gPSBuZXcgVEhSRUUuQ29sb3IoKS5mcm9tQXJyYXkodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGNvbnZlcnRTUkdCVG9MaW5lYXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tYXRlcmlhbFBhcmFtc1trZXldLmNvbnZlcnRTUkdCVG9MaW5lYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3NpZ25UZXh0dXJlKGtleSwgdGV4dHVyZSwgaXNDb2xvclRleHR1cmUpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSAoKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0dXJlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQgdGhpcy5fcGFyc2VyLmFzc2lnblRleHR1cmUodGhpcy5fbWF0ZXJpYWxQYXJhbXMsIGtleSwgdGV4dHVyZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0NvbG9yVGV4dHVyZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGV4dHVyZUNvbG9yU3BhY2UodGhpcy5fbWF0ZXJpYWxQYXJhbXNba2V5XSwgJ3NyZ2InKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKSgpO1xuICAgICAgICAgICAgdGhpcy5fcGVuZGluZ3MucHVzaChwcm9taXNlKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXNzaWduVGV4dHVyZUJ5SW5kZXgoa2V5LCB0ZXh0dXJlSW5kZXgsIGlzQ29sb3JUZXh0dXJlKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hc3NpZ25UZXh0dXJlKGtleSwgdGV4dHVyZUluZGV4ICE9IG51bGwgPyB7IGluZGV4OiB0ZXh0dXJlSW5kZXggfSA6IHVuZGVmaW5lZCwgaXNDb2xvclRleHR1cmUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8qKlxuICogUG9zc2libGUgc3BlYyB2ZXJzaW9ucyBpdCByZWNvZ25pemVzLlxuICovXG5jb25zdCBQT1NTSUJMRV9TUEVDX1ZFUlNJT05TID0gbmV3IFNldChbJzEuMCcsICcxLjAtYmV0YSddKTtcbmNsYXNzIE1Ub29uTWF0ZXJpYWxMb2FkZXJQbHVnaW4ge1xuICAgIGdldCBuYW1lKCkge1xuICAgICAgICByZXR1cm4gTVRvb25NYXRlcmlhbExvYWRlclBsdWdpbi5FWFRFTlNJT05fTkFNRTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocGFyc2VyLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICAgICAgICB0aGlzLnJlbmRlck9yZGVyT2Zmc2V0ID0gKF9hID0gb3B0aW9ucy5yZW5kZXJPcmRlck9mZnNldCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMDtcbiAgICAgICAgdGhpcy52MENvbXBhdFNoYWRlID0gKF9iID0gb3B0aW9ucy52MENvbXBhdFNoYWRlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5kZWJ1Z01vZGUgPSAoX2MgPSBvcHRpb25zLmRlYnVnTW9kZSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogJ25vbmUnO1xuICAgICAgICB0aGlzLl9tVG9vbk1hdGVyaWFsU2V0ID0gbmV3IFNldCgpO1xuICAgIH1cbiAgICBiZWZvcmVSb290KCkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgdGhpcy5fcmVtb3ZlVW5saXRFeHRlbnNpb25JZk1Ub29uRXhpc3RzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBhZnRlclJvb3QoZ2x0Zikge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgZ2x0Zi51c2VyRGF0YS52cm1NVG9vbk1hdGVyaWFscyA9IEFycmF5LmZyb20odGhpcy5fbVRvb25NYXRlcmlhbFNldCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXRNYXRlcmlhbFR5cGUobWF0ZXJpYWxJbmRleCkge1xuICAgICAgICBjb25zdCB2MUV4dGVuc2lvbiA9IHRoaXMuX2dldE1Ub29uRXh0ZW5zaW9uKG1hdGVyaWFsSW5kZXgpO1xuICAgICAgICBpZiAodjFFeHRlbnNpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBNVG9vbk1hdGVyaWFsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBleHRlbmRNYXRlcmlhbFBhcmFtcyhtYXRlcmlhbEluZGV4LCBtYXRlcmlhbFBhcmFtcykge1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSB0aGlzLl9nZXRNVG9vbkV4dGVuc2lvbihtYXRlcmlhbEluZGV4KTtcbiAgICAgICAgaWYgKGV4dGVuc2lvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2V4dGVuZE1hdGVyaWFsUGFyYW1zKGV4dGVuc2lvbiwgbWF0ZXJpYWxQYXJhbXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBsb2FkTWVzaChtZXNoSW5kZXgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VyID0gdGhpcy5wYXJzZXI7XG4gICAgICAgICAgICBjb25zdCBqc29uID0gcGFyc2VyLmpzb247XG4gICAgICAgICAgICBjb25zdCBtZXNoRGVmID0gKF9hID0ganNvbi5tZXNoZXMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVttZXNoSW5kZXhdO1xuICAgICAgICAgICAgaWYgKG1lc2hEZWYgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTVRvb25NYXRlcmlhbExvYWRlclBsdWdpbjogQXR0ZW1wdCB0byB1c2UgbWVzaGVzWyR7bWVzaEluZGV4fV0gb2YgZ2xURiBidXQgdGhlIG1lc2ggZG9lc24ndCBleGlzdGApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcHJpbWl0aXZlc0RlZiA9IG1lc2hEZWYucHJpbWl0aXZlcztcbiAgICAgICAgICAgIGNvbnN0IG1lc2hPckdyb3VwID0geWllbGQgcGFyc2VyLmxvYWRNZXNoKG1lc2hJbmRleCk7XG4gICAgICAgICAgICBpZiAocHJpbWl0aXZlc0RlZi5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNoID0gbWVzaE9yR3JvdXA7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0ZXJpYWxJbmRleCA9IHByaW1pdGl2ZXNEZWZbMF0ubWF0ZXJpYWw7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsSW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXR1cFByaW1pdGl2ZShtZXNoLCBtYXRlcmlhbEluZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBncm91cCA9IG1lc2hPckdyb3VwO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJpbWl0aXZlc0RlZi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNoID0gZ3JvdXAuY2hpbGRyZW5baV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsSW5kZXggPSBwcmltaXRpdmVzRGVmW2ldLm1hdGVyaWFsO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWF0ZXJpYWxJbmRleCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXR1cFByaW1pdGl2ZShtZXNoLCBtYXRlcmlhbEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtZXNoT3JHcm91cDtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIERlbGV0ZSB1c2Ugb2YgYEtIUl9tYXRlcmlhbHNfdW5saXRgIGZyb20gaXRzIGBtYXRlcmlhbHNgIGlmIHRoZSBtYXRlcmlhbCBpcyB1c2luZyBNVG9vbi5cbiAgICAgKlxuICAgICAqIFNpbmNlIEdMVEZMb2FkZXIgaGF2ZSBzbyBtYW55IGhhcmRjb2RlZCBwcm9jZWR1cmUgcmVsYXRlZCB0byBgS0hSX21hdGVyaWFsc191bmxpdGBcbiAgICAgKiB3ZSBoYXZlIHRvIGRlbGV0ZSB0aGUgZXh0ZW5zaW9uIGJlZm9yZSB3ZSBzdGFydCB0byBwYXJzZSB0aGUgZ2xURi5cbiAgICAgKi9cbiAgICBfcmVtb3ZlVW5saXRFeHRlbnNpb25JZk1Ub29uRXhpc3RzKCkge1xuICAgICAgICBjb25zdCBwYXJzZXIgPSB0aGlzLnBhcnNlcjtcbiAgICAgICAgY29uc3QganNvbiA9IHBhcnNlci5qc29uO1xuICAgICAgICBjb25zdCBtYXRlcmlhbERlZnMgPSBqc29uLm1hdGVyaWFscztcbiAgICAgICAgbWF0ZXJpYWxEZWZzID09PSBudWxsIHx8IG1hdGVyaWFsRGVmcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogbWF0ZXJpYWxEZWZzLm1hcCgobWF0ZXJpYWxEZWYsIGlNYXRlcmlhbCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gdGhpcy5fZ2V0TVRvb25FeHRlbnNpb24oaU1hdGVyaWFsKTtcbiAgICAgICAgICAgIGlmIChleHRlbnNpb24gJiYgKChfYSA9IG1hdGVyaWFsRGVmLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsnS0hSX21hdGVyaWFsc191bmxpdCddKSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBtYXRlcmlhbERlZi5leHRlbnNpb25zWydLSFJfbWF0ZXJpYWxzX3VubGl0J107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfZ2V0TVRvb25FeHRlbnNpb24obWF0ZXJpYWxJbmRleCkge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBwYXJzZXIgPSB0aGlzLnBhcnNlcjtcbiAgICAgICAgY29uc3QganNvbiA9IHBhcnNlci5qc29uO1xuICAgICAgICBjb25zdCBtYXRlcmlhbERlZiA9IChfYSA9IGpzb24ubWF0ZXJpYWxzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbbWF0ZXJpYWxJbmRleF07XG4gICAgICAgIGlmIChtYXRlcmlhbERlZiA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYE1Ub29uTWF0ZXJpYWxMb2FkZXJQbHVnaW46IEF0dGVtcHQgdG8gdXNlIG1hdGVyaWFsc1ske21hdGVyaWFsSW5kZXh9XSBvZiBnbFRGIGJ1dCB0aGUgbWF0ZXJpYWwgZG9lc24ndCBleGlzdGApO1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBleHRlbnNpb24gPSAoX2IgPSBtYXRlcmlhbERlZi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2JbTVRvb25NYXRlcmlhbExvYWRlclBsdWdpbi5FWFRFTlNJT05fTkFNRV07XG4gICAgICAgIGlmIChleHRlbnNpb24gPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzcGVjVmVyc2lvbiA9IGV4dGVuc2lvbi5zcGVjVmVyc2lvbjtcbiAgICAgICAgaWYgKCFQT1NTSUJMRV9TUEVDX1ZFUlNJT05TLmhhcyhzcGVjVmVyc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgTVRvb25NYXRlcmlhbExvYWRlclBsdWdpbjogVW5rbm93biAke01Ub29uTWF0ZXJpYWxMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUV9IHNwZWNWZXJzaW9uIFwiJHtzcGVjVmVyc2lvbn1cImApO1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZXh0ZW5zaW9uO1xuICAgIH1cbiAgICBfZXh0ZW5kTWF0ZXJpYWxQYXJhbXMoZXh0ZW5zaW9uLCBtYXRlcmlhbFBhcmFtcykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAvLyBSZW1vdmluZyBtYXRlcmlhbCBwYXJhbXMgdGhhdCBpcyBub3QgcmVxdWlyZWQgdG8gc3VwcmVzcyB3YXJuaW5ncy5cbiAgICAgICAgICAgIGRlbGV0ZSBtYXRlcmlhbFBhcmFtcy5tZXRhbG5lc3M7XG4gICAgICAgICAgICBkZWxldGUgbWF0ZXJpYWxQYXJhbXMucm91Z2huZXNzO1xuICAgICAgICAgICAgY29uc3QgYXNzaWduSGVscGVyID0gbmV3IEdMVEZNVG9vbk1hdGVyaWFsUGFyYW1zQXNzaWduSGVscGVyKHRoaXMucGFyc2VyLCBtYXRlcmlhbFBhcmFtcyk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCd0cmFuc3BhcmVudFdpdGhaV3JpdGUnLCBleHRlbnNpb24udHJhbnNwYXJlbnRXaXRoWldyaXRlKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25Db2xvcignc2hhZGVDb2xvckZhY3RvcicsIGV4dGVuc2lvbi5zaGFkZUNvbG9yRmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25UZXh0dXJlKCdzaGFkZU11bHRpcGx5VGV4dHVyZScsIGV4dGVuc2lvbi5zaGFkZU11bHRpcGx5VGV4dHVyZSwgdHJ1ZSk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCdzaGFkaW5nU2hpZnRGYWN0b3InLCBleHRlbnNpb24uc2hhZGluZ1NoaWZ0RmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25UZXh0dXJlKCdzaGFkaW5nU2hpZnRUZXh0dXJlJywgZXh0ZW5zaW9uLnNoYWRpbmdTaGlmdFRleHR1cmUsIHRydWUpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgnc2hhZGluZ1NoaWZ0VGV4dHVyZVNjYWxlJywgKF9hID0gZXh0ZW5zaW9uLnNoYWRpbmdTaGlmdFRleHR1cmUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zY2FsZSk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCdzaGFkaW5nVG9vbnlGYWN0b3InLCBleHRlbnNpb24uc2hhZGluZ1Rvb255RmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25QcmltaXRpdmUoJ2dpRXF1YWxpemF0aW9uRmFjdG9yJywgZXh0ZW5zaW9uLmdpRXF1YWxpemF0aW9uRmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25Db2xvcignbWF0Y2FwRmFjdG9yJywgZXh0ZW5zaW9uLm1hdGNhcEZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduVGV4dHVyZSgnbWF0Y2FwVGV4dHVyZScsIGV4dGVuc2lvbi5tYXRjYXBUZXh0dXJlLCB0cnVlKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25Db2xvcigncGFyYW1ldHJpY1JpbUNvbG9yRmFjdG9yJywgZXh0ZW5zaW9uLnBhcmFtZXRyaWNSaW1Db2xvckZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduVGV4dHVyZSgncmltTXVsdGlwbHlUZXh0dXJlJywgZXh0ZW5zaW9uLnJpbU11bHRpcGx5VGV4dHVyZSwgdHJ1ZSk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCdyaW1MaWdodGluZ01peEZhY3RvcicsIGV4dGVuc2lvbi5yaW1MaWdodGluZ01peEZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCdwYXJhbWV0cmljUmltRnJlc25lbFBvd2VyRmFjdG9yJywgZXh0ZW5zaW9uLnBhcmFtZXRyaWNSaW1GcmVzbmVsUG93ZXJGYWN0b3IpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgncGFyYW1ldHJpY1JpbUxpZnRGYWN0b3InLCBleHRlbnNpb24ucGFyYW1ldHJpY1JpbUxpZnRGYWN0b3IpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgnb3V0bGluZVdpZHRoTW9kZScsIGV4dGVuc2lvbi5vdXRsaW5lV2lkdGhNb2RlKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25QcmltaXRpdmUoJ291dGxpbmVXaWR0aEZhY3RvcicsIGV4dGVuc2lvbi5vdXRsaW5lV2lkdGhGYWN0b3IpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblRleHR1cmUoJ291dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZScsIGV4dGVuc2lvbi5vdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUsIGZhbHNlKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25Db2xvcignb3V0bGluZUNvbG9yRmFjdG9yJywgZXh0ZW5zaW9uLm91dGxpbmVDb2xvckZhY3Rvcik7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCdvdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3InLCBleHRlbnNpb24ub3V0bGluZUxpZ2h0aW5nTWl4RmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25UZXh0dXJlKCd1dkFuaW1hdGlvbk1hc2tUZXh0dXJlJywgZXh0ZW5zaW9uLnV2QW5pbWF0aW9uTWFza1RleHR1cmUsIGZhbHNlKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25QcmltaXRpdmUoJ3V2QW5pbWF0aW9uU2Nyb2xsWFNwZWVkRmFjdG9yJywgZXh0ZW5zaW9uLnV2QW5pbWF0aW9uU2Nyb2xsWFNwZWVkRmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25QcmltaXRpdmUoJ3V2QW5pbWF0aW9uU2Nyb2xsWVNwZWVkRmFjdG9yJywgZXh0ZW5zaW9uLnV2QW5pbWF0aW9uU2Nyb2xsWVNwZWVkRmFjdG9yKTtcbiAgICAgICAgICAgIGFzc2lnbkhlbHBlci5hc3NpZ25QcmltaXRpdmUoJ3V2QW5pbWF0aW9uUm90YXRpb25TcGVlZEZhY3RvcicsIGV4dGVuc2lvbi51dkFuaW1hdGlvblJvdGF0aW9uU3BlZWRGYWN0b3IpO1xuICAgICAgICAgICAgYXNzaWduSGVscGVyLmFzc2lnblByaW1pdGl2ZSgndjBDb21wYXRTaGFkZScsIHRoaXMudjBDb21wYXRTaGFkZSk7XG4gICAgICAgICAgICBhc3NpZ25IZWxwZXIuYXNzaWduUHJpbWl0aXZlKCdkZWJ1Z01vZGUnLCB0aGlzLmRlYnVnTW9kZSk7XG4gICAgICAgICAgICB5aWVsZCBhc3NpZ25IZWxwZXIucGVuZGluZztcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoaXMgd2lsbCBkbyB0d28gcHJvY2Vzc2VzIHRoYXQgaXMgcmVxdWlyZWQgdG8gcmVuZGVyIE1Ub29uIHByb3Blcmx5LlxuICAgICAqXG4gICAgICogLSBTZXQgcmVuZGVyIG9yZGVyXG4gICAgICogLSBHZW5lcmF0ZSBvdXRsaW5lXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzaCBBIHRhcmdldCBHTFRGIHByaW1pdGl2ZVxuICAgICAqIEBwYXJhbSBtYXRlcmlhbEluZGV4IFRoZSBtYXRlcmlhbCBpbmRleCBvZiB0aGUgcHJpbWl0aXZlXG4gICAgICovXG4gICAgX3NldHVwUHJpbWl0aXZlKG1lc2gsIG1hdGVyaWFsSW5kZXgpIHtcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gdGhpcy5fZ2V0TVRvb25FeHRlbnNpb24obWF0ZXJpYWxJbmRleCk7XG4gICAgICAgIGlmIChleHRlbnNpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbmRlck9yZGVyID0gdGhpcy5fcGFyc2VSZW5kZXJPcmRlcihleHRlbnNpb24pO1xuICAgICAgICAgICAgbWVzaC5yZW5kZXJPcmRlciA9IHJlbmRlck9yZGVyICsgdGhpcy5yZW5kZXJPcmRlck9mZnNldDtcbiAgICAgICAgICAgIHRoaXMuX2dlbmVyYXRlT3V0bGluZShtZXNoKTtcbiAgICAgICAgICAgIHRoaXMuX2FkZFRvTWF0ZXJpYWxTZXQobWVzaCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgb3V0bGluZSBmb3IgdGhlIGdpdmVuIG1lc2gsIGlmIGl0IG5lZWRzLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc2ggVGhlIHRhcmdldCBtZXNoXG4gICAgICovXG4gICAgX2dlbmVyYXRlT3V0bGluZShtZXNoKSB7XG4gICAgICAgIC8vIE9LLCBpdCdzIHRoZSBoYWNreSBwYXJ0LlxuICAgICAgICAvLyBXZSBhcmUgZ29pbmcgdG8gZHVwbGljYXRlIHRoZSBNVG9vbk1hdGVyaWFsIGZvciBvdXRsaW5lIHVzZS5cbiAgICAgICAgLy8gVGhlbiB3ZSBhcmUgZ29pbmcgdG8gY3JlYXRlIHR3byBnZW9tZXRyeSBncm91cHMgYW5kIHJlZmVyIHNhbWUgYnVmZmVyIGJ1dCBkaWZmZXJlbnQgbWF0ZXJpYWwuXG4gICAgICAgIC8vIEl0J3MgaG93IHdlIGRyYXcgdHdvIG1hdGVyaWFscyBhdCBvbmNlIHVzaW5nIGEgc2luZ2xlIG1lc2guXG4gICAgICAgIC8vIG1ha2Ugc3VyZSB0aGUgbWF0ZXJpYWwgaXMgbXRvb25cbiAgICAgICAgY29uc3Qgc3VyZmFjZU1hdGVyaWFsID0gbWVzaC5tYXRlcmlhbDtcbiAgICAgICAgaWYgKCEoc3VyZmFjZU1hdGVyaWFsIGluc3RhbmNlb2YgTVRvb25NYXRlcmlhbCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBjaGVjayB3aGV0aGVyIHdlIHJlYWxseSBoYXZlIHRvIHByZXBhcmUgb3V0bGluZSBvciBub3RcbiAgICAgICAgaWYgKHN1cmZhY2VNYXRlcmlhbC5vdXRsaW5lV2lkdGhNb2RlID09PSAnbm9uZScgfHwgc3VyZmFjZU1hdGVyaWFsLm91dGxpbmVXaWR0aEZhY3RvciA8PSAwLjApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBtYWtlIGl0cyBtYXRlcmlhbCBhbiBhcnJheVxuICAgICAgICBtZXNoLm1hdGVyaWFsID0gW3N1cmZhY2VNYXRlcmlhbF07IC8vIG1lc2gubWF0ZXJpYWwgaXMgZ3VhcmFudGVlZCB0byBiZSBhIE1hdGVyaWFsIGluIEdMVEZMb2FkZXJcbiAgICAgICAgLy8gZHVwbGljYXRlIHRoZSBtYXRlcmlhbCBmb3Igb3V0bGluZSB1c2VcbiAgICAgICAgY29uc3Qgb3V0bGluZU1hdGVyaWFsID0gc3VyZmFjZU1hdGVyaWFsLmNsb25lKCk7XG4gICAgICAgIG91dGxpbmVNYXRlcmlhbC5uYW1lICs9ICcgKE91dGxpbmUpJztcbiAgICAgICAgb3V0bGluZU1hdGVyaWFsLmlzT3V0bGluZSA9IHRydWU7XG4gICAgICAgIG91dGxpbmVNYXRlcmlhbC5zaWRlID0gVEhSRUUuQmFja1NpZGU7XG4gICAgICAgIG1lc2gubWF0ZXJpYWwucHVzaChvdXRsaW5lTWF0ZXJpYWwpO1xuICAgICAgICAvLyBtYWtlIHR3byBnZW9tZXRyeSBncm91cHMgb3V0IG9mIGEgc2FtZSBidWZmZXJcbiAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBtZXNoLmdlb21ldHJ5OyAvLyBtZXNoLmdlb21ldHJ5IGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBCdWZmZXJHZW9tZXRyeSBpbiBHTFRGTG9hZGVyXG4gICAgICAgIGNvbnN0IHByaW1pdGl2ZVZlcnRpY2VzID0gZ2VvbWV0cnkuaW5kZXggPyBnZW9tZXRyeS5pbmRleC5jb3VudCA6IGdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24uY291bnQgLyAzO1xuICAgICAgICBnZW9tZXRyeS5hZGRHcm91cCgwLCBwcmltaXRpdmVWZXJ0aWNlcywgMCk7XG4gICAgICAgIGdlb21ldHJ5LmFkZEdyb3VwKDAsIHByaW1pdGl2ZVZlcnRpY2VzLCAxKTtcbiAgICB9XG4gICAgX2FkZFRvTWF0ZXJpYWxTZXQobWVzaCkge1xuICAgICAgICBjb25zdCBtYXRlcmlhbE9yTWF0ZXJpYWxzID0gbWVzaC5tYXRlcmlhbDtcbiAgICAgICAgY29uc3QgbWF0ZXJpYWxTZXQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG1hdGVyaWFsT3JNYXRlcmlhbHMpKSB7XG4gICAgICAgICAgICBtYXRlcmlhbE9yTWF0ZXJpYWxzLmZvckVhY2goKG1hdGVyaWFsKSA9PiBtYXRlcmlhbFNldC5hZGQobWF0ZXJpYWwpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG1hdGVyaWFsU2V0LmFkZChtYXRlcmlhbE9yTWF0ZXJpYWxzKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG1hdGVyaWFsIG9mIG1hdGVyaWFsU2V0KSB7XG4gICAgICAgICAgICBpZiAobWF0ZXJpYWwgaW5zdGFuY2VvZiBNVG9vbk1hdGVyaWFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbVRvb25NYXRlcmlhbFNldC5hZGQobWF0ZXJpYWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIF9wYXJzZVJlbmRlck9yZGVyKGV4dGVuc2lvbikge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIC8vIHRyYW5zcGFyZW50V2l0aFpXcml0ZSByYW5nZXMgZnJvbSAwIHRvICs5XG4gICAgICAgIC8vIG1lcmUgdHJhbnNwYXJlbnQgcmFuZ2VzIGZyb20gLTkgdG8gMFxuICAgICAgICBjb25zdCBlbmFibGVkWldyaXRlID0gZXh0ZW5zaW9uLnRyYW5zcGFyZW50V2l0aFpXcml0ZTtcbiAgICAgICAgcmV0dXJuIChlbmFibGVkWldyaXRlID8gMCA6IDE5KSArICgoX2EgPSBleHRlbnNpb24ucmVuZGVyUXVldWVPZmZzZXROdW1iZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDApO1xuICAgIH1cbn1cbk1Ub29uTWF0ZXJpYWxMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUUgPSAnVlJNQ19tYXRlcmlhbHNfbXRvb24nO1xuXG5leHBvcnQgeyBNVG9vbk1hdGVyaWFsLCBNVG9vbk1hdGVyaWFsRGVidWdNb2RlLCBNVG9vbk1hdGVyaWFsTG9hZGVyUGx1Z2luLCBNVG9vbk1hdGVyaWFsT3V0bGluZVdpZHRoTW9kZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkR2h5WldVdGRuSnRMVzFoZEdWeWFXRnNjeTF0ZEc5dmJpNXRiMlIxYkdVdWFuTWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1TDI1dlpHVmZiVzlrZFd4bGN5OTBjMnhwWWk5MGMyeHBZaTVsY3pZdWFuTWlMQ0l1TGk5emNtTXZUVlJ2YjI1TllYUmxjbWxoYkVSbFluVm5UVzlrWlM1MGN5SXNJaTR1TDNOeVl5OU5WRzl2YmsxaGRHVnlhV0ZzVDNWMGJHbHVaVmRwWkhSb1RXOWtaUzUwY3lJc0lpNHVMM055WXk5MWRHbHNjeTluWlhSVVpYaDBkWEpsUTI5c2IzSlRjR0ZqWlM1MGN5SXNJaTR1TDNOeVl5OU5WRzl2YmsxaGRHVnlhV0ZzTG5Seklpd2lMaTR2YzNKakwzVjBhV3h6TDNObGRGUmxlSFIxY21WRGIyeHZjbE53WVdObExuUnpJaXdpTGk0dmMzSmpMMGRNVkVaTlZHOXZiazFoZEdWeWFXRnNVR0Z5WVcxelFYTnphV2R1U0dWc2NHVnlMblJ6SWl3aUxpNHZjM0pqTDAxVWIyOXVUV0YwWlhKcFlXeE1iMkZrWlhKUWJIVm5hVzR1ZEhNaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtseHlYRzVEYjNCNWNtbG5hSFFnS0dNcElFMXBZM0p2YzI5bWRDQkRiM0p3YjNKaGRHbHZiaTVjY2x4dVhISmNibEJsY20xcGMzTnBiMjRnZEc4Z2RYTmxMQ0JqYjNCNUxDQnRiMlJwWm5rc0lHRnVaQzl2Y2lCa2FYTjBjbWxpZFhSbElIUm9hWE1nYzI5bWRIZGhjbVVnWm05eUlHRnVlVnh5WEc1d2RYSndiM05sSUhkcGRHZ2diM0lnZDJsMGFHOTFkQ0JtWldVZ2FYTWdhR1Z5WldKNUlHZHlZVzUwWldRdVhISmNibHh5WEc1VVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpSUVGT1JDQlVTRVVnUVZWVVNFOVNJRVJKVTBOTVFVbE5VeUJCVEV3Z1YwRlNVa0ZPVkVsRlV5QlhTVlJJWEhKY2JsSkZSMEZTUkNCVVR5QlVTRWxUSUZOUFJsUlhRVkpGSUVsT1EweFZSRWxPUnlCQlRFd2dTVTFRVEVsRlJDQlhRVkpTUVU1VVNVVlRJRTlHSUUxRlVrTklRVTVVUVVKSlRFbFVXVnh5WEc1QlRrUWdSa2xVVGtWVFV5NGdTVTRnVGs4Z1JWWkZUbFFnVTBoQlRFd2dWRWhGSUVGVlZFaFBVaUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JUVUVWRFNVRk1MQ0JFU1ZKRlExUXNYSEpjYmtsT1JFbFNSVU5VTENCUFVpQkRUMDVUUlZGVlJVNVVTVUZNSUVSQlRVRkhSVk1nVDFJZ1FVNVpJRVJCVFVGSFJWTWdWMGhCVkZOUFJWWkZVaUJTUlZOVlRGUkpUa2NnUmxKUFRWeHlYRzVNVDFOVElFOUdJRlZUUlN3Z1JFRlVRU0JQVWlCUVVrOUdTVlJUTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVGtWSFRFbEhSVTVEUlNCUFVseHlYRzVQVkVoRlVpQlVUMUpVU1U5VlV5QkJRMVJKVDA0c0lFRlNTVk5KVGtjZ1QxVlVJRTlHSUU5U0lFbE9JRU5QVGs1RlExUkpUMDRnVjBsVVNDQlVTRVVnVlZORklFOVNYSEpjYmxCRlVrWlBVazFCVGtORklFOUdJRlJJU1ZNZ1UwOUdWRmRCVWtVdVhISmNiaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUlDb3ZYSEpjYmk4cUlHZHNiMkpoYkNCU1pXWnNaV04wTENCUWNtOXRhWE5sSUNvdlhISmNibHh5WEc1MllYSWdaWGgwWlc1a1UzUmhkR2xqY3lBOUlHWjFibU4wYVc5dUtHUXNJR0lwSUh0Y2NseHVJQ0FnSUdWNGRHVnVaRk4wWVhScFkzTWdQU0JQWW1wbFkzUXVjMlYwVUhKdmRHOTBlWEJsVDJZZ2ZIeGNjbHh1SUNBZ0lDQWdJQ0FvZXlCZlgzQnliM1J2WDE4NklGdGRJSDBnYVc1emRHRnVZMlZ2WmlCQmNuSmhlU0FtSmlCbWRXNWpkR2x2YmlBb1pDd2dZaWtnZXlCa0xsOWZjSEp2ZEc5Zlh5QTlJR0k3SUgwcElIeDhYSEpjYmlBZ0lDQWdJQ0FnWm5WdVkzUnBiMjRnS0dRc0lHSXBJSHNnWm05eUlDaDJZWElnY0NCcGJpQmlLU0JwWmlBb1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHSXNJSEFwS1NCa1czQmRJRDBnWWx0d1hUc2dmVHRjY2x4dUlDQWdJSEpsZEhWeWJpQmxlSFJsYm1SVGRHRjBhV056S0dRc0lHSXBPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZlpYaDBaVzVrY3loa0xDQmlLU0I3WEhKY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdJZ0lUMDlJRndpWm5WdVkzUnBiMjVjSWlBbUppQmlJQ0U5UFNCdWRXeHNLVnh5WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkRiR0Z6Y3lCbGVIUmxibVJ6SUhaaGJIVmxJRndpSUNzZ1UzUnlhVzVuS0dJcElDc2dYQ0lnYVhNZ2JtOTBJR0VnWTI5dWMzUnlkV04wYjNJZ2IzSWdiblZzYkZ3aUtUdGNjbHh1SUNBZ0lHVjRkR1Z1WkZOMFlYUnBZM01vWkN3Z1lpazdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQmZYeWdwSUhzZ2RHaHBjeTVqYjI1emRISjFZM1J2Y2lBOUlHUTdJSDFjY2x4dUlDQWdJR1F1Y0hKdmRHOTBlWEJsSUQwZ1lpQTlQVDBnYm5Wc2JDQS9JRTlpYW1WamRDNWpjbVZoZEdVb1lpa2dPaUFvWDE4dWNISnZkRzkwZVhCbElEMGdZaTV3Y205MGIzUjVjR1VzSUc1bGR5QmZYeWdwS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElIWmhjaUJmWDJGemMybG5iaUE5SUdaMWJtTjBhVzl1S0NrZ2UxeHlYRzRnSUNBZ1gxOWhjM05wWjI0Z1BTQlBZbXBsWTNRdVlYTnphV2R1SUh4OElHWjFibU4wYVc5dUlGOWZZWE56YVdkdUtIUXBJSHRjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCekxDQnBJRDBnTVN3Z2JpQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZzdJR2tnUENCdU95QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY3lBOUlHRnlaM1Z0Wlc1MGMxdHBYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoMllYSWdjQ0JwYmlCektTQnBaaUFvVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVTNWpZV3hzS0hNc0lIQXBLU0IwVzNCZElEMGdjMXR3WFR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFE3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J5WlhSMWNtNGdYMTloYzNOcFoyNHVZWEJ3Ykhrb2RHaHBjeXdnWVhKbmRXMWxiblJ6S1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZjbVZ6ZENoekxDQmxLU0I3WEhKY2JpQWdJQ0IyWVhJZ2RDQTlJSHQ5TzF4eVhHNGdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQnpLU0JwWmlBb1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tITXNJSEFwSUNZbUlHVXVhVzVrWlhoUFppaHdLU0E4SURBcFhISmNiaUFnSUNBZ0lDQWdkRnR3WFNBOUlITmJjRjA3WEhKY2JpQWdJQ0JwWmlBb2N5QWhQU0J1ZFd4c0lDWW1JSFI1Y0dWdlppQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQXNJSEFnUFNCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4ektITXBPeUJwSUR3Z2NDNXNaVzVuZEdnN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pTNXBibVJsZUU5bUtIQmJhVjBwSUR3Z01DQW1KaUJQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbkJ5YjNCbGNuUjVTWE5GYm5WdFpYSmhZbXhsTG1OaGJHd29jeXdnY0Z0cFhTa3BYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwVzNCYmFWMWRJRDBnYzF0d1cybGRYVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCeVpYUjFjbTRnZER0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaR1ZqYjNKaGRHVW9aR1ZqYjNKaGRHOXljeXdnZEdGeVoyVjBMQ0JyWlhrc0lHUmxjMk1wSUh0Y2NseHVJQ0FnSUhaaGNpQmpJRDBnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ3dnY2lBOUlHTWdQQ0F6SUQ4Z2RHRnlaMlYwSURvZ1pHVnpZeUE5UFQwZ2JuVnNiQ0EvSUdSbGMyTWdQU0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUtIUmhjbWRsZEN3Z2EyVjVLU0E2SUdSbGMyTXNJR1E3WEhKY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUZKbFpteGxZM1FnUFQwOUlGd2liMkpxWldOMFhDSWdKaVlnZEhsd1pXOW1JRkpsWm14bFkzUXVaR1ZqYjNKaGRHVWdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpa2djaUE5SUZKbFpteGxZM1F1WkdWamIzSmhkR1VvWkdWamIzSmhkRzl5Y3l3Z2RHRnlaMlYwTENCclpYa3NJR1JsYzJNcE8xeHlYRzRnSUNBZ1pXeHpaU0JtYjNJZ0tIWmhjaUJwSUQwZ1pHVmpiM0poZEc5eWN5NXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJR2t0TFNrZ2FXWWdLR1FnUFNCa1pXTnZjbUYwYjNKelcybGRLU0J5SUQwZ0tHTWdQQ0F6SUQ4Z1pDaHlLU0E2SUdNZ1BpQXpJRDhnWkNoMFlYSm5aWFFzSUd0bGVTd2djaWtnT2lCa0tIUmhjbWRsZEN3Z2EyVjVLU2tnZkh3Z2NqdGNjbHh1SUNBZ0lISmxkSFZ5YmlCaklENGdNeUFtSmlCeUlDWW1JRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMFlYSm5aWFFzSUd0bGVTd2djaWtzSUhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM0JoY21GdEtIQmhjbUZ0U1c1a1pYZ3NJR1JsWTI5eVlYUnZjaWtnZTF4eVhHNGdJQ0FnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2gwWVhKblpYUXNJR3RsZVNrZ2V5QmtaV052Y21GMGIzSW9kR0Z5WjJWMExDQnJaWGtzSUhCaGNtRnRTVzVrWlhncE95QjlYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJWelJHVmpiM0poZEdVb1kzUnZjaXdnWkdWelkzSnBjSFJ2Y2tsdUxDQmtaV052Y21GMGIzSnpMQ0JqYjI1MFpYaDBTVzRzSUdsdWFYUnBZV3hwZW1WeWN5d2daWGgwY21GSmJtbDBhV0ZzYVhwbGNuTXBJSHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJR0ZqWTJWd2RDaG1LU0I3SUdsbUlDaG1JQ0U5UFNCMmIybGtJREFnSmlZZ2RIbHdaVzltSUdZZ0lUMDlJRndpWm5WdVkzUnBiMjVjSWlrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa1oxYm1OMGFXOXVJR1Y0Y0dWamRHVmtYQ0lwT3lCeVpYUjFjbTRnWmpzZ2ZWeHlYRzRnSUNBZ2RtRnlJR3RwYm1RZ1BTQmpiMjUwWlhoMFNXNHVhMmx1WkN3Z2EyVjVJRDBnYTJsdVpDQTlQVDBnWENKblpYUjBaWEpjSWlBL0lGd2laMlYwWENJZ09pQnJhVzVrSUQwOVBTQmNJbk5sZEhSbGNsd2lJRDhnWENKelpYUmNJaUE2SUZ3aWRtRnNkV1ZjSWp0Y2NseHVJQ0FnSUhaaGNpQjBZWEpuWlhRZ1BTQWhaR1Z6WTNKcGNIUnZja2x1SUNZbUlHTjBiM0lnUHlCamIyNTBaWGgwU1c1YlhDSnpkR0YwYVdOY0lsMGdQeUJqZEc5eUlEb2dZM1J2Y2k1d2NtOTBiM1I1Y0dVZ09pQnVkV3hzTzF4eVhHNGdJQ0FnZG1GeUlHUmxjMk55YVhCMGIzSWdQU0JrWlhOamNtbHdkRzl5U1c0Z2ZId2dLSFJoY21kbGRDQS9JRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2RHRnlaMlYwTENCamIyNTBaWGgwU1c0dWJtRnRaU2tnT2lCN2ZTazdYSEpjYmlBZ0lDQjJZWElnWHl3Z1pHOXVaU0E5SUdaaGJITmxPMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUdSbFkyOXlZWFJ2Y25NdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWTI5dWRHVjRkQ0E5SUh0OU8xeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z1kyOXVkR1Y0ZEVsdUtTQmpiMjUwWlhoMFczQmRJRDBnY0NBOVBUMGdYQ0poWTJObGMzTmNJaUEvSUh0OUlEb2dZMjl1ZEdWNGRFbHVXM0JkTzF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlIQWdhVzRnWTI5dWRHVjRkRWx1TG1GalkyVnpjeWtnWTI5dWRHVjRkQzVoWTJObGMzTmJjRjBnUFNCamIyNTBaWGgwU1c0dVlXTmpaWE56VzNCZE8xeHlYRzRnSUNBZ0lDQWdJR052Ym5SbGVIUXVZV1JrU1c1cGRHbGhiR2w2WlhJZ1BTQm1kVzVqZEdsdmJpQW9aaWtnZXlCcFppQW9aRzl1WlNrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa05oYm01dmRDQmhaR1FnYVc1cGRHbGhiR2w2WlhKeklHRm1kR1Z5SUdSbFkyOXlZWFJwYjI0Z2FHRnpJR052YlhCc1pYUmxaRndpS1RzZ1pYaDBjbUZKYm1sMGFXRnNhWHBsY25NdWNIVnphQ2hoWTJObGNIUW9aaUI4ZkNCdWRXeHNLU2s3SUgwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUNnd0xDQmtaV052Y21GMGIzSnpXMmxkS1NocmFXNWtJRDA5UFNCY0ltRmpZMlZ6YzI5eVhDSWdQeUI3SUdkbGREb2daR1Z6WTNKcGNIUnZjaTVuWlhRc0lITmxkRG9nWkdWelkzSnBjSFJ2Y2k1elpYUWdmU0E2SUdSbGMyTnlhWEIwYjNKYmEyVjVYU3dnWTI5dWRHVjRkQ2s3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR3RwYm1RZ1BUMDlJRndpWVdOalpYTnpiM0pjSWlrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MElEMDlQU0IyYjJsa0lEQXBJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBJRDA5UFNCdWRXeHNJSHg4SUhSNWNHVnZaaUJ5WlhOMWJIUWdJVDA5SUZ3aWIySnFaV04wWENJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pQWW1wbFkzUWdaWGh3WldOMFpXUmNJaWs3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoZklEMGdZV05qWlhCMEtISmxjM1ZzZEM1blpYUXBLU0JrWlhOamNtbHdkRzl5TG1kbGRDQTlJRjg3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoZklEMGdZV05qWlhCMEtISmxjM1ZzZEM1elpYUXBLU0JrWlhOamNtbHdkRzl5TG5ObGRDQTlJRjg3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoZklEMGdZV05qWlhCMEtISmxjM1ZzZEM1cGJtbDBLU2tnYVc1cGRHbGhiR2w2WlhKekxuQjFjMmdvWHlrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0Y4Z1BTQmhZMk5sY0hRb2NtVnpkV3gwS1NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hMmx1WkNBOVBUMGdYQ0ptYVdWc1pGd2lLU0JwYm1sMGFXRnNhWHBsY25NdWNIVnphQ2hmS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQmtaWE5qY21sd2RHOXlXMnRsZVYwZ1BTQmZPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUdsbUlDaDBZWEpuWlhRcElFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gwWVhKblpYUXNJR052Ym5SbGVIUkpiaTV1WVcxbExDQmtaWE5qY21sd2RHOXlLVHRjY2x4dUlDQWdJR1J2Ym1VZ1BTQjBjblZsTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZjblZ1U1c1cGRHbGhiR2w2WlhKektIUm9hWE5CY21jc0lHbHVhWFJwWVd4cGVtVnljeXdnZG1Gc2RXVXBJSHRjY2x4dUlDQWdJSFpoY2lCMWMyVldZV3gxWlNBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BpQXlPMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JwYm1sMGFXRnNhWHBsY25NdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllXeDFaU0E5SUhWelpWWmhiSFZsSUQ4Z2FXNXBkR2xoYkdsNlpYSnpXMmxkTG1OaGJHd29kR2hwYzBGeVp5d2dkbUZzZFdVcElEb2dhVzVwZEdsaGJHbDZaWEp6VzJsZExtTmhiR3dvZEdocGMwRnlaeWs3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J5WlhSMWNtNGdkWE5sVm1Gc2RXVWdQeUIyWVd4MVpTQTZJSFp2YVdRZ01EdGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNCeWIzQkxaWGtvZUNrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUI0SUQwOVBTQmNJbk41YldKdmJGd2lJRDhnZUNBNklGd2lYQ0l1WTI5dVkyRjBLSGdwTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZjMlYwUm5WdVkzUnBiMjVPWVcxbEtHWXNJRzVoYldVc0lIQnlaV1pwZUNrZ2UxeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnVZVzFsSUQwOVBTQmNJbk41YldKdmJGd2lLU0J1WVcxbElEMGdibUZ0WlM1a1pYTmpjbWx3ZEdsdmJpQS9JRndpVzF3aUxtTnZibU5oZENodVlXMWxMbVJsYzJOeWFYQjBhVzl1TENCY0lsMWNJaWtnT2lCY0lsd2lPMXh5WEc0Z0lDQWdjbVYwZFhKdUlFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2htTENCY0ltNWhiV1ZjSWl3Z2V5QmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVXNJSFpoYkhWbE9pQndjbVZtYVhnZ1B5QmNJbHdpTG1OdmJtTmhkQ2h3Y21WbWFYZ3NJRndpSUZ3aUxDQnVZVzFsS1NBNklHNWhiV1VnZlNrN1hISmNibjA3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl0WlhSaFpHRjBZU2h0WlhSaFpHRjBZVXRsZVN3Z2JXVjBZV1JoZEdGV1lXeDFaU2tnZTF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCU1pXWnNaV04wSUQwOVBTQmNJbTlpYW1WamRGd2lJQ1ltSUhSNWNHVnZaaUJTWldac1pXTjBMbTFsZEdGa1lYUmhJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBJSEpsZEhWeWJpQlNaV1pzWldOMExtMWxkR0ZrWVhSaEtHMWxkR0ZrWVhSaFMyVjVMQ0J0WlhSaFpHRjBZVlpoYkhWbEtUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhkaGFYUmxjaWgwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6TENCUUxDQm5aVzVsY21GMGIzSXBJSHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJR0ZrYjNCMEtIWmhiSFZsS1NCN0lISmxkSFZ5YmlCMllXeDFaU0JwYm5OMFlXNWpaVzltSUZBZ1B5QjJZV3gxWlNBNklHNWxkeUJRS0daMWJtTjBhVzl1SUNoeVpYTnZiSFpsS1NCN0lISmxjMjlzZG1Vb2RtRnNkV1VwT3lCOUtUc2dmVnh5WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUFvVUNCOGZDQW9VQ0E5SUZCeWIyMXBjMlVwS1NobWRXNWpkR2x2YmlBb2NtVnpiMngyWlN3Z2NtVnFaV04wS1NCN1hISmNiaUFnSUNBZ0lDQWdablZ1WTNScGIyNGdablZzWm1sc2JHVmtLSFpoYkhWbEtTQjdJSFJ5ZVNCN0lITjBaWEFvWjJWdVpYSmhkRzl5TG01bGVIUW9kbUZzZFdVcEtUc2dmU0JqWVhSamFDQW9aU2tnZXlCeVpXcGxZM1FvWlNrN0lIMGdmVnh5WEc0Z0lDQWdJQ0FnSUdaMWJtTjBhVzl1SUhKbGFtVmpkR1ZrS0haaGJIVmxLU0I3SUhSeWVTQjdJSE4wWlhBb1oyVnVaWEpoZEc5eVcxd2lkR2h5YjNkY0lsMG9kbUZzZFdVcEtUc2dmU0JqWVhSamFDQW9aU2tnZXlCeVpXcGxZM1FvWlNrN0lIMGdmVnh5WEc0Z0lDQWdJQ0FnSUdaMWJtTjBhVzl1SUhOMFpYQW9jbVZ6ZFd4MEtTQjdJSEpsYzNWc2RDNWtiMjVsSUQ4Z2NtVnpiMngyWlNoeVpYTjFiSFF1ZG1Gc2RXVXBJRG9nWVdSdmNIUW9jbVZ6ZFd4MExuWmhiSFZsS1M1MGFHVnVLR1oxYkdacGJHeGxaQ3dnY21WcVpXTjBaV1FwT3lCOVhISmNiaUFnSUNBZ0lDQWdjM1JsY0Nnb1oyVnVaWEpoZEc5eUlEMGdaMlZ1WlhKaGRHOXlMbUZ3Y0d4NUtIUm9hWE5CY21jc0lGOWhjbWQxYldWdWRITWdmSHdnVzEwcEtTNXVaWGgwS0NrcE8xeHlYRzRnSUNBZ2ZTazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJkbGJtVnlZWFJ2Y2loMGFHbHpRWEpuTENCaWIyUjVLU0I3WEhKY2JpQWdJQ0IyWVhJZ1h5QTlJSHNnYkdGaVpXdzZJREFzSUhObGJuUTZJR1oxYm1OMGFXOXVLQ2tnZXlCcFppQW9kRnN3WFNBbUlERXBJSFJvY205M0lIUmJNVjA3SUhKbGRIVnliaUIwV3pGZE95QjlMQ0IwY25sek9pQmJYU3dnYjNCek9pQmJYU0I5TENCbUxDQjVMQ0IwTENCbk8xeHlYRzRnSUNBZ2NtVjBkWEp1SUdjZ1BTQjdJRzVsZUhRNklIWmxjbUlvTUNrc0lGd2lkR2h5YjNkY0lqb2dkbVZ5WWlneEtTd2dYQ0p5WlhSMWNtNWNJam9nZG1WeVlpZ3lLU0I5TENCMGVYQmxiMllnVTNsdFltOXNJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdKaVlnS0dkYlUzbHRZbTlzTG1sMFpYSmhkRzl5WFNBOUlHWjFibU4wYVc5dUtDa2dleUJ5WlhSMWNtNGdkR2hwY3pzZ2ZTa3NJR2M3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUIyWlhKaUtHNHBJSHNnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2gyS1NCN0lISmxkSFZ5YmlCemRHVndLRnR1TENCMlhTazdJSDA3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhOMFpYQW9iM0FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvWmlrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa2RsYm1WeVlYUnZjaUJwY3lCaGJISmxZV1I1SUdWNFpXTjFkR2x1Wnk1Y0lpazdYSEpjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR2NnSmlZZ0tHY2dQU0F3TENCdmNGc3dYU0FtSmlBb1h5QTlJREFwS1N3Z1h5a2dkSEo1SUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHWWdQU0F4TENCNUlDWW1JQ2gwSUQwZ2IzQmJNRjBnSmlBeUlEOGdlVnRjSW5KbGRIVnlibHdpWFNBNklHOXdXekJkSUQ4Z2VWdGNJblJvY205M1hDSmRJSHg4SUNnb2RDQTlJSGxiWENKeVpYUjFjbTVjSWwwcElDWW1JSFF1WTJGc2JDaDVLU3dnTUNrZ09pQjVMbTVsZUhRcElDWW1JQ0VvZENBOUlIUXVZMkZzYkNoNUxDQnZjRnN4WFNrcExtUnZibVVwSUhKbGRIVnliaUIwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2VTQTlJREFzSUhRcElHOXdJRDBnVzI5d1d6QmRJQ1lnTWl3Z2RDNTJZV3gxWlYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhOM2FYUmphQ0FvYjNCYk1GMHBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdNRG9nWTJGelpTQXhPaUIwSUQwZ2IzQTdJR0p5WldGck8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBME9pQmZMbXhoWW1Wc0t5czdJSEpsZEhWeWJpQjdJSFpoYkhWbE9pQnZjRnN4WFN3Z1pHOXVaVG9nWm1Gc2MyVWdmVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdOVG9nWHk1c1lXSmxiQ3NyT3lCNUlEMGdiM0JiTVYwN0lHOXdJRDBnV3pCZE95QmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ056b2diM0FnUFNCZkxtOXdjeTV3YjNBb0tUc2dYeTUwY25sekxuQnZjQ2dwT3lCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRW9kQ0E5SUY4dWRISjVjeXdnZENBOUlIUXViR1Z1WjNSb0lENGdNQ0FtSmlCMFczUXViR1Z1WjNSb0lDMGdNVjBwSUNZbUlDaHZjRnN3WFNBOVBUMGdOaUI4ZkNCdmNGc3dYU0E5UFQwZ01pa3BJSHNnWHlBOUlEQTdJR052Ym5ScGJuVmxPeUI5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c5d1d6QmRJRDA5UFNBeklDWW1JQ2doZENCOGZDQW9iM0JiTVYwZ1BpQjBXekJkSUNZbUlHOXdXekZkSUR3Z2RGc3pYU2twS1NCN0lGOHViR0ZpWld3Z1BTQnZjRnN4WFRzZ1luSmxZV3M3SUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2IzQmJNRjBnUFQwOUlEWWdKaVlnWHk1c1lXSmxiQ0E4SUhSYk1WMHBJSHNnWHk1c1lXSmxiQ0E5SUhSYk1WMDdJSFFnUFNCdmNEc2dZbkpsWVdzN0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kQ0FtSmlCZkxteGhZbVZzSUR3Z2RGc3lYU2tnZXlCZkxteGhZbVZzSUQwZ2RGc3lYVHNnWHk1dmNITXVjSFZ6YUNodmNDazdJR0p5WldGck95QjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJiTWwwcElGOHViM0J6TG5CdmNDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGOHVkSEo1Y3k1d2IzQW9LVHNnWTI5dWRHbHVkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdiM0FnUFNCaWIyUjVMbU5oYkd3b2RHaHBjMEZ5Wnl3Z1h5azdYSEpjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlNrZ2V5QnZjQ0E5SUZzMkxDQmxYVHNnZVNBOUlEQTdJSDBnWm1sdVlXeHNlU0I3SUdZZ1BTQjBJRDBnTURzZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNodmNGc3dYU0FtSURVcElIUm9jbTkzSUc5d1d6RmRPeUJ5WlhSMWNtNGdleUIyWVd4MVpUb2diM0JiTUYwZ1B5QnZjRnN4WFNBNklIWnZhV1FnTUN3Z1pHOXVaVG9nZEhKMVpTQjlPMXh5WEc0Z0lDQWdmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnZG1GeUlGOWZZM0psWVhSbFFtbHVaR2x1WnlBOUlFOWlhbVZqZEM1amNtVmhkR1VnUHlBb1puVnVZM1JwYjI0b2J5d2diU3dnYXl3Z2F6SXBJSHRjY2x4dUlDQWdJR2xtSUNock1pQTlQVDBnZFc1a1pXWnBibVZrS1NCck1pQTlJR3M3WEhKY2JpQWdJQ0IyWVhJZ1pHVnpZeUE5SUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9iU3dnYXlrN1hISmNiaUFnSUNCcFppQW9JV1JsYzJNZ2ZId2dLRndpWjJWMFhDSWdhVzRnWkdWell5QS9JQ0Z0TGw5ZlpYTk5iMlIxYkdVZ09pQmtaWE5qTG5keWFYUmhZbXhsSUh4OElHUmxjMk11WTI5dVptbG5kWEpoWW14bEtTa2dlMXh5WEc0Z0lDQWdJQ0FnSUdSbGMyTWdQU0I3SUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzSUdkbGREb2dablZ1WTNScGIyNG9LU0I3SUhKbGRIVnliaUJ0VzJ0ZE95QjlJSDA3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2J5d2dheklzSUdSbGMyTXBPMXh5WEc1OUtTQTZJQ2htZFc1amRHbHZiaWh2TENCdExDQnJMQ0JyTWlrZ2UxeHlYRzRnSUNBZ2FXWWdLR3N5SUQwOVBTQjFibVJsWm1sdVpXUXBJR3N5SUQwZ2F6dGNjbHh1SUNBZ0lHOWJhekpkSUQwZ2JWdHJYVHRjY2x4dWZTazdYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWxlSEJ2Y25SVGRHRnlLRzBzSUc4cElIdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlIQWdhVzRnYlNrZ2FXWWdLSEFnSVQwOUlGd2laR1ZtWVhWc2RGd2lJQ1ltSUNGUFltcGxZM1F1Y0hKdmRHOTBlWEJsTG1oaGMwOTNibEJ5YjNCbGNuUjVMbU5oYkd3b2J5d2djQ2twSUY5ZlkzSmxZWFJsUW1sdVpHbHVaeWh2TENCdExDQndLVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmRtRnNkV1Z6S0c4cElIdGNjbHh1SUNBZ0lIWmhjaUJ6SUQwZ2RIbHdaVzltSUZONWJXSnZiQ0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUZONWJXSnZiQzVwZEdWeVlYUnZjaXdnYlNBOUlITWdKaVlnYjF0elhTd2dhU0E5SURBN1hISmNiaUFnSUNCcFppQW9iU2tnY21WMGRYSnVJRzB1WTJGc2JDaHZLVHRjY2x4dUlDQWdJR2xtSUNodklDWW1JSFI1Y0dWdlppQnZMbXhsYm1kMGFDQTlQVDBnWENKdWRXMWlaWEpjSWlrZ2NtVjBkWEp1SUh0Y2NseHVJQ0FnSUNBZ0lDQnVaWGgwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h2SUNZbUlHa2dQajBnYnk1c1pXNW5kR2dwSUc4Z1BTQjJiMmxrSURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUI3SUhaaGJIVmxPaUJ2SUNZbUlHOWJhU3NyWFN3Z1pHOXVaVG9nSVc4Z2ZUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loeklEOGdYQ0pQWW1wbFkzUWdhWE1nYm05MElHbDBaWEpoWW14bExsd2lJRG9nWENKVGVXMWliMnd1YVhSbGNtRjBiM0lnYVhNZ2JtOTBJR1JsWm1sdVpXUXVYQ0lwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXlaV0ZrS0c4c0lHNHBJSHRjY2x4dUlDQWdJSFpoY2lCdElEMGdkSGx3Wlc5bUlGTjViV0p2YkNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUNZbUlHOWJVM2x0WW05c0xtbDBaWEpoZEc5eVhUdGNjbHh1SUNBZ0lHbG1JQ2doYlNrZ2NtVjBkWEp1SUc4N1hISmNiaUFnSUNCMllYSWdhU0E5SUcwdVkyRnNiQ2h2S1N3Z2Npd2dZWElnUFNCYlhTd2daVHRjY2x4dUlDQWdJSFJ5ZVNCN1hISmNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tDaHVJRDA5UFNCMmIybGtJREFnZkh3Z2JpMHRJRDRnTUNrZ0ppWWdJU2h5SUQwZ2FTNXVaWGgwS0NrcExtUnZibVVwSUdGeUxuQjFjMmdvY2k1MllXeDFaU2s3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0JqWVhSamFDQW9aWEp5YjNJcElIc2daU0E5SUhzZ1pYSnliM0k2SUdWeWNtOXlJSDA3SUgxY2NseHVJQ0FnSUdacGJtRnNiSGtnZTF4eVhHNGdJQ0FnSUNBZ0lIUnllU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoeUlDWW1JQ0Z5TG1SdmJtVWdKaVlnS0cwZ1BTQnBXMXdpY21WMGRYSnVYQ0pkS1NrZ2JTNWpZV3hzS0drcE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbWFXNWhiR3g1SUhzZ2FXWWdLR1VwSUhSb2NtOTNJR1V1WlhKeWIzSTdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQmhjanRjY2x4dWZWeHlYRzVjY2x4dUx5b3FJRUJrWlhCeVpXTmhkR1ZrSUNvdlhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM053Y21WaFpDZ3BJSHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJR0Z5SUQwZ1cxMHNJR2tnUFNBd095QnBJRHdnWVhKbmRXMWxiblJ6TG14bGJtZDBhRHNnYVNzcktWeHlYRzRnSUNBZ0lDQWdJR0Z5SUQwZ1lYSXVZMjl1WTJGMEtGOWZjbVZoWkNoaGNtZDFiV1Z1ZEhOYmFWMHBLVHRjY2x4dUlDQWdJSEpsZEhWeWJpQmhjanRjY2x4dWZWeHlYRzVjY2x4dUx5b3FJRUJrWlhCeVpXTmhkR1ZrSUNvdlhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM053Y21WaFpFRnljbUY1Y3lncElIdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlITWdQU0F3TENCcElEMGdNQ3dnYVd3Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb095QnBJRHdnYVd3N0lHa3JLeWtnY3lBclBTQmhjbWQxYldWdWRITmJhVjB1YkdWdVozUm9PMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdjaUE5SUVGeWNtRjVLSE1wTENCcklEMGdNQ3dnYVNBOUlEQTdJR2tnUENCcGJEc2dhU3NyS1Z4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHRWdQU0JoY21kMWJXVnVkSE5iYVYwc0lHb2dQU0F3TENCcWJDQTlJR0V1YkdWdVozUm9PeUJxSUR3Z2FtdzdJR29yS3l3Z2F5c3JLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlXMnRkSUQwZ1lWdHFYVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5emNISmxZV1JCY25KaGVTaDBieXdnWm5KdmJTd2djR0ZqYXlrZ2UxeHlYRzRnSUNBZ2FXWWdLSEJoWTJzZ2ZId2dZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQTlQVDBnTWlrZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUd3Z1BTQm1jbTl0TG14bGJtZDBhQ3dnWVhJN0lHa2dQQ0JzT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9ZWElnZkh3Z0lTaHBJR2x1SUdaeWIyMHBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnaFlYSXBJR0Z5SUQwZ1FYSnlZWGt1Y0hKdmRHOTBlWEJsTG5Oc2FXTmxMbU5oYkd3b1puSnZiU3dnTUN3Z2FTazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnlXMmxkSUQwZ1puSnZiVnRwWFR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnlaWFIxY200Z2RHOHVZMjl1WTJGMEtHRnlJSHg4SUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzV6YkdsalpTNWpZV3hzS0daeWIyMHBLVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZllYZGhhWFFvZGlrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTWdhVzV6ZEdGdVkyVnZaaUJmWDJGM1lXbDBJRDhnS0hSb2FYTXVkaUE5SUhZc0lIUm9hWE1wSURvZ2JtVjNJRjlmWVhkaGFYUW9kaWs3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyRnplVzVqUjJWdVpYSmhkRzl5S0hSb2FYTkJjbWNzSUY5aGNtZDFiV1Z1ZEhNc0lHZGxibVZ5WVhSdmNpa2dlMXh5WEc0Z0lDQWdhV1lnS0NGVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWxONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eUlHbHpJRzV2ZENCa1pXWnBibVZrTGx3aUtUdGNjbHh1SUNBZ0lIWmhjaUJuSUQwZ1oyVnVaWEpoZEc5eUxtRndjR3g1S0hSb2FYTkJjbWNzSUY5aGNtZDFiV1Z1ZEhNZ2ZId2dXMTBwTENCcExDQnhJRDBnVzEwN1hISmNiaUFnSUNCeVpYUjFjbTRnYVNBOUlIdDlMQ0IyWlhKaUtGd2libVY0ZEZ3aUtTd2dkbVZ5WWloY0luUm9jbTkzWENJcExDQjJaWEppS0Z3aWNtVjBkWEp1WENJcExDQnBXMU41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5WFNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHNJR2s3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUIyWlhKaUtHNHBJSHNnYVdZZ0tHZGJibDBwSUdsYmJsMGdQU0JtZFc1amRHbHZiaUFvZGlrZ2V5QnlaWFIxY200Z2JtVjNJRkJ5YjIxcGMyVW9ablZ1WTNScGIyNGdLR0VzSUdJcElIc2djUzV3ZFhOb0tGdHVMQ0IyTENCaExDQmlYU2tnUGlBeElIeDhJSEpsYzNWdFpTaHVMQ0IyS1RzZ2ZTazdJSDA3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhKbGMzVnRaU2h1TENCMktTQjdJSFJ5ZVNCN0lITjBaWEFvWjF0dVhTaDJLU2s3SUgwZ1kyRjBZMmdnS0dVcElIc2djMlYwZEd4bEtIRmJNRjFiTTEwc0lHVXBPeUI5SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhOMFpYQW9jaWtnZXlCeUxuWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1gxOWhkMkZwZENBL0lGQnliMjFwYzJVdWNtVnpiMngyWlNoeUxuWmhiSFZsTG5ZcExuUm9aVzRvWm5Wc1ptbHNiQ3dnY21WcVpXTjBLU0E2SUhObGRIUnNaU2h4V3pCZFd6SmRMQ0J5S1RzZ2ZWeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z1puVnNabWxzYkNoMllXeDFaU2tnZXlCeVpYTjFiV1VvWENKdVpYaDBYQ0lzSUhaaGJIVmxLVHNnZlZ4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnY21WcVpXTjBLSFpoYkhWbEtTQjdJSEpsYzNWdFpTaGNJblJvY205M1hDSXNJSFpoYkhWbEtUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjMlYwZEd4bEtHWXNJSFlwSUhzZ2FXWWdLR1lvZGlrc0lIRXVjMmhwWm5Rb0tTd2djUzVzWlc1bmRHZ3BJSEpsYzNWdFpTaHhXekJkV3pCZExDQnhXekJkV3pGZEtUc2dmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5aGMzbHVZMFJsYkdWbllYUnZjaWh2S1NCN1hISmNiaUFnSUNCMllYSWdhU3dnY0R0Y2NseHVJQ0FnSUhKbGRIVnliaUJwSUQwZ2UzMHNJSFpsY21Jb1hDSnVaWGgwWENJcExDQjJaWEppS0Z3aWRHaHliM2RjSWl3Z1puVnVZM1JwYjI0Z0tHVXBJSHNnZEdoeWIzY2daVHNnZlNrc0lIWmxjbUlvWENKeVpYUjFjbTVjSWlrc0lHbGJVM2x0WW05c0xtbDBaWEpoZEc5eVhTQTlJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUhSb2FYTTdJSDBzSUdrN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpYSmlLRzRzSUdZcElIc2dhVnR1WFNBOUlHOWJibDBnUHlCbWRXNWpkR2x2YmlBb2Rpa2dleUJ5WlhSMWNtNGdLSEFnUFNBaGNDa2dQeUI3SUhaaGJIVmxPaUJmWDJGM1lXbDBLRzliYmwwb2Rpa3BMQ0JrYjI1bE9pQm1ZV3h6WlNCOUlEb2daaUEvSUdZb2Rpa2dPaUIyT3lCOUlEb2daanNnZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhjM2x1WTFaaGJIVmxjeWh2S1NCN1hISmNiaUFnSUNCcFppQW9JVk41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5S1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0lnYVhNZ2JtOTBJR1JsWm1sdVpXUXVYQ0lwTzF4eVhHNGdJQ0FnZG1GeUlHMGdQU0J2VzFONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eVhTd2dhVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnRJRDhnYlM1allXeHNLRzhwSURvZ0tHOGdQU0IwZVhCbGIyWWdYMTkyWVd4MVpYTWdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQS9JRjlmZG1Gc2RXVnpLRzhwSURvZ2IxdFRlVzFpYjJ3dWFYUmxjbUYwYjNKZEtDa3NJR2tnUFNCN2ZTd2dkbVZ5WWloY0ltNWxlSFJjSWlrc0lIWmxjbUlvWENKMGFISnZkMXdpS1N3Z2RtVnlZaWhjSW5KbGRIVnlibHdpS1N3Z2FWdFRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQjBhR2x6T3lCOUxDQnBLVHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSFpsY21Jb2Jpa2dleUJwVzI1ZElEMGdiMXR1WFNBbUppQm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2V5QjJJRDBnYjF0dVhTaDJLU3dnYzJWMGRHeGxLSEpsYzI5c2RtVXNJSEpsYW1WamRDd2dkaTVrYjI1bExDQjJMblpoYkhWbEtUc2dmU2s3SUgwN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITmxkSFJzWlNoeVpYTnZiSFpsTENCeVpXcGxZM1FzSUdRc0lIWXBJSHNnVUhKdmJXbHpaUzV5WlhOdmJIWmxLSFlwTG5Sb1pXNG9ablZ1WTNScGIyNG9kaWtnZXlCeVpYTnZiSFpsS0hzZ2RtRnNkV1U2SUhZc0lHUnZibVU2SUdRZ2ZTazdJSDBzSUhKbGFtVmpkQ2s3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZiV0ZyWlZSbGJYQnNZWFJsVDJKcVpXTjBLR052YjJ0bFpDd2djbUYzS1NCN1hISmNiaUFnSUNCcFppQW9UMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S1NCN0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hqYjI5clpXUXNJRndpY21GM1hDSXNJSHNnZG1Gc2RXVTZJSEpoZHlCOUtUc2dmU0JsYkhObElIc2dZMjl2YTJWa0xuSmhkeUE5SUhKaGR6c2dmVnh5WEc0Z0lDQWdjbVYwZFhKdUlHTnZiMnRsWkR0Y2NseHVmVHRjY2x4dVhISmNiblpoY2lCZlgzTmxkRTF2WkhWc1pVUmxabUYxYkhRZ1BTQlBZbXBsWTNRdVkzSmxZWFJsSUQ4Z0tHWjFibU4wYVc5dUtHOHNJSFlwSUh0Y2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaHZMQ0JjSW1SbFptRjFiSFJjSWl3Z2V5QmxiblZ0WlhKaFlteGxPaUIwY25WbExDQjJZV3gxWlRvZ2RpQjlLVHRjY2x4dWZTa2dPaUJtZFc1amRHbHZiaWh2TENCMktTQjdYSEpjYmlBZ0lDQnZXMXdpWkdWbVlYVnNkRndpWFNBOUlIWTdYSEpjYm4wN1hISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5cGJYQnZjblJUZEdGeUtHMXZaQ2tnZTF4eVhHNGdJQ0FnYVdZZ0tHMXZaQ0FtSmlCdGIyUXVYMTlsYzAxdlpIVnNaU2tnY21WMGRYSnVJRzF2WkR0Y2NseHVJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQjdmVHRjY2x4dUlDQWdJR2xtSUNodGIyUWdJVDBnYm5Wc2JDa2dabTl5SUNoMllYSWdheUJwYmlCdGIyUXBJR2xtSUNocklDRTlQU0JjSW1SbFptRjFiSFJjSWlBbUppQlBZbXBsWTNRdWNISnZkRzkwZVhCbExtaGhjMDkzYmxCeWIzQmxjblI1TG1OaGJHd29iVzlrTENCcktTa2dYMTlqY21WaGRHVkNhVzVrYVc1bktISmxjM1ZzZEN3Z2JXOWtMQ0JyS1R0Y2NseHVJQ0FnSUY5ZmMyVjBUVzlrZFd4bFJHVm1ZWFZzZENoeVpYTjFiSFFzSUcxdlpDazdYSEpjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXBiWEJ2Y25SRVpXWmhkV3gwS0cxdlpDa2dlMXh5WEc0Z0lDQWdjbVYwZFhKdUlDaHRiMlFnSmlZZ2JXOWtMbDlmWlhOTmIyUjFiR1VwSUQ4Z2JXOWtJRG9nZXlCa1pXWmhkV3gwT2lCdGIyUWdmVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZlkyeGhjM05RY21sMllYUmxSbWxsYkdSSFpYUW9jbVZqWldsMlpYSXNJSE4wWVhSbExDQnJhVzVrTENCbUtTQjdYSEpjYmlBZ0lDQnBaaUFvYTJsdVpDQTlQVDBnWENKaFhDSWdKaVlnSVdZcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pRY21sMllYUmxJR0ZqWTJWemMyOXlJSGRoY3lCa1pXWnBibVZrSUhkcGRHaHZkWFFnWVNCblpYUjBaWEpjSWlrN1hISmNiaUFnSUNCcFppQW9kSGx3Wlc5bUlITjBZWFJsSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnUHlCeVpXTmxhWFpsY2lBaFBUMGdjM1JoZEdVZ2ZId2dJV1lnT2lBaGMzUmhkR1V1YUdGektISmxZMlZwZG1WeUtTa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtOaGJtNXZkQ0J5WldGa0lIQnlhWFpoZEdVZ2JXVnRZbVZ5SUdaeWIyMGdZVzRnYjJKcVpXTjBJSGRvYjNObElHTnNZWE56SUdScFpDQnViM1FnWkdWamJHRnlaU0JwZEZ3aUtUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCcmFXNWtJRDA5UFNCY0ltMWNJaUEvSUdZZ09pQnJhVzVrSUQwOVBTQmNJbUZjSWlBL0lHWXVZMkZzYkNoeVpXTmxhWFpsY2lrZ09pQm1JRDhnWmk1MllXeDFaU0E2SUhOMFlYUmxMbWRsZENoeVpXTmxhWFpsY2lrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMk5zWVhOelVISnBkbUYwWlVacFpXeGtVMlYwS0hKbFkyVnBkbVZ5TENCemRHRjBaU3dnZG1Gc2RXVXNJR3RwYm1Rc0lHWXBJSHRjY2x4dUlDQWdJR2xtSUNocmFXNWtJRDA5UFNCY0ltMWNJaWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lsQnlhWFpoZEdVZ2JXVjBhRzlrSUdseklHNXZkQ0IzY21sMFlXSnNaVndpS1R0Y2NseHVJQ0FnSUdsbUlDaHJhVzVrSUQwOVBTQmNJbUZjSWlBbUppQWhaaWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lsQnlhWFpoZEdVZ1lXTmpaWE56YjNJZ2QyRnpJR1JsWm1sdVpXUWdkMmwwYUc5MWRDQmhJSE5sZEhSbGNsd2lLVHRjY2x4dUlDQWdJR2xtSUNoMGVYQmxiMllnYzNSaGRHVWdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQS9JSEpsWTJWcGRtVnlJQ0U5UFNCemRHRjBaU0I4ZkNBaFppQTZJQ0Z6ZEdGMFpTNW9ZWE1vY21WalpXbDJaWElwS1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lRMkZ1Ym05MElIZHlhWFJsSUhCeWFYWmhkR1VnYldWdFltVnlJSFJ2SUdGdUlHOWlhbVZqZENCM2FHOXpaU0JqYkdGemN5QmthV1FnYm05MElHUmxZMnhoY21VZ2FYUmNJaWs3WEhKY2JpQWdJQ0J5WlhSMWNtNGdLR3RwYm1RZ1BUMDlJRndpWVZ3aUlEOGdaaTVqWVd4c0tISmxZMlZwZG1WeUxDQjJZV3gxWlNrZ09pQm1JRDhnWmk1MllXeDFaU0E5SUhaaGJIVmxJRG9nYzNSaGRHVXVjMlYwS0hKbFkyVnBkbVZ5TENCMllXeDFaU2twTENCMllXeDFaVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZlkyeGhjM05RY21sMllYUmxSbWxsYkdSSmJpaHpkR0YwWlN3Z2NtVmpaV2wyWlhJcElIdGNjbHh1SUNBZ0lHbG1JQ2h5WldObGFYWmxjaUE5UFQwZ2JuVnNiQ0I4ZkNBb2RIbHdaVzltSUhKbFkyVnBkbVZ5SUNFOVBTQmNJbTlpYW1WamRGd2lJQ1ltSUhSNWNHVnZaaUJ5WldObGFYWmxjaUFoUFQwZ1hDSm1kVzVqZEdsdmJsd2lLU2tnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrTmhibTV2ZENCMWMyVWdKMmx1SnlCdmNHVnlZWFJ2Y2lCdmJpQnViMjR0YjJKcVpXTjBYQ0lwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQnpkR0YwWlNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUQ4Z2NtVmpaV2wyWlhJZ1BUMDlJSE4wWVhSbElEb2djM1JoZEdVdWFHRnpLSEpsWTJWcGRtVnlLVHRjY2x4dWZWeHlYRzRpTENJdktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtRnRhVzVuTFdOdmJuWmxiblJwYjI0Z0tpOWNibHh1THlvcVhHNGdLaUJUY0dWamFXWnBaWEp6SUc5bUlHUmxZblZuSUcxdlpHVWdiMllnZTBCc2FXNXJJRTFVYjI5dVRXRjBaWEpwWVd4OUxseHVJQ3BjYmlBcUlGTmxaVG9nZTBCc2FXNXJJRTFVYjI5dVRXRjBaWEpwWVd3dVpHVmlkV2ROYjJSbGZWeHVJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdUVlJ2YjI1TllYUmxjbWxoYkVSbFluVm5UVzlrWlNBOUlIdGNiaUFnTHlvcVhHNGdJQ0FxSUZKbGJtUmxjaUJ1YjNKdFlXeHNlUzVjYmlBZ0lDb3ZYRzRnSUU1dmJtVTZJQ2R1YjI1bEp5eGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZtbHpkV0ZzYVhwbElHNXZjbTFoYkhNZ2IyWWdkR2hsSUhOMWNtWmhZMlV1WEc0Z0lDQXFMMXh1SUNCT2IzSnRZV3c2SUNkdWIzSnRZV3duTEZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJXYVhOMVlXeHBlbVVnYkdsMEwzTm9ZV1JsSUc5bUlIUm9aU0J6ZFhKbVlXTmxMbHh1SUNBZ0tpOWNiaUFnVEdsMFUyaGhaR1ZTWVhSbE9pQW5iR2wwVTJoaFpHVlNZWFJsSnl4Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVm1semRXRnNhWHBsSUZWV0lHOW1JSFJvWlNCemRYSm1ZV05sTGx4dUlDQWdLaTljYmlBZ1ZWWTZJQ2QxZGljc1hHNTlJR0Z6SUdOdmJuTjBPMXh1WEc1bGVIQnZjblFnZEhsd1pTQk5WRzl2YmsxaGRHVnlhV0ZzUkdWaWRXZE5iMlJsSUQwZ2RIbHdaVzltSUUxVWIyOXVUV0YwWlhKcFlXeEVaV0oxWjAxdlpHVmJhMlY1YjJZZ2RIbHdaVzltSUUxVWIyOXVUV0YwWlhKcFlXeEVaV0oxWjAxdlpHVmRPMXh1SWl3aUx5b2daWE5zYVc1MExXUnBjMkZpYkdVZ1FIUjVjR1Z6WTNKcGNIUXRaWE5zYVc1MEwyNWhiV2x1WnkxamIyNTJaVzUwYVc5dUlDb3ZYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk5WRzl2YmsxaGRHVnlhV0ZzVDNWMGJHbHVaVmRwWkhSb1RXOWtaU0E5SUh0Y2JpQWdUbTl1WlRvZ0oyNXZibVVuTEZ4dUlDQlhiM0pzWkVOdmIzSmthVzVoZEdWek9pQW5kMjl5YkdSRGIyOXlaR2x1WVhSbGN5Y3NYRzRnSUZOamNtVmxia052YjNKa2FXNWhkR1Z6T2lBbmMyTnlaV1Z1UTI5dmNtUnBibUYwWlhNbkxGeHVmU0JoY3lCamIyNXpkRHRjYmx4dVpYaHdiM0owSUhSNWNHVWdUVlJ2YjI1TllYUmxjbWxoYkU5MWRHeHBibVZYYVdSMGFFMXZaR1VnUFZ4dUlDQjBlWEJsYjJZZ1RWUnZiMjVOWVhSbGNtbGhiRTkxZEd4cGJtVlhhV1IwYUUxdlpHVmJhMlY1YjJZZ2RIbHdaVzltSUUxVWIyOXVUV0YwWlhKcFlXeFBkWFJzYVc1bFYybGtkR2hOYjJSbFhUdGNiaUlzSW1sdGNHOXlkQ0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibHh1WTI5dWMzUWdaVzVqYjJScGJtZERiMnh2Y2xOd1lXTmxUV0Z3T2lCU1pXTnZjbVE4WVc1NUxDQW5KeUI4SUNkemNtZGlKejRnUFNCN1hHNGdJRE13TURBNklDY25MRnh1SUNBek1EQXhPaUFuYzNKbllpY3NYRzU5TzF4dVhHNHZLaXBjYmlBcUlFRWdZMjl0Y0dGMElHWjFibU4wYVc5dUlIUnZJR2RsZENCMFpYaDBkWEpsSUdOdmJHOXlJSE53WVdObExseHVJQ3BjYmlBcUlFTlBUVkJCVkRvZ2NISmxMWEl4TlRKY2JpQXFJRk4wWVhKMGFXNW5JR1p5YjIwZ1ZHaHlaV1V1YW5NZ2NqRTFNaXdnWUhSbGVIUjFjbVV1Wlc1amIyUnBibWRnSUdseklISmxibUZ0WldRZ2RHOGdZSFJsZUhSMWNtVXVZMjlzYjNKVGNHRmpaV0F1WEc0Z0tpQlVhR2x6SUdaMWJtTjBhVzl1SUhkcGJHd2dhR0Z1Wkd4bElIUm9aU0JqYjIxaGNIUXVYRzRnS2x4dUlDb2dRSEJoY21GdElIUmxlSFIxY21VZ1ZHaGxJSFJsZUhSMWNtVWdlVzkxSUhkaGJuUWdkRzhnWjJWMElIUm9aU0JqYjJ4dmNpQnpjR0ZqWlNCbWNtOXRYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCblpYUlVaWGgwZFhKbFEyOXNiM0pUY0dGalpTaDBaWGgwZFhKbE9pQlVTRkpGUlM1VVpYaDBkWEpsS1RvZ0p5Y2dmQ0FuYzNKbllpY2dlMXh1SUNCcFppQW9jR0Z5YzJWSmJuUW9WRWhTUlVVdVVrVldTVk5KVDA0c0lERXdLU0ErUFNBeE5USXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHVjRkSFZ5WlM1amIyeHZjbE53WVdObElHRnpJQ2NuSUh3Z0ozTnlaMkluTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJsYm1OdlpHbHVaME52Ykc5eVUzQmhZMlZOWVhCYktIUmxlSFIxY21VZ1lYTWdZVzU1S1M1bGJtTnZaR2x1WjEwN1hHNGdJSDFjYm4xY2JpSXNJaThxSUhSemJHbHVkRHBrYVhOaFlteGxPbTFsYldKbGNpMXZjbVJsY21sdVp5QXFMMXh1WEc1cGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdkbVZ5ZEdWNFUyaGhaR1Z5SUdaeWIyMGdKeTR2YzJoaFpHVnljeTl0ZEc5dmJpNTJaWEowSnp0Y2JtbHRjRzl5ZENCbWNtRm5iV1Z1ZEZOb1lXUmxjaUJtY205dElDY3VMM05vWVdSbGNuTXZiWFJ2YjI0dVpuSmhaeWM3WEc1cGJYQnZjblFnZXlCTlZHOXZiazFoZEdWeWFXRnNSR1ZpZFdkTmIyUmxJSDBnWm5KdmJTQW5MaTlOVkc5dmJrMWhkR1Z5YVdGc1JHVmlkV2ROYjJSbEp6dGNibWx0Y0c5eWRDQjdJRTFVYjI5dVRXRjBaWEpwWVd4UGRYUnNhVzVsVjJsa2RHaE5iMlJsSUgwZ1puSnZiU0FuTGk5TlZHOXZiazFoZEdWeWFXRnNUM1YwYkdsdVpWZHBaSFJvVFc5a1pTYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFMVViMjl1VFdGMFpYSnBZV3hRWVhKaGJXVjBaWEp6SUgwZ1puSnZiU0FuTGk5TlZHOXZiazFoZEdWeWFXRnNVR0Z5WVcxbGRHVnljeWM3WEc1cGJYQnZjblFnZXlCblpYUlVaWGgwZFhKbFEyOXNiM0pUY0dGalpTQjlJR1p5YjIwZ0p5NHZkWFJwYkhNdloyVjBWR1Y0ZEhWeVpVTnZiRzl5VTNCaFkyVW5PMXh1WEc0dktpcGNiaUFxSUUxVWIyOXVJR2x6SUdFZ2JXRjBaWEpwWVd3Z2MzQmxZMmxtYVdOaGRHbHZiaUIwYUdGMElHaGhjeUIyWVhKcGIzVnpJR1psWVhSMWNtVnpMbHh1SUNvZ1ZHaGxJSE53WldNZ1lXNWtJR2x0Y0d4bGJXVnVkR0YwYVc5dUlHRnlaU0J2Y21sbmFXNWhiR3g1SUdadmRXNWtaV1FnWm05eUlGVnVhWFI1SUdWdVoybHVaU0JoYm1RZ2RHaHBjeUJwY3lCaElIQnZjblFnYjJZZ2RHaGxJRzFoZEdWeWFXRnNMbHh1SUNwY2JpQXFJRk5sWlRvZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwxTmhiblJoY21ndlRWUnZiMjVjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUUxVWIyOXVUV0YwWlhKcFlXd2daWGgwWlc1a2N5QlVTRkpGUlM1VGFHRmtaWEpOWVhSbGNtbGhiQ0I3WEc0Z0lIQjFZbXhwWXlCMWJtbG1iM0p0Y3pvZ2UxeHVJQ0FnSUd4cGRFWmhZM1J2Y2pvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4VkVoU1JVVXVRMjlzYjNJK08xeHVJQ0FnSUdGc2NHaGhWR1Z6ZERvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4Ym5WdFltVnlQanRjYmlBZ0lDQnZjR0ZqYVhSNU9pQlVTRkpGUlM1SlZXNXBabTl5YlR4dWRXMWlaWEkrTzF4dUlDQWdJRzFoY0RvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4VkVoU1JVVXVWR1Y0ZEhWeVpTQjhJRzUxYkd3K08xeHVJQ0FnSUcxaGNGVjJWSEpoYm5ObWIzSnRPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeFVTRkpGUlM1TllYUnlhWGd6UGp0Y2JpQWdJQ0J1YjNKdFlXeE5ZWEE2SUZSSVVrVkZMa2xWYm1sbWIzSnRQRlJJVWtWRkxsUmxlSFIxY21VZ2ZDQnVkV3hzUGp0Y2JpQWdJQ0J1YjNKdFlXeE5ZWEJWZGxSeVlXNXpabTl5YlRvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4VkVoU1JVVXVUV0YwY21sNE16NDdYRzRnSUNBZ2JtOXliV0ZzVTJOaGJHVTZJRlJJVWtWRkxrbFZibWxtYjNKdFBGUklVa1ZGTGxabFkzUnZjakkrTzF4dUlDQWdJR1Z0YVhOemFYWmxPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeFVTRkpGUlM1RGIyeHZjajQ3WEc0Z0lDQWdaVzFwYzNOcGRtVkpiblJsYm5OcGRIazZJRlJJVWtWRkxrbFZibWxtYjNKdFBHNTFiV0psY2o0N1hHNGdJQ0FnWlcxcGMzTnBkbVZOWVhBNklGUklVa1ZGTGtsVmJtbG1iM0p0UEZSSVVrVkZMbFJsZUhSMWNtVWdmQ0J1ZFd4c1BqdGNiaUFnSUNCbGJXbHpjMmwyWlUxaGNGVjJWSEpoYm5ObWIzSnRPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeFVTRkpGUlM1TllYUnlhWGd6UGp0Y2JpQWdJQ0J6YUdGa1pVTnZiRzl5Um1GamRHOXlPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeFVTRkpGUlM1RGIyeHZjajQ3WEc0Z0lDQWdjMmhoWkdWTmRXeDBhWEJzZVZSbGVIUjFjbVU2SUZSSVVrVkZMa2xWYm1sbWIzSnRQRlJJVWtWRkxsUmxlSFIxY21VZ2ZDQnVkV3hzUGp0Y2JpQWdJQ0J6YUdGa1pVMTFiSFJwY0d4NVZHVjRkSFZ5WlZWMlZISmhibk5tYjNKdE9pQlVTRkpGUlM1SlZXNXBabTl5YlR4VVNGSkZSUzVOWVhSeWFYZ3pQanRjYmlBZ0lDQnphR0ZrYVc1blUyaHBablJHWVdOMGIzSTZJRlJJVWtWRkxrbFZibWxtYjNKdFBHNTFiV0psY2o0N1hHNGdJQ0FnYzJoaFpHbHVaMU5vYVdaMFZHVjRkSFZ5WlRvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4VkVoU1JVVXVWR1Y0ZEhWeVpTQjhJRzUxYkd3K08xeHVJQ0FnSUhOb1lXUnBibWRUYUdsbWRGUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJUb2dWRWhTUlVVdVNWVnVhV1p2Y20wOFZFaFNSVVV1VFdGMGNtbDRNejQ3WEc0Z0lDQWdjMmhoWkdsdVoxTm9hV1owVkdWNGRIVnlaVk5qWVd4bE9pQlVTRkpGUlM1SlZXNXBabTl5YlR4dWRXMWlaWEkrTzF4dUlDQWdJSE5vWVdScGJtZFViMjl1ZVVaaFkzUnZjam9nVkVoU1JVVXVTVlZ1YVdadmNtMDhiblZ0WW1WeVBqdGNiaUFnSUNCbmFVVnhkV0ZzYVhwaGRHbHZia1poWTNSdmNqb2dWRWhTUlVVdVNWVnVhV1p2Y20wOGJuVnRZbVZ5UGp0Y2JpQWdJQ0J0WVhSallYQkdZV04wYjNJNklGUklVa1ZGTGtsVmJtbG1iM0p0UEZSSVVrVkZMa052Ykc5eVBqdGNiaUFnSUNCdFlYUmpZWEJVWlhoMGRYSmxPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeFVTRkpGUlM1VVpYaDBkWEpsSUh3Z2JuVnNiRDQ3WEc0Z0lDQWdiV0YwWTJGd1ZHVjRkSFZ5WlZWMlZISmhibk5tYjNKdE9pQlVTRkpGUlM1SlZXNXBabTl5YlR4VVNGSkZSUzVOWVhSeWFYZ3pQanRjYmlBZ0lDQndZWEpoYldWMGNtbGpVbWx0UTI5c2IzSkdZV04wYjNJNklGUklVa1ZGTGtsVmJtbG1iM0p0UEZSSVVrVkZMa052Ykc5eVBqdGNiaUFnSUNCeWFXMU5kV3gwYVhCc2VWUmxlSFIxY21VNklGUklVa1ZGTGtsVmJtbG1iM0p0UEZSSVVrVkZMbFJsZUhSMWNtVWdmQ0J1ZFd4c1BqdGNiaUFnSUNCeWFXMU5kV3gwYVhCc2VWUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJUb2dWRWhTUlVVdVNWVnVhV1p2Y20wOFZFaFNSVVV1VFdGMGNtbDRNejQ3WEc0Z0lDQWdjbWx0VEdsbmFIUnBibWROYVhoR1lXTjBiM0k2SUZSSVVrVkZMa2xWYm1sbWIzSnRQRzUxYldKbGNqNDdYRzRnSUNBZ2NHRnlZVzFsZEhKcFkxSnBiVVp5WlhOdVpXeFFiM2RsY2taaFkzUnZjam9nVkVoU1JVVXVTVlZ1YVdadmNtMDhiblZ0WW1WeVBqdGNiaUFnSUNCd1lYSmhiV1YwY21salVtbHRUR2xtZEVaaFkzUnZjam9nVkVoU1JVVXVTVlZ1YVdadmNtMDhiblZ0WW1WeVBqdGNiaUFnSUNCdmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21VNklGUklVa1ZGTGtsVmJtbG1iM0p0UEZSSVVrVkZMbFJsZUhSMWNtVWdmQ0J1ZFd4c1BqdGNiaUFnSUNCdmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJUb2dWRWhTUlVVdVNWVnVhV1p2Y20wOFZFaFNSVVV1VFdGMGNtbDRNejQ3WEc0Z0lDQWdiM1YwYkdsdVpWZHBaSFJvUm1GamRHOXlPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeHVkVzFpWlhJK08xeHVJQ0FnSUc5MWRHeHBibVZEYjJ4dmNrWmhZM1J2Y2pvZ1ZFaFNSVVV1U1ZWdWFXWnZjbTA4VkVoU1JVVXVRMjlzYjNJK08xeHVJQ0FnSUc5MWRHeHBibVZNYVdkb2RHbHVaMDFwZUVaaFkzUnZjam9nVkVoU1JVVXVTVlZ1YVdadmNtMDhiblZ0WW1WeVBqdGNiaUFnSUNCMWRrRnVhVzFoZEdsdmJrMWhjMnRVWlhoMGRYSmxPaUJVU0ZKRlJTNUpWVzVwWm05eWJUeFVTRkpGUlM1VVpYaDBkWEpsSUh3Z2JuVnNiRDQ3WEc0Z0lDQWdkWFpCYm1sdFlYUnBiMjVOWVhOclZHVjRkSFZ5WlZWMlZISmhibk5tYjNKdE9pQlVTRkpGUlM1SlZXNXBabTl5YlR4VVNGSkZSUzVOWVhSeWFYZ3pQanRjYmlBZ0lDQjFka0Z1YVcxaGRHbHZibE5qY205c2JGaFBabVp6WlhRNklGUklVa1ZGTGtsVmJtbG1iM0p0UEc1MWJXSmxjajQ3WEc0Z0lDQWdkWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFpUMlptYzJWME9pQlVTRkpGUlM1SlZXNXBabTl5YlR4dWRXMWlaWEkrTzF4dUlDQWdJSFYyUVc1cGJXRjBhVzl1VW05MFlYUnBiMjVRYUdGelpUb2dWRWhTUlVVdVNWVnVhV1p2Y20wOGJuVnRZbVZ5UGp0Y2JpQWdmVHRjYmx4dUlDQndkV0pzYVdNZ1oyVjBJR052Ykc5eUtDazZJRlJJVWtWRkxrTnZiRzl5SUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MWJtbG1iM0p0Y3k1c2FYUkdZV04wYjNJdWRtRnNkV1U3WEc0Z0lIMWNiaUFnY0hWaWJHbGpJSE5sZENCamIyeHZjaWgyWVd4MVpUb2dWRWhTUlVVdVEyOXNiM0lwSUh0Y2JpQWdJQ0IwYUdsekxuVnVhV1p2Y20xekxteHBkRVpoWTNSdmNpNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQnRZWEFvS1RvZ1ZFaFNSVVV1VkdWNGRIVnlaU0I4SUc1MWJHd2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblZ1YVdadmNtMXpMbTFoY0M1MllXeDFaVHRjYmlBZ2ZWeHVJQ0J3ZFdKc2FXTWdjMlYwSUcxaGNDaDJZV3gxWlRvZ1ZFaFNSVVV1VkdWNGRIVnlaU0I4SUc1MWJHd3BJSHRjYmlBZ0lDQjBhR2x6TG5WdWFXWnZjbTF6TG0xaGNDNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQnViM0p0WVd4TllYQW9LVG9nVkVoU1JVVXVWR1Y0ZEhWeVpTQjhJRzUxYkd3Z2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVnVhV1p2Y20xekxtNXZjbTFoYkUxaGNDNTJZV3gxWlR0Y2JpQWdmVnh1SUNCd2RXSnNhV01nYzJWMElHNXZjbTFoYkUxaGNDaDJZV3gxWlRvZ1ZFaFNSVVV1VkdWNGRIVnlaU0I4SUc1MWJHd3BJSHRjYmlBZ0lDQjBhR2x6TG5WdWFXWnZjbTF6TG01dmNtMWhiRTFoY0M1MllXeDFaU0E5SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR2RsZENCdWIzSnRZV3hUWTJGc1pTZ3BPaUJVU0ZKRlJTNVdaV04wYjNJeUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NTFibWxtYjNKdGN5NXViM0p0WVd4VFkyRnNaUzUyWVd4MVpUdGNiaUFnZlZ4dUlDQndkV0pzYVdNZ2MyVjBJRzV2Y20xaGJGTmpZV3hsS0haaGJIVmxPaUJVU0ZKRlJTNVdaV04wYjNJeUtTQjdYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTV1YjNKdFlXeFRZMkZzWlM1MllXeDFaU0E5SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR2RsZENCbGJXbHpjMmwyWlNncE9pQlVTRkpGUlM1RGIyeHZjaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFc1cFptOXliWE11WlcxcGMzTnBkbVV1ZG1Gc2RXVTdYRzRnSUgxY2JpQWdjSFZpYkdsaklITmxkQ0JsYldsemMybDJaU2gyWVd4MVpUb2dWRWhTUlVVdVEyOXNiM0lwSUh0Y2JpQWdJQ0IwYUdsekxuVnVhV1p2Y20xekxtVnRhWE56YVhabExuWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWjJWMElHVnRhWE56YVhabFNXNTBaVzV6YVhSNUtDazZJRzUxYldKbGNpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkVzVwWm05eWJYTXVaVzFwYzNOcGRtVkpiblJsYm5OcGRIa3VkbUZzZFdVN1hHNGdJSDFjYmlBZ2NIVmliR2xqSUhObGRDQmxiV2x6YzJsMlpVbHVkR1Z1YzJsMGVTaDJZV3gxWlRvZ2JuVnRZbVZ5S1NCN1hHNGdJQ0FnZEdocGN5NTFibWxtYjNKdGN5NWxiV2x6YzJsMlpVbHVkR1Z1YzJsMGVTNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQmxiV2x6YzJsMlpVMWhjQ2dwT2lCVVNGSkZSUzVVWlhoMGRYSmxJSHdnYm5Wc2JDQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkVzVwWm05eWJYTXVaVzFwYzNOcGRtVk5ZWEF1ZG1Gc2RXVTdYRzRnSUgxY2JpQWdjSFZpYkdsaklITmxkQ0JsYldsemMybDJaVTFoY0NoMllXeDFaVG9nVkVoU1JVVXVWR1Y0ZEhWeVpTQjhJRzUxYkd3cElIdGNiaUFnSUNCMGFHbHpMblZ1YVdadmNtMXpMbVZ0YVhOemFYWmxUV0Z3TG5aaGJIVmxJRDBnZG1Gc2RXVTdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUhOb1lXUmxRMjlzYjNKR1lXTjBiM0lvS1RvZ1ZFaFNSVVV1UTI5c2IzSWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblZ1YVdadmNtMXpMbk5vWVdSbFEyOXNiM0pHWVdOMGIzSXVkbUZzZFdVN1hHNGdJSDFjYmlBZ2NIVmliR2xqSUhObGRDQnphR0ZrWlVOdmJHOXlSbUZqZEc5eUtIWmhiSFZsT2lCVVNGSkZSUzVEYjJ4dmNpa2dlMXh1SUNBZ0lIUm9hWE11ZFc1cFptOXliWE11YzJoaFpHVkRiMnh2Y2taaFkzUnZjaTUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHZGxkQ0J6YUdGa1pVMTFiSFJwY0d4NVZHVjRkSFZ5WlNncE9pQlVTRkpGUlM1VVpYaDBkWEpsSUh3Z2JuVnNiQ0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFc1cFptOXliWE11YzJoaFpHVk5kV3gwYVhCc2VWUmxlSFIxY21VdWRtRnNkV1U3WEc0Z0lIMWNiaUFnY0hWaWJHbGpJSE5sZENCemFHRmtaVTExYkhScGNHeDVWR1Y0ZEhWeVpTaDJZV3gxWlRvZ1ZFaFNSVVV1VkdWNGRIVnlaU0I4SUc1MWJHd3BJSHRjYmlBZ0lDQjBhR2x6TG5WdWFXWnZjbTF6TG5Ob1lXUmxUWFZzZEdsd2JIbFVaWGgwZFhKbExuWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWjJWMElITm9ZV1JwYm1kVGFHbG1kRVpoWTNSdmNpZ3BPaUJ1ZFcxaVpYSWdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblZ1YVdadmNtMXpMbk5vWVdScGJtZFRhR2xtZEVaaFkzUnZjaTUyWVd4MVpUdGNiaUFnZlZ4dUlDQndkV0pzYVdNZ2MyVjBJSE5vWVdScGJtZFRhR2xtZEVaaFkzUnZjaWgyWVd4MVpUb2diblZ0WW1WeUtTQjdYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTV6YUdGa2FXNW5VMmhwWm5SR1lXTjBiM0l1ZG1Gc2RXVWdQU0IyWVd4MVpUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5Qm5aWFFnYzJoaFpHbHVaMU5vYVdaMFZHVjRkSFZ5WlNncE9pQlVTRkpGUlM1VVpYaDBkWEpsSUh3Z2JuVnNiQ0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFc1cFptOXliWE11YzJoaFpHbHVaMU5vYVdaMFZHVjRkSFZ5WlM1MllXeDFaVHRjYmlBZ2ZWeHVJQ0J3ZFdKc2FXTWdjMlYwSUhOb1lXUnBibWRUYUdsbWRGUmxlSFIxY21Vb2RtRnNkV1U2SUZSSVVrVkZMbFJsZUhSMWNtVWdmQ0J1ZFd4c0tTQjdYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTV6YUdGa2FXNW5VMmhwWm5SVVpYaDBkWEpsTG5aaGJIVmxJRDBnZG1Gc2RXVTdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUhOb1lXUnBibWRUYUdsbWRGUmxlSFIxY21WVFkyRnNaU2dwT2lCdWRXMWlaWElnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5WdWFXWnZjbTF6TG5Ob1lXUnBibWRUYUdsbWRGUmxlSFIxY21WVFkyRnNaUzUyWVd4MVpUdGNiaUFnZlZ4dUlDQndkV0pzYVdNZ2MyVjBJSE5vWVdScGJtZFRhR2xtZEZSbGVIUjFjbVZUWTJGc1pTaDJZV3gxWlRvZ2JuVnRZbVZ5S1NCN1hHNGdJQ0FnZEdocGN5NTFibWxtYjNKdGN5NXphR0ZrYVc1blUyaHBablJVWlhoMGRYSmxVMk5oYkdVdWRtRnNkV1VnUFNCMllXeDFaVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2MyaGhaR2x1WjFSdmIyNTVSbUZqZEc5eUtDazZJRzUxYldKbGNpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkVzVwWm05eWJYTXVjMmhoWkdsdVoxUnZiMjU1Um1GamRHOXlMblpoYkhWbE8xeHVJQ0I5WEc0Z0lIQjFZbXhwWXlCelpYUWdjMmhoWkdsdVoxUnZiMjU1Um1GamRHOXlLSFpoYkhWbE9pQnVkVzFpWlhJcElIdGNiaUFnSUNCMGFHbHpMblZ1YVdadmNtMXpMbk5vWVdScGJtZFViMjl1ZVVaaFkzUnZjaTUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHZGxkQ0JuYVVWeGRXRnNhWHBoZEdsdmJrWmhZM1J2Y2lncE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVnVhV1p2Y20xekxtZHBSWEYxWVd4cGVtRjBhVzl1Um1GamRHOXlMblpoYkhWbE8xeHVJQ0I5WEc0Z0lIQjFZbXhwWXlCelpYUWdaMmxGY1hWaGJHbDZZWFJwYjI1R1lXTjBiM0lvZG1Gc2RXVTZJRzUxYldKbGNpa2dlMXh1SUNBZ0lIUm9hWE11ZFc1cFptOXliWE11WjJsRmNYVmhiR2w2WVhScGIyNUdZV04wYjNJdWRtRnNkV1VnUFNCMllXeDFaVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2JXRjBZMkZ3Um1GamRHOXlLQ2s2SUZSSVVrVkZMa052Ykc5eUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NTFibWxtYjNKdGN5NXRZWFJqWVhCR1lXTjBiM0l1ZG1Gc2RXVTdYRzRnSUgxY2JpQWdjSFZpYkdsaklITmxkQ0J0WVhSallYQkdZV04wYjNJb2RtRnNkV1U2SUZSSVVrVkZMa052Ykc5eUtTQjdYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTV0WVhSallYQkdZV04wYjNJdWRtRnNkV1VnUFNCMllXeDFaVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2JXRjBZMkZ3VkdWNGRIVnlaU2dwT2lCVVNGSkZSUzVVWlhoMGRYSmxJSHdnYm5Wc2JDQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkVzVwWm05eWJYTXViV0YwWTJGd1ZHVjRkSFZ5WlM1MllXeDFaVHRjYmlBZ2ZWeHVJQ0J3ZFdKc2FXTWdjMlYwSUcxaGRHTmhjRlJsZUhSMWNtVW9kbUZzZFdVNklGUklVa1ZGTGxSbGVIUjFjbVVnZkNCdWRXeHNLU0I3WEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1dFlYUmpZWEJVWlhoMGRYSmxMblpoYkhWbElEMGdkbUZzZFdVN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1oyVjBJSEJoY21GdFpYUnlhV05TYVcxRGIyeHZja1poWTNSdmNpZ3BPaUJVU0ZKRlJTNURiMnh2Y2lCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRXNXBabTl5YlhNdWNHRnlZVzFsZEhKcFkxSnBiVU52Ykc5eVJtRmpkRzl5TG5aaGJIVmxPMXh1SUNCOVhHNGdJSEIxWW14cFl5QnpaWFFnY0dGeVlXMWxkSEpwWTFKcGJVTnZiRzl5Um1GamRHOXlLSFpoYkhWbE9pQlVTRkpGUlM1RGIyeHZjaWtnZTF4dUlDQWdJSFJvYVhNdWRXNXBabTl5YlhNdWNHRnlZVzFsZEhKcFkxSnBiVU52Ykc5eVJtRmpkRzl5TG5aaGJIVmxJRDBnZG1Gc2RXVTdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUhKcGJVMTFiSFJwY0d4NVZHVjRkSFZ5WlNncE9pQlVTRkpGUlM1VVpYaDBkWEpsSUh3Z2JuVnNiQ0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFc1cFptOXliWE11Y21sdFRYVnNkR2x3YkhsVVpYaDBkWEpsTG5aaGJIVmxPMXh1SUNCOVhHNGdJSEIxWW14cFl5QnpaWFFnY21sdFRYVnNkR2x3YkhsVVpYaDBkWEpsS0haaGJIVmxPaUJVU0ZKRlJTNVVaWGgwZFhKbElId2diblZzYkNrZ2UxeHVJQ0FnSUhSb2FYTXVkVzVwWm05eWJYTXVjbWx0VFhWc2RHbHdiSGxVWlhoMGRYSmxMblpoYkhWbElEMGdkbUZzZFdVN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1oyVjBJSEpwYlV4cFoyaDBhVzVuVFdsNFJtRmpkRzl5S0NrNklHNTFiV0psY2lCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRXNXBabTl5YlhNdWNtbHRUR2xuYUhScGJtZE5hWGhHWVdOMGIzSXVkbUZzZFdVN1hHNGdJSDFjYmlBZ2NIVmliR2xqSUhObGRDQnlhVzFNYVdkb2RHbHVaMDFwZUVaaFkzUnZjaWgyWVd4MVpUb2diblZ0WW1WeUtTQjdYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTV5YVcxTWFXZG9kR2x1WjAxcGVFWmhZM1J2Y2k1MllXeDFaU0E5SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR2RsZENCd1lYSmhiV1YwY21salVtbHRSbkpsYzI1bGJGQnZkMlZ5Um1GamRHOXlLQ2s2SUc1MWJXSmxjaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZFc1cFptOXliWE11Y0dGeVlXMWxkSEpwWTFKcGJVWnlaWE51Wld4UWIzZGxja1poWTNSdmNpNTJZV3gxWlR0Y2JpQWdmVnh1SUNCd2RXSnNhV01nYzJWMElIQmhjbUZ0WlhSeWFXTlNhVzFHY21WemJtVnNVRzkzWlhKR1lXTjBiM0lvZG1Gc2RXVTZJRzUxYldKbGNpa2dlMXh1SUNBZ0lIUm9hWE11ZFc1cFptOXliWE11Y0dGeVlXMWxkSEpwWTFKcGJVWnlaWE51Wld4UWIzZGxja1poWTNSdmNpNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQndZWEpoYldWMGNtbGpVbWx0VEdsbWRFWmhZM1J2Y2lncE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVnVhV1p2Y20xekxuQmhjbUZ0WlhSeWFXTlNhVzFNYVdaMFJtRmpkRzl5TG5aaGJIVmxPMXh1SUNCOVhHNGdJSEIxWW14cFl5QnpaWFFnY0dGeVlXMWxkSEpwWTFKcGJVeHBablJHWVdOMGIzSW9kbUZzZFdVNklHNTFiV0psY2lrZ2UxeHVJQ0FnSUhSb2FYTXVkVzVwWm05eWJYTXVjR0Z5WVcxbGRISnBZMUpwYlV4cFpuUkdZV04wYjNJdWRtRnNkV1VnUFNCMllXeDFaVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2IzVjBiR2x1WlZkcFpIUm9UWFZzZEdsd2JIbFVaWGgwZFhKbEtDazZJRlJJVWtWRkxsUmxlSFIxY21VZ2ZDQnVkV3hzSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MWJtbG1iM0p0Y3k1dmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21VdWRtRnNkV1U3WEc0Z0lIMWNiaUFnY0hWaWJHbGpJSE5sZENCdmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21Vb2RtRnNkV1U2SUZSSVVrVkZMbFJsZUhSMWNtVWdmQ0J1ZFd4c0tTQjdYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTV2ZFhSc2FXNWxWMmxrZEdoTmRXeDBhWEJzZVZSbGVIUjFjbVV1ZG1Gc2RXVWdQU0IyWVd4MVpUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5Qm5aWFFnYjNWMGJHbHVaVmRwWkhSb1JtRmpkRzl5S0NrNklHNTFiV0psY2lCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRXNXBabTl5YlhNdWIzVjBiR2x1WlZkcFpIUm9SbUZqZEc5eUxuWmhiSFZsTzF4dUlDQjlYRzRnSUhCMVlteHBZeUJ6WlhRZ2IzVjBiR2x1WlZkcFpIUm9SbUZqZEc5eUtIWmhiSFZsT2lCdWRXMWlaWElwSUh0Y2JpQWdJQ0IwYUdsekxuVnVhV1p2Y20xekxtOTFkR3hwYm1WWGFXUjBhRVpoWTNSdmNpNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdkbGRDQnZkWFJzYVc1bFEyOXNiM0pHWVdOMGIzSW9LVG9nVkVoU1JVVXVRMjlzYjNJZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuVnVhV1p2Y20xekxtOTFkR3hwYm1WRGIyeHZja1poWTNSdmNpNTJZV3gxWlR0Y2JpQWdmVnh1SUNCd2RXSnNhV01nYzJWMElHOTFkR3hwYm1WRGIyeHZja1poWTNSdmNpaDJZV3gxWlRvZ1ZFaFNSVVV1UTI5c2IzSXBJSHRjYmlBZ0lDQjBhR2x6TG5WdWFXWnZjbTF6TG05MWRHeHBibVZEYjJ4dmNrWmhZM1J2Y2k1MllXeDFaU0E5SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR2RsZENCdmRYUnNhVzVsVEdsbmFIUnBibWROYVhoR1lXTjBiM0lvS1RvZ2JuVnRZbVZ5SUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MWJtbG1iM0p0Y3k1dmRYUnNhVzVsVEdsbmFIUnBibWROYVhoR1lXTjBiM0l1ZG1Gc2RXVTdYRzRnSUgxY2JpQWdjSFZpYkdsaklITmxkQ0J2ZFhSc2FXNWxUR2xuYUhScGJtZE5hWGhHWVdOMGIzSW9kbUZzZFdVNklHNTFiV0psY2lrZ2UxeHVJQ0FnSUhSb2FYTXVkVzVwWm05eWJYTXViM1YwYkdsdVpVeHBaMmgwYVc1blRXbDRSbUZqZEc5eUxuWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWjJWMElIVjJRVzVwYldGMGFXOXVUV0Z6YTFSbGVIUjFjbVVvS1RvZ1ZFaFNSVVV1VkdWNGRIVnlaU0I4SUc1MWJHd2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblZ1YVdadmNtMXpMblYyUVc1cGJXRjBhVzl1VFdGemExUmxlSFIxY21VdWRtRnNkV1U3WEc0Z0lIMWNiaUFnY0hWaWJHbGpJSE5sZENCMWRrRnVhVzFoZEdsdmJrMWhjMnRVWlhoMGRYSmxLSFpoYkhWbE9pQlVTRkpGUlM1VVpYaDBkWEpsSUh3Z2JuVnNiQ2tnZTF4dUlDQWdJSFJvYVhNdWRXNXBabTl5YlhNdWRYWkJibWx0WVhScGIyNU5ZWE5yVkdWNGRIVnlaUzUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHZGxkQ0IxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmhQWm1aelpYUW9LVG9nYm5WdFltVnlJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUxYm1sbWIzSnRjeTUxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmhQWm1aelpYUXVkbUZzZFdVN1hHNGdJSDFjYmlBZ2NIVmliR2xqSUhObGRDQjFka0Z1YVcxaGRHbHZibE5qY205c2JGaFBabVp6WlhRb2RtRnNkV1U2SUc1MWJXSmxjaWtnZTF4dUlDQWdJSFJvYVhNdWRXNXBabTl5YlhNdWRYWkJibWx0WVhScGIyNVRZM0p2Ykd4WVQyWm1jMlYwTG5aaGJIVmxJRDBnZG1Gc2RXVTdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUhWMlFXNXBiV0YwYVc5dVUyTnliMnhzV1U5bVpuTmxkQ2dwT2lCdWRXMWlaWElnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5WdWFXWnZjbTF6TG5WMlFXNXBiV0YwYVc5dVUyTnliMnhzV1U5bVpuTmxkQzUyWVd4MVpUdGNiaUFnZlZ4dUlDQndkV0pzYVdNZ2MyVjBJSFYyUVc1cGJXRjBhVzl1VTJOeWIyeHNXVTltWm5ObGRDaDJZV3gxWlRvZ2JuVnRZbVZ5S1NCN1hHNGdJQ0FnZEdocGN5NTFibWxtYjNKdGN5NTFka0Z1YVcxaGRHbHZibE5qY205c2JGbFBabVp6WlhRdWRtRnNkV1VnUFNCMllXeDFaVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2RYWkJibWx0WVhScGIyNVNiM1JoZEdsdmJsQm9ZWE5sS0NrNklHNTFiV0psY2lCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRXNXBabTl5YlhNdWRYWkJibWx0WVhScGIyNVNiM1JoZEdsdmJsQm9ZWE5sTG5aaGJIVmxPMXh1SUNCOVhHNGdJSEIxWW14cFl5QnpaWFFnZFhaQmJtbHRZWFJwYjI1U2IzUmhkR2x2YmxCb1lYTmxLSFpoYkhWbE9pQnVkVzFpWlhJcElIdGNiaUFnSUNCMGFHbHpMblZ1YVdadmNtMXpMblYyUVc1cGJXRjBhVzl1VW05MFlYUnBiMjVRYUdGelpTNTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUhWMlFXNXBiV0YwYVc5dVUyTnliMnhzV0ZOd1pXVmtSbUZqZEc5eUlEMGdNQzR3TzF4dUlDQndkV0pzYVdNZ2RYWkJibWx0WVhScGIyNVRZM0p2Ykd4WlUzQmxaV1JHWVdOMGIzSWdQU0F3TGpBN1hHNGdJSEIxWW14cFl5QjFka0Z1YVcxaGRHbHZibEp2ZEdGMGFXOXVVM0JsWldSR1lXTjBiM0lnUFNBd0xqQTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGZG9aWFJvWlhJZ2RHaGxJRzFoZEdWeWFXRnNJR2x6SUdGbVptVmpkR1ZrSUdKNUlHWnZaeTVjYmlBZ0lDb2dZSFJ5ZFdWZ0lHSjVJR1JsWm1GMWJIUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdabTluSUQwZ2RISjFaVHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWMmxzYkNCaVpTQnlaV0ZrSUdsdUlGZGxZa2RNVUhKdlozSmhiWE5jYmlBZ0lDcGNiaUFnSUNvZ1UyVmxPaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2YlhKa2IyOWlMM1JvY21WbExtcHpMMkpzYjJJdk5HWTFNak0yWVdNelpEWm1OREZrT1RBMFlXRTFPRFF3TVdJME1EVTFOR1U0Wm1Ka1kySXhOUzl6Y21NdmNtVnVaR1Z5WlhKekwzZGxZbWRzTDFkbFlrZE1VSEp2WjNKaGJYTXVhbk1qVERFNU1DMU1NVGt4WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nYm05eWJXRnNUV0Z3Vkhsd1pTQTlJRlJJVWtWRkxsUmhibWRsYm5SVGNHRmpaVTV2Y20xaGJFMWhjRHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWMmhsYmlCMGFHbHpJR2x6SUdCMGNuVmxZQ3dnZG1WeWRHVjRJR052Ykc5eWN5QjNhV3hzSUdKbElHbG5ibTl5WldRdVhHNGdJQ0FxSUdCMGNuVmxZQ0JpZVNCa1pXWmhkV3gwTGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZmFXZHViM0psVm1WeWRHVjRRMjlzYjNJZ1BTQjBjblZsTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJYYUdWdUlIUm9hWE1nYVhNZ1lIUnlkV1ZnTENCMlpYSjBaWGdnWTI5c2IzSnpJSGRwYkd3Z1ltVWdhV2R1YjNKbFpDNWNiaUFnSUNvZ1lIUnlkV1ZnSUdKNUlHUmxabUYxYkhRdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1oyVjBJR2xuYm05eVpWWmxjblJsZUVOdmJHOXlLQ2s2SUdKdmIyeGxZVzRnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5cFoyNXZjbVZXWlhKMFpYaERiMnh2Y2p0Y2JpQWdmVnh1SUNCd2RXSnNhV01nYzJWMElHbG5ibTl5WlZabGNuUmxlRU52Ykc5eUtIWmhiSFZsT2lCaWIyOXNaV0Z1S1NCN1hHNGdJQ0FnZEdocGN5NWZhV2R1YjNKbFZtVnlkR1Y0UTI5c2IzSWdQU0IyWVd4MVpUdGNibHh1SUNBZ0lIUm9hWE11Ym1WbFpITlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZmRqQkRiMjF3WVhSVGFHRmtaU0E5SUdaaGJITmxPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1Z5WlNCcGN5QmhJR3hwYm1VZ2IyWWdkR2hsSUhOb1lXUmxjaUJqWVd4c1pXUWdYQ0pqYjIxdFpXNTBJRzkxZENCcFppQjViM1VnZDJGdWRDQjBieUJRUWxJZ1lXSnpiMngxZEdWc2VWd2lJR2x1SUZaU1RUQXVNQ0JOVkc5dmJpNWNiaUFnSUNvZ1YyaGxiaUIwYUdseklHbHpJSFJ5ZFdVc0lIUm9aU0J0WVhSbGNtbGhiQ0JsYm1GaWJHVnpJSFJvWlNCc2FXNWxJSFJ2SUcxaGEyVWdhWFFnWTI5dGNHRjBhV0pzWlNCM2FYUm9JSFJvWlNCc1pXZGhZM2tnY21WdVpHVnlhVzVuSUc5bUlGWlNUUzVjYmlBZ0lDb2dWWE4xWVd4c2VTQnViM1FnY21WamIyMXRaVzVrWldRZ2RHOGdkSFZ5YmlCMGFHbHpJRzl1TGx4dUlDQWdLaUJnWm1Gc2MyVmdJR0o1SUdSbFptRjFiSFF1WEc0Z0lDQXFMMXh1SUNCblpYUWdkakJEYjIxd1lYUlRhR0ZrWlNncE9pQmliMjlzWldGdUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkakJEYjIxd1lYUlRhR0ZrWlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1Z5WlNCcGN5QmhJR3hwYm1VZ2IyWWdkR2hsSUhOb1lXUmxjaUJqWVd4c1pXUWdYQ0pqYjIxdFpXNTBJRzkxZENCcFppQjViM1VnZDJGdWRDQjBieUJRUWxJZ1lXSnpiMngxZEdWc2VWd2lJR2x1SUZaU1RUQXVNQ0JOVkc5dmJpNWNiaUFnSUNvZ1YyaGxiaUIwYUdseklHbHpJSFJ5ZFdVc0lIUm9aU0J0WVhSbGNtbGhiQ0JsYm1GaWJHVnpJSFJvWlNCc2FXNWxJSFJ2SUcxaGEyVWdhWFFnWTI5dGNHRjBhV0pzWlNCM2FYUm9JSFJvWlNCc1pXZGhZM2tnY21WdVpHVnlhVzVuSUc5bUlGWlNUUzVjYmlBZ0lDb2dWWE4xWVd4c2VTQnViM1FnY21WamIyMXRaVzVrWldRZ2RHOGdkSFZ5YmlCMGFHbHpJRzl1TGx4dUlDQWdLaUJnWm1Gc2MyVmdJR0o1SUdSbFptRjFiSFF1WEc0Z0lDQXFMMXh1SUNCelpYUWdkakJEYjIxd1lYUlRhR0ZrWlNoMk9pQmliMjlzWldGdUtTQjdYRzRnSUNBZ2RHaHBjeTVmZGpCRGIyMXdZWFJUYUdGa1pTQTlJSFk3WEc1Y2JpQWdJQ0IwYUdsekxtNWxaV1J6VlhCa1lYUmxJRDBnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMlJsWW5WblRXOWtaVG9nVFZSdmIyNU5ZWFJsY21saGJFUmxZblZuVFc5a1pTQTlJRTFVYjI5dVRXRjBaWEpwWVd4RVpXSjFaMDF2WkdVdVRtOXVaVHRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSR1ZpZFdjZ2JXOWtaU0JtYjNJZ2RHaGxJRzFoZEdWeWFXRnNMbHh1SUNBZ0tpQlpiM1VnWTJGdUlIWnBjM1ZoYkdsNlpTQnpaWFpsY21Gc0lHTnZiWEJ2Ym1WdWRITWdabTl5SUdScFlXZHViM05wY3lCMWMybHVaeUJrWldKMVp5QnRiMlJsTGx4dUlDQWdLbHh1SUNBZ0tpQlRaV1U2SUh0QWJHbHVheUJOVkc5dmJrMWhkR1Z5YVdGc1JHVmlkV2ROYjJSbGZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUdSbFluVm5UVzlrWlNncE9pQk5WRzl2YmsxaGRHVnlhV0ZzUkdWaWRXZE5iMlJsSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHVmlkV2ROYjJSbE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRVJsWW5WbklHMXZaR1VnWm05eUlIUm9aU0J0WVhSbGNtbGhiQzVjYmlBZ0lDb2dXVzkxSUdOaGJpQjJhWE4xWVd4cGVtVWdjMlYyWlhKaGJDQmpiMjF3YjI1bGJuUnpJR1p2Y2lCa2FXRm5ibTl6YVhNZ2RYTnBibWNnWkdWaWRXY2diVzlrWlM1Y2JpQWdJQ3BjYmlBZ0lDb2dVMlZsT2lCN1FHeHBibXNnVFZSdmIyNU5ZWFJsY21saGJFUmxZblZuVFc5a1pYMWNiaUFnSUNvdlhHNGdJSE5sZENCa1pXSjFaMDF2WkdVb2JUb2dUVlJ2YjI1TllYUmxjbWxoYkVSbFluVm5UVzlrWlNrZ2UxeHVJQ0FnSUhSb2FYTXVYMlJsWW5WblRXOWtaU0E5SUcwN1hHNWNiaUFnSUNCMGFHbHpMbTVsWldSelZYQmtZWFJsSUQwZ2RISjFaVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWDI5MWRHeHBibVZYYVdSMGFFMXZaR1U2SUUxVWIyOXVUV0YwWlhKcFlXeFBkWFJzYVc1bFYybGtkR2hOYjJSbElEMGdUVlJ2YjI1TllYUmxjbWxoYkU5MWRHeHBibVZYYVdSMGFFMXZaR1V1VG05dVpUdGNibHh1SUNCblpYUWdiM1YwYkdsdVpWZHBaSFJvVFc5a1pTZ3BPaUJOVkc5dmJrMWhkR1Z5YVdGc1QzVjBiR2x1WlZkcFpIUm9UVzlrWlNCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyOTFkR3hwYm1WWGFXUjBhRTF2WkdVN1hHNGdJSDFjYmlBZ2MyVjBJRzkxZEd4cGJtVlhhV1IwYUUxdlpHVW9iVG9nVFZSdmIyNU5ZWFJsY21saGJFOTFkR3hwYm1WWGFXUjBhRTF2WkdVcElIdGNiaUFnSUNCMGFHbHpMbDl2ZFhSc2FXNWxWMmxrZEdoTmIyUmxJRDBnYlR0Y2JseHVJQ0FnSUhSb2FYTXVibVZsWkhOVmNHUmhkR1VnUFNCMGNuVmxPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmYVhOUGRYUnNhVzVsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdaMlYwSUdselQzVjBiR2x1WlNncE9pQmliMjlzWldGdUlIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZhWE5QZFhSc2FXNWxPMXh1SUNCOVhHNGdJSE5sZENCcGMwOTFkR3hwYm1Vb1lqb2dZbTl2YkdWaGJpa2dlMXh1SUNBZ0lIUm9hWE11WDJselQzVjBiR2x1WlNBOUlHSTdYRzVjYmlBZ0lDQjBhR2x6TG01bFpXUnpWWEJrWVhSbElEMGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaV0ZrYjI1c2VTQmliMjlzWldGdUlIUm9ZWFFnYVc1a2FXTmhkR1Z6SUhSb2FYTWdhWE1nWVNCYlcwMVViMjl1VFdGMFpYSnBZV3hkWFM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdhWE5OVkc5dmJrMWhkR1Z5YVdGc0tDazZJSFJ5ZFdVZ2UxeHVJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNSeWRXTjBiM0lvY0dGeVlXMWxkR1Z5Y3pvZ1RWUnZiMjVOWVhSbGNtbGhiRkJoY21GdFpYUmxjbk1nUFNCN2ZTa2dlMXh1SUNBZ0lITjFjR1Z5S0hzZ2RtVnlkR1Y0VTJoaFpHVnlMQ0JtY21GbmJXVnVkRk5vWVdSbGNpQjlLVHRjYmx4dUlDQWdJQzh2SUc5MlpYSnlhV1JsSUdSbGNIUm9WM0pwZEdVZ2QybDBhQ0IwY21GdWMzQmhjbVZ1ZEZkcGRHaGFWM0pwZEdWY2JpQWdJQ0JwWmlBb2NHRnlZVzFsZEdWeWN5NTBjbUZ1YzNCaGNtVnVkRmRwZEdoYVYzSnBkR1VwSUh0Y2JpQWdJQ0FnSUhCaGNtRnRaWFJsY25NdVpHVndkR2hYY21sMFpTQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dUlDQWdJR1JsYkdWMFpTQndZWEpoYldWMFpYSnpMblJ5WVc1emNHRnlaVzUwVjJsMGFGcFhjbWwwWlR0Y2JseHVJQ0FnSUM4dklEMDlJR1Z1WVdKc2FXNW5JR0oxYm1Ob0lHOW1JSE4wZFdabUlEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVnh1SUNBZ0lIQmhjbUZ0WlhSbGNuTXVabTluSUQwZ2RISjFaVHRjYmlBZ0lDQndZWEpoYldWMFpYSnpMbXhwWjJoMGN5QTlJSFJ5ZFdVN1hHNGdJQ0FnY0dGeVlXMWxkR1Z5Y3k1amJHbHdjR2x1WnlBOUlIUnlkV1U3WEc1Y2JpQWdJQ0F2THlCRFQwMVFRVlE2SUhCeVpTMXlNVEk1WEc0Z0lDQWdMeThnVTJWbE9pQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZiWEprYjI5aUwzUm9jbVZsTG1wekwzQjFiR3d2TWpFM09EaGNiaUFnSUNCcFppQW9jR0Z5YzJWSmJuUW9WRWhTUlVVdVVrVldTVk5KVDA0c0lERXdLU0E4SURFeU9Ta2dlMXh1SUNBZ0lDQWdLSEJoY21GdFpYUmxjbk1nWVhNZ1lXNTVLUzV6YTJsdWJtbHVaeUE5SUNod1lYSmhiV1YwWlhKeklHRnpJR0Z1ZVNrdWMydHBibTVwYm1jZ2ZId2dabUZzYzJVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1EwOU5VRUZVT2lCd2NtVXRjakV6TVZ4dUlDQWdJQzh2SUZObFpUb2dhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMjF5Wkc5dllpOTBhSEpsWlM1cWN5OXdkV3hzTHpJeU1UWTVYRzRnSUNBZ2FXWWdLSEJoY25ObFNXNTBLRlJJVWtWRkxsSkZWa2xUU1U5T0xDQXhNQ2tnUENBeE16RXBJSHRjYmlBZ0lDQWdJQ2h3WVhKaGJXVjBaWEp6SUdGeklHRnVlU2t1Ylc5eWNHaFVZWEpuWlhSeklEMGdLSEJoY21GdFpYUmxjbk1nWVhNZ1lXNTVLUzV0YjNKd2FGUmhjbWRsZEhNZ2ZId2dabUZzYzJVN1hHNGdJQ0FnSUNBb2NHRnlZVzFsZEdWeWN5QmhjeUJoYm5rcExtMXZjbkJvVG05eWJXRnNjeUE5SUNod1lYSmhiV1YwWlhKeklHRnpJR0Z1ZVNrdWJXOXljR2hPYjNKdFlXeHpJSHg4SUdaaGJITmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRDA5SUhWdWFXWnZjbTF6SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFZ4dUlDQWdJSFJvYVhNdWRXNXBabTl5YlhNZ1BTQlVTRkpGUlM1VmJtbG1iM0p0YzFWMGFXeHpMbTFsY21kbEtGdGNiaUFnSUNBZ0lGUklVa1ZGTGxWdWFXWnZjbTF6VEdsaUxtTnZiVzF2Yml3Z0x5OGdiV0Z3WEc0Z0lDQWdJQ0JVU0ZKRlJTNVZibWxtYjNKdGMweHBZaTV1YjNKdFlXeHRZWEFzSUM4dklHNXZjbTFoYkUxaGNGeHVJQ0FnSUNBZ1ZFaFNSVVV1Vlc1cFptOXliWE5NYVdJdVpXMXBjM05wZG1WdFlYQXNJQzh2SUdWdGFYTnphWFpsVFdGd1hHNGdJQ0FnSUNCVVNGSkZSUzVWYm1sbWIzSnRjMHhwWWk1bWIyY3NYRzRnSUNBZ0lDQlVTRkpGUlM1VmJtbG1iM0p0YzB4cFlpNXNhV2RvZEhNc1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHeHBkRVpoWTNSdmNqb2dleUIyWVd4MVpUb2dibVYzSUZSSVVrVkZMa052Ykc5eUtERXVNQ3dnTVM0d0xDQXhMakFwSUgwc1hHNGdJQ0FnSUNBZ0lHMWhjRlYyVkhKaGJuTm1iM0p0T2lCN0lIWmhiSFZsT2lCdVpYY2dWRWhTUlVVdVRXRjBjbWw0TXlncElIMHNYRzRnSUNBZ0lDQWdJR052Ykc5eVFXeHdhR0U2SUhzZ2RtRnNkV1U2SURFdU1DQjlMRnh1SUNBZ0lDQWdJQ0J1YjNKdFlXeE5ZWEJWZGxSeVlXNXpabTl5YlRvZ2V5QjJZV3gxWlRvZ2JtVjNJRlJJVWtWRkxrMWhkSEpwZURNb0tTQjlMRnh1SUNBZ0lDQWdJQ0J6YUdGa1pVTnZiRzl5Um1GamRHOXlPaUI3SUhaaGJIVmxPaUJ1WlhjZ1ZFaFNSVVV1UTI5c2IzSW9NQzQ1Tnl3Z01DNDRNU3dnTUM0NE5pa2dmU3hjYmlBZ0lDQWdJQ0FnYzJoaFpHVk5kV3gwYVhCc2VWUmxlSFIxY21VNklIc2dkbUZzZFdVNklHNTFiR3dnZlN4Y2JpQWdJQ0FnSUNBZ2MyaGhaR1ZOZFd4MGFYQnNlVlJsZUhSMWNtVlZkbFJ5WVc1elptOXliVG9nZXlCMllXeDFaVG9nYm1WM0lGUklVa1ZGTGsxaGRISnBlRE1vS1NCOUxGeHVJQ0FnSUNBZ0lDQnphR0ZrYVc1blUyaHBablJHWVdOMGIzSTZJSHNnZG1Gc2RXVTZJREF1TUNCOUxGeHVJQ0FnSUNBZ0lDQnphR0ZrYVc1blUyaHBablJVWlhoMGRYSmxPaUI3SUhaaGJIVmxPaUJ1ZFd4c0lIMHNYRzRnSUNBZ0lDQWdJSE5vWVdScGJtZFRhR2xtZEZSbGVIUjFjbVZWZGxSeVlXNXpabTl5YlRvZ2V5QjJZV3gxWlRvZ2JtVjNJRlJJVWtWRkxrMWhkSEpwZURNb0tTQjlMRnh1SUNBZ0lDQWdJQ0J6YUdGa2FXNW5VMmhwWm5SVVpYaDBkWEpsVTJOaGJHVTZJSHNnZG1Gc2RXVTZJREV1TUNCOUxGeHVJQ0FnSUNBZ0lDQnphR0ZrYVc1blZHOXZibmxHWVdOMGIzSTZJSHNnZG1Gc2RXVTZJREF1T1NCOUxGeHVJQ0FnSUNBZ0lDQm5hVVZ4ZFdGc2FYcGhkR2x2YmtaaFkzUnZjam9nZXlCMllXeDFaVG9nTUM0NUlIMHNYRzRnSUNBZ0lDQWdJRzFoZEdOaGNFWmhZM1J2Y2pvZ2V5QjJZV3gxWlRvZ2JtVjNJRlJJVWtWRkxrTnZiRzl5S0RBdU1Dd2dNQzR3TENBd0xqQXBJSDBzWEc0Z0lDQWdJQ0FnSUcxaGRHTmhjRlJsZUhSMWNtVTZJSHNnZG1Gc2RXVTZJRzUxYkd3Z2ZTeGNiaUFnSUNBZ0lDQWdiV0YwWTJGd1ZHVjRkSFZ5WlZWMlZISmhibk5tYjNKdE9pQjdJSFpoYkhWbE9pQnVaWGNnVkVoU1JVVXVUV0YwY21sNE15Z3BJSDBzWEc0Z0lDQWdJQ0FnSUhCaGNtRnRaWFJ5YVdOU2FXMURiMnh2Y2taaFkzUnZjam9nZXlCMllXeDFaVG9nYm1WM0lGUklVa1ZGTGtOdmJHOXlLREF1TUN3Z01DNHdMQ0F3TGpBcElIMHNYRzRnSUNBZ0lDQWdJSEpwYlUxMWJIUnBjR3g1VkdWNGRIVnlaVG9nZXlCMllXeDFaVG9nYm5Wc2JDQjlMRnh1SUNBZ0lDQWdJQ0J5YVcxTmRXeDBhWEJzZVZSbGVIUjFjbVZWZGxSeVlXNXpabTl5YlRvZ2V5QjJZV3gxWlRvZ2JtVjNJRlJJVWtWRkxrMWhkSEpwZURNb0tTQjlMRnh1SUNBZ0lDQWdJQ0J5YVcxTWFXZG9kR2x1WjAxcGVFWmhZM1J2Y2pvZ2V5QjJZV3gxWlRvZ01DNHdJSDBzWEc0Z0lDQWdJQ0FnSUhCaGNtRnRaWFJ5YVdOU2FXMUdjbVZ6Ym1Wc1VHOTNaWEpHWVdOMGIzSTZJSHNnZG1Gc2RXVTZJREV1TUNCOUxGeHVJQ0FnSUNBZ0lDQndZWEpoYldWMGNtbGpVbWx0VEdsbWRFWmhZM1J2Y2pvZ2V5QjJZV3gxWlRvZ01DNHdJSDBzWEc0Z0lDQWdJQ0FnSUdWdGFYTnphWFpsT2lCN0lIWmhiSFZsT2lCdVpYY2dWRWhTUlVVdVEyOXNiM0lvTUM0d0xDQXdMakFzSURBdU1Da2dmU3hjYmlBZ0lDQWdJQ0FnWlcxcGMzTnBkbVZKYm5SbGJuTnBkSGs2SUhzZ2RtRnNkV1U2SURFdU1DQjlMRnh1SUNBZ0lDQWdJQ0JsYldsemMybDJaVTFoY0ZWMlZISmhibk5tYjNKdE9pQjdJSFpoYkhWbE9pQnVaWGNnVkVoU1JVVXVUV0YwY21sNE15Z3BJSDBzWEc0Z0lDQWdJQ0FnSUc5MWRHeHBibVZYYVdSMGFFMTFiSFJwY0d4NVZHVjRkSFZ5WlRvZ2V5QjJZV3gxWlRvZ2JuVnNiQ0I5TEZ4dUlDQWdJQ0FnSUNCdmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21WVmRsUnlZVzV6Wm05eWJUb2dleUIyWVd4MVpUb2dibVYzSUZSSVVrVkZMazFoZEhKcGVETW9LU0I5TEZ4dUlDQWdJQ0FnSUNCdmRYUnNhVzVsVjJsa2RHaEdZV04wYjNJNklIc2dkbUZzZFdVNklEQXVOU0I5TEZ4dUlDQWdJQ0FnSUNCdmRYUnNhVzVsUTI5c2IzSkdZV04wYjNJNklIc2dkbUZzZFdVNklHNWxkeUJVU0ZKRlJTNURiMnh2Y2lnd0xqQXNJREF1TUN3Z01DNHdLU0I5TEZ4dUlDQWdJQ0FnSUNCdmRYUnNhVzVsVEdsbmFIUnBibWROYVhoR1lXTjBiM0k2SUhzZ2RtRnNkV1U2SURFdU1DQjlMRnh1SUNBZ0lDQWdJQ0IxZGtGdWFXMWhkR2x2YmsxaGMydFVaWGgwZFhKbE9pQjdJSFpoYkhWbE9pQnVkV3hzSUgwc1hHNGdJQ0FnSUNBZ0lIVjJRVzVwYldGMGFXOXVUV0Z6YTFSbGVIUjFjbVZWZGxSeVlXNXpabTl5YlRvZ2V5QjJZV3gxWlRvZ2JtVjNJRlJJVWtWRkxrMWhkSEpwZURNb0tTQjlMRnh1SUNBZ0lDQWdJQ0IxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmhQWm1aelpYUTZJSHNnZG1Gc2RXVTZJREF1TUNCOUxGeHVJQ0FnSUNBZ0lDQjFka0Z1YVcxaGRHbHZibE5qY205c2JGbFBabVp6WlhRNklIc2dkbUZzZFdVNklEQXVNQ0I5TEZ4dUlDQWdJQ0FnSUNCMWRrRnVhVzFoZEdsdmJsSnZkR0YwYVc5dVVHaGhjMlU2SUhzZ2RtRnNkV1U2SURBdU1DQjlMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJSEJoY21GdFpYUmxjbk11ZFc1cFptOXliWE1zWEc0Z0lDQWdYU2s3WEc1Y2JpQWdJQ0F2THlBOVBTQm1hVzVoYkd4NUlHTnZiWEJwYkdVZ2RHaGxJSE5vWVdSbGNpQndjbTluY21GdElEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNiaUFnSUNCMGFHbHpMbk5sZEZaaGJIVmxjeWh3WVhKaGJXVjBaWEp6S1R0Y2JseHVJQ0FnSUM4dklEMDlJSFZ3Ykc5aFpDQjFibWxtYjNKdGN5QjBhR0YwSUc1bFpXUWdkRzhnZFhCc2IyRmtJRDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVnh1SUNBZ0lIUm9hWE11WDNWd2JHOWhaRlZ1YVdadmNtMXpWMjl5YTJGeWIzVnVaQ2dwTzF4dVhHNGdJQ0FnTHk4Z1BUMGdkWEJrWVhSbElITm9ZV1JsY2lCemRIVm1aaUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzRnSUNBZ2RHaHBjeTVqZFhOMGIyMVFjbTluY21GdFEyRmphR1ZMWlhrZ1BTQW9LU0E5UGx4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBdUxpNVBZbXBsWTNRdVpXNTBjbWxsY3loMGFHbHpMbDluWlc1bGNtRjBaVVJsWm1sdVpYTW9LU2t1YldGd0tDaGJkRzlyWlc0c0lHMWhZM0p2WFNrZ1BUNGdZQ1I3ZEc5clpXNTlPaVI3YldGamNtOTlZQ2tzWEc0Z0lDQWdJQ0FnSUhSb2FYTXViV0YwWTJGd1ZHVjRkSFZ5WlNBL0lHQnRZWFJqWVhCVVpYaDBkWEpsUTI5c2IzSlRjR0ZqWlRva2UyZGxkRlJsZUhSMWNtVkRiMnh2Y2xOd1lXTmxLSFJvYVhNdWJXRjBZMkZ3VkdWNGRIVnlaU2w5WUNBNklDY25MRnh1SUNBZ0lDQWdJQ0IwYUdsekxuTm9ZV1JsVFhWc2RHbHdiSGxVWlhoMGRYSmxYRzRnSUNBZ0lDQWdJQ0FnUHlCZ2MyaGhaR1ZOZFd4MGFYQnNlVlJsZUhSMWNtVkRiMnh2Y2xOd1lXTmxPaVI3WjJWMFZHVjRkSFZ5WlVOdmJHOXlVM0JoWTJVb2RHaHBjeTV6YUdGa1pVMTFiSFJwY0d4NVZHVjRkSFZ5WlNsOVlGeHVJQ0FnSUNBZ0lDQWdJRG9nSnljc1hHNGdJQ0FnSUNBZ0lIUm9hWE11Y21sdFRYVnNkR2x3YkhsVVpYaDBkWEpsSUQ4Z1lISnBiVTExYkhScGNHeDVWR1Y0ZEhWeVpVTnZiRzl5VTNCaFkyVTZKSHRuWlhSVVpYaDBkWEpsUTI5c2IzSlRjR0ZqWlNoMGFHbHpMbkpwYlUxMWJIUnBjR3g1VkdWNGRIVnlaU2w5WUNBNklDY25MRnh1SUNBZ0lDQWdYUzVxYjJsdUtDY3NKeWs3WEc1Y2JpQWdJQ0IwYUdsekxtOXVRbVZtYjNKbFEyOXRjR2xzWlNBOUlDaHphR0ZrWlhJcElEMCtJSHRjYmlBZ0lDQWdJR052Ym5OMElIUm9jbVZsVW1WMmFYTnBiMjRnUFNCd1lYSnpaVWx1ZENoVVNGSkZSUzVTUlZaSlUwbFBUaXdnTVRBcE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCa1pXWnBibVZ6SUQxY2JpQWdJQ0FnSUNBZ1QySnFaV04wTG1WdWRISnBaWE1vZXlBdUxpNTBhR2x6TGw5blpXNWxjbUYwWlVSbFptbHVaWE1vS1N3Z0xpNHVkR2hwY3k1a1pXWnBibVZ6SUgwcFhHNGdJQ0FnSUNBZ0lDQWdMbVpwYkhSbGNpZ29XM1J2YTJWdUxDQnRZV055YjEwcElEMCtJQ0VoYldGamNtOHBYRzRnSUNBZ0lDQWdJQ0FnTG0xaGNDZ29XM1J2YTJWdUxDQnRZV055YjEwcElEMCtJR0FqWkdWbWFXNWxJQ1I3ZEc5clpXNTlJQ1I3YldGamNtOTlZQ2xjYmlBZ0lDQWdJQ0FnSUNBdWFtOXBiaWduWEZ4dUp5a2dLeUFuWEZ4dUp6dGNibHh1SUNBZ0lDQWdMeThnTFMwZ1oyVnVaWEpoZEdVZ2MyaGhaR1Z5SUdOdlpHVWdMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFZ4dUlDQWdJQ0FnYzJoaFpHVnlMblpsY25SbGVGTm9ZV1JsY2lBOUlHUmxabWx1WlhNZ0t5QnphR0ZrWlhJdWRtVnlkR1Y0VTJoaFpHVnlPMXh1SUNBZ0lDQWdjMmhoWkdWeUxtWnlZV2R0Wlc1MFUyaGhaR1Z5SUQwZ1pHVm1hVzVsY3lBcklITm9ZV1JsY2k1bWNtRm5iV1Z1ZEZOb1lXUmxjanRjYmx4dUlDQWdJQ0FnTHk4Z0xTMGdZMjl0Y0dGMElDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExWeHVYRzRnSUNBZ0lDQXZMeUJEVDAxUVFWUTZJSEJ5WlMxeU1UVTBYRzRnSUNBZ0lDQXZMeUJVYUhKbFpTNXFjeUJ5TVRVMElISmxibUZ0WlhNZ2RHaGxJSE5vWVdSbGNpQmphSFZ1YXlBOFkyOXNiM0p6Y0dGalpWOW1jbUZuYldWdWRENGdkRzhnUEdWdVkyOWthVzVuYzE5bWNtRm5iV1Z1ZEQ1Y2JpQWdJQ0FnSUdsbUlDaDBhSEpsWlZKbGRtbHphVzl1SUR3Z01UVTBLU0I3WEc0Z0lDQWdJQ0FnSUhOb1lXUmxjaTVtY21GbmJXVnVkRk5vWVdSbGNpQTlJSE5vWVdSbGNpNW1jbUZuYldWdWRGTm9ZV1JsY2k1eVpYQnNZV05sS0Z4dUlDQWdJQ0FnSUNBZ0lDY2phVzVqYkhWa1pTQThZMjlzYjNKemNHRmpaVjltY21GbmJXVnVkRDRuTEZ4dUlDQWdJQ0FnSUNBZ0lDY2phVzVqYkhWa1pTQThaVzVqYjJScGJtZHpYMlp5WVdkdFpXNTBQaWNzWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDOHZJRU5QVFZCQlZEb2djSEpsTFhJeE16SmNiaUFnSUNBZ0lDOHZJRlJvY21WbExtcHpJSEl4TXpJZ2FXNTBjbTlrZFdObGN5QnVaWGNnYzJoaFpHVnlJR05vZFc1cmN5QThibTl5YldGc1gzQmhjbk5mWm5KaFoyMWxiblErSUdGdVpDQThZV3h3YUdGMFpYTjBYM0JoY25OZlpuSmhaMjFsYm5RK1hHNGdJQ0FnSUNCcFppQW9kR2h5WldWU1pYWnBjMmx2YmlBOElERXpNaWtnZTF4dUlDQWdJQ0FnSUNCemFHRmtaWEl1Wm5KaFoyMWxiblJUYUdGa1pYSWdQU0J6YUdGa1pYSXVabkpoWjIxbGJuUlRhR0ZrWlhJdWNtVndiR0ZqWlNnbkkybHVZMngxWkdVZ1BHNXZjbTFoYkY5d1lYSnpYMlp5WVdkdFpXNTBQaWNzSUNjbktUdGNiaUFnSUNBZ0lDQWdjMmhoWkdWeUxtWnlZV2R0Wlc1MFUyaGhaR1Z5SUQwZ2MyaGhaR1Z5TG1aeVlXZHRaVzUwVTJoaFpHVnlMbkpsY0d4aFkyVW9KeU5wYm1Oc2RXUmxJRHhoYkhCb1lYUmxjM1JmY0dGeWMxOW1jbUZuYldWdWRENG5MQ0FuSnlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlZjR1JoZEdVZ2RHaHBjeUJ0WVhSbGNtbGhiQzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUdSbGJIUmhJR1JsYkhSaFZHbHRaU0J6YVc1alpTQnNZWE4wSUhWd1pHRjBaVnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSFZ3WkdGMFpTaGtaV3gwWVRvZ2JuVnRZbVZ5S1RvZ2RtOXBaQ0I3WEc0Z0lDQWdkR2hwY3k1ZmRYQnNiMkZrVlc1cFptOXliWE5YYjNKcllYSnZkVzVrS0NrN1hHNGdJQ0FnZEdocGN5NWZkWEJrWVhSbFZWWkJibWx0WVhScGIyNG9aR1ZzZEdFcE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHTnZjSGtvYzI5MWNtTmxPaUIwYUdsektUb2dkR2hwY3lCN1hHNGdJQ0FnYzNWd1pYSXVZMjl3ZVNoemIzVnlZMlVwTzF4dUlDQWdJQzh2SUhWdWFXWnZjbTF6SUdGeVpTQmhiSEpsWVdSNUlHTnZjR2xsWkNCaGRDQjBhR2x6SUcxdmJXVnVkRnh1WEc0Z0lDQWdMeThnUW1WbmFXNXVhVzVuSUdaeWIyMGdjakV6TXl3Z2RXNXBabTl5YlNCMFpYaDBkWEpsY3lCM2FXeHNJR0psSUdOc2IyNWxaQ0JwYm5OMFpXRmtJRzltSUhKbFptVnlaVzVqWlZ4dUlDQWdJQzh2SUZObFpUb2dhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMjF5Wkc5dllpOTBhSEpsWlM1cWN5OWliRzlpTDJFNE9ERXpZbVV3TkdFNE5EbGlaREUxTldZM1kyWTJaakZpTWpOa09HVmxNbVV3Wm1JME9HSXZaWGhoYlhCc1pYTXZhbk50TDJ4dllXUmxjbk12UjB4VVJreHZZV1JsY2k1cWN5Tk1NekEwTjF4dUlDQWdJQzh2SUZObFpUb2dhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMjF5Wkc5dllpOTBhSEpsWlM1cWN5OWliRzlpTDJFNE9ERXpZbVV3TkdFNE5EbGlaREUxTldZM1kyWTJaakZpTWpOa09HVmxNbVV3Wm1JME9HSXZjM0pqTDNKbGJtUmxjbVZ5Y3k5emFHRmtaWEp6TDFWdWFXWnZjbTF6VlhScGJITXVhbk1qVERJeVhHNGdJQ0FnTHk4Z1ZHaHBjeUIzYVd4c0lHeGxZWFpsSUhSb1pXbHlJR0F1ZG1WeWMybHZibUFnZEc4Z1ltVWdZREJnWEc0Z0lDQWdMeThnWVc1a0lIUm9aWE5sSUhSbGVIUjFjbVZ6SUhkdmJpZDBJR0psSUhWd2JHOWhaR1ZrSUhSdklFZFFWVnh1SUNBZ0lDOHZJRmRsSUdGeVpTQm5iMmx1WnlCMGJ5QjNiM0pyWVhKdmRXNWtJSFJvYVhNZ2FXNGdhR1Z5WlZ4dUlDQWdJQzh2SUVrbmRtVWdiM0JsYm1Wa0lHRnVJR2x6YzNWbElHWnZjaUIwYUdsek9pQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZiWEprYjI5aUwzUm9jbVZsTG1wekwybHpjM1ZsY3k4eU1qY3hPRnh1SUNBZ0lIUm9hWE11YldGd0lEMGdjMjkxY21ObExtMWhjRHRjYmlBZ0lDQjBhR2x6TG01dmNtMWhiRTFoY0NBOUlITnZkWEpqWlM1dWIzSnRZV3hOWVhBN1hHNGdJQ0FnZEdocGN5NWxiV2x6YzJsMlpVMWhjQ0E5SUhOdmRYSmpaUzVsYldsemMybDJaVTFoY0R0Y2JpQWdJQ0IwYUdsekxuTm9ZV1JsVFhWc2RHbHdiSGxVWlhoMGRYSmxJRDBnYzI5MWNtTmxMbk5vWVdSbFRYVnNkR2x3YkhsVVpYaDBkWEpsTzF4dUlDQWdJSFJvYVhNdWMyaGhaR2x1WjFOb2FXWjBWR1Y0ZEhWeVpTQTlJSE52ZFhKalpTNXphR0ZrYVc1blUyaHBablJVWlhoMGRYSmxPMXh1SUNBZ0lIUm9hWE11YldGMFkyRndWR1Y0ZEhWeVpTQTlJSE52ZFhKalpTNXRZWFJqWVhCVVpYaDBkWEpsTzF4dUlDQWdJSFJvYVhNdWNtbHRUWFZzZEdsd2JIbFVaWGgwZFhKbElEMGdjMjkxY21ObExuSnBiVTExYkhScGNHeDVWR1Y0ZEhWeVpUdGNiaUFnSUNCMGFHbHpMbTkxZEd4cGJtVlhhV1IwYUUxMWJIUnBjR3g1VkdWNGRIVnlaU0E5SUhOdmRYSmpaUzV2ZFhSc2FXNWxWMmxrZEdoTmRXeDBhWEJzZVZSbGVIUjFjbVU3WEc0Z0lDQWdkR2hwY3k1MWRrRnVhVzFoZEdsdmJrMWhjMnRVWlhoMGRYSmxJRDBnYzI5MWNtTmxMblYyUVc1cGJXRjBhVzl1VFdGemExUmxlSFIxY21VN1hHNWNiaUFnSUNBdkx5QTlQU0JqYjNCNUlHMWxiV0psY25NZ1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmlBZ0lDQjBhR2x6TG01dmNtMWhiRTFoY0ZSNWNHVWdQU0J6YjNWeVkyVXVibTl5YldGc1RXRndWSGx3WlR0Y2JseHVJQ0FnSUhSb2FYTXVkWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFlVM0JsWldSR1lXTjBiM0lnUFNCemIzVnlZMlV1ZFhaQmJtbHRZWFJwYjI1VFkzSnZiR3hZVTNCbFpXUkdZV04wYjNJN1hHNGdJQ0FnZEdocGN5NTFka0Z1YVcxaGRHbHZibE5qY205c2JGbFRjR1ZsWkVaaFkzUnZjaUE5SUhOdmRYSmpaUzUxZGtGdWFXMWhkR2x2YmxOamNtOXNiRmxUY0dWbFpFWmhZM1J2Y2p0Y2JpQWdJQ0IwYUdsekxuVjJRVzVwYldGMGFXOXVVbTkwWVhScGIyNVRjR1ZsWkVaaFkzUnZjaUE5SUhOdmRYSmpaUzUxZGtGdWFXMWhkR2x2YmxKdmRHRjBhVzl1VTNCbFpXUkdZV04wYjNJN1hHNWNiaUFnSUNCMGFHbHpMbWxuYm05eVpWWmxjblJsZUVOdmJHOXlJRDBnYzI5MWNtTmxMbWxuYm05eVpWWmxjblJsZUVOdmJHOXlPMXh1WEc0Z0lDQWdkR2hwY3k1Mk1FTnZiWEJoZEZOb1lXUmxJRDBnYzI5MWNtTmxMbll3UTI5dGNHRjBVMmhoWkdVN1hHNGdJQ0FnZEdocGN5NWtaV0oxWjAxdlpHVWdQU0J6YjNWeVkyVXVaR1ZpZFdkTmIyUmxPMXh1SUNBZ0lIUm9hWE11YjNWMGJHbHVaVmRwWkhSb1RXOWtaU0E5SUhOdmRYSmpaUzV2ZFhSc2FXNWxWMmxrZEdoTmIyUmxPMXh1WEc0Z0lDQWdkR2hwY3k1cGMwOTFkR3hwYm1VZ1BTQnpiM1Z5WTJVdWFYTlBkWFJzYVc1bE8xeHVYRzRnSUNBZ0x5OGdQVDBnZFhCa1lYUmxJSE5vWVdSbGNpQnpkSFZtWmlBOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0Z0lDQWdkR2hwY3k1dVpXVmtjMVZ3WkdGMFpTQTlJSFJ5ZFdVN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJWY0dSaGRHVWdWVllnWVc1cGJXRjBhVzl1SUhOMFlYUmxMbHh1SUNBZ0tpQkpiblJsYm1SbFpDQjBieUJpWlNCallXeHNaV1FnZG1saElIdEFiR2x1YXlCMWNHUmhkR1Y5TGx4dUlDQWdLaUJBY0dGeVlXMGdaR1ZzZEdFZ1pHVnNkR0ZVYVcxbFhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOTFjR1JoZEdWVlZrRnVhVzFoZEdsdmJpaGtaV3gwWVRvZ2JuVnRZbVZ5S1RvZ2RtOXBaQ0I3WEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1MWRrRnVhVzFoZEdsdmJsTmpjbTlzYkZoUFptWnpaWFF1ZG1Gc2RXVWdLejBnWkdWc2RHRWdLaUIwYUdsekxuVjJRVzVwYldGMGFXOXVVMk55YjJ4c1dGTndaV1ZrUm1GamRHOXlPMXh1SUNBZ0lIUm9hWE11ZFc1cFptOXliWE11ZFhaQmJtbHRZWFJwYjI1VFkzSnZiR3haVDJabWMyVjBMblpoYkhWbElDczlJR1JsYkhSaElDb2dkR2hwY3k1MWRrRnVhVzFoZEdsdmJsTmpjbTlzYkZsVGNHVmxaRVpoWTNSdmNqdGNiaUFnSUNCMGFHbHpMblZ1YVdadmNtMXpMblYyUVc1cGJXRjBhVzl1VW05MFlYUnBiMjVRYUdGelpTNTJZV3gxWlNBclBTQmtaV3gwWVNBcUlIUm9hWE11ZFhaQmJtbHRZWFJwYjI1U2IzUmhkR2x2YmxOd1pXVmtSbUZqZEc5eU8xeHVYRzRnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjMDVsWldSVmNHUmhkR1VnUFNCMGNuVmxPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZWd2JHOWhaQ0IxYm1sbWIzSnRjeUIwYUdGMElHNWxaV1FnZEc4Z2RYQnNiMkZrSUdKMWRDQmtiMlZ6YmlkMElHRjFkRzl0WVhScFkyRnNiSGtnWW1WallYVnpaU0J2WmlCeVpXRnpiMjV6TGx4dUlDQWdLaUJKYm5SbGJtUmxaQ0IwYnlCaVpTQmpZV3hzWldRZ2RtbGhJSHRBYkdsdWF5QmpiMjV6ZEhKMVkzUnZjbjBnWVc1a0lIdEFiR2x1YXlCMWNHUmhkR1Y5TGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZmRYQnNiMkZrVlc1cFptOXliWE5YYjNKcllYSnZkVzVrS0NrNklIWnZhV1FnZTF4dUlDQWdJQzh2SUhkdmNtdGhjbTkxYm1RNklITnBibU5sSUc5d1lXTnBkSGtnYVhNZ1pHVm1hVzVsWkNCaGN5QmhJSEJ5YjNCbGNuUjVJR2x1SUZSSVVrVkZMazFoZEdWeWFXRnNYRzRnSUNBZ0x5OGdZVzVrSUdOaGJtNXZkQ0JpWlNCdmRtVnljbWxrWkdWdUlHRnpJR0Z1SUdGalkyVnpjMjl5TEZ4dUlDQWdJQzh2SUZkbElHRnlaU0JuYjJsdVp5QjBieUIxY0dSaGRHVWdiM0JoWTJsMGVTQm9aWEpsWEc0Z0lDQWdkR2hwY3k1MWJtbG1iM0p0Y3k1dmNHRmphWFI1TG5aaGJIVmxJRDBnZEdocGN5NXZjR0ZqYVhSNU8xeHVYRzRnSUNBZ0x5OGdkMjl5YTJGeWIzVnVaRG9nZEdWNGRIVnlaU0IwY21GdWMyWnZjbTF6SUdGeVpTQnViM1FnZFhCa1lYUmxaQ0JoZFhSdmJXRjBhV05oYkd4NVhHNGdJQ0FnZEdocGN5NWZkWEJrWVhSbFZHVjRkSFZ5WlUxaGRISnBlQ2gwYUdsekxuVnVhV1p2Y20xekxtMWhjQ3dnZEdocGN5NTFibWxtYjNKdGN5NXRZWEJWZGxSeVlXNXpabTl5YlNrN1hHNGdJQ0FnZEdocGN5NWZkWEJrWVhSbFZHVjRkSFZ5WlUxaGRISnBlQ2gwYUdsekxuVnVhV1p2Y20xekxtNXZjbTFoYkUxaGNDd2dkR2hwY3k1MWJtbG1iM0p0Y3k1dWIzSnRZV3hOWVhCVmRsUnlZVzV6Wm05eWJTazdYRzRnSUNBZ2RHaHBjeTVmZFhCa1lYUmxWR1Y0ZEhWeVpVMWhkSEpwZUNoMGFHbHpMblZ1YVdadmNtMXpMbVZ0YVhOemFYWmxUV0Z3TENCMGFHbHpMblZ1YVdadmNtMXpMbVZ0YVhOemFYWmxUV0Z3VlhaVWNtRnVjMlp2Y20wcE8xeHVJQ0FnSUhSb2FYTXVYM1Z3WkdGMFpWUmxlSFIxY21WTllYUnlhWGdvZEdocGN5NTFibWxtYjNKdGN5NXphR0ZrWlUxMWJIUnBjR3g1VkdWNGRIVnlaU3dnZEdocGN5NTFibWxtYjNKdGN5NXphR0ZrWlUxMWJIUnBjR3g1VkdWNGRIVnlaVlYyVkhKaGJuTm1iM0p0S1R0Y2JpQWdJQ0IwYUdsekxsOTFjR1JoZEdWVVpYaDBkWEpsVFdGMGNtbDRLSFJvYVhNdWRXNXBabTl5YlhNdWMyaGhaR2x1WjFOb2FXWjBWR1Y0ZEhWeVpTd2dkR2hwY3k1MWJtbG1iM0p0Y3k1emFHRmthVzVuVTJocFpuUlVaWGgwZFhKbFZYWlVjbUZ1YzJadmNtMHBPMXh1SUNBZ0lIUm9hWE11WDNWd1pHRjBaVlJsZUhSMWNtVk5ZWFJ5YVhnb2RHaHBjeTUxYm1sbWIzSnRjeTV0WVhSallYQlVaWGgwZFhKbExDQjBhR2x6TG5WdWFXWnZjbTF6TG0xaGRHTmhjRlJsZUhSMWNtVlZkbFJ5WVc1elptOXliU2s3WEc0Z0lDQWdkR2hwY3k1ZmRYQmtZWFJsVkdWNGRIVnlaVTFoZEhKcGVDaDBhR2x6TG5WdWFXWnZjbTF6TG5KcGJVMTFiSFJwY0d4NVZHVjRkSFZ5WlN3Z2RHaHBjeTUxYm1sbWIzSnRjeTV5YVcxTmRXeDBhWEJzZVZSbGVIUjFjbVZWZGxSeVlXNXpabTl5YlNrN1hHNGdJQ0FnZEdocGN5NWZkWEJrWVhSbFZHVjRkSFZ5WlUxaGRISnBlQ2hjYmlBZ0lDQWdJSFJvYVhNdWRXNXBabTl5YlhNdWIzVjBiR2x1WlZkcFpIUm9UWFZzZEdsd2JIbFVaWGgwZFhKbExGeHVJQ0FnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTV2ZFhSc2FXNWxWMmxrZEdoTmRXeDBhWEJzZVZSbGVIUjFjbVZWZGxSeVlXNXpabTl5YlN4Y2JpQWdJQ0FwTzF4dUlDQWdJSFJvYVhNdVgzVndaR0YwWlZSbGVIUjFjbVZOWVhSeWFYZ29kR2hwY3k1MWJtbG1iM0p0Y3k1MWRrRnVhVzFoZEdsdmJrMWhjMnRVWlhoMGRYSmxMQ0IwYUdsekxuVnVhV1p2Y20xekxuVjJRVzVwYldGMGFXOXVUV0Z6YTFSbGVIUjFjbVZWZGxSeVlXNXpabTl5YlNrN1hHNWNiaUFnSUNBdkx5QkRUMDFRUVZRZ2QyOXlhMkZ5YjNWdVpEb2djM1JoY25ScGJtY2dabkp2YlNCeU1UTXlMQ0JoYkhCb1lWUmxjM1FnWW1WamIyMWxjeUJoSUhWdWFXWnZjbTBnYVc1emRHVmhaQ0J2WmlCd2NtVndjbTlqWlhOemIzSWdkbUZzZFdWY2JpQWdJQ0JqYjI1emRDQjBhSEpsWlZKbGRtbHphVzl1SUQwZ2NHRnljMlZKYm5Rb1ZFaFNSVVV1VWtWV1NWTkpUMDRzSURFd0tUdGNibHh1SUNBZ0lHbG1JQ2gwYUhKbFpWSmxkbWx6YVc5dUlENDlJREV6TWlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUxYm1sbWIzSnRjeTVoYkhCb1lWUmxjM1F1ZG1Gc2RXVWdQU0IwYUdsekxtRnNjR2hoVkdWemREdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMblZ1YVdadmNtMXpUbVZsWkZWd1pHRjBaU0E5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJoSUcxaGNDQnZZbXBsWTNRZ2IyWWdjSEpsY0hKdlkyVnpjMjl5SUhSdmEyVnVJR0Z1WkNCdFlXTnlieUJ2WmlCMGFHVWdjMmhoWkdWeUlIQnliMmR5WVcwdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOW5aVzVsY21GMFpVUmxabWx1WlhNb0tUb2dleUJiZEc5clpXNDZJSE4wY21sdVoxMDZJR0p2YjJ4bFlXNGdmQ0J1ZFcxaVpYSWdmQ0J6ZEhKcGJtY2dmU0I3WEc0Z0lDQWdZMjl1YzNRZ2RHaHlaV1ZTWlhacGMybHZiaUE5SUhCaGNuTmxTVzUwS0ZSSVVrVkZMbEpGVmtsVFNVOU9MQ0F4TUNrN1hHNWNiaUFnSUNCamIyNXpkQ0IxYzJWVmRrbHVWbVZ5ZENBOUlIUm9hWE11YjNWMGJHbHVaVmRwWkhSb1RYVnNkR2x3YkhsVVpYaDBkWEpsSUNFOVBTQnVkV3hzTzF4dUlDQWdJR052Ym5OMElIVnpaVlYyU1c1R2NtRm5JRDFjYmlBZ0lDQWdJSFJvYVhNdWJXRndJQ0U5UFNCdWRXeHNJSHg4WEc0Z0lDQWdJQ0IwYUdsekxtVnRhWE56YVhabFRXRndJQ0U5UFNCdWRXeHNJSHg4WEc0Z0lDQWdJQ0IwYUdsekxuTm9ZV1JsVFhWc2RHbHdiSGxVWlhoMGRYSmxJQ0U5UFNCdWRXeHNJSHg4WEc0Z0lDQWdJQ0IwYUdsekxuTm9ZV1JwYm1kVGFHbG1kRlJsZUhSMWNtVWdJVDA5SUc1MWJHd2dmSHhjYmlBZ0lDQWdJSFJvYVhNdWNtbHRUWFZzZEdsd2JIbFVaWGgwZFhKbElDRTlQU0J1ZFd4c0lIeDhYRzRnSUNBZ0lDQjBhR2x6TG5WMlFXNXBiV0YwYVc5dVRXRnphMVJsZUhSMWNtVWdJVDA5SUc1MWJHdzdYRzVjYmlBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0x5OGdWR1Z0Y0c5eVlYSjVJR052YlhCaGRDQmhaMkZwYm5OMElITm9ZV1JsY2lCamFHRnVaMlVnUUNCVWFISmxaUzVxY3lCeU1USTJYRzRnSUNBZ0lDQXZMeUJUWldVNklDTXlNVEl3TlN3Z0l6SXhNekEzTENBak1qRXlPVGxjYmlBZ0lDQWdJRlJJVWtWRlgxWlNUVjlVU0ZKRlJWOVNSVlpKVTBsUFRqb2dkR2h5WldWU1pYWnBjMmx2Yml4Y2JseHVJQ0FnSUNBZ1QxVlVURWxPUlRvZ2RHaHBjeTVmYVhOUGRYUnNhVzVsTEZ4dUlDQWdJQ0FnVFZSUFQwNWZWVk5GWDFWV09pQjFjMlZWZGtsdVZtVnlkQ0I4ZkNCMWMyVlZka2x1Um5KaFp5d2dMeThnZDJVZ1kyRnVKM1FnZFhObElHQlZVMFZmVlZaZ0lDd2dhWFFnZDJsc2JDQmlaU0J5WldSbFptbHVaV1FnYVc0Z1YyVmlSMHhRY205bmNtRnRMbXB6WEc0Z0lDQWdJQ0JOVkU5UFRsOVZWbE5mVmtWU1ZFVllYMDlPVEZrNklIVnpaVlYyU1c1V1pYSjBJQ1ltSUNGMWMyVlZka2x1Um5KaFp5eGNiaUFnSUNBZ0lGWXdYME5QVFZCQlZGOVRTRUZFUlRvZ2RHaHBjeTVmZGpCRGIyMXdZWFJUYUdGa1pTeGNiaUFnSUNBZ0lGVlRSVjlUU0VGRVJVMVZURlJKVUV4WlZFVllWRlZTUlRvZ2RHaHBjeTV6YUdGa1pVMTFiSFJwY0d4NVZHVjRkSFZ5WlNBaFBUMGdiblZzYkN4Y2JpQWdJQ0FnSUZWVFJWOVRTRUZFU1U1SFUwaEpSbFJVUlZoVVZWSkZPaUIwYUdsekxuTm9ZV1JwYm1kVGFHbG1kRlJsZUhSMWNtVWdJVDA5SUc1MWJHd3NYRzRnSUNBZ0lDQlZVMFZmVFVGVVEwRlFWRVZZVkZWU1JUb2dkR2hwY3k1dFlYUmpZWEJVWlhoMGRYSmxJQ0U5UFNCdWRXeHNMRnh1SUNBZ0lDQWdWVk5GWDFKSlRVMVZURlJKVUV4WlZFVllWRlZTUlRvZ2RHaHBjeTV5YVcxTmRXeDBhWEJzZVZSbGVIUjFjbVVnSVQwOUlHNTFiR3dzWEc0Z0lDQWdJQ0JWVTBWZlQxVlVURWxPUlZkSlJGUklUVlZNVkVsUVRGbFVSVmhVVlZKRk9pQjBhR2x6TGw5cGMwOTFkR3hwYm1VZ0ppWWdkR2hwY3k1dmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21VZ0lUMDlJRzUxYkd3c1hHNGdJQ0FnSUNCVlUwVmZWVlpCVGtsTlFWUkpUMDVOUVZOTFZFVllWRlZTUlRvZ2RHaHBjeTUxZGtGdWFXMWhkR2x2YmsxaGMydFVaWGgwZFhKbElDRTlQU0J1ZFd4c0xGeHVJQ0FnSUNBZ1NVZE9UMUpGWDFaRlVsUkZXRjlEVDB4UFVqb2dkR2hwY3k1ZmFXZHViM0psVm1WeWRHVjRRMjlzYjNJZ1BUMDlJSFJ5ZFdVc1hHNGdJQ0FnSUNCRVJVSlZSMTlPVDFKTlFVdzZJSFJvYVhNdVgyUmxZblZuVFc5a1pTQTlQVDBnSjI1dmNtMWhiQ2NzWEc0Z0lDQWdJQ0JFUlVKVlIxOU1TVlJUU0VGRVJWSkJWRVU2SUhSb2FYTXVYMlJsWW5WblRXOWtaU0E5UFQwZ0oyeHBkRk5vWVdSbFVtRjBaU2NzWEc0Z0lDQWdJQ0JFUlVKVlIxOVZWam9nZEdocGN5NWZaR1ZpZFdkTmIyUmxJRDA5UFNBbmRYWW5MRnh1SUNBZ0lDQWdUMVZVVEVsT1JWOVhTVVJVU0Y5WFQxSk1SRG9nZEdocGN5NWZhWE5QZFhSc2FXNWxJQ1ltSUhSb2FYTXVYMjkxZEd4cGJtVlhhV1IwYUUxdlpHVWdQVDA5SUUxVWIyOXVUV0YwWlhKcFlXeFBkWFJzYVc1bFYybGtkR2hOYjJSbExsZHZjbXhrUTI5dmNtUnBibUYwWlhNc1hHNGdJQ0FnSUNCUFZWUk1TVTVGWDFkSlJGUklYMU5EVWtWRlRqcGNiaUFnSUNBZ0lDQWdkR2hwY3k1ZmFYTlBkWFJzYVc1bElDWW1JSFJvYVhNdVgyOTFkR3hwYm1WWGFXUjBhRTF2WkdVZ1BUMDlJRTFVYjI5dVRXRjBaWEpwWVd4UGRYUnNhVzVsVjJsa2RHaE5iMlJsTGxOamNtVmxia052YjNKa2FXNWhkR1Z6TEZ4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUY5MWNHUmhkR1ZVWlhoMGRYSmxUV0YwY21sNEtITnlZem9nVkVoU1JVVXVTVlZ1YVdadmNtMDhWRWhTUlVVdVZHVjRkSFZ5WlNCOElHNTFiR3crTENCa2MzUTZJRlJJVWtWRkxrbFZibWxtYjNKdFBGUklVa1ZGTGsxaGRISnBlRE0rS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdhV1lnS0hOeVl5NTJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSE55WXk1MllXeDFaUzV0WVhSeWFYaEJkWFJ2VlhCa1lYUmxLU0I3WEc0Z0lDQWdJQ0FnSUhOeVl5NTJZV3gxWlM1MWNHUmhkR1ZOWVhSeWFYZ29LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWkhOMExuWmhiSFZsTG1OdmNIa29jM0pqTG5aaGJIVmxMbTFoZEhKcGVDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNGlMQ0pwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNWNibU52Ym5OMElHTnZiRzl5VTNCaFkyVkZibU52WkdsdVowMWhjRG9nVW1WamIzSmtQQ2NuSUh3Z0ozTnlaMkluTENCaGJuaytJRDBnZTF4dUlDQW5Kem9nTXpBd01DeGNiaUFnYzNKbllqb2dNekF3TVN4Y2JuMDdYRzVjYmk4cUtseHVJQ29nUVNCamIyMXdZWFFnWm5WdVkzUnBiMjRnZEc4Z2MyVjBJSFJsZUhSMWNtVWdZMjlzYjNJZ2MzQmhZMlV1WEc0Z0tseHVJQ29nUTA5TlVFRlVPaUJ3Y21VdGNqRTFNbHh1SUNvZ1UzUmhjblJwYm1jZ1puSnZiU0JVYUhKbFpTNXFjeUJ5TVRVeUxDQmdkR1Y0ZEhWeVpTNWxibU52WkdsdVoyQWdhWE1nY21WdVlXMWxaQ0IwYnlCZ2RHVjRkSFZ5WlM1amIyeHZjbE53WVdObFlDNWNiaUFxSUZSb2FYTWdablZ1WTNScGIyNGdkMmxzYkNCb1lXNWtiR1VnZEdobElHTnZiV0Z3ZEM1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZEdWNGRIVnlaU0JVYUdVZ2RHVjRkSFZ5WlNCNWIzVWdkMkZ1ZENCMGJ5QnpaWFFnZEdobElHTnZiRzl5SUhOd1lXTmxJSFJ2WEc0Z0tpQkFjR0Z5WVcwZ1kyOXNiM0pUY0dGalpTQlVhR1VnWTI5c2IzSWdjM0JoWTJVZ2VXOTFJSGRoYm5RZ2RHOGdjMlYwSUhSdklIUm9aU0IwWlhoMGRYSmxYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCelpYUlVaWGgwZFhKbFEyOXNiM0pUY0dGalpTaDBaWGgwZFhKbE9pQlVTRkpGUlM1VVpYaDBkWEpsTENCamIyeHZjbE53WVdObE9pQW5KeUI4SUNkemNtZGlKeWs2SUhadmFXUWdlMXh1SUNCcFppQW9jR0Z5YzJWSmJuUW9WRWhTUlVVdVVrVldTVk5KVDA0c0lERXdLU0ErUFNBeE5USXBJSHRjYmlBZ0lDQjBaWGgwZFhKbExtTnZiRzl5VTNCaFkyVWdQU0JqYjJ4dmNsTndZV05sTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNoMFpYaDBkWEpsSUdGeklHRnVlU2t1Wlc1amIyUnBibWNnUFNCamIyeHZjbE53WVdObFJXNWpiMlJwYm1kTllYQmJZMjlzYjNKVGNHRmpaVjA3WEc0Z0lIMWNibjFjYmlJc0ltbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0I3SUVkTVZFWlFZWEp6WlhJZ2ZTQm1jbTl0SUNkMGFISmxaUzlsZUdGdGNHeGxjeTlxYzIwdmJHOWhaR1Z5Y3k5SFRGUkdURzloWkdWeUxtcHpKenRjYm1sdGNHOXlkQ0I3SUUxVWIyOXVUV0YwWlhKcFlXeFFZWEpoYldWMFpYSnpJSDBnWm5KdmJTQW5MaTlOVkc5dmJrMWhkR1Z5YVdGc1VHRnlZVzFsZEdWeWN5YzdYRzVwYlhCdmNuUWdleUJ6WlhSVVpYaDBkWEpsUTI5c2IzSlRjR0ZqWlNCOUlHWnliMjBnSnk0dmRYUnBiSE12YzJWMFZHVjRkSFZ5WlVOdmJHOXlVM0JoWTJVbk8xeHVYRzR2S2lwY2JpQXFJRTFoZEdWeWFXRnNVR0Z5WVcxbGRHVnljeUJvWVhSbGN5QmdkVzVrWldacGJtVmtZQzRnVkdocGN5Qm9aV3h3WlhJZ1lYVjBiMjFoZEdsallXeHNlU0J5WldwbFkzUnpJR0Z6YzJsbmJpQnZaaUIwYUdWelpTQmdkVzVrWldacGJtVmtZQzVjYmlBcUlFbDBJR0ZzYzI4Z2FHRnVaR3hsY3lCaGMzbHVZMmh5YjI1dmRYTWdjSEp2WTJWemN5QnZaaUIwWlhoMGRYSmxjeTVjYmlBcUlFMWhhMlVnYzNWeVpTQmhkMkZwZENCbWIzSWdlMEJzYVc1cklFZE1WRVpOVkc5dmJrMWhkR1Z5YVdGc1VHRnlZVzF6UVhOemFXZHVTR1ZzY0dWeUxuQmxibVJwYm1kOUxseHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdSMHhVUmsxVWIyOXVUV0YwWlhKcFlXeFFZWEpoYlhOQmMzTnBaMjVJWld4d1pYSWdlMXh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUY5d1lYSnpaWEk2SUVkTVZFWlFZWEp6WlhJN1hHNGdJSEJ5YVhaaGRHVWdYMjFoZEdWeWFXRnNVR0Z5WVcxek9pQk5WRzl2YmsxaGRHVnlhV0ZzVUdGeVlXMWxkR1Z5Y3p0Y2JpQWdjSEpwZG1GMFpTQmZjR1Z1WkdsdVozTTZJRkJ5YjIxcGMyVThZVzU1UGx0ZE8xeHVYRzRnSUhCMVlteHBZeUJuWlhRZ2NHVnVaR2x1WnlncE9pQlFjbTl0YVhObFBIVnVhMjV2ZDI0K0lIdGNiaUFnSUNCeVpYUjFjbTRnVUhKdmJXbHpaUzVoYkd3b2RHaHBjeTVmY0dWdVpHbHVaM01wTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtIQmhjbk5sY2pvZ1IweFVSbEJoY25ObGNpd2diV0YwWlhKcFlXeFFZWEpoYlhNNklFMVViMjl1VFdGMFpYSnBZV3hRWVhKaGJXVjBaWEp6S1NCN1hHNGdJQ0FnZEdocGN5NWZjR0Z5YzJWeUlEMGdjR0Z5YzJWeU8xeHVJQ0FnSUhSb2FYTXVYMjFoZEdWeWFXRnNVR0Z5WVcxeklEMGdiV0YwWlhKcFlXeFFZWEpoYlhNN1hHNGdJQ0FnZEdocGN5NWZjR1Z1WkdsdVozTWdQU0JiWFR0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCaGMzTnBaMjVRY21sdGFYUnBkbVU4VkNCbGVIUmxibVJ6SUd0bGVXOW1JRTFVYjI5dVRXRjBaWEpwWVd4UVlYSmhiV1YwWlhKelBpaHJaWGs2SUZRc0lIWmhiSFZsT2lCTlZHOXZiazFoZEdWeWFXRnNVR0Z5WVcxbGRHVnljMXRVWFNrNklIWnZhV1FnZTF4dUlDQWdJR2xtSUNoMllXeDFaU0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOXRZWFJsY21saGJGQmhjbUZ0YzF0clpYbGRJRDBnZG1Gc2RXVTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHRnpjMmxuYmtOdmJHOXlQRlFnWlhoMFpXNWtjeUJyWlhsdlppQk5WRzl2YmsxaGRHVnlhV0ZzVUdGeVlXMWxkR1Z5Y3o0b1hHNGdJQ0FnYTJWNU9pQlVMRnh1SUNBZ0lIWmhiSFZsT2lCdWRXMWlaWEpiWFNCOElIVnVaR1ZtYVc1bFpDeGNiaUFnSUNCamIyNTJaWEowVTFKSFFsUnZUR2x1WldGeVB6b2dZbTl2YkdWaGJpeGNiaUFnS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdhV1lnS0haaGJIVmxJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSFJvYVhNdVgyMWhkR1Z5YVdGc1VHRnlZVzF6VzJ0bGVWMGdQU0J1WlhjZ1ZFaFNSVVV1UTI5c2IzSW9LUzVtY205dFFYSnlZWGtvZG1Gc2RXVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1kyOXVkbVZ5ZEZOU1IwSlViMHhwYm1WaGNpa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxsOXRZWFJsY21saGJGQmhjbUZ0YzF0clpYbGRMbU52Ym5abGNuUlRVa2RDVkc5TWFXNWxZWElvS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWVhONWJtTWdZWE56YVdkdVZHVjRkSFZ5WlR4VUlHVjRkR1Z1WkhNZ2EyVjViMllnVFZSdmIyNU5ZWFJsY21saGJGQmhjbUZ0WlhSbGNuTStLRnh1SUNBZ0lHdGxlVG9nVkN4Y2JpQWdJQ0IwWlhoMGRYSmxPaUI3SUdsdVpHVjRPaUJ1ZFcxaVpYSWdmU0I4SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0JwYzBOdmJHOXlWR1Y0ZEhWeVpUb2dZbTl2YkdWaGJpeGNiaUFnS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZMjl1YzNRZ2NISnZiV2x6WlNBOUlDaGhjM2x1WXlBb0tTQTlQaUI3WEc0Z0lDQWdJQ0JwWmlBb2RHVjRkSFZ5WlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lHRjNZV2wwSUhSb2FYTXVYM0JoY25ObGNpNWhjM05wWjI1VVpYaDBkWEpsS0hSb2FYTXVYMjFoZEdWeWFXRnNVR0Z5WVcxekxDQnJaWGtzSUhSbGVIUjFjbVVwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzBOdmJHOXlWR1Y0ZEhWeVpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhObGRGUmxlSFIxY21WRGIyeHZjbE53WVdObEtIUm9hWE11WDIxaGRHVnlhV0ZzVUdGeVlXMXpXMnRsZVYwc0lDZHpjbWRpSnlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOUtTZ3BPMXh1WEc0Z0lDQWdkR2hwY3k1ZmNHVnVaR2x1WjNNdWNIVnphQ2h3Y205dGFYTmxLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQndjbTl0YVhObE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHRnplVzVqSUdGemMybG5ibFJsZUhSMWNtVkNlVWx1WkdWNFBGUWdaWGgwWlc1a2N5QnJaWGx2WmlCTlZHOXZiazFoZEdWeWFXRnNVR0Z5WVcxbGRHVnljejRvWEc0Z0lDQWdhMlY1T2lCVUxGeHVJQ0FnSUhSbGVIUjFjbVZKYm1SbGVEb2diblZ0WW1WeUlId2dkVzVrWldacGJtVmtMRnh1SUNBZ0lHbHpRMjlzYjNKVVpYaDBkWEpsT2lCaWIyOXNaV0Z1TEZ4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWhjM05wWjI1VVpYaDBkWEpsS0d0bGVTd2dkR1Y0ZEhWeVpVbHVaR1Y0SUNFOUlHNTFiR3dnUHlCN0lHbHVaR1Y0T2lCMFpYaDBkWEpsU1c1a1pYZ2dmU0E2SUhWdVpHVm1hVzVsWkN3Z2FYTkRiMnh2Y2xSbGVIUjFjbVVwTzF4dUlDQjlYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnS2lCaGN5QldNVTFVYjI5dVUyTm9aVzFoSUdaeWIyMGdKMEJ3YVhocGRpOTBlWEJsY3kxMmNtMWpMVzFoZEdWeWFXRnNjeTF0ZEc5dmJpMHhMakFuTzF4dWFXMXdiM0owSUhSNWNHVWdleUJIVEZSR0xDQkhURlJHVEc5aFpHVnlVR3gxWjJsdUxDQkhURlJHVUdGeWMyVnlJSDBnWm5KdmJTQW5kR2h5WldVdlpYaGhiWEJzWlhNdmFuTnRMMnh2WVdSbGNuTXZSMHhVUmt4dllXUmxjaTVxY3ljN1hHNXBiWEJ2Y25RZ2V5Qk5WRzl2YmsxaGRHVnlhV0ZzSUgwZ1puSnZiU0FuTGk5TlZHOXZiazFoZEdWeWFXRnNKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dUVlJ2YjI1TllYUmxjbWxoYkZCaGNtRnRaWFJsY25NZ2ZTQm1jbTl0SUNjdUwwMVViMjl1VFdGMFpYSnBZV3hRWVhKaGJXVjBaWEp6Snp0Y2JtbHRjRzl5ZENCN0lFMVViMjl1VFdGMFpYSnBZV3hQZFhSc2FXNWxWMmxrZEdoTmIyUmxJSDBnWm5KdmJTQW5MaTlOVkc5dmJrMWhkR1Z5YVdGc1QzVjBiR2x1WlZkcFpIUm9UVzlrWlNjN1hHNXBiWEJ2Y25RZ2V5QkhURlJHVFZSdmIyNU5ZWFJsY21saGJGQmhjbUZ0YzBGemMybG5ia2hsYkhCbGNpQjlJR1p5YjIwZ0p5NHZSMHhVUmsxVWIyOXVUV0YwWlhKcFlXeFFZWEpoYlhOQmMzTnBaMjVJWld4d1pYSW5PMXh1YVcxd2IzSjBJSHNnVFZSdmIyNU5ZWFJsY21saGJFeHZZV1JsY2xCc2RXZHBiazl3ZEdsdmJuTWdmU0JtY205dElDY3VMMDFVYjI5dVRXRjBaWEpwWVd4TWIyRmtaWEpRYkhWbmFXNVBjSFJwYjI1ekp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1RWUnZiMjVOWVhSbGNtbGhiRVJsWW5WblRXOWtaU0I5SUdaeWIyMGdKeTR2VFZSdmIyNU5ZWFJsY21saGJFUmxZblZuVFc5a1pTYzdYRzVwYlhCdmNuUWdleUJIVEZSR0lHRnpJRWRNVkVaVFkyaGxiV0VnZlNCbWNtOXRJQ2RBWjJ4MFppMTBjbUZ1YzJadmNtMHZZMjl5WlNjN1hHNWNiaThxS2x4dUlDb2dVRzl6YzJsaWJHVWdjM0JsWXlCMlpYSnphVzl1Y3lCcGRDQnlaV052WjI1cGVtVnpMbHh1SUNvdlhHNWpiMjV6ZENCUVQxTlRTVUpNUlY5VFVFVkRYMVpGVWxOSlQwNVRJRDBnYm1WM0lGTmxkQ2hiSnpFdU1DY3NJQ2N4TGpBdFltVjBZU2RkS1R0Y2JseHVaWGh3YjNKMElHTnNZWE56SUUxVWIyOXVUV0YwWlhKcFlXeE1iMkZrWlhKUWJIVm5hVzRnYVcxd2JHVnRaVzUwY3lCSFRGUkdURzloWkdWeVVHeDFaMmx1SUh0Y2JpQWdjSFZpYkdsaklITjBZWFJwWXlCRldGUkZUbE5KVDA1ZlRrRk5SU0E5SUNkV1VrMURYMjFoZEdWeWFXRnNjMTl0ZEc5dmJpYzdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9hWE1nZG1Gc2RXVWdkMmxzYkNCaVpTQmhaR1JsWkNCMGJ5QmdjbVZ1WkdWeVQzSmtaWEpnSUc5bUlHVjJaWEo1SUcxbGMyaGxjeUIzYUc4Z2FHRjJaU0JOWVhSbGNtbGhiSE5OVkc5dmJpNWNiaUFnSUNvZ1ZHaGxJR1pwYm1Gc0lISmxibVJsY2s5eVpHVnlJSGRwYkd3Z1ltVWdjM1Z0SUc5bUlIUm9hWE1nWUhKbGJtUmxjazl5WkdWeVQyWm1jMlYwWUNCaGJtUWdZSEpsYm1SbGNsRjFaWFZsVDJabWMyVjBUblZ0WW1WeVlDQm1iM0lnWldGamFDQnRZWFJsY21saGJITXVYRzRnSUNBcUlHQXdZQ0JpZVNCa1pXWmhkV3gwTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKbGJtUmxjazl5WkdWeVQyWm1jMlYwT2lCdWRXMWlaWEk3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlhKbElHbHpJR0VnYkdsdVpTQnZaaUIwYUdVZ2MyaGhaR1Z5SUdOaGJHeGxaQ0JjSW1OdmJXMWxiblFnYjNWMElHbG1JSGx2ZFNCM1lXNTBJSFJ2SUZCQ1VpQmhZbk52YkhWMFpXeDVYQ0lnYVc0Z1ZsSk5NQzR3SUUxVWIyOXVMbHh1SUNBZ0tpQlhhR1Z1SUhSb2FYTWdhWE1nZEhKMVpTd2dkR2hsSUcxaGRHVnlhV0ZzSUdWdVlXSnNaWE1nZEdobElHeHBibVVnZEc4Z2JXRnJaU0JwZENCamIyMXdZWFJwWW14bElIZHBkR2dnZEdobElHeGxaMkZqZVNCeVpXNWtaWEpwYm1jZ2IyWWdWbEpOTGx4dUlDQWdLaUJWYzNWaGJHeDVJRzV2ZENCeVpXTnZiVzFsYm1SbFpDQjBieUIwZFhKdUlIUm9hWE1nYjI0dVhHNGdJQ0FxSUdCbVlXeHpaV0FnWW5rZ1pHVm1ZWFZzZEM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCMk1FTnZiWEJoZEZOb1lXUmxPaUJpYjI5c1pXRnVPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkVaV0oxWnlCdGIyUmxJR1p2Y2lCMGFHVWdiV0YwWlhKcFlXd3VYRzRnSUNBcUlGbHZkU0JqWVc0Z2RtbHpkV0ZzYVhwbElITmxkbVZ5WVd3Z1kyOXRjRzl1Wlc1MGN5Qm1iM0lnWkdsaFoyNXZjMmx6SUhWemFXNW5JR1JsWW5WbklHMXZaR1V1WEc0Z0lDQXFYRzRnSUNBcUlGTmxaVG9nZTBCc2FXNXJJRTFVYjI5dVRXRjBaWEpwWVd4RVpXSjFaMDF2WkdWOVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1pHVmlkV2ROYjJSbE9pQk5WRzl2YmsxaGRHVnlhV0ZzUkdWaWRXZE5iMlJsTzF4dVhHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQndZWEp6WlhJNklFZE1WRVpRWVhKelpYSTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFeHZZV1JsWkNCdFlYUmxjbWxoYkhNZ2QybHNiQ0JpWlNCemRHOXlaV1FnYVc0Z2RHaHBjeUJ6WlhRdVhHNGdJQ0FxSUZkcGJHd2dZbVVnZEhKaGJuTm1aWEp5WldRZ2FXNTBieUJnWjJ4MFppNTFjMlZ5UkdGMFlTNTJjbTFOVkc5dmJrMWhkR1Z5YVdGc2MyQWdhVzRnZTBCc2FXNXJJR0ZtZEdWeVVtOXZkSDB1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUY5dFZHOXZiazFoZEdWeWFXRnNVMlYwT2lCVFpYUThUVlJ2YjI1TllYUmxjbWxoYkQ0N1hHNWNiaUFnY0hWaWJHbGpJR2RsZENCdVlXMWxLQ2s2SUhOMGNtbHVaeUI3WEc0Z0lDQWdjbVYwZFhKdUlFMVViMjl1VFdGMFpYSnBZV3hNYjJGa1pYSlFiSFZuYVc0dVJWaFVSVTVUU1U5T1gwNUJUVVU3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2NHRnljMlZ5T2lCSFRGUkdVR0Z5YzJWeUxDQnZjSFJwYjI1ek9pQk5WRzl2YmsxaGRHVnlhV0ZzVEc5aFpHVnlVR3gxWjJsdVQzQjBhVzl1Y3lBOUlIdDlLU0I3WEc0Z0lDQWdkR2hwY3k1d1lYSnpaWElnUFNCd1lYSnpaWEk3WEc1Y2JpQWdJQ0IwYUdsekxuSmxibVJsY2s5eVpHVnlUMlptYzJWMElEMGdiM0IwYVc5dWN5NXlaVzVrWlhKUGNtUmxjazltWm5ObGRDQS9QeUF3TzF4dUlDQWdJSFJvYVhNdWRqQkRiMjF3WVhSVGFHRmtaU0E5SUc5d2RHbHZibk11ZGpCRGIyMXdZWFJUYUdGa1pTQS9QeUJtWVd4elpUdGNiaUFnSUNCMGFHbHpMbVJsWW5WblRXOWtaU0E5SUc5d2RHbHZibk11WkdWaWRXZE5iMlJsSUQ4L0lDZHViMjVsSnp0Y2JseHVJQ0FnSUhSb2FYTXVYMjFVYjI5dVRXRjBaWEpwWVd4VFpYUWdQU0J1WlhjZ1UyVjBLQ2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWVhONWJtTWdZbVZtYjNKbFVtOXZkQ2dwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQjBhR2x6TGw5eVpXMXZkbVZWYm14cGRFVjRkR1Z1YzJsdmJrbG1UVlJ2YjI1RmVHbHpkSE1vS1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCaGMzbHVZeUJoWm5SbGNsSnZiM1FvWjJ4MFpqb2dSMHhVUmlrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR2RzZEdZdWRYTmxja1JoZEdFdWRuSnRUVlJ2YjI1TllYUmxjbWxoYkhNZ1BTQkJjbkpoZVM1bWNtOXRLSFJvYVhNdVgyMVViMjl1VFdGMFpYSnBZV3hUWlhRcE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHZGxkRTFoZEdWeWFXRnNWSGx3WlNodFlYUmxjbWxoYkVsdVpHVjRPaUJ1ZFcxaVpYSXBPaUIwZVhCbGIyWWdWRWhTUlVVdVRXRjBaWEpwWVd3Z2ZDQnVkV3hzSUh0Y2JpQWdJQ0JqYjI1emRDQjJNVVY0ZEdWdWMybHZiaUE5SUhSb2FYTXVYMmRsZEUxVWIyOXVSWGgwWlc1emFXOXVLRzFoZEdWeWFXRnNTVzVrWlhncE8xeHVJQ0FnSUdsbUlDaDJNVVY0ZEdWdWMybHZiaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRTFVYjI5dVRXRjBaWEpwWVd3N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1pYaDBaVzVrVFdGMFpYSnBZV3hRWVhKaGJYTW9iV0YwWlhKcFlXeEpibVJsZURvZ2JuVnRZbVZ5TENCdFlYUmxjbWxoYkZCaGNtRnRjem9nVFZSdmIyNU5ZWFJsY21saGJGQmhjbUZ0WlhSbGNuTXBPaUJRY205dGFYTmxQR0Z1ZVQ0Z2ZDQnVkV3hzSUh0Y2JpQWdJQ0JqYjI1emRDQmxlSFJsYm5OcGIyNGdQU0IwYUdsekxsOW5aWFJOVkc5dmJrVjRkR1Z1YzJsdmJpaHRZWFJsY21saGJFbHVaR1Y0S1R0Y2JpQWdJQ0JwWmlBb1pYaDBaVzV6YVc5dUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWlhoMFpXNWtUV0YwWlhKcFlXeFFZWEpoYlhNb1pYaDBaVzV6YVc5dUxDQnRZWFJsY21saGJGQmhjbUZ0Y3lrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ1lYTjVibU1nYkc5aFpFMWxjMmdvYldWemFFbHVaR1Y0T2lCdWRXMWlaWElwT2lCUWNtOXRhWE5sUEZSSVVrVkZMa2R5YjNWd0lId2dWRWhTUlVVdVRXVnphQ0I4SUZSSVVrVkZMbE5yYVc1dVpXUk5aWE5vUGlCN1hHNGdJQ0FnWTI5dWMzUWdjR0Z5YzJWeUlEMGdkR2hwY3k1d1lYSnpaWEk3WEc0Z0lDQWdZMjl1YzNRZ2FuTnZiaUE5SUhCaGNuTmxjaTVxYzI5dUlHRnpJRWRNVkVaVFkyaGxiV0V1U1VkTVZFWTdYRzVjYmlBZ0lDQmpiMjV6ZENCdFpYTm9SR1ZtSUQwZ2FuTnZiaTV0WlhOb1pYTS9MbHR0WlhOb1NXNWtaWGhkTzF4dVhHNGdJQ0FnYVdZZ0tHMWxjMmhFWldZZ1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCZ1RWUnZiMjVOWVhSbGNtbGhiRXh2WVdSbGNsQnNkV2RwYmpvZ1FYUjBaVzF3ZENCMGJ5QjFjMlVnYldWemFHVnpXeVI3YldWemFFbHVaR1Y0ZlYwZ2IyWWdaMnhVUmlCaWRYUWdkR2hsSUcxbGMyZ2daRzlsYzI0bmRDQmxlR2x6ZEdBc1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSEJ5YVcxcGRHbDJaWE5FWldZZ1BTQnRaWE5vUkdWbUxuQnlhVzFwZEdsMlpYTTdYRzVjYmlBZ0lDQmpiMjV6ZENCdFpYTm9UM0pIY205MWNDQTlJR0YzWVdsMElIQmhjbk5sY2k1c2IyRmtUV1Z6YUNodFpYTm9TVzVrWlhncE8xeHVYRzRnSUNBZ2FXWWdLSEJ5YVcxcGRHbDJaWE5FWldZdWJHVnVaM1JvSUQwOVBTQXhLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnRaWE5vSUQwZ2JXVnphRTl5UjNKdmRYQWdZWE1nVkVoU1JVVXVUV1Z6YUR0Y2JpQWdJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNTVzVrWlhnZ1BTQndjbWx0YVhScGRtVnpSR1ZtV3pCZExtMWhkR1Z5YVdGc08xeHVYRzRnSUNBZ0lDQnBaaUFvYldGMFpYSnBZV3hKYm1SbGVDQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgzTmxkSFZ3VUhKcGJXbDBhWFpsS0cxbGMyZ3NJRzFoZEdWeWFXRnNTVzVrWlhncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQm5jbTkxY0NBOUlHMWxjMmhQY2tkeWIzVndJR0Z6SUZSSVVrVkZMa2R5YjNWd08xeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQndjbWx0YVhScGRtVnpSR1ZtTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHMWxjMmdnUFNCbmNtOTFjQzVqYUdsc1pISmxibHRwWFNCaGN5QlVTRkpGUlM1TlpYTm9PMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRZWFJsY21saGJFbHVaR1Y0SUQwZ2NISnBiV2wwYVhabGMwUmxabHRwWFM1dFlYUmxjbWxoYkR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvYldGMFpYSnBZV3hKYm1SbGVDQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NWZjMlYwZFhCUWNtbHRhWFJwZG1Vb2JXVnphQ3dnYldGMFpYSnBZV3hKYm1SbGVDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2JXVnphRTl5UjNKdmRYQTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUkdWc1pYUmxJSFZ6WlNCdlppQmdTMGhTWDIxaGRHVnlhV0ZzYzE5MWJteHBkR0FnWm5KdmJTQnBkSE1nWUcxaGRHVnlhV0ZzYzJBZ2FXWWdkR2hsSUcxaGRHVnlhV0ZzSUdseklIVnphVzVuSUUxVWIyOXVMbHh1SUNBZ0tseHVJQ0FnS2lCVGFXNWpaU0JIVEZSR1RHOWhaR1Z5SUdoaGRtVWdjMjhnYldGdWVTQm9ZWEprWTI5a1pXUWdjSEp2WTJWa2RYSmxJSEpsYkdGMFpXUWdkRzhnWUV0SVVsOXRZWFJsY21saGJITmZkVzVzYVhSZ1hHNGdJQ0FxSUhkbElHaGhkbVVnZEc4Z1pHVnNaWFJsSUhSb1pTQmxlSFJsYm5OcGIyNGdZbVZtYjNKbElIZGxJSE4wWVhKMElIUnZJSEJoY25ObElIUm9aU0JuYkZSR0xseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmZjbVZ0YjNabFZXNXNhWFJGZUhSbGJuTnBiMjVKWmsxVWIyOXVSWGhwYzNSektDazZJSFp2YVdRZ2UxeHVJQ0FnSUdOdmJuTjBJSEJoY25ObGNpQTlJSFJvYVhNdWNHRnljMlZ5TzF4dUlDQWdJR052Ym5OMElHcHpiMjRnUFNCd1lYSnpaWEl1YW5OdmJpQmhjeUJIVEZSR1UyTm9aVzFoTGtsSFRGUkdPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JXRjBaWEpwWVd4RVpXWnpJRDBnYW5OdmJpNXRZWFJsY21saGJITTdYRzRnSUNBZ2JXRjBaWEpwWVd4RVpXWnpQeTV0WVhBb0tHMWhkR1Z5YVdGc1JHVm1MQ0JwVFdGMFpYSnBZV3dwSUQwK0lIdGNiaUFnSUNBZ0lHTnZibk4wSUdWNGRHVnVjMmx2YmlBOUlIUm9hWE11WDJkbGRFMVViMjl1UlhoMFpXNXphVzl1S0dsTllYUmxjbWxoYkNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2hsZUhSbGJuTnBiMjRnSmlZZ2JXRjBaWEpwWVd4RVpXWXVaWGgwWlc1emFXOXVjejh1V3lkTFNGSmZiV0YwWlhKcFlXeHpYM1Z1YkdsMEoxMHBJSHRjYmlBZ0lDQWdJQ0FnWkdWc1pYUmxJRzFoZEdWeWFXRnNSR1ZtTG1WNGRHVnVjMmx2Ym5OYkowdElVbDl0WVhSbGNtbGhiSE5mZFc1c2FYUW5YVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWDJkbGRFMVViMjl1UlhoMFpXNXphVzl1S0cxaGRHVnlhV0ZzU1c1a1pYZzZJRzUxYldKbGNpazZJRll4VFZSdmIyNVRZMmhsYldFdVZsSk5RMDFoZEdWeWFXRnNjMDFVYjI5dUlId2dkVzVrWldacGJtVmtJSHRjYmlBZ0lDQmpiMjV6ZENCd1lYSnpaWElnUFNCMGFHbHpMbkJoY25ObGNqdGNiaUFnSUNCamIyNXpkQ0JxYzI5dUlEMGdjR0Z5YzJWeUxtcHpiMjRnWVhNZ1IweFVSbE5qYUdWdFlTNUpSMHhVUmp0Y2JseHVJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNSR1ZtSUQwZ2FuTnZiaTV0WVhSbGNtbGhiSE0vTGx0dFlYUmxjbWxoYkVsdVpHVjRYVHRjYmx4dUlDQWdJR2xtSUNodFlYUmxjbWxoYkVSbFppQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWEc0Z0lDQWdJQ0FnSUdCTlZHOXZiazFoZEdWeWFXRnNURzloWkdWeVVHeDFaMmx1T2lCQmRIUmxiWEIwSUhSdklIVnpaU0J0WVhSbGNtbGhiSE5iSkh0dFlYUmxjbWxoYkVsdVpHVjRmVjBnYjJZZ1oyeFVSaUJpZFhRZ2RHaGxJRzFoZEdWeWFXRnNJR1J2WlhOdUozUWdaWGhwYzNSZ0xGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWJtUmxabWx1WldRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdaWGgwWlc1emFXOXVJRDBnYldGMFpYSnBZV3hFWldZdVpYaDBaVzV6YVc5dWN6OHVXMDFVYjI5dVRXRjBaWEpwWVd4TWIyRmtaWEpRYkhWbmFXNHVSVmhVUlU1VFNVOU9YMDVCVFVWZElHRnpYRzRnSUNBZ0lDQjhJRll4VFZSdmIyNVRZMmhsYldFdVZsSk5RMDFoZEdWeWFXRnNjMDFVYjI5dVhHNGdJQ0FnSUNCOElIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCcFppQW9aWGgwWlc1emFXOXVJRDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYzNCbFkxWmxjbk5wYjI0Z1BTQmxlSFJsYm5OcGIyNHVjM0JsWTFabGNuTnBiMjQ3WEc0Z0lDQWdhV1lnS0NGUVQxTlRTVUpNUlY5VFVFVkRYMVpGVWxOSlQwNVRMbWhoY3loemNHVmpWbVZ5YzJsdmJpa3BJSHRjYmlBZ0lDQWdJR052Ym5OdmJHVXVkMkZ5YmloY2JpQWdJQ0FnSUNBZ1lFMVViMjl1VFdGMFpYSnBZV3hNYjJGa1pYSlFiSFZuYVc0NklGVnVhMjV2ZDI0Z0pIdE5WRzl2YmsxaGRHVnlhV0ZzVEc5aFpHVnlVR3gxWjJsdUxrVllWRVZPVTBsUFRsOU9RVTFGZlNCemNHVmpWbVZ5YzJsdmJpQmNJaVI3YzNCbFkxWmxjbk5wYjI1OVhDSmdMRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdWNGRHVnVjMmx2Ymp0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWDJWNGRHVnVaRTFoZEdWeWFXRnNVR0Z5WVcxektGeHVJQ0FnSUdWNGRHVnVjMmx2YmpvZ1ZqRk5WRzl2YmxOamFHVnRZUzVXVWsxRFRXRjBaWEpwWVd4elRWUnZiMjRzWEc0Z0lDQWdiV0YwWlhKcFlXeFFZWEpoYlhNNklFMVViMjl1VFdGMFpYSnBZV3hRWVhKaGJXVjBaWEp6TEZ4dUlDQXBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNBdkx5QlNaVzF2ZG1sdVp5QnRZWFJsY21saGJDQndZWEpoYlhNZ2RHaGhkQ0JwY3lCdWIzUWdjbVZ4ZFdseVpXUWdkRzhnYzNWd2NtVnpjeUIzWVhKdWFXNW5jeTVjYmlBZ0lDQmtaV3hsZEdVZ0tHMWhkR1Z5YVdGc1VHRnlZVzF6SUdGeklGUklVa1ZGTGsxbGMyaFRkR0Z1WkdGeVpFMWhkR1Z5YVdGc1VHRnlZVzFsZEdWeWN5a3ViV1YwWVd4dVpYTnpPMXh1SUNBZ0lHUmxiR1YwWlNBb2JXRjBaWEpwWVd4UVlYSmhiWE1nWVhNZ1ZFaFNSVVV1VFdWemFGTjBZVzVrWVhKa1RXRjBaWEpwWVd4UVlYSmhiV1YwWlhKektTNXliM1ZuYUc1bGMzTTdYRzVjYmlBZ0lDQmpiMjV6ZENCaGMzTnBaMjVJWld4d1pYSWdQU0J1WlhjZ1IweFVSazFVYjI5dVRXRjBaWEpwWVd4UVlYSmhiWE5CYzNOcFoyNUlaV3h3WlhJb2RHaHBjeTV3WVhKelpYSXNJRzFoZEdWeWFXRnNVR0Z5WVcxektUdGNibHh1SUNBZ0lHRnpjMmxuYmtobGJIQmxjaTVoYzNOcFoyNVFjbWx0YVhScGRtVW9KM1J5WVc1emNHRnlaVzUwVjJsMGFGcFhjbWwwWlNjc0lHVjRkR1Z1YzJsdmJpNTBjbUZ1YzNCaGNtVnVkRmRwZEdoYVYzSnBkR1VwTzF4dUlDQWdJR0Z6YzJsbmJraGxiSEJsY2k1aGMzTnBaMjVEYjJ4dmNpZ25jMmhoWkdWRGIyeHZja1poWTNSdmNpY3NJR1Y0ZEdWdWMybHZiaTV6YUdGa1pVTnZiRzl5Um1GamRHOXlLVHRjYmlBZ0lDQmhjM05wWjI1SVpXeHdaWEl1WVhOemFXZHVWR1Y0ZEhWeVpTZ25jMmhoWkdWTmRXeDBhWEJzZVZSbGVIUjFjbVVuTENCbGVIUmxibk5wYjI0dWMyaGhaR1ZOZFd4MGFYQnNlVlJsZUhSMWNtVXNJSFJ5ZFdVcE8xeHVJQ0FnSUdGemMybG5ia2hsYkhCbGNpNWhjM05wWjI1UWNtbHRhWFJwZG1Vb0ozTm9ZV1JwYm1kVGFHbG1kRVpoWTNSdmNpY3NJR1Y0ZEdWdWMybHZiaTV6YUdGa2FXNW5VMmhwWm5SR1lXTjBiM0lwTzF4dUlDQWdJR0Z6YzJsbmJraGxiSEJsY2k1aGMzTnBaMjVVWlhoMGRYSmxLQ2R6YUdGa2FXNW5VMmhwWm5SVVpYaDBkWEpsSnl3Z1pYaDBaVzV6YVc5dUxuTm9ZV1JwYm1kVGFHbG1kRlJsZUhSMWNtVXNJSFJ5ZFdVcE8xeHVJQ0FnSUdGemMybG5ia2hsYkhCbGNpNWhjM05wWjI1UWNtbHRhWFJwZG1Vb0ozTm9ZV1JwYm1kVGFHbG1kRlJsZUhSMWNtVlRZMkZzWlNjc0lHVjRkR1Z1YzJsdmJpNXphR0ZrYVc1blUyaHBablJVWlhoMGRYSmxQeTV6WTJGc1pTazdYRzRnSUNBZ1lYTnphV2R1U0dWc2NHVnlMbUZ6YzJsbmJsQnlhVzFwZEdsMlpTZ25jMmhoWkdsdVoxUnZiMjU1Um1GamRHOXlKeXdnWlhoMFpXNXphVzl1TG5Ob1lXUnBibWRVYjI5dWVVWmhZM1J2Y2lrN1hHNGdJQ0FnWVhOemFXZHVTR1ZzY0dWeUxtRnpjMmxuYmxCeWFXMXBkR2wyWlNnbloybEZjWFZoYkdsNllYUnBiMjVHWVdOMGIzSW5MQ0JsZUhSbGJuTnBiMjR1WjJsRmNYVmhiR2w2WVhScGIyNUdZV04wYjNJcE8xeHVJQ0FnSUdGemMybG5ia2hsYkhCbGNpNWhjM05wWjI1RGIyeHZjaWduYldGMFkyRndSbUZqZEc5eUp5d2daWGgwWlc1emFXOXVMbTFoZEdOaGNFWmhZM1J2Y2lrN1hHNGdJQ0FnWVhOemFXZHVTR1ZzY0dWeUxtRnpjMmxuYmxSbGVIUjFjbVVvSjIxaGRHTmhjRlJsZUhSMWNtVW5MQ0JsZUhSbGJuTnBiMjR1YldGMFkyRndWR1Y0ZEhWeVpTd2dkSEoxWlNrN1hHNGdJQ0FnWVhOemFXZHVTR1ZzY0dWeUxtRnpjMmxuYmtOdmJHOXlLQ2R3WVhKaGJXVjBjbWxqVW1sdFEyOXNiM0pHWVdOMGIzSW5MQ0JsZUhSbGJuTnBiMjR1Y0dGeVlXMWxkSEpwWTFKcGJVTnZiRzl5Um1GamRHOXlLVHRjYmlBZ0lDQmhjM05wWjI1SVpXeHdaWEl1WVhOemFXZHVWR1Y0ZEhWeVpTZ25jbWx0VFhWc2RHbHdiSGxVWlhoMGRYSmxKeXdnWlhoMFpXNXphVzl1TG5KcGJVMTFiSFJwY0d4NVZHVjRkSFZ5WlN3Z2RISjFaU2s3WEc0Z0lDQWdZWE56YVdkdVNHVnNjR1Z5TG1GemMybG5ibEJ5YVcxcGRHbDJaU2duY21sdFRHbG5hSFJwYm1kTmFYaEdZV04wYjNJbkxDQmxlSFJsYm5OcGIyNHVjbWx0VEdsbmFIUnBibWROYVhoR1lXTjBiM0lwTzF4dUlDQWdJR0Z6YzJsbmJraGxiSEJsY2k1aGMzTnBaMjVRY21sdGFYUnBkbVVvSjNCaGNtRnRaWFJ5YVdOU2FXMUdjbVZ6Ym1Wc1VHOTNaWEpHWVdOMGIzSW5MQ0JsZUhSbGJuTnBiMjR1Y0dGeVlXMWxkSEpwWTFKcGJVWnlaWE51Wld4UWIzZGxja1poWTNSdmNpazdYRzRnSUNBZ1lYTnphV2R1U0dWc2NHVnlMbUZ6YzJsbmJsQnlhVzFwZEdsMlpTZ25jR0Z5WVcxbGRISnBZMUpwYlV4cFpuUkdZV04wYjNJbkxDQmxlSFJsYm5OcGIyNHVjR0Z5WVcxbGRISnBZMUpwYlV4cFpuUkdZV04wYjNJcE8xeHVJQ0FnSUdGemMybG5ia2hsYkhCbGNpNWhjM05wWjI1UWNtbHRhWFJwZG1Vb0oyOTFkR3hwYm1WWGFXUjBhRTF2WkdVbkxDQmxlSFJsYm5OcGIyNHViM1YwYkdsdVpWZHBaSFJvVFc5a1pTQmhjeUJOVkc5dmJrMWhkR1Z5YVdGc1QzVjBiR2x1WlZkcFpIUm9UVzlrWlNrN1hHNGdJQ0FnWVhOemFXZHVTR1ZzY0dWeUxtRnpjMmxuYmxCeWFXMXBkR2wyWlNnbmIzVjBiR2x1WlZkcFpIUm9SbUZqZEc5eUp5d2daWGgwWlc1emFXOXVMbTkxZEd4cGJtVlhhV1IwYUVaaFkzUnZjaWs3WEc0Z0lDQWdZWE56YVdkdVNHVnNjR1Z5TG1GemMybG5ibFJsZUhSMWNtVW9KMjkxZEd4cGJtVlhhV1IwYUUxMWJIUnBjR3g1VkdWNGRIVnlaU2NzSUdWNGRHVnVjMmx2Ymk1dmRYUnNhVzVsVjJsa2RHaE5kV3gwYVhCc2VWUmxlSFIxY21Vc0lHWmhiSE5sS1R0Y2JpQWdJQ0JoYzNOcFoyNUlaV3h3WlhJdVlYTnphV2R1UTI5c2IzSW9KMjkxZEd4cGJtVkRiMnh2Y2taaFkzUnZjaWNzSUdWNGRHVnVjMmx2Ymk1dmRYUnNhVzVsUTI5c2IzSkdZV04wYjNJcE8xeHVJQ0FnSUdGemMybG5ia2hsYkhCbGNpNWhjM05wWjI1UWNtbHRhWFJwZG1Vb0oyOTFkR3hwYm1WTWFXZG9kR2x1WjAxcGVFWmhZM1J2Y2ljc0lHVjRkR1Z1YzJsdmJpNXZkWFJzYVc1bFRHbG5hSFJwYm1kTmFYaEdZV04wYjNJcE8xeHVJQ0FnSUdGemMybG5ia2hsYkhCbGNpNWhjM05wWjI1VVpYaDBkWEpsS0NkMWRrRnVhVzFoZEdsdmJrMWhjMnRVWlhoMGRYSmxKeXdnWlhoMFpXNXphVzl1TG5WMlFXNXBiV0YwYVc5dVRXRnphMVJsZUhSMWNtVXNJR1poYkhObEtUdGNiaUFnSUNCaGMzTnBaMjVJWld4d1pYSXVZWE56YVdkdVVISnBiV2wwYVhabEtDZDFka0Z1YVcxaGRHbHZibE5qY205c2JGaFRjR1ZsWkVaaFkzUnZjaWNzSUdWNGRHVnVjMmx2Ymk1MWRrRnVhVzFoZEdsdmJsTmpjbTlzYkZoVGNHVmxaRVpoWTNSdmNpazdYRzRnSUNBZ1lYTnphV2R1U0dWc2NHVnlMbUZ6YzJsbmJsQnlhVzFwZEdsMlpTZ25kWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFpVM0JsWldSR1lXTjBiM0luTENCbGVIUmxibk5wYjI0dWRYWkJibWx0WVhScGIyNVRZM0p2Ykd4WlUzQmxaV1JHWVdOMGIzSXBPMXh1SUNBZ0lHRnpjMmxuYmtobGJIQmxjaTVoYzNOcFoyNVFjbWx0YVhScGRtVW9KM1YyUVc1cGJXRjBhVzl1VW05MFlYUnBiMjVUY0dWbFpFWmhZM1J2Y2ljc0lHVjRkR1Z1YzJsdmJpNTFka0Z1YVcxaGRHbHZibEp2ZEdGMGFXOXVVM0JsWldSR1lXTjBiM0lwTzF4dVhHNGdJQ0FnWVhOemFXZHVTR1ZzY0dWeUxtRnpjMmxuYmxCeWFXMXBkR2wyWlNnbmRqQkRiMjF3WVhSVGFHRmtaU2NzSUhSb2FYTXVkakJEYjIxd1lYUlRhR0ZrWlNrN1hHNGdJQ0FnWVhOemFXZHVTR1ZzY0dWeUxtRnpjMmxuYmxCeWFXMXBkR2wyWlNnblpHVmlkV2ROYjJSbEp5d2dkR2hwY3k1a1pXSjFaMDF2WkdVcE8xeHVYRzRnSUNBZ1lYZGhhWFFnWVhOemFXZHVTR1ZzY0dWeUxuQmxibVJwYm1jN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWR2hwY3lCM2FXeHNJR1J2SUhSM2J5QndjbTlqWlhOelpYTWdkR2hoZENCcGN5QnlaWEYxYVhKbFpDQjBieUJ5Wlc1a1pYSWdUVlJ2YjI0Z2NISnZjR1Z5YkhrdVhHNGdJQ0FxWEc0Z0lDQXFJQzBnVTJWMElISmxibVJsY2lCdmNtUmxjbHh1SUNBZ0tpQXRJRWRsYm1WeVlYUmxJRzkxZEd4cGJtVmNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJRzFsYzJnZ1FTQjBZWEpuWlhRZ1IweFVSaUJ3Y21sdGFYUnBkbVZjYmlBZ0lDb2dRSEJoY21GdElHMWhkR1Z5YVdGc1NXNWtaWGdnVkdobElHMWhkR1Z5YVdGc0lHbHVaR1Y0SUc5bUlIUm9aU0J3Y21sdGFYUnBkbVZjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDNObGRIVndVSEpwYldsMGFYWmxLRzFsYzJnNklGUklVa1ZGTGsxbGMyZ3NJRzFoZEdWeWFXRnNTVzVrWlhnNklHNTFiV0psY2lrNklIWnZhV1FnZTF4dUlDQWdJR052Ym5OMElHVjRkR1Z1YzJsdmJpQTlJSFJvYVhNdVgyZGxkRTFVYjI5dVJYaDBaVzV6YVc5dUtHMWhkR1Z5YVdGc1NXNWtaWGdwTzF4dUlDQWdJR2xtSUNobGVIUmxibk5wYjI0cElIdGNiaUFnSUNBZ0lHTnZibk4wSUhKbGJtUmxjazl5WkdWeUlEMGdkR2hwY3k1ZmNHRnljMlZTWlc1a1pYSlBjbVJsY2lobGVIUmxibk5wYjI0cE8xeHVJQ0FnSUNBZ2JXVnphQzV5Wlc1a1pYSlBjbVJsY2lBOUlISmxibVJsY2s5eVpHVnlJQ3NnZEdocGN5NXlaVzVrWlhKUGNtUmxjazltWm5ObGREdGNibHh1SUNBZ0lDQWdkR2hwY3k1ZloyVnVaWEpoZEdWUGRYUnNhVzVsS0cxbGMyZ3BPMXh1WEc0Z0lDQWdJQ0IwYUdsekxsOWhaR1JVYjAxaGRHVnlhV0ZzVTJWMEtHMWxjMmdwTzF4dVhHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGJtVnlZWFJsSUc5MWRHeHBibVVnWm05eUlIUm9aU0JuYVhabGJpQnRaWE5vTENCcFppQnBkQ0J1WldWa2N5NWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJRzFsYzJnZ1ZHaGxJSFJoY21kbGRDQnRaWE5vWEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5blpXNWxjbUYwWlU5MWRHeHBibVVvYldWemFEb2dWRWhTUlVVdVRXVnphQ2s2SUhadmFXUWdlMXh1SUNBZ0lDOHZJRTlMTENCcGRDZHpJSFJvWlNCb1lXTnJlU0J3WVhKMExseHVJQ0FnSUM4dklGZGxJR0Z5WlNCbmIybHVaeUIwYnlCa2RYQnNhV05oZEdVZ2RHaGxJRTFVYjI5dVRXRjBaWEpwWVd3Z1ptOXlJRzkxZEd4cGJtVWdkWE5sTGx4dUlDQWdJQzh2SUZSb1pXNGdkMlVnWVhKbElHZHZhVzVuSUhSdklHTnlaV0YwWlNCMGQyOGdaMlZ2YldWMGNua2daM0p2ZFhCeklHRnVaQ0J5WldabGNpQnpZVzFsSUdKMVptWmxjaUJpZFhRZ1pHbG1abVZ5Wlc1MElHMWhkR1Z5YVdGc0xseHVJQ0FnSUM4dklFbDBKM01nYUc5M0lIZGxJR1J5WVhjZ2RIZHZJRzFoZEdWeWFXRnNjeUJoZENCdmJtTmxJSFZ6YVc1bklHRWdjMmx1WjJ4bElHMWxjMmd1WEc1Y2JpQWdJQ0F2THlCdFlXdGxJSE4xY21VZ2RHaGxJRzFoZEdWeWFXRnNJR2x6SUcxMGIyOXVYRzRnSUNBZ1kyOXVjM1FnYzNWeVptRmpaVTFoZEdWeWFXRnNJRDBnYldWemFDNXRZWFJsY21saGJEdGNiaUFnSUNCcFppQW9JU2h6ZFhKbVlXTmxUV0YwWlhKcFlXd2dhVzV6ZEdGdVkyVnZaaUJOVkc5dmJrMWhkR1Z5YVdGc0tTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklHTm9aV05ySUhkb1pYUm9aWElnZDJVZ2NtVmhiR3g1SUdoaGRtVWdkRzhnY0hKbGNHRnlaU0J2ZFhSc2FXNWxJRzl5SUc1dmRGeHVJQ0FnSUdsbUlDaHpkWEptWVdObFRXRjBaWEpwWVd3dWIzVjBiR2x1WlZkcFpIUm9UVzlrWlNBOVBUMGdKMjV2Ym1VbklIeDhJSE4xY21aaFkyVk5ZWFJsY21saGJDNXZkWFJzYVc1bFYybGtkR2hHWVdOMGIzSWdQRDBnTUM0d0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z2JXRnJaU0JwZEhNZ2JXRjBaWEpwWVd3Z1lXNGdZWEp5WVhsY2JpQWdJQ0J0WlhOb0xtMWhkR1Z5YVdGc0lEMGdXM04xY21aaFkyVk5ZWFJsY21saGJGMDdJQzh2SUcxbGMyZ3ViV0YwWlhKcFlXd2dhWE1nWjNWaGNtRnVkR1ZsWkNCMGJ5QmlaU0JoSUUxaGRHVnlhV0ZzSUdsdUlFZE1WRVpNYjJGa1pYSmNibHh1SUNBZ0lDOHZJR1IxY0d4cFkyRjBaU0IwYUdVZ2JXRjBaWEpwWVd3Z1ptOXlJRzkxZEd4cGJtVWdkWE5sWEc0Z0lDQWdZMjl1YzNRZ2IzVjBiR2x1WlUxaGRHVnlhV0ZzSUQwZ2MzVnlabUZqWlUxaGRHVnlhV0ZzTG1Oc2IyNWxLQ2s3WEc0Z0lDQWdiM1YwYkdsdVpVMWhkR1Z5YVdGc0xtNWhiV1VnS3owZ0p5QW9UM1YwYkdsdVpTa25PMXh1SUNBZ0lHOTFkR3hwYm1WTllYUmxjbWxoYkM1cGMwOTFkR3hwYm1VZ1BTQjBjblZsTzF4dUlDQWdJRzkxZEd4cGJtVk5ZWFJsY21saGJDNXphV1JsSUQwZ1ZFaFNSVVV1UW1GamExTnBaR1U3WEc0Z0lDQWdiV1Z6YUM1dFlYUmxjbWxoYkM1d2RYTm9LRzkxZEd4cGJtVk5ZWFJsY21saGJDazdYRzVjYmlBZ0lDQXZMeUJ0WVd0bElIUjNieUJuWlc5dFpYUnllU0JuY205MWNITWdiM1YwSUc5bUlHRWdjMkZ0WlNCaWRXWm1aWEpjYmlBZ0lDQmpiMjV6ZENCblpXOXRaWFJ5ZVNBOUlHMWxjMmd1WjJWdmJXVjBjbms3SUM4dklHMWxjMmd1WjJWdmJXVjBjbmtnYVhNZ1ozVmhjbUZ1ZEdWbFpDQjBieUJpWlNCaElFSjFabVpsY2tkbGIyMWxkSEo1SUdsdUlFZE1WRVpNYjJGa1pYSmNiaUFnSUNCamIyNXpkQ0J3Y21sdGFYUnBkbVZXWlhKMGFXTmxjeUE5SUdkbGIyMWxkSEo1TG1sdVpHVjRJRDhnWjJWdmJXVjBjbmt1YVc1a1pYZ3VZMjkxYm5RZ09pQm5aVzl0WlhSeWVTNWhkSFJ5YVdKMWRHVnpMbkJ2YzJsMGFXOXVMbU52ZFc1MElDOGdNenRjYmlBZ0lDQm5aVzl0WlhSeWVTNWhaR1JIY205MWNDZ3dMQ0J3Y21sdGFYUnBkbVZXWlhKMGFXTmxjeXdnTUNrN1hHNGdJQ0FnWjJWdmJXVjBjbmt1WVdSa1IzSnZkWEFvTUN3Z2NISnBiV2wwYVhabFZtVnlkR2xqWlhNc0lERXBPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmWVdSa1ZHOU5ZWFJsY21saGJGTmxkQ2h0WlhOb09pQlVTRkpGUlM1TlpYTm9LVG9nZG05cFpDQjdYRzRnSUNBZ1kyOXVjM1FnYldGMFpYSnBZV3hQY2sxaGRHVnlhV0ZzY3lBOUlHMWxjMmd1YldGMFpYSnBZV3c3WEc0Z0lDQWdZMjl1YzNRZ2JXRjBaWEpwWVd4VFpYUWdQU0J1WlhjZ1UyVjBQRlJJVWtWRkxrMWhkR1Z5YVdGc1BpZ3BPMXh1WEc0Z0lDQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29iV0YwWlhKcFlXeFBjazFoZEdWeWFXRnNjeWtwSUh0Y2JpQWdJQ0FnSUcxaGRHVnlhV0ZzVDNKTllYUmxjbWxoYkhNdVptOXlSV0ZqYUNnb2JXRjBaWEpwWVd3cElEMCtJRzFoZEdWeWFXRnNVMlYwTG1Ga1pDaHRZWFJsY21saGJDa3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdFlYUmxjbWxoYkZObGRDNWhaR1FvYldGMFpYSnBZV3hQY2sxaGRHVnlhV0ZzY3lrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaGpiMjV6ZENCdFlYUmxjbWxoYkNCdlppQnRZWFJsY21saGJGTmxkQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHMWhkR1Z5YVdGc0lHbHVjM1JoYm1ObGIyWWdUVlJ2YjI1TllYUmxjbWxoYkNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TGw5dFZHOXZiazFoZEdWeWFXRnNVMlYwTG1Ga1pDaHRZWFJsY21saGJDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmZjR0Z5YzJWU1pXNWtaWEpQY21SbGNpaGxlSFJsYm5OcGIyNDZJRll4VFZSdmIyNVRZMmhsYldFdVZsSk5RMDFoZEdWeWFXRnNjMDFVYjI5dUtUb2diblZ0WW1WeUlIdGNiaUFnSUNBdkx5QjBjbUZ1YzNCaGNtVnVkRmRwZEdoYVYzSnBkR1VnY21GdVoyVnpJR1p5YjIwZ01DQjBieUFyT1Z4dUlDQWdJQzh2SUcxbGNtVWdkSEpoYm5Od1lYSmxiblFnY21GdVoyVnpJR1p5YjIwZ0xUa2dkRzhnTUZ4dUlDQWdJR052Ym5OMElHVnVZV0pzWldSYVYzSnBkR1VnUFNCbGVIUmxibk5wYjI0dWRISmhibk53WVhKbGJuUlhhWFJvV2xkeWFYUmxPMXh1SUNBZ0lISmxkSFZ5YmlBb1pXNWhZbXhsWkZwWGNtbDBaU0EvSURBZ09pQXhPU2tnS3lBb1pYaDBaVzV6YVc5dUxuSmxibVJsY2xGMVpYVmxUMlptYzJWMFRuVnRZbVZ5SUQ4L0lEQXBPMXh1SUNCOVhHNTlYRzRpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPenRCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZ2UjBFN1FVRkRUeXhUUVVGVExGTkJRVk1zUTBGQlF5eFBRVUZQTEVWQlFVVXNWVUZCVlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hUUVVGVExFVkJRVVU3UVVGRE4wUXNTVUZCU1N4VFFVRlRMRXRCUVVzc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGQlJTeFBRVUZQTEV0QlFVc3NXVUZCV1N4RFFVRkRMRWRCUVVjc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEZWQlFWVXNUMEZCVHl4RlFVRkZMRVZCUVVVc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVN1FVRkRhRWdzU1VGQlNTeFBRVUZQTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zUlVGQlJTeFZRVUZWTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVN1FVRkRMMFFzVVVGQlVTeFRRVUZUTEZOQlFWTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZPMEZCUTI1SExGRkJRVkVzVTBGQlV5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZPMEZCUTNSSExGRkJRVkVzVTBGQlV5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1RVRkJUU3hEUVVGRExFbEJRVWtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUlVGQlJTeFJRVUZSTEVOQlFVTXNRMEZCUXl4RlFVRkZPMEZCUTNSSUxGRkJRVkVzU1VGQlNTeERRVUZETEVOQlFVTXNVMEZCVXl4SFFVRkhMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEZWQlFWVXNTVUZCU1N4RlFVRkZMRU5CUVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETzBGQlF6bEZMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRMUE3T3pzN096dEJRekZJUVR0QlFVVkJPenM3TzBGQlNVYzdRVUZEVlN4TlFVRkJMSE5DUVVGelFpeEhRVUZITzBGQlEzQkRPenRCUVVWSE8wRkJRMGdzU1VGQlFTeEpRVUZKTEVWQlFVVXNUVUZCVFR0QlFVVmFPenRCUVVWSE8wRkJRMGdzU1VGQlFTeE5RVUZOTEVWQlFVVXNVVUZCVVR0QlFVVm9RanM3UVVGRlJ6dEJRVU5JTEVsQlFVRXNXVUZCV1N4RlFVRkZMR05CUVdNN1FVRkZOVUk3TzBGQlJVYzdRVUZEU0N4SlFVRkJMRVZCUVVVc1JVRkJSU3hKUVVGSk96czdRVU14UWxZN1FVRkZZU3hOUVVGQkxEWkNRVUUyUWl4SFFVRkhPMEZCUXpORExFbEJRVUVzU1VGQlNTeEZRVUZGTEUxQlFVMDdRVUZEV2l4SlFVRkJMR2RDUVVGblFpeEZRVUZGTEd0Q1FVRnJRanRCUVVOd1F5eEpRVUZCTEdsQ1FVRnBRaXhGUVVGRkxHMUNRVUZ0UWpzN08wRkRTSGhETEUxQlFVMHNjVUpCUVhGQ0xFZEJRVFpDTzBGQlEzUkVMRWxCUVVFc1NVRkJTU3hGUVVGRkxFVkJRVVU3UVVGRFVpeEpRVUZCTEVsQlFVa3NSVUZCUlN4TlFVRk5PME5CUTJJc1EwRkJRenRCUVVWR096czdPenM3T3p0QlFWRkhPMEZCUTBjc1UwRkJWU3h2UWtGQmIwSXNRMEZCUXl4UFFVRnpRaXhGUVVGQk8wbEJRM3BFTEVsQlFVa3NVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NSMEZCUnl4RlFVRkZPMUZCUTNaRExFOUJRVThzVDBGQlR5eERRVUZETEZWQlFYbENMRU5CUVVNN1FVRkRNVU1zUzBGQlFUdEJRVUZOTEZOQlFVRTdRVUZEVEN4UlFVRkJMRTlCUVU4c2NVSkJRWEZDTEVOQlFVVXNUMEZCWlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRM3BFTEV0QlFVRTdRVUZEU0RzN1FVTjBRa0U3UVVGVlFUczdPenM3UVVGTFJ6dEJRVU5WTEUxQlFVRXNZVUZCWXl4VFFVRlJMRXRCUVVzc1EwRkJReXhqUVVGakxFTkJRVUU3UVVFMFEzSkVMRWxCUVVFc1NVRkJWeXhMUVVGTExFZEJRVUU3UVVGRFpDeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETzB0QlEzUkRPMGxCUTBRc1NVRkJWeXhMUVVGTExFTkJRVU1zUzBGQmEwSXNSVUZCUVR0UlFVTnFReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJRM1pETzBGQlJVUXNTVUZCUVN4SlFVRlhMRWRCUVVjc1IwRkJRVHRCUVVOYUxGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU03UzBGRGFFTTdTVUZEUkN4SlFVRlhMRWRCUVVjc1EwRkJReXhMUVVFeVFpeEZRVUZCTzFGQlEzaERMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNN1MwRkRha003UVVGRlJDeEpRVUZCTEVsQlFWY3NVMEZCVXl4SFFVRkJPMEZCUTJ4Q0xGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU03UzBGRGRFTTdTVUZEUkN4SlFVRlhMRk5CUVZNc1EwRkJReXhMUVVFeVFpeEZRVUZCTzFGQlF6bERMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVTBGQlV5eERRVUZETEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNN1MwRkRka003UVVGRlJDeEpRVUZCTEVsQlFWY3NWMEZCVnl4SFFVRkJPMEZCUTNCQ0xGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmRCUVZjc1EwRkJReXhMUVVGTExFTkJRVU03UzBGRGVFTTdTVUZEUkN4SlFVRlhMRmRCUVZjc1EwRkJReXhMUVVGdlFpeEZRVUZCTzFGQlEzcERMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eERRVUZETEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNN1MwRkRla003UVVGRlJDeEpRVUZCTEVsQlFWY3NVVUZCVVN4SFFVRkJPMEZCUTJwQ0xGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU03UzBGRGNrTTdTVUZEUkN4SlFVRlhMRkZCUVZFc1EwRkJReXhMUVVGclFpeEZRVUZCTzFGQlEzQkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNN1MwRkRkRU03UVVGRlJDeEpRVUZCTEVsQlFWY3NhVUpCUVdsQ0xFZEJRVUU3UVVGRE1VSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1MwRkJTeXhEUVVGRE8wdEJRemxETzBsQlEwUXNTVUZCVnl4cFFrRkJhVUlzUTBGQlF5eExRVUZoTEVWQlFVRTdVVUZEZUVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETzB0QlF5OURPMEZCUlVRc1NVRkJRU3hKUVVGWExGZEJRVmNzUjBGQlFUdEJRVU53UWl4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFhRVUZYTEVOQlFVTXNTMEZCU3l4RFFVRkRPMHRCUTNoRE8wbEJRMFFzU1VGQlZ5eFhRVUZYTEVOQlFVTXNTMEZCTWtJc1JVRkJRVHRSUVVOb1JDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmRCUVZjc1EwRkJReXhMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETzB0QlEzcERPMEZCUlVRc1NVRkJRU3hKUVVGWExHZENRVUZuUWl4SFFVRkJPMEZCUTNwQ0xGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMR2RDUVVGblFpeERRVUZETEV0QlFVc3NRMEZCUXp0TFFVTTNRenRKUVVORUxFbEJRVmNzWjBKQlFXZENMRU5CUVVNc1MwRkJhMElzUlVGQlFUdFJRVU0xUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03UzBGRE9VTTdRVUZGUkN4SlFVRkJMRWxCUVZjc2IwSkJRVzlDTEVkQlFVRTdRVUZETjBJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZETzB0QlEycEVPMGxCUTBRc1NVRkJWeXh2UWtGQmIwSXNRMEZCUXl4TFFVRXlRaXhGUVVGQk8xRkJRM3BFTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRMUVVOc1JEdEJRVVZFTEVsQlFVRXNTVUZCVnl4clFrRkJhMElzUjBGQlFUdEJRVU16UWl4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhMUVVGTExFTkJRVU03UzBGREwwTTdTVUZEUkN4SlFVRlhMR3RDUVVGclFpeERRVUZETEV0QlFXRXNSVUZCUVR0UlFVTjZReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEYUVRN1FVRkZSQ3hKUVVGQkxFbEJRVmNzYlVKQlFXMUNMRWRCUVVFN1FVRkROVUlzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNTMEZCU3l4RFFVRkRPMHRCUTJoRU8wbEJRMFFzU1VGQlZ5eHRRa0ZCYlVJc1EwRkJReXhMUVVFeVFpeEZRVUZCTzFGQlEzaEVMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dExRVU5xUkR0QlFVVkVMRWxCUVVFc1NVRkJWeXgzUWtGQmQwSXNSMEZCUVR0QlFVTnFReXhSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eExRVUZMTEVOQlFVTTdTMEZEY2tRN1NVRkRSQ3hKUVVGWExIZENRVUYzUWl4RFFVRkRMRXRCUVdFc1JVRkJRVHRSUVVNdlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMSGRDUVVGM1FpeERRVUZETEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNN1MwRkRkRVE3UVVGRlJDeEpRVUZCTEVsQlFWY3NhMEpCUVd0Q0xFZEJRVUU3UVVGRE0wSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1MwRkJTeXhEUVVGRE8wdEJReTlETzBsQlEwUXNTVUZCVnl4clFrRkJhMElzUTBGQlF5eExRVUZoTEVWQlFVRTdVVUZEZWtNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETzB0QlEyaEVPMEZCUlVRc1NVRkJRU3hKUVVGWExHOUNRVUZ2UWl4SFFVRkJPMEZCUXpkQ0xGRkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEV0QlFVc3NRMEZCUXp0TFFVTnFSRHRKUVVORUxFbEJRVmNzYjBKQlFXOUNMRU5CUVVNc1MwRkJZU3hGUVVGQk8xRkJRek5ETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRMUVVOc1JEdEJRVVZFTEVsQlFVRXNTVUZCVnl4WlFVRlpMRWRCUVVFN1FVRkRja0lzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1dVRkJXU3hEUVVGRExFdEJRVXNzUTBGQlF6dExRVU42UXp0SlFVTkVMRWxCUVZjc1dVRkJXU3hEUVVGRExFdEJRV3RDTEVWQlFVRTdVVUZEZUVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFpRVUZaTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRMUVVNeFF6dEJRVVZFTEVsQlFVRXNTVUZCVnl4aFFVRmhMRWRCUVVFN1FVRkRkRUlzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1lVRkJZU3hEUVVGRExFdEJRVXNzUTBGQlF6dExRVU14UXp0SlFVTkVMRWxCUVZjc1lVRkJZU3hEUVVGRExFdEJRVEpDTEVWQlFVRTdVVUZEYkVRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eGhRVUZoTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRMUVVNelF6dEJRVVZFTEVsQlFVRXNTVUZCVnl4M1FrRkJkMElzUjBGQlFUdEJRVU5xUXl4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhMUVVGTExFTkJRVU03UzBGRGNrUTdTVUZEUkN4SlFVRlhMSGRDUVVGM1FpeERRVUZETEV0QlFXdENMRVZCUVVFN1VVRkRjRVFzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRPMHRCUTNSRU8wRkJSVVFzU1VGQlFTeEpRVUZYTEd0Q1FVRnJRaXhIUVVGQk8wRkJRek5DTEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRXRCUVVzc1EwRkJRenRMUVVNdlF6dEpRVU5FTEVsQlFWY3NhMEpCUVd0Q0xFTkJRVU1zUzBGQk1rSXNSVUZCUVR0UlFVTjJSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEYUVRN1FVRkZSQ3hKUVVGQkxFbEJRVmNzYjBKQlFXOUNMRWRCUVVFN1FVRkROMElzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTMEZCU3l4RFFVRkRPMHRCUTJwRU8wbEJRMFFzU1VGQlZ5eHZRa0ZCYjBJc1EwRkJReXhMUVVGaExFVkJRVUU3VVVGRE0wTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJRMnhFTzBGQlJVUXNTVUZCUVN4SlFVRlhMQ3RDUVVFclFpeEhRVUZCTzBGQlEzaERMRkZCUVVFc1QwRkJUeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEN0Q1FVRXJRaXhEUVVGRExFdEJRVXNzUTBGQlF6dExRVU0xUkR0SlFVTkVMRWxCUVZjc0swSkJRU3RDTEVOQlFVTXNTMEZCWVN4RlFVRkJPMUZCUTNSRUxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNLMEpCUVN0Q0xFTkJRVU1zUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXp0TFFVTTNSRHRCUVVWRUxFbEJRVUVzU1VGQlZ5eDFRa0ZCZFVJc1IwRkJRVHRCUVVOb1F5eFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4TFFVRkxMRU5CUVVNN1MwRkRjRVE3U1VGRFJDeEpRVUZYTEhWQ1FVRjFRaXhEUVVGRExFdEJRV0VzUlVGQlFUdFJRVU01UXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03UzBGRGNrUTdRVUZGUkN4SlFVRkJMRWxCUVZjc01rSkJRVEpDTEVkQlFVRTdRVUZEY0VNc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNNa0pCUVRKQ0xFTkJRVU1zUzBGQlN5eERRVUZETzB0QlEzaEVPMGxCUTBRc1NVRkJWeXd5UWtGQk1rSXNRMEZCUXl4TFFVRXlRaXhGUVVGQk8xRkJRMmhGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc01rSkJRVEpDTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRMUVVONlJEdEJRVVZFTEVsQlFVRXNTVUZCVnl4clFrRkJhMElzUjBGQlFUdEJRVU16UWl4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhMUVVGTExFTkJRVU03UzBGREwwTTdTVUZEUkN4SlFVRlhMR3RDUVVGclFpeERRVUZETEV0QlFXRXNSVUZCUVR0UlFVTjZReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTMEZEYUVRN1FVRkZSQ3hKUVVGQkxFbEJRVmNzYTBKQlFXdENMRWRCUVVFN1FVRkRNMElzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNTMEZCU3l4RFFVRkRPMHRCUXk5RE8wbEJRMFFzU1VGQlZ5eHJRa0ZCYTBJc1EwRkJReXhMUVVGclFpeEZRVUZCTzFGQlF6bERMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dExRVU5vUkR0QlFVVkVMRWxCUVVFc1NVRkJWeXgzUWtGQmQwSXNSMEZCUVR0QlFVTnFReXhSUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eExRVUZMTEVOQlFVTTdTMEZEY2tRN1NVRkRSQ3hKUVVGWExIZENRVUYzUWl4RFFVRkRMRXRCUVdFc1JVRkJRVHRSUVVNdlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMSGRDUVVGM1FpeERRVUZETEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNN1MwRkRkRVE3UVVGRlJDeEpRVUZCTEVsQlFWY3NjMEpCUVhOQ0xFZEJRVUU3UVVGREwwSXNVVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYzBKQlFYTkNMRU5CUVVNc1MwRkJTeXhEUVVGRE8wdEJRMjVFTzBsQlEwUXNTVUZCVnl4elFrRkJjMElzUTBGQlF5eExRVUV5UWl4RlFVRkJPMUZCUXpORUxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXp0TFFVTndSRHRCUVVWRUxFbEJRVUVzU1VGQlZ5eDNRa0ZCZDBJc1IwRkJRVHRCUVVOcVF5eFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4TFFVRkxMRU5CUVVNN1MwRkRja1E3U1VGRFJDeEpRVUZYTEhkQ1FVRjNRaXhEUVVGRExFdEJRV0VzUlVGQlFUdFJRVU12UXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExIZENRVUYzUWl4RFFVRkRMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03UzBGRGRFUTdRVUZGUkN4SlFVRkJMRWxCUVZjc2QwSkJRWGRDTEVkQlFVRTdRVUZEYWtNc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zUzBGQlN5eERRVUZETzB0QlEzSkVPMGxCUTBRc1NVRkJWeXgzUWtGQmQwSXNRMEZCUXl4TFFVRmhMRVZCUVVFN1VVRkRMME1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRPMHRCUTNSRU8wRkJSVVFzU1VGQlFTeEpRVUZYTEhkQ1FVRjNRaXhIUVVGQk8wRkJRMnBETEZGQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExIZENRVUYzUWl4RFFVRkRMRXRCUVVzc1EwRkJRenRMUVVOeVJEdEpRVU5FTEVsQlFWY3NkMEpCUVhkQ0xFTkJRVU1zUzBGQllTeEZRVUZCTzFGQlF5OURMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zZDBKQlFYZENMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dExRVU4wUkR0QlFYbENSRHM3TzBGQlIwYzdRVUZEU0N4SlFVRkJMRWxCUVZjc2FVSkJRV2xDTEVkQlFVRTdVVUZETVVJc1QwRkJUeXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNN1MwRkRhRU03U1VGRFJDeEpRVUZYTEdsQ1FVRnBRaXhEUVVGRExFdEJRV01zUlVGQlFUdEJRVU42UXl4UlFVRkJMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNSMEZCUnl4TFFVRkxMRU5CUVVNN1FVRkZhRU1zVVVGQlFTeEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRWxCUVVrc1EwRkJRenRMUVVONlFqdEJRVWxFT3pzN096dEJRVXRITzBGQlEwZ3NTVUZCUVN4SlFVRkpMR0ZCUVdFc1IwRkJRVHRSUVVObUxFOUJRVThzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXp0TFFVTTFRanRCUVVWRU96czdPenRCUVV0SE8wbEJRMGdzU1VGQlNTeGhRVUZoTEVOQlFVTXNRMEZCVlN4RlFVRkJPMEZCUXpGQ0xGRkJRVUVzU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkZlRUlzVVVGQlFTeEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRWxCUVVrc1EwRkJRenRMUVVONlFqdEJRVWxFT3pzN096dEJRVXRITzBGQlEwZ3NTVUZCUVN4SlFVRkpMRk5CUVZNc1IwRkJRVHRSUVVOWUxFOUJRVThzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXp0TFFVTjRRanRCUVVWRU96czdPenRCUVV0SE8wbEJRMGdzU1VGQlNTeFRRVUZUTEVOQlFVTXNRMEZCZVVJc1JVRkJRVHRCUVVOeVF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJSWEJDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU03UzBGRGVrSTdRVUZKUkN4SlFVRkJMRWxCUVVrc1owSkJRV2RDTEVkQlFVRTdVVUZEYkVJc1QwRkJUeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNN1MwRkRMMEk3U1VGRFJDeEpRVUZKTEdkQ1FVRm5RaXhEUVVGRExFTkJRV2RETEVWQlFVRTdRVUZEYmtRc1VVRkJRU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJSVE5DTEZGQlFVRXNTVUZCU1N4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU03UzBGRGVrSTdRVUZKUkN4SlFVRkJMRWxCUVVrc1UwRkJVeXhIUVVGQk8xRkJRMWdzVDBGQlR5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRPMHRCUTNoQ08wbEJRMFFzU1VGQlNTeFRRVUZUTEVOQlFVTXNRMEZCVlN4RlFVRkJPMEZCUTNSQ0xGRkJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkZjRUlzVVVGQlFTeEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRWxCUVVrc1EwRkJRenRMUVVONlFqdEJRVVZFT3p0QlFVVkhPMEZCUTBnc1NVRkJRU3hKUVVGWExHVkJRV1VzUjBGQlFUdEJRVU40UWl4UlFVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRE8wdEJRMkk3UVVGRlJDeEpRVUZCTEZkQlFVRXNRMEZCV1N4aFFVRnpReXhGUVVGRkxFVkJRVUU3UVVGRGJFUXNVVUZCUVN4TFFVRkxMRU5CUVVNc1JVRkJSU3haUVVGWkxFVkJRVVVzWTBGQll5eEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFXeElia01zU1VGQk5rSXNRMEZCUVN3MlFrRkJRU3hIUVVGSExFZEJRVWNzUTBGQlF6dFJRVU53UXl4SlFVRTJRaXhEUVVGQkxEWkNRVUZCTEVkQlFVY3NSMEZCUnl4RFFVRkRPMUZCUTNCRExFbEJRVGhDTEVOQlFVRXNPRUpCUVVFc1IwRkJSeXhIUVVGSExFTkJRVU03UVVGRk5VTTdPenRCUVVkSE8xRkJRMGtzU1VGQlJ5eERRVUZCTEVkQlFVRXNSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkZiRUk3T3pzN1FVRkpSenRCUVVOSkxGRkJRVUVzU1VGQlFTeERRVUZCTEdGQlFXRXNSMEZCUnl4TFFVRkxMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTTdRVUZGYmtRN096dEJRVWRITzFGQlEwc3NTVUZCYTBJc1EwRkJRU3hyUWtGQlFTeEhRVUZITEVsQlFVa3NRMEZCUXp0UlFXVXhRaXhKUVVGakxFTkJRVUVzWTBGQlFTeEhRVUZITEV0QlFVc3NRMEZCUXp0QlFYZENka0lzVVVGQlFTeEpRVUZCTEVOQlFVRXNWVUZCVlN4SFFVRXlRaXh6UWtGQmMwSXNRMEZCUXl4SlFVRkpMRU5CUVVNN1FVRjNRbXBGTEZGQlFVRXNTVUZCUVN4RFFVRkJMR2xDUVVGcFFpeEhRVUZyUXl3MlFrRkJOa0lzUTBGQlF5eEpRVUZKTEVOQlFVTTdVVUZYZEVZc1NVRkJWU3hEUVVGQkxGVkJRVUVzUjBGQlJ5eExRVUZMTEVOQlFVTTdPMUZCYzBKNlFpeEpRVUZKTEZWQlFWVXNRMEZCUXl4eFFrRkJjVUlzUlVGQlJUdEJRVU53UXl4WlFVRkJMRlZCUVZVc1EwRkJReXhWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETzBGQlF6bENMRk5CUVVFN1VVRkRSQ3hQUVVGUExGVkJRVlVzUTBGQlF5eHhRa0ZCY1VJc1EwRkJRenM3UVVGSGVFTXNVVUZCUVN4VlFVRlZMRU5CUVVNc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF6dEJRVU4wUWl4UlFVRkJMRlZCUVZVc1EwRkJReXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETzBGQlEzcENMRkZCUVVFc1ZVRkJWU3hEUVVGRExGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTTdPenRSUVVrelFpeEpRVUZKTEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NSVUZCUlR0WlFVTnlReXhWUVVGclFpeERRVUZETEZGQlFWRXNSMEZCU1N4VlFVRnJRaXhEUVVGRExGRkJRVkVzU1VGQlNTeExRVUZMTEVOQlFVTTdRVUZEZEVVc1UwRkJRVHM3TzFGQlNVUXNTVUZCU1N4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRVZCUVVVN1dVRkRja01zVlVGQmEwSXNRMEZCUXl4WlFVRlpMRWRCUVVrc1ZVRkJhMElzUTBGQlF5eFpRVUZaTEVsQlFVa3NTMEZCU3l4RFFVRkRPMWxCUXpWRkxGVkJRV3RDTEVOQlFVTXNXVUZCV1N4SFFVRkpMRlZCUVd0Q0xFTkJRVU1zV1VGQldTeEpRVUZKTEV0QlFVc3NRMEZCUXp0QlFVTTVSU3hUUVVGQk96dFJRVWRFTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eExRVUZMTEVOQlFVTTdXVUZEZUVNc1MwRkJTeXhEUVVGRExGZEJRVmNzUTBGQlF5eE5RVUZOTzFsQlEzaENMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRVU1zVTBGQlV6dFpRVU16UWl4TFFVRkxMRU5CUVVNc1YwRkJWeXhEUVVGRExGZEJRVmM3V1VGRE4wSXNTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSE8xbEJRM0pDTEV0QlFVc3NRMEZCUXl4WFFVRlhMRU5CUVVNc1RVRkJUVHRCUVVONFFpeFpRVUZCTzBGQlEwVXNaMEpCUVVFc1UwRkJVeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RlFVRkZPMmRDUVVOd1JDeGpRVUZqTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVWQlFVVTdRVUZET1VNc1owSkJRVUVzVlVGQlZTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWRCUVVjc1JVRkJSVHRuUWtGRE1VSXNiMEpCUVc5Q0xFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVU3UVVGRGNFUXNaMEpCUVVFc1owSkJRV2RDTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFVkJRVVU3UVVGRE9VUXNaMEpCUVVFc2IwSkJRVzlDTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRk8yZENRVU55UXl3clFrRkJLMElzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJUdEJRVU12UkN4blFrRkJRU3hyUWtGQmEwSXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hIUVVGSExFVkJRVVU3UVVGRGJFTXNaMEpCUVVFc2JVSkJRVzFDTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRk8yZENRVU53UXl3NFFrRkJPRUlzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJUdEJRVU01UkN4blFrRkJRU3gzUWtGQmQwSXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hIUVVGSExFVkJRVVU3UVVGRGVFTXNaMEpCUVVFc2EwSkJRV3RDTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1IwRkJSeXhGUVVGRk8wRkJRMnhETEdkQ1FVRkJMRzlDUVVGdlFpeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWRCUVVjc1JVRkJSVHRCUVVOd1F5eG5Ra0ZCUVN4WlFVRlpMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVTdRVUZEZGtRc1owSkJRVUVzWVVGQllTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1JVRkJSVHRuUWtGRE9VSXNkMEpCUVhkQ0xFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVU3UVVGRGVFUXNaMEpCUVVFc2QwSkJRWGRDTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFVkJRVVU3UVVGRGJrVXNaMEpCUVVFc2EwSkJRV3RDTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRk8yZENRVU51UXl3MlFrRkJOa0lzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJUdEJRVU0zUkN4blFrRkJRU3h2UWtGQmIwSXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hIUVVGSExFVkJRVVU3UVVGRGNFTXNaMEpCUVVFc0swSkJRU3RDTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1IwRkJSeXhGUVVGRk8wRkJReTlETEdkQ1FVRkJMSFZDUVVGMVFpeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWRCUVVjc1JVRkJSVHRCUVVOMlF5eG5Ra0ZCUVN4UlFVRlJMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVTdRVUZEYmtRc1owSkJRVUVzYVVKQlFXbENMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzUjBGQlJ5eEZRVUZGTzJkQ1FVTnFReXh6UWtGQmMwSXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNSVUZCUlR0QlFVTjBSQ3huUWtGQlFTd3lRa0ZCTWtJc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEVWQlFVVTdaMEpCUXpWRExITkRRVUZ6UXl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZPMEZCUTNSRkxHZENRVUZCTEd0Q1FVRnJRaXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVkQlFVY3NSVUZCUlR0QlFVTnNReXhuUWtGQlFTeHJRa0ZCYTBJc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNSVUZCUlR0QlFVTTNSQ3huUWtGQlFTeDNRa0ZCZDBJc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEhRVUZITEVWQlFVVTdRVUZEZUVNc1owSkJRVUVzYzBKQlFYTkNMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeEZRVUZGTzJkQ1FVTjJReXhwUTBGQmFVTXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNSVUZCUlR0QlFVTnFSU3huUWtGQlFTeDNRa0ZCZDBJc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEhRVUZITEVWQlFVVTdRVUZEZUVNc1owSkJRVUVzZDBKQlFYZENMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzUjBGQlJ5eEZRVUZGTzBGQlEzaERMR2RDUVVGQkxIZENRVUYzUWl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxFZEJRVWNzUlVGQlJUdEJRVU42UXl4aFFVRkJPMEZCUTBRc1dVRkJRU3hWUVVGVkxFTkJRVU1zVVVGQlVUdEJRVU53UWl4VFFVRkJMRU5CUVVNc1EwRkJRenM3UVVGSFNDeFJRVUZCTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03TzFGQlJ6TkNMRWxCUVVrc1EwRkJReXg1UWtGQmVVSXNSVUZCUlN4RFFVRkRPenRCUVVkcVF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUjBGQlJ5eE5RVU16UWp0WlFVTkZMRWRCUVVjc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVRXNSVUZCUnl4TFFVRkxMRU5CUVVFc1EwRkJRU3hGUVVGSkxFdEJRVXNzUTBGQlFTeERRVUZGTEVOQlFVTTdRVUZEZGtZc1dVRkJRU3hKUVVGSkxFTkJRVU1zWVVGQllTeEhRVUZITERKQ1FVRXlRaXh2UWtGQmIwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVUVzUTBGQlJTeEhRVUZITEVWQlFVVTdRVUZETDBZc1dVRkJRU3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNPMnRDUVVOeVFpeHJRMEZCYTBNc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVVXNRMEZCUVR0QlFVTnlSaXhyUWtGQlJTeEZRVUZGTzBGQlEwNHNXVUZCUVN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVkQlFVY3NaME5CUVdkRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4RFFVRkJMRU5CUVVVc1IwRkJSeXhGUVVGRk8wRkJReTlITEZOQlFVRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRlpDeFJRVUZCTEVsQlFVa3NRMEZCUXl4bFFVRmxMRWRCUVVjc1EwRkJReXhOUVVGTkxFdEJRVWs3V1VGRGFFTXNUVUZCVFN4aFFVRmhMRWRCUVVjc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkZia1FzV1VGQlFTeE5RVUZOTEU5QlFVOHNSMEZEV0N4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGTkxFMUJRVUVzUTBGQlFTeE5RVUZCTEVOQlFVRXNUVUZCUVN4RFFVRkJMRTFCUVVFc1EwRkJRU3hGUVVGQkxFVkJRVUVzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhGUVVGRkxFTkJRVUVzUlVGQlN5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkhMRU5CUVVFN1FVRkROVVFzYVVKQlFVRXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJRenRCUVVOdVF5eHBRa0ZCUVN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRlhMRkZCUVVFc1JVRkJRU3hMUVVGTExFTkJRVWtzUTBGQlFTeEZRVUZCTEV0QlFVc3NSVUZCUlN4RFFVRkRPMEZCUTNCRUxHbENRVUZCTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU03TzFsQlIzWkNMRTFCUVUwc1EwRkJReXhaUVVGWkxFZEJRVWNzVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4WlFVRlpMRU5CUVVNN1dVRkRjRVFzVFVGQlRTeERRVUZETEdOQlFXTXNSMEZCUnl4UFFVRlBMRWRCUVVjc1RVRkJUU3hEUVVGRExHTkJRV01zUTBGQlF6czdPenRaUVUxNFJDeEpRVUZKTEdGQlFXRXNSMEZCUnl4SFFVRkhMRVZCUVVVN1FVRkRka0lzWjBKQlFVRXNUVUZCVFN4RFFVRkRMR05CUVdNc1IwRkJSeXhOUVVGTkxFTkJRVU1zWTBGQll5eERRVUZETEU5QlFVOHNRMEZEYmtRc1owTkJRV2RETEVWQlEyaERMQ3RDUVVFclFpeERRVU5vUXl4RFFVRkRPMEZCUTBnc1lVRkJRVHM3TzFsQlNVUXNTVUZCU1N4aFFVRmhMRWRCUVVjc1IwRkJSeXhGUVVGRk8wRkJRM1pDTEdkQ1FVRkJMRTFCUVUwc1EwRkJReXhqUVVGakxFZEJRVWNzVFVGQlRTeERRVUZETEdOQlFXTXNRMEZCUXl4UFFVRlBMRU5CUVVNc2FVTkJRV2xETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkROMFlzWjBKQlFVRXNUVUZCVFN4RFFVRkRMR05CUVdNc1IwRkJSeXhOUVVGTkxFTkJRVU1zWTBGQll5eERRVUZETEU5QlFVOHNRMEZCUXl4dlEwRkJiME1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTnFSeXhoUVVGQk8wRkJRMGdzVTBGQlF5eERRVUZETzB0QlEwZzdRVUZGUkRzN096dEJRVWxITzBGQlEwa3NTVUZCUVN4TlFVRk5MRU5CUVVNc1MwRkJZU3hGUVVGQk8xRkJRM3BDTEVsQlFVa3NRMEZCUXl4NVFrRkJlVUlzUlVGQlJTeERRVUZETzBGQlEycERMRkZCUVVFc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wdEJRMmhETzBGQlJVMHNTVUZCUVN4SlFVRkpMRU5CUVVNc1RVRkJXU3hGUVVGQk8wRkJRM1JDTEZGQlFVRXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6czdPenM3T3pzN08wRkJWVzVDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRWRCUVVjc1IwRkJSeXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETzBGQlEzUkNMRkZCUVVFc1NVRkJTU3hEUVVGRExGTkJRVk1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRPMEZCUTJ4RExGRkJRVUVzU1VGQlNTeERRVUZETEZkQlFWY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1YwRkJWeXhEUVVGRE8wRkJRM1JETEZGQlFVRXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEhRVUZITEUxQlFVMHNRMEZCUXl4dlFrRkJiMElzUTBGQlF6dEJRVU40UkN4UlFVRkJMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNSMEZCUnl4TlFVRk5MRU5CUVVNc2JVSkJRVzFDTEVOQlFVTTdRVUZEZEVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zWVVGQllTeEhRVUZITEUxQlFVMHNRMEZCUXl4aFFVRmhMRU5CUVVNN1FVRkRNVU1zVVVGQlFTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFZEJRVWNzVFVGQlRTeERRVUZETEd0Q1FVRnJRaXhEUVVGRE8wRkJRM0JFTEZGQlFVRXNTVUZCU1N4RFFVRkRMREpDUVVFeVFpeEhRVUZITEUxQlFVMHNRMEZCUXl3eVFrRkJNa0lzUTBGQlF6dEJRVU4wUlN4UlFVRkJMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNSMEZCUnl4TlFVRk5MRU5CUVVNc2MwSkJRWE5DTEVOQlFVTTdPMEZCUnpWRUxGRkJRVUVzU1VGQlNTeERRVUZETEdGQlFXRXNSMEZCUnl4TlFVRk5MRU5CUVVNc1lVRkJZU3hEUVVGRE8wRkJSVEZETEZGQlFVRXNTVUZCU1N4RFFVRkRMRFpDUVVFMlFpeEhRVUZITEUxQlFVMHNRMEZCUXl3MlFrRkJOa0lzUTBGQlF6dEJRVU14UlN4UlFVRkJMRWxCUVVrc1EwRkJReXcyUWtGQk5rSXNSMEZCUnl4TlFVRk5MRU5CUVVNc05rSkJRVFpDTEVOQlFVTTdRVUZETVVVc1VVRkJRU3hKUVVGSkxFTkJRVU1zT0VKQlFUaENMRWRCUVVjc1RVRkJUU3hEUVVGRExEaENRVUU0UWl4RFFVRkRPMEZCUlRWRkxGRkJRVUVzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhIUVVGSExFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1EwRkJRenRCUVVWc1JDeFJRVUZCTEVsQlFVa3NRMEZCUXl4aFFVRmhMRWRCUVVjc1RVRkJUU3hEUVVGRExHRkJRV0VzUTBGQlF6dEJRVU14UXl4UlFVRkJMRWxCUVVrc1EwRkJReXhUUVVGVExFZEJRVWNzVFVGQlRTeERRVUZETEZOQlFWTXNRMEZCUXp0QlFVTnNReXhSUVVGQkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1IwRkJSeXhOUVVGTkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNN1FVRkZhRVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNVMEZCVXl4SFFVRkhMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU03TzBGQlIyeERMRkZCUVVFc1NVRkJTU3hEUVVGRExGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZGZUVJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dExRVU5pTzBGQlJVUTdPenM3UVVGSlJ6dEJRVU5MTEVsQlFVRXNhMEpCUVd0Q0xFTkJRVU1zUzBGQllTeEZRVUZCTzBGQlEzUkRMRkZCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhMUVVGTExFbEJRVWtzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl3MlFrRkJOa0lzUTBGQlF6dEJRVU16Uml4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zZDBKQlFYZENMRU5CUVVNc1MwRkJTeXhKUVVGSkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNOa0pCUVRaQ0xFTkJRVU03UVVGRE0wWXNVVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExIZENRVUYzUWl4RFFVRkRMRXRCUVVzc1NVRkJTU3hMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETERoQ1FVRTRRaXhEUVVGRE8wRkJSVFZHTEZGQlFVRXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeEhRVUZITEVsQlFVa3NRMEZCUXp0TFFVTm9RenRCUVVWRU96czdRVUZIUnp0SlFVTkxMSGxDUVVGNVFpeEhRVUZCT3pzN08xRkJTUzlDTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1QwRkJUeXhEUVVGRExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRPenRCUVVjelF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWRCUVVjc1JVRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRPMEZCUXpORkxGRkJRVUVzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNVMEZCVXl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1EwRkJRenRCUVVOMlJpeFJRVUZCTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmRCUVZjc1JVRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEhOQ1FVRnpRaXhEUVVGRExFTkJRVU03UVVGRE0wWXNVVUZCUVN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXh2UWtGQmIwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExDdENRVUVyUWl4RFFVRkRMRU5CUVVNN1FVRkROMGNzVVVGQlFTeEpRVUZKTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRGhDUVVFNFFpeERRVUZETEVOQlFVTTdRVUZETTBjc1VVRkJRU3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eGhRVUZoTEVWQlFVVXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4RFFVRkRPMEZCUXk5R0xGRkJRVUVzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl3MlFrRkJOa0lzUTBGQlF5eERRVUZETzBGQlEzcEhMRkZCUVVFc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVTjJRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETERKQ1FVRXlRaXhGUVVONlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMSE5EUVVGelF5eERRVU55UkN4RFFVRkRPMEZCUTBZc1VVRkJRU3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHpRa0ZCYzBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEdsRFFVRnBReXhEUVVGRExFTkJRVU03TzFGQlIycElMRTFCUVUwc1lVRkJZU3hIUVVGSExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJSVzVFTEVsQlFVa3NZVUZCWVN4SlFVRkpMRWRCUVVjc1JVRkJSVHRaUVVONFFpeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXp0QlFVTm9SQ3hUUVVGQk8wRkJSVVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFZEJRVWNzU1VGQlNTeERRVUZETzB0QlEyaERPMEZCUlVRN08wRkJSVWM3U1VGRFN5eG5Ra0ZCWjBJc1IwRkJRVHRSUVVOMFFpeE5RVUZOTEdGQlFXRXNSMEZCUnl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVVnVSQ3hSUVVGQkxFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl3eVFrRkJNa0lzUzBGQlN5eEpRVUZKTEVOQlFVTTdRVUZET1VRc1VVRkJRU3hOUVVGTkxGZEJRVmNzUjBGRFppeEpRVUZKTEVOQlFVTXNSMEZCUnl4TFFVRkxMRWxCUVVrN1dVRkRha0lzU1VGQlNTeERRVUZETEZkQlFWY3NTMEZCU3l4SlFVRkpPMWxCUTNwQ0xFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1MwRkJTeXhKUVVGSk8xbEJRMnhETEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUzBGQlN5eEpRVUZKTzFsQlEycERMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNTMEZCU3l4SlFVRkpPMEZCUTJoRExGbEJRVUVzU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhMUVVGTExFbEJRVWtzUTBGQlF6dFJRVVYyUXl4UFFVRlBPenM3UVVGSFRDeFpRVUZCTEhkQ1FVRjNRaXhGUVVGRkxHRkJRV0U3V1VGRmRrTXNUMEZCVHl4RlFVRkZMRWxCUVVrc1EwRkJReXhWUVVGVk8xbEJRM2hDTEZsQlFWa3NSVUZCUlN4WFFVRlhMRWxCUVVrc1YwRkJWenRCUVVONFF5eFpRVUZCTEhGQ1FVRnhRaXhGUVVGRkxGZEJRVmNzU1VGQlNTeERRVUZETEZkQlFWYzdXVUZEYkVRc1pVRkJaU3hGUVVGRkxFbEJRVWtzUTBGQlF5eGpRVUZqTzBGQlEzQkRMRmxCUVVFc2QwSkJRWGRDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeExRVUZMTEVsQlFVazdRVUZETlVRc1dVRkJRU3gxUWtGQmRVSXNSVUZCUlN4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEV0QlFVc3NTVUZCU1R0QlFVTXhSQ3haUVVGQkxHbENRVUZwUWl4RlFVRkZMRWxCUVVrc1EwRkJReXhoUVVGaExFdEJRVXNzU1VGQlNUdEJRVU01UXl4WlFVRkJMSE5DUVVGelFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUzBGQlN5eEpRVUZKTzFsQlEzaEVMQ3RDUVVFclFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWxCUVVrc1NVRkJTU3hEUVVGRExESkNRVUV5UWl4TFFVRkxMRWxCUVVrN1FVRkROMFlzV1VGQlFTd3dRa0ZCTUVJc1JVRkJSU3hKUVVGSkxFTkJRVU1zYzBKQlFYTkNMRXRCUVVzc1NVRkJTVHRCUVVOb1JTeFpRVUZCTEcxQ1FVRnRRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1MwRkJTeXhKUVVGSk8wRkJRM0pFTEZsQlFVRXNXVUZCV1N4RlFVRkZMRWxCUVVrc1EwRkJReXhWUVVGVkxFdEJRVXNzVVVGQlVUdEJRVU14UXl4WlFVRkJMR3RDUVVGclFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZMRXRCUVVzc1kwRkJZenRCUVVOMFJDeFpRVUZCTEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hMUVVGTExFbEJRVWs3V1VGRGJFTXNiVUpCUVcxQ0xFVkJRVVVzU1VGQlNTeERRVUZETEZWQlFWVXNTVUZCU1N4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEV0QlFVc3NOa0pCUVRaQ0xFTkJRVU1zWjBKQlFXZENPMWxCUTJwSUxHOUNRVUZ2UWl4RlFVTnNRaXhKUVVGSkxFTkJRVU1zVlVGQlZTeEpRVUZKTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUzBGQlN5dzJRa0ZCTmtJc1EwRkJReXhwUWtGQmFVSTdVMEZEYUVjc1EwRkJRenRMUVVOSU8wbEJSVThzYjBKQlFXOUNMRU5CUVVNc1IwRkJlVU1zUlVGQlJTeEhRVUZyUXl4RlFVRkJPMUZCUTNoSExFbEJRVWtzUjBGQlJ5eERRVUZETEV0QlFVc3NSVUZCUlR0QlFVTmlMRmxCUVVFc1NVRkJTU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEdkQ1FVRm5RaXhGUVVGRk8wRkJRemxDTEdkQ1FVRkJMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zV1VGQldTeEZRVUZGTEVOQlFVTTdRVUZETVVJc1lVRkJRVHRaUVVWRUxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdRVUZEYkVNc1UwRkJRVHRMUVVOR08wRkJRMFk3TzBGRGRHOUNSQ3hOUVVGTkxIRkNRVUZ4UWl4SFFVRTJRanRCUVVOMFJDeEpRVUZCTEVWQlFVVXNSVUZCUlN4SlFVRkpPMEZCUTFJc1NVRkJRU3hKUVVGSkxFVkJRVVVzU1VGQlNUdERRVU5ZTEVOQlFVTTdRVUZGUmpzN096czdPenM3TzBGQlUwYzdRVUZEWVN4VFFVRkJMRzlDUVVGdlFpeERRVUZETEU5QlFYTkNMRVZCUVVVc1ZVRkJkVUlzUlVGQlFUdEpRVU5zUml4SlFVRkpMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVUZGTEVWQlFVVXNRMEZCUXl4SlFVRkpMRWRCUVVjc1JVRkJSVHRCUVVOMlF5eFJRVUZCTEU5QlFVOHNRMEZCUXl4VlFVRlZMRWRCUVVjc1ZVRkJWU3hEUVVGRE8wRkJRMnBETEV0QlFVRTdRVUZCVFN4VFFVRkJPMEZCUTBvc1VVRkJRU3hQUVVGbExFTkJRVU1zVVVGQlVTeEhRVUZITEhGQ1FVRnhRaXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBGQlF5OUVMRXRCUVVFN1FVRkRTRHM3UVVOc1FrRTdPenM3UVVGSlJ6dE5RVU5WTEcxRFFVRnRReXhEUVVGQk8wRkJTemxETEVsQlFVRXNTVUZCVnl4UFFVRlBMRWRCUVVFN1VVRkRhRUlzVDBGQlR5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dExRVU53UXp0SlFVVkVMRmRCUVcxQ0xFTkJRVUVzVFVGQmEwSXNSVUZCUlN4alFVRjFReXhGUVVGQk8wRkJRelZGTEZGQlFVRXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU03UVVGRGRFSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1pVRkJaU3hIUVVGSExHTkJRV01zUTBGQlF6dEJRVU4wUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhUUVVGVExFZEJRVWNzUlVGQlJTeERRVUZETzB0QlEzSkNPMGxCUlUwc1pVRkJaU3hEUVVFd1F5eEhRVUZOTEVWQlFVVXNTMEZCYVVNc1JVRkJRVHRSUVVOMlJ5eEpRVUZKTEV0QlFVc3NTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkRha0lzV1VGQlFTeEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF6dEJRVU51UXl4VFFVRkJPMHRCUTBZN1FVRkZUU3hKUVVGQkxGZEJRVmNzUTBGRGFFSXNSMEZCVFN4RlFVTk9MRXRCUVRKQ0xFVkJRek5DTEcxQ1FVRTJRaXhGUVVGQk8xRkJSVGRDTEVsQlFVa3NTMEZCU3l4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOcVFpeFpRVUZCTEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzBGQlJTOUVMRmxCUVVFc1NVRkJTU3h0UWtGQmJVSXNSVUZCUlR0blFrRkRka0lzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXh0UWtGQmJVSXNSVUZCUlN4RFFVRkRPMEZCUTJwRUxHRkJRVUU3UVVGRFJpeFRRVUZCTzB0QlEwWTdRVUZGV1N4SlFVRkJMR0ZCUVdFc1EwRkRlRUlzUjBGQlRTeEZRVU5PTEU5QlFYTkRMRVZCUTNSRExHTkJRWFZDTEVWQlFVRTdPMEZCUlhaQ0xGbEJRVUVzVFVGQlRTeFBRVUZQTEVkQlFVY3NRMEZCUXl4TlFVRlhMRk5CUVVFc1EwRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeERRVUZCTEVWQlFVRXNTMEZCUVN4RFFVRkJMRVZCUVVFc1lVRkJRVHRuUWtGRE1VSXNTVUZCU1N4UFFVRlBMRWxCUVVrc1NVRkJTU3hGUVVGRk8wRkJRMjVDTEc5Q1FVRkJMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eGhRVUZoTEVOQlFVTXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1JVRkJSU3hIUVVGSExFVkJRVVVzVDBGQlR5eERRVUZETEVOQlFVTTdRVUZGY2tVc2IwSkJRVUVzU1VGQlNTeGpRVUZqTEVWQlFVVTdkMEpCUTJ4Q0xHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRla1FzY1VKQlFVRTdRVUZEUml4cFFrRkJRVHRoUVVOR0xFTkJRVUVzUjBGQlJ5eERRVUZETzBGQlJVd3NXVUZCUVN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0QlFVVTNRaXhaUVVGQkxFOUJRVThzVDBGQlR5eERRVUZETzFOQlEyaENMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRVUU3UVVGRldTeEpRVUZCTEc5Q1FVRnZRaXhEUVVNdlFpeEhRVUZOTEVWQlEwNHNXVUZCWjBNc1JVRkRhRU1zWTBGQmRVSXNSVUZCUVRzN1dVRkZka0lzVDBGQlR5eEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWRCUVVjc1JVRkJSU3haUVVGWkxFbEJRVWtzU1VGQlNTeEhRVUZITEVWQlFVVXNTMEZCU3l4RlFVRkZMRmxCUVZrc1JVRkJSU3hIUVVGSExGTkJRVk1zUlVGQlJTeGpRVUZqTEVOQlFVTXNRMEZCUXp0VFFVTTFSeXhEUVVGQkxFTkJRVUU3UVVGQlFTeExRVUZCTzBGQlEwWTdPMEZETjBSRU96dEJRVVZITzBGQlEwZ3NUVUZCVFN4elFrRkJjMElzUjBGQlJ5eEpRVUZKTEVkQlFVY3NRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETzAxQlJTOURMSGxDUVVGNVFpeERRVUZCTzBGQmEwTndReXhKUVVGQkxFbEJRVmNzU1VGQlNTeEhRVUZCTzFGQlEySXNUMEZCVHl4NVFrRkJlVUlzUTBGQlF5eGpRVUZqTEVOQlFVTTdTMEZEYWtRN1NVRkZSQ3hYUVVGdFFpeERRVUZCTEUxQlFXdENMRVZCUVVVc1QwRkJRU3hIUVVFMFF5eEZRVUZGTEVWQlFVRTdPMEZCUTI1R0xGRkJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1VVRkZja0lzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEU5QlFVOHNRMEZCUXl4cFFrRkJhVUlzVFVGQlNTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlFTeERRVUZETEVOQlFVTTdVVUZEZUVRc1NVRkJTU3hEUVVGRExHRkJRV0VzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4UFFVRlBMRU5CUVVNc1lVRkJZU3hOUVVGSkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGQkxFdEJRVXNzUTBGQlF6dFJRVU53UkN4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEU5QlFVOHNRMEZCUXl4VFFVRlRMRTFCUVVrc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVFc1RVRkJUU3hEUVVGRE8wRkJSVGRETEZGQlFVRXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRkZMRU5CUVVNN1MwRkRjRU03U1VGRldTeFZRVUZWTEVkQlFVRTdPMWxCUTNKQ0xFbEJRVWtzUTBGQlF5eHJRMEZCYTBNc1JVRkJSU3hEUVVGRE8xTkJRek5ETEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUVVFN1FVRkZXU3hKUVVGQkxGTkJRVk1zUTBGQlF5eEpRVUZWTEVWQlFVRTdPMEZCUXk5Q0xGbEJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4cFFrRkJhVUlzUjBGQlJ5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMU5CUTNSRkxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlFVRTdRVUZGVFN4SlFVRkJMR1ZCUVdVc1EwRkJReXhoUVVGeFFpeEZRVUZCTzFGQlF6RkRMRTFCUVUwc1YwRkJWeXhIUVVGSExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhoUVVGaExFTkJRVU1zUTBGQlF6dEJRVU16UkN4UlFVRkJMRWxCUVVrc1YwRkJWeXhGUVVGRk8wRkJRMllzV1VGQlFTeFBRVUZQTEdGQlFXRXNRMEZCUXp0QlFVTjBRaXhUUVVGQk8wRkJSVVFzVVVGQlFTeFBRVUZQTEVsQlFVa3NRMEZCUXp0TFFVTmlPMGxCUlUwc2IwSkJRVzlDTEVOQlFVTXNZVUZCY1VJc1JVRkJSU3hqUVVGMVF5eEZRVUZCTzFGQlEzaEdMRTFCUVUwc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhoUVVGaExFTkJRVU1zUTBGQlF6dEJRVU42UkN4UlFVRkJMRWxCUVVrc1UwRkJVeXhGUVVGRk8xbEJRMklzVDBGQlR5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zVTBGQlV5eEZRVUZGTEdOQlFXTXNRMEZCUXl4RFFVRkRPMEZCUXpsRUxGTkJRVUU3UVVGRlJDeFJRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMHRCUTJJN1FVRkZXU3hKUVVGQkxGRkJRVkVzUTBGQlF5eFRRVUZwUWl4RlFVRkJPenM3UVVGRGNrTXNXVUZCUVN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzBGQlF6TkNMRmxCUVVFc1RVRkJUU3hKUVVGSkxFZEJRVWNzVFVGQlRTeERRVUZETEVsQlFYZENMRU5CUVVNN1dVRkZOME1zVFVGQlRTeFBRVUZQTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUnl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVWNlF5eEpRVUZKTEU5QlFVOHNTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkRia0lzWjBKQlFVRXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkRZaXh2UkVGQmIwUXNVMEZCVXl4RFFVRkJMRzlEUVVGQkxFTkJRWE5ETEVOQlEzQkhMRU5CUVVNN1FVRkRTQ3hoUVVGQk8wRkJSVVFzV1VGQlFTeE5RVUZOTEdGQlFXRXNSMEZCUnl4UFFVRlBMRU5CUVVNc1ZVRkJWU3hEUVVGRE8xbEJSWHBETEUxQlFVMHNWMEZCVnl4SFFVRkhMRTFCUVUwc1RVRkJUU3hEUVVGRExGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0QlFVVnlSQ3haUVVGQkxFbEJRVWtzWVVGQllTeERRVUZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRVZCUVVVN1owSkJRemxDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRmRCUVhsQ0xFTkJRVU03WjBKQlEzWkRMRTFCUVUwc1lVRkJZU3hIUVVGSExHRkJRV0VzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNN1owSkJSV2hFTEVsQlFVa3NZVUZCWVN4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVONlFpeHZRa0ZCUVN4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRExFbEJRVWtzUlVGQlJTeGhRVUZoTEVOQlFVTXNRMEZCUXp0QlFVTXpReXhwUWtGQlFUdEJRVU5HTEdGQlFVRTdRVUZCVFN4cFFrRkJRVHRuUWtGRFRDeE5RVUZOTEV0QlFVc3NSMEZCUnl4WFFVRXdRaXhEUVVGRE8wRkJRM3BETEdkQ1FVRkJMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4aFFVRmhMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzI5Q1FVTTNReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJaU3hEUVVGRE8yOUNRVU0zUXl4TlFVRk5MR0ZCUVdFc1IwRkJSeXhoUVVGaExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNVVUZCVVN4RFFVRkRPMjlDUVVWb1JDeEpRVUZKTEdGQlFXRXNTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkRla0lzZDBKQlFVRXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhKUVVGSkxFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTTdRVUZETTBNc2NVSkJRVUU3UVVGRFJpeHBRa0ZCUVR0QlFVTkdMR0ZCUVVFN1FVRkZSQ3haUVVGQkxFOUJRVThzVjBGQlZ5eERRVUZET3p0QlFVTndRaXhMUVVGQk8wRkJSVVE3T3pzN08wRkJTMGM3U1VGRFN5eHJRMEZCYTBNc1IwRkJRVHRCUVVONFF5eFJRVUZCTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU03UVVGRE0wSXNVVUZCUVN4TlFVRk5MRWxCUVVrc1IwRkJSeXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXp0QlFVVTNReXhSUVVGQkxFMUJRVTBzV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNN1FVRkRjRU1zVVVGQlFTeFpRVUZaTEV0QlFWb3NTVUZCUVN4SlFVRkJMRmxCUVZrc1MwRkJXaXhMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4WlFVRlpMRU5CUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zVjBGQlZ5eEZRVUZGTEZOQlFWTXNTMEZCU1RzN1dVRkRNME1zVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMWxCUlhKRUxFbEJRVWtzVTBGQlV5eExRVUZKTEVOQlFVRXNSVUZCUVN4SFFVRkJMRmRCUVZjc1EwRkJReXhWUVVGVkxFMUJRVWNzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNjVUpCUVhGQ0xFTkJRVU1zUTBGQlFTeEZRVUZGTzBGQlEyaEZMR2RDUVVGQkxFOUJRVThzVjBGQlZ5eERRVUZETEZWQlFWVXNRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZETzBGQlEzUkVMR0ZCUVVFN1FVRkRTQ3hUUVVGRExFTkJRVU1zUTBGQlF6dExRVU5LTzBGQlJVOHNTVUZCUVN4clFrRkJhMElzUTBGQlF5eGhRVUZ4UWl4RlFVRkJPenRCUVVNNVF5eFJRVUZCTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU03UVVGRE0wSXNVVUZCUVN4TlFVRk5MRWxCUVVrc1IwRkJSeXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXp0UlFVVTNReXhOUVVGTkxGZEJRVmNzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1UwRkJVeXhOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEdGQlFXRXNRMEZCUXl4RFFVRkRPMUZCUlhCRUxFbEJRVWtzVjBGQlZ5eEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTjJRaXhaUVVGQkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlExWXNkVVJCUVhWRUxHRkJRV0VzUTBGQlFTeDNRMEZCUVN4RFFVRXdReXhEUVVNdlJ5eERRVUZETzBGQlEwWXNXVUZCUVN4UFFVRlBMRk5CUVZNc1EwRkJRenRCUVVOc1FpeFRRVUZCTzFGQlJVUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzVjBGQlZ5eERRVUZETEZWQlFWVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXg1UWtGQmVVSXNRMEZCUXl4alFVRmpMRU5CUlhSRkxFTkJRVU03VVVGRFpDeEpRVUZKTEZOQlFWTXNTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkRja0lzV1VGQlFTeFBRVUZQTEZOQlFWTXNRMEZCUXp0QlFVTnNRaXhUUVVGQk8wRkJSVVFzVVVGQlFTeE5RVUZOTEZkQlFWY3NSMEZCUnl4VFFVRlRMRU5CUVVNc1YwRkJWeXhEUVVGRE8wRkJRekZETEZGQlFVRXNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZETEVkQlFVY3NRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSVHRaUVVNMVF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMRU5CUVhORExHMURRVUZCTEVWQlFVRXNlVUpCUVhsQ0xFTkJRVU1zWTBGQll5eERRVUZwUWl4alFVRkJMRVZCUVVFc1YwRkJWeXhEUVVGSExFTkJRVUVzUTBGQlFTeERRVU01Unl4RFFVRkRPMEZCUTBZc1dVRkJRU3hQUVVGUExGTkJRVk1zUTBGQlF6dEJRVU5zUWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hQUVVGUExGTkJRVk1zUTBGQlF6dExRVU5zUWp0SlFVVmhMSEZDUVVGeFFpeERRVU5xUXl4VFFVRXlReXhGUVVNelF5eGpRVUYxUXl4RlFVRkJPenM3TzFsQlIzWkRMRTlCUVZFc1kwRkJkVVFzUTBGQlF5eFRRVUZUTEVOQlFVTTdXVUZETVVVc1QwRkJVU3hqUVVGMVJDeERRVUZETEZOQlFWTXNRMEZCUXp0WlFVVXhSU3hOUVVGTkxGbEJRVmtzUjBGQlJ5eEpRVUZKTEcxRFFVRnRReXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNZMEZCWXl4RFFVRkRMRU5CUVVNN1dVRkZNVVlzV1VGQldTeERRVUZETEdWQlFXVXNRMEZCUXl4MVFrRkJkVUlzUlVGQlJTeFRRVUZUTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zUTBGQlF6dFpRVU4yUml4WlFVRlpMRU5CUVVNc1YwRkJWeXhEUVVGRExHdENRVUZyUWl4RlFVRkZMRk5CUVZNc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRPMWxCUTNwRkxGbEJRVmtzUTBGQlF5eGhRVUZoTEVOQlFVTXNjMEpCUVhOQ0xFVkJRVVVzVTBGQlV5eERRVUZETEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFsQlEzcEdMRmxCUVZrc1EwRkJReXhsUVVGbExFTkJRVU1zYjBKQlFXOUNMRVZCUVVVc1UwRkJVeXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNN1dVRkRha1lzV1VGQldTeERRVUZETEdGQlFXRXNRMEZCUXl4eFFrRkJjVUlzUlVGQlJTeFRRVUZUTEVOQlFVTXNiVUpCUVcxQ0xFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdRVUZEZGtZc1dVRkJRU3haUVVGWkxFTkJRVU1zWlVGQlpTeERRVUZETERCQ1FVRXdRaXhGUVVGRkxFTkJRVUVzUlVGQlFTeEhRVUZCTEZOQlFWTXNRMEZCUXl4dFFrRkJiVUlzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVNdlJpeFpRVUZaTEVOQlFVTXNaVUZCWlN4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTEZOQlFWTXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eERRVUZETzFsQlEycEdMRmxCUVZrc1EwRkJReXhsUVVGbExFTkJRVU1zYzBKQlFYTkNMRVZCUVVVc1UwRkJVeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNN1dVRkRja1lzV1VGQldTeERRVUZETEZkQlFWY3NRMEZCUXl4alFVRmpMRVZCUVVVc1UwRkJVeXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFsQlEycEZMRmxCUVZrc1EwRkJReXhoUVVGaExFTkJRVU1zWlVGQlpTeEZRVUZGTEZOQlFWTXNRMEZCUXl4aFFVRmhMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03V1VGRE0wVXNXVUZCV1N4RFFVRkRMRmRCUVZjc1EwRkJReXd3UWtGQk1FSXNSVUZCUlN4VFFVRlRMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNRMEZCUXp0WlFVTjZSaXhaUVVGWkxFTkJRVU1zWVVGQllTeERRVUZETEc5Q1FVRnZRaXhGUVVGRkxGTkJRVk1zUTBGQlF5eHJRa0ZCYTBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU55Uml4WlFVRlpMRU5CUVVNc1pVRkJaU3hEUVVGRExITkNRVUZ6UWl4RlFVRkZMRk5CUVZNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4RFFVRkRPMWxCUTNKR0xGbEJRVmtzUTBGQlF5eGxRVUZsTEVOQlFVTXNhVU5CUVdsRExFVkJRVVVzVTBGQlV5eERRVUZETEN0Q1FVRXJRaXhEUVVGRExFTkJRVU03V1VGRE0wY3NXVUZCV1N4RFFVRkRMR1ZCUVdVc1EwRkJReXg1UWtGQmVVSXNSVUZCUlN4VFFVRlRMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNRMEZCUXp0WlFVTXpSaXhaUVVGWkxFTkJRVU1zWlVGQlpTeERRVUZETEd0Q1FVRnJRaXhGUVVGRkxGTkJRVk1zUTBGQlF5eG5Ra0ZCYVVRc1EwRkJReXhEUVVGRE8xbEJRemxITEZsQlFWa3NRMEZCUXl4bFFVRmxMRU5CUVVNc2IwSkJRVzlDTEVWQlFVVXNVMEZCVXl4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTTdXVUZEYWtZc1dVRkJXU3hEUVVGRExHRkJRV0VzUTBGQlF5dzJRa0ZCTmtJc1JVRkJSU3hUUVVGVExFTkJRVU1zTWtKQlFUSkNMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03V1VGRGVFY3NXVUZCV1N4RFFVRkRMRmRCUVZjc1EwRkJReXh2UWtGQmIwSXNSVUZCUlN4VFFVRlRMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXp0WlFVTTNSU3haUVVGWkxFTkJRVU1zWlVGQlpTeERRVUZETERCQ1FVRXdRaXhGUVVGRkxGTkJRVk1zUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhEUVVGRE8xbEJRemRHTEZsQlFWa3NRMEZCUXl4aFFVRmhMRU5CUVVNc2QwSkJRWGRDTEVWQlFVVXNVMEZCVXl4RFFVRkRMSE5DUVVGelFpeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMWxCUXpsR0xGbEJRVmtzUTBGQlF5eGxRVUZsTEVOQlFVTXNLMEpCUVN0Q0xFVkJRVVVzVTBGQlV5eERRVUZETERaQ1FVRTJRaXhEUVVGRExFTkJRVU03V1VGRGRrY3NXVUZCV1N4RFFVRkRMR1ZCUVdVc1EwRkJReXdyUWtGQkswSXNSVUZCUlN4VFFVRlRMRU5CUVVNc05rSkJRVFpDTEVOQlFVTXNRMEZCUXp0WlFVTjJSeXhaUVVGWkxFTkJRVU1zWlVGQlpTeERRVUZETEdkRFFVRm5ReXhGUVVGRkxGTkJRVk1zUTBGQlF5dzRRa0ZCT0VJc1EwRkJReXhEUVVGRE8xbEJSWHBITEZsQlFWa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1pVRkJaU3hGUVVGRkxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNRMEZCUXp0WlFVTnNSU3haUVVGWkxFTkJRVU1zWlVGQlpTeERRVUZETEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03V1VGRk1VUXNUVUZCVFN4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRE96dEJRVU0xUWl4TFFVRkJPMEZCUlVRN096czdPenM3TzBGQlVVYzdTVUZEU3l4bFFVRmxMRU5CUVVNc1NVRkJaMElzUlVGQlJTeGhRVUZ4UWl4RlFVRkJPMUZCUXpkRUxFMUJRVTBzVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eGhRVUZoTEVOQlFVTXNRMEZCUXp0QlFVTjZSQ3hSUVVGQkxFbEJRVWtzVTBGQlV5eEZRVUZGTzFsQlEySXNUVUZCVFN4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8xbEJRM1JFTEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1YwRkJWeXhIUVVGSExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJRenRCUVVWNFJDeFpRVUZCTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVVTFRaXhaUVVGQkxFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVVUzUWl4UFFVRlBPMEZCUTFJc1UwRkJRVHRMUVVOR08wRkJSVVE3T3pzN1FVRkpSenRCUVVOTExFbEJRVUVzWjBKQlFXZENMRU5CUVVNc1NVRkJaMElzUlVGQlFUczdPenM3TzBGQlQzWkRMRkZCUVVFc1RVRkJUU3hsUVVGbExFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXp0QlFVTjBReXhSUVVGQkxFbEJRVWtzUlVGQlJTeGxRVUZsTEZsQlFWa3NZVUZCWVN4RFFVRkRMRVZCUVVVN1dVRkRMME1zVDBGQlR6dEJRVU5TTEZOQlFVRTdPMUZCUjBRc1NVRkJTU3hsUVVGbExFTkJRVU1zWjBKQlFXZENMRXRCUVVzc1RVRkJUU3hKUVVGSkxHVkJRV1VzUTBGQlF5eHJRa0ZCYTBJc1NVRkJTU3hIUVVGSExFVkJRVVU3V1VGRE5VWXNUMEZCVHp0QlFVTlNMRk5CUVVFN08xRkJSMFFzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVGRE96dEJRVWRzUXl4UlFVRkJMRTFCUVUwc1pVRkJaU3hIUVVGSExHVkJRV1VzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXp0QlFVTm9SQ3hSUVVGQkxHVkJRV1VzUTBGQlF5eEpRVUZKTEVsQlFVa3NXVUZCV1N4RFFVRkRPMEZCUTNKRExGRkJRVUVzWlVGQlpTeERRVUZETEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkRha01zVVVGQlFTeGxRVUZsTEVOQlFVTXNTVUZCU1N4SFFVRkhMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU03UVVGRGRFTXNVVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVTXNRMEZCUXpzN1FVRkhjRU1zVVVGQlFTeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRE8xRkJReTlDTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzVVVGQlVTeERRVUZETEV0QlFVc3NSMEZCUnl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUjBGQlJ5eFJRVUZSTEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEzcEhMRkZCUVZFc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6TkRMRkZCUVZFc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzB0QlF6VkRPMEZCUlU4c1NVRkJRU3hwUWtGQmFVSXNRMEZCUXl4SlFVRm5RaXhGUVVGQk8wRkJRM2hETEZGQlFVRXNUVUZCVFN4dFFrRkJiVUlzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRPMEZCUXpGRExGRkJRVUVzVFVGQlRTeFhRVUZYTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVd0Q0xFTkJRVU03UVVGRk9VTXNVVUZCUVN4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1JVRkJSVHRCUVVOMFF5eFpRVUZCTEcxQ1FVRnRRaXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZGQlFWRXNTMEZCU3l4WFFVRlhMRU5CUVVNc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZEVVc1UwRkJRVHRCUVVGTkxHRkJRVUU3UVVGRFRDeFpRVUZCTEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXp0QlFVTjBReXhUUVVGQk8wRkJSVVFzVVVGQlFTeExRVUZMTEUxQlFVMHNVVUZCVVN4SlFVRkpMRmRCUVZjc1JVRkJSVHRaUVVOc1F5eEpRVUZKTEZGQlFWRXNXVUZCV1N4aFFVRmhMRVZCUVVVN1FVRkRja01zWjBKQlFVRXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVkQlFVY3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVOMFF5eGhRVUZCTzBGQlEwWXNVMEZCUVR0TFFVTkdPMEZCUlU4c1NVRkJRU3hwUWtGQmFVSXNRMEZCUXl4VFFVRXlReXhGUVVGQk96czdPMEZCUjI1RkxGRkJRVUVzVFVGQlRTeGhRVUZoTEVkQlFVY3NVMEZCVXl4RFFVRkRMSEZDUVVGeFFpeERRVUZETzFGQlEzUkVMRTlCUVU4c1EwRkJReXhoUVVGaExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4TlFVRkJMRk5CUVZNc1EwRkJReXgxUWtGQmRVSXNUVUZCU1N4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCUVN4RFFVRkRMRU5CUVVNc1EwRkJRenRMUVVNMVJUczdRVUV2VW1Fc2VVSkJRV01zUTBGQlFTeGpRVUZCTEVkQlFVY3NjMEpCUVhOQ096czdPeUo5XG4iLCIvKiFcbiAqIEBwaXhpdi90aHJlZS12cm0tbWF0ZXJpYWxzLWhkci1lbWlzc2l2ZS1tdWx0aXBsaWVyIHYyLjAuNlxuICogU3VwcG9ydCBWUk1DX2hkcl9lbWlzc2l2ZU11bHRpcGxpZXIgZm9yIEBwaXhpdi90aHJlZS12cm1cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAtMjAyMyBwaXhpdiBJbmMuXG4gKiBAcGl4aXYvdGhyZWUtdnJtLW1hdGVyaWFscy1oZHItZW1pc3NpdmUtbXVsdGlwbGllciBpcyBkaXN0cmlidXRlZCB1bmRlciBNSVQgTGljZW5zZVxuICogaHR0cHM6Ly9naXRodWIuY29tL3BpeGl2L3RocmVlLXZybS9ibG9iL3JlbGVhc2UvTElDRU5TRVxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbmZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cblxuY2xhc3MgVlJNTWF0ZXJpYWxzSERSRW1pc3NpdmVNdWx0aXBsaWVyTG9hZGVyUGx1Z2luIHtcbiAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIFZSTU1hdGVyaWFsc0hEUkVtaXNzaXZlTXVsdGlwbGllckxvYWRlclBsdWdpbi5FWFRFTlNJT05fTkFNRTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocGFyc2VyKSB7XG4gICAgICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICAgIH1cbiAgICBleHRlbmRNYXRlcmlhbFBhcmFtcyhtYXRlcmlhbEluZGV4LCBtYXRlcmlhbFBhcmFtcykge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gdGhpcy5fZ2V0SERSRW1pc3NpdmVNdWx0aXBsaWVyRXh0ZW5zaW9uKG1hdGVyaWFsSW5kZXgpO1xuICAgICAgICAgICAgaWYgKGV4dGVuc2lvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVGhpcyBleHRlbnNpb24gaXMgYXJjaGl2ZWQuIEVtaXQgd2FybmluZ1xuICAgICAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdnJtLWMvdnJtLXNwZWNpZmljYXRpb24vcHVsbC8zNzVcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignVlJNTWF0ZXJpYWxzSERSRW1pc3NpdmVNdWx0aXBsaWVyTG9hZGVyUGx1Z2luOiBgVlJNQ19tYXRlcmlhbHNfaGRyX2VtaXNzaXZlTXVsdGlwbGllcmAgaXMgYXJjaGl2ZWQuIFVzZSBgS0hSX21hdGVyaWFsc19lbWlzc2l2ZV9zdHJlbmd0aGAgaW5zdGVhZC4nKTtcbiAgICAgICAgICAgIGNvbnN0IGVtaXNzaXZlTXVsdGlwbGllciA9IGV4dGVuc2lvbi5lbWlzc2l2ZU11bHRpcGxpZXI7XG4gICAgICAgICAgICBtYXRlcmlhbFBhcmFtcy5lbWlzc2l2ZUludGVuc2l0eSA9IGVtaXNzaXZlTXVsdGlwbGllcjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9nZXRIRFJFbWlzc2l2ZU11bHRpcGxpZXJFeHRlbnNpb24obWF0ZXJpYWxJbmRleCkge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBwYXJzZXIgPSB0aGlzLnBhcnNlcjtcbiAgICAgICAgY29uc3QganNvbiA9IHBhcnNlci5qc29uO1xuICAgICAgICBjb25zdCBtYXRlcmlhbERlZiA9IChfYSA9IGpzb24ubWF0ZXJpYWxzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbbWF0ZXJpYWxJbmRleF07XG4gICAgICAgIGlmIChtYXRlcmlhbERlZiA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTU1hdGVyaWFsc0hEUkVtaXNzaXZlTXVsdGlwbGllckxvYWRlclBsdWdpbjogQXR0ZW1wdCB0byB1c2UgbWF0ZXJpYWxzWyR7bWF0ZXJpYWxJbmRleH1dIG9mIGdsVEYgYnV0IHRoZSBtYXRlcmlhbCBkb2Vzbid0IGV4aXN0YCk7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IChfYiA9IG1hdGVyaWFsRGVmLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYltWUk1NYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUVdO1xuICAgICAgICBpZiAoZXh0ZW5zaW9uID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV4dGVuc2lvbjtcbiAgICB9XG59XG5WUk1NYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUUgPSAnVlJNQ19tYXRlcmlhbHNfaGRyX2VtaXNzaXZlTXVsdGlwbGllcic7XG5cbmV4cG9ydCB7IFZSTU1hdGVyaWFsc0hEUkVtaXNzaXZlTXVsdGlwbGllckxvYWRlclBsdWdpbiB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkR2h5WldVdGRuSnRMVzFoZEdWeWFXRnNjeTFvWkhJdFpXMXBjM05wZG1VdGJYVnNkR2x3YkdsbGNpNXRiMlIxYkdVdWFuTWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1TDI1dlpHVmZiVzlrZFd4bGN5OTBjMnhwWWk5MGMyeHBZaTVsY3pZdWFuTWlMQ0l1TGk5emNtTXZWbEpOVFdGMFpYSnBZV3h6U0VSU1JXMXBjM05wZG1WTmRXeDBhWEJzYVdWeVRHOWhaR1Z5VUd4MVoybHVMblJ6SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lwY2NseHVRMjl3ZVhKcFoyaDBJQ2hqS1NCTmFXTnliM052Wm5RZ1EyOXljRzl5WVhScGIyNHVYSEpjYmx4eVhHNVFaWEp0YVhOemFXOXVJSFJ2SUhWelpTd2dZMjl3ZVN3Z2JXOWthV1o1TENCaGJtUXZiM0lnWkdsemRISnBZblYwWlNCMGFHbHpJSE52Wm5SM1lYSmxJR1p2Y2lCaGJubGNjbHh1Y0hWeWNHOXpaU0IzYVhSb0lHOXlJSGRwZEdodmRYUWdabVZsSUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTGx4eVhHNWNjbHh1VkVoRklGTlBSbFJYUVZKRklFbFRJRkJTVDFaSlJFVkVJRndpUVZNZ1NWTmNJaUJCVGtRZ1ZFaEZJRUZWVkVoUFVpQkVTVk5EVEVGSlRWTWdRVXhNSUZkQlVsSkJUbFJKUlZNZ1YwbFVTRnh5WEc1U1JVZEJVa1FnVkU4Z1ZFaEpVeUJUVDBaVVYwRlNSU0JKVGtOTVZVUkpUa2NnUVV4TUlFbE5VRXhKUlVRZ1YwRlNVa0ZPVkVsRlV5QlBSaUJOUlZKRFNFRk9WRUZDU1V4SlZGbGNjbHh1UVU1RUlFWkpWRTVGVTFNdUlFbE9JRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JCVlZSSVQxSWdRa1VnVEVsQlFreEZJRVpQVWlCQlRsa2dVMUJGUTBsQlRDd2dSRWxTUlVOVUxGeHlYRzVKVGtSSlVrVkRWQ3dnVDFJZ1EwOU9VMFZSVlVWT1ZFbEJUQ0JFUVUxQlIwVlRJRTlTSUVGT1dTQkVRVTFCUjBWVElGZElRVlJUVDBWV1JWSWdVa1ZUVlV4VVNVNUhJRVpTVDAxY2NseHVURTlUVXlCUFJpQlZVMFVzSUVSQlZFRWdUMUlnVUZKUFJrbFVVeXdnVjBoRlZFaEZVaUJKVGlCQlRpQkJRMVJKVDA0Z1QwWWdRMDlPVkZKQlExUXNJRTVGUjB4SlIwVk9RMFVnVDFKY2NseHVUMVJJUlZJZ1ZFOVNWRWxQVlZNZ1FVTlVTVTlPTENCQlVrbFRTVTVISUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRlZUUlNCUFVseHlYRzVRUlZKR1QxSk5RVTVEUlNCUFJpQlVTRWxUSUZOUFJsUlhRVkpGTGx4eVhHNHFLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lBcUwxeHlYRzR2S2lCbmJHOWlZV3dnVW1WbWJHVmpkQ3dnVUhKdmJXbHpaU0FxTDF4eVhHNWNjbHh1ZG1GeUlHVjRkR1Z1WkZOMFlYUnBZM01nUFNCbWRXNWpkR2x2Ymloa0xDQmlLU0I3WEhKY2JpQWdJQ0JsZUhSbGJtUlRkR0YwYVdOeklEMGdUMkpxWldOMExuTmxkRkJ5YjNSdmRIbHdaVTltSUh4OFhISmNiaUFnSUNBZ0lDQWdLSHNnWDE5d2NtOTBiMTlmT2lCYlhTQjlJR2x1YzNSaGJtTmxiMllnUVhKeVlYa2dKaVlnWm5WdVkzUnBiMjRnS0dRc0lHSXBJSHNnWkM1ZlgzQnliM1J2WDE4Z1BTQmlPeUI5S1NCOGZGeHlYRzRnSUNBZ0lDQWdJR1oxYm1OMGFXOXVJQ2hrTENCaUtTQjdJR1p2Y2lBb2RtRnlJSEFnYVc0Z1lpa2dhV1lnS0U5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoaUxDQndLU2tnWkZ0d1hTQTlJR0piY0YwN0lIMDdYSEpjYmlBZ0lDQnlaWFIxY200Z1pYaDBaVzVrVTNSaGRHbGpjeWhrTENCaUtUdGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJWNGRHVnVaSE1vWkN3Z1lpa2dlMXh5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJpSUNFOVBTQmNJbVoxYm1OMGFXOXVYQ0lnSmlZZ1lpQWhQVDBnYm5Wc2JDbGNjbHh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVEyeGhjM01nWlhoMFpXNWtjeUIyWVd4MVpTQmNJaUFySUZOMGNtbHVaeWhpS1NBcklGd2lJR2x6SUc1dmRDQmhJR052Ym5OMGNuVmpkRzl5SUc5eUlHNTFiR3hjSWlrN1hISmNiaUFnSUNCbGVIUmxibVJUZEdGMGFXTnpLR1FzSUdJcE8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z1gxOG9LU0I3SUhSb2FYTXVZMjl1YzNSeWRXTjBiM0lnUFNCa095QjlYSEpjYmlBZ0lDQmtMbkJ5YjNSdmRIbHdaU0E5SUdJZ1BUMDlJRzUxYkd3Z1B5QlBZbXBsWTNRdVkzSmxZWFJsS0dJcElEb2dLRjlmTG5CeWIzUnZkSGx3WlNBOUlHSXVjSEp2ZEc5MGVYQmxMQ0J1WlhjZ1gxOG9LU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCMllYSWdYMTloYzNOcFoyNGdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0FnSUY5ZllYTnphV2R1SUQwZ1QySnFaV04wTG1GemMybG5iaUI4ZkNCbWRXNWpkR2x2YmlCZlgyRnpjMmxuYmloMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnY3l3Z2FTQTlJREVzSUc0Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb095QnBJRHdnYmpzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSE1nUFNCaGNtZDFiV1Z1ZEhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlIQWdhVzRnY3lrZ2FXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2h6TENCd0tTa2dkRnR3WFNBOUlITmJjRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlGOWZZWE56YVdkdUxtRndjR3g1S0hSb2FYTXNJR0Z5WjNWdFpXNTBjeWs3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzSmxjM1FvY3l3Z1pTa2dlMXh5WEc0Z0lDQWdkbUZ5SUhRZ1BTQjdmVHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z2N5a2dhV1lnS0U5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoekxDQndLU0FtSmlCbExtbHVaR1Y0VDJZb2NDa2dQQ0F3S1Z4eVhHNGdJQ0FnSUNBZ0lIUmJjRjBnUFNCelczQmRPMXh5WEc0Z0lDQWdhV1lnS0hNZ0lUMGdiblZzYkNBbUppQjBlWEJsYjJZZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N5QTlQVDBnWENKbWRXNWpkR2x2Ymx3aUtWeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQndJRDBnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVUzbHRZbTlzY3loektUc2dhU0E4SUhBdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dVdWFXNWtaWGhQWmlod1cybGRLU0E4SURBZ0ppWWdUMkpxWldOMExuQnliM1J2ZEhsd1pTNXdjbTl3WlhKMGVVbHpSVzUxYldWeVlXSnNaUzVqWVd4c0tITXNJSEJiYVYwcEtWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkRnR3VzJsZFhTQTlJSE5iY0Z0cFhWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJSFE3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyUmxZMjl5WVhSbEtHUmxZMjl5WVhSdmNuTXNJSFJoY21kbGRDd2dhMlY1TENCa1pYTmpLU0I3WEhKY2JpQWdJQ0IyWVhJZ1l5QTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ3NJSElnUFNCaklEd2dNeUEvSUhSaGNtZGxkQ0E2SUdSbGMyTWdQVDA5SUc1MWJHd2dQeUJrWlhOaklEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2loMFlYSm5aWFFzSUd0bGVTa2dPaUJrWlhOakxDQmtPMXh5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJTWldac1pXTjBJRDA5UFNCY0ltOWlhbVZqZEZ3aUlDWW1JSFI1Y0dWdlppQlNaV1pzWldOMExtUmxZMjl5WVhSbElEMDlQU0JjSW1aMWJtTjBhVzl1WENJcElISWdQU0JTWldac1pXTjBMbVJsWTI5eVlYUmxLR1JsWTI5eVlYUnZjbk1zSUhSaGNtZGxkQ3dnYTJWNUxDQmtaWE5qS1R0Y2NseHVJQ0FnSUdWc2MyVWdabTl5SUNoMllYSWdhU0E5SUdSbFkyOXlZWFJ2Y25NdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUdsbUlDaGtJRDBnWkdWamIzSmhkRzl5YzF0cFhTa2djaUE5SUNoaklEd2dNeUEvSUdRb2Npa2dPaUJqSUQ0Z015QS9JR1FvZEdGeVoyVjBMQ0JyWlhrc0lISXBJRG9nWkNoMFlYSm5aWFFzSUd0bGVTa3BJSHg4SUhJN1hISmNiaUFnSUNCeVpYUjFjbTRnWXlBK0lETWdKaVlnY2lBbUppQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZEdGeVoyVjBMQ0JyWlhrc0lISXBMQ0J5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXdZWEpoYlNod1lYSmhiVWx1WkdWNExDQmtaV052Y21GMGIzSXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9kR0Z5WjJWMExDQnJaWGtwSUhzZ1pHVmpiM0poZEc5eUtIUmhjbWRsZEN3Z2EyVjVMQ0J3WVhKaGJVbHVaR1Y0S1RzZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlsYzBSbFkyOXlZWFJsS0dOMGIzSXNJR1JsYzJOeWFYQjBiM0pKYml3Z1pHVmpiM0poZEc5eWN5d2dZMjl1ZEdWNGRFbHVMQ0JwYm1sMGFXRnNhWHBsY25Nc0lHVjRkSEpoU1c1cGRHbGhiR2w2WlhKektTQjdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQmhZMk5sY0hRb1ppa2dleUJwWmlBb1ppQWhQVDBnZG05cFpDQXdJQ1ltSUhSNWNHVnZaaUJtSUNFOVBTQmNJbVoxYm1OMGFXOXVYQ0lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkdkVzVqZEdsdmJpQmxlSEJsWTNSbFpGd2lLVHNnY21WMGRYSnVJR1k3SUgxY2NseHVJQ0FnSUhaaGNpQnJhVzVrSUQwZ1kyOXVkR1Y0ZEVsdUxtdHBibVFzSUd0bGVTQTlJR3RwYm1RZ1BUMDlJRndpWjJWMGRHVnlYQ0lnUHlCY0ltZGxkRndpSURvZ2EybHVaQ0E5UFQwZ1hDSnpaWFIwWlhKY0lpQS9JRndpYzJWMFhDSWdPaUJjSW5aaGJIVmxYQ0k3WEhKY2JpQWdJQ0IyWVhJZ2RHRnlaMlYwSUQwZ0lXUmxjMk55YVhCMGIzSkpiaUFtSmlCamRHOXlJRDhnWTI5dWRHVjRkRWx1VzF3aWMzUmhkR2xqWENKZElEOGdZM1J2Y2lBNklHTjBiM0l1Y0hKdmRHOTBlWEJsSURvZ2JuVnNiRHRjY2x4dUlDQWdJSFpoY2lCa1pYTmpjbWx3ZEc5eUlEMGdaR1Z6WTNKcGNIUnZja2x1SUh4OElDaDBZWEpuWlhRZ1B5QlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0hSaGNtZGxkQ3dnWTI5dWRHVjRkRWx1TG01aGJXVXBJRG9nZTMwcE8xeHlYRzRnSUNBZ2RtRnlJRjhzSUdSdmJtVWdQU0JtWVd4elpUdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0JrWldOdmNtRjBiM0p6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR052Ym5SbGVIUWdQU0I3ZlR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUdOdmJuUmxlSFJKYmlrZ1kyOXVkR1Y0ZEZ0d1hTQTlJSEFnUFQwOUlGd2lZV05qWlhOelhDSWdQeUI3ZlNBNklHTnZiblJsZUhSSmJsdHdYVHRjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCd0lHbHVJR052Ym5SbGVIUkpiaTVoWTJObGMzTXBJR052Ym5SbGVIUXVZV05qWlhOelczQmRJRDBnWTI5dWRHVjRkRWx1TG1GalkyVnpjMXR3WFR0Y2NseHVJQ0FnSUNBZ0lDQmpiMjUwWlhoMExtRmtaRWx1YVhScFlXeHBlbVZ5SUQwZ1puVnVZM1JwYjI0Z0tHWXBJSHNnYVdZZ0tHUnZibVVwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkRZVzV1YjNRZ1lXUmtJR2x1YVhScFlXeHBlbVZ5Y3lCaFpuUmxjaUJrWldOdmNtRjBhVzl1SUdoaGN5QmpiMjF3YkdWMFpXUmNJaWs3SUdWNGRISmhTVzVwZEdsaGJHbDZaWEp6TG5CMWMyZ29ZV05qWlhCMEtHWWdmSHdnYm5Wc2JDa3BPeUI5TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ5WlhOMWJIUWdQU0FvTUN3Z1pHVmpiM0poZEc5eWMxdHBYU2tvYTJsdVpDQTlQVDBnWENKaFkyTmxjM052Y2x3aUlEOGdleUJuWlhRNklHUmxjMk55YVhCMGIzSXVaMlYwTENCelpYUTZJR1JsYzJOeWFYQjBiM0l1YzJWMElIMGdPaUJrWlhOamNtbHdkRzl5VzJ0bGVWMHNJR052Ym5SbGVIUXBPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHJhVzVrSUQwOVBTQmNJbUZqWTJWemMyOXlYQ0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENBOVBUMGdkbTlwWkNBd0tTQmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDQTlQVDBnYm5Wc2JDQjhmQ0IwZVhCbGIyWWdjbVZ6ZFd4MElDRTlQU0JjSW05aWFtVmpkRndpS1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lUMkpxWldOMElHVjRjR1ZqZEdWa1hDSXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWHlBOUlHRmpZMlZ3ZENoeVpYTjFiSFF1WjJWMEtTa2daR1Z6WTNKcGNIUnZjaTVuWlhRZ1BTQmZPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWHlBOUlHRmpZMlZ3ZENoeVpYTjFiSFF1YzJWMEtTa2daR1Z6WTNKcGNIUnZjaTV6WlhRZ1BTQmZPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWHlBOUlHRmpZMlZ3ZENoeVpYTjFiSFF1YVc1cGRDa3BJR2x1YVhScFlXeHBlbVZ5Y3k1d2RYTm9LRjhwTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hmSUQwZ1lXTmpaWEIwS0hKbGMzVnNkQ2twSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHdHBibVFnUFQwOUlGd2labWxsYkdSY0lpa2dhVzVwZEdsaGJHbDZaWEp6TG5CMWMyZ29YeWs3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ1pHVnpZM0pwY0hSdmNsdHJaWGxkSUQwZ1h6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0JwWmlBb2RHRnlaMlYwS1NCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kR0Z5WjJWMExDQmpiMjUwWlhoMFNXNHVibUZ0WlN3Z1pHVnpZM0pwY0hSdmNpazdYSEpjYmlBZ0lDQmtiMjVsSUQwZ2RISjFaVHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzSjFia2x1YVhScFlXeHBlbVZ5Y3loMGFHbHpRWEpuTENCcGJtbDBhV0ZzYVhwbGNuTXNJSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQjJZWElnZFhObFZtRnNkV1VnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQ0Z01qdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dhVzVwZEdsaGJHbDZaWEp6TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1Gc2RXVWdQU0IxYzJWV1lXeDFaU0EvSUdsdWFYUnBZV3hwZW1WeWMxdHBYUzVqWVd4c0tIUm9hWE5CY21jc0lIWmhiSFZsS1NBNklHbHVhWFJwWVd4cGVtVnljMXRwWFM1allXeHNLSFJvYVhOQmNtY3BPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlIVnpaVlpoYkhWbElEOGdkbUZzZFdVZ09pQjJiMmxrSURBN1hISmNibjA3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl3Y205d1MyVjVLSGdwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUIwZVhCbGIyWWdlQ0E5UFQwZ1hDSnplVzFpYjJ4Y0lpQS9JSGdnT2lCY0lsd2lMbU52Ym1OaGRDaDRLVHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzTmxkRVoxYm1OMGFXOXVUbUZ0WlNobUxDQnVZVzFsTENCd2NtVm1hWGdwSUh0Y2NseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2JtRnRaU0E5UFQwZ1hDSnplVzFpYjJ4Y0lpa2dibUZ0WlNBOUlHNWhiV1V1WkdWelkzSnBjSFJwYjI0Z1B5QmNJbHRjSWk1amIyNWpZWFFvYm1GdFpTNWtaWE5qY21sd2RHbHZiaXdnWENKZFhDSXBJRG9nWENKY0lqdGNjbHh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aaXdnWENKdVlXMWxYQ0lzSUhzZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbExDQjJZV3gxWlRvZ2NISmxabWw0SUQ4Z1hDSmNJaTVqYjI1allYUW9jSEpsWm1sNExDQmNJaUJjSWl3Z2JtRnRaU2tnT2lCdVlXMWxJSDBwTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZiV1YwWVdSaGRHRW9iV1YwWVdSaGRHRkxaWGtzSUcxbGRHRmtZWFJoVm1Gc2RXVXBJSHRjY2x4dUlDQWdJR2xtSUNoMGVYQmxiMllnVW1WbWJHVmpkQ0E5UFQwZ1hDSnZZbXBsWTNSY0lpQW1KaUIwZVhCbGIyWWdVbVZtYkdWamRDNXRaWFJoWkdGMFlTQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUtTQnlaWFIxY200Z1VtVm1iR1ZqZEM1dFpYUmhaR0YwWVNodFpYUmhaR0YwWVV0bGVTd2diV1YwWVdSaGRHRldZV3gxWlNrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkYzWVdsMFpYSW9kR2hwYzBGeVp5d2dYMkZ5WjNWdFpXNTBjeXdnVUN3Z1oyVnVaWEpoZEc5eUtTQjdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQmhaRzl3ZENoMllXeDFaU2tnZXlCeVpYUjFjbTRnZG1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUJRSUQ4Z2RtRnNkV1VnT2lCdVpYY2dVQ2htZFc1amRHbHZiaUFvY21WemIyeDJaU2tnZXlCeVpYTnZiSFpsS0haaGJIVmxLVHNnZlNrN0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dLRkFnZkh3Z0tGQWdQU0JRY205dGFYTmxLU2tvWm5WdVkzUnBiMjRnS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlHWjFiR1pwYkd4bFpDaDJZV3gxWlNrZ2V5QjBjbmtnZXlCemRHVndLR2RsYm1WeVlYUnZjaTV1WlhoMEtIWmhiSFZsS1NrN0lIMGdZMkYwWTJnZ0tHVXBJSHNnY21WcVpXTjBLR1VwT3lCOUlIMWNjbHh1SUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUJ5WldwbFkzUmxaQ2gyWVd4MVpTa2dleUIwY25rZ2V5QnpkR1Z3S0dkbGJtVnlZWFJ2Y2x0Y0luUm9jbTkzWENKZEtIWmhiSFZsS1NrN0lIMGdZMkYwWTJnZ0tHVXBJSHNnY21WcVpXTjBLR1VwT3lCOUlIMWNjbHh1SUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tISmxjM1ZzZENrZ2V5QnlaWE4xYkhRdVpHOXVaU0EvSUhKbGMyOXNkbVVvY21WemRXeDBMblpoYkhWbEtTQTZJR0ZrYjNCMEtISmxjM1ZzZEM1MllXeDFaU2t1ZEdobGJpaG1kV3htYVd4c1pXUXNJSEpsYW1WamRHVmtLVHNnZlZ4eVhHNGdJQ0FnSUNBZ0lITjBaWEFvS0dkbGJtVnlZWFJ2Y2lBOUlHZGxibVZ5WVhSdmNpNWhjSEJzZVNoMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SeklIeDhJRnRkS1NrdWJtVjRkQ2dwS1R0Y2NseHVJQ0FnSUgwcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTluWlc1bGNtRjBiM0lvZEdocGMwRnlaeXdnWW05a2VTa2dlMXh5WEc0Z0lDQWdkbUZ5SUY4Z1BTQjdJR3hoWW1Wc09pQXdMQ0J6Wlc1ME9pQm1kVzVqZEdsdmJpZ3BJSHNnYVdZZ0tIUmJNRjBnSmlBeEtTQjBhSEp2ZHlCMFd6RmRPeUJ5WlhSMWNtNGdkRnN4WFRzZ2ZTd2dkSEo1Y3pvZ1cxMHNJRzl3Y3pvZ1cxMGdmU3dnWml3Z2VTd2dkQ3dnWnp0Y2NseHVJQ0FnSUhKbGRIVnliaUJuSUQwZ2V5QnVaWGgwT2lCMlpYSmlLREFwTENCY0luUm9jbTkzWENJNklIWmxjbUlvTVNrc0lGd2ljbVYwZFhKdVhDSTZJSFpsY21Jb01pa2dmU3dnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlDWW1JQ2huVzFONWJXSnZiQzVwZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlncElIc2djbVYwZFhKdUlIUm9hWE03SUgwcExDQm5PMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUtTQjdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnYzNSbGNDaGJiaXdnZGwwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tHOXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR1lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkhaVzVsY21GMGIzSWdhWE1nWVd4eVpXRmtlU0JsZUdWamRYUnBibWN1WENJcE8xeHlYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaG5JQ1ltSUNobklEMGdNQ3dnYjNCYk1GMGdKaVlnS0Y4Z1BTQXdLU2tzSUY4cElIUnllU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobUlEMGdNU3dnZVNBbUppQW9kQ0E5SUc5d1d6QmRJQ1lnTWlBL0lIbGJYQ0p5WlhSMWNtNWNJbDBnT2lCdmNGc3dYU0EvSUhsYlhDSjBhSEp2ZDF3aVhTQjhmQ0FvS0hRZ1BTQjVXMXdpY21WMGRYSnVYQ0pkS1NBbUppQjBMbU5oYkd3b2VTa3NJREFwSURvZ2VTNXVaWGgwS1NBbUppQWhLSFFnUFNCMExtTmhiR3dvZVN3Z2IzQmJNVjBwS1M1a2IyNWxLU0J5WlhSMWNtNGdkRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hrZ1BTQXdMQ0IwS1NCdmNDQTlJRnR2Y0Zzd1hTQW1JRElzSUhRdWRtRnNkV1ZkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLRzl3V3pCZEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEQTZJR05oYzJVZ01Ub2dkQ0E5SUc5d095QmljbVZoYXp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTkRvZ1h5NXNZV0psYkNzck95QnlaWFIxY200Z2V5QjJZV3gxWlRvZ2IzQmJNVjBzSUdSdmJtVTZJR1poYkhObElIMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEVTZJRjh1YkdGaVpXd3JLenNnZVNBOUlHOXdXekZkT3lCdmNDQTlJRnN3WFRzZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURjNklHOXdJRDBnWHk1dmNITXVjRzl3S0NrN0lGOHVkSEo1Y3k1d2IzQW9LVHNnWTI5dWRHbHVkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1pXWmhkV3gwT2x4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnaEtIUWdQU0JmTG5SeWVYTXNJSFFnUFNCMExteGxibWQwYUNBK0lEQWdKaVlnZEZ0MExteGxibWQwYUNBdElERmRLU0FtSmlBb2IzQmJNRjBnUFQwOUlEWWdmSHdnYjNCYk1GMGdQVDA5SURJcEtTQjdJRjhnUFNBd095QmpiMjUwYVc1MVpUc2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h2Y0Zzd1hTQTlQVDBnTXlBbUppQW9JWFFnZkh3Z0tHOXdXekZkSUQ0Z2RGc3dYU0FtSmlCdmNGc3hYU0E4SUhSYk0xMHBLU2tnZXlCZkxteGhZbVZzSUQwZ2IzQmJNVjA3SUdKeVpXRnJPeUI5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c5d1d6QmRJRDA5UFNBMklDWW1JRjh1YkdGaVpXd2dQQ0IwV3pGZEtTQjdJRjh1YkdGaVpXd2dQU0IwV3pGZE95QjBJRDBnYjNBN0lHSnlaV0ZyT3lCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUWdKaVlnWHk1c1lXSmxiQ0E4SUhSYk1sMHBJSHNnWHk1c1lXSmxiQ0E5SUhSYk1sMDdJRjh1YjNCekxuQjFjMmdvYjNBcE95QmljbVZoYXpzZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBXekpkS1NCZkxtOXdjeTV3YjNBb0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCZkxuUnllWE11Y0c5d0tDazdJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXdJRDBnWW05a2VTNWpZV3hzS0hSb2FYTkJjbWNzSUY4cE8xeHlYRzRnSUNBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2IzQWdQU0JiTml3Z1pWMDdJSGtnUFNBd095QjlJR1pwYm1Gc2JIa2dleUJtSUQwZ2RDQTlJREE3SUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvYjNCYk1GMGdKaUExS1NCMGFISnZkeUJ2Y0ZzeFhUc2djbVYwZFhKdUlIc2dkbUZzZFdVNklHOXdXekJkSUQ4Z2IzQmJNVjBnT2lCMmIybGtJREFzSUdSdmJtVTZJSFJ5ZFdVZ2ZUdGNjbHh1SUNBZ0lIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJSFpoY2lCZlgyTnlaV0YwWlVKcGJtUnBibWNnUFNCUFltcGxZM1F1WTNKbFlYUmxJRDhnS0daMWJtTjBhVzl1S0c4c0lHMHNJR3NzSUdzeUtTQjdYSEpjYmlBZ0lDQnBaaUFvYXpJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnYXpJZ1BTQnJPMXh5WEc0Z0lDQWdkbUZ5SUdSbGMyTWdQU0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUtHMHNJR3NwTzF4eVhHNGdJQ0FnYVdZZ0tDRmtaWE5qSUh4OElDaGNJbWRsZEZ3aUlHbHVJR1JsYzJNZ1B5QWhiUzVmWDJWelRXOWtkV3hsSURvZ1pHVnpZeTUzY21sMFlXSnNaU0I4ZkNCa1pYTmpMbU52Ym1acFozVnlZV0pzWlNrcElIdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOaklEMGdleUJsYm5WdFpYSmhZbXhsT2lCMGNuVmxMQ0JuWlhRNklHWjFibU4wYVc5dUtDa2dleUJ5WlhSMWNtNGdiVnRyWFRzZ2ZTQjlPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0c4c0lHc3lMQ0JrWlhOaktUdGNjbHh1ZlNrZ09pQW9ablZ1WTNScGIyNG9ieXdnYlN3Z2F5d2dheklwSUh0Y2NseHVJQ0FnSUdsbUlDaHJNaUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQnJNaUE5SUdzN1hISmNiaUFnSUNCdlcyc3lYU0E5SUcxYmExMDdYSEpjYm4wcE8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZlpYaHdiM0owVTNSaGNpaHRMQ0J2S1NCN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCd0lHbHVJRzBwSUdsbUlDaHdJQ0U5UFNCY0ltUmxabUYxYkhSY0lpQW1KaUFoVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVTNWpZV3hzS0c4c0lIQXBLU0JmWDJOeVpXRjBaVUpwYm1ScGJtY29ieXdnYlN3Z2NDazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNaaGJIVmxjeWh2S1NCN1hISmNiaUFnSUNCMllYSWdjeUE5SUhSNWNHVnZaaUJUZVcxaWIyd2dQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQW1KaUJUZVcxaWIyd3VhWFJsY21GMGIzSXNJRzBnUFNCeklDWW1JRzliYzEwc0lHa2dQU0F3TzF4eVhHNGdJQ0FnYVdZZ0tHMHBJSEpsZEhWeWJpQnRMbU5oYkd3b2J5azdYSEpjYmlBZ0lDQnBaaUFvYnlBbUppQjBlWEJsYjJZZ2J5NXNaVzVuZEdnZ1BUMDlJRndpYm5WdFltVnlYQ0lwSUhKbGRIVnliaUI3WEhKY2JpQWdJQ0FnSUNBZ2JtVjRkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ieUFtSmlCcElENDlJRzh1YkdWdVozUm9LU0J2SUQwZ2RtOXBaQ0F3TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdleUIyWVd4MVpUb2dieUFtSmlCdlcya3JLMTBzSUdSdmJtVTZJQ0Z2SUgwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvY3lBL0lGd2lUMkpxWldOMElHbHpJRzV2ZENCcGRHVnlZV0pzWlM1Y0lpQTZJRndpVTNsdFltOXNMbWwwWlhKaGRHOXlJR2x6SUc1dmRDQmtaV1pwYm1Wa0xsd2lLVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmNtVmhaQ2h2TENCdUtTQjdYSEpjYmlBZ0lDQjJZWElnYlNBOUlIUjVjR1Z2WmlCVGVXMWliMndnUFQwOUlGd2lablZ1WTNScGIyNWNJaUFtSmlCdlcxTjViV0p2YkM1cGRHVnlZWFJ2Y2wwN1hISmNiaUFnSUNCcFppQW9JVzBwSUhKbGRIVnliaUJ2TzF4eVhHNGdJQ0FnZG1GeUlHa2dQU0J0TG1OaGJHd29ieWtzSUhJc0lHRnlJRDBnVzEwc0lHVTdYSEpjYmlBZ0lDQjBjbmtnZTF4eVhHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNnb2JpQTlQVDBnZG05cFpDQXdJSHg4SUc0dExTQStJREFwSUNZbUlDRW9jaUE5SUdrdWJtVjRkQ2dwS1M1a2IyNWxLU0JoY2k1d2RYTm9LSEl1ZG1Gc2RXVXBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdZMkYwWTJnZ0tHVnljbTl5S1NCN0lHVWdQU0I3SUdWeWNtOXlPaUJsY25KdmNpQjlPeUI5WEhKY2JpQWdJQ0JtYVc1aGJHeDVJSHRjY2x4dUlDQWdJQ0FnSUNCMGNua2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY2lBbUppQWhjaTVrYjI1bElDWW1JQ2h0SUQwZ2FWdGNJbkpsZEhWeWJsd2lYU2twSUcwdVkyRnNiQ2hwS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWm1sdVlXeHNlU0I3SUdsbUlDaGxLU0IwYUhKdmR5QmxMbVZ5Y205eU95QjlYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnlaWFIxY200Z1lYSTdYSEpjYm4xY2NseHVYSEpjYmk4cUtpQkFaR1Z3Y21WallYUmxaQ0FxTDF4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXpjSEpsWVdRb0tTQjdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQmhjaUE5SUZ0ZExDQnBJRDBnTURzZ2FTQThJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZzdJR2tyS3lsY2NseHVJQ0FnSUNBZ0lDQmhjaUE5SUdGeUxtTnZibU5oZENoZlgzSmxZV1FvWVhKbmRXMWxiblJ6VzJsZEtTazdYSEpjYmlBZ0lDQnlaWFIxY200Z1lYSTdYSEpjYm4xY2NseHVYSEpjYmk4cUtpQkFaR1Z3Y21WallYUmxaQ0FxTDF4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXpjSEpsWVdSQmNuSmhlWE1vS1NCN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCeklEMGdNQ3dnYVNBOUlEQXNJR2xzSUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTQThJR2xzT3lCcEt5c3BJSE1nS3owZ1lYSm5kVzFsYm5SelcybGRMbXhsYm1kMGFEdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlISWdQU0JCY25KaGVTaHpLU3dnYXlBOUlEQXNJR2tnUFNBd095QnBJRHdnYVd3N0lHa3JLeWxjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCaElEMGdZWEpuZFcxbGJuUnpXMmxkTENCcUlEMGdNQ3dnYW13Z1BTQmhMbXhsYm1kMGFEc2dhaUE4SUdwc095QnFLeXNzSUdzckt5bGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NsdHJYU0E5SUdGYmFsMDdYSEpjYmlBZ0lDQnlaWFIxY200Z2NqdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYzNCeVpXRmtRWEp5WVhrb2RHOHNJR1p5YjIwc0lIQmhZMnNwSUh0Y2NseHVJQ0FnSUdsbUlDaHdZV05ySUh4OElHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BUMDlJRElwSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0JzSUQwZ1puSnZiUzVzWlc1bmRHZ3NJR0Z5T3lCcElEd2diRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHRnlJSHg4SUNFb2FTQnBiaUJtY205dEtTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdGeUtTQmhjaUE5SUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzV6YkdsalpTNWpZV3hzS0daeWIyMHNJREFzSUdrcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCaGNsdHBYU0E5SUdaeWIyMWJhVjA3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUhSdkxtTnZibU5oZENoaGNpQjhmQ0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVdVkyRnNiQ2htY205dEtTazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJGM1lXbDBLSFlwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUIwYUdseklHbHVjM1JoYm1ObGIyWWdYMTloZDJGcGRDQS9JQ2gwYUdsekxuWWdQU0IyTENCMGFHbHpLU0E2SUc1bGR5QmZYMkYzWVdsMEtIWXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5aGMzbHVZMGRsYm1WeVlYUnZjaWgwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6TENCblpXNWxjbUYwYjNJcElIdGNjbHh1SUNBZ0lHbG1JQ2doVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lCcGN5QnViM1FnWkdWbWFXNWxaQzVjSWlrN1hISmNiaUFnSUNCMllYSWdaeUE5SUdkbGJtVnlZWFJ2Y2k1aGNIQnNlU2gwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6SUh4OElGdGRLU3dnYVN3Z2NTQTlJRnRkTzF4eVhHNGdJQ0FnY21WMGRYSnVJR2tnUFNCN2ZTd2dkbVZ5WWloY0ltNWxlSFJjSWlrc0lIWmxjbUlvWENKMGFISnZkMXdpS1N3Z2RtVnlZaWhjSW5KbGRIVnlibHdpS1N3Z2FWdFRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQjBhR2x6T3lCOUxDQnBPMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUtTQjdJR2xtSUNoblcyNWRLU0JwVzI1ZElEMGdablZ1WTNScGIyNGdLSFlwSUhzZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHWjFibU4wYVc5dUlDaGhMQ0JpS1NCN0lIRXVjSFZ6YUNoYmJpd2dkaXdnWVN3Z1lsMHBJRDRnTVNCOGZDQnlaWE4xYldVb2Jpd2dkaWs3SUgwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ5WlhOMWJXVW9iaXdnZGlrZ2V5QjBjbmtnZXlCemRHVndLR2RiYmwwb2Rpa3BPeUI5SUdOaGRHTm9JQ2hsS1NCN0lITmxkSFJzWlNoeFd6QmRXek5kTENCbEtUc2dmU0I5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tISXBJSHNnY2k1MllXeDFaU0JwYm5OMFlXNWpaVzltSUY5ZllYZGhhWFFnUHlCUWNtOXRhWE5sTG5KbGMyOXNkbVVvY2k1MllXeDFaUzUyS1M1MGFHVnVLR1oxYkdacGJHd3NJSEpsYW1WamRDa2dPaUJ6WlhSMGJHVW9jVnN3WFZzeVhTd2djaWs3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUdaMWJHWnBiR3dvZG1Gc2RXVXBJSHNnY21WemRXMWxLRndpYm1WNGRGd2lMQ0IyWVd4MVpTazdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSEpsYW1WamRDaDJZV3gxWlNrZ2V5QnlaWE4xYldVb1hDSjBhSEp2ZDF3aUxDQjJZV3gxWlNrN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITmxkSFJzWlNobUxDQjJLU0I3SUdsbUlDaG1LSFlwTENCeExuTm9hV1owS0Nrc0lIRXViR1Z1WjNSb0tTQnlaWE4xYldVb2NWc3dYVnN3WFN3Z2NWc3dYVnN4WFNrN0lIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhONWJtTkVaV3hsWjJGMGIzSW9ieWtnZTF4eVhHNGdJQ0FnZG1GeUlHa3NJSEE3WEhKY2JpQWdJQ0J5WlhSMWNtNGdhU0E5SUh0OUxDQjJaWEppS0Z3aWJtVjRkRndpS1N3Z2RtVnlZaWhjSW5Sb2NtOTNYQ0lzSUdaMWJtTjBhVzl1SUNobEtTQjdJSFJvY205M0lHVTdJSDBwTENCMlpYSmlLRndpY21WMGRYSnVYQ0lwTENCcFcxTjViV0p2YkM1cGRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlMQ0JwTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVMQ0JtS1NCN0lHbGJibDBnUFNCdlcyNWRJRDhnWm5WdVkzUnBiMjRnS0hZcElIc2djbVYwZFhKdUlDaHdJRDBnSVhBcElEOGdleUIyWVd4MVpUb2dYMTloZDJGcGRDaHZXMjVkS0hZcEtTd2daRzl1WlRvZ1ptRnNjMlVnZlNBNklHWWdQeUJtS0hZcElEb2dkanNnZlNBNklHWTdJSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZllYTjVibU5XWVd4MVpYTW9ieWtnZTF4eVhHNGdJQ0FnYVdZZ0tDRlRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjaWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lsTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlJR2x6SUc1dmRDQmtaV1pwYm1Wa0xsd2lLVHRjY2x4dUlDQWdJSFpoY2lCdElEMGdiMXRUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2wwc0lHazdYSEpjYmlBZ0lDQnlaWFIxY200Z2JTQS9JRzB1WTJGc2JDaHZLU0E2SUNodklEMGdkSGx3Wlc5bUlGOWZkbUZzZFdWeklEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ1B5QmZYM1poYkhWbGN5aHZLU0E2SUc5YlUzbHRZbTlzTG1sMFpYSmhkRzl5WFNncExDQnBJRDBnZTMwc0lIWmxjbUlvWENKdVpYaDBYQ0lwTENCMlpYSmlLRndpZEdoeWIzZGNJaWtzSUhabGNtSW9YQ0p5WlhSMWNtNWNJaWtzSUdsYlUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSmRJRDBnWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z2RHaHBjenNnZlN3Z2FTazdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQjJaWEppS0c0cElIc2dhVnR1WFNBOUlHOWJibDBnSmlZZ1puVnVZM1JwYjI0Z0tIWXBJSHNnY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0daMWJtTjBhVzl1SUNoeVpYTnZiSFpsTENCeVpXcGxZM1FwSUhzZ2RpQTlJRzliYmwwb2Rpa3NJSE5sZEhSc1pTaHlaWE52YkhabExDQnlaV3BsWTNRc0lIWXVaRzl1WlN3Z2RpNTJZV3gxWlNrN0lIMHBPeUI5T3lCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCelpYUjBiR1VvY21WemIyeDJaU3dnY21WcVpXTjBMQ0JrTENCMktTQjdJRkJ5YjIxcGMyVXVjbVZ6YjJ4MlpTaDJLUzUwYUdWdUtHWjFibU4wYVc5dUtIWXBJSHNnY21WemIyeDJaU2g3SUhaaGJIVmxPaUIyTENCa2IyNWxPaUJrSUgwcE95QjlMQ0J5WldwbFkzUXBPeUI5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyMWhhMlZVWlcxd2JHRjBaVTlpYW1WamRDaGpiMjlyWldRc0lISmhkeWtnZTF4eVhHNGdJQ0FnYVdZZ0tFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2tnZXlCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29ZMjl2YTJWa0xDQmNJbkpoZDF3aUxDQjdJSFpoYkhWbE9pQnlZWGNnZlNrN0lIMGdaV3h6WlNCN0lHTnZiMnRsWkM1eVlYY2dQU0J5WVhjN0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCamIyOXJaV1E3WEhKY2JuMDdYSEpjYmx4eVhHNTJZWElnWDE5elpYUk5iMlIxYkdWRVpXWmhkV3gwSUQwZ1QySnFaV04wTG1OeVpXRjBaU0EvSUNobWRXNWpkR2x2YmlodkxDQjJLU0I3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2J5d2dYQ0prWldaaGRXeDBYQ0lzSUhzZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN3Z2RtRnNkV1U2SUhZZ2ZTazdYSEpjYm4wcElEb2dablZ1WTNScGIyNG9ieXdnZGlrZ2UxeHlYRzRnSUNBZ2IxdGNJbVJsWm1GMWJIUmNJbDBnUFNCMk8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYVcxd2IzSjBVM1JoY2lodGIyUXBJSHRjY2x4dUlDQWdJR2xtSUNodGIyUWdKaVlnYlc5a0xsOWZaWE5OYjJSMWJHVXBJSEpsZEhWeWJpQnRiMlE3WEhKY2JpQWdJQ0IyWVhJZ2NtVnpkV3gwSUQwZ2UzMDdYSEpjYmlBZ0lDQnBaaUFvYlc5a0lDRTlJRzUxYkd3cElHWnZjaUFvZG1GeUlHc2dhVzRnYlc5a0tTQnBaaUFvYXlBaFBUMGdYQ0prWldaaGRXeDBYQ0lnSmlZZ1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHMXZaQ3dnYXlrcElGOWZZM0psWVhSbFFtbHVaR2x1WnloeVpYTjFiSFFzSUcxdlpDd2dheWs3WEhKY2JpQWdJQ0JmWDNObGRFMXZaSFZzWlVSbFptRjFiSFFvY21WemRXeDBMQ0J0YjJRcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmFXMXdiM0owUkdWbVlYVnNkQ2h0YjJRcElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlBb2JXOWtJQ1ltSUcxdlpDNWZYMlZ6VFc5a2RXeGxLU0EvSUcxdlpDQTZJSHNnWkdWbVlYVnNkRG9nYlc5a0lIMDdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJOc1lYTnpVSEpwZG1GMFpVWnBaV3hrUjJWMEtISmxZMlZwZG1WeUxDQnpkR0YwWlN3Z2EybHVaQ3dnWmlrZ2UxeHlYRzRnSUNBZ2FXWWdLR3RwYm1RZ1BUMDlJRndpWVZ3aUlDWW1JQ0ZtS1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lVSEpwZG1GMFpTQmhZMk5sYzNOdmNpQjNZWE1nWkdWbWFXNWxaQ0IzYVhSb2IzVjBJR0VnWjJWMGRHVnlYQ0lwTzF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCemRHRjBaU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJRDhnY21WalpXbDJaWElnSVQwOUlITjBZWFJsSUh4OElDRm1JRG9nSVhOMFlYUmxMbWhoY3loeVpXTmxhWFpsY2lrcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEWVc1dWIzUWdjbVZoWkNCd2NtbDJZWFJsSUcxbGJXSmxjaUJtY205dElHRnVJRzlpYW1WamRDQjNhRzl6WlNCamJHRnpjeUJrYVdRZ2JtOTBJR1JsWTJ4aGNtVWdhWFJjSWlrN1hISmNiaUFnSUNCeVpYUjFjbTRnYTJsdVpDQTlQVDBnWENKdFhDSWdQeUJtSURvZ2EybHVaQ0E5UFQwZ1hDSmhYQ0lnUHlCbUxtTmhiR3dvY21WalpXbDJaWElwSURvZ1ppQS9JR1l1ZG1Gc2RXVWdPaUJ6ZEdGMFpTNW5aWFFvY21WalpXbDJaWElwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWpiR0Z6YzFCeWFYWmhkR1ZHYVdWc1pGTmxkQ2h5WldObGFYWmxjaXdnYzNSaGRHVXNJSFpoYkhWbExDQnJhVzVrTENCbUtTQjdYSEpjYmlBZ0lDQnBaaUFvYTJsdVpDQTlQVDBnWENKdFhDSXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKUWNtbDJZWFJsSUcxbGRHaHZaQ0JwY3lCdWIzUWdkM0pwZEdGaWJHVmNJaWs3WEhKY2JpQWdJQ0JwWmlBb2EybHVaQ0E5UFQwZ1hDSmhYQ0lnSmlZZ0lXWXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKUWNtbDJZWFJsSUdGalkyVnpjMjl5SUhkaGN5QmtaV1pwYm1Wa0lIZHBkR2h2ZFhRZ1lTQnpaWFIwWlhKY0lpazdYSEpjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JSE4wWVhSbElEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ1B5QnlaV05sYVhabGNpQWhQVDBnYzNSaGRHVWdmSHdnSVdZZ09pQWhjM1JoZEdVdWFHRnpLSEpsWTJWcGRtVnlLU2tnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrTmhibTV2ZENCM2NtbDBaU0J3Y21sMllYUmxJRzFsYldKbGNpQjBieUJoYmlCdlltcGxZM1FnZDJodmMyVWdZMnhoYzNNZ1pHbGtJRzV2ZENCa1pXTnNZWEpsSUdsMFhDSXBPMXh5WEc0Z0lDQWdjbVYwZFhKdUlDaHJhVzVrSUQwOVBTQmNJbUZjSWlBL0lHWXVZMkZzYkNoeVpXTmxhWFpsY2l3Z2RtRnNkV1VwSURvZ1ppQS9JR1l1ZG1Gc2RXVWdQU0IyWVd4MVpTQTZJSE4wWVhSbExuTmxkQ2h5WldObGFYWmxjaXdnZG1Gc2RXVXBLU3dnZG1Gc2RXVTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJOc1lYTnpVSEpwZG1GMFpVWnBaV3hrU1c0b2MzUmhkR1VzSUhKbFkyVnBkbVZ5S1NCN1hISmNiaUFnSUNCcFppQW9jbVZqWldsMlpYSWdQVDA5SUc1MWJHd2dmSHdnS0hSNWNHVnZaaUJ5WldObGFYWmxjaUFoUFQwZ1hDSnZZbXBsWTNSY0lpQW1KaUIwZVhCbGIyWWdjbVZqWldsMlpYSWdJVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpa3BJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKRFlXNXViM1FnZFhObElDZHBiaWNnYjNCbGNtRjBiM0lnYjI0Z2JtOXVMVzlpYW1WamRGd2lLVHRjY2x4dUlDQWdJSEpsZEhWeWJpQjBlWEJsYjJZZ2MzUmhkR1VnUFQwOUlGd2lablZ1WTNScGIyNWNJaUEvSUhKbFkyVnBkbVZ5SUQwOVBTQnpkR0YwWlNBNklITjBZWFJsTG1oaGN5aHlaV05sYVhabGNpazdYSEpjYm4xY2NseHVJaXdpYVcxd2IzSjBJSHNnUjB4VVJreHZZV1JsY2xCc2RXZHBiaXdnUjB4VVJsQmhjbk5sY2lCOUlHWnliMjBnSjNSb2NtVmxMMlY0WVcxd2JHVnpMMnB6YlM5c2IyRmtaWEp6TDBkTVZFWk1iMkZrWlhJdWFuTW5PMXh1YVcxd2IzSjBJQ29nWVhNZ1NFUlNSVzFwYzNOcGRtVk5kV3gwYVhCc2FXVnlVMk5vWlcxaElHWnliMjBnSjBCd2FYaHBkaTkwZVhCbGN5MTJjbTFqTFcxaGRHVnlhV0ZzY3kxb1pISXRaVzFwYzNOcGRtVXRiWFZzZEdsd2JHbGxjaTB4TGpBbk8xeHVhVzF3YjNKMElIc2dSMHhVUmlCaGN5QkhURlJHVTJOb1pXMWhJSDBnWm5KdmJTQW5RR2RzZEdZdGRISmhibk5tYjNKdEwyTnZjbVVuTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVmxKTlRXRjBaWEpwWVd4elNFUlNSVzFwYzNOcGRtVk5kV3gwYVhCc2FXVnlURzloWkdWeVVHeDFaMmx1SUdsdGNHeGxiV1Z1ZEhNZ1IweFVSa3h2WVdSbGNsQnNkV2RwYmlCN1hHNGdJSEIxWW14cFl5QnpkR0YwYVdNZ1JWaFVSVTVUU1U5T1gwNUJUVVVnUFNBblZsSk5RMTl0WVhSbGNtbGhiSE5mYUdSeVgyVnRhWE56YVhabFRYVnNkR2x3YkdsbGNpY2dZWE1nWTI5dWMzUTdYRzVjYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUhCaGNuTmxjam9nUjB4VVJsQmhjbk5sY2p0Y2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUc1aGJXVW9LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQnlaWFIxY200Z1ZsSk5UV0YwWlhKcFlXeHpTRVJTUlcxcGMzTnBkbVZOZFd4MGFYQnNhV1Z5VEc5aFpHVnlVR3gxWjJsdUxrVllWRVZPVTBsUFRsOU9RVTFGTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtIQmhjbk5sY2pvZ1IweFVSbEJoY25ObGNpa2dlMXh1SUNBZ0lIUm9hWE11Y0dGeWMyVnlJRDBnY0dGeWMyVnlPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR0Z6ZVc1aklHVjRkR1Z1WkUxaGRHVnlhV0ZzVUdGeVlXMXpLRzFoZEdWeWFXRnNTVzVrWlhnNklHNTFiV0psY2l3Z2JXRjBaWEpwWVd4UVlYSmhiWE02SUhzZ1cydGxlVG9nYzNSeWFXNW5YVG9nWVc1NUlIMHBPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0JsZUhSbGJuTnBiMjRnUFNCMGFHbHpMbDluWlhSSVJGSkZiV2x6YzJsMlpVMTFiSFJwY0d4cFpYSkZlSFJsYm5OcGIyNG9iV0YwWlhKcFlXeEpibVJsZUNrN1hHNGdJQ0FnYVdZZ0tHVjRkR1Z1YzJsdmJpQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1ZHaHBjeUJsZUhSbGJuTnBiMjRnYVhNZ1lYSmphR2wyWldRdUlFVnRhWFFnZDJGeWJtbHVaMXh1SUNBZ0lDOHZJRk5sWlRvZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzWnliUzFqTDNaeWJTMXpjR1ZqYVdacFkyRjBhVzl1TDNCMWJHd3ZNemMxWEc0Z0lDQWdZMjl1YzI5c1pTNTNZWEp1S0Z4dUlDQWdJQ0FnSjFaU1RVMWhkR1Z5YVdGc2MwaEVVa1Z0YVhOemFYWmxUWFZzZEdsd2JHbGxja3h2WVdSbGNsQnNkV2RwYmpvZ1lGWlNUVU5mYldGMFpYSnBZV3h6WDJoa2NsOWxiV2x6YzJsMlpVMTFiSFJwY0d4cFpYSmdJR2x6SUdGeVkyaHBkbVZrTGlCVmMyVWdZRXRJVWw5dFlYUmxjbWxoYkhOZlpXMXBjM05wZG1WZmMzUnlaVzVuZEdoZ0lHbHVjM1JsWVdRdUp5eGNiaUFnSUNBcE8xeHVYRzRnSUNBZ1kyOXVjM1FnWlcxcGMzTnBkbVZOZFd4MGFYQnNhV1Z5SUQwZ1pYaDBaVzV6YVc5dUxtVnRhWE56YVhabFRYVnNkR2x3YkdsbGNqdGNiaUFnSUNCdFlYUmxjbWxoYkZCaGNtRnRjeTVsYldsemMybDJaVWx1ZEdWdWMybDBlU0E5SUdWdGFYTnphWFpsVFhWc2RHbHdiR2xsY2p0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gyZGxkRWhFVWtWdGFYTnphWFpsVFhWc2RHbHdiR2xsY2tWNGRHVnVjMmx2YmloY2JpQWdJQ0J0WVhSbGNtbGhiRWx1WkdWNE9pQnVkVzFpWlhJc1hHNGdJQ2s2SUVoRVVrVnRhWE56YVhabFRYVnNkR2x3YkdsbGNsTmphR1Z0WVM1V1VrMURUV0YwWlhKcFlXeHpTRVJTUlcxcGMzTnBkbVZOZFd4MGFYQnNhV1Z5SUh3Z2RXNWtaV1pwYm1Wa0lIdGNiaUFnSUNCamIyNXpkQ0J3WVhKelpYSWdQU0IwYUdsekxuQmhjbk5sY2p0Y2JpQWdJQ0JqYjI1emRDQnFjMjl1SUQwZ2NHRnljMlZ5TG1wemIyNGdZWE1nUjB4VVJsTmphR1Z0WVM1SlIweFVSanRjYmx4dUlDQWdJR052Ym5OMElHMWhkR1Z5YVdGc1JHVm1JRDBnYW5OdmJpNXRZWFJsY21saGJITS9MbHR0WVhSbGNtbGhiRWx1WkdWNFhUdGNibHh1SUNBZ0lHbG1JQ2h0WVhSbGNtbGhiRVJsWmlBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCamIyNXpiMnhsTG5kaGNtNG9YRzRnSUNBZ0lDQWdJR0JXVWsxTllYUmxjbWxoYkhOSVJGSkZiV2x6YzJsMlpVMTFiSFJwY0d4cFpYSk1iMkZrWlhKUWJIVm5hVzQ2SUVGMGRHVnRjSFFnZEc4Z2RYTmxJRzFoZEdWeWFXRnNjMXNrZTIxaGRHVnlhV0ZzU1c1a1pYaDlYU0J2WmlCbmJGUkdJR0oxZENCMGFHVWdiV0YwWlhKcFlXd2daRzlsYzI0bmRDQmxlR2x6ZEdBc1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQmxlSFJsYm5OcGIyNGdQU0J0WVhSbGNtbGhiRVJsWmk1bGVIUmxibk5wYjI1elB5NWJWbEpOVFdGMFpYSnBZV3h6U0VSU1JXMXBjM05wZG1WTmRXeDBhWEJzYVdWeVRHOWhaR1Z5VUd4MVoybHVMa1ZZVkVWT1UwbFBUbDlPUVUxRlhTQmhjMXh1SUNBZ0lDQWdmQ0JJUkZKRmJXbHpjMmwyWlUxMWJIUnBjR3hwWlhKVFkyaGxiV0V1VmxKTlEwMWhkR1Z5YVdGc2MwaEVVa1Z0YVhOemFYWmxUWFZzZEdsd2JHbGxjbHh1SUNBZ0lDQWdmQ0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdhV1lnS0dWNGRHVnVjMmx2YmlBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQmxlSFJsYm5OcGIyNDdYRzRnSUgxY2JuMWNiaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096dEJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRnZSMEU3UVVGRFR5eFRRVUZUTEZOQlFWTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFTkJRVU1zUlVGQlJTeFRRVUZUTEVWQlFVVTdRVUZETjBRc1NVRkJTU3hUUVVGVExFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlN4UFFVRlBMRXRCUVVzc1dVRkJXU3hEUVVGRExFZEJRVWNzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRlZCUVZVc1QwRkJUeXhGUVVGRkxFVkJRVVVzVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVU3UVVGRGFFZ3NTVUZCU1N4UFFVRlBMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNSVUZCUlN4VlFVRlZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVU3UVVGREwwUXNVVUZCVVN4VFFVRlRMRk5CUVZNc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRk8wRkJRMjVITEZGQlFWRXNVMEZCVXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRk8wRkJRM1JITEZGQlFWRXNVMEZCVXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVVVzVFVGQlRTeERRVUZETEVsQlFVa3NSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUlN4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRk8wRkJRM1JJTEZGQlFWRXNTVUZCU1N4RFFVRkRMRU5CUVVNc1UwRkJVeXhIUVVGSExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRlZCUVZVc1NVRkJTU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRPMEZCUXpsRkxFdEJRVXNzUTBGQlF5eERRVUZETzBGQlExQTdPMDFEZEVoaExEWkRRVUUyUXl4RFFVRkJPMEZCUzNoRUxFbEJRVUVzU1VGQlZ5eEpRVUZKTEVkQlFVRTdVVUZEWWl4UFFVRlBMRFpEUVVFMlF5eERRVUZETEdOQlFXTXNRMEZCUXp0TFFVTnlSVHRCUVVWRUxFbEJRVUVzVjBGQlFTeERRVUZ0UWl4TlFVRnJRaXhGUVVGQk8wRkJRMjVETEZGQlFVRXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03UzBGRGRFSTdTVUZGV1N4dlFrRkJiMElzUTBGQlF5eGhRVUZ4UWl4RlFVRkZMR05CUVhORExFVkJRVUU3TzFsQlF6ZEdMRTFCUVUwc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5eHJRMEZCYTBNc1EwRkJReXhoUVVGaExFTkJRVU1zUTBGQlF6dFpRVU42UlN4SlFVRkpMRk5CUVZNc1NVRkJTU3hKUVVGSkxFVkJRVVU3WjBKQlEzSkNMRTlCUVU4N1FVRkRVaXhoUVVGQk96czdRVUZKUkN4WlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRMVlzYjBwQlFXOUtMRU5CUTNKS0xFTkJRVU03UVVGRlJpeFpRVUZCTEUxQlFVMHNhMEpCUVd0Q0xFZEJRVWNzVTBGQlV5eERRVUZETEd0Q1FVRnJRaXhEUVVGRE8wRkJRM2hFTEZsQlFVRXNZMEZCWXl4RFFVRkRMR2xDUVVGcFFpeEhRVUZITEd0Q1FVRnJRaXhEUVVGRE8xTkJRM1pFTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUVVFN1FVRkZUeXhKUVVGQkxHdERRVUZyUXl4RFFVTjRReXhoUVVGeFFpeEZRVUZCT3p0QlFVVnlRaXhSUVVGQkxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1FVRkRNMElzVVVGQlFTeE5RVUZOTEVsQlFVa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJkMElzUTBGQlF6dFJRVVUzUXl4TlFVRk5MRmRCUVZjc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZKTEVOQlFVTXNVMEZCVXl4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExHRkJRV0VzUTBGQlF5eERRVUZETzFGQlJYQkVMRWxCUVVrc1YwRkJWeXhKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU4yUWl4WlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRMVlzTWtWQlFUSkZMR0ZCUVdFc1EwRkJRU3gzUTBGQlFTeERRVUV3UXl4RFFVTnVTU3hEUVVGRE8wRkJRMFlzV1VGQlFTeFBRVUZQTEZOQlFWTXNRMEZCUXp0QlFVTnNRaXhUUVVGQk8xRkJSVVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1YwRkJWeXhEUVVGRExGVkJRVlVzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUnl3MlEwRkJOa01zUTBGQlF5eGpRVUZqTEVOQlJURkdMRU5CUVVNN1VVRkRaQ3hKUVVGSkxGTkJRVk1zU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZEY2tJc1dVRkJRU3hQUVVGUExGTkJRVk1zUTBGQlF6dEJRVU5zUWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hQUVVGUExGTkJRVk1zUTBGQlF6dExRVU5zUWpzN1FVRnVSR0VzTmtOQlFXTXNRMEZCUVN4alFVRkJMRWRCUVVjc2RVTkJRV2RFT3pzN095SjlcbiIsIi8qIVxuICogQHBpeGl2L3RocmVlLXZybS1tYXRlcmlhbHMtdjBjb21wYXQgdjIuMC42XG4gKiBWUk0wLjAgbWF0ZXJpYWxzIGNvbXBhdGliaWxpdHkgbGF5ZXIgcGx1Z2luIGZvciBAcGl4aXYvdGhyZWUtdnJtXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwLTIwMjMgcGl4aXYgSW5jLlxuICogQHBpeGl2L3RocmVlLXZybS1tYXRlcmlhbHMtdjBjb21wYXQgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgTUlUIExpY2Vuc2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpdi90aHJlZS12cm0vYmxvYi9yZWxlYXNlL0xJQ0VOU0VcbiAqL1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbmZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cblxuZnVuY3Rpb24gZ2FtbWFFT1RGKGUpIHtcbiAgICByZXR1cm4gTWF0aC5wb3coZSwgMi4yKTtcbn1cblxuY2xhc3MgVlJNTWF0ZXJpYWxzVjBDb21wYXRQbHVnaW4ge1xuICAgIGdldCBuYW1lKCkge1xuICAgICAgICByZXR1cm4gJ1ZSTU1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luJztcbiAgICB9XG4gICAgY29uc3RydWN0b3IocGFyc2VyKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgdGhpcy5wYXJzZXIgPSBwYXJzZXI7XG4gICAgICAgIHRoaXMuX3JlbmRlclF1ZXVlTWFwVHJhbnNwYXJlbnQgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuX3JlbmRlclF1ZXVlTWFwVHJhbnNwYXJlbnRaV3JpdGUgPSBuZXcgTWFwKCk7XG4gICAgICAgIC8vIFdPUktBUk9VTkQ6IEFkZCBLSFJfdGV4dHVyZV90cmFuc2Zvcm0gdG8gZXh0ZW5zaW9uc1VzZWRcbiAgICAgICAgLy8gSXQgaXMgdG9vIGxhdGUgdG8gYWRkIHRoaXMgaW4gYmVmb3JlUm9vdFxuICAgICAgICBjb25zdCBqc29uID0gdGhpcy5wYXJzZXIuanNvbjtcbiAgICAgICAganNvbi5leHRlbnNpb25zVXNlZCA9IChfYSA9IGpzb24uZXh0ZW5zaW9uc1VzZWQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdO1xuICAgICAgICBpZiAoanNvbi5leHRlbnNpb25zVXNlZC5pbmRleE9mKCdLSFJfdGV4dHVyZV90cmFuc2Zvcm0nKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIGpzb24uZXh0ZW5zaW9uc1VzZWQucHVzaCgnS0hSX3RleHR1cmVfdHJhbnNmb3JtJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYmVmb3JlUm9vdCgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHRoaXMucGFyc2VyLmpzb247XG4gICAgICAgICAgICAvLyBlYXJseSBhYm9ydCBpZiBpdCBkb2Vzbid0IHVzZSBWMFZSTVxuICAgICAgICAgICAgY29uc3QgdjBWUk1FeHRlbnNpb24gPSAoX2EgPSBqc29uLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsnVlJNJ107XG4gICAgICAgICAgICBjb25zdCB2ME1hdGVyaWFsUHJvcGVydGllcyA9IHYwVlJNRXh0ZW5zaW9uID09PSBudWxsIHx8IHYwVlJNRXh0ZW5zaW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiB2MFZSTUV4dGVuc2lvbi5tYXRlcmlhbFByb3BlcnRpZXM7XG4gICAgICAgICAgICBpZiAoIXYwTWF0ZXJpYWxQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gcG9wdWxhdGUgcmVuZGVyIHF1ZXVlIG1hcFxuICAgICAgICAgICAgdGhpcy5fcG9wdWxhdGVSZW5kZXJRdWV1ZU1hcCh2ME1hdGVyaWFsUHJvcGVydGllcyk7XG4gICAgICAgICAgICAvLyBjb252ZXJ0IFYwIG1hdGVyaWFsIHByb3BlcnRpZXMgaW50byBWMSBjb21wYXRpYmxlIGZvcm1hdFxuICAgICAgICAgICAgdjBNYXRlcmlhbFByb3BlcnRpZXMuZm9yRWFjaCgobWF0ZXJpYWxQcm9wZXJ0aWVzLCBtYXRlcmlhbEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRlcmlhbERlZiA9IChfYSA9IGpzb24ubWF0ZXJpYWxzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbbWF0ZXJpYWxJbmRleF07XG4gICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsRGVmID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1NYXRlcmlhbHNWMENvbXBhdFBsdWdpbjogQXR0ZW1wdCB0byB1c2UgbWF0ZXJpYWxzWyR7bWF0ZXJpYWxJbmRleH1dIG9mIGdsVEYgYnV0IHRoZSBtYXRlcmlhbCBkb2Vzbid0IGV4aXN0YCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG1hdGVyaWFsUHJvcGVydGllcy5zaGFkZXIgPT09ICdWUk0vTVRvb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsID0gdGhpcy5fcGFyc2VWME1Ub29uUHJvcGVydGllcyhtYXRlcmlhbFByb3BlcnRpZXMsIG1hdGVyaWFsRGVmKTtcbiAgICAgICAgICAgICAgICAgICAganNvbi5tYXRlcmlhbHNbbWF0ZXJpYWxJbmRleF0gPSBtYXRlcmlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoKF9iID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnNoYWRlcikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnN0YXJ0c1dpdGgoJ1ZSTS9VbmxpdCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGVyaWFsID0gdGhpcy5fcGFyc2VWMFVubGl0UHJvcGVydGllcyhtYXRlcmlhbFByb3BlcnRpZXMsIG1hdGVyaWFsRGVmKTtcbiAgICAgICAgICAgICAgICAgICAganNvbi5tYXRlcmlhbHNbbWF0ZXJpYWxJbmRleF0gPSBtYXRlcmlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAobWF0ZXJpYWxQcm9wZXJ0aWVzLnNoYWRlciA9PT0gJ1ZSTV9VU0VfR0xURlNIQURFUicpIDtcbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1NYXRlcmlhbHNWMENvbXBhdFBsdWdpbjogVW5rbm93biBzaGFkZXI6ICR7bWF0ZXJpYWxQcm9wZXJ0aWVzLnNoYWRlcn1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9wYXJzZVYwTVRvb25Qcm9wZXJ0aWVzKG1hdGVyaWFsUHJvcGVydGllcywgc2NoZW1hTWF0ZXJpYWwpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZSwgX2YsIF9nLCBfaCwgX2osIF9rLCBfbCwgX20sIF9vLCBfcCwgX3EsIF9yLCBfcywgX3QsIF91LCBfdiwgX3csIF94LCBfeSwgX3osIF8wLCBfMSwgXzIsIF8zLCBfNCwgXzUsIF82LCBfNywgXzgsIF85LCBfMTAsIF8xMSwgXzEyLCBfMTMsIF8xNCwgXzE1LCBfMTYsIF8xNywgXzE4LCBfMTk7XG4gICAgICAgIGNvbnN0IGlzVHJhbnNwYXJlbnQgPSAoX2IgPSAoX2EgPSBtYXRlcmlhbFByb3BlcnRpZXMua2V5d29yZE1hcCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWydfQUxQSEFCTEVORF9PTiddKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBmYWxzZTtcbiAgICAgICAgY29uc3QgZW5hYmxlZFpXcml0ZSA9ICgoX2MgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2NbJ19aV3JpdGUnXSkgPT09IDE7XG4gICAgICAgIGNvbnN0IHRyYW5zcGFyZW50V2l0aFpXcml0ZSA9IGVuYWJsZWRaV3JpdGUgJiYgaXNUcmFuc3BhcmVudDtcbiAgICAgICAgY29uc3QgcmVuZGVyUXVldWVPZmZzZXROdW1iZXIgPSB0aGlzLl92MFBhcnNlUmVuZGVyUXVldWUobWF0ZXJpYWxQcm9wZXJ0aWVzKTtcbiAgICAgICAgY29uc3QgaXNDdXRvZmYgPSAoX2UgPSAoX2QgPSBtYXRlcmlhbFByb3BlcnRpZXMua2V5d29yZE1hcCkgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kWydfQUxQSEFURVNUX09OJ10pICE9PSBudWxsICYmIF9lICE9PSB2b2lkIDAgPyBfZSA6IGZhbHNlO1xuICAgICAgICBjb25zdCBhbHBoYU1vZGUgPSBpc1RyYW5zcGFyZW50ID8gJ0JMRU5EJyA6IGlzQ3V0b2ZmID8gJ01BU0snIDogJ09QQVFVRSc7XG4gICAgICAgIGNvbnN0IGFscGhhQ3V0b2ZmID0gaXNDdXRvZmYgPyAoX2YgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfZiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2ZbJ19DdXRvZmYnXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgY3VsbE1vZGUgPSAoX2ggPSAoX2cgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfZyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2dbJ19DdWxsTW9kZSddKSAhPT0gbnVsbCAmJiBfaCAhPT0gdm9pZCAwID8gX2ggOiAyOyAvLyBlbnVtLCB7IE9mZiwgRnJvbnQsIEJhY2sgfVxuICAgICAgICBjb25zdCBkb3VibGVTaWRlZCA9IGN1bGxNb2RlID09PSAwO1xuICAgICAgICBjb25zdCB0ZXh0dXJlVHJhbnNmb3JtRXh0ID0gdGhpcy5fcG9ydFRleHR1cmVUcmFuc2Zvcm0obWF0ZXJpYWxQcm9wZXJ0aWVzKTtcbiAgICAgICAgY29uc3QgYmFzZUNvbG9yRmFjdG9yID0gKF9rID0gKF9qID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnZlY3RvclByb3BlcnRpZXMpID09PSBudWxsIHx8IF9qID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfalsnX0NvbG9yJ10pID09PSBudWxsIHx8IF9rID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfay5tYXAoKHYsIGkpID0+IChpID09PSAzID8gdiA6IGdhbW1hRU9URih2KSkpO1xuICAgICAgICBjb25zdCBiYXNlQ29sb3JUZXh0dXJlSW5kZXggPSAoX2wgPSBtYXRlcmlhbFByb3BlcnRpZXMudGV4dHVyZVByb3BlcnRpZXMpID09PSBudWxsIHx8IF9sID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfbFsnX01haW5UZXgnXTtcbiAgICAgICAgY29uc3QgYmFzZUNvbG9yVGV4dHVyZSA9IGJhc2VDb2xvclRleHR1cmVJbmRleCAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBpbmRleDogYmFzZUNvbG9yVGV4dHVyZUluZGV4LFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IE9iamVjdC5hc3NpZ24oe30sIHRleHR1cmVUcmFuc2Zvcm1FeHQpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IG5vcm1hbFRleHR1cmVTY2FsZSA9IChfbSA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF9tID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfbVsnX0J1bXBTY2FsZSddO1xuICAgICAgICBjb25zdCBub3JtYWxUZXh0dXJlSW5kZXggPSAoX28gPSBtYXRlcmlhbFByb3BlcnRpZXMudGV4dHVyZVByb3BlcnRpZXMpID09PSBudWxsIHx8IF9vID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfb1snX0J1bXBNYXAnXTtcbiAgICAgICAgY29uc3Qgbm9ybWFsVGV4dHVyZSA9IG5vcm1hbFRleHR1cmVJbmRleCAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBpbmRleDogbm9ybWFsVGV4dHVyZUluZGV4LFxuICAgICAgICAgICAgICAgIHNjYWxlOiBub3JtYWxUZXh0dXJlU2NhbGUsXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uczogT2JqZWN0LmFzc2lnbih7fSwgdGV4dHVyZVRyYW5zZm9ybUV4dCksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZW1pc3NpdmVGYWN0b3IgPSAoX3EgPSAoX3AgPSBtYXRlcmlhbFByb3BlcnRpZXMudmVjdG9yUHJvcGVydGllcykgPT09IG51bGwgfHwgX3AgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9wWydfRW1pc3Npb25Db2xvciddKSA9PT0gbnVsbCB8fCBfcSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3EubWFwKGdhbW1hRU9URik7XG4gICAgICAgIGNvbnN0IGVtaXNzaXZlVGV4dHVyZUluZGV4ID0gKF9yID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnRleHR1cmVQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfciA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3JbJ19FbWlzc2lvbk1hcCddO1xuICAgICAgICBjb25zdCBlbWlzc2l2ZVRleHR1cmUgPSBlbWlzc2l2ZVRleHR1cmVJbmRleCAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBpbmRleDogZW1pc3NpdmVUZXh0dXJlSW5kZXgsXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uczogT2JqZWN0LmFzc2lnbih7fSwgdGV4dHVyZVRyYW5zZm9ybUV4dCksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgc2hhZGVDb2xvckZhY3RvciA9IChfdCA9IChfcyA9IG1hdGVyaWFsUHJvcGVydGllcy52ZWN0b3JQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3NbJ19TaGFkZUNvbG9yJ10pID09PSBudWxsIHx8IF90ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdC5tYXAoZ2FtbWFFT1RGKTtcbiAgICAgICAgY29uc3Qgc2hhZGVNdWx0aXBseVRleHR1cmVJbmRleCA9IChfdSA9IG1hdGVyaWFsUHJvcGVydGllcy50ZXh0dXJlUHJvcGVydGllcykgPT09IG51bGwgfHwgX3UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF91WydfU2hhZGVUZXh0dXJlJ107XG4gICAgICAgIGNvbnN0IHNoYWRlTXVsdGlwbHlUZXh0dXJlID0gc2hhZGVNdWx0aXBseVRleHR1cmVJbmRleCAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBpbmRleDogc2hhZGVNdWx0aXBseVRleHR1cmVJbmRleCxcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBPYmplY3QuYXNzaWduKHt9LCB0ZXh0dXJlVHJhbnNmb3JtRXh0KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAvLyAvLyBjb252ZXJ0IHYwIHNoYWRlIHNoaWZ0IC8gc2hhZGUgdG9vbnlcbiAgICAgICAgbGV0IHNoYWRpbmdTaGlmdEZhY3RvciA9IChfdyA9IChfdiA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF92ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdlsnX1NoYWRlU2hpZnQnXSkgIT09IG51bGwgJiYgX3cgIT09IHZvaWQgMCA/IF93IDogMC4wO1xuICAgICAgICBsZXQgc2hhZGluZ1Rvb255RmFjdG9yID0gKF95ID0gKF94ID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgX3ggPT09IHZvaWQgMCA/IHZvaWQgMCA6IF94WydfU2hhZGVUb29ueSddKSAhPT0gbnVsbCAmJiBfeSAhPT0gdm9pZCAwID8gX3kgOiAwLjk7XG4gICAgICAgIHNoYWRpbmdUb29ueUZhY3RvciA9IFRIUkVFLk1hdGhVdGlscy5sZXJwKHNoYWRpbmdUb29ueUZhY3RvciwgMS4wLCAwLjUgKyAwLjUgKiBzaGFkaW5nU2hpZnRGYWN0b3IpO1xuICAgICAgICBzaGFkaW5nU2hpZnRGYWN0b3IgPSAtc2hhZGluZ1NoaWZ0RmFjdG9yIC0gKDEuMCAtIHNoYWRpbmdUb29ueUZhY3Rvcik7XG4gICAgICAgIGNvbnN0IGdpSW50ZW5zaXR5RmFjdG9yID0gKF96ID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgX3ogPT09IHZvaWQgMCA/IHZvaWQgMCA6IF96WydfSW5kaXJlY3RMaWdodEludGVuc2l0eSddO1xuICAgICAgICBjb25zdCBnaUVxdWFsaXphdGlvbkZhY3RvciA9IGdpSW50ZW5zaXR5RmFjdG9yID8gMS4wIC0gZ2lJbnRlbnNpdHlGYWN0b3IgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IG1hdGNhcFRleHR1cmVJbmRleCA9IChfMCA9IG1hdGVyaWFsUHJvcGVydGllcy50ZXh0dXJlUHJvcGVydGllcykgPT09IG51bGwgfHwgXzAgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8wWydfU3BoZXJlQWRkJ107XG4gICAgICAgIGNvbnN0IG1hdGNhcEZhY3RvciA9IG1hdGNhcFRleHR1cmVJbmRleCAhPSBudWxsID8gWzEuMCwgMS4wLCAxLjBdIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBtYXRjYXBUZXh0dXJlID0gbWF0Y2FwVGV4dHVyZUluZGV4ICE9IG51bGxcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIGluZGV4OiBtYXRjYXBUZXh0dXJlSW5kZXgsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcmltTGlnaHRpbmdNaXhGYWN0b3IgPSAoXzEgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfMSA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzFbJ19SaW1MaWdodGluZ01peCddO1xuICAgICAgICBjb25zdCByaW1NdWx0aXBseVRleHR1cmVJbmRleCA9IChfMiA9IG1hdGVyaWFsUHJvcGVydGllcy50ZXh0dXJlUHJvcGVydGllcykgPT09IG51bGwgfHwgXzIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8yWydfUmltVGV4dHVyZSddO1xuICAgICAgICBjb25zdCByaW1NdWx0aXBseVRleHR1cmUgPSByaW1NdWx0aXBseVRleHR1cmVJbmRleCAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBpbmRleDogcmltTXVsdGlwbHlUZXh0dXJlSW5kZXgsXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uczogT2JqZWN0LmFzc2lnbih7fSwgdGV4dHVyZVRyYW5zZm9ybUV4dCksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcGFyYW1ldHJpY1JpbUNvbG9yRmFjdG9yID0gKF80ID0gKF8zID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnZlY3RvclByb3BlcnRpZXMpID09PSBudWxsIHx8IF8zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfM1snX1JpbUNvbG9yJ10pID09PSBudWxsIHx8IF80ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfNC5tYXAoZ2FtbWFFT1RGKTtcbiAgICAgICAgY29uc3QgcGFyYW1ldHJpY1JpbUZyZXNuZWxQb3dlckZhY3RvciA9IChfNSA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF81ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfNVsnX1JpbUZyZXNuZWxQb3dlciddO1xuICAgICAgICBjb25zdCBwYXJhbWV0cmljUmltTGlmdEZhY3RvciA9IChfNiA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF82ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfNlsnX1JpbUxpZnQnXTtcbiAgICAgICAgY29uc3Qgb3V0bGluZVdpZHRoTW9kZSA9IFsnbm9uZScsICd3b3JsZENvb3JkaW5hdGVzJywgJ3NjcmVlbkNvb3JkaW5hdGVzJ11bKF84ID0gKF83ID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgXzcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF83WydfT3V0bGluZVdpZHRoTW9kZSddKSAhPT0gbnVsbCAmJiBfOCAhPT0gdm9pZCAwID8gXzggOiAwXTtcbiAgICAgICAgLy8gLy8gdjAgb3V0bGluZVdpZHRoRmFjdG9yIGlzIGluIGNlbnRpbWV0ZXJcbiAgICAgICAgbGV0IG91dGxpbmVXaWR0aEZhY3RvciA9IChfMTAgPSAoXzkgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfOSA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzlbJ19PdXRsaW5lV2lkdGgnXSkgIT09IG51bGwgJiYgXzEwICE9PSB2b2lkIDAgPyBfMTAgOiAwLjA7XG4gICAgICAgIG91dGxpbmVXaWR0aEZhY3RvciA9IDAuMDEgKiBvdXRsaW5lV2lkdGhGYWN0b3I7XG4gICAgICAgIGNvbnN0IG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZUluZGV4ID0gKF8xMSA9IG1hdGVyaWFsUHJvcGVydGllcy50ZXh0dXJlUHJvcGVydGllcykgPT09IG51bGwgfHwgXzExID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfMTFbJ19PdXRsaW5lV2lkdGhUZXh0dXJlJ107XG4gICAgICAgIGNvbnN0IG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZSA9IG91dGxpbmVXaWR0aE11bHRpcGx5VGV4dHVyZUluZGV4ICE9IG51bGxcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIGluZGV4OiBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmVJbmRleCxcbiAgICAgICAgICAgICAgICBleHRlbnNpb25zOiBPYmplY3QuYXNzaWduKHt9LCB0ZXh0dXJlVHJhbnNmb3JtRXh0KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBvdXRsaW5lQ29sb3JGYWN0b3IgPSAoXzEzID0gKF8xMiA9IG1hdGVyaWFsUHJvcGVydGllcy52ZWN0b3JQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfMTIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8xMlsnX091dGxpbmVDb2xvciddKSA9PT0gbnVsbCB8fCBfMTMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8xMy5tYXAoZ2FtbWFFT1RGKTtcbiAgICAgICAgY29uc3Qgb3V0bGluZUNvbG9yTW9kZSA9IChfMTQgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfMTQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8xNFsnX091dGxpbmVDb2xvck1vZGUnXTsgLy8gZW51bSwgeyBGaXhlZCwgTWl4ZWQgfVxuICAgICAgICBjb25zdCBvdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3IgPSBvdXRsaW5lQ29sb3JNb2RlID09PSAxID8gKF8xNSA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF8xNSA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzE1WydfT3V0bGluZUxpZ2h0aW5nTWl4J10gOiAwLjA7XG4gICAgICAgIGNvbnN0IHV2QW5pbWF0aW9uTWFza1RleHR1cmVJbmRleCA9IChfMTYgPSBtYXRlcmlhbFByb3BlcnRpZXMudGV4dHVyZVByb3BlcnRpZXMpID09PSBudWxsIHx8IF8xNiA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzE2WydfVXZBbmltTWFza1RleHR1cmUnXTtcbiAgICAgICAgY29uc3QgdXZBbmltYXRpb25NYXNrVGV4dHVyZSA9IHV2QW5pbWF0aW9uTWFza1RleHR1cmVJbmRleCAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBpbmRleDogdXZBbmltYXRpb25NYXNrVGV4dHVyZUluZGV4LFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IE9iamVjdC5hc3NpZ24oe30sIHRleHR1cmVUcmFuc2Zvcm1FeHQpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHV2QW5pbWF0aW9uU2Nyb2xsWFNwZWVkRmFjdG9yID0gKF8xNyA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF8xNyA9PT0gdm9pZCAwID8gdm9pZCAwIDogXzE3WydfVXZBbmltU2Nyb2xsWCddO1xuICAgICAgICAvLyB1dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvciB3aWxsIGJlIG9wcG9zaXRlIGJldHdlZW4gVjAgYW5kIFYxXG4gICAgICAgIGxldCB1dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvciA9IChfMTggPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfMTggPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8xOFsnX1V2QW5pbVNjcm9sbFknXTtcbiAgICAgICAgaWYgKHV2QW5pbWF0aW9uU2Nyb2xsWVNwZWVkRmFjdG9yICE9IG51bGwpIHtcbiAgICAgICAgICAgIHV2QW5pbWF0aW9uU2Nyb2xsWVNwZWVkRmFjdG9yID0gLXV2QW5pbWF0aW9uU2Nyb2xsWVNwZWVkRmFjdG9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHV2QW5pbWF0aW9uUm90YXRpb25TcGVlZEZhY3RvciA9IChfMTkgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfMTkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF8xOVsnX1V2QW5pbVJvdGF0aW9uJ107XG4gICAgICAgIGNvbnN0IG10b29uRXh0ZW5zaW9uID0ge1xuICAgICAgICAgICAgc3BlY1ZlcnNpb246ICcxLjAnLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnRXaXRoWldyaXRlLFxuICAgICAgICAgICAgcmVuZGVyUXVldWVPZmZzZXROdW1iZXIsXG4gICAgICAgICAgICBzaGFkZUNvbG9yRmFjdG9yLFxuICAgICAgICAgICAgc2hhZGVNdWx0aXBseVRleHR1cmUsXG4gICAgICAgICAgICBzaGFkaW5nU2hpZnRGYWN0b3IsXG4gICAgICAgICAgICBzaGFkaW5nVG9vbnlGYWN0b3IsXG4gICAgICAgICAgICBnaUVxdWFsaXphdGlvbkZhY3RvcixcbiAgICAgICAgICAgIG1hdGNhcEZhY3RvcixcbiAgICAgICAgICAgIG1hdGNhcFRleHR1cmUsXG4gICAgICAgICAgICByaW1MaWdodGluZ01peEZhY3RvcixcbiAgICAgICAgICAgIHJpbU11bHRpcGx5VGV4dHVyZSxcbiAgICAgICAgICAgIHBhcmFtZXRyaWNSaW1Db2xvckZhY3RvcixcbiAgICAgICAgICAgIHBhcmFtZXRyaWNSaW1GcmVzbmVsUG93ZXJGYWN0b3IsXG4gICAgICAgICAgICBwYXJhbWV0cmljUmltTGlmdEZhY3RvcixcbiAgICAgICAgICAgIG91dGxpbmVXaWR0aE1vZGUsXG4gICAgICAgICAgICBvdXRsaW5lV2lkdGhGYWN0b3IsXG4gICAgICAgICAgICBvdXRsaW5lV2lkdGhNdWx0aXBseVRleHR1cmUsXG4gICAgICAgICAgICBvdXRsaW5lQ29sb3JGYWN0b3IsXG4gICAgICAgICAgICBvdXRsaW5lTGlnaHRpbmdNaXhGYWN0b3IsXG4gICAgICAgICAgICB1dkFuaW1hdGlvbk1hc2tUZXh0dXJlLFxuICAgICAgICAgICAgdXZBbmltYXRpb25TY3JvbGxYU3BlZWRGYWN0b3IsXG4gICAgICAgICAgICB1dkFuaW1hdGlvblNjcm9sbFlTcGVlZEZhY3RvcixcbiAgICAgICAgICAgIHV2QW5pbWF0aW9uUm90YXRpb25TcGVlZEZhY3RvcixcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgc2NoZW1hTWF0ZXJpYWwpLCB7IHBick1ldGFsbGljUm91Z2huZXNzOiB7XG4gICAgICAgICAgICAgICAgYmFzZUNvbG9yRmFjdG9yLFxuICAgICAgICAgICAgICAgIGJhc2VDb2xvclRleHR1cmUsXG4gICAgICAgICAgICB9LCBub3JtYWxUZXh0dXJlLFxuICAgICAgICAgICAgZW1pc3NpdmVUZXh0dXJlLFxuICAgICAgICAgICAgZW1pc3NpdmVGYWN0b3IsXG4gICAgICAgICAgICBhbHBoYU1vZGUsXG4gICAgICAgICAgICBhbHBoYUN1dG9mZixcbiAgICAgICAgICAgIGRvdWJsZVNpZGVkLCBleHRlbnNpb25zOiB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICAgICAgICAgICAgIFZSTUNfbWF0ZXJpYWxzX210b29uOiBtdG9vbkV4dGVuc2lvbixcbiAgICAgICAgICAgIH0gfSk7XG4gICAgfVxuICAgIF9wYXJzZVYwVW5saXRQcm9wZXJ0aWVzKG1hdGVyaWFsUHJvcGVydGllcywgc2NoZW1hTWF0ZXJpYWwpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgICAgICBjb25zdCBpc1RyYW5zcGFyZW50WldyaXRlID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnNoYWRlciA9PT0gJ1ZSTS9VbmxpdFRyYW5zcGFyZW50WldyaXRlJztcbiAgICAgICAgY29uc3QgaXNUcmFuc3BhcmVudCA9IG1hdGVyaWFsUHJvcGVydGllcy5zaGFkZXIgPT09ICdWUk0vVW5saXRUcmFuc3BhcmVudCcgfHwgaXNUcmFuc3BhcmVudFpXcml0ZTtcbiAgICAgICAgY29uc3QgcmVuZGVyUXVldWVPZmZzZXROdW1iZXIgPSB0aGlzLl92MFBhcnNlUmVuZGVyUXVldWUobWF0ZXJpYWxQcm9wZXJ0aWVzKTtcbiAgICAgICAgY29uc3QgaXNDdXRvZmYgPSBtYXRlcmlhbFByb3BlcnRpZXMuc2hhZGVyID09PSAnVlJNL1VubGl0Q3V0b3V0JztcbiAgICAgICAgY29uc3QgYWxwaGFNb2RlID0gaXNUcmFuc3BhcmVudCA/ICdCTEVORCcgOiBpc0N1dG9mZiA/ICdNQVNLJyA6ICdPUEFRVUUnO1xuICAgICAgICBjb25zdCBhbHBoYUN1dG9mZiA9IGlzQ3V0b2ZmID8gKF9hID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLmZsb2F0UHJvcGVydGllcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWydfQ3V0b2ZmJ10gOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHRleHR1cmVUcmFuc2Zvcm1FeHQgPSB0aGlzLl9wb3J0VGV4dHVyZVRyYW5zZm9ybShtYXRlcmlhbFByb3BlcnRpZXMpO1xuICAgICAgICBjb25zdCBiYXNlQ29sb3JGYWN0b3IgPSAoX2MgPSAoX2IgPSBtYXRlcmlhbFByb3BlcnRpZXMudmVjdG9yUHJvcGVydGllcykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iWydfQ29sb3InXSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLm1hcChnYW1tYUVPVEYpO1xuICAgICAgICBjb25zdCBiYXNlQ29sb3JUZXh0dXJlSW5kZXggPSAoX2QgPSBtYXRlcmlhbFByb3BlcnRpZXMudGV4dHVyZVByb3BlcnRpZXMpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZFsnX01haW5UZXgnXTtcbiAgICAgICAgY29uc3QgYmFzZUNvbG9yVGV4dHVyZSA9IGJhc2VDb2xvclRleHR1cmVJbmRleCAhPSBudWxsXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBpbmRleDogYmFzZUNvbG9yVGV4dHVyZUluZGV4LFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbnM6IE9iamVjdC5hc3NpZ24oe30sIHRleHR1cmVUcmFuc2Zvcm1FeHQpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIHVzZSBtdG9vbiBpbnN0ZWFkIG9mIHVubGl0LCBzaW5jZSB0aGVyZSBtaWdodCBiZSBWUk0wLjAgc3BlY2lmaWMgZmVhdHVyZXMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBieSBnbHRmXG4gICAgICAgIGNvbnN0IG10b29uRXh0ZW5zaW9uID0ge1xuICAgICAgICAgICAgc3BlY1ZlcnNpb246ICcxLjAnLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnRXaXRoWldyaXRlOiBpc1RyYW5zcGFyZW50WldyaXRlLFxuICAgICAgICAgICAgcmVuZGVyUXVldWVPZmZzZXROdW1iZXIsXG4gICAgICAgICAgICBzaGFkZUNvbG9yRmFjdG9yOiBiYXNlQ29sb3JGYWN0b3IsXG4gICAgICAgICAgICBzaGFkZU11bHRpcGx5VGV4dHVyZTogYmFzZUNvbG9yVGV4dHVyZSxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgc2NoZW1hTWF0ZXJpYWwpLCB7IHBick1ldGFsbGljUm91Z2huZXNzOiB7XG4gICAgICAgICAgICAgICAgYmFzZUNvbG9yRmFjdG9yLFxuICAgICAgICAgICAgICAgIGJhc2VDb2xvclRleHR1cmUsXG4gICAgICAgICAgICB9LCBhbHBoYU1vZGUsXG4gICAgICAgICAgICBhbHBoYUN1dG9mZiwgZXh0ZW5zaW9uczoge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICAgICAgICAgICBWUk1DX21hdGVyaWFsc19tdG9vbjogbXRvb25FeHRlbnNpb24sXG4gICAgICAgICAgICB9IH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBnbFRGIGBLSFJfdGV4dHVyZV90cmFuc2Zvcm1gIGV4dGVuc2lvbiBmcm9tIHYwIHRleHR1cmUgdHJhbnNmb3JtIGluZm8uXG4gICAgICovXG4gICAgX3BvcnRUZXh0dXJlVHJhbnNmb3JtKG1hdGVyaWFsUHJvcGVydGllcykge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lO1xuICAgICAgICBjb25zdCB0ZXh0dXJlVHJhbnNmb3JtID0gKF9hID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnZlY3RvclByb3BlcnRpZXMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsnX01haW5UZXgnXTtcbiAgICAgICAgaWYgKHRleHR1cmVUcmFuc2Zvcm0gPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IFsoX2IgPSB0ZXh0dXJlVHJhbnNmb3JtID09PSBudWxsIHx8IHRleHR1cmVUcmFuc2Zvcm0gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRleHR1cmVUcmFuc2Zvcm1bMF0pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDAuMCwgKF9jID0gdGV4dHVyZVRyYW5zZm9ybSA9PT0gbnVsbCB8fCB0ZXh0dXJlVHJhbnNmb3JtID09PSB2b2lkIDAgPyB2b2lkIDAgOiB0ZXh0dXJlVHJhbnNmb3JtWzFdKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwLjBdO1xuICAgICAgICBjb25zdCBzY2FsZSA9IFsoX2QgPSB0ZXh0dXJlVHJhbnNmb3JtID09PSBudWxsIHx8IHRleHR1cmVUcmFuc2Zvcm0gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRleHR1cmVUcmFuc2Zvcm1bMl0pICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDEuMCwgKF9lID0gdGV4dHVyZVRyYW5zZm9ybSA9PT0gbnVsbCB8fCB0ZXh0dXJlVHJhbnNmb3JtID09PSB2b2lkIDAgPyB2b2lkIDAgOiB0ZXh0dXJlVHJhbnNmb3JtWzNdKSAhPT0gbnVsbCAmJiBfZSAhPT0gdm9pZCAwID8gX2UgOiAxLjBdO1xuICAgICAgICBvZmZzZXRbMV0gPSAxLjAgLSBzY2FsZVsxXSAtIG9mZnNldFsxXTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICAgICAgIEtIUl90ZXh0dXJlX3RyYW5zZm9ybTogeyBvZmZzZXQsIHNjYWxlIH0sXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbnZlcnQgdjAgcmVuZGVyIG9yZGVyIGludG8gdjEgcmVuZGVyIG9yZGVyLlxuICAgICAqIFRoaXMgdXNlcyBhIG1hcCBmcm9tIHYwIHJlbmRlciBxdWV1ZSB0byB2MSBjb21wbGlhbnQgcmVuZGVyIHF1ZXVlIG9mZnNldCB3aGljaCBpcyBnZW5lcmF0ZWQgaW4ge0BsaW5rIF9wb3B1bGF0ZVJlbmRlclF1ZXVlTWFwfS5cbiAgICAgKi9cbiAgICBfdjBQYXJzZVJlbmRlclF1ZXVlKG1hdGVyaWFsUHJvcGVydGllcykge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgY29uc3QgaXNUcmFuc3BhcmVudCA9IChfYiA9IChfYSA9IG1hdGVyaWFsUHJvcGVydGllcy5rZXl3b3JkTWFwKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbJ19BTFBIQUJMRU5EX09OJ10pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGZhbHNlO1xuICAgICAgICBjb25zdCBlbmFibGVkWldyaXRlID0gKChfYyA9IG1hdGVyaWFsUHJvcGVydGllcy5mbG9hdFByb3BlcnRpZXMpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfY1snX1pXcml0ZSddKSA9PT0gMTtcbiAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgIGlmIChpc1RyYW5zcGFyZW50KSB7XG4gICAgICAgICAgICBjb25zdCB2MFF1ZXVlID0gbWF0ZXJpYWxQcm9wZXJ0aWVzLnJlbmRlclF1ZXVlO1xuICAgICAgICAgICAgaWYgKHYwUXVldWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmIChlbmFibGVkWldyaXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldCA9IHRoaXMuX3JlbmRlclF1ZXVlTWFwVHJhbnNwYXJlbnRaV3JpdGUuZ2V0KHYwUXVldWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gdGhpcy5fcmVuZGVyUXVldWVNYXBUcmFuc3BhcmVudC5nZXQodjBRdWV1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZmZzZXQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG1hcCB3aGljaCBtYXBzIHYwIHJlbmRlciBxdWV1ZSB0byB2MSBjb21wbGlhbnQgcmVuZGVyIHF1ZXVlIG9mZnNldC5cbiAgICAgKiBUaGlzIGxpc3RzIHVwIGFsbCByZW5kZXIgcXVldWVzIHRoZSBtb2RlbCB1c2UgYW5kIGNyZWF0ZXMgYSBtYXAgdG8gbmV3IHJlbmRlciBxdWV1ZSBvZmZzZXRzIGluIHRoZSBzYW1lIG9yZGVyLlxuICAgICAqL1xuICAgIF9wb3B1bGF0ZVJlbmRlclF1ZXVlTWFwKG1hdGVyaWFsUHJvcGVydGllc0xpc3QpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEEgc2V0IG9mIHVzZWQgcmVuZGVyIHF1ZXVlcyBpbiBUcmFuc3BhcmVudCBtYXRlcmlhbHMuXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCByZW5kZXJRdWV1ZXNUcmFuc3BhcmVudCA9IG5ldyBTZXQoKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEEgc2V0IG9mIHVzZWQgcmVuZGVyIHF1ZXVlcyBpbiBUcmFuc3BhcmVudFpXcml0ZSBtYXRlcmlhbHMuXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCByZW5kZXJRdWV1ZXNUcmFuc3BhcmVudFpXcml0ZSA9IG5ldyBTZXQoKTtcbiAgICAgICAgLy8gcG9wdWxhdGUgdGhlIHJlbmRlciBxdWV1ZSBzZXRcbiAgICAgICAgbWF0ZXJpYWxQcm9wZXJ0aWVzTGlzdC5mb3JFYWNoKChtYXRlcmlhbFByb3BlcnRpZXMpID0+IHtcbiAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICAgICAgY29uc3QgaXNUcmFuc3BhcmVudCA9IChfYiA9IChfYSA9IG1hdGVyaWFsUHJvcGVydGllcy5rZXl3b3JkTWFwKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbJ19BTFBIQUJMRU5EX09OJ10pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgZW5hYmxlZFpXcml0ZSA9ICgoX2MgPSBtYXRlcmlhbFByb3BlcnRpZXMuZmxvYXRQcm9wZXJ0aWVzKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2NbJ19aV3JpdGUnXSkgPT09IDE7XG4gICAgICAgICAgICBpZiAoaXNUcmFuc3BhcmVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHYwUXVldWUgPSBtYXRlcmlhbFByb3BlcnRpZXMucmVuZGVyUXVldWU7XG4gICAgICAgICAgICAgICAgaWYgKHYwUXVldWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZW5hYmxlZFpXcml0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyUXVldWVzVHJhbnNwYXJlbnRaV3JpdGUuYWRkKHYwUXVldWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyUXVldWVzVHJhbnNwYXJlbnQuYWRkKHYwUXVldWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gc2hvdyBhIHdhcm5pbmcgaWYgdGhlIG1vZGVsIHVzZXMgdjEgaW5jb21wYXRpYmxlIG51bWJlciBvZiByZW5kZXIgcXVldWVzXG4gICAgICAgIGlmIChyZW5kZXJRdWV1ZXNUcmFuc3BhcmVudC5zaXplID4gMTApIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNTWF0ZXJpYWxzVjBDb21wYXRQbHVnaW46IFRoaXMgVlJNIHVzZXMgJHtyZW5kZXJRdWV1ZXNUcmFuc3BhcmVudC5zaXplfSByZW5kZXIgcXVldWVzIGZvciBUcmFuc3BhcmVudCBtYXRlcmlhbHMgd2hpbGUgVlJNIDEuMCBvbmx5IHN1cHBvcnRzIHVwIHRvIDEwIHJlbmRlciBxdWV1ZXMuIFRoZSBtb2RlbCBtaWdodCBub3QgYmUgcmVuZGVyZWQgY29ycmVjdGx5LmApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZW5kZXJRdWV1ZXNUcmFuc3BhcmVudFpXcml0ZS5zaXplID4gMTApIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgVlJNTWF0ZXJpYWxzVjBDb21wYXRQbHVnaW46IFRoaXMgVlJNIHVzZXMgJHtyZW5kZXJRdWV1ZXNUcmFuc3BhcmVudFpXcml0ZS5zaXplfSByZW5kZXIgcXVldWVzIGZvciBUcmFuc3BhcmVudFpXcml0ZSBtYXRlcmlhbHMgd2hpbGUgVlJNIDEuMCBvbmx5IHN1cHBvcnRzIHVwIHRvIDEwIHJlbmRlciBxdWV1ZXMuIFRoZSBtb2RlbCBtaWdodCBub3QgYmUgcmVuZGVyZWQgY29ycmVjdGx5LmApO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNyZWF0ZSBhIG1hcCBmcm9tIHYwIHJlbmRlciBxdWV1ZSB0byB2MSByZW5kZXIgcXVldWUgb2Zmc2V0XG4gICAgICAgIEFycmF5LmZyb20ocmVuZGVyUXVldWVzVHJhbnNwYXJlbnQpXG4gICAgICAgICAgICAuc29ydCgpXG4gICAgICAgICAgICAuZm9yRWFjaCgocXVldWUsIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1F1ZXVlT2Zmc2V0ID0gTWF0aC5taW4oTWF0aC5tYXgoaSAtIHJlbmRlclF1ZXVlc1RyYW5zcGFyZW50LnNpemUgKyAxLCAtOSksIDApO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyUXVldWVNYXBUcmFuc3BhcmVudC5zZXQocXVldWUsIG5ld1F1ZXVlT2Zmc2V0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIEFycmF5LmZyb20ocmVuZGVyUXVldWVzVHJhbnNwYXJlbnRaV3JpdGUpXG4gICAgICAgICAgICAuc29ydCgpXG4gICAgICAgICAgICAuZm9yRWFjaCgocXVldWUsIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1F1ZXVlT2Zmc2V0ID0gTWF0aC5taW4oTWF0aC5tYXgoaSwgMCksIDkpO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyUXVldWVNYXBUcmFuc3BhcmVudFpXcml0ZS5zZXQocXVldWUsIG5ld1F1ZXVlT2Zmc2V0KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBWUk1NYXRlcmlhbHNWMENvbXBhdFBsdWdpbiB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkR2h5WldVdGRuSnRMVzFoZEdWeWFXRnNjeTEyTUdOdmJYQmhkQzV0YjJSMWJHVXVhbk1pTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUwyNXZaR1ZmYlc5a2RXeGxjeTkwYzJ4cFlpOTBjMnhwWWk1bGN6WXVhbk1pTENJdUxpOXpjbU12ZFhScGJITXZaMkZ0YldGRlQxUkdMblJ6SWl3aUxpNHZjM0pqTDFaU1RVMWhkR1Z5YVdGc2MxWXdRMjl0Y0dGMFVHeDFaMmx1TG5SeklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpcGNjbHh1UTI5d2VYSnBaMmgwSUNoaktTQk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR1WEhKY2JseHlYRzVRWlhKdGFYTnphVzl1SUhSdklIVnpaU3dnWTI5d2VTd2diVzlrYVdaNUxDQmhibVF2YjNJZ1pHbHpkSEpwWW5WMFpTQjBhR2x6SUhOdlpuUjNZWEpsSUdadmNpQmhibmxjY2x4dWNIVnljRzl6WlNCM2FYUm9JRzl5SUhkcGRHaHZkWFFnWm1WbElHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xseHlYRzVjY2x4dVZFaEZJRk5QUmxSWFFWSkZJRWxUSUZCU1QxWkpSRVZFSUZ3aVFWTWdTVk5jSWlCQlRrUWdWRWhGSUVGVlZFaFBVaUJFU1ZORFRFRkpUVk1nUVV4TUlGZEJVbEpCVGxSSlJWTWdWMGxVU0Z4eVhHNVNSVWRCVWtRZ1ZFOGdWRWhKVXlCVFQwWlVWMEZTUlNCSlRrTk1WVVJKVGtjZ1FVeE1JRWxOVUV4SlJVUWdWMEZTVWtGT1ZFbEZVeUJQUmlCTlJWSkRTRUZPVkVGQ1NVeEpWRmxjY2x4dVFVNUVJRVpKVkU1RlUxTXVJRWxPSUU1UElFVldSVTVVSUZOSVFVeE1JRlJJUlNCQlZWUklUMUlnUWtVZ1RFbEJRa3hGSUVaUFVpQkJUbGtnVTFCRlEwbEJUQ3dnUkVsU1JVTlVMRnh5WEc1SlRrUkpVa1ZEVkN3Z1QxSWdRMDlPVTBWUlZVVk9WRWxCVENCRVFVMUJSMFZUSUU5U0lFRk9XU0JFUVUxQlIwVlRJRmRJUVZSVFQwVldSVklnVWtWVFZVeFVTVTVISUVaU1QwMWNjbHh1VEU5VFV5QlBSaUJWVTBVc0lFUkJWRUVnVDFJZ1VGSlBSa2xVVXl3Z1YwaEZWRWhGVWlCSlRpQkJUaUJCUTFSSlQwNGdUMFlnUTA5T1ZGSkJRMVFzSUU1RlIweEpSMFZPUTBVZ1QxSmNjbHh1VDFSSVJWSWdWRTlTVkVsUFZWTWdRVU5VU1U5T0xDQkJVa2xUU1U1SElFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZWVFJTQlBVbHh5WEc1UVJWSkdUMUpOUVU1RFJTQlBSaUJVU0VsVElGTlBSbFJYUVZKRkxseHlYRzRxS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpQXFMMXh5WEc0dktpQm5iRzlpWVd3Z1VtVm1iR1ZqZEN3Z1VISnZiV2x6WlNBcUwxeHlYRzVjY2x4dWRtRnlJR1Y0ZEdWdVpGTjBZWFJwWTNNZ1BTQm1kVzVqZEdsdmJpaGtMQ0JpS1NCN1hISmNiaUFnSUNCbGVIUmxibVJUZEdGMGFXTnpJRDBnVDJKcVpXTjBMbk5sZEZCeWIzUnZkSGx3WlU5bUlIeDhYSEpjYmlBZ0lDQWdJQ0FnS0hzZ1gxOXdjbTkwYjE5Zk9pQmJYU0I5SUdsdWMzUmhibU5sYjJZZ1FYSnlZWGtnSmlZZ1puVnVZM1JwYjI0Z0tHUXNJR0lwSUhzZ1pDNWZYM0J5YjNSdlgxOGdQU0JpT3lCOUtTQjhmRnh5WEc0Z0lDQWdJQ0FnSUdaMWJtTjBhVzl1SUNoa0xDQmlLU0I3SUdadmNpQW9kbUZ5SUhBZ2FXNGdZaWtnYVdZZ0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaGlMQ0J3S1NrZ1pGdHdYU0E5SUdKYmNGMDdJSDA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdaWGgwWlc1a1UzUmhkR2xqY3loa0xDQmlLVHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVjRkR1Z1WkhNb1pDd2dZaWtnZTF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCaUlDRTlQU0JjSW1aMWJtTjBhVzl1WENJZ0ppWWdZaUFoUFQwZ2JuVnNiQ2xjY2x4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lRMnhoYzNNZ1pYaDBaVzVrY3lCMllXeDFaU0JjSWlBcklGTjBjbWx1WnloaUtTQXJJRndpSUdseklHNXZkQ0JoSUdOdmJuTjBjblZqZEc5eUlHOXlJRzUxYkd4Y0lpazdYSEpjYmlBZ0lDQmxlSFJsYm1SVGRHRjBhV056S0dRc0lHSXBPMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdYMThvS1NCN0lIUm9hWE11WTI5dWMzUnlkV04wYjNJZ1BTQmtPeUI5WEhKY2JpQWdJQ0JrTG5CeWIzUnZkSGx3WlNBOUlHSWdQVDA5SUc1MWJHd2dQeUJQWW1wbFkzUXVZM0psWVhSbEtHSXBJRG9nS0Y5ZkxuQnliM1J2ZEhsd1pTQTlJR0l1Y0hKdmRHOTBlWEJsTENCdVpYY2dYMThvS1NrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQjJZWElnWDE5aGMzTnBaMjRnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNBZ0lGOWZZWE56YVdkdUlEMGdUMkpxWldOMExtRnpjMmxuYmlCOGZDQm1kVzVqZEdsdmJpQmZYMkZ6YzJsbmJpaDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2N5d2dhU0E5SURFc0lHNGdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9PeUJwSUR3Z2Jqc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhNZ1BTQmhjbWQxYldWdWRITmJhVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z2N5a2dhV1lnS0U5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoekxDQndLU2tnZEZ0d1hTQTlJSE5iY0YwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJRjlmWVhOemFXZHVMbUZ3Y0d4NUtIUm9hWE1zSUdGeVozVnRaVzUwY3lrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM0psYzNRb2N5d2daU2tnZTF4eVhHNGdJQ0FnZG1GeUlIUWdQU0I3ZlR0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdjeWtnYVdZZ0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaHpMQ0J3S1NBbUppQmxMbWx1WkdWNFQyWW9jQ2tnUENBd0tWeHlYRzRnSUNBZ0lDQWdJSFJiY0YwZ1BTQnpXM0JkTzF4eVhHNGdJQ0FnYVdZZ0tITWdJVDBnYm5Wc2JDQW1KaUIwZVhCbGIyWWdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VTNsdFltOXNjeUE5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0J3SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N5aHpLVHNnYVNBOElIQXViR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHVXVhVzVrWlhoUFppaHdXMmxkS1NBOElEQWdKaVlnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzV3Y205d1pYSjBlVWx6Ulc1MWJXVnlZV0pzWlM1allXeHNLSE1zSUhCYmFWMHBLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEZ0d1cybGRYU0E5SUhOYmNGdHBYVjA3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUhRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMlJsWTI5eVlYUmxLR1JsWTI5eVlYUnZjbk1zSUhSaGNtZGxkQ3dnYTJWNUxDQmtaWE5qS1NCN1hISmNiaUFnSUNCMllYSWdZeUE5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dzSUhJZ1BTQmpJRHdnTXlBL0lIUmhjbWRsZENBNklHUmxjMk1nUFQwOUlHNTFiR3dnUHlCa1pYTmpJRDBnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNpaDBZWEpuWlhRc0lHdGxlU2tnT2lCa1pYTmpMQ0JrTzF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCU1pXWnNaV04wSUQwOVBTQmNJbTlpYW1WamRGd2lJQ1ltSUhSNWNHVnZaaUJTWldac1pXTjBMbVJsWTI5eVlYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBJSElnUFNCU1pXWnNaV04wTG1SbFkyOXlZWFJsS0dSbFkyOXlZWFJ2Y25Nc0lIUmhjbWRsZEN3Z2EyVjVMQ0JrWlhOaktUdGNjbHh1SUNBZ0lHVnNjMlVnWm05eUlDaDJZWElnYVNBOUlHUmxZMjl5WVhSdmNuTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElHbG1JQ2hrSUQwZ1pHVmpiM0poZEc5eWMxdHBYU2tnY2lBOUlDaGpJRHdnTXlBL0lHUW9jaWtnT2lCaklENGdNeUEvSUdRb2RHRnlaMlYwTENCclpYa3NJSElwSURvZ1pDaDBZWEpuWlhRc0lHdGxlU2twSUh4OElISTdYSEpjYmlBZ0lDQnlaWFIxY200Z1l5QStJRE1nSmlZZ2NpQW1KaUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHRnlaMlYwTENCclpYa3NJSElwTENCeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl3WVhKaGJTaHdZWEpoYlVsdVpHVjRMQ0JrWldOdmNtRjBiM0lwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvZEdGeVoyVjBMQ0JyWlhrcElIc2daR1ZqYjNKaGRHOXlLSFJoY21kbGRDd2dhMlY1TENCd1lYSmhiVWx1WkdWNEtUc2dmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5bGMwUmxZMjl5WVhSbEtHTjBiM0lzSUdSbGMyTnlhWEIwYjNKSmJpd2daR1ZqYjNKaGRHOXljeXdnWTI5dWRHVjRkRWx1TENCcGJtbDBhV0ZzYVhwbGNuTXNJR1Y0ZEhKaFNXNXBkR2xoYkdsNlpYSnpLU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJoWTJObGNIUW9aaWtnZXlCcFppQW9aaUFoUFQwZ2RtOXBaQ0F3SUNZbUlIUjVjR1Z2WmlCbUlDRTlQU0JjSW1aMWJtTjBhVzl1WENJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pHZFc1amRHbHZiaUJsZUhCbFkzUmxaRndpS1RzZ2NtVjBkWEp1SUdZN0lIMWNjbHh1SUNBZ0lIWmhjaUJyYVc1a0lEMGdZMjl1ZEdWNGRFbHVMbXRwYm1Rc0lHdGxlU0E5SUd0cGJtUWdQVDA5SUZ3aVoyVjBkR1Z5WENJZ1B5QmNJbWRsZEZ3aUlEb2dhMmx1WkNBOVBUMGdYQ0p6WlhSMFpYSmNJaUEvSUZ3aWMyVjBYQ0lnT2lCY0luWmhiSFZsWENJN1hISmNiaUFnSUNCMllYSWdkR0Z5WjJWMElEMGdJV1JsYzJOeWFYQjBiM0pKYmlBbUppQmpkRzl5SUQ4Z1kyOXVkR1Y0ZEVsdVcxd2ljM1JoZEdsalhDSmRJRDhnWTNSdmNpQTZJR04wYjNJdWNISnZkRzkwZVhCbElEb2diblZzYkR0Y2NseHVJQ0FnSUhaaGNpQmtaWE5qY21sd2RHOXlJRDBnWkdWelkzSnBjSFJ2Y2tsdUlIeDhJQ2gwWVhKblpYUWdQeUJQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUtIUmhjbWRsZEN3Z1kyOXVkR1Y0ZEVsdUxtNWhiV1VwSURvZ2UzMHBPMXh5WEc0Z0lDQWdkbUZ5SUY4c0lHUnZibVVnUFNCbVlXeHpaVHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCa1pXTnZjbUYwYjNKekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdOdmJuUmxlSFFnUFNCN2ZUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUdsdUlHTnZiblJsZUhSSmJpa2dZMjl1ZEdWNGRGdHdYU0E5SUhBZ1BUMDlJRndpWVdOalpYTnpYQ0lnUHlCN2ZTQTZJR052Ym5SbGVIUkpibHR3WFR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUdOdmJuUmxlSFJKYmk1aFkyTmxjM01wSUdOdmJuUmxlSFF1WVdOalpYTnpXM0JkSUQwZ1kyOXVkR1Y0ZEVsdUxtRmpZMlZ6YzF0d1hUdGNjbHh1SUNBZ0lDQWdJQ0JqYjI1MFpYaDBMbUZrWkVsdWFYUnBZV3hwZW1WeUlEMGdablZ1WTNScGIyNGdLR1lwSUhzZ2FXWWdLR1J2Ym1VcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEWVc1dWIzUWdZV1JrSUdsdWFYUnBZV3hwZW1WeWN5QmhablJsY2lCa1pXTnZjbUYwYVc5dUlHaGhjeUJqYjIxd2JHVjBaV1JjSWlrN0lHVjRkSEpoU1c1cGRHbGhiR2w2WlhKekxuQjFjMmdvWVdOalpYQjBLR1lnZkh3Z2JuVnNiQ2twT3lCOU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeVpYTjFiSFFnUFNBb01Dd2daR1ZqYjNKaGRHOXljMXRwWFNrb2EybHVaQ0E5UFQwZ1hDSmhZMk5sYzNOdmNsd2lJRDhnZXlCblpYUTZJR1JsYzJOeWFYQjBiM0l1WjJWMExDQnpaWFE2SUdSbGMyTnlhWEIwYjNJdWMyVjBJSDBnT2lCa1pYTmpjbWx3ZEc5eVcydGxlVjBzSUdOdmJuUmxlSFFwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hyYVc1a0lEMDlQU0JjSW1GalkyVnpjMjl5WENJcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDQTlQVDBnZG05cFpDQXdLU0JqYjI1MGFXNTFaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hKbGMzVnNkQ0E5UFQwZ2JuVnNiQ0I4ZkNCMGVYQmxiMllnY21WemRXeDBJQ0U5UFNCY0ltOWlhbVZqZEZ3aUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVDJKcVpXTjBJR1Y0Y0dWamRHVmtYQ0lwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRdVoyVjBLU2tnWkdWelkzSnBjSFJ2Y2k1blpYUWdQU0JmTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRdWMyVjBLU2tnWkdWelkzSnBjSFJ2Y2k1elpYUWdQU0JmTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRdWFXNXBkQ2twSUdsdWFYUnBZV3hwZW1WeWN5NXdkWE5vS0Y4cE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNoZklEMGdZV05qWlhCMEtISmxjM1ZzZENrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3RwYm1RZ1BUMDlJRndpWm1sbGJHUmNJaWtnYVc1cGRHbGhiR2w2WlhKekxuQjFjMmdvWHlrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdaR1Z6WTNKcGNIUnZjbHRyWlhsZElEMGdYenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnSUNCcFppQW9kR0Z5WjJWMEtTQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZEdGeVoyVjBMQ0JqYjI1MFpYaDBTVzR1Ym1GdFpTd2daR1Z6WTNKcGNIUnZjaWs3WEhKY2JpQWdJQ0JrYjI1bElEMGdkSEoxWlR0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM0oxYmtsdWFYUnBZV3hwZW1WeWN5aDBhR2x6UVhKbkxDQnBibWwwYVdGc2FYcGxjbk1zSUhaaGJIVmxLU0I3WEhKY2JpQWdJQ0IyWVhJZ2RYTmxWbUZzZFdVZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNanRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYVc1cGRHbGhiR2w2WlhKekxteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnNkV1VnUFNCMWMyVldZV3gxWlNBL0lHbHVhWFJwWVd4cGVtVnljMXRwWFM1allXeHNLSFJvYVhOQmNtY3NJSFpoYkhWbEtTQTZJR2x1YVhScFlXeHBlbVZ5YzF0cFhTNWpZV3hzS0hSb2FYTkJjbWNwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJSFZ6WlZaaGJIVmxJRDhnZG1Gc2RXVWdPaUIyYjJsa0lEQTdYSEpjYm4wN1hISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5d2NtOXdTMlY1S0hncElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGVYQmxiMllnZUNBOVBUMGdYQ0p6ZVcxaWIyeGNJaUEvSUhnZ09pQmNJbHdpTG1OdmJtTmhkQ2g0S1R0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM05sZEVaMWJtTjBhVzl1VG1GdFpTaG1MQ0J1WVcxbExDQndjbVZtYVhncElIdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdibUZ0WlNBOVBUMGdYQ0p6ZVcxaWIyeGNJaWtnYm1GdFpTQTlJRzVoYldVdVpHVnpZM0pwY0hScGIyNGdQeUJjSWx0Y0lpNWpiMjVqWVhRb2JtRnRaUzVrWlhOamNtbHdkR2x2Yml3Z1hDSmRYQ0lwSURvZ1hDSmNJanRjY2x4dUlDQWdJSEpsZEhWeWJpQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWml3Z1hDSnVZVzFsWENJc0lIc2dZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxMQ0IyWVd4MVpUb2djSEpsWm1sNElEOGdYQ0pjSWk1amIyNWpZWFFvY0hKbFptbDRMQ0JjSWlCY0lpd2dibUZ0WlNrZ09pQnVZVzFsSUgwcE8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYldWMFlXUmhkR0VvYldWMFlXUmhkR0ZMWlhrc0lHMWxkR0ZrWVhSaFZtRnNkV1VwSUh0Y2NseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1VtVm1iR1ZqZENBOVBUMGdYQ0p2WW1wbFkzUmNJaUFtSmlCMGVYQmxiMllnVW1WbWJHVmpkQzV0WlhSaFpHRjBZU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0J5WlhSMWNtNGdVbVZtYkdWamRDNXRaWFJoWkdGMFlTaHRaWFJoWkdGMFlVdGxlU3dnYldWMFlXUmhkR0ZXWVd4MVpTazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJGM1lXbDBaWElvZEdocGMwRnlaeXdnWDJGeVozVnRaVzUwY3l3Z1VDd2daMlZ1WlhKaGRHOXlLU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJoWkc5d2RDaDJZV3gxWlNrZ2V5QnlaWFIxY200Z2RtRnNkV1VnYVc1emRHRnVZMlZ2WmlCUUlEOGdkbUZzZFdVZ09pQnVaWGNnVUNobWRXNWpkR2x2YmlBb2NtVnpiMngyWlNrZ2V5QnlaWE52YkhabEtIWmhiSFZsS1RzZ2ZTazdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQnVaWGNnS0ZBZ2ZId2dLRkFnUFNCUWNtOXRhWE5sS1Nrb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR1oxYm1OMGFXOXVJR1oxYkdacGJHeGxaQ2gyWVd4MVpTa2dleUIwY25rZ2V5QnpkR1Z3S0dkbGJtVnlZWFJ2Y2k1dVpYaDBLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCeVpXcGxZM1JsWkNoMllXeDFaU2tnZXlCMGNua2dleUJ6ZEdWd0tHZGxibVZ5WVhSdmNsdGNJblJvY205M1hDSmRLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCemRHVndLSEpsYzNWc2RDa2dleUJ5WlhOMWJIUXVaRzl1WlNBL0lISmxjMjlzZG1Vb2NtVnpkV3gwTG5aaGJIVmxLU0E2SUdGa2IzQjBLSEpsYzNWc2RDNTJZV3gxWlNrdWRHaGxiaWhtZFd4bWFXeHNaV1FzSUhKbGFtVmpkR1ZrS1RzZ2ZWeHlYRzRnSUNBZ0lDQWdJSE4wWlhBb0tHZGxibVZ5WVhSdmNpQTlJR2RsYm1WeVlYUnZjaTVoY0hCc2VTaDBhR2x6UVhKbkxDQmZZWEpuZFcxbGJuUnpJSHg4SUZ0ZEtTa3VibVY0ZENncEtUdGNjbHh1SUNBZ0lIMHBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5blpXNWxjbUYwYjNJb2RHaHBjMEZ5Wnl3Z1ltOWtlU2tnZTF4eVhHNGdJQ0FnZG1GeUlGOGdQU0I3SUd4aFltVnNPaUF3TENCelpXNTBPaUJtZFc1amRHbHZiaWdwSUhzZ2FXWWdLSFJiTUYwZ0ppQXhLU0IwYUhKdmR5QjBXekZkT3lCeVpYUjFjbTRnZEZzeFhUc2dmU3dnZEhKNWN6b2dXMTBzSUc5d2N6b2dXMTBnZlN3Z1ppd2dlU3dnZEN3Z1p6dGNjbHh1SUNBZ0lISmxkSFZ5YmlCbklEMGdleUJ1WlhoME9pQjJaWEppS0RBcExDQmNJblJvY205M1hDSTZJSFpsY21Jb01Ta3NJRndpY21WMGRYSnVYQ0k2SUhabGNtSW9NaWtnZlN3Z2RIbHdaVzltSUZONWJXSnZiQ0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUNoblcxTjViV0p2YkM1cGRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHBMQ0JuTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVLU0I3SUhKbGRIVnliaUJtZFc1amRHbHZiaUFvZGlrZ2V5QnlaWFIxY200Z2MzUmxjQ2hiYml3Z2RsMHBPeUI5T3lCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCemRHVndLRzl3S1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0dZcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pIWlc1bGNtRjBiM0lnYVhNZ1lXeHlaV0ZrZVNCbGVHVmpkWFJwYm1jdVhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2huSUNZbUlDaG5JRDBnTUN3Z2IzQmJNRjBnSmlZZ0tGOGdQU0F3S1Nrc0lGOHBJSFJ5ZVNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaG1JRDBnTVN3Z2VTQW1KaUFvZENBOUlHOXdXekJkSUNZZ01pQS9JSGxiWENKeVpYUjFjbTVjSWwwZ09pQnZjRnN3WFNBL0lIbGJYQ0owYUhKdmQxd2lYU0I4ZkNBb0tIUWdQU0I1VzF3aWNtVjBkWEp1WENKZEtTQW1KaUIwTG1OaGJHd29lU2tzSURBcElEb2dlUzV1WlhoMEtTQW1KaUFoS0hRZ1BTQjBMbU5oYkd3b2VTd2diM0JiTVYwcEtTNWtiMjVsS1NCeVpYUjFjbTRnZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIa2dQU0F3TENCMEtTQnZjQ0E5SUZ0dmNGc3dYU0FtSURJc0lIUXVkbUZzZFdWZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCemQybDBZMmdnS0c5d1d6QmRLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJREE2SUdOaGMyVWdNVG9nZENBOUlHOXdPeUJpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ05Eb2dYeTVzWVdKbGJDc3JPeUJ5WlhSMWNtNGdleUIyWVd4MVpUb2diM0JiTVYwc0lHUnZibVU2SUdaaGJITmxJSDA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRFU2SUY4dWJHRmlaV3dyS3pzZ2VTQTlJRzl3V3pGZE95QnZjQ0E5SUZzd1hUc2dZMjl1ZEdsdWRXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEYzZJRzl3SUQwZ1h5NXZjSE11Y0c5d0tDazdJRjh1ZEhKNWN5NXdiM0FvS1RzZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hLSFFnUFNCZkxuUnllWE1zSUhRZ1BTQjBMbXhsYm1kMGFDQStJREFnSmlZZ2RGdDBMbXhsYm1kMGFDQXRJREZkS1NBbUppQW9iM0JiTUYwZ1BUMDlJRFlnZkh3Z2IzQmJNRjBnUFQwOUlESXBLU0I3SUY4Z1BTQXdPeUJqYjI1MGFXNTFaVHNnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodmNGc3dYU0E5UFQwZ015QW1KaUFvSVhRZ2ZId2dLRzl3V3pGZElENGdkRnN3WFNBbUppQnZjRnN4WFNBOElIUmJNMTBwS1NrZ2V5QmZMbXhoWW1Wc0lEMGdiM0JiTVYwN0lHSnlaV0ZyT3lCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUQwOVBTQTJJQ1ltSUY4dWJHRmlaV3dnUENCMFd6RmRLU0I3SUY4dWJHRmlaV3dnUFNCMFd6RmRPeUIwSUQwZ2IzQTdJR0p5WldGck95QjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFFnSmlZZ1h5NXNZV0psYkNBOElIUmJNbDBwSUhzZ1h5NXNZV0psYkNBOUlIUmJNbDA3SUY4dWIzQnpMbkIxYzJnb2IzQXBPeUJpY21WaGF6c2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwV3pKZEtTQmZMbTl3Y3k1d2IzQW9LVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmZMblJ5ZVhNdWNHOXdLQ2s3SUdOdmJuUnBiblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRzl3SUQwZ1ltOWtlUzVqWVd4c0tIUm9hWE5CY21jc0lGOHBPMXh5WEc0Z0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIc2diM0FnUFNCYk5pd2daVjA3SUhrZ1BTQXdPeUI5SUdacGJtRnNiSGtnZXlCbUlEMGdkQ0E5SURBN0lIMWNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2IzQmJNRjBnSmlBMUtTQjBhSEp2ZHlCdmNGc3hYVHNnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzl3V3pCZElEOGdiM0JiTVYwZ09pQjJiMmxrSURBc0lHUnZibVU2SUhSeWRXVWdmVHRjY2x4dUlDQWdJSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUhaaGNpQmZYMk55WldGMFpVSnBibVJwYm1jZ1BTQlBZbXBsWTNRdVkzSmxZWFJsSUQ4Z0tHWjFibU4wYVc5dUtHOHNJRzBzSUdzc0lHc3lLU0I3WEhKY2JpQWdJQ0JwWmlBb2F6SWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2F6SWdQU0JyTzF4eVhHNGdJQ0FnZG1GeUlHUmxjMk1nUFNCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLRzBzSUdzcE8xeHlYRzRnSUNBZ2FXWWdLQ0ZrWlhOaklIeDhJQ2hjSW1kbGRGd2lJR2x1SUdSbGMyTWdQeUFoYlM1ZlgyVnpUVzlrZFd4bElEb2daR1Z6WXk1M2NtbDBZV0pzWlNCOGZDQmtaWE5qTG1OdmJtWnBaM1Z5WVdKc1pTa3BJSHRjY2x4dUlDQWdJQ0FnSUNCa1pYTmpJRDBnZXlCbGJuVnRaWEpoWW14bE9pQjBjblZsTENCblpYUTZJR1oxYm1OMGFXOXVLQ2tnZXlCeVpYUjFjbTRnYlZ0clhUc2dmU0I5TzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHOHNJR3N5TENCa1pYTmpLVHRjY2x4dWZTa2dPaUFvWm5WdVkzUnBiMjRvYnl3Z2JTd2dheXdnYXpJcElIdGNjbHh1SUNBZ0lHbG1JQ2hyTWlBOVBUMGdkVzVrWldacGJtVmtLU0JyTWlBOUlHczdYSEpjYmlBZ0lDQnZXMnN5WFNBOUlHMWJhMTA3WEhKY2JuMHBPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaWGh3YjNKMFUzUmhjaWh0TENCdktTQjdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUcwcElHbG1JQ2h3SUNFOVBTQmNJbVJsWm1GMWJIUmNJaUFtSmlBaFQySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHOHNJSEFwS1NCZlgyTnlaV0YwWlVKcGJtUnBibWNvYnl3Z2JTd2djQ2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzWmhiSFZsY3lodktTQjdYSEpjYmlBZ0lDQjJZWElnY3lBOUlIUjVjR1Z2WmlCVGVXMWliMndnUFQwOUlGd2lablZ1WTNScGIyNWNJaUFtSmlCVGVXMWliMnd1YVhSbGNtRjBiM0lzSUcwZ1BTQnpJQ1ltSUc5YmMxMHNJR2tnUFNBd08xeHlYRzRnSUNBZ2FXWWdLRzBwSUhKbGRIVnliaUJ0TG1OaGJHd29ieWs3WEhKY2JpQWdJQ0JwWmlBb2J5QW1KaUIwZVhCbGIyWWdieTVzWlc1bmRHZ2dQVDA5SUZ3aWJuVnRZbVZ5WENJcElISmxkSFZ5YmlCN1hISmNiaUFnSUNBZ0lDQWdibVY0ZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYnlBbUppQnBJRDQ5SUc4dWJHVnVaM1JvS1NCdklEMGdkbTlwWkNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZXlCMllXeDFaVG9nYnlBbUppQnZXMmtySzEwc0lHUnZibVU2SUNGdklIMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb2N5QS9JRndpVDJKcVpXTjBJR2x6SUc1dmRDQnBkR1Z5WVdKc1pTNWNJaUE2SUZ3aVUzbHRZbTlzTG1sMFpYSmhkRzl5SUdseklHNXZkQ0JrWldacGJtVmtMbHdpS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZjbVZoWkNodkxDQnVLU0I3WEhKY2JpQWdJQ0IyWVhJZ2JTQTlJSFI1Y0dWdlppQlRlVzFpYjJ3Z1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBbUppQnZXMU41YldKdmJDNXBkR1Z5WVhSdmNsMDdYSEpjYmlBZ0lDQnBaaUFvSVcwcElISmxkSFZ5YmlCdk8xeHlYRzRnSUNBZ2RtRnlJR2tnUFNCdExtTmhiR3dvYnlrc0lISXNJR0Z5SUQwZ1cxMHNJR1U3WEhKY2JpQWdJQ0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJSGRvYVd4bElDZ29iaUE5UFQwZ2RtOXBaQ0F3SUh4OElHNHRMU0ErSURBcElDWW1JQ0VvY2lBOUlHa3VibVY0ZENncEtTNWtiMjVsS1NCaGNpNXdkWE5vS0hJdWRtRnNkV1VwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnWTJGMFkyZ2dLR1Z5Y205eUtTQjdJR1VnUFNCN0lHVnljbTl5T2lCbGNuSnZjaUI5T3lCOVhISmNiaUFnSUNCbWFXNWhiR3g1SUh0Y2NseHVJQ0FnSUNBZ0lDQjBjbmtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NpQW1KaUFoY2k1a2IyNWxJQ1ltSUNodElEMGdhVnRjSW5KbGRIVnlibHdpWFNrcElHMHVZMkZzYkNocEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1ptbHVZV3hzZVNCN0lHbG1JQ2hsS1NCMGFISnZkeUJsTG1WeWNtOXlPeUI5WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J5WlhSMWNtNGdZWEk3WEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJBWkdWd2NtVmpZWFJsWkNBcUwxeHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl6Y0hKbFlXUW9LU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJoY2lBOUlGdGRMQ0JwSUQwZ01Ec2dhU0E4SUdGeVozVnRaVzUwY3k1c1pXNW5kR2c3SUdrckt5bGNjbHh1SUNBZ0lDQWdJQ0JoY2lBOUlHRnlMbU52Ym1OaGRDaGZYM0psWVdRb1lYSm5kVzFsYm5SelcybGRLU2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdZWEk3WEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJBWkdWd2NtVmpZWFJsWkNBcUwxeHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl6Y0hKbFlXUkJjbkpoZVhNb0tTQjdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQnpJRDBnTUN3Z2FTQTlJREFzSUdsc0lEMGdZWEpuZFcxbGJuUnpMbXhsYm1kMGFEc2dhU0E4SUdsc095QnBLeXNwSUhNZ0t6MGdZWEpuZFcxbGJuUnpXMmxkTG14bGJtZDBhRHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSElnUFNCQmNuSmhlU2h6S1N3Z2F5QTlJREFzSUdrZ1BTQXdPeUJwSUR3Z2FXdzdJR2tyS3lsY2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQmhJRDBnWVhKbmRXMWxiblJ6VzJsZExDQnFJRDBnTUN3Z2Ftd2dQU0JoTG14bGJtZDBhRHNnYWlBOElHcHNPeUJxS3lzc0lHc3JLeWxjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbHRyWFNBOUlHRmJhbDA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdjanRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmMzQnlaV0ZrUVhKeVlYa29kRzhzSUdaeWIyMHNJSEJoWTJzcElIdGNjbHh1SUNBZ0lHbG1JQ2h3WVdOcklIeDhJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQVDA5SURJcElHWnZjaUFvZG1GeUlHa2dQU0F3TENCc0lEMGdabkp2YlM1c1pXNW5kR2dzSUdGeU95QnBJRHdnYkRzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR0Z5SUh4OElDRW9hU0JwYmlCbWNtOXRLU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXRnlLU0JoY2lBOUlFRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHWnliMjBzSURBc0lHa3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhjbHRwWFNBOUlHWnliMjFiYVYwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlIUnZMbU52Ym1OaGRDaGhjaUI4ZkNCQmNuSmhlUzV3Y205MGIzUjVjR1V1YzJ4cFkyVXVZMkZzYkNobWNtOXRLU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyRjNZV2wwS0hZcElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpJR2x1YzNSaGJtTmxiMllnWDE5aGQyRnBkQ0EvSUNoMGFHbHpMbllnUFNCMkxDQjBhR2x6S1NBNklHNWxkeUJmWDJGM1lXbDBLSFlwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhjM2x1WTBkbGJtVnlZWFJ2Y2loMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SekxDQm5aVzVsY21GMGIzSXBJSHRjY2x4dUlDQWdJR2xtSUNnaFUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpQnBjeUJ1YjNRZ1pHVm1hVzVsWkM1Y0lpazdYSEpjYmlBZ0lDQjJZWElnWnlBOUlHZGxibVZ5WVhSdmNpNWhjSEJzZVNoMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SeklIeDhJRnRkS1N3Z2FTd2djU0E5SUZ0ZE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUdrZ1BTQjdmU3dnZG1WeVlpaGNJbTVsZUhSY0lpa3NJSFpsY21Jb1hDSjBhSEp2ZDF3aUtTd2dkbVZ5WWloY0luSmxkSFZ5Ymx3aUtTd2dhVnRUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlMQ0JwTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVLU0I3SUdsbUlDaG5XMjVkS1NCcFcyNWRJRDBnWm5WdVkzUnBiMjRnS0hZcElIc2djbVYwZFhKdUlHNWxkeUJRY205dGFYTmxLR1oxYm1OMGFXOXVJQ2hoTENCaUtTQjdJSEV1Y0hWemFDaGJiaXdnZGl3Z1lTd2dZbDBwSUQ0Z01TQjhmQ0J5WlhOMWJXVW9iaXdnZGlrN0lIMHBPeUI5T3lCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCeVpYTjFiV1VvYml3Z2Rpa2dleUIwY25rZ2V5QnpkR1Z3S0dkYmJsMG9kaWtwT3lCOUlHTmhkR05vSUNobEtTQjdJSE5sZEhSc1pTaHhXekJkV3pOZExDQmxLVHNnZlNCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCemRHVndLSElwSUhzZ2NpNTJZV3gxWlNCcGJuTjBZVzVqWlc5bUlGOWZZWGRoYVhRZ1B5QlFjbTl0YVhObExuSmxjMjlzZG1Vb2NpNTJZV3gxWlM1MktTNTBhR1Z1S0daMWJHWnBiR3dzSUhKbGFtVmpkQ2tnT2lCelpYUjBiR1VvY1Zzd1hWc3lYU3dnY2lrN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlHWjFiR1pwYkd3b2RtRnNkV1VwSUhzZ2NtVnpkVzFsS0Z3aWJtVjRkRndpTENCMllXeDFaU2s3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhKbGFtVmpkQ2gyWVd4MVpTa2dleUJ5WlhOMWJXVW9YQ0owYUhKdmQxd2lMQ0IyWVd4MVpTazdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSE5sZEhSc1pTaG1MQ0IyS1NCN0lHbG1JQ2htS0hZcExDQnhMbk5vYVdaMEtDa3NJSEV1YkdWdVozUm9LU0J5WlhOMWJXVW9jVnN3WFZzd1hTd2djVnN3WFZzeFhTazdJSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZllYTjVibU5FWld4bFoyRjBiM0lvYnlrZ2UxeHlYRzRnSUNBZ2RtRnlJR2tzSUhBN1hISmNiaUFnSUNCeVpYUjFjbTRnYVNBOUlIdDlMQ0IyWlhKaUtGd2libVY0ZEZ3aUtTd2dkbVZ5WWloY0luUm9jbTkzWENJc0lHWjFibU4wYVc5dUlDaGxLU0I3SUhSb2NtOTNJR1U3SUgwcExDQjJaWEppS0Z3aWNtVjBkWEp1WENJcExDQnBXMU41YldKdmJDNXBkR1Z5WVhSdmNsMGdQU0JtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCMGFHbHpPeUI5TENCcE8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVnlZaWh1TENCbUtTQjdJR2xiYmwwZ1BTQnZXMjVkSUQ4Z1puVnVZM1JwYjI0Z0tIWXBJSHNnY21WMGRYSnVJQ2h3SUQwZ0lYQXBJRDhnZXlCMllXeDFaVG9nWDE5aGQyRnBkQ2h2VzI1ZEtIWXBLU3dnWkc5dVpUb2dabUZzYzJVZ2ZTQTZJR1lnUHlCbUtIWXBJRG9nZGpzZ2ZTQTZJR1k3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZWE41Ym1OV1lXeDFaWE1vYnlrZ2UxeHlYRzRnSUNBZ2FXWWdLQ0ZUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJbE41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5SUdseklHNXZkQ0JrWldacGJtVmtMbHdpS1R0Y2NseHVJQ0FnSUhaaGNpQnRJRDBnYjF0VGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNsMHNJR2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdiU0EvSUcwdVkyRnNiQ2h2S1NBNklDaHZJRDBnZEhsd1pXOW1JRjlmZG1Gc2RXVnpJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJmWDNaaGJIVmxjeWh2S1NBNklHOWJVM2x0WW05c0xtbDBaWEpoZEc5eVhTZ3BMQ0JwSUQwZ2UzMHNJSFpsY21Jb1hDSnVaWGgwWENJcExDQjJaWEppS0Z3aWRHaHliM2RjSWlrc0lIWmxjbUlvWENKeVpYUjFjbTVjSWlrc0lHbGJVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0pkSUQwZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdkR2hwY3pzZ2ZTd2dhU2s3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUIyWlhKaUtHNHBJSHNnYVZ0dVhTQTlJRzliYmwwZ0ppWWdablZ1WTNScGIyNGdLSFlwSUhzZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHWjFibU4wYVc5dUlDaHlaWE52YkhabExDQnlaV3BsWTNRcElIc2dkaUE5SUc5YmJsMG9kaWtzSUhObGRIUnNaU2h5WlhOdmJIWmxMQ0J5WldwbFkzUXNJSFl1Wkc5dVpTd2dkaTUyWVd4MVpTazdJSDBwT3lCOU95QjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnpaWFIwYkdVb2NtVnpiMngyWlN3Z2NtVnFaV04wTENCa0xDQjJLU0I3SUZCeWIyMXBjMlV1Y21WemIyeDJaU2gyS1M1MGFHVnVLR1oxYm1OMGFXOXVLSFlwSUhzZ2NtVnpiMngyWlNoN0lIWmhiSFZsT2lCMkxDQmtiMjVsT2lCa0lIMHBPeUI5TENCeVpXcGxZM1FwT3lCOVhISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMjFoYTJWVVpXMXdiR0YwWlU5aWFtVmpkQ2hqYjI5clpXUXNJSEpoZHlrZ2UxeHlYRzRnSUNBZ2FXWWdLRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNrZ2V5QlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWTI5dmEyVmtMQ0JjSW5KaGQxd2lMQ0I3SUhaaGJIVmxPaUJ5WVhjZ2ZTazdJSDBnWld4elpTQjdJR052YjJ0bFpDNXlZWGNnUFNCeVlYYzdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQmpiMjlyWldRN1hISmNibjA3WEhKY2JseHlYRzUyWVhJZ1gxOXpaWFJOYjJSMWJHVkVaV1poZFd4MElEMGdUMkpxWldOMExtTnlaV0YwWlNBL0lDaG1kVzVqZEdsdmJpaHZMQ0IyS1NCN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29ieXdnWENKa1pXWmhkV3gwWENJc0lIc2daVzUxYldWeVlXSnNaVG9nZEhKMVpTd2dkbUZzZFdVNklIWWdmU2s3WEhKY2JuMHBJRG9nWm5WdVkzUnBiMjRvYnl3Z2Rpa2dlMXh5WEc0Z0lDQWdiMXRjSW1SbFptRjFiSFJjSWwwZ1BTQjJPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmFXMXdiM0owVTNSaGNpaHRiMlFwSUh0Y2NseHVJQ0FnSUdsbUlDaHRiMlFnSmlZZ2JXOWtMbDlmWlhOTmIyUjFiR1VwSUhKbGRIVnliaUJ0YjJRN1hISmNiaUFnSUNCMllYSWdjbVZ6ZFd4MElEMGdlMzA3WEhKY2JpQWdJQ0JwWmlBb2JXOWtJQ0U5SUc1MWJHd3BJR1p2Y2lBb2RtRnlJR3NnYVc0Z2JXOWtLU0JwWmlBb2F5QWhQVDBnWENKa1pXWmhkV3gwWENJZ0ppWWdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzF2WkN3Z2F5a3BJRjlmWTNKbFlYUmxRbWx1WkdsdVp5aHlaWE4xYkhRc0lHMXZaQ3dnYXlrN1hISmNiaUFnSUNCZlgzTmxkRTF2WkhWc1pVUmxabUYxYkhRb2NtVnpkV3gwTENCdGIyUXBPMXh5WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZhVzF3YjNKMFJHVm1ZWFZzZENodGIyUXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQW9iVzlrSUNZbUlHMXZaQzVmWDJWelRXOWtkV3hsS1NBL0lHMXZaQ0E2SUhzZ1pHVm1ZWFZzZERvZ2JXOWtJSDA3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyTnNZWE56VUhKcGRtRjBaVVpwWld4a1IyVjBLSEpsWTJWcGRtVnlMQ0J6ZEdGMFpTd2dhMmx1WkN3Z1ppa2dlMXh5WEc0Z0lDQWdhV1lnS0d0cGJtUWdQVDA5SUZ3aVlWd2lJQ1ltSUNGbUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVUhKcGRtRjBaU0JoWTJObGMzTnZjaUIzWVhNZ1pHVm1hVzVsWkNCM2FYUm9iM1YwSUdFZ1oyVjBkR1Z5WENJcE8xeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnpkR0YwWlNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUQ4Z2NtVmpaV2wyWlhJZ0lUMDlJSE4wWVhSbElIeDhJQ0ZtSURvZ0lYTjBZWFJsTG1oaGN5aHlaV05sYVhabGNpa3BJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKRFlXNXViM1FnY21WaFpDQndjbWwyWVhSbElHMWxiV0psY2lCbWNtOXRJR0Z1SUc5aWFtVmpkQ0IzYUc5elpTQmpiR0Z6Y3lCa2FXUWdibTkwSUdSbFkyeGhjbVVnYVhSY0lpazdYSEpjYmlBZ0lDQnlaWFIxY200Z2EybHVaQ0E5UFQwZ1hDSnRYQ0lnUHlCbUlEb2dhMmx1WkNBOVBUMGdYQ0poWENJZ1B5Qm1MbU5oYkd3b2NtVmpaV2wyWlhJcElEb2daaUEvSUdZdWRtRnNkV1VnT2lCemRHRjBaUzVuWlhRb2NtVmpaV2wyWlhJcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlqYkdGemMxQnlhWFpoZEdWR2FXVnNaRk5sZENoeVpXTmxhWFpsY2l3Z2MzUmhkR1VzSUhaaGJIVmxMQ0JyYVc1a0xDQm1LU0I3WEhKY2JpQWdJQ0JwWmlBb2EybHVaQ0E5UFQwZ1hDSnRYQ0lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlFjbWwyWVhSbElHMWxkR2h2WkNCcGN5QnViM1FnZDNKcGRHRmliR1ZjSWlrN1hISmNiaUFnSUNCcFppQW9hMmx1WkNBOVBUMGdYQ0poWENJZ0ppWWdJV1lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlFjbWwyWVhSbElHRmpZMlZ6YzI5eUlIZGhjeUJrWldacGJtVmtJSGRwZEdodmRYUWdZU0J6WlhSMFpYSmNJaWs3WEhKY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhOMFlYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJ5WldObGFYWmxjaUFoUFQwZ2MzUmhkR1VnZkh3Z0lXWWdPaUFoYzNSaGRHVXVhR0Z6S0hKbFkyVnBkbVZ5S1NrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa05oYm01dmRDQjNjbWwwWlNCd2NtbDJZWFJsSUcxbGJXSmxjaUIwYnlCaGJpQnZZbXBsWTNRZ2QyaHZjMlVnWTJ4aGMzTWdaR2xrSUc1dmRDQmtaV05zWVhKbElHbDBYQ0lwTzF4eVhHNGdJQ0FnY21WMGRYSnVJQ2hyYVc1a0lEMDlQU0JjSW1GY0lpQS9JR1l1WTJGc2JDaHlaV05sYVhabGNpd2dkbUZzZFdVcElEb2daaUEvSUdZdWRtRnNkV1VnUFNCMllXeDFaU0E2SUhOMFlYUmxMbk5sZENoeVpXTmxhWFpsY2l3Z2RtRnNkV1VwS1N3Z2RtRnNkV1U3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyTnNZWE56VUhKcGRtRjBaVVpwWld4a1NXNG9jM1JoZEdVc0lISmxZMlZwZG1WeUtTQjdYSEpjYmlBZ0lDQnBaaUFvY21WalpXbDJaWElnUFQwOUlHNTFiR3dnZkh3Z0tIUjVjR1Z2WmlCeVpXTmxhWFpsY2lBaFBUMGdYQ0p2WW1wbFkzUmNJaUFtSmlCMGVYQmxiMllnY21WalpXbDJaWElnSVQwOUlGd2lablZ1WTNScGIyNWNJaWtwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkRZVzV1YjNRZ2RYTmxJQ2RwYmljZ2IzQmxjbUYwYjNJZ2IyNGdibTl1TFc5aWFtVmpkRndpS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUIwZVhCbGIyWWdjM1JoZEdVZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBL0lISmxZMlZwZG1WeUlEMDlQU0J6ZEdGMFpTQTZJSE4wWVhSbExtaGhjeWh5WldObGFYWmxjaWs3WEhKY2JuMWNjbHh1SWl3aVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkaGJXMWhSVTlVUmlobE9pQnVkVzFpWlhJcE9pQnVkVzFpWlhJZ2UxeHVJQ0J5WlhSMWNtNGdUV0YwYUM1d2IzY29aU3dnTWk0eUtUdGNibjFjYmlJc0ltbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0I3SUZaU1RTQmhjeUJXTUZaU1RTd2dUV0YwWlhKcFlXd2dZWE1nVmpCTllYUmxjbWxoYkNCOUlHWnliMjBnSjBCd2FYaHBkaTkwZVhCbGN5MTJjbTB0TUM0d0p6dGNibWx0Y0c5eWRDQXFJR0Z6SUZZeFRWUnZiMjVUWTJobGJXRWdabkp2YlNBblFIQnBlR2wyTDNSNWNHVnpMWFp5YldNdGJXRjBaWEpwWVd4ekxXMTBiMjl1TFRFdU1DYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZE1WRVpNYjJGa1pYSlFiSFZuYVc0c0lFZE1WRVpRWVhKelpYSWdmU0JtY205dElDZDBhSEpsWlM5bGVHRnRjR3hsY3k5cWMyMHZiRzloWkdWeWN5OUhURlJHVEc5aFpHVnlMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHZGhiVzFoUlU5VVJpQjlJR1p5YjIwZ0p5NHZkWFJwYkhNdloyRnRiV0ZGVDFSR0p6dGNibWx0Y0c5eWRDQjdJRWRNVkVZZ1lYTWdSMHhVUmxOamFHVnRZU0I5SUdaeWIyMGdKMEJuYkhSbUxYUnlZVzV6Wm05eWJTOWpiM0psSnp0Y2JseHVaWGh3YjNKMElHTnNZWE56SUZaU1RVMWhkR1Z5YVdGc2MxWXdRMjl0Y0dGMFVHeDFaMmx1SUdsdGNHeGxiV1Z1ZEhNZ1IweFVSa3h2WVdSbGNsQnNkV2RwYmlCN1hHNGdJSEIxWW14cFl5QnlaV0ZrYjI1c2VTQndZWEp6WlhJNklFZE1WRVpRWVhKelpYSTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRWdiV0Z3SUdaeWIyMGdkakFnY21WdVpHVnlJSEYxWlhWbElIUnZJSFl4SUhKbGJtUmxjaUJ4ZFdWMVpTQnZabVp6WlhRc0lHWnZjaUJVY21GdWMzQmhjbVZ1ZENCdFlYUmxjbWxoYkhNdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlGOXlaVzVrWlhKUmRXVjFaVTFoY0ZSeVlXNXpjR0Z5Wlc1ME9pQk5ZWEE4Ym5WdFltVnlMQ0J1ZFcxaVpYSStPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJJRzFoY0NCbWNtOXRJSFl3SUhKbGJtUmxjaUJ4ZFdWMVpTQjBieUIyTVNCeVpXNWtaWElnY1hWbGRXVWdiMlptYzJWMExDQm1iM0lnVkhKaGJuTndZWEpsYm5SYVYzSnBkR1VnYldGMFpYSnBZV3h6TGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCeVpXRmtiMjVzZVNCZmNtVnVaR1Z5VVhWbGRXVk5ZWEJVY21GdWMzQmhjbVZ1ZEZwWGNtbDBaVG9nVFdGd1BHNTFiV0psY2l3Z2JuVnRZbVZ5UGp0Y2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUc1aGJXVW9LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQnlaWFIxY200Z0oxWlNUVTFoZEdWeWFXRnNjMVl3UTI5dGNHRjBVR3gxWjJsdUp6dGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWh3WVhKelpYSTZJRWRNVkVaUVlYSnpaWElwSUh0Y2JpQWdJQ0IwYUdsekxuQmhjbk5sY2lBOUlIQmhjbk5sY2p0Y2JseHVJQ0FnSUhSb2FYTXVYM0psYm1SbGNsRjFaWFZsVFdGd1ZISmhibk53WVhKbGJuUWdQU0J1WlhjZ1RXRndLQ2s3WEc0Z0lDQWdkR2hwY3k1ZmNtVnVaR1Z5VVhWbGRXVk5ZWEJVY21GdWMzQmhjbVZ1ZEZwWGNtbDBaU0E5SUc1bGR5Qk5ZWEFvS1R0Y2JseHVJQ0FnSUM4dklGZFBVa3RCVWs5VlRrUTZJRUZrWkNCTFNGSmZkR1Y0ZEhWeVpWOTBjbUZ1YzJadmNtMGdkRzhnWlhoMFpXNXphVzl1YzFWelpXUmNiaUFnSUNBdkx5QkpkQ0JwY3lCMGIyOGdiR0YwWlNCMGJ5QmhaR1FnZEdocGN5QnBiaUJpWldadmNtVlNiMjkwWEc0Z0lDQWdZMjl1YzNRZ2FuTnZiaUE5SUhSb2FYTXVjR0Z5YzJWeUxtcHpiMjRnWVhNZ1IweFVSbE5qYUdWdFlTNUpSMHhVUmp0Y2JseHVJQ0FnSUdwemIyNHVaWGgwWlc1emFXOXVjMVZ6WldRZ1BTQnFjMjl1TG1WNGRHVnVjMmx2Ym5OVmMyVmtJRDgvSUZ0ZE8xeHVJQ0FnSUdsbUlDaHFjMjl1TG1WNGRHVnVjMmx2Ym5OVmMyVmtMbWx1WkdWNFQyWW9KMHRJVWw5MFpYaDBkWEpsWDNSeVlXNXpabTl5YlNjcElEMDlQU0F0TVNrZ2UxeHVJQ0FnSUNBZ2FuTnZiaTVsZUhSbGJuTnBiMjV6VlhObFpDNXdkWE5vS0NkTFNGSmZkR1Y0ZEhWeVpWOTBjbUZ1YzJadmNtMG5LVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdZWE41Ym1NZ1ltVm1iM0psVW05dmRDZ3BPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0JxYzI5dUlEMGdkR2hwY3k1d1lYSnpaWEl1YW5OdmJpQmhjeUJIVEZSR1UyTm9aVzFoTGtsSFRGUkdPMXh1WEc0Z0lDQWdMeThnWldGeWJIa2dZV0p2Y25RZ2FXWWdhWFFnWkc5bGMyNG5kQ0IxYzJVZ1ZqQldVazFjYmlBZ0lDQmpiMjV6ZENCMk1GWlNUVVY0ZEdWdWMybHZiaUE5SUdwemIyNHVaWGgwWlc1emFXOXVjejh1V3lkV1VrMG5YU0JoY3lCV01GWlNUU0I4SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JqYjI1emRDQjJNRTFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeUE5SUhZd1ZsSk5SWGgwWlc1emFXOXVQeTV0WVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE03WEc0Z0lDQWdhV1lnS0NGMk1FMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklIQnZjSFZzWVhSbElISmxibVJsY2lCeGRXVjFaU0J0WVhCY2JpQWdJQ0IwYUdsekxsOXdiM0IxYkdGMFpWSmxibVJsY2xGMVpYVmxUV0Z3S0hZd1RXRjBaWEpwWVd4UWNtOXdaWEowYVdWektUdGNibHh1SUNBZ0lDOHZJR052Ym5abGNuUWdWakFnYldGMFpYSnBZV3dnY0hKdmNHVnlkR2xsY3lCcGJuUnZJRll4SUdOdmJYQmhkR2xpYkdVZ1ptOXliV0YwWEc0Z0lDQWdkakJOWVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE11Wm05eVJXRmphQ2dvYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TENCdFlYUmxjbWxoYkVsdVpHVjRLU0E5UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0J0WVhSbGNtbGhiRVJsWmlBOUlHcHpiMjR1YldGMFpYSnBZV3h6UHk1YmJXRjBaWEpwWVd4SmJtUmxlRjA3WEc1Y2JpQWdJQ0FnSUdsbUlDaHRZWFJsY21saGJFUmxaaUE5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGNiaUFnSUNBZ0lDQWdJQ0JnVmxKTlRXRjBaWEpwWVd4elZqQkRiMjF3WVhSUWJIVm5hVzQ2SUVGMGRHVnRjSFFnZEc4Z2RYTmxJRzFoZEdWeWFXRnNjMXNrZTIxaGRHVnlhV0ZzU1c1a1pYaDlYU0J2WmlCbmJGUkdJR0oxZENCMGFHVWdiV0YwWlhKcFlXd2daRzlsYzI0bmRDQmxlR2x6ZEdBc1hHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0cxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3k1emFHRmtaWElnUFQwOUlDZFdVazB2VFZSdmIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNJRDBnZEdocGN5NWZjR0Z5YzJWV01FMVViMjl1VUhKdmNHVnlkR2xsY3lodFlYUmxjbWxoYkZCeWIzQmxjblJwWlhNc0lHMWhkR1Z5YVdGc1JHVm1LVHRjYmlBZ0lDQWdJQ0FnYW5OdmJpNXRZWFJsY21saGJITWhXMjFoZEdWeWFXRnNTVzVrWlhoZElEMGdiV0YwWlhKcFlXdzdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTV6YUdGa1pYSS9Mbk4wWVhKMGMxZHBkR2dvSjFaU1RTOVZibXhwZENjcEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHMWhkR1Z5YVdGc0lEMGdkR2hwY3k1ZmNHRnljMlZXTUZWdWJHbDBVSEp2Y0dWeWRHbGxjeWh0WVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE1zSUcxaGRHVnlhV0ZzUkdWbUtUdGNiaUFnSUNBZ0lDQWdhbk52Ymk1dFlYUmxjbWxoYkhNaFcyMWhkR1Z5YVdGc1NXNWtaWGhkSUQwZ2JXRjBaWEpwWVd3N1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NXphR0ZrWlhJZ1BUMDlJQ2RXVWsxZlZWTkZYMGRNVkVaVFNFRkVSVkluS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJR0JxYzI5dUxtMWhkR1Z5YVdGc2MxdHRZWFJsY21saGJFbHVaR1Y0WFdBZ2MyaHZkV3hrSUdKbElHRnNjbVZoWkhrZ2RtRnNhV1JjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJR052Ym5OdmJHVXVkMkZ5YmloZ1ZsSk5UV0YwWlhKcFlXeHpWakJEYjIxd1lYUlFiSFZuYVc0NklGVnVhMjV2ZDI0Z2MyaGhaR1Z5T2lBa2UyMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NXphR0ZrWlhKOVlDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRjl3WVhKelpWWXdUVlJ2YjI1UWNtOXdaWEowYVdWektGeHVJQ0FnSUcxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3pvZ1ZqQk5ZWFJsY21saGJDeGNiaUFnSUNCelkyaGxiV0ZOWVhSbGNtbGhiRG9nUjB4VVJsTmphR1Z0WVM1SlRXRjBaWEpwWVd3c1hHNGdJQ2s2SUVkTVZFWlRZMmhsYldFdVNVMWhkR1Z5YVdGc0lIdGNiaUFnSUNCamIyNXpkQ0JwYzFSeVlXNXpjR0Z5Wlc1MElEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMbXRsZVhkdmNtUk5ZWEEvTGxzblgwRk1VRWhCUWt4RlRrUmZUMDRuWFNBL1B5Qm1ZV3h6WlR0Y2JpQWdJQ0JqYjI1emRDQmxibUZpYkdWa1dsZHlhWFJsSUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtWnNiMkYwVUhKdmNHVnlkR2xsY3o4dVd5ZGZXbGR5YVhSbEoxMGdQVDA5SURFN1hHNGdJQ0FnWTI5dWMzUWdkSEpoYm5Od1lYSmxiblJYYVhSb1dsZHlhWFJsSUQwZ1pXNWhZbXhsWkZwWGNtbDBaU0FtSmlCcGMxUnlZVzV6Y0dGeVpXNTBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2NtVnVaR1Z5VVhWbGRXVlBabVp6WlhST2RXMWlaWElnUFNCMGFHbHpMbDkyTUZCaGNuTmxVbVZ1WkdWeVVYVmxkV1VvYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR2x6UTNWMGIyWm1JRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG10bGVYZHZjbVJOWVhBL0xsc25YMEZNVUVoQlZFVlRWRjlQVGlkZElEOC9JR1poYkhObE8xeHVJQ0FnSUdOdmJuTjBJR0ZzY0doaFRXOWtaU0E5SUdselZISmhibk53WVhKbGJuUWdQeUFuUWt4RlRrUW5JRG9nYVhORGRYUnZabVlnUHlBblRVRlRTeWNnT2lBblQxQkJVVlZGSnp0Y2JpQWdJQ0JqYjI1emRDQmhiSEJvWVVOMWRHOW1aaUE5SUdselEzVjBiMlptSUQ4Z2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtWnNiMkYwVUhKdmNHVnlkR2xsY3o4dVd5ZGZRM1YwYjJabUoxMGdPaUIxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0JqYjI1emRDQmpkV3hzVFc5a1pTQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTVtYkc5aGRGQnliM0JsY25ScFpYTS9MbHNuWDBOMWJHeE5iMlJsSjEwZ1B6OGdNanNnTHk4Z1pXNTFiU3dnZXlCUFptWXNJRVp5YjI1MExDQkNZV05ySUgxY2JpQWdJQ0JqYjI1emRDQmtiM1ZpYkdWVGFXUmxaQ0E5SUdOMWJHeE5iMlJsSUQwOVBTQXdPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RHVjRkSFZ5WlZSeVlXNXpabTl5YlVWNGRDQTlJSFJvYVhNdVgzQnZjblJVWlhoMGRYSmxWSEpoYm5ObWIzSnRLRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeWs3WEc1Y2JpQWdJQ0JqYjI1emRDQmlZWE5sUTI5c2IzSkdZV04wYjNJZ1BTQnRZWFJsY21saGJGQnliM0JsY25ScFpYTXVkbVZqZEc5eVVISnZjR1Z5ZEdsbGN6OHVXeWRmUTI5c2IzSW5YVDh1YldGd0tGeHVJQ0FnSUNBZ0tIWTZJRzUxYldKbGNpd2dhVG9nYm5WdFltVnlLU0E5UGlBb2FTQTlQVDBnTXlBL0lIWWdPaUJuWVcxdFlVVlBWRVlvZGlrcExDQXZMeUJoYkhCb1lTQmphR0Z1Ym1Wc0lHbHpJSE4wYjNKbFpDQnBiaUJzYVc1bFlYSmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJR0poYzJWRGIyeHZjbFJsZUhSMWNtVkpibVJsZUNBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NTBaWGgwZFhKbFVISnZjR1Z5ZEdsbGN6OHVXeWRmVFdGcGJsUmxlQ2RkTzF4dUlDQWdJR052Ym5OMElHSmhjMlZEYjJ4dmNsUmxlSFIxY21VZ1BWeHVJQ0FnSUNBZ1ltRnpaVU52Ykc5eVZHVjRkSFZ5WlVsdVpHVjRJQ0U5SUc1MWJHeGNiaUFnSUNBZ0lDQWdQeUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibVJsZURvZ1ltRnpaVU52Ykc5eVZHVjRkSFZ5WlVsdVpHVjRMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pYaDBaVzV6YVc5dWN6b2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXVMaTUwWlhoMGRYSmxWSEpoYm5ObWIzSnRSWGgwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lEb2dkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV0ZzVkdWNGRIVnlaVk5qWVd4bElEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMbVpzYjJGMFVISnZjR1Z5ZEdsbGN6OHVXeWRmUW5WdGNGTmpZV3hsSjEwN1hHNGdJQ0FnWTI5dWMzUWdibTl5YldGc1ZHVjRkSFZ5WlVsdVpHVjRJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG5SbGVIUjFjbVZRY205d1pYSjBhV1Z6UHk1YkoxOUNkVzF3VFdGd0oxMDdYRzRnSUNBZ1kyOXVjM1FnYm05eWJXRnNWR1Y0ZEhWeVpTQTlYRzRnSUNBZ0lDQnViM0p0WVd4VVpYaDBkWEpsU1c1a1pYZ2dJVDBnYm5Wc2JGeHVJQ0FnSUNBZ0lDQS9JSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Y0T2lCdWIzSnRZV3hVWlhoMGRYSmxTVzVrWlhnc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6WTJGc1pUb2dibTl5YldGc1ZHVjRkSFZ5WlZOallXeGxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pYaDBaVzV6YVc5dWN6b2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXVMaTUwWlhoMGRYSmxWSEpoYm5ObWIzSnRSWGgwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lEb2dkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pXMXBjM05wZG1WR1lXTjBiM0lnUFNCdFlYUmxjbWxoYkZCeWIzQmxjblJwWlhNdWRtVmpkRzl5VUhKdmNHVnlkR2xsY3o4dVd5ZGZSVzFwYzNOcGIyNURiMnh2Y2lkZFB5NXRZWEFvWjJGdGJXRkZUMVJHS1R0Y2JpQWdJQ0JqYjI1emRDQmxiV2x6YzJsMlpWUmxlSFIxY21WSmJtUmxlQ0E5SUcxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3k1MFpYaDBkWEpsVUhKdmNHVnlkR2xsY3o4dVd5ZGZSVzFwYzNOcGIyNU5ZWEFuWFR0Y2JpQWdJQ0JqYjI1emRDQmxiV2x6YzJsMlpWUmxlSFIxY21VZ1BWeHVJQ0FnSUNBZ1pXMXBjM05wZG1WVVpYaDBkWEpsU1c1a1pYZ2dJVDBnYm5Wc2JGeHVJQ0FnSUNBZ0lDQS9JSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Y0T2lCbGJXbHpjMmwyWlZSbGVIUjFjbVZKYm1SbGVDeGNiaUFnSUNBZ0lDQWdJQ0FnSUdWNGRHVnVjMmx2Ym5NNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0xpNHVkR1Y0ZEhWeVpWUnlZVzV6Wm05eWJVVjRkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBNklIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lHTnZibk4wSUhOb1lXUmxRMjlzYjNKR1lXTjBiM0lnUFNCdFlYUmxjbWxoYkZCeWIzQmxjblJwWlhNdWRtVmpkRzl5VUhKdmNHVnlkR2xsY3o4dVd5ZGZVMmhoWkdWRGIyeHZjaWRkUHk1dFlYQW9aMkZ0YldGRlQxUkdLVHRjYmlBZ0lDQmpiMjV6ZENCemFHRmtaVTExYkhScGNHeDVWR1Y0ZEhWeVpVbHVaR1Y0SUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxuUmxlSFIxY21WUWNtOXdaWEowYVdWelB5NWJKMTlUYUdGa1pWUmxlSFIxY21VblhUdGNiaUFnSUNCamIyNXpkQ0J6YUdGa1pVMTFiSFJwY0d4NVZHVjRkSFZ5WlNBOVhHNGdJQ0FnSUNCemFHRmtaVTExYkhScGNHeDVWR1Y0ZEhWeVpVbHVaR1Y0SUNFOUlHNTFiR3hjYmlBZ0lDQWdJQ0FnUHlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm1SbGVEb2djMmhoWkdWTmRXeDBhWEJzZVZSbGVIUjFjbVZKYm1SbGVDeGNiaUFnSUNBZ0lDQWdJQ0FnSUdWNGRHVnVjMmx2Ym5NNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0xpNHVkR1Y0ZEhWeVpWUnlZVzV6Wm05eWJVVjRkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBNklIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lDOHZJQzh2SUdOdmJuWmxjblFnZGpBZ2MyaGhaR1VnYzJocFpuUWdMeUJ6YUdGa1pTQjBiMjl1ZVZ4dUlDQWdJR3hsZENCemFHRmthVzVuVTJocFpuUkdZV04wYjNJZ1BTQnRZWFJsY21saGJGQnliM0JsY25ScFpYTXVabXh2WVhSUWNtOXdaWEowYVdWelB5NWJKMTlUYUdGa1pWTm9hV1owSjEwZ1B6OGdNQzR3TzF4dUlDQWdJR3hsZENCemFHRmthVzVuVkc5dmJubEdZV04wYjNJZ1BTQnRZWFJsY21saGJGQnliM0JsY25ScFpYTXVabXh2WVhSUWNtOXdaWEowYVdWelB5NWJKMTlUYUdGa1pWUnZiMjU1SjEwZ1B6OGdNQzQ1TzF4dUlDQWdJSE5vWVdScGJtZFViMjl1ZVVaaFkzUnZjaUE5SUZSSVVrVkZMazFoZEdoVmRHbHNjeTVzWlhKd0tITm9ZV1JwYm1kVWIyOXVlVVpoWTNSdmNpd2dNUzR3TENBd0xqVWdLeUF3TGpVZ0tpQnphR0ZrYVc1blUyaHBablJHWVdOMGIzSXBPMXh1SUNBZ0lITm9ZV1JwYm1kVGFHbG1kRVpoWTNSdmNpQTlJQzF6YUdGa2FXNW5VMmhwWm5SR1lXTjBiM0lnTFNBb01TNHdJQzBnYzJoaFpHbHVaMVJ2YjI1NVJtRmpkRzl5S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR2RwU1c1MFpXNXphWFI1Um1GamRHOXlJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG1ac2IyRjBVSEp2Y0dWeWRHbGxjejh1V3lkZlNXNWthWEpsWTNSTWFXZG9kRWx1ZEdWdWMybDBlU2RkTzF4dUlDQWdJR052Ym5OMElHZHBSWEYxWVd4cGVtRjBhVzl1Um1GamRHOXlJRDBnWjJsSmJuUmxibk5wZEhsR1lXTjBiM0lnUHlBeExqQWdMU0JuYVVsdWRHVnVjMmwwZVVaaFkzUnZjaUE2SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUdOdmJuTjBJRzFoZEdOaGNGUmxlSFIxY21WSmJtUmxlQ0E5SUcxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3k1MFpYaDBkWEpsVUhKdmNHVnlkR2xsY3o4dVd5ZGZVM0JvWlhKbFFXUmtKMTA3WEc0Z0lDQWdZMjl1YzNRZ2JXRjBZMkZ3Um1GamRHOXlJRDBnYldGMFkyRndWR1Y0ZEhWeVpVbHVaR1Y0SUNFOUlHNTFiR3dnUHlCYk1TNHdMQ0F4TGpBc0lERXVNRjBnT2lCMWJtUmxabWx1WldRN1hHNGdJQ0FnWTI5dWMzUWdiV0YwWTJGd1ZHVjRkSFZ5WlNBOVhHNGdJQ0FnSUNCdFlYUmpZWEJVWlhoMGRYSmxTVzVrWlhnZ0lUMGdiblZzYkZ4dUlDQWdJQ0FnSUNBL0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsdVpHVjRPaUJ0WVhSallYQlVaWGgwZFhKbFNXNWtaWGdzWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQTZJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQWdJR052Ym5OMElISnBiVXhwWjJoMGFXNW5UV2w0Um1GamRHOXlJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG1ac2IyRjBVSEp2Y0dWeWRHbGxjejh1V3lkZlVtbHRUR2xuYUhScGJtZE5hWGduWFR0Y2JpQWdJQ0JqYjI1emRDQnlhVzFOZFd4MGFYQnNlVlJsZUhSMWNtVkpibVJsZUNBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NTBaWGgwZFhKbFVISnZjR1Z5ZEdsbGN6OHVXeWRmVW1sdFZHVjRkSFZ5WlNkZE8xeHVJQ0FnSUdOdmJuTjBJSEpwYlUxMWJIUnBjR3g1VkdWNGRIVnlaU0E5WEc0Z0lDQWdJQ0J5YVcxTmRXeDBhWEJzZVZSbGVIUjFjbVZKYm1SbGVDQWhQU0J1ZFd4c1hHNGdJQ0FnSUNBZ0lEOGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNWtaWGc2SUhKcGJVMTFiSFJwY0d4NVZHVjRkSFZ5WlVsdVpHVjRMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pYaDBaVzV6YVc5dWN6b2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXVMaTUwWlhoMGRYSmxWSEpoYm5ObWIzSnRSWGgwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lEb2dkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdZMjl1YzNRZ2NHRnlZVzFsZEhKcFkxSnBiVU52Ykc5eVJtRmpkRzl5SUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxuWmxZM1J2Y2xCeWIzQmxjblJwWlhNL0xsc25YMUpwYlVOdmJHOXlKMTAvTG0xaGNDaG5ZVzF0WVVWUFZFWXBPMXh1SUNBZ0lHTnZibk4wSUhCaGNtRnRaWFJ5YVdOU2FXMUdjbVZ6Ym1Wc1VHOTNaWEpHWVdOMGIzSWdQU0J0WVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE11Wm14dllYUlFjbTl3WlhKMGFXVnpQeTViSjE5U2FXMUdjbVZ6Ym1Wc1VHOTNaWEluWFR0Y2JpQWdJQ0JqYjI1emRDQndZWEpoYldWMGNtbGpVbWx0VEdsbWRFWmhZM1J2Y2lBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NW1iRzloZEZCeWIzQmxjblJwWlhNL0xsc25YMUpwYlV4cFpuUW5YVHRjYmx4dUlDQWdJR052Ym5OMElHOTFkR3hwYm1WWGFXUjBhRTF2WkdVZ1BTQmJKMjV2Ym1VbkxDQW5kMjl5YkdSRGIyOXlaR2x1WVhSbGN5Y3NJQ2R6WTNKbFpXNURiMjl5WkdsdVlYUmxjeWRkVzF4dUlDQWdJQ0FnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG1ac2IyRjBVSEp2Y0dWeWRHbGxjejh1V3lkZlQzVjBiR2x1WlZkcFpIUm9UVzlrWlNkZElEOC9JREJjYmlBZ0lDQmRJR0Z6SUZZeFRWUnZiMjVUWTJobGJXRXVUV0YwWlhKcFlXeHpUVlJ2YjI1UGRYUnNhVzVsVjJsa2RHaE5iMlJsTzF4dVhHNGdJQ0FnTHk4Z0x5OGdkakFnYjNWMGJHbHVaVmRwWkhSb1JtRmpkRzl5SUdseklHbHVJR05sYm5ScGJXVjBaWEpjYmlBZ0lDQnNaWFFnYjNWMGJHbHVaVmRwWkhSb1JtRmpkRzl5SUQwZ2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWekxtWnNiMkYwVUhKdmNHVnlkR2xsY3o4dVd5ZGZUM1YwYkdsdVpWZHBaSFJvSjEwZ1B6OGdNQzR3TzF4dUlDQWdJRzkxZEd4cGJtVlhhV1IwYUVaaFkzUnZjaUE5SURBdU1ERWdLaUJ2ZFhSc2FXNWxWMmxrZEdoR1lXTjBiM0k3WEc1Y2JpQWdJQ0JqYjI1emRDQnZkWFJzYVc1bFYybGtkR2hOZFd4MGFYQnNlVlJsZUhSMWNtVkpibVJsZUNBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NTBaWGgwZFhKbFVISnZjR1Z5ZEdsbGN6OHVXeWRmVDNWMGJHbHVaVmRwWkhSb1ZHVjRkSFZ5WlNkZE8xeHVJQ0FnSUdOdmJuTjBJRzkxZEd4cGJtVlhhV1IwYUUxMWJIUnBjR3g1VkdWNGRIVnlaU0E5WEc0Z0lDQWdJQ0J2ZFhSc2FXNWxWMmxrZEdoTmRXeDBhWEJzZVZSbGVIUjFjbVZKYm1SbGVDQWhQU0J1ZFd4c1hHNGdJQ0FnSUNBZ0lEOGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNWtaWGc2SUc5MWRHeHBibVZYYVdSMGFFMTFiSFJwY0d4NVZHVjRkSFZ5WlVsdVpHVjRMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pYaDBaVzV6YVc5dWN6b2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXVMaTUwWlhoMGRYSmxWSEpoYm5ObWIzSnRSWGgwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lEb2dkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdZMjl1YzNRZ2IzVjBiR2x1WlVOdmJHOXlSbUZqZEc5eUlEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMblpsWTNSdmNsQnliM0JsY25ScFpYTS9MbHNuWDA5MWRHeHBibVZEYjJ4dmNpZGRQeTV0WVhBb1oyRnRiV0ZGVDFSR0tUdGNiaUFnSUNCamIyNXpkQ0J2ZFhSc2FXNWxRMjlzYjNKTmIyUmxJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG1ac2IyRjBVSEp2Y0dWeWRHbGxjejh1V3lkZlQzVjBiR2x1WlVOdmJHOXlUVzlrWlNkZE95QXZMeUJsYm5WdExDQjdJRVpwZUdWa0xDQk5hWGhsWkNCOVhHNGdJQ0FnWTI5dWMzUWdiM1YwYkdsdVpVeHBaMmgwYVc1blRXbDRSbUZqZEc5eUlEMWNiaUFnSUNBZ0lHOTFkR3hwYm1WRGIyeHZjazF2WkdVZ1BUMDlJREVnUHlCdFlYUmxjbWxoYkZCeWIzQmxjblJwWlhNdVpteHZZWFJRY205d1pYSjBhV1Z6UHk1YkoxOVBkWFJzYVc1bFRHbG5hSFJwYm1kTmFYZ25YU0E2SURBdU1EdGNibHh1SUNBZ0lHTnZibk4wSUhWMlFXNXBiV0YwYVc5dVRXRnphMVJsZUhSMWNtVkpibVJsZUNBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NTBaWGgwZFhKbFVISnZjR1Z5ZEdsbGN6OHVXeWRmVlhaQmJtbHRUV0Z6YTFSbGVIUjFjbVVuWFR0Y2JpQWdJQ0JqYjI1emRDQjFka0Z1YVcxaGRHbHZiazFoYzJ0VVpYaDBkWEpsSUQxY2JpQWdJQ0FnSUhWMlFXNXBiV0YwYVc5dVRXRnphMVJsZUhSMWNtVkpibVJsZUNBaFBTQnVkV3hzWEc0Z0lDQWdJQ0FnSUQ4Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1a1pYZzZJSFYyUVc1cGJXRjBhVzl1VFdGemExUmxlSFIxY21WSmJtUmxlQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHVjRkR1Z1YzJsdmJuTTZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMaTR1ZEdWNGRIVnlaVlJ5WVc1elptOXliVVY0ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQTZJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQWdJR052Ym5OMElIVjJRVzVwYldGMGFXOXVVMk55YjJ4c1dGTndaV1ZrUm1GamRHOXlJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG1ac2IyRjBVSEp2Y0dWeWRHbGxjejh1V3lkZlZYWkJibWx0VTJOeWIyeHNXQ2RkTzF4dVhHNGdJQ0FnTHk4Z2RYWkJibWx0WVhScGIyNVRZM0p2Ykd4WlUzQmxaV1JHWVdOMGIzSWdkMmxzYkNCaVpTQnZjSEJ2YzJsMFpTQmlaWFIzWldWdUlGWXdJR0Z1WkNCV01WeHVJQ0FnSUd4bGRDQjFka0Z1YVcxaGRHbHZibE5qY205c2JGbFRjR1ZsWkVaaFkzUnZjaUE5SUcxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3k1bWJHOWhkRkJ5YjNCbGNuUnBaWE0vTGxzblgxVjJRVzVwYlZOamNtOXNiRmtuWFR0Y2JpQWdJQ0JwWmlBb2RYWkJibWx0WVhScGIyNVRZM0p2Ykd4WlUzQmxaV1JHWVdOMGIzSWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkWFpCYm1sdFlYUnBiMjVUWTNKdmJHeFpVM0JsWldSR1lXTjBiM0lnUFNBdGRYWkJibWx0WVhScGIyNVRZM0p2Ykd4WlUzQmxaV1JHWVdOMGIzSTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnZFhaQmJtbHRZWFJwYjI1U2IzUmhkR2x2YmxOd1pXVmtSbUZqZEc5eUlEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMbVpzYjJGMFVISnZjR1Z5ZEdsbGN6OHVXeWRmVlhaQmJtbHRVbTkwWVhScGIyNG5YVHRjYmx4dUlDQWdJR052Ym5OMElHMTBiMjl1UlhoMFpXNXphVzl1T2lCV01VMVViMjl1VTJOb1pXMWhMbFpTVFVOTllYUmxjbWxoYkhOTlZHOXZiaUE5SUh0Y2JpQWdJQ0FnSUhOd1pXTldaWEp6YVc5dU9pQW5NUzR3Snl4Y2JpQWdJQ0FnSUhSeVlXNXpjR0Z5Wlc1MFYybDBhRnBYY21sMFpTeGNiaUFnSUNBZ0lISmxibVJsY2xGMVpYVmxUMlptYzJWMFRuVnRZbVZ5TEZ4dUlDQWdJQ0FnYzJoaFpHVkRiMnh2Y2taaFkzUnZjaXhjYmlBZ0lDQWdJSE5vWVdSbFRYVnNkR2x3YkhsVVpYaDBkWEpsTEZ4dUlDQWdJQ0FnYzJoaFpHbHVaMU5vYVdaMFJtRmpkRzl5TEZ4dUlDQWdJQ0FnYzJoaFpHbHVaMVJ2YjI1NVJtRmpkRzl5TEZ4dUlDQWdJQ0FnWjJsRmNYVmhiR2w2WVhScGIyNUdZV04wYjNJc1hHNGdJQ0FnSUNCdFlYUmpZWEJHWVdOMGIzSXNYRzRnSUNBZ0lDQnRZWFJqWVhCVVpYaDBkWEpsTEZ4dUlDQWdJQ0FnY21sdFRHbG5hSFJwYm1kTmFYaEdZV04wYjNJc1hHNGdJQ0FnSUNCeWFXMU5kV3gwYVhCc2VWUmxlSFIxY21Vc1hHNGdJQ0FnSUNCd1lYSmhiV1YwY21salVtbHRRMjlzYjNKR1lXTjBiM0lzWEc0Z0lDQWdJQ0J3WVhKaGJXVjBjbWxqVW1sdFJuSmxjMjVsYkZCdmQyVnlSbUZqZEc5eUxGeHVJQ0FnSUNBZ2NHRnlZVzFsZEhKcFkxSnBiVXhwWm5SR1lXTjBiM0lzWEc0Z0lDQWdJQ0J2ZFhSc2FXNWxWMmxrZEdoTmIyUmxMRnh1SUNBZ0lDQWdiM1YwYkdsdVpWZHBaSFJvUm1GamRHOXlMRnh1SUNBZ0lDQWdiM1YwYkdsdVpWZHBaSFJvVFhWc2RHbHdiSGxVWlhoMGRYSmxMRnh1SUNBZ0lDQWdiM1YwYkdsdVpVTnZiRzl5Um1GamRHOXlMRnh1SUNBZ0lDQWdiM1YwYkdsdVpVeHBaMmgwYVc1blRXbDRSbUZqZEc5eUxGeHVJQ0FnSUNBZ2RYWkJibWx0WVhScGIyNU5ZWE5yVkdWNGRIVnlaU3hjYmlBZ0lDQWdJSFYyUVc1cGJXRjBhVzl1VTJOeWIyeHNXRk53WldWa1JtRmpkRzl5TEZ4dUlDQWdJQ0FnZFhaQmJtbHRZWFJwYjI1VFkzSnZiR3haVTNCbFpXUkdZV04wYjNJc1hHNGdJQ0FnSUNCMWRrRnVhVzFoZEdsdmJsSnZkR0YwYVc5dVUzQmxaV1JHWVdOMGIzSXNYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBdUxpNXpZMmhsYldGTllYUmxjbWxoYkN4Y2JseHVJQ0FnSUNBZ2NHSnlUV1YwWVd4c2FXTlNiM1ZuYUc1bGMzTTZJSHRjYmlBZ0lDQWdJQ0FnWW1GelpVTnZiRzl5Um1GamRHOXlMRnh1SUNBZ0lDQWdJQ0JpWVhObFEyOXNiM0pVWlhoMGRYSmxMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJRzV2Y20xaGJGUmxlSFIxY21Vc1hHNGdJQ0FnSUNCbGJXbHpjMmwyWlZSbGVIUjFjbVVzWEc0Z0lDQWdJQ0JsYldsemMybDJaVVpoWTNSdmNpeGNiaUFnSUNBZ0lHRnNjR2hoVFc5a1pTeGNiaUFnSUNBZ0lHRnNjR2hoUTNWMGIyWm1MRnh1SUNBZ0lDQWdaRzkxWW14bFUybGtaV1FzWEc0Z0lDQWdJQ0JsZUhSbGJuTnBiMjV6T2lCN1hHNGdJQ0FnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQkFkSGx3WlhOamNtbHdkQzFsYzJ4cGJuUXZibUZ0YVc1bkxXTnZiblpsYm5ScGIyNWNiaUFnSUNBZ0lDQWdWbEpOUTE5dFlYUmxjbWxoYkhOZmJYUnZiMjQ2SUcxMGIyOXVSWGgwWlc1emFXOXVMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmY0dGeWMyVldNRlZ1YkdsMFVISnZjR1Z5ZEdsbGN5aGNiaUFnSUNCdFlYUmxjbWxoYkZCeWIzQmxjblJwWlhNNklGWXdUV0YwWlhKcFlXd3NYRzRnSUNBZ2MyTm9aVzFoVFdGMFpYSnBZV3c2SUVkTVZFWlRZMmhsYldFdVNVMWhkR1Z5YVdGc0xGeHVJQ0FwT2lCSFRGUkdVMk5vWlcxaExrbE5ZWFJsY21saGJDQjdYRzRnSUNBZ1kyOXVjM1FnYVhOVWNtRnVjM0JoY21WdWRGcFhjbWwwWlNBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NXphR0ZrWlhJZ1BUMDlJQ2RXVWswdlZXNXNhWFJVY21GdWMzQmhjbVZ1ZEZwWGNtbDBaU2M3WEc0Z0lDQWdZMjl1YzNRZ2FYTlVjbUZ1YzNCaGNtVnVkQ0E5SUcxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsY3k1emFHRmtaWElnUFQwOUlDZFdVazB2Vlc1c2FYUlVjbUZ1YzNCaGNtVnVkQ2NnZkh3Z2FYTlVjbUZ1YzNCaGNtVnVkRnBYY21sMFpUdGNibHh1SUNBZ0lHTnZibk4wSUhKbGJtUmxjbEYxWlhWbFQyWm1jMlYwVG5WdFltVnlJRDBnZEdocGN5NWZkakJRWVhKelpWSmxibVJsY2xGMVpYVmxLRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeWs3WEc1Y2JpQWdJQ0JqYjI1emRDQnBjME4xZEc5bVppQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTV6YUdGa1pYSWdQVDA5SUNkV1VrMHZWVzVzYVhSRGRYUnZkWFFuTzF4dUlDQWdJR052Ym5OMElHRnNjR2hoVFc5a1pTQTlJR2x6VkhKaGJuTndZWEpsYm5RZ1B5QW5Ra3hGVGtRbklEb2dhWE5EZFhSdlptWWdQeUFuVFVGVFN5Y2dPaUFuVDFCQlVWVkZKenRjYmlBZ0lDQmpiMjV6ZENCaGJIQm9ZVU4xZEc5bVppQTlJR2x6UTNWMGIyWm1JRDhnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG1ac2IyRjBVSEp2Y0dWeWRHbGxjejh1V3lkZlEzVjBiMlptSjEwZ09pQjFibVJsWm1sdVpXUTdYRzVjYmlBZ0lDQmpiMjV6ZENCMFpYaDBkWEpsVkhKaGJuTm1iM0p0UlhoMElEMGdkR2hwY3k1ZmNHOXlkRlJsZUhSMWNtVlVjbUZ1YzJadmNtMG9iV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpLVHRjYmx4dUlDQWdJR052Ym5OMElHSmhjMlZEYjJ4dmNrWmhZM1J2Y2lBOUlHMWhkR1Z5YVdGc1VISnZjR1Z5ZEdsbGN5NTJaV04wYjNKUWNtOXdaWEowYVdWelB5NWJKMTlEYjJ4dmNpZGRQeTV0WVhBb1oyRnRiV0ZGVDFSR0tUdGNiaUFnSUNCamIyNXpkQ0JpWVhObFEyOXNiM0pVWlhoMGRYSmxTVzVrWlhnZ1BTQnRZWFJsY21saGJGQnliM0JsY25ScFpYTXVkR1Y0ZEhWeVpWQnliM0JsY25ScFpYTS9MbHNuWDAxaGFXNVVaWGduWFR0Y2JpQWdJQ0JqYjI1emRDQmlZWE5sUTI5c2IzSlVaWGgwZFhKbElEMWNiaUFnSUNBZ0lHSmhjMlZEYjJ4dmNsUmxlSFIxY21WSmJtUmxlQ0FoUFNCdWRXeHNYRzRnSUNBZ0lDQWdJRDhnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhVzVrWlhnNklHSmhjMlZEYjJ4dmNsUmxlSFIxY21WSmJtUmxlQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHVjRkR1Z1YzJsdmJuTTZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMaTR1ZEdWNGRIVnlaVlJ5WVc1elptOXliVVY0ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQTZJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQWdJQzh2SUhWelpTQnRkRzl2YmlCcGJuTjBaV0ZrSUc5bUlIVnViR2wwTENCemFXNWpaU0IwYUdWeVpTQnRhV2RvZENCaVpTQldVazB3TGpBZ2MzQmxZMmxtYVdNZ1ptVmhkSFZ5WlhNZ2RHaGhkQ0JoY21VZ2JtOTBJSE4xY0hCdmNuUmxaQ0JpZVNCbmJIUm1YRzRnSUNBZ1kyOXVjM1FnYlhSdmIyNUZlSFJsYm5OcGIyNDZJRll4VFZSdmIyNVRZMmhsYldFdVZsSk5RMDFoZEdWeWFXRnNjMDFVYjI5dUlEMGdlMXh1SUNBZ0lDQWdjM0JsWTFabGNuTnBiMjQ2SUNjeExqQW5MRnh1SUNBZ0lDQWdkSEpoYm5Od1lYSmxiblJYYVhSb1dsZHlhWFJsT2lCcGMxUnlZVzV6Y0dGeVpXNTBXbGR5YVhSbExGeHVJQ0FnSUNBZ2NtVnVaR1Z5VVhWbGRXVlBabVp6WlhST2RXMWlaWElzWEc0Z0lDQWdJQ0J6YUdGa1pVTnZiRzl5Um1GamRHOXlPaUJpWVhObFEyOXNiM0pHWVdOMGIzSXNYRzRnSUNBZ0lDQnphR0ZrWlUxMWJIUnBjR3g1VkdWNGRIVnlaVG9nWW1GelpVTnZiRzl5VkdWNGRIVnlaU3hjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDNHVMbk5qYUdWdFlVMWhkR1Z5YVdGc0xGeHVYRzRnSUNBZ0lDQndZbkpOWlhSaGJHeHBZMUp2ZFdkb2JtVnpjem9nZTF4dUlDQWdJQ0FnSUNCaVlYTmxRMjlzYjNKR1lXTjBiM0lzWEc0Z0lDQWdJQ0FnSUdKaGMyVkRiMnh2Y2xSbGVIUjFjbVVzWEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnWVd4d2FHRk5iMlJsTEZ4dUlDQWdJQ0FnWVd4d2FHRkRkWFJ2Wm1Zc1hHNGdJQ0FnSUNCbGVIUmxibk5wYjI1ek9pQjdYRzRnSUNBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym1GdGFXNW5MV052Ym5abGJuUnBiMjVjYmlBZ0lDQWdJQ0FnVmxKTlExOXRZWFJsY21saGJITmZiWFJ2YjI0NklHMTBiMjl1UlhoMFpXNXphVzl1TEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlNCaElHZHNWRVlnWUV0SVVsOTBaWGgwZFhKbFgzUnlZVzV6Wm05eWJXQWdaWGgwWlc1emFXOXVJR1p5YjIwZ2RqQWdkR1Y0ZEhWeVpTQjBjbUZ1YzJadmNtMGdhVzVtYnk1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gzQnZjblJVWlhoMGRYSmxWSEpoYm5ObWIzSnRLRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjem9nVmpCTllYUmxjbWxoYkNrNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklHRnVlU0I5SUh0Y2JpQWdJQ0JqYjI1emRDQjBaWGgwZFhKbFZISmhibk5tYjNKdElEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMblpsWTNSdmNsQnliM0JsY25ScFpYTS9MbHNuWDAxaGFXNVVaWGduWFR0Y2JpQWdJQ0JwWmlBb2RHVjRkSFZ5WlZSeVlXNXpabTl5YlNBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZTMwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdiMlptYzJWMElEMGdXM1JsZUhSMWNtVlVjbUZ1YzJadmNtMC9MbHN3WFNBL1B5QXdMakFzSUhSbGVIUjFjbVZVY21GdWMyWnZjbTAvTGxzeFhTQS9QeUF3TGpCZE8xeHVJQ0FnSUdOdmJuTjBJSE5qWVd4bElEMGdXM1JsZUhSMWNtVlVjbUZ1YzJadmNtMC9MbHN5WFNBL1B5QXhMakFzSUhSbGVIUjFjbVZVY21GdWMyWnZjbTAvTGxzelhTQS9QeUF4TGpCZE8xeHVYRzRnSUNBZ2IyWm1jMlYwV3pGZElEMGdNUzR3SUMwZ2MyTmhiR1ZiTVYwZ0xTQnZabVp6WlhSYk1WMDdYRzVjYmlBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVZVzFwYm1jdFkyOXVkbVZ1ZEdsdmJseHVJQ0FnSUNBZ1MwaFNYM1JsZUhSMWNtVmZkSEpoYm5ObWIzSnRPaUI3SUc5bVpuTmxkQ3dnYzJOaGJHVWdmU3hjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOdmJuWmxjblFnZGpBZ2NtVnVaR1Z5SUc5eVpHVnlJR2x1ZEc4Z2RqRWdjbVZ1WkdWeUlHOXlaR1Z5TGx4dUlDQWdLaUJVYUdseklIVnpaWE1nWVNCdFlYQWdabkp2YlNCMk1DQnlaVzVrWlhJZ2NYVmxkV1VnZEc4Z2RqRWdZMjl0Y0d4cFlXNTBJSEpsYm1SbGNpQnhkV1YxWlNCdlptWnpaWFFnZDJocFkyZ2dhWE1nWjJWdVpYSmhkR1ZrSUdsdUlIdEFiR2x1YXlCZmNHOXdkV3hoZEdWU1pXNWtaWEpSZFdWMVpVMWhjSDB1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUY5Mk1GQmhjbk5sVW1WdVpHVnlVWFZsZFdVb2JXRjBaWEpwWVd4UWNtOXdaWEowYVdWek9pQldNRTFoZEdWeWFXRnNLVG9nYm5WdFltVnlJSHRjYmlBZ0lDQmpiMjV6ZENCcGMxUnlZVzV6Y0dGeVpXNTBJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG10bGVYZHZjbVJOWVhBL0xsc25YMEZNVUVoQlFreEZUa1JmVDA0blhTQS9QeUJtWVd4elpUdGNiaUFnSUNCamIyNXpkQ0JsYm1GaWJHVmtXbGR5YVhSbElEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMbVpzYjJGMFVISnZjR1Z5ZEdsbGN6OHVXeWRmV2xkeWFYUmxKMTBnUFQwOUlERTdYRzVjYmlBZ0lDQnNaWFFnYjJabWMyVjBJRDBnTUR0Y2JseHVJQ0FnSUdsbUlDaHBjMVJ5WVc1emNHRnlaVzUwS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0IyTUZGMVpYVmxJRDBnYldGMFpYSnBZV3hRY205d1pYSjBhV1Z6TG5KbGJtUmxjbEYxWlhWbE8xeHVYRzRnSUNBZ0lDQnBaaUFvZGpCUmRXVjFaU0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaGxibUZpYkdWa1dsZHlhWFJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptYzJWMElEMGdkR2hwY3k1ZmNtVnVaR1Z5VVhWbGRXVk5ZWEJVY21GdWMzQmhjbVZ1ZEZwWGNtbDBaUzVuWlhRb2RqQlJkV1YxWlNraE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJRzltWm5ObGRDQTlJSFJvYVhNdVgzSmxibVJsY2xGMVpYVmxUV0Z3VkhKaGJuTndZWEpsYm5RdVoyVjBLSFl3VVhWbGRXVXBJVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnZabVp6WlhRN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdiV0Z3SUhkb2FXTm9JRzFoY0hNZ2RqQWdjbVZ1WkdWeUlIRjFaWFZsSUhSdklIWXhJR052YlhCc2FXRnVkQ0J5Wlc1a1pYSWdjWFZsZFdVZ2IyWm1jMlYwTGx4dUlDQWdLaUJVYUdseklHeHBjM1J6SUhWd0lHRnNiQ0J5Wlc1a1pYSWdjWFZsZFdWeklIUm9aU0J0YjJSbGJDQjFjMlVnWVc1a0lHTnlaV0YwWlhNZ1lTQnRZWEFnZEc4Z2JtVjNJSEpsYm1SbGNpQnhkV1YxWlNCdlptWnpaWFJ6SUdsdUlIUm9aU0J6WVcxbElHOXlaR1Z5TGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZmNHOXdkV3hoZEdWU1pXNWtaWEpSZFdWMVpVMWhjQ2h0WVhSbGNtbGhiRkJ5YjNCbGNuUnBaWE5NYVhOME9pQldNRTFoZEdWeWFXRnNXMTBwSUh0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQklITmxkQ0J2WmlCMWMyVmtJSEpsYm1SbGNpQnhkV1YxWlhNZ2FXNGdWSEpoYm5Od1lYSmxiblFnYldGMFpYSnBZV3h6TGx4dUlDQWdJQ0FxTDF4dUlDQWdJR052Ym5OMElISmxibVJsY2xGMVpYVmxjMVJ5WVc1emNHRnlaVzUwSUQwZ2JtVjNJRk5sZER4dWRXMWlaWEkrS0NrN1hHNWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkJJSE5sZENCdlppQjFjMlZrSUhKbGJtUmxjaUJ4ZFdWMVpYTWdhVzRnVkhKaGJuTndZWEpsYm5SYVYzSnBkR1VnYldGMFpYSnBZV3h6TGx4dUlDQWdJQ0FxTDF4dUlDQWdJR052Ym5OMElISmxibVJsY2xGMVpYVmxjMVJ5WVc1emNHRnlaVzUwV2xkeWFYUmxJRDBnYm1WM0lGTmxkRHh1ZFcxaVpYSStLQ2s3WEc1Y2JpQWdJQ0F2THlCd2IzQjFiR0YwWlNCMGFHVWdjbVZ1WkdWeUlIRjFaWFZsSUhObGRGeHVJQ0FnSUcxaGRHVnlhV0ZzVUhKdmNHVnlkR2xsYzB4cGMzUXVabTl5UldGamFDZ29iV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpLU0E5UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0JwYzFSeVlXNXpjR0Z5Wlc1MElEMGdiV0YwWlhKcFlXeFFjbTl3WlhKMGFXVnpMbXRsZVhkdmNtUk5ZWEEvTGxzblgwRk1VRWhCUWt4RlRrUmZUMDRuWFNBL1B5Qm1ZV3h6WlR0Y2JpQWdJQ0FnSUdOdmJuTjBJR1Z1WVdKc1pXUmFWM0pwZEdVZ1BTQnRZWFJsY21saGJGQnliM0JsY25ScFpYTXVabXh2WVhSUWNtOXdaWEowYVdWelB5NWJKMTlhVjNKcGRHVW5YU0E5UFQwZ01UdGNibHh1SUNBZ0lDQWdhV1lnS0dselZISmhibk53WVhKbGJuUXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkakJSZFdWMVpTQTlJRzFoZEdWeWFXRnNVSEp2Y0dWeWRHbGxjeTV5Wlc1a1pYSlJkV1YxWlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvZGpCUmRXVjFaU0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR1Z1WVdKc1pXUmFWM0pwZEdVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGJtUmxjbEYxWlhWbGMxUnlZVzV6Y0dGeVpXNTBXbGR5YVhSbExtRmtaQ2gyTUZGMVpYVmxLVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZ1WkdWeVVYVmxkV1Z6VkhKaGJuTndZWEpsYm5RdVlXUmtLSFl3VVhWbGRXVXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ0x5OGdjMmh2ZHlCaElIZGhjbTVwYm1jZ2FXWWdkR2hsSUcxdlpHVnNJSFZ6WlhNZ2RqRWdhVzVqYjIxd1lYUnBZbXhsSUc1MWJXSmxjaUJ2WmlCeVpXNWtaWElnY1hWbGRXVnpYRzRnSUNBZ2FXWWdLSEpsYm1SbGNsRjFaWFZsYzFSeVlXNXpjR0Z5Wlc1MExuTnBlbVVnUGlBeE1Da2dlMXh1SUNBZ0lDQWdZMjl1YzI5c1pTNTNZWEp1S0Z4dUlDQWdJQ0FnSUNCZ1ZsSk5UV0YwWlhKcFlXeHpWakJEYjIxd1lYUlFiSFZuYVc0NklGUm9hWE1nVmxKTklIVnpaWE1nSkh0eVpXNWtaWEpSZFdWMVpYTlVjbUZ1YzNCaGNtVnVkQzV6YVhwbGZTQnlaVzVrWlhJZ2NYVmxkV1Z6SUdadmNpQlVjbUZ1YzNCaGNtVnVkQ0J0WVhSbGNtbGhiSE1nZDJocGJHVWdWbEpOSURFdU1DQnZibXg1SUhOMWNIQnZjblJ6SUhWd0lIUnZJREV3SUhKbGJtUmxjaUJ4ZFdWMVpYTXVJRlJvWlNCdGIyUmxiQ0J0YVdkb2RDQnViM1FnWW1VZ2NtVnVaR1Z5WldRZ1kyOXljbVZqZEd4NUxtQXNYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5Wlc1a1pYSlJkV1YxWlhOVWNtRnVjM0JoY21WdWRGcFhjbWwwWlM1emFYcGxJRDRnTVRBcElIdGNiaUFnSUNBZ0lHTnZibk52YkdVdWQyRnliaWhjYmlBZ0lDQWdJQ0FnWUZaU1RVMWhkR1Z5YVdGc2MxWXdRMjl0Y0dGMFVHeDFaMmx1T2lCVWFHbHpJRlpTVFNCMWMyVnpJQ1I3Y21WdVpHVnlVWFZsZFdWelZISmhibk53WVhKbGJuUmFWM0pwZEdVdWMybDZaWDBnY21WdVpHVnlJSEYxWlhWbGN5Qm1iM0lnVkhKaGJuTndZWEpsYm5SYVYzSnBkR1VnYldGMFpYSnBZV3h6SUhkb2FXeGxJRlpTVFNBeExqQWdiMjVzZVNCemRYQndiM0owY3lCMWNDQjBieUF4TUNCeVpXNWtaWElnY1hWbGRXVnpMaUJVYUdVZ2JXOWtaV3dnYldsbmFIUWdibTkwSUdKbElISmxibVJsY21Wa0lHTnZjbkpsWTNSc2VTNWdMRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJqY21WaGRHVWdZU0J0WVhBZ1puSnZiU0IyTUNCeVpXNWtaWElnY1hWbGRXVWdkRzhnZGpFZ2NtVnVaR1Z5SUhGMVpYVmxJRzltWm5ObGRGeHVJQ0FnSUVGeWNtRjVMbVp5YjIwb2NtVnVaR1Z5VVhWbGRXVnpWSEpoYm5Od1lYSmxiblFwWEc0Z0lDQWdJQ0F1YzI5eWRDZ3BYRzRnSUNBZ0lDQXVabTl5UldGamFDZ29jWFZsZFdVc0lHa3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYm1WM1VYVmxkV1ZQWm1aelpYUWdQU0JOWVhSb0xtMXBiaWhOWVhSb0xtMWhlQ2hwSUMwZ2NtVnVaR1Z5VVhWbGRXVnpWSEpoYm5Od1lYSmxiblF1YzJsNlpTQXJJREVzSUMwNUtTd2dNQ2s3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYM0psYm1SbGNsRjFaWFZsVFdGd1ZISmhibk53WVhKbGJuUXVjMlYwS0hGMVpYVmxMQ0J1WlhkUmRXVjFaVTltWm5ObGRDazdYRzRnSUNBZ0lDQjlLVHRjYmx4dUlDQWdJRUZ5Y21GNUxtWnliMjBvY21WdVpHVnlVWFZsZFdWelZISmhibk53WVhKbGJuUmFWM0pwZEdVcFhHNGdJQ0FnSUNBdWMyOXlkQ2dwWEc0Z0lDQWdJQ0F1Wm05eVJXRmphQ2dvY1hWbGRXVXNJR2twSUQwK0lIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JtVjNVWFZsZFdWUFptWnpaWFFnUFNCTllYUm9MbTFwYmloTllYUm9MbTFoZUNocExDQXdLU3dnT1NrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WDNKbGJtUmxjbEYxWlhWbFRXRndWSEpoYm5Od1lYSmxiblJhVjNKcGRHVXVjMlYwS0hGMVpYVmxMQ0J1WlhkUmRXVjFaVTltWm5ObGRDazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ2ZWeHVmVnh1SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3UVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCYjBkQk8wRkJRMDhzVTBGQlV5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZMRlZCUVZVc1JVRkJSU3hEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTzBGQlF6ZEVMRWxCUVVrc1UwRkJVeXhMUVVGTExFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNUMEZCVHl4TFFVRkxMRmxCUVZrc1EwRkJReXhIUVVGSExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4VlFVRlZMRTlCUVU4c1JVRkJSU3hGUVVGRkxFOUJRVThzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRk8wRkJRMmhJTEVsQlFVa3NUMEZCVHl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEVWQlFVVXNWVUZCVlN4UFFVRlBMRVZCUVVVc1RVRkJUU3hGUVVGRk8wRkJReTlFTEZGQlFWRXNVMEZCVXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRCUVVOdVJ5eFJRVUZSTEZOQlFWTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRCUVVOMFJ5eFJRVUZSTEZOQlFWTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVXNVVUZCVVN4RFFVRkRMRU5CUVVNc1JVRkJSVHRCUVVOMFNDeFJRVUZSTEVsQlFVa3NRMEZCUXl4RFFVRkRMRk5CUVZNc1IwRkJSeXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4VlFVRlZMRWxCUVVrc1JVRkJSU3hEUVVGRExFVkJRVVVzU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTTVSU3hMUVVGTExFTkJRVU1zUTBGQlF6dEJRVU5RT3p0QlF6RklUU3hUUVVGVkxGTkJRVk1zUTBGQlF5eERRVUZUTEVWQlFVRTdTVUZEYWtNc1QwRkJUeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVNeFFqczdUVU5MWVN3d1FrRkJNRUlzUTBGQlFUdEJRV0Z5UXl4SlFVRkJMRWxCUVZjc1NVRkJTU3hIUVVGQk8wRkJRMklzVVVGQlFTeFBRVUZQTERSQ1FVRTBRaXhEUVVGRE8wdEJRM0pETzBGQlJVUXNTVUZCUVN4WFFVRkJMRU5CUVcxQ0xFMUJRV3RDTEVWQlFVRTdPMEZCUTI1RExGRkJRVUVzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1FVRkZja0lzVVVGQlFTeEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXp0QlFVTTFReXhSUVVGQkxFbEJRVWtzUTBGQlF5eG5RMEZCWjBNc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZET3pzN1FVRkpiRVFzVVVGQlFTeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRWGRDTEVOQlFVTTdVVUZGYkVRc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1kwRkJZeXhOUVVGSkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGQkxFVkJRVVVzUTBGQlF6dFJRVU5vUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zVDBGQlR5eERRVUZETEhWQ1FVRjFRaXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVWQlFVVTdRVUZETDBRc1dVRkJRU3hKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEVsQlFVa3NRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eERRVUZETzBGQlEyNUVMRk5CUVVFN1MwRkRSanRKUVVWWkxGVkJRVlVzUjBGQlFUczdPMEZCUTNKQ0xGbEJRVUVzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGM1FpeERRVUZET3p0WlFVZHNSQ3hOUVVGTkxHTkJRV01zUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEV0QlFVc3NRMEZCYzBJc1EwRkJRenRaUVVOeVJTeE5RVUZOTEc5Q1FVRnZRaXhIUVVGSExHTkJRV01zUzBGQlFTeEpRVUZCTEVsQlFXUXNZMEZCWXl4TFFVRmtMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEdOQlFXTXNRMEZCUlN4clFrRkJhMElzUTBGQlF6dFpRVU5vUlN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVWQlFVVTdaMEpCUTNwQ0xFOUJRVTg3UVVGRFVpeGhRVUZCT3p0QlFVZEVMRmxCUVVFc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTTdPMWxCUjI1RUxHOUNRVUZ2UWl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExHdENRVUZyUWl4RlFVRkZMR0ZCUVdFc1MwRkJTVHM3WjBKQlEycEZMRTFCUVUwc1YwRkJWeXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVa3NRMEZCUXl4VFFVRlRMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzWVVGQllTeERRVUZETEVOQlFVTTdaMEpCUlhCRUxFbEJRVWtzVjBGQlZ5eEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTjJRaXh2UWtGQlFTeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMSGRFUVVGM1JDeGhRVUZoTEVOQlFVRXNkME5CUVVFc1EwRkJNRU1zUTBGRGFFZ3NRMEZCUXp0dlFrRkRSaXhQUVVGUE8wRkJRMUlzYVVKQlFVRTdRVUZGUkN4blFrRkJRU3hKUVVGSkxHdENRVUZyUWl4RFFVRkRMRTFCUVUwc1MwRkJTeXhYUVVGWExFVkJRVVU3YjBKQlF6ZERMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJRenRCUVVNdlJTeHZRa0ZCUVN4SlFVRkpMRU5CUVVNc1UwRkJWU3hEUVVGRExHRkJRV0VzUTBGQlF5eEhRVUZITEZGQlFWRXNRMEZCUXp0QlFVTXpReXhwUWtGQlFUdHhRa0ZCVFN4SlFVRkpMRU5CUVVFc1JVRkJRU3hIUVVGQkxHdENRVUZyUWl4RFFVRkRMRTFCUVUwc01FTkJRVVVzVlVGQlZTeERRVUZETEZkQlFWY3NRMEZCUXl4RlFVRkZPMjlDUVVNM1JDeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVVzVjBGQlZ5eERRVUZETEVOQlFVTTdRVUZETDBVc2IwSkJRVUVzU1VGQlNTeERRVUZETEZOQlFWVXNRMEZCUXl4aFFVRmhMRU5CUVVNc1IwRkJSeXhSUVVGUkxFTkJRVU03UVVGRE0wTXNhVUpCUVVFN1FVRkJUU3h4UWtGQlFTeEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUzBGQlN5eHZRa0ZCYjBJc1JVRkJSU3hEUVVVNVJEdEJRVUZOTEhGQ1FVRkJPMjlDUVVOTUxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUVN3MFEwRkJRU3hGUVVFclF5eHJRa0ZCYTBJc1EwRkJReXhOUVVGTkxFTkJRVVVzUTBGQlFTeERRVUZETEVOQlFVTTdRVUZETVVZc2FVSkJRVUU3UVVGRFNDeGhRVUZETEVOQlFVTXNRMEZCUXpzN1FVRkRTaXhMUVVGQk8wbEJSVThzZFVKQlFYVkNMRU5CUXpkQ0xHdENRVUU0UWl4RlFVTTVRaXhqUVVGdlF5eEZRVUZCT3p0QlFVVndReXhSUVVGQkxFMUJRVTBzWVVGQllTeEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxHdENRVUZyUWl4RFFVRkRMRlZCUVZVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJ5eG5Ra0ZCWjBJc1EwRkJReXhOUVVGSkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGQkxFdEJRVXNzUTBGQlF6dEJRVU5xUml4UlFVRkJMRTFCUVUwc1lVRkJZU3hIUVVGSExFTkJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWlVGQlpTeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMRk5CUVZNc1EwRkJReXhOUVVGTExFTkJRVU1zUTBGQlF6dEJRVU0xUlN4UlFVRkJMRTFCUVUwc2NVSkJRWEZDTEVkQlFVY3NZVUZCWVN4SlFVRkpMR0ZCUVdFc1EwRkJRenRSUVVVM1JDeE5RVUZOTEhWQ1FVRjFRaXhIUVVGSExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4RFFVRkRPMEZCUlRkRkxGRkJRVUVzVFVGQlRTeFJRVUZSTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1EwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEdWQlFXVXNRMEZCUXl4TlFVRkpMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkJMRXRCUVVzc1EwRkJRenRCUVVNelJTeFJRVUZCTEUxQlFVMHNVMEZCVXl4SFFVRkhMR0ZCUVdFc1IwRkJSeXhQUVVGUExFZEJRVWNzVVVGQlVTeEhRVUZITEUxQlFVMHNSMEZCUnl4UlFVRlJMRU5CUVVNN1FVRkRla1VzVVVGQlFTeE5RVUZOTEZkQlFWY3NSMEZCUnl4UlFVRlJMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1pVRkJaU3d3UTBGQlJ5eFRRVUZUTEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN1FVRkZNMFlzVVVGQlFTeE5RVUZOTEZGQlFWRXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hEUVVGQkxFVkJRVUVzUjBGQlFTeHJRa0ZCYTBJc1EwRkJReXhsUVVGbExFMUJRVWNzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNWMEZCVnl4RFFVRkRMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVrc1EwRkJReXhEUVVGRE8wRkJRM2hGTEZGQlFVRXNUVUZCVFN4WFFVRlhMRWRCUVVjc1VVRkJVU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVVZ1UXl4TlFVRk5MRzFDUVVGdFFpeEhRVUZITEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8wRkJSVE5GTEZGQlFVRXNUVUZCVFN4bFFVRmxMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWjBKQlFXZENMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzVVVGQlVTeERRVUZETERCRFFVRkZMRWRCUVVjc1EwRkRNVVVzUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVOMlJDeERRVUZETzFGQlEwWXNUVUZCVFN4eFFrRkJjVUlzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4clFrRkJhMElzUTBGQlF5eHBRa0ZCYVVJc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJ5eFZRVUZWTEVOQlFVTXNRMEZCUXp0QlFVTnFSaXhSUVVGQkxFMUJRVTBzWjBKQlFXZENMRWRCUTNCQ0xIRkNRVUZ4UWl4SlFVRkpMRWxCUVVrN1FVRkRNMElzWTBGQlJUdEJRVU5GTEdkQ1FVRkJMRXRCUVVzc1JVRkJSU3h4UWtGQmNVSTdaMEpCUXpWQ0xGVkJRVlVzUlVGQlFTeE5RVUZCTEVOQlFVRXNUVUZCUVN4RFFVRkJMRVZCUVVFc1JVRkRUQ3h0UWtGQmJVSXNRMEZEZGtJN1FVRkRSaXhoUVVGQk8yTkJRMFFzVTBGQlV5eERRVUZETzFGQlJXaENMRTFCUVUwc2EwSkJRV3RDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNaVUZCWlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlF6bEZMRTFCUVUwc2EwSkJRV3RDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNhVUpCUVdsQ0xFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNN1FVRkRPVVVzVVVGQlFTeE5RVUZOTEdGQlFXRXNSMEZEYWtJc2EwSkJRV3RDTEVsQlFVa3NTVUZCU1R0QlFVTjRRaXhqUVVGRk8wRkJRMFVzWjBKQlFVRXNTMEZCU3l4RlFVRkZMR3RDUVVGclFqdEJRVU42UWl4blFrRkJRU3hMUVVGTExFVkJRVVVzYTBKQlFXdENPMmRDUVVONlFpeFZRVUZWTEVWQlFVRXNUVUZCUVN4RFFVRkJMRTFCUVVFc1EwRkJRU3hGUVVGQkxFVkJRMHdzYlVKQlFXMUNMRU5CUTNaQ08wRkJRMFlzWVVGQlFUdGpRVU5FTEZOQlFWTXNRMEZCUXp0QlFVVm9RaXhSUVVGQkxFMUJRVTBzWTBGQll5eEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxHdENRVUZyUWl4RFFVRkRMR2RDUVVGblFpeE5RVUZITEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkJMR2RDUVVGblFpeERRVUZETEUxQlFVVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1IwRkJSeXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFGQlF5OUdMRTFCUVUwc2IwSkJRVzlDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNhVUpCUVdsQ0xFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVY3NZMEZCWXl4RFFVRkRMRU5CUVVNN1FVRkRjRVlzVVVGQlFTeE5RVUZOTEdWQlFXVXNSMEZEYmtJc2IwSkJRVzlDTEVsQlFVa3NTVUZCU1R0QlFVTXhRaXhqUVVGRk8wRkJRMFVzWjBKQlFVRXNTMEZCU3l4RlFVRkZMRzlDUVVGdlFqdG5Ra0ZETTBJc1ZVRkJWU3hGUVVGQkxFMUJRVUVzUTBGQlFTeE5RVUZCTEVOQlFVRXNSVUZCUVN4RlFVTk1MRzFDUVVGdFFpeERRVU4yUWp0QlFVTkdMR0ZCUVVFN1kwRkRSQ3hUUVVGVExFTkJRVU03UVVGRmFFSXNVVUZCUVN4TlFVRk5MR2RDUVVGblFpeEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxHdENRVUZyUWl4RFFVRkRMR2RDUVVGblFpeE5RVUZITEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkJMR0ZCUVdFc1EwRkJReXhOUVVGRkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZCTEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRSUVVNNVJpeE5RVUZOTEhsQ1FVRjVRaXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEd0Q1FVRnJRaXhEUVVGRExHbENRVUZwUWl4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExHVkJRV1VzUTBGQlF5eERRVUZETzBGQlF6RkdMRkZCUVVFc1RVRkJUU3h2UWtGQmIwSXNSMEZEZUVJc2VVSkJRWGxDTEVsQlFVa3NTVUZCU1R0QlFVTXZRaXhqUVVGRk8wRkJRMFVzWjBKQlFVRXNTMEZCU3l4RlFVRkZMSGxDUVVGNVFqdG5Ra0ZEYUVNc1ZVRkJWU3hGUVVGQkxFMUJRVUVzUTBGQlFTeE5RVUZCTEVOQlFVRXNSVUZCUVN4RlFVTk1MRzFDUVVGdFFpeERRVU4yUWp0QlFVTkdMR0ZCUVVFN1kwRkRSQ3hUUVVGVExFTkJRVU03TzBGQlIyaENMRkZCUVVFc1NVRkJTU3hyUWtGQmEwSXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hEUVVGQkxFVkJRVUVzUjBGQlFTeHJRa0ZCYTBJc1EwRkJReXhsUVVGbExFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVY3NZVUZCWVN4RFFVRkRMRTFCUVVrc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVFc1IwRkJSeXhEUVVGRE8wRkJRM0JHTEZGQlFVRXNTVUZCU1N4clFrRkJhMElzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hyUWtGQmEwSXNRMEZCUXl4bFFVRmxMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzWVVGQllTeERRVUZETEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNSMEZCUnl4RFFVRkRPMEZCUTNCR0xGRkJRVUVzYTBKQlFXdENMRWRCUVVjc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXp0UlFVTnVSeXhyUWtGQmEwSXNSMEZCUnl4RFFVRkRMR3RDUVVGclFpeEpRVUZKTEVkQlFVY3NSMEZCUnl4clFrRkJhMElzUTBGQlF5eERRVUZETzFGQlJYUkZMRTFCUVUwc2FVSkJRV2xDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNaVUZCWlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGSExIbENRVUY1UWl4RFFVRkRMRU5CUVVNN1FVRkRNVVlzVVVGQlFTeE5RVUZOTEc5Q1FVRnZRaXhIUVVGSExHbENRVUZwUWl4SFFVRkhMRWRCUVVjc1IwRkJSeXhwUWtGQmFVSXNSMEZCUnl4VFFVRlRMRU5CUVVNN1VVRkZja1lzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXhEUVVGQkxFVkJRVUVzUjBGQlFTeHJRa0ZCYTBJc1EwRkJReXhwUWtGQmFVSXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXhaUVVGWkxFTkJRVU1zUTBGQlF6dEJRVU5vUml4UlFVRkJMRTFCUVUwc1dVRkJXU3hIUVVGSExHdENRVUZyUWl4SlFVRkpMRWxCUVVrc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRE8wRkJRemxGTEZGQlFVRXNUVUZCVFN4aFFVRmhMRWRCUTJwQ0xHdENRVUZyUWl4SlFVRkpMRWxCUVVrN1FVRkRlRUlzWTBGQlJUdEJRVU5GTEdkQ1FVRkJMRXRCUVVzc1JVRkJSU3hyUWtGQmEwSTdRVUZETVVJc1lVRkJRVHRqUVVORUxGTkJRVk1zUTBGQlF6dFJRVVZvUWl4TlFVRk5MRzlDUVVGdlFpeEhRVUZITEVOQlFVRXNSVUZCUVN4SFFVRkJMR3RDUVVGclFpeERRVUZETEdWQlFXVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMUZCUTNKR0xFMUJRVTBzZFVKQlFYVkNMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc2FVSkJRV2xDTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVjc1lVRkJZU3hEUVVGRExFTkJRVU03UVVGRGRFWXNVVUZCUVN4TlFVRk5MR3RDUVVGclFpeEhRVU4wUWl4MVFrRkJkVUlzU1VGQlNTeEpRVUZKTzBGQlF6ZENMR05CUVVVN1FVRkRSU3huUWtGQlFTeExRVUZMTEVWQlFVVXNkVUpCUVhWQ08yZENRVU01UWl4VlFVRlZMRVZCUVVFc1RVRkJRU3hEUVVGQkxFMUJRVUVzUTBGQlFTeEZRVUZCTEVWQlEwd3NiVUpCUVcxQ0xFTkJRM1pDTzBGQlEwWXNZVUZCUVR0alFVTkVMRk5CUVZNc1EwRkJRenRCUVVWb1FpeFJRVUZCTEUxQlFVMHNkMEpCUVhkQ0xFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNaMEpCUVdkQ0xFMUJRVWNzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNWMEZCVnl4RFFVRkRMRTFCUVVVc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzUjBGQlJ5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUTNCSExFMUJRVTBzSzBKQlFTdENMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1pVRkJaU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEd0Q1FVRnJRaXhEUVVGRExFTkJRVU03VVVGRGFrY3NUVUZCVFN4MVFrRkJkVUlzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4clFrRkJhMElzUTBGQlF5eGxRVUZsTEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVjc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRmFrWXNUVUZCVFN4blFrRkJaMElzUjBGQlJ5eERRVUZETEUxQlFVMHNSVUZCUlN4clFrRkJhMElzUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhEUVVONFJTeE5RVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMR3RDUVVGclFpeERRVUZETEdWQlFXVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXh0UWtGQmJVSXNRMEZCUXl4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkpMRU5CUVVNc1EwRkRaaXhEUVVGRE96dEJRVWRzUkN4UlFVRkJMRWxCUVVrc2EwSkJRV3RDTEVkQlFVY3NRMEZCUVN4SFFVRkJMRWRCUVVFc1EwRkJRU3hGUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1pVRkJaU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZITEdWQlFXVXNRMEZCUXl4TlFVRkpMRWxCUVVFc1NVRkJRU3hIUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSMEZCUVN4SFFVRkJMRWRCUVVjc1EwRkJRenRCUVVOMFJpeFJRVUZCTEd0Q1FVRnJRaXhIUVVGSExFbEJRVWtzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJRenRSUVVVdlF5eE5RVUZOTEdkRFFVRm5ReXhIUVVGSExFTkJRVUVzUjBGQlFTeEhRVUZCTEd0Q1FVRnJRaXhEUVVGRExHbENRVUZwUWl4TlFVRkJMRWxCUVVFc1NVRkJRU3hIUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1IwRkJRU3hEUVVGSExITkNRVUZ6UWl4RFFVRkRMRU5CUVVNN1FVRkRlRWNzVVVGQlFTeE5RVUZOTERKQ1FVRXlRaXhIUVVNdlFpeG5RMEZCWjBNc1NVRkJTU3hKUVVGSk8wRkJRM1JETEdOQlFVVTdRVUZEUlN4blFrRkJRU3hMUVVGTExFVkJRVVVzWjBOQlFXZERPMmRDUVVOMlF5eFZRVUZWTEVWQlFVRXNUVUZCUVN4RFFVRkJMRTFCUVVFc1EwRkJRU3hGUVVGQkxFVkJRMHdzYlVKQlFXMUNMRU5CUTNaQ08wRkJRMFlzWVVGQlFUdGpRVU5FTEZOQlFWTXNRMEZCUXp0QlFVVm9RaXhSUVVGQkxFMUJRVTBzYTBKQlFXdENMRWRCUVVjc1EwRkJRU3hIUVVGQkxFZEJRVUVzUTBGQlFTeEhRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWjBKQlFXZENMRTFCUVVjc1NVRkJRU3hKUVVGQkxFZEJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hIUVVGQkxFTkJRVUVzWlVGQlpTeERRVUZETEUxQlFVVXNTVUZCUVN4SlFVRkJMRWRCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4SFFVRkJMRU5CUVVFc1IwRkJSeXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFGQlEyeEhMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NRMEZCUVN4SFFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNaVUZCWlN4TlFVRkJMRWxCUVVFc1NVRkJRU3hIUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1IwRkJRU3hEUVVGSExHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNN1FVRkRia1lzVVVGQlFTeE5RVUZOTEhkQ1FVRjNRaXhIUVVNMVFpeG5Ra0ZCWjBJc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlFTeEhRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWlVGQlpTdzBRMEZCUnl4eFFrRkJjVUlzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXp0UlFVVTNSaXhOUVVGTkxESkNRVUV5UWl4SFFVRkhMRU5CUVVFc1IwRkJRU3hIUVVGQkxHdENRVUZyUWl4RFFVRkRMR2xDUVVGcFFpeE5RVUZCTEVsQlFVRXNTVUZCUVN4SFFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSMEZCUVN4RFFVRkhMRzlDUVVGdlFpeERRVUZETEVOQlFVTTdRVUZEYWtjc1VVRkJRU3hOUVVGTkxITkNRVUZ6UWl4SFFVTXhRaXd5UWtGQk1rSXNTVUZCU1N4SlFVRkpPMEZCUTJwRExHTkJRVVU3UVVGRFJTeG5Ra0ZCUVN4TFFVRkxMRVZCUVVVc01rSkJRVEpDTzJkQ1FVTnNReXhWUVVGVkxFVkJRVUVzVFVGQlFTeERRVUZCTEUxQlFVRXNRMEZCUVN4RlFVRkJMRVZCUTB3c2JVSkJRVzFDTEVOQlEzWkNPMEZCUTBZc1lVRkJRVHRqUVVORUxGTkJRVk1zUTBGQlF6dFJRVVZvUWl4TlFVRk5MRFpDUVVFMlFpeEhRVUZITEVOQlFVRXNSMEZCUVN4SFFVRkJMR3RDUVVGclFpeERRVUZETEdWQlFXVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1IwRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRWRCUVVFc1EwRkJSeXhuUWtGQlowSXNRMEZCUXl4RFFVRkRPenRSUVVjM1JpeEpRVUZKTERaQ1FVRTJRaXhIUVVGSExFTkJRVUVzUjBGQlFTeEhRVUZCTEd0Q1FVRnJRaXhEUVVGRExHVkJRV1VzVFVGQlFTeEpRVUZCTEVsQlFVRXNSMEZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVkQlFVRXNRMEZCUnl4blFrRkJaMElzUTBGQlF5eERRVUZETzFGQlF6TkdMRWxCUVVrc05rSkJRVFpDTEVsQlFVa3NTVUZCU1N4RlFVRkZPMWxCUTNwRExEWkNRVUUyUWl4SFFVRkhMRU5CUVVNc05rSkJRVFpDTEVOQlFVTTdRVUZEYUVVc1UwRkJRVHRSUVVWRUxFMUJRVTBzT0VKQlFUaENMRWRCUVVjc1EwRkJRU3hIUVVGQkxFZEJRVUVzYTBKQlFXdENMRU5CUVVNc1pVRkJaU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEhRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUjBGQlFTeERRVUZITEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03UVVGRkwwWXNVVUZCUVN4TlFVRk5MR05CUVdNc1IwRkJjVU03UVVGRGRrUXNXVUZCUVN4WFFVRlhMRVZCUVVVc1MwRkJTenRaUVVOc1FpeHhRa0ZCY1VJN1dVRkRja0lzZFVKQlFYVkNPMWxCUTNaQ0xHZENRVUZuUWp0WlFVTm9RaXh2UWtGQmIwSTdXVUZEY0VJc2EwSkJRV3RDTzFsQlEyeENMR3RDUVVGclFqdFpRVU5zUWl4dlFrRkJiMEk3V1VGRGNFSXNXVUZCV1R0WlFVTmFMR0ZCUVdFN1dVRkRZaXh2UWtGQmIwSTdXVUZEY0VJc2EwSkJRV3RDTzFsQlEyeENMSGRDUVVGM1FqdFpRVU40UWl3clFrRkJLMEk3V1VGREwwSXNkVUpCUVhWQ08xbEJRM1pDTEdkQ1FVRm5RanRaUVVOb1FpeHJRa0ZCYTBJN1dVRkRiRUlzTWtKQlFUSkNPMWxCUXpOQ0xHdENRVUZyUWp0WlFVTnNRaXgzUWtGQmQwSTdXVUZEZUVJc2MwSkJRWE5DTzFsQlEzUkNMRFpDUVVFMlFqdFpRVU0zUWl3MlFrRkJOa0k3V1VGRE4wSXNPRUpCUVRoQ08xTkJReTlDTEVOQlFVTTdVVUZGUml4UFFVTkxMRTFCUVVFc1EwRkJRU3hOUVVGQkxFTkJRVUVzVFVGQlFTeERRVUZCTEUxQlFVRXNRMEZCUVN4RlFVRkJMRVZCUVVFc1kwRkJZeXhEUVVWcVFpeEZRVUZCTEVWQlFVRXNiMEpCUVc5Q0xFVkJRVVU3WjBKQlEzQkNMR1ZCUVdVN1owSkJRMllzWjBKQlFXZENPMEZCUTJwQ0xHRkJRVUVzUlVGRFJDeGhRVUZoTzFsQlEySXNaVUZCWlR0WlFVTm1MR05CUVdNN1dVRkRaQ3hUUVVGVE8xbEJRMVFzVjBGQlZ6dFpRVU5ZTEZkQlFWY3NSVUZEV0N4VlFVRlZMRVZCUVVVN08wRkJSVllzWjBKQlFVRXNiMEpCUVc5Q0xFVkJRVVVzWTBGQll6dGhRVU55UXl4RlFVTkVMRU5CUVVFc1EwRkJRVHRMUVVOSU8wbEJSVThzZFVKQlFYVkNMRU5CUXpkQ0xHdENRVUU0UWl4RlFVTTVRaXhqUVVGdlF5eEZRVUZCT3p0QlFVVndReXhSUVVGQkxFMUJRVTBzYlVKQlFXMUNMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4TFFVRkxMRFJDUVVFMFFpeERRVUZETzFGQlEzWkdMRTFCUVUwc1lVRkJZU3hIUVVGSExHdENRVUZyUWl4RFFVRkRMRTFCUVUwc1MwRkJTeXh6UWtGQmMwSXNTVUZCU1N4dFFrRkJiVUlzUTBGQlF6dFJRVVZzUnl4TlFVRk5MSFZDUVVGMVFpeEhRVUZITEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8wRkJSVGRGTEZGQlFVRXNUVUZCVFN4UlFVRlJMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4TFFVRkxMR2xDUVVGcFFpeERRVUZETzBGQlEycEZMRkZCUVVFc1RVRkJUU3hUUVVGVExFZEJRVWNzWVVGQllTeEhRVUZITEU5QlFVOHNSMEZCUnl4UlFVRlJMRWRCUVVjc1RVRkJUU3hIUVVGSExGRkJRVkVzUTBGQlF6dEJRVU42UlN4UlFVRkJMRTFCUVUwc1YwRkJWeXhIUVVGSExGRkJRVkVzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4clFrRkJhMElzUTBGQlF5eGxRVUZsTERCRFFVRkhMRk5CUVZNc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF6dFJRVVV6Uml4TlFVRk5MRzFDUVVGdFFpeEhRVUZITEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8wRkJSVE5GTEZGQlFVRXNUVUZCVFN4bFFVRmxMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zWjBKQlFXZENMRTFCUVVjc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzVVVGQlVTeERRVUZETEUxQlFVVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1IwRkJSeXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFGQlEzaEdMRTFCUVUwc2NVSkJRWEZDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNhVUpCUVdsQ0xFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNN1FVRkRha1lzVVVGQlFTeE5RVUZOTEdkQ1FVRm5RaXhIUVVOd1FpeHhRa0ZCY1VJc1NVRkJTU3hKUVVGSk8wRkJRek5DTEdOQlFVVTdRVUZEUlN4blFrRkJRU3hMUVVGTExFVkJRVVVzY1VKQlFYRkNPMmRDUVVNMVFpeFZRVUZWTEVWQlFVRXNUVUZCUVN4RFFVRkJMRTFCUVVFc1EwRkJRU3hGUVVGQkxFVkJRMHdzYlVKQlFXMUNMRU5CUTNaQ08wRkJRMFlzWVVGQlFUdGpRVU5FTEZOQlFWTXNRMEZCUXpzN1FVRkhhRUlzVVVGQlFTeE5RVUZOTEdOQlFXTXNSMEZCY1VNN1FVRkRka1FzV1VGQlFTeFhRVUZYTEVWQlFVVXNTMEZCU3p0QlFVTnNRaXhaUVVGQkxIRkNRVUZ4UWl4RlFVRkZMRzFDUVVGdFFqdFpRVU14UXl4MVFrRkJkVUk3UVVGRGRrSXNXVUZCUVN4blFrRkJaMElzUlVGQlJTeGxRVUZsTzBGQlEycERMRmxCUVVFc2IwSkJRVzlDTEVWQlFVVXNaMEpCUVdkQ08xTkJRM1pETEVOQlFVTTdVVUZGUml4UFFVTkxMRTFCUVVFc1EwRkJRU3hOUVVGQkxFTkJRVUVzVFVGQlFTeERRVUZCTEUxQlFVRXNRMEZCUVN4RlFVRkJMRVZCUVVFc1kwRkJZeXhEUVVWcVFpeEZRVUZCTEVWQlFVRXNiMEpCUVc5Q0xFVkJRVVU3WjBKQlEzQkNMR1ZCUVdVN1owSkJRMllzWjBKQlFXZENPMEZCUTJwQ0xHRkJRVUVzUlVGRFJDeFRRVUZUTzFsQlExUXNWMEZCVnl4RlFVTllMRlZCUVZVc1JVRkJSVHM3UVVGRlZpeG5Ra0ZCUVN4dlFrRkJiMElzUlVGQlJTeGpRVUZqTzJGQlEzSkRMRVZCUTBRc1EwRkJRU3hEUVVGQk8wdEJRMGc3UVVGRlJEczdRVUZGUnp0QlFVTkxMRWxCUVVFc2NVSkJRWEZDTEVOQlFVTXNhMEpCUVRoQ0xFVkJRVUU3TzFGQlF6RkVMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc2EwSkJRV3RDTEVOQlFVTXNaMEpCUVdkQ0xFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkRNMFVzU1VGQlNTeG5Ra0ZCWjBJc1NVRkJTU3hKUVVGSkxFVkJRVVU3UVVGRE5VSXNXVUZCUVN4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOWUxGTkJRVUU3VVVGRlJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVFc1JVRkJRU3hIUVVGQkxHZENRVUZuUWl4TFFVRm9RaXhKUVVGQkxFbEJRVUVzWjBKQlFXZENMRXRCUVdoQ0xFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMR2RDUVVGblFpeERRVUZITEVOQlFVTXNRMEZCUXl4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGQkxFVkJRVUVzUjBGQlFTeG5Ra0ZCWjBJc1MwRkJhRUlzU1VGQlFTeEpRVUZCTEdkQ1FVRm5RaXhMUVVGb1FpeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3huUWtGQlowSXNRMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU0xUlN4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVUVzUlVGQlFTeEhRVUZCTEdkQ1FVRm5RaXhMUVVGb1FpeEpRVUZCTEVsQlFVRXNaMEpCUVdkQ0xFdEJRV2hDTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxHZENRVUZuUWl4RFFVRkhMRU5CUVVNc1EwRkJReXhOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZCTEVWQlFVRXNSMEZCUVN4blFrRkJaMElzUzBGQmFFSXNTVUZCUVN4SlFVRkJMR2RDUVVGblFpeExRVUZvUWl4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeG5Ra0ZCWjBJc1EwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVVXpSU3hSUVVGQkxFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVWMlF5eFBRVUZQT3p0QlFVVk1MRmxCUVVFc2NVSkJRWEZDTEVWQlFVVXNSVUZCUlN4TlFVRk5MRVZCUVVVc1MwRkJTeXhGUVVGRk8xTkJRM3BETEVOQlFVTTdTMEZEU0R0QlFVVkVPenM3UVVGSFJ6dEJRVU5MTEVsQlFVRXNiVUpCUVcxQ0xFTkJRVU1zYTBKQlFUaENMRVZCUVVFN08wRkJRM2hFTEZGQlFVRXNUVUZCVFN4aFFVRmhMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNhMEpCUVd0Q0xFTkJRVU1zVlVGQlZTeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkhMR2RDUVVGblFpeERRVUZETEUxQlFVa3NTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVRXNTMEZCU3l4RFFVRkRPMEZCUTJwR0xGRkJRVUVzVFVGQlRTeGhRVUZoTEVkQlFVY3NRMEZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hyUWtGQmEwSXNRMEZCUXl4bFFVRmxMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVWNzVTBGQlV5eERRVUZETEUxQlFVc3NRMEZCUXl4RFFVRkRPMUZCUlRWRkxFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVVm1MRkZCUVVFc1NVRkJTU3hoUVVGaExFVkJRVVU3UVVGRGFrSXNXVUZCUVN4TlFVRk5MRTlCUVU4c1IwRkJSeXhyUWtGQmEwSXNRMEZCUXl4WFFVRlhMRU5CUVVNN1dVRkZMME1zU1VGQlNTeFBRVUZQTEVsQlFVa3NTVUZCU1N4RlFVRkZPMEZCUTI1Q0xHZENRVUZCTEVsQlFVa3NZVUZCWVN4RlFVRkZPMjlDUVVOcVFpeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2REUVVGblF5eERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVVc1EwRkJRenRCUVVNNVJDeHBRa0ZCUVR0QlFVRk5MSEZDUVVGQk8yOUNRVU5NTEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJSU3hEUVVGRE8wRkJRM2hFTEdsQ1FVRkJPMEZCUTBZc1lVRkJRVHRCUVVOR0xGTkJRVUU3UVVGRlJDeFJRVUZCTEU5QlFVOHNUVUZCVFN4RFFVRkRPMHRCUTJZN1FVRkZSRHM3TzBGQlIwYzdRVUZEU3l4SlFVRkJMSFZDUVVGMVFpeERRVUZETEhOQ1FVRnZReXhGUVVGQk8wRkJRMnhGT3p0QlFVVkhPMEZCUTBnc1VVRkJRU3hOUVVGTkxIVkNRVUYxUWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGVkxFTkJRVU03UVVGRmJFUTdPMEZCUlVjN1FVRkRTQ3hSUVVGQkxFMUJRVTBzTmtKQlFUWkNMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRVlVzUTBGQlF6czdRVUZIZUVRc1VVRkJRU3h6UWtGQmMwSXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhyUWtGQmEwSXNTMEZCU1RzN1FVRkRjRVFzV1VGQlFTeE5RVUZOTEdGQlFXRXNSMEZCUnl4RFFVRkJMRVZCUVVFc1IwRkJRU3hEUVVGQkxFVkJRVUVzUjBGQlFTeHJRa0ZCYTBJc1EwRkJReXhWUVVGVkxFMUJRVUVzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVY3NaMEpCUVdkQ0xFTkJRVU1zVFVGQlNTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlFTeExRVUZMTEVOQlFVTTdRVUZEYWtZc1dVRkJRU3hOUVVGTkxHRkJRV0VzUjBGQlJ5eERRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMR3RDUVVGclFpeERRVUZETEdWQlFXVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXhUUVVGVExFTkJRVU1zVFVGQlN5eERRVUZETEVOQlFVTTdRVUZGTlVVc1dVRkJRU3hKUVVGSkxHRkJRV0VzUlVGQlJUdEJRVU5xUWl4blFrRkJRU3hOUVVGTkxFOUJRVThzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU03WjBKQlJTOURMRWxCUVVrc1QwRkJUeXhKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU51UWl4dlFrRkJRU3hKUVVGSkxHRkJRV0VzUlVGQlJUdEJRVU5xUWl4M1FrRkJRU3cyUWtGQk5rSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03UVVGRE5VTXNjVUpCUVVFN1FVRkJUU3g1UWtGQlFUdEJRVU5NTEhkQ1FVRkJMSFZDUVVGMVFpeERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRCUVVOMFF5eHhRa0ZCUVR0QlFVTkdMR2xDUVVGQk8wRkJRMFlzWVVGQlFUdEJRVU5JTEZOQlFVTXNRMEZCUXl4RFFVRkRPenRCUVVkSUxGRkJRVUVzU1VGQlNTeDFRa0ZCZFVJc1EwRkJReXhKUVVGSkxFZEJRVWNzUlVGQlJTeEZRVUZGTzFsQlEzSkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRMVlzUTBGQlFTd3dRMEZCUVN4RlFVRTJReXgxUWtGQmRVSXNRMEZCUXl4SlFVRkpMRU5CUVhsSkxIVkpRVUZCTEVOQlFVRXNRMEZEYms0c1EwRkJRenRCUVVOSUxGTkJRVUU3UVVGRlJDeFJRVUZCTEVsQlFVa3NOa0pCUVRaQ0xFTkJRVU1zU1VGQlNTeEhRVUZITEVWQlFVVXNSVUZCUlR0WlFVTXpReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVU5XTEVOQlFVRXNNRU5CUVVFc1JVRkJOa01zTmtKQlFUWkNMRU5CUVVNc1NVRkJTU3hEUVVFclNTdzJTVUZCUVN4RFFVRkJMRU5CUXk5T0xFTkJRVU03UVVGRFNDeFRRVUZCT3p0QlFVZEVMRkZCUVVFc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eDFRa0ZCZFVJc1EwRkJRenRCUVVOb1F5eGhRVUZCTEVsQlFVa3NSVUZCUlR0QlFVTk9MR0ZCUVVFc1QwRkJUeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEVOQlFVTXNTMEZCU1R0WlFVTndRaXhOUVVGTkxHTkJRV01zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEhWQ1FVRjFRaXhEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU4yUml4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1JVRkJSU3hqUVVGakxFTkJRVU1zUTBGQlF6dEJRVU0zUkN4VFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWTUxGRkJRVUVzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl3MlFrRkJOa0lzUTBGQlF6dEJRVU4wUXl4aFFVRkJMRWxCUVVrc1JVRkJSVHRCUVVOT0xHRkJRVUVzVDBGQlR5eERRVUZETEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNc1MwRkJTVHRCUVVOd1FpeFpRVUZCTEUxQlFVMHNZMEZCWXl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEYmtRc1NVRkJTU3hEUVVGRExHZERRVUZuUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFVkJRVVVzWTBGQll5eERRVUZETEVOQlFVTTdRVUZEYmtVc1UwRkJReXhEUVVGRExFTkJRVU03UzBGRFRqdEJRVU5HT3pzN095SjlcbiIsIi8qIVxuICogQHBpeGl2L3RocmVlLXZybS1ub2RlLWNvbnN0cmFpbnQgdjIuMC42XG4gKiBOb2RlIGNvbnN0cmFpbnQgbW9kdWxlIGZvciBAcGl4aXYvdGhyZWUtdnJtXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwLTIwMjMgcGl4aXYgSW5jLlxuICogQHBpeGl2L3RocmVlLXZybS1ub2RlLWNvbnN0cmFpbnQgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgTUlUIExpY2Vuc2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpdi90aHJlZS12cm0vYmxvYi9yZWxlYXNlL0xJQ0VOU0VcbiAqL1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5jb25zdCBfdjNBJDMgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY2xhc3MgVlJNTm9kZUNvbnN0cmFpbnRIZWxwZXIgZXh0ZW5kcyBUSFJFRS5Hcm91cCB7XG4gICAgY29uc3RydWN0b3IoY29uc3RyYWludCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9hdHRyUG9zaXRpb24gPSBuZXcgVEhSRUUuQnVmZmVyQXR0cmlidXRlKG5ldyBGbG9hdDMyQXJyYXkoWzAsIDAsIDAsIDAsIDAsIDBdKSwgMyk7XG4gICAgICAgIHRoaXMuX2F0dHJQb3NpdGlvbi5zZXRVc2FnZShUSFJFRS5EeW5hbWljRHJhd1VzYWdlKTtcbiAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgVEhSRUUuQnVmZmVyR2VvbWV0cnkoKTtcbiAgICAgICAgZ2VvbWV0cnkuc2V0QXR0cmlidXRlKCdwb3NpdGlvbicsIHRoaXMuX2F0dHJQb3NpdGlvbik7XG4gICAgICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLkxpbmVCYXNpY01hdGVyaWFsKHtcbiAgICAgICAgICAgIGNvbG9yOiAweGZmMDBmZixcbiAgICAgICAgICAgIGRlcHRoVGVzdDogZmFsc2UsXG4gICAgICAgICAgICBkZXB0aFdyaXRlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2xpbmUgPSBuZXcgVEhSRUUuTGluZShnZW9tZXRyeSwgbWF0ZXJpYWwpO1xuICAgICAgICB0aGlzLmFkZCh0aGlzLl9saW5lKTtcbiAgICAgICAgdGhpcy5jb25zdHJhaW50ID0gY29uc3RyYWludDtcbiAgICB9XG4gICAgdXBkYXRlTWF0cml4V29ybGQoZm9yY2UpIHtcbiAgICAgICAgX3YzQSQzLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLmNvbnN0cmFpbnQuZGVzdGluYXRpb24ubWF0cml4V29ybGQpO1xuICAgICAgICB0aGlzLl9hdHRyUG9zaXRpb24uc2V0WFlaKDAsIF92M0EkMy54LCBfdjNBJDMueSwgX3YzQSQzLnopO1xuICAgICAgICBpZiAodGhpcy5jb25zdHJhaW50LnNvdXJjZSkge1xuICAgICAgICAgICAgX3YzQSQzLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLmNvbnN0cmFpbnQuc291cmNlLm1hdHJpeFdvcmxkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hdHRyUG9zaXRpb24uc2V0WFlaKDEsIF92M0EkMy54LCBfdjNBJDMueSwgX3YzQSQzLnopO1xuICAgICAgICB0aGlzLl9hdHRyUG9zaXRpb24ubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgICAgICBzdXBlci51cGRhdGVNYXRyaXhXb3JsZChmb3JjZSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBkZWNvbXBvc2VQb3NpdGlvbihtYXRyaXgsIHRhcmdldCkge1xuICAgIHJldHVybiB0YXJnZXQuc2V0KG1hdHJpeC5lbGVtZW50c1sxMl0sIG1hdHJpeC5lbGVtZW50c1sxM10sIG1hdHJpeC5lbGVtZW50c1sxNF0pO1xufVxuXG5jb25zdCBfdjNBJDIgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3YzQiQxID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmZ1bmN0aW9uIGRlY29tcG9zZVJvdGF0aW9uKG1hdHJpeCwgdGFyZ2V0KSB7XG4gICAgbWF0cml4LmRlY29tcG9zZShfdjNBJDIsIHRhcmdldCwgX3YzQiQxKTtcbiAgICByZXR1cm4gdGFyZ2V0O1xufVxuXG4vKipcbiAqIEEgY29tcGF0IGZ1bmN0aW9uIGZvciBgUXVhdGVybmlvbi5pbnZlcnQoKWAgLyBgUXVhdGVybmlvbi5pbnZlcnNlKClgLlxuICogYFF1YXRlcm5pb24uaW52ZXJ0KClgIGlzIGludHJvZHVjZWQgaW4gcjEyMyBhbmQgYFF1YXRlcm5pb24uaW52ZXJzZSgpYCBlbWl0cyBhIHdhcm5pbmcuXG4gKiBXZSBhcmUgZ29pbmcgdG8gdXNlIHRoaXMgY29tcGF0IGZvciBhIHdoaWxlLlxuICogQHBhcmFtIHRhcmdldCBBIHRhcmdldCBxdWF0ZXJuaW9uXG4gKi9cbmZ1bmN0aW9uIHF1YXRJbnZlcnRDb21wYXQodGFyZ2V0KSB7XG4gICAgaWYgKHRhcmdldC5pbnZlcnQpIHtcbiAgICAgICAgdGFyZ2V0LmludmVydCgpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGFyZ2V0LmludmVyc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3Mgb2YgVlJNIGNvbnN0cmFpbnQgY2xhc3Nlcy5cbiAqL1xuY2xhc3MgVlJNTm9kZUNvbnN0cmFpbnQge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbiBUaGUgZGVzdGluYXRpb24gb2JqZWN0XG4gICAgICogQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdFxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGRlc3RpbmF0aW9uLCBzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgdGhpcy53ZWlnaHQgPSAxLjA7XG4gICAgfVxufVxuXG5jb25zdCBfdjNBJDEgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3YzQiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfdjNDID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF9xdWF0QSQyID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9xdWF0QiQyID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9xdWF0QyA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4vKipcbiAqIEEgY29uc3RyYWludCB0aGF0IG1ha2VzIGl0IGxvb2sgYXQgYSBzb3VyY2Ugb2JqZWN0LlxuICpcbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3ZybS1jL3ZybS1zcGVjaWZpY2F0aW9uL3RyZWUvbWFzdGVyL3NwZWNpZmljYXRpb24vVlJNQ19ub2RlX2NvbnN0cmFpbnQtMS4wX2JldGEjcm9sbC1jb25zdHJhaW50XG4gKi9cbmNsYXNzIFZSTUFpbUNvbnN0cmFpbnQgZXh0ZW5kcyBWUk1Ob2RlQ29uc3RyYWludCB7XG4gICAgLyoqXG4gICAgICogVGhlIGFpbSBheGlzIG9mIHRoZSBjb25zdHJhaW50LlxuICAgICAqL1xuICAgIGdldCBhaW1BeGlzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWltQXhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhlIGFpbSBheGlzIG9mIHRoZSBjb25zdHJhaW50LlxuICAgICAqL1xuICAgIHNldCBhaW1BeGlzKGFpbUF4aXMpIHtcbiAgICAgICAgdGhpcy5fYWltQXhpcyA9IGFpbUF4aXM7XG4gICAgICAgIHRoaXMuX3YzQWltQXhpcy5zZXQoYWltQXhpcyA9PT0gJ1Bvc2l0aXZlWCcgPyAxLjAgOiBhaW1BeGlzID09PSAnTmVnYXRpdmVYJyA/IC0xLjAgOiAwLjAsIGFpbUF4aXMgPT09ICdQb3NpdGl2ZVknID8gMS4wIDogYWltQXhpcyA9PT0gJ05lZ2F0aXZlWScgPyAtMS4wIDogMC4wLCBhaW1BeGlzID09PSAnUG9zaXRpdmVaJyA/IDEuMCA6IGFpbUF4aXMgPT09ICdOZWdhdGl2ZVonID8gLTEuMCA6IDAuMCk7XG4gICAgfVxuICAgIGdldCBkZXBlbmRlbmNpZXMoKSB7XG4gICAgICAgIGNvbnN0IHNldCA9IG5ldyBTZXQoW3RoaXMuc291cmNlXSk7XG4gICAgICAgIGlmICh0aGlzLmRlc3RpbmF0aW9uLnBhcmVudCkge1xuICAgICAgICAgICAgc2V0LmFkZCh0aGlzLmRlc3RpbmF0aW9uLnBhcmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNldDtcbiAgICB9XG4gICAgY29uc3RydWN0b3IoZGVzdGluYXRpb24sIHNvdXJjZSkge1xuICAgICAgICBzdXBlcihkZXN0aW5hdGlvbiwgc291cmNlKTtcbiAgICAgICAgdGhpcy5fYWltQXhpcyA9ICdQb3NpdGl2ZVgnO1xuICAgICAgICB0aGlzLl92M0FpbUF4aXMgPSBuZXcgVEhSRUUuVmVjdG9yMygxLCAwLCAwKTtcbiAgICAgICAgdGhpcy5fZHN0UmVzdFF1YXQgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuICAgIH1cbiAgICBzZXRJbml0U3RhdGUoKSB7XG4gICAgICAgIHRoaXMuX2RzdFJlc3RRdWF0LmNvcHkodGhpcy5kZXN0aW5hdGlvbi5xdWF0ZXJuaW9uKTtcbiAgICB9XG4gICAgdXBkYXRlKCkge1xuICAgICAgICAvLyB1cGRhdGUgd29ybGQgbWF0cml4IG9mIGRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgbWFudWFsbHlcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi51cGRhdGVXb3JsZE1hdHJpeCh0cnVlLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc291cmNlLnVwZGF0ZVdvcmxkTWF0cml4KHRydWUsIGZhbHNlKTtcbiAgICAgICAgLy8gZ2V0IHdvcmxkIHF1YXRlcm5pb24gb2YgdGhlIHBhcmVudCBvZiB0aGUgZGVzdGluYXRpb25cbiAgICAgICAgY29uc3QgZHN0UGFyZW50V29ybGRRdWF0ID0gX3F1YXRBJDIuaWRlbnRpdHkoKTtcbiAgICAgICAgY29uc3QgaW52RHN0UGFyZW50V29ybGRRdWF0ID0gX3F1YXRCJDIuaWRlbnRpdHkoKTtcbiAgICAgICAgaWYgKHRoaXMuZGVzdGluYXRpb24ucGFyZW50KSB7XG4gICAgICAgICAgICBkZWNvbXBvc2VSb3RhdGlvbih0aGlzLmRlc3RpbmF0aW9uLnBhcmVudC5tYXRyaXhXb3JsZCwgZHN0UGFyZW50V29ybGRRdWF0KTtcbiAgICAgICAgICAgIHF1YXRJbnZlcnRDb21wYXQoaW52RHN0UGFyZW50V29ybGRRdWF0LmNvcHkoZHN0UGFyZW50V29ybGRRdWF0KSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2FsY3VsYXRlIGZyb20tdG8gdmVjdG9ycyBpbiB3b3JsZCBjb29yZFxuICAgICAgICBjb25zdCBhMCA9IF92M0EkMS5jb3B5KHRoaXMuX3YzQWltQXhpcykuYXBwbHlRdWF0ZXJuaW9uKHRoaXMuX2RzdFJlc3RRdWF0KS5hcHBseVF1YXRlcm5pb24oZHN0UGFyZW50V29ybGRRdWF0KTtcbiAgICAgICAgY29uc3QgYTEgPSBkZWNvbXBvc2VQb3NpdGlvbih0aGlzLnNvdXJjZS5tYXRyaXhXb3JsZCwgX3YzQilcbiAgICAgICAgICAgIC5zdWIoZGVjb21wb3NlUG9zaXRpb24odGhpcy5kZXN0aW5hdGlvbi5tYXRyaXhXb3JsZCwgX3YzQykpXG4gICAgICAgICAgICAubm9ybWFsaXplKCk7XG4gICAgICAgIC8vIGNyZWF0ZSBhIGZyb20tdG8gcXVhdGVybmlvbiwgY29udmVydCB0byBkZXN0aW5hdGlvbiBsb2NhbCBjb29yZCwgdGhlbiBtdWx0aXBseSByZXN0IHF1YXRlcm5pb25cbiAgICAgICAgY29uc3QgdGFyZ2V0UXVhdCA9IF9xdWF0Q1xuICAgICAgICAgICAgLnNldEZyb21Vbml0VmVjdG9ycyhhMCwgYTEpXG4gICAgICAgICAgICAucHJlbXVsdGlwbHkoaW52RHN0UGFyZW50V29ybGRRdWF0KVxuICAgICAgICAgICAgLm11bHRpcGx5KGRzdFBhcmVudFdvcmxkUXVhdClcbiAgICAgICAgICAgIC5tdWx0aXBseSh0aGlzLl9kc3RSZXN0UXVhdCk7XG4gICAgICAgIC8vIGJsZW5kIHdpdGggdGhlIHJlc3QgcXVhdGVybmlvbiB1c2luZyB3ZWlnaHRcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5xdWF0ZXJuaW9uLmNvcHkodGhpcy5fZHN0UmVzdFF1YXQpLnNsZXJwKHRhcmdldFF1YXQsIHRoaXMud2VpZ2h0KTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxuXG4vKipcbiAqIFRyYXZlcnNlIGFuY2VzdG9ycyBvZiBnaXZlbiBvYmplY3QgYW5kIGNhbGwgZ2l2ZW4gY2FsbGJhY2sgZnJvbSByb290IHNpZGUuXG4gKiBJdCB3aWxsIGluY2x1ZGUgdGhlIGdpdmVuIG9iamVjdCBpdHNlbGYuXG4gKlxuICogQHBhcmFtIG9iamVjdCBUaGUgb2JqZWN0IHlvdSB3YW50IHRvIHRyYXZlcnNlXG4gKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGwgYmFjayBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoIGFuY2VzdG9yc1xuICovXG5mdW5jdGlvbiB0cmF2ZXJzZUFuY2VzdG9yc0Zyb21Sb290KG9iamVjdCwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBhbmNlc3RvcnMgPSBbb2JqZWN0XTtcbiAgICBsZXQgaGVhZCA9IG9iamVjdC5wYXJlbnQ7XG4gICAgd2hpbGUgKGhlYWQgIT09IG51bGwpIHtcbiAgICAgICAgYW5jZXN0b3JzLnVuc2hpZnQoaGVhZCk7XG4gICAgICAgIGhlYWQgPSBoZWFkLnBhcmVudDtcbiAgICB9XG4gICAgYW5jZXN0b3JzLmZvckVhY2goKGFuY2VzdG9yKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKGFuY2VzdG9yKTtcbiAgICB9KTtcbn1cblxuY2xhc3MgVlJNTm9kZUNvbnN0cmFpbnRNYW5hZ2VyIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fY29uc3RyYWludHMgPSBuZXcgU2V0KCk7XG4gICAgICAgIHRoaXMuX29iamVjdENvbnN0cmFpbnRzTWFwID0gbmV3IE1hcCgpO1xuICAgIH1cbiAgICBnZXQgY29uc3RyYWludHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25zdHJhaW50cztcbiAgICB9XG4gICAgYWRkQ29uc3RyYWludChjb25zdHJhaW50KSB7XG4gICAgICAgIHRoaXMuX2NvbnN0cmFpbnRzLmFkZChjb25zdHJhaW50KTtcbiAgICAgICAgbGV0IG9iamVjdFNldCA9IHRoaXMuX29iamVjdENvbnN0cmFpbnRzTWFwLmdldChjb25zdHJhaW50LmRlc3RpbmF0aW9uKTtcbiAgICAgICAgaWYgKG9iamVjdFNldCA9PSBudWxsKSB7XG4gICAgICAgICAgICBvYmplY3RTZXQgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICB0aGlzLl9vYmplY3RDb25zdHJhaW50c01hcC5zZXQoY29uc3RyYWludC5kZXN0aW5hdGlvbiwgb2JqZWN0U2V0KTtcbiAgICAgICAgfVxuICAgICAgICBvYmplY3RTZXQuYWRkKGNvbnN0cmFpbnQpO1xuICAgIH1cbiAgICBkZWxldGVDb25zdHJhaW50KGNvbnN0cmFpbnQpIHtcbiAgICAgICAgdGhpcy5fY29uc3RyYWludHMuZGVsZXRlKGNvbnN0cmFpbnQpO1xuICAgICAgICBjb25zdCBvYmplY3RTZXQgPSB0aGlzLl9vYmplY3RDb25zdHJhaW50c01hcC5nZXQoY29uc3RyYWludC5kZXN0aW5hdGlvbik7XG4gICAgICAgIG9iamVjdFNldC5kZWxldGUoY29uc3RyYWludCk7XG4gICAgfVxuICAgIHNldEluaXRTdGF0ZSgpIHtcbiAgICAgICAgY29uc3QgY29uc3RyYWludHNUcmllZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgY29uc3QgY29uc3RyYWludHNEb25lID0gbmV3IFNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IGNvbnN0cmFpbnQgb2YgdGhpcy5fY29uc3RyYWludHMpIHtcbiAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NDb25zdHJhaW50KGNvbnN0cmFpbnQsIGNvbnN0cmFpbnRzVHJpZWQsIGNvbnN0cmFpbnRzRG9uZSwgKGNvbnN0cmFpbnQpID0+IGNvbnN0cmFpbnQuc2V0SW5pdFN0YXRlKCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHVwZGF0ZSgpIHtcbiAgICAgICAgY29uc3QgY29uc3RyYWludHNUcmllZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgY29uc3QgY29uc3RyYWludHNEb25lID0gbmV3IFNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IGNvbnN0cmFpbnQgb2YgdGhpcy5fY29uc3RyYWludHMpIHtcbiAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NDb25zdHJhaW50KGNvbnN0cmFpbnQsIGNvbnN0cmFpbnRzVHJpZWQsIGNvbnN0cmFpbnRzRG9uZSwgKGNvbnN0cmFpbnQpID0+IGNvbnN0cmFpbnQudXBkYXRlKCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBhIGNvbnN0cmFpbnQuXG4gICAgICogSWYgdGhlcmUgYXJlIG90aGVyIGNvbnN0cmFpbnRzIHRoYXQgYXJlIGRlcGVuZGFudCwgaXQgd2lsbCB0cnkgdG8gdXBkYXRlIHRoZW0gcmVjdXJzaXZlbHkuXG4gICAgICogSXQgbWlnaHQgdGhyb3cgYW4gZXJyb3IgaWYgdGhlcmUgYXJlIGNpcmN1bGFyIGRlcGVuZGVuY2llcy5cbiAgICAgKlxuICAgICAqIEludGVuZGVkIHRvIGJlIHVzZWQgaW4ge0BsaW5rIHVwZGF0ZX0gYW5kIHtAbGluayBfcHJvY2Vzc0NvbnN0cmFpbnR9IGl0c2VsZiByZWN1cnNpdmVseS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25zdHJhaW50IEEgY29uc3RyYWludCB5b3Ugd2FudCB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gY29uc3RyYWludHNUcmllZCBTZXQgb2YgY29uc3RyYWludHMgdGhhdCBhcmUgYWxyZWFkeSB0cmllZCB0byBiZSB1cGRhdGVkXG4gICAgICogQHBhcmFtIGNvbnN0cmFpbnRzRG9uZSBTZXQgb2YgY29uc3RyYWludHMgdGhhdCBhcmUgYWxyZWFkeSB1cCB0byBkYXRlXG4gICAgICovXG4gICAgX3Byb2Nlc3NDb25zdHJhaW50KGNvbnN0cmFpbnQsIGNvbnN0cmFpbnRzVHJpZWQsIGNvbnN0cmFpbnRzRG9uZSwgY2FsbGJhY2spIHtcbiAgICAgICAgaWYgKGNvbnN0cmFpbnRzRG9uZS5oYXMoY29uc3RyYWludCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uc3RyYWludHNUcmllZC5oYXMoY29uc3RyYWludCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVlJNTm9kZUNvbnN0cmFpbnRNYW5hZ2VyOiBDaXJjdWxhciBkZXBlbmRlbmN5IGRldGVjdGVkIHdoaWxlIHVwZGF0aW5nIGNvbnN0cmFpbnRzJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3RyYWludHNUcmllZC5hZGQoY29uc3RyYWludCk7XG4gICAgICAgIGNvbnN0IGRlcE9iamVjdHMgPSBjb25zdHJhaW50LmRlcGVuZGVuY2llcztcbiAgICAgICAgZm9yIChjb25zdCBkZXBPYmplY3Qgb2YgZGVwT2JqZWN0cykge1xuICAgICAgICAgICAgdHJhdmVyc2VBbmNlc3RvcnNGcm9tUm9vdChkZXBPYmplY3QsIChkZXBPYmplY3RBbmNlc3RvcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iamVjdFNldCA9IHRoaXMuX29iamVjdENvbnN0cmFpbnRzTWFwLmdldChkZXBPYmplY3RBbmNlc3Rvcik7XG4gICAgICAgICAgICAgICAgaWYgKG9iamVjdFNldCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGRlcENvbnN0cmFpbnQgb2Ygb2JqZWN0U2V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9wcm9jZXNzQ29uc3RyYWludChkZXBDb25zdHJhaW50LCBjb25zdHJhaW50c1RyaWVkLCBjb25zdHJhaW50c0RvbmUsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhbGxiYWNrKGNvbnN0cmFpbnQpO1xuICAgICAgICBjb25zdHJhaW50c0RvbmUuYWRkKGNvbnN0cmFpbnQpO1xuICAgIH1cbn1cblxuY29uc3QgX3F1YXRBJDEgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuY29uc3QgX3F1YXRCJDEgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuLyoqXG4gKiBBIGNvbnN0cmFpbnQgdGhhdCB0cmFuc2ZlcnMgYSByb3RhdGlvbiBhcm91bmQgb25lIGF4aXMgb2YgYSBzb3VyY2UuXG4gKlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdnJtLWMvdnJtLXNwZWNpZmljYXRpb24vdHJlZS9tYXN0ZXIvc3BlY2lmaWNhdGlvbi9WUk1DX25vZGVfY29uc3RyYWludC0xLjBfYmV0YSNyb2xsLWNvbnN0cmFpbnRcbiAqL1xuY2xhc3MgVlJNUm90YXRpb25Db25zdHJhaW50IGV4dGVuZHMgVlJNTm9kZUNvbnN0cmFpbnQge1xuICAgIGdldCBkZXBlbmRlbmNpZXMoKSB7XG4gICAgICAgIHJldHVybiBuZXcgU2V0KFt0aGlzLnNvdXJjZV0pO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihkZXN0aW5hdGlvbiwgc291cmNlKSB7XG4gICAgICAgIHN1cGVyKGRlc3RpbmF0aW9uLCBzb3VyY2UpO1xuICAgICAgICB0aGlzLl9kc3RSZXN0UXVhdCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4gICAgICAgIHRoaXMuX2ludlNyY1Jlc3RRdWF0ID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICB9XG4gICAgc2V0SW5pdFN0YXRlKCkge1xuICAgICAgICB0aGlzLl9kc3RSZXN0UXVhdC5jb3B5KHRoaXMuZGVzdGluYXRpb24ucXVhdGVybmlvbik7XG4gICAgICAgIHF1YXRJbnZlcnRDb21wYXQodGhpcy5faW52U3JjUmVzdFF1YXQuY29weSh0aGlzLnNvdXJjZS5xdWF0ZXJuaW9uKSk7XG4gICAgfVxuICAgIHVwZGF0ZSgpIHtcbiAgICAgICAgLy8gY2FsY3VsYXRlIHRoZSBkZWx0YSByb3RhdGlvbiBmcm9tIHRoZSByZXN0IGFib3V0IHRoZSBzb3VyY2VcbiAgICAgICAgY29uc3Qgc3JjRGVsdGFRdWF0ID0gX3F1YXRBJDEuY29weSh0aGlzLl9pbnZTcmNSZXN0UXVhdCkubXVsdGlwbHkodGhpcy5zb3VyY2UucXVhdGVybmlvbik7XG4gICAgICAgIC8vIG11bHRpcGx5IHRoZSBkZWx0YSB0byB0aGUgcmVzdCBvZiB0aGUgZGVzdGluYXRpb25cbiAgICAgICAgY29uc3QgdGFyZ2V0UXVhdCA9IF9xdWF0QiQxLmNvcHkodGhpcy5fZHN0UmVzdFF1YXQpLm11bHRpcGx5KHNyY0RlbHRhUXVhdCk7XG4gICAgICAgIC8vIGJsZW5kIHdpdGggdGhlIHJlc3QgcXVhdGVybmlvbiB1c2luZyB3ZWlnaHRcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbi5xdWF0ZXJuaW9uLmNvcHkodGhpcy5fZHN0UmVzdFF1YXQpLnNsZXJwKHRhcmdldFF1YXQsIHRoaXMud2VpZ2h0KTtcbiAgICB9XG59XG5cbmNvbnN0IF92M0EgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3F1YXRBID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IF9xdWF0QiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG4vKipcbiAqIEEgY29uc3RyYWludCB0aGF0IHRyYW5zZmVycyBhIHJvdGF0aW9uIGFyb3VuZCBvbmUgYXhpcyBvZiBhIHNvdXJjZS5cbiAqXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS92cm0tYy92cm0tc3BlY2lmaWNhdGlvbi90cmVlL21hc3Rlci9zcGVjaWZpY2F0aW9uL1ZSTUNfbm9kZV9jb25zdHJhaW50LTEuMF9iZXRhI3JvbGwtY29uc3RyYWludFxuICovXG5jbGFzcyBWUk1Sb2xsQ29uc3RyYWludCBleHRlbmRzIFZSTU5vZGVDb25zdHJhaW50IHtcbiAgICAvKipcbiAgICAgKiBUaGUgcm9sbCBheGlzIG9mIHRoZSBjb25zdHJhaW50LlxuICAgICAqL1xuICAgIGdldCByb2xsQXhpcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JvbGxBeGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgcm9sbCBheGlzIG9mIHRoZSBjb25zdHJhaW50LlxuICAgICAqL1xuICAgIHNldCByb2xsQXhpcyhyb2xsQXhpcykge1xuICAgICAgICB0aGlzLl9yb2xsQXhpcyA9IHJvbGxBeGlzO1xuICAgICAgICB0aGlzLl92M1JvbGxBeGlzLnNldChyb2xsQXhpcyA9PT0gJ1gnID8gMS4wIDogMC4wLCByb2xsQXhpcyA9PT0gJ1knID8gMS4wIDogMC4wLCByb2xsQXhpcyA9PT0gJ1onID8gMS4wIDogMC4wKTtcbiAgICB9XG4gICAgZ2V0IGRlcGVuZGVuY2llcygpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTZXQoW3RoaXMuc291cmNlXSk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKGRlc3RpbmF0aW9uLCBzb3VyY2UpIHtcbiAgICAgICAgc3VwZXIoZGVzdGluYXRpb24sIHNvdXJjZSk7XG4gICAgICAgIHRoaXMuX3JvbGxBeGlzID0gJ1gnO1xuICAgICAgICB0aGlzLl92M1JvbGxBeGlzID0gbmV3IFRIUkVFLlZlY3RvcjMoMSwgMCwgMCk7XG4gICAgICAgIHRoaXMuX2RzdFJlc3RRdWF0ID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICAgICAgdGhpcy5faW52RHN0UmVzdFF1YXQgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuICAgICAgICB0aGlzLl9pbnZTcmNSZXN0UXVhdE11bERzdFJlc3RRdWF0ID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICB9XG4gICAgc2V0SW5pdFN0YXRlKCkge1xuICAgICAgICB0aGlzLl9kc3RSZXN0UXVhdC5jb3B5KHRoaXMuZGVzdGluYXRpb24ucXVhdGVybmlvbik7XG4gICAgICAgIHF1YXRJbnZlcnRDb21wYXQodGhpcy5faW52RHN0UmVzdFF1YXQuY29weSh0aGlzLl9kc3RSZXN0UXVhdCkpO1xuICAgICAgICBxdWF0SW52ZXJ0Q29tcGF0KHRoaXMuX2ludlNyY1Jlc3RRdWF0TXVsRHN0UmVzdFF1YXQuY29weSh0aGlzLnNvdXJjZS5xdWF0ZXJuaW9uKSkubXVsdGlwbHkodGhpcy5fZHN0UmVzdFF1YXQpO1xuICAgIH1cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIC8vIGNhbGN1bGF0ZSB0aGUgZGVsdGEgcm90YXRpb24gZnJvbSB0aGUgcmVzdCBhYm91dCB0aGUgc291cmNlLCB0aGVuIGNvbnZlcnQgdG8gdGhlIGRlc3RpbmF0aW9uIGxvY2FsIGNvb3JkXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXaGF0IHRoZSBxdWF0RGVsdGEgaXMgaW50ZW5kZWQgdG8gYmU6XG4gICAgICAgICAqXG4gICAgICAgICAqIGBgYHRzXG4gICAgICAgICAqIGNvbnN0IHF1YXRTcmNEZWx0YSA9IF9xdWF0QVxuICAgICAgICAgKiAgIC5jb3B5KCB0aGlzLl9pbnZTcmNSZXN0UXVhdCApXG4gICAgICAgICAqICAgLm11bHRpcGx5KCB0aGlzLnNvdXJjZS5xdWF0ZXJuaW9uICk7XG4gICAgICAgICAqIGNvbnN0IHF1YXRTcmNEZWx0YUluUGFyZW50ID0gX3F1YXRCXG4gICAgICAgICAqICAgLmNvcHkoIHRoaXMuX3NyY1Jlc3RRdWF0IClcbiAgICAgICAgICogICAubXVsdGlwbHkoIHF1YXRTcmNEZWx0YSApXG4gICAgICAgICAqICAgLm11bHRpcGx5KCB0aGlzLl9pbnZTcmNSZXN0UXVhdCApO1xuICAgICAgICAgKiBjb25zdCBxdWF0U3JjRGVsdGFJbkRzdCA9IF9xdWF0QVxuICAgICAgICAgKiAgIC5jb3B5KCB0aGlzLl9pbnZEc3RSZXN0UXVhdCApXG4gICAgICAgICAqICAgLm11bHRpcGx5KCBxdWF0U3JjRGVsdGFJblBhcmVudCApXG4gICAgICAgICAqICAgLm11bHRpcGx5KCB0aGlzLl9kc3RSZXN0UXVhdCApO1xuICAgICAgICAgKiBgYGBcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IHF1YXREZWx0YSA9IF9xdWF0QVxuICAgICAgICAgICAgLmNvcHkodGhpcy5faW52RHN0UmVzdFF1YXQpXG4gICAgICAgICAgICAubXVsdGlwbHkodGhpcy5zb3VyY2UucXVhdGVybmlvbilcbiAgICAgICAgICAgIC5tdWx0aXBseSh0aGlzLl9pbnZTcmNSZXN0UXVhdE11bERzdFJlc3RRdWF0KTtcbiAgICAgICAgLy8gY3JlYXRlIGEgZnJvbS10byBxdWF0ZXJuaW9uXG4gICAgICAgIGNvbnN0IG4xID0gX3YzQS5jb3B5KHRoaXMuX3YzUm9sbEF4aXMpLmFwcGx5UXVhdGVybmlvbihxdWF0RGVsdGEpO1xuICAgICAgICAvKipcbiAgICAgICAgICogV2hhdCB0aGUgcXVhdEZyb21UbyBpcyBpbnRlbmRlZCB0byBiZTpcbiAgICAgICAgICpcbiAgICAgICAgICogYGBgdHNcbiAgICAgICAgICogY29uc3QgcXVhdEZyb21UbyA9IF9xdWF0Qi5zZXRGcm9tVW5pdFZlY3RvcnMoIHRoaXMuX3YzUm9sbEF4aXMsIG4xICkuaW52ZXJzZSgpO1xuICAgICAgICAgKiBgYGBcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IHF1YXRGcm9tVG8gPSBfcXVhdEIuc2V0RnJvbVVuaXRWZWN0b3JzKG4xLCB0aGlzLl92M1JvbGxBeGlzKTtcbiAgICAgICAgLy8gcXVhdEZyb21UbyAqIHF1YXREZWx0YSA9PSByb2xsIGV4dHJhY3RlZCBmcm9tIHF1YXREZWx0YVxuICAgICAgICBjb25zdCB0YXJnZXRRdWF0ID0gcXVhdEZyb21Uby5wcmVtdWx0aXBseSh0aGlzLl9kc3RSZXN0UXVhdCkubXVsdGlwbHkocXVhdERlbHRhKTtcbiAgICAgICAgLy8gYmxlbmQgd2l0aCB0aGUgcmVzdCBxdWF0ZXJuaW9uIHVzaW5nIHdlaWdodFxuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uLnF1YXRlcm5pb24uY29weSh0aGlzLl9kc3RSZXN0UXVhdCkuc2xlcnAodGFyZ2V0UXVhdCwgdGhpcy53ZWlnaHQpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBQb3NzaWJsZSBzcGVjIHZlcnNpb25zIGl0IHJlY29nbml6ZXMuXG4gKi9cbmNvbnN0IFBPU1NJQkxFX1NQRUNfVkVSU0lPTlMgPSBuZXcgU2V0KFsnMS4wJywgJzEuMC1iZXRhJ10pO1xuY2xhc3MgVlJNTm9kZUNvbnN0cmFpbnRMb2FkZXJQbHVnaW4ge1xuICAgIGdldCBuYW1lKCkge1xuICAgICAgICByZXR1cm4gVlJNTm9kZUNvbnN0cmFpbnRMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUU7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcnNlciwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICAgICAgdGhpcy5oZWxwZXJSb290ID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmhlbHBlclJvb3Q7XG4gICAgfVxuICAgIGFmdGVyUm9vdChnbHRmKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBnbHRmLnVzZXJEYXRhLnZybU5vZGVDb25zdHJhaW50TWFuYWdlciA9IHlpZWxkIHRoaXMuX2ltcG9ydChnbHRmKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEltcG9ydCBjb25zdHJhaW50cyBmcm9tIGEgR0xURiBhbmQgcmV0dXJucyBhIHtAbGluayBWUk1Ob2RlQ29uc3RyYWludE1hbmFnZXJ9LlxuICAgICAqIEl0IG1pZ2h0IHJldHVybiBgbnVsbGAgaW5zdGVhZCB3aGVuIGl0IGRvZXMgbm90IG5lZWQgdG8gYmUgY3JlYXRlZCBvciBzb21ldGhpbmcgZ28gd3JvbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ2x0ZiBBIHBhcnNlZCByZXN1bHQgb2YgR0xURiB0YWtlbiBmcm9tIEdMVEZMb2FkZXJcbiAgICAgKi9cbiAgICBfaW1wb3J0KGdsdGYpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHRoaXMucGFyc2VyLmpzb247XG4gICAgICAgICAgICAvLyBlYXJseSBhYm9ydCBpZiBpdCBkb2Vzbid0IHVzZSBjb25zdHJhaW50c1xuICAgICAgICAgICAgY29uc3QgaXNDb25zdHJhaW50c1VzZWQgPSAoKF9hID0ganNvbi5leHRlbnNpb25zVXNlZCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmluZGV4T2YoVlJNTm9kZUNvbnN0cmFpbnRMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUUpKSAhPT0gLTE7XG4gICAgICAgICAgICBpZiAoIWlzQ29uc3RyYWludHNVc2VkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtYW5hZ2VyID0gbmV3IFZSTU5vZGVDb25zdHJhaW50TWFuYWdlcigpO1xuICAgICAgICAgICAgY29uc3QgdGhyZWVOb2RlcyA9IHlpZWxkIHRoaXMucGFyc2VyLmdldERlcGVuZGVuY2llcygnbm9kZScpO1xuICAgICAgICAgICAgLy8gaW1wb3J0IGNvbnN0cmFpbnRzIGZvciBlYWNoIG5vZGVzXG4gICAgICAgICAgICB0aHJlZU5vZGVzLmZvckVhY2goKG5vZGUsIG5vZGVJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICBjb25zdCBzY2hlbWFOb2RlID0ganNvbi5ub2Rlc1tub2RlSW5kZXhdO1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZSBleHRlbnNpb24gdXNlcyB0aGUgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gKF9hID0gc2NoZW1hTm9kZSA9PT0gbnVsbCB8fCBzY2hlbWFOb2RlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzY2hlbWFOb2RlLmV4dGVuc2lvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVtWUk1Ob2RlQ29uc3RyYWludExvYWRlclBsdWdpbi5FWFRFTlNJT05fTkFNRV07XG4gICAgICAgICAgICAgICAgaWYgKGV4dGVuc2lvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BlY1ZlcnNpb24gPSBleHRlbnNpb24uc3BlY1ZlcnNpb247XG4gICAgICAgICAgICAgICAgaWYgKCFQT1NTSUJMRV9TUEVDX1ZFUlNJT05TLmhhcyhzcGVjVmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBWUk1Ob2RlQ29uc3RyYWludExvYWRlclBsdWdpbjogVW5rbm93biAke1ZSTU5vZGVDb25zdHJhaW50TG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FfSBzcGVjVmVyc2lvbiBcIiR7c3BlY1ZlcnNpb259XCJgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBjb25zdHJhaW50RGVmID0gZXh0ZW5zaW9uLmNvbnN0cmFpbnQ7XG4gICAgICAgICAgICAgICAgLy8gaW1wb3J0IGNvbnN0cmFpbnRzXG4gICAgICAgICAgICAgICAgaWYgKGNvbnN0cmFpbnREZWYucm9sbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnN0cmFpbnQgPSB0aGlzLl9pbXBvcnRSb2xsQ29uc3RyYWludChub2RlLCB0aHJlZU5vZGVzLCBjb25zdHJhaW50RGVmLnJvbGwpO1xuICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyLmFkZENvbnN0cmFpbnQoY29uc3RyYWludCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNvbnN0cmFpbnREZWYuYWltICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29uc3RyYWludCA9IHRoaXMuX2ltcG9ydEFpbUNvbnN0cmFpbnQobm9kZSwgdGhyZWVOb2RlcywgY29uc3RyYWludERlZi5haW0pO1xuICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyLmFkZENvbnN0cmFpbnQoY29uc3RyYWludCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNvbnN0cmFpbnREZWYucm90YXRpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25zdHJhaW50ID0gdGhpcy5faW1wb3J0Um90YXRpb25Db25zdHJhaW50KG5vZGUsIHRocmVlTm9kZXMsIGNvbnN0cmFpbnREZWYucm90YXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyLmFkZENvbnN0cmFpbnQoY29uc3RyYWludCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBpbml0IGNvbnN0cmFpbnRzXG4gICAgICAgICAgICBnbHRmLnNjZW5lLnVwZGF0ZU1hdHJpeFdvcmxkKCk7XG4gICAgICAgICAgICBtYW5hZ2VyLnNldEluaXRTdGF0ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIG1hbmFnZXI7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfaW1wb3J0Um9sbENvbnN0cmFpbnQoZGVzdGluYXRpb24sIG5vZGVzLCByb2xsQ29uc3RyYWludERlZikge1xuICAgICAgICBjb25zdCB7IHNvdXJjZTogc291cmNlSW5kZXgsIHJvbGxBeGlzLCB3ZWlnaHQgfSA9IHJvbGxDb25zdHJhaW50RGVmO1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBub2Rlc1tzb3VyY2VJbmRleF07XG4gICAgICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVlJNUm9sbENvbnN0cmFpbnQoZGVzdGluYXRpb24sIHNvdXJjZSk7XG4gICAgICAgIGlmIChyb2xsQXhpcyAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdHJhaW50LnJvbGxBeGlzID0gcm9sbEF4aXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHdlaWdodCAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdHJhaW50LndlaWdodCA9IHdlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5oZWxwZXJSb290KSB7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXIgPSBuZXcgVlJNTm9kZUNvbnN0cmFpbnRIZWxwZXIoY29uc3RyYWludCk7XG4gICAgICAgICAgICB0aGlzLmhlbHBlclJvb3QuYWRkKGhlbHBlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbnN0cmFpbnQ7XG4gICAgfVxuICAgIF9pbXBvcnRBaW1Db25zdHJhaW50KGRlc3RpbmF0aW9uLCBub2RlcywgYWltQ29uc3RyYWludERlZikge1xuICAgICAgICBjb25zdCB7IHNvdXJjZTogc291cmNlSW5kZXgsIGFpbUF4aXMsIHdlaWdodCB9ID0gYWltQ29uc3RyYWludERlZjtcbiAgICAgICAgY29uc3Qgc291cmNlID0gbm9kZXNbc291cmNlSW5kZXhdO1xuICAgICAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFZSTUFpbUNvbnN0cmFpbnQoZGVzdGluYXRpb24sIHNvdXJjZSk7XG4gICAgICAgIGlmIChhaW1BeGlzICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnQuYWltQXhpcyA9IGFpbUF4aXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHdlaWdodCAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdHJhaW50LndlaWdodCA9IHdlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5oZWxwZXJSb290KSB7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXIgPSBuZXcgVlJNTm9kZUNvbnN0cmFpbnRIZWxwZXIoY29uc3RyYWludCk7XG4gICAgICAgICAgICB0aGlzLmhlbHBlclJvb3QuYWRkKGhlbHBlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbnN0cmFpbnQ7XG4gICAgfVxuICAgIF9pbXBvcnRSb3RhdGlvbkNvbnN0cmFpbnQoZGVzdGluYXRpb24sIG5vZGVzLCByb3RhdGlvbkNvbnN0cmFpbnREZWYpIHtcbiAgICAgICAgY29uc3QgeyBzb3VyY2U6IHNvdXJjZUluZGV4LCB3ZWlnaHQgfSA9IHJvdGF0aW9uQ29uc3RyYWludERlZjtcbiAgICAgICAgY29uc3Qgc291cmNlID0gbm9kZXNbc291cmNlSW5kZXhdO1xuICAgICAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFZSTVJvdGF0aW9uQ29uc3RyYWludChkZXN0aW5hdGlvbiwgc291cmNlKTtcbiAgICAgICAgaWYgKHdlaWdodCAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdHJhaW50LndlaWdodCA9IHdlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5oZWxwZXJSb290KSB7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXIgPSBuZXcgVlJNTm9kZUNvbnN0cmFpbnRIZWxwZXIoY29uc3RyYWludCk7XG4gICAgICAgICAgICB0aGlzLmhlbHBlclJvb3QuYWRkKGhlbHBlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbnN0cmFpbnQ7XG4gICAgfVxufVxuVlJNTm9kZUNvbnN0cmFpbnRMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUUgPSAnVlJNQ19ub2RlX2NvbnN0cmFpbnQnO1xuXG5leHBvcnQgeyBWUk1BaW1Db25zdHJhaW50LCBWUk1Ob2RlQ29uc3RyYWludCwgVlJNTm9kZUNvbnN0cmFpbnRIZWxwZXIsIFZSTU5vZGVDb25zdHJhaW50TG9hZGVyUGx1Z2luLCBWUk1Ob2RlQ29uc3RyYWludE1hbmFnZXIsIFZSTVJvbGxDb25zdHJhaW50LCBWUk1Sb3RhdGlvbkNvbnN0cmFpbnQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEdoeVpXVXRkbkp0TFc1dlpHVXRZMjl1YzNSeVlXbHVkQzV0YjJSMWJHVXVhbk1pTENKemIzVnlZMlZ6SWpwYklpNHVMM055WXk5b1pXeHdaWEp6TDFaU1RVNXZaR1ZEYjI1emRISmhhVzUwU0dWc2NHVnlMblJ6SWl3aUxpNHZjM0pqTDNWMGFXeHpMMlJsWTI5dGNHOXpaVkJ2YzJsMGFXOXVMblJ6SWl3aUxpNHZjM0pqTDNWMGFXeHpMMlJsWTI5dGNHOXpaVkp2ZEdGMGFXOXVMblJ6SWl3aUxpNHZjM0pqTDNWMGFXeHpMM0YxWVhSSmJuWmxjblJEYjIxd1lYUXVkSE1pTENJdUxpOXpjbU12VmxKTlRtOWtaVU52Ym5OMGNtRnBiblF1ZEhNaUxDSXVMaTl6Y21NdlZsSk5RV2x0UTI5dWMzUnlZV2x1ZEM1MGN5SXNJaTR1THk0dUx5NHVMMjV2WkdWZmJXOWtkV3hsY3k5MGMyeHBZaTkwYzJ4cFlpNWxjell1YW5NaUxDSXVMaTl6Y21NdmRYUnBiSE12ZEhKaGRtVnljMlZCYm1ObGMzUnZjbk5HY205dFVtOXZkQzUwY3lJc0lpNHVMM055WXk5V1VrMU9iMlJsUTI5dWMzUnlZV2x1ZEUxaGJtRm5aWEl1ZEhNaUxDSXVMaTl6Y21NdlZsSk5VbTkwWVhScGIyNURiMjV6ZEhKaGFXNTBMblJ6SWl3aUxpNHZjM0pqTDFaU1RWSnZiR3hEYjI1emRISmhhVzUwTG5Seklpd2lMaTR2YzNKakwxWlNUVTV2WkdWRGIyNXpkSEpoYVc1MFRHOWhaR1Z5VUd4MVoybHVMblJ6SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0I3SUZaU1RVNXZaR1ZEYjI1emRISmhhVzUwSUgwZ1puSnZiU0FuTGk0dlZsSk5UbTlrWlVOdmJuTjBjbUZwYm5Rbk8xeHVYRzVqYjI1emRDQmZkak5CSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb0tUdGNibHh1Wlhod2IzSjBJR05zWVhOeklGWlNUVTV2WkdWRGIyNXpkSEpoYVc1MFNHVnNjR1Z5SUdWNGRHVnVaSE1nVkVoU1JVVXVSM0p2ZFhBZ2UxeHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2dZMjl1YzNSeVlXbHVkRG9nVmxKTlRtOWtaVU52Ym5OMGNtRnBiblE3WEc0Z0lIQnlhWFpoZEdVZ1gyeHBibVU2SUZSSVVrVkZMa3hwYm1VN1hHNGdJSEJ5YVhaaGRHVWdYMkYwZEhKUWIzTnBkR2x2YmpvZ1ZFaFNSVVV1UW5WbVptVnlRWFIwY21saWRYUmxPMXh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaGpiMjV6ZEhKaGFXNTBPaUJXVWsxT2IyUmxRMjl1YzNSeVlXbHVkQ2tnZTF4dUlDQWdJSE4xY0dWeUtDazdYRzVjYmlBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6YVhScGIyNGdQU0J1WlhjZ1ZFaFNSVVV1UW5WbVptVnlRWFIwY21saWRYUmxLRzVsZHlCR2JHOWhkRE15UVhKeVlYa29XekFzSURBc0lEQXNJREFzSURBc0lEQmRLU3dnTXlrN1hHNGdJQ0FnZEdocGN5NWZZWFIwY2xCdmMybDBhVzl1TG5ObGRGVnpZV2RsS0ZSSVVrVkZMa1I1Ym1GdGFXTkVjbUYzVlhOaFoyVXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ1oyVnZiV1YwY25rZ1BTQnVaWGNnVkVoU1JVVXVRblZtWm1WeVIyVnZiV1YwY25rb0tUdGNiaUFnSUNCblpXOXRaWFJ5ZVM1elpYUkJkSFJ5YVdKMWRHVW9KM0J2YzJsMGFXOXVKeXdnZEdocGN5NWZZWFIwY2xCdmMybDBhVzl1S1R0Y2JseHVJQ0FnSUdOdmJuTjBJRzFoZEdWeWFXRnNJRDBnYm1WM0lGUklVa1ZGTGt4cGJtVkNZWE5wWTAxaGRHVnlhV0ZzS0h0Y2JpQWdJQ0FnSUdOdmJHOXlPaUF3ZUdabU1EQm1aaXhjYmlBZ0lDQWdJR1JsY0hSb1ZHVnpkRG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQmtaWEIwYUZkeWFYUmxPaUJtWVd4elpTeGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lIUm9hWE11WDJ4cGJtVWdQU0J1WlhjZ1ZFaFNSVVV1VEdsdVpTaG5aVzl0WlhSeWVTd2diV0YwWlhKcFlXd3BPMXh1SUNBZ0lIUm9hWE11WVdSa0tIUm9hWE11WDJ4cGJtVXBPMXh1WEc0Z0lDQWdkR2hwY3k1amIyNXpkSEpoYVc1MElEMGdZMjl1YzNSeVlXbHVkRHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUIxY0dSaGRHVk5ZWFJ5YVhoWGIzSnNaQ2htYjNKalpUODZJR0p2YjJ4bFlXNHBPaUIyYjJsa0lIdGNiaUFnSUNCZmRqTkJMbk5sZEVaeWIyMU5ZWFJ5YVhoUWIzTnBkR2x2YmloMGFHbHpMbU52Ym5OMGNtRnBiblF1WkdWemRHbHVZWFJwYjI0dWJXRjBjbWw0VjI5eWJHUXBPMXh1SUNBZ0lIUm9hWE11WDJGMGRISlFiM05wZEdsdmJpNXpaWFJZV1Zvb01Dd2dYM1l6UVM1NExDQmZkak5CTG5rc0lGOTJNMEV1ZWlrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1amIyNXpkSEpoYVc1MExuTnZkWEpqWlNrZ2UxeHVJQ0FnSUNBZ1gzWXpRUzV6WlhSR2NtOXRUV0YwY21sNFVHOXphWFJwYjI0b2RHaHBjeTVqYjI1emRISmhhVzUwTG5OdmRYSmpaUzV0WVhSeWFYaFhiM0pzWkNrN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvYVhNdVgyRjBkSEpRYjNOcGRHbHZiaTV6WlhSWVdWb29NU3dnWDNZelFTNTRMQ0JmZGpOQkxua3NJRjkyTTBFdWVpazdYRzVjYmlBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6YVhScGIyNHVibVZsWkhOVmNHUmhkR1VnUFNCMGNuVmxPMXh1WEc0Z0lDQWdjM1Z3WlhJdWRYQmtZWFJsVFdGMGNtbDRWMjl5YkdRb1ptOXlZMlVwTzF4dUlDQjlYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCa1pXTnZiWEJ2YzJWUWIzTnBkR2x2Ymp4VUlHVjRkR1Z1WkhNZ1ZFaFNSVVV1Vm1WamRHOXlNejRvYldGMGNtbDRPaUJVU0ZKRlJTNU5ZWFJ5YVhnMExDQjBZWEpuWlhRNklGUXBPaUJVSUh0Y2JpQWdjbVYwZFhKdUlIUmhjbWRsZEM1elpYUW9iV0YwY21sNExtVnNaVzFsYm5Seld6RXlYU3dnYldGMGNtbDRMbVZzWlcxbGJuUnpXekV6WFN3Z2JXRjBjbWw0TG1Wc1pXMWxiblJ6V3pFMFhTazdYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1Y2JtTnZibk4wSUY5Mk0wRWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTzF4dVkyOXVjM1FnWDNZelFpQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCa1pXTnZiWEJ2YzJWU2IzUmhkR2x2Ymp4VUlHVjRkR1Z1WkhNZ1ZFaFNSVVV1VVhWaGRHVnlibWx2Ymo0b2JXRjBjbWw0T2lCVVNGSkZSUzVOWVhSeWFYZzBMQ0IwWVhKblpYUTZJRlFwT2lCVUlIdGNiaUFnYldGMGNtbDRMbVJsWTI5dGNHOXpaU2hmZGpOQkxDQjBZWEpuWlhRc0lGOTJNMElwTzF4dUlDQnlaWFIxY200Z2RHRnlaMlYwTzF4dWZWeHVJaXdpYVcxd2IzSjBJQ29nWVhNZ1ZFaFNSVVVnWm5KdmJTQW5kR2h5WldVbk8xeHVYRzR2S2lwY2JpQXFJRUVnWTI5dGNHRjBJR1oxYm1OMGFXOXVJR1p2Y2lCZ1VYVmhkR1Z5Ym1sdmJpNXBiblpsY25Rb0tXQWdMeUJnVVhWaGRHVnlibWx2Ymk1cGJuWmxjbk5sS0NsZ0xseHVJQ29nWUZGMVlYUmxjbTVwYjI0dWFXNTJaWEowS0NsZ0lHbHpJR2x1ZEhKdlpIVmpaV1FnYVc0Z2NqRXlNeUJoYm1RZ1lGRjFZWFJsY201cGIyNHVhVzUyWlhKelpTZ3BZQ0JsYldsMGN5QmhJSGRoY201cGJtY3VYRzRnS2lCWFpTQmhjbVVnWjI5cGJtY2dkRzhnZFhObElIUm9hWE1nWTI5dGNHRjBJR1p2Y2lCaElIZG9hV3hsTGx4dUlDb2dRSEJoY21GdElIUmhjbWRsZENCQklIUmhjbWRsZENCeGRXRjBaWEp1YVc5dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ4ZFdGMFNXNTJaWEowUTI5dGNHRjBQRlFnWlhoMFpXNWtjeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVQaWgwWVhKblpYUTZJRlFwT2lCVUlIdGNiaUFnYVdZZ0tDaDBZWEpuWlhRZ1lYTWdZVzU1S1M1cGJuWmxjblFwSUh0Y2JpQWdJQ0IwWVhKblpYUXVhVzUyWlhKMEtDazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdLSFJoY21kbGRDQmhjeUJoYm5rcExtbHVkbVZ5YzJVb0tUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBZWEpuWlhRN1hHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVjYmk4cUtseHVJQ29nUVNCaVlYTmxJR05zWVhOeklHOW1JRlpTVFNCamIyNXpkSEpoYVc1MElHTnNZWE56WlhNdVhHNGdLaTljYm1WNGNHOXlkQ0JoWW5OMGNtRmpkQ0JqYkdGemN5QldVazFPYjJSbFEyOXVjM1J5WVdsdWRDQjdYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdiMkpxWldOMElHSmxhVzVuSUdOdmJuTjBjbUZwYm1Wa0lHSjVJSFJvWlNCN1FHeHBibXNnYzI5MWNtTmxmUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJrWlhOMGFXNWhkR2x2YmpvZ1ZFaFNSVVV1VDJKcVpXTjBNMFE3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCdlltcGxZM1FnWTI5dWMzUnlZV2x1Y3lCMGFHVWdlMEJzYVc1cklHUmxjM1JwYm1GMGFXOXVmUzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJ6YjNWeVkyVTZJRlJJVWtWRkxrOWlhbVZqZERORU8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdkMlZwWjJoMElHOW1JSFJvWlNCamIyNXpkSEpoYVc1MExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklIZGxhV2RvZERvZ2JuVnRZbVZ5TzF4dVhHNGdJSEIxWW14cFl5QmhZbk4wY21GamRDQm5aWFFnWkdWd1pXNWtaVzVqYVdWektDazZJRk5sZER4VVNGSkZSUzVQWW1wbFkzUXpSRDQ3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJ3WVhKaGJTQmtaWE4wYVc1aGRHbHZiaUJVYUdVZ1pHVnpkR2x1WVhScGIyNGdiMkpxWldOMFhHNGdJQ0FxSUVCd1lYSmhiU0J6YjNWeVkyVWdWR2hsSUhOdmRYSmpaU0J2WW1wbFkzUmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWhrWlhOMGFXNWhkR2x2YmpvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFzSUhOdmRYSmpaVG9nVkVoU1JVVXVUMkpxWldOME0wUXBJSHRjYmlBZ0lDQjBhR2x6TG1SbGMzUnBibUYwYVc5dUlEMGdaR1Z6ZEdsdVlYUnBiMjQ3WEc0Z0lDQWdkR2hwY3k1emIzVnlZMlVnUFNCemIzVnlZMlU3WEc1Y2JpQWdJQ0IwYUdsekxuZGxhV2RvZENBOUlERXVNRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVFpYUWdhVzVwZEdsaGJDQnpkR0YwWlNCdlppQjBhR1VnWTI5dWMzUnlZV2x1ZEM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCaFluTjBjbUZqZENCelpYUkpibWwwVTNSaGRHVW9LVG9nZG05cFpEdGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZYQmtZWFJsSUdGdVpDQmhjSEJzZVNCMGFHVWdZMjl1YzNSeVlXbHVkQzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJoWW5OMGNtRmpkQ0IxY0dSaGRHVW9LVG9nZG05cFpEdGNibjFjYmlJc0ltbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0I3SUdSbFkyOXRjRzl6WlZCdmMybDBhVzl1SUgwZ1puSnZiU0FuTGk5MWRHbHNjeTlrWldOdmJYQnZjMlZRYjNOcGRHbHZiaWM3WEc1cGJYQnZjblFnZXlCa1pXTnZiWEJ2YzJWU2IzUmhkR2x2YmlCOUlHWnliMjBnSnk0dmRYUnBiSE12WkdWamIyMXdiM05sVW05MFlYUnBiMjRuTzF4dWFXMXdiM0owSUhzZ2NYVmhkRWx1ZG1WeWRFTnZiWEJoZENCOUlHWnliMjBnSnk0dmRYUnBiSE12Y1hWaGRFbHVkbVZ5ZEVOdmJYQmhkQ2M3WEc1cGJYQnZjblFnZXlCV1VrMU9iMlJsUTI5dWMzUnlZV2x1ZENCOUlHWnliMjBnSnk0dlZsSk5UbTlrWlVOdmJuTjBjbUZwYm5Rbk8xeHVYRzVqYjI1emRDQmZkak5CSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb0tUdGNibU52Ym5OMElGOTJNMElnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVZMjl1YzNRZ1gzWXpReUE5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNWpiMjV6ZENCZmNYVmhkRUVnUFNCdVpYY2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpZ3BPMXh1WTI5dWMzUWdYM0YxWVhSQ0lEMGdibVYzSUZSSVVrVkZMbEYxWVhSbGNtNXBiMjRvS1R0Y2JtTnZibk4wSUY5eGRXRjBReUE5SUc1bGR5QlVTRkpGUlM1UmRXRjBaWEp1YVc5dUtDazdYRzVjYmk4cUtseHVJQ29nUVNCamIyNXpkSEpoYVc1MElIUm9ZWFFnYldGclpYTWdhWFFnYkc5dmF5QmhkQ0JoSUhOdmRYSmpaU0J2WW1wbFkzUXVYRzRnS2x4dUlDb2dVMlZsT2lCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmRuSnRMV012ZG5KdExYTndaV05wWm1sallYUnBiMjR2ZEhKbFpTOXRZWE4wWlhJdmMzQmxZMmxtYVdOaGRHbHZiaTlXVWsxRFgyNXZaR1ZmWTI5dWMzUnlZV2x1ZEMweExqQmZZbVYwWVNOeWIyeHNMV052Ym5OMGNtRnBiblJjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUZaU1RVRnBiVU52Ym5OMGNtRnBiblFnWlhoMFpXNWtjeUJXVWsxT2IyUmxRMjl1YzNSeVlXbHVkQ0I3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnWVdsdElHRjRhWE1nYjJZZ2RHaGxJR052Ym5OMGNtRnBiblF1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWjJWMElHRnBiVUY0YVhNb0tUb2dKMUJ2YzJsMGFYWmxXQ2NnZkNBblRtVm5ZWFJwZG1WWUp5QjhJQ2RRYjNOcGRHbDJaVmtuSUh3Z0owNWxaMkYwYVhabFdTY2dmQ0FuVUc5emFYUnBkbVZhSnlCOElDZE9aV2RoZEdsMlpWb25JSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWVdsdFFYaHBjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdZV2x0SUdGNGFYTWdiMllnZEdobElHTnZibk4wY21GcGJuUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjMlYwSUdGcGJVRjRhWE1vWVdsdFFYaHBjem9nSjFCdmMybDBhWFpsV0NjZ2ZDQW5UbVZuWVhScGRtVllKeUI4SUNkUWIzTnBkR2wyWlZrbklId2dKMDVsWjJGMGFYWmxXU2NnZkNBblVHOXphWFJwZG1WYUp5QjhJQ2RPWldkaGRHbDJaVm9uS1NCN1hHNGdJQ0FnZEdocGN5NWZZV2x0UVhocGN5QTlJR0ZwYlVGNGFYTTdYRzRnSUNBZ2RHaHBjeTVmZGpOQmFXMUJlR2x6TG5ObGRDaGNiaUFnSUNBZ0lHRnBiVUY0YVhNZ1BUMDlJQ2RRYjNOcGRHbDJaVmduSUQ4Z01TNHdJRG9nWVdsdFFYaHBjeUE5UFQwZ0owNWxaMkYwYVhabFdDY2dQeUF0TVM0d0lEb2dNQzR3TEZ4dUlDQWdJQ0FnWVdsdFFYaHBjeUE5UFQwZ0oxQnZjMmwwYVhabFdTY2dQeUF4TGpBZ09pQmhhVzFCZUdseklEMDlQU0FuVG1WbllYUnBkbVZaSnlBL0lDMHhMakFnT2lBd0xqQXNYRzRnSUNBZ0lDQmhhVzFCZUdseklEMDlQU0FuVUc5emFYUnBkbVZhSnlBL0lERXVNQ0E2SUdGcGJVRjRhWE1nUFQwOUlDZE9aV2RoZEdsMlpWb25JRDhnTFRFdU1DQTZJREF1TUN4Y2JpQWdJQ0FwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0JoYVcwZ1lYaHBjeUJ2WmlCMGFHVWdZMjl1YzNSeVlXbHVkQzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDJGcGJVRjRhWE02SUNkUWIzTnBkR2wyWlZnbklId2dKMDVsWjJGMGFYWmxXQ2NnZkNBblVHOXphWFJwZG1WWkp5QjhJQ2RPWldkaGRHbDJaVmtuSUh3Z0oxQnZjMmwwYVhabFdpY2dmQ0FuVG1WbllYUnBkbVZhSnp0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElIdEFiR2x1YXlCZllXbHRRWGhwYzMwZ1luVjBJR2x1SUdGdUlHRmpkSFZoYkNCV1pXTjBiM0l6SUdadmNtMHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjkyTTBGcGJVRjRhWE02SUZSSVVrVkZMbFpsWTNSdmNqTTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J5WlhOMElIRjFZWFJsY201cGIyNGdiMllnZEdobElIdEFiR2x1YXlCa1pYTjBhVzVoZEdsdmJuMHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjlrYzNSU1pYTjBVWFZoZERvZ1ZFaFNSVVV1VVhWaGRHVnlibWx2Ymp0Y2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUdSbGNHVnVaR1Z1WTJsbGN5Z3BPaUJUWlhROFZFaFNSVVV1VDJKcVpXTjBNMFE4VkVoU1JVVXVSWFpsYm5RK1BpQjdYRzRnSUNBZ1kyOXVjM1FnYzJWMElEMGdibVYzSUZObGREeFVTRkpGUlM1UFltcGxZM1F6UkQ0b1czUm9hWE11YzI5MWNtTmxYU2s3WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVrWlhOMGFXNWhkR2x2Ymk1d1lYSmxiblFwSUh0Y2JpQWdJQ0FnSUhObGRDNWhaR1FvZEdocGN5NWtaWE4wYVc1aGRHbHZiaTV3WVhKbGJuUXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCelpYUTdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvWkdWemRHbHVZWFJwYjI0NklGUklVa1ZGTGs5aWFtVmpkRE5FTENCemIzVnlZMlU2SUZSSVVrVkZMazlpYW1WamRETkVLU0I3WEc0Z0lDQWdjM1Z3WlhJb1pHVnpkR2x1WVhScGIyNHNJSE52ZFhKalpTazdYRzVjYmlBZ0lDQjBhR2x6TGw5aGFXMUJlR2x6SUQwZ0oxQnZjMmwwYVhabFdDYzdYRzRnSUNBZ2RHaHBjeTVmZGpOQmFXMUJlR2x6SUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb01Td2dNQ3dnTUNrN1hHNWNiaUFnSUNCMGFHbHpMbDlrYzNSU1pYTjBVWFZoZENBOUlHNWxkeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLQ2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nYzJWMFNXNXBkRk4wWVhSbEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVYMlJ6ZEZKbGMzUlJkV0YwTG1OdmNIa29kR2hwY3k1a1pYTjBhVzVoZEdsdmJpNXhkV0YwWlhKdWFXOXVLVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUIxY0dSaGRHVW9LVG9nZG05cFpDQjdYRzRnSUNBZ0x5OGdkWEJrWVhSbElIZHZjbXhrSUcxaGRISnBlQ0J2WmlCa1pYTjBhVzVoZEdsdmJpQmhibVFnYzI5MWNtTmxJRzFoYm5WaGJHeDVYRzRnSUNBZ2RHaHBjeTVrWlhOMGFXNWhkR2x2Ymk1MWNHUmhkR1ZYYjNKc1pFMWhkSEpwZUNoMGNuVmxMQ0JtWVd4elpTazdYRzRnSUNBZ2RHaHBjeTV6YjNWeVkyVXVkWEJrWVhSbFYyOXliR1JOWVhSeWFYZ29kSEoxWlN3Z1ptRnNjMlVwTzF4dVhHNGdJQ0FnTHk4Z1oyVjBJSGR2Y214a0lIRjFZWFJsY201cGIyNGdiMllnZEdobElIQmhjbVZ1ZENCdlppQjBhR1VnWkdWemRHbHVZWFJwYjI1Y2JpQWdJQ0JqYjI1emRDQmtjM1JRWVhKbGJuUlhiM0pzWkZGMVlYUWdQU0JmY1hWaGRFRXVhV1JsYm5ScGRIa29LVHRjYmlBZ0lDQmpiMjV6ZENCcGJuWkVjM1JRWVhKbGJuUlhiM0pzWkZGMVlYUWdQU0JmY1hWaGRFSXVhV1JsYm5ScGRIa29LVHRjYmlBZ0lDQnBaaUFvZEdocGN5NWtaWE4wYVc1aGRHbHZiaTV3WVhKbGJuUXBJSHRjYmlBZ0lDQWdJR1JsWTI5dGNHOXpaVkp2ZEdGMGFXOXVLSFJvYVhNdVpHVnpkR2x1WVhScGIyNHVjR0Z5Wlc1MExtMWhkSEpwZUZkdmNteGtMQ0JrYzNSUVlYSmxiblJYYjNKc1pGRjFZWFFwTzF4dUlDQWdJQ0FnY1hWaGRFbHVkbVZ5ZEVOdmJYQmhkQ2hwYm5aRWMzUlFZWEpsYm5SWGIzSnNaRkYxWVhRdVkyOXdlU2hrYzNSUVlYSmxiblJYYjNKc1pGRjFZWFFwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCallXeGpkV3hoZEdVZ1puSnZiUzEwYnlCMlpXTjBiM0p6SUdsdUlIZHZjbXhrSUdOdmIzSmtYRzRnSUNBZ1kyOXVjM1FnWVRBZ1BTQmZkak5CTG1OdmNIa29kR2hwY3k1ZmRqTkJhVzFCZUdsektTNWhjSEJzZVZGMVlYUmxjbTVwYjI0b2RHaHBjeTVmWkhOMFVtVnpkRkYxWVhRcExtRndjR3g1VVhWaGRHVnlibWx2Ymloa2MzUlFZWEpsYm5SWGIzSnNaRkYxWVhRcE8xeHVJQ0FnSUdOdmJuTjBJR0V4SUQwZ1pHVmpiMjF3YjNObFVHOXphWFJwYjI0b2RHaHBjeTV6YjNWeVkyVXViV0YwY21sNFYyOXliR1FzSUY5Mk0wSXBYRzRnSUNBZ0lDQXVjM1ZpS0dSbFkyOXRjRzl6WlZCdmMybDBhVzl1S0hSb2FYTXVaR1Z6ZEdsdVlYUnBiMjR1YldGMGNtbDRWMjl5YkdRc0lGOTJNME1wS1Z4dUlDQWdJQ0FnTG01dmNtMWhiR2w2WlNncE8xeHVYRzRnSUNBZ0x5OGdZM0psWVhSbElHRWdabkp2YlMxMGJ5QnhkV0YwWlhKdWFXOXVMQ0JqYjI1MlpYSjBJSFJ2SUdSbGMzUnBibUYwYVc5dUlHeHZZMkZzSUdOdmIzSmtMQ0IwYUdWdUlHMTFiSFJwY0d4NUlISmxjM1FnY1hWaGRHVnlibWx2Ymx4dUlDQWdJR052Ym5OMElIUmhjbWRsZEZGMVlYUWdQU0JmY1hWaGRFTmNiaUFnSUNBZ0lDNXpaWFJHY205dFZXNXBkRlpsWTNSdmNuTW9ZVEFzSUdFeEtWeHVJQ0FnSUNBZ0xuQnlaVzExYkhScGNHeDVLR2x1ZGtSemRGQmhjbVZ1ZEZkdmNteGtVWFZoZENsY2JpQWdJQ0FnSUM1dGRXeDBhWEJzZVNoa2MzUlFZWEpsYm5SWGIzSnNaRkYxWVhRcFhHNGdJQ0FnSUNBdWJYVnNkR2x3Ykhrb2RHaHBjeTVmWkhOMFVtVnpkRkYxWVhRcE8xeHVYRzRnSUNBZ0x5OGdZbXhsYm1RZ2QybDBhQ0IwYUdVZ2NtVnpkQ0J4ZFdGMFpYSnVhVzl1SUhWemFXNW5JSGRsYVdkb2RGeHVJQ0FnSUhSb2FYTXVaR1Z6ZEdsdVlYUnBiMjR1Y1hWaGRHVnlibWx2Ymk1amIzQjVLSFJvYVhNdVgyUnpkRkpsYzNSUmRXRjBLUzV6YkdWeWNDaDBZWEpuWlhSUmRXRjBMQ0IwYUdsekxuZGxhV2RvZENrN1hHNGdJSDFjYm4xY2JpSXNJaThxS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpcGNjbHh1UTI5d2VYSnBaMmgwSUNoaktTQk5hV055YjNOdlpuUWdRMjl5Y0c5eVlYUnBiMjR1WEhKY2JseHlYRzVRWlhKdGFYTnphVzl1SUhSdklIVnpaU3dnWTI5d2VTd2diVzlrYVdaNUxDQmhibVF2YjNJZ1pHbHpkSEpwWW5WMFpTQjBhR2x6SUhOdlpuUjNZWEpsSUdadmNpQmhibmxjY2x4dWNIVnljRzl6WlNCM2FYUm9JRzl5SUhkcGRHaHZkWFFnWm1WbElHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xseHlYRzVjY2x4dVZFaEZJRk5QUmxSWFFWSkZJRWxUSUZCU1QxWkpSRVZFSUZ3aVFWTWdTVk5jSWlCQlRrUWdWRWhGSUVGVlZFaFBVaUJFU1ZORFRFRkpUVk1nUVV4TUlGZEJVbEpCVGxSSlJWTWdWMGxVU0Z4eVhHNVNSVWRCVWtRZ1ZFOGdWRWhKVXlCVFQwWlVWMEZTUlNCSlRrTk1WVVJKVGtjZ1FVeE1JRWxOVUV4SlJVUWdWMEZTVWtGT1ZFbEZVeUJQUmlCTlJWSkRTRUZPVkVGQ1NVeEpWRmxjY2x4dVFVNUVJRVpKVkU1RlUxTXVJRWxPSUU1UElFVldSVTVVSUZOSVFVeE1JRlJJUlNCQlZWUklUMUlnUWtVZ1RFbEJRa3hGSUVaUFVpQkJUbGtnVTFCRlEwbEJUQ3dnUkVsU1JVTlVMRnh5WEc1SlRrUkpVa1ZEVkN3Z1QxSWdRMDlPVTBWUlZVVk9WRWxCVENCRVFVMUJSMFZUSUU5U0lFRk9XU0JFUVUxQlIwVlRJRmRJUVZSVFQwVldSVklnVWtWVFZVeFVTVTVISUVaU1QwMWNjbHh1VEU5VFV5QlBSaUJWVTBVc0lFUkJWRUVnVDFJZ1VGSlBSa2xVVXl3Z1YwaEZWRWhGVWlCSlRpQkJUaUJCUTFSSlQwNGdUMFlnUTA5T1ZGSkJRMVFzSUU1RlIweEpSMFZPUTBVZ1QxSmNjbHh1VDFSSVJWSWdWRTlTVkVsUFZWTWdRVU5VU1U5T0xDQkJVa2xUU1U1SElFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZWVFJTQlBVbHh5WEc1UVJWSkdUMUpOUVU1RFJTQlBSaUJVU0VsVElGTlBSbFJYUVZKRkxseHlYRzRxS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpQXFMMXh5WEc0dktpQm5iRzlpWVd3Z1VtVm1iR1ZqZEN3Z1VISnZiV2x6WlNBcUwxeHlYRzVjY2x4dWRtRnlJR1Y0ZEdWdVpGTjBZWFJwWTNNZ1BTQm1kVzVqZEdsdmJpaGtMQ0JpS1NCN1hISmNiaUFnSUNCbGVIUmxibVJUZEdGMGFXTnpJRDBnVDJKcVpXTjBMbk5sZEZCeWIzUnZkSGx3WlU5bUlIeDhYSEpjYmlBZ0lDQWdJQ0FnS0hzZ1gxOXdjbTkwYjE5Zk9pQmJYU0I5SUdsdWMzUmhibU5sYjJZZ1FYSnlZWGtnSmlZZ1puVnVZM1JwYjI0Z0tHUXNJR0lwSUhzZ1pDNWZYM0J5YjNSdlgxOGdQU0JpT3lCOUtTQjhmRnh5WEc0Z0lDQWdJQ0FnSUdaMWJtTjBhVzl1SUNoa0xDQmlLU0I3SUdadmNpQW9kbUZ5SUhBZ2FXNGdZaWtnYVdZZ0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaGlMQ0J3S1NrZ1pGdHdYU0E5SUdKYmNGMDdJSDA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdaWGgwWlc1a1UzUmhkR2xqY3loa0xDQmlLVHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVjRkR1Z1WkhNb1pDd2dZaWtnZTF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCaUlDRTlQU0JjSW1aMWJtTjBhVzl1WENJZ0ppWWdZaUFoUFQwZ2JuVnNiQ2xjY2x4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lRMnhoYzNNZ1pYaDBaVzVrY3lCMllXeDFaU0JjSWlBcklGTjBjbWx1WnloaUtTQXJJRndpSUdseklHNXZkQ0JoSUdOdmJuTjBjblZqZEc5eUlHOXlJRzUxYkd4Y0lpazdYSEpjYmlBZ0lDQmxlSFJsYm1SVGRHRjBhV056S0dRc0lHSXBPMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdYMThvS1NCN0lIUm9hWE11WTI5dWMzUnlkV04wYjNJZ1BTQmtPeUI5WEhKY2JpQWdJQ0JrTG5CeWIzUnZkSGx3WlNBOUlHSWdQVDA5SUc1MWJHd2dQeUJQWW1wbFkzUXVZM0psWVhSbEtHSXBJRG9nS0Y5ZkxuQnliM1J2ZEhsd1pTQTlJR0l1Y0hKdmRHOTBlWEJsTENCdVpYY2dYMThvS1NrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQjJZWElnWDE5aGMzTnBaMjRnUFNCbWRXNWpkR2x2YmlncElIdGNjbHh1SUNBZ0lGOWZZWE56YVdkdUlEMGdUMkpxWldOMExtRnpjMmxuYmlCOGZDQm1kVzVqZEdsdmJpQmZYMkZ6YzJsbmJpaDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2N5d2dhU0E5SURFc0lHNGdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9PeUJwSUR3Z2Jqc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhNZ1BTQmhjbWQxYldWdWRITmJhVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z2N5a2dhV1lnS0U5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoekxDQndLU2tnZEZ0d1hTQTlJSE5iY0YwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJRjlmWVhOemFXZHVMbUZ3Y0d4NUtIUm9hWE1zSUdGeVozVnRaVzUwY3lrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM0psYzNRb2N5d2daU2tnZTF4eVhHNGdJQ0FnZG1GeUlIUWdQU0I3ZlR0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdjeWtnYVdZZ0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaHpMQ0J3S1NBbUppQmxMbWx1WkdWNFQyWW9jQ2tnUENBd0tWeHlYRzRnSUNBZ0lDQWdJSFJiY0YwZ1BTQnpXM0JkTzF4eVhHNGdJQ0FnYVdZZ0tITWdJVDBnYm5Wc2JDQW1KaUIwZVhCbGIyWWdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VTNsdFltOXNjeUE5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0J3SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N5aHpLVHNnYVNBOElIQXViR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHVXVhVzVrWlhoUFppaHdXMmxkS1NBOElEQWdKaVlnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzV3Y205d1pYSjBlVWx6Ulc1MWJXVnlZV0pzWlM1allXeHNLSE1zSUhCYmFWMHBLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEZ0d1cybGRYU0E5SUhOYmNGdHBYVjA3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2NtVjBkWEp1SUhRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMlJsWTI5eVlYUmxLR1JsWTI5eVlYUnZjbk1zSUhSaGNtZGxkQ3dnYTJWNUxDQmtaWE5qS1NCN1hISmNiaUFnSUNCMllYSWdZeUE5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dzSUhJZ1BTQmpJRHdnTXlBL0lIUmhjbWRsZENBNklHUmxjMk1nUFQwOUlHNTFiR3dnUHlCa1pYTmpJRDBnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNpaDBZWEpuWlhRc0lHdGxlU2tnT2lCa1pYTmpMQ0JrTzF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCU1pXWnNaV04wSUQwOVBTQmNJbTlpYW1WamRGd2lJQ1ltSUhSNWNHVnZaaUJTWldac1pXTjBMbVJsWTI5eVlYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBJSElnUFNCU1pXWnNaV04wTG1SbFkyOXlZWFJsS0dSbFkyOXlZWFJ2Y25Nc0lIUmhjbWRsZEN3Z2EyVjVMQ0JrWlhOaktUdGNjbHh1SUNBZ0lHVnNjMlVnWm05eUlDaDJZWElnYVNBOUlHUmxZMjl5WVhSdmNuTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElHbG1JQ2hrSUQwZ1pHVmpiM0poZEc5eWMxdHBYU2tnY2lBOUlDaGpJRHdnTXlBL0lHUW9jaWtnT2lCaklENGdNeUEvSUdRb2RHRnlaMlYwTENCclpYa3NJSElwSURvZ1pDaDBZWEpuWlhRc0lHdGxlU2twSUh4OElISTdYSEpjYmlBZ0lDQnlaWFIxY200Z1l5QStJRE1nSmlZZ2NpQW1KaUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHRnlaMlYwTENCclpYa3NJSElwTENCeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl3WVhKaGJTaHdZWEpoYlVsdVpHVjRMQ0JrWldOdmNtRjBiM0lwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvZEdGeVoyVjBMQ0JyWlhrcElIc2daR1ZqYjNKaGRHOXlLSFJoY21kbGRDd2dhMlY1TENCd1lYSmhiVWx1WkdWNEtUc2dmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5bGMwUmxZMjl5WVhSbEtHTjBiM0lzSUdSbGMyTnlhWEIwYjNKSmJpd2daR1ZqYjNKaGRHOXljeXdnWTI5dWRHVjRkRWx1TENCcGJtbDBhV0ZzYVhwbGNuTXNJR1Y0ZEhKaFNXNXBkR2xoYkdsNlpYSnpLU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJoWTJObGNIUW9aaWtnZXlCcFppQW9aaUFoUFQwZ2RtOXBaQ0F3SUNZbUlIUjVjR1Z2WmlCbUlDRTlQU0JjSW1aMWJtTjBhVzl1WENJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pHZFc1amRHbHZiaUJsZUhCbFkzUmxaRndpS1RzZ2NtVjBkWEp1SUdZN0lIMWNjbHh1SUNBZ0lIWmhjaUJyYVc1a0lEMGdZMjl1ZEdWNGRFbHVMbXRwYm1Rc0lHdGxlU0E5SUd0cGJtUWdQVDA5SUZ3aVoyVjBkR1Z5WENJZ1B5QmNJbWRsZEZ3aUlEb2dhMmx1WkNBOVBUMGdYQ0p6WlhSMFpYSmNJaUEvSUZ3aWMyVjBYQ0lnT2lCY0luWmhiSFZsWENJN1hISmNiaUFnSUNCMllYSWdkR0Z5WjJWMElEMGdJV1JsYzJOeWFYQjBiM0pKYmlBbUppQmpkRzl5SUQ4Z1kyOXVkR1Y0ZEVsdVcxd2ljM1JoZEdsalhDSmRJRDhnWTNSdmNpQTZJR04wYjNJdWNISnZkRzkwZVhCbElEb2diblZzYkR0Y2NseHVJQ0FnSUhaaGNpQmtaWE5qY21sd2RHOXlJRDBnWkdWelkzSnBjSFJ2Y2tsdUlIeDhJQ2gwWVhKblpYUWdQeUJQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUtIUmhjbWRsZEN3Z1kyOXVkR1Y0ZEVsdUxtNWhiV1VwSURvZ2UzMHBPMXh5WEc0Z0lDQWdkbUZ5SUY4c0lHUnZibVVnUFNCbVlXeHpaVHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCa1pXTnZjbUYwYjNKekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdOdmJuUmxlSFFnUFNCN2ZUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUdsdUlHTnZiblJsZUhSSmJpa2dZMjl1ZEdWNGRGdHdYU0E5SUhBZ1BUMDlJRndpWVdOalpYTnpYQ0lnUHlCN2ZTQTZJR052Ym5SbGVIUkpibHR3WFR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUdOdmJuUmxlSFJKYmk1aFkyTmxjM01wSUdOdmJuUmxlSFF1WVdOalpYTnpXM0JkSUQwZ1kyOXVkR1Y0ZEVsdUxtRmpZMlZ6YzF0d1hUdGNjbHh1SUNBZ0lDQWdJQ0JqYjI1MFpYaDBMbUZrWkVsdWFYUnBZV3hwZW1WeUlEMGdablZ1WTNScGIyNGdLR1lwSUhzZ2FXWWdLR1J2Ym1VcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEWVc1dWIzUWdZV1JrSUdsdWFYUnBZV3hwZW1WeWN5QmhablJsY2lCa1pXTnZjbUYwYVc5dUlHaGhjeUJqYjIxd2JHVjBaV1JjSWlrN0lHVjRkSEpoU1c1cGRHbGhiR2w2WlhKekxuQjFjMmdvWVdOalpYQjBLR1lnZkh3Z2JuVnNiQ2twT3lCOU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeVpYTjFiSFFnUFNBb01Dd2daR1ZqYjNKaGRHOXljMXRwWFNrb2EybHVaQ0E5UFQwZ1hDSmhZMk5sYzNOdmNsd2lJRDhnZXlCblpYUTZJR1JsYzJOeWFYQjBiM0l1WjJWMExDQnpaWFE2SUdSbGMyTnlhWEIwYjNJdWMyVjBJSDBnT2lCa1pYTmpjbWx3ZEc5eVcydGxlVjBzSUdOdmJuUmxlSFFwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hyYVc1a0lEMDlQU0JjSW1GalkyVnpjMjl5WENJcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDQTlQVDBnZG05cFpDQXdLU0JqYjI1MGFXNTFaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hKbGMzVnNkQ0E5UFQwZ2JuVnNiQ0I4ZkNCMGVYQmxiMllnY21WemRXeDBJQ0U5UFNCY0ltOWlhbVZqZEZ3aUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVDJKcVpXTjBJR1Y0Y0dWamRHVmtYQ0lwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRdVoyVjBLU2tnWkdWelkzSnBjSFJ2Y2k1blpYUWdQU0JmTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRdWMyVjBLU2tnWkdWelkzSnBjSFJ2Y2k1elpYUWdQU0JmTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1h5QTlJR0ZqWTJWd2RDaHlaWE4xYkhRdWFXNXBkQ2twSUdsdWFYUnBZV3hwZW1WeWN5NXdkWE5vS0Y4cE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNoZklEMGdZV05qWlhCMEtISmxjM1ZzZENrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3RwYm1RZ1BUMDlJRndpWm1sbGJHUmNJaWtnYVc1cGRHbGhiR2w2WlhKekxuQjFjMmdvWHlrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdaR1Z6WTNKcGNIUnZjbHRyWlhsZElEMGdYenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOVhISmNiaUFnSUNCcFppQW9kR0Z5WjJWMEtTQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZEdGeVoyVjBMQ0JqYjI1MFpYaDBTVzR1Ym1GdFpTd2daR1Z6WTNKcGNIUnZjaWs3WEhKY2JpQWdJQ0JrYjI1bElEMGdkSEoxWlR0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM0oxYmtsdWFYUnBZV3hwZW1WeWN5aDBhR2x6UVhKbkxDQnBibWwwYVdGc2FYcGxjbk1zSUhaaGJIVmxLU0I3WEhKY2JpQWdJQ0IyWVhJZ2RYTmxWbUZzZFdVZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNanRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYVc1cGRHbGhiR2w2WlhKekxteGxibWQwYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnNkV1VnUFNCMWMyVldZV3gxWlNBL0lHbHVhWFJwWVd4cGVtVnljMXRwWFM1allXeHNLSFJvYVhOQmNtY3NJSFpoYkhWbEtTQTZJR2x1YVhScFlXeHBlbVZ5YzF0cFhTNWpZV3hzS0hSb2FYTkJjbWNwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJSFZ6WlZaaGJIVmxJRDhnZG1Gc2RXVWdPaUIyYjJsa0lEQTdYSEpjYm4wN1hISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5d2NtOXdTMlY1S0hncElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGVYQmxiMllnZUNBOVBUMGdYQ0p6ZVcxaWIyeGNJaUEvSUhnZ09pQmNJbHdpTG1OdmJtTmhkQ2g0S1R0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM05sZEVaMWJtTjBhVzl1VG1GdFpTaG1MQ0J1WVcxbExDQndjbVZtYVhncElIdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdibUZ0WlNBOVBUMGdYQ0p6ZVcxaWIyeGNJaWtnYm1GdFpTQTlJRzVoYldVdVpHVnpZM0pwY0hScGIyNGdQeUJjSWx0Y0lpNWpiMjVqWVhRb2JtRnRaUzVrWlhOamNtbHdkR2x2Yml3Z1hDSmRYQ0lwSURvZ1hDSmNJanRjY2x4dUlDQWdJSEpsZEhWeWJpQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWml3Z1hDSnVZVzFsWENJc0lIc2dZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxMQ0IyWVd4MVpUb2djSEpsWm1sNElEOGdYQ0pjSWk1amIyNWpZWFFvY0hKbFptbDRMQ0JjSWlCY0lpd2dibUZ0WlNrZ09pQnVZVzFsSUgwcE8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYldWMFlXUmhkR0VvYldWMFlXUmhkR0ZMWlhrc0lHMWxkR0ZrWVhSaFZtRnNkV1VwSUh0Y2NseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1VtVm1iR1ZqZENBOVBUMGdYQ0p2WW1wbFkzUmNJaUFtSmlCMGVYQmxiMllnVW1WbWJHVmpkQzV0WlhSaFpHRjBZU0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0J5WlhSMWNtNGdVbVZtYkdWamRDNXRaWFJoWkdGMFlTaHRaWFJoWkdGMFlVdGxlU3dnYldWMFlXUmhkR0ZXWVd4MVpTazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJGM1lXbDBaWElvZEdocGMwRnlaeXdnWDJGeVozVnRaVzUwY3l3Z1VDd2daMlZ1WlhKaGRHOXlLU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJoWkc5d2RDaDJZV3gxWlNrZ2V5QnlaWFIxY200Z2RtRnNkV1VnYVc1emRHRnVZMlZ2WmlCUUlEOGdkbUZzZFdVZ09pQnVaWGNnVUNobWRXNWpkR2x2YmlBb2NtVnpiMngyWlNrZ2V5QnlaWE52YkhabEtIWmhiSFZsS1RzZ2ZTazdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQnVaWGNnS0ZBZ2ZId2dLRkFnUFNCUWNtOXRhWE5sS1Nrb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR1oxYm1OMGFXOXVJR1oxYkdacGJHeGxaQ2gyWVd4MVpTa2dleUIwY25rZ2V5QnpkR1Z3S0dkbGJtVnlZWFJ2Y2k1dVpYaDBLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCeVpXcGxZM1JsWkNoMllXeDFaU2tnZXlCMGNua2dleUJ6ZEdWd0tHZGxibVZ5WVhSdmNsdGNJblJvY205M1hDSmRLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCemRHVndLSEpsYzNWc2RDa2dleUJ5WlhOMWJIUXVaRzl1WlNBL0lISmxjMjlzZG1Vb2NtVnpkV3gwTG5aaGJIVmxLU0E2SUdGa2IzQjBLSEpsYzNWc2RDNTJZV3gxWlNrdWRHaGxiaWhtZFd4bWFXeHNaV1FzSUhKbGFtVmpkR1ZrS1RzZ2ZWeHlYRzRnSUNBZ0lDQWdJSE4wWlhBb0tHZGxibVZ5WVhSdmNpQTlJR2RsYm1WeVlYUnZjaTVoY0hCc2VTaDBhR2x6UVhKbkxDQmZZWEpuZFcxbGJuUnpJSHg4SUZ0ZEtTa3VibVY0ZENncEtUdGNjbHh1SUNBZ0lIMHBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5blpXNWxjbUYwYjNJb2RHaHBjMEZ5Wnl3Z1ltOWtlU2tnZTF4eVhHNGdJQ0FnZG1GeUlGOGdQU0I3SUd4aFltVnNPaUF3TENCelpXNTBPaUJtZFc1amRHbHZiaWdwSUhzZ2FXWWdLSFJiTUYwZ0ppQXhLU0IwYUhKdmR5QjBXekZkT3lCeVpYUjFjbTRnZEZzeFhUc2dmU3dnZEhKNWN6b2dXMTBzSUc5d2N6b2dXMTBnZlN3Z1ppd2dlU3dnZEN3Z1p6dGNjbHh1SUNBZ0lISmxkSFZ5YmlCbklEMGdleUJ1WlhoME9pQjJaWEppS0RBcExDQmNJblJvY205M1hDSTZJSFpsY21Jb01Ta3NJRndpY21WMGRYSnVYQ0k2SUhabGNtSW9NaWtnZlN3Z2RIbHdaVzltSUZONWJXSnZiQ0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUNoblcxTjViV0p2YkM1cGRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHBMQ0JuTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVLU0I3SUhKbGRIVnliaUJtZFc1amRHbHZiaUFvZGlrZ2V5QnlaWFIxY200Z2MzUmxjQ2hiYml3Z2RsMHBPeUI5T3lCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCemRHVndLRzl3S1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0dZcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pIWlc1bGNtRjBiM0lnYVhNZ1lXeHlaV0ZrZVNCbGVHVmpkWFJwYm1jdVhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2huSUNZbUlDaG5JRDBnTUN3Z2IzQmJNRjBnSmlZZ0tGOGdQU0F3S1Nrc0lGOHBJSFJ5ZVNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaG1JRDBnTVN3Z2VTQW1KaUFvZENBOUlHOXdXekJkSUNZZ01pQS9JSGxiWENKeVpYUjFjbTVjSWwwZ09pQnZjRnN3WFNBL0lIbGJYQ0owYUhKdmQxd2lYU0I4ZkNBb0tIUWdQU0I1VzF3aWNtVjBkWEp1WENKZEtTQW1KaUIwTG1OaGJHd29lU2tzSURBcElEb2dlUzV1WlhoMEtTQW1KaUFoS0hRZ1BTQjBMbU5oYkd3b2VTd2diM0JiTVYwcEtTNWtiMjVsS1NCeVpYUjFjbTRnZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIa2dQU0F3TENCMEtTQnZjQ0E5SUZ0dmNGc3dYU0FtSURJc0lIUXVkbUZzZFdWZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCemQybDBZMmdnS0c5d1d6QmRLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJREE2SUdOaGMyVWdNVG9nZENBOUlHOXdPeUJpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ05Eb2dYeTVzWVdKbGJDc3JPeUJ5WlhSMWNtNGdleUIyWVd4MVpUb2diM0JiTVYwc0lHUnZibVU2SUdaaGJITmxJSDA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRFU2SUY4dWJHRmlaV3dyS3pzZ2VTQTlJRzl3V3pGZE95QnZjQ0E5SUZzd1hUc2dZMjl1ZEdsdWRXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEYzZJRzl3SUQwZ1h5NXZjSE11Y0c5d0tDazdJRjh1ZEhKNWN5NXdiM0FvS1RzZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hLSFFnUFNCZkxuUnllWE1zSUhRZ1BTQjBMbXhsYm1kMGFDQStJREFnSmlZZ2RGdDBMbXhsYm1kMGFDQXRJREZkS1NBbUppQW9iM0JiTUYwZ1BUMDlJRFlnZkh3Z2IzQmJNRjBnUFQwOUlESXBLU0I3SUY4Z1BTQXdPeUJqYjI1MGFXNTFaVHNnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodmNGc3dYU0E5UFQwZ015QW1KaUFvSVhRZ2ZId2dLRzl3V3pGZElENGdkRnN3WFNBbUppQnZjRnN4WFNBOElIUmJNMTBwS1NrZ2V5QmZMbXhoWW1Wc0lEMGdiM0JiTVYwN0lHSnlaV0ZyT3lCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUQwOVBTQTJJQ1ltSUY4dWJHRmlaV3dnUENCMFd6RmRLU0I3SUY4dWJHRmlaV3dnUFNCMFd6RmRPeUIwSUQwZ2IzQTdJR0p5WldGck95QjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFFnSmlZZ1h5NXNZV0psYkNBOElIUmJNbDBwSUhzZ1h5NXNZV0psYkNBOUlIUmJNbDA3SUY4dWIzQnpMbkIxYzJnb2IzQXBPeUJpY21WaGF6c2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwV3pKZEtTQmZMbTl3Y3k1d2IzQW9LVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmZMblJ5ZVhNdWNHOXdLQ2s3SUdOdmJuUnBiblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRzl3SUQwZ1ltOWtlUzVqWVd4c0tIUm9hWE5CY21jc0lGOHBPMXh5WEc0Z0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIc2diM0FnUFNCYk5pd2daVjA3SUhrZ1BTQXdPeUI5SUdacGJtRnNiSGtnZXlCbUlEMGdkQ0E5SURBN0lIMWNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2IzQmJNRjBnSmlBMUtTQjBhSEp2ZHlCdmNGc3hYVHNnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzl3V3pCZElEOGdiM0JiTVYwZ09pQjJiMmxrSURBc0lHUnZibVU2SUhSeWRXVWdmVHRjY2x4dUlDQWdJSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUhaaGNpQmZYMk55WldGMFpVSnBibVJwYm1jZ1BTQlBZbXBsWTNRdVkzSmxZWFJsSUQ4Z0tHWjFibU4wYVc5dUtHOHNJRzBzSUdzc0lHc3lLU0I3WEhKY2JpQWdJQ0JwWmlBb2F6SWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2F6SWdQU0JyTzF4eVhHNGdJQ0FnZG1GeUlHUmxjMk1nUFNCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLRzBzSUdzcE8xeHlYRzRnSUNBZ2FXWWdLQ0ZrWlhOaklIeDhJQ2hjSW1kbGRGd2lJR2x1SUdSbGMyTWdQeUFoYlM1ZlgyVnpUVzlrZFd4bElEb2daR1Z6WXk1M2NtbDBZV0pzWlNCOGZDQmtaWE5qTG1OdmJtWnBaM1Z5WVdKc1pTa3BJSHRjY2x4dUlDQWdJQ0FnSUNCa1pYTmpJRDBnZXlCbGJuVnRaWEpoWW14bE9pQjBjblZsTENCblpYUTZJR1oxYm1OMGFXOXVLQ2tnZXlCeVpYUjFjbTRnYlZ0clhUc2dmU0I5TzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHOHNJR3N5TENCa1pYTmpLVHRjY2x4dWZTa2dPaUFvWm5WdVkzUnBiMjRvYnl3Z2JTd2dheXdnYXpJcElIdGNjbHh1SUNBZ0lHbG1JQ2hyTWlBOVBUMGdkVzVrWldacGJtVmtLU0JyTWlBOUlHczdYSEpjYmlBZ0lDQnZXMnN5WFNBOUlHMWJhMTA3WEhKY2JuMHBPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaWGh3YjNKMFUzUmhjaWh0TENCdktTQjdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUcwcElHbG1JQ2h3SUNFOVBTQmNJbVJsWm1GMWJIUmNJaUFtSmlBaFQySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHOHNJSEFwS1NCZlgyTnlaV0YwWlVKcGJtUnBibWNvYnl3Z2JTd2djQ2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzWmhiSFZsY3lodktTQjdYSEpjYmlBZ0lDQjJZWElnY3lBOUlIUjVjR1Z2WmlCVGVXMWliMndnUFQwOUlGd2lablZ1WTNScGIyNWNJaUFtSmlCVGVXMWliMnd1YVhSbGNtRjBiM0lzSUcwZ1BTQnpJQ1ltSUc5YmMxMHNJR2tnUFNBd08xeHlYRzRnSUNBZ2FXWWdLRzBwSUhKbGRIVnliaUJ0TG1OaGJHd29ieWs3WEhKY2JpQWdJQ0JwWmlBb2J5QW1KaUIwZVhCbGIyWWdieTVzWlc1bmRHZ2dQVDA5SUZ3aWJuVnRZbVZ5WENJcElISmxkSFZ5YmlCN1hISmNiaUFnSUNBZ0lDQWdibVY0ZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYnlBbUppQnBJRDQ5SUc4dWJHVnVaM1JvS1NCdklEMGdkbTlwWkNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZXlCMllXeDFaVG9nYnlBbUppQnZXMmtySzEwc0lHUnZibVU2SUNGdklIMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb2N5QS9JRndpVDJKcVpXTjBJR2x6SUc1dmRDQnBkR1Z5WVdKc1pTNWNJaUE2SUZ3aVUzbHRZbTlzTG1sMFpYSmhkRzl5SUdseklHNXZkQ0JrWldacGJtVmtMbHdpS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZjbVZoWkNodkxDQnVLU0I3WEhKY2JpQWdJQ0IyWVhJZ2JTQTlJSFI1Y0dWdlppQlRlVzFpYjJ3Z1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBbUppQnZXMU41YldKdmJDNXBkR1Z5WVhSdmNsMDdYSEpjYmlBZ0lDQnBaaUFvSVcwcElISmxkSFZ5YmlCdk8xeHlYRzRnSUNBZ2RtRnlJR2tnUFNCdExtTmhiR3dvYnlrc0lISXNJR0Z5SUQwZ1cxMHNJR1U3WEhKY2JpQWdJQ0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJSGRvYVd4bElDZ29iaUE5UFQwZ2RtOXBaQ0F3SUh4OElHNHRMU0ErSURBcElDWW1JQ0VvY2lBOUlHa3VibVY0ZENncEtTNWtiMjVsS1NCaGNpNXdkWE5vS0hJdWRtRnNkV1VwTzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnWTJGMFkyZ2dLR1Z5Y205eUtTQjdJR1VnUFNCN0lHVnljbTl5T2lCbGNuSnZjaUI5T3lCOVhISmNiaUFnSUNCbWFXNWhiR3g1SUh0Y2NseHVJQ0FnSUNBZ0lDQjBjbmtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NpQW1KaUFoY2k1a2IyNWxJQ1ltSUNodElEMGdhVnRjSW5KbGRIVnlibHdpWFNrcElHMHVZMkZzYkNocEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1ptbHVZV3hzZVNCN0lHbG1JQ2hsS1NCMGFISnZkeUJsTG1WeWNtOXlPeUI5WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J5WlhSMWNtNGdZWEk3WEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJBWkdWd2NtVmpZWFJsWkNBcUwxeHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl6Y0hKbFlXUW9LU0I3WEhKY2JpQWdJQ0JtYjNJZ0tIWmhjaUJoY2lBOUlGdGRMQ0JwSUQwZ01Ec2dhU0E4SUdGeVozVnRaVzUwY3k1c1pXNW5kR2c3SUdrckt5bGNjbHh1SUNBZ0lDQWdJQ0JoY2lBOUlHRnlMbU52Ym1OaGRDaGZYM0psWVdRb1lYSm5kVzFsYm5SelcybGRLU2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdZWEk3WEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJBWkdWd2NtVmpZWFJsWkNBcUwxeHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl6Y0hKbFlXUkJjbkpoZVhNb0tTQjdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQnpJRDBnTUN3Z2FTQTlJREFzSUdsc0lEMGdZWEpuZFcxbGJuUnpMbXhsYm1kMGFEc2dhU0E4SUdsc095QnBLeXNwSUhNZ0t6MGdZWEpuZFcxbGJuUnpXMmxkTG14bGJtZDBhRHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSElnUFNCQmNuSmhlU2h6S1N3Z2F5QTlJREFzSUdrZ1BTQXdPeUJwSUR3Z2FXdzdJR2tyS3lsY2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQmhJRDBnWVhKbmRXMWxiblJ6VzJsZExDQnFJRDBnTUN3Z2Ftd2dQU0JoTG14bGJtZDBhRHNnYWlBOElHcHNPeUJxS3lzc0lHc3JLeWxjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbHRyWFNBOUlHRmJhbDA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdjanRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmMzQnlaV0ZrUVhKeVlYa29kRzhzSUdaeWIyMHNJSEJoWTJzcElIdGNjbHh1SUNBZ0lHbG1JQ2h3WVdOcklIeDhJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQVDA5SURJcElHWnZjaUFvZG1GeUlHa2dQU0F3TENCc0lEMGdabkp2YlM1c1pXNW5kR2dzSUdGeU95QnBJRHdnYkRzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR0Z5SUh4OElDRW9hU0JwYmlCbWNtOXRLU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXRnlLU0JoY2lBOUlFRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHWnliMjBzSURBc0lHa3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhjbHRwWFNBOUlHWnliMjFiYVYwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlIUnZMbU52Ym1OaGRDaGhjaUI4ZkNCQmNuSmhlUzV3Y205MGIzUjVjR1V1YzJ4cFkyVXVZMkZzYkNobWNtOXRLU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyRjNZV2wwS0hZcElIdGNjbHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpJR2x1YzNSaGJtTmxiMllnWDE5aGQyRnBkQ0EvSUNoMGFHbHpMbllnUFNCMkxDQjBhR2x6S1NBNklHNWxkeUJmWDJGM1lXbDBLSFlwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhjM2x1WTBkbGJtVnlZWFJ2Y2loMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SekxDQm5aVzVsY21GMGIzSXBJSHRjY2x4dUlDQWdJR2xtSUNnaFUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpQnBjeUJ1YjNRZ1pHVm1hVzVsWkM1Y0lpazdYSEpjYmlBZ0lDQjJZWElnWnlBOUlHZGxibVZ5WVhSdmNpNWhjSEJzZVNoMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SeklIeDhJRnRkS1N3Z2FTd2djU0E5SUZ0ZE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUdrZ1BTQjdmU3dnZG1WeVlpaGNJbTVsZUhSY0lpa3NJSFpsY21Jb1hDSjBhSEp2ZDF3aUtTd2dkbVZ5WWloY0luSmxkSFZ5Ymx3aUtTd2dhVnRUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlMQ0JwTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVLU0I3SUdsbUlDaG5XMjVkS1NCcFcyNWRJRDBnWm5WdVkzUnBiMjRnS0hZcElIc2djbVYwZFhKdUlHNWxkeUJRY205dGFYTmxLR1oxYm1OMGFXOXVJQ2hoTENCaUtTQjdJSEV1Y0hWemFDaGJiaXdnZGl3Z1lTd2dZbDBwSUQ0Z01TQjhmQ0J5WlhOMWJXVW9iaXdnZGlrN0lIMHBPeUI5T3lCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCeVpYTjFiV1VvYml3Z2Rpa2dleUIwY25rZ2V5QnpkR1Z3S0dkYmJsMG9kaWtwT3lCOUlHTmhkR05vSUNobEtTQjdJSE5sZEhSc1pTaHhXekJkV3pOZExDQmxLVHNnZlNCOVhISmNiaUFnSUNCbWRXNWpkR2x2YmlCemRHVndLSElwSUhzZ2NpNTJZV3gxWlNCcGJuTjBZVzVqWlc5bUlGOWZZWGRoYVhRZ1B5QlFjbTl0YVhObExuSmxjMjlzZG1Vb2NpNTJZV3gxWlM1MktTNTBhR1Z1S0daMWJHWnBiR3dzSUhKbGFtVmpkQ2tnT2lCelpYUjBiR1VvY1Zzd1hWc3lYU3dnY2lrN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlHWjFiR1pwYkd3b2RtRnNkV1VwSUhzZ2NtVnpkVzFsS0Z3aWJtVjRkRndpTENCMllXeDFaU2s3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhKbGFtVmpkQ2gyWVd4MVpTa2dleUJ5WlhOMWJXVW9YQ0owYUhKdmQxd2lMQ0IyWVd4MVpTazdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSE5sZEhSc1pTaG1MQ0IyS1NCN0lHbG1JQ2htS0hZcExDQnhMbk5vYVdaMEtDa3NJSEV1YkdWdVozUm9LU0J5WlhOMWJXVW9jVnN3WFZzd1hTd2djVnN3WFZzeFhTazdJSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZllYTjVibU5FWld4bFoyRjBiM0lvYnlrZ2UxeHlYRzRnSUNBZ2RtRnlJR2tzSUhBN1hISmNiaUFnSUNCeVpYUjFjbTRnYVNBOUlIdDlMQ0IyWlhKaUtGd2libVY0ZEZ3aUtTd2dkbVZ5WWloY0luUm9jbTkzWENJc0lHWjFibU4wYVc5dUlDaGxLU0I3SUhSb2NtOTNJR1U3SUgwcExDQjJaWEppS0Z3aWNtVjBkWEp1WENJcExDQnBXMU41YldKdmJDNXBkR1Z5WVhSdmNsMGdQU0JtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCMGFHbHpPeUI5TENCcE8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVnlZaWh1TENCbUtTQjdJR2xiYmwwZ1BTQnZXMjVkSUQ4Z1puVnVZM1JwYjI0Z0tIWXBJSHNnY21WMGRYSnVJQ2h3SUQwZ0lYQXBJRDhnZXlCMllXeDFaVG9nWDE5aGQyRnBkQ2h2VzI1ZEtIWXBLU3dnWkc5dVpUb2dabUZzYzJVZ2ZTQTZJR1lnUHlCbUtIWXBJRG9nZGpzZ2ZTQTZJR1k3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZWE41Ym1OV1lXeDFaWE1vYnlrZ2UxeHlYRzRnSUNBZ2FXWWdLQ0ZUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJbE41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5SUdseklHNXZkQ0JrWldacGJtVmtMbHdpS1R0Y2NseHVJQ0FnSUhaaGNpQnRJRDBnYjF0VGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNsMHNJR2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdiU0EvSUcwdVkyRnNiQ2h2S1NBNklDaHZJRDBnZEhsd1pXOW1JRjlmZG1Gc2RXVnpJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJmWDNaaGJIVmxjeWh2S1NBNklHOWJVM2x0WW05c0xtbDBaWEpoZEc5eVhTZ3BMQ0JwSUQwZ2UzMHNJSFpsY21Jb1hDSnVaWGgwWENJcExDQjJaWEppS0Z3aWRHaHliM2RjSWlrc0lIWmxjbUlvWENKeVpYUjFjbTVjSWlrc0lHbGJVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0pkSUQwZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdkR2hwY3pzZ2ZTd2dhU2s3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUIyWlhKaUtHNHBJSHNnYVZ0dVhTQTlJRzliYmwwZ0ppWWdablZ1WTNScGIyNGdLSFlwSUhzZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHWjFibU4wYVc5dUlDaHlaWE52YkhabExDQnlaV3BsWTNRcElIc2dkaUE5SUc5YmJsMG9kaWtzSUhObGRIUnNaU2h5WlhOdmJIWmxMQ0J5WldwbFkzUXNJSFl1Wkc5dVpTd2dkaTUyWVd4MVpTazdJSDBwT3lCOU95QjlYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQnpaWFIwYkdVb2NtVnpiMngyWlN3Z2NtVnFaV04wTENCa0xDQjJLU0I3SUZCeWIyMXBjMlV1Y21WemIyeDJaU2gyS1M1MGFHVnVLR1oxYm1OMGFXOXVLSFlwSUhzZ2NtVnpiMngyWlNoN0lIWmhiSFZsT2lCMkxDQmtiMjVsT2lCa0lIMHBPeUI5TENCeVpXcGxZM1FwT3lCOVhISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMjFoYTJWVVpXMXdiR0YwWlU5aWFtVmpkQ2hqYjI5clpXUXNJSEpoZHlrZ2UxeHlYRzRnSUNBZ2FXWWdLRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNrZ2V5QlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWTI5dmEyVmtMQ0JjSW5KaGQxd2lMQ0I3SUhaaGJIVmxPaUJ5WVhjZ2ZTazdJSDBnWld4elpTQjdJR052YjJ0bFpDNXlZWGNnUFNCeVlYYzdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQmpiMjlyWldRN1hISmNibjA3WEhKY2JseHlYRzUyWVhJZ1gxOXpaWFJOYjJSMWJHVkVaV1poZFd4MElEMGdUMkpxWldOMExtTnlaV0YwWlNBL0lDaG1kVzVqZEdsdmJpaHZMQ0IyS1NCN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29ieXdnWENKa1pXWmhkV3gwWENJc0lIc2daVzUxYldWeVlXSnNaVG9nZEhKMVpTd2dkbUZzZFdVNklIWWdmU2s3WEhKY2JuMHBJRG9nWm5WdVkzUnBiMjRvYnl3Z2Rpa2dlMXh5WEc0Z0lDQWdiMXRjSW1SbFptRjFiSFJjSWwwZ1BTQjJPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmFXMXdiM0owVTNSaGNpaHRiMlFwSUh0Y2NseHVJQ0FnSUdsbUlDaHRiMlFnSmlZZ2JXOWtMbDlmWlhOTmIyUjFiR1VwSUhKbGRIVnliaUJ0YjJRN1hISmNiaUFnSUNCMllYSWdjbVZ6ZFd4MElEMGdlMzA3WEhKY2JpQWdJQ0JwWmlBb2JXOWtJQ0U5SUc1MWJHd3BJR1p2Y2lBb2RtRnlJR3NnYVc0Z2JXOWtLU0JwWmlBb2F5QWhQVDBnWENKa1pXWmhkV3gwWENJZ0ppWWdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzF2WkN3Z2F5a3BJRjlmWTNKbFlYUmxRbWx1WkdsdVp5aHlaWE4xYkhRc0lHMXZaQ3dnYXlrN1hISmNiaUFnSUNCZlgzTmxkRTF2WkhWc1pVUmxabUYxYkhRb2NtVnpkV3gwTENCdGIyUXBPMXh5WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZhVzF3YjNKMFJHVm1ZWFZzZENodGIyUXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQW9iVzlrSUNZbUlHMXZaQzVmWDJWelRXOWtkV3hsS1NBL0lHMXZaQ0E2SUhzZ1pHVm1ZWFZzZERvZ2JXOWtJSDA3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyTnNZWE56VUhKcGRtRjBaVVpwWld4a1IyVjBLSEpsWTJWcGRtVnlMQ0J6ZEdGMFpTd2dhMmx1WkN3Z1ppa2dlMXh5WEc0Z0lDQWdhV1lnS0d0cGJtUWdQVDA5SUZ3aVlWd2lJQ1ltSUNGbUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVUhKcGRtRjBaU0JoWTJObGMzTnZjaUIzWVhNZ1pHVm1hVzVsWkNCM2FYUm9iM1YwSUdFZ1oyVjBkR1Z5WENJcE8xeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnpkR0YwWlNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUQ4Z2NtVmpaV2wyWlhJZ0lUMDlJSE4wWVhSbElIeDhJQ0ZtSURvZ0lYTjBZWFJsTG1oaGN5aHlaV05sYVhabGNpa3BJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKRFlXNXViM1FnY21WaFpDQndjbWwyWVhSbElHMWxiV0psY2lCbWNtOXRJR0Z1SUc5aWFtVmpkQ0IzYUc5elpTQmpiR0Z6Y3lCa2FXUWdibTkwSUdSbFkyeGhjbVVnYVhSY0lpazdYSEpjYmlBZ0lDQnlaWFIxY200Z2EybHVaQ0E5UFQwZ1hDSnRYQ0lnUHlCbUlEb2dhMmx1WkNBOVBUMGdYQ0poWENJZ1B5Qm1MbU5oYkd3b2NtVmpaV2wyWlhJcElEb2daaUEvSUdZdWRtRnNkV1VnT2lCemRHRjBaUzVuWlhRb2NtVmpaV2wyWlhJcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlqYkdGemMxQnlhWFpoZEdWR2FXVnNaRk5sZENoeVpXTmxhWFpsY2l3Z2MzUmhkR1VzSUhaaGJIVmxMQ0JyYVc1a0xDQm1LU0I3WEhKY2JpQWdJQ0JwWmlBb2EybHVaQ0E5UFQwZ1hDSnRYQ0lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlFjbWwyWVhSbElHMWxkR2h2WkNCcGN5QnViM1FnZDNKcGRHRmliR1ZjSWlrN1hISmNiaUFnSUNCcFppQW9hMmx1WkNBOVBUMGdYQ0poWENJZ0ppWWdJV1lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSlFjbWwyWVhSbElHRmpZMlZ6YzI5eUlIZGhjeUJrWldacGJtVmtJSGRwZEdodmRYUWdZU0J6WlhSMFpYSmNJaWs3WEhKY2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhOMFlYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJ5WldObGFYWmxjaUFoUFQwZ2MzUmhkR1VnZkh3Z0lXWWdPaUFoYzNSaGRHVXVhR0Z6S0hKbFkyVnBkbVZ5S1NrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa05oYm01dmRDQjNjbWwwWlNCd2NtbDJZWFJsSUcxbGJXSmxjaUIwYnlCaGJpQnZZbXBsWTNRZ2QyaHZjMlVnWTJ4aGMzTWdaR2xrSUc1dmRDQmtaV05zWVhKbElHbDBYQ0lwTzF4eVhHNGdJQ0FnY21WMGRYSnVJQ2hyYVc1a0lEMDlQU0JjSW1GY0lpQS9JR1l1WTJGc2JDaHlaV05sYVhabGNpd2dkbUZzZFdVcElEb2daaUEvSUdZdWRtRnNkV1VnUFNCMllXeDFaU0E2SUhOMFlYUmxMbk5sZENoeVpXTmxhWFpsY2l3Z2RtRnNkV1VwS1N3Z2RtRnNkV1U3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyTnNZWE56VUhKcGRtRjBaVVpwWld4a1NXNG9jM1JoZEdVc0lISmxZMlZwZG1WeUtTQjdYSEpjYmlBZ0lDQnBaaUFvY21WalpXbDJaWElnUFQwOUlHNTFiR3dnZkh3Z0tIUjVjR1Z2WmlCeVpXTmxhWFpsY2lBaFBUMGdYQ0p2WW1wbFkzUmNJaUFtSmlCMGVYQmxiMllnY21WalpXbDJaWElnSVQwOUlGd2lablZ1WTNScGIyNWNJaWtwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkRZVzV1YjNRZ2RYTmxJQ2RwYmljZ2IzQmxjbUYwYjNJZ2IyNGdibTl1TFc5aWFtVmpkRndpS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUIwZVhCbGIyWWdjM1JoZEdVZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBL0lISmxZMlZwZG1WeUlEMDlQU0J6ZEdGMFpTQTZJSE4wWVhSbExtaGhjeWh5WldObGFYWmxjaWs3WEhKY2JuMWNjbHh1SWl3aWFXMXdiM0owSUhSNWNHVWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNWNiaThxS2x4dUlDb2dWSEpoZG1WeWMyVWdZVzVqWlhOMGIzSnpJRzltSUdkcGRtVnVJRzlpYW1WamRDQmhibVFnWTJGc2JDQm5hWFpsYmlCallXeHNZbUZqYXlCbWNtOXRJSEp2YjNRZ2MybGtaUzVjYmlBcUlFbDBJSGRwYkd3Z2FXNWpiSFZrWlNCMGFHVWdaMmwyWlc0Z2IySnFaV04wSUdsMGMyVnNaaTVjYmlBcVhHNGdLaUJBY0dGeVlXMGdiMkpxWldOMElGUm9aU0J2WW1wbFkzUWdlVzkxSUhkaGJuUWdkRzhnZEhKaGRtVnljMlZjYmlBcUlFQndZWEpoYlNCallXeHNZbUZqYXlCVWFHVWdZMkZzYkNCaVlXTnJJR1oxYm1OMGFXOXVJSFJvWVhRZ2QybHNiQ0JpWlNCallXeHNaV1FnWm05eUlHVmhZMmdnWVc1alpYTjBiM0p6WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQjBjbUYyWlhKelpVRnVZMlZ6ZEc5eWMwWnliMjFTYjI5MEtHOWlhbVZqZERvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFzSUdOaGJHeGlZV05yT2lBb2IySnFaV04wT2lCVVNGSkZSUzVQWW1wbFkzUXpSQ2tnUFQ0Z2RtOXBaQ2s2SUhadmFXUWdlMXh1SUNCamIyNXpkQ0JoYm1ObGMzUnZjbk02SUZSSVVrVkZMazlpYW1WamRETkVXMTBnUFNCYmIySnFaV04wWFR0Y2JseHVJQ0JzWlhRZ2FHVmhaRG9nVkVoU1JVVXVUMkpxWldOME0wUWdmQ0J1ZFd4c0lEMGdiMkpxWldOMExuQmhjbVZ1ZER0Y2JpQWdkMmhwYkdVZ0tHaGxZV1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JoYm1ObGMzUnZjbk11ZFc1emFHbG1kQ2hvWldGa0tUdGNiaUFnSUNCb1pXRmtJRDBnYUdWaFpDNXdZWEpsYm5RN1hHNGdJSDFjYmx4dUlDQmhibU5sYzNSdmNuTXVabTl5UldGamFDZ29ZVzVqWlhOMGIzSXBJRDArSUh0Y2JpQWdJQ0JqWVd4c1ltRmpheWhoYm1ObGMzUnZjaWs3WEc0Z0lIMHBPMXh1ZlZ4dUlpd2lhVzF3YjNKMElIUjVjR1VnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVTV2WkdWRGIyNXpkSEpoYVc1MElIMGdabkp2YlNBbkxpOVdVazFPYjJSbFEyOXVjM1J5WVdsdWRDYzdYRzVwYlhCdmNuUWdleUIwY21GMlpYSnpaVUZ1WTJWemRHOXljMFp5YjIxU2IyOTBJSDBnWm5KdmJTQW5MaTkxZEdsc2N5OTBjbUYyWlhKelpVRnVZMlZ6ZEc5eWMwWnliMjFTYjI5MEp6dGNibHh1Wlhod2IzSjBJR05zWVhOeklGWlNUVTV2WkdWRGIyNXpkSEpoYVc1MFRXRnVZV2RsY2lCN1hHNGdJSEJ5YVhaaGRHVWdYMk52Ym5OMGNtRnBiblJ6SUQwZ2JtVjNJRk5sZER4V1VrMU9iMlJsUTI5dWMzUnlZV2x1ZEQ0b0tUdGNiaUFnY0hWaWJHbGpJR2RsZENCamIyNXpkSEpoYVc1MGN5Z3BPaUJUWlhROFZsSk5UbTlrWlVOdmJuTjBjbUZwYm5RK0lIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZZMjl1YzNSeVlXbHVkSE03WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUY5dlltcGxZM1JEYjI1emRISmhhVzUwYzAxaGNDQTlJRzVsZHlCTllYQThWRWhTUlVVdVQySnFaV04wTTBRc0lGTmxkRHhXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRDQrS0NrN1hHNWNiaUFnY0hWaWJHbGpJR0ZrWkVOdmJuTjBjbUZwYm5Rb1kyOXVjM1J5WVdsdWREb2dWbEpOVG05a1pVTnZibk4wY21GcGJuUXBPaUIyYjJsa0lIdGNiaUFnSUNCMGFHbHpMbDlqYjI1emRISmhhVzUwY3k1aFpHUW9ZMjl1YzNSeVlXbHVkQ2s3WEc1Y2JpQWdJQ0JzWlhRZ2IySnFaV04wVTJWMElEMGdkR2hwY3k1ZmIySnFaV04wUTI5dWMzUnlZV2x1ZEhOTllYQXVaMlYwS0dOdmJuTjBjbUZwYm5RdVpHVnpkR2x1WVhScGIyNHBPMXh1SUNBZ0lHbG1JQ2h2WW1wbFkzUlRaWFFnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYjJKcVpXTjBVMlYwSUQwZ2JtVjNJRk5sZER4V1VrMU9iMlJsUTI5dWMzUnlZV2x1ZEQ0b0tUdGNiaUFnSUNBZ0lIUm9hWE11WDI5aWFtVmpkRU52Ym5OMGNtRnBiblJ6VFdGd0xuTmxkQ2hqYjI1emRISmhhVzUwTG1SbGMzUnBibUYwYVc5dUxDQnZZbXBsWTNSVFpYUXBPMXh1SUNBZ0lIMWNiaUFnSUNCdlltcGxZM1JUWlhRdVlXUmtLR052Ym5OMGNtRnBiblFwTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdSbGJHVjBaVU52Ym5OMGNtRnBiblFvWTI5dWMzUnlZV2x1ZERvZ1ZsSk5UbTlrWlVOdmJuTjBjbUZwYm5RcE9pQjJiMmxrSUh0Y2JpQWdJQ0IwYUdsekxsOWpiMjV6ZEhKaGFXNTBjeTVrWld4bGRHVW9ZMjl1YzNSeVlXbHVkQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQnZZbXBsWTNSVFpYUWdQU0IwYUdsekxsOXZZbXBsWTNSRGIyNXpkSEpoYVc1MGMwMWhjQzVuWlhRb1kyOXVjM1J5WVdsdWRDNWtaWE4wYVc1aGRHbHZiaWtoTzF4dUlDQWdJRzlpYW1WamRGTmxkQzVrWld4bGRHVW9ZMjl1YzNSeVlXbHVkQ2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nYzJWMFNXNXBkRk4wWVhSbEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUdOdmJuTjBJR052Ym5OMGNtRnBiblJ6VkhKcFpXUWdQU0J1WlhjZ1UyVjBQRlpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBQaWdwTzF4dUlDQWdJR052Ym5OMElHTnZibk4wY21GcGJuUnpSRzl1WlNBOUlHNWxkeUJUWlhROFZsSk5UbTlrWlVOdmJuTjBjbUZwYm5RK0tDazdYRzVjYmlBZ0lDQm1iM0lnS0dOdmJuTjBJR052Ym5OMGNtRnBiblFnYjJZZ2RHaHBjeTVmWTI5dWMzUnlZV2x1ZEhNcElIdGNiaUFnSUNBZ0lIUm9hWE11WDNCeWIyTmxjM05EYjI1emRISmhhVzUwS0dOdmJuTjBjbUZwYm5Rc0lHTnZibk4wY21GcGJuUnpWSEpwWldRc0lHTnZibk4wY21GcGJuUnpSRzl1WlN3Z0tHTnZibk4wY21GcGJuUXBJRDArSUdOdmJuTjBjbUZwYm5RdWMyVjBTVzVwZEZOMFlYUmxLQ2twTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUIxY0dSaGRHVW9LVG9nZG05cFpDQjdYRzRnSUNBZ1kyOXVjM1FnWTI5dWMzUnlZV2x1ZEhOVWNtbGxaQ0E5SUc1bGR5QlRaWFE4VmxKTlRtOWtaVU52Ym5OMGNtRnBiblErS0NrN1hHNGdJQ0FnWTI5dWMzUWdZMjl1YzNSeVlXbHVkSE5FYjI1bElEMGdibVYzSUZObGREeFdVazFPYjJSbFEyOXVjM1J5WVdsdWRENG9LVHRjYmx4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnWTI5dWMzUnlZV2x1ZENCdlppQjBhR2x6TGw5amIyNXpkSEpoYVc1MGN5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmNISnZZMlZ6YzBOdmJuTjBjbUZwYm5Rb1kyOXVjM1J5WVdsdWRDd2dZMjl1YzNSeVlXbHVkSE5VY21sbFpDd2dZMjl1YzNSeVlXbHVkSE5FYjI1bExDQW9ZMjl1YzNSeVlXbHVkQ2tnUFQ0Z1kyOXVjM1J5WVdsdWRDNTFjR1JoZEdVb0tTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlZ3WkdGMFpTQmhJR052Ym5OMGNtRnBiblF1WEc0Z0lDQXFJRWxtSUhSb1pYSmxJR0Z5WlNCdmRHaGxjaUJqYjI1emRISmhhVzUwY3lCMGFHRjBJR0Z5WlNCa1pYQmxibVJoYm5Rc0lHbDBJSGRwYkd3Z2RISjVJSFJ2SUhWd1pHRjBaU0IwYUdWdElISmxZM1Z5YzJsMlpXeDVMbHh1SUNBZ0tpQkpkQ0J0YVdkb2RDQjBhSEp2ZHlCaGJpQmxjbkp2Y2lCcFppQjBhR1Z5WlNCaGNtVWdZMmx5WTNWc1lYSWdaR1Z3Wlc1a1pXNWphV1Z6TGx4dUlDQWdLbHh1SUNBZ0tpQkpiblJsYm1SbFpDQjBieUJpWlNCMWMyVmtJR2x1SUh0QWJHbHVheUIxY0dSaGRHVjlJR0Z1WkNCN1FHeHBibXNnWDNCeWIyTmxjM05EYjI1emRISmhhVzUwZlNCcGRITmxiR1lnY21WamRYSnphWFpsYkhrdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQmpiMjV6ZEhKaGFXNTBJRUVnWTI5dWMzUnlZV2x1ZENCNWIzVWdkMkZ1ZENCMGJ5QjFjR1JoZEdWY2JpQWdJQ29nUUhCaGNtRnRJR052Ym5OMGNtRnBiblJ6VkhKcFpXUWdVMlYwSUc5bUlHTnZibk4wY21GcGJuUnpJSFJvWVhRZ1lYSmxJR0ZzY21WaFpIa2dkSEpwWldRZ2RHOGdZbVVnZFhCa1lYUmxaRnh1SUNBZ0tpQkFjR0Z5WVcwZ1kyOXVjM1J5WVdsdWRITkViMjVsSUZObGRDQnZaaUJqYjI1emRISmhhVzUwY3lCMGFHRjBJR0Z5WlNCaGJISmxZV1I1SUhWd0lIUnZJR1JoZEdWY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gzQnliMk5sYzNORGIyNXpkSEpoYVc1MEtGeHVJQ0FnSUdOdmJuTjBjbUZwYm5RNklGWlNUVTV2WkdWRGIyNXpkSEpoYVc1MExGeHVJQ0FnSUdOdmJuTjBjbUZwYm5SelZISnBaV1E2SUZObGREeFdVazFPYjJSbFEyOXVjM1J5WVdsdWRENHNYRzRnSUNBZ1kyOXVjM1J5WVdsdWRITkViMjVsT2lCVFpYUThWbEpOVG05a1pVTnZibk4wY21GcGJuUStMRnh1SUNBZ0lHTmhiR3hpWVdOck9pQW9ZMjl1YzNSeVlXbHVkRG9nVmxKTlRtOWtaVU52Ym5OMGNtRnBiblFwSUQwK0lIWnZhV1FzWEc0Z0lDazZJSFp2YVdRZ2UxeHVJQ0FnSUdsbUlDaGpiMjV6ZEhKaGFXNTBjMFJ2Ym1VdWFHRnpLR052Ym5OMGNtRnBiblFwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOdmJuTjBjbUZwYm5SelZISnBaV1F1YUdGektHTnZibk4wY21GcGJuUXBLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBUV0Z1WVdkbGNqb2dRMmx5WTNWc1lYSWdaR1Z3Wlc1a1pXNWplU0JrWlhSbFkzUmxaQ0IzYUdsc1pTQjFjR1JoZEdsdVp5QmpiMjV6ZEhKaGFXNTBjeWNwTzF4dUlDQWdJSDFjYmlBZ0lDQmpiMjV6ZEhKaGFXNTBjMVJ5YVdWa0xtRmtaQ2hqYjI1emRISmhhVzUwS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR1JsY0U5aWFtVmpkSE1nUFNCamIyNXpkSEpoYVc1MExtUmxjR1Z1WkdWdVkybGxjenRjYmlBZ0lDQm1iM0lnS0dOdmJuTjBJR1JsY0U5aWFtVmpkQ0J2WmlCa1pYQlBZbXBsWTNSektTQjdYRzRnSUNBZ0lDQjBjbUYyWlhKelpVRnVZMlZ6ZEc5eWMwWnliMjFTYjI5MEtHUmxjRTlpYW1WamRDd2dLR1JsY0U5aWFtVmpkRUZ1WTJWemRHOXlLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc5aWFtVmpkRk5sZENBOUlIUm9hWE11WDI5aWFtVmpkRU52Ym5OMGNtRnBiblJ6VFdGd0xtZGxkQ2hrWlhCUFltcGxZM1JCYm1ObGMzUnZjaWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaHZZbXBsWTNSVFpYUXBJSHRjYmlBZ0lDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHUmxjRU52Ym5OMGNtRnBiblFnYjJZZ2IySnFaV04wVTJWMEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbDl3Y205alpYTnpRMjl1YzNSeVlXbHVkQ2hrWlhCRGIyNXpkSEpoYVc1MExDQmpiMjV6ZEhKaGFXNTBjMVJ5YVdWa0xDQmpiMjV6ZEhKaGFXNTBjMFJ2Ym1Vc0lHTmhiR3hpWVdOcktUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOaGJHeGlZV05yS0dOdmJuTjBjbUZwYm5RcE8xeHVYRzRnSUNBZ1kyOXVjM1J5WVdsdWRITkViMjVsTG1Ga1pDaGpiMjV6ZEhKaGFXNTBLVHRjYmlBZ2ZWeHVmVnh1SWl3aWFXMXdiM0owSUNvZ1lYTWdWRWhTUlVVZ1puSnZiU0FuZEdoeVpXVW5PMXh1YVcxd2IzSjBJSHNnY1hWaGRFbHVkbVZ5ZEVOdmJYQmhkQ0I5SUdaeWIyMGdKeTR2ZFhScGJITXZjWFZoZEVsdWRtVnlkRU52YlhCaGRDYzdYRzVwYlhCdmNuUWdleUJXVWsxT2IyUmxRMjl1YzNSeVlXbHVkQ0I5SUdaeWIyMGdKeTR2VmxKTlRtOWtaVU52Ym5OMGNtRnBiblFuTzF4dVhHNWpiMjV6ZENCZmNYVmhkRUVnUFNCdVpYY2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpZ3BPMXh1WTI5dWMzUWdYM0YxWVhSQ0lEMGdibVYzSUZSSVVrVkZMbEYxWVhSbGNtNXBiMjRvS1R0Y2JseHVMeW9xWEc0Z0tpQkJJR052Ym5OMGNtRnBiblFnZEdoaGRDQjBjbUZ1YzJabGNuTWdZU0J5YjNSaGRHbHZiaUJoY205MWJtUWdiMjVsSUdGNGFYTWdiMllnWVNCemIzVnlZMlV1WEc0Z0tseHVJQ29nVTJWbE9pQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZkbkp0TFdNdmRuSnRMWE53WldOcFptbGpZWFJwYjI0dmRISmxaUzl0WVhOMFpYSXZjM0JsWTJsbWFXTmhkR2x2Ymk5V1VrMURYMjV2WkdWZlkyOXVjM1J5WVdsdWRDMHhMakJmWW1WMFlTTnliMnhzTFdOdmJuTjBjbUZwYm5SY2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklGWlNUVkp2ZEdGMGFXOXVRMjl1YzNSeVlXbHVkQ0JsZUhSbGJtUnpJRlpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBJSHRjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J5WlhOMElIRjFZWFJsY201cGIyNGdiMllnZEdobElIdEFiR2x1YXlCa1pYTjBhVzVoZEdsdmJuMHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjlrYzNSU1pYTjBVWFZoZERvZ1ZFaFNSVVV1VVhWaGRHVnlibWx2Ymp0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHbHVkbVZ5YzJVZ2IyWWdkR2hsSUhKbGMzUWdjWFZoZEdWeWJtbHZiaUJ2WmlCMGFHVWdlMEJzYVc1cklITnZkWEpqWlgwdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOXBiblpUY21OU1pYTjBVWFZoZERvZ1ZFaFNSVVV1VVhWaGRHVnlibWx2Ymp0Y2JseHVJQ0J3ZFdKc2FXTWdaMlYwSUdSbGNHVnVaR1Z1WTJsbGN5Z3BPaUJUWlhROFZFaFNSVVV1VDJKcVpXTjBNMFE4VkVoU1JVVXVSWFpsYm5RK1BpQjdYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QlRaWFFvVzNSb2FYTXVjMjkxY21ObFhTazdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvWkdWemRHbHVZWFJwYjI0NklGUklVa1ZGTGs5aWFtVmpkRE5FTENCemIzVnlZMlU2SUZSSVVrVkZMazlpYW1WamRETkVLU0I3WEc0Z0lDQWdjM1Z3WlhJb1pHVnpkR2x1WVhScGIyNHNJSE52ZFhKalpTazdYRzVjYmlBZ0lDQjBhR2x6TGw5a2MzUlNaWE4wVVhWaGRDQTlJRzVsZHlCVVNGSkZSUzVSZFdGMFpYSnVhVzl1S0NrN1hHNGdJQ0FnZEdocGN5NWZhVzUyVTNKalVtVnpkRkYxWVhRZ1BTQnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUhObGRFbHVhWFJUZEdGMFpTZ3BPaUIyYjJsa0lIdGNiaUFnSUNCMGFHbHpMbDlrYzNSU1pYTjBVWFZoZEM1amIzQjVLSFJvYVhNdVpHVnpkR2x1WVhScGIyNHVjWFZoZEdWeWJtbHZiaWs3WEc0Z0lDQWdjWFZoZEVsdWRtVnlkRU52YlhCaGRDaDBhR2x6TGw5cGJuWlRjbU5TWlhOMFVYVmhkQzVqYjNCNUtIUm9hWE11YzI5MWNtTmxMbkYxWVhSbGNtNXBiMjRwS1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCMWNHUmhkR1VvS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdMeThnWTJGc1kzVnNZWFJsSUhSb1pTQmtaV3gwWVNCeWIzUmhkR2x2YmlCbWNtOXRJSFJvWlNCeVpYTjBJR0ZpYjNWMElIUm9aU0J6YjNWeVkyVmNiaUFnSUNCamIyNXpkQ0J6Y21ORVpXeDBZVkYxWVhRZ1BTQmZjWFZoZEVFdVkyOXdlU2gwYUdsekxsOXBiblpUY21OU1pYTjBVWFZoZENrdWJYVnNkR2x3Ykhrb2RHaHBjeTV6YjNWeVkyVXVjWFZoZEdWeWJtbHZiaWs3WEc1Y2JpQWdJQ0F2THlCdGRXeDBhWEJzZVNCMGFHVWdaR1ZzZEdFZ2RHOGdkR2hsSUhKbGMzUWdiMllnZEdobElHUmxjM1JwYm1GMGFXOXVYRzRnSUNBZ1kyOXVjM1FnZEdGeVoyVjBVWFZoZENBOUlGOXhkV0YwUWk1amIzQjVLSFJvYVhNdVgyUnpkRkpsYzNSUmRXRjBLUzV0ZFd4MGFYQnNlU2h6Y21ORVpXeDBZVkYxWVhRcE8xeHVYRzRnSUNBZ0x5OGdZbXhsYm1RZ2QybDBhQ0IwYUdVZ2NtVnpkQ0J4ZFdGMFpYSnVhVzl1SUhWemFXNW5JSGRsYVdkb2RGeHVJQ0FnSUhSb2FYTXVaR1Z6ZEdsdVlYUnBiMjR1Y1hWaGRHVnlibWx2Ymk1amIzQjVLSFJvYVhNdVgyUnpkRkpsYzNSUmRXRjBLUzV6YkdWeWNDaDBZWEpuWlhSUmRXRjBMQ0IwYUdsekxuZGxhV2RvZENrN1hHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lIRjFZWFJKYm5abGNuUkRiMjF3WVhRZ2ZTQm1jbTl0SUNjdUwzVjBhV3h6TDNGMVlYUkpiblpsY25SRGIyMXdZWFFuTzF4dWFXMXdiM0owSUhzZ1ZsSk5UbTlrWlVOdmJuTjBjbUZwYm5RZ2ZTQm1jbTl0SUNjdUwxWlNUVTV2WkdWRGIyNXpkSEpoYVc1MEp6dGNibHh1WTI5dWMzUWdYM1l6UVNBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVqYjI1emRDQmZjWFZoZEVFZ1BTQnVaWGNnVkVoU1JVVXVVWFZoZEdWeWJtbHZiaWdwTzF4dVkyOXVjM1FnWDNGMVlYUkNJRDBnYm1WM0lGUklVa1ZGTGxGMVlYUmxjbTVwYjI0b0tUdGNibHh1THlvcVhHNGdLaUJCSUdOdmJuTjBjbUZwYm5RZ2RHaGhkQ0IwY21GdWMyWmxjbk1nWVNCeWIzUmhkR2x2YmlCaGNtOTFibVFnYjI1bElHRjRhWE1nYjJZZ1lTQnpiM1Z5WTJVdVhHNGdLbHh1SUNvZ1UyVmxPaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2ZG5KdExXTXZkbkp0TFhOd1pXTnBabWxqWVhScGIyNHZkSEpsWlM5dFlYTjBaWEl2YzNCbFkybG1hV05oZEdsdmJpOVdVazFEWDI1dlpHVmZZMjl1YzNSeVlXbHVkQzB4TGpCZlltVjBZU055YjJ4c0xXTnZibk4wY21GcGJuUmNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRlpTVFZKdmJHeERiMjV6ZEhKaGFXNTBJR1Y0ZEdWdVpITWdWbEpOVG05a1pVTnZibk4wY21GcGJuUWdlMXh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJSEp2Ykd3Z1lYaHBjeUJ2WmlCMGFHVWdZMjl1YzNSeVlXbHVkQzVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhRZ2NtOXNiRUY0YVhNb0tUb2dKMWduSUh3Z0oxa25JSHdnSjFvbklIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZjbTlzYkVGNGFYTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElISnZiR3dnWVhocGN5QnZaaUIwYUdVZ1kyOXVjM1J5WVdsdWRDNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnpaWFFnY205c2JFRjRhWE1vY205c2JFRjRhWE02SUNkWUp5QjhJQ2RaSnlCOElDZGFKeWtnZTF4dUlDQWdJSFJvYVhNdVgzSnZiR3hCZUdseklEMGdjbTlzYkVGNGFYTTdYRzRnSUNBZ2RHaHBjeTVmZGpOU2IyeHNRWGhwY3k1elpYUW9jbTlzYkVGNGFYTWdQVDA5SUNkWUp5QS9JREV1TUNBNklEQXVNQ3dnY205c2JFRjRhWE1nUFQwOUlDZFpKeUEvSURFdU1DQTZJREF1TUN3Z2NtOXNiRUY0YVhNZ1BUMDlJQ2RhSnlBL0lERXVNQ0E2SURBdU1DazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElISnZiR3dnWVhocGN5QnZaaUIwYUdVZ1kyOXVjM1J5WVdsdWRDNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYM0p2Ykd4QmVHbHpPaUFuV0NjZ2ZDQW5XU2NnZkNBbldpYzdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0I3UUd4cGJtc2dYM0p2Ykd4QmVHbHpmU0JpZFhRZ2FXNGdZVzRnWVdOMGRXRnNJRlpsWTNSdmNqTWdabTl5YlM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1gzWXpVbTlzYkVGNGFYTTZJRlJJVWtWRkxsWmxZM1J2Y2pNN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQnlaWE4wSUhGMVlYUmxjbTVwYjI0Z2IyWWdkR2hsSUh0QWJHbHVheUJrWlhOMGFXNWhkR2x2Ym4wdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOWtjM1JTWlhOMFVYVmhkRG9nVkVoU1JVVXVVWFZoZEdWeWJtbHZianRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUdsdWRtVnljMlVnYjJZZ2RHaGxJSEpsYzNRZ2NYVmhkR1Z5Ym1sdmJpQnZaaUIwYUdVZ2UwQnNhVzVySUdSbGMzUnBibUYwYVc5dWZTNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYMmx1ZGtSemRGSmxjM1JSZFdGME9pQlVTRkpGUlM1UmRXRjBaWEp1YVc5dU8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCZ2MzSmpVbVZ6ZEZGMVlYUXVhVzUyWlhKMEtDa2dLaUJrYzNSU1pYTjBVWFZoZEdBdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElGOXBiblpUY21OU1pYTjBVWFZoZEUxMWJFUnpkRkpsYzNSUmRXRjBPaUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVPMXh1WEc0Z0lIQjFZbXhwWXlCblpYUWdaR1Z3Wlc1a1pXNWphV1Z6S0NrNklGTmxkRHhVU0ZKRlJTNVBZbXBsWTNRelJEeFVTRkpGUlM1RmRtVnVkRDQrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUZObGRDaGJkR2hwY3k1emIzVnlZMlZkS1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaGtaWE4wYVc1aGRHbHZiam9nVkVoU1JVVXVUMkpxWldOME0wUXNJSE52ZFhKalpUb2dWRWhTUlVVdVQySnFaV04wTTBRcElIdGNiaUFnSUNCemRYQmxjaWhrWlhOMGFXNWhkR2x2Yml3Z2MyOTFjbU5sS1R0Y2JseHVJQ0FnSUhSb2FYTXVYM0p2Ykd4QmVHbHpJRDBnSjFnbk8xeHVJQ0FnSUhSb2FYTXVYM1l6VW05c2JFRjRhWE1nUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlneExDQXdMQ0F3S1R0Y2JseHVJQ0FnSUhSb2FYTXVYMlJ6ZEZKbGMzUlJkV0YwSUQwZ2JtVjNJRlJJVWtWRkxsRjFZWFJsY201cGIyNG9LVHRjYmlBZ0lDQjBhR2x6TGw5cGJuWkVjM1JTWlhOMFVYVmhkQ0E5SUc1bGR5QlVTRkpGUlM1UmRXRjBaWEp1YVc5dUtDazdYRzRnSUNBZ2RHaHBjeTVmYVc1MlUzSmpVbVZ6ZEZGMVlYUk5kV3hFYzNSU1pYTjBVWFZoZENBOUlHNWxkeUJVU0ZKRlJTNVJkV0YwWlhKdWFXOXVLQ2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nYzJWMFNXNXBkRk4wWVhSbEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVYMlJ6ZEZKbGMzUlJkV0YwTG1OdmNIa29kR2hwY3k1a1pYTjBhVzVoZEdsdmJpNXhkV0YwWlhKdWFXOXVLVHRjYmlBZ0lDQnhkV0YwU1c1MlpYSjBRMjl0Y0dGMEtIUm9hWE11WDJsdWRrUnpkRkpsYzNSUmRXRjBMbU52Y0hrb2RHaHBjeTVmWkhOMFVtVnpkRkYxWVhRcEtUdGNiaUFnSUNCeGRXRjBTVzUyWlhKMFEyOXRjR0YwS0hSb2FYTXVYMmx1ZGxOeVkxSmxjM1JSZFdGMFRYVnNSSE4wVW1WemRGRjFZWFF1WTI5d2VTaDBhR2x6TG5OdmRYSmpaUzV4ZFdGMFpYSnVhVzl1S1NrdWJYVnNkR2x3Ykhrb2RHaHBjeTVmWkhOMFVtVnpkRkYxWVhRcE8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklIVndaR0YwWlNncE9pQjJiMmxrSUh0Y2JpQWdJQ0F2THlCallXeGpkV3hoZEdVZ2RHaGxJR1JsYkhSaElISnZkR0YwYVc5dUlHWnliMjBnZEdobElISmxjM1FnWVdKdmRYUWdkR2hsSUhOdmRYSmpaU3dnZEdobGJpQmpiMjUyWlhKMElIUnZJSFJvWlNCa1pYTjBhVzVoZEdsdmJpQnNiMk5oYkNCamIyOXlaRnh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRmRvWVhRZ2RHaGxJSEYxWVhSRVpXeDBZU0JwY3lCcGJuUmxibVJsWkNCMGJ5QmlaVHBjYmlBZ0lDQWdLbHh1SUNBZ0lDQXFJR0JnWUhSelhHNGdJQ0FnSUNvZ1kyOXVjM1FnY1hWaGRGTnlZMFJsYkhSaElEMGdYM0YxWVhSQlhHNGdJQ0FnSUNvZ0lDQXVZMjl3ZVNnZ2RHaHBjeTVmYVc1MlUzSmpVbVZ6ZEZGMVlYUWdLVnh1SUNBZ0lDQXFJQ0FnTG0xMWJIUnBjR3g1S0NCMGFHbHpMbk52ZFhKalpTNXhkV0YwWlhKdWFXOXVJQ2s3WEc0Z0lDQWdJQ29nWTI5dWMzUWdjWFZoZEZOeVkwUmxiSFJoU1c1UVlYSmxiblFnUFNCZmNYVmhkRUpjYmlBZ0lDQWdLaUFnSUM1amIzQjVLQ0IwYUdsekxsOXpjbU5TWlhOMFVYVmhkQ0FwWEc0Z0lDQWdJQ29nSUNBdWJYVnNkR2x3Ykhrb0lIRjFZWFJUY21ORVpXeDBZU0FwWEc0Z0lDQWdJQ29nSUNBdWJYVnNkR2x3Ykhrb0lIUm9hWE11WDJsdWRsTnlZMUpsYzNSUmRXRjBJQ2s3WEc0Z0lDQWdJQ29nWTI5dWMzUWdjWFZoZEZOeVkwUmxiSFJoU1c1RWMzUWdQU0JmY1hWaGRFRmNiaUFnSUNBZ0tpQWdJQzVqYjNCNUtDQjBhR2x6TGw5cGJuWkVjM1JTWlhOMFVYVmhkQ0FwWEc0Z0lDQWdJQ29nSUNBdWJYVnNkR2x3Ykhrb0lIRjFZWFJUY21ORVpXeDBZVWx1VUdGeVpXNTBJQ2xjYmlBZ0lDQWdLaUFnSUM1dGRXeDBhWEJzZVNnZ2RHaHBjeTVmWkhOMFVtVnpkRkYxWVhRZ0tUdGNiaUFnSUNBZ0tpQmdZR0JjYmlBZ0lDQWdLaTljYmlBZ0lDQmpiMjV6ZENCeGRXRjBSR1ZzZEdFZ1BTQmZjWFZoZEVGY2JpQWdJQ0FnSUM1amIzQjVLSFJvYVhNdVgybHVka1J6ZEZKbGMzUlJkV0YwS1Z4dUlDQWdJQ0FnTG0xMWJIUnBjR3g1S0hSb2FYTXVjMjkxY21ObExuRjFZWFJsY201cGIyNHBYRzRnSUNBZ0lDQXViWFZzZEdsd2JIa29kR2hwY3k1ZmFXNTJVM0pqVW1WemRGRjFZWFJOZFd4RWMzUlNaWE4wVVhWaGRDazdYRzVjYmlBZ0lDQXZMeUJqY21WaGRHVWdZU0JtY205dExYUnZJSEYxWVhSbGNtNXBiMjVjYmlBZ0lDQmpiMjV6ZENCdU1TQTlJRjkyTTBFdVkyOXdlU2gwYUdsekxsOTJNMUp2Ykd4QmVHbHpLUzVoY0hCc2VWRjFZWFJsY201cGIyNG9jWFZoZEVSbGJIUmhLVHRjYmx4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUZkb1lYUWdkR2hsSUhGMVlYUkdjbTl0Vkc4Z2FYTWdhVzUwWlc1a1pXUWdkRzhnWW1VNlhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCZ1lHQjBjMXh1SUNBZ0lDQXFJR052Ym5OMElIRjFZWFJHY205dFZHOGdQU0JmY1hWaGRFSXVjMlYwUm5KdmJWVnVhWFJXWldOMGIzSnpLQ0IwYUdsekxsOTJNMUp2Ykd4QmVHbHpMQ0J1TVNBcExtbHVkbVZ5YzJVb0tUdGNiaUFnSUNBZ0tpQmdZR0JjYmlBZ0lDQWdLaTljYmlBZ0lDQmpiMjV6ZENCeGRXRjBSbkp2YlZSdklEMGdYM0YxWVhSQ0xuTmxkRVp5YjIxVmJtbDBWbVZqZEc5eWN5aHVNU3dnZEdocGN5NWZkak5TYjJ4c1FYaHBjeWs3WEc1Y2JpQWdJQ0F2THlCeGRXRjBSbkp2YlZSdklDb2djWFZoZEVSbGJIUmhJRDA5SUhKdmJHd2daWGgwY21GamRHVmtJR1p5YjIwZ2NYVmhkRVJsYkhSaFhHNGdJQ0FnWTI5dWMzUWdkR0Z5WjJWMFVYVmhkQ0E5SUhGMVlYUkdjbTl0Vkc4dWNISmxiWFZzZEdsd2JIa29kR2hwY3k1ZlpITjBVbVZ6ZEZGMVlYUXBMbTExYkhScGNHeDVLSEYxWVhSRVpXeDBZU2s3WEc1Y2JpQWdJQ0F2THlCaWJHVnVaQ0IzYVhSb0lIUm9aU0J5WlhOMElIRjFZWFJsY201cGIyNGdkWE5wYm1jZ2QyVnBaMmgwWEc0Z0lDQWdkR2hwY3k1a1pYTjBhVzVoZEdsdmJpNXhkV0YwWlhKdWFXOXVMbU52Y0hrb2RHaHBjeTVmWkhOMFVtVnpkRkYxWVhRcExuTnNaWEp3S0hSaGNtZGxkRkYxWVhRc0lIUm9hWE11ZDJWcFoyaDBLVHRjYmlBZ2ZWeHVmVnh1SWl3aWFXMXdiM0owSUhSNWNHVWdLaUJoY3lCRGIyNXpkSEpoYVc1MFUyTm9aVzFoSUdaeWIyMGdKMEJ3YVhocGRpOTBlWEJsY3kxMmNtMWpMVzV2WkdVdFkyOXVjM1J5WVdsdWRDMHhMakFuTzF4dWFXMXdiM0owSUhSNWNHVWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkTVZFWXNJRWRNVkVaTWIyRmtaWEpRYkhWbmFXNHNJRWRNVkVaUVlYSnpaWElnZlNCbWNtOXRJQ2QwYUhKbFpTOWxlR0Z0Y0d4bGN5OXFjMjB2Ykc5aFpHVnljeTlIVEZSR1RHOWhaR1Z5TG1wekp6dGNibWx0Y0c5eWRDQjdJRlpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBTR1ZzY0dWeUlIMGdabkp2YlNBbkxpOW9aV3h3WlhKekp6dGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1ZsSk5UbTlrWlVOdmJuTjBjbUZwYm5STWIyRmtaWEpRYkhWbmFXNVBjSFJwYjI1eklIMGdabkp2YlNBbkxpOVdVazFPYjJSbFEyOXVjM1J5WVdsdWRFeHZZV1JsY2xCc2RXZHBiazl3ZEdsdmJuTW5PMXh1YVcxd2IzSjBJSHNnVmxKTlRtOWtaVU52Ym5OMGNtRnBiblJOWVc1aFoyVnlJSDBnWm5KdmJTQW5MaTlXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRTFoYm1GblpYSW5PMXh1YVcxd2IzSjBJSHNnVmxKTlVtOTBZWFJwYjI1RGIyNXpkSEpoYVc1MElIMGdabkp2YlNBbkxpOVdVazFTYjNSaGRHbHZia052Ym5OMGNtRnBiblFuTzF4dWFXMXdiM0owSUhzZ1IweFVSaUJoY3lCSFRGUkdVMk5vWlcxaElIMGdabkp2YlNBblFHZHNkR1l0ZEhKaGJuTm1iM0p0TDJOdmNtVW5PMXh1YVcxd2IzSjBJSHNnVmxKTlFXbHRRMjl1YzNSeVlXbHVkQ0I5SUdaeWIyMGdKeTR2VmxKTlFXbHRRMjl1YzNSeVlXbHVkQ2M3WEc1cGJYQnZjblFnZXlCV1VrMVNiMnhzUTI5dWMzUnlZV2x1ZENCOUlHWnliMjBnSnk0dlZsSk5VbTlzYkVOdmJuTjBjbUZwYm5Rbk8xeHVYRzR2S2lwY2JpQXFJRkJ2YzNOcFlteGxJSE53WldNZ2RtVnljMmx2Ym5NZ2FYUWdjbVZqYjJkdWFYcGxjeTVjYmlBcUwxeHVZMjl1YzNRZ1VFOVRVMGxDVEVWZlUxQkZRMTlXUlZKVFNVOU9VeUE5SUc1bGR5QlRaWFFvV3ljeExqQW5MQ0FuTVM0d0xXSmxkR0VuWFNrN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCV1VrMU9iMlJsUTI5dWMzUnlZV2x1ZEV4dllXUmxjbEJzZFdkcGJpQnBiWEJzWlcxbGJuUnpJRWRNVkVaTWIyRmtaWEpRYkhWbmFXNGdlMXh1SUNCd2RXSnNhV01nYzNSaGRHbGpJSEpsWVdSdmJteDVJRVZZVkVWT1UwbFBUbDlPUVUxRklEMGdKMVpTVFVOZmJtOWtaVjlqYjI1emRISmhhVzUwSnp0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVTNCbFkybG1lU0JoYmlCUFltcGxZM1F6UkNCMGJ5QmhaR1FnZTBCc2FXNXJJRlpTVFU1dlpHVkRiMjV6ZEhKaGFXNTBTR1ZzY0dWeWZTQnpMbHh1SUNBZ0tpQkpaaUJ1YjNRZ2MzQmxZMmxtYVdWa0xDQm9aV3h3WlhJZ2QybHNiQ0J1YjNRZ1ltVWdZM0psWVhSbFpDNWNiaUFnSUNvZ1NXWWdZSEpsYm1SbGNrOXlaR1Z5WUNCcGN5QnpaWFFnZEc4Z2RHaGxJSEp2YjNRc0lHaGxiSEJsY25NZ2QybHNiQ0JqYjNCNUlIUm9aU0J6WVcxbElHQnlaVzVrWlhKUGNtUmxjbUFnTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdobGJIQmxjbEp2YjNRL09pQlVTRkpGUlM1UFltcGxZM1F6UkR0Y2JseHVJQ0J3ZFdKc2FXTWdjbVZoWkc5dWJIa2djR0Z5YzJWeU9pQkhURlJHVUdGeWMyVnlPMXh1WEc0Z0lIQjFZbXhwWXlCblpYUWdibUZ0WlNncE9pQnpkSEpwYm1jZ2UxeHVJQ0FnSUhKbGRIVnliaUJXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRXh2WVdSbGNsQnNkV2RwYmk1RldGUkZUbE5KVDA1ZlRrRk5SVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2lod1lYSnpaWEk2SUVkTVZFWlFZWEp6WlhJc0lHOXdkR2x2Ym5NL09pQldVazFPYjJSbFEyOXVjM1J5WVdsdWRFeHZZV1JsY2xCc2RXZHBiazl3ZEdsdmJuTXBJSHRjYmlBZ0lDQjBhR2x6TG5CaGNuTmxjaUE5SUhCaGNuTmxjanRjYmx4dUlDQWdJSFJvYVhNdWFHVnNjR1Z5VW05dmRDQTlJRzl3ZEdsdmJuTS9MbWhsYkhCbGNsSnZiM1E3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWVhONWJtTWdZV1owWlhKU2IyOTBLR2RzZEdZNklFZE1WRVlwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQm5iSFJtTG5WelpYSkVZWFJoTG5aeWJVNXZaR1ZEYjI1emRISmhhVzUwVFdGdVlXZGxjaUE5SUdGM1lXbDBJSFJvYVhNdVgybHRjRzl5ZENobmJIUm1LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSmJYQnZjblFnWTI5dWMzUnlZV2x1ZEhNZ1puSnZiU0JoSUVkTVZFWWdZVzVrSUhKbGRIVnlibk1nWVNCN1FHeHBibXNnVmxKTlRtOWtaVU52Ym5OMGNtRnBiblJOWVc1aFoyVnlmUzVjYmlBZ0lDb2dTWFFnYldsbmFIUWdjbVYwZFhKdUlHQnVkV3hzWUNCcGJuTjBaV0ZrSUhkb1pXNGdhWFFnWkc5bGN5QnViM1FnYm1WbFpDQjBieUJpWlNCamNtVmhkR1ZrSUc5eUlITnZiV1YwYUdsdVp5Qm5ieUIzY205dVp5NWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJR2RzZEdZZ1FTQndZWEp6WldRZ2NtVnpkV3gwSUc5bUlFZE1WRVlnZEdGclpXNGdabkp2YlNCSFRGUkdURzloWkdWeVhHNGdJQ0FxTDF4dUlDQndjbTkwWldOMFpXUWdZWE41Ym1NZ1gybHRjRzl5ZENobmJIUm1PaUJIVEZSR0tUb2dVSEp2YldselpUeFdVazFPYjJSbFEyOXVjM1J5WVdsdWRFMWhibUZuWlhJZ2ZDQnVkV3hzUGlCN1hHNGdJQ0FnWTI5dWMzUWdhbk52YmlBOUlIUm9hWE11Y0dGeWMyVnlMbXB6YjI0Z1lYTWdSMHhVUmxOamFHVnRZUzVKUjB4VVJqdGNibHh1SUNBZ0lDOHZJR1ZoY214NUlHRmliM0owSUdsbUlHbDBJR1J2WlhOdUozUWdkWE5sSUdOdmJuTjBjbUZwYm5SelhHNGdJQ0FnWTI5dWMzUWdhWE5EYjI1emRISmhhVzUwYzFWelpXUWdQU0JxYzI5dUxtVjRkR1Z1YzJsdmJuTlZjMlZrUHk1cGJtUmxlRTltS0ZaU1RVNXZaR1ZEYjI1emRISmhhVzUwVEc5aFpHVnlVR3gxWjJsdUxrVllWRVZPVTBsUFRsOU9RVTFGS1NBaFBUMGdMVEU3WEc0Z0lDQWdhV1lnS0NGcGMwTnZibk4wY21GcGJuUnpWWE5sWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYldGdVlXZGxjaUE5SUc1bGR5QldVazFPYjJSbFEyOXVjM1J5WVdsdWRFMWhibUZuWlhJb0tUdGNiaUFnSUNCamIyNXpkQ0IwYUhKbFpVNXZaR1Z6T2lCVVNGSkZSUzVQWW1wbFkzUXpSRnRkSUQwZ1lYZGhhWFFnZEdocGN5NXdZWEp6WlhJdVoyVjBSR1Z3Wlc1a1pXNWphV1Z6S0NkdWIyUmxKeWs3WEc1Y2JpQWdJQ0F2THlCcGJYQnZjblFnWTI5dWMzUnlZV2x1ZEhNZ1ptOXlJR1ZoWTJnZ2JtOWtaWE5jYmlBZ0lDQjBhSEpsWlU1dlpHVnpMbVp2Y2tWaFkyZ29LRzV2WkdVc0lHNXZaR1ZKYm1SbGVDa2dQVDRnZTF4dUlDQWdJQ0FnWTI5dWMzUWdjMk5vWlcxaFRtOWtaU0E5SUdwemIyNHVibTlrWlhNaFcyNXZaR1ZKYm1SbGVGMDdYRzVjYmlBZ0lDQWdJQzh2SUdOb1pXTnJJR2xtSUhSb1pTQmxlSFJsYm5OcGIyNGdkWE5sY3lCMGFHVWdaWGgwWlc1emFXOXVYRzRnSUNBZ0lDQmpiMjV6ZENCbGVIUmxibk5wYjI0Z1BTQnpZMmhsYldGT2IyUmxQeTVsZUhSbGJuTnBiMjV6UHk1YlZsSk5UbTlrWlVOdmJuTjBjbUZwYm5STWIyRmtaWEpRYkhWbmFXNHVSVmhVUlU1VFNVOU9YMDVCVFVWZElHRnpYRzRnSUNBZ0lDQWdJSHdnUTI5dWMzUnlZV2x1ZEZOamFHVnRZUzVXVWsxRFRtOWtaVU52Ym5OMGNtRnBiblJjYmlBZ0lDQWdJQ0FnZkNCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNBZ0lHbG1JQ2hsZUhSbGJuTnBiMjRnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJSE53WldOV1pYSnphVzl1SUQwZ1pYaDBaVzV6YVc5dUxuTndaV05XWlhKemFXOXVPMXh1SUNBZ0lDQWdhV1lnS0NGUVQxTlRTVUpNUlY5VFVFVkRYMVpGVWxOSlQwNVRMbWhoY3loemNHVmpWbVZ5YzJsdmJpa3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtGeHVJQ0FnSUNBZ0lDQWdJR0JXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRXh2WVdSbGNsQnNkV2RwYmpvZ1ZXNXJibTkzYmlBa2UxWlNUVTV2WkdWRGIyNXpkSEpoYVc1MFRHOWhaR1Z5VUd4MVoybHVMa1ZZVkVWT1UwbFBUbDlPUVUxRmZTQnpjR1ZqVm1WeWMybHZiaUJjSWlSN2MzQmxZMVpsY25OcGIyNTlYQ0pnTEZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTnZibk4wSUdOdmJuTjBjbUZwYm5SRVpXWWdQU0JsZUhSbGJuTnBiMjR1WTI5dWMzUnlZV2x1ZER0Y2JseHVJQ0FnSUNBZ0x5OGdhVzF3YjNKMElHTnZibk4wY21GcGJuUnpYRzRnSUNBZ0lDQnBaaUFvWTI5dWMzUnlZV2x1ZEVSbFppNXliMnhzSUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWTI5dWMzUnlZV2x1ZENBOUlIUm9hWE11WDJsdGNHOXlkRkp2Ykd4RGIyNXpkSEpoYVc1MEtHNXZaR1VzSUhSb2NtVmxUbTlrWlhNc0lHTnZibk4wY21GcGJuUkVaV1l1Y205c2JDazdYRzRnSUNBZ0lDQWdJRzFoYm1GblpYSXVZV1JrUTI5dWMzUnlZV2x1ZENoamIyNXpkSEpoYVc1MEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9ZMjl1YzNSeVlXbHVkRVJsWmk1aGFXMGdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmpiMjV6ZEhKaGFXNTBJRDBnZEdocGN5NWZhVzF3YjNKMFFXbHRRMjl1YzNSeVlXbHVkQ2h1YjJSbExDQjBhSEpsWlU1dlpHVnpMQ0JqYjI1emRISmhhVzUwUkdWbUxtRnBiU2s3WEc0Z0lDQWdJQ0FnSUcxaGJtRm5aWEl1WVdSa1EyOXVjM1J5WVdsdWRDaGpiMjV6ZEhKaGFXNTBLVHRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvWTI5dWMzUnlZV2x1ZEVSbFppNXliM1JoZEdsdmJpQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHTnZibk4wY21GcGJuUWdQU0IwYUdsekxsOXBiWEJ2Y25SU2IzUmhkR2x2YmtOdmJuTjBjbUZwYm5Rb2JtOWtaU3dnZEdoeVpXVk9iMlJsY3l3Z1kyOXVjM1J5WVdsdWRFUmxaaTV5YjNSaGRHbHZiaWs3WEc0Z0lDQWdJQ0FnSUcxaGJtRm5aWEl1WVdSa1EyOXVjM1J5WVdsdWRDaGpiMjV6ZEhKaGFXNTBLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJQzh2SUdsdWFYUWdZMjl1YzNSeVlXbHVkSE5jYmlBZ0lDQm5iSFJtTG5OalpXNWxMblZ3WkdGMFpVMWhkSEpwZUZkdmNteGtLQ2s3WEc0Z0lDQWdiV0Z1WVdkbGNpNXpaWFJKYm1sMFUzUmhkR1VvS1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ0WVc1aFoyVnlPMXh1SUNCOVhHNWNiaUFnY0hKdmRHVmpkR1ZrSUY5cGJYQnZjblJTYjJ4c1EyOXVjM1J5WVdsdWRDaGNiaUFnSUNCa1pYTjBhVzVoZEdsdmJqb2dWRWhTUlVVdVQySnFaV04wTTBRc1hHNGdJQ0FnYm05a1pYTTZJRlJJVWtWRkxrOWlhbVZqZERORVcxMHNYRzRnSUNBZ2NtOXNiRU52Ym5OMGNtRnBiblJFWldZNklFTnZibk4wY21GcGJuUlRZMmhsYldFdVVtOXNiRU52Ym5OMGNtRnBiblFzWEc0Z0lDazZJRlpTVFZKdmJHeERiMjV6ZEhKaGFXNTBJSHRjYmlBZ0lDQmpiMjV6ZENCN0lITnZkWEpqWlRvZ2MyOTFjbU5sU1c1a1pYZ3NJSEp2Ykd4QmVHbHpMQ0IzWldsbmFIUWdmU0E5SUhKdmJHeERiMjV6ZEhKaGFXNTBSR1ZtTzF4dUlDQWdJR052Ym5OMElITnZkWEpqWlNBOUlHNXZaR1Z6VzNOdmRYSmpaVWx1WkdWNFhUdGNiaUFnSUNCamIyNXpkQ0JqYjI1emRISmhhVzUwSUQwZ2JtVjNJRlpTVFZKdmJHeERiMjV6ZEhKaGFXNTBLR1JsYzNScGJtRjBhVzl1TENCemIzVnlZMlVwTzF4dVhHNGdJQ0FnYVdZZ0tISnZiR3hCZUdseklDRTlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHTnZibk4wY21GcGJuUXVjbTlzYkVGNGFYTWdQU0J5YjJ4c1FYaHBjenRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSGRsYVdkb2RDQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmpiMjV6ZEhKaGFXNTBMbmRsYVdkb2RDQTlJSGRsYVdkb2REdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR2hwY3k1b1pXeHdaWEpTYjI5MEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCb1pXeHdaWElnUFNCdVpYY2dWbEpOVG05a1pVTnZibk4wY21GcGJuUklaV3h3WlhJb1kyOXVjM1J5WVdsdWRDazdYRzRnSUNBZ0lDQjBhR2x6TG1obGJIQmxjbEp2YjNRdVlXUmtLR2hsYkhCbGNpazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdOdmJuTjBjbUZwYm5RN1hHNGdJSDFjYmx4dUlDQndjbTkwWldOMFpXUWdYMmx0Y0c5eWRFRnBiVU52Ym5OMGNtRnBiblFvWEc0Z0lDQWdaR1Z6ZEdsdVlYUnBiMjQ2SUZSSVVrVkZMazlpYW1WamRETkVMRnh1SUNBZ0lHNXZaR1Z6T2lCVVNGSkZSUzVQWW1wbFkzUXpSRnRkTEZ4dUlDQWdJR0ZwYlVOdmJuTjBjbUZwYm5SRVpXWTZJRU52Ym5OMGNtRnBiblJUWTJobGJXRXVRV2x0UTI5dWMzUnlZV2x1ZEN4Y2JpQWdLVG9nVmxKTlFXbHRRMjl1YzNSeVlXbHVkQ0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QnpiM1Z5WTJVNklITnZkWEpqWlVsdVpHVjRMQ0JoYVcxQmVHbHpMQ0IzWldsbmFIUWdmU0E5SUdGcGJVTnZibk4wY21GcGJuUkVaV1k3WEc0Z0lDQWdZMjl1YzNRZ2MyOTFjbU5sSUQwZ2JtOWtaWE5iYzI5MWNtTmxTVzVrWlhoZE8xeHVJQ0FnSUdOdmJuTjBJR052Ym5OMGNtRnBiblFnUFNCdVpYY2dWbEpOUVdsdFEyOXVjM1J5WVdsdWRDaGtaWE4wYVc1aGRHbHZiaXdnYzI5MWNtTmxLVHRjYmx4dUlDQWdJR2xtSUNoaGFXMUJlR2x6SUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBjbUZwYm5RdVlXbHRRWGhwY3lBOUlHRnBiVUY0YVhNN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoM1pXbG5hSFFnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUnlZV2x1ZEM1M1pXbG5hSFFnUFNCM1pXbG5hSFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVhR1ZzY0dWeVVtOXZkQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhR1ZzY0dWeUlEMGdibVYzSUZaU1RVNXZaR1ZEYjI1emRISmhhVzUwU0dWc2NHVnlLR052Ym5OMGNtRnBiblFwTzF4dUlDQWdJQ0FnZEdocGN5NW9aV3h3WlhKU2IyOTBMbUZrWkNob1pXeHdaWElwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQmpiMjV6ZEhKaGFXNTBPMXh1SUNCOVhHNWNiaUFnY0hKdmRHVmpkR1ZrSUY5cGJYQnZjblJTYjNSaGRHbHZia052Ym5OMGNtRnBiblFvWEc0Z0lDQWdaR1Z6ZEdsdVlYUnBiMjQ2SUZSSVVrVkZMazlpYW1WamRETkVMRnh1SUNBZ0lHNXZaR1Z6T2lCVVNGSkZSUzVQWW1wbFkzUXpSRnRkTEZ4dUlDQWdJSEp2ZEdGMGFXOXVRMjl1YzNSeVlXbHVkRVJsWmpvZ1EyOXVjM1J5WVdsdWRGTmphR1Z0WVM1U2IzUmhkR2x2YmtOdmJuTjBjbUZwYm5Rc1hHNGdJQ2s2SUZaU1RWSnZkR0YwYVc5dVEyOXVjM1J5WVdsdWRDQjdYRzRnSUNBZ1kyOXVjM1FnZXlCemIzVnlZMlU2SUhOdmRYSmpaVWx1WkdWNExDQjNaV2xuYUhRZ2ZTQTlJSEp2ZEdGMGFXOXVRMjl1YzNSeVlXbHVkRVJsWmp0Y2JpQWdJQ0JqYjI1emRDQnpiM1Z5WTJVZ1BTQnViMlJsYzF0emIzVnlZMlZKYm1SbGVGMDdYRzRnSUNBZ1kyOXVjM1FnWTI5dWMzUnlZV2x1ZENBOUlHNWxkeUJXVWsxU2IzUmhkR2x2YmtOdmJuTjBjbUZwYm5Rb1pHVnpkR2x1WVhScGIyNHNJSE52ZFhKalpTazdYRzVjYmlBZ0lDQnBaaUFvZDJWcFoyaDBJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR052Ym5OMGNtRnBiblF1ZDJWcFoyaDBJRDBnZDJWcFoyaDBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtaGxiSEJsY2xKdmIzUXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHaGxiSEJsY2lBOUlHNWxkeUJXVWsxT2IyUmxRMjl1YzNSeVlXbHVkRWhsYkhCbGNpaGpiMjV6ZEhKaGFXNTBLVHRjYmlBZ0lDQWdJSFJvYVhNdWFHVnNjR1Z5VW05dmRDNWhaR1FvYUdWc2NHVnlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1kyOXVjM1J5WVdsdWREdGNiaUFnZlZ4dWZWeHVJbDBzSW01aGJXVnpJanBiSWw5Mk0wRWlMQ0pmZGpOQ0lpd2lYM0YxWVhSQklpd2lYM0YxWVhSQ0lsMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3TzBGQlIwRXNUVUZCVFVFc1RVRkJTU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMEZCUlhCQ0xFMUJRVUVzZFVKQlFYZENMRk5CUVZFc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlFUdEJRVXQwUkN4SlFVRkJMRmRCUVVFc1EwRkJiVUlzVlVGQk5rSXNSVUZCUVR0QlFVTTVReXhSUVVGQkxFdEJRVXNzUlVGQlJTeERRVUZETzBGQlJWSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1lVRkJZU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVONFJpeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJRenRCUVVWd1JDeFJRVUZCTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzFGQlF6VkRMRkZCUVZFc1EwRkJReXhaUVVGWkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRCUVVWMFJDeFJRVUZCTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExHbENRVUZwUWl4RFFVRkRPMEZCUXpORExGbEJRVUVzUzBGQlN5eEZRVUZGTEZGQlFWRTdRVUZEWml4WlFVRkJMRk5CUVZNc1JVRkJSU3hMUVVGTE8wRkJRMmhDTEZsQlFVRXNWVUZCVlN4RlFVRkZMRXRCUVVzN1FVRkRiRUlzVTBGQlFTeERRVUZETEVOQlFVTTdRVUZGU0N4UlFVRkJMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1JVRkJSU3hSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVU5vUkN4UlFVRkJMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUlhKQ0xGRkJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4VlFVRlZMRU5CUVVNN1MwRkRPVUk3UVVGRlRTeEpRVUZCTEdsQ1FVRnBRaXhEUVVGRExFdEJRV1VzUlVGQlFUdFJRVU4wUTBFc1RVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVjBGQlZ5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMEZCUTNCRkxGRkJRVUVzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhGUVVGRlFTeE5RVUZKTEVOQlFVTXNRMEZCUXl4RlFVRkZRU3hOUVVGSkxFTkJRVU1zUTBGQlF5eEZRVUZGUVN4TlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRmNrUXNVVUZCUVN4SlFVRkpMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQlRTeEZRVUZGTzFsQlF6RkNRU3hOUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1FVRkRhRVVzVTBGQlFUdEJRVU5FTEZGQlFVRXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eEZRVUZGUVN4TlFVRkpMRU5CUVVNc1EwRkJReXhGUVVGRlFTeE5RVUZKTEVOQlFVTXNRMEZCUXl4RlFVRkZRU3hOUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZGY2tRc1VVRkJRU3hKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNN1FVRkZkRU1zVVVGQlFTeExRVUZMTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTMEZEYUVNN1FVRkRSanM3UVVNeFEyVXNVMEZCUVN4cFFrRkJhVUlzUTBGQk1FSXNUVUZCY1VJc1JVRkJSU3hOUVVGVExFVkJRVUU3U1VGRGVrWXNUMEZCVHl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4TlFVRk5MRU5CUVVNc1VVRkJVU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEYmtZN08wRkRSa0VzVFVGQlRVRXNUVUZCU1N4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQlEycERMRTFCUVUxRExFMUJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVWcVFpeFRRVUZCTEdsQ1FVRnBRaXhEUVVFMlFpeE5RVUZ4UWl4RlFVRkZMRTFCUVZNc1JVRkJRVHRKUVVNMVJpeE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRSQ3hOUVVGSkxFVkJRVVVzVFVGQlRTeEZRVUZGUXl4TlFVRkpMRU5CUVVNc1EwRkJRenRCUVVOeVF5eEpRVUZCTEU5QlFVOHNUVUZCVFN4RFFVRkRPMEZCUTJoQ096dEJRMDVCT3pzN096dEJRVXRITzBGQlEwY3NVMEZCVlN4blFrRkJaMElzUTBGQk5rSXNUVUZCVXl4RlFVRkJPMGxCUTNCRkxFbEJRVXNzVFVGQll5eERRVUZETEUxQlFVMHNSVUZCUlR0UlFVTXhRaXhOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZEYWtJc1MwRkJRVHRCUVVGTkxGTkJRVUU3VVVGRFNpeE5RVUZqTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkRNMElzUzBGQlFUdEJRVVZFTEVsQlFVRXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUk3TzBGRFpFRTdPMEZCUlVjN1RVRkRiVUlzYVVKQlFXbENMRU5CUVVFN1FVRnJRbkpET3pzN1FVRkhSenRKUVVOSUxGZEJRVzFDTEVOQlFVRXNWMEZCTWtJc1JVRkJSU3hOUVVGelFpeEZRVUZCTzBGQlEzQkZMRkZCUVVFc1NVRkJTU3hEUVVGRExGZEJRVmNzUjBGQlJ5eFhRVUZYTEVOQlFVTTdRVUZETDBJc1VVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0QlFVVnlRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVY3NSMEZCUnl4RFFVRkRPMHRCUTI1Q08wRkJWMFk3TzBGRGNrTkVMRTFCUVUxRUxFMUJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOcVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVU5xUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVTnFReXhOUVVGTlJTeFJRVUZOTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03UVVGRGRFTXNUVUZCVFVNc1VVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMEZCUTNSRExFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8wRkJSWFJET3pzN08wRkJTVWM3UVVGRFJ5eE5RVUZQTEdkQ1FVRnBRaXhUUVVGUkxHbENRVUZwUWl4RFFVRkJPMEZCUTNKRU96dEJRVVZITzBGQlEwZ3NTVUZCUVN4SlFVRlhMRTlCUVU4c1IwRkJRVHRSUVVOb1FpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNN1MwRkRkRUk3UVVGRlJEczdRVUZGUnp0SlFVTklMRWxCUVZjc1QwRkJUeXhEUVVGRExFOUJRVEJHTEVWQlFVRTdRVUZETTBjc1VVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITEU5QlFVOHNRMEZCUXp0QlFVTjRRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVTnFRaXhQUVVGUExFdEJRVXNzVjBGQlZ5eEhRVUZITEVkQlFVY3NSMEZCUnl4UFFVRlBMRXRCUVVzc1YwRkJWeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVkQlFVY3NSVUZEY0VVc1QwRkJUeXhMUVVGTExGZEJRVmNzUjBGQlJ5eEhRVUZITEVkQlFVY3NUMEZCVHl4TFFVRkxMRmRCUVZjc1IwRkJSeXhEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVWQlEzQkZMRTlCUVU4c1MwRkJTeXhYUVVGWExFZEJRVWNzUjBGQlJ5eEhRVUZITEU5QlFVOHNTMEZCU3l4WFFVRlhMRWRCUVVjc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVU55UlN4RFFVRkRPMHRCUTBnN1FVRnBRa1FzU1VGQlFTeEpRVUZYTEZsQlFWa3NSMEZCUVR0UlFVTnlRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVkQlFVY3NRMEZCYVVJc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVVnVSQ3hSUVVGQkxFbEJRVWtzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4TlFVRk5MRVZCUVVVN1dVRkRNMElzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlEyeERMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFOUJRVThzUjBGQlJ5eERRVUZETzB0QlExbzdTVUZGUkN4WFFVRnRRaXhEUVVGQkxGZEJRVEpDTEVWQlFVVXNUVUZCYzBJc1JVRkJRVHRCUVVOd1JTeFJRVUZCTEV0QlFVc3NRMEZCUXl4WFFVRlhMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRk0wSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1VVRkJVU3hIUVVGSExGZEJRVmNzUTBGQlF6dEJRVU0xUWl4UlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZGTjBNc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRMUVVNMVF6dEpRVVZOTEZsQlFWa3NSMEZCUVR0UlFVTnFRaXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzB0QlEzSkVPMGxCUlUwc1RVRkJUU3hIUVVGQk96dFJRVVZZTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRMmhFTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE96dEJRVWN6UXl4UlFVRkJMRTFCUVUwc2EwSkJRV3RDTEVkQlFVZEVMRkZCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dEJRVU0zUXl4UlFVRkJMRTFCUVUwc2NVSkJRWEZDTEVkQlFVZERMRkZCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dEJRVU5vUkN4UlFVRkJMRWxCUVVrc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eE5RVUZOTEVWQlFVVTdXVUZETTBJc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEd0Q1FVRnJRaXhEUVVGRExFTkJRVU03V1VGRE0wVXNaMEpCUVdkQ0xFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOc1JTeFRRVUZCT3p0UlFVZEVMRTFCUVUwc1JVRkJSU3hIUVVGSFNDeE5RVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eGxRVUZsTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExHVkJRV1VzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8xRkJRemRITEUxQlFVMHNSVUZCUlN4SFFVRkhMR2xDUVVGcFFpeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhGUVVGRkxFbEJRVWtzUTBGQlF6dGhRVU40UkN4SFFVRkhMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhYUVVGWExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdRVUZETVVRc1lVRkJRU3hUUVVGVExFVkJRVVVzUTBGQlF6czdVVUZIWml4TlFVRk5MRlZCUVZVc1IwRkJSeXhOUVVGTk8wRkJRM1JDTEdGQlFVRXNhMEpCUVd0Q0xFTkJRVU1zUlVGQlJTeEZRVUZGTEVWQlFVVXNRMEZCUXp0aFFVTXhRaXhYUVVGWExFTkJRVU1zY1VKQlFYRkNMRU5CUVVNN1lVRkRiRU1zVVVGQlVTeERRVUZETEd0Q1FVRnJRaXhEUVVGRE8wRkJRelZDTEdGQlFVRXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6czdVVUZITDBJc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RlFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dExRVU53Ump0QlFVTkdPenRCUTNwSFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCYjBkQk8wRkJRMDhzVTBGQlV5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZMRlZCUVZVc1JVRkJSU3hEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTzBGQlF6ZEVMRWxCUVVrc1UwRkJVeXhMUVVGTExFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNUMEZCVHl4TFFVRkxMRmxCUVZrc1EwRkJReXhIUVVGSExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4VlFVRlZMRTlCUVU4c1JVRkJSU3hGUVVGRkxFOUJRVThzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRk8wRkJRMmhJTEVsQlFVa3NUMEZCVHl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEVWQlFVVXNWVUZCVlN4UFFVRlBMRVZCUVVVc1RVRkJUU3hGUVVGRk8wRkJReTlFTEZGQlFWRXNVMEZCVXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRCUVVOdVJ5eFJRVUZSTEZOQlFWTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRCUVVOMFJ5eFJRVUZSTEZOQlFWTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVXNVVUZCVVN4RFFVRkRMRU5CUVVNc1JVRkJSVHRCUVVOMFNDeFJRVUZSTEVsQlFVa3NRMEZCUXl4RFFVRkRMRk5CUVZNc1IwRkJSeXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4VlFVRlZMRWxCUVVrc1JVRkJSU3hEUVVGRExFVkJRVVVzU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTTVSU3hMUVVGTExFTkJRVU1zUTBGQlF6dEJRVU5RT3p0QlEzaElRVHM3T3pzN08wRkJUVWM3UVVGRFlTeFRRVUZCTEhsQ1FVRjVRaXhEUVVGRExFMUJRWE5DTEVWQlFVVXNVVUZCTUVNc1JVRkJRVHRCUVVNeFJ5eEpRVUZCTEUxQlFVMHNVMEZCVXl4SFFVRnhRaXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlJUZERMRWxCUVVFc1NVRkJTU3hKUVVGSkxFZEJRVEJDTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNN1NVRkRhRVFzVDBGQlR5eEpRVUZKTEV0QlFVc3NTVUZCU1N4RlFVRkZPMEZCUTNCQ0xGRkJRVUVzVTBGQlV5eERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVONFFpeFJRVUZCTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8wRkJRM0JDTEV0QlFVRTdRVUZGUkN4SlFVRkJMRk5CUVZNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eFJRVUZSTEV0QlFVazdVVUZETjBJc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBGQlEzSkNMRXRCUVVNc1EwRkJReXhEUVVGRE8wRkJRMHc3TzAxRGFrSmhMSGRDUVVGM1FpeERRVUZCTzBGQlFYSkRMRWxCUVVFc1YwRkJRU3hIUVVGQk8wRkJRMVVzVVVGQlFTeEpRVUZCTEVOQlFVRXNXVUZCV1N4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGeFFpeERRVUZETzBGQlN6VkRMRkZCUVVFc1NVRkJRU3hEUVVGQkxIRkNRVUZ4UWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVFd1F5eERRVUZETzB0QlowWnVSanRCUVhCR1F5eEpRVUZCTEVsQlFWY3NWMEZCVnl4SFFVRkJPMUZCUTNCQ0xFOUJRVThzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXp0TFFVTXhRanRCUVVsTkxFbEJRVUVzWVVGQllTeERRVUZETEZWQlFUWkNMRVZCUVVFN1FVRkRhRVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWRCUVVjc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVVZzUXl4UlFVRkJMRWxCUVVrc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUTNaRkxFbEJRVWtzVTBGQlV5eEpRVUZKTEVsQlFVa3NSVUZCUlR0QlFVTnlRaXhaUVVGQkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEVkQlFVY3NSVUZCY1VJc1EwRkJRenRaUVVONlF5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEZWQlFWVXNRMEZCUXl4WFFVRlhMRVZCUVVVc1UwRkJVeXhEUVVGRExFTkJRVU03UVVGRGJrVXNVMEZCUVR0QlFVTkVMRkZCUVVFc1UwRkJVeXhEUVVGRExFZEJRVWNzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0TFFVTXpRanRCUVVWTkxFbEJRVUVzWjBKQlFXZENMRU5CUVVNc1ZVRkJOa0lzUlVGQlFUdEJRVU51UkN4UlFVRkJMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMEZCUlhKRExGRkJRVUVzVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVkQlFVY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1YwRkJWeXhEUVVGRkxFTkJRVU03UVVGRE1VVXNVVUZCUVN4VFFVRlRMRU5CUVVNc1RVRkJUU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzB0QlF6bENPMGxCUlUwc1dVRkJXU3hIUVVGQk8wRkJRMnBDTEZGQlFVRXNUVUZCVFN4blFrRkJaMElzUjBGQlJ5eEpRVUZKTEVkQlFVY3NSVUZCY1VJc1EwRkJRenRCUVVOMFJDeFJRVUZCTEUxQlFVMHNaVUZCWlN4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGeFFpeERRVUZETzBGQlJYSkVMRkZCUVVFc1MwRkJTeXhOUVVGTkxGVkJRVlVzU1VGQlNTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVRkZPMEZCUXpGRExGbEJRVUVzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGVkJRVlVzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hsUVVGbExFVkJRVVVzUTBGQlF5eFZRVUZWTEV0QlFVc3NWVUZCVlN4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRGJrZ3NVMEZCUVR0TFFVTkdPMGxCUlUwc1RVRkJUU3hIUVVGQk8wRkJRMWdzVVVGQlFTeE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUZ4UWl4RFFVRkRPMEZCUTNSRUxGRkJRVUVzVFVGQlRTeGxRVUZsTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVhGQ0xFTkJRVU03UVVGRmNrUXNVVUZCUVN4TFFVRkxMRTFCUVUwc1ZVRkJWU3hKUVVGSkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlFVVTdRVUZETVVNc1dVRkJRU3hKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hGUVVGRkxHZENRVUZuUWl4RlFVRkZMR1ZCUVdVc1JVRkJSU3hEUVVGRExGVkJRVlVzUzBGQlN5eFZRVUZWTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJRenRCUVVNM1J5eFRRVUZCTzB0QlEwWTdRVUZGUkRzN096czdPenM3T3p0QlFWVkhPMEZCUTBzc1NVRkJRU3hyUWtGQmEwSXNRMEZEZUVJc1ZVRkJOa0lzUlVGRE4wSXNaMEpCUVhkRExFVkJRM2hETEdWQlFYVkRMRVZCUTNaRExGRkJRV2xFTEVWQlFVRTdRVUZGYWtRc1VVRkJRU3hKUVVGSkxHVkJRV1VzUTBGQlF5eEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVN1dVRkRia01zVDBGQlR6dEJRVU5TTEZOQlFVRTdRVUZGUkN4UlFVRkJMRWxCUVVrc1owSkJRV2RDTEVOQlFVTXNSMEZCUnl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRk8wRkJRM0JETEZsQlFVRXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXh0UmtGQmJVWXNRMEZCUXl4RFFVRkRPMEZCUTNSSExGTkJRVUU3UVVGRFJDeFJRVUZCTEdkQ1FVRm5RaXhEUVVGRExFZEJRVWNzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0QlFVVnFReXhSUVVGQkxFMUJRVTBzVlVGQlZTeEhRVUZITEZWQlFWVXNRMEZCUXl4WlFVRlpMRU5CUVVNN1FVRkRNME1zVVVGQlFTeExRVUZMTEUxQlFVMHNVMEZCVXl4SlFVRkpMRlZCUVZVc1JVRkJSVHRCUVVOc1F5eFpRVUZCTEhsQ1FVRjVRaXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETEdsQ1FVRnBRaXhMUVVGSk8yZENRVU42UkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1IwRkJSeXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRU5CUVVNN1FVRkRjRVVzWjBKQlFVRXNTVUZCU1N4VFFVRlRMRVZCUVVVN1FVRkRZaXh2UWtGQlFTeExRVUZMTEUxQlFVMHNZVUZCWVN4SlFVRkpMRk5CUVZNc1JVRkJSVHQzUWtGRGNrTXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEdGQlFXRXNSVUZCUlN4blFrRkJaMElzUlVGQlJTeGxRVUZsTEVWQlFVVXNVVUZCVVN4RFFVRkRMRU5CUVVNN1FVRkRja1lzY1VKQlFVRTdRVUZEUml4cFFrRkJRVHRCUVVOSUxHRkJRVU1zUTBGQlF5eERRVUZETzBGQlEwb3NVMEZCUVR0UlFVVkVMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVVZ5UWl4UlFVRkJMR1ZCUVdVc1EwRkJReXhIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdTMEZEYWtNN1FVRkRSanM3UVVOMFJrUXNUVUZCVFVVc1VVRkJUU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMEZCUTNSRExFMUJRVTFETEZGQlFVMHNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dEJRVVYwUXpzN096dEJRVWxITzBGQlEwY3NUVUZCVHl4eFFrRkJjMElzVTBGQlVTeHBRa0ZCYVVJc1EwRkJRVHRCUVZjeFJDeEpRVUZCTEVsQlFWY3NXVUZCV1N4SFFVRkJPMUZCUTNKQ0xFOUJRVThzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF6dExRVU12UWp0SlFVVkVMRmRCUVcxQ0xFTkJRVUVzVjBGQk1rSXNSVUZCUlN4TlFVRnpRaXhGUVVGQk8wRkJRM0JGTEZGQlFVRXNTMEZCU3l4RFFVRkRMRmRCUVZjc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVVV6UWl4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMUZCUXpORExFbEJRVWtzUTBGQlF5eGxRVUZsTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03UzBGREwwTTdTVUZGVFN4WlFVRlpMRWRCUVVFN1VVRkRha0lzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0QlFVTndSQ3hSUVVGQkxHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF6dExRVU55UlR0SlFVVk5MRTFCUVUwc1IwRkJRVHM3UVVGRldDeFJRVUZCTEUxQlFVMHNXVUZCV1N4SFFVRkhSQ3hSUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJReXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenM3UVVGSGVFWXNVVUZCUVN4TlFVRk5MRlZCUVZVc1IwRkJSME1zVVVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPenRSUVVkNlJTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMHRCUTNCR08wRkJRMFk3TzBGRE4wTkVMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMEZCUTJwRExFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hEUVVGRE8wRkJRM1JETEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzBGQlJYUkRPenM3TzBGQlNVYzdRVUZEUnl4TlFVRlBMR2xDUVVGclFpeFRRVUZSTEdsQ1FVRnBRaXhEUVVGQk8wRkJRM1JFT3p0QlFVVkhPMEZCUTBnc1NVRkJRU3hKUVVGWExGRkJRVkVzUjBGQlFUdFJRVU5xUWl4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU03UzBGRGRrSTdRVUZGUkRzN1FVRkZSenRKUVVOSUxFbEJRVmNzVVVGQlVTeERRVUZETEZGQlFYbENMRVZCUVVFN1FVRkRNME1zVVVGQlFTeEpRVUZKTEVOQlFVTXNVMEZCVXl4SFFVRkhMRkZCUVZFc1EwRkJRenRCUVVNeFFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1IwRkJSeXhEUVVGRExGRkJRVkVzUzBGQlN5eEhRVUZITEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1JVRkJSU3hSUVVGUkxFdEJRVXNzUjBGQlJ5eEhRVUZITEVkQlFVY3NSMEZCUnl4SFFVRkhMRVZCUVVVc1VVRkJVU3hMUVVGTExFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNN1MwRkRhRWc3UVVFeVFrUXNTVUZCUVN4SlFVRlhMRmxCUVZrc1IwRkJRVHRSUVVOeVFpeFBRVUZQTEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTTdTMEZETDBJN1NVRkZSQ3hYUVVGdFFpeERRVUZCTEZkQlFUSkNMRVZCUVVVc1RVRkJjMElzUlVGQlFUdEJRVU53UlN4UlFVRkJMRXRCUVVzc1EwRkJReXhYUVVGWExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTTdRVUZGTTBJc1VVRkJRU3hKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVkQlFVY3NRMEZCUXp0QlFVTnlRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZPVU1zU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFJRVU16UXl4SlFVRkpMRU5CUVVNc1pVRkJaU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNSVUZCUlN4RFFVRkRPMUZCUXpsRExFbEJRVWtzUTBGQlF5dzJRa0ZCTmtJc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0TFFVTTNSRHRKUVVWTkxGbEJRVmtzUjBGQlFUdFJRVU5xUWl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wRkJRM0JFTEZGQlFVRXNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZETDBRc1owSkJRV2RDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRFpDUVVFMlFpeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dExRVU12Unp0SlFVVk5MRTFCUVUwc1IwRkJRVHM3UVVGRldEczdPenM3T3pzN096czdPenM3T3p0QlFXZENSenRSUVVOSUxFMUJRVTBzVTBGQlV5eEhRVUZITEUxQlFVMDdRVUZEY2tJc1lVRkJRU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXp0QlFVTXhRaXhoUVVGQkxGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRlZCUVZVc1EwRkJRenRCUVVOb1F5eGhRVUZCTEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc05rSkJRVFpDTEVOQlFVTXNRMEZCUXpzN1FVRkhhRVFzVVVGQlFTeE5RVUZOTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXl4bFFVRmxMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03UVVGRmJFVTdPenM3T3p0QlFVMUhPMEZCUTBnc1VVRkJRU3hOUVVGTkxGVkJRVlVzUjBGQlJ5eE5RVUZOTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUlVGQlJTeEZRVUZGTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenM3UVVGSGJrVXNVVUZCUVN4TlFVRk5MRlZCUVZVc1IwRkJSeXhWUVVGVkxFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhSUVVGUkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdPMUZCUjJwR0xFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1JVRkJSU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdTMEZEY0VZN1FVRkRSanM3UVVNeFIwUTdPMEZCUlVjN1FVRkRTQ3hOUVVGTkxITkNRVUZ6UWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1RVRkZMME1zTmtKQlFUWkNMRU5CUVVFN1FVRlplRU1zU1VGQlFTeEpRVUZYTEVsQlFVa3NSMEZCUVR0UlFVTmlMRTlCUVU4c05rSkJRVFpDTEVOQlFVTXNZMEZCWXl4RFFVRkRPMHRCUTNKRU8wbEJSVVFzVjBGQmJVSXNRMEZCUVN4TlFVRnJRaXhGUVVGRkxFOUJRVGhETEVWQlFVRTdRVUZEYmtZc1VVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0UlFVVnlRaXhKUVVGSkxFTkJRVU1zVlVGQlZTeEhRVUZITEU5QlFVOHNTMEZCUVN4SlFVRkJMRWxCUVZBc1QwRkJUeXhMUVVGUUxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRTlCUVU4c1EwRkJSU3hWUVVGVkxFTkJRVU03UzBGRGRrTTdRVUZGV1N4SlFVRkJMRk5CUVZNc1EwRkJReXhKUVVGVkxFVkJRVUU3TzBGQlF5OUNMRmxCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eDNRa0ZCZDBJc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRia1VzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZCUVR0QlFVVkVPenM3T3p0QlFVdEhPMEZCUTJFc1NVRkJRU3hQUVVGUExFTkJRVU1zU1VGQlZTeEZRVUZCT3pzN1FVRkRhRU1zV1VGQlFTeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRWGRDTEVOQlFVTTdPMEZCUjJ4RUxGbEJRVUVzVFVGQlRTeHBRa0ZCYVVJc1IwRkJSeXhEUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVa3NRMEZCUXl4alFVRmpMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVVVzVDBGQlR5eERRVUZETERaQ1FVRTJRaXhEUVVGRExHTkJRV01zUTBGQlF5eE5RVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUXpWSExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSVHRCUVVOMFFpeG5Ra0ZCUVN4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOaUxHRkJRVUU3UVVGRlJDeFpRVUZCTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc2QwSkJRWGRDTEVWQlFVVXNRMEZCUXp0WlFVTXZReXhOUVVGTkxGVkJRVlVzUjBGQmNVSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExHVkJRV1VzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXpzN1dVRkhMMFVzVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hUUVVGVExFdEJRVWs3TzJkQ1FVTnlReXhOUVVGTkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCVFN4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE96dEJRVWN4UXl4blFrRkJRU3hOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4VlFVRlZMR0ZCUVZZc1ZVRkJWU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRldMRlZCUVZVc1EwRkJSU3hWUVVGVkxFMUJRVWNzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNOa0pCUVRaQ0xFTkJRVU1zWTBGQll5eERRVVV4UlN4RFFVRkRPMmRDUVVWa0xFbEJRVWtzVTBGQlV5eEpRVUZKTEVsQlFVa3NSVUZCUlR0dlFrRkRja0lzVDBGQlR6dEJRVU5TTEdsQ1FVRkJPMEZCUlVRc1owSkJRVUVzVFVGQlRTeFhRVUZYTEVkQlFVY3NVMEZCVXl4RFFVRkRMRmRCUVZjc1EwRkJRenRCUVVNeFF5eG5Ra0ZCUVN4SlFVRkpMRU5CUVVNc2MwSkJRWE5DTEVOQlFVTXNSMEZCUnl4RFFVRkRMRmRCUVZjc1EwRkJReXhGUVVGRk8yOUNRVU0xUXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVOV0xFTkJRVEJETEhWRFFVRkJMRVZCUVVFc05rSkJRVFpDTEVOQlFVTXNZMEZCWXl4RFFVRnBRaXhqUVVGQkxFVkJRVUVzVjBGQlZ5eERRVUZITEVOQlFVRXNRMEZCUVN4RFFVTjBTQ3hEUVVGRE8yOUNRVU5HTEU5QlFVODdRVUZEVWl4cFFrRkJRVHRCUVVWRUxHZENRVUZCTEUxQlFVMHNZVUZCWVN4SFFVRkhMRk5CUVZNc1EwRkJReXhWUVVGVkxFTkJRVU03TzBGQlJ6TkRMR2RDUVVGQkxFbEJRVWtzWVVGQllTeERRVUZETEVsQlFVa3NTVUZCU1N4SlFVRkpMRVZCUVVVN1FVRkRPVUlzYjBKQlFVRXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hWUVVGVkxFVkJRVVVzWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMEZCUTNCR0xHOUNRVUZCTEU5QlFVOHNRMEZCUXl4aFFVRmhMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03UVVGRGJrTXNhVUpCUVVFN1FVRkJUU3h4UWtGQlFTeEpRVUZKTEdGQlFXRXNRMEZCUXl4SFFVRkhMRWxCUVVrc1NVRkJTU3hGUVVGRk8wRkJRM0JETEc5Q1FVRkJMRTFCUVUwc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhKUVVGSkxFVkJRVVVzVlVGQlZTeEZRVUZGTEdGQlFXRXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVOc1JpeHZRa0ZCUVN4UFFVRlBMRU5CUVVNc1lVRkJZU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBGQlEyNURMR2xDUVVGQk8wRkJRVTBzY1VKQlFVRXNTVUZCU1N4aFFVRmhMRU5CUVVNc1VVRkJVU3hKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU42UXl4dlFrRkJRU3hOUVVGTkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEZWQlFWVXNSVUZCUlN4aFFVRmhMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03UVVGRE5VWXNiMEpCUVVFc1QwRkJUeXhEUVVGRExHRkJRV0VzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0QlFVTnVReXhwUWtGQlFUdEJRVU5JTEdGQlFVTXNRMEZCUXl4RFFVRkRPenRCUVVkSUxGbEJRVUVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeERRVUZETzFsQlF5OUNMRTlCUVU4c1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF6dEJRVVYyUWl4WlFVRkJMRTlCUVU4c1QwRkJUeXhEUVVGRE96dEJRVU5vUWl4TFFVRkJPMEZCUlZNc1NVRkJRU3h4UWtGQmNVSXNRMEZETjBJc1YwRkJNa0lzUlVGRE0wSXNTMEZCZFVJc1JVRkRka0lzYVVKQlFXdEVMRVZCUVVFN1VVRkZiRVFzVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4WFFVRlhMRVZCUVVVc1VVRkJVU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEhRVUZITEdsQ1FVRnBRaXhEUVVGRE8wRkJRM0JGTEZGQlFVRXNUVUZCVFN4TlFVRk5MRWRCUVVjc1MwRkJTeXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzFGQlEyeERMRTFCUVUwc1ZVRkJWU3hIUVVGSExFbEJRVWtzYVVKQlFXbENMRU5CUVVNc1YwRkJWeXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFGQlJUbEVMRWxCUVVrc1VVRkJVU3hKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU53UWl4WlFVRkJMRlZCUVZVc1EwRkJReXhSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETzBGQlEyaERMRk5CUVVFN1VVRkRSQ3hKUVVGSkxFMUJRVTBzU1VGQlNTeEpRVUZKTEVWQlFVVTdRVUZEYkVJc1dVRkJRU3hWUVVGVkxFTkJRVU1zVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0QlFVTTFRaXhUUVVGQk8xRkJSVVFzU1VGQlNTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RlFVRkZPMEZCUTI1Q0xGbEJRVUVzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4MVFrRkJkVUlzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0QlFVTjJSQ3haUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRemRDTEZOQlFVRTdRVUZGUkN4UlFVRkJMRTlCUVU4c1ZVRkJWU3hEUVVGRE8wdEJRMjVDTzBGQlJWTXNTVUZCUVN4dlFrRkJiMElzUTBGRE5VSXNWMEZCTWtJc1JVRkRNMElzUzBGQmRVSXNSVUZEZGtJc1owSkJRV2RFTEVWQlFVRTdVVUZGYUVRc1RVRkJUU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFhRVUZYTEVWQlFVVXNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSU3hIUVVGSExHZENRVUZuUWl4RFFVRkRPMEZCUTJ4RkxGRkJRVUVzVFVGQlRTeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8xRkJRMnhETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1owSkJRV2RDTEVOQlFVTXNWMEZCVnl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJSVGRFTEVsQlFVa3NUMEZCVHl4SlFVRkpMRWxCUVVrc1JVRkJSVHRCUVVOdVFpeFpRVUZCTEZWQlFWVXNRMEZCUXl4UFFVRlBMRWRCUVVjc1QwRkJUeXhEUVVGRE8wRkJRemxDTEZOQlFVRTdVVUZEUkN4SlFVRkpMRTFCUVUwc1NVRkJTU3hKUVVGSkxFVkJRVVU3UVVGRGJFSXNXVUZCUVN4VlFVRlZMRU5CUVVNc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF6dEJRVU0xUWl4VFFVRkJPMUZCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zVlVGQlZTeEZRVUZGTzBGQlEyNUNMRmxCUVVFc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeDFRa0ZCZFVJc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dEJRVU4yUkN4WlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUXpkQ0xGTkJRVUU3UVVGRlJDeFJRVUZCTEU5QlFVOHNWVUZCVlN4RFFVRkRPMHRCUTI1Q08wRkJSVk1zU1VGQlFTeDVRa0ZCZVVJc1EwRkRha01zVjBGQk1rSXNSVUZETTBJc1MwRkJkVUlzUlVGRGRrSXNjVUpCUVRCRUxFVkJRVUU3VVVGRk1VUXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hYUVVGWExFVkJRVVVzVFVGQlRTeEZRVUZGTEVkQlFVY3NjVUpCUVhGQ0xFTkJRVU03UVVGRE9VUXNVVUZCUVN4TlFVRk5MRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdVVUZEYkVNc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeHhRa0ZCY1VJc1EwRkJReXhYUVVGWExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTTdVVUZGYkVVc1NVRkJTU3hOUVVGTkxFbEJRVWtzU1VGQlNTeEZRVUZGTzBGQlEyeENMRmxCUVVFc1ZVRkJWU3hEUVVGRExFMUJRVTBzUjBGQlJ5eE5RVUZOTEVOQlFVTTdRVUZETlVJc1UwRkJRVHRSUVVWRUxFbEJRVWtzU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlR0QlFVTnVRaXhaUVVGQkxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NkVUpCUVhWQ0xFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdRVUZEZGtRc1dVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRCUVVNM1FpeFRRVUZCTzBGQlJVUXNVVUZCUVN4UFFVRlBMRlZCUVZVc1EwRkJRenRMUVVOdVFqczdRVUY2U25OQ0xEWkNRVUZqTEVOQlFVRXNZMEZCUVN4SFFVRkhMSE5DUVVGelFqczdPenNpZlE9PVxuIiwiLyohXG4gKiBAcGl4aXYvdGhyZWUtdnJtLXNwcmluZ2JvbmUgdjIuMC42XG4gKiBTcHJpbmcgYm9uZSBtb2R1bGUgZm9yIEBwaXhpdi90aHJlZS12cm1cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAtMjAyMyBwaXhpdiBJbmMuXG4gKiBAcGl4aXYvdGhyZWUtdnJtLXNwcmluZ2JvbmUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgTUlUIExpY2Vuc2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waXhpdi90aHJlZS12cm0vYmxvYi9yZWxlYXNlL0xJQ0VOU0VcbiAqL1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaGFwZSBvZiBhIGNvbGxpZGVyLlxuICovXG5jbGFzcyBWUk1TcHJpbmdCb25lQ29sbGlkZXJTaGFwZSB7XG59XG5cbmNvbnN0IF92M0EkNCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfdjNCJDEgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY2xhc3MgVlJNU3ByaW5nQm9uZUNvbGxpZGVyU2hhcGVDYXBzdWxlIGV4dGVuZHMgVlJNU3ByaW5nQm9uZUNvbGxpZGVyU2hhcGUge1xuICAgIGdldCB0eXBlKCkge1xuICAgICAgICByZXR1cm4gJ2NhcHN1bGUnO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJhbXMpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMub2Zmc2V0ID0gKF9hID0gcGFyYW1zID09PSBudWxsIHx8IHBhcmFtcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyYW1zLm9mZnNldCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbmV3IFRIUkVFLlZlY3RvcjMoMC4wLCAwLjAsIDAuMCk7XG4gICAgICAgIHRoaXMudGFpbCA9IChfYiA9IHBhcmFtcyA9PT0gbnVsbCB8fCBwYXJhbXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHBhcmFtcy50YWlsKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBuZXcgVEhSRUUuVmVjdG9yMygwLjAsIDAuMCwgMC4wKTtcbiAgICAgICAgdGhpcy5yYWRpdXMgPSAoX2MgPSBwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMucmFkaXVzKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwLjA7XG4gICAgfVxuICAgIGNhbGN1bGF0ZUNvbGxpc2lvbihjb2xsaWRlck1hdHJpeCwgb2JqZWN0UG9zaXRpb24sIG9iamVjdFJhZGl1cywgdGFyZ2V0KSB7XG4gICAgICAgIF92M0EkNC5jb3B5KHRoaXMub2Zmc2V0KS5hcHBseU1hdHJpeDQoY29sbGlkZXJNYXRyaXgpOyAvLyB0cmFuc2Zvcm1lZCBoZWFkXG4gICAgICAgIF92M0IkMS5jb3B5KHRoaXMudGFpbCkuYXBwbHlNYXRyaXg0KGNvbGxpZGVyTWF0cml4KTsgLy8gdHJhbnNmb3JtZWQgdGFpbFxuICAgICAgICBfdjNCJDEuc3ViKF92M0EkNCk7IC8vIGZyb20gaGVhZCB0byB0YWlsXG4gICAgICAgIGNvbnN0IGxlbmd0aFNxQ2Fwc3VsZSA9IF92M0IkMS5sZW5ndGhTcSgpO1xuICAgICAgICB0YXJnZXQuY29weShvYmplY3RQb3NpdGlvbikuc3ViKF92M0EkNCk7IC8vIGZyb20gaGVhZCB0byBvYmplY3RcbiAgICAgICAgY29uc3QgZG90ID0gX3YzQiQxLmRvdCh0YXJnZXQpOyAvLyBkb3QgcHJvZHVjdCBvZiBvZmZzZXRUb1RhaWwgYW5kIG9mZnNldFRvT2JqZWN0XG4gICAgICAgIGlmIChkb3QgPD0gMC4wKSA7XG4gICAgICAgIGVsc2UgaWYgKGxlbmd0aFNxQ2Fwc3VsZSA8PSBkb3QpIHtcbiAgICAgICAgICAgIC8vIGlmIG9iamVjdCBpcyBuZWFyIGZyb20gdGhlIHRhaWxcbiAgICAgICAgICAgIHRhcmdldC5zdWIoX3YzQiQxKTsgLy8gZnJvbSB0YWlsIHRvIG9iamVjdFxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gaWYgb2JqZWN0IGlzIGJldHdlZW4gdHdvIGVuZHNcbiAgICAgICAgICAgIF92M0IkMS5tdWx0aXBseVNjYWxhcihkb3QgLyBsZW5ndGhTcUNhcHN1bGUpOyAvLyBmcm9tIGhlYWQgdG8gdGhlIG5lYXJlc3QgcG9pbnQgb2YgdGhlIHNoYWZ0XG4gICAgICAgICAgICB0YXJnZXQuc3ViKF92M0IkMSk7IC8vIGZyb20gdGhlIHNoYWZ0IHBvaW50IHRvIG9iamVjdFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJhZGl1cyA9IG9iamVjdFJhZGl1cyArIHRoaXMucmFkaXVzO1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IHRhcmdldC5sZW5ndGgoKSAtIHJhZGl1cztcbiAgICAgICAgdGFyZ2V0Lm5vcm1hbGl6ZSgpO1xuICAgICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgfVxufVxuXG5jbGFzcyBWUk1TcHJpbmdCb25lQ29sbGlkZXJTaGFwZVNwaGVyZSBleHRlbmRzIFZSTVNwcmluZ0JvbmVDb2xsaWRlclNoYXBlIHtcbiAgICBnZXQgdHlwZSgpIHtcbiAgICAgICAgcmV0dXJuICdzcGhlcmUnO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJhbXMpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5vZmZzZXQgPSAoX2EgPSBwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMub2Zmc2V0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBuZXcgVEhSRUUuVmVjdG9yMygwLjAsIDAuMCwgMC4wKTtcbiAgICAgICAgdGhpcy5yYWRpdXMgPSAoX2IgPSBwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMucmFkaXVzKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwLjA7XG4gICAgfVxuICAgIGNhbGN1bGF0ZUNvbGxpc2lvbihjb2xsaWRlck1hdHJpeCwgb2JqZWN0UG9zaXRpb24sIG9iamVjdFJhZGl1cywgdGFyZ2V0KSB7XG4gICAgICAgIHRhcmdldC5jb3B5KHRoaXMub2Zmc2V0KS5hcHBseU1hdHJpeDQoY29sbGlkZXJNYXRyaXgpOyAvLyB0cmFuc2Zvcm1lZCBvZmZzZXRcbiAgICAgICAgdGFyZ2V0Lm5lZ2F0ZSgpLmFkZChvYmplY3RQb3NpdGlvbik7IC8vIGEgdmVjdG9yIGZyb20gY29sbGlkZXIgY2VudGVyIHRvIG9iamVjdCBwb3NpdGlvblxuICAgICAgICBjb25zdCByYWRpdXMgPSBvYmplY3RSYWRpdXMgKyB0aGlzLnJhZGl1cztcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSB0YXJnZXQubGVuZ3RoKCkgLSByYWRpdXM7XG4gICAgICAgIHRhcmdldC5ub3JtYWxpemUoKTtcbiAgICAgICAgcmV0dXJuIGRpc3RhbmNlO1xuICAgIH1cbn1cblxuY29uc3QgX3YzQSQzID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNsYXNzIENvbGxpZGVyU2hhcGVDYXBzdWxlQnVmZmVyR2VvbWV0cnkgZXh0ZW5kcyBUSFJFRS5CdWZmZXJHZW9tZXRyeSB7XG4gICAgY29uc3RydWN0b3Ioc2hhcGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy53b3JsZFNjYWxlID0gMS4wO1xuICAgICAgICB0aGlzLl9jdXJyZW50UmFkaXVzID0gMDtcbiAgICAgICAgdGhpcy5fY3VycmVudE9mZnNldCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUYWlsID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICAgICAgdGhpcy5fc2hhcGUgPSBzaGFwZTtcbiAgICAgICAgdGhpcy5fYXR0clBvcyA9IG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUobmV3IEZsb2F0MzJBcnJheSgzOTYpLCAzKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywgdGhpcy5fYXR0clBvcyk7XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleCA9IG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUobmV3IFVpbnQxNkFycmF5KDI2NCksIDEpO1xuICAgICAgICB0aGlzLnNldEluZGV4KHRoaXMuX2F0dHJJbmRleCk7XG4gICAgICAgIHRoaXMuX2J1aWxkSW5kZXgoKTtcbiAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG4gICAgdXBkYXRlKCkge1xuICAgICAgICBsZXQgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgcmFkaXVzID0gdGhpcy5fc2hhcGUucmFkaXVzIC8gdGhpcy53b3JsZFNjYWxlO1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFJhZGl1cyAhPT0gcmFkaXVzKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50UmFkaXVzID0gcmFkaXVzO1xuICAgICAgICAgICAgc2hvdWxkVXBkYXRlR2VvbWV0cnkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fY3VycmVudE9mZnNldC5lcXVhbHModGhpcy5fc2hhcGUub2Zmc2V0KSkge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudE9mZnNldC5jb3B5KHRoaXMuX3NoYXBlLm9mZnNldCk7XG4gICAgICAgICAgICBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFpbCA9IF92M0EkMy5jb3B5KHRoaXMuX3NoYXBlLnRhaWwpLmRpdmlkZVNjYWxhcih0aGlzLndvcmxkU2NhbGUpO1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFRhaWwuZGlzdGFuY2VUb1NxdWFyZWQodGFpbCkgPiAxZS0xMCkge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRhaWwuY29weSh0YWlsKTtcbiAgICAgICAgICAgIHNob3VsZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2hvdWxkVXBkYXRlR2VvbWV0cnkpIHtcbiAgICAgICAgICAgIHRoaXMuX2J1aWxkUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfYnVpbGRQb3NpdGlvbigpIHtcbiAgICAgICAgX3YzQSQzLmNvcHkodGhpcy5fY3VycmVudFRhaWwpLnN1Yih0aGlzLl9jdXJyZW50T2Zmc2V0KTtcbiAgICAgICAgY29uc3QgbCA9IF92M0EkMy5sZW5ndGgoKSAvIHRoaXMuX2N1cnJlbnRSYWRpdXM7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IDE2OyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHQgPSAoaSAvIDE2LjApICogTWF0aC5QSTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKGksIC1NYXRoLnNpbih0KSwgLU1hdGguY29zKHQpLCAwLjApO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooMTcgKyBpLCBsICsgTWF0aC5zaW4odCksIE1hdGguY29zKHQpLCAwLjApO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooMzQgKyBpLCAtTWF0aC5zaW4odCksIDAuMCwgLU1hdGguY29zKHQpKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDUxICsgaSwgbCArIE1hdGguc2luKHQpLCAwLjAsIE1hdGguY29zKHQpKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDMyOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHQgPSAoaSAvIDE2LjApICogTWF0aC5QSTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDY4ICsgaSwgMC4wLCBNYXRoLnNpbih0KSwgTWF0aC5jb3ModCkpO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooMTAwICsgaSwgbCwgTWF0aC5zaW4odCksIE1hdGguY29zKHQpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0aGV0YSA9IE1hdGguYXRhbjIoX3YzQSQzLnksIE1hdGguc3FydChfdjNBJDMueCAqIF92M0EkMy54ICsgX3YzQSQzLnogKiBfdjNBJDMueikpO1xuICAgICAgICBjb25zdCBwaGkgPSAtTWF0aC5hdGFuMihfdjNBJDMueiwgX3YzQSQzLngpO1xuICAgICAgICB0aGlzLnJvdGF0ZVoodGhldGEpO1xuICAgICAgICB0aGlzLnJvdGF0ZVkocGhpKTtcbiAgICAgICAgdGhpcy5zY2FsZSh0aGlzLl9jdXJyZW50UmFkaXVzLCB0aGlzLl9jdXJyZW50UmFkaXVzLCB0aGlzLl9jdXJyZW50UmFkaXVzKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUodGhpcy5fY3VycmVudE9mZnNldC54LCB0aGlzLl9jdXJyZW50T2Zmc2V0LnksIHRoaXMuX2N1cnJlbnRPZmZzZXQueik7XG4gICAgICAgIHRoaXMuX2F0dHJQb3MubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBfYnVpbGRJbmRleCgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzNDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpMSA9IChpICsgMSkgJSAzNDtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWShpICogMiwgaSwgaTEpO1xuICAgICAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZKDY4ICsgaSAqIDIsIDM0ICsgaSwgMzQgKyBpMSk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzMjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpMSA9IChpICsgMSkgJSAzMjtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWSgxMzYgKyBpICogMiwgNjggKyBpLCA2OCArIGkxKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWSgyMDAgKyBpICogMiwgMTAwICsgaSwgMTAwICsgaTEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleC5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxufVxuXG5jbGFzcyBDb2xsaWRlclNoYXBlU3BoZXJlQnVmZmVyR2VvbWV0cnkgZXh0ZW5kcyBUSFJFRS5CdWZmZXJHZW9tZXRyeSB7XG4gICAgY29uc3RydWN0b3Ioc2hhcGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy53b3JsZFNjYWxlID0gMS4wO1xuICAgICAgICB0aGlzLl9jdXJyZW50UmFkaXVzID0gMDtcbiAgICAgICAgdGhpcy5fY3VycmVudE9mZnNldCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgICAgIHRoaXMuX3NoYXBlID0gc2hhcGU7XG4gICAgICAgIHRoaXMuX2F0dHJQb3MgPSBuZXcgVEhSRUUuQnVmZmVyQXR0cmlidXRlKG5ldyBGbG9hdDMyQXJyYXkoMzIgKiAzICogMyksIDMpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCB0aGlzLl9hdHRyUG9zKTtcbiAgICAgICAgdGhpcy5fYXR0ckluZGV4ID0gbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXcgVWludDE2QXJyYXkoNjQgKiAzKSwgMSk7XG4gICAgICAgIHRoaXMuc2V0SW5kZXgodGhpcy5fYXR0ckluZGV4KTtcbiAgICAgICAgdGhpcy5fYnVpbGRJbmRleCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH1cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIGxldCBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IGZhbHNlO1xuICAgICAgICBjb25zdCByYWRpdXMgPSB0aGlzLl9zaGFwZS5yYWRpdXMgLyB0aGlzLndvcmxkU2NhbGU7XG4gICAgICAgIGlmICh0aGlzLl9jdXJyZW50UmFkaXVzICE9PSByYWRpdXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRSYWRpdXMgPSByYWRpdXM7XG4gICAgICAgICAgICBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9jdXJyZW50T2Zmc2V0LmVxdWFscyh0aGlzLl9zaGFwZS5vZmZzZXQpKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50T2Zmc2V0LmNvcHkodGhpcy5fc2hhcGUub2Zmc2V0KTtcbiAgICAgICAgICAgIHNob3VsZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2hvdWxkVXBkYXRlR2VvbWV0cnkpIHtcbiAgICAgICAgICAgIHRoaXMuX2J1aWxkUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfYnVpbGRQb3NpdGlvbigpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzMjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0ID0gKGkgLyAxNi4wKSAqIE1hdGguUEk7XG4gICAgICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWihpLCBNYXRoLmNvcyh0KSwgTWF0aC5zaW4odCksIDAuMCk7XG4gICAgICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWigzMiArIGksIDAuMCwgTWF0aC5jb3ModCksIE1hdGguc2luKHQpKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJQb3Muc2V0WFlaKDY0ICsgaSwgTWF0aC5zaW4odCksIDAuMCwgTWF0aC5jb3ModCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2NhbGUodGhpcy5fY3VycmVudFJhZGl1cywgdGhpcy5fY3VycmVudFJhZGl1cywgdGhpcy5fY3VycmVudFJhZGl1cyk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlKHRoaXMuX2N1cnJlbnRPZmZzZXQueCwgdGhpcy5fY3VycmVudE9mZnNldC55LCB0aGlzLl9jdXJyZW50T2Zmc2V0LnopO1xuICAgICAgICB0aGlzLl9hdHRyUG9zLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgX2J1aWxkSW5kZXgoKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaTEgPSAoaSArIDEpICUgMzI7XG4gICAgICAgICAgICB0aGlzLl9hdHRySW5kZXguc2V0WFkoaSAqIDIsIGksIGkxKTtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWSg2NCArIGkgKiAyLCAzMiArIGksIDMyICsgaTEpO1xuICAgICAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZKDEyOCArIGkgKiAyLCA2NCArIGksIDY0ICsgaTEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2F0dHJJbmRleC5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgfVxufVxuXG5jb25zdCBfdjNBJDIgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY2xhc3MgVlJNU3ByaW5nQm9uZUNvbGxpZGVySGVscGVyIGV4dGVuZHMgVEhSRUUuR3JvdXAge1xuICAgIGNvbnN0cnVjdG9yKGNvbGxpZGVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubWF0cml4QXV0b1VwZGF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbGxpZGVyID0gY29sbGlkZXI7XG4gICAgICAgIGlmICh0aGlzLmNvbGxpZGVyLnNoYXBlIGluc3RhbmNlb2YgVlJNU3ByaW5nQm9uZUNvbGxpZGVyU2hhcGVTcGhlcmUpIHtcbiAgICAgICAgICAgIHRoaXMuX2dlb21ldHJ5ID0gbmV3IENvbGxpZGVyU2hhcGVTcGhlcmVCdWZmZXJHZW9tZXRyeSh0aGlzLmNvbGxpZGVyLnNoYXBlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLmNvbGxpZGVyLnNoYXBlIGluc3RhbmNlb2YgVlJNU3ByaW5nQm9uZUNvbGxpZGVyU2hhcGVDYXBzdWxlKSB7XG4gICAgICAgICAgICB0aGlzLl9nZW9tZXRyeSA9IG5ldyBDb2xsaWRlclNoYXBlQ2Fwc3VsZUJ1ZmZlckdlb21ldHJ5KHRoaXMuY29sbGlkZXIuc2hhcGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdWUk1TcHJpbmdCb25lQ29sbGlkZXJIZWxwZXI6IFVua25vd24gY29sbGlkZXIgc2hhcGUgdHlwZSBkZXRlY3RlZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLkxpbmVCYXNpY01hdGVyaWFsKHtcbiAgICAgICAgICAgIGNvbG9yOiAweGZmMDBmZixcbiAgICAgICAgICAgIGRlcHRoVGVzdDogZmFsc2UsXG4gICAgICAgICAgICBkZXB0aFdyaXRlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2xpbmUgPSBuZXcgVEhSRUUuTGluZVNlZ21lbnRzKHRoaXMuX2dlb21ldHJ5LCBtYXRlcmlhbCk7XG4gICAgICAgIHRoaXMuYWRkKHRoaXMuX2xpbmUpO1xuICAgIH1cbiAgICBkaXNwb3NlKCkge1xuICAgICAgICB0aGlzLl9nZW9tZXRyeS5kaXNwb3NlKCk7XG4gICAgfVxuICAgIHVwZGF0ZU1hdHJpeFdvcmxkKGZvcmNlKSB7XG4gICAgICAgIHRoaXMuY29sbGlkZXIudXBkYXRlV29ybGRNYXRyaXgodHJ1ZSwgZmFsc2UpO1xuICAgICAgICB0aGlzLm1hdHJpeC5jb3B5KHRoaXMuY29sbGlkZXIubWF0cml4V29ybGQpO1xuICAgICAgICBjb25zdCBtYXRyaXhXb3JsZEVsZW1lbnRzID0gdGhpcy5tYXRyaXguZWxlbWVudHM7XG4gICAgICAgIHRoaXMuX2dlb21ldHJ5LndvcmxkU2NhbGUgPSBfdjNBJDJcbiAgICAgICAgICAgIC5zZXQobWF0cml4V29ybGRFbGVtZW50c1swXSwgbWF0cml4V29ybGRFbGVtZW50c1sxXSwgbWF0cml4V29ybGRFbGVtZW50c1syXSlcbiAgICAgICAgICAgIC5sZW5ndGgoKTsgLy8gY2FsY3VsYXRlIHNjYWxlIG9mIHggY29tcG9uZW50XG4gICAgICAgIHRoaXMuX2dlb21ldHJ5LnVwZGF0ZSgpO1xuICAgICAgICBzdXBlci51cGRhdGVNYXRyaXhXb3JsZChmb3JjZSk7XG4gICAgfVxufVxuXG5jbGFzcyBTcHJpbmdCb25lQnVmZmVyR2VvbWV0cnkgZXh0ZW5kcyBUSFJFRS5CdWZmZXJHZW9tZXRyeSB7XG4gICAgY29uc3RydWN0b3Ioc3ByaW5nQm9uZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLndvcmxkU2NhbGUgPSAxLjA7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRSYWRpdXMgPSAwO1xuICAgICAgICB0aGlzLl9jdXJyZW50VGFpbCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgICAgIHRoaXMuX3NwcmluZ0JvbmUgPSBzcHJpbmdCb25lO1xuICAgICAgICB0aGlzLl9hdHRyUG9zID0gbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXcgRmxvYXQzMkFycmF5KDI5NCksIDMpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCB0aGlzLl9hdHRyUG9zKTtcbiAgICAgICAgdGhpcy5fYXR0ckluZGV4ID0gbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXcgVWludDE2QXJyYXkoMTk0KSwgMSk7XG4gICAgICAgIHRoaXMuc2V0SW5kZXgodGhpcy5fYXR0ckluZGV4KTtcbiAgICAgICAgdGhpcy5fYnVpbGRJbmRleCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH1cbiAgICB1cGRhdGUoKSB7XG4gICAgICAgIGxldCBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IGZhbHNlO1xuICAgICAgICBjb25zdCByYWRpdXMgPSB0aGlzLl9zcHJpbmdCb25lLnNldHRpbmdzLmhpdFJhZGl1cyAvIHRoaXMud29ybGRTY2FsZTtcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRSYWRpdXMgIT09IHJhZGl1cykge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFJhZGl1cyA9IHJhZGl1cztcbiAgICAgICAgICAgIHNob3VsZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2N1cnJlbnRUYWlsLmVxdWFscyh0aGlzLl9zcHJpbmdCb25lLmluaXRpYWxMb2NhbENoaWxkUG9zaXRpb24pKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50VGFpbC5jb3B5KHRoaXMuX3NwcmluZ0JvbmUuaW5pdGlhbExvY2FsQ2hpbGRQb3NpdGlvbik7XG4gICAgICAgICAgICBzaG91bGRVcGRhdGVHZW9tZXRyeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZUdlb21ldHJ5KSB7XG4gICAgICAgICAgICB0aGlzLl9idWlsZFBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2J1aWxkUG9zaXRpb24oKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdCA9IChpIC8gMTYuMCkgKiBNYXRoLlBJO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooaSwgTWF0aC5jb3ModCksIE1hdGguc2luKHQpLCAwLjApO1xuICAgICAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooMzIgKyBpLCAwLjAsIE1hdGguY29zKHQpLCBNYXRoLnNpbih0KSk7XG4gICAgICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWig2NCArIGksIE1hdGguc2luKHQpLCAwLjAsIE1hdGguY29zKHQpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNjYWxlKHRoaXMuX2N1cnJlbnRSYWRpdXMsIHRoaXMuX2N1cnJlbnRSYWRpdXMsIHRoaXMuX2N1cnJlbnRSYWRpdXMpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZSh0aGlzLl9jdXJyZW50VGFpbC54LCB0aGlzLl9jdXJyZW50VGFpbC55LCB0aGlzLl9jdXJyZW50VGFpbC56KTtcbiAgICAgICAgdGhpcy5fYXR0clBvcy5zZXRYWVooOTYsIDAsIDAsIDApO1xuICAgICAgICB0aGlzLl9hdHRyUG9zLnNldFhZWig5NywgdGhpcy5fY3VycmVudFRhaWwueCwgdGhpcy5fY3VycmVudFRhaWwueSwgdGhpcy5fY3VycmVudFRhaWwueik7XG4gICAgICAgIHRoaXMuX2F0dHJQb3MubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBfYnVpbGRJbmRleCgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzMjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpMSA9IChpICsgMSkgJSAzMjtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJJbmRleC5zZXRYWShpICogMiwgaSwgaTEpO1xuICAgICAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZKDY0ICsgaSAqIDIsIDMyICsgaSwgMzIgKyBpMSk7XG4gICAgICAgICAgICB0aGlzLl9hdHRySW5kZXguc2V0WFkoMTI4ICsgaSAqIDIsIDY0ICsgaSwgNjQgKyBpMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYXR0ckluZGV4LnNldFhZKDE5MiwgOTYsIDk3KTtcbiAgICAgICAgdGhpcy5fYXR0ckluZGV4Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICB9XG59XG5cbmNvbnN0IF92M0EkMSA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jbGFzcyBWUk1TcHJpbmdCb25lSm9pbnRIZWxwZXIgZXh0ZW5kcyBUSFJFRS5Hcm91cCB7XG4gICAgY29uc3RydWN0b3Ioc3ByaW5nQm9uZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zcHJpbmdCb25lID0gc3ByaW5nQm9uZTtcbiAgICAgICAgdGhpcy5fZ2VvbWV0cnkgPSBuZXcgU3ByaW5nQm9uZUJ1ZmZlckdlb21ldHJ5KHRoaXMuc3ByaW5nQm9uZSk7XG4gICAgICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLkxpbmVCYXNpY01hdGVyaWFsKHtcbiAgICAgICAgICAgIGNvbG9yOiAweGZmZmYwMCxcbiAgICAgICAgICAgIGRlcHRoVGVzdDogZmFsc2UsXG4gICAgICAgICAgICBkZXB0aFdyaXRlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2xpbmUgPSBuZXcgVEhSRUUuTGluZVNlZ21lbnRzKHRoaXMuX2dlb21ldHJ5LCBtYXRlcmlhbCk7XG4gICAgICAgIHRoaXMuYWRkKHRoaXMuX2xpbmUpO1xuICAgIH1cbiAgICBkaXNwb3NlKCkge1xuICAgICAgICB0aGlzLl9nZW9tZXRyeS5kaXNwb3NlKCk7XG4gICAgfVxuICAgIHVwZGF0ZU1hdHJpeFdvcmxkKGZvcmNlKSB7XG4gICAgICAgIHRoaXMuc3ByaW5nQm9uZS5ib25lLnVwZGF0ZVdvcmxkTWF0cml4KHRydWUsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5tYXRyaXguY29weSh0aGlzLnNwcmluZ0JvbmUuYm9uZS5tYXRyaXhXb3JsZCk7XG4gICAgICAgIGNvbnN0IG1hdHJpeFdvcmxkRWxlbWVudHMgPSB0aGlzLm1hdHJpeC5lbGVtZW50cztcbiAgICAgICAgdGhpcy5fZ2VvbWV0cnkud29ybGRTY2FsZSA9IF92M0EkMVxuICAgICAgICAgICAgLnNldChtYXRyaXhXb3JsZEVsZW1lbnRzWzBdLCBtYXRyaXhXb3JsZEVsZW1lbnRzWzFdLCBtYXRyaXhXb3JsZEVsZW1lbnRzWzJdKVxuICAgICAgICAgICAgLmxlbmd0aCgpOyAvLyBjYWxjdWxhdGUgc2NhbGUgb2YgeCBjb21wb25lbnRcbiAgICAgICAgdGhpcy5fZ2VvbWV0cnkudXBkYXRlKCk7XG4gICAgICAgIHN1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKGZvcmNlKTtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbGxpZGVyIG9mIGEgVlJNLlxuICovXG5jbGFzcyBWUk1TcHJpbmdCb25lQ29sbGlkZXIgZXh0ZW5kcyBUSFJFRS5PYmplY3QzRCB7XG4gICAgY29uc3RydWN0b3Ioc2hhcGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zaGFwZSA9IHNoYXBlO1xuICAgIH1cbn1cblxuY29uc3QgX21hdEEkMSA9IG5ldyBUSFJFRS5NYXRyaXg0KCk7XG4vKipcbiAqIEEgY29tcGF0IGZ1bmN0aW9uIGZvciBgTWF0cml4NC5pbnZlcnQoKWAgLyBgTWF0cml4NC5nZXRJbnZlcnNlKClgLlxuICogYE1hdHJpeDQuaW52ZXJ0KClgIGlzIGludHJvZHVjZWQgaW4gcjEyMyBhbmQgYE1hdHJpeDQuZ2V0SW52ZXJzZSgpYCBlbWl0cyBhIHdhcm5pbmcuXG4gKiBXZSBhcmUgZ29pbmcgdG8gdXNlIHRoaXMgY29tcGF0IGZvciBhIHdoaWxlLlxuICogQHBhcmFtIHRhcmdldCBBIHRhcmdldCBtYXRyaXhcbiAqL1xuZnVuY3Rpb24gbWF0NEludmVydENvbXBhdCh0YXJnZXQpIHtcbiAgICBpZiAodGFyZ2V0LmludmVydCkge1xuICAgICAgICB0YXJnZXQuaW52ZXJ0KCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0YXJnZXQuZ2V0SW52ZXJzZShfbWF0QSQxLmNvcHkodGFyZ2V0KSk7XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG59XG5cbmNsYXNzIE1hdHJpeDRJbnZlcnNlQ2FjaGUge1xuICAgIC8qKlxuICAgICAqIEludmVyc2Ugb2YgZ2l2ZW4gbWF0cml4LlxuICAgICAqIE5vdGUgdGhhdCBpdCB3aWxsIHJldHVybiBpdHMgaW50ZXJuYWwgcHJpdmF0ZSBpbnN0YW5jZS5cbiAgICAgKiBNYWtlIHN1cmUgY29weWluZyB0aGlzIGJlZm9yZSBtdXRhdGUgdGhpcy5cbiAgICAgKi9cbiAgICBnZXQgaW52ZXJzZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFVwZGF0ZUludmVyc2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2ludmVyc2VDYWNoZS5jb3B5KHRoaXMubWF0cml4KTtcbiAgICAgICAgICAgIG1hdDRJbnZlcnRDb21wYXQodGhpcy5faW52ZXJzZUNhY2hlKTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3VsZFVwZGF0ZUludmVyc2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5faW52ZXJzZUNhY2hlO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihtYXRyaXgpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEEgY2FjaGUgb2YgaW52ZXJzZSBvZiBjdXJyZW50IG1hdHJpeC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2ludmVyc2VDYWNoZSA9IG5ldyBUSFJFRS5NYXRyaXg0KCk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBIGZsYWcgdGhhdCBtYWtlcyBpdCB3YW50IHRvIHJlY2FsY3VsYXRlIGl0cyB7QGxpbmsgX2ludmVyc2VDYWNoZX0uXG4gICAgICAgICAqIFdpbGwgYmUgc2V0IGB0cnVlYCB3aGVuIGBlbGVtZW50c2AgYXJlIG11dGF0ZWQgYW5kIGJlIHVzZWQgaW4gYGdldEludmVyc2VgLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fc2hvdWxkVXBkYXRlSW52ZXJzZSA9IHRydWU7XG4gICAgICAgIHRoaXMubWF0cml4ID0gbWF0cml4O1xuICAgICAgICBjb25zdCBoYW5kbGVyID0ge1xuICAgICAgICAgICAgc2V0OiAob2JqLCBwcm9wLCBuZXdWYWwpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG91bGRVcGRhdGVJbnZlcnNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBvYmpbcHJvcF0gPSBuZXdWYWw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9vcmlnaW5hbEVsZW1lbnRzID0gbWF0cml4LmVsZW1lbnRzO1xuICAgICAgICBtYXRyaXguZWxlbWVudHMgPSBuZXcgUHJveHkobWF0cml4LmVsZW1lbnRzLCBoYW5kbGVyKTtcbiAgICB9XG4gICAgcmV2ZXJ0KCkge1xuICAgICAgICB0aGlzLm1hdHJpeC5lbGVtZW50cyA9IHRoaXMuX29yaWdpbmFsRWxlbWVudHM7XG4gICAgfVxufVxuXG4vLyBiYXNlZCBvblxuLy8gaHR0cDovL3JvY2tldGp1bXAuc2tyLmpwL3VuaXR5M2QvMTA5L1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2R3YW5nby9VbmlWUk0vYmxvYi9tYXN0ZXIvU2NyaXB0cy9TcHJpbmdCb25lL1ZSTVNwcmluZ0JvbmUuY3NcbmNvbnN0IElERU5USVRZX01BVFJJWDQgPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuLy8g6KiI566X5Lit44Gu5LiA5pmC5L+d5a2Y55So5aSJ5pWw77yI5LiA5bqm44Kk44Oz44K544K/44Oz44K544KS5L2c44Gj44Gf44KJ44GC44Go44Gv5L2/44GE5Zue44GZ77yJXG5jb25zdCBfdjNBID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IF92M0IgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgX3YzQyA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4vKipcbiAqIEEgdGVtcG9yYXJ5IHZhcmlhYmxlIHdoaWNoIGlzIHVzZWQgaW4gYHVwZGF0ZWBcbiAqL1xuY29uc3QgX3dvcmxkU3BhY2VQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4vKipcbiAqIEEgdGVtcG9yYXJ5IHZhcmlhYmxlIHdoaWNoIGlzIHVzZWQgaW4gYHVwZGF0ZWBcbiAqL1xuY29uc3QgX2NlbnRlclNwYWNlUG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuLyoqXG4gKiBBIHRlbXBvcmFyeSB2YXJpYWJsZSB3aGljaCBpcyB1c2VkIGluIGB1cGRhdGVgXG4gKi9cbmNvbnN0IF9uZXh0VGFpbCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5jb25zdCBfcXVhdEEgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuY29uc3QgX21hdEEgPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuY29uc3QgX21hdEIgPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuLyoqXG4gKiBBIGNsYXNzIHJlcHJlc2VudHMgYSBzaW5nbGUgam9pbnQgb2YgYSBzcHJpbmcgYm9uZS5cbiAqIEl0IHNob3VsZCBiZSBtYW5hZ2VkIGJ5IGEgW1tWUk1TcHJpbmdCb25lTWFuYWdlcl1dLlxuICovXG5jbGFzcyBWUk1TcHJpbmdCb25lSm9pbnQge1xuICAgIGdldCBjZW50ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jZW50ZXI7XG4gICAgfVxuICAgIHNldCBjZW50ZXIoY2VudGVyKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgLy8gdW5pbnN0YWxsIGludmVyc2UgY2FjaGVcbiAgICAgICAgaWYgKChfYSA9IHRoaXMuX2NlbnRlcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnVzZXJEYXRhLmludmVyc2VDYWNoZVByb3h5KSB7XG4gICAgICAgICAgICB0aGlzLl9jZW50ZXIudXNlckRhdGEuaW52ZXJzZUNhY2hlUHJveHkucmV2ZXJ0KCk7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5fY2VudGVyLnVzZXJEYXRhLmludmVyc2VDYWNoZVByb3h5O1xuICAgICAgICB9XG4gICAgICAgIC8vIGNoYW5nZSB0aGUgY2VudGVyXG4gICAgICAgIHRoaXMuX2NlbnRlciA9IGNlbnRlcjtcbiAgICAgICAgLy8gaW5zdGFsbCBpbnZlcnNlIGNhY2hlXG4gICAgICAgIGlmICh0aGlzLl9jZW50ZXIpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fY2VudGVyLnVzZXJEYXRhLmludmVyc2VDYWNoZVByb3h5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2VudGVyLnVzZXJEYXRhLmludmVyc2VDYWNoZVByb3h5ID0gbmV3IE1hdHJpeDRJbnZlcnNlQ2FjaGUodGhpcy5fY2VudGVyLm1hdHJpeFdvcmxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgaW5pdGlhbExvY2FsQ2hpbGRQb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luaXRpYWxMb2NhbENoaWxkUG9zaXRpb247XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHdvcmxkIG1hdHJpeCBvZiBpdHMgcGFyZW50IG9iamVjdC5cbiAgICAgKiBOb3RlIHRoYXQgaXQgcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgbWF0cml4LiBEb24ndCBtdXRhdGUgdGhpcyBkaXJlY3RseSFcbiAgICAgKi9cbiAgICBnZXQgX3BhcmVudE1hdHJpeFdvcmxkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ib25lLnBhcmVudCA/IHRoaXMuYm9uZS5wYXJlbnQubWF0cml4V29ybGQgOiBJREVOVElUWV9NQVRSSVg0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcgVlJNU3ByaW5nQm9uZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBib25lIEFuIE9iamVjdDNEIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGlzIGJvbmVcbiAgICAgKiBAcGFyYW0gY2hpbGQgQW4gT2JqZWN0M0QgdGhhdCB3aWxsIGJlIHVzZWQgYXMgYSB0YWlsIG9mIHRoaXMgc3ByaW5nIGJvbmUuIEl0IGNhbiBiZSBudWxsIHdoZW4gdGhlIHNwcmluZyBib25lIGlzIGltcG9ydGVkIGZyb20gVlJNIDAuMFxuICAgICAqIEBwYXJhbSBzZXR0aW5ncyBTZXZlcmFsIHBhcmFtZXRlcnMgcmVsYXRlZCB0byBiZWhhdmlvciBvZiB0aGUgc3ByaW5nIGJvbmVcbiAgICAgKiBAcGFyYW0gY29sbGlkZXJHcm91cHMgQ29sbGlkZXIgZ3JvdXBzIHRoYXQgd2lsbCBiZSBjb2xsaWRlZCB3aXRoIHRoaXMgc3ByaW5nIGJvbmVcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihib25lLCBjaGlsZCwgc2V0dGluZ3MgPSB7fSwgY29sbGlkZXJHcm91cHMgPSBbXSkge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZjtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEN1cnJlbnQgcG9zaXRpb24gb2YgY2hpbGQgdGFpbCwgaW4gY2VudGVyIHVuaXQuIFdpbGwgYmUgdXNlZCBmb3IgdmVybGV0IGludGVncmF0aW9uLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fY3VycmVudFRhaWwgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgICAgICAvKipcbiAgICAgICAgICogUHJldmlvdXMgcG9zaXRpb24gb2YgY2hpbGQgdGFpbCwgaW4gY2VudGVyIHVuaXQuIFdpbGwgYmUgdXNlZCBmb3IgdmVybGV0IGludGVncmF0aW9uLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fcHJldlRhaWwgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgICAgICAvKipcbiAgICAgICAgICogSW5pdGlhbCBheGlzIG9mIHRoZSBib25lLCBpbiBsb2NhbCB1bml0LlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fYm9uZUF4aXMgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgICAgICAvKipcbiAgICAgICAgICogTGVuZ3RoIG9mIHRoZSBib25lIGluIHdvcmxkIHVuaXQuXG4gICAgICAgICAqIFdpbGwgYmUgdXNlZCBmb3Igbm9ybWFsaXphdGlvbiBpbiB1cGRhdGUgbG9vcCwgd2lsbCBiZSB1cGRhdGVkIGJ5IHtAbGluayBfY2FsY1dvcmxkU3BhY2VCb25lTGVuZ3RofS5cbiAgICAgICAgICpcbiAgICAgICAgICogSXQncyBzYW1lIGFzIGxvY2FsIHVuaXQgbGVuZ3RoIHVubGVzcyB0aGVyZSBhcmUgc2NhbGUgdHJhbnNmb3JtYXRpb25zIGluIHRoZSB3b3JsZCBzcGFjZS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX3dvcmxkU3BhY2VCb25lTGVuZ3RoID0gMC4wO1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhpcyBzcHJpbmdib25lIHdpbGwgYmUgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgc3BhY2UgcmVsYXRpdmUgZnJvbSB0aGlzIG9iamVjdC5cbiAgICAgICAgICogSWYgdGhpcyBpcyBgbnVsbGAsIHNwcmluZ2JvbmUgd2lsbCBiZSBjYWxjdWxhdGVkIGluIHdvcmxkIHNwYWNlLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fY2VudGVyID0gbnVsbDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluaXRpYWwgc3RhdGUgb2YgdGhlIGxvY2FsIG1hdHJpeCBvZiB0aGUgYm9uZS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2luaXRpYWxMb2NhbE1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbml0aWFsIHN0YXRlIG9mIHRoZSByb3RhdGlvbiBvZiB0aGUgYm9uZS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2luaXRpYWxMb2NhbFJvdGF0aW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluaXRpYWwgc3RhdGUgb2YgdGhlIHBvc2l0aW9uIG9mIGl0cyBjaGlsZC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2luaXRpYWxMb2NhbENoaWxkUG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgICAgICB0aGlzLmJvbmUgPSBib25lOyAvLyB1bmlWUk3jgafjga4gcGFyZW50XG4gICAgICAgIHRoaXMuYm9uZS5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7IC8vIHVwZGF0ZeOBq+OCiOOCiuioiOeul+OBleOCjOOCi+OBruOBp3RocmVlLmpz5YaF44Gn44Gu6Ieq5YuV5Yem55CG44Gv5LiN6KaBXG4gICAgICAgIHRoaXMuY2hpbGQgPSBjaGlsZDtcbiAgICAgICAgdGhpcy5zZXR0aW5ncyA9IHtcbiAgICAgICAgICAgIGhpdFJhZGl1czogKF9hID0gc2V0dGluZ3MuaGl0UmFkaXVzKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwLjAsXG4gICAgICAgICAgICBzdGlmZm5lc3M6IChfYiA9IHNldHRpbmdzLnN0aWZmbmVzcykgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMS4wLFxuICAgICAgICAgICAgZ3Jhdml0eVBvd2VyOiAoX2MgPSBzZXR0aW5ncy5ncmF2aXR5UG93ZXIpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IDAuMCxcbiAgICAgICAgICAgIGdyYXZpdHlEaXI6IChfZSA9IChfZCA9IHNldHRpbmdzLmdyYXZpdHlEaXIpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC5jbG9uZSgpKSAhPT0gbnVsbCAmJiBfZSAhPT0gdm9pZCAwID8gX2UgOiBuZXcgVEhSRUUuVmVjdG9yMygwLjAsIC0xLjAsIDAuMCksXG4gICAgICAgICAgICBkcmFnRm9yY2U6IChfZiA9IHNldHRpbmdzLmRyYWdGb3JjZSkgIT09IG51bGwgJiYgX2YgIT09IHZvaWQgMCA/IF9mIDogMC40LFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNvbGxpZGVyR3JvdXBzID0gY29sbGlkZXJHcm91cHM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGlzIHNwcmluZyBib25lLlxuICAgICAqIFlvdSBtaWdodCB3YW50IHRvIGNhbGwge0BsaW5rIFZSTVNwcmluZ0JvbmVNYW5hZ2VyLnNldEluaXRTdGF0ZX0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBzZXRJbml0U3RhdGUoKSB7XG4gICAgICAgIC8vIHJlbWVtYmVyIGluaXRpYWwgcG9zaXRpb24gb2YgaXRzZWxmXG4gICAgICAgIHRoaXMuX2luaXRpYWxMb2NhbE1hdHJpeC5jb3B5KHRoaXMuYm9uZS5tYXRyaXgpO1xuICAgICAgICB0aGlzLl9pbml0aWFsTG9jYWxSb3RhdGlvbi5jb3B5KHRoaXMuYm9uZS5xdWF0ZXJuaW9uKTtcbiAgICAgICAgLy8gc2VlIGluaXRpYWwgcG9zaXRpb24gb2YgaXRzIGxvY2FsIGNoaWxkXG4gICAgICAgIGlmICh0aGlzLmNoaWxkKSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0aWFsTG9jYWxDaGlsZFBvc2l0aW9uLmNvcHkodGhpcy5jaGlsZC5wb3NpdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyB2cm0wIHJlcXVpcmVzIGEgN2NtIGZpeGVkIGJvbmUgbGVuZ3RoIGZvciB0aGUgZmluYWwgbm9kZSBpbiBhIGNoYWluXG4gICAgICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS92cm0tYy92cm0tc3BlY2lmaWNhdGlvbi90cmVlL21hc3Rlci9zcGVjaWZpY2F0aW9uL1ZSTUNfc3ByaW5nQm9uZS0xLjAjYWJvdXQtc3ByaW5nLWNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgIHRoaXMuX2luaXRpYWxMb2NhbENoaWxkUG9zaXRpb24uY29weSh0aGlzLmJvbmUucG9zaXRpb24pLm5vcm1hbGl6ZSgpLm11bHRpcGx5U2NhbGFyKDAuMDcpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvcHkgdGhlIGNoaWxkIHBvc2l0aW9uIHRvIHRhaWxzXG4gICAgICAgIGNvbnN0IG1hdHJpeFdvcmxkVG9DZW50ZXIgPSB0aGlzLl9nZXRNYXRyaXhXb3JsZFRvQ2VudGVyKF9tYXRBKTtcbiAgICAgICAgdGhpcy5ib25lLmxvY2FsVG9Xb3JsZCh0aGlzLl9jdXJyZW50VGFpbC5jb3B5KHRoaXMuX2luaXRpYWxMb2NhbENoaWxkUG9zaXRpb24pKS5hcHBseU1hdHJpeDQobWF0cml4V29ybGRUb0NlbnRlcik7XG4gICAgICAgIHRoaXMuX3ByZXZUYWlsLmNvcHkodGhpcy5fY3VycmVudFRhaWwpO1xuICAgICAgICAvLyBzZXQgaW5pdGlhbCBzdGF0ZXMgdGhhdCBhcmUgcmVsYXRlZCB0byBsb2NhbCBjaGlsZCBwb3NpdGlvblxuICAgICAgICB0aGlzLl9ib25lQXhpcy5jb3B5KHRoaXMuX2luaXRpYWxMb2NhbENoaWxkUG9zaXRpb24pLm5vcm1hbGl6ZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNldCB0aGUgc3RhdGUgb2YgdGhpcyBib25lLlxuICAgICAqIFlvdSBtaWdodCB3YW50IHRvIGNhbGwgW1tWUk1TcHJpbmdCb25lTWFuYWdlci5yZXNldF1dIGluc3RlYWQuXG4gICAgICovXG4gICAgcmVzZXQoKSB7XG4gICAgICAgIHRoaXMuYm9uZS5xdWF0ZXJuaW9uLmNvcHkodGhpcy5faW5pdGlhbExvY2FsUm90YXRpb24pO1xuICAgICAgICAvLyBXZSBuZWVkIHRvIHVwZGF0ZSBpdHMgbWF0cml4V29ybGQgbWFudWFsbHksIHNpbmNlIHdlIHR3ZWFrZWQgdGhlIGJvbmUgYnkgb3VyIGhhbmRcbiAgICAgICAgdGhpcy5ib25lLnVwZGF0ZU1hdHJpeCgpO1xuICAgICAgICB0aGlzLmJvbmUubWF0cml4V29ybGQubXVsdGlwbHlNYXRyaWNlcyh0aGlzLl9wYXJlbnRNYXRyaXhXb3JsZCwgdGhpcy5ib25lLm1hdHJpeCk7XG4gICAgICAgIC8vIEFwcGx5IHVwZGF0ZWQgcG9zaXRpb24gdG8gdGFpbCBzdGF0ZXNcbiAgICAgICAgY29uc3QgbWF0cml4V29ybGRUb0NlbnRlciA9IHRoaXMuX2dldE1hdHJpeFdvcmxkVG9DZW50ZXIoX21hdEEpO1xuICAgICAgICB0aGlzLmJvbmUubG9jYWxUb1dvcmxkKHRoaXMuX2N1cnJlbnRUYWlsLmNvcHkodGhpcy5faW5pdGlhbExvY2FsQ2hpbGRQb3NpdGlvbikpLmFwcGx5TWF0cml4NChtYXRyaXhXb3JsZFRvQ2VudGVyKTtcbiAgICAgICAgdGhpcy5fcHJldlRhaWwuY29weSh0aGlzLl9jdXJyZW50VGFpbCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhpcyBib25lLlxuICAgICAqIFlvdSBtaWdodCB3YW50IHRvIGNhbGwgW1tWUk1TcHJpbmdCb25lTWFuYWdlci51cGRhdGVdXSBpbnN0ZWFkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRlbHRhIGRlbHRhVGltZVxuICAgICAqL1xuICAgIHVwZGF0ZShkZWx0YSkge1xuICAgICAgICBpZiAoZGVsdGEgPD0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgLy8gVXBkYXRlIHRoZSBfd29ybGRTcGFjZUJvbmVMZW5ndGhcbiAgICAgICAgdGhpcy5fY2FsY1dvcmxkU3BhY2VCb25lTGVuZ3RoKCk7XG4gICAgICAgIC8vIEdldCBib25lIHBvc2l0aW9uIGluIGNlbnRlciBzcGFjZVxuICAgICAgICBfd29ybGRTcGFjZVBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLmJvbmUubWF0cml4V29ybGQpO1xuICAgICAgICBsZXQgbWF0cml4V29ybGRUb0NlbnRlciA9IHRoaXMuX2dldE1hdHJpeFdvcmxkVG9DZW50ZXIoX21hdEEpO1xuICAgICAgICBfY2VudGVyU3BhY2VQb3NpdGlvbi5jb3B5KF93b3JsZFNwYWNlUG9zaXRpb24pLmFwcGx5TWF0cml4NChtYXRyaXhXb3JsZFRvQ2VudGVyKTtcbiAgICAgICAgY29uc3QgcXVhdFdvcmxkVG9DZW50ZXIgPSBfcXVhdEEuc2V0RnJvbVJvdGF0aW9uTWF0cml4KG1hdHJpeFdvcmxkVG9DZW50ZXIpO1xuICAgICAgICAvLyBHZXQgcGFyZW50IG1hdHJpeCBpbiBjZW50ZXIgc3BhY2VcbiAgICAgICAgY29uc3QgY2VudGVyU3BhY2VQYXJlbnRNYXRyaXggPSBfbWF0Qi5jb3B5KG1hdHJpeFdvcmxkVG9DZW50ZXIpLm11bHRpcGx5KHRoaXMuX3BhcmVudE1hdHJpeFdvcmxkKTtcbiAgICAgICAgLy8gR2V0IGJvbmVBeGlzIGluIGNlbnRlciBzcGFjZVxuICAgICAgICBjb25zdCBjZW50ZXJTcGFjZUJvbmVBeGlzID0gX3YzQlxuICAgICAgICAgICAgLmNvcHkodGhpcy5fYm9uZUF4aXMpXG4gICAgICAgICAgICAuYXBwbHlNYXRyaXg0KHRoaXMuX2luaXRpYWxMb2NhbE1hdHJpeClcbiAgICAgICAgICAgIC5hcHBseU1hdHJpeDQoY2VudGVyU3BhY2VQYXJlbnRNYXRyaXgpXG4gICAgICAgICAgICAuc3ViKF9jZW50ZXJTcGFjZVBvc2l0aW9uKVxuICAgICAgICAgICAgLm5vcm1hbGl6ZSgpO1xuICAgICAgICAvLyBncmF2aXR5IGluIGNlbnRlciBzcGFjZVxuICAgICAgICBjb25zdCBjZW50ZXJTcGFjZUdyYXZpdHkgPSBfdjNDLmNvcHkodGhpcy5zZXR0aW5ncy5ncmF2aXR5RGlyKS5hcHBseVF1YXRlcm5pb24ocXVhdFdvcmxkVG9DZW50ZXIpLm5vcm1hbGl6ZSgpO1xuICAgICAgICBjb25zdCBtYXRyaXhDZW50ZXJUb1dvcmxkID0gdGhpcy5fZ2V0TWF0cml4Q2VudGVyVG9Xb3JsZChfbWF0QSk7XG4gICAgICAgIC8vIHZlcmxldOepjeWIhuOBp+asoeOBruS9jee9ruOCkuioiOeul1xuICAgICAgICBfbmV4dFRhaWxcbiAgICAgICAgICAgIC5jb3B5KHRoaXMuX2N1cnJlbnRUYWlsKVxuICAgICAgICAgICAgLmFkZChfdjNBXG4gICAgICAgICAgICAuY29weSh0aGlzLl9jdXJyZW50VGFpbClcbiAgICAgICAgICAgIC5zdWIodGhpcy5fcHJldlRhaWwpXG4gICAgICAgICAgICAubXVsdGlwbHlTY2FsYXIoMSAtIHRoaXMuc2V0dGluZ3MuZHJhZ0ZvcmNlKSkgLy8g5YmN44OV44Os44O844Og44Gu56e75YuV44KS57aZ57aa44GZ44KLKOa4m+ihsOOCguOBguOCi+OCiClcbiAgICAgICAgICAgIC5hZGQoX3YzQS5jb3B5KGNlbnRlclNwYWNlQm9uZUF4aXMpLm11bHRpcGx5U2NhbGFyKHRoaXMuc2V0dGluZ3Muc3RpZmZuZXNzICogZGVsdGEpKSAvLyDopqrjga7lm57ou6LjgavjgojjgovlrZDjg5zjg7zjg7Pjga7np7vli5Xnm67mqJlcbiAgICAgICAgICAgIC5hZGQoX3YzQS5jb3B5KGNlbnRlclNwYWNlR3Jhdml0eSkubXVsdGlwbHlTY2FsYXIodGhpcy5zZXR0aW5ncy5ncmF2aXR5UG93ZXIgKiBkZWx0YSkpIC8vIOWkluWKm+OBq+OCiOOCi+enu+WLlemHj1xuICAgICAgICAgICAgLmFwcGx5TWF0cml4NChtYXRyaXhDZW50ZXJUb1dvcmxkKTsgLy8gdGFpbOOCkndvcmxkIHNwYWNl44Gr5oi744GZXG4gICAgICAgIC8vIG5vcm1hbGl6ZSBib25lIGxlbmd0aFxuICAgICAgICBfbmV4dFRhaWwuc3ViKF93b3JsZFNwYWNlUG9zaXRpb24pLm5vcm1hbGl6ZSgpLm11bHRpcGx5U2NhbGFyKHRoaXMuX3dvcmxkU3BhY2VCb25lTGVuZ3RoKS5hZGQoX3dvcmxkU3BhY2VQb3NpdGlvbik7XG4gICAgICAgIC8vIENvbGxpc2lvbuOBp+enu+WLlVxuICAgICAgICB0aGlzLl9jb2xsaXNpb24oX25leHRUYWlsKTtcbiAgICAgICAgLy8gdXBkYXRlIHByZXZUYWlsIGFuZCBjdXJyZW50VGFpbFxuICAgICAgICBtYXRyaXhXb3JsZFRvQ2VudGVyID0gdGhpcy5fZ2V0TWF0cml4V29ybGRUb0NlbnRlcihfbWF0QSk7XG4gICAgICAgIHRoaXMuX3ByZXZUYWlsLmNvcHkodGhpcy5fY3VycmVudFRhaWwpO1xuICAgICAgICB0aGlzLl9jdXJyZW50VGFpbC5jb3B5KF92M0EuY29weShfbmV4dFRhaWwpLmFwcGx5TWF0cml4NChtYXRyaXhXb3JsZFRvQ2VudGVyKSk7XG4gICAgICAgIC8vIEFwcGx5IHJvdGF0aW9uLCBjb252ZXJ0IHZlY3RvcjMgdGhpbmcgaW50byBhY3R1YWwgcXVhdGVybmlvblxuICAgICAgICAvLyBPcmlnaW5hbCBVbmlWUk0gaXMgZG9pbmcgY2VudGVyIHVuaXQgY2FsY3VsdXMgYXQgaGVyZSBidXQgd2UncmUgZ29ubmEgZG8gdGhpcyBvbiBsb2NhbCB1bml0XG4gICAgICAgIGNvbnN0IHdvcmxkU3BhY2VJbml0aWFsTWF0cml4SW52ID0gbWF0NEludmVydENvbXBhdChfbWF0QS5jb3B5KHRoaXMuX3BhcmVudE1hdHJpeFdvcmxkKS5tdWx0aXBseSh0aGlzLl9pbml0aWFsTG9jYWxNYXRyaXgpKTtcbiAgICAgICAgY29uc3QgYXBwbHlSb3RhdGlvbiA9IF9xdWF0QS5zZXRGcm9tVW5pdFZlY3RvcnModGhpcy5fYm9uZUF4aXMsIF92M0EuY29weShfbmV4dFRhaWwpLmFwcGx5TWF0cml4NCh3b3JsZFNwYWNlSW5pdGlhbE1hdHJpeEludikubm9ybWFsaXplKCkpO1xuICAgICAgICB0aGlzLmJvbmUucXVhdGVybmlvbi5jb3B5KHRoaXMuX2luaXRpYWxMb2NhbFJvdGF0aW9uKS5tdWx0aXBseShhcHBseVJvdGF0aW9uKTtcbiAgICAgICAgLy8gV2UgbmVlZCB0byB1cGRhdGUgaXRzIG1hdHJpeFdvcmxkIG1hbnVhbGx5LCBzaW5jZSB3ZSB0d2Vha2VkIHRoZSBib25lIGJ5IG91ciBoYW5kXG4gICAgICAgIHRoaXMuYm9uZS51cGRhdGVNYXRyaXgoKTtcbiAgICAgICAgdGhpcy5ib25lLm1hdHJpeFdvcmxkLm11bHRpcGx5TWF0cmljZXModGhpcy5fcGFyZW50TWF0cml4V29ybGQsIHRoaXMuYm9uZS5tYXRyaXgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEbyBjb2xsaXNpb24gbWF0aCBhZ2FpbnN0IGV2ZXJ5IGNvbGxpZGVycyBhdHRhY2hlZCB0byB0aGlzIGJvbmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFpbCBUaGUgdGFpbCB5b3Ugd2FudCB0byBwcm9jZXNzXG4gICAgICovXG4gICAgX2NvbGxpc2lvbih0YWlsKSB7XG4gICAgICAgIHRoaXMuY29sbGlkZXJHcm91cHMuZm9yRWFjaCgoY29sbGlkZXJHcm91cCkgPT4ge1xuICAgICAgICAgICAgY29sbGlkZXJHcm91cC5jb2xsaWRlcnMuZm9yRWFjaCgoY29sbGlkZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXN0ID0gY29sbGlkZXIuc2hhcGUuY2FsY3VsYXRlQ29sbGlzaW9uKGNvbGxpZGVyLm1hdHJpeFdvcmxkLCB0YWlsLCB0aGlzLnNldHRpbmdzLmhpdFJhZGl1cywgX3YzQSk7XG4gICAgICAgICAgICAgICAgaWYgKGRpc3QgPCAwLjApIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaGl0XG4gICAgICAgICAgICAgICAgICAgIHRhaWwuYWRkKF92M0EubXVsdGlwbHlTY2FsYXIoLWRpc3QpKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gbm9ybWFsaXplIGJvbmUgbGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgIHRhaWwuc3ViKF93b3JsZFNwYWNlUG9zaXRpb24pLm5vcm1hbGl6ZSgpLm11bHRpcGx5U2NhbGFyKHRoaXMuX3dvcmxkU3BhY2VCb25lTGVuZ3RoKS5hZGQoX3dvcmxkU3BhY2VQb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGUgdGhlIHtAbGluayBfd29ybGRTcGFjZUJvbmVMZW5ndGh9LlxuICAgICAqIEludGVuZGVkIHRvIGJlIHVzZWQgaW4ge0BsaW5rIHVwZGF0ZX0uXG4gICAgICovXG4gICAgX2NhbGNXb3JsZFNwYWNlQm9uZUxlbmd0aCgpIHtcbiAgICAgICAgX3YzQS5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5ib25lLm1hdHJpeFdvcmxkKTsgLy8gZ2V0IHdvcmxkIHBvc2l0aW9uIG9mIHRoaXMuYm9uZVxuICAgICAgICBpZiAodGhpcy5jaGlsZCkge1xuICAgICAgICAgICAgX3YzQi5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5jaGlsZC5tYXRyaXhXb3JsZCk7IC8vIGdldCB3b3JsZCBwb3NpdGlvbiBvZiB0aGlzLmNoaWxkXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBfdjNCLmNvcHkodGhpcy5faW5pdGlhbExvY2FsQ2hpbGRQb3NpdGlvbik7XG4gICAgICAgICAgICBfdjNCLmFwcGx5TWF0cml4NCh0aGlzLmJvbmUubWF0cml4V29ybGQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3dvcmxkU3BhY2VCb25lTGVuZ3RoID0gX3YzQS5zdWIoX3YzQikubGVuZ3RoKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG1hdHJpeCB0aGF0IGNvbnZlcnRzIGNlbnRlciBzcGFjZSBpbnRvIHdvcmxkIHNwYWNlLlxuICAgICAqIEBwYXJhbSB0YXJnZXQgVGFyZ2V0IG1hdHJpeFxuICAgICAqL1xuICAgIF9nZXRNYXRyaXhDZW50ZXJUb1dvcmxkKHRhcmdldCkge1xuICAgICAgICBpZiAodGhpcy5fY2VudGVyKSB7XG4gICAgICAgICAgICB0YXJnZXQuY29weSh0aGlzLl9jZW50ZXIubWF0cml4V29ybGQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0LmlkZW50aXR5KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbWF0cml4IHRoYXQgY29udmVydHMgd29ybGQgc3BhY2UgaW50byBjZW50ZXIgc3BhY2UuXG4gICAgICogQHBhcmFtIHRhcmdldCBUYXJnZXQgbWF0cml4XG4gICAgICovXG4gICAgX2dldE1hdHJpeFdvcmxkVG9DZW50ZXIodGFyZ2V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9jZW50ZXIpIHtcbiAgICAgICAgICAgIHRhcmdldC5jb3B5KHRoaXMuX2NlbnRlci51c2VyRGF0YS5pbnZlcnNlQ2FjaGVQcm94eS5pbnZlcnNlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldC5pZGVudGl0eSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbmZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cblxuZnVuY3Rpb24gdHJhdmVyc2VBbmNlc3RvcnNGcm9tUm9vdChvYmplY3QsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgYW5jZXN0b3JzID0gW107XG4gICAgbGV0IGhlYWQgPSBvYmplY3Q7XG4gICAgd2hpbGUgKGhlYWQgIT09IG51bGwpIHtcbiAgICAgICAgYW5jZXN0b3JzLnVuc2hpZnQoaGVhZCk7XG4gICAgICAgIGhlYWQgPSBoZWFkLnBhcmVudDtcbiAgICB9XG4gICAgYW5jZXN0b3JzLmZvckVhY2goKGFuY2VzdG9yKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKGFuY2VzdG9yKTtcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBUcmF2ZXJzZSBjaGlsZHJlbiBvZiBnaXZlbiBvYmplY3QgYW5kIGV4ZWN1dGUgZ2l2ZW4gY2FsbGJhY2suXG4gKiBUaGUgZ2l2ZW4gb2JqZWN0IGl0c2VsZiB3b250IGJlIGdpdmVuIHRvIHRoZSBjYWxsYmFjay5cbiAqIElmIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGNhbGxiYWNrIGlzIGB0cnVlYCwgaXQgd2lsbCBoYWx0IHRoZSB0cmF2ZXJzYWwgb2YgaXRzIGNoaWxkcmVuLlxuICogQHBhcmFtIG9iamVjdCBBIHJvb3Qgb2JqZWN0XG4gKiBAcGFyYW0gY2FsbGJhY2sgQSBjYWxsYmFjayBmdW5jdGlvbiBjYWxsZWQgZm9yIGVhY2ggY2hpbGRyZW5cbiAqL1xuZnVuY3Rpb24gdHJhdmVyc2VDaGlsZHJlblVudGlsQ29uZGl0aW9uTWV0KG9iamVjdCwgY2FsbGJhY2spIHtcbiAgICBvYmplY3QuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gY2FsbGJhY2soY2hpbGQpO1xuICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgdHJhdmVyc2VDaGlsZHJlblVudGlsQ29uZGl0aW9uTWV0KGNoaWxkLCBjYWxsYmFjayk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuY2xhc3MgVlJNU3ByaW5nQm9uZU1hbmFnZXIge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9qb2ludHMgPSBuZXcgU2V0KCk7XG4gICAgICAgIHRoaXMuX29iamVjdFNwcmluZ0JvbmVzTWFwID0gbmV3IE1hcCgpO1xuICAgIH1cbiAgICBnZXQgam9pbnRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fam9pbnRzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIGpvaW50c30gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBnZXQgc3ByaW5nQm9uZXMoKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignVlJNU3ByaW5nQm9uZU1hbmFnZXI6IHNwcmluZ0JvbmVzIGlzIGRlcHJlY2F0ZWQuIHVzZSBqb2ludHMgaW5zdGVhZC4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2pvaW50cztcbiAgICB9XG4gICAgZ2V0IGNvbGxpZGVyR3JvdXBzKCkge1xuICAgICAgICBjb25zdCBzZXQgPSBuZXcgU2V0KCk7XG4gICAgICAgIHRoaXMuX2pvaW50cy5mb3JFYWNoKChzcHJpbmdCb25lKSA9PiB7XG4gICAgICAgICAgICBzcHJpbmdCb25lLmNvbGxpZGVyR3JvdXBzLmZvckVhY2goKGNvbGxpZGVyR3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICBzZXQuYWRkKGNvbGxpZGVyR3JvdXApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShzZXQpO1xuICAgIH1cbiAgICBnZXQgY29sbGlkZXJzKCkge1xuICAgICAgICBjb25zdCBzZXQgPSBuZXcgU2V0KCk7XG4gICAgICAgIHRoaXMuY29sbGlkZXJHcm91cHMuZm9yRWFjaCgoY29sbGlkZXJHcm91cCkgPT4ge1xuICAgICAgICAgICAgY29sbGlkZXJHcm91cC5jb2xsaWRlcnMuZm9yRWFjaCgoY29sbGlkZXIpID0+IHtcbiAgICAgICAgICAgICAgICBzZXQuYWRkKGNvbGxpZGVyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oc2V0KTtcbiAgICB9XG4gICAgYWRkSm9pbnQoam9pbnQpIHtcbiAgICAgICAgdGhpcy5fam9pbnRzLmFkZChqb2ludCk7XG4gICAgICAgIGxldCBvYmplY3RTZXQgPSB0aGlzLl9vYmplY3RTcHJpbmdCb25lc01hcC5nZXQoam9pbnQuYm9uZSk7XG4gICAgICAgIGlmIChvYmplY3RTZXQgPT0gbnVsbCkge1xuICAgICAgICAgICAgb2JqZWN0U2V0ID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgdGhpcy5fb2JqZWN0U3ByaW5nQm9uZXNNYXAuc2V0KGpvaW50LmJvbmUsIG9iamVjdFNldCk7XG4gICAgICAgIH1cbiAgICAgICAgb2JqZWN0U2V0LmFkZChqb2ludCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgYWRkSm9pbnR9IGluc3RlYWQuXG4gICAgICovXG4gICAgYWRkU3ByaW5nQm9uZShqb2ludCkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1ZSTVNwcmluZ0JvbmVNYW5hZ2VyOiBhZGRTcHJpbmdCb25lKCkgaXMgZGVwcmVjYXRlZC4gdXNlIGFkZEpvaW50KCkgaW5zdGVhZC4nKTtcbiAgICAgICAgdGhpcy5hZGRKb2ludChqb2ludCk7XG4gICAgfVxuICAgIGRlbGV0ZUpvaW50KGpvaW50KSB7XG4gICAgICAgIHRoaXMuX2pvaW50cy5kZWxldGUoam9pbnQpO1xuICAgICAgICBjb25zdCBvYmplY3RTZXQgPSB0aGlzLl9vYmplY3RTcHJpbmdCb25lc01hcC5nZXQoam9pbnQuYm9uZSk7XG4gICAgICAgIG9iamVjdFNldC5kZWxldGUoam9pbnQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIGRlbGV0ZUpvaW50fSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIGRlbGV0ZVNwcmluZ0JvbmUoam9pbnQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdWUk1TcHJpbmdCb25lTWFuYWdlcjogZGVsZXRlU3ByaW5nQm9uZSgpIGlzIGRlcHJlY2F0ZWQuIHVzZSBkZWxldGVKb2ludCgpIGluc3RlYWQuJyk7XG4gICAgICAgIHRoaXMuZGVsZXRlSm9pbnQoam9pbnQpO1xuICAgIH1cbiAgICBzZXRJbml0U3RhdGUoKSB7XG4gICAgICAgIGNvbnN0IHNwcmluZ0JvbmVzVHJpZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IHNwcmluZ0JvbmVzRG9uZSA9IG5ldyBTZXQoKTtcbiAgICAgICAgY29uc3Qgb2JqZWN0VXBkYXRlZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgZm9yIChjb25zdCBzcHJpbmdCb25lIG9mIHRoaXMuX2pvaW50cykge1xuICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc1NwcmluZ0JvbmUoc3ByaW5nQm9uZSwgc3ByaW5nQm9uZXNUcmllZCwgc3ByaW5nQm9uZXNEb25lLCBvYmplY3RVcGRhdGVkLCAoc3ByaW5nQm9uZSkgPT4gc3ByaW5nQm9uZS5zZXRJbml0U3RhdGUoKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVzZXQoKSB7XG4gICAgICAgIGNvbnN0IHNwcmluZ0JvbmVzVHJpZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IHNwcmluZ0JvbmVzRG9uZSA9IG5ldyBTZXQoKTtcbiAgICAgICAgY29uc3Qgb2JqZWN0VXBkYXRlZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgZm9yIChjb25zdCBzcHJpbmdCb25lIG9mIHRoaXMuX2pvaW50cykge1xuICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc1NwcmluZ0JvbmUoc3ByaW5nQm9uZSwgc3ByaW5nQm9uZXNUcmllZCwgc3ByaW5nQm9uZXNEb25lLCBvYmplY3RVcGRhdGVkLCAoc3ByaW5nQm9uZSkgPT4gc3ByaW5nQm9uZS5yZXNldCgpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1cGRhdGUoZGVsdGEpIHtcbiAgICAgICAgY29uc3Qgc3ByaW5nQm9uZXNUcmllZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgY29uc3Qgc3ByaW5nQm9uZXNEb25lID0gbmV3IFNldCgpO1xuICAgICAgICBjb25zdCBvYmplY3RVcGRhdGVkID0gbmV3IFNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IHNwcmluZ0JvbmUgb2YgdGhpcy5fam9pbnRzKSB7XG4gICAgICAgICAgICAvLyB1cGRhdGUgdGhlIHNwcmluZ2JvbmVcbiAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NTcHJpbmdCb25lKHNwcmluZ0JvbmUsIHNwcmluZ0JvbmVzVHJpZWQsIHNwcmluZ0JvbmVzRG9uZSwgb2JqZWN0VXBkYXRlZCwgKHNwcmluZ0JvbmUpID0+IHNwcmluZ0JvbmUudXBkYXRlKGRlbHRhKSk7XG4gICAgICAgICAgICAvLyB1cGRhdGUgY2hpbGRyZW4gd29ybGQgbWF0cmljZXNcbiAgICAgICAgICAgIC8vIGl0IGlzIHJlcXVpcmVkIHdoZW4gdGhlIHNwcmluZyBib25lIGNoYWluIGlzIHNwYXJzZVxuICAgICAgICAgICAgdHJhdmVyc2VDaGlsZHJlblVudGlsQ29uZGl0aW9uTWV0KHNwcmluZ0JvbmUuYm9uZSwgKG9iamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIG9iamVjdCBoYXMgYXR0YWNoZWQgc3ByaW5nYm9uZSwgaGFsdCB0aGUgdHJhdmVyc2FsXG4gICAgICAgICAgICAgICAgaWYgKCgoX2IgPSAoX2EgPSB0aGlzLl9vYmplY3RTcHJpbmdCb25lc01hcC5nZXQob2JqZWN0KSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNpemUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDApID4gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIHVwZGF0ZSBpdHMgd29ybGQgbWF0cml4XG4gICAgICAgICAgICAgICAgb2JqZWN0LnVwZGF0ZVdvcmxkTWF0cml4KGZhbHNlLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogVXBkYXRlIGEgc3ByaW5nIGJvbmUuXG4gICAgICogSWYgdGhlcmUgYXJlIG90aGVyIHNwcmluZyBib25lIHRoYXQgYXJlIGRlcGVuZGFudCwgaXQgd2lsbCB0cnkgdG8gdXBkYXRlIHRoZW0gcmVjdXJzaXZlbHkuXG4gICAgICogSXQgdXBkYXRlcyBtYXRyaXhXb3JsZCBvZiBhbGwgYW5jZXN0b3JzIGFuZCBteXNlbGYuXG4gICAgICogSXQgbWlnaHQgdGhyb3cgYW4gZXJyb3IgaWYgdGhlcmUgYXJlIGNpcmN1bGFyIGRlcGVuZGVuY2llcy5cbiAgICAgKlxuICAgICAqIEludGVuZGVkIHRvIGJlIHVzZWQgaW4ge0BsaW5rIHVwZGF0ZX0gYW5kIHtAbGluayBfcHJvY2Vzc1NwcmluZ0JvbmV9IGl0c2VsZiByZWN1cnNpdmVseS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzcHJpbmdCb25lIEEgc3ByaW5nQm9uZSB5b3Ugd2FudCB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gc3ByaW5nQm9uZXNUcmllZCBTZXQgb2Ygc3ByaW5nQm9uZXMgdGhhdCBhcmUgYWxyZWFkeSB0cmllZCB0byBiZSB1cGRhdGVkXG4gICAgICogQHBhcmFtIHNwcmluZ0JvbmVzRG9uZSBTZXQgb2Ygc3ByaW5nQm9uZXMgdGhhdCBhcmUgYWxyZWFkeSB1cCB0byBkYXRlXG4gICAgICogQHBhcmFtIG9iamVjdFVwZGF0ZWQgU2V0IG9mIG9iamVjdDNEIHdob3NlIG1hdHJpeFdvcmxkIGlzIHVwZGF0ZWRcbiAgICAgKi9cbiAgICBfcHJvY2Vzc1NwcmluZ0JvbmUoc3ByaW5nQm9uZSwgc3ByaW5nQm9uZXNUcmllZCwgc3ByaW5nQm9uZXNEb25lLCBvYmplY3RVcGRhdGVkLCBjYWxsYmFjaykge1xuICAgICAgICBpZiAoc3ByaW5nQm9uZXNEb25lLmhhcyhzcHJpbmdCb25lKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzcHJpbmdCb25lc1RyaWVkLmhhcyhzcHJpbmdCb25lKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdWUk1TcHJpbmdCb25lTWFuYWdlcjogQ2lyY3VsYXIgZGVwZW5kZW5jeSBkZXRlY3RlZCB3aGlsZSB1cGRhdGluZyBzcHJpbmdib25lcycpO1xuICAgICAgICB9XG4gICAgICAgIHNwcmluZ0JvbmVzVHJpZWQuYWRkKHNwcmluZ0JvbmUpO1xuICAgICAgICBjb25zdCBkZXBPYmplY3RzID0gdGhpcy5fZ2V0RGVwZW5kZW5jaWVzKHNwcmluZ0JvbmUpO1xuICAgICAgICBmb3IgKGNvbnN0IGRlcE9iamVjdCBvZiBkZXBPYmplY3RzKSB7XG4gICAgICAgICAgICB0cmF2ZXJzZUFuY2VzdG9yc0Zyb21Sb290KGRlcE9iamVjdCwgKGRlcE9iamVjdEFuY2VzdG9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqZWN0U2V0ID0gdGhpcy5fb2JqZWN0U3ByaW5nQm9uZXNNYXAuZ2V0KGRlcE9iamVjdEFuY2VzdG9yKTtcbiAgICAgICAgICAgICAgICBpZiAob2JqZWN0U2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZGVwU3ByaW5nQm9uZSBvZiBvYmplY3RTZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NTcHJpbmdCb25lKGRlcFNwcmluZ0JvbmUsIHNwcmluZ0JvbmVzVHJpZWQsIHNwcmluZ0JvbmVzRG9uZSwgb2JqZWN0VXBkYXRlZCwgY2FsbGJhY2spO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFvYmplY3RVcGRhdGVkLmhhcyhkZXBPYmplY3RBbmNlc3RvcikpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIG1hdHJpeCBvZiBub24tc3ByaW5nYm9uZVxuICAgICAgICAgICAgICAgICAgICBkZXBPYmplY3RBbmNlc3Rvci51cGRhdGVXb3JsZE1hdHJpeChmYWxzZSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3RVcGRhdGVkLmFkZChkZXBPYmplY3RBbmNlc3Rvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdXBkYXRlIG15IG1hdHJpeFxuICAgICAgICBzcHJpbmdCb25lLmJvbmUudXBkYXRlTWF0cml4KCk7XG4gICAgICAgIHNwcmluZ0JvbmUuYm9uZS51cGRhdGVXb3JsZE1hdHJpeChmYWxzZSwgZmFsc2UpO1xuICAgICAgICBjYWxsYmFjayhzcHJpbmdCb25lKTtcbiAgICAgICAgb2JqZWN0VXBkYXRlZC5hZGQoc3ByaW5nQm9uZS5ib25lKTtcbiAgICAgICAgc3ByaW5nQm9uZXNEb25lLmFkZChzcHJpbmdCb25lKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgc2V0IG9mIG9iamVjdHMgdGhhdCBhcmUgZGVwZW5kYW50IG9mIGdpdmVuIHNwcmluZyBib25lLlxuICAgICAqIEBwYXJhbSBzcHJpbmdCb25lIEEgc3ByaW5nIGJvbmVcbiAgICAgKiBAcmV0dXJuIEEgc2V0IG9mIG9iamVjdHMgdGhhdCBhcmUgZGVwZW5kYW50IG9mIGdpdmVuIHNwcmluZyBib25lXG4gICAgICovXG4gICAgX2dldERlcGVuZGVuY2llcyhzcHJpbmdCb25lKSB7XG4gICAgICAgIGNvbnN0IHNldCA9IG5ldyBTZXQoKTtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gc3ByaW5nQm9uZS5ib25lLnBhcmVudDtcbiAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgc2V0LmFkZChwYXJlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHNwcmluZ0JvbmUuY29sbGlkZXJHcm91cHMuZm9yRWFjaCgoY29sbGlkZXJHcm91cCkgPT4ge1xuICAgICAgICAgICAgY29sbGlkZXJHcm91cC5jb2xsaWRlcnMuZm9yRWFjaCgoY29sbGlkZXIpID0+IHtcbiAgICAgICAgICAgICAgICBzZXQuYWRkKGNvbGxpZGVyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHNldDtcbiAgICB9XG59XG5cbi8qKlxuICogUG9zc2libGUgc3BlYyB2ZXJzaW9ucyBpdCByZWNvZ25pemVzLlxuICovXG5jb25zdCBQT1NTSUJMRV9TUEVDX1ZFUlNJT05TID0gbmV3IFNldChbJzEuMCcsICcxLjAtYmV0YSddKTtcbmNsYXNzIFZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW4ge1xuICAgIGdldCBuYW1lKCkge1xuICAgICAgICByZXR1cm4gVlJNU3ByaW5nQm9uZUxvYWRlclBsdWdpbi5FWFRFTlNJT05fTkFNRTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocGFyc2VyLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICAgICAgICB0aGlzLmpvaW50SGVscGVyUm9vdCA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5qb2ludEhlbHBlclJvb3Q7XG4gICAgICAgIHRoaXMuY29sbGlkZXJIZWxwZXJSb290ID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLmNvbGxpZGVySGVscGVyUm9vdDtcbiAgICB9XG4gICAgYWZ0ZXJSb290KGdsdGYpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGdsdGYudXNlckRhdGEudnJtU3ByaW5nQm9uZU1hbmFnZXIgPSB5aWVsZCB0aGlzLl9pbXBvcnQoZ2x0Zik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbXBvcnQgc3ByaW5nIGJvbmVzIGZyb20gYSBHTFRGIGFuZCByZXR1cm4gYSB7QGxpbmsgVlJNU3ByaW5nQm9uZU1hbmFnZXJ9LlxuICAgICAqIEl0IG1pZ2h0IHJldHVybiBgbnVsbGAgaW5zdGVhZCB3aGVuIGl0IGRvZXMgbm90IG5lZWQgdG8gYmUgY3JlYXRlZCBvciBzb21ldGhpbmcgZ28gd3JvbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ2x0ZiBBIHBhcnNlZCByZXN1bHQgb2YgR0xURiB0YWtlbiBmcm9tIEdMVEZMb2FkZXJcbiAgICAgKi9cbiAgICBfaW1wb3J0KGdsdGYpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHYxUmVzdWx0ID0geWllbGQgdGhpcy5fdjFJbXBvcnQoZ2x0Zik7XG4gICAgICAgICAgICBpZiAodjFSZXN1bHQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2MVJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHYwUmVzdWx0ID0geWllbGQgdGhpcy5fdjBJbXBvcnQoZ2x0Zik7XG4gICAgICAgICAgICBpZiAodjBSZXN1bHQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2MFJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YxSW1wb3J0KGdsdGYpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSBnbHRmLnBhcnNlci5qc29uO1xuICAgICAgICAgICAgLy8gZWFybHkgYWJvcnQgaWYgaXQgZG9lc24ndCB1c2Ugc3ByaW5nIGJvbmVzXG4gICAgICAgICAgICBjb25zdCBpc1NwcmluZ0JvbmVVc2VkID0gKChfYSA9IGpzb24uZXh0ZW5zaW9uc1VzZWQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5pbmRleE9mKFZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUUpKSAhPT0gLTE7XG4gICAgICAgICAgICBpZiAoIWlzU3ByaW5nQm9uZVVzZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1hbmFnZXIgPSBuZXcgVlJNU3ByaW5nQm9uZU1hbmFnZXIoKTtcbiAgICAgICAgICAgIGNvbnN0IHRocmVlTm9kZXMgPSB5aWVsZCBnbHRmLnBhcnNlci5nZXREZXBlbmRlbmNpZXMoJ25vZGUnKTtcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IChfYiA9IGpzb24uZXh0ZW5zaW9ucykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iW1ZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW4uRVhURU5TSU9OX05BTUVdO1xuICAgICAgICAgICAgaWYgKCFleHRlbnNpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNwZWNWZXJzaW9uID0gZXh0ZW5zaW9uLnNwZWNWZXJzaW9uO1xuICAgICAgICAgICAgaWYgKCFQT1NTSUJMRV9TUEVDX1ZFUlNJT05TLmhhcyhzcGVjVmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW46IFVua25vd24gJHtWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luLkVYVEVOU0lPTl9OQU1FfSBzcGVjVmVyc2lvbiBcIiR7c3BlY1ZlcnNpb259XCJgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNvbGxpZGVycyA9IChfYyA9IGV4dGVuc2lvbi5jb2xsaWRlcnMpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5tYXAoKHNjaGVtYUNvbGxpZGVyLCBpQ29sbGlkZXIpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aHJlZU5vZGVzW3NjaGVtYUNvbGxpZGVyLm5vZGVdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjaGVtYVNoYXBlID0gc2NoZW1hQ29sbGlkZXIuc2hhcGU7XG4gICAgICAgICAgICAgICAgaWYgKHNjaGVtYVNoYXBlLnNwaGVyZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faW1wb3J0U3BoZXJlQ29sbGlkZXIobm9kZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBuZXcgVEhSRUUuVmVjdG9yMygpLmZyb21BcnJheSgoX2EgPSBzY2hlbWFTaGFwZS5zcGhlcmUub2Zmc2V0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBbMC4wLCAwLjAsIDAuMF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmFkaXVzOiAoX2IgPSBzY2hlbWFTaGFwZS5zcGhlcmUucmFkaXVzKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwLjAsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChzY2hlbWFTaGFwZS5jYXBzdWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9pbXBvcnRDYXBzdWxlQ29sbGlkZXIobm9kZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBuZXcgVEhSRUUuVmVjdG9yMygpLmZyb21BcnJheSgoX2MgPSBzY2hlbWFTaGFwZS5jYXBzdWxlLm9mZnNldCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogWzAuMCwgMC4wLCAwLjBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhZGl1czogKF9kID0gc2NoZW1hU2hhcGUuY2Fwc3VsZS5yYWRpdXMpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDAuMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhaWw6IG5ldyBUSFJFRS5WZWN0b3IzKCkuZnJvbUFycmF5KChfZSA9IHNjaGVtYVNoYXBlLmNhcHN1bGUudGFpbCkgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogWzAuMCwgMC4wLCAwLjBdKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVlJNU3ByaW5nQm9uZUxvYWRlclBsdWdpbjogVGhlIGNvbGxpZGVyICMke2lDb2xsaWRlcn0gaGFzIG5vIHZhbGlkIHNoYXBlYCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxpZGVyR3JvdXBzID0gKF9kID0gZXh0ZW5zaW9uLmNvbGxpZGVyR3JvdXBzKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QubWFwKChzY2hlbWFDb2xsaWRlckdyb3VwLCBpQ29sbGlkZXJHcm91cCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2xzID0gKChfYSA9IHNjaGVtYUNvbGxpZGVyR3JvdXAuY29sbGlkZXJzKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBbXSkubWFwKChpQ29sbGlkZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sID0gY29sbGlkZXJzID09PSBudWxsIHx8IGNvbGxpZGVycyA9PT0gdm9pZCAwID8gdm9pZCAwIDogY29sbGlkZXJzW2lDb2xsaWRlcl07XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2wgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luOiBUaGUgY29sbGlkZXJHcm91cCAjJHtpQ29sbGlkZXJHcm91cH0gYXR0ZW1wdGVkIHRvIHVzZSBhIGNvbGxpZGVyICMke2lDb2xsaWRlcn0gYnV0IG5vdCBmb3VuZGApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb2w7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sbGlkZXJzOiBjb2xzLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBzY2hlbWFDb2xsaWRlckdyb3VwLm5hbWUsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgKF9lID0gZXh0ZW5zaW9uLnNwcmluZ3MpID09PSBudWxsIHx8IF9lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZS5mb3JFYWNoKChzY2hlbWFTcHJpbmcsIGlTcHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2NoZW1hSm9pbnRzID0gc2NoZW1hU3ByaW5nLmpvaW50cztcbiAgICAgICAgICAgICAgICAvLyBwcmVwYXJlIGNvbGxpZGVyc1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbGxpZGVyR3JvdXBzRm9yU3ByaW5nID0gKF9hID0gc2NoZW1hU3ByaW5nLmNvbGxpZGVyR3JvdXBzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubWFwKChpQ29sbGlkZXJHcm91cCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBncm91cCA9IGNvbGxpZGVyR3JvdXBzID09PSBudWxsIHx8IGNvbGxpZGVyR3JvdXBzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb2xsaWRlckdyb3Vwc1tpQ29sbGlkZXJHcm91cF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChncm91cCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW46IFRoZSBzcHJpbmcgIyR7aVNwcmluZ30gYXR0ZW1wdGVkIHRvIHVzZSBhIGNvbGxpZGVyR3JvdXAgJHtpQ29sbGlkZXJHcm91cH0gYnV0IG5vdCBmb3VuZGApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBncm91cDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZW50ZXIgPSBzY2hlbWFTcHJpbmcuY2VudGVyICE9IG51bGwgPyB0aHJlZU5vZGVzW3NjaGVtYVNwcmluZy5jZW50ZXJdIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGxldCBwcmV2U2NoZW1hSm9pbnQ7XG4gICAgICAgICAgICAgICAgc2NoZW1hSm9pbnRzLmZvckVhY2goKHNjaGVtYUpvaW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2U2NoZW1hSm9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByZXBhcmUgbm9kZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZUluZGV4ID0gcHJldlNjaGVtYUpvaW50Lm5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gdGhyZWVOb2Rlc1tub2RlSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRJbmRleCA9IHNjaGVtYUpvaW50Lm5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZCA9IHRocmVlTm9kZXNbY2hpbGRJbmRleF07XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwcmVwYXJlIHNldHRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNldHRpbmcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGl0UmFkaXVzOiBwcmV2U2NoZW1hSm9pbnQuaGl0UmFkaXVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdGb3JjZTogcHJldlNjaGVtYUpvaW50LmRyYWdGb3JjZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmF2aXR5UG93ZXI6IHByZXZTY2hlbWFKb2ludC5ncmF2aXR5UG93ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RpZmZuZXNzOiBwcmV2U2NoZW1hSm9pbnQuc3RpZmZuZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYXZpdHlEaXI6IHByZXZTY2hlbWFKb2ludC5ncmF2aXR5RGlyICE9IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBuZXcgVEhSRUUuVmVjdG9yMygpLmZyb21BcnJheShwcmV2U2NoZW1hSm9pbnQuZ3Jhdml0eURpcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY3JlYXRlIHNwcmluZyBib25lc1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgam9pbnQgPSB0aGlzLl9pbXBvcnRKb2ludChub2RlLCBjaGlsZCwgc2V0dGluZywgY29sbGlkZXJHcm91cHNGb3JTcHJpbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbnRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaW50LmNlbnRlciA9IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXIuYWRkSm9pbnQoam9pbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHByZXZTY2hlbWFKb2ludCA9IHNjaGVtYUpvaW50O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBpbml0IHNwcmluZyBib25lc1xuICAgICAgICAgICAgbWFuYWdlci5zZXRJbml0U3RhdGUoKTtcbiAgICAgICAgICAgIHJldHVybiBtYW5hZ2VyO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3YwSW1wb3J0KGdsdGYpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBqc29uID0gZ2x0Zi5wYXJzZXIuanNvbjtcbiAgICAgICAgICAgIC8vIGVhcmx5IGFib3J0IGlmIGl0IGRvZXNuJ3QgdXNlIHZybVxuICAgICAgICAgICAgY29uc3QgaXNWUk1Vc2VkID0gKChfYSA9IGpzb24uZXh0ZW5zaW9uc1VzZWQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5pbmRleE9mKCdWUk0nKSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKCFpc1ZSTVVzZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGVhcmx5IGFib3J0IGlmIGl0IGRvZXNuJ3QgaGF2ZSBib25lIGdyb3Vwc1xuICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gKF9iID0ganNvbi5leHRlbnNpb25zKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2JbJ1ZSTSddO1xuICAgICAgICAgICAgY29uc3Qgc2NoZW1hU2Vjb25kYXJ5QW5pbWF0aW9uID0gZXh0ZW5zaW9uID09PSBudWxsIHx8IGV4dGVuc2lvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXh0ZW5zaW9uLnNlY29uZGFyeUFuaW1hdGlvbjtcbiAgICAgICAgICAgIGlmICghc2NoZW1hU2Vjb25kYXJ5QW5pbWF0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzY2hlbWFCb25lR3JvdXBzID0gc2NoZW1hU2Vjb25kYXJ5QW5pbWF0aW9uID09PSBudWxsIHx8IHNjaGVtYVNlY29uZGFyeUFuaW1hdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2NoZW1hU2Vjb25kYXJ5QW5pbWF0aW9uLmJvbmVHcm91cHM7XG4gICAgICAgICAgICBpZiAoIXNjaGVtYUJvbmVHcm91cHMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1hbmFnZXIgPSBuZXcgVlJNU3ByaW5nQm9uZU1hbmFnZXIoKTtcbiAgICAgICAgICAgIGNvbnN0IHRocmVlTm9kZXMgPSB5aWVsZCBnbHRmLnBhcnNlci5nZXREZXBlbmRlbmNpZXMoJ25vZGUnKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxpZGVyR3JvdXBzID0gKF9jID0gc2NoZW1hU2Vjb25kYXJ5QW5pbWF0aW9uLmNvbGxpZGVyR3JvdXBzKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubWFwKChzY2hlbWFDb2xsaWRlckdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aHJlZU5vZGVzW3NjaGVtYUNvbGxpZGVyR3JvdXAubm9kZV07XG4gICAgICAgICAgICAgICAgY29uc3QgY29sbGlkZXJzID0gKChfYSA9IHNjaGVtYUNvbGxpZGVyR3JvdXAuY29sbGlkZXJzKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBbXSkubWFwKChzY2hlbWFDb2xsaWRlciwgaUNvbGxpZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXQgPSBuZXcgVEhSRUUuVmVjdG9yMygwLjAsIDAuMCwgMC4wKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNjaGVtYUNvbGxpZGVyLm9mZnNldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LnNldCgoX2EgPSBzY2hlbWFDb2xsaWRlci5vZmZzZXQueCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMC4wLCAoX2IgPSBzY2hlbWFDb2xsaWRlci5vZmZzZXQueSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMC4wLCBzY2hlbWFDb2xsaWRlci5vZmZzZXQueiA/IC1zY2hlbWFDb2xsaWRlci5vZmZzZXQueiA6IDAuMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2ltcG9ydFNwaGVyZUNvbGxpZGVyKG5vZGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhZGl1czogKF9jID0gc2NoZW1hQ29sbGlkZXIucmFkaXVzKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwLjAsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbGxpZGVycyB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBpbXBvcnQgc3ByaW5nIGJvbmVzIGZvciBlYWNoIHNwcmluZyBib25lIGdyb3Vwc1xuICAgICAgICAgICAgc2NoZW1hQm9uZUdyb3VwcyA9PT0gbnVsbCB8fCBzY2hlbWFCb25lR3JvdXBzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzY2hlbWFCb25lR3JvdXBzLmZvckVhY2goKHNjaGVtYUJvbmVHcm91cCwgaUJvbmVHcm91cCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RJbmRpY2VzID0gc2NoZW1hQm9uZUdyb3VwLmJvbmVzO1xuICAgICAgICAgICAgICAgIGlmICghcm9vdEluZGljZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByb290SW5kaWNlcy5mb3JFYWNoKChyb290SW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb290ID0gdGhyZWVOb2Rlc1tyb290SW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAvLyBwcmVwYXJlIHNldHRpbmdcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3Jhdml0eURpciA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzY2hlbWFCb25lR3JvdXAuZ3Jhdml0eURpcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3Jhdml0eURpci5zZXQoKF9hID0gc2NoZW1hQm9uZUdyb3VwLmdyYXZpdHlEaXIueCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMC4wLCAoX2IgPSBzY2hlbWFCb25lR3JvdXAuZ3Jhdml0eURpci55KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwLjAsIChfYyA9IHNjaGVtYUJvbmVHcm91cC5ncmF2aXR5RGlyLnopICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IDAuMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmF2aXR5RGlyLnNldCgwLjAsIC0xLjAsIDAuMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VudGVyID0gc2NoZW1hQm9uZUdyb3VwLmNlbnRlciAhPSBudWxsID8gdGhyZWVOb2Rlc1tzY2hlbWFCb25lR3JvdXAuY2VudGVyXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2V0dGluZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpdFJhZGl1czogc2NoZW1hQm9uZUdyb3VwLmhpdFJhZGl1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdGb3JjZTogc2NoZW1hQm9uZUdyb3VwLmRyYWdGb3JjZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYXZpdHlQb3dlcjogc2NoZW1hQm9uZUdyb3VwLmdyYXZpdHlQb3dlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0aWZmbmVzczogc2NoZW1hQm9uZUdyb3VwLnN0aWZmaW5lc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBncmF2aXR5RGlyLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAvLyBwcmVwYXJlIGNvbGxpZGVyc1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2xsaWRlckdyb3Vwc0ZvclNwcmluZyA9IChfZCA9IHNjaGVtYUJvbmVHcm91cC5jb2xsaWRlckdyb3VwcykgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLm1hcCgoaUNvbGxpZGVyR3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gY29sbGlkZXJHcm91cHMgPT09IG51bGwgfHwgY29sbGlkZXJHcm91cHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbGxpZGVyR3JvdXBzW2lDb2xsaWRlckdyb3VwXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChncm91cCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luOiBUaGUgc3ByaW5nICMke2lCb25lR3JvdXB9IGF0dGVtcHRlZCB0byB1c2UgYSBjb2xsaWRlckdyb3VwICR7aUNvbGxpZGVyR3JvdXB9IGJ1dCBub3QgZm91bmRgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBncm91cDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBzcHJpbmcgYm9uZXNcbiAgICAgICAgICAgICAgICAgICAgcm9vdC50cmF2ZXJzZSgobm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGQgPSAoX2EgPSBub2RlLmNoaWxkcmVuWzBdKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgam9pbnQgPSB0aGlzLl9pbXBvcnRKb2ludChub2RlLCBjaGlsZCwgc2V0dGluZywgY29sbGlkZXJHcm91cHNGb3JTcHJpbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbnRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaW50LmNlbnRlciA9IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXIuYWRkSm9pbnQoam9pbnQpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gaW5pdCBzcHJpbmcgYm9uZXNcbiAgICAgICAgICAgIGdsdGYuc2NlbmUudXBkYXRlTWF0cml4V29ybGQoKTtcbiAgICAgICAgICAgIG1hbmFnZXIuc2V0SW5pdFN0YXRlKCk7XG4gICAgICAgICAgICByZXR1cm4gbWFuYWdlcjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9pbXBvcnRKb2ludChub2RlLCBjaGlsZCwgc2V0dGluZywgY29sbGlkZXJHcm91cHNGb3JTcHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc3ByaW5nQm9uZSA9IG5ldyBWUk1TcHJpbmdCb25lSm9pbnQobm9kZSwgY2hpbGQsIHNldHRpbmcsIGNvbGxpZGVyR3JvdXBzRm9yU3ByaW5nKTtcbiAgICAgICAgaWYgKHRoaXMuam9pbnRIZWxwZXJSb290KSB7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXIgPSBuZXcgVlJNU3ByaW5nQm9uZUpvaW50SGVscGVyKHNwcmluZ0JvbmUpO1xuICAgICAgICAgICAgdGhpcy5qb2ludEhlbHBlclJvb3QuYWRkKGhlbHBlcik7XG4gICAgICAgICAgICBoZWxwZXIucmVuZGVyT3JkZXIgPSB0aGlzLmpvaW50SGVscGVyUm9vdC5yZW5kZXJPcmRlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3ByaW5nQm9uZTtcbiAgICB9XG4gICAgX2ltcG9ydFNwaGVyZUNvbGxpZGVyKGRlc3RpbmF0aW9uLCBwYXJhbXMpIHtcbiAgICAgICAgY29uc3QgeyBvZmZzZXQsIHJhZGl1cyB9ID0gcGFyYW1zO1xuICAgICAgICBjb25zdCBzaGFwZSA9IG5ldyBWUk1TcHJpbmdCb25lQ29sbGlkZXJTaGFwZVNwaGVyZSh7IG9mZnNldCwgcmFkaXVzIH0pO1xuICAgICAgICBjb25zdCBjb2xsaWRlciA9IG5ldyBWUk1TcHJpbmdCb25lQ29sbGlkZXIoc2hhcGUpO1xuICAgICAgICBkZXN0aW5hdGlvbi5hZGQoY29sbGlkZXIpO1xuICAgICAgICBpZiAodGhpcy5jb2xsaWRlckhlbHBlclJvb3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGhlbHBlciA9IG5ldyBWUk1TcHJpbmdCb25lQ29sbGlkZXJIZWxwZXIoY29sbGlkZXIpO1xuICAgICAgICAgICAgdGhpcy5jb2xsaWRlckhlbHBlclJvb3QuYWRkKGhlbHBlcik7XG4gICAgICAgICAgICBoZWxwZXIucmVuZGVyT3JkZXIgPSB0aGlzLmNvbGxpZGVySGVscGVyUm9vdC5yZW5kZXJPcmRlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sbGlkZXI7XG4gICAgfVxuICAgIF9pbXBvcnRDYXBzdWxlQ29sbGlkZXIoZGVzdGluYXRpb24sIHBhcmFtcykge1xuICAgICAgICBjb25zdCB7IG9mZnNldCwgcmFkaXVzLCB0YWlsIH0gPSBwYXJhbXM7XG4gICAgICAgIGNvbnN0IHNoYXBlID0gbmV3IFZSTVNwcmluZ0JvbmVDb2xsaWRlclNoYXBlQ2Fwc3VsZSh7IG9mZnNldCwgcmFkaXVzLCB0YWlsIH0pO1xuICAgICAgICBjb25zdCBjb2xsaWRlciA9IG5ldyBWUk1TcHJpbmdCb25lQ29sbGlkZXIoc2hhcGUpO1xuICAgICAgICBkZXN0aW5hdGlvbi5hZGQoY29sbGlkZXIpO1xuICAgICAgICBpZiAodGhpcy5jb2xsaWRlckhlbHBlclJvb3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGhlbHBlciA9IG5ldyBWUk1TcHJpbmdCb25lQ29sbGlkZXJIZWxwZXIoY29sbGlkZXIpO1xuICAgICAgICAgICAgdGhpcy5jb2xsaWRlckhlbHBlclJvb3QuYWRkKGhlbHBlcik7XG4gICAgICAgICAgICBoZWxwZXIucmVuZGVyT3JkZXIgPSB0aGlzLmNvbGxpZGVySGVscGVyUm9vdC5yZW5kZXJPcmRlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sbGlkZXI7XG4gICAgfVxufVxuVlJNU3ByaW5nQm9uZUxvYWRlclBsdWdpbi5FWFRFTlNJT05fTkFNRSA9ICdWUk1DX3NwcmluZ0JvbmUnO1xuXG5leHBvcnQgeyBWUk1TcHJpbmdCb25lQ29sbGlkZXIsIFZSTVNwcmluZ0JvbmVDb2xsaWRlckhlbHBlciwgVlJNU3ByaW5nQm9uZUNvbGxpZGVyU2hhcGUsIFZSTVNwcmluZ0JvbmVDb2xsaWRlclNoYXBlQ2Fwc3VsZSwgVlJNU3ByaW5nQm9uZUNvbGxpZGVyU2hhcGVTcGhlcmUsIFZSTVNwcmluZ0JvbmVKb2ludCwgVlJNU3ByaW5nQm9uZUpvaW50SGVscGVyLCBWUk1TcHJpbmdCb25lTG9hZGVyUGx1Z2luLCBWUk1TcHJpbmdCb25lTWFuYWdlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkR2h5WldVdGRuSnRMWE53Y21sdVoySnZibVV1Ylc5a2RXeGxMbXB6SWl3aWMyOTFjbU5sY3lJNld5SXVMaTl6Y21NdlZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlVMmhoY0dVdWRITWlMQ0l1TGk5emNtTXZWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5VTJoaGNHVkRZWEJ6ZFd4bExuUnpJaXdpTGk0dmMzSmpMMVpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2xOb1lYQmxVM0JvWlhKbExuUnpJaXdpTGk0dmMzSmpMMmhsYkhCbGNuTXZkWFJwYkhNdlEyOXNiR2xrWlhKVGFHRndaVU5oY0hOMWJHVkNkV1ptWlhKSFpXOXRaWFJ5ZVM1MGN5SXNJaTR1TDNOeVl5OW9aV3h3WlhKekwzVjBhV3h6TDBOdmJHeHBaR1Z5VTJoaGNHVlRjR2hsY21WQ2RXWm1aWEpIWlc5dFpYUnllUzUwY3lJc0lpNHVMM055WXk5b1pXeHdaWEp6TDFaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNraGxiSEJsY2k1MGN5SXNJaTR1TDNOeVl5OW9aV3h3WlhKekwzVjBhV3h6TDFOd2NtbHVaMEp2Ym1WQ2RXWm1aWEpIWlc5dFpYUnllUzUwY3lJc0lpNHVMM055WXk5b1pXeHdaWEp6TDFaU1RWTndjbWx1WjBKdmJtVktiMmx1ZEVobGJIQmxjaTUwY3lJc0lpNHVMM055WXk5V1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSXVkSE1pTENJdUxpOXpjbU12ZFhScGJITXZiV0YwTkVsdWRtVnlkRU52YlhCaGRDNTBjeUlzSWk0dUwzTnlZeTkxZEdsc2N5OU5ZWFJ5YVhnMFNXNTJaWEp6WlVOaFkyaGxMblJ6SWl3aUxpNHZjM0pqTDFaU1RWTndjbWx1WjBKdmJtVktiMmx1ZEM1MGN5SXNJaTR1THk0dUx5NHVMMjV2WkdWZmJXOWtkV3hsY3k5MGMyeHBZaTkwYzJ4cFlpNWxjell1YW5NaUxDSXVMaTl6Y21NdmRYUnBiSE12ZEhKaGRtVnljMlZCYm1ObGMzUnZjbk5HY205dFVtOXZkQzUwY3lJc0lpNHVMM055WXk5MWRHbHNjeTkwY21GMlpYSnpaVU5vYVd4a2NtVnVWVzUwYVd4RGIyNWthWFJwYjI1TlpYUXVkSE1pTENJdUxpOXpjbU12VmxKTlUzQnlhVzVuUW05dVpVMWhibUZuWlhJdWRITWlMQ0l1TGk5emNtTXZWbEpOVTNCeWFXNW5RbTl1WlV4dllXUmxjbEJzZFdkcGJpNTBjeUpkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUZKbGNISmxjMlZ1ZEhNZ1lTQnphR0Z3WlNCdlppQmhJR052Ykd4cFpHVnlMbHh1SUNvdlhHNWxlSEJ2Y25RZ1lXSnpkSEpoWTNRZ1kyeGhjM01nVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1VnZTF4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUhSNWNHVWdiMllnZEdobElITm9ZWEJsTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdGaWMzUnlZV04wSUdkbGRDQjBlWEJsS0NrNklITjBjbWx1Wnp0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUTJGc1kzVnNZWFJsSUdFZ1pHbHpkR0Z1WTJVZ1lXNWtJR0VnWkdseVpXTjBhVzl1SUdaeWIyMGdkR2hsSUdOdmJHeHBaR1Z5SUhSdklHRWdkR0Z5WjJWMElHOWlhbVZqZEM1Y2JpQWdJQ29nU1hRbmN5Qm9hWFFnYVdZZ2RHaGxJR1JwYzNSaGJtTmxJR2x6SUc1bFoyRjBhWFpsTGx4dUlDQWdLaUJVYUdVZ1pHbHlaV04wYVc5dUlIZHBiR3dnWW1VZ1kyOXVkR0ZwYm1Wa0lHbHVJSFJvWlNCbmFYWmxiaUIwWVhKblpYUWdkbVZqZEc5eUxseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdZMjlzYkdsa1pYSk5ZWFJ5YVhnZ1FTQnRZWFJ5YVhnZ2NtVndjbVZ6Wlc1MGN5QjBhR1VnZEhKaGJuTm1iM0p0SUc5bUlIUm9aU0JqYjJ4c2FXUmxjbHh1SUNBZ0tpQkFjR0Z5WVcwZ2IySnFaV04wVUc5emFYUnBiMjRnUVNCMlpXTjBiM0lnY21Wd2NtVnpaVzUwY3lCMGFHVWdjRzl6YVhScGIyNGdiMllnZEdobElIUmhjbWRsZENCdlltcGxZM1JjYmlBZ0lDb2dRSEJoY21GdElHOWlhbVZqZEZKaFpHbDFjeUJVYUdVZ2NtRmthWFZ6SUc5bUlIUm9aU0J2WW1wbFkzUmNiaUFnSUNvZ1FIQmhjbUZ0SUhSaGNtZGxkQ0JVYUdVZ2NtVnpkV3gwSUdScGNtVmpkR2x2YmlCM2FXeHNJR0psSUdOdmJuUmhhVzVsWkNCcGJpQjBhR2x6SUhabFkzUnZjbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR0ZpYzNSeVlXTjBJR05oYkdOMWJHRjBaVU52Ykd4cGMybHZiaWhjYmlBZ0lDQmpiMnhzYVdSbGNrMWhkSEpwZURvZ1ZFaFNSVVV1VFdGMGNtbDROQ3hjYmlBZ0lDQnZZbXBsWTNSUWIzTnBkR2x2YmpvZ1ZFaFNSVVV1Vm1WamRHOXlNeXhjYmlBZ0lDQnZZbXBsWTNSU1lXUnBkWE02SUc1MWJXSmxjaXhjYmlBZ0lDQjBZWEpuWlhRNklGUklVa1ZGTGxabFkzUnZjak1zWEc0Z0lDazZJRzUxYldKbGNqdGNibjFjYmlJc0ltbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0I3SUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNsTm9ZWEJsSUgwZ1puSnZiU0FuTGk5V1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlNjN1hHNWNibU52Ym5OMElGOTJNMEVnUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVZMjl1YzNRZ1gzWXpRaUE5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlVOaGNITjFiR1VnWlhoMFpXNWtjeUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKVGFHRndaU0I3WEc0Z0lIQjFZbXhwWXlCblpYUWdkSGx3WlNncE9pQW5ZMkZ3YzNWc1pTY2dlMXh1SUNBZ0lISmxkSFZ5YmlBblkyRndjM1ZzWlNjN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUc5bVpuTmxkQ0J2WmlCMGFHVWdhR1ZoWkNCbWNtOXRJSFJvWlNCdmNtbG5hVzR1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nYjJabWMyVjBPaUJVU0ZKRlJTNVdaV04wYjNJek8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdiMlptYzJWMElHOW1JSFJvWlNCMFlXbHNJR1p5YjIwZ2RHaGxJRzl5YVdkcGJpNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QjBZV2xzT2lCVVNGSkZSUzVXWldOMGIzSXpPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnY21Ga2FYVnpMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpoWkdsMWN6b2diblZ0WW1WeU8xeHVYRzRnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2lod1lYSmhiWE0vT2lCN0lISmhaR2wxY3o4NklHNTFiV0psY2pzZ2IyWm1jMlYwUHpvZ1ZFaFNSVVV1Vm1WamRHOXlNenNnZEdGcGJEODZJRlJJVWtWRkxsWmxZM1J2Y2pNZ2ZTa2dlMXh1SUNBZ0lITjFjR1Z5S0NrN1hHNWNiaUFnSUNCMGFHbHpMbTltWm5ObGRDQTlJSEJoY21GdGN6OHViMlptYzJWMElEOC9JRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLREF1TUN3Z01DNHdMQ0F3TGpBcE8xeHVJQ0FnSUhSb2FYTXVkR0ZwYkNBOUlIQmhjbUZ0Y3o4dWRHRnBiQ0EvUHlCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlnd0xqQXNJREF1TUN3Z01DNHdLVHRjYmlBZ0lDQjBhR2x6TG5KaFpHbDFjeUE5SUhCaGNtRnRjejh1Y21Ga2FYVnpJRDgvSURBdU1EdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmpZV3hqZFd4aGRHVkRiMnhzYVhOcGIyNG9YRzRnSUNBZ1kyOXNiR2xrWlhKTllYUnlhWGc2SUZSSVVrVkZMazFoZEhKcGVEUXNYRzRnSUNBZ2IySnFaV04wVUc5emFYUnBiMjQ2SUZSSVVrVkZMbFpsWTNSdmNqTXNYRzRnSUNBZ2IySnFaV04wVW1Ga2FYVnpPaUJ1ZFcxaVpYSXNYRzRnSUNBZ2RHRnlaMlYwT2lCVVNGSkZSUzVXWldOMGIzSXpMRnh1SUNBcE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUY5Mk0wRXVZMjl3ZVNoMGFHbHpMbTltWm5ObGRDa3VZWEJ3YkhsTllYUnlhWGcwS0dOdmJHeHBaR1Z5VFdGMGNtbDRLVHNnTHk4Z2RISmhibk5tYjNKdFpXUWdhR1ZoWkZ4dUlDQWdJRjkyTTBJdVkyOXdlU2gwYUdsekxuUmhhV3dwTG1Gd2NHeDVUV0YwY21sNE5DaGpiMnhzYVdSbGNrMWhkSEpwZUNrN0lDOHZJSFJ5WVc1elptOXliV1ZrSUhSaGFXeGNiaUFnSUNCZmRqTkNMbk4xWWloZmRqTkJLVHNnTHk4Z1puSnZiU0JvWldGa0lIUnZJSFJoYVd4Y2JpQWdJQ0JqYjI1emRDQnNaVzVuZEdoVGNVTmhjSE4xYkdVZ1BTQmZkak5DTG14bGJtZDBhRk54S0NrN1hHNWNiaUFnSUNCMFlYSm5aWFF1WTI5d2VTaHZZbXBsWTNSUWIzTnBkR2x2YmlrdWMzVmlLRjkyTTBFcE95QXZMeUJtY205dElHaGxZV1FnZEc4Z2IySnFaV04wWEc0Z0lDQWdZMjl1YzNRZ1pHOTBJRDBnWDNZelFpNWtiM1FvZEdGeVoyVjBLVHNnTHk4Z1pHOTBJSEJ5YjJSMVkzUWdiMllnYjJabWMyVjBWRzlVWVdsc0lHRnVaQ0J2Wm1aelpYUlViMDlpYW1WamRGeHVYRzRnSUNBZ2FXWWdLR1J2ZENBOFBTQXdMakFwSUh0Y2JpQWdJQ0FnSUM4dklHbG1JRzlpYW1WamRDQnBjeUJ1WldGeUlHWnliMjBnZEdobElHaGxZV1JjYmlBZ0lDQWdJQzh2SUdSdklHNXZkR2hwYm1jc0lIVnpaU0IwYUdVZ1kzVnljbVZ1ZENCMllXeDFaU0JrYVhKbFkzUnNlVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iR1Z1WjNSb1UzRkRZWEJ6ZFd4bElEdzlJR1J2ZENrZ2UxeHVJQ0FnSUNBZ0x5OGdhV1lnYjJKcVpXTjBJR2x6SUc1bFlYSWdabkp2YlNCMGFHVWdkR0ZwYkZ4dUlDQWdJQ0FnZEdGeVoyVjBMbk4xWWloZmRqTkNLVHNnTHk4Z1puSnZiU0IwWVdsc0lIUnZJRzlpYW1WamRGeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCcFppQnZZbXBsWTNRZ2FYTWdZbVYwZDJWbGJpQjBkMjhnWlc1a2MxeHVJQ0FnSUNBZ1gzWXpRaTV0ZFd4MGFYQnNlVk5qWVd4aGNpaGtiM1FnTHlCc1pXNW5kR2hUY1VOaGNITjFiR1VwT3lBdkx5Qm1jbTl0SUdobFlXUWdkRzhnZEdobElHNWxZWEpsYzNRZ2NHOXBiblFnYjJZZ2RHaGxJSE5vWVdaMFhHNGdJQ0FnSUNCMFlYSm5aWFF1YzNWaUtGOTJNMElwT3lBdkx5Qm1jbTl0SUhSb1pTQnphR0ZtZENCd2IybHVkQ0IwYnlCdlltcGxZM1JjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCeVlXUnBkWE1nUFNCdlltcGxZM1JTWVdScGRYTWdLeUIwYUdsekxuSmhaR2wxY3p0Y2JpQWdJQ0JqYjI1emRDQmthWE4wWVc1alpTQTlJSFJoY21kbGRDNXNaVzVuZEdnb0tTQXRJSEpoWkdsMWN6dGNiaUFnSUNCMFlYSm5aWFF1Ym05eWJXRnNhWHBsS0NrN1hHNGdJQ0FnY21WMGRYSnVJR1JwYzNSaGJtTmxPMXh1SUNCOVhHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdleUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKVGFHRndaU0I5SUdaeWIyMGdKeTR2VmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1VuTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1ZUY0dobGNtVWdaWGgwWlc1a2N5QldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpUYUdGd1pTQjdYRzRnSUhCMVlteHBZeUJuWlhRZ2RIbHdaU2dwT2lBbmMzQm9aWEpsSnlCN1hHNGdJQ0FnY21WMGRYSnVJQ2R6Y0dobGNtVW5PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQnZabVp6WlhRZ1puSnZiU0IwYUdVZ2IzSnBaMmx1TGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUc5bVpuTmxkRG9nVkVoU1JVVXVWbVZqZEc5eU16dGNibHh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJSEpoWkdsMWN5NWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5QnlZV1JwZFhNNklHNTFiV0psY2p0Y2JseHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvY0dGeVlXMXpQem9nZXlCeVlXUnBkWE0vT2lCdWRXMWlaWEk3SUc5bVpuTmxkRDg2SUZSSVVrVkZMbFpsWTNSdmNqTWdmU2tnZTF4dUlDQWdJSE4xY0dWeUtDazdYRzVjYmlBZ0lDQjBhR2x6TG05bVpuTmxkQ0E5SUhCaGNtRnRjejh1YjJabWMyVjBJRDgvSUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0RBdU1Dd2dNQzR3TENBd0xqQXBPMXh1SUNBZ0lIUm9hWE11Y21Ga2FYVnpJRDBnY0dGeVlXMXpQeTV5WVdScGRYTWdQejhnTUM0d08xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHTmhiR04xYkdGMFpVTnZiR3hwYzJsdmJpaGNiaUFnSUNCamIyeHNhV1JsY2sxaGRISnBlRG9nVkVoU1JVVXVUV0YwY21sNE5DeGNiaUFnSUNCdlltcGxZM1JRYjNOcGRHbHZiam9nVkVoU1JVVXVWbVZqZEc5eU15eGNiaUFnSUNCdlltcGxZM1JTWVdScGRYTTZJRzUxYldKbGNpeGNiaUFnSUNCMFlYSm5aWFE2SUZSSVVrVkZMbFpsWTNSdmNqTXNYRzRnSUNrNklHNTFiV0psY2lCN1hHNGdJQ0FnZEdGeVoyVjBMbU52Y0hrb2RHaHBjeTV2Wm1aelpYUXBMbUZ3Y0d4NVRXRjBjbWw0TkNoamIyeHNhV1JsY2sxaGRISnBlQ2s3SUM4dklIUnlZVzV6Wm05eWJXVmtJRzltWm5ObGRGeHVJQ0FnSUhSaGNtZGxkQzV1WldkaGRHVW9LUzVoWkdRb2IySnFaV04wVUc5emFYUnBiMjRwT3lBdkx5QmhJSFpsWTNSdmNpQm1jbTl0SUdOdmJHeHBaR1Z5SUdObGJuUmxjaUIwYnlCdlltcGxZM1FnY0c5emFYUnBiMjVjYmlBZ0lDQmpiMjV6ZENCeVlXUnBkWE1nUFNCdlltcGxZM1JTWVdScGRYTWdLeUIwYUdsekxuSmhaR2wxY3p0Y2JpQWdJQ0JqYjI1emRDQmthWE4wWVc1alpTQTlJSFJoY21kbGRDNXNaVzVuZEdnb0tTQXRJSEpoWkdsMWN6dGNiaUFnSUNCMFlYSm5aWFF1Ym05eWJXRnNhWHBsS0NrN1hHNGdJQ0FnY21WMGRYSnVJR1JwYzNSaGJtTmxPMXh1SUNCOVhHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdleUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKVGFHRndaVU5oY0hOMWJHVWdmU0JtY205dElDY3VMaTh1TGk5V1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlVOaGNITjFiR1VuTzF4dWFXMXdiM0owSUhzZ1EyOXNiR2xrWlhKVGFHRndaVUoxWm1abGNrZGxiMjFsZEhKNUlIMGdabkp2YlNBbkxpOURiMnhzYVdSbGNsTm9ZWEJsUW5WbVptVnlSMlZ2YldWMGNua25PMXh1WEc1amIyNXpkQ0JmZGpOQklEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9LVHRjYmx4dVpYaHdiM0owSUdOc1lYTnpJRU52Ykd4cFpHVnlVMmhoY0dWRFlYQnpkV3hsUW5WbVptVnlSMlZ2YldWMGNua2daWGgwWlc1a2N5QlVTRkpGUlM1Q2RXWm1aWEpIWlc5dFpYUnllU0JwYlhCc1pXMWxiblJ6SUVOdmJHeHBaR1Z5VTJoaGNHVkNkV1ptWlhKSFpXOXRaWFJ5ZVNCN1hHNGdJSEIxWW14cFl5QjNiM0pzWkZOallXeGxJRDBnTVM0d08xeHVYRzRnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnWDJGMGRISlFiM002SUZSSVVrVkZMa0oxWm1abGNrRjBkSEpwWW5WMFpUdGNiaUFnY0hKcGRtRjBaU0J5WldGa2IyNXNlU0JmWVhSMGNrbHVaR1Y0T2lCVVNGSkZSUzVDZFdabVpYSkJkSFJ5YVdKMWRHVTdYRzRnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnWDNOb1lYQmxPaUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKVGFHRndaVU5oY0hOMWJHVTdYRzRnSUhCeWFYWmhkR1VnWDJOMWNuSmxiblJTWVdScGRYTWdQU0F3TzF4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlGOWpkWEp5Wlc1MFQyWm1jMlYwSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb0tUdGNiaUFnY0hKcGRtRjBaU0J5WldGa2IyNXNlU0JmWTNWeWNtVnVkRlJoYVd3Z1BTQnVaWGNnVkVoU1JVVXVWbVZqZEc5eU15Z3BPMXh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaHphR0Z3WlRvZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlVMmhoY0dWRFlYQnpkV3hsS1NCN1hHNGdJQ0FnYzNWd1pYSW9LVHRjYmx4dUlDQWdJSFJvYVhNdVgzTm9ZWEJsSUQwZ2MyaGhjR1U3WEc1Y2JpQWdJQ0IwYUdsekxsOWhkSFJ5VUc5eklEMGdibVYzSUZSSVVrVkZMa0oxWm1abGNrRjBkSEpwWW5WMFpTaHVaWGNnUm14dllYUXpNa0Z5Y21GNUtETTVOaWtzSURNcE8xeHVJQ0FnSUhSb2FYTXVjMlYwUVhSMGNtbGlkWFJsS0Nkd2IzTnBkR2x2Ymljc0lIUm9hWE11WDJGMGRISlFiM01wTzF4dVhHNGdJQ0FnZEdocGN5NWZZWFIwY2tsdVpHVjRJRDBnYm1WM0lGUklVa1ZGTGtKMVptWmxja0YwZEhKcFluVjBaU2h1WlhjZ1ZXbHVkREUyUVhKeVlYa29NalkwS1N3Z01TazdYRzRnSUNBZ2RHaHBjeTV6WlhSSmJtUmxlQ2gwYUdsekxsOWhkSFJ5U1c1a1pYZ3BPMXh1WEc0Z0lDQWdkR2hwY3k1ZlluVnBiR1JKYm1SbGVDZ3BPMXh1SUNBZ0lIUm9hWE11ZFhCa1lYUmxLQ2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nZFhCa1lYUmxLQ2s2SUhadmFXUWdlMXh1SUNBZ0lHeGxkQ0J6YUc5MWJHUlZjR1JoZEdWSFpXOXRaWFJ5ZVNBOUlHWmhiSE5sTzF4dVhHNGdJQ0FnWTI5dWMzUWdjbUZrYVhWeklEMGdkR2hwY3k1ZmMyaGhjR1V1Y21Ga2FYVnpJQzhnZEdocGN5NTNiM0pzWkZOallXeGxPMXh1SUNBZ0lHbG1JQ2gwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6SUNFOVBTQnlZV1JwZFhNcElIdGNiaUFnSUNBZ0lIUm9hWE11WDJOMWNuSmxiblJTWVdScGRYTWdQU0J5WVdScGRYTTdYRzRnSUNBZ0lDQnphRzkxYkdSVmNHUmhkR1ZIWlc5dFpYUnllU0E5SUhSeWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLQ0YwYUdsekxsOWpkWEp5Wlc1MFQyWm1jMlYwTG1WeGRXRnNjeWgwYUdsekxsOXphR0Z3WlM1dlptWnpaWFFwS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlqZFhKeVpXNTBUMlptYzJWMExtTnZjSGtvZEdocGN5NWZjMmhoY0dVdWIyWm1jMlYwS1R0Y2JpQWdJQ0FnSUhOb2IzVnNaRlZ3WkdGMFpVZGxiMjFsZEhKNUlEMGdkSEoxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQjBZV2xzSUQwZ1gzWXpRUzVqYjNCNUtIUm9hWE11WDNOb1lYQmxMblJoYVd3cExtUnBkbWxrWlZOallXeGhjaWgwYUdsekxuZHZjbXhrVTJOaGJHVXBPMXh1SUNBZ0lHbG1JQ2gwYUdsekxsOWpkWEp5Wlc1MFZHRnBiQzVrYVhOMFlXNWpaVlJ2VTNGMVlYSmxaQ2gwWVdsc0tTQStJREZsTFRFd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5amRYSnlaVzUwVkdGcGJDNWpiM0I1S0hSaGFXd3BPMXh1SUNBZ0lDQWdjMmh2ZFd4a1ZYQmtZWFJsUjJWdmJXVjBjbmtnUFNCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h6YUc5MWJHUlZjR1JoZEdWSFpXOXRaWFJ5ZVNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmWW5WcGJHUlFiM05wZEdsdmJpZ3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMkoxYVd4a1VHOXphWFJwYjI0b0tUb2dkbTlwWkNCN1hHNGdJQ0FnWDNZelFTNWpiM0I1S0hSb2FYTXVYMk4xY25KbGJuUlVZV2xzS1M1emRXSW9kR2hwY3k1ZlkzVnljbVZ1ZEU5bVpuTmxkQ2s3WEc0Z0lDQWdZMjl1YzNRZ2JDQTlJRjkyTTBFdWJHVnVaM1JvS0NrZ0x5QjBhR2x6TGw5amRYSnlaVzUwVW1Ga2FYVnpPMXh1WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQRDBnTVRZN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkQ0E5SUNocElDOGdNVFl1TUNrZ0tpQk5ZWFJvTGxCSk8xeHVYRzRnSUNBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6TG5ObGRGaFpXaWhwTENBdFRXRjBhQzV6YVc0b2RDa3NJQzFOWVhSb0xtTnZjeWgwS1N3Z01DNHdLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpRYjNNdWMyVjBXRmxhS0RFM0lDc2dhU3dnYkNBcklFMWhkR2d1YzJsdUtIUXBMQ0JOWVhSb0xtTnZjeWgwS1N3Z01DNHdLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpRYjNNdWMyVjBXRmxhS0RNMElDc2dhU3dnTFUxaGRHZ3VjMmx1S0hRcExDQXdMakFzSUMxTllYUm9MbU52Y3loMEtTazdYRzRnSUNBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6TG5ObGRGaFpXaWcxTVNBcklHa3NJR3dnS3lCTllYUm9Mbk5wYmloMEtTd2dNQzR3TENCTllYUm9MbU52Y3loMEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQXpNanNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMElEMGdLR2tnTHlBeE5pNHdLU0FxSUUxaGRHZ3VVRWs3WEc0Z0lDQWdJQ0IwYUdsekxsOWhkSFJ5VUc5ekxuTmxkRmhaV2lnMk9DQXJJR2tzSURBdU1Dd2dUV0YwYUM1emFXNG9kQ2tzSUUxaGRHZ3VZMjl6S0hRcEtUdGNiaUFnSUNBZ0lIUm9hWE11WDJGMGRISlFiM011YzJWMFdGbGFLREV3TUNBcklHa3NJR3dzSUUxaGRHZ3VjMmx1S0hRcExDQk5ZWFJvTG1OdmN5aDBLU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2RHaGxkR0VnUFNCTllYUm9MbUYwWVc0eUtGOTJNMEV1ZVN3Z1RXRjBhQzV6Y1hKMEtGOTJNMEV1ZUNBcUlGOTJNMEV1ZUNBcklGOTJNMEV1ZWlBcUlGOTJNMEV1ZWlrcE8xeHVJQ0FnSUdOdmJuTjBJSEJvYVNBOUlDMU5ZWFJvTG1GMFlXNHlLRjkyTTBFdWVpd2dYM1l6UVM1NEtUdGNibHh1SUNBZ0lIUm9hWE11Y205MFlYUmxXaWgwYUdWMFlTazdYRzRnSUNBZ2RHaHBjeTV5YjNSaGRHVlpLSEJvYVNrN1hHNGdJQ0FnZEdocGN5NXpZMkZzWlNoMGFHbHpMbDlqZFhKeVpXNTBVbUZrYVhWekxDQjBhR2x6TGw5amRYSnlaVzUwVW1Ga2FYVnpMQ0IwYUdsekxsOWpkWEp5Wlc1MFVtRmthWFZ6S1R0Y2JpQWdJQ0IwYUdsekxuUnlZVzV6YkdGMFpTaDBhR2x6TGw5amRYSnlaVzUwVDJabWMyVjBMbmdzSUhSb2FYTXVYMk4xY25KbGJuUlBabVp6WlhRdWVTd2dkR2hwY3k1ZlkzVnljbVZ1ZEU5bVpuTmxkQzU2S1R0Y2JseHVJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTXVibVZsWkhOVmNHUmhkR1VnUFNCMGNuVmxPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmWW5WcGJHUkpibVJsZUNncE9pQjJiMmxrSUh0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SURNME95QnBLeXNwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR2t4SUQwZ0tHa2dLeUF4S1NBbElETTBPMXh1WEc0Z0lDQWdJQ0IwYUdsekxsOWhkSFJ5U1c1a1pYZ3VjMlYwV0Zrb2FTQXFJRElzSUdrc0lHa3hLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpKYm1SbGVDNXpaWFJZV1NnMk9DQXJJR2tnS2lBeUxDQXpOQ0FySUdrc0lETTBJQ3NnYVRFcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z016STdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYVRFZ1BTQW9hU0FySURFcElDVWdNekk3WEc1Y2JpQWdJQ0FnSUhSb2FYTXVYMkYwZEhKSmJtUmxlQzV6WlhSWVdTZ3hNellnS3lCcElDb2dNaXdnTmpnZ0t5QnBMQ0EyT0NBcklHa3hLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpKYm1SbGVDNXpaWFJZV1NneU1EQWdLeUJwSUNvZ01pd2dNVEF3SUNzZ2FTd2dNVEF3SUNzZ2FURXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11WDJGMGRISkpibVJsZUM1dVpXVmtjMVZ3WkdGMFpTQTlJSFJ5ZFdVN1hHNGdJSDFjYm4xY2JpSXNJbWx0Y0c5eWRDQXFJR0Z6SUZSSVVrVkZJR1p5YjIwZ0ozUm9jbVZsSnp0Y2JtbHRjRzl5ZENCN0lGWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxjbE5vWVhCbFUzQm9aWEpsSUgwZ1puSnZiU0FuTGk0dkxpNHZWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5VTJoaGNHVlRjR2hsY21Vbk8xeHVhVzF3YjNKMElIc2dRMjlzYkdsa1pYSlRhR0Z3WlVKMVptWmxja2RsYjIxbGRISjVJSDBnWm5KdmJTQW5MaTlEYjJ4c2FXUmxjbE5vWVhCbFFuVm1abVZ5UjJWdmJXVjBjbmtuTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nUTI5c2JHbGtaWEpUYUdGd1pWTndhR1Z5WlVKMVptWmxja2RsYjIxbGRISjVJR1Y0ZEdWdVpITWdWRWhTUlVVdVFuVm1abVZ5UjJWdmJXVjBjbmtnYVcxd2JHVnRaVzUwY3lCRGIyeHNhV1JsY2xOb1lYQmxRblZtWm1WeVIyVnZiV1YwY25rZ2UxeHVJQ0J3ZFdKc2FXTWdkMjl5YkdSVFkyRnNaU0E5SURFdU1EdGNibHh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUY5aGRIUnlVRzl6T2lCVVNGSkZSUzVDZFdabVpYSkJkSFJ5YVdKMWRHVTdYRzRnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnWDJGMGRISkpibVJsZURvZ1ZFaFNSVVV1UW5WbVptVnlRWFIwY21saWRYUmxPMXh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUY5emFHRndaVG9nVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1ZUY0dobGNtVTdYRzRnSUhCeWFYWmhkR1VnWDJOMWNuSmxiblJTWVdScGRYTWdQU0F3TzF4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlGOWpkWEp5Wlc1MFQyWm1jMlYwSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb0tUdGNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2MyaGhjR1U2SUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNsTm9ZWEJsVTNCb1pYSmxLU0I3WEc0Z0lDQWdjM1Z3WlhJb0tUdGNibHh1SUNBZ0lIUm9hWE11WDNOb1lYQmxJRDBnYzJoaGNHVTdYRzVjYmlBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6SUQwZ2JtVjNJRlJJVWtWRkxrSjFabVpsY2tGMGRISnBZblYwWlNodVpYY2dSbXh2WVhRek1rRnljbUY1S0RNeUlDb2dNeUFxSURNcExDQXpLVHRjYmlBZ0lDQjBhR2x6TG5ObGRFRjBkSEpwWW5WMFpTZ25jRzl6YVhScGIyNG5MQ0IwYUdsekxsOWhkSFJ5VUc5ektUdGNibHh1SUNBZ0lIUm9hWE11WDJGMGRISkpibVJsZUNBOUlHNWxkeUJVU0ZKRlJTNUNkV1ptWlhKQmRIUnlhV0oxZEdVb2JtVjNJRlZwYm5ReE5rRnljbUY1S0RZMElDb2dNeWtzSURFcE8xeHVJQ0FnSUhSb2FYTXVjMlYwU1c1a1pYZ29kR2hwY3k1ZllYUjBja2x1WkdWNEtUdGNibHh1SUNBZ0lIUm9hWE11WDJKMWFXeGtTVzVrWlhnb0tUdGNiaUFnSUNCMGFHbHpMblZ3WkdGMFpTZ3BPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJSFZ3WkdGMFpTZ3BPaUIyYjJsa0lIdGNiaUFnSUNCc1pYUWdjMmh2ZFd4a1ZYQmtZWFJsUjJWdmJXVjBjbmtnUFNCbVlXeHpaVHRjYmx4dUlDQWdJR052Ym5OMElISmhaR2wxY3lBOUlIUm9hWE11WDNOb1lYQmxMbkpoWkdsMWN5QXZJSFJvYVhNdWQyOXliR1JUWTJGc1pUdGNiaUFnSUNCcFppQW9kR2hwY3k1ZlkzVnljbVZ1ZEZKaFpHbDFjeUFoUFQwZ2NtRmthWFZ6S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlqZFhKeVpXNTBVbUZrYVhWeklEMGdjbUZrYVhWek8xeHVJQ0FnSUNBZ2MyaHZkV3hrVlhCa1lYUmxSMlZ2YldWMGNua2dQU0IwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDZ2hkR2hwY3k1ZlkzVnljbVZ1ZEU5bVpuTmxkQzVsY1hWaGJITW9kR2hwY3k1ZmMyaGhjR1V1YjJabWMyVjBLU2tnZTF4dUlDQWdJQ0FnZEdocGN5NWZZM1Z5Y21WdWRFOW1abk5sZEM1amIzQjVLSFJvYVhNdVgzTm9ZWEJsTG05bVpuTmxkQ2s3WEc0Z0lDQWdJQ0J6YUc5MWJHUlZjR1JoZEdWSFpXOXRaWFJ5ZVNBOUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hOb2IzVnNaRlZ3WkdGMFpVZGxiMjFsZEhKNUtTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5aWRXbHNaRkJ2YzJsMGFXOXVLQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmWW5WcGJHUlFiM05wZEdsdmJpZ3BPaUIyYjJsa0lIdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElETXlPeUJwS3lzcElIdGNiaUFnSUNBZ0lHTnZibk4wSUhRZ1BTQW9hU0F2SURFMkxqQXBJQ29nVFdGMGFDNVFTVHRjYmx4dUlDQWdJQ0FnZEdocGN5NWZZWFIwY2xCdmN5NXpaWFJZV1Zvb2FTd2dUV0YwYUM1amIzTW9kQ2tzSUUxaGRHZ3VjMmx1S0hRcExDQXdMakFwTzF4dUlDQWdJQ0FnZEdocGN5NWZZWFIwY2xCdmN5NXpaWFJZV1Zvb016SWdLeUJwTENBd0xqQXNJRTFoZEdndVkyOXpLSFFwTENCTllYUm9Mbk5wYmloMEtTazdYRzRnSUNBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6TG5ObGRGaFpXaWcyTkNBcklHa3NJRTFoZEdndWMybHVLSFFwTENBd0xqQXNJRTFoZEdndVkyOXpLSFFwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxuTmpZV3hsS0hSb2FYTXVYMk4xY25KbGJuUlNZV1JwZFhNc0lIUm9hWE11WDJOMWNuSmxiblJTWVdScGRYTXNJSFJvYVhNdVgyTjFjbkpsYm5SU1lXUnBkWE1wTzF4dUlDQWdJSFJvYVhNdWRISmhibk5zWVhSbEtIUm9hWE11WDJOMWNuSmxiblJQWm1aelpYUXVlQ3dnZEdocGN5NWZZM1Z5Y21WdWRFOW1abk5sZEM1NUxDQjBhR2x6TGw5amRYSnlaVzUwVDJabWMyVjBMbm9wTzF4dVhHNGdJQ0FnZEdocGN5NWZZWFIwY2xCdmN5NXVaV1ZrYzFWd1pHRjBaU0E5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJRjlpZFdsc1pFbHVaR1Y0S0NrNklIWnZhV1FnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnTXpJN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhVEVnUFNBb2FTQXJJREVwSUNVZ016STdYRzVjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpKYm1SbGVDNXpaWFJZV1NocElDb2dNaXdnYVN3Z2FURXBPMXh1SUNBZ0lDQWdkR2hwY3k1ZllYUjBja2x1WkdWNExuTmxkRmhaS0RZMElDc2dhU0FxSURJc0lETXlJQ3NnYVN3Z016SWdLeUJwTVNrN1hHNGdJQ0FnSUNCMGFHbHpMbDloZEhSeVNXNWtaWGd1YzJWMFdGa29NVEk0SUNzZ2FTQXFJRElzSURZMElDc2dhU3dnTmpRZ0t5QnBNU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1ZllYUjBja2x1WkdWNExtNWxaV1J6VlhCa1lYUmxJRDBnZEhKMVpUdGNiaUFnZlZ4dWZWeHVJaXdpYVcxd2IzSjBJQ29nWVhNZ1ZFaFNSVVVnWm5KdmJTQW5kR2h5WldVbk8xeHVhVzF3YjNKMElIc2dWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5SUgwZ1puSnZiU0FuTGk0dlZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlKenRjYm1sdGNHOXlkQ0I3SUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNsTm9ZWEJsUTJGd2MzVnNaU0I5SUdaeWIyMGdKeTR1TDFaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNsTm9ZWEJsUTJGd2MzVnNaU2M3WEc1cGJYQnZjblFnZXlCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlZOd2FHVnlaU0I5SUdaeWIyMGdKeTR1TDFaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNsTm9ZWEJsVTNCb1pYSmxKenRjYm1sdGNHOXlkQ0I3SUVOdmJHeHBaR1Z5VTJoaGNHVkNkV1ptWlhKSFpXOXRaWFJ5ZVNCOUlHWnliMjBnSnk0dmRYUnBiSE12UTI5c2JHbGtaWEpUYUdGd1pVSjFabVpsY2tkbGIyMWxkSEo1Snp0Y2JtbHRjRzl5ZENCN0lFTnZiR3hwWkdWeVUyaGhjR1ZEWVhCemRXeGxRblZtWm1WeVIyVnZiV1YwY25rZ2ZTQm1jbTl0SUNjdUwzVjBhV3h6TDBOdmJHeHBaR1Z5VTJoaGNHVkRZWEJ6ZFd4bFFuVm1abVZ5UjJWdmJXVjBjbmtuTzF4dWFXMXdiM0owSUhzZ1EyOXNiR2xrWlhKVGFHRndaVk53YUdWeVpVSjFabVpsY2tkbGIyMWxkSEo1SUgwZ1puSnZiU0FuTGk5MWRHbHNjeTlEYjJ4c2FXUmxjbE5vWVhCbFUzQm9aWEpsUW5WbVptVnlSMlZ2YldWMGNua25PMXh1WEc1amIyNXpkQ0JmZGpOQklEMGdibVYzSUZSSVVrVkZMbFpsWTNSdmNqTW9LVHRjYmx4dVpYaHdiM0owSUdOc1lYTnpJRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2tobGJIQmxjaUJsZUhSbGJtUnpJRlJJVWtWRkxrZHliM1Z3SUh0Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlHTnZiR3hwWkdWeU9pQldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEk3WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gyZGxiMjFsZEhKNU9pQkRiMnhzYVdSbGNsTm9ZWEJsUW5WbVptVnlSMlZ2YldWMGNuazdYRzRnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnWDJ4cGJtVTZJRlJJVWtWRkxreHBibVZUWldkdFpXNTBjenRjYmx4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9ZMjlzYkdsa1pYSTZJRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2lrZ2UxeHVJQ0FnSUhOMWNHVnlLQ2s3WEc0Z0lDQWdkR2hwY3k1dFlYUnlhWGhCZFhSdlZYQmtZWFJsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdJQ0IwYUdsekxtTnZiR3hwWkdWeUlEMGdZMjlzYkdsa1pYSTdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NWpiMnhzYVdSbGNpNXphR0Z3WlNCcGJuTjBZVzVqWlc5bUlGWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxjbE5vWVhCbFUzQm9aWEpsS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDluWlc5dFpYUnllU0E5SUc1bGR5QkRiMnhzYVdSbGNsTm9ZWEJsVTNCb1pYSmxRblZtWm1WeVIyVnZiV1YwY25rb2RHaHBjeTVqYjJ4c2FXUmxjaTV6YUdGd1pTazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBhR2x6TG1OdmJHeHBaR1Z5TG5Ob1lYQmxJR2x1YzNSaGJtTmxiMllnVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1ZEWVhCemRXeGxLU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOW5aVzl0WlhSeWVTQTlJRzVsZHlCRGIyeHNhV1JsY2xOb1lYQmxRMkZ3YzNWc1pVSjFabVpsY2tkbGIyMWxkSEo1S0hSb2FYTXVZMjlzYkdsa1pYSXVjMmhoY0dVcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2tobGJIQmxjam9nVlc1cmJtOTNiaUJqYjJ4c2FXUmxjaUJ6YUdGd1pTQjBlWEJsSUdSbGRHVmpkR1ZrSnlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdiV0YwWlhKcFlXd2dQU0J1WlhjZ1ZFaFNSVVV1VEdsdVpVSmhjMmxqVFdGMFpYSnBZV3dvZTF4dUlDQWdJQ0FnWTI5c2IzSTZJREI0Wm1Zd01HWm1MRnh1SUNBZ0lDQWdaR1Z3ZEdoVVpYTjBPaUJtWVd4elpTeGNiaUFnSUNBZ0lHUmxjSFJvVjNKcGRHVTZJR1poYkhObExGeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ2RHaHBjeTVmYkdsdVpTQTlJRzVsZHlCVVNGSkZSUzVNYVc1bFUyVm5iV1Z1ZEhNb2RHaHBjeTVmWjJWdmJXVjBjbmtzSUcxaGRHVnlhV0ZzS1R0Y2JpQWdJQ0IwYUdsekxtRmtaQ2gwYUdsekxsOXNhVzVsS1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCa2FYTndiM05sS0NrNklIWnZhV1FnZTF4dUlDQWdJSFJvYVhNdVgyZGxiMjFsZEhKNUxtUnBjM0J2YzJVb0tUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QjFjR1JoZEdWTllYUnlhWGhYYjNKc1pDaG1iM0pqWlRvZ1ltOXZiR1ZoYmlrNklIWnZhV1FnZTF4dUlDQWdJSFJvYVhNdVkyOXNiR2xrWlhJdWRYQmtZWFJsVjI5eWJHUk5ZWFJ5YVhnb2RISjFaU3dnWm1Gc2MyVXBPMXh1WEc0Z0lDQWdkR2hwY3k1dFlYUnlhWGd1WTI5d2VTaDBhR2x6TG1OdmJHeHBaR1Z5TG0xaGRISnBlRmR2Y214a0tUdGNibHh1SUNBZ0lHTnZibk4wSUcxaGRISnBlRmR2Y214a1JXeGxiV1Z1ZEhNZ1BTQjBhR2x6TG0xaGRISnBlQzVsYkdWdFpXNTBjenRjYmlBZ0lDQjBhR2x6TGw5blpXOXRaWFJ5ZVM1M2IzSnNaRk5qWVd4bElEMGdYM1l6UVZ4dUlDQWdJQ0FnTG5ObGRDaHRZWFJ5YVhoWGIzSnNaRVZzWlcxbGJuUnpXekJkTENCdFlYUnlhWGhYYjNKc1pFVnNaVzFsYm5Seld6RmRMQ0J0WVhSeWFYaFhiM0pzWkVWc1pXMWxiblJ6V3pKZEtWeHVJQ0FnSUNBZ0xteGxibWQwYUNncE95QXZMeUJqWVd4amRXeGhkR1VnYzJOaGJHVWdiMllnZUNCamIyMXdiMjVsYm5SY2JseHVJQ0FnSUhSb2FYTXVYMmRsYjIxbGRISjVMblZ3WkdGMFpTZ3BPMXh1WEc0Z0lDQWdjM1Z3WlhJdWRYQmtZWFJsVFdGMGNtbDRWMjl5YkdRb1ptOXlZMlVwTzF4dUlDQjlYRzU5WEc0aUxDSnBiWEJ2Y25RZ0tpQmhjeUJVU0ZKRlJTQm1jbTl0SUNkMGFISmxaU2M3WEc1cGJYQnZjblFnZXlCV1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5RZ2ZTQm1jbTl0SUNjdUxpOHVMaTlXVWsxVGNISnBibWRDYjI1bFNtOXBiblFuTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVTNCeWFXNW5RbTl1WlVKMVptWmxja2RsYjIxbGRISjVJR1Y0ZEdWdVpITWdWRWhTUlVVdVFuVm1abVZ5UjJWdmJXVjBjbmtnZTF4dUlDQndkV0pzYVdNZ2QyOXliR1JUWTJGc1pTQTlJREV1TUR0Y2JseHVJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJRjloZEhSeVVHOXpPaUJVU0ZKRlJTNUNkV1ptWlhKQmRIUnlhV0oxZEdVN1hHNGdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2dYMkYwZEhKSmJtUmxlRG9nVkVoU1JVVXVRblZtWm1WeVFYUjBjbWxpZFhSbE8xeHVJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJRjl6Y0hKcGJtZENiMjVsT2lCV1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5RN1hHNGdJSEJ5YVhaaGRHVWdYMk4xY25KbGJuUlNZV1JwZFhNZ1BTQXdPMXh1SUNCd2NtbDJZWFJsSUhKbFlXUnZibXg1SUY5amRYSnlaVzUwVkdGcGJDQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1Y2JpQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLSE53Y21sdVowSnZibVU2SUZaU1RWTndjbWx1WjBKdmJtVktiMmx1ZENrZ2UxeHVJQ0FnSUhOMWNHVnlLQ2s3WEc1Y2JpQWdJQ0IwYUdsekxsOXpjSEpwYm1kQ2IyNWxJRDBnYzNCeWFXNW5RbTl1WlR0Y2JseHVJQ0FnSUhSb2FYTXVYMkYwZEhKUWIzTWdQU0J1WlhjZ1ZFaFNSVVV1UW5WbVptVnlRWFIwY21saWRYUmxLRzVsZHlCR2JHOWhkRE15UVhKeVlYa29NamswS1N3Z015azdYRzRnSUNBZ2RHaHBjeTV6WlhSQmRIUnlhV0oxZEdVb0ozQnZjMmwwYVc5dUp5d2dkR2hwY3k1ZllYUjBjbEJ2Y3lrN1hHNWNiaUFnSUNCMGFHbHpMbDloZEhSeVNXNWtaWGdnUFNCdVpYY2dWRWhTUlVVdVFuVm1abVZ5UVhSMGNtbGlkWFJsS0c1bGR5QlZhVzUwTVRaQmNuSmhlU2d4T1RRcExDQXhLVHRjYmlBZ0lDQjBhR2x6TG5ObGRFbHVaR1Y0S0hSb2FYTXVYMkYwZEhKSmJtUmxlQ2s3WEc1Y2JpQWdJQ0IwYUdsekxsOWlkV2xzWkVsdVpHVjRLQ2s3WEc0Z0lDQWdkR2hwY3k1MWNHUmhkR1VvS1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCMWNHUmhkR1VvS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdiR1YwSUhOb2IzVnNaRlZ3WkdGMFpVZGxiMjFsZEhKNUlEMGdabUZzYzJVN1hHNWNiaUFnSUNCamIyNXpkQ0J5WVdScGRYTWdQU0IwYUdsekxsOXpjSEpwYm1kQ2IyNWxMbk5sZEhScGJtZHpMbWhwZEZKaFpHbDFjeUF2SUhSb2FYTXVkMjl5YkdSVFkyRnNaVHRjYmlBZ0lDQnBaaUFvZEdocGN5NWZZM1Z5Y21WdWRGSmhaR2wxY3lBaFBUMGdjbUZrYVhWektTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5amRYSnlaVzUwVW1Ga2FYVnpJRDBnY21Ga2FYVnpPMXh1SUNBZ0lDQWdjMmh2ZFd4a1ZYQmtZWFJsUjJWdmJXVjBjbmtnUFNCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2doZEdocGN5NWZZM1Z5Y21WdWRGUmhhV3d1WlhGMVlXeHpLSFJvYVhNdVgzTndjbWx1WjBKdmJtVXVhVzVwZEdsaGJFeHZZMkZzUTJocGJHUlFiM05wZEdsdmJpa3BJSHRjYmlBZ0lDQWdJSFJvYVhNdVgyTjFjbkpsYm5SVVlXbHNMbU52Y0hrb2RHaHBjeTVmYzNCeWFXNW5RbTl1WlM1cGJtbDBhV0ZzVEc5allXeERhR2xzWkZCdmMybDBhVzl1S1R0Y2JpQWdJQ0FnSUhOb2IzVnNaRlZ3WkdGMFpVZGxiMjFsZEhKNUlEMGdkSEoxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2MyaHZkV3hrVlhCa1lYUmxSMlZ2YldWMGNua3BJSHRjYmlBZ0lDQWdJSFJvYVhNdVgySjFhV3hrVUc5emFYUnBiMjRvS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUY5aWRXbHNaRkJ2YzJsMGFXOXVLQ2s2SUhadmFXUWdlMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dNekk3SUdrckt5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RDQTlJQ2hwSUM4Z01UWXVNQ2tnS2lCTllYUm9MbEJKTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbDloZEhSeVVHOXpMbk5sZEZoWldpaHBMQ0JOWVhSb0xtTnZjeWgwS1N3Z1RXRjBhQzV6YVc0b2RDa3NJREF1TUNrN1hHNGdJQ0FnSUNCMGFHbHpMbDloZEhSeVVHOXpMbk5sZEZoWldpZ3pNaUFySUdrc0lEQXVNQ3dnVFdGMGFDNWpiM01vZENrc0lFMWhkR2d1YzJsdUtIUXBLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyRjBkSEpRYjNNdWMyVjBXRmxhS0RZMElDc2dhU3dnVFdGMGFDNXphVzRvZENrc0lEQXVNQ3dnVFdGMGFDNWpiM01vZENrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXVjMk5oYkdVb2RHaHBjeTVmWTNWeWNtVnVkRkpoWkdsMWN5d2dkR2hwY3k1ZlkzVnljbVZ1ZEZKaFpHbDFjeXdnZEdocGN5NWZZM1Z5Y21WdWRGSmhaR2wxY3lrN1hHNGdJQ0FnZEdocGN5NTBjbUZ1YzJ4aGRHVW9kR2hwY3k1ZlkzVnljbVZ1ZEZSaGFXd3VlQ3dnZEdocGN5NWZZM1Z5Y21WdWRGUmhhV3d1ZVN3Z2RHaHBjeTVmWTNWeWNtVnVkRlJoYVd3dWVpazdYRzVjYmlBZ0lDQjBhR2x6TGw5aGRIUnlVRzl6TG5ObGRGaFpXaWc1Tml3Z01Dd2dNQ3dnTUNrN1hHNGdJQ0FnZEdocGN5NWZZWFIwY2xCdmN5NXpaWFJZV1Zvb09UY3NJSFJvYVhNdVgyTjFjbkpsYm5SVVlXbHNMbmdzSUhSb2FYTXVYMk4xY25KbGJuUlVZV2xzTG5rc0lIUm9hWE11WDJOMWNuSmxiblJVWVdsc0xub3BPMXh1WEc0Z0lDQWdkR2hwY3k1ZllYUjBjbEJ2Y3k1dVpXVmtjMVZ3WkdGMFpTQTlJSFJ5ZFdVN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElGOWlkV2xzWkVsdVpHVjRLQ2s2SUhadmFXUWdlMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dNekk3SUdrckt5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2FURWdQU0FvYVNBcklERXBJQ1VnTXpJN1hHNWNiaUFnSUNBZ0lIUm9hWE11WDJGMGRISkpibVJsZUM1elpYUllXU2hwSUNvZ01pd2dhU3dnYVRFcE8xeHVJQ0FnSUNBZ2RHaHBjeTVmWVhSMGNrbHVaR1Y0TG5ObGRGaFpLRFkwSUNzZ2FTQXFJRElzSURNeUlDc2dhU3dnTXpJZ0t5QnBNU2s3WEc0Z0lDQWdJQ0IwYUdsekxsOWhkSFJ5U1c1a1pYZ3VjMlYwV0Zrb01USTRJQ3NnYVNBcUlESXNJRFkwSUNzZ2FTd2dOalFnS3lCcE1TazdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVYMkYwZEhKSmJtUmxlQzV6WlhSWVdTZ3hPVElzSURrMkxDQTVOeWs3WEc1Y2JpQWdJQ0IwYUdsekxsOWhkSFJ5U1c1a1pYZ3VibVZsWkhOVmNHUmhkR1VnUFNCMGNuVmxPMXh1SUNCOVhHNTlYRzRpTENKcGJYQnZjblFnS2lCaGN5QlVTRkpGUlNCbWNtOXRJQ2QwYUhKbFpTYzdYRzVwYlhCdmNuUWdleUJXVWsxVGNISnBibWRDYjI1bFNtOXBiblFnZlNCbWNtOXRJQ2N1TGk5V1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5Rbk8xeHVhVzF3YjNKMElIc2dVM0J5YVc1blFtOXVaVUoxWm1abGNrZGxiMjFsZEhKNUlIMGdabkp2YlNBbkxpOTFkR2xzY3k5VGNISnBibWRDYjI1bFFuVm1abVZ5UjJWdmJXVjBjbmtuTzF4dVhHNWpiMjV6ZENCZmRqTkJJRDBnYm1WM0lGUklVa1ZGTGxabFkzUnZjak1vS1R0Y2JseHVaWGh3YjNKMElHTnNZWE56SUZaU1RWTndjbWx1WjBKdmJtVktiMmx1ZEVobGJIQmxjaUJsZUhSbGJtUnpJRlJJVWtWRkxrZHliM1Z3SUh0Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlITndjbWx1WjBKdmJtVTZJRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkRHRjYmlBZ2NISnBkbUYwWlNCeVpXRmtiMjVzZVNCZloyVnZiV1YwY25rNklGTndjbWx1WjBKdmJtVkNkV1ptWlhKSFpXOXRaWFJ5ZVR0Y2JpQWdjSEpwZG1GMFpTQnlaV0ZrYjI1c2VTQmZiR2x1WlRvZ1ZFaFNSVVV1VEdsdVpWTmxaMjFsYm5Sek8xeHVYRzRnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2loemNISnBibWRDYjI1bE9pQldVazFUY0hKcGJtZENiMjVsU205cGJuUXBJSHRjYmlBZ0lDQnpkWEJsY2lncE8xeHVJQ0FnSUhSb2FYTXViV0YwY21sNFFYVjBiMVZ3WkdGMFpTQTlJR1poYkhObE8xeHVYRzRnSUNBZ2RHaHBjeTV6Y0hKcGJtZENiMjVsSUQwZ2MzQnlhVzVuUW05dVpUdGNibHh1SUNBZ0lIUm9hWE11WDJkbGIyMWxkSEo1SUQwZ2JtVjNJRk53Y21sdVowSnZibVZDZFdabVpYSkhaVzl0WlhSeWVTaDBhR2x6TG5Od2NtbHVaMEp2Ym1VcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYldGMFpYSnBZV3dnUFNCdVpYY2dWRWhTUlVVdVRHbHVaVUpoYzJsalRXRjBaWEpwWVd3b2UxeHVJQ0FnSUNBZ1kyOXNiM0k2SURCNFptWm1aakF3TEZ4dUlDQWdJQ0FnWkdWd2RHaFVaWE4wT2lCbVlXeHpaU3hjYmlBZ0lDQWdJR1JsY0hSb1YzSnBkR1U2SUdaaGJITmxMRnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdkR2hwY3k1ZmJHbHVaU0E5SUc1bGR5QlVTRkpGUlM1TWFXNWxVMlZuYldWdWRITW9kR2hwY3k1ZloyVnZiV1YwY25rc0lHMWhkR1Z5YVdGc0tUdGNiaUFnSUNCMGFHbHpMbUZrWkNoMGFHbHpMbDlzYVc1bEtUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QmthWE53YjNObEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVYMmRsYjIxbGRISjVMbVJwYzNCdmMyVW9LVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUIxY0dSaGRHVk5ZWFJ5YVhoWGIzSnNaQ2htYjNKalpUb2dZbTl2YkdWaGJpazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVjM0J5YVc1blFtOXVaUzVpYjI1bExuVndaR0YwWlZkdmNteGtUV0YwY21sNEtIUnlkV1VzSUdaaGJITmxLVHRjYmx4dUlDQWdJSFJvYVhNdWJXRjBjbWw0TG1OdmNIa29kR2hwY3k1emNISnBibWRDYjI1bExtSnZibVV1YldGMGNtbDRWMjl5YkdRcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYldGMGNtbDRWMjl5YkdSRmJHVnRaVzUwY3lBOUlIUm9hWE11YldGMGNtbDRMbVZzWlcxbGJuUnpPMXh1SUNBZ0lIUm9hWE11WDJkbGIyMWxkSEo1TG5kdmNteGtVMk5oYkdVZ1BTQmZkak5CWEc0Z0lDQWdJQ0F1YzJWMEtHMWhkSEpwZUZkdmNteGtSV3hsYldWdWRITmJNRjBzSUcxaGRISnBlRmR2Y214a1JXeGxiV1Z1ZEhOYk1WMHNJRzFoZEhKcGVGZHZjbXhrUld4bGJXVnVkSE5iTWwwcFhHNGdJQ0FnSUNBdWJHVnVaM1JvS0NrN0lDOHZJR05oYkdOMWJHRjBaU0J6WTJGc1pTQnZaaUI0SUdOdmJYQnZibVZ1ZEZ4dVhHNGdJQ0FnZEdocGN5NWZaMlZ2YldWMGNua3VkWEJrWVhSbEtDazdYRzVjYmlBZ0lDQnpkWEJsY2k1MWNHUmhkR1ZOWVhSeWFYaFhiM0pzWkNobWIzSmpaU2s3WEc0Z0lIMWNibjFjYmlJc0ltbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5VTJoaGNHVWdmU0JtY205dElDY3VMMVpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2xOb1lYQmxKenRjYmx4dUx5b3FYRzRnS2lCU1pYQnlaWE5sYm5SeklHRWdZMjlzYkdsa1pYSWdiMllnWVNCV1VrMHVYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhJZ1pYaDBaVzVrY3lCVVNGSkZSUzVQWW1wbFkzUXpSQ0I3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYzJoaGNHVWdiMllnZEdobElHTnZiR3hwWkdWeUxseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklISmxZV1J2Ym14NUlITm9ZWEJsT2lCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSlRhR0Z3WlR0Y2JseHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvYzJoaGNHVTZJRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2xOb1lYQmxLU0I3WEc0Z0lDQWdjM1Z3WlhJb0tUdGNibHh1SUNBZ0lIUm9hWE11YzJoaGNHVWdQU0J6YUdGd1pUdGNiaUFnZlZ4dWZWeHVJaXdpYVcxd2IzSjBJQ29nWVhNZ1ZFaFNSVVVnWm5KdmJTQW5kR2h5WldVbk8xeHVYRzVqYjI1emRDQmZiV0YwUVNBOUlHNWxkeUJVU0ZKRlJTNU5ZWFJ5YVhnMEtDazdYRzVjYmk4cUtseHVJQ29nUVNCamIyMXdZWFFnWm5WdVkzUnBiMjRnWm05eUlHQk5ZWFJ5YVhnMExtbHVkbVZ5ZENncFlDQXZJR0JOWVhSeWFYZzBMbWRsZEVsdWRtVnljMlVvS1dBdVhHNGdLaUJnVFdGMGNtbDROQzVwYm5abGNuUW9LV0FnYVhNZ2FXNTBjbTlrZFdObFpDQnBiaUJ5TVRJeklHRnVaQ0JnVFdGMGNtbDROQzVuWlhSSmJuWmxjbk5sS0NsZ0lHVnRhWFJ6SUdFZ2QyRnlibWx1Wnk1Y2JpQXFJRmRsSUdGeVpTQm5iMmx1WnlCMGJ5QjFjMlVnZEdocGN5QmpiMjF3WVhRZ1ptOXlJR0VnZDJocGJHVXVYRzRnS2lCQWNHRnlZVzBnZEdGeVoyVjBJRUVnZEdGeVoyVjBJRzFoZEhKcGVGeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldGME5FbHVkbVZ5ZEVOdmJYQmhkRHhVSUdWNGRHVnVaSE1nVkVoU1JVVXVUV0YwY21sNE5ENG9kR0Z5WjJWME9pQlVLVG9nVkNCN1hHNGdJR2xtSUNnb2RHRnlaMlYwSUdGeklHRnVlU2t1YVc1MlpYSjBLU0I3WEc0Z0lDQWdkR0Z5WjJWMExtbHVkbVZ5ZENncE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDaDBZWEpuWlhRZ1lYTWdZVzU1S1M1blpYUkpiblpsY25ObEtGOXRZWFJCTG1OdmNIa29kR0Z5WjJWMEtTazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkR0Z5WjJWME8xeHVmVnh1SWl3aWFXMXdiM0owSUNvZ1lYTWdWRWhTUlVVZ1puSnZiU0FuZEdoeVpXVW5PMXh1YVcxd2IzSjBJSHNnYldGME5FbHVkbVZ5ZEVOdmJYQmhkQ0I5SUdaeWIyMGdKeTR2YldGME5FbHVkbVZ5ZEVOdmJYQmhkQ2M3WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJOWVhSeWFYZzBTVzUyWlhKelpVTmhZMmhsSUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCMFlYSm5aWFFnYldGMGNtbDRMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSEpsWVdSdmJteDVJRzFoZEhKcGVEb2dWRWhTUlVVdVRXRjBjbWw0TkR0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUVNCallXTm9aU0J2WmlCcGJuWmxjbk5sSUc5bUlHTjFjbkpsYm5RZ2JXRjBjbWw0TGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCeVpXRmtiMjVzZVNCZmFXNTJaWEp6WlVOaFkyaGxJRDBnYm1WM0lGUklVa1ZGTGsxaGRISnBlRFFvS1R0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUVNCbWJHRm5JSFJvWVhRZ2JXRnJaWE1nYVhRZ2QyRnVkQ0IwYnlCeVpXTmhiR04xYkdGMFpTQnBkSE1nZTBCc2FXNXJJRjlwYm5abGNuTmxRMkZqYUdWOUxseHVJQ0FnS2lCWGFXeHNJR0psSUhObGRDQmdkSEoxWldBZ2QyaGxiaUJnWld4bGJXVnVkSE5nSUdGeVpTQnRkWFJoZEdWa0lHRnVaQ0JpWlNCMWMyVmtJR2x1SUdCblpYUkpiblpsY25ObFlDNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYM05vYjNWc1pGVndaR0YwWlVsdWRtVnljMlVnUFNCMGNuVmxPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYjNKcFoybHVZV3dnYjJZZ1lHMWhkSEpwZUM1bGJHVnRaVzUwYzJCY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2NtVmhaRzl1YkhrZ1gyOXlhV2RwYm1Gc1JXeGxiV1Z1ZEhNNklHNTFiV0psY2x0ZE8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCSmJuWmxjbk5sSUc5bUlHZHBkbVZ1SUcxaGRISnBlQzVjYmlBZ0lDb2dUbTkwWlNCMGFHRjBJR2wwSUhkcGJHd2djbVYwZFhKdUlHbDBjeUJwYm5SbGNtNWhiQ0J3Y21sMllYUmxJR2x1YzNSaGJtTmxMbHh1SUNBZ0tpQk5ZV3RsSUhOMWNtVWdZMjl3ZVdsdVp5QjBhR2x6SUdKbFptOXlaU0J0ZFhSaGRHVWdkR2hwY3k1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCblpYUWdhVzUyWlhKelpTZ3BPaUJVU0ZKRlJTNU5ZWFJ5YVhnMElIdGNiaUFnSUNCcFppQW9kR2hwY3k1ZmMyaHZkV3hrVlhCa1lYUmxTVzUyWlhKelpTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmFXNTJaWEp6WlVOaFkyaGxMbU52Y0hrb2RHaHBjeTV0WVhSeWFYZ3BPMXh1SUNBZ0lDQWdiV0YwTkVsdWRtVnlkRU52YlhCaGRDaDBhR2x6TGw5cGJuWmxjbk5sUTJGamFHVXBPMXh1SUNBZ0lDQWdkR2hwY3k1ZmMyaHZkV3hrVlhCa1lYUmxTVzUyWlhKelpTQTlJR1poYkhObE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXBiblpsY25ObFEyRmphR1U3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2JXRjBjbWw0T2lCVVNGSkZSUzVOWVhSeWFYZzBLU0I3WEc0Z0lDQWdkR2hwY3k1dFlYUnlhWGdnUFNCdFlYUnlhWGc3WEc1Y2JpQWdJQ0JqYjI1emRDQm9ZVzVrYkdWeU9pQlFjbTk0ZVVoaGJtUnNaWEk4Ym5WdFltVnlXMTArSUQwZ2UxeHVJQ0FnSUNBZ2MyVjBPaUFvYjJKcUxDQndjbTl3T2lCaGJua3NJRzVsZDFaaGJDa2dQVDRnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDl6YUc5MWJHUlZjR1JoZEdWSmJuWmxjbk5sSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnYjJKcVczQnliM0JkSUQwZ2JtVjNWbUZzTzF4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdmU3hjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdkR2hwY3k1ZmIzSnBaMmx1WVd4RmJHVnRaVzUwY3lBOUlHMWhkSEpwZUM1bGJHVnRaVzUwY3p0Y2JpQWdJQ0J0WVhSeWFYZ3VaV3hsYldWdWRITWdQU0J1WlhjZ1VISnZlSGtvYldGMGNtbDRMbVZzWlcxbGJuUnpMQ0JvWVc1a2JHVnlLVHRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJ5WlhabGNuUW9LVG9nZG05cFpDQjdYRzRnSUNBZ2RHaHBjeTV0WVhSeWFYZ3VaV3hsYldWdWRITWdQU0IwYUdsekxsOXZjbWxuYVc1aGJFVnNaVzFsYm5Sek8xeHVJQ0I5WEc1OVhHNGlMQ0pwYlhCdmNuUWdLaUJoY3lCVVNGSkZSU0JtY205dElDZDBhSEpsWlNjN1hHNXBiWEJ2Y25RZ2V5QnRZWFEwU1c1MlpYSjBRMjl0Y0dGMElIMGdabkp2YlNBbkxpOTFkR2xzY3k5dFlYUTBTVzUyWlhKMFEyOXRjR0YwSnp0Y2JtbHRjRzl5ZENCN0lFMWhkSEpwZURSSmJuWmxjbk5sUTJGamFHVWdmU0JtY205dElDY3VMM1YwYVd4ekwwMWhkSEpwZURSSmJuWmxjbk5sUTJGamFHVW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpIY205MWNDQjlJR1p5YjIwZ0p5NHZWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5UjNKdmRYQW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QldVazFUY0hKcGJtZENiMjVsU205cGJuUlRaWFIwYVc1bmN5QjlJR1p5YjIwZ0p5NHZWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBVMlYwZEdsdVozTW5PMXh1WEc0dkx5QmlZWE5sWkNCdmJseHVMeThnYUhSMGNEb3ZMM0p2WTJ0bGRHcDFiWEF1YzJ0eUxtcHdMM1Z1YVhSNU0yUXZNVEE1TDF4dUx5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMlIzWVc1bmJ5OVZibWxXVWswdllteHZZaTl0WVhOMFpYSXZVMk55YVhCMGN5OVRjSEpwYm1kQ2IyNWxMMVpTVFZOd2NtbHVaMEp2Ym1VdVkzTmNibHh1WTI5dWMzUWdTVVJGVGxSSlZGbGZUVUZVVWtsWU5DQTlJRzVsZHlCVVNGSkZSUzVOWVhSeWFYZzBLQ2s3WEc1Y2JpOHZJT2lvaU9ldWwrUzRyZU9CcnVTNGdPYVpndVMvbmVXdG1PZVVxT1draWVhVnNPKzhpT1M0Z09XNnB1T0NwT09EcytPQ3VlT0N2K09EcytPQ3VlT0NrdVM5bk9PQm8rT0JuK09DaWVPQmd1T0JxT09CcitTOXYrT0JoT1dibnVPQm1lKzhpVnh1WTI5dWMzUWdYM1l6UVNBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVqYjI1emRDQmZkak5DSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb0tUdGNibU52Ym5OMElGOTJNME1nUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVYRzR2S2lwY2JpQXFJRUVnZEdWdGNHOXlZWEo1SUhaaGNtbGhZbXhsSUhkb2FXTm9JR2x6SUhWelpXUWdhVzRnWUhWd1pHRjBaV0JjYmlBcUwxeHVZMjl1YzNRZ1gzZHZjbXhrVTNCaFkyVlFiM05wZEdsdmJpQTlJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2s3WEc1Y2JpOHFLbHh1SUNvZ1FTQjBaVzF3YjNKaGNua2dkbUZ5YVdGaWJHVWdkMmhwWTJnZ2FYTWdkWE5sWkNCcGJpQmdkWEJrWVhSbFlGeHVJQ292WEc1amIyNXpkQ0JmWTJWdWRHVnlVM0JoWTJWUWIzTnBkR2x2YmlBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVjYmk4cUtseHVJQ29nUVNCMFpXMXdiM0poY25rZ2RtRnlhV0ZpYkdVZ2QyaHBZMmdnYVhNZ2RYTmxaQ0JwYmlCZ2RYQmtZWFJsWUZ4dUlDb3ZYRzVqYjI1emRDQmZibVY0ZEZSaGFXd2dQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTzF4dVhHNWpiMjV6ZENCZmNYVmhkRUVnUFNCdVpYY2dWRWhTUlVVdVVYVmhkR1Z5Ym1sdmJpZ3BPMXh1WTI5dWMzUWdYMjFoZEVFZ1BTQnVaWGNnVkVoU1JVVXVUV0YwY21sNE5DZ3BPMXh1WTI5dWMzUWdYMjFoZEVJZ1BTQnVaWGNnVkVoU1JVVXVUV0YwY21sNE5DZ3BPMXh1WEc0dktpcGNiaUFxSUVFZ1kyeGhjM01nY21Wd2NtVnpaVzUwY3lCaElITnBibWRzWlNCcWIybHVkQ0J2WmlCaElITndjbWx1WnlCaWIyNWxMbHh1SUNvZ1NYUWdjMmh2ZFd4a0lHSmxJRzFoYm1GblpXUWdZbmtnWVNCYlcxWlNUVk53Y21sdVowSnZibVZOWVc1aFoyVnlYVjB1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCV1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5RZ2UxeHVJQ0F2S2lwY2JpQWdJQ29nVTJWMGRHbHVaM01nYjJZZ2RHaGxJR0p2Ym1VdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2MyVjBkR2x1WjNNNklGWlNUVk53Y21sdVowSnZibVZLYjJsdWRGTmxkSFJwYm1kek8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGIyeHNhV1JsY2lCbmNtOTFjSE1nWVhSMFlXTm9aV1FnZEc4Z2RHaHBjeUJpYjI1bExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHTnZiR3hwWkdWeVIzSnZkWEJ6T2lCV1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSkhjbTkxY0Z0ZE8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCQmJpQlBZbXBsWTNRelJDQmhkSFJoWTJobFpDQjBieUIwYUdseklHSnZibVV1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nY21WaFpHOXViSGtnWW05dVpUb2dWRWhTUlVVdVQySnFaV04wTTBRN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVGdUlFOWlhbVZqZERORUlIUm9ZWFFnZDJsc2JDQmlaU0IxYzJWa0lHRnpJR0VnZEdGcGJDQnZaaUIwYUdseklITndjbWx1WnlCaWIyNWxMbHh1SUNBZ0tpQkpkQ0JqWVc0Z1ltVWdiblZzYkNCM2FHVnVJSFJvWlNCemNISnBibWNnWW05dVpTQnBjeUJwYlhCdmNuUmxaQ0JtY205dElGWlNUU0F3TGpBdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2NtVmhaRzl1YkhrZ1kyaHBiR1E2SUZSSVVrVkZMazlpYW1WamRETkVJSHdnYm5Wc2JEdGNibHh1SUNBdktpcGNiaUFnSUNvZ1EzVnljbVZ1ZENCd2IzTnBkR2x2YmlCdlppQmphR2xzWkNCMFlXbHNMQ0JwYmlCalpXNTBaWElnZFc1cGRDNGdWMmxzYkNCaVpTQjFjMlZrSUdadmNpQjJaWEpzWlhRZ2FXNTBaV2R5WVhScGIyNHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjlqZFhKeVpXNTBWR0ZwYkNBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektDazdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGQnlaWFpwYjNWeklIQnZjMmwwYVc5dUlHOW1JR05vYVd4a0lIUmhhV3dzSUdsdUlHTmxiblJsY2lCMWJtbDBMaUJYYVd4c0lHSmxJSFZ6WldRZ1ptOXlJSFpsY214bGRDQnBiblJsWjNKaGRHbHZiaTVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDNCeVpYWlVZV2xzSUQwZ2JtVjNJRlJJVWtWRkxsWmxZM1J2Y2pNb0tUdGNibHh1SUNBdktpcGNiaUFnSUNvZ1NXNXBkR2xoYkNCaGVHbHpJRzltSUhSb1pTQmliMjVsTENCcGJpQnNiMk5oYkNCMWJtbDBMbHh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0JmWW05dVpVRjRhWE1nUFNCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncE8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCTVpXNW5kR2dnYjJZZ2RHaGxJR0p2Ym1VZ2FXNGdkMjl5YkdRZ2RXNXBkQzVjYmlBZ0lDb2dWMmxzYkNCaVpTQjFjMlZrSUdadmNpQnViM0p0WVd4cGVtRjBhVzl1SUdsdUlIVndaR0YwWlNCc2IyOXdMQ0IzYVd4c0lHSmxJSFZ3WkdGMFpXUWdZbmtnZTBCc2FXNXJJRjlqWVd4alYyOXliR1JUY0dGalpVSnZibVZNWlc1bmRHaDlMbHh1SUNBZ0tseHVJQ0FnS2lCSmRDZHpJSE5oYldVZ1lYTWdiRzlqWVd3Z2RXNXBkQ0JzWlc1bmRHZ2dkVzVzWlhOeklIUm9aWEpsSUdGeVpTQnpZMkZzWlNCMGNtRnVjMlp2Y20xaGRHbHZibk1nYVc0Z2RHaGxJSGR2Y214a0lITndZV05sTGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZmQyOXliR1JUY0dGalpVSnZibVZNWlc1bmRHZ2dQU0F3TGpBN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb2FYTWdjM0J5YVc1blltOXVaU0IzYVd4c0lHSmxJR05oYkdOMWJHRjBaV1FnWW1GelpXUWdiMjRnZEdobElITndZV05sSUhKbGJHRjBhWFpsSUdaeWIyMGdkR2hwY3lCdlltcGxZM1F1WEc0Z0lDQXFJRWxtSUhSb2FYTWdhWE1nWUc1MWJHeGdMQ0J6Y0hKcGJtZGliMjVsSUhkcGJHd2dZbVVnWTJGc1kzVnNZWFJsWkNCcGJpQjNiM0pzWkNCemNHRmpaUzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDJObGJuUmxjam9nVkVoU1JVVXVUMkpxWldOME0wUWdmQ0J1ZFd4c0lEMGdiblZzYkR0Y2JpQWdjSFZpYkdsaklHZGxkQ0JqWlc1MFpYSW9LVG9nVkVoU1JVVXVUMkpxWldOME0wUWdmQ0J1ZFd4c0lIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZZMlZ1ZEdWeU8xeHVJQ0I5WEc0Z0lIQjFZbXhwWXlCelpYUWdZMlZ1ZEdWeUtHTmxiblJsY2pvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFnZkNCdWRXeHNLU0I3WEc0Z0lDQWdMeThnZFc1cGJuTjBZV3hzSUdsdWRtVnljMlVnWTJGamFHVmNiaUFnSUNCcFppQW9kR2hwY3k1ZlkyVnVkR1Z5UHk1MWMyVnlSR0YwWVM1cGJuWmxjbk5sUTJGamFHVlFjbTk0ZVNrZ2UxeHVJQ0FnSUNBZ0tIUm9hWE11WDJObGJuUmxjaTUxYzJWeVJHRjBZUzVwYm5abGNuTmxRMkZqYUdWUWNtOTRlU0JoY3lCTllYUnlhWGcwU1c1MlpYSnpaVU5oWTJobEtTNXlaWFpsY25Rb0tUdGNiaUFnSUNBZ0lHUmxiR1YwWlNCMGFHbHpMbDlqWlc1MFpYSXVkWE5sY2tSaGRHRXVhVzUyWlhKelpVTmhZMmhsVUhKdmVIazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdZMmhoYm1kbElIUm9aU0JqWlc1MFpYSmNiaUFnSUNCMGFHbHpMbDlqWlc1MFpYSWdQU0JqWlc1MFpYSTdYRzVjYmlBZ0lDQXZMeUJwYm5OMFlXeHNJR2x1ZG1WeWMyVWdZMkZqYUdWY2JpQWdJQ0JwWmlBb2RHaHBjeTVmWTJWdWRHVnlLU0I3WEc0Z0lDQWdJQ0JwWmlBb0lYUm9hWE11WDJObGJuUmxjaTUxYzJWeVJHRjBZUzVwYm5abGNuTmxRMkZqYUdWUWNtOTRlU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlqWlc1MFpYSXVkWE5sY2tSaGRHRXVhVzUyWlhKelpVTmhZMmhsVUhKdmVIa2dQU0J1WlhjZ1RXRjBjbWw0TkVsdWRtVnljMlZEWVdOb1pTaDBhR2x6TGw5alpXNTBaWEl1YldGMGNtbDRWMjl5YkdRcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpibWwwYVdGc0lITjBZWFJsSUc5bUlIUm9aU0JzYjJOaGJDQnRZWFJ5YVhnZ2IyWWdkR2hsSUdKdmJtVXVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjlwYm1sMGFXRnNURzlqWVd4TllYUnlhWGdnUFNCdVpYY2dWRWhTUlVVdVRXRjBjbWw0TkNncE8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCSmJtbDBhV0ZzSUhOMFlYUmxJRzltSUhSb1pTQnliM1JoZEdsdmJpQnZaaUIwYUdVZ1ltOXVaUzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWDJsdWFYUnBZV3hNYjJOaGJGSnZkR0YwYVc5dUlEMGdibVYzSUZSSVVrVkZMbEYxWVhSbGNtNXBiMjRvS1R0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nU1c1cGRHbGhiQ0J6ZEdGMFpTQnZaaUIwYUdVZ2NHOXphWFJwYjI0Z2IyWWdhWFJ6SUdOb2FXeGtMbHh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0JmYVc1cGRHbGhiRXh2WTJGc1EyaHBiR1JRYjNOcGRHbHZiaUE5SUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrN1hHNGdJSEIxWW14cFl5Qm5aWFFnYVc1cGRHbGhiRXh2WTJGc1EyaHBiR1JRYjNOcGRHbHZiaWdwT2lCVVNGSkZSUzVXWldOMGIzSXpJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYVc1cGRHbGhiRXh2WTJGc1EyaHBiR1JRYjNOcGRHbHZianRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUhSb1pTQjNiM0pzWkNCdFlYUnlhWGdnYjJZZ2FYUnpJSEJoY21WdWRDQnZZbXBsWTNRdVhHNGdJQ0FxSUU1dmRHVWdkR2hoZENCcGRDQnlaWFIxY201eklHRWdjbVZtWlhKbGJtTmxJSFJ2SUhSb1pTQnRZWFJ5YVhndUlFUnZiaWQwSUcxMWRHRjBaU0IwYUdseklHUnBjbVZqZEd4NUlWeHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQm5aWFFnWDNCaGNtVnVkRTFoZEhKcGVGZHZjbXhrS0NrNklGUklVa1ZGTGsxaGRISnBlRFFnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1KdmJtVXVjR0Z5Wlc1MElEOGdkR2hwY3k1aWIyNWxMbkJoY21WdWRDNXRZWFJ5YVhoWGIzSnNaQ0E2SUVsRVJVNVVTVlJaWDAxQlZGSkpXRFE3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdFZ2JtVjNJRlpTVFZOd2NtbHVaMEp2Ym1VdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQmliMjVsSUVGdUlFOWlhbVZqZERORUlIUm9ZWFFnZDJsc2JDQmlaU0JoZEhSaFkyaGxaQ0IwYnlCMGFHbHpJR0p2Ym1WY2JpQWdJQ29nUUhCaGNtRnRJR05vYVd4a0lFRnVJRTlpYW1WamRETkVJSFJvWVhRZ2QybHNiQ0JpWlNCMWMyVmtJR0Z6SUdFZ2RHRnBiQ0J2WmlCMGFHbHpJSE53Y21sdVp5QmliMjVsTGlCSmRDQmpZVzRnWW1VZ2JuVnNiQ0IzYUdWdUlIUm9aU0J6Y0hKcGJtY2dZbTl1WlNCcGN5QnBiWEJ2Y25SbFpDQm1jbTl0SUZaU1RTQXdMakJjYmlBZ0lDb2dRSEJoY21GdElITmxkSFJwYm1keklGTmxkbVZ5WVd3Z2NHRnlZVzFsZEdWeWN5QnlaV3hoZEdWa0lIUnZJR0psYUdGMmFXOXlJRzltSUhSb1pTQnpjSEpwYm1jZ1ltOXVaVnh1SUNBZ0tpQkFjR0Z5WVcwZ1kyOXNiR2xrWlhKSGNtOTFjSE1nUTI5c2JHbGtaWElnWjNKdmRYQnpJSFJvWVhRZ2QybHNiQ0JpWlNCamIyeHNhV1JsWkNCM2FYUm9JSFJvYVhNZ2MzQnlhVzVuSUdKdmJtVmNiaUFnSUNvdlhHNGdJR052Ym5OMGNuVmpkRzl5S0Z4dUlDQWdJR0p2Ym1VNklGUklVa1ZGTGs5aWFtVmpkRE5FTEZ4dUlDQWdJR05vYVd4a09pQlVTRkpGUlM1UFltcGxZM1F6UkNCOElHNTFiR3dzWEc0Z0lDQWdjMlYwZEdsdVozTTZJRkJoY25ScFlXdzhWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBVMlYwZEdsdVozTStJRDBnZTMwc1hHNGdJQ0FnWTI5c2JHbGtaWEpIY205MWNITTZJRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2tkeWIzVndXMTBnUFNCYlhTeGNiaUFnS1NCN1hHNGdJQ0FnZEdocGN5NWliMjVsSUQwZ1ltOXVaVHNnTHk4Z2RXNXBWbEpONDRHbjQ0R3VJSEJoY21WdWRGeHVJQ0FnSUhSb2FYTXVZbTl1WlM1dFlYUnlhWGhCZFhSdlZYQmtZWFJsSUQwZ1ptRnNjMlU3SUM4dklIVndaR0YwWmVPQnErT0NpT09DaXVpb2lPZXVsK09CbGVPQ2pPT0NpK09CcnVPQnAzUm9jbVZsTG1wejVZYUY0NEduNDRHdTZJZXE1WXVWNVllbTU1Q0c0NEd2NUxpTjZLYUJYRzVjYmlBZ0lDQjBhR2x6TG1Ob2FXeGtJRDBnWTJocGJHUTdYRzVjYmlBZ0lDQjBhR2x6TG5ObGRIUnBibWR6SUQwZ2UxeHVJQ0FnSUNBZ2FHbDBVbUZrYVhWek9pQnpaWFIwYVc1bmN5NW9hWFJTWVdScGRYTWdQejhnTUM0d0xGeHVJQ0FnSUNBZ2MzUnBabVp1WlhOek9pQnpaWFIwYVc1bmN5NXpkR2xtWm01bGMzTWdQejhnTVM0d0xGeHVJQ0FnSUNBZ1ozSmhkbWwwZVZCdmQyVnlPaUJ6WlhSMGFXNW5jeTVuY21GMmFYUjVVRzkzWlhJZ1B6OGdNQzR3TEZ4dUlDQWdJQ0FnWjNKaGRtbDBlVVJwY2pvZ2MyVjBkR2x1WjNNdVozSmhkbWwwZVVScGNqOHVZMnh2Ym1Vb0tTQS9QeUJ1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWd3TGpBc0lDMHhMakFzSURBdU1Da3NYRzRnSUNBZ0lDQmtjbUZuUm05eVkyVTZJSE5sZEhScGJtZHpMbVJ5WVdkR2IzSmpaU0EvUHlBd0xqUXNYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lIUm9hWE11WTI5c2JHbGtaWEpIY205MWNITWdQU0JqYjJ4c2FXUmxja2R5YjNWd2N6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJUWlhRZ2RHaGxJR2x1YVhScFlXd2djM1JoZEdVZ2IyWWdkR2hwY3lCemNISnBibWNnWW05dVpTNWNiaUFnSUNvZ1dXOTFJRzFwWjJoMElIZGhiblFnZEc4Z1kyRnNiQ0I3UUd4cGJtc2dWbEpOVTNCeWFXNW5RbTl1WlUxaGJtRm5aWEl1YzJWMFNXNXBkRk4wWVhSbGZTQnBibk4wWldGa0xseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklITmxkRWx1YVhSVGRHRjBaU2dwT2lCMmIybGtJSHRjYmlBZ0lDQXZMeUJ5WlcxbGJXSmxjaUJwYm1sMGFXRnNJSEJ2YzJsMGFXOXVJRzltSUdsMGMyVnNabHh1SUNBZ0lIUm9hWE11WDJsdWFYUnBZV3hNYjJOaGJFMWhkSEpwZUM1amIzQjVLSFJvYVhNdVltOXVaUzV0WVhSeWFYZ3BPMXh1SUNBZ0lIUm9hWE11WDJsdWFYUnBZV3hNYjJOaGJGSnZkR0YwYVc5dUxtTnZjSGtvZEdocGN5NWliMjVsTG5GMVlYUmxjbTVwYjI0cE8xeHVYRzRnSUNBZ0x5OGdjMlZsSUdsdWFYUnBZV3dnY0c5emFYUnBiMjRnYjJZZ2FYUnpJR3h2WTJGc0lHTm9hV3hrWEc0Z0lDQWdhV1lnS0hSb2FYTXVZMmhwYkdRcElIdGNiaUFnSUNBZ0lIUm9hWE11WDJsdWFYUnBZV3hNYjJOaGJFTm9hV3hrVUc5emFYUnBiMjR1WTI5d2VTaDBhR2x6TG1Ob2FXeGtMbkJ2YzJsMGFXOXVLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0x5OGdkbkp0TUNCeVpYRjFhWEpsY3lCaElEZGpiU0JtYVhobFpDQmliMjVsSUd4bGJtZDBhQ0JtYjNJZ2RHaGxJR1pwYm1Gc0lHNXZaR1VnYVc0Z1lTQmphR0ZwYmx4dUlDQWdJQ0FnTHk4Z1UyVmxPaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2ZG5KdExXTXZkbkp0TFhOd1pXTnBabWxqWVhScGIyNHZkSEpsWlM5dFlYTjBaWEl2YzNCbFkybG1hV05oZEdsdmJpOVdVazFEWDNOd2NtbHVaMEp2Ym1VdE1TNHdJMkZpYjNWMExYTndjbWx1WnkxamIyNW1hV2QxY21GMGFXOXVYRzRnSUNBZ0lDQjBhR2x6TGw5cGJtbDBhV0ZzVEc5allXeERhR2xzWkZCdmMybDBhVzl1TG1OdmNIa29kR2hwY3k1aWIyNWxMbkJ2YzJsMGFXOXVLUzV1YjNKdFlXeHBlbVVvS1M1dGRXeDBhWEJzZVZOallXeGhjaWd3TGpBM0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmpiM0I1SUhSb1pTQmphR2xzWkNCd2IzTnBkR2x2YmlCMGJ5QjBZV2xzYzF4dUlDQWdJR052Ym5OMElHMWhkSEpwZUZkdmNteGtWRzlEWlc1MFpYSWdQU0IwYUdsekxsOW5aWFJOWVhSeWFYaFhiM0pzWkZSdlEyVnVkR1Z5S0Y5dFlYUkJLVHRjYmlBZ0lDQjBhR2x6TG1KdmJtVXViRzlqWVd4VWIxZHZjbXhrS0hSb2FYTXVYMk4xY25KbGJuUlVZV2xzTG1OdmNIa29kR2hwY3k1ZmFXNXBkR2xoYkV4dlkyRnNRMmhwYkdSUWIzTnBkR2x2YmlrcExtRndjR3g1VFdGMGNtbDROQ2h0WVhSeWFYaFhiM0pzWkZSdlEyVnVkR1Z5S1R0Y2JpQWdJQ0IwYUdsekxsOXdjbVYyVkdGcGJDNWpiM0I1S0hSb2FYTXVYMk4xY25KbGJuUlVZV2xzS1R0Y2JseHVJQ0FnSUM4dklITmxkQ0JwYm1sMGFXRnNJSE4wWVhSbGN5QjBhR0YwSUdGeVpTQnlaV3hoZEdWa0lIUnZJR3h2WTJGc0lHTm9hV3hrSUhCdmMybDBhVzl1WEc0Z0lDQWdkR2hwY3k1ZlltOXVaVUY0YVhNdVkyOXdlU2gwYUdsekxsOXBibWwwYVdGc1RHOWpZV3hEYUdsc1pGQnZjMmwwYVc5dUtTNXViM0p0WVd4cGVtVW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYTmxkQ0IwYUdVZ2MzUmhkR1VnYjJZZ2RHaHBjeUJpYjI1bExseHVJQ0FnS2lCWmIzVWdiV2xuYUhRZ2QyRnVkQ0IwYnlCallXeHNJRnRiVmxKTlUzQnlhVzVuUW05dVpVMWhibUZuWlhJdWNtVnpaWFJkWFNCcGJuTjBaV0ZrTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUhKbGMyVjBLQ2s2SUhadmFXUWdlMXh1SUNBZ0lIUm9hWE11WW05dVpTNXhkV0YwWlhKdWFXOXVMbU52Y0hrb2RHaHBjeTVmYVc1cGRHbGhiRXh2WTJGc1VtOTBZWFJwYjI0cE8xeHVYRzRnSUNBZ0x5OGdWMlVnYm1WbFpDQjBieUIxY0dSaGRHVWdhWFJ6SUcxaGRISnBlRmR2Y214a0lHMWhiblZoYkd4NUxDQnphVzVqWlNCM1pTQjBkMlZoYTJWa0lIUm9aU0JpYjI1bElHSjVJRzkxY2lCb1lXNWtYRzRnSUNBZ2RHaHBjeTVpYjI1bExuVndaR0YwWlUxaGRISnBlQ2dwTzF4dUlDQWdJSFJvYVhNdVltOXVaUzV0WVhSeWFYaFhiM0pzWkM1dGRXeDBhWEJzZVUxaGRISnBZMlZ6S0hSb2FYTXVYM0JoY21WdWRFMWhkSEpwZUZkdmNteGtMQ0IwYUdsekxtSnZibVV1YldGMGNtbDRLVHRjYmx4dUlDQWdJQzh2SUVGd2NHeDVJSFZ3WkdGMFpXUWdjRzl6YVhScGIyNGdkRzhnZEdGcGJDQnpkR0YwWlhOY2JpQWdJQ0JqYjI1emRDQnRZWFJ5YVhoWGIzSnNaRlJ2UTJWdWRHVnlJRDBnZEdocGN5NWZaMlYwVFdGMGNtbDRWMjl5YkdSVWIwTmxiblJsY2loZmJXRjBRU2s3WEc0Z0lDQWdkR2hwY3k1aWIyNWxMbXh2WTJGc1ZHOVhiM0pzWkNoMGFHbHpMbDlqZFhKeVpXNTBWR0ZwYkM1amIzQjVLSFJvYVhNdVgybHVhWFJwWVd4TWIyTmhiRU5vYVd4a1VHOXphWFJwYjI0cEtTNWhjSEJzZVUxaGRISnBlRFFvYldGMGNtbDRWMjl5YkdSVWIwTmxiblJsY2lrN1hHNGdJQ0FnZEdocGN5NWZjSEpsZGxSaGFXd3VZMjl3ZVNoMGFHbHpMbDlqZFhKeVpXNTBWR0ZwYkNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWWEJrWVhSbElIUm9aU0J6ZEdGMFpTQnZaaUIwYUdseklHSnZibVV1WEc0Z0lDQXFJRmx2ZFNCdGFXZG9kQ0IzWVc1MElIUnZJR05oYkd3Z1cxdFdVazFUY0hKcGJtZENiMjVsVFdGdVlXZGxjaTUxY0dSaGRHVmRYU0JwYm5OMFpXRmtMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnWkdWc2RHRWdaR1ZzZEdGVWFXMWxYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdkWEJrWVhSbEtHUmxiSFJoT2lCdWRXMWlaWElwT2lCMmIybGtJSHRjYmlBZ0lDQnBaaUFvWkdWc2RHRWdQRDBnTUNrZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnTHk4Z1ZYQmtZWFJsSUhSb1pTQmZkMjl5YkdSVGNHRmpaVUp2Ym1WTVpXNW5kR2hjYmlBZ0lDQjBhR2x6TGw5allXeGpWMjl5YkdSVGNHRmpaVUp2Ym1WTVpXNW5kR2dvS1R0Y2JseHVJQ0FnSUM4dklFZGxkQ0JpYjI1bElIQnZjMmwwYVc5dUlHbHVJR05sYm5SbGNpQnpjR0ZqWlZ4dUlDQWdJRjkzYjNKc1pGTndZV05sVUc5emFYUnBiMjR1YzJWMFJuSnZiVTFoZEhKcGVGQnZjMmwwYVc5dUtIUm9hWE11WW05dVpTNXRZWFJ5YVhoWGIzSnNaQ2s3WEc0Z0lDQWdiR1YwSUcxaGRISnBlRmR2Y214a1ZHOURaVzUwWlhJZ1BTQjBhR2x6TGw5blpYUk5ZWFJ5YVhoWGIzSnNaRlJ2UTJWdWRHVnlLRjl0WVhSQktUdGNiaUFnSUNCZlkyVnVkR1Z5VTNCaFkyVlFiM05wZEdsdmJpNWpiM0I1S0Y5M2IzSnNaRk53WVdObFVHOXphWFJwYjI0cExtRndjR3g1VFdGMGNtbDROQ2h0WVhSeWFYaFhiM0pzWkZSdlEyVnVkR1Z5S1R0Y2JpQWdJQ0JqYjI1emRDQnhkV0YwVjI5eWJHUlViME5sYm5SbGNpQTlJRjl4ZFdGMFFTNXpaWFJHY205dFVtOTBZWFJwYjI1TllYUnlhWGdvYldGMGNtbDRWMjl5YkdSVWIwTmxiblJsY2lrN1hHNWNiaUFnSUNBdkx5QkhaWFFnY0dGeVpXNTBJRzFoZEhKcGVDQnBiaUJqWlc1MFpYSWdjM0JoWTJWY2JpQWdJQ0JqYjI1emRDQmpaVzUwWlhKVGNHRmpaVkJoY21WdWRFMWhkSEpwZUNBOUlGOXRZWFJDTG1OdmNIa29iV0YwY21sNFYyOXliR1JVYjBObGJuUmxjaWt1YlhWc2RHbHdiSGtvZEdocGN5NWZjR0Z5Wlc1MFRXRjBjbWw0VjI5eWJHUXBPMXh1WEc0Z0lDQWdMeThnUjJWMElHSnZibVZCZUdseklHbHVJR05sYm5SbGNpQnpjR0ZqWlZ4dUlDQWdJR052Ym5OMElHTmxiblJsY2xOd1lXTmxRbTl1WlVGNGFYTWdQU0JmZGpOQ1hHNGdJQ0FnSUNBdVkyOXdlU2gwYUdsekxsOWliMjVsUVhocGN5bGNiaUFnSUNBZ0lDNWhjSEJzZVUxaGRISnBlRFFvZEdocGN5NWZhVzVwZEdsaGJFeHZZMkZzVFdGMGNtbDRLVnh1SUNBZ0lDQWdMbUZ3Y0d4NVRXRjBjbWw0TkNoalpXNTBaWEpUY0dGalpWQmhjbVZ1ZEUxaGRISnBlQ2xjYmlBZ0lDQWdJQzV6ZFdJb1gyTmxiblJsY2xOd1lXTmxVRzl6YVhScGIyNHBYRzRnSUNBZ0lDQXVibTl5YldGc2FYcGxLQ2s3WEc1Y2JpQWdJQ0F2THlCbmNtRjJhWFI1SUdsdUlHTmxiblJsY2lCemNHRmpaVnh1SUNBZ0lHTnZibk4wSUdObGJuUmxjbE53WVdObFIzSmhkbWwwZVNBOUlGOTJNME11WTI5d2VTaDBhR2x6TG5ObGRIUnBibWR6TG1keVlYWnBkSGxFYVhJcExtRndjR3g1VVhWaGRHVnlibWx2YmloeGRXRjBWMjl5YkdSVWIwTmxiblJsY2lrdWJtOXliV0ZzYVhwbEtDazdYRzVjYmlBZ0lDQmpiMjV6ZENCdFlYUnlhWGhEWlc1MFpYSlViMWR2Y214a0lEMGdkR2hwY3k1ZloyVjBUV0YwY21sNFEyVnVkR1Z5Vkc5WGIzSnNaQ2hmYldGMFFTazdYRzVjYmlBZ0lDQXZMeUIyWlhKc1pYVG5xWTNsaUliamdhZm1yS0hqZ2E3a3ZZM252YTdqZ3BMb3FJam5ycGRjYmlBZ0lDQmZibVY0ZEZSaGFXeGNiaUFnSUNBZ0lDNWpiM0I1S0hSb2FYTXVYMk4xY25KbGJuUlVZV2xzS1Z4dUlDQWdJQ0FnTG1Ga1pDaGNiaUFnSUNBZ0lDQWdYM1l6UVZ4dUlDQWdJQ0FnSUNBZ0lDNWpiM0I1S0hSb2FYTXVYMk4xY25KbGJuUlVZV2xzS1Z4dUlDQWdJQ0FnSUNBZ0lDNXpkV0lvZEdocGN5NWZjSEpsZGxSaGFXd3BYRzRnSUNBZ0lDQWdJQ0FnTG0xMWJIUnBjR3g1VTJOaGJHRnlLREVnTFNCMGFHbHpMbk5sZEhScGJtZHpMbVJ5WVdkR2IzSmpaU2tzWEc0Z0lDQWdJQ0FwSUM4dklPV0pqZU9EbGVPRHJPT0R2T09Eb09PQnJ1ZW51K1dMbGVPQ2t1ZTJtZWUybXVPQm1lT0NpeWptdUp2b29iRGpnb0xqZ1lMamdvdmpnb2dwWEc0Z0lDQWdJQ0F1WVdSa0tGOTJNMEV1WTI5d2VTaGpaVzUwWlhKVGNHRmpaVUp2Ym1WQmVHbHpLUzV0ZFd4MGFYQnNlVk5qWVd4aGNpaDBhR2x6TG5ObGRIUnBibWR6TG5OMGFXWm1ibVZ6Y3lBcUlHUmxiSFJoS1NrZ0x5OGc2S2FxNDRHdTVadWU2THVpNDRHcjQ0S0k0NEtMNWEyUTQ0T2M0NE84NDRPejQ0R3U1NmU3NVl1VjU1dXU1cWlaWEc0Z0lDQWdJQ0F1WVdSa0tGOTJNMEV1WTI5d2VTaGpaVzUwWlhKVGNHRmpaVWR5WVhacGRIa3BMbTExYkhScGNHeDVVMk5oYkdGeUtIUm9hWE11YzJWMGRHbHVaM011WjNKaGRtbDBlVkJ2ZDJWeUlDb2daR1ZzZEdFcEtTQXZMeURscEpibGlwdmpnYXZqZ29qamdvdm5wN3ZsaTVYcGg0OWNiaUFnSUNBZ0lDNWhjSEJzZVUxaGRISnBlRFFvYldGMGNtbDRRMlZ1ZEdWeVZHOVhiM0pzWkNrN0lDOHZJSFJoYVd6amdwSjNiM0pzWkNCemNHRmpaZU9CcSthSXUrT0JtVnh1WEc0Z0lDQWdMeThnYm05eWJXRnNhWHBsSUdKdmJtVWdiR1Z1WjNSb1hHNGdJQ0FnWDI1bGVIUlVZV2xzTG5OMVlpaGZkMjl5YkdSVGNHRmpaVkJ2YzJsMGFXOXVLUzV1YjNKdFlXeHBlbVVvS1M1dGRXeDBhWEJzZVZOallXeGhjaWgwYUdsekxsOTNiM0pzWkZOd1lXTmxRbTl1WlV4bGJtZDBhQ2t1WVdSa0tGOTNiM0pzWkZOd1lXTmxVRzl6YVhScGIyNHBPMXh1WEc0Z0lDQWdMeThnUTI5c2JHbHphVzl1NDRHbjU2ZTc1WXVWWEc0Z0lDQWdkR2hwY3k1ZlkyOXNiR2x6YVc5dUtGOXVaWGgwVkdGcGJDazdYRzVjYmlBZ0lDQXZMeUIxY0dSaGRHVWdjSEpsZGxSaGFXd2dZVzVrSUdOMWNuSmxiblJVWVdsc1hHNGdJQ0FnYldGMGNtbDRWMjl5YkdSVWIwTmxiblJsY2lBOUlIUm9hWE11WDJkbGRFMWhkSEpwZUZkdmNteGtWRzlEWlc1MFpYSW9YMjFoZEVFcE8xeHVYRzRnSUNBZ2RHaHBjeTVmY0hKbGRsUmhhV3d1WTI5d2VTaDBhR2x6TGw5amRYSnlaVzUwVkdGcGJDazdYRzRnSUNBZ2RHaHBjeTVmWTNWeWNtVnVkRlJoYVd3dVkyOXdlU2hmZGpOQkxtTnZjSGtvWDI1bGVIUlVZV2xzS1M1aGNIQnNlVTFoZEhKcGVEUW9iV0YwY21sNFYyOXliR1JVYjBObGJuUmxjaWtwTzF4dVhHNGdJQ0FnTHk4Z1FYQndiSGtnY205MFlYUnBiMjRzSUdOdmJuWmxjblFnZG1WamRHOXlNeUIwYUdsdVp5QnBiblJ2SUdGamRIVmhiQ0J4ZFdGMFpYSnVhVzl1WEc0Z0lDQWdMeThnVDNKcFoybHVZV3dnVlc1cFZsSk5JR2x6SUdSdmFXNW5JR05sYm5SbGNpQjFibWwwSUdOaGJHTjFiSFZ6SUdGMElHaGxjbVVnWW5WMElIZGxKM0psSUdkdmJtNWhJR1J2SUhSb2FYTWdiMjRnYkc5allXd2dkVzVwZEZ4dUlDQWdJR052Ym5OMElIZHZjbXhrVTNCaFkyVkpibWwwYVdGc1RXRjBjbWw0U1c1MklEMGdiV0YwTkVsdWRtVnlkRU52YlhCaGRDaGNiaUFnSUNBZ0lGOXRZWFJCTG1OdmNIa29kR2hwY3k1ZmNHRnlaVzUwVFdGMGNtbDRWMjl5YkdRcExtMTFiSFJwY0d4NUtIUm9hWE11WDJsdWFYUnBZV3hNYjJOaGJFMWhkSEpwZUNrc1hHNGdJQ0FnS1R0Y2JpQWdJQ0JqYjI1emRDQmhjSEJzZVZKdmRHRjBhVzl1SUQwZ1gzRjFZWFJCTG5ObGRFWnliMjFWYm1sMFZtVmpkRzl5Y3loY2JpQWdJQ0FnSUhSb2FYTXVYMkp2Ym1WQmVHbHpMRnh1SUNBZ0lDQWdYM1l6UVM1amIzQjVLRjl1WlhoMFZHRnBiQ2t1WVhCd2JIbE5ZWFJ5YVhnMEtIZHZjbXhrVTNCaFkyVkpibWwwYVdGc1RXRjBjbWw0U1c1MktTNXViM0p0WVd4cGVtVW9LU3hjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdkR2hwY3k1aWIyNWxMbkYxWVhSbGNtNXBiMjR1WTI5d2VTaDBhR2x6TGw5cGJtbDBhV0ZzVEc5allXeFNiM1JoZEdsdmJpa3ViWFZzZEdsd2JIa29ZWEJ3YkhsU2IzUmhkR2x2YmlrN1hHNWNiaUFnSUNBdkx5QlhaU0J1WldWa0lIUnZJSFZ3WkdGMFpTQnBkSE1nYldGMGNtbDRWMjl5YkdRZ2JXRnVkV0ZzYkhrc0lITnBibU5sSUhkbElIUjNaV0ZyWldRZ2RHaGxJR0p2Ym1VZ1lua2diM1Z5SUdoaGJtUmNiaUFnSUNCMGFHbHpMbUp2Ym1VdWRYQmtZWFJsVFdGMGNtbDRLQ2s3WEc0Z0lDQWdkR2hwY3k1aWIyNWxMbTFoZEhKcGVGZHZjbXhrTG0xMWJIUnBjR3g1VFdGMGNtbGpaWE1vZEdocGN5NWZjR0Z5Wlc1MFRXRjBjbWw0VjI5eWJHUXNJSFJvYVhNdVltOXVaUzV0WVhSeWFYZ3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVSdklHTnZiR3hwYzJsdmJpQnRZWFJvSUdGbllXbHVjM1FnWlhabGNua2dZMjlzYkdsa1pYSnpJR0YwZEdGamFHVmtJSFJ2SUhSb2FYTWdZbTl1WlM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIUmhhV3dnVkdobElIUmhhV3dnZVc5MUlIZGhiblFnZEc4Z2NISnZZMlZ6YzF4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZlkyOXNiR2x6YVc5dUtIUmhhV3c2SUZSSVVrVkZMbFpsWTNSdmNqTXBPaUIyYjJsa0lIdGNiaUFnSUNCMGFHbHpMbU52Ykd4cFpHVnlSM0p2ZFhCekxtWnZja1ZoWTJnb0tHTnZiR3hwWkdWeVIzSnZkWEFwSUQwK0lIdGNiaUFnSUNBZ0lHTnZiR3hwWkdWeVIzSnZkWEF1WTI5c2JHbGtaWEp6TG1admNrVmhZMmdvS0dOdmJHeHBaR1Z5S1NBOVBpQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHUnBjM1FnUFNCamIyeHNhV1JsY2k1emFHRndaUzVqWVd4amRXeGhkR1ZEYjJ4c2FYTnBiMjRvWTI5c2JHbGtaWEl1YldGMGNtbDRWMjl5YkdRc0lIUmhhV3dzSUhSb2FYTXVjMlYwZEdsdVozTXVhR2wwVW1Ga2FYVnpMQ0JmZGpOQktUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1pHbHpkQ0E4SURBdU1Da2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklHaHBkRnh1SUNBZ0lDQWdJQ0FnSUhSaGFXd3VZV1JrS0Y5Mk0wRXViWFZzZEdsd2JIbFRZMkZzWVhJb0xXUnBjM1FwS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQzh2SUc1dmNtMWhiR2w2WlNCaWIyNWxJR3hsYm1kMGFGeHVJQ0FnSUNBZ0lDQWdJSFJoYVd3dWMzVmlLRjkzYjNKc1pGTndZV05sVUc5emFYUnBiMjRwTG01dmNtMWhiR2w2WlNncExtMTFiSFJwY0d4NVUyTmhiR0Z5S0hSb2FYTXVYM2R2Y214a1UzQmhZMlZDYjI1bFRHVnVaM1JvS1M1aFpHUW9YM2R2Y214a1UzQmhZMlZRYjNOcGRHbHZiaWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU5oYkdOMWJHRjBaU0IwYUdVZ2UwQnNhVzVySUY5M2IzSnNaRk53WVdObFFtOXVaVXhsYm1kMGFIMHVYRzRnSUNBcUlFbHVkR1Z1WkdWa0lIUnZJR0psSUhWelpXUWdhVzRnZTBCc2FXNXJJSFZ3WkdGMFpYMHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjlqWVd4alYyOXliR1JUY0dGalpVSnZibVZNWlc1bmRHZ29LVG9nZG05cFpDQjdYRzRnSUNBZ1gzWXpRUzV6WlhSR2NtOXRUV0YwY21sNFVHOXphWFJwYjI0b2RHaHBjeTVpYjI1bExtMWhkSEpwZUZkdmNteGtLVHNnTHk4Z1oyVjBJSGR2Y214a0lIQnZjMmwwYVc5dUlHOW1JSFJvYVhNdVltOXVaVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVZMmhwYkdRcElIdGNiaUFnSUNBZ0lGOTJNMEl1YzJWMFJuSnZiVTFoZEhKcGVGQnZjMmwwYVc5dUtIUm9hWE11WTJocGJHUXViV0YwY21sNFYyOXliR1FwT3lBdkx5Qm5aWFFnZDI5eWJHUWdjRzl6YVhScGIyNGdiMllnZEdocGN5NWphR2xzWkZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmZkak5DTG1OdmNIa29kR2hwY3k1ZmFXNXBkR2xoYkV4dlkyRnNRMmhwYkdSUWIzTnBkR2x2YmlrN1hHNGdJQ0FnSUNCZmRqTkNMbUZ3Y0d4NVRXRjBjbWw0TkNoMGFHbHpMbUp2Ym1VdWJXRjBjbWw0VjI5eWJHUXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11WDNkdmNteGtVM0JoWTJWQ2IyNWxUR1Z1WjNSb0lEMGdYM1l6UVM1emRXSW9YM1l6UWlrdWJHVnVaM1JvS0NrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdiV0YwY21sNElIUm9ZWFFnWTI5dWRtVnlkSE1nWTJWdWRHVnlJSE53WVdObElHbHVkRzhnZDI5eWJHUWdjM0JoWTJVdVhHNGdJQ0FxSUVCd1lYSmhiU0IwWVhKblpYUWdWR0Z5WjJWMElHMWhkSEpwZUZ4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCZloyVjBUV0YwY21sNFEyVnVkR1Z5Vkc5WGIzSnNaQ2gwWVhKblpYUTZJRlJJVWtWRkxrMWhkSEpwZURRcE9pQlVTRkpGUlM1TllYUnlhWGcwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmWTJWdWRHVnlLU0I3WEc0Z0lDQWdJQ0IwWVhKblpYUXVZMjl3ZVNoMGFHbHpMbDlqWlc1MFpYSXViV0YwY21sNFYyOXliR1FwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQjBZWEpuWlhRdWFXUmxiblJwZEhrb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdGeVoyVjBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaU0JoSUcxaGRISnBlQ0IwYUdGMElHTnZiblpsY25SeklIZHZjbXhrSUhOd1lXTmxJR2x1ZEc4Z1kyVnVkR1Z5SUhOd1lXTmxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2RHRnlaMlYwSUZSaGNtZGxkQ0J0WVhSeWFYaGNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdYMmRsZEUxaGRISnBlRmR2Y214a1ZHOURaVzUwWlhJb2RHRnlaMlYwT2lCVVNGSkZSUzVOWVhSeWFYZzBLVG9nVkVoU1JVVXVUV0YwY21sNE5DQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdVgyTmxiblJsY2lrZ2UxeHVJQ0FnSUNBZ2RHRnlaMlYwTG1OdmNIa29LSFJvYVhNdVgyTmxiblJsY2k1MWMyVnlSR0YwWVM1cGJuWmxjbk5sUTJGamFHVlFjbTk0ZVNCaGN5Qk5ZWFJ5YVhnMFNXNTJaWEp6WlVOaFkyaGxLUzVwYm5abGNuTmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHRnlaMlYwTG1sa1pXNTBhWFI1S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJoY21kbGREdGNiaUFnZlZ4dWZWeHVJaXdpTHlvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLbHh5WEc1RGIzQjVjbWxuYUhRZ0tHTXBJRTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2Ymk1Y2NseHVYSEpjYmxCbGNtMXBjM05wYjI0Z2RHOGdkWE5sTENCamIzQjVMQ0J0YjJScFpua3NJR0Z1WkM5dmNpQmthWE4wY21saWRYUmxJSFJvYVhNZ2MyOW1kSGRoY21VZ1ptOXlJR0Z1ZVZ4eVhHNXdkWEp3YjNObElIZHBkR2dnYjNJZ2QybDBhRzkxZENCbVpXVWdhWE1nYUdWeVpXSjVJR2R5WVc1MFpXUXVYSEpjYmx4eVhHNVVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUlFRk9SQ0JVU0VVZ1FWVlVTRTlTSUVSSlUwTk1RVWxOVXlCQlRFd2dWMEZTVWtGT1ZFbEZVeUJYU1ZSSVhISmNibEpGUjBGU1JDQlVUeUJVU0VsVElGTlBSbFJYUVZKRklFbE9RMHhWUkVsT1J5QkJURXdnU1UxUVRFbEZSQ0JYUVZKU1FVNVVTVVZUSUU5R0lFMUZVa05JUVU1VVFVSkpURWxVV1Z4eVhHNUJUa1FnUmtsVVRrVlRVeTRnU1U0Z1RrOGdSVlpGVGxRZ1UwaEJURXdnVkVoRklFRlZWRWhQVWlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCVFVFVkRTVUZNTENCRVNWSkZRMVFzWEhKY2JrbE9SRWxTUlVOVUxDQlBVaUJEVDA1VFJWRlZSVTVVU1VGTUlFUkJUVUZIUlZNZ1QxSWdRVTVaSUVSQlRVRkhSVk1nVjBoQlZGTlBSVlpGVWlCU1JWTlZURlJKVGtjZ1JsSlBUVnh5WEc1TVQxTlRJRTlHSUZWVFJTd2dSRUZVUVNCUFVpQlFVazlHU1ZSVExDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1RrVkhURWxIUlU1RFJTQlBVbHh5WEc1UFZFaEZVaUJVVDFKVVNVOVZVeUJCUTFSSlQwNHNJRUZTU1ZOSlRrY2dUMVZVSUU5R0lFOVNJRWxPSUVOUFRrNUZRMVJKVDA0Z1YwbFVTQ0JVU0VVZ1ZWTkZJRTlTWEhKY2JsQkZVa1pQVWsxQlRrTkZJRTlHSUZSSVNWTWdVMDlHVkZkQlVrVXVYSEpjYmlvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FJQ292WEhKY2JpOHFJR2RzYjJKaGJDQlNaV1pzWldOMExDQlFjbTl0YVhObElDb3ZYSEpjYmx4eVhHNTJZWElnWlhoMFpXNWtVM1JoZEdsamN5QTlJR1oxYm1OMGFXOXVLR1FzSUdJcElIdGNjbHh1SUNBZ0lHVjRkR1Z1WkZOMFlYUnBZM01nUFNCUFltcGxZM1F1YzJWMFVISnZkRzkwZVhCbFQyWWdmSHhjY2x4dUlDQWdJQ0FnSUNBb2V5QmZYM0J5YjNSdlgxODZJRnRkSUgwZ2FXNXpkR0Z1WTJWdlppQkJjbkpoZVNBbUppQm1kVzVqZEdsdmJpQW9aQ3dnWWlrZ2V5QmtMbDlmY0hKdmRHOWZYeUE5SUdJN0lIMHBJSHg4WEhKY2JpQWdJQ0FnSUNBZ1puVnVZM1JwYjI0Z0tHUXNJR0lwSUhzZ1ptOXlJQ2gyWVhJZ2NDQnBiaUJpS1NCcFppQW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLR0lzSUhBcEtTQmtXM0JkSUQwZ1lsdHdYVHNnZlR0Y2NseHVJQ0FnSUhKbGRIVnliaUJsZUhSbGJtUlRkR0YwYVdOektHUXNJR0lwTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaWGgwWlc1a2N5aGtMQ0JpS1NCN1hISmNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHSWdJVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQW1KaUJpSUNFOVBTQnVkV3hzS1Z4eVhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEYkdGemN5QmxlSFJsYm1SeklIWmhiSFZsSUZ3aUlDc2dVM1J5YVc1bktHSXBJQ3NnWENJZ2FYTWdibTkwSUdFZ1kyOXVjM1J5ZFdOMGIzSWdiM0lnYm5Wc2JGd2lLVHRjY2x4dUlDQWdJR1Y0ZEdWdVpGTjBZWFJwWTNNb1pDd2dZaWs3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJmWHlncElIc2dkR2hwY3k1amIyNXpkSEoxWTNSdmNpQTlJR1E3SUgxY2NseHVJQ0FnSUdRdWNISnZkRzkwZVhCbElEMGdZaUE5UFQwZ2JuVnNiQ0EvSUU5aWFtVmpkQzVqY21WaGRHVW9ZaWtnT2lBb1gxOHVjSEp2ZEc5MGVYQmxJRDBnWWk1d2NtOTBiM1I1Y0dVc0lHNWxkeUJmWHlncEtUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJSFpoY2lCZlgyRnpjMmxuYmlBOUlHWjFibU4wYVc5dUtDa2dlMXh5WEc0Z0lDQWdYMTloYzNOcFoyNGdQU0JQWW1wbFkzUXVZWE56YVdkdUlIeDhJR1oxYm1OMGFXOXVJRjlmWVhOemFXZHVLSFFwSUh0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnpMQ0JwSUQwZ01Td2diaUE5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2c3SUdrZ1BDQnVPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2N5QTlJR0Z5WjNWdFpXNTBjMXRwWFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQnpLU0JwWmlBb1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tITXNJSEFwS1NCMFczQmRJRDBnYzF0d1hUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhRN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCeVpYUjFjbTRnWDE5aGMzTnBaMjR1WVhCd2JIa29kR2hwY3l3Z1lYSm5kVzFsYm5SektUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmY21WemRDaHpMQ0JsS1NCN1hISmNiaUFnSUNCMllYSWdkQ0E5SUh0OU8xeHlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2NDQnBiaUJ6S1NCcFppQW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLSE1zSUhBcElDWW1JR1V1YVc1a1pYaFBaaWh3S1NBOElEQXBYSEpjYmlBZ0lDQWdJQ0FnZEZ0d1hTQTlJSE5iY0YwN1hISmNiaUFnSUNCcFppQW9jeUFoUFNCdWRXeHNJQ1ltSUhSNWNHVnZaaUJQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6SUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lwWEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUhBZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpLSE1wT3lCcElEd2djQzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aUzVwYm1SbGVFOW1LSEJiYVYwcElEd2dNQ0FtSmlCUFltcGxZM1F1Y0hKdmRHOTBlWEJsTG5CeWIzQmxjblI1U1hORmJuVnRaWEpoWW14bExtTmhiR3dvY3l3Z2NGdHBYU2twWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMFczQmJhVjFkSUQwZ2MxdHdXMmxkWFR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQnlaWFIxY200Z2REdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWkdWamIzSmhkR1VvWkdWamIzSmhkRzl5Y3l3Z2RHRnlaMlYwTENCclpYa3NJR1JsYzJNcElIdGNjbHh1SUNBZ0lIWmhjaUJqSUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUN3Z2NpQTlJR01nUENBeklEOGdkR0Z5WjJWMElEb2daR1Z6WXlBOVBUMGdiblZzYkNBL0lHUmxjMk1nUFNCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLSFJoY21kbGRDd2dhMlY1S1NBNklHUmxjMk1zSUdRN1hISmNiaUFnSUNCcFppQW9kSGx3Wlc5bUlGSmxabXhsWTNRZ1BUMDlJRndpYjJKcVpXTjBYQ0lnSmlZZ2RIbHdaVzltSUZKbFpteGxZM1F1WkdWamIzSmhkR1VnUFQwOUlGd2lablZ1WTNScGIyNWNJaWtnY2lBOUlGSmxabXhsWTNRdVpHVmpiM0poZEdVb1pHVmpiM0poZEc5eWN5d2dkR0Z5WjJWMExDQnJaWGtzSUdSbGMyTXBPMXh5WEc0Z0lDQWdaV3h6WlNCbWIzSWdLSFpoY2lCcElEMGdaR1ZqYjNKaGRHOXljeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dhV1lnS0dRZ1BTQmtaV052Y21GMGIzSnpXMmxkS1NCeUlEMGdLR01nUENBeklEOGdaQ2h5S1NBNklHTWdQaUF6SUQ4Z1pDaDBZWEpuWlhRc0lHdGxlU3dnY2lrZ09pQmtLSFJoY21kbGRDd2dhMlY1S1NrZ2ZId2djanRjY2x4dUlDQWdJSEpsZEhWeWJpQmpJRDRnTXlBbUppQnlJQ1ltSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDBZWEpuWlhRc0lHdGxlU3dnY2lrc0lISTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNCaGNtRnRLSEJoY21GdFNXNWtaWGdzSUdSbFkyOXlZWFJ2Y2lrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUNoMFlYSm5aWFFzSUd0bGVTa2dleUJrWldOdmNtRjBiM0lvZEdGeVoyVjBMQ0JyWlhrc0lIQmhjbUZ0U1c1a1pYZ3BPeUI5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVnpSR1ZqYjNKaGRHVW9ZM1J2Y2l3Z1pHVnpZM0pwY0hSdmNrbHVMQ0JrWldOdmNtRjBiM0p6TENCamIyNTBaWGgwU1c0c0lHbHVhWFJwWVd4cGVtVnljeXdnWlhoMGNtRkpibWwwYVdGc2FYcGxjbk1wSUh0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUdGalkyVndkQ2htS1NCN0lHbG1JQ2htSUNFOVBTQjJiMmxrSURBZ0ppWWdkSGx3Wlc5bUlHWWdJVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtaMWJtTjBhVzl1SUdWNGNHVmpkR1ZrWENJcE95QnlaWFIxY200Z1pqc2dmVnh5WEc0Z0lDQWdkbUZ5SUd0cGJtUWdQU0JqYjI1MFpYaDBTVzR1YTJsdVpDd2dhMlY1SUQwZ2EybHVaQ0E5UFQwZ1hDSm5aWFIwWlhKY0lpQS9JRndpWjJWMFhDSWdPaUJyYVc1a0lEMDlQU0JjSW5ObGRIUmxjbHdpSUQ4Z1hDSnpaWFJjSWlBNklGd2lkbUZzZFdWY0lqdGNjbHh1SUNBZ0lIWmhjaUIwWVhKblpYUWdQU0FoWkdWelkzSnBjSFJ2Y2tsdUlDWW1JR04wYjNJZ1B5QmpiMjUwWlhoMFNXNWJYQ0p6ZEdGMGFXTmNJbDBnUHlCamRHOXlJRG9nWTNSdmNpNXdjbTkwYjNSNWNHVWdPaUJ1ZFd4c08xeHlYRzRnSUNBZ2RtRnlJR1JsYzJOeWFYQjBiM0lnUFNCa1pYTmpjbWx3ZEc5eVNXNGdmSHdnS0hSaGNtZGxkQ0EvSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9kR0Z5WjJWMExDQmpiMjUwWlhoMFNXNHVibUZ0WlNrZ09pQjdmU2s3WEhKY2JpQWdJQ0IyWVhJZ1h5d2daRzl1WlNBOUlHWmhiSE5sTzF4eVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlHUmxZMjl5WVhSdmNuTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1kyOXVkR1Y0ZENBOUlIdDlPMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUhBZ2FXNGdZMjl1ZEdWNGRFbHVLU0JqYjI1MFpYaDBXM0JkSUQwZ2NDQTlQVDBnWENKaFkyTmxjM05jSWlBL0lIdDlJRG9nWTI5dWRHVjRkRWx1VzNCZE8xeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z1kyOXVkR1Y0ZEVsdUxtRmpZMlZ6Y3lrZ1kyOXVkR1Y0ZEM1aFkyTmxjM05iY0YwZ1BTQmpiMjUwWlhoMFNXNHVZV05qWlhOelczQmRPMXh5WEc0Z0lDQWdJQ0FnSUdOdmJuUmxlSFF1WVdSa1NXNXBkR2xoYkdsNlpYSWdQU0JtZFc1amRHbHZiaUFvWmlrZ2V5QnBaaUFvWkc5dVpTa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtOaGJtNXZkQ0JoWkdRZ2FXNXBkR2xoYkdsNlpYSnpJR0ZtZEdWeUlHUmxZMjl5WVhScGIyNGdhR0Z6SUdOdmJYQnNaWFJsWkZ3aUtUc2daWGgwY21GSmJtbDBhV0ZzYVhwbGNuTXVjSFZ6YUNoaFkyTmxjSFFvWmlCOGZDQnVkV3hzS1NrN0lIMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlISmxjM1ZzZENBOUlDZ3dMQ0JrWldOdmNtRjBiM0p6VzJsZEtTaHJhVzVrSUQwOVBTQmNJbUZqWTJWemMyOXlYQ0lnUHlCN0lHZGxkRG9nWkdWelkzSnBjSFJ2Y2k1blpYUXNJSE5sZERvZ1pHVnpZM0pwY0hSdmNpNXpaWFFnZlNBNklHUmxjMk55YVhCMGIzSmJhMlY1WFN3Z1kyOXVkR1Y0ZENrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0d0cGJtUWdQVDA5SUZ3aVlXTmpaWE56YjNKY0lpa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBJRDA5UFNCMmIybGtJREFwSUdOdmJuUnBiblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NtVnpkV3gwSUQwOVBTQnVkV3hzSUh4OElIUjVjR1Z2WmlCeVpYTjFiSFFnSVQwOUlGd2liMkpxWldOMFhDSXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKUFltcGxZM1FnWlhod1pXTjBaV1JjSWlrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGZJRDBnWVdOalpYQjBLSEpsYzNWc2RDNW5aWFFwS1NCa1pYTmpjbWx3ZEc5eUxtZGxkQ0E5SUY4N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGZJRDBnWVdOalpYQjBLSEpsYzNWc2RDNXpaWFFwS1NCa1pYTmpjbWx3ZEc5eUxuTmxkQ0E5SUY4N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGZJRDBnWVdOalpYQjBLSEpsYzNWc2RDNXBibWwwS1NrZ2FXNXBkR2xoYkdsNlpYSnpMbkIxYzJnb1h5azdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tGOGdQU0JoWTJObGNIUW9jbVZ6ZFd4MEtTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYTJsdVpDQTlQVDBnWENKbWFXVnNaRndpS1NCcGJtbDBhV0ZzYVhwbGNuTXVjSFZ6YUNoZktUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JrWlhOamNtbHdkRzl5VzJ0bGVWMGdQU0JmTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lHbG1JQ2gwWVhKblpYUXBJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMFlYSm5aWFFzSUdOdmJuUmxlSFJKYmk1dVlXMWxMQ0JrWlhOamNtbHdkRzl5S1R0Y2NseHVJQ0FnSUdSdmJtVWdQU0IwY25WbE8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmY25WdVNXNXBkR2xoYkdsNlpYSnpLSFJvYVhOQmNtY3NJR2x1YVhScFlXeHBlbVZ5Y3l3Z2RtRnNkV1VwSUh0Y2NseHVJQ0FnSUhaaGNpQjFjMlZXWVd4MVpTQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQaUF5TzF4eVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCcGJtbDBhV0ZzYVhwbGNuTXViR1Z1WjNSb095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZV3gxWlNBOUlIVnpaVlpoYkhWbElEOGdhVzVwZEdsaGJHbDZaWEp6VzJsZExtTmhiR3dvZEdocGMwRnlaeXdnZG1Gc2RXVXBJRG9nYVc1cGRHbGhiR2w2WlhKelcybGRMbU5oYkd3b2RHaHBjMEZ5WnlrN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCeVpYUjFjbTRnZFhObFZtRnNkV1VnUHlCMllXeDFaU0E2SUhadmFXUWdNRHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzQnliM0JMWlhrb2VDa2dlMXh5WEc0Z0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCNElEMDlQU0JjSW5ONWJXSnZiRndpSUQ4Z2VDQTZJRndpWENJdVkyOXVZMkYwS0hncE8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYzJWMFJuVnVZM1JwYjI1T1lXMWxLR1lzSUc1aGJXVXNJSEJ5WldacGVDa2dlMXh5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ1WVcxbElEMDlQU0JjSW5ONWJXSnZiRndpS1NCdVlXMWxJRDBnYm1GdFpTNWtaWE5qY21sd2RHbHZiaUEvSUZ3aVcxd2lMbU52Ym1OaGRDaHVZVzFsTG1SbGMyTnlhWEIwYVc5dUxDQmNJbDFjSWlrZ09pQmNJbHdpTzF4eVhHNGdJQ0FnY21WMGRYSnVJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobUxDQmNJbTVoYldWY0lpd2dleUJqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1VzSUhaaGJIVmxPaUJ3Y21WbWFYZ2dQeUJjSWx3aUxtTnZibU5oZENod2NtVm1hWGdzSUZ3aUlGd2lMQ0J1WVcxbEtTQTZJRzVoYldVZ2ZTazdYSEpjYm4wN1hISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5dFpYUmhaR0YwWVNodFpYUmhaR0YwWVV0bGVTd2diV1YwWVdSaGRHRldZV3gxWlNrZ2UxeHlYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQlNaV1pzWldOMElEMDlQU0JjSW05aWFtVmpkRndpSUNZbUlIUjVjR1Z2WmlCU1pXWnNaV04wTG0xbGRHRmtZWFJoSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lwSUhKbGRIVnliaUJTWldac1pXTjBMbTFsZEdGa1lYUmhLRzFsZEdGa1lYUmhTMlY1TENCdFpYUmhaR0YwWVZaaGJIVmxLVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZllYZGhhWFJsY2loMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SekxDQlFMQ0JuWlc1bGNtRjBiM0lwSUh0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUdGa2IzQjBLSFpoYkhWbEtTQjdJSEpsZEhWeWJpQjJZV3gxWlNCcGJuTjBZVzVqWlc5bUlGQWdQeUIyWVd4MVpTQTZJRzVsZHlCUUtHWjFibU4wYVc5dUlDaHlaWE52YkhabEtTQjdJSEpsYzI5c2RtVW9kbUZzZFdVcE95QjlLVHNnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJRzVsZHlBb1VDQjhmQ0FvVUNBOUlGQnliMjFwYzJVcEtTaG1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnWm5WdVkzUnBiMjRnWm5Wc1ptbHNiR1ZrS0haaGJIVmxLU0I3SUhSeWVTQjdJSE4wWlhBb1oyVnVaWEpoZEc5eUxtNWxlSFFvZG1Gc2RXVXBLVHNnZlNCallYUmphQ0FvWlNrZ2V5QnlaV3BsWTNRb1pTazdJSDBnZlZ4eVhHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlISmxhbVZqZEdWa0tIWmhiSFZsS1NCN0lIUnllU0I3SUhOMFpYQW9aMlZ1WlhKaGRHOXlXMXdpZEdoeWIzZGNJbDBvZG1Gc2RXVXBLVHNnZlNCallYUmphQ0FvWlNrZ2V5QnlaV3BsWTNRb1pTazdJSDBnZlZ4eVhHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlITjBaWEFvY21WemRXeDBLU0I3SUhKbGMzVnNkQzVrYjI1bElEOGdjbVZ6YjJ4MlpTaHlaWE4xYkhRdWRtRnNkV1VwSURvZ1lXUnZjSFFvY21WemRXeDBMblpoYkhWbEtTNTBhR1Z1S0daMWJHWnBiR3hsWkN3Z2NtVnFaV04wWldRcE95QjlYSEpjYmlBZ0lDQWdJQ0FnYzNSbGNDZ29aMlZ1WlhKaGRHOXlJRDBnWjJWdVpYSmhkRzl5TG1Gd2NHeDVLSFJvYVhOQmNtY3NJRjloY21kMWJXVnVkSE1nZkh3Z1cxMHBLUzV1WlhoMEtDa3BPMXh5WEc0Z0lDQWdmU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyZGxibVZ5WVhSdmNpaDBhR2x6UVhKbkxDQmliMlI1S1NCN1hISmNiaUFnSUNCMllYSWdYeUE5SUhzZ2JHRmlaV3c2SURBc0lITmxiblE2SUdaMWJtTjBhVzl1S0NrZ2V5QnBaaUFvZEZzd1hTQW1JREVwSUhSb2NtOTNJSFJiTVYwN0lISmxkSFZ5YmlCMFd6RmRPeUI5TENCMGNubHpPaUJiWFN3Z2IzQnpPaUJiWFNCOUxDQm1MQ0I1TENCMExDQm5PMXh5WEc0Z0lDQWdjbVYwZFhKdUlHY2dQU0I3SUc1bGVIUTZJSFpsY21Jb01Da3NJRndpZEdoeWIzZGNJam9nZG1WeVlpZ3hLU3dnWENKeVpYUjFjbTVjSWpvZ2RtVnlZaWd5S1NCOUxDQjBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnSmlZZ0tHZGJVM2x0WW05c0xtbDBaWEpoZEc5eVhTQTlJR1oxYm1OMGFXOXVLQ2tnZXlCeVpYUjFjbTRnZEdocGN6c2dmU2tzSUdjN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpYSmlLRzRwSUhzZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUNoMktTQjdJSEpsZEhWeWJpQnpkR1Z3S0Z0dUxDQjJYU2s3SUgwN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITjBaWEFvYjNBcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1ppa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtkbGJtVnlZWFJ2Y2lCcGN5QmhiSEpsWVdSNUlHVjRaV04xZEdsdVp5NWNJaWs3WEhKY2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0djZ0ppWWdLR2NnUFNBd0xDQnZjRnN3WFNBbUppQW9YeUE5SURBcEtTd2dYeWtnZEhKNUlIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1lnUFNBeExDQjVJQ1ltSUNoMElEMGdiM0JiTUYwZ0ppQXlJRDhnZVZ0Y0luSmxkSFZ5Ymx3aVhTQTZJRzl3V3pCZElEOGdlVnRjSW5Sb2NtOTNYQ0pkSUh4OElDZ29kQ0E5SUhsYlhDSnlaWFIxY201Y0lsMHBJQ1ltSUhRdVkyRnNiQ2g1S1N3Z01Da2dPaUI1TG01bGVIUXBJQ1ltSUNFb2RDQTlJSFF1WTJGc2JDaDVMQ0J2Y0ZzeFhTa3BMbVJ2Ym1VcElISmxkSFZ5YmlCME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9lU0E5SURBc0lIUXBJRzl3SUQwZ1cyOXdXekJkSUNZZ01pd2dkQzUyWVd4MVpWMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITjNhWFJqYUNBb2IzQmJNRjBwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTURvZ1kyRnpaU0F4T2lCMElEMGdiM0E3SUdKeVpXRnJPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQTBPaUJmTG14aFltVnNLeXM3SUhKbGRIVnliaUI3SUhaaGJIVmxPaUJ2Y0ZzeFhTd2daRzl1WlRvZ1ptRnNjMlVnZlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTlRvZ1h5NXNZV0psYkNzck95QjVJRDBnYjNCYk1WMDdJRzl3SUQwZ1d6QmRPeUJqYjI1MGFXNTFaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdOem9nYjNBZ1BTQmZMbTl3Y3k1d2IzQW9LVHNnWHk1MGNubHpMbkJ2Y0NncE95QmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0VvZENBOUlGOHVkSEo1Y3l3Z2RDQTlJSFF1YkdWdVozUm9JRDRnTUNBbUppQjBXM1F1YkdWdVozUm9JQzBnTVYwcElDWW1JQ2h2Y0Zzd1hTQTlQVDBnTmlCOGZDQnZjRnN3WFNBOVBUMGdNaWtwSUhzZ1h5QTlJREE3SUdOdmJuUnBiblZsT3lCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUQwOVBTQXpJQ1ltSUNnaGRDQjhmQ0FvYjNCYk1WMGdQaUIwV3pCZElDWW1JRzl3V3pGZElEd2dkRnN6WFNrcEtTQjdJRjh1YkdGaVpXd2dQU0J2Y0ZzeFhUc2dZbkpsWVdzN0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iM0JiTUYwZ1BUMDlJRFlnSmlZZ1h5NXNZV0psYkNBOElIUmJNVjBwSUhzZ1h5NXNZV0psYkNBOUlIUmJNVjA3SUhRZ1BTQnZjRHNnWW5KbFlXczdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZENBbUppQmZMbXhoWW1Wc0lEd2dkRnN5WFNrZ2V5QmZMbXhoWW1Wc0lEMGdkRnN5WFRzZ1h5NXZjSE11Y0hWemFDaHZjQ2s3SUdKeVpXRnJPeUI5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSYk1sMHBJRjh1YjNCekxuQnZjQ2dwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRjh1ZEhKNWN5NXdiM0FvS1RzZ1kyOXVkR2x1ZFdVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYjNBZ1BTQmliMlI1TG1OaGJHd29kR2hwYzBGeVp5d2dYeWs3WEhKY2JpQWdJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dleUJ2Y0NBOUlGczJMQ0JsWFRzZ2VTQTlJREE3SUgwZ1ptbHVZV3hzZVNCN0lHWWdQU0IwSUQwZ01Ec2dmVnh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHZjRnN3WFNBbUlEVXBJSFJvY205M0lHOXdXekZkT3lCeVpYUjFjbTRnZXlCMllXeDFaVG9nYjNCYk1GMGdQeUJ2Y0ZzeFhTQTZJSFp2YVdRZ01Dd2daRzl1WlRvZ2RISjFaU0I5TzF4eVhHNGdJQ0FnZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2RtRnlJRjlmWTNKbFlYUmxRbWx1WkdsdVp5QTlJRTlpYW1WamRDNWpjbVZoZEdVZ1B5QW9ablZ1WTNScGIyNG9ieXdnYlN3Z2F5d2dheklwSUh0Y2NseHVJQ0FnSUdsbUlDaHJNaUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQnJNaUE5SUdzN1hISmNiaUFnSUNCMllYSWdaR1Z6WXlBOUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0lvYlN3Z2F5azdYSEpjYmlBZ0lDQnBaaUFvSVdSbGMyTWdmSHdnS0Z3aVoyVjBYQ0lnYVc0Z1pHVnpZeUEvSUNGdExsOWZaWE5OYjJSMWJHVWdPaUJrWlhOakxuZHlhWFJoWW14bElIeDhJR1JsYzJNdVkyOXVabWxuZFhKaFlteGxLU2tnZTF4eVhHNGdJQ0FnSUNBZ0lHUmxjMk1nUFNCN0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc0lHZGxkRG9nWm5WdVkzUnBiMjRvS1NCN0lISmxkSFZ5YmlCdFcydGRPeUI5SUgwN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29ieXdnYXpJc0lHUmxjMk1wTzF4eVhHNTlLU0E2SUNobWRXNWpkR2x2YmlodkxDQnRMQ0JyTENCck1pa2dlMXh5WEc0Z0lDQWdhV1lnS0dzeUlEMDlQU0IxYm1SbFptbHVaV1FwSUdzeUlEMGdhenRjY2x4dUlDQWdJRzliYXpKZElEMGdiVnRyWFR0Y2NseHVmU2s3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlsZUhCdmNuUlRkR0Z5S0cwc0lHOHBJSHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z2JTa2dhV1lnS0hBZ0lUMDlJRndpWkdWbVlYVnNkRndpSUNZbUlDRlBZbXBsWTNRdWNISnZkRzkwZVhCbExtaGhjMDkzYmxCeWIzQmxjblI1TG1OaGJHd29ieXdnY0NrcElGOWZZM0psWVhSbFFtbHVaR2x1WnlodkxDQnRMQ0J3S1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZkbUZzZFdWektHOHBJSHRjY2x4dUlDQWdJSFpoY2lCeklEMGdkSGx3Wlc5bUlGTjViV0p2YkNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUNZbUlGTjViV0p2YkM1cGRHVnlZWFJ2Y2l3Z2JTQTlJSE1nSmlZZ2IxdHpYU3dnYVNBOUlEQTdYSEpjYmlBZ0lDQnBaaUFvYlNrZ2NtVjBkWEp1SUcwdVkyRnNiQ2h2S1R0Y2NseHVJQ0FnSUdsbUlDaHZJQ1ltSUhSNWNHVnZaaUJ2TG14bGJtZDBhQ0E5UFQwZ1hDSnVkVzFpWlhKY0lpa2djbVYwZFhKdUlIdGNjbHh1SUNBZ0lDQWdJQ0J1WlhoME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodklDWW1JR2tnUGowZ2J5NXNaVzVuZEdncElHOGdQU0IyYjJsa0lEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCN0lIWmhiSFZsT2lCdklDWW1JRzliYVNzclhTd2daRzl1WlRvZ0lXOGdmVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaHpJRDhnWENKUFltcGxZM1FnYVhNZ2JtOTBJR2wwWlhKaFlteGxMbHdpSURvZ1hDSlRlVzFpYjJ3dWFYUmxjbUYwYjNJZ2FYTWdibTkwSUdSbFptbHVaV1F1WENJcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl5WldGa0tHOHNJRzRwSUh0Y2NseHVJQ0FnSUhaaGNpQnRJRDBnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlDWW1JRzliVTNsdFltOXNMbWwwWlhKaGRHOXlYVHRjY2x4dUlDQWdJR2xtSUNnaGJTa2djbVYwZFhKdUlHODdYSEpjYmlBZ0lDQjJZWElnYVNBOUlHMHVZMkZzYkNodktTd2djaXdnWVhJZ1BTQmJYU3dnWlR0Y2NseHVJQ0FnSUhSeWVTQjdYSEpjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLQ2h1SUQwOVBTQjJiMmxrSURBZ2ZId2diaTB0SUQ0Z01Da2dKaVlnSVNoeUlEMGdhUzV1WlhoMEtDa3BMbVJ2Ym1VcElHRnlMbkIxYzJnb2NpNTJZV3gxWlNrN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCallYUmphQ0FvWlhKeWIzSXBJSHNnWlNBOUlIc2daWEp5YjNJNklHVnljbTl5SUgwN0lIMWNjbHh1SUNBZ0lHWnBibUZzYkhrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJ5ZVNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHlJQ1ltSUNGeUxtUnZibVVnSmlZZ0tHMGdQU0JwVzF3aWNtVjBkWEp1WENKZEtTa2diUzVqWVd4c0tHa3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQm1hVzVoYkd4NUlIc2dhV1lnS0dVcElIUm9jbTkzSUdVdVpYSnliM0k3SUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUhKbGRIVnliaUJoY2p0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUVCa1pYQnlaV05oZEdWa0lDb3ZYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNOd2NtVmhaQ2dwSUh0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUdGeUlEMGdXMTBzSUdrZ1BTQXdPeUJwSUR3Z1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTc3JLVnh5WEc0Z0lDQWdJQ0FnSUdGeUlEMGdZWEl1WTI5dVkyRjBLRjlmY21WaFpDaGhjbWQxYldWdWRITmJhVjBwS1R0Y2NseHVJQ0FnSUhKbGRIVnliaUJoY2p0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUVCa1pYQnlaV05oZEdWa0lDb3ZYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDNOd2NtVmhaRUZ5Y21GNWN5Z3BJSHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSE1nUFNBd0xDQnBJRDBnTUN3Z2FXd2dQU0JoY21kMWJXVnVkSE11YkdWdVozUm9PeUJwSUR3Z2FXdzdJR2tyS3lrZ2N5QXJQU0JoY21kMWJXVnVkSE5iYVYwdWJHVnVaM1JvTzF4eVhHNGdJQ0FnWm05eUlDaDJZWElnY2lBOUlFRnljbUY1S0hNcExDQnJJRDBnTUN3Z2FTQTlJREE3SUdrZ1BDQnBiRHNnYVNzcktWeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR0VnUFNCaGNtZDFiV1Z1ZEhOYmFWMHNJR29nUFNBd0xDQnFiQ0E5SUdFdWJHVnVaM1JvT3lCcUlEd2dhbXc3SUdvckt5d2dheXNyS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5VzJ0ZElEMGdZVnRxWFR0Y2NseHVJQ0FnSUhKbGRIVnliaUJ5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXpjSEpsWVdSQmNuSmhlU2gwYnl3Z1puSnZiU3dnY0dGamF5a2dlMXh5WEc0Z0lDQWdhV1lnS0hCaFkyc2dmSHdnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0E5UFQwZ01pa2dabTl5SUNoMllYSWdhU0E5SURBc0lHd2dQU0JtY205dExteGxibWQwYUN3Z1lYSTdJR2tnUENCc095QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvWVhJZ2ZId2dJU2hwSUdsdUlHWnliMjBwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hZWElwSUdGeUlEMGdRWEp5WVhrdWNISnZkRzkwZVhCbExuTnNhV05sTG1OaGJHd29abkp2YlN3Z01Dd2dhU2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR0Z5VzJsZElEMGdabkp2YlZ0cFhUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J5WlhSMWNtNGdkRzh1WTI5dVkyRjBLR0Z5SUh4OElFRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHWnliMjBwS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZWGRoYVhRb2Rpa2dlMXh5WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE1nYVc1emRHRnVZMlZ2WmlCZlgyRjNZV2wwSUQ4Z0tIUm9hWE11ZGlBOUlIWXNJSFJvYVhNcElEb2dibVYzSUY5ZllYZGhhWFFvZGlrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkZ6ZVc1alIyVnVaWEpoZEc5eUtIUm9hWE5CY21jc0lGOWhjbWQxYldWdWRITXNJR2RsYm1WeVlYUnZjaWtnZTF4eVhHNGdJQ0FnYVdZZ0tDRlRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjaWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lsTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlJR2x6SUc1dmRDQmtaV1pwYm1Wa0xsd2lLVHRjY2x4dUlDQWdJSFpoY2lCbklEMGdaMlZ1WlhKaGRHOXlMbUZ3Y0d4NUtIUm9hWE5CY21jc0lGOWhjbWQxYldWdWRITWdmSHdnVzEwcExDQnBMQ0J4SUQwZ1cxMDdYSEpjYmlBZ0lDQnlaWFIxY200Z2FTQTlJSHQ5TENCMlpYSmlLRndpYm1WNGRGd2lLU3dnZG1WeVlpaGNJblJvY205M1hDSXBMQ0IyWlhKaUtGd2ljbVYwZFhKdVhDSXBMQ0JwVzFONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eVhTQTlJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUhSb2FYTTdJSDBzSUdrN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpYSmlLRzRwSUhzZ2FXWWdLR2RiYmwwcElHbGJibDBnUFNCbWRXNWpkR2x2YmlBb2Rpa2dleUJ5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvWm5WdVkzUnBiMjRnS0dFc0lHSXBJSHNnY1M1d2RYTm9LRnR1TENCMkxDQmhMQ0JpWFNrZ1BpQXhJSHg4SUhKbGMzVnRaU2h1TENCMktUc2dmU2s3SUgwN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlISmxjM1Z0WlNodUxDQjJLU0I3SUhSeWVTQjdJSE4wWlhBb1oxdHVYU2gyS1NrN0lIMGdZMkYwWTJnZ0tHVXBJSHNnYzJWMGRHeGxLSEZiTUYxYk0xMHNJR1VwT3lCOUlIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITjBaWEFvY2lrZ2V5QnlMblpoYkhWbElHbHVjM1JoYm1ObGIyWWdYMTloZDJGcGRDQS9JRkJ5YjIxcGMyVXVjbVZ6YjJ4MlpTaHlMblpoYkhWbExuWXBMblJvWlc0b1puVnNabWxzYkN3Z2NtVnFaV04wS1NBNklITmxkSFJzWlNoeFd6QmRXekpkTENCeUtUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdablZzWm1sc2JDaDJZV3gxWlNrZ2V5QnlaWE4xYldVb1hDSnVaWGgwWENJc0lIWmhiSFZsS1RzZ2ZWeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2NtVnFaV04wS0haaGJIVmxLU0I3SUhKbGMzVnRaU2hjSW5Sb2NtOTNYQ0lzSUhaaGJIVmxLVHNnZlZ4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnYzJWMGRHeGxLR1lzSUhZcElIc2dhV1lnS0dZb2Rpa3NJSEV1YzJocFpuUW9LU3dnY1M1c1pXNW5kR2dwSUhKbGMzVnRaU2h4V3pCZFd6QmRMQ0J4V3pCZFd6RmRLVHNnZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhjM2x1WTBSbGJHVm5ZWFJ2Y2lodktTQjdYSEpjYmlBZ0lDQjJZWElnYVN3Z2NEdGNjbHh1SUNBZ0lISmxkSFZ5YmlCcElEMGdlMzBzSUhabGNtSW9YQ0p1WlhoMFhDSXBMQ0IyWlhKaUtGd2lkR2h5YjNkY0lpd2dablZ1WTNScGIyNGdLR1VwSUhzZ2RHaHliM2NnWlRzZ2ZTa3NJSFpsY21Jb1hDSnlaWFIxY201Y0lpa3NJR2xiVTNsdFltOXNMbWwwWlhKaGRHOXlYU0E5SUdaMWJtTjBhVzl1SUNncElIc2djbVYwZFhKdUlIUm9hWE03SUgwc0lHazdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQjJaWEppS0c0c0lHWXBJSHNnYVZ0dVhTQTlJRzliYmwwZ1B5Qm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnS0hBZ1BTQWhjQ2tnUHlCN0lIWmhiSFZsT2lCZlgyRjNZV2wwS0c5YmJsMG9kaWtwTENCa2IyNWxPaUJtWVd4elpTQjlJRG9nWmlBL0lHWW9kaWtnT2lCMk95QjlJRG9nWmpzZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTloYzNsdVkxWmhiSFZsY3lodktTQjdYSEpjYmlBZ0lDQnBaaUFvSVZONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eUtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNJZ2FYTWdibTkwSUdSbFptbHVaV1F1WENJcE8xeHlYRzRnSUNBZ2RtRnlJRzBnUFNCdlcxTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlYU3dnYVR0Y2NseHVJQ0FnSUhKbGRIVnliaUJ0SUQ4Z2JTNWpZV3hzS0c4cElEb2dLRzhnUFNCMGVYQmxiMllnWDE5MllXeDFaWE1nUFQwOUlGd2lablZ1WTNScGIyNWNJaUEvSUY5ZmRtRnNkV1Z6S0c4cElEb2diMXRUZVcxaWIyd3VhWFJsY21GMGIzSmRLQ2tzSUdrZ1BTQjdmU3dnZG1WeVlpaGNJbTVsZUhSY0lpa3NJSFpsY21Jb1hDSjBhSEp2ZDF3aUtTd2dkbVZ5WWloY0luSmxkSFZ5Ymx3aUtTd2dhVnRUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlMQ0JwS1R0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhabGNtSW9iaWtnZXlCcFcyNWRJRDBnYjF0dVhTQW1KaUJtZFc1amRHbHZiaUFvZGlrZ2V5QnlaWFIxY200Z2JtVjNJRkJ5YjIxcGMyVW9ablZ1WTNScGIyNGdLSEpsYzI5c2RtVXNJSEpsYW1WamRDa2dleUIySUQwZ2IxdHVYU2gyS1N3Z2MyVjBkR3hsS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ3dnZGk1a2IyNWxMQ0IyTG5aaGJIVmxLVHNnZlNrN0lIMDdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSE5sZEhSc1pTaHlaWE52YkhabExDQnlaV3BsWTNRc0lHUXNJSFlwSUhzZ1VISnZiV2x6WlM1eVpYTnZiSFpsS0hZcExuUm9aVzRvWm5WdVkzUnBiMjRvZGlrZ2V5QnlaWE52YkhabEtIc2dkbUZzZFdVNklIWXNJR1J2Ym1VNklHUWdmU2s3SUgwc0lISmxhbVZqZENrN0lIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYldGclpWUmxiWEJzWVhSbFQySnFaV04wS0dOdmIydGxaQ3dnY21GM0tTQjdYSEpjYmlBZ0lDQnBaaUFvVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtTQjdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoamIyOXJaV1FzSUZ3aWNtRjNYQ0lzSUhzZ2RtRnNkV1U2SUhKaGR5QjlLVHNnZlNCbGJITmxJSHNnWTI5dmEyVmtMbkpoZHlBOUlISmhkenNnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJR052YjJ0bFpEdGNjbHh1ZlR0Y2NseHVYSEpjYm5aaGNpQmZYM05sZEUxdlpIVnNaVVJsWm1GMWJIUWdQU0JQWW1wbFkzUXVZM0psWVhSbElEOGdLR1oxYm1OMGFXOXVLRzhzSUhZcElIdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h2TENCY0ltUmxabUYxYkhSY0lpd2dleUJsYm5WdFpYSmhZbXhsT2lCMGNuVmxMQ0IyWVd4MVpUb2dkaUI5S1R0Y2NseHVmU2tnT2lCbWRXNWpkR2x2YmlodkxDQjJLU0I3WEhKY2JpQWdJQ0J2VzF3aVpHVm1ZWFZzZEZ3aVhTQTlJSFk3WEhKY2JuMDdYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXBiWEJ2Y25SVGRHRnlLRzF2WkNrZ2UxeHlYRzRnSUNBZ2FXWWdLRzF2WkNBbUppQnRiMlF1WDE5bGMwMXZaSFZzWlNrZ2NtVjBkWEp1SUcxdlpEdGNjbHh1SUNBZ0lIWmhjaUJ5WlhOMWJIUWdQU0I3ZlR0Y2NseHVJQ0FnSUdsbUlDaHRiMlFnSVQwZ2JuVnNiQ2tnWm05eUlDaDJZWElnYXlCcGJpQnRiMlFwSUdsbUlDaHJJQ0U5UFNCY0ltUmxabUYxYkhSY0lpQW1KaUJQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvYlc5a0xDQnJLU2tnWDE5amNtVmhkR1ZDYVc1a2FXNW5LSEpsYzNWc2RDd2diVzlrTENCcktUdGNjbHh1SUNBZ0lGOWZjMlYwVFc5a2RXeGxSR1ZtWVhWc2RDaHlaWE4xYkhRc0lHMXZaQ2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTlwYlhCdmNuUkVaV1poZFd4MEtHMXZaQ2tnZTF4eVhHNGdJQ0FnY21WMGRYSnVJQ2h0YjJRZ0ppWWdiVzlrTGw5ZlpYTk5iMlIxYkdVcElEOGdiVzlrSURvZ2V5QmtaV1poZFd4ME9pQnRiMlFnZlR0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZMnhoYzNOUWNtbDJZWFJsUm1sbGJHUkhaWFFvY21WalpXbDJaWElzSUhOMFlYUmxMQ0JyYVc1a0xDQm1LU0I3WEhKY2JpQWdJQ0JwWmlBb2EybHVaQ0E5UFQwZ1hDSmhYQ0lnSmlZZ0lXWXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvWENKUWNtbDJZWFJsSUdGalkyVnpjMjl5SUhkaGN5QmtaV1pwYm1Wa0lIZHBkR2h2ZFhRZ1lTQm5aWFIwWlhKY0lpazdYSEpjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JSE4wWVhSbElEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ1B5QnlaV05sYVhabGNpQWhQVDBnYzNSaGRHVWdmSHdnSVdZZ09pQWhjM1JoZEdVdWFHRnpLSEpsWTJWcGRtVnlLU2tnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrTmhibTV2ZENCeVpXRmtJSEJ5YVhaaGRHVWdiV1Z0WW1WeUlHWnliMjBnWVc0Z2IySnFaV04wSUhkb2IzTmxJR05zWVhOeklHUnBaQ0J1YjNRZ1pHVmpiR0Z5WlNCcGRGd2lLVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnJhVzVrSUQwOVBTQmNJbTFjSWlBL0lHWWdPaUJyYVc1a0lEMDlQU0JjSW1GY0lpQS9JR1l1WTJGc2JDaHlaV05sYVhabGNpa2dPaUJtSUQ4Z1ppNTJZV3gxWlNBNklITjBZWFJsTG1kbGRDaHlaV05sYVhabGNpazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJOc1lYTnpVSEpwZG1GMFpVWnBaV3hrVTJWMEtISmxZMlZwZG1WeUxDQnpkR0YwWlN3Z2RtRnNkV1VzSUd0cGJtUXNJR1lwSUh0Y2NseHVJQ0FnSUdsbUlDaHJhVzVrSUQwOVBTQmNJbTFjSWlrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJbEJ5YVhaaGRHVWdiV1YwYUc5a0lHbHpJRzV2ZENCM2NtbDBZV0pzWlZ3aUtUdGNjbHh1SUNBZ0lHbG1JQ2hyYVc1a0lEMDlQU0JjSW1GY0lpQW1KaUFoWmlrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJbEJ5YVhaaGRHVWdZV05qWlhOemIzSWdkMkZ6SUdSbFptbHVaV1FnZDJsMGFHOTFkQ0JoSUhObGRIUmxjbHdpS1R0Y2NseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2MzUmhkR1VnUFQwOUlGd2lablZ1WTNScGIyNWNJaUEvSUhKbFkyVnBkbVZ5SUNFOVBTQnpkR0YwWlNCOGZDQWhaaUE2SUNGemRHRjBaUzVvWVhNb2NtVmpaV2wyWlhJcEtTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLRndpUTJGdWJtOTBJSGR5YVhSbElIQnlhWFpoZEdVZ2JXVnRZbVZ5SUhSdklHRnVJRzlpYW1WamRDQjNhRzl6WlNCamJHRnpjeUJrYVdRZ2JtOTBJR1JsWTJ4aGNtVWdhWFJjSWlrN1hISmNiaUFnSUNCeVpYUjFjbTRnS0d0cGJtUWdQVDA5SUZ3aVlWd2lJRDhnWmk1allXeHNLSEpsWTJWcGRtVnlMQ0IyWVd4MVpTa2dPaUJtSUQ4Z1ppNTJZV3gxWlNBOUlIWmhiSFZsSURvZ2MzUmhkR1V1YzJWMEtISmxZMlZwZG1WeUxDQjJZV3gxWlNrcExDQjJZV3gxWlR0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZZMnhoYzNOUWNtbDJZWFJsUm1sbGJHUkpiaWh6ZEdGMFpTd2djbVZqWldsMlpYSXBJSHRjY2x4dUlDQWdJR2xtSUNoeVpXTmxhWFpsY2lBOVBUMGdiblZzYkNCOGZDQW9kSGx3Wlc5bUlISmxZMlZwZG1WeUlDRTlQU0JjSW05aWFtVmpkRndpSUNZbUlIUjVjR1Z2WmlCeVpXTmxhWFpsY2lBaFBUMGdYQ0ptZFc1amRHbHZibHdpS1NrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGNJa05oYm01dmRDQjFjMlVnSjJsdUp5QnZjR1Z5WVhSdmNpQnZiaUJ1YjI0dGIySnFaV04wWENJcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUJ6ZEdGMFpTQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlEOGdjbVZqWldsMlpYSWdQVDA5SUhOMFlYUmxJRG9nYzNSaGRHVXVhR0Z6S0hKbFkyVnBkbVZ5S1R0Y2NseHVmVnh5WEc0aUxDSnBiWEJ2Y25RZ2RIbHdaU0FxSUdGeklGUklVa1ZGSUdaeWIyMGdKM1JvY21WbEp6dGNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFJ5WVhabGNuTmxRVzVqWlhOMGIzSnpSbkp2YlZKdmIzUW9iMkpxWldOME9pQlVTRkpGUlM1UFltcGxZM1F6UkN3Z1kyRnNiR0poWTJzNklDaHZZbXBsWTNRNklGUklVa1ZGTGs5aWFtVmpkRE5FS1NBOVBpQjJiMmxrS1RvZ2RtOXBaQ0I3WEc0Z0lHTnZibk4wSUdGdVkyVnpkRzl5Y3pvZ1ZFaFNSVVV1VDJKcVpXTjBNMFJiWFNBOUlGdGRPMXh1WEc0Z0lHeGxkQ0JvWldGa09pQlVTRkpGUlM1UFltcGxZM1F6UkNCOElHNTFiR3dnUFNCdlltcGxZM1E3WEc0Z0lIZG9hV3hsSUNob1pXRmtJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdZVzVqWlhOMGIzSnpMblZ1YzJocFpuUW9hR1ZoWkNrN1hHNGdJQ0FnYUdWaFpDQTlJR2hsWVdRdWNHRnlaVzUwTzF4dUlDQjlYRzVjYmlBZ1lXNWpaWE4wYjNKekxtWnZja1ZoWTJnb0tHRnVZMlZ6ZEc5eUtTQTlQaUI3WEc0Z0lDQWdZMkZzYkdKaFkyc29ZVzVqWlhOMGIzSXBPMXh1SUNCOUtUdGNibjFjYmlJc0lpOHFLbHh1SUNvZ1ZISmhkbVZ5YzJVZ1kyaHBiR1J5Wlc0Z2IyWWdaMmwyWlc0Z2IySnFaV04wSUdGdVpDQmxlR1ZqZFhSbElHZHBkbVZ1SUdOaGJHeGlZV05yTGx4dUlDb2dWR2hsSUdkcGRtVnVJRzlpYW1WamRDQnBkSE5sYkdZZ2QyOXVkQ0JpWlNCbmFYWmxiaUIwYnlCMGFHVWdZMkZzYkdKaFkyc3VYRzRnS2lCSlppQjBhR1VnY21WMGRYSnVJSFpoYkhWbElHOW1JSFJvWlNCallXeHNZbUZqYXlCcGN5QmdkSEoxWldBc0lHbDBJSGRwYkd3Z2FHRnNkQ0IwYUdVZ2RISmhkbVZ5YzJGc0lHOW1JR2wwY3lCamFHbHNaSEpsYmk1Y2JpQXFJRUJ3WVhKaGJTQnZZbXBsWTNRZ1FTQnliMjkwSUc5aWFtVmpkRnh1SUNvZ1FIQmhjbUZ0SUdOaGJHeGlZV05ySUVFZ1kyRnNiR0poWTJzZ1puVnVZM1JwYjI0Z1kyRnNiR1ZrSUdadmNpQmxZV05vSUdOb2FXeGtjbVZ1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQjBjbUYyWlhKelpVTm9hV3hrY21WdVZXNTBhV3hEYjI1a2FYUnBiMjVOWlhRb1hHNGdJRzlpYW1WamREb2dWRWhTUlVVdVQySnFaV04wTTBRc1hHNGdJR05oYkd4aVlXTnJPaUFvYjJKcVpXTjBPaUJVU0ZKRlJTNVBZbXBsWTNRelJDa2dQVDRnWW05dmJHVmhiaXhjYmlrNklIWnZhV1FnZTF4dUlDQnZZbXBsWTNRdVkyaHBiR1J5Wlc0dVptOXlSV0ZqYUNnb1kyaHBiR1FwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUWdQU0JqWVd4c1ltRmpheWhqYUdsc1pDazdYRzRnSUNBZ2FXWWdLQ0Z5WlhOMWJIUXBJSHRjYmlBZ0lDQWdJSFJ5WVhabGNuTmxRMmhwYkdSeVpXNVZiblJwYkVOdmJtUnBkR2x2YmsxbGRDaGphR2xzWkN3Z1kyRnNiR0poWTJzcE8xeHVJQ0FnSUgxY2JpQWdmU2s3WEc1OVhHNGlMQ0pwYlhCdmNuUWdkSGx3WlNBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBJSDBnWm5KdmJTQW5MaTlXVWsxVGNISnBibWRDYjI1bFNtOXBiblFuTzF4dWFXMXdiM0owSUhzZ2RISmhkbVZ5YzJWQmJtTmxjM1J2Y25OR2NtOXRVbTl2ZENCOUlHWnliMjBnSnk0dmRYUnBiSE12ZEhKaGRtVnljMlZCYm1ObGMzUnZjbk5HY205dFVtOXZkQ2M3WEc1cGJYQnZjblFnZEhsd1pTQjdJRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2lCOUlHWnliMjBnSnk0dlZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5UjNKdmRYQWdmU0JtY205dElDY3VMMVpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2tkeWIzVndKenRjYm1sdGNHOXlkQ0I3SUhSeVlYWmxjbk5sUTJocGJHUnlaVzVWYm5ScGJFTnZibVJwZEdsdmJrMWxkQ0I5SUdaeWIyMGdKeTR2ZFhScGJITXZkSEpoZG1WeWMyVkRhR2xzWkhKbGJsVnVkR2xzUTI5dVpHbDBhVzl1VFdWMEp6dGNibHh1Wlhod2IzSjBJR05zWVhOeklGWlNUVk53Y21sdVowSnZibVZOWVc1aFoyVnlJSHRjYmlBZ2NISnBkbUYwWlNCZmFtOXBiblJ6SUQwZ2JtVjNJRk5sZER4V1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5RK0tDazdYRzRnSUhCMVlteHBZeUJuWlhRZ2FtOXBiblJ6S0NrNklGTmxkRHhXVWsxVGNISnBibWRDYjI1bFNtOXBiblErSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmFtOXBiblJ6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWEJ5WldOaGRHVmtJRlZ6WlNCN1FHeHBibXNnYW05cGJuUnpmU0JwYm5OMFpXRmtMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR2RsZENCemNISnBibWRDYjI1bGN5Z3BPaUJUWlhROFZsSk5VM0J5YVc1blFtOXVaVXB2YVc1MFBpQjdYRzRnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLQ2RXVWsxVGNISnBibWRDYjI1bFRXRnVZV2RsY2pvZ2MzQnlhVzVuUW05dVpYTWdhWE1nWkdWd2NtVmpZWFJsWkM0Z2RYTmxJR3B2YVc1MGN5QnBibk4wWldGa0xpY3BPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJwdmFXNTBjenRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJuWlhRZ1kyOXNiR2xrWlhKSGNtOTFjSE1vS1RvZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlSM0p2ZFhCYlhTQjdYRzRnSUNBZ1kyOXVjM1FnYzJWMElEMGdibVYzSUZObGREeFdVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpIY205MWNENG9LVHRjYmlBZ0lDQjBhR2x6TGw5cWIybHVkSE11Wm05eVJXRmphQ2dvYzNCeWFXNW5RbTl1WlNrZ1BUNGdlMXh1SUNBZ0lDQWdjM0J5YVc1blFtOXVaUzVqYjJ4c2FXUmxja2R5YjNWd2N5NW1iM0pGWVdOb0tDaGpiMnhzYVdSbGNrZHliM1Z3S1NBOVBpQjdYRzRnSUNBZ0lDQWdJSE5sZEM1aFpHUW9ZMjlzYkdsa1pYSkhjbTkxY0NrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOUtUdGNiaUFnSUNCeVpYUjFjbTRnUVhKeVlYa3Vabkp2YlNoelpYUXBPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJR2RsZENCamIyeHNhV1JsY25Nb0tUb2dWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5VzEwZ2UxeHVJQ0FnSUdOdmJuTjBJSE5sZENBOUlHNWxkeUJUWlhROFZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlQaWdwTzF4dUlDQWdJSFJvYVhNdVkyOXNiR2xrWlhKSGNtOTFjSE11Wm05eVJXRmphQ2dvWTI5c2JHbGtaWEpIY205MWNDa2dQVDRnZTF4dUlDQWdJQ0FnWTI5c2JHbGtaWEpIY205MWNDNWpiMnhzYVdSbGNuTXVabTl5UldGamFDZ29ZMjlzYkdsa1pYSXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ2MyVjBMbUZrWkNoamIyeHNhV1JsY2lrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOUtUdGNiaUFnSUNCeVpYUjFjbTRnUVhKeVlYa3Vabkp2YlNoelpYUXBPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmYjJKcVpXTjBVM0J5YVc1blFtOXVaWE5OWVhBZ1BTQnVaWGNnVFdGd1BGUklVa1ZGTGs5aWFtVmpkRE5FTENCVFpYUThWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBQajRvS1R0Y2JseHVJQ0J3ZFdKc2FXTWdZV1JrU205cGJuUW9hbTlwYm5RNklGWlNUVk53Y21sdVowSnZibVZLYjJsdWRDazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVYMnB2YVc1MGN5NWhaR1FvYW05cGJuUXBPMXh1WEc0Z0lDQWdiR1YwSUc5aWFtVmpkRk5sZENBOUlIUm9hWE11WDI5aWFtVmpkRk53Y21sdVowSnZibVZ6VFdGd0xtZGxkQ2hxYjJsdWRDNWliMjVsS1R0Y2JpQWdJQ0JwWmlBb2IySnFaV04wVTJWMElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHOWlhbVZqZEZObGRDQTlJRzVsZHlCVFpYUThWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBQaWdwTzF4dUlDQWdJQ0FnZEdocGN5NWZiMkpxWldOMFUzQnlhVzVuUW05dVpYTk5ZWEF1YzJWMEtHcHZhVzUwTG1KdmJtVXNJRzlpYW1WamRGTmxkQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lHOWlhbVZqZEZObGRDNWhaR1FvYW05cGJuUXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYQnlaV05oZEdWa0lGVnpaU0I3UUd4cGJtc2dZV1JrU205cGJuUjlJR2x1YzNSbFlXUXVYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdZV1JrVTNCeWFXNW5RbTl1WlNocWIybHVkRG9nVmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdZMjl1YzI5c1pTNTNZWEp1S0NkV1VrMVRjSEpwYm1kQ2IyNWxUV0Z1WVdkbGNqb2dZV1JrVTNCeWFXNW5RbTl1WlNncElHbHpJR1JsY0hKbFkyRjBaV1F1SUhWelpTQmhaR1JLYjJsdWRDZ3BJR2x1YzNSbFlXUXVKeWs3WEc1Y2JpQWdJQ0IwYUdsekxtRmtaRXB2YVc1MEtHcHZhVzUwS1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCa1pXeGxkR1ZLYjJsdWRDaHFiMmx1ZERvZ1ZsSk5VM0J5YVc1blFtOXVaVXB2YVc1MEtUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NWZhbTlwYm5SekxtUmxiR1YwWlNocWIybHVkQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQnZZbXBsWTNSVFpYUWdQU0IwYUdsekxsOXZZbXBsWTNSVGNISnBibWRDYjI1bGMwMWhjQzVuWlhRb2FtOXBiblF1WW05dVpTa2hPMXh1SUNBZ0lHOWlhbVZqZEZObGRDNWtaV3hsZEdVb2FtOXBiblFwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWEJ5WldOaGRHVmtJRlZ6WlNCN1FHeHBibXNnWkdWc1pYUmxTbTlwYm5SOUlHbHVjM1JsWVdRdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1pHVnNaWFJsVTNCeWFXNW5RbTl1WlNocWIybHVkRG9nVmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdZMjl1YzI5c1pTNTNZWEp1S0NkV1VrMVRjSEpwYm1kQ2IyNWxUV0Z1WVdkbGNqb2daR1ZzWlhSbFUzQnlhVzVuUW05dVpTZ3BJR2x6SUdSbGNISmxZMkYwWldRdUlIVnpaU0JrWld4bGRHVktiMmx1ZENncElHbHVjM1JsWVdRdUp5azdYRzVjYmlBZ0lDQjBhR2x6TG1SbGJHVjBaVXB2YVc1MEtHcHZhVzUwS1R0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCelpYUkpibWwwVTNSaGRHVW9LVG9nZG05cFpDQjdYRzRnSUNBZ1kyOXVjM1FnYzNCeWFXNW5RbTl1WlhOVWNtbGxaQ0E5SUc1bGR5QlRaWFE4VmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwUGlncE8xeHVJQ0FnSUdOdmJuTjBJSE53Y21sdVowSnZibVZ6Ukc5dVpTQTlJRzVsZHlCVFpYUThWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBQaWdwTzF4dUlDQWdJR052Ym5OMElHOWlhbVZqZEZWd1pHRjBaV1FnUFNCdVpYY2dVMlYwUEZSSVVrVkZMazlpYW1WamRETkVQaWdwTzF4dVhHNGdJQ0FnWm05eUlDaGpiMjV6ZENCemNISnBibWRDYjI1bElHOW1JSFJvYVhNdVgycHZhVzUwY3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmY0hKdlkyVnpjMU53Y21sdVowSnZibVVvYzNCeWFXNW5RbTl1WlN3Z2MzQnlhVzVuUW05dVpYTlVjbWxsWkN3Z2MzQnlhVzVuUW05dVpYTkViMjVsTENCdlltcGxZM1JWY0dSaGRHVmtMQ0FvYzNCeWFXNW5RbTl1WlNrZ1BUNWNiaUFnSUNBZ0lDQWdjM0J5YVc1blFtOXVaUzV6WlhSSmJtbDBVM1JoZEdVb0tTeGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklISmxjMlYwS0NrNklIWnZhV1FnZTF4dUlDQWdJR052Ym5OMElITndjbWx1WjBKdmJtVnpWSEpwWldRZ1BTQnVaWGNnVTJWMFBGWlNUVk53Y21sdVowSnZibVZLYjJsdWRENG9LVHRjYmlBZ0lDQmpiMjV6ZENCemNISnBibWRDYjI1bGMwUnZibVVnUFNCdVpYY2dVMlYwUEZaU1RWTndjbWx1WjBKdmJtVktiMmx1ZEQ0b0tUdGNiaUFnSUNCamIyNXpkQ0J2WW1wbFkzUlZjR1JoZEdWa0lEMGdibVYzSUZObGREeFVTRkpGUlM1UFltcGxZM1F6UkQ0b0tUdGNibHh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdjM0J5YVc1blFtOXVaU0J2WmlCMGFHbHpMbDlxYjJsdWRITXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzQnliMk5sYzNOVGNISnBibWRDYjI1bEtITndjbWx1WjBKdmJtVXNJSE53Y21sdVowSnZibVZ6VkhKcFpXUXNJSE53Y21sdVowSnZibVZ6Ukc5dVpTd2diMkpxWldOMFZYQmtZWFJsWkN3Z0tITndjbWx1WjBKdmJtVXBJRDArWEc0Z0lDQWdJQ0FnSUhOd2NtbHVaMEp2Ym1VdWNtVnpaWFFvS1N4Y2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUhWd1pHRjBaU2hrWld4MFlUb2diblZ0WW1WeUtUb2dkbTlwWkNCN1hHNGdJQ0FnWTI5dWMzUWdjM0J5YVc1blFtOXVaWE5VY21sbFpDQTlJRzVsZHlCVFpYUThWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBQaWdwTzF4dUlDQWdJR052Ym5OMElITndjbWx1WjBKdmJtVnpSRzl1WlNBOUlHNWxkeUJUWlhROFZsSk5VM0J5YVc1blFtOXVaVXB2YVc1MFBpZ3BPMXh1SUNBZ0lHTnZibk4wSUc5aWFtVmpkRlZ3WkdGMFpXUWdQU0J1WlhjZ1UyVjBQRlJJVWtWRkxrOWlhbVZqZERORVBpZ3BPMXh1WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0J6Y0hKcGJtZENiMjVsSUc5bUlIUm9hWE11WDJwdmFXNTBjeWtnZTF4dUlDQWdJQ0FnTHk4Z2RYQmtZWFJsSUhSb1pTQnpjSEpwYm1kaWIyNWxYRzRnSUNBZ0lDQjBhR2x6TGw5d2NtOWpaWE56VTNCeWFXNW5RbTl1WlNoemNISnBibWRDYjI1bExDQnpjSEpwYm1kQ2IyNWxjMVJ5YVdWa0xDQnpjSEpwYm1kQ2IyNWxjMFJ2Ym1Vc0lHOWlhbVZqZEZWd1pHRjBaV1FzSUNoemNISnBibWRDYjI1bEtTQTlQbHh1SUNBZ0lDQWdJQ0J6Y0hKcGJtZENiMjVsTG5Wd1pHRjBaU2hrWld4MFlTa3NYRzRnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0F2THlCMWNHUmhkR1VnWTJocGJHUnlaVzRnZDI5eWJHUWdiV0YwY21salpYTmNiaUFnSUNBZ0lDOHZJR2wwSUdseklISmxjWFZwY21Wa0lIZG9aVzRnZEdobElITndjbWx1WnlCaWIyNWxJR05vWVdsdUlHbHpJSE53WVhKelpWeHVJQ0FnSUNBZ2RISmhkbVZ5YzJWRGFHbHNaSEpsYmxWdWRHbHNRMjl1WkdsMGFXOXVUV1YwS0hOd2NtbHVaMEp2Ym1VdVltOXVaU3dnS0c5aWFtVmpkQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQXZMeUJwWmlCMGFHVWdiMkpxWldOMElHaGhjeUJoZEhSaFkyaGxaQ0J6Y0hKcGJtZGliMjVsTENCb1lXeDBJSFJvWlNCMGNtRjJaWEp6WVd4Y2JpQWdJQ0FnSUNBZ2FXWWdLQ2gwYUdsekxsOXZZbXBsWTNSVGNISnBibWRDYjI1bGMwMWhjQzVuWlhRb2IySnFaV04wS1Q4dWMybDZaU0EvUHlBd0tTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDOHZJRzkwYUdWeWQybHpaU0IxY0dSaGRHVWdhWFJ6SUhkdmNteGtJRzFoZEhKcGVGeHVJQ0FnSUNBZ0lDQnZZbXBsWTNRdWRYQmtZWFJsVjI5eWJHUk5ZWFJ5YVhnb1ptRnNjMlVzSUdaaGJITmxLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRlZ3WkdGMFpTQmhJSE53Y21sdVp5QmliMjVsTGx4dUlDQWdLaUJKWmlCMGFHVnlaU0JoY21VZ2IzUm9aWElnYzNCeWFXNW5JR0p2Ym1VZ2RHaGhkQ0JoY21VZ1pHVndaVzVrWVc1MExDQnBkQ0IzYVd4c0lIUnllU0IwYnlCMWNHUmhkR1VnZEdobGJTQnlaV04xY25OcGRtVnNlUzVjYmlBZ0lDb2dTWFFnZFhCa1lYUmxjeUJ0WVhSeWFYaFhiM0pzWkNCdlppQmhiR3dnWVc1alpYTjBiM0p6SUdGdVpDQnRlWE5sYkdZdVhHNGdJQ0FxSUVsMElHMXBaMmgwSUhSb2NtOTNJR0Z1SUdWeWNtOXlJR2xtSUhSb1pYSmxJR0Z5WlNCamFYSmpkV3hoY2lCa1pYQmxibVJsYm1OcFpYTXVYRzRnSUNBcVhHNGdJQ0FxSUVsdWRHVnVaR1ZrSUhSdklHSmxJSFZ6WldRZ2FXNGdlMEJzYVc1cklIVndaR0YwWlgwZ1lXNWtJSHRBYkdsdWF5QmZjSEp2WTJWemMxTndjbWx1WjBKdmJtVjlJR2wwYzJWc1ppQnlaV04xY25OcGRtVnNlUzVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUhOd2NtbHVaMEp2Ym1VZ1FTQnpjSEpwYm1kQ2IyNWxJSGx2ZFNCM1lXNTBJSFJ2SUhWd1pHRjBaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2MzQnlhVzVuUW05dVpYTlVjbWxsWkNCVFpYUWdiMllnYzNCeWFXNW5RbTl1WlhNZ2RHaGhkQ0JoY21VZ1lXeHlaV0ZrZVNCMGNtbGxaQ0IwYnlCaVpTQjFjR1JoZEdWa1hHNGdJQ0FxSUVCd1lYSmhiU0J6Y0hKcGJtZENiMjVsYzBSdmJtVWdVMlYwSUc5bUlITndjbWx1WjBKdmJtVnpJSFJvWVhRZ1lYSmxJR0ZzY21WaFpIa2dkWEFnZEc4Z1pHRjBaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2IySnFaV04wVlhCa1lYUmxaQ0JUWlhRZ2IyWWdiMkpxWldOME0wUWdkMmh2YzJVZ2JXRjBjbWw0VjI5eWJHUWdhWE1nZFhCa1lYUmxaRnh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0JmY0hKdlkyVnpjMU53Y21sdVowSnZibVVvWEc0Z0lDQWdjM0J5YVc1blFtOXVaVG9nVmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwTEZ4dUlDQWdJSE53Y21sdVowSnZibVZ6VkhKcFpXUTZJRk5sZER4V1VrMVRjSEpwYm1kQ2IyNWxTbTlwYm5RK0xGeHVJQ0FnSUhOd2NtbHVaMEp2Ym1WelJHOXVaVG9nVTJWMFBGWlNUVk53Y21sdVowSnZibVZLYjJsdWRENHNYRzRnSUNBZ2IySnFaV04wVlhCa1lYUmxaRG9nVTJWMFBGUklVa1ZGTGs5aWFtVmpkRE5FUGl4Y2JpQWdJQ0JqWVd4c1ltRmphem9nS0hOd2NtbHVaMEp2Ym1VNklGWlNUVk53Y21sdVowSnZibVZLYjJsdWRDa2dQVDRnZG05cFpDeGNiaUFnS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdhV1lnS0hOd2NtbHVaMEp2Ym1WelJHOXVaUzVvWVhNb2MzQnlhVzVuUW05dVpTa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jM0J5YVc1blFtOXVaWE5VY21sbFpDNW9ZWE1vYzNCeWFXNW5RbTl1WlNrcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblZsSk5VM0J5YVc1blFtOXVaVTFoYm1GblpYSTZJRU5wY21OMWJHRnlJR1JsY0dWdVpHVnVZM2tnWkdWMFpXTjBaV1FnZDJocGJHVWdkWEJrWVhScGJtY2djM0J5YVc1blltOXVaWE1uS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjM0J5YVc1blFtOXVaWE5VY21sbFpDNWhaR1FvYzNCeWFXNW5RbTl1WlNrN1hHNWNiaUFnSUNCamIyNXpkQ0JrWlhCUFltcGxZM1J6SUQwZ2RHaHBjeTVmWjJWMFJHVndaVzVrWlc1amFXVnpLSE53Y21sdVowSnZibVVwTzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnWkdWd1QySnFaV04wSUc5bUlHUmxjRTlpYW1WamRITXBJSHRjYmlBZ0lDQWdJSFJ5WVhabGNuTmxRVzVqWlhOMGIzSnpSbkp2YlZKdmIzUW9aR1Z3VDJKcVpXTjBMQ0FvWkdWd1QySnFaV04wUVc1alpYTjBiM0lwSUQwK0lIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2IySnFaV04wVTJWMElEMGdkR2hwY3k1ZmIySnFaV04wVTNCeWFXNW5RbTl1WlhOTllYQXVaMlYwS0dSbGNFOWlhbVZqZEVGdVkyVnpkRzl5S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzlpYW1WamRGTmxkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdaR1Z3VTNCeWFXNW5RbTl1WlNCdlppQnZZbXBsWTNSVFpYUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WDNCeWIyTmxjM05UY0hKcGJtZENiMjVsS0dSbGNGTndjbWx1WjBKdmJtVXNJSE53Y21sdVowSnZibVZ6VkhKcFpXUXNJSE53Y21sdVowSnZibVZ6Ukc5dVpTd2diMkpxWldOMFZYQmtZWFJsWkN3Z1kyRnNiR0poWTJzcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNnaGIySnFaV04wVlhCa1lYUmxaQzVvWVhNb1pHVndUMkpxWldOMFFXNWpaWE4wYjNJcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2RYQmtZWFJsSUcxaGRISnBlQ0J2WmlCdWIyNHRjM0J5YVc1blltOXVaVnh1SUNBZ0lDQWdJQ0FnSUdSbGNFOWlhbVZqZEVGdVkyVnpkRzl5TG5Wd1pHRjBaVmR2Y214a1RXRjBjbWw0S0daaGJITmxMQ0JtWVd4elpTazdYRzRnSUNBZ0lDQWdJQ0FnYjJKcVpXTjBWWEJrWVhSbFpDNWhaR1FvWkdWd1QySnFaV04wUVc1alpYTjBiM0lwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QjFjR1JoZEdVZ2JYa2diV0YwY21sNFhHNGdJQ0FnYzNCeWFXNW5RbTl1WlM1aWIyNWxMblZ3WkdGMFpVMWhkSEpwZUNncE8xeHVJQ0FnSUhOd2NtbHVaMEp2Ym1VdVltOXVaUzUxY0dSaGRHVlhiM0pzWkUxaGRISnBlQ2htWVd4elpTd2dabUZzYzJVcE8xeHVYRzRnSUNBZ1kyRnNiR0poWTJzb2MzQnlhVzVuUW05dVpTazdYRzVjYmlBZ0lDQnZZbXBsWTNSVmNHUmhkR1ZrTG1Ga1pDaHpjSEpwYm1kQ2IyNWxMbUp2Ym1VcE8xeHVYRzRnSUNBZ2MzQnlhVzVuUW05dVpYTkViMjVsTG1Ga1pDaHpjSEpwYm1kQ2IyNWxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnWVNCelpYUWdiMllnYjJKcVpXTjBjeUIwYUdGMElHRnlaU0JrWlhCbGJtUmhiblFnYjJZZ1oybDJaVzRnYzNCeWFXNW5JR0p2Ym1VdVhHNGdJQ0FxSUVCd1lYSmhiU0J6Y0hKcGJtZENiMjVsSUVFZ2MzQnlhVzVuSUdKdmJtVmNiaUFnSUNvZ1FISmxkSFZ5YmlCQklITmxkQ0J2WmlCdlltcGxZM1J6SUhSb1lYUWdZWEpsSUdSbGNHVnVaR0Z1ZENCdlppQm5hWFpsYmlCemNISnBibWNnWW05dVpWeHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmZaMlYwUkdWd1pXNWtaVzVqYVdWektITndjbWx1WjBKdmJtVTZJRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkQ2s2SUZObGREeFVTRkpGUlM1UFltcGxZM1F6UkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSE5sZENBOUlHNWxkeUJUWlhROFZFaFNSVVV1VDJKcVpXTjBNMFErS0NrN1hHNWNiaUFnSUNCamIyNXpkQ0J3WVhKbGJuUWdQU0J6Y0hKcGJtZENiMjVsTG1KdmJtVXVjR0Z5Wlc1ME8xeHVJQ0FnSUdsbUlDaHdZWEpsYm5RcElIdGNiaUFnSUNBZ0lITmxkQzVoWkdRb2NHRnlaVzUwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J6Y0hKcGJtZENiMjVsTG1OdmJHeHBaR1Z5UjNKdmRYQnpMbVp2Y2tWaFkyZ29LR052Ykd4cFpHVnlSM0p2ZFhBcElEMCtJSHRjYmlBZ0lDQWdJR052Ykd4cFpHVnlSM0p2ZFhBdVkyOXNiR2xrWlhKekxtWnZja1ZoWTJnb0tHTnZiR3hwWkdWeUtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUhObGRDNWhaR1FvWTI5c2JHbGtaWElwTzF4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYzJWME8xeHVJQ0I5WEc1OVhHNGlMQ0pwYlhCdmNuUWdkSGx3WlNBcUlHRnpJRll3VmxKTklHWnliMjBnSjBCd2FYaHBkaTkwZVhCbGN5MTJjbTB0TUM0d0p6dGNibWx0Y0c5eWRDQjBlWEJsSUNvZ1lYTWdWakZUY0hKcGJtZENiMjVsVTJOb1pXMWhJR1p5YjIwZ0owQndhWGhwZGk5MGVYQmxjeTEyY20xakxYTndjbWx1WjJKdmJtVXRNUzR3Snp0Y2JtbHRjRzl5ZENBcUlHRnpJRlJJVWtWRklHWnliMjBnSjNSb2NtVmxKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSMHhVUml3Z1IweFVSa3h2WVdSbGNsQnNkV2RwYml3Z1IweFVSbEJoY25ObGNpQjlJR1p5YjIwZ0ozUm9jbVZsTDJWNFlXMXdiR1Z6TDJwemJTOXNiMkZrWlhKekwwZE1WRVpNYjJGa1pYSXVhbk1uTzF4dWFXMXdiM0owSUhzZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlTR1ZzY0dWeUxDQldVazFUY0hKcGJtZENiMjVsU205cGJuUklaV3h3WlhJZ2ZTQm1jbTl0SUNjdUwyaGxiSEJsY25Nbk8xeHVhVzF3YjNKMElIc2dWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5SUgwZ1puSnZiU0FuTGk5V1VrMVRjSEpwYm1kQ2IyNWxRMjlzYkdsa1pYSW5PMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWEpIY205MWNDQjlJR1p5YjIwZ0p5NHZWbEpOVTNCeWFXNW5RbTl1WlVOdmJHeHBaR1Z5UjNKdmRYQW5PMXh1YVcxd2IzSjBJSHNnVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1ZEWVhCemRXeGxJSDBnWm5KdmJTQW5MaTlXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKVGFHRndaVU5oY0hOMWJHVW5PMXh1YVcxd2IzSjBJSHNnVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVUyaGhjR1ZUY0dobGNtVWdmU0JtY205dElDY3VMMVpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2xOb1lYQmxVM0JvWlhKbEp6dGNibWx0Y0c5eWRDQjdJRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkQ0I5SUdaeWIyMGdKeTR2VmxKTlUzQnlhVzVuUW05dVpVcHZhVzUwSnp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnVmxKTlUzQnlhVzVuUW05dVpVeHZZV1JsY2xCc2RXZHBiazl3ZEdsdmJuTWdmU0JtY205dElDY3VMMVpTVFZOd2NtbHVaMEp2Ym1WTWIyRmtaWEpRYkhWbmFXNVBjSFJwYjI1ekp6dGNibWx0Y0c5eWRDQjdJRlpTVFZOd2NtbHVaMEp2Ym1WTllXNWhaMlZ5SUgwZ1puSnZiU0FuTGk5V1VrMVRjSEpwYm1kQ2IyNWxUV0Z1WVdkbGNpYzdYRzVwYlhCdmNuUWdkSGx3WlNCN0lGWlNUVk53Y21sdVowSnZibVZLYjJsdWRGTmxkSFJwYm1keklIMGdabkp2YlNBbkxpOVdVazFUY0hKcGJtZENiMjVsU205cGJuUlRaWFIwYVc1bmN5YzdYRzVwYlhCdmNuUWdleUJIVEZSR0lHRnpJRWRNVkVaVFkyaGxiV0VnZlNCbWNtOXRJQ2RBWjJ4MFppMTBjbUZ1YzJadmNtMHZZMjl5WlNjN1hHNWNiaThxS2x4dUlDb2dVRzl6YzJsaWJHVWdjM0JsWXlCMlpYSnphVzl1Y3lCcGRDQnlaV052WjI1cGVtVnpMbHh1SUNvdlhHNWpiMjV6ZENCUVQxTlRTVUpNUlY5VFVFVkRYMVpGVWxOSlQwNVRJRDBnYm1WM0lGTmxkQ2hiSnpFdU1DY3NJQ2N4TGpBdFltVjBZU2RkS1R0Y2JseHVaWGh3YjNKMElHTnNZWE56SUZaU1RWTndjbWx1WjBKdmJtVk1iMkZrWlhKUWJIVm5hVzRnYVcxd2JHVnRaVzUwY3lCSFRGUkdURzloWkdWeVVHeDFaMmx1SUh0Y2JpQWdjSFZpYkdsaklITjBZWFJwWXlCeVpXRmtiMjVzZVNCRldGUkZUbE5KVDA1ZlRrRk5SU0E5SUNkV1VrMURYM053Y21sdVowSnZibVVuTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJUY0dWamFXWjVJR0Z1SUU5aWFtVmpkRE5FSUhSdklHRmtaQ0I3UUd4cGJtc2dWbEpOVTNCeWFXNW5RbTl1WlVwdmFXNTBTR1ZzY0dWeWZTQnpMbHh1SUNBZ0tpQkpaaUJ1YjNRZ2MzQmxZMmxtYVdWa0xDQm9aV3h3WlhJZ2QybHNiQ0J1YjNRZ1ltVWdZM0psWVhSbFpDNWNiaUFnSUNvZ1NXWWdZSEpsYm1SbGNrOXlaR1Z5WUNCcGN5QnpaWFFnZEc4Z2RHaGxJSEp2YjNRc0lHaGxiSEJsY25NZ2QybHNiQ0JqYjNCNUlIUm9aU0J6WVcxbElHQnlaVzVrWlhKUGNtUmxjbUFnTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdwdmFXNTBTR1ZzY0dWeVVtOXZkRDg2SUZSSVVrVkZMazlpYW1WamRETkVPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlRjR1ZqYVdaNUlHRnVJRTlpYW1WamRETkVJSFJ2SUdGa1pDQjdRR3hwYm1zZ1ZsSk5VM0J5YVc1blFtOXVaVXB2YVc1MFNHVnNjR1Z5ZlNCekxseHVJQ0FnS2lCSlppQnViM1FnYzNCbFkybG1hV1ZrTENCb1pXeHdaWElnZDJsc2JDQnViM1FnWW1VZ1kzSmxZWFJsWkM1Y2JpQWdJQ29nU1dZZ1lISmxibVJsY2s5eVpHVnlZQ0JwY3lCelpYUWdkRzhnZEdobElISnZiM1FzSUdobGJIQmxjbk1nZDJsc2JDQmpiM0I1SUhSb1pTQnpZVzFsSUdCeVpXNWtaWEpQY21SbGNtQWdMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR052Ykd4cFpHVnlTR1ZzY0dWeVVtOXZkRDg2SUZSSVVrVkZMazlpYW1WamRETkVPMXh1WEc0Z0lIQjFZbXhwWXlCeVpXRmtiMjVzZVNCd1lYSnpaWEk2SUVkTVZFWlFZWEp6WlhJN1hHNWNiaUFnY0hWaWJHbGpJR2RsZENCdVlXMWxLQ2s2SUhOMGNtbHVaeUI3WEc0Z0lDQWdjbVYwZFhKdUlGWlNUVk53Y21sdVowSnZibVZNYjJGa1pYSlFiSFZuYVc0dVJWaFVSVTVUU1U5T1gwNUJUVVU3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2NHRnljMlZ5T2lCSFRGUkdVR0Z5YzJWeUxDQnZjSFJwYjI1elB6b2dWbEpOVTNCeWFXNW5RbTl1WlV4dllXUmxjbEJzZFdkcGJrOXdkR2x2Ym5NcElIdGNiaUFnSUNCMGFHbHpMbkJoY25ObGNpQTlJSEJoY25ObGNqdGNibHh1SUNBZ0lIUm9hWE11YW05cGJuUklaV3h3WlhKU2IyOTBJRDBnYjNCMGFXOXVjejh1YW05cGJuUklaV3h3WlhKU2IyOTBPMXh1SUNBZ0lIUm9hWE11WTI5c2JHbGtaWEpJWld4d1pYSlNiMjkwSUQwZ2IzQjBhVzl1Y3o4dVkyOXNiR2xrWlhKSVpXeHdaWEpTYjI5ME8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHRnplVzVqSUdGbWRHVnlVbTl2ZENobmJIUm1PaUJIVEZSR0tUb2dVSEp2YldselpUeDJiMmxrUGlCN1hHNGdJQ0FnWjJ4MFppNTFjMlZ5UkdGMFlTNTJjbTFUY0hKcGJtZENiMjVsVFdGdVlXZGxjaUE5SUdGM1lXbDBJSFJvYVhNdVgybHRjRzl5ZENobmJIUm1LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSmJYQnZjblFnYzNCeWFXNW5JR0p2Ym1WeklHWnliMjBnWVNCSFRGUkdJR0Z1WkNCeVpYUjFjbTRnWVNCN1FHeHBibXNnVmxKTlUzQnlhVzVuUW05dVpVMWhibUZuWlhKOUxseHVJQ0FnS2lCSmRDQnRhV2RvZENCeVpYUjFjbTRnWUc1MWJHeGdJR2x1YzNSbFlXUWdkMmhsYmlCcGRDQmtiMlZ6SUc1dmRDQnVaV1ZrSUhSdklHSmxJR055WldGMFpXUWdiM0lnYzI5dFpYUm9hVzVuSUdkdklIZHliMjVuTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ1oyeDBaaUJCSUhCaGNuTmxaQ0J5WlhOMWJIUWdiMllnUjB4VVJpQjBZV3RsYmlCbWNtOXRJRWRNVkVaTWIyRmtaWEpjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdYMmx0Y0c5eWRDaG5iSFJtT2lCSFRGUkdLVG9nVUhKdmJXbHpaVHhXVWsxVGNISnBibWRDYjI1bFRXRnVZV2RsY2lCOElHNTFiR3crSUh0Y2JpQWdJQ0JqYjI1emRDQjJNVkpsYzNWc2RDQTlJR0YzWVdsMElIUm9hWE11WDNZeFNXMXdiM0owS0dkc2RHWXBPMXh1SUNBZ0lHbG1JQ2gyTVZKbGMzVnNkQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkakZTWlhOMWJIUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnZGpCU1pYTjFiSFFnUFNCaGQyRnBkQ0IwYUdsekxsOTJNRWx0Y0c5eWRDaG5iSFJtS1R0Y2JpQWdJQ0JwWmlBb2RqQlNaWE4xYkhRZ0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhZd1VtVnpkV3gwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCaGMzbHVZeUJmZGpGSmJYQnZjblFvWjJ4MFpqb2dSMHhVUmlrNklGQnliMjFwYzJVOFZsSk5VM0J5YVc1blFtOXVaVTFoYm1GblpYSWdmQ0J1ZFd4c1BpQjdYRzRnSUNBZ1kyOXVjM1FnYW5OdmJpQTlJR2RzZEdZdWNHRnljMlZ5TG1wemIyNGdZWE1nUjB4VVJsTmphR1Z0WVM1SlIweFVSanRjYmx4dUlDQWdJQzh2SUdWaGNteDVJR0ZpYjNKMElHbG1JR2wwSUdSdlpYTnVKM1FnZFhObElITndjbWx1WnlCaWIyNWxjMXh1SUNBZ0lHTnZibk4wSUdselUzQnlhVzVuUW05dVpWVnpaV1FnUFNCcWMyOXVMbVY0ZEdWdWMybHZibk5WYzJWa1B5NXBibVJsZUU5bUtGWlNUVk53Y21sdVowSnZibVZNYjJGa1pYSlFiSFZuYVc0dVJWaFVSVTVUU1U5T1gwNUJUVVVwSUNFOVBTQXRNVHRjYmlBZ0lDQnBaaUFvSVdselUzQnlhVzVuUW05dVpWVnpaV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJRzFoYm1GblpYSWdQU0J1WlhjZ1ZsSk5VM0J5YVc1blFtOXVaVTFoYm1GblpYSW9LVHRjYmx4dUlDQWdJR052Ym5OMElIUm9jbVZsVG05a1pYTTZJRlJJVWtWRkxrOWlhbVZqZERORVcxMGdQU0JoZDJGcGRDQm5iSFJtTG5CaGNuTmxjaTVuWlhSRVpYQmxibVJsYm1OcFpYTW9KMjV2WkdVbktUdGNibHh1SUNBZ0lHTnZibk4wSUdWNGRHVnVjMmx2YmlBOUlHcHpiMjR1WlhoMFpXNXphVzl1Y3o4dVcxWlNUVk53Y21sdVowSnZibVZNYjJGa1pYSlFiSFZuYVc0dVJWaFVSVTVUU1U5T1gwNUJUVVZkSUdGelhHNGdJQ0FnSUNCOElGWXhVM0J5YVc1blFtOXVaVk5qYUdWdFlTNVdVazFEVTNCeWFXNW5RbTl1WlZ4dUlDQWdJQ0FnZkNCMWJtUmxabWx1WldRN1hHNGdJQ0FnYVdZZ0tDRmxlSFJsYm5OcGIyNHBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElITndaV05XWlhKemFXOXVJRDBnWlhoMFpXNXphVzl1TG5Od1pXTldaWEp6YVc5dU8xeHVJQ0FnSUdsbUlDZ2hVRTlUVTBsQ1RFVmZVMUJGUTE5V1JWSlRTVTlPVXk1b1lYTW9jM0JsWTFabGNuTnBiMjRwS1NCN1hHNGdJQ0FnSUNCamIyNXpiMnhsTG5kaGNtNG9YRzRnSUNBZ0lDQWdJR0JXVWsxVGNISnBibWRDYjI1bFRHOWhaR1Z5VUd4MVoybHVPaUJWYm10dWIzZHVJQ1I3VmxKTlUzQnlhVzVuUW05dVpVeHZZV1JsY2xCc2RXZHBiaTVGV0ZSRlRsTkpUMDVmVGtGTlJYMGdjM0JsWTFabGNuTnBiMjRnWENJa2UzTndaV05XWlhKemFXOXVmVndpWUN4Y2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JqYjJ4c2FXUmxjbk1nUFNCbGVIUmxibk5wYjI0dVkyOXNiR2xrWlhKelB5NXRZWEFvS0hOamFHVnRZVU52Ykd4cFpHVnlMQ0JwUTI5c2JHbGtaWElwSUQwK0lIdGNiaUFnSUNBZ0lHTnZibk4wSUc1dlpHVWdQU0IwYUhKbFpVNXZaR1Z6VzNOamFHVnRZVU52Ykd4cFpHVnlMbTV2WkdVaFhUdGNiaUFnSUNBZ0lHTnZibk4wSUhOamFHVnRZVk5vWVhCbElEMGdjMk5vWlcxaFEyOXNiR2xrWlhJdWMyaGhjR1VoTzF4dVhHNGdJQ0FnSUNCcFppQW9jMk5vWlcxaFUyaGhjR1V1YzNCb1pYSmxLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXBiWEJ2Y25SVGNHaGxjbVZEYjJ4c2FXUmxjaWh1YjJSbExDQjdYRzRnSUNBZ0lDQWdJQ0FnYjJabWMyVjBPaUJ1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTG1aeWIyMUJjbkpoZVNoelkyaGxiV0ZUYUdGd1pTNXpjR2hsY21VdWIyWm1jMlYwSUQ4L0lGc3dMakFzSURBdU1Dd2dNQzR3WFNrc1hHNGdJQ0FnSUNBZ0lDQWdjbUZrYVhWek9pQnpZMmhsYldGVGFHRndaUzV6Y0dobGNtVXVjbUZrYVhWeklEOC9JREF1TUN4Y2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLSE5qYUdWdFlWTm9ZWEJsTG1OaGNITjFiR1VwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMmx0Y0c5eWRFTmhjSE4xYkdWRGIyeHNhV1JsY2lodWIyUmxMQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2IyWm1jMlYwT2lCdVpYY2dWRWhTUlVVdVZtVmpkRzl5TXlncExtWnliMjFCY25KaGVTaHpZMmhsYldGVGFHRndaUzVqWVhCemRXeGxMbTltWm5ObGRDQS9QeUJiTUM0d0xDQXdMakFzSURBdU1GMHBMRnh1SUNBZ0lDQWdJQ0FnSUhKaFpHbDFjem9nYzJOb1pXMWhVMmhoY0dVdVkyRndjM1ZzWlM1eVlXUnBkWE1nUHo4Z01DNHdMRnh1SUNBZ0lDQWdJQ0FnSUhSaGFXdzZJRzVsZHlCVVNGSkZSUzVXWldOMGIzSXpLQ2t1Wm5KdmJVRnljbUY1S0hOamFHVnRZVk5vWVhCbExtTmhjSE4xYkdVdWRHRnBiQ0EvUHlCYk1DNHdMQ0F3TGpBc0lEQXVNRjBwTEZ4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQldVazFUY0hKcGJtZENiMjVsVEc5aFpHVnlVR3gxWjJsdU9pQlVhR1VnWTI5c2JHbGtaWElnSXlSN2FVTnZiR3hwWkdWeWZTQm9ZWE1nYm04Z2RtRnNhV1FnYzJoaGNHVmdLVHRjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJR052Ym5OMElHTnZiR3hwWkdWeVIzSnZkWEJ6SUQwZ1pYaDBaVzV6YVc5dUxtTnZiR3hwWkdWeVIzSnZkWEJ6UHk1dFlYQW9YRzRnSUNBZ0lDQW9jMk5vWlcxaFEyOXNiR2xrWlhKSGNtOTFjQ3dnYVVOdmJHeHBaR1Z5UjNKdmRYQXBPaUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKSGNtOTFjQ0E5UGlCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdOdmJITWdQU0FvYzJOb1pXMWhRMjlzYkdsa1pYSkhjbTkxY0M1amIyeHNhV1JsY25NZ1B6OGdXMTBwTG0xaGNDZ29hVU52Ykd4cFpHVnlLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kyOXNJRDBnWTI5c2JHbGtaWEp6UHk1YmFVTnZiR3hwWkdWeVhUdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGpiMndnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCZ1ZsSk5VM0J5YVc1blFtOXVaVXh2WVdSbGNsQnNkV2RwYmpvZ1ZHaGxJR052Ykd4cFpHVnlSM0p2ZFhBZ0l5UjdhVU52Ykd4cFpHVnlSM0p2ZFhCOUlHRjBkR1Z0Y0hSbFpDQjBieUIxYzJVZ1lTQmpiMnhzYVdSbGNpQWpKSHRwUTI5c2JHbGtaWEo5SUdKMWRDQnViM1FnWm05MWJtUmdMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyOXNPMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJR052Ykd4cFpHVnljem9nWTI5c2N5eGNiaUFnSUNBZ0lDQWdJQ0J1WVcxbE9pQnpZMmhsYldGRGIyeHNhV1JsY2tkeWIzVndMbTVoYldVc1hHNGdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDazdYRzVjYmlBZ0lDQmxlSFJsYm5OcGIyNHVjM0J5YVc1bmN6OHVabTl5UldGamFDZ29jMk5vWlcxaFUzQnlhVzVuTENCcFUzQnlhVzVuS1NBOVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCelkyaGxiV0ZLYjJsdWRITWdQU0J6WTJobGJXRlRjSEpwYm1jdWFtOXBiblJ6TzF4dVhHNGdJQ0FnSUNBdkx5QndjbVZ3WVhKbElHTnZiR3hwWkdWeWMxeHVJQ0FnSUNBZ1kyOXVjM1FnWTI5c2JHbGtaWEpIY205MWNITkdiM0pUY0hKcGJtY2dQU0J6WTJobGJXRlRjSEpwYm1jdVkyOXNiR2xrWlhKSGNtOTFjSE0vTG0xaGNDZ29hVU52Ykd4cFpHVnlSM0p2ZFhBcElEMCtJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaM0p2ZFhBZ1BTQmpiMnhzYVdSbGNrZHliM1Z3Y3o4dVcybERiMnhzYVdSbGNrZHliM1Z3WFR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvWjNKdmRYQWdQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lHQldVazFUY0hKcGJtZENiMjVsVEc5aFpHVnlVR3gxWjJsdU9pQlVhR1VnYzNCeWFXNW5JQ01rZTJsVGNISnBibWQ5SUdGMGRHVnRjSFJsWkNCMGJ5QjFjMlVnWVNCamIyeHNhV1JsY2tkeWIzVndJQ1I3YVVOdmJHeHBaR1Z5UjNKdmRYQjlJR0oxZENCdWIzUWdabTkxYm1SZ0xGeHVJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ozSnZkWEE3WEc0Z0lDQWdJQ0I5S1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnWTJWdWRHVnlJRDBnYzJOb1pXMWhVM0J5YVc1bkxtTmxiblJsY2lBaFBTQnVkV3hzSUQ4Z2RHaHlaV1ZPYjJSbGMxdHpZMmhsYldGVGNISnBibWN1WTJWdWRHVnlYU0E2SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUNBZ2JHVjBJSEJ5WlhaVFkyaGxiV0ZLYjJsdWREb2dWakZUY0hKcGJtZENiMjVsVTJOb1pXMWhMbE53Y21sdVowSnZibVZLYjJsdWRDQjhJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJSE5qYUdWdFlVcHZhVzUwY3k1bWIzSkZZV05vS0NoelkyaGxiV0ZLYjJsdWRDa2dQVDRnZTF4dUlDQWdJQ0FnSUNCcFppQW9jSEpsZGxOamFHVnRZVXB2YVc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2NISmxjR0Z5WlNCdWIyUmxYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdibTlrWlVsdVpHVjRJRDBnY0hKbGRsTmphR1Z0WVVwdmFXNTBMbTV2WkdVN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JtOWtaU0E5SUhSb2NtVmxUbTlrWlhOYmJtOWtaVWx1WkdWNFhUdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQmphR2xzWkVsdVpHVjRJRDBnYzJOb1pXMWhTbTlwYm5RdWJtOWtaVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYUdsc1pDQTlJSFJvY21WbFRtOWtaWE5iWTJocGJHUkpibVJsZUYwN1hHNWNiaUFnSUNBZ0lDQWdJQ0F2THlCd2NtVndZWEpsSUhObGRIUnBibWRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6WlhSMGFXNW5PaUJRWVhKMGFXRnNQRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkRk5sZEhScGJtZHpQaUE5SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2hwZEZKaFpHbDFjem9nY0hKbGRsTmphR1Z0WVVwdmFXNTBMbWhwZEZKaFpHbDFjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHUnlZV2RHYjNKalpUb2djSEpsZGxOamFHVnRZVXB2YVc1MExtUnlZV2RHYjNKalpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdkeVlYWnBkSGxRYjNkbGNqb2djSEpsZGxOamFHVnRZVXB2YVc1MExtZHlZWFpwZEhsUWIzZGxjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lITjBhV1ptYm1WemN6b2djSEpsZGxOamFHVnRZVXB2YVc1MExuTjBhV1ptYm1WemN5eGNiaUFnSUNBZ0lDQWdJQ0FnSUdkeVlYWnBkSGxFYVhJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhCeVpYWlRZMmhsYldGS2IybHVkQzVuY21GMmFYUjVSR2x5SUNFOUlHNTFiR3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0EvSUc1bGR5QlVTRkpGUlM1V1pXTjBiM0l6S0NrdVpuSnZiVUZ5Y21GNUtIQnlaWFpUWTJobGJXRktiMmx1ZEM1bmNtRjJhWFI1UkdseUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEb2dkVzVrWldacGJtVmtMRnh1SUNBZ0lDQWdJQ0FnSUgwN1hHNWNiaUFnSUNBZ0lDQWdJQ0F2THlCamNtVmhkR1VnYzNCeWFXNW5JR0p2Ym1WelhHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2FtOXBiblFnUFNCMGFHbHpMbDlwYlhCdmNuUktiMmx1ZENodWIyUmxMQ0JqYUdsc1pDd2djMlYwZEdsdVp5d2dZMjlzYkdsa1pYSkhjbTkxY0hOR2IzSlRjSEpwYm1jcE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoalpXNTBaWElwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3B2YVc1MExtTmxiblJsY2lBOUlHTmxiblJsY2p0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCdFlXNWhaMlZ5TG1Ga1pFcHZhVzUwS0dwdmFXNTBLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lIQnlaWFpUWTJobGJXRktiMmx1ZENBOUlITmphR1Z0WVVwdmFXNTBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0F2THlCcGJtbDBJSE53Y21sdVp5QmliMjVsYzF4dUlDQWdJRzFoYm1GblpYSXVjMlYwU1c1cGRGTjBZWFJsS0NrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYldGdVlXZGxjanRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdYM1l3U1cxd2IzSjBLR2RzZEdZNklFZE1WRVlwT2lCUWNtOXRhWE5sUEZaU1RWTndjbWx1WjBKdmJtVk5ZVzVoWjJWeUlId2diblZzYkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJR3B6YjI0Z1BTQm5iSFJtTG5CaGNuTmxjaTVxYzI5dUlHRnpJRWRNVkVaVFkyaGxiV0V1U1VkTVZFWTdYRzVjYmlBZ0lDQXZMeUJsWVhKc2VTQmhZbTl5ZENCcFppQnBkQ0JrYjJWemJpZDBJSFZ6WlNCMmNtMWNiaUFnSUNCamIyNXpkQ0JwYzFaU1RWVnpaV1FnUFNCcWMyOXVMbVY0ZEdWdWMybHZibk5WYzJWa1B5NXBibVJsZUU5bUtDZFdVazBuS1NBaFBUMGdMVEU3WEc0Z0lDQWdhV1lnS0NGcGMxWlNUVlZ6WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJR1ZoY214NUlHRmliM0owSUdsbUlHbDBJR1J2WlhOdUozUWdhR0YyWlNCaWIyNWxJR2R5YjNWd2MxeHVJQ0FnSUdOdmJuTjBJR1Y0ZEdWdWMybHZiaUE5SUdwemIyNHVaWGgwWlc1emFXOXVjejh1V3lkV1VrMG5YU0JoY3lCV01GWlNUUzVXVWswZ2ZDQjFibVJsWm1sdVpXUTdYRzRnSUNBZ1kyOXVjM1FnYzJOb1pXMWhVMlZqYjI1a1lYSjVRVzVwYldGMGFXOXVJRDBnWlhoMFpXNXphVzl1UHk1elpXTnZibVJoY25sQmJtbHRZWFJwYjI0N1hHNGdJQ0FnYVdZZ0tDRnpZMmhsYldGVFpXTnZibVJoY25sQmJtbHRZWFJwYjI0cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhOamFHVnRZVUp2Ym1WSGNtOTFjSE1nUFNCelkyaGxiV0ZUWldOdmJtUmhjbmxCYm1sdFlYUnBiMjQvTG1KdmJtVkhjbTkxY0hNN1hHNGdJQ0FnYVdZZ0tDRnpZMmhsYldGQ2IyNWxSM0p2ZFhCektTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCdFlXNWhaMlZ5SUQwZ2JtVjNJRlpTVFZOd2NtbHVaMEp2Ym1WTllXNWhaMlZ5S0NrN1hHNWNiaUFnSUNCamIyNXpkQ0IwYUhKbFpVNXZaR1Z6T2lCVVNGSkZSUzVQWW1wbFkzUXpSRnRkSUQwZ1lYZGhhWFFnWjJ4MFppNXdZWEp6WlhJdVoyVjBSR1Z3Wlc1a1pXNWphV1Z6S0NkdWIyUmxKeWs3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiMnhzYVdSbGNrZHliM1Z3Y3lBOUlITmphR1Z0WVZObFkyOXVaR0Z5ZVVGdWFXMWhkR2x2Ymk1amIyeHNhV1JsY2tkeWIzVndjejh1YldGd0tGeHVJQ0FnSUNBZ0tITmphR1Z0WVVOdmJHeHBaR1Z5UjNKdmRYQXBPaUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKSGNtOTFjQ0E5UGlCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc1dlpHVWdQU0IwYUhKbFpVNXZaR1Z6VzNOamFHVnRZVU52Ykd4cFpHVnlSM0p2ZFhBdWJtOWtaU0ZkTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JqYjJ4c2FXUmxjbk1nUFNBb2MyTm9aVzFoUTI5c2JHbGtaWEpIY205MWNDNWpiMnhzYVdSbGNuTWdQejhnVzEwcExtMWhjQ2dvYzJOb1pXMWhRMjlzYkdsa1pYSXNJR2xEYjJ4c2FXUmxjaWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHOW1abk5sZENBOUlHNWxkeUJVU0ZKRlJTNVdaV04wYjNJektEQXVNQ3dnTUM0d0xDQXdMakFwTzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h6WTJobGJXRkRiMnhzYVdSbGNpNXZabVp6WlhRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkQzV6WlhRb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhOamFHVnRZVU52Ykd4cFpHVnlMbTltWm5ObGRDNTRJRDgvSURBdU1DeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2MyTm9aVzFoUTI5c2JHbGtaWEl1YjJabWMyVjBMbmtnUHo4Z01DNHdMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnpZMmhsYldGRGIyeHNhV1JsY2k1dlptWnpaWFF1ZWlBL0lDMXpZMmhsYldGRGIyeHNhV1JsY2k1dlptWnpaWFF1ZWlBNklEQXVNQ3dnTHk4Z2VpQnBjeUJ2Y0hCdmMybDBaU0JwYmlCV1VrMHdMakJjYmlBZ0lDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDJsdGNHOXlkRk53YUdWeVpVTnZiR3hwWkdWeUtHNXZaR1VzSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUhKaFpHbDFjem9nYzJOb1pXMWhRMjlzYkdsa1pYSXVjbUZrYVhWeklEOC9JREF1TUN4Y2JpQWdJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIc2dZMjlzYkdsa1pYSnpJSDA3WEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0F2THlCcGJYQnZjblFnYzNCeWFXNW5JR0p2Ym1WeklHWnZjaUJsWVdOb0lITndjbWx1WnlCaWIyNWxJR2R5YjNWd2MxeHVJQ0FnSUhOamFHVnRZVUp2Ym1WSGNtOTFjSE0vTG1admNrVmhZMmdvS0hOamFHVnRZVUp2Ym1WSGNtOTFjQ3dnYVVKdmJtVkhjbTkxY0NrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2NtOXZkRWx1WkdsalpYTWdQU0J6WTJobGJXRkNiMjVsUjNKdmRYQXVZbTl1WlhNN1hHNGdJQ0FnSUNCcFppQW9JWEp2YjNSSmJtUnBZMlZ6S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtOXZkRWx1WkdsalpYTXVabTl5UldGamFDZ29jbTl2ZEVsdVpHVjRLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhKdmIzUWdQU0IwYUhKbFpVNXZaR1Z6VzNKdmIzUkpibVJsZUYwN1hHNWNiaUFnSUNBZ0lDQWdMeThnY0hKbGNHRnlaU0J6WlhSMGFXNW5YRzRnSUNBZ0lDQWdJR052Ym5OMElHZHlZWFpwZEhsRWFYSWdQU0J1WlhjZ1ZFaFNSVVV1Vm1WamRHOXlNeWdwTzF4dUlDQWdJQ0FnSUNCcFppQW9jMk5vWlcxaFFtOXVaVWR5YjNWd0xtZHlZWFpwZEhsRWFYSXBJSHRjYmlBZ0lDQWdJQ0FnSUNCbmNtRjJhWFI1UkdseUxuTmxkQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lITmphR1Z0WVVKdmJtVkhjbTkxY0M1bmNtRjJhWFI1UkdseUxuZ2dQejhnTUM0d0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnYzJOb1pXMWhRbTl1WlVkeWIzVndMbWR5WVhacGRIbEVhWEl1ZVNBL1B5QXdMakFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpZMmhsYldGQ2IyNWxSM0p2ZFhBdVozSmhkbWwwZVVScGNpNTZJRDgvSURBdU1DeGNiaUFnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHZHlZWFpwZEhsRWFYSXVjMlYwS0RBdU1Dd2dMVEV1TUN3Z01DNHdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUdObGJuUmxjaUE5SUhOamFHVnRZVUp2Ym1WSGNtOTFjQzVqWlc1MFpYSWdJVDBnYm5Wc2JDQS9JSFJvY21WbFRtOWtaWE5iYzJOb1pXMWhRbTl1WlVkeWIzVndMbU5sYm5SbGNsMGdPaUIxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYzJWMGRHbHVaem9nVUdGeWRHbGhiRHhXVWsxVGNISnBibWRDYjI1bFNtOXBiblJUWlhSMGFXNW5jejRnUFNCN1hHNGdJQ0FnSUNBZ0lDQWdhR2wwVW1Ga2FYVnpPaUJ6WTJobGJXRkNiMjVsUjNKdmRYQXVhR2wwVW1Ga2FYVnpMRnh1SUNBZ0lDQWdJQ0FnSUdSeVlXZEdiM0pqWlRvZ2MyTm9aVzFoUW05dVpVZHliM1Z3TG1SeVlXZEdiM0pqWlN4Y2JpQWdJQ0FnSUNBZ0lDQm5jbUYyYVhSNVVHOTNaWEk2SUhOamFHVnRZVUp2Ym1WSGNtOTFjQzVuY21GMmFYUjVVRzkzWlhJc1hHNGdJQ0FnSUNBZ0lDQWdjM1JwWm1adVpYTnpPaUJ6WTJobGJXRkNiMjVsUjNKdmRYQXVjM1JwWm1acGJtVnpjeXhjYmlBZ0lDQWdJQ0FnSUNCbmNtRjJhWFI1UkdseUxGeHVJQ0FnSUNBZ0lDQjlPMXh1WEc0Z0lDQWdJQ0FnSUM4dklIQnlaWEJoY21VZ1kyOXNiR2xrWlhKelhHNGdJQ0FnSUNBZ0lHTnZibk4wSUdOdmJHeHBaR1Z5UjNKdmRYQnpSbTl5VTNCeWFXNW5JRDBnYzJOb1pXMWhRbTl1WlVkeWIzVndMbU52Ykd4cFpHVnlSM0p2ZFhCelB5NXRZWEFvS0dsRGIyeHNhV1JsY2tkeWIzVndLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1ozSnZkWEFnUFNCamIyeHNhV1JsY2tkeWIzVndjejh1VzJsRGIyeHNhV1JsY2tkeWIzVndYVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2huY205MWNDQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR0JXVWsxVGNISnBibWRDYjI1bFRHOWhaR1Z5VUd4MVoybHVPaUJVYUdVZ2MzQnlhVzVuSUNNa2UybENiMjVsUjNKdmRYQjlJR0YwZEdWdGNIUmxaQ0IwYnlCMWMyVWdZU0JqYjJ4c2FXUmxja2R5YjNWd0lDUjdhVU52Ykd4cFpHVnlSM0p2ZFhCOUlHSjFkQ0J1YjNRZ1ptOTFibVJnTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdaM0p2ZFhBN1hHNGdJQ0FnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0FnSUM4dklHTnlaV0YwWlNCemNISnBibWNnWW05dVpYTmNiaUFnSUNBZ0lDQWdjbTl2ZEM1MGNtRjJaWEp6WlNnb2JtOWtaU2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTm9hV3hrT2lCVVNGSkZSUzVQWW1wbFkzUXpSQ0I4SUc1MWJHd2dQU0J1YjJSbExtTm9hV3hrY21WdVd6QmRJRDgvSUc1MWJHdzdYRzVjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JxYjJsdWRDQTlJSFJvYVhNdVgybHRjRzl5ZEVwdmFXNTBLRzV2WkdVc0lHTm9hV3hrTENCelpYUjBhVzVuTENCamIyeHNhV1JsY2tkeWIzVndjMFp2Y2xOd2NtbHVaeWs3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR05sYm5SbGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FtOXBiblF1WTJWdWRHVnlJRDBnWTJWdWRHVnlPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJRzFoYm1GblpYSXVZV1JrU205cGJuUW9hbTlwYm5RcE8xeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnTHk4Z2FXNXBkQ0J6Y0hKcGJtY2dZbTl1WlhOY2JpQWdJQ0JuYkhSbUxuTmpaVzVsTG5Wd1pHRjBaVTFoZEhKcGVGZHZjbXhrS0NrN1hHNGdJQ0FnYldGdVlXZGxjaTV6WlhSSmJtbDBVM1JoZEdVb0tUdGNibHh1SUNBZ0lISmxkSFZ5YmlCdFlXNWhaMlZ5TzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZmFXMXdiM0owU205cGJuUW9YRzRnSUNBZ2JtOWtaVG9nVkVoU1JVVXVUMkpxWldOME0wUXNYRzRnSUNBZ1kyaHBiR1E2SUZSSVVrVkZMazlpYW1WamRETkVMRnh1SUNBZ0lITmxkSFJwYm1jL09pQlFZWEowYVdGc1BGWlNUVk53Y21sdVowSnZibVZLYjJsdWRGTmxkSFJwYm1kelBpeGNiaUFnSUNCamIyeHNhV1JsY2tkeWIzVndjMFp2Y2xOd2NtbHVaejg2SUZaU1RWTndjbWx1WjBKdmJtVkRiMnhzYVdSbGNrZHliM1Z3VzEwc1hHNGdJQ2s2SUZaU1RWTndjbWx1WjBKdmJtVktiMmx1ZENCN1hHNGdJQ0FnWTI5dWMzUWdjM0J5YVc1blFtOXVaU0E5SUc1bGR5QldVazFUY0hKcGJtZENiMjVsU205cGJuUW9ibTlrWlN3Z1kyaHBiR1FzSUhObGRIUnBibWNzSUdOdmJHeHBaR1Z5UjNKdmRYQnpSbTl5VTNCeWFXNW5LVHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbXB2YVc1MFNHVnNjR1Z5VW05dmRDa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2FHVnNjR1Z5SUQwZ2JtVjNJRlpTVFZOd2NtbHVaMEp2Ym1WS2IybHVkRWhsYkhCbGNpaHpjSEpwYm1kQ2IyNWxLVHRjYmlBZ0lDQWdJSFJvYVhNdWFtOXBiblJJWld4d1pYSlNiMjkwTG1Ga1pDaG9aV3h3WlhJcE8xeHVJQ0FnSUNBZ2FHVnNjR1Z5TG5KbGJtUmxjazl5WkdWeUlEMGdkR2hwY3k1cWIybHVkRWhsYkhCbGNsSnZiM1F1Y21WdVpHVnlUM0prWlhJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSE53Y21sdVowSnZibVU3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUY5cGJYQnZjblJUY0dobGNtVkRiMnhzYVdSbGNpaGNiaUFnSUNCa1pYTjBhVzVoZEdsdmJqb2dWRWhTUlVVdVQySnFaV04wTTBRc1hHNGdJQ0FnY0dGeVlXMXpPaUI3WEc0Z0lDQWdJQ0J2Wm1aelpYUTZJRlJJVWtWRkxsWmxZM1J2Y2pNN1hHNGdJQ0FnSUNCeVlXUnBkWE02SUc1MWJXSmxjanRjYmlBZ0lDQjlMRnh1SUNBcE9pQldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWElnZTF4dUlDQWdJR052Ym5OMElIc2diMlptYzJWMExDQnlZV1JwZFhNZ2ZTQTlJSEJoY21GdGN6dGNibHh1SUNBZ0lHTnZibk4wSUhOb1lYQmxJRDBnYm1WM0lGWlNUVk53Y21sdVowSnZibVZEYjJ4c2FXUmxjbE5vWVhCbFUzQm9aWEpsS0hzZ2IyWm1jMlYwTENCeVlXUnBkWE1nZlNrN1hHNWNiaUFnSUNCamIyNXpkQ0JqYjJ4c2FXUmxjaUE5SUc1bGR5QldVazFUY0hKcGJtZENiMjVsUTI5c2JHbGtaWElvYzJoaGNHVXBPMXh1WEc0Z0lDQWdaR1Z6ZEdsdVlYUnBiMjR1WVdSa0tHTnZiR3hwWkdWeUtUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtTnZiR3hwWkdWeVNHVnNjR1Z5VW05dmRDa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2FHVnNjR1Z5SUQwZ2JtVjNJRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2tobGJIQmxjaWhqYjJ4c2FXUmxjaWs3WEc0Z0lDQWdJQ0IwYUdsekxtTnZiR3hwWkdWeVNHVnNjR1Z5VW05dmRDNWhaR1FvYUdWc2NHVnlLVHRjYmlBZ0lDQWdJR2hsYkhCbGNpNXlaVzVrWlhKUGNtUmxjaUE5SUhSb2FYTXVZMjlzYkdsa1pYSklaV3h3WlhKU2IyOTBMbkpsYm1SbGNrOXlaR1Z5TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQmpiMnhzYVdSbGNqdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMmx0Y0c5eWRFTmhjSE4xYkdWRGIyeHNhV1JsY2loY2JpQWdJQ0JrWlhOMGFXNWhkR2x2YmpvZ1ZFaFNSVVV1VDJKcVpXTjBNMFFzWEc0Z0lDQWdjR0Z5WVcxek9pQjdYRzRnSUNBZ0lDQnZabVp6WlhRNklGUklVa1ZGTGxabFkzUnZjak03WEc0Z0lDQWdJQ0J5WVdScGRYTTZJRzUxYldKbGNqdGNiaUFnSUNBZ0lIUmhhV3c2SUZSSVVrVkZMbFpsWTNSdmNqTTdYRzRnSUNBZ2ZTeGNiaUFnS1RvZ1ZsSk5VM0J5YVc1blFtOXVaVU52Ykd4cFpHVnlJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHOW1abk5sZEN3Z2NtRmthWFZ6TENCMFlXbHNJSDBnUFNCd1lYSmhiWE03WEc1Y2JpQWdJQ0JqYjI1emRDQnphR0Z3WlNBOUlHNWxkeUJXVWsxVGNISnBibWRDYjI1bFEyOXNiR2xrWlhKVGFHRndaVU5oY0hOMWJHVW9leUJ2Wm1aelpYUXNJSEpoWkdsMWN5d2dkR0ZwYkNCOUtUdGNibHh1SUNBZ0lHTnZibk4wSUdOdmJHeHBaR1Z5SUQwZ2JtVjNJRlpTVFZOd2NtbHVaMEp2Ym1WRGIyeHNhV1JsY2loemFHRndaU2s3WEc1Y2JpQWdJQ0JrWlhOMGFXNWhkR2x2Ymk1aFpHUW9ZMjlzYkdsa1pYSXBPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVZMjlzYkdsa1pYSklaV3h3WlhKU2IyOTBLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQm9aV3h3WlhJZ1BTQnVaWGNnVmxKTlUzQnlhVzVuUW05dVpVTnZiR3hwWkdWeVNHVnNjR1Z5S0dOdmJHeHBaR1Z5S1R0Y2JpQWdJQ0FnSUhSb2FYTXVZMjlzYkdsa1pYSklaV3h3WlhKU2IyOTBMbUZrWkNob1pXeHdaWElwTzF4dUlDQWdJQ0FnYUdWc2NHVnlMbkpsYm1SbGNrOXlaR1Z5SUQwZ2RHaHBjeTVqYjJ4c2FXUmxja2hsYkhCbGNsSnZiM1F1Y21WdVpHVnlUM0prWlhJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR052Ykd4cFpHVnlPMXh1SUNCOVhHNTlYRzRpWFN3aWJtRnRaWE1pT2xzaVgzWXpRU0lzSWw5Mk0wSWlMQ0pmYldGMFFTSmRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3p0QlFVRkJPenRCUVVWSE8wMUJRMjFDTERCQ1FVRXdRaXhEUVVGQk8wRkJjMEl2UXpzN1FVTjBRa1FzVFVGQlRVRXNUVUZCU1N4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBGQlEycERMRTFCUVUxRExFMUJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVVelFpeE5RVUZQTEdsRFFVRnJReXhUUVVGUkxEQkNRVUV3UWl4RFFVRkJPMEZCUXk5RkxFbEJRVUVzU1VGQlZ5eEpRVUZKTEVkQlFVRTdRVUZEWWl4UlFVRkJMRTlCUVU4c1UwRkJVeXhEUVVGRE8wdEJRMnhDTzBGQmFVSkVMRWxCUVVFc1YwRkJRU3hEUVVGdFFpeE5RVUV3UlN4RlFVRkJPenRCUVVNelJpeFJRVUZCTEV0QlFVc3NSVUZCUlN4RFFVRkRPMUZCUlZJc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4TlFVRk5MRXRCUVU0c1NVRkJRU3hKUVVGQkxFMUJRVTBzUzBGQlRpeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hOUVVGTkxFTkJRVVVzVFVGQlRTeHRRMEZCU1N4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOcVJTeEpRVUZKTEVOQlFVTXNTVUZCU1N4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxFMUJRVTBzUzBGQlRpeEpRVUZCTEVsQlFVRXNUVUZCVFN4TFFVRk9MRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEUxQlFVMHNRMEZCUlN4SlFVRkpMRzFEUVVGSkxFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzBGQlF6ZEVMRkZCUVVFc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZCTEVWQlFVRXNSMEZCUVN4TlFVRk5MRXRCUVVFc1NVRkJRU3hKUVVGT0xFMUJRVTBzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJUaXhOUVVGTkxFTkJRVVVzVFVGQlRTeE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZKTEVkQlFVY3NRMEZCUXp0TFFVTnlRenRCUVVWTkxFbEJRVUVzYTBKQlFXdENMRU5CUTNaQ0xHTkJRVFpDTEVWQlF6ZENMR05CUVRaQ0xFVkJRemRDTEZsQlFXOUNMRVZCUTNCQ0xFMUJRWEZDTEVWQlFVRTdRVUZGY2tJc1VVRkJRVVFzVFVGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zV1VGQldTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRPMEZCUTNCRUxGRkJRVUZETEUxQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEZsQlFWa3NRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRCUVVOc1JDeFJRVUZCUVN4TlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRFJDeE5RVUZKTEVOQlFVTXNRMEZCUXp0QlFVTm1MRkZCUVVFc1RVRkJUU3hsUVVGbExFZEJRVWRETEUxQlFVa3NRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRCUVVWNFF5eFJRVUZCTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZEUkN4TlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOMFF5eE5RVUZOTEVkQlFVY3NSMEZCUjBNc1RVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVVTNRaXhKUVVGSkxFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZIWmp0aFFVRk5MRWxCUVVrc1pVRkJaU3hKUVVGSkxFZEJRVWNzUlVGQlJUczdRVUZGYWtNc1dVRkJRU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZEUVN4TlFVRkpMRU5CUVVNc1EwRkJRenRCUVVOc1FpeFRRVUZCTzBGQlFVMHNZVUZCUVRzN1dVRkZURUVzVFVGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1pVRkJaU3hEUVVGRExFTkJRVU03UVVGRE0wTXNXVUZCUVN4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRFFTeE5RVUZKTEVOQlFVTXNRMEZCUXp0QlFVTnNRaXhUUVVGQk8wRkJSVVFzVVVGQlFTeE5RVUZOTEUxQlFVMHNSMEZCUnl4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU14UXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NUVUZCVFN4RFFVRkRPMUZCUXpGRExFMUJRVTBzUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0QlFVTnVRaXhSUVVGQkxFOUJRVThzVVVGQlVTeERRVUZETzB0QlEycENPMEZCUTBZN08wRkRPVVJMTEUxQlFVOHNaME5CUVdsRExGTkJRVkVzTUVKQlFUQkNMRU5CUVVFN1FVRkRPVVVzU1VGQlFTeEpRVUZYTEVsQlFVa3NSMEZCUVR0QlFVTmlMRkZCUVVFc1QwRkJUeXhSUVVGUkxFTkJRVU03UzBGRGFrSTdRVUZaUkN4SlFVRkJMRmRCUVVFc1EwRkJiVUlzVFVGQmIwUXNSVUZCUVRzN1FVRkRja1VzVVVGQlFTeExRVUZMTEVWQlFVVXNRMEZCUXp0UlFVVlNMRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNUVUZCVFN4TFFVRk9MRWxCUVVFc1NVRkJRU3hOUVVGTkxFdEJRVTRzUzBGQlFTeERRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1RVRkJUU3hEUVVGRkxFMUJRVTBzYlVOQlFVa3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1FVRkRha1VzVVVGQlFTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxFMUJRVTBzUzBGQlFTeEpRVUZCTEVsQlFVNHNUVUZCVFN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZPTEUxQlFVMHNRMEZCUlN4TlFVRk5MRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVVrc1IwRkJSeXhEUVVGRE8wdEJRM0pETzBGQlJVMHNTVUZCUVN4clFrRkJhMElzUTBGRGRrSXNZMEZCTmtJc1JVRkROMElzWTBGQk5rSXNSVUZETjBJc1dVRkJiMElzUlVGRGNFSXNUVUZCY1VJc1JVRkJRVHRCUVVWeVFpeFJRVUZCTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEZsQlFWa3NRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRSUVVOMFJDeE5RVUZOTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzBGQlEzQkRMRkZCUVVFc1RVRkJUU3hOUVVGTkxFZEJRVWNzV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkRNVU1zVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSU3hIUVVGSExFMUJRVTBzUTBGQlF6dFJRVU14UXl4TlFVRk5MRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03UVVGRGJrSXNVVUZCUVN4UFFVRlBMRkZCUVZFc1EwRkJRenRMUVVOcVFqdEJRVU5HT3p0QlEyeERSQ3hOUVVGTlJDeE5RVUZKTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03UVVGRmNFSXNUVUZCUVN4clEwRkJiVU1zVTBGQlVTeExRVUZMTEVOQlFVTXNZMEZCWXl4RFFVRkJPMEZCVlRGRkxFbEJRVUVzVjBGQlFTeERRVUZ0UWl4TFFVRjNReXhGUVVGQk8wRkJRM3BFTEZGQlFVRXNTMEZCU3l4RlFVRkZMRU5CUVVNN1VVRldTQ3hKUVVGVkxFTkJRVUVzVlVGQlFTeEhRVUZITEVkQlFVY3NRMEZCUXp0UlFVdG9RaXhKUVVGakxFTkJRVUVzWTBGQlFTeEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTldMRkZCUVVFc1NVRkJRU3hEUVVGQkxHTkJRV01zUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOeVF5eFJRVUZCTEVsQlFVRXNRMEZCUVN4WlFVRlpMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZMYkVRc1VVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEV0QlFVc3NRMEZCUXp0QlFVVndRaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRExFbEJRVWtzV1VGQldTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM0JGTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0QlFVVTNReXhSUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRExFbEJRVWtzVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM0pGTEZGQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdVVUZGTDBJc1NVRkJTU3hEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETzFGQlEyNUNMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dExRVU5tTzBsQlJVMHNUVUZCVFN4SFFVRkJPMUZCUTFnc1NVRkJTU3h2UWtGQmIwSXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkZha01zVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXp0QlFVTndSQ3hSUVVGQkxFbEJRVWtzU1VGQlNTeERRVUZETEdOQlFXTXNTMEZCU3l4TlFVRk5MRVZCUVVVN1FVRkRiRU1zV1VGQlFTeEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRTFCUVUwc1EwRkJRenRaUVVNM1FpeHZRa0ZCYjBJc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRE4wSXNVMEZCUVR0QlFVVkVMRkZCUVVFc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVTdXVUZEYmtRc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU0zUXl4dlFrRkJiMElzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZETjBJc1UwRkJRVHRCUVVWRUxGRkJRVUVzVFVGQlRTeEpRVUZKTEVkQlFVZEJMRTFCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMUZCUTNaRkxFbEJRVWtzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4TFFVRkxMRVZCUVVVN1FVRkRja1FzV1VGQlFTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU0zUWl4dlFrRkJiMElzUjBGQlJ5eEpRVUZKTEVOQlFVTTdRVUZETjBJc1UwRkJRVHRCUVVWRUxGRkJRVUVzU1VGQlNTeHZRa0ZCYjBJc1JVRkJSVHRaUVVONFFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1FVRkRka0lzVTBGQlFUdExRVU5HTzBsQlJVOHNZMEZCWXl4SFFVRkJPMEZCUTNCQ0xGRkJRVUZCTEUxQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU03VVVGRGRFUXNUVUZCVFN4RFFVRkRMRWRCUVVkQkxFMUJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRE8xRkJSVGxETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkROVUlzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTTdXVUZGTDBJc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRla1FzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEyaEZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNNVJDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEYWtVc1UwRkJRVHRSUVVWRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETTBJc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGREwwSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZETlVRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkROVVFzVTBGQlFUdEJRVVZFTEZGQlFVRXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlEwRXNUVUZCU1N4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZEUVN4TlFVRkpMRU5CUVVNc1EwRkJReXhIUVVGSFFTeE5RVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhRU3hOUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZIUVN4TlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU12UlN4UlFVRkJMRTFCUVUwc1IwRkJSeXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUTBFc1RVRkJTU3hEUVVGRExFTkJRVU1zUlVGQlJVRXNUVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSWGhETEZGQlFVRXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEJRVU53UWl4UlFVRkJMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZEYkVJc1VVRkJRU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRNVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlhCR0xGRkJRVUVzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRE8wdEJRMnhETzBsQlJVOHNWMEZCVnl4SFFVRkJPMUZCUTJwQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETTBJc1RVRkJUU3hGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRCUVVWNFFpeFpRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRM0JETEZsQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJTeEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkRjRVFzVTBGQlFUdFJRVVZFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRNMElzVFVGQlRTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dEJRVVY0UWl4WlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNSVUZCUlN4SFFVRkhMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRM0JFTEZsQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1IwRkJSeXhIUVVGSExFTkJRVU1zUlVGQlJTeEhRVUZITEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkRka1FzVTBGQlFUdEJRVVZFTEZGQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhYUVVGWExFZEJRVWNzU1VGQlNTeERRVUZETzB0QlEzQkRPMEZCUTBZN08wRkRia2RaTEUxQlFVRXNhVU5CUVd0RExGTkJRVkVzUzBGQlN5eERRVUZETEdOQlFXTXNRMEZCUVR0QlFWTjZSU3hKUVVGQkxGZEJRVUVzUTBGQmJVSXNTMEZCZFVNc1JVRkJRVHRCUVVONFJDeFJRVUZCTEV0QlFVc3NSVUZCUlN4RFFVRkRPMUZCVkVnc1NVRkJWU3hEUVVGQkxGVkJRVUVzUjBGQlJ5eEhRVUZITEVOQlFVTTdVVUZMYUVJc1NVRkJZeXhEUVVGQkxHTkJRVUVzUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZEVml4UlFVRkJMRWxCUVVFc1EwRkJRU3hqUVVGakxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkxjRVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVWd1FpeEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXpORkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNWVUZCVlN4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVVUzUXl4UlFVRkJMRWxCUVVrc1EwRkJReXhWUVVGVkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRWxCUVVrc1YwRkJWeXhEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVONFJTeFJRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzFGQlJTOUNMRWxCUVVrc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF6dFJRVU51UWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03UzBGRFpqdEpRVVZOTEUxQlFVMHNSMEZCUVR0UlFVTllMRWxCUVVrc2IwSkJRVzlDTEVkQlFVY3NTMEZCU3l4RFFVRkRPMUZCUldwRExFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTTdRVUZEY0VRc1VVRkJRU3hKUVVGSkxFbEJRVWtzUTBGQlF5eGpRVUZqTEV0QlFVc3NUVUZCVFN4RlFVRkZPMEZCUTJ4RExGbEJRVUVzU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4TlFVRk5MRU5CUVVNN1dVRkROMElzYjBKQlFXOUNMRWRCUVVjc1NVRkJTU3hEUVVGRE8wRkJRemRDTEZOQlFVRTdRVUZGUkN4UlFVRkJMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTzFsQlEyNUVMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRE4wTXNiMEpCUVc5Q0xFZEJRVWNzU1VGQlNTeERRVUZETzBGQlF6ZENMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFbEJRVWtzYjBKQlFXOUNMRVZCUVVVN1dVRkRlRUlzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPMEZCUTNaQ0xGTkJRVUU3UzBGRFJqdEpRVVZQTEdOQlFXTXNSMEZCUVR0UlFVTndRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF6TkNMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NTVUZCU1N4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJSUzlDTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGRrUXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZETlVRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkROMFFzVTBGQlFUdEJRVVZFTEZGQlFVRXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzFGQlF6RkZMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZ3Uml4UlFVRkJMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXp0TFFVTnNRenRKUVVWUExGZEJRVmNzUjBGQlFUdFJRVU5xUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRek5DTEUxQlFVMHNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdRVUZGZUVJc1dVRkJRU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTndReXhaUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVWQlFVVXNSMEZCUnl4RFFVRkRMRVZCUVVVc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETzBGQlEyNUVMRmxCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUlVGQlJTeEhRVUZITEVOQlFVTXNSVUZCUlN4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRGNrUXNVMEZCUVR0QlFVVkVMRkZCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRPMHRCUTNCRE8wRkJRMFk3TzBGRGFrVkVMRTFCUVUxQkxFMUJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVWd1FpeE5RVUZCTERKQ1FVRTBRaXhUUVVGUkxFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVRTdRVUZMTVVRc1NVRkJRU3hYUVVGQkxFTkJRVzFDTEZGQlFTdENMRVZCUVVFN1FVRkRhRVFzVVVGQlFTeExRVUZMTEVWQlFVVXNRMEZCUXp0QlFVTlNMRkZCUVVFc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVVVNVFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRE8wRkJSWHBDTEZGQlFVRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzV1VGQldTeG5RMEZCWjBNc1JVRkJSVHRCUVVOdVJTeFpRVUZCTEVsQlFVa3NRMEZCUXl4VFFVRlRMRWRCUVVjc1NVRkJTU3hwUTBGQmFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzBGQlF6ZEZMRk5CUVVFN1FVRkJUU3hoUVVGQkxFbEJRVWtzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRmxCUVZrc2FVTkJRV2xETEVWQlFVVTdRVUZETTBVc1dVRkJRU3hKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVsQlFVa3NhME5CUVd0RExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVNNVJTeFRRVUZCTzBGQlFVMHNZVUZCUVR0QlFVTk1MRmxCUVVFc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eHRSVUZCYlVVc1EwRkJReXhEUVVGRE8wRkJRM1JHTEZOQlFVRTdRVUZGUkN4UlFVRkJMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEdsQ1FVRnBRaXhEUVVGRE8wRkJRek5ETEZsQlFVRXNTMEZCU3l4RlFVRkZMRkZCUVZFN1FVRkRaaXhaUVVGQkxGTkJRVk1zUlVGQlJTeExRVUZMTzBGQlEyaENMRmxCUVVFc1ZVRkJWU3hGUVVGRkxFdEJRVXM3UVVGRGJFSXNVMEZCUVN4RFFVRkRMRU5CUVVNN1FVRkZTQ3hSUVVGQkxFbEJRVWtzUTBGQlF5eExRVUZMTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVXNVVUZCVVN4RFFVRkRMRU5CUVVNN1FVRkRPVVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dExRVU4wUWp0SlFVVk5MRTlCUVU4c1IwRkJRVHRCUVVOYUxGRkJRVUVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRMUVVNeFFqdEJRVVZOTEVsQlFVRXNhVUpCUVdsQ0xFTkJRVU1zUzBGQll5eEZRVUZCTzFGQlEzSkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlJUZERMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03UVVGRk5VTXNVVUZCUVN4TlFVRk5MRzFDUVVGdFFpeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1VVRkJVU3hEUVVGRE8wRkJRMnBFTEZGQlFVRXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhWUVVGVkxFZEJRVWRCTEUxQlFVazdRVUZETjBJc1lVRkJRU3hIUVVGSExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzYlVKQlFXMUNMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzYlVKQlFXMUNMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRE0wVXNUVUZCVFN4RlFVRkZMRU5CUVVNN1FVRkZXaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1FVRkZlRUlzVVVGQlFTeExRVUZMTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTMEZEYUVNN1FVRkRSanM3UVVOMFJGa3NUVUZCUVN4M1FrRkJlVUlzVTBGQlVTeExRVUZMTEVOQlFVTXNZMEZCWXl4RFFVRkJPMEZCVTJoRkxFbEJRVUVzVjBGQlFTeERRVUZ0UWl4VlFVRTRRaXhGUVVGQk8wRkJReTlETEZGQlFVRXNTMEZCU3l4RlFVRkZMRU5CUVVNN1VVRlVTQ3hKUVVGVkxFTkJRVUVzVlVGQlFTeEhRVUZITEVkQlFVY3NRMEZCUXp0UlFVdG9RaXhKUVVGakxFTkJRVUVzWTBGQlFTeEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTldMRkZCUVVFc1NVRkJRU3hEUVVGQkxGbEJRVmtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVV0c1JDeFJRVUZCTEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1ZVRkJWU3hEUVVGRE8wRkJSVGxDTEZGQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlFVTXNTVUZCU1N4WlFVRlpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEY0VVc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eFZRVUZWTEVWQlFVVXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJSVGRETEZGQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlFVTXNTVUZCU1N4WFFVRlhMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEY2tVc1VVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRSUVVVdlFpeEpRVUZKTEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNN1VVRkRia0lzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMHRCUTJZN1NVRkZUU3hOUVVGTkxFZEJRVUU3VVVGRFdDeEpRVUZKTEc5Q1FVRnZRaXhIUVVGSExFdEJRVXNzUTBGQlF6dEJRVVZxUXl4UlFVRkJMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETzBGQlEzSkZMRkZCUVVFc1NVRkJTU3hKUVVGSkxFTkJRVU1zWTBGQll5eExRVUZMTEUxQlFVMHNSVUZCUlR0QlFVTnNReXhaUVVGQkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NUVUZCVFN4RFFVRkRPMWxCUXpkQ0xHOUNRVUZ2UWl4SFFVRkhMRWxCUVVrc1EwRkJRenRCUVVNM1FpeFRRVUZCTzBGQlJVUXNVVUZCUVN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXg1UWtGQmVVSXNRMEZCUXl4RlFVRkZPMWxCUTNwRkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zZVVKQlFYbENMRU5CUVVNc1EwRkJRenRaUVVOdVJTeHZRa0ZCYjBJc1IwRkJSeXhKUVVGSkxFTkJRVU03UVVGRE4wSXNVMEZCUVR0QlFVVkVMRkZCUVVFc1NVRkJTU3h2UWtGQmIwSXNSVUZCUlR0WlFVTjRRaXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTTdRVUZEZGtJc1UwRkJRVHRMUVVOR08wbEJSVThzWTBGQll5eEhRVUZCTzFGQlEzQkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRE0wSXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkZMMElzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOMlJDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0xUkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTTNSQ3hUUVVGQk8wRkJSVVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhqUVVGakxFVkJRVVVzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU03VVVGRE1VVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVGxGTEZGQlFVRXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGJFTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZGZUVZc1VVRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNN1MwRkRiRU03U1VGRlR5eFhRVUZYTEVkQlFVRTdVVUZEYWtJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU16UWl4TlFVRk5MRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMEZCUlhoQ0xGbEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRkRjRU1zV1VGQlFTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RlFVRkZMRWRCUVVjc1EwRkJReXhGUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTnVSQ3haUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVWQlFVVXNSMEZCUnl4RFFVRkRMRVZCUVVVc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETzBGQlEzSkVMRk5CUVVFN1VVRkRSQ3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzBGQlJXNURMRkZCUVVFc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRPMHRCUTNCRE8wRkJRMFk3TzBGRGVFVkVMRTFCUVUxQkxFMUJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVWd1FpeE5RVUZCTEhkQ1FVRjVRaXhUUVVGUkxFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVRTdRVUZMZGtRc1NVRkJRU3hYUVVGQkxFTkJRVzFDTEZWQlFUaENMRVZCUVVFN1FVRkRMME1zVVVGQlFTeExRVUZMTEVWQlFVVXNRMEZCUXp0QlFVTlNMRkZCUVVFc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVVVNVFpeFJRVUZCTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1ZVRkJWU3hEUVVGRE8xRkJSVGRDTEVsQlFVa3NRMEZCUXl4VFFVRlRMRWRCUVVjc1NVRkJTU3gzUWtGQmQwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03UVVGRkwwUXNVVUZCUVN4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eHBRa0ZCYVVJc1EwRkJRenRCUVVNelF5eFpRVUZCTEV0QlFVc3NSVUZCUlN4UlFVRlJPMEZCUTJZc1dVRkJRU3hUUVVGVExFVkJRVVVzUzBGQlN6dEJRVU5vUWl4WlFVRkJMRlZCUVZVc1JVRkJSU3hMUVVGTE8wRkJRMnhDTEZOQlFVRXNRMEZCUXl4RFFVRkRPMEZCUlVnc1VVRkJRU3hKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUXpsRUxGRkJRVUVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UzBGRGRFSTdTVUZGVFN4UFFVRlBMRWRCUVVFN1FVRkRXaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1MwRkRNVUk3UVVGRlRTeEpRVUZCTEdsQ1FVRnBRaXhEUVVGRExFdEJRV01zUlVGQlFUdFJRVU55UXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdRVUZGY0VRc1VVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0QlFVVnVSQ3hSUVVGQkxFMUJRVTBzYlVKQlFXMUNMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlFVTTdRVUZEYWtRc1VVRkJRU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEZWQlFWVXNSMEZCUjBFc1RVRkJTVHRCUVVNM1FpeGhRVUZCTEVkQlFVY3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4dFFrRkJiVUlzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4dFFrRkJiVUlzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTXpSU3hOUVVGTkxFVkJRVVVzUTBGQlF6dEJRVVZhTEZGQlFVRXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dEJRVVY0UWl4UlFVRkJMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRMUVVOb1F6dEJRVU5HT3p0QlF6VkRSRHM3UVVGRlJ6dEJRVU5WTEUxQlFVRXNjVUpCUVhOQ0xGTkJRVkVzUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUVR0QlFVMTJSQ3hKUVVGQkxGZEJRVUVzUTBGQmJVSXNTMEZCYVVNc1JVRkJRVHRCUVVOc1JDeFJRVUZCTEV0QlFVc3NSVUZCUlN4RFFVRkRPMEZCUlZJc1VVRkJRU3hKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEV0QlFVc3NRMEZCUXp0TFFVTndRanRCUVVOR096dEJRMlpFTEUxQlFVMUZMRTlCUVVzc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVVnNRenM3T3pzN1FVRkxSenRCUVVOSExGTkJRVlVzWjBKQlFXZENMRU5CUVRCQ0xFMUJRVk1zUlVGQlFUdEpRVU5xUlN4SlFVRkxMRTFCUVdNc1EwRkJReXhOUVVGTkxFVkJRVVU3VVVGRE1VSXNUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8wRkJRMnBDTEV0QlFVRTdRVUZCVFN4VFFVRkJPMUZCUTBvc1RVRkJZeXhEUVVGRExGVkJRVlVzUTBGQlEwRXNUMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEyaEVMRXRCUVVFN1FVRkZSQ3hKUVVGQkxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENPenROUTJaaExHMUNRVUZ0UWl4RFFVRkJPMEZCYzBJNVFqczdPenRCUVVsSE8wRkJRMGdzU1VGQlFTeEpRVUZYTEU5QlFVOHNSMEZCUVR0UlFVTm9RaXhKUVVGSkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSVHRaUVVNM1FpeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdRVUZEY2tNc1dVRkJRU3huUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03UVVGRGNrTXNXVUZCUVN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVkQlFVY3NTMEZCU3l4RFFVRkRPMEZCUTI1RExGTkJRVUU3VVVGRlJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNN1MwRkRNMEk3UVVGRlJDeEpRVUZCTEZkQlFVRXNRMEZCYlVJc1RVRkJjVUlzUlVGQlFUdEJRUzlDZUVNN08wRkJSVWM3UVVGRFl5eFJRVUZCTEVsQlFVRXNRMEZCUVN4aFFVRmhMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZGY2tRN096dEJRVWRITzFGQlEwc3NTVUZCYjBJc1EwRkJRU3h2UWtGQlFTeEhRVUZITEVsQlFVa3NRMEZCUXp0QlFYVkNiRU1zVVVGQlFTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRTFCUVUwc1EwRkJRenRCUVVWeVFpeFJRVUZCTEUxQlFVMHNUMEZCVHl4SFFVRXlRanRaUVVOMFF5eEhRVUZITEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1NVRkJVeXhGUVVGRkxFMUJRVTBzUzBGQlNUdEJRVU01UWl4blFrRkJRU3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRWRCUVVjc1NVRkJTU3hEUVVGRE8wRkJRMnBETEdkQ1FVRkJMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVOQlFVTTdRVUZGYmtJc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdZVUZEWWp0VFFVTkdMRU5CUVVNN1FVRkZSaXhSUVVGQkxFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETzBGQlEzcERMRkZCUVVFc1RVRkJUU3hEUVVGRExGRkJRVkVzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVNc1VVRkJVU3hGUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETzB0QlEzWkVPMGxCUlUwc1RVRkJUU3hIUVVGQk8xRkJRMWdzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRPMHRCUXk5RE8wRkJRMFk3TzBGRGNrUkVPMEZCUTBFN1FVRkRRVHRCUVVWQkxFMUJRVTBzWjBKQlFXZENMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZGTjBNN1FVRkRRU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVOcVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEJRVU5xUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0QlFVVnFRenM3UVVGRlJ6dEJRVU5JTEUxQlFVMHNiVUpCUVcxQ0xFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkZhRVE3TzBGQlJVYzdRVUZEU0N4TlFVRk5MRzlDUVVGdlFpeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wRkJSV3BFT3p0QlFVVkhPMEZCUTBnc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkZkRU1zVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03UVVGRGRFTXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdRVUZEYkVNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkZiRU03T3p0QlFVZEhPMDFCUTFVc2EwSkJRV3RDTEVOQlFVRTdRVUZyUkRkQ0xFbEJRVUVzU1VGQlZ5eE5RVUZOTEVkQlFVRTdVVUZEWml4UFFVRlBMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU03UzBGRGNrSTdTVUZEUkN4SlFVRlhMRTFCUVUwc1EwRkJReXhOUVVFMlFpeEZRVUZCT3pzN1VVRkZOME1zU1VGQlNTeERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkpMRU5CUVVNc1QwRkJUeXd3UTBGQlJTeFJRVUZSTEVOQlFVTXNhVUpCUVdsQ0xFVkJRVVU3V1VGRE0wTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhSUVVGUkxFTkJRVU1zYVVKQlFYbERMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03UVVGRE1VVXNXVUZCUVN4UFFVRlBMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8wRkJRMmhFTEZOQlFVRTdPMEZCUjBRc1VVRkJRU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXpzN1VVRkhkRUlzU1VGQlNTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZPMWxCUTJoQ0xFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhwUWtGQmFVSXNSVUZCUlR0QlFVTTFReXhuUWtGQlFTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhwUWtGQmFVSXNSMEZCUnl4SlFVRkpMRzFDUVVGdFFpeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03UVVGRE4wWXNZVUZCUVR0QlFVTkdMRk5CUVVFN1MwRkRSanRCUVdkQ1JDeEpRVUZCTEVsQlFWY3NlVUpCUVhsQ0xFZEJRVUU3VVVGRGJFTXNUMEZCVHl4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVTTdTMEZEZUVNN1FVRkZSRHM3TzBGQlIwYzdRVUZEU0N4SlFVRkJMRWxCUVZrc2EwSkJRV3RDTEVkQlFVRTdRVUZETlVJc1VVRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZkQlFWY3NSMEZCUnl4blFrRkJaMElzUTBGQlF6dExRVU16UlR0QlFVVkVPenM3T3pzN08wRkJUMGM3U1VGRFNDeFhRVU5GTEVOQlFVRXNTVUZCYjBJc1JVRkRjRUlzUzBGQk5FSXNSVUZETlVJc1YwRkJaMFFzUlVGQlJTeEZRVU5zUkN4cFFrRkJLME1zUlVGQlJTeEZRVUZCT3p0QlFYWkdia1E3TzBGQlJVYzdRVUZEU3l4UlFVRkJMRWxCUVVFc1EwRkJRU3haUVVGWkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkZNME03TzBGQlJVYzdRVUZEU3l4UlFVRkJMRWxCUVVFc1EwRkJRU3hUUVVGVExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkZlRU03TzBGQlJVYzdRVUZEU3l4UlFVRkJMRWxCUVVFc1EwRkJRU3hUUVVGVExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRkZlRU03T3pzN08wRkJTMGM3VVVGRFN5eEpRVUZ4UWl4RFFVRkJMSEZDUVVGQkxFZEJRVWNzUjBGQlJ5eERRVUZETzBGQlJYQkRPenM3UVVGSFJ6dFJRVU5MTEVsQlFVOHNRMEZCUVN4UFFVRkJMRWRCUVRCQ0xFbEJRVWtzUTBGQlF6dEJRWE5DT1VNN08wRkJSVWM3UVVGRFN5eFJRVUZCTEVsQlFVRXNRMEZCUVN4dFFrRkJiVUlzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRCUVVWc1JEczdRVUZGUnp0QlFVTkxMRkZCUVVFc1NVRkJRU3hEUVVGQkxIRkNRVUZ4UWl4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzBGQlJYWkVPenRCUVVWSE8wRkJRMHNzVVVGQlFTeEpRVUZCTEVOQlFVRXNNRUpCUVRCQ0xFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN1FVRXlRblpFTEZGQlFVRXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGFrSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNSMEZCUnl4TFFVRkxMRU5CUVVNN1FVRkZia01zVVVGQlFTeEpRVUZKTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVWdVFpeEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhPMEZCUTJRc1dVRkJRU3hUUVVGVExFVkJRVVVzUTBGQlFTeEZRVUZCTEVkQlFVRXNVVUZCVVN4RFFVRkRMRk5CUVZNc2JVTkJRVWtzUjBGQlJ6dEJRVU53UXl4WlFVRkJMRk5CUVZNc1JVRkJSU3hEUVVGQkxFVkJRVUVzUjBGQlFTeFJRVUZSTEVOQlFVTXNVMEZCVXl4dFEwRkJTU3hIUVVGSE8wRkJRM0JETEZsQlFVRXNXVUZCV1N4RlFVRkZMRU5CUVVFc1JVRkJRU3hIUVVGQkxGRkJRVkVzUTBGQlF5eFpRVUZaTEcxRFFVRkpMRWRCUVVjN1dVRkRNVU1zVlVGQlZTeEZRVUZGTEUxQlFVRXNRMEZCUVN4RlFVRkJMRWRCUVVFc1VVRkJVU3hEUVVGRExGVkJRVlVzVFVGQlFTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUlN4TFFVRkxMRVZCUVVVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJTU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF6dEJRVU0zUlN4WlFVRkJMRk5CUVZNc1JVRkJSU3hEUVVGQkxFVkJRVUVzUjBGQlFTeFJRVUZSTEVOQlFVTXNVMEZCVXl4dFEwRkJTU3hIUVVGSE8xTkJRM0pETEVOQlFVTTdRVUZGUml4UlFVRkJMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzWTBGQll5eERRVUZETzB0QlEzUkRPMEZCUlVRN096dEJRVWRITzBsQlEwa3NXVUZCV1N4SFFVRkJPenRSUVVWcVFpeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGFFUXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZET3p0UlFVZDBSQ3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVWQlFVVTdXVUZEWkN4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdRVUZETTBRc1UwRkJRVHRCUVVGTkxHRkJRVUU3T3p0QlFVZE1MRmxCUVVFc1NVRkJTU3hEUVVGRExEQkNRVUV3UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRExHTkJRV01zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVTXpSaXhUUVVGQk96dFJRVWRFTEUxQlFVMHNiVUpCUVcxQ0xFZEJRVWNzU1VGQlNTeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEyaEZMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5d3dRa0ZCTUVJc1EwRkJReXhEUVVGRExFTkJRVU1zV1VGQldTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03VVVGRGJFZ3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPenRCUVVkMlF5eFJRVUZCTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5d3dRa0ZCTUVJc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzB0QlEyeEZPMEZCUlVRN096dEJRVWRITzBsQlEwa3NTMEZCU3l4SFFVRkJPMUZCUTFZc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4RFFVRkRPenRCUVVkMFJDeFJRVUZCTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03UVVGRGVrSXNVVUZCUVN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXpzN1VVRkhiRVlzVFVGQlRTeHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGFFVXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExEQkNRVUV3UWl4RFFVRkRMRU5CUVVNc1EwRkJReXhaUVVGWkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJRenRSUVVOc1NDeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdTMEZEZUVNN1FVRkZSRHM3T3pzN1FVRkxSenRCUVVOSkxFbEJRVUVzVFVGQlRTeERRVUZETEV0QlFXRXNSVUZCUVR0UlFVTjZRaXhKUVVGSkxFdEJRVXNzU1VGQlNTeERRVUZETzFsQlFVVXNUMEZCVHpzN1VVRkhka0lzU1VGQlNTeERRVUZETEhsQ1FVRjVRaXhGUVVGRkxFTkJRVU03TzFGQlIycERMRzFDUVVGdFFpeERRVUZETEhGQ1FVRnhRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1VVRkRha1VzU1VGQlNTeHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRE9VUXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRVU1zV1VGQldTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03VVVGRGFrWXNUVUZCVFN4cFFrRkJhVUlzUjBGQlJ5eE5RVUZOTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJRenM3UVVGSE5VVXNVVUZCUVN4TlFVRk5MSFZDUVVGMVFpeEhRVUZITEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNN08xRkJSMnhITEUxQlFVMHNiVUpCUVcxQ0xFZEJRVWNzU1VGQlNUdEJRVU0zUWl4aFFVRkJMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETzBGQlEzQkNMR0ZCUVVFc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJRenRoUVVOMFF5eFpRVUZaTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU03WVVGRGNrTXNSMEZCUnl4RFFVRkRMRzlDUVVGdlFpeERRVUZETzBGQlEzcENMR0ZCUVVFc1UwRkJVeXhGUVVGRkxFTkJRVU03TzFGQlIyWXNUVUZCVFN4clFrRkJhMElzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNaVUZCWlN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1VVRkZPVWNzVFVGQlRTeHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03TzFGQlIyaEZMRk5CUVZNN1FVRkRUaXhoUVVGQkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRPMEZCUTNaQ0xHRkJRVUVzUjBGQlJ5eERRVU5HTEVsQlFVazdRVUZEUkN4aFFVRkJMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETzBGQlEzWkNMR0ZCUVVFc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTTdZVUZEYmtJc1kwRkJZeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVNdlF6dGhRVU5CTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNc1kwRkJZeXhEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNVMEZCVXl4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRE8yRkJRMjVHTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNc1kwRkJZeXhEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNXVUZCV1N4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRM0pHTEdGQlFVRXNXVUZCV1N4RFFVRkRMRzFDUVVGdFFpeERRVUZETEVOQlFVTTdPMUZCUjNKRExGTkJRVk1zUTBGQlF5eEhRVUZITEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRU5CUVVNN08wRkJSMjVJTEZGQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6czdRVUZITTBJc1VVRkJRU3h0UWtGQmJVSXNSMEZCUnl4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkZNVVFzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzBGQlEzWkRMRkZCUVVFc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eFpRVUZaTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zUTBGQlF5eERRVUZET3pzN1VVRkpMMFVzVFVGQlRTd3dRa0ZCTUVJc1IwRkJSeXhuUWtGQlowSXNRMEZEYWtRc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZETEVOQlEzWkZMRU5CUVVNN1VVRkRSaXhOUVVGTkxHRkJRV0VzUjBGQlJ5eE5RVUZOTEVOQlFVTXNhMEpCUVd0Q0xFTkJRemRETEVsQlFVa3NRMEZCUXl4VFFVRlRMRVZCUTJRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4WlFVRlpMRU5CUVVNc01FSkJRVEJDTEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkRNVVVzUTBGQlF6dEJRVVZHTEZGQlFVRXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenM3UVVGSE9VVXNVVUZCUVN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETzBGQlEzcENMRkZCUVVFc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1MwRkRia1k3UVVGRlJEczdPenRCUVVsSE8wRkJRMHNzU1VGQlFTeFZRVUZWTEVOQlFVTXNTVUZCYlVJc1JVRkJRVHRSUVVOd1F5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExHRkJRV0VzUzBGQlNUdFpRVU0xUXl4aFFVRmhMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZGQlFWRXNTMEZCU1R0blFrRkRNME1zVFVGQlRTeEpRVUZKTEVkQlFVY3NVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1YwRkJWeXhGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dG5Ra0ZGTVVjc1NVRkJTU3hKUVVGSkxFZEJRVWNzUjBGQlJ5eEZRVUZGT3p0dlFrRkZaQ3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZET3p0dlFrRkhja01zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJRenRCUVVNdlJ5eHBRa0ZCUVR0QlFVTklMR0ZCUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzVTBGQlF5eERRVUZETEVOQlFVTTdTMEZEU2p0QlFVVkVPenM3UVVGSFJ6dEpRVU5MTEhsQ1FVRjVRaXhIUVVGQk8xRkJReTlDTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8xRkJSV3hFTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSVHRaUVVOa0xFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMEZCUTNCRUxGTkJRVUU3UVVGQlRTeGhRVUZCTzBGQlEwd3NXVUZCUVN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5d3dRa0ZCTUVJc1EwRkJReXhEUVVGRE8xbEJRek5ETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0QlFVTXhReXhUUVVGQk8wRkJSVVFzVVVGQlFTeEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dExRVU4wUkR0QlFVVkVPenM3UVVGSFJ6dEJRVU5MTEVsQlFVRXNkVUpCUVhWQ0xFTkJRVU1zVFVGQmNVSXNSVUZCUVR0UlFVTnVSQ3hKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVTdXVUZEYUVJc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8wRkJRM1pETEZOQlFVRTdRVUZCVFN4aFFVRkJPMWxCUTB3c1RVRkJUU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzBGQlEyNUNMRk5CUVVFN1FVRkZSQ3hSUVVGQkxFOUJRVThzVFVGQlRTeERRVUZETzB0QlEyWTdRVUZGUkRzN08wRkJSMGM3UVVGRFN5eEpRVUZCTEhWQ1FVRjFRaXhEUVVGRExFMUJRWEZDTEVWQlFVRTdVVUZEYmtRc1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTzBGQlEyaENMRmxCUVVFc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlJTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhwUWtGQmVVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRCUVVOMlJpeFRRVUZCTzBGQlFVMHNZVUZCUVR0WlFVTk1MRTFCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dEJRVU51UWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hQUVVGUExFMUJRVTBzUTBGQlF6dExRVU5tTzBGQlEwWTdPMEZEYUZkRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZ2UjBFN1FVRkRUeXhUUVVGVExGTkJRVk1zUTBGQlF5eFBRVUZQTEVWQlFVVXNWVUZCVlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hUUVVGVExFVkJRVVU3UVVGRE4wUXNTVUZCU1N4VFFVRlRMRXRCUVVzc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGQlJTeFBRVUZQTEV0QlFVc3NXVUZCV1N4RFFVRkRMRWRCUVVjc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEZWQlFWVXNUMEZCVHl4RlFVRkZMRVZCUVVVc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVN1FVRkRhRWdzU1VGQlNTeFBRVUZQTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zUlVGQlJTeFZRVUZWTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVN1FVRkRMMFFzVVVGQlVTeFRRVUZUTEZOQlFWTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZPMEZCUTI1SExGRkJRVkVzVTBGQlV5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZPMEZCUTNSSExGRkJRVkVzVTBGQlV5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1RVRkJUU3hEUVVGRExFbEJRVWtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUlVGQlJTeFJRVUZSTEVOQlFVTXNRMEZCUXl4RlFVRkZPMEZCUTNSSUxGRkJRVkVzU1VGQlNTeERRVUZETEVOQlFVTXNVMEZCVXl4SFFVRkhMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEZWQlFWVXNTVUZCU1N4RlFVRkZMRU5CUVVNc1JVRkJSU3hKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETzBGQlF6bEZMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRMUE3TzBGRGVFaG5RaXhUUVVGQkxIbENRVUY1UWl4RFFVRkRMRTFCUVhOQ0xFVkJRVVVzVVVGQk1FTXNSVUZCUVR0SlFVTXhSeXhOUVVGTkxGTkJRVk1zUjBGQmNVSXNSVUZCUlN4RFFVRkRPMGxCUlhaRExFbEJRVWtzU1VGQlNTeEhRVUV3UWl4TlFVRk5MRU5CUVVNN1NVRkRla01zVDBGQlR5eEpRVUZKTEV0QlFVc3NTVUZCU1N4RlFVRkZPMEZCUTNCQ0xGRkJRVUVzVTBGQlV5eERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVONFFpeFJRVUZCTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8wRkJRM0JDTEV0QlFVRTdRVUZGUkN4SlFVRkJMRk5CUVZNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eFJRVUZSTEV0QlFVazdVVUZETjBJc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBGQlEzSkNMRXRCUVVNc1EwRkJReXhEUVVGRE8wRkJRMHc3TzBGRFpFRTdPenM3T3p0QlFVMUhPMEZCUTJFc1UwRkJRU3hwUTBGQmFVTXNRMEZETDBNc1RVRkJjMElzUlVGRGRFSXNVVUZCTmtNc1JVRkJRVHRKUVVVM1F5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFdEJRVXNzUzBGQlNUdEJRVU5vUXl4UlFVRkJMRTFCUVUwc1RVRkJUU3hIUVVGSExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTXZRaXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTzBGQlExZ3NXVUZCUVN4cFEwRkJhVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNVVUZCVVN4RFFVRkRMRU5CUVVNN1FVRkRjRVFzVTBGQlFUdEJRVU5JTEV0QlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3N08wMURWbUVzYjBKQlFXOUNMRU5CUVVFN1FVRkJha01zU1VGQlFTeFhRVUZCTEVkQlFVRTdRVUZEVlN4UlFVRkJMRWxCUVVFc1EwRkJRU3hQUVVGUExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFYTkNMRU5CUVVNN1FVRnJRM2hETEZGQlFVRXNTVUZCUVN4RFFVRkJMSEZDUVVGeFFpeEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRXlReXhEUVVGRE8wdEJjVXR3Ump0QlFYUk5ReXhKUVVGQkxFbEJRVmNzVFVGQlRTeEhRVUZCTzFGQlEyWXNUMEZCVHl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRE8wdEJRM0pDTzBGQlJVUTdPMEZCUlVjN1FVRkRTQ3hKUVVGQkxFbEJRVmNzVjBGQlZ5eEhRVUZCTzBGQlEzQkNMRkZCUVVFc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eHpSVUZCYzBVc1EwRkJReXhEUVVGRE8xRkJSWEpHTEU5QlFVOHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJRenRMUVVOeVFqdEJRVVZFTEVsQlFVRXNTVUZCVnl4alFVRmpMRWRCUVVFN1FVRkRka0lzVVVGQlFTeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJPRUlzUTBGQlF6dFJRVU5zUkN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZWQlFWVXNTMEZCU1R0WlFVTnNReXhWUVVGVkxFTkJRVU1zWTBGQll5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMR0ZCUVdFc1MwRkJTVHRCUVVOc1JDeG5Ra0ZCUVN4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETzBGQlEzcENMR0ZCUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzVTBGQlF5eERRVUZETEVOQlFVTTdRVUZEU0N4UlFVRkJMRTlCUVU4c1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0TFFVTjRRanRCUVVWRUxFbEJRVUVzU1VGQlZ5eFRRVUZUTEVkQlFVRTdRVUZEYkVJc1VVRkJRU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVkQlFVY3NSVUZCZVVJc1EwRkJRenRSUVVNM1F5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExHRkJRV0VzUzBGQlNUdFpRVU0xUXl4aFFVRmhMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZGQlFWRXNTMEZCU1R0QlFVTXpReXhuUWtGQlFTeEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRM0JDTEdGQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1UwRkJReXhEUVVGRExFTkJRVU03UVVGRFNDeFJRVUZCTEU5QlFVOHNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dExRVU40UWp0QlFVbE5MRWxCUVVFc1VVRkJVU3hEUVVGRExFdEJRWGxDTEVWQlFVRTdRVUZEZGtNc1VVRkJRU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVWNFFpeFJRVUZCTEVsQlFVa3NVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlF6TkVMRWxCUVVrc1UwRkJVeXhKUVVGSkxFbEJRVWtzUlVGQlJUdEJRVU55UWl4WlFVRkJMRk5CUVZNc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQmMwSXNRMEZCUXp0WlFVTXhReXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVWQlFVVXNVMEZCVXl4RFFVRkRMRU5CUVVNN1FVRkRka1FzVTBGQlFUdEJRVU5FTEZGQlFVRXNVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dExRVU4wUWp0QlFVVkVPenRCUVVWSE8wRkJRMGtzU1VGQlFTeGhRVUZoTEVOQlFVTXNTMEZCZVVJc1JVRkJRVHRCUVVNMVF5eFJRVUZCTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc09FVkJRVGhGTEVOQlFVTXNRMEZCUXp0QlFVVTNSaXhSUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1MwRkRkRUk3UVVGRlRTeEpRVUZCTEZkQlFWY3NRMEZCUXl4TFFVRjVRaXhGUVVGQk8wRkJRekZETEZGQlFVRXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdRVUZGTTBJc1VVRkJRU3hOUVVGTkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJRenRCUVVNNVJDeFJRVUZCTEZOQlFWTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UzBGRGVrSTdRVUZGUkRzN1FVRkZSenRCUVVOSkxFbEJRVUVzWjBKQlFXZENMRU5CUVVNc1MwRkJlVUlzUlVGQlFUdEJRVU12UXl4UlFVRkJMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zYjBaQlFXOUdMRU5CUVVNc1EwRkJRenRCUVVWdVJ5eFJRVUZCTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UzBGRGVrSTdTVUZGVFN4WlFVRlpMRWRCUVVFN1FVRkRha0lzVVVGQlFTeE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUZ6UWl4RFFVRkRPMEZCUTNaRUxGRkJRVUVzVFVGQlRTeGxRVUZsTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVhOQ0xFTkJRVU03UVVGRGRFUXNVVUZCUVN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQmEwSXNRMEZCUXp0QlFVVm9SQ3hSUVVGQkxFdEJRVXNzVFVGQlRTeFZRVUZWTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkJSVHRaUVVOeVF5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVlVGQlZTeEZRVUZGTEdkQ1FVRm5RaXhGUVVGRkxHVkJRV1VzUlVGQlJTeGhRVUZoTEVWQlFVVXNRMEZCUXl4VlFVRlZMRXRCUXk5R0xGVkJRVlVzUTBGQlF5eFpRVUZaTEVWQlFVVXNRMEZETVVJc1EwRkJRenRCUVVOSUxGTkJRVUU3UzBGRFJqdEpRVVZOTEV0QlFVc3NSMEZCUVR0QlFVTldMRkZCUVVFc1RVRkJUU3huUWtGQlowSXNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJjMElzUTBGQlF6dEJRVU4yUkN4UlFVRkJMRTFCUVUwc1pVRkJaU3hIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUZ6UWl4RFFVRkRPMEZCUTNSRUxGRkJRVUVzVFVGQlRTeGhRVUZoTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVd0Q0xFTkJRVU03UVVGRmFFUXNVVUZCUVN4TFFVRkxMRTFCUVUwc1ZVRkJWU3hKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVTdXVUZEY2tNc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRlZCUVZVc1JVRkJSU3huUWtGQlowSXNSVUZCUlN4bFFVRmxMRVZCUVVVc1lVRkJZU3hGUVVGRkxFTkJRVU1zVlVGQlZTeExRVU12Uml4VlFVRlZMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRMjVDTEVOQlFVTTdRVUZEU0N4VFFVRkJPMHRCUTBZN1FVRkZUU3hKUVVGQkxFMUJRVTBzUTBGQlF5eExRVUZoTEVWQlFVRTdRVUZEZWtJc1VVRkJRU3hOUVVGTkxHZENRVUZuUWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGelFpeERRVUZETzBGQlEzWkVMRkZCUVVFc1RVRkJUU3hsUVVGbExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFYTkNMRU5CUVVNN1FVRkRkRVFzVVVGQlFTeE5RVUZOTEdGQlFXRXNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJhMElzUTBGQlF6dEJRVVZvUkN4UlFVRkJMRXRCUVVzc1RVRkJUU3hWUVVGVkxFbEJRVWtzU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlRzN1dVRkZja01zU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGVkJRVlVzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hsUVVGbExFVkJRVVVzWVVGQllTeEZRVUZGTEVOQlFVTXNWVUZCVlN4TFFVTXZSaXhWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVTjZRaXhEUVVGRE96czdXVUZKUml4cFEwRkJhVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1RVRkJUU3hMUVVGSk96czdRVUZGTlVRc1owSkJRVUVzU1VGQlNTeERRVUZETEVOQlFVRXNSVUZCUVN4SFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETERCRFFVRkZMRWxCUVVrc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1IwRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTzBGQlF6TkVMRzlDUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEySXNhVUpCUVVFN08wRkJSMFFzWjBKQlFVRXNUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEV0QlFVc3NSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVOMlF5eG5Ra0ZCUVN4UFFVRlBMRXRCUVVzc1EwRkJRenRCUVVObUxHRkJRVU1zUTBGQlF5eERRVUZETzBGQlEwb3NVMEZCUVR0TFFVTkdPMEZCUlVRN096czdPenM3T3pzN096dEJRVmxITzBsQlEwc3NhMEpCUVd0Q0xFTkJRM2hDTEZWQlFUaENMRVZCUXpsQ0xHZENRVUY1UXl4RlFVTjZReXhsUVVGM1F5eEZRVU40UXl4aFFVRnJReXhGUVVOc1F5eFJRVUZyUkN4RlFVRkJPMEZCUld4RUxGRkJRVUVzU1VGQlNTeGxRVUZsTEVOQlFVTXNSMEZCUnl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRk8xbEJRMjVETEU5QlFVODdRVUZEVWl4VFFVRkJPMEZCUlVRc1VVRkJRU3hKUVVGSkxHZENRVUZuUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhWUVVGVkxFTkJRVU1zUlVGQlJUdEJRVU53UXl4WlFVRkJMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zSzBWQlFTdEZMRU5CUVVNc1EwRkJRenRCUVVOc1J5eFRRVUZCTzBGQlEwUXNVVUZCUVN4blFrRkJaMElzUTBGQlF5eEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkZha01zVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMEZCUTNKRUxGRkJRVUVzUzBGQlN5eE5RVUZOTEZOQlFWTXNTVUZCU1N4VlFVRlZMRVZCUVVVN1FVRkRiRU1zV1VGQlFTeDVRa0ZCZVVJc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF5eHBRa0ZCYVVJc1MwRkJTVHRuUWtGRGVrUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRWRCUVVjc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMEZCUTNCRkxHZENRVUZCTEVsQlFVa3NVMEZCVXl4RlFVRkZPMEZCUTJJc2IwSkJRVUVzUzBGQlN5eE5RVUZOTEdGQlFXRXNTVUZCU1N4VFFVRlRMRVZCUVVVN1FVRkRja01zZDBKQlFVRXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEdGQlFXRXNSVUZCUlN4blFrRkJaMElzUlVGQlJTeGxRVUZsTEVWQlFVVXNZVUZCWVN4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRM0JITEhGQ1FVRkJPMEZCUTBZc2FVSkJRVUU3UVVGQlRTeHhRa0ZCUVN4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFZEJRVWNzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhGUVVGRk96dEJRVVZvUkN4dlFrRkJRU3hwUWtGQmFVSXNRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eExRVUZMTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1FVRkRiRVFzYjBKQlFVRXNZVUZCWVN4RFFVRkRMRWRCUVVjc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMEZCUTNSRExHbENRVUZCTzBGQlEwZ3NZVUZCUXl4RFFVRkRMRU5CUVVNN1FVRkRTaXhUUVVGQk96dEJRVWRFTEZGQlFVRXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF6dFJRVU12UWl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRXRCUVVzc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVVZvUkN4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03UVVGRmNrSXNVVUZCUVN4aFFVRmhMRU5CUVVNc1IwRkJSeXhEUVVGRExGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0QlFVVnVReXhSUVVGQkxHVkJRV1VzUTBGQlF5eEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1MwRkRha003UVVGRlJEczdPenRCUVVsSE8wRkJRMHNzU1VGQlFTeG5Ra0ZCWjBJc1EwRkJReXhWUVVFNFFpeEZRVUZCTzBGQlEzSkVMRkZCUVVFc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFXdENMRU5CUVVNN1FVRkZkRU1zVVVGQlFTeE5RVUZOTEUxQlFVMHNSMEZCUnl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dEJRVU4wUXl4UlFVRkJMRWxCUVVrc1RVRkJUU3hGUVVGRk8wRkJRMVlzV1VGQlFTeEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRMnBDTEZOQlFVRTdVVUZGUkN4VlFVRlZMRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEdGQlFXRXNTMEZCU1R0WlFVTnNSQ3hoUVVGaExFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRkZCUVZFc1MwRkJTVHRCUVVNelF5eG5Ra0ZCUVN4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBGQlEzQkNMR0ZCUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzVTBGQlF5eERRVUZETEVOQlFVTTdRVUZGU0N4UlFVRkJMRTlCUVU4c1IwRkJSeXhEUVVGRE8wdEJRMW83UVVGRFJqczdRVU5vVFVRN08wRkJSVWM3UVVGRFNDeE5RVUZOTEhOQ1FVRnpRaXhIUVVGSExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNTMEZCU3l4RlFVRkZMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU03VFVGRkwwTXNlVUpCUVhsQ0xFTkJRVUU3UVVGdFFuQkRMRWxCUVVFc1NVRkJWeXhKUVVGSkxFZEJRVUU3VVVGRFlpeFBRVUZQTEhsQ1FVRjVRaXhEUVVGRExHTkJRV01zUTBGQlF6dExRVU5xUkR0SlFVVkVMRmRCUVcxQ0xFTkJRVUVzVFVGQmEwSXNSVUZCUlN4UFFVRXdReXhGUVVGQk8wRkJReTlGTEZGQlFVRXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03VVVGRmNrSXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1IwRkJSeXhQUVVGUExFdEJRVUVzU1VGQlFTeEpRVUZRTEU5QlFVOHNTMEZCVUN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeFBRVUZQTEVOQlFVVXNaVUZCWlN4RFFVRkRPMUZCUTJoRUxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1IwRkJSeXhQUVVGUExFdEJRVUVzU1VGQlFTeEpRVUZRTEU5QlFVOHNTMEZCVUN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeFBRVUZQTEVOQlFVVXNhMEpCUVd0Q0xFTkJRVU03UzBGRGRrUTdRVUZGV1N4SlFVRkJMRk5CUVZNc1EwRkJReXhKUVVGVkxFVkJRVUU3TzBGQlF5OUNMRmxCUVVFc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eHZRa0ZCYjBJc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRMMFFzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZCUVR0QlFVVkVPenM3T3p0QlFVdEhPMEZCUTFjc1NVRkJRU3hQUVVGUExFTkJRVU1zU1VGQlZTeEZRVUZCT3p0WlFVTTVRaXhOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03V1VGRE5VTXNTVUZCU1N4UlFVRlJMRWxCUVVrc1NVRkJTU3hGUVVGRk8wRkJRM0JDTEdkQ1FVRkJMRTlCUVU4c1VVRkJVU3hEUVVGRE8wRkJRMnBDTEdGQlFVRTdXVUZGUkN4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkROVU1zU1VGQlNTeFJRVUZSTEVsQlFVa3NTVUZCU1N4RlFVRkZPMEZCUTNCQ0xHZENRVUZCTEU5QlFVOHNVVUZCVVN4RFFVRkRPMEZCUTJwQ0xHRkJRVUU3UVVGRlJDeFpRVUZCTEU5QlFVOHNTVUZCU1N4RFFVRkRPMU5CUTJJc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGQlFUdEJRVVZoTEVsQlFVRXNVMEZCVXl4RFFVRkRMRWxCUVZVc1JVRkJRVHM3TzBGQlEyaERMRmxCUVVFc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRjNRaXhEUVVGRE96dEJRVWRzUkN4WlFVRkJMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NRMEZCUVN4RFFVRkJMRVZCUVVFc1IwRkJRU3hKUVVGSkxFTkJRVU1zWTBGQll5eE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkZMRTlCUVU4c1EwRkJReXg1UWtGQmVVSXNRMEZCUXl4alFVRmpMRU5CUVVNc1RVRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU4yUnl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVWQlFVVTdRVUZEY2tJc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEc5Q1FVRnZRaXhGUVVGRkxFTkJRVU03V1VGRk0wTXNUVUZCVFN4VlFVRlZMRWRCUVhGQ0xFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4bFFVRmxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRkwwVXNUVUZCVFN4VFFVRlRMRWRCUVVjc1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETEZWQlFWVXNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJSeXg1UWtGQmVVSXNRMEZCUXl4alFVRmpMRU5CUlM5RUxFTkJRVU03V1VGRFpDeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVRkZPMEZCUTJRc1owSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4aFFVRkJPMEZCUlVRc1dVRkJRU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eFRRVUZUTEVOQlFVTXNWMEZCVnl4RFFVRkRPMEZCUXpGRExGbEJRVUVzU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhEUVVGRExFZEJRVWNzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlR0blFrRkROVU1zVDBGQlR5eERRVUZETEVsQlFVa3NRMEZEVml4RFFVRnpReXh0UTBGQlFTeEZRVUZCTEhsQ1FVRjVRaXhEUVVGRExHTkJRV01zUTBGQmFVSXNZMEZCUVN4RlFVRkJMRmRCUVZjc1EwRkJSeXhEUVVGQkxFTkJRVUVzUTBGRE9VY3NRMEZCUXp0QlFVTkdMR2RDUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEySXNZVUZCUVR0QlFVVkVMRmxCUVVFc1RVRkJUU3hUUVVGVExFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNVMEZCVXl4RFFVRkRMRk5CUVZNc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4alFVRmpMRVZCUVVVc1UwRkJVeXhMUVVGSk96dG5Ra0ZEZGtVc1RVRkJUU3hKUVVGSkxFZEJRVWNzVlVGQlZTeERRVUZETEdOQlFXTXNRMEZCUXl4SlFVRkxMRU5CUVVNc1EwRkJRenRCUVVNNVF5eG5Ra0ZCUVN4TlFVRk5MRmRCUVZjc1IwRkJSeXhqUVVGakxFTkJRVU1zUzBGQlRTeERRVUZETzJkQ1FVVXhReXhKUVVGSkxGZEJRVmNzUTBGQlF5eE5RVUZOTEVWQlFVVTdRVUZEZEVJc2IwSkJRVUVzVDBGQlR5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTzNkQ1FVTjBReXhOUVVGTkxFVkJRVVVzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVUVzUlVGQlFTeEhRVUZCTEZkQlFWY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGSkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenQzUWtGRGJrWXNUVUZCVFN4RlFVRkZMRTFCUVVFc1YwRkJWeXhEUVVGRExFMUJRVTBzUTBGQlF5eE5RVUZOTEcxRFFVRkpMRWRCUVVjN1FVRkRla01zY1VKQlFVRXNRMEZCUXl4RFFVRkRPMEZCUTBvc2FVSkJRVUU3Y1VKQlFVMHNTVUZCU1N4WFFVRlhMRU5CUVVNc1QwRkJUeXhGUVVGRk8wRkJRemxDTEc5Q1FVRkJMRTlCUVU4c1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RFFVRkRMRWxCUVVrc1JVRkJSVHQzUWtGRGRrTXNUVUZCVFN4RlFVRkZMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkJMRVZCUVVFc1IwRkJRU3hYUVVGWExFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNUVUZCUVN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNSMEZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdkMEpCUTNCR0xFMUJRVTBzUlVGQlJTeE5RVUZCTEZkQlFWY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3h0UTBGQlNTeEhRVUZITzNkQ1FVTjZReXhKUVVGSkxFVkJRVVVzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVUVzUlVGQlFTeEhRVUZCTEZkQlFWY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hOUVVGQkxFbEJRVUVzU1VGQlFTeEZRVUZCTEV0QlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hIUVVGSkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVOcVJpeHhRa0ZCUVN4RFFVRkRMRU5CUVVNN1FVRkRTaXhwUWtGQlFUdEJRVVZFTEdkQ1FVRkJMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zTkVOQlFUUkRMRk5CUVZNc1EwRkJRU3h0UWtGQlFTeERRVUZ4UWl4RFFVRkRMRU5CUVVNN1FVRkRPVVlzWVVGQlF5eERRVUZETEVOQlFVTTdRVUZGU0N4WlFVRkJMRTFCUVUwc1kwRkJZeXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEZOQlFWTXNRMEZCUXl4alFVRmpMRTFCUVVFc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVVVzUjBGQlJ5eERRVU5zUkN4RFFVRkRMRzFDUVVGdFFpeEZRVUZGTEdOQlFXTXNTMEZCWjBNN08wRkJRMnhGTEdkQ1FVRkJMRTFCUVUwc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlFTeEZRVUZCTEVkQlFVRXNiVUpCUVcxQ0xFTkJRVU1zVTBGQlV5eE5RVUZCTEVsQlFVRXNTVUZCUVN4RlFVRkJMRXRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeEhRVUZKTEVWQlFVVXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFdEJRVWs3YjBKQlEyNUZMRTFCUVUwc1IwRkJSeXhIUVVGSExGTkJRVk1zUzBGQlZDeEpRVUZCTEVsQlFVRXNVMEZCVXl4MVFrRkJWQ3hUUVVGVExFTkJRVWNzVTBGQlV5eERRVUZETEVOQlFVTTdiMEpCUlc1RExFbEJRVWtzUjBGQlJ5eEpRVUZKTEVsQlFVa3NSVUZCUlR0M1FrRkRaaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVU5pTEVOQlFVRXNPRU5CUVVFc1JVRkJhVVFzWTBGQll5eERRVUZwUXl3NFFrRkJRU3hGUVVGQkxGTkJRVk1zUTBGQlowSXNZMEZCUVN4RFFVRkJMRU5CUXpGSUxFTkJRVU03UVVGRFNDeHhRa0ZCUVR0QlFVVkVMRzlDUVVGQkxFOUJRVThzUjBGQlJ5eERRVUZETzBGQlEySXNhVUpCUVVNc1EwRkJReXhEUVVGRE8yZENRVVZJTEU5QlFVODdRVUZEVEN4dlFrRkJRU3hUUVVGVExFVkJRVVVzU1VGQlNUdHZRa0ZEWml4SlFVRkpMRVZCUVVVc2JVSkJRVzFDTEVOQlFVTXNTVUZCU1R0cFFrRkRMMElzUTBGQlF6dEJRVU5LTEdGQlFVTXNRMEZEUml4RFFVRkRPMWxCUlVZc1EwRkJRU3hGUVVGQkxFZEJRVUVzVTBGQlV5eERRVUZETEU5QlFVOHNUVUZCUlN4SlFVRkJMRWxCUVVFc1JVRkJRU3hMUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJRU3hQUVVGUExFTkJRVU1zUTBGQlF5eFpRVUZaTEVWQlFVVXNUMEZCVHl4TFFVRkpPenRCUVVOdVJDeG5Ra0ZCUVN4TlFVRk5MRmxCUVZrc1IwRkJSeXhaUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZET3p0QlFVZDZReXhuUWtGQlFTeE5RVUZOTEhWQ1FVRjFRaXhIUVVGSExFTkJRVUVzUlVGQlFTeEhRVUZCTEZsQlFWa3NRMEZCUXl4alFVRmpMRTFCUVVVc1NVRkJRU3hKUVVGQkxFVkJRVUVzUzBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzUjBGQlJ5eERRVUZETEVOQlFVTXNZMEZCWXl4TFFVRkpPMjlDUVVOc1JpeE5RVUZOTEV0QlFVc3NSMEZCUnl4alFVRmpMRXRCUVdRc1NVRkJRU3hKUVVGQkxHTkJRV01zZFVKQlFXUXNZMEZCWXl4RFFVRkhMR05CUVdNc1EwRkJReXhEUVVGRE8yOUNRVVV2UXl4SlFVRkpMRXRCUVVzc1NVRkJTU3hKUVVGSkxFVkJRVVU3ZDBKQlEycENMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRMklzUTBGQlFTeDFRMEZCUVN4RlFVRXdReXhQUVVGUExFTkJRWEZETEd0RFFVRkJMRVZCUVVFc1kwRkJZeXhEUVVGblFpeGpRVUZCTEVOQlFVRXNRMEZEY2tnc1EwRkJRenRCUVVOSUxIRkNRVUZCTzBGQlJVUXNiMEpCUVVFc1QwRkJUeXhMUVVGTExFTkJRVU03UVVGRFppeHBRa0ZCUXl4RFFVRkRMRU5CUVVNN1owSkJSVWdzVFVGQlRTeE5RVUZOTEVkQlFVY3NXVUZCV1N4RFFVRkRMRTFCUVUwc1NVRkJTU3hKUVVGSkxFZEJRVWNzVlVGQlZTeERRVUZETEZsQlFWa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU03UVVGRmVrWXNaMEpCUVVFc1NVRkJTU3hsUVVFclJDeERRVUZETzBGQlEzQkZMR2RDUVVGQkxGbEJRVmtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4WFFVRlhMRXRCUVVrN1FVRkRia01zYjBKQlFVRXNTVUZCU1N4bFFVRmxMRVZCUVVVN08wRkJSVzVDTEhkQ1FVRkJMRTFCUVUwc1UwRkJVeXhIUVVGSExHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVTTdRVUZEZGtNc2QwSkJRVUVzVFVGQlRTeEpRVUZKTEVkQlFVY3NWVUZCVlN4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8wRkJRMjVETEhkQ1FVRkJMRTFCUVUwc1ZVRkJWU3hIUVVGSExGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTTdRVUZEY0VNc2QwSkJRVUVzVFVGQlRTeExRVUZMTEVkQlFVY3NWVUZCVlN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE96dEJRVWR5UXl4M1FrRkJRU3hOUVVGTkxFOUJRVThzUjBGQmQwTTdORUpCUTI1RUxGTkJRVk1zUlVGQlJTeGxRVUZsTEVOQlFVTXNVMEZCVXpzMFFrRkRjRU1zVTBGQlV5eEZRVUZGTEdWQlFXVXNRMEZCUXl4VFFVRlRPelJDUVVOd1F5eFpRVUZaTEVWQlFVVXNaVUZCWlN4RFFVRkRMRmxCUVZrN05FSkJRekZETEZOQlFWTXNSVUZCUlN4bFFVRmxMRU5CUVVNc1UwRkJVenRCUVVOd1F5dzBRa0ZCUVN4VlFVRlZMRVZCUTFJc1pVRkJaU3hEUVVGRExGVkJRVlVzU1VGQlNTeEpRVUZKTzBGQlEyaERMR3REUVVGRkxFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRMRk5CUVZNc1EwRkJReXhsUVVGbExFTkJRVU1zVlVGQlZTeERRVUZETzBGQlF6TkVMR3REUVVGRkxGTkJRVk03ZVVKQlEyaENMRU5CUVVNN08wRkJSMFlzZDBKQlFVRXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVWQlFVVXNTMEZCU3l4RlFVRkZMRTlCUVU4c1JVRkJSU3gxUWtGQmRVSXNRMEZCUXl4RFFVRkRPMEZCUXk5RkxIZENRVUZCTEVsQlFVa3NUVUZCVFN4RlFVRkZPMEZCUTFZc05FSkJRVUVzUzBGQlN5eERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1FVRkRka0lzZVVKQlFVRTdRVUZGUkN4M1FrRkJRU3hQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTNwQ0xIRkNRVUZCTzI5Q1FVVkVMR1ZCUVdVc1IwRkJSeXhYUVVGWExFTkJRVU03UVVGRGFFTXNhVUpCUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzWVVGQlF5eERRVUZETEVOQlFVTTdPMWxCUjBnc1QwRkJUeXhEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETzBGQlJYWkNMRmxCUVVFc1QwRkJUeXhQUVVGUExFTkJRVU03TzBGQlEyaENMRXRCUVVFN1FVRkZZU3hKUVVGQkxGTkJRVk1zUTBGQlF5eEpRVUZWTEVWQlFVRTdPenRCUVVOb1F5eFpRVUZCTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQmQwSXNRMEZCUXpzN1FVRkhiRVFzV1VGQlFTeE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxFbEJRVWtzUTBGQlF5eGpRVUZqTEUxQlFVVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUXpkRUxFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVTdRVUZEWkN4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdPMWxCUjBRc1RVRkJUU3hUUVVGVExFZEJRVWNzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCU1N4RFFVRkRMRlZCUVZVc1RVRkJRU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlJ5eExRVUZMTEVOQlFUQkNMRU5CUVVNN1dVRkRjRVVzVFVGQlRTeDNRa0ZCZDBJc1IwRkJSeXhUUVVGVExFdEJRVUVzU1VGQlFTeEpRVUZVTEZOQlFWTXNTMEZCVkN4TFFVRkJMRU5CUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeFRRVUZUTEVOQlFVVXNhMEpCUVd0Q0xFTkJRVU03V1VGREwwUXNTVUZCU1N4RFFVRkRMSGRDUVVGM1FpeEZRVUZGTzBGQlF6ZENMR2RDUVVGQkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEySXNZVUZCUVR0WlFVVkVMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NkMEpCUVhkQ0xFdEJRVUVzU1VGQlFTeEpRVUY0UWl4M1FrRkJkMElzUzBGQmVFSXNTMEZCUVN4RFFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzZDBKQlFYZENMRU5CUVVVc1ZVRkJWU3hEUVVGRE8xbEJRemxFTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUlVGQlJUdEJRVU55UWl4blFrRkJRU3hQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5pTEdGQlFVRTdRVUZGUkN4WlFVRkJMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzYjBKQlFXOUNMRVZCUVVVc1EwRkJRenRaUVVVelF5eE5RVUZOTEZWQlFWVXNSMEZCY1VJc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEdWQlFXVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRCUVVVdlJTeFpRVUZCTEUxQlFVMHNZMEZCWXl4SFFVRkhMRU5CUVVFc1JVRkJRU3hIUVVGQkxIZENRVUYzUWl4RFFVRkRMR05CUVdNc1RVRkJSU3hKUVVGQkxFbEJRVUVzUlVGQlFTeExRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlFTeEhRVUZITEVOQlEycEZMRU5CUVVNc2JVSkJRVzFDTEV0QlFXZERPenRuUWtGRGJFUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1ZVRkJWU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRWxCUVVzc1EwRkJReXhEUVVGRE8wRkJRMjVFTEdkQ1FVRkJMRTFCUVUwc1UwRkJVeXhIUVVGSExFTkJRVU1zVFVGQlFTeHRRa0ZCYlVJc1EwRkJReXhUUVVGVExFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzUlVGQlJTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMR05CUVdNc1JVRkJSU3hUUVVGVExFdEJRVWs3TzBGQlEzaEdMRzlDUVVGQkxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMjlDUVVOb1JDeEpRVUZKTEdOQlFXTXNRMEZCUXl4TlFVRk5MRVZCUVVVN1FVRkRla0lzZDBKQlFVRXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkRVaXhOUVVGQkxHTkJRV01zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4TlFVRkpMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkJMRWRCUVVjc1JVRkRPVUlzUTBGQlFTeEZRVUZCTEVkQlFVRXNZMEZCWXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzUjBGQlJ5eEZRVU01UWl4alFVRmpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEdOQlFXTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGRGVrUXNRMEZCUXp0QlFVTklMSEZDUVVGQk8wRkJSVVFzYjBKQlFVRXNUMEZCVHl4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RlFVRkZPM2RDUVVOMFF5eE5RVUZOTzBGQlEwNHNkMEpCUVVFc1RVRkJUU3hGUVVGRkxFTkJRVUVzUlVGQlFTeEhRVUZCTEdOQlFXTXNRMEZCUXl4TlFVRk5MRzFEUVVGSkxFZEJRVWM3UVVGRGNrTXNjVUpCUVVFc1EwRkJReXhEUVVGRE8wRkJRMHdzYVVKQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVWSUxFOUJRVThzUlVGQlJTeFRRVUZUTEVWQlFVVXNRMEZCUXp0QlFVTjJRaXhoUVVGRExFTkJRMFlzUTBGQlF6czdRVUZIUml4WlFVRkJMR2RDUVVGblFpeExRVUZvUWl4SlFVRkJMRWxCUVVFc1owSkJRV2RDTEV0QlFXaENMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEdkQ1FVRm5RaXhEUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETEdWQlFXVXNSVUZCUlN4VlFVRlZMRXRCUVVrN1FVRkRlRVFzWjBKQlFVRXNUVUZCVFN4WFFVRlhMRWRCUVVjc1pVRkJaU3hEUVVGRExFdEJRVXNzUTBGQlF6dG5Ra0ZETVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUlVGQlJUdHZRa0ZEYUVJc1QwRkJUenRCUVVOU0xHbENRVUZCTzBGQlJVUXNaMEpCUVVFc1YwRkJWeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEZOQlFWTXNTMEZCU1RzN1FVRkRhRU1zYjBKQlFVRXNUVUZCVFN4SlFVRkpMRWRCUVVjc1ZVRkJWU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZET3p0QlFVZHVReXh2UWtGQlFTeE5RVUZOTEZWQlFWVXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dHZRa0ZEZGtNc1NVRkJTU3hsUVVGbExFTkJRVU1zVlVGQlZTeEZRVUZGTzBGQlF6bENMSGRDUVVGQkxGVkJRVlVzUTBGQlF5eEhRVUZITEVOQlExb3NRMEZCUVN4RlFVRkJMRWRCUVVFc1pVRkJaU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEUxQlFVRXNTVUZCUVN4SlFVRkJMRVZCUVVFc1MwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVkQlFVa3NSMEZCUnl4RlFVTnVReXhOUVVGQkxHVkJRV1VzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4TlFVRkJMRWxCUVVFc1NVRkJRU3hGUVVGQkxFdEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRkpMRWRCUVVjc1JVRkRia01zUTBGQlFTeEZRVUZCTEVkQlFVRXNaVUZCWlN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzUjBGQlJ5eERRVU53UXl4RFFVRkRPMEZCUTBnc2NVSkJRVUU3UVVGQlRTeDVRa0ZCUVR0M1FrRkRUQ3hWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dEJRVU5vUXl4eFFrRkJRVHR2UWtGRlJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4bFFVRmxMRU5CUVVNc1RVRkJUU3hKUVVGSkxFbEJRVWtzUjBGQlJ5eFZRVUZWTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF6dEJRVVV2Uml4dlFrRkJRU3hOUVVGTkxFOUJRVThzUjBGQmQwTTdkMEpCUTI1RUxGTkJRVk1zUlVGQlJTeGxRVUZsTEVOQlFVTXNVMEZCVXp0M1FrRkRjRU1zVTBGQlV5eEZRVUZGTEdWQlFXVXNRMEZCUXl4VFFVRlRPM2RDUVVOd1F5eFpRVUZaTEVWQlFVVXNaVUZCWlN4RFFVRkRMRmxCUVZrN2QwSkJRekZETEZOQlFWTXNSVUZCUlN4bFFVRmxMRU5CUVVNc1ZVRkJWVHQzUWtGRGNrTXNWVUZCVlR0eFFrRkRXQ3hEUVVGRE96dEJRVWRHTEc5Q1FVRkJMRTFCUVUwc2RVSkJRWFZDTEVkQlFVY3NRMEZCUVN4RlFVRkJMRWRCUVVFc1pVRkJaU3hEUVVGRExHTkJRV01zVFVGQlJTeEpRVUZCTEVsQlFVRXNSVUZCUVN4TFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUVN4SFFVRkhMRU5CUVVNc1EwRkJReXhqUVVGakxFdEJRVWs3ZDBKQlEzSkdMRTFCUVUwc1MwRkJTeXhIUVVGSExHTkJRV01zUzBGQlpDeEpRVUZCTEVsQlFVRXNZMEZCWXl4MVFrRkJaQ3hqUVVGakxFTkJRVWNzWTBGQll5eERRVUZETEVOQlFVTTdkMEpCUlM5RExFbEJRVWtzUzBGQlN5eEpRVUZKTEVsQlFVa3NSVUZCUlRzMFFrRkRha0lzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZEWWl4RFFVRkJMSFZEUVVGQkxFVkJRVEJETEZWQlFWVXNRMEZCY1VNc2EwTkJRVUVzUlVGQlFTeGpRVUZqTEVOQlFXZENMR05CUVVFc1EwRkJRU3hEUVVONFNDeERRVUZETzBGQlEwZ3NlVUpCUVVFN1FVRkZSQ3gzUWtGQlFTeFBRVUZQTEV0QlFVc3NRMEZCUXp0QlFVTm1MSEZDUVVGRExFTkJRVU1zUTBGQlF6czdRVUZIU0N4dlFrRkJRU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNTVUZCU1N4TFFVRkpPenQzUWtGRGNrSXNUVUZCVFN4TFFVRkxMRWRCUVRCQ0xFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVWtzU1VGQlFTeEpRVUZCTEVWQlFVRXNTMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlNTeERRVUZETzBGQlJUbEVMSGRDUVVGQkxFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFBRVUZQTEVWQlFVVXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF6dEJRVU12UlN4M1FrRkJRU3hKUVVGSkxFMUJRVTBzUlVGQlJUdEJRVU5XTERSQ1FVRkJMRXRCUVVzc1EwRkJReXhOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETzBGQlEzWkNMSGxDUVVGQk8wRkJSVVFzZDBKQlFVRXNUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEJRVU14UWl4eFFrRkJReXhEUVVGRExFTkJRVU03UVVGRFRDeHBRa0ZCUXl4RFFVRkRMRU5CUVVNN1FVRkRUQ3hoUVVGRExFTkJRVU1zUTBGQlF6czdRVUZIU0N4WlFVRkJMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zYVVKQlFXbENMRVZCUVVVc1EwRkJRenRaUVVNdlFpeFBRVUZQTEVOQlFVTXNXVUZCV1N4RlFVRkZMRU5CUVVNN1FVRkZka0lzV1VGQlFTeFBRVUZQTEU5QlFVOHNRMEZCUXpzN1FVRkRhRUlzUzBGQlFUdEJRVVZQTEVsQlFVRXNXVUZCV1N4RFFVTnNRaXhKUVVGdlFpeEZRVU53UWl4TFFVRnhRaXhGUVVOeVFpeFBRVUUyUXl4RlFVTTNReXgxUWtGQmMwUXNSVUZCUVR0QlFVVjBSQ3hSUVVGQkxFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NhMEpCUVd0Q0xFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NSVUZCUlN4UFFVRlBMRVZCUVVVc2RVSkJRWFZDTEVOQlFVTXNRMEZCUXp0UlFVVjZSaXhKUVVGSkxFbEJRVWtzUTBGQlF5eGxRVUZsTEVWQlFVVTdRVUZEZUVJc1dVRkJRU3hOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEhkQ1FVRjNRaXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBGQlEzaEVMRmxCUVVFc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRha01zVFVGQlRTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRExGZEJRVmNzUTBGQlF6dEJRVU4yUkN4VFFVRkJPMEZCUlVRc1VVRkJRU3hQUVVGUExGVkJRVlVzUTBGQlF6dExRVU51UWp0SlFVVlBMSEZDUVVGeFFpeERRVU16UWl4WFFVRXlRaXhGUVVNelFpeE5RVWRETEVWQlFVRTdRVUZGUkN4UlFVRkJMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVkQlFVY3NUVUZCVFN4RFFVRkRPMUZCUld4RExFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NaME5CUVdkRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJRenRCUVVWMlJTeFJRVUZCTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc2NVSkJRWEZDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1FVRkZiRVFzVVVGQlFTeFhRVUZYTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJSVEZDTEVsQlFVa3NTVUZCU1N4RFFVRkRMR3RDUVVGclFpeEZRVUZGTzBGQlF6TkNMRmxCUVVFc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTd3lRa0ZCTWtJc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEJRVU42UkN4WlFVRkJMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGNFTXNUVUZCVFN4RFFVRkRMRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1YwRkJWeXhEUVVGRE8wRkJRekZFTEZOQlFVRTdRVUZGUkN4UlFVRkJMRTlCUVU4c1VVRkJVU3hEUVVGRE8wdEJRMnBDTzBsQlJVOHNjMEpCUVhOQ0xFTkJRelZDTEZkQlFUSkNMRVZCUXpOQ0xFMUJTVU1zUlVGQlFUdFJRVVZFTEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEUxQlFVMHNRMEZCUXp0QlFVVjRReXhSUVVGQkxFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NhVU5CUVdsRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU03UVVGRk9VVXNVVUZCUVN4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxIRkNRVUZ4UWl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJSV3hFTEZGQlFVRXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVVV4UWl4SlFVRkpMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNSVUZCUlR0QlFVTXpRaXhaUVVGQkxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NNa0pCUVRKQ0xFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdRVUZEZWtRc1dVRkJRU3hKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEzQkRMRTFCUVUwc1EwRkJReXhYUVVGWExFZEJRVWNzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGZEJRVmNzUTBGQlF6dEJRVU14UkN4VFFVRkJPMEZCUlVRc1VVRkJRU3hQUVVGUExGRkJRVkVzUTBGQlF6dExRVU5xUWpzN1FVRjBWM05DTEhsQ1FVRmpMRU5CUVVFc1kwRkJRU3hIUVVGSExHbENRVUZwUWpzN096c2lmUT09XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBHTFRGLCBHTFRGTG9hZGVyUGx1Z2luLCBHTFRGUGFyc2VyIH0gZnJvbSAndGhyZWUvZXhhbXBsZXMvanNtL2xvYWRlcnMvR0xURkxvYWRlci5qcyc7XG5pbXBvcnQge1xuICBWUk1FeHByZXNzaW9uTG9hZGVyUGx1Z2luLFxuICBWUk1GaXJzdFBlcnNvbkxvYWRlclBsdWdpbixcbiAgVlJNSHVtYW5vaWQsXG4gIFZSTUh1bWFub2lkTG9hZGVyUGx1Z2luLFxuICBWUk1Mb29rQXRMb2FkZXJQbHVnaW4sXG4gIFZSTU1ldGEsXG4gIFZSTU1ldGFMb2FkZXJQbHVnaW4sXG59IGZyb20gJ0BwaXhpdi90aHJlZS12cm0tY29yZSc7XG5pbXBvcnQgeyBNVG9vbk1hdGVyaWFsTG9hZGVyUGx1Z2luIH0gZnJvbSAnQHBpeGl2L3RocmVlLXZybS1tYXRlcmlhbHMtbXRvb24nO1xuaW1wb3J0IHsgVlJNTWF0ZXJpYWxzSERSRW1pc3NpdmVNdWx0aXBsaWVyTG9hZGVyUGx1Z2luIH0gZnJvbSAnQHBpeGl2L3RocmVlLXZybS1tYXRlcmlhbHMtaGRyLWVtaXNzaXZlLW11bHRpcGxpZXInO1xuaW1wb3J0IHsgVlJNTWF0ZXJpYWxzVjBDb21wYXRQbHVnaW4gfSBmcm9tICdAcGl4aXYvdGhyZWUtdnJtLW1hdGVyaWFscy12MGNvbXBhdCc7XG5pbXBvcnQgeyBWUk1Ob2RlQ29uc3RyYWludExvYWRlclBsdWdpbiB9IGZyb20gJ0BwaXhpdi90aHJlZS12cm0tbm9kZS1jb25zdHJhaW50JztcbmltcG9ydCB7IFZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW4gfSBmcm9tICdAcGl4aXYvdGhyZWUtdnJtLXNwcmluZ2JvbmUnO1xuaW1wb3J0IHsgVlJNTG9hZGVyUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vVlJNTG9hZGVyUGx1Z2luT3B0aW9ucyc7XG5pbXBvcnQgeyBWUk0gfSBmcm9tICcuL1ZSTSc7XG5cbmV4cG9ydCBjbGFzcyBWUk1Mb2FkZXJQbHVnaW4gaW1wbGVtZW50cyBHTFRGTG9hZGVyUGx1Z2luIHtcbiAgcHVibGljIHJlYWRvbmx5IHBhcnNlcjogR0xURlBhcnNlcjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZXhwcmVzc2lvblBsdWdpbjogVlJNRXhwcmVzc2lvbkxvYWRlclBsdWdpbjtcbiAgcHVibGljIHJlYWRvbmx5IGZpcnN0UGVyc29uUGx1Z2luOiBWUk1GaXJzdFBlcnNvbkxvYWRlclBsdWdpbjtcbiAgcHVibGljIHJlYWRvbmx5IGh1bWFub2lkUGx1Z2luOiBWUk1IdW1hbm9pZExvYWRlclBsdWdpbjtcbiAgcHVibGljIHJlYWRvbmx5IGxvb2tBdFBsdWdpbjogVlJNTG9va0F0TG9hZGVyUGx1Z2luO1xuICBwdWJsaWMgcmVhZG9ubHkgbWV0YVBsdWdpbjogVlJNTWV0YUxvYWRlclBsdWdpbjtcbiAgcHVibGljIHJlYWRvbmx5IG10b29uTWF0ZXJpYWxQbHVnaW46IE1Ub29uTWF0ZXJpYWxMb2FkZXJQbHVnaW47XG4gIHB1YmxpYyByZWFkb25seSBtYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJQbHVnaW46IFZSTU1hdGVyaWFsc0hEUkVtaXNzaXZlTXVsdGlwbGllckxvYWRlclBsdWdpbjtcbiAgcHVibGljIHJlYWRvbmx5IG1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luOiBWUk1NYXRlcmlhbHNWMENvbXBhdFBsdWdpbjtcbiAgcHVibGljIHJlYWRvbmx5IHNwcmluZ0JvbmVQbHVnaW46IFZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW47XG4gIHB1YmxpYyByZWFkb25seSBub2RlQ29uc3RyYWludFBsdWdpbjogVlJNTm9kZUNvbnN0cmFpbnRMb2FkZXJQbHVnaW47XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdWUk1Mb2FkZXJQbHVnaW4nO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcnNlcjogR0xURlBhcnNlciwgb3B0aW9ucz86IFZSTUxvYWRlclBsdWdpbk9wdGlvbnMpIHtcbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcblxuICAgIGNvbnN0IGhlbHBlclJvb3QgPSBvcHRpb25zPy5oZWxwZXJSb290O1xuICAgIGNvbnN0IGF1dG9VcGRhdGVIdW1hbkJvbmVzID0gb3B0aW9ucz8uYXV0b1VwZGF0ZUh1bWFuQm9uZXM7XG5cbiAgICB0aGlzLmV4cHJlc3Npb25QbHVnaW4gPSBvcHRpb25zPy5leHByZXNzaW9uUGx1Z2luID8/IG5ldyBWUk1FeHByZXNzaW9uTG9hZGVyUGx1Z2luKHBhcnNlcik7XG4gICAgdGhpcy5maXJzdFBlcnNvblBsdWdpbiA9IG9wdGlvbnM/LmZpcnN0UGVyc29uUGx1Z2luID8/IG5ldyBWUk1GaXJzdFBlcnNvbkxvYWRlclBsdWdpbihwYXJzZXIpO1xuICAgIHRoaXMuaHVtYW5vaWRQbHVnaW4gPVxuICAgICAgb3B0aW9ucz8uaHVtYW5vaWRQbHVnaW4gPz9cbiAgICAgIG5ldyBWUk1IdW1hbm9pZExvYWRlclBsdWdpbihwYXJzZXIsIHtcbiAgICAgICAgaGVscGVyUm9vdCxcbiAgICAgICAgYXV0b1VwZGF0ZUh1bWFuQm9uZXMsXG4gICAgICB9KTtcbiAgICB0aGlzLmxvb2tBdFBsdWdpbiA9IG9wdGlvbnM/Lmxvb2tBdFBsdWdpbiA/PyBuZXcgVlJNTG9va0F0TG9hZGVyUGx1Z2luKHBhcnNlciwgeyBoZWxwZXJSb290IH0pO1xuICAgIHRoaXMubWV0YVBsdWdpbiA9IG9wdGlvbnM/Lm1ldGFQbHVnaW4gPz8gbmV3IFZSTU1ldGFMb2FkZXJQbHVnaW4ocGFyc2VyKTtcbiAgICB0aGlzLm10b29uTWF0ZXJpYWxQbHVnaW4gPSBvcHRpb25zPy5tdG9vbk1hdGVyaWFsUGx1Z2luID8/IG5ldyBNVG9vbk1hdGVyaWFsTG9hZGVyUGx1Z2luKHBhcnNlcik7XG4gICAgdGhpcy5tYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJQbHVnaW4gPVxuICAgICAgb3B0aW9ucz8ubWF0ZXJpYWxzSERSRW1pc3NpdmVNdWx0aXBsaWVyUGx1Z2luID8/IG5ldyBWUk1NYXRlcmlhbHNIRFJFbWlzc2l2ZU11bHRpcGxpZXJMb2FkZXJQbHVnaW4ocGFyc2VyKTtcbiAgICB0aGlzLm1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luID0gb3B0aW9ucz8ubWF0ZXJpYWxzVjBDb21wYXRQbHVnaW4gPz8gbmV3IFZSTU1hdGVyaWFsc1YwQ29tcGF0UGx1Z2luKHBhcnNlcik7XG5cbiAgICB0aGlzLnNwcmluZ0JvbmVQbHVnaW4gPVxuICAgICAgb3B0aW9ucz8uc3ByaW5nQm9uZVBsdWdpbiA/P1xuICAgICAgbmV3IFZSTVNwcmluZ0JvbmVMb2FkZXJQbHVnaW4ocGFyc2VyLCB7XG4gICAgICAgIGNvbGxpZGVySGVscGVyUm9vdDogaGVscGVyUm9vdCxcbiAgICAgICAgam9pbnRIZWxwZXJSb290OiBoZWxwZXJSb290LFxuICAgICAgfSk7XG5cbiAgICB0aGlzLm5vZGVDb25zdHJhaW50UGx1Z2luID1cbiAgICAgIG9wdGlvbnM/Lm5vZGVDb25zdHJhaW50UGx1Z2luID8/IG5ldyBWUk1Ob2RlQ29uc3RyYWludExvYWRlclBsdWdpbihwYXJzZXIsIHsgaGVscGVyUm9vdCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBiZWZvcmVSb290KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubWF0ZXJpYWxzVjBDb21wYXRQbHVnaW4uYmVmb3JlUm9vdCgpO1xuICAgIGF3YWl0IHRoaXMubXRvb25NYXRlcmlhbFBsdWdpbi5iZWZvcmVSb290KCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZE1lc2gobWVzaEluZGV4OiBudW1iZXIpOiBQcm9taXNlPFRIUkVFLkdyb3VwIHwgVEhSRUUuTWVzaCB8IFRIUkVFLlNraW5uZWRNZXNoPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubXRvb25NYXRlcmlhbFBsdWdpbi5sb2FkTWVzaChtZXNoSW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGdldE1hdGVyaWFsVHlwZShtYXRlcmlhbEluZGV4OiBudW1iZXIpOiB0eXBlb2YgVEhSRUUuTWF0ZXJpYWwgfCBudWxsIHtcbiAgICBjb25zdCBtdG9vblR5cGUgPSB0aGlzLm10b29uTWF0ZXJpYWxQbHVnaW4uZ2V0TWF0ZXJpYWxUeXBlKG1hdGVyaWFsSW5kZXgpO1xuICAgIGlmIChtdG9vblR5cGUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG10b29uVHlwZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBleHRlbmRNYXRlcmlhbFBhcmFtcyhtYXRlcmlhbEluZGV4OiBudW1iZXIsIG1hdGVyaWFsUGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogUHJvbWlzZTxhbnk+IHtcbiAgICBhd2FpdCB0aGlzLm1hdGVyaWFsc0hEUkVtaXNzaXZlTXVsdGlwbGllclBsdWdpbi5leHRlbmRNYXRlcmlhbFBhcmFtcyhtYXRlcmlhbEluZGV4LCBtYXRlcmlhbFBhcmFtcyk7XG4gICAgYXdhaXQgdGhpcy5tdG9vbk1hdGVyaWFsUGx1Z2luLmV4dGVuZE1hdGVyaWFsUGFyYW1zKG1hdGVyaWFsSW5kZXgsIG1hdGVyaWFsUGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhZnRlclJvb3QoZ2x0ZjogR0xURik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubWV0YVBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgYXdhaXQgdGhpcy5odW1hbm9pZFBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgYXdhaXQgdGhpcy5leHByZXNzaW9uUGx1Z2luLmFmdGVyUm9vdChnbHRmKTtcbiAgICBhd2FpdCB0aGlzLmxvb2tBdFBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgYXdhaXQgdGhpcy5maXJzdFBlcnNvblBsdWdpbi5hZnRlclJvb3QoZ2x0Zik7XG4gICAgYXdhaXQgdGhpcy5zcHJpbmdCb25lUGx1Z2luLmFmdGVyUm9vdChnbHRmKTtcbiAgICBhd2FpdCB0aGlzLm5vZGVDb25zdHJhaW50UGx1Z2luLmFmdGVyUm9vdChnbHRmKTtcbiAgICBhd2FpdCB0aGlzLm10b29uTWF0ZXJpYWxQbHVnaW4uYWZ0ZXJSb290KGdsdGYpO1xuXG4gICAgY29uc3QgbWV0YSA9IGdsdGYudXNlckRhdGEudnJtTWV0YSBhcyBWUk1NZXRhIHwgbnVsbDtcbiAgICBjb25zdCBodW1hbm9pZCA9IGdsdGYudXNlckRhdGEudnJtSHVtYW5vaWQgYXMgVlJNSHVtYW5vaWQgfCBudWxsO1xuXG4gICAgLy8gbWV0YSBhbmQgaHVtYW5vaWQgYXJlIHJlcXVpcmVkIHRvIGJlIGEgVlJNLlxuICAgIC8vIERvbid0IGNyZWF0ZSBWUk0gaWYgdGhleSBhcmUgbnVsbFxuICAgIGlmIChtZXRhICYmIGh1bWFub2lkKSB7XG4gICAgICBjb25zdCB2cm0gPSBuZXcgVlJNKHtcbiAgICAgICAgc2NlbmU6IGdsdGYuc2NlbmUsXG4gICAgICAgIGV4cHJlc3Npb25NYW5hZ2VyOiBnbHRmLnVzZXJEYXRhLnZybUV4cHJlc3Npb25NYW5hZ2VyLFxuICAgICAgICBmaXJzdFBlcnNvbjogZ2x0Zi51c2VyRGF0YS52cm1GaXJzdFBlcnNvbixcbiAgICAgICAgaHVtYW5vaWQsXG4gICAgICAgIGxvb2tBdDogZ2x0Zi51c2VyRGF0YS52cm1Mb29rQXQsXG4gICAgICAgIG1ldGEsXG4gICAgICAgIG1hdGVyaWFsczogZ2x0Zi51c2VyRGF0YS52cm1NVG9vbk1hdGVyaWFscyxcbiAgICAgICAgc3ByaW5nQm9uZU1hbmFnZXI6IGdsdGYudXNlckRhdGEudnJtU3ByaW5nQm9uZU1hbmFnZXIsXG4gICAgICAgIG5vZGVDb25zdHJhaW50TWFuYWdlcjogZ2x0Zi51c2VyRGF0YS52cm1Ob2RlQ29uc3RyYWludE1hbmFnZXIsXG4gICAgICB9KTtcblxuICAgICAgZ2x0Zi51c2VyRGF0YS52cm0gPSB2cm07XG4gICAgfVxuICB9XG59XG4iLCIvLyBTZWU6IGh0dHBzOi8vdGhyZWVqcy5vcmcvZG9jcy8jbWFudWFsL2VuL2ludHJvZHVjdGlvbi9Ib3ctdG8tZGlzcG9zZS1vZi1vYmplY3RzXG5cbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuZnVuY3Rpb24gZGlzcG9zZU1hdGVyaWFsKG1hdGVyaWFsOiBUSFJFRS5NYXRlcmlhbCk6IHZvaWQge1xuICBPYmplY3QudmFsdWVzKG1hdGVyaWFsKS5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgIGlmICh2YWx1ZT8uaXNUZXh0dXJlKSB7XG4gICAgICBjb25zdCB0ZXh0dXJlID0gdmFsdWUgYXMgVEhSRUUuVGV4dHVyZTtcbiAgICAgIHRleHR1cmUuZGlzcG9zZSgpO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKChtYXRlcmlhbCBhcyBhbnkpLmlzU2hhZGVyTWF0ZXJpYWwpIHtcbiAgICBjb25zdCB1bmlmb3JtczogeyBbdW5pZm9ybTogc3RyaW5nXTogVEhSRUUuSVVuaWZvcm08YW55PiB9ID0gKG1hdGVyaWFsIGFzIGFueSkudW5pZm9ybXM7XG4gICAgaWYgKHVuaWZvcm1zKSB7XG4gICAgICBPYmplY3QudmFsdWVzKHVuaWZvcm1zKS5mb3JFYWNoKCh1bmlmb3JtKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdW5pZm9ybS52YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlPy5pc1RleHR1cmUpIHtcbiAgICAgICAgICBjb25zdCB0ZXh0dXJlID0gdmFsdWUgYXMgVEhSRUUuVGV4dHVyZTtcbiAgICAgICAgICB0ZXh0dXJlLmRpc3Bvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbWF0ZXJpYWwuZGlzcG9zZSgpO1xufVxuXG5mdW5jdGlvbiBkaXNwb3NlKG9iamVjdDNEOiBUSFJFRS5PYmplY3QzRCk6IHZvaWQge1xuICBjb25zdCBnZW9tZXRyeTogVEhSRUUuQnVmZmVyR2VvbWV0cnkgfCB1bmRlZmluZWQgPSAob2JqZWN0M0QgYXMgYW55KS5nZW9tZXRyeTtcbiAgaWYgKGdlb21ldHJ5KSB7XG4gICAgZ2VvbWV0cnkuZGlzcG9zZSgpO1xuICB9XG5cbiAgY29uc3Qgc2tlbGV0b246IFRIUkVFLlNrZWxldG9uIHwgdW5kZWZpbmVkID0gKG9iamVjdDNEIGFzIGFueSkuc2tlbGV0b247XG4gIGlmIChza2VsZXRvbikge1xuICAgIHNrZWxldG9uLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIGNvbnN0IG1hdGVyaWFsOiBUSFJFRS5NYXRlcmlhbCB8IFRIUkVFLk1hdGVyaWFsW10gfCB1bmRlZmluZWQgPSAob2JqZWN0M0QgYXMgYW55KS5tYXRlcmlhbDtcbiAgaWYgKG1hdGVyaWFsKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkobWF0ZXJpYWwpKSB7XG4gICAgICBtYXRlcmlhbC5mb3JFYWNoKChtYXRlcmlhbDogVEhSRUUuTWF0ZXJpYWwpID0+IGRpc3Bvc2VNYXRlcmlhbChtYXRlcmlhbCkpO1xuICAgIH0gZWxzZSBpZiAobWF0ZXJpYWwpIHtcbiAgICAgIGRpc3Bvc2VNYXRlcmlhbChtYXRlcmlhbCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWVwRGlzcG9zZShvYmplY3QzRDogVEhSRUUuT2JqZWN0M0QpOiB2b2lkIHtcbiAgb2JqZWN0M0QudHJhdmVyc2UoZGlzcG9zZSk7XG59XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbi8qKlxuICogVHJhdmVyc2UgZ2l2ZW4gb2JqZWN0IGFuZCByZW1vdmUgdW5uZWNlc3NhcmlseSBib3VuZCBqb2ludHMgZnJvbSBldmVyeSBgVEhSRUUuU2tpbm5lZE1lc2hgLlxuICogU29tZSBlbnZpcm9ubWVudHMgbGlrZSBtb2JpbGUgZGV2aWNlcyBoYXZlIGEgbG93ZXIgbGltaXQgb2YgYm9uZXMgYW5kIG1pZ2h0IGJlIHVuYWJsZSB0byBwZXJmb3JtIG1lc2ggc2tpbm5pbmcsIHRoaXMgZnVuY3Rpb24gbWlnaHQgcmVzb2x2ZSBzdWNoIGFuIGlzc3VlLlxuICogQWxzbyB0aGlzIGZ1bmN0aW9uIG1pZ2h0IGdyZWF0bHkgaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2Ugb2YgbWVzaCBza2lubmluZy5cbiAqXG4gKiBAcGFyYW0gcm9vdCBSb290IG9iamVjdCB0aGF0IHdpbGwgYmUgdHJhdmVyc2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVVbm5lY2Vzc2FyeUpvaW50cyhyb290OiBUSFJFRS5PYmplY3QzRCk6IHZvaWQge1xuICAvLyBzb21lIG1lc2hlcyBtaWdodCBzaGFyZSBhIHNhbWUgc2tpbkluZGV4IGF0dHJpYnV0ZSBhbmQgdGhpcyBtYXAgcHJldmVudHMgdG8gY29udmVydCB0aGUgYXR0cmlidXRlIHR3aWNlXG4gIGNvbnN0IHNrZWxldG9uTGlzdDogTWFwPFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZSwgVEhSRUUuU2tlbGV0b24+ID0gbmV3IE1hcCgpO1xuXG4gIC8vIFRyYXZlcnNlIGFuIGVudGlyZSB0cmVlXG4gIHJvb3QudHJhdmVyc2UoKG9iaikgPT4ge1xuICAgIGlmIChvYmoudHlwZSAhPT0gJ1NraW5uZWRNZXNoJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lc2ggPSBvYmogYXMgVEhSRUUuU2tpbm5lZE1lc2g7XG4gICAgY29uc3QgZ2VvbWV0cnkgPSBtZXNoLmdlb21ldHJ5O1xuICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGdlb21ldHJ5LmdldEF0dHJpYnV0ZSgnc2tpbkluZGV4JykgYXMgVEhSRUUuQnVmZmVyQXR0cmlidXRlO1xuXG4gICAgLy8gbG9vayBmb3IgZXhpc3Rpbmcgc2tlbGV0b25cbiAgICBsZXQgc2tlbGV0b24gPSBza2VsZXRvbkxpc3QuZ2V0KGF0dHJpYnV0ZSk7XG5cbiAgICBpZiAoIXNrZWxldG9uKSB7XG4gICAgICAvLyBnZW5lcmF0ZSByZWR1Y2VkIGJvbmUgbGlzdFxuICAgICAgY29uc3QgYm9uZXM6IFRIUkVFLkJvbmVbXSA9IFtdOyAvLyBuZXcgbGlzdCBvZiBib25lXG4gICAgICBjb25zdCBib25lSW52ZXJzZXM6IFRIUkVFLk1hdHJpeDRbXSA9IFtdOyAvLyBuZXcgbGlzdCBvZiBib25lSW52ZXJzZVxuICAgICAgY29uc3QgYm9uZUluZGV4TWFwOiB7IFtpbmRleDogbnVtYmVyXTogbnVtYmVyIH0gPSB7fTsgLy8gbWFwIG9mIG9sZCBib25lIGluZGV4IHZzLiBuZXcgYm9uZSBpbmRleFxuXG4gICAgICAvLyBjcmVhdGUgYSBuZXcgYm9uZSBtYXBcbiAgICAgIGNvbnN0IGFycmF5ID0gYXR0cmlidXRlLmFycmF5O1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpbmRleCA9IGFycmF5W2ldO1xuXG4gICAgICAgIC8vIG5ldyBza2luSW5kZXggYnVmZmVyXG4gICAgICAgIGlmIChib25lSW5kZXhNYXBbaW5kZXhdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBib25lSW5kZXhNYXBbaW5kZXhdID0gYm9uZXMubGVuZ3RoO1xuICAgICAgICAgIGJvbmVzLnB1c2gobWVzaC5za2VsZXRvbi5ib25lc1tpbmRleF0pO1xuICAgICAgICAgIGJvbmVJbnZlcnNlcy5wdXNoKG1lc2guc2tlbGV0b24uYm9uZUludmVyc2VzW2luZGV4XSk7XG4gICAgICAgIH1cblxuICAgICAgICBhcnJheVtpXSA9IGJvbmVJbmRleE1hcFtpbmRleF07XG4gICAgICB9XG5cbiAgICAgIC8vIHJlcGxhY2Ugd2l0aCBuZXcgaW5kaWNlc1xuICAgICAgYXR0cmlidXRlLmNvcHlBcnJheShhcnJheSk7XG4gICAgICBhdHRyaWJ1dGUubmVlZHNVcGRhdGUgPSB0cnVlO1xuXG4gICAgICAvLyByZXBsYWNlIHdpdGggbmV3IGluZGljZXNcbiAgICAgIHNrZWxldG9uID0gbmV3IFRIUkVFLlNrZWxldG9uKGJvbmVzLCBib25lSW52ZXJzZXMpO1xuICAgICAgc2tlbGV0b25MaXN0LnNldChhdHRyaWJ1dGUsIHNrZWxldG9uKTtcbiAgICB9XG5cbiAgICBtZXNoLmJpbmQoc2tlbGV0b24sIG5ldyBUSFJFRS5NYXRyaXg0KCkpO1xuICAgIC8vICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5eXiB0cmFuc2Zvcm0gb2YgbWVzaGVzIHNob3VsZCBiZSBpZ25vcmVkXG4gICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vS2hyb25vc0dyb3VwL2dsVEYvdHJlZS9tYXN0ZXIvc3BlY2lmaWNhdGlvbi8yLjAjc2tpbnNcbiAgfSk7XG59XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBCdWZmZXJBdHRyaWJ1dGUgfSBmcm9tICd0aHJlZSc7XG5cbi8qKlxuICogVHJhdmVyc2UgZ2l2ZW4gb2JqZWN0IGFuZCByZW1vdmUgdW5uZWNlc3NhcnkgdmVydGljZXMgZnJvbSBldmVyeSBCdWZmZXJHZW9tZXRyaWVzLlxuICogVGhpcyBvbmx5IHByb2Nlc3NlcyBidWZmZXIgZ2VvbWV0cmllcyB3aXRoIGluZGV4IGJ1ZmZlci5cbiAqXG4gKiBUaHJlZS5qcyBjcmVhdGVzIG1vcnBoIHRleHR1cmVzIGZvciBlYWNoIGdlb21ldHJpZXMgYW5kIGl0IHNvbWV0aW1lcyBjb25zdW1lcyB1bm5lY2Vzc2FyeSBhbW91bnQgb2YgVlJBTSBmb3IgY2VydGFpbiBtb2RlbHMuXG4gKiBUaGlzIGZ1bmN0aW9uIHdpbGwgb3B0aW1pemUgZ2VvbWV0cmllcyB0byByZWR1Y2UgdGhlIHNpemUgb2YgbW9ycGggdGV4dHVyZS5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21yZG9vYi90aHJlZS5qcy9pc3N1ZXMvMjMwOTVcbiAqXG4gKiBAcGFyYW0gcm9vdCBSb290IG9iamVjdCB0aGF0IHdpbGwgYmUgdHJhdmVyc2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVVbm5lY2Vzc2FyeVZlcnRpY2VzKHJvb3Q6IFRIUkVFLk9iamVjdDNEKTogdm9pZCB7XG4gIGNvbnN0IGdlb21ldHJ5TWFwID0gbmV3IE1hcDxUSFJFRS5CdWZmZXJHZW9tZXRyeSwgVEhSRUUuQnVmZmVyR2VvbWV0cnk+KCk7XG5cbiAgLy8gVHJhdmVyc2UgYW4gZW50aXJlIHRyZWVcbiAgcm9vdC50cmF2ZXJzZSgob2JqKSA9PiB7XG4gICAgaWYgKCEob2JqIGFzIGFueSkuaXNNZXNoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWVzaCA9IG9iaiBhcyBUSFJFRS5NZXNoO1xuICAgIGNvbnN0IGdlb21ldHJ5ID0gbWVzaC5nZW9tZXRyeTtcblxuICAgIC8vIGlmIHRoZSBnZW9tZXRyeSBkb2VzIG5vdCBoYXZlIGFuIGluZGV4IGJ1ZmZlciBpdCBkb2VzIG5vdCBuZWVkIHRvIHByb2Nlc3NcbiAgICBjb25zdCBvcmlnaWFubEluZGV4ID0gZ2VvbWV0cnkuaW5kZXg7XG4gICAgaWYgKG9yaWdpYW5sSW5kZXggPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHNraXAgYWxyZWFkeSBwcm9jZXNzZWQgZ2VvbWV0cnlcbiAgICBjb25zdCBuZXdHZW9tZXRyeUFscmVhZHlFeGlzdGVkID0gZ2VvbWV0cnlNYXAuZ2V0KGdlb21ldHJ5KTtcbiAgICBpZiAobmV3R2VvbWV0cnlBbHJlYWR5RXhpc3RlZCAhPSBudWxsKSB7XG4gICAgICBtZXNoLmdlb21ldHJ5ID0gbmV3R2VvbWV0cnlBbHJlYWR5RXhpc3RlZDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdHZW9tZXRyeSA9IG5ldyBUSFJFRS5CdWZmZXJHZW9tZXRyeSgpO1xuXG4gICAgLy8gY29weSB2YXJpb3VzIHByb3BlcnRpZXNcbiAgICAvLyBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9tcmRvb2IvdGhyZWUuanMvYmxvYi8xYTI0MWVmMTAwNDg3NzBkNTZlMDZkNmNkNmE2NGM3NmNjNzIwZjk1L3NyYy9jb3JlL0J1ZmZlckdlb21ldHJ5LmpzI0wxMDExXG4gICAgbmV3R2VvbWV0cnkubmFtZSA9IGdlb21ldHJ5Lm5hbWU7XG5cbiAgICBuZXdHZW9tZXRyeS5tb3JwaFRhcmdldHNSZWxhdGl2ZSA9IGdlb21ldHJ5Lm1vcnBoVGFyZ2V0c1JlbGF0aXZlO1xuXG4gICAgZ2VvbWV0cnkuZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBuZXdHZW9tZXRyeS5hZGRHcm91cChncm91cC5zdGFydCwgZ3JvdXAuY291bnQsIGdyb3VwLm1hdGVyaWFsSW5kZXgpO1xuICAgIH0pO1xuXG4gICAgbmV3R2VvbWV0cnkuYm91bmRpbmdCb3ggPSBnZW9tZXRyeS5ib3VuZGluZ0JveD8uY2xvbmUoKSA/PyBudWxsO1xuICAgIG5ld0dlb21ldHJ5LmJvdW5kaW5nU3BoZXJlID0gZ2VvbWV0cnkuYm91bmRpbmdTcGhlcmU/LmNsb25lKCkgPz8gbnVsbDtcblxuICAgIG5ld0dlb21ldHJ5LnNldERyYXdSYW5nZShnZW9tZXRyeS5kcmF3UmFuZ2Uuc3RhcnQsIGdlb21ldHJ5LmRyYXdSYW5nZS5jb3VudCk7XG5cbiAgICBuZXdHZW9tZXRyeS51c2VyRGF0YSA9IGdlb21ldHJ5LnVzZXJEYXRhO1xuXG4gICAgLy8gc2V0IHRvIGdlb21ldHJ5TWFwXG4gICAgZ2VvbWV0cnlNYXAuc2V0KGdlb21ldHJ5LCBuZXdHZW9tZXRyeSk7XG5cbiAgICAvKiogZnJvbSBvcmlnaW5hbCBpbmRleCB0byBuZXcgaW5kZXggKi9cbiAgICBjb25zdCBvcmlnaW5hbEluZGV4TmV3SW5kZXhNYXA6IG51bWJlcltdID0gW107XG5cbiAgICAvKiogZnJvbSBuZXcgaW5kZXggdG8gb3JpZ2luYWwgaW5kZXggKi9cbiAgICBjb25zdCBuZXdJbmRleE9yaWdpbmFsSW5kZXhNYXA6IG51bWJlcltdID0gW107XG5cbiAgICAvLyByZW9yZ2FuaXplIGluZGljZXNcbiAgICB7XG4gICAgICBjb25zdCBvcmlnaW5hbEluZGV4QXJyYXkgPSBvcmlnaWFubEluZGV4LmFycmF5O1xuICAgICAgY29uc3QgbmV3SW5kZXhBcnJheSA9IG5ldyAob3JpZ2luYWxJbmRleEFycmF5LmNvbnN0cnVjdG9yIGFzIGFueSkob3JpZ2luYWxJbmRleEFycmF5Lmxlbmd0aCk7XG5cbiAgICAgIGxldCBpbmRleEhlYWQgPSAwO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9yaWdpbmFsSW5kZXhBcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBvcmlnaW5hbEluZGV4ID0gb3JpZ2luYWxJbmRleEFycmF5W2ldO1xuXG4gICAgICAgIGxldCBuZXdJbmRleCA9IG9yaWdpbmFsSW5kZXhOZXdJbmRleE1hcFtvcmlnaW5hbEluZGV4XTtcbiAgICAgICAgaWYgKG5ld0luZGV4ID09IG51bGwpIHtcbiAgICAgICAgICBvcmlnaW5hbEluZGV4TmV3SW5kZXhNYXBbb3JpZ2luYWxJbmRleF0gPSBpbmRleEhlYWQ7XG4gICAgICAgICAgbmV3SW5kZXhPcmlnaW5hbEluZGV4TWFwW2luZGV4SGVhZF0gPSBvcmlnaW5hbEluZGV4O1xuICAgICAgICAgIG5ld0luZGV4ID0gaW5kZXhIZWFkO1xuICAgICAgICAgIGluZGV4SGVhZCsrO1xuICAgICAgICB9XG4gICAgICAgIG5ld0luZGV4QXJyYXlbaV0gPSBuZXdJbmRleDtcbiAgICAgIH1cblxuICAgICAgbmV3R2VvbWV0cnkuc2V0SW5kZXgobmV3IEJ1ZmZlckF0dHJpYnV0ZShuZXdJbmRleEFycmF5LCAxLCBmYWxzZSkpO1xuICAgIH1cblxuICAgIC8vIHJlb3JnYW5pemUgYXR0cmlidXRlc1xuICAgIE9iamVjdC5rZXlzKGdlb21ldHJ5LmF0dHJpYnV0ZXMpLmZvckVhY2goKGF0dHJpYnV0ZU5hbWUpID0+IHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsQXR0cmlidXRlID0gZ2VvbWV0cnkuYXR0cmlidXRlc1thdHRyaWJ1dGVOYW1lXSBhcyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGU7XG5cbiAgICAgIGlmICgob3JpZ2luYWxBdHRyaWJ1dGUgYXMgYW55KS5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncmVtb3ZlVW5uZWNlc3NhcnlWZXJ0aWNlczogSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvcmlnaW5hbEF0dHJpYnV0ZUFycmF5ID0gb3JpZ2luYWxBdHRyaWJ1dGUuYXJyYXk7XG4gICAgICBjb25zdCB7IGl0ZW1TaXplLCBub3JtYWxpemVkIH0gPSBvcmlnaW5hbEF0dHJpYnV0ZTtcblxuICAgICAgY29uc3QgbmV3QXR0cmlidXRlQXJyYXkgPSBuZXcgKG9yaWdpbmFsQXR0cmlidXRlQXJyYXkuY29uc3RydWN0b3IgYXMgYW55KShcbiAgICAgICAgbmV3SW5kZXhPcmlnaW5hbEluZGV4TWFwLmxlbmd0aCAqIGl0ZW1TaXplLFxuICAgICAgKTtcblxuICAgICAgbmV3SW5kZXhPcmlnaW5hbEluZGV4TWFwLmZvckVhY2goKG9yaWdpbmFsSW5kZXgsIGkpID0+IHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpdGVtU2l6ZTsgaisrKSB7XG4gICAgICAgICAgbmV3QXR0cmlidXRlQXJyYXlbaSAqIGl0ZW1TaXplICsgal0gPSBvcmlnaW5hbEF0dHJpYnV0ZUFycmF5W29yaWdpbmFsSW5kZXggKiBpdGVtU2l6ZSArIGpdO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbmV3R2VvbWV0cnkuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIG5ldyBCdWZmZXJBdHRyaWJ1dGUobmV3QXR0cmlidXRlQXJyYXksIGl0ZW1TaXplLCBub3JtYWxpemVkKSk7XG4gICAgfSk7XG5cbiAgICAvLyByZW9yZ2FuaXplIG1vcnBoIGF0dHJpYnV0ZXNcbiAgICAvKiogVHJ1ZSBpZiBhbGwgbW9ycGhzIGFyZSB6ZXJvLiAqL1xuICAgIGxldCBpc051bGxNb3JwaCA9IHRydWU7XG5cbiAgICBPYmplY3Qua2V5cyhnZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMpLmZvckVhY2goKGF0dHJpYnV0ZU5hbWUpID0+IHtcbiAgICAgIG5ld0dlb21ldHJ5Lm1vcnBoQXR0cmlidXRlc1thdHRyaWJ1dGVOYW1lXSA9IFtdO1xuXG4gICAgICBjb25zdCBtb3JwaHMgPSBnZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV07XG4gICAgICBmb3IgKGxldCBpTW9ycGggPSAwOyBpTW9ycGggPCBtb3JwaHMubGVuZ3RoOyBpTW9ycGgrKykge1xuICAgICAgICBjb25zdCBvcmlnaW5hbEF0dHJpYnV0ZSA9IG1vcnBoc1tpTW9ycGhdIGFzIFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTtcblxuICAgICAgICBpZiAoKG9yaWdpbmFsQXR0cmlidXRlIGFzIGFueSkuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcigncmVtb3ZlVW5uZWNlc3NhcnlWZXJ0aWNlczogSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3JpZ2luYWxBdHRyaWJ1dGVBcnJheSA9IG9yaWdpbmFsQXR0cmlidXRlLmFycmF5O1xuICAgICAgICBjb25zdCB7IGl0ZW1TaXplLCBub3JtYWxpemVkIH0gPSBvcmlnaW5hbEF0dHJpYnV0ZTtcblxuICAgICAgICBjb25zdCBuZXdBdHRyaWJ1dGVBcnJheSA9IG5ldyAob3JpZ2luYWxBdHRyaWJ1dGVBcnJheS5jb25zdHJ1Y3RvciBhcyBhbnkpKFxuICAgICAgICAgIG5ld0luZGV4T3JpZ2luYWxJbmRleE1hcC5sZW5ndGggKiBpdGVtU2l6ZSxcbiAgICAgICAgKTtcblxuICAgICAgICBuZXdJbmRleE9yaWdpbmFsSW5kZXhNYXAuZm9yRWFjaCgob3JpZ2luYWxJbmRleCwgaSkgPT4ge1xuICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaXRlbVNpemU7IGorKykge1xuICAgICAgICAgICAgbmV3QXR0cmlidXRlQXJyYXlbaSAqIGl0ZW1TaXplICsgal0gPSBvcmlnaW5hbEF0dHJpYnV0ZUFycmF5W29yaWdpbmFsSW5kZXggKiBpdGVtU2l6ZSArIGpdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXNOdWxsTW9ycGggPSBpc051bGxNb3JwaCAmJiBuZXdBdHRyaWJ1dGVBcnJheS5ldmVyeSgodjogbnVtYmVyKSA9PiB2ID09PSAwKTtcblxuICAgICAgICBuZXdHZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV1baU1vcnBoXSA9IG5ldyBCdWZmZXJBdHRyaWJ1dGUoXG4gICAgICAgICAgbmV3QXR0cmlidXRlQXJyYXksXG4gICAgICAgICAgaXRlbVNpemUsXG4gICAgICAgICAgbm9ybWFsaXplZCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIElmIGFsbCBtb3JwaHMgYXJlIHplcm8sIGp1c3QgZGlzY2FyZCB0aGUgbW9ycGggYXR0cmlidXRlcyB3ZSd2ZSBqdXN0IG1hZGVcbiAgICBpZiAoaXNOdWxsTW9ycGgpIHtcbiAgICAgIG5ld0dlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcyA9IHt9O1xuICAgIH1cblxuICAgIG1lc2guZ2VvbWV0cnkgPSBuZXdHZW9tZXRyeTtcbiAgfSk7XG5cbiAgQXJyYXkuZnJvbShnZW9tZXRyeU1hcC5rZXlzKCkpLmZvckVhY2goKG9yaWdpbmFsR2VvbWV0cnkpID0+IHtcbiAgICBvcmlnaW5hbEdlb21ldHJ5LmRpc3Bvc2UoKTtcbiAgfSk7XG59XG4iLCJpbXBvcnQgeyBWUk0gfSBmcm9tICcuLi9WUk0nO1xuXG4vKipcbiAqIElmIHRoZSBnaXZlbiBWUk0gaXMgVlJNMC4wLCByb3RhdGUgdGhlIGB2cm0uc2NlbmVgIGJ5IDE4MCBkZWdyZWVzIGFyb3VuZCB0aGUgWSBheGlzLlxuICpcbiAqIEBwYXJhbSB2cm0gVGhlIHRhcmdldCBWUk1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJvdGF0ZVZSTTAodnJtOiBWUk0pOiB2b2lkIHtcbiAgaWYgKHZybS5tZXRhPy5tZXRhVmVyc2lvbiA9PT0gJzAnKSB7XG4gICAgdnJtLnNjZW5lLnJvdGF0aW9uLnkgPSBNYXRoLlBJO1xuICB9XG59XG4iLCJpbXBvcnQgeyBkZWVwRGlzcG9zZSB9IGZyb20gJy4vZGVlcERpc3Bvc2UnO1xuaW1wb3J0IHsgcmVtb3ZlVW5uZWNlc3NhcnlKb2ludHMgfSBmcm9tICcuL3JlbW92ZVVubmVjZXNzYXJ5Sm9pbnRzJztcbmltcG9ydCB7IHJlbW92ZVVubmVjZXNzYXJ5VmVydGljZXMgfSBmcm9tICcuL3JlbW92ZVVubmVjZXNzYXJ5VmVydGljZXMnO1xuaW1wb3J0IHsgcm90YXRlVlJNMCB9IGZyb20gJy4vcm90YXRlVlJNMCc7XG5cbmV4cG9ydCBjbGFzcyBWUk1VdGlscyB7XG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gdGhpcyBjbGFzcyBpcyBub3QgbWVhbnQgdG8gYmUgaW5zdGFudGlhdGVkXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRlZXBEaXNwb3NlID0gZGVlcERpc3Bvc2U7XG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlVW5uZWNlc3NhcnlKb2ludHMgPSByZW1vdmVVbm5lY2Vzc2FyeUpvaW50cztcbiAgcHVibGljIHN0YXRpYyByZW1vdmVVbm5lY2Vzc2FyeVZlcnRpY2VzID0gcmVtb3ZlVW5uZWNlc3NhcnlWZXJ0aWNlcztcbiAgcHVibGljIHN0YXRpYyByb3RhdGVWUk0wID0gcm90YXRlVlJNMDtcbn1cbiJdLCJuYW1lcyI6WyJUSFJFRSIsIl9fYXdhaXRlciIsIl92M0EkNCIsIl92M0IkMiIsInF1YXRJbnZlcnRDb21wYXQiLCJfdjNBJDMiLCJfdjNBJDIiLCJfcXVhdEEkMyIsIlBPU1NJQkxFX1NQRUNfVkVSU0lPTlMkMiIsIl9xdWF0QSQyIiwiX3F1YXRCJDIiLCJfdjNBJDEiLCJfdjNCJDEiLCJfdjNBIiwiX3YzQiIsIl92M0MiLCJfcXVhdEEkMSIsIl9xdWF0QiQxIiwiX3F1YXRDIiwiX3F1YXRBIiwiX3F1YXRCIiwiUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyQxIiwiUE9TU0lCTEVfU1BFQ19WRVJTSU9OUyIsInRyYXZlcnNlQW5jZXN0b3JzRnJvbVJvb3QiLCJCdWZmZXJBdHRyaWJ1dGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FBRUE7SUFDQTtJQUNBO0lBQ0EsTUFBTSxhQUFhLFNBQVNBLGdCQUFLLENBQUMsUUFBUSxDQUFDO0lBQzNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxJQUFJLG1CQUFtQixHQUFHO0lBQzlCLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLE9BQU8sRUFBRTtJQUM1QyxZQUFZLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqRCxTQUFTO0lBQ1QsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUFFO0lBQ2pELFlBQVksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQy9CLFNBQVM7SUFDVCxhQUFhO0lBQ2IsWUFBWSxPQUFPLEdBQUcsQ0FBQztJQUN2QixTQUFTO0lBQ1QsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxJQUFJLG9CQUFvQixHQUFHO0lBQy9CLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLE9BQU8sRUFBRTtJQUM3QyxZQUFZLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqRCxTQUFTO0lBQ1QsYUFBYSxJQUFJLElBQUksQ0FBQyxjQUFjLEtB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Q0E7SUFDQTtJQUNBO0FBQ0E7SUFDQSxTQUFTQyxXQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0lBQ3RELElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ2hILElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0lBQy9ELFFBQVEsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNuRyxRQUFRLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUN0RyxRQUFRLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRTtJQUN0SCxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUks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R0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDckMsWUFBWSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkUsWUFBWSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RSxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLFNBQVM7SUFDVCxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRixRQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RixRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEcsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDekMsS0FBSztJQUNMLElBQUksV0FBVyxHQUFHO0lBQ2xCLFFBQVEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUNyQyxZQUFZLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsWUFBWSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxZQUFZLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELFlBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDaEUsU0FBUztJQUNULFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMzQyxLQUFLO0lBQ0wsQ0FBQztBQUNEO0lBQ0EsTUFBTVMsVUFBUSxHQUFHLElBQUlULGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsTUFBTVUsVUFBUSxHQUFHLElBQUlWLGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsTUFBTVcsUUFBTSxHQUFHLElBQUlYLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkMsTUFBTVksUUFBTSxHQUFHLElBQUlaLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDM0MsTUFBTSxZQUFZLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMvRSxNQUFNLGVBQWUsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sZUFBZSxTQUFTQSxnQkFBSyxDQUFDLEtBQUssQ0FBQztJQUMxQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7SUFDeEIsUUFBUSxLQUFLLEVBQUUsQ0FBQztJQUNoQixRQUFRLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDdEMsUUFBUSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztJQUNoQyxRQUFRO0lBQ1IsWUFBWSxNQUFNLFFBQVEsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDckQsWUFBWSxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUNsQyxZQUFZLE1BQU0sUUFBUSxHQUFHLElBQUlBLGdCQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDekQsZ0JBQWdCLEtBQUssRUFBRSxRQUFRO0lBQy9CLGdCQUFnQixXQUFXLEVBQUUsSUFBSTtJQUNqQyxnQkFBZ0IsT0FBTyxFQUFFLEdBQUc7SUFDNUIsZ0JBQWdCLElBQUksRUFBRUEsZ0JBQUssQ0FBQyxVQUFVO0lBQ3RDLGdCQUFnQixTQUFTLEVBQUUsS0FBSztJQUNoQyxnQkFBZ0IsVUFBVSxFQUFFLEtBQUs7SUFDakMsYUFBYSxDQUFDLENBQUM7SUFDZixZQUFZLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLFlBQVksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsU0FBUztJQUNULFFBQVE7SUFDUixZQUFZLE1BQU0sUUFBUSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUNyRCxZQUFZLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ2xDLFlBQVksTUFBTSxRQUFRLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUN6RCxnQkFBZ0IsS0FBSyxFQUFFLFFBQVE7SUFDL0IsZ0JBQWdCLFdBQVcsRUFBRSxJQUFJO0lBQ2pDLGdCQUFnQixPQUFPLEVBQUUsR0FBRztJQUM1QixnQkFBZ0IsSUFBSSxFQUFFQSxnQkFBSyxDQUFDLFVBQVU7SUFDdEMsZ0JBQWdCLFNBQVMsRUFBRSxLQUFLO0lBQ2hDLGdCQUFnQixVQUFVLEVBQUUsS0FBSztJQUNqQyxhQUFhLENBQUMsQ0FBQztJQUNmLFlBQVksSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0QsWUFBWSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxTQUFTO0lBQ1QsUUFBUTtJQUNSLFlBQVksTUFBTSxRQUFRLEdBQUcsSUFBSSwyQkFBMkIsRUFBRSxDQUFDO0lBQy9ELFlBQVksUUFBUSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDbEMsWUFBWSxNQUFNLFFBQVEsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLGlCQUFpQixDQUFDO0lBQ3pELGdCQUFnQixLQUFLLEVBQUUsUUFBUTtJQUMvQixnQkFBZ0IsU0FBUyxFQUFFLEtBQUs7SUFDaEMsZ0JBQWdCLFVBQVUsRUFBRSxLQUFLO0lBQ2pDLGFBQWEsQ0FBQyxDQUFDO0lBQ2YsWUFBWSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUlBLGdCQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxRSxZQUFZLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUNuRCxZQUFZLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLFNBQVM7SUFDVCxLQUFLO0lBQ0wsSUFBSSxPQUFPLEdBQUc7SUFDZCxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekMsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNDLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUMsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1QyxLQUFLO0lBQ0wsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUU7SUFDN0I7SUFDQSxRQUFRLE1BQU0sR0FBRyxHQUFHQSxnQkFBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDakUsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQzNDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEMsUUFBUSxNQUFNLEtBQUssR0FBR0EsZ0JBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ3JFLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUMvQyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFDO0lBQ0EsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDVyxRQUFNLENBQUMsQ0FBQztJQUN0RCxRQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUNGLFVBQVEsQ0FBQyxDQUFDO0lBQzFEO0lBQ0EsUUFBUUEsVUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDQyxVQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzNFO0lBQ0EsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUNDLFFBQU0sQ0FBQyxDQUFDO0lBQzVDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDRixVQUFRLENBQUMsQ0FBQztJQUNoRCxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQ0UsUUFBTSxDQUFDLENBQUM7SUFDOUMsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUNGLFVBQVEsQ0FBQyxDQUFDO0lBQ2xELFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDQyxVQUFRLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0YsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUQ7SUFDQSxRQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN0RCxRQUFRLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxVQUFVLEVBQUU7SUFDMUMsWUFBWSxNQUFNLENBQUMsZ0JBQWdCLENBQUNFLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQ0QsUUFBTSxDQUFDLENBQUM7SUFDeEQsWUFBWSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDQyxRQUFNLENBQUMsQ0FBQztJQUN4RCxZQUFZLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9DLFlBQVksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDRCxRQUFNLENBQUMsQ0FBQztJQUNuRCxTQUFTO0lBQ1Q7SUFDQSxRQUFRLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxLQUFLO0lBQ0wsQ0FBQztBQUNEO0lBQ0EsTUFBTSxTQUFTLEdBQUcsSUFBSVgsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJQSxnQkFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25DO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxTQUFTLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7SUFDN0MsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELElBQUksT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0FBQ0Q7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsU0FBUyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUU7SUFDckMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekgsQ0FBQztBQUNEO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxTQUFTLGFBQWEsQ0FBQyxLQUFLLEVBQUU7SUFDOUIsSUFBSSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELElBQUksT0FBTyxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQzdDLENBQUM7QUFDRDtJQUNBLE1BQU0saUJBQWlCLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxNQUFNYSxNQUFJLEdBQUcsSUFBSWIsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxNQUFNYyxNQUFJLEdBQUcsSUFBSWQsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxNQUFNZSxNQUFJLEdBQUcsSUFBSWYsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxNQUFNZ0IsVUFBUSxHQUFHLElBQUloQixnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLE1BQU1pQixVQUFRLEdBQUcsSUFBSWpCLGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsTUFBTWtCLFFBQU0sR0FBRyxJQUFJbEIsZ0JBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJQSxnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RDLE1BQU0sU0FBUyxHQUFHLElBQUlBLGdCQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEM7SUFDQTtJQUNBO0lBQ0EsTUFBTSxTQUFTLENBQUM7SUFDaEI7SUFDQTtJQUNBO0lBQ0EsSUFBSSxJQUFJLEdBQUcsR0FBRztJQUNkLFFBQVEsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3pCLEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQSxJQUFJLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtJQUNuQixRQUFRLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQzFCLFFBQVEsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDakMsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBLElBQUksSUFBSSxLQUFLLEdBQUc7SUFDaEIsUUFBUSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDM0IsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO0lBQ3JCLFFBQVEsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDNUIsUUFBUSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNqQyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0EsSUFBSSxJQUFJLEtBQUssR0FBRztJQUNoQixRQUFRLE9BQU8sQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQztJQUNoRixRQUFRLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJQSxnQkFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEQsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUU7SUFDbkM7SUFDQTtJQUNBO0lBQ0EsUUFBUSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0RDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxRQUFRLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQy9CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxRQUFRLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxRQUFRLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ2pDLFFBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDL0IsUUFBUSxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUN4QixRQUFRLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQzFCLFFBQVEsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDakMsUUFBUSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUlBLGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM5RixLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO0lBQ3JCLFFBQVEsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDQSxnQkFBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRUEsZ0JBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xILEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtJQUNqQixRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsUUFBUSxFQUFFO0lBQy9DLFlBQVksTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBQ2pGLFNBQVM7SUFDVCxRQUFRLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDaEUsUUFBUSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDdEMsUUFBUSxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDNUMsUUFBUSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDcEMsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsUUFBUSxPQUFPLElBQUksQ0FBQztJQUNwQixLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksS0FBSyxHQUFHO0lBQ1osUUFBUSxPQUFPLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0EsSUFBSSxLQUFLLEdBQUc7SUFDWixRQUFRLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ3hCLFFBQVEsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDMUIsUUFBUSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNqQyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksc0JBQXNCLENBQUMsTUFBTSxFQUFFO0lBQ25DLFFBQVEsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsUUFBUSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRixLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSx3QkFBd0IsQ0FBQyxNQUFNLEVBQUU7SUFDckMsUUFBUSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRCxRQUFRLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxzQkFBc0IsQ0FBQyxNQUFNLEVBQUU7SUFDbkMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLEVBQUU7SUFDeEUsWUFBWSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkUsU0FBUztJQUNULFFBQVEsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFGLFFBQVEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkYsUUFBUSxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMvRyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksdUJBQXVCLENBQUMsTUFBTSxFQUFFO0lBQ3BDLFFBQVEsSUFBSSxDQUFDLHdCQUF3QixDQUFDaUIsVUFBUSxDQUFDLENBQUM7SUFDaEQsUUFBUSxJQUFJLENBQUMsc0JBQXNCLENBQUNDLFFBQU0sQ0FBQyxDQUFDO0lBQzVDLFFBQVEsT0FBTyxNQUFNO0lBQ3JCLGFBQWEsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ3BDLGFBQWEsZUFBZSxDQUFDRCxVQUFRLENBQUM7SUFDdEMsYUFBYSxlQUFlLENBQUNDLFFBQU0sQ0FBQztJQUNwQyxhQUFhLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtJQUNyQjtJQUNBLFFBQVEsTUFBTSxjQUFjLEdBQUdGLFVBQVE7SUFDdkMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ2hELGFBQWEsUUFBUSxDQUFDWixrQkFBZ0IsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUNhLFVBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixRQUFRLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQ0gsTUFBSSxDQUFDLENBQUM7SUFDMUQsUUFBUSxNQUFNLFNBQVMsR0FBR0MsTUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZHO0lBQ0EsUUFBUSxNQUFNLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRixRQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkUsUUFBUSxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBQzNELFFBQVEsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsQ0FBQztJQUMvRDtJQUNBLFFBQVEsSUFBSSxDQUFDLElBQUksR0FBR2YsZ0JBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUNsRCxRQUFRLElBQUksQ0FBQyxNQUFNLEdBQUdBLGdCQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdEQsUUFBUSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNqQyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO0lBQ2xCLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO0lBQ3BELFlBQVksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDYSxNQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVELFNBQVM7SUFDVCxRQUFRLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtJQUMvQixZQUFZLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3RDLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0QsU0FBUztJQUNULEtBQUs7SUFDTCxDQUFDO0lBQ0QsU0FBUyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7QUFDOUI7SUFDQSxNQUFNLGVBQWUsR0FBRyxJQUFJYixnQkFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELE1BQU1tQixRQUFNLEdBQUcsSUFBSW5CLGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEMsTUFBTW9CLFFBQU0sR0FBRyxJQUFJcEIsZ0JBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJQSxnQkFBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RDtJQUNBO0lBQ0E7SUFDQTtJQUNBLE1BQU0sb0JBQW9CLENBQUM7SUFDM0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFO0lBQ3RILFFBQVEsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDakMsUUFBUSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDL0QsUUFBUSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDL0QsUUFBUSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFDekQsUUFBUSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDckQsUUFBUSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUQ7SUFDQSxRQUFRLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZELFFBQVEsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUlBLGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEQsUUFBUSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsRSxRQUFRLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25FLFFBQVEsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEUsUUFBUSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRSxRQUFRLElBQUksT0FBTyxFQUFFO0lBQ3JCLFlBQVksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0QsWUFBWSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ3JGLFNBQVM7SUFDVCxRQUFRLElBQUksUUFBUSxFQUFFO0lBQ3RCLFlBQVksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0QsWUFBWSxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3ZGLFNBQVM7SUFDVCxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRTtJQUM5QixRQUFRLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLFFBQVEsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEUsUUFBUSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakYsUUFBUSxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkY7SUFDQSxRQUFRLElBQUksT0FBTyxFQUFFO0lBQ3JCLFlBQVksSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFO0lBQzdCLGdCQUFnQixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUNBLGdCQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0YsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixnQkFBZ0IsT0FBTyxDQUFDLENBQUMsR0FBR0EsZ0JBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekYsYUFBYTtJQUNiLFlBQVksSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFO0lBQzNCLGdCQUFnQixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUNBLGdCQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUYsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixnQkFBZ0IsT0FBTyxDQUFDLENBQUMsR0FBR0EsZ0JBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUYsYUFBYTtJQUNiLFlBQVltQixRQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLFlBQVksSUFBSSxDQUFDLHNCQUFzQixDQUFDQyxRQUFNLENBQUMsQ0FBQztJQUNoRDtJQUNBO0lBQ0E7SUFDQSxZQUFZLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUNBLFFBQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQ0QsUUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDQyxRQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNqRyxZQUFZRCxRQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzFEO0lBQ0E7SUFDQSxZQUFZLE9BQU8sQ0FBQyxVQUFVO0lBQzlCLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBQ25ELGlCQUFpQixRQUFRLENBQUNBLFFBQU0sQ0FBQztJQUNqQyxpQkFBaUIsV0FBVyxDQUFDQSxRQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0MsaUJBQWlCLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRCxTQUFTO0lBQ1Q7SUFDQSxRQUFRLElBQUksUUFBUSxFQUFFO0lBQ3RCLFlBQVksSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFO0lBQzdCLGdCQUFnQixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUNuQixnQkFBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdGLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsZ0JBQWdCLE9BQU8sQ0FBQyxDQUFDLEdBQUdBLGdCQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pGLGFBQWE7SUFDYixZQUFZLElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRTtJQUMzQixnQkFBZ0IsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDQSxnQkFBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlGLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsZ0JBQWdCLE9BQU8sQ0FBQyxDQUFDLEdBQUdBLGdCQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVGLGFBQWE7SUFDYixZQUFZbUIsUUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxZQUFZLElBQUksQ0FBQyxzQkFBc0IsQ0FBQ0MsUUFBTSxDQUFDLENBQUM7SUFDaEQ7SUFDQTtJQUNBO0lBQ0EsWUFBWSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDQSxRQUFNLENBQUMsQ0FBQyxRQUFRLENBQUNELFFBQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQ0MsUUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEcsWUFBWUQsUUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMzRDtJQUNBO0lBQ0EsWUFBWSxRQUFRLENBQUMsVUFBVTtJQUMvQixpQkFBaUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztJQUNwRCxpQkFBaUIsUUFBUSxDQUFDQSxRQUFNLENBQUM7SUFDakMsaUJBQWlCLFdBQVcsQ0FBQ0EsUUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdDLGlCQUFpQixRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsU0FBUztJQUNULEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7SUFDbEIsUUFBUSxPQUFPLENBQUMsSUFBSSxDQUFDLG9FQUFvRSxDQUFDLENBQUM7SUFDM0YsUUFBUSxNQUFNLEdBQUcsR0FBR25CLGdCQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RELFFBQVEsTUFBTSxLQUFLLEdBQUdBLGdCQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hELFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJLHNCQUFzQixDQUFDLE1BQU0sRUFBRTtJQUNuQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLEVBQUU7SUFDdEUsWUFBWSxPQUFPLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQyxTQUFTO0lBQ1QsUUFBUSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUYsUUFBUSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRixRQUFRLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxLQUFLO0lBQ0wsQ0FBQztJQUNEO0lBQ0E7SUFDQTtJQUNBLG9CQUFvQixDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7QUFDbkM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLE1BQU0sMEJBQTBCLENBQUM7SUFDakM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxXQUFXLENBQUMsV0FBVyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFO0lBQ3pILFFBQVEsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDdkMsUUFBUSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDL0QsUUFBUSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDL0QsUUFBUSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFDekQsUUFBUSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDckQsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUU7SUFDOUIsUUFBUSxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUU7SUFDekIsWUFBWSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsWUFBWSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckYsU0FBUztJQUNULGFBQWE7SUFDYixZQUFZLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyRCxZQUFZLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEYsU0FBUztJQUNULFFBQVEsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFO0lBQ3ZCLFlBQVksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELFlBQVksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNGLFNBQVM7SUFDVCxhQUFhO0lBQ2IsWUFBWSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsWUFBWSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLFNBQVM7SUFDVCxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0EsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO0lBQ2xCLFFBQVEsT0FBTyxDQUFDLElBQUksQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO0lBQzNGLFFBQVEsTUFBTSxHQUFHLEdBQUdBLGdCQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RELFFBQVEsTUFBTSxLQUFLLEdBQUdBLGdCQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hELFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsS0FBSztJQUNMLENBQUM7SUFDRDtJQUNBO0lBQ0E7SUFDQSwwQkFBMEIsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO0FBQy9DO0lBQ0EsTUFBTSxpQkFBaUIsQ0FBQztJQUN4QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFO0lBQzVDLFFBQVEsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDM0MsUUFBUSxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUN2QyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUU7SUFDYixRQUFRLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyRSxLQUFLO0lBQ0wsQ0FBQztBQUNEO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsTUFBTXFCLDBCQUF3QixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDOUQ7SUFDQTtJQUNBO0lBQ0E7SUFDQSxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQztJQUNyQztJQUNBO0lBQ0E7SUFDQSxNQUFNLHFCQUFxQixDQUFDO0lBQzVCLElBQUksSUFBSSxJQUFJLEdBQUc7SUFDZjtJQUNBLFFBQVEsT0FBTyx1QkFBdUIsQ0FBQztJQUN2QyxLQUFLO0lBQ0wsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUNqQyxRQUFRLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQzdCLFFBQVEsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQy9GLEtBQUs7SUFDTCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUU7SUFDcEIsUUFBUSxPQUFPcEIsV0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxhQUFhO0lBQzVELFlBQVksTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDMUQ7SUFDQTtJQUNBLFlBQVksSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO0lBQ3RDLGdCQUFnQixPQUFPO0lBQ3ZCLGFBQWE7SUFDYixpQkFBaUIsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFO0lBQ2hELGdCQUFnQixNQUFNLElBQUksS0FBSyxDQUFDLGdHQUFnRyxDQUFDLENBQUM7SUFDbEksYUFBYTtJQUNiLFlBQVksTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDO0lBQzVFLFlBQVksSUFBSSxvQkFBb0IsS0FBSyxJQUFJLEVBQUU7SUFDL0MsZ0JBQWdCLE9BQU87SUFDdkIsYUFBYTtJQUNiLGlCQUFpQixJQUFJLG9CQUFvQixLQUFLLFNBQVMsRUFBRTtJQUN6RCxnQkFBZ0IsTUFBTSxJQUFJLEtBQUssQ0FBQywyR0FBMkcsQ0FBQyxDQUFDO0lBQzdJLGFBQWE7SUFDYixZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDbEcsU0FBUyxDQUFDLENBQUM7SUFDWCxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtJQUN6QyxRQUFRLE9BQU9BLFdBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYTtJQUM1RCxZQUFZLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO0lBQ3pELGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvRSxZQUFZLElBQUksUUFBUSxFQUFFO0lBQzFCLGdCQUFnQixPQUFPLFFBQVEsQ0FBQztJQUNoQyxhQUFhO0lBQ2IsWUFBWSxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvRSxZQUFZLElBQUksUUFBUSxFQUFFO0lBQzFCLGdCQUFnQixPQUFPLFFBQVEsQ0FBQztJQUNoQyxhQUFhO0lBQ2IsWUFBWSxPQUFPLElBQUksQ0FBQztJQUN4QixTQUFTLENBQUMsQ0FBQztJQUNYLEtBQUs7SUFDTCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtJQUMzQyxRQUFRLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdkIsUUFBUSxPQUFPQSxXQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLGFBQWE7SUFDNUQsWUFBWSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQztJQUNBLFlBQVksTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5SCxZQUFZLElBQUksQ0FBQyxTQUFTLEVBQUU7SUFDNUIsZ0JBQWdCLE9BQU8sSUFBSSxDQUFDO0lBQzVCLGFBQWE7SUFDYixZQUFZLE1BQU0sU0FBUyxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekcsWUFBWSxJQUFJLENBQUMsU0FBUyxFQUFFO0lBQzVCLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDO0lBQ3RELFlBQVksSUFBSSxDQUFDb0IsMEJBQXdCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO0lBQzVELGdCQUFnQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMscURBQXFELEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckcsZ0JBQWdCLE9BQU8sSUFBSSxDQUFDO0lBQzVCLGFBQWE7SUFDYixZQUFZLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDbEQsWUFBWSxJQUFJLENBQUMsWUFBWSxFQUFFO0lBQy9CLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxJQUFJLEtBQUssWUFBWSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDdkYsWUFBWSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDM0csWUFBWSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDM0csWUFBWSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDeEcsWUFBWSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDdEcsWUFBWSxJQUFJLE9BQU8sQ0FBQztJQUN4QixZQUFZLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUU7SUFDcEQsZ0JBQWdCLE9BQU8sR0FBRyxJQUFJLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRyxhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLGdCQUFnQixPQUFPLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekYsYUFBYTtJQUNiLFlBQVksTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakUsWUFBWSxNQUFNLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxSSxZQUFZLE9BQU8sTUFBTSxDQUFDO0lBQzFCLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsS0FBSztJQUNMLElBQUksaUJBQWlCLENBQUMsY0FBYyxFQUFFLGtCQUFrQixFQUFFO0lBQzFELFFBQVEsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ25CLFFBQVEsSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFLEdBQUcsY0FBYyxLQUFLLElBQUksSUFBSSxjQUFjLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsY0FBYyxDQUFDLGFBQWEsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDdEssUUFBUSxNQUFNLFdBQVcsR0FBRyxDQUFDLEVBQUUsR0FBRyxjQUFjLEtBQUssSUFBSSxJQUFJLGNBQWMsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxjQUFjLENBQUMsV0FBVyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLGtCQUFrQixDQUFDO0lBQ2xMO0lBQ0E7SUFDQTtJQUNBLFFBQVEsSUFBSSxhQUFhLEdBQUcsdUJBQXVCLEVBQUU7SUFDckQsWUFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLHFHQUFxRyxDQUFDLENBQUM7SUFDaEksWUFBWSxhQUFhLEdBQUcsdUJBQXVCLENBQUM7SUFDcEQsU0FBUztJQUNULFFBQVEsT0FBTyxJQUFJLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqRSxLQUFLO0lBQ0wsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7SUFDM0MsUUFBUSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMzQixRQUFRLE9BQU9wQixXQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLGFBQWE7SUFDNUQsWUFBWSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQztJQUNBLFlBQVksTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDOUYsWUFBWSxJQUFJLENBQUMsTUFBTSxFQUFFO0lBQ3pCLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDekQsWUFBWSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7SUFDcEMsZ0JBQWdCLE9BQU8sSUFBSSxDQUFDO0lBQzVCLGFBQWE7SUFDYixZQUFZLE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsY0FBYyxLQUFLLFlBQVksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ3RHLFlBQVksTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDL0csWUFBWSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUMvRyxZQUFZLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVHLFlBQVksTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDMUcsWUFBWSxJQUFJLE9BQU8sQ0FBQztJQUN4QixZQUFZLElBQUksaUJBQWlCLENBQUMsY0FBYyxLQUFLLFlBQVksRUFBRTtJQUNuRSxnQkFBZ0IsT0FBTyxHQUFHLElBQUksMEJBQTBCLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xHLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsZ0JBQWdCLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RixhQUFhO0lBQ2IsWUFBWSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRSxZQUFZLElBQUksaUJBQWlCLENBQUMscUJBQXFCLEVBQUU7SUFDekQsZ0JBQWdCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdlQsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixnQkFBZ0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlELGFBQWE7SUFDYjtJQUNBLFlBQVksTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELFlBQVksSUFBSSxPQUFPLFlBQVksb0JBQW9CLEVBQUU7SUFDekQsZ0JBQWdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RCxhQUFhO0lBQ2IsWUFBWSxPQUFPLE1BQU0sQ0FBQztJQUMxQixTQUFTLENBQUMsQ0FBQztJQUNYLEtBQUs7SUFDTCxJQUFJLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxrQkFBa0IsRUFBRTtJQUM1RCxRQUFRLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNuQixRQUFRLE1BQU0sS0FBSyxHQUFHLGVBQWUsS0FBSyxJQUFJLElBQUksZUFBZSxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDOUcsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssbUJBQW1CLEVBQUU7SUFDM0QsWUFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLGdFQUFnRSxDQUFDLENBQUM7SUFDM0YsU0FBUztJQUNULFFBQVEsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsZUFBZSxLQUFLLElBQUksSUFBSSxlQUFlLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDM0osUUFBUSxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxlQUFlLEtBQUssSUFBSSxJQUFJLGVBQWUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLGtCQUFrQixDQUFDO0lBQzNLO0lBQ0E7SUFDQTtJQUNBLFFBQVEsSUFBSSxNQUFNLEdBQUcsdUJBQXVCLEVBQUU7SUFDOUMsWUFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLGdHQUFnRyxDQUFDLENBQUM7SUFDM0gsWUFBWSxNQUFNLEdBQUcsdUJBQXVCLENBQUM7SUFDN0MsU0FBUztJQUNULFFBQVEsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxLQUFLO0lBQ0wsSUFBSSxhQUFhLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRTtJQUNyQyxRQUFRLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtJQUM3QixZQUFZLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELFlBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsWUFBWSxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBQzdELFNBQVM7SUFDVCxRQUFRLE9BQU8sTUFBTSxDQUFDO0lBQ3RCLEtBQUs7SUFDTCxDQUFDO0FBQ0Q7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBQUNLLFVBQUMsaUJBQWlCLEdBQUc7SUFDMUIsSUFBSSxJQUFJLEVBQUUsTUFBTTtJQUNoQixJQUFJLFVBQVUsRUFBRSxZQUFZO0lBQzVCLEVBQUU7QUFDRjtJQUNBO0lBQ0E7SUFDQTtJQUNBLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUU7SUFDL0I7SUFDQSxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxFQUFFO0lBQzdDLFFBQVEsT0FBTyxFQUFFLENBQUM7SUFDbEI7SUFDQSxJQUFJLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0lBQ3ZELFFBQVEsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUQsS0FBSztJQUNMO0lBQ0EsSUFBSSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEMsUUFBUSxPQUFPLEdBQUcsQ0FBQztJQUNuQjtJQUNBLElBQUksSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNqQyxRQUFRLE9BQU8sR0FBRyxDQUFDO0lBQ25CO0lBQ0EsSUFBSSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQzlCLFFBQVEsT0FBTyxHQUFHLENBQUM7SUFDbkI7SUFDQSxJQUFJLE9BQU8sSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUN0QixDQUFDO0FBQ0Q7SUFDQTtJQUNBO0lBQ0E7SUFDQSxNQUFNcUIsd0JBQXNCLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM1RDtJQUNBO0lBQ0E7SUFDQSxNQUFNLG1CQUFtQixDQUFDO0lBQzFCLElBQUksSUFBSSxJQUFJLEdBQUc7SUFDZjtJQUNBLFFBQVEsT0FBTyxxQkFBcUIsQ0FBQztJQUNyQyxLQUFLO0lBQ0wsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUNqQyxRQUFRLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdkIsUUFBUSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUM3QixRQUFRLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzVKLFFBQVEsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDdkwsUUFBUSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxZQUFZLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ2hKLEtBQUs7SUFDTCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUU7SUFDcEIsUUFBUSxPQUFPckIsV0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxhQUFhO0lBQzVELFlBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELFNBQVMsQ0FBQyxDQUFDO0lBQ1gsS0FBSztJQUNMLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtJQUNsQixRQUFRLE9BQU9BLFdBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYTtJQUM1RCxZQUFZLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxZQUFZLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtJQUNsQyxnQkFBZ0IsT0FBTyxRQUFRLENBQUM7SUFDaEMsYUFBYTtJQUNiLFlBQVksTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELFlBQVksSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO0lBQ2xDLGdCQUFnQixPQUFPLFFBQVEsQ0FBQztJQUNoQyxhQUFhO0lBQ2IsWUFBWSxPQUFPLElBQUksQ0FBQztJQUN4QixTQUFTLENBQUMsQ0FBQztJQUNYLEtBQUs7SUFDTCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUU7SUFDcEIsUUFBUSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3ZCLFFBQVEsT0FBT0EsV0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxhQUFhO0lBQzVELFlBQVksTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUM7SUFDQSxZQUFZLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDOUgsWUFBWSxJQUFJLENBQUMsU0FBUyxFQUFFO0lBQzVCLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pHLFlBQVksSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO0lBQ25DLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDO0lBQ3RELFlBQVksSUFBSSxDQUFDcUIsd0JBQXNCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO0lBQzFELGdCQUFnQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsbURBQW1ELEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkcsZ0JBQWdCLE9BQU8sSUFBSSxDQUFDO0lBQzVCLGFBQWE7SUFDYixZQUFZLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDOUMsWUFBWSxJQUFJLENBQUMsVUFBVSxFQUFFO0lBQzdCLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2I7SUFDQSxZQUFZLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDckQsWUFBWSxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pFLFlBQVksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtJQUN2RCxnQkFBZ0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLHNDQUFzQyxFQUFFLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDeEcsYUFBYTtJQUNiLFlBQVksSUFBSSxjQUFjLEdBQUcsU0FBUyxDQUFDO0lBQzNDLFlBQVksSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksVUFBVSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7SUFDOUUsZ0JBQWdCLGNBQWMsR0FBRyxDQUFDLEVBQUUsSUFBSSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDN0ksYUFBYTtJQUNiLFlBQVksT0FBTztJQUNuQixnQkFBZ0IsV0FBVyxFQUFFLEdBQUc7SUFDaEMsZ0JBQWdCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtJQUNyQyxnQkFBZ0IsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO0lBQzNDLGdCQUFnQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87SUFDM0MsZ0JBQWdCLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxvQkFBb0I7SUFDckUsZ0JBQWdCLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxrQkFBa0I7SUFDakUsZ0JBQWdCLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtJQUNqRCxnQkFBZ0Isa0JBQWtCLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtJQUNqRSxnQkFBZ0IsY0FBYztJQUM5QixnQkFBZ0IsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO0lBQ2pELGdCQUFnQixnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO0lBQzdELGdCQUFnQiw0QkFBNEIsRUFBRSxVQUFVLENBQUMsNEJBQTRCO0lBQ3JGLGdCQUFnQiwyQkFBMkIsRUFBRSxVQUFVLENBQUMsMkJBQTJCO0lBQ25GLGdCQUFnQixlQUFlLEVBQUUsVUFBVSxDQUFDLGVBQWU7SUFDM0QsZ0JBQWdCLDhCQUE4QixFQUFFLFVBQVUsQ0FBQyw4QkFBOEI7SUFDekYsZ0JBQWdCLDBCQUEwQixFQUFFLFVBQVUsQ0FBQywwQkFBMEI7SUFDakYsZ0JBQWdCLGNBQWMsRUFBRSxVQUFVLENBQUMsY0FBYztJQUN6RCxnQkFBZ0IsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLG1CQUFtQjtJQUNuRSxnQkFBZ0IsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO0lBQ3JELGdCQUFnQixlQUFlLEVBQUUsVUFBVSxDQUFDLGVBQWU7SUFDM0QsYUFBYSxDQUFDO0lBQ2QsU0FBUyxDQUFDLENBQUM7SUFDWCxLQUFLO0lBQ0wsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFO0lBQ3BCLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDZixRQUFRLE9BQU9yQixXQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLGFBQWE7SUFDNUQsWUFBWSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQztJQUNBLFlBQVksTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDOUYsWUFBWSxJQUFJLENBQUMsTUFBTSxFQUFFO0lBQ3pCLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzNDLFlBQVksSUFBSSxDQUFDLFVBQVUsRUFBRTtJQUM3QixnQkFBZ0IsT0FBTyxJQUFJLENBQUM7SUFDNUIsYUFBYTtJQUNiO0lBQ0EsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtJQUNwQyxnQkFBZ0IsTUFBTSxJQUFJLEtBQUssQ0FBQyw4RUFBOEUsQ0FBQyxDQUFDO0lBQ2hILGFBQWE7SUFDYjtJQUNBLFlBQVksSUFBSSxPQUFPLENBQUM7SUFDeEIsWUFBWSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxFQUFFO0lBQ3BHLGdCQUFnQixPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pGLGFBQWE7SUFDYixZQUFZLE9BQU87SUFDbkIsZ0JBQWdCLFdBQVcsRUFBRSxHQUFHO0lBQ2hDLGdCQUFnQixlQUFlLEVBQUUsVUFBVSxDQUFDLGVBQWU7SUFDM0QsZ0JBQWdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtJQUN6QyxnQkFBZ0Isb0JBQW9CLEVBQUUsVUFBVSxDQUFDLG9CQUFvQjtJQUNyRSxnQkFBZ0Isa0JBQWtCLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtJQUNqRSxnQkFBZ0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXO0lBQ25ELGdCQUFnQixlQUFlLEVBQUUsVUFBVSxDQUFDLGVBQWU7SUFDM0QsZ0JBQWdCLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxrQkFBa0I7SUFDakUsZ0JBQWdCLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUztJQUMvQyxnQkFBZ0IsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtJQUM3RCxnQkFBZ0IsT0FBTyxFQUFFLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLE9BQU8sR0FBRyxTQUFTO0lBQ3JGLGdCQUFnQixLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7SUFDdkMsZ0JBQWdCLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztJQUMzQyxnQkFBZ0IsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLGlCQUFpQjtJQUMvRCxhQUFhLENBQUM7SUFDZCxTQUFTLENBQUMsQ0FBQztJQUNYLEtBQUs7SUFDTCxJQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRTtJQUM3QixRQUFRLElBQUksRUFBRSxDQUFDO0lBQ2YsUUFBUSxPQUFPQSxXQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLGFBQWE7SUFDNUQsWUFBWSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQyxZQUFZLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0YsWUFBWSxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7SUFDaEMsZ0JBQWdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQyxDQUFDO0lBQ3hJLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2I7SUFDQTtJQUNBLFlBQVksSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUN2QztJQUNBLFlBQVksSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRTtJQUMzQyxnQkFBZ0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BHLGdCQUFnQixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLGdCQUFnQixTQUFTLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxhQUFhO0lBQ2IsWUFBWSxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7SUFDbkMsZ0JBQWdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQyxDQUFDO0lBQ2pKLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLE1BQU0sR0FBRyxJQUFJRCxnQkFBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25ELFlBQVksT0FBTyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssS0FBSztJQUM1RyxnQkFBZ0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxnQkFBZ0IsT0FBTyxDQUFDLElBQUksQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0lBQ3RGLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhLENBQUMsQ0FBQztJQUNmLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsS0FBSztJQUNMLENBQUM7QUFDRDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsTUFBTSxPQUFPLENBQUM7SUFDZDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO0lBQ3hCLFFBQVEsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2xDLFFBQVEsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hDLFFBQVEsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ3hDLFFBQVEsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztJQUMxRCxRQUFRLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUM5QyxRQUFRLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNwQyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7SUFDbEIsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9CLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO0lBQ3pCLFlBQVksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsU0FBUztJQUNULFFBQVEsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7SUFDcEMsWUFBWSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUMsU0FBUztJQUNULEtBQUs7SUFDTCxDQUFDO0FBQ0Q7SUFDQSxNQUFNLG1CQUFtQixDQUFDO0lBQzFCLElBQUksSUFBSSxJQUFJLEdBQUc7SUFDZjtJQUNBLFFBQVEsT0FBTyxVQUFVLENBQUM7SUFDMUIsS0FBSztJQUNMLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUU7SUFDakMsUUFBUSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDL0IsUUFBUSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUM3QixRQUFRLE1BQU0sVUFBVSxHQUFHLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDaEcsUUFBUSxNQUFNLG9CQUFvQixHQUFHLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztJQUNwSCxRQUFRLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6TCxRQUFRLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1TCxRQUFRLElBQUksQ0FBQyxjQUFjO0lBQzNCLFlBQVksQ0FBQyxFQUFFLEdBQUcsT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLGNBQWMsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDdk0sUUFBUSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxZQUFZLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzdMLFFBQVEsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkssS0FBSztJQUNMLElBQUksU0FBUyxDQUFDLElBQUksRUFBRTtJQUNwQixRQUFRLE9BQU9DLFdBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYTtJQUM1RCxZQUFZLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsWUFBWSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELFlBQVksTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELFlBQVksTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxZQUFZLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxZQUFZLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9DLFlBQVksTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDdkQ7SUFDQTtJQUNBLFlBQVksSUFBSSxJQUFJLElBQUksUUFBUSxFQUFFO0lBQ2xDLGdCQUFnQixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztJQUM1QyxvQkFBb0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0lBQ3JDLG9CQUFvQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQjtJQUN6RSxvQkFBb0IsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYztJQUM3RCxvQkFBb0IsUUFBUTtJQUM1QixvQkFBb0IsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztJQUNuRCxvQkFBb0IsSUFBSTtJQUN4QixpQkFBaUIsQ0FBQyxDQUFDO0lBQ25CLGdCQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDaEQsYUFBYTtJQUNiLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsS0FBSztJQUNMOztJQzM2R0E7O0lBRUc7SUFDRyxNQUFPLEdBQUksU0FBUSxPQUFPLENBQUE7SUFtQjlCOzs7O0lBSUc7SUFDSCxJQUFBLFdBQUEsQ0FBbUIsTUFBcUIsRUFBQTtZQUN0QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFZCxRQUFBLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNsQyxRQUFBLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUM7SUFDbEQsUUFBQSxJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1NBQzNEO0lBRUQ7Ozs7OztJQU1HO0lBQ0ksSUFBQSxNQUFNLENBQUMsS0FBYSxFQUFBO0lBQ3pCLFFBQUEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVwQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtJQUM5QixZQUFBLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyQyxTQUFBO1lBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7SUFDMUIsWUFBQSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLFNBQUE7WUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBYSxLQUFJO29CQUN2QyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7SUFDbkIsb0JBQUEsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixpQkFBQTtJQUNILGFBQUMsQ0FBQyxDQUFDO0lBQ0osU0FBQTtTQUNGO0lBQ0Y7O0lDbkVEO0lBQ0E7QUFDQTtJQUNBO0lBQ0E7QUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7QUFvR0E7SUFDTyxTQUFTQSxXQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0lBQzdELElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ2hILElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0lBQy9ELFFBQVEsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNuRyxRQUFRLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUN0RyxRQUFRLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRTtJQUN0SCxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxLQUFLLENBQUMsQ0FBQztJQUNQOztJQzFIQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FBRUE7SUFDQTtJQUNBO0FBQ0E7SUFDQTtJQUNBO0FBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FBQ0E7SUFDQSxTQUFTQSxXQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0lBQ3RELElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ2hILElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0lBQy9ELFFBQVEsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNuRyxRQUFRLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxD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d0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzdELEtBQUs7SUFDTCxJQUFJLElBQUksc0JBQXNCLEdBQUc7SUFDakMsUUFBUSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDO0lBQzFELEtBQUs7SUFDTCxJQUFJLElBQUksc0JBQXNCLENBQUMsS0FBSyxFQUFFO0lBQ3RDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzNELEtBQUs7SUFDTCxJQUFJLElBQUksd0JBQXdCLEdBQUc7SUFDbkMsUUFBUSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDO0lBQzVELEtBQUs7SUFDTCxJQUFJLElBQUksd0JBQXdCLENBQUMsS0FBSyxFQUFFO0lBQ3hDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzdELEtBQUs7SUFDTCxJQUFJLElBQUksd0JBQXdCLEdBQUc7SUFDbkMsUUFBUSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDO0lBQzVELEtBQUs7SUFDTCxJQUFJLElBQUksd0JBQXdCLENBQUMsS0FBSyxFQUFFO0lBQ3hDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzdELEtBQUs7SUFDTCxJQUFJLElBQUksd0JBQXdCLEdBQUc7SUFDbkMsUUFBUSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDO0lBQzVELEtBQUs7SUFDTCxJQUFJLElBQUksd0JBQXdCLENBQUMsS0FBSyxFQUFFO0lBQ3hDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzdELEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksSUFB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Q0E7SUFDQTtJQUNBO0lBQ0E7QUFDQTtJQUNBLFNBQVNDLFdBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7SUFDdEQsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7SUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ25HLFFBQVEsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3RHLFFBQVEsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFO0lBQ3RILFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUs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QUU7SUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7SUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ25HLFFBQVEsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3RHLFFBQVEsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFO0lBQ3RILFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLEtBQUssQ0FBQyxDQUFDO0lBQ1AsQ0FBQztBQUNEO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxTQUFTc0IsMkJBQXlCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtJQUNyRCxJQUFJLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsSUFBSSxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzdCLElBQUksT0FBTyxJQUFJLEtBQUssSUFBSSxFQUFFO0lBQzFCLFFBQVEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxRQUFRLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzNCLEtBQUs7SUFDTCxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUs7SUFDcEMsUUFBUSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0IsS0FBSyxDQUFDLENBQUM7SUFDUCxDQUFDO0FBQ0Q7SUFDQSxNQUFNLHdCQUF3QixDQUFDO0lBQy9CLElBQUksV0FBVyxHQUFHO0lBQ2xCLFFBQVEsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3RDLFFBQVEsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDL0MsS0FBSztJQUNMLElBQUksSUFBSSxXQUFXLEdBQUc7SUFDdEIsUUFBUSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDakMsS0FBSztJQUNMLElBQUksYUFBYSxDQUFDLFVBQVUsRUFBRTtJQUM5QixRQUFRLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLFFBQVEsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0UsUUFBUSxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7SUFDL0IsWUFBWSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxZQUFZLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5RSxTQUFTO0lBQ1QsUUFBUSxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLEtBQUs7SUFDTCxJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtJQUNqQyxRQUFRLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLFFBQVEsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakYsUUFBUSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLEtBQUs7SUFDTCxJQUFJLFlBQVksR0FBRztJQUNuQixRQUFRLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMzQyxRQUFRLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDMUMsUUFBUSxLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7SUFDcEQsWUFBWSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM5SCxTQUFTO0lBQ1QsS0FBSztJQUNMLElBQUksTUFBTSxHQUFHO0lBQ2IsUUFBUSxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDM0MsUUFBUSxNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzFDLFFBQVEsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO0lBQ3BELFlBQVksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEgsU0FBUztJQUNULEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRTtJQUNoRixRQUFRLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtJQUM3QyxZQUFZLE9BQU87SUFDbkIsU0FBUztJQUNULFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDOUMsWUFBWSxNQUFNLElBQUksS0FBSyxDQUFDLG1GQUFtRixDQUFDLENBQUM7SUFDakgsU0FBUztJQUNULFFBQVEsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLFFBQVEsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQztJQUNuRCxRQUFRLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFO0lBQzVDLFlBQVlBLDJCQUF5QixDQUFDLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixLQUFLO0lBQ3hFLGdCQUFnQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEYsZ0JBQWdCLElBQUksU0FBUyxFQUFFO0lBQy9CLG9CQUFvQixLQUFLLE1BQU0sYUFBYSxJQUFJLFNBQVMsRUFBRTtJQUMzRCx3QkFBd0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUcscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixhQUFhLENBQUMsQ0FBQztJQUNmLFNBQVM7SUFDVCxRQUFRLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QixRQUFRLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsS0FBSztJQUNMLENBQUM7QUFDRDtJQUNBLE1BQU0sUUFBUSxHQUFHLElBQUl2QixnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sUUFBUSxHQUFHLElBQUlBLGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLE1BQU0scUJBQXFCLFNBQVMsaUJBQWlCLENBQUM7SUFDdEQsSUFBSSxJQUFJLFlBQVksR0FBRztJQUN2QixRQUFRLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxLQUFLO0lBQ0wsSUFBSSxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRTtJQUNyQyxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkMsUUFBUSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUlBLGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkQsUUFBUSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUlBLGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEQsS0FBSztJQUNMLElBQUksWUFBWSxHQUFHO0lBQ25CLFFBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxRQUFRLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM1RSxLQUFLO0lBQ0wsSUFBSSxNQUFNLEdBQUc7SUFDYjtJQUNBLFFBQVEsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEc7SUFDQSxRQUFRLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuRjtJQUNBLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRixLQUFLO0lBQ0wsQ0FBQztBQUNEO0lBQ0EsTUFBTWEsTUFBSSxHQUFHLElBQUliLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsTUFBTW1CLFFBQU0sR0FBRyxJQUFJbkIsZ0JBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJQSxnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxNQUFNLGlCQUFpQixTQUFTLGlCQUFpQixDQUFDO0lBQ2xEO0lBQ0E7SUFDQTtJQUNBLElBQUksSUFBSSxRQUFRLEdBQUc7SUFDbkIsUUFBUSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDOUIsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBLElBQUksSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO0lBQzNCLFFBQVEsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDbEMsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsUUFBUSxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLFFBQVEsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZILEtBQUs7SUFDTCxJQUFJLElBQUksWUFBWSxHQUFHO0lBQ3ZCLFFBQVEsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLEtBQUs7SUFDTCxJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFO0lBQ3JDLFFBQVEsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuQyxRQUFRLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQzdCLFFBQVEsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RELFFBQVEsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJQSxnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25ELFFBQVEsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RELFFBQVEsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUlBLGdCQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEUsS0FBSztJQUNMLElBQUksWUFBWSxHQUFHO0lBQ25CLFFBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxRQUFRLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLFFBQVEsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0SCxLQUFLO0lBQ0wsSUFBSSxNQUFNLEdBQUc7SUFDYjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxRQUFRLE1BQU0sU0FBUyxHQUFHbUIsUUFBTTtJQUNoQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3ZDLGFBQWEsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQzdDLGFBQWEsUUFBUSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzFEO0lBQ0EsUUFBUSxNQUFNLEVBQUUsR0FBR04sTUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsUUFBUSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzRTtJQUNBLFFBQVEsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pGO0lBQ0EsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNGLEtBQUs7SUFDTCxDQUFDO0FBQ0Q7SUFDQTtJQUNBO0lBQ0E7SUFDQSxNQUFNUyx3QkFBc0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzVELE1BQU0sNkJBQTZCLENBQUM7SUFDcEMsSUFBSSxJQUFJLElBQUksR0FBRztJQUNmLFFBQVEsT0FBTyw2QkFBNkIsQ0FBQyxjQUFjLENBQUM7SUFDNUQsS0FBSztJQUNMLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUU7SUFDakMsUUFBUSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUM3QixRQUFRLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUMvRixLQUFLO0lBQ0wsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFO0lBQ3BCLFFBQVEsT0FBT3JCLFdBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYTtJQUM1RCxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlFLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtJQUNsQixRQUFRLElBQUksRUFBRSxDQUFDO0lBQ2YsUUFBUSxPQUFPQSxXQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLGFBQWE7SUFDNUQsWUFBWSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQztJQUNBLFlBQVksTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3hLLFlBQVksSUFBSSxDQUFDLGlCQUFpQixFQUFFO0lBQ3BDLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7SUFDM0QsWUFBWSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFO0lBQ0EsWUFBWSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsS0FBSztJQUNwRCxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7SUFDdkIsZ0JBQWdCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekQ7SUFDQSxnQkFBZ0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxFQUFFLEdBQUcsVUFBVSxLQUFLLElBQUksSUFBSSxVQUFVLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3TSxnQkFBZ0IsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO0lBQ3ZDLG9CQUFvQixPQUFPO0lBQzNCLGlCQUFpQjtJQUNqQixnQkFBZ0IsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztJQUMxRCxnQkFBZ0IsSUFBSSxDQUFDcUIsd0JBQXNCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO0lBQzlELG9CQUFvQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsdUNBQXVDLEVBQUUsNkJBQTZCLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4SixvQkFBb0IsT0FBTztJQUMzQixpQkFBaUI7SUFDakIsZ0JBQWdCLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFDM0Q7SUFDQSxnQkFBZ0IsSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtJQUNoRCxvQkFBb0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hHLG9CQUFvQixPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQjtJQUNqQixxQkFBcUIsSUFBSSxhQUFhLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRTtJQUNwRCxvQkFBb0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RHLG9CQUFvQixPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQjtJQUNqQixxQkFBcUIsSUFBSSxhQUFhLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRTtJQUN6RCxvQkFBb0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hILG9CQUFvQixPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQjtJQUNqQixhQUFhLENBQUMsQ0FBQztJQUNmO0lBQ0EsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0MsWUFBWSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsWUFBWSxPQUFPLE9BQU8sQ0FBQztJQUMzQixTQUFTLENBQUMsQ0FBQztJQUNYLEtBQUs7SUFDTCxJQUFJLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7SUFDakUsUUFBUSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUM7SUFDNUUsUUFBUSxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsUUFBUSxNQUFNLFVBQVUsR0FBRyxJQUFJLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0RSxRQUFRLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtJQUM5QixZQUFZLFVBQVUsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNDLFNBQVM7SUFDVCxRQUFRLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtJQUM1QixZQUFZLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZDLFNBQVM7SUFDVCxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtJQUM3QixZQUFZLE1BQU0sTUFBTSxHQUFHLElBQUksdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkUsWUFBWSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxTQUFTO0lBQ1QsUUFBUSxPQUFPLFVBQVUsQ0FBQztJQUMxQixLQUFLO0lBQ0wsSUFBSSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO0lBQy9ELFFBQVEsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDO0lBQzFFLFFBQVEsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLFFBQVEsTUFBTSxVQUFVLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckUsUUFBUSxJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUU7SUFDN0IsWUFBWSxVQUFVLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QyxTQUFTO0lBQ1QsUUFBUSxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7SUFDNUIsWUFBWSxVQUFVLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QyxTQUFTO0lBQ1QsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDN0IsWUFBWSxNQUFNLE1BQU0sR0FBRyxJQUFJLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLFlBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsU0FBUztJQUNULFFBQVEsT0FBTyxVQUFVLENBQUM7SUFDMUIsS0FBSztJQUNMLElBQUkseUJBQXlCLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRTtJQUN6RSxRQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxHQUFHLHFCQUFxQixDQUFDO0lBQ3RFLFFBQVEsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLFFBQVEsTUFBTSxVQUFVLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUUsUUFBUSxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7SUFDNUIsWUFBWSxVQUFVLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QyxTQUFTO0lBQ1QsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDN0IsWUFBWSxNQUFNLE1BQU0sR0FBRyxJQUFJLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLFlBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsU0FBUztJQUNULFFBQVEsT0FBTyxVQUFVLENBQUM7SUFDMUIsS0FBSztJQUNMLENBQUM7SUFDRCw2QkFBNkIsQ0FBQyxjQUFjLEdBQUcsc0JBQXNCOztJQ3ZlckU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtBQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsTUFBTSwwQkFBMEIsQ0FBQztJQUNqQyxDQUFDO0FBQ0Q7SUFDQSxNQUFNLE1BQU0sR0FBRyxJQUFJdEIsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJQSxnQkFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25DLE1BQU0saUNBQWlDLFNBQVMsMEJBQTBCLENBQUM7SUFDM0UsSUFBSSxJQUFJLElBQUksR0FBRztJQUNmLFFBQVEsT0FBTyxTQUFTLENBQUM7SUFDekIsS0FBSztJQUNMLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtJQUN4QixRQUFRLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdkIsUUFBUSxLQUFLLEVBQUUsQ0FBQztJQUNoQixRQUFRLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxLQUFLLElBQUksSUFBSSxNQUFNLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdKLFFBQVEsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekosUUFBUSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ2hJLEtBQUs7SUFDTCxJQUFJLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRTtJQUM3RSxRQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RCxRQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RCxRQUFRLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsUUFBUSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEQsUUFBUSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxRQUFRLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsUUFBUSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6QixhQUFhLElBQUksZUFBZSxJQUFJLEdBQUcsRUFBRTtJQUN6QztJQUNBLFlBQVksTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixTQUFTO0lBQ1QsYUFBYTtJQUNiO0lBQ0EsWUFBWSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsQ0FBQztJQUN6RCxZQUFZLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsU0FBUztJQUNULFFBQVEsTUFBTSxNQUFNLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbEQsUUFBUSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ2xELFFBQVEsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzNCLFFBQVEsT0FBTyxRQUFRLENBQUM7SUFDeEIsS0FBSztJQUNMLENBQUM7QUFDRDtJQUNBLE1BQU0sZ0NBQWdDLFNBQVMsMEJBQTBCLENBQUM7SUFDMUUsSUFBSSxJQUFJLElBQUksR0FBRztJQUNmLFFBQVEsT0FBTyxRQUFRLENBQUM7SUFDeEIsS0FBSztJQUNMLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtJQUN4QixRQUFRLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNuQixRQUFRLEtBQUssRUFBRSxDQUFDO0lBQ2hCLFFBQVEsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0osUUFBUSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ2hJLEtBQUs7SUFDTCxJQUFJLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRTtJQUM3RSxRQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RCxRQUFRLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsUUFBUSxNQUFNLE1BQU0sR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNsRCxRQUFRLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDbEQsUUFBUSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0IsUUFBUSxPQUFPLFFBQVEsQ0FBQztJQUN4QixLQUFLO0lBQ0wsQ0FBQztBQUNEO0lBQ0EsTUFBTSxNQUFNLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQyxNQUFNLGtDQUFrQyxTQUFTQSxnQkFBSyxDQUFDLGNBQWMsQ0FBQztJQUN0RSxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUU7SUFDdkIsUUFBUSxLQUFLLEVBQUUsQ0FBQztJQUNoQixRQUFRLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQzlCLFFBQVEsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDaEMsUUFBUSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEQsUUFBUSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEQsUUFBUSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUM1QixRQUFRLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUUsUUFBUSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsUUFBUSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUlBLGdCQUFLLENBQUMsZUFBZSxDQUFDLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdFLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0IsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEIsS0FBSztJQUNMLElBQUksTUFBTSxHQUFHO0lBQ2IsUUFBUSxJQUFJLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUN6QyxRQUFRLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDNUQsUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssTUFBTSxFQUFFO0lBQzVDLFlBQVksSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDekMsWUFBWSxvQkFBb0IsR0FBRyxJQUFJLENBQUM7SUFDeEMsU0FBUztJQUNULFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7SUFDN0QsWUFBWSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELFlBQVksb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ3hDLFNBQVM7SUFDVCxRQUFRLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pGLFFBQVEsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRTtJQUMvRCxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLFlBQVksb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ3hDLFNBQVM7SUFDVCxRQUFRLElBQUksb0JBQW9CLEVBQUU7SUFDbEMsWUFBWSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEMsU0FBUztJQUNULEtBQUs7SUFDTCxJQUFJLGNBQWMsR0FBRztJQUNyQixRQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEUsUUFBUSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUN4RCxRQUFRLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDdEMsWUFBWSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JFLFlBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLFlBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLFlBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLFNBQVM7SUFDVCxRQUFRLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDckMsWUFBWSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFD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LENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEMsU0FBUztJQUNULEtBQUs7SUFDTCxJQUFJLGNBQWMsR0FBRztJQUNyQixRQUFRLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDckMsWUFBWSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkUsWUFBWSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RSxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLFNBQVM7SUFDVCxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRixRQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RixRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEcsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDekMsS0FBSztJQUNMLElBQUksV0FBVyxHQUFHO0lBQ2xCLFFBQVEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUNyQyxZQUFZLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsWUFBWSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxZQUFZLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELFlBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDaEUsU0FBUztJQUNULFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMzQyxLQUFLO0lBQ0wsQ0FBQztBQUNEO0lBQ0EsTUFBTSxNQUFNLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQyxNQUFNLHdCQUF3QixTQUFTQSxnQkFBSyxDQUFDLEtBQUssQ0FBQztJQUNuRCxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUU7SUFDNUIsUUFBUSxLQUFLLEVBQUUsQ0FBQztJQUNoQixRQUFRLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDdEMsUUFBUSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNyQyxRQUFRLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkUsUUFBUSxNQUFNLFFBQVEsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLGlCQUFpQixDQUFDO0lBQ3JELFlBQVksS0FBSyxFQUFFLFFBQVE7SUFDM0IsWUFBWSxTQUFTLEVBQUUsS0FBSztJQUM1QixZQUFZLFVBQVUsRUFBRSxLQUFLO0lBQzdCLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsUUFBUSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUlBLGdCQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEUsUUFBUSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixLQUFLO0lBQ0wsSUFBSSxPQUFPLEdBQUc7SUFDZCxRQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsS0FBSztJQUNMLElBQUksaUJBQWlCLENBQUMsS0FBSyxFQUFFO0lBQzdCLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVELFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0QsUUFBUSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ3pELFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsTUFBTTtJQUMxQyxhQUFhLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RixhQUFhLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQyxRQUFRLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxLQUFLO0lBQ0wsQ0FBQztBQUNEO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsTUFBTSxxQkFBcUIsU0FBU0EsZ0JBQUssQ0FBQyxRQUFRLENBQUM7SUFDbkQsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFO0lBQ3ZCLFFBQVEsS0FBSyxFQUFFLENBQUM7SUFDaEIsUUFBUSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUMzQixLQUFLO0lBQ0wsQ0FBQztBQUNEO0lBQ0EsTUFBTSxPQUFPLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxTQUFTLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtJQUNsQyxJQUFJLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtJQUN2QixRQUFRLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN4QixLQUFLO0lBQ0wsU0FBUztJQUNULFFBQVEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDaEQsS0FBSztJQUNMLElBQUksT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztBQUNEO0lBQ0EsTUFBTSxtQkFBbUIsQ0FBQztJQUMxQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRztJQUNsQixRQUFRLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO0lBQ3ZDLFlBQVksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELFlBQVksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELFlBQVksSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUM5QyxTQUFTO0lBQ1QsUUFBUSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbEMsS0FBSztJQUNMLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtJQUN4QjtJQUNBO0lBQ0E7SUFDQSxRQUFRLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqRDtJQUNBO0lBQ0E7SUFDQTtJQUNBLFFBQVEsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUN6QyxRQUFRLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQzdCLFFBQVEsTUFBTSxPQUFPLEdBQUc7SUFDeEIsWUFBWSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSztJQUN4QyxnQkFBZ0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUNqRCxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUNuQyxnQkFBZ0IsT0FBTyxJQUFJLENBQUM7SUFDNUIsYUFBYTtJQUNiLFNBQVMsQ0FBQztJQUNWLFFBQVEsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDakQsUUFBUSxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUQsS0FBSztJQUNMLElBQUksTUFBTSxHQUFHO0lBQ2IsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDdEQsS0FBSztJQUNMLENBQUM7QUFDRDtJQUNBO0lBQ0E7SUFDQTtJQUNBLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QztJQUNBLE1BQU0sSUFBSSxHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJQSxnQkFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDO0lBQ0E7SUFDQTtJQUNBLE1BQU0sbUJBQW1CLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoRDtJQUNBO0lBQ0E7SUFDQSxNQUFNLG9CQUFvQixHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakQ7SUFDQTtJQUNBO0lBQ0EsTUFBTSxTQUFTLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJQSxnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQztJQUNBO0lBQ0E7SUFDQTtJQUNBLE1BQU0sa0JBQWtCLENBQUM7SUFDekIsSUFBSSxJQUFJLE1BQU0sR0FBRztJQUNqQixRQUFRLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM1QixLQUFLO0lBQ0wsSUFBSSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7SUFDdkIsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNmO0lBQ0EsUUFBUSxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFO0lBQ3BHLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0QsWUFBWSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO0lBQzNELFNBQVM7SUFDVDtJQUNBLFFBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDOUI7SUFDQSxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtJQUMxQixZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRTtJQUMxRCxnQkFBZ0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVHLGFBQWE7SUFDYixTQUFTO0lBQ1QsS0FBSztJQUNMLElBQUksSUFBSSx5QkFBeUIsR0FBRztJQUNwQyxRQUFRLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDO0lBQy9DLEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksSUFBSSxrQkFBa0IsR0FBRztJQUM3QixRQUFRLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDO0lBQ2xGLEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLGNBQWMsR0FBRyxFQUFFLEVBQUU7SUFDakUsUUFBUSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ25DO0lBQ0E7SUFDQTtJQUNBLFFBQVEsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJQSxnQkFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2hEO0lBQ0E7SUFDQTtJQUNBLFFBQVEsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdDO0lBQ0E7SUFDQTtJQUNBLFFBQVEsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFFBQVEsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztJQUN6QztJQUNBO0lBQ0E7SUFDQTtJQUNBLFFBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDNUI7SUFDQTtJQUNBO0lBQ0EsUUFBUSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN2RDtJQUNBO0lBQ0E7SUFDQSxRQUFRLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzVEO0lBQ0E7SUFDQTtJQUNBLFFBQVEsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUQsUUFBUSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUN6QixRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQzNDLFFBQVEsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDM0IsUUFBUSxJQUFJLENBQUMsUUFBUSxHQUFHO0lBQ3hCLFlBQVksU0FBUyxFQUFFLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxTQUFTLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRztJQUNyRixZQUFZLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUc7SUFDckYsWUFBWSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLFlBQVksTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHO0lBQzNGLFlBQVksVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztJQUM1SyxZQUFZLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUc7SUFDckYsU0FBUyxDQUFDO0lBQ1YsUUFBUSxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUM3QyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJLFlBQVksR0FBRztJQUNuQjtJQUNBLFFBQVEsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELFFBQVEsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlEO0lBQ0EsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7SUFDeEIsWUFBWSxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEUsU0FBUztJQUNULGFBQWE7SUFDYjtJQUNBO0lBQ0EsWUFBWSxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RHLFNBQVM7SUFDVDtJQUNBLFFBQVEsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEUsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFILFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DO0lBQ0EsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6RSxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJLEtBQUssR0FBRztJQUNaLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlEO0lBQ0EsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUY7SUFDQSxRQUFRLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMxSCxRQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO0lBQ2xCLFFBQVEsSUFBSSxLQUFLLElBQUksQ0FBQztJQUN0QixZQUFZLE9BQU87SUFDbkI7SUFDQSxRQUFRLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ3pDO0lBQ0EsUUFBUSxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pFLFFBQVEsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEUsUUFBUSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RixRQUFRLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDcEY7SUFDQSxRQUFRLE1BQU0sdUJBQXVCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMxRztJQUNBLFFBQVEsTUFBTSxtQkFBbUIsR0FBRyxJQUFJO0lBQ3hDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDakMsYUFBYSxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ25ELGFBQWEsWUFBWSxDQUFDLHVCQUF1QixDQUFDO0lBQ2xELGFBQWEsR0FBRyxDQUFDLG9CQUFvQixDQUFDO0lBQ3RDLGFBQWEsU0FBUyxFQUFFLENBQUM7SUFDekI7SUFDQSxRQUFRLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3RILFFBQVEsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEU7SUFDQSxRQUFRLFNBQVM7SUFDakIsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNwQyxhQUFhLEdBQUcsQ0FBQyxJQUFJO0lBQ3JCLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDcEMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNoQyxhQUFhLGNBQWMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6RCxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ2hHLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDbEcsYUFBYSxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMvQztJQUNBLFFBQVEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMzSDtJQUNBLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQztJQUNBLFFBQVEsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLFFBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGO0lBQ0E7SUFDQSxRQUFRLE1BQU0sMEJBQTBCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUNwSSxRQUFRLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNuSixRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEY7SUFDQSxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRixLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksVUFBVSxDQUFDLElBQUksRUFBRTtJQUNyQixRQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxLQUFLO0lBQ3ZELFlBQVksYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUs7SUFDMUQsZ0JBQWdCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUgsZ0JBQWdCLElBQUksSUFBSSxHQUFHLEdBQUcsRUFBRTtJQUNoQztJQUNBLG9CQUFvQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pEO0lBQ0Esb0JBQW9CLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEksaUJBQWlCO0lBQ2pCLGFBQWEsQ0FBQyxDQUFDO0lBQ2YsU0FBUyxDQUFDLENBQUM7SUFDWCxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJLHlCQUF5QixHQUFHO0lBQ2hDLFFBQVEsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7SUFDeEIsWUFBWSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvRCxTQUFTO0lBQ1QsYUFBYTtJQUNiLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUN2RCxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRCxTQUFTO0lBQ1QsUUFBUSxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3RCxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJLHVCQUF1QixDQUFDLE1BQU0sRUFBRTtJQUNwQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtJQUMxQixZQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxTQUFTO0lBQ1QsYUFBYTtJQUNiLFlBQVksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLFNBQVM7SUFDVCxRQUFRLE9BQU8sTUFBTSxDQUFDO0lBQ3RCLEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksdUJBQXVCLENBQUMsTUFBTSxFQUFFO0lBQ3BDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO0lBQzFCLFlBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxTQUFTO0lBQ1QsYUFBYTtJQUNiLFlBQVksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLFNBQVM7SUFDVCxRQUFRLE9BQU8sTUFBTSxDQUFDO0lBQ3RCLEtBQUs7SUFDTCxDQUFDO0FBQ0Q7SUFDQTtJQUNBO0FBQ0E7SUFDQTtJQUNBO0FBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0FBQ0E7SUFDQSxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7SUFDdEQsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7SUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ25HLFFBQVEsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3RHLFFBQVEsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFO0lBQ3RILFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLEtBQUssQ0FBQyxDQUFDO0lBQ1AsQ0FBQztBQUNEO0lBQ0EsU0FBUyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO0lBQ3JELElBQUksTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLElBQUksSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLElBQUksT0FBTyxJQUFJLEtBQUssSUFBSSxFQUFFO0lBQzFCLFFBQVEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxRQUFRLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzNCLEtBQUs7SUFDTCxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUs7SUFDcEMsUUFBUSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0IsS0FBSyxDQUFDLENBQUM7SUFDUCxDQUFDO0FBQ0Q7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFNBQVMsaUNBQWlDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtJQUM3RCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLO0lBQ3ZDLFFBQVEsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtJQUNyQixZQUFZLGlDQUFpQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRCxTQUFTO0lBQ1QsS0FBSyxDQUFDLENBQUM7SUFDUCxDQUFDO0FBQ0Q7SUFDQSxNQUFNLG9CQUFvQixDQUFDO0lBQzNCLElBQUksV0FBVyxHQUFHO0lBQ2xCLFFBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLFFBQVEsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDL0MsS0FBSztJQUNMLElBQUksSUFBSSxNQUFNLEdBQUc7SUFDakIsUUFBUSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDNUIsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBLElBQUksSUFBSSxXQUFXLEdBQUc7SUFDdEIsUUFBUSxPQUFPLENBQUMsSUFBSSxDQUFDLHNFQUFzRSxDQUFDLENBQUM7SUFDN0YsUUFBUSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDNUIsS0FBSztJQUNMLElBQUksSUFBSSxjQUFjLEdBQUc7SUFDekIsUUFBUSxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzlCLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEtBQUs7SUFDN0MsWUFBWSxVQUFVLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsS0FBSztJQUNqRSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxhQUFhLENBQUMsQ0FBQztJQUNmLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsUUFBUSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsS0FBSztJQUNMLElBQUksSUFBSSxTQUFTLEdBQUc7SUFDcEIsUUFBUSxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzlCLFFBQVEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEtBQUs7SUFDdkQsWUFBWSxhQUFhLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsS0FBSztJQUMxRCxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxhQUFhLENBQUMsQ0FBQztJQUNmLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsUUFBUSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsS0FBSztJQUNMLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRTtJQUNwQixRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkUsUUFBUSxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7SUFDL0IsWUFBWSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxZQUFZLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNsRSxTQUFTO0lBQ1QsUUFBUSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLEtBQUs7SUFDTDtJQUNBO0lBQ0E7SUFDQSxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUU7SUFDekIsUUFBUSxPQUFPLENBQUMsSUFBSSxDQUFDLDhFQUE4RSxDQUFDLENBQUM7SUFDckcsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLEtBQUs7SUFDTCxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUU7SUFDdkIsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxRQUFRLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JFLFFBQVEsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0EsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7SUFDNUIsUUFBUSxPQUFPLENBQUMsSUFBSSxDQUFDLG9GQUFvRixDQUFDLENBQUM7SUFDM0csUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLEtBQUs7SUFDTCxJQUFJLFlBQVksR0FBRztJQUNuQixRQUFRLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMzQyxRQUFRLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDMUMsUUFBUSxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLFFBQVEsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO0lBQy9DLFlBQVksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzdJLFNBQVM7SUFDVCxLQUFLO0lBQ0wsSUFBSSxLQUFLLEdBQUc7SUFDWixRQUFRLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMzQyxRQUFRLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDMUMsUUFBUSxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLFFBQVEsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO0lBQy9DLFlBQVksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RJLFNBQVM7SUFDVCxLQUFLO0lBQ0wsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO0lBQ2xCLFFBQVEsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzNDLFFBQVEsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQyxRQUFRLE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDeEMsUUFBUSxLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7SUFDL0M7SUFDQSxZQUFZLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUk7SUFDQTtJQUNBLFlBQVksaUNBQWlDLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSztJQUMzRSxnQkFBZ0IsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzNCO0lBQ0EsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO0lBQ2hLLG9CQUFvQixPQUFPLElBQUksQ0FBQztJQUNoQyxpQkFBaUI7SUFDakI7SUFDQSxnQkFBZ0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RCxnQkFBZ0IsT0FBTyxLQUFLLENBQUM7SUFDN0IsYUFBYSxDQUFDLENBQUM7SUFDZixTQUFTO0lBQ1QsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUU7SUFDL0YsUUFBUSxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDN0MsWUFBWSxPQUFPO0lBQ25CLFNBQVM7SUFDVCxRQUFRLElBQUksZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0lBQzlDLFlBQVksTUFBTSxJQUFJLEtBQUssQ0FBQywrRUFBK0UsQ0FBQyxDQUFDO0lBQzdHLFNBQVM7SUFDVCxRQUFRLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxRQUFRLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3RCxRQUFRLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFO0lBQzVDLFlBQVkseUJBQXlCLENBQUMsU0FBUyxFQUFFLENBQUMsaUJBQWlCLEtBQUs7SUFDeEUsZ0JBQWdCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRixnQkFBZ0IsSUFBSSxTQUFTLEVBQUU7SUFDL0Isb0JBQW9CLEtBQUssTUFBTSxhQUFhLElBQUksU0FBUyxFQUFFO0lBQzNELHdCQUF3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0gscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixxQkFBcUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRTtJQUNoRTtJQUNBLG9CQUFvQixpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsb0JBQW9CLGFBQWEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN6RCxpQkFBaUI7SUFDakIsYUFBYSxDQUFDLENBQUM7SUFDZixTQUFTO0lBQ1Q7SUFDQSxRQUFRLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsUUFBUSxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RCxRQUFRLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QixRQUFRLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLFFBQVEsZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxLQUFLO0lBQ0w7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksZ0JBQWdCLENBQUMsVUFBVSxFQUFFO0lBQ2pDLFFBQVEsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM5QixRQUFRLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzlDLFFBQVEsSUFBSSxNQUFNLEVBQUU7SUFDcEIsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLFNBQVM7SUFDVCxRQUFRLFVBQVUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxLQUFLO0lBQzdELFlBQVksYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUs7SUFDMUQsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsYUFBYSxDQUFDLENBQUM7SUFDZixTQUFTLENBQUMsQ0FBQztJQUNYLFFBQVEsT0FBTyxHQUFHLENBQUM7SUFDbkIsS0FBSztJQUNMLENBQUM7QUFDRDtJQUNBO0lBQ0E7SUFDQTtJQUNBLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM1RCxNQUFNLHlCQUF5QixDQUFDO0lBQ2hDLElBQUksSUFBSSxJQUFJLEdBQUc7SUFDZixRQUFRLE9BQU8seUJBQXlCLENBQUMsY0FBYyxDQUFDO0lBQ3hELEtBQUs7SUFDTCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ2pDLFFBQVEsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDN0IsUUFBUSxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFDekcsUUFBUSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0lBQy9HLEtBQUs7SUFDTCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUU7SUFDcEIsUUFBUSxPQUFPLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYTtJQUM1RCxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsS0FBSztJQUNMO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtJQUNsQixRQUFRLE9BQU8sU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxhQUFhO0lBQzVELFlBQVksTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELFlBQVksSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO0lBQ2xDLGdCQUFnQixPQUFPLFFBQVEsQ0FBQztJQUNoQyxhQUFhO0lBQ2IsWUFBWSxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsWUFBWSxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUU7SUFDbEMsZ0JBQWdCLE9BQU8sUUFBUSxDQUFDO0lBQ2hDLGFBQWE7SUFDYixZQUFZLE9BQU8sSUFBSSxDQUFDO0lBQ3hCLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsS0FBSztJQUNMLElBQUksU0FBUyxDQUFDLElBQUksRUFBRTtJQUNwQixRQUFRLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMvQixRQUFRLE9BQU8sU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxhQUFhO0lBQzVELFlBQVksTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUM7SUFDQSxZQUFZLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuSyxZQUFZLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtJQUNuQyxnQkFBZ0IsT0FBTyxJQUFJLENBQUM7SUFDNUIsYUFBYTtJQUNiLFlBQVksTUFBTSxPQUFPLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZELFlBQVksTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RSxZQUFZLE1BQU0sU0FBUyxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkksWUFBWSxJQUFJLENBQUMsU0FBUyxFQUFFO0lBQzVCLGdCQUFnQixPQUFPLElBQUksQ0FBQztJQUM1QixhQUFhO0lBQ2IsWUFBWSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDO0lBQ3RELFlBQVksSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtJQUMxRCxnQkFBZ0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLG1DQUFtQyxFQUFFLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUksZ0JBQWdCLE9BQU8sSUFBSSxDQUFDO0lBQzVCLGFBQWE7SUFDYixZQUFZLE1BQU0sU0FBUyxHQUFHLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxTQUFTLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLFNBQVMsS0FBSztJQUNwSSxnQkFBZ0IsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3ZDLGdCQUFnQixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELGdCQUFnQixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ3pELGdCQUFnQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7SUFDeEMsb0JBQW9CLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRTtJQUM1RCx3QkFBd0IsTUFBTSxFQUFFLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoSix3QkFBd0IsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUc7SUFDckcscUJBQXFCLENBQUMsQ0FBQztJQUN2QixpQkFBaUI7SUFDakIscUJBQXFCLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRTtJQUM5QyxvQkFBb0IsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFO0lBQzdELHdCQUF3QixNQUFNLEVBQUUsSUFBSUEsZ0JBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2pKLHdCQUF3QixNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRztJQUN0Ryx3QkFBd0IsSUFBSSxFQUFFLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3SSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3ZCLGlCQUFpQjtJQUNqQixnQkFBZ0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLHlDQUF5QyxFQUFFLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFDNUcsYUFBYSxDQUFDLENBQUM7SUFDZixZQUFZLE1BQU0sY0FBYyxHQUFHLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxjQUFjLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxLQUFLO0lBQ3hKLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUN2QixnQkFBZ0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsS0FBSztJQUMzSCxvQkFBb0IsTUFBTSxHQUFHLEdBQUcsU0FBUyxLQUFLLElBQUksSUFBSSxTQUFTLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNHLG9CQUFvQixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7SUFDckMsd0JBQXdCLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyw4Q0FBOEMsRUFBRSxjQUFjLENBQUMsOEJBQThCLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDbksscUJBQXFCO0lBQ3JCLG9CQUFvQixPQUFPLEdBQUcsQ0FBQztJQUMvQixpQkFBaUIsQ0FBQyxDQUFDO0lBQ25CLGdCQUFnQixPQUFPO0lBQ3ZCLG9CQUFvQixTQUFTLEVBQUUsSUFBSTtJQUNuQyxvQkFBb0IsSUFBSSxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDbEQsaUJBQWlCLENBQUM7SUFDbEIsYUFBYSxDQUFDLENBQUM7SUFDZixZQUFZLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sS0FBSztJQUNoSCxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7SUFDdkIsZ0JBQWdCLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDekQ7SUFDQSxnQkFBZ0IsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEVBQUUsR0FBRyxZQUFZLENBQUMsY0FBYyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsS0FBSztJQUNuSixvQkFBb0IsTUFBTSxLQUFLLEdBQUcsY0FBYyxLQUFLLElBQUksSUFBSSxjQUFjLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pJLG9CQUFvQixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7SUFDdkMsd0JBQXdCLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyx1Q0FBdUMsRUFBRSxPQUFPLENBQUMsa0NBQWtDLEVBQUUsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDOUoscUJBQXFCO0lBQ3JCLG9CQUFvQixPQUFPLEtBQUssQ0FBQztJQUNqQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25CLGdCQUFnQixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN6RyxnQkFBZ0IsSUFBSSxlQUFlLENBQUM7SUFDcEMsZ0JBQWdCLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEtBQUs7SUFDdEQsb0JBQW9CLElBQUksZUFBZSxFQUFFO0lBQ3pDO0lBQ0Esd0JBQXdCLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDL0Qsd0JBQXdCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCx3QkFBd0IsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztJQUM1RCx3QkFBd0IsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdEO0lBQ0Esd0JBQXdCLE1BQU0sT0FBTyxHQUFHO0lBQ3hDLDRCQUE0QixTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVM7SUFDaEUsNEJBQTRCLFNBQVMsRUFBRSxlQUFlLENBQUMsU0FBUztJQUNoRSw0QkFBNEIsWUFBWSxFQUFFLGVBQWUsQ0FBQyxZQUFZO0lBQ3RFLDRCQUE0QixTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVM7SUFDaEUsNEJBQTRCLFVBQVUsRUFBRSxlQUFlLENBQUMsVUFBVSxJQUFJLElBQUk7SUFDMUUsa0NBQWtDLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7SUFDM0Ysa0NBQWtDLFNBQVM7SUFDM0MseUJBQXlCLENBQUM7SUFDMUI7SUFDQSx3QkFBd0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZHLHdCQUF3QixJQUFJLE1BQU0sRUFBRTtJQUNwQyw0QkFBNEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDbEQseUJBQXlCO0lBQ3pCLHdCQUF3QixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELHFCQUFxQjtJQUNyQixvQkFBb0IsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNsRCxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25CLGFBQWEsQ0FBQyxDQUFDO0lBQ2Y7SUFDQSxZQUFZLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxZQUFZLE9BQU8sT0FBTyxDQUFDO0lBQzNCLFNBQVMsQ0FBQyxDQUFDO0lBQ1gsS0FBSztJQUNMLElBQUksU0FBUyxDQUFDLElBQUksRUFBRTtJQUNwQixRQUFRLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdkIsUUFBUSxPQUFPLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYTtJQUM1RCxZQUFZLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzFDO0lBQ0EsWUFBWSxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3pILFlBQVksSUFBSSxDQUFDLFNBQVMsRUFBRTtJQUM1QixnQkFBZ0IsT0FBTyxJQUFJLENBQUM7SUFDNUIsYUFBYTtJQUNiO0lBQ0EsWUFBWSxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BHLFlBQVksTUFBTSx3QkFBd0IsR0FBRyxTQUFTLEtBQUssSUFBSSxJQUFJLFNBQVMsS0FBSyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsa0JBQWtCLENBQUM7SUFDaEksWUFBWSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7SUFDM0MsZ0JBQWdCLE9BQU8sSUFBSSxDQUFDO0lBQzVCLGFBQWE7SUFDYixZQUFZLE1BQU0sZ0JBQWdCLEdBQUcsd0JBQXdCLEtBQUssSUFBSSxJQUFJLHdCQUF3QixLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLHdCQUF3QixDQUFDLFVBQVUsQ0FBQztJQUM3SixZQUFZLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtJQUNuQyxnQkFBZ0IsT0FBTyxJQUFJLENBQUM7SUFDNUIsYUFBYTtJQUNiLFlBQVksTUFBTSxPQUFPLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZELFlBQVksTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RSxZQUFZLE1BQU0sY0FBYyxHQUFHLENBQUMsRUFBRSxHQUFHLHdCQUF3QixDQUFDLGNBQWMsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxtQkFBbUIsS0FBSztJQUN2SixnQkFBZ0IsSUFBSSxFQUFFLENBQUM7SUFDdkIsZ0JBQWdCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxnQkFBZ0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxTQUFTLEtBQUs7SUFDaEosb0JBQW9CLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbkMsb0JBQW9CLE1BQU0sTUFBTSxHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEUsb0JBQW9CLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRTtJQUMvQyx3QkFBd0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDdk8scUJBQXFCO0lBQ3JCLG9CQUFvQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUU7SUFDNUQsd0JBQXdCLE1BQU07SUFDOUIsd0JBQXdCLE1BQU0sRUFBRSxDQUFDLEVBQUUsR0FBRyxjQUFjLENBQUMsTUFBTSxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUc7SUFDakcscUJBQXFCLENBQUMsQ0FBQztJQUN2QixpQkFBaUIsQ0FBQyxDQUFDO0lBQ25CLGdCQUFnQixPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDckMsYUFBYSxDQUFDLENBQUM7SUFDZjtJQUNBLFlBQVksZ0JBQWdCLEtBQUssSUFBSSxJQUFJLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxVQUFVLEtBQUs7SUFDMUksZ0JBQWdCLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDMUQsZ0JBQWdCLElBQUksQ0FBQyxXQUFXLEVBQUU7SUFDbEMsb0JBQW9CLE9BQU87SUFDM0IsaUJBQWlCO0lBQ2pCLGdCQUFnQixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxLQUFLO0lBQ25ELG9CQUFvQixJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUN2QyxvQkFBb0IsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZEO0lBQ0Esb0JBQW9CLE1BQU0sVUFBVSxHQUFHLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0Qsb0JBQW9CLElBQUksZUFBZSxDQUFDLFVBQVUsRUFBRTtJQUNwRCx3QkFBd0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3JRLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsd0JBQXdCLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELHFCQUFxQjtJQUNyQixvQkFBb0IsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE1BQU0sSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDbkgsb0JBQW9CLE1BQU0sT0FBTyxHQUFHO0lBQ3BDLHdCQUF3QixTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVM7SUFDNUQsd0JBQXdCLFNBQVMsRUFBRSxlQUFlLENBQUMsU0FBUztJQUM1RCx3QkFBd0IsWUFBWSxFQUFFLGVBQWUsQ0FBQyxZQUFZO0lBQ2xFLHdCQUF3QixTQUFTLEVBQUUsZUFBZSxDQUFDLFVBQVU7SUFDN0Qsd0JBQXdCLFVBQVU7SUFDbEMscUJBQXFCLENBQUM7SUFDdEI7SUFDQSxvQkFBb0IsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEVBQUUsR0FBRyxlQUFlLENBQUMsY0FBYyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsS0FBSztJQUMxSix3QkFBd0IsTUFBTSxLQUFLLEdBQUcsY0FBYyxLQUFLLElBQUksSUFBSSxjQUFjLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JJLHdCQUF3QixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7SUFDM0MsNEJBQTRCLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyx1Q0FBdUMsRUFBRSxVQUFVLENBQUMsa0NBQWtDLEVBQUUsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDcksseUJBQXlCO0lBQ3pCLHdCQUF3QixPQUFPLEtBQUssQ0FBQztJQUNyQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3ZCO0lBQ0Esb0JBQW9CLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEtBQUs7SUFDNUMsd0JBQXdCLElBQUksRUFBRSxDQUFDO0lBQy9CLHdCQUF3QixNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNwRyx3QkFBd0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZHLHdCQUF3QixJQUFJLE1BQU0sRUFBRTtJQUNwQyw0QkFBNEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDbEQseUJBQXlCO0lBQ3pCLHdCQUF3QixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELHFCQUFxQixDQUFDLENBQUM7SUFDdkIsaUJBQWlCLENBQUMsQ0FBQztJQUNuQixhQUFhLENBQUMsQ0FBQztJQUNmO0lBQ0EsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0MsWUFBWSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsWUFBWSxPQUFPLE9BQU8sQ0FBQztJQUMzQixTQUFTLENBQUMsQ0FBQztJQUNYLEtBQUs7SUFDTCxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRTtJQUNoRSxRQUFRLE1BQU0sVUFBVSxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUNqRyxRQUFRLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtJQUNsQyxZQUFZLE1BQU0sTUFBTSxHQUFHLElBQUksd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEUsWUFBWSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxZQUFZLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7SUFDbEUsU0FBUztJQUNULFFBQVEsT0FBTyxVQUFVLENBQUM7SUFDMUIsS0FBSztJQUNMLElBQUkscUJBQXFCLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRTtJQUMvQyxRQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzFDLFFBQVEsTUFBTSxLQUFLLEdBQUcsSUFBSSxnQ0FBZ0MsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLFFBQVEsTUFBTSxRQUFRLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxRQUFRLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsUUFBUSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtJQUNyQyxZQUFZLE1BQU0sTUFBTSxHQUFHLElBQUksMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckUsWUFBWSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELFlBQVksTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDO0lBQ3JFLFNBQVM7SUFDVCxRQUFRLE9BQU8sUUFBUSxDQUFDO0lBQ3hCLEtBQUs7SUFDTCxJQUFJLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUU7SUFDaEQsUUFBUSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDaEQsUUFBUSxNQUFNLEtBQUssR0FBRyxJQUFJLGlDQUFpQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLFFBQVEsTUFBTSxRQUFRLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxRQUFRLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsUUFBUSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtJQUNyQyxZQUFZLE1BQU0sTUFBTSxHQUFHLElBQUksMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckUsWUFBWSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELFlBQVksTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDO0lBQ3JFLFNBQVM7SUFDVCxRQUFRLE9BQU8sUUFBUSxDQUFDO0lBQ3hCLEtBQUs7SUFDTCxDQUFDO0lBQ0QseUJBQXlCLENBQUMsY0FBYyxHQUFHLGlCQUFpQjs7VUNybEMvQyxlQUFlLENBQUE7SUFjMUIsSUFBQSxJQUFXLElBQUksR0FBQTtJQUNiLFFBQUEsT0FBTyxpQkFBaUIsQ0FBQztTQUMxQjtRQUVELFdBQW1CLENBQUEsTUFBa0IsRUFBRSxPQUFnQyxFQUFBOztJQUNyRSxRQUFBLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBRXJCLE1BQU0sVUFBVSxHQUFHLE9BQU8sS0FBQSxJQUFBLElBQVAsT0FBTyxLQUFQLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBLE9BQU8sQ0FBRSxVQUFVLENBQUM7WUFDdkMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLEtBQUEsSUFBQSxJQUFQLE9BQU8sS0FBUCxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxPQUFPLENBQUUsb0JBQW9CLENBQUM7SUFFM0QsUUFBQSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQSxFQUFBLEdBQUEsT0FBTyxhQUFQLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUCxPQUFPLENBQUUsZ0JBQWdCLE1BQUksSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLEdBQUEsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRixRQUFBLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFBLEVBQUEsR0FBQSxPQUFPLGFBQVAsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFQLE9BQU8sQ0FBRSxpQkFBaUIsTUFBSSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBQSxJQUFJLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlGLFFBQUEsSUFBSSxDQUFDLGNBQWM7SUFDakIsWUFBQSxDQUFBLEVBQUEsR0FBQSxPQUFPLEtBQUEsSUFBQSxJQUFQLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUCxPQUFPLENBQUUsY0FBYyxNQUFBLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUN2QixJQUFJLHVCQUF1QixDQUFDLE1BQU0sRUFBRTtvQkFDbEMsVUFBVTtvQkFDVixvQkFBb0I7SUFDckIsYUFBQSxDQUFDLENBQUM7WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUEsRUFBQSxHQUFBLE9BQU8sS0FBUCxJQUFBLElBQUEsT0FBTyx1QkFBUCxPQUFPLENBQUUsWUFBWSxNQUFJLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFBLElBQUkscUJBQXFCLENBQUMsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMvRixRQUFBLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQSxFQUFBLEdBQUEsT0FBTyxhQUFQLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUCxPQUFPLENBQUUsVUFBVSxNQUFJLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFBLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekUsUUFBQSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQSxFQUFBLEdBQUEsT0FBTyxhQUFQLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUCxPQUFPLENBQUUsbUJBQW1CLE1BQUksSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLEdBQUEsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRyxRQUFBLElBQUksQ0FBQyxvQ0FBb0M7SUFDdkMsWUFBQSxDQUFBLEVBQUEsR0FBQSxPQUFPLEtBQUEsSUFBQSxJQUFQLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUCxPQUFPLENBQUUsb0NBQW9DLE1BQUEsSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLEdBQUksSUFBSSw2Q0FBNkMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RyxRQUFBLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFBLEVBQUEsR0FBQSxPQUFPLGFBQVAsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFQLE9BQU8sQ0FBRSx1QkFBdUIsTUFBSSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBQSxJQUFJLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTFHLFFBQUEsSUFBSSxDQUFDLGdCQUFnQjtJQUNuQixZQUFBLENBQUEsRUFBQSxHQUFBLE9BQU8sS0FBQSxJQUFBLElBQVAsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFQLE9BQU8sQ0FBRSxnQkFBZ0IsTUFBQSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FDekIsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLEVBQUU7SUFDcEMsZ0JBQUEsa0JBQWtCLEVBQUUsVUFBVTtJQUM5QixnQkFBQSxlQUFlLEVBQUUsVUFBVTtJQUM1QixhQUFBLENBQUMsQ0FBQztJQUVMLFFBQUEsSUFBSSxDQUFDLG9CQUFvQjtJQUN2QixZQUFBLENBQUEsRUFBQSxHQUFBLE9BQU8sS0FBUCxJQUFBLElBQUEsT0FBTyxLQUFQLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBLE9BQU8sQ0FBRSxvQkFBb0IsTUFBQSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBSSxJQUFJLDZCQUE2QixDQUFDLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDOUY7UUFFWSxVQUFVLEdBQUE7O0lBQ3JCLFlBQUEsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEQsWUFBQSxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUM3QyxDQUFBLENBQUE7SUFBQSxLQUFBO0lBRVksSUFBQSxRQUFRLENBQUMsU0FBaUIsRUFBQTs7Z0JBQ3JDLE9BQU8sTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNELENBQUEsQ0FBQTtJQUFBLEtBQUE7SUFFTSxJQUFBLGVBQWUsQ0FBQyxhQUFxQixFQUFBO1lBQzFDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDMUUsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO0lBQ3JCLFlBQUEsT0FBTyxTQUFTLENBQUM7SUFDbEIsU0FBQTtJQUVELFFBQUEsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVZLG9CQUFvQixDQUFDLGFBQXFCLEVBQUUsY0FBc0MsRUFBQTs7Z0JBQzdGLE1BQU0sSUFBSSxDQUFDLG9DQUFvQyxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDcEcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQ3BGLENBQUEsQ0FBQTtJQUFBLEtBQUE7SUFFWSxJQUFBLFNBQVMsQ0FBQyxJQUFVLEVBQUE7O2dCQUMvQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hDLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0MsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hELE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUvQyxZQUFBLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBeUIsQ0FBQztJQUNyRCxZQUFBLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBaUMsQ0FBQzs7O2dCQUlqRSxJQUFJLElBQUksSUFBSSxRQUFRLEVBQUU7SUFDcEIsZ0JBQUEsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUM7d0JBQ2xCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztJQUNqQixvQkFBQSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQjtJQUNyRCxvQkFBQSxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjO3dCQUN6QyxRQUFRO0lBQ1Isb0JBQUEsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUzt3QkFDL0IsSUFBSTtJQUNKLG9CQUFBLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQjtJQUMxQyxvQkFBQSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQjtJQUNyRCxvQkFBQSxxQkFBcUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLHdCQUF3QjtJQUM5RCxpQkFBQSxDQUFDLENBQUM7SUFFSCxnQkFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDekIsYUFBQTthQUNGLENBQUEsQ0FBQTtJQUFBLEtBQUE7SUFDRjs7SUMzSEQ7SUFJQSxTQUFTLGVBQWUsQ0FBQyxRQUF3QixFQUFBO1FBQy9DLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFJO0lBQ3hDLFFBQUEsSUFBSSxLQUFLLEtBQUwsSUFBQSxJQUFBLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsRUFBRTtnQkFDcEIsTUFBTSxPQUFPLEdBQUcsS0FBc0IsQ0FBQztnQkFDdkMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLFNBQUE7SUFDSCxLQUFDLENBQUMsQ0FBQztRQUVILElBQUssUUFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRTtJQUN0QyxRQUFBLE1BQU0sUUFBUSxHQUFnRCxRQUFnQixDQUFDLFFBQVEsQ0FBQztJQUN4RixRQUFBLElBQUksUUFBUSxFQUFFO2dCQUNaLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxLQUFJO0lBQzFDLGdCQUFBLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsZ0JBQUEsSUFBSSxLQUFLLEtBQUwsSUFBQSxJQUFBLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsRUFBRTt3QkFDcEIsTUFBTSxPQUFPLEdBQUcsS0FBc0IsQ0FBQzt3QkFDdkMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLGlCQUFBO0lBQ0gsYUFBQyxDQUFDLENBQUM7SUFDSixTQUFBO0lBQ0YsS0FBQTtRQUVELFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUyxPQUFPLENBQUMsUUFBd0IsRUFBQTtJQUN2QyxJQUFBLE1BQU0sUUFBUSxHQUFzQyxRQUFnQixDQUFDLFFBQVEsQ0FBQztJQUM5RSxJQUFBLElBQUksUUFBUSxFQUFFO1lBQ1osUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLEtBQUE7SUFFRCxJQUFBLE1BQU0sUUFBUSxHQUFnQyxRQUFnQixDQUFDLFFBQVEsQ0FBQztJQUN4RSxJQUFBLElBQUksUUFBUSxFQUFFO1lBQ1osUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLEtBQUE7SUFFRCxJQUFBLE1BQU0sUUFBUSxHQUFtRCxRQUFnQixDQUFDLFFBQVEsQ0FBQztJQUMzRixJQUFBLElBQUksUUFBUSxFQUFFO0lBQ1osUUFBQSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7SUFDM0IsWUFBQSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBd0IsS0FBSyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMzRSxTQUFBO0lBQU0sYUFBQSxJQUFJLFFBQVEsRUFBRTtnQkFDbkIsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNCLFNBQUE7SUFDRixLQUFBO0lBQ0gsQ0FBQztJQUVLLFNBQVUsV0FBVyxDQUFDLFFBQXdCLEVBQUE7SUFDbEQsSUFBQSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCOztJQ2pEQTs7Ozs7O0lBTUc7SUFDRyxTQUFVLHVCQUF1QixDQUFDLElBQW9CLEVBQUE7O0lBRTFELElBQUEsTUFBTSxZQUFZLEdBQStDLElBQUksR0FBRyxFQUFFLENBQUM7O0lBRzNFLElBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsS0FBSTtJQUNwQixRQUFBLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUU7Z0JBQzlCLE9BQU87SUFDUixTQUFBO1lBRUQsTUFBTSxJQUFJLEdBQUcsR0FBd0IsQ0FBQztJQUN0QyxRQUFBLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDL0IsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQTBCLENBQUM7O1lBRzlFLElBQUksUUFBUSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFM0MsSUFBSSxDQUFDLFFBQVEsRUFBRTs7SUFFYixZQUFBLE1BQU0sS0FBSyxHQUFpQixFQUFFLENBQUM7SUFDL0IsWUFBQSxNQUFNLFlBQVksR0FBb0IsRUFBRSxDQUFDO0lBQ3pDLFlBQUEsTUFBTSxZQUFZLEdBQWdDLEVBQUUsQ0FBQzs7SUFHckQsWUFBQSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLFlBQUEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDckMsZ0JBQUEsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOztJQUd2QixnQkFBQSxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxTQUFTLEVBQUU7SUFDckMsb0JBQUEsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDbkMsb0JBQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLG9CQUFBLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxpQkFBQTtvQkFFRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLGFBQUE7O0lBR0QsWUFBQSxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLFlBQUEsU0FBUyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7O2dCQUc3QixRQUFRLEdBQUcsSUFBSUEsZ0JBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ25ELFlBQUEsWUFBWSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkMsU0FBQTtZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUlBLGdCQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzs7O0lBRzNDLEtBQUMsQ0FBQyxDQUFDO0lBQ0w7O0lDekRBOzs7Ozs7Ozs7SUFTRztJQUNHLFNBQVUseUJBQXlCLENBQUMsSUFBb0IsRUFBQTtJQUM1RCxJQUFBLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxFQUE4QyxDQUFDOztJQUcxRSxJQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEtBQUk7O0lBQ3BCLFFBQUEsSUFBSSxDQUFFLEdBQVcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3hCLE9BQU87SUFDUixTQUFBO1lBRUQsTUFBTSxJQUFJLEdBQUcsR0FBaUIsQ0FBQztJQUMvQixRQUFBLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7O0lBRy9CLFFBQUEsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNyQyxJQUFJLGFBQWEsSUFBSSxJQUFJLEVBQUU7Z0JBQ3pCLE9BQU87SUFDUixTQUFBOztZQUdELE1BQU0seUJBQXlCLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RCxJQUFJLHlCQUF5QixJQUFJLElBQUksRUFBRTtJQUNyQyxZQUFBLElBQUksQ0FBQyxRQUFRLEdBQUcseUJBQXlCLENBQUM7Z0JBQzFDLE9BQU87SUFDUixTQUFBO0lBRUQsUUFBQSxNQUFNLFdBQVcsR0FBRyxJQUFJQSxnQkFBSyxDQUFDLGNBQWMsRUFBRSxDQUFDOzs7SUFJL0MsUUFBQSxXQUFXLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFFakMsUUFBQSxXQUFXLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1lBRWpFLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFJO0lBQ2hDLFlBQUEsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLFNBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBQSxXQUFXLENBQUMsV0FBVyxHQUFHLENBQUEsRUFBQSxHQUFBLENBQUEsRUFBQSxHQUFBLFFBQVEsQ0FBQyxXQUFXLE1BQUUsSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUEsS0FBSyxFQUFFLE1BQUEsSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLEdBQUksSUFBSSxDQUFDO0lBQ2hFLFFBQUEsV0FBVyxDQUFDLGNBQWMsR0FBRyxDQUFBLEVBQUEsR0FBQSxDQUFBLEVBQUEsR0FBQSxRQUFRLENBQUMsY0FBYyxNQUFFLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxDQUFBLEtBQUssRUFBRSxNQUFBLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFJLElBQUksQ0FBQztJQUV0RSxRQUFBLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU3RSxRQUFBLFdBQVcsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQzs7SUFHekMsUUFBQSxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQzs7WUFHdkMsTUFBTSx3QkFBd0IsR0FBYSxFQUFFLENBQUM7O1lBRzlDLE1BQU0sd0JBQXdCLEdBQWEsRUFBRSxDQUFDOztJQUc5QyxRQUFBO0lBQ0UsWUFBQSxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7Z0JBQy9DLE1BQU0sYUFBYSxHQUFHLElBQUssa0JBQWtCLENBQUMsV0FBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFN0YsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRWxCLFlBQUEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUNsRCxnQkFBQSxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU1QyxnQkFBQSxJQUFJLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDdkQsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO0lBQ3BCLG9CQUFBLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUNwRCxvQkFBQSx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxhQUFhLENBQUM7d0JBQ3BELFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDckIsb0JBQUEsU0FBUyxFQUFFLENBQUM7SUFDYixpQkFBQTtJQUNELGdCQUFBLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDN0IsYUFBQTtJQUVELFlBQUEsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJd0IscUJBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsU0FBQTs7SUFHRCxRQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsS0FBSTtnQkFDekQsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBMEIsQ0FBQztnQkFFdEYsSUFBSyxpQkFBeUIsQ0FBQyw0QkFBNEIsRUFBRTtJQUMzRCxnQkFBQSxNQUFNLElBQUksS0FBSyxDQUFDLHdFQUF3RSxDQUFDLENBQUM7SUFDM0YsYUFBQTtJQUVELFlBQUEsTUFBTSxzQkFBc0IsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDdkQsWUFBQSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLGlCQUFpQixDQUFDO0lBRW5ELFlBQUEsTUFBTSxpQkFBaUIsR0FBRyxJQUFLLHNCQUFzQixDQUFDLFdBQW1CLENBQ3ZFLHdCQUF3QixDQUFDLE1BQU0sR0FBRyxRQUFRLENBQzNDLENBQUM7Z0JBRUYsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSTtvQkFDcEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUNqQyxvQkFBQSxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLHNCQUFzQixDQUFDLGFBQWEsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUYsaUJBQUE7SUFDSCxhQUFDLENBQUMsQ0FBQztJQUVILFlBQUEsV0FBVyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSUEscUJBQWUsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN4RyxTQUFDLENBQUMsQ0FBQzs7O1lBSUgsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBRXZCLFFBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxLQUFJO0lBQzlELFlBQUEsV0FBVyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBRWhELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsWUFBQSxLQUFLLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtJQUNyRCxnQkFBQSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQTBCLENBQUM7b0JBRWxFLElBQUssaUJBQXlCLENBQUMsNEJBQTRCLEVBQUU7SUFDM0Qsb0JBQUEsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RUFBd0UsQ0FBQyxDQUFDO0lBQzNGLGlCQUFBO0lBRUQsZ0JBQUEsTUFBTSxzQkFBc0IsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDdkQsZ0JBQUEsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztJQUVuRCxnQkFBQSxNQUFNLGlCQUFpQixHQUFHLElBQUssc0JBQXNCLENBQUMsV0FBbUIsQ0FDdkUsd0JBQXdCLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FDM0MsQ0FBQztvQkFFRix3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFJO3dCQUNwRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ2pDLHdCQUFBLGlCQUFpQixDQUFDLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsc0JBQXNCLENBQUMsYUFBYSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RixxQkFBQTtJQUNILGlCQUFDLENBQUMsQ0FBQztJQUVILGdCQUFBLFdBQVcsR0FBRyxXQUFXLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBUyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU3RSxnQkFBQSxXQUFXLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUlBLHFCQUFlLENBQ3RFLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsVUFBVSxDQUNYLENBQUM7SUFDSCxhQUFBO0lBQ0gsU0FBQyxDQUFDLENBQUM7O0lBR0gsUUFBQSxJQUFJLFdBQVcsRUFBRTtJQUNmLFlBQUEsV0FBVyxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDbEMsU0FBQTtJQUVELFFBQUEsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUM7SUFDOUIsS0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLEtBQUk7WUFDMUQsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsS0FBQyxDQUFDLENBQUM7SUFDTDs7SUNoS0E7Ozs7SUFJRztJQUNHLFNBQVUsVUFBVSxDQUFDLEdBQVEsRUFBQTs7UUFDakMsSUFBSSxDQUFBLE1BQUEsR0FBRyxDQUFDLElBQUksTUFBRSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsQ0FBQSxXQUFXLE1BQUssR0FBRyxFQUFFO1lBQ2pDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2hDLEtBQUE7SUFDSDs7VUNOYSxRQUFRLENBQUE7SUFDbkIsSUFBQSxXQUFBLEdBQUE7O1NBRUM7O0lBRWEsUUFBVyxDQUFBLFdBQUEsR0FBRyxXQUFXLENBQUM7SUFDMUIsUUFBdUIsQ0FBQSx1QkFBQSxHQUFHLHVCQUF1QixDQUFDO0lBQ2xELFFBQXlCLENBQUEseUJBQUEsR0FBRyx5QkFBeUIsQ0FBQztJQUN0RCxRQUFVLENBQUEsVUFBQSxHQUFHLFVBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==