| Server IP : 85.158.181.41 / Your IP : 216.73.217.12 Web Server : Apache System : Linux cloud9-vm129 6.1.178+1-ph #ph SMP PREEMPT_DYNAMIC Wed Jul 29 09:00:54 UTC 2026 x86_64 User : moncbefd ( 1024) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/moncbefd/www.moneta.at/StyleEdit3/assets/javascript/ |
Upload File : |
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
(function (global){
"use strict";
require("core-js/shim");
require("regenerator-runtime/runtime");
require("core-js/fn/regexp/escape");
if (global._babelPolyfill) {
throw new Error("only one instance of babel-polyfill is allowed");
}
global._babelPolyfill = true;
var DEFINE_PROPERTY = "defineProperty";
function define(O, key, value) {
O[key] || Object[DEFINE_PROPERTY](O, key, {
writable: true,
configurable: true,
value: value
});
}
define(String.prototype, "padLeft", "".padStart);
define(String.prototype, "padRight", "".padEnd);
"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function (key) {
[][key] && define(Array, key, Function.call.bind([][key]));
});
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"core-js/fn/regexp/escape":2,"core-js/shim":329,"regenerator-runtime/runtime":330}],2:[function(require,module,exports){
require('../../modules/core.regexp.escape');
module.exports = require('../../modules/_core').RegExp.escape;
},{"../../modules/_core":24,"../../modules/core.regexp.escape":131}],3:[function(require,module,exports){
module.exports = function (it) {
if (typeof it != 'function') throw TypeError(it + ' is not a function!');
return it;
};
},{}],4:[function(require,module,exports){
var cof = require('./_cof');
module.exports = function (it, msg) {
if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);
return +it;
};
},{"./_cof":19}],5:[function(require,module,exports){
// 22.1.3.31 Array.prototype[@@unscopables]
var UNSCOPABLES = require('./_wks')('unscopables');
var ArrayProto = Array.prototype;
if (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});
module.exports = function (key) {
ArrayProto[UNSCOPABLES][key] = true;
};
},{"./_hide":43,"./_wks":129}],6:[function(require,module,exports){
'use strict';
var at = require('./_string-at')(true);
// `AdvanceStringIndex` abstract operation
// https://tc39.github.io/ecma262/#sec-advancestringindex
module.exports = function (S, index, unicode) {
return index + (unicode ? at(S, index).length : 1);
};
},{"./_string-at":106}],7:[function(require,module,exports){
module.exports = function (it, Constructor, name, forbiddenField) {
if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
throw TypeError(name + ': incorrect invocation!');
} return it;
};
},{}],8:[function(require,module,exports){
var isObject = require('./_is-object');
module.exports = function (it) {
if (!isObject(it)) throw TypeError(it + ' is not an object!');
return it;
};
},{"./_is-object":52}],9:[function(require,module,exports){
// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
'use strict';
var toObject = require('./_to-object');
var toAbsoluteIndex = require('./_to-absolute-index');
var toLength = require('./_to-length');
module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
var O = toObject(this);
var len = toLength(O.length);
var to = toAbsoluteIndex(target, len);
var from = toAbsoluteIndex(start, len);
var end = arguments.length > 2 ? arguments[2] : undefined;
var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
var inc = 1;
if (from < to && to < from + count) {
inc = -1;
from += count - 1;
to += count - 1;
}
while (count-- > 0) {
if (from in O) O[to] = O[from];
else delete O[to];
to += inc;
from += inc;
} return O;
};
},{"./_to-absolute-index":114,"./_to-length":118,"./_to-object":119}],10:[function(require,module,exports){
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
'use strict';
var toObject = require('./_to-object');
var toAbsoluteIndex = require('./_to-absolute-index');
var toLength = require('./_to-length');
module.exports = function fill(value /* , start = 0, end = @length */) {
var O = toObject(this);
var length = toLength(O.length);
var aLen = arguments.length;
var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);
var end = aLen > 2 ? arguments[2] : undefined;
var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
while (endPos > index) O[index++] = value;
return O;
};
},{"./_to-absolute-index":114,"./_to-length":118,"./_to-object":119}],11:[function(require,module,exports){
var forOf = require('./_for-of');
module.exports = function (iter, ITERATOR) {
var result = [];
forOf(iter, false, result.push, result, ITERATOR);
return result;
};
},{"./_for-of":40}],12:[function(require,module,exports){
// false -> Array#indexOf
// true -> Array#includes
var toIObject = require('./_to-iobject');
var toLength = require('./_to-length');
var toAbsoluteIndex = require('./_to-absolute-index');
module.exports = function (IS_INCLUDES) {
return function ($this, el, fromIndex) {
var O = toIObject($this);
var length = toLength(O.length);
var index = toAbsoluteIndex(fromIndex, length);
var value;
// Array#includes uses SameValueZero equality algorithm
// eslint-disable-next-line no-self-compare
if (IS_INCLUDES && el != el) while (length > index) {
value = O[index++];
// eslint-disable-next-line no-self-compare
if (value != value) return true;
// Array#indexOf ignores holes, Array#includes - not
} else for (;length > index; index++) if (IS_INCLUDES || index in O) {
if (O[index] === el) return IS_INCLUDES || index || 0;
} return !IS_INCLUDES && -1;
};
};
},{"./_to-absolute-index":114,"./_to-iobject":117,"./_to-length":118}],13:[function(require,module,exports){
// 0 -> Array#forEach
// 1 -> Array#map
// 2 -> Array#filter
// 3 -> Array#some
// 4 -> Array#every
// 5 -> Array#find
// 6 -> Array#findIndex
var ctx = require('./_ctx');
var IObject = require('./_iobject');
var toObject = require('./_to-object');
var toLength = require('./_to-length');
var asc = require('./_array-species-create');
module.exports = function (TYPE, $create) {
var IS_MAP = TYPE == 1;
var IS_FILTER = TYPE == 2;
var IS_SOME = TYPE == 3;
var IS_EVERY = TYPE == 4;
var IS_FIND_INDEX = TYPE == 6;
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
var create = $create || asc;
return function ($this, callbackfn, that) {
var O = toObject($this);
var self = IObject(O);
var f = ctx(callbackfn, that, 3);
var length = toLength(self.length);
var index = 0;
var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
var val, res;
for (;length > index; index++) if (NO_HOLES || index in self) {
val = self[index];
res = f(val, index, O);
if (TYPE) {
if (IS_MAP) result[index] = res; // map
else if (res) switch (TYPE) {
case 3: return true; // some
case 5: return val; // find
case 6: return index; // findIndex
case 2: result.push(val); // filter
} else if (IS_EVERY) return false; // every
}
}
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
};
};
},{"./_array-species-create":16,"./_ctx":26,"./_iobject":48,"./_to-length":118,"./_to-object":119}],14:[function(require,module,exports){
var aFunction = require('./_a-function');
var toObject = require('./_to-object');
var IObject = require('./_iobject');
var toLength = require('./_to-length');
module.exports = function (that, callbackfn, aLen, memo, isRight) {
aFunction(callbackfn);
var O = toObject(that);
var self = IObject(O);
var length = toLength(O.length);
var index = isRight ? length - 1 : 0;
var i = isRight ? -1 : 1;
if (aLen < 2) for (;;) {
if (index in self) {
memo = self[index];
index += i;
break;
}
index += i;
if (isRight ? index < 0 : length <= index) {
throw TypeError('Reduce of empty array with no initial value');
}
}
for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {
memo = callbackfn(memo, self[index], index, O);
}
return memo;
};
},{"./_a-function":3,"./_iobject":48,"./_to-length":118,"./_to-object":119}],15:[function(require,module,exports){
var isObject = require('./_is-object');
var isArray = require('./_is-array');
var SPECIES = require('./_wks')('species');
module.exports = function (original) {
var C;
if (isArray(original)) {
C = original.constructor;
// cross-realm fallback
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
if (isObject(C)) {
C = C[SPECIES];
if (C === null) C = undefined;
}
} return C === undefined ? Array : C;
};
},{"./_is-array":50,"./_is-object":52,"./_wks":129}],16:[function(require,module,exports){
// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
var speciesConstructor = require('./_array-species-constructor');
module.exports = function (original, length) {
return new (speciesConstructor(original))(length);
};
},{"./_array-species-constructor":15}],17:[function(require,module,exports){
'use strict';
var aFunction = require('./_a-function');
var isObject = require('./_is-object');
var invoke = require('./_invoke');
var arraySlice = [].slice;
var factories = {};
var construct = function (F, len, args) {
if (!(len in factories)) {
for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';
// eslint-disable-next-line no-new-func
factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
} return factories[len](F, args);
};
module.exports = Function.bind || function bind(that /* , ...args */) {
var fn = aFunction(this);
var partArgs = arraySlice.call(arguments, 1);
var bound = function (/* args... */) {
var args = partArgs.concat(arraySlice.call(arguments));
return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
};
if (isObject(fn.prototype)) bound.prototype = fn.prototype;
return bound;
};
},{"./_a-function":3,"./_invoke":47,"./_is-object":52}],18:[function(require,module,exports){
// getting tag from 19.1.3.6 Object.prototype.toString()
var cof = require('./_cof');
var TAG = require('./_wks')('toStringTag');
// ES3 wrong here
var ARG = cof(function () { return arguments; }()) == 'Arguments';
// fallback for IE11 Script Access Denied error
var tryGet = function (it, key) {
try {
return it[key];
} catch (e) { /* empty */ }
};
module.exports = function (it) {
var O, T, B;
return it === undefined ? 'Undefined' : it === null ? 'Null'
// @@toStringTag case
: typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
// builtinTag case
: ARG ? cof(O)
// ES3 arguments fallback
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
};
},{"./_cof":19,"./_wks":129}],19:[function(require,module,exports){
var toString = {}.toString;
module.exports = function (it) {
return toString.call(it).slice(8, -1);
};
},{}],20:[function(require,module,exports){
'use strict';
var dP = require('./_object-dp').f;
var create = require('./_object-create');
var redefineAll = require('./_redefine-all');
var ctx = require('./_ctx');
var anInstance = require('./_an-instance');
var forOf = require('./_for-of');
var $iterDefine = require('./_iter-define');
var step = require('./_iter-step');
var setSpecies = require('./_set-species');
var DESCRIPTORS = require('./_descriptors');
var fastKey = require('./_meta').fastKey;
var validate = require('./_validate-collection');
var SIZE = DESCRIPTORS ? '_s' : 'size';
var getEntry = function (that, key) {
// fast case
var index = fastKey(key);
var entry;
if (index !== 'F') return that._i[index];
// frozen object case
for (entry = that._f; entry; entry = entry.n) {
if (entry.k == key) return entry;
}
};
module.exports = {
getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
var C = wrapper(function (that, iterable) {
anInstance(that, C, NAME, '_i');
that._t = NAME; // collection type
that._i = create(null); // index
that._f = undefined; // first entry
that._l = undefined; // last entry
that[SIZE] = 0; // size
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
});
redefineAll(C.prototype, {
// 23.1.3.1 Map.prototype.clear()
// 23.2.3.2 Set.prototype.clear()
clear: function clear() {
for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
entry.r = true;
if (entry.p) entry.p = entry.p.n = undefined;
delete data[entry.i];
}
that._f = that._l = undefined;
that[SIZE] = 0;
},
// 23.1.3.3 Map.prototype.delete(key)
// 23.2.3.4 Set.prototype.delete(value)
'delete': function (key) {
var that = validate(this, NAME);
var entry = getEntry(that, key);
if (entry) {
var next = entry.n;
var prev = entry.p;
delete that._i[entry.i];
entry.r = true;
if (prev) prev.n = next;
if (next) next.p = prev;
if (that._f == entry) that._f = next;
if (that._l == entry) that._l = prev;
that[SIZE]--;
} return !!entry;
},
// 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
// 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
forEach: function forEach(callbackfn /* , that = undefined */) {
validate(this, NAME);
var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
var entry;
while (entry = entry ? entry.n : this._f) {
f(entry.v, entry.k, this);
// revert to the last existing entry
while (entry && entry.r) entry = entry.p;
}
},
// 23.1.3.7 Map.prototype.has(key)
// 23.2.3.7 Set.prototype.has(value)
has: function has(key) {
return !!getEntry(validate(this, NAME), key);
}
});
if (DESCRIPTORS) dP(C.prototype, 'size', {
get: function () {
return validate(this, NAME)[SIZE];
}
});
return C;
},
def: function (that, key, value) {
var entry = getEntry(that, key);
var prev, index;
// change existing entry
if (entry) {
entry.v = value;
// create new entry
} else {
that._l = entry = {
i: index = fastKey(key, true), // <- index
k: key, // <- key
v: value, // <- value
p: prev = that._l, // <- previous entry
n: undefined, // <- next entry
r: false // <- removed
};
if (!that._f) that._f = entry;
if (prev) prev.n = entry;
that[SIZE]++;
// add to index
if (index !== 'F') that._i[index] = entry;
} return that;
},
getEntry: getEntry,
setStrong: function (C, NAME, IS_MAP) {
// add .keys, .values, .entries, [@@iterator]
// 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
$iterDefine(C, NAME, function (iterated, kind) {
this._t = validate(iterated, NAME); // target
this._k = kind; // kind
this._l = undefined; // previous
}, function () {
var that = this;
var kind = that._k;
var entry = that._l;
// revert to the last existing entry
while (entry && entry.r) entry = entry.p;
// get next entry
if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
// or finish the iteration
that._t = undefined;
return step(1);
}
// return step by kind
if (kind == 'keys') return step(0, entry.k);
if (kind == 'values') return step(0, entry.v);
return step(0, [entry.k, entry.v]);
}, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
// add [@@species], 23.1.2.2, 23.2.2.2
setSpecies(NAME);
}
};
},{"./_an-instance":7,"./_ctx":26,"./_descriptors":30,"./_for-of":40,"./_iter-define":56,"./_iter-step":58,"./_meta":66,"./_object-create":71,"./_object-dp":72,"./_redefine-all":91,"./_set-species":100,"./_validate-collection":126}],21:[function(require,module,exports){
// https://github.com/DavidBruant/Map-Set.prototype.toJSON
var classof = require('./_classof');
var from = require('./_array-from-iterable');
module.exports = function (NAME) {
return function toJSON() {
if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
return from(this);
};
};
},{"./_array-from-iterable":11,"./_classof":18}],22:[function(require,module,exports){
'use strict';
var redefineAll = require('./_redefine-all');
var getWeak = require('./_meta').getWeak;
var anObject = require('./_an-object');
var isObject = require('./_is-object');
var anInstance = require('./_an-instance');
var forOf = require('./_for-of');
var createArrayMethod = require('./_array-methods');
var $has = require('./_has');
var validate = require('./_validate-collection');
var arrayFind = createArrayMethod(5);
var arrayFindIndex = createArrayMethod(6);
var id = 0;
// fallback for uncaught frozen keys
var uncaughtFrozenStore = function (that) {
return that._l || (that._l = new UncaughtFrozenStore());
};
var UncaughtFrozenStore = function () {
this.a = [];
};
var findUncaughtFrozen = function (store, key) {
return arrayFind(store.a, function (it) {
return it[0] === key;
});
};
UncaughtFrozenStore.prototype = {
get: function (key) {
var entry = findUncaughtFrozen(this, key);
if (entry) return entry[1];
},
has: function (key) {
return !!findUncaughtFrozen(this, key);
},
set: function (key, value) {
var entry = findUncaughtFrozen(this, key);
if (entry) entry[1] = value;
else this.a.push([key, value]);
},
'delete': function (key) {
var index = arrayFindIndex(this.a, function (it) {
return it[0] === key;
});
if (~index) this.a.splice(index, 1);
return !!~index;
}
};
module.exports = {
getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
var C = wrapper(function (that, iterable) {
anInstance(that, C, NAME, '_i');
that._t = NAME; // collection type
that._i = id++; // collection id
that._l = undefined; // leak store for uncaught frozen objects
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
});
redefineAll(C.prototype, {
// 23.3.3.2 WeakMap.prototype.delete(key)
// 23.4.3.3 WeakSet.prototype.delete(value)
'delete': function (key) {
if (!isObject(key)) return false;
var data = getWeak(key);
if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);
return data && $has(data, this._i) && delete data[this._i];
},
// 23.3.3.4 WeakMap.prototype.has(key)
// 23.4.3.4 WeakSet.prototype.has(value)
has: function has(key) {
if (!isObject(key)) return false;
var data = getWeak(key);
if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);
return data && $has(data, this._i);
}
});
return C;
},
def: function (that, key, value) {
var data = getWeak(anObject(key), true);
if (data === true) uncaughtFrozenStore(that).set(key, value);
else data[that._i] = value;
return that;
},
ufstore: uncaughtFrozenStore
};
},{"./_an-instance":7,"./_an-object":8,"./_array-methods":13,"./_for-of":40,"./_has":42,"./_is-object":52,"./_meta":66,"./_redefine-all":91,"./_validate-collection":126}],23:[function(require,module,exports){
'use strict';
var global = require('./_global');
var $export = require('./_export');
var redefine = require('./_redefine');
var redefineAll = require('./_redefine-all');
var meta = require('./_meta');
var forOf = require('./_for-of');
var anInstance = require('./_an-instance');
var isObject = require('./_is-object');
var fails = require('./_fails');
var $iterDetect = require('./_iter-detect');
var setToStringTag = require('./_set-to-string-tag');
var inheritIfRequired = require('./_inherit-if-required');
module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
var Base = global[NAME];
var C = Base;
var ADDER = IS_MAP ? 'set' : 'add';
var proto = C && C.prototype;
var O = {};
var fixMethod = function (KEY) {
var fn = proto[KEY];
redefine(proto, KEY,
KEY == 'delete' ? function (a) {
return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
} : KEY == 'has' ? function has(a) {
return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
} : KEY == 'get' ? function get(a) {
return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
} : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }
: function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }
);
};
if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
new C().entries().next();
}))) {
// create collection constructor
C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
redefineAll(C.prototype, methods);
meta.NEED = true;
} else {
var instance = new C();
// early implementations not supports chaining
var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
// V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
// most early implementations doesn't supports iterables, most modern - not close it correctly
var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new
// for early implementations -0 and +0 not the same
var BUGGY_ZERO = !IS_WEAK && fails(function () {
// V8 ~ Chromium 42- fails only with 5+ elements
var $instance = new C();
var index = 5;
while (index--) $instance[ADDER](index, index);
return !$instance.has(-0);
});
if (!ACCEPT_ITERABLES) {
C = wrapper(function (target, iterable) {
anInstance(target, C, NAME);
var that = inheritIfRequired(new Base(), target, C);
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
return that;
});
C.prototype = proto;
proto.constructor = C;
}
if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
fixMethod('delete');
fixMethod('has');
IS_MAP && fixMethod('get');
}
if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
// weak collections should not contains .clear method
if (IS_WEAK && proto.clear) delete proto.clear;
}
setToStringTag(C, NAME);
O[NAME] = C;
$export($export.G + $export.W + $export.F * (C != Base), O);
if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
return C;
};
},{"./_an-instance":7,"./_export":34,"./_fails":36,"./_for-of":40,"./_global":41,"./_inherit-if-required":46,"./_is-object":52,"./_iter-detect":57,"./_meta":66,"./_redefine":92,"./_redefine-all":91,"./_set-to-string-tag":101}],24:[function(require,module,exports){
var core = module.exports = { version: '2.6.1' };
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
},{}],25:[function(require,module,exports){
'use strict';
var $defineProperty = require('./_object-dp');
var createDesc = require('./_property-desc');
module.exports = function (object, index, value) {
if (index in object) $defineProperty.f(object, index, createDesc(0, value));
else object[index] = value;
};
},{"./_object-dp":72,"./_property-desc":90}],26:[function(require,module,exports){
// optional / simple context binding
var aFunction = require('./_a-function');
module.exports = function (fn, that, length) {
aFunction(fn);
if (that === undefined) return fn;
switch (length) {
case 1: return function (a) {
return fn.call(that, a);
};
case 2: return function (a, b) {
return fn.call(that, a, b);
};
case 3: return function (a, b, c) {
return fn.call(that, a, b, c);
};
}
return function (/* ...args */) {
return fn.apply(that, arguments);
};
};
},{"./_a-function":3}],27:[function(require,module,exports){
'use strict';
// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
var fails = require('./_fails');
var getTime = Date.prototype.getTime;
var $toISOString = Date.prototype.toISOString;
var lz = function (num) {
return num > 9 ? num : '0' + num;
};
// PhantomJS / old WebKit has a broken implementations
module.exports = (fails(function () {
return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
}) || !fails(function () {
$toISOString.call(new Date(NaN));
})) ? function toISOString() {
if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
var d = this;
var y = d.getUTCFullYear();
var m = d.getUTCMilliseconds();
var s = y < 0 ? '-' : y > 9999 ? '+' : '';
return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
'-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
} : $toISOString;
},{"./_fails":36}],28:[function(require,module,exports){
'use strict';
var anObject = require('./_an-object');
var toPrimitive = require('./_to-primitive');
var NUMBER = 'number';
module.exports = function (hint) {
if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');
return toPrimitive(anObject(this), hint != NUMBER);
};
},{"./_an-object":8,"./_to-primitive":120}],29:[function(require,module,exports){
// 7.2.1 RequireObjectCoercible(argument)
module.exports = function (it) {
if (it == undefined) throw TypeError("Can't call method on " + it);
return it;
};
},{}],30:[function(require,module,exports){
// Thank's IE8 for his funny defineProperty
module.exports = !require('./_fails')(function () {
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
});
},{"./_fails":36}],31:[function(require,module,exports){
var isObject = require('./_is-object');
var document = require('./_global').document;
// typeof document.createElement is 'object' in old IE
var is = isObject(document) && isObject(document.createElement);
module.exports = function (it) {
return is ? document.createElement(it) : {};
};
},{"./_global":41,"./_is-object":52}],32:[function(require,module,exports){
// IE 8- don't enum bug keys
module.exports = (
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
).split(',');
},{}],33:[function(require,module,exports){
// all enumerable object keys, includes symbols
var getKeys = require('./_object-keys');
var gOPS = require('./_object-gops');
var pIE = require('./_object-pie');
module.exports = function (it) {
var result = getKeys(it);
var getSymbols = gOPS.f;
if (getSymbols) {
var symbols = getSymbols(it);
var isEnum = pIE.f;
var i = 0;
var key;
while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
} return result;
};
},{"./_object-gops":78,"./_object-keys":81,"./_object-pie":82}],34:[function(require,module,exports){
var global = require('./_global');
var core = require('./_core');
var hide = require('./_hide');
var redefine = require('./_redefine');
var ctx = require('./_ctx');
var PROTOTYPE = 'prototype';
var $export = function (type, name, source) {
var IS_FORCED = type & $export.F;
var IS_GLOBAL = type & $export.G;
var IS_STATIC = type & $export.S;
var IS_PROTO = type & $export.P;
var IS_BIND = type & $export.B;
var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
var key, own, out, exp;
if (IS_GLOBAL) source = name;
for (key in source) {
// contains in native
own = !IS_FORCED && target && target[key] !== undefined;
// export native or passed
out = (own ? target : source)[key];
// bind timers to global for call from export context
exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
// extend global
if (target) redefine(target, key, out, type & $export.U);
// export
if (exports[key] != out) hide(exports, key, exp);
if (IS_PROTO && expProto[key] != out) expProto[key] = out;
}
};
global.core = core;
// type bitmap
$export.F = 1; // forced
$export.G = 2; // global
$export.S = 4; // static
$export.P = 8; // proto
$export.B = 16; // bind
$export.W = 32; // wrap
$export.U = 64; // safe
$export.R = 128; // real proto method for `library`
module.exports = $export;
},{"./_core":24,"./_ctx":26,"./_global":41,"./_hide":43,"./_redefine":92}],35:[function(require,module,exports){
var MATCH = require('./_wks')('match');
module.exports = function (KEY) {
var re = /./;
try {
'/./'[KEY](re);
} catch (e) {
try {
re[MATCH] = false;
return !'/./'[KEY](re);
} catch (f) { /* empty */ }
} return true;
};
},{"./_wks":129}],36:[function(require,module,exports){
module.exports = function (exec) {
try {
return !!exec();
} catch (e) {
return true;
}
};
},{}],37:[function(require,module,exports){
'use strict';
require('./es6.regexp.exec');
var redefine = require('./_redefine');
var hide = require('./_hide');
var fails = require('./_fails');
var defined = require('./_defined');
var wks = require('./_wks');
var regexpExec = require('./_regexp-exec');
var SPECIES = wks('species');
var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
// #replace needs built-in support for named groups.
// #match works fine because it just return the exec results, even if it has
// a "grops" property.
var re = /./;
re.exec = function () {
var result = [];
result.groups = { a: '7' };
return result;
};
return ''.replace(re, '$<a>') !== '7';
});
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {
// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
var re = /(?:)/;
var originalExec = re.exec;
re.exec = function () { return originalExec.apply(this, arguments); };
var result = 'ab'.split(re);
return result.length === 2 && result[0] === 'a' && result[1] === 'b';
})();
module.exports = function (KEY, length, exec) {
var SYMBOL = wks(KEY);
var DELEGATES_TO_SYMBOL = !fails(function () {
// String methods call symbol-named RegEp methods
var O = {};
O[SYMBOL] = function () { return 7; };
return ''[KEY](O) != 7;
});
var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {
// Symbol-named RegExp methods call .exec
var execCalled = false;
var re = /a/;
re.exec = function () { execCalled = true; return null; };
if (KEY === 'split') {
// RegExp[@@split] doesn't call the regex's exec method, but first creates
// a new one. We need to return the patched regex when creating the new one.
re.constructor = {};
re.constructor[SPECIES] = function () { return re; };
}
re[SYMBOL]('');
return !execCalled;
}) : undefined;
if (
!DELEGATES_TO_SYMBOL ||
!DELEGATES_TO_EXEC ||
(KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||
(KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
) {
var nativeRegExpMethod = /./[SYMBOL];
var fns = exec(
defined,
SYMBOL,
''[KEY],
function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {
if (regexp.exec === regexpExec) {
if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
// The native String method already delegates to @@method (this
// polyfilled function), leasing to infinite recursion.
// We avoid it by directly calling the native @@method method.
return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
}
return { done: true, value: nativeMethod.call(str, regexp, arg2) };
}
return { done: false };
}
);
var strfn = fns[0];
var rxfn = fns[1];
redefine(String.prototype, KEY, strfn);
hide(RegExp.prototype, SYMBOL, length == 2
// 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
// 21.2.5.11 RegExp.prototype[@@split](string, limit)
? function (string, arg) { return rxfn.call(string, this, arg); }
// 21.2.5.6 RegExp.prototype[@@match](string)
// 21.2.5.9 RegExp.prototype[@@search](string)
: function (string) { return rxfn.call(string, this); }
);
}
};
},{"./_defined":29,"./_fails":36,"./_hide":43,"./_redefine":92,"./_regexp-exec":94,"./_wks":129,"./es6.regexp.exec":226}],38:[function(require,module,exports){
'use strict';
// 21.2.5.3 get RegExp.prototype.flags
var anObject = require('./_an-object');
module.exports = function () {
var that = anObject(this);
var result = '';
if (that.global) result += 'g';
if (that.ignoreCase) result += 'i';
if (that.multiline) result += 'm';
if (that.unicode) result += 'u';
if (that.sticky) result += 'y';
return result;
};
},{"./_an-object":8}],39:[function(require,module,exports){
'use strict';
// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
var isArray = require('./_is-array');
var isObject = require('./_is-object');
var toLength = require('./_to-length');
var ctx = require('./_ctx');
var IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');
function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {
var targetIndex = start;
var sourceIndex = 0;
var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;
var element, spreadable;
while (sourceIndex < sourceLen) {
if (sourceIndex in source) {
element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
spreadable = false;
if (isObject(element)) {
spreadable = element[IS_CONCAT_SPREADABLE];
spreadable = spreadable !== undefined ? !!spreadable : isArray(element);
}
if (spreadable && depth > 0) {
targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
} else {
if (targetIndex >= 0x1fffffffffffff) throw TypeError();
target[targetIndex] = element;
}
targetIndex++;
}
sourceIndex++;
}
return targetIndex;
}
module.exports = flattenIntoArray;
},{"./_ctx":26,"./_is-array":50,"./_is-object":52,"./_to-length":118,"./_wks":129}],40:[function(require,module,exports){
var ctx = require('./_ctx');
var call = require('./_iter-call');
var isArrayIter = require('./_is-array-iter');
var anObject = require('./_an-object');
var toLength = require('./_to-length');
var getIterFn = require('./core.get-iterator-method');
var BREAK = {};
var RETURN = {};
var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
var f = ctx(fn, that, entries ? 2 : 1);
var index = 0;
var length, step, iterator, result;
if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
// fast case for arrays with default iterator
if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
if (result === BREAK || result === RETURN) return result;
} else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
result = call(iterator, f, step.value, entries);
if (result === BREAK || result === RETURN) return result;
}
};
exports.BREAK = BREAK;
exports.RETURN = RETURN;
},{"./_an-object":8,"./_ctx":26,"./_is-array-iter":49,"./_iter-call":54,"./_to-length":118,"./core.get-iterator-method":130}],41:[function(require,module,exports){
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global = module.exports = typeof window != 'undefined' && window.Math == Math
? window : typeof self != 'undefined' && self.Math == Math ? self
// eslint-disable-next-line no-new-func
: Function('return this')();
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
},{}],42:[function(require,module,exports){
var hasOwnProperty = {}.hasOwnProperty;
module.exports = function (it, key) {
return hasOwnProperty.call(it, key);
};
},{}],43:[function(require,module,exports){
var dP = require('./_object-dp');
var createDesc = require('./_property-desc');
module.exports = require('./_descriptors') ? function (object, key, value) {
return dP.f(object, key, createDesc(1, value));
} : function (object, key, value) {
object[key] = value;
return object;
};
},{"./_descriptors":30,"./_object-dp":72,"./_property-desc":90}],44:[function(require,module,exports){
var document = require('./_global').document;
module.exports = document && document.documentElement;
},{"./_global":41}],45:[function(require,module,exports){
module.exports = !require('./_descriptors') && !require('./_fails')(function () {
return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;
});
},{"./_descriptors":30,"./_dom-create":31,"./_fails":36}],46:[function(require,module,exports){
var isObject = require('./_is-object');
var setPrototypeOf = require('./_set-proto').set;
module.exports = function (that, target, C) {
var S = target.constructor;
var P;
if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {
setPrototypeOf(that, P);
} return that;
};
},{"./_is-object":52,"./_set-proto":99}],47:[function(require,module,exports){
// fast apply, http://jsperf.lnkit.com/fast-apply/5
module.exports = function (fn, args, that) {
var un = that === undefined;
switch (args.length) {
case 0: return un ? fn()
: fn.call(that);
case 1: return un ? fn(args[0])
: fn.call(that, args[0]);
case 2: return un ? fn(args[0], args[1])
: fn.call(that, args[0], args[1]);
case 3: return un ? fn(args[0], args[1], args[2])
: fn.call(that, args[0], args[1], args[2]);
case 4: return un ? fn(args[0], args[1], args[2], args[3])
: fn.call(that, args[0], args[1], args[2], args[3]);
} return fn.apply(that, args);
};
},{}],48:[function(require,module,exports){
// fallback for non-array-like ES3 and non-enumerable old V8 strings
var cof = require('./_cof');
// eslint-disable-next-line no-prototype-builtins
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
return cof(it) == 'String' ? it.split('') : Object(it);
};
},{"./_cof":19}],49:[function(require,module,exports){
// check on default Array iterator
var Iterators = require('./_iterators');
var ITERATOR = require('./_wks')('iterator');
var ArrayProto = Array.prototype;
module.exports = function (it) {
return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
};
},{"./_iterators":59,"./_wks":129}],50:[function(require,module,exports){
// 7.2.2 IsArray(argument)
var cof = require('./_cof');
module.exports = Array.isArray || function isArray(arg) {
return cof(arg) == 'Array';
};
},{"./_cof":19}],51:[function(require,module,exports){
// 20.1.2.3 Number.isInteger(number)
var isObject = require('./_is-object');
var floor = Math.floor;
module.exports = function isInteger(it) {
return !isObject(it) && isFinite(it) && floor(it) === it;
};
},{"./_is-object":52}],52:[function(require,module,exports){
module.exports = function (it) {
return typeof it === 'object' ? it !== null : typeof it === 'function';
};
},{}],53:[function(require,module,exports){
// 7.2.8 IsRegExp(argument)
var isObject = require('./_is-object');
var cof = require('./_cof');
var MATCH = require('./_wks')('match');
module.exports = function (it) {
var isRegExp;
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
};
},{"./_cof":19,"./_is-object":52,"./_wks":129}],54:[function(require,module,exports){
// call something on iterator step with safe closing on error
var anObject = require('./_an-object');
module.exports = function (iterator, fn, value, entries) {
try {
return entries ? fn(anObject(value)[0], value[1]) : fn(value);
// 7.4.6 IteratorClose(iterator, completion)
} catch (e) {
var ret = iterator['return'];
if (ret !== undefined) anObject(ret.call(iterator));
throw e;
}
};
},{"./_an-object":8}],55:[function(require,module,exports){
'use strict';
var create = require('./_object-create');
var descriptor = require('./_property-desc');
var setToStringTag = require('./_set-to-string-tag');
var IteratorPrototype = {};
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
require('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });
module.exports = function (Constructor, NAME, next) {
Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
setToStringTag(Constructor, NAME + ' Iterator');
};
},{"./_hide":43,"./_object-create":71,"./_property-desc":90,"./_set-to-string-tag":101,"./_wks":129}],56:[function(require,module,exports){
'use strict';
var LIBRARY = require('./_library');
var $export = require('./_export');
var redefine = require('./_redefine');
var hide = require('./_hide');
var Iterators = require('./_iterators');
var $iterCreate = require('./_iter-create');
var setToStringTag = require('./_set-to-string-tag');
var getPrototypeOf = require('./_object-gpo');
var ITERATOR = require('./_wks')('iterator');
var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
var FF_ITERATOR = '@@iterator';
var KEYS = 'keys';
var VALUES = 'values';
var returnThis = function () { return this; };
module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
$iterCreate(Constructor, NAME, next);
var getMethod = function (kind) {
if (!BUGGY && kind in proto) return proto[kind];
switch (kind) {
case KEYS: return function keys() { return new Constructor(this, kind); };
case VALUES: return function values() { return new Constructor(this, kind); };
} return function entries() { return new Constructor(this, kind); };
};
var TAG = NAME + ' Iterator';
var DEF_VALUES = DEFAULT == VALUES;
var VALUES_BUG = false;
var proto = Base.prototype;
var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
var $default = $native || getMethod(DEFAULT);
var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
var methods, key, IteratorPrototype;
// Fix native
if ($anyNative) {
IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
// Set @@toStringTag to native iterators
setToStringTag(IteratorPrototype, TAG, true);
// fix for some old engines
if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
}
}
// fix Array#{values, @@iterator}.name in V8 / FF
if (DEF_VALUES && $native && $native.name !== VALUES) {
VALUES_BUG = true;
$default = function values() { return $native.call(this); };
}
// Define iterator
if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
hide(proto, ITERATOR, $default);
}
// Plug for library
Iterators[NAME] = $default;
Iterators[TAG] = returnThis;
if (DEFAULT) {
methods = {
values: DEF_VALUES ? $default : getMethod(VALUES),
keys: IS_SET ? $default : getMethod(KEYS),
entries: $entries
};
if (FORCED) for (key in methods) {
if (!(key in proto)) redefine(proto, key, methods[key]);
} else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
}
return methods;
};
},{"./_export":34,"./_hide":43,"./_iter-create":55,"./_iterators":59,"./_library":60,"./_object-gpo":79,"./_redefine":92,"./_set-to-string-tag":101,"./_wks":129}],57:[function(require,module,exports){
var ITERATOR = require('./_wks')('iterator');
var SAFE_CLOSING = false;
try {
var riter = [7][ITERATOR]();
riter['return'] = function () { SAFE_CLOSING = true; };
// eslint-disable-next-line no-throw-literal
Array.from(riter, function () { throw 2; });
} catch (e) { /* empty */ }
module.exports = function (exec, skipClosing) {
if (!skipClosing && !SAFE_CLOSING) return false;
var safe = false;
try {
var arr = [7];
var iter = arr[ITERATOR]();
iter.next = function () { return { done: safe = true }; };
arr[ITERATOR] = function () { return iter; };
exec(arr);
} catch (e) { /* empty */ }
return safe;
};
},{"./_wks":129}],58:[function(require,module,exports){
module.exports = function (done, value) {
return { value: value, done: !!done };
};
},{}],59:[function(require,module,exports){
module.exports = {};
},{}],60:[function(require,module,exports){
module.exports = false;
},{}],61:[function(require,module,exports){
// 20.2.2.14 Math.expm1(x)
var $expm1 = Math.expm1;
module.exports = (!$expm1
// Old FF bug
|| $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
// Tor Browser bug
|| $expm1(-2e-17) != -2e-17
) ? function expm1(x) {
return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
} : $expm1;
},{}],62:[function(require,module,exports){
// 20.2.2.16 Math.fround(x)
var sign = require('./_math-sign');
var pow = Math.pow;
var EPSILON = pow(2, -52);
var EPSILON32 = pow(2, -23);
var MAX32 = pow(2, 127) * (2 - EPSILON32);
var MIN32 = pow(2, -126);
var roundTiesToEven = function (n) {
return n + 1 / EPSILON - 1 / EPSILON;
};
module.exports = Math.fround || function fround(x) {
var $abs = Math.abs(x);
var $sign = sign(x);
var a, result;
if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
a = (1 + EPSILON32 / EPSILON) * $abs;
result = a - (a - $abs);
// eslint-disable-next-line no-self-compare
if (result > MAX32 || result != result) return $sign * Infinity;
return $sign * result;
};
},{"./_math-sign":65}],63:[function(require,module,exports){
// 20.2.2.20 Math.log1p(x)
module.exports = Math.log1p || function log1p(x) {
return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
};
},{}],64:[function(require,module,exports){
// https://rwaldron.github.io/proposal-math-extensions/
module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
if (
arguments.length === 0
// eslint-disable-next-line no-self-compare
|| x != x
// eslint-disable-next-line no-self-compare
|| inLow != inLow
// eslint-disable-next-line no-self-compare
|| inHigh != inHigh
// eslint-disable-next-line no-self-compare
|| outLow != outLow
// eslint-disable-next-line no-self-compare
|| outHigh != outHigh
) return NaN;
if (x === Infinity || x === -Infinity) return x;
return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
};
},{}],65:[function(require,module,exports){
// 20.2.2.28 Math.sign(x)
module.exports = Math.sign || function sign(x) {
// eslint-disable-next-line no-self-compare
return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
};
},{}],66:[function(require,module,exports){
var META = require('./_uid')('meta');
var isObject = require('./_is-object');
var has = require('./_has');
var setDesc = require('./_object-dp').f;
var id = 0;
var isExtensible = Object.isExtensible || function () {
return true;
};
var FREEZE = !require('./_fails')(function () {
return isExtensible(Object.preventExtensions({}));
});
var setMeta = function (it) {
setDesc(it, META, { value: {
i: 'O' + ++id, // object ID
w: {} // weak collections IDs
} });
};
var fastKey = function (it, create) {
// return primitive with prefix
if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
if (!has(it, META)) {
// can't set metadata to uncaught frozen object
if (!isExtensible(it)) return 'F';
// not necessary to add metadata
if (!create) return 'E';
// add missing metadata
setMeta(it);
// return object ID
} return it[META].i;
};
var getWeak = function (it, create) {
if (!has(it, META)) {
// can't set metadata to uncaught frozen object
if (!isExtensible(it)) return true;
// not necessary to add metadata
if (!create) return false;
// add missing metadata
setMeta(it);
// return hash weak collections IDs
} return it[META].w;
};
// add metadata on freeze-family methods calling
var onFreeze = function (it) {
if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
return it;
};
var meta = module.exports = {
KEY: META,
NEED: false,
fastKey: fastKey,
getWeak: getWeak,
onFreeze: onFreeze
};
},{"./_fails":36,"./_has":42,"./_is-object":52,"./_object-dp":72,"./_uid":124}],67:[function(require,module,exports){
var Map = require('./es6.map');
var $export = require('./_export');
var shared = require('./_shared')('metadata');
var store = shared.store || (shared.store = new (require('./es6.weak-map'))());
var getOrCreateMetadataMap = function (target, targetKey, create) {
var targetMetadata = store.get(target);
if (!targetMetadata) {
if (!create) return undefined;
store.set(target, targetMetadata = new Map());
}
var keyMetadata = targetMetadata.get(targetKey);
if (!keyMetadata) {
if (!create) return undefined;
targetMetadata.set(targetKey, keyMetadata = new Map());
} return keyMetadata;
};
var ordinaryHasOwnMetadata = function (MetadataKey, O, P) {
var metadataMap = getOrCreateMetadataMap(O, P, false);
return metadataMap === undefined ? false : metadataMap.has(MetadataKey);
};
var ordinaryGetOwnMetadata = function (MetadataKey, O, P) {
var metadataMap = getOrCreateMetadataMap(O, P, false);
return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);
};
var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {
getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);
};
var ordinaryOwnMetadataKeys = function (target, targetKey) {
var metadataMap = getOrCreateMetadataMap(target, targetKey, false);
var keys = [];
if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });
return keys;
};
var toMetaKey = function (it) {
return it === undefined || typeof it == 'symbol' ? it : String(it);
};
var exp = function (O) {
$export($export.S, 'Reflect', O);
};
module.exports = {
store: store,
map: getOrCreateMetadataMap,
has: ordinaryHasOwnMetadata,
get: ordinaryGetOwnMetadata,
set: ordinaryDefineOwnMetadata,
keys: ordinaryOwnMetadataKeys,
key: toMetaKey,
exp: exp
};
},{"./_export":34,"./_shared":103,"./es6.map":161,"./es6.weak-map":268}],68:[function(require,module,exports){
var global = require('./_global');
var macrotask = require('./_task').set;
var Observer = global.MutationObserver || global.WebKitMutationObserver;
var process = global.process;
var Promise = global.Promise;
var isNode = require('./_cof')(process) == 'process';
module.exports = function () {
var head, last, notify;
var flush = function () {
var parent, fn;
if (isNode && (parent = process.domain)) parent.exit();
while (head) {
fn = head.fn;
head = head.next;
try {
fn();
} catch (e) {
if (head) notify();
else last = undefined;
throw e;
}
} last = undefined;
if (parent) parent.enter();
};
// Node.js
if (isNode) {
notify = function () {
process.nextTick(flush);
};
// browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
} else if (Observer && !(global.navigator && global.navigator.standalone)) {
var toggle = true;
var node = document.createTextNode('');
new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
notify = function () {
node.data = toggle = !toggle;
};
// environments with maybe non-completely correct, but existent Promise
} else if (Promise && Promise.resolve) {
// Promise.resolve without an argument throws an error in LG WebOS 2
var promise = Promise.resolve(undefined);
notify = function () {
promise.then(flush);
};
// for other environments - macrotask based on:
// - setImmediate
// - MessageChannel
// - window.postMessag
// - onreadystatechange
// - setTimeout
} else {
notify = function () {
// strange IE + webpack dev server bug - use .call(global)
macrotask.call(global, flush);
};
}
return function (fn) {
var task = { fn: fn, next: undefined };
if (last) last.next = task;
if (!head) {
head = task;
notify();
} last = task;
};
};
},{"./_cof":19,"./_global":41,"./_task":113}],69:[function(require,module,exports){
'use strict';
// 25.4.1.5 NewPromiseCapability(C)
var aFunction = require('./_a-function');
function PromiseCapability(C) {
var resolve, reject;
this.promise = new C(function ($$resolve, $$reject) {
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
resolve = $$resolve;
reject = $$reject;
});
this.resolve = aFunction(resolve);
this.reject = aFunction(reject);
}
module.exports.f = function (C) {
return new PromiseCapability(C);
};
},{"./_a-function":3}],70:[function(require,module,exports){
'use strict';
// 19.1.2.1 Object.assign(target, source, ...)
var getKeys = require('./_object-keys');
var gOPS = require('./_object-gops');
var pIE = require('./_object-pie');
var toObject = require('./_to-object');
var IObject = require('./_iobject');
var $assign = Object.assign;
// should work with symbols and should have deterministic property order (V8 bug)
module.exports = !$assign || require('./_fails')(function () {
var A = {};
var B = {};
// eslint-disable-next-line no-undef
var S = Symbol();
var K = 'abcdefghijklmnopqrst';
A[S] = 7;
K.split('').forEach(function (k) { B[k] = k; });
return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
var T = toObject(target);
var aLen = arguments.length;
var index = 1;
var getSymbols = gOPS.f;
var isEnum = pIE.f;
while (aLen > index) {
var S = IObject(arguments[index++]);
var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
var length = keys.length;
var j = 0;
var key;
while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
} return T;
} : $assign;
},{"./_fails":36,"./_iobject":48,"./_object-gops":78,"./_object-keys":81,"./_object-pie":82,"./_to-object":119}],71:[function(require,module,exports){
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
var anObject = require('./_an-object');
var dPs = require('./_object-dps');
var enumBugKeys = require('./_enum-bug-keys');
var IE_PROTO = require('./_shared-key')('IE_PROTO');
var Empty = function () { /* empty */ };
var PROTOTYPE = 'prototype';
// Create object with fake `null` prototype: use iframe Object with cleared prototype
var createDict = function () {
// Thrash, waste and sodomy: IE GC bug
var iframe = require('./_dom-create')('iframe');
var i = enumBugKeys.length;
var lt = '<';
var gt = '>';
var iframeDocument;
iframe.style.display = 'none';
require('./_html').appendChild(iframe);
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
// createDict = iframe.contentWindow.Object;
// html.removeChild(iframe);
iframeDocument = iframe.contentWindow.document;
iframeDocument.open();
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
iframeDocument.close();
createDict = iframeDocument.F;
while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
return createDict();
};
module.exports = Object.create || function create(O, Properties) {
var result;
if (O !== null) {
Empty[PROTOTYPE] = anObject(O);
result = new Empty();
Empty[PROTOTYPE] = null;
// add "__proto__" for Object.getPrototypeOf polyfill
result[IE_PROTO] = O;
} else result = createDict();
return Properties === undefined ? result : dPs(result, Properties);
};
},{"./_an-object":8,"./_dom-create":31,"./_enum-bug-keys":32,"./_html":44,"./_object-dps":73,"./_shared-key":102}],72:[function(require,module,exports){
var anObject = require('./_an-object');
var IE8_DOM_DEFINE = require('./_ie8-dom-define');
var toPrimitive = require('./_to-primitive');
var dP = Object.defineProperty;
exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {
anObject(O);
P = toPrimitive(P, true);
anObject(Attributes);
if (IE8_DOM_DEFINE) try {
return dP(O, P, Attributes);
} catch (e) { /* empty */ }
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
if ('value' in Attributes) O[P] = Attributes.value;
return O;
};
},{"./_an-object":8,"./_descriptors":30,"./_ie8-dom-define":45,"./_to-primitive":120}],73:[function(require,module,exports){
var dP = require('./_object-dp');
var anObject = require('./_an-object');
var getKeys = require('./_object-keys');
module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {
anObject(O);
var keys = getKeys(Properties);
var length = keys.length;
var i = 0;
var P;
while (length > i) dP.f(O, P = keys[i++], Properties[P]);
return O;
};
},{"./_an-object":8,"./_descriptors":30,"./_object-dp":72,"./_object-keys":81}],74:[function(require,module,exports){
'use strict';
// Forced replacement prototype accessors methods
module.exports = require('./_library') || !require('./_fails')(function () {
var K = Math.random();
// In FF throws only define methods
// eslint-disable-next-line no-undef, no-useless-call
__defineSetter__.call(null, K, function () { /* empty */ });
delete require('./_global')[K];
});
},{"./_fails":36,"./_global":41,"./_library":60}],75:[function(require,module,exports){
var pIE = require('./_object-pie');
var createDesc = require('./_property-desc');
var toIObject = require('./_to-iobject');
var toPrimitive = require('./_to-primitive');
var has = require('./_has');
var IE8_DOM_DEFINE = require('./_ie8-dom-define');
var gOPD = Object.getOwnPropertyDescriptor;
exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {
O = toIObject(O);
P = toPrimitive(P, true);
if (IE8_DOM_DEFINE) try {
return gOPD(O, P);
} catch (e) { /* empty */ }
if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
};
},{"./_descriptors":30,"./_has":42,"./_ie8-dom-define":45,"./_object-pie":82,"./_property-desc":90,"./_to-iobject":117,"./_to-primitive":120}],76:[function(require,module,exports){
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
var toIObject = require('./_to-iobject');
var gOPN = require('./_object-gopn').f;
var toString = {}.toString;
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
? Object.getOwnPropertyNames(window) : [];
var getWindowNames = function (it) {
try {
return gOPN(it);
} catch (e) {
return windowNames.slice();
}
};
module.exports.f = function getOwnPropertyNames(it) {
return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
};
},{"./_object-gopn":77,"./_to-iobject":117}],77:[function(require,module,exports){
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
var $keys = require('./_object-keys-internal');
var hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
return $keys(O, hiddenKeys);
};
},{"./_enum-bug-keys":32,"./_object-keys-internal":80}],78:[function(require,module,exports){
exports.f = Object.getOwnPropertySymbols;
},{}],79:[function(require,module,exports){
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
var has = require('./_has');
var toObject = require('./_to-object');
var IE_PROTO = require('./_shared-key')('IE_PROTO');
var ObjectProto = Object.prototype;
module.exports = Object.getPrototypeOf || function (O) {
O = toObject(O);
if (has(O, IE_PROTO)) return O[IE_PROTO];
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
return O.constructor.prototype;
} return O instanceof Object ? ObjectProto : null;
};
},{"./_has":42,"./_shared-key":102,"./_to-object":119}],80:[function(require,module,exports){
var has = require('./_has');
var toIObject = require('./_to-iobject');
var arrayIndexOf = require('./_array-includes')(false);
var IE_PROTO = require('./_shared-key')('IE_PROTO');
module.exports = function (object, names) {
var O = toIObject(object);
var i = 0;
var result = [];
var key;
for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
// Don't enum bug & hidden keys
while (names.length > i) if (has(O, key = names[i++])) {
~arrayIndexOf(result, key) || result.push(key);
}
return result;
};
},{"./_array-includes":12,"./_has":42,"./_shared-key":102,"./_to-iobject":117}],81:[function(require,module,exports){
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
var $keys = require('./_object-keys-internal');
var enumBugKeys = require('./_enum-bug-keys');
module.exports = Object.keys || function keys(O) {
return $keys(O, enumBugKeys);
};
},{"./_enum-bug-keys":32,"./_object-keys-internal":80}],82:[function(require,module,exports){
exports.f = {}.propertyIsEnumerable;
},{}],83:[function(require,module,exports){
// most Object methods by ES6 should accept primitives
var $export = require('./_export');
var core = require('./_core');
var fails = require('./_fails');
module.exports = function (KEY, exec) {
var fn = (core.Object || {})[KEY] || Object[KEY];
var exp = {};
exp[KEY] = exec(fn);
$export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
};
},{"./_core":24,"./_export":34,"./_fails":36}],84:[function(require,module,exports){
var getKeys = require('./_object-keys');
var toIObject = require('./_to-iobject');
var isEnum = require('./_object-pie').f;
module.exports = function (isEntries) {
return function (it) {
var O = toIObject(it);
var keys = getKeys(O);
var length = keys.length;
var i = 0;
var result = [];
var key;
while (length > i) if (isEnum.call(O, key = keys[i++])) {
result.push(isEntries ? [key, O[key]] : O[key]);
} return result;
};
};
},{"./_object-keys":81,"./_object-pie":82,"./_to-iobject":117}],85:[function(require,module,exports){
// all object keys, includes non-enumerable and symbols
var gOPN = require('./_object-gopn');
var gOPS = require('./_object-gops');
var anObject = require('./_an-object');
var Reflect = require('./_global').Reflect;
module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
var keys = gOPN.f(anObject(it));
var getSymbols = gOPS.f;
return getSymbols ? keys.concat(getSymbols(it)) : keys;
};
},{"./_an-object":8,"./_global":41,"./_object-gopn":77,"./_object-gops":78}],86:[function(require,module,exports){
var $parseFloat = require('./_global').parseFloat;
var $trim = require('./_string-trim').trim;
module.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {
var string = $trim(String(str), 3);
var result = $parseFloat(string);
return result === 0 && string.charAt(0) == '-' ? -0 : result;
} : $parseFloat;
},{"./_global":41,"./_string-trim":111,"./_string-ws":112}],87:[function(require,module,exports){
var $parseInt = require('./_global').parseInt;
var $trim = require('./_string-trim').trim;
var ws = require('./_string-ws');
var hex = /^[-+]?0[xX]/;
module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {
var string = $trim(String(str), 3);
return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
} : $parseInt;
},{"./_global":41,"./_string-trim":111,"./_string-ws":112}],88:[function(require,module,exports){
module.exports = function (exec) {
try {
return { e: false, v: exec() };
} catch (e) {
return { e: true, v: e };
}
};
},{}],89:[function(require,module,exports){
var anObject = require('./_an-object');
var isObject = require('./_is-object');
var newPromiseCapability = require('./_new-promise-capability');
module.exports = function (C, x) {
anObject(C);
if (isObject(x) && x.constructor === C) return x;
var promiseCapability = newPromiseCapability.f(C);
var resolve = promiseCapability.resolve;
resolve(x);
return promiseCapability.promise;
};
},{"./_an-object":8,"./_is-object":52,"./_new-promise-capability":69}],90:[function(require,module,exports){
module.exports = function (bitmap, value) {
return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value: value
};
};
},{}],91:[function(require,module,exports){
var redefine = require('./_redefine');
module.exports = function (target, src, safe) {
for (var key in src) redefine(target, key, src[key], safe);
return target;
};
},{"./_redefine":92}],92:[function(require,module,exports){
var global = require('./_global');
var hide = require('./_hide');
var has = require('./_has');
var SRC = require('./_uid')('src');
var TO_STRING = 'toString';
var $toString = Function[TO_STRING];
var TPL = ('' + $toString).split(TO_STRING);
require('./_core').inspectSource = function (it) {
return $toString.call(it);
};
(module.exports = function (O, key, val, safe) {
var isFunction = typeof val == 'function';
if (isFunction) has(val, 'name') || hide(val, 'name', key);
if (O[key] === val) return;
if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
if (O === global) {
O[key] = val;
} else if (!safe) {
delete O[key];
hide(O, key, val);
} else if (O[key]) {
O[key] = val;
} else {
hide(O, key, val);
}
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
})(Function.prototype, TO_STRING, function toString() {
return typeof this == 'function' && this[SRC] || $toString.call(this);
});
},{"./_core":24,"./_global":41,"./_has":42,"./_hide":43,"./_uid":124}],93:[function(require,module,exports){
'use strict';
var classof = require('./_classof');
var builtinExec = RegExp.prototype.exec;
// `RegExpExec` abstract operation
// https://tc39.github.io/ecma262/#sec-regexpexec
module.exports = function (R, S) {
var exec = R.exec;
if (typeof exec === 'function') {
var result = exec.call(R, S);
if (typeof result !== 'object') {
throw new TypeError('RegExp exec method returned something other than an Object or null');
}
return result;
}
if (classof(R) !== 'RegExp') {
throw new TypeError('RegExp#exec called on incompatible receiver');
}
return builtinExec.call(R, S);
};
},{"./_classof":18}],94:[function(require,module,exports){
'use strict';
var regexpFlags = require('./_flags');
var nativeExec = RegExp.prototype.exec;
// This always refers to the native implementation, because the
// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
// which loads this file before patching the method.
var nativeReplace = String.prototype.replace;
var patchedExec = nativeExec;
var LAST_INDEX = 'lastIndex';
var UPDATES_LAST_INDEX_WRONG = (function () {
var re1 = /a/,
re2 = /b*/g;
nativeExec.call(re1, 'a');
nativeExec.call(re2, 'a');
return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;
})();
// nonparticipating capturing group, copied from es5-shim's String#split patch.
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;
if (PATCH) {
patchedExec = function exec(str) {
var re = this;
var lastIndex, reCopy, match, i;
if (NPCG_INCLUDED) {
reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re));
}
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];
match = nativeExec.call(re, str);
if (UPDATES_LAST_INDEX_WRONG && match) {
re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;
}
if (NPCG_INCLUDED && match && match.length > 1) {
// Fix browsers whose `exec` methods don't consistently return `undefined`
// for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
// eslint-disable-next-line no-loop-func
nativeReplace.call(match[0], reCopy, function () {
for (i = 1; i < arguments.length - 2; i++) {
if (arguments[i] === undefined) match[i] = undefined;
}
});
}
return match;
};
}
module.exports = patchedExec;
},{"./_flags":38}],95:[function(require,module,exports){
module.exports = function (regExp, replace) {
var replacer = replace === Object(replace) ? function (part) {
return replace[part];
} : replace;
return function (it) {
return String(it).replace(regExp, replacer);
};
};
},{}],96:[function(require,module,exports){
// 7.2.9 SameValue(x, y)
module.exports = Object.is || function is(x, y) {
// eslint-disable-next-line no-self-compare
return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
};
},{}],97:[function(require,module,exports){
'use strict';
// https://tc39.github.io/proposal-setmap-offrom/
var $export = require('./_export');
var aFunction = require('./_a-function');
var ctx = require('./_ctx');
var forOf = require('./_for-of');
module.exports = function (COLLECTION) {
$export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
var mapFn = arguments[1];
var mapping, A, n, cb;
aFunction(this);
mapping = mapFn !== undefined;
if (mapping) aFunction(mapFn);
if (source == undefined) return new this();
A = [];
if (mapping) {
n = 0;
cb = ctx(mapFn, arguments[2], 2);
forOf(source, false, function (nextItem) {
A.push(cb(nextItem, n++));
});
} else {
forOf(source, false, A.push, A);
}
return new this(A);
} });
};
},{"./_a-function":3,"./_ctx":26,"./_export":34,"./_for-of":40}],98:[function(require,module,exports){
'use strict';
// https://tc39.github.io/proposal-setmap-offrom/
var $export = require('./_export');
module.exports = function (COLLECTION) {
$export($export.S, COLLECTION, { of: function of() {
var length = arguments.length;
var A = new Array(length);
while (length--) A[length] = arguments[length];
return new this(A);
} });
};
},{"./_export":34}],99:[function(require,module,exports){
// Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */
var isObject = require('./_is-object');
var anObject = require('./_an-object');
var check = function (O, proto) {
anObject(O);
if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
};
module.exports = {
set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
function (test, buggy, set) {
try {
set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);
set(test, []);
buggy = !(test instanceof Array);
} catch (e) { buggy = true; }
return function setPrototypeOf(O, proto) {
check(O, proto);
if (buggy) O.__proto__ = proto;
else set(O, proto);
return O;
};
}({}, false) : undefined),
check: check
};
},{"./_an-object":8,"./_ctx":26,"./_is-object":52,"./_object-gopd":75}],100:[function(require,module,exports){
'use strict';
var global = require('./_global');
var dP = require('./_object-dp');
var DESCRIPTORS = require('./_descriptors');
var SPECIES = require('./_wks')('species');
module.exports = function (KEY) {
var C = global[KEY];
if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
configurable: true,
get: function () { return this; }
});
};
},{"./_descriptors":30,"./_global":41,"./_object-dp":72,"./_wks":129}],101:[function(require,module,exports){
var def = require('./_object-dp').f;
var has = require('./_has');
var TAG = require('./_wks')('toStringTag');
module.exports = function (it, tag, stat) {
if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
};
},{"./_has":42,"./_object-dp":72,"./_wks":129}],102:[function(require,module,exports){
var shared = require('./_shared')('keys');
var uid = require('./_uid');
module.exports = function (key) {
return shared[key] || (shared[key] = uid(key));
};
},{"./_shared":103,"./_uid":124}],103:[function(require,module,exports){
var core = require('./_core');
var global = require('./_global');
var SHARED = '__core-js_shared__';
var store = global[SHARED] || (global[SHARED] = {});
(module.exports = function (key, value) {
return store[key] || (store[key] = value !== undefined ? value : {});
})('versions', []).push({
version: core.version,
mode: require('./_library') ? 'pure' : 'global',
copyright: '© 2018 Denis Pushkarev (zloirock.ru)'
});
},{"./_core":24,"./_global":41,"./_library":60}],104:[function(require,module,exports){
// 7.3.20 SpeciesConstructor(O, defaultConstructor)
var anObject = require('./_an-object');
var aFunction = require('./_a-function');
var SPECIES = require('./_wks')('species');
module.exports = function (O, D) {
var C = anObject(O).constructor;
var S;
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
};
},{"./_a-function":3,"./_an-object":8,"./_wks":129}],105:[function(require,module,exports){
'use strict';
var fails = require('./_fails');
module.exports = function (method, arg) {
return !!method && fails(function () {
// eslint-disable-next-line no-useless-call
arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);
});
};
},{"./_fails":36}],106:[function(require,module,exports){
var toInteger = require('./_to-integer');
var defined = require('./_defined');
// true -> String#at
// false -> String#codePointAt
module.exports = function (TO_STRING) {
return function (that, pos) {
var s = String(defined(that));
var i = toInteger(pos);
var l = s.length;
var a, b;
if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
a = s.charCodeAt(i);
return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
? TO_STRING ? s.charAt(i) : a
: TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
};
};
},{"./_defined":29,"./_to-integer":116}],107:[function(require,module,exports){
// helper for String#{startsWith, endsWith, includes}
var isRegExp = require('./_is-regexp');
var defined = require('./_defined');
module.exports = function (that, searchString, NAME) {
if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!");
return String(defined(that));
};
},{"./_defined":29,"./_is-regexp":53}],108:[function(require,module,exports){
var $export = require('./_export');
var fails = require('./_fails');
var defined = require('./_defined');
var quot = /"/g;
// B.2.3.2.1 CreateHTML(string, tag, attribute, value)
var createHTML = function (string, tag, attribute, value) {
var S = String(defined(string));
var p1 = '<' + tag;
if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"';
return p1 + '>' + S + '</' + tag + '>';
};
module.exports = function (NAME, exec) {
var O = {};
O[NAME] = exec(createHTML);
$export($export.P + $export.F * fails(function () {
var test = ''[NAME]('"');
return test !== test.toLowerCase() || test.split('"').length > 3;
}), 'String', O);
};
},{"./_defined":29,"./_export":34,"./_fails":36}],109:[function(require,module,exports){
// https://github.com/tc39/proposal-string-pad-start-end
var toLength = require('./_to-length');
var repeat = require('./_string-repeat');
var defined = require('./_defined');
module.exports = function (that, maxLength, fillString, left) {
var S = String(defined(that));
var stringLength = S.length;
var fillStr = fillString === undefined ? ' ' : String(fillString);
var intMaxLength = toLength(maxLength);
if (intMaxLength <= stringLength || fillStr == '') return S;
var fillLen = intMaxLength - stringLength;
var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
return left ? stringFiller + S : S + stringFiller;
};
},{"./_defined":29,"./_string-repeat":110,"./_to-length":118}],110:[function(require,module,exports){
'use strict';
var toInteger = require('./_to-integer');
var defined = require('./_defined');
module.exports = function repeat(count) {
var str = String(defined(this));
var res = '';
var n = toInteger(count);
if (n < 0 || n == Infinity) throw RangeError("Count can't be negative");
for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;
return res;
};
},{"./_defined":29,"./_to-integer":116}],111:[function(require,module,exports){
var $export = require('./_export');
var defined = require('./_defined');
var fails = require('./_fails');
var spaces = require('./_string-ws');
var space = '[' + spaces + ']';
var non = '\u200b\u0085';
var ltrim = RegExp('^' + space + space + '*');
var rtrim = RegExp(space + space + '*$');
var exporter = function (KEY, exec, ALIAS) {
var exp = {};
var FORCE = fails(function () {
return !!spaces[KEY]() || non[KEY]() != non;
});
var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
if (ALIAS) exp[ALIAS] = fn;
$export($export.P + $export.F * FORCE, 'String', exp);
};
// 1 -> String#trimLeft
// 2 -> String#trimRight
// 3 -> String#trim
var trim = exporter.trim = function (string, TYPE) {
string = String(defined(string));
if (TYPE & 1) string = string.replace(ltrim, '');
if (TYPE & 2) string = string.replace(rtrim, '');
return string;
};
module.exports = exporter;
},{"./_defined":29,"./_export":34,"./_fails":36,"./_string-ws":112}],112:[function(require,module,exports){
module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
},{}],113:[function(require,module,exports){
var ctx = require('./_ctx');
var invoke = require('./_invoke');
var html = require('./_html');
var cel = require('./_dom-create');
var global = require('./_global');
var process = global.process;
var setTask = global.setImmediate;
var clearTask = global.clearImmediate;
var MessageChannel = global.MessageChannel;
var Dispatch = global.Dispatch;
var counter = 0;
var queue = {};
var ONREADYSTATECHANGE = 'onreadystatechange';
var defer, channel, port;
var run = function () {
var id = +this;
// eslint-disable-next-line no-prototype-builtins
if (queue.hasOwnProperty(id)) {
var fn = queue[id];
delete queue[id];
fn();
}
};
var listener = function (event) {
run.call(event.data);
};
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
if (!setTask || !clearTask) {
setTask = function setImmediate(fn) {
var args = [];
var i = 1;
while (arguments.length > i) args.push(arguments[i++]);
queue[++counter] = function () {
// eslint-disable-next-line no-new-func
invoke(typeof fn == 'function' ? fn : Function(fn), args);
};
defer(counter);
return counter;
};
clearTask = function clearImmediate(id) {
delete queue[id];
};
// Node.js 0.8-
if (require('./_cof')(process) == 'process') {
defer = function (id) {
process.nextTick(ctx(run, id, 1));
};
// Sphere (JS game engine) Dispatch API
} else if (Dispatch && Dispatch.now) {
defer = function (id) {
Dispatch.now(ctx(run, id, 1));
};
// Browsers with MessageChannel, includes WebWorkers
} else if (MessageChannel) {
channel = new MessageChannel();
port = channel.port2;
channel.port1.onmessage = listener;
defer = ctx(port.postMessage, port, 1);
// Browsers with postMessage, skip WebWorkers
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
} else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
defer = function (id) {
global.postMessage(id + '', '*');
};
global.addEventListener('message', listener, false);
// IE8-
} else if (ONREADYSTATECHANGE in cel('script')) {
defer = function (id) {
html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
html.removeChild(this);
run.call(id);
};
};
// Rest old browsers
} else {
defer = function (id) {
setTimeout(ctx(run, id, 1), 0);
};
}
}
module.exports = {
set: setTask,
clear: clearTask
};
},{"./_cof":19,"./_ctx":26,"./_dom-create":31,"./_global":41,"./_html":44,"./_invoke":47}],114:[function(require,module,exports){
var toInteger = require('./_to-integer');
var max = Math.max;
var min = Math.min;
module.exports = function (index, length) {
index = toInteger(index);
return index < 0 ? max(index + length, 0) : min(index, length);
};
},{"./_to-integer":116}],115:[function(require,module,exports){
// https://tc39.github.io/ecma262/#sec-toindex
var toInteger = require('./_to-integer');
var toLength = require('./_to-length');
module.exports = function (it) {
if (it === undefined) return 0;
var number = toInteger(it);
var length = toLength(number);
if (number !== length) throw RangeError('Wrong length!');
return length;
};
},{"./_to-integer":116,"./_to-length":118}],116:[function(require,module,exports){
// 7.1.4 ToInteger
var ceil = Math.ceil;
var floor = Math.floor;
module.exports = function (it) {
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
};
},{}],117:[function(require,module,exports){
// to indexed object, toObject with fallback for non-array-like ES3 strings
var IObject = require('./_iobject');
var defined = require('./_defined');
module.exports = function (it) {
return IObject(defined(it));
};
},{"./_defined":29,"./_iobject":48}],118:[function(require,module,exports){
// 7.1.15 ToLength
var toInteger = require('./_to-integer');
var min = Math.min;
module.exports = function (it) {
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
};
},{"./_to-integer":116}],119:[function(require,module,exports){
// 7.1.13 ToObject(argument)
var defined = require('./_defined');
module.exports = function (it) {
return Object(defined(it));
};
},{"./_defined":29}],120:[function(require,module,exports){
// 7.1.1 ToPrimitive(input [, PreferredType])
var isObject = require('./_is-object');
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
module.exports = function (it, S) {
if (!isObject(it)) return it;
var fn, val;
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
throw TypeError("Can't convert object to primitive value");
};
},{"./_is-object":52}],121:[function(require,module,exports){
'use strict';
if (require('./_descriptors')) {
var LIBRARY = require('./_library');
var global = require('./_global');
var fails = require('./_fails');
var $export = require('./_export');
var $typed = require('./_typed');
var $buffer = require('./_typed-buffer');
var ctx = require('./_ctx');
var anInstance = require('./_an-instance');
var propertyDesc = require('./_property-desc');
var hide = require('./_hide');
var redefineAll = require('./_redefine-all');
var toInteger = require('./_to-integer');
var toLength = require('./_to-length');
var toIndex = require('./_to-index');
var toAbsoluteIndex = require('./_to-absolute-index');
var toPrimitive = require('./_to-primitive');
var has = require('./_has');
var classof = require('./_classof');
var isObject = require('./_is-object');
var toObject = require('./_to-object');
var isArrayIter = require('./_is-array-iter');
var create = require('./_object-create');
var getPrototypeOf = require('./_object-gpo');
var gOPN = require('./_object-gopn').f;
var getIterFn = require('./core.get-iterator-method');
var uid = require('./_uid');
var wks = require('./_wks');
var createArrayMethod = require('./_array-methods');
var createArrayIncludes = require('./_array-includes');
var speciesConstructor = require('./_species-constructor');
var ArrayIterators = require('./es6.array.iterator');
var Iterators = require('./_iterators');
var $iterDetect = require('./_iter-detect');
var setSpecies = require('./_set-species');
var arrayFill = require('./_array-fill');
var arrayCopyWithin = require('./_array-copy-within');
var $DP = require('./_object-dp');
var $GOPD = require('./_object-gopd');
var dP = $DP.f;
var gOPD = $GOPD.f;
var RangeError = global.RangeError;
var TypeError = global.TypeError;
var Uint8Array = global.Uint8Array;
var ARRAY_BUFFER = 'ArrayBuffer';
var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;
var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
var PROTOTYPE = 'prototype';
var ArrayProto = Array[PROTOTYPE];
var $ArrayBuffer = $buffer.ArrayBuffer;
var $DataView = $buffer.DataView;
var arrayForEach = createArrayMethod(0);
var arrayFilter = createArrayMethod(2);
var arraySome = createArrayMethod(3);
var arrayEvery = createArrayMethod(4);
var arrayFind = createArrayMethod(5);
var arrayFindIndex = createArrayMethod(6);
var arrayIncludes = createArrayIncludes(true);
var arrayIndexOf = createArrayIncludes(false);
var arrayValues = ArrayIterators.values;
var arrayKeys = ArrayIterators.keys;
var arrayEntries = ArrayIterators.entries;
var arrayLastIndexOf = ArrayProto.lastIndexOf;
var arrayReduce = ArrayProto.reduce;
var arrayReduceRight = ArrayProto.reduceRight;
var arrayJoin = ArrayProto.join;
var arraySort = ArrayProto.sort;
var arraySlice = ArrayProto.slice;
var arrayToString = ArrayProto.toString;
var arrayToLocaleString = ArrayProto.toLocaleString;
var ITERATOR = wks('iterator');
var TAG = wks('toStringTag');
var TYPED_CONSTRUCTOR = uid('typed_constructor');
var DEF_CONSTRUCTOR = uid('def_constructor');
var ALL_CONSTRUCTORS = $typed.CONSTR;
var TYPED_ARRAY = $typed.TYPED;
var VIEW = $typed.VIEW;
var WRONG_LENGTH = 'Wrong length!';
var $map = createArrayMethod(1, function (O, length) {
return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
});
var LITTLE_ENDIAN = fails(function () {
// eslint-disable-next-line no-undef
return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
});
var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {
new Uint8Array(1).set({});
});
var toOffset = function (it, BYTES) {
var offset = toInteger(it);
if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');
return offset;
};
var validate = function (it) {
if (isObject(it) && TYPED_ARRAY in it) return it;
throw TypeError(it + ' is not a typed array!');
};
var allocate = function (C, length) {
if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {
throw TypeError('It is not a typed array constructor!');
} return new C(length);
};
var speciesFromList = function (O, list) {
return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);
};
var fromList = function (C, list) {
var index = 0;
var length = list.length;
var result = allocate(C, length);
while (length > index) result[index] = list[index++];
return result;
};
var addGetter = function (it, key, internal) {
dP(it, key, { get: function () { return this._d[internal]; } });
};
var $from = function from(source /* , mapfn, thisArg */) {
var O = toObject(source);
var aLen = arguments.length;
var mapfn = aLen > 1 ? arguments[1] : undefined;
var mapping = mapfn !== undefined;
var iterFn = getIterFn(O);
var i, length, values, result, step, iterator;
if (iterFn != undefined && !isArrayIter(iterFn)) {
for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {
values.push(step.value);
} O = values;
}
if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);
for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {
result[i] = mapping ? mapfn(O[i], i) : O[i];
}
return result;
};
var $of = function of(/* ...items */) {
var index = 0;
var length = arguments.length;
var result = allocate(this, length);
while (length > index) result[index] = arguments[index++];
return result;
};
// iOS Safari 6.x fails here
var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });
var $toLocaleString = function toLocaleString() {
return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);
};
var proto = {
copyWithin: function copyWithin(target, start /* , end */) {
return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
},
every: function every(callbackfn /* , thisArg */) {
return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
},
fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars
return arrayFill.apply(validate(this), arguments);
},
filter: function filter(callbackfn /* , thisArg */) {
return speciesFromList(this, arrayFilter(validate(this), callbackfn,
arguments.length > 1 ? arguments[1] : undefined));
},
find: function find(predicate /* , thisArg */) {
return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
},
findIndex: function findIndex(predicate /* , thisArg */) {
return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
},
forEach: function forEach(callbackfn /* , thisArg */) {
arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
},
indexOf: function indexOf(searchElement /* , fromIndex */) {
return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
},
includes: function includes(searchElement /* , fromIndex */) {
return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
},
join: function join(separator) { // eslint-disable-line no-unused-vars
return arrayJoin.apply(validate(this), arguments);
},
lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars
return arrayLastIndexOf.apply(validate(this), arguments);
},
map: function map(mapfn /* , thisArg */) {
return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
},
reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars
return arrayReduce.apply(validate(this), arguments);
},
reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars
return arrayReduceRight.apply(validate(this), arguments);
},
reverse: function reverse() {
var that = this;
var length = validate(that).length;
var middle = Math.floor(length / 2);
var index = 0;
var value;
while (index < middle) {
value = that[index];
that[index++] = that[--length];
that[length] = value;
} return that;
},
some: function some(callbackfn /* , thisArg */) {
return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
},
sort: function sort(comparefn) {
return arraySort.call(validate(this), comparefn);
},
subarray: function subarray(begin, end) {
var O = validate(this);
var length = O.length;
var $begin = toAbsoluteIndex(begin, length);
return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(
O.buffer,
O.byteOffset + $begin * O.BYTES_PER_ELEMENT,
toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)
);
}
};
var $slice = function slice(start, end) {
return speciesFromList(this, arraySlice.call(validate(this), start, end));
};
var $set = function set(arrayLike /* , offset */) {
validate(this);
var offset = toOffset(arguments[1], 1);
var length = this.length;
var src = toObject(arrayLike);
var len = toLength(src.length);
var index = 0;
if (len + offset > length) throw RangeError(WRONG_LENGTH);
while (index < len) this[offset + index] = src[index++];
};
var $iterators = {
entries: function entries() {
return arrayEntries.call(validate(this));
},
keys: function keys() {
return arrayKeys.call(validate(this));
},
values: function values() {
return arrayValues.call(validate(this));
}
};
var isTAIndex = function (target, key) {
return isObject(target)
&& target[TYPED_ARRAY]
&& typeof key != 'symbol'
&& key in target
&& String(+key) == String(key);
};
var $getDesc = function getOwnPropertyDescriptor(target, key) {
return isTAIndex(target, key = toPrimitive(key, true))
? propertyDesc(2, target[key])
: gOPD(target, key);
};
var $setDesc = function defineProperty(target, key, desc) {
if (isTAIndex(target, key = toPrimitive(key, true))
&& isObject(desc)
&& has(desc, 'value')
&& !has(desc, 'get')
&& !has(desc, 'set')
// TODO: add validation descriptor w/o calling accessors
&& !desc.configurable
&& (!has(desc, 'writable') || desc.writable)
&& (!has(desc, 'enumerable') || desc.enumerable)
) {
target[key] = desc.value;
return target;
} return dP(target, key, desc);
};
if (!ALL_CONSTRUCTORS) {
$GOPD.f = $getDesc;
$DP.f = $setDesc;
}
$export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {
getOwnPropertyDescriptor: $getDesc,
defineProperty: $setDesc
});
if (fails(function () { arrayToString.call({}); })) {
arrayToString = arrayToLocaleString = function toString() {
return arrayJoin.call(this);
};
}
var $TypedArrayPrototype$ = redefineAll({}, proto);
redefineAll($TypedArrayPrototype$, $iterators);
hide($TypedArrayPrototype$, ITERATOR, $iterators.values);
redefineAll($TypedArrayPrototype$, {
slice: $slice,
set: $set,
constructor: function () { /* noop */ },
toString: arrayToString,
toLocaleString: $toLocaleString
});
addGetter($TypedArrayPrototype$, 'buffer', 'b');
addGetter($TypedArrayPrototype$, 'byteOffset', 'o');
addGetter($TypedArrayPrototype$, 'byteLength', 'l');
addGetter($TypedArrayPrototype$, 'length', 'e');
dP($TypedArrayPrototype$, TAG, {
get: function () { return this[TYPED_ARRAY]; }
});
// eslint-disable-next-line max-statements
module.exports = function (KEY, BYTES, wrapper, CLAMPED) {
CLAMPED = !!CLAMPED;
var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';
var GETTER = 'get' + KEY;
var SETTER = 'set' + KEY;
var TypedArray = global[NAME];
var Base = TypedArray || {};
var TAC = TypedArray && getPrototypeOf(TypedArray);
var FORCED = !TypedArray || !$typed.ABV;
var O = {};
var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];
var getter = function (that, index) {
var data = that._d;
return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
};
var setter = function (that, index, value) {
var data = that._d;
if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;
data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);
};
var addElement = function (that, index) {
dP(that, index, {
get: function () {
return getter(this, index);
},
set: function (value) {
return setter(this, index, value);
},
enumerable: true
});
};
if (FORCED) {
TypedArray = wrapper(function (that, data, $offset, $length) {
anInstance(that, TypedArray, NAME, '_d');
var index = 0;
var offset = 0;
var buffer, byteLength, length, klass;
if (!isObject(data)) {
length = toIndex(data);
byteLength = length * BYTES;
buffer = new $ArrayBuffer(byteLength);
} else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
buffer = data;
offset = toOffset($offset, BYTES);
var $len = data.byteLength;
if ($length === undefined) {
if ($len % BYTES) throw RangeError(WRONG_LENGTH);
byteLength = $len - offset;
if (byteLength < 0) throw RangeError(WRONG_LENGTH);
} else {
byteLength = toLength($length) * BYTES;
if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);
}
length = byteLength / BYTES;
} else if (TYPED_ARRAY in data) {
return fromList(TypedArray, data);
} else {
return $from.call(TypedArray, data);
}
hide(that, '_d', {
b: buffer,
o: offset,
l: byteLength,
e: length,
v: new $DataView(buffer)
});
while (index < length) addElement(that, index++);
});
TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);
hide(TypedArrayPrototype, 'constructor', TypedArray);
} else if (!fails(function () {
TypedArray(1);
}) || !fails(function () {
new TypedArray(-1); // eslint-disable-line no-new
}) || !$iterDetect(function (iter) {
new TypedArray(); // eslint-disable-line no-new
new TypedArray(null); // eslint-disable-line no-new
new TypedArray(1.5); // eslint-disable-line no-new
new TypedArray(iter); // eslint-disable-line no-new
}, true)) {
TypedArray = wrapper(function (that, data, $offset, $length) {
anInstance(that, TypedArray, NAME);
var klass;
// `ws` module bug, temporarily remove validation length for Uint8Array
// https://github.com/websockets/ws/pull/645
if (!isObject(data)) return new Base(toIndex(data));
if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
return $length !== undefined
? new Base(data, toOffset($offset, BYTES), $length)
: $offset !== undefined
? new Base(data, toOffset($offset, BYTES))
: new Base(data);
}
if (TYPED_ARRAY in data) return fromList(TypedArray, data);
return $from.call(TypedArray, data);
});
arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {
if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);
});
TypedArray[PROTOTYPE] = TypedArrayPrototype;
if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;
}
var $nativeIterator = TypedArrayPrototype[ITERATOR];
var CORRECT_ITER_NAME = !!$nativeIterator
&& ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);
var $iterator = $iterators.values;
hide(TypedArray, TYPED_CONSTRUCTOR, true);
hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
hide(TypedArrayPrototype, VIEW, true);
hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {
dP(TypedArrayPrototype, TAG, {
get: function () { return NAME; }
});
}
O[NAME] = TypedArray;
$export($export.G + $export.W + $export.F * (TypedArray != Base), O);
$export($export.S, NAME, {
BYTES_PER_ELEMENT: BYTES
});
$export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {
from: $from,
of: $of
});
if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);
$export($export.P, NAME, proto);
setSpecies(NAME);
$export($export.P + $export.F * FORCED_SET, NAME, { set: $set });
$export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);
if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;
$export($export.P + $export.F * fails(function () {
new TypedArray(1).slice();
}), NAME, { slice: $slice });
$export($export.P + $export.F * (fails(function () {
return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();
}) || !fails(function () {
TypedArrayPrototype.toLocaleString.call([1, 2]);
})), NAME, { toLocaleString: $toLocaleString });
Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;
if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);
};
} else module.exports = function () { /* empty */ };
},{"./_an-instance":7,"./_array-copy-within":9,"./_array-fill":10,"./_array-includes":12,"./_array-methods":13,"./_classof":18,"./_ctx":26,"./_descriptors":30,"./_export":34,"./_fails":36,"./_global":41,"./_has":42,"./_hide":43,"./_is-array-iter":49,"./_is-object":52,"./_iter-detect":57,"./_iterators":59,"./_library":60,"./_object-create":71,"./_object-dp":72,"./_object-gopd":75,"./_object-gopn":77,"./_object-gpo":79,"./_property-desc":90,"./_redefine-all":91,"./_set-species":100,"./_species-constructor":104,"./_to-absolute-index":114,"./_to-index":115,"./_to-integer":116,"./_to-length":118,"./_to-object":119,"./_to-primitive":120,"./_typed":123,"./_typed-buffer":122,"./_uid":124,"./_wks":129,"./core.get-iterator-method":130,"./es6.array.iterator":142}],122:[function(require,module,exports){
'use strict';
var global = require('./_global');
var DESCRIPTORS = require('./_descriptors');
var LIBRARY = require('./_library');
var $typed = require('./_typed');
var hide = require('./_hide');
var redefineAll = require('./_redefine-all');
var fails = require('./_fails');
var anInstance = require('./_an-instance');
var toInteger = require('./_to-integer');
var toLength = require('./_to-length');
var toIndex = require('./_to-index');
var gOPN = require('./_object-gopn').f;
var dP = require('./_object-dp').f;
var arrayFill = require('./_array-fill');
var setToStringTag = require('./_set-to-string-tag');
var ARRAY_BUFFER = 'ArrayBuffer';
var DATA_VIEW = 'DataView';
var PROTOTYPE = 'prototype';
var WRONG_LENGTH = 'Wrong length!';
var WRONG_INDEX = 'Wrong index!';
var $ArrayBuffer = global[ARRAY_BUFFER];
var $DataView = global[DATA_VIEW];
var Math = global.Math;
var RangeError = global.RangeError;
// eslint-disable-next-line no-shadow-restricted-names
var Infinity = global.Infinity;
var BaseBuffer = $ArrayBuffer;
var abs = Math.abs;
var pow = Math.pow;
var floor = Math.floor;
var log = Math.log;
var LN2 = Math.LN2;
var BUFFER = 'buffer';
var BYTE_LENGTH = 'byteLength';
var BYTE_OFFSET = 'byteOffset';
var $BUFFER = DESCRIPTORS ? '_b' : BUFFER;
var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;
var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;
// IEEE754 conversions based on https://github.com/feross/ieee754
function packIEEE754(value, mLen, nBytes) {
var buffer = new Array(nBytes);
var eLen = nBytes * 8 - mLen - 1;
var eMax = (1 << eLen) - 1;
var eBias = eMax >> 1;
var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;
var i = 0;
var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
var e, m, c;
value = abs(value);
// eslint-disable-next-line no-self-compare
if (value != value || value === Infinity) {
// eslint-disable-next-line no-self-compare
m = value != value ? 1 : 0;
e = eMax;
} else {
e = floor(log(value) / LN2);
if (value * (c = pow(2, -e)) < 1) {
e--;
c *= 2;
}
if (e + eBias >= 1) {
value += rt / c;
} else {
value += rt * pow(2, 1 - eBias);
}
if (value * c >= 2) {
e++;
c /= 2;
}
if (e + eBias >= eMax) {
m = 0;
e = eMax;
} else if (e + eBias >= 1) {
m = (value * c - 1) * pow(2, mLen);
e = e + eBias;
} else {
m = value * pow(2, eBias - 1) * pow(2, mLen);
e = 0;
}
}
for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);
e = e << mLen | m;
eLen += mLen;
for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);
buffer[--i] |= s * 128;
return buffer;
}
function unpackIEEE754(buffer, mLen, nBytes) {
var eLen = nBytes * 8 - mLen - 1;
var eMax = (1 << eLen) - 1;
var eBias = eMax >> 1;
var nBits = eLen - 7;
var i = nBytes - 1;
var s = buffer[i--];
var e = s & 127;
var m;
s >>= 7;
for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);
m = e & (1 << -nBits) - 1;
e >>= -nBits;
nBits += mLen;
for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);
if (e === 0) {
e = 1 - eBias;
} else if (e === eMax) {
return m ? NaN : s ? -Infinity : Infinity;
} else {
m = m + pow(2, mLen);
e = e - eBias;
} return (s ? -1 : 1) * m * pow(2, e - mLen);
}
function unpackI32(bytes) {
return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];
}
function packI8(it) {
return [it & 0xff];
}
function packI16(it) {
return [it & 0xff, it >> 8 & 0xff];
}
function packI32(it) {
return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];
}
function packF64(it) {
return packIEEE754(it, 52, 8);
}
function packF32(it) {
return packIEEE754(it, 23, 4);
}
function addGetter(C, key, internal) {
dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });
}
function get(view, bytes, index, isLittleEndian) {
var numIndex = +index;
var intIndex = toIndex(numIndex);
if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
var store = view[$BUFFER]._b;
var start = intIndex + view[$OFFSET];
var pack = store.slice(start, start + bytes);
return isLittleEndian ? pack : pack.reverse();
}
function set(view, bytes, index, conversion, value, isLittleEndian) {
var numIndex = +index;
var intIndex = toIndex(numIndex);
if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
var store = view[$BUFFER]._b;
var start = intIndex + view[$OFFSET];
var pack = conversion(+value);
for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];
}
if (!$typed.ABV) {
$ArrayBuffer = function ArrayBuffer(length) {
anInstance(this, $ArrayBuffer, ARRAY_BUFFER);
var byteLength = toIndex(length);
this._b = arrayFill.call(new Array(byteLength), 0);
this[$LENGTH] = byteLength;
};
$DataView = function DataView(buffer, byteOffset, byteLength) {
anInstance(this, $DataView, DATA_VIEW);
anInstance(buffer, $ArrayBuffer, DATA_VIEW);
var bufferLength = buffer[$LENGTH];
var offset = toInteger(byteOffset);
if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');
byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
this[$BUFFER] = buffer;
this[$OFFSET] = offset;
this[$LENGTH] = byteLength;
};
if (DESCRIPTORS) {
addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
addGetter($DataView, BUFFER, '_b');
addGetter($DataView, BYTE_LENGTH, '_l');
addGetter($DataView, BYTE_OFFSET, '_o');
}
redefineAll($DataView[PROTOTYPE], {
getInt8: function getInt8(byteOffset) {
return get(this, 1, byteOffset)[0] << 24 >> 24;
},
getUint8: function getUint8(byteOffset) {
return get(this, 1, byteOffset)[0];
},
getInt16: function getInt16(byteOffset /* , littleEndian */) {
var bytes = get(this, 2, byteOffset, arguments[1]);
return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
},
getUint16: function getUint16(byteOffset /* , littleEndian */) {
var bytes = get(this, 2, byteOffset, arguments[1]);
return bytes[1] << 8 | bytes[0];
},
getInt32: function getInt32(byteOffset /* , littleEndian */) {
return unpackI32(get(this, 4, byteOffset, arguments[1]));
},
getUint32: function getUint32(byteOffset /* , littleEndian */) {
return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;
},
getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);
},
getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);
},
setInt8: function setInt8(byteOffset, value) {
set(this, 1, byteOffset, packI8, value);
},
setUint8: function setUint8(byteOffset, value) {
set(this, 1, byteOffset, packI8, value);
},
setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
set(this, 2, byteOffset, packI16, value, arguments[2]);
},
setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
set(this, 2, byteOffset, packI16, value, arguments[2]);
},
setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
set(this, 4, byteOffset, packI32, value, arguments[2]);
},
setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
set(this, 4, byteOffset, packI32, value, arguments[2]);
},
setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
set(this, 4, byteOffset, packF32, value, arguments[2]);
},
setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
set(this, 8, byteOffset, packF64, value, arguments[2]);
}
});
} else {
if (!fails(function () {
$ArrayBuffer(1);
}) || !fails(function () {
new $ArrayBuffer(-1); // eslint-disable-line no-new
}) || fails(function () {
new $ArrayBuffer(); // eslint-disable-line no-new
new $ArrayBuffer(1.5); // eslint-disable-line no-new
new $ArrayBuffer(NaN); // eslint-disable-line no-new
return $ArrayBuffer.name != ARRAY_BUFFER;
})) {
$ArrayBuffer = function ArrayBuffer(length) {
anInstance(this, $ArrayBuffer);
return new BaseBuffer(toIndex(length));
};
var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];
for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {
if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);
}
if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;
}
// iOS Safari 7.x bug
var view = new $DataView(new $ArrayBuffer(2));
var $setInt8 = $DataView[PROTOTYPE].setInt8;
view.setInt8(0, 2147483648);
view.setInt8(1, 2147483649);
if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {
setInt8: function setInt8(byteOffset, value) {
$setInt8.call(this, byteOffset, value << 24 >> 24);
},
setUint8: function setUint8(byteOffset, value) {
$setInt8.call(this, byteOffset, value << 24 >> 24);
}
}, true);
}
setToStringTag($ArrayBuffer, ARRAY_BUFFER);
setToStringTag($DataView, DATA_VIEW);
hide($DataView[PROTOTYPE], $typed.VIEW, true);
exports[ARRAY_BUFFER] = $ArrayBuffer;
exports[DATA_VIEW] = $DataView;
},{"./_an-instance":7,"./_array-fill":10,"./_descriptors":30,"./_fails":36,"./_global":41,"./_hide":43,"./_library":60,"./_object-dp":72,"./_object-gopn":77,"./_redefine-all":91,"./_set-to-string-tag":101,"./_to-index":115,"./_to-integer":116,"./_to-length":118,"./_typed":123}],123:[function(require,module,exports){
var global = require('./_global');
var hide = require('./_hide');
var uid = require('./_uid');
var TYPED = uid('typed_array');
var VIEW = uid('view');
var ABV = !!(global.ArrayBuffer && global.DataView);
var CONSTR = ABV;
var i = 0;
var l = 9;
var Typed;
var TypedArrayConstructors = (
'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'
).split(',');
while (i < l) {
if (Typed = global[TypedArrayConstructors[i++]]) {
hide(Typed.prototype, TYPED, true);
hide(Typed.prototype, VIEW, true);
} else CONSTR = false;
}
module.exports = {
ABV: ABV,
CONSTR: CONSTR,
TYPED: TYPED,
VIEW: VIEW
};
},{"./_global":41,"./_hide":43,"./_uid":124}],124:[function(require,module,exports){
var id = 0;
var px = Math.random();
module.exports = function (key) {
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};
},{}],125:[function(require,module,exports){
var global = require('./_global');
var navigator = global.navigator;
module.exports = navigator && navigator.userAgent || '';
},{"./_global":41}],126:[function(require,module,exports){
var isObject = require('./_is-object');
module.exports = function (it, TYPE) {
if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
return it;
};
},{"./_is-object":52}],127:[function(require,module,exports){
var global = require('./_global');
var core = require('./_core');
var LIBRARY = require('./_library');
var wksExt = require('./_wks-ext');
var defineProperty = require('./_object-dp').f;
module.exports = function (name) {
var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
};
},{"./_core":24,"./_global":41,"./_library":60,"./_object-dp":72,"./_wks-ext":128}],128:[function(require,module,exports){
exports.f = require('./_wks');
},{"./_wks":129}],129:[function(require,module,exports){
var store = require('./_shared')('wks');
var uid = require('./_uid');
var Symbol = require('./_global').Symbol;
var USE_SYMBOL = typeof Symbol == 'function';
var $exports = module.exports = function (name) {
return store[name] || (store[name] =
USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
};
$exports.store = store;
},{"./_global":41,"./_shared":103,"./_uid":124}],130:[function(require,module,exports){
var classof = require('./_classof');
var ITERATOR = require('./_wks')('iterator');
var Iterators = require('./_iterators');
module.exports = require('./_core').getIteratorMethod = function (it) {
if (it != undefined) return it[ITERATOR]
|| it['@@iterator']
|| Iterators[classof(it)];
};
},{"./_classof":18,"./_core":24,"./_iterators":59,"./_wks":129}],131:[function(require,module,exports){
// https://github.com/benjamingr/RexExp.escape
var $export = require('./_export');
var $re = require('./_replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&');
$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });
},{"./_export":34,"./_replacer":95}],132:[function(require,module,exports){
// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
var $export = require('./_export');
$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });
require('./_add-to-unscopables')('copyWithin');
},{"./_add-to-unscopables":5,"./_array-copy-within":9,"./_export":34}],133:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $every = require('./_array-methods')(4);
$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {
// 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
every: function every(callbackfn /* , thisArg */) {
return $every(this, callbackfn, arguments[1]);
}
});
},{"./_array-methods":13,"./_export":34,"./_strict-method":105}],134:[function(require,module,exports){
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
var $export = require('./_export');
$export($export.P, 'Array', { fill: require('./_array-fill') });
require('./_add-to-unscopables')('fill');
},{"./_add-to-unscopables":5,"./_array-fill":10,"./_export":34}],135:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $filter = require('./_array-methods')(2);
$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {
// 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
filter: function filter(callbackfn /* , thisArg */) {
return $filter(this, callbackfn, arguments[1]);
}
});
},{"./_array-methods":13,"./_export":34,"./_strict-method":105}],136:[function(require,module,exports){
'use strict';
// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
var $export = require('./_export');
var $find = require('./_array-methods')(6);
var KEY = 'findIndex';
var forced = true;
// Shouldn't skip holes
if (KEY in []) Array(1)[KEY](function () { forced = false; });
$export($export.P + $export.F * forced, 'Array', {
findIndex: function findIndex(callbackfn /* , that = undefined */) {
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
}
});
require('./_add-to-unscopables')(KEY);
},{"./_add-to-unscopables":5,"./_array-methods":13,"./_export":34}],137:[function(require,module,exports){
'use strict';
// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
var $export = require('./_export');
var $find = require('./_array-methods')(5);
var KEY = 'find';
var forced = true;
// Shouldn't skip holes
if (KEY in []) Array(1)[KEY](function () { forced = false; });
$export($export.P + $export.F * forced, 'Array', {
find: function find(callbackfn /* , that = undefined */) {
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
}
});
require('./_add-to-unscopables')(KEY);
},{"./_add-to-unscopables":5,"./_array-methods":13,"./_export":34}],138:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $forEach = require('./_array-methods')(0);
var STRICT = require('./_strict-method')([].forEach, true);
$export($export.P + $export.F * !STRICT, 'Array', {
// 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
forEach: function forEach(callbackfn /* , thisArg */) {
return $forEach(this, callbackfn, arguments[1]);
}
});
},{"./_array-methods":13,"./_export":34,"./_strict-method":105}],139:[function(require,module,exports){
'use strict';
var ctx = require('./_ctx');
var $export = require('./_export');
var toObject = require('./_to-object');
var call = require('./_iter-call');
var isArrayIter = require('./_is-array-iter');
var toLength = require('./_to-length');
var createProperty = require('./_create-property');
var getIterFn = require('./core.get-iterator-method');
$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {
// 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
var O = toObject(arrayLike);
var C = typeof this == 'function' ? this : Array;
var aLen = arguments.length;
var mapfn = aLen > 1 ? arguments[1] : undefined;
var mapping = mapfn !== undefined;
var index = 0;
var iterFn = getIterFn(O);
var length, result, step, iterator;
if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
// if object isn't iterable or it's array with default iterator - use simple case
if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
}
} else {
length = toLength(O.length);
for (result = new C(length); length > index; index++) {
createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
}
}
result.length = index;
return result;
}
});
},{"./_create-property":25,"./_ctx":26,"./_export":34,"./_is-array-iter":49,"./_iter-call":54,"./_iter-detect":57,"./_to-length":118,"./_to-object":119,"./core.get-iterator-method":130}],140:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $indexOf = require('./_array-includes')(false);
var $native = [].indexOf;
var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {
// 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
return NEGATIVE_ZERO
// convert -0 to +0
? $native.apply(this, arguments) || 0
: $indexOf(this, searchElement, arguments[1]);
}
});
},{"./_array-includes":12,"./_export":34,"./_strict-method":105}],141:[function(require,module,exports){
// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
var $export = require('./_export');
$export($export.S, 'Array', { isArray: require('./_is-array') });
},{"./_export":34,"./_is-array":50}],142:[function(require,module,exports){
'use strict';
var addToUnscopables = require('./_add-to-unscopables');
var step = require('./_iter-step');
var Iterators = require('./_iterators');
var toIObject = require('./_to-iobject');
// 22.1.3.4 Array.prototype.entries()
// 22.1.3.13 Array.prototype.keys()
// 22.1.3.29 Array.prototype.values()
// 22.1.3.30 Array.prototype[@@iterator]()
module.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {
this._t = toIObject(iterated); // target
this._i = 0; // next index
this._k = kind; // kind
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
}, function () {
var O = this._t;
var kind = this._k;
var index = this._i++;
if (!O || index >= O.length) {
this._t = undefined;
return step(1);
}
if (kind == 'keys') return step(0, index);
if (kind == 'values') return step(0, O[index]);
return step(0, [index, O[index]]);
}, 'values');
// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
Iterators.Arguments = Iterators.Array;
addToUnscopables('keys');
addToUnscopables('values');
addToUnscopables('entries');
},{"./_add-to-unscopables":5,"./_iter-define":56,"./_iter-step":58,"./_iterators":59,"./_to-iobject":117}],143:[function(require,module,exports){
'use strict';
// 22.1.3.13 Array.prototype.join(separator)
var $export = require('./_export');
var toIObject = require('./_to-iobject');
var arrayJoin = [].join;
// fallback for not array-like strings
$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {
join: function join(separator) {
return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
}
});
},{"./_export":34,"./_iobject":48,"./_strict-method":105,"./_to-iobject":117}],144:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var toIObject = require('./_to-iobject');
var toInteger = require('./_to-integer');
var toLength = require('./_to-length');
var $native = [].lastIndexOf;
var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {
// 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
// convert -0 to +0
if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;
var O = toIObject(this);
var length = toLength(O.length);
var index = length - 1;
if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));
if (index < 0) index = length + index;
for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;
return -1;
}
});
},{"./_export":34,"./_strict-method":105,"./_to-integer":116,"./_to-iobject":117,"./_to-length":118}],145:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $map = require('./_array-methods')(1);
$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {
// 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
map: function map(callbackfn /* , thisArg */) {
return $map(this, callbackfn, arguments[1]);
}
});
},{"./_array-methods":13,"./_export":34,"./_strict-method":105}],146:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var createProperty = require('./_create-property');
// WebKit Array.of isn't generic
$export($export.S + $export.F * require('./_fails')(function () {
function F() { /* empty */ }
return !(Array.of.call(F) instanceof F);
}), 'Array', {
// 22.1.2.3 Array.of( ...items)
of: function of(/* ...args */) {
var index = 0;
var aLen = arguments.length;
var result = new (typeof this == 'function' ? this : Array)(aLen);
while (aLen > index) createProperty(result, index, arguments[index++]);
result.length = aLen;
return result;
}
});
},{"./_create-property":25,"./_export":34,"./_fails":36}],147:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $reduce = require('./_array-reduce');
$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {
// 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
reduceRight: function reduceRight(callbackfn /* , initialValue */) {
return $reduce(this, callbackfn, arguments.length, arguments[1], true);
}
});
},{"./_array-reduce":14,"./_export":34,"./_strict-method":105}],148:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $reduce = require('./_array-reduce');
$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {
// 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
reduce: function reduce(callbackfn /* , initialValue */) {
return $reduce(this, callbackfn, arguments.length, arguments[1], false);
}
});
},{"./_array-reduce":14,"./_export":34,"./_strict-method":105}],149:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var html = require('./_html');
var cof = require('./_cof');
var toAbsoluteIndex = require('./_to-absolute-index');
var toLength = require('./_to-length');
var arraySlice = [].slice;
// fallback for not array-like ES3 strings and DOM objects
$export($export.P + $export.F * require('./_fails')(function () {
if (html) arraySlice.call(html);
}), 'Array', {
slice: function slice(begin, end) {
var len = toLength(this.length);
var klass = cof(this);
end = end === undefined ? len : end;
if (klass == 'Array') return arraySlice.call(this, begin, end);
var start = toAbsoluteIndex(begin, len);
var upTo = toAbsoluteIndex(end, len);
var size = toLength(upTo - start);
var cloned = new Array(size);
var i = 0;
for (; i < size; i++) cloned[i] = klass == 'String'
? this.charAt(start + i)
: this[start + i];
return cloned;
}
});
},{"./_cof":19,"./_export":34,"./_fails":36,"./_html":44,"./_to-absolute-index":114,"./_to-length":118}],150:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $some = require('./_array-methods')(3);
$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {
// 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
some: function some(callbackfn /* , thisArg */) {
return $some(this, callbackfn, arguments[1]);
}
});
},{"./_array-methods":13,"./_export":34,"./_strict-method":105}],151:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var aFunction = require('./_a-function');
var toObject = require('./_to-object');
var fails = require('./_fails');
var $sort = [].sort;
var test = [1, 2, 3];
$export($export.P + $export.F * (fails(function () {
// IE8-
test.sort(undefined);
}) || !fails(function () {
// V8 bug
test.sort(null);
// Old WebKit
}) || !require('./_strict-method')($sort)), 'Array', {
// 22.1.3.25 Array.prototype.sort(comparefn)
sort: function sort(comparefn) {
return comparefn === undefined
? $sort.call(toObject(this))
: $sort.call(toObject(this), aFunction(comparefn));
}
});
},{"./_a-function":3,"./_export":34,"./_fails":36,"./_strict-method":105,"./_to-object":119}],152:[function(require,module,exports){
require('./_set-species')('Array');
},{"./_set-species":100}],153:[function(require,module,exports){
// 20.3.3.1 / 15.9.4.4 Date.now()
var $export = require('./_export');
$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });
},{"./_export":34}],154:[function(require,module,exports){
// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
var $export = require('./_export');
var toISOString = require('./_date-to-iso-string');
// PhantomJS / old WebKit has a broken implementations
$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {
toISOString: toISOString
});
},{"./_date-to-iso-string":27,"./_export":34}],155:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var toObject = require('./_to-object');
var toPrimitive = require('./_to-primitive');
$export($export.P + $export.F * require('./_fails')(function () {
return new Date(NaN).toJSON() !== null
|| Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;
}), 'Date', {
// eslint-disable-next-line no-unused-vars
toJSON: function toJSON(key) {
var O = toObject(this);
var pv = toPrimitive(O);
return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
}
});
},{"./_export":34,"./_fails":36,"./_to-object":119,"./_to-primitive":120}],156:[function(require,module,exports){
var TO_PRIMITIVE = require('./_wks')('toPrimitive');
var proto = Date.prototype;
if (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));
},{"./_date-to-primitive":28,"./_hide":43,"./_wks":129}],157:[function(require,module,exports){
var DateProto = Date.prototype;
var INVALID_DATE = 'Invalid Date';
var TO_STRING = 'toString';
var $toString = DateProto[TO_STRING];
var getTime = DateProto.getTime;
if (new Date(NaN) + '' != INVALID_DATE) {
require('./_redefine')(DateProto, TO_STRING, function toString() {
var value = getTime.call(this);
// eslint-disable-next-line no-self-compare
return value === value ? $toString.call(this) : INVALID_DATE;
});
}
},{"./_redefine":92}],158:[function(require,module,exports){
// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
var $export = require('./_export');
$export($export.P, 'Function', { bind: require('./_bind') });
},{"./_bind":17,"./_export":34}],159:[function(require,module,exports){
'use strict';
var isObject = require('./_is-object');
var getPrototypeOf = require('./_object-gpo');
var HAS_INSTANCE = require('./_wks')('hasInstance');
var FunctionProto = Function.prototype;
// 19.2.3.6 Function.prototype[@@hasInstance](V)
if (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {
if (typeof this != 'function' || !isObject(O)) return false;
if (!isObject(this.prototype)) return O instanceof this;
// for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
while (O = getPrototypeOf(O)) if (this.prototype === O) return true;
return false;
} });
},{"./_is-object":52,"./_object-dp":72,"./_object-gpo":79,"./_wks":129}],160:[function(require,module,exports){
var dP = require('./_object-dp').f;
var FProto = Function.prototype;
var nameRE = /^\s*function ([^ (]*)/;
var NAME = 'name';
// 19.2.4.2 name
NAME in FProto || require('./_descriptors') && dP(FProto, NAME, {
configurable: true,
get: function () {
try {
return ('' + this).match(nameRE)[1];
} catch (e) {
return '';
}
}
});
},{"./_descriptors":30,"./_object-dp":72}],161:[function(require,module,exports){
'use strict';
var strong = require('./_collection-strong');
var validate = require('./_validate-collection');
var MAP = 'Map';
// 23.1 Map Objects
module.exports = require('./_collection')(MAP, function (get) {
return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
}, {
// 23.1.3.6 Map.prototype.get(key)
get: function get(key) {
var entry = strong.getEntry(validate(this, MAP), key);
return entry && entry.v;
},
// 23.1.3.9 Map.prototype.set(key, value)
set: function set(key, value) {
return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
}
}, strong, true);
},{"./_collection":23,"./_collection-strong":20,"./_validate-collection":126}],162:[function(require,module,exports){
// 20.2.2.3 Math.acosh(x)
var $export = require('./_export');
var log1p = require('./_math-log1p');
var sqrt = Math.sqrt;
var $acosh = Math.acosh;
$export($export.S + $export.F * !($acosh
// V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
&& Math.floor($acosh(Number.MAX_VALUE)) == 710
// Tor Browser bug: Math.acosh(Infinity) -> NaN
&& $acosh(Infinity) == Infinity
), 'Math', {
acosh: function acosh(x) {
return (x = +x) < 1 ? NaN : x > 94906265.62425156
? Math.log(x) + Math.LN2
: log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
}
});
},{"./_export":34,"./_math-log1p":63}],163:[function(require,module,exports){
// 20.2.2.5 Math.asinh(x)
var $export = require('./_export');
var $asinh = Math.asinh;
function asinh(x) {
return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
}
// Tor Browser bug: Math.asinh(0) -> -0
$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });
},{"./_export":34}],164:[function(require,module,exports){
// 20.2.2.7 Math.atanh(x)
var $export = require('./_export');
var $atanh = Math.atanh;
// Tor Browser bug: Math.atanh(-0) -> 0
$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {
atanh: function atanh(x) {
return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
}
});
},{"./_export":34}],165:[function(require,module,exports){
// 20.2.2.9 Math.cbrt(x)
var $export = require('./_export');
var sign = require('./_math-sign');
$export($export.S, 'Math', {
cbrt: function cbrt(x) {
return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
}
});
},{"./_export":34,"./_math-sign":65}],166:[function(require,module,exports){
// 20.2.2.11 Math.clz32(x)
var $export = require('./_export');
$export($export.S, 'Math', {
clz32: function clz32(x) {
return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
}
});
},{"./_export":34}],167:[function(require,module,exports){
// 20.2.2.12 Math.cosh(x)
var $export = require('./_export');
var exp = Math.exp;
$export($export.S, 'Math', {
cosh: function cosh(x) {
return (exp(x = +x) + exp(-x)) / 2;
}
});
},{"./_export":34}],168:[function(require,module,exports){
// 20.2.2.14 Math.expm1(x)
var $export = require('./_export');
var $expm1 = require('./_math-expm1');
$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });
},{"./_export":34,"./_math-expm1":61}],169:[function(require,module,exports){
// 20.2.2.16 Math.fround(x)
var $export = require('./_export');
$export($export.S, 'Math', { fround: require('./_math-fround') });
},{"./_export":34,"./_math-fround":62}],170:[function(require,module,exports){
// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
var $export = require('./_export');
var abs = Math.abs;
$export($export.S, 'Math', {
hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars
var sum = 0;
var i = 0;
var aLen = arguments.length;
var larg = 0;
var arg, div;
while (i < aLen) {
arg = abs(arguments[i++]);
if (larg < arg) {
div = larg / arg;
sum = sum * div * div + 1;
larg = arg;
} else if (arg > 0) {
div = arg / larg;
sum += div * div;
} else sum += arg;
}
return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
}
});
},{"./_export":34}],171:[function(require,module,exports){
// 20.2.2.18 Math.imul(x, y)
var $export = require('./_export');
var $imul = Math.imul;
// some WebKit versions fails with big numbers, some has wrong arity
$export($export.S + $export.F * require('./_fails')(function () {
return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
}), 'Math', {
imul: function imul(x, y) {
var UINT16 = 0xffff;
var xn = +x;
var yn = +y;
var xl = UINT16 & xn;
var yl = UINT16 & yn;
return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
}
});
},{"./_export":34,"./_fails":36}],172:[function(require,module,exports){
// 20.2.2.21 Math.log10(x)
var $export = require('./_export');
$export($export.S, 'Math', {
log10: function log10(x) {
return Math.log(x) * Math.LOG10E;
}
});
},{"./_export":34}],173:[function(require,module,exports){
// 20.2.2.20 Math.log1p(x)
var $export = require('./_export');
$export($export.S, 'Math', { log1p: require('./_math-log1p') });
},{"./_export":34,"./_math-log1p":63}],174:[function(require,module,exports){
// 20.2.2.22 Math.log2(x)
var $export = require('./_export');
$export($export.S, 'Math', {
log2: function log2(x) {
return Math.log(x) / Math.LN2;
}
});
},{"./_export":34}],175:[function(require,module,exports){
// 20.2.2.28 Math.sign(x)
var $export = require('./_export');
$export($export.S, 'Math', { sign: require('./_math-sign') });
},{"./_export":34,"./_math-sign":65}],176:[function(require,module,exports){
// 20.2.2.30 Math.sinh(x)
var $export = require('./_export');
var expm1 = require('./_math-expm1');
var exp = Math.exp;
// V8 near Chromium 38 has a problem with very small numbers
$export($export.S + $export.F * require('./_fails')(function () {
return !Math.sinh(-2e-17) != -2e-17;
}), 'Math', {
sinh: function sinh(x) {
return Math.abs(x = +x) < 1
? (expm1(x) - expm1(-x)) / 2
: (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
}
});
},{"./_export":34,"./_fails":36,"./_math-expm1":61}],177:[function(require,module,exports){
// 20.2.2.33 Math.tanh(x)
var $export = require('./_export');
var expm1 = require('./_math-expm1');
var exp = Math.exp;
$export($export.S, 'Math', {
tanh: function tanh(x) {
var a = expm1(x = +x);
var b = expm1(-x);
return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
}
});
},{"./_export":34,"./_math-expm1":61}],178:[function(require,module,exports){
// 20.2.2.34 Math.trunc(x)
var $export = require('./_export');
$export($export.S, 'Math', {
trunc: function trunc(it) {
return (it > 0 ? Math.floor : Math.ceil)(it);
}
});
},{"./_export":34}],179:[function(require,module,exports){
'use strict';
var global = require('./_global');
var has = require('./_has');
var cof = require('./_cof');
var inheritIfRequired = require('./_inherit-if-required');
var toPrimitive = require('./_to-primitive');
var fails = require('./_fails');
var gOPN = require('./_object-gopn').f;
var gOPD = require('./_object-gopd').f;
var dP = require('./_object-dp').f;
var $trim = require('./_string-trim').trim;
var NUMBER = 'Number';
var $Number = global[NUMBER];
var Base = $Number;
var proto = $Number.prototype;
// Opera ~12 has broken Object#toString
var BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;
var TRIM = 'trim' in String.prototype;
// 7.1.3 ToNumber(argument)
var toNumber = function (argument) {
var it = toPrimitive(argument, false);
if (typeof it == 'string' && it.length > 2) {
it = TRIM ? it.trim() : $trim(it, 3);
var first = it.charCodeAt(0);
var third, radix, maxCode;
if (first === 43 || first === 45) {
third = it.charCodeAt(2);
if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
} else if (first === 48) {
switch (it.charCodeAt(1)) {
case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
default: return +it;
}
for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
code = digits.charCodeAt(i);
// parseInt parses a string to a first unavailable symbol
// but ToNumber should return NaN if a string contains unavailable symbols
if (code < 48 || code > maxCode) return NaN;
} return parseInt(digits, radix);
}
} return +it;
};
if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {
$Number = function Number(value) {
var it = arguments.length < 1 ? 0 : value;
var that = this;
return that instanceof $Number
// check on 1..constructor(foo) case
&& (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)
? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
};
for (var keys = require('./_descriptors') ? gOPN(Base) : (
// ES3:
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
// ES6 (in case, if modules with ES6 Number statics required before):
'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
).split(','), j = 0, key; keys.length > j; j++) {
if (has(Base, key = keys[j]) && !has($Number, key)) {
dP($Number, key, gOPD(Base, key));
}
}
$Number.prototype = proto;
proto.constructor = $Number;
require('./_redefine')(global, NUMBER, $Number);
}
},{"./_cof":19,"./_descriptors":30,"./_fails":36,"./_global":41,"./_has":42,"./_inherit-if-required":46,"./_object-create":71,"./_object-dp":72,"./_object-gopd":75,"./_object-gopn":77,"./_redefine":92,"./_string-trim":111,"./_to-primitive":120}],180:[function(require,module,exports){
// 20.1.2.1 Number.EPSILON
var $export = require('./_export');
$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });
},{"./_export":34}],181:[function(require,module,exports){
// 20.1.2.2 Number.isFinite(number)
var $export = require('./_export');
var _isFinite = require('./_global').isFinite;
$export($export.S, 'Number', {
isFinite: function isFinite(it) {
return typeof it == 'number' && _isFinite(it);
}
});
},{"./_export":34,"./_global":41}],182:[function(require,module,exports){
// 20.1.2.3 Number.isInteger(number)
var $export = require('./_export');
$export($export.S, 'Number', { isInteger: require('./_is-integer') });
},{"./_export":34,"./_is-integer":51}],183:[function(require,module,exports){
// 20.1.2.4 Number.isNaN(number)
var $export = require('./_export');
$export($export.S, 'Number', {
isNaN: function isNaN(number) {
// eslint-disable-next-line no-self-compare
return number != number;
}
});
},{"./_export":34}],184:[function(require,module,exports){
// 20.1.2.5 Number.isSafeInteger(number)
var $export = require('./_export');
var isInteger = require('./_is-integer');
var abs = Math.abs;
$export($export.S, 'Number', {
isSafeInteger: function isSafeInteger(number) {
return isInteger(number) && abs(number) <= 0x1fffffffffffff;
}
});
},{"./_export":34,"./_is-integer":51}],185:[function(require,module,exports){
// 20.1.2.6 Number.MAX_SAFE_INTEGER
var $export = require('./_export');
$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });
},{"./_export":34}],186:[function(require,module,exports){
// 20.1.2.10 Number.MIN_SAFE_INTEGER
var $export = require('./_export');
$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });
},{"./_export":34}],187:[function(require,module,exports){
var $export = require('./_export');
var $parseFloat = require('./_parse-float');
// 20.1.2.12 Number.parseFloat(string)
$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });
},{"./_export":34,"./_parse-float":86}],188:[function(require,module,exports){
var $export = require('./_export');
var $parseInt = require('./_parse-int');
// 20.1.2.13 Number.parseInt(string, radix)
$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });
},{"./_export":34,"./_parse-int":87}],189:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var toInteger = require('./_to-integer');
var aNumberValue = require('./_a-number-value');
var repeat = require('./_string-repeat');
var $toFixed = 1.0.toFixed;
var floor = Math.floor;
var data = [0, 0, 0, 0, 0, 0];
var ERROR = 'Number.toFixed: incorrect invocation!';
var ZERO = '0';
var multiply = function (n, c) {
var i = -1;
var c2 = c;
while (++i < 6) {
c2 += n * data[i];
data[i] = c2 % 1e7;
c2 = floor(c2 / 1e7);
}
};
var divide = function (n) {
var i = 6;
var c = 0;
while (--i >= 0) {
c += data[i];
data[i] = floor(c / n);
c = (c % n) * 1e7;
}
};
var numToString = function () {
var i = 6;
var s = '';
while (--i >= 0) {
if (s !== '' || i === 0 || data[i] !== 0) {
var t = String(data[i]);
s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;
}
} return s;
};
var pow = function (x, n, acc) {
return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
};
var log = function (x) {
var n = 0;
var x2 = x;
while (x2 >= 4096) {
n += 12;
x2 /= 4096;
}
while (x2 >= 2) {
n += 1;
x2 /= 2;
} return n;
};
$export($export.P + $export.F * (!!$toFixed && (
0.00008.toFixed(3) !== '0.000' ||
0.9.toFixed(0) !== '1' ||
1.255.toFixed(2) !== '1.25' ||
1000000000000000128.0.toFixed(0) !== '1000000000000000128'
) || !require('./_fails')(function () {
// V8 ~ Android 4.3-
$toFixed.call({});
})), 'Number', {
toFixed: function toFixed(fractionDigits) {
var x = aNumberValue(this, ERROR);
var f = toInteger(fractionDigits);
var s = '';
var m = ZERO;
var e, z, j, k;
if (f < 0 || f > 20) throw RangeError(ERROR);
// eslint-disable-next-line no-self-compare
if (x != x) return 'NaN';
if (x <= -1e21 || x >= 1e21) return String(x);
if (x < 0) {
s = '-';
x = -x;
}
if (x > 1e-21) {
e = log(x * pow(2, 69, 1)) - 69;
z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);
z *= 0x10000000000000;
e = 52 - e;
if (e > 0) {
multiply(0, z);
j = f;
while (j >= 7) {
multiply(1e7, 0);
j -= 7;
}
multiply(pow(10, j, 1), 0);
j = e - 1;
while (j >= 23) {
divide(1 << 23);
j -= 23;
}
divide(1 << j);
multiply(1, 1);
divide(2);
m = numToString();
} else {
multiply(0, z);
multiply(1 << -e, 0);
m = numToString() + repeat.call(ZERO, f);
}
}
if (f > 0) {
k = m.length;
m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));
} else {
m = s + m;
} return m;
}
});
},{"./_a-number-value":4,"./_export":34,"./_fails":36,"./_string-repeat":110,"./_to-integer":116}],190:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $fails = require('./_fails');
var aNumberValue = require('./_a-number-value');
var $toPrecision = 1.0.toPrecision;
$export($export.P + $export.F * ($fails(function () {
// IE7-
return $toPrecision.call(1, undefined) !== '1';
}) || !$fails(function () {
// V8 ~ Android 4.3-
$toPrecision.call({});
})), 'Number', {
toPrecision: function toPrecision(precision) {
var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');
return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);
}
});
},{"./_a-number-value":4,"./_export":34,"./_fails":36}],191:[function(require,module,exports){
// 19.1.3.1 Object.assign(target, source)
var $export = require('./_export');
$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });
},{"./_export":34,"./_object-assign":70}],192:[function(require,module,exports){
var $export = require('./_export');
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
$export($export.S, 'Object', { create: require('./_object-create') });
},{"./_export":34,"./_object-create":71}],193:[function(require,module,exports){
var $export = require('./_export');
// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });
},{"./_descriptors":30,"./_export":34,"./_object-dps":73}],194:[function(require,module,exports){
var $export = require('./_export');
// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });
},{"./_descriptors":30,"./_export":34,"./_object-dp":72}],195:[function(require,module,exports){
// 19.1.2.5 Object.freeze(O)
var isObject = require('./_is-object');
var meta = require('./_meta').onFreeze;
require('./_object-sap')('freeze', function ($freeze) {
return function freeze(it) {
return $freeze && isObject(it) ? $freeze(meta(it)) : it;
};
});
},{"./_is-object":52,"./_meta":66,"./_object-sap":83}],196:[function(require,module,exports){
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
var toIObject = require('./_to-iobject');
var $getOwnPropertyDescriptor = require('./_object-gopd').f;
require('./_object-sap')('getOwnPropertyDescriptor', function () {
return function getOwnPropertyDescriptor(it, key) {
return $getOwnPropertyDescriptor(toIObject(it), key);
};
});
},{"./_object-gopd":75,"./_object-sap":83,"./_to-iobject":117}],197:[function(require,module,exports){
// 19.1.2.7 Object.getOwnPropertyNames(O)
require('./_object-sap')('getOwnPropertyNames', function () {
return require('./_object-gopn-ext').f;
});
},{"./_object-gopn-ext":76,"./_object-sap":83}],198:[function(require,module,exports){
// 19.1.2.9 Object.getPrototypeOf(O)
var toObject = require('./_to-object');
var $getPrototypeOf = require('./_object-gpo');
require('./_object-sap')('getPrototypeOf', function () {
return function getPrototypeOf(it) {
return $getPrototypeOf(toObject(it));
};
});
},{"./_object-gpo":79,"./_object-sap":83,"./_to-object":119}],199:[function(require,module,exports){
// 19.1.2.11 Object.isExtensible(O)
var isObject = require('./_is-object');
require('./_object-sap')('isExtensible', function ($isExtensible) {
return function isExtensible(it) {
return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
};
});
},{"./_is-object":52,"./_object-sap":83}],200:[function(require,module,exports){
// 19.1.2.12 Object.isFrozen(O)
var isObject = require('./_is-object');
require('./_object-sap')('isFrozen', function ($isFrozen) {
return function isFrozen(it) {
return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
};
});
},{"./_is-object":52,"./_object-sap":83}],201:[function(require,module,exports){
// 19.1.2.13 Object.isSealed(O)
var isObject = require('./_is-object');
require('./_object-sap')('isSealed', function ($isSealed) {
return function isSealed(it) {
return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
};
});
},{"./_is-object":52,"./_object-sap":83}],202:[function(require,module,exports){
// 19.1.3.10 Object.is(value1, value2)
var $export = require('./_export');
$export($export.S, 'Object', { is: require('./_same-value') });
},{"./_export":34,"./_same-value":96}],203:[function(require,module,exports){
// 19.1.2.14 Object.keys(O)
var toObject = require('./_to-object');
var $keys = require('./_object-keys');
require('./_object-sap')('keys', function () {
return function keys(it) {
return $keys(toObject(it));
};
});
},{"./_object-keys":81,"./_object-sap":83,"./_to-object":119}],204:[function(require,module,exports){
// 19.1.2.15 Object.preventExtensions(O)
var isObject = require('./_is-object');
var meta = require('./_meta').onFreeze;
require('./_object-sap')('preventExtensions', function ($preventExtensions) {
return function preventExtensions(it) {
return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;
};
});
},{"./_is-object":52,"./_meta":66,"./_object-sap":83}],205:[function(require,module,exports){
// 19.1.2.17 Object.seal(O)
var isObject = require('./_is-object');
var meta = require('./_meta').onFreeze;
require('./_object-sap')('seal', function ($seal) {
return function seal(it) {
return $seal && isObject(it) ? $seal(meta(it)) : it;
};
});
},{"./_is-object":52,"./_meta":66,"./_object-sap":83}],206:[function(require,module,exports){
// 19.1.3.19 Object.setPrototypeOf(O, proto)
var $export = require('./_export');
$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });
},{"./_export":34,"./_set-proto":99}],207:[function(require,module,exports){
'use strict';
// 19.1.3.6 Object.prototype.toString()
var classof = require('./_classof');
var test = {};
test[require('./_wks')('toStringTag')] = 'z';
if (test + '' != '[object z]') {
require('./_redefine')(Object.prototype, 'toString', function toString() {
return '[object ' + classof(this) + ']';
}, true);
}
},{"./_classof":18,"./_redefine":92,"./_wks":129}],208:[function(require,module,exports){
var $export = require('./_export');
var $parseFloat = require('./_parse-float');
// 18.2.4 parseFloat(string)
$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });
},{"./_export":34,"./_parse-float":86}],209:[function(require,module,exports){
var $export = require('./_export');
var $parseInt = require('./_parse-int');
// 18.2.5 parseInt(string, radix)
$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });
},{"./_export":34,"./_parse-int":87}],210:[function(require,module,exports){
'use strict';
var LIBRARY = require('./_library');
var global = require('./_global');
var ctx = require('./_ctx');
var classof = require('./_classof');
var $export = require('./_export');
var isObject = require('./_is-object');
var aFunction = require('./_a-function');
var anInstance = require('./_an-instance');
var forOf = require('./_for-of');
var speciesConstructor = require('./_species-constructor');
var task = require('./_task').set;
var microtask = require('./_microtask')();
var newPromiseCapabilityModule = require('./_new-promise-capability');
var perform = require('./_perform');
var userAgent = require('./_user-agent');
var promiseResolve = require('./_promise-resolve');
var PROMISE = 'Promise';
var TypeError = global.TypeError;
var process = global.process;
var versions = process && process.versions;
var v8 = versions && versions.v8 || '';
var $Promise = global[PROMISE];
var isNode = classof(process) == 'process';
var empty = function () { /* empty */ };
var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
var USE_NATIVE = !!function () {
try {
// correct subclassing with @@species support
var promise = $Promise.resolve(1);
var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {
exec(empty, empty);
};
// unhandled rejections tracking support, NodeJS Promise without it fails @@species test
return (isNode || typeof PromiseRejectionEvent == 'function')
&& promise.then(empty) instanceof FakePromise
// v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
// https://bugs.chromium.org/p/chromium/issues/detail?id=830565
// we can't detect it synchronously, so just check versions
&& v8.indexOf('6.6') !== 0
&& userAgent.indexOf('Chrome/66') === -1;
} catch (e) { /* empty */ }
}();
// helpers
var isThenable = function (it) {
var then;
return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
};
var notify = function (promise, isReject) {
if (promise._n) return;
promise._n = true;
var chain = promise._c;
microtask(function () {
var value = promise._v;
var ok = promise._s == 1;
var i = 0;
var run = function (reaction) {
var handler = ok ? reaction.ok : reaction.fail;
var resolve = reaction.resolve;
var reject = reaction.reject;
var domain = reaction.domain;
var result, then, exited;
try {
if (handler) {
if (!ok) {
if (promise._h == 2) onHandleUnhandled(promise);
promise._h = 1;
}
if (handler === true) result = value;
else {
if (domain) domain.enter();
result = handler(value); // may throw
if (domain) {
domain.exit();
exited = true;
}
}
if (result === reaction.promise) {
reject(TypeError('Promise-chain cycle'));
} else if (then = isThenable(result)) {
then.call(result, resolve, reject);
} else resolve(result);
} else reject(value);
} catch (e) {
if (domain && !exited) domain.exit();
reject(e);
}
};
while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
promise._c = [];
promise._n = false;
if (isReject && !promise._h) onUnhandled(promise);
});
};
var onUnhandled = function (promise) {
task.call(global, function () {
var value = promise._v;
var unhandled = isUnhandled(promise);
var result, handler, console;
if (unhandled) {
result = perform(function () {
if (isNode) {
process.emit('unhandledRejection', value, promise);
} else if (handler = global.onunhandledrejection) {
handler({ promise: promise, reason: value });
} else if ((console = global.console) && console.error) {
console.error('Unhandled promise rejection', value);
}
});
// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
promise._h = isNode || isUnhandled(promise) ? 2 : 1;
} promise._a = undefined;
if (unhandled && result.e) throw result.v;
});
};
var isUnhandled = function (promise) {
return promise._h !== 1 && (promise._a || promise._c).length === 0;
};
var onHandleUnhandled = function (promise) {
task.call(global, function () {
var handler;
if (isNode) {
process.emit('rejectionHandled', promise);
} else if (handler = global.onrejectionhandled) {
handler({ promise: promise, reason: promise._v });
}
});
};
var $reject = function (value) {
var promise = this;
if (promise._d) return;
promise._d = true;
promise = promise._w || promise; // unwrap
promise._v = value;
promise._s = 2;
if (!promise._a) promise._a = promise._c.slice();
notify(promise, true);
};
var $resolve = function (value) {
var promise = this;
var then;
if (promise._d) return;
promise._d = true;
promise = promise._w || promise; // unwrap
try {
if (promise === value) throw TypeError("Promise can't be resolved itself");
if (then = isThenable(value)) {
microtask(function () {
var wrapper = { _w: promise, _d: false }; // wrap
try {
then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
} catch (e) {
$reject.call(wrapper, e);
}
});
} else {
promise._v = value;
promise._s = 1;
notify(promise, false);
}
} catch (e) {
$reject.call({ _w: promise, _d: false }, e); // wrap
}
};
// constructor polyfill
if (!USE_NATIVE) {
// 25.4.3.1 Promise(executor)
$Promise = function Promise(executor) {
anInstance(this, $Promise, PROMISE, '_h');
aFunction(executor);
Internal.call(this);
try {
executor(ctx($resolve, this, 1), ctx($reject, this, 1));
} catch (err) {
$reject.call(this, err);
}
};
// eslint-disable-next-line no-unused-vars
Internal = function Promise(executor) {
this._c = []; // <- awaiting reactions
this._a = undefined; // <- checked in isUnhandled reactions
this._s = 0; // <- state
this._d = false; // <- done
this._v = undefined; // <- value
this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
this._n = false; // <- notify
};
Internal.prototype = require('./_redefine-all')($Promise.prototype, {
// 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
then: function then(onFulfilled, onRejected) {
var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
reaction.fail = typeof onRejected == 'function' && onRejected;
reaction.domain = isNode ? process.domain : undefined;
this._c.push(reaction);
if (this._a) this._a.push(reaction);
if (this._s) notify(this, false);
return reaction.promise;
},
// 25.4.5.1 Promise.prototype.catch(onRejected)
'catch': function (onRejected) {
return this.then(undefined, onRejected);
}
});
OwnPromiseCapability = function () {
var promise = new Internal();
this.promise = promise;
this.resolve = ctx($resolve, promise, 1);
this.reject = ctx($reject, promise, 1);
};
newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
return C === $Promise || C === Wrapper
? new OwnPromiseCapability(C)
: newGenericPromiseCapability(C);
};
}
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
require('./_set-to-string-tag')($Promise, PROMISE);
require('./_set-species')(PROMISE);
Wrapper = require('./_core')[PROMISE];
// statics
$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
// 25.4.4.5 Promise.reject(r)
reject: function reject(r) {
var capability = newPromiseCapability(this);
var $$reject = capability.reject;
$$reject(r);
return capability.promise;
}
});
$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
// 25.4.4.6 Promise.resolve(x)
resolve: function resolve(x) {
return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
}
});
$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {
$Promise.all(iter)['catch'](empty);
})), PROMISE, {
// 25.4.4.1 Promise.all(iterable)
all: function all(iterable) {
var C = this;
var capability = newPromiseCapability(C);
var resolve = capability.resolve;
var reject = capability.reject;
var result = perform(function () {
var values = [];
var index = 0;
var remaining = 1;
forOf(iterable, false, function (promise) {
var $index = index++;
var alreadyCalled = false;
values.push(undefined);
remaining++;
C.resolve(promise).then(function (value) {
if (alreadyCalled) return;
alreadyCalled = true;
values[$index] = value;
--remaining || resolve(values);
}, reject);
});
--remaining || resolve(values);
});
if (result.e) reject(result.v);
return capability.promise;
},
// 25.4.4.4 Promise.race(iterable)
race: function race(iterable) {
var C = this;
var capability = newPromiseCapability(C);
var reject = capability.reject;
var result = perform(function () {
forOf(iterable, false, function (promise) {
C.resolve(promise).then(capability.resolve, reject);
});
});
if (result.e) reject(result.v);
return capability.promise;
}
});
},{"./_a-function":3,"./_an-instance":7,"./_classof":18,"./_core":24,"./_ctx":26,"./_export":34,"./_for-of":40,"./_global":41,"./_is-object":52,"./_iter-detect":57,"./_library":60,"./_microtask":68,"./_new-promise-capability":69,"./_perform":88,"./_promise-resolve":89,"./_redefine-all":91,"./_set-species":100,"./_set-to-string-tag":101,"./_species-constructor":104,"./_task":113,"./_user-agent":125,"./_wks":129}],211:[function(require,module,exports){
// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
var $export = require('./_export');
var aFunction = require('./_a-function');
var anObject = require('./_an-object');
var rApply = (require('./_global').Reflect || {}).apply;
var fApply = Function.apply;
// MS Edge argumentsList argument is optional
$export($export.S + $export.F * !require('./_fails')(function () {
rApply(function () { /* empty */ });
}), 'Reflect', {
apply: function apply(target, thisArgument, argumentsList) {
var T = aFunction(target);
var L = anObject(argumentsList);
return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
}
});
},{"./_a-function":3,"./_an-object":8,"./_export":34,"./_fails":36,"./_global":41}],212:[function(require,module,exports){
// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
var $export = require('./_export');
var create = require('./_object-create');
var aFunction = require('./_a-function');
var anObject = require('./_an-object');
var isObject = require('./_is-object');
var fails = require('./_fails');
var bind = require('./_bind');
var rConstruct = (require('./_global').Reflect || {}).construct;
// MS Edge supports only 2 arguments and argumentsList argument is optional
// FF Nightly sets third argument as `new.target`, but does not create `this` from it
var NEW_TARGET_BUG = fails(function () {
function F() { /* empty */ }
return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);
});
var ARGS_BUG = !fails(function () {
rConstruct(function () { /* empty */ });
});
$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {
construct: function construct(Target, args /* , newTarget */) {
aFunction(Target);
anObject(args);
var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);
if (Target == newTarget) {
// w/o altered newTarget, optimization for 0-4 arguments
switch (args.length) {
case 0: return new Target();
case 1: return new Target(args[0]);
case 2: return new Target(args[0], args[1]);
case 3: return new Target(args[0], args[1], args[2]);
case 4: return new Target(args[0], args[1], args[2], args[3]);
}
// w/o altered newTarget, lot of arguments case
var $args = [null];
$args.push.apply($args, args);
return new (bind.apply(Target, $args))();
}
// with altered newTarget, not support built-in constructors
var proto = newTarget.prototype;
var instance = create(isObject(proto) ? proto : Object.prototype);
var result = Function.apply.call(Target, instance, args);
return isObject(result) ? result : instance;
}
});
},{"./_a-function":3,"./_an-object":8,"./_bind":17,"./_export":34,"./_fails":36,"./_global":41,"./_is-object":52,"./_object-create":71}],213:[function(require,module,exports){
// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
var dP = require('./_object-dp');
var $export = require('./_export');
var anObject = require('./_an-object');
var toPrimitive = require('./_to-primitive');
// MS Edge has broken Reflect.defineProperty - throwing instead of returning false
$export($export.S + $export.F * require('./_fails')(function () {
// eslint-disable-next-line no-undef
Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });
}), 'Reflect', {
defineProperty: function defineProperty(target, propertyKey, attributes) {
anObject(target);
propertyKey = toPrimitive(propertyKey, true);
anObject(attributes);
try {
dP.f(target, propertyKey, attributes);
return true;
} catch (e) {
return false;
}
}
});
},{"./_an-object":8,"./_export":34,"./_fails":36,"./_object-dp":72,"./_to-primitive":120}],214:[function(require,module,exports){
// 26.1.4 Reflect.deleteProperty(target, propertyKey)
var $export = require('./_export');
var gOPD = require('./_object-gopd').f;
var anObject = require('./_an-object');
$export($export.S, 'Reflect', {
deleteProperty: function deleteProperty(target, propertyKey) {
var desc = gOPD(anObject(target), propertyKey);
return desc && !desc.configurable ? false : delete target[propertyKey];
}
});
},{"./_an-object":8,"./_export":34,"./_object-gopd":75}],215:[function(require,module,exports){
'use strict';
// 26.1.5 Reflect.enumerate(target)
var $export = require('./_export');
var anObject = require('./_an-object');
var Enumerate = function (iterated) {
this._t = anObject(iterated); // target
this._i = 0; // next index
var keys = this._k = []; // keys
var key;
for (key in iterated) keys.push(key);
};
require('./_iter-create')(Enumerate, 'Object', function () {
var that = this;
var keys = that._k;
var key;
do {
if (that._i >= keys.length) return { value: undefined, done: true };
} while (!((key = keys[that._i++]) in that._t));
return { value: key, done: false };
});
$export($export.S, 'Reflect', {
enumerate: function enumerate(target) {
return new Enumerate(target);
}
});
},{"./_an-object":8,"./_export":34,"./_iter-create":55}],216:[function(require,module,exports){
// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
var gOPD = require('./_object-gopd');
var $export = require('./_export');
var anObject = require('./_an-object');
$export($export.S, 'Reflect', {
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
return gOPD.f(anObject(target), propertyKey);
}
});
},{"./_an-object":8,"./_export":34,"./_object-gopd":75}],217:[function(require,module,exports){
// 26.1.8 Reflect.getPrototypeOf(target)
var $export = require('./_export');
var getProto = require('./_object-gpo');
var anObject = require('./_an-object');
$export($export.S, 'Reflect', {
getPrototypeOf: function getPrototypeOf(target) {
return getProto(anObject(target));
}
});
},{"./_an-object":8,"./_export":34,"./_object-gpo":79}],218:[function(require,module,exports){
// 26.1.6 Reflect.get(target, propertyKey [, receiver])
var gOPD = require('./_object-gopd');
var getPrototypeOf = require('./_object-gpo');
var has = require('./_has');
var $export = require('./_export');
var isObject = require('./_is-object');
var anObject = require('./_an-object');
function get(target, propertyKey /* , receiver */) {
var receiver = arguments.length < 3 ? target : arguments[2];
var desc, proto;
if (anObject(target) === receiver) return target[propertyKey];
if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')
? desc.value
: desc.get !== undefined
? desc.get.call(receiver)
: undefined;
if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);
}
$export($export.S, 'Reflect', { get: get });
},{"./_an-object":8,"./_export":34,"./_has":42,"./_is-object":52,"./_object-gopd":75,"./_object-gpo":79}],219:[function(require,module,exports){
// 26.1.9 Reflect.has(target, propertyKey)
var $export = require('./_export');
$export($export.S, 'Reflect', {
has: function has(target, propertyKey) {
return propertyKey in target;
}
});
},{"./_export":34}],220:[function(require,module,exports){
// 26.1.10 Reflect.isExtensible(target)
var $export = require('./_export');
var anObject = require('./_an-object');
var $isExtensible = Object.isExtensible;
$export($export.S, 'Reflect', {
isExtensible: function isExtensible(target) {
anObject(target);
return $isExtensible ? $isExtensible(target) : true;
}
});
},{"./_an-object":8,"./_export":34}],221:[function(require,module,exports){
// 26.1.11 Reflect.ownKeys(target)
var $export = require('./_export');
$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });
},{"./_export":34,"./_own-keys":85}],222:[function(require,module,exports){
// 26.1.12 Reflect.preventExtensions(target)
var $export = require('./_export');
var anObject = require('./_an-object');
var $preventExtensions = Object.preventExtensions;
$export($export.S, 'Reflect', {
preventExtensions: function preventExtensions(target) {
anObject(target);
try {
if ($preventExtensions) $preventExtensions(target);
return true;
} catch (e) {
return false;
}
}
});
},{"./_an-object":8,"./_export":34}],223:[function(require,module,exports){
// 26.1.14 Reflect.setPrototypeOf(target, proto)
var $export = require('./_export');
var setProto = require('./_set-proto');
if (setProto) $export($export.S, 'Reflect', {
setPrototypeOf: function setPrototypeOf(target, proto) {
setProto.check(target, proto);
try {
setProto.set(target, proto);
return true;
} catch (e) {
return false;
}
}
});
},{"./_export":34,"./_set-proto":99}],224:[function(require,module,exports){
// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
var dP = require('./_object-dp');
var gOPD = require('./_object-gopd');
var getPrototypeOf = require('./_object-gpo');
var has = require('./_has');
var $export = require('./_export');
var createDesc = require('./_property-desc');
var anObject = require('./_an-object');
var isObject = require('./_is-object');
function set(target, propertyKey, V /* , receiver */) {
var receiver = arguments.length < 4 ? target : arguments[3];
var ownDesc = gOPD.f(anObject(target), propertyKey);
var existingDescriptor, proto;
if (!ownDesc) {
if (isObject(proto = getPrototypeOf(target))) {
return set(proto, propertyKey, V, receiver);
}
ownDesc = createDesc(0);
}
if (has(ownDesc, 'value')) {
if (ownDesc.writable === false || !isObject(receiver)) return false;
if (existingDescriptor = gOPD.f(receiver, propertyKey)) {
if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
existingDescriptor.value = V;
dP.f(receiver, propertyKey, existingDescriptor);
} else dP.f(receiver, propertyKey, createDesc(0, V));
return true;
}
return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
}
$export($export.S, 'Reflect', { set: set });
},{"./_an-object":8,"./_export":34,"./_has":42,"./_is-object":52,"./_object-dp":72,"./_object-gopd":75,"./_object-gpo":79,"./_property-desc":90}],225:[function(require,module,exports){
var global = require('./_global');
var inheritIfRequired = require('./_inherit-if-required');
var dP = require('./_object-dp').f;
var gOPN = require('./_object-gopn').f;
var isRegExp = require('./_is-regexp');
var $flags = require('./_flags');
var $RegExp = global.RegExp;
var Base = $RegExp;
var proto = $RegExp.prototype;
var re1 = /a/g;
var re2 = /a/g;
// "new" creates a new object, old webkit buggy here
var CORRECT_NEW = new $RegExp(re1) !== re1;
if (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {
re2[require('./_wks')('match')] = false;
// RegExp constructor can alter flags and IsRegExp works correct with @@match
return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
}))) {
$RegExp = function RegExp(p, f) {
var tiRE = this instanceof $RegExp;
var piRE = isRegExp(p);
var fiU = f === undefined;
return !tiRE && piRE && p.constructor === $RegExp && fiU ? p
: inheritIfRequired(CORRECT_NEW
? new Base(piRE && !fiU ? p.source : p, f)
: Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)
, tiRE ? this : proto, $RegExp);
};
var proxy = function (key) {
key in $RegExp || dP($RegExp, key, {
configurable: true,
get: function () { return Base[key]; },
set: function (it) { Base[key] = it; }
});
};
for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);
proto.constructor = $RegExp;
$RegExp.prototype = proto;
require('./_redefine')(global, 'RegExp', $RegExp);
}
require('./_set-species')('RegExp');
},{"./_descriptors":30,"./_fails":36,"./_flags":38,"./_global":41,"./_inherit-if-required":46,"./_is-regexp":53,"./_object-dp":72,"./_object-gopn":77,"./_redefine":92,"./_set-species":100,"./_wks":129}],226:[function(require,module,exports){
'use strict';
var regexpExec = require('./_regexp-exec');
require('./_export')({
target: 'RegExp',
proto: true,
forced: regexpExec !== /./.exec
}, {
exec: regexpExec
});
},{"./_export":34,"./_regexp-exec":94}],227:[function(require,module,exports){
// 21.2.5.3 get RegExp.prototype.flags()
if (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {
configurable: true,
get: require('./_flags')
});
},{"./_descriptors":30,"./_flags":38,"./_object-dp":72}],228:[function(require,module,exports){
'use strict';
var anObject = require('./_an-object');
var toLength = require('./_to-length');
var advanceStringIndex = require('./_advance-string-index');
var regExpExec = require('./_regexp-exec-abstract');
// @@match logic
require('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {
return [
// `String.prototype.match` method
// https://tc39.github.io/ecma262/#sec-string.prototype.match
function match(regexp) {
var O = defined(this);
var fn = regexp == undefined ? undefined : regexp[MATCH];
return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
},
// `RegExp.prototype[@@match]` method
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
function (regexp) {
var res = maybeCallNative($match, regexp, this);
if (res.done) return res.value;
var rx = anObject(regexp);
var S = String(this);
if (!rx.global) return regExpExec(rx, S);
var fullUnicode = rx.unicode;
rx.lastIndex = 0;
var A = [];
var n = 0;
var result;
while ((result = regExpExec(rx, S)) !== null) {
var matchStr = String(result[0]);
A[n] = matchStr;
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
n++;
}
return n === 0 ? null : A;
}
];
});
},{"./_advance-string-index":6,"./_an-object":8,"./_fix-re-wks":37,"./_regexp-exec-abstract":93,"./_to-length":118}],229:[function(require,module,exports){
'use strict';
var anObject = require('./_an-object');
var toObject = require('./_to-object');
var toLength = require('./_to-length');
var toInteger = require('./_to-integer');
var advanceStringIndex = require('./_advance-string-index');
var regExpExec = require('./_regexp-exec-abstract');
var max = Math.max;
var min = Math.min;
var floor = Math.floor;
var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g;
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g;
var maybeToString = function (it) {
return it === undefined ? it : String(it);
};
// @@replace logic
require('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {
return [
// `String.prototype.replace` method
// https://tc39.github.io/ecma262/#sec-string.prototype.replace
function replace(searchValue, replaceValue) {
var O = defined(this);
var fn = searchValue == undefined ? undefined : searchValue[REPLACE];
return fn !== undefined
? fn.call(searchValue, O, replaceValue)
: $replace.call(String(O), searchValue, replaceValue);
},
// `RegExp.prototype[@@replace]` method
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
function (regexp, replaceValue) {
var res = maybeCallNative($replace, regexp, this, replaceValue);
if (res.done) return res.value;
var rx = anObject(regexp);
var S = String(this);
var functionalReplace = typeof replaceValue === 'function';
if (!functionalReplace) replaceValue = String(replaceValue);
var global = rx.global;
if (global) {
var fullUnicode = rx.unicode;
rx.lastIndex = 0;
}
var results = [];
while (true) {
var result = regExpExec(rx, S);
if (result === null) break;
results.push(result);
if (!global) break;
var matchStr = String(result[0]);
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
}
var accumulatedResult = '';
var nextSourcePosition = 0;
for (var i = 0; i < results.length; i++) {
result = results[i];
var matched = String(result[0]);
var position = max(min(toInteger(result.index), S.length), 0);
var captures = [];
// NOTE: This is equivalent to
// captures = result.slice(1).map(maybeToString)
// but for some reason `nativeSlice.call(result, 1, result.length)` (called in
// the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
// causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
var namedCaptures = result.groups;
if (functionalReplace) {
var replacerArgs = [matched].concat(captures, position, S);
if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
var replacement = String(replaceValue.apply(undefined, replacerArgs));
} else {
replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
}
if (position >= nextSourcePosition) {
accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
nextSourcePosition = position + matched.length;
}
}
return accumulatedResult + S.slice(nextSourcePosition);
}
];
// https://tc39.github.io/ecma262/#sec-getsubstitution
function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
var tailPos = position + matched.length;
var m = captures.length;
var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
if (namedCaptures !== undefined) {
namedCaptures = toObject(namedCaptures);
symbols = SUBSTITUTION_SYMBOLS;
}
return $replace.call(replacement, symbols, function (match, ch) {
var capture;
switch (ch.charAt(0)) {
case '$': return '$';
case '&': return matched;
case '`': return str.slice(0, position);
case "'": return str.slice(tailPos);
case '<':
capture = namedCaptures[ch.slice(1, -1)];
break;
default: // \d\d?
var n = +ch;
if (n === 0) return ch;
if (n > m) {
var f = floor(n / 10);
if (f === 0) return ch;
if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
return ch;
}
capture = captures[n - 1];
}
return capture === undefined ? '' : capture;
});
}
});
},{"./_advance-string-index":6,"./_an-object":8,"./_fix-re-wks":37,"./_regexp-exec-abstract":93,"./_to-integer":116,"./_to-length":118,"./_to-object":119}],230:[function(require,module,exports){
'use strict';
var anObject = require('./_an-object');
var sameValue = require('./_same-value');
var regExpExec = require('./_regexp-exec-abstract');
// @@search logic
require('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {
return [
// `String.prototype.search` method
// https://tc39.github.io/ecma262/#sec-string.prototype.search
function search(regexp) {
var O = defined(this);
var fn = regexp == undefined ? undefined : regexp[SEARCH];
return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
},
// `RegExp.prototype[@@search]` method
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
function (regexp) {
var res = maybeCallNative($search, regexp, this);
if (res.done) return res.value;
var rx = anObject(regexp);
var S = String(this);
var previousLastIndex = rx.lastIndex;
if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
var result = regExpExec(rx, S);
if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
return result === null ? -1 : result.index;
}
];
});
},{"./_an-object":8,"./_fix-re-wks":37,"./_regexp-exec-abstract":93,"./_same-value":96}],231:[function(require,module,exports){
'use strict';
var isRegExp = require('./_is-regexp');
var anObject = require('./_an-object');
var speciesConstructor = require('./_species-constructor');
var advanceStringIndex = require('./_advance-string-index');
var toLength = require('./_to-length');
var callRegExpExec = require('./_regexp-exec-abstract');
var regexpExec = require('./_regexp-exec');
var $min = Math.min;
var $push = [].push;
var $SPLIT = 'split';
var LENGTH = 'length';
var LAST_INDEX = 'lastIndex';
// eslint-disable-next-line no-empty
var SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })();
// @@split logic
require('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {
var internalSplit;
if (
'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||
'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||
'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||
'.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||
'.'[$SPLIT](/()()/)[LENGTH] > 1 ||
''[$SPLIT](/.?/)[LENGTH]
) {
// based on es5-shim implementation, need to rework it
internalSplit = function (separator, limit) {
var string = String(this);
if (separator === undefined && limit === 0) return [];
// If `separator` is not a regex, use native split
if (!isRegExp(separator)) return $split.call(string, separator, limit);
var output = [];
var flags = (separator.ignoreCase ? 'i' : '') +
(separator.multiline ? 'm' : '') +
(separator.unicode ? 'u' : '') +
(separator.sticky ? 'y' : '');
var lastLastIndex = 0;
var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;
// Make `global` and avoid `lastIndex` issues by working with a copy
var separatorCopy = new RegExp(separator.source, flags + 'g');
var match, lastIndex, lastLength;
while (match = regexpExec.call(separatorCopy, string)) {
lastIndex = separatorCopy[LAST_INDEX];
if (lastIndex > lastLastIndex) {
output.push(string.slice(lastLastIndex, match.index));
if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));
lastLength = match[0][LENGTH];
lastLastIndex = lastIndex;
if (output[LENGTH] >= splitLimit) break;
}
if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
}
if (lastLastIndex === string[LENGTH]) {
if (lastLength || !separatorCopy.test('')) output.push('');
} else output.push(string.slice(lastLastIndex));
return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
};
// Chakra, V8
} else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {
internalSplit = function (separator, limit) {
return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);
};
} else {
internalSplit = $split;
}
return [
// `String.prototype.split` method
// https://tc39.github.io/ecma262/#sec-string.prototype.split
function split(separator, limit) {
var O = defined(this);
var splitter = separator == undefined ? undefined : separator[SPLIT];
return splitter !== undefined
? splitter.call(separator, O, limit)
: internalSplit.call(String(O), separator, limit);
},
// `RegExp.prototype[@@split]` method
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
//
// NOTE: This cannot be properly polyfilled in engines that don't support
// the 'y' flag.
function (regexp, limit) {
var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);
if (res.done) return res.value;
var rx = anObject(regexp);
var S = String(this);
var C = speciesConstructor(rx, RegExp);
var unicodeMatching = rx.unicode;
var flags = (rx.ignoreCase ? 'i' : '') +
(rx.multiline ? 'm' : '') +
(rx.unicode ? 'u' : '') +
(SUPPORTS_Y ? 'y' : 'g');
// ^(? + rx + ) is needed, in combination with some S slicing, to
// simulate the 'y' flag.
var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
var lim = limit === undefined ? 0xffffffff : limit >>> 0;
if (lim === 0) return [];
if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
var p = 0;
var q = 0;
var A = [];
while (q < S.length) {
splitter.lastIndex = SUPPORTS_Y ? q : 0;
var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
var e;
if (
z === null ||
(e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
) {
q = advanceStringIndex(S, q, unicodeMatching);
} else {
A.push(S.slice(p, q));
if (A.length === lim) return A;
for (var i = 1; i <= z.length - 1; i++) {
A.push(z[i]);
if (A.length === lim) return A;
}
q = p = e;
}
}
A.push(S.slice(p));
return A;
}
];
});
},{"./_advance-string-index":6,"./_an-object":8,"./_fix-re-wks":37,"./_is-regexp":53,"./_regexp-exec":94,"./_regexp-exec-abstract":93,"./_species-constructor":104,"./_to-length":118}],232:[function(require,module,exports){
'use strict';
require('./es6.regexp.flags');
var anObject = require('./_an-object');
var $flags = require('./_flags');
var DESCRIPTORS = require('./_descriptors');
var TO_STRING = 'toString';
var $toString = /./[TO_STRING];
var define = function (fn) {
require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);
};
// 21.2.5.14 RegExp.prototype.toString()
if (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {
define(function toString() {
var R = anObject(this);
return '/'.concat(R.source, '/',
'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
});
// FF44- RegExp#toString has a wrong name
} else if ($toString.name != TO_STRING) {
define(function toString() {
return $toString.call(this);
});
}
},{"./_an-object":8,"./_descriptors":30,"./_fails":36,"./_flags":38,"./_redefine":92,"./es6.regexp.flags":227}],233:[function(require,module,exports){
'use strict';
var strong = require('./_collection-strong');
var validate = require('./_validate-collection');
var SET = 'Set';
// 23.2 Set Objects
module.exports = require('./_collection')(SET, function (get) {
return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
}, {
// 23.2.3.1 Set.prototype.add(value)
add: function add(value) {
return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);
}
}, strong);
},{"./_collection":23,"./_collection-strong":20,"./_validate-collection":126}],234:[function(require,module,exports){
'use strict';
// B.2.3.2 String.prototype.anchor(name)
require('./_string-html')('anchor', function (createHTML) {
return function anchor(name) {
return createHTML(this, 'a', 'name', name);
};
});
},{"./_string-html":108}],235:[function(require,module,exports){
'use strict';
// B.2.3.3 String.prototype.big()
require('./_string-html')('big', function (createHTML) {
return function big() {
return createHTML(this, 'big', '', '');
};
});
},{"./_string-html":108}],236:[function(require,module,exports){
'use strict';
// B.2.3.4 String.prototype.blink()
require('./_string-html')('blink', function (createHTML) {
return function blink() {
return createHTML(this, 'blink', '', '');
};
});
},{"./_string-html":108}],237:[function(require,module,exports){
'use strict';
// B.2.3.5 String.prototype.bold()
require('./_string-html')('bold', function (createHTML) {
return function bold() {
return createHTML(this, 'b', '', '');
};
});
},{"./_string-html":108}],238:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $at = require('./_string-at')(false);
$export($export.P, 'String', {
// 21.1.3.3 String.prototype.codePointAt(pos)
codePointAt: function codePointAt(pos) {
return $at(this, pos);
}
});
},{"./_export":34,"./_string-at":106}],239:[function(require,module,exports){
// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
'use strict';
var $export = require('./_export');
var toLength = require('./_to-length');
var context = require('./_string-context');
var ENDS_WITH = 'endsWith';
var $endsWith = ''[ENDS_WITH];
$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {
endsWith: function endsWith(searchString /* , endPosition = @length */) {
var that = context(this, searchString, ENDS_WITH);
var endPosition = arguments.length > 1 ? arguments[1] : undefined;
var len = toLength(that.length);
var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);
var search = String(searchString);
return $endsWith
? $endsWith.call(that, search, end)
: that.slice(end - search.length, end) === search;
}
});
},{"./_export":34,"./_fails-is-regexp":35,"./_string-context":107,"./_to-length":118}],240:[function(require,module,exports){
'use strict';
// B.2.3.6 String.prototype.fixed()
require('./_string-html')('fixed', function (createHTML) {
return function fixed() {
return createHTML(this, 'tt', '', '');
};
});
},{"./_string-html":108}],241:[function(require,module,exports){
'use strict';
// B.2.3.7 String.prototype.fontcolor(color)
require('./_string-html')('fontcolor', function (createHTML) {
return function fontcolor(color) {
return createHTML(this, 'font', 'color', color);
};
});
},{"./_string-html":108}],242:[function(require,module,exports){
'use strict';
// B.2.3.8 String.prototype.fontsize(size)
require('./_string-html')('fontsize', function (createHTML) {
return function fontsize(size) {
return createHTML(this, 'font', 'size', size);
};
});
},{"./_string-html":108}],243:[function(require,module,exports){
var $export = require('./_export');
var toAbsoluteIndex = require('./_to-absolute-index');
var fromCharCode = String.fromCharCode;
var $fromCodePoint = String.fromCodePoint;
// length should be 1, old FF problem
$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
// 21.1.2.2 String.fromCodePoint(...codePoints)
fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars
var res = [];
var aLen = arguments.length;
var i = 0;
var code;
while (aLen > i) {
code = +arguments[i++];
if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');
res.push(code < 0x10000
? fromCharCode(code)
: fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
);
} return res.join('');
}
});
},{"./_export":34,"./_to-absolute-index":114}],244:[function(require,module,exports){
// 21.1.3.7 String.prototype.includes(searchString, position = 0)
'use strict';
var $export = require('./_export');
var context = require('./_string-context');
var INCLUDES = 'includes';
$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {
includes: function includes(searchString /* , position = 0 */) {
return !!~context(this, searchString, INCLUDES)
.indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
}
});
},{"./_export":34,"./_fails-is-regexp":35,"./_string-context":107}],245:[function(require,module,exports){
'use strict';
// B.2.3.9 String.prototype.italics()
require('./_string-html')('italics', function (createHTML) {
return function italics() {
return createHTML(this, 'i', '', '');
};
});
},{"./_string-html":108}],246:[function(require,module,exports){
'use strict';
var $at = require('./_string-at')(true);
// 21.1.3.27 String.prototype[@@iterator]()
require('./_iter-define')(String, 'String', function (iterated) {
this._t = String(iterated); // target
this._i = 0; // next index
// 21.1.5.2.1 %StringIteratorPrototype%.next()
}, function () {
var O = this._t;
var index = this._i;
var point;
if (index >= O.length) return { value: undefined, done: true };
point = $at(O, index);
this._i += point.length;
return { value: point, done: false };
});
},{"./_iter-define":56,"./_string-at":106}],247:[function(require,module,exports){
'use strict';
// B.2.3.10 String.prototype.link(url)
require('./_string-html')('link', function (createHTML) {
return function link(url) {
return createHTML(this, 'a', 'href', url);
};
});
},{"./_string-html":108}],248:[function(require,module,exports){
var $export = require('./_export');
var toIObject = require('./_to-iobject');
var toLength = require('./_to-length');
$export($export.S, 'String', {
// 21.1.2.4 String.raw(callSite, ...substitutions)
raw: function raw(callSite) {
var tpl = toIObject(callSite.raw);
var len = toLength(tpl.length);
var aLen = arguments.length;
var res = [];
var i = 0;
while (len > i) {
res.push(String(tpl[i++]));
if (i < aLen) res.push(String(arguments[i]));
} return res.join('');
}
});
},{"./_export":34,"./_to-iobject":117,"./_to-length":118}],249:[function(require,module,exports){
var $export = require('./_export');
$export($export.P, 'String', {
// 21.1.3.13 String.prototype.repeat(count)
repeat: require('./_string-repeat')
});
},{"./_export":34,"./_string-repeat":110}],250:[function(require,module,exports){
'use strict';
// B.2.3.11 String.prototype.small()
require('./_string-html')('small', function (createHTML) {
return function small() {
return createHTML(this, 'small', '', '');
};
});
},{"./_string-html":108}],251:[function(require,module,exports){
// 21.1.3.18 String.prototype.startsWith(searchString [, position ])
'use strict';
var $export = require('./_export');
var toLength = require('./_to-length');
var context = require('./_string-context');
var STARTS_WITH = 'startsWith';
var $startsWith = ''[STARTS_WITH];
$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {
startsWith: function startsWith(searchString /* , position = 0 */) {
var that = context(this, searchString, STARTS_WITH);
var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));
var search = String(searchString);
return $startsWith
? $startsWith.call(that, search, index)
: that.slice(index, index + search.length) === search;
}
});
},{"./_export":34,"./_fails-is-regexp":35,"./_string-context":107,"./_to-length":118}],252:[function(require,module,exports){
'use strict';
// B.2.3.12 String.prototype.strike()
require('./_string-html')('strike', function (createHTML) {
return function strike() {
return createHTML(this, 'strike', '', '');
};
});
},{"./_string-html":108}],253:[function(require,module,exports){
'use strict';
// B.2.3.13 String.prototype.sub()
require('./_string-html')('sub', function (createHTML) {
return function sub() {
return createHTML(this, 'sub', '', '');
};
});
},{"./_string-html":108}],254:[function(require,module,exports){
'use strict';
// B.2.3.14 String.prototype.sup()
require('./_string-html')('sup', function (createHTML) {
return function sup() {
return createHTML(this, 'sup', '', '');
};
});
},{"./_string-html":108}],255:[function(require,module,exports){
'use strict';
// 21.1.3.25 String.prototype.trim()
require('./_string-trim')('trim', function ($trim) {
return function trim() {
return $trim(this, 3);
};
});
},{"./_string-trim":111}],256:[function(require,module,exports){
'use strict';
// ECMAScript 6 symbols shim
var global = require('./_global');
var has = require('./_has');
var DESCRIPTORS = require('./_descriptors');
var $export = require('./_export');
var redefine = require('./_redefine');
var META = require('./_meta').KEY;
var $fails = require('./_fails');
var shared = require('./_shared');
var setToStringTag = require('./_set-to-string-tag');
var uid = require('./_uid');
var wks = require('./_wks');
var wksExt = require('./_wks-ext');
var wksDefine = require('./_wks-define');
var enumKeys = require('./_enum-keys');
var isArray = require('./_is-array');
var anObject = require('./_an-object');
var isObject = require('./_is-object');
var toIObject = require('./_to-iobject');
var toPrimitive = require('./_to-primitive');
var createDesc = require('./_property-desc');
var _create = require('./_object-create');
var gOPNExt = require('./_object-gopn-ext');
var $GOPD = require('./_object-gopd');
var $DP = require('./_object-dp');
var $keys = require('./_object-keys');
var gOPD = $GOPD.f;
var dP = $DP.f;
var gOPN = gOPNExt.f;
var $Symbol = global.Symbol;
var $JSON = global.JSON;
var _stringify = $JSON && $JSON.stringify;
var PROTOTYPE = 'prototype';
var HIDDEN = wks('_hidden');
var TO_PRIMITIVE = wks('toPrimitive');
var isEnum = {}.propertyIsEnumerable;
var SymbolRegistry = shared('symbol-registry');
var AllSymbols = shared('symbols');
var OPSymbols = shared('op-symbols');
var ObjectProto = Object[PROTOTYPE];
var USE_NATIVE = typeof $Symbol == 'function';
var QObject = global.QObject;
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
var setSymbolDesc = DESCRIPTORS && $fails(function () {
return _create(dP({}, 'a', {
get: function () { return dP(this, 'a', { value: 7 }).a; }
})).a != 7;
}) ? function (it, key, D) {
var protoDesc = gOPD(ObjectProto, key);
if (protoDesc) delete ObjectProto[key];
dP(it, key, D);
if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
} : dP;
var wrap = function (tag) {
var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
sym._k = tag;
return sym;
};
var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
return typeof it == 'symbol';
} : function (it) {
return it instanceof $Symbol;
};
var $defineProperty = function defineProperty(it, key, D) {
if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
anObject(it);
key = toPrimitive(key, true);
anObject(D);
if (has(AllSymbols, key)) {
if (!D.enumerable) {
if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
it[HIDDEN][key] = true;
} else {
if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
D = _create(D, { enumerable: createDesc(0, false) });
} return setSymbolDesc(it, key, D);
} return dP(it, key, D);
};
var $defineProperties = function defineProperties(it, P) {
anObject(it);
var keys = enumKeys(P = toIObject(P));
var i = 0;
var l = keys.length;
var key;
while (l > i) $defineProperty(it, key = keys[i++], P[key]);
return it;
};
var $create = function create(it, P) {
return P === undefined ? _create(it) : $defineProperties(_create(it), P);
};
var $propertyIsEnumerable = function propertyIsEnumerable(key) {
var E = isEnum.call(this, key = toPrimitive(key, true));
if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
};
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
it = toIObject(it);
key = toPrimitive(key, true);
if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
var D = gOPD(it, key);
if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
return D;
};
var $getOwnPropertyNames = function getOwnPropertyNames(it) {
var names = gOPN(toIObject(it));
var result = [];
var i = 0;
var key;
while (names.length > i) {
if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
} return result;
};
var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
var IS_OP = it === ObjectProto;
var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
var result = [];
var i = 0;
var key;
while (names.length > i) {
if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
} return result;
};
// 19.4.1.1 Symbol([description])
if (!USE_NATIVE) {
$Symbol = function Symbol() {
if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
var $set = function (value) {
if (this === ObjectProto) $set.call(OPSymbols, value);
if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
setSymbolDesc(this, tag, createDesc(1, value));
};
if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
return wrap(tag);
};
redefine($Symbol[PROTOTYPE], 'toString', function toString() {
return this._k;
});
$GOPD.f = $getOwnPropertyDescriptor;
$DP.f = $defineProperty;
require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;
require('./_object-pie').f = $propertyIsEnumerable;
require('./_object-gops').f = $getOwnPropertySymbols;
if (DESCRIPTORS && !require('./_library')) {
redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
}
wksExt.f = function (name) {
return wrap(wks(name));
};
}
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
for (var es6Symbols = (
// 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
// 19.4.2.1 Symbol.for(key)
'for': function (key) {
return has(SymbolRegistry, key += '')
? SymbolRegistry[key]
: SymbolRegistry[key] = $Symbol(key);
},
// 19.4.2.5 Symbol.keyFor(sym)
keyFor: function keyFor(sym) {
if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
},
useSetter: function () { setter = true; },
useSimple: function () { setter = false; }
});
$export($export.S + $export.F * !USE_NATIVE, 'Object', {
// 19.1.2.2 Object.create(O [, Properties])
create: $create,
// 19.1.2.4 Object.defineProperty(O, P, Attributes)
defineProperty: $defineProperty,
// 19.1.2.3 Object.defineProperties(O, Properties)
defineProperties: $defineProperties,
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
// 19.1.2.7 Object.getOwnPropertyNames(O)
getOwnPropertyNames: $getOwnPropertyNames,
// 19.1.2.8 Object.getOwnPropertySymbols(O)
getOwnPropertySymbols: $getOwnPropertySymbols
});
// 24.3.2 JSON.stringify(value [, replacer [, space]])
$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
var S = $Symbol();
// MS Edge converts symbol values to JSON as {}
// WebKit converts symbol values to JSON as null
// V8 throws on boxed symbols
return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
})), 'JSON', {
stringify: function stringify(it) {
var args = [it];
var i = 1;
var replacer, $replacer;
while (arguments.length > i) args.push(arguments[i++]);
$replacer = replacer = args[1];
if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
if (!isArray(replacer)) replacer = function (key, value) {
if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
if (!isSymbol(value)) return value;
};
args[1] = replacer;
return _stringify.apply($JSON, args);
}
});
// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
// 19.4.3.5 Symbol.prototype[@@toStringTag]
setToStringTag($Symbol, 'Symbol');
// 20.2.1.9 Math[@@toStringTag]
setToStringTag(Math, 'Math', true);
// 24.3.3 JSON[@@toStringTag]
setToStringTag(global.JSON, 'JSON', true);
},{"./_an-object":8,"./_descriptors":30,"./_enum-keys":33,"./_export":34,"./_fails":36,"./_global":41,"./_has":42,"./_hide":43,"./_is-array":50,"./_is-object":52,"./_library":60,"./_meta":66,"./_object-create":71,"./_object-dp":72,"./_object-gopd":75,"./_object-gopn":77,"./_object-gopn-ext":76,"./_object-gops":78,"./_object-keys":81,"./_object-pie":82,"./_property-desc":90,"./_redefine":92,"./_set-to-string-tag":101,"./_shared":103,"./_to-iobject":117,"./_to-primitive":120,"./_uid":124,"./_wks":129,"./_wks-define":127,"./_wks-ext":128}],257:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var $typed = require('./_typed');
var buffer = require('./_typed-buffer');
var anObject = require('./_an-object');
var toAbsoluteIndex = require('./_to-absolute-index');
var toLength = require('./_to-length');
var isObject = require('./_is-object');
var ArrayBuffer = require('./_global').ArrayBuffer;
var speciesConstructor = require('./_species-constructor');
var $ArrayBuffer = buffer.ArrayBuffer;
var $DataView = buffer.DataView;
var $isView = $typed.ABV && ArrayBuffer.isView;
var $slice = $ArrayBuffer.prototype.slice;
var VIEW = $typed.VIEW;
var ARRAY_BUFFER = 'ArrayBuffer';
$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });
$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
// 24.1.3.1 ArrayBuffer.isView(arg)
isView: function isView(it) {
return $isView && $isView(it) || isObject(it) && VIEW in it;
}
});
$export($export.P + $export.U + $export.F * require('./_fails')(function () {
return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
}), ARRAY_BUFFER, {
// 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
slice: function slice(start, end) {
if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix
var len = anObject(this).byteLength;
var first = toAbsoluteIndex(start, len);
var fin = toAbsoluteIndex(end === undefined ? len : end, len);
var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));
var viewS = new $DataView(this);
var viewT = new $DataView(result);
var index = 0;
while (first < fin) {
viewT.setUint8(index++, viewS.getUint8(first++));
} return result;
}
});
require('./_set-species')(ARRAY_BUFFER);
},{"./_an-object":8,"./_export":34,"./_fails":36,"./_global":41,"./_is-object":52,"./_set-species":100,"./_species-constructor":104,"./_to-absolute-index":114,"./_to-length":118,"./_typed":123,"./_typed-buffer":122}],258:[function(require,module,exports){
var $export = require('./_export');
$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {
DataView: require('./_typed-buffer').DataView
});
},{"./_export":34,"./_typed":123,"./_typed-buffer":122}],259:[function(require,module,exports){
require('./_typed-array')('Float32', 4, function (init) {
return function Float32Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});
},{"./_typed-array":121}],260:[function(require,module,exports){
require('./_typed-array')('Float64', 8, function (init) {
return function Float64Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});
},{"./_typed-array":121}],261:[function(require,module,exports){
require('./_typed-array')('Int16', 2, function (init) {
return function Int16Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});
},{"./_typed-array":121}],262:[function(require,module,exports){
require('./_typed-array')('Int32', 4, function (init) {
return function Int32Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});
},{"./_typed-array":121}],263:[function(require,module,exports){
require('./_typed-array')('Int8', 1, function (init) {
return function Int8Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});
},{"./_typed-array":121}],264:[function(require,module,exports){
require('./_typed-array')('Uint16', 2, function (init) {
return function Uint16Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});
},{"./_typed-array":121}],265:[function(require,module,exports){
require('./_typed-array')('Uint32', 4, function (init) {
return function Uint32Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});
},{"./_typed-array":121}],266:[function(require,module,exports){
require('./_typed-array')('Uint8', 1, function (init) {
return function Uint8Array(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
});
},{"./_typed-array":121}],267:[function(require,module,exports){
require('./_typed-array')('Uint8', 1, function (init) {
return function Uint8ClampedArray(data, byteOffset, length) {
return init(this, data, byteOffset, length);
};
}, true);
},{"./_typed-array":121}],268:[function(require,module,exports){
'use strict';
var each = require('./_array-methods')(0);
var redefine = require('./_redefine');
var meta = require('./_meta');
var assign = require('./_object-assign');
var weak = require('./_collection-weak');
var isObject = require('./_is-object');
var fails = require('./_fails');
var validate = require('./_validate-collection');
var WEAK_MAP = 'WeakMap';
var getWeak = meta.getWeak;
var isExtensible = Object.isExtensible;
var uncaughtFrozenStore = weak.ufstore;
var tmp = {};
var InternalMap;
var wrapper = function (get) {
return function WeakMap() {
return get(this, arguments.length > 0 ? arguments[0] : undefined);
};
};
var methods = {
// 23.3.3.3 WeakMap.prototype.get(key)
get: function get(key) {
if (isObject(key)) {
var data = getWeak(key);
if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);
return data ? data[this._i] : undefined;
}
},
// 23.3.3.5 WeakMap.prototype.set(key, value)
set: function set(key, value) {
return weak.def(validate(this, WEAK_MAP), key, value);
}
};
// 23.3 WeakMap Objects
var $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);
// IE11 WeakMap frozen keys fix
if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {
InternalMap = weak.getConstructor(wrapper, WEAK_MAP);
assign(InternalMap.prototype, methods);
meta.NEED = true;
each(['delete', 'has', 'get', 'set'], function (key) {
var proto = $WeakMap.prototype;
var method = proto[key];
redefine(proto, key, function (a, b) {
// store frozen objects on internal weakmap shim
if (isObject(a) && !isExtensible(a)) {
if (!this._f) this._f = new InternalMap();
var result = this._f[key](a, b);
return key == 'set' ? this : result;
// store all the rest on native weakmap
} return method.call(this, a, b);
});
});
}
},{"./_array-methods":13,"./_collection":23,"./_collection-weak":22,"./_fails":36,"./_is-object":52,"./_meta":66,"./_object-assign":70,"./_redefine":92,"./_validate-collection":126}],269:[function(require,module,exports){
'use strict';
var weak = require('./_collection-weak');
var validate = require('./_validate-collection');
var WEAK_SET = 'WeakSet';
// 23.4 WeakSet Objects
require('./_collection')(WEAK_SET, function (get) {
return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
}, {
// 23.4.3.1 WeakSet.prototype.add(value)
add: function add(value) {
return weak.def(validate(this, WEAK_SET), value, true);
}
}, weak, false, true);
},{"./_collection":23,"./_collection-weak":22,"./_validate-collection":126}],270:[function(require,module,exports){
'use strict';
// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap
var $export = require('./_export');
var flattenIntoArray = require('./_flatten-into-array');
var toObject = require('./_to-object');
var toLength = require('./_to-length');
var aFunction = require('./_a-function');
var arraySpeciesCreate = require('./_array-species-create');
$export($export.P, 'Array', {
flatMap: function flatMap(callbackfn /* , thisArg */) {
var O = toObject(this);
var sourceLen, A;
aFunction(callbackfn);
sourceLen = toLength(O.length);
A = arraySpeciesCreate(O, 0);
flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);
return A;
}
});
require('./_add-to-unscopables')('flatMap');
},{"./_a-function":3,"./_add-to-unscopables":5,"./_array-species-create":16,"./_export":34,"./_flatten-into-array":39,"./_to-length":118,"./_to-object":119}],271:[function(require,module,exports){
'use strict';
// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten
var $export = require('./_export');
var flattenIntoArray = require('./_flatten-into-array');
var toObject = require('./_to-object');
var toLength = require('./_to-length');
var toInteger = require('./_to-integer');
var arraySpeciesCreate = require('./_array-species-create');
$export($export.P, 'Array', {
flatten: function flatten(/* depthArg = 1 */) {
var depthArg = arguments[0];
var O = toObject(this);
var sourceLen = toLength(O.length);
var A = arraySpeciesCreate(O, 0);
flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
return A;
}
});
require('./_add-to-unscopables')('flatten');
},{"./_add-to-unscopables":5,"./_array-species-create":16,"./_export":34,"./_flatten-into-array":39,"./_to-integer":116,"./_to-length":118,"./_to-object":119}],272:[function(require,module,exports){
'use strict';
// https://github.com/tc39/Array.prototype.includes
var $export = require('./_export');
var $includes = require('./_array-includes')(true);
$export($export.P, 'Array', {
includes: function includes(el /* , fromIndex = 0 */) {
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
}
});
require('./_add-to-unscopables')('includes');
},{"./_add-to-unscopables":5,"./_array-includes":12,"./_export":34}],273:[function(require,module,exports){
// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask
var $export = require('./_export');
var microtask = require('./_microtask')();
var process = require('./_global').process;
var isNode = require('./_cof')(process) == 'process';
$export($export.G, {
asap: function asap(fn) {
var domain = isNode && process.domain;
microtask(domain ? domain.bind(fn) : fn);
}
});
},{"./_cof":19,"./_export":34,"./_global":41,"./_microtask":68}],274:[function(require,module,exports){
// https://github.com/ljharb/proposal-is-error
var $export = require('./_export');
var cof = require('./_cof');
$export($export.S, 'Error', {
isError: function isError(it) {
return cof(it) === 'Error';
}
});
},{"./_cof":19,"./_export":34}],275:[function(require,module,exports){
// https://github.com/tc39/proposal-global
var $export = require('./_export');
$export($export.G, { global: require('./_global') });
},{"./_export":34,"./_global":41}],276:[function(require,module,exports){
// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
require('./_set-collection-from')('Map');
},{"./_set-collection-from":97}],277:[function(require,module,exports){
// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
require('./_set-collection-of')('Map');
},{"./_set-collection-of":98}],278:[function(require,module,exports){
// https://github.com/DavidBruant/Map-Set.prototype.toJSON
var $export = require('./_export');
$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });
},{"./_collection-to-json":21,"./_export":34}],279:[function(require,module,exports){
// https://rwaldron.github.io/proposal-math-extensions/
var $export = require('./_export');
$export($export.S, 'Math', {
clamp: function clamp(x, lower, upper) {
return Math.min(upper, Math.max(lower, x));
}
});
},{"./_export":34}],280:[function(require,module,exports){
// https://rwaldron.github.io/proposal-math-extensions/
var $export = require('./_export');
$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });
},{"./_export":34}],281:[function(require,module,exports){
// https://rwaldron.github.io/proposal-math-extensions/
var $export = require('./_export');
var RAD_PER_DEG = 180 / Math.PI;
$export($export.S, 'Math', {
degrees: function degrees(radians) {
return radians * RAD_PER_DEG;
}
});
},{"./_export":34}],282:[function(require,module,exports){
// https://rwaldron.github.io/proposal-math-extensions/
var $export = require('./_export');
var scale = require('./_math-scale');
var fround = require('./_math-fround');
$export($export.S, 'Math', {
fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {
return fround(scale(x, inLow, inHigh, outLow, outHigh));
}
});
},{"./_export":34,"./_math-fround":62,"./_math-scale":64}],283:[function(require,module,exports){
// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
var $export = require('./_export');
$export($export.S, 'Math', {
iaddh: function iaddh(x0, x1, y0, y1) {
var $x0 = x0 >>> 0;
var $x1 = x1 >>> 0;
var $y0 = y0 >>> 0;
return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;
}
});
},{"./_export":34}],284:[function(require,module,exports){
// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
var $export = require('./_export');
$export($export.S, 'Math', {
imulh: function imulh(u, v) {
var UINT16 = 0xffff;
var $u = +u;
var $v = +v;
var u0 = $u & UINT16;
var v0 = $v & UINT16;
var u1 = $u >> 16;
var v1 = $v >> 16;
var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
}
});
},{"./_export":34}],285:[function(require,module,exports){
// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
var $export = require('./_export');
$export($export.S, 'Math', {
isubh: function isubh(x0, x1, y0, y1) {
var $x0 = x0 >>> 0;
var $x1 = x1 >>> 0;
var $y0 = y0 >>> 0;
return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;
}
});
},{"./_export":34}],286:[function(require,module,exports){
// https://rwaldron.github.io/proposal-math-extensions/
var $export = require('./_export');
$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });
},{"./_export":34}],287:[function(require,module,exports){
// https://rwaldron.github.io/proposal-math-extensions/
var $export = require('./_export');
var DEG_PER_RAD = Math.PI / 180;
$export($export.S, 'Math', {
radians: function radians(degrees) {
return degrees * DEG_PER_RAD;
}
});
},{"./_export":34}],288:[function(require,module,exports){
// https://rwaldron.github.io/proposal-math-extensions/
var $export = require('./_export');
$export($export.S, 'Math', { scale: require('./_math-scale') });
},{"./_export":34,"./_math-scale":64}],289:[function(require,module,exports){
// http://jfbastien.github.io/papers/Math.signbit.html
var $export = require('./_export');
$export($export.S, 'Math', { signbit: function signbit(x) {
// eslint-disable-next-line no-self-compare
return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;
} });
},{"./_export":34}],290:[function(require,module,exports){
// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
var $export = require('./_export');
$export($export.S, 'Math', {
umulh: function umulh(u, v) {
var UINT16 = 0xffff;
var $u = +u;
var $v = +v;
var u0 = $u & UINT16;
var v0 = $v & UINT16;
var u1 = $u >>> 16;
var v1 = $v >>> 16;
var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
}
});
},{"./_export":34}],291:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var toObject = require('./_to-object');
var aFunction = require('./_a-function');
var $defineProperty = require('./_object-dp');
// B.2.2.2 Object.prototype.__defineGetter__(P, getter)
require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {
__defineGetter__: function __defineGetter__(P, getter) {
$defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
}
});
},{"./_a-function":3,"./_descriptors":30,"./_export":34,"./_object-dp":72,"./_object-forced-pam":74,"./_to-object":119}],292:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var toObject = require('./_to-object');
var aFunction = require('./_a-function');
var $defineProperty = require('./_object-dp');
// B.2.2.3 Object.prototype.__defineSetter__(P, setter)
require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {
__defineSetter__: function __defineSetter__(P, setter) {
$defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
}
});
},{"./_a-function":3,"./_descriptors":30,"./_export":34,"./_object-dp":72,"./_object-forced-pam":74,"./_to-object":119}],293:[function(require,module,exports){
// https://github.com/tc39/proposal-object-values-entries
var $export = require('./_export');
var $entries = require('./_object-to-array')(true);
$export($export.S, 'Object', {
entries: function entries(it) {
return $entries(it);
}
});
},{"./_export":34,"./_object-to-array":84}],294:[function(require,module,exports){
// https://github.com/tc39/proposal-object-getownpropertydescriptors
var $export = require('./_export');
var ownKeys = require('./_own-keys');
var toIObject = require('./_to-iobject');
var gOPD = require('./_object-gopd');
var createProperty = require('./_create-property');
$export($export.S, 'Object', {
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
var O = toIObject(object);
var getDesc = gOPD.f;
var keys = ownKeys(O);
var result = {};
var i = 0;
var key, desc;
while (keys.length > i) {
desc = getDesc(O, key = keys[i++]);
if (desc !== undefined) createProperty(result, key, desc);
}
return result;
}
});
},{"./_create-property":25,"./_export":34,"./_object-gopd":75,"./_own-keys":85,"./_to-iobject":117}],295:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var toObject = require('./_to-object');
var toPrimitive = require('./_to-primitive');
var getPrototypeOf = require('./_object-gpo');
var getOwnPropertyDescriptor = require('./_object-gopd').f;
// B.2.2.4 Object.prototype.__lookupGetter__(P)
require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {
__lookupGetter__: function __lookupGetter__(P) {
var O = toObject(this);
var K = toPrimitive(P, true);
var D;
do {
if (D = getOwnPropertyDescriptor(O, K)) return D.get;
} while (O = getPrototypeOf(O));
}
});
},{"./_descriptors":30,"./_export":34,"./_object-forced-pam":74,"./_object-gopd":75,"./_object-gpo":79,"./_to-object":119,"./_to-primitive":120}],296:[function(require,module,exports){
'use strict';
var $export = require('./_export');
var toObject = require('./_to-object');
var toPrimitive = require('./_to-primitive');
var getPrototypeOf = require('./_object-gpo');
var getOwnPropertyDescriptor = require('./_object-gopd').f;
// B.2.2.5 Object.prototype.__lookupSetter__(P)
require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {
__lookupSetter__: function __lookupSetter__(P) {
var O = toObject(this);
var K = toPrimitive(P, true);
var D;
do {
if (D = getOwnPropertyDescriptor(O, K)) return D.set;
} while (O = getPrototypeOf(O));
}
});
},{"./_descriptors":30,"./_export":34,"./_object-forced-pam":74,"./_object-gopd":75,"./_object-gpo":79,"./_to-object":119,"./_to-primitive":120}],297:[function(require,module,exports){
// https://github.com/tc39/proposal-object-values-entries
var $export = require('./_export');
var $values = require('./_object-to-array')(false);
$export($export.S, 'Object', {
values: function values(it) {
return $values(it);
}
});
},{"./_export":34,"./_object-to-array":84}],298:[function(require,module,exports){
'use strict';
// https://github.com/zenparsing/es-observable
var $export = require('./_export');
var global = require('./_global');
var core = require('./_core');
var microtask = require('./_microtask')();
var OBSERVABLE = require('./_wks')('observable');
var aFunction = require('./_a-function');
var anObject = require('./_an-object');
var anInstance = require('./_an-instance');
var redefineAll = require('./_redefine-all');
var hide = require('./_hide');
var forOf = require('./_for-of');
var RETURN = forOf.RETURN;
var getMethod = function (fn) {
return fn == null ? undefined : aFunction(fn);
};
var cleanupSubscription = function (subscription) {
var cleanup = subscription._c;
if (cleanup) {
subscription._c = undefined;
cleanup();
}
};
var subscriptionClosed = function (subscription) {
return subscription._o === undefined;
};
var closeSubscription = function (subscription) {
if (!subscriptionClosed(subscription)) {
subscription._o = undefined;
cleanupSubscription(subscription);
}
};
var Subscription = function (observer, subscriber) {
anObject(observer);
this._c = undefined;
this._o = observer;
observer = new SubscriptionObserver(this);
try {
var cleanup = subscriber(observer);
var subscription = cleanup;
if (cleanup != null) {
if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };
else aFunction(cleanup);
this._c = cleanup;
}
} catch (e) {
observer.error(e);
return;
} if (subscriptionClosed(this)) cleanupSubscription(this);
};
Subscription.prototype = redefineAll({}, {
unsubscribe: function unsubscribe() { closeSubscription(this); }
});
var SubscriptionObserver = function (subscription) {
this._s = subscription;
};
SubscriptionObserver.prototype = redefineAll({}, {
next: function next(value) {
var subscription = this._s;
if (!subscriptionClosed(subscription)) {
var observer = subscription._o;
try {
var m = getMethod(observer.next);
if (m) return m.call(observer, value);
} catch (e) {
try {
closeSubscription(subscription);
} finally {
throw e;
}
}
}
},
error: function error(value) {
var subscription = this._s;
if (subscriptionClosed(subscription)) throw value;
var observer = subscription._o;
subscription._o = undefined;
try {
var m = getMethod(observer.error);
if (!m) throw value;
value = m.call(observer, value);
} catch (e) {
try {
cleanupSubscription(subscription);
} finally {
throw e;
}
} cleanupSubscription(subscription);
return value;
},
complete: function complete(value) {
var subscription = this._s;
if (!subscriptionClosed(subscription)) {
var observer = subscription._o;
subscription._o = undefined;
try {
var m = getMethod(observer.complete);
value = m ? m.call(observer, value) : undefined;
} catch (e) {
try {
cleanupSubscription(subscription);
} finally {
throw e;
}
} cleanupSubscription(subscription);
return value;
}
}
});
var $Observable = function Observable(subscriber) {
anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);
};
redefineAll($Observable.prototype, {
subscribe: function subscribe(observer) {
return new Subscription(observer, this._f);
},
forEach: function forEach(fn) {
var that = this;
return new (core.Promise || global.Promise)(function (resolve, reject) {
aFunction(fn);
var subscription = that.subscribe({
next: function (value) {
try {
return fn(value);
} catch (e) {
reject(e);
subscription.unsubscribe();
}
},
error: reject,
complete: resolve
});
});
}
});
redefineAll($Observable, {
from: function from(x) {
var C = typeof this === 'function' ? this : $Observable;
var method = getMethod(anObject(x)[OBSERVABLE]);
if (method) {
var observable = anObject(method.call(x));
return observable.constructor === C ? observable : new C(function (observer) {
return observable.subscribe(observer);
});
}
return new C(function (observer) {
var done = false;
microtask(function () {
if (!done) {
try {
if (forOf(x, false, function (it) {
observer.next(it);
if (done) return RETURN;
}) === RETURN) return;
} catch (e) {
if (done) throw e;
observer.error(e);
return;
} observer.complete();
}
});
return function () { done = true; };
});
},
of: function of() {
for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];
return new (typeof this === 'function' ? this : $Observable)(function (observer) {
var done = false;
microtask(function () {
if (!done) {
for (var j = 0; j < items.length; ++j) {
observer.next(items[j]);
if (done) return;
} observer.complete();
}
});
return function () { done = true; };
});
}
});
hide($Observable.prototype, OBSERVABLE, function () { return this; });
$export($export.G, { Observable: $Observable });
require('./_set-species')('Observable');
},{"./_a-function":3,"./_an-instance":7,"./_an-object":8,"./_core":24,"./_export":34,"./_for-of":40,"./_global":41,"./_hide":43,"./_microtask":68,"./_redefine-all":91,"./_set-species":100,"./_wks":129}],299:[function(require,module,exports){
// https://github.com/tc39/proposal-promise-finally
'use strict';
var $export = require('./_export');
var core = require('./_core');
var global = require('./_global');
var speciesConstructor = require('./_species-constructor');
var promiseResolve = require('./_promise-resolve');
$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {
var C = speciesConstructor(this, core.Promise || global.Promise);
var isFunction = typeof onFinally == 'function';
return this.then(
isFunction ? function (x) {
return promiseResolve(C, onFinally()).then(function () { return x; });
} : onFinally,
isFunction ? function (e) {
return promiseResolve(C, onFinally()).then(function () { throw e; });
} : onFinally
);
} });
},{"./_core":24,"./_export":34,"./_global":41,"./_promise-resolve":89,"./_species-constructor":104}],300:[function(require,module,exports){
'use strict';
// https://github.com/tc39/proposal-promise-try
var $export = require('./_export');
var newPromiseCapability = require('./_new-promise-capability');
var perform = require('./_perform');
$export($export.S, 'Promise', { 'try': function (callbackfn) {
var promiseCapability = newPromiseCapability.f(this);
var result = perform(callbackfn);
(result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);
return promiseCapability.promise;
} });
},{"./_export":34,"./_new-promise-capability":69,"./_perform":88}],301:[function(require,module,exports){
var metadata = require('./_metadata');
var anObject = require('./_an-object');
var toMetaKey = metadata.key;
var ordinaryDefineOwnMetadata = metadata.set;
metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {
ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));
} });
},{"./_an-object":8,"./_metadata":67}],302:[function(require,module,exports){
var metadata = require('./_metadata');
var anObject = require('./_an-object');
var toMetaKey = metadata.key;
var getOrCreateMetadataMap = metadata.map;
var store = metadata.store;
metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {
var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);
var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;
if (metadataMap.size) return true;
var targetMetadata = store.get(target);
targetMetadata['delete'](targetKey);
return !!targetMetadata.size || store['delete'](target);
} });
},{"./_an-object":8,"./_metadata":67}],303:[function(require,module,exports){
var Set = require('./es6.set');
var from = require('./_array-from-iterable');
var metadata = require('./_metadata');
var anObject = require('./_an-object');
var getPrototypeOf = require('./_object-gpo');
var ordinaryOwnMetadataKeys = metadata.keys;
var toMetaKey = metadata.key;
var ordinaryMetadataKeys = function (O, P) {
var oKeys = ordinaryOwnMetadataKeys(O, P);
var parent = getPrototypeOf(O);
if (parent === null) return oKeys;
var pKeys = ordinaryMetadataKeys(parent, P);
return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;
};
metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {
return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
} });
},{"./_an-object":8,"./_array-from-iterable":11,"./_metadata":67,"./_object-gpo":79,"./es6.set":233}],304:[function(require,module,exports){
var metadata = require('./_metadata');
var anObject = require('./_an-object');
var getPrototypeOf = require('./_object-gpo');
var ordinaryHasOwnMetadata = metadata.has;
var ordinaryGetOwnMetadata = metadata.get;
var toMetaKey = metadata.key;
var ordinaryGetMetadata = function (MetadataKey, O, P) {
var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);
var parent = getPrototypeOf(O);
return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;
};
metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {
return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
} });
},{"./_an-object":8,"./_metadata":67,"./_object-gpo":79}],305:[function(require,module,exports){
var metadata = require('./_metadata');
var anObject = require('./_an-object');
var ordinaryOwnMetadataKeys = metadata.keys;
var toMetaKey = metadata.key;
metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {
return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
} });
},{"./_an-object":8,"./_metadata":67}],306:[function(require,module,exports){
var metadata = require('./_metadata');
var anObject = require('./_an-object');
var ordinaryGetOwnMetadata = metadata.get;
var toMetaKey = metadata.key;
metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {
return ordinaryGetOwnMetadata(metadataKey, anObject(target)
, arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
} });
},{"./_an-object":8,"./_metadata":67}],307:[function(require,module,exports){
var metadata = require('./_metadata');
var anObject = require('./_an-object');
var getPrototypeOf = require('./_object-gpo');
var ordinaryHasOwnMetadata = metadata.has;
var toMetaKey = metadata.key;
var ordinaryHasMetadata = function (MetadataKey, O, P) {
var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
if (hasOwn) return true;
var parent = getPrototypeOf(O);
return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
};
metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {
return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
} });
},{"./_an-object":8,"./_metadata":67,"./_object-gpo":79}],308:[function(require,module,exports){
var metadata = require('./_metadata');
var anObject = require('./_an-object');
var ordinaryHasOwnMetadata = metadata.has;
var toMetaKey = metadata.key;
metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {
return ordinaryHasOwnMetadata(metadataKey, anObject(target)
, arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
} });
},{"./_an-object":8,"./_metadata":67}],309:[function(require,module,exports){
var $metadata = require('./_metadata');
var anObject = require('./_an-object');
var aFunction = require('./_a-function');
var toMetaKey = $metadata.key;
var ordinaryDefineOwnMetadata = $metadata.set;
$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {
return function decorator(target, targetKey) {
ordinaryDefineOwnMetadata(
metadataKey, metadataValue,
(targetKey !== undefined ? anObject : aFunction)(target),
toMetaKey(targetKey)
);
};
} });
},{"./_a-function":3,"./_an-object":8,"./_metadata":67}],310:[function(require,module,exports){
// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from
require('./_set-collection-from')('Set');
},{"./_set-collection-from":97}],311:[function(require,module,exports){
// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of
require('./_set-collection-of')('Set');
},{"./_set-collection-of":98}],312:[function(require,module,exports){
// https://github.com/DavidBruant/Map-Set.prototype.toJSON
var $export = require('./_export');
$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });
},{"./_collection-to-json":21,"./_export":34}],313:[function(require,module,exports){
'use strict';
// https://github.com/mathiasbynens/String.prototype.at
var $export = require('./_export');
var $at = require('./_string-at')(true);
$export($export.P, 'String', {
at: function at(pos) {
return $at(this, pos);
}
});
},{"./_export":34,"./_string-at":106}],314:[function(require,module,exports){
'use strict';
// https://tc39.github.io/String.prototype.matchAll/
var $export = require('./_export');
var defined = require('./_defined');
var toLength = require('./_to-length');
var isRegExp = require('./_is-regexp');
var getFlags = require('./_flags');
var RegExpProto = RegExp.prototype;
var $RegExpStringIterator = function (regexp, string) {
this._r = regexp;
this._s = string;
};
require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next() {
var match = this._r.exec(this._s);
return { value: match, done: match === null };
});
$export($export.P, 'String', {
matchAll: function matchAll(regexp) {
defined(this);
if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');
var S = String(this);
var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);
var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);
rx.lastIndex = toLength(regexp.lastIndex);
return new $RegExpStringIterator(rx, S);
}
});
},{"./_defined":29,"./_export":34,"./_flags":38,"./_is-regexp":53,"./_iter-create":55,"./_to-length":118}],315:[function(require,module,exports){
'use strict';
// https://github.com/tc39/proposal-string-pad-start-end
var $export = require('./_export');
var $pad = require('./_string-pad');
var userAgent = require('./_user-agent');
// https://github.com/zloirock/core-js/issues/280
$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', {
padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
}
});
},{"./_export":34,"./_string-pad":109,"./_user-agent":125}],316:[function(require,module,exports){
'use strict';
// https://github.com/tc39/proposal-string-pad-start-end
var $export = require('./_export');
var $pad = require('./_string-pad');
var userAgent = require('./_user-agent');
// https://github.com/zloirock/core-js/issues/280
$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', {
padStart: function padStart(maxLength /* , fillString = ' ' */) {
return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
}
});
},{"./_export":34,"./_string-pad":109,"./_user-agent":125}],317:[function(require,module,exports){
'use strict';
// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
require('./_string-trim')('trimLeft', function ($trim) {
return function trimLeft() {
return $trim(this, 1);
};
}, 'trimStart');
},{"./_string-trim":111}],318:[function(require,module,exports){
'use strict';
// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
require('./_string-trim')('trimRight', function ($trim) {
return function trimRight() {
return $trim(this, 2);
};
}, 'trimEnd');
},{"./_string-trim":111}],319:[function(require,module,exports){
require('./_wks-define')('asyncIterator');
},{"./_wks-define":127}],320:[function(require,module,exports){
require('./_wks-define')('observable');
},{"./_wks-define":127}],321:[function(require,module,exports){
// https://github.com/tc39/proposal-global
var $export = require('./_export');
$export($export.S, 'System', { global: require('./_global') });
},{"./_export":34,"./_global":41}],322:[function(require,module,exports){
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from
require('./_set-collection-from')('WeakMap');
},{"./_set-collection-from":97}],323:[function(require,module,exports){
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of
require('./_set-collection-of')('WeakMap');
},{"./_set-collection-of":98}],324:[function(require,module,exports){
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from
require('./_set-collection-from')('WeakSet');
},{"./_set-collection-from":97}],325:[function(require,module,exports){
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of
require('./_set-collection-of')('WeakSet');
},{"./_set-collection-of":98}],326:[function(require,module,exports){
var $iterators = require('./es6.array.iterator');
var getKeys = require('./_object-keys');
var redefine = require('./_redefine');
var global = require('./_global');
var hide = require('./_hide');
var Iterators = require('./_iterators');
var wks = require('./_wks');
var ITERATOR = wks('iterator');
var TO_STRING_TAG = wks('toStringTag');
var ArrayValues = Iterators.Array;
var DOMIterables = {
CSSRuleList: true, // TODO: Not spec compliant, should be false.
CSSStyleDeclaration: false,
CSSValueList: false,
ClientRectList: false,
DOMRectList: false,
DOMStringList: false,
DOMTokenList: true,
DataTransferItemList: false,
FileList: false,
HTMLAllCollection: false,
HTMLCollection: false,
HTMLFormElement: false,
HTMLSelectElement: false,
MediaList: true, // TODO: Not spec compliant, should be false.
MimeTypeArray: false,
NamedNodeMap: false,
NodeList: true,
PaintRequestList: false,
Plugin: false,
PluginArray: false,
SVGLengthList: false,
SVGNumberList: false,
SVGPathSegList: false,
SVGPointList: false,
SVGStringList: false,
SVGTransformList: false,
SourceBufferList: false,
StyleSheetList: true, // TODO: Not spec compliant, should be false.
TextTrackCueList: false,
TextTrackList: false,
TouchList: false
};
for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {
var NAME = collections[i];
var explicit = DOMIterables[NAME];
var Collection = global[NAME];
var proto = Collection && Collection.prototype;
var key;
if (proto) {
if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
Iterators[NAME] = ArrayValues;
if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);
}
}
},{"./_global":41,"./_hide":43,"./_iterators":59,"./_object-keys":81,"./_redefine":92,"./_wks":129,"./es6.array.iterator":142}],327:[function(require,module,exports){
var $export = require('./_export');
var $task = require('./_task');
$export($export.G + $export.B, {
setImmediate: $task.set,
clearImmediate: $task.clear
});
},{"./_export":34,"./_task":113}],328:[function(require,module,exports){
// ie9- setTimeout & setInterval additional parameters fix
var global = require('./_global');
var $export = require('./_export');
var userAgent = require('./_user-agent');
var slice = [].slice;
var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
var wrap = function (set) {
return function (fn, time /* , ...args */) {
var boundArgs = arguments.length > 2;
var args = boundArgs ? slice.call(arguments, 2) : false;
return set(boundArgs ? function () {
// eslint-disable-next-line no-new-func
(typeof fn == 'function' ? fn : Function(fn)).apply(this, args);
} : fn, time);
};
};
$export($export.G + $export.B + $export.F * MSIE, {
setTimeout: wrap(global.setTimeout),
setInterval: wrap(global.setInterval)
});
},{"./_export":34,"./_global":41,"./_user-agent":125}],329:[function(require,module,exports){
require('./modules/es6.symbol');
require('./modules/es6.object.create');
require('./modules/es6.object.define-property');
require('./modules/es6.object.define-properties');
require('./modules/es6.object.get-own-property-descriptor');
require('./modules/es6.object.get-prototype-of');
require('./modules/es6.object.keys');
require('./modules/es6.object.get-own-property-names');
require('./modules/es6.object.freeze');
require('./modules/es6.object.seal');
require('./modules/es6.object.prevent-extensions');
require('./modules/es6.object.is-frozen');
require('./modules/es6.object.is-sealed');
require('./modules/es6.object.is-extensible');
require('./modules/es6.object.assign');
require('./modules/es6.object.is');
require('./modules/es6.object.set-prototype-of');
require('./modules/es6.object.to-string');
require('./modules/es6.function.bind');
require('./modules/es6.function.name');
require('./modules/es6.function.has-instance');
require('./modules/es6.parse-int');
require('./modules/es6.parse-float');
require('./modules/es6.number.constructor');
require('./modules/es6.number.to-fixed');
require('./modules/es6.number.to-precision');
require('./modules/es6.number.epsilon');
require('./modules/es6.number.is-finite');
require('./modules/es6.number.is-integer');
require('./modules/es6.number.is-nan');
require('./modules/es6.number.is-safe-integer');
require('./modules/es6.number.max-safe-integer');
require('./modules/es6.number.min-safe-integer');
require('./modules/es6.number.parse-float');
require('./modules/es6.number.parse-int');
require('./modules/es6.math.acosh');
require('./modules/es6.math.asinh');
require('./modules/es6.math.atanh');
require('./modules/es6.math.cbrt');
require('./modules/es6.math.clz32');
require('./modules/es6.math.cosh');
require('./modules/es6.math.expm1');
require('./modules/es6.math.fround');
require('./modules/es6.math.hypot');
require('./modules/es6.math.imul');
require('./modules/es6.math.log10');
require('./modules/es6.math.log1p');
require('./modules/es6.math.log2');
require('./modules/es6.math.sign');
require('./modules/es6.math.sinh');
require('./modules/es6.math.tanh');
require('./modules/es6.math.trunc');
require('./modules/es6.string.from-code-point');
require('./modules/es6.string.raw');
require('./modules/es6.string.trim');
require('./modules/es6.string.iterator');
require('./modules/es6.string.code-point-at');
require('./modules/es6.string.ends-with');
require('./modules/es6.string.includes');
require('./modules/es6.string.repeat');
require('./modules/es6.string.starts-with');
require('./modules/es6.string.anchor');
require('./modules/es6.string.big');
require('./modules/es6.string.blink');
require('./modules/es6.string.bold');
require('./modules/es6.string.fixed');
require('./modules/es6.string.fontcolor');
require('./modules/es6.string.fontsize');
require('./modules/es6.string.italics');
require('./modules/es6.string.link');
require('./modules/es6.string.small');
require('./modules/es6.string.strike');
require('./modules/es6.string.sub');
require('./modules/es6.string.sup');
require('./modules/es6.date.now');
require('./modules/es6.date.to-json');
require('./modules/es6.date.to-iso-string');
require('./modules/es6.date.to-string');
require('./modules/es6.date.to-primitive');
require('./modules/es6.array.is-array');
require('./modules/es6.array.from');
require('./modules/es6.array.of');
require('./modules/es6.array.join');
require('./modules/es6.array.slice');
require('./modules/es6.array.sort');
require('./modules/es6.array.for-each');
require('./modules/es6.array.map');
require('./modules/es6.array.filter');
require('./modules/es6.array.some');
require('./modules/es6.array.every');
require('./modules/es6.array.reduce');
require('./modules/es6.array.reduce-right');
require('./modules/es6.array.index-of');
require('./modules/es6.array.last-index-of');
require('./modules/es6.array.copy-within');
require('./modules/es6.array.fill');
require('./modules/es6.array.find');
require('./modules/es6.array.find-index');
require('./modules/es6.array.species');
require('./modules/es6.array.iterator');
require('./modules/es6.regexp.constructor');
require('./modules/es6.regexp.exec');
require('./modules/es6.regexp.to-string');
require('./modules/es6.regexp.flags');
require('./modules/es6.regexp.match');
require('./modules/es6.regexp.replace');
require('./modules/es6.regexp.search');
require('./modules/es6.regexp.split');
require('./modules/es6.promise');
require('./modules/es6.map');
require('./modules/es6.set');
require('./modules/es6.weak-map');
require('./modules/es6.weak-set');
require('./modules/es6.typed.array-buffer');
require('./modules/es6.typed.data-view');
require('./modules/es6.typed.int8-array');
require('./modules/es6.typed.uint8-array');
require('./modules/es6.typed.uint8-clamped-array');
require('./modules/es6.typed.int16-array');
require('./modules/es6.typed.uint16-array');
require('./modules/es6.typed.int32-array');
require('./modules/es6.typed.uint32-array');
require('./modules/es6.typed.float32-array');
require('./modules/es6.typed.float64-array');
require('./modules/es6.reflect.apply');
require('./modules/es6.reflect.construct');
require('./modules/es6.reflect.define-property');
require('./modules/es6.reflect.delete-property');
require('./modules/es6.reflect.enumerate');
require('./modules/es6.reflect.get');
require('./modules/es6.reflect.get-own-property-descriptor');
require('./modules/es6.reflect.get-prototype-of');
require('./modules/es6.reflect.has');
require('./modules/es6.reflect.is-extensible');
require('./modules/es6.reflect.own-keys');
require('./modules/es6.reflect.prevent-extensions');
require('./modules/es6.reflect.set');
require('./modules/es6.reflect.set-prototype-of');
require('./modules/es7.array.includes');
require('./modules/es7.array.flat-map');
require('./modules/es7.array.flatten');
require('./modules/es7.string.at');
require('./modules/es7.string.pad-start');
require('./modules/es7.string.pad-end');
require('./modules/es7.string.trim-left');
require('./modules/es7.string.trim-right');
require('./modules/es7.string.match-all');
require('./modules/es7.symbol.async-iterator');
require('./modules/es7.symbol.observable');
require('./modules/es7.object.get-own-property-descriptors');
require('./modules/es7.object.values');
require('./modules/es7.object.entries');
require('./modules/es7.object.define-getter');
require('./modules/es7.object.define-setter');
require('./modules/es7.object.lookup-getter');
require('./modules/es7.object.lookup-setter');
require('./modules/es7.map.to-json');
require('./modules/es7.set.to-json');
require('./modules/es7.map.of');
require('./modules/es7.set.of');
require('./modules/es7.weak-map.of');
require('./modules/es7.weak-set.of');
require('./modules/es7.map.from');
require('./modules/es7.set.from');
require('./modules/es7.weak-map.from');
require('./modules/es7.weak-set.from');
require('./modules/es7.global');
require('./modules/es7.system.global');
require('./modules/es7.error.is-error');
require('./modules/es7.math.clamp');
require('./modules/es7.math.deg-per-rad');
require('./modules/es7.math.degrees');
require('./modules/es7.math.fscale');
require('./modules/es7.math.iaddh');
require('./modules/es7.math.isubh');
require('./modules/es7.math.imulh');
require('./modules/es7.math.rad-per-deg');
require('./modules/es7.math.radians');
require('./modules/es7.math.scale');
require('./modules/es7.math.umulh');
require('./modules/es7.math.signbit');
require('./modules/es7.promise.finally');
require('./modules/es7.promise.try');
require('./modules/es7.reflect.define-metadata');
require('./modules/es7.reflect.delete-metadata');
require('./modules/es7.reflect.get-metadata');
require('./modules/es7.reflect.get-metadata-keys');
require('./modules/es7.reflect.get-own-metadata');
require('./modules/es7.reflect.get-own-metadata-keys');
require('./modules/es7.reflect.has-metadata');
require('./modules/es7.reflect.has-own-metadata');
require('./modules/es7.reflect.metadata');
require('./modules/es7.asap');
require('./modules/es7.observable');
require('./modules/web.timers');
require('./modules/web.immediate');
require('./modules/web.dom.iterable');
module.exports = require('./modules/_core');
},{"./modules/_core":24,"./modules/es6.array.copy-within":132,"./modules/es6.array.every":133,"./modules/es6.array.fill":134,"./modules/es6.array.filter":135,"./modules/es6.array.find":137,"./modules/es6.array.find-index":136,"./modules/es6.array.for-each":138,"./modules/es6.array.from":139,"./modules/es6.array.index-of":140,"./modules/es6.array.is-array":141,"./modules/es6.array.iterator":142,"./modules/es6.array.join":143,"./modules/es6.array.last-index-of":144,"./modules/es6.array.map":145,"./modules/es6.array.of":146,"./modules/es6.array.reduce":148,"./modules/es6.array.reduce-right":147,"./modules/es6.array.slice":149,"./modules/es6.array.some":150,"./modules/es6.array.sort":151,"./modules/es6.array.species":152,"./modules/es6.date.now":153,"./modules/es6.date.to-iso-string":154,"./modules/es6.date.to-json":155,"./modules/es6.date.to-primitive":156,"./modules/es6.date.to-string":157,"./modules/es6.function.bind":158,"./modules/es6.function.has-instance":159,"./modules/es6.function.name":160,"./modules/es6.map":161,"./modules/es6.math.acosh":162,"./modules/es6.math.asinh":163,"./modules/es6.math.atanh":164,"./modules/es6.math.cbrt":165,"./modules/es6.math.clz32":166,"./modules/es6.math.cosh":167,"./modules/es6.math.expm1":168,"./modules/es6.math.fround":169,"./modules/es6.math.hypot":170,"./modules/es6.math.imul":171,"./modules/es6.math.log10":172,"./modules/es6.math.log1p":173,"./modules/es6.math.log2":174,"./modules/es6.math.sign":175,"./modules/es6.math.sinh":176,"./modules/es6.math.tanh":177,"./modules/es6.math.trunc":178,"./modules/es6.number.constructor":179,"./modules/es6.number.epsilon":180,"./modules/es6.number.is-finite":181,"./modules/es6.number.is-integer":182,"./modules/es6.number.is-nan":183,"./modules/es6.number.is-safe-integer":184,"./modules/es6.number.max-safe-integer":185,"./modules/es6.number.min-safe-integer":186,"./modules/es6.number.parse-float":187,"./modules/es6.number.parse-int":188,"./modules/es6.number.to-fixed":189,"./modules/es6.number.to-precision":190,"./modules/es6.object.assign":191,"./modules/es6.object.create":192,"./modules/es6.object.define-properties":193,"./modules/es6.object.define-property":194,"./modules/es6.object.freeze":195,"./modules/es6.object.get-own-property-descriptor":196,"./modules/es6.object.get-own-property-names":197,"./modules/es6.object.get-prototype-of":198,"./modules/es6.object.is":202,"./modules/es6.object.is-extensible":199,"./modules/es6.object.is-frozen":200,"./modules/es6.object.is-sealed":201,"./modules/es6.object.keys":203,"./modules/es6.object.prevent-extensions":204,"./modules/es6.object.seal":205,"./modules/es6.object.set-prototype-of":206,"./modules/es6.object.to-string":207,"./modules/es6.parse-float":208,"./modules/es6.parse-int":209,"./modules/es6.promise":210,"./modules/es6.reflect.apply":211,"./modules/es6.reflect.construct":212,"./modules/es6.reflect.define-property":213,"./modules/es6.reflect.delete-property":214,"./modules/es6.reflect.enumerate":215,"./modules/es6.reflect.get":218,"./modules/es6.reflect.get-own-property-descriptor":216,"./modules/es6.reflect.get-prototype-of":217,"./modules/es6.reflect.has":219,"./modules/es6.reflect.is-extensible":220,"./modules/es6.reflect.own-keys":221,"./modules/es6.reflect.prevent-extensions":222,"./modules/es6.reflect.set":224,"./modules/es6.reflect.set-prototype-of":223,"./modules/es6.regexp.constructor":225,"./modules/es6.regexp.exec":226,"./modules/es6.regexp.flags":227,"./modules/es6.regexp.match":228,"./modules/es6.regexp.replace":229,"./modules/es6.regexp.search":230,"./modules/es6.regexp.split":231,"./modules/es6.regexp.to-string":232,"./modules/es6.set":233,"./modules/es6.string.anchor":234,"./modules/es6.string.big":235,"./modules/es6.string.blink":236,"./modules/es6.string.bold":237,"./modules/es6.string.code-point-at":238,"./modules/es6.string.ends-with":239,"./modules/es6.string.fixed":240,"./modules/es6.string.fontcolor":241,"./modules/es6.string.fontsize":242,"./modules/es6.string.from-code-point":243,"./modules/es6.string.includes":244,"./modules/es6.string.italics":245,"./modules/es6.string.iterator":246,"./modules/es6.string.link":247,"./modules/es6.string.raw":248,"./modules/es6.string.repeat":249,"./modules/es6.string.small":250,"./modules/es6.string.starts-with":251,"./modules/es6.string.strike":252,"./modules/es6.string.sub":253,"./modules/es6.string.sup":254,"./modules/es6.string.trim":255,"./modules/es6.symbol":256,"./modules/es6.typed.array-buffer":257,"./modules/es6.typed.data-view":258,"./modules/es6.typed.float32-array":259,"./modules/es6.typed.float64-array":260,"./modules/es6.typed.int16-array":261,"./modules/es6.typed.int32-array":262,"./modules/es6.typed.int8-array":263,"./modules/es6.typed.uint16-array":264,"./modules/es6.typed.uint32-array":265,"./modules/es6.typed.uint8-array":266,"./modules/es6.typed.uint8-clamped-array":267,"./modules/es6.weak-map":268,"./modules/es6.weak-set":269,"./modules/es7.array.flat-map":270,"./modules/es7.array.flatten":271,"./modules/es7.array.includes":272,"./modules/es7.asap":273,"./modules/es7.error.is-error":274,"./modules/es7.global":275,"./modules/es7.map.from":276,"./modules/es7.map.of":277,"./modules/es7.map.to-json":278,"./modules/es7.math.clamp":279,"./modules/es7.math.deg-per-rad":280,"./modules/es7.math.degrees":281,"./modules/es7.math.fscale":282,"./modules/es7.math.iaddh":283,"./modules/es7.math.imulh":284,"./modules/es7.math.isubh":285,"./modules/es7.math.rad-per-deg":286,"./modules/es7.math.radians":287,"./modules/es7.math.scale":288,"./modules/es7.math.signbit":289,"./modules/es7.math.umulh":290,"./modules/es7.object.define-getter":291,"./modules/es7.object.define-setter":292,"./modules/es7.object.entries":293,"./modules/es7.object.get-own-property-descriptors":294,"./modules/es7.object.lookup-getter":295,"./modules/es7.object.lookup-setter":296,"./modules/es7.object.values":297,"./modules/es7.observable":298,"./modules/es7.promise.finally":299,"./modules/es7.promise.try":300,"./modules/es7.reflect.define-metadata":301,"./modules/es7.reflect.delete-metadata":302,"./modules/es7.reflect.get-metadata":304,"./modules/es7.reflect.get-metadata-keys":303,"./modules/es7.reflect.get-own-metadata":306,"./modules/es7.reflect.get-own-metadata-keys":305,"./modules/es7.reflect.has-metadata":307,"./modules/es7.reflect.has-own-metadata":308,"./modules/es7.reflect.metadata":309,"./modules/es7.set.from":310,"./modules/es7.set.of":311,"./modules/es7.set.to-json":312,"./modules/es7.string.at":313,"./modules/es7.string.match-all":314,"./modules/es7.string.pad-end":315,"./modules/es7.string.pad-start":316,"./modules/es7.string.trim-left":317,"./modules/es7.string.trim-right":318,"./modules/es7.symbol.async-iterator":319,"./modules/es7.symbol.observable":320,"./modules/es7.system.global":321,"./modules/es7.weak-map.from":322,"./modules/es7.weak-map.of":323,"./modules/es7.weak-set.from":324,"./modules/es7.weak-set.of":325,"./modules/web.dom.iterable":326,"./modules/web.immediate":327,"./modules/web.timers":328}],330:[function(require,module,exports){
(function (global){
/**
* Copyright (c) 2014, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* https://raw.github.com/facebook/regenerator/master/LICENSE file. An
* additional grant of patent rights can be found in the PATENTS file in
* the same directory.
*/
!(function(global) {
"use strict";
var Op = Object.prototype;
var hasOwn = Op.hasOwnProperty;
var undefined; // More compressible than void 0.
var $Symbol = typeof Symbol === "function" ? Symbol : {};
var iteratorSymbol = $Symbol.iterator || "@@iterator";
var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
var inModule = typeof module === "object";
var runtime = global.regeneratorRuntime;
if (runtime) {
if (inModule) {
// If regeneratorRuntime is defined globally and we're in a module,
// make the exports object identical to regeneratorRuntime.
module.exports = runtime;
}
// Don't bother evaluating the rest of this file if the runtime was
// already defined globally.
return;
}
// Define the runtime globally (as expected by generated code) as either
// module.exports (if we're in a module) or a new, empty object.
runtime = global.regeneratorRuntime = inModule ? module.exports : {};
function wrap(innerFn, outerFn, self, tryLocsList) {
// If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
var generator = Object.create(protoGenerator.prototype);
var context = new Context(tryLocsList || []);
// The ._invoke method unifies the implementations of the .next,
// .throw, and .return methods.
generator._invoke = makeInvokeMethod(innerFn, self, context);
return generator;
}
runtime.wrap = wrap;
// Try/catch helper to minimize deoptimizations. Returns a completion
// record like context.tryEntries[i].completion. This interface could
// have been (and was previously) designed to take a closure to be
// invoked without arguments, but in all the cases we care about we
// already have an existing method we want to call, so there's no need
// to create a new function object. We can even get away with assuming
// the method takes exactly one argument, since that happens to be true
// in every case, so we don't have to touch the arguments object. The
// only additional allocation required is the completion record, which
// has a stable shape and so hopefully should be cheap to allocate.
function tryCatch(fn, obj, arg) {
try {
return { type: "normal", arg: fn.call(obj, arg) };
} catch (err) {
return { type: "throw", arg: err };
}
}
var GenStateSuspendedStart = "suspendedStart";
var GenStateSuspendedYield = "suspendedYield";
var GenStateExecuting = "executing";
var GenStateCompleted = "completed";
// Returning this object from the innerFn has the same effect as
// breaking out of the dispatch switch statement.
var ContinueSentinel = {};
// Dummy constructor functions that we use as the .constructor and
// .constructor.prototype properties for functions that return Generator
// objects. For full spec compliance, you may wish to configure your
// minifier not to mangle the names of these two functions.
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}
// This is a polyfill for %IteratorPrototype% for environments that
// don't natively support it.
var IteratorPrototype = {};
IteratorPrototype[iteratorSymbol] = function () {
return this;
};
var getProto = Object.getPrototypeOf;
var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
if (NativeIteratorPrototype &&
NativeIteratorPrototype !== Op &&
hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
// This environment has a native %IteratorPrototype%; use it instead
// of the polyfill.
IteratorPrototype = NativeIteratorPrototype;
}
var Gp = GeneratorFunctionPrototype.prototype =
Generator.prototype = Object.create(IteratorPrototype);
GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
GeneratorFunctionPrototype.constructor = GeneratorFunction;
GeneratorFunctionPrototype[toStringTagSymbol] =
GeneratorFunction.displayName = "GeneratorFunction";
// Helper for defining the .next, .throw, and .return methods of the
// Iterator interface in terms of a single ._invoke method.
function defineIteratorMethods(prototype) {
["next", "throw", "return"].forEach(function(method) {
prototype[method] = function(arg) {
return this._invoke(method, arg);
};
});
}
runtime.isGeneratorFunction = function(genFun) {
var ctor = typeof genFun === "function" && genFun.constructor;
return ctor
? ctor === GeneratorFunction ||
// For the native GeneratorFunction constructor, the best we can
// do is to check its .name property.
(ctor.displayName || ctor.name) === "GeneratorFunction"
: false;
};
runtime.mark = function(genFun) {
if (Object.setPrototypeOf) {
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
} else {
genFun.__proto__ = GeneratorFunctionPrototype;
if (!(toStringTagSymbol in genFun)) {
genFun[toStringTagSymbol] = "GeneratorFunction";
}
}
genFun.prototype = Object.create(Gp);
return genFun;
};
// Within the body of any async function, `await x` is transformed to
// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
// `hasOwn.call(value, "__await")` to determine if the yielded value is
// meant to be awaited.
runtime.awrap = function(arg) {
return { __await: arg };
};
function AsyncIterator(generator) {
function invoke(method, arg, resolve, reject) {
var record = tryCatch(generator[method], generator, arg);
if (record.type === "throw") {
reject(record.arg);
} else {
var result = record.arg;
var value = result.value;
if (value &&
typeof value === "object" &&
hasOwn.call(value, "__await")) {
return Promise.resolve(value.__await).then(function(value) {
invoke("next", value, resolve, reject);
}, function(err) {
invoke("throw", err, resolve, reject);
});
}
return Promise.resolve(value).then(function(unwrapped) {
// When a yielded Promise is resolved, its final value becomes
// the .value of the Promise<{value,done}> result for the
// current iteration. If the Promise is rejected, however, the
// result for this iteration will be rejected with the same
// reason. Note that rejections of yielded Promises are not
// thrown back into the generator function, as is the case
// when an awaited Promise is rejected. This difference in
// behavior between yield and await is important, because it
// allows the consumer to decide what to do with the yielded
// rejection (swallow it and continue, manually .throw it back
// into the generator, abandon iteration, whatever). With
// await, by contrast, there is no opportunity to examine the
// rejection reason outside the generator function, so the
// only option is to throw it from the await expression, and
// let the generator function handle the exception.
result.value = unwrapped;
resolve(result);
}, reject);
}
}
if (typeof global.process === "object" && global.process.domain) {
invoke = global.process.domain.bind(invoke);
}
var previousPromise;
function enqueue(method, arg) {
function callInvokeWithMethodAndArg() {
return new Promise(function(resolve, reject) {
invoke(method, arg, resolve, reject);
});
}
return previousPromise =
// If enqueue has been called before, then we want to wait until
// all previous Promises have been resolved before calling invoke,
// so that results are always delivered in the correct order. If
// enqueue has not been called before, then it is important to
// call invoke immediately, without waiting on a callback to fire,
// so that the async generator function has the opportunity to do
// any necessary setup in a predictable way. This predictability
// is why the Promise constructor synchronously invokes its
// executor callback, and why async functions synchronously
// execute code before the first await. Since we implement simple
// async functions in terms of async generators, it is especially
// important to get this right, even though it requires care.
previousPromise ? previousPromise.then(
callInvokeWithMethodAndArg,
// Avoid propagating failures to Promises returned by later
// invocations of the iterator.
callInvokeWithMethodAndArg
) : callInvokeWithMethodAndArg();
}
// Define the unified helper method that is used to implement .next,
// .throw, and .return (see defineIteratorMethods).
this._invoke = enqueue;
}
defineIteratorMethods(AsyncIterator.prototype);
AsyncIterator.prototype[asyncIteratorSymbol] = function () {
return this;
};
runtime.AsyncIterator = AsyncIterator;
// Note that simple async functions are implemented on top of
// AsyncIterator objects; they just return a Promise for the value of
// the final result produced by the iterator.
runtime.async = function(innerFn, outerFn, self, tryLocsList) {
var iter = new AsyncIterator(
wrap(innerFn, outerFn, self, tryLocsList)
);
return runtime.isGeneratorFunction(outerFn)
? iter // If outerFn is a generator, return the full iterator.
: iter.next().then(function(result) {
return result.done ? result.value : iter.next();
});
};
function makeInvokeMethod(innerFn, self, context) {
var state = GenStateSuspendedStart;
return function invoke(method, arg) {
if (state === GenStateExecuting) {
throw new Error("Generator is already running");
}
if (state === GenStateCompleted) {
if (method === "throw") {
throw arg;
}
// Be forgiving, per 25.3.3.3.3 of the spec:
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
return doneResult();
}
context.method = method;
context.arg = arg;
while (true) {
var delegate = context.delegate;
if (delegate) {
var delegateResult = maybeInvokeDelegate(delegate, context);
if (delegateResult) {
if (delegateResult === ContinueSentinel) continue;
return delegateResult;
}
}
if (context.method === "next") {
// Setting context._sent for legacy support of Babel's
// function.sent implementation.
context.sent = context._sent = context.arg;
} else if (context.method === "throw") {
if (state === GenStateSuspendedStart) {
state = GenStateCompleted;
throw context.arg;
}
context.dispatchException(context.arg);
} else if (context.method === "return") {
context.abrupt("return", context.arg);
}
state = GenStateExecuting;
var record = tryCatch(innerFn, self, context);
if (record.type === "normal") {
// If an exception is thrown from innerFn, we leave state ===
// GenStateExecuting and loop back for another invocation.
state = context.done
? GenStateCompleted
: GenStateSuspendedYield;
if (record.arg === ContinueSentinel) {
continue;
}
return {
value: record.arg,
done: context.done
};
} else if (record.type === "throw") {
state = GenStateCompleted;
// Dispatch the exception by looping back around to the
// context.dispatchException(context.arg) call above.
context.method = "throw";
context.arg = record.arg;
}
}
};
}
// Call delegate.iterator[context.method](context.arg) and handle the
// result, either by returning a { value, done } result from the
// delegate iterator, or by modifying context.method and context.arg,
// setting context.delegate to null, and returning the ContinueSentinel.
function maybeInvokeDelegate(delegate, context) {
var method = delegate.iterator[context.method];
if (method === undefined) {
// A .throw or .return when the delegate iterator has no .throw
// method always terminates the yield* loop.
context.delegate = null;
if (context.method === "throw") {
if (delegate.iterator.return) {
// If the delegate iterator has a return method, give it a
// chance to clean up.
context.method = "return";
context.arg = undefined;
maybeInvokeDelegate(delegate, context);
if (context.method === "throw") {
// If maybeInvokeDelegate(context) changed context.method from
// "return" to "throw", let that override the TypeError below.
return ContinueSentinel;
}
}
context.method = "throw";
context.arg = new TypeError(
"The iterator does not provide a 'throw' method");
}
return ContinueSentinel;
}
var record = tryCatch(method, delegate.iterator, context.arg);
if (record.type === "throw") {
context.method = "throw";
context.arg = record.arg;
context.delegate = null;
return ContinueSentinel;
}
var info = record.arg;
if (! info) {
context.method = "throw";
context.arg = new TypeError("iterator result is not an object");
context.delegate = null;
return ContinueSentinel;
}
if (info.done) {
// Assign the result of the finished delegate to the temporary
// variable specified by delegate.resultName (see delegateYield).
context[delegate.resultName] = info.value;
// Resume execution at the desired location (see delegateYield).
context.next = delegate.nextLoc;
// If context.method was "throw" but the delegate handled the
// exception, let the outer generator proceed normally. If
// context.method was "next", forget context.arg since it has been
// "consumed" by the delegate iterator. If context.method was
// "return", allow the original .return call to continue in the
// outer generator.
if (context.method !== "return") {
context.method = "next";
context.arg = undefined;
}
} else {
// Re-yield the result returned by the delegate method.
return info;
}
// The delegate iterator is finished, so forget it and continue with
// the outer generator.
context.delegate = null;
return ContinueSentinel;
}
// Define Generator.prototype.{next,throw,return} in terms of the
// unified ._invoke helper method.
defineIteratorMethods(Gp);
Gp[toStringTagSymbol] = "Generator";
// A Generator should always return itself as the iterator object when the
// @@iterator function is called on it. Some browsers' implementations of the
// iterator prototype chain incorrectly implement this, causing the Generator
// object to not be returned from this call. This ensures that doesn't happen.
// See https://github.com/facebook/regenerator/issues/274 for more details.
Gp[iteratorSymbol] = function() {
return this;
};
Gp.toString = function() {
return "[object Generator]";
};
function pushTryEntry(locs) {
var entry = { tryLoc: locs[0] };
if (1 in locs) {
entry.catchLoc = locs[1];
}
if (2 in locs) {
entry.finallyLoc = locs[2];
entry.afterLoc = locs[3];
}
this.tryEntries.push(entry);
}
function resetTryEntry(entry) {
var record = entry.completion || {};
record.type = "normal";
delete record.arg;
entry.completion = record;
}
function Context(tryLocsList) {
// The root entry object (effectively a try statement without a catch
// or a finally block) gives us a place to store values thrown from
// locations where there is no enclosing try statement.
this.tryEntries = [{ tryLoc: "root" }];
tryLocsList.forEach(pushTryEntry, this);
this.reset(true);
}
runtime.keys = function(object) {
var keys = [];
for (var key in object) {
keys.push(key);
}
keys.reverse();
// Rather than returning an object with a next method, we keep
// things simple and return the next function itself.
return function next() {
while (keys.length) {
var key = keys.pop();
if (key in object) {
next.value = key;
next.done = false;
return next;
}
}
// To avoid creating an additional object, we just hang the .value
// and .done properties off the next function object itself. This
// also ensures that the minifier will not anonymize the function.
next.done = true;
return next;
};
};
function values(iterable) {
if (iterable) {
var iteratorMethod = iterable[iteratorSymbol];
if (iteratorMethod) {
return iteratorMethod.call(iterable);
}
if (typeof iterable.next === "function") {
return iterable;
}
if (!isNaN(iterable.length)) {
var i = -1, next = function next() {
while (++i < iterable.length) {
if (hasOwn.call(iterable, i)) {
next.value = iterable[i];
next.done = false;
return next;
}
}
next.value = undefined;
next.done = true;
return next;
};
return next.next = next;
}
}
// Return an iterator with no values.
return { next: doneResult };
}
runtime.values = values;
function doneResult() {
return { value: undefined, done: true };
}
Context.prototype = {
constructor: Context,
reset: function(skipTempReset) {
this.prev = 0;
this.next = 0;
// Resetting context._sent for legacy support of Babel's
// function.sent implementation.
this.sent = this._sent = undefined;
this.done = false;
this.delegate = null;
this.method = "next";
this.arg = undefined;
this.tryEntries.forEach(resetTryEntry);
if (!skipTempReset) {
for (var name in this) {
// Not sure about the optimal order of these conditions:
if (name.charAt(0) === "t" &&
hasOwn.call(this, name) &&
!isNaN(+name.slice(1))) {
this[name] = undefined;
}
}
}
},
stop: function() {
this.done = true;
var rootEntry = this.tryEntries[0];
var rootRecord = rootEntry.completion;
if (rootRecord.type === "throw") {
throw rootRecord.arg;
}
return this.rval;
},
dispatchException: function(exception) {
if (this.done) {
throw exception;
}
var context = this;
function handle(loc, caught) {
record.type = "throw";
record.arg = exception;
context.next = loc;
if (caught) {
// If the dispatched exception was caught by a catch block,
// then let that catch block handle the exception normally.
context.method = "next";
context.arg = undefined;
}
return !! caught;
}
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
var record = entry.completion;
if (entry.tryLoc === "root") {
// Exception thrown outside of any try block that could handle
// it, so set the completion value of the entire function to
// throw the exception.
return handle("end");
}
if (entry.tryLoc <= this.prev) {
var hasCatch = hasOwn.call(entry, "catchLoc");
var hasFinally = hasOwn.call(entry, "finallyLoc");
if (hasCatch && hasFinally) {
if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
} else if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else if (hasCatch) {
if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
}
} else if (hasFinally) {
if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else {
throw new Error("try statement without catch or finally");
}
}
}
},
abrupt: function(type, arg) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc <= this.prev &&
hasOwn.call(entry, "finallyLoc") &&
this.prev < entry.finallyLoc) {
var finallyEntry = entry;
break;
}
}
if (finallyEntry &&
(type === "break" ||
type === "continue") &&
finallyEntry.tryLoc <= arg &&
arg <= finallyEntry.finallyLoc) {
// Ignore the finally entry if control is not jumping to a
// location outside the try/catch block.
finallyEntry = null;
}
var record = finallyEntry ? finallyEntry.completion : {};
record.type = type;
record.arg = arg;
if (finallyEntry) {
this.method = "next";
this.next = finallyEntry.finallyLoc;
return ContinueSentinel;
}
return this.complete(record);
},
complete: function(record, afterLoc) {
if (record.type === "throw") {
throw record.arg;
}
if (record.type === "break" ||
record.type === "continue") {
this.next = record.arg;
} else if (record.type === "return") {
this.rval = this.arg = record.arg;
this.method = "return";
this.next = "end";
} else if (record.type === "normal" && afterLoc) {
this.next = afterLoc;
}
return ContinueSentinel;
},
finish: function(finallyLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.finallyLoc === finallyLoc) {
this.complete(entry.completion, entry.afterLoc);
resetTryEntry(entry);
return ContinueSentinel;
}
}
},
"catch": function(tryLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc === tryLoc) {
var record = entry.completion;
if (record.type === "throw") {
var thrown = record.arg;
resetTryEntry(entry);
}
return thrown;
}
}
// The context.catch method must only be called with a location
// argument that corresponds to a known catch block.
throw new Error("illegal catch attempt");
},
delegateYield: function(iterable, resultName, nextLoc) {
this.delegate = {
iterator: values(iterable),
resultName: resultName,
nextLoc: nextLoc
};
if (this.method === "next") {
// Deliberately forget the last sent value so that we don't
// accidentally pass it on to the delegate.
this.arg = undefined;
}
return ContinueSentinel;
}
};
})(
// Among the various tricks for obtaining a reference to the global
// object, this seems to be the most reliable technique that does not
// use indirect eval (which violates Content Security Policy).
typeof global === "object" ? global :
typeof window === "object" ? window :
typeof self === "object" ? self : this
);
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],331:[function(require,module,exports){
/* --------------------------------------------------------------
BoilerplateApi.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Ajax = require('../libs/Ajax');
var _Ajax2 = _interopRequireDefault(_Ajax);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
/**
* Get a list of all template boilerplates.
*
* The success callback will contain the boilerplate data.
*
* @return {jQuery.jqXHR}
*/
list: function list() {
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + encodeURIComponent(StyleEdit.Config.get('template')) + '/boilerplates?lang=' + StyleEdit.Config.get('languageCode');
return _Ajax2.default.get(ajaxUrl, {
lang: StyleEdit.Config.get('languageCode'),
theme: StyleEdit.Config.get('theme') || undefined
}, { dataType: 'json' });
}
};
},{"../libs/Ajax":352}],332:[function(require,module,exports){
/* --------------------------------------------------------------
CacheApi.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Ajax = require('../libs/Ajax');
var _Ajax2 = _interopRequireDefault(_Ajax);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
/**
* Renew the CSS cache of the selected style.
*
* @param {String} mainCssUrl The complete URL of the #main-css element of the template.
* @param {String} styleName (optional) The name of the style to be renewed. If not provided the active style will
* be renewed.
*
* @return {jQuery.jqXHR}
*/
renew: function renew(mainCssUrl, styleName) {
StyleEdit.Validator.isString(mainCssUrl);
// Replace the existing GET parameters with the "renew_cache".
if (mainCssUrl.indexOf('?') !== -1) {
mainCssUrl = mainCssUrl.replace(/\?.*/, '?renew_cache=1');
} else {
mainCssUrl += '?renew_cache=1';
}
if (styleName !== undefined) {
StyleEdit.Validator.isString(styleName);
mainCssUrl += '&style_name=' + encodeURIComponent(styleName);
}
return _Ajax2.default.get(mainCssUrl);
}
};
},{"../libs/Ajax":352}],333:[function(require,module,exports){
/* --------------------------------------------------------------
ConfigApi.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Ajax = require('../libs/Ajax');
var _Ajax2 = _interopRequireDefault(_Ajax);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
/**
* Get StyleEdit Config Values
*
* The administrator can set some hardcoded values in the config.inc.php which can be retrieved with this
* API method. Not every config value will included though due to security concerns.
*
* @return {jQuery.jqXHR}
*/
get: function get() {
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + StyleEdit.Config.get('template') + '/config';
return _Ajax2.default.get(ajaxUrl, { theme: StyleEdit.Config.get('theme') || undefined }, { dataType: 'json' });
}
};
},{"../libs/Ajax":352}],334:[function(require,module,exports){
/* --------------------------------------------------------------
ImageApi.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Ajax = require('../libs/Ajax');
var _Ajax2 = _interopRequireDefault(_Ajax);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
/**
* Upload the selected image file.
*
* @param {jQuery} $fileInput The file input element to be uploaded.
*
* @return {jQuery.jqXHR}
*/
upload: function upload($fileInput) {
StyleEdit.Validator.isObject($fileInput);
var files = $fileInput.get(0).files;
if (files.length === 0) {
throw new Error('No image files where selected for upload.');
}
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + StyleEdit.Config.get('template') + '/images' + (StyleEdit.Config.get('theme') ? '?theme' : '');
$fileInput.fileupload({
url: ajaxUrl,
dataType: 'json',
autoUpload: false,
acceptFileTypes: /(\.|\/)(png|jpg|jpeg|gif|bmp)$/i
});
return $fileInput.fileupload('send', { files: files });
},
/**
* Delete existing image.
*
* @param {String} filename The filename to be removed (e.g. 'image.png').
*
* @return {jQuery.jqXHR}
*/
delete: function _delete(filename) {
StyleEdit.Validator.isString(filename);
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + StyleEdit.Config.get('template') + '/images/' + encodeURIComponent(filename);
return _Ajax2.default.delete(ajaxUrl, { theme: StyleEdit.Config.get('theme') || undefined });
}
};
},{"../libs/Ajax":352}],335:[function(require,module,exports){
/* --------------------------------------------------------------
LanguageApi.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Ajax = require('../libs/Ajax');
var _Ajax2 = _interopRequireDefault(_Ajax);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
/**
* Get StyleEdit UI Translations
*
* The success callback will contain an object with the translations.
*
* @param {String} languageCode The ISO code of the translation to be fetched.
*
* @return {jQuery.jqXHR}
*/
getTranslations: function getTranslations(languageCode) {
StyleEdit.Validator.isString(languageCode);
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/languages/' + languageCode;
return _Ajax2.default.get(ajaxUrl, { theme: StyleEdit.Config.get('theme') || undefined }, { dataType: 'json' });
}
};
},{"../libs/Ajax":352}],336:[function(require,module,exports){
/* --------------------------------------------------------------
StyleApi.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Ajax = require('../libs/Ajax');
var _Ajax2 = _interopRequireDefault(_Ajax);
var _JsonParser = require('../libs/JsonParser');
var _JsonParser2 = _interopRequireDefault(_JsonParser);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
/**
* Get style data by name.
*
* @param {String} styleName The name of the style to be retrieved.
*
* @return {jQuery.jqXHR}
*/
get: function get(styleName) {
StyleEdit.Validator.isString(styleName);
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + encodeURIComponent(StyleEdit.Config.get('template')) + '/styles/' + encodeURIComponent(styleName) + '?lang=' + encodeURIComponent(StyleEdit.Config.get('languageCode'));
return _Ajax2.default.get(ajaxUrl, { theme: StyleEdit.Config.get('theme') || undefined }, { dataType: 'json' });
},
/**
* Get all style configurations.
*
* @return {jQuery.jqXHR}
*/
list: function list() {
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + encodeURIComponent(StyleEdit.Config.get('template')) + '/styles' + '?lang=' + encodeURIComponent(StyleEdit.Config.get('languageCode'));
return _Ajax2.default.get(ajaxUrl, { theme: StyleEdit.Config.get('theme') || undefined }, { dataType: 'json' });
},
/**
* Activate Style
*
* @param {String} styleName The name of the style to be activated.
*
* @return {jQuery.jqXHR}
*/
activate: function activate(styleName) {
StyleEdit.Validator.isString(styleName);
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + encodeURIComponent(StyleEdit.Config.get('template')) + '/styles/' + encodeURIComponent(styleName) + '/actions/activate';
return _Ajax2.default.patch(ajaxUrl, { theme: StyleEdit.Config.get('theme') || undefined }, { dataType: 'json' });
},
/**
* Create New Style
*
* The success callback will contain the new style data as response.
*
* @param {String} boilerplateName
* @param {String} newStyleName
*
* @return {jQuery.jqXHR}
*/
create: function create(boilerplateName, newStyleName) {
StyleEdit.Validator.isString(boilerplateName);
StyleEdit.Validator.isString(newStyleName);
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + encodeURIComponent(StyleEdit.Config.get('template')) + '/styles';
var data = {
boilerplate_name: boilerplateName,
new_style_name: newStyleName,
theme: StyleEdit.Config.get('theme') || undefined
};
return _Ajax2.default.post(ajaxUrl, data, { dataType: 'json' });
},
/**
* Save Style
*
* @param {StyleConfiguration} styleConfiguration Contains the style configuration data.
* @param {String} tempStyleName Optional, if provided it will replace the original style name (used for preview).
*
* @return {jQuery.jqXHR}
*/
save: function save(styleConfiguration, tempStyleName) {
StyleEdit.Validator.isObject(styleConfiguration);
var styleName = tempStyleName || styleConfiguration.getName();
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + encodeURIComponent(StyleEdit.Config.get('template')) + '/styles/' + encodeURIComponent(styleName);
var data = _JsonParser2.default.encodeStyleConfiguration(styleConfiguration, false);
if (tempStyleName) {
data.name = tempStyleName;
}
return _Ajax2.default.put(ajaxUrl, { style_json: JSON.stringify(data), theme: StyleEdit.Config.get('theme') || undefined }, { dataType: 'json' });
},
/**
* Delete Existing Style
*
* @param {String} styleName
*
* @return {jQuery.jqXHR}
*/
delete: function _delete(styleName) {
StyleEdit.Validator.isString(styleName);
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + encodeURIComponent(StyleEdit.Config.get('template')) + '/styles/' + encodeURIComponent(styleName);
return _Ajax2.default.delete(ajaxUrl, { theme: StyleEdit.Config.get('theme') || undefined }, { dataType: 'json' });
},
/**
* Duplicate Style
*
* The success callback will contain the new style data.
*
* @param {String} oldStyleName
* @param {String} newStyleName
*
* @return {jQuery.jqXHR}
*/
duplicate: function duplicate(oldStyleName, newStyleName) {
StyleEdit.Validator.isString(oldStyleName);
StyleEdit.Validator.isString(newStyleName);
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + encodeURIComponent(StyleEdit.Config.get('template')) + '/styles/' + encodeURIComponent(oldStyleName);
var data = {
new_style_name: newStyleName,
theme: StyleEdit.Config.get('theme') || undefined
};
return _Ajax2.default.post(ajaxUrl, data, { dataType: 'json' });
}
};
},{"../libs/Ajax":352,"../libs/JsonParser":357}],337:[function(require,module,exports){
/* --------------------------------------------------------------
UserApi.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Ajax = require('../libs/Ajax');
var _Ajax2 = _interopRequireDefault(_Ajax);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
/**
* Terminate the StyleEdit3 session.
*
* @return {jQuery.jqXHR}
*/
logout: function logout() {
var ajaxUrl = StyleEdit.Config.get('baseUrl') + '/api.php/logout';
return _Ajax2.default.post(ajaxUrl, { theme: StyleEdit.Config.get('theme') || undefined });
}
};
},{"../libs/Ajax":352}],338:[function(require,module,exports){
/* --------------------------------------------------------------
CreateStyleModal.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/* globals -Modal */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
var _EventsEmitter = require('../libs/EventsEmitter');
var _EventsEmitter2 = _interopRequireDefault(_EventsEmitter);
var _StyleApi = require('../api/StyleApi');
var _StyleApi2 = _interopRequireDefault(_StyleApi);
var _BoilerplateApi = require('../api/BoilerplateApi');
var _BoilerplateApi2 = _interopRequireDefault(_BoilerplateApi);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Create Style Layer Controller
*
* This class is responsible for the operation of the new style creation. Once the style is
* created this controller will trigger the "StyleEdit.NewStyle" event so that other controllers
* react accordingly.
*/
var CreateStyleModal = function () {
/**
* Class Constructor
*/
function CreateStyleModal() {
_classCallCheck(this, CreateStyleModal);
/**
* Modal Selector
*
* @type {jQuery}
*/
this.$modal = null;
}
/**
* Initialize Controller
*
* Fetch the available boilerplates and display them in a modal.
*
* @return {jQuery.Promise} Will be resolved once the method is ready.
*/
_createClass(CreateStyleModal, [{
key: 'initialize',
value: function initialize() {
var _this = this;
var deferred = $.Deferred();
_BoilerplateApi2.default.list().done(function (boilerplates) {
var data = {
title_create_style_modal: StyleEdit.Language.translate('title_create_style_modal', 'style_edit'),
placeholder_style_name: StyleEdit.Language.translate('placeholder_style_name', 'style_edit'),
option_create: StyleEdit.Language.translate('option_create', 'style_edit'),
option_cancel: StyleEdit.Language.translate('option_cancel', 'style_edit'),
message_create_style_hint: StyleEdit.Language.translate('message_create_style_hint', 'style_edit'),
available_boilerplates: boilerplates.config,
template: StyleEdit.Config.get('template'),
styles_base_path: StyleEdit.Config.get('theme') ? '../public/theme/styles/styleedit/' : 'templates/' + StyleEdit.Config.get('template') + '/'
};
StyleEdit.Language.addSection('template', boilerplates.lang);
$.each(data.available_boilerplates, function (index, boilerplate) {
boilerplate.title = StyleEdit.Language.translate(boilerplate.name, 'template');
});
_this.$modal = _Modal2.default.show($('#create-style-modal-template'), data);
_this._bindEventHandlers();
// Focus style-name input field
_this.$modal.find('input[name="style-name"]').focus();
// Select the first boilerplate of the modal.
_this.$modal.find('.boilerplates .preview-item:first').addClass('selected');
deferred.resolve();
_EventsEmitter2.default.triggerControllerInitialized(_this.$modal, ['CreateStyleModal']);
$.material.init();
});
return deferred.promise();
}
/**
* Destroy Controller
*
* Hide the create-style modal.
*/
}, {
key: 'destroy',
value: function destroy() {
_Modal2.default.hide(this.$modal);
_EventsEmitter2.default.triggerControllerDestroyed(this.$modal, ['CreateStyleModal']);
}
/**
* Event: Click create button.
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickCreate',
value: function _onClickCreate(event) {
var _this2 = this;
var $element = $(event.currentTarget);
var $newStyleName = this.$modal.find('input[name="style-name"]');
$newStyleName.parent().removeClass('has-error');
if ($newStyleName.val() === '') {
$newStyleName.parent().addClass('has-error');
$newStyleName.focus();
return;
}
var boilerplateName = this.$modal.find('.boilerplates .preview-item.selected img').attr('data-name');
var newStyleName = $newStyleName.val();
_StyleApi2.default.create(boilerplateName, newStyleName).done(function (response) {
_EventsEmitter2.default.triggerStyleCreated($element, [response]);
_Modal2.default.hide(_this2.$modal);
});
}
/**
* Event: Click cancel button.
*
* Will hide the displayed modal.
*
* @private
*/
}, {
key: '_onClickCancel',
value: function _onClickCancel() {
_Modal2.default.hide(this.$modal);
}
/**
* Event: Click boilerplate preview image.
*
* Whenever the user clicks on the boilerplate preview image the "selected" class must
* be changed.
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickBoilerplatePreview',
value: function _onClickBoilerplatePreview(event) {
this.$modal.find('.boilerplates .preview-item.selected').removeClass('selected');
$(event.currentTarget).parent().addClass('selected');
}
/**
* Bind Event Handlers
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this3 = this;
this.$modal.on('click', '.btn.create', function (event) {
return _this3._onClickCreate(event);
}).on('click', '.btn.cancel', function () {
return _this3._onClickCancel();
}).on('click', '.boilerplates .preview-item img', function (event) {
return _this3._onClickBoilerplatePreview(event);
});
}
}]);
return CreateStyleModal;
}();
exports.default = CreateStyleModal;
},{"../api/BoilerplateApi":331,"../api/StyleApi":336,"../libs/EventsEmitter":356,"../libs/Modal":359}],339:[function(require,module,exports){
/* --------------------------------------------------------------
CustomStylesModal.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/* globals CodeMirror, -Modal */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _EventsEmitter = require('../libs/EventsEmitter');
var _EventsEmitter2 = _interopRequireDefault(_EventsEmitter);
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Custom Styles Modal Controller
*
* This controller handles the functionality of the "Custom Styles" modal dialog where the
* user is able to write custom CSS or SASS that is going to be included in the template.
*/
var CustomStylesModal = function () {
/**
* Class Constructor
*
* @param {String} customStyles Contains the custom styles.
*/
function CustomStylesModal(customStyles) {
_classCallCheck(this, CustomStylesModal);
StyleEdit.Validator.isString(customStyles);
/**
* Modal Selector
*
* @type {jQuery}
*/
this.$modal = null;
/**
* Custom Styles
*
* @type {String}
*/
this.customStyles = customStyles;
/**
* CodeMirror Instance
*
* @type {CodeMirror}
*/
this.codeEditor = null;
}
/**
* Initialize Controller
*/
_createClass(CustomStylesModal, [{
key: 'initialize',
value: function initialize() {
var data = {
title_custom_styles_modal: StyleEdit.Language.translate('title_custom_styles_modal', 'style_edit'),
option_save: StyleEdit.Language.translate('option_save', 'style_edit'),
option_apply: StyleEdit.Language.translate('option_apply', 'style_edit'),
option_cancel: StyleEdit.Language.translate('option_cancel', 'style_edit'),
custom_styles: this.customStyles
};
this.$modal = _Modal2.default.show($('#custom-styles-modal-template'), data);
this.$modal.find('.nav-tabs li:first a').tab('show');
this.codeEditor = CodeMirror.fromTextArea(this.$modal.find('.custom-styles-input').get(0), {
value: this.customStyles,
mode: 'text/x-sass',
lineNumbers: true,
tabSize: 4
});
this._bindEventHandlers();
$.material.init();
_EventsEmitter2.default.triggerControllerInitialized(this.$modal, ['CustomStylesModal']);
}
/**
* Destroy Controller
*/
}, {
key: 'destroy',
value: function destroy() {
_Modal2.default.hide(this.$modal);
_EventsEmitter2.default.triggerControllerDestroyed(this.$modal, ['CustomStylesModal']);
}
/**
* Event: Save Button Click
*
* @private
*/
}, {
key: '_onClickSave',
value: function _onClickSave() {
_EventsEmitter2.default.triggerCustomStylesChanged(this.$modal, [this.codeEditor.getValue()]);
this.destroy();
}
/**
* Event: Quick-Save Button Click
*
* @private
*/
}, {
key: '_onClickQuickSave',
value: function _onClickQuickSave() {
_EventsEmitter2.default.triggerCustomStylesChanged(this.$modal, [this.codeEditor.getValue()]);
$('.btn.save', '.style-edit-container').trigger('click');
}
/**
* Event: Cancel Button Click
*
* @private
*/
}, {
key: '_onClickCancel',
value: function _onClickCancel() {
this.destroy();
}
/**
* Event: Cancel Button Click
*
* @private
*/
}, {
key: '_onClickFullscreenToggle',
value: function _onClickFullscreenToggle() {
$('.custom-styles', this.$modal).toggleClass('fullscreen');
$('.toggle-icon', this.$modal).toggleClass('hidden');
}
/**
* Bind Event Handlers
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this = this;
this.$modal.on('click', '.btn.quicksave', function () {
return _this._onClickQuickSave();
}).on('click', '.btn.save', function () {
return _this._onClickSave();
}).on('click', '.btn.cancel', function () {
return _this._onClickCancel();
}).on('click', '.btn.fullscreen-toggle', function () {
return _this._onClickFullscreenToggle();
});
}
}]);
return CustomStylesModal;
}();
exports.default = CustomStylesModal;
},{"../libs/EventsEmitter":356,"../libs/Modal":359}],340:[function(require,module,exports){
/* --------------------------------------------------------------
DuplicateStyleModal.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/* globals -Modal */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
var _EventsEmitter = require('../libs/EventsEmitter');
var _EventsEmitter2 = _interopRequireDefault(_EventsEmitter);
var _StyleApi = require('../api/StyleApi');
var _StyleApi2 = _interopRequireDefault(_StyleApi);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Duplicate Style Modal Controller
*
* This controller handles the style duplication operation.
*/
var DuplicateStyleModal = function () {
/**
* Class Constructor
*
* @param {String} styleName Style name to be duplicated.
*/
function DuplicateStyleModal(styleName) {
_classCallCheck(this, DuplicateStyleModal);
StyleEdit.Validator.isString(styleName);
/**
* The modal selector.
*
* @type {jQuery}
*/
this.$modal = null;
/**
* Style name to be duplicated.
*
* @type {String}
*/
this.styleName = styleName;
}
/**
* Initialize Controller
*/
_createClass(DuplicateStyleModal, [{
key: 'initialize',
value: function initialize() {
var data = {
title_duplicate_style_modal: StyleEdit.Language.translate('title_duplicate_style_modal', 'style_edit'),
placeholder_style_name: StyleEdit.Language.translate('placeholder_style_name', 'style_edit'),
option_create: StyleEdit.Language.translate('option_create', 'style_edit'),
option_cancel: StyleEdit.Language.translate('option_cancel', 'style_edit')
};
this.$modal = _Modal2.default.show($('#duplicate-style-modal-template'), data);
// Focus style-name input field.
this.$modal.find('input[name="style-name"]').focus();
this._bindEventHandlers();
$.material.init();
_EventsEmitter2.default.triggerControllerInitialized(this.$modal, ['DuplicateStyleModal']);
}
/**
* Destroy Controller
*/
}, {
key: 'destroy',
value: function destroy() {
_Modal2.default.hide(this.$modal);
_EventsEmitter2.default.triggerControllerDestroyed(this.$modal, ['DuplicateStyleModal']);
}
/**
* Event: Duplicate Button Click
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickCreate',
value: function _onClickCreate(event) {
var _this = this;
var $element = $(event.currentTarget);
var $newStyleName = this.$modal.find('input[name="style-name"]');
$newStyleName.parent().removeClass('has-error');
if ($newStyleName.val() === '') {
$newStyleName.parent().addClass('has-error');
$newStyleName.focus();
return;
}
_StyleApi2.default.duplicate(this.styleName, $newStyleName.val()).done(function (response) {
_EventsEmitter2.default.triggerStyleCreated($element, [response]);
_this.destroy();
});
}
/**
* Event: Cancel Button Click
*
* @private
*/
}, {
key: '_onClickCancel',
value: function _onClickCancel() {
this.destroy();
}
/**
* Bind modal event handlers.
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this2 = this;
this.$modal.on('click', '.btn.create', function (event) {
return _this2._onClickCreate(event);
}).on('click', '.btn.cancel', function () {
return _this2._onClickCancel();
});
}
}]);
return DuplicateStyleModal;
}();
exports.default = DuplicateStyleModal;
},{"../api/StyleApi":336,"../libs/EventsEmitter":356,"../libs/Modal":359}],341:[function(require,module,exports){
/* --------------------------------------------------------------
EditStyleView.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/* globals -Modal */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _JsonParser = require('../libs/JsonParser');
var _JsonParser2 = _interopRequireDefault(_JsonParser);
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
var _Router = require('../libs/Router');
var _Router2 = _interopRequireDefault(_Router);
var _EventsEmitter = require('../libs/EventsEmitter');
var _EventsEmitter2 = _interopRequireDefault(_EventsEmitter);
var _WidgetConverter = require('../libs/WidgetConverter');
var _WidgetConverter2 = _interopRequireDefault(_WidgetConverter);
var _StyleApi = require('../api/StyleApi');
var _StyleApi2 = _interopRequireDefault(_StyleApi);
var _CacheApi = require('../api/CacheApi');
var _CacheApi2 = _interopRequireDefault(_CacheApi);
var _FilterBox = require('../widgets/FilterBox');
var _FilterBox2 = _interopRequireDefault(_FilterBox);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Edit Style View Controller
*
* This controller is responsible for the style editing view of the page. It will fetch the
* styles configuration data from the server and display them to the UI.
*/
var EditStyleView = function () {
/**
* Class Constructor
*
* @param {String} styleName The style name to be edited.
*/
function EditStyleView(styleName) {
_classCallCheck(this, EditStyleView);
StyleEdit.Validator.isString(styleName);
/**
* The name of the loaded style.
*
* @type {String}
*/
this.styleName = styleName;
/**
* Style Configuration Entity
*
* @type {StyleConfiguration}
*/
this.styleConfiguration = null;
/**
* The original JSON string used for determining changes.
*
* @type {String}
*/
this.originalStyleJson = null;
/**
* Contains a list with the template image file names.
*
* @type {String[]}
*/
this.templateImages = null;
}
/**
* Initialize Controller
*
* @return {jQuery.Promise} Will be resolved once the method is ready.
*/
_createClass(EditStyleView, [{
key: 'initialize',
value: function initialize() {
var _this = this;
var deferred = $.Deferred();
_StyleApi2.default.get(this.styleName).done(function (response) {
// Add the template translations to the Language object.
StyleEdit.Language.addSection('template', response.lang);
// Store the template images for future reference.
_this.templateImages = response.images;
// Parse the JSON data and display the setting widgets.
_this.styleConfiguration = _JsonParser2.default.decodeStyleConfiguration(response.config);
// Store the response for future reference (see _onClickBack function).
_this.originalStyleJson = _JsonParser2.default.encodeStyleConfiguration(_this.styleConfiguration);
_this._loadViewTemplate();
_EventsEmitter2.default.triggerControllerInitialized($('.style-edit-view'), ['EditStyleView']);
deferred.resolve();
});
return deferred.promise();
}
/**
* Destroy Controller
*
* @return {jQuery.Promise} Will be resolved once the method is ready.
*/
}, {
key: 'destroy',
value: function destroy() {
var deferred = $.Deferred();
var $styleEditView = $('.style-edit-view');
$('.edit-options-container').perfectScrollbar('destroy');
$styleEditView.fadeOut(300, function () {
$styleEditView.html(''); // Remove the HTML code.
deferred.resolve();
_EventsEmitter2.default.triggerControllerDestroyed($styleEditView, ['EditStyleView']);
});
$('.edit-style-view, .edit-options-container .option').off();
$(window).off('resize').off('beforeunload').off('StyleEdit.CustomStylesChanged');
return deferred.promise();
}
/**
* Event: Save Button Click
*
* Save the current style configuration settings and display a success notification.
*
* @private
*/
}, {
key: '_onClickSave',
value: function _onClickSave() {
var _this2 = this;
_StyleApi2.default.save(this.styleConfiguration).done(function () {
// Display dialog with success message.
var title = StyleEdit.Language.translate('title_style_saved_successfully', 'style_edit');
var message = StyleEdit.Language.translate('message_style_saved_successfully', 'style_edit');
var interval = void 0;
_Modal2.default.message(title, message).done(function () {
clearInterval(interval);
});
// The modal will close automatically in 3 seconds.
var $modal = $('.style-edit-modal:visible');
var buttonText = $modal.find('.btn.ok').text();
var secondsLeft = 3;
$modal.find('.btn.ok').text(buttonText + ' (' + secondsLeft + ')');
interval = setInterval(function () {
secondsLeft--;
if (secondsLeft === 0) {
$modal.find('.btn.ok').click();
return;
}
$modal.find('.btn.ok').text(buttonText + ' (' + secondsLeft + ')');
}, 1000);
// Save a copy of the current style for later use.
_this2.originalStyleJson = _JsonParser2.default.encodeStyleConfiguration(_this2.styleConfiguration);
// We need to clear the cache of the saved style. This can only be done by making a GET request to the
// "gm_dynamic.css.php" with the "renew_cache" parameter. Once the request is done the iframe preview
// needs to be reloaded.
var mainCssUrl = StyleEdit.Config.get('previewUrl') + '/' + $('#main-css', $('.style-edit-preview iframe').contents()).attr('href');
_CacheApi2.default.renew(mainCssUrl, _this2.styleConfiguration.getName()).done(function () {
_this2._reloadTemplatePreview(_this2.styleConfiguration.getName());
});
// If the current style is active, refresh its cache through another GET request.
if (_this2.styleConfiguration.isActive()) {
_CacheApi2.default.renew(mainCssUrl);
}
});
}
/**
* Event: Preview Button Click
*
* This callback must refresh the template preview based on the current settings.
*
* @private
*/
}, {
key: '_onClickPreview',
value: function _onClickPreview() {
var _this3 = this;
_StyleApi2.default.save(this.styleConfiguration, StyleEdit.Config.get('tempStyleName')).done(function () {
var mainCssUrl = StyleEdit.Config.get('previewUrl') + '/' + $('#main-css', $('.style-edit-preview iframe').contents()).attr('href');
_CacheApi2.default.renew(mainCssUrl, StyleEdit.Config.get('tempStyleName')).done(function () {
_this3._reloadTemplatePreview(StyleEdit.Config.get('tempStyleName'));
});
});
}
/**
* Event: Back Button Click
*
* This method must return the StyleEdit back to the styles list view. It must display a warning
* if the user has unsaved changes.
*
* @private
*/
}, {
key: '_onClickBack',
value: function _onClickBack() {
var _this4 = this;
this._validateUnsavedChanges().done(function () {
return _this4._goBackToMyStylesView();
});
}
/**
* Event: Add Custom CSS Click
*
* This callback must display the custom styles modal where the user is able to write
* his own CSS or SASS to be included in the template styling.
*
* @private
*/
}, {
key: '_onClickAddCustomCss',
value: function _onClickAddCustomCss() {
_Router2.default.load('CustomStylesModal', [this.styleConfiguration.getCustomStyles()]);
}
/**
* Event: Activate Button Click
*
* This button must activate the current style.
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickActivate',
value: function _onClickActivate(event) {
var $element = $(event.currentTarget);
_StyleApi2.default.activate(this.styleName).done(function () {
var html = '<span class="status">' + StyleEdit.Language.translate('label_active', 'style_edit') + '</span>';
$('.edit-style-view .headline .date-status').append(html);
$element.add($element.siblings('.action.delete')).remove();
});
}
/**
* Event: Delete Button Click
*
* Delete the current style. This callback must display a modal prompt to the user before
* removing the style.
*
* @private
*/
}, {
key: '_onClickDelete',
value: function _onClickDelete() {
var _this5 = this;
var title = StyleEdit.Language.translate('title_delete_style_modal', 'style_edit');
var message = StyleEdit.Language.translate('message_delete_style_modal', 'style_edit');
_Modal2.default.prompt(title, message).done(function () {
_StyleApi2.default.delete(_this5.styleName).done(function (response) {
_EventsEmitter2.default.triggerStyleDeleted($('.edit-style-view'), [response]);
_this5.destroy().done(function () {
return _Router2.default.load('MyStylesView');
});
});
});
}
/**
* Event: Option Group Bar Click
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickOptionGroupBar',
value: function _onClickOptionGroupBar(event) {
$(event.currentTarget).parent().toggleClass('open');
$('.edit-options-container').perfectScrollbar('update');
}
/**
* Event: Window Resize
*
* @private
*/
}, {
key: '_onWindowResize',
value: function _onWindowResize() {
this._resizeOptionsContainer();
}
/**
* Event: On Window Before Unload
*
* Check if there are unsaved changes.
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onWindowBeforeUnload',
value: function _onWindowBeforeUnload(event) {
var currentStyleJson = _JsonParser2.default.encodeStyleConfiguration(this.styleConfiguration);
if (currentStyleJson !== this.originalStyleJson) {
var message = StyleEdit.Language.translate('message_unsaved_changes', 'style_edit');
event.returnValue = message;
return message;
}
}
/**
* Event: Re-order the box settings.
*
* This method will update the position of the box settings.
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onUpdateBoxPositions',
value: function _onUpdateBoxPositions(event) {
var _this6 = this;
$(event.currentTarget).find('.form-group').each(function (index, formGroup) {
var $element = $(formGroup);
$.each(_this6.styleConfiguration.getSettings(), function (index, collection) {
if (collection.getType() === 'boxes') {
$.each(collection.getEntries(), function (index, boxSetting) {
if (boxSetting.getName() === $element.find('input:checkbox').attr('id')) {
boxSetting.setPosition($element.index() + 1);
}
});
}
});
});
}
/**
* Event: Custom Styles Changed
*
* @param {jQuery.Event} event
* @param {String} customStyles Contains the new custom CSS.
*
* @private
*/
}, {
key: '_onCustomStylesChanged',
value: function _onCustomStylesChanged(event, customStyles) {
StyleEdit.Validator.isString(customStyles);
this.styleConfiguration.setCustomStyles(customStyles);
}
/**
* Navigates back to MyStylesView controller.
*
* @private
*/
}, {
key: '_goBackToMyStylesView',
value: function _goBackToMyStylesView() {
var _this7 = this;
this.destroy().done(function () {
return _Router2.default.load('MyStylesView', [_this7.styleName]);
});
}
/**
* Reload the template preview.
*
* @param {String} styleName Style name will be provided as a GET parameter to the shop.
*
* @private
*/
}, {
key: '_reloadTemplatePreview',
value: function _reloadTemplatePreview(styleName) {
StyleEdit.Validator.isString(styleName);
var url = $('.style-edit-preview iframe').get(0).contentWindow.location.href;
var parameter = 'style_edit_style_name=' + encodeURIComponent(styleName);
if (url.indexOf('style_edit_style_name=') > -1) {
url = url.replace(/style_edit_style_name=.*/g, parameter);
} else if (url.indexOf('?') === -1) {
url += '?' + parameter;
} else {
url += '&' + parameter;
}
$('.style-edit-preview iframe').get(0).contentWindow.location.href = url;
_EventsEmitter2.default.triggerPreviewReloaded($('.edit-style-view'), [styleName]);
}
/**
* Bind event handlers for the settings view.
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this8 = this;
$('.edit-style-view').off('click').on('click', '.btn.save', function () {
return _this8._onClickSave();
}).on('click', '.btn.preview', function () {
return _this8._onClickPreview();
}).on('click', '.btn.back', function () {
return _this8._onClickBack();
}).on('click', '.action.activate', function (event) {
return _this8._onClickActivate(event);
}).on('click', '.action.delete', function () {
return _this8._onClickDelete();
}).on('click', '.action.add-custom-css', function () {
return _this8._onClickAddCustomCss();
}).on('sortupdate', '.dropdown-menu.ui-sortable', function (event) {
return _this8._onUpdateBoxPositions(event);
});
$('.edit-options-container .option').off('click').on('click', '.icon, .info, .dropdown-icon', function (event) {
return _this8._onClickOptionGroupBar(event);
});
$(window).on('resize', function () {
return _this8._onWindowResize();
}).on('beforeunload', function (event) {
return _this8._onWindowBeforeUnload(event);
}).on('StyleEdit.CustomStylesChanged', function (event, customStyles) {
return _this8._onCustomStylesChanged(event, customStyles);
});
}
/**
* Resize Options Container
*
* @private
*/
}, {
key: '_resizeOptionsContainer',
value: function _resizeOptionsContainer() {
var editOptionsContainerHeight = window.innerHeight - $('.style-edit-headline').outerHeight() - $('.edit-style-view .headline').outerHeight() - $('.edit-style-view .footer-container').outerHeight();
$('.edit-options-container').height(editOptionsContainerHeight);
}
/**
* Set Local Storage Color Palette
*
* The colorpicker widgets share their palette through the "style_edit_color_palette" item in the
* browser's local storage.
*
* @param {String} colorPalette Contains the colors to be written in local storage.
*
* @private
*/
}, {
key: '_setLocalStorageColorPalette',
value: function _setLocalStorageColorPalette(colorPalette) {
StyleEdit.Validator.isObject(colorPalette);
if (window.localStorage === undefined) {
StyleEdit.Debug.warn('Local storage is not supported, no color palette will be set.');
return; // local storage is not supported
}
var storageKey = StyleEdit.Config.get('localStorageColorPalette');
localStorage.removeItem(storageKey);
localStorage.setItem(storageKey, ';' + colorPalette.join(';'));
}
/**
* Validated whether there are unsaved changes.
*
* Use this method before leaving the EditStyleView to validate whether there are unsaved changes.
*
* @return {jQuery.Promise} Returns a promise that will be resolved if the user really wants to leave the page.
*
* @private
*/
}, {
key: '_validateUnsavedChanges',
value: function _validateUnsavedChanges() {
// Workaround for quickly checking if there are any changes is to encode the "styleConfiguration"
// and the "originalStyleJson".
var currentStyleJson = _JsonParser2.default.encodeStyleConfiguration(this.styleConfiguration);
var promise = void 0;
if (currentStyleJson !== this.originalStyleJson) {
var title = StyleEdit.Language.translate('title_unsaved_changes', 'style_edit');
var message = StyleEdit.Language.translate('message_unsaved_changes', 'style_edit');
promise = _Modal2.default.prompt(title, message);
} else {
promise = $.Deferred().resolve(); // Nothing was changed.
}
return promise;
}
/**
* Load the settings template view.
*
* This method will create the correct HTML for the style settings by using the
* StyleConfiguration object.
*
* @private
*/
}, {
key: '_loadViewTemplate',
value: function _loadViewTemplate() {
var _this9 = this;
if (this.styleConfiguration === null) {
throw new Error('The controller was not initialized properly! There is no style configuration set.');
}
var template = $('#edit-style-view-template').html();
var data = _JsonParser2.default.encodeStyleConfiguration(this.styleConfiguration, false);
var newEntriesArray = void 0;
var widgetInstances = [];
var colorPalette = [];
var dateFormat = StyleEdit.Config.get('languageCode') === 'de' ? 'dd.MM.yyyy' : 'MM.dd.yyyy';
// Add translations and other labels.
data.label_active = StyleEdit.Language.translate('label_active', 'style_edit');
data.option_add_custom_css = StyleEdit.Language.translate('option_add_custom_css', 'style_edit');
data.option_activate = StyleEdit.Language.translate('option_activate', 'style_edit');
data.option_delete = StyleEdit.Language.translate('option_delete', 'style_edit');
data.modificationDate = Date.parse(data.modificationDate).toString(dateFormat);
data.option_save = StyleEdit.Language.translate('option_save', 'style_edit');
data.option_preview = StyleEdit.Language.translate('option_preview', 'style_edit');
data.option_back = StyleEdit.Language.translate('option_back', 'style_edit');
$.each(data.settings, function (index, collection) {
collection.title = StyleEdit.Language.translate(collection.name, 'template');
newEntriesArray = []; // reset array
if (collection.type === 'boxes') {
collection.entries.sort(function (a, b) {
if (a.position < b.position) {
return -1;
} else if (a.position > b.position) {
return 1;
}
return 0;
});
}
$.each(collection.entries, function (index, entry) {
// Check if the setting is a color and if it belongs in the color palette.
if (data.colorPalette) {
$.each(data.colorPalette, function (index, variableName) {
if (variableName === entry.name && entry.type === 'color') {
colorPalette.push(entry.value);
}
});
}
// Create the setting instance.
try {
var widgetInstance = _WidgetConverter2.default.convertSettingToWidget(entry, _this9.styleConfiguration, _this9.templateImages);
// Push the instances to their respective arrays.
newEntriesArray.push(widgetInstance);
widgetInstances.push(widgetInstance);
} catch (exception) {
StyleEdit.Debug.error('StyleEdit Error: ', exception);
return true; // continue
}
});
collection.entries = newEntriesArray;
});
// Render the template and bind the event handlers.
$('.style-edit-view').html(Mustache.render(template, data)).fadeIn();
this._bindEventHandlers();
// Initialize the widgets
$.each(widgetInstances, function (index, widget) {
widget.initialize(); // will bind the event handlers
});
// Set the local storage color palette so that wall the colorpickers share the same palette.
this._setLocalStorageColorPalette(colorPalette);
// Add material design effects to new objects.
$.material.init();
// Add sortable functionality to boxes.
$('.style-edit-view .form-group .fa-bars').parents('.dropdown-menu').sortable({
axis: 'y',
opacity: 0.5,
containment: 'parent'
});
// Add scrollbars.
this._resizeOptionsContainer();
$('.edit-options-container').perfectScrollbar();
// Initialize the filter box widget.
this.filterBox = new _FilterBox2.default($('.filter-box-wrapper'), $('.edit-options'), $('.edit-options-container'), this.styleConfiguration);
this.filterBox.initialize();
}
}]);
return EditStyleView;
}();
exports.default = EditStyleView;
},{"../api/CacheApi":332,"../api/StyleApi":336,"../libs/EventsEmitter":356,"../libs/JsonParser":357,"../libs/Modal":359,"../libs/Router":360,"../libs/WidgetConverter":363,"../widgets/FilterBox":367}],342:[function(require,module,exports){
/* --------------------------------------------------------------
MyStylesView.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/* globals -Modal */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Ajax = require('../libs/Ajax');
var _Ajax2 = _interopRequireDefault(_Ajax);
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
var _Router = require('../libs/Router');
var _Router2 = _interopRequireDefault(_Router);
var _EventsEmitter = require('../libs/EventsEmitter');
var _EventsEmitter2 = _interopRequireDefault(_EventsEmitter);
var _StyleApi = require('../api/StyleApi');
var _StyleApi2 = _interopRequireDefault(_StyleApi);
var _UserApi = require('../api/UserApi');
var _UserApi2 = _interopRequireDefault(_UserApi);
var _BoilerplateApi = require('../api/BoilerplateApi');
var _BoilerplateApi2 = _interopRequireDefault(_BoilerplateApi);
var _CacheApi = require('../api/CacheApi');
var _CacheApi2 = _interopRequireDefault(_CacheApi);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* MyStylesView Controller
*/
var MyStylesView = function () {
/**
* Class Constructor
*
* @param {String} selectedStyleName Optional (null), whether to select a specific style from the list.
*/
function MyStylesView() {
var selectedStyleName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
_classCallCheck(this, MyStylesView);
/**
* Selected Style Name
*
* @type {String}
*/
this.selectedStyleName = selectedStyleName;
}
/**
* Initialize Controller
*
* @return {jQuery.Promise} Will be resolved once the method is ready.
*/
_createClass(MyStylesView, [{
key: 'initialize',
value: function initialize() {
var _this = this;
var deferred = $.Deferred();
_StyleApi2.default.list().done(function (styles) {
_this._loadViewTemplate(styles.config);
_this._bindEventHandlers();
_EventsEmitter2.default.triggerControllerInitialized($('.style-edit-view'), ['MyStylesView']);
deferred.resolve();
});
return deferred.promise();
}
/**
* Destroy Controller
*
* @return {jQuery.Promise} Will be resolved once the method is ready.
*/
}, {
key: 'destroy',
value: function destroy() {
var deferred = $.Deferred();
var $styleEditView = $('.style-edit-view');
$('.styles-container').perfectScrollbar('destroy');
$styleEditView.fadeOut(300, function () {
$styleEditView.html(''); // Remove the HTML code.
_EventsEmitter2.default.triggerControllerDestroyed($styleEditView, ['MyStylesView']);
deferred.resolve();
});
$('.my-styles-list, .styles-list').off();
return deferred.promise();
}
/**
* Event: Click the create new style button.
*
* @private
*/
}, {
key: '_onClickCreateStyle',
value: function _onClickCreateStyle() {
_Router2.default.load('CreateStyleModal');
}
/**
* Event: Click the upload style button.
*
* @private
*/
}, {
key: '_onClickUploadStyle',
value: function _onClickUploadStyle() {
_Router2.default.load('UploadStyleModal');
}
/**
* Event: Click the terminate button.
*
* @private
*/
}, {
key: '_onClickTerminate',
value: function _onClickTerminate() {
var _this2 = this;
_UserApi2.default.logout().done(function () {
_this2.destroy();
_EventsEmitter2.default.triggerAppTerminated($('.style-edit-view'), ['MyStylesView']);
window.location.replace(StyleEdit.Config.get('previewUrl'));
});
}
/**
* Activate Configuration
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickActivateStyle',
value: function _onClickActivateStyle(event) {
var _this3 = this;
var $element = $(event.currentTarget);
var styleName = $element.parents('.element').find('.info .name').text();
_StyleApi2.default.activate(styleName).done(function (styles) {
_EventsEmitter2.default.triggerStyleActivated($element, [styleName]);
_this3._loadViewTemplate(styles);
_this3._bindEventHandlers();
// Now we have a new standard style. So let's renew the CSS cache ...
var url = $('#main-css', $('.style-edit-preview iframe').contents()).attr('href');
if (url.indexOf('&style_name=') > -1) {
url = url.replace(/&style_name=.*/g, '');
}
if (url.indexOf('&renew_cache=1') === -1) {
url += '&renew_cache=1';
}
_Ajax2.default.get(StyleEdit.Config.get('previewUrl') + '/' + url).done(function () {
var parameter = '?style_edit_style_name=' + encodeURIComponent(styleName);
var url = StyleEdit.Config.get('previewUrl') + parameter;
$('.style-edit-preview iframe').attr('src', url);
_EventsEmitter2.default.triggerPreviewReloaded($('.style-edit-view'), [styleName]);
});
});
}
/**
* Event: Edit Configuration
*
* This method must open the edit settings view.
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickEditStyle',
value: function _onClickEditStyle(event) {
var styleName = $(event.currentTarget).parents('.element').find('.info .name').text();
this.destroy().done(function () {
_Router2.default.load('EditStyleView', [styleName]);
});
}
/**
* Event: Duplicate Configuration
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickDuplicateStyle',
value: function _onClickDuplicateStyle(event) {
_Router2.default.load('DuplicateStyleModal', [$(event.currentTarget).parents('.element').find('.info .name').text()]);
}
/**
* Delete Configuration
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickDeleteStyle',
value: function _onClickDeleteStyle(event) {
var _this4 = this;
var $element = $(event.currentTarget);
var title = StyleEdit.Language.translate('title_delete_style_modal', 'style_edit');
var message = StyleEdit.Language.translate('message_delete_style_modal', 'style_edit');
_Modal2.default.prompt(title, message).done(function () {
var styleName = $element.parents('.element').find('.info .name').text();
_StyleApi2.default.delete(styleName).done(function (styles) {
_EventsEmitter2.default.triggerStyleDeleted($element, [styleName]);
_this4._loadViewTemplate(styles);
_this4._bindEventHandlers();
});
});
}
/**
* Event: Style Selected
*
* This callback must refresh the template preview based on the selected style.
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickStyleElement',
value: function _onClickStyleElement(event) {
var $element = $(event.currentTarget);
if (event.target === $element.find('.dropdown-icon i').get(0) || event.target === $element.find('.dropdown-icon i').get(1)) {
return; // The user just clicked in the dropdown icon, so do not refresh the iframe.
}
$('.styles-list .element.selected').removeClass('selected');
$element.addClass('selected');
var styleName = $(this).find('.name').text();
var parameter = '?style_edit_style_name=' + encodeURIComponent($element.find('.name').text());
var url = StyleEdit.Config.get('previewUrl') + parameter;
var iframeSrc = $('.style-edit-preview iframe').attr('src');
var isActive = $element.find('.status:visible').length > 0;
if (iframeSrc === url || isActive && iframeSrc === StyleEdit.Config.get('previewUrl')) {
return; // The old preview URL and the new are the same so do not perform a reload.
}
$('.style-edit-preview iframe').attr('src', url);
_EventsEmitter2.default.triggerPreviewReloaded($('.style-edit-view'), [styleName]);
}
/**
* Event: New Style Created
*
* This handler will trigger the list refresh. The new style must also be selected
* after the list has completed loading.
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onStyleCreated',
value: function _onStyleCreated(event, response) {
var _this5 = this;
var mainCssUrl = StyleEdit.Config.get('previewUrl') + '/' + $('#main-css', $('.style-edit-preview iframe').contents()).attr('href');
_CacheApi2.default.renew(mainCssUrl, response.name).done(function () {
_StyleApi2.default.list().done(function (styles) {
_this5._loadViewTemplate(styles.config);
_this5._bindEventHandlers();
$('.my-styles-view .element .name').filter(function (index, element) {
return $(element).text() === response.name;
}).click();
});
});
}
/**
* Event: Download Style
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickDownloadStyle',
value: function _onClickDownloadStyle(event) {
var url = StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + StyleEdit.Config.get('template') + '/download/' + encodeURIComponent($(event.currentTarget).parents('.element').find('.name').text()) + (StyleEdit.Config.get('theme') ? '?theme' : '');
window.open(url, '_blank');
}
/**
* Event: Dropdown Toggle
*
* This event handler is used for updating the scroll bars.
*
* @private
*/
}, {
key: '_onDropdownToggle',
value: function _onDropdownToggle() {
if ($('.styles-container').perfectScrollbar) {
$('.styles-container').perfectScrollbar('update');
}
}
/**
* Event: Window Resize
*
* @private
*/
}, {
key: '_onWindowResize',
value: function _onWindowResize() {
this._resizeStylesContainer();
}
/**
* Resize styles container.
*
* @private
*/
}, {
key: '_resizeStylesContainer',
value: function _resizeStylesContainer() {
var stylesContainerHeight = window.innerHeight - $('.style-edit-headline').outerHeight() - $('.my-styles-view .footer-container').outerHeight();
$('.my-styles-view .styles-container').height(stylesContainerHeight);
}
/**
* Load view template.
*
* @param {Object[]} styles Contains the existing style configurations data for the list.
*
* @private
*/
}, {
key: '_loadViewTemplate',
value: function _loadViewTemplate(styles) {
var _this6 = this;
var template = $('#my-styles-view-template').html();
var data = {
title_my_styles_view: StyleEdit.Language.translate('title_my_styles_view', 'style_edit'),
message_no_styles: StyleEdit.Language.translate('message_no_styles', 'style_edit'),
option_new_style: StyleEdit.Language.translate('option_new_style', 'style_edit'),
option_upload_style: StyleEdit.Language.translate('option_upload_style', 'style_edit'),
option_terminate: StyleEdit.Language.translate('option_terminate', 'style_edit'),
availableStyles: styles,
label_active: StyleEdit.Language.translate('label_active', 'style_edit'),
option_activate: StyleEdit.Language.translate('option_activate', 'style_edit'),
option_edit: StyleEdit.Language.translate('option_edit', 'style_edit'),
option_duplicate: StyleEdit.Language.translate('option_duplicate', 'style_edit'),
option_delete: StyleEdit.Language.translate('option_delete', 'style_edit'),
option_download: StyleEdit.Language.translate('option_download', 'style_edit')
};
// Add language translations to the styles.
var dateFormat = StyleEdit.Config.get('languageCode') === 'de' ? 'dd.MM.yyyy' : 'MM.dd.yyyy';
var tempStyleIndex = -1;
$.each(data.availableStyles, function (index, style) {
if (style.name === StyleEdit.Config.get('tempStyleName')) {
tempStyleIndex = index;
return true; // continue
}
style.modificationDate = Date.parse(style.modificationDate).toString(dateFormat);
});
// Remove the temporary style config from the array or create it if it doesn't exist.
if (tempStyleIndex > -1) {
data.availableStyles.splice(tempStyleIndex, 1);
} else {
this._createTemporaryStyle();
}
$('.style-edit-view').html(Mustache.render(template, data)).fadeIn().find('.styles-list').off('click').on('click', '.action.activate', function (event) {
return _this6._onClickActivateStyle(event);
}).on('click', '.action.edit', function (event) {
return _this6._onClickEditStyle(event);
}).on('click', '.action.duplicate', function (event) {
return _this6._onClickDuplicateStyle(event);
}).on('click', '.action.delete', function (event) {
return _this6._onClickDeleteStyle(event);
}).on('click', '.action.download', function (event) {
return _this6._onClickDownloadStyle(event);
}).on('shown.bs.dropdown hidden.bs.dropdown', '.element', function () {
return _this6._onDropdownToggle();
});
// Explicitly select the active element upon initialization.
var styleName = this.selectedStyleName || $('.style-edit-view .element.active .name').text();
var parameter = '?style_edit_style_name=' + encodeURIComponent(styleName);
$('.style-edit-preview iframe').attr('src', StyleEdit.Config.get('previewUrl') + parameter);
$('.style-edit-view .element.selected').removeClass('selected');
$('.style-edit-view .element .name').filter(function (index, element) {
return $(element).text() === styleName;
}).parents('.element').addClass('selected');
// Add material design effects to new objects.
$.material.init();
// Add scrollbars.
this._resizeStylesContainer();
$('.styles-container').perfectScrollbar();
}
/**
* Create the temporary style config.
*
* The temporary style configuration is used whenever the user wants to see his current changes
* in the edit-style-view as a workaround to the current PHP API. That means that whenever StyleEdit
* is initialized it is required that this file is present on the server.
*
* The temporary configuration file must not be displayed in the styles list, it is used only internally.
*
* You can get the temporary style name from the config object: StyleEdit.Config.get('tempStyleName').
*
* @private
*/
}, {
key: '_createTemporaryStyle',
value: function _createTemporaryStyle() {
_BoilerplateApi2.default.list().done(function (boilerplates) {
if (boilerplates.config.length === 0) {
throw new Error('Unexpected Error: The current template does not have any boilerplate configuration ' + 'files.');
}
_StyleApi2.default.create(boilerplates.config[0].name, StyleEdit.Config.get('tempStyleName'));
});
}
/**
* Bind element event handlers.
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this7 = this;
$('.my-styles-view').off('click').on('click', '.element', function (event) {
return _this7._onClickStyleElement(event);
}).on('click', '.btn.create-style', function () {
return _this7._onClickCreateStyle();
}).on('click', '.btn.upload-style', function () {
return _this7._onClickUploadStyle();
}).on('click', '.btn.terminate', function () {
return _this7._onClickTerminate();
});
$('body').off('StyleEdit.StyleCreated').on('StyleEdit.StyleCreated', function (event, response) {
return _this7._onStyleCreated(event, response);
});
$(window).off('resize').on('resize', function () {
return _this7._onWindowResize();
});
}
}]);
return MyStylesView;
}();
exports.default = MyStylesView;
},{"../api/BoilerplateApi":331,"../api/CacheApi":332,"../api/StyleApi":336,"../api/UserApi":337,"../libs/Ajax":352,"../libs/EventsEmitter":356,"../libs/Modal":359,"../libs/Router":360}],343:[function(require,module,exports){
/* --------------------------------------------------------------
PreviewImageModal.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
var _EventsEmitter = require('../libs/EventsEmitter');
var _EventsEmitter2 = _interopRequireDefault(_EventsEmitter);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Upload Image Modal Controller
*
* This controller will handle the image upload. After a successful upload it will set the newest
* image to the setting that triggered the upload and then it will also update the select boxes of
* all the other image widgets, so that the option is also available there.
*/
var PreviewImageModal = function () {
/**
* Class Constructor
*
* @param {jQuery} $target Select box selector of the setting that triggered the modal.
*/
function PreviewImageModal($target) {
_classCallCheck(this, PreviewImageModal);
StyleEdit.Validator.isObject($target);
/**
* Select Box
*
* @type {jQuery}
*/
this.$target = $target;
/**
* The modal selector.
*
* @type {jQuery}
*/
this.$modal = null;
}
/**
* Initialize Controller
*/
_createClass(PreviewImageModal, [{
key: 'initialize',
value: function initialize() {
var _this = this;
var data = {
title_preview_image_modal: StyleEdit.Language.translate('title_preview_image_modal', 'style_edit'),
image_url: StyleEdit.Config.get('previewUrl') + '/' + StyleEdit.Config.get('imagesDir') + this.$target.find('option:selected').text()
};
this.$modal = _Modal2.default.show($('#preview-image-modal-template'), data);
this.$modal.on('click', '.btn.ok', function () {
return _this.destroy();
});
_EventsEmitter2.default.triggerControllerInitialized(this.$modal, ['PreviewImageModal']);
$.material.init();
}
/**
* Destroy Controller
*/
}, {
key: 'destroy',
value: function destroy() {
_Modal2.default.hide(this.$modal);
_EventsEmitter2.default.triggerControllerDestroyed(this.$modal, ['PreviewImageModal']);
}
}]);
return PreviewImageModal;
}();
exports.default = PreviewImageModal;
},{"../libs/EventsEmitter":356,"../libs/Modal":359}],344:[function(require,module,exports){
/* --------------------------------------------------------------
UploadImageModal.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
var _ImageApi = require('../api/ImageApi');
var _ImageApi2 = _interopRequireDefault(_ImageApi);
var _EventsEmitter = require('../libs/EventsEmitter');
var _EventsEmitter2 = _interopRequireDefault(_EventsEmitter);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Upload Image Modal Controller
*
* This controller will handle the image upload. After a successful upload it will set the newest
* image to the setting that triggered the upload and then it will also update the select boxes of
* all the other image widgets, so that the option is also available there.
*/
var UploadImageModal = function () {
/**
* Class Constructor
*
* @param {jQuery} $target Select box selector of the setting that triggered the modal.
*/
function UploadImageModal($target) {
_classCallCheck(this, UploadImageModal);
StyleEdit.Validator.isObject($target);
/**
* Select Box
*
* @type {jQuery}
*/
this.$target = $target;
/**
* Modal Selector
*
* @type {jQuery}
*/
this.$modal = null;
}
/**
* Initialize Controller
*/
_createClass(UploadImageModal, [{
key: 'initialize',
value: function initialize() {
var data = {
title_upload_image_modal: StyleEdit.Language.translate('title_upload_image_modal', 'style_edit'),
placeholder_browse: StyleEdit.Language.translate('placeholder_browse', 'style_edit'),
option_upload: StyleEdit.Language.translate('option_upload', 'style_edit'),
option_cancel: StyleEdit.Language.translate('option_cancel', 'style_edit')
};
this.$modal = _Modal2.default.show($('#upload-image-modal-template'), data);
this._bindEventHandlers();
$.material.init();
_EventsEmitter2.default.triggerControllerInitialized(this.$modal, ['UploadImageModal']);
}
/**
* Destroy Controller
*/
}, {
key: 'destroy',
value: function destroy() {
_Modal2.default.hide(this.$modal);
_EventsEmitter2.default.triggerControllerDestroyed(this.$modal, ['UploadImageModal']);
}
/**
* Event: On Click Upload
*
* @private
*/
}, {
key: '_onClickUpload',
value: function _onClickUpload() {
var _this = this;
var $fileInput = this.$modal.find('#image');
$fileInput.parent().removeClass('has-error is-focused');
if ($fileInput.val() === '') {
$fileInput.parent().addClass('has-error is-focused');
$fileInput.focus();
return;
}
_ImageApi2.default.upload($fileInput).done(function (response) {
// Append the new file only if it is not already an option.
if (_this.$target.find('option[value="' + response + '"]').length === 0) {
$('.edit-options .image-list').append(new Option(response, response));
}
_this.$target.val(response).trigger('change');
_this.destroy();
}).fail(function (jqxhr, text, error) {
_Modal2.default.message(StyleEdit.Language.translate('title_unexpected_error', 'style_edit'), StyleEdit.Language.translate('message_unexpected_error', 'style_edit'));
StyleEdit.Debug.log('Style Edit Error: ', jqxhr, text, error);
});
}
/**
* Event: On Click Cancel
*
* @private
*/
}, {
key: '_onClickCancel',
value: function _onClickCancel() {
this.destroy();
}
/**
* Bind Modal Event Handlers
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this2 = this;
this.$modal.on('click', '.btn.upload', function () {
return _this2._onClickUpload();
}).on('click', '.btn.cancel', function () {
return _this2._onClickCancel();
});
}
}]);
return UploadImageModal;
}();
exports.default = UploadImageModal;
},{"../api/ImageApi":334,"../libs/EventsEmitter":356,"../libs/Modal":359}],345:[function(require,module,exports){
/* --------------------------------------------------------------
UploadStyleModal.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/* globals -Modal */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
var _StyleUpload = require('../widgets/StyleUpload');
var _StyleUpload2 = _interopRequireDefault(_StyleUpload);
var _EventsEmitter = require('../libs/EventsEmitter');
var _EventsEmitter2 = _interopRequireDefault(_EventsEmitter);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Upload Style Modal Controller
*
* This controller will handle the style upload operation. The upload will be done
* with AJAX and thus the use of the StyleUpload widget is required.
*/
var UploadStyleModal = function () {
/**
* Class Constructor
*/
function UploadStyleModal() {
_classCallCheck(this, UploadStyleModal);
/**
* The modal selector.
*
* @type {jQuery}
*/
this.$modal = null;
/**
* The StyleUpload Instance
*
* @type {StyleUpload}
*/
this.styleUpload = null;
}
/**
* Initialize Controller
*/
_createClass(UploadStyleModal, [{
key: 'initialize',
value: function initialize() {
var data = {
title_upload_style_modal: StyleEdit.Language.translate('title_upload_style_modal', 'style_edit'),
placeholder_style_name: StyleEdit.Language.translate('placeholder_style_name', 'style_edit'),
placeholder_browse: StyleEdit.Language.translate('placeholder_browse', 'style_edit'),
option_create: StyleEdit.Language.translate('option_create', 'style_edit'),
option_cancel: StyleEdit.Language.translate('option_cancel', 'style_edit')
};
this.$modal = _Modal2.default.show($('#upload-style-modal-template'), data);
// Focus style-name input field.
this.$modal.find('input[name="style-name"]').focus();
// Initialize the file upload.
this.styleUpload = new _StyleUpload2.default(this.$modal.find('#json-upload'), StyleEdit.Config.get('baseUrl') + '/api.php/templates/' + StyleEdit.Config.get('template') + '/upload' + (StyleEdit.Config.get('theme') ? '?theme' : ''));
this._bindEventHandlers();
_EventsEmitter2.default.triggerControllerInitialized(this.$modal, ['UploadStyleModal']);
$.material.init();
}
/**
* Destroy Controller
*/
}, {
key: 'destroy',
value: function destroy() {
_Modal2.default.hide(this.$modal);
_EventsEmitter2.default.triggerControllerDestroyed(this.$modal, ['UploadStyleModal']);
}
/**
* Event: Click Browse Button
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickBrowse',
value: function _onClickBrowse(event) {
var fileName = $(event.currentTarget).val();
$(event.currentTarget).siblings('input:text').attr('placeholder', fileName);
}
/**
* Event: Create Button Click
*
* @param {jQuery.Event} event
*
* @private
*/
}, {
key: '_onClickCreate',
value: function _onClickCreate(event) {
var _this = this;
var $element = $(event.currentTarget);
var $newStyleName = this.$modal.find('#style-name');
var $newStyleFile = this.$modal.find('#json-upload');
$newStyleName.parent().removeClass('has-error');
$newStyleFile.parent().removeClass('has-error is-focused');
if ($newStyleName.val() === '') {
$newStyleName.parent().addClass('has-error');
$newStyleName.focus();
return;
}
if ($newStyleFile.val() === '') {
$newStyleFile.parent().addClass('has-error is-focused');
$newStyleFile.focus();
return;
}
this.styleUpload.upload($newStyleName.val()).done(function (response) {
_EventsEmitter2.default.triggerStyleCreated($element, [response]);
_Modal2.default.hide(_this.$modal); // close the modal layer
});
}
/**
* Event: Cancel Button Click
*
* @private
*/
}, {
key: '_onClickCancel',
value: function _onClickCancel() {
this.destroy();
}
/**
* Bind the require event handlers.
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this2 = this;
this.$modal.on('click', '.btn.create', function (event) {
return _this2._onClickCreate(event);
}).on('click', '.btn.cancel', function () {
return _this2._onClickCancel();
}).on('change', '#json-upload', function (event) {
return _this2._onClickBrowse(event);
});
}
}]);
return UploadStyleModal;
}();
exports.default = UploadStyleModal;
},{"../libs/EventsEmitter":356,"../libs/Modal":359,"../widgets/StyleUpload":372}],346:[function(require,module,exports){
/* --------------------------------------------------------------
BoxSetting.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Setting2 = require('./Setting');
var _Setting3 = _interopRequireDefault(_Setting2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
/**
* Class BoxSetting
*/
var BoxSetting = function (_Setting) {
_inherits(BoxSetting, _Setting);
/**
* Class Constructor
*/
function BoxSetting() {
_classCallCheck(this, BoxSetting);
/**
* Position in the boxes setting group.
*
* @type {Number}
*/
var _this = _possibleConstructorReturn(this, (BoxSetting.__proto__ || Object.getPrototypeOf(BoxSetting)).call(this));
_this.position = null;
return _this;
}
/**
* Position Getter
*
* @return {Number}
*/
_createClass(BoxSetting, [{
key: 'getPosition',
value: function getPosition() {
return this.position;
}
/**
* Position Setter
*
* @param {Number} position
*
* @return {BoxSetting}
*/
}, {
key: 'setPosition',
value: function setPosition(position) {
StyleEdit.Validator.isInt(position);
this.position = position;
return this;
}
}]);
return BoxSetting;
}(_Setting3.default);
exports.default = BoxSetting;
},{"./Setting":349}],347:[function(require,module,exports){
/* --------------------------------------------------------------
Collection.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Class Collection
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Collection = function () {
/**
* Class Constructor
*/
function Collection() {
_classCallCheck(this, Collection);
/**
* Name
*
* @type {String}
*/
this.name = null;
/**
* Title
*
* @type {String}
*/
this.title = null;
/**
* Type
*
* @type {String}
*/
this.type = null;
/**
* Icon
*
* @type {String}
*/
this.icon = null;
/**
* Value
*
* @type {array}
*/
this.entries = null;
}
/**
* Name Getter
*
* @return {String}
*/
_createClass(Collection, [{
key: 'getName',
value: function getName() {
return this.name;
}
/**
* Name Setter
*
* @param {String} name
*
* @return {Collection}
*/
}, {
key: 'setName',
value: function setName(name) {
StyleEdit.Validator.isString(name);
this.name = name;
return this;
}
/**
* Title Getter
*
* @return {String}
*/
}, {
key: 'getTitle',
value: function getTitle() {
return this.title;
}
/**
* Title Setter
*
* @param {String} title
*
* @return {Collection}
*/
}, {
key: 'setTitle',
value: function setTitle(title) {
StyleEdit.Validator.isString(title);
this.title = title;
return this;
}
/**
* Type Getter
*
* @return {String}
*/
}, {
key: 'getType',
value: function getType() {
return this.type;
}
/**
* Type Setter
*
* @param {String} type
*
* @return {Collection}
*/
}, {
key: 'setType',
value: function setType(type) {
StyleEdit.Validator.isString(type);
this.type = type;
return this;
}
/**
* Icon Getter
*
* @return {String}
*/
}, {
key: 'getIcon',
value: function getIcon() {
return this.icon;
}
/**
* Icon Setter
*
* @param {String} icon
*
* @return {Collection}
*/
}, {
key: 'setIcon',
value: function setIcon(icon) {
StyleEdit.Validator.isString(icon);
this.icon = icon;
return this;
}
/**
* Entries Getter
*
* @return {Setting[]}
*/
}, {
key: 'getEntries',
value: function getEntries() {
return this.entries;
}
/**
* Entries Setter
*
* @param {Setting[]} entries
*
* @return {Collection}
*/
}, {
key: 'setEntries',
value: function setEntries(entries) {
StyleEdit.Validator.isObject(entries);
this.entries = entries;
return this;
}
}]);
return Collection;
}();
exports.default = Collection;
},{}],348:[function(require,module,exports){
/* --------------------------------------------------------------
PreviewType.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Class PreviewType
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var PreviewType = function () {
/**
* Class Constructor
*/
function PreviewType() {
_classCallCheck(this, PreviewType);
/**
* Preview type HTML class.
*
* @type {String}
*/
this.class = null;
/**
* Preview type display name.
*
* @type {String}
*/
this.name = null;
/**
* CSS Styling set with jQuery
*
* @type {Object}
*/
this.previewCss = null;
/**
* Font-Awesome Icon Class
*
* @type {String}
*/
this.iconClass = null;
/**
* Resolution
*
* @type {String}
*/
this.resolution = null;
}
/**
* Class Getter
*
* @return {String}
*/
_createClass(PreviewType, [{
key: 'getClass',
value: function getClass() {
return this.class;
}
/**
* Class Setter
*
* @param {String} className
*
* @return {PreviewType}
*/
}, {
key: 'setClass',
value: function setClass(className) {
StyleEdit.Validator.isString(className);
this.class = className;
return this;
}
/**
* Name Getter
*
* @return {String}
*/
}, {
key: 'getName',
value: function getName() {
return this.name;
}
/**
* Name Setter
*
* @param {String} name
*
* @return {PreviewType}
*/
}, {
key: 'setName',
value: function setName(name) {
StyleEdit.Validator.isString(name);
this.name = name;
return this;
}
/**
* Preview CSS Getter
*
* @return {Object}
*/
}, {
key: 'getPreviewCss',
value: function getPreviewCss() {
return this.previewCss;
}
/**
* Preview CSS Setter
*
* @param {Object} previewCss
*
* @return {PreviewType}
*/
}, {
key: 'setPreviewCss',
value: function setPreviewCss(previewCss) {
StyleEdit.Validator.isObject(previewCss);
this.previewCss = previewCss;
return this;
}
/**
* Font-awesome Icon Class Getter
*
* @return {String}
*/
}, {
key: 'getIconClass',
value: function getIconClass() {
return this.iconClass;
}
/**
* Font-awesome Icon Class Setter
*
* @param {String} iconClass
*
* @return {PreviewType}
*/
}, {
key: 'setIconClass',
value: function setIconClass(iconClass) {
StyleEdit.Validator.isString(iconClass);
this.iconClass = iconClass;
return this;
}
/**
* Resolution Getter
*
* @return {String}
*/
}, {
key: 'getResolution',
value: function getResolution() {
return this.resolution;
}
/**
* Resolution Setter
*
* @param {String} resolution
*
* @return {PreviewType}
*/
}, {
key: 'setResolution',
value: function setResolution(resolution) {
StyleEdit.Validator.isString(resolution);
this.resolution = resolution;
return this;
}
}]);
return PreviewType;
}();
exports.default = PreviewType;
},{}],349:[function(require,module,exports){
/* --------------------------------------------------------------
Setting.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Class Setting
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Setting = function () {
/**
* Class Constructor
*/
function Setting() {
_classCallCheck(this, Setting);
/**
* Group
*
* @type {String}
*/
this.group = null;
/**
* Name
*
* @type {String}
*/
this.name = null;
/**
* Title
*
* @type {String}
*/
this.title = null;
/**
* Type
*
* @type {String}
*/
this.type = null;
/**
* Value
*
* @type {*}
*/
this.value = null;
/**
* Default Metric
*
* @type {String}
*/
this.defaultMetric = null;
/**
* Options
*
* @type {String[]}
*/
this.options = null;
/**
* Tags
*
* @type {String[]}
*/
this.tags = null;
}
/**
* Group Getter
*
* @return {String}
*/
_createClass(Setting, [{
key: 'getGroup',
value: function getGroup() {
return this.group;
}
/**
* Name Setter
*
* @param {String} group
*
* @return {Setting}
*/
}, {
key: 'setGroup',
value: function setGroup(group) {
StyleEdit.Validator.isString(group);
this.group = group;
return this;
}
/**
* Name Getter
*
* @return {String}
*/
}, {
key: 'getName',
value: function getName() {
return this.name;
}
/**
* Name Setter
*
* @param {String} name
*
* @return {Setting}
*/
}, {
key: 'setName',
value: function setName(name) {
StyleEdit.Validator.isString(name);
this.name = name;
return this;
}
/**
* Title Getter
*
* @return {String}
*/
}, {
key: 'getTitle',
value: function getTitle() {
return this.title;
}
/**
* Title Setter
*
* @param {String} title
*
* @return {Setting}
*/
}, {
key: 'setTitle',
value: function setTitle(title) {
StyleEdit.Validator.isString(title);
this.title = title;
return this;
}
/**
* Type Getter
*
* @return {String}
*/
}, {
key: 'getType',
value: function getType() {
return this.type;
}
/**
* Type Setter
*
* @param {String} type
*
* @return {Setting}
*/
}, {
key: 'setType',
value: function setType(type) {
StyleEdit.Validator.isString(type);
this.type = type;
return this;
}
/**
* Value Getter
*
* @return {*}
*/
}, {
key: 'getValue',
value: function getValue() {
return this.value;
}
/**
* Value Setter
*
* Notice: The value argument can be mixed so there is no validation.
*
* @param {*} value
*
* @return {Setting}
*/
}, {
key: 'setValue',
value: function setValue(value) {
this.value = value;
return this;
}
/**
* Default Metric Getter
*
* @return {String}
*/
}, {
key: 'getDefaultMetric',
value: function getDefaultMetric() {
return this.defaultMetric;
}
/**
* Default Metric Setter
*
* @param {String} defaultMetric
*
* @return {Setting}
*/
}, {
key: 'setDefaultMetric',
value: function setDefaultMetric(defaultMetric) {
this.defaultMetric = defaultMetric;
return this;
}
/**
* Options Getter
*
* @return {String[]}
*/
}, {
key: 'getOptions',
value: function getOptions() {
return this.options;
}
/**
* Options Setter
*
* @param {String[]} options
*
* @return {Setting}
*/
}, {
key: 'setOptions',
value: function setOptions(options) {
StyleEdit.Validator.isObject(options);
this.options = options;
return this;
}
/**
* Tags Getter
*
* @return {String[]}
*/
}, {
key: 'getTags',
value: function getTags() {
return this.tags;
}
/**
* Tags Setter
*
* @param {String[]} tags
*
* @return {Setting}
*/
}, {
key: 'setTags',
value: function setTags(tags) {
StyleEdit.Validator.isObject(tags);
this.tags = tags;
return this;
}
}]);
return Setting;
}();
exports.default = Setting;
},{}],350:[function(require,module,exports){
/* --------------------------------------------------------------
StyleConfiguration.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Class StyleConfiguration
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var StyleConfiguration = function () {
/**
* Class Constructor
*/
function StyleConfiguration() {
_classCallCheck(this, StyleConfiguration);
/**
* Name
*
* @type {String}
*/
this.name = null;
/**
* Active Status
*
* @type {Boolean}
*/
this.active = null;
/**
* Thumbnail Name
*
* @type {String}
*/
this.thumbnail = null;
/**
* Boilerplate file name
*
* @type {String}
*/
this.boilerplate = null;
/**
* Creation Date
*
* @type {Date}
*/
this.creationDate = null;
/**
* Modification Date
*
* @type {Date}
*/
this.modificationDate = null;
/**
* Boilerplate Modification Date
*
* @type {Date}
*/
this.boilerplateModificationDate = null;
/**
* Color Palette
*
* @type {String[]}
*/
this.colorPalette = null;
/**
* Settings
*
* @type {Collection}
*/
this.settings = null;
/**
* Custom Styles
*
* @type {String}
*/
this.customStyles = null;
}
/**
* Name Getter
*
* @return {String}
*/
_createClass(StyleConfiguration, [{
key: 'getName',
value: function getName() {
return this.name;
}
/**
* Name Setter
*
* @param {String} name
*
* @return {StyleConfiguration}
*/
}, {
key: 'setName',
value: function setName(name) {
StyleEdit.Validator.isString(name);
this.name = name;
return this;
}
/**
* Active Status Getter
*
* @return {Boolean}
*/
}, {
key: 'isActive',
value: function isActive() {
return this.active;
}
/**
* Active Status Setter
*
* @param {Boolean} isActive
*
* @return {StyleConfiguration}
*/
}, {
key: 'setActive',
value: function setActive(isActive) {
StyleEdit.Validator.isBool(isActive);
this.active = isActive;
return this;
}
/**
* Thumbnail Getter
*
* @return {String}
*/
}, {
key: 'getThumbnail',
value: function getThumbnail() {
return this.thumbnail;
}
/**
* Thumbnail Setter
*
* @param {String} thumbnail
*
* @return {StyleConfiguration}
*/
}, {
key: 'setThumbnail',
value: function setThumbnail(thumbnail) {
StyleEdit.Validator.isString(thumbnail);
this.thumbnail = thumbnail;
return this;
}
/**
* Boilerplate Getter
*
* @return {String}
*/
}, {
key: 'getBoilerplate',
value: function getBoilerplate() {
return this.boilerplate;
}
/**
* Boilerplate Setter
*
* @param {String} boilerplate
*
* @return {StyleConfiguration}
*/
}, {
key: 'setBoilerplate',
value: function setBoilerplate(boilerplate) {
StyleEdit.Validator.isString(boilerplate);
this.boilerplate = boilerplate;
return this;
}
/**
* Creation Date Getter
*
* @return {Date}
*/
}, {
key: 'getCreationDate',
value: function getCreationDate() {
return this.creationDate;
}
/**
* Creation Date Setter
*
* @param {Date} creationDate
*
* @return {StyleConfiguration}
*/
}, {
key: 'setCreationDate',
value: function setCreationDate(creationDate) {
StyleEdit.Validator.isObject(creationDate);
this.creationDate = creationDate;
return this;
}
/**
* Modification Date Getter
*
* @return {Date}
*/
}, {
key: 'getModificationDate',
value: function getModificationDate() {
return this.modificationDate;
}
/**
* Modification Date Setter
*
* @param {Date} modificationDate
*
* @return {StyleConfiguration}
*/
}, {
key: 'setModificationDate',
value: function setModificationDate(modificationDate) {
StyleEdit.Validator.isObject(modificationDate);
this.modificationDate = modificationDate;
return this;
}
/**
* Boilerplate Modification Date Getter
*
* @return {Date}
*/
}, {
key: 'getBoilerplateModificationDate',
value: function getBoilerplateModificationDate() {
return this.boilerplateModificationDate;
}
/**
* Boilerplate Modification Date Setter
*
* @param {Date} boilerplateModificationDate
*
* @return {StyleConfiguration}
*/
}, {
key: 'setBoilerplateModificationDate',
value: function setBoilerplateModificationDate(boilerplateModificationDate) {
StyleEdit.Validator.isObject(boilerplateModificationDate);
this.boilerplateModificationDate = boilerplateModificationDate;
return this;
}
/**
* Modification Date Getter
*
* @return {String[]}
*/
}, {
key: 'getColorPalette',
value: function getColorPalette() {
return this.colorPalette;
}
/**
* Modification Date Setter
*
* @param {String[]} colorPalette
*
* @return {StyleConfiguration}
*/
}, {
key: 'setColorPalette',
value: function setColorPalette(colorPalette) {
StyleEdit.Validator.isObject(colorPalette);
this.colorPalette = colorPalette;
return this;
}
/**
* Settings Getter
*
* @return {Collection}
*/
}, {
key: 'getSettings',
value: function getSettings() {
return this.settings;
}
/**
* Settings Setter
*
* @param {Collection} settings
*
* @return {StyleConfiguration}
*/
}, {
key: 'setSettings',
value: function setSettings(settings) {
StyleEdit.Validator.isObject(settings);
this.settings = settings;
return this;
}
/**
* Custom Styles Getter
*
* @return {String}
*/
}, {
key: 'getCustomStyles',
value: function getCustomStyles() {
return this.customStyles;
}
/**
* Custom Styles Setter
*
* @param {String} customStyles
*
* @return {StyleConfiguration}
*/
}, {
key: 'setCustomStyles',
value: function setCustomStyles(customStyles) {
StyleEdit.Validator.isString(customStyles);
this.customStyles = customStyles;
return this;
}
}]);
return StyleConfiguration;
}();
exports.default = StyleConfiguration;
},{}],351:[function(require,module,exports){
/* --------------------------------------------------------------
About.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Add the "About" property in the global StyleEdit in order to get information
* about the current installation of StyleEdit.
*
* @param {Object} StyleEdit The window.StyleEdit object.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (StyleEdit) {
if (StyleEdit.Config.get('environment') === 'development') {
var about = 'StyleEdit v' + StyleEdit.Config.get('version') + ' by Gambio GmbH ' + (Date.today().toString('yyyy') + ', All Rights Reserved');
StyleEdit.About = about;
}
};
},{}],352:[function(require,module,exports){
/* --------------------------------------------------------------
Ajax.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/* globals -Modal */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Modal = require('./Modal');
var _Modal2 = _interopRequireDefault(_Modal);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* This method will handle the AJAX errors.
*
* @param {jQuery.jqXHR} jqXHR
* @param {String} textStatus
* @param {Error} errorThrown
*
* @private
*/
function _errorHandler(jqXHR, textStatus, errorThrown) {
// Log the error to the console for debug purposes.
StyleEdit.Debug.error('There was an error in the following AJAX request:', jqXHR, textStatus, errorThrown);
// Display error message to the user.
var message = jqXHR.responseJSON ? jqXHR.responseJSON.message : jqXHR.responseText;
_Modal2.default.message(StyleEdit.Language.translate('title_unexpected_server_error', 'style_edit'), message);
}
/**
* Perform an AJAX request by using the $.ajax object.
*
* @param {String} type The request type ('POST', 'GET' ...).
* @param {String} url The URL to be called by the request.
* @param {Object} data Optional ({}), the data to be sent with the request.
* @param {Object} options Optional ({}), this object can contain jquery AJAX options.
*
* @return {jQuery.jqXHR} Returns a promise of the AJAX call.
*
* @private
*/
function _request(type, url) {
var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
StyleEdit.Validator.isString(type);
StyleEdit.Validator.isString(url);
StyleEdit.Validator.isObject(data);
StyleEdit.Validator.isObject(options);
// Add the override header cause some old servers do not recognize custom HTTP verbs (PUT, PATCH, DELETE).
var requestOptions = {
type: type === 'GET' ? 'GET' : 'POST',
url: url,
data: data,
headers: {
'X-HTTP-Method-Override': type
}
};
var jqXHR = $.ajax($.extend({}, options, requestOptions));
// Assign the failure handler in an extra step so that $.ajax can be mocked with argument expectations.
if (jqXHR) {
jqXHR.fail(_errorHandler);
}
return jqXHR;
}
exports.default = {
/**
* Make a POST request
*
* @param {String} url
* @param {Object} data
* @param {Object} options
*
* @return {jQuery.jqXHR}
*/
post: function post(url, data, options) {
return _request('POST', url, data, options);
},
/**
* Make a GET request
*
* @param {String} url
* @param {Object} data
* @param {Object} options
*
* @return {jQuery.jqXHR}
*/
get: function get(url, data, options) {
return _request('GET', url, data, options);
},
/**
* Make a PUT request
*
* @param {String} url
* @param {Object} data
* @param {Object} options
*
* @return {jQuery.jqXHR}
*/
put: function put(url, data, options) {
return _request('PUT', url, data, options);
},
/**
* Make a DELETE request
*
* @param {String} url
* @param {Object} data
* @param {Object} options
*
* @return {jQuery.jqXHR}
*/
delete: function _delete(url, data, options) {
return _request('DELETE', url, data, options);
},
/**
* Make a PATCH request
*
* @param {String} url
* @param {Object} data
* @param {Object} options
*
* @return {jQuery.jqXHR}
*/
patch: function patch(url, data, options) {
return _request('PATCH', url, data, options);
}
};
},{"./Modal":359}],353:[function(require,module,exports){
/* --------------------------------------------------------------
Config.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Config Class
*
* This class is serving as a configuration registry where users can only get the values and not
* change them. This is done for data integrity and stability reasons, so a global StyleEdit. The
* Config object will be instantiated once during the initialization of the application.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Config = function () {
/**
* Class Constructor
*
* @param {Object} config Contains the key-value pairs of configuration.
*/
function Config(config) {
_classCallCheck(this, Config);
/**
* @type {Object}
*/
this.config = config;
}
/**
* Get a config value by key.
*
* @param {String} key The key of the value to be returned.
*
* @return {*} Returns the value.
*/
_createClass(Config, [{
key: 'get',
value: function get(key) {
StyleEdit.Validator.isString(key);
var value = this.config[key];
if (value === undefined) {
throw new Error('StyleEdit: The requested value does not exist the config object: "' + key + '"');
}
return value;
}
}]);
return Config;
}();
exports.default = Config;
},{}],354:[function(require,module,exports){
/* --------------------------------------------------------------
Debug.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Log the message.
*
* @param {String} type Log type can either be 'log', 'info', 'warning' or 'error'.
* @param {*} data The data to be logged.
*
* @private
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
function _log(type, data) {
if (StyleEdit.Config.get('environment') === 'production') {
return;
}
if (console[type] !== undefined && typeof console[type].apply === 'function') {
console[type].apply(console, data);
} else {
console.log(data);
}
}
exports.default = {
/**
* Perform a debug log.
*
* Provide any arguments that need to be logged.
*/
log: function log() {
_log('log', arguments);
},
/**
* Perform a debug info.
*
* Provide any arguments that need to be logged.
*/
info: function info() {
_log('info', arguments);
},
/**
* Perform a debug warn.
*
* Provide any arguments that need to be logged.
*/
warn: function warn() {
_log('warn', arguments);
},
/**
* Perform a debug error.
*
* Provide any arguments that need to be logged.
*/
error: function error() {
_log('error', arguments);
},
/**
* Perform a debug alert.
*
* @param {Object} data Contains the data to be alerted.
*/
alert: function alert(data) {
if (StyleEdit.Config.get('environment') === 'production') {
return;
}
window.alert('StyleEdit: ' + JSON.stringify(data));
}
};
},{}],355:[function(require,module,exports){
/* --------------------------------------------------------------
Environment.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/* globals self, top */
'use strict';
/**
* Add events for displaying an AJAX spinner.
*
* @private
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
function _setupAjaxSpinner() {
var $ajaxSpinner = $('.ajax-spinner');
$ajaxSpinner.html($('#loading-spinner-template').html());
$(document).ajaxStart(function () {
$ajaxSpinner.css({ display: 'table' }).fadeTo(400, 1, 'linear');
});
$(document).ajaxStop(function () {
$ajaxSpinner.fadeTo(400, 0, 'linear', function () {
$(this).hide();
});
});
}
/**
* Add a global error handler for the app.
*
* @private
*/
function _setupErrorHandler() {
window.onerror = function (msg, url, line, col, error) {
// Hide the ajax spinner and display the error message.
var $errorFrame = $('.error-frame');
if (window.StyleEdit) {
$errorFrame.find('.message').text(StyleEdit.Language.translate('message_unexpected_error', 'style_edit'));
} else {
$errorFrame.find('.message').text('Oops! An unexpected error occurred during StyleEdit initialization! Check the browser\'s ' + 'console for more information.');
}
$('.ajax-spinner').hide();
$errorFrame.css({ display: 'table' }).fadeTo(400, 1, 'linear');
// Show/Hide other UI elements.
$('.style-edit-modal').remove();
$('.frame-toggle').hide();
$('.disable-layer').fadeIn();
// Log error in the console (even in production environment).
console.error('[StyleEdit Error Handler]', msg, '(line: ' + line + ', col: ' + col + ')', error);
return true; // Suppress error alerts for old IE versions.
};
}
exports.default = {
/**
* Check whether the user's browser is an Internet Explorer
*/
isInternetExplorer: function isInternetExplorer() {
var ua = window.navigator.userAgent;
return ua.indexOf('MSIE ') > -1 || ua.indexOf('Trident/') > -1 || ua.indexOf('Edge/') > -1;
},
/**
* Setup StyleEdit Environment
*
* This method will setup general operations that affect StyleEdit during all of its
* execution lifetime.
*/
setup: function setup() {
// Check if StyleEdit was called from within an iframe and redirect back to the appropriate
// URL if this is the case.
if (top !== self) {
top.location = self.location;
}
// Location origin polyfill.
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
}
// Setup things ...
_setupAjaxSpinner();
_setupErrorHandler();
}
};
},{}],356:[function(require,module,exports){
/* --------------------------------------------------------------
EventsEmitter.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
/**
* Trigger Style Created Event
*
* @param {jQuery} $element The element that is going to trigger the event.
* @param {*[]} eventArgs (optional) Provide event arguments.
*/
triggerStyleCreated: function triggerStyleCreated($element, eventArgs) {
eventArgs = eventArgs || [];
$element.trigger('StyleEdit.StyleCreated', eventArgs);
},
/**
* Trigger Style Updated Event
*
* @param {jQuery} $element The element that is going to trigger the event.
* @param {*[]} eventArgs (optional) Provide event arguments.
*/
triggerStyleUpdated: function triggerStyleUpdated($element, eventArgs) {
eventArgs = eventArgs || [];
$element.trigger('StyleEdit.StyleUpdated', eventArgs);
},
/**
* Trigger Style Deleted Event
*
* @param {jQuery} $element The element that is going to trigger the event.
* @param {*[]} eventArgs (optional) Provide event arguments.
*/
triggerStyleDeleted: function triggerStyleDeleted($element, eventArgs) {
eventArgs = eventArgs || [];
$element.trigger('StyleEdit.StyleDeleted', eventArgs);
},
/**
* Trigger Style Activated Event
*
* @param {jQuery} $element The element that is going to trigger the event.
* @param {*[]} eventArgs (optional) Provide event arguments.
*/
triggerStyleActivated: function triggerStyleActivated($element, eventArgs) {
eventArgs = eventArgs || [];
$element.trigger('StyleEdit.StyleActivated', eventArgs);
},
/**
* Trigger Custom Styles Changed Event
*
* @param {jQuery} $element The element that is going to trigger the event.
* @param {*[]} eventArgs (optional) Provide event arguments.
*/
triggerCustomStylesChanged: function triggerCustomStylesChanged($element, eventArgs) {
eventArgs = eventArgs || [];
$element.trigger('StyleEdit.CustomStylesChanged', eventArgs);
},
/**
* Trigger Controller Initialized Event
*
* @param {jQuery} $element The element that is going to trigger the event.
* @param {*[]} eventArgs (optional) Provide event arguments.
*/
triggerControllerInitialized: function triggerControllerInitialized($element, eventArgs) {
eventArgs = eventArgs || [];
$element.trigger('StyleEdit.ControllerInitialized', eventArgs);
},
/**
* Trigger Controller Destroyed Event
*
* @param {jQuery} $element The element that is going to trigger the event.
* @param {*[]} eventArgs (optional) Provide event arguments.
*/
triggerControllerDestroyed: function triggerControllerDestroyed($element, eventArgs) {
eventArgs = eventArgs || [];
$element.trigger('StyleEdit.ControllerDestroyed', eventArgs);
},
/**
* Trigger App Terminated Event
*
* @param {jQuery} $element The element that is going to trigger the event.
* @param {*[]} eventArgs (optional) Provide event arguments.
*/
triggerAppTerminated: function triggerAppTerminated($element, eventArgs) {
eventArgs = eventArgs || [];
$element.trigger('StyleEdit.AppTerminated', eventArgs);
},
/**
* Trigger Preview Reloaded Event
*
* @param {jQuery} $element The element that is going to trigger the event.
* @param {*[]} eventArgs (optional) Provide event arguments.
*/
triggerPreviewReloaded: function triggerPreviewReloaded($element, eventArgs) {
eventArgs = eventArgs || [];
$element.trigger('StyleEdit.PreviewReloaded', eventArgs);
}
};
},{}],357:[function(require,module,exports){
/* --------------------------------------------------------------
JsonParser.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _StyleConfiguration = require('../entities/StyleConfiguration');
var _StyleConfiguration2 = _interopRequireDefault(_StyleConfiguration);
var _Collection = require('../entities/Collection');
var _Collection2 = _interopRequireDefault(_Collection);
var _Setting = require('../entities/Setting');
var _Setting2 = _interopRequireDefault(_Setting);
var _BoxSetting = require('../entities/BoxSetting');
var _BoxSetting2 = _interopRequireDefault(_BoxSetting);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
/**
* Decode StyleConfiguration JSON String
*
* @param {Object} jsonStyleConfiguration Object containing the style configuration data.
*
* @return {StyleConfiguration} Returns the decoded StyleConfiguration object.
*/
decodeStyleConfiguration: function decodeStyleConfiguration(jsonStyleConfiguration) {
StyleEdit.Validator.isObject(jsonStyleConfiguration);
var styleConfiguration = new _StyleConfiguration2.default();
// Decode the main style configuration properties.
if (jsonStyleConfiguration.name !== undefined && jsonStyleConfiguration.name !== null) {
styleConfiguration.setName(jsonStyleConfiguration.name);
}
if (jsonStyleConfiguration.isActive !== undefined && jsonStyleConfiguration.isActive !== null) {
styleConfiguration.setActive(jsonStyleConfiguration.isActive);
}
if (jsonStyleConfiguration.thumbnail !== undefined && jsonStyleConfiguration.thumbnail !== null) {
styleConfiguration.setThumbnail(jsonStyleConfiguration.thumbnail);
}
if (jsonStyleConfiguration.boilerplate !== undefined && jsonStyleConfiguration.boilerplate !== null) {
styleConfiguration.setBoilerplate(jsonStyleConfiguration.boilerplate);
}
if (jsonStyleConfiguration.creationDate !== undefined && jsonStyleConfiguration.creationDate !== null) {
styleConfiguration.setCreationDate(new Date(Date.parse(jsonStyleConfiguration.creationDate)));
}
if (jsonStyleConfiguration.modificationDate !== undefined && jsonStyleConfiguration.modificationDate !== null) {
styleConfiguration.setModificationDate(new Date(Date.parse(jsonStyleConfiguration.modificationDate)));
}
if (jsonStyleConfiguration.boilerplateModificationDate !== undefined && jsonStyleConfiguration.boilerplateModificationDate !== null) {
styleConfiguration.setBoilerplateModificationDate(new Date(Date.parse(jsonStyleConfiguration.boilerplateModificationDate)));
}
if (jsonStyleConfiguration.colorPalette !== undefined && jsonStyleConfiguration.colorPalette !== null) {
styleConfiguration.setColorPalette(jsonStyleConfiguration.colorPalette);
}
if (jsonStyleConfiguration.customStyles !== undefined && jsonStyleConfiguration.customStyles !== null) {
styleConfiguration.setCustomStyles(jsonStyleConfiguration.customStyles);
}
// Decode the settings.
if (jsonStyleConfiguration.settings !== undefined && jsonStyleConfiguration.settings !== null) {
var settings = [];
jsonStyleConfiguration.settings.forEach(function (jsonCollection) {
var collection = new _Collection2.default();
var collectionEntriesArray = [];
if (jsonCollection.name !== undefined && jsonCollection.name !== null) {
collection.setName(jsonCollection.name);
}
if (jsonCollection.type && jsonCollection.type !== null) {
collection.setType(jsonCollection.type);
}
if (jsonCollection.icon && jsonCollection.icon !== null) {
collection.setIcon(jsonCollection.icon);
}
jsonCollection.entries.forEach(function (jsonSetting) {
var setting = jsonSetting.position ? new _BoxSetting2.default() : new _Setting2.default();
if (jsonSetting.group !== undefined && jsonSetting.group !== null) {
setting.setGroup(jsonSetting.group);
}
if (jsonSetting.name !== undefined && jsonSetting.name !== null) {
setting.setName(jsonSetting.name);
}
if (jsonSetting.type !== undefined && jsonSetting.type !== null) {
setting.setType(jsonSetting.type);
}
if (jsonSetting.value !== undefined && jsonSetting.value !== null) {
setting.setValue(jsonSetting.value);
}
if (jsonSetting.defaultMetric !== undefined && jsonSetting.defaultMetric !== null) {
setting.setDefaultMetric(jsonSetting.defaultMetric);
}
if (jsonSetting.options !== undefined && jsonSetting.options !== null) {
setting.setOptions(jsonSetting.options);
}
if (jsonSetting.position !== undefined && jsonSetting.position !== null) {
setting.setPosition(jsonSetting.position);
}
if (jsonSetting.tags !== undefined && jsonSetting.tags !== null) {
setting.setTags(jsonSetting.tags);
}
collectionEntriesArray.push(setting);
});
collection.setEntries(collectionEntriesArray);
settings.push(collection);
});
styleConfiguration.setSettings(settings);
}
return styleConfiguration;
},
/**
* Encode Style Configuration Instance to JSON String or Object
*
* @param {StyleConfiguration} styleConfiguration The object to be encoded.
* @param {Boolean} encode Optional (true), defines whether to stringify the object or not.
*
* @return {Object|String} Returns the encoded object or string.
*/
encodeStyleConfiguration: function encodeStyleConfiguration(styleConfiguration) {
var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
StyleEdit.Validator.isObject(styleConfiguration);
StyleEdit.Validator.isBool(encode);
var obj = {
name: styleConfiguration.getName(),
isActive: styleConfiguration.isActive(),
thumbnail: styleConfiguration.getThumbnail(),
boilerplate: styleConfiguration.getBoilerplate(),
creationDate: styleConfiguration.getCreationDate().toString('yyyy-MM-dd HH:mm:ss'),
modificationDate: styleConfiguration.getModificationDate().toString('yyyy-MM-dd HH:mm:ss'),
boilerplateModificationDate: styleConfiguration.getBoilerplateModificationDate().toString('yyyy-MM-dd HH:mm:ss'),
colorPalette: styleConfiguration.getColorPalette(),
settings: [],
customStyles: ''
};
// Encode settings
styleConfiguration.getSettings().forEach(function (settingsCollection) {
var collection = {};
if (settingsCollection.getName() !== null) {
collection.name = settingsCollection.getName();
}
if (settingsCollection.getType() !== null) {
collection.type = settingsCollection.getType();
}
if (settingsCollection.getIcon() !== null) {
collection.icon = settingsCollection.getIcon();
}
if (settingsCollection.getEntries() !== null) {
collection.entries = [];
}
settingsCollection.getEntries().forEach(function (setting) {
var entry = {};
if (setting.getGroup() !== null) {
entry.group = setting.getGroup();
}
if (setting.getName() !== null) {
entry.name = setting.getName();
}
if (setting.getType() !== null) {
entry.type = setting.getType();
}
if (setting.getValue() !== null) {
entry.value = setting.getValue();
}
if (setting.getDefaultMetric() !== null) {
entry.defaultMetric = setting.getDefaultMetric();
}
if (setting.getOptions() !== null) {
entry.options = setting.getOptions();
}
if (setting.getTags() !== null) {
entry.tags = setting.getTags();
}
if (setting.getPosition !== undefined) {
entry.position = setting.getPosition();
}
collection.entries.push(entry);
});
obj.settings.push(collection);
});
// Encode customStyles
obj.customStyles = styleConfiguration.getCustomStyles();
return encode ? JSON.stringify(obj) : obj;
}
};
},{"../entities/BoxSetting":346,"../entities/Collection":347,"../entities/Setting":349,"../entities/StyleConfiguration":350}],358:[function(require,module,exports){
/* --------------------------------------------------------------
Language.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Language Library
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Language = function () {
/**
* Language Class
*
* This class handles the localization for the JavaScript code of StyleEdit. Once there
* are sections added you can use the "translate" method for fetching the translated string.
*/
function Language() {
_classCallCheck(this, Language);
/**
* Translation Sections
*
* @type {Object}
*/
this.sections = {};
}
/**
* Add a new translation section.
*
* @param {String} name The name of the section to be used when fetching a translation later.
* @param {Object} translations A key-translation pairs object that will be used later for
* getting the correct strings (see translate method).
*
* @return {Language} Returns the object instance.
*/
_createClass(Language, [{
key: 'addSection',
value: function addSection(name, translations) {
StyleEdit.Validator.isString(name);
StyleEdit.Validator.isObject(translations);
if (this.sections[name] !== undefined) {
StyleEdit.Debug.warn('The provided section name already exists and will be overridden: "' + name + '"');
}
this.sections[name] = translations;
return this;
}
}, {
key: 'translate',
/**
* Translate the provided key of the provided section.
*
* @param {String} key The key of the translation.
* @param {String} section The section name the key belongs to.
*
* @return {String} Returns the translation.
*
* @throws Error If the translation was not found.
*/
value: function translate(key, section) {
StyleEdit.Validator.isString(key);
StyleEdit.Validator.isString(section);
if (this.sections[section] === undefined) {
throw new Error('Requested section was not found: "' + section + '"');
}
return this.sections[section][key] || '{' + key + '}';
}
}]);
return Language;
}();
exports.default = Language;
},{}],359:[function(require,module,exports){
/* --------------------------------------------------------------
Modal.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
/**
* Show a modal with the contents of a template.
*
* @param {jQuery} $template The template element to be used for the modal.
* @param {Object} data Contains the template data.
*
* @return {jQuery} Returns the selector of the
*/
show: function show($template, data) {
StyleEdit.Validator.isObject($template);
StyleEdit.Validator.isObject(data);
var html = Mustache.render($template.html(), data);
var $modal = $('<div class="modal">' + html + '</div>');
$modal.modal({ backdrop: 'export function' });
return $modal;
},
/**
* Hide a displayed modal with the provided selector.
*
* @param {jQuery} $modal
*/
hide: function hide($modal) {
StyleEdit.Validator.isObject($modal);
$modal.on('hidden.bs.modal', function () {
return $modal.remove();
});
$modal.modal('hide');
},
/**
* Display the prompt template as a modal to the user.
*
* The user will have to confirm the modal in order to proceed, he can also press
* the "Cancel" button.
*
* @param {String} title The title of the modal.
* @param {String} message The message of the modal.
*
* @return {jQuery.Promise} Returns a promise object that will be resolved if the user confirms the prompt.
*/
prompt: function prompt(title, message) {
StyleEdit.Validator.isString(title);
StyleEdit.Validator.isString(message);
var deferred = $.Deferred();
var template = $('#prompt-modal-template').html();
var data = {
title: title,
message: message,
option_yes: StyleEdit.Language.translate('option_yes', 'style_edit'),
option_no: StyleEdit.Language.translate('option_no', 'style_edit')
};
var html = Mustache.render(template, data);
var $modal = $(html);
$modal.modal({ backdrop: 'export function' });
$modal.find('.btn.yes').off('click').on('click', function () {
$modal.modal('hide').remove();
deferred.resolve();
});
$modal.find('.btn.no').off('click').on('click', function () {
$modal.modal('hide').remove();
deferred.reject();
});
return deferred.promise();
},
/**
* Display a simple message modal to the user.
*
* The user will only be able to click on an "OK" button to dismiss the modal.
*
* @param {String} title The title of the modal.
* @param {String} message The message of the modal.
*
* @return {jQuery.Promise} Returns a promise object that will be resolved once the user clicks on the "OK" button.
*/
message: function message(title, _message) {
StyleEdit.Validator.isString(title);
StyleEdit.Validator.isString(_message);
var deferred = $.Deferred();
var template = $('#message-modal-template').html();
var data = {
title: title,
message: _message,
option_ok: StyleEdit.Language.translate('option_ok', 'style_edit')
};
var html = Mustache.render(template, data);
var $modal = $('<div class="modal">' + html + '</div>');
$modal.modal({ backdrop: 'export function' });
$modal.find('.btn.ok').off('click').on('click', function () {
$modal.modal('hide').remove();
deferred.resolve();
}).focus();
return deferred.promise();
}
};
},{}],360:[function(require,module,exports){
/* --------------------------------------------------------------
Router.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _CreateStyleModal = require('../controllers/CreateStyleModal');
var _CreateStyleModal2 = _interopRequireDefault(_CreateStyleModal);
var _CustomStylesModal = require('../controllers/CustomStylesModal');
var _CustomStylesModal2 = _interopRequireDefault(_CustomStylesModal);
var _DuplicateStyleModal = require('../controllers/DuplicateStyleModal');
var _DuplicateStyleModal2 = _interopRequireDefault(_DuplicateStyleModal);
var _EditStyleView = require('../controllers/EditStyleView');
var _EditStyleView2 = _interopRequireDefault(_EditStyleView);
var _MyStylesView = require('../controllers/MyStylesView');
var _MyStylesView2 = _interopRequireDefault(_MyStylesView);
var _UploadStyleModal = require('../controllers/UploadStyleModal');
var _UploadStyleModal2 = _interopRequireDefault(_UploadStyleModal);
var _UploadImageModal = require('../controllers/UploadImageModal');
var _UploadImageModal2 = _interopRequireDefault(_UploadImageModal);
var _PreviewImageModal = require('../controllers/PreviewImageModal');
var _PreviewImageModal2 = _interopRequireDefault(_PreviewImageModal);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// Require all the controller files.
var controllers = {
CreateStyleModal: _CreateStyleModal2.default,
CustomStylesModal: _CustomStylesModal2.default,
DuplicateStyleModal: _DuplicateStyleModal2.default,
EditStyleView: _EditStyleView2.default,
MyStylesView: _MyStylesView2.default,
UploadStyleModal: _UploadStyleModal2.default,
UploadImageModal: _UploadImageModal2.default,
PreviewImageModal: _PreviewImageModal2.default
};
/**
* Will dynamically create the correct controller instance.
*
* http://stackoverflow.com/a/1608546
*
* @param {Function} constructor The class constructor.
* @param {*[]} args Contains the constructor arguments.
* @return {*} Returns new instance of the constructor.
*
* @private
*/
function _createController(constructor, args) {
function Controller() {
return constructor.apply(this, args);
}
Controller.prototype = constructor.prototype;
return new Controller();
}
exports.default = {
/**
* Load the requested controller and execute the "initialize" method.
*
* Notice: the args object must define the properties in the same order as the constructor parameters.
*
* @param {String} controllerName The controller class name to be loaded.
* @param {*[]} args Optional ([]), array that contains the controller's parameters.
*/
load: function load(controllerName) {
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
StyleEdit.Validator.isString(controllerName);
if (args !== undefined) {
StyleEdit.Validator.isObject(args);
}
var instance = _createController(controllers[controllerName], args);
instance.initialize();
}
};
},{"../controllers/CreateStyleModal":338,"../controllers/CustomStylesModal":339,"../controllers/DuplicateStyleModal":340,"../controllers/EditStyleView":341,"../controllers/MyStylesView":342,"../controllers/PreviewImageModal":343,"../controllers/UploadImageModal":344,"../controllers/UploadStyleModal":345}],361:[function(require,module,exports){
/* --------------------------------------------------------------
UrlParser.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
/**
* Get the value of a GET parameter.
*
* Since StyleEdit3 JS code will only be configured by the URL it's necessary
* to be a way of getting the GET parameters of the current request.Use this
* method to get variable values.
*
* Important: If a parameter does not exist then the result will be an undefined
* object, otherwise if the parameter exist but has no value this method will return
* a null result.
*
* @param {String} name Variable name of the value.
*
* @return {String} Returns the value of the parameter.
*/
getParam: function getParam(name) {
var getParametersString = window.location.search.substr(1);
var tokens = getParametersString.split('&');
var getParameters = {};
tokens.forEach(function (token) {
var parameter = token.split('=');
getParameters[parameter[0]] = parameter[1] || null;
});
return getParameters[name];
}
};
},{}],362:[function(require,module,exports){
/* --------------------------------------------------------------
Validator.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Throw TypeError
*
* This method will throw the same message for every validation failure.
*
* @param {*} value Validated Value
* @param {String} expectedType the Expected Type
*
* @private
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
function _throw(value, expectedType) {
throw new TypeError('Invalid value given, expected "' + expectedType + '" got "' + (typeof value === 'undefined' ? 'undefined' : _typeof(value)) + '".', value);
}
exports.default = {
/**
* Validate Int Values
*
* @param {Number} value
*
* @throws TypeError If the argument is not valid.
*/
isInt: function isInt(value) {
if (value !== parseInt(value)) {
_throw(value, 'integer');
}
},
/**
* Validate Float Values
*
* @param {Number} value
*
* @throws TypeError If the argument is not valid.
*/
isFloat: function isFloat(value) {
if (value !== Number(value) || value % 1 === 0) {
_throw(value, 'float');
}
},
/**
* Validate String Values
*
* @param {String} value
*
* @throws TypeError If the argument is not valid.
*/
isString: function isString(value) {
if (value.constructor !== String) {
_throw(value, 'string');
}
},
/**
* Validate Bool Values
*
* @param {Boolean} value
*
* @throws TypeError If the argument is not valid.
*/
isBool: function isBool(value) {
if (value.constructor !== Boolean) {
_throw(value, 'bool');
}
},
/**
* Validate Object Values
*
* @param {Object} value
*
* @throws TypeError If the argument is not valid.
*/
isObject: function isObject(value) {
if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object') {
_throw(value, 'object');
}
},
/**
* Validate type of object.
*
* @param {String} type Expected object type name.
* @param {*} object The object to be validated.
*
* @throws TypeError If the argument is not valid.
*/
isTypeOf: function isTypeOf(type, object) {
if ((typeof object === 'undefined' ? 'undefined' : _typeof(object)) !== type) {
_throw(object, type);
}
}
};
},{}],363:[function(require,module,exports){
/* --------------------------------------------------------------
WidgetConverter.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/*jshint -W079 */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Setting = require('../entities/Setting');
var _Setting2 = _interopRequireDefault(_Setting);
var _BoxSetting = require('../entities/BoxSetting');
var _BoxSetting2 = _interopRequireDefault(_BoxSetting);
var _TextBox = require('../widgets/TextBox');
var _TextBox2 = _interopRequireDefault(_TextBox);
var _SelectBox = require('../widgets/SelectBox');
var _SelectBox2 = _interopRequireDefault(_SelectBox);
var _Colorpicker = require('../widgets/Colorpicker');
var _Colorpicker2 = _interopRequireDefault(_Colorpicker);
var _Switch = require('../widgets/Switch');
var _Switch2 = _interopRequireDefault(_Switch);
var _Title = require('../widgets/Title');
var _Title2 = _interopRequireDefault(_Title);
var _Image = require('../widgets/Image');
var _Image2 = _interopRequireDefault(_Image);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
/**
* Convert a single setting object to its' widget instance.
*
* @param {Object} setting Comes from the JSON style configuration and contains the setting data.
* @param {StyleConfiguration} styleConfiguration The style configuration object that the setting belongs to.
* @param {String[]} templateImages Contains a list of the available template images.
*
* @return {*} Returns the corresponding widget instance.
*/
convertSettingToWidget: function convertSettingToWidget(setting, styleConfiguration, templateImages) {
StyleEdit.Validator.isObject(setting);
StyleEdit.Validator.isObject(styleConfiguration);
StyleEdit.Validator.isObject(templateImages);
var settingInstance = void 0;
var widgetInstance = void 0;
settingInstance = setting.position === undefined ? new _Setting2.default() : new _BoxSetting2.default();
settingInstance.setName(setting.name).setTitle(StyleEdit.Language.translate(setting.name, 'template')).setType(setting.type);
if (setting.value !== undefined) {
settingInstance.setValue(setting.value);
}
if (setting.defaultMetric !== undefined) {
settingInstance.setDefaultMetric(setting.defaultMetric);
}
if (setting.position !== undefined) {
settingInstance.setPosition(setting.position);
}
if (setting.options !== undefined) {
settingInstance.setOptions(setting.options);
}
if (setting.tags !== undefined) {
settingInstance.setTags(setting.tags);
}
// Create the widget instance.
switch (setting.type) {
case 'color':
widgetInstance = new _Colorpicker2.default(settingInstance, styleConfiguration);
break;
case 'text':
widgetInstance = new _TextBox2.default(settingInstance, styleConfiguration);
break;
case 'select':
widgetInstance = new _SelectBox2.default(settingInstance, styleConfiguration);
break;
case 'switch':
widgetInstance = new _Switch2.default(settingInstance, styleConfiguration);
break;
case 'title':
widgetInstance = new _Title2.default(settingInstance);
break;
case 'image':
widgetInstance = new _Image2.default(settingInstance, styleConfiguration, templateImages);
break;
default:
throw new Error('Invalid setting setting type detected: ' + setting.type);
}
return widgetInstance;
}
};
},{"../entities/BoxSetting":346,"../entities/Setting":349,"../widgets/Colorpicker":366,"../widgets/Image":369,"../widgets/SelectBox":371,"../widgets/Switch":373,"../widgets/TextBox":375,"../widgets/Title":376}],364:[function(require,module,exports){
'use strict';
var _Router = require('./libs/Router');
var _Router2 = _interopRequireDefault(_Router);
var _Debug = require('./libs/Debug');
var _Debug2 = _interopRequireDefault(_Debug);
var _Validator = require('./libs/Validator');
var _Validator2 = _interopRequireDefault(_Validator);
var _UrlParser = require('./libs/UrlParser');
var _UrlParser2 = _interopRequireDefault(_UrlParser);
var _LanguageApi = require('./api/LanguageApi');
var _LanguageApi2 = _interopRequireDefault(_LanguageApi);
var _ConfigApi = require('./api/ConfigApi');
var _ConfigApi2 = _interopRequireDefault(_ConfigApi);
var _Environment = require('./libs/Environment');
var _Environment2 = _interopRequireDefault(_Environment);
var _Config = require('./libs/Config');
var _Config2 = _interopRequireDefault(_Config);
var _Language = require('./libs/Language');
var _Language2 = _interopRequireDefault(_Language);
var _TemplatePreview = require('./widgets/TemplatePreview');
var _TemplatePreview2 = _interopRequireDefault(_TemplatePreview);
var _PreviewType = require('./entities/PreviewType');
var _PreviewType2 = _interopRequireDefault(_PreviewType);
var _PreviewResizer = require('./widgets/PreviewResizer');
var _PreviewResizer2 = _interopRequireDefault(_PreviewResizer);
var _AppFrame = require('./widgets/AppFrame');
var _AppFrame2 = _interopRequireDefault(_AppFrame);
var _FrameToggle = require('./widgets/FrameToggle');
var _FrameToggle2 = _interopRequireDefault(_FrameToggle);
require('babel-polyfill');
var _About = require('./libs/About');
var _About2 = _interopRequireDefault(_About);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* StyleEdit3 - Main App File
*
* This is the JS entry point for the StyleEdit3 project. It will start the required controllers
* and widgets in order to setup the UI. There are various controllers that serve different
* views & layers of StyleEdit. The routing is done with the "Router" module which will load the
* required controller upon request.
*
* This file will create a new window object with the name "StyleEdit". Use this as the namespace
* object for the whole application in order to avoid the global namespace pollution.
*
* Namely after initialization there will be the following instances available at any time:
*
* - window.StyleEdit.Config >> Provides configuration information.
* - window.StyleEdit.Language >> Contains the required translations.
* - window.StyleEdit.Debug >> Use this when debugging the application.
* - window.StyleEdit.Validator >> Use this module for validating argument values
*
* Add the "debug" GET parameter to enable the debug environment of the JavaScript code. In the
* debug environment the unminified files are loaded along with source maps so that you can see
* and debug through the original files.
*
* Notice: The JS section of StyleEdit must not require any configuration value from the
* PHP files. All the configuration must be done through GET parameters. This makes the app
* more flexible between different projects and templates.
*
* Configuration GET parameters:
*
* - template >> The template name that is configured (required).
* - lang >> Defines the selected interface language (must be an ISO code like "de" or "en") - (optional).
* - debug >> Will toggle the debug environment of JavaScript code (optional).
*
* During the lifecycle of the application some specific events are triggered so that various objects
* can react accordingly. It is better to catch these event at the body or the document object in order
* to be sure that they will be reachable from any place.
*
* - StyleEdit.StyleCreated >> Triggered after a style is created.
* - StyleEdit.StyleUpdated >> Triggered after a style is saved.
* - StyleEdit.StyleDeleted >> Triggered after a style is removed.
* - StyleEdit.StyleActivated >> Triggered after a style has been activated.
* - StyleEdit.CustomStylesChanged >> Triggered after custom styles of a style were changed.
* - StyleEdit.ControllerInitialized >> Triggered after a successful controller initialization.
* - StyleEdit.ControllerDestroyed >> Triggered after a successful controller destruction.
* - StyleEdit.Terminated >> Triggered after StyleEdit is terminated and before the browser redirection to the
* preview page.
* - StyleEdit.PreviewReloaded >> Triggered after the template preview has finished reloading.
*/
/* --------------------------------------------------------------
main.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
$(function () {
'use strict';
// ------------------------------------------------------------------------
// SETUP ENVIRONMENT
// ------------------------------------------------------------------------
_Environment2.default.setup();
// ------------------------------------------------------------------------
// INITIALIZE APPLICATION
// ------------------------------------------------------------------------
// Setup the required configuration.
var config = {
version: '3.0',
baseUrl: (window.location.origin + window.location.pathname).replace(/\/StyleEdit3\/.*$/, '/StyleEdit3'),
previewUrl: window.location.origin + window.location.pathname.replace(/\/StyleEdit3\/.*$/, ''),
environment: _UrlParser2.default.getParam('debug') !== undefined ? 'development' : 'production',
languageCode: _UrlParser2.default.getParam('lang') || 'de',
theme: _UrlParser2.default.getParam('theme') !== undefined,
template: _UrlParser2.default.getParam('template'),
tempStyleName: '__temporary_style',
localStorageColorPalette: 'style_edit_color_palette'
};
if (!config.template) {
throw new Error('Template GET parameter is missing, please append your request URL with the ' + '"&template=TemplateName".');
}
// Create the StyleEdit namespace object.
window.StyleEdit = {
Config: new _Config2.default(config),
Language: new _Language2.default(),
Debug: _Debug2.default,
Validator: _Validator2.default
};
// Add the "About" property in the StyleEdit object (only in development environment).
(0, _About2.default)(StyleEdit);
// Fetch initial data from the server.
var requests = [_ConfigApi2.default.get(), _LanguageApi2.default.getTranslations(StyleEdit.Config.get('languageCode'))];
// Initialize the main UI elements when AJAX requests are done.
$.when.apply($, requests).done(function () {
var finalConfig = $.extend(true, {}, config, arguments[0][0]);
StyleEdit.Config = new _Config2.default(finalConfig); // Reinitialize with final config values.
StyleEdit.Language.addSection('style_edit', arguments[1][0]); // Add translations section.
// Create a TemplatePreview Instance
var templatePreview = new _TemplatePreview2.default($('.style-edit-preview'), StyleEdit.Config.get('previewUrl'));
// Create a PreviewResizer Instance
var previewResizer = new _PreviewResizer2.default($('.preview-resizer'), templatePreview);
var desktopPreview = new _PreviewType2.default();
var tabletPreviewLandscape = new _PreviewType2.default();
var tabletPreviewPortrait = new _PreviewType2.default();
var mobilePreviewPortrait = new _PreviewType2.default();
desktopPreview.setClass('desktop').setName(StyleEdit.Language.translate('option_desktop_preview', 'style_edit')).setPreviewCss({
width: '100%',
height: '100%',
padding: '0',
position: '',
top: '',
left: '',
margin: '',
background: ''
}).setIconClass('fa fa-desktop').setResolution('> 1200');
tabletPreviewLandscape.setClass('tablet landscape').setName(StyleEdit.Language.translate('option_tablet_preview_landscape', 'style_edit')).setPreviewCss({
width: '1024px',
height: '768px',
padding: '20px 78px 21px 25px',
position: 'absolute',
top: '50%',
left: '50%',
margin: '-405px 0 0 -723px',
background: 'url(' + StyleEdit.Config.get('baseUrl') + '/assets/images/tablet-landscape-preview-frame.svg) 0% 0% / contain no-repeat'
}).setIconClass('fa fa-tablet fa-rotate-270').setResolution('1024x768');
tabletPreviewPortrait.setClass('tablet portrait').setName(StyleEdit.Language.translate('option_tablet_preview_portrait', 'style_edit')).setPreviewCss({
width: '768px',
height: '1024px',
padding: '24px 25px 75px',
position: 'absolute',
top: '50%',
left: '50%',
margin: '-455px 0 0 -544px',
background: 'url(' + StyleEdit.Config.get('baseUrl') + '/assets/images/tablet-portrait-preview-frame.svg) 50% 0% / contain no-repeat'
}).setIconClass('fa fa-tablet').setResolution('768x1024');
mobilePreviewPortrait.setClass('mobile portrait').setName(StyleEdit.Language.translate('option_mobile_preview_portrait', 'style_edit')).setPreviewCss({
width: '375px',
height: '627px',
padding: '54px 25px 75px',
position: 'absolute',
top: '50%',
left: '50%',
margin: '-378px 0 0 -372px',
background: 'url(' + StyleEdit.Config.get('baseUrl') + '/assets/images/mobile-portrait-preview-frame.svg) 50% 0% / contain no-repeat'
}).setIconClass('fa fa-mobile').setResolution('375x627');
previewResizer.addPreviewType(mobilePreviewPortrait).addPreviewType(tabletPreviewPortrait).addPreviewType(tabletPreviewLandscape).addPreviewType(desktopPreview);
// Create an AppFrame & FrameToggle Instance
var frameToggle = new _FrameToggle2.default($('.style-edit-frame'), $('.frame-toggle'));
var appFrame = new _AppFrame2.default($('.style-edit-frame'), previewResizer, frameToggle);
appFrame.initialize();
// Load the MyStylesView controller.
_Router2.default.load('MyStylesView');
});
});
},{"./api/ConfigApi":333,"./api/LanguageApi":335,"./entities/PreviewType":348,"./libs/About":351,"./libs/Config":353,"./libs/Debug":354,"./libs/Environment":355,"./libs/Language":358,"./libs/Router":360,"./libs/UrlParser":361,"./libs/Validator":362,"./widgets/AppFrame":365,"./widgets/FrameToggle":368,"./widgets/PreviewResizer":370,"./widgets/TemplatePreview":374,"babel-polyfill":1}],365:[function(require,module,exports){
/* --------------------------------------------------------------
AppFrame.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Application Frame Class
*
* This class will initialize the main StyleEdit frame, mainly the common components that
* are shared through every view of the execution lifecycle.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var AppFrame = function () {
/**
* Class Constructor
*
* @param {jQuery} $target
* @param {PreviewResizer} previewResizer
* @param {FrameToggle} frameToggle
*/
function AppFrame($target, previewResizer, frameToggle) {
_classCallCheck(this, AppFrame);
StyleEdit.Validator.isObject($target);
StyleEdit.Validator.isObject(previewResizer);
StyleEdit.Validator.isObject(frameToggle);
/**
* Application Frame Selector
*
* @type {jQuery}
*/
this.$target = $target;
/**
* Preview Resizer Instance
*
* @type {PreviewResizer}
*/
this.previewResizer = previewResizer;
/**
* Frame Toggle Instance
*
* @type {FrameToggle}
*/
this.frameToggle = frameToggle;
}
/**
* Initialize the instance.
*
* This method will bind the required event handlers and setup the respective template
* for the app frame.
*/
_createClass(AppFrame, [{
key: 'initialize',
value: function initialize() {
this.frameToggle.initialize();
this.previewResizer.initialize();
}
}]);
return AppFrame;
}();
exports.default = AppFrame;
},{}],366:[function(require,module,exports){
/* --------------------------------------------------------------
Colorpicker.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Colorpicker Widget
*
* The user can select a value from the colorpicker or enter his own string which must not be validated
* because it can also be a SASS mixin or something similar.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Colorpicker = function () {
/**
* Class Constructor
*
* @param {Setting} entity
* @param {StyleConfiguration} styleConfiguration
*/
function Colorpicker(entity, styleConfiguration) {
_classCallCheck(this, Colorpicker);
StyleEdit.Validator.isObject(entity);
StyleEdit.Validator.isObject(styleConfiguration);
/**
* @type {Setting}
*/
this.entity = entity;
/**
* @type {StyleConfiguration}
*/
this.styleConfiguration = styleConfiguration;
}
/**
* Initialize the widget.
*/
_createClass(Colorpicker, [{
key: 'initialize',
value: function initialize() {
var _this = this;
var color = this.entity.getValue();
var $element = $('.edit-options-container').find('#' + this.entity.getName());
var $preview = $element.parents('.form-group').find('.color-preview');
$preview.spectrum({
color: this.entity.getValue(),
preferredFormat: 'hex',
clickoutFiresChange: true,
showInitial: true,
showAlpha: true,
showPalette: true,
showInput: true,
chooseText: 'OK',
cancelText: StyleEdit.Language.translate('option_cancel', 'style_edit'),
palette: [],
maxSelectionSize: 20,
containerClassName: 'colorpicker-widget',
localStorageKey: StyleEdit.Config.get('localStorageColorPalette'),
change: function change(color) {
$element.val(color).trigger('change');
_this._updatePreviewColor($preview, color.toString());
}
});
this._updatePreviewColor($preview, color);
$element.change(function () {
var found = false;
// Update the style configuration.
$.each(_this.styleConfiguration.getSettings(), function (index, setting) {
$.each(setting.getEntries(), function (index, entry) {
if (entry.getName() === _this.entity.getName()) {
entry.setValue($element.val());
found = true;
return false;
}
});
if (found) {
return false;
}
});
_this._updatePreviewColor($preview, $element.val());
});
// Add setting tags to the parent ".form-group" element.
if (this.entity.getTags() !== null) {
var tags = this.entity.getTags().join('|');
$element.parents('.form-group').attr('data-tags', tags);
}
}
/**
* Update the background color of the selector.
*
* This method will set the new color or display the no-preview icon if the color
* cannot be directly rendered (e.g. is a SASS command).
*
* @param {jQuery} $preview
* @param {String} color
*
* @private
*/
}, {
key: '_updatePreviewColor',
value: function _updatePreviewColor($preview, color) {
StyleEdit.Validator.isObject($preview);
StyleEdit.Validator.isString(color);
if (color.match(/(#|rgb|rgba)/ig)) {
$preview.html('');
$preview.css('background-color', color);
} else {
$preview.html('<i class="fa fa-ban"></i>');
$preview.css('background-color', '#FFF'); // Hide the text from behind the color-preview element.
}
}
/**
* Get Widget HTML
*
* @return {String}
*/
}, {
key: 'getHtml',
value: function getHtml() {
var template = $('#widget-colorpicker-template').html();
return Mustache.render(template, this.entity);
}
}]);
return Colorpicker;
}();
exports.default = Colorpicker;
},{}],367:[function(require,module,exports){
/* --------------------------------------------------------------
FilterBox.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Widget Constructor
*
* @param {jQuery} $target The selector of the element that will contain the widget.
* @param {jQuery} $settingsList The <ul> element that contains the list of the settings.
* @param {jQuery} $container The parent container element, where the PerfectScrollbar is bound.
* @param {StyleConfiguration} styleConfiguration Contains the style configuration data.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var FilterBox = function () {
/**
* Class Constructor
*
* @param {jQuery} $target
* @param {jQuery} $settingsList
* @param {jQuery} $container
* @param {StyleConfiguration} styleConfiguration
*/
function FilterBox($target, $settingsList, $container, styleConfiguration) {
_classCallCheck(this, FilterBox);
StyleEdit.Validator.isObject($target);
StyleEdit.Validator.isObject($settingsList);
StyleEdit.Validator.isObject($container);
StyleEdit.Validator.isObject(styleConfiguration);
/**
* Target Selector
*
* @type {jQuery}
*/
this.$target = $target;
/**
* Setting List Selector
*
* @type {jQuery}
*/
this.$settingsList = $settingsList;
/**
* Container Selector
*
* @type {jQuery}
*/
this.$settingsList = $container;
/**
* Style Configuration Instance
*
* @type {StyleConfiguration}
*/
this.styleConfiguration = styleConfiguration;
/**
* Contains the available filter tags.
*
* @type {String[]}
*/
this.availableTags = [];
}
/**
* Initialize Widget
*/
_createClass(FilterBox, [{
key: 'initialize',
value: function initialize() {
// Parse the style configuration filter tags.
this._parseStyleTags();
// Load the widget template.
this._loadWidgetTemplate();
// Bind the event handlers.
this._bindEventHandlers();
}
/**
* Bind Event Handlers
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this = this;
this.$target.on('click', '.action', function (event) {
return _this._onFilterItemClick(event);
});
}
/**
* Load Widget Template
*
* @private
*/
}, {
key: '_loadWidgetTemplate',
value: function _loadWidgetTemplate() {
var template = $('#widget-filter-box-template').html();
var data = { tags: [] };
data.tags.push({
value: 'filter-display-all',
text: StyleEdit.Language.translate('label_filter_display_all', 'style_edit')
});
$.each(this.availableTags, function (index, tag) {
data.tags.push({
value: tag,
text: StyleEdit.Language.translate(tag, 'template')
});
});
this.$target.html(Mustache.render(template, data));
// Add material design effects to new objects.
$.material.init();
}
/**
* Event: On Filter Item Click
*
* @param event {jQuery.Event}
*
* @private
*/
}, {
key: '_onFilterItemClick',
value: function _onFilterItemClick(event) {
var $target = $(event.currentTarget);
var currentTag = $target.attr('data-tag');
// Check for display all option.
if (currentTag === 'filter-display-all') {
this.$target.find('.filter').removeClass('active').find('.info').text('Filter');
this.$settingsList.find('.option .form-group').show();
} else {
this.$target.find('.filter').addClass('active').find('.info').text($target.text());
this.$settingsList.find('.option .form-group').each(function (index, formGroup) {
if ($(formGroup).attr('data-tags') === undefined) {
// The form-group has no tags so hide it.
$(formGroup).hide();
return true; // continue
}
var formGroupTags = $(formGroup).attr('data-tags').split('|');
if (formGroupTags.indexOf(currentTag) > -1) {
$(formGroup).show();
} else {
$(formGroup).hide();
}
});
}
// Hide the setting groups that do not have any element visible.
this.$settingsList.find('.option').show();
this.$settingsList.find('.option').each(function (index, option) {
var hideOptionRow = true;
$(option).find('.dropdown-menu .form-group').each(function (index, formGroup) {
if ($(formGroup).css('display') !== 'none') {
hideOptionRow = false;
// Display the .title rows that reside bellow the displayed elements. This workaround will
// ensure that he Title widget instances will be displayed correctly while filtering the settings.
$(formGroup).prevUntil('.option').find('.title').last().parents('.form-group').show();
return false;
}
});
if (hideOptionRow === true) {
$(option).hide();
}
});
// Trigger a change event on the .image-list select boxes in order to show/hide the image-related settings.
this.$settingsList.find('.image-list').trigger('image:toggle_dependencies');
// Refresh container scrollbars.
this.$settingsList.perfectScrollbar('update');
}
/**
* Parse the style configuration tags.
*
* This method will walk over all the style settings and find the unique filtering
* tags that will be used for the setting filtering.
*
* @private
*/
}, {
key: '_parseStyleTags',
value: function _parseStyleTags() {
var _this2 = this;
$.each(this.styleConfiguration.getSettings(), function (index, collection) {
$.each(collection.getEntries(), function (index, setting) {
if (setting.getTags()) {
$.each(setting.getTags(), function (index, tag) {
if (_this2.availableTags.indexOf(tag) === -1) {
_this2.availableTags.push(tag);
}
});
}
});
});
}
}]);
return FilterBox;
}();
exports.default = FilterBox;
},{}],368:[function(require,module,exports){
/* --------------------------------------------------------------
FrameToggle.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Application Frame Toggle
*
* This class will handle all the possible functionality of the app frame handle. In the
* future more options might be added like "move the frame to the left side" of the page.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var FrameToggle = function () {
/**
* Class Constructor
*
* @param {jQuery} $frame The whole app frame selector.
* @param {jQuery} $handle The toggle handle selector.
*/
function FrameToggle($frame, $handle) {
_classCallCheck(this, FrameToggle);
StyleEdit.Validator.isObject($frame);
StyleEdit.Validator.isObject($handle);
/**
* App Frame Selector
*
* @type {jQuery}
*/
this.$frame = $frame;
/**
* Frame Toggle Handle Selector
*
* @type {jQuery}
*/
this.$handle = $handle;
}
/**
* Initialize the widget.
*
* This method will bind the required event handlers to the DOM.
*/
_createClass(FrameToggle, [{
key: 'initialize',
value: function initialize() {
var _this = this;
this.$handle.on('click', function () {
if (_this.$frame.hasClass('open')) {
// then close it
_this.$frame.animate({ right: '-320px' }, 300, 'linear', function () {
_this.$frame.removeClass('open').addClass('closed');
_this.$handle.find('.fa-caret-right').hide();
_this.$handle.find('.fa-caret-left').show();
});
} else {
// was closed so open it
_this.$frame.animate({ right: '0' }, 300, 'linear', function () {
_this.$frame.removeClass('closed').addClass('open');
_this.$handle.find('.fa-caret-right').show();
_this.$handle.find('.fa-caret-left').hide();
});
}
});
}
}]);
return FrameToggle;
}();
exports.default = FrameToggle;
},{}],369:[function(require,module,exports){
/* --------------------------------------------------------------
Image.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
var _Router = require('../libs/Router');
var _Router2 = _interopRequireDefault(_Router);
var _ImageApi = require('../api/ImageApi');
var _ImageApi2 = _interopRequireDefault(_ImageApi);
var _Environment = require('../libs/Environment');
var _Environment2 = _interopRequireDefault(_Environment);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Image Widget
*
* An instance of this widget serves the "image" settings of a style. The user can select
* one of the uploaded images, preview them or delete them.
*/
var Image = function () {
/**
* Class Constructor
*
* @param {Setting} entity Contains the setting information.
* @param {StyleConfiguration} styleConfiguration Reference to the current configuration object.
* @param {String[]} templateImages An array with the template uploaded images.
*/
function Image(entity, styleConfiguration, templateImages) {
_classCallCheck(this, Image);
StyleEdit.Validator.isObject(entity);
StyleEdit.Validator.isObject(styleConfiguration);
StyleEdit.Validator.isObject(templateImages);
/**
* @type {Setting}
*/
this.entity = entity;
/**
* @type {StyleConfiguration}
*/
this.styleConfiguration = styleConfiguration;
/**
* Uploaded Images
*
* @type {String[]}
*/
this.templateImages = templateImages;
/**
* Base entity name without the "-url" postfix.
*
* If the setting follows the "gx-setting-image-url" convention, then the base name will be used to select
* widgets that have similar names (e.g. "gx-setting-image-repeat") and show/hide them depending on whether
* an image is selected or not.
*
* @type {String}
*/
this.baseEntityName = entity.getName().replace('-url', '');
}
/**
* Initialize the widget.
*/
_createClass(Image, [{
key: 'initialize',
value: function initialize() {
var _this = this;
var $element = $('#' + this.entity.getName());
var $actions = $element.parents().eq(1).find('.image-actions');
if ($element.find('option[value="' + this.entity.getValue() + '"]').length > 0) {
$element.val(this.entity.getValue());
} else {
$element.val('');
}
var $target = _Environment2.default.isInternetExplorer() ? $element.parents().eq(1) : $element.parents().eq(0);
$target.mouseover(function () {
if ($element.val() === '') {
$actions.find('.preview, .delete').addClass('disabled');
}
$actions.stop(true, true); // stop previous animation (if any)
$actions.show('slide', { direction: 'up' }, 400);
});
$target.mouseleave(function () {
$actions.hide('slide', { direction: 'up' }, 400, function () {
$actions.find('.preview, .delete').removeClass('disabled');
});
});
$element.change(function () {
if ($element.val() !== '') {
$actions.find('.preview, .delete').removeClass('disabled');
} else {
$actions.find('.preview, .delete').addClass('disabled');
}
$element.trigger('image:toggle_dependencies');
// Update the style configuration.
var found = false;
$.each(_this.styleConfiguration.getSettings(), function (index, setting) {
$.each(setting.getEntries(), function (index, entry) {
if (entry.getName() === _this.entity.getName()) {
entry.setValue($element.val());
found = true;
return false;
}
});
if (found) {
return false;
}
});
_this.entity.setValue($element.val());
});
$element.on('image:toggle_dependencies', function () {
// Show/hide image-dependent settings.
var method = $element.val() !== '' ? 'show' : 'hide';
$('[id^=' + _this.baseEntityName + ']').not('[id=' + _this.entity.getName() + ']').each(function (index, input) {
$(input).parents('.form-group')[method]();
});
});
$actions.find('.upload').click(function () {
_Router2.default.load('UploadImageModal', [$element]);
});
$actions.find('.preview').click(function (event) {
if ($(event.currentTarget).hasClass('disabled') || $element.val() === '') {
return;
}
_Router2.default.load('PreviewImageModal', [$element]);
});
$actions.find('.delete').click(function (event) {
var $target = $(event.currentTarget);
if ($target.hasClass('disabled')) {
return;
}
// Check if other settings are using this image.
var occurrences = $('.edit-options .image-list').filter(function () {
return $target.val() === $element.val() && $target.get(0) !== $element.get(0);
}).length;
if (occurrences > 0) {
_Modal2.default.message(StyleEdit.Language.translate('title_cannot_delete_image', 'style_edit'), StyleEdit.Language.translate('message_cannot_delete_image', 'style_edit'));
return;
}
// Prompt for image removal.
var title = StyleEdit.Language.translate('title_delete_image', 'style_edit');
var message = StyleEdit.Language.translate('message_delete_image', 'style_edit');
_Modal2.default.prompt(title, message).done(function () {
var filename = $element.find('option:selected').text();
_ImageApi2.default.delete(filename).done(function () {
$element.val('') // Select the empty value.
.trigger('change'); // Update the style configuration.
$('.edit-options .image-list option[value="' + filename + '"]').remove();
});
});
});
// Add setting tags to the parent ".form-group" element.
if (this.entity.getTags() !== null) {
var tags = this.entity.getTags().join('|');
$element.parents('.form-group').attr('data-tags', tags);
}
$element.trigger('change');
}
/**
* Get Widget HTML
*
* @return {String}
*/
}, {
key: 'getHtml',
value: function getHtml() {
var template = $('#widget-image-template').html();
// Prepare the template data.
var data = {
name: this.entity.getName(),
title: StyleEdit.Language.translate(this.entity.getName(), 'template'),
option_upload: StyleEdit.Language.translate('option_upload', 'style_edit'),
option_preview: StyleEdit.Language.translate('option_preview', 'style_edit'),
option_delete: StyleEdit.Language.translate('option_delete', 'style_edit'),
options: [{
value: ''
}]
};
$.each(this.templateImages, function (index, image) {
var entry = {
value: image
};
data.options.push(entry);
});
return Mustache.render(template, data);
}
}]);
return Image;
}();
exports.default = Image;
},{"../api/ImageApi":334,"../libs/Environment":355,"../libs/Modal":359,"../libs/Router":360}],370:[function(require,module,exports){
/* --------------------------------------------------------------
PreviewResizer.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Preview Resizer Widget
*
* This widget will handle the creation of the preview resize element of the StyleEdit frame. You
* should use the "addPreviewType" method to add new preview types in the list.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var PreviewResizer = function () {
/**
* Class Constructor
*
* @param {jQuery} $target Target selector of the widget.
* @param {TemplatePreview} templatePreview Instance of the template preview needed for changing the preview types.
*/
function PreviewResizer($target, templatePreview) {
_classCallCheck(this, PreviewResizer);
StyleEdit.Validator.isObject($target);
StyleEdit.Validator.isObject(templatePreview);
/**
* @type {jQuery}
*/
this.$target = $target;
/**
* @type {TemplatePreview}
*/
this.templatePreview = templatePreview;
/**
* Contains the preview type instances
*
* @type {PreviewType[]}
*/
this.previewTypes = [];
}
/**
* Initialize the widget.
*
* Once the preview types added use this method to initialize the widget. It will fetch the
* correct Mustache templates and bind the event handlers.
*/
_createClass(PreviewResizer, [{
key: 'initialize',
value: function initialize() {
this.templatePreview.initialize();
// Create the available preview types list.
var template = $('#preview-type-template').html();
var html = Mustache.render(template, { previewTypes: this.previewTypes });
this.$target.find('.dropdown-menu').html(html);
this._bindEventHandlers();
this.$target.find('.dropdown-menu li:last').trigger('click');
}
/**
* Add new preview type to the instance.
*
* @param {PreviewType} previewType Contains the preview information (width, height etc).
*
* @return {PreviewResizer} Returns the class instance for method chaining.
*/
}, {
key: 'addPreviewType',
value: function addPreviewType(previewType) {
StyleEdit.Validator.isObject(previewType);
this.previewTypes.push(previewType);
return this;
}
/**
* Bind the event handlers for the widget.
*
* @this PreviewResizer
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this = this;
this.$target.find('.dropdown-menu li').off('click').on('click', function (event) {
var $target = $(event.currentTarget);
$.each(_this.previewTypes, function (index, previewType) {
if ($target.hasClass(previewType.getClass())) {
_this.templatePreview.changePreview(previewType);
_this.$target.find('.dropdown-menu li.active').removeClass('active');
$target.addClass('active');
_this.$target.find('.type-toggle i').attr('class', previewType.getIconClass() + '');
}
});
});
}
}]);
return PreviewResizer;
}();
exports.default = PreviewResizer;
},{}],371:[function(require,module,exports){
/* --------------------------------------------------------------
SelectBox.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Select Widget Class
*
* This widget will create a simple select box and populate it with the values from
* the entity.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var SelectBox = function () {
/**
* Class Constructor
*
* @param {Setting} entity Contains the setting information.
* @param {StyleConfiguration} styleConfiguration Reference to the current configuration object.
*/
function SelectBox(entity, styleConfiguration) {
_classCallCheck(this, SelectBox);
StyleEdit.Validator.isObject(entity);
StyleEdit.Validator.isObject(styleConfiguration);
/**
* @type {Setting}
*/
this.entity = entity;
/**
* @type {StyleConfiguration}
*/
this.styleConfiguration = styleConfiguration;
}
/**
* Initialize the widget.
*/
_createClass(SelectBox, [{
key: 'initialize',
value: function initialize() {
var _this = this;
var $element = $('.edit-options-container #' + this.entity.getName());
$element.change(function () {
var found = false;
// Update the style configuration.
$.each(_this.styleConfiguration.getSettings(), function (index, setting) {
$.each(setting.getEntries(), function (index, entry) {
if (entry.getName() === _this.entity.getName()) {
entry.setValue($element.val());
found = true;
return false;
}
});
if (found) {
return false;
}
});
});
$element.val(this.entity.getValue());
// Add setting tags to the parent ".form-group" element.
if (this.entity.getTags() !== null) {
var tags = this.entity.getTags().join('|');
$element.parents('.form-group').attr('data-tags', tags);
}
}
/**
* Get the widget HTML
*
* @return {String}
*/
}, {
key: 'getHtml',
value: function getHtml() {
var template = $('#widget-select-template').html();
// Convert the original Setting instance into a custom object in order to support
// object literals in in the select-type settings. The display texts should be translated.
var setting = {
name: this.entity.getName(),
title: this.entity.getTitle(),
options: []
};
$.each(this.entity.getOptions(), function (index, option) {
var entry = void 0;
if ((typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object') {
// The option from the JSON file is an object literal.
var optionKey = Object.keys(option)[0];
entry = {
value: optionKey,
text: StyleEdit.Language.translate(option[optionKey], 'template')
};
} else {
// The option from the JSON file is just a string.
entry = {
value: option,
text: option
};
}
setting.options.push(entry);
});
return Mustache.render(template, setting);
}
}]);
return SelectBox;
}();
exports.default = SelectBox;
},{}],372:[function(require,module,exports){
/* --------------------------------------------------------------
StyleUpload.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
/* globals -Modal */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Modal = require('../libs/Modal');
var _Modal2 = _interopRequireDefault(_Modal);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Style Upload Widget
*
* This widget will use the jquery-fileupload plugin in order to upload the style
* to the server with POST request into a hidden iframe.
*/
var StyleUpload = function () {
/**
* Class Constructor
*
* @param {jQuery} $target The target selector to be converted into an StyleUpload element. This
* must be a input:file element.
* @param {String} url The URL that will be used to POST the file.
*/
function StyleUpload($target, url) {
_classCallCheck(this, StyleUpload);
StyleEdit.Validator.isObject($target);
StyleEdit.Validator.isString(url);
/**
* The to be converted into a jquery ajax-handler.
*
* @type {jQuery}
*/
this.$target = $target;
/**
* URL to be used on upload.
*
* @type {String}
*/
this.url = url;
}
/**
* Trigger the file upload.
*
* Since this class is a wrapper for the jquery-fileupload plugin it will handle the AJAX
* failure on its own.
*
* @param {String} styleName The name of the new style.
*
* @return {jQuery.Promise} Returns a promise object that will be resolved with the server's response.
*/
_createClass(StyleUpload, [{
key: 'upload',
value: function upload(styleName) {
var deferred = $.Deferred();
var filesList = this.$target.get(0).files;
this.$target.fileupload({
formData: { style_name: styleName },
url: this.url,
dataType: 'json',
autoUpload: false,
acceptFileTypes: /(\.|\/)(json)$/i,
forceIframeTransport: true
});
this.$target.fileupload('send', { files: filesList }).done(function (result) {
deferred.resolve(result);
}).fail(function (jqxhr, testStatus, errorThrown) {
_Modal2.default.message(StyleEdit.Language.translate('title_upload_failure', 'style_edit'), StyleEdit.Language.translate('message_upload_failure', 'style_edit'));
StyleEdit.Debug.error('StyleUpload Widget Error: ', errorThrown, testStatus, jqxhr);
});
return deferred.promise();
}
}]);
return StyleUpload;
}();
exports.default = StyleUpload;
},{"../libs/Modal":359}],373:[function(require,module,exports){
/* --------------------------------------------------------------
Switch.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Switch Widget
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Switch = function () {
/**
* Class Constructor
*
* @param {Setting} entity Contains the setting information.
* @param {StyleConfiguration} styleConfiguration Reference to the current configuration object.
*/
function Switch(entity, styleConfiguration) {
_classCallCheck(this, Switch);
StyleEdit.Validator.isObject(entity);
StyleEdit.Validator.isObject(styleConfiguration);
/**
* @type {Setting}
*/
this.entity = entity;
/**
* @type {StyleConfiguration}
*/
this.styleConfiguration = styleConfiguration;
}
/**
* Initialize the widget.
*/
_createClass(Switch, [{
key: 'initialize',
value: function initialize() {
var _this = this;
var $element = $('.edit-options-container #' + this.entity.getName());
$element.change(function () {
var found = false;
// Update the style configuration.
$.each(_this.styleConfiguration.getSettings(), function (index, setting) {
$.each(setting.getEntries(), function (index, entry) {
if (entry.getName() === _this.entity.getName()) {
entry.setValue($element.prop('checked'));
found = true;
return false;
}
});
if (found) {
return false;
}
});
});
// Set initial value.
$element.prop('checked', this.entity.getValue());
// Add setting tags to the parent ".form-group" element.
if (this.entity.getTags() !== null) {
var tags = this.entity.getTags().join('|');
$element.parents('.form-group').attr('data-tags', tags);
}
}
/**
* Get Widget HTML
*
* @return {String}
*/
}, {
key: 'getHtml',
value: function getHtml() {
var template = $('#widget-switch-template').html();
return Mustache.render(template, this.entity);
}
}]);
return Switch;
}();
exports.default = Switch;
},{}],374:[function(require,module,exports){
/* --------------------------------------------------------------
TemplatePreview.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Template Preview Widget
*
* This widget is a wrapper for an iframe element that will display the template preview. Use
* the "changePreview" method to change the current preview type.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var TemplatePreview = function () {
/**
* Class Constructor
*
* @param {jQuery} $target Target <div> element of the template preview.
* @param {String} previewUrl The preview URL of the template.
*/
function TemplatePreview($target, previewUrl) {
_classCallCheck(this, TemplatePreview);
StyleEdit.Validator.isObject($target);
StyleEdit.Validator.isString(previewUrl);
/**
* Target Preview Selector
*
* @type {jQuery}
*/
this.$target = $target;
/**
* The template preview-URL
*
* @type {String}
*/
this.previewUrl = previewUrl;
}
/**
* Initialize the widget.
*
* Call this method to create the required HTML structure for the widget.
*/
_createClass(TemplatePreview, [{
key: 'initialize',
value: function initialize() {
// Create the "loading" element.
var $loadingIcon = $($('#loading-spinner-template').html());
$loadingIcon.css({
display: 'table-cell',
verticalAlign: 'middle',
width: '60px'
});
var $loading = $('<div class="loading"></div>').css({
position: 'fixed',
left: '0',
top: '0',
width: '100vw',
height: '100vh',
backgroundColor: '#FFF',
fontSize: '60px',
textAlign: 'center',
display: 'table',
overflow: 'hidden'
});
var $disableLayer = $('<div class="disable-layer"></div>').css({
display: 'none',
position: 'fixed',
left: '0',
top: '0',
width: '100%',
height: '100%',
backgroundColor: 'rgba(185, 74, 72, 0.27)',
overflow: 'hidden'
});
var $iframe = $('<iframe src="' + this.previewUrl + '"></iframe>');
this.$target.append($iframe);
$('body').append($disableLayer).append($loading.append($loadingIcon));
this._bindEventHandlers();
}
/**
* Change the current preview type of the template.
*
* @param {PreviewType} type The preview type to be used.
*/
}, {
key: 'changePreview',
value: function changePreview(type) {
StyleEdit.Validator.isObject(type);
// Reload the iframe content to solve window.resize event problem.
var iframeWindow = this.$target.find('iframe').get(0).contentWindow;
if (iframeWindow.location.href !== 'about:blank') {
iframeWindow.location.reload();
}
this.currentPreviewType = type;
}
/**
* Event: iframe Unload
*
* @private
*/
}, {
key: '_onIframeUnload',
value: function _onIframeUnload() {
$('body').find('.loading').fadeIn();
}
/**
* Event: iframe Load Event
*
* Will be triggered once the iframe content has finished loading.
*
* @private
*/
}, {
key: '_onIframeLoad',
value: function _onIframeLoad() {
var _this = this;
this.$target.css(this.currentPreviewType.getPreviewCss());
$('body').find('.loading').fadeOut();
// Bind the unload event to the iframe window object.
var iframeWindow = this.$target.find('iframe').get(0).contentWindow;
$(iframeWindow).on('beforeunload', function () {
return _this._onIframeUnload();
});
}
/**
* Bind widget event handlers.
*
* @private
*/
}, {
key: '_bindEventHandlers',
value: function _bindEventHandlers() {
var _this2 = this;
this.$target.find('iframe').off('load').on('load', function () {
return _this2._onIframeLoad();
});
}
}]);
return TemplatePreview;
}();
exports.default = TemplatePreview;
},{}],375:[function(require,module,exports){
/* --------------------------------------------------------------
TextBox.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* TextBox Widget
*
* This widget will handle the plain text style settings.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var TextBox = function () {
/**
* Class Constructor
*
* @param {Setting} entity Contains the setting information.
* @param {StyleConfiguration} styleConfiguration Reference to the current configuration object.
*/
function TextBox(entity, styleConfiguration) {
_classCallCheck(this, TextBox);
StyleEdit.Validator.isObject(entity);
StyleEdit.Validator.isObject(styleConfiguration);
/**
* @type {Setting}
*/
this.entity = entity;
/**
* @type {StyleConfiguration}
*/
this.styleConfiguration = styleConfiguration;
}
/**
* Initialize the widget.
*/
_createClass(TextBox, [{
key: 'initialize',
value: function initialize() {
var _this = this;
var $element = $('.edit-options-container #' + this.entity.getName());
$element.change(function () {
var found = false;
// Update the style configuration.
$.each(_this.styleConfiguration.getSettings(), function (index, setting) {
$.each(setting.getEntries(), function (index, entry) {
if (entry.getName() === _this.entity.getName()) {
// Set the default metric if necessary.
var defaultMetric = _this.entity.getDefaultMetric();
if ($element.val() !== '0' && defaultMetric !== null && $element.val().replace(/[^0-9.+ ]/g, '') === $element.val()) {
$element.val($element.val() + defaultMetric);
}
entry.setValue($element.val());
found = true;
return false;
}
});
if (found) {
return false;
}
});
});
// Add setting tags to the parent ".form-group" element.
if (this.entity.getTags() !== null) {
var tags = this.entity.getTags().join('|');
$element.parents('.form-group').attr('data-tags', tags);
}
}
/**
* Get Widget HTML
*
* @return {String}
*/
}, {
key: 'getHtml',
value: function getHtml() {
var template = $('#widget-text-template').html();
return Mustache.render(template, this.entity);
}
}]);
return TextBox;
}();
exports.default = TextBox;
},{}],376:[function(require,module,exports){
/* --------------------------------------------------------------
Title.js 2019-06-07
Gambio GmbH
http://www.gambio.de
Copyright (c) 2019 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------*/
'use strict';
/**
* Title Widget
*
* This widget will display a plain sub-category title as part of the settings list.
*/
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Title = function () {
/**
* Class Constructor
*
* @param {Setting} entity Contains the setting information.
*/
function Title(entity) {
_classCallCheck(this, Title);
StyleEdit.Validator.isObject(entity);
/**
* @type {Setting}
*/
this.entity = entity;
}
/**
* Initialize the widget.
*/
_createClass(Title, [{
key: 'initialize',
value: function initialize() {}
// Nothing to do ...
/**
* Get Widget HTML
*
* @return {String}
*/
}, {
key: 'getHtml',
value: function getHtml() {
var template = $('#widget-title-template').html();
var data = {
title: StyleEdit.Language.translate(this.entity.getName(), 'template')
};
return Mustache.render(template, data);
}
}]);
return Title;
}();
exports.default = Title;
},{}]},{},[364])
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvYmFiZWwtcG9seWZpbGwvbGliL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vcmVnZXhwL2VzY2FwZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2EtZnVuY3Rpb24uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLW51bWJlci12YWx1ZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkdmFuY2Utc3RyaW5nLWluZGV4LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYW4taW5zdGFuY2UuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1jb3B5LXdpdGhpbi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LWZpbGwuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1mcm9tLWl0ZXJhYmxlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1tZXRob2RzLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktcmVkdWNlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktc3BlY2llcy1jb25zdHJ1Y3Rvci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY3JlYXRlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYmluZC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NsYXNzb2YuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2YuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2xsZWN0aW9uLXN0cm9uZy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvbGxlY3Rpb24tdG8tanNvbi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvbGxlY3Rpb24td2Vhay5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvbGxlY3Rpb24uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY3JlYXRlLXByb3BlcnR5LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY3R4LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGF0ZS10by1pc28tc3RyaW5nLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGF0ZS10by1wcmltaXRpdmUuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kb20tY3JlYXRlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZW51bS1idWcta2V5cy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2VudW0ta2V5cy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2V4cG9ydC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLWlzLXJlZ2V4cC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZml4LXJlLXdrcy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZsYWdzLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZmxhdHRlbi1pbnRvLWFycmF5LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZm9yLW9mLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGFzLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGlkZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2h0bWwuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2luaGVyaXQtaWYtcmVxdWlyZWQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pbnZva2UuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pb2JqZWN0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXktaXRlci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLWFycmF5LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtaW50ZWdlci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLW9iamVjdC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLXJlZ2V4cC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItY2FsbC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXRlci1kZWZpbmUuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWRldGVjdC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItc3RlcC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXJhdG9ycy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19tYXRoLWV4cG0xLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fbWF0aC1mcm91bmQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19tYXRoLWxvZzFwLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fbWF0aC1zY2FsZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX21hdGgtc2lnbi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX21ldGEuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19tZXRhZGF0YS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX21pY3JvdGFzay5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX25ldy1wcm9taXNlLWNhcGFiaWxpdHkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtYXNzaWduLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWNyZWF0ZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1kcC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1kcHMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZm9yY2VkLXBhbS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1nb3BkLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdvcG4tZXh0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdvcG4uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ29wcy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1ncG8uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LXBpZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1zYXAuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtdG8tYXJyYXkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vd24ta2V5cy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3BhcnNlLWZsb2F0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcGFyc2UtaW50LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcGVyZm9ybS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb21pc2UtcmVzb2x2ZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWRlZmluZS1hbGwuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWRlZmluZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZ2V4cC1leGVjLWFic3RyYWN0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVnZXhwLWV4ZWMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZXBsYWNlci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NhbWUtdmFsdWUuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtY29sbGVjdGlvbi1mcm9tLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2V0LWNvbGxlY3Rpb24tb2YuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtcHJvdG8uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtc3BlY2llcy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NldC10by1zdHJpbmctdGFnLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLWtleS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NoYXJlZC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NwZWNpZXMtY29uc3RydWN0b3IuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpY3QtbWV0aG9kLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWF0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWNvbnRleHQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctaHRtbC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy1wYWQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctcmVwZWF0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXRyaW0uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctd3MuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190YXNrLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWludGVnZXIuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tbGVuZ3RoLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tb2JqZWN0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdHlwZWQtYXJyYXkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190eXBlZC1idWZmZXIuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190eXBlZC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VzZXItYWdlbnQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL192YWxpZGF0ZS1jb2xsZWN0aW9uLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fd2tzLWRlZmluZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3drcy1leHQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2NvcmUuZ2V0LWl0ZXJhdG9yLW1ldGhvZC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvY29yZS5yZWdleHAuZXNjYXBlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuY29weS13aXRoaW4uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5ldmVyeS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmZpbGwuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5maWx0ZXIuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5maW5kLWluZGV4LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZmluZC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmZvci1lYWNoLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZnJvbS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmluZGV4LW9mLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuaXMtYXJyYXkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5pdGVyYXRvci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmpvaW4uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5sYXN0LWluZGV4LW9mLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkubWFwLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkub2YuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5yZWR1Y2UtcmlnaHQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5yZWR1Y2UuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5zbGljZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LnNvbWUuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5zb3J0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuc3BlY2llcy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmRhdGUubm93LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuZGF0ZS50by1pc28tc3RyaW5nLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuZGF0ZS50by1qc29uLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuZGF0ZS50by1wcmltaXRpdmUuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5kYXRlLnRvLXN0cmluZy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmZ1bmN0aW9uLmJpbmQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5mdW5jdGlvbi5oYXMtaW5zdGFuY2UuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5mdW5jdGlvbi5uYW1lLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWFwLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWF0aC5hY29zaC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGguYXNpbmguanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmF0YW5oLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWF0aC5jYnJ0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWF0aC5jbHozMi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGguY29zaC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGguZXhwbTEuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmZyb3VuZC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGguaHlwb3QuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmltdWwuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmxvZzEwLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWF0aC5sb2cxcC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGgubG9nMi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGguc2lnbi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGguc2luaC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGgudGFuaC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGgudHJ1bmMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuY29uc3RydWN0b3IuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuZXBzaWxvbi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5pcy1maW5pdGUuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuaXMtaW50ZWdlci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5pcy1uYW4uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuaXMtc2FmZS1pbnRlZ2VyLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLm1heC1zYWZlLWludGVnZXIuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIubWluLXNhZmUtaW50ZWdlci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5wYXJzZS1mbG9hdC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5wYXJzZS1pbnQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIudG8tZml4ZWQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIudG8tcHJlY2lzaW9uLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmFzc2lnbi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5jcmVhdGUuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3QuZGVmaW5lLXByb3BlcnRpZXMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3QuZGVmaW5lLXByb3BlcnR5LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmZyZWV6ZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3IuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3QuZ2V0LW93bi1wcm9wZXJ0eS1uYW1lcy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5nZXQtcHJvdG90eXBlLW9mLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmlzLWV4dGVuc2libGUuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3QuaXMtZnJvemVuLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmlzLXNlYWxlZC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5pcy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5rZXlzLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LnByZXZlbnQtZXh0ZW5zaW9ucy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5zZWFsLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LnNldC1wcm90b3R5cGUtb2YuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3QudG8tc3RyaW5nLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucGFyc2UtZmxvYXQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5wYXJzZS1pbnQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5wcm9taXNlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5hcHBseS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZmxlY3QuY29uc3RydWN0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5kZWZpbmUtcHJvcGVydHkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWZsZWN0LmRlbGV0ZS1wcm9wZXJ0eS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZmxlY3QuZW51bWVyYXRlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3IuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWZsZWN0LmdldC1wcm90b3R5cGUtb2YuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWZsZWN0LmdldC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZmxlY3QuaGFzLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5pcy1leHRlbnNpYmxlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5vd24ta2V5cy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZmxlY3QucHJldmVudC1leHRlbnNpb25zLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5zZXQtcHJvdG90eXBlLW9mLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5zZXQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAuY29uc3RydWN0b3IuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAuZXhlYy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5mbGFncy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5tYXRjaC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5yZXBsYWNlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVnZXhwLnNlYXJjaC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5zcGxpdC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC50by1zdHJpbmcuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zZXQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuYW5jaG9yLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmJpZy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5ibGluay5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5ib2xkLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmNvZGUtcG9pbnQtYXQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuZW5kcy13aXRoLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmZpeGVkLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmZvbnRjb2xvci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5mb250c2l6ZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5mcm9tLWNvZGUtcG9pbnQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuaW5jbHVkZXMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuaXRhbGljcy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5pdGVyYXRvci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5saW5rLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnJhdy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5yZXBlYXQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuc21hbGwuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuc3RhcnRzLXdpdGguanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuc3RyaWtlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnN1Yi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5zdXAuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcudHJpbS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN5bWJvbC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnR5cGVkLmFycmF5LWJ1ZmZlci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnR5cGVkLmRhdGEtdmlldy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnR5cGVkLmZsb2F0MzItYXJyYXkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC5mbG9hdDY0LWFycmF5LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYudHlwZWQuaW50MTYtYXJyYXkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC5pbnQzMi1hcnJheS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnR5cGVkLmludDgtYXJyYXkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC51aW50MTYtYXJyYXkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC51aW50MzItYXJyYXkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC51aW50OC1hcnJheS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnR5cGVkLnVpbnQ4LWNsYW1wZWQtYXJyYXkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi53ZWFrLW1hcC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LndlYWstc2V0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcuYXJyYXkuZmxhdC1tYXAuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5hcnJheS5mbGF0dGVuLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcuYXJyYXkuaW5jbHVkZXMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5hc2FwLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcuZXJyb3IuaXMtZXJyb3IuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5nbG9iYWwuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5tYXAuZnJvbS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3Lm1hcC5vZi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3Lm1hcC50by1qc29uLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcubWF0aC5jbGFtcC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3Lm1hdGguZGVnLXBlci1yYWQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5tYXRoLmRlZ3JlZXMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5tYXRoLmZzY2FsZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3Lm1hdGguaWFkZGguanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5tYXRoLmltdWxoLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcubWF0aC5pc3ViaC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3Lm1hdGgucmFkLXBlci1kZWcuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5tYXRoLnJhZGlhbnMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5tYXRoLnNjYWxlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcubWF0aC5zaWduYml0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcubWF0aC51bXVsaC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3Lm9iamVjdC5kZWZpbmUtZ2V0dGVyLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcub2JqZWN0LmRlZmluZS1zZXR0ZXIuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5vYmplY3QuZW50cmllcy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3Lm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcub2JqZWN0Lmxvb2t1cC1nZXR0ZXIuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5vYmplY3QubG9va3VwLXNldHRlci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3Lm9iamVjdC52YWx1ZXMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5vYnNlcnZhYmxlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcucHJvbWlzZS5maW5hbGx5LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcucHJvbWlzZS50cnkuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5yZWZsZWN0LmRlZmluZS1tZXRhZGF0YS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnJlZmxlY3QuZGVsZXRlLW1ldGFkYXRhLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcucmVmbGVjdC5nZXQtbWV0YWRhdGEta2V5cy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnJlZmxlY3QuZ2V0LW1ldGFkYXRhLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcucmVmbGVjdC5nZXQtb3duLW1ldGFkYXRhLWtleXMuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5yZWZsZWN0LmdldC1vd24tbWV0YWRhdGEuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5yZWZsZWN0Lmhhcy1tZXRhZGF0YS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnJlZmxlY3QuaGFzLW93bi1tZXRhZGF0YS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnJlZmxlY3QubWV0YWRhdGEuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5zZXQuZnJvbS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnNldC5vZi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnNldC50by1qc29uLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcuc3RyaW5nLmF0LmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcuc3RyaW5nLm1hdGNoLWFsbC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnN0cmluZy5wYWQtZW5kLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcuc3RyaW5nLnBhZC1zdGFydC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnN0cmluZy50cmltLWxlZnQuanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5zdHJpbmcudHJpbS1yaWdodC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnN5bWJvbC5hc3luYy1pdGVyYXRvci5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnN5bWJvbC5vYnNlcnZhYmxlLmpzIiwibm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcuc3lzdGVtLmdsb2JhbC5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LndlYWstbWFwLmZyb20uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy53ZWFrLW1hcC5vZi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LndlYWstc2V0LmZyb20uanMiLCJub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy53ZWFrLXNldC5vZi5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvd2ViLmltbWVkaWF0ZS5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvd2ViLnRpbWVycy5qcyIsIm5vZGVfbW9kdWxlcy9jb3JlLWpzL3NoaW0uanMiLCJub2RlX21vZHVsZXMvcmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9hcGkvQm9pbGVycGxhdGVBcGkuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L2FwaS9DYWNoZUFwaS5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvYXBpL0NvbmZpZ0FwaS5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvYXBpL0ltYWdlQXBpLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9hcGkvTGFuZ3VhZ2VBcGkuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L2FwaS9TdHlsZUFwaS5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvYXBpL1VzZXJBcGkuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L2NvbnRyb2xsZXJzL0NyZWF0ZVN0eWxlTW9kYWwuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L2NvbnRyb2xsZXJzL0N1c3RvbVN0eWxlc01vZGFsLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9jb250cm9sbGVycy9EdXBsaWNhdGVTdHlsZU1vZGFsLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9jb250cm9sbGVycy9FZGl0U3R5bGVWaWV3LmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9jb250cm9sbGVycy9NeVN0eWxlc1ZpZXcuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L2NvbnRyb2xsZXJzL1ByZXZpZXdJbWFnZU1vZGFsLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9jb250cm9sbGVycy9VcGxvYWRJbWFnZU1vZGFsLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9jb250cm9sbGVycy9VcGxvYWRTdHlsZU1vZGFsLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9lbnRpdGllcy9Cb3hTZXR0aW5nLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9lbnRpdGllcy9Db2xsZWN0aW9uLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9lbnRpdGllcy9QcmV2aWV3VHlwZS5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvZW50aXRpZXMvU2V0dGluZy5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvZW50aXRpZXMvU3R5bGVDb25maWd1cmF0aW9uLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9saWJzL0Fib3V0LmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9saWJzL0FqYXguanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L2xpYnMvQ29uZmlnLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9saWJzL0RlYnVnLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9saWJzL0Vudmlyb25tZW50LmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9saWJzL0V2ZW50c0VtaXR0ZXIuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L2xpYnMvSnNvblBhcnNlci5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvbGlicy9MYW5ndWFnZS5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvbGlicy9Nb2RhbC5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvbGlicy9Sb3V0ZXIuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L2xpYnMvVXJsUGFyc2VyLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC9saWJzL1ZhbGlkYXRvci5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvbGlicy9XaWRnZXRDb252ZXJ0ZXIuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L21haW4uanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L3dpZGdldHMvQXBwRnJhbWUuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L3dpZGdldHMvQ29sb3JwaWNrZXIuanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L3dpZGdldHMvRmlsdGVyQm94LmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC93aWRnZXRzL0ZyYW1lVG9nZ2xlLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC93aWRnZXRzL0ltYWdlLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC93aWRnZXRzL1ByZXZpZXdSZXNpemVyLmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC93aWRnZXRzL1NlbGVjdEJveC5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvd2lkZ2V0cy9TdHlsZVVwbG9hZC5qcyIsInNyYy9TdHlsZUVkaXQzL2phdmFzY3JpcHQvd2lkZ2V0cy9Td2l0Y2guanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L3dpZGdldHMvVGVtcGxhdGVQcmV2aWV3LmpzIiwic3JjL1N0eWxlRWRpdDMvamF2YXNjcmlwdC93aWRnZXRzL1RleHRCb3guanMiLCJzcmMvU3R5bGVFZGl0My9qYXZhc2NyaXB0L3dpZGdldHMvVGl0bGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUMzQkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzVDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDcEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDM0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDaEdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDYkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDekJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ05BO0FBQ0E7QUFDQTtBQUNBOztBQ0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3RCQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBOztBQ0RBO0FBQ0E7O0FDREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDckRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ25EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN6Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ25CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7O0FDREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDakJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTs7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQy9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlCQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDcEZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDaGVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3BSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTs7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2xDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3RCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN2QkE7QUFDQTs7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ25CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDakJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNsSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7O0FDSEE7QUFDQTtBQUNBO0FBQ0E7O0FDSEE7QUFDQTtBQUNBO0FBQ0E7O0FDSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDL0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDakNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDM0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3hDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3RIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQy9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNwSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3BCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2xCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2xCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMzREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3JCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2xCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3ZNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDcEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ25CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDakJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNmQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUM5QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7O0FDREE7QUFDQTs7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0pBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDcEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUN0TUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QSxJQXhCRDs7QUEwQkE7QUFDQSxPQUFJLEtBQUssTUFBTCxDQUFZLE9BQVosT0FBMEIsSUFBOUIsRUFBb0M7QUFDbkMsUUFBTSxPQUFPLEtBQUssTUFBTCxDQUFZLE9BQVosR0FBc0IsSUFBdEIsQ0FBMkIsR0FBM0IsQ0FBYjtBQUNBLGFBQVMsT0FBVCxDQUFpQixhQUFqQixFQUFnQyxJQUFoQyxDQUFxQyxXQUFyQyxFQUFrRCxJQUFsRDtBQUNBO0FBQ0Q7O0FBRUQ7Ozs7Ozs7OzRCQUtVO0FBQ1QsT0FBTSxXQUFXLEVBQUUsdUJBQUYsRUFBMkIsSUFBM0IsRUFBakI7QUFDQSxVQUFPLFNBQVMsTUFBVCxDQUFnQixRQUFoQixFQUEwQixLQUFLLE1BQS9CLENBQVA7QUFDQTs7Ozs7O2tCQXJFbUIsTzs7O0FDakJyQjs7Ozs7Ozs7O0FBVUE7O0FBRUE7Ozs7Ozs7Ozs7Ozs7O0lBS3FCLEs7QUFDcEI7Ozs7O0FBS0EsZ0JBQVksTUFBWixFQUFvQjtBQUFBOztBQUNuQixZQUFVLFNBQVYsQ0FBb0IsUUFBcEIsQ0FBNkIsTUFBN0I7O0FBRUE7OztBQUdBLE9BQUssTUFBTCxHQUFjLE1BQWQ7QUFDQTs7QUFFRDs7Ozs7OzsrQkFHYSxDQUVaO0FBREE7OztBQUdEOzs7Ozs7Ozs0QkFLVTtBQUNULE9BQU0sV0FBVyxFQUFFLHdCQUFGLEVBQTRCLElBQTVCLEVBQWpCO0FBQ0EsT0FBTSxPQUFPO0FBQ1osV0FBTyxVQUFVLFFBQVYsQ0FBbUIsU0FBbkIsQ0FBNkIsS0FBSyxNQUFMLENBQVksT0FBWixFQUE3QixFQUFvRCxVQUFwRDtBQURLLElBQWI7QUFHQSxVQUFPLFNBQVMsTUFBVCxDQUFnQixRQUFoQixFQUEwQixJQUExQixDQUFQO0FBQ0E7Ozs7OztrQkFqQ21CLEsiLCJmaWxlIjoic3R5bGVfZWRpdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSxuLHQpe2Z1bmN0aW9uIG8oaSxmKXtpZighbltpXSl7aWYoIWVbaV0pe3ZhciBjPVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMoaSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK2krXCInXCIpO3Rocm93IGEuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixhfXZhciBwPW5baV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5baV0uZXhwb3J0c31mb3IodmFyIHU9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKyspbyh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkiLCJcInVzZSBzdHJpY3RcIjtcblxucmVxdWlyZShcImNvcmUtanMvc2hpbVwiKTtcblxucmVxdWlyZShcInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZVwiKTtcblxucmVxdWlyZShcImNvcmUtanMvZm4vcmVnZXhwL2VzY2FwZVwiKTtcblxuaWYgKGdsb2JhbC5fYmFiZWxQb2x5ZmlsbCkge1xuICB0aHJvdyBuZXcgRXJyb3IoXCJvbmx5IG9uZSBpbnN0YW5jZSBvZiBiYWJlbC1wb2x5ZmlsbCBpcyBhbGxvd2VkXCIpO1xufVxuZ2xvYmFsLl9iYWJlbFBvbHlmaWxsID0gdHJ1ZTtcblxudmFyIERFRklORV9QUk9QRVJUWSA9IFwiZGVmaW5lUHJvcGVydHlcIjtcbmZ1bmN0aW9uIGRlZmluZShPLCBrZXksIHZhbHVlKSB7XG4gIE9ba2V5XSB8fCBPYmplY3RbREVGSU5FX1BST1BFUlRZXShPLCBrZXksIHtcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgdmFsdWU6IHZhbHVlXG4gIH0pO1xufVxuXG5kZWZpbmUoU3RyaW5nLnByb3RvdHlwZSwgXCJwYWRMZWZ0XCIsIFwiXCIucGFkU3RhcnQpO1xuZGVmaW5lKFN0cmluZy5wcm90b3R5cGUsIFwicGFkUmlnaHRcIiwgXCJcIi5wYWRFbmQpO1xuXG5cInBvcCxyZXZlcnNlLHNoaWZ0LGtleXMsdmFsdWVzLGVudHJpZXMsaW5kZXhPZixldmVyeSxzb21lLGZvckVhY2gsbWFwLGZpbHRlcixmaW5kLGZpbmRJbmRleCxpbmNsdWRlcyxqb2luLHNsaWNlLGNvbmNhdCxwdXNoLHNwbGljZSx1bnNoaWZ0LHNvcnQsbGFzdEluZGV4T2YscmVkdWNlLHJlZHVjZVJpZ2h0LGNvcHlXaXRoaW4sZmlsbFwiLnNwbGl0KFwiLFwiKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgW11ba2V5XSAmJiBkZWZpbmUoQXJyYXksIGtleSwgRnVuY3Rpb24uY2FsbC5iaW5kKFtdW2tleV0pKTtcbn0pOyIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvY29yZS5yZWdleHAuZXNjYXBlJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5SZWdFeHAuZXNjYXBlO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKHR5cGVvZiBpdCAhPSAnZnVuY3Rpb24nKSB0aHJvdyBUeXBlRXJyb3IoaXQgKyAnIGlzIG5vdCBhIGZ1bmN0aW9uIScpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwidmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIG1zZykge1xuICBpZiAodHlwZW9mIGl0ICE9ICdudW1iZXInICYmIGNvZihpdCkgIT0gJ051bWJlcicpIHRocm93IFR5cGVFcnJvcihtc2cpO1xuICByZXR1cm4gK2l0O1xufTtcbiIsIi8vIDIyLjEuMy4zMSBBcnJheS5wcm90b3R5cGVbQEB1bnNjb3BhYmxlc11cbnZhciBVTlNDT1BBQkxFUyA9IHJlcXVpcmUoJy4vX3drcycpKCd1bnNjb3BhYmxlcycpO1xudmFyIEFycmF5UHJvdG8gPSBBcnJheS5wcm90b3R5cGU7XG5pZiAoQXJyYXlQcm90b1tVTlNDT1BBQkxFU10gPT0gdW5kZWZpbmVkKSByZXF1aXJlKCcuL19oaWRlJykoQXJyYXlQcm90bywgVU5TQ09QQUJMRVMsIHt9KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICBBcnJheVByb3RvW1VOU0NPUEFCTEVTXVtrZXldID0gdHJ1ZTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgYXQgPSByZXF1aXJlKCcuL19zdHJpbmctYXQnKSh0cnVlKTtcblxuIC8vIGBBZHZhbmNlU3RyaW5nSW5kZXhgIGFic3RyYWN0IG9wZXJhdGlvblxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtYWR2YW5jZXN0cmluZ2luZGV4XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChTLCBpbmRleCwgdW5pY29kZSkge1xuICByZXR1cm4gaW5kZXggKyAodW5pY29kZSA/IGF0KFMsIGluZGV4KS5sZW5ndGggOiAxKTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgQ29uc3RydWN0b3IsIG5hbWUsIGZvcmJpZGRlbkZpZWxkKSB7XG4gIGlmICghKGl0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpIHx8IChmb3JiaWRkZW5GaWVsZCAhPT0gdW5kZWZpbmVkICYmIGZvcmJpZGRlbkZpZWxkIGluIGl0KSkge1xuICAgIHRocm93IFR5cGVFcnJvcihuYW1lICsgJzogaW5jb3JyZWN0IGludm9jYXRpb24hJyk7XG4gIH0gcmV0dXJuIGl0O1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGFuIG9iamVjdCEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbiIsIi8vIDIyLjEuMy4zIEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluKHRhcmdldCwgc3RhcnQsIGVuZCA9IHRoaXMubGVuZ3RoKVxuJ3VzZSBzdHJpY3QnO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgdG9BYnNvbHV0ZUluZGV4ID0gcmVxdWlyZSgnLi9fdG8tYWJzb2x1dGUtaW5kZXgnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFtdLmNvcHlXaXRoaW4gfHwgZnVuY3Rpb24gY29weVdpdGhpbih0YXJnZXQgLyogPSAwICovLCBzdGFydCAvKiA9IDAsIGVuZCA9IEBsZW5ndGggKi8pIHtcbiAgdmFyIE8gPSB0b09iamVjdCh0aGlzKTtcbiAgdmFyIGxlbiA9IHRvTGVuZ3RoKE8ubGVuZ3RoKTtcbiAgdmFyIHRvID0gdG9BYnNvbHV0ZUluZGV4KHRhcmdldCwgbGVuKTtcbiAgdmFyIGZyb20gPSB0b0Fic29sdXRlSW5kZXgoc3RhcnQsIGxlbik7XG4gIHZhciBlbmQgPSBhcmd1bWVudHMubGVuZ3RoID4gMiA/IGFyZ3VtZW50c1syXSA6IHVuZGVmaW5lZDtcbiAgdmFyIGNvdW50ID0gTWF0aC5taW4oKGVuZCA9PT0gdW5kZWZpbmVkID8gbGVuIDogdG9BYnNvbHV0ZUluZGV4KGVuZCwgbGVuKSkgLSBmcm9tLCBsZW4gLSB0byk7XG4gIHZhciBpbmMgPSAxO1xuICBpZiAoZnJvbSA8IHRvICYmIHRvIDwgZnJvbSArIGNvdW50KSB7XG4gICAgaW5jID0gLTE7XG4gICAgZnJvbSArPSBjb3VudCAtIDE7XG4gICAgdG8gKz0gY291bnQgLSAxO1xuICB9XG4gIHdoaWxlIChjb3VudC0tID4gMCkge1xuICAgIGlmIChmcm9tIGluIE8pIE9bdG9dID0gT1tmcm9tXTtcbiAgICBlbHNlIGRlbGV0ZSBPW3RvXTtcbiAgICB0byArPSBpbmM7XG4gICAgZnJvbSArPSBpbmM7XG4gIH0gcmV0dXJuIE87XG59O1xuIiwiLy8gMjIuMS4zLjYgQXJyYXkucHJvdG90eXBlLmZpbGwodmFsdWUsIHN0YXJ0ID0gMCwgZW5kID0gdGhpcy5sZW5ndGgpXG4ndXNlIHN0cmljdCc7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGZpbGwodmFsdWUgLyogLCBzdGFydCA9IDAsIGVuZCA9IEBsZW5ndGggKi8pIHtcbiAgdmFyIE8gPSB0b09iamVjdCh0aGlzKTtcbiAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKE8ubGVuZ3RoKTtcbiAgdmFyIGFMZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICB2YXIgaW5kZXggPSB0b0Fic29sdXRlSW5kZXgoYUxlbiA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQsIGxlbmd0aCk7XG4gIHZhciBlbmQgPSBhTGVuID4gMiA/IGFyZ3VtZW50c1syXSA6IHVuZGVmaW5lZDtcbiAgdmFyIGVuZFBvcyA9IGVuZCA9PT0gdW5kZWZpbmVkID8gbGVuZ3RoIDogdG9BYnNvbHV0ZUluZGV4KGVuZCwgbGVuZ3RoKTtcbiAgd2hpbGUgKGVuZFBvcyA+IGluZGV4KSBPW2luZGV4KytdID0gdmFsdWU7XG4gIHJldHVybiBPO1xufTtcbiIsInZhciBmb3JPZiA9IHJlcXVpcmUoJy4vX2Zvci1vZicpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdGVyLCBJVEVSQVRPUikge1xuICB2YXIgcmVzdWx0ID0gW107XG4gIGZvck9mKGl0ZXIsIGZhbHNlLCByZXN1bHQucHVzaCwgcmVzdWx0LCBJVEVSQVRPUik7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuIiwiLy8gZmFsc2UgLT4gQXJyYXkjaW5kZXhPZlxuLy8gdHJ1ZSAgLT4gQXJyYXkjaW5jbHVkZXNcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoSVNfSU5DTFVERVMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgZWwsIGZyb21JbmRleCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IHRvQWJzb2x1dGVJbmRleChmcm9tSW5kZXgsIGxlbmd0aCk7XG4gICAgdmFyIHZhbHVlO1xuICAgIC8vIEFycmF5I2luY2x1ZGVzIHVzZXMgU2FtZVZhbHVlWmVybyBlcXVhbGl0eSBhbGdvcml0aG1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgaWYgKElTX0lOQ0xVREVTICYmIGVsICE9IGVsKSB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHtcbiAgICAgIHZhbHVlID0gT1tpbmRleCsrXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkgcmV0dXJuIHRydWU7XG4gICAgLy8gQXJyYXkjaW5kZXhPZiBpZ25vcmVzIGhvbGVzLCBBcnJheSNpbmNsdWRlcyAtIG5vdFxuICAgIH0gZWxzZSBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pIHtcbiAgICAgIGlmIChPW2luZGV4XSA9PT0gZWwpIHJldHVybiBJU19JTkNMVURFUyB8fCBpbmRleCB8fCAwO1xuICAgIH0gcmV0dXJuICFJU19JTkNMVURFUyAmJiAtMTtcbiAgfTtcbn07XG4iLCIvLyAwIC0+IEFycmF5I2ZvckVhY2hcbi8vIDEgLT4gQXJyYXkjbWFwXG4vLyAyIC0+IEFycmF5I2ZpbHRlclxuLy8gMyAtPiBBcnJheSNzb21lXG4vLyA0IC0+IEFycmF5I2V2ZXJ5XG4vLyA1IC0+IEFycmF5I2ZpbmRcbi8vIDYgLT4gQXJyYXkjZmluZEluZGV4XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgYXNjID0gcmVxdWlyZSgnLi9fYXJyYXktc3BlY2llcy1jcmVhdGUnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFRZUEUsICRjcmVhdGUpIHtcbiAgdmFyIElTX01BUCA9IFRZUEUgPT0gMTtcbiAgdmFyIElTX0ZJTFRFUiA9IFRZUEUgPT0gMjtcbiAgdmFyIElTX1NPTUUgPSBUWVBFID09IDM7XG4gIHZhciBJU19FVkVSWSA9IFRZUEUgPT0gNDtcbiAgdmFyIElTX0ZJTkRfSU5ERVggPSBUWVBFID09IDY7XG4gIHZhciBOT19IT0xFUyA9IFRZUEUgPT0gNSB8fCBJU19GSU5EX0lOREVYO1xuICB2YXIgY3JlYXRlID0gJGNyZWF0ZSB8fCBhc2M7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIGNhbGxiYWNrZm4sIHRoYXQpIHtcbiAgICB2YXIgTyA9IHRvT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgc2VsZiA9IElPYmplY3QoTyk7XG4gICAgdmFyIGYgPSBjdHgoY2FsbGJhY2tmbiwgdGhhdCwgMyk7XG4gICAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKHNlbGYubGVuZ3RoKTtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciByZXN1bHQgPSBJU19NQVAgPyBjcmVhdGUoJHRoaXMsIGxlbmd0aCkgOiBJU19GSUxURVIgPyBjcmVhdGUoJHRoaXMsIDApIDogdW5kZWZpbmVkO1xuICAgIHZhciB2YWwsIHJlcztcbiAgICBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKE5PX0hPTEVTIHx8IGluZGV4IGluIHNlbGYpIHtcbiAgICAgIHZhbCA9IHNlbGZbaW5kZXhdO1xuICAgICAgcmVzID0gZih2YWwsIGluZGV4LCBPKTtcbiAgICAgIGlmIChUWVBFKSB7XG4gICAgICAgIGlmIChJU19NQVApIHJlc3VsdFtpbmRleF0gPSByZXM7ICAgLy8gbWFwXG4gICAgICAgIGVsc2UgaWYgKHJlcykgc3dpdGNoIChUWVBFKSB7XG4gICAgICAgICAgY2FzZSAzOiByZXR1cm4gdHJ1ZTsgICAgICAgICAgICAgLy8gc29tZVxuICAgICAgICAgIGNhc2UgNTogcmV0dXJuIHZhbDsgICAgICAgICAgICAgIC8vIGZpbmRcbiAgICAgICAgICBjYXNlIDY6IHJldHVybiBpbmRleDsgICAgICAgICAgICAvLyBmaW5kSW5kZXhcbiAgICAgICAgICBjYXNlIDI6IHJlc3VsdC5wdXNoKHZhbCk7ICAgICAgICAvLyBmaWx0ZXJcbiAgICAgICAgfSBlbHNlIGlmIChJU19FVkVSWSkgcmV0dXJuIGZhbHNlOyAvLyBldmVyeVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gSVNfRklORF9JTkRFWCA/IC0xIDogSVNfU09NRSB8fCBJU19FVkVSWSA/IElTX0VWRVJZIDogcmVzdWx0O1xuICB9O1xufTtcbiIsInZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciBJT2JqZWN0ID0gcmVxdWlyZSgnLi9faW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHRoYXQsIGNhbGxiYWNrZm4sIGFMZW4sIG1lbW8sIGlzUmlnaHQpIHtcbiAgYUZ1bmN0aW9uKGNhbGxiYWNrZm4pO1xuICB2YXIgTyA9IHRvT2JqZWN0KHRoYXQpO1xuICB2YXIgc2VsZiA9IElPYmplY3QoTyk7XG4gIHZhciBsZW5ndGggPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gIHZhciBpbmRleCA9IGlzUmlnaHQgPyBsZW5ndGggLSAxIDogMDtcbiAgdmFyIGkgPSBpc1JpZ2h0ID8gLTEgOiAxO1xuICBpZiAoYUxlbiA8IDIpIGZvciAoOzspIHtcbiAgICBpZiAoaW5kZXggaW4gc2VsZikge1xuICAgICAgbWVtbyA9IHNlbGZbaW5kZXhdO1xuICAgICAgaW5kZXggKz0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpbmRleCArPSBpO1xuICAgIGlmIChpc1JpZ2h0ID8gaW5kZXggPCAwIDogbGVuZ3RoIDw9IGluZGV4KSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ1JlZHVjZSBvZiBlbXB0eSBhcnJheSB3aXRoIG5vIGluaXRpYWwgdmFsdWUnKTtcbiAgICB9XG4gIH1cbiAgZm9yICg7aXNSaWdodCA/IGluZGV4ID49IDAgOiBsZW5ndGggPiBpbmRleDsgaW5kZXggKz0gaSkgaWYgKGluZGV4IGluIHNlbGYpIHtcbiAgICBtZW1vID0gY2FsbGJhY2tmbihtZW1vLCBzZWxmW2luZGV4XSwgaW5kZXgsIE8pO1xuICB9XG4gIHJldHVybiBtZW1vO1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGlzQXJyYXkgPSByZXF1aXJlKCcuL19pcy1hcnJheScpO1xudmFyIFNQRUNJRVMgPSByZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcmlnaW5hbCkge1xuICB2YXIgQztcbiAgaWYgKGlzQXJyYXkob3JpZ2luYWwpKSB7XG4gICAgQyA9IG9yaWdpbmFsLmNvbnN0cnVjdG9yO1xuICAgIC8vIGNyb3NzLXJlYWxtIGZhbGxiYWNrXG4gICAgaWYgKHR5cGVvZiBDID09ICdmdW5jdGlvbicgJiYgKEMgPT09IEFycmF5IHx8IGlzQXJyYXkoQy5wcm90b3R5cGUpKSkgQyA9IHVuZGVmaW5lZDtcbiAgICBpZiAoaXNPYmplY3QoQykpIHtcbiAgICAgIEMgPSBDW1NQRUNJRVNdO1xuICAgICAgaWYgKEMgPT09IG51bGwpIEMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9IHJldHVybiBDID09PSB1bmRlZmluZWQgPyBBcnJheSA6IEM7XG59O1xuIiwiLy8gOS40LjIuMyBBcnJheVNwZWNpZXNDcmVhdGUob3JpZ2luYWxBcnJheSwgbGVuZ3RoKVxudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX2FycmF5LXNwZWNpZXMtY29uc3RydWN0b3InKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3JpZ2luYWwsIGxlbmd0aCkge1xuICByZXR1cm4gbmV3IChzcGVjaWVzQ29uc3RydWN0b3Iob3JpZ2luYWwpKShsZW5ndGgpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBpbnZva2UgPSByZXF1aXJlKCcuL19pbnZva2UnKTtcbnZhciBhcnJheVNsaWNlID0gW10uc2xpY2U7XG52YXIgZmFjdG9yaWVzID0ge307XG5cbnZhciBjb25zdHJ1Y3QgPSBmdW5jdGlvbiAoRiwgbGVuLCBhcmdzKSB7XG4gIGlmICghKGxlbiBpbiBmYWN0b3JpZXMpKSB7XG4gICAgZm9yICh2YXIgbiA9IFtdLCBpID0gMDsgaSA8IGxlbjsgaSsrKSBuW2ldID0gJ2FbJyArIGkgKyAnXSc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXG4gICAgZmFjdG9yaWVzW2xlbl0gPSBGdW5jdGlvbignRixhJywgJ3JldHVybiBuZXcgRignICsgbi5qb2luKCcsJykgKyAnKScpO1xuICB9IHJldHVybiBmYWN0b3JpZXNbbGVuXShGLCBhcmdzKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gRnVuY3Rpb24uYmluZCB8fCBmdW5jdGlvbiBiaW5kKHRoYXQgLyogLCAuLi5hcmdzICovKSB7XG4gIHZhciBmbiA9IGFGdW5jdGlvbih0aGlzKTtcbiAgdmFyIHBhcnRBcmdzID0gYXJyYXlTbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7XG4gIHZhciBib3VuZCA9IGZ1bmN0aW9uICgvKiBhcmdzLi4uICovKSB7XG4gICAgdmFyIGFyZ3MgPSBwYXJ0QXJncy5jb25jYXQoYXJyYXlTbGljZS5jYWxsKGFyZ3VtZW50cykpO1xuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgYm91bmQgPyBjb25zdHJ1Y3QoZm4sIGFyZ3MubGVuZ3RoLCBhcmdzKSA6IGludm9rZShmbiwgYXJncywgdGhhdCk7XG4gIH07XG4gIGlmIChpc09iamVjdChmbi5wcm90b3R5cGUpKSBib3VuZC5wcm90b3R5cGUgPSBmbi5wcm90b3R5cGU7XG4gIHJldHVybiBib3VuZDtcbn07XG4iLCIvLyBnZXR0aW5nIHRhZyBmcm9tIDE5LjEuMy42IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKVxudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xudmFyIFRBRyA9IHJlcXVpcmUoJy4vX3drcycpKCd0b1N0cmluZ1RhZycpO1xuLy8gRVMzIHdyb25nIGhlcmVcbnZhciBBUkcgPSBjb2YoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpID09ICdBcmd1bWVudHMnO1xuXG4vLyBmYWxsYmFjayBmb3IgSUUxMSBTY3JpcHQgQWNjZXNzIERlbmllZCBlcnJvclxudmFyIHRyeUdldCA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGl0W2tleV07XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIE8sIFQsIEI7XG4gIHJldHVybiBpdCA9PT0gdW5kZWZpbmVkID8gJ1VuZGVmaW5lZCcgOiBpdCA9PT0gbnVsbCA/ICdOdWxsJ1xuICAgIC8vIEBAdG9TdHJpbmdUYWcgY2FzZVxuICAgIDogdHlwZW9mIChUID0gdHJ5R2V0KE8gPSBPYmplY3QoaXQpLCBUQUcpKSA9PSAnc3RyaW5nJyA/IFRcbiAgICAvLyBidWlsdGluVGFnIGNhc2VcbiAgICA6IEFSRyA/IGNvZihPKVxuICAgIC8vIEVTMyBhcmd1bWVudHMgZmFsbGJhY2tcbiAgICA6IChCID0gY29mKE8pKSA9PSAnT2JqZWN0JyAmJiB0eXBlb2YgTy5jYWxsZWUgPT0gJ2Z1bmN0aW9uJyA/ICdBcmd1bWVudHMnIDogQjtcbn07XG4iLCJ2YXIgdG9TdHJpbmcgPSB7fS50b1N0cmluZztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwoaXQpLnNsaWNlKDgsIC0xKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xudmFyIGNyZWF0ZSA9IHJlcXVpcmUoJy4vX29iamVjdC1jcmVhdGUnKTtcbnZhciByZWRlZmluZUFsbCA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lLWFsbCcpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIGFuSW5zdGFuY2UgPSByZXF1aXJlKCcuL19hbi1pbnN0YW5jZScpO1xudmFyIGZvck9mID0gcmVxdWlyZSgnLi9fZm9yLW9mJyk7XG52YXIgJGl0ZXJEZWZpbmUgPSByZXF1aXJlKCcuL19pdGVyLWRlZmluZScpO1xudmFyIHN0ZXAgPSByZXF1aXJlKCcuL19pdGVyLXN0ZXAnKTtcbnZhciBzZXRTcGVjaWVzID0gcmVxdWlyZSgnLi9fc2V0LXNwZWNpZXMnKTtcbnZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJyk7XG52YXIgZmFzdEtleSA9IHJlcXVpcmUoJy4vX21ldGEnKS5mYXN0S2V5O1xudmFyIHZhbGlkYXRlID0gcmVxdWlyZSgnLi9fdmFsaWRhdGUtY29sbGVjdGlvbicpO1xudmFyIFNJWkUgPSBERVNDUklQVE9SUyA/ICdfcycgOiAnc2l6ZSc7XG5cbnZhciBnZXRFbnRyeSA9IGZ1bmN0aW9uICh0aGF0LCBrZXkpIHtcbiAgLy8gZmFzdCBjYXNlXG4gIHZhciBpbmRleCA9IGZhc3RLZXkoa2V5KTtcbiAgdmFyIGVudHJ5O1xuICBpZiAoaW5kZXggIT09ICdGJykgcmV0dXJuIHRoYXQuX2lbaW5kZXhdO1xuICAvLyBmcm96ZW4gb2JqZWN0IGNhc2VcbiAgZm9yIChlbnRyeSA9IHRoYXQuX2Y7IGVudHJ5OyBlbnRyeSA9IGVudHJ5Lm4pIHtcbiAgICBpZiAoZW50cnkuayA9PSBrZXkpIHJldHVybiBlbnRyeTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGdldENvbnN0cnVjdG9yOiBmdW5jdGlvbiAod3JhcHBlciwgTkFNRSwgSVNfTUFQLCBBRERFUikge1xuICAgIHZhciBDID0gd3JhcHBlcihmdW5jdGlvbiAodGhhdCwgaXRlcmFibGUpIHtcbiAgICAgIGFuSW5zdGFuY2UodGhhdCwgQywgTkFNRSwgJ19pJyk7XG4gICAgICB0aGF0Ll90ID0gTkFNRTsgICAgICAgICAvLyBjb2xsZWN0aW9uIHR5cGVcbiAgICAgIHRoYXQuX2kgPSBjcmVhdGUobnVsbCk7IC8vIGluZGV4XG4gICAgICB0aGF0Ll9mID0gdW5kZWZpbmVkOyAgICAvLyBmaXJzdCBlbnRyeVxuICAgICAgdGhhdC5fbCA9IHVuZGVmaW5lZDsgICAgLy8gbGFzdCBlbnRyeVxuICAgICAgdGhhdFtTSVpFXSA9IDA7ICAgICAgICAgLy8gc2l6ZVxuICAgICAgaWYgKGl0ZXJhYmxlICE9IHVuZGVmaW5lZCkgZm9yT2YoaXRlcmFibGUsIElTX01BUCwgdGhhdFtBRERFUl0sIHRoYXQpO1xuICAgIH0pO1xuICAgIHJlZGVmaW5lQWxsKEMucHJvdG90eXBlLCB7XG4gICAgICAvLyAyMy4xLjMuMSBNYXAucHJvdG90eXBlLmNsZWFyKClcbiAgICAgIC8vIDIzLjIuMy4yIFNldC5wcm90b3R5cGUuY2xlYXIoKVxuICAgICAgY2xlYXI6IGZ1bmN0aW9uIGNsZWFyKCkge1xuICAgICAgICBmb3IgKHZhciB0aGF0ID0gdmFsaWRhdGUodGhpcywgTkFNRSksIGRhdGEgPSB0aGF0Ll9pLCBlbnRyeSA9IHRoYXQuX2Y7IGVudHJ5OyBlbnRyeSA9IGVudHJ5Lm4pIHtcbiAgICAgICAgICBlbnRyeS5yID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoZW50cnkucCkgZW50cnkucCA9IGVudHJ5LnAubiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBkZWxldGUgZGF0YVtlbnRyeS5pXTtcbiAgICAgICAgfVxuICAgICAgICB0aGF0Ll9mID0gdGhhdC5fbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhhdFtTSVpFXSA9IDA7XG4gICAgICB9LFxuICAgICAgLy8gMjMuMS4zLjMgTWFwLnByb3RvdHlwZS5kZWxldGUoa2V5KVxuICAgICAgLy8gMjMuMi4zLjQgU2V0LnByb3RvdHlwZS5kZWxldGUodmFsdWUpXG4gICAgICAnZGVsZXRlJzogZnVuY3Rpb24gKGtleSkge1xuICAgICAgICB2YXIgdGhhdCA9IHZhbGlkYXRlKHRoaXMsIE5BTUUpO1xuICAgICAgICB2YXIgZW50cnkgPSBnZXRFbnRyeSh0aGF0LCBrZXkpO1xuICAgICAgICBpZiAoZW50cnkpIHtcbiAgICAgICAgICB2YXIgbmV4dCA9IGVudHJ5Lm47XG4gICAgICAgICAgdmFyIHByZXYgPSBlbnRyeS5wO1xuICAgICAgICAgIGRlbGV0ZSB0aGF0Ll9pW2VudHJ5LmldO1xuICAgICAgICAgIGVudHJ5LnIgPSB0cnVlO1xuICAgICAgICAgIGlmIChwcmV2KSBwcmV2Lm4gPSBuZXh0O1xuICAgICAgICAgIGlmIChuZXh0KSBuZXh0LnAgPSBwcmV2O1xuICAgICAgICAgIGlmICh0aGF0Ll9mID09IGVudHJ5KSB0aGF0Ll9mID0gbmV4dDtcbiAgICAgICAgICBpZiAodGhhdC5fbCA9PSBlbnRyeSkgdGhhdC5fbCA9IHByZXY7XG4gICAgICAgICAgdGhhdFtTSVpFXS0tO1xuICAgICAgICB9IHJldHVybiAhIWVudHJ5O1xuICAgICAgfSxcbiAgICAgIC8vIDIzLjIuMy42IFNldC5wcm90b3R5cGUuZm9yRWFjaChjYWxsYmFja2ZuLCB0aGlzQXJnID0gdW5kZWZpbmVkKVxuICAgICAgLy8gMjMuMS4zLjUgTWFwLnByb3RvdHlwZS5mb3JFYWNoKGNhbGxiYWNrZm4sIHRoaXNBcmcgPSB1bmRlZmluZWQpXG4gICAgICBmb3JFYWNoOiBmdW5jdGlvbiBmb3JFYWNoKGNhbGxiYWNrZm4gLyogLCB0aGF0ID0gdW5kZWZpbmVkICovKSB7XG4gICAgICAgIHZhbGlkYXRlKHRoaXMsIE5BTUUpO1xuICAgICAgICB2YXIgZiA9IGN0eChjYWxsYmFja2ZuLCBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCwgMyk7XG4gICAgICAgIHZhciBlbnRyeTtcbiAgICAgICAgd2hpbGUgKGVudHJ5ID0gZW50cnkgPyBlbnRyeS5uIDogdGhpcy5fZikge1xuICAgICAgICAgIGYoZW50cnkudiwgZW50cnkuaywgdGhpcyk7XG4gICAgICAgICAgLy8gcmV2ZXJ0IHRvIHRoZSBsYXN0IGV4aXN0aW5nIGVudHJ5XG4gICAgICAgICAgd2hpbGUgKGVudHJ5ICYmIGVudHJ5LnIpIGVudHJ5ID0gZW50cnkucDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIDIzLjEuMy43IE1hcC5wcm90b3R5cGUuaGFzKGtleSlcbiAgICAgIC8vIDIzLjIuMy43IFNldC5wcm90b3R5cGUuaGFzKHZhbHVlKVxuICAgICAgaGFzOiBmdW5jdGlvbiBoYXMoa2V5KSB7XG4gICAgICAgIHJldHVybiAhIWdldEVudHJ5KHZhbGlkYXRlKHRoaXMsIE5BTUUpLCBrZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChERVNDUklQVE9SUykgZFAoQy5wcm90b3R5cGUsICdzaXplJywge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZSh0aGlzLCBOQU1FKVtTSVpFXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQztcbiAgfSxcbiAgZGVmOiBmdW5jdGlvbiAodGhhdCwga2V5LCB2YWx1ZSkge1xuICAgIHZhciBlbnRyeSA9IGdldEVudHJ5KHRoYXQsIGtleSk7XG4gICAgdmFyIHByZXYsIGluZGV4O1xuICAgIC8vIGNoYW5nZSBleGlzdGluZyBlbnRyeVxuICAgIGlmIChlbnRyeSkge1xuICAgICAgZW50cnkudiA9IHZhbHVlO1xuICAgIC8vIGNyZWF0ZSBuZXcgZW50cnlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhhdC5fbCA9IGVudHJ5ID0ge1xuICAgICAgICBpOiBpbmRleCA9IGZhc3RLZXkoa2V5LCB0cnVlKSwgLy8gPC0gaW5kZXhcbiAgICAgICAgazoga2V5LCAgICAgICAgICAgICAgICAgICAgICAgIC8vIDwtIGtleVxuICAgICAgICB2OiB2YWx1ZSwgICAgICAgICAgICAgICAgICAgICAgLy8gPC0gdmFsdWVcbiAgICAgICAgcDogcHJldiA9IHRoYXQuX2wsICAgICAgICAgICAgIC8vIDwtIHByZXZpb3VzIGVudHJ5XG4gICAgICAgIG46IHVuZGVmaW5lZCwgICAgICAgICAgICAgICAgICAvLyA8LSBuZXh0IGVudHJ5XG4gICAgICAgIHI6IGZhbHNlICAgICAgICAgICAgICAgICAgICAgICAvLyA8LSByZW1vdmVkXG4gICAgICB9O1xuICAgICAgaWYgKCF0aGF0Ll9mKSB0aGF0Ll9mID0gZW50cnk7XG4gICAgICBpZiAocHJldikgcHJldi5uID0gZW50cnk7XG4gICAgICB0aGF0W1NJWkVdKys7XG4gICAgICAvLyBhZGQgdG8gaW5kZXhcbiAgICAgIGlmIChpbmRleCAhPT0gJ0YnKSB0aGF0Ll9pW2luZGV4XSA9IGVudHJ5O1xuICAgIH0gcmV0dXJuIHRoYXQ7XG4gIH0sXG4gIGdldEVudHJ5OiBnZXRFbnRyeSxcbiAgc2V0U3Ryb25nOiBmdW5jdGlvbiAoQywgTkFNRSwgSVNfTUFQKSB7XG4gICAgLy8gYWRkIC5rZXlzLCAudmFsdWVzLCAuZW50cmllcywgW0BAaXRlcmF0b3JdXG4gICAgLy8gMjMuMS4zLjQsIDIzLjEuMy44LCAyMy4xLjMuMTEsIDIzLjEuMy4xMiwgMjMuMi4zLjUsIDIzLjIuMy44LCAyMy4yLjMuMTAsIDIzLjIuMy4xMVxuICAgICRpdGVyRGVmaW5lKEMsIE5BTUUsIGZ1bmN0aW9uIChpdGVyYXRlZCwga2luZCkge1xuICAgICAgdGhpcy5fdCA9IHZhbGlkYXRlKGl0ZXJhdGVkLCBOQU1FKTsgLy8gdGFyZ2V0XG4gICAgICB0aGlzLl9rID0ga2luZDsgICAgICAgICAgICAgICAgICAgICAvLyBraW5kXG4gICAgICB0aGlzLl9sID0gdW5kZWZpbmVkOyAgICAgICAgICAgICAgICAvLyBwcmV2aW91c1xuICAgIH0sIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICAgIHZhciBraW5kID0gdGhhdC5faztcbiAgICAgIHZhciBlbnRyeSA9IHRoYXQuX2w7XG4gICAgICAvLyByZXZlcnQgdG8gdGhlIGxhc3QgZXhpc3RpbmcgZW50cnlcbiAgICAgIHdoaWxlIChlbnRyeSAmJiBlbnRyeS5yKSBlbnRyeSA9IGVudHJ5LnA7XG4gICAgICAvLyBnZXQgbmV4dCBlbnRyeVxuICAgICAgaWYgKCF0aGF0Ll90IHx8ICEodGhhdC5fbCA9IGVudHJ5ID0gZW50cnkgPyBlbnRyeS5uIDogdGhhdC5fdC5fZikpIHtcbiAgICAgICAgLy8gb3IgZmluaXNoIHRoZSBpdGVyYXRpb25cbiAgICAgICAgdGhhdC5fdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHN0ZXAoMSk7XG4gICAgICB9XG4gICAgICAvLyByZXR1cm4gc3RlcCBieSBraW5kXG4gICAgICBpZiAoa2luZCA9PSAna2V5cycpIHJldHVybiBzdGVwKDAsIGVudHJ5LmspO1xuICAgICAgaWYgKGtpbmQgPT0gJ3ZhbHVlcycpIHJldHVybiBzdGVwKDAsIGVudHJ5LnYpO1xuICAgICAgcmV0dXJuIHN0ZXAoMCwgW2VudHJ5LmssIGVudHJ5LnZdKTtcbiAgICB9LCBJU19NQVAgPyAnZW50cmllcycgOiAndmFsdWVzJywgIUlTX01BUCwgdHJ1ZSk7XG5cbiAgICAvLyBhZGQgW0BAc3BlY2llc10sIDIzLjEuMi4yLCAyMy4yLjIuMlxuICAgIHNldFNwZWNpZXMoTkFNRSk7XG4gIH1cbn07XG4iLCIvLyBodHRwczovL2dpdGh1Yi5jb20vRGF2aWRCcnVhbnQvTWFwLVNldC5wcm90b3R5cGUudG9KU09OXG52YXIgY2xhc3NvZiA9IHJlcXVpcmUoJy4vX2NsYXNzb2YnKTtcbnZhciBmcm9tID0gcmVxdWlyZSgnLi9fYXJyYXktZnJvbS1pdGVyYWJsZScpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoTkFNRSkge1xuICByZXR1cm4gZnVuY3Rpb24gdG9KU09OKCkge1xuICAgIGlmIChjbGFzc29mKHRoaXMpICE9IE5BTUUpIHRocm93IFR5cGVFcnJvcihOQU1FICsgXCIjdG9KU09OIGlzbid0IGdlbmVyaWNcIik7XG4gICAgcmV0dXJuIGZyb20odGhpcyk7XG4gIH07XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIHJlZGVmaW5lQWxsID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUtYWxsJyk7XG52YXIgZ2V0V2VhayA9IHJlcXVpcmUoJy4vX21ldGEnKS5nZXRXZWFrO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi9fYW4taW5zdGFuY2UnKTtcbnZhciBmb3JPZiA9IHJlcXVpcmUoJy4vX2Zvci1vZicpO1xudmFyIGNyZWF0ZUFycmF5TWV0aG9kID0gcmVxdWlyZSgnLi9fYXJyYXktbWV0aG9kcycpO1xudmFyICRoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciB2YWxpZGF0ZSA9IHJlcXVpcmUoJy4vX3ZhbGlkYXRlLWNvbGxlY3Rpb24nKTtcbnZhciBhcnJheUZpbmQgPSBjcmVhdGVBcnJheU1ldGhvZCg1KTtcbnZhciBhcnJheUZpbmRJbmRleCA9IGNyZWF0ZUFycmF5TWV0aG9kKDYpO1xudmFyIGlkID0gMDtcblxuLy8gZmFsbGJhY2sgZm9yIHVuY2F1Z2h0IGZyb3plbiBrZXlzXG52YXIgdW5jYXVnaHRGcm96ZW5TdG9yZSA9IGZ1bmN0aW9uICh0aGF0KSB7XG4gIHJldHVybiB0aGF0Ll9sIHx8ICh0aGF0Ll9sID0gbmV3IFVuY2F1Z2h0RnJvemVuU3RvcmUoKSk7XG59O1xudmFyIFVuY2F1Z2h0RnJvemVuU3RvcmUgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuYSA9IFtdO1xufTtcbnZhciBmaW5kVW5jYXVnaHRGcm96ZW4gPSBmdW5jdGlvbiAoc3RvcmUsIGtleSkge1xuICByZXR1cm4gYXJyYXlGaW5kKHN0b3JlLmEsIGZ1bmN0aW9uIChpdCkge1xuICAgIHJldHVybiBpdFswXSA9PT0ga2V5O1xuICB9KTtcbn07XG5VbmNhdWdodEZyb3plblN0b3JlLnByb3RvdHlwZSA9IHtcbiAgZ2V0OiBmdW5jdGlvbiAoa2V5KSB7XG4gICAgdmFyIGVudHJ5ID0gZmluZFVuY2F1Z2h0RnJvemVuKHRoaXMsIGtleSk7XG4gICAgaWYgKGVudHJ5KSByZXR1cm4gZW50cnlbMV07XG4gIH0sXG4gIGhhczogZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiAhIWZpbmRVbmNhdWdodEZyb3plbih0aGlzLCBrZXkpO1xuICB9LFxuICBzZXQ6IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gICAgdmFyIGVudHJ5ID0gZmluZFVuY2F1Z2h0RnJvemVuKHRoaXMsIGtleSk7XG4gICAgaWYgKGVudHJ5KSBlbnRyeVsxXSA9IHZhbHVlO1xuICAgIGVsc2UgdGhpcy5hLnB1c2goW2tleSwgdmFsdWVdKTtcbiAgfSxcbiAgJ2RlbGV0ZSc6IGZ1bmN0aW9uIChrZXkpIHtcbiAgICB2YXIgaW5kZXggPSBhcnJheUZpbmRJbmRleCh0aGlzLmEsIGZ1bmN0aW9uIChpdCkge1xuICAgICAgcmV0dXJuIGl0WzBdID09PSBrZXk7XG4gICAgfSk7XG4gICAgaWYgKH5pbmRleCkgdGhpcy5hLnNwbGljZShpbmRleCwgMSk7XG4gICAgcmV0dXJuICEhfmluZGV4O1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgZ2V0Q29uc3RydWN0b3I6IGZ1bmN0aW9uICh3cmFwcGVyLCBOQU1FLCBJU19NQVAsIEFEREVSKSB7XG4gICAgdmFyIEMgPSB3cmFwcGVyKGZ1bmN0aW9uICh0aGF0LCBpdGVyYWJsZSkge1xuICAgICAgYW5JbnN0YW5jZSh0aGF0LCBDLCBOQU1FLCAnX2knKTtcbiAgICAgIHRoYXQuX3QgPSBOQU1FOyAgICAgIC8vIGNvbGxlY3Rpb24gdHlwZVxuICAgICAgdGhhdC5faSA9IGlkKys7ICAgICAgLy8gY29sbGVjdGlvbiBpZFxuICAgICAgdGhhdC5fbCA9IHVuZGVmaW5lZDsgLy8gbGVhayBzdG9yZSBmb3IgdW5jYXVnaHQgZnJvemVuIG9iamVjdHNcbiAgICAgIGlmIChpdGVyYWJsZSAhPSB1bmRlZmluZWQpIGZvck9mKGl0ZXJhYmxlLCBJU19NQVAsIHRoYXRbQURERVJdLCB0aGF0KTtcbiAgICB9KTtcbiAgICByZWRlZmluZUFsbChDLnByb3RvdHlwZSwge1xuICAgICAgLy8gMjMuMy4zLjIgV2Vha01hcC5wcm90b3R5cGUuZGVsZXRlKGtleSlcbiAgICAgIC8vIDIzLjQuMy4zIFdlYWtTZXQucHJvdG90eXBlLmRlbGV0ZSh2YWx1ZSlcbiAgICAgICdkZWxldGUnOiBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIGlmICghaXNPYmplY3Qoa2V5KSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgZGF0YSA9IGdldFdlYWsoa2V5KTtcbiAgICAgICAgaWYgKGRhdGEgPT09IHRydWUpIHJldHVybiB1bmNhdWdodEZyb3plblN0b3JlKHZhbGlkYXRlKHRoaXMsIE5BTUUpKVsnZGVsZXRlJ10oa2V5KTtcbiAgICAgICAgcmV0dXJuIGRhdGEgJiYgJGhhcyhkYXRhLCB0aGlzLl9pKSAmJiBkZWxldGUgZGF0YVt0aGlzLl9pXTtcbiAgICAgIH0sXG4gICAgICAvLyAyMy4zLjMuNCBXZWFrTWFwLnByb3RvdHlwZS5oYXMoa2V5KVxuICAgICAgLy8gMjMuNC4zLjQgV2Vha1NldC5wcm90b3R5cGUuaGFzKHZhbHVlKVxuICAgICAgaGFzOiBmdW5jdGlvbiBoYXMoa2V5KSB7XG4gICAgICAgIGlmICghaXNPYmplY3Qoa2V5KSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgZGF0YSA9IGdldFdlYWsoa2V5KTtcbiAgICAgICAgaWYgKGRhdGEgPT09IHRydWUpIHJldHVybiB1bmNhdWdodEZyb3plblN0b3JlKHZhbGlkYXRlKHRoaXMsIE5BTUUpKS5oYXMoa2V5KTtcbiAgICAgICAgcmV0dXJuIGRhdGEgJiYgJGhhcyhkYXRhLCB0aGlzLl9pKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQztcbiAgfSxcbiAgZGVmOiBmdW5jdGlvbiAodGhhdCwga2V5LCB2YWx1ZSkge1xuICAgIHZhciBkYXRhID0gZ2V0V2Vhayhhbk9iamVjdChrZXkpLCB0cnVlKTtcbiAgICBpZiAoZGF0YSA9PT0gdHJ1ZSkgdW5jYXVnaHRGcm96ZW5TdG9yZSh0aGF0KS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgZWxzZSBkYXRhW3RoYXQuX2ldID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoYXQ7XG4gIH0sXG4gIHVmc3RvcmU6IHVuY2F1Z2h0RnJvemVuU3RvcmVcbn07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciByZWRlZmluZUFsbCA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lLWFsbCcpO1xudmFyIG1ldGEgPSByZXF1aXJlKCcuL19tZXRhJyk7XG52YXIgZm9yT2YgPSByZXF1aXJlKCcuL19mb3Itb2YnKTtcbnZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi9fYW4taW5zdGFuY2UnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciAkaXRlckRldGVjdCA9IHJlcXVpcmUoJy4vX2l0ZXItZGV0ZWN0Jyk7XG52YXIgc2V0VG9TdHJpbmdUYWcgPSByZXF1aXJlKCcuL19zZXQtdG8tc3RyaW5nLXRhZycpO1xudmFyIGluaGVyaXRJZlJlcXVpcmVkID0gcmVxdWlyZSgnLi9faW5oZXJpdC1pZi1yZXF1aXJlZCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChOQU1FLCB3cmFwcGVyLCBtZXRob2RzLCBjb21tb24sIElTX01BUCwgSVNfV0VBSykge1xuICB2YXIgQmFzZSA9IGdsb2JhbFtOQU1FXTtcbiAgdmFyIEMgPSBCYXNlO1xuICB2YXIgQURERVIgPSBJU19NQVAgPyAnc2V0JyA6ICdhZGQnO1xuICB2YXIgcHJvdG8gPSBDICYmIEMucHJvdG90eXBlO1xuICB2YXIgTyA9IHt9O1xuICB2YXIgZml4TWV0aG9kID0gZnVuY3Rpb24gKEtFWSkge1xuICAgIHZhciBmbiA9IHByb3RvW0tFWV07XG4gICAgcmVkZWZpbmUocHJvdG8sIEtFWSxcbiAgICAgIEtFWSA9PSAnZGVsZXRlJyA/IGZ1bmN0aW9uIChhKSB7XG4gICAgICAgIHJldHVybiBJU19XRUFLICYmICFpc09iamVjdChhKSA/IGZhbHNlIDogZm4uY2FsbCh0aGlzLCBhID09PSAwID8gMCA6IGEpO1xuICAgICAgfSA6IEtFWSA9PSAnaGFzJyA/IGZ1bmN0aW9uIGhhcyhhKSB7XG4gICAgICAgIHJldHVybiBJU19XRUFLICYmICFpc09iamVjdChhKSA/IGZhbHNlIDogZm4uY2FsbCh0aGlzLCBhID09PSAwID8gMCA6IGEpO1xuICAgICAgfSA6IEtFWSA9PSAnZ2V0JyA/IGZ1bmN0aW9uIGdldChhKSB7XG4gICAgICAgIHJldHVybiBJU19XRUFLICYmICFpc09iamVjdChhKSA/IHVuZGVmaW5lZCA6IGZuLmNhbGwodGhpcywgYSA9PT0gMCA/IDAgOiBhKTtcbiAgICAgIH0gOiBLRVkgPT0gJ2FkZCcgPyBmdW5jdGlvbiBhZGQoYSkgeyBmbi5jYWxsKHRoaXMsIGEgPT09IDAgPyAwIDogYSk7IHJldHVybiB0aGlzOyB9XG4gICAgICAgIDogZnVuY3Rpb24gc2V0KGEsIGIpIHsgZm4uY2FsbCh0aGlzLCBhID09PSAwID8gMCA6IGEsIGIpOyByZXR1cm4gdGhpczsgfVxuICAgICk7XG4gIH07XG4gIGlmICh0eXBlb2YgQyAhPSAnZnVuY3Rpb24nIHx8ICEoSVNfV0VBSyB8fCBwcm90by5mb3JFYWNoICYmICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgbmV3IEMoKS5lbnRyaWVzKCkubmV4dCgpO1xuICB9KSkpIHtcbiAgICAvLyBjcmVhdGUgY29sbGVjdGlvbiBjb25zdHJ1Y3RvclxuICAgIEMgPSBjb21tb24uZ2V0Q29uc3RydWN0b3Iod3JhcHBlciwgTkFNRSwgSVNfTUFQLCBBRERFUik7XG4gICAgcmVkZWZpbmVBbGwoQy5wcm90b3R5cGUsIG1ldGhvZHMpO1xuICAgIG1ldGEuTkVFRCA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGluc3RhbmNlID0gbmV3IEMoKTtcbiAgICAvLyBlYXJseSBpbXBsZW1lbnRhdGlvbnMgbm90IHN1cHBvcnRzIGNoYWluaW5nXG4gICAgdmFyIEhBU05UX0NIQUlOSU5HID0gaW5zdGFuY2VbQURERVJdKElTX1dFQUsgPyB7fSA6IC0wLCAxKSAhPSBpbnN0YW5jZTtcbiAgICAvLyBWOCB+ICBDaHJvbWl1bSA0MC0gd2Vhay1jb2xsZWN0aW9ucyB0aHJvd3Mgb24gcHJpbWl0aXZlcywgYnV0IHNob3VsZCByZXR1cm4gZmFsc2VcbiAgICB2YXIgVEhST1dTX09OX1BSSU1JVElWRVMgPSBmYWlscyhmdW5jdGlvbiAoKSB7IGluc3RhbmNlLmhhcygxKTsgfSk7XG4gICAgLy8gbW9zdCBlYXJseSBpbXBsZW1lbnRhdGlvbnMgZG9lc24ndCBzdXBwb3J0cyBpdGVyYWJsZXMsIG1vc3QgbW9kZXJuIC0gbm90IGNsb3NlIGl0IGNvcnJlY3RseVxuICAgIHZhciBBQ0NFUFRfSVRFUkFCTEVTID0gJGl0ZXJEZXRlY3QoZnVuY3Rpb24gKGl0ZXIpIHsgbmV3IEMoaXRlcik7IH0pOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgIC8vIGZvciBlYXJseSBpbXBsZW1lbnRhdGlvbnMgLTAgYW5kICswIG5vdCB0aGUgc2FtZVxuICAgIHZhciBCVUdHWV9aRVJPID0gIUlTX1dFQUsgJiYgZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgICAgLy8gVjggfiBDaHJvbWl1bSA0Mi0gZmFpbHMgb25seSB3aXRoIDUrIGVsZW1lbnRzXG4gICAgICB2YXIgJGluc3RhbmNlID0gbmV3IEMoKTtcbiAgICAgIHZhciBpbmRleCA9IDU7XG4gICAgICB3aGlsZSAoaW5kZXgtLSkgJGluc3RhbmNlW0FEREVSXShpbmRleCwgaW5kZXgpO1xuICAgICAgcmV0dXJuICEkaW5zdGFuY2UuaGFzKC0wKTtcbiAgICB9KTtcbiAgICBpZiAoIUFDQ0VQVF9JVEVSQUJMRVMpIHtcbiAgICAgIEMgPSB3cmFwcGVyKGZ1bmN0aW9uICh0YXJnZXQsIGl0ZXJhYmxlKSB7XG4gICAgICAgIGFuSW5zdGFuY2UodGFyZ2V0LCBDLCBOQU1FKTtcbiAgICAgICAgdmFyIHRoYXQgPSBpbmhlcml0SWZSZXF1aXJlZChuZXcgQmFzZSgpLCB0YXJnZXQsIEMpO1xuICAgICAgICBpZiAoaXRlcmFibGUgIT0gdW5kZWZpbmVkKSBmb3JPZihpdGVyYWJsZSwgSVNfTUFQLCB0aGF0W0FEREVSXSwgdGhhdCk7XG4gICAgICAgIHJldHVybiB0aGF0O1xuICAgICAgfSk7XG4gICAgICBDLnByb3RvdHlwZSA9IHByb3RvO1xuICAgICAgcHJvdG8uY29uc3RydWN0b3IgPSBDO1xuICAgIH1cbiAgICBpZiAoVEhST1dTX09OX1BSSU1JVElWRVMgfHwgQlVHR1lfWkVSTykge1xuICAgICAgZml4TWV0aG9kKCdkZWxldGUnKTtcbiAgICAgIGZpeE1ldGhvZCgnaGFzJyk7XG4gICAgICBJU19NQVAgJiYgZml4TWV0aG9kKCdnZXQnKTtcbiAgICB9XG4gICAgaWYgKEJVR0dZX1pFUk8gfHwgSEFTTlRfQ0hBSU5JTkcpIGZpeE1ldGhvZChBRERFUik7XG4gICAgLy8gd2VhayBjb2xsZWN0aW9ucyBzaG91bGQgbm90IGNvbnRhaW5zIC5jbGVhciBtZXRob2RcbiAgICBpZiAoSVNfV0VBSyAmJiBwcm90by5jbGVhcikgZGVsZXRlIHByb3RvLmNsZWFyO1xuICB9XG5cbiAgc2V0VG9TdHJpbmdUYWcoQywgTkFNRSk7XG5cbiAgT1tOQU1FXSA9IEM7XG4gICRleHBvcnQoJGV4cG9ydC5HICsgJGV4cG9ydC5XICsgJGV4cG9ydC5GICogKEMgIT0gQmFzZSksIE8pO1xuXG4gIGlmICghSVNfV0VBSykgY29tbW9uLnNldFN0cm9uZyhDLCBOQU1FLCBJU19NQVApO1xuXG4gIHJldHVybiBDO1xufTtcbiIsInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuMScgfTtcbmlmICh0eXBlb2YgX19lID09ICdudW1iZXInKSBfX2UgPSBjb3JlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGRlZmluZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJyk7XG52YXIgY3JlYXRlRGVzYyA9IHJlcXVpcmUoJy4vX3Byb3BlcnR5LWRlc2MnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob2JqZWN0LCBpbmRleCwgdmFsdWUpIHtcbiAgaWYgKGluZGV4IGluIG9iamVjdCkgJGRlZmluZVByb3BlcnR5LmYob2JqZWN0LCBpbmRleCwgY3JlYXRlRGVzYygwLCB2YWx1ZSkpO1xuICBlbHNlIG9iamVjdFtpbmRleF0gPSB2YWx1ZTtcbn07XG4iLCIvLyBvcHRpb25hbCAvIHNpbXBsZSBjb250ZXh0IGJpbmRpbmdcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgdGhhdCwgbGVuZ3RoKSB7XG4gIGFGdW5jdGlvbihmbik7XG4gIGlmICh0aGF0ID09PSB1bmRlZmluZWQpIHJldHVybiBmbjtcbiAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSk7XG4gICAgfTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYik7XG4gICAgfTtcbiAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYiwgYyk7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gZnVuY3Rpb24gKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJndW1lbnRzKTtcbiAgfTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG4vLyAyMC4zLjQuMzYgLyAxNS45LjUuNDMgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcoKVxudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciBnZXRUaW1lID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZTtcbnZhciAkdG9JU09TdHJpbmcgPSBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZztcblxudmFyIGx6ID0gZnVuY3Rpb24gKG51bSkge1xuICByZXR1cm4gbnVtID4gOSA/IG51bSA6ICcwJyArIG51bTtcbn07XG5cbi8vIFBoYW50b21KUyAvIG9sZCBXZWJLaXQgaGFzIGEgYnJva2VuIGltcGxlbWVudGF0aW9uc1xubW9kdWxlLmV4cG9ydHMgPSAoZmFpbHMoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gJHRvSVNPU3RyaW5nLmNhbGwobmV3IERhdGUoLTVlMTMgLSAxKSkgIT0gJzAzODUtMDctMjVUMDc6MDY6MzkuOTk5Wic7XG59KSB8fCAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICAkdG9JU09TdHJpbmcuY2FsbChuZXcgRGF0ZShOYU4pKTtcbn0pKSA/IGZ1bmN0aW9uIHRvSVNPU3RyaW5nKCkge1xuICBpZiAoIWlzRmluaXRlKGdldFRpbWUuY2FsbCh0aGlzKSkpIHRocm93IFJhbmdlRXJyb3IoJ0ludmFsaWQgdGltZSB2YWx1ZScpO1xuICB2YXIgZCA9IHRoaXM7XG4gIHZhciB5ID0gZC5nZXRVVENGdWxsWWVhcigpO1xuICB2YXIgbSA9IGQuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7XG4gIHZhciBzID0geSA8IDAgPyAnLScgOiB5ID4gOTk5OSA/ICcrJyA6ICcnO1xuICByZXR1cm4gcyArICgnMDAwMDAnICsgTWF0aC5hYnMoeSkpLnNsaWNlKHMgPyAtNiA6IC00KSArXG4gICAgJy0nICsgbHooZC5nZXRVVENNb250aCgpICsgMSkgKyAnLScgKyBseihkLmdldFVUQ0RhdGUoKSkgK1xuICAgICdUJyArIGx6KGQuZ2V0VVRDSG91cnMoKSkgKyAnOicgKyBseihkLmdldFVUQ01pbnV0ZXMoKSkgK1xuICAgICc6JyArIGx6KGQuZ2V0VVRDU2Vjb25kcygpKSArICcuJyArIChtID4gOTkgPyBtIDogJzAnICsgbHoobSkpICsgJ1onO1xufSA6ICR0b0lTT1N0cmluZztcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG52YXIgTlVNQkVSID0gJ251bWJlcic7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGhpbnQpIHtcbiAgaWYgKGhpbnQgIT09ICdzdHJpbmcnICYmIGhpbnQgIT09IE5VTUJFUiAmJiBoaW50ICE9PSAnZGVmYXVsdCcpIHRocm93IFR5cGVFcnJvcignSW5jb3JyZWN0IGhpbnQnKTtcbiAgcmV0dXJuIHRvUHJpbWl0aXZlKGFuT2JqZWN0KHRoaXMpLCBoaW50ICE9IE5VTUJFUik7XG59O1xuIiwiLy8gNy4yLjEgUmVxdWlyZU9iamVjdENvZXJjaWJsZShhcmd1bWVudClcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChpdCA9PSB1bmRlZmluZWQpIHRocm93IFR5cGVFcnJvcihcIkNhbid0IGNhbGwgbWV0aG9kIG9uICBcIiArIGl0KTtcbiAgcmV0dXJuIGl0O1xufTtcbiIsIi8vIFRoYW5rJ3MgSUU4IGZvciBoaXMgZnVubnkgZGVmaW5lUHJvcGVydHlcbm1vZHVsZS5leHBvcnRzID0gIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgZG9jdW1lbnQgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5kb2N1bWVudDtcbi8vIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50IGlzICdvYmplY3QnIGluIG9sZCBJRVxudmFyIGlzID0gaXNPYmplY3QoZG9jdW1lbnQpICYmIGlzT2JqZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGlzID8gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChpdCkgOiB7fTtcbn07XG4iLCIvLyBJRSA4LSBkb24ndCBlbnVtIGJ1ZyBrZXlzXG5tb2R1bGUuZXhwb3J0cyA9IChcbiAgJ2NvbnN0cnVjdG9yLGhhc093blByb3BlcnR5LGlzUHJvdG90eXBlT2YscHJvcGVydHlJc0VudW1lcmFibGUsdG9Mb2NhbGVTdHJpbmcsdG9TdHJpbmcsdmFsdWVPZidcbikuc3BsaXQoJywnKTtcbiIsIi8vIGFsbCBlbnVtZXJhYmxlIG9iamVjdCBrZXlzLCBpbmNsdWRlcyBzeW1ib2xzXG52YXIgZ2V0S2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG52YXIgZ09QUyA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BzJyk7XG52YXIgcElFID0gcmVxdWlyZSgnLi9fb2JqZWN0LXBpZScpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIHJlc3VsdCA9IGdldEtleXMoaXQpO1xuICB2YXIgZ2V0U3ltYm9scyA9IGdPUFMuZjtcbiAgaWYgKGdldFN5bWJvbHMpIHtcbiAgICB2YXIgc3ltYm9scyA9IGdldFN5bWJvbHMoaXQpO1xuICAgIHZhciBpc0VudW0gPSBwSUUuZjtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIGtleTtcbiAgICB3aGlsZSAoc3ltYm9scy5sZW5ndGggPiBpKSBpZiAoaXNFbnVtLmNhbGwoaXQsIGtleSA9IHN5bWJvbHNbaSsrXSkpIHJlc3VsdC5wdXNoKGtleSk7XG4gIH0gcmV0dXJuIHJlc3VsdDtcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcblxudmFyICRleHBvcnQgPSBmdW5jdGlvbiAodHlwZSwgbmFtZSwgc291cmNlKSB7XG4gIHZhciBJU19GT1JDRUQgPSB0eXBlICYgJGV4cG9ydC5GO1xuICB2YXIgSVNfR0xPQkFMID0gdHlwZSAmICRleHBvcnQuRztcbiAgdmFyIElTX1NUQVRJQyA9IHR5cGUgJiAkZXhwb3J0LlM7XG4gIHZhciBJU19QUk9UTyA9IHR5cGUgJiAkZXhwb3J0LlA7XG4gIHZhciBJU19CSU5EID0gdHlwZSAmICRleHBvcnQuQjtcbiAgdmFyIHRhcmdldCA9IElTX0dMT0JBTCA/IGdsb2JhbCA6IElTX1NUQVRJQyA/IGdsb2JhbFtuYW1lXSB8fCAoZ2xvYmFsW25hbWVdID0ge30pIDogKGdsb2JhbFtuYW1lXSB8fCB7fSlbUFJPVE9UWVBFXTtcbiAgdmFyIGV4cG9ydHMgPSBJU19HTE9CQUwgPyBjb3JlIDogY29yZVtuYW1lXSB8fCAoY29yZVtuYW1lXSA9IHt9KTtcbiAgdmFyIGV4cFByb3RvID0gZXhwb3J0c1tQUk9UT1RZUEVdIHx8IChleHBvcnRzW1BST1RPVFlQRV0gPSB7fSk7XG4gIHZhciBrZXksIG93biwgb3V0LCBleHA7XG4gIGlmIChJU19HTE9CQUwpIHNvdXJjZSA9IG5hbWU7XG4gIGZvciAoa2V5IGluIHNvdXJjZSkge1xuICAgIC8vIGNvbnRhaW5zIGluIG5hdGl2ZVxuICAgIG93biA9ICFJU19GT1JDRUQgJiYgdGFyZ2V0ICYmIHRhcmdldFtrZXldICE9PSB1bmRlZmluZWQ7XG4gICAgLy8gZXhwb3J0IG5hdGl2ZSBvciBwYXNzZWRcbiAgICBvdXQgPSAob3duID8gdGFyZ2V0IDogc291cmNlKVtrZXldO1xuICAgIC8vIGJpbmQgdGltZXJzIHRvIGdsb2JhbCBmb3IgY2FsbCBmcm9tIGV4cG9ydCBjb250ZXh0XG4gICAgZXhwID0gSVNfQklORCAmJiBvd24gPyBjdHgob3V0LCBnbG9iYWwpIDogSVNfUFJPVE8gJiYgdHlwZW9mIG91dCA9PSAnZnVuY3Rpb24nID8gY3R4KEZ1bmN0aW9uLmNhbGwsIG91dCkgOiBvdXQ7XG4gICAgLy8gZXh0ZW5kIGdsb2JhbFxuICAgIGlmICh0YXJnZXQpIHJlZGVmaW5lKHRhcmdldCwga2V5LCBvdXQsIHR5cGUgJiAkZXhwb3J0LlUpO1xuICAgIC8vIGV4cG9ydFxuICAgIGlmIChleHBvcnRzW2tleV0gIT0gb3V0KSBoaWRlKGV4cG9ydHMsIGtleSwgZXhwKTtcbiAgICBpZiAoSVNfUFJPVE8gJiYgZXhwUHJvdG9ba2V5XSAhPSBvdXQpIGV4cFByb3RvW2tleV0gPSBvdXQ7XG4gIH1cbn07XG5nbG9iYWwuY29yZSA9IGNvcmU7XG4vLyB0eXBlIGJpdG1hcFxuJGV4cG9ydC5GID0gMTsgICAvLyBmb3JjZWRcbiRleHBvcnQuRyA9IDI7ICAgLy8gZ2xvYmFsXG4kZXhwb3J0LlMgPSA0OyAgIC8vIHN0YXRpY1xuJGV4cG9ydC5QID0gODsgICAvLyBwcm90b1xuJGV4cG9ydC5CID0gMTY7ICAvLyBiaW5kXG4kZXhwb3J0LlcgPSAzMjsgIC8vIHdyYXBcbiRleHBvcnQuVSA9IDY0OyAgLy8gc2FmZVxuJGV4cG9ydC5SID0gMTI4OyAvLyByZWFsIHByb3RvIG1ldGhvZCBmb3IgYGxpYnJhcnlgXG5tb2R1bGUuZXhwb3J0cyA9ICRleHBvcnQ7XG4iLCJ2YXIgTUFUQ0ggPSByZXF1aXJlKCcuL193a3MnKSgnbWF0Y2gnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKEtFWSkge1xuICB2YXIgcmUgPSAvLi87XG4gIHRyeSB7XG4gICAgJy8uLydbS0VZXShyZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0cnkge1xuICAgICAgcmVbTUFUQ0hdID0gZmFsc2U7XG4gICAgICByZXR1cm4gIScvLi8nW0tFWV0ocmUpO1xuICAgIH0gY2F0Y2ggKGYpIHsgLyogZW1wdHkgKi8gfVxuICB9IHJldHVybiB0cnVlO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gISFleGVjKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufTtcbiIsIid1c2Ugc3RyaWN0JztcbnJlcXVpcmUoJy4vZXM2LnJlZ2V4cC5leGVjJyk7XG52YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuL19yZWRlZmluZScpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG52YXIgd2tzID0gcmVxdWlyZSgnLi9fd2tzJyk7XG52YXIgcmVnZXhwRXhlYyA9IHJlcXVpcmUoJy4vX3JlZ2V4cC1leGVjJyk7XG5cbnZhciBTUEVDSUVTID0gd2tzKCdzcGVjaWVzJyk7XG5cbnZhciBSRVBMQUNFX1NVUFBPUlRTX05BTUVEX0dST1VQUyA9ICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gIC8vICNyZXBsYWNlIG5lZWRzIGJ1aWx0LWluIHN1cHBvcnQgZm9yIG5hbWVkIGdyb3Vwcy5cbiAgLy8gI21hdGNoIHdvcmtzIGZpbmUgYmVjYXVzZSBpdCBqdXN0IHJldHVybiB0aGUgZXhlYyByZXN1bHRzLCBldmVuIGlmIGl0IGhhc1xuICAvLyBhIFwiZ3JvcHNcIiBwcm9wZXJ0eS5cbiAgdmFyIHJlID0gLy4vO1xuICByZS5leGVjID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICByZXN1bHQuZ3JvdXBzID0geyBhOiAnNycgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuICByZXR1cm4gJycucmVwbGFjZShyZSwgJyQ8YT4nKSAhPT0gJzcnO1xufSk7XG5cbnZhciBTUExJVF9XT1JLU19XSVRIX09WRVJXUklUVEVOX0VYRUMgPSAoZnVuY3Rpb24gKCkge1xuICAvLyBDaHJvbWUgNTEgaGFzIGEgYnVnZ3kgXCJzcGxpdFwiIGltcGxlbWVudGF0aW9uIHdoZW4gUmVnRXhwI2V4ZWMgIT09IG5hdGl2ZUV4ZWNcbiAgdmFyIHJlID0gLyg/OikvO1xuICB2YXIgb3JpZ2luYWxFeGVjID0gcmUuZXhlYztcbiAgcmUuZXhlYyA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG9yaWdpbmFsRXhlYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9O1xuICB2YXIgcmVzdWx0ID0gJ2FiJy5zcGxpdChyZSk7XG4gIHJldHVybiByZXN1bHQubGVuZ3RoID09PSAyICYmIHJlc3VsdFswXSA9PT0gJ2EnICYmIHJlc3VsdFsxXSA9PT0gJ2InO1xufSkoKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZLCBsZW5ndGgsIGV4ZWMpIHtcbiAgdmFyIFNZTUJPTCA9IHdrcyhLRVkpO1xuXG4gIHZhciBERUxFR0FURVNfVE9fU1lNQk9MID0gIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBTdHJpbmcgbWV0aG9kcyBjYWxsIHN5bWJvbC1uYW1lZCBSZWdFcCBtZXRob2RzXG4gICAgdmFyIE8gPSB7fTtcbiAgICBPW1NZTUJPTF0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9O1xuICAgIHJldHVybiAnJ1tLRVldKE8pICE9IDc7XG4gIH0pO1xuXG4gIHZhciBERUxFR0FURVNfVE9fRVhFQyA9IERFTEVHQVRFU19UT19TWU1CT0wgPyAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgIC8vIFN5bWJvbC1uYW1lZCBSZWdFeHAgbWV0aG9kcyBjYWxsIC5leGVjXG4gICAgdmFyIGV4ZWNDYWxsZWQgPSBmYWxzZTtcbiAgICB2YXIgcmUgPSAvYS87XG4gICAgcmUuZXhlYyA9IGZ1bmN0aW9uICgpIHsgZXhlY0NhbGxlZCA9IHRydWU7IHJldHVybiBudWxsOyB9O1xuICAgIGlmIChLRVkgPT09ICdzcGxpdCcpIHtcbiAgICAgIC8vIFJlZ0V4cFtAQHNwbGl0XSBkb2Vzbid0IGNhbGwgdGhlIHJlZ2V4J3MgZXhlYyBtZXRob2QsIGJ1dCBmaXJzdCBjcmVhdGVzXG4gICAgICAvLyBhIG5ldyBvbmUuIFdlIG5lZWQgdG8gcmV0dXJuIHRoZSBwYXRjaGVkIHJlZ2V4IHdoZW4gY3JlYXRpbmcgdGhlIG5ldyBvbmUuXG4gICAgICByZS5jb25zdHJ1Y3RvciA9IHt9O1xuICAgICAgcmUuY29uc3RydWN0b3JbU1BFQ0lFU10gPSBmdW5jdGlvbiAoKSB7IHJldHVybiByZTsgfTtcbiAgICB9XG4gICAgcmVbU1lNQk9MXSgnJyk7XG4gICAgcmV0dXJuICFleGVjQ2FsbGVkO1xuICB9KSA6IHVuZGVmaW5lZDtcblxuICBpZiAoXG4gICAgIURFTEVHQVRFU19UT19TWU1CT0wgfHxcbiAgICAhREVMRUdBVEVTX1RPX0VYRUMgfHxcbiAgICAoS0VZID09PSAncmVwbGFjZScgJiYgIVJFUExBQ0VfU1VQUE9SVFNfTkFNRURfR1JPVVBTKSB8fFxuICAgIChLRVkgPT09ICdzcGxpdCcgJiYgIVNQTElUX1dPUktTX1dJVEhfT1ZFUldSSVRURU5fRVhFQylcbiAgKSB7XG4gICAgdmFyIG5hdGl2ZVJlZ0V4cE1ldGhvZCA9IC8uL1tTWU1CT0xdO1xuICAgIHZhciBmbnMgPSBleGVjKFxuICAgICAgZGVmaW5lZCxcbiAgICAgIFNZTUJPTCxcbiAgICAgICcnW0tFWV0sXG4gICAgICBmdW5jdGlvbiBtYXliZUNhbGxOYXRpdmUobmF0aXZlTWV0aG9kLCByZWdleHAsIHN0ciwgYXJnMiwgZm9yY2VTdHJpbmdNZXRob2QpIHtcbiAgICAgICAgaWYgKHJlZ2V4cC5leGVjID09PSByZWdleHBFeGVjKSB7XG4gICAgICAgICAgaWYgKERFTEVHQVRFU19UT19TWU1CT0wgJiYgIWZvcmNlU3RyaW5nTWV0aG9kKSB7XG4gICAgICAgICAgICAvLyBUaGUgbmF0aXZlIFN0cmluZyBtZXRob2QgYWxyZWFkeSBkZWxlZ2F0ZXMgdG8gQEBtZXRob2QgKHRoaXNcbiAgICAgICAgICAgIC8vIHBvbHlmaWxsZWQgZnVuY3Rpb24pLCBsZWFzaW5nIHRvIGluZmluaXRlIHJlY3Vyc2lvbi5cbiAgICAgICAgICAgIC8vIFdlIGF2b2lkIGl0IGJ5IGRpcmVjdGx5IGNhbGxpbmcgdGhlIG5hdGl2ZSBAQG1ldGhvZCBtZXRob2QuXG4gICAgICAgICAgICByZXR1cm4geyBkb25lOiB0cnVlLCB2YWx1ZTogbmF0aXZlUmVnRXhwTWV0aG9kLmNhbGwocmVnZXhwLCBzdHIsIGFyZzIpIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiBuYXRpdmVNZXRob2QuY2FsbChzdHIsIHJlZ2V4cCwgYXJnMikgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBkb25lOiBmYWxzZSB9O1xuICAgICAgfVxuICAgICk7XG4gICAgdmFyIHN0cmZuID0gZm5zWzBdO1xuICAgIHZhciByeGZuID0gZm5zWzFdO1xuXG4gICAgcmVkZWZpbmUoU3RyaW5nLnByb3RvdHlwZSwgS0VZLCBzdHJmbik7XG4gICAgaGlkZShSZWdFeHAucHJvdG90eXBlLCBTWU1CT0wsIGxlbmd0aCA9PSAyXG4gICAgICAvLyAyMS4yLjUuOCBSZWdFeHAucHJvdG90eXBlW0BAcmVwbGFjZV0oc3RyaW5nLCByZXBsYWNlVmFsdWUpXG4gICAgICAvLyAyMS4yLjUuMTEgUmVnRXhwLnByb3RvdHlwZVtAQHNwbGl0XShzdHJpbmcsIGxpbWl0KVxuICAgICAgPyBmdW5jdGlvbiAoc3RyaW5nLCBhcmcpIHsgcmV0dXJuIHJ4Zm4uY2FsbChzdHJpbmcsIHRoaXMsIGFyZyk7IH1cbiAgICAgIC8vIDIxLjIuNS42IFJlZ0V4cC5wcm90b3R5cGVbQEBtYXRjaF0oc3RyaW5nKVxuICAgICAgLy8gMjEuMi41LjkgUmVnRXhwLnByb3RvdHlwZVtAQHNlYXJjaF0oc3RyaW5nKVxuICAgICAgOiBmdW5jdGlvbiAoc3RyaW5nKSB7IHJldHVybiByeGZuLmNhbGwoc3RyaW5nLCB0aGlzKTsgfVxuICAgICk7XG4gIH1cbn07XG4iLCIndXNlIHN0cmljdCc7XG4vLyAyMS4yLjUuMyBnZXQgUmVnRXhwLnByb3RvdHlwZS5mbGFnc1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHRoYXQgPSBhbk9iamVjdCh0aGlzKTtcbiAgdmFyIHJlc3VsdCA9ICcnO1xuICBpZiAodGhhdC5nbG9iYWwpIHJlc3VsdCArPSAnZyc7XG4gIGlmICh0aGF0Lmlnbm9yZUNhc2UpIHJlc3VsdCArPSAnaSc7XG4gIGlmICh0aGF0Lm11bHRpbGluZSkgcmVzdWx0ICs9ICdtJztcbiAgaWYgKHRoYXQudW5pY29kZSkgcmVzdWx0ICs9ICd1JztcbiAgaWYgKHRoYXQuc3RpY2t5KSByZXN1bHQgKz0gJ3knO1xuICByZXR1cm4gcmVzdWx0O1xufTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vcHJvcG9zYWwtZmxhdE1hcC8jc2VjLUZsYXR0ZW5JbnRvQXJyYXlcbnZhciBpc0FycmF5ID0gcmVxdWlyZSgnLi9faXMtYXJyYXknKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgSVNfQ09OQ0FUX1NQUkVBREFCTEUgPSByZXF1aXJlKCcuL193a3MnKSgnaXNDb25jYXRTcHJlYWRhYmxlJyk7XG5cbmZ1bmN0aW9uIGZsYXR0ZW5JbnRvQXJyYXkodGFyZ2V0LCBvcmlnaW5hbCwgc291cmNlLCBzb3VyY2VMZW4sIHN0YXJ0LCBkZXB0aCwgbWFwcGVyLCB0aGlzQXJnKSB7XG4gIHZhciB0YXJnZXRJbmRleCA9IHN0YXJ0O1xuICB2YXIgc291cmNlSW5kZXggPSAwO1xuICB2YXIgbWFwRm4gPSBtYXBwZXIgPyBjdHgobWFwcGVyLCB0aGlzQXJnLCAzKSA6IGZhbHNlO1xuICB2YXIgZWxlbWVudCwgc3ByZWFkYWJsZTtcblxuICB3aGlsZSAoc291cmNlSW5kZXggPCBzb3VyY2VMZW4pIHtcbiAgICBpZiAoc291cmNlSW5kZXggaW4gc291cmNlKSB7XG4gICAgICBlbGVtZW50ID0gbWFwRm4gPyBtYXBGbihzb3VyY2Vbc291cmNlSW5kZXhdLCBzb3VyY2VJbmRleCwgb3JpZ2luYWwpIDogc291cmNlW3NvdXJjZUluZGV4XTtcblxuICAgICAgc3ByZWFkYWJsZSA9IGZhbHNlO1xuICAgICAgaWYgKGlzT2JqZWN0KGVsZW1lbnQpKSB7XG4gICAgICAgIHNwcmVhZGFibGUgPSBlbGVtZW50W0lTX0NPTkNBVF9TUFJFQURBQkxFXTtcbiAgICAgICAgc3ByZWFkYWJsZSA9IHNwcmVhZGFibGUgIT09IHVuZGVmaW5lZCA/ICEhc3ByZWFkYWJsZSA6IGlzQXJyYXkoZWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzcHJlYWRhYmxlICYmIGRlcHRoID4gMCkge1xuICAgICAgICB0YXJnZXRJbmRleCA9IGZsYXR0ZW5JbnRvQXJyYXkodGFyZ2V0LCBvcmlnaW5hbCwgZWxlbWVudCwgdG9MZW5ndGgoZWxlbWVudC5sZW5ndGgpLCB0YXJnZXRJbmRleCwgZGVwdGggLSAxKSAtIDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGFyZ2V0SW5kZXggPj0gMHgxZmZmZmZmZmZmZmZmZikgdGhyb3cgVHlwZUVycm9yKCk7XG4gICAgICAgIHRhcmdldFt0YXJnZXRJbmRleF0gPSBlbGVtZW50O1xuICAgICAgfVxuXG4gICAgICB0YXJnZXRJbmRleCsrO1xuICAgIH1cbiAgICBzb3VyY2VJbmRleCsrO1xuICB9XG4gIHJldHVybiB0YXJnZXRJbmRleDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmbGF0dGVuSW50b0FycmF5O1xuIiwidmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIGNhbGwgPSByZXF1aXJlKCcuL19pdGVyLWNhbGwnKTtcbnZhciBpc0FycmF5SXRlciA9IHJlcXVpcmUoJy4vX2lzLWFycmF5LWl0ZXInKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgZ2V0SXRlckZuID0gcmVxdWlyZSgnLi9jb3JlLmdldC1pdGVyYXRvci1tZXRob2QnKTtcbnZhciBCUkVBSyA9IHt9O1xudmFyIFJFVFVSTiA9IHt9O1xudmFyIGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdGVyYWJsZSwgZW50cmllcywgZm4sIHRoYXQsIElURVJBVE9SKSB7XG4gIHZhciBpdGVyRm4gPSBJVEVSQVRPUiA/IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGl0ZXJhYmxlOyB9IDogZ2V0SXRlckZuKGl0ZXJhYmxlKTtcbiAgdmFyIGYgPSBjdHgoZm4sIHRoYXQsIGVudHJpZXMgPyAyIDogMSk7XG4gIHZhciBpbmRleCA9IDA7XG4gIHZhciBsZW5ndGgsIHN0ZXAsIGl0ZXJhdG9yLCByZXN1bHQ7XG4gIGlmICh0eXBlb2YgaXRlckZuICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdGVyYWJsZSArICcgaXMgbm90IGl0ZXJhYmxlIScpO1xuICAvLyBmYXN0IGNhc2UgZm9yIGFycmF5cyB3aXRoIGRlZmF1bHQgaXRlcmF0b3JcbiAgaWYgKGlzQXJyYXlJdGVyKGl0ZXJGbikpIGZvciAobGVuZ3RoID0gdG9MZW5ndGgoaXRlcmFibGUubGVuZ3RoKTsgbGVuZ3RoID4gaW5kZXg7IGluZGV4KyspIHtcbiAgICByZXN1bHQgPSBlbnRyaWVzID8gZihhbk9iamVjdChzdGVwID0gaXRlcmFibGVbaW5kZXhdKVswXSwgc3RlcFsxXSkgOiBmKGl0ZXJhYmxlW2luZGV4XSk7XG4gICAgaWYgKHJlc3VsdCA9PT0gQlJFQUsgfHwgcmVzdWx0ID09PSBSRVRVUk4pIHJldHVybiByZXN1bHQ7XG4gIH0gZWxzZSBmb3IgKGl0ZXJhdG9yID0gaXRlckZuLmNhbGwoaXRlcmFibGUpOyAhKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmU7KSB7XG4gICAgcmVzdWx0ID0gY2FsbChpdGVyYXRvciwgZiwgc3RlcC52YWx1ZSwgZW50cmllcyk7XG4gICAgaWYgKHJlc3VsdCA9PT0gQlJFQUsgfHwgcmVzdWx0ID09PSBSRVRVUk4pIHJldHVybiByZXN1bHQ7XG4gIH1cbn07XG5leHBvcnRzLkJSRUFLID0gQlJFQUs7XG5leHBvcnRzLlJFVFVSTiA9IFJFVFVSTjtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy84NiNpc3N1ZWNvbW1lbnQtMTE1NzU5MDI4XG52YXIgZ2xvYmFsID0gbW9kdWxlLmV4cG9ydHMgPSB0eXBlb2Ygd2luZG93ICE9ICd1bmRlZmluZWQnICYmIHdpbmRvdy5NYXRoID09IE1hdGhcbiAgPyB3aW5kb3cgOiB0eXBlb2Ygc2VsZiAhPSAndW5kZWZpbmVkJyAmJiBzZWxmLk1hdGggPT0gTWF0aCA/IHNlbGZcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXG4gIDogRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcbmlmICh0eXBlb2YgX19nID09ICdudW1iZXInKSBfX2cgPSBnbG9iYWw7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiIsInZhciBoYXNPd25Qcm9wZXJ0eSA9IHt9Lmhhc093blByb3BlcnR5O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbn07XG4iLCJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICByZXR1cm4gZFAuZihvYmplY3QsIGtleSwgY3JlYXRlRGVzYygxLCB2YWx1ZSkpO1xufSA6IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgcmV0dXJuIG9iamVjdDtcbn07XG4iLCJ2YXIgZG9jdW1lbnQgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5kb2N1bWVudDtcbm1vZHVsZS5leHBvcnRzID0gZG9jdW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuIiwibW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSAmJiAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVxdWlyZSgnLi9fZG9tLWNyZWF0ZScpKCdkaXYnKSwgJ2EnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfSB9KS5hICE9IDc7XG59KTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIHNldFByb3RvdHlwZU9mID0gcmVxdWlyZSgnLi9fc2V0LXByb3RvJykuc2V0O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodGhhdCwgdGFyZ2V0LCBDKSB7XG4gIHZhciBTID0gdGFyZ2V0LmNvbnN0cnVjdG9yO1xuICB2YXIgUDtcbiAgaWYgKFMgIT09IEMgJiYgdHlwZW9mIFMgPT0gJ2Z1bmN0aW9uJyAmJiAoUCA9IFMucHJvdG90eXBlKSAhPT0gQy5wcm90b3R5cGUgJiYgaXNPYmplY3QoUCkgJiYgc2V0UHJvdG90eXBlT2YpIHtcbiAgICBzZXRQcm90b3R5cGVPZih0aGF0LCBQKTtcbiAgfSByZXR1cm4gdGhhdDtcbn07XG4iLCIvLyBmYXN0IGFwcGx5LCBodHRwOi8vanNwZXJmLmxua2l0LmNvbS9mYXN0LWFwcGx5LzVcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZuLCBhcmdzLCB0aGF0KSB7XG4gIHZhciB1biA9IHRoYXQgPT09IHVuZGVmaW5lZDtcbiAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgIGNhc2UgMDogcmV0dXJuIHVuID8gZm4oKVxuICAgICAgICAgICAgICAgICAgICAgIDogZm4uY2FsbCh0aGF0KTtcbiAgICBjYXNlIDE6IHJldHVybiB1biA/IGZuKGFyZ3NbMF0pXG4gICAgICAgICAgICAgICAgICAgICAgOiBmbi5jYWxsKHRoYXQsIGFyZ3NbMF0pO1xuICAgIGNhc2UgMjogcmV0dXJuIHVuID8gZm4oYXJnc1swXSwgYXJnc1sxXSlcbiAgICAgICAgICAgICAgICAgICAgICA6IGZuLmNhbGwodGhhdCwgYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgY2FzZSAzOiByZXR1cm4gdW4gPyBmbihhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKVxuICAgICAgICAgICAgICAgICAgICAgIDogZm4uY2FsbCh0aGF0LCBhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICBjYXNlIDQ6IHJldHVybiB1biA/IGZuKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10pXG4gICAgICAgICAgICAgICAgICAgICAgOiBmbi5jYWxsKHRoYXQsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10pO1xuICB9IHJldHVybiBmbi5hcHBseSh0aGF0LCBhcmdzKTtcbn07XG4iLCIvLyBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIGFuZCBub24tZW51bWVyYWJsZSBvbGQgVjggc3RyaW5nc1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QoJ3onKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKSA/IE9iamVjdCA6IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gY29mKGl0KSA9PSAnU3RyaW5nJyA/IGl0LnNwbGl0KCcnKSA6IE9iamVjdChpdCk7XG59O1xuIiwiLy8gY2hlY2sgb24gZGVmYXVsdCBBcnJheSBpdGVyYXRvclxudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vX2l0ZXJhdG9ycycpO1xudmFyIElURVJBVE9SID0gcmVxdWlyZSgnLi9fd2tzJykoJ2l0ZXJhdG9yJyk7XG52YXIgQXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ICE9PSB1bmRlZmluZWQgJiYgKEl0ZXJhdG9ycy5BcnJheSA9PT0gaXQgfHwgQXJyYXlQcm90b1tJVEVSQVRPUl0gPT09IGl0KTtcbn07XG4iLCIvLyA3LjIuMiBJc0FycmF5KGFyZ3VtZW50KVxudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xubW9kdWxlLmV4cG9ydHMgPSBBcnJheS5pc0FycmF5IHx8IGZ1bmN0aW9uIGlzQXJyYXkoYXJnKSB7XG4gIHJldHVybiBjb2YoYXJnKSA9PSAnQXJyYXknO1xufTtcbiIsIi8vIDIwLjEuMi4zIE51bWJlci5pc0ludGVnZXIobnVtYmVyKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0ludGVnZXIoaXQpIHtcbiAgcmV0dXJuICFpc09iamVjdChpdCkgJiYgaXNGaW5pdGUoaXQpICYmIGZsb29yKGl0KSA9PT0gaXQ7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHR5cGVvZiBpdCA9PT0gJ29iamVjdCcgPyBpdCAhPT0gbnVsbCA6IHR5cGVvZiBpdCA9PT0gJ2Z1bmN0aW9uJztcbn07XG4iLCIvLyA3LjIuOCBJc1JlZ0V4cChhcmd1bWVudClcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xudmFyIE1BVENIID0gcmVxdWlyZSgnLi9fd2tzJykoJ21hdGNoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICB2YXIgaXNSZWdFeHA7XG4gIHJldHVybiBpc09iamVjdChpdCkgJiYgKChpc1JlZ0V4cCA9IGl0W01BVENIXSkgIT09IHVuZGVmaW5lZCA/ICEhaXNSZWdFeHAgOiBjb2YoaXQpID09ICdSZWdFeHAnKTtcbn07XG4iLCIvLyBjYWxsIHNvbWV0aGluZyBvbiBpdGVyYXRvciBzdGVwIHdpdGggc2FmZSBjbG9zaW5nIG9uIGVycm9yXG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0ZXJhdG9yLCBmbiwgdmFsdWUsIGVudHJpZXMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZW50cmllcyA/IGZuKGFuT2JqZWN0KHZhbHVlKVswXSwgdmFsdWVbMV0pIDogZm4odmFsdWUpO1xuICAvLyA3LjQuNiBJdGVyYXRvckNsb3NlKGl0ZXJhdG9yLCBjb21wbGV0aW9uKVxuICB9IGNhdGNoIChlKSB7XG4gICAgdmFyIHJldCA9IGl0ZXJhdG9yWydyZXR1cm4nXTtcbiAgICBpZiAocmV0ICE9PSB1bmRlZmluZWQpIGFuT2JqZWN0KHJldC5jYWxsKGl0ZXJhdG9yKSk7XG4gICAgdGhyb3cgZTtcbiAgfVxufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBjcmVhdGUgPSByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJyk7XG52YXIgZGVzY3JpcHRvciA9IHJlcXVpcmUoJy4vX3Byb3BlcnR5LWRlc2MnKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4vX3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgSXRlcmF0b3JQcm90b3R5cGUgPSB7fTtcblxuLy8gMjUuMS4yLjEuMSAlSXRlcmF0b3JQcm90b3R5cGUlW0BAaXRlcmF0b3JdKClcbnJlcXVpcmUoJy4vX2hpZGUnKShJdGVyYXRvclByb3RvdHlwZSwgcmVxdWlyZSgnLi9fd2tzJykoJ2l0ZXJhdG9yJyksIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgTkFNRSwgbmV4dCkge1xuICBDb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBjcmVhdGUoSXRlcmF0b3JQcm90b3R5cGUsIHsgbmV4dDogZGVzY3JpcHRvcigxLCBuZXh0KSB9KTtcbiAgc2V0VG9TdHJpbmdUYWcoQ29uc3RydWN0b3IsIE5BTUUgKyAnIEl0ZXJhdG9yJyk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIExJQlJBUlkgPSByZXF1aXJlKCcuL19saWJyYXJ5Jyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vX2l0ZXJhdG9ycycpO1xudmFyICRpdGVyQ3JlYXRlID0gcmVxdWlyZSgnLi9faXRlci1jcmVhdGUnKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4vX3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgSVRFUkFUT1IgPSByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKTtcbnZhciBCVUdHWSA9ICEoW10ua2V5cyAmJiAnbmV4dCcgaW4gW10ua2V5cygpKTsgLy8gU2FmYXJpIGhhcyBidWdneSBpdGVyYXRvcnMgdy9vIGBuZXh0YFxudmFyIEZGX0lURVJBVE9SID0gJ0BAaXRlcmF0b3InO1xudmFyIEtFWVMgPSAna2V5cyc7XG52YXIgVkFMVUVTID0gJ3ZhbHVlcyc7XG5cbnZhciByZXR1cm5UaGlzID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQmFzZSwgTkFNRSwgQ29uc3RydWN0b3IsIG5leHQsIERFRkFVTFQsIElTX1NFVCwgRk9SQ0VEKSB7XG4gICRpdGVyQ3JlYXRlKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KTtcbiAgdmFyIGdldE1ldGhvZCA9IGZ1bmN0aW9uIChraW5kKSB7XG4gICAgaWYgKCFCVUdHWSAmJiBraW5kIGluIHByb3RvKSByZXR1cm4gcHJvdG9ba2luZF07XG4gICAgc3dpdGNoIChraW5kKSB7XG4gICAgICBjYXNlIEtFWVM6IHJldHVybiBmdW5jdGlvbiBrZXlzKCkgeyByZXR1cm4gbmV3IENvbnN0cnVjdG9yKHRoaXMsIGtpbmQpOyB9O1xuICAgICAgY2FzZSBWQUxVRVM6IHJldHVybiBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiBuZXcgQ29uc3RydWN0b3IodGhpcywga2luZCk7IH07XG4gICAgfSByZXR1cm4gZnVuY3Rpb24gZW50cmllcygpIHsgcmV0dXJuIG5ldyBDb25zdHJ1Y3Rvcih0aGlzLCBraW5kKTsgfTtcbiAgfTtcbiAgdmFyIFRBRyA9IE5BTUUgKyAnIEl0ZXJhdG9yJztcbiAgdmFyIERFRl9WQUxVRVMgPSBERUZBVUxUID09IFZBTFVFUztcbiAgdmFyIFZBTFVFU19CVUcgPSBmYWxzZTtcbiAgdmFyIHByb3RvID0gQmFzZS5wcm90b3R5cGU7XG4gIHZhciAkbmF0aXZlID0gcHJvdG9bSVRFUkFUT1JdIHx8IHByb3RvW0ZGX0lURVJBVE9SXSB8fCBERUZBVUxUICYmIHByb3RvW0RFRkFVTFRdO1xuICB2YXIgJGRlZmF1bHQgPSAkbmF0aXZlIHx8IGdldE1ldGhvZChERUZBVUxUKTtcbiAgdmFyICRlbnRyaWVzID0gREVGQVVMVCA/ICFERUZfVkFMVUVTID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoJ2VudHJpZXMnKSA6IHVuZGVmaW5lZDtcbiAgdmFyICRhbnlOYXRpdmUgPSBOQU1FID09ICdBcnJheScgPyBwcm90by5lbnRyaWVzIHx8ICRuYXRpdmUgOiAkbmF0aXZlO1xuICB2YXIgbWV0aG9kcywga2V5LCBJdGVyYXRvclByb3RvdHlwZTtcbiAgLy8gRml4IG5hdGl2ZVxuICBpZiAoJGFueU5hdGl2ZSkge1xuICAgIEl0ZXJhdG9yUHJvdG90eXBlID0gZ2V0UHJvdG90eXBlT2YoJGFueU5hdGl2ZS5jYWxsKG5ldyBCYXNlKCkpKTtcbiAgICBpZiAoSXRlcmF0b3JQcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUgJiYgSXRlcmF0b3JQcm90b3R5cGUubmV4dCkge1xuICAgICAgLy8gU2V0IEBAdG9TdHJpbmdUYWcgdG8gbmF0aXZlIGl0ZXJhdG9yc1xuICAgICAgc2V0VG9TdHJpbmdUYWcoSXRlcmF0b3JQcm90b3R5cGUsIFRBRywgdHJ1ZSk7XG4gICAgICAvLyBmaXggZm9yIHNvbWUgb2xkIGVuZ2luZXNcbiAgICAgIGlmICghTElCUkFSWSAmJiB0eXBlb2YgSXRlcmF0b3JQcm90b3R5cGVbSVRFUkFUT1JdICE9ICdmdW5jdGlvbicpIGhpZGUoSXRlcmF0b3JQcm90b3R5cGUsIElURVJBVE9SLCByZXR1cm5UaGlzKTtcbiAgICB9XG4gIH1cbiAgLy8gZml4IEFycmF5I3t2YWx1ZXMsIEBAaXRlcmF0b3J9Lm5hbWUgaW4gVjggLyBGRlxuICBpZiAoREVGX1ZBTFVFUyAmJiAkbmF0aXZlICYmICRuYXRpdmUubmFtZSAhPT0gVkFMVUVTKSB7XG4gICAgVkFMVUVTX0JVRyA9IHRydWU7XG4gICAgJGRlZmF1bHQgPSBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiAkbmF0aXZlLmNhbGwodGhpcyk7IH07XG4gIH1cbiAgLy8gRGVmaW5lIGl0ZXJhdG9yXG4gIGlmICgoIUxJQlJBUlkgfHwgRk9SQ0VEKSAmJiAoQlVHR1kgfHwgVkFMVUVTX0JVRyB8fCAhcHJvdG9bSVRFUkFUT1JdKSkge1xuICAgIGhpZGUocHJvdG8sIElURVJBVE9SLCAkZGVmYXVsdCk7XG4gIH1cbiAgLy8gUGx1ZyBmb3IgbGlicmFyeVxuICBJdGVyYXRvcnNbTkFNRV0gPSAkZGVmYXVsdDtcbiAgSXRlcmF0b3JzW1RBR10gPSByZXR1cm5UaGlzO1xuICBpZiAoREVGQVVMVCkge1xuICAgIG1ldGhvZHMgPSB7XG4gICAgICB2YWx1ZXM6IERFRl9WQUxVRVMgPyAkZGVmYXVsdCA6IGdldE1ldGhvZChWQUxVRVMpLFxuICAgICAga2V5czogSVNfU0VUID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoS0VZUyksXG4gICAgICBlbnRyaWVzOiAkZW50cmllc1xuICAgIH07XG4gICAgaWYgKEZPUkNFRCkgZm9yIChrZXkgaW4gbWV0aG9kcykge1xuICAgICAgaWYgKCEoa2V5IGluIHByb3RvKSkgcmVkZWZpbmUocHJvdG8sIGtleSwgbWV0aG9kc1trZXldKTtcbiAgICB9IGVsc2UgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoQlVHR1kgfHwgVkFMVUVTX0JVRyksIE5BTUUsIG1ldGhvZHMpO1xuICB9XG4gIHJldHVybiBtZXRob2RzO1xufTtcbiIsInZhciBJVEVSQVRPUiA9IHJlcXVpcmUoJy4vX3drcycpKCdpdGVyYXRvcicpO1xudmFyIFNBRkVfQ0xPU0lORyA9IGZhbHNlO1xuXG50cnkge1xuICB2YXIgcml0ZXIgPSBbN11bSVRFUkFUT1JdKCk7XG4gIHJpdGVyWydyZXR1cm4nXSA9IGZ1bmN0aW9uICgpIHsgU0FGRV9DTE9TSU5HID0gdHJ1ZTsgfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcbiAgQXJyYXkuZnJvbShyaXRlciwgZnVuY3Rpb24gKCkgeyB0aHJvdyAyOyB9KTtcbn0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjLCBza2lwQ2xvc2luZykge1xuICBpZiAoIXNraXBDbG9zaW5nICYmICFTQUZFX0NMT1NJTkcpIHJldHVybiBmYWxzZTtcbiAgdmFyIHNhZmUgPSBmYWxzZTtcbiAgdHJ5IHtcbiAgICB2YXIgYXJyID0gWzddO1xuICAgIHZhciBpdGVyID0gYXJyW0lURVJBVE9SXSgpO1xuICAgIGl0ZXIubmV4dCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHsgZG9uZTogc2FmZSA9IHRydWUgfTsgfTtcbiAgICBhcnJbSVRFUkFUT1JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gaXRlcjsgfTtcbiAgICBleGVjKGFycik7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuICByZXR1cm4gc2FmZTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChkb25lLCB2YWx1ZSkge1xuICByZXR1cm4geyB2YWx1ZTogdmFsdWUsIGRvbmU6ICEhZG9uZSB9O1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0ge307XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZhbHNlO1xuIiwiLy8gMjAuMi4yLjE0IE1hdGguZXhwbTEoeClcbnZhciAkZXhwbTEgPSBNYXRoLmV4cG0xO1xubW9kdWxlLmV4cG9ydHMgPSAoISRleHBtMVxuICAvLyBPbGQgRkYgYnVnXG4gIHx8ICRleHBtMSgxMCkgPiAyMjAyNS40NjU3OTQ4MDY3MTkgfHwgJGV4cG0xKDEwKSA8IDIyMDI1LjQ2NTc5NDgwNjcxNjUxNjhcbiAgLy8gVG9yIEJyb3dzZXIgYnVnXG4gIHx8ICRleHBtMSgtMmUtMTcpICE9IC0yZS0xN1xuKSA/IGZ1bmN0aW9uIGV4cG0xKHgpIHtcbiAgcmV0dXJuICh4ID0gK3gpID09IDAgPyB4IDogeCA+IC0xZS02ICYmIHggPCAxZS02ID8geCArIHggKiB4IC8gMiA6IE1hdGguZXhwKHgpIC0gMTtcbn0gOiAkZXhwbTE7XG4iLCIvLyAyMC4yLjIuMTYgTWF0aC5mcm91bmQoeClcbnZhciBzaWduID0gcmVxdWlyZSgnLi9fbWF0aC1zaWduJyk7XG52YXIgcG93ID0gTWF0aC5wb3c7XG52YXIgRVBTSUxPTiA9IHBvdygyLCAtNTIpO1xudmFyIEVQU0lMT04zMiA9IHBvdygyLCAtMjMpO1xudmFyIE1BWDMyID0gcG93KDIsIDEyNykgKiAoMiAtIEVQU0lMT04zMik7XG52YXIgTUlOMzIgPSBwb3coMiwgLTEyNik7XG5cbnZhciByb3VuZFRpZXNUb0V2ZW4gPSBmdW5jdGlvbiAobikge1xuICByZXR1cm4gbiArIDEgLyBFUFNJTE9OIC0gMSAvIEVQU0lMT047XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IE1hdGguZnJvdW5kIHx8IGZ1bmN0aW9uIGZyb3VuZCh4KSB7XG4gIHZhciAkYWJzID0gTWF0aC5hYnMoeCk7XG4gIHZhciAkc2lnbiA9IHNpZ24oeCk7XG4gIHZhciBhLCByZXN1bHQ7XG4gIGlmICgkYWJzIDwgTUlOMzIpIHJldHVybiAkc2lnbiAqIHJvdW5kVGllc1RvRXZlbigkYWJzIC8gTUlOMzIgLyBFUFNJTE9OMzIpICogTUlOMzIgKiBFUFNJTE9OMzI7XG4gIGEgPSAoMSArIEVQU0lMT04zMiAvIEVQU0lMT04pICogJGFicztcbiAgcmVzdWx0ID0gYSAtIChhIC0gJGFicyk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgaWYgKHJlc3VsdCA+IE1BWDMyIHx8IHJlc3VsdCAhPSByZXN1bHQpIHJldHVybiAkc2lnbiAqIEluZmluaXR5O1xuICByZXR1cm4gJHNpZ24gKiByZXN1bHQ7XG59O1xuIiwiLy8gMjAuMi4yLjIwIE1hdGgubG9nMXAoeClcbm1vZHVsZS5leHBvcnRzID0gTWF0aC5sb2cxcCB8fCBmdW5jdGlvbiBsb2cxcCh4KSB7XG4gIHJldHVybiAoeCA9ICt4KSA+IC0xZS04ICYmIHggPCAxZS04ID8geCAtIHggKiB4IC8gMiA6IE1hdGgubG9nKDEgKyB4KTtcbn07XG4iLCIvLyBodHRwczovL3J3YWxkcm9uLmdpdGh1Yi5pby9wcm9wb3NhbC1tYXRoLWV4dGVuc2lvbnMvXG5tb2R1bGUuZXhwb3J0cyA9IE1hdGguc2NhbGUgfHwgZnVuY3Rpb24gc2NhbGUoeCwgaW5Mb3csIGluSGlnaCwgb3V0TG93LCBvdXRIaWdoKSB7XG4gIGlmIChcbiAgICBhcmd1bWVudHMubGVuZ3RoID09PSAwXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgICB8fCB4ICE9IHhcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIHx8IGluTG93ICE9IGluTG93XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgICB8fCBpbkhpZ2ggIT0gaW5IaWdoXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgICB8fCBvdXRMb3cgIT0gb3V0TG93XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgICB8fCBvdXRIaWdoICE9IG91dEhpZ2hcbiAgKSByZXR1cm4gTmFOO1xuICBpZiAoeCA9PT0gSW5maW5pdHkgfHwgeCA9PT0gLUluZmluaXR5KSByZXR1cm4geDtcbiAgcmV0dXJuICh4IC0gaW5Mb3cpICogKG91dEhpZ2ggLSBvdXRMb3cpIC8gKGluSGlnaCAtIGluTG93KSArIG91dExvdztcbn07XG4iLCIvLyAyMC4yLjIuMjggTWF0aC5zaWduKHgpXG5tb2R1bGUuZXhwb3J0cyA9IE1hdGguc2lnbiB8fCBmdW5jdGlvbiBzaWduKHgpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICByZXR1cm4gKHggPSAreCkgPT0gMCB8fCB4ICE9IHggPyB4IDogeCA8IDAgPyAtMSA6IDE7XG59O1xuIiwidmFyIE1FVEEgPSByZXF1aXJlKCcuL191aWQnKSgnbWV0YScpO1xudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgc2V0RGVzYyA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG52YXIgaWQgPSAwO1xudmFyIGlzRXh0ZW5zaWJsZSA9IE9iamVjdC5pc0V4dGVuc2libGUgfHwgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdHJ1ZTtcbn07XG52YXIgRlJFRVpFID0gIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gaXNFeHRlbnNpYmxlKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh7fSkpO1xufSk7XG52YXIgc2V0TWV0YSA9IGZ1bmN0aW9uIChpdCkge1xuICBzZXREZXNjKGl0LCBNRVRBLCB7IHZhbHVlOiB7XG4gICAgaTogJ08nICsgKytpZCwgLy8gb2JqZWN0IElEXG4gICAgdzoge30gICAgICAgICAgLy8gd2VhayBjb2xsZWN0aW9ucyBJRHNcbiAgfSB9KTtcbn07XG52YXIgZmFzdEtleSA9IGZ1bmN0aW9uIChpdCwgY3JlYXRlKSB7XG4gIC8vIHJldHVybiBwcmltaXRpdmUgd2l0aCBwcmVmaXhcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiB0eXBlb2YgaXQgPT0gJ3N5bWJvbCcgPyBpdCA6ICh0eXBlb2YgaXQgPT0gJ3N0cmluZycgPyAnUycgOiAnUCcpICsgaXQ7XG4gIGlmICghaGFzKGl0LCBNRVRBKSkge1xuICAgIC8vIGNhbid0IHNldCBtZXRhZGF0YSB0byB1bmNhdWdodCBmcm96ZW4gb2JqZWN0XG4gICAgaWYgKCFpc0V4dGVuc2libGUoaXQpKSByZXR1cm4gJ0YnO1xuICAgIC8vIG5vdCBuZWNlc3NhcnkgdG8gYWRkIG1ldGFkYXRhXG4gICAgaWYgKCFjcmVhdGUpIHJldHVybiAnRSc7XG4gICAgLy8gYWRkIG1pc3NpbmcgbWV0YWRhdGFcbiAgICBzZXRNZXRhKGl0KTtcbiAgLy8gcmV0dXJuIG9iamVjdCBJRFxuICB9IHJldHVybiBpdFtNRVRBXS5pO1xufTtcbnZhciBnZXRXZWFrID0gZnVuY3Rpb24gKGl0LCBjcmVhdGUpIHtcbiAgaWYgKCFoYXMoaXQsIE1FVEEpKSB7XG4gICAgLy8gY2FuJ3Qgc2V0IG1ldGFkYXRhIHRvIHVuY2F1Z2h0IGZyb3plbiBvYmplY3RcbiAgICBpZiAoIWlzRXh0ZW5zaWJsZShpdCkpIHJldHVybiB0cnVlO1xuICAgIC8vIG5vdCBuZWNlc3NhcnkgdG8gYWRkIG1ldGFkYXRhXG4gICAgaWYgKCFjcmVhdGUpIHJldHVybiBmYWxzZTtcbiAgICAvLyBhZGQgbWlzc2luZyBtZXRhZGF0YVxuICAgIHNldE1ldGEoaXQpO1xuICAvLyByZXR1cm4gaGFzaCB3ZWFrIGNvbGxlY3Rpb25zIElEc1xuICB9IHJldHVybiBpdFtNRVRBXS53O1xufTtcbi8vIGFkZCBtZXRhZGF0YSBvbiBmcmVlemUtZmFtaWx5IG1ldGhvZHMgY2FsbGluZ1xudmFyIG9uRnJlZXplID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChGUkVFWkUgJiYgbWV0YS5ORUVEICYmIGlzRXh0ZW5zaWJsZShpdCkgJiYgIWhhcyhpdCwgTUVUQSkpIHNldE1ldGEoaXQpO1xuICByZXR1cm4gaXQ7XG59O1xudmFyIG1ldGEgPSBtb2R1bGUuZXhwb3J0cyA9IHtcbiAgS0VZOiBNRVRBLFxuICBORUVEOiBmYWxzZSxcbiAgZmFzdEtleTogZmFzdEtleSxcbiAgZ2V0V2VhazogZ2V0V2VhayxcbiAgb25GcmVlemU6IG9uRnJlZXplXG59O1xuIiwidmFyIE1hcCA9IHJlcXVpcmUoJy4vZXM2Lm1hcCcpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBzaGFyZWQgPSByZXF1aXJlKCcuL19zaGFyZWQnKSgnbWV0YWRhdGEnKTtcbnZhciBzdG9yZSA9IHNoYXJlZC5zdG9yZSB8fCAoc2hhcmVkLnN0b3JlID0gbmV3IChyZXF1aXJlKCcuL2VzNi53ZWFrLW1hcCcpKSgpKTtcblxudmFyIGdldE9yQ3JlYXRlTWV0YWRhdGFNYXAgPSBmdW5jdGlvbiAodGFyZ2V0LCB0YXJnZXRLZXksIGNyZWF0ZSkge1xuICB2YXIgdGFyZ2V0TWV0YWRhdGEgPSBzdG9yZS5nZXQodGFyZ2V0KTtcbiAgaWYgKCF0YXJnZXRNZXRhZGF0YSkge1xuICAgIGlmICghY3JlYXRlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHN0b3JlLnNldCh0YXJnZXQsIHRhcmdldE1ldGFkYXRhID0gbmV3IE1hcCgpKTtcbiAgfVxuICB2YXIga2V5TWV0YWRhdGEgPSB0YXJnZXRNZXRhZGF0YS5nZXQodGFyZ2V0S2V5KTtcbiAgaWYgKCFrZXlNZXRhZGF0YSkge1xuICAgIGlmICghY3JlYXRlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHRhcmdldE1ldGFkYXRhLnNldCh0YXJnZXRLZXksIGtleU1ldGFkYXRhID0gbmV3IE1hcCgpKTtcbiAgfSByZXR1cm4ga2V5TWV0YWRhdGE7XG59O1xudmFyIG9yZGluYXJ5SGFzT3duTWV0YWRhdGEgPSBmdW5jdGlvbiAoTWV0YWRhdGFLZXksIE8sIFApIHtcbiAgdmFyIG1ldGFkYXRhTWFwID0gZ2V0T3JDcmVhdGVNZXRhZGF0YU1hcChPLCBQLCBmYWxzZSk7XG4gIHJldHVybiBtZXRhZGF0YU1hcCA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiBtZXRhZGF0YU1hcC5oYXMoTWV0YWRhdGFLZXkpO1xufTtcbnZhciBvcmRpbmFyeUdldE93bk1ldGFkYXRhID0gZnVuY3Rpb24gKE1ldGFkYXRhS2V5LCBPLCBQKSB7XG4gIHZhciBtZXRhZGF0YU1hcCA9IGdldE9yQ3JlYXRlTWV0YWRhdGFNYXAoTywgUCwgZmFsc2UpO1xuICByZXR1cm4gbWV0YWRhdGFNYXAgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IG1ldGFkYXRhTWFwLmdldChNZXRhZGF0YUtleSk7XG59O1xudmFyIG9yZGluYXJ5RGVmaW5lT3duTWV0YWRhdGEgPSBmdW5jdGlvbiAoTWV0YWRhdGFLZXksIE1ldGFkYXRhVmFsdWUsIE8sIFApIHtcbiAgZ2V0T3JDcmVhdGVNZXRhZGF0YU1hcChPLCBQLCB0cnVlKS5zZXQoTWV0YWRhdGFLZXksIE1ldGFkYXRhVmFsdWUpO1xufTtcbnZhciBvcmRpbmFyeU93bk1ldGFkYXRhS2V5cyA9IGZ1bmN0aW9uICh0YXJnZXQsIHRhcmdldEtleSkge1xuICB2YXIgbWV0YWRhdGFNYXAgPSBnZXRPckNyZWF0ZU1ldGFkYXRhTWFwKHRhcmdldCwgdGFyZ2V0S2V5LCBmYWxzZSk7XG4gIHZhciBrZXlzID0gW107XG4gIGlmIChtZXRhZGF0YU1hcCkgbWV0YWRhdGFNYXAuZm9yRWFjaChmdW5jdGlvbiAoXywga2V5KSB7IGtleXMucHVzaChrZXkpOyB9KTtcbiAgcmV0dXJuIGtleXM7XG59O1xudmFyIHRvTWV0YUtleSA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgaXQgPT0gJ3N5bWJvbCcgPyBpdCA6IFN0cmluZyhpdCk7XG59O1xudmFyIGV4cCA9IGZ1bmN0aW9uIChPKSB7XG4gICRleHBvcnQoJGV4cG9ydC5TLCAnUmVmbGVjdCcsIE8pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHN0b3JlOiBzdG9yZSxcbiAgbWFwOiBnZXRPckNyZWF0ZU1ldGFkYXRhTWFwLFxuICBoYXM6IG9yZGluYXJ5SGFzT3duTWV0YWRhdGEsXG4gIGdldDogb3JkaW5hcnlHZXRPd25NZXRhZGF0YSxcbiAgc2V0OiBvcmRpbmFyeURlZmluZU93bk1ldGFkYXRhLFxuICBrZXlzOiBvcmRpbmFyeU93bk1ldGFkYXRhS2V5cyxcbiAga2V5OiB0b01ldGFLZXksXG4gIGV4cDogZXhwXG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIG1hY3JvdGFzayA9IHJlcXVpcmUoJy4vX3Rhc2snKS5zZXQ7XG52YXIgT2JzZXJ2ZXIgPSBnbG9iYWwuTXV0YXRpb25PYnNlcnZlciB8fCBnbG9iYWwuV2ViS2l0TXV0YXRpb25PYnNlcnZlcjtcbnZhciBwcm9jZXNzID0gZ2xvYmFsLnByb2Nlc3M7XG52YXIgUHJvbWlzZSA9IGdsb2JhbC5Qcm9taXNlO1xudmFyIGlzTm9kZSA9IHJlcXVpcmUoJy4vX2NvZicpKHByb2Nlc3MpID09ICdwcm9jZXNzJztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBoZWFkLCBsYXN0LCBub3RpZnk7XG5cbiAgdmFyIGZsdXNoID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBwYXJlbnQsIGZuO1xuICAgIGlmIChpc05vZGUgJiYgKHBhcmVudCA9IHByb2Nlc3MuZG9tYWluKSkgcGFyZW50LmV4aXQoKTtcbiAgICB3aGlsZSAoaGVhZCkge1xuICAgICAgZm4gPSBoZWFkLmZuO1xuICAgICAgaGVhZCA9IGhlYWQubmV4dDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGZuKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChoZWFkKSBub3RpZnkoKTtcbiAgICAgICAgZWxzZSBsYXN0ID0gdW5kZWZpbmVkO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH0gbGFzdCA9IHVuZGVmaW5lZDtcbiAgICBpZiAocGFyZW50KSBwYXJlbnQuZW50ZXIoKTtcbiAgfTtcblxuICAvLyBOb2RlLmpzXG4gIGlmIChpc05vZGUpIHtcbiAgICBub3RpZnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGZsdXNoKTtcbiAgICB9O1xuICAvLyBicm93c2VycyB3aXRoIE11dGF0aW9uT2JzZXJ2ZXIsIGV4Y2VwdCBpT1MgU2FmYXJpIC0gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzMzOVxuICB9IGVsc2UgaWYgKE9ic2VydmVyICYmICEoZ2xvYmFsLm5hdmlnYXRvciAmJiBnbG9iYWwubmF2aWdhdG9yLnN0YW5kYWxvbmUpKSB7XG4gICAgdmFyIHRvZ2dsZSA9IHRydWU7XG4gICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJyk7XG4gICAgbmV3IE9ic2VydmVyKGZsdXNoKS5vYnNlcnZlKG5vZGUsIHsgY2hhcmFjdGVyRGF0YTogdHJ1ZSB9KTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXdcbiAgICBub3RpZnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBub2RlLmRhdGEgPSB0b2dnbGUgPSAhdG9nZ2xlO1xuICAgIH07XG4gIC8vIGVudmlyb25tZW50cyB3aXRoIG1heWJlIG5vbi1jb21wbGV0ZWx5IGNvcnJlY3QsIGJ1dCBleGlzdGVudCBQcm9taXNlXG4gIH0gZWxzZSBpZiAoUHJvbWlzZSAmJiBQcm9taXNlLnJlc29sdmUpIHtcbiAgICAvLyBQcm9taXNlLnJlc29sdmUgd2l0aG91dCBhbiBhcmd1bWVudCB0aHJvd3MgYW4gZXJyb3IgaW4gTEcgV2ViT1MgMlxuICAgIHZhciBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCk7XG4gICAgbm90aWZ5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgcHJvbWlzZS50aGVuKGZsdXNoKTtcbiAgICB9O1xuICAvLyBmb3Igb3RoZXIgZW52aXJvbm1lbnRzIC0gbWFjcm90YXNrIGJhc2VkIG9uOlxuICAvLyAtIHNldEltbWVkaWF0ZVxuICAvLyAtIE1lc3NhZ2VDaGFubmVsXG4gIC8vIC0gd2luZG93LnBvc3RNZXNzYWdcbiAgLy8gLSBvbnJlYWR5c3RhdGVjaGFuZ2VcbiAgLy8gLSBzZXRUaW1lb3V0XG4gIH0gZWxzZSB7XG4gICAgbm90aWZ5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgLy8gc3RyYW5nZSBJRSArIHdlYnBhY2sgZGV2IHNlcnZlciBidWcgLSB1c2UgLmNhbGwoZ2xvYmFsKVxuICAgICAgbWFjcm90YXNrLmNhbGwoZ2xvYmFsLCBmbHVzaCk7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoZm4pIHtcbiAgICB2YXIgdGFzayA9IHsgZm46IGZuLCBuZXh0OiB1bmRlZmluZWQgfTtcbiAgICBpZiAobGFzdCkgbGFzdC5uZXh0ID0gdGFzaztcbiAgICBpZiAoIWhlYWQpIHtcbiAgICAgIGhlYWQgPSB0YXNrO1xuICAgICAgbm90aWZ5KCk7XG4gICAgfSBsYXN0ID0gdGFzaztcbiAgfTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG4vLyAyNS40LjEuNSBOZXdQcm9taXNlQ2FwYWJpbGl0eShDKVxudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcblxuZnVuY3Rpb24gUHJvbWlzZUNhcGFiaWxpdHkoQykge1xuICB2YXIgcmVzb2x2ZSwgcmVqZWN0O1xuICB0aGlzLnByb21pc2UgPSBuZXcgQyhmdW5jdGlvbiAoJCRyZXNvbHZlLCAkJHJlamVjdCkge1xuICAgIGlmIChyZXNvbHZlICE9PSB1bmRlZmluZWQgfHwgcmVqZWN0ICE9PSB1bmRlZmluZWQpIHRocm93IFR5cGVFcnJvcignQmFkIFByb21pc2UgY29uc3RydWN0b3InKTtcbiAgICByZXNvbHZlID0gJCRyZXNvbHZlO1xuICAgIHJlamVjdCA9ICQkcmVqZWN0O1xuICB9KTtcbiAgdGhpcy5yZXNvbHZlID0gYUZ1bmN0aW9uKHJlc29sdmUpO1xuICB0aGlzLnJlamVjdCA9IGFGdW5jdGlvbihyZWplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cy5mID0gZnVuY3Rpb24gKEMpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlQ2FwYWJpbGl0eShDKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG4vLyAxOS4xLjIuMSBPYmplY3QuYXNzaWduKHRhcmdldCwgc291cmNlLCAuLi4pXG52YXIgZ2V0S2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG52YXIgZ09QUyA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BzJyk7XG52YXIgcElFID0gcmVxdWlyZSgnLi9fb2JqZWN0LXBpZScpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciAkYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gc2hvdWxkIHdvcmsgd2l0aCBzeW1ib2xzIGFuZCBzaG91bGQgaGF2ZSBkZXRlcm1pbmlzdGljIHByb3BlcnR5IG9yZGVyIChWOCBidWcpXG5tb2R1bGUuZXhwb3J0cyA9ICEkYXNzaWduIHx8IHJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICB2YXIgQSA9IHt9O1xuICB2YXIgQiA9IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgdmFyIFMgPSBTeW1ib2woKTtcbiAgdmFyIEsgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3QnO1xuICBBW1NdID0gNztcbiAgSy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAoaykgeyBCW2tdID0gazsgfSk7XG4gIHJldHVybiAkYXNzaWduKHt9LCBBKVtTXSAhPSA3IHx8IE9iamVjdC5rZXlzKCRhc3NpZ24oe30sIEIpKS5qb2luKCcnKSAhPSBLO1xufSkgPyBmdW5jdGlvbiBhc3NpZ24odGFyZ2V0LCBzb3VyY2UpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICB2YXIgVCA9IHRvT2JqZWN0KHRhcmdldCk7XG4gIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgdmFyIGluZGV4ID0gMTtcbiAgdmFyIGdldFN5bWJvbHMgPSBnT1BTLmY7XG4gIHZhciBpc0VudW0gPSBwSUUuZjtcbiAgd2hpbGUgKGFMZW4gPiBpbmRleCkge1xuICAgIHZhciBTID0gSU9iamVjdChhcmd1bWVudHNbaW5kZXgrK10pO1xuICAgIHZhciBrZXlzID0gZ2V0U3ltYm9scyA/IGdldEtleXMoUykuY29uY2F0KGdldFN5bWJvbHMoUykpIDogZ2V0S2V5cyhTKTtcbiAgICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gICAgdmFyIGogPSAwO1xuICAgIHZhciBrZXk7XG4gICAgd2hpbGUgKGxlbmd0aCA+IGopIGlmIChpc0VudW0uY2FsbChTLCBrZXkgPSBrZXlzW2orK10pKSBUW2tleV0gPSBTW2tleV07XG4gIH0gcmV0dXJuIFQ7XG59IDogJGFzc2lnbjtcbiIsIi8vIDE5LjEuMi4yIC8gMTUuMi4zLjUgT2JqZWN0LmNyZWF0ZShPIFssIFByb3BlcnRpZXNdKVxudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgZFBzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwcycpO1xudmFyIGVudW1CdWdLZXlzID0gcmVxdWlyZSgnLi9fZW51bS1idWcta2V5cycpO1xudmFyIElFX1BST1RPID0gcmVxdWlyZSgnLi9fc2hhcmVkLWtleScpKCdJRV9QUk9UTycpO1xudmFyIEVtcHR5ID0gZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9O1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xuXG4vLyBDcmVhdGUgb2JqZWN0IHdpdGggZmFrZSBgbnVsbGAgcHJvdG90eXBlOiB1c2UgaWZyYW1lIE9iamVjdCB3aXRoIGNsZWFyZWQgcHJvdG90eXBlXG52YXIgY3JlYXRlRGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgLy8gVGhyYXNoLCB3YXN0ZSBhbmQgc29kb215OiBJRSBHQyBidWdcbiAgdmFyIGlmcmFtZSA9IHJlcXVpcmUoJy4vX2RvbS1jcmVhdGUnKSgnaWZyYW1lJyk7XG4gIHZhciBpID0gZW51bUJ1Z0tleXMubGVuZ3RoO1xuICB2YXIgbHQgPSAnPCc7XG4gIHZhciBndCA9ICc+JztcbiAgdmFyIGlmcmFtZURvY3VtZW50O1xuICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgcmVxdWlyZSgnLi9faHRtbCcpLmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gIGlmcmFtZS5zcmMgPSAnamF2YXNjcmlwdDonOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNjcmlwdC11cmxcbiAgLy8gY3JlYXRlRGljdCA9IGlmcmFtZS5jb250ZW50V2luZG93Lk9iamVjdDtcbiAgLy8gaHRtbC5yZW1vdmVDaGlsZChpZnJhbWUpO1xuICBpZnJhbWVEb2N1bWVudCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50O1xuICBpZnJhbWVEb2N1bWVudC5vcGVuKCk7XG4gIGlmcmFtZURvY3VtZW50LndyaXRlKGx0ICsgJ3NjcmlwdCcgKyBndCArICdkb2N1bWVudC5GPU9iamVjdCcgKyBsdCArICcvc2NyaXB0JyArIGd0KTtcbiAgaWZyYW1lRG9jdW1lbnQuY2xvc2UoKTtcbiAgY3JlYXRlRGljdCA9IGlmcmFtZURvY3VtZW50LkY7XG4gIHdoaWxlIChpLS0pIGRlbGV0ZSBjcmVhdGVEaWN0W1BST1RPVFlQRV1bZW51bUJ1Z0tleXNbaV1dO1xuICByZXR1cm4gY3JlYXRlRGljdCgpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QuY3JlYXRlIHx8IGZ1bmN0aW9uIGNyZWF0ZShPLCBQcm9wZXJ0aWVzKSB7XG4gIHZhciByZXN1bHQ7XG4gIGlmIChPICE9PSBudWxsKSB7XG4gICAgRW1wdHlbUFJPVE9UWVBFXSA9IGFuT2JqZWN0KE8pO1xuICAgIHJlc3VsdCA9IG5ldyBFbXB0eSgpO1xuICAgIEVtcHR5W1BST1RPVFlQRV0gPSBudWxsO1xuICAgIC8vIGFkZCBcIl9fcHJvdG9fX1wiIGZvciBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcG9seWZpbGxcbiAgICByZXN1bHRbSUVfUFJPVE9dID0gTztcbiAgfSBlbHNlIHJlc3VsdCA9IGNyZWF0ZURpY3QoKTtcbiAgcmV0dXJuIFByb3BlcnRpZXMgPT09IHVuZGVmaW5lZCA/IHJlc3VsdCA6IGRQcyhyZXN1bHQsIFByb3BlcnRpZXMpO1xufTtcbiIsInZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIElFOF9ET01fREVGSU5FID0gcmVxdWlyZSgnLi9faWU4LWRvbS1kZWZpbmUnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGRQID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuXG5leHBvcnRzLmYgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5IDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkoTywgUCwgQXR0cmlidXRlcykge1xuICBhbk9iamVjdChPKTtcbiAgUCA9IHRvUHJpbWl0aXZlKFAsIHRydWUpO1xuICBhbk9iamVjdChBdHRyaWJ1dGVzKTtcbiAgaWYgKElFOF9ET01fREVGSU5FKSB0cnkge1xuICAgIHJldHVybiBkUChPLCBQLCBBdHRyaWJ1dGVzKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmICgnZ2V0JyBpbiBBdHRyaWJ1dGVzIHx8ICdzZXQnIGluIEF0dHJpYnV0ZXMpIHRocm93IFR5cGVFcnJvcignQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQhJyk7XG4gIGlmICgndmFsdWUnIGluIEF0dHJpYnV0ZXMpIE9bUF0gPSBBdHRyaWJ1dGVzLnZhbHVlO1xuICByZXR1cm4gTztcbn07XG4iLCJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGdldEtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoTywgUHJvcGVydGllcykge1xuICBhbk9iamVjdChPKTtcbiAgdmFyIGtleXMgPSBnZXRLZXlzKFByb3BlcnRpZXMpO1xuICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gIHZhciBpID0gMDtcbiAgdmFyIFA7XG4gIHdoaWxlIChsZW5ndGggPiBpKSBkUC5mKE8sIFAgPSBrZXlzW2krK10sIFByb3BlcnRpZXNbUF0pO1xuICByZXR1cm4gTztcbn07XG4iLCIndXNlIHN0cmljdCc7XG4vLyBGb3JjZWQgcmVwbGFjZW1lbnQgcHJvdG90eXBlIGFjY2Vzc29ycyBtZXRob2RzXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2xpYnJhcnknKSB8fCAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHZhciBLID0gTWF0aC5yYW5kb20oKTtcbiAgLy8gSW4gRkYgdGhyb3dzIG9ubHkgZGVmaW5lIG1ldGhvZHNcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmLCBuby11c2VsZXNzLWNhbGxcbiAgX19kZWZpbmVTZXR0ZXJfXy5jYWxsKG51bGwsIEssIGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfSk7XG4gIGRlbGV0ZSByZXF1aXJlKCcuL19nbG9iYWwnKVtLXTtcbn0pO1xuIiwidmFyIHBJRSA9IHJlcXVpcmUoJy4vX29iamVjdC1waWUnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIElFOF9ET01fREVGSU5FID0gcmVxdWlyZSgnLi9faWU4LWRvbS1kZWZpbmUnKTtcbnZhciBnT1BEID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuZXhwb3J0cy5mID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IGdPUEQgOiBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTywgUCkge1xuICBPID0gdG9JT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gZ09QRChPLCBQKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmIChoYXMoTywgUCkpIHJldHVybiBjcmVhdGVEZXNjKCFwSUUuZi5jYWxsKE8sIFApLCBPW1BdKTtcbn07XG4iLCIvLyBmYWxsYmFjayBmb3IgSUUxMSBidWdneSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB3aXRoIGlmcmFtZSBhbmQgd2luZG93XG52YXIgdG9JT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8taW9iamVjdCcpO1xudmFyIGdPUE4gPSByZXF1aXJlKCcuL19vYmplY3QtZ29wbicpLmY7XG52YXIgdG9TdHJpbmcgPSB7fS50b1N0cmluZztcblxudmFyIHdpbmRvd05hbWVzID0gdHlwZW9mIHdpbmRvdyA9PSAnb2JqZWN0JyAmJiB3aW5kb3cgJiYgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXNcbiAgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW5kb3cpIDogW107XG5cbnZhciBnZXRXaW5kb3dOYW1lcyA9IGZ1bmN0aW9uIChpdCkge1xuICB0cnkge1xuICAgIHJldHVybiBnT1BOKGl0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB3aW5kb3dOYW1lcy5zbGljZSgpO1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cy5mID0gZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlOYW1lcyhpdCkge1xuICByZXR1cm4gd2luZG93TmFtZXMgJiYgdG9TdHJpbmcuY2FsbChpdCkgPT0gJ1tvYmplY3QgV2luZG93XScgPyBnZXRXaW5kb3dOYW1lcyhpdCkgOiBnT1BOKHRvSU9iamVjdChpdCkpO1xufTtcbiIsIi8vIDE5LjEuMi43IC8gMTUuMi4zLjQgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoTylcbnZhciAka2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzLWludGVybmFsJyk7XG52YXIgaGlkZGVuS2V5cyA9IHJlcXVpcmUoJy4vX2VudW0tYnVnLWtleXMnKS5jb25jYXQoJ2xlbmd0aCcsICdwcm90b3R5cGUnKTtcblxuZXhwb3J0cy5mID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgfHwgZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlOYW1lcyhPKSB7XG4gIHJldHVybiAka2V5cyhPLCBoaWRkZW5LZXlzKTtcbn07XG4iLCJleHBvcnRzLmYgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xuIiwiLy8gMTkuMS4yLjkgLyAxNS4yLjMuMiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoTylcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIElFX1BST1RPID0gcmVxdWlyZSgnLi9fc2hhcmVkLWtleScpKCdJRV9QUk9UTycpO1xudmFyIE9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gKE8pIHtcbiAgTyA9IHRvT2JqZWN0KE8pO1xuICBpZiAoaGFzKE8sIElFX1BST1RPKSkgcmV0dXJuIE9bSUVfUFJPVE9dO1xuICBpZiAodHlwZW9mIE8uY29uc3RydWN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBPIGluc3RhbmNlb2YgTy5jb25zdHJ1Y3Rvcikge1xuICAgIHJldHVybiBPLmNvbnN0cnVjdG9yLnByb3RvdHlwZTtcbiAgfSByZXR1cm4gTyBpbnN0YW5jZW9mIE9iamVjdCA/IE9iamVjdFByb3RvIDogbnVsbDtcbn07XG4iLCJ2YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgdG9JT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8taW9iamVjdCcpO1xudmFyIGFycmF5SW5kZXhPZiA9IHJlcXVpcmUoJy4vX2FycmF5LWluY2x1ZGVzJykoZmFsc2UpO1xudmFyIElFX1BST1RPID0gcmVxdWlyZSgnLi9fc2hhcmVkLWtleScpKCdJRV9QUk9UTycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvYmplY3QsIG5hbWVzKSB7XG4gIHZhciBPID0gdG9JT2JqZWN0KG9iamVjdCk7XG4gIHZhciBpID0gMDtcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICB2YXIga2V5O1xuICBmb3IgKGtleSBpbiBPKSBpZiAoa2V5ICE9IElFX1BST1RPKSBoYXMoTywga2V5KSAmJiByZXN1bHQucHVzaChrZXkpO1xuICAvLyBEb24ndCBlbnVtIGJ1ZyAmIGhpZGRlbiBrZXlzXG4gIHdoaWxlIChuYW1lcy5sZW5ndGggPiBpKSBpZiAoaGFzKE8sIGtleSA9IG5hbWVzW2krK10pKSB7XG4gICAgfmFycmF5SW5kZXhPZihyZXN1bHQsIGtleSkgfHwgcmVzdWx0LnB1c2goa2V5KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcbiIsIi8vIDE5LjEuMi4xNCAvIDE1LjIuMy4xNCBPYmplY3Qua2V5cyhPKVxudmFyICRrZXlzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWtleXMtaW50ZXJuYWwnKTtcbnZhciBlbnVtQnVnS2V5cyA9IHJlcXVpcmUoJy4vX2VudW0tYnVnLWtleXMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3Qua2V5cyB8fCBmdW5jdGlvbiBrZXlzKE8pIHtcbiAgcmV0dXJuICRrZXlzKE8sIGVudW1CdWdLZXlzKTtcbn07XG4iLCJleHBvcnRzLmYgPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbiIsIi8vIG1vc3QgT2JqZWN0IG1ldGhvZHMgYnkgRVM2IHNob3VsZCBhY2NlcHQgcHJpbWl0aXZlc1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKEtFWSwgZXhlYykge1xuICB2YXIgZm4gPSAoY29yZS5PYmplY3QgfHwge30pW0tFWV0gfHwgT2JqZWN0W0tFWV07XG4gIHZhciBleHAgPSB7fTtcbiAgZXhwW0tFWV0gPSBleGVjKGZuKTtcbiAgJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiBmYWlscyhmdW5jdGlvbiAoKSB7IGZuKDEpOyB9KSwgJ09iamVjdCcsIGV4cCk7XG59O1xuIiwidmFyIGdldEtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciBpc0VudW0gPSByZXF1aXJlKCcuL19vYmplY3QtcGllJykuZjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGlzRW50cmllcykge1xuICByZXR1cm4gZnVuY3Rpb24gKGl0KSB7XG4gICAgdmFyIE8gPSB0b0lPYmplY3QoaXQpO1xuICAgIHZhciBrZXlzID0gZ2V0S2V5cyhPKTtcbiAgICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gICAgdmFyIGkgPSAwO1xuICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICB2YXIga2V5O1xuICAgIHdoaWxlIChsZW5ndGggPiBpKSBpZiAoaXNFbnVtLmNhbGwoTywga2V5ID0ga2V5c1tpKytdKSkge1xuICAgICAgcmVzdWx0LnB1c2goaXNFbnRyaWVzID8gW2tleSwgT1trZXldXSA6IE9ba2V5XSk7XG4gICAgfSByZXR1cm4gcmVzdWx0O1xuICB9O1xufTtcbiIsIi8vIGFsbCBvYmplY3Qga2V5cywgaW5jbHVkZXMgbm9uLWVudW1lcmFibGUgYW5kIHN5bWJvbHNcbnZhciBnT1BOID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcG4nKTtcbnZhciBnT1BTID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcHMnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIFJlZmxlY3QgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5SZWZsZWN0O1xubW9kdWxlLmV4cG9ydHMgPSBSZWZsZWN0ICYmIFJlZmxlY3Qub3duS2V5cyB8fCBmdW5jdGlvbiBvd25LZXlzKGl0KSB7XG4gIHZhciBrZXlzID0gZ09QTi5mKGFuT2JqZWN0KGl0KSk7XG4gIHZhciBnZXRTeW1ib2xzID0gZ09QUy5mO1xuICByZXR1cm4gZ2V0U3ltYm9scyA/IGtleXMuY29uY2F0KGdldFN5bWJvbHMoaXQpKSA6IGtleXM7XG59O1xuIiwidmFyICRwYXJzZUZsb2F0ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykucGFyc2VGbG9hdDtcbnZhciAkdHJpbSA9IHJlcXVpcmUoJy4vX3N0cmluZy10cmltJykudHJpbTtcblxubW9kdWxlLmV4cG9ydHMgPSAxIC8gJHBhcnNlRmxvYXQocmVxdWlyZSgnLi9fc3RyaW5nLXdzJykgKyAnLTAnKSAhPT0gLUluZmluaXR5ID8gZnVuY3Rpb24gcGFyc2VGbG9hdChzdHIpIHtcbiAgdmFyIHN0cmluZyA9ICR0cmltKFN0cmluZyhzdHIpLCAzKTtcbiAgdmFyIHJlc3VsdCA9ICRwYXJzZUZsb2F0KHN0cmluZyk7XG4gIHJldHVybiByZXN1bHQgPT09IDAgJiYgc3RyaW5nLmNoYXJBdCgwKSA9PSAnLScgPyAtMCA6IHJlc3VsdDtcbn0gOiAkcGFyc2VGbG9hdDtcbiIsInZhciAkcGFyc2VJbnQgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5wYXJzZUludDtcbnZhciAkdHJpbSA9IHJlcXVpcmUoJy4vX3N0cmluZy10cmltJykudHJpbTtcbnZhciB3cyA9IHJlcXVpcmUoJy4vX3N0cmluZy13cycpO1xudmFyIGhleCA9IC9eWy0rXT8wW3hYXS87XG5cbm1vZHVsZS5leHBvcnRzID0gJHBhcnNlSW50KHdzICsgJzA4JykgIT09IDggfHwgJHBhcnNlSW50KHdzICsgJzB4MTYnKSAhPT0gMjIgPyBmdW5jdGlvbiBwYXJzZUludChzdHIsIHJhZGl4KSB7XG4gIHZhciBzdHJpbmcgPSAkdHJpbShTdHJpbmcoc3RyKSwgMyk7XG4gIHJldHVybiAkcGFyc2VJbnQoc3RyaW5nLCAocmFkaXggPj4+IDApIHx8IChoZXgudGVzdChzdHJpbmcpID8gMTYgOiAxMCkpO1xufSA6ICRwYXJzZUludDtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4geyBlOiBmYWxzZSwgdjogZXhlYygpIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4geyBlOiB0cnVlLCB2OiBlIH07XG4gIH1cbn07XG4iLCJ2YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIG5ld1Byb21pc2VDYXBhYmlsaXR5ID0gcmVxdWlyZSgnLi9fbmV3LXByb21pc2UtY2FwYWJpbGl0eScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChDLCB4KSB7XG4gIGFuT2JqZWN0KEMpO1xuICBpZiAoaXNPYmplY3QoeCkgJiYgeC5jb25zdHJ1Y3RvciA9PT0gQykgcmV0dXJuIHg7XG4gIHZhciBwcm9taXNlQ2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5LmYoQyk7XG4gIHZhciByZXNvbHZlID0gcHJvbWlzZUNhcGFiaWxpdHkucmVzb2x2ZTtcbiAgcmVzb2x2ZSh4KTtcbiAgcmV0dXJuIHByb21pc2VDYXBhYmlsaXR5LnByb21pc2U7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoYml0bWFwLCB2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6ICEoYml0bWFwICYgMSksXG4gICAgY29uZmlndXJhYmxlOiAhKGJpdG1hcCAmIDIpLFxuICAgIHdyaXRhYmxlOiAhKGJpdG1hcCAmIDQpLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufTtcbiIsInZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh0YXJnZXQsIHNyYywgc2FmZSkge1xuICBmb3IgKHZhciBrZXkgaW4gc3JjKSByZWRlZmluZSh0YXJnZXQsIGtleSwgc3JjW2tleV0sIHNhZmUpO1xuICByZXR1cm4gdGFyZ2V0O1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIFNSQyA9IHJlcXVpcmUoJy4vX3VpZCcpKCdzcmMnKTtcbnZhciBUT19TVFJJTkcgPSAndG9TdHJpbmcnO1xudmFyICR0b1N0cmluZyA9IEZ1bmN0aW9uW1RPX1NUUklOR107XG52YXIgVFBMID0gKCcnICsgJHRvU3RyaW5nKS5zcGxpdChUT19TVFJJTkcpO1xuXG5yZXF1aXJlKCcuL19jb3JlJykuaW5zcGVjdFNvdXJjZSA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gJHRvU3RyaW5nLmNhbGwoaXQpO1xufTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE8sIGtleSwgdmFsLCBzYWZlKSB7XG4gIHZhciBpc0Z1bmN0aW9uID0gdHlwZW9mIHZhbCA9PSAnZnVuY3Rpb24nO1xuICBpZiAoaXNGdW5jdGlvbikgaGFzKHZhbCwgJ25hbWUnKSB8fCBoaWRlKHZhbCwgJ25hbWUnLCBrZXkpO1xuICBpZiAoT1trZXldID09PSB2YWwpIHJldHVybjtcbiAgaWYgKGlzRnVuY3Rpb24pIGhhcyh2YWwsIFNSQykgfHwgaGlkZSh2YWwsIFNSQywgT1trZXldID8gJycgKyBPW2tleV0gOiBUUEwuam9pbihTdHJpbmcoa2V5KSkpO1xuICBpZiAoTyA9PT0gZ2xvYmFsKSB7XG4gICAgT1trZXldID0gdmFsO1xuICB9IGVsc2UgaWYgKCFzYWZlKSB7XG4gICAgZGVsZXRlIE9ba2V5XTtcbiAgICBoaWRlKE8sIGtleSwgdmFsKTtcbiAgfSBlbHNlIGlmIChPW2tleV0pIHtcbiAgICBPW2tleV0gPSB2YWw7XG4gIH0gZWxzZSB7XG4gICAgaGlkZShPLCBrZXksIHZhbCk7XG4gIH1cbi8vIGFkZCBmYWtlIEZ1bmN0aW9uI3RvU3RyaW5nIGZvciBjb3JyZWN0IHdvcmsgd3JhcHBlZCBtZXRob2RzIC8gY29uc3RydWN0b3JzIHdpdGggbWV0aG9kcyBsaWtlIExvRGFzaCBpc05hdGl2ZVxufSkoRnVuY3Rpb24ucHJvdG90eXBlLCBUT19TVFJJTkcsIGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICByZXR1cm4gdHlwZW9mIHRoaXMgPT0gJ2Z1bmN0aW9uJyAmJiB0aGlzW1NSQ10gfHwgJHRvU3RyaW5nLmNhbGwodGhpcyk7XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGNsYXNzb2YgPSByZXF1aXJlKCcuL19jbGFzc29mJyk7XG52YXIgYnVpbHRpbkV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7XG5cbiAvLyBgUmVnRXhwRXhlY2AgYWJzdHJhY3Qgb3BlcmF0aW9uXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1yZWdleHBleGVjXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChSLCBTKSB7XG4gIHZhciBleGVjID0gUi5leGVjO1xuICBpZiAodHlwZW9mIGV4ZWMgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgcmVzdWx0ID0gZXhlYy5jYWxsKFIsIFMpO1xuICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9PSAnb2JqZWN0Jykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignUmVnRXhwIGV4ZWMgbWV0aG9kIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIE9iamVjdCBvciBudWxsJyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgaWYgKGNsYXNzb2YoUikgIT09ICdSZWdFeHAnKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignUmVnRXhwI2V4ZWMgY2FsbGVkIG9uIGluY29tcGF0aWJsZSByZWNlaXZlcicpO1xuICB9XG4gIHJldHVybiBidWlsdGluRXhlYy5jYWxsKFIsIFMpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHJlZ2V4cEZsYWdzID0gcmVxdWlyZSgnLi9fZmxhZ3MnKTtcblxudmFyIG5hdGl2ZUV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7XG4vLyBUaGlzIGFsd2F5cyByZWZlcnMgdG8gdGhlIG5hdGl2ZSBpbXBsZW1lbnRhdGlvbiwgYmVjYXVzZSB0aGVcbi8vIFN0cmluZyNyZXBsYWNlIHBvbHlmaWxsIHVzZXMgLi9maXgtcmVnZXhwLXdlbGwta25vd24tc3ltYm9sLWxvZ2ljLmpzLFxuLy8gd2hpY2ggbG9hZHMgdGhpcyBmaWxlIGJlZm9yZSBwYXRjaGluZyB0aGUgbWV0aG9kLlxudmFyIG5hdGl2ZVJlcGxhY2UgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7XG5cbnZhciBwYXRjaGVkRXhlYyA9IG5hdGl2ZUV4ZWM7XG5cbnZhciBMQVNUX0lOREVYID0gJ2xhc3RJbmRleCc7XG5cbnZhciBVUERBVEVTX0xBU1RfSU5ERVhfV1JPTkcgPSAoZnVuY3Rpb24gKCkge1xuICB2YXIgcmUxID0gL2EvLFxuICAgICAgcmUyID0gL2IqL2c7XG4gIG5hdGl2ZUV4ZWMuY2FsbChyZTEsICdhJyk7XG4gIG5hdGl2ZUV4ZWMuY2FsbChyZTIsICdhJyk7XG4gIHJldHVybiByZTFbTEFTVF9JTkRFWF0gIT09IDAgfHwgcmUyW0xBU1RfSU5ERVhdICE9PSAwO1xufSkoKTtcblxuLy8gbm9ucGFydGljaXBhdGluZyBjYXB0dXJpbmcgZ3JvdXAsIGNvcGllZCBmcm9tIGVzNS1zaGltJ3MgU3RyaW5nI3NwbGl0IHBhdGNoLlxudmFyIE5QQ0dfSU5DTFVERUQgPSAvKCk/Py8uZXhlYygnJylbMV0gIT09IHVuZGVmaW5lZDtcblxudmFyIFBBVENIID0gVVBEQVRFU19MQVNUX0lOREVYX1dST05HIHx8IE5QQ0dfSU5DTFVERUQ7XG5cbmlmIChQQVRDSCkge1xuICBwYXRjaGVkRXhlYyA9IGZ1bmN0aW9uIGV4ZWMoc3RyKSB7XG4gICAgdmFyIHJlID0gdGhpcztcbiAgICB2YXIgbGFzdEluZGV4LCByZUNvcHksIG1hdGNoLCBpO1xuXG4gICAgaWYgKE5QQ0dfSU5DTFVERUQpIHtcbiAgICAgIHJlQ29weSA9IG5ldyBSZWdFeHAoJ14nICsgcmUuc291cmNlICsgJyQoPyFcXFxccyknLCByZWdleHBGbGFncy5jYWxsKHJlKSk7XG4gICAgfVxuICAgIGlmIChVUERBVEVTX0xBU1RfSU5ERVhfV1JPTkcpIGxhc3RJbmRleCA9IHJlW0xBU1RfSU5ERVhdO1xuXG4gICAgbWF0Y2ggPSBuYXRpdmVFeGVjLmNhbGwocmUsIHN0cik7XG5cbiAgICBpZiAoVVBEQVRFU19MQVNUX0lOREVYX1dST05HICYmIG1hdGNoKSB7XG4gICAgICByZVtMQVNUX0lOREVYXSA9IHJlLmdsb2JhbCA/IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoIDogbGFzdEluZGV4O1xuICAgIH1cbiAgICBpZiAoTlBDR19JTkNMVURFRCAmJiBtYXRjaCAmJiBtYXRjaC5sZW5ndGggPiAxKSB7XG4gICAgICAvLyBGaXggYnJvd3NlcnMgd2hvc2UgYGV4ZWNgIG1ldGhvZHMgZG9uJ3QgY29uc2lzdGVudGx5IHJldHVybiBgdW5kZWZpbmVkYFxuICAgICAgLy8gZm9yIE5QQ0csIGxpa2UgSUU4LiBOT1RFOiBUaGlzIGRvZXNuJyB3b3JrIGZvciAvKC4/KT8vXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbG9vcC1mdW5jXG4gICAgICBuYXRpdmVSZXBsYWNlLmNhbGwobWF0Y2hbMF0sIHJlQ29weSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBmb3IgKGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aCAtIDI7IGkrKykge1xuICAgICAgICAgIGlmIChhcmd1bWVudHNbaV0gPT09IHVuZGVmaW5lZCkgbWF0Y2hbaV0gPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaDtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBwYXRjaGVkRXhlYztcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHJlZ0V4cCwgcmVwbGFjZSkge1xuICB2YXIgcmVwbGFjZXIgPSByZXBsYWNlID09PSBPYmplY3QocmVwbGFjZSkgPyBmdW5jdGlvbiAocGFydCkge1xuICAgIHJldHVybiByZXBsYWNlW3BhcnRdO1xuICB9IDogcmVwbGFjZTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChpdCkge1xuICAgIHJldHVybiBTdHJpbmcoaXQpLnJlcGxhY2UocmVnRXhwLCByZXBsYWNlcik7XG4gIH07XG59O1xuIiwiLy8gNy4yLjkgU2FtZVZhbHVlKHgsIHkpXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5pcyB8fCBmdW5jdGlvbiBpcyh4LCB5KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgcmV0dXJuIHggPT09IHkgPyB4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geSA6IHggIT0geCAmJiB5ICE9IHk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9wcm9wb3NhbC1zZXRtYXAtb2Zmcm9tL1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgZm9yT2YgPSByZXF1aXJlKCcuL19mb3Itb2YnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQ09MTEVDVElPTikge1xuICAkZXhwb3J0KCRleHBvcnQuUywgQ09MTEVDVElPTiwgeyBmcm9tOiBmdW5jdGlvbiBmcm9tKHNvdXJjZSAvKiAsIG1hcEZuLCB0aGlzQXJnICovKSB7XG4gICAgdmFyIG1hcEZuID0gYXJndW1lbnRzWzFdO1xuICAgIHZhciBtYXBwaW5nLCBBLCBuLCBjYjtcbiAgICBhRnVuY3Rpb24odGhpcyk7XG4gICAgbWFwcGluZyA9IG1hcEZuICE9PSB1bmRlZmluZWQ7XG4gICAgaWYgKG1hcHBpbmcpIGFGdW5jdGlvbihtYXBGbik7XG4gICAgaWYgKHNvdXJjZSA9PSB1bmRlZmluZWQpIHJldHVybiBuZXcgdGhpcygpO1xuICAgIEEgPSBbXTtcbiAgICBpZiAobWFwcGluZykge1xuICAgICAgbiA9IDA7XG4gICAgICBjYiA9IGN0eChtYXBGbiwgYXJndW1lbnRzWzJdLCAyKTtcbiAgICAgIGZvck9mKHNvdXJjZSwgZmFsc2UsIGZ1bmN0aW9uIChuZXh0SXRlbSkge1xuICAgICAgICBBLnB1c2goY2IobmV4dEl0ZW0sIG4rKykpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvck9mKHNvdXJjZSwgZmFsc2UsIEEucHVzaCwgQSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgdGhpcyhBKTtcbiAgfSB9KTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLXNldG1hcC1vZmZyb20vXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChDT0xMRUNUSU9OKSB7XG4gICRleHBvcnQoJGV4cG9ydC5TLCBDT0xMRUNUSU9OLCB7IG9mOiBmdW5jdGlvbiBvZigpIHtcbiAgICB2YXIgbGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICB2YXIgQSA9IG5ldyBBcnJheShsZW5ndGgpO1xuICAgIHdoaWxlIChsZW5ndGgtLSkgQVtsZW5ndGhdID0gYXJndW1lbnRzW2xlbmd0aF07XG4gICAgcmV0dXJuIG5ldyB0aGlzKEEpO1xuICB9IH0pO1xufTtcbiIsIi8vIFdvcmtzIHdpdGggX19wcm90b19fIG9ubHkuIE9sZCB2OCBjYW4ndCB3b3JrIHdpdGggbnVsbCBwcm90byBvYmplY3RzLlxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG8gKi9cbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgY2hlY2sgPSBmdW5jdGlvbiAoTywgcHJvdG8pIHtcbiAgYW5PYmplY3QoTyk7XG4gIGlmICghaXNPYmplY3QocHJvdG8pICYmIHByb3RvICE9PSBudWxsKSB0aHJvdyBUeXBlRXJyb3IocHJvdG8gKyBcIjogY2FuJ3Qgc2V0IGFzIHByb3RvdHlwZSFcIik7XG59O1xubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHNldDogT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8ICgnX19wcm90b19fJyBpbiB7fSA/IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICBmdW5jdGlvbiAodGVzdCwgYnVnZ3ksIHNldCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0ID0gcmVxdWlyZSgnLi9fY3R4JykoRnVuY3Rpb24uY2FsbCwgcmVxdWlyZSgnLi9fb2JqZWN0LWdvcGQnKS5mKE9iamVjdC5wcm90b3R5cGUsICdfX3Byb3RvX18nKS5zZXQsIDIpO1xuICAgICAgICBzZXQodGVzdCwgW10pO1xuICAgICAgICBidWdneSA9ICEodGVzdCBpbnN0YW5jZW9mIEFycmF5KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHsgYnVnZ3kgPSB0cnVlOyB9XG4gICAgICByZXR1cm4gZnVuY3Rpb24gc2V0UHJvdG90eXBlT2YoTywgcHJvdG8pIHtcbiAgICAgICAgY2hlY2soTywgcHJvdG8pO1xuICAgICAgICBpZiAoYnVnZ3kpIE8uX19wcm90b19fID0gcHJvdG87XG4gICAgICAgIGVsc2Ugc2V0KE8sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIE87XG4gICAgICB9O1xuICAgIH0oe30sIGZhbHNlKSA6IHVuZGVmaW5lZCksXG4gIGNoZWNrOiBjaGVja1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIERFU0NSSVBUT1JTID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKTtcbnZhciBTUEVDSUVTID0gcmVxdWlyZSgnLi9fd2tzJykoJ3NwZWNpZXMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZKSB7XG4gIHZhciBDID0gZ2xvYmFsW0tFWV07XG4gIGlmIChERVNDUklQVE9SUyAmJiBDICYmICFDW1NQRUNJRVNdKSBkUC5mKEMsIFNQRUNJRVMsIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9XG4gIH0pO1xufTtcbiIsInZhciBkZWYgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIFRBRyA9IHJlcXVpcmUoJy4vX3drcycpKCd0b1N0cmluZ1RhZycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgdGFnLCBzdGF0KSB7XG4gIGlmIChpdCAmJiAhaGFzKGl0ID0gc3RhdCA/IGl0IDogaXQucHJvdG90eXBlLCBUQUcpKSBkZWYoaXQsIFRBRywgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiB0YWcgfSk7XG59O1xuIiwidmFyIHNoYXJlZCA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCdrZXlzJyk7XG52YXIgdWlkID0gcmVxdWlyZSgnLi9fdWlkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuIHNoYXJlZFtrZXldIHx8IChzaGFyZWRba2V5XSA9IHVpZChrZXkpKTtcbn07XG4iLCJ2YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBTSEFSRUQgPSAnX19jb3JlLWpzX3NoYXJlZF9fJztcbnZhciBzdG9yZSA9IGdsb2JhbFtTSEFSRURdIHx8IChnbG9iYWxbU0hBUkVEXSA9IHt9KTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgcmV0dXJuIHN0b3JlW2tleV0gfHwgKHN0b3JlW2tleV0gPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiB7fSk7XG59KSgndmVyc2lvbnMnLCBbXSkucHVzaCh7XG4gIHZlcnNpb246IGNvcmUudmVyc2lvbixcbiAgbW9kZTogcmVxdWlyZSgnLi9fbGlicmFyeScpID8gJ3B1cmUnIDogJ2dsb2JhbCcsXG4gIGNvcHlyaWdodDogJ8KpIDIwMTggRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSknXG59KTtcbiIsIi8vIDcuMy4yMCBTcGVjaWVzQ29uc3RydWN0b3IoTywgZGVmYXVsdENvbnN0cnVjdG9yKVxudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyIFNQRUNJRVMgPSByZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoTywgRCkge1xuICB2YXIgQyA9IGFuT2JqZWN0KE8pLmNvbnN0cnVjdG9yO1xuICB2YXIgUztcbiAgcmV0dXJuIEMgPT09IHVuZGVmaW5lZCB8fCAoUyA9IGFuT2JqZWN0KEMpW1NQRUNJRVNdKSA9PSB1bmRlZmluZWQgPyBEIDogYUZ1bmN0aW9uKFMpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG1ldGhvZCwgYXJnKSB7XG4gIHJldHVybiAhIW1ldGhvZCAmJiBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtY2FsbFxuICAgIGFyZyA/IG1ldGhvZC5jYWxsKG51bGwsIGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfSwgMSkgOiBtZXRob2QuY2FsbChudWxsKTtcbiAgfSk7XG59O1xuIiwidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xuLy8gdHJ1ZSAgLT4gU3RyaW5nI2F0XG4vLyBmYWxzZSAtPiBTdHJpbmcjY29kZVBvaW50QXRcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFRPX1NUUklORykge1xuICByZXR1cm4gZnVuY3Rpb24gKHRoYXQsIHBvcykge1xuICAgIHZhciBzID0gU3RyaW5nKGRlZmluZWQodGhhdCkpO1xuICAgIHZhciBpID0gdG9JbnRlZ2VyKHBvcyk7XG4gICAgdmFyIGwgPSBzLmxlbmd0aDtcbiAgICB2YXIgYSwgYjtcbiAgICBpZiAoaSA8IDAgfHwgaSA+PSBsKSByZXR1cm4gVE9fU1RSSU5HID8gJycgOiB1bmRlZmluZWQ7XG4gICAgYSA9IHMuY2hhckNvZGVBdChpKTtcbiAgICByZXR1cm4gYSA8IDB4ZDgwMCB8fCBhID4gMHhkYmZmIHx8IGkgKyAxID09PSBsIHx8IChiID0gcy5jaGFyQ29kZUF0KGkgKyAxKSkgPCAweGRjMDAgfHwgYiA+IDB4ZGZmZlxuICAgICAgPyBUT19TVFJJTkcgPyBzLmNoYXJBdChpKSA6IGFcbiAgICAgIDogVE9fU1RSSU5HID8gcy5zbGljZShpLCBpICsgMikgOiAoYSAtIDB4ZDgwMCA8PCAxMCkgKyAoYiAtIDB4ZGMwMCkgKyAweDEwMDAwO1xuICB9O1xufTtcbiIsIi8vIGhlbHBlciBmb3IgU3RyaW5nI3tzdGFydHNXaXRoLCBlbmRzV2l0aCwgaW5jbHVkZXN9XG52YXIgaXNSZWdFeHAgPSByZXF1aXJlKCcuL19pcy1yZWdleHAnKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh0aGF0LCBzZWFyY2hTdHJpbmcsIE5BTUUpIHtcbiAgaWYgKGlzUmVnRXhwKHNlYXJjaFN0cmluZykpIHRocm93IFR5cGVFcnJvcignU3RyaW5nIycgKyBOQU1FICsgXCIgZG9lc24ndCBhY2NlcHQgcmVnZXghXCIpO1xuICByZXR1cm4gU3RyaW5nKGRlZmluZWQodGhhdCkpO1xufTtcbiIsInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG52YXIgcXVvdCA9IC9cIi9nO1xuLy8gQi4yLjMuMi4xIENyZWF0ZUhUTUwoc3RyaW5nLCB0YWcsIGF0dHJpYnV0ZSwgdmFsdWUpXG52YXIgY3JlYXRlSFRNTCA9IGZ1bmN0aW9uIChzdHJpbmcsIHRhZywgYXR0cmlidXRlLCB2YWx1ZSkge1xuICB2YXIgUyA9IFN0cmluZyhkZWZpbmVkKHN0cmluZykpO1xuICB2YXIgcDEgPSAnPCcgKyB0YWc7XG4gIGlmIChhdHRyaWJ1dGUgIT09ICcnKSBwMSArPSAnICcgKyBhdHRyaWJ1dGUgKyAnPVwiJyArIFN0cmluZyh2YWx1ZSkucmVwbGFjZShxdW90LCAnJnF1b3Q7JykgKyAnXCInO1xuICByZXR1cm4gcDEgKyAnPicgKyBTICsgJzwvJyArIHRhZyArICc+Jztcbn07XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChOQU1FLCBleGVjKSB7XG4gIHZhciBPID0ge307XG4gIE9bTkFNRV0gPSBleGVjKGNyZWF0ZUhUTUwpO1xuICAkZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgdGVzdCA9ICcnW05BTUVdKCdcIicpO1xuICAgIHJldHVybiB0ZXN0ICE9PSB0ZXN0LnRvTG93ZXJDYXNlKCkgfHwgdGVzdC5zcGxpdCgnXCInKS5sZW5ndGggPiAzO1xuICB9KSwgJ1N0cmluZycsIE8pO1xufTtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLXN0cmluZy1wYWQtc3RhcnQtZW5kXG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciByZXBlYXQgPSByZXF1aXJlKCcuL19zdHJpbmctcmVwZWF0Jyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodGhhdCwgbWF4TGVuZ3RoLCBmaWxsU3RyaW5nLCBsZWZ0KSB7XG4gIHZhciBTID0gU3RyaW5nKGRlZmluZWQodGhhdCkpO1xuICB2YXIgc3RyaW5nTGVuZ3RoID0gUy5sZW5ndGg7XG4gIHZhciBmaWxsU3RyID0gZmlsbFN0cmluZyA9PT0gdW5kZWZpbmVkID8gJyAnIDogU3RyaW5nKGZpbGxTdHJpbmcpO1xuICB2YXIgaW50TWF4TGVuZ3RoID0gdG9MZW5ndGgobWF4TGVuZ3RoKTtcbiAgaWYgKGludE1heExlbmd0aCA8PSBzdHJpbmdMZW5ndGggfHwgZmlsbFN0ciA9PSAnJykgcmV0dXJuIFM7XG4gIHZhciBmaWxsTGVuID0gaW50TWF4TGVuZ3RoIC0gc3RyaW5nTGVuZ3RoO1xuICB2YXIgc3RyaW5nRmlsbGVyID0gcmVwZWF0LmNhbGwoZmlsbFN0ciwgTWF0aC5jZWlsKGZpbGxMZW4gLyBmaWxsU3RyLmxlbmd0aCkpO1xuICBpZiAoc3RyaW5nRmlsbGVyLmxlbmd0aCA+IGZpbGxMZW4pIHN0cmluZ0ZpbGxlciA9IHN0cmluZ0ZpbGxlci5zbGljZSgwLCBmaWxsTGVuKTtcbiAgcmV0dXJuIGxlZnQgPyBzdHJpbmdGaWxsZXIgKyBTIDogUyArIHN0cmluZ0ZpbGxlcjtcbn07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcmVwZWF0KGNvdW50KSB7XG4gIHZhciBzdHIgPSBTdHJpbmcoZGVmaW5lZCh0aGlzKSk7XG4gIHZhciByZXMgPSAnJztcbiAgdmFyIG4gPSB0b0ludGVnZXIoY291bnQpO1xuICBpZiAobiA8IDAgfHwgbiA9PSBJbmZpbml0eSkgdGhyb3cgUmFuZ2VFcnJvcihcIkNvdW50IGNhbid0IGJlIG5lZ2F0aXZlXCIpO1xuICBmb3IgKDtuID4gMDsgKG4gPj4+PSAxKSAmJiAoc3RyICs9IHN0cikpIGlmIChuICYgMSkgcmVzICs9IHN0cjtcbiAgcmV0dXJuIHJlcztcbn07XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyIHNwYWNlcyA9IHJlcXVpcmUoJy4vX3N0cmluZy13cycpO1xudmFyIHNwYWNlID0gJ1snICsgc3BhY2VzICsgJ10nO1xudmFyIG5vbiA9ICdcXHUyMDBiXFx1MDA4NSc7XG52YXIgbHRyaW0gPSBSZWdFeHAoJ14nICsgc3BhY2UgKyBzcGFjZSArICcqJyk7XG52YXIgcnRyaW0gPSBSZWdFeHAoc3BhY2UgKyBzcGFjZSArICcqJCcpO1xuXG52YXIgZXhwb3J0ZXIgPSBmdW5jdGlvbiAoS0VZLCBleGVjLCBBTElBUykge1xuICB2YXIgZXhwID0ge307XG4gIHZhciBGT1JDRSA9IGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gISFzcGFjZXNbS0VZXSgpIHx8IG5vbltLRVldKCkgIT0gbm9uO1xuICB9KTtcbiAgdmFyIGZuID0gZXhwW0tFWV0gPSBGT1JDRSA/IGV4ZWModHJpbSkgOiBzcGFjZXNbS0VZXTtcbiAgaWYgKEFMSUFTKSBleHBbQUxJQVNdID0gZm47XG4gICRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogRk9SQ0UsICdTdHJpbmcnLCBleHApO1xufTtcblxuLy8gMSAtPiBTdHJpbmcjdHJpbUxlZnRcbi8vIDIgLT4gU3RyaW5nI3RyaW1SaWdodFxuLy8gMyAtPiBTdHJpbmcjdHJpbVxudmFyIHRyaW0gPSBleHBvcnRlci50cmltID0gZnVuY3Rpb24gKHN0cmluZywgVFlQRSkge1xuICBzdHJpbmcgPSBTdHJpbmcoZGVmaW5lZChzdHJpbmcpKTtcbiAgaWYgKFRZUEUgJiAxKSBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShsdHJpbSwgJycpO1xuICBpZiAoVFlQRSAmIDIpIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKHJ0cmltLCAnJyk7XG4gIHJldHVybiBzdHJpbmc7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydGVyO1xuIiwibW9kdWxlLmV4cG9ydHMgPSAnXFx4MDlcXHgwQVxceDBCXFx4MENcXHgwRFxceDIwXFx4QTBcXHUxNjgwXFx1MTgwRVxcdTIwMDBcXHUyMDAxXFx1MjAwMlxcdTIwMDMnICtcbiAgJ1xcdTIwMDRcXHUyMDA1XFx1MjAwNlxcdTIwMDdcXHUyMDA4XFx1MjAwOVxcdTIwMEFcXHUyMDJGXFx1MjA1RlxcdTMwMDBcXHUyMDI4XFx1MjAyOVxcdUZFRkYnO1xuIiwidmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIGludm9rZSA9IHJlcXVpcmUoJy4vX2ludm9rZScpO1xudmFyIGh0bWwgPSByZXF1aXJlKCcuL19odG1sJyk7XG52YXIgY2VsID0gcmVxdWlyZSgnLi9fZG9tLWNyZWF0ZScpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIHByb2Nlc3MgPSBnbG9iYWwucHJvY2VzcztcbnZhciBzZXRUYXNrID0gZ2xvYmFsLnNldEltbWVkaWF0ZTtcbnZhciBjbGVhclRhc2sgPSBnbG9iYWwuY2xlYXJJbW1lZGlhdGU7XG52YXIgTWVzc2FnZUNoYW5uZWwgPSBnbG9iYWwuTWVzc2FnZUNoYW5uZWw7XG52YXIgRGlzcGF0Y2ggPSBnbG9iYWwuRGlzcGF0Y2g7XG52YXIgY291bnRlciA9IDA7XG52YXIgcXVldWUgPSB7fTtcbnZhciBPTlJFQURZU1RBVEVDSEFOR0UgPSAnb25yZWFkeXN0YXRlY2hhbmdlJztcbnZhciBkZWZlciwgY2hhbm5lbCwgcG9ydDtcbnZhciBydW4gPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBpZCA9ICt0aGlzO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gIGlmIChxdWV1ZS5oYXNPd25Qcm9wZXJ0eShpZCkpIHtcbiAgICB2YXIgZm4gPSBxdWV1ZVtpZF07XG4gICAgZGVsZXRlIHF1ZXVlW2lkXTtcbiAgICBmbigpO1xuICB9XG59O1xudmFyIGxpc3RlbmVyID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gIHJ1bi5jYWxsKGV2ZW50LmRhdGEpO1xufTtcbi8vIE5vZGUuanMgMC45KyAmIElFMTArIGhhcyBzZXRJbW1lZGlhdGUsIG90aGVyd2lzZTpcbmlmICghc2V0VGFzayB8fCAhY2xlYXJUYXNrKSB7XG4gIHNldFRhc2sgPSBmdW5jdGlvbiBzZXRJbW1lZGlhdGUoZm4pIHtcbiAgICB2YXIgYXJncyA9IFtdO1xuICAgIHZhciBpID0gMTtcbiAgICB3aGlsZSAoYXJndW1lbnRzLmxlbmd0aCA+IGkpIGFyZ3MucHVzaChhcmd1bWVudHNbaSsrXSk7XG4gICAgcXVldWVbKytjb3VudGVyXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuY1xuICAgICAgaW52b2tlKHR5cGVvZiBmbiA9PSAnZnVuY3Rpb24nID8gZm4gOiBGdW5jdGlvbihmbiksIGFyZ3MpO1xuICAgIH07XG4gICAgZGVmZXIoY291bnRlcik7XG4gICAgcmV0dXJuIGNvdW50ZXI7XG4gIH07XG4gIGNsZWFyVGFzayA9IGZ1bmN0aW9uIGNsZWFySW1tZWRpYXRlKGlkKSB7XG4gICAgZGVsZXRlIHF1ZXVlW2lkXTtcbiAgfTtcbiAgLy8gTm9kZS5qcyAwLjgtXG4gIGlmIChyZXF1aXJlKCcuL19jb2YnKShwcm9jZXNzKSA9PSAncHJvY2VzcycpIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhjdHgocnVuLCBpZCwgMSkpO1xuICAgIH07XG4gIC8vIFNwaGVyZSAoSlMgZ2FtZSBlbmdpbmUpIERpc3BhdGNoIEFQSVxuICB9IGVsc2UgaWYgKERpc3BhdGNoICYmIERpc3BhdGNoLm5vdykge1xuICAgIGRlZmVyID0gZnVuY3Rpb24gKGlkKSB7XG4gICAgICBEaXNwYXRjaC5ub3coY3R4KHJ1biwgaWQsIDEpKTtcbiAgICB9O1xuICAvLyBCcm93c2VycyB3aXRoIE1lc3NhZ2VDaGFubmVsLCBpbmNsdWRlcyBXZWJXb3JrZXJzXG4gIH0gZWxzZSBpZiAoTWVzc2FnZUNoYW5uZWwpIHtcbiAgICBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7XG4gICAgcG9ydCA9IGNoYW5uZWwucG9ydDI7XG4gICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBsaXN0ZW5lcjtcbiAgICBkZWZlciA9IGN0eChwb3J0LnBvc3RNZXNzYWdlLCBwb3J0LCAxKTtcbiAgLy8gQnJvd3NlcnMgd2l0aCBwb3N0TWVzc2FnZSwgc2tpcCBXZWJXb3JrZXJzXG4gIC8vIElFOCBoYXMgcG9zdE1lc3NhZ2UsIGJ1dCBpdCdzIHN5bmMgJiB0eXBlb2YgaXRzIHBvc3RNZXNzYWdlIGlzICdvYmplY3QnXG4gIH0gZWxzZSBpZiAoZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIgJiYgdHlwZW9mIHBvc3RNZXNzYWdlID09ICdmdW5jdGlvbicgJiYgIWdsb2JhbC5pbXBvcnRTY3JpcHRzKSB7XG4gICAgZGVmZXIgPSBmdW5jdGlvbiAoaWQpIHtcbiAgICAgIGdsb2JhbC5wb3N0TWVzc2FnZShpZCArICcnLCAnKicpO1xuICAgIH07XG4gICAgZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBsaXN0ZW5lciwgZmFsc2UpO1xuICAvLyBJRTgtXG4gIH0gZWxzZSBpZiAoT05SRUFEWVNUQVRFQ0hBTkdFIGluIGNlbCgnc2NyaXB0JykpIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgaHRtbC5hcHBlbmRDaGlsZChjZWwoJ3NjcmlwdCcpKVtPTlJFQURZU1RBVEVDSEFOR0VdID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBodG1sLnJlbW92ZUNoaWxkKHRoaXMpO1xuICAgICAgICBydW4uY2FsbChpZCk7XG4gICAgICB9O1xuICAgIH07XG4gIC8vIFJlc3Qgb2xkIGJyb3dzZXJzXG4gIH0gZWxzZSB7XG4gICAgZGVmZXIgPSBmdW5jdGlvbiAoaWQpIHtcbiAgICAgIHNldFRpbWVvdXQoY3R4KHJ1biwgaWQsIDEpLCAwKTtcbiAgICB9O1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgc2V0OiBzZXRUYXNrLFxuICBjbGVhcjogY2xlYXJUYXNrXG59O1xuIiwidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgaW5kZXggPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW5kZXggPCAwID8gbWF4KGluZGV4ICsgbGVuZ3RoLCAwKSA6IG1pbihpbmRleCwgbGVuZ3RoKTtcbn07XG4iLCIvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy10b2luZGV4XG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoaXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gIHZhciBudW1iZXIgPSB0b0ludGVnZXIoaXQpO1xuICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgobnVtYmVyKTtcbiAgaWYgKG51bWJlciAhPT0gbGVuZ3RoKSB0aHJvdyBSYW5nZUVycm9yKCdXcm9uZyBsZW5ndGghJyk7XG4gIHJldHVybiBsZW5ndGg7XG59O1xuIiwiLy8gNy4xLjQgVG9JbnRlZ2VyXG52YXIgY2VpbCA9IE1hdGguY2VpbDtcbnZhciBmbG9vciA9IE1hdGguZmxvb3I7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXNOYU4oaXQgPSAraXQpID8gMCA6IChpdCA+IDAgPyBmbG9vciA6IGNlaWwpKGl0KTtcbn07XG4iLCIvLyB0byBpbmRleGVkIG9iamVjdCwgdG9PYmplY3Qgd2l0aCBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIHN0cmluZ3NcbnZhciBJT2JqZWN0ID0gcmVxdWlyZSgnLi9faW9iamVjdCcpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gSU9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuIiwiLy8gNy4xLjE1IFRvTGVuZ3RoXG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ID4gMCA/IG1pbih0b0ludGVnZXIoaXQpLCAweDFmZmZmZmZmZmZmZmZmKSA6IDA7IC8vIHBvdygyLCA1MykgLSAxID09IDkwMDcxOTkyNTQ3NDA5OTFcbn07XG4iLCIvLyA3LjEuMTMgVG9PYmplY3QoYXJndW1lbnQpXG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBPYmplY3QoZGVmaW5lZChpdCkpO1xufTtcbiIsIi8vIDcuMS4xIFRvUHJpbWl0aXZlKGlucHV0IFssIFByZWZlcnJlZFR5cGVdKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG4vLyBpbnN0ZWFkIG9mIHRoZSBFUzYgc3BlYyB2ZXJzaW9uLCB3ZSBkaWRuJ3QgaW1wbGVtZW50IEBAdG9QcmltaXRpdmUgY2FzZVxuLy8gYW5kIHRoZSBzZWNvbmQgYXJndW1lbnQgLSBmbGFnIC0gcHJlZmVycmVkIHR5cGUgaXMgYSBzdHJpbmdcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBTKSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSByZXR1cm4gaXQ7XG4gIHZhciBmbiwgdmFsO1xuICBpZiAoUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKHR5cGVvZiAoZm4gPSBpdC52YWx1ZU9mKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIGlmICghUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlXCIpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbmlmIChyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpKSB7XG4gIHZhciBMSUJSQVJZID0gcmVxdWlyZSgnLi9fbGlicmFyeScpO1xuICB2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG4gIHZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG4gIHZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG4gIHZhciAkdHlwZWQgPSByZXF1aXJlKCcuL190eXBlZCcpO1xuICB2YXIgJGJ1ZmZlciA9IHJlcXVpcmUoJy4vX3R5cGVkLWJ1ZmZlcicpO1xuICB2YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG4gIHZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi9fYW4taW5zdGFuY2UnKTtcbiAgdmFyIHByb3BlcnR5RGVzYyA9IHJlcXVpcmUoJy4vX3Byb3BlcnR5LWRlc2MnKTtcbiAgdmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG4gIHZhciByZWRlZmluZUFsbCA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lLWFsbCcpO1xuICB2YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xuICB2YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbiAgdmFyIHRvSW5kZXggPSByZXF1aXJlKCcuL190by1pbmRleCcpO1xuICB2YXIgdG9BYnNvbHV0ZUluZGV4ID0gcmVxdWlyZSgnLi9fdG8tYWJzb2x1dGUtaW5kZXgnKTtcbiAgdmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG4gIHZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbiAgdmFyIGNsYXNzb2YgPSByZXF1aXJlKCcuL19jbGFzc29mJyk7XG4gIHZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xuICB2YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbiAgdmFyIGlzQXJyYXlJdGVyID0gcmVxdWlyZSgnLi9faXMtYXJyYXktaXRlcicpO1xuICB2YXIgY3JlYXRlID0gcmVxdWlyZSgnLi9fb2JqZWN0LWNyZWF0ZScpO1xuICB2YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG4gIHZhciBnT1BOID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcG4nKS5mO1xuICB2YXIgZ2V0SXRlckZuID0gcmVxdWlyZSgnLi9jb3JlLmdldC1pdGVyYXRvci1tZXRob2QnKTtcbiAgdmFyIHVpZCA9IHJlcXVpcmUoJy4vX3VpZCcpO1xuICB2YXIgd2tzID0gcmVxdWlyZSgnLi9fd2tzJyk7XG4gIHZhciBjcmVhdGVBcnJheU1ldGhvZCA9IHJlcXVpcmUoJy4vX2FycmF5LW1ldGhvZHMnKTtcbiAgdmFyIGNyZWF0ZUFycmF5SW5jbHVkZXMgPSByZXF1aXJlKCcuL19hcnJheS1pbmNsdWRlcycpO1xuICB2YXIgc3BlY2llc0NvbnN0cnVjdG9yID0gcmVxdWlyZSgnLi9fc3BlY2llcy1jb25zdHJ1Y3RvcicpO1xuICB2YXIgQXJyYXlJdGVyYXRvcnMgPSByZXF1aXJlKCcuL2VzNi5hcnJheS5pdGVyYXRvcicpO1xuICB2YXIgSXRlcmF0b3JzID0gcmVxdWlyZSgnLi9faXRlcmF0b3JzJyk7XG4gIHZhciAkaXRlckRldGVjdCA9IHJlcXVpcmUoJy4vX2l0ZXItZGV0ZWN0Jyk7XG4gIHZhciBzZXRTcGVjaWVzID0gcmVxdWlyZSgnLi9fc2V0LXNwZWNpZXMnKTtcbiAgdmFyIGFycmF5RmlsbCA9IHJlcXVpcmUoJy4vX2FycmF5LWZpbGwnKTtcbiAgdmFyIGFycmF5Q29weVdpdGhpbiA9IHJlcXVpcmUoJy4vX2FycmF5LWNvcHktd2l0aGluJyk7XG4gIHZhciAkRFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbiAgdmFyICRHT1BEID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcGQnKTtcbiAgdmFyIGRQID0gJERQLmY7XG4gIHZhciBnT1BEID0gJEdPUEQuZjtcbiAgdmFyIFJhbmdlRXJyb3IgPSBnbG9iYWwuUmFuZ2VFcnJvcjtcbiAgdmFyIFR5cGVFcnJvciA9IGdsb2JhbC5UeXBlRXJyb3I7XG4gIHZhciBVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXk7XG4gIHZhciBBUlJBWV9CVUZGRVIgPSAnQXJyYXlCdWZmZXInO1xuICB2YXIgU0hBUkVEX0JVRkZFUiA9ICdTaGFyZWQnICsgQVJSQVlfQlVGRkVSO1xuICB2YXIgQllURVNfUEVSX0VMRU1FTlQgPSAnQllURVNfUEVSX0VMRU1FTlQnO1xuICB2YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG4gIHZhciBBcnJheVByb3RvID0gQXJyYXlbUFJPVE9UWVBFXTtcbiAgdmFyICRBcnJheUJ1ZmZlciA9ICRidWZmZXIuQXJyYXlCdWZmZXI7XG4gIHZhciAkRGF0YVZpZXcgPSAkYnVmZmVyLkRhdGFWaWV3O1xuICB2YXIgYXJyYXlGb3JFYWNoID0gY3JlYXRlQXJyYXlNZXRob2QoMCk7XG4gIHZhciBhcnJheUZpbHRlciA9IGNyZWF0ZUFycmF5TWV0aG9kKDIpO1xuICB2YXIgYXJyYXlTb21lID0gY3JlYXRlQXJyYXlNZXRob2QoMyk7XG4gIHZhciBhcnJheUV2ZXJ5ID0gY3JlYXRlQXJyYXlNZXRob2QoNCk7XG4gIHZhciBhcnJheUZpbmQgPSBjcmVhdGVBcnJheU1ldGhvZCg1KTtcbiAgdmFyIGFycmF5RmluZEluZGV4ID0gY3JlYXRlQXJyYXlNZXRob2QoNik7XG4gIHZhciBhcnJheUluY2x1ZGVzID0gY3JlYXRlQXJyYXlJbmNsdWRlcyh0cnVlKTtcbiAgdmFyIGFycmF5SW5kZXhPZiA9IGNyZWF0ZUFycmF5SW5jbHVkZXMoZmFsc2UpO1xuICB2YXIgYXJyYXlWYWx1ZXMgPSBBcnJheUl0ZXJhdG9ycy52YWx1ZXM7XG4gIHZhciBhcnJheUtleXMgPSBBcnJheUl0ZXJhdG9ycy5rZXlzO1xuICB2YXIgYXJyYXlFbnRyaWVzID0gQXJyYXlJdGVyYXRvcnMuZW50cmllcztcbiAgdmFyIGFycmF5TGFzdEluZGV4T2YgPSBBcnJheVByb3RvLmxhc3RJbmRleE9mO1xuICB2YXIgYXJyYXlSZWR1Y2UgPSBBcnJheVByb3RvLnJlZHVjZTtcbiAgdmFyIGFycmF5UmVkdWNlUmlnaHQgPSBBcnJheVByb3RvLnJlZHVjZVJpZ2h0O1xuICB2YXIgYXJyYXlKb2luID0gQXJyYXlQcm90by5qb2luO1xuICB2YXIgYXJyYXlTb3J0ID0gQXJyYXlQcm90by5zb3J0O1xuICB2YXIgYXJyYXlTbGljZSA9IEFycmF5UHJvdG8uc2xpY2U7XG4gIHZhciBhcnJheVRvU3RyaW5nID0gQXJyYXlQcm90by50b1N0cmluZztcbiAgdmFyIGFycmF5VG9Mb2NhbGVTdHJpbmcgPSBBcnJheVByb3RvLnRvTG9jYWxlU3RyaW5nO1xuICB2YXIgSVRFUkFUT1IgPSB3a3MoJ2l0ZXJhdG9yJyk7XG4gIHZhciBUQUcgPSB3a3MoJ3RvU3RyaW5nVGFnJyk7XG4gIHZhciBUWVBFRF9DT05TVFJVQ1RPUiA9IHVpZCgndHlwZWRfY29uc3RydWN0b3InKTtcbiAgdmFyIERFRl9DT05TVFJVQ1RPUiA9IHVpZCgnZGVmX2NvbnN0cnVjdG9yJyk7XG4gIHZhciBBTExfQ09OU1RSVUNUT1JTID0gJHR5cGVkLkNPTlNUUjtcbiAgdmFyIFRZUEVEX0FSUkFZID0gJHR5cGVkLlRZUEVEO1xuICB2YXIgVklFVyA9ICR0eXBlZC5WSUVXO1xuICB2YXIgV1JPTkdfTEVOR1RIID0gJ1dyb25nIGxlbmd0aCEnO1xuXG4gIHZhciAkbWFwID0gY3JlYXRlQXJyYXlNZXRob2QoMSwgZnVuY3Rpb24gKE8sIGxlbmd0aCkge1xuICAgIHJldHVybiBhbGxvY2F0ZShzcGVjaWVzQ29uc3RydWN0b3IoTywgT1tERUZfQ09OU1RSVUNUT1JdKSwgbGVuZ3RoKTtcbiAgfSk7XG5cbiAgdmFyIExJVFRMRV9FTkRJQU4gPSBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KG5ldyBVaW50MTZBcnJheShbMV0pLmJ1ZmZlcilbMF0gPT09IDE7XG4gIH0pO1xuXG4gIHZhciBGT1JDRURfU0VUID0gISFVaW50OEFycmF5ICYmICEhVWludDhBcnJheVtQUk9UT1RZUEVdLnNldCAmJiBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgbmV3IFVpbnQ4QXJyYXkoMSkuc2V0KHt9KTtcbiAgfSk7XG5cbiAgdmFyIHRvT2Zmc2V0ID0gZnVuY3Rpb24gKGl0LCBCWVRFUykge1xuICAgIHZhciBvZmZzZXQgPSB0b0ludGVnZXIoaXQpO1xuICAgIGlmIChvZmZzZXQgPCAwIHx8IG9mZnNldCAlIEJZVEVTKSB0aHJvdyBSYW5nZUVycm9yKCdXcm9uZyBvZmZzZXQhJyk7XG4gICAgcmV0dXJuIG9mZnNldDtcbiAgfTtcblxuICB2YXIgdmFsaWRhdGUgPSBmdW5jdGlvbiAoaXQpIHtcbiAgICBpZiAoaXNPYmplY3QoaXQpICYmIFRZUEVEX0FSUkFZIGluIGl0KSByZXR1cm4gaXQ7XG4gICAgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYSB0eXBlZCBhcnJheSEnKTtcbiAgfTtcblxuICB2YXIgYWxsb2NhdGUgPSBmdW5jdGlvbiAoQywgbGVuZ3RoKSB7XG4gICAgaWYgKCEoaXNPYmplY3QoQykgJiYgVFlQRURfQ09OU1RSVUNUT1IgaW4gQykpIHtcbiAgICAgIHRocm93IFR5cGVFcnJvcignSXQgaXMgbm90IGEgdHlwZWQgYXJyYXkgY29uc3RydWN0b3IhJyk7XG4gICAgfSByZXR1cm4gbmV3IEMobGVuZ3RoKTtcbiAgfTtcblxuICB2YXIgc3BlY2llc0Zyb21MaXN0ID0gZnVuY3Rpb24gKE8sIGxpc3QpIHtcbiAgICByZXR1cm4gZnJvbUxpc3Qoc3BlY2llc0NvbnN0cnVjdG9yKE8sIE9bREVGX0NPTlNUUlVDVE9SXSksIGxpc3QpO1xuICB9O1xuXG4gIHZhciBmcm9tTGlzdCA9IGZ1bmN0aW9uIChDLCBsaXN0KSB7XG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICB2YXIgbGVuZ3RoID0gbGlzdC5sZW5ndGg7XG4gICAgdmFyIHJlc3VsdCA9IGFsbG9jYXRlKEMsIGxlbmd0aCk7XG4gICAgd2hpbGUgKGxlbmd0aCA+IGluZGV4KSByZXN1bHRbaW5kZXhdID0gbGlzdFtpbmRleCsrXTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIHZhciBhZGRHZXR0ZXIgPSBmdW5jdGlvbiAoaXQsIGtleSwgaW50ZXJuYWwpIHtcbiAgICBkUChpdCwga2V5LCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fZFtpbnRlcm5hbF07IH0gfSk7XG4gIH07XG5cbiAgdmFyICRmcm9tID0gZnVuY3Rpb24gZnJvbShzb3VyY2UgLyogLCBtYXBmbiwgdGhpc0FyZyAqLykge1xuICAgIHZhciBPID0gdG9PYmplY3Qoc291cmNlKTtcbiAgICB2YXIgYUxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgdmFyIG1hcGZuID0gYUxlbiA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7XG4gICAgdmFyIG1hcHBpbmcgPSBtYXBmbiAhPT0gdW5kZWZpbmVkO1xuICAgIHZhciBpdGVyRm4gPSBnZXRJdGVyRm4oTyk7XG4gICAgdmFyIGksIGxlbmd0aCwgdmFsdWVzLCByZXN1bHQsIHN0ZXAsIGl0ZXJhdG9yO1xuICAgIGlmIChpdGVyRm4gIT0gdW5kZWZpbmVkICYmICFpc0FycmF5SXRlcihpdGVyRm4pKSB7XG4gICAgICBmb3IgKGl0ZXJhdG9yID0gaXRlckZuLmNhbGwoTyksIHZhbHVlcyA9IFtdLCBpID0gMDsgIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lOyBpKyspIHtcbiAgICAgICAgdmFsdWVzLnB1c2goc3RlcC52YWx1ZSk7XG4gICAgICB9IE8gPSB2YWx1ZXM7XG4gICAgfVxuICAgIGlmIChtYXBwaW5nICYmIGFMZW4gPiAyKSBtYXBmbiA9IGN0eChtYXBmbiwgYXJndW1lbnRzWzJdLCAyKTtcbiAgICBmb3IgKGkgPSAwLCBsZW5ndGggPSB0b0xlbmd0aChPLmxlbmd0aCksIHJlc3VsdCA9IGFsbG9jYXRlKHRoaXMsIGxlbmd0aCk7IGxlbmd0aCA+IGk7IGkrKykge1xuICAgICAgcmVzdWx0W2ldID0gbWFwcGluZyA/IG1hcGZuKE9baV0sIGkpIDogT1tpXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICB2YXIgJG9mID0gZnVuY3Rpb24gb2YoLyogLi4uaXRlbXMgKi8pIHtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciBsZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIHZhciByZXN1bHQgPSBhbGxvY2F0ZSh0aGlzLCBsZW5ndGgpO1xuICAgIHdoaWxlIChsZW5ndGggPiBpbmRleCkgcmVzdWx0W2luZGV4XSA9IGFyZ3VtZW50c1tpbmRleCsrXTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIC8vIGlPUyBTYWZhcmkgNi54IGZhaWxzIGhlcmVcbiAgdmFyIFRPX0xPQ0FMRV9CVUcgPSAhIVVpbnQ4QXJyYXkgJiYgZmFpbHMoZnVuY3Rpb24gKCkgeyBhcnJheVRvTG9jYWxlU3RyaW5nLmNhbGwobmV3IFVpbnQ4QXJyYXkoMSkpOyB9KTtcblxuICB2YXIgJHRvTG9jYWxlU3RyaW5nID0gZnVuY3Rpb24gdG9Mb2NhbGVTdHJpbmcoKSB7XG4gICAgcmV0dXJuIGFycmF5VG9Mb2NhbGVTdHJpbmcuYXBwbHkoVE9fTE9DQUxFX0JVRyA/IGFycmF5U2xpY2UuY2FsbCh2YWxpZGF0ZSh0aGlzKSkgOiB2YWxpZGF0ZSh0aGlzKSwgYXJndW1lbnRzKTtcbiAgfTtcblxuICB2YXIgcHJvdG8gPSB7XG4gICAgY29weVdpdGhpbjogZnVuY3Rpb24gY29weVdpdGhpbih0YXJnZXQsIHN0YXJ0IC8qICwgZW5kICovKSB7XG4gICAgICByZXR1cm4gYXJyYXlDb3B5V2l0aGluLmNhbGwodmFsaWRhdGUodGhpcyksIHRhcmdldCwgc3RhcnQsIGFyZ3VtZW50cy5sZW5ndGggPiAyID8gYXJndW1lbnRzWzJdIDogdW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIGV2ZXJ5OiBmdW5jdGlvbiBldmVyeShjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgICAgcmV0dXJuIGFycmF5RXZlcnkodmFsaWRhdGUodGhpcyksIGNhbGxiYWNrZm4sIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIGZpbGw6IGZ1bmN0aW9uIGZpbGwodmFsdWUgLyogLCBzdGFydCwgZW5kICovKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgIHJldHVybiBhcnJheUZpbGwuYXBwbHkodmFsaWRhdGUodGhpcyksIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBmaWx0ZXI6IGZ1bmN0aW9uIGZpbHRlcihjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgICAgcmV0dXJuIHNwZWNpZXNGcm9tTGlzdCh0aGlzLCBhcnJheUZpbHRlcih2YWxpZGF0ZSh0aGlzKSwgY2FsbGJhY2tmbixcbiAgICAgICAgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpKTtcbiAgICB9LFxuICAgIGZpbmQ6IGZ1bmN0aW9uIGZpbmQocHJlZGljYXRlIC8qICwgdGhpc0FyZyAqLykge1xuICAgICAgcmV0dXJuIGFycmF5RmluZCh2YWxpZGF0ZSh0aGlzKSwgcHJlZGljYXRlLCBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCk7XG4gICAgfSxcbiAgICBmaW5kSW5kZXg6IGZ1bmN0aW9uIGZpbmRJbmRleChwcmVkaWNhdGUgLyogLCB0aGlzQXJnICovKSB7XG4gICAgICByZXR1cm4gYXJyYXlGaW5kSW5kZXgodmFsaWRhdGUodGhpcyksIHByZWRpY2F0ZSwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICAgIH0sXG4gICAgZm9yRWFjaDogZnVuY3Rpb24gZm9yRWFjaChjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgICAgYXJyYXlGb3JFYWNoKHZhbGlkYXRlKHRoaXMpLCBjYWxsYmFja2ZuLCBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCk7XG4gICAgfSxcbiAgICBpbmRleE9mOiBmdW5jdGlvbiBpbmRleE9mKHNlYXJjaEVsZW1lbnQgLyogLCBmcm9tSW5kZXggKi8pIHtcbiAgICAgIHJldHVybiBhcnJheUluZGV4T2YodmFsaWRhdGUodGhpcyksIHNlYXJjaEVsZW1lbnQsIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIGluY2x1ZGVzOiBmdW5jdGlvbiBpbmNsdWRlcyhzZWFyY2hFbGVtZW50IC8qICwgZnJvbUluZGV4ICovKSB7XG4gICAgICByZXR1cm4gYXJyYXlJbmNsdWRlcyh2YWxpZGF0ZSh0aGlzKSwgc2VhcmNoRWxlbWVudCwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICAgIH0sXG4gICAgam9pbjogZnVuY3Rpb24gam9pbihzZXBhcmF0b3IpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgcmV0dXJuIGFycmF5Sm9pbi5hcHBseSh2YWxpZGF0ZSh0aGlzKSwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGxhc3RJbmRleE9mOiBmdW5jdGlvbiBsYXN0SW5kZXhPZihzZWFyY2hFbGVtZW50IC8qICwgZnJvbUluZGV4ICovKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgIHJldHVybiBhcnJheUxhc3RJbmRleE9mLmFwcGx5KHZhbGlkYXRlKHRoaXMpLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgbWFwOiBmdW5jdGlvbiBtYXAobWFwZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgICByZXR1cm4gJG1hcCh2YWxpZGF0ZSh0aGlzKSwgbWFwZm4sIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIHJlZHVjZTogZnVuY3Rpb24gcmVkdWNlKGNhbGxiYWNrZm4gLyogLCBpbml0aWFsVmFsdWUgKi8pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgcmV0dXJuIGFycmF5UmVkdWNlLmFwcGx5KHZhbGlkYXRlKHRoaXMpLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgcmVkdWNlUmlnaHQ6IGZ1bmN0aW9uIHJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4gLyogLCBpbml0aWFsVmFsdWUgKi8pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgcmV0dXJuIGFycmF5UmVkdWNlUmlnaHQuYXBwbHkodmFsaWRhdGUodGhpcyksIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICByZXZlcnNlOiBmdW5jdGlvbiByZXZlcnNlKCkge1xuICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgdmFyIGxlbmd0aCA9IHZhbGlkYXRlKHRoYXQpLmxlbmd0aDtcbiAgICAgIHZhciBtaWRkbGUgPSBNYXRoLmZsb29yKGxlbmd0aCAvIDIpO1xuICAgICAgdmFyIGluZGV4ID0gMDtcbiAgICAgIHZhciB2YWx1ZTtcbiAgICAgIHdoaWxlIChpbmRleCA8IG1pZGRsZSkge1xuICAgICAgICB2YWx1ZSA9IHRoYXRbaW5kZXhdO1xuICAgICAgICB0aGF0W2luZGV4KytdID0gdGhhdFstLWxlbmd0aF07XG4gICAgICAgIHRoYXRbbGVuZ3RoXSA9IHZhbHVlO1xuICAgICAgfSByZXR1cm4gdGhhdDtcbiAgICB9LFxuICAgIHNvbWU6IGZ1bmN0aW9uIHNvbWUoY2FsbGJhY2tmbiAvKiAsIHRoaXNBcmcgKi8pIHtcbiAgICAgIHJldHVybiBhcnJheVNvbWUodmFsaWRhdGUodGhpcyksIGNhbGxiYWNrZm4sIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIHNvcnQ6IGZ1bmN0aW9uIHNvcnQoY29tcGFyZWZuKSB7XG4gICAgICByZXR1cm4gYXJyYXlTb3J0LmNhbGwodmFsaWRhdGUodGhpcyksIGNvbXBhcmVmbik7XG4gICAgfSxcbiAgICBzdWJhcnJheTogZnVuY3Rpb24gc3ViYXJyYXkoYmVnaW4sIGVuZCkge1xuICAgICAgdmFyIE8gPSB2YWxpZGF0ZSh0aGlzKTtcbiAgICAgIHZhciBsZW5ndGggPSBPLmxlbmd0aDtcbiAgICAgIHZhciAkYmVnaW4gPSB0b0Fic29sdXRlSW5kZXgoYmVnaW4sIGxlbmd0aCk7XG4gICAgICByZXR1cm4gbmV3IChzcGVjaWVzQ29uc3RydWN0b3IoTywgT1tERUZfQ09OU1RSVUNUT1JdKSkoXG4gICAgICAgIE8uYnVmZmVyLFxuICAgICAgICBPLmJ5dGVPZmZzZXQgKyAkYmVnaW4gKiBPLkJZVEVTX1BFUl9FTEVNRU5ULFxuICAgICAgICB0b0xlbmd0aCgoZW5kID09PSB1bmRlZmluZWQgPyBsZW5ndGggOiB0b0Fic29sdXRlSW5kZXgoZW5kLCBsZW5ndGgpKSAtICRiZWdpbilcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHZhciAkc2xpY2UgPSBmdW5jdGlvbiBzbGljZShzdGFydCwgZW5kKSB7XG4gICAgcmV0dXJuIHNwZWNpZXNGcm9tTGlzdCh0aGlzLCBhcnJheVNsaWNlLmNhbGwodmFsaWRhdGUodGhpcyksIHN0YXJ0LCBlbmQpKTtcbiAgfTtcblxuICB2YXIgJHNldCA9IGZ1bmN0aW9uIHNldChhcnJheUxpa2UgLyogLCBvZmZzZXQgKi8pIHtcbiAgICB2YWxpZGF0ZSh0aGlzKTtcbiAgICB2YXIgb2Zmc2V0ID0gdG9PZmZzZXQoYXJndW1lbnRzWzFdLCAxKTtcbiAgICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGg7XG4gICAgdmFyIHNyYyA9IHRvT2JqZWN0KGFycmF5TGlrZSk7XG4gICAgdmFyIGxlbiA9IHRvTGVuZ3RoKHNyYy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IDA7XG4gICAgaWYgKGxlbiArIG9mZnNldCA+IGxlbmd0aCkgdGhyb3cgUmFuZ2VFcnJvcihXUk9OR19MRU5HVEgpO1xuICAgIHdoaWxlIChpbmRleCA8IGxlbikgdGhpc1tvZmZzZXQgKyBpbmRleF0gPSBzcmNbaW5kZXgrK107XG4gIH07XG5cbiAgdmFyICRpdGVyYXRvcnMgPSB7XG4gICAgZW50cmllczogZnVuY3Rpb24gZW50cmllcygpIHtcbiAgICAgIHJldHVybiBhcnJheUVudHJpZXMuY2FsbCh2YWxpZGF0ZSh0aGlzKSk7XG4gICAgfSxcbiAgICBrZXlzOiBmdW5jdGlvbiBrZXlzKCkge1xuICAgICAgcmV0dXJuIGFycmF5S2V5cy5jYWxsKHZhbGlkYXRlKHRoaXMpKTtcbiAgICB9LFxuICAgIHZhbHVlczogZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgcmV0dXJuIGFycmF5VmFsdWVzLmNhbGwodmFsaWRhdGUodGhpcykpO1xuICAgIH1cbiAgfTtcblxuICB2YXIgaXNUQUluZGV4ID0gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7XG4gICAgcmV0dXJuIGlzT2JqZWN0KHRhcmdldClcbiAgICAgICYmIHRhcmdldFtUWVBFRF9BUlJBWV1cbiAgICAgICYmIHR5cGVvZiBrZXkgIT0gJ3N5bWJvbCdcbiAgICAgICYmIGtleSBpbiB0YXJnZXRcbiAgICAgICYmIFN0cmluZygra2V5KSA9PSBTdHJpbmcoa2V5KTtcbiAgfTtcbiAgdmFyICRnZXREZXNjID0gZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSB7XG4gICAgcmV0dXJuIGlzVEFJbmRleCh0YXJnZXQsIGtleSA9IHRvUHJpbWl0aXZlKGtleSwgdHJ1ZSkpXG4gICAgICA/IHByb3BlcnR5RGVzYygyLCB0YXJnZXRba2V5XSlcbiAgICAgIDogZ09QRCh0YXJnZXQsIGtleSk7XG4gIH07XG4gIHZhciAkc2V0RGVzYyA9IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgaWYgKGlzVEFJbmRleCh0YXJnZXQsIGtleSA9IHRvUHJpbWl0aXZlKGtleSwgdHJ1ZSkpXG4gICAgICAmJiBpc09iamVjdChkZXNjKVxuICAgICAgJiYgaGFzKGRlc2MsICd2YWx1ZScpXG4gICAgICAmJiAhaGFzKGRlc2MsICdnZXQnKVxuICAgICAgJiYgIWhhcyhkZXNjLCAnc2V0JylcbiAgICAgIC8vIFRPRE86IGFkZCB2YWxpZGF0aW9uIGRlc2NyaXB0b3Igdy9vIGNhbGxpbmcgYWNjZXNzb3JzXG4gICAgICAmJiAhZGVzYy5jb25maWd1cmFibGVcbiAgICAgICYmICghaGFzKGRlc2MsICd3cml0YWJsZScpIHx8IGRlc2Mud3JpdGFibGUpXG4gICAgICAmJiAoIWhhcyhkZXNjLCAnZW51bWVyYWJsZScpIHx8IGRlc2MuZW51bWVyYWJsZSlcbiAgICApIHtcbiAgICAgIHRhcmdldFtrZXldID0gZGVzYy52YWx1ZTtcbiAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfSByZXR1cm4gZFAodGFyZ2V0LCBrZXksIGRlc2MpO1xuICB9O1xuXG4gIGlmICghQUxMX0NPTlNUUlVDVE9SUykge1xuICAgICRHT1BELmYgPSAkZ2V0RGVzYztcbiAgICAkRFAuZiA9ICRzZXREZXNjO1xuICB9XG5cbiAgJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhQUxMX0NPTlNUUlVDVE9SUywgJ09iamVjdCcsIHtcbiAgICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6ICRnZXREZXNjLFxuICAgIGRlZmluZVByb3BlcnR5OiAkc2V0RGVzY1xuICB9KTtcblxuICBpZiAoZmFpbHMoZnVuY3Rpb24gKCkgeyBhcnJheVRvU3RyaW5nLmNhbGwoe30pOyB9KSkge1xuICAgIGFycmF5VG9TdHJpbmcgPSBhcnJheVRvTG9jYWxlU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgICByZXR1cm4gYXJyYXlKb2luLmNhbGwodGhpcyk7XG4gICAgfTtcbiAgfVxuXG4gIHZhciAkVHlwZWRBcnJheVByb3RvdHlwZSQgPSByZWRlZmluZUFsbCh7fSwgcHJvdG8pO1xuICByZWRlZmluZUFsbCgkVHlwZWRBcnJheVByb3RvdHlwZSQsICRpdGVyYXRvcnMpO1xuICBoaWRlKCRUeXBlZEFycmF5UHJvdG90eXBlJCwgSVRFUkFUT1IsICRpdGVyYXRvcnMudmFsdWVzKTtcbiAgcmVkZWZpbmVBbGwoJFR5cGVkQXJyYXlQcm90b3R5cGUkLCB7XG4gICAgc2xpY2U6ICRzbGljZSxcbiAgICBzZXQ6ICRzZXQsXG4gICAgY29uc3RydWN0b3I6IGZ1bmN0aW9uICgpIHsgLyogbm9vcCAqLyB9LFxuICAgIHRvU3RyaW5nOiBhcnJheVRvU3RyaW5nLFxuICAgIHRvTG9jYWxlU3RyaW5nOiAkdG9Mb2NhbGVTdHJpbmdcbiAgfSk7XG4gIGFkZEdldHRlcigkVHlwZWRBcnJheVByb3RvdHlwZSQsICdidWZmZXInLCAnYicpO1xuICBhZGRHZXR0ZXIoJFR5cGVkQXJyYXlQcm90b3R5cGUkLCAnYnl0ZU9mZnNldCcsICdvJyk7XG4gIGFkZEdldHRlcigkVHlwZWRBcnJheVByb3RvdHlwZSQsICdieXRlTGVuZ3RoJywgJ2wnKTtcbiAgYWRkR2V0dGVyKCRUeXBlZEFycmF5UHJvdG90eXBlJCwgJ2xlbmd0aCcsICdlJyk7XG4gIGRQKCRUeXBlZEFycmF5UHJvdG90eXBlJCwgVEFHLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzW1RZUEVEX0FSUkFZXTsgfVxuICB9KTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LXN0YXRlbWVudHNcbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZLCBCWVRFUywgd3JhcHBlciwgQ0xBTVBFRCkge1xuICAgIENMQU1QRUQgPSAhIUNMQU1QRUQ7XG4gICAgdmFyIE5BTUUgPSBLRVkgKyAoQ0xBTVBFRCA/ICdDbGFtcGVkJyA6ICcnKSArICdBcnJheSc7XG4gICAgdmFyIEdFVFRFUiA9ICdnZXQnICsgS0VZO1xuICAgIHZhciBTRVRURVIgPSAnc2V0JyArIEtFWTtcbiAgICB2YXIgVHlwZWRBcnJheSA9IGdsb2JhbFtOQU1FXTtcbiAgICB2YXIgQmFzZSA9IFR5cGVkQXJyYXkgfHwge307XG4gICAgdmFyIFRBQyA9IFR5cGVkQXJyYXkgJiYgZ2V0UHJvdG90eXBlT2YoVHlwZWRBcnJheSk7XG4gICAgdmFyIEZPUkNFRCA9ICFUeXBlZEFycmF5IHx8ICEkdHlwZWQuQUJWO1xuICAgIHZhciBPID0ge307XG4gICAgdmFyIFR5cGVkQXJyYXlQcm90b3R5cGUgPSBUeXBlZEFycmF5ICYmIFR5cGVkQXJyYXlbUFJPVE9UWVBFXTtcbiAgICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKHRoYXQsIGluZGV4KSB7XG4gICAgICB2YXIgZGF0YSA9IHRoYXQuX2Q7XG4gICAgICByZXR1cm4gZGF0YS52W0dFVFRFUl0oaW5kZXggKiBCWVRFUyArIGRhdGEubywgTElUVExFX0VORElBTik7XG4gICAgfTtcbiAgICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKHRoYXQsIGluZGV4LCB2YWx1ZSkge1xuICAgICAgdmFyIGRhdGEgPSB0aGF0Ll9kO1xuICAgICAgaWYgKENMQU1QRUQpIHZhbHVlID0gKHZhbHVlID0gTWF0aC5yb3VuZCh2YWx1ZSkpIDwgMCA/IDAgOiB2YWx1ZSA+IDB4ZmYgPyAweGZmIDogdmFsdWUgJiAweGZmO1xuICAgICAgZGF0YS52W1NFVFRFUl0oaW5kZXggKiBCWVRFUyArIGRhdGEubywgdmFsdWUsIExJVFRMRV9FTkRJQU4pO1xuICAgIH07XG4gICAgdmFyIGFkZEVsZW1lbnQgPSBmdW5jdGlvbiAodGhhdCwgaW5kZXgpIHtcbiAgICAgIGRQKHRoYXQsIGluZGV4LCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBnZXR0ZXIodGhpcywgaW5kZXgpO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBzZXR0ZXIodGhpcywgaW5kZXgsIHZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfTtcbiAgICBpZiAoRk9SQ0VEKSB7XG4gICAgICBUeXBlZEFycmF5ID0gd3JhcHBlcihmdW5jdGlvbiAodGhhdCwgZGF0YSwgJG9mZnNldCwgJGxlbmd0aCkge1xuICAgICAgICBhbkluc3RhbmNlKHRoYXQsIFR5cGVkQXJyYXksIE5BTUUsICdfZCcpO1xuICAgICAgICB2YXIgaW5kZXggPSAwO1xuICAgICAgICB2YXIgb2Zmc2V0ID0gMDtcbiAgICAgICAgdmFyIGJ1ZmZlciwgYnl0ZUxlbmd0aCwgbGVuZ3RoLCBrbGFzcztcbiAgICAgICAgaWYgKCFpc09iamVjdChkYXRhKSkge1xuICAgICAgICAgIGxlbmd0aCA9IHRvSW5kZXgoZGF0YSk7XG4gICAgICAgICAgYnl0ZUxlbmd0aCA9IGxlbmd0aCAqIEJZVEVTO1xuICAgICAgICAgIGJ1ZmZlciA9IG5ldyAkQXJyYXlCdWZmZXIoYnl0ZUxlbmd0aCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YSBpbnN0YW5jZW9mICRBcnJheUJ1ZmZlciB8fCAoa2xhc3MgPSBjbGFzc29mKGRhdGEpKSA9PSBBUlJBWV9CVUZGRVIgfHwga2xhc3MgPT0gU0hBUkVEX0JVRkZFUikge1xuICAgICAgICAgIGJ1ZmZlciA9IGRhdGE7XG4gICAgICAgICAgb2Zmc2V0ID0gdG9PZmZzZXQoJG9mZnNldCwgQllURVMpO1xuICAgICAgICAgIHZhciAkbGVuID0gZGF0YS5ieXRlTGVuZ3RoO1xuICAgICAgICAgIGlmICgkbGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmICgkbGVuICUgQllURVMpIHRocm93IFJhbmdlRXJyb3IoV1JPTkdfTEVOR1RIKTtcbiAgICAgICAgICAgIGJ5dGVMZW5ndGggPSAkbGVuIC0gb2Zmc2V0O1xuICAgICAgICAgICAgaWYgKGJ5dGVMZW5ndGggPCAwKSB0aHJvdyBSYW5nZUVycm9yKFdST05HX0xFTkdUSCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJ5dGVMZW5ndGggPSB0b0xlbmd0aCgkbGVuZ3RoKSAqIEJZVEVTO1xuICAgICAgICAgICAgaWYgKGJ5dGVMZW5ndGggKyBvZmZzZXQgPiAkbGVuKSB0aHJvdyBSYW5nZUVycm9yKFdST05HX0xFTkdUSCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxlbmd0aCA9IGJ5dGVMZW5ndGggLyBCWVRFUztcbiAgICAgICAgfSBlbHNlIGlmIChUWVBFRF9BUlJBWSBpbiBkYXRhKSB7XG4gICAgICAgICAgcmV0dXJuIGZyb21MaXN0KFR5cGVkQXJyYXksIGRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAkZnJvbS5jYWxsKFR5cGVkQXJyYXksIGRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGhpZGUodGhhdCwgJ19kJywge1xuICAgICAgICAgIGI6IGJ1ZmZlcixcbiAgICAgICAgICBvOiBvZmZzZXQsXG4gICAgICAgICAgbDogYnl0ZUxlbmd0aCxcbiAgICAgICAgICBlOiBsZW5ndGgsXG4gICAgICAgICAgdjogbmV3ICREYXRhVmlldyhidWZmZXIpXG4gICAgICAgIH0pO1xuICAgICAgICB3aGlsZSAoaW5kZXggPCBsZW5ndGgpIGFkZEVsZW1lbnQodGhhdCwgaW5kZXgrKyk7XG4gICAgICB9KTtcbiAgICAgIFR5cGVkQXJyYXlQcm90b3R5cGUgPSBUeXBlZEFycmF5W1BST1RPVFlQRV0gPSBjcmVhdGUoJFR5cGVkQXJyYXlQcm90b3R5cGUkKTtcbiAgICAgIGhpZGUoVHlwZWRBcnJheVByb3RvdHlwZSwgJ2NvbnN0cnVjdG9yJywgVHlwZWRBcnJheSk7XG4gICAgfSBlbHNlIGlmICghZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgICAgVHlwZWRBcnJheSgxKTtcbiAgICB9KSB8fCAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgICAgbmV3IFR5cGVkQXJyYXkoLTEpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgIH0pIHx8ICEkaXRlckRldGVjdChmdW5jdGlvbiAoaXRlcikge1xuICAgICAgbmV3IFR5cGVkQXJyYXkoKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXdcbiAgICAgIG5ldyBUeXBlZEFycmF5KG51bGwpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgICAgbmV3IFR5cGVkQXJyYXkoMS41KTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXdcbiAgICAgIG5ldyBUeXBlZEFycmF5KGl0ZXIpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgIH0sIHRydWUpKSB7XG4gICAgICBUeXBlZEFycmF5ID0gd3JhcHBlcihmdW5jdGlvbiAodGhhdCwgZGF0YSwgJG9mZnNldCwgJGxlbmd0aCkge1xuICAgICAgICBhbkluc3RhbmNlKHRoYXQsIFR5cGVkQXJyYXksIE5BTUUpO1xuICAgICAgICB2YXIga2xhc3M7XG4gICAgICAgIC8vIGB3c2AgbW9kdWxlIGJ1ZywgdGVtcG9yYXJpbHkgcmVtb3ZlIHZhbGlkYXRpb24gbGVuZ3RoIGZvciBVaW50OEFycmF5XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJzb2NrZXRzL3dzL3B1bGwvNjQ1XG4gICAgICAgIGlmICghaXNPYmplY3QoZGF0YSkpIHJldHVybiBuZXcgQmFzZSh0b0luZGV4KGRhdGEpKTtcbiAgICAgICAgaWYgKGRhdGEgaW5zdGFuY2VvZiAkQXJyYXlCdWZmZXIgfHwgKGtsYXNzID0gY2xhc3NvZihkYXRhKSkgPT0gQVJSQVlfQlVGRkVSIHx8IGtsYXNzID09IFNIQVJFRF9CVUZGRVIpIHtcbiAgICAgICAgICByZXR1cm4gJGxlbmd0aCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IG5ldyBCYXNlKGRhdGEsIHRvT2Zmc2V0KCRvZmZzZXQsIEJZVEVTKSwgJGxlbmd0aClcbiAgICAgICAgICAgIDogJG9mZnNldCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgID8gbmV3IEJhc2UoZGF0YSwgdG9PZmZzZXQoJG9mZnNldCwgQllURVMpKVxuICAgICAgICAgICAgICA6IG5ldyBCYXNlKGRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChUWVBFRF9BUlJBWSBpbiBkYXRhKSByZXR1cm4gZnJvbUxpc3QoVHlwZWRBcnJheSwgZGF0YSk7XG4gICAgICAgIHJldHVybiAkZnJvbS5jYWxsKFR5cGVkQXJyYXksIGRhdGEpO1xuICAgICAgfSk7XG4gICAgICBhcnJheUZvckVhY2goVEFDICE9PSBGdW5jdGlvbi5wcm90b3R5cGUgPyBnT1BOKEJhc2UpLmNvbmNhdChnT1BOKFRBQykpIDogZ09QTihCYXNlKSwgZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBpZiAoIShrZXkgaW4gVHlwZWRBcnJheSkpIGhpZGUoVHlwZWRBcnJheSwga2V5LCBCYXNlW2tleV0pO1xuICAgICAgfSk7XG4gICAgICBUeXBlZEFycmF5W1BST1RPVFlQRV0gPSBUeXBlZEFycmF5UHJvdG90eXBlO1xuICAgICAgaWYgKCFMSUJSQVJZKSBUeXBlZEFycmF5UHJvdG90eXBlLmNvbnN0cnVjdG9yID0gVHlwZWRBcnJheTtcbiAgICB9XG4gICAgdmFyICRuYXRpdmVJdGVyYXRvciA9IFR5cGVkQXJyYXlQcm90b3R5cGVbSVRFUkFUT1JdO1xuICAgIHZhciBDT1JSRUNUX0lURVJfTkFNRSA9ICEhJG5hdGl2ZUl0ZXJhdG9yXG4gICAgICAmJiAoJG5hdGl2ZUl0ZXJhdG9yLm5hbWUgPT0gJ3ZhbHVlcycgfHwgJG5hdGl2ZUl0ZXJhdG9yLm5hbWUgPT0gdW5kZWZpbmVkKTtcbiAgICB2YXIgJGl0ZXJhdG9yID0gJGl0ZXJhdG9ycy52YWx1ZXM7XG4gICAgaGlkZShUeXBlZEFycmF5LCBUWVBFRF9DT05TVFJVQ1RPUiwgdHJ1ZSk7XG4gICAgaGlkZShUeXBlZEFycmF5UHJvdG90eXBlLCBUWVBFRF9BUlJBWSwgTkFNRSk7XG4gICAgaGlkZShUeXBlZEFycmF5UHJvdG90eXBlLCBWSUVXLCB0cnVlKTtcbiAgICBoaWRlKFR5cGVkQXJyYXlQcm90b3R5cGUsIERFRl9DT05TVFJVQ1RPUiwgVHlwZWRBcnJheSk7XG5cbiAgICBpZiAoQ0xBTVBFRCA/IG5ldyBUeXBlZEFycmF5KDEpW1RBR10gIT0gTkFNRSA6ICEoVEFHIGluIFR5cGVkQXJyYXlQcm90b3R5cGUpKSB7XG4gICAgICBkUChUeXBlZEFycmF5UHJvdG90eXBlLCBUQUcsIHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBOQU1FOyB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBPW05BTUVdID0gVHlwZWRBcnJheTtcblxuICAgICRleHBvcnQoJGV4cG9ydC5HICsgJGV4cG9ydC5XICsgJGV4cG9ydC5GICogKFR5cGVkQXJyYXkgIT0gQmFzZSksIE8pO1xuXG4gICAgJGV4cG9ydCgkZXhwb3J0LlMsIE5BTUUsIHtcbiAgICAgIEJZVEVTX1BFUl9FTEVNRU5UOiBCWVRFU1xuICAgIH0pO1xuXG4gICAgJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiBmYWlscyhmdW5jdGlvbiAoKSB7IEJhc2Uub2YuY2FsbChUeXBlZEFycmF5LCAxKTsgfSksIE5BTUUsIHtcbiAgICAgIGZyb206ICRmcm9tLFxuICAgICAgb2Y6ICRvZlxuICAgIH0pO1xuXG4gICAgaWYgKCEoQllURVNfUEVSX0VMRU1FTlQgaW4gVHlwZWRBcnJheVByb3RvdHlwZSkpIGhpZGUoVHlwZWRBcnJheVByb3RvdHlwZSwgQllURVNfUEVSX0VMRU1FTlQsIEJZVEVTKTtcblxuICAgICRleHBvcnQoJGV4cG9ydC5QLCBOQU1FLCBwcm90byk7XG5cbiAgICBzZXRTcGVjaWVzKE5BTUUpO1xuXG4gICAgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiBGT1JDRURfU0VULCBOQU1FLCB7IHNldDogJHNldCB9KTtcblxuICAgICRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIUNPUlJFQ1RfSVRFUl9OQU1FLCBOQU1FLCAkaXRlcmF0b3JzKTtcblxuICAgIGlmICghTElCUkFSWSAmJiBUeXBlZEFycmF5UHJvdG90eXBlLnRvU3RyaW5nICE9IGFycmF5VG9TdHJpbmcpIFR5cGVkQXJyYXlQcm90b3R5cGUudG9TdHJpbmcgPSBhcnJheVRvU3RyaW5nO1xuXG4gICAgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgICBuZXcgVHlwZWRBcnJheSgxKS5zbGljZSgpO1xuICAgIH0pLCBOQU1FLCB7IHNsaWNlOiAkc2xpY2UgfSk7XG5cbiAgICAkZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIChmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gWzEsIDJdLnRvTG9jYWxlU3RyaW5nKCkgIT0gbmV3IFR5cGVkQXJyYXkoWzEsIDJdKS50b0xvY2FsZVN0cmluZygpO1xuICAgIH0pIHx8ICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgICBUeXBlZEFycmF5UHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwoWzEsIDJdKTtcbiAgICB9KSksIE5BTUUsIHsgdG9Mb2NhbGVTdHJpbmc6ICR0b0xvY2FsZVN0cmluZyB9KTtcblxuICAgIEl0ZXJhdG9yc1tOQU1FXSA9IENPUlJFQ1RfSVRFUl9OQU1FID8gJG5hdGl2ZUl0ZXJhdG9yIDogJGl0ZXJhdG9yO1xuICAgIGlmICghTElCUkFSWSAmJiAhQ09SUkVDVF9JVEVSX05BTUUpIGhpZGUoVHlwZWRBcnJheVByb3RvdHlwZSwgSVRFUkFUT1IsICRpdGVyYXRvcik7XG4gIH07XG59IGVsc2UgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgREVTQ1JJUFRPUlMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpO1xudmFyIExJQlJBUlkgPSByZXF1aXJlKCcuL19saWJyYXJ5Jyk7XG52YXIgJHR5cGVkID0gcmVxdWlyZSgnLi9fdHlwZWQnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIHJlZGVmaW5lQWxsID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUtYWxsJyk7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyIGFuSW5zdGFuY2UgPSByZXF1aXJlKCcuL19hbi1pbnN0YW5jZScpO1xudmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIHRvSW5kZXggPSByZXF1aXJlKCcuL190by1pbmRleCcpO1xudmFyIGdPUE4gPSByZXF1aXJlKCcuL19vYmplY3QtZ29wbicpLmY7XG52YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xudmFyIGFycmF5RmlsbCA9IHJlcXVpcmUoJy4vX2FycmF5LWZpbGwnKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4vX3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgQVJSQVlfQlVGRkVSID0gJ0FycmF5QnVmZmVyJztcbnZhciBEQVRBX1ZJRVcgPSAnRGF0YVZpZXcnO1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xudmFyIFdST05HX0xFTkdUSCA9ICdXcm9uZyBsZW5ndGghJztcbnZhciBXUk9OR19JTkRFWCA9ICdXcm9uZyBpbmRleCEnO1xudmFyICRBcnJheUJ1ZmZlciA9IGdsb2JhbFtBUlJBWV9CVUZGRVJdO1xudmFyICREYXRhVmlldyA9IGdsb2JhbFtEQVRBX1ZJRVddO1xudmFyIE1hdGggPSBnbG9iYWwuTWF0aDtcbnZhciBSYW5nZUVycm9yID0gZ2xvYmFsLlJhbmdlRXJyb3I7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93LXJlc3RyaWN0ZWQtbmFtZXNcbnZhciBJbmZpbml0eSA9IGdsb2JhbC5JbmZpbml0eTtcbnZhciBCYXNlQnVmZmVyID0gJEFycmF5QnVmZmVyO1xudmFyIGFicyA9IE1hdGguYWJzO1xudmFyIHBvdyA9IE1hdGgucG93O1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbnZhciBsb2cgPSBNYXRoLmxvZztcbnZhciBMTjIgPSBNYXRoLkxOMjtcbnZhciBCVUZGRVIgPSAnYnVmZmVyJztcbnZhciBCWVRFX0xFTkdUSCA9ICdieXRlTGVuZ3RoJztcbnZhciBCWVRFX09GRlNFVCA9ICdieXRlT2Zmc2V0JztcbnZhciAkQlVGRkVSID0gREVTQ1JJUFRPUlMgPyAnX2InIDogQlVGRkVSO1xudmFyICRMRU5HVEggPSBERVNDUklQVE9SUyA/ICdfbCcgOiBCWVRFX0xFTkdUSDtcbnZhciAkT0ZGU0VUID0gREVTQ1JJUFRPUlMgPyAnX28nIDogQllURV9PRkZTRVQ7XG5cbi8vIElFRUU3NTQgY29udmVyc2lvbnMgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2Zlcm9zcy9pZWVlNzU0XG5mdW5jdGlvbiBwYWNrSUVFRTc1NCh2YWx1ZSwgbUxlbiwgbkJ5dGVzKSB7XG4gIHZhciBidWZmZXIgPSBuZXcgQXJyYXkobkJ5dGVzKTtcbiAgdmFyIGVMZW4gPSBuQnl0ZXMgKiA4IC0gbUxlbiAtIDE7XG4gIHZhciBlTWF4ID0gKDEgPDwgZUxlbikgLSAxO1xuICB2YXIgZUJpYXMgPSBlTWF4ID4+IDE7XG4gIHZhciBydCA9IG1MZW4gPT09IDIzID8gcG93KDIsIC0yNCkgLSBwb3coMiwgLTc3KSA6IDA7XG4gIHZhciBpID0gMDtcbiAgdmFyIHMgPSB2YWx1ZSA8IDAgfHwgdmFsdWUgPT09IDAgJiYgMSAvIHZhbHVlIDwgMCA/IDEgOiAwO1xuICB2YXIgZSwgbSwgYztcbiAgdmFsdWUgPSBhYnModmFsdWUpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gIGlmICh2YWx1ZSAhPSB2YWx1ZSB8fCB2YWx1ZSA9PT0gSW5maW5pdHkpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgbSA9IHZhbHVlICE9IHZhbHVlID8gMSA6IDA7XG4gICAgZSA9IGVNYXg7XG4gIH0gZWxzZSB7XG4gICAgZSA9IGZsb29yKGxvZyh2YWx1ZSkgLyBMTjIpO1xuICAgIGlmICh2YWx1ZSAqIChjID0gcG93KDIsIC1lKSkgPCAxKSB7XG4gICAgICBlLS07XG4gICAgICBjICo9IDI7XG4gICAgfVxuICAgIGlmIChlICsgZUJpYXMgPj0gMSkge1xuICAgICAgdmFsdWUgKz0gcnQgLyBjO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSArPSBydCAqIHBvdygyLCAxIC0gZUJpYXMpO1xuICAgIH1cbiAgICBpZiAodmFsdWUgKiBjID49IDIpIHtcbiAgICAgIGUrKztcbiAgICAgIGMgLz0gMjtcbiAgICB9XG4gICAgaWYgKGUgKyBlQmlhcyA+PSBlTWF4KSB7XG4gICAgICBtID0gMDtcbiAgICAgIGUgPSBlTWF4O1xuICAgIH0gZWxzZSBpZiAoZSArIGVCaWFzID49IDEpIHtcbiAgICAgIG0gPSAodmFsdWUgKiBjIC0gMSkgKiBwb3coMiwgbUxlbik7XG4gICAgICBlID0gZSArIGVCaWFzO1xuICAgIH0gZWxzZSB7XG4gICAgICBtID0gdmFsdWUgKiBwb3coMiwgZUJpYXMgLSAxKSAqIHBvdygyLCBtTGVuKTtcbiAgICAgIGUgPSAwO1xuICAgIH1cbiAgfVxuICBmb3IgKDsgbUxlbiA+PSA4OyBidWZmZXJbaSsrXSA9IG0gJiAyNTUsIG0gLz0gMjU2LCBtTGVuIC09IDgpO1xuICBlID0gZSA8PCBtTGVuIHwgbTtcbiAgZUxlbiArPSBtTGVuO1xuICBmb3IgKDsgZUxlbiA+IDA7IGJ1ZmZlcltpKytdID0gZSAmIDI1NSwgZSAvPSAyNTYsIGVMZW4gLT0gOCk7XG4gIGJ1ZmZlclstLWldIHw9IHMgKiAxMjg7XG4gIHJldHVybiBidWZmZXI7XG59XG5mdW5jdGlvbiB1bnBhY2tJRUVFNzU0KGJ1ZmZlciwgbUxlbiwgbkJ5dGVzKSB7XG4gIHZhciBlTGVuID0gbkJ5dGVzICogOCAtIG1MZW4gLSAxO1xuICB2YXIgZU1heCA9ICgxIDw8IGVMZW4pIC0gMTtcbiAgdmFyIGVCaWFzID0gZU1heCA+PiAxO1xuICB2YXIgbkJpdHMgPSBlTGVuIC0gNztcbiAgdmFyIGkgPSBuQnl0ZXMgLSAxO1xuICB2YXIgcyA9IGJ1ZmZlcltpLS1dO1xuICB2YXIgZSA9IHMgJiAxMjc7XG4gIHZhciBtO1xuICBzID4+PSA3O1xuICBmb3IgKDsgbkJpdHMgPiAwOyBlID0gZSAqIDI1NiArIGJ1ZmZlcltpXSwgaS0tLCBuQml0cyAtPSA4KTtcbiAgbSA9IGUgJiAoMSA8PCAtbkJpdHMpIC0gMTtcbiAgZSA+Pj0gLW5CaXRzO1xuICBuQml0cyArPSBtTGVuO1xuICBmb3IgKDsgbkJpdHMgPiAwOyBtID0gbSAqIDI1NiArIGJ1ZmZlcltpXSwgaS0tLCBuQml0cyAtPSA4KTtcbiAgaWYgKGUgPT09IDApIHtcbiAgICBlID0gMSAtIGVCaWFzO1xuICB9IGVsc2UgaWYgKGUgPT09IGVNYXgpIHtcbiAgICByZXR1cm4gbSA/IE5hTiA6IHMgPyAtSW5maW5pdHkgOiBJbmZpbml0eTtcbiAgfSBlbHNlIHtcbiAgICBtID0gbSArIHBvdygyLCBtTGVuKTtcbiAgICBlID0gZSAtIGVCaWFzO1xuICB9IHJldHVybiAocyA/IC0xIDogMSkgKiBtICogcG93KDIsIGUgLSBtTGVuKTtcbn1cblxuZnVuY3Rpb24gdW5wYWNrSTMyKGJ5dGVzKSB7XG4gIHJldHVybiBieXRlc1szXSA8PCAyNCB8IGJ5dGVzWzJdIDw8IDE2IHwgYnl0ZXNbMV0gPDwgOCB8IGJ5dGVzWzBdO1xufVxuZnVuY3Rpb24gcGFja0k4KGl0KSB7XG4gIHJldHVybiBbaXQgJiAweGZmXTtcbn1cbmZ1bmN0aW9uIHBhY2tJMTYoaXQpIHtcbiAgcmV0dXJuIFtpdCAmIDB4ZmYsIGl0ID4+IDggJiAweGZmXTtcbn1cbmZ1bmN0aW9uIHBhY2tJMzIoaXQpIHtcbiAgcmV0dXJuIFtpdCAmIDB4ZmYsIGl0ID4+IDggJiAweGZmLCBpdCA+PiAxNiAmIDB4ZmYsIGl0ID4+IDI0ICYgMHhmZl07XG59XG5mdW5jdGlvbiBwYWNrRjY0KGl0KSB7XG4gIHJldHVybiBwYWNrSUVFRTc1NChpdCwgNTIsIDgpO1xufVxuZnVuY3Rpb24gcGFja0YzMihpdCkge1xuICByZXR1cm4gcGFja0lFRUU3NTQoaXQsIDIzLCA0KTtcbn1cblxuZnVuY3Rpb24gYWRkR2V0dGVyKEMsIGtleSwgaW50ZXJuYWwpIHtcbiAgZFAoQ1tQUk9UT1RZUEVdLCBrZXksIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzW2ludGVybmFsXTsgfSB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0KHZpZXcsIGJ5dGVzLCBpbmRleCwgaXNMaXR0bGVFbmRpYW4pIHtcbiAgdmFyIG51bUluZGV4ID0gK2luZGV4O1xuICB2YXIgaW50SW5kZXggPSB0b0luZGV4KG51bUluZGV4KTtcbiAgaWYgKGludEluZGV4ICsgYnl0ZXMgPiB2aWV3WyRMRU5HVEhdKSB0aHJvdyBSYW5nZUVycm9yKFdST05HX0lOREVYKTtcbiAgdmFyIHN0b3JlID0gdmlld1skQlVGRkVSXS5fYjtcbiAgdmFyIHN0YXJ0ID0gaW50SW5kZXggKyB2aWV3WyRPRkZTRVRdO1xuICB2YXIgcGFjayA9IHN0b3JlLnNsaWNlKHN0YXJ0LCBzdGFydCArIGJ5dGVzKTtcbiAgcmV0dXJuIGlzTGl0dGxlRW5kaWFuID8gcGFjayA6IHBhY2sucmV2ZXJzZSgpO1xufVxuZnVuY3Rpb24gc2V0KHZpZXcsIGJ5dGVzLCBpbmRleCwgY29udmVyc2lvbiwgdmFsdWUsIGlzTGl0dGxlRW5kaWFuKSB7XG4gIHZhciBudW1JbmRleCA9ICtpbmRleDtcbiAgdmFyIGludEluZGV4ID0gdG9JbmRleChudW1JbmRleCk7XG4gIGlmIChpbnRJbmRleCArIGJ5dGVzID4gdmlld1skTEVOR1RIXSkgdGhyb3cgUmFuZ2VFcnJvcihXUk9OR19JTkRFWCk7XG4gIHZhciBzdG9yZSA9IHZpZXdbJEJVRkZFUl0uX2I7XG4gIHZhciBzdGFydCA9IGludEluZGV4ICsgdmlld1skT0ZGU0VUXTtcbiAgdmFyIHBhY2sgPSBjb252ZXJzaW9uKCt2YWx1ZSk7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXM7IGkrKykgc3RvcmVbc3RhcnQgKyBpXSA9IHBhY2tbaXNMaXR0bGVFbmRpYW4gPyBpIDogYnl0ZXMgLSBpIC0gMV07XG59XG5cbmlmICghJHR5cGVkLkFCVikge1xuICAkQXJyYXlCdWZmZXIgPSBmdW5jdGlvbiBBcnJheUJ1ZmZlcihsZW5ndGgpIHtcbiAgICBhbkluc3RhbmNlKHRoaXMsICRBcnJheUJ1ZmZlciwgQVJSQVlfQlVGRkVSKTtcbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRvSW5kZXgobGVuZ3RoKTtcbiAgICB0aGlzLl9iID0gYXJyYXlGaWxsLmNhbGwobmV3IEFycmF5KGJ5dGVMZW5ndGgpLCAwKTtcbiAgICB0aGlzWyRMRU5HVEhdID0gYnl0ZUxlbmd0aDtcbiAgfTtcblxuICAkRGF0YVZpZXcgPSBmdW5jdGlvbiBEYXRhVmlldyhidWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGgpIHtcbiAgICBhbkluc3RhbmNlKHRoaXMsICREYXRhVmlldywgREFUQV9WSUVXKTtcbiAgICBhbkluc3RhbmNlKGJ1ZmZlciwgJEFycmF5QnVmZmVyLCBEQVRBX1ZJRVcpO1xuICAgIHZhciBidWZmZXJMZW5ndGggPSBidWZmZXJbJExFTkdUSF07XG4gICAgdmFyIG9mZnNldCA9IHRvSW50ZWdlcihieXRlT2Zmc2V0KTtcbiAgICBpZiAob2Zmc2V0IDwgMCB8fCBvZmZzZXQgPiBidWZmZXJMZW5ndGgpIHRocm93IFJhbmdlRXJyb3IoJ1dyb25nIG9mZnNldCEnKTtcbiAgICBieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aCA9PT0gdW5kZWZpbmVkID8gYnVmZmVyTGVuZ3RoIC0gb2Zmc2V0IDogdG9MZW5ndGgoYnl0ZUxlbmd0aCk7XG4gICAgaWYgKG9mZnNldCArIGJ5dGVMZW5ndGggPiBidWZmZXJMZW5ndGgpIHRocm93IFJhbmdlRXJyb3IoV1JPTkdfTEVOR1RIKTtcbiAgICB0aGlzWyRCVUZGRVJdID0gYnVmZmVyO1xuICAgIHRoaXNbJE9GRlNFVF0gPSBvZmZzZXQ7XG4gICAgdGhpc1skTEVOR1RIXSA9IGJ5dGVMZW5ndGg7XG4gIH07XG5cbiAgaWYgKERFU0NSSVBUT1JTKSB7XG4gICAgYWRkR2V0dGVyKCRBcnJheUJ1ZmZlciwgQllURV9MRU5HVEgsICdfbCcpO1xuICAgIGFkZEdldHRlcigkRGF0YVZpZXcsIEJVRkZFUiwgJ19iJyk7XG4gICAgYWRkR2V0dGVyKCREYXRhVmlldywgQllURV9MRU5HVEgsICdfbCcpO1xuICAgIGFkZEdldHRlcigkRGF0YVZpZXcsIEJZVEVfT0ZGU0VULCAnX28nKTtcbiAgfVxuXG4gIHJlZGVmaW5lQWxsKCREYXRhVmlld1tQUk9UT1RZUEVdLCB7XG4gICAgZ2V0SW50ODogZnVuY3Rpb24gZ2V0SW50OChieXRlT2Zmc2V0KSB7XG4gICAgICByZXR1cm4gZ2V0KHRoaXMsIDEsIGJ5dGVPZmZzZXQpWzBdIDw8IDI0ID4+IDI0O1xuICAgIH0sXG4gICAgZ2V0VWludDg6IGZ1bmN0aW9uIGdldFVpbnQ4KGJ5dGVPZmZzZXQpIHtcbiAgICAgIHJldHVybiBnZXQodGhpcywgMSwgYnl0ZU9mZnNldClbMF07XG4gICAgfSxcbiAgICBnZXRJbnQxNjogZnVuY3Rpb24gZ2V0SW50MTYoYnl0ZU9mZnNldCAvKiAsIGxpdHRsZUVuZGlhbiAqLykge1xuICAgICAgdmFyIGJ5dGVzID0gZ2V0KHRoaXMsIDIsIGJ5dGVPZmZzZXQsIGFyZ3VtZW50c1sxXSk7XG4gICAgICByZXR1cm4gKGJ5dGVzWzFdIDw8IDggfCBieXRlc1swXSkgPDwgMTYgPj4gMTY7XG4gICAgfSxcbiAgICBnZXRVaW50MTY6IGZ1bmN0aW9uIGdldFVpbnQxNihieXRlT2Zmc2V0IC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICB2YXIgYnl0ZXMgPSBnZXQodGhpcywgMiwgYnl0ZU9mZnNldCwgYXJndW1lbnRzWzFdKTtcbiAgICAgIHJldHVybiBieXRlc1sxXSA8PCA4IHwgYnl0ZXNbMF07XG4gICAgfSxcbiAgICBnZXRJbnQzMjogZnVuY3Rpb24gZ2V0SW50MzIoYnl0ZU9mZnNldCAvKiAsIGxpdHRsZUVuZGlhbiAqLykge1xuICAgICAgcmV0dXJuIHVucGFja0kzMihnZXQodGhpcywgNCwgYnl0ZU9mZnNldCwgYXJndW1lbnRzWzFdKSk7XG4gICAgfSxcbiAgICBnZXRVaW50MzI6IGZ1bmN0aW9uIGdldFVpbnQzMihieXRlT2Zmc2V0IC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICByZXR1cm4gdW5wYWNrSTMyKGdldCh0aGlzLCA0LCBieXRlT2Zmc2V0LCBhcmd1bWVudHNbMV0pKSA+Pj4gMDtcbiAgICB9LFxuICAgIGdldEZsb2F0MzI6IGZ1bmN0aW9uIGdldEZsb2F0MzIoYnl0ZU9mZnNldCAvKiAsIGxpdHRsZUVuZGlhbiAqLykge1xuICAgICAgcmV0dXJuIHVucGFja0lFRUU3NTQoZ2V0KHRoaXMsIDQsIGJ5dGVPZmZzZXQsIGFyZ3VtZW50c1sxXSksIDIzLCA0KTtcbiAgICB9LFxuICAgIGdldEZsb2F0NjQ6IGZ1bmN0aW9uIGdldEZsb2F0NjQoYnl0ZU9mZnNldCAvKiAsIGxpdHRsZUVuZGlhbiAqLykge1xuICAgICAgcmV0dXJuIHVucGFja0lFRUU3NTQoZ2V0KHRoaXMsIDgsIGJ5dGVPZmZzZXQsIGFyZ3VtZW50c1sxXSksIDUyLCA4KTtcbiAgICB9LFxuICAgIHNldEludDg6IGZ1bmN0aW9uIHNldEludDgoYnl0ZU9mZnNldCwgdmFsdWUpIHtcbiAgICAgIHNldCh0aGlzLCAxLCBieXRlT2Zmc2V0LCBwYWNrSTgsIHZhbHVlKTtcbiAgICB9LFxuICAgIHNldFVpbnQ4OiBmdW5jdGlvbiBzZXRVaW50OChieXRlT2Zmc2V0LCB2YWx1ZSkge1xuICAgICAgc2V0KHRoaXMsIDEsIGJ5dGVPZmZzZXQsIHBhY2tJOCwgdmFsdWUpO1xuICAgIH0sXG4gICAgc2V0SW50MTY6IGZ1bmN0aW9uIHNldEludDE2KGJ5dGVPZmZzZXQsIHZhbHVlIC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICBzZXQodGhpcywgMiwgYnl0ZU9mZnNldCwgcGFja0kxNiwgdmFsdWUsIGFyZ3VtZW50c1syXSk7XG4gICAgfSxcbiAgICBzZXRVaW50MTY6IGZ1bmN0aW9uIHNldFVpbnQxNihieXRlT2Zmc2V0LCB2YWx1ZSAvKiAsIGxpdHRsZUVuZGlhbiAqLykge1xuICAgICAgc2V0KHRoaXMsIDIsIGJ5dGVPZmZzZXQsIHBhY2tJMTYsIHZhbHVlLCBhcmd1bWVudHNbMl0pO1xuICAgIH0sXG4gICAgc2V0SW50MzI6IGZ1bmN0aW9uIHNldEludDMyKGJ5dGVPZmZzZXQsIHZhbHVlIC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICBzZXQodGhpcywgNCwgYnl0ZU9mZnNldCwgcGFja0kzMiwgdmFsdWUsIGFyZ3VtZW50c1syXSk7XG4gICAgfSxcbiAgICBzZXRVaW50MzI6IGZ1bmN0aW9uIHNldFVpbnQzMihieXRlT2Zmc2V0LCB2YWx1ZSAvKiAsIGxpdHRsZUVuZGlhbiAqLykge1xuICAgICAgc2V0KHRoaXMsIDQsIGJ5dGVPZmZzZXQsIHBhY2tJMzIsIHZhbHVlLCBhcmd1bWVudHNbMl0pO1xuICAgIH0sXG4gICAgc2V0RmxvYXQzMjogZnVuY3Rpb24gc2V0RmxvYXQzMihieXRlT2Zmc2V0LCB2YWx1ZSAvKiAsIGxpdHRsZUVuZGlhbiAqLykge1xuICAgICAgc2V0KHRoaXMsIDQsIGJ5dGVPZmZzZXQsIHBhY2tGMzIsIHZhbHVlLCBhcmd1bWVudHNbMl0pO1xuICAgIH0sXG4gICAgc2V0RmxvYXQ2NDogZnVuY3Rpb24gc2V0RmxvYXQ2NChieXRlT2Zmc2V0LCB2YWx1ZSAvKiAsIGxpdHRsZUVuZGlhbiAqLykge1xuICAgICAgc2V0KHRoaXMsIDgsIGJ5dGVPZmZzZXQsIHBhY2tGNjQsIHZhbHVlLCBhcmd1bWVudHNbMl0pO1xuICAgIH1cbiAgfSk7XG59IGVsc2Uge1xuICBpZiAoIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAkQXJyYXlCdWZmZXIoMSk7XG4gIH0pIHx8ICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgbmV3ICRBcnJheUJ1ZmZlcigtMSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gIH0pIHx8IGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICBuZXcgJEFycmF5QnVmZmVyKCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgbmV3ICRBcnJheUJ1ZmZlcigxLjUpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgIG5ldyAkQXJyYXlCdWZmZXIoTmFOKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXdcbiAgICByZXR1cm4gJEFycmF5QnVmZmVyLm5hbWUgIT0gQVJSQVlfQlVGRkVSO1xuICB9KSkge1xuICAgICRBcnJheUJ1ZmZlciA9IGZ1bmN0aW9uIEFycmF5QnVmZmVyKGxlbmd0aCkge1xuICAgICAgYW5JbnN0YW5jZSh0aGlzLCAkQXJyYXlCdWZmZXIpO1xuICAgICAgcmV0dXJuIG5ldyBCYXNlQnVmZmVyKHRvSW5kZXgobGVuZ3RoKSk7XG4gICAgfTtcbiAgICB2YXIgQXJyYXlCdWZmZXJQcm90byA9ICRBcnJheUJ1ZmZlcltQUk9UT1RZUEVdID0gQmFzZUJ1ZmZlcltQUk9UT1RZUEVdO1xuICAgIGZvciAodmFyIGtleXMgPSBnT1BOKEJhc2VCdWZmZXIpLCBqID0gMCwga2V5OyBrZXlzLmxlbmd0aCA+IGo7KSB7XG4gICAgICBpZiAoISgoa2V5ID0ga2V5c1tqKytdKSBpbiAkQXJyYXlCdWZmZXIpKSBoaWRlKCRBcnJheUJ1ZmZlciwga2V5LCBCYXNlQnVmZmVyW2tleV0pO1xuICAgIH1cbiAgICBpZiAoIUxJQlJBUlkpIEFycmF5QnVmZmVyUHJvdG8uY29uc3RydWN0b3IgPSAkQXJyYXlCdWZmZXI7XG4gIH1cbiAgLy8gaU9TIFNhZmFyaSA3LnggYnVnXG4gIHZhciB2aWV3ID0gbmV3ICREYXRhVmlldyhuZXcgJEFycmF5QnVmZmVyKDIpKTtcbiAgdmFyICRzZXRJbnQ4ID0gJERhdGFWaWV3W1BST1RPVFlQRV0uc2V0SW50ODtcbiAgdmlldy5zZXRJbnQ4KDAsIDIxNDc0ODM2NDgpO1xuICB2aWV3LnNldEludDgoMSwgMjE0NzQ4MzY0OSk7XG4gIGlmICh2aWV3LmdldEludDgoMCkgfHwgIXZpZXcuZ2V0SW50OCgxKSkgcmVkZWZpbmVBbGwoJERhdGFWaWV3W1BST1RPVFlQRV0sIHtcbiAgICBzZXRJbnQ4OiBmdW5jdGlvbiBzZXRJbnQ4KGJ5dGVPZmZzZXQsIHZhbHVlKSB7XG4gICAgICAkc2V0SW50OC5jYWxsKHRoaXMsIGJ5dGVPZmZzZXQsIHZhbHVlIDw8IDI0ID4+IDI0KTtcbiAgICB9LFxuICAgIHNldFVpbnQ4OiBmdW5jdGlvbiBzZXRVaW50OChieXRlT2Zmc2V0LCB2YWx1ZSkge1xuICAgICAgJHNldEludDguY2FsbCh0aGlzLCBieXRlT2Zmc2V0LCB2YWx1ZSA8PCAyNCA+PiAyNCk7XG4gICAgfVxuICB9LCB0cnVlKTtcbn1cbnNldFRvU3RyaW5nVGFnKCRBcnJheUJ1ZmZlciwgQVJSQVlfQlVGRkVSKTtcbnNldFRvU3RyaW5nVGFnKCREYXRhVmlldywgREFUQV9WSUVXKTtcbmhpZGUoJERhdGFWaWV3W1BST1RPVFlQRV0sICR0eXBlZC5WSUVXLCB0cnVlKTtcbmV4cG9ydHNbQVJSQVlfQlVGRkVSXSA9ICRBcnJheUJ1ZmZlcjtcbmV4cG9ydHNbREFUQV9WSUVXXSA9ICREYXRhVmlldztcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIHVpZCA9IHJlcXVpcmUoJy4vX3VpZCcpO1xudmFyIFRZUEVEID0gdWlkKCd0eXBlZF9hcnJheScpO1xudmFyIFZJRVcgPSB1aWQoJ3ZpZXcnKTtcbnZhciBBQlYgPSAhIShnbG9iYWwuQXJyYXlCdWZmZXIgJiYgZ2xvYmFsLkRhdGFWaWV3KTtcbnZhciBDT05TVFIgPSBBQlY7XG52YXIgaSA9IDA7XG52YXIgbCA9IDk7XG52YXIgVHlwZWQ7XG5cbnZhciBUeXBlZEFycmF5Q29uc3RydWN0b3JzID0gKFxuICAnSW50OEFycmF5LFVpbnQ4QXJyYXksVWludDhDbGFtcGVkQXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXknXG4pLnNwbGl0KCcsJyk7XG5cbndoaWxlIChpIDwgbCkge1xuICBpZiAoVHlwZWQgPSBnbG9iYWxbVHlwZWRBcnJheUNvbnN0cnVjdG9yc1tpKytdXSkge1xuICAgIGhpZGUoVHlwZWQucHJvdG90eXBlLCBUWVBFRCwgdHJ1ZSk7XG4gICAgaGlkZShUeXBlZC5wcm90b3R5cGUsIFZJRVcsIHRydWUpO1xuICB9IGVsc2UgQ09OU1RSID0gZmFsc2U7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBBQlY6IEFCVixcbiAgQ09OU1RSOiBDT05TVFIsXG4gIFRZUEVEOiBUWVBFRCxcbiAgVklFVzogVklFV1xufTtcbiIsInZhciBpZCA9IDA7XG52YXIgcHggPSBNYXRoLnJhbmRvbSgpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5KSB7XG4gIHJldHVybiAnU3ltYm9sKCcuY29uY2F0KGtleSA9PT0gdW5kZWZpbmVkID8gJycgOiBrZXksICcpXycsICgrK2lkICsgcHgpLnRvU3RyaW5nKDM2KSk7XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIG5hdmlnYXRvciA9IGdsb2JhbC5uYXZpZ2F0b3I7XG5cbm1vZHVsZS5leHBvcnRzID0gbmF2aWdhdG9yICYmIG5hdmlnYXRvci51c2VyQWdlbnQgfHwgJyc7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBUWVBFKSB7XG4gIGlmICghaXNPYmplY3QoaXQpIHx8IGl0Ll90ICE9PSBUWVBFKSB0aHJvdyBUeXBlRXJyb3IoJ0luY29tcGF0aWJsZSByZWNlaXZlciwgJyArIFRZUEUgKyAnIHJlcXVpcmVkIScpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgTElCUkFSWSA9IHJlcXVpcmUoJy4vX2xpYnJhcnknKTtcbnZhciB3a3NFeHQgPSByZXF1aXJlKCcuL193a3MtZXh0Jyk7XG52YXIgZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobmFtZSkge1xuICB2YXIgJFN5bWJvbCA9IGNvcmUuU3ltYm9sIHx8IChjb3JlLlN5bWJvbCA9IExJQlJBUlkgPyB7fSA6IGdsb2JhbC5TeW1ib2wgfHwge30pO1xuICBpZiAobmFtZS5jaGFyQXQoMCkgIT0gJ18nICYmICEobmFtZSBpbiAkU3ltYm9sKSkgZGVmaW5lUHJvcGVydHkoJFN5bWJvbCwgbmFtZSwgeyB2YWx1ZTogd2tzRXh0LmYobmFtZSkgfSk7XG59O1xuIiwiZXhwb3J0cy5mID0gcmVxdWlyZSgnLi9fd2tzJyk7XG4iLCJ2YXIgc3RvcmUgPSByZXF1aXJlKCcuL19zaGFyZWQnKSgnd2tzJyk7XG52YXIgdWlkID0gcmVxdWlyZSgnLi9fdWlkJyk7XG52YXIgU3ltYm9sID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuU3ltYm9sO1xudmFyIFVTRV9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09ICdmdW5jdGlvbic7XG5cbnZhciAkZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuIHN0b3JlW25hbWVdIHx8IChzdG9yZVtuYW1lXSA9XG4gICAgVVNFX1NZTUJPTCAmJiBTeW1ib2xbbmFtZV0gfHwgKFVTRV9TWU1CT0wgPyBTeW1ib2wgOiB1aWQpKCdTeW1ib2wuJyArIG5hbWUpKTtcbn07XG5cbiRleHBvcnRzLnN0b3JlID0gc3RvcmU7XG4iLCJ2YXIgY2xhc3NvZiA9IHJlcXVpcmUoJy4vX2NsYXNzb2YnKTtcbnZhciBJVEVSQVRPUiA9IHJlcXVpcmUoJy4vX3drcycpKCdpdGVyYXRvcicpO1xudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vX2l0ZXJhdG9ycycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19jb3JlJykuZ2V0SXRlcmF0b3JNZXRob2QgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ICE9IHVuZGVmaW5lZCkgcmV0dXJuIGl0W0lURVJBVE9SXVxuICAgIHx8IGl0WydAQGl0ZXJhdG9yJ11cbiAgICB8fCBJdGVyYXRvcnNbY2xhc3NvZihpdCldO1xufTtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iZW5qYW1pbmdyL1JleEV4cC5lc2NhcGVcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHJlID0gcmVxdWlyZSgnLi9fcmVwbGFjZXInKSgvW1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWdFeHAnLCB7IGVzY2FwZTogZnVuY3Rpb24gZXNjYXBlKGl0KSB7IHJldHVybiAkcmUoaXQpOyB9IH0pO1xuIiwiLy8gMjIuMS4zLjMgQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4odGFyZ2V0LCBzdGFydCwgZW5kID0gdGhpcy5sZW5ndGgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ0FycmF5JywgeyBjb3B5V2l0aGluOiByZXF1aXJlKCcuL19hcnJheS1jb3B5LXdpdGhpbicpIH0pO1xuXG5yZXF1aXJlKCcuL19hZGQtdG8tdW5zY29wYWJsZXMnKSgnY29weVdpdGhpbicpO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkZXZlcnkgPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoNCk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5ldmVyeSwgdHJ1ZSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjUgLyAxNS40LjQuMTYgQXJyYXkucHJvdG90eXBlLmV2ZXJ5KGNhbGxiYWNrZm4gWywgdGhpc0FyZ10pXG4gIGV2ZXJ5OiBmdW5jdGlvbiBldmVyeShjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgIHJldHVybiAkZXZlcnkodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgfVxufSk7XG4iLCIvLyAyMi4xLjMuNiBBcnJheS5wcm90b3R5cGUuZmlsbCh2YWx1ZSwgc3RhcnQgPSAwLCBlbmQgPSB0aGlzLmxlbmd0aClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5QLCAnQXJyYXknLCB7IGZpbGw6IHJlcXVpcmUoJy4vX2FycmF5LWZpbGwnKSB9KTtcblxucmVxdWlyZSgnLi9fYWRkLXRvLXVuc2NvcGFibGVzJykoJ2ZpbGwnKTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGZpbHRlciA9IHJlcXVpcmUoJy4vX2FycmF5LW1ldGhvZHMnKSgyKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAhcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKFtdLmZpbHRlciwgdHJ1ZSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjcgLyAxNS40LjQuMjAgQXJyYXkucHJvdG90eXBlLmZpbHRlcihjYWxsYmFja2ZuIFssIHRoaXNBcmddKVxuICBmaWx0ZXI6IGZ1bmN0aW9uIGZpbHRlcihjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgIHJldHVybiAkZmlsdGVyKHRoaXMsIGNhbGxiYWNrZm4sIGFyZ3VtZW50c1sxXSk7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMjIuMS4zLjkgQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleChwcmVkaWNhdGUsIHRoaXNBcmcgPSB1bmRlZmluZWQpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRmaW5kID0gcmVxdWlyZSgnLi9fYXJyYXktbWV0aG9kcycpKDYpO1xudmFyIEtFWSA9ICdmaW5kSW5kZXgnO1xudmFyIGZvcmNlZCA9IHRydWU7XG4vLyBTaG91bGRuJ3Qgc2tpcCBob2xlc1xuaWYgKEtFWSBpbiBbXSkgQXJyYXkoMSlbS0VZXShmdW5jdGlvbiAoKSB7IGZvcmNlZCA9IGZhbHNlOyB9KTtcbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogZm9yY2VkLCAnQXJyYXknLCB7XG4gIGZpbmRJbmRleDogZnVuY3Rpb24gZmluZEluZGV4KGNhbGxiYWNrZm4gLyogLCB0aGF0ID0gdW5kZWZpbmVkICovKSB7XG4gICAgcmV0dXJuICRmaW5kKHRoaXMsIGNhbGxiYWNrZm4sIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgfVxufSk7XG5yZXF1aXJlKCcuL19hZGQtdG8tdW5zY29wYWJsZXMnKShLRVkpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMjIuMS4zLjggQXJyYXkucHJvdG90eXBlLmZpbmQocHJlZGljYXRlLCB0aGlzQXJnID0gdW5kZWZpbmVkKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkZmluZCA9IHJlcXVpcmUoJy4vX2FycmF5LW1ldGhvZHMnKSg1KTtcbnZhciBLRVkgPSAnZmluZCc7XG52YXIgZm9yY2VkID0gdHJ1ZTtcbi8vIFNob3VsZG4ndCBza2lwIGhvbGVzXG5pZiAoS0VZIGluIFtdKSBBcnJheSgxKVtLRVldKGZ1bmN0aW9uICgpIHsgZm9yY2VkID0gZmFsc2U7IH0pO1xuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiBmb3JjZWQsICdBcnJheScsIHtcbiAgZmluZDogZnVuY3Rpb24gZmluZChjYWxsYmFja2ZuIC8qICwgdGhhdCA9IHVuZGVmaW5lZCAqLykge1xuICAgIHJldHVybiAkZmluZCh0aGlzLCBjYWxsYmFja2ZuLCBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCk7XG4gIH1cbn0pO1xucmVxdWlyZSgnLi9fYWRkLXRvLXVuc2NvcGFibGVzJykoS0VZKTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGZvckVhY2ggPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoMCk7XG52YXIgU1RSSUNUID0gcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKFtdLmZvckVhY2gsIHRydWUpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqICFTVFJJQ1QsICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjEwIC8gMTUuNC40LjE4IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKGNhbGxiYWNrZm4gWywgdGhpc0FyZ10pXG4gIGZvckVhY2g6IGZ1bmN0aW9uIGZvckVhY2goY2FsbGJhY2tmbiAvKiAsIHRoaXNBcmcgKi8pIHtcbiAgICByZXR1cm4gJGZvckVhY2godGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgY2FsbCA9IHJlcXVpcmUoJy4vX2l0ZXItY2FsbCcpO1xudmFyIGlzQXJyYXlJdGVyID0gcmVxdWlyZSgnLi9faXMtYXJyYXktaXRlcicpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgY3JlYXRlUHJvcGVydHkgPSByZXF1aXJlKCcuL19jcmVhdGUtcHJvcGVydHknKTtcbnZhciBnZXRJdGVyRm4gPSByZXF1aXJlKCcuL2NvcmUuZ2V0LWl0ZXJhdG9yLW1ldGhvZCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFyZXF1aXJlKCcuL19pdGVyLWRldGVjdCcpKGZ1bmN0aW9uIChpdGVyKSB7IEFycmF5LmZyb20oaXRlcik7IH0pLCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMi4xIEFycmF5LmZyb20oYXJyYXlMaWtlLCBtYXBmbiA9IHVuZGVmaW5lZCwgdGhpc0FyZyA9IHVuZGVmaW5lZClcbiAgZnJvbTogZnVuY3Rpb24gZnJvbShhcnJheUxpa2UgLyogLCBtYXBmbiA9IHVuZGVmaW5lZCwgdGhpc0FyZyA9IHVuZGVmaW5lZCAqLykge1xuICAgIHZhciBPID0gdG9PYmplY3QoYXJyYXlMaWtlKTtcbiAgICB2YXIgQyA9IHR5cGVvZiB0aGlzID09ICdmdW5jdGlvbicgPyB0aGlzIDogQXJyYXk7XG4gICAgdmFyIGFMZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIHZhciBtYXBmbiA9IGFMZW4gPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkO1xuICAgIHZhciBtYXBwaW5nID0gbWFwZm4gIT09IHVuZGVmaW5lZDtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciBpdGVyRm4gPSBnZXRJdGVyRm4oTyk7XG4gICAgdmFyIGxlbmd0aCwgcmVzdWx0LCBzdGVwLCBpdGVyYXRvcjtcbiAgICBpZiAobWFwcGluZykgbWFwZm4gPSBjdHgobWFwZm4sIGFMZW4gPiAyID8gYXJndW1lbnRzWzJdIDogdW5kZWZpbmVkLCAyKTtcbiAgICAvLyBpZiBvYmplY3QgaXNuJ3QgaXRlcmFibGUgb3IgaXQncyBhcnJheSB3aXRoIGRlZmF1bHQgaXRlcmF0b3IgLSB1c2Ugc2ltcGxlIGNhc2VcbiAgICBpZiAoaXRlckZuICE9IHVuZGVmaW5lZCAmJiAhKEMgPT0gQXJyYXkgJiYgaXNBcnJheUl0ZXIoaXRlckZuKSkpIHtcbiAgICAgIGZvciAoaXRlcmF0b3IgPSBpdGVyRm4uY2FsbChPKSwgcmVzdWx0ID0gbmV3IEMoKTsgIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lOyBpbmRleCsrKSB7XG4gICAgICAgIGNyZWF0ZVByb3BlcnR5KHJlc3VsdCwgaW5kZXgsIG1hcHBpbmcgPyBjYWxsKGl0ZXJhdG9yLCBtYXBmbiwgW3N0ZXAudmFsdWUsIGluZGV4XSwgdHJ1ZSkgOiBzdGVwLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgICAgZm9yIChyZXN1bHQgPSBuZXcgQyhsZW5ndGgpOyBsZW5ndGggPiBpbmRleDsgaW5kZXgrKykge1xuICAgICAgICBjcmVhdGVQcm9wZXJ0eShyZXN1bHQsIGluZGV4LCBtYXBwaW5nID8gbWFwZm4oT1tpbmRleF0sIGluZGV4KSA6IE9baW5kZXhdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmVzdWx0Lmxlbmd0aCA9IGluZGV4O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkaW5kZXhPZiA9IHJlcXVpcmUoJy4vX2FycmF5LWluY2x1ZGVzJykoZmFsc2UpO1xudmFyICRuYXRpdmUgPSBbXS5pbmRleE9mO1xudmFyIE5FR0FUSVZFX1pFUk8gPSAhISRuYXRpdmUgJiYgMSAvIFsxXS5pbmRleE9mKDEsIC0wKSA8IDA7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogKE5FR0FUSVZFX1pFUk8gfHwgIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKSgkbmF0aXZlKSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjExIC8gMTUuNC40LjE0IEFycmF5LnByb3RvdHlwZS5pbmRleE9mKHNlYXJjaEVsZW1lbnQgWywgZnJvbUluZGV4XSlcbiAgaW5kZXhPZjogZnVuY3Rpb24gaW5kZXhPZihzZWFyY2hFbGVtZW50IC8qICwgZnJvbUluZGV4ID0gMCAqLykge1xuICAgIHJldHVybiBORUdBVElWRV9aRVJPXG4gICAgICAvLyBjb252ZXJ0IC0wIHRvICswXG4gICAgICA/ICRuYXRpdmUuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCAwXG4gICAgICA6ICRpbmRleE9mKHRoaXMsIHNlYXJjaEVsZW1lbnQsIGFyZ3VtZW50c1sxXSk7XG4gIH1cbn0pO1xuIiwiLy8gMjIuMS4yLjIgLyAxNS40LjMuMiBBcnJheS5pc0FycmF5KGFyZylcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnQXJyYXknLCB7IGlzQXJyYXk6IHJlcXVpcmUoJy4vX2lzLWFycmF5JykgfSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgYWRkVG9VbnNjb3BhYmxlcyA9IHJlcXVpcmUoJy4vX2FkZC10by11bnNjb3BhYmxlcycpO1xudmFyIHN0ZXAgPSByZXF1aXJlKCcuL19pdGVyLXN0ZXAnKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG5cbi8vIDIyLjEuMy40IEFycmF5LnByb3RvdHlwZS5lbnRyaWVzKClcbi8vIDIyLjEuMy4xMyBBcnJheS5wcm90b3R5cGUua2V5cygpXG4vLyAyMi4xLjMuMjkgQXJyYXkucHJvdG90eXBlLnZhbHVlcygpXG4vLyAyMi4xLjMuMzAgQXJyYXkucHJvdG90eXBlW0BAaXRlcmF0b3JdKClcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9faXRlci1kZWZpbmUnKShBcnJheSwgJ0FycmF5JywgZnVuY3Rpb24gKGl0ZXJhdGVkLCBraW5kKSB7XG4gIHRoaXMuX3QgPSB0b0lPYmplY3QoaXRlcmF0ZWQpOyAvLyB0YXJnZXRcbiAgdGhpcy5faSA9IDA7ICAgICAgICAgICAgICAgICAgIC8vIG5leHQgaW5kZXhcbiAgdGhpcy5fayA9IGtpbmQ7ICAgICAgICAgICAgICAgIC8vIGtpbmRcbi8vIDIyLjEuNS4yLjEgJUFycmF5SXRlcmF0b3JQcm90b3R5cGUlLm5leHQoKVxufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgTyA9IHRoaXMuX3Q7XG4gIHZhciBraW5kID0gdGhpcy5faztcbiAgdmFyIGluZGV4ID0gdGhpcy5faSsrO1xuICBpZiAoIU8gfHwgaW5kZXggPj0gTy5sZW5ndGgpIHtcbiAgICB0aGlzLl90ID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiBzdGVwKDEpO1xuICB9XG4gIGlmIChraW5kID09ICdrZXlzJykgcmV0dXJuIHN0ZXAoMCwgaW5kZXgpO1xuICBpZiAoa2luZCA9PSAndmFsdWVzJykgcmV0dXJuIHN0ZXAoMCwgT1tpbmRleF0pO1xuICByZXR1cm4gc3RlcCgwLCBbaW5kZXgsIE9baW5kZXhdXSk7XG59LCAndmFsdWVzJyk7XG5cbi8vIGFyZ3VtZW50c0xpc3RbQEBpdGVyYXRvcl0gaXMgJUFycmF5UHJvdG9fdmFsdWVzJSAoOS40LjQuNiwgOS40LjQuNylcbkl0ZXJhdG9ycy5Bcmd1bWVudHMgPSBJdGVyYXRvcnMuQXJyYXk7XG5cbmFkZFRvVW5zY29wYWJsZXMoJ2tleXMnKTtcbmFkZFRvVW5zY29wYWJsZXMoJ3ZhbHVlcycpO1xuYWRkVG9VbnNjb3BhYmxlcygnZW50cmllcycpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMjIuMS4zLjEzIEFycmF5LnByb3RvdHlwZS5qb2luKHNlcGFyYXRvcilcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgdG9JT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8taW9iamVjdCcpO1xudmFyIGFycmF5Sm9pbiA9IFtdLmpvaW47XG5cbi8vIGZhbGxiYWNrIGZvciBub3QgYXJyYXktbGlrZSBzdHJpbmdzXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIChyZXF1aXJlKCcuL19pb2JqZWN0JykgIT0gT2JqZWN0IHx8ICFyZXF1aXJlKCcuL19zdHJpY3QtbWV0aG9kJykoYXJyYXlKb2luKSksICdBcnJheScsIHtcbiAgam9pbjogZnVuY3Rpb24gam9pbihzZXBhcmF0b3IpIHtcbiAgICByZXR1cm4gYXJyYXlKb2luLmNhbGwodG9JT2JqZWN0KHRoaXMpLCBzZXBhcmF0b3IgPT09IHVuZGVmaW5lZCA/ICcsJyA6IHNlcGFyYXRvcik7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgJG5hdGl2ZSA9IFtdLmxhc3RJbmRleE9mO1xudmFyIE5FR0FUSVZFX1pFUk8gPSAhISRuYXRpdmUgJiYgMSAvIFsxXS5sYXN0SW5kZXhPZigxLCAtMCkgPCAwO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIChORUdBVElWRV9aRVJPIHx8ICFyZXF1aXJlKCcuL19zdHJpY3QtbWV0aG9kJykoJG5hdGl2ZSkpLCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMy4xNCAvIDE1LjQuNC4xNSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoRWxlbWVudCBbLCBmcm9tSW5kZXhdKVxuICBsYXN0SW5kZXhPZjogZnVuY3Rpb24gbGFzdEluZGV4T2Yoc2VhcmNoRWxlbWVudCAvKiAsIGZyb21JbmRleCA9IEBbKi0xXSAqLykge1xuICAgIC8vIGNvbnZlcnQgLTAgdG8gKzBcbiAgICBpZiAoTkVHQVRJVkVfWkVSTykgcmV0dXJuICRuYXRpdmUuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCAwO1xuICAgIHZhciBPID0gdG9JT2JqZWN0KHRoaXMpO1xuICAgIHZhciBsZW5ndGggPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gICAgdmFyIGluZGV4ID0gbGVuZ3RoIC0gMTtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIGluZGV4ID0gTWF0aC5taW4oaW5kZXgsIHRvSW50ZWdlcihhcmd1bWVudHNbMV0pKTtcbiAgICBpZiAoaW5kZXggPCAwKSBpbmRleCA9IGxlbmd0aCArIGluZGV4O1xuICAgIGZvciAoO2luZGV4ID49IDA7IGluZGV4LS0pIGlmIChpbmRleCBpbiBPKSBpZiAoT1tpbmRleF0gPT09IHNlYXJjaEVsZW1lbnQpIHJldHVybiBpbmRleCB8fCAwO1xuICAgIHJldHVybiAtMTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRtYXAgPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoMSk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5tYXAsIHRydWUpLCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMy4xNSAvIDE1LjQuNC4xOSBBcnJheS5wcm90b3R5cGUubWFwKGNhbGxiYWNrZm4gWywgdGhpc0FyZ10pXG4gIG1hcDogZnVuY3Rpb24gbWFwKGNhbGxiYWNrZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgcmV0dXJuICRtYXAodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGNyZWF0ZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9fY3JlYXRlLXByb3BlcnR5Jyk7XG5cbi8vIFdlYktpdCBBcnJheS5vZiBpc24ndCBnZW5lcmljXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqIHJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBGKCkgeyAvKiBlbXB0eSAqLyB9XG4gIHJldHVybiAhKEFycmF5Lm9mLmNhbGwoRikgaW5zdGFuY2VvZiBGKTtcbn0pLCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMi4zIEFycmF5Lm9mKCAuLi5pdGVtcylcbiAgb2Y6IGZ1bmN0aW9uIG9mKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICB2YXIgcmVzdWx0ID0gbmV3ICh0eXBlb2YgdGhpcyA9PSAnZnVuY3Rpb24nID8gdGhpcyA6IEFycmF5KShhTGVuKTtcbiAgICB3aGlsZSAoYUxlbiA+IGluZGV4KSBjcmVhdGVQcm9wZXJ0eShyZXN1bHQsIGluZGV4LCBhcmd1bWVudHNbaW5kZXgrK10pO1xuICAgIHJlc3VsdC5sZW5ndGggPSBhTGVuO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkcmVkdWNlID0gcmVxdWlyZSgnLi9fYXJyYXktcmVkdWNlJyk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5yZWR1Y2VSaWdodCwgdHJ1ZSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjE5IC8gMTUuNC40LjIyIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuIFssIGluaXRpYWxWYWx1ZV0pXG4gIHJlZHVjZVJpZ2h0OiBmdW5jdGlvbiByZWR1Y2VSaWdodChjYWxsYmFja2ZuIC8qICwgaW5pdGlhbFZhbHVlICovKSB7XG4gICAgcmV0dXJuICRyZWR1Y2UodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCwgYXJndW1lbnRzWzFdLCB0cnVlKTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRyZWR1Y2UgPSByZXF1aXJlKCcuL19hcnJheS1yZWR1Y2UnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAhcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKFtdLnJlZHVjZSwgdHJ1ZSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjE4IC8gMTUuNC40LjIxIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UoY2FsbGJhY2tmbiBbLCBpbml0aWFsVmFsdWVdKVxuICByZWR1Y2U6IGZ1bmN0aW9uIHJlZHVjZShjYWxsYmFja2ZuIC8qICwgaW5pdGlhbFZhbHVlICovKSB7XG4gICAgcmV0dXJuICRyZWR1Y2UodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCwgYXJndW1lbnRzWzFdLCBmYWxzZSk7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBodG1sID0gcmVxdWlyZSgnLi9faHRtbCcpO1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xudmFyIHRvQWJzb2x1dGVJbmRleCA9IHJlcXVpcmUoJy4vX3RvLWFic29sdXRlLWluZGV4Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciBhcnJheVNsaWNlID0gW10uc2xpY2U7XG5cbi8vIGZhbGxiYWNrIGZvciBub3QgYXJyYXktbGlrZSBFUzMgc3RyaW5ncyBhbmQgRE9NIG9iamVjdHNcbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIGlmIChodG1sKSBhcnJheVNsaWNlLmNhbGwoaHRtbCk7XG59KSwgJ0FycmF5Jywge1xuICBzbGljZTogZnVuY3Rpb24gc2xpY2UoYmVnaW4sIGVuZCkge1xuICAgIHZhciBsZW4gPSB0b0xlbmd0aCh0aGlzLmxlbmd0aCk7XG4gICAgdmFyIGtsYXNzID0gY29mKHRoaXMpO1xuICAgIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gbGVuIDogZW5kO1xuICAgIGlmIChrbGFzcyA9PSAnQXJyYXknKSByZXR1cm4gYXJyYXlTbGljZS5jYWxsKHRoaXMsIGJlZ2luLCBlbmQpO1xuICAgIHZhciBzdGFydCA9IHRvQWJzb2x1dGVJbmRleChiZWdpbiwgbGVuKTtcbiAgICB2YXIgdXBUbyA9IHRvQWJzb2x1dGVJbmRleChlbmQsIGxlbik7XG4gICAgdmFyIHNpemUgPSB0b0xlbmd0aCh1cFRvIC0gc3RhcnQpO1xuICAgIHZhciBjbG9uZWQgPSBuZXcgQXJyYXkoc2l6ZSk7XG4gICAgdmFyIGkgPSAwO1xuICAgIGZvciAoOyBpIDwgc2l6ZTsgaSsrKSBjbG9uZWRbaV0gPSBrbGFzcyA9PSAnU3RyaW5nJ1xuICAgICAgPyB0aGlzLmNoYXJBdChzdGFydCArIGkpXG4gICAgICA6IHRoaXNbc3RhcnQgKyBpXTtcbiAgICByZXR1cm4gY2xvbmVkO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHNvbWUgPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoMyk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5zb21lLCB0cnVlKSwgJ0FycmF5Jywge1xuICAvLyAyMi4xLjMuMjMgLyAxNS40LjQuMTcgQXJyYXkucHJvdG90eXBlLnNvbWUoY2FsbGJhY2tmbiBbLCB0aGlzQXJnXSlcbiAgc29tZTogZnVuY3Rpb24gc29tZShjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgIHJldHVybiAkc29tZSh0aGlzLCBjYWxsYmFja2ZuLCBhcmd1bWVudHNbMV0pO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyICRzb3J0ID0gW10uc29ydDtcbnZhciB0ZXN0ID0gWzEsIDIsIDNdO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIChmYWlscyhmdW5jdGlvbiAoKSB7XG4gIC8vIElFOC1cbiAgdGVzdC5zb3J0KHVuZGVmaW5lZCk7XG59KSB8fCAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICAvLyBWOCBidWdcbiAgdGVzdC5zb3J0KG51bGwpO1xuICAvLyBPbGQgV2ViS2l0XG59KSB8fCAhcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKCRzb3J0KSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjI1IEFycmF5LnByb3RvdHlwZS5zb3J0KGNvbXBhcmVmbilcbiAgc29ydDogZnVuY3Rpb24gc29ydChjb21wYXJlZm4pIHtcbiAgICByZXR1cm4gY29tcGFyZWZuID09PSB1bmRlZmluZWRcbiAgICAgID8gJHNvcnQuY2FsbCh0b09iamVjdCh0aGlzKSlcbiAgICAgIDogJHNvcnQuY2FsbCh0b09iamVjdCh0aGlzKSwgYUZ1bmN0aW9uKGNvbXBhcmVmbikpO1xuICB9XG59KTtcbiIsInJlcXVpcmUoJy4vX3NldC1zcGVjaWVzJykoJ0FycmF5Jyk7XG4iLCIvLyAyMC4zLjMuMSAvIDE1LjkuNC40IERhdGUubm93KClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnRGF0ZScsIHsgbm93OiBmdW5jdGlvbiAoKSB7IHJldHVybiBuZXcgRGF0ZSgpLmdldFRpbWUoKTsgfSB9KTtcbiIsIi8vIDIwLjMuNC4zNiAvIDE1LjkuNS40MyBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZygpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvSVNPU3RyaW5nID0gcmVxdWlyZSgnLi9fZGF0ZS10by1pc28tc3RyaW5nJyk7XG5cbi8vIFBoYW50b21KUyAvIG9sZCBXZWJLaXQgaGFzIGEgYnJva2VuIGltcGxlbWVudGF0aW9uc1xuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgIT09IHRvSVNPU3RyaW5nKSwgJ0RhdGUnLCB7XG4gIHRvSVNPU3RyaW5nOiB0b0lTT1N0cmluZ1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiByZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIG5ldyBEYXRlKE5hTikudG9KU09OKCkgIT09IG51bGxcbiAgICB8fCBEYXRlLnByb3RvdHlwZS50b0pTT04uY2FsbCh7IHRvSVNPU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9IH0pICE9PSAxO1xufSksICdEYXRlJywge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgdG9KU09OOiBmdW5jdGlvbiB0b0pTT04oa2V5KSB7XG4gICAgdmFyIE8gPSB0b09iamVjdCh0aGlzKTtcbiAgICB2YXIgcHYgPSB0b1ByaW1pdGl2ZShPKTtcbiAgICByZXR1cm4gdHlwZW9mIHB2ID09ICdudW1iZXInICYmICFpc0Zpbml0ZShwdikgPyBudWxsIDogTy50b0lTT1N0cmluZygpO1xuICB9XG59KTtcbiIsInZhciBUT19QUklNSVRJVkUgPSByZXF1aXJlKCcuL193a3MnKSgndG9QcmltaXRpdmUnKTtcbnZhciBwcm90byA9IERhdGUucHJvdG90eXBlO1xuXG5pZiAoIShUT19QUklNSVRJVkUgaW4gcHJvdG8pKSByZXF1aXJlKCcuL19oaWRlJykocHJvdG8sIFRPX1BSSU1JVElWRSwgcmVxdWlyZSgnLi9fZGF0ZS10by1wcmltaXRpdmUnKSk7XG4iLCJ2YXIgRGF0ZVByb3RvID0gRGF0ZS5wcm90b3R5cGU7XG52YXIgSU5WQUxJRF9EQVRFID0gJ0ludmFsaWQgRGF0ZSc7XG52YXIgVE9fU1RSSU5HID0gJ3RvU3RyaW5nJztcbnZhciAkdG9TdHJpbmcgPSBEYXRlUHJvdG9bVE9fU1RSSU5HXTtcbnZhciBnZXRUaW1lID0gRGF0ZVByb3RvLmdldFRpbWU7XG5pZiAobmV3IERhdGUoTmFOKSArICcnICE9IElOVkFMSURfREFURSkge1xuICByZXF1aXJlKCcuL19yZWRlZmluZScpKERhdGVQcm90bywgVE9fU1RSSU5HLCBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICB2YXIgdmFsdWUgPSBnZXRUaW1lLmNhbGwodGhpcyk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgIHJldHVybiB2YWx1ZSA9PT0gdmFsdWUgPyAkdG9TdHJpbmcuY2FsbCh0aGlzKSA6IElOVkFMSURfREFURTtcbiAgfSk7XG59XG4iLCIvLyAxOS4yLjMuMiAvIDE1LjMuNC41IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKHRoaXNBcmcsIGFyZ3MuLi4pXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ0Z1bmN0aW9uJywgeyBiaW5kOiByZXF1aXJlKCcuL19iaW5kJykgfSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBnZXRQcm90b3R5cGVPZiA9IHJlcXVpcmUoJy4vX29iamVjdC1ncG8nKTtcbnZhciBIQVNfSU5TVEFOQ0UgPSByZXF1aXJlKCcuL193a3MnKSgnaGFzSW5zdGFuY2UnKTtcbnZhciBGdW5jdGlvblByb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlO1xuLy8gMTkuMi4zLjYgRnVuY3Rpb24ucHJvdG90eXBlW0BAaGFzSW5zdGFuY2VdKFYpXG5pZiAoIShIQVNfSU5TVEFOQ0UgaW4gRnVuY3Rpb25Qcm90bykpIHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmYoRnVuY3Rpb25Qcm90bywgSEFTX0lOU1RBTkNFLCB7IHZhbHVlOiBmdW5jdGlvbiAoTykge1xuICBpZiAodHlwZW9mIHRoaXMgIT0gJ2Z1bmN0aW9uJyB8fCAhaXNPYmplY3QoTykpIHJldHVybiBmYWxzZTtcbiAgaWYgKCFpc09iamVjdCh0aGlzLnByb3RvdHlwZSkpIHJldHVybiBPIGluc3RhbmNlb2YgdGhpcztcbiAgLy8gZm9yIGVudmlyb25tZW50IHcvbyBuYXRpdmUgYEBAaGFzSW5zdGFuY2VgIGxvZ2ljIGVub3VnaCBgaW5zdGFuY2VvZmAsIGJ1dCBhZGQgdGhpczpcbiAgd2hpbGUgKE8gPSBnZXRQcm90b3R5cGVPZihPKSkgaWYgKHRoaXMucHJvdG90eXBlID09PSBPKSByZXR1cm4gdHJ1ZTtcbiAgcmV0dXJuIGZhbHNlO1xufSB9KTtcbiIsInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG52YXIgRlByb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlO1xudmFyIG5hbWVSRSA9IC9eXFxzKmZ1bmN0aW9uIChbXiAoXSopLztcbnZhciBOQU1FID0gJ25hbWUnO1xuXG4vLyAxOS4yLjQuMiBuYW1lXG5OQU1FIGluIEZQcm90byB8fCByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmIGRQKEZQcm90bywgTkFNRSwge1xuICBjb25maWd1cmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKCcnICsgdGhpcykubWF0Y2gobmFtZVJFKVsxXTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBzdHJvbmcgPSByZXF1aXJlKCcuL19jb2xsZWN0aW9uLXN0cm9uZycpO1xudmFyIHZhbGlkYXRlID0gcmVxdWlyZSgnLi9fdmFsaWRhdGUtY29sbGVjdGlvbicpO1xudmFyIE1BUCA9ICdNYXAnO1xuXG4vLyAyMy4xIE1hcCBPYmplY3RzXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2NvbGxlY3Rpb24nKShNQVAsIGZ1bmN0aW9uIChnZXQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIE1hcCgpIHsgcmV0dXJuIGdldCh0aGlzLCBhcmd1bWVudHMubGVuZ3RoID4gMCA/IGFyZ3VtZW50c1swXSA6IHVuZGVmaW5lZCk7IH07XG59LCB7XG4gIC8vIDIzLjEuMy42IE1hcC5wcm90b3R5cGUuZ2V0KGtleSlcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoa2V5KSB7XG4gICAgdmFyIGVudHJ5ID0gc3Ryb25nLmdldEVudHJ5KHZhbGlkYXRlKHRoaXMsIE1BUCksIGtleSk7XG4gICAgcmV0dXJuIGVudHJ5ICYmIGVudHJ5LnY7XG4gIH0sXG4gIC8vIDIzLjEuMy45IE1hcC5wcm90b3R5cGUuc2V0KGtleSwgdmFsdWUpXG4gIHNldDogZnVuY3Rpb24gc2V0KGtleSwgdmFsdWUpIHtcbiAgICByZXR1cm4gc3Ryb25nLmRlZih2YWxpZGF0ZSh0aGlzLCBNQVApLCBrZXkgPT09IDAgPyAwIDoga2V5LCB2YWx1ZSk7XG4gIH1cbn0sIHN0cm9uZywgdHJ1ZSk7XG4iLCIvLyAyMC4yLjIuMyBNYXRoLmFjb3NoKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGxvZzFwID0gcmVxdWlyZSgnLi9fbWF0aC1sb2cxcCcpO1xudmFyIHNxcnQgPSBNYXRoLnNxcnQ7XG52YXIgJGFjb3NoID0gTWF0aC5hY29zaDtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhKCRhY29zaFxuICAvLyBWOCBidWc6IGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zNTA5XG4gICYmIE1hdGguZmxvb3IoJGFjb3NoKE51bWJlci5NQVhfVkFMVUUpKSA9PSA3MTBcbiAgLy8gVG9yIEJyb3dzZXIgYnVnOiBNYXRoLmFjb3NoKEluZmluaXR5KSAtPiBOYU5cbiAgJiYgJGFjb3NoKEluZmluaXR5KSA9PSBJbmZpbml0eVxuKSwgJ01hdGgnLCB7XG4gIGFjb3NoOiBmdW5jdGlvbiBhY29zaCh4KSB7XG4gICAgcmV0dXJuICh4ID0gK3gpIDwgMSA/IE5hTiA6IHggPiA5NDkwNjI2NS42MjQyNTE1NlxuICAgICAgPyBNYXRoLmxvZyh4KSArIE1hdGguTE4yXG4gICAgICA6IGxvZzFwKHggLSAxICsgc3FydCh4IC0gMSkgKiBzcXJ0KHggKyAxKSk7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjUgTWF0aC5hc2luaCh4KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkYXNpbmggPSBNYXRoLmFzaW5oO1xuXG5mdW5jdGlvbiBhc2luaCh4KSB7XG4gIHJldHVybiAhaXNGaW5pdGUoeCA9ICt4KSB8fCB4ID09IDAgPyB4IDogeCA8IDAgPyAtYXNpbmgoLXgpIDogTWF0aC5sb2coeCArIE1hdGguc3FydCh4ICogeCArIDEpKTtcbn1cblxuLy8gVG9yIEJyb3dzZXIgYnVnOiBNYXRoLmFzaW5oKDApIC0+IC0wXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICEoJGFzaW5oICYmIDEgLyAkYXNpbmgoMCkgPiAwKSwgJ01hdGgnLCB7IGFzaW5oOiBhc2luaCB9KTtcbiIsIi8vIDIwLjIuMi43IE1hdGguYXRhbmgoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGF0YW5oID0gTWF0aC5hdGFuaDtcblxuLy8gVG9yIEJyb3dzZXIgYnVnOiBNYXRoLmF0YW5oKC0wKSAtPiAwXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICEoJGF0YW5oICYmIDEgLyAkYXRhbmgoLTApIDwgMCksICdNYXRoJywge1xuICBhdGFuaDogZnVuY3Rpb24gYXRhbmgoeCkge1xuICAgIHJldHVybiAoeCA9ICt4KSA9PSAwID8geCA6IE1hdGgubG9nKCgxICsgeCkgLyAoMSAtIHgpKSAvIDI7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjkgTWF0aC5jYnJ0KHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHNpZ24gPSByZXF1aXJlKCcuL19tYXRoLXNpZ24nKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICBjYnJ0OiBmdW5jdGlvbiBjYnJ0KHgpIHtcbiAgICByZXR1cm4gc2lnbih4ID0gK3gpICogTWF0aC5wb3coTWF0aC5hYnMoeCksIDEgLyAzKTtcbiAgfVxufSk7XG4iLCIvLyAyMC4yLjIuMTEgTWF0aC5jbHozMih4KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICBjbHozMjogZnVuY3Rpb24gY2x6MzIoeCkge1xuICAgIHJldHVybiAoeCA+Pj49IDApID8gMzEgLSBNYXRoLmZsb29yKE1hdGgubG9nKHggKyAwLjUpICogTWF0aC5MT0cyRSkgOiAzMjtcbiAgfVxufSk7XG4iLCIvLyAyMC4yLjIuMTIgTWF0aC5jb3NoKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGV4cCA9IE1hdGguZXhwO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIGNvc2g6IGZ1bmN0aW9uIGNvc2goeCkge1xuICAgIHJldHVybiAoZXhwKHggPSAreCkgKyBleHAoLXgpKSAvIDI7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjE0IE1hdGguZXhwbTEoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGV4cG0xID0gcmVxdWlyZSgnLi9fbWF0aC1leHBtMScpO1xuXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICgkZXhwbTEgIT0gTWF0aC5leHBtMSksICdNYXRoJywgeyBleHBtMTogJGV4cG0xIH0pO1xuIiwiLy8gMjAuMi4yLjE2IE1hdGguZnJvdW5kKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7IGZyb3VuZDogcmVxdWlyZSgnLi9fbWF0aC1mcm91bmQnKSB9KTtcbiIsIi8vIDIwLjIuMi4xNyBNYXRoLmh5cG90KFt2YWx1ZTFbLCB2YWx1ZTJbLCDigKYgXV1dKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBhYnMgPSBNYXRoLmFicztcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICBoeXBvdDogZnVuY3Rpb24gaHlwb3QodmFsdWUxLCB2YWx1ZTIpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHZhciBzdW0gPSAwO1xuICAgIHZhciBpID0gMDtcbiAgICB2YXIgYUxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgdmFyIGxhcmcgPSAwO1xuICAgIHZhciBhcmcsIGRpdjtcbiAgICB3aGlsZSAoaSA8IGFMZW4pIHtcbiAgICAgIGFyZyA9IGFicyhhcmd1bWVudHNbaSsrXSk7XG4gICAgICBpZiAobGFyZyA8IGFyZykge1xuICAgICAgICBkaXYgPSBsYXJnIC8gYXJnO1xuICAgICAgICBzdW0gPSBzdW0gKiBkaXYgKiBkaXYgKyAxO1xuICAgICAgICBsYXJnID0gYXJnO1xuICAgICAgfSBlbHNlIGlmIChhcmcgPiAwKSB7XG4gICAgICAgIGRpdiA9IGFyZyAvIGxhcmc7XG4gICAgICAgIHN1bSArPSBkaXYgKiBkaXY7XG4gICAgICB9IGVsc2Ugc3VtICs9IGFyZztcbiAgICB9XG4gICAgcmV0dXJuIGxhcmcgPT09IEluZmluaXR5ID8gSW5maW5pdHkgOiBsYXJnICogTWF0aC5zcXJ0KHN1bSk7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjE4IE1hdGguaW11bCh4LCB5KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkaW11bCA9IE1hdGguaW11bDtcblxuLy8gc29tZSBXZWJLaXQgdmVyc2lvbnMgZmFpbHMgd2l0aCBiaWcgbnVtYmVycywgc29tZSBoYXMgd3JvbmcgYXJpdHlcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiAkaW11bCgweGZmZmZmZmZmLCA1KSAhPSAtNSB8fCAkaW11bC5sZW5ndGggIT0gMjtcbn0pLCAnTWF0aCcsIHtcbiAgaW11bDogZnVuY3Rpb24gaW11bCh4LCB5KSB7XG4gICAgdmFyIFVJTlQxNiA9IDB4ZmZmZjtcbiAgICB2YXIgeG4gPSAreDtcbiAgICB2YXIgeW4gPSAreTtcbiAgICB2YXIgeGwgPSBVSU5UMTYgJiB4bjtcbiAgICB2YXIgeWwgPSBVSU5UMTYgJiB5bjtcbiAgICByZXR1cm4gMCB8IHhsICogeWwgKyAoKFVJTlQxNiAmIHhuID4+PiAxNikgKiB5bCArIHhsICogKFVJTlQxNiAmIHluID4+PiAxNikgPDwgMTYgPj4+IDApO1xuICB9XG59KTtcbiIsIi8vIDIwLjIuMi4yMSBNYXRoLmxvZzEwKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIGxvZzEwOiBmdW5jdGlvbiBsb2cxMCh4KSB7XG4gICAgcmV0dXJuIE1hdGgubG9nKHgpICogTWF0aC5MT0cxMEU7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjIwIE1hdGgubG9nMXAoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTWF0aCcsIHsgbG9nMXA6IHJlcXVpcmUoJy4vX21hdGgtbG9nMXAnKSB9KTtcbiIsIi8vIDIwLjIuMi4yMiBNYXRoLmxvZzIoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTWF0aCcsIHtcbiAgbG9nMjogZnVuY3Rpb24gbG9nMih4KSB7XG4gICAgcmV0dXJuIE1hdGgubG9nKHgpIC8gTWF0aC5MTjI7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjI4IE1hdGguc2lnbih4KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywgeyBzaWduOiByZXF1aXJlKCcuL19tYXRoLXNpZ24nKSB9KTtcbiIsIi8vIDIwLjIuMi4zMCBNYXRoLnNpbmgoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgZXhwbTEgPSByZXF1aXJlKCcuL19tYXRoLWV4cG0xJyk7XG52YXIgZXhwID0gTWF0aC5leHA7XG5cbi8vIFY4IG5lYXIgQ2hyb21pdW0gMzggaGFzIGEgcHJvYmxlbSB3aXRoIHZlcnkgc21hbGwgbnVtYmVyc1xuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiByZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuICFNYXRoLnNpbmgoLTJlLTE3KSAhPSAtMmUtMTc7XG59KSwgJ01hdGgnLCB7XG4gIHNpbmg6IGZ1bmN0aW9uIHNpbmgoeCkge1xuICAgIHJldHVybiBNYXRoLmFicyh4ID0gK3gpIDwgMVxuICAgICAgPyAoZXhwbTEoeCkgLSBleHBtMSgteCkpIC8gMlxuICAgICAgOiAoZXhwKHggLSAxKSAtIGV4cCgteCAtIDEpKSAqIChNYXRoLkUgLyAyKTtcbiAgfVxufSk7XG4iLCIvLyAyMC4yLjIuMzMgTWF0aC50YW5oKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGV4cG0xID0gcmVxdWlyZSgnLi9fbWF0aC1leHBtMScpO1xudmFyIGV4cCA9IE1hdGguZXhwO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIHRhbmg6IGZ1bmN0aW9uIHRhbmgoeCkge1xuICAgIHZhciBhID0gZXhwbTEoeCA9ICt4KTtcbiAgICB2YXIgYiA9IGV4cG0xKC14KTtcbiAgICByZXR1cm4gYSA9PSBJbmZpbml0eSA/IDEgOiBiID09IEluZmluaXR5ID8gLTEgOiAoYSAtIGIpIC8gKGV4cCh4KSArIGV4cCgteCkpO1xuICB9XG59KTtcbiIsIi8vIDIwLjIuMi4zNCBNYXRoLnRydW5jKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIHRydW5jOiBmdW5jdGlvbiB0cnVuYyhpdCkge1xuICAgIHJldHVybiAoaXQgPiAwID8gTWF0aC5mbG9vciA6IE1hdGguY2VpbCkoaXQpO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbnZhciBpbmhlcml0SWZSZXF1aXJlZCA9IHJlcXVpcmUoJy4vX2luaGVyaXQtaWYtcmVxdWlyZWQnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciBnT1BOID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcG4nKS5mO1xudmFyIGdPUEQgPSByZXF1aXJlKCcuL19vYmplY3QtZ29wZCcpLmY7XG52YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xudmFyICR0cmltID0gcmVxdWlyZSgnLi9fc3RyaW5nLXRyaW0nKS50cmltO1xudmFyIE5VTUJFUiA9ICdOdW1iZXInO1xudmFyICROdW1iZXIgPSBnbG9iYWxbTlVNQkVSXTtcbnZhciBCYXNlID0gJE51bWJlcjtcbnZhciBwcm90byA9ICROdW1iZXIucHJvdG90eXBlO1xuLy8gT3BlcmEgfjEyIGhhcyBicm9rZW4gT2JqZWN0I3RvU3RyaW5nXG52YXIgQlJPS0VOX0NPRiA9IGNvZihyZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJykocHJvdG8pKSA9PSBOVU1CRVI7XG52YXIgVFJJTSA9ICd0cmltJyBpbiBTdHJpbmcucHJvdG90eXBlO1xuXG4vLyA3LjEuMyBUb051bWJlcihhcmd1bWVudClcbnZhciB0b051bWJlciA9IGZ1bmN0aW9uIChhcmd1bWVudCkge1xuICB2YXIgaXQgPSB0b1ByaW1pdGl2ZShhcmd1bWVudCwgZmFsc2UpO1xuICBpZiAodHlwZW9mIGl0ID09ICdzdHJpbmcnICYmIGl0Lmxlbmd0aCA+IDIpIHtcbiAgICBpdCA9IFRSSU0gPyBpdC50cmltKCkgOiAkdHJpbShpdCwgMyk7XG4gICAgdmFyIGZpcnN0ID0gaXQuY2hhckNvZGVBdCgwKTtcbiAgICB2YXIgdGhpcmQsIHJhZGl4LCBtYXhDb2RlO1xuICAgIGlmIChmaXJzdCA9PT0gNDMgfHwgZmlyc3QgPT09IDQ1KSB7XG4gICAgICB0aGlyZCA9IGl0LmNoYXJDb2RlQXQoMik7XG4gICAgICBpZiAodGhpcmQgPT09IDg4IHx8IHRoaXJkID09PSAxMjApIHJldHVybiBOYU47IC8vIE51bWJlcignKzB4MScpIHNob3VsZCBiZSBOYU4sIG9sZCBWOCBmaXhcbiAgICB9IGVsc2UgaWYgKGZpcnN0ID09PSA0OCkge1xuICAgICAgc3dpdGNoIChpdC5jaGFyQ29kZUF0KDEpKSB7XG4gICAgICAgIGNhc2UgNjY6IGNhc2UgOTg6IHJhZGl4ID0gMjsgbWF4Q29kZSA9IDQ5OyBicmVhazsgLy8gZmFzdCBlcXVhbCAvXjBiWzAxXSskL2lcbiAgICAgICAgY2FzZSA3OTogY2FzZSAxMTE6IHJhZGl4ID0gODsgbWF4Q29kZSA9IDU1OyBicmVhazsgLy8gZmFzdCBlcXVhbCAvXjBvWzAtN10rJC9pXG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiAraXQ7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBkaWdpdHMgPSBpdC5zbGljZSgyKSwgaSA9IDAsIGwgPSBkaWdpdHMubGVuZ3RoLCBjb2RlOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGNvZGUgPSBkaWdpdHMuY2hhckNvZGVBdChpKTtcbiAgICAgICAgLy8gcGFyc2VJbnQgcGFyc2VzIGEgc3RyaW5nIHRvIGEgZmlyc3QgdW5hdmFpbGFibGUgc3ltYm9sXG4gICAgICAgIC8vIGJ1dCBUb051bWJlciBzaG91bGQgcmV0dXJuIE5hTiBpZiBhIHN0cmluZyBjb250YWlucyB1bmF2YWlsYWJsZSBzeW1ib2xzXG4gICAgICAgIGlmIChjb2RlIDwgNDggfHwgY29kZSA+IG1heENvZGUpIHJldHVybiBOYU47XG4gICAgICB9IHJldHVybiBwYXJzZUludChkaWdpdHMsIHJhZGl4KTtcbiAgICB9XG4gIH0gcmV0dXJuICtpdDtcbn07XG5cbmlmICghJE51bWJlcignIDBvMScpIHx8ICEkTnVtYmVyKCcwYjEnKSB8fCAkTnVtYmVyKCcrMHgxJykpIHtcbiAgJE51bWJlciA9IGZ1bmN0aW9uIE51bWJlcih2YWx1ZSkge1xuICAgIHZhciBpdCA9IGFyZ3VtZW50cy5sZW5ndGggPCAxID8gMCA6IHZhbHVlO1xuICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICByZXR1cm4gdGhhdCBpbnN0YW5jZW9mICROdW1iZXJcbiAgICAgIC8vIGNoZWNrIG9uIDEuLmNvbnN0cnVjdG9yKGZvbykgY2FzZVxuICAgICAgJiYgKEJST0tFTl9DT0YgPyBmYWlscyhmdW5jdGlvbiAoKSB7IHByb3RvLnZhbHVlT2YuY2FsbCh0aGF0KTsgfSkgOiBjb2YodGhhdCkgIT0gTlVNQkVSKVxuICAgICAgICA/IGluaGVyaXRJZlJlcXVpcmVkKG5ldyBCYXNlKHRvTnVtYmVyKGl0KSksIHRoYXQsICROdW1iZXIpIDogdG9OdW1iZXIoaXQpO1xuICB9O1xuICBmb3IgKHZhciBrZXlzID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IGdPUE4oQmFzZSkgOiAoXG4gICAgLy8gRVMzOlxuICAgICdNQVhfVkFMVUUsTUlOX1ZBTFVFLE5hTixORUdBVElWRV9JTkZJTklUWSxQT1NJVElWRV9JTkZJTklUWSwnICtcbiAgICAvLyBFUzYgKGluIGNhc2UsIGlmIG1vZHVsZXMgd2l0aCBFUzYgTnVtYmVyIHN0YXRpY3MgcmVxdWlyZWQgYmVmb3JlKTpcbiAgICAnRVBTSUxPTixpc0Zpbml0ZSxpc0ludGVnZXIsaXNOYU4saXNTYWZlSW50ZWdlcixNQVhfU0FGRV9JTlRFR0VSLCcgK1xuICAgICdNSU5fU0FGRV9JTlRFR0VSLHBhcnNlRmxvYXQscGFyc2VJbnQsaXNJbnRlZ2VyJ1xuICApLnNwbGl0KCcsJyksIGogPSAwLCBrZXk7IGtleXMubGVuZ3RoID4gajsgaisrKSB7XG4gICAgaWYgKGhhcyhCYXNlLCBrZXkgPSBrZXlzW2pdKSAmJiAhaGFzKCROdW1iZXIsIGtleSkpIHtcbiAgICAgIGRQKCROdW1iZXIsIGtleSwgZ09QRChCYXNlLCBrZXkpKTtcbiAgICB9XG4gIH1cbiAgJE51bWJlci5wcm90b3R5cGUgPSBwcm90bztcbiAgcHJvdG8uY29uc3RydWN0b3IgPSAkTnVtYmVyO1xuICByZXF1aXJlKCcuL19yZWRlZmluZScpKGdsb2JhbCwgTlVNQkVSLCAkTnVtYmVyKTtcbn1cbiIsIi8vIDIwLjEuMi4xIE51bWJlci5FUFNJTE9OXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHsgRVBTSUxPTjogTWF0aC5wb3coMiwgLTUyKSB9KTtcbiIsIi8vIDIwLjEuMi4yIE51bWJlci5pc0Zpbml0ZShudW1iZXIpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIF9pc0Zpbml0ZSA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmlzRmluaXRlO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHtcbiAgaXNGaW5pdGU6IGZ1bmN0aW9uIGlzRmluaXRlKGl0KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBpdCA9PSAnbnVtYmVyJyAmJiBfaXNGaW5pdGUoaXQpO1xuICB9XG59KTtcbiIsIi8vIDIwLjEuMi4zIE51bWJlci5pc0ludGVnZXIobnVtYmVyKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdOdW1iZXInLCB7IGlzSW50ZWdlcjogcmVxdWlyZSgnLi9faXMtaW50ZWdlcicpIH0pO1xuIiwiLy8gMjAuMS4yLjQgTnVtYmVyLmlzTmFOKG51bWJlcilcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTnVtYmVyJywge1xuICBpc05hTjogZnVuY3Rpb24gaXNOYU4obnVtYmVyKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgIHJldHVybiBudW1iZXIgIT0gbnVtYmVyO1xuICB9XG59KTtcbiIsIi8vIDIwLjEuMi41IE51bWJlci5pc1NhZmVJbnRlZ2VyKG51bWJlcilcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgaXNJbnRlZ2VyID0gcmVxdWlyZSgnLi9faXMtaW50ZWdlcicpO1xudmFyIGFicyA9IE1hdGguYWJzO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHtcbiAgaXNTYWZlSW50ZWdlcjogZnVuY3Rpb24gaXNTYWZlSW50ZWdlcihudW1iZXIpIHtcbiAgICByZXR1cm4gaXNJbnRlZ2VyKG51bWJlcikgJiYgYWJzKG51bWJlcikgPD0gMHgxZmZmZmZmZmZmZmZmZjtcbiAgfVxufSk7XG4iLCIvLyAyMC4xLjIuNiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdOdW1iZXInLCB7IE1BWF9TQUZFX0lOVEVHRVI6IDB4MWZmZmZmZmZmZmZmZmYgfSk7XG4iLCIvLyAyMC4xLjIuMTAgTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVJcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTnVtYmVyJywgeyBNSU5fU0FGRV9JTlRFR0VSOiAtMHgxZmZmZmZmZmZmZmZmZiB9KTtcbiIsInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHBhcnNlRmxvYXQgPSByZXF1aXJlKCcuL19wYXJzZS1mbG9hdCcpO1xuLy8gMjAuMS4yLjEyIE51bWJlci5wYXJzZUZsb2F0KHN0cmluZylcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogKE51bWJlci5wYXJzZUZsb2F0ICE9ICRwYXJzZUZsb2F0KSwgJ051bWJlcicsIHsgcGFyc2VGbG9hdDogJHBhcnNlRmxvYXQgfSk7XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRwYXJzZUludCA9IHJlcXVpcmUoJy4vX3BhcnNlLWludCcpO1xuLy8gMjAuMS4yLjEzIE51bWJlci5wYXJzZUludChzdHJpbmcsIHJhZGl4KVxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoTnVtYmVyLnBhcnNlSW50ICE9ICRwYXJzZUludCksICdOdW1iZXInLCB7IHBhcnNlSW50OiAkcGFyc2VJbnQgfSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBhTnVtYmVyVmFsdWUgPSByZXF1aXJlKCcuL19hLW51bWJlci12YWx1ZScpO1xudmFyIHJlcGVhdCA9IHJlcXVpcmUoJy4vX3N0cmluZy1yZXBlYXQnKTtcbnZhciAkdG9GaXhlZCA9IDEuMC50b0ZpeGVkO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbnZhciBkYXRhID0gWzAsIDAsIDAsIDAsIDAsIDBdO1xudmFyIEVSUk9SID0gJ051bWJlci50b0ZpeGVkOiBpbmNvcnJlY3QgaW52b2NhdGlvbiEnO1xudmFyIFpFUk8gPSAnMCc7XG5cbnZhciBtdWx0aXBseSA9IGZ1bmN0aW9uIChuLCBjKSB7XG4gIHZhciBpID0gLTE7XG4gIHZhciBjMiA9IGM7XG4gIHdoaWxlICgrK2kgPCA2KSB7XG4gICAgYzIgKz0gbiAqIGRhdGFbaV07XG4gICAgZGF0YVtpXSA9IGMyICUgMWU3O1xuICAgIGMyID0gZmxvb3IoYzIgLyAxZTcpO1xuICB9XG59O1xudmFyIGRpdmlkZSA9IGZ1bmN0aW9uIChuKSB7XG4gIHZhciBpID0gNjtcbiAgdmFyIGMgPSAwO1xuICB3aGlsZSAoLS1pID49IDApIHtcbiAgICBjICs9IGRhdGFbaV07XG4gICAgZGF0YVtpXSA9IGZsb29yKGMgLyBuKTtcbiAgICBjID0gKGMgJSBuKSAqIDFlNztcbiAgfVxufTtcbnZhciBudW1Ub1N0cmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGkgPSA2O1xuICB2YXIgcyA9ICcnO1xuICB3aGlsZSAoLS1pID49IDApIHtcbiAgICBpZiAocyAhPT0gJycgfHwgaSA9PT0gMCB8fCBkYXRhW2ldICE9PSAwKSB7XG4gICAgICB2YXIgdCA9IFN0cmluZyhkYXRhW2ldKTtcbiAgICAgIHMgPSBzID09PSAnJyA/IHQgOiBzICsgcmVwZWF0LmNhbGwoWkVSTywgNyAtIHQubGVuZ3RoKSArIHQ7XG4gICAgfVxuICB9IHJldHVybiBzO1xufTtcbnZhciBwb3cgPSBmdW5jdGlvbiAoeCwgbiwgYWNjKSB7XG4gIHJldHVybiBuID09PSAwID8gYWNjIDogbiAlIDIgPT09IDEgPyBwb3coeCwgbiAtIDEsIGFjYyAqIHgpIDogcG93KHggKiB4LCBuIC8gMiwgYWNjKTtcbn07XG52YXIgbG9nID0gZnVuY3Rpb24gKHgpIHtcbiAgdmFyIG4gPSAwO1xuICB2YXIgeDIgPSB4O1xuICB3aGlsZSAoeDIgPj0gNDA5Nikge1xuICAgIG4gKz0gMTI7XG4gICAgeDIgLz0gNDA5NjtcbiAgfVxuICB3aGlsZSAoeDIgPj0gMikge1xuICAgIG4gKz0gMTtcbiAgICB4MiAvPSAyO1xuICB9IHJldHVybiBuO1xufTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoISEkdG9GaXhlZCAmJiAoXG4gIDAuMDAwMDgudG9GaXhlZCgzKSAhPT0gJzAuMDAwJyB8fFxuICAwLjkudG9GaXhlZCgwKSAhPT0gJzEnIHx8XG4gIDEuMjU1LnRvRml4ZWQoMikgIT09ICcxLjI1JyB8fFxuICAxMDAwMDAwMDAwMDAwMDAwMTI4LjAudG9GaXhlZCgwKSAhPT0gJzEwMDAwMDAwMDAwMDAwMDAxMjgnXG4pIHx8ICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgLy8gVjggfiBBbmRyb2lkIDQuMy1cbiAgJHRvRml4ZWQuY2FsbCh7fSk7XG59KSksICdOdW1iZXInLCB7XG4gIHRvRml4ZWQ6IGZ1bmN0aW9uIHRvRml4ZWQoZnJhY3Rpb25EaWdpdHMpIHtcbiAgICB2YXIgeCA9IGFOdW1iZXJWYWx1ZSh0aGlzLCBFUlJPUik7XG4gICAgdmFyIGYgPSB0b0ludGVnZXIoZnJhY3Rpb25EaWdpdHMpO1xuICAgIHZhciBzID0gJyc7XG4gICAgdmFyIG0gPSBaRVJPO1xuICAgIHZhciBlLCB6LCBqLCBrO1xuICAgIGlmIChmIDwgMCB8fCBmID4gMjApIHRocm93IFJhbmdlRXJyb3IoRVJST1IpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICBpZiAoeCAhPSB4KSByZXR1cm4gJ05hTic7XG4gICAgaWYgKHggPD0gLTFlMjEgfHwgeCA+PSAxZTIxKSByZXR1cm4gU3RyaW5nKHgpO1xuICAgIGlmICh4IDwgMCkge1xuICAgICAgcyA9ICctJztcbiAgICAgIHggPSAteDtcbiAgICB9XG4gICAgaWYgKHggPiAxZS0yMSkge1xuICAgICAgZSA9IGxvZyh4ICogcG93KDIsIDY5LCAxKSkgLSA2OTtcbiAgICAgIHogPSBlIDwgMCA/IHggKiBwb3coMiwgLWUsIDEpIDogeCAvIHBvdygyLCBlLCAxKTtcbiAgICAgIHogKj0gMHgxMDAwMDAwMDAwMDAwMDtcbiAgICAgIGUgPSA1MiAtIGU7XG4gICAgICBpZiAoZSA+IDApIHtcbiAgICAgICAgbXVsdGlwbHkoMCwgeik7XG4gICAgICAgIGogPSBmO1xuICAgICAgICB3aGlsZSAoaiA+PSA3KSB7XG4gICAgICAgICAgbXVsdGlwbHkoMWU3LCAwKTtcbiAgICAgICAgICBqIC09IDc7XG4gICAgICAgIH1cbiAgICAgICAgbXVsdGlwbHkocG93KDEwLCBqLCAxKSwgMCk7XG4gICAgICAgIGogPSBlIC0gMTtcbiAgICAgICAgd2hpbGUgKGogPj0gMjMpIHtcbiAgICAgICAgICBkaXZpZGUoMSA8PCAyMyk7XG4gICAgICAgICAgaiAtPSAyMztcbiAgICAgICAgfVxuICAgICAgICBkaXZpZGUoMSA8PCBqKTtcbiAgICAgICAgbXVsdGlwbHkoMSwgMSk7XG4gICAgICAgIGRpdmlkZSgyKTtcbiAgICAgICAgbSA9IG51bVRvU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtdWx0aXBseSgwLCB6KTtcbiAgICAgICAgbXVsdGlwbHkoMSA8PCAtZSwgMCk7XG4gICAgICAgIG0gPSBudW1Ub1N0cmluZygpICsgcmVwZWF0LmNhbGwoWkVSTywgZik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChmID4gMCkge1xuICAgICAgayA9IG0ubGVuZ3RoO1xuICAgICAgbSA9IHMgKyAoayA8PSBmID8gJzAuJyArIHJlcGVhdC5jYWxsKFpFUk8sIGYgLSBrKSArIG0gOiBtLnNsaWNlKDAsIGsgLSBmKSArICcuJyArIG0uc2xpY2UoayAtIGYpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbSA9IHMgKyBtO1xuICAgIH0gcmV0dXJuIG07XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyIGFOdW1iZXJWYWx1ZSA9IHJlcXVpcmUoJy4vX2EtbnVtYmVyLXZhbHVlJyk7XG52YXIgJHRvUHJlY2lzaW9uID0gMS4wLnRvUHJlY2lzaW9uO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqICgkZmFpbHMoZnVuY3Rpb24gKCkge1xuICAvLyBJRTctXG4gIHJldHVybiAkdG9QcmVjaXNpb24uY2FsbCgxLCB1bmRlZmluZWQpICE9PSAnMSc7XG59KSB8fCAhJGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgLy8gVjggfiBBbmRyb2lkIDQuMy1cbiAgJHRvUHJlY2lzaW9uLmNhbGwoe30pO1xufSkpLCAnTnVtYmVyJywge1xuICB0b1ByZWNpc2lvbjogZnVuY3Rpb24gdG9QcmVjaXNpb24ocHJlY2lzaW9uKSB7XG4gICAgdmFyIHRoYXQgPSBhTnVtYmVyVmFsdWUodGhpcywgJ051bWJlciN0b1ByZWNpc2lvbjogaW5jb3JyZWN0IGludm9jYXRpb24hJyk7XG4gICAgcmV0dXJuIHByZWNpc2lvbiA9PT0gdW5kZWZpbmVkID8gJHRvUHJlY2lzaW9uLmNhbGwodGhhdCkgOiAkdG9QcmVjaXNpb24uY2FsbCh0aGF0LCBwcmVjaXNpb24pO1xuICB9XG59KTtcbiIsIi8vIDE5LjEuMy4xIE9iamVjdC5hc3NpZ24odGFyZ2V0LCBzb3VyY2UpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiwgJ09iamVjdCcsIHsgYXNzaWduOiByZXF1aXJlKCcuL19vYmplY3QtYXNzaWduJykgfSk7XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuLy8gMTkuMS4yLjIgLyAxNS4yLjMuNSBPYmplY3QuY3JlYXRlKE8gWywgUHJvcGVydGllc10pXG4kZXhwb3J0KCRleHBvcnQuUywgJ09iamVjdCcsIHsgY3JlYXRlOiByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJykgfSk7XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuLy8gMTkuMS4yLjMgLyAxNS4yLjMuNyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhPLCBQcm9wZXJ0aWVzKVxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSwgJ09iamVjdCcsIHsgZGVmaW5lUHJvcGVydGllczogcmVxdWlyZSgnLi9fb2JqZWN0LWRwcycpIH0pO1xuIiwidmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbi8vIDE5LjEuMi40IC8gMTUuMi4zLjYgT2JqZWN0LmRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpLCAnT2JqZWN0JywgeyBkZWZpbmVQcm9wZXJ0eTogcmVxdWlyZSgnLi9fb2JqZWN0LWRwJykuZiB9KTtcbiIsIi8vIDE5LjEuMi41IE9iamVjdC5mcmVlemUoTylcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIG1ldGEgPSByZXF1aXJlKCcuL19tZXRhJykub25GcmVlemU7XG5cbnJlcXVpcmUoJy4vX29iamVjdC1zYXAnKSgnZnJlZXplJywgZnVuY3Rpb24gKCRmcmVlemUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGZyZWV6ZShpdCkge1xuICAgIHJldHVybiAkZnJlZXplICYmIGlzT2JqZWN0KGl0KSA/ICRmcmVlemUobWV0YShpdCkpIDogaXQ7XG4gIH07XG59KTtcbiIsIi8vIDE5LjEuMi42IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTywgUClcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgJGdldE93blByb3BlcnR5RGVzY3JpcHRvciA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BkJykuZjtcblxucmVxdWlyZSgnLi9fb2JqZWN0LXNhcCcpKCdnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3InLCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaXQsIGtleSkge1xuICAgIHJldHVybiAkZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRvSU9iamVjdChpdCksIGtleSk7XG4gIH07XG59KTtcbiIsIi8vIDE5LjEuMi43IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE8pXG5yZXF1aXJlKCcuL19vYmplY3Qtc2FwJykoJ2dldE93blByb3BlcnR5TmFtZXMnLCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiByZXF1aXJlKCcuL19vYmplY3QtZ29wbi1leHQnKS5mO1xufSk7XG4iLCIvLyAxOS4xLjIuOSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoTylcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyICRnZXRQcm90b3R5cGVPZiA9IHJlcXVpcmUoJy4vX29iamVjdC1ncG8nKTtcblxucmVxdWlyZSgnLi9fb2JqZWN0LXNhcCcpKCdnZXRQcm90b3R5cGVPZicsIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGdldFByb3RvdHlwZU9mKGl0KSB7XG4gICAgcmV0dXJuICRnZXRQcm90b3R5cGVPZih0b09iamVjdChpdCkpO1xuICB9O1xufSk7XG4iLCIvLyAxOS4xLjIuMTEgT2JqZWN0LmlzRXh0ZW5zaWJsZShPKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG5cbnJlcXVpcmUoJy4vX29iamVjdC1zYXAnKSgnaXNFeHRlbnNpYmxlJywgZnVuY3Rpb24gKCRpc0V4dGVuc2libGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGlzRXh0ZW5zaWJsZShpdCkge1xuICAgIHJldHVybiBpc09iamVjdChpdCkgPyAkaXNFeHRlbnNpYmxlID8gJGlzRXh0ZW5zaWJsZShpdCkgOiB0cnVlIDogZmFsc2U7XG4gIH07XG59KTtcbiIsIi8vIDE5LjEuMi4xMiBPYmplY3QuaXNGcm96ZW4oTylcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xuXG5yZXF1aXJlKCcuL19vYmplY3Qtc2FwJykoJ2lzRnJvemVuJywgZnVuY3Rpb24gKCRpc0Zyb3plbikge1xuICByZXR1cm4gZnVuY3Rpb24gaXNGcm96ZW4oaXQpIHtcbiAgICByZXR1cm4gaXNPYmplY3QoaXQpID8gJGlzRnJvemVuID8gJGlzRnJvemVuKGl0KSA6IGZhbHNlIDogdHJ1ZTtcbiAgfTtcbn0pO1xuIiwiLy8gMTkuMS4yLjEzIE9iamVjdC5pc1NlYWxlZChPKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG5cbnJlcXVpcmUoJy4vX29iamVjdC1zYXAnKSgnaXNTZWFsZWQnLCBmdW5jdGlvbiAoJGlzU2VhbGVkKSB7XG4gIHJldHVybiBmdW5jdGlvbiBpc1NlYWxlZChpdCkge1xuICAgIHJldHVybiBpc09iamVjdChpdCkgPyAkaXNTZWFsZWQgPyAkaXNTZWFsZWQoaXQpIDogZmFsc2UgOiB0cnVlO1xuICB9O1xufSk7XG4iLCIvLyAxOS4xLjMuMTAgT2JqZWN0LmlzKHZhbHVlMSwgdmFsdWUyKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbiRleHBvcnQoJGV4cG9ydC5TLCAnT2JqZWN0JywgeyBpczogcmVxdWlyZSgnLi9fc2FtZS12YWx1ZScpIH0pO1xuIiwiLy8gMTkuMS4yLjE0IE9iamVjdC5rZXlzKE8pXG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciAka2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG5cbnJlcXVpcmUoJy4vX29iamVjdC1zYXAnKSgna2V5cycsIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGtleXMoaXQpIHtcbiAgICByZXR1cm4gJGtleXModG9PYmplY3QoaXQpKTtcbiAgfTtcbn0pO1xuIiwiLy8gMTkuMS4yLjE1IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhPKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgbWV0YSA9IHJlcXVpcmUoJy4vX21ldGEnKS5vbkZyZWV6ZTtcblxucmVxdWlyZSgnLi9fb2JqZWN0LXNhcCcpKCdwcmV2ZW50RXh0ZW5zaW9ucycsIGZ1bmN0aW9uICgkcHJldmVudEV4dGVuc2lvbnMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHByZXZlbnRFeHRlbnNpb25zKGl0KSB7XG4gICAgcmV0dXJuICRwcmV2ZW50RXh0ZW5zaW9ucyAmJiBpc09iamVjdChpdCkgPyAkcHJldmVudEV4dGVuc2lvbnMobWV0YShpdCkpIDogaXQ7XG4gIH07XG59KTtcbiIsIi8vIDE5LjEuMi4xNyBPYmplY3Quc2VhbChPKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgbWV0YSA9IHJlcXVpcmUoJy4vX21ldGEnKS5vbkZyZWV6ZTtcblxucmVxdWlyZSgnLi9fb2JqZWN0LXNhcCcpKCdzZWFsJywgZnVuY3Rpb24gKCRzZWFsKSB7XG4gIHJldHVybiBmdW5jdGlvbiBzZWFsKGl0KSB7XG4gICAgcmV0dXJuICRzZWFsICYmIGlzT2JqZWN0KGl0KSA/ICRzZWFsKG1ldGEoaXQpKSA6IGl0O1xuICB9O1xufSk7XG4iLCIvLyAxOS4xLjMuMTkgT2JqZWN0LnNldFByb3RvdHlwZU9mKE8sIHByb3RvKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbiRleHBvcnQoJGV4cG9ydC5TLCAnT2JqZWN0JywgeyBzZXRQcm90b3R5cGVPZjogcmVxdWlyZSgnLi9fc2V0LXByb3RvJykuc2V0IH0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMTkuMS4zLjYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpXG52YXIgY2xhc3NvZiA9IHJlcXVpcmUoJy4vX2NsYXNzb2YnKTtcbnZhciB0ZXN0ID0ge307XG50ZXN0W3JlcXVpcmUoJy4vX3drcycpKCd0b1N0cmluZ1RhZycpXSA9ICd6JztcbmlmICh0ZXN0ICsgJycgIT0gJ1tvYmplY3Qgel0nKSB7XG4gIHJlcXVpcmUoJy4vX3JlZGVmaW5lJykoT2JqZWN0LnByb3RvdHlwZSwgJ3RvU3RyaW5nJywgZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuICdbb2JqZWN0ICcgKyBjbGFzc29mKHRoaXMpICsgJ10nO1xuICB9LCB0cnVlKTtcbn1cbiIsInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHBhcnNlRmxvYXQgPSByZXF1aXJlKCcuL19wYXJzZS1mbG9hdCcpO1xuLy8gMTguMi40IHBhcnNlRmxvYXQoc3RyaW5nKVxuJGV4cG9ydCgkZXhwb3J0LkcgKyAkZXhwb3J0LkYgKiAocGFyc2VGbG9hdCAhPSAkcGFyc2VGbG9hdCksIHsgcGFyc2VGbG9hdDogJHBhcnNlRmxvYXQgfSk7XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRwYXJzZUludCA9IHJlcXVpcmUoJy4vX3BhcnNlLWludCcpO1xuLy8gMTguMi41IHBhcnNlSW50KHN0cmluZywgcmFkaXgpXG4kZXhwb3J0KCRleHBvcnQuRyArICRleHBvcnQuRiAqIChwYXJzZUludCAhPSAkcGFyc2VJbnQpLCB7IHBhcnNlSW50OiAkcGFyc2VJbnQgfSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgTElCUkFSWSA9IHJlcXVpcmUoJy4vX2xpYnJhcnknKTtcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBjbGFzc29mID0gcmVxdWlyZSgnLi9fY2xhc3NvZicpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcbnZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi9fYW4taW5zdGFuY2UnKTtcbnZhciBmb3JPZiA9IHJlcXVpcmUoJy4vX2Zvci1vZicpO1xudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX3NwZWNpZXMtY29uc3RydWN0b3InKTtcbnZhciB0YXNrID0gcmVxdWlyZSgnLi9fdGFzaycpLnNldDtcbnZhciBtaWNyb3Rhc2sgPSByZXF1aXJlKCcuL19taWNyb3Rhc2snKSgpO1xudmFyIG5ld1Byb21pc2VDYXBhYmlsaXR5TW9kdWxlID0gcmVxdWlyZSgnLi9fbmV3LXByb21pc2UtY2FwYWJpbGl0eScpO1xudmFyIHBlcmZvcm0gPSByZXF1aXJlKCcuL19wZXJmb3JtJyk7XG52YXIgdXNlckFnZW50ID0gcmVxdWlyZSgnLi9fdXNlci1hZ2VudCcpO1xudmFyIHByb21pc2VSZXNvbHZlID0gcmVxdWlyZSgnLi9fcHJvbWlzZS1yZXNvbHZlJyk7XG52YXIgUFJPTUlTRSA9ICdQcm9taXNlJztcbnZhciBUeXBlRXJyb3IgPSBnbG9iYWwuVHlwZUVycm9yO1xudmFyIHByb2Nlc3MgPSBnbG9iYWwucHJvY2VzcztcbnZhciB2ZXJzaW9ucyA9IHByb2Nlc3MgJiYgcHJvY2Vzcy52ZXJzaW9ucztcbnZhciB2OCA9IHZlcnNpb25zICYmIHZlcnNpb25zLnY4IHx8ICcnO1xudmFyICRQcm9taXNlID0gZ2xvYmFsW1BST01JU0VdO1xudmFyIGlzTm9kZSA9IGNsYXNzb2YocHJvY2VzcykgPT0gJ3Byb2Nlc3MnO1xudmFyIGVtcHR5ID0gZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9O1xudmFyIEludGVybmFsLCBuZXdHZW5lcmljUHJvbWlzZUNhcGFiaWxpdHksIE93blByb21pc2VDYXBhYmlsaXR5LCBXcmFwcGVyO1xudmFyIG5ld1Byb21pc2VDYXBhYmlsaXR5ID0gbmV3R2VuZXJpY1Byb21pc2VDYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUuZjtcblxudmFyIFVTRV9OQVRJVkUgPSAhIWZ1bmN0aW9uICgpIHtcbiAgdHJ5IHtcbiAgICAvLyBjb3JyZWN0IHN1YmNsYXNzaW5nIHdpdGggQEBzcGVjaWVzIHN1cHBvcnRcbiAgICB2YXIgcHJvbWlzZSA9ICRQcm9taXNlLnJlc29sdmUoMSk7XG4gICAgdmFyIEZha2VQcm9taXNlID0gKHByb21pc2UuY29uc3RydWN0b3IgPSB7fSlbcmVxdWlyZSgnLi9fd2tzJykoJ3NwZWNpZXMnKV0gPSBmdW5jdGlvbiAoZXhlYykge1xuICAgICAgZXhlYyhlbXB0eSwgZW1wdHkpO1xuICAgIH07XG4gICAgLy8gdW5oYW5kbGVkIHJlamVjdGlvbnMgdHJhY2tpbmcgc3VwcG9ydCwgTm9kZUpTIFByb21pc2Ugd2l0aG91dCBpdCBmYWlscyBAQHNwZWNpZXMgdGVzdFxuICAgIHJldHVybiAoaXNOb2RlIHx8IHR5cGVvZiBQcm9taXNlUmVqZWN0aW9uRXZlbnQgPT0gJ2Z1bmN0aW9uJylcbiAgICAgICYmIHByb21pc2UudGhlbihlbXB0eSkgaW5zdGFuY2VvZiBGYWtlUHJvbWlzZVxuICAgICAgLy8gdjggNi42IChOb2RlIDEwIGFuZCBDaHJvbWUgNjYpIGhhdmUgYSBidWcgd2l0aCByZXNvbHZpbmcgY3VzdG9tIHRoZW5hYmxlc1xuICAgICAgLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9ODMwNTY1XG4gICAgICAvLyB3ZSBjYW4ndCBkZXRlY3QgaXQgc3luY2hyb25vdXNseSwgc28ganVzdCBjaGVjayB2ZXJzaW9uc1xuICAgICAgJiYgdjguaW5kZXhPZignNi42JykgIT09IDBcbiAgICAgICYmIHVzZXJBZ2VudC5pbmRleE9mKCdDaHJvbWUvNjYnKSA9PT0gLTE7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxufSgpO1xuXG4vLyBoZWxwZXJzXG52YXIgaXNUaGVuYWJsZSA9IGZ1bmN0aW9uIChpdCkge1xuICB2YXIgdGhlbjtcbiAgcmV0dXJuIGlzT2JqZWN0KGl0KSAmJiB0eXBlb2YgKHRoZW4gPSBpdC50aGVuKSA9PSAnZnVuY3Rpb24nID8gdGhlbiA6IGZhbHNlO1xufTtcbnZhciBub3RpZnkgPSBmdW5jdGlvbiAocHJvbWlzZSwgaXNSZWplY3QpIHtcbiAgaWYgKHByb21pc2UuX24pIHJldHVybjtcbiAgcHJvbWlzZS5fbiA9IHRydWU7XG4gIHZhciBjaGFpbiA9IHByb21pc2UuX2M7XG4gIG1pY3JvdGFzayhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZhbHVlID0gcHJvbWlzZS5fdjtcbiAgICB2YXIgb2sgPSBwcm9taXNlLl9zID09IDE7XG4gICAgdmFyIGkgPSAwO1xuICAgIHZhciBydW4gPSBmdW5jdGlvbiAocmVhY3Rpb24pIHtcbiAgICAgIHZhciBoYW5kbGVyID0gb2sgPyByZWFjdGlvbi5vayA6IHJlYWN0aW9uLmZhaWw7XG4gICAgICB2YXIgcmVzb2x2ZSA9IHJlYWN0aW9uLnJlc29sdmU7XG4gICAgICB2YXIgcmVqZWN0ID0gcmVhY3Rpb24ucmVqZWN0O1xuICAgICAgdmFyIGRvbWFpbiA9IHJlYWN0aW9uLmRvbWFpbjtcbiAgICAgIHZhciByZXN1bHQsIHRoZW4sIGV4aXRlZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChoYW5kbGVyKSB7XG4gICAgICAgICAgaWYgKCFvaykge1xuICAgICAgICAgICAgaWYgKHByb21pc2UuX2ggPT0gMikgb25IYW5kbGVVbmhhbmRsZWQocHJvbWlzZSk7XG4gICAgICAgICAgICBwcm9taXNlLl9oID0gMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGhhbmRsZXIgPT09IHRydWUpIHJlc3VsdCA9IHZhbHVlO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRvbWFpbikgZG9tYWluLmVudGVyKCk7XG4gICAgICAgICAgICByZXN1bHQgPSBoYW5kbGVyKHZhbHVlKTsgLy8gbWF5IHRocm93XG4gICAgICAgICAgICBpZiAoZG9tYWluKSB7XG4gICAgICAgICAgICAgIGRvbWFpbi5leGl0KCk7XG4gICAgICAgICAgICAgIGV4aXRlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXN1bHQgPT09IHJlYWN0aW9uLnByb21pc2UpIHtcbiAgICAgICAgICAgIHJlamVjdChUeXBlRXJyb3IoJ1Byb21pc2UtY2hhaW4gY3ljbGUnKSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGVuID0gaXNUaGVuYWJsZShyZXN1bHQpKSB7XG4gICAgICAgICAgICB0aGVuLmNhbGwocmVzdWx0LCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgIH0gZWxzZSByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0gZWxzZSByZWplY3QodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoZG9tYWluICYmICFleGl0ZWQpIGRvbWFpbi5leGl0KCk7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHdoaWxlIChjaGFpbi5sZW5ndGggPiBpKSBydW4oY2hhaW5baSsrXSk7IC8vIHZhcmlhYmxlIGxlbmd0aCAtIGNhbid0IHVzZSBmb3JFYWNoXG4gICAgcHJvbWlzZS5fYyA9IFtdO1xuICAgIHByb21pc2UuX24gPSBmYWxzZTtcbiAgICBpZiAoaXNSZWplY3QgJiYgIXByb21pc2UuX2gpIG9uVW5oYW5kbGVkKHByb21pc2UpO1xuICB9KTtcbn07XG52YXIgb25VbmhhbmRsZWQgPSBmdW5jdGlvbiAocHJvbWlzZSkge1xuICB0YXNrLmNhbGwoZ2xvYmFsLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZhbHVlID0gcHJvbWlzZS5fdjtcbiAgICB2YXIgdW5oYW5kbGVkID0gaXNVbmhhbmRsZWQocHJvbWlzZSk7XG4gICAgdmFyIHJlc3VsdCwgaGFuZGxlciwgY29uc29sZTtcbiAgICBpZiAodW5oYW5kbGVkKSB7XG4gICAgICByZXN1bHQgPSBwZXJmb3JtKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKGlzTm9kZSkge1xuICAgICAgICAgIHByb2Nlc3MuZW1pdCgndW5oYW5kbGVkUmVqZWN0aW9uJywgdmFsdWUsIHByb21pc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKGhhbmRsZXIgPSBnbG9iYWwub251bmhhbmRsZWRyZWplY3Rpb24pIHtcbiAgICAgICAgICBoYW5kbGVyKHsgcHJvbWlzZTogcHJvbWlzZSwgcmVhc29uOiB2YWx1ZSB9KTtcbiAgICAgICAgfSBlbHNlIGlmICgoY29uc29sZSA9IGdsb2JhbC5jb25zb2xlKSAmJiBjb25zb2xlLmVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uJywgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIC8vIEJyb3dzZXJzIHNob3VsZCBub3QgdHJpZ2dlciBgcmVqZWN0aW9uSGFuZGxlZGAgZXZlbnQgaWYgaXQgd2FzIGhhbmRsZWQgaGVyZSwgTm9kZUpTIC0gc2hvdWxkXG4gICAgICBwcm9taXNlLl9oID0gaXNOb2RlIHx8IGlzVW5oYW5kbGVkKHByb21pc2UpID8gMiA6IDE7XG4gICAgfSBwcm9taXNlLl9hID0gdW5kZWZpbmVkO1xuICAgIGlmICh1bmhhbmRsZWQgJiYgcmVzdWx0LmUpIHRocm93IHJlc3VsdC52O1xuICB9KTtcbn07XG52YXIgaXNVbmhhbmRsZWQgPSBmdW5jdGlvbiAocHJvbWlzZSkge1xuICByZXR1cm4gcHJvbWlzZS5faCAhPT0gMSAmJiAocHJvbWlzZS5fYSB8fCBwcm9taXNlLl9jKS5sZW5ndGggPT09IDA7XG59O1xudmFyIG9uSGFuZGxlVW5oYW5kbGVkID0gZnVuY3Rpb24gKHByb21pc2UpIHtcbiAgdGFzay5jYWxsKGdsb2JhbCwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBoYW5kbGVyO1xuICAgIGlmIChpc05vZGUpIHtcbiAgICAgIHByb2Nlc3MuZW1pdCgncmVqZWN0aW9uSGFuZGxlZCcsIHByb21pc2UpO1xuICAgIH0gZWxzZSBpZiAoaGFuZGxlciA9IGdsb2JhbC5vbnJlamVjdGlvbmhhbmRsZWQpIHtcbiAgICAgIGhhbmRsZXIoeyBwcm9taXNlOiBwcm9taXNlLCByZWFzb246IHByb21pc2UuX3YgfSk7XG4gICAgfVxuICB9KTtcbn07XG52YXIgJHJlamVjdCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICB2YXIgcHJvbWlzZSA9IHRoaXM7XG4gIGlmIChwcm9taXNlLl9kKSByZXR1cm47XG4gIHByb21pc2UuX2QgPSB0cnVlO1xuICBwcm9taXNlID0gcHJvbWlzZS5fdyB8fCBwcm9taXNlOyAvLyB1bndyYXBcbiAgcHJvbWlzZS5fdiA9IHZhbHVlO1xuICBwcm9taXNlLl9zID0gMjtcbiAgaWYgKCFwcm9taXNlLl9hKSBwcm9taXNlLl9hID0gcHJvbWlzZS5fYy5zbGljZSgpO1xuICBub3RpZnkocHJvbWlzZSwgdHJ1ZSk7XG59O1xudmFyICRyZXNvbHZlID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIHZhciBwcm9taXNlID0gdGhpcztcbiAgdmFyIHRoZW47XG4gIGlmIChwcm9taXNlLl9kKSByZXR1cm47XG4gIHByb21pc2UuX2QgPSB0cnVlO1xuICBwcm9taXNlID0gcHJvbWlzZS5fdyB8fCBwcm9taXNlOyAvLyB1bndyYXBcbiAgdHJ5IHtcbiAgICBpZiAocHJvbWlzZSA9PT0gdmFsdWUpIHRocm93IFR5cGVFcnJvcihcIlByb21pc2UgY2FuJ3QgYmUgcmVzb2x2ZWQgaXRzZWxmXCIpO1xuICAgIGlmICh0aGVuID0gaXNUaGVuYWJsZSh2YWx1ZSkpIHtcbiAgICAgIG1pY3JvdGFzayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB3cmFwcGVyID0geyBfdzogcHJvbWlzZSwgX2Q6IGZhbHNlIH07IC8vIHdyYXBcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGVuLmNhbGwodmFsdWUsIGN0eCgkcmVzb2x2ZSwgd3JhcHBlciwgMSksIGN0eCgkcmVqZWN0LCB3cmFwcGVyLCAxKSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAkcmVqZWN0LmNhbGwod3JhcHBlciwgZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcm9taXNlLl92ID0gdmFsdWU7XG4gICAgICBwcm9taXNlLl9zID0gMTtcbiAgICAgIG5vdGlmeShwcm9taXNlLCBmYWxzZSk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgJHJlamVjdC5jYWxsKHsgX3c6IHByb21pc2UsIF9kOiBmYWxzZSB9LCBlKTsgLy8gd3JhcFxuICB9XG59O1xuXG4vLyBjb25zdHJ1Y3RvciBwb2x5ZmlsbFxuaWYgKCFVU0VfTkFUSVZFKSB7XG4gIC8vIDI1LjQuMy4xIFByb21pc2UoZXhlY3V0b3IpXG4gICRQcm9taXNlID0gZnVuY3Rpb24gUHJvbWlzZShleGVjdXRvcikge1xuICAgIGFuSW5zdGFuY2UodGhpcywgJFByb21pc2UsIFBST01JU0UsICdfaCcpO1xuICAgIGFGdW5jdGlvbihleGVjdXRvcik7XG4gICAgSW50ZXJuYWwuY2FsbCh0aGlzKTtcbiAgICB0cnkge1xuICAgICAgZXhlY3V0b3IoY3R4KCRyZXNvbHZlLCB0aGlzLCAxKSwgY3R4KCRyZWplY3QsIHRoaXMsIDEpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICRyZWplY3QuY2FsbCh0aGlzLCBlcnIpO1xuICAgIH1cbiAgfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIEludGVybmFsID0gZnVuY3Rpb24gUHJvbWlzZShleGVjdXRvcikge1xuICAgIHRoaXMuX2MgPSBbXTsgICAgICAgICAgICAgLy8gPC0gYXdhaXRpbmcgcmVhY3Rpb25zXG4gICAgdGhpcy5fYSA9IHVuZGVmaW5lZDsgICAgICAvLyA8LSBjaGVja2VkIGluIGlzVW5oYW5kbGVkIHJlYWN0aW9uc1xuICAgIHRoaXMuX3MgPSAwOyAgICAgICAgICAgICAgLy8gPC0gc3RhdGVcbiAgICB0aGlzLl9kID0gZmFsc2U7ICAgICAgICAgIC8vIDwtIGRvbmVcbiAgICB0aGlzLl92ID0gdW5kZWZpbmVkOyAgICAgIC8vIDwtIHZhbHVlXG4gICAgdGhpcy5faCA9IDA7ICAgICAgICAgICAgICAvLyA8LSByZWplY3Rpb24gc3RhdGUsIDAgLSBkZWZhdWx0LCAxIC0gaGFuZGxlZCwgMiAtIHVuaGFuZGxlZFxuICAgIHRoaXMuX24gPSBmYWxzZTsgICAgICAgICAgLy8gPC0gbm90aWZ5XG4gIH07XG4gIEludGVybmFsLnByb3RvdHlwZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lLWFsbCcpKCRQcm9taXNlLnByb3RvdHlwZSwge1xuICAgIC8vIDI1LjQuNS4zIFByb21pc2UucHJvdG90eXBlLnRoZW4ob25GdWxmaWxsZWQsIG9uUmVqZWN0ZWQpXG4gICAgdGhlbjogZnVuY3Rpb24gdGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkge1xuICAgICAgdmFyIHJlYWN0aW9uID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkoc3BlY2llc0NvbnN0cnVjdG9yKHRoaXMsICRQcm9taXNlKSk7XG4gICAgICByZWFjdGlvbi5vayA9IHR5cGVvZiBvbkZ1bGZpbGxlZCA9PSAnZnVuY3Rpb24nID8gb25GdWxmaWxsZWQgOiB0cnVlO1xuICAgICAgcmVhY3Rpb24uZmFpbCA9IHR5cGVvZiBvblJlamVjdGVkID09ICdmdW5jdGlvbicgJiYgb25SZWplY3RlZDtcbiAgICAgIHJlYWN0aW9uLmRvbWFpbiA9IGlzTm9kZSA/IHByb2Nlc3MuZG9tYWluIDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fYy5wdXNoKHJlYWN0aW9uKTtcbiAgICAgIGlmICh0aGlzLl9hKSB0aGlzLl9hLnB1c2gocmVhY3Rpb24pO1xuICAgICAgaWYgKHRoaXMuX3MpIG5vdGlmeSh0aGlzLCBmYWxzZSk7XG4gICAgICByZXR1cm4gcmVhY3Rpb24ucHJvbWlzZTtcbiAgICB9LFxuICAgIC8vIDI1LjQuNS4xIFByb21pc2UucHJvdG90eXBlLmNhdGNoKG9uUmVqZWN0ZWQpXG4gICAgJ2NhdGNoJzogZnVuY3Rpb24gKG9uUmVqZWN0ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnRoZW4odW5kZWZpbmVkLCBvblJlamVjdGVkKTtcbiAgICB9XG4gIH0pO1xuICBPd25Qcm9taXNlQ2FwYWJpbGl0eSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBJbnRlcm5hbCgpO1xuICAgIHRoaXMucHJvbWlzZSA9IHByb21pc2U7XG4gICAgdGhpcy5yZXNvbHZlID0gY3R4KCRyZXNvbHZlLCBwcm9taXNlLCAxKTtcbiAgICB0aGlzLnJlamVjdCA9IGN0eCgkcmVqZWN0LCBwcm9taXNlLCAxKTtcbiAgfTtcbiAgbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUuZiA9IG5ld1Byb21pc2VDYXBhYmlsaXR5ID0gZnVuY3Rpb24gKEMpIHtcbiAgICByZXR1cm4gQyA9PT0gJFByb21pc2UgfHwgQyA9PT0gV3JhcHBlclxuICAgICAgPyBuZXcgT3duUHJvbWlzZUNhcGFiaWxpdHkoQylcbiAgICAgIDogbmV3R2VuZXJpY1Byb21pc2VDYXBhYmlsaXR5KEMpO1xuICB9O1xufVxuXG4kZXhwb3J0KCRleHBvcnQuRyArICRleHBvcnQuVyArICRleHBvcnQuRiAqICFVU0VfTkFUSVZFLCB7IFByb21pc2U6ICRQcm9taXNlIH0pO1xucmVxdWlyZSgnLi9fc2V0LXRvLXN0cmluZy10YWcnKSgkUHJvbWlzZSwgUFJPTUlTRSk7XG5yZXF1aXJlKCcuL19zZXQtc3BlY2llcycpKFBST01JU0UpO1xuV3JhcHBlciA9IHJlcXVpcmUoJy4vX2NvcmUnKVtQUk9NSVNFXTtcblxuLy8gc3RhdGljc1xuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhVVNFX05BVElWRSwgUFJPTUlTRSwge1xuICAvLyAyNS40LjQuNSBQcm9taXNlLnJlamVjdChyKVxuICByZWplY3Q6IGZ1bmN0aW9uIHJlamVjdChyKSB7XG4gICAgdmFyIGNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eSh0aGlzKTtcbiAgICB2YXIgJCRyZWplY3QgPSBjYXBhYmlsaXR5LnJlamVjdDtcbiAgICAkJHJlamVjdChyKTtcbiAgICByZXR1cm4gY2FwYWJpbGl0eS5wcm9taXNlO1xuICB9XG59KTtcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogKExJQlJBUlkgfHwgIVVTRV9OQVRJVkUpLCBQUk9NSVNFLCB7XG4gIC8vIDI1LjQuNC42IFByb21pc2UucmVzb2x2ZSh4KVxuICByZXNvbHZlOiBmdW5jdGlvbiByZXNvbHZlKHgpIHtcbiAgICByZXR1cm4gcHJvbWlzZVJlc29sdmUoTElCUkFSWSAmJiB0aGlzID09PSBXcmFwcGVyID8gJFByb21pc2UgOiB0aGlzLCB4KTtcbiAgfVxufSk7XG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICEoVVNFX05BVElWRSAmJiByZXF1aXJlKCcuL19pdGVyLWRldGVjdCcpKGZ1bmN0aW9uIChpdGVyKSB7XG4gICRQcm9taXNlLmFsbChpdGVyKVsnY2F0Y2gnXShlbXB0eSk7XG59KSksIFBST01JU0UsIHtcbiAgLy8gMjUuNC40LjEgUHJvbWlzZS5hbGwoaXRlcmFibGUpXG4gIGFsbDogZnVuY3Rpb24gYWxsKGl0ZXJhYmxlKSB7XG4gICAgdmFyIEMgPSB0aGlzO1xuICAgIHZhciBjYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkoQyk7XG4gICAgdmFyIHJlc29sdmUgPSBjYXBhYmlsaXR5LnJlc29sdmU7XG4gICAgdmFyIHJlamVjdCA9IGNhcGFiaWxpdHkucmVqZWN0O1xuICAgIHZhciByZXN1bHQgPSBwZXJmb3JtKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB2YWx1ZXMgPSBbXTtcbiAgICAgIHZhciBpbmRleCA9IDA7XG4gICAgICB2YXIgcmVtYWluaW5nID0gMTtcbiAgICAgIGZvck9mKGl0ZXJhYmxlLCBmYWxzZSwgZnVuY3Rpb24gKHByb21pc2UpIHtcbiAgICAgICAgdmFyICRpbmRleCA9IGluZGV4Kys7XG4gICAgICAgIHZhciBhbHJlYWR5Q2FsbGVkID0gZmFsc2U7XG4gICAgICAgIHZhbHVlcy5wdXNoKHVuZGVmaW5lZCk7XG4gICAgICAgIHJlbWFpbmluZysrO1xuICAgICAgICBDLnJlc29sdmUocHJvbWlzZSkudGhlbihmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICBpZiAoYWxyZWFkeUNhbGxlZCkgcmV0dXJuO1xuICAgICAgICAgIGFscmVhZHlDYWxsZWQgPSB0cnVlO1xuICAgICAgICAgIHZhbHVlc1skaW5kZXhdID0gdmFsdWU7XG4gICAgICAgICAgLS1yZW1haW5pbmcgfHwgcmVzb2x2ZSh2YWx1ZXMpO1xuICAgICAgICB9LCByZWplY3QpO1xuICAgICAgfSk7XG4gICAgICAtLXJlbWFpbmluZyB8fCByZXNvbHZlKHZhbHVlcyk7XG4gICAgfSk7XG4gICAgaWYgKHJlc3VsdC5lKSByZWplY3QocmVzdWx0LnYpO1xuICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7XG4gIH0sXG4gIC8vIDI1LjQuNC40IFByb21pc2UucmFjZShpdGVyYWJsZSlcbiAgcmFjZTogZnVuY3Rpb24gcmFjZShpdGVyYWJsZSkge1xuICAgIHZhciBDID0gdGhpcztcbiAgICB2YXIgY2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5KEMpO1xuICAgIHZhciByZWplY3QgPSBjYXBhYmlsaXR5LnJlamVjdDtcbiAgICB2YXIgcmVzdWx0ID0gcGVyZm9ybShmdW5jdGlvbiAoKSB7XG4gICAgICBmb3JPZihpdGVyYWJsZSwgZmFsc2UsIGZ1bmN0aW9uIChwcm9taXNlKSB7XG4gICAgICAgIEMucmVzb2x2ZShwcm9taXNlKS50aGVuKGNhcGFiaWxpdHkucmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGlmIChyZXN1bHQuZSkgcmVqZWN0KHJlc3VsdC52KTtcbiAgICByZXR1cm4gY2FwYWJpbGl0eS5wcm9taXNlO1xuICB9XG59KTtcbiIsIi8vIDI2LjEuMSBSZWZsZWN0LmFwcGx5KHRhcmdldCwgdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciByQXBwbHkgPSAocmVxdWlyZSgnLi9fZ2xvYmFsJykuUmVmbGVjdCB8fCB7fSkuYXBwbHk7XG52YXIgZkFwcGx5ID0gRnVuY3Rpb24uYXBwbHk7XG4vLyBNUyBFZGdlIGFyZ3VtZW50c0xpc3QgYXJndW1lbnQgaXMgb3B0aW9uYWxcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByQXBwbHkoZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9KTtcbn0pLCAnUmVmbGVjdCcsIHtcbiAgYXBwbHk6IGZ1bmN0aW9uIGFwcGx5KHRhcmdldCwgdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KSB7XG4gICAgdmFyIFQgPSBhRnVuY3Rpb24odGFyZ2V0KTtcbiAgICB2YXIgTCA9IGFuT2JqZWN0KGFyZ3VtZW50c0xpc3QpO1xuICAgIHJldHVybiByQXBwbHkgPyByQXBwbHkoVCwgdGhpc0FyZ3VtZW50LCBMKSA6IGZBcHBseS5jYWxsKFQsIHRoaXNBcmd1bWVudCwgTCk7XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS4yIFJlZmxlY3QuY29uc3RydWN0KHRhcmdldCwgYXJndW1lbnRzTGlzdCBbLCBuZXdUYXJnZXRdKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBjcmVhdGUgPSByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG52YXIgYmluZCA9IHJlcXVpcmUoJy4vX2JpbmQnKTtcbnZhciByQ29uc3RydWN0ID0gKHJlcXVpcmUoJy4vX2dsb2JhbCcpLlJlZmxlY3QgfHwge30pLmNvbnN0cnVjdDtcblxuLy8gTVMgRWRnZSBzdXBwb3J0cyBvbmx5IDIgYXJndW1lbnRzIGFuZCBhcmd1bWVudHNMaXN0IGFyZ3VtZW50IGlzIG9wdGlvbmFsXG4vLyBGRiBOaWdodGx5IHNldHMgdGhpcmQgYXJndW1lbnQgYXMgYG5ldy50YXJnZXRgLCBidXQgZG9lcyBub3QgY3JlYXRlIGB0aGlzYCBmcm9tIGl0XG52YXIgTkVXX1RBUkdFVF9CVUcgPSBmYWlscyhmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIEYoKSB7IC8qIGVtcHR5ICovIH1cbiAgcmV0dXJuICEockNvbnN0cnVjdChmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH0sIFtdLCBGKSBpbnN0YW5jZW9mIEYpO1xufSk7XG52YXIgQVJHU19CVUcgPSAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICByQ29uc3RydWN0KGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfSk7XG59KTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoTkVXX1RBUkdFVF9CVUcgfHwgQVJHU19CVUcpLCAnUmVmbGVjdCcsIHtcbiAgY29uc3RydWN0OiBmdW5jdGlvbiBjb25zdHJ1Y3QoVGFyZ2V0LCBhcmdzIC8qICwgbmV3VGFyZ2V0ICovKSB7XG4gICAgYUZ1bmN0aW9uKFRhcmdldCk7XG4gICAgYW5PYmplY3QoYXJncyk7XG4gICAgdmFyIG5ld1RhcmdldCA9IGFyZ3VtZW50cy5sZW5ndGggPCAzID8gVGFyZ2V0IDogYUZ1bmN0aW9uKGFyZ3VtZW50c1syXSk7XG4gICAgaWYgKEFSR1NfQlVHICYmICFORVdfVEFSR0VUX0JVRykgcmV0dXJuIHJDb25zdHJ1Y3QoVGFyZ2V0LCBhcmdzLCBuZXdUYXJnZXQpO1xuICAgIGlmIChUYXJnZXQgPT0gbmV3VGFyZ2V0KSB7XG4gICAgICAvLyB3L28gYWx0ZXJlZCBuZXdUYXJnZXQsIG9wdGltaXphdGlvbiBmb3IgMC00IGFyZ3VtZW50c1xuICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgICBjYXNlIDA6IHJldHVybiBuZXcgVGFyZ2V0KCk7XG4gICAgICAgIGNhc2UgMTogcmV0dXJuIG5ldyBUYXJnZXQoYXJnc1swXSk7XG4gICAgICAgIGNhc2UgMjogcmV0dXJuIG5ldyBUYXJnZXQoYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgICAgIGNhc2UgMzogcmV0dXJuIG5ldyBUYXJnZXQoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgICAgIGNhc2UgNDogcmV0dXJuIG5ldyBUYXJnZXQoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSk7XG4gICAgICB9XG4gICAgICAvLyB3L28gYWx0ZXJlZCBuZXdUYXJnZXQsIGxvdCBvZiBhcmd1bWVudHMgY2FzZVxuICAgICAgdmFyICRhcmdzID0gW251bGxdO1xuICAgICAgJGFyZ3MucHVzaC5hcHBseSgkYXJncywgYXJncyk7XG4gICAgICByZXR1cm4gbmV3IChiaW5kLmFwcGx5KFRhcmdldCwgJGFyZ3MpKSgpO1xuICAgIH1cbiAgICAvLyB3aXRoIGFsdGVyZWQgbmV3VGFyZ2V0LCBub3Qgc3VwcG9ydCBidWlsdC1pbiBjb25zdHJ1Y3RvcnNcbiAgICB2YXIgcHJvdG8gPSBuZXdUYXJnZXQucHJvdG90eXBlO1xuICAgIHZhciBpbnN0YW5jZSA9IGNyZWF0ZShpc09iamVjdChwcm90bykgPyBwcm90byA6IE9iamVjdC5wcm90b3R5cGUpO1xuICAgIHZhciByZXN1bHQgPSBGdW5jdGlvbi5hcHBseS5jYWxsKFRhcmdldCwgaW5zdGFuY2UsIGFyZ3MpO1xuICAgIHJldHVybiBpc09iamVjdChyZXN1bHQpID8gcmVzdWx0IDogaW5zdGFuY2U7XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS4zIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSwgYXR0cmlidXRlcylcbnZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG5cbi8vIE1TIEVkZ2UgaGFzIGJyb2tlbiBSZWZsZWN0LmRlZmluZVByb3BlcnR5IC0gdGhyb3dpbmcgaW5zdGVhZCBvZiByZXR1cm5pbmcgZmFsc2VcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBSZWZsZWN0LmRlZmluZVByb3BlcnR5KGRQLmYoe30sIDEsIHsgdmFsdWU6IDEgfSksIDEsIHsgdmFsdWU6IDIgfSk7XG59KSwgJ1JlZmxlY3QnLCB7XG4gIGRlZmluZVByb3BlcnR5OiBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCBhdHRyaWJ1dGVzKSB7XG4gICAgYW5PYmplY3QodGFyZ2V0KTtcbiAgICBwcm9wZXJ0eUtleSA9IHRvUHJpbWl0aXZlKHByb3BlcnR5S2V5LCB0cnVlKTtcbiAgICBhbk9iamVjdChhdHRyaWJ1dGVzKTtcbiAgICB0cnkge1xuICAgICAgZFAuZih0YXJnZXQsIHByb3BlcnR5S2V5LCBhdHRyaWJ1dGVzKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS40IFJlZmxlY3QuZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSlcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgZ09QRCA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BkJykuZjtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ1JlZmxlY3QnLCB7XG4gIGRlbGV0ZVByb3BlcnR5OiBmdW5jdGlvbiBkZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5KSB7XG4gICAgdmFyIGRlc2MgPSBnT1BEKGFuT2JqZWN0KHRhcmdldCksIHByb3BlcnR5S2V5KTtcbiAgICByZXR1cm4gZGVzYyAmJiAhZGVzYy5jb25maWd1cmFibGUgPyBmYWxzZSA6IGRlbGV0ZSB0YXJnZXRbcHJvcGVydHlLZXldO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIDI2LjEuNSBSZWZsZWN0LmVudW1lcmF0ZSh0YXJnZXQpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgRW51bWVyYXRlID0gZnVuY3Rpb24gKGl0ZXJhdGVkKSB7XG4gIHRoaXMuX3QgPSBhbk9iamVjdChpdGVyYXRlZCk7IC8vIHRhcmdldFxuICB0aGlzLl9pID0gMDsgICAgICAgICAgICAgICAgICAvLyBuZXh0IGluZGV4XG4gIHZhciBrZXlzID0gdGhpcy5fayA9IFtdOyAgICAgIC8vIGtleXNcbiAgdmFyIGtleTtcbiAgZm9yIChrZXkgaW4gaXRlcmF0ZWQpIGtleXMucHVzaChrZXkpO1xufTtcbnJlcXVpcmUoJy4vX2l0ZXItY3JlYXRlJykoRW51bWVyYXRlLCAnT2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICB2YXIgdGhhdCA9IHRoaXM7XG4gIHZhciBrZXlzID0gdGhhdC5faztcbiAgdmFyIGtleTtcbiAgZG8ge1xuICAgIGlmICh0aGF0Ll9pID49IGtleXMubGVuZ3RoKSByZXR1cm4geyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH07XG4gIH0gd2hpbGUgKCEoKGtleSA9IGtleXNbdGhhdC5faSsrXSkgaW4gdGhhdC5fdCkpO1xuICByZXR1cm4geyB2YWx1ZToga2V5LCBkb25lOiBmYWxzZSB9O1xufSk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnUmVmbGVjdCcsIHtcbiAgZW51bWVyYXRlOiBmdW5jdGlvbiBlbnVtZXJhdGUodGFyZ2V0KSB7XG4gICAgcmV0dXJuIG5ldyBFbnVtZXJhdGUodGFyZ2V0KTtcbiAgfVxufSk7XG4iLCIvLyAyNi4xLjcgUmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSlcbnZhciBnT1BEID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcGQnKTtcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0Jywge1xuICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6IGZ1bmN0aW9uIGdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KSB7XG4gICAgcmV0dXJuIGdPUEQuZihhbk9iamVjdCh0YXJnZXQpLCBwcm9wZXJ0eUtleSk7XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS44IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBnZXRQcm90byA9IHJlcXVpcmUoJy4vX29iamVjdC1ncG8nKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ1JlZmxlY3QnLCB7XG4gIGdldFByb3RvdHlwZU9mOiBmdW5jdGlvbiBnZXRQcm90b3R5cGVPZih0YXJnZXQpIHtcbiAgICByZXR1cm4gZ2V0UHJvdG8oYW5PYmplY3QodGFyZ2V0KSk7XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS42IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHlLZXkgWywgcmVjZWl2ZXJdKVxudmFyIGdPUEQgPSByZXF1aXJlKCcuL19vYmplY3QtZ29wZCcpO1xudmFyIGdldFByb3RvdHlwZU9mID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdwbycpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG5cbmZ1bmN0aW9uIGdldCh0YXJnZXQsIHByb3BlcnR5S2V5IC8qICwgcmVjZWl2ZXIgKi8pIHtcbiAgdmFyIHJlY2VpdmVyID0gYXJndW1lbnRzLmxlbmd0aCA8IDMgPyB0YXJnZXQgOiBhcmd1bWVudHNbMl07XG4gIHZhciBkZXNjLCBwcm90bztcbiAgaWYgKGFuT2JqZWN0KHRhcmdldCkgPT09IHJlY2VpdmVyKSByZXR1cm4gdGFyZ2V0W3Byb3BlcnR5S2V5XTtcbiAgaWYgKGRlc2MgPSBnT1BELmYodGFyZ2V0LCBwcm9wZXJ0eUtleSkpIHJldHVybiBoYXMoZGVzYywgJ3ZhbHVlJylcbiAgICA/IGRlc2MudmFsdWVcbiAgICA6IGRlc2MuZ2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gZGVzYy5nZXQuY2FsbChyZWNlaXZlcilcbiAgICAgIDogdW5kZWZpbmVkO1xuICBpZiAoaXNPYmplY3QocHJvdG8gPSBnZXRQcm90b3R5cGVPZih0YXJnZXQpKSkgcmV0dXJuIGdldChwcm90bywgcHJvcGVydHlLZXksIHJlY2VpdmVyKTtcbn1cblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0JywgeyBnZXQ6IGdldCB9KTtcbiIsIi8vIDI2LjEuOSBSZWZsZWN0Lmhhcyh0YXJnZXQsIHByb3BlcnR5S2V5KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0Jywge1xuICBoYXM6IGZ1bmN0aW9uIGhhcyh0YXJnZXQsIHByb3BlcnR5S2V5KSB7XG4gICAgcmV0dXJuIHByb3BlcnR5S2V5IGluIHRhcmdldDtcbiAgfVxufSk7XG4iLCIvLyAyNi4xLjEwIFJlZmxlY3QuaXNFeHRlbnNpYmxlKHRhcmdldClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciAkaXNFeHRlbnNpYmxlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0Jywge1xuICBpc0V4dGVuc2libGU6IGZ1bmN0aW9uIGlzRXh0ZW5zaWJsZSh0YXJnZXQpIHtcbiAgICBhbk9iamVjdCh0YXJnZXQpO1xuICAgIHJldHVybiAkaXNFeHRlbnNpYmxlID8gJGlzRXh0ZW5zaWJsZSh0YXJnZXQpIDogdHJ1ZTtcbiAgfVxufSk7XG4iLCIvLyAyNi4xLjExIFJlZmxlY3Qub3duS2V5cyh0YXJnZXQpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ1JlZmxlY3QnLCB7IG93bktleXM6IHJlcXVpcmUoJy4vX293bi1rZXlzJykgfSk7XG4iLCIvLyAyNi4xLjEyIFJlZmxlY3QucHJldmVudEV4dGVuc2lvbnModGFyZ2V0KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyICRwcmV2ZW50RXh0ZW5zaW9ucyA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucztcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0Jywge1xuICBwcmV2ZW50RXh0ZW5zaW9uczogZnVuY3Rpb24gcHJldmVudEV4dGVuc2lvbnModGFyZ2V0KSB7XG4gICAgYW5PYmplY3QodGFyZ2V0KTtcbiAgICB0cnkge1xuICAgICAgaWYgKCRwcmV2ZW50RXh0ZW5zaW9ucykgJHByZXZlbnRFeHRlbnNpb25zKHRhcmdldCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59KTtcbiIsIi8vIDI2LjEuMTQgUmVmbGVjdC5zZXRQcm90b3R5cGVPZih0YXJnZXQsIHByb3RvKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBzZXRQcm90byA9IHJlcXVpcmUoJy4vX3NldC1wcm90bycpO1xuXG5pZiAoc2V0UHJvdG8pICRleHBvcnQoJGV4cG9ydC5TLCAnUmVmbGVjdCcsIHtcbiAgc2V0UHJvdG90eXBlT2Y6IGZ1bmN0aW9uIHNldFByb3RvdHlwZU9mKHRhcmdldCwgcHJvdG8pIHtcbiAgICBzZXRQcm90by5jaGVjayh0YXJnZXQsIHByb3RvKTtcbiAgICB0cnkge1xuICAgICAgc2V0UHJvdG8uc2V0KHRhcmdldCwgcHJvdG8pO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufSk7XG4iLCIvLyAyNi4xLjEzIFJlZmxlY3Quc2V0KHRhcmdldCwgcHJvcGVydHlLZXksIFYgWywgcmVjZWl2ZXJdKVxudmFyIGRQID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJyk7XG52YXIgZ09QRCA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BkJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xuXG5mdW5jdGlvbiBzZXQodGFyZ2V0LCBwcm9wZXJ0eUtleSwgViAvKiAsIHJlY2VpdmVyICovKSB7XG4gIHZhciByZWNlaXZlciA9IGFyZ3VtZW50cy5sZW5ndGggPCA0ID8gdGFyZ2V0IDogYXJndW1lbnRzWzNdO1xuICB2YXIgb3duRGVzYyA9IGdPUEQuZihhbk9iamVjdCh0YXJnZXQpLCBwcm9wZXJ0eUtleSk7XG4gIHZhciBleGlzdGluZ0Rlc2NyaXB0b3IsIHByb3RvO1xuICBpZiAoIW93bkRlc2MpIHtcbiAgICBpZiAoaXNPYmplY3QocHJvdG8gPSBnZXRQcm90b3R5cGVPZih0YXJnZXQpKSkge1xuICAgICAgcmV0dXJuIHNldChwcm90bywgcHJvcGVydHlLZXksIFYsIHJlY2VpdmVyKTtcbiAgICB9XG4gICAgb3duRGVzYyA9IGNyZWF0ZURlc2MoMCk7XG4gIH1cbiAgaWYgKGhhcyhvd25EZXNjLCAndmFsdWUnKSkge1xuICAgIGlmIChvd25EZXNjLndyaXRhYmxlID09PSBmYWxzZSB8fCAhaXNPYmplY3QocmVjZWl2ZXIpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGV4aXN0aW5nRGVzY3JpcHRvciA9IGdPUEQuZihyZWNlaXZlciwgcHJvcGVydHlLZXkpKSB7XG4gICAgICBpZiAoZXhpc3RpbmdEZXNjcmlwdG9yLmdldCB8fCBleGlzdGluZ0Rlc2NyaXB0b3Iuc2V0IHx8IGV4aXN0aW5nRGVzY3JpcHRvci53cml0YWJsZSA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcbiAgICAgIGV4aXN0aW5nRGVzY3JpcHRvci52YWx1ZSA9IFY7XG4gICAgICBkUC5mKHJlY2VpdmVyLCBwcm9wZXJ0eUtleSwgZXhpc3RpbmdEZXNjcmlwdG9yKTtcbiAgICB9IGVsc2UgZFAuZihyZWNlaXZlciwgcHJvcGVydHlLZXksIGNyZWF0ZURlc2MoMCwgVikpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBvd25EZXNjLnNldCA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiAob3duRGVzYy5zZXQuY2FsbChyZWNlaXZlciwgViksIHRydWUpO1xufVxuXG4kZXhwb3J0KCRleHBvcnQuUywgJ1JlZmxlY3QnLCB7IHNldDogc2V0IH0pO1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGluaGVyaXRJZlJlcXVpcmVkID0gcmVxdWlyZSgnLi9faW5oZXJpdC1pZi1yZXF1aXJlZCcpO1xudmFyIGRQID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJykuZjtcbnZhciBnT1BOID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcG4nKS5mO1xudmFyIGlzUmVnRXhwID0gcmVxdWlyZSgnLi9faXMtcmVnZXhwJyk7XG52YXIgJGZsYWdzID0gcmVxdWlyZSgnLi9fZmxhZ3MnKTtcbnZhciAkUmVnRXhwID0gZ2xvYmFsLlJlZ0V4cDtcbnZhciBCYXNlID0gJFJlZ0V4cDtcbnZhciBwcm90byA9ICRSZWdFeHAucHJvdG90eXBlO1xudmFyIHJlMSA9IC9hL2c7XG52YXIgcmUyID0gL2EvZztcbi8vIFwibmV3XCIgY3JlYXRlcyBhIG5ldyBvYmplY3QsIG9sZCB3ZWJraXQgYnVnZ3kgaGVyZVxudmFyIENPUlJFQ1RfTkVXID0gbmV3ICRSZWdFeHAocmUxKSAhPT0gcmUxO1xuXG5pZiAocmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSAmJiAoIUNPUlJFQ1RfTkVXIHx8IHJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZTJbcmVxdWlyZSgnLi9fd2tzJykoJ21hdGNoJyldID0gZmFsc2U7XG4gIC8vIFJlZ0V4cCBjb25zdHJ1Y3RvciBjYW4gYWx0ZXIgZmxhZ3MgYW5kIElzUmVnRXhwIHdvcmtzIGNvcnJlY3Qgd2l0aCBAQG1hdGNoXG4gIHJldHVybiAkUmVnRXhwKHJlMSkgIT0gcmUxIHx8ICRSZWdFeHAocmUyKSA9PSByZTIgfHwgJFJlZ0V4cChyZTEsICdpJykgIT0gJy9hL2knO1xufSkpKSB7XG4gICRSZWdFeHAgPSBmdW5jdGlvbiBSZWdFeHAocCwgZikge1xuICAgIHZhciB0aVJFID0gdGhpcyBpbnN0YW5jZW9mICRSZWdFeHA7XG4gICAgdmFyIHBpUkUgPSBpc1JlZ0V4cChwKTtcbiAgICB2YXIgZmlVID0gZiA9PT0gdW5kZWZpbmVkO1xuICAgIHJldHVybiAhdGlSRSAmJiBwaVJFICYmIHAuY29uc3RydWN0b3IgPT09ICRSZWdFeHAgJiYgZmlVID8gcFxuICAgICAgOiBpbmhlcml0SWZSZXF1aXJlZChDT1JSRUNUX05FV1xuICAgICAgICA/IG5ldyBCYXNlKHBpUkUgJiYgIWZpVSA/IHAuc291cmNlIDogcCwgZilcbiAgICAgICAgOiBCYXNlKChwaVJFID0gcCBpbnN0YW5jZW9mICRSZWdFeHApID8gcC5zb3VyY2UgOiBwLCBwaVJFICYmIGZpVSA/ICRmbGFncy5jYWxsKHApIDogZilcbiAgICAgICwgdGlSRSA/IHRoaXMgOiBwcm90bywgJFJlZ0V4cCk7XG4gIH07XG4gIHZhciBwcm94eSA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgICBrZXkgaW4gJFJlZ0V4cCB8fCBkUCgkUmVnRXhwLCBrZXksIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gQmFzZVtrZXldOyB9LFxuICAgICAgc2V0OiBmdW5jdGlvbiAoaXQpIHsgQmFzZVtrZXldID0gaXQ7IH1cbiAgICB9KTtcbiAgfTtcbiAgZm9yICh2YXIga2V5cyA9IGdPUE4oQmFzZSksIGkgPSAwOyBrZXlzLmxlbmd0aCA+IGk7KSBwcm94eShrZXlzW2krK10pO1xuICBwcm90by5jb25zdHJ1Y3RvciA9ICRSZWdFeHA7XG4gICRSZWdFeHAucHJvdG90eXBlID0gcHJvdG87XG4gIHJlcXVpcmUoJy4vX3JlZGVmaW5lJykoZ2xvYmFsLCAnUmVnRXhwJywgJFJlZ0V4cCk7XG59XG5cbnJlcXVpcmUoJy4vX3NldC1zcGVjaWVzJykoJ1JlZ0V4cCcpO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIHJlZ2V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYycpO1xucmVxdWlyZSgnLi9fZXhwb3J0Jykoe1xuICB0YXJnZXQ6ICdSZWdFeHAnLFxuICBwcm90bzogdHJ1ZSxcbiAgZm9yY2VkOiByZWdleHBFeGVjICE9PSAvLi8uZXhlY1xufSwge1xuICBleGVjOiByZWdleHBFeGVjXG59KTtcbiIsIi8vIDIxLjIuNS4zIGdldCBSZWdFeHAucHJvdG90eXBlLmZsYWdzKClcbmlmIChyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmIC8uL2cuZmxhZ3MgIT0gJ2cnKSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mKFJlZ0V4cC5wcm90b3R5cGUsICdmbGFncycsIHtcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBnZXQ6IHJlcXVpcmUoJy4vX2ZsYWdzJylcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGFkdmFuY2VTdHJpbmdJbmRleCA9IHJlcXVpcmUoJy4vX2FkdmFuY2Utc3RyaW5nLWluZGV4Jyk7XG52YXIgcmVnRXhwRXhlYyA9IHJlcXVpcmUoJy4vX3JlZ2V4cC1leGVjLWFic3RyYWN0Jyk7XG5cbi8vIEBAbWF0Y2ggbG9naWNcbnJlcXVpcmUoJy4vX2ZpeC1yZS13a3MnKSgnbWF0Y2gnLCAxLCBmdW5jdGlvbiAoZGVmaW5lZCwgTUFUQ0gsICRtYXRjaCwgbWF5YmVDYWxsTmF0aXZlKSB7XG4gIHJldHVybiBbXG4gICAgLy8gYFN0cmluZy5wcm90b3R5cGUubWF0Y2hgIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXN0cmluZy5wcm90b3R5cGUubWF0Y2hcbiAgICBmdW5jdGlvbiBtYXRjaChyZWdleHApIHtcbiAgICAgIHZhciBPID0gZGVmaW5lZCh0aGlzKTtcbiAgICAgIHZhciBmbiA9IHJlZ2V4cCA9PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiByZWdleHBbTUFUQ0hdO1xuICAgICAgcmV0dXJuIGZuICE9PSB1bmRlZmluZWQgPyBmbi5jYWxsKHJlZ2V4cCwgTykgOiBuZXcgUmVnRXhwKHJlZ2V4cClbTUFUQ0hdKFN0cmluZyhPKSk7XG4gICAgfSxcbiAgICAvLyBgUmVnRXhwLnByb3RvdHlwZVtAQG1hdGNoXWAgbWV0aG9kXG4gICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcmVnZXhwLnByb3RvdHlwZS1AQG1hdGNoXG4gICAgZnVuY3Rpb24gKHJlZ2V4cCkge1xuICAgICAgdmFyIHJlcyA9IG1heWJlQ2FsbE5hdGl2ZSgkbWF0Y2gsIHJlZ2V4cCwgdGhpcyk7XG4gICAgICBpZiAocmVzLmRvbmUpIHJldHVybiByZXMudmFsdWU7XG4gICAgICB2YXIgcnggPSBhbk9iamVjdChyZWdleHApO1xuICAgICAgdmFyIFMgPSBTdHJpbmcodGhpcyk7XG4gICAgICBpZiAoIXJ4Lmdsb2JhbCkgcmV0dXJuIHJlZ0V4cEV4ZWMocngsIFMpO1xuICAgICAgdmFyIGZ1bGxVbmljb2RlID0gcngudW5pY29kZTtcbiAgICAgIHJ4Lmxhc3RJbmRleCA9IDA7XG4gICAgICB2YXIgQSA9IFtdO1xuICAgICAgdmFyIG4gPSAwO1xuICAgICAgdmFyIHJlc3VsdDtcbiAgICAgIHdoaWxlICgocmVzdWx0ID0gcmVnRXhwRXhlYyhyeCwgUykpICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBtYXRjaFN0ciA9IFN0cmluZyhyZXN1bHRbMF0pO1xuICAgICAgICBBW25dID0gbWF0Y2hTdHI7XG4gICAgICAgIGlmIChtYXRjaFN0ciA9PT0gJycpIHJ4Lmxhc3RJbmRleCA9IGFkdmFuY2VTdHJpbmdJbmRleChTLCB0b0xlbmd0aChyeC5sYXN0SW5kZXgpLCBmdWxsVW5pY29kZSk7XG4gICAgICAgIG4rKztcbiAgICAgIH1cbiAgICAgIHJldHVybiBuID09PSAwID8gbnVsbCA6IEE7XG4gICAgfVxuICBdO1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgYWR2YW5jZVN0cmluZ0luZGV4ID0gcmVxdWlyZSgnLi9fYWR2YW5jZS1zdHJpbmctaW5kZXgnKTtcbnZhciByZWdFeHBFeGVjID0gcmVxdWlyZSgnLi9fcmVnZXhwLWV4ZWMtYWJzdHJhY3QnKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbnZhciBmbG9vciA9IE1hdGguZmxvb3I7XG52YXIgU1VCU1RJVFVUSU9OX1NZTUJPTFMgPSAvXFwkKFskJmAnXXxcXGRcXGQ/fDxbXj5dKj4pL2c7XG52YXIgU1VCU1RJVFVUSU9OX1NZTUJPTFNfTk9fTkFNRUQgPSAvXFwkKFskJmAnXXxcXGRcXGQ/KS9nO1xuXG52YXIgbWF5YmVUb1N0cmluZyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgPT09IHVuZGVmaW5lZCA/IGl0IDogU3RyaW5nKGl0KTtcbn07XG5cbi8vIEBAcmVwbGFjZSBsb2dpY1xucmVxdWlyZSgnLi9fZml4LXJlLXdrcycpKCdyZXBsYWNlJywgMiwgZnVuY3Rpb24gKGRlZmluZWQsIFJFUExBQ0UsICRyZXBsYWNlLCBtYXliZUNhbGxOYXRpdmUpIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VcbiAgICBmdW5jdGlvbiByZXBsYWNlKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIHtcbiAgICAgIHZhciBPID0gZGVmaW5lZCh0aGlzKTtcbiAgICAgIHZhciBmbiA9IHNlYXJjaFZhbHVlID09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHNlYXJjaFZhbHVlW1JFUExBQ0VdO1xuICAgICAgcmV0dXJuIGZuICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBmbi5jYWxsKHNlYXJjaFZhbHVlLCBPLCByZXBsYWNlVmFsdWUpXG4gICAgICAgIDogJHJlcGxhY2UuY2FsbChTdHJpbmcoTyksIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpO1xuICAgIH0sXG4gICAgLy8gYFJlZ0V4cC5wcm90b3R5cGVbQEByZXBsYWNlXWAgbWV0aG9kXG4gICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcmVnZXhwLnByb3RvdHlwZS1AQHJlcGxhY2VcbiAgICBmdW5jdGlvbiAocmVnZXhwLCByZXBsYWNlVmFsdWUpIHtcbiAgICAgIHZhciByZXMgPSBtYXliZUNhbGxOYXRpdmUoJHJlcGxhY2UsIHJlZ2V4cCwgdGhpcywgcmVwbGFjZVZhbHVlKTtcbiAgICAgIGlmIChyZXMuZG9uZSkgcmV0dXJuIHJlcy52YWx1ZTtcblxuICAgICAgdmFyIHJ4ID0gYW5PYmplY3QocmVnZXhwKTtcbiAgICAgIHZhciBTID0gU3RyaW5nKHRoaXMpO1xuICAgICAgdmFyIGZ1bmN0aW9uYWxSZXBsYWNlID0gdHlwZW9mIHJlcGxhY2VWYWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbiAgICAgIGlmICghZnVuY3Rpb25hbFJlcGxhY2UpIHJlcGxhY2VWYWx1ZSA9IFN0cmluZyhyZXBsYWNlVmFsdWUpO1xuICAgICAgdmFyIGdsb2JhbCA9IHJ4Lmdsb2JhbDtcbiAgICAgIGlmIChnbG9iYWwpIHtcbiAgICAgICAgdmFyIGZ1bGxVbmljb2RlID0gcngudW5pY29kZTtcbiAgICAgICAgcngubGFzdEluZGV4ID0gMDtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHRzID0gW107XG4gICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gcmVnRXhwRXhlYyhyeCwgUyk7XG4gICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwpIGJyZWFrO1xuICAgICAgICByZXN1bHRzLnB1c2gocmVzdWx0KTtcbiAgICAgICAgaWYgKCFnbG9iYWwpIGJyZWFrO1xuICAgICAgICB2YXIgbWF0Y2hTdHIgPSBTdHJpbmcocmVzdWx0WzBdKTtcbiAgICAgICAgaWYgKG1hdGNoU3RyID09PSAnJykgcngubGFzdEluZGV4ID0gYWR2YW5jZVN0cmluZ0luZGV4KFMsIHRvTGVuZ3RoKHJ4Lmxhc3RJbmRleCksIGZ1bGxVbmljb2RlKTtcbiAgICAgIH1cbiAgICAgIHZhciBhY2N1bXVsYXRlZFJlc3VsdCA9ICcnO1xuICAgICAgdmFyIG5leHRTb3VyY2VQb3NpdGlvbiA9IDA7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0c1tpXTtcbiAgICAgICAgdmFyIG1hdGNoZWQgPSBTdHJpbmcocmVzdWx0WzBdKTtcbiAgICAgICAgdmFyIHBvc2l0aW9uID0gbWF4KG1pbih0b0ludGVnZXIocmVzdWx0LmluZGV4KSwgUy5sZW5ndGgpLCAwKTtcbiAgICAgICAgdmFyIGNhcHR1cmVzID0gW107XG4gICAgICAgIC8vIE5PVEU6IFRoaXMgaXMgZXF1aXZhbGVudCB0b1xuICAgICAgICAvLyAgIGNhcHR1cmVzID0gcmVzdWx0LnNsaWNlKDEpLm1hcChtYXliZVRvU3RyaW5nKVxuICAgICAgICAvLyBidXQgZm9yIHNvbWUgcmVhc29uIGBuYXRpdmVTbGljZS5jYWxsKHJlc3VsdCwgMSwgcmVzdWx0Lmxlbmd0aClgIChjYWxsZWQgaW5cbiAgICAgICAgLy8gdGhlIHNsaWNlIHBvbHlmaWxsIHdoZW4gc2xpY2luZyBuYXRpdmUgYXJyYXlzKSBcImRvZXNuJ3Qgd29ya1wiIGluIHNhZmFyaSA5IGFuZFxuICAgICAgICAvLyBjYXVzZXMgYSBjcmFzaCAoaHR0cHM6Ly9wYXN0ZWJpbi5jb20vTjIxUXplUUEpIHdoZW4gdHJ5aW5nIHRvIGRlYnVnIGl0LlxuICAgICAgICBmb3IgKHZhciBqID0gMTsgaiA8IHJlc3VsdC5sZW5ndGg7IGorKykgY2FwdHVyZXMucHVzaChtYXliZVRvU3RyaW5nKHJlc3VsdFtqXSkpO1xuICAgICAgICB2YXIgbmFtZWRDYXB0dXJlcyA9IHJlc3VsdC5ncm91cHM7XG4gICAgICAgIGlmIChmdW5jdGlvbmFsUmVwbGFjZSkge1xuICAgICAgICAgIHZhciByZXBsYWNlckFyZ3MgPSBbbWF0Y2hlZF0uY29uY2F0KGNhcHR1cmVzLCBwb3NpdGlvbiwgUyk7XG4gICAgICAgICAgaWYgKG5hbWVkQ2FwdHVyZXMgIT09IHVuZGVmaW5lZCkgcmVwbGFjZXJBcmdzLnB1c2gobmFtZWRDYXB0dXJlcyk7XG4gICAgICAgICAgdmFyIHJlcGxhY2VtZW50ID0gU3RyaW5nKHJlcGxhY2VWYWx1ZS5hcHBseSh1bmRlZmluZWQsIHJlcGxhY2VyQXJncykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlcGxhY2VtZW50ID0gZ2V0U3Vic3RpdHV0aW9uKG1hdGNoZWQsIFMsIHBvc2l0aW9uLCBjYXB0dXJlcywgbmFtZWRDYXB0dXJlcywgcmVwbGFjZVZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocG9zaXRpb24gPj0gbmV4dFNvdXJjZVBvc2l0aW9uKSB7XG4gICAgICAgICAgYWNjdW11bGF0ZWRSZXN1bHQgKz0gUy5zbGljZShuZXh0U291cmNlUG9zaXRpb24sIHBvc2l0aW9uKSArIHJlcGxhY2VtZW50O1xuICAgICAgICAgIG5leHRTb3VyY2VQb3NpdGlvbiA9IHBvc2l0aW9uICsgbWF0Y2hlZC5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2N1bXVsYXRlZFJlc3VsdCArIFMuc2xpY2UobmV4dFNvdXJjZVBvc2l0aW9uKTtcbiAgICB9XG4gIF07XG5cbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1nZXRzdWJzdGl0dXRpb25cbiAgZnVuY3Rpb24gZ2V0U3Vic3RpdHV0aW9uKG1hdGNoZWQsIHN0ciwgcG9zaXRpb24sIGNhcHR1cmVzLCBuYW1lZENhcHR1cmVzLCByZXBsYWNlbWVudCkge1xuICAgIHZhciB0YWlsUG9zID0gcG9zaXRpb24gKyBtYXRjaGVkLmxlbmd0aDtcbiAgICB2YXIgbSA9IGNhcHR1cmVzLmxlbmd0aDtcbiAgICB2YXIgc3ltYm9scyA9IFNVQlNUSVRVVElPTl9TWU1CT0xTX05PX05BTUVEO1xuICAgIGlmIChuYW1lZENhcHR1cmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG5hbWVkQ2FwdHVyZXMgPSB0b09iamVjdChuYW1lZENhcHR1cmVzKTtcbiAgICAgIHN5bWJvbHMgPSBTVUJTVElUVVRJT05fU1lNQk9MUztcbiAgICB9XG4gICAgcmV0dXJuICRyZXBsYWNlLmNhbGwocmVwbGFjZW1lbnQsIHN5bWJvbHMsIGZ1bmN0aW9uIChtYXRjaCwgY2gpIHtcbiAgICAgIHZhciBjYXB0dXJlO1xuICAgICAgc3dpdGNoIChjaC5jaGFyQXQoMCkpIHtcbiAgICAgICAgY2FzZSAnJCc6IHJldHVybiAnJCc7XG4gICAgICAgIGNhc2UgJyYnOiByZXR1cm4gbWF0Y2hlZDtcbiAgICAgICAgY2FzZSAnYCc6IHJldHVybiBzdHIuc2xpY2UoMCwgcG9zaXRpb24pO1xuICAgICAgICBjYXNlIFwiJ1wiOiByZXR1cm4gc3RyLnNsaWNlKHRhaWxQb3MpO1xuICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICBjYXB0dXJlID0gbmFtZWRDYXB0dXJlc1tjaC5zbGljZSgxLCAtMSldO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OiAvLyBcXGRcXGQ/XG4gICAgICAgICAgdmFyIG4gPSArY2g7XG4gICAgICAgICAgaWYgKG4gPT09IDApIHJldHVybiBjaDtcbiAgICAgICAgICBpZiAobiA+IG0pIHtcbiAgICAgICAgICAgIHZhciBmID0gZmxvb3IobiAvIDEwKTtcbiAgICAgICAgICAgIGlmIChmID09PSAwKSByZXR1cm4gY2g7XG4gICAgICAgICAgICBpZiAoZiA8PSBtKSByZXR1cm4gY2FwdHVyZXNbZiAtIDFdID09PSB1bmRlZmluZWQgPyBjaC5jaGFyQXQoMSkgOiBjYXB0dXJlc1tmIC0gMV0gKyBjaC5jaGFyQXQoMSk7XG4gICAgICAgICAgICByZXR1cm4gY2g7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhcHR1cmUgPSBjYXB0dXJlc1tuIC0gMV07XG4gICAgICB9XG4gICAgICByZXR1cm4gY2FwdHVyZSA9PT0gdW5kZWZpbmVkID8gJycgOiBjYXB0dXJlO1xuICAgIH0pO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgc2FtZVZhbHVlID0gcmVxdWlyZSgnLi9fc2FtZS12YWx1ZScpO1xudmFyIHJlZ0V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYy1hYnN0cmFjdCcpO1xuXG4vLyBAQHNlYXJjaCBsb2dpY1xucmVxdWlyZSgnLi9fZml4LXJlLXdrcycpKCdzZWFyY2gnLCAxLCBmdW5jdGlvbiAoZGVmaW5lZCwgU0VBUkNILCAkc2VhcmNoLCBtYXliZUNhbGxOYXRpdmUpIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2hgIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXN0cmluZy5wcm90b3R5cGUuc2VhcmNoXG4gICAgZnVuY3Rpb24gc2VhcmNoKHJlZ2V4cCkge1xuICAgICAgdmFyIE8gPSBkZWZpbmVkKHRoaXMpO1xuICAgICAgdmFyIGZuID0gcmVnZXhwID09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHJlZ2V4cFtTRUFSQ0hdO1xuICAgICAgcmV0dXJuIGZuICE9PSB1bmRlZmluZWQgPyBmbi5jYWxsKHJlZ2V4cCwgTykgOiBuZXcgUmVnRXhwKHJlZ2V4cClbU0VBUkNIXShTdHJpbmcoTykpO1xuICAgIH0sXG4gICAgLy8gYFJlZ0V4cC5wcm90b3R5cGVbQEBzZWFyY2hdYCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1yZWdleHAucHJvdG90eXBlLUBAc2VhcmNoXG4gICAgZnVuY3Rpb24gKHJlZ2V4cCkge1xuICAgICAgdmFyIHJlcyA9IG1heWJlQ2FsbE5hdGl2ZSgkc2VhcmNoLCByZWdleHAsIHRoaXMpO1xuICAgICAgaWYgKHJlcy5kb25lKSByZXR1cm4gcmVzLnZhbHVlO1xuICAgICAgdmFyIHJ4ID0gYW5PYmplY3QocmVnZXhwKTtcbiAgICAgIHZhciBTID0gU3RyaW5nKHRoaXMpO1xuICAgICAgdmFyIHByZXZpb3VzTGFzdEluZGV4ID0gcngubGFzdEluZGV4O1xuICAgICAgaWYgKCFzYW1lVmFsdWUocHJldmlvdXNMYXN0SW5kZXgsIDApKSByeC5sYXN0SW5kZXggPSAwO1xuICAgICAgdmFyIHJlc3VsdCA9IHJlZ0V4cEV4ZWMocngsIFMpO1xuICAgICAgaWYgKCFzYW1lVmFsdWUocngubGFzdEluZGV4LCBwcmV2aW91c0xhc3RJbmRleCkpIHJ4Lmxhc3RJbmRleCA9IHByZXZpb3VzTGFzdEluZGV4O1xuICAgICAgcmV0dXJuIHJlc3VsdCA9PT0gbnVsbCA/IC0xIDogcmVzdWx0LmluZGV4O1xuICAgIH1cbiAgXTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaXNSZWdFeHAgPSByZXF1aXJlKCcuL19pcy1yZWdleHAnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX3NwZWNpZXMtY29uc3RydWN0b3InKTtcbnZhciBhZHZhbmNlU3RyaW5nSW5kZXggPSByZXF1aXJlKCcuL19hZHZhbmNlLXN0cmluZy1pbmRleCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgY2FsbFJlZ0V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYy1hYnN0cmFjdCcpO1xudmFyIHJlZ2V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYycpO1xudmFyICRtaW4gPSBNYXRoLm1pbjtcbnZhciAkcHVzaCA9IFtdLnB1c2g7XG52YXIgJFNQTElUID0gJ3NwbGl0JztcbnZhciBMRU5HVEggPSAnbGVuZ3RoJztcbnZhciBMQVNUX0lOREVYID0gJ2xhc3RJbmRleCc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eVxudmFyIFNVUFBPUlRTX1kgPSAhIShmdW5jdGlvbiAoKSB7IHRyeSB7IHJldHVybiBuZXcgUmVnRXhwKCd4JywgJ3knKTsgfSBjYXRjaCAoZSkge30gfSkoKTtcblxuLy8gQEBzcGxpdCBsb2dpY1xucmVxdWlyZSgnLi9fZml4LXJlLXdrcycpKCdzcGxpdCcsIDIsIGZ1bmN0aW9uIChkZWZpbmVkLCBTUExJVCwgJHNwbGl0LCBtYXliZUNhbGxOYXRpdmUpIHtcbiAgdmFyIGludGVybmFsU3BsaXQ7XG4gIGlmIChcbiAgICAnYWJiYydbJFNQTElUXSgvKGIpKi8pWzFdID09ICdjJyB8fFxuICAgICd0ZXN0J1skU1BMSVRdKC8oPzopLywgLTEpW0xFTkdUSF0gIT0gNCB8fFxuICAgICdhYidbJFNQTElUXSgvKD86YWIpKi8pW0xFTkdUSF0gIT0gMiB8fFxuICAgICcuJ1skU1BMSVRdKC8oLj8pKC4/KS8pW0xFTkdUSF0gIT0gNCB8fFxuICAgICcuJ1skU1BMSVRdKC8oKSgpLylbTEVOR1RIXSA+IDEgfHxcbiAgICAnJ1skU1BMSVRdKC8uPy8pW0xFTkdUSF1cbiAgKSB7XG4gICAgLy8gYmFzZWQgb24gZXM1LXNoaW0gaW1wbGVtZW50YXRpb24sIG5lZWQgdG8gcmV3b3JrIGl0XG4gICAgaW50ZXJuYWxTcGxpdCA9IGZ1bmN0aW9uIChzZXBhcmF0b3IsIGxpbWl0KSB7XG4gICAgICB2YXIgc3RyaW5nID0gU3RyaW5nKHRoaXMpO1xuICAgICAgaWYgKHNlcGFyYXRvciA9PT0gdW5kZWZpbmVkICYmIGxpbWl0ID09PSAwKSByZXR1cm4gW107XG4gICAgICAvLyBJZiBgc2VwYXJhdG9yYCBpcyBub3QgYSByZWdleCwgdXNlIG5hdGl2ZSBzcGxpdFxuICAgICAgaWYgKCFpc1JlZ0V4cChzZXBhcmF0b3IpKSByZXR1cm4gJHNwbGl0LmNhbGwoc3RyaW5nLCBzZXBhcmF0b3IsIGxpbWl0KTtcbiAgICAgIHZhciBvdXRwdXQgPSBbXTtcbiAgICAgIHZhciBmbGFncyA9IChzZXBhcmF0b3IuaWdub3JlQ2FzZSA/ICdpJyA6ICcnKSArXG4gICAgICAgICAgICAgICAgICAoc2VwYXJhdG9yLm11bHRpbGluZSA/ICdtJyA6ICcnKSArXG4gICAgICAgICAgICAgICAgICAoc2VwYXJhdG9yLnVuaWNvZGUgPyAndScgOiAnJykgK1xuICAgICAgICAgICAgICAgICAgKHNlcGFyYXRvci5zdGlja3kgPyAneScgOiAnJyk7XG4gICAgICB2YXIgbGFzdExhc3RJbmRleCA9IDA7XG4gICAgICB2YXIgc3BsaXRMaW1pdCA9IGxpbWl0ID09PSB1bmRlZmluZWQgPyA0Mjk0OTY3Mjk1IDogbGltaXQgPj4+IDA7XG4gICAgICAvLyBNYWtlIGBnbG9iYWxgIGFuZCBhdm9pZCBgbGFzdEluZGV4YCBpc3N1ZXMgYnkgd29ya2luZyB3aXRoIGEgY29weVxuICAgICAgdmFyIHNlcGFyYXRvckNvcHkgPSBuZXcgUmVnRXhwKHNlcGFyYXRvci5zb3VyY2UsIGZsYWdzICsgJ2cnKTtcbiAgICAgIHZhciBtYXRjaCwgbGFzdEluZGV4LCBsYXN0TGVuZ3RoO1xuICAgICAgd2hpbGUgKG1hdGNoID0gcmVnZXhwRXhlYy5jYWxsKHNlcGFyYXRvckNvcHksIHN0cmluZykpIHtcbiAgICAgICAgbGFzdEluZGV4ID0gc2VwYXJhdG9yQ29weVtMQVNUX0lOREVYXTtcbiAgICAgICAgaWYgKGxhc3RJbmRleCA+IGxhc3RMYXN0SW5kZXgpIHtcbiAgICAgICAgICBvdXRwdXQucHVzaChzdHJpbmcuc2xpY2UobGFzdExhc3RJbmRleCwgbWF0Y2guaW5kZXgpKTtcbiAgICAgICAgICBpZiAobWF0Y2hbTEVOR1RIXSA+IDEgJiYgbWF0Y2guaW5kZXggPCBzdHJpbmdbTEVOR1RIXSkgJHB1c2guYXBwbHkob3V0cHV0LCBtYXRjaC5zbGljZSgxKSk7XG4gICAgICAgICAgbGFzdExlbmd0aCA9IG1hdGNoWzBdW0xFTkdUSF07XG4gICAgICAgICAgbGFzdExhc3RJbmRleCA9IGxhc3RJbmRleDtcbiAgICAgICAgICBpZiAob3V0cHV0W0xFTkdUSF0gPj0gc3BsaXRMaW1pdCkgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlcGFyYXRvckNvcHlbTEFTVF9JTkRFWF0gPT09IG1hdGNoLmluZGV4KSBzZXBhcmF0b3JDb3B5W0xBU1RfSU5ERVhdKys7IC8vIEF2b2lkIGFuIGluZmluaXRlIGxvb3BcbiAgICAgIH1cbiAgICAgIGlmIChsYXN0TGFzdEluZGV4ID09PSBzdHJpbmdbTEVOR1RIXSkge1xuICAgICAgICBpZiAobGFzdExlbmd0aCB8fCAhc2VwYXJhdG9yQ29weS50ZXN0KCcnKSkgb3V0cHV0LnB1c2goJycpO1xuICAgICAgfSBlbHNlIG91dHB1dC5wdXNoKHN0cmluZy5zbGljZShsYXN0TGFzdEluZGV4KSk7XG4gICAgICByZXR1cm4gb3V0cHV0W0xFTkdUSF0gPiBzcGxpdExpbWl0ID8gb3V0cHV0LnNsaWNlKDAsIHNwbGl0TGltaXQpIDogb3V0cHV0O1xuICAgIH07XG4gIC8vIENoYWtyYSwgVjhcbiAgfSBlbHNlIGlmICgnMCdbJFNQTElUXSh1bmRlZmluZWQsIDApW0xFTkdUSF0pIHtcbiAgICBpbnRlcm5hbFNwbGl0ID0gZnVuY3Rpb24gKHNlcGFyYXRvciwgbGltaXQpIHtcbiAgICAgIHJldHVybiBzZXBhcmF0b3IgPT09IHVuZGVmaW5lZCAmJiBsaW1pdCA9PT0gMCA/IFtdIDogJHNwbGl0LmNhbGwodGhpcywgc2VwYXJhdG9yLCBsaW1pdCk7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBpbnRlcm5hbFNwbGl0ID0gJHNwbGl0O1xuICB9XG5cbiAgcmV0dXJuIFtcbiAgICAvLyBgU3RyaW5nLnByb3RvdHlwZS5zcGxpdGAgbWV0aG9kXG4gICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtc3RyaW5nLnByb3RvdHlwZS5zcGxpdFxuICAgIGZ1bmN0aW9uIHNwbGl0KHNlcGFyYXRvciwgbGltaXQpIHtcbiAgICAgIHZhciBPID0gZGVmaW5lZCh0aGlzKTtcbiAgICAgIHZhciBzcGxpdHRlciA9IHNlcGFyYXRvciA9PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBzZXBhcmF0b3JbU1BMSVRdO1xuICAgICAgcmV0dXJuIHNwbGl0dGVyICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBzcGxpdHRlci5jYWxsKHNlcGFyYXRvciwgTywgbGltaXQpXG4gICAgICAgIDogaW50ZXJuYWxTcGxpdC5jYWxsKFN0cmluZyhPKSwgc2VwYXJhdG9yLCBsaW1pdCk7XG4gICAgfSxcbiAgICAvLyBgUmVnRXhwLnByb3RvdHlwZVtAQHNwbGl0XWAgbWV0aG9kXG4gICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcmVnZXhwLnByb3RvdHlwZS1AQHNwbGl0XG4gICAgLy9cbiAgICAvLyBOT1RFOiBUaGlzIGNhbm5vdCBiZSBwcm9wZXJseSBwb2x5ZmlsbGVkIGluIGVuZ2luZXMgdGhhdCBkb24ndCBzdXBwb3J0XG4gICAgLy8gdGhlICd5JyBmbGFnLlxuICAgIGZ1bmN0aW9uIChyZWdleHAsIGxpbWl0KSB7XG4gICAgICB2YXIgcmVzID0gbWF5YmVDYWxsTmF0aXZlKGludGVybmFsU3BsaXQsIHJlZ2V4cCwgdGhpcywgbGltaXQsIGludGVybmFsU3BsaXQgIT09ICRzcGxpdCk7XG4gICAgICBpZiAocmVzLmRvbmUpIHJldHVybiByZXMudmFsdWU7XG5cbiAgICAgIHZhciByeCA9IGFuT2JqZWN0KHJlZ2V4cCk7XG4gICAgICB2YXIgUyA9IFN0cmluZyh0aGlzKTtcbiAgICAgIHZhciBDID0gc3BlY2llc0NvbnN0cnVjdG9yKHJ4LCBSZWdFeHApO1xuXG4gICAgICB2YXIgdW5pY29kZU1hdGNoaW5nID0gcngudW5pY29kZTtcbiAgICAgIHZhciBmbGFncyA9IChyeC5pZ25vcmVDYXNlID8gJ2knIDogJycpICtcbiAgICAgICAgICAgICAgICAgICAgKHJ4Lm11bHRpbGluZSA/ICdtJyA6ICcnKSArXG4gICAgICAgICAgICAgICAgICAgIChyeC51bmljb2RlID8gJ3UnIDogJycpICtcbiAgICAgICAgICAgICAgICAgICAgKFNVUFBPUlRTX1kgPyAneScgOiAnZycpO1xuXG4gICAgICAvLyBeKD8gKyByeCArICkgaXMgbmVlZGVkLCBpbiBjb21iaW5hdGlvbiB3aXRoIHNvbWUgUyBzbGljaW5nLCB0b1xuICAgICAgLy8gc2ltdWxhdGUgdGhlICd5JyBmbGFnLlxuICAgICAgdmFyIHNwbGl0dGVyID0gbmV3IEMoU1VQUE9SVFNfWSA/IHJ4IDogJ14oPzonICsgcnguc291cmNlICsgJyknLCBmbGFncyk7XG4gICAgICB2YXIgbGltID0gbGltaXQgPT09IHVuZGVmaW5lZCA/IDB4ZmZmZmZmZmYgOiBsaW1pdCA+Pj4gMDtcbiAgICAgIGlmIChsaW0gPT09IDApIHJldHVybiBbXTtcbiAgICAgIGlmIChTLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGNhbGxSZWdFeHBFeGVjKHNwbGl0dGVyLCBTKSA9PT0gbnVsbCA/IFtTXSA6IFtdO1xuICAgICAgdmFyIHAgPSAwO1xuICAgICAgdmFyIHEgPSAwO1xuICAgICAgdmFyIEEgPSBbXTtcbiAgICAgIHdoaWxlIChxIDwgUy5sZW5ndGgpIHtcbiAgICAgICAgc3BsaXR0ZXIubGFzdEluZGV4ID0gU1VQUE9SVFNfWSA/IHEgOiAwO1xuICAgICAgICB2YXIgeiA9IGNhbGxSZWdFeHBFeGVjKHNwbGl0dGVyLCBTVVBQT1JUU19ZID8gUyA6IFMuc2xpY2UocSkpO1xuICAgICAgICB2YXIgZTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHogPT09IG51bGwgfHxcbiAgICAgICAgICAoZSA9ICRtaW4odG9MZW5ndGgoc3BsaXR0ZXIubGFzdEluZGV4ICsgKFNVUFBPUlRTX1kgPyAwIDogcSkpLCBTLmxlbmd0aCkpID09PSBwXG4gICAgICAgICkge1xuICAgICAgICAgIHEgPSBhZHZhbmNlU3RyaW5nSW5kZXgoUywgcSwgdW5pY29kZU1hdGNoaW5nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBBLnB1c2goUy5zbGljZShwLCBxKSk7XG4gICAgICAgICAgaWYgKEEubGVuZ3RoID09PSBsaW0pIHJldHVybiBBO1xuICAgICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDw9IHoubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgICBBLnB1c2goeltpXSk7XG4gICAgICAgICAgICBpZiAoQS5sZW5ndGggPT09IGxpbSkgcmV0dXJuIEE7XG4gICAgICAgICAgfVxuICAgICAgICAgIHEgPSBwID0gZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQS5wdXNoKFMuc2xpY2UocCkpO1xuICAgICAgcmV0dXJuIEE7XG4gICAgfVxuICBdO1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG5yZXF1aXJlKCcuL2VzNi5yZWdleHAuZmxhZ3MnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyICRmbGFncyA9IHJlcXVpcmUoJy4vX2ZsYWdzJyk7XG52YXIgREVTQ1JJUFRPUlMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpO1xudmFyIFRPX1NUUklORyA9ICd0b1N0cmluZyc7XG52YXIgJHRvU3RyaW5nID0gLy4vW1RPX1NUUklOR107XG5cbnZhciBkZWZpbmUgPSBmdW5jdGlvbiAoZm4pIHtcbiAgcmVxdWlyZSgnLi9fcmVkZWZpbmUnKShSZWdFeHAucHJvdG90eXBlLCBUT19TVFJJTkcsIGZuLCB0cnVlKTtcbn07XG5cbi8vIDIxLjIuNS4xNCBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nKClcbmlmIChyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHsgcmV0dXJuICR0b1N0cmluZy5jYWxsKHsgc291cmNlOiAnYScsIGZsYWdzOiAnYicgfSkgIT0gJy9hL2InOyB9KSkge1xuICBkZWZpbmUoZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgdmFyIFIgPSBhbk9iamVjdCh0aGlzKTtcbiAgICByZXR1cm4gJy8nLmNvbmNhdChSLnNvdXJjZSwgJy8nLFxuICAgICAgJ2ZsYWdzJyBpbiBSID8gUi5mbGFncyA6ICFERVNDUklQVE9SUyAmJiBSIGluc3RhbmNlb2YgUmVnRXhwID8gJGZsYWdzLmNhbGwoUikgOiB1bmRlZmluZWQpO1xuICB9KTtcbi8vIEZGNDQtIFJlZ0V4cCN0b1N0cmluZyBoYXMgYSB3cm9uZyBuYW1lXG59IGVsc2UgaWYgKCR0b1N0cmluZy5uYW1lICE9IFRPX1NUUklORykge1xuICBkZWZpbmUoZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuICR0b1N0cmluZy5jYWxsKHRoaXMpO1xuICB9KTtcbn1cbiIsIid1c2Ugc3RyaWN0JztcbnZhciBzdHJvbmcgPSByZXF1aXJlKCcuL19jb2xsZWN0aW9uLXN0cm9uZycpO1xudmFyIHZhbGlkYXRlID0gcmVxdWlyZSgnLi9fdmFsaWRhdGUtY29sbGVjdGlvbicpO1xudmFyIFNFVCA9ICdTZXQnO1xuXG4vLyAyMy4yIFNldCBPYmplY3RzXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2NvbGxlY3Rpb24nKShTRVQsIGZ1bmN0aW9uIChnZXQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIFNldCgpIHsgcmV0dXJuIGdldCh0aGlzLCBhcmd1bWVudHMubGVuZ3RoID4gMCA/IGFyZ3VtZW50c1swXSA6IHVuZGVmaW5lZCk7IH07XG59LCB7XG4gIC8vIDIzLjIuMy4xIFNldC5wcm90b3R5cGUuYWRkKHZhbHVlKVxuICBhZGQ6IGZ1bmN0aW9uIGFkZCh2YWx1ZSkge1xuICAgIHJldHVybiBzdHJvbmcuZGVmKHZhbGlkYXRlKHRoaXMsIFNFVCksIHZhbHVlID0gdmFsdWUgPT09IDAgPyAwIDogdmFsdWUsIHZhbHVlKTtcbiAgfVxufSwgc3Ryb25nKTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIEIuMi4zLjIgU3RyaW5nLnByb3RvdHlwZS5hbmNob3IobmFtZSlcbnJlcXVpcmUoJy4vX3N0cmluZy1odG1sJykoJ2FuY2hvcicsIGZ1bmN0aW9uIChjcmVhdGVIVE1MKSB7XG4gIHJldHVybiBmdW5jdGlvbiBhbmNob3IobmFtZSkge1xuICAgIHJldHVybiBjcmVhdGVIVE1MKHRoaXMsICdhJywgJ25hbWUnLCBuYW1lKTtcbiAgfTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gQi4yLjMuMyBTdHJpbmcucHJvdG90eXBlLmJpZygpXG5yZXF1aXJlKCcuL19zdHJpbmctaHRtbCcpKCdiaWcnLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gYmlnKCkge1xuICAgIHJldHVybiBjcmVhdGVIVE1MKHRoaXMsICdiaWcnLCAnJywgJycpO1xuICB9O1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBCLjIuMy40IFN0cmluZy5wcm90b3R5cGUuYmxpbmsoKVxucmVxdWlyZSgnLi9fc3RyaW5nLWh0bWwnKSgnYmxpbmsnLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gYmxpbmsoKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUhUTUwodGhpcywgJ2JsaW5rJywgJycsICcnKTtcbiAgfTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gQi4yLjMuNSBTdHJpbmcucHJvdG90eXBlLmJvbGQoKVxucmVxdWlyZSgnLi9fc3RyaW5nLWh0bWwnKSgnYm9sZCcsIGZ1bmN0aW9uIChjcmVhdGVIVE1MKSB7XG4gIHJldHVybiBmdW5jdGlvbiBib2xkKCkge1xuICAgIHJldHVybiBjcmVhdGVIVE1MKHRoaXMsICdiJywgJycsICcnKTtcbiAgfTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkYXQgPSByZXF1aXJlKCcuL19zdHJpbmctYXQnKShmYWxzZSk7XG4kZXhwb3J0KCRleHBvcnQuUCwgJ1N0cmluZycsIHtcbiAgLy8gMjEuMS4zLjMgU3RyaW5nLnByb3RvdHlwZS5jb2RlUG9pbnRBdChwb3MpXG4gIGNvZGVQb2ludEF0OiBmdW5jdGlvbiBjb2RlUG9pbnRBdChwb3MpIHtcbiAgICByZXR1cm4gJGF0KHRoaXMsIHBvcyk7XG4gIH1cbn0pO1xuIiwiLy8gMjEuMS4zLjYgU3RyaW5nLnByb3RvdHlwZS5lbmRzV2l0aChzZWFyY2hTdHJpbmcgWywgZW5kUG9zaXRpb25dKVxuJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGNvbnRleHQgPSByZXF1aXJlKCcuL19zdHJpbmctY29udGV4dCcpO1xudmFyIEVORFNfV0lUSCA9ICdlbmRzV2l0aCc7XG52YXIgJGVuZHNXaXRoID0gJydbRU5EU19XSVRIXTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiByZXF1aXJlKCcuL19mYWlscy1pcy1yZWdleHAnKShFTkRTX1dJVEgpLCAnU3RyaW5nJywge1xuICBlbmRzV2l0aDogZnVuY3Rpb24gZW5kc1dpdGgoc2VhcmNoU3RyaW5nIC8qICwgZW5kUG9zaXRpb24gPSBAbGVuZ3RoICovKSB7XG4gICAgdmFyIHRoYXQgPSBjb250ZXh0KHRoaXMsIHNlYXJjaFN0cmluZywgRU5EU19XSVRIKTtcbiAgICB2YXIgZW5kUG9zaXRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDtcbiAgICB2YXIgbGVuID0gdG9MZW5ndGgodGhhdC5sZW5ndGgpO1xuICAgIHZhciBlbmQgPSBlbmRQb3NpdGlvbiA9PT0gdW5kZWZpbmVkID8gbGVuIDogTWF0aC5taW4odG9MZW5ndGgoZW5kUG9zaXRpb24pLCBsZW4pO1xuICAgIHZhciBzZWFyY2ggPSBTdHJpbmcoc2VhcmNoU3RyaW5nKTtcbiAgICByZXR1cm4gJGVuZHNXaXRoXG4gICAgICA/ICRlbmRzV2l0aC5jYWxsKHRoYXQsIHNlYXJjaCwgZW5kKVxuICAgICAgOiB0aGF0LnNsaWNlKGVuZCAtIHNlYXJjaC5sZW5ndGgsIGVuZCkgPT09IHNlYXJjaDtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBCLjIuMy42IFN0cmluZy5wcm90b3R5cGUuZml4ZWQoKVxucmVxdWlyZSgnLi9fc3RyaW5nLWh0bWwnKSgnZml4ZWQnLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gZml4ZWQoKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUhUTUwodGhpcywgJ3R0JywgJycsICcnKTtcbiAgfTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gQi4yLjMuNyBTdHJpbmcucHJvdG90eXBlLmZvbnRjb2xvcihjb2xvcilcbnJlcXVpcmUoJy4vX3N0cmluZy1odG1sJykoJ2ZvbnRjb2xvcicsIGZ1bmN0aW9uIChjcmVhdGVIVE1MKSB7XG4gIHJldHVybiBmdW5jdGlvbiBmb250Y29sb3IoY29sb3IpIHtcbiAgICByZXR1cm4gY3JlYXRlSFRNTCh0aGlzLCAnZm9udCcsICdjb2xvcicsIGNvbG9yKTtcbiAgfTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gQi4yLjMuOCBTdHJpbmcucHJvdG90eXBlLmZvbnRzaXplKHNpemUpXG5yZXF1aXJlKCcuL19zdHJpbmctaHRtbCcpKCdmb250c2l6ZScsIGZ1bmN0aW9uIChjcmVhdGVIVE1MKSB7XG4gIHJldHVybiBmdW5jdGlvbiBmb250c2l6ZShzaXplKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUhUTUwodGhpcywgJ2ZvbnQnLCAnc2l6ZScsIHNpemUpO1xuICB9O1xufSk7XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvQWJzb2x1dGVJbmRleCA9IHJlcXVpcmUoJy4vX3RvLWFic29sdXRlLWluZGV4Jyk7XG52YXIgZnJvbUNoYXJDb2RlID0gU3RyaW5nLmZyb21DaGFyQ29kZTtcbnZhciAkZnJvbUNvZGVQb2ludCA9IFN0cmluZy5mcm9tQ29kZVBvaW50O1xuXG4vLyBsZW5ndGggc2hvdWxkIGJlIDEsIG9sZCBGRiBwcm9ibGVtXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICghISRmcm9tQ29kZVBvaW50ICYmICRmcm9tQ29kZVBvaW50Lmxlbmd0aCAhPSAxKSwgJ1N0cmluZycsIHtcbiAgLy8gMjEuMS4yLjIgU3RyaW5nLmZyb21Db2RlUG9pbnQoLi4uY29kZVBvaW50cylcbiAgZnJvbUNvZGVQb2ludDogZnVuY3Rpb24gZnJvbUNvZGVQb2ludCh4KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB2YXIgcmVzID0gW107XG4gICAgdmFyIGFMZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIHZhciBpID0gMDtcbiAgICB2YXIgY29kZTtcbiAgICB3aGlsZSAoYUxlbiA+IGkpIHtcbiAgICAgIGNvZGUgPSArYXJndW1lbnRzW2krK107XG4gICAgICBpZiAodG9BYnNvbHV0ZUluZGV4KGNvZGUsIDB4MTBmZmZmKSAhPT0gY29kZSkgdGhyb3cgUmFuZ2VFcnJvcihjb2RlICsgJyBpcyBub3QgYSB2YWxpZCBjb2RlIHBvaW50Jyk7XG4gICAgICByZXMucHVzaChjb2RlIDwgMHgxMDAwMFxuICAgICAgICA/IGZyb21DaGFyQ29kZShjb2RlKVxuICAgICAgICA6IGZyb21DaGFyQ29kZSgoKGNvZGUgLT0gMHgxMDAwMCkgPj4gMTApICsgMHhkODAwLCBjb2RlICUgMHg0MDAgKyAweGRjMDApXG4gICAgICApO1xuICAgIH0gcmV0dXJuIHJlcy5qb2luKCcnKTtcbiAgfVxufSk7XG4iLCIvLyAyMS4xLjMuNyBTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzKHNlYXJjaFN0cmluZywgcG9zaXRpb24gPSAwKVxuJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBjb250ZXh0ID0gcmVxdWlyZSgnLi9fc3RyaW5nLWNvbnRleHQnKTtcbnZhciBJTkNMVURFUyA9ICdpbmNsdWRlcyc7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMtaXMtcmVnZXhwJykoSU5DTFVERVMpLCAnU3RyaW5nJywge1xuICBpbmNsdWRlczogZnVuY3Rpb24gaW5jbHVkZXMoc2VhcmNoU3RyaW5nIC8qICwgcG9zaXRpb24gPSAwICovKSB7XG4gICAgcmV0dXJuICEhfmNvbnRleHQodGhpcywgc2VhcmNoU3RyaW5nLCBJTkNMVURFUylcbiAgICAgIC5pbmRleE9mKHNlYXJjaFN0cmluZywgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIEIuMi4zLjkgU3RyaW5nLnByb3RvdHlwZS5pdGFsaWNzKClcbnJlcXVpcmUoJy4vX3N0cmluZy1odG1sJykoJ2l0YWxpY3MnLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gaXRhbGljcygpIHtcbiAgICByZXR1cm4gY3JlYXRlSFRNTCh0aGlzLCAnaScsICcnLCAnJyk7XG4gIH07XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkYXQgPSByZXF1aXJlKCcuL19zdHJpbmctYXQnKSh0cnVlKTtcblxuLy8gMjEuMS4zLjI3IFN0cmluZy5wcm90b3R5cGVbQEBpdGVyYXRvcl0oKVxucmVxdWlyZSgnLi9faXRlci1kZWZpbmUnKShTdHJpbmcsICdTdHJpbmcnLCBmdW5jdGlvbiAoaXRlcmF0ZWQpIHtcbiAgdGhpcy5fdCA9IFN0cmluZyhpdGVyYXRlZCk7IC8vIHRhcmdldFxuICB0aGlzLl9pID0gMDsgICAgICAgICAgICAgICAgLy8gbmV4dCBpbmRleFxuLy8gMjEuMS41LjIuMSAlU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUlLm5leHQoKVxufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgTyA9IHRoaXMuX3Q7XG4gIHZhciBpbmRleCA9IHRoaXMuX2k7XG4gIHZhciBwb2ludDtcbiAgaWYgKGluZGV4ID49IE8ubGVuZ3RoKSByZXR1cm4geyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH07XG4gIHBvaW50ID0gJGF0KE8sIGluZGV4KTtcbiAgdGhpcy5faSArPSBwb2ludC5sZW5ndGg7XG4gIHJldHVybiB7IHZhbHVlOiBwb2ludCwgZG9uZTogZmFsc2UgfTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gQi4yLjMuMTAgU3RyaW5nLnByb3RvdHlwZS5saW5rKHVybClcbnJlcXVpcmUoJy4vX3N0cmluZy1odG1sJykoJ2xpbmsnLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gbGluayh1cmwpIHtcbiAgICByZXR1cm4gY3JlYXRlSFRNTCh0aGlzLCAnYScsICdocmVmJywgdXJsKTtcbiAgfTtcbn0pO1xuIiwidmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdTdHJpbmcnLCB7XG4gIC8vIDIxLjEuMi40IFN0cmluZy5yYXcoY2FsbFNpdGUsIC4uLnN1YnN0aXR1dGlvbnMpXG4gIHJhdzogZnVuY3Rpb24gcmF3KGNhbGxTaXRlKSB7XG4gICAgdmFyIHRwbCA9IHRvSU9iamVjdChjYWxsU2l0ZS5yYXcpO1xuICAgIHZhciBsZW4gPSB0b0xlbmd0aCh0cGwubGVuZ3RoKTtcbiAgICB2YXIgYUxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgdmFyIHJlcyA9IFtdO1xuICAgIHZhciBpID0gMDtcbiAgICB3aGlsZSAobGVuID4gaSkge1xuICAgICAgcmVzLnB1c2goU3RyaW5nKHRwbFtpKytdKSk7XG4gICAgICBpZiAoaSA8IGFMZW4pIHJlcy5wdXNoKFN0cmluZyhhcmd1bWVudHNbaV0pKTtcbiAgICB9IHJldHVybiByZXMuam9pbignJyk7XG4gIH1cbn0pO1xuIiwidmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAsICdTdHJpbmcnLCB7XG4gIC8vIDIxLjEuMy4xMyBTdHJpbmcucHJvdG90eXBlLnJlcGVhdChjb3VudClcbiAgcmVwZWF0OiByZXF1aXJlKCcuL19zdHJpbmctcmVwZWF0Jylcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gQi4yLjMuMTEgU3RyaW5nLnByb3RvdHlwZS5zbWFsbCgpXG5yZXF1aXJlKCcuL19zdHJpbmctaHRtbCcpKCdzbWFsbCcsIGZ1bmN0aW9uIChjcmVhdGVIVE1MKSB7XG4gIHJldHVybiBmdW5jdGlvbiBzbWFsbCgpIHtcbiAgICByZXR1cm4gY3JlYXRlSFRNTCh0aGlzLCAnc21hbGwnLCAnJywgJycpO1xuICB9O1xufSk7XG4iLCIvLyAyMS4xLjMuMTggU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoKHNlYXJjaFN0cmluZyBbLCBwb3NpdGlvbiBdKVxuJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGNvbnRleHQgPSByZXF1aXJlKCcuL19zdHJpbmctY29udGV4dCcpO1xudmFyIFNUQVJUU19XSVRIID0gJ3N0YXJ0c1dpdGgnO1xudmFyICRzdGFydHNXaXRoID0gJydbU1RBUlRTX1dJVEhdO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIHJlcXVpcmUoJy4vX2ZhaWxzLWlzLXJlZ2V4cCcpKFNUQVJUU19XSVRIKSwgJ1N0cmluZycsIHtcbiAgc3RhcnRzV2l0aDogZnVuY3Rpb24gc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcgLyogLCBwb3NpdGlvbiA9IDAgKi8pIHtcbiAgICB2YXIgdGhhdCA9IGNvbnRleHQodGhpcywgc2VhcmNoU3RyaW5nLCBTVEFSVFNfV0lUSCk7XG4gICAgdmFyIGluZGV4ID0gdG9MZW5ndGgoTWF0aC5taW4oYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQsIHRoYXQubGVuZ3RoKSk7XG4gICAgdmFyIHNlYXJjaCA9IFN0cmluZyhzZWFyY2hTdHJpbmcpO1xuICAgIHJldHVybiAkc3RhcnRzV2l0aFxuICAgICAgPyAkc3RhcnRzV2l0aC5jYWxsKHRoYXQsIHNlYXJjaCwgaW5kZXgpXG4gICAgICA6IHRoYXQuc2xpY2UoaW5kZXgsIGluZGV4ICsgc2VhcmNoLmxlbmd0aCkgPT09IHNlYXJjaDtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBCLjIuMy4xMiBTdHJpbmcucHJvdG90eXBlLnN0cmlrZSgpXG5yZXF1aXJlKCcuL19zdHJpbmctaHRtbCcpKCdzdHJpa2UnLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gc3RyaWtlKCkge1xuICAgIHJldHVybiBjcmVhdGVIVE1MKHRoaXMsICdzdHJpa2UnLCAnJywgJycpO1xuICB9O1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBCLjIuMy4xMyBTdHJpbmcucHJvdG90eXBlLnN1YigpXG5yZXF1aXJlKCcuL19zdHJpbmctaHRtbCcpKCdzdWInLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gc3ViKCkge1xuICAgIHJldHVybiBjcmVhdGVIVE1MKHRoaXMsICdzdWInLCAnJywgJycpO1xuICB9O1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBCLjIuMy4xNCBTdHJpbmcucHJvdG90eXBlLnN1cCgpXG5yZXF1aXJlKCcuL19zdHJpbmctaHRtbCcpKCdzdXAnLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gc3VwKCkge1xuICAgIHJldHVybiBjcmVhdGVIVE1MKHRoaXMsICdzdXAnLCAnJywgJycpO1xuICB9O1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyAyMS4xLjMuMjUgU3RyaW5nLnByb3RvdHlwZS50cmltKClcbnJlcXVpcmUoJy4vX3N0cmluZy10cmltJykoJ3RyaW0nLCBmdW5jdGlvbiAoJHRyaW0pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHRyaW0oKSB7XG4gICAgcmV0dXJuICR0cmltKHRoaXMsIDMpO1xuICB9O1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBFQ01BU2NyaXB0IDYgc3ltYm9scyBzaGltXG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgREVTQ1JJUFRPUlMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lJyk7XG52YXIgTUVUQSA9IHJlcXVpcmUoJy4vX21ldGEnKS5LRVk7XG52YXIgJGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciBzaGFyZWQgPSByZXF1aXJlKCcuL19zaGFyZWQnKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4vX3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgdWlkID0gcmVxdWlyZSgnLi9fdWlkJyk7XG52YXIgd2tzID0gcmVxdWlyZSgnLi9fd2tzJyk7XG52YXIgd2tzRXh0ID0gcmVxdWlyZSgnLi9fd2tzLWV4dCcpO1xudmFyIHdrc0RlZmluZSA9IHJlcXVpcmUoJy4vX3drcy1kZWZpbmUnKTtcbnZhciBlbnVtS2V5cyA9IHJlcXVpcmUoJy4vX2VudW0ta2V5cycpO1xudmFyIGlzQXJyYXkgPSByZXF1aXJlKCcuL19pcy1hcnJheScpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xudmFyIF9jcmVhdGUgPSByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJyk7XG52YXIgZ09QTkV4dCA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BuLWV4dCcpO1xudmFyICRHT1BEID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcGQnKTtcbnZhciAkRFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciAka2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG52YXIgZ09QRCA9ICRHT1BELmY7XG52YXIgZFAgPSAkRFAuZjtcbnZhciBnT1BOID0gZ09QTkV4dC5mO1xudmFyICRTeW1ib2wgPSBnbG9iYWwuU3ltYm9sO1xudmFyICRKU09OID0gZ2xvYmFsLkpTT047XG52YXIgX3N0cmluZ2lmeSA9ICRKU09OICYmICRKU09OLnN0cmluZ2lmeTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcbnZhciBISURERU4gPSB3a3MoJ19oaWRkZW4nKTtcbnZhciBUT19QUklNSVRJVkUgPSB3a3MoJ3RvUHJpbWl0aXZlJyk7XG52YXIgaXNFbnVtID0ge30ucHJvcGVydHlJc0VudW1lcmFibGU7XG52YXIgU3ltYm9sUmVnaXN0cnkgPSBzaGFyZWQoJ3N5bWJvbC1yZWdpc3RyeScpO1xudmFyIEFsbFN5bWJvbHMgPSBzaGFyZWQoJ3N5bWJvbHMnKTtcbnZhciBPUFN5bWJvbHMgPSBzaGFyZWQoJ29wLXN5bWJvbHMnKTtcbnZhciBPYmplY3RQcm90byA9IE9iamVjdFtQUk9UT1RZUEVdO1xudmFyIFVTRV9OQVRJVkUgPSB0eXBlb2YgJFN5bWJvbCA9PSAnZnVuY3Rpb24nO1xudmFyIFFPYmplY3QgPSBnbG9iYWwuUU9iamVjdDtcbi8vIERvbid0IHVzZSBzZXR0ZXJzIGluIFF0IFNjcmlwdCwgaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzE3M1xudmFyIHNldHRlciA9ICFRT2JqZWN0IHx8ICFRT2JqZWN0W1BST1RPVFlQRV0gfHwgIVFPYmplY3RbUFJPVE9UWVBFXS5maW5kQ2hpbGQ7XG5cbi8vIGZhbGxiYWNrIGZvciBvbGQgQW5kcm9pZCwgaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTY4N1xudmFyIHNldFN5bWJvbERlc2MgPSBERVNDUklQVE9SUyAmJiAkZmFpbHMoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gX2NyZWF0ZShkUCh7fSwgJ2EnLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBkUCh0aGlzLCAnYScsIHsgdmFsdWU6IDcgfSkuYTsgfVxuICB9KSkuYSAhPSA3O1xufSkgPyBmdW5jdGlvbiAoaXQsIGtleSwgRCkge1xuICB2YXIgcHJvdG9EZXNjID0gZ09QRChPYmplY3RQcm90bywga2V5KTtcbiAgaWYgKHByb3RvRGVzYykgZGVsZXRlIE9iamVjdFByb3RvW2tleV07XG4gIGRQKGl0LCBrZXksIEQpO1xuICBpZiAocHJvdG9EZXNjICYmIGl0ICE9PSBPYmplY3RQcm90bykgZFAoT2JqZWN0UHJvdG8sIGtleSwgcHJvdG9EZXNjKTtcbn0gOiBkUDtcblxudmFyIHdyYXAgPSBmdW5jdGlvbiAodGFnKSB7XG4gIHZhciBzeW0gPSBBbGxTeW1ib2xzW3RhZ10gPSBfY3JlYXRlKCRTeW1ib2xbUFJPVE9UWVBFXSk7XG4gIHN5bS5fayA9IHRhZztcbiAgcmV0dXJuIHN5bTtcbn07XG5cbnZhciBpc1N5bWJvbCA9IFVTRV9OQVRJVkUgJiYgdHlwZW9mICRTeW1ib2wuaXRlcmF0b3IgPT0gJ3N5bWJvbCcgPyBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHR5cGVvZiBpdCA9PSAnc3ltYm9sJztcbn0gOiBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0IGluc3RhbmNlb2YgJFN5bWJvbDtcbn07XG5cbnZhciAkZGVmaW5lUHJvcGVydHkgPSBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eShpdCwga2V5LCBEKSB7XG4gIGlmIChpdCA9PT0gT2JqZWN0UHJvdG8pICRkZWZpbmVQcm9wZXJ0eShPUFN5bWJvbHMsIGtleSwgRCk7XG4gIGFuT2JqZWN0KGl0KTtcbiAga2V5ID0gdG9QcmltaXRpdmUoa2V5LCB0cnVlKTtcbiAgYW5PYmplY3QoRCk7XG4gIGlmIChoYXMoQWxsU3ltYm9scywga2V5KSkge1xuICAgIGlmICghRC5lbnVtZXJhYmxlKSB7XG4gICAgICBpZiAoIWhhcyhpdCwgSElEREVOKSkgZFAoaXQsIEhJRERFTiwgY3JlYXRlRGVzYygxLCB7fSkpO1xuICAgICAgaXRbSElEREVOXVtrZXldID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGhhcyhpdCwgSElEREVOKSAmJiBpdFtISURERU5dW2tleV0pIGl0W0hJRERFTl1ba2V5XSA9IGZhbHNlO1xuICAgICAgRCA9IF9jcmVhdGUoRCwgeyBlbnVtZXJhYmxlOiBjcmVhdGVEZXNjKDAsIGZhbHNlKSB9KTtcbiAgICB9IHJldHVybiBzZXRTeW1ib2xEZXNjKGl0LCBrZXksIEQpO1xuICB9IHJldHVybiBkUChpdCwga2V5LCBEKTtcbn07XG52YXIgJGRlZmluZVByb3BlcnRpZXMgPSBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKGl0LCBQKSB7XG4gIGFuT2JqZWN0KGl0KTtcbiAgdmFyIGtleXMgPSBlbnVtS2V5cyhQID0gdG9JT2JqZWN0KFApKTtcbiAgdmFyIGkgPSAwO1xuICB2YXIgbCA9IGtleXMubGVuZ3RoO1xuICB2YXIga2V5O1xuICB3aGlsZSAobCA+IGkpICRkZWZpbmVQcm9wZXJ0eShpdCwga2V5ID0ga2V5c1tpKytdLCBQW2tleV0pO1xuICByZXR1cm4gaXQ7XG59O1xudmFyICRjcmVhdGUgPSBmdW5jdGlvbiBjcmVhdGUoaXQsIFApIHtcbiAgcmV0dXJuIFAgPT09IHVuZGVmaW5lZCA/IF9jcmVhdGUoaXQpIDogJGRlZmluZVByb3BlcnRpZXMoX2NyZWF0ZShpdCksIFApO1xufTtcbnZhciAkcHJvcGVydHlJc0VudW1lcmFibGUgPSBmdW5jdGlvbiBwcm9wZXJ0eUlzRW51bWVyYWJsZShrZXkpIHtcbiAgdmFyIEUgPSBpc0VudW0uY2FsbCh0aGlzLCBrZXkgPSB0b1ByaW1pdGl2ZShrZXksIHRydWUpKTtcbiAgaWYgKHRoaXMgPT09IE9iamVjdFByb3RvICYmIGhhcyhBbGxTeW1ib2xzLCBrZXkpICYmICFoYXMoT1BTeW1ib2xzLCBrZXkpKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiBFIHx8ICFoYXModGhpcywga2V5KSB8fCAhaGFzKEFsbFN5bWJvbHMsIGtleSkgfHwgaGFzKHRoaXMsIEhJRERFTikgJiYgdGhpc1tISURERU5dW2tleV0gPyBFIDogdHJ1ZTtcbn07XG52YXIgJGdldE93blByb3BlcnR5RGVzY3JpcHRvciA9IGZ1bmN0aW9uIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihpdCwga2V5KSB7XG4gIGl0ID0gdG9JT2JqZWN0KGl0KTtcbiAga2V5ID0gdG9QcmltaXRpdmUoa2V5LCB0cnVlKTtcbiAgaWYgKGl0ID09PSBPYmplY3RQcm90byAmJiBoYXMoQWxsU3ltYm9scywga2V5KSAmJiAhaGFzKE9QU3ltYm9scywga2V5KSkgcmV0dXJuO1xuICB2YXIgRCA9IGdPUEQoaXQsIGtleSk7XG4gIGlmIChEICYmIGhhcyhBbGxTeW1ib2xzLCBrZXkpICYmICEoaGFzKGl0LCBISURERU4pICYmIGl0W0hJRERFTl1ba2V5XSkpIEQuZW51bWVyYWJsZSA9IHRydWU7XG4gIHJldHVybiBEO1xufTtcbnZhciAkZ2V0T3duUHJvcGVydHlOYW1lcyA9IGZ1bmN0aW9uIGdldE93blByb3BlcnR5TmFtZXMoaXQpIHtcbiAgdmFyIG5hbWVzID0gZ09QTih0b0lPYmplY3QoaXQpKTtcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICB2YXIgaSA9IDA7XG4gIHZhciBrZXk7XG4gIHdoaWxlIChuYW1lcy5sZW5ndGggPiBpKSB7XG4gICAgaWYgKCFoYXMoQWxsU3ltYm9scywga2V5ID0gbmFtZXNbaSsrXSkgJiYga2V5ICE9IEhJRERFTiAmJiBrZXkgIT0gTUVUQSkgcmVzdWx0LnB1c2goa2V5KTtcbiAgfSByZXR1cm4gcmVzdWx0O1xufTtcbnZhciAkZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlTeW1ib2xzKGl0KSB7XG4gIHZhciBJU19PUCA9IGl0ID09PSBPYmplY3RQcm90bztcbiAgdmFyIG5hbWVzID0gZ09QTihJU19PUCA/IE9QU3ltYm9scyA6IHRvSU9iamVjdChpdCkpO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHZhciBpID0gMDtcbiAgdmFyIGtleTtcbiAgd2hpbGUgKG5hbWVzLmxlbmd0aCA+IGkpIHtcbiAgICBpZiAoaGFzKEFsbFN5bWJvbHMsIGtleSA9IG5hbWVzW2krK10pICYmIChJU19PUCA/IGhhcyhPYmplY3RQcm90bywga2V5KSA6IHRydWUpKSByZXN1bHQucHVzaChBbGxTeW1ib2xzW2tleV0pO1xuICB9IHJldHVybiByZXN1bHQ7XG59O1xuXG4vLyAxOS40LjEuMSBTeW1ib2woW2Rlc2NyaXB0aW9uXSlcbmlmICghVVNFX05BVElWRSkge1xuICAkU3ltYm9sID0gZnVuY3Rpb24gU3ltYm9sKCkge1xuICAgIGlmICh0aGlzIGluc3RhbmNlb2YgJFN5bWJvbCkgdGhyb3cgVHlwZUVycm9yKCdTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IhJyk7XG4gICAgdmFyIHRhZyA9IHVpZChhcmd1bWVudHMubGVuZ3RoID4gMCA/IGFyZ3VtZW50c1swXSA6IHVuZGVmaW5lZCk7XG4gICAgdmFyICRzZXQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGlmICh0aGlzID09PSBPYmplY3RQcm90bykgJHNldC5jYWxsKE9QU3ltYm9scywgdmFsdWUpO1xuICAgICAgaWYgKGhhcyh0aGlzLCBISURERU4pICYmIGhhcyh0aGlzW0hJRERFTl0sIHRhZykpIHRoaXNbSElEREVOXVt0YWddID0gZmFsc2U7XG4gICAgICBzZXRTeW1ib2xEZXNjKHRoaXMsIHRhZywgY3JlYXRlRGVzYygxLCB2YWx1ZSkpO1xuICAgIH07XG4gICAgaWYgKERFU0NSSVBUT1JTICYmIHNldHRlcikgc2V0U3ltYm9sRGVzYyhPYmplY3RQcm90bywgdGFnLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgc2V0OiAkc2V0IH0pO1xuICAgIHJldHVybiB3cmFwKHRhZyk7XG4gIH07XG4gIHJlZGVmaW5lKCRTeW1ib2xbUFJPVE9UWVBFXSwgJ3RvU3RyaW5nJywgZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2s7XG4gIH0pO1xuXG4gICRHT1BELmYgPSAkZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuICAkRFAuZiA9ICRkZWZpbmVQcm9wZXJ0eTtcbiAgcmVxdWlyZSgnLi9fb2JqZWN0LWdvcG4nKS5mID0gZ09QTkV4dC5mID0gJGdldE93blByb3BlcnR5TmFtZXM7XG4gIHJlcXVpcmUoJy4vX29iamVjdC1waWUnKS5mID0gJHByb3BlcnR5SXNFbnVtZXJhYmxlO1xuICByZXF1aXJlKCcuL19vYmplY3QtZ29wcycpLmYgPSAkZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xuXG4gIGlmIChERVNDUklQVE9SUyAmJiAhcmVxdWlyZSgnLi9fbGlicmFyeScpKSB7XG4gICAgcmVkZWZpbmUoT2JqZWN0UHJvdG8sICdwcm9wZXJ0eUlzRW51bWVyYWJsZScsICRwcm9wZXJ0eUlzRW51bWVyYWJsZSwgdHJ1ZSk7XG4gIH1cblxuICB3a3NFeHQuZiA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgcmV0dXJuIHdyYXAod2tzKG5hbWUpKTtcbiAgfTtcbn1cblxuJGV4cG9ydCgkZXhwb3J0LkcgKyAkZXhwb3J0LlcgKyAkZXhwb3J0LkYgKiAhVVNFX05BVElWRSwgeyBTeW1ib2w6ICRTeW1ib2wgfSk7XG5cbmZvciAodmFyIGVzNlN5bWJvbHMgPSAoXG4gIC8vIDE5LjQuMi4yLCAxOS40LjIuMywgMTkuNC4yLjQsIDE5LjQuMi42LCAxOS40LjIuOCwgMTkuNC4yLjksIDE5LjQuMi4xMCwgMTkuNC4yLjExLCAxOS40LjIuMTIsIDE5LjQuMi4xMywgMTkuNC4yLjE0XG4gICdoYXNJbnN0YW5jZSxpc0NvbmNhdFNwcmVhZGFibGUsaXRlcmF0b3IsbWF0Y2gscmVwbGFjZSxzZWFyY2gsc3BlY2llcyxzcGxpdCx0b1ByaW1pdGl2ZSx0b1N0cmluZ1RhZyx1bnNjb3BhYmxlcydcbikuc3BsaXQoJywnKSwgaiA9IDA7IGVzNlN5bWJvbHMubGVuZ3RoID4gajspd2tzKGVzNlN5bWJvbHNbaisrXSk7XG5cbmZvciAodmFyIHdlbGxLbm93blN5bWJvbHMgPSAka2V5cyh3a3Muc3RvcmUpLCBrID0gMDsgd2VsbEtub3duU3ltYm9scy5sZW5ndGggPiBrOykgd2tzRGVmaW5lKHdlbGxLbm93blN5bWJvbHNbaysrXSk7XG5cbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIVVTRV9OQVRJVkUsICdTeW1ib2wnLCB7XG4gIC8vIDE5LjQuMi4xIFN5bWJvbC5mb3Ioa2V5KVxuICAnZm9yJzogZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBoYXMoU3ltYm9sUmVnaXN0cnksIGtleSArPSAnJylcbiAgICAgID8gU3ltYm9sUmVnaXN0cnlba2V5XVxuICAgICAgOiBTeW1ib2xSZWdpc3RyeVtrZXldID0gJFN5bWJvbChrZXkpO1xuICB9LFxuICAvLyAxOS40LjIuNSBTeW1ib2wua2V5Rm9yKHN5bSlcbiAga2V5Rm9yOiBmdW5jdGlvbiBrZXlGb3Ioc3ltKSB7XG4gICAgaWYgKCFpc1N5bWJvbChzeW0pKSB0aHJvdyBUeXBlRXJyb3Ioc3ltICsgJyBpcyBub3QgYSBzeW1ib2whJyk7XG4gICAgZm9yICh2YXIga2V5IGluIFN5bWJvbFJlZ2lzdHJ5KSBpZiAoU3ltYm9sUmVnaXN0cnlba2V5XSA9PT0gc3ltKSByZXR1cm4ga2V5O1xuICB9LFxuICB1c2VTZXR0ZXI6IGZ1bmN0aW9uICgpIHsgc2V0dGVyID0gdHJ1ZTsgfSxcbiAgdXNlU2ltcGxlOiBmdW5jdGlvbiAoKSB7IHNldHRlciA9IGZhbHNlOyB9XG59KTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhVVNFX05BVElWRSwgJ09iamVjdCcsIHtcbiAgLy8gMTkuMS4yLjIgT2JqZWN0LmNyZWF0ZShPIFssIFByb3BlcnRpZXNdKVxuICBjcmVhdGU6ICRjcmVhdGUsXG4gIC8vIDE5LjEuMi40IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKVxuICBkZWZpbmVQcm9wZXJ0eTogJGRlZmluZVByb3BlcnR5LFxuICAvLyAxOS4xLjIuMyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhPLCBQcm9wZXJ0aWVzKVxuICBkZWZpbmVQcm9wZXJ0aWVzOiAkZGVmaW5lUHJvcGVydGllcyxcbiAgLy8gMTkuMS4yLjYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPLCBQKVxuICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6ICRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsXG4gIC8vIDE5LjEuMi43IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE8pXG4gIGdldE93blByb3BlcnR5TmFtZXM6ICRnZXRPd25Qcm9wZXJ0eU5hbWVzLFxuICAvLyAxOS4xLjIuOCBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKE8pXG4gIGdldE93blByb3BlcnR5U3ltYm9sczogJGdldE93blByb3BlcnR5U3ltYm9sc1xufSk7XG5cbi8vIDI0LjMuMiBKU09OLnN0cmluZ2lmeSh2YWx1ZSBbLCByZXBsYWNlciBbLCBzcGFjZV1dKVxuJEpTT04gJiYgJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoIVVTRV9OQVRJVkUgfHwgJGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgdmFyIFMgPSAkU3ltYm9sKCk7XG4gIC8vIE1TIEVkZ2UgY29udmVydHMgc3ltYm9sIHZhbHVlcyB0byBKU09OIGFzIHt9XG4gIC8vIFdlYktpdCBjb252ZXJ0cyBzeW1ib2wgdmFsdWVzIHRvIEpTT04gYXMgbnVsbFxuICAvLyBWOCB0aHJvd3Mgb24gYm94ZWQgc3ltYm9sc1xuICByZXR1cm4gX3N0cmluZ2lmeShbU10pICE9ICdbbnVsbF0nIHx8IF9zdHJpbmdpZnkoeyBhOiBTIH0pICE9ICd7fScgfHwgX3N0cmluZ2lmeShPYmplY3QoUykpICE9ICd7fSc7XG59KSksICdKU09OJywge1xuICBzdHJpbmdpZnk6IGZ1bmN0aW9uIHN0cmluZ2lmeShpdCkge1xuICAgIHZhciBhcmdzID0gW2l0XTtcbiAgICB2YXIgaSA9IDE7XG4gICAgdmFyIHJlcGxhY2VyLCAkcmVwbGFjZXI7XG4gICAgd2hpbGUgKGFyZ3VtZW50cy5sZW5ndGggPiBpKSBhcmdzLnB1c2goYXJndW1lbnRzW2krK10pO1xuICAgICRyZXBsYWNlciA9IHJlcGxhY2VyID0gYXJnc1sxXTtcbiAgICBpZiAoIWlzT2JqZWN0KHJlcGxhY2VyKSAmJiBpdCA9PT0gdW5kZWZpbmVkIHx8IGlzU3ltYm9sKGl0KSkgcmV0dXJuOyAvLyBJRTggcmV0dXJucyBzdHJpbmcgb24gdW5kZWZpbmVkXG4gICAgaWYgKCFpc0FycmF5KHJlcGxhY2VyKSkgcmVwbGFjZXIgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiAkcmVwbGFjZXIgPT0gJ2Z1bmN0aW9uJykgdmFsdWUgPSAkcmVwbGFjZXIuY2FsbCh0aGlzLCBrZXksIHZhbHVlKTtcbiAgICAgIGlmICghaXNTeW1ib2wodmFsdWUpKSByZXR1cm4gdmFsdWU7XG4gICAgfTtcbiAgICBhcmdzWzFdID0gcmVwbGFjZXI7XG4gICAgcmV0dXJuIF9zdHJpbmdpZnkuYXBwbHkoJEpTT04sIGFyZ3MpO1xuICB9XG59KTtcblxuLy8gMTkuNC4zLjQgU3ltYm9sLnByb3RvdHlwZVtAQHRvUHJpbWl0aXZlXShoaW50KVxuJFN5bWJvbFtQUk9UT1RZUEVdW1RPX1BSSU1JVElWRV0gfHwgcmVxdWlyZSgnLi9faGlkZScpKCRTeW1ib2xbUFJPVE9UWVBFXSwgVE9fUFJJTUlUSVZFLCAkU3ltYm9sW1BST1RPVFlQRV0udmFsdWVPZik7XG4vLyAxOS40LjMuNSBTeW1ib2wucHJvdG90eXBlW0BAdG9TdHJpbmdUYWddXG5zZXRUb1N0cmluZ1RhZygkU3ltYm9sLCAnU3ltYm9sJyk7XG4vLyAyMC4yLjEuOSBNYXRoW0BAdG9TdHJpbmdUYWddXG5zZXRUb1N0cmluZ1RhZyhNYXRoLCAnTWF0aCcsIHRydWUpO1xuLy8gMjQuMy4zIEpTT05bQEB0b1N0cmluZ1RhZ11cbnNldFRvU3RyaW5nVGFnKGdsb2JhbC5KU09OLCAnSlNPTicsIHRydWUpO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkdHlwZWQgPSByZXF1aXJlKCcuL190eXBlZCcpO1xudmFyIGJ1ZmZlciA9IHJlcXVpcmUoJy4vX3R5cGVkLWJ1ZmZlcicpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgdG9BYnNvbHV0ZUluZGV4ID0gcmVxdWlyZSgnLi9fdG8tYWJzb2x1dGUtaW5kZXgnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgQXJyYXlCdWZmZXIgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5BcnJheUJ1ZmZlcjtcbnZhciBzcGVjaWVzQ29uc3RydWN0b3IgPSByZXF1aXJlKCcuL19zcGVjaWVzLWNvbnN0cnVjdG9yJyk7XG52YXIgJEFycmF5QnVmZmVyID0gYnVmZmVyLkFycmF5QnVmZmVyO1xudmFyICREYXRhVmlldyA9IGJ1ZmZlci5EYXRhVmlldztcbnZhciAkaXNWaWV3ID0gJHR5cGVkLkFCViAmJiBBcnJheUJ1ZmZlci5pc1ZpZXc7XG52YXIgJHNsaWNlID0gJEFycmF5QnVmZmVyLnByb3RvdHlwZS5zbGljZTtcbnZhciBWSUVXID0gJHR5cGVkLlZJRVc7XG52YXIgQVJSQVlfQlVGRkVSID0gJ0FycmF5QnVmZmVyJztcblxuJGV4cG9ydCgkZXhwb3J0LkcgKyAkZXhwb3J0LlcgKyAkZXhwb3J0LkYgKiAoQXJyYXlCdWZmZXIgIT09ICRBcnJheUJ1ZmZlciksIHsgQXJyYXlCdWZmZXI6ICRBcnJheUJ1ZmZlciB9KTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhJHR5cGVkLkNPTlNUUiwgQVJSQVlfQlVGRkVSLCB7XG4gIC8vIDI0LjEuMy4xIEFycmF5QnVmZmVyLmlzVmlldyhhcmcpXG4gIGlzVmlldzogZnVuY3Rpb24gaXNWaWV3KGl0KSB7XG4gICAgcmV0dXJuICRpc1ZpZXcgJiYgJGlzVmlldyhpdCkgfHwgaXNPYmplY3QoaXQpICYmIFZJRVcgaW4gaXQ7XG4gIH1cbn0pO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuVSArICRleHBvcnQuRiAqIHJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gIW5ldyAkQXJyYXlCdWZmZXIoMikuc2xpY2UoMSwgdW5kZWZpbmVkKS5ieXRlTGVuZ3RoO1xufSksIEFSUkFZX0JVRkZFUiwge1xuICAvLyAyNC4xLjQuMyBBcnJheUJ1ZmZlci5wcm90b3R5cGUuc2xpY2Uoc3RhcnQsIGVuZClcbiAgc2xpY2U6IGZ1bmN0aW9uIHNsaWNlKHN0YXJ0LCBlbmQpIHtcbiAgICBpZiAoJHNsaWNlICE9PSB1bmRlZmluZWQgJiYgZW5kID09PSB1bmRlZmluZWQpIHJldHVybiAkc2xpY2UuY2FsbChhbk9iamVjdCh0aGlzKSwgc3RhcnQpOyAvLyBGRiBmaXhcbiAgICB2YXIgbGVuID0gYW5PYmplY3QodGhpcykuYnl0ZUxlbmd0aDtcbiAgICB2YXIgZmlyc3QgPSB0b0Fic29sdXRlSW5kZXgoc3RhcnQsIGxlbik7XG4gICAgdmFyIGZpbiA9IHRvQWJzb2x1dGVJbmRleChlbmQgPT09IHVuZGVmaW5lZCA/IGxlbiA6IGVuZCwgbGVuKTtcbiAgICB2YXIgcmVzdWx0ID0gbmV3IChzcGVjaWVzQ29uc3RydWN0b3IodGhpcywgJEFycmF5QnVmZmVyKSkodG9MZW5ndGgoZmluIC0gZmlyc3QpKTtcbiAgICB2YXIgdmlld1MgPSBuZXcgJERhdGFWaWV3KHRoaXMpO1xuICAgIHZhciB2aWV3VCA9IG5ldyAkRGF0YVZpZXcocmVzdWx0KTtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHdoaWxlIChmaXJzdCA8IGZpbikge1xuICAgICAgdmlld1Quc2V0VWludDgoaW5kZXgrKywgdmlld1MuZ2V0VWludDgoZmlyc3QrKykpO1xuICAgIH0gcmV0dXJuIHJlc3VsdDtcbiAgfVxufSk7XG5cbnJlcXVpcmUoJy4vX3NldC1zcGVjaWVzJykoQVJSQVlfQlVGRkVSKTtcbiIsInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG4kZXhwb3J0KCRleHBvcnQuRyArICRleHBvcnQuVyArICRleHBvcnQuRiAqICFyZXF1aXJlKCcuL190eXBlZCcpLkFCViwge1xuICBEYXRhVmlldzogcmVxdWlyZSgnLi9fdHlwZWQtYnVmZmVyJykuRGF0YVZpZXdcbn0pO1xuIiwicmVxdWlyZSgnLi9fdHlwZWQtYXJyYXknKSgnRmxvYXQzMicsIDQsIGZ1bmN0aW9uIChpbml0KSB7XG4gIHJldHVybiBmdW5jdGlvbiBGbG9hdDMyQXJyYXkoZGF0YSwgYnl0ZU9mZnNldCwgbGVuZ3RoKSB7XG4gICAgcmV0dXJuIGluaXQodGhpcywgZGF0YSwgYnl0ZU9mZnNldCwgbGVuZ3RoKTtcbiAgfTtcbn0pO1xuIiwicmVxdWlyZSgnLi9fdHlwZWQtYXJyYXknKSgnRmxvYXQ2NCcsIDgsIGZ1bmN0aW9uIChpbml0KSB7XG4gIHJldHVybiBmdW5jdGlvbiBGbG9hdDY0QXJyYXkoZGF0YSwgYnl0ZU9mZnNldCwgbGVuZ3RoKSB7XG4gICAgcmV0dXJuIGluaXQodGhpcywgZGF0YSwgYnl0ZU9mZnNldCwgbGVuZ3RoKTtcbiAgfTtcbn0pO1xuIiwicmVxdWlyZSgnLi9fdHlwZWQtYXJyYXknKSgnSW50MTYnLCAyLCBmdW5jdGlvbiAoaW5pdCkge1xuICByZXR1cm4gZnVuY3Rpb24gSW50MTZBcnJheShkYXRhLCBieXRlT2Zmc2V0LCBsZW5ndGgpIHtcbiAgICByZXR1cm4gaW5pdCh0aGlzLCBkYXRhLCBieXRlT2Zmc2V0LCBsZW5ndGgpO1xuICB9O1xufSk7XG4iLCJyZXF1aXJlKCcuL190eXBlZC1hcnJheScpKCdJbnQzMicsIDQsIGZ1bmN0aW9uIChpbml0KSB7XG4gIHJldHVybiBmdW5jdGlvbiBJbnQzMkFycmF5KGRhdGEsIGJ5dGVPZmZzZXQsIGxlbmd0aCkge1xuICAgIHJldHVybiBpbml0KHRoaXMsIGRhdGEsIGJ5dGVPZmZzZXQsIGxlbmd0aCk7XG4gIH07XG59KTtcbiIsInJlcXVpcmUoJy4vX3R5cGVkLWFycmF5JykoJ0ludDgnLCAxLCBmdW5jdGlvbiAoaW5pdCkge1xuICByZXR1cm4gZnVuY3Rpb24gSW50OEFycmF5KGRhdGEsIGJ5dGVPZmZzZXQsIGxlbmd0aCkge1xuICAgIHJldHVybiBpbml0KHRoaXMsIGRhdGEsIGJ5dGVPZmZzZXQsIGxlbmd0aCk7XG4gIH07XG59KTtcbiIsInJlcXVpcmUoJy4vX3R5cGVkLWFycmF5JykoJ1VpbnQxNicsIDIsIGZ1bmN0aW9uIChpbml0KSB7XG4gIHJldHVybiBmdW5jdGlvbiBVaW50MTZBcnJheShkYXRhLCBieXRlT2Zmc2V0LCBsZW5ndGgpIHtcbiAgICByZXR1cm4gaW5pdCh0aGlzLCBkYXRhLCBieXRlT2Zmc2V0LCBsZW5ndGgpO1xuICB9O1xufSk7XG4iLCJyZXF1aXJlKCcuL190eXBlZC1hcnJheScpKCdVaW50MzInLCA0LCBmdW5jdGlvbiAoaW5pdCkge1xuICByZXR1cm4gZnVuY3Rpb24gVWludDMyQXJyYXkoZGF0YSwgYnl0ZU9mZnNldCwgbGVuZ3RoKSB7XG4gICAgcmV0dXJuIGluaXQodGhpcywgZGF0YSwgYnl0ZU9mZnNldCwgbGVuZ3RoKTtcbiAgfTtcbn0pO1xuIiwicmVxdWlyZSgnLi9fdHlwZWQtYXJyYXknKSgnVWludDgnLCAxLCBmdW5jdGlvbiAoaW5pdCkge1xuICByZXR1cm4gZnVuY3Rpb24gVWludDhBcnJheShkYXRhLCBieXRlT2Zmc2V0LCBsZW5ndGgpIHtcbiAgICByZXR1cm4gaW5pdCh0aGlzLCBkYXRhLCBieXRlT2Zmc2V0LCBsZW5ndGgpO1xuICB9O1xufSk7XG4iLCJyZXF1aXJlKCcuL190eXBlZC1hcnJheScpKCdVaW50OCcsIDEsIGZ1bmN0aW9uIChpbml0KSB7XG4gIHJldHVybiBmdW5jdGlvbiBVaW50OENsYW1wZWRBcnJheShkYXRhLCBieXRlT2Zmc2V0LCBsZW5ndGgpIHtcbiAgICByZXR1cm4gaW5pdCh0aGlzLCBkYXRhLCBieXRlT2Zmc2V0LCBsZW5ndGgpO1xuICB9O1xufSwgdHJ1ZSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgZWFjaCA9IHJlcXVpcmUoJy4vX2FycmF5LW1ldGhvZHMnKSgwKTtcbnZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lJyk7XG52YXIgbWV0YSA9IHJlcXVpcmUoJy4vX21ldGEnKTtcbnZhciBhc3NpZ24gPSByZXF1aXJlKCcuL19vYmplY3QtYXNzaWduJyk7XG52YXIgd2VhayA9IHJlcXVpcmUoJy4vX2NvbGxlY3Rpb24td2VhaycpO1xudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyIHZhbGlkYXRlID0gcmVxdWlyZSgnLi9fdmFsaWRhdGUtY29sbGVjdGlvbicpO1xudmFyIFdFQUtfTUFQID0gJ1dlYWtNYXAnO1xudmFyIGdldFdlYWsgPSBtZXRhLmdldFdlYWs7XG52YXIgaXNFeHRlbnNpYmxlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZTtcbnZhciB1bmNhdWdodEZyb3plblN0b3JlID0gd2Vhay51ZnN0b3JlO1xudmFyIHRtcCA9IHt9O1xudmFyIEludGVybmFsTWFwO1xuXG52YXIgd3JhcHBlciA9IGZ1bmN0aW9uIChnZXQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIFdlYWtNYXAoKSB7XG4gICAgcmV0dXJuIGdldCh0aGlzLCBhcmd1bWVudHMubGVuZ3RoID4gMCA/IGFyZ3VtZW50c1swXSA6IHVuZGVmaW5lZCk7XG4gIH07XG59O1xuXG52YXIgbWV0aG9kcyA9IHtcbiAgLy8gMjMuMy4zLjMgV2Vha01hcC5wcm90b3R5cGUuZ2V0KGtleSlcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoa2V5KSB7XG4gICAgaWYgKGlzT2JqZWN0KGtleSkpIHtcbiAgICAgIHZhciBkYXRhID0gZ2V0V2VhayhrZXkpO1xuICAgICAgaWYgKGRhdGEgPT09IHRydWUpIHJldHVybiB1bmNhdWdodEZyb3plblN0b3JlKHZhbGlkYXRlKHRoaXMsIFdFQUtfTUFQKSkuZ2V0KGtleSk7XG4gICAgICByZXR1cm4gZGF0YSA/IGRhdGFbdGhpcy5faV0gOiB1bmRlZmluZWQ7XG4gICAgfVxuICB9LFxuICAvLyAyMy4zLjMuNSBXZWFrTWFwLnByb3RvdHlwZS5zZXQoa2V5LCB2YWx1ZSlcbiAgc2V0OiBmdW5jdGlvbiBzZXQoa2V5LCB2YWx1ZSkge1xuICAgIHJldHVybiB3ZWFrLmRlZih2YWxpZGF0ZSh0aGlzLCBXRUFLX01BUCksIGtleSwgdmFsdWUpO1xuICB9XG59O1xuXG4vLyAyMy4zIFdlYWtNYXAgT2JqZWN0c1xudmFyICRXZWFrTWFwID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19jb2xsZWN0aW9uJykoV0VBS19NQVAsIHdyYXBwZXIsIG1ldGhvZHMsIHdlYWssIHRydWUsIHRydWUpO1xuXG4vLyBJRTExIFdlYWtNYXAgZnJvemVuIGtleXMgZml4XG5pZiAoZmFpbHMoZnVuY3Rpb24gKCkgeyByZXR1cm4gbmV3ICRXZWFrTWFwKCkuc2V0KChPYmplY3QuZnJlZXplIHx8IE9iamVjdCkodG1wKSwgNykuZ2V0KHRtcCkgIT0gNzsgfSkpIHtcbiAgSW50ZXJuYWxNYXAgPSB3ZWFrLmdldENvbnN0cnVjdG9yKHdyYXBwZXIsIFdFQUtfTUFQKTtcbiAgYXNzaWduKEludGVybmFsTWFwLnByb3RvdHlwZSwgbWV0aG9kcyk7XG4gIG1ldGEuTkVFRCA9IHRydWU7XG4gIGVhY2goWydkZWxldGUnLCAnaGFzJywgJ2dldCcsICdzZXQnXSwgZnVuY3Rpb24gKGtleSkge1xuICAgIHZhciBwcm90byA9ICRXZWFrTWFwLnByb3RvdHlwZTtcbiAgICB2YXIgbWV0aG9kID0gcHJvdG9ba2V5XTtcbiAgICByZWRlZmluZShwcm90bywga2V5LCBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgLy8gc3RvcmUgZnJvemVuIG9iamVjdHMgb24gaW50ZXJuYWwgd2Vha21hcCBzaGltXG4gICAgICBpZiAoaXNPYmplY3QoYSkgJiYgIWlzRXh0ZW5zaWJsZShhKSkge1xuICAgICAgICBpZiAoIXRoaXMuX2YpIHRoaXMuX2YgPSBuZXcgSW50ZXJuYWxNYXAoKTtcbiAgICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuX2Zba2V5XShhLCBiKTtcbiAgICAgICAgcmV0dXJuIGtleSA9PSAnc2V0JyA/IHRoaXMgOiByZXN1bHQ7XG4gICAgICAvLyBzdG9yZSBhbGwgdGhlIHJlc3Qgb24gbmF0aXZlIHdlYWttYXBcbiAgICAgIH0gcmV0dXJuIG1ldGhvZC5jYWxsKHRoaXMsIGEsIGIpO1xuICAgIH0pO1xuICB9KTtcbn1cbiIsIid1c2Ugc3RyaWN0JztcbnZhciB3ZWFrID0gcmVxdWlyZSgnLi9fY29sbGVjdGlvbi13ZWFrJyk7XG52YXIgdmFsaWRhdGUgPSByZXF1aXJlKCcuL192YWxpZGF0ZS1jb2xsZWN0aW9uJyk7XG52YXIgV0VBS19TRVQgPSAnV2Vha1NldCc7XG5cbi8vIDIzLjQgV2Vha1NldCBPYmplY3RzXG5yZXF1aXJlKCcuL19jb2xsZWN0aW9uJykoV0VBS19TRVQsIGZ1bmN0aW9uIChnZXQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIFdlYWtTZXQoKSB7IHJldHVybiBnZXQodGhpcywgYXJndW1lbnRzLmxlbmd0aCA+IDAgPyBhcmd1bWVudHNbMF0gOiB1bmRlZmluZWQpOyB9O1xufSwge1xuICAvLyAyMy40LjMuMSBXZWFrU2V0LnByb3RvdHlwZS5hZGQodmFsdWUpXG4gIGFkZDogZnVuY3Rpb24gYWRkKHZhbHVlKSB7XG4gICAgcmV0dXJuIHdlYWsuZGVmKHZhbGlkYXRlKHRoaXMsIFdFQUtfU0VUKSwgdmFsdWUsIHRydWUpO1xuICB9XG59LCB3ZWFrLCBmYWxzZSwgdHJ1ZSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLWZsYXRNYXAvI3NlYy1BcnJheS5wcm90b3R5cGUuZmxhdE1hcFxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBmbGF0dGVuSW50b0FycmF5ID0gcmVxdWlyZSgnLi9fZmxhdHRlbi1pbnRvLWFycmF5Jyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcbnZhciBhcnJheVNwZWNpZXNDcmVhdGUgPSByZXF1aXJlKCcuL19hcnJheS1zcGVjaWVzLWNyZWF0ZScpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ0FycmF5Jywge1xuICBmbGF0TWFwOiBmdW5jdGlvbiBmbGF0TWFwKGNhbGxiYWNrZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgdmFyIE8gPSB0b09iamVjdCh0aGlzKTtcbiAgICB2YXIgc291cmNlTGVuLCBBO1xuICAgIGFGdW5jdGlvbihjYWxsYmFja2ZuKTtcbiAgICBzb3VyY2VMZW4gPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gICAgQSA9IGFycmF5U3BlY2llc0NyZWF0ZShPLCAwKTtcbiAgICBmbGF0dGVuSW50b0FycmF5KEEsIE8sIE8sIHNvdXJjZUxlbiwgMCwgMSwgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgICByZXR1cm4gQTtcbiAgfVxufSk7XG5cbnJlcXVpcmUoJy4vX2FkZC10by11bnNjb3BhYmxlcycpKCdmbGF0TWFwJyk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLWZsYXRNYXAvI3NlYy1BcnJheS5wcm90b3R5cGUuZmxhdHRlblxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBmbGF0dGVuSW50b0FycmF5ID0gcmVxdWlyZSgnLi9fZmxhdHRlbi1pbnRvLWFycmF5Jyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBhcnJheVNwZWNpZXNDcmVhdGUgPSByZXF1aXJlKCcuL19hcnJheS1zcGVjaWVzLWNyZWF0ZScpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ0FycmF5Jywge1xuICBmbGF0dGVuOiBmdW5jdGlvbiBmbGF0dGVuKC8qIGRlcHRoQXJnID0gMSAqLykge1xuICAgIHZhciBkZXB0aEFyZyA9IGFyZ3VtZW50c1swXTtcbiAgICB2YXIgTyA9IHRvT2JqZWN0KHRoaXMpO1xuICAgIHZhciBzb3VyY2VMZW4gPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gICAgdmFyIEEgPSBhcnJheVNwZWNpZXNDcmVhdGUoTywgMCk7XG4gICAgZmxhdHRlbkludG9BcnJheShBLCBPLCBPLCBzb3VyY2VMZW4sIDAsIGRlcHRoQXJnID09PSB1bmRlZmluZWQgPyAxIDogdG9JbnRlZ2VyKGRlcHRoQXJnKSk7XG4gICAgcmV0dXJuIEE7XG4gIH1cbn0pO1xuXG5yZXF1aXJlKCcuL19hZGQtdG8tdW5zY29wYWJsZXMnKSgnZmxhdHRlbicpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvQXJyYXkucHJvdG90eXBlLmluY2x1ZGVzXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRpbmNsdWRlcyA9IHJlcXVpcmUoJy4vX2FycmF5LWluY2x1ZGVzJykodHJ1ZSk7XG5cbiRleHBvcnQoJGV4cG9ydC5QLCAnQXJyYXknLCB7XG4gIGluY2x1ZGVzOiBmdW5jdGlvbiBpbmNsdWRlcyhlbCAvKiAsIGZyb21JbmRleCA9IDAgKi8pIHtcbiAgICByZXR1cm4gJGluY2x1ZGVzKHRoaXMsIGVsLCBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCk7XG4gIH1cbn0pO1xuXG5yZXF1aXJlKCcuL19hZGQtdG8tdW5zY29wYWJsZXMnKSgnaW5jbHVkZXMnKTtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yd2FsZHJvbi90YzM5LW5vdGVzL2Jsb2IvbWFzdGVyL2VzNi8yMDE0LTA5L3NlcHQtMjUubWQjNTEwLWdsb2JhbGFzYXAtZm9yLWVucXVldWluZy1hLW1pY3JvdGFza1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBtaWNyb3Rhc2sgPSByZXF1aXJlKCcuL19taWNyb3Rhc2snKSgpO1xudmFyIHByb2Nlc3MgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5wcm9jZXNzO1xudmFyIGlzTm9kZSA9IHJlcXVpcmUoJy4vX2NvZicpKHByb2Nlc3MpID09ICdwcm9jZXNzJztcblxuJGV4cG9ydCgkZXhwb3J0LkcsIHtcbiAgYXNhcDogZnVuY3Rpb24gYXNhcChmbikge1xuICAgIHZhciBkb21haW4gPSBpc05vZGUgJiYgcHJvY2Vzcy5kb21haW47XG4gICAgbWljcm90YXNrKGRvbWFpbiA/IGRvbWFpbi5iaW5kKGZuKSA6IGZuKTtcbiAgfVxufSk7XG4iLCIvLyBodHRwczovL2dpdGh1Yi5jb20vbGpoYXJiL3Byb3Bvc2FsLWlzLWVycm9yXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ0Vycm9yJywge1xuICBpc0Vycm9yOiBmdW5jdGlvbiBpc0Vycm9yKGl0KSB7XG4gICAgcmV0dXJuIGNvZihpdCkgPT09ICdFcnJvcic7XG4gIH1cbn0pO1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtZ2xvYmFsXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuRywgeyBnbG9iYWw6IHJlcXVpcmUoJy4vX2dsb2JhbCcpIH0pO1xuIiwiLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9wcm9wb3NhbC1zZXRtYXAtb2Zmcm9tLyNzZWMtbWFwLmZyb21cbnJlcXVpcmUoJy4vX3NldC1jb2xsZWN0aW9uLWZyb20nKSgnTWFwJyk7XG4iLCIvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLXNldG1hcC1vZmZyb20vI3NlYy1tYXAub2ZcbnJlcXVpcmUoJy4vX3NldC1jb2xsZWN0aW9uLW9mJykoJ01hcCcpO1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL0RhdmlkQnJ1YW50L01hcC1TZXQucHJvdG90eXBlLnRvSlNPTlxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LlIsICdNYXAnLCB7IHRvSlNPTjogcmVxdWlyZSgnLi9fY29sbGVjdGlvbi10by1qc29uJykoJ01hcCcpIH0pO1xuIiwiLy8gaHR0cHM6Ly9yd2FsZHJvbi5naXRodWIuaW8vcHJvcG9zYWwtbWF0aC1leHRlbnNpb25zL1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICBjbGFtcDogZnVuY3Rpb24gY2xhbXAoeCwgbG93ZXIsIHVwcGVyKSB7XG4gICAgcmV0dXJuIE1hdGgubWluKHVwcGVyLCBNYXRoLm1heChsb3dlciwgeCkpO1xuICB9XG59KTtcbiIsIi8vIGh0dHBzOi8vcndhbGRyb24uZ2l0aHViLmlvL3Byb3Bvc2FsLW1hdGgtZXh0ZW5zaW9ucy9cbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTWF0aCcsIHsgREVHX1BFUl9SQUQ6IE1hdGguUEkgLyAxODAgfSk7XG4iLCIvLyBodHRwczovL3J3YWxkcm9uLmdpdGh1Yi5pby9wcm9wb3NhbC1tYXRoLWV4dGVuc2lvbnMvXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIFJBRF9QRVJfREVHID0gMTgwIC8gTWF0aC5QSTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICBkZWdyZWVzOiBmdW5jdGlvbiBkZWdyZWVzKHJhZGlhbnMpIHtcbiAgICByZXR1cm4gcmFkaWFucyAqIFJBRF9QRVJfREVHO1xuICB9XG59KTtcbiIsIi8vIGh0dHBzOi8vcndhbGRyb24uZ2l0aHViLmlvL3Byb3Bvc2FsLW1hdGgtZXh0ZW5zaW9ucy9cbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgc2NhbGUgPSByZXF1aXJlKCcuL19tYXRoLXNjYWxlJyk7XG52YXIgZnJvdW5kID0gcmVxdWlyZSgnLi9fbWF0aC1mcm91bmQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICBmc2NhbGU6IGZ1bmN0aW9uIGZzY2FsZSh4LCBpbkxvdywgaW5IaWdoLCBvdXRMb3csIG91dEhpZ2gpIHtcbiAgICByZXR1cm4gZnJvdW5kKHNjYWxlKHgsIGluTG93LCBpbkhpZ2gsIG91dExvdywgb3V0SGlnaCkpO1xuICB9XG59KTtcbiIsIi8vIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL0JyZW5kYW5FaWNoLzQyOTRkNWMyMTJhNmQyMjU0NzAzXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIGlhZGRoOiBmdW5jdGlvbiBpYWRkaCh4MCwgeDEsIHkwLCB5MSkge1xuICAgIHZhciAkeDAgPSB4MCA+Pj4gMDtcbiAgICB2YXIgJHgxID0geDEgPj4+IDA7XG4gICAgdmFyICR5MCA9IHkwID4+PiAwO1xuICAgIHJldHVybiAkeDEgKyAoeTEgPj4+IDApICsgKCgkeDAgJiAkeTAgfCAoJHgwIHwgJHkwKSAmIH4oJHgwICsgJHkwID4+PiAwKSkgPj4+IDMxKSB8IDA7XG4gIH1cbn0pO1xuIiwiLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vQnJlbmRhbkVpY2gvNDI5NGQ1YzIxMmE2ZDIyNTQ3MDNcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTWF0aCcsIHtcbiAgaW11bGg6IGZ1bmN0aW9uIGltdWxoKHUsIHYpIHtcbiAgICB2YXIgVUlOVDE2ID0gMHhmZmZmO1xuICAgIHZhciAkdSA9ICt1O1xuICAgIHZhciAkdiA9ICt2O1xuICAgIHZhciB1MCA9ICR1ICYgVUlOVDE2O1xuICAgIHZhciB2MCA9ICR2ICYgVUlOVDE2O1xuICAgIHZhciB1MSA9ICR1ID4+IDE2O1xuICAgIHZhciB2MSA9ICR2ID4+IDE2O1xuICAgIHZhciB0ID0gKHUxICogdjAgPj4+IDApICsgKHUwICogdjAgPj4+IDE2KTtcbiAgICByZXR1cm4gdTEgKiB2MSArICh0ID4+IDE2KSArICgodTAgKiB2MSA+Pj4gMCkgKyAodCAmIFVJTlQxNikgPj4gMTYpO1xuICB9XG59KTtcbiIsIi8vIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL0JyZW5kYW5FaWNoLzQyOTRkNWMyMTJhNmQyMjU0NzAzXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIGlzdWJoOiBmdW5jdGlvbiBpc3ViaCh4MCwgeDEsIHkwLCB5MSkge1xuICAgIHZhciAkeDAgPSB4MCA+Pj4gMDtcbiAgICB2YXIgJHgxID0geDEgPj4+IDA7XG4gICAgdmFyICR5MCA9IHkwID4+PiAwO1xuICAgIHJldHVybiAkeDEgLSAoeTEgPj4+IDApIC0gKCh+JHgwICYgJHkwIHwgfigkeDAgXiAkeTApICYgJHgwIC0gJHkwID4+PiAwKSA+Pj4gMzEpIHwgMDtcbiAgfVxufSk7XG4iLCIvLyBodHRwczovL3J3YWxkcm9uLmdpdGh1Yi5pby9wcm9wb3NhbC1tYXRoLWV4dGVuc2lvbnMvXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7IFJBRF9QRVJfREVHOiAxODAgLyBNYXRoLlBJIH0pO1xuIiwiLy8gaHR0cHM6Ly9yd2FsZHJvbi5naXRodWIuaW8vcHJvcG9zYWwtbWF0aC1leHRlbnNpb25zL1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBERUdfUEVSX1JBRCA9IE1hdGguUEkgLyAxODA7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTWF0aCcsIHtcbiAgcmFkaWFuczogZnVuY3Rpb24gcmFkaWFucyhkZWdyZWVzKSB7XG4gICAgcmV0dXJuIGRlZ3JlZXMgKiBERUdfUEVSX1JBRDtcbiAgfVxufSk7XG4iLCIvLyBodHRwczovL3J3YWxkcm9uLmdpdGh1Yi5pby9wcm9wb3NhbC1tYXRoLWV4dGVuc2lvbnMvXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7IHNjYWxlOiByZXF1aXJlKCcuL19tYXRoLXNjYWxlJykgfSk7XG4iLCIvLyBodHRwOi8vamZiYXN0aWVuLmdpdGh1Yi5pby9wYXBlcnMvTWF0aC5zaWduYml0Lmh0bWxcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTWF0aCcsIHsgc2lnbmJpdDogZnVuY3Rpb24gc2lnbmJpdCh4KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgcmV0dXJuICh4ID0gK3gpICE9IHggPyB4IDogeCA9PSAwID8gMSAvIHggPT0gSW5maW5pdHkgOiB4ID4gMDtcbn0gfSk7XG4iLCIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9CcmVuZGFuRWljaC80Mjk0ZDVjMjEyYTZkMjI1NDcwM1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICB1bXVsaDogZnVuY3Rpb24gdW11bGgodSwgdikge1xuICAgIHZhciBVSU5UMTYgPSAweGZmZmY7XG4gICAgdmFyICR1ID0gK3U7XG4gICAgdmFyICR2ID0gK3Y7XG4gICAgdmFyIHUwID0gJHUgJiBVSU5UMTY7XG4gICAgdmFyIHYwID0gJHYgJiBVSU5UMTY7XG4gICAgdmFyIHUxID0gJHUgPj4+IDE2O1xuICAgIHZhciB2MSA9ICR2ID4+PiAxNjtcbiAgICB2YXIgdCA9ICh1MSAqIHYwID4+PiAwKSArICh1MCAqIHYwID4+PiAxNik7XG4gICAgcmV0dXJuIHUxICogdjEgKyAodCA+Pj4gMTYpICsgKCh1MCAqIHYxID4+PiAwKSArICh0ICYgVUlOVDE2KSA+Pj4gMTYpO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG52YXIgJGRlZmluZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJyk7XG5cbi8vIEIuMi4yLjIgT2JqZWN0LnByb3RvdHlwZS5fX2RlZmluZUdldHRlcl9fKFAsIGdldHRlcilcbnJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgJiYgJGV4cG9ydCgkZXhwb3J0LlAgKyByZXF1aXJlKCcuL19vYmplY3QtZm9yY2VkLXBhbScpLCAnT2JqZWN0Jywge1xuICBfX2RlZmluZUdldHRlcl9fOiBmdW5jdGlvbiBfX2RlZmluZUdldHRlcl9fKFAsIGdldHRlcikge1xuICAgICRkZWZpbmVQcm9wZXJ0eS5mKHRvT2JqZWN0KHRoaXMpLCBQLCB7IGdldDogYUZ1bmN0aW9uKGdldHRlciksIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyICRkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xuXG4vLyBCLjIuMi4zIE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXyhQLCBzZXR0ZXIpXG5yZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmICRleHBvcnQoJGV4cG9ydC5QICsgcmVxdWlyZSgnLi9fb2JqZWN0LWZvcmNlZC1wYW0nKSwgJ09iamVjdCcsIHtcbiAgX19kZWZpbmVTZXR0ZXJfXzogZnVuY3Rpb24gX19kZWZpbmVTZXR0ZXJfXyhQLCBzZXR0ZXIpIHtcbiAgICAkZGVmaW5lUHJvcGVydHkuZih0b09iamVjdCh0aGlzKSwgUCwgeyBzZXQ6IGFGdW5jdGlvbihzZXR0ZXIpLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gIH1cbn0pO1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtb2JqZWN0LXZhbHVlcy1lbnRyaWVzXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRlbnRyaWVzID0gcmVxdWlyZSgnLi9fb2JqZWN0LXRvLWFycmF5JykodHJ1ZSk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnT2JqZWN0Jywge1xuICBlbnRyaWVzOiBmdW5jdGlvbiBlbnRyaWVzKGl0KSB7XG4gICAgcmV0dXJuICRlbnRyaWVzKGl0KTtcbiAgfVxufSk7XG4iLCIvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1vYmplY3QtZ2V0b3ducHJvcGVydHlkZXNjcmlwdG9yc1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBvd25LZXlzID0gcmVxdWlyZSgnLi9fb3duLWtleXMnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgZ09QRCA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BkJyk7XG52YXIgY3JlYXRlUHJvcGVydHkgPSByZXF1aXJlKCcuL19jcmVhdGUtcHJvcGVydHknKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdPYmplY3QnLCB7XG4gIGdldE93blByb3BlcnR5RGVzY3JpcHRvcnM6IGZ1bmN0aW9uIGdldE93blByb3BlcnR5RGVzY3JpcHRvcnMob2JqZWN0KSB7XG4gICAgdmFyIE8gPSB0b0lPYmplY3Qob2JqZWN0KTtcbiAgICB2YXIgZ2V0RGVzYyA9IGdPUEQuZjtcbiAgICB2YXIga2V5cyA9IG93bktleXMoTyk7XG4gICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgIHZhciBpID0gMDtcbiAgICB2YXIga2V5LCBkZXNjO1xuICAgIHdoaWxlIChrZXlzLmxlbmd0aCA+IGkpIHtcbiAgICAgIGRlc2MgPSBnZXREZXNjKE8sIGtleSA9IGtleXNbaSsrXSk7XG4gICAgICBpZiAoZGVzYyAhPT0gdW5kZWZpbmVkKSBjcmVhdGVQcm9wZXJ0eShyZXN1bHQsIGtleSwgZGVzYyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcGQnKS5mO1xuXG4vLyBCLjIuMi40IE9iamVjdC5wcm90b3R5cGUuX19sb29rdXBHZXR0ZXJfXyhQKVxucmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSAmJiAkZXhwb3J0KCRleHBvcnQuUCArIHJlcXVpcmUoJy4vX29iamVjdC1mb3JjZWQtcGFtJyksICdPYmplY3QnLCB7XG4gIF9fbG9va3VwR2V0dGVyX186IGZ1bmN0aW9uIF9fbG9va3VwR2V0dGVyX18oUCkge1xuICAgIHZhciBPID0gdG9PYmplY3QodGhpcyk7XG4gICAgdmFyIEsgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgICB2YXIgRDtcbiAgICBkbyB7XG4gICAgICBpZiAoRCA9IGdldE93blByb3BlcnR5RGVzY3JpcHRvcihPLCBLKSkgcmV0dXJuIEQuZ2V0O1xuICAgIH0gd2hpbGUgKE8gPSBnZXRQcm90b3R5cGVPZihPKSk7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcGQnKS5mO1xuXG4vLyBCLjIuMi41IE9iamVjdC5wcm90b3R5cGUuX19sb29rdXBTZXR0ZXJfXyhQKVxucmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSAmJiAkZXhwb3J0KCRleHBvcnQuUCArIHJlcXVpcmUoJy4vX29iamVjdC1mb3JjZWQtcGFtJyksICdPYmplY3QnLCB7XG4gIF9fbG9va3VwU2V0dGVyX186IGZ1bmN0aW9uIF9fbG9va3VwU2V0dGVyX18oUCkge1xuICAgIHZhciBPID0gdG9PYmplY3QodGhpcyk7XG4gICAgdmFyIEsgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgICB2YXIgRDtcbiAgICBkbyB7XG4gICAgICBpZiAoRCA9IGdldE93blByb3BlcnR5RGVzY3JpcHRvcihPLCBLKSkgcmV0dXJuIEQuc2V0O1xuICAgIH0gd2hpbGUgKE8gPSBnZXRQcm90b3R5cGVPZihPKSk7XG4gIH1cbn0pO1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtb2JqZWN0LXZhbHVlcy1lbnRyaWVzXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICR2YWx1ZXMgPSByZXF1aXJlKCcuL19vYmplY3QtdG8tYXJyYXknKShmYWxzZSk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnT2JqZWN0Jywge1xuICB2YWx1ZXM6IGZ1bmN0aW9uIHZhbHVlcyhpdCkge1xuICAgIHJldHVybiAkdmFsdWVzKGl0KTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL2dpdGh1Yi5jb20vemVucGFyc2luZy9lcy1vYnNlcnZhYmxlXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgbWljcm90YXNrID0gcmVxdWlyZSgnLi9fbWljcm90YXNrJykoKTtcbnZhciBPQlNFUlZBQkxFID0gcmVxdWlyZSgnLi9fd2tzJykoJ29ic2VydmFibGUnKTtcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi9fYW4taW5zdGFuY2UnKTtcbnZhciByZWRlZmluZUFsbCA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lLWFsbCcpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgZm9yT2YgPSByZXF1aXJlKCcuL19mb3Itb2YnKTtcbnZhciBSRVRVUk4gPSBmb3JPZi5SRVRVUk47XG5cbnZhciBnZXRNZXRob2QgPSBmdW5jdGlvbiAoZm4pIHtcbiAgcmV0dXJuIGZuID09IG51bGwgPyB1bmRlZmluZWQgOiBhRnVuY3Rpb24oZm4pO1xufTtcblxudmFyIGNsZWFudXBTdWJzY3JpcHRpb24gPSBmdW5jdGlvbiAoc3Vic2NyaXB0aW9uKSB7XG4gIHZhciBjbGVhbnVwID0gc3Vic2NyaXB0aW9uLl9jO1xuICBpZiAoY2xlYW51cCkge1xuICAgIHN1YnNjcmlwdGlvbi5fYyA9IHVuZGVmaW5lZDtcbiAgICBjbGVhbnVwKCk7XG4gIH1cbn07XG5cbnZhciBzdWJzY3JpcHRpb25DbG9zZWQgPSBmdW5jdGlvbiAoc3Vic2NyaXB0aW9uKSB7XG4gIHJldHVybiBzdWJzY3JpcHRpb24uX28gPT09IHVuZGVmaW5lZDtcbn07XG5cbnZhciBjbG9zZVN1YnNjcmlwdGlvbiA9IGZ1bmN0aW9uIChzdWJzY3JpcHRpb24pIHtcbiAgaWYgKCFzdWJzY3JpcHRpb25DbG9zZWQoc3Vic2NyaXB0aW9uKSkge1xuICAgIHN1YnNjcmlwdGlvbi5fbyA9IHVuZGVmaW5lZDtcbiAgICBjbGVhbnVwU3Vic2NyaXB0aW9uKHN1YnNjcmlwdGlvbik7XG4gIH1cbn07XG5cbnZhciBTdWJzY3JpcHRpb24gPSBmdW5jdGlvbiAob2JzZXJ2ZXIsIHN1YnNjcmliZXIpIHtcbiAgYW5PYmplY3Qob2JzZXJ2ZXIpO1xuICB0aGlzLl9jID0gdW5kZWZpbmVkO1xuICB0aGlzLl9vID0gb2JzZXJ2ZXI7XG4gIG9ic2VydmVyID0gbmV3IFN1YnNjcmlwdGlvbk9ic2VydmVyKHRoaXMpO1xuICB0cnkge1xuICAgIHZhciBjbGVhbnVwID0gc3Vic2NyaWJlcihvYnNlcnZlcik7XG4gICAgdmFyIHN1YnNjcmlwdGlvbiA9IGNsZWFudXA7XG4gICAgaWYgKGNsZWFudXAgIT0gbnVsbCkge1xuICAgICAgaWYgKHR5cGVvZiBjbGVhbnVwLnVuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nKSBjbGVhbnVwID0gZnVuY3Rpb24gKCkgeyBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTsgfTtcbiAgICAgIGVsc2UgYUZ1bmN0aW9uKGNsZWFudXApO1xuICAgICAgdGhpcy5fYyA9IGNsZWFudXA7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgb2JzZXJ2ZXIuZXJyb3IoZSk7XG4gICAgcmV0dXJuO1xuICB9IGlmIChzdWJzY3JpcHRpb25DbG9zZWQodGhpcykpIGNsZWFudXBTdWJzY3JpcHRpb24odGhpcyk7XG59O1xuXG5TdWJzY3JpcHRpb24ucHJvdG90eXBlID0gcmVkZWZpbmVBbGwoe30sIHtcbiAgdW5zdWJzY3JpYmU6IGZ1bmN0aW9uIHVuc3Vic2NyaWJlKCkgeyBjbG9zZVN1YnNjcmlwdGlvbih0aGlzKTsgfVxufSk7XG5cbnZhciBTdWJzY3JpcHRpb25PYnNlcnZlciA9IGZ1bmN0aW9uIChzdWJzY3JpcHRpb24pIHtcbiAgdGhpcy5fcyA9IHN1YnNjcmlwdGlvbjtcbn07XG5cblN1YnNjcmlwdGlvbk9ic2VydmVyLnByb3RvdHlwZSA9IHJlZGVmaW5lQWxsKHt9LCB7XG4gIG5leHQ6IGZ1bmN0aW9uIG5leHQodmFsdWUpIHtcbiAgICB2YXIgc3Vic2NyaXB0aW9uID0gdGhpcy5fcztcbiAgICBpZiAoIXN1YnNjcmlwdGlvbkNsb3NlZChzdWJzY3JpcHRpb24pKSB7XG4gICAgICB2YXIgb2JzZXJ2ZXIgPSBzdWJzY3JpcHRpb24uX287XG4gICAgICB0cnkge1xuICAgICAgICB2YXIgbSA9IGdldE1ldGhvZChvYnNlcnZlci5uZXh0KTtcbiAgICAgICAgaWYgKG0pIHJldHVybiBtLmNhbGwob2JzZXJ2ZXIsIHZhbHVlKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjbG9zZVN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIGVycm9yOiBmdW5jdGlvbiBlcnJvcih2YWx1ZSkge1xuICAgIHZhciBzdWJzY3JpcHRpb24gPSB0aGlzLl9zO1xuICAgIGlmIChzdWJzY3JpcHRpb25DbG9zZWQoc3Vic2NyaXB0aW9uKSkgdGhyb3cgdmFsdWU7XG4gICAgdmFyIG9ic2VydmVyID0gc3Vic2NyaXB0aW9uLl9vO1xuICAgIHN1YnNjcmlwdGlvbi5fbyA9IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgdmFyIG0gPSBnZXRNZXRob2Qob2JzZXJ2ZXIuZXJyb3IpO1xuICAgICAgaWYgKCFtKSB0aHJvdyB2YWx1ZTtcbiAgICAgIHZhbHVlID0gbS5jYWxsKG9ic2VydmVyLCB2YWx1ZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY2xlYW51cFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9IGNsZWFudXBTdWJzY3JpcHRpb24oc3Vic2NyaXB0aW9uKTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH0sXG4gIGNvbXBsZXRlOiBmdW5jdGlvbiBjb21wbGV0ZSh2YWx1ZSkge1xuICAgIHZhciBzdWJzY3JpcHRpb24gPSB0aGlzLl9zO1xuICAgIGlmICghc3Vic2NyaXB0aW9uQ2xvc2VkKHN1YnNjcmlwdGlvbikpIHtcbiAgICAgIHZhciBvYnNlcnZlciA9IHN1YnNjcmlwdGlvbi5fbztcbiAgICAgIHN1YnNjcmlwdGlvbi5fbyA9IHVuZGVmaW5lZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIHZhciBtID0gZ2V0TWV0aG9kKG9ic2VydmVyLmNvbXBsZXRlKTtcbiAgICAgICAgdmFsdWUgPSBtID8gbS5jYWxsKG9ic2VydmVyLCB2YWx1ZSkgOiB1bmRlZmluZWQ7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY2xlYW51cFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICAgIH0gY2xlYW51cFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pO1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxufSk7XG5cbnZhciAkT2JzZXJ2YWJsZSA9IGZ1bmN0aW9uIE9ic2VydmFibGUoc3Vic2NyaWJlcikge1xuICBhbkluc3RhbmNlKHRoaXMsICRPYnNlcnZhYmxlLCAnT2JzZXJ2YWJsZScsICdfZicpLl9mID0gYUZ1bmN0aW9uKHN1YnNjcmliZXIpO1xufTtcblxucmVkZWZpbmVBbGwoJE9ic2VydmFibGUucHJvdG90eXBlLCB7XG4gIHN1YnNjcmliZTogZnVuY3Rpb24gc3Vic2NyaWJlKG9ic2VydmVyKSB7XG4gICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb24ob2JzZXJ2ZXIsIHRoaXMuX2YpO1xuICB9LFxuICBmb3JFYWNoOiBmdW5jdGlvbiBmb3JFYWNoKGZuKSB7XG4gICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgKGNvcmUuUHJvbWlzZSB8fCBnbG9iYWwuUHJvbWlzZSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgYUZ1bmN0aW9uKGZuKTtcbiAgICAgIHZhciBzdWJzY3JpcHRpb24gPSB0aGF0LnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZm4odmFsdWUpO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IHJlamVjdCxcbiAgICAgICAgY29tcGxldGU6IHJlc29sdmVcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59KTtcblxucmVkZWZpbmVBbGwoJE9ic2VydmFibGUsIHtcbiAgZnJvbTogZnVuY3Rpb24gZnJvbSh4KSB7XG4gICAgdmFyIEMgPSB0eXBlb2YgdGhpcyA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMgOiAkT2JzZXJ2YWJsZTtcbiAgICB2YXIgbWV0aG9kID0gZ2V0TWV0aG9kKGFuT2JqZWN0KHgpW09CU0VSVkFCTEVdKTtcbiAgICBpZiAobWV0aG9kKSB7XG4gICAgICB2YXIgb2JzZXJ2YWJsZSA9IGFuT2JqZWN0KG1ldGhvZC5jYWxsKHgpKTtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlLmNvbnN0cnVjdG9yID09PSBDID8gb2JzZXJ2YWJsZSA6IG5ldyBDKGZ1bmN0aW9uIChvYnNlcnZlcikge1xuICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZS5zdWJzY3JpYmUob2JzZXJ2ZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQyhmdW5jdGlvbiAob2JzZXJ2ZXIpIHtcbiAgICAgIHZhciBkb25lID0gZmFsc2U7XG4gICAgICBtaWNyb3Rhc2soZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIWRvbmUpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGZvck9mKHgsIGZhbHNlLCBmdW5jdGlvbiAoaXQpIHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChpdCk7XG4gICAgICAgICAgICAgIGlmIChkb25lKSByZXR1cm4gUkVUVVJOO1xuICAgICAgICAgICAgfSkgPT09IFJFVFVSTikgcmV0dXJuO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGlmIChkb25lKSB0aHJvdyBlO1xuICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfSBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7IGRvbmUgPSB0cnVlOyB9O1xuICAgIH0pO1xuICB9LFxuICBvZjogZnVuY3Rpb24gb2YoKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSBhcmd1bWVudHMubGVuZ3RoLCBpdGVtcyA9IG5ldyBBcnJheShsKTsgaSA8IGw7KSBpdGVtc1tpXSA9IGFyZ3VtZW50c1tpKytdO1xuICAgIHJldHVybiBuZXcgKHR5cGVvZiB0aGlzID09PSAnZnVuY3Rpb24nID8gdGhpcyA6ICRPYnNlcnZhYmxlKShmdW5jdGlvbiAob2JzZXJ2ZXIpIHtcbiAgICAgIHZhciBkb25lID0gZmFsc2U7XG4gICAgICBtaWNyb3Rhc2soZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIWRvbmUpIHtcbiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGl0ZW1zLmxlbmd0aDsgKytqKSB7XG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KGl0ZW1zW2pdKTtcbiAgICAgICAgICAgIGlmIChkb25lKSByZXR1cm47XG4gICAgICAgICAgfSBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7IGRvbmUgPSB0cnVlOyB9O1xuICAgIH0pO1xuICB9XG59KTtcblxuaGlkZSgkT2JzZXJ2YWJsZS5wcm90b3R5cGUsIE9CU0VSVkFCTEUsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0pO1xuXG4kZXhwb3J0KCRleHBvcnQuRywgeyBPYnNlcnZhYmxlOiAkT2JzZXJ2YWJsZSB9KTtcblxucmVxdWlyZSgnLi9fc2V0LXNwZWNpZXMnKSgnT2JzZXJ2YWJsZScpO1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtcHJvbWlzZS1maW5hbGx5XG4ndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgc3BlY2llc0NvbnN0cnVjdG9yID0gcmVxdWlyZSgnLi9fc3BlY2llcy1jb25zdHJ1Y3RvcicpO1xudmFyIHByb21pc2VSZXNvbHZlID0gcmVxdWlyZSgnLi9fcHJvbWlzZS1yZXNvbHZlJyk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5SLCAnUHJvbWlzZScsIHsgJ2ZpbmFsbHknOiBmdW5jdGlvbiAob25GaW5hbGx5KSB7XG4gIHZhciBDID0gc3BlY2llc0NvbnN0cnVjdG9yKHRoaXMsIGNvcmUuUHJvbWlzZSB8fCBnbG9iYWwuUHJvbWlzZSk7XG4gIHZhciBpc0Z1bmN0aW9uID0gdHlwZW9mIG9uRmluYWxseSA9PSAnZnVuY3Rpb24nO1xuICByZXR1cm4gdGhpcy50aGVuKFxuICAgIGlzRnVuY3Rpb24gPyBmdW5jdGlvbiAoeCkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZXNvbHZlKEMsIG9uRmluYWxseSgpKS50aGVuKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHg7IH0pO1xuICAgIH0gOiBvbkZpbmFsbHksXG4gICAgaXNGdW5jdGlvbiA/IGZ1bmN0aW9uIChlKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlc29sdmUoQywgb25GaW5hbGx5KCkpLnRoZW4oZnVuY3Rpb24gKCkgeyB0aHJvdyBlOyB9KTtcbiAgICB9IDogb25GaW5hbGx5XG4gICk7XG59IH0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtcHJvbWlzZS10cnlcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgbmV3UHJvbWlzZUNhcGFiaWxpdHkgPSByZXF1aXJlKCcuL19uZXctcHJvbWlzZS1jYXBhYmlsaXR5Jyk7XG52YXIgcGVyZm9ybSA9IHJlcXVpcmUoJy4vX3BlcmZvcm0nKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdQcm9taXNlJywgeyAndHJ5JzogZnVuY3Rpb24gKGNhbGxiYWNrZm4pIHtcbiAgdmFyIHByb21pc2VDYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkuZih0aGlzKTtcbiAgdmFyIHJlc3VsdCA9IHBlcmZvcm0oY2FsbGJhY2tmbik7XG4gIChyZXN1bHQuZSA/IHByb21pc2VDYXBhYmlsaXR5LnJlamVjdCA6IHByb21pc2VDYXBhYmlsaXR5LnJlc29sdmUpKHJlc3VsdC52KTtcbiAgcmV0dXJuIHByb21pc2VDYXBhYmlsaXR5LnByb21pc2U7XG59IH0pO1xuIiwidmFyIG1ldGFkYXRhID0gcmVxdWlyZSgnLi9fbWV0YWRhdGEnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHRvTWV0YUtleSA9IG1ldGFkYXRhLmtleTtcbnZhciBvcmRpbmFyeURlZmluZU93bk1ldGFkYXRhID0gbWV0YWRhdGEuc2V0O1xuXG5tZXRhZGF0YS5leHAoeyBkZWZpbmVNZXRhZGF0YTogZnVuY3Rpb24gZGVmaW5lTWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUsIHRhcmdldCwgdGFyZ2V0S2V5KSB7XG4gIG9yZGluYXJ5RGVmaW5lT3duTWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUsIGFuT2JqZWN0KHRhcmdldCksIHRvTWV0YUtleSh0YXJnZXRLZXkpKTtcbn0gfSk7XG4iLCJ2YXIgbWV0YWRhdGEgPSByZXF1aXJlKCcuL19tZXRhZGF0YScpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgdG9NZXRhS2V5ID0gbWV0YWRhdGEua2V5O1xudmFyIGdldE9yQ3JlYXRlTWV0YWRhdGFNYXAgPSBtZXRhZGF0YS5tYXA7XG52YXIgc3RvcmUgPSBtZXRhZGF0YS5zdG9yZTtcblxubWV0YWRhdGEuZXhwKHsgZGVsZXRlTWV0YWRhdGE6IGZ1bmN0aW9uIGRlbGV0ZU1ldGFkYXRhKG1ldGFkYXRhS2V5LCB0YXJnZXQgLyogLCB0YXJnZXRLZXkgKi8pIHtcbiAgdmFyIHRhcmdldEtleSA9IGFyZ3VtZW50cy5sZW5ndGggPCAzID8gdW5kZWZpbmVkIDogdG9NZXRhS2V5KGFyZ3VtZW50c1syXSk7XG4gIHZhciBtZXRhZGF0YU1hcCA9IGdldE9yQ3JlYXRlTWV0YWRhdGFNYXAoYW5PYmplY3QodGFyZ2V0KSwgdGFyZ2V0S2V5LCBmYWxzZSk7XG4gIGlmIChtZXRhZGF0YU1hcCA9PT0gdW5kZWZpbmVkIHx8ICFtZXRhZGF0YU1hcFsnZGVsZXRlJ10obWV0YWRhdGFLZXkpKSByZXR1cm4gZmFsc2U7XG4gIGlmIChtZXRhZGF0YU1hcC5zaXplKSByZXR1cm4gdHJ1ZTtcbiAgdmFyIHRhcmdldE1ldGFkYXRhID0gc3RvcmUuZ2V0KHRhcmdldCk7XG4gIHRhcmdldE1ldGFkYXRhWydkZWxldGUnXSh0YXJnZXRLZXkpO1xuICByZXR1cm4gISF0YXJnZXRNZXRhZGF0YS5zaXplIHx8IHN0b3JlWydkZWxldGUnXSh0YXJnZXQpO1xufSB9KTtcbiIsInZhciBTZXQgPSByZXF1aXJlKCcuL2VzNi5zZXQnKTtcbnZhciBmcm9tID0gcmVxdWlyZSgnLi9fYXJyYXktZnJvbS1pdGVyYWJsZScpO1xudmFyIG1ldGFkYXRhID0gcmVxdWlyZSgnLi9fbWV0YWRhdGEnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGdldFByb3RvdHlwZU9mID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdwbycpO1xudmFyIG9yZGluYXJ5T3duTWV0YWRhdGFLZXlzID0gbWV0YWRhdGEua2V5cztcbnZhciB0b01ldGFLZXkgPSBtZXRhZGF0YS5rZXk7XG5cbnZhciBvcmRpbmFyeU1ldGFkYXRhS2V5cyA9IGZ1bmN0aW9uIChPLCBQKSB7XG4gIHZhciBvS2V5cyA9IG9yZGluYXJ5T3duTWV0YWRhdGFLZXlzKE8sIFApO1xuICB2YXIgcGFyZW50ID0gZ2V0UHJvdG90eXBlT2YoTyk7XG4gIGlmIChwYXJlbnQgPT09IG51bGwpIHJldHVybiBvS2V5cztcbiAgdmFyIHBLZXlzID0gb3JkaW5hcnlNZXRhZGF0YUtleXMocGFyZW50LCBQKTtcbiAgcmV0dXJuIHBLZXlzLmxlbmd0aCA/IG9LZXlzLmxlbmd0aCA/IGZyb20obmV3IFNldChvS2V5cy5jb25jYXQocEtleXMpKSkgOiBwS2V5cyA6IG9LZXlzO1xufTtcblxubWV0YWRhdGEuZXhwKHsgZ2V0TWV0YWRhdGFLZXlzOiBmdW5jdGlvbiBnZXRNZXRhZGF0YUtleXModGFyZ2V0IC8qICwgdGFyZ2V0S2V5ICovKSB7XG4gIHJldHVybiBvcmRpbmFyeU1ldGFkYXRhS2V5cyhhbk9iamVjdCh0YXJnZXQpLCBhcmd1bWVudHMubGVuZ3RoIDwgMiA/IHVuZGVmaW5lZCA6IHRvTWV0YUtleShhcmd1bWVudHNbMV0pKTtcbn0gfSk7XG4iLCJ2YXIgbWV0YWRhdGEgPSByZXF1aXJlKCcuL19tZXRhZGF0YScpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgb3JkaW5hcnlIYXNPd25NZXRhZGF0YSA9IG1ldGFkYXRhLmhhcztcbnZhciBvcmRpbmFyeUdldE93bk1ldGFkYXRhID0gbWV0YWRhdGEuZ2V0O1xudmFyIHRvTWV0YUtleSA9IG1ldGFkYXRhLmtleTtcblxudmFyIG9yZGluYXJ5R2V0TWV0YWRhdGEgPSBmdW5jdGlvbiAoTWV0YWRhdGFLZXksIE8sIFApIHtcbiAgdmFyIGhhc093biA9IG9yZGluYXJ5SGFzT3duTWV0YWRhdGEoTWV0YWRhdGFLZXksIE8sIFApO1xuICBpZiAoaGFzT3duKSByZXR1cm4gb3JkaW5hcnlHZXRPd25NZXRhZGF0YShNZXRhZGF0YUtleSwgTywgUCk7XG4gIHZhciBwYXJlbnQgPSBnZXRQcm90b3R5cGVPZihPKTtcbiAgcmV0dXJuIHBhcmVudCAhPT0gbnVsbCA/IG9yZGluYXJ5R2V0TWV0YWRhdGEoTWV0YWRhdGFLZXksIHBhcmVudCwgUCkgOiB1bmRlZmluZWQ7XG59O1xuXG5tZXRhZGF0YS5leHAoeyBnZXRNZXRhZGF0YTogZnVuY3Rpb24gZ2V0TWV0YWRhdGEobWV0YWRhdGFLZXksIHRhcmdldCAvKiAsIHRhcmdldEtleSAqLykge1xuICByZXR1cm4gb3JkaW5hcnlHZXRNZXRhZGF0YShtZXRhZGF0YUtleSwgYW5PYmplY3QodGFyZ2V0KSwgYXJndW1lbnRzLmxlbmd0aCA8IDMgPyB1bmRlZmluZWQgOiB0b01ldGFLZXkoYXJndW1lbnRzWzJdKSk7XG59IH0pO1xuIiwidmFyIG1ldGFkYXRhID0gcmVxdWlyZSgnLi9fbWV0YWRhdGEnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIG9yZGluYXJ5T3duTWV0YWRhdGFLZXlzID0gbWV0YWRhdGEua2V5cztcbnZhciB0b01ldGFLZXkgPSBtZXRhZGF0YS5rZXk7XG5cbm1ldGFkYXRhLmV4cCh7IGdldE93bk1ldGFkYXRhS2V5czogZnVuY3Rpb24gZ2V0T3duTWV0YWRhdGFLZXlzKHRhcmdldCAvKiAsIHRhcmdldEtleSAqLykge1xuICByZXR1cm4gb3JkaW5hcnlPd25NZXRhZGF0YUtleXMoYW5PYmplY3QodGFyZ2V0KSwgYXJndW1lbnRzLmxlbmd0aCA8IDIgPyB1bmRlZmluZWQgOiB0b01ldGFLZXkoYXJndW1lbnRzWzFdKSk7XG59IH0pO1xuIiwidmFyIG1ldGFkYXRhID0gcmVxdWlyZSgnLi9fbWV0YWRhdGEnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIG9yZGluYXJ5R2V0T3duTWV0YWRhdGEgPSBtZXRhZGF0YS5nZXQ7XG52YXIgdG9NZXRhS2V5ID0gbWV0YWRhdGEua2V5O1xuXG5tZXRhZGF0YS5leHAoeyBnZXRPd25NZXRhZGF0YTogZnVuY3Rpb24gZ2V0T3duTWV0YWRhdGEobWV0YWRhdGFLZXksIHRhcmdldCAvKiAsIHRhcmdldEtleSAqLykge1xuICByZXR1cm4gb3JkaW5hcnlHZXRPd25NZXRhZGF0YShtZXRhZGF0YUtleSwgYW5PYmplY3QodGFyZ2V0KVxuICAgICwgYXJndW1lbnRzLmxlbmd0aCA8IDMgPyB1bmRlZmluZWQgOiB0b01ldGFLZXkoYXJndW1lbnRzWzJdKSk7XG59IH0pO1xuIiwidmFyIG1ldGFkYXRhID0gcmVxdWlyZSgnLi9fbWV0YWRhdGEnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGdldFByb3RvdHlwZU9mID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdwbycpO1xudmFyIG9yZGluYXJ5SGFzT3duTWV0YWRhdGEgPSBtZXRhZGF0YS5oYXM7XG52YXIgdG9NZXRhS2V5ID0gbWV0YWRhdGEua2V5O1xuXG52YXIgb3JkaW5hcnlIYXNNZXRhZGF0YSA9IGZ1bmN0aW9uIChNZXRhZGF0YUtleSwgTywgUCkge1xuICB2YXIgaGFzT3duID0gb3JkaW5hcnlIYXNPd25NZXRhZGF0YShNZXRhZGF0YUtleSwgTywgUCk7XG4gIGlmIChoYXNPd24pIHJldHVybiB0cnVlO1xuICB2YXIgcGFyZW50ID0gZ2V0UHJvdG90eXBlT2YoTyk7XG4gIHJldHVybiBwYXJlbnQgIT09IG51bGwgPyBvcmRpbmFyeUhhc01ldGFkYXRhKE1ldGFkYXRhS2V5LCBwYXJlbnQsIFApIDogZmFsc2U7XG59O1xuXG5tZXRhZGF0YS5leHAoeyBoYXNNZXRhZGF0YTogZnVuY3Rpb24gaGFzTWV0YWRhdGEobWV0YWRhdGFLZXksIHRhcmdldCAvKiAsIHRhcmdldEtleSAqLykge1xuICByZXR1cm4gb3JkaW5hcnlIYXNNZXRhZGF0YShtZXRhZGF0YUtleSwgYW5PYmplY3QodGFyZ2V0KSwgYXJndW1lbnRzLmxlbmd0aCA8IDMgPyB1bmRlZmluZWQgOiB0b01ldGFLZXkoYXJndW1lbnRzWzJdKSk7XG59IH0pO1xuIiwidmFyIG1ldGFkYXRhID0gcmVxdWlyZSgnLi9fbWV0YWRhdGEnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIG9yZGluYXJ5SGFzT3duTWV0YWRhdGEgPSBtZXRhZGF0YS5oYXM7XG52YXIgdG9NZXRhS2V5ID0gbWV0YWRhdGEua2V5O1xuXG5tZXRhZGF0YS5leHAoeyBoYXNPd25NZXRhZGF0YTogZnVuY3Rpb24gaGFzT3duTWV0YWRhdGEobWV0YWRhdGFLZXksIHRhcmdldCAvKiAsIHRhcmdldEtleSAqLykge1xuICByZXR1cm4gb3JkaW5hcnlIYXNPd25NZXRhZGF0YShtZXRhZGF0YUtleSwgYW5PYmplY3QodGFyZ2V0KVxuICAgICwgYXJndW1lbnRzLmxlbmd0aCA8IDMgPyB1bmRlZmluZWQgOiB0b01ldGFLZXkoYXJndW1lbnRzWzJdKSk7XG59IH0pO1xuIiwidmFyICRtZXRhZGF0YSA9IHJlcXVpcmUoJy4vX21ldGFkYXRhJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG52YXIgdG9NZXRhS2V5ID0gJG1ldGFkYXRhLmtleTtcbnZhciBvcmRpbmFyeURlZmluZU93bk1ldGFkYXRhID0gJG1ldGFkYXRhLnNldDtcblxuJG1ldGFkYXRhLmV4cCh7IG1ldGFkYXRhOiBmdW5jdGlvbiBtZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xuICByZXR1cm4gZnVuY3Rpb24gZGVjb3JhdG9yKHRhcmdldCwgdGFyZ2V0S2V5KSB7XG4gICAgb3JkaW5hcnlEZWZpbmVPd25NZXRhZGF0YShcbiAgICAgIG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlLFxuICAgICAgKHRhcmdldEtleSAhPT0gdW5kZWZpbmVkID8gYW5PYmplY3QgOiBhRnVuY3Rpb24pKHRhcmdldCksXG4gICAgICB0b01ldGFLZXkodGFyZ2V0S2V5KVxuICAgICk7XG4gIH07XG59IH0pO1xuIiwiLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9wcm9wb3NhbC1zZXRtYXAtb2Zmcm9tLyNzZWMtc2V0LmZyb21cbnJlcXVpcmUoJy4vX3NldC1jb2xsZWN0aW9uLWZyb20nKSgnU2V0Jyk7XG4iLCIvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLXNldG1hcC1vZmZyb20vI3NlYy1zZXQub2ZcbnJlcXVpcmUoJy4vX3NldC1jb2xsZWN0aW9uLW9mJykoJ1NldCcpO1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL0RhdmlkQnJ1YW50L01hcC1TZXQucHJvdG90eXBlLnRvSlNPTlxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LlIsICdTZXQnLCB7IHRvSlNPTjogcmVxdWlyZSgnLi9fY29sbGVjdGlvbi10by1qc29uJykoJ1NldCcpIH0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL21hdGhpYXNieW5lbnMvU3RyaW5nLnByb3RvdHlwZS5hdFxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkYXQgPSByZXF1aXJlKCcuL19zdHJpbmctYXQnKSh0cnVlKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAsICdTdHJpbmcnLCB7XG4gIGF0OiBmdW5jdGlvbiBhdChwb3MpIHtcbiAgICByZXR1cm4gJGF0KHRoaXMsIHBvcyk7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9TdHJpbmcucHJvdG90eXBlLm1hdGNoQWxsL1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgaXNSZWdFeHAgPSByZXF1aXJlKCcuL19pcy1yZWdleHAnKTtcbnZhciBnZXRGbGFncyA9IHJlcXVpcmUoJy4vX2ZsYWdzJyk7XG52YXIgUmVnRXhwUHJvdG8gPSBSZWdFeHAucHJvdG90eXBlO1xuXG52YXIgJFJlZ0V4cFN0cmluZ0l0ZXJhdG9yID0gZnVuY3Rpb24gKHJlZ2V4cCwgc3RyaW5nKSB7XG4gIHRoaXMuX3IgPSByZWdleHA7XG4gIHRoaXMuX3MgPSBzdHJpbmc7XG59O1xuXG5yZXF1aXJlKCcuL19pdGVyLWNyZWF0ZScpKCRSZWdFeHBTdHJpbmdJdGVyYXRvciwgJ1JlZ0V4cCBTdHJpbmcnLCBmdW5jdGlvbiBuZXh0KCkge1xuICB2YXIgbWF0Y2ggPSB0aGlzLl9yLmV4ZWModGhpcy5fcyk7XG4gIHJldHVybiB7IHZhbHVlOiBtYXRjaCwgZG9uZTogbWF0Y2ggPT09IG51bGwgfTtcbn0pO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ1N0cmluZycsIHtcbiAgbWF0Y2hBbGw6IGZ1bmN0aW9uIG1hdGNoQWxsKHJlZ2V4cCkge1xuICAgIGRlZmluZWQodGhpcyk7XG4gICAgaWYgKCFpc1JlZ0V4cChyZWdleHApKSB0aHJvdyBUeXBlRXJyb3IocmVnZXhwICsgJyBpcyBub3QgYSByZWdleHAhJyk7XG4gICAgdmFyIFMgPSBTdHJpbmcodGhpcyk7XG4gICAgdmFyIGZsYWdzID0gJ2ZsYWdzJyBpbiBSZWdFeHBQcm90byA/IFN0cmluZyhyZWdleHAuZmxhZ3MpIDogZ2V0RmxhZ3MuY2FsbChyZWdleHApO1xuICAgIHZhciByeCA9IG5ldyBSZWdFeHAocmVnZXhwLnNvdXJjZSwgfmZsYWdzLmluZGV4T2YoJ2cnKSA/IGZsYWdzIDogJ2cnICsgZmxhZ3MpO1xuICAgIHJ4Lmxhc3RJbmRleCA9IHRvTGVuZ3RoKHJlZ2V4cC5sYXN0SW5kZXgpO1xuICAgIHJldHVybiBuZXcgJFJlZ0V4cFN0cmluZ0l0ZXJhdG9yKHJ4LCBTKTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1zdHJpbmctcGFkLXN0YXJ0LWVuZFxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkcGFkID0gcmVxdWlyZSgnLi9fc3RyaW5nLXBhZCcpO1xudmFyIHVzZXJBZ2VudCA9IHJlcXVpcmUoJy4vX3VzZXItYWdlbnQnKTtcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzI4MFxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAvVmVyc2lvblxcLzEwXFwuXFxkKyhcXC5cXGQrKT8gU2FmYXJpXFwvLy50ZXN0KHVzZXJBZ2VudCksICdTdHJpbmcnLCB7XG4gIHBhZEVuZDogZnVuY3Rpb24gcGFkRW5kKG1heExlbmd0aCAvKiAsIGZpbGxTdHJpbmcgPSAnICcgKi8pIHtcbiAgICByZXR1cm4gJHBhZCh0aGlzLCBtYXhMZW5ndGgsIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkLCBmYWxzZSk7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtc3RyaW5nLXBhZC1zdGFydC1lbmRcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHBhZCA9IHJlcXVpcmUoJy4vX3N0cmluZy1wYWQnKTtcbnZhciB1c2VyQWdlbnQgPSByZXF1aXJlKCcuL191c2VyLWFnZW50Jyk7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy8yODBcbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogL1ZlcnNpb25cXC8xMFxcLlxcZCsoXFwuXFxkKyk/IFNhZmFyaVxcLy8udGVzdCh1c2VyQWdlbnQpLCAnU3RyaW5nJywge1xuICBwYWRTdGFydDogZnVuY3Rpb24gcGFkU3RhcnQobWF4TGVuZ3RoIC8qICwgZmlsbFN0cmluZyA9ICcgJyAqLykge1xuICAgIHJldHVybiAkcGFkKHRoaXMsIG1heExlbmd0aCwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQsIHRydWUpO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zZWJtYXJrYmFnZS9lY21hc2NyaXB0LXN0cmluZy1sZWZ0LXJpZ2h0LXRyaW1cbnJlcXVpcmUoJy4vX3N0cmluZy10cmltJykoJ3RyaW1MZWZ0JywgZnVuY3Rpb24gKCR0cmltKSB7XG4gIHJldHVybiBmdW5jdGlvbiB0cmltTGVmdCgpIHtcbiAgICByZXR1cm4gJHRyaW0odGhpcywgMSk7XG4gIH07XG59LCAndHJpbVN0YXJ0Jyk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2VibWFya2JhZ2UvZWNtYXNjcmlwdC1zdHJpbmctbGVmdC1yaWdodC10cmltXG5yZXF1aXJlKCcuL19zdHJpbmctdHJpbScpKCd0cmltUmlnaHQnLCBmdW5jdGlvbiAoJHRyaW0pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHRyaW1SaWdodCgpIHtcbiAgICByZXR1cm4gJHRyaW0odGhpcywgMik7XG4gIH07XG59LCAndHJpbUVuZCcpO1xuIiwicmVxdWlyZSgnLi9fd2tzLWRlZmluZScpKCdhc3luY0l0ZXJhdG9yJyk7XG4iLCJyZXF1aXJlKCcuL193a3MtZGVmaW5lJykoJ29ic2VydmFibGUnKTtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLWdsb2JhbFxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdTeXN0ZW0nLCB7IGdsb2JhbDogcmVxdWlyZSgnLi9fZ2xvYmFsJykgfSk7XG4iLCIvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLXNldG1hcC1vZmZyb20vI3NlYy13ZWFrbWFwLmZyb21cbnJlcXVpcmUoJy4vX3NldC1jb2xsZWN0aW9uLWZyb20nKSgnV2Vha01hcCcpO1xuIiwiLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9wcm9wb3NhbC1zZXRtYXAtb2Zmcm9tLyNzZWMtd2Vha21hcC5vZlxucmVxdWlyZSgnLi9fc2V0LWNvbGxlY3Rpb24tb2YnKSgnV2Vha01hcCcpO1xuIiwiLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9wcm9wb3NhbC1zZXRtYXAtb2Zmcm9tLyNzZWMtd2Vha3NldC5mcm9tXG5yZXF1aXJlKCcuL19zZXQtY29sbGVjdGlvbi1mcm9tJykoJ1dlYWtTZXQnKTtcbiIsIi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vcHJvcG9zYWwtc2V0bWFwLW9mZnJvbS8jc2VjLXdlYWtzZXQub2ZcbnJlcXVpcmUoJy4vX3NldC1jb2xsZWN0aW9uLW9mJykoJ1dlYWtTZXQnKTtcbiIsInZhciAkaXRlcmF0b3JzID0gcmVxdWlyZSgnLi9lczYuYXJyYXkuaXRlcmF0b3InKTtcbnZhciBnZXRLZXlzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWtleXMnKTtcbnZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lJyk7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbnZhciB3a3MgPSByZXF1aXJlKCcuL193a3MnKTtcbnZhciBJVEVSQVRPUiA9IHdrcygnaXRlcmF0b3InKTtcbnZhciBUT19TVFJJTkdfVEFHID0gd2tzKCd0b1N0cmluZ1RhZycpO1xudmFyIEFycmF5VmFsdWVzID0gSXRlcmF0b3JzLkFycmF5O1xuXG52YXIgRE9NSXRlcmFibGVzID0ge1xuICBDU1NSdWxlTGlzdDogdHJ1ZSwgLy8gVE9ETzogTm90IHNwZWMgY29tcGxpYW50LCBzaG91bGQgYmUgZmFsc2UuXG4gIENTU1N0eWxlRGVjbGFyYXRpb246IGZhbHNlLFxuICBDU1NWYWx1ZUxpc3Q6IGZhbHNlLFxuICBDbGllbnRSZWN0TGlzdDogZmFsc2UsXG4gIERPTVJlY3RMaXN0OiBmYWxzZSxcbiAgRE9NU3RyaW5nTGlzdDogZmFsc2UsXG4gIERPTVRva2VuTGlzdDogdHJ1ZSxcbiAgRGF0YVRyYW5zZmVySXRlbUxpc3Q6IGZhbHNlLFxuICBGaWxlTGlzdDogZmFsc2UsXG4gIEhUTUxBbGxDb2xsZWN0aW9uOiBmYWxzZSxcbiAgSFRNTENvbGxlY3Rpb246IGZhbHNlLFxuICBIVE1MRm9ybUVsZW1lbnQ6IGZhbHNlLFxuICBIVE1MU2VsZWN0RWxlbWVudDogZmFsc2UsXG4gIE1lZGlhTGlzdDogdHJ1ZSwgLy8gVE9ETzogTm90IHNwZWMgY29tcGxpYW50LCBzaG91bGQgYmUgZmFsc2UuXG4gIE1pbWVUeXBlQXJyYXk6IGZhbHNlLFxuICBOYW1lZE5vZGVNYXA6IGZhbHNlLFxuICBOb2RlTGlzdDogdHJ1ZSxcbiAgUGFpbnRSZXF1ZXN0TGlzdDogZmFsc2UsXG4gIFBsdWdpbjogZmFsc2UsXG4gIFBsdWdpbkFycmF5OiBmYWxzZSxcbiAgU1ZHTGVuZ3RoTGlzdDogZmFsc2UsXG4gIFNWR051bWJlckxpc3Q6IGZhbHNlLFxuICBTVkdQYXRoU2VnTGlzdDogZmFsc2UsXG4gIFNWR1BvaW50TGlzdDogZmFsc2UsXG4gIFNWR1N0cmluZ0xpc3Q6IGZhbHNlLFxuICBTVkdUcmFuc2Zvcm1MaXN0OiBmYWxzZSxcbiAgU291cmNlQnVmZmVyTGlzdDogZmFsc2UsXG4gIFN0eWxlU2hlZXRMaXN0OiB0cnVlLCAvLyBUT0RPOiBOb3Qgc3BlYyBjb21wbGlhbnQsIHNob3VsZCBiZSBmYWxzZS5cbiAgVGV4dFRyYWNrQ3VlTGlzdDogZmFsc2UsXG4gIFRleHRUcmFja0xpc3Q6IGZhbHNlLFxuICBUb3VjaExpc3Q6IGZhbHNlXG59O1xuXG5mb3IgKHZhciBjb2xsZWN0aW9ucyA9IGdldEtleXMoRE9NSXRlcmFibGVzKSwgaSA9IDA7IGkgPCBjb2xsZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICB2YXIgTkFNRSA9IGNvbGxlY3Rpb25zW2ldO1xuICB2YXIgZXhwbGljaXQgPSBET01JdGVyYWJsZXNbTkFNRV07XG4gIHZhciBDb2xsZWN0aW9uID0gZ2xvYmFsW05BTUVdO1xuICB2YXIgcHJvdG8gPSBDb2xsZWN0aW9uICYmIENvbGxlY3Rpb24ucHJvdG90eXBlO1xuICB2YXIga2V5O1xuICBpZiAocHJvdG8pIHtcbiAgICBpZiAoIXByb3RvW0lURVJBVE9SXSkgaGlkZShwcm90bywgSVRFUkFUT1IsIEFycmF5VmFsdWVzKTtcbiAgICBpZiAoIXByb3RvW1RPX1NUUklOR19UQUddKSBoaWRlKHByb3RvLCBUT19TVFJJTkdfVEFHLCBOQU1FKTtcbiAgICBJdGVyYXRvcnNbTkFNRV0gPSBBcnJheVZhbHVlcztcbiAgICBpZiAoZXhwbGljaXQpIGZvciAoa2V5IGluICRpdGVyYXRvcnMpIGlmICghcHJvdG9ba2V5XSkgcmVkZWZpbmUocHJvdG8sIGtleSwgJGl0ZXJhdG9yc1trZXldLCB0cnVlKTtcbiAgfVxufVxuIiwidmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkdGFzayA9IHJlcXVpcmUoJy4vX3Rhc2snKTtcbiRleHBvcnQoJGV4cG9ydC5HICsgJGV4cG9ydC5CLCB7XG4gIHNldEltbWVkaWF0ZTogJHRhc2suc2V0LFxuICBjbGVhckltbWVkaWF0ZTogJHRhc2suY2xlYXJcbn0pO1xuIiwiLy8gaWU5LSBzZXRUaW1lb3V0ICYgc2V0SW50ZXJ2YWwgYWRkaXRpb25hbCBwYXJhbWV0ZXJzIGZpeFxudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB1c2VyQWdlbnQgPSByZXF1aXJlKCcuL191c2VyLWFnZW50Jyk7XG52YXIgc2xpY2UgPSBbXS5zbGljZTtcbnZhciBNU0lFID0gL01TSUUgLlxcLi8udGVzdCh1c2VyQWdlbnQpOyAvLyA8LSBkaXJ0eSBpZTktIGNoZWNrXG52YXIgd3JhcCA9IGZ1bmN0aW9uIChzZXQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChmbiwgdGltZSAvKiAsIC4uLmFyZ3MgKi8pIHtcbiAgICB2YXIgYm91bmRBcmdzID0gYXJndW1lbnRzLmxlbmd0aCA+IDI7XG4gICAgdmFyIGFyZ3MgPSBib3VuZEFyZ3MgPyBzbGljZS5jYWxsKGFyZ3VtZW50cywgMikgOiBmYWxzZTtcbiAgICByZXR1cm4gc2V0KGJvdW5kQXJncyA/IGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuY1xuICAgICAgKHR5cGVvZiBmbiA9PSAnZnVuY3Rpb24nID8gZm4gOiBGdW5jdGlvbihmbikpLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH0gOiBmbiwgdGltZSk7XG4gIH07XG59O1xuJGV4cG9ydCgkZXhwb3J0LkcgKyAkZXhwb3J0LkIgKyAkZXhwb3J0LkYgKiBNU0lFLCB7XG4gIHNldFRpbWVvdXQ6IHdyYXAoZ2xvYmFsLnNldFRpbWVvdXQpLFxuICBzZXRJbnRlcnZhbDogd3JhcChnbG9iYWwuc2V0SW50ZXJ2YWwpXG59KTtcbiIsInJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3ltYm9sJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm9iamVjdC5jcmVhdGUnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYub2JqZWN0LmRlZmluZS1wcm9wZXJ0eScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5vYmplY3QuZGVmaW5lLXByb3BlcnRpZXMnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYub2JqZWN0LmdldC1vd24tcHJvcGVydHktZGVzY3JpcHRvcicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5vYmplY3QuZ2V0LXByb3RvdHlwZS1vZicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5vYmplY3Qua2V5cycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5vYmplY3QuZ2V0LW93bi1wcm9wZXJ0eS1uYW1lcycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5vYmplY3QuZnJlZXplJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm9iamVjdC5zZWFsJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm9iamVjdC5wcmV2ZW50LWV4dGVuc2lvbnMnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYub2JqZWN0LmlzLWZyb3plbicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5vYmplY3QuaXMtc2VhbGVkJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm9iamVjdC5pcy1leHRlbnNpYmxlJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm9iamVjdC5hc3NpZ24nKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYub2JqZWN0LmlzJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm9iamVjdC5zZXQtcHJvdG90eXBlLW9mJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm9iamVjdC50by1zdHJpbmcnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuZnVuY3Rpb24uYmluZCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5mdW5jdGlvbi5uYW1lJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmZ1bmN0aW9uLmhhcy1pbnN0YW5jZScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5wYXJzZS1pbnQnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYucGFyc2UtZmxvYXQnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYubnVtYmVyLmNvbnN0cnVjdG9yJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm51bWJlci50by1maXhlZCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5udW1iZXIudG8tcHJlY2lzaW9uJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm51bWJlci5lcHNpbG9uJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm51bWJlci5pcy1maW5pdGUnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYubnVtYmVyLmlzLWludGVnZXInKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYubnVtYmVyLmlzLW5hbicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5udW1iZXIuaXMtc2FmZS1pbnRlZ2VyJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm51bWJlci5tYXgtc2FmZS1pbnRlZ2VyJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm51bWJlci5taW4tc2FmZS1pbnRlZ2VyJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm51bWJlci5wYXJzZS1mbG9hdCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5udW1iZXIucGFyc2UtaW50Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm1hdGguYWNvc2gnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYubWF0aC5hc2luaCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5tYXRoLmF0YW5oJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm1hdGguY2JydCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5tYXRoLmNsejMyJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm1hdGguY29zaCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5tYXRoLmV4cG0xJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm1hdGguZnJvdW5kJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm1hdGguaHlwb3QnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYubWF0aC5pbXVsJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm1hdGgubG9nMTAnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYubWF0aC5sb2cxcCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5tYXRoLmxvZzInKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYubWF0aC5zaWduJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2Lm1hdGguc2luaCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5tYXRoLnRhbmgnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYubWF0aC50cnVuYycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5zdHJpbmcuZnJvbS1jb2RlLXBvaW50Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5yYXcnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3RyaW5nLnRyaW0nKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5jb2RlLXBvaW50LWF0Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5lbmRzLXdpdGgnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3RyaW5nLmluY2x1ZGVzJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5yZXBlYXQnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5hbmNob3InKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3RyaW5nLmJpZycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5zdHJpbmcuYmxpbmsnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3RyaW5nLmJvbGQnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3RyaW5nLmZpeGVkJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5mb250Y29sb3InKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3RyaW5nLmZvbnRzaXplJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5pdGFsaWNzJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5saW5rJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5zbWFsbCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5zdHJpbmcuc3RyaWtlJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnN0cmluZy5zdWInKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuc3RyaW5nLnN1cCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5kYXRlLm5vdycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5kYXRlLnRvLWpzb24nKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuZGF0ZS50by1pc28tc3RyaW5nJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmRhdGUudG8tc3RyaW5nJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmRhdGUudG8tcHJpbWl0aXZlJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmFycmF5LmlzLWFycmF5Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmFycmF5LmZyb20nKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuYXJyYXkub2YnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuYXJyYXkuam9pbicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5hcnJheS5zbGljZScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5hcnJheS5zb3J0Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmFycmF5LmZvci1lYWNoJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmFycmF5Lm1hcCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5hcnJheS5maWx0ZXInKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuYXJyYXkuc29tZScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5hcnJheS5ldmVyeScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5hcnJheS5yZWR1Y2UnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuYXJyYXkucmVkdWNlLXJpZ2h0Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmFycmF5LmluZGV4LW9mJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmFycmF5Lmxhc3QtaW5kZXgtb2YnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuYXJyYXkuY29weS13aXRoaW4nKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuYXJyYXkuZmlsbCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5hcnJheS5maW5kJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LmFycmF5LmZpbmQtaW5kZXgnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYuYXJyYXkuc3BlY2llcycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5hcnJheS5pdGVyYXRvcicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5yZWdleHAuY29uc3RydWN0b3InKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYucmVnZXhwLmV4ZWMnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYucmVnZXhwLnRvLXN0cmluZycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5yZWdleHAuZmxhZ3MnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYucmVnZXhwLm1hdGNoJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnJlZ2V4cC5yZXBsYWNlJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnJlZ2V4cC5zZWFyY2gnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYucmVnZXhwLnNwbGl0Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnByb21pc2UnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYubWFwJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnNldCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi53ZWFrLW1hcCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi53ZWFrLXNldCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi50eXBlZC5hcnJheS1idWZmZXInKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYudHlwZWQuZGF0YS12aWV3Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnR5cGVkLmludDgtYXJyYXknKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYudHlwZWQudWludDgtYXJyYXknKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYudHlwZWQudWludDgtY2xhbXBlZC1hcnJheScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi50eXBlZC5pbnQxNi1hcnJheScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi50eXBlZC51aW50MTYtYXJyYXknKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYudHlwZWQuaW50MzItYXJyYXknKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYudHlwZWQudWludDMyLWFycmF5Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnR5cGVkLmZsb2F0MzItYXJyYXknKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYudHlwZWQuZmxvYXQ2NC1hcnJheScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5yZWZsZWN0LmFwcGx5Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnJlZmxlY3QuY29uc3RydWN0Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnJlZmxlY3QuZGVmaW5lLXByb3BlcnR5Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnJlZmxlY3QuZGVsZXRlLXByb3BlcnR5Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnJlZmxlY3QuZW51bWVyYXRlJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnJlZmxlY3QuZ2V0Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnJlZmxlY3QuZ2V0LW93bi1wcm9wZXJ0eS1kZXNjcmlwdG9yJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM2LnJlZmxlY3QuZ2V0LXByb3RvdHlwZS1vZicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5yZWZsZWN0LmhhcycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5yZWZsZWN0LmlzLWV4dGVuc2libGUnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczYucmVmbGVjdC5vd24ta2V5cycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5yZWZsZWN0LnByZXZlbnQtZXh0ZW5zaW9ucycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5yZWZsZWN0LnNldCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNi5yZWZsZWN0LnNldC1wcm90b3R5cGUtb2YnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcuYXJyYXkuaW5jbHVkZXMnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcuYXJyYXkuZmxhdC1tYXAnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcuYXJyYXkuZmxhdHRlbicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5zdHJpbmcuYXQnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcuc3RyaW5nLnBhZC1zdGFydCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5zdHJpbmcucGFkLWVuZCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5zdHJpbmcudHJpbS1sZWZ0Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3LnN0cmluZy50cmltLXJpZ2h0Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3LnN0cmluZy5tYXRjaC1hbGwnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcuc3ltYm9sLmFzeW5jLWl0ZXJhdG9yJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3LnN5bWJvbC5vYnNlcnZhYmxlJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3Lm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3JzJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3Lm9iamVjdC52YWx1ZXMnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcub2JqZWN0LmVudHJpZXMnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcub2JqZWN0LmRlZmluZS1nZXR0ZXInKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcub2JqZWN0LmRlZmluZS1zZXR0ZXInKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcub2JqZWN0Lmxvb2t1cC1nZXR0ZXInKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcub2JqZWN0Lmxvb2t1cC1zZXR0ZXInKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcubWFwLnRvLWpzb24nKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcuc2V0LnRvLWpzb24nKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcubWFwLm9mJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3LnNldC5vZicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy53ZWFrLW1hcC5vZicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy53ZWFrLXNldC5vZicpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5tYXAuZnJvbScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5zZXQuZnJvbScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy53ZWFrLW1hcC5mcm9tJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3LndlYWstc2V0LmZyb20nKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcuZ2xvYmFsJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3LnN5c3RlbS5nbG9iYWwnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcuZXJyb3IuaXMtZXJyb3InKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcubWF0aC5jbGFtcCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5tYXRoLmRlZy1wZXItcmFkJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3Lm1hdGguZGVncmVlcycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5tYXRoLmZzY2FsZScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5tYXRoLmlhZGRoJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3Lm1hdGguaXN1YmgnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcubWF0aC5pbXVsaCcpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5tYXRoLnJhZC1wZXItZGVnJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3Lm1hdGgucmFkaWFucycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5tYXRoLnNjYWxlJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3Lm1hdGgudW11bGgnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcubWF0aC5zaWduYml0Jyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3LnByb21pc2UuZmluYWxseScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5wcm9taXNlLnRyeScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5yZWZsZWN0LmRlZmluZS1tZXRhZGF0YScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5yZWZsZWN0LmRlbGV0ZS1tZXRhZGF0YScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5yZWZsZWN0LmdldC1tZXRhZGF0YScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5yZWZsZWN0LmdldC1tZXRhZGF0YS1rZXlzJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3LnJlZmxlY3QuZ2V0LW93bi1tZXRhZGF0YScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5yZWZsZWN0LmdldC1vd24tbWV0YWRhdGEta2V5cycpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5yZWZsZWN0Lmhhcy1tZXRhZGF0YScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5yZWZsZWN0Lmhhcy1vd24tbWV0YWRhdGEnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy9lczcucmVmbGVjdC5tZXRhZGF0YScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL2VzNy5hc2FwJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvZXM3Lm9ic2VydmFibGUnKTtcbnJlcXVpcmUoJy4vbW9kdWxlcy93ZWIudGltZXJzJyk7XG5yZXF1aXJlKCcuL21vZHVsZXMvd2ViLmltbWVkaWF0ZScpO1xucmVxdWlyZSgnLi9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9tb2R1bGVzL19jb3JlJyk7XG4iLCIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxNCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBodHRwczovL3Jhdy5naXRodWIuY29tL2ZhY2Vib29rL3JlZ2VuZXJhdG9yL21hc3Rlci9MSUNFTlNFIGZpbGUuIEFuXG4gKiBhZGRpdGlvbmFsIGdyYW50IG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW5cbiAqIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqL1xuXG4hKGZ1bmN0aW9uKGdsb2JhbCkge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICB2YXIgT3AgPSBPYmplY3QucHJvdG90eXBlO1xuICB2YXIgaGFzT3duID0gT3AuaGFzT3duUHJvcGVydHk7XG4gIHZhciB1bmRlZmluZWQ7IC8vIE1vcmUgY29tcHJlc3NpYmxlIHRoYW4gdm9pZCAwLlxuICB2YXIgJFN5bWJvbCA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiA/IFN5bWJvbCA6IHt9O1xuICB2YXIgaXRlcmF0b3JTeW1ib2wgPSAkU3ltYm9sLml0ZXJhdG9yIHx8IFwiQEBpdGVyYXRvclwiO1xuICB2YXIgYXN5bmNJdGVyYXRvclN5bWJvbCA9ICRTeW1ib2wuYXN5bmNJdGVyYXRvciB8fCBcIkBAYXN5bmNJdGVyYXRvclwiO1xuICB2YXIgdG9TdHJpbmdUYWdTeW1ib2wgPSAkU3ltYm9sLnRvU3RyaW5nVGFnIHx8IFwiQEB0b1N0cmluZ1RhZ1wiO1xuXG4gIHZhciBpbk1vZHVsZSA9IHR5cGVvZiBtb2R1bGUgPT09IFwib2JqZWN0XCI7XG4gIHZhciBydW50aW1lID0gZ2xvYmFsLnJlZ2VuZXJhdG9yUnVudGltZTtcbiAgaWYgKHJ1bnRpbWUpIHtcbiAgICBpZiAoaW5Nb2R1bGUpIHtcbiAgICAgIC8vIElmIHJlZ2VuZXJhdG9yUnVudGltZSBpcyBkZWZpbmVkIGdsb2JhbGx5IGFuZCB3ZSdyZSBpbiBhIG1vZHVsZSxcbiAgICAgIC8vIG1ha2UgdGhlIGV4cG9ydHMgb2JqZWN0IGlkZW50aWNhbCB0byByZWdlbmVyYXRvclJ1bnRpbWUuXG4gICAgICBtb2R1bGUuZXhwb3J0cyA9IHJ1bnRpbWU7XG4gICAgfVxuICAgIC8vIERvbid0IGJvdGhlciBldmFsdWF0aW5nIHRoZSByZXN0IG9mIHRoaXMgZmlsZSBpZiB0aGUgcnVudGltZSB3YXNcbiAgICAvLyBhbHJlYWR5IGRlZmluZWQgZ2xvYmFsbHkuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gRGVmaW5lIHRoZSBydW50aW1lIGdsb2JhbGx5IChhcyBleHBlY3RlZCBieSBnZW5lcmF0ZWQgY29kZSkgYXMgZWl0aGVyXG4gIC8vIG1vZHVsZS5leHBvcnRzIChpZiB3ZSdyZSBpbiBhIG1vZHVsZSkgb3IgYSBuZXcsIGVtcHR5IG9iamVjdC5cbiAgcnVudGltZSA9IGdsb2JhbC5yZWdlbmVyYXRvclJ1bnRpbWUgPSBpbk1vZHVsZSA/IG1vZHVsZS5leHBvcnRzIDoge307XG5cbiAgZnVuY3Rpb24gd3JhcChpbm5lckZuLCBvdXRlckZuLCBzZWxmLCB0cnlMb2NzTGlzdCkge1xuICAgIC8vIElmIG91dGVyRm4gcHJvdmlkZWQgYW5kIG91dGVyRm4ucHJvdG90eXBlIGlzIGEgR2VuZXJhdG9yLCB0aGVuIG91dGVyRm4ucHJvdG90eXBlIGluc3RhbmNlb2YgR2VuZXJhdG9yLlxuICAgIHZhciBwcm90b0dlbmVyYXRvciA9IG91dGVyRm4gJiYgb3V0ZXJGbi5wcm90b3R5cGUgaW5zdGFuY2VvZiBHZW5lcmF0b3IgPyBvdXRlckZuIDogR2VuZXJhdG9yO1xuICAgIHZhciBnZW5lcmF0b3IgPSBPYmplY3QuY3JlYXRlKHByb3RvR2VuZXJhdG9yLnByb3RvdHlwZSk7XG4gICAgdmFyIGNvbnRleHQgPSBuZXcgQ29udGV4dCh0cnlMb2NzTGlzdCB8fCBbXSk7XG5cbiAgICAvLyBUaGUgLl9pbnZva2UgbWV0aG9kIHVuaWZpZXMgdGhlIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgLm5leHQsXG4gICAgLy8gLnRocm93LCBhbmQgLnJldHVybiBtZXRob2RzLlxuICAgIGdlbmVyYXRvci5faW52b2tlID0gbWFrZUludm9rZU1ldGhvZChpbm5lckZuLCBzZWxmLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBnZW5lcmF0b3I7XG4gIH1cbiAgcnVudGltZS53cmFwID0gd3JhcDtcblxuICAvLyBUcnkvY2F0Y2ggaGVscGVyIHRvIG1pbmltaXplIGRlb3B0aW1pemF0aW9ucy4gUmV0dXJucyBhIGNvbXBsZXRpb25cbiAgLy8gcmVjb3JkIGxpa2UgY29udGV4dC50cnlFbnRyaWVzW2ldLmNvbXBsZXRpb24uIFRoaXMgaW50ZXJmYWNlIGNvdWxkXG4gIC8vIGhhdmUgYmVlbiAoYW5kIHdhcyBwcmV2aW91c2x5KSBkZXNpZ25lZCB0byB0YWtlIGEgY2xvc3VyZSB0byBiZVxuICAvLyBpbnZva2VkIHdpdGhvdXQgYXJndW1lbnRzLCBidXQgaW4gYWxsIHRoZSBjYXNlcyB3ZSBjYXJlIGFib3V0IHdlXG4gIC8vIGFscmVhZHkgaGF2ZSBhbiBleGlzdGluZyBtZXRob2Qgd2Ugd2FudCB0byBjYWxsLCBzbyB0aGVyZSdzIG5vIG5lZWRcbiAgLy8gdG8gY3JlYXRlIGEgbmV3IGZ1bmN0aW9uIG9iamVjdC4gV2UgY2FuIGV2ZW4gZ2V0IGF3YXkgd2l0aCBhc3N1bWluZ1xuICAvLyB0aGUgbWV0aG9kIHRha2VzIGV4YWN0bHkgb25lIGFyZ3VtZW50LCBzaW5jZSB0aGF0IGhhcHBlbnMgdG8gYmUgdHJ1ZVxuICAvLyBpbiBldmVyeSBjYXNlLCBzbyB3ZSBkb24ndCBoYXZlIHRvIHRvdWNoIHRoZSBhcmd1bWVudHMgb2JqZWN0LiBUaGVcbiAgLy8gb25seSBhZGRpdGlvbmFsIGFsbG9jYXRpb24gcmVxdWlyZWQgaXMgdGhlIGNvbXBsZXRpb24gcmVjb3JkLCB3aGljaFxuICAvLyBoYXMgYSBzdGFibGUgc2hhcGUgYW5kIHNvIGhvcGVmdWxseSBzaG91bGQgYmUgY2hlYXAgdG8gYWxsb2NhdGUuXG4gIGZ1bmN0aW9uIHRyeUNhdGNoKGZuLCBvYmosIGFyZykge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4geyB0eXBlOiBcIm5vcm1hbFwiLCBhcmc6IGZuLmNhbGwob2JqLCBhcmcpIH07XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4geyB0eXBlOiBcInRocm93XCIsIGFyZzogZXJyIH07XG4gICAgfVxuICB9XG5cbiAgdmFyIEdlblN0YXRlU3VzcGVuZGVkU3RhcnQgPSBcInN1c3BlbmRlZFN0YXJ0XCI7XG4gIHZhciBHZW5TdGF0ZVN1c3BlbmRlZFlpZWxkID0gXCJzdXNwZW5kZWRZaWVsZFwiO1xuICB2YXIgR2VuU3RhdGVFeGVjdXRpbmcgPSBcImV4ZWN1dGluZ1wiO1xuICB2YXIgR2VuU3RhdGVDb21wbGV0ZWQgPSBcImNvbXBsZXRlZFwiO1xuXG4gIC8vIFJldHVybmluZyB0aGlzIG9iamVjdCBmcm9tIHRoZSBpbm5lckZuIGhhcyB0aGUgc2FtZSBlZmZlY3QgYXNcbiAgLy8gYnJlYWtpbmcgb3V0IG9mIHRoZSBkaXNwYXRjaCBzd2l0Y2ggc3RhdGVtZW50LlxuICB2YXIgQ29udGludWVTZW50aW5lbCA9IHt9O1xuXG4gIC8vIER1bW15IGNvbnN0cnVjdG9yIGZ1bmN0aW9ucyB0aGF0IHdlIHVzZSBhcyB0aGUgLmNvbnN0cnVjdG9yIGFuZFxuICAvLyAuY29uc3RydWN0b3IucHJvdG90eXBlIHByb3BlcnRpZXMgZm9yIGZ1bmN0aW9ucyB0aGF0IHJldHVybiBHZW5lcmF0b3JcbiAgLy8gb2JqZWN0cy4gRm9yIGZ1bGwgc3BlYyBjb21wbGlhbmNlLCB5b3UgbWF5IHdpc2ggdG8gY29uZmlndXJlIHlvdXJcbiAgLy8gbWluaWZpZXIgbm90IHRvIG1hbmdsZSB0aGUgbmFtZXMgb2YgdGhlc2UgdHdvIGZ1bmN0aW9ucy5cbiAgZnVuY3Rpb24gR2VuZXJhdG9yKCkge31cbiAgZnVuY3Rpb24gR2VuZXJhdG9yRnVuY3Rpb24oKSB7fVxuICBmdW5jdGlvbiBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSgpIHt9XG5cbiAgLy8gVGhpcyBpcyBhIHBvbHlmaWxsIGZvciAlSXRlcmF0b3JQcm90b3R5cGUlIGZvciBlbnZpcm9ubWVudHMgdGhhdFxuICAvLyBkb24ndCBuYXRpdmVseSBzdXBwb3J0IGl0LlxuICB2YXIgSXRlcmF0b3JQcm90b3R5cGUgPSB7fTtcbiAgSXRlcmF0b3JQcm90b3R5cGVbaXRlcmF0b3JTeW1ib2xdID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIHZhciBnZXRQcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjtcbiAgdmFyIE5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlID0gZ2V0UHJvdG8gJiYgZ2V0UHJvdG8oZ2V0UHJvdG8odmFsdWVzKFtdKSkpO1xuICBpZiAoTmF0aXZlSXRlcmF0b3JQcm90b3R5cGUgJiZcbiAgICAgIE5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlICE9PSBPcCAmJlxuICAgICAgaGFzT3duLmNhbGwoTmF0aXZlSXRlcmF0b3JQcm90b3R5cGUsIGl0ZXJhdG9yU3ltYm9sKSkge1xuICAgIC8vIFRoaXMgZW52aXJvbm1lbnQgaGFzIGEgbmF0aXZlICVJdGVyYXRvclByb3RvdHlwZSU7IHVzZSBpdCBpbnN0ZWFkXG4gICAgLy8gb2YgdGhlIHBvbHlmaWxsLlxuICAgIEl0ZXJhdG9yUHJvdG90eXBlID0gTmF0aXZlSXRlcmF0b3JQcm90b3R5cGU7XG4gIH1cblxuICB2YXIgR3AgPSBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5wcm90b3R5cGUgPVxuICAgIEdlbmVyYXRvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEl0ZXJhdG9yUHJvdG90eXBlKTtcbiAgR2VuZXJhdG9yRnVuY3Rpb24ucHJvdG90eXBlID0gR3AuY29uc3RydWN0b3IgPSBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZTtcbiAgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuY29uc3RydWN0b3IgPSBHZW5lcmF0b3JGdW5jdGlvbjtcbiAgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGVbdG9TdHJpbmdUYWdTeW1ib2xdID1cbiAgICBHZW5lcmF0b3JGdW5jdGlvbi5kaXNwbGF5TmFtZSA9IFwiR2VuZXJhdG9yRnVuY3Rpb25cIjtcblxuICAvLyBIZWxwZXIgZm9yIGRlZmluaW5nIHRoZSAubmV4dCwgLnRocm93LCBhbmQgLnJldHVybiBtZXRob2RzIG9mIHRoZVxuICAvLyBJdGVyYXRvciBpbnRlcmZhY2UgaW4gdGVybXMgb2YgYSBzaW5nbGUgLl9pbnZva2UgbWV0aG9kLlxuICBmdW5jdGlvbiBkZWZpbmVJdGVyYXRvck1ldGhvZHMocHJvdG90eXBlKSB7XG4gICAgW1wibmV4dFwiLCBcInRocm93XCIsIFwicmV0dXJuXCJdLmZvckVhY2goZnVuY3Rpb24obWV0aG9kKSB7XG4gICAgICBwcm90b3R5cGVbbWV0aG9kXSA9IGZ1bmN0aW9uKGFyZykge1xuICAgICAgICByZXR1cm4gdGhpcy5faW52b2tlKG1ldGhvZCwgYXJnKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBydW50aW1lLmlzR2VuZXJhdG9yRnVuY3Rpb24gPSBmdW5jdGlvbihnZW5GdW4pIHtcbiAgICB2YXIgY3RvciA9IHR5cGVvZiBnZW5GdW4gPT09IFwiZnVuY3Rpb25cIiAmJiBnZW5GdW4uY29uc3RydWN0b3I7XG4gICAgcmV0dXJuIGN0b3JcbiAgICAgID8gY3RvciA9PT0gR2VuZXJhdG9yRnVuY3Rpb24gfHxcbiAgICAgICAgLy8gRm9yIHRoZSBuYXRpdmUgR2VuZXJhdG9yRnVuY3Rpb24gY29uc3RydWN0b3IsIHRoZSBiZXN0IHdlIGNhblxuICAgICAgICAvLyBkbyBpcyB0byBjaGVjayBpdHMgLm5hbWUgcHJvcGVydHkuXG4gICAgICAgIChjdG9yLmRpc3BsYXlOYW1lIHx8IGN0b3IubmFtZSkgPT09IFwiR2VuZXJhdG9yRnVuY3Rpb25cIlxuICAgICAgOiBmYWxzZTtcbiAgfTtcblxuICBydW50aW1lLm1hcmsgPSBmdW5jdGlvbihnZW5GdW4pIHtcbiAgICBpZiAoT2JqZWN0LnNldFByb3RvdHlwZU9mKSB7XG4gICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YoZ2VuRnVuLCBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdlbkZ1bi5fX3Byb3RvX18gPSBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZTtcbiAgICAgIGlmICghKHRvU3RyaW5nVGFnU3ltYm9sIGluIGdlbkZ1bikpIHtcbiAgICAgICAgZ2VuRnVuW3RvU3RyaW5nVGFnU3ltYm9sXSA9IFwiR2VuZXJhdG9yRnVuY3Rpb25cIjtcbiAgICAgIH1cbiAgICB9XG4gICAgZ2VuRnVuLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoR3ApO1xuICAgIHJldHVybiBnZW5GdW47XG4gIH07XG5cbiAgLy8gV2l0aGluIHRoZSBib2R5IG9mIGFueSBhc3luYyBmdW5jdGlvbiwgYGF3YWl0IHhgIGlzIHRyYW5zZm9ybWVkIHRvXG4gIC8vIGB5aWVsZCByZWdlbmVyYXRvclJ1bnRpbWUuYXdyYXAoeClgLCBzbyB0aGF0IHRoZSBydW50aW1lIGNhbiB0ZXN0XG4gIC8vIGBoYXNPd24uY2FsbCh2YWx1ZSwgXCJfX2F3YWl0XCIpYCB0byBkZXRlcm1pbmUgaWYgdGhlIHlpZWxkZWQgdmFsdWUgaXNcbiAgLy8gbWVhbnQgdG8gYmUgYXdhaXRlZC5cbiAgcnVudGltZS5hd3JhcCA9IGZ1bmN0aW9uKGFyZykge1xuICAgIHJldHVybiB7IF9fYXdhaXQ6IGFyZyB9O1xuICB9O1xuXG4gIGZ1bmN0aW9uIEFzeW5jSXRlcmF0b3IoZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gaW52b2tlKG1ldGhvZCwgYXJnLCByZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHZhciByZWNvcmQgPSB0cnlDYXRjaChnZW5lcmF0b3JbbWV0aG9kXSwgZ2VuZXJhdG9yLCBhcmcpO1xuICAgICAgaWYgKHJlY29yZC50eXBlID09PSBcInRocm93XCIpIHtcbiAgICAgICAgcmVqZWN0KHJlY29yZC5hcmcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IHJlY29yZC5hcmc7XG4gICAgICAgIHZhciB2YWx1ZSA9IHJlc3VsdC52YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlICYmXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgICAgIGhhc093bi5jYWxsKHZhbHVlLCBcIl9fYXdhaXRcIikpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZhbHVlLl9fYXdhaXQpLnRoZW4oZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICAgIGludm9rZShcIm5leHRcIiwgdmFsdWUsIHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgfSwgZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgICAgICBpbnZva2UoXCJ0aHJvd1wiLCBlcnIsIHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZhbHVlKS50aGVuKGZ1bmN0aW9uKHVud3JhcHBlZCkge1xuICAgICAgICAgIC8vIFdoZW4gYSB5aWVsZGVkIFByb21pc2UgaXMgcmVzb2x2ZWQsIGl0cyBmaW5hbCB2YWx1ZSBiZWNvbWVzXG4gICAgICAgICAgLy8gdGhlIC52YWx1ZSBvZiB0aGUgUHJvbWlzZTx7dmFsdWUsZG9uZX0+IHJlc3VsdCBmb3IgdGhlXG4gICAgICAgICAgLy8gY3VycmVudCBpdGVyYXRpb24uIElmIHRoZSBQcm9taXNlIGlzIHJlamVjdGVkLCBob3dldmVyLCB0aGVcbiAgICAgICAgICAvLyByZXN1bHQgZm9yIHRoaXMgaXRlcmF0aW9uIHdpbGwgYmUgcmVqZWN0ZWQgd2l0aCB0aGUgc2FtZVxuICAgICAgICAgIC8vIHJlYXNvbi4gTm90ZSB0aGF0IHJlamVjdGlvbnMgb2YgeWllbGRlZCBQcm9taXNlcyBhcmUgbm90XG4gICAgICAgICAgLy8gdGhyb3duIGJhY2sgaW50byB0aGUgZ2VuZXJhdG9yIGZ1bmN0aW9uLCBhcyBpcyB0aGUgY2FzZVxuICAgICAgICAgIC8vIHdoZW4gYW4gYXdhaXRlZCBQcm9taXNlIGlzIHJlamVjdGVkLiBUaGlzIGRpZmZlcmVuY2UgaW5cbiAgICAgICAgICAvLyBiZWhhdmlvciBiZXR3ZWVuIHlpZWxkIGFuZCBhd2FpdCBpcyBpbXBvcnRhbnQsIGJlY2F1c2UgaXRcbiAgICAgICAgICAvLyBhbGxvd3MgdGhlIGNvbnN1bWVyIHRvIGRlY2lkZSB3aGF0IHRvIGRvIHdpdGggdGhlIHlpZWxkZWRcbiAgICAgICAgICAvLyByZWplY3Rpb24gKHN3YWxsb3cgaXQgYW5kIGNvbnRpbnVlLCBtYW51YWxseSAudGhyb3cgaXQgYmFja1xuICAgICAgICAgIC8vIGludG8gdGhlIGdlbmVyYXRvciwgYWJhbmRvbiBpdGVyYXRpb24sIHdoYXRldmVyKS4gV2l0aFxuICAgICAgICAgIC8vIGF3YWl0LCBieSBjb250cmFzdCwgdGhlcmUgaXMgbm8gb3Bwb3J0dW5pdHkgdG8gZXhhbWluZSB0aGVcbiAgICAgICAgICAvLyByZWplY3Rpb24gcmVhc29uIG91dHNpZGUgdGhlIGdlbmVyYXRvciBmdW5jdGlvbiwgc28gdGhlXG4gICAgICAgICAgLy8gb25seSBvcHRpb24gaXMgdG8gdGhyb3cgaXQgZnJvbSB0aGUgYXdhaXQgZXhwcmVzc2lvbiwgYW5kXG4gICAgICAgICAgLy8gbGV0IHRoZSBnZW5lcmF0b3IgZnVuY3Rpb24gaGFuZGxlIHRoZSBleGNlcHRpb24uXG4gICAgICAgICAgcmVzdWx0LnZhbHVlID0gdW53cmFwcGVkO1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgfSwgcmVqZWN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGdsb2JhbC5wcm9jZXNzID09PSBcIm9iamVjdFwiICYmIGdsb2JhbC5wcm9jZXNzLmRvbWFpbikge1xuICAgICAgaW52b2tlID0gZ2xvYmFsLnByb2Nlc3MuZG9tYWluLmJpbmQoaW52b2tlKTtcbiAgICB9XG5cbiAgICB2YXIgcHJldmlvdXNQcm9taXNlO1xuXG4gICAgZnVuY3Rpb24gZW5xdWV1ZShtZXRob2QsIGFyZykge1xuICAgICAgZnVuY3Rpb24gY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmcoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICBpbnZva2UobWV0aG9kLCBhcmcsIHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcHJldmlvdXNQcm9taXNlID1cbiAgICAgICAgLy8gSWYgZW5xdWV1ZSBoYXMgYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGVuIHdlIHdhbnQgdG8gd2FpdCB1bnRpbFxuICAgICAgICAvLyBhbGwgcHJldmlvdXMgUHJvbWlzZXMgaGF2ZSBiZWVuIHJlc29sdmVkIGJlZm9yZSBjYWxsaW5nIGludm9rZSxcbiAgICAgICAgLy8gc28gdGhhdCByZXN1bHRzIGFyZSBhbHdheXMgZGVsaXZlcmVkIGluIHRoZSBjb3JyZWN0IG9yZGVyLiBJZlxuICAgICAgICAvLyBlbnF1ZXVlIGhhcyBub3QgYmVlbiBjYWxsZWQgYmVmb3JlLCB0aGVuIGl0IGlzIGltcG9ydGFudCB0b1xuICAgICAgICAvLyBjYWxsIGludm9rZSBpbW1lZGlhdGVseSwgd2l0aG91dCB3YWl0aW5nIG9uIGEgY2FsbGJhY2sgdG8gZmlyZSxcbiAgICAgICAgLy8gc28gdGhhdCB0aGUgYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGhhcyB0aGUgb3Bwb3J0dW5pdHkgdG8gZG9cbiAgICAgICAgLy8gYW55IG5lY2Vzc2FyeSBzZXR1cCBpbiBhIHByZWRpY3RhYmxlIHdheS4gVGhpcyBwcmVkaWN0YWJpbGl0eVxuICAgICAgICAvLyBpcyB3aHkgdGhlIFByb21pc2UgY29uc3RydWN0b3Igc3luY2hyb25vdXNseSBpbnZva2VzIGl0c1xuICAgICAgICAvLyBleGVjdXRvciBjYWxsYmFjaywgYW5kIHdoeSBhc3luYyBmdW5jdGlvbnMgc3luY2hyb25vdXNseVxuICAgICAgICAvLyBleGVjdXRlIGNvZGUgYmVmb3JlIHRoZSBmaXJzdCBhd2FpdC4gU2luY2Ugd2UgaW1wbGVtZW50IHNpbXBsZVxuICAgICAgICAvLyBhc3luYyBmdW5jdGlvbnMgaW4gdGVybXMgb2YgYXN5bmMgZ2VuZXJhdG9ycywgaXQgaXMgZXNwZWNpYWxseVxuICAgICAgICAvLyBpbXBvcnRhbnQgdG8gZ2V0IHRoaXMgcmlnaHQsIGV2ZW4gdGhvdWdoIGl0IHJlcXVpcmVzIGNhcmUuXG4gICAgICAgIHByZXZpb3VzUHJvbWlzZSA/IHByZXZpb3VzUHJvbWlzZS50aGVuKFxuICAgICAgICAgIGNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnLFxuICAgICAgICAgIC8vIEF2b2lkIHByb3BhZ2F0aW5nIGZhaWx1cmVzIHRvIFByb21pc2VzIHJldHVybmVkIGJ5IGxhdGVyXG4gICAgICAgICAgLy8gaW52b2NhdGlvbnMgb2YgdGhlIGl0ZXJhdG9yLlxuICAgICAgICAgIGNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnXG4gICAgICAgICkgOiBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZygpO1xuICAgIH1cblxuICAgIC8vIERlZmluZSB0aGUgdW5pZmllZCBoZWxwZXIgbWV0aG9kIHRoYXQgaXMgdXNlZCB0byBpbXBsZW1lbnQgLm5leHQsXG4gICAgLy8gLnRocm93LCBhbmQgLnJldHVybiAoc2VlIGRlZmluZUl0ZXJhdG9yTWV0aG9kcykuXG4gICAgdGhpcy5faW52b2tlID0gZW5xdWV1ZTtcbiAgfVxuXG4gIGRlZmluZUl0ZXJhdG9yTWV0aG9kcyhBc3luY0l0ZXJhdG9yLnByb3RvdHlwZSk7XG4gIEFzeW5jSXRlcmF0b3IucHJvdG90eXBlW2FzeW5jSXRlcmF0b3JTeW1ib2xdID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuICBydW50aW1lLkFzeW5jSXRlcmF0b3IgPSBBc3luY0l0ZXJhdG9yO1xuXG4gIC8vIE5vdGUgdGhhdCBzaW1wbGUgYXN5bmMgZnVuY3Rpb25zIGFyZSBpbXBsZW1lbnRlZCBvbiB0b3Agb2ZcbiAgLy8gQXN5bmNJdGVyYXRvciBvYmplY3RzOyB0aGV5IGp1c3QgcmV0dXJuIGEgUHJvbWlzZSBmb3IgdGhlIHZhbHVlIG9mXG4gIC8vIHRoZSBmaW5hbCByZXN1bHQgcHJvZHVjZWQgYnkgdGhlIGl0ZXJhdG9yLlxuICBydW50aW1lLmFzeW5jID0gZnVuY3Rpb24oaW5uZXJGbiwgb3V0ZXJGbiwgc2VsZiwgdHJ5TG9jc0xpc3QpIHtcbiAgICB2YXIgaXRlciA9IG5ldyBBc3luY0l0ZXJhdG9yKFxuICAgICAgd3JhcChpbm5lckZuLCBvdXRlckZuLCBzZWxmLCB0cnlMb2NzTGlzdClcbiAgICApO1xuXG4gICAgcmV0dXJuIHJ1bnRpbWUuaXNHZW5lcmF0b3JGdW5jdGlvbihvdXRlckZuKVxuICAgICAgPyBpdGVyIC8vIElmIG91dGVyRm4gaXMgYSBnZW5lcmF0b3IsIHJldHVybiB0aGUgZnVsbCBpdGVyYXRvci5cbiAgICAgIDogaXRlci5uZXh0KCkudGhlbihmdW5jdGlvbihyZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0LmRvbmUgPyByZXN1bHQudmFsdWUgOiBpdGVyLm5leHQoKTtcbiAgICAgICAgfSk7XG4gIH07XG5cbiAgZnVuY3Rpb24gbWFrZUludm9rZU1ldGhvZChpbm5lckZuLCBzZWxmLCBjb250ZXh0KSB7XG4gICAgdmFyIHN0YXRlID0gR2VuU3RhdGVTdXNwZW5kZWRTdGFydDtcblxuICAgIHJldHVybiBmdW5jdGlvbiBpbnZva2UobWV0aG9kLCBhcmcpIHtcbiAgICAgIGlmIChzdGF0ZSA9PT0gR2VuU3RhdGVFeGVjdXRpbmcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZ1wiKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0YXRlID09PSBHZW5TdGF0ZUNvbXBsZXRlZCkge1xuICAgICAgICBpZiAobWV0aG9kID09PSBcInRocm93XCIpIHtcbiAgICAgICAgICB0aHJvdyBhcmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCZSBmb3JnaXZpbmcsIHBlciAyNS4zLjMuMy4zIG9mIHRoZSBzcGVjOlxuICAgICAgICAvLyBodHRwczovL3Blb3BsZS5tb3ppbGxhLm9yZy9+am9yZW5kb3JmZi9lczYtZHJhZnQuaHRtbCNzZWMtZ2VuZXJhdG9ycmVzdW1lXG4gICAgICAgIHJldHVybiBkb25lUmVzdWx0KCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRleHQubWV0aG9kID0gbWV0aG9kO1xuICAgICAgY29udGV4dC5hcmcgPSBhcmc7XG5cbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHZhciBkZWxlZ2F0ZSA9IGNvbnRleHQuZGVsZWdhdGU7XG4gICAgICAgIGlmIChkZWxlZ2F0ZSkge1xuICAgICAgICAgIHZhciBkZWxlZ2F0ZVJlc3VsdCA9IG1heWJlSW52b2tlRGVsZWdhdGUoZGVsZWdhdGUsIGNvbnRleHQpO1xuICAgICAgICAgIGlmIChkZWxlZ2F0ZVJlc3VsdCkge1xuICAgICAgICAgICAgaWYgKGRlbGVnYXRlUmVzdWx0ID09PSBDb250aW51ZVNlbnRpbmVsKSBjb250aW51ZTtcbiAgICAgICAgICAgIHJldHVybiBkZWxlZ2F0ZVJlc3VsdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29udGV4dC5tZXRob2QgPT09IFwibmV4dFwiKSB7XG4gICAgICAgICAgLy8gU2V0dGluZyBjb250ZXh0Ll9zZW50IGZvciBsZWdhY3kgc3VwcG9ydCBvZiBCYWJlbCdzXG4gICAgICAgICAgLy8gZnVuY3Rpb24uc2VudCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgICAgICBjb250ZXh0LnNlbnQgPSBjb250ZXh0Ll9zZW50ID0gY29udGV4dC5hcmc7XG5cbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0Lm1ldGhvZCA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgICAgaWYgKHN0YXRlID09PSBHZW5TdGF0ZVN1c3BlbmRlZFN0YXJ0KSB7XG4gICAgICAgICAgICBzdGF0ZSA9IEdlblN0YXRlQ29tcGxldGVkO1xuICAgICAgICAgICAgdGhyb3cgY29udGV4dC5hcmc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29udGV4dC5kaXNwYXRjaEV4Y2VwdGlvbihjb250ZXh0LmFyZyk7XG5cbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0Lm1ldGhvZCA9PT0gXCJyZXR1cm5cIikge1xuICAgICAgICAgIGNvbnRleHQuYWJydXB0KFwicmV0dXJuXCIsIGNvbnRleHQuYXJnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRlID0gR2VuU3RhdGVFeGVjdXRpbmc7XG5cbiAgICAgICAgdmFyIHJlY29yZCA9IHRyeUNhdGNoKGlubmVyRm4sIHNlbGYsIGNvbnRleHQpO1xuICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwibm9ybWFsXCIpIHtcbiAgICAgICAgICAvLyBJZiBhbiBleGNlcHRpb24gaXMgdGhyb3duIGZyb20gaW5uZXJGbiwgd2UgbGVhdmUgc3RhdGUgPT09XG4gICAgICAgICAgLy8gR2VuU3RhdGVFeGVjdXRpbmcgYW5kIGxvb3AgYmFjayBmb3IgYW5vdGhlciBpbnZvY2F0aW9uLlxuICAgICAgICAgIHN0YXRlID0gY29udGV4dC5kb25lXG4gICAgICAgICAgICA/IEdlblN0YXRlQ29tcGxldGVkXG4gICAgICAgICAgICA6IEdlblN0YXRlU3VzcGVuZGVkWWllbGQ7XG5cbiAgICAgICAgICBpZiAocmVjb3JkLmFyZyA9PT0gQ29udGludWVTZW50aW5lbCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiByZWNvcmQuYXJnLFxuICAgICAgICAgICAgZG9uZTogY29udGV4dC5kb25lXG4gICAgICAgICAgfTtcblxuICAgICAgICB9IGVsc2UgaWYgKHJlY29yZC50eXBlID09PSBcInRocm93XCIpIHtcbiAgICAgICAgICBzdGF0ZSA9IEdlblN0YXRlQ29tcGxldGVkO1xuICAgICAgICAgIC8vIERpc3BhdGNoIHRoZSBleGNlcHRpb24gYnkgbG9vcGluZyBiYWNrIGFyb3VuZCB0byB0aGVcbiAgICAgICAgICAvLyBjb250ZXh0LmRpc3BhdGNoRXhjZXB0aW9uKGNvbnRleHQuYXJnKSBjYWxsIGFib3ZlLlxuICAgICAgICAgIGNvbnRleHQubWV0aG9kID0gXCJ0aHJvd1wiO1xuICAgICAgICAgIGNvbnRleHQuYXJnID0gcmVjb3JkLmFyZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvLyBDYWxsIGRlbGVnYXRlLml0ZXJhdG9yW2NvbnRleHQubWV0aG9kXShjb250ZXh0LmFyZykgYW5kIGhhbmRsZSB0aGVcbiAgLy8gcmVzdWx0LCBlaXRoZXIgYnkgcmV0dXJuaW5nIGEgeyB2YWx1ZSwgZG9uZSB9IHJlc3VsdCBmcm9tIHRoZVxuICAvLyBkZWxlZ2F0ZSBpdGVyYXRvciwgb3IgYnkgbW9kaWZ5aW5nIGNvbnRleHQubWV0aG9kIGFuZCBjb250ZXh0LmFyZyxcbiAgLy8gc2V0dGluZyBjb250ZXh0LmRlbGVnYXRlIHRvIG51bGwsIGFuZCByZXR1cm5pbmcgdGhlIENvbnRpbnVlU2VudGluZWwuXG4gIGZ1bmN0aW9uIG1heWJlSW52b2tlRGVsZWdhdGUoZGVsZWdhdGUsIGNvbnRleHQpIHtcbiAgICB2YXIgbWV0aG9kID0gZGVsZWdhdGUuaXRlcmF0b3JbY29udGV4dC5tZXRob2RdO1xuICAgIGlmIChtZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gQSAudGhyb3cgb3IgLnJldHVybiB3aGVuIHRoZSBkZWxlZ2F0ZSBpdGVyYXRvciBoYXMgbm8gLnRocm93XG4gICAgICAvLyBtZXRob2QgYWx3YXlzIHRlcm1pbmF0ZXMgdGhlIHlpZWxkKiBsb29wLlxuICAgICAgY29udGV4dC5kZWxlZ2F0ZSA9IG51bGw7XG5cbiAgICAgIGlmIChjb250ZXh0Lm1ldGhvZCA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgIGlmIChkZWxlZ2F0ZS5pdGVyYXRvci5yZXR1cm4pIHtcbiAgICAgICAgICAvLyBJZiB0aGUgZGVsZWdhdGUgaXRlcmF0b3IgaGFzIGEgcmV0dXJuIG1ldGhvZCwgZ2l2ZSBpdCBhXG4gICAgICAgICAgLy8gY2hhbmNlIHRvIGNsZWFuIHVwLlxuICAgICAgICAgIGNvbnRleHQubWV0aG9kID0gXCJyZXR1cm5cIjtcbiAgICAgICAgICBjb250ZXh0LmFyZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBtYXliZUludm9rZURlbGVnYXRlKGRlbGVnYXRlLCBjb250ZXh0KTtcblxuICAgICAgICAgIGlmIChjb250ZXh0Lm1ldGhvZCA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgICAgICAvLyBJZiBtYXliZUludm9rZURlbGVnYXRlKGNvbnRleHQpIGNoYW5nZWQgY29udGV4dC5tZXRob2QgZnJvbVxuICAgICAgICAgICAgLy8gXCJyZXR1cm5cIiB0byBcInRocm93XCIsIGxldCB0aGF0IG92ZXJyaWRlIHRoZSBUeXBlRXJyb3IgYmVsb3cuXG4gICAgICAgICAgICByZXR1cm4gQ29udGludWVTZW50aW5lbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb250ZXh0Lm1ldGhvZCA9IFwidGhyb3dcIjtcbiAgICAgICAgY29udGV4dC5hcmcgPSBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgIFwiVGhlIGl0ZXJhdG9yIGRvZXMgbm90IHByb3ZpZGUgYSAndGhyb3cnIG1ldGhvZFwiKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgfVxuXG4gICAgdmFyIHJlY29yZCA9IHRyeUNhdGNoKG1ldGhvZCwgZGVsZWdhdGUuaXRlcmF0b3IsIGNvbnRleHQuYXJnKTtcblxuICAgIGlmIChyZWNvcmQudHlwZSA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICBjb250ZXh0Lm1ldGhvZCA9IFwidGhyb3dcIjtcbiAgICAgIGNvbnRleHQuYXJnID0gcmVjb3JkLmFyZztcbiAgICAgIGNvbnRleHQuZGVsZWdhdGUgPSBudWxsO1xuICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgfVxuXG4gICAgdmFyIGluZm8gPSByZWNvcmQuYXJnO1xuXG4gICAgaWYgKCEgaW5mbykge1xuICAgICAgY29udGV4dC5tZXRob2QgPSBcInRocm93XCI7XG4gICAgICBjb250ZXh0LmFyZyA9IG5ldyBUeXBlRXJyb3IoXCJpdGVyYXRvciByZXN1bHQgaXMgbm90IGFuIG9iamVjdFwiKTtcbiAgICAgIGNvbnRleHQuZGVsZWdhdGUgPSBudWxsO1xuICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgfVxuXG4gICAgaWYgKGluZm8uZG9uZSkge1xuICAgICAgLy8gQXNzaWduIHRoZSByZXN1bHQgb2YgdGhlIGZpbmlzaGVkIGRlbGVnYXRlIHRvIHRoZSB0ZW1wb3JhcnlcbiAgICAgIC8vIHZhcmlhYmxlIHNwZWNpZmllZCBieSBkZWxlZ2F0ZS5yZXN1bHROYW1lIChzZWUgZGVsZWdhdGVZaWVsZCkuXG4gICAgICBjb250ZXh0W2RlbGVnYXRlLnJlc3VsdE5hbWVdID0gaW5mby52YWx1ZTtcblxuICAgICAgLy8gUmVzdW1lIGV4ZWN1dGlvbiBhdCB0aGUgZGVzaXJlZCBsb2NhdGlvbiAoc2VlIGRlbGVnYXRlWWllbGQpLlxuICAgICAgY29udGV4dC5uZXh0ID0gZGVsZWdhdGUubmV4dExvYztcblxuICAgICAgLy8gSWYgY29udGV4dC5tZXRob2Qgd2FzIFwidGhyb3dcIiBidXQgdGhlIGRlbGVnYXRlIGhhbmRsZWQgdGhlXG4gICAgICAvLyBleGNlcHRpb24sIGxldCB0aGUgb3V0ZXIgZ2VuZXJhdG9yIHByb2NlZWQgbm9ybWFsbHkuIElmXG4gICAgICAvLyBjb250ZXh0Lm1ldGhvZCB3YXMgXCJuZXh0XCIsIGZvcmdldCBjb250ZXh0LmFyZyBzaW5jZSBpdCBoYXMgYmVlblxuICAgICAgLy8gXCJjb25zdW1lZFwiIGJ5IHRoZSBkZWxlZ2F0ZSBpdGVyYXRvci4gSWYgY29udGV4dC5tZXRob2Qgd2FzXG4gICAgICAvLyBcInJldHVyblwiLCBhbGxvdyB0aGUgb3JpZ2luYWwgLnJldHVybiBjYWxsIHRvIGNvbnRpbnVlIGluIHRoZVxuICAgICAgLy8gb3V0ZXIgZ2VuZXJhdG9yLlxuICAgICAgaWYgKGNvbnRleHQubWV0aG9kICE9PSBcInJldHVyblwiKSB7XG4gICAgICAgIGNvbnRleHQubWV0aG9kID0gXCJuZXh0XCI7XG4gICAgICAgIGNvbnRleHQuYXJnID0gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJlLXlpZWxkIHRoZSByZXN1bHQgcmV0dXJuZWQgYnkgdGhlIGRlbGVnYXRlIG1ldGhvZC5cbiAgICAgIHJldHVybiBpbmZvO1xuICAgIH1cblxuICAgIC8vIFRoZSBkZWxlZ2F0ZSBpdGVyYXRvciBpcyBmaW5pc2hlZCwgc28gZm9yZ2V0IGl0IGFuZCBjb250aW51ZSB3aXRoXG4gICAgLy8gdGhlIG91dGVyIGdlbmVyYXRvci5cbiAgICBjb250ZXh0LmRlbGVnYXRlID0gbnVsbDtcbiAgICByZXR1cm4gQ29udGludWVTZW50aW5lbDtcbiAgfVxuXG4gIC8vIERlZmluZSBHZW5lcmF0b3IucHJvdG90eXBlLntuZXh0LHRocm93LHJldHVybn0gaW4gdGVybXMgb2YgdGhlXG4gIC8vIHVuaWZpZWQgLl9pbnZva2UgaGVscGVyIG1ldGhvZC5cbiAgZGVmaW5lSXRlcmF0b3JNZXRob2RzKEdwKTtcblxuICBHcFt0b1N0cmluZ1RhZ1N5bWJvbF0gPSBcIkdlbmVyYXRvclwiO1xuXG4gIC8vIEEgR2VuZXJhdG9yIHNob3VsZCBhbHdheXMgcmV0dXJuIGl0c2VsZiBhcyB0aGUgaXRlcmF0b3Igb2JqZWN0IHdoZW4gdGhlXG4gIC8vIEBAaXRlcmF0b3IgZnVuY3Rpb24gaXMgY2FsbGVkIG9uIGl0LiBTb21lIGJyb3dzZXJzJyBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlXG4gIC8vIGl0ZXJhdG9yIHByb3RvdHlwZSBjaGFpbiBpbmNvcnJlY3RseSBpbXBsZW1lbnQgdGhpcywgY2F1c2luZyB0aGUgR2VuZXJhdG9yXG4gIC8vIG9iamVjdCB0byBub3QgYmUgcmV0dXJuZWQgZnJvbSB0aGlzIGNhbGwuIFRoaXMgZW5zdXJlcyB0aGF0IGRvZXNuJ3QgaGFwcGVuLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlZ2VuZXJhdG9yL2lzc3Vlcy8yNzQgZm9yIG1vcmUgZGV0YWlscy5cbiAgR3BbaXRlcmF0b3JTeW1ib2xdID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgR3AudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gXCJbb2JqZWN0IEdlbmVyYXRvcl1cIjtcbiAgfTtcblxuICBmdW5jdGlvbiBwdXNoVHJ5RW50cnkobG9jcykge1xuICAgIHZhciBlbnRyeSA9IHsgdHJ5TG9jOiBsb2NzWzBdIH07XG5cbiAgICBpZiAoMSBpbiBsb2NzKSB7XG4gICAgICBlbnRyeS5jYXRjaExvYyA9IGxvY3NbMV07XG4gICAgfVxuXG4gICAgaWYgKDIgaW4gbG9jcykge1xuICAgICAgZW50cnkuZmluYWxseUxvYyA9IGxvY3NbMl07XG4gICAgICBlbnRyeS5hZnRlckxvYyA9IGxvY3NbM107XG4gICAgfVxuXG4gICAgdGhpcy50cnlFbnRyaWVzLnB1c2goZW50cnkpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVzZXRUcnlFbnRyeShlbnRyeSkge1xuICAgIHZhciByZWNvcmQgPSBlbnRyeS5jb21wbGV0aW9uIHx8IHt9O1xuICAgIHJlY29yZC50eXBlID0gXCJub3JtYWxcIjtcbiAgICBkZWxldGUgcmVjb3JkLmFyZztcbiAgICBlbnRyeS5jb21wbGV0aW9uID0gcmVjb3JkO1xuICB9XG5cbiAgZnVuY3Rpb24gQ29udGV4dCh0cnlMb2NzTGlzdCkge1xuICAgIC8vIFRoZSByb290IGVudHJ5IG9iamVjdCAoZWZmZWN0aXZlbHkgYSB0cnkgc3RhdGVtZW50IHdpdGhvdXQgYSBjYXRjaFxuICAgIC8vIG9yIGEgZmluYWxseSBibG9jaykgZ2l2ZXMgdXMgYSBwbGFjZSB0byBzdG9yZSB2YWx1ZXMgdGhyb3duIGZyb21cbiAgICAvLyBsb2NhdGlvbnMgd2hlcmUgdGhlcmUgaXMgbm8gZW5jbG9zaW5nIHRyeSBzdGF0ZW1lbnQuXG4gICAgdGhpcy50cnlFbnRyaWVzID0gW3sgdHJ5TG9jOiBcInJvb3RcIiB9XTtcbiAgICB0cnlMb2NzTGlzdC5mb3JFYWNoKHB1c2hUcnlFbnRyeSwgdGhpcyk7XG4gICAgdGhpcy5yZXNldCh0cnVlKTtcbiAgfVxuXG4gIHJ1bnRpbWUua2V5cyA9IGZ1bmN0aW9uKG9iamVjdCkge1xuICAgIHZhciBrZXlzID0gW107XG4gICAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgfVxuICAgIGtleXMucmV2ZXJzZSgpO1xuXG4gICAgLy8gUmF0aGVyIHRoYW4gcmV0dXJuaW5nIGFuIG9iamVjdCB3aXRoIGEgbmV4dCBtZXRob2QsIHdlIGtlZXBcbiAgICAvLyB0aGluZ3Mgc2ltcGxlIGFuZCByZXR1cm4gdGhlIG5leHQgZnVuY3Rpb24gaXRzZWxmLlxuICAgIHJldHVybiBmdW5jdGlvbiBuZXh0KCkge1xuICAgICAgd2hpbGUgKGtleXMubGVuZ3RoKSB7XG4gICAgICAgIHZhciBrZXkgPSBrZXlzLnBvcCgpO1xuICAgICAgICBpZiAoa2V5IGluIG9iamVjdCkge1xuICAgICAgICAgIG5leHQudmFsdWUgPSBrZXk7XG4gICAgICAgICAgbmV4dC5kb25lID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVG8gYXZvaWQgY3JlYXRpbmcgYW4gYWRkaXRpb25hbCBvYmplY3QsIHdlIGp1c3QgaGFuZyB0aGUgLnZhbHVlXG4gICAgICAvLyBhbmQgLmRvbmUgcHJvcGVydGllcyBvZmYgdGhlIG5leHQgZnVuY3Rpb24gb2JqZWN0IGl0c2VsZi4gVGhpc1xuICAgICAgLy8gYWxzbyBlbnN1cmVzIHRoYXQgdGhlIG1pbmlmaWVyIHdpbGwgbm90IGFub255bWl6ZSB0aGUgZnVuY3Rpb24uXG4gICAgICBuZXh0LmRvbmUgPSB0cnVlO1xuICAgICAgcmV0dXJuIG5leHQ7XG4gICAgfTtcbiAgfTtcblxuICBmdW5jdGlvbiB2YWx1ZXMoaXRlcmFibGUpIHtcbiAgICBpZiAoaXRlcmFibGUpIHtcbiAgICAgIHZhciBpdGVyYXRvck1ldGhvZCA9IGl0ZXJhYmxlW2l0ZXJhdG9yU3ltYm9sXTtcbiAgICAgIGlmIChpdGVyYXRvck1ldGhvZCkge1xuICAgICAgICByZXR1cm4gaXRlcmF0b3JNZXRob2QuY2FsbChpdGVyYWJsZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlcmFibGUubmV4dCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBpdGVyYWJsZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc05hTihpdGVyYWJsZS5sZW5ndGgpKSB7XG4gICAgICAgIHZhciBpID0gLTEsIG5leHQgPSBmdW5jdGlvbiBuZXh0KCkge1xuICAgICAgICAgIHdoaWxlICgrK2kgPCBpdGVyYWJsZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmIChoYXNPd24uY2FsbChpdGVyYWJsZSwgaSkpIHtcbiAgICAgICAgICAgICAgbmV4dC52YWx1ZSA9IGl0ZXJhYmxlW2ldO1xuICAgICAgICAgICAgICBuZXh0LmRvbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbmV4dC52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBuZXh0LmRvbmUgPSB0cnVlO1xuXG4gICAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIG5leHQubmV4dCA9IG5leHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIGFuIGl0ZXJhdG9yIHdpdGggbm8gdmFsdWVzLlxuICAgIHJldHVybiB7IG5leHQ6IGRvbmVSZXN1bHQgfTtcbiAgfVxuICBydW50aW1lLnZhbHVlcyA9IHZhbHVlcztcblxuICBmdW5jdGlvbiBkb25lUmVzdWx0KCkge1xuICAgIHJldHVybiB7IHZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWUgfTtcbiAgfVxuXG4gIENvbnRleHQucHJvdG90eXBlID0ge1xuICAgIGNvbnN0cnVjdG9yOiBDb250ZXh0LFxuXG4gICAgcmVzZXQ6IGZ1bmN0aW9uKHNraXBUZW1wUmVzZXQpIHtcbiAgICAgIHRoaXMucHJldiA9IDA7XG4gICAgICB0aGlzLm5leHQgPSAwO1xuICAgICAgLy8gUmVzZXR0aW5nIGNvbnRleHQuX3NlbnQgZm9yIGxlZ2FjeSBzdXBwb3J0IG9mIEJhYmVsJ3NcbiAgICAgIC8vIGZ1bmN0aW9uLnNlbnQgaW1wbGVtZW50YXRpb24uXG4gICAgICB0aGlzLnNlbnQgPSB0aGlzLl9zZW50ID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5kb25lID0gZmFsc2U7XG4gICAgICB0aGlzLmRlbGVnYXRlID0gbnVsbDtcblxuICAgICAgdGhpcy5tZXRob2QgPSBcIm5leHRcIjtcbiAgICAgIHRoaXMuYXJnID0gdW5kZWZpbmVkO1xuXG4gICAgICB0aGlzLnRyeUVudHJpZXMuZm9yRWFjaChyZXNldFRyeUVudHJ5KTtcblxuICAgICAgaWYgKCFza2lwVGVtcFJlc2V0KSB7XG4gICAgICAgIGZvciAodmFyIG5hbWUgaW4gdGhpcykge1xuICAgICAgICAgIC8vIE5vdCBzdXJlIGFib3V0IHRoZSBvcHRpbWFsIG9yZGVyIG9mIHRoZXNlIGNvbmRpdGlvbnM6XG4gICAgICAgICAgaWYgKG5hbWUuY2hhckF0KDApID09PSBcInRcIiAmJlxuICAgICAgICAgICAgICBoYXNPd24uY2FsbCh0aGlzLCBuYW1lKSAmJlxuICAgICAgICAgICAgICAhaXNOYU4oK25hbWUuc2xpY2UoMSkpKSB7XG4gICAgICAgICAgICB0aGlzW25hbWVdID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG5cbiAgICBzdG9wOiBmdW5jdGlvbigpIHtcbiAgICAgIHRoaXMuZG9uZSA9IHRydWU7XG5cbiAgICAgIHZhciByb290RW50cnkgPSB0aGlzLnRyeUVudHJpZXNbMF07XG4gICAgICB2YXIgcm9vdFJlY29yZCA9IHJvb3RFbnRyeS5jb21wbGV0aW9uO1xuICAgICAgaWYgKHJvb3RSZWNvcmQudHlwZSA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgIHRocm93IHJvb3RSZWNvcmQuYXJnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5ydmFsO1xuICAgIH0sXG5cbiAgICBkaXNwYXRjaEV4Y2VwdGlvbjogZnVuY3Rpb24oZXhjZXB0aW9uKSB7XG4gICAgICBpZiAodGhpcy5kb25lKSB7XG4gICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbnRleHQgPSB0aGlzO1xuICAgICAgZnVuY3Rpb24gaGFuZGxlKGxvYywgY2F1Z2h0KSB7XG4gICAgICAgIHJlY29yZC50eXBlID0gXCJ0aHJvd1wiO1xuICAgICAgICByZWNvcmQuYXJnID0gZXhjZXB0aW9uO1xuICAgICAgICBjb250ZXh0Lm5leHQgPSBsb2M7XG5cbiAgICAgICAgaWYgKGNhdWdodCkge1xuICAgICAgICAgIC8vIElmIHRoZSBkaXNwYXRjaGVkIGV4Y2VwdGlvbiB3YXMgY2F1Z2h0IGJ5IGEgY2F0Y2ggYmxvY2ssXG4gICAgICAgICAgLy8gdGhlbiBsZXQgdGhhdCBjYXRjaCBibG9jayBoYW5kbGUgdGhlIGV4Y2VwdGlvbiBub3JtYWxseS5cbiAgICAgICAgICBjb250ZXh0Lm1ldGhvZCA9IFwibmV4dFwiO1xuICAgICAgICAgIGNvbnRleHQuYXJnID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICEhIGNhdWdodDtcbiAgICAgIH1cblxuICAgICAgZm9yICh2YXIgaSA9IHRoaXMudHJ5RW50cmllcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICB2YXIgZW50cnkgPSB0aGlzLnRyeUVudHJpZXNbaV07XG4gICAgICAgIHZhciByZWNvcmQgPSBlbnRyeS5jb21wbGV0aW9uO1xuXG4gICAgICAgIGlmIChlbnRyeS50cnlMb2MgPT09IFwicm9vdFwiKSB7XG4gICAgICAgICAgLy8gRXhjZXB0aW9uIHRocm93biBvdXRzaWRlIG9mIGFueSB0cnkgYmxvY2sgdGhhdCBjb3VsZCBoYW5kbGVcbiAgICAgICAgICAvLyBpdCwgc28gc2V0IHRoZSBjb21wbGV0aW9uIHZhbHVlIG9mIHRoZSBlbnRpcmUgZnVuY3Rpb24gdG9cbiAgICAgICAgICAvLyB0aHJvdyB0aGUgZXhjZXB0aW9uLlxuICAgICAgICAgIHJldHVybiBoYW5kbGUoXCJlbmRcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW50cnkudHJ5TG9jIDw9IHRoaXMucHJldikge1xuICAgICAgICAgIHZhciBoYXNDYXRjaCA9IGhhc093bi5jYWxsKGVudHJ5LCBcImNhdGNoTG9jXCIpO1xuICAgICAgICAgIHZhciBoYXNGaW5hbGx5ID0gaGFzT3duLmNhbGwoZW50cnksIFwiZmluYWxseUxvY1wiKTtcblxuICAgICAgICAgIGlmIChoYXNDYXRjaCAmJiBoYXNGaW5hbGx5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2IDwgZW50cnkuY2F0Y2hMb2MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZShlbnRyeS5jYXRjaExvYywgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucHJldiA8IGVudHJ5LmZpbmFsbHlMb2MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZShlbnRyeS5maW5hbGx5TG9jKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0gZWxzZSBpZiAoaGFzQ2F0Y2gpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXYgPCBlbnRyeS5jYXRjaExvYykge1xuICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlKGVudHJ5LmNhdGNoTG9jLCB0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0gZWxzZSBpZiAoaGFzRmluYWxseSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJldiA8IGVudHJ5LmZpbmFsbHlMb2MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZShlbnRyeS5maW5hbGx5TG9jKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ0cnkgc3RhdGVtZW50IHdpdGhvdXQgY2F0Y2ggb3IgZmluYWxseVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuXG4gICAgYWJydXB0OiBmdW5jdGlvbih0eXBlLCBhcmcpIHtcbiAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gdGhpcy50cnlFbnRyaWVzW2ldO1xuICAgICAgICBpZiAoZW50cnkudHJ5TG9jIDw9IHRoaXMucHJldiAmJlxuICAgICAgICAgICAgaGFzT3duLmNhbGwoZW50cnksIFwiZmluYWxseUxvY1wiKSAmJlxuICAgICAgICAgICAgdGhpcy5wcmV2IDwgZW50cnkuZmluYWxseUxvYykge1xuICAgICAgICAgIHZhciBmaW5hbGx5RW50cnkgPSBlbnRyeTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmluYWxseUVudHJ5ICYmXG4gICAgICAgICAgKHR5cGUgPT09IFwiYnJlYWtcIiB8fFxuICAgICAgICAgICB0eXBlID09PSBcImNvbnRpbnVlXCIpICYmXG4gICAgICAgICAgZmluYWxseUVudHJ5LnRyeUxvYyA8PSBhcmcgJiZcbiAgICAgICAgICBhcmcgPD0gZmluYWxseUVudHJ5LmZpbmFsbHlMb2MpIHtcbiAgICAgICAgLy8gSWdub3JlIHRoZSBmaW5hbGx5IGVudHJ5IGlmIGNvbnRyb2wgaXMgbm90IGp1bXBpbmcgdG8gYVxuICAgICAgICAvLyBsb2NhdGlvbiBvdXRzaWRlIHRoZSB0cnkvY2F0Y2ggYmxvY2suXG4gICAgICAgIGZpbmFsbHlFbnRyeSA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWNvcmQgPSBmaW5hbGx5RW50cnkgPyBmaW5hbGx5RW50cnkuY29tcGxldGlvbiA6IHt9O1xuICAgICAgcmVjb3JkLnR5cGUgPSB0eXBlO1xuICAgICAgcmVjb3JkLmFyZyA9IGFyZztcblxuICAgICAgaWYgKGZpbmFsbHlFbnRyeSkge1xuICAgICAgICB0aGlzLm1ldGhvZCA9IFwibmV4dFwiO1xuICAgICAgICB0aGlzLm5leHQgPSBmaW5hbGx5RW50cnkuZmluYWxseUxvYztcbiAgICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmNvbXBsZXRlKHJlY29yZCk7XG4gICAgfSxcblxuICAgIGNvbXBsZXRlOiBmdW5jdGlvbihyZWNvcmQsIGFmdGVyTG9jKSB7XG4gICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICB0aHJvdyByZWNvcmQuYXJnO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwiYnJlYWtcIiB8fFxuICAgICAgICAgIHJlY29yZC50eXBlID09PSBcImNvbnRpbnVlXCIpIHtcbiAgICAgICAgdGhpcy5uZXh0ID0gcmVjb3JkLmFyZztcbiAgICAgIH0gZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFwicmV0dXJuXCIpIHtcbiAgICAgICAgdGhpcy5ydmFsID0gdGhpcy5hcmcgPSByZWNvcmQuYXJnO1xuICAgICAgICB0aGlzLm1ldGhvZCA9IFwicmV0dXJuXCI7XG4gICAgICAgIHRoaXMubmV4dCA9IFwiZW5kXCI7XG4gICAgICB9IGVsc2UgaWYgKHJlY29yZC50eXBlID09PSBcIm5vcm1hbFwiICYmIGFmdGVyTG9jKSB7XG4gICAgICAgIHRoaXMubmV4dCA9IGFmdGVyTG9jO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gQ29udGludWVTZW50aW5lbDtcbiAgICB9LFxuXG4gICAgZmluaXNoOiBmdW5jdGlvbihmaW5hbGx5TG9jKSB7XG4gICAgICBmb3IgKHZhciBpID0gdGhpcy50cnlFbnRyaWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgIHZhciBlbnRyeSA9IHRoaXMudHJ5RW50cmllc1tpXTtcbiAgICAgICAgaWYgKGVudHJ5LmZpbmFsbHlMb2MgPT09IGZpbmFsbHlMb2MpIHtcbiAgICAgICAgICB0aGlzLmNvbXBsZXRlKGVudHJ5LmNvbXBsZXRpb24sIGVudHJ5LmFmdGVyTG9jKTtcbiAgICAgICAgICByZXNldFRyeUVudHJ5KGVudHJ5KTtcbiAgICAgICAgICByZXR1cm4gQ29udGludWVTZW50aW5lbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG5cbiAgICBcImNhdGNoXCI6IGZ1bmN0aW9uKHRyeUxvYykge1xuICAgICAgZm9yICh2YXIgaSA9IHRoaXMudHJ5RW50cmllcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICB2YXIgZW50cnkgPSB0aGlzLnRyeUVudHJpZXNbaV07XG4gICAgICAgIGlmIChlbnRyeS50cnlMb2MgPT09IHRyeUxvYykge1xuICAgICAgICAgIHZhciByZWNvcmQgPSBlbnRyeS5jb21wbGV0aW9uO1xuICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgICAgICB2YXIgdGhyb3duID0gcmVjb3JkLmFyZztcbiAgICAgICAgICAgIHJlc2V0VHJ5RW50cnkoZW50cnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhyb3duO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRoZSBjb250ZXh0LmNhdGNoIG1ldGhvZCBtdXN0IG9ubHkgYmUgY2FsbGVkIHdpdGggYSBsb2NhdGlvblxuICAgICAgLy8gYXJndW1lbnQgdGhhdCBjb3JyZXNwb25kcyB0byBhIGtub3duIGNhdGNoIGJsb2NrLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaWxsZWdhbCBjYXRjaCBhdHRlbXB0XCIpO1xuICAgIH0sXG5cbiAgICBkZWxlZ2F0ZVlpZWxkOiBmdW5jdGlvbihpdGVyYWJsZSwgcmVzdWx0TmFtZSwgbmV4dExvYykge1xuICAgICAgdGhpcy5kZWxlZ2F0ZSA9IHtcbiAgICAgICAgaXRlcmF0b3I6IHZhbHVlcyhpdGVyYWJsZSksXG4gICAgICAgIHJlc3VsdE5hbWU6IHJlc3VsdE5hbWUsXG4gICAgICAgIG5leHRMb2M6IG5leHRMb2NcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLm1ldGhvZCA9PT0gXCJuZXh0XCIpIHtcbiAgICAgICAgLy8gRGVsaWJlcmF0ZWx5IGZvcmdldCB0aGUgbGFzdCBzZW50IHZhbHVlIHNvIHRoYXQgd2UgZG9uJ3RcbiAgICAgICAgLy8gYWNjaWRlbnRhbGx5IHBhc3MgaXQgb24gdG8gdGhlIGRlbGVnYXRlLlxuICAgICAgICB0aGlzLmFyZyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgfVxuICB9O1xufSkoXG4gIC8vIEFtb25nIHRoZSB2YXJpb3VzIHRyaWNrcyBmb3Igb2J0YWluaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBnbG9iYWxcbiAgLy8gb2JqZWN0LCB0aGlzIHNlZW1zIHRvIGJlIHRoZSBtb3N0IHJlbGlhYmxlIHRlY2huaXF1ZSB0aGF0IGRvZXMgbm90XG4gIC8vIHVzZSBpbmRpcmVjdCBldmFsICh3aGljaCB2aW9sYXRlcyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSkuXG4gIHR5cGVvZiBnbG9iYWwgPT09IFwib2JqZWN0XCIgPyBnbG9iYWwgOlxuICB0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiID8gd2luZG93IDpcbiAgdHlwZW9mIHNlbGYgPT09IFwib2JqZWN0XCIgPyBzZWxmIDogdGhpc1xuKTtcbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJvaWxlcnBsYXRlQXBpLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IEFqYXggZnJvbSAnLi4vbGlicy9BamF4JztcblxuZXhwb3J0IGRlZmF1bHQge1xuXHQvKipcblx0ICogR2V0IGEgbGlzdCBvZiBhbGwgdGVtcGxhdGUgYm9pbGVycGxhdGVzLlxuXHQgKlxuXHQgKiBUaGUgc3VjY2VzcyBjYWxsYmFjayB3aWxsIGNvbnRhaW4gdGhlIGJvaWxlcnBsYXRlIGRhdGEuXG5cdCAqXG5cdCAqIEByZXR1cm4ge2pRdWVyeS5qcVhIUn1cblx0ICovXG5cdGxpc3QoKSB7XG5cdFx0Y29uc3QgYWpheFVybCA9IFN0eWxlRWRpdC5Db25maWcuZ2V0KCdiYXNlVXJsJykgKyAnL2FwaS5waHAvdGVtcGxhdGVzLydcblx0XHRcdCsgZW5jb2RlVVJJQ29tcG9uZW50KFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0ZW1wbGF0ZScpKSArICcvYm9pbGVycGxhdGVzP2xhbmc9J1xuXHRcdFx0KyBTdHlsZUVkaXQuQ29uZmlnLmdldCgnbGFuZ3VhZ2VDb2RlJyk7XG5cdFx0XG5cdFx0cmV0dXJuIEFqYXguZ2V0KGFqYXhVcmwsIHtcblx0XHRcdGxhbmc6IFN0eWxlRWRpdC5Db25maWcuZ2V0KCdsYW5ndWFnZUNvZGUnKSxcblx0XHRcdHRoZW1lOiBTdHlsZUVkaXQuQ29uZmlnLmdldCgndGhlbWUnKSB8fCB1bmRlZmluZWRcblx0XHR9LCB7ZGF0YVR5cGU6ICdqc29uJ30pO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDYWNoZUFwaS5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCBBamF4IGZyb20gJy4uL2xpYnMvQWpheCc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0LyoqXG5cdCAqIFJlbmV3IHRoZSBDU1MgY2FjaGUgb2YgdGhlIHNlbGVjdGVkIHN0eWxlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gbWFpbkNzc1VybCBUaGUgY29tcGxldGUgVVJMIG9mIHRoZSAjbWFpbi1jc3MgZWxlbWVudCBvZiB0aGUgdGVtcGxhdGUuXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBzdHlsZU5hbWUgKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgc3R5bGUgdG8gYmUgcmVuZXdlZC4gSWYgbm90IHByb3ZpZGVkIHRoZSBhY3RpdmUgc3R5bGUgd2lsbFxuXHQgKiBiZSByZW5ld2VkLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuanFYSFJ9XG5cdCAqL1xuXHRyZW5ldyhtYWluQ3NzVXJsLCBzdHlsZU5hbWUpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKG1haW5Dc3NVcmwpO1xuXHRcdFxuXHRcdC8vIFJlcGxhY2UgdGhlIGV4aXN0aW5nIEdFVCBwYXJhbWV0ZXJzIHdpdGggdGhlIFwicmVuZXdfY2FjaGVcIi5cblx0XHRpZiAobWFpbkNzc1VybC5pbmRleE9mKCc/JykgIT09IC0xKSB7XG5cdFx0XHRtYWluQ3NzVXJsID0gbWFpbkNzc1VybC5yZXBsYWNlKC9cXD8uKi8sICc/cmVuZXdfY2FjaGU9MScpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRtYWluQ3NzVXJsICs9ICc/cmVuZXdfY2FjaGU9MSc7XG5cdFx0fVxuXHRcdFxuXHRcdGlmIChzdHlsZU5hbWUgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhzdHlsZU5hbWUpO1xuXHRcdFx0bWFpbkNzc1VybCArPSAnJnN0eWxlX25hbWU9JyArIGVuY29kZVVSSUNvbXBvbmVudChzdHlsZU5hbWUpO1xuXHRcdH1cblx0XHRcblx0XHRyZXR1cm4gQWpheC5nZXQobWFpbkNzc1VybCk7XG5cdH1cbn1cblxuXG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDb25maWdBcGkuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgQWpheCBmcm9tICcuLi9saWJzL0FqYXgnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdC8qKlxuXHQgKiBHZXQgU3R5bGVFZGl0IENvbmZpZyBWYWx1ZXNcblx0ICpcblx0ICogVGhlIGFkbWluaXN0cmF0b3IgY2FuIHNldCBzb21lIGhhcmRjb2RlZCB2YWx1ZXMgaW4gdGhlIGNvbmZpZy5pbmMucGhwIHdoaWNoIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCB0aGlzXG5cdCAqIEFQSSBtZXRob2QuIE5vdCBldmVyeSBjb25maWcgdmFsdWUgd2lsbCBpbmNsdWRlZCB0aG91Z2ggZHVlIHRvIHNlY3VyaXR5IGNvbmNlcm5zLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuanFYSFJ9XG5cdCAqL1xuXHRnZXQoKSB7XG5cdFx0Y29uc3QgYWpheFVybCA9IFN0eWxlRWRpdC5Db25maWcuZ2V0KCdiYXNlVXJsJykgKyAnL2FwaS5waHAvdGVtcGxhdGVzLycgKyBTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcGxhdGUnKVxuXHRcdFx0KyAnL2NvbmZpZyc7XG5cdFx0XG5cdFx0cmV0dXJuIEFqYXguZ2V0KGFqYXhVcmwsIHt0aGVtZTogU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ3RoZW1lJykgfHwgdW5kZWZpbmVkfSwge2RhdGFUeXBlOiAnanNvbid9KTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSW1hZ2VBcGkuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgQWpheCBmcm9tICcuLi9saWJzL0FqYXgnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdC8qKlxuXHQgKiBVcGxvYWQgdGhlIHNlbGVjdGVkIGltYWdlIGZpbGUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7alF1ZXJ5fSAkZmlsZUlucHV0IFRoZSBmaWxlIGlucHV0IGVsZW1lbnQgdG8gYmUgdXBsb2FkZWQuXG5cdCAqXG5cdCAqIEByZXR1cm4ge2pRdWVyeS5qcVhIUn1cblx0ICovXG5cdHVwbG9hZCgkZmlsZUlucHV0KSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdCgkZmlsZUlucHV0KTtcblx0XHRcblx0XHRjb25zdCBmaWxlcyA9ICRmaWxlSW5wdXQuZ2V0KDApLmZpbGVzO1xuXHRcdFxuXHRcdGlmIChmaWxlcy5sZW5ndGggPT09IDApIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm8gaW1hZ2UgZmlsZXMgd2hlcmUgc2VsZWN0ZWQgZm9yIHVwbG9hZC4nKTtcblx0XHR9XG5cdFx0XG5cdFx0Y29uc3QgYWpheFVybCA9IFN0eWxlRWRpdC5Db25maWcuZ2V0KCdiYXNlVXJsJykgKyAnL2FwaS5waHAvdGVtcGxhdGVzLycgKyBTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcGxhdGUnKVxuXHRcdFx0KyAnL2ltYWdlcycgKyAoU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ3RoZW1lJykgPyAnP3RoZW1lJyA6ICcnKTtcblx0XHRcblx0XHQkZmlsZUlucHV0LmZpbGV1cGxvYWQoe1xuXHRcdFx0dXJsOiBhamF4VXJsLFxuXHRcdFx0ZGF0YVR5cGU6ICdqc29uJyxcblx0XHRcdGF1dG9VcGxvYWQ6IGZhbHNlLFxuXHRcdFx0YWNjZXB0RmlsZVR5cGVzOiAvKFxcLnxcXC8pKHBuZ3xqcGd8anBlZ3xnaWZ8Ym1wKSQvaVxuXHRcdH0pO1xuXHRcdFxuXHRcdHJldHVybiAkZmlsZUlucHV0LmZpbGV1cGxvYWQoJ3NlbmQnLCB7ZmlsZXM6IGZpbGVzfSk7XG5cdH0sXG5cdFxuXHQvKipcblx0ICogRGVsZXRlIGV4aXN0aW5nIGltYWdlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gZmlsZW5hbWUgVGhlIGZpbGVuYW1lIHRvIGJlIHJlbW92ZWQgKGUuZy4gJ2ltYWdlLnBuZycpLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuanFYSFJ9XG5cdCAqL1xuXHRkZWxldGUoZmlsZW5hbWUpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKGZpbGVuYW1lKTtcblx0XHRcblx0XHRjb25zdCBhamF4VXJsID0gU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ2Jhc2VVcmwnKSArICcvYXBpLnBocC90ZW1wbGF0ZXMvJyArIFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0ZW1wbGF0ZScpXG5cdFx0XHQrICcvaW1hZ2VzLycgKyBlbmNvZGVVUklDb21wb25lbnQoZmlsZW5hbWUpO1xuXHRcdFxuXHRcdHJldHVybiBBamF4LmRlbGV0ZShhamF4VXJsLCB7dGhlbWU6IFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0aGVtZScpIHx8IHVuZGVmaW5lZH0pO1xuXHR9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgTGFuZ3VhZ2VBcGkuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgQWpheCBmcm9tICcuLi9saWJzL0FqYXgnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdC8qKlxuXHQgKiBHZXQgU3R5bGVFZGl0IFVJIFRyYW5zbGF0aW9uc1xuXHQgKlxuXHQgKiBUaGUgc3VjY2VzcyBjYWxsYmFjayB3aWxsIGNvbnRhaW4gYW4gb2JqZWN0IHdpdGggdGhlIHRyYW5zbGF0aW9ucy5cblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IGxhbmd1YWdlQ29kZSBUaGUgSVNPIGNvZGUgb2YgdGhlIHRyYW5zbGF0aW9uIHRvIGJlIGZldGNoZWQuXG5cdCAqXG5cdCAqIEByZXR1cm4ge2pRdWVyeS5qcVhIUn1cblx0ICovXG5cdGdldFRyYW5zbGF0aW9ucyhsYW5ndWFnZUNvZGUpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKGxhbmd1YWdlQ29kZSk7XG5cdFx0Y29uc3QgYWpheFVybCA9IFN0eWxlRWRpdC5Db25maWcuZ2V0KCdiYXNlVXJsJykgKyAnL2FwaS5waHAvbGFuZ3VhZ2VzLycgKyBsYW5ndWFnZUNvZGU7XG5cdFx0cmV0dXJuIEFqYXguZ2V0KGFqYXhVcmwsIHt0aGVtZTogU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ3RoZW1lJykgfHwgdW5kZWZpbmVkfSwge2RhdGFUeXBlOiAnanNvbid9KTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU3R5bGVBcGkuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgQWpheCBmcm9tICcuLi9saWJzL0FqYXgnO1xuaW1wb3J0IEpzb25QYXJzZXIgZnJvbSAnLi4vbGlicy9Kc29uUGFyc2VyJztcblxuZXhwb3J0IGRlZmF1bHQge1xuXHQvKipcblx0ICogR2V0IHN0eWxlIGRhdGEgYnkgbmFtZS5cblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHN0eWxlTmFtZSBUaGUgbmFtZSBvZiB0aGUgc3R5bGUgdG8gYmUgcmV0cmlldmVkLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuanFYSFJ9XG5cdCAqL1xuXHRnZXQoc3R5bGVOYW1lKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhzdHlsZU5hbWUpO1xuXHRcdFxuXHRcdGNvbnN0IGFqYXhVcmwgPSBTdHlsZUVkaXQuQ29uZmlnLmdldCgnYmFzZVVybCcpICsgJy9hcGkucGhwL3RlbXBsYXRlcy8nICtcblx0XHRcdGVuY29kZVVSSUNvbXBvbmVudChTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcGxhdGUnKSkgKyAnL3N0eWxlcy8nICtcblx0XHRcdGVuY29kZVVSSUNvbXBvbmVudChzdHlsZU5hbWUpICsgJz9sYW5nPScgK1xuXHRcdFx0ZW5jb2RlVVJJQ29tcG9uZW50KFN0eWxlRWRpdC5Db25maWcuZ2V0KCdsYW5ndWFnZUNvZGUnKSk7XG5cdFx0XG5cdFx0cmV0dXJuIEFqYXguZ2V0KGFqYXhVcmwsIHt0aGVtZTogU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ3RoZW1lJykgfHwgdW5kZWZpbmVkfSwge2RhdGFUeXBlOiAnanNvbid9KTtcblx0fSxcblx0XG5cdC8qKlxuXHQgKiBHZXQgYWxsIHN0eWxlIGNvbmZpZ3VyYXRpb25zLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuanFYSFJ9XG5cdCAqL1xuXHRsaXN0KCkge1xuXHRcdGNvbnN0IGFqYXhVcmwgPSBTdHlsZUVkaXQuQ29uZmlnLmdldCgnYmFzZVVybCcpICsgJy9hcGkucGhwL3RlbXBsYXRlcy8nXG5cdFx0XHQrIGVuY29kZVVSSUNvbXBvbmVudChTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcGxhdGUnKSkgKyAnL3N0eWxlcydcblx0XHRcdCsgJz9sYW5nPScgKyBlbmNvZGVVUklDb21wb25lbnQoU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ2xhbmd1YWdlQ29kZScpKTtcblx0XHRyZXR1cm4gQWpheC5nZXQoYWpheFVybCwge3RoZW1lOiBTdHlsZUVkaXQuQ29uZmlnLmdldCgndGhlbWUnKSB8fCB1bmRlZmluZWR9LCB7ZGF0YVR5cGU6ICdqc29uJ30pO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIEFjdGl2YXRlIFN0eWxlXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBzdHlsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIHN0eWxlIHRvIGJlIGFjdGl2YXRlZC5cblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LmpxWEhSfVxuXHQgKi9cblx0YWN0aXZhdGUoc3R5bGVOYW1lKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhzdHlsZU5hbWUpO1xuXHRcdFxuXHRcdGNvbnN0IGFqYXhVcmwgPSBTdHlsZUVkaXQuQ29uZmlnLmdldCgnYmFzZVVybCcpICsgJy9hcGkucGhwL3RlbXBsYXRlcy8nXG5cdFx0XHQrIGVuY29kZVVSSUNvbXBvbmVudChTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcGxhdGUnKSlcblx0XHRcdCsgJy9zdHlsZXMvJyArIGVuY29kZVVSSUNvbXBvbmVudChzdHlsZU5hbWUpICsgJy9hY3Rpb25zL2FjdGl2YXRlJztcblx0XHRcblx0XHRyZXR1cm4gQWpheC5wYXRjaChhamF4VXJsLCB7dGhlbWU6IFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0aGVtZScpIHx8IHVuZGVmaW5lZH0sIHtkYXRhVHlwZTogJ2pzb24nfSk7XG5cdH0sXG5cdFxuXHQvKipcblx0ICogQ3JlYXRlIE5ldyBTdHlsZVxuXHQgKlxuXHQgKiBUaGUgc3VjY2VzcyBjYWxsYmFjayB3aWxsIGNvbnRhaW4gdGhlIG5ldyBzdHlsZSBkYXRhIGFzIHJlc3BvbnNlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gYm9pbGVycGxhdGVOYW1lXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBuZXdTdHlsZU5hbWVcblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LmpxWEhSfVxuXHQgKi9cblx0Y3JlYXRlKGJvaWxlcnBsYXRlTmFtZSwgbmV3U3R5bGVOYW1lKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhib2lsZXJwbGF0ZU5hbWUpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcobmV3U3R5bGVOYW1lKTtcblx0XHRcblx0XHRjb25zdCBhamF4VXJsID0gU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ2Jhc2VVcmwnKSArICcvYXBpLnBocC90ZW1wbGF0ZXMvJ1xuXHRcdFx0KyBlbmNvZGVVUklDb21wb25lbnQoU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ3RlbXBsYXRlJykpICsgJy9zdHlsZXMnO1xuXHRcdGNvbnN0IGRhdGEgPSB7XG5cdFx0XHRib2lsZXJwbGF0ZV9uYW1lOiBib2lsZXJwbGF0ZU5hbWUsXG5cdFx0XHRuZXdfc3R5bGVfbmFtZTogbmV3U3R5bGVOYW1lLFxuXHRcdFx0dGhlbWU6IFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0aGVtZScpIHx8IHVuZGVmaW5lZFxuXHRcdH07XG5cdFx0XG5cdFx0cmV0dXJuIEFqYXgucG9zdChhamF4VXJsLCBkYXRhLCB7ZGF0YVR5cGU6ICdqc29uJ30pO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIFNhdmUgU3R5bGVcblx0ICpcblx0ICogQHBhcmFtIHtTdHlsZUNvbmZpZ3VyYXRpb259IHN0eWxlQ29uZmlndXJhdGlvbiBDb250YWlucyB0aGUgc3R5bGUgY29uZmlndXJhdGlvbiBkYXRhLlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gdGVtcFN0eWxlTmFtZSBPcHRpb25hbCwgaWYgcHJvdmlkZWQgaXQgd2lsbCByZXBsYWNlIHRoZSBvcmlnaW5hbCBzdHlsZSBuYW1lICh1c2VkIGZvciBwcmV2aWV3KS5cblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LmpxWEhSfVxuXHQgKi9cblx0c2F2ZShzdHlsZUNvbmZpZ3VyYXRpb24sIHRlbXBTdHlsZU5hbWUpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KHN0eWxlQ29uZmlndXJhdGlvbik7XG5cdFx0XG5cdFx0Y29uc3Qgc3R5bGVOYW1lID0gdGVtcFN0eWxlTmFtZSB8fCBzdHlsZUNvbmZpZ3VyYXRpb24uZ2V0TmFtZSgpO1xuXHRcdGNvbnN0IGFqYXhVcmwgPSBTdHlsZUVkaXQuQ29uZmlnLmdldCgnYmFzZVVybCcpICsgJy9hcGkucGhwL3RlbXBsYXRlcy8nXG5cdFx0XHQrIGVuY29kZVVSSUNvbXBvbmVudChTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcGxhdGUnKSkgKyAnL3N0eWxlcy8nXG5cdFx0XHQrIGVuY29kZVVSSUNvbXBvbmVudChzdHlsZU5hbWUpO1xuXHRcdGNvbnN0IGRhdGEgPSBKc29uUGFyc2VyLmVuY29kZVN0eWxlQ29uZmlndXJhdGlvbihzdHlsZUNvbmZpZ3VyYXRpb24sIGZhbHNlKTtcblx0XHRcblx0XHRpZiAodGVtcFN0eWxlTmFtZSkge1xuXHRcdFx0ZGF0YS5uYW1lID0gdGVtcFN0eWxlTmFtZTtcblx0XHR9XG5cdFx0XG5cdFx0cmV0dXJuIEFqYXgucHV0KGFqYXhVcmwsIHtzdHlsZV9qc29uOiBKU09OLnN0cmluZ2lmeShkYXRhKSwgdGhlbWU6IFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0aGVtZScpIHx8IHVuZGVmaW5lZH0sIHtkYXRhVHlwZTogJ2pzb24nfSk7XG5cdH0sXG5cdFxuXHQvKipcblx0ICogRGVsZXRlIEV4aXN0aW5nIFN0eWxlXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBzdHlsZU5hbWVcblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LmpxWEhSfVxuXHQgKi9cblx0ZGVsZXRlKHN0eWxlTmFtZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcoc3R5bGVOYW1lKTtcblx0XHRcblx0XHRjb25zdCBhamF4VXJsID0gU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ2Jhc2VVcmwnKSArICcvYXBpLnBocC90ZW1wbGF0ZXMvJ1xuXHRcdFx0KyBlbmNvZGVVUklDb21wb25lbnQoU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ3RlbXBsYXRlJykpICsgJy9zdHlsZXMvJyArIGVuY29kZVVSSUNvbXBvbmVudChzdHlsZU5hbWUpO1xuXHRcdFxuXHRcdHJldHVybiBBamF4LmRlbGV0ZShhamF4VXJsLCB7dGhlbWU6IFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0aGVtZScpIHx8IHVuZGVmaW5lZH0sIHtkYXRhVHlwZTogJ2pzb24nfSk7XG5cdH0sXG5cdFxuXHQvKipcblx0ICogRHVwbGljYXRlIFN0eWxlXG5cdCAqXG5cdCAqIFRoZSBzdWNjZXNzIGNhbGxiYWNrIHdpbGwgY29udGFpbiB0aGUgbmV3IHN0eWxlIGRhdGEuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBvbGRTdHlsZU5hbWVcblx0ICogQHBhcmFtIHtTdHJpbmd9IG5ld1N0eWxlTmFtZVxuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuanFYSFJ9XG5cdCAqL1xuXHRkdXBsaWNhdGUob2xkU3R5bGVOYW1lLCBuZXdTdHlsZU5hbWUpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKG9sZFN0eWxlTmFtZSk7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhuZXdTdHlsZU5hbWUpO1xuXHRcdFxuXHRcdGNvbnN0IGFqYXhVcmwgPSBTdHlsZUVkaXQuQ29uZmlnLmdldCgnYmFzZVVybCcpICsgJy9hcGkucGhwL3RlbXBsYXRlcy8nXG5cdFx0XHQrIGVuY29kZVVSSUNvbXBvbmVudChTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcGxhdGUnKSlcblx0XHRcdCsgJy9zdHlsZXMvJyArIGVuY29kZVVSSUNvbXBvbmVudChvbGRTdHlsZU5hbWUpO1xuXHRcdGNvbnN0IGRhdGEgPSB7XG5cdFx0XHRuZXdfc3R5bGVfbmFtZTogbmV3U3R5bGVOYW1lLFxuXHRcdFx0dGhlbWU6IFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0aGVtZScpIHx8IHVuZGVmaW5lZFxuXHRcdH07XG5cdFx0XG5cdFx0cmV0dXJuIEFqYXgucG9zdChhamF4VXJsLCBkYXRhLCB7ZGF0YVR5cGU6ICdqc29uJ30pO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBVc2VyQXBpLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IEFqYXggZnJvbSAnLi4vbGlicy9BamF4JztcblxuZXhwb3J0IGRlZmF1bHQge1xuXHQvKipcblx0ICogVGVybWluYXRlIHRoZSBTdHlsZUVkaXQzIHNlc3Npb24uXG5cdCAqXG5cdCAqIEByZXR1cm4ge2pRdWVyeS5qcVhIUn1cblx0ICovXG5cdGxvZ291dCgpIHtcblx0XHRjb25zdCBhamF4VXJsID0gU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ2Jhc2VVcmwnKSArICcvYXBpLnBocC9sb2dvdXQnO1xuXHRcdHJldHVybiBBamF4LnBvc3QoYWpheFVybCwge3RoZW1lOiBTdHlsZUVkaXQuQ29uZmlnLmdldCgndGhlbWUnKSB8fCB1bmRlZmluZWR9KTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQ3JlYXRlU3R5bGVNb2RhbC5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKiBnbG9iYWxzIC1Nb2RhbCAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCBNb2RhbCBmcm9tICcuLi9saWJzL01vZGFsJzsgXG5pbXBvcnQgRXZlbnRzRW1pdHRlciBmcm9tICcuLi9saWJzL0V2ZW50c0VtaXR0ZXInOyBcbmltcG9ydCBTdHlsZUFwaSBmcm9tICcuLi9hcGkvU3R5bGVBcGknOyBcbmltcG9ydCBCb2lsZXJwbGF0ZUFwaSBmcm9tICcuLi9hcGkvQm9pbGVycGxhdGVBcGknO1xuXG4vKipcbiAqIENyZWF0ZSBTdHlsZSBMYXllciBDb250cm9sbGVyXG4gKlxuICogVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV3IHN0eWxlIGNyZWF0aW9uLiBPbmNlIHRoZSBzdHlsZSBpc1xuICogY3JlYXRlZCB0aGlzIGNvbnRyb2xsZXIgd2lsbCB0cmlnZ2VyIHRoZSBcIlN0eWxlRWRpdC5OZXdTdHlsZVwiIGV2ZW50IHNvIHRoYXQgb3RoZXIgY29udHJvbGxlcnNcbiAqIHJlYWN0IGFjY29yZGluZ2x5LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDcmVhdGVTdHlsZU1vZGFsIHtcblx0LyoqXG5cdCAqIENsYXNzIENvbnN0cnVjdG9yIFxuXHQgKi9cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0LyoqXG5cdFx0ICogTW9kYWwgU2VsZWN0b3Jcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtqUXVlcnl9XG5cdFx0ICovXG5cdFx0dGhpcy4kbW9kYWwgPSBudWxsO1xuXHR9XG5cdFxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSBDb250cm9sbGVyXG5cdCAqXG5cdCAqIEZldGNoIHRoZSBhdmFpbGFibGUgYm9pbGVycGxhdGVzIGFuZCBkaXNwbGF5IHRoZW0gaW4gYSBtb2RhbC5cblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LlByb21pc2V9IFdpbGwgYmUgcmVzb2x2ZWQgb25jZSB0aGUgbWV0aG9kIGlzIHJlYWR5LlxuXHQgKi9cblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRjb25zdCBkZWZlcnJlZCA9ICQuRGVmZXJyZWQoKTtcblx0XHRcblx0XHRCb2lsZXJwbGF0ZUFwaS5saXN0KCkuZG9uZSgoYm9pbGVycGxhdGVzKSA9PiB7XG5cdFx0XHRjb25zdCBkYXRhID0ge1xuXHRcdFx0XHR0aXRsZV9jcmVhdGVfc3R5bGVfbW9kYWw6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX2NyZWF0ZV9zdHlsZV9tb2RhbCcsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRcdHBsYWNlaG9sZGVyX3N0eWxlX25hbWU6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3BsYWNlaG9sZGVyX3N0eWxlX25hbWUnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0XHRvcHRpb25fY3JlYXRlOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fY3JlYXRlJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdFx0b3B0aW9uX2NhbmNlbDogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnb3B0aW9uX2NhbmNlbCcsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRcdG1lc3NhZ2VfY3JlYXRlX3N0eWxlX2hpbnQ6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ21lc3NhZ2VfY3JlYXRlX3N0eWxlX2hpbnQnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0XHRhdmFpbGFibGVfYm9pbGVycGxhdGVzOiBib2lsZXJwbGF0ZXMuY29uZmlnLFxuXHRcdFx0XHR0ZW1wbGF0ZTogU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ3RlbXBsYXRlJyksXG5cdFx0XHRcdHN0eWxlc19iYXNlX3BhdGg6IFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0aGVtZScpID8gJy4uL3B1YmxpYy90aGVtZS9zdHlsZXMvc3R5bGVlZGl0LycgOiAndGVtcGxhdGVzLycgKyBTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcGxhdGUnKSArICcvJ1xuXHRcdFx0fTtcblx0XHRcdFxuXHRcdFx0U3R5bGVFZGl0Lkxhbmd1YWdlLmFkZFNlY3Rpb24oJ3RlbXBsYXRlJywgYm9pbGVycGxhdGVzLmxhbmcpO1xuXHRcdFx0XG5cdFx0XHQkLmVhY2goZGF0YS5hdmFpbGFibGVfYm9pbGVycGxhdGVzLCAoaW5kZXgsIGJvaWxlcnBsYXRlKSA9PiB7XG5cdFx0XHRcdGJvaWxlcnBsYXRlLnRpdGxlID0gU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZShib2lsZXJwbGF0ZS5uYW1lLCAndGVtcGxhdGUnKTtcblx0XHRcdH0pO1xuXHRcdFx0XG5cdFx0XHR0aGlzLiRtb2RhbCA9IE1vZGFsLnNob3coJCgnI2NyZWF0ZS1zdHlsZS1tb2RhbC10ZW1wbGF0ZScpLCBkYXRhKTtcblx0XHRcdHRoaXMuX2JpbmRFdmVudEhhbmRsZXJzKCk7XG5cdFx0XHRcblx0XHRcdC8vIEZvY3VzIHN0eWxlLW5hbWUgaW5wdXQgZmllbGRcblx0XHRcdHRoaXMuJG1vZGFsLmZpbmQoJ2lucHV0W25hbWU9XCJzdHlsZS1uYW1lXCJdJykuZm9jdXMoKTtcblx0XHRcdFxuXHRcdFx0Ly8gU2VsZWN0IHRoZSBmaXJzdCBib2lsZXJwbGF0ZSBvZiB0aGUgbW9kYWwuIFxuXHRcdFx0dGhpcy4kbW9kYWwuZmluZCgnLmJvaWxlcnBsYXRlcyAucHJldmlldy1pdGVtOmZpcnN0JykuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG5cdFx0XHRcblx0XHRcdGRlZmVycmVkLnJlc29sdmUoKTtcblx0XHRcdFxuXHRcdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyQ29udHJvbGxlckluaXRpYWxpemVkKHRoaXMuJG1vZGFsLCBbJ0NyZWF0ZVN0eWxlTW9kYWwnXSk7XG5cdFx0XHRcblx0XHRcdCQubWF0ZXJpYWwuaW5pdCgpO1xuXHRcdH0pO1xuXHRcdFxuXHRcdHJldHVybiBkZWZlcnJlZC5wcm9taXNlKCk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBEZXN0cm95IENvbnRyb2xsZXJcblx0ICpcblx0ICogSGlkZSB0aGUgY3JlYXRlLXN0eWxlIG1vZGFsLlxuXHQgKi9cblx0ZGVzdHJveSgpIHtcblx0XHRNb2RhbC5oaWRlKHRoaXMuJG1vZGFsKTtcblx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJDb250cm9sbGVyRGVzdHJveWVkKHRoaXMuJG1vZGFsLCBbJ0NyZWF0ZVN0eWxlTW9kYWwnXSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQ2xpY2sgY3JlYXRlIGJ1dHRvbi5cblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnkuRXZlbnR9IGV2ZW50XG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja0NyZWF0ZShldmVudCkge1xuXHRcdGNvbnN0ICRlbGVtZW50ID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcblx0XHRjb25zdCAkbmV3U3R5bGVOYW1lID0gdGhpcy4kbW9kYWwuZmluZCgnaW5wdXRbbmFtZT1cInN0eWxlLW5hbWVcIl0nKTtcblx0XHRcblx0XHQkbmV3U3R5bGVOYW1lLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdoYXMtZXJyb3InKTtcblx0XHRcblx0XHRpZiAoJG5ld1N0eWxlTmFtZS52YWwoKSA9PT0gJycpIHtcblx0XHRcdCRuZXdTdHlsZU5hbWUucGFyZW50KCkuYWRkQ2xhc3MoJ2hhcy1lcnJvcicpO1xuXHRcdFx0JG5ld1N0eWxlTmFtZS5mb2N1cygpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRcblx0XHRjb25zdCBib2lsZXJwbGF0ZU5hbWUgPSB0aGlzLiRtb2RhbC5maW5kKCcuYm9pbGVycGxhdGVzIC5wcmV2aWV3LWl0ZW0uc2VsZWN0ZWQgaW1nJykuYXR0cignZGF0YS1uYW1lJyk7XG5cdFx0Y29uc3QgbmV3U3R5bGVOYW1lID0gJG5ld1N0eWxlTmFtZS52YWwoKTtcblx0XHRcblx0XHRTdHlsZUFwaS5jcmVhdGUoYm9pbGVycGxhdGVOYW1lLCBuZXdTdHlsZU5hbWUpLmRvbmUoKHJlc3BvbnNlKSA9PiB7XG5cdFx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJTdHlsZUNyZWF0ZWQoJGVsZW1lbnQsIFtyZXNwb25zZV0pO1xuXHRcdFx0TW9kYWwuaGlkZSh0aGlzLiRtb2RhbCk7XG5cdFx0fSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQ2xpY2sgY2FuY2VsIGJ1dHRvbi5cblx0ICpcblx0ICogV2lsbCBoaWRlIHRoZSBkaXNwbGF5ZWQgbW9kYWwuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja0NhbmNlbCgpIHtcblx0XHRNb2RhbC5oaWRlKHRoaXMuJG1vZGFsKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEV2ZW50OiBDbGljayBib2lsZXJwbGF0ZSBwcmV2aWV3IGltYWdlLlxuXHQgKlxuXHQgKiBXaGVuZXZlciB0aGUgdXNlciBjbGlja3Mgb24gdGhlIGJvaWxlcnBsYXRlIHByZXZpZXcgaW1hZ2UgdGhlIFwic2VsZWN0ZWRcIiBjbGFzcyBtdXN0XG5cdCAqIGJlIGNoYW5nZWQuXG5cdCAqXG5cdCAqIEBwYXJhbSB7alF1ZXJ5LkV2ZW50fSBldmVudFxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tCb2lsZXJwbGF0ZVByZXZpZXcoZXZlbnQpIHtcblx0XHR0aGlzLiRtb2RhbC5maW5kKCcuYm9pbGVycGxhdGVzIC5wcmV2aWV3LWl0ZW0uc2VsZWN0ZWQnKS5yZW1vdmVDbGFzcygnc2VsZWN0ZWQnKTtcblx0XHQkKGV2ZW50LmN1cnJlbnRUYXJnZXQpLnBhcmVudCgpLmFkZENsYXNzKCdzZWxlY3RlZCcpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogQmluZCBFdmVudCBIYW5kbGVyc1xuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X2JpbmRFdmVudEhhbmRsZXJzKCkge1xuXHRcdHRoaXMuJG1vZGFsXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4uY3JlYXRlJywgZXZlbnQgPT4gdGhpcy5fb25DbGlja0NyZWF0ZShldmVudCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4uY2FuY2VsJywgKCkgPT4gdGhpcy5fb25DbGlja0NhbmNlbCgpKVxuXHRcdFx0Lm9uKCdjbGljaycsICcuYm9pbGVycGxhdGVzIC5wcmV2aWV3LWl0ZW0gaW1nJywgZXZlbnQgPT4gdGhpcy5fb25DbGlja0JvaWxlcnBsYXRlUHJldmlldyhldmVudCkpO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDdXN0b21TdHlsZXNNb2RhbC5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKiBnbG9iYWxzIENvZGVNaXJyb3IsIC1Nb2RhbCAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCBFdmVudHNFbWl0dGVyIGZyb20gJy4uL2xpYnMvRXZlbnRzRW1pdHRlcic7XG5pbXBvcnQgTW9kYWwgZnJvbSAnLi4vbGlicy9Nb2RhbCc7XG5cbi8qKlxuICogQ3VzdG9tIFN0eWxlcyBNb2RhbCBDb250cm9sbGVyXG4gKlxuICogVGhpcyBjb250cm9sbGVyIGhhbmRsZXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFwiQ3VzdG9tIFN0eWxlc1wiIG1vZGFsIGRpYWxvZyB3aGVyZSB0aGVcbiAqIHVzZXIgaXMgYWJsZSB0byB3cml0ZSBjdXN0b20gQ1NTIG9yIFNBU1MgdGhhdCBpcyBnb2luZyB0byBiZSBpbmNsdWRlZCBpbiB0aGUgdGVtcGxhdGUuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEN1c3RvbVN0eWxlc01vZGFsIHtcblx0LyoqXG5cdCAqIENsYXNzIENvbnN0cnVjdG9yIFxuXHQgKiBcblx0ICogQHBhcmFtIHtTdHJpbmd9IGN1c3RvbVN0eWxlcyBDb250YWlucyB0aGUgY3VzdG9tIHN0eWxlcy5cblx0ICovXG5cdGNvbnN0cnVjdG9yKGN1c3RvbVN0eWxlcykge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcoY3VzdG9tU3R5bGVzKTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBNb2RhbCBTZWxlY3RvclxuXHRcdCAqXG5cdFx0ICogQHR5cGUge2pRdWVyeX1cblx0XHQgKi9cblx0XHR0aGlzLiRtb2RhbCA9IG51bGw7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogQ3VzdG9tIFN0eWxlc1xuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLmN1c3RvbVN0eWxlcyA9IGN1c3RvbVN0eWxlcztcblx0XHRcblx0XHQvKipcblx0XHQgKiBDb2RlTWlycm9yIEluc3RhbmNlXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7Q29kZU1pcnJvcn1cblx0XHQgKi9cblx0XHR0aGlzLmNvZGVFZGl0b3IgPSBudWxsO1xuXHR9XG5cdFxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSBDb250cm9sbGVyXG5cdCAqL1xuXHRpbml0aWFsaXplKCkge1xuXHRcdGNvbnN0IGRhdGEgPSB7XG5cdFx0XHR0aXRsZV9jdXN0b21fc3R5bGVzX21vZGFsOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCd0aXRsZV9jdXN0b21fc3R5bGVzX21vZGFsJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdG9wdGlvbl9zYXZlOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fc2F2ZScsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRvcHRpb25fYXBwbHk6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl9hcHBseScsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRvcHRpb25fY2FuY2VsOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fY2FuY2VsJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdGN1c3RvbV9zdHlsZXM6IHRoaXMuY3VzdG9tU3R5bGVzXG5cdFx0fTtcblx0XHRcblx0XHR0aGlzLiRtb2RhbCA9IE1vZGFsLnNob3coJCgnI2N1c3RvbS1zdHlsZXMtbW9kYWwtdGVtcGxhdGUnKSwgZGF0YSk7XG5cdFx0dGhpcy4kbW9kYWwuZmluZCgnLm5hdi10YWJzIGxpOmZpcnN0IGEnKS50YWIoJ3Nob3cnKTtcblx0XHR0aGlzLmNvZGVFZGl0b3IgPSBDb2RlTWlycm9yLmZyb21UZXh0QXJlYSh0aGlzLiRtb2RhbC5maW5kKCcuY3VzdG9tLXN0eWxlcy1pbnB1dCcpLmdldCgwKSwge1xuXHRcdFx0dmFsdWU6IHRoaXMuY3VzdG9tU3R5bGVzLFxuXHRcdFx0bW9kZTogJ3RleHQveC1zYXNzJyxcblx0XHRcdGxpbmVOdW1iZXJzOiB0cnVlLFxuXHRcdFx0dGFiU2l6ZTogNFxuXHRcdH0pO1xuXHRcdFxuXHRcdHRoaXMuX2JpbmRFdmVudEhhbmRsZXJzKCk7XG5cdFx0XG5cdFx0JC5tYXRlcmlhbC5pbml0KCk7XG5cdFx0XG5cdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyQ29udHJvbGxlckluaXRpYWxpemVkKHRoaXMuJG1vZGFsLCBbJ0N1c3RvbVN0eWxlc01vZGFsJ10pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRGVzdHJveSBDb250cm9sbGVyXG5cdCAqL1xuXHRkZXN0cm95KCkge1xuXHRcdE1vZGFsLmhpZGUodGhpcy4kbW9kYWwpO1xuXHRcdEV2ZW50c0VtaXR0ZXIudHJpZ2dlckNvbnRyb2xsZXJEZXN0cm95ZWQodGhpcy4kbW9kYWwsIFsnQ3VzdG9tU3R5bGVzTW9kYWwnXSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogU2F2ZSBCdXR0b24gQ2xpY2tcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9vbkNsaWNrU2F2ZSgpIHtcblx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJDdXN0b21TdHlsZXNDaGFuZ2VkKHRoaXMuJG1vZGFsLCBbdGhpcy5jb2RlRWRpdG9yLmdldFZhbHVlKCldKTtcblx0XHR0aGlzLmRlc3Ryb3koKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEV2ZW50OiBRdWljay1TYXZlIEJ1dHRvbiBDbGlja1xuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tRdWlja1NhdmUoKSB7XG5cdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyQ3VzdG9tU3R5bGVzQ2hhbmdlZCh0aGlzLiRtb2RhbCwgW3RoaXMuY29kZUVkaXRvci5nZXRWYWx1ZSgpXSk7XG5cdFx0JCgnLmJ0bi5zYXZlJywgJy5zdHlsZS1lZGl0LWNvbnRhaW5lcicpLnRyaWdnZXIoJ2NsaWNrJyk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQ2FuY2VsIEJ1dHRvbiBDbGlja1xuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tDYW5jZWwoKSB7XG5cdFx0dGhpcy5kZXN0cm95KCk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQ2FuY2VsIEJ1dHRvbiBDbGlja1xuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tGdWxsc2NyZWVuVG9nZ2xlKCkge1xuXHRcdCQoJy5jdXN0b20tc3R5bGVzJywgdGhpcy4kbW9kYWwpLnRvZ2dsZUNsYXNzKCdmdWxsc2NyZWVuJyk7XG5cdFx0JCgnLnRvZ2dsZS1pY29uJywgdGhpcy4kbW9kYWwpLnRvZ2dsZUNsYXNzKCdoaWRkZW4nKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEJpbmQgRXZlbnQgSGFuZGxlcnNcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9iaW5kRXZlbnRIYW5kbGVycygpIHtcblx0XHR0aGlzLiRtb2RhbFxuXHRcdFx0Lm9uKCdjbGljaycsICcuYnRuLnF1aWNrc2F2ZScsICgpID0+IHRoaXMuX29uQ2xpY2tRdWlja1NhdmUoKSlcblx0XHRcdC5vbignY2xpY2snLCAnLmJ0bi5zYXZlJywgKCkgPT4gdGhpcy5fb25DbGlja1NhdmUoKSlcblx0XHRcdC5vbignY2xpY2snLCAnLmJ0bi5jYW5jZWwnLCAoKSA9PiB0aGlzLl9vbkNsaWNrQ2FuY2VsKCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4uZnVsbHNjcmVlbi10b2dnbGUnLCAoKSA9PiB0aGlzLl9vbkNsaWNrRnVsbHNjcmVlblRvZ2dsZSgpKTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRHVwbGljYXRlU3R5bGVNb2RhbC5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKiBnbG9iYWxzIC1Nb2RhbCAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCBNb2RhbCBmcm9tICcuLi9saWJzL01vZGFsJzsgXG5pbXBvcnQgRXZlbnRzRW1pdHRlciBmcm9tICcuLi9saWJzL0V2ZW50c0VtaXR0ZXInO1xuaW1wb3J0IFN0eWxlQXBpIGZyb20gJy4uL2FwaS9TdHlsZUFwaSc7XG5cbi8qKlxuICogRHVwbGljYXRlIFN0eWxlIE1vZGFsIENvbnRyb2xsZXJcbiAqXG4gKiBUaGlzIGNvbnRyb2xsZXIgaGFuZGxlcyB0aGUgc3R5bGUgZHVwbGljYXRpb24gb3BlcmF0aW9uLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEdXBsaWNhdGVTdHlsZU1vZGFsIHtcblx0LyoqXG5cdCAqIENsYXNzIENvbnN0cnVjdG9yXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBzdHlsZU5hbWUgU3R5bGUgbmFtZSB0byBiZSBkdXBsaWNhdGVkLlxuXHQgKi9cblx0Y29uc3RydWN0b3Ioc3R5bGVOYW1lKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhzdHlsZU5hbWUpO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFRoZSBtb2RhbCBzZWxlY3Rvci5cblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtqUXVlcnl9XG5cdFx0ICovXG5cdFx0dGhpcy4kbW9kYWwgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFN0eWxlIG5hbWUgdG8gYmUgZHVwbGljYXRlZC5cblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmd9XG5cdFx0ICovXG5cdFx0dGhpcy5zdHlsZU5hbWUgPSBzdHlsZU5hbWU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIENvbnRyb2xsZXJcblx0ICovXG5cdGluaXRpYWxpemUoKSB7XG5cdFx0Y29uc3QgZGF0YSA9IHtcblx0XHRcdHRpdGxlX2R1cGxpY2F0ZV9zdHlsZV9tb2RhbDogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgndGl0bGVfZHVwbGljYXRlX3N0eWxlX21vZGFsJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdHBsYWNlaG9sZGVyX3N0eWxlX25hbWU6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3BsYWNlaG9sZGVyX3N0eWxlX25hbWUnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0b3B0aW9uX2NyZWF0ZTogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnb3B0aW9uX2NyZWF0ZScsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRvcHRpb25fY2FuY2VsOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fY2FuY2VsJywgJ3N0eWxlX2VkaXQnKVxuXHRcdH07XG5cdFx0XG5cdFx0dGhpcy4kbW9kYWwgPSBNb2RhbC5zaG93KCQoJyNkdXBsaWNhdGUtc3R5bGUtbW9kYWwtdGVtcGxhdGUnKSwgZGF0YSk7XG5cdFx0XG5cdFx0Ly8gRm9jdXMgc3R5bGUtbmFtZSBpbnB1dCBmaWVsZC5cblx0XHR0aGlzLiRtb2RhbC5maW5kKCdpbnB1dFtuYW1lPVwic3R5bGUtbmFtZVwiXScpLmZvY3VzKCk7XG5cdFx0XG5cdFx0dGhpcy5fYmluZEV2ZW50SGFuZGxlcnMoKTtcblx0XHRcblx0XHQkLm1hdGVyaWFsLmluaXQoKTtcblx0XHRcblx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJDb250cm9sbGVySW5pdGlhbGl6ZWQodGhpcy4kbW9kYWwsIFsnRHVwbGljYXRlU3R5bGVNb2RhbCddKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIERlc3Ryb3kgQ29udHJvbGxlclxuXHQgKi9cblx0ZGVzdHJveSgpIHtcblx0XHRNb2RhbC5oaWRlKHRoaXMuJG1vZGFsKTtcblx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJDb250cm9sbGVyRGVzdHJveWVkKHRoaXMuJG1vZGFsLCBbJ0R1cGxpY2F0ZVN0eWxlTW9kYWwnXSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogRHVwbGljYXRlIEJ1dHRvbiBDbGlja1xuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeS5FdmVudH0gZXZlbnRcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9vbkNsaWNrQ3JlYXRlKGV2ZW50KSB7XG5cdFx0Y29uc3QgJGVsZW1lbnQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXHRcdGNvbnN0ICRuZXdTdHlsZU5hbWUgPSB0aGlzLiRtb2RhbC5maW5kKCdpbnB1dFtuYW1lPVwic3R5bGUtbmFtZVwiXScpO1xuXHRcdFxuXHRcdCRuZXdTdHlsZU5hbWUucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ2hhcy1lcnJvcicpO1xuXHRcdFxuXHRcdGlmICgkbmV3U3R5bGVOYW1lLnZhbCgpID09PSAnJykge1xuXHRcdFx0JG5ld1N0eWxlTmFtZS5wYXJlbnQoKS5hZGRDbGFzcygnaGFzLWVycm9yJyk7XG5cdFx0XHQkbmV3U3R5bGVOYW1lLmZvY3VzKCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdFxuXHRcdFN0eWxlQXBpLmR1cGxpY2F0ZSh0aGlzLnN0eWxlTmFtZSwgJG5ld1N0eWxlTmFtZS52YWwoKSkuZG9uZShyZXNwb25zZSA9PiB7XG5cdFx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJTdHlsZUNyZWF0ZWQoJGVsZW1lbnQsIFtyZXNwb25zZV0pO1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQ2FuY2VsIEJ1dHRvbiBDbGlja1xuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tDYW5jZWwoKSB7XG5cdFx0dGhpcy5kZXN0cm95KCk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBCaW5kIG1vZGFsIGV2ZW50IGhhbmRsZXJzLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X2JpbmRFdmVudEhhbmRsZXJzKCkge1xuXHRcdHRoaXMuJG1vZGFsXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4uY3JlYXRlJywgZXZlbnQgPT4gdGhpcy5fb25DbGlja0NyZWF0ZShldmVudCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4uY2FuY2VsJywgKCkgPT4gdGhpcy5fb25DbGlja0NhbmNlbCgpKTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRWRpdFN0eWxlVmlldy5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKiBnbG9iYWxzIC1Nb2RhbCAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCBKc29uUGFyc2VyIGZyb20gJy4uL2xpYnMvSnNvblBhcnNlcic7XG5pbXBvcnQgTW9kYWwgZnJvbSAnLi4vbGlicy9Nb2RhbCc7XG5pbXBvcnQgUm91dGVyIGZyb20gJy4uL2xpYnMvUm91dGVyJztcbmltcG9ydCBFdmVudHNFbWl0dGVyIGZyb20gJy4uL2xpYnMvRXZlbnRzRW1pdHRlcic7XG5pbXBvcnQgV2lkZ2V0Q29udmVydGVyIGZyb20gJy4uL2xpYnMvV2lkZ2V0Q29udmVydGVyJztcbmltcG9ydCBTdHlsZUFwaSBmcm9tICcuLi9hcGkvU3R5bGVBcGknO1xuaW1wb3J0IENhY2hlQXBpIGZyb20gJy4uL2FwaS9DYWNoZUFwaSc7XG5pbXBvcnQgRmlsdGVyQm94IGZyb20gJy4uL3dpZGdldHMvRmlsdGVyQm94JztcblxuLyoqXG4gKiBFZGl0IFN0eWxlIFZpZXcgQ29udHJvbGxlclxuICpcbiAqIFRoaXMgY29udHJvbGxlciBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHN0eWxlIGVkaXRpbmcgdmlldyBvZiB0aGUgcGFnZS4gSXQgd2lsbCBmZXRjaCB0aGVcbiAqIHN0eWxlcyBjb25maWd1cmF0aW9uIGRhdGEgZnJvbSB0aGUgc2VydmVyIGFuZCBkaXNwbGF5IHRoZW0gdG8gdGhlIFVJLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFZGl0U3R5bGVWaWV3IHtcblx0LyoqXG5cdCAqIENsYXNzIENvbnN0cnVjdG9yXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBzdHlsZU5hbWUgVGhlIHN0eWxlIG5hbWUgdG8gYmUgZWRpdGVkLlxuXHQgKi9cblx0Y29uc3RydWN0b3Ioc3R5bGVOYW1lKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhzdHlsZU5hbWUpO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFRoZSBuYW1lIG9mIHRoZSBsb2FkZWQgc3R5bGUuXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdHRoaXMuc3R5bGVOYW1lID0gc3R5bGVOYW1lO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFN0eWxlIENvbmZpZ3VyYXRpb24gRW50aXR5XG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3R5bGVDb25maWd1cmF0aW9ufVxuXHRcdCAqL1xuXHRcdHRoaXMuc3R5bGVDb25maWd1cmF0aW9uID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBUaGUgb3JpZ2luYWwgSlNPTiBzdHJpbmcgdXNlZCBmb3IgZGV0ZXJtaW5pbmcgY2hhbmdlcy5cblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmd9XG5cdFx0ICovXG5cdFx0dGhpcy5vcmlnaW5hbFN0eWxlSnNvbiA9IG51bGw7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogQ29udGFpbnMgYSBsaXN0IHdpdGggdGhlIHRlbXBsYXRlIGltYWdlIGZpbGUgbmFtZXMuXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nW119XG5cdFx0ICovXG5cdFx0dGhpcy50ZW1wbGF0ZUltYWdlcyA9IG51bGw7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIENvbnRyb2xsZXJcblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LlByb21pc2V9IFdpbGwgYmUgcmVzb2x2ZWQgb25jZSB0aGUgbWV0aG9kIGlzIHJlYWR5LlxuXHQgKi9cblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRjb25zdCBkZWZlcnJlZCA9ICQuRGVmZXJyZWQoKTtcblx0XHRcblx0XHRTdHlsZUFwaS5nZXQodGhpcy5zdHlsZU5hbWUpLmRvbmUocmVzcG9uc2UgPT4ge1xuXHRcdFx0Ly8gQWRkIHRoZSB0ZW1wbGF0ZSB0cmFuc2xhdGlvbnMgdG8gdGhlIExhbmd1YWdlIG9iamVjdC4gXG5cdFx0XHRTdHlsZUVkaXQuTGFuZ3VhZ2UuYWRkU2VjdGlvbigndGVtcGxhdGUnLCByZXNwb25zZS5sYW5nKTtcblx0XHRcdFxuXHRcdFx0Ly8gU3RvcmUgdGhlIHRlbXBsYXRlIGltYWdlcyBmb3IgZnV0dXJlIHJlZmVyZW5jZS4gXG5cdFx0XHR0aGlzLnRlbXBsYXRlSW1hZ2VzID0gcmVzcG9uc2UuaW1hZ2VzO1xuXHRcdFx0XG5cdFx0XHQvLyBQYXJzZSB0aGUgSlNPTiBkYXRhIGFuZCBkaXNwbGF5IHRoZSBzZXR0aW5nIHdpZGdldHMuXG5cdFx0XHR0aGlzLnN0eWxlQ29uZmlndXJhdGlvbiA9IEpzb25QYXJzZXIuZGVjb2RlU3R5bGVDb25maWd1cmF0aW9uKHJlc3BvbnNlLmNvbmZpZyk7XG5cdFx0XHRcblx0XHRcdC8vIFN0b3JlIHRoZSByZXNwb25zZSBmb3IgZnV0dXJlIHJlZmVyZW5jZSAoc2VlIF9vbkNsaWNrQmFjayBmdW5jdGlvbikuXG5cdFx0XHR0aGlzLm9yaWdpbmFsU3R5bGVKc29uID0gSnNvblBhcnNlci5lbmNvZGVTdHlsZUNvbmZpZ3VyYXRpb24odGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24pO1xuXHRcdFx0XG5cdFx0XHR0aGlzLl9sb2FkVmlld1RlbXBsYXRlKCk7XG5cdFx0XHRcblx0XHRcdEV2ZW50c0VtaXR0ZXIudHJpZ2dlckNvbnRyb2xsZXJJbml0aWFsaXplZCgkKCcuc3R5bGUtZWRpdC12aWV3JyksIFsnRWRpdFN0eWxlVmlldyddKTtcblx0XHRcdFxuXHRcdFx0ZGVmZXJyZWQucmVzb2x2ZSgpO1xuXHRcdH0pO1xuXHRcdFxuXHRcdHJldHVybiBkZWZlcnJlZC5wcm9taXNlKCk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBEZXN0cm95IENvbnRyb2xsZXJcblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LlByb21pc2V9IFdpbGwgYmUgcmVzb2x2ZWQgb25jZSB0aGUgbWV0aG9kIGlzIHJlYWR5LlxuXHQgKi9cblx0ZGVzdHJveSgpIHtcblx0XHRjb25zdCBkZWZlcnJlZCA9ICQuRGVmZXJyZWQoKTtcblx0XHRjb25zdCAkc3R5bGVFZGl0VmlldyA9ICQoJy5zdHlsZS1lZGl0LXZpZXcnKTtcblx0XHRcblx0XHQkKCcuZWRpdC1vcHRpb25zLWNvbnRhaW5lcicpLnBlcmZlY3RTY3JvbGxiYXIoJ2Rlc3Ryb3knKTtcblx0XHRcblx0XHQkc3R5bGVFZGl0Vmlldy5mYWRlT3V0KDMwMCwgKCkgPT4ge1xuXHRcdFx0JHN0eWxlRWRpdFZpZXcuaHRtbCgnJyk7IC8vIFJlbW92ZSB0aGUgSFRNTCBjb2RlLlxuXHRcdFx0ZGVmZXJyZWQucmVzb2x2ZSgpO1xuXHRcdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyQ29udHJvbGxlckRlc3Ryb3llZCgkc3R5bGVFZGl0VmlldywgWydFZGl0U3R5bGVWaWV3J10pO1xuXHRcdH0pO1xuXHRcdFxuXHRcdCQoJy5lZGl0LXN0eWxlLXZpZXcsIC5lZGl0LW9wdGlvbnMtY29udGFpbmVyIC5vcHRpb24nKS5vZmYoKTtcblx0XHRcblx0XHQkKHdpbmRvdylcblx0XHRcdC5vZmYoJ3Jlc2l6ZScpXG5cdFx0XHQub2ZmKCdiZWZvcmV1bmxvYWQnKVxuXHRcdFx0Lm9mZignU3R5bGVFZGl0LkN1c3RvbVN0eWxlc0NoYW5nZWQnKTtcblx0XHRcblx0XHRyZXR1cm4gZGVmZXJyZWQucHJvbWlzZSgpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IFNhdmUgQnV0dG9uIENsaWNrXG5cdCAqXG5cdCAqIFNhdmUgdGhlIGN1cnJlbnQgc3R5bGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBhbmQgZGlzcGxheSBhIHN1Y2Nlc3Mgbm90aWZpY2F0aW9uLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tTYXZlKCkge1xuXHRcdFN0eWxlQXBpLnNhdmUodGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24pLmRvbmUoKCkgPT4ge1xuXHRcdFx0Ly8gRGlzcGxheSBkaWFsb2cgd2l0aCBzdWNjZXNzIG1lc3NhZ2UuXG5cdFx0XHRjb25zdCB0aXRsZSA9IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX3N0eWxlX3NhdmVkX3N1Y2Nlc3NmdWxseScsICdzdHlsZV9lZGl0Jyk7XG5cdFx0XHRjb25zdCBtZXNzYWdlID0gU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnbWVzc2FnZV9zdHlsZV9zYXZlZF9zdWNjZXNzZnVsbHknLCAnc3R5bGVfZWRpdCcpO1xuXHRcdFx0bGV0IGludGVydmFsO1xuXHRcdFx0XG5cdFx0XHRNb2RhbC5tZXNzYWdlKHRpdGxlLCBtZXNzYWdlKS5kb25lKCgpID0+IHtcblx0XHRcdFx0Y2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG5cdFx0XHR9KTtcblx0XHRcdFxuXHRcdFx0Ly8gVGhlIG1vZGFsIHdpbGwgY2xvc2UgYXV0b21hdGljYWxseSBpbiAzIHNlY29uZHMuIFxuXHRcdFx0Y29uc3QgJG1vZGFsID0gJCgnLnN0eWxlLWVkaXQtbW9kYWw6dmlzaWJsZScpO1xuXHRcdFx0Y29uc3QgYnV0dG9uVGV4dCA9ICRtb2RhbC5maW5kKCcuYnRuLm9rJykudGV4dCgpO1xuXHRcdFx0bGV0IHNlY29uZHNMZWZ0ID0gMztcblx0XHRcdFxuXHRcdFx0JG1vZGFsLmZpbmQoJy5idG4ub2snKS50ZXh0KGJ1dHRvblRleHQgKyAnICgnICsgc2Vjb25kc0xlZnQgKyAnKScpO1xuXHRcdFx0XG5cdFx0XHRpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcblx0XHRcdFx0c2Vjb25kc0xlZnQtLTtcblx0XHRcdFx0XG5cdFx0XHRcdGlmIChzZWNvbmRzTGVmdCA9PT0gMCkge1xuXHRcdFx0XHRcdCRtb2RhbC5maW5kKCcuYnRuLm9rJykuY2xpY2soKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCRtb2RhbC5maW5kKCcuYnRuLm9rJykudGV4dChidXR0b25UZXh0ICsgJyAoJyArIHNlY29uZHNMZWZ0ICsgJyknKTtcblx0XHRcdH0sIDEwMDApO1xuXHRcdFx0XG5cdFx0XHQvLyBTYXZlIGEgY29weSBvZiB0aGUgY3VycmVudCBzdHlsZSBmb3IgbGF0ZXIgdXNlLlxuXHRcdFx0dGhpcy5vcmlnaW5hbFN0eWxlSnNvbiA9IEpzb25QYXJzZXIuZW5jb2RlU3R5bGVDb25maWd1cmF0aW9uKHRoaXMuc3R5bGVDb25maWd1cmF0aW9uKTtcblx0XHRcdFxuXHRcdFx0Ly8gV2UgbmVlZCB0byBjbGVhciB0aGUgY2FjaGUgb2YgdGhlIHNhdmVkIHN0eWxlLiBUaGlzIGNhbiBvbmx5IGJlIGRvbmUgYnkgbWFraW5nIGEgR0VUIHJlcXVlc3QgdG8gdGhlIFxuXHRcdFx0Ly8gXCJnbV9keW5hbWljLmNzcy5waHBcIiB3aXRoIHRoZSBcInJlbmV3X2NhY2hlXCIgcGFyYW1ldGVyLiBPbmNlIHRoZSByZXF1ZXN0IGlzIGRvbmUgdGhlIGlmcmFtZSBwcmV2aWV3IFxuXHRcdFx0Ly8gbmVlZHMgdG8gYmUgcmVsb2FkZWQuXG5cdFx0XHRjb25zdCBtYWluQ3NzVXJsID0gU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ3ByZXZpZXdVcmwnKSArICcvJ1xuXHRcdFx0XHQrICQoJyNtYWluLWNzcycsICQoJy5zdHlsZS1lZGl0LXByZXZpZXcgaWZyYW1lJykuY29udGVudHMoKSkuYXR0cignaHJlZicpO1xuXHRcdFx0XG5cdFx0XHRDYWNoZUFwaS5yZW5ldyhtYWluQ3NzVXJsLCB0aGlzLnN0eWxlQ29uZmlndXJhdGlvbi5nZXROYW1lKCkpLmRvbmUoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLl9yZWxvYWRUZW1wbGF0ZVByZXZpZXcodGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24uZ2V0TmFtZSgpKTtcblx0XHRcdH0pO1xuXHRcdFx0XG5cdFx0XHQvLyBJZiB0aGUgY3VycmVudCBzdHlsZSBpcyBhY3RpdmUsIHJlZnJlc2ggaXRzIGNhY2hlIHRocm91Z2ggYW5vdGhlciBHRVQgcmVxdWVzdC4gXG5cdFx0XHRpZiAodGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24uaXNBY3RpdmUoKSkge1xuXHRcdFx0XHRDYWNoZUFwaS5yZW5ldyhtYWluQ3NzVXJsKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEV2ZW50OiBQcmV2aWV3IEJ1dHRvbiBDbGlja1xuXHQgKlxuXHQgKiBUaGlzIGNhbGxiYWNrIG11c3QgcmVmcmVzaCB0aGUgdGVtcGxhdGUgcHJldmlldyBiYXNlZCBvbiB0aGUgY3VycmVudCBzZXR0aW5ncy5cblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9vbkNsaWNrUHJldmlldygpIHtcblx0XHRTdHlsZUFwaS5zYXZlKHRoaXMuc3R5bGVDb25maWd1cmF0aW9uLCBTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcFN0eWxlTmFtZScpKS5kb25lKCgpID0+IHtcblx0XHRcdGNvbnN0IG1haW5Dc3NVcmwgPSBTdHlsZUVkaXQuQ29uZmlnLmdldCgncHJldmlld1VybCcpICsgJy8nXG5cdFx0XHRcdCsgJCgnI21haW4tY3NzJywgJCgnLnN0eWxlLWVkaXQtcHJldmlldyBpZnJhbWUnKS5jb250ZW50cygpKS5hdHRyKCdocmVmJyk7XG5cdFx0XHRDYWNoZUFwaS5yZW5ldyhtYWluQ3NzVXJsLCBTdHlsZUVkaXQuQ29uZmlnLmdldCgndGVtcFN0eWxlTmFtZScpKS5kb25lKCgpID0+IHtcblx0XHRcdFx0dGhpcy5fcmVsb2FkVGVtcGxhdGVQcmV2aWV3KFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0ZW1wU3R5bGVOYW1lJykpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQmFjayBCdXR0b24gQ2xpY2tcblx0ICpcblx0ICogVGhpcyBtZXRob2QgbXVzdCByZXR1cm4gdGhlIFN0eWxlRWRpdCBiYWNrIHRvIHRoZSBzdHlsZXMgbGlzdCB2aWV3LiBJdCBtdXN0IGRpc3BsYXkgYSB3YXJuaW5nXG5cdCAqIGlmIHRoZSB1c2VyIGhhcyB1bnNhdmVkIGNoYW5nZXMuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja0JhY2soKSB7XG5cdFx0dGhpcy5fdmFsaWRhdGVVbnNhdmVkQ2hhbmdlcygpLmRvbmUoKCkgPT4gdGhpcy5fZ29CYWNrVG9NeVN0eWxlc1ZpZXcoKSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQWRkIEN1c3RvbSBDU1MgQ2xpY2tcblx0ICpcblx0ICogVGhpcyBjYWxsYmFjayBtdXN0IGRpc3BsYXkgdGhlIGN1c3RvbSBzdHlsZXMgbW9kYWwgd2hlcmUgdGhlIHVzZXIgaXMgYWJsZSB0byB3cml0ZVxuXHQgKiBoaXMgb3duIENTUyBvciBTQVNTIHRvIGJlIGluY2x1ZGVkIGluIHRoZSB0ZW1wbGF0ZSBzdHlsaW5nLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tBZGRDdXN0b21Dc3MoKSB7XG5cdFx0Um91dGVyLmxvYWQoJ0N1c3RvbVN0eWxlc01vZGFsJywgW3RoaXMuc3R5bGVDb25maWd1cmF0aW9uLmdldEN1c3RvbVN0eWxlcygpXSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQWN0aXZhdGUgQnV0dG9uIENsaWNrXG5cdCAqXG5cdCAqIFRoaXMgYnV0dG9uIG11c3QgYWN0aXZhdGUgdGhlIGN1cnJlbnQgc3R5bGUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7alF1ZXJ5LkV2ZW50fSBldmVudFxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tBY3RpdmF0ZShldmVudCkge1xuXHRcdGNvbnN0ICRlbGVtZW50ID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcblx0XHRcblx0XHRTdHlsZUFwaS5hY3RpdmF0ZSh0aGlzLnN0eWxlTmFtZSkuZG9uZSgoKSA9PiB7XG5cdFx0XHRjb25zdCBodG1sID0gYDxzcGFuIGNsYXNzPVwic3RhdHVzXCI+JHtTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdsYWJlbF9hY3RpdmUnLCAnc3R5bGVfZWRpdCcpfTwvc3Bhbj5gO1xuXHRcdFx0JCgnLmVkaXQtc3R5bGUtdmlldyAuaGVhZGxpbmUgLmRhdGUtc3RhdHVzJykuYXBwZW5kKGh0bWwpO1xuXHRcdFx0JGVsZW1lbnRcblx0XHRcdFx0LmFkZCgkZWxlbWVudC5zaWJsaW5ncygnLmFjdGlvbi5kZWxldGUnKSlcblx0XHRcdFx0LnJlbW92ZSgpO1xuXHRcdH0pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IERlbGV0ZSBCdXR0b24gQ2xpY2tcblx0ICpcblx0ICogRGVsZXRlIHRoZSBjdXJyZW50IHN0eWxlLiBUaGlzIGNhbGxiYWNrIG11c3QgZGlzcGxheSBhIG1vZGFsIHByb21wdCB0byB0aGUgdXNlciBiZWZvcmVcblx0ICogcmVtb3ZpbmcgdGhlIHN0eWxlLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tEZWxldGUoKSB7XG5cdFx0Y29uc3QgdGl0bGUgPSBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCd0aXRsZV9kZWxldGVfc3R5bGVfbW9kYWwnLCAnc3R5bGVfZWRpdCcpO1xuXHRcdGNvbnN0IG1lc3NhZ2UgPSBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdtZXNzYWdlX2RlbGV0ZV9zdHlsZV9tb2RhbCcsICdzdHlsZV9lZGl0Jyk7XG5cdFx0XG5cdFx0TW9kYWwucHJvbXB0KHRpdGxlLCBtZXNzYWdlKS5kb25lKCgpID0+IHtcblx0XHRcdFN0eWxlQXBpLmRlbGV0ZSh0aGlzLnN0eWxlTmFtZSkuZG9uZShyZXNwb25zZSA9PiB7XG5cdFx0XHRcdEV2ZW50c0VtaXR0ZXIudHJpZ2dlclN0eWxlRGVsZXRlZCgkKCcuZWRpdC1zdHlsZS12aWV3JyksIFtyZXNwb25zZV0pO1xuXHRcdFx0XHR0aGlzLmRlc3Ryb3koKS5kb25lKCgpID0+IFJvdXRlci5sb2FkKCdNeVN0eWxlc1ZpZXcnKSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEV2ZW50OiBPcHRpb24gR3JvdXAgQmFyIENsaWNrXG5cdCAqXG5cdCAqIEBwYXJhbSB7alF1ZXJ5LkV2ZW50fSBldmVudFxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tPcHRpb25Hcm91cEJhcihldmVudCkge1xuXHRcdCQoZXZlbnQuY3VycmVudFRhcmdldCkucGFyZW50KCkudG9nZ2xlQ2xhc3MoJ29wZW4nKTtcblx0XHQkKCcuZWRpdC1vcHRpb25zLWNvbnRhaW5lcicpLnBlcmZlY3RTY3JvbGxiYXIoJ3VwZGF0ZScpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IFdpbmRvdyBSZXNpemVcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9vbldpbmRvd1Jlc2l6ZSgpIHtcblx0XHR0aGlzLl9yZXNpemVPcHRpb25zQ29udGFpbmVyKCk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogT24gV2luZG93IEJlZm9yZSBVbmxvYWRcblx0ICpcblx0ICogQ2hlY2sgaWYgdGhlcmUgYXJlIHVuc2F2ZWQgY2hhbmdlcy5cblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnkuRXZlbnR9IGV2ZW50XG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25XaW5kb3dCZWZvcmVVbmxvYWQoZXZlbnQpIHtcblx0XHRjb25zdCBjdXJyZW50U3R5bGVKc29uID0gSnNvblBhcnNlci5lbmNvZGVTdHlsZUNvbmZpZ3VyYXRpb24odGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24pO1xuXHRcdFxuXHRcdGlmIChjdXJyZW50U3R5bGVKc29uICE9PSB0aGlzLm9yaWdpbmFsU3R5bGVKc29uKSB7XG5cdFx0XHRjb25zdCBtZXNzYWdlID0gU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnbWVzc2FnZV91bnNhdmVkX2NoYW5nZXMnLCAnc3R5bGVfZWRpdCcpO1xuXHRcdFx0ZXZlbnQucmV0dXJuVmFsdWUgPSBtZXNzYWdlO1xuXHRcdFx0cmV0dXJuIG1lc3NhZ2U7XG5cdFx0fVxuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IFJlLW9yZGVyIHRoZSBib3ggc2V0dGluZ3MuXG5cdCAqXG5cdCAqIFRoaXMgbWV0aG9kIHdpbGwgdXBkYXRlIHRoZSBwb3NpdGlvbiBvZiB0aGUgYm94IHNldHRpbmdzLlxuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeS5FdmVudH0gZXZlbnRcblx0ICogXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25VcGRhdGVCb3hQb3NpdGlvbnMoZXZlbnQpIHtcblx0XHQkKGV2ZW50LmN1cnJlbnRUYXJnZXQpLmZpbmQoJy5mb3JtLWdyb3VwJykuZWFjaCgoaW5kZXgsIGZvcm1Hcm91cCkgPT4ge1xuXHRcdFx0Y29uc3QgJGVsZW1lbnQgPSAkKGZvcm1Hcm91cCk7XG5cdFx0XHRcblx0XHRcdCQuZWFjaCh0aGlzLnN0eWxlQ29uZmlndXJhdGlvbi5nZXRTZXR0aW5ncygpLCAoaW5kZXgsIGNvbGxlY3Rpb24pID0+IHtcblx0XHRcdFx0aWYgKGNvbGxlY3Rpb24uZ2V0VHlwZSgpID09PSAnYm94ZXMnKSB7XG5cdFx0XHRcdFx0JC5lYWNoKGNvbGxlY3Rpb24uZ2V0RW50cmllcygpLCAoaW5kZXgsIGJveFNldHRpbmcpID0+IHtcblx0XHRcdFx0XHRcdGlmIChib3hTZXR0aW5nLmdldE5hbWUoKSA9PT0gJGVsZW1lbnQuZmluZCgnaW5wdXQ6Y2hlY2tib3gnKS5hdHRyKCdpZCcpKSB7XG5cdFx0XHRcdFx0XHRcdGJveFNldHRpbmcuc2V0UG9zaXRpb24oJGVsZW1lbnQuaW5kZXgoKSArIDEpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEV2ZW50OiBDdXN0b20gU3R5bGVzIENoYW5nZWRcblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnkuRXZlbnR9IGV2ZW50XG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBjdXN0b21TdHlsZXMgQ29udGFpbnMgdGhlIG5ldyBjdXN0b20gQ1NTLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ3VzdG9tU3R5bGVzQ2hhbmdlZChldmVudCwgY3VzdG9tU3R5bGVzKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhjdXN0b21TdHlsZXMpO1xuXHRcdHRoaXMuc3R5bGVDb25maWd1cmF0aW9uLnNldEN1c3RvbVN0eWxlcyhjdXN0b21TdHlsZXMpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogTmF2aWdhdGVzIGJhY2sgdG8gTXlTdHlsZXNWaWV3IGNvbnRyb2xsZXIuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfZ29CYWNrVG9NeVN0eWxlc1ZpZXcoKSB7XG5cdFx0dGhpcy5kZXN0cm95KCkuZG9uZSgoKSA9PiBSb3V0ZXIubG9hZCgnTXlTdHlsZXNWaWV3JywgW3RoaXMuc3R5bGVOYW1lXSkpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogUmVsb2FkIHRoZSB0ZW1wbGF0ZSBwcmV2aWV3LlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gc3R5bGVOYW1lIFN0eWxlIG5hbWUgd2lsbCBiZSBwcm92aWRlZCBhcyBhIEdFVCBwYXJhbWV0ZXIgdG8gdGhlIHNob3AuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfcmVsb2FkVGVtcGxhdGVQcmV2aWV3KHN0eWxlTmFtZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcoc3R5bGVOYW1lKTtcblx0XHRcblx0XHRsZXQgdXJsID0gJCgnLnN0eWxlLWVkaXQtcHJldmlldyBpZnJhbWUnKS5nZXQoMCkuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuXHRcdGNvbnN0IHBhcmFtZXRlciA9ICdzdHlsZV9lZGl0X3N0eWxlX25hbWU9JyArIGVuY29kZVVSSUNvbXBvbmVudChzdHlsZU5hbWUpO1xuXHRcdFxuXHRcdGlmICh1cmwuaW5kZXhPZignc3R5bGVfZWRpdF9zdHlsZV9uYW1lPScpID4gLTEpIHtcblx0XHRcdHVybCA9IHVybC5yZXBsYWNlKC9zdHlsZV9lZGl0X3N0eWxlX25hbWU9LiovZywgcGFyYW1ldGVyKTtcblx0XHR9IGVsc2UgaWYgKHVybC5pbmRleE9mKCc/JykgPT09IC0xKSB7XG5cdFx0XHR1cmwgKz0gJz8nICsgcGFyYW1ldGVyO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR1cmwgKz0gJyYnICsgcGFyYW1ldGVyO1xuXHRcdH1cblx0XHRcblx0XHQkKCcuc3R5bGUtZWRpdC1wcmV2aWV3IGlmcmFtZScpLmdldCgwKS5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG5cdFx0XG5cdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyUHJldmlld1JlbG9hZGVkKCQoJy5lZGl0LXN0eWxlLXZpZXcnKSwgW3N0eWxlTmFtZV0pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogQmluZCBldmVudCBoYW5kbGVycyBmb3IgdGhlIHNldHRpbmdzIHZpZXcuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfYmluZEV2ZW50SGFuZGxlcnMoKSB7XG5cdFx0JCgnLmVkaXQtc3R5bGUtdmlldycpXG5cdFx0XHQub2ZmKCdjbGljaycpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4uc2F2ZScsICgpID0+IHRoaXMuX29uQ2xpY2tTYXZlKCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4ucHJldmlldycsICgpID0+IHRoaXMuX29uQ2xpY2tQcmV2aWV3KCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4uYmFjaycsICgpID0+IHRoaXMuX29uQ2xpY2tCYWNrKCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5hY3Rpb24uYWN0aXZhdGUnLCBldmVudCA9PiB0aGlzLl9vbkNsaWNrQWN0aXZhdGUoZXZlbnQpKVxuXHRcdFx0Lm9uKCdjbGljaycsICcuYWN0aW9uLmRlbGV0ZScsICgpID0+IHRoaXMuX29uQ2xpY2tEZWxldGUoKSlcblx0XHRcdC5vbignY2xpY2snLCAnLmFjdGlvbi5hZGQtY3VzdG9tLWNzcycsICgpID0+IHRoaXMuX29uQ2xpY2tBZGRDdXN0b21Dc3MoKSlcblx0XHRcdC5vbignc29ydHVwZGF0ZScsICcuZHJvcGRvd24tbWVudS51aS1zb3J0YWJsZScsIGV2ZW50ID0+IHRoaXMuX29uVXBkYXRlQm94UG9zaXRpb25zKGV2ZW50KSk7XG5cdFx0XG5cdFx0JCgnLmVkaXQtb3B0aW9ucy1jb250YWluZXIgLm9wdGlvbicpXG5cdFx0XHQub2ZmKCdjbGljaycpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5pY29uLCAuaW5mbywgLmRyb3Bkb3duLWljb24nLCBldmVudCA9PiB0aGlzLl9vbkNsaWNrT3B0aW9uR3JvdXBCYXIoZXZlbnQpKTtcblx0XHRcblx0XHQkKHdpbmRvdylcblx0XHRcdC5vbigncmVzaXplJywgKCkgPT4gdGhpcy5fb25XaW5kb3dSZXNpemUoKSlcblx0XHRcdC5vbignYmVmb3JldW5sb2FkJywgZXZlbnQgPT4gdGhpcy5fb25XaW5kb3dCZWZvcmVVbmxvYWQoZXZlbnQpKVxuXHRcdFx0Lm9uKCdTdHlsZUVkaXQuQ3VzdG9tU3R5bGVzQ2hhbmdlZCcsIChldmVudCwgY3VzdG9tU3R5bGVzKSA9PiB0aGlzLl9vbkN1c3RvbVN0eWxlc0NoYW5nZWQoZXZlbnQsIGN1c3RvbVN0eWxlcykpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogUmVzaXplIE9wdGlvbnMgQ29udGFpbmVyXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfcmVzaXplT3B0aW9uc0NvbnRhaW5lcigpIHtcblx0XHRjb25zdCBlZGl0T3B0aW9uc0NvbnRhaW5lckhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodFxuXHRcdFx0LSAkKCcuc3R5bGUtZWRpdC1oZWFkbGluZScpLm91dGVySGVpZ2h0KClcblx0XHRcdC0gJCgnLmVkaXQtc3R5bGUtdmlldyAuaGVhZGxpbmUnKS5vdXRlckhlaWdodCgpXG5cdFx0XHQtICQoJy5lZGl0LXN0eWxlLXZpZXcgLmZvb3Rlci1jb250YWluZXInKS5vdXRlckhlaWdodCgpO1xuXHRcdCQoJy5lZGl0LW9wdGlvbnMtY29udGFpbmVyJykuaGVpZ2h0KGVkaXRPcHRpb25zQ29udGFpbmVySGVpZ2h0KTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIFNldCBMb2NhbCBTdG9yYWdlIENvbG9yIFBhbGV0dGVcblx0ICpcblx0ICogVGhlIGNvbG9ycGlja2VyIHdpZGdldHMgc2hhcmUgdGhlaXIgcGFsZXR0ZSB0aHJvdWdoIHRoZSBcInN0eWxlX2VkaXRfY29sb3JfcGFsZXR0ZVwiIGl0ZW0gaW4gdGhlXG5cdCAqIGJyb3dzZXIncyBsb2NhbCBzdG9yYWdlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gY29sb3JQYWxldHRlIENvbnRhaW5zIHRoZSBjb2xvcnMgdG8gYmUgd3JpdHRlbiBpbiBsb2NhbCBzdG9yYWdlLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X3NldExvY2FsU3RvcmFnZUNvbG9yUGFsZXR0ZShjb2xvclBhbGV0dGUpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KGNvbG9yUGFsZXR0ZSk7XG5cdFx0XG5cdFx0aWYgKHdpbmRvdy5sb2NhbFN0b3JhZ2UgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0U3R5bGVFZGl0LkRlYnVnLndhcm4oJ0xvY2FsIHN0b3JhZ2UgaXMgbm90IHN1cHBvcnRlZCwgbm8gY29sb3IgcGFsZXR0ZSB3aWxsIGJlIHNldC4nKTtcblx0XHRcdHJldHVybjsgLy8gbG9jYWwgc3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkXG5cdFx0fVxuXHRcdFxuXHRcdGNvbnN0IHN0b3JhZ2VLZXkgPSBTdHlsZUVkaXQuQ29uZmlnLmdldCgnbG9jYWxTdG9yYWdlQ29sb3JQYWxldHRlJyk7XG5cdFx0bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oc3RvcmFnZUtleSk7XG5cdFx0bG9jYWxTdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgJzsnICsgY29sb3JQYWxldHRlLmpvaW4oJzsnKSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBWYWxpZGF0ZWQgd2hldGhlciB0aGVyZSBhcmUgdW5zYXZlZCBjaGFuZ2VzLlxuXHQgKlxuXHQgKiBVc2UgdGhpcyBtZXRob2QgYmVmb3JlIGxlYXZpbmcgdGhlIEVkaXRTdHlsZVZpZXcgdG8gdmFsaWRhdGUgd2hldGhlciB0aGVyZSBhcmUgdW5zYXZlZCBjaGFuZ2VzLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuUHJvbWlzZX0gUmV0dXJucyBhIHByb21pc2UgdGhhdCB3aWxsIGJlIHJlc29sdmVkIGlmIHRoZSB1c2VyIHJlYWxseSB3YW50cyB0byBsZWF2ZSB0aGUgcGFnZS5cblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF92YWxpZGF0ZVVuc2F2ZWRDaGFuZ2VzKCkge1xuXHRcdC8vIFdvcmthcm91bmQgZm9yIHF1aWNrbHkgY2hlY2tpbmcgaWYgdGhlcmUgYXJlIGFueSBjaGFuZ2VzIGlzIHRvIGVuY29kZSB0aGUgXCJzdHlsZUNvbmZpZ3VyYXRpb25cIiBcblx0XHQvLyBhbmQgdGhlIFwib3JpZ2luYWxTdHlsZUpzb25cIi5cblx0XHRjb25zdCBjdXJyZW50U3R5bGVKc29uID0gSnNvblBhcnNlci5lbmNvZGVTdHlsZUNvbmZpZ3VyYXRpb24odGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24pO1xuXHRcdGxldCBwcm9taXNlO1xuXHRcdFxuXHRcdGlmIChjdXJyZW50U3R5bGVKc29uICE9PSB0aGlzLm9yaWdpbmFsU3R5bGVKc29uKSB7XG5cdFx0XHRjb25zdCB0aXRsZSA9IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX3Vuc2F2ZWRfY2hhbmdlcycsICdzdHlsZV9lZGl0Jyk7XG5cdFx0XHRjb25zdCBtZXNzYWdlID0gU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnbWVzc2FnZV91bnNhdmVkX2NoYW5nZXMnLCAnc3R5bGVfZWRpdCcpO1xuXHRcdFx0cHJvbWlzZSA9IE1vZGFsLnByb21wdCh0aXRsZSwgbWVzc2FnZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHByb21pc2UgPSAkLkRlZmVycmVkKCkucmVzb2x2ZSgpOyAvLyBOb3RoaW5nIHdhcyBjaGFuZ2VkLlxuXHRcdH1cblx0XHRcblx0XHRyZXR1cm4gcHJvbWlzZTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIExvYWQgdGhlIHNldHRpbmdzIHRlbXBsYXRlIHZpZXcuXG5cdCAqXG5cdCAqIFRoaXMgbWV0aG9kIHdpbGwgY3JlYXRlIHRoZSBjb3JyZWN0IEhUTUwgZm9yIHRoZSBzdHlsZSBzZXR0aW5ncyBieSB1c2luZyB0aGVcblx0ICogU3R5bGVDb25maWd1cmF0aW9uIG9iamVjdC5cblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9sb2FkVmlld1RlbXBsYXRlKCkge1xuXHRcdGlmICh0aGlzLnN0eWxlQ29uZmlndXJhdGlvbiA9PT0gbnVsbCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdUaGUgY29udHJvbGxlciB3YXMgbm90IGluaXRpYWxpemVkIHByb3Blcmx5ISBUaGVyZSBpcyBubyBzdHlsZSBjb25maWd1cmF0aW9uIHNldC4nKTtcblx0XHR9XG5cdFx0XG5cdFx0Y29uc3QgdGVtcGxhdGUgPSAkKCcjZWRpdC1zdHlsZS12aWV3LXRlbXBsYXRlJykuaHRtbCgpO1xuXHRcdGNvbnN0IGRhdGEgPSBKc29uUGFyc2VyLmVuY29kZVN0eWxlQ29uZmlndXJhdGlvbih0aGlzLnN0eWxlQ29uZmlndXJhdGlvbiwgZmFsc2UpO1xuXHRcdGxldCBuZXdFbnRyaWVzQXJyYXk7XG5cdFx0Y29uc3Qgd2lkZ2V0SW5zdGFuY2VzID0gW107XG5cdFx0Y29uc3QgY29sb3JQYWxldHRlID0gW107XG5cdFx0Y29uc3QgZGF0ZUZvcm1hdCA9IFN0eWxlRWRpdC5Db25maWcuZ2V0KCdsYW5ndWFnZUNvZGUnKSA9PT0gJ2RlJyA/ICdkZC5NTS55eXl5JyA6ICdNTS5kZC55eXl5JzsgXG5cdFx0XG5cdFx0Ly8gQWRkIHRyYW5zbGF0aW9ucyBhbmQgb3RoZXIgbGFiZWxzLiBcblx0XHRkYXRhLmxhYmVsX2FjdGl2ZSA9IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ2xhYmVsX2FjdGl2ZScsICdzdHlsZV9lZGl0Jyk7XG5cdFx0ZGF0YS5vcHRpb25fYWRkX2N1c3RvbV9jc3MgPSBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fYWRkX2N1c3RvbV9jc3MnLCAnc3R5bGVfZWRpdCcpO1xuXHRcdGRhdGEub3B0aW9uX2FjdGl2YXRlID0gU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnb3B0aW9uX2FjdGl2YXRlJywgJ3N0eWxlX2VkaXQnKTtcblx0XHRkYXRhLm9wdGlvbl9kZWxldGUgPSBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fZGVsZXRlJywgJ3N0eWxlX2VkaXQnKTtcblx0XHRkYXRhLm1vZGlmaWNhdGlvbkRhdGUgPSBEYXRlLnBhcnNlKGRhdGEubW9kaWZpY2F0aW9uRGF0ZSkudG9TdHJpbmcoZGF0ZUZvcm1hdCk7XG5cdFx0ZGF0YS5vcHRpb25fc2F2ZSA9IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl9zYXZlJywgJ3N0eWxlX2VkaXQnKTtcblx0XHRkYXRhLm9wdGlvbl9wcmV2aWV3ID0gU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnb3B0aW9uX3ByZXZpZXcnLCAnc3R5bGVfZWRpdCcpO1xuXHRcdGRhdGEub3B0aW9uX2JhY2sgPSBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fYmFjaycsICdzdHlsZV9lZGl0Jyk7XG5cdFx0XG5cdFx0JC5lYWNoKGRhdGEuc2V0dGluZ3MsIChpbmRleCwgY29sbGVjdGlvbikgPT4ge1xuXHRcdFx0Y29sbGVjdGlvbi50aXRsZSA9IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoY29sbGVjdGlvbi5uYW1lLCAndGVtcGxhdGUnKTtcblx0XHRcdG5ld0VudHJpZXNBcnJheSA9IFtdOyAvLyByZXNldCBhcnJheVxuXHRcdFx0XG5cdFx0XHRpZiAoY29sbGVjdGlvbi50eXBlID09PSAnYm94ZXMnKSB7XG5cdFx0XHRcdGNvbGxlY3Rpb24uZW50cmllcy5zb3J0KChhLCBiKSA9PiB7XG5cdFx0XHRcdFx0aWYgKGEucG9zaXRpb24gPCBiLnBvc2l0aW9uKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gLTE7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChhLnBvc2l0aW9uID4gYi5wb3NpdGlvbikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiAwO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0JC5lYWNoKGNvbGxlY3Rpb24uZW50cmllcywgKGluZGV4LCBlbnRyeSkgPT4ge1xuXHRcdFx0XHQvLyBDaGVjayBpZiB0aGUgc2V0dGluZyBpcyBhIGNvbG9yIGFuZCBpZiBpdCBiZWxvbmdzIGluIHRoZSBjb2xvciBwYWxldHRlLlxuXHRcdFx0XHRpZiAoZGF0YS5jb2xvclBhbGV0dGUpIHtcblx0XHRcdFx0XHQkLmVhY2goZGF0YS5jb2xvclBhbGV0dGUsIChpbmRleCwgdmFyaWFibGVOYW1lKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAodmFyaWFibGVOYW1lID09PSBlbnRyeS5uYW1lICYmIGVudHJ5LnR5cGUgPT09ICdjb2xvcicpIHtcblx0XHRcdFx0XHRcdFx0Y29sb3JQYWxldHRlLnB1c2goZW50cnkudmFsdWUpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQvLyBDcmVhdGUgdGhlIHNldHRpbmcgaW5zdGFuY2UuXG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Y29uc3Qgd2lkZ2V0SW5zdGFuY2UgPSBXaWRnZXRDb252ZXJ0ZXIuY29udmVydFNldHRpbmdUb1dpZGdldChlbnRyeSwgdGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24sXG5cdFx0XHRcdFx0XHR0aGlzLnRlbXBsYXRlSW1hZ2VzKTtcblx0XHRcdFx0XHQvLyBQdXNoIHRoZSBpbnN0YW5jZXMgdG8gdGhlaXIgcmVzcGVjdGl2ZSBhcnJheXMuXG5cdFx0XHRcdFx0bmV3RW50cmllc0FycmF5LnB1c2god2lkZ2V0SW5zdGFuY2UpO1xuXHRcdFx0XHRcdHdpZGdldEluc3RhbmNlcy5wdXNoKHdpZGdldEluc3RhbmNlKTtcblx0XHRcdFx0fSBjYXRjaCAoZXhjZXB0aW9uKSB7XG5cdFx0XHRcdFx0U3R5bGVFZGl0LkRlYnVnLmVycm9yKCdTdHlsZUVkaXQgRXJyb3I6ICcsIGV4Y2VwdGlvbik7XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7IC8vIGNvbnRpbnVlXG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0XG5cdFx0XHRjb2xsZWN0aW9uLmVudHJpZXMgPSBuZXdFbnRyaWVzQXJyYXk7XG5cdFx0fSk7XG5cdFx0XG5cdFx0Ly8gUmVuZGVyIHRoZSB0ZW1wbGF0ZSBhbmQgYmluZCB0aGUgZXZlbnQgaGFuZGxlcnMuXG5cdFx0JCgnLnN0eWxlLWVkaXQtdmlldycpLmh0bWwoTXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLCBkYXRhKSkuZmFkZUluKCk7XG5cdFx0dGhpcy5fYmluZEV2ZW50SGFuZGxlcnMoKTtcblx0XHRcblx0XHQvLyBJbml0aWFsaXplIHRoZSB3aWRnZXRzIFxuXHRcdCQuZWFjaCh3aWRnZXRJbnN0YW5jZXMsIChpbmRleCwgd2lkZ2V0KSA9PiB7XG5cdFx0XHR3aWRnZXQuaW5pdGlhbGl6ZSgpOyAvLyB3aWxsIGJpbmQgdGhlIGV2ZW50IGhhbmRsZXJzIFxuXHRcdH0pO1xuXHRcdFxuXHRcdC8vIFNldCB0aGUgbG9jYWwgc3RvcmFnZSBjb2xvciBwYWxldHRlIHNvIHRoYXQgd2FsbCB0aGUgY29sb3JwaWNrZXJzIHNoYXJlIHRoZSBzYW1lIHBhbGV0dGUuXG5cdFx0dGhpcy5fc2V0TG9jYWxTdG9yYWdlQ29sb3JQYWxldHRlKGNvbG9yUGFsZXR0ZSk7XG5cdFx0XG5cdFx0Ly8gQWRkIG1hdGVyaWFsIGRlc2lnbiBlZmZlY3RzIHRvIG5ldyBvYmplY3RzLiBcblx0XHQkLm1hdGVyaWFsLmluaXQoKTtcblx0XHRcblx0XHQvLyBBZGQgc29ydGFibGUgZnVuY3Rpb25hbGl0eSB0byBib3hlcy4gXG5cdFx0JCgnLnN0eWxlLWVkaXQtdmlldyAuZm9ybS1ncm91cCAuZmEtYmFycycpXG5cdFx0XHQucGFyZW50cygnLmRyb3Bkb3duLW1lbnUnKVxuXHRcdFx0LnNvcnRhYmxlKHtcblx0XHRcdFx0YXhpczogJ3knLFxuXHRcdFx0XHRvcGFjaXR5OiAwLjUsXG5cdFx0XHRcdGNvbnRhaW5tZW50OiAncGFyZW50J1xuXHRcdFx0fSk7XG5cdFx0XG5cdFx0Ly8gQWRkIHNjcm9sbGJhcnMuXG5cdFx0dGhpcy5fcmVzaXplT3B0aW9uc0NvbnRhaW5lcigpO1xuXHRcdCQoJy5lZGl0LW9wdGlvbnMtY29udGFpbmVyJykucGVyZmVjdFNjcm9sbGJhcigpO1xuXHRcdFxuXHRcdC8vIEluaXRpYWxpemUgdGhlIGZpbHRlciBib3ggd2lkZ2V0LiBcblx0XHR0aGlzLmZpbHRlckJveCA9IG5ldyBGaWx0ZXJCb3goJCgnLmZpbHRlci1ib3gtd3JhcHBlcicpLCAkKCcuZWRpdC1vcHRpb25zJyksICQoJy5lZGl0LW9wdGlvbnMtY29udGFpbmVyJyksIFxuXHRcdFx0dGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24pO1xuXHRcdHRoaXMuZmlsdGVyQm94LmluaXRpYWxpemUoKTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgTXlTdHlsZXNWaWV3LmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qIGdsb2JhbHMgLU1vZGFsICovXG5cbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IEFqYXggZnJvbSAnLi4vbGlicy9BamF4JztcbmltcG9ydCBNb2RhbCBmcm9tICcuLi9saWJzL01vZGFsJztcbmltcG9ydCBSb3V0ZXIgZnJvbSAnLi4vbGlicy9Sb3V0ZXInO1xuaW1wb3J0IEV2ZW50c0VtaXR0ZXIgZnJvbSAnLi4vbGlicy9FdmVudHNFbWl0dGVyJztcbmltcG9ydCBTdHlsZUFwaSBmcm9tICcuLi9hcGkvU3R5bGVBcGknO1xuaW1wb3J0IFVzZXJBcGkgZnJvbSAnLi4vYXBpL1VzZXJBcGknO1xuaW1wb3J0IEJvaWxlcnBsYXRlQXBpIGZyb20gJy4uL2FwaS9Cb2lsZXJwbGF0ZUFwaSc7XG5pbXBvcnQgQ2FjaGVBcGkgZnJvbSAnLi4vYXBpL0NhY2hlQXBpJztcblxuLyoqXG4gKiBNeVN0eWxlc1ZpZXcgQ29udHJvbGxlclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNeVN0eWxlc1ZpZXcge1xuXHQvKipcblx0ICogQ2xhc3MgQ29uc3RydWN0b3Jcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdGVkU3R5bGVOYW1lIE9wdGlvbmFsIChudWxsKSwgd2hldGhlciB0byBzZWxlY3QgYSBzcGVjaWZpYyBzdHlsZSBmcm9tIHRoZSBsaXN0LlxuXHQgKi9cblx0Y29uc3RydWN0b3Ioc2VsZWN0ZWRTdHlsZU5hbWUgPSBudWxsKSB7XG5cdFx0LyoqXG5cdFx0ICogU2VsZWN0ZWQgU3R5bGUgTmFtZVxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLnNlbGVjdGVkU3R5bGVOYW1lID0gc2VsZWN0ZWRTdHlsZU5hbWU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIENvbnRyb2xsZXJcblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LlByb21pc2V9IFdpbGwgYmUgcmVzb2x2ZWQgb25jZSB0aGUgbWV0aG9kIGlzIHJlYWR5LlxuXHQgKi9cblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRjb25zdCBkZWZlcnJlZCA9ICQuRGVmZXJyZWQoKTtcblx0XHRcblx0XHRTdHlsZUFwaS5saXN0KCkuZG9uZShzdHlsZXMgPT4ge1xuXHRcdFx0dGhpcy5fbG9hZFZpZXdUZW1wbGF0ZShzdHlsZXMuY29uZmlnKTtcblx0XHRcdHRoaXMuX2JpbmRFdmVudEhhbmRsZXJzKCk7XG5cdFx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJDb250cm9sbGVySW5pdGlhbGl6ZWQoJCgnLnN0eWxlLWVkaXQtdmlldycpLCBbJ015U3R5bGVzVmlldyddKTtcblx0XHRcdGRlZmVycmVkLnJlc29sdmUoKTtcblx0XHR9KTtcblx0XHRcblx0XHRyZXR1cm4gZGVmZXJyZWQucHJvbWlzZSgpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRGVzdHJveSBDb250cm9sbGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge2pRdWVyeS5Qcm9taXNlfSBXaWxsIGJlIHJlc29sdmVkIG9uY2UgdGhlIG1ldGhvZCBpcyByZWFkeS5cblx0ICovXG5cdGRlc3Ryb3koKSB7XG5cdFx0Y29uc3QgZGVmZXJyZWQgPSAkLkRlZmVycmVkKCk7XG5cdFx0Y29uc3QgJHN0eWxlRWRpdFZpZXcgPSAkKCcuc3R5bGUtZWRpdC12aWV3Jyk7XG5cdFx0XG5cdFx0JCgnLnN0eWxlcy1jb250YWluZXInKS5wZXJmZWN0U2Nyb2xsYmFyKCdkZXN0cm95Jyk7XG5cdFx0XG5cdFx0JHN0eWxlRWRpdFZpZXcuZmFkZU91dCgzMDAsICgpID0+IHtcblx0XHRcdCRzdHlsZUVkaXRWaWV3Lmh0bWwoJycpOyAvLyBSZW1vdmUgdGhlIEhUTUwgY29kZS5cblx0XHRcdEV2ZW50c0VtaXR0ZXIudHJpZ2dlckNvbnRyb2xsZXJEZXN0cm95ZWQoJHN0eWxlRWRpdFZpZXcsIFsnTXlTdHlsZXNWaWV3J10pO1xuXHRcdFx0ZGVmZXJyZWQucmVzb2x2ZSgpO1xuXHRcdH0pO1xuXHRcdFxuXHRcdCQoJy5teS1zdHlsZXMtbGlzdCwgLnN0eWxlcy1saXN0Jykub2ZmKCk7XG5cdFx0XG5cdFx0cmV0dXJuIGRlZmVycmVkLnByb21pc2UoKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEV2ZW50OiBDbGljayB0aGUgY3JlYXRlIG5ldyBzdHlsZSBidXR0b24uXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja0NyZWF0ZVN0eWxlKCkge1xuXHRcdFJvdXRlci5sb2FkKCdDcmVhdGVTdHlsZU1vZGFsJyk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQ2xpY2sgdGhlIHVwbG9hZCBzdHlsZSBidXR0b24uXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja1VwbG9hZFN0eWxlKCkge1xuXHRcdFJvdXRlci5sb2FkKCdVcGxvYWRTdHlsZU1vZGFsJyk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQ2xpY2sgdGhlIHRlcm1pbmF0ZSBidXR0b24uXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja1Rlcm1pbmF0ZSgpIHtcblx0XHRVc2VyQXBpLmxvZ291dCgpLmRvbmUoKCkgPT4ge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJBcHBUZXJtaW5hdGVkKCQoJy5zdHlsZS1lZGl0LXZpZXcnKSwgWydNeVN0eWxlc1ZpZXcnXSk7XG5cdFx0XHR3aW5kb3cubG9jYXRpb24ucmVwbGFjZShTdHlsZUVkaXQuQ29uZmlnLmdldCgncHJldmlld1VybCcpKTtcblx0XHR9KTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEFjdGl2YXRlIENvbmZpZ3VyYXRpb25cblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnkuRXZlbnR9IGV2ZW50XG5cdCAqIFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tBY3RpdmF0ZVN0eWxlKGV2ZW50KSB7XG5cdFx0Y29uc3QgJGVsZW1lbnQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXHRcdGNvbnN0IHN0eWxlTmFtZSA9ICRlbGVtZW50LnBhcmVudHMoJy5lbGVtZW50JykuZmluZCgnLmluZm8gLm5hbWUnKS50ZXh0KCk7XG5cdFx0XG5cdFx0U3R5bGVBcGkuYWN0aXZhdGUoc3R5bGVOYW1lKS5kb25lKChzdHlsZXMpID0+IHtcblx0XHRcdEV2ZW50c0VtaXR0ZXIudHJpZ2dlclN0eWxlQWN0aXZhdGVkKCRlbGVtZW50LCBbc3R5bGVOYW1lXSk7XG5cdFx0XHR0aGlzLl9sb2FkVmlld1RlbXBsYXRlKHN0eWxlcyk7XG5cdFx0XHR0aGlzLl9iaW5kRXZlbnRIYW5kbGVycygpO1xuXHRcdFx0XG5cdFx0XHQvLyBOb3cgd2UgaGF2ZSBhIG5ldyBzdGFuZGFyZCBzdHlsZS4gU28gbGV0J3MgcmVuZXcgdGhlIENTUyBjYWNoZSAuLi5cblx0XHRcdGxldCB1cmwgPSAkKCcjbWFpbi1jc3MnLCAkKCcuc3R5bGUtZWRpdC1wcmV2aWV3IGlmcmFtZScpLmNvbnRlbnRzKCkpLmF0dHIoJ2hyZWYnKTtcblx0XHRcdFxuXHRcdFx0aWYgKHVybC5pbmRleE9mKCcmc3R5bGVfbmFtZT0nKSA+IC0xKSB7XG5cdFx0XHRcdHVybCA9IHVybC5yZXBsYWNlKC8mc3R5bGVfbmFtZT0uKi9nLCAnJyk7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdGlmICh1cmwuaW5kZXhPZignJnJlbmV3X2NhY2hlPTEnKSA9PT0gLTEpIHtcblx0XHRcdFx0dXJsICs9ICcmcmVuZXdfY2FjaGU9MSc7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdEFqYXguZ2V0KFN0eWxlRWRpdC5Db25maWcuZ2V0KCdwcmV2aWV3VXJsJykgKyAnLycgKyB1cmwpLmRvbmUoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBwYXJhbWV0ZXIgPSAnP3N0eWxlX2VkaXRfc3R5bGVfbmFtZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHN0eWxlTmFtZSk7XG5cdFx0XHRcdGNvbnN0IHVybCA9IFN0eWxlRWRpdC5Db25maWcuZ2V0KCdwcmV2aWV3VXJsJykgKyBwYXJhbWV0ZXI7XG5cdFx0XHRcdCQoJy5zdHlsZS1lZGl0LXByZXZpZXcgaWZyYW1lJykuYXR0cignc3JjJywgdXJsKTtcblx0XHRcdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyUHJldmlld1JlbG9hZGVkKCQoJy5zdHlsZS1lZGl0LXZpZXcnKSwgW3N0eWxlTmFtZV0pO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogRWRpdCBDb25maWd1cmF0aW9uXG5cdCAqXG5cdCAqIFRoaXMgbWV0aG9kIG11c3Qgb3BlbiB0aGUgZWRpdCBzZXR0aW5ncyB2aWV3LlxuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeS5FdmVudH0gZXZlbnRcblx0ICogXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja0VkaXRTdHlsZShldmVudCkge1xuXHRcdGNvbnN0IHN0eWxlTmFtZSA9ICQoZXZlbnQuY3VycmVudFRhcmdldCkucGFyZW50cygnLmVsZW1lbnQnKS5maW5kKCcuaW5mbyAubmFtZScpLnRleHQoKTtcblx0XHRcblx0XHR0aGlzLmRlc3Ryb3koKS5kb25lKCgpID0+IHtcblx0XHRcdFJvdXRlci5sb2FkKCdFZGl0U3R5bGVWaWV3JywgW3N0eWxlTmFtZV0pO1xuXHRcdH0pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IER1cGxpY2F0ZSBDb25maWd1cmF0aW9uXG5cdCAqXG5cdCAqIEBwYXJhbSB7alF1ZXJ5LkV2ZW50fSBldmVudFxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uQ2xpY2tEdXBsaWNhdGVTdHlsZShldmVudCkge1xuXHRcdFJvdXRlci5sb2FkKCdEdXBsaWNhdGVTdHlsZU1vZGFsJywgWyQoZXZlbnQuY3VycmVudFRhcmdldCkucGFyZW50cygnLmVsZW1lbnQnKS5maW5kKCcuaW5mbyAubmFtZScpLnRleHQoKV0pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRGVsZXRlIENvbmZpZ3VyYXRpb25cblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnkuRXZlbnR9IGV2ZW50XG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja0RlbGV0ZVN0eWxlKGV2ZW50KSB7XG5cdFx0Y29uc3QgJGVsZW1lbnQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXHRcdGNvbnN0IHRpdGxlID0gU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgndGl0bGVfZGVsZXRlX3N0eWxlX21vZGFsJywgJ3N0eWxlX2VkaXQnKTtcblx0XHRjb25zdCBtZXNzYWdlID0gU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnbWVzc2FnZV9kZWxldGVfc3R5bGVfbW9kYWwnLCAnc3R5bGVfZWRpdCcpO1xuXHRcdFxuXHRcdE1vZGFsLnByb21wdCh0aXRsZSwgbWVzc2FnZSkuZG9uZSgoKSA9PiB7XG5cdFx0XHRjb25zdCBzdHlsZU5hbWUgPSAkZWxlbWVudC5wYXJlbnRzKCcuZWxlbWVudCcpLmZpbmQoJy5pbmZvIC5uYW1lJykudGV4dCgpO1xuXHRcdFx0XG5cdFx0XHRTdHlsZUFwaS5kZWxldGUoc3R5bGVOYW1lKS5kb25lKChzdHlsZXMpID0+IHtcblx0XHRcdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyU3R5bGVEZWxldGVkKCRlbGVtZW50LCBbc3R5bGVOYW1lXSk7XG5cdFx0XHRcdHRoaXMuX2xvYWRWaWV3VGVtcGxhdGUoc3R5bGVzKTtcblx0XHRcdFx0dGhpcy5fYmluZEV2ZW50SGFuZGxlcnMoKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IFN0eWxlIFNlbGVjdGVkXG5cdCAqXG5cdCAqIFRoaXMgY2FsbGJhY2sgbXVzdCByZWZyZXNoIHRoZSB0ZW1wbGF0ZSBwcmV2aWV3IGJhc2VkIG9uIHRoZSBzZWxlY3RlZCBzdHlsZS5cblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnkuRXZlbnR9IGV2ZW50XG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja1N0eWxlRWxlbWVudChldmVudCkge1xuXHRcdGNvbnN0ICRlbGVtZW50ID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcblx0XHRcblx0XHRpZiAoZXZlbnQudGFyZ2V0ID09PSAkZWxlbWVudC5maW5kKCcuZHJvcGRvd24taWNvbiBpJykuZ2V0KDApIFxuXHRcdFx0fHwgZXZlbnQudGFyZ2V0ID09PSAkZWxlbWVudC5maW5kKCcuZHJvcGRvd24taWNvbiBpJykuZ2V0KDEpKSB7XG5cdFx0XHRyZXR1cm47IC8vIFRoZSB1c2VyIGp1c3QgY2xpY2tlZCBpbiB0aGUgZHJvcGRvd24gaWNvbiwgc28gZG8gbm90IHJlZnJlc2ggdGhlIGlmcmFtZS5cblx0XHR9XG5cdFx0XG5cdFx0JCgnLnN0eWxlcy1saXN0IC5lbGVtZW50LnNlbGVjdGVkJykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7XG5cdFx0JGVsZW1lbnQuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG5cdFx0XG5cdFx0Y29uc3Qgc3R5bGVOYW1lID0gJCh0aGlzKS5maW5kKCcubmFtZScpLnRleHQoKTtcblx0XHRjb25zdCBwYXJhbWV0ZXIgPSAnP3N0eWxlX2VkaXRfc3R5bGVfbmFtZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KCRlbGVtZW50LmZpbmQoJy5uYW1lJykudGV4dCgpKTtcblx0XHRjb25zdCB1cmwgPSBTdHlsZUVkaXQuQ29uZmlnLmdldCgncHJldmlld1VybCcpICsgcGFyYW1ldGVyO1xuXHRcdGNvbnN0IGlmcmFtZVNyYyA9ICQoJy5zdHlsZS1lZGl0LXByZXZpZXcgaWZyYW1lJykuYXR0cignc3JjJyk7XG5cdFx0Y29uc3QgaXNBY3RpdmUgPSAkZWxlbWVudC5maW5kKCcuc3RhdHVzOnZpc2libGUnKS5sZW5ndGggPiAwO1xuXHRcdFxuXHRcdGlmIChpZnJhbWVTcmMgPT09IHVybCB8fCAoaXNBY3RpdmUgJiYgaWZyYW1lU3JjID09PSBTdHlsZUVkaXQuQ29uZmlnLmdldCgncHJldmlld1VybCcpKSkge1xuXHRcdFx0cmV0dXJuOyAvLyBUaGUgb2xkIHByZXZpZXcgVVJMIGFuZCB0aGUgbmV3IGFyZSB0aGUgc2FtZSBzbyBkbyBub3QgcGVyZm9ybSBhIHJlbG9hZC5cblx0XHR9XG5cdFx0XG5cdFx0JCgnLnN0eWxlLWVkaXQtcHJldmlldyBpZnJhbWUnKS5hdHRyKCdzcmMnLCB1cmwpO1xuXHRcdEV2ZW50c0VtaXR0ZXIudHJpZ2dlclByZXZpZXdSZWxvYWRlZCgkKCcuc3R5bGUtZWRpdC12aWV3JyksIFtzdHlsZU5hbWVdKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEV2ZW50OiBOZXcgU3R5bGUgQ3JlYXRlZFxuXHQgKlxuXHQgKiBUaGlzIGhhbmRsZXIgd2lsbCB0cmlnZ2VyIHRoZSBsaXN0IHJlZnJlc2guIFRoZSBuZXcgc3R5bGUgbXVzdCBhbHNvIGJlIHNlbGVjdGVkXG5cdCAqIGFmdGVyIHRoZSBsaXN0IGhhcyBjb21wbGV0ZWQgbG9hZGluZy5cblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnkuRXZlbnR9IGV2ZW50XG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25TdHlsZUNyZWF0ZWQoZXZlbnQsIHJlc3BvbnNlKSB7XG5cdFx0Y29uc3QgbWFpbkNzc1VybCA9IFN0eWxlRWRpdC5Db25maWcuZ2V0KCdwcmV2aWV3VXJsJykgKyAnLydcblx0XHRcdFx0KyAkKCcjbWFpbi1jc3MnLCAkKCcuc3R5bGUtZWRpdC1wcmV2aWV3IGlmcmFtZScpLmNvbnRlbnRzKCkpLmF0dHIoJ2hyZWYnKTtcblx0XHRcblx0XHRDYWNoZUFwaS5yZW5ldyhtYWluQ3NzVXJsLCByZXNwb25zZS5uYW1lKS5kb25lKCgpID0+IHtcblx0XHRcdFN0eWxlQXBpLmxpc3QoKS5kb25lKHN0eWxlcyA9PiB7XG5cdFx0XHRcdHRoaXMuX2xvYWRWaWV3VGVtcGxhdGUoc3R5bGVzLmNvbmZpZyk7XG5cdFx0XHRcdHRoaXMuX2JpbmRFdmVudEhhbmRsZXJzKCk7XG5cdFx0XHRcdCQoJy5teS1zdHlsZXMtdmlldyAuZWxlbWVudCAubmFtZScpLmZpbHRlcigoaW5kZXgsIGVsZW1lbnQpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gJChlbGVtZW50KS50ZXh0KCkgPT09IHJlc3BvbnNlLm5hbWU7XG5cdFx0XHRcdH0pLmNsaWNrKCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEV2ZW50OiBEb3dubG9hZCBTdHlsZVxuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeS5FdmVudH0gZXZlbnRcblx0ICogXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja0Rvd25sb2FkU3R5bGUoZXZlbnQpIHtcblx0XHRjb25zdCB1cmwgPSBTdHlsZUVkaXQuQ29uZmlnLmdldCgnYmFzZVVybCcpICsgJy9hcGkucGhwL3RlbXBsYXRlcy8nXG5cdFx0XHQrIFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0ZW1wbGF0ZScpICsgJy9kb3dubG9hZC8nXG5cdFx0XHQrIGVuY29kZVVSSUNvbXBvbmVudCgkKGV2ZW50LmN1cnJlbnRUYXJnZXQpLnBhcmVudHMoJy5lbGVtZW50JykuZmluZCgnLm5hbWUnKS50ZXh0KCkpXG5cdFx0XHQrIChTdHlsZUVkaXQuQ29uZmlnLmdldCgndGhlbWUnKSA/ICc/dGhlbWUnIDogJycpO1xuXHRcdHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IERyb3Bkb3duIFRvZ2dsZVxuXHQgKlxuXHQgKiBUaGlzIGV2ZW50IGhhbmRsZXIgaXMgdXNlZCBmb3IgdXBkYXRpbmcgdGhlIHNjcm9sbCBiYXJzLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uRHJvcGRvd25Ub2dnbGUoKSB7XG5cdFx0aWYgKCQoJy5zdHlsZXMtY29udGFpbmVyJykucGVyZmVjdFNjcm9sbGJhcikge1xuXHRcdFx0JCgnLnN0eWxlcy1jb250YWluZXInKS5wZXJmZWN0U2Nyb2xsYmFyKCd1cGRhdGUnKTtcblx0XHR9XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogV2luZG93IFJlc2l6ZVxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uV2luZG93UmVzaXplKCkge1xuXHRcdHRoaXMuX3Jlc2l6ZVN0eWxlc0NvbnRhaW5lcigpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogUmVzaXplIHN0eWxlcyBjb250YWluZXIuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfcmVzaXplU3R5bGVzQ29udGFpbmVyKCkge1xuXHRcdGNvbnN0IHN0eWxlc0NvbnRhaW5lckhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodFxuXHRcdFx0LSAkKCcuc3R5bGUtZWRpdC1oZWFkbGluZScpLm91dGVySGVpZ2h0KClcblx0XHRcdC0gJCgnLm15LXN0eWxlcy12aWV3IC5mb290ZXItY29udGFpbmVyJykub3V0ZXJIZWlnaHQoKTtcblx0XHQkKCcubXktc3R5bGVzLXZpZXcgLnN0eWxlcy1jb250YWluZXInKS5oZWlnaHQoc3R5bGVzQ29udGFpbmVySGVpZ2h0KTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIExvYWQgdmlldyB0ZW1wbGF0ZS5cblx0ICpcblx0ICogQHBhcmFtIHtPYmplY3RbXX0gc3R5bGVzIENvbnRhaW5zIHRoZSBleGlzdGluZyBzdHlsZSBjb25maWd1cmF0aW9ucyBkYXRhIGZvciB0aGUgbGlzdC5cblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9sb2FkVmlld1RlbXBsYXRlKHN0eWxlcykge1xuXHRcdGNvbnN0IHRlbXBsYXRlID0gJCgnI215LXN0eWxlcy12aWV3LXRlbXBsYXRlJykuaHRtbCgpO1xuXHRcdGNvbnN0IGRhdGEgPSB7XG5cdFx0XHR0aXRsZV9teV9zdHlsZXNfdmlldzogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgndGl0bGVfbXlfc3R5bGVzX3ZpZXcnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0bWVzc2FnZV9ub19zdHlsZXM6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ21lc3NhZ2Vfbm9fc3R5bGVzJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdG9wdGlvbl9uZXdfc3R5bGU6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl9uZXdfc3R5bGUnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0b3B0aW9uX3VwbG9hZF9zdHlsZTogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnb3B0aW9uX3VwbG9hZF9zdHlsZScsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRvcHRpb25fdGVybWluYXRlOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fdGVybWluYXRlJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdGF2YWlsYWJsZVN0eWxlczogc3R5bGVzLFxuXHRcdFx0bGFiZWxfYWN0aXZlOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdsYWJlbF9hY3RpdmUnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0b3B0aW9uX2FjdGl2YXRlOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fYWN0aXZhdGUnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0b3B0aW9uX2VkaXQ6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl9lZGl0JywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdG9wdGlvbl9kdXBsaWNhdGU6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl9kdXBsaWNhdGUnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0b3B0aW9uX2RlbGV0ZTogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnb3B0aW9uX2RlbGV0ZScsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRvcHRpb25fZG93bmxvYWQ6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl9kb3dubG9hZCcsICdzdHlsZV9lZGl0Jylcblx0XHR9O1xuXHRcdFxuXHRcdC8vIEFkZCBsYW5ndWFnZSB0cmFuc2xhdGlvbnMgdG8gdGhlIHN0eWxlcy5cblx0XHRjb25zdCBkYXRlRm9ybWF0ID0gU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ2xhbmd1YWdlQ29kZScpID09PSAnZGUnID8gJ2RkLk1NLnl5eXknIDogJ01NLmRkLnl5eXknO1xuXHRcdGxldCB0ZW1wU3R5bGVJbmRleCA9IC0xO1xuXHRcdFxuXHRcdCQuZWFjaChkYXRhLmF2YWlsYWJsZVN0eWxlcywgKGluZGV4LCBzdHlsZSkgPT4ge1xuXHRcdFx0aWYgKHN0eWxlLm5hbWUgPT09IFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0ZW1wU3R5bGVOYW1lJykpIHtcblx0XHRcdFx0dGVtcFN0eWxlSW5kZXggPSBpbmRleDtcblx0XHRcdFx0cmV0dXJuIHRydWU7IC8vIGNvbnRpbnVlXG5cdFx0XHR9XG5cdFx0XHRzdHlsZS5tb2RpZmljYXRpb25EYXRlID0gRGF0ZS5wYXJzZShzdHlsZS5tb2RpZmljYXRpb25EYXRlKS50b1N0cmluZyhkYXRlRm9ybWF0KTtcblx0XHR9KTtcblx0XHRcblx0XHQvLyBSZW1vdmUgdGhlIHRlbXBvcmFyeSBzdHlsZSBjb25maWcgZnJvbSB0aGUgYXJyYXkgb3IgY3JlYXRlIGl0IGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG5cdFx0aWYgKHRlbXBTdHlsZUluZGV4ID4gLTEpIHtcblx0XHRcdGRhdGEuYXZhaWxhYmxlU3R5bGVzLnNwbGljZSh0ZW1wU3R5bGVJbmRleCwgMSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2NyZWF0ZVRlbXBvcmFyeVN0eWxlKCk7XG5cdFx0fVxuXHRcdFxuXHRcdCQoJy5zdHlsZS1lZGl0LXZpZXcnKVxuXHRcdFx0Lmh0bWwoTXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLCBkYXRhKSlcblx0XHRcdC5mYWRlSW4oKVxuXHRcdFx0LmZpbmQoJy5zdHlsZXMtbGlzdCcpXG5cdFx0XHQub2ZmKCdjbGljaycpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5hY3Rpb24uYWN0aXZhdGUnLCBldmVudCA9PiB0aGlzLl9vbkNsaWNrQWN0aXZhdGVTdHlsZShldmVudCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5hY3Rpb24uZWRpdCcsIGV2ZW50ID0+IHRoaXMuX29uQ2xpY2tFZGl0U3R5bGUoZXZlbnQpKVxuXHRcdFx0Lm9uKCdjbGljaycsICcuYWN0aW9uLmR1cGxpY2F0ZScsIGV2ZW50ID0+IHRoaXMuX29uQ2xpY2tEdXBsaWNhdGVTdHlsZShldmVudCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5hY3Rpb24uZGVsZXRlJywgZXZlbnQgPT4gdGhpcy5fb25DbGlja0RlbGV0ZVN0eWxlKGV2ZW50KSlcblx0XHRcdC5vbignY2xpY2snLCAnLmFjdGlvbi5kb3dubG9hZCcsIGV2ZW50ID0+IHRoaXMuX29uQ2xpY2tEb3dubG9hZFN0eWxlKGV2ZW50KSlcblx0XHRcdC5vbignc2hvd24uYnMuZHJvcGRvd24gaGlkZGVuLmJzLmRyb3Bkb3duJywgJy5lbGVtZW50JywgKCkgPT4gdGhpcy5fb25Ecm9wZG93blRvZ2dsZSgpKTtcblx0XHRcblx0XHQvLyBFeHBsaWNpdGx5IHNlbGVjdCB0aGUgYWN0aXZlIGVsZW1lbnQgdXBvbiBpbml0aWFsaXphdGlvbi4gXG5cdFx0Y29uc3Qgc3R5bGVOYW1lID0gdGhpcy5zZWxlY3RlZFN0eWxlTmFtZSB8fCAkKCcuc3R5bGUtZWRpdC12aWV3IC5lbGVtZW50LmFjdGl2ZSAubmFtZScpLnRleHQoKTtcblx0XHRjb25zdCBwYXJhbWV0ZXIgPSAnP3N0eWxlX2VkaXRfc3R5bGVfbmFtZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHN0eWxlTmFtZSk7XG5cdFx0XG5cdFx0JCgnLnN0eWxlLWVkaXQtcHJldmlldyBpZnJhbWUnKS5hdHRyKCdzcmMnLCBTdHlsZUVkaXQuQ29uZmlnLmdldCgncHJldmlld1VybCcpICsgcGFyYW1ldGVyKTtcblx0XHQkKCcuc3R5bGUtZWRpdC12aWV3IC5lbGVtZW50LnNlbGVjdGVkJykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7XG5cdFx0JCgnLnN0eWxlLWVkaXQtdmlldyAuZWxlbWVudCAubmFtZScpLmZpbHRlcigoaW5kZXgsIGVsZW1lbnQpID0+IHtcblx0XHRcdHJldHVybiAkKGVsZW1lbnQpLnRleHQoKSA9PT0gc3R5bGVOYW1lO1xuXHRcdH0pLnBhcmVudHMoJy5lbGVtZW50JykuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG5cdFx0XG5cdFx0Ly8gQWRkIG1hdGVyaWFsIGRlc2lnbiBlZmZlY3RzIHRvIG5ldyBvYmplY3RzLiBcblx0XHQkLm1hdGVyaWFsLmluaXQoKTtcblx0XHRcblx0XHQvLyBBZGQgc2Nyb2xsYmFycy5cblx0XHR0aGlzLl9yZXNpemVTdHlsZXNDb250YWluZXIoKTtcblx0XHQkKCcuc3R5bGVzLWNvbnRhaW5lcicpLnBlcmZlY3RTY3JvbGxiYXIoKTsgXG5cdH1cblx0XG5cdC8qKlxuXHQgKiBDcmVhdGUgdGhlIHRlbXBvcmFyeSBzdHlsZSBjb25maWcuXG5cdCAqXG5cdCAqIFRoZSB0ZW1wb3Jhcnkgc3R5bGUgY29uZmlndXJhdGlvbiBpcyB1c2VkIHdoZW5ldmVyIHRoZSB1c2VyIHdhbnRzIHRvIHNlZSBoaXMgY3VycmVudCBjaGFuZ2VzXG5cdCAqIGluIHRoZSBlZGl0LXN0eWxlLXZpZXcgYXMgYSB3b3JrYXJvdW5kIHRvIHRoZSBjdXJyZW50IFBIUCBBUEkuIFRoYXQgbWVhbnMgdGhhdCB3aGVuZXZlciBTdHlsZUVkaXRcblx0ICogaXMgaW5pdGlhbGl6ZWQgaXQgaXMgcmVxdWlyZWQgdGhhdCB0aGlzIGZpbGUgaXMgcHJlc2VudCBvbiB0aGUgc2VydmVyLlxuXHQgKlxuXHQgKiBUaGUgdGVtcG9yYXJ5IGNvbmZpZ3VyYXRpb24gZmlsZSBtdXN0IG5vdCBiZSBkaXNwbGF5ZWQgaW4gdGhlIHN0eWxlcyBsaXN0LCBpdCBpcyB1c2VkIG9ubHkgaW50ZXJuYWxseS5cblx0ICpcblx0ICogWW91IGNhbiBnZXQgdGhlIHRlbXBvcmFyeSBzdHlsZSBuYW1lIGZyb20gdGhlIGNvbmZpZyBvYmplY3Q6IFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0ZW1wU3R5bGVOYW1lJykuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfY3JlYXRlVGVtcG9yYXJ5U3R5bGUoKSB7XG5cdFx0Qm9pbGVycGxhdGVBcGkubGlzdCgpLmRvbmUoKGJvaWxlcnBsYXRlcykgPT4ge1xuXHRcdFx0aWYgKGJvaWxlcnBsYXRlcy5jb25maWcubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBFcnJvcjogVGhlIGN1cnJlbnQgdGVtcGxhdGUgZG9lcyBub3QgaGF2ZSBhbnkgYm9pbGVycGxhdGUgY29uZmlndXJhdGlvbiAnXG5cdFx0XHRcdFx0KyAnZmlsZXMuJyk7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdFN0eWxlQXBpLmNyZWF0ZShib2lsZXJwbGF0ZXMuY29uZmlnWzBdLm5hbWUsIFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0ZW1wU3R5bGVOYW1lJykpO1xuXHRcdH0pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogQmluZCBlbGVtZW50IGV2ZW50IGhhbmRsZXJzLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X2JpbmRFdmVudEhhbmRsZXJzKCkge1xuXHRcdCQoJy5teS1zdHlsZXMtdmlldycpXG5cdFx0XHQub2ZmKCdjbGljaycpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5lbGVtZW50JywgZXZlbnQgPT4gdGhpcy5fb25DbGlja1N0eWxlRWxlbWVudChldmVudCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4uY3JlYXRlLXN0eWxlJywgKCkgPT4gdGhpcy5fb25DbGlja0NyZWF0ZVN0eWxlKCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4udXBsb2FkLXN0eWxlJywgKCkgPT4gdGhpcy5fb25DbGlja1VwbG9hZFN0eWxlKCkpXG5cdFx0XHQub24oJ2NsaWNrJywgJy5idG4udGVybWluYXRlJywgKCkgPT4gdGhpcy5fb25DbGlja1Rlcm1pbmF0ZSgpKTtcblx0XHRcblx0XHQkKCdib2R5Jylcblx0XHRcdC5vZmYoJ1N0eWxlRWRpdC5TdHlsZUNyZWF0ZWQnKVxuXHRcdFx0Lm9uKCdTdHlsZUVkaXQuU3R5bGVDcmVhdGVkJywgKGV2ZW50LCByZXNwb25zZSkgPT4gdGhpcy5fb25TdHlsZUNyZWF0ZWQoZXZlbnQsIHJlc3BvbnNlKSk7XG5cdFx0XG5cdFx0JCh3aW5kb3cpXG5cdFx0XHQub2ZmKCdyZXNpemUnKVxuXHRcdFx0Lm9uKCdyZXNpemUnLCAgKCkgPT4gdGhpcy5fb25XaW5kb3dSZXNpemUoKSk7XG5cdH1cbn1cblxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgUHJldmlld0ltYWdlTW9kYWwuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgTW9kYWwgZnJvbSAnLi4vbGlicy9Nb2RhbCc7IFxuaW1wb3J0IEV2ZW50c0VtaXR0ZXIgZnJvbSAnLi4vbGlicy9FdmVudHNFbWl0dGVyJztcblxuLyoqXG4gKiBVcGxvYWQgSW1hZ2UgTW9kYWwgQ29udHJvbGxlclxuICpcbiAqIFRoaXMgY29udHJvbGxlciB3aWxsIGhhbmRsZSB0aGUgaW1hZ2UgdXBsb2FkLiBBZnRlciBhIHN1Y2Nlc3NmdWwgdXBsb2FkIGl0IHdpbGwgc2V0IHRoZSBuZXdlc3RcbiAqIGltYWdlIHRvIHRoZSBzZXR0aW5nIHRoYXQgdHJpZ2dlcmVkIHRoZSB1cGxvYWQgYW5kIHRoZW4gaXQgd2lsbCBhbHNvIHVwZGF0ZSB0aGUgc2VsZWN0IGJveGVzIG9mXG4gKiBhbGwgdGhlIG90aGVyIGltYWdlIHdpZGdldHMsIHNvIHRoYXQgdGhlIG9wdGlvbiBpcyBhbHNvIGF2YWlsYWJsZSB0aGVyZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJldmlld0ltYWdlTW9kYWwge1xuXHQvKipcblx0ICogQ2xhc3MgQ29uc3RydWN0b3IgXG5cdCAqIFxuIFx0ICogQHBhcmFtIHtqUXVlcnl9ICR0YXJnZXQgU2VsZWN0IGJveCBzZWxlY3RvciBvZiB0aGUgc2V0dGluZyB0aGF0IHRyaWdnZXJlZCB0aGUgbW9kYWwuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcigkdGFyZ2V0KSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdCgkdGFyZ2V0KTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBTZWxlY3QgQm94XG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7alF1ZXJ5fVxuXHRcdCAqL1xuXHRcdHRoaXMuJHRhcmdldCA9ICR0YXJnZXQ7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogVGhlIG1vZGFsIHNlbGVjdG9yLlxuXHRcdCAqXG5cdFx0ICogQHR5cGUge2pRdWVyeX1cblx0XHQgKi9cblx0XHR0aGlzLiRtb2RhbCA9IG51bGw7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIENvbnRyb2xsZXJcblx0ICovXG5cdGluaXRpYWxpemUoKSB7XG5cdFx0Y29uc3QgZGF0YSA9IHtcblx0XHRcdHRpdGxlX3ByZXZpZXdfaW1hZ2VfbW9kYWw6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX3ByZXZpZXdfaW1hZ2VfbW9kYWwnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0aW1hZ2VfdXJsOiBTdHlsZUVkaXQuQ29uZmlnLmdldCgncHJldmlld1VybCcpICsgJy8nICsgU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ2ltYWdlc0RpcicpXG5cdFx0XHQrIHRoaXMuJHRhcmdldC5maW5kKCdvcHRpb246c2VsZWN0ZWQnKS50ZXh0KClcblx0XHR9O1xuXHRcdFxuXHRcdHRoaXMuJG1vZGFsID0gTW9kYWwuc2hvdygkKCcjcHJldmlldy1pbWFnZS1tb2RhbC10ZW1wbGF0ZScpLCBkYXRhKTtcblx0XHRcblx0XHR0aGlzLiRtb2RhbC5vbignY2xpY2snLCAnLmJ0bi5vaycsICgpID0+IHRoaXMuZGVzdHJveSgpKTtcblx0XHRcblx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJDb250cm9sbGVySW5pdGlhbGl6ZWQodGhpcy4kbW9kYWwsIFsnUHJldmlld0ltYWdlTW9kYWwnXSk7XG5cdFx0XG5cdFx0JC5tYXRlcmlhbC5pbml0KCk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBEZXN0cm95IENvbnRyb2xsZXJcblx0ICovXG5cdGRlc3Ryb3koKSB7XG5cdFx0TW9kYWwuaGlkZSh0aGlzLiRtb2RhbCk7XG5cdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyQ29udHJvbGxlckRlc3Ryb3llZCh0aGlzLiRtb2RhbCwgWydQcmV2aWV3SW1hZ2VNb2RhbCddKTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVXBsb2FkSW1hZ2VNb2RhbC5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCBNb2RhbCBmcm9tICcuLi9saWJzL01vZGFsJzsgXG5pbXBvcnQgSW1hZ2VBcGkgZnJvbSAnLi4vYXBpL0ltYWdlQXBpJzsgXG5pbXBvcnQgRXZlbnRzRW1pdHRlciBmcm9tICcuLi9saWJzL0V2ZW50c0VtaXR0ZXInO1xuXG4vKipcbiAqIFVwbG9hZCBJbWFnZSBNb2RhbCBDb250cm9sbGVyXG4gKlxuICogVGhpcyBjb250cm9sbGVyIHdpbGwgaGFuZGxlIHRoZSBpbWFnZSB1cGxvYWQuIEFmdGVyIGEgc3VjY2Vzc2Z1bCB1cGxvYWQgaXQgd2lsbCBzZXQgdGhlIG5ld2VzdFxuICogaW1hZ2UgdG8gdGhlIHNldHRpbmcgdGhhdCB0cmlnZ2VyZWQgdGhlIHVwbG9hZCBhbmQgdGhlbiBpdCB3aWxsIGFsc28gdXBkYXRlIHRoZSBzZWxlY3QgYm94ZXMgb2ZcbiAqIGFsbCB0aGUgb3RoZXIgaW1hZ2Ugd2lkZ2V0cywgc28gdGhhdCB0aGUgb3B0aW9uIGlzIGFsc28gYXZhaWxhYmxlIHRoZXJlLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVcGxvYWRJbWFnZU1vZGFsIHtcblx0LyoqXG5cdCAqIENsYXNzIENvbnN0cnVjdG9yIFxuXHQgKiBcblx0ICogQHBhcmFtIHtqUXVlcnl9ICR0YXJnZXQgU2VsZWN0IGJveCBzZWxlY3RvciBvZiB0aGUgc2V0dGluZyB0aGF0IHRyaWdnZXJlZCB0aGUgbW9kYWwuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcigkdGFyZ2V0KSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdCgkdGFyZ2V0KTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBTZWxlY3QgQm94XG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7alF1ZXJ5fVxuXHRcdCAqL1xuXHRcdHRoaXMuJHRhcmdldCA9ICR0YXJnZXQ7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogTW9kYWwgU2VsZWN0b3Jcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtqUXVlcnl9XG5cdFx0ICovXG5cdFx0dGhpcy4kbW9kYWwgPSBudWxsO1xuXHR9XG5cdFxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSBDb250cm9sbGVyXG5cdCAqL1xuXHRpbml0aWFsaXplKCkge1xuXHRcdGNvbnN0IGRhdGEgPSB7XG5cdFx0XHR0aXRsZV91cGxvYWRfaW1hZ2VfbW9kYWw6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX3VwbG9hZF9pbWFnZV9tb2RhbCcsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRwbGFjZWhvbGRlcl9icm93c2U6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3BsYWNlaG9sZGVyX2Jyb3dzZScsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRvcHRpb25fdXBsb2FkOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fdXBsb2FkJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdG9wdGlvbl9jYW5jZWw6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl9jYW5jZWwnLCAnc3R5bGVfZWRpdCcpXG5cdFx0fTtcblx0XHRcblx0XHR0aGlzLiRtb2RhbCA9IE1vZGFsLnNob3coJCgnI3VwbG9hZC1pbWFnZS1tb2RhbC10ZW1wbGF0ZScpLCBkYXRhKTtcblx0XHRcblx0XHR0aGlzLl9iaW5kRXZlbnRIYW5kbGVycygpO1xuXHRcdFxuXHRcdCQubWF0ZXJpYWwuaW5pdCgpO1xuXHRcdFxuXHRcdEV2ZW50c0VtaXR0ZXIudHJpZ2dlckNvbnRyb2xsZXJJbml0aWFsaXplZCh0aGlzLiRtb2RhbCwgWydVcGxvYWRJbWFnZU1vZGFsJ10pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRGVzdHJveSBDb250cm9sbGVyXG5cdCAqL1xuXHRkZXN0cm95KCkge1xuXHRcdE1vZGFsLmhpZGUodGhpcy4kbW9kYWwpO1xuXHRcdEV2ZW50c0VtaXR0ZXIudHJpZ2dlckNvbnRyb2xsZXJEZXN0cm95ZWQodGhpcy4kbW9kYWwsIFsnVXBsb2FkSW1hZ2VNb2RhbCddKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEV2ZW50OiBPbiBDbGljayBVcGxvYWRcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9vbkNsaWNrVXBsb2FkKCkge1xuXHRcdGNvbnN0ICRmaWxlSW5wdXQgPSB0aGlzLiRtb2RhbC5maW5kKCcjaW1hZ2UnKTtcblx0XHRcblx0XHQkZmlsZUlucHV0LnBhcmVudCgpLnJlbW92ZUNsYXNzKCdoYXMtZXJyb3IgaXMtZm9jdXNlZCcpO1xuXHRcdFxuXHRcdGlmICgkZmlsZUlucHV0LnZhbCgpID09PSAnJykge1xuXHRcdFx0JGZpbGVJbnB1dC5wYXJlbnQoKS5hZGRDbGFzcygnaGFzLWVycm9yIGlzLWZvY3VzZWQnKTtcblx0XHRcdCRmaWxlSW5wdXQuZm9jdXMoKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0XG5cdFx0SW1hZ2VBcGkudXBsb2FkKCRmaWxlSW5wdXQpXG5cdFx0XHQuZG9uZShyZXNwb25zZSA9PiB7XG5cdFx0XHRcdC8vIEFwcGVuZCB0aGUgbmV3IGZpbGUgb25seSBpZiBpdCBpcyBub3QgYWxyZWFkeSBhbiBvcHRpb24uXG5cdFx0XHRcdGlmICh0aGlzLiR0YXJnZXQuZmluZCgnb3B0aW9uW3ZhbHVlPVwiJyArIHJlc3BvbnNlICsgJ1wiXScpLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdCQoJy5lZGl0LW9wdGlvbnMgLmltYWdlLWxpc3QnKS5hcHBlbmQobmV3IE9wdGlvbihyZXNwb25zZSwgcmVzcG9uc2UpKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLiR0YXJnZXQudmFsKHJlc3BvbnNlKS50cmlnZ2VyKCdjaGFuZ2UnKTtcblx0XHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0XHR9KVxuXHRcdFx0LmZhaWwoKGpxeGhyLCB0ZXh0LCBlcnJvcikgPT4ge1xuXHRcdFx0XHRNb2RhbC5tZXNzYWdlKFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX3VuZXhwZWN0ZWRfZXJyb3InLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0XHRcdFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ21lc3NhZ2VfdW5leHBlY3RlZF9lcnJvcicsICdzdHlsZV9lZGl0JykpO1xuXHRcdFx0XHRTdHlsZUVkaXQuRGVidWcubG9nKCdTdHlsZSBFZGl0IEVycm9yOiAnLCBqcXhociwgdGV4dCwgZXJyb3IpO1xuXHRcdFx0fSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogT24gQ2xpY2sgQ2FuY2VsXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja0NhbmNlbCgpIHtcblx0XHR0aGlzLmRlc3Ryb3koKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEJpbmQgTW9kYWwgRXZlbnQgSGFuZGxlcnNcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9iaW5kRXZlbnRIYW5kbGVycygpIHtcblx0XHR0aGlzLiRtb2RhbFxuXHRcdFx0Lm9uKCdjbGljaycsICcuYnRuLnVwbG9hZCcsICgpID0+IHRoaXMuX29uQ2xpY2tVcGxvYWQoKSlcblx0XHRcdC5vbignY2xpY2snLCAnLmJ0bi5jYW5jZWwnLCAoKSA9PiB0aGlzLl9vbkNsaWNrQ2FuY2VsKCkpO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBVcGxvYWRTdHlsZU1vZGFsLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qIGdsb2JhbHMgLU1vZGFsICovXG5cbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IE1vZGFsIGZyb20gJy4uL2xpYnMvTW9kYWwnO1xuaW1wb3J0IFN0eWxlVXBsb2FkIGZyb20gJy4uL3dpZGdldHMvU3R5bGVVcGxvYWQnO1xuaW1wb3J0IEV2ZW50c0VtaXR0ZXIgZnJvbSAnLi4vbGlicy9FdmVudHNFbWl0dGVyJztcblxuLyoqXG4gKiBVcGxvYWQgU3R5bGUgTW9kYWwgQ29udHJvbGxlclxuICpcbiAqIFRoaXMgY29udHJvbGxlciB3aWxsIGhhbmRsZSB0aGUgc3R5bGUgdXBsb2FkIG9wZXJhdGlvbi4gVGhlIHVwbG9hZCB3aWxsIGJlIGRvbmVcbiAqIHdpdGggQUpBWCBhbmQgdGh1cyB0aGUgdXNlIG9mIHRoZSBTdHlsZVVwbG9hZCB3aWRnZXQgaXMgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVwbG9hZFN0eWxlTW9kYWwge1xuXHQvKipcblx0ICogQ2xhc3MgQ29uc3RydWN0b3Jcblx0ICovXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdC8qKlxuXHRcdCAqIFRoZSBtb2RhbCBzZWxlY3Rvci5cblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtqUXVlcnl9XG5cdFx0ICovXG5cdFx0dGhpcy4kbW9kYWwgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFRoZSBTdHlsZVVwbG9hZCBJbnN0YW5jZVxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0eWxlVXBsb2FkfVxuXHRcdCAqL1xuXHRcdHRoaXMuc3R5bGVVcGxvYWQgPSBudWxsO1xuXHR9XG5cdFxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSBDb250cm9sbGVyXG5cdCAqL1xuXHRpbml0aWFsaXplKCkge1xuXHRcdGNvbnN0IGRhdGEgPSB7XG5cdFx0XHR0aXRsZV91cGxvYWRfc3R5bGVfbW9kYWw6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX3VwbG9hZF9zdHlsZV9tb2RhbCcsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRwbGFjZWhvbGRlcl9zdHlsZV9uYW1lOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdwbGFjZWhvbGRlcl9zdHlsZV9uYW1lJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdHBsYWNlaG9sZGVyX2Jyb3dzZTogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgncGxhY2Vob2xkZXJfYnJvd3NlJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdG9wdGlvbl9jcmVhdGU6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl9jcmVhdGUnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0b3B0aW9uX2NhbmNlbDogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnb3B0aW9uX2NhbmNlbCcsICdzdHlsZV9lZGl0Jylcblx0XHR9O1xuXHRcdFxuXHRcdHRoaXMuJG1vZGFsID0gTW9kYWwuc2hvdygkKCcjdXBsb2FkLXN0eWxlLW1vZGFsLXRlbXBsYXRlJyksIGRhdGEpO1xuXHRcdFxuXHRcdC8vIEZvY3VzIHN0eWxlLW5hbWUgaW5wdXQgZmllbGQuXG5cdFx0dGhpcy4kbW9kYWwuZmluZCgnaW5wdXRbbmFtZT1cInN0eWxlLW5hbWVcIl0nKS5mb2N1cygpO1xuXHRcdFxuXHRcdC8vIEluaXRpYWxpemUgdGhlIGZpbGUgdXBsb2FkLlxuXHRcdHRoaXMuc3R5bGVVcGxvYWQgPSBuZXcgU3R5bGVVcGxvYWQodGhpcy4kbW9kYWwuZmluZCgnI2pzb24tdXBsb2FkJyksXG5cdFx0XHRTdHlsZUVkaXQuQ29uZmlnLmdldCgnYmFzZVVybCcpICsgJy9hcGkucGhwL3RlbXBsYXRlcy8nICsgU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ3RlbXBsYXRlJykgKyAnL3VwbG9hZCdcblx0XHRcdCsgKFN0eWxlRWRpdC5Db25maWcuZ2V0KCd0aGVtZScpID8gJz90aGVtZScgOiAnJykpO1xuXHRcdFxuXHRcdHRoaXMuX2JpbmRFdmVudEhhbmRsZXJzKCk7XG5cdFx0XG5cdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyQ29udHJvbGxlckluaXRpYWxpemVkKHRoaXMuJG1vZGFsLCBbJ1VwbG9hZFN0eWxlTW9kYWwnXSk7XG5cdFx0XG5cdFx0JC5tYXRlcmlhbC5pbml0KCk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBEZXN0cm95IENvbnRyb2xsZXJcblx0ICovXG5cdGRlc3Ryb3koKSB7XG5cdFx0TW9kYWwuaGlkZSh0aGlzLiRtb2RhbCk7XG5cdFx0RXZlbnRzRW1pdHRlci50cmlnZ2VyQ29udHJvbGxlckRlc3Ryb3llZCh0aGlzLiRtb2RhbCwgWydVcGxvYWRTdHlsZU1vZGFsJ10pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IENsaWNrIEJyb3dzZSBCdXR0b25cblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnkuRXZlbnR9IGV2ZW50XG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfb25DbGlja0Jyb3dzZShldmVudCkge1xuXHRcdGNvbnN0IGZpbGVOYW1lID0gJChldmVudC5jdXJyZW50VGFyZ2V0KS52YWwoKTtcblx0XHQkKGV2ZW50LmN1cnJlbnRUYXJnZXQpLnNpYmxpbmdzKCdpbnB1dDp0ZXh0JykuYXR0cigncGxhY2Vob2xkZXInLCBmaWxlTmFtZSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogQ3JlYXRlIEJ1dHRvbiBDbGlja1xuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeS5FdmVudH0gZXZlbnRcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9vbkNsaWNrQ3JlYXRlKGV2ZW50KSB7XG5cdFx0Y29uc3QgJGVsZW1lbnQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXHRcdGNvbnN0ICRuZXdTdHlsZU5hbWUgPSB0aGlzLiRtb2RhbC5maW5kKCcjc3R5bGUtbmFtZScpO1xuXHRcdGNvbnN0ICRuZXdTdHlsZUZpbGUgPSB0aGlzLiRtb2RhbC5maW5kKCcjanNvbi11cGxvYWQnKTtcblx0XHRcblx0XHQkbmV3U3R5bGVOYW1lLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdoYXMtZXJyb3InKTtcblx0XHQkbmV3U3R5bGVGaWxlLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdoYXMtZXJyb3IgaXMtZm9jdXNlZCcpO1xuXHRcdFxuXHRcdGlmICgkbmV3U3R5bGVOYW1lLnZhbCgpID09PSAnJykge1xuXHRcdFx0JG5ld1N0eWxlTmFtZS5wYXJlbnQoKS5hZGRDbGFzcygnaGFzLWVycm9yJyk7XG5cdFx0XHQkbmV3U3R5bGVOYW1lLmZvY3VzKCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdFxuXHRcdGlmICgkbmV3U3R5bGVGaWxlLnZhbCgpID09PSAnJykge1xuXHRcdFx0JG5ld1N0eWxlRmlsZS5wYXJlbnQoKS5hZGRDbGFzcygnaGFzLWVycm9yIGlzLWZvY3VzZWQnKTtcblx0XHRcdCRuZXdTdHlsZUZpbGUuZm9jdXMoKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0XG5cdFx0dGhpcy5zdHlsZVVwbG9hZC51cGxvYWQoJG5ld1N0eWxlTmFtZS52YWwoKSkuZG9uZShyZXNwb25zZSA9PiB7XG5cdFx0XHRFdmVudHNFbWl0dGVyLnRyaWdnZXJTdHlsZUNyZWF0ZWQoJGVsZW1lbnQsIFtyZXNwb25zZV0pO1xuXHRcdFx0TW9kYWwuaGlkZSh0aGlzLiRtb2RhbCk7IC8vIGNsb3NlIHRoZSBtb2RhbCBsYXllclxuXHRcdH0pO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IENhbmNlbCBCdXR0b24gQ2xpY2tcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9vbkNsaWNrQ2FuY2VsKCkge1xuXHRcdHRoaXMuZGVzdHJveSgpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogQmluZCB0aGUgcmVxdWlyZSBldmVudCBoYW5kbGVycy5cblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9iaW5kRXZlbnRIYW5kbGVycygpIHtcblx0XHR0aGlzLiRtb2RhbFxuXHRcdFx0Lm9uKCdjbGljaycsICcuYnRuLmNyZWF0ZScsIGV2ZW50ID0+IHRoaXMuX29uQ2xpY2tDcmVhdGUoZXZlbnQpKVxuXHRcdFx0Lm9uKCdjbGljaycsICcuYnRuLmNhbmNlbCcsICgpID0+IHRoaXMuX29uQ2xpY2tDYW5jZWwoKSlcblx0XHRcdC5vbignY2hhbmdlJywgJyNqc29uLXVwbG9hZCcsIGV2ZW50ID0+IHRoaXMuX29uQ2xpY2tCcm93c2UoZXZlbnQpKTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQm94U2V0dGluZy5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCBTZXR0aW5nIGZyb20gJy4vU2V0dGluZyc7XG5cbi8qKlxuICogQ2xhc3MgQm94U2V0dGluZ1xuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCb3hTZXR0aW5nIGV4dGVuZHMgU2V0dGluZyB7XG5cdC8qKlxuXHQgKiBDbGFzcyBDb25zdHJ1Y3RvciBcblx0ICovXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogUG9zaXRpb24gaW4gdGhlIGJveGVzIHNldHRpbmcgZ3JvdXAuXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7TnVtYmVyfVxuXHRcdCAqL1xuXHRcdHRoaXMucG9zaXRpb24gPSBudWxsO1xuXHR9XG5cdFxuXHQvKipcblx0ICogUG9zaXRpb24gR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge051bWJlcn1cblx0ICovXG5cdGdldFBvc2l0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLnBvc2l0aW9uO1xuXHR9XG5cdFxuXHQvKipcblx0ICogUG9zaXRpb24gU2V0dGVyXG5cdCAqXG5cdCAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvblxuXHQgKlxuXHQgKiBAcmV0dXJuIHtCb3hTZXR0aW5nfVxuXHQgKi9cblx0c2V0UG9zaXRpb24ocG9zaXRpb24pIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzSW50KHBvc2l0aW9uKTtcblx0XHR0aGlzLnBvc2l0aW9uID0gcG9zaXRpb247XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIENvbGxlY3Rpb24uanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENsYXNzIENvbGxlY3Rpb25cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sbGVjdGlvbiB7XG5cdC8qKlxuXHQgKiBDbGFzcyBDb25zdHJ1Y3RvclxuXHQgKi9cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0LyoqXG5cdFx0ICogTmFtZVxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLm5hbWUgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFRpdGxlXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdHRoaXMudGl0bGUgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFR5cGVcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmd9XG5cdFx0ICovXG5cdFx0dGhpcy50eXBlID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBJY29uXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdHRoaXMuaWNvbiA9IG51bGw7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogVmFsdWVcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHthcnJheX1cblx0XHQgKi9cblx0XHR0aGlzLmVudHJpZXMgPSBudWxsO1xuXHR9XG5cdFxuXHQvKipcblx0ICogTmFtZSBHZXR0ZXJcblx0ICpcblx0ICogQHJldHVybiB7U3RyaW5nfVxuXHQgKi9cblx0Z2V0TmFtZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5uYW1lO1xuXHR9XG5cdFxuXHQvKipcblx0ICogTmFtZSBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IG5hbWVcblx0ICpcblx0ICogQHJldHVybiB7Q29sbGVjdGlvbn1cblx0ICovXG5cdHNldE5hbWUobmFtZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcobmFtZSk7XG5cdFx0dGhpcy5uYW1lID0gbmFtZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIFRpdGxlIEdldHRlclxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHJpbmd9XG5cdCAqL1xuXHRnZXRUaXRsZSgpIHtcblx0XHRyZXR1cm4gdGhpcy50aXRsZTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIFRpdGxlIFNldHRlclxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gdGl0bGVcblx0ICpcblx0ICogQHJldHVybiB7Q29sbGVjdGlvbn1cblx0ICovXG5cdHNldFRpdGxlKHRpdGxlKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyh0aXRsZSk7XG5cdFx0dGhpcy50aXRsZSA9IHRpdGxlO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogVHlwZSBHZXR0ZXJcblx0ICpcblx0ICogQHJldHVybiB7U3RyaW5nfVxuXHQgKi9cblx0Z2V0VHlwZSgpIHtcblx0XHRyZXR1cm4gdGhpcy50eXBlO1xuXHR9XG5cdFxuXHQvKipcblx0ICogVHlwZSBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHR5cGVcblx0ICpcblx0ICogQHJldHVybiB7Q29sbGVjdGlvbn1cblx0ICovXG5cdHNldFR5cGUodHlwZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcodHlwZSk7XG5cdFx0dGhpcy50eXBlID0gdHlwZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIEljb24gR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ31cblx0ICovXG5cdGdldEljb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuaWNvbjtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEljb24gU2V0dGVyXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBpY29uXG5cdCAqXG5cdCAqIEByZXR1cm4ge0NvbGxlY3Rpb259XG5cdCAqL1xuXHRzZXRJY29uKGljb24pIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKGljb24pO1xuXHRcdHRoaXMuaWNvbiA9IGljb247XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFbnRyaWVzIEdldHRlclxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTZXR0aW5nW119XG5cdCAqL1xuXHRnZXRFbnRyaWVzKCkge1xuXHRcdHJldHVybiB0aGlzLmVudHJpZXM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFbnRyaWVzIFNldHRlclxuXHQgKlxuXHQgKiBAcGFyYW0ge1NldHRpbmdbXX0gZW50cmllc1xuXHQgKlxuXHQgKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuXHQgKi9cblx0c2V0RW50cmllcyhlbnRyaWVzKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChlbnRyaWVzKTtcblx0XHR0aGlzLmVudHJpZXMgPSBlbnRyaWVzO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBQcmV2aWV3VHlwZS5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ2xhc3MgUHJldmlld1R5cGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJldmlld1R5cGUge1xuXHQvKipcblx0ICogQ2xhc3MgQ29uc3RydWN0b3Jcblx0ICovXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdC8qKlxuXHRcdCAqIFByZXZpZXcgdHlwZSBIVE1MIGNsYXNzLlxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLmNsYXNzID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBQcmV2aWV3IHR5cGUgZGlzcGxheSBuYW1lLlxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLm5hbWUgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIENTUyBTdHlsaW5nIHNldCB3aXRoIGpRdWVyeVxuXHRcdCAqXG5cdFx0ICogQHR5cGUge09iamVjdH1cblx0XHQgKi9cblx0XHR0aGlzLnByZXZpZXdDc3MgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIEZvbnQtQXdlc29tZSBJY29uIENsYXNzXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdHRoaXMuaWNvbkNsYXNzID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBSZXNvbHV0aW9uXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdHRoaXMucmVzb2x1dGlvbiA9IG51bGw7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBDbGFzcyBHZXR0ZXJcblx0ICpcblx0ICogQHJldHVybiB7U3RyaW5nfVxuXHQgKi9cblx0Z2V0Q2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY2xhc3M7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBDbGFzcyBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IGNsYXNzTmFtZVxuXHQgKlxuXHQgKiBAcmV0dXJuIHtQcmV2aWV3VHlwZX1cblx0ICovXG5cdHNldENsYXNzKGNsYXNzTmFtZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcoY2xhc3NOYW1lKTtcblx0XHR0aGlzLmNsYXNzID0gY2xhc3NOYW1lO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogTmFtZSBHZXR0ZXJcblx0ICpcblx0ICogQHJldHVybiB7U3RyaW5nfVxuXHQgKi9cblx0Z2V0TmFtZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5uYW1lO1xuXHR9XG5cdFxuXHQvKipcblx0ICogTmFtZSBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IG5hbWVcblx0ICpcblx0ICogQHJldHVybiB7UHJldmlld1R5cGV9XG5cdCAqL1xuXHRzZXROYW1lKG5hbWUpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKG5hbWUpO1xuXHRcdHRoaXMubmFtZSA9IG5hbWU7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBQcmV2aWV3IENTUyBHZXR0ZXJcblx0ICpcblx0ICogQHJldHVybiB7T2JqZWN0fVxuXHQgKi9cblx0Z2V0UHJldmlld0NzcygpIHtcblx0XHRyZXR1cm4gdGhpcy5wcmV2aWV3Q3NzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogUHJldmlldyBDU1MgU2V0dGVyXG5cdCAqXG5cdCAqIEBwYXJhbSB7T2JqZWN0fSBwcmV2aWV3Q3NzXG5cdCAqXG5cdCAqIEByZXR1cm4ge1ByZXZpZXdUeXBlfVxuXHQgKi9cblx0c2V0UHJldmlld0NzcyhwcmV2aWV3Q3NzKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChwcmV2aWV3Q3NzKTtcblx0XHR0aGlzLnByZXZpZXdDc3MgPSBwcmV2aWV3Q3NzO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRm9udC1hd2Vzb21lIEljb24gQ2xhc3MgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ31cblx0ICovXG5cdGdldEljb25DbGFzcygpIHtcblx0XHRyZXR1cm4gdGhpcy5pY29uQ2xhc3M7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBGb250LWF3ZXNvbWUgSWNvbiBDbGFzcyBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IGljb25DbGFzc1xuXHQgKlxuXHQgKiBAcmV0dXJuIHtQcmV2aWV3VHlwZX1cblx0ICovXG5cdHNldEljb25DbGFzcyhpY29uQ2xhc3MpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKGljb25DbGFzcyk7XG5cdFx0dGhpcy5pY29uQ2xhc3MgPSBpY29uQ2xhc3M7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBSZXNvbHV0aW9uIEdldHRlclxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHJpbmd9XG5cdCAqL1xuXHRnZXRSZXNvbHV0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLnJlc29sdXRpb247XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBSZXNvbHV0aW9uIFNldHRlclxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gcmVzb2x1dGlvblxuXHQgKlxuXHQgKiBAcmV0dXJuIHtQcmV2aWV3VHlwZX1cblx0ICovXG5cdHNldFJlc29sdXRpb24ocmVzb2x1dGlvbikge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcocmVzb2x1dGlvbik7XG5cdFx0dGhpcy5yZXNvbHV0aW9uID0gcmVzb2x1dGlvbjtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU2V0dGluZy5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ2xhc3MgU2V0dGluZ1xuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXR0aW5nIHtcblx0LyoqXG5cdCAqIENsYXNzIENvbnN0cnVjdG9yXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHQvKipcblx0XHQgKiBHcm91cFxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLmdyb3VwID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBOYW1lXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdHRoaXMubmFtZSA9IG51bGw7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogVGl0bGVcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmd9XG5cdFx0ICovXG5cdFx0dGhpcy50aXRsZSA9IG51bGw7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogVHlwZVxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLnR5cGUgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFZhbHVlXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7Kn1cblx0XHQgKi9cblx0XHR0aGlzLnZhbHVlID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBEZWZhdWx0IE1ldHJpY1xuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLmRlZmF1bHRNZXRyaWMgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIE9wdGlvbnNcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmdbXX1cblx0XHQgKi9cblx0XHR0aGlzLm9wdGlvbnMgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFRhZ3Ncblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmdbXX1cblx0XHQgKi9cblx0XHR0aGlzLnRhZ3MgPSBudWxsO1xuXHR9XG5cdFxuXHQvKipcblx0ICogR3JvdXAgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ31cblx0ICovXG5cdGdldEdyb3VwKCkge1xuXHRcdHJldHVybiB0aGlzLmdyb3VwO1xuXHR9XG5cdFxuXHQvKipcblx0ICogTmFtZSBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IGdyb3VwXG5cdCAqXG5cdCAqIEByZXR1cm4ge1NldHRpbmd9XG5cdCAqL1xuXHRzZXRHcm91cChncm91cCkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcoZ3JvdXApO1xuXHRcdHRoaXMuZ3JvdXAgPSBncm91cDtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIE5hbWUgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ31cblx0ICovXG5cdGdldE5hbWUoKSB7XG5cdFx0cmV0dXJuIHRoaXMubmFtZTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIE5hbWUgU2V0dGVyXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXG5cdCAqXG5cdCAqIEByZXR1cm4ge1NldHRpbmd9XG5cdCAqL1xuXHRzZXROYW1lKG5hbWUpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKG5hbWUpO1xuXHRcdHRoaXMubmFtZSA9IG5hbWU7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBUaXRsZSBHZXR0ZXJcblx0ICpcblx0ICogQHJldHVybiB7U3RyaW5nfVxuXHQgKi9cblx0Z2V0VGl0bGUoKSB7XG5cdFx0cmV0dXJuIHRoaXMudGl0bGU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBUaXRsZSBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHRpdGxlXG5cdCAqXG5cdCAqIEByZXR1cm4ge1NldHRpbmd9XG5cdCAqL1xuXHRzZXRUaXRsZSh0aXRsZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcodGl0bGUpO1xuXHRcdHRoaXMudGl0bGUgPSB0aXRsZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIFR5cGUgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ31cblx0ICovXG5cdGdldFR5cGUoKSB7XG5cdFx0cmV0dXJuIHRoaXMudHlwZTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIFR5cGUgU2V0dGVyXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlXG5cdCAqXG5cdCAqIEByZXR1cm4ge1NldHRpbmd9XG5cdCAqL1xuXHRzZXRUeXBlKHR5cGUpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKHR5cGUpO1xuXHRcdHRoaXMudHlwZSA9IHR5cGU7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBWYWx1ZSBHZXR0ZXJcblx0ICpcblx0ICogQHJldHVybiB7Kn1cblx0ICovXG5cdGdldFZhbHVlKCkge1xuXHRcdHJldHVybiB0aGlzLnZhbHVlO1xuXHR9XG5cdFxuXHQvKipcblx0ICogVmFsdWUgU2V0dGVyXG5cdCAqXG5cdCAqIE5vdGljZTogVGhlIHZhbHVlIGFyZ3VtZW50IGNhbiBiZSBtaXhlZCBzbyB0aGVyZSBpcyBubyB2YWxpZGF0aW9uLlxuXHQgKlxuXHQgKiBAcGFyYW0geyp9IHZhbHVlXG5cdCAqXG5cdCAqIEByZXR1cm4ge1NldHRpbmd9XG5cdCAqL1xuXHRzZXRWYWx1ZSh2YWx1ZSkge1xuXHRcdHRoaXMudmFsdWUgPSB2YWx1ZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIERlZmF1bHQgTWV0cmljIEdldHRlclxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHJpbmd9XG5cdCAqL1xuXHRnZXREZWZhdWx0TWV0cmljKCkge1xuXHRcdHJldHVybiB0aGlzLmRlZmF1bHRNZXRyaWM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBEZWZhdWx0IE1ldHJpYyBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IGRlZmF1bHRNZXRyaWNcblx0ICpcblx0ICogQHJldHVybiB7U2V0dGluZ31cblx0ICovXG5cdHNldERlZmF1bHRNZXRyaWMoZGVmYXVsdE1ldHJpYykge1xuXHRcdHRoaXMuZGVmYXVsdE1ldHJpYyA9IGRlZmF1bHRNZXRyaWM7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBPcHRpb25zIEdldHRlclxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHJpbmdbXX1cblx0ICovXG5cdGdldE9wdGlvbnMoKSB7XG5cdFx0cmV0dXJuIHRoaXMub3B0aW9ucztcblx0fVxuXHRcblx0LyoqXG5cdCAqIE9wdGlvbnMgU2V0dGVyXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nW119IG9wdGlvbnNcblx0ICpcblx0ICogQHJldHVybiB7U2V0dGluZ31cblx0ICovXG5cdHNldE9wdGlvbnMob3B0aW9ucykge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3Qob3B0aW9ucyk7XG5cdFx0dGhpcy5vcHRpb25zID0gb3B0aW9ucztcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIFRhZ3MgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ1tdfVxuXHQgKi9cblx0Z2V0VGFncygpIHtcblx0XHRyZXR1cm4gdGhpcy50YWdzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogVGFncyBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmdbXX0gdGFnc1xuXHQgKlxuXHQgKiBAcmV0dXJuIHtTZXR0aW5nfVxuXHQgKi9cblx0c2V0VGFncyh0YWdzKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdCh0YWdzKTtcblx0XHR0aGlzLnRhZ3MgPSB0YWdzO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBTdHlsZUNvbmZpZ3VyYXRpb24uanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENsYXNzIFN0eWxlQ29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdHlsZUNvbmZpZ3VyYXRpb24ge1xuXHQvKipcblx0ICogQ2xhc3MgQ29uc3RydWN0b3Jcblx0ICovXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdC8qKlxuXHRcdCAqIE5hbWVcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmd9XG5cdFx0ICovXG5cdFx0dGhpcy5uYW1lID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBBY3RpdmUgU3RhdHVzXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7Qm9vbGVhbn1cblx0XHQgKi9cblx0XHR0aGlzLmFjdGl2ZSA9IG51bGw7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogVGh1bWJuYWlsIE5hbWVcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmd9XG5cdFx0ICovXG5cdFx0dGhpcy50aHVtYm5haWwgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIEJvaWxlcnBsYXRlIGZpbGUgbmFtZVxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLmJvaWxlcnBsYXRlID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBDcmVhdGlvbiBEYXRlXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7RGF0ZX1cblx0XHQgKi9cblx0XHR0aGlzLmNyZWF0aW9uRGF0ZSA9IG51bGw7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogTW9kaWZpY2F0aW9uIERhdGVcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtEYXRlfVxuXHRcdCAqL1xuXHRcdHRoaXMubW9kaWZpY2F0aW9uRGF0ZSA9IG51bGw7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogQm9pbGVycGxhdGUgTW9kaWZpY2F0aW9uIERhdGVcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtEYXRlfVxuXHRcdCAqL1xuXHRcdHRoaXMuYm9pbGVycGxhdGVNb2RpZmljYXRpb25EYXRlID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBDb2xvciBQYWxldHRlXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nW119XG5cdFx0ICovXG5cdFx0dGhpcy5jb2xvclBhbGV0dGUgPSBudWxsO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFNldHRpbmdzXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7Q29sbGVjdGlvbn1cblx0XHQgKi9cblx0XHR0aGlzLnNldHRpbmdzID0gbnVsbDtcblx0XHRcblx0XHQvKipcblx0XHQgKiBDdXN0b20gU3R5bGVzXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdHRoaXMuY3VzdG9tU3R5bGVzID0gbnVsbDtcblx0fVxuXHRcblx0LyoqXG5cdCAqIE5hbWUgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ31cblx0ICovXG5cdGdldE5hbWUoKSB7XG5cdFx0cmV0dXJuIHRoaXMubmFtZTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIE5hbWUgU2V0dGVyXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0eWxlQ29uZmlndXJhdGlvbn1cblx0ICovXG5cdHNldE5hbWUobmFtZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcobmFtZSk7XG5cdFx0dGhpcy5uYW1lID0gbmFtZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIEFjdGl2ZSBTdGF0dXMgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge0Jvb2xlYW59XG5cdCAqL1xuXHRpc0FjdGl2ZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5hY3RpdmU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBBY3RpdmUgU3RhdHVzIFNldHRlclxuXHQgKlxuXHQgKiBAcGFyYW0ge0Jvb2xlYW59IGlzQWN0aXZlXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0eWxlQ29uZmlndXJhdGlvbn1cblx0ICovXG5cdHNldEFjdGl2ZShpc0FjdGl2ZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNCb29sKGlzQWN0aXZlKTtcblx0XHR0aGlzLmFjdGl2ZSA9IGlzQWN0aXZlO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogVGh1bWJuYWlsIEdldHRlclxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHJpbmd9XG5cdCAqL1xuXHRnZXRUaHVtYm5haWwoKSB7XG5cdFx0cmV0dXJuIHRoaXMudGh1bWJuYWlsO1xuXHR9XG5cdFxuXHQvKipcblx0ICogVGh1bWJuYWlsIFNldHRlclxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gdGh1bWJuYWlsXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0eWxlQ29uZmlndXJhdGlvbn1cblx0ICovXG5cdHNldFRodW1ibmFpbCh0aHVtYm5haWwpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKHRodW1ibmFpbCk7XG5cdFx0dGhpcy50aHVtYm5haWwgPSB0aHVtYm5haWw7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBCb2lsZXJwbGF0ZSBHZXR0ZXJcblx0ICpcblx0ICogQHJldHVybiB7U3RyaW5nfVxuXHQgKi9cblx0Z2V0Qm9pbGVycGxhdGUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuYm9pbGVycGxhdGU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBCb2lsZXJwbGF0ZSBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IGJvaWxlcnBsYXRlXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0eWxlQ29uZmlndXJhdGlvbn1cblx0ICovXG5cdHNldEJvaWxlcnBsYXRlKGJvaWxlcnBsYXRlKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhib2lsZXJwbGF0ZSk7XG5cdFx0dGhpcy5ib2lsZXJwbGF0ZSA9IGJvaWxlcnBsYXRlO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogQ3JlYXRpb24gRGF0ZSBHZXR0ZXJcblx0ICpcblx0ICogQHJldHVybiB7RGF0ZX1cblx0ICovXG5cdGdldENyZWF0aW9uRGF0ZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5jcmVhdGlvbkRhdGU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBDcmVhdGlvbiBEYXRlIFNldHRlclxuXHQgKlxuXHQgKiBAcGFyYW0ge0RhdGV9IGNyZWF0aW9uRGF0ZVxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHlsZUNvbmZpZ3VyYXRpb259XG5cdCAqL1xuXHRzZXRDcmVhdGlvbkRhdGUoY3JlYXRpb25EYXRlKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChjcmVhdGlvbkRhdGUpO1xuXHRcdHRoaXMuY3JlYXRpb25EYXRlID0gY3JlYXRpb25EYXRlO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogTW9kaWZpY2F0aW9uIERhdGUgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge0RhdGV9XG5cdCAqL1xuXHRnZXRNb2RpZmljYXRpb25EYXRlKCkge1xuXHRcdHJldHVybiB0aGlzLm1vZGlmaWNhdGlvbkRhdGU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBNb2RpZmljYXRpb24gRGF0ZSBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtEYXRlfSBtb2RpZmljYXRpb25EYXRlXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0eWxlQ29uZmlndXJhdGlvbn1cblx0ICovXG5cdHNldE1vZGlmaWNhdGlvbkRhdGUobW9kaWZpY2F0aW9uRGF0ZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QobW9kaWZpY2F0aW9uRGF0ZSk7XG5cdFx0dGhpcy5tb2RpZmljYXRpb25EYXRlID0gbW9kaWZpY2F0aW9uRGF0ZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIEJvaWxlcnBsYXRlIE1vZGlmaWNhdGlvbiBEYXRlIEdldHRlclxuXHQgKlxuXHQgKiBAcmV0dXJuIHtEYXRlfVxuXHQgKi9cblx0Z2V0Qm9pbGVycGxhdGVNb2RpZmljYXRpb25EYXRlKCkge1xuXHRcdHJldHVybiB0aGlzLmJvaWxlcnBsYXRlTW9kaWZpY2F0aW9uRGF0ZTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEJvaWxlcnBsYXRlIE1vZGlmaWNhdGlvbiBEYXRlIFNldHRlclxuXHQgKlxuXHQgKiBAcGFyYW0ge0RhdGV9IGJvaWxlcnBsYXRlTW9kaWZpY2F0aW9uRGF0ZVxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHlsZUNvbmZpZ3VyYXRpb259XG5cdCAqL1xuXHRzZXRCb2lsZXJwbGF0ZU1vZGlmaWNhdGlvbkRhdGUoYm9pbGVycGxhdGVNb2RpZmljYXRpb25EYXRlKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChib2lsZXJwbGF0ZU1vZGlmaWNhdGlvbkRhdGUpO1xuXHRcdHRoaXMuYm9pbGVycGxhdGVNb2RpZmljYXRpb25EYXRlID0gYm9pbGVycGxhdGVNb2RpZmljYXRpb25EYXRlO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogTW9kaWZpY2F0aW9uIERhdGUgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ1tdfVxuXHQgKi9cblx0Z2V0Q29sb3JQYWxldHRlKCkge1xuXHRcdHJldHVybiB0aGlzLmNvbG9yUGFsZXR0ZTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIE1vZGlmaWNhdGlvbiBEYXRlIFNldHRlclxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ1tdfSBjb2xvclBhbGV0dGVcblx0ICpcblx0ICogQHJldHVybiB7U3R5bGVDb25maWd1cmF0aW9ufVxuXHQgKi9cblx0c2V0Q29sb3JQYWxldHRlKGNvbG9yUGFsZXR0ZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QoY29sb3JQYWxldHRlKTtcblx0XHR0aGlzLmNvbG9yUGFsZXR0ZSA9IGNvbG9yUGFsZXR0ZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIFNldHRpbmdzIEdldHRlclxuXHQgKlxuXHQgKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuXHQgKi9cblx0Z2V0U2V0dGluZ3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuc2V0dGluZ3M7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBTZXR0aW5ncyBTZXR0ZXJcblx0ICpcblx0ICogQHBhcmFtIHtDb2xsZWN0aW9ufSBzZXR0aW5nc1xuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHlsZUNvbmZpZ3VyYXRpb259XG5cdCAqL1xuXHRzZXRTZXR0aW5ncyhzZXR0aW5ncykge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3Qoc2V0dGluZ3MpO1xuXHRcdHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRcblx0LyoqXG5cdCAqIEN1c3RvbSBTdHlsZXMgR2V0dGVyXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ31cblx0ICovXG5cdGdldEN1c3RvbVN0eWxlcygpIHtcblx0XHRyZXR1cm4gdGhpcy5jdXN0b21TdHlsZXM7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBDdXN0b20gU3R5bGVzIFNldHRlclxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gY3VzdG9tU3R5bGVzXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0eWxlQ29uZmlndXJhdGlvbn1cblx0ICovXG5cdHNldEN1c3RvbVN0eWxlcyhjdXN0b21TdHlsZXMpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKGN1c3RvbVN0eWxlcyk7XG5cdFx0dGhpcy5jdXN0b21TdHlsZXMgPSBjdXN0b21TdHlsZXM7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cdFxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQWJvdXQuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIEFkZCB0aGUgXCJBYm91dFwiIHByb3BlcnR5IGluIHRoZSBnbG9iYWwgU3R5bGVFZGl0IGluIG9yZGVyIHRvIGdldCBpbmZvcm1hdGlvblxuICogYWJvdXQgdGhlIGN1cnJlbnQgaW5zdGFsbGF0aW9uIG9mIFN0eWxlRWRpdC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gU3R5bGVFZGl0IFRoZSB3aW5kb3cuU3R5bGVFZGl0IG9iamVjdC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oU3R5bGVFZGl0KSB7XG5cdGlmIChTdHlsZUVkaXQuQ29uZmlnLmdldCgnZW52aXJvbm1lbnQnKSA9PT0gJ2RldmVsb3BtZW50Jykge1xuXHRcdGNvbnN0IGFib3V0ID0gYFN0eWxlRWRpdCB2JHtTdHlsZUVkaXQuQ29uZmlnLmdldCgndmVyc2lvbicpfSBieSBHYW1iaW8gR21iSCBgIFxuXHRcdFx0KyBgJHtEYXRlLnRvZGF5KCkudG9TdHJpbmcoJ3l5eXknKX0sIEFsbCBSaWdodHMgUmVzZXJ2ZWRgOyBcblx0XHRcblx0XHRTdHlsZUVkaXQuQWJvdXQgPSBhYm91dDtcblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEFqYXguanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLyogZ2xvYmFscyAtTW9kYWwgKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgTW9kYWwgZnJvbSAnLi9Nb2RhbCc7XG5cbi8qKlxuICogVGhpcyBtZXRob2Qgd2lsbCBoYW5kbGUgdGhlIEFKQVggZXJyb3JzLlxuICpcbiAqIEBwYXJhbSB7alF1ZXJ5LmpxWEhSfSBqcVhIUlxuICogQHBhcmFtIHtTdHJpbmd9IHRleHRTdGF0dXNcbiAqIEBwYXJhbSB7RXJyb3J9IGVycm9yVGhyb3duXG4gKlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gX2Vycm9ySGFuZGxlcihqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHtcblx0Ly8gTG9nIHRoZSBlcnJvciB0byB0aGUgY29uc29sZSBmb3IgZGVidWcgcHVycG9zZXMuXG5cdFN0eWxlRWRpdC5EZWJ1Zy5lcnJvcignVGhlcmUgd2FzIGFuIGVycm9yIGluIHRoZSBmb2xsb3dpbmcgQUpBWCByZXF1ZXN0OicsIGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bik7XG5cdFxuXHQvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2UgdG8gdGhlIHVzZXIuXG5cdGNvbnN0IG1lc3NhZ2UgPSAoanFYSFIucmVzcG9uc2VKU09OKSA/IGpxWEhSLnJlc3BvbnNlSlNPTi5tZXNzYWdlIDoganFYSFIucmVzcG9uc2VUZXh0O1xuXHRNb2RhbC5tZXNzYWdlKFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX3VuZXhwZWN0ZWRfc2VydmVyX2Vycm9yJywgJ3N0eWxlX2VkaXQnKSwgbWVzc2FnZSk7XG59XG5cbi8qKlxuICogUGVyZm9ybSBhbiBBSkFYIHJlcXVlc3QgYnkgdXNpbmcgdGhlICQuYWpheCBvYmplY3QuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHR5cGUgVGhlIHJlcXVlc3QgdHlwZSAoJ1BPU1QnLCAnR0VUJyAuLi4pLlxuICogQHBhcmFtIHtTdHJpbmd9IHVybCBUaGUgVVJMIHRvIGJlIGNhbGxlZCBieSB0aGUgcmVxdWVzdC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIE9wdGlvbmFsICh7fSksIHRoZSBkYXRhIHRvIGJlIHNlbnQgd2l0aCB0aGUgcmVxdWVzdC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIE9wdGlvbmFsICh7fSksIHRoaXMgb2JqZWN0IGNhbiBjb250YWluIGpxdWVyeSBBSkFYIG9wdGlvbnMuXG4gKlxuICogQHJldHVybiB7alF1ZXJ5LmpxWEhSfSBSZXR1cm5zIGEgcHJvbWlzZSBvZiB0aGUgQUpBWCBjYWxsLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIF9yZXF1ZXN0KHR5cGUsIHVybCwgZGF0YSA9IHt9LCBvcHRpb25zID0ge30pIHtcblx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyh0eXBlKTtcblx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyh1cmwpO1xuXHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KGRhdGEpO1xuXHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KG9wdGlvbnMpO1xuXHRcblx0Ly8gQWRkIHRoZSBvdmVycmlkZSBoZWFkZXIgY2F1c2Ugc29tZSBvbGQgc2VydmVycyBkbyBub3QgcmVjb2duaXplIGN1c3RvbSBIVFRQIHZlcmJzIChQVVQsIFBBVENILCBERUxFVEUpLlxuXHRjb25zdCByZXF1ZXN0T3B0aW9ucyA9IHtcblx0XHR0eXBlOiB0eXBlID09PSAnR0VUJyA/ICdHRVQnIDogJ1BPU1QnLFxuXHRcdHVybCxcblx0XHRkYXRhLCBcblx0XHRoZWFkZXJzOiB7XG5cdFx0XHQnWC1IVFRQLU1ldGhvZC1PdmVycmlkZSc6IHR5cGVcblx0XHR9XG5cdH07XG5cdGNvbnN0IGpxWEhSID0gJC5hamF4KCQuZXh0ZW5kKHt9LCBvcHRpb25zLCByZXF1ZXN0T3B0aW9ucykpO1xuXHRcblx0Ly8gQXNzaWduIHRoZSBmYWlsdXJlIGhhbmRsZXIgaW4gYW4gZXh0cmEgc3RlcCBzbyB0aGF0ICQuYWpheCBjYW4gYmUgbW9ja2VkIHdpdGggYXJndW1lbnQgZXhwZWN0YXRpb25zLlxuXHRpZiAoanFYSFIpIHtcblx0XHRqcVhIUi5mYWlsKF9lcnJvckhhbmRsZXIpO1xuXHR9XG5cdFxuXHRyZXR1cm4ganFYSFI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0LyoqXG5cdCAqIE1ha2UgYSBQT1NUIHJlcXVlc3Rcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHVybFxuXHQgKiBAcGFyYW0ge09iamVjdH0gZGF0YVxuXHQgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuanFYSFJ9XG5cdCAqL1xuXHRwb3N0KHVybCwgZGF0YSwgb3B0aW9ucykge1xuXHRcdHJldHVybiBfcmVxdWVzdCgnUE9TVCcsIHVybCwgZGF0YSwgb3B0aW9ucyk7XG5cdH0sXG5cdFxuXHQvKipcblx0ICogTWFrZSBhIEdFVCByZXF1ZXN0XG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSB1cmxcblx0ICogQHBhcmFtIHtPYmplY3R9IGRhdGFcblx0ICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LmpxWEhSfVxuXHQgKi9cblx0Z2V0KHVybCwgZGF0YSwgb3B0aW9ucykge1xuXHRcdHJldHVybiBfcmVxdWVzdCgnR0VUJywgdXJsLCBkYXRhLCBvcHRpb25zKTtcblx0fSxcblx0XG5cdC8qKlxuXHQgKiBNYWtlIGEgUFVUIHJlcXVlc3Rcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHVybFxuXHQgKiBAcGFyYW0ge09iamVjdH0gZGF0YVxuXHQgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuanFYSFJ9XG5cdCAqL1xuXHRwdXQodXJsLCBkYXRhLCBvcHRpb25zKSB7XG5cdFx0cmV0dXJuIF9yZXF1ZXN0KCdQVVQnLCB1cmwsIGRhdGEsIG9wdGlvbnMpO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIE1ha2UgYSBERUxFVEUgcmVxdWVzdFxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gdXJsXG5cdCAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhXG5cdCAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG5cdCAqXG5cdCAqIEByZXR1cm4ge2pRdWVyeS5qcVhIUn1cblx0ICovXG5cdGRlbGV0ZSh1cmwsIGRhdGEsIG9wdGlvbnMpIHtcblx0XHRyZXR1cm4gX3JlcXVlc3QoJ0RFTEVURScsIHVybCwgZGF0YSwgb3B0aW9ucyk7XG5cdH0sXG5cdFxuXHQvKipcblx0ICogTWFrZSBhIFBBVENIIHJlcXVlc3Rcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHVybFxuXHQgKiBAcGFyYW0ge09iamVjdH0gZGF0YVxuXHQgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuanFYSFJ9XG5cdCAqL1xuXHRwYXRjaCh1cmwsIGRhdGEsIG9wdGlvbnMpIHtcblx0XHRyZXR1cm4gX3JlcXVlc3QoJ1BBVENIJywgdXJsLCBkYXRhLCBvcHRpb25zKTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQ29uZmlnLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBDb25maWcgQ2xhc3NcbiAqXG4gKiBUaGlzIGNsYXNzIGlzIHNlcnZpbmcgYXMgYSBjb25maWd1cmF0aW9uIHJlZ2lzdHJ5IHdoZXJlIHVzZXJzIGNhbiBvbmx5IGdldCB0aGUgdmFsdWVzIGFuZCBub3QgXG4gKiBjaGFuZ2UgdGhlbS4gVGhpcyBpcyBkb25lIGZvciBkYXRhIGludGVncml0eSBhbmQgc3RhYmlsaXR5IHJlYXNvbnMsIHNvIGEgZ2xvYmFsIFN0eWxlRWRpdC4gVGhlIFxuICogQ29uZmlnIG9iamVjdCB3aWxsIGJlIGluc3RhbnRpYXRlZCBvbmNlIGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIGFwcGxpY2F0aW9uLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25maWcge1xuXHQvKipcblx0ICogQ2xhc3MgQ29uc3RydWN0b3IgXG5cdCAqIFxuXHQgKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIENvbnRhaW5zIHRoZSBrZXktdmFsdWUgcGFpcnMgb2YgY29uZmlndXJhdGlvbi5cblx0ICovXG5cdGNvbnN0cnVjdG9yKGNvbmZpZykge1xuXHRcdC8qKlxuXHRcdCAqIEB0eXBlIHtPYmplY3R9XG5cdFx0ICovXG5cdFx0dGhpcy5jb25maWcgPSBjb25maWc7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBHZXQgYSBjb25maWcgdmFsdWUgYnkga2V5LlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGJlIHJldHVybmVkLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHsqfSBSZXR1cm5zIHRoZSB2YWx1ZS5cblx0ICovXG5cdGdldChrZXkpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKGtleSk7XG5cdFx0XG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLmNvbmZpZ1trZXldO1xuXHRcdFxuXHRcdGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1N0eWxlRWRpdDogVGhlIHJlcXVlc3RlZCB2YWx1ZSBkb2VzIG5vdCBleGlzdCB0aGUgY29uZmlnIG9iamVjdDogXCInICsga2V5ICsgJ1wiJyk7XG5cdFx0fVxuXHRcdFxuXHRcdHJldHVybiB2YWx1ZTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRGVidWcuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIExvZyB0aGUgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdHlwZSBMb2cgdHlwZSBjYW4gZWl0aGVyIGJlICdsb2cnLCAnaW5mbycsICd3YXJuaW5nJyBvciAnZXJyb3InLlxuICogQHBhcmFtIHsqfSBkYXRhIFRoZSBkYXRhIHRvIGJlIGxvZ2dlZC5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBfbG9nKHR5cGUsIGRhdGEpIHtcblx0aWYgKFN0eWxlRWRpdC5Db25maWcuZ2V0KCdlbnZpcm9ubWVudCcpID09PSAncHJvZHVjdGlvbicpIHtcblx0XHRyZXR1cm47XG5cdH1cblx0XG5cdGlmIChjb25zb2xlW3R5cGVdICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGNvbnNvbGVbdHlwZV0uYXBwbHkgPT09ICdmdW5jdGlvbicpIHtcblx0XHRjb25zb2xlW3R5cGVdLmFwcGx5KGNvbnNvbGUsIGRhdGEpO1xuXHR9IGVsc2Uge1xuXHRcdGNvbnNvbGUubG9nKGRhdGEpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0LyoqXG5cdCAqIFBlcmZvcm0gYSBkZWJ1ZyBsb2cuXG5cdCAqXG5cdCAqIFByb3ZpZGUgYW55IGFyZ3VtZW50cyB0aGF0IG5lZWQgdG8gYmUgbG9nZ2VkLlxuXHQgKi9cblx0bG9nKCkge1xuXHRcdF9sb2coJ2xvZycsIGFyZ3VtZW50cyk7XG5cdH0sXG5cdFxuXHQvKipcblx0ICogUGVyZm9ybSBhIGRlYnVnIGluZm8uXG5cdCAqXG5cdCAqIFByb3ZpZGUgYW55IGFyZ3VtZW50cyB0aGF0IG5lZWQgdG8gYmUgbG9nZ2VkLlxuXHQgKi9cblx0aW5mbygpIHtcblx0XHRfbG9nKCdpbmZvJywgYXJndW1lbnRzKTtcblx0fSxcblx0XG5cdC8qKlxuXHQgKiBQZXJmb3JtIGEgZGVidWcgd2Fybi5cblx0ICpcblx0ICogUHJvdmlkZSBhbnkgYXJndW1lbnRzIHRoYXQgbmVlZCB0byBiZSBsb2dnZWQuXG5cdCAqL1xuXHR3YXJuKCkge1xuXHRcdF9sb2coJ3dhcm4nLCBhcmd1bWVudHMpO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIFBlcmZvcm0gYSBkZWJ1ZyBlcnJvci5cblx0ICpcblx0ICogUHJvdmlkZSBhbnkgYXJndW1lbnRzIHRoYXQgbmVlZCB0byBiZSBsb2dnZWQuXG5cdCAqL1xuXHRlcnJvcigpIHtcblx0XHRfbG9nKCdlcnJvcicsIGFyZ3VtZW50cyk7XG5cdH0sXG5cdFxuXHQvKipcblx0ICogUGVyZm9ybSBhIGRlYnVnIGFsZXJ0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge09iamVjdH0gZGF0YSBDb250YWlucyB0aGUgZGF0YSB0byBiZSBhbGVydGVkLlxuXHQgKi9cblx0YWxlcnQoZGF0YSkge1xuXHRcdGlmIChTdHlsZUVkaXQuQ29uZmlnLmdldCgnZW52aXJvbm1lbnQnKSA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdFxuXHRcdHdpbmRvdy5hbGVydCgnU3R5bGVFZGl0OiAnICsgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFbnZpcm9ubWVudC5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKiBnbG9iYWxzIHNlbGYsIHRvcCAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQWRkIGV2ZW50cyBmb3IgZGlzcGxheWluZyBhbiBBSkFYIHNwaW5uZXIuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gX3NldHVwQWpheFNwaW5uZXIoKSB7XG5cdGNvbnN0ICRhamF4U3Bpbm5lciA9ICQoJy5hamF4LXNwaW5uZXInKTtcblx0XG5cdCRhamF4U3Bpbm5lci5odG1sKCQoJyNsb2FkaW5nLXNwaW5uZXItdGVtcGxhdGUnKS5odG1sKCkpO1xuXHRcblx0JChkb2N1bWVudCkuYWpheFN0YXJ0KGZ1bmN0aW9uKCkge1xuXHRcdCRhamF4U3Bpbm5lclxuXHRcdFx0LmNzcyh7ZGlzcGxheTogJ3RhYmxlJ30pXG5cdFx0XHQuZmFkZVRvKDQwMCwgMSwgJ2xpbmVhcicpO1xuXHR9KTtcblx0XG5cdCQoZG9jdW1lbnQpLmFqYXhTdG9wKGZ1bmN0aW9uKCkge1xuXHRcdCRhamF4U3Bpbm5lci5mYWRlVG8oNDAwLCAwLCAnbGluZWFyJywgZnVuY3Rpb24oKSB7XG5cdFx0XHQkKHRoaXMpLmhpZGUoKTtcblx0XHR9KTtcblx0fSk7XG59XG5cbi8qKlxuICogQWRkIGEgZ2xvYmFsIGVycm9yIGhhbmRsZXIgZm9yIHRoZSBhcHAuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gX3NldHVwRXJyb3JIYW5kbGVyKCkge1xuXHR3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lLCBjb2wsIGVycm9yKSB7XG5cdFx0Ly8gSGlkZSB0aGUgYWpheCBzcGlubmVyIGFuZCBkaXNwbGF5IHRoZSBlcnJvciBtZXNzYWdlLlxuXHRcdGNvbnN0ICRlcnJvckZyYW1lID0gJCgnLmVycm9yLWZyYW1lJyk7XG5cdFx0XG5cdFx0aWYgKHdpbmRvdy5TdHlsZUVkaXQpIHtcblx0XHRcdCRlcnJvckZyYW1lLmZpbmQoJy5tZXNzYWdlJylcblx0XHRcdFx0LnRleHQoU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnbWVzc2FnZV91bmV4cGVjdGVkX2Vycm9yJywgJ3N0eWxlX2VkaXQnKSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdCRlcnJvckZyYW1lLmZpbmQoJy5tZXNzYWdlJylcblx0XHRcdFx0LnRleHQoJ09vcHMhIEFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQgZHVyaW5nIFN0eWxlRWRpdCBpbml0aWFsaXphdGlvbiEgQ2hlY2sgdGhlIGJyb3dzZXJcXCdzICdcblx0XHRcdFx0XHQrICdjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uLicpO1xuXHRcdH1cblx0XHRcblx0XHQkKCcuYWpheC1zcGlubmVyJykuaGlkZSgpO1xuXHRcdFxuXHRcdCRlcnJvckZyYW1lXG5cdFx0XHQuY3NzKHtkaXNwbGF5OiAndGFibGUnfSlcblx0XHRcdC5mYWRlVG8oNDAwLCAxLCAnbGluZWFyJyk7XG5cdFx0XG5cdFx0Ly8gU2hvdy9IaWRlIG90aGVyIFVJIGVsZW1lbnRzLlxuXHRcdCQoJy5zdHlsZS1lZGl0LW1vZGFsJykucmVtb3ZlKCk7XG5cdFx0JCgnLmZyYW1lLXRvZ2dsZScpLmhpZGUoKTtcblx0XHQkKCcuZGlzYWJsZS1sYXllcicpLmZhZGVJbigpO1xuXHRcdFxuXHRcdC8vIExvZyBlcnJvciBpbiB0aGUgY29uc29sZSAoZXZlbiBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50KS5cblx0XHRjb25zb2xlLmVycm9yKCdbU3R5bGVFZGl0IEVycm9yIEhhbmRsZXJdJywgbXNnLCAnKGxpbmU6ICcgKyBsaW5lICsgJywgY29sOiAnICsgY29sICsgJyknLCBlcnJvcik7XG5cdFx0XG5cdFx0cmV0dXJuIHRydWU7IC8vIFN1cHByZXNzIGVycm9yIGFsZXJ0cyBmb3Igb2xkIElFIHZlcnNpb25zLiAgXG5cdH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0LyoqXG5cdCAqIENoZWNrIHdoZXRoZXIgdGhlIHVzZXIncyBicm93c2VyIGlzIGFuIEludGVybmV0IEV4cGxvcmVyXG5cdCAqL1xuXHRpc0ludGVybmV0RXhwbG9yZXIoKSB7XG5cdFx0Y29uc3QgdWEgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudDtcblx0XHRyZXR1cm4gKHVhLmluZGV4T2YoJ01TSUUgJykgPiAtMSB8fCB1YS5pbmRleE9mKCdUcmlkZW50LycpID4gLTEgfHwgdWEuaW5kZXhPZignRWRnZS8nKSA+IC0xKTtcblx0fSxcblx0XG5cdC8qKlxuXHQgKiBTZXR1cCBTdHlsZUVkaXQgRW52aXJvbm1lbnRcblx0ICpcblx0ICogVGhpcyBtZXRob2Qgd2lsbCBzZXR1cCBnZW5lcmFsIG9wZXJhdGlvbnMgdGhhdCBhZmZlY3QgU3R5bGVFZGl0IGR1cmluZyBhbGwgb2YgaXRzXG5cdCAqIGV4ZWN1dGlvbiBsaWZldGltZS5cblx0ICovXG5cdHNldHVwKCkge1xuXHRcdC8vIENoZWNrIGlmIFN0eWxlRWRpdCB3YXMgY2FsbGVkIGZyb20gd2l0aGluIGFuIGlmcmFtZSBhbmQgcmVkaXJlY3QgYmFjayB0byB0aGUgYXBwcm9wcmlhdGVcblx0XHQvLyBVUkwgaWYgdGhpcyBpcyB0aGUgY2FzZS4gXG5cdFx0aWYgKHRvcCAhPT0gc2VsZikge1xuXHRcdFx0dG9wLmxvY2F0aW9uID0gc2VsZi5sb2NhdGlvbjtcblx0XHR9XG5cdFx0XG5cdFx0Ly8gTG9jYXRpb24gb3JpZ2luIHBvbHlmaWxsLiBcblx0XHRpZiAoIXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pIHtcblx0XHRcdHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIgKyB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWVcblx0XHRcdFx0KyAod2luZG93LmxvY2F0aW9uLnBvcnQgPyAnOicgKyB3aW5kb3cubG9jYXRpb24ucG9ydDogJycpO1xuXHRcdH1cblx0XHRcblx0XHQvLyBTZXR1cCB0aGluZ3MgLi4uXG5cdFx0X3NldHVwQWpheFNwaW5uZXIoKTtcblx0XHRfc2V0dXBFcnJvckhhbmRsZXIoKTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXZlbnRzRW1pdHRlci5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0LyoqXG5cdCAqIFRyaWdnZXIgU3R5bGUgQ3JlYXRlZCBFdmVudFxuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeX0gJGVsZW1lbnQgVGhlIGVsZW1lbnQgdGhhdCBpcyBnb2luZyB0byB0cmlnZ2VyIHRoZSBldmVudC5cblx0ICogQHBhcmFtIHsqW119IGV2ZW50QXJncyAob3B0aW9uYWwpIFByb3ZpZGUgZXZlbnQgYXJndW1lbnRzLlxuXHQgKi9cblx0dHJpZ2dlclN0eWxlQ3JlYXRlZCgkZWxlbWVudCwgZXZlbnRBcmdzKSB7XG5cdFx0ZXZlbnRBcmdzID0gZXZlbnRBcmdzIHx8IFtdO1xuXHRcdCRlbGVtZW50LnRyaWdnZXIoJ1N0eWxlRWRpdC5TdHlsZUNyZWF0ZWQnLCBldmVudEFyZ3MpO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIFRyaWdnZXIgU3R5bGUgVXBkYXRlZCBFdmVudFxuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeX0gJGVsZW1lbnQgVGhlIGVsZW1lbnQgdGhhdCBpcyBnb2luZyB0byB0cmlnZ2VyIHRoZSBldmVudC5cblx0ICogQHBhcmFtIHsqW119IGV2ZW50QXJncyAob3B0aW9uYWwpIFByb3ZpZGUgZXZlbnQgYXJndW1lbnRzLlxuXHQgKi9cblx0dHJpZ2dlclN0eWxlVXBkYXRlZCgkZWxlbWVudCwgZXZlbnRBcmdzKSB7XG5cdFx0ZXZlbnRBcmdzID0gZXZlbnRBcmdzIHx8IFtdO1xuXHRcdCRlbGVtZW50LnRyaWdnZXIoJ1N0eWxlRWRpdC5TdHlsZVVwZGF0ZWQnLCBldmVudEFyZ3MpO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIFRyaWdnZXIgU3R5bGUgRGVsZXRlZCBFdmVudFxuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeX0gJGVsZW1lbnQgVGhlIGVsZW1lbnQgdGhhdCBpcyBnb2luZyB0byB0cmlnZ2VyIHRoZSBldmVudC5cblx0ICogQHBhcmFtIHsqW119IGV2ZW50QXJncyAob3B0aW9uYWwpIFByb3ZpZGUgZXZlbnQgYXJndW1lbnRzLlxuXHQgKi9cblx0dHJpZ2dlclN0eWxlRGVsZXRlZCgkZWxlbWVudCwgZXZlbnRBcmdzKSB7XG5cdFx0ZXZlbnRBcmdzID0gZXZlbnRBcmdzIHx8IFtdO1xuXHRcdCRlbGVtZW50LnRyaWdnZXIoJ1N0eWxlRWRpdC5TdHlsZURlbGV0ZWQnLCBldmVudEFyZ3MpO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIFRyaWdnZXIgU3R5bGUgQWN0aXZhdGVkIEV2ZW50XG5cdCAqXG5cdCAqIEBwYXJhbSB7alF1ZXJ5fSAkZWxlbWVudCBUaGUgZWxlbWVudCB0aGF0IGlzIGdvaW5nIHRvIHRyaWdnZXIgdGhlIGV2ZW50LlxuXHQgKiBAcGFyYW0geypbXX0gZXZlbnRBcmdzIChvcHRpb25hbCkgUHJvdmlkZSBldmVudCBhcmd1bWVudHMuXG5cdCAqL1xuXHR0cmlnZ2VyU3R5bGVBY3RpdmF0ZWQoJGVsZW1lbnQsIGV2ZW50QXJncykge1xuXHRcdGV2ZW50QXJncyA9IGV2ZW50QXJncyB8fCBbXTtcblx0XHQkZWxlbWVudC50cmlnZ2VyKCdTdHlsZUVkaXQuU3R5bGVBY3RpdmF0ZWQnLCBldmVudEFyZ3MpO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIFRyaWdnZXIgQ3VzdG9tIFN0eWxlcyBDaGFuZ2VkIEV2ZW50XG5cdCAqXG5cdCAqIEBwYXJhbSB7alF1ZXJ5fSAkZWxlbWVudCBUaGUgZWxlbWVudCB0aGF0IGlzIGdvaW5nIHRvIHRyaWdnZXIgdGhlIGV2ZW50LlxuXHQgKiBAcGFyYW0geypbXX0gZXZlbnRBcmdzIChvcHRpb25hbCkgUHJvdmlkZSBldmVudCBhcmd1bWVudHMuXG5cdCAqL1xuXHR0cmlnZ2VyQ3VzdG9tU3R5bGVzQ2hhbmdlZCgkZWxlbWVudCwgZXZlbnRBcmdzKSB7XG5cdFx0ZXZlbnRBcmdzID0gZXZlbnRBcmdzIHx8IFtdO1xuXHRcdCRlbGVtZW50LnRyaWdnZXIoJ1N0eWxlRWRpdC5DdXN0b21TdHlsZXNDaGFuZ2VkJywgZXZlbnRBcmdzKTtcblx0fSxcblx0XG5cdC8qKlxuXHQgKiBUcmlnZ2VyIENvbnRyb2xsZXIgSW5pdGlhbGl6ZWQgRXZlbnRcblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnl9ICRlbGVtZW50IFRoZSBlbGVtZW50IHRoYXQgaXMgZ29pbmcgdG8gdHJpZ2dlciB0aGUgZXZlbnQuXG5cdCAqIEBwYXJhbSB7KltdfSBldmVudEFyZ3MgKG9wdGlvbmFsKSBQcm92aWRlIGV2ZW50IGFyZ3VtZW50cy5cblx0ICovXG5cdHRyaWdnZXJDb250cm9sbGVySW5pdGlhbGl6ZWQoJGVsZW1lbnQsIGV2ZW50QXJncykge1xuXHRcdGV2ZW50QXJncyA9IGV2ZW50QXJncyB8fCBbXTtcblx0XHQkZWxlbWVudC50cmlnZ2VyKCdTdHlsZUVkaXQuQ29udHJvbGxlckluaXRpYWxpemVkJywgZXZlbnRBcmdzKTtcblx0fSxcblx0XG5cdC8qKlxuXHQgKiBUcmlnZ2VyIENvbnRyb2xsZXIgRGVzdHJveWVkIEV2ZW50XG5cdCAqXG5cdCAqIEBwYXJhbSB7alF1ZXJ5fSAkZWxlbWVudCBUaGUgZWxlbWVudCB0aGF0IGlzIGdvaW5nIHRvIHRyaWdnZXIgdGhlIGV2ZW50LlxuXHQgKiBAcGFyYW0geypbXX0gZXZlbnRBcmdzIChvcHRpb25hbCkgUHJvdmlkZSBldmVudCBhcmd1bWVudHMuXG5cdCAqL1xuXHR0cmlnZ2VyQ29udHJvbGxlckRlc3Ryb3llZCgkZWxlbWVudCwgZXZlbnRBcmdzKSB7XG5cdFx0ZXZlbnRBcmdzID0gZXZlbnRBcmdzIHx8IFtdO1xuXHRcdCRlbGVtZW50LnRyaWdnZXIoJ1N0eWxlRWRpdC5Db250cm9sbGVyRGVzdHJveWVkJywgZXZlbnRBcmdzKTtcblx0fSxcblx0XG5cdC8qKlxuXHQgKiBUcmlnZ2VyIEFwcCBUZXJtaW5hdGVkIEV2ZW50XG5cdCAqXG5cdCAqIEBwYXJhbSB7alF1ZXJ5fSAkZWxlbWVudCBUaGUgZWxlbWVudCB0aGF0IGlzIGdvaW5nIHRvIHRyaWdnZXIgdGhlIGV2ZW50LlxuXHQgKiBAcGFyYW0geypbXX0gZXZlbnRBcmdzIChvcHRpb25hbCkgUHJvdmlkZSBldmVudCBhcmd1bWVudHMuXG5cdCAqL1xuXHR0cmlnZ2VyQXBwVGVybWluYXRlZCgkZWxlbWVudCwgZXZlbnRBcmdzKSB7XG5cdFx0ZXZlbnRBcmdzID0gZXZlbnRBcmdzIHx8IFtdO1xuXHRcdCRlbGVtZW50LnRyaWdnZXIoJ1N0eWxlRWRpdC5BcHBUZXJtaW5hdGVkJywgZXZlbnRBcmdzKTtcblx0fSxcblx0XG5cdC8qKlxuXHQgKiBUcmlnZ2VyIFByZXZpZXcgUmVsb2FkZWQgRXZlbnRcblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnl9ICRlbGVtZW50IFRoZSBlbGVtZW50IHRoYXQgaXMgZ29pbmcgdG8gdHJpZ2dlciB0aGUgZXZlbnQuXG5cdCAqIEBwYXJhbSB7KltdfSBldmVudEFyZ3MgKG9wdGlvbmFsKSBQcm92aWRlIGV2ZW50IGFyZ3VtZW50cy5cblx0ICovXG5cdHRyaWdnZXJQcmV2aWV3UmVsb2FkZWQoJGVsZW1lbnQsIGV2ZW50QXJncykge1xuXHRcdGV2ZW50QXJncyA9IGV2ZW50QXJncyB8fCBbXTtcblx0XHQkZWxlbWVudC50cmlnZ2VyKCdTdHlsZUVkaXQuUHJldmlld1JlbG9hZGVkJywgZXZlbnRBcmdzKTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSnNvblBhcnNlci5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCBTdHlsZUNvbmZpZ3VyYXRpb24gZnJvbSAnLi4vZW50aXRpZXMvU3R5bGVDb25maWd1cmF0aW9uJzsgXG5pbXBvcnQgQ29sbGVjdGlvbiBmcm9tICcuLi9lbnRpdGllcy9Db2xsZWN0aW9uJzsgXG5pbXBvcnQgU2V0dGluZyBmcm9tICcuLi9lbnRpdGllcy9TZXR0aW5nJzsgXG5pbXBvcnQgQm94U2V0dGluZyBmcm9tICcuLi9lbnRpdGllcy9Cb3hTZXR0aW5nJztcblxuZXhwb3J0IGRlZmF1bHQge1xuXHQvKipcblx0ICogRGVjb2RlIFN0eWxlQ29uZmlndXJhdGlvbiBKU09OIFN0cmluZ1xuXHQgKlxuXHQgKiBAcGFyYW0ge09iamVjdH0ganNvblN0eWxlQ29uZmlndXJhdGlvbiBPYmplY3QgY29udGFpbmluZyB0aGUgc3R5bGUgY29uZmlndXJhdGlvbiBkYXRhLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHlsZUNvbmZpZ3VyYXRpb259IFJldHVybnMgdGhlIGRlY29kZWQgU3R5bGVDb25maWd1cmF0aW9uIG9iamVjdC5cblx0ICovXG5cdGRlY29kZVN0eWxlQ29uZmlndXJhdGlvbihqc29uU3R5bGVDb25maWd1cmF0aW9uKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChqc29uU3R5bGVDb25maWd1cmF0aW9uKTtcblx0XHRcblx0XHRjb25zdCBzdHlsZUNvbmZpZ3VyYXRpb24gPSBuZXcgU3R5bGVDb25maWd1cmF0aW9uKCk7XG5cdFx0XG5cdFx0Ly8gRGVjb2RlIHRoZSBtYWluIHN0eWxlIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcy5cblx0XHRpZiAoanNvblN0eWxlQ29uZmlndXJhdGlvbi5uYW1lICE9PSB1bmRlZmluZWQgJiYganNvblN0eWxlQ29uZmlndXJhdGlvbi5uYW1lICE9PSBudWxsKSB7XG5cdFx0XHRzdHlsZUNvbmZpZ3VyYXRpb24uc2V0TmFtZShqc29uU3R5bGVDb25maWd1cmF0aW9uLm5hbWUpO1xuXHRcdH1cblx0XHRcblx0XHRpZiAoanNvblN0eWxlQ29uZmlndXJhdGlvbi5pc0FjdGl2ZSAhPT0gdW5kZWZpbmVkICYmIGpzb25TdHlsZUNvbmZpZ3VyYXRpb24uaXNBY3RpdmUgIT09IG51bGwpIHtcblx0XHRcdHN0eWxlQ29uZmlndXJhdGlvbi5zZXRBY3RpdmUoanNvblN0eWxlQ29uZmlndXJhdGlvbi5pc0FjdGl2ZSk7XG5cdFx0fVxuXHRcdFxuXHRcdGlmIChqc29uU3R5bGVDb25maWd1cmF0aW9uLnRodW1ibmFpbCAhPT0gdW5kZWZpbmVkICYmIGpzb25TdHlsZUNvbmZpZ3VyYXRpb24udGh1bWJuYWlsICE9PSBudWxsKSB7XG5cdFx0XHRzdHlsZUNvbmZpZ3VyYXRpb24uc2V0VGh1bWJuYWlsKGpzb25TdHlsZUNvbmZpZ3VyYXRpb24udGh1bWJuYWlsKTtcblx0XHR9XG5cdFx0XG5cdFx0aWYgKGpzb25TdHlsZUNvbmZpZ3VyYXRpb24uYm9pbGVycGxhdGUgIT09IHVuZGVmaW5lZCAmJiBqc29uU3R5bGVDb25maWd1cmF0aW9uLmJvaWxlcnBsYXRlICE9PSBudWxsKSB7XG5cdFx0XHRzdHlsZUNvbmZpZ3VyYXRpb24uc2V0Qm9pbGVycGxhdGUoanNvblN0eWxlQ29uZmlndXJhdGlvbi5ib2lsZXJwbGF0ZSk7XG5cdFx0fVxuXHRcdFxuXHRcdGlmIChqc29uU3R5bGVDb25maWd1cmF0aW9uLmNyZWF0aW9uRGF0ZSAhPT0gdW5kZWZpbmVkICYmIGpzb25TdHlsZUNvbmZpZ3VyYXRpb24uY3JlYXRpb25EYXRlICE9PSBudWxsKSB7XG5cdFx0XHRzdHlsZUNvbmZpZ3VyYXRpb24uc2V0Q3JlYXRpb25EYXRlKG5ldyBEYXRlKERhdGUucGFyc2UoanNvblN0eWxlQ29uZmlndXJhdGlvbi5jcmVhdGlvbkRhdGUpKSk7XG5cdFx0fVxuXHRcdFxuXHRcdGlmIChqc29uU3R5bGVDb25maWd1cmF0aW9uLm1vZGlmaWNhdGlvbkRhdGUgIT09IHVuZGVmaW5lZCAmJiBqc29uU3R5bGVDb25maWd1cmF0aW9uLm1vZGlmaWNhdGlvbkRhdGUgIT09IG51bGwpIHtcblx0XHRcdHN0eWxlQ29uZmlndXJhdGlvbi5zZXRNb2RpZmljYXRpb25EYXRlKG5ldyBEYXRlKERhdGUucGFyc2UoanNvblN0eWxlQ29uZmlndXJhdGlvbi5tb2RpZmljYXRpb25EYXRlKSkpO1xuXHRcdH1cblx0XHRcblx0XHRpZiAoanNvblN0eWxlQ29uZmlndXJhdGlvbi5ib2lsZXJwbGF0ZU1vZGlmaWNhdGlvbkRhdGUgIT09IHVuZGVmaW5lZFxuXHRcdFx0JiYganNvblN0eWxlQ29uZmlndXJhdGlvbi5ib2lsZXJwbGF0ZU1vZGlmaWNhdGlvbkRhdGUgIT09IG51bGwpIHtcblx0XHRcdHN0eWxlQ29uZmlndXJhdGlvbi5zZXRCb2lsZXJwbGF0ZU1vZGlmaWNhdGlvbkRhdGUoXG5cdFx0XHRcdG5ldyBEYXRlKERhdGUucGFyc2UoanNvblN0eWxlQ29uZmlndXJhdGlvbi5ib2lsZXJwbGF0ZU1vZGlmaWNhdGlvbkRhdGUpKVxuXHRcdFx0KTtcblx0XHR9XG5cdFx0XG5cdFx0aWYgKGpzb25TdHlsZUNvbmZpZ3VyYXRpb24uY29sb3JQYWxldHRlICE9PSB1bmRlZmluZWQgJiYganNvblN0eWxlQ29uZmlndXJhdGlvbi5jb2xvclBhbGV0dGUgIT09IG51bGwpIHtcblx0XHRcdHN0eWxlQ29uZmlndXJhdGlvbi5zZXRDb2xvclBhbGV0dGUoanNvblN0eWxlQ29uZmlndXJhdGlvbi5jb2xvclBhbGV0dGUpO1xuXHRcdH1cblx0XHRcblx0XHRpZiAoanNvblN0eWxlQ29uZmlndXJhdGlvbi5jdXN0b21TdHlsZXMgIT09IHVuZGVmaW5lZCAmJiBqc29uU3R5bGVDb25maWd1cmF0aW9uLmN1c3RvbVN0eWxlcyAhPT0gbnVsbCkge1xuXHRcdFx0c3R5bGVDb25maWd1cmF0aW9uLnNldEN1c3RvbVN0eWxlcyhqc29uU3R5bGVDb25maWd1cmF0aW9uLmN1c3RvbVN0eWxlcyk7XG5cdFx0fVxuXHRcdFxuXHRcdC8vIERlY29kZSB0aGUgc2V0dGluZ3MuXG5cdFx0aWYgKGpzb25TdHlsZUNvbmZpZ3VyYXRpb24uc2V0dGluZ3MgIT09IHVuZGVmaW5lZCAmJiBqc29uU3R5bGVDb25maWd1cmF0aW9uLnNldHRpbmdzICE9PSBudWxsKSB7XG5cdFx0XHRjb25zdCBzZXR0aW5ncyA9IFtdO1xuXHRcdFx0XG5cdFx0XHRqc29uU3R5bGVDb25maWd1cmF0aW9uLnNldHRpbmdzLmZvckVhY2goanNvbkNvbGxlY3Rpb24gPT4ge1xuXHRcdFx0XHRjb25zdCBjb2xsZWN0aW9uID0gbmV3IENvbGxlY3Rpb24oKTtcblx0XHRcdFx0Y29uc3QgY29sbGVjdGlvbkVudHJpZXNBcnJheSA9IFtdO1xuXHRcdFx0XHRcblx0XHRcdFx0aWYgKGpzb25Db2xsZWN0aW9uLm5hbWUgIT09IHVuZGVmaW5lZCAmJiBqc29uQ29sbGVjdGlvbi5uYW1lICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0Y29sbGVjdGlvbi5zZXROYW1lKGpzb25Db2xsZWN0aW9uLm5hbWUpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRpZiAoanNvbkNvbGxlY3Rpb24udHlwZSAmJiBqc29uQ29sbGVjdGlvbi50eXBlICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0Y29sbGVjdGlvbi5zZXRUeXBlKGpzb25Db2xsZWN0aW9uLnR5cGUpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRpZiAoanNvbkNvbGxlY3Rpb24uaWNvbiAmJiBqc29uQ29sbGVjdGlvbi5pY29uICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0Y29sbGVjdGlvbi5zZXRJY29uKGpzb25Db2xsZWN0aW9uLmljb24pO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRqc29uQ29sbGVjdGlvbi5lbnRyaWVzLmZvckVhY2goanNvblNldHRpbmcgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHNldHRpbmcgPSAoanNvblNldHRpbmcucG9zaXRpb24pID8gbmV3IEJveFNldHRpbmcoKSA6IG5ldyBTZXR0aW5nKCk7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0aWYgKGpzb25TZXR0aW5nLmdyb3VwICE9PSB1bmRlZmluZWQgJiYganNvblNldHRpbmcuZ3JvdXAgIT09IG51bGwpIHtcblx0XHRcdFx0XHRcdHNldHRpbmcuc2V0R3JvdXAoanNvblNldHRpbmcuZ3JvdXApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHRpZiAoanNvblNldHRpbmcubmFtZSAhPT0gdW5kZWZpbmVkICYmIGpzb25TZXR0aW5nLm5hbWUgIT09IG51bGwpIHtcblx0XHRcdFx0XHRcdHNldHRpbmcuc2V0TmFtZShqc29uU2V0dGluZy5uYW1lKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0aWYgKGpzb25TZXR0aW5nLnR5cGUgIT09IHVuZGVmaW5lZCAmJiBqc29uU2V0dGluZy50eXBlICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRzZXR0aW5nLnNldFR5cGUoanNvblNldHRpbmcudHlwZSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGlmIChqc29uU2V0dGluZy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIGpzb25TZXR0aW5nLnZhbHVlICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRzZXR0aW5nLnNldFZhbHVlKGpzb25TZXR0aW5nLnZhbHVlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0aWYgKGpzb25TZXR0aW5nLmRlZmF1bHRNZXRyaWMgIT09IHVuZGVmaW5lZCAmJiBqc29uU2V0dGluZy5kZWZhdWx0TWV0cmljICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRzZXR0aW5nLnNldERlZmF1bHRNZXRyaWMoanNvblNldHRpbmcuZGVmYXVsdE1ldHJpYyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGlmIChqc29uU2V0dGluZy5vcHRpb25zICE9PSB1bmRlZmluZWQgJiYganNvblNldHRpbmcub3B0aW9ucyAhPT0gbnVsbCkge1xuXHRcdFx0XHRcdFx0c2V0dGluZy5zZXRPcHRpb25zKGpzb25TZXR0aW5nLm9wdGlvbnMpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHRpZiAoanNvblNldHRpbmcucG9zaXRpb24gIT09IHVuZGVmaW5lZCAmJiBqc29uU2V0dGluZy5wb3NpdGlvbiAhPT0gbnVsbCkge1xuXHRcdFx0XHRcdFx0c2V0dGluZy5zZXRQb3NpdGlvbihqc29uU2V0dGluZy5wb3NpdGlvbik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGlmIChqc29uU2V0dGluZy50YWdzICE9PSB1bmRlZmluZWQgJiYganNvblNldHRpbmcudGFncyAhPT0gbnVsbCkge1xuXHRcdFx0XHRcdFx0c2V0dGluZy5zZXRUYWdzKGpzb25TZXR0aW5nLnRhZ3MpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHRjb2xsZWN0aW9uRW50cmllc0FycmF5LnB1c2goc2V0dGluZyk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRcblx0XHRcdFx0Y29sbGVjdGlvbi5zZXRFbnRyaWVzKGNvbGxlY3Rpb25FbnRyaWVzQXJyYXkpO1xuXHRcdFx0XHRcblx0XHRcdFx0c2V0dGluZ3MucHVzaChjb2xsZWN0aW9uKTtcblx0XHRcdH0pO1xuXHRcdFx0XG5cdFx0XHRzdHlsZUNvbmZpZ3VyYXRpb24uc2V0U2V0dGluZ3Moc2V0dGluZ3MpO1xuXHRcdH1cblx0XHRcblx0XHRyZXR1cm4gc3R5bGVDb25maWd1cmF0aW9uO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIEVuY29kZSBTdHlsZSBDb25maWd1cmF0aW9uIEluc3RhbmNlIHRvIEpTT04gU3RyaW5nIG9yIE9iamVjdFxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0eWxlQ29uZmlndXJhdGlvbn0gc3R5bGVDb25maWd1cmF0aW9uIFRoZSBvYmplY3QgdG8gYmUgZW5jb2RlZC5cblx0ICogQHBhcmFtIHtCb29sZWFufSBlbmNvZGUgT3B0aW9uYWwgKHRydWUpLCBkZWZpbmVzIHdoZXRoZXIgdG8gc3RyaW5naWZ5IHRoZSBvYmplY3Qgb3Igbm90LlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtPYmplY3R8U3RyaW5nfSBSZXR1cm5zIHRoZSBlbmNvZGVkIG9iamVjdCBvciBzdHJpbmcuXG5cdCAqL1xuXHRlbmNvZGVTdHlsZUNvbmZpZ3VyYXRpb24oc3R5bGVDb25maWd1cmF0aW9uLCBlbmNvZGUgPSB0cnVlKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChzdHlsZUNvbmZpZ3VyYXRpb24pO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNCb29sKGVuY29kZSk7XG5cdFx0XG5cdFx0Y29uc3Qgb2JqID0ge1xuXHRcdFx0bmFtZTogc3R5bGVDb25maWd1cmF0aW9uLmdldE5hbWUoKSxcblx0XHRcdGlzQWN0aXZlOiBzdHlsZUNvbmZpZ3VyYXRpb24uaXNBY3RpdmUoKSxcblx0XHRcdHRodW1ibmFpbDogc3R5bGVDb25maWd1cmF0aW9uLmdldFRodW1ibmFpbCgpLFxuXHRcdFx0Ym9pbGVycGxhdGU6IHN0eWxlQ29uZmlndXJhdGlvbi5nZXRCb2lsZXJwbGF0ZSgpLFxuXHRcdFx0Y3JlYXRpb25EYXRlOiBzdHlsZUNvbmZpZ3VyYXRpb24uZ2V0Q3JlYXRpb25EYXRlKCkudG9TdHJpbmcoJ3l5eXktTU0tZGQgSEg6bW06c3MnKSxcblx0XHRcdG1vZGlmaWNhdGlvbkRhdGU6IHN0eWxlQ29uZmlndXJhdGlvbi5nZXRNb2RpZmljYXRpb25EYXRlKCkudG9TdHJpbmcoJ3l5eXktTU0tZGQgSEg6bW06c3MnKSxcblx0XHRcdGJvaWxlcnBsYXRlTW9kaWZpY2F0aW9uRGF0ZTogc3R5bGVDb25maWd1cmF0aW9uLmdldEJvaWxlcnBsYXRlTW9kaWZpY2F0aW9uRGF0ZSgpLnRvU3RyaW5nKCd5eXl5LU1NLWRkIEhIOm1tOnNzJyksXG5cdFx0XHRjb2xvclBhbGV0dGU6IHN0eWxlQ29uZmlndXJhdGlvbi5nZXRDb2xvclBhbGV0dGUoKSxcblx0XHRcdHNldHRpbmdzOiBbXSxcblx0XHRcdGN1c3RvbVN0eWxlczogJydcblx0XHR9O1xuXHRcdFxuXHRcdC8vIEVuY29kZSBzZXR0aW5nc1xuXHRcdHN0eWxlQ29uZmlndXJhdGlvbi5nZXRTZXR0aW5ncygpLmZvckVhY2goc2V0dGluZ3NDb2xsZWN0aW9uID0+IHtcblx0XHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB7fTtcblx0XHRcdFxuXHRcdFx0aWYgKHNldHRpbmdzQ29sbGVjdGlvbi5nZXROYW1lKCkgIT09IG51bGwpIHtcblx0XHRcdFx0Y29sbGVjdGlvbi5uYW1lID0gc2V0dGluZ3NDb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0aWYgKHNldHRpbmdzQ29sbGVjdGlvbi5nZXRUeXBlKCkgIT09IG51bGwpIHtcblx0XHRcdFx0Y29sbGVjdGlvbi50eXBlID0gc2V0dGluZ3NDb2xsZWN0aW9uLmdldFR5cGUoKTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0aWYgKHNldHRpbmdzQ29sbGVjdGlvbi5nZXRJY29uKCkgIT09IG51bGwpIHtcblx0XHRcdFx0Y29sbGVjdGlvbi5pY29uID0gc2V0dGluZ3NDb2xsZWN0aW9uLmdldEljb24oKTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0aWYgKHNldHRpbmdzQ29sbGVjdGlvbi5nZXRFbnRyaWVzKCkgIT09IG51bGwpIHtcblx0XHRcdFx0Y29sbGVjdGlvbi5lbnRyaWVzID0gW107XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdHNldHRpbmdzQ29sbGVjdGlvbi5nZXRFbnRyaWVzKCkuZm9yRWFjaChzZXR0aW5nID0+IHtcblx0XHRcdFx0Y29uc3QgZW50cnkgPSB7fTtcblx0XHRcdFx0XG5cdFx0XHRcdGlmIChzZXR0aW5nLmdldEdyb3VwKCkgIT09IG51bGwpIHtcblx0XHRcdFx0XHRlbnRyeS5ncm91cCA9IHNldHRpbmcuZ2V0R3JvdXAoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0aWYgKHNldHRpbmcuZ2V0TmFtZSgpICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0ZW50cnkubmFtZSA9IHNldHRpbmcuZ2V0TmFtZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRpZiAoc2V0dGluZy5nZXRUeXBlKCkgIT09IG51bGwpIHtcblx0XHRcdFx0XHRlbnRyeS50eXBlID0gc2V0dGluZy5nZXRUeXBlKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdGlmIChzZXR0aW5nLmdldFZhbHVlKCkgIT09IG51bGwpIHtcblx0XHRcdFx0XHRlbnRyeS52YWx1ZSA9IHNldHRpbmcuZ2V0VmFsdWUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0aWYgKHNldHRpbmcuZ2V0RGVmYXVsdE1ldHJpYygpICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0ZW50cnkuZGVmYXVsdE1ldHJpYyA9IHNldHRpbmcuZ2V0RGVmYXVsdE1ldHJpYygpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRpZiAoc2V0dGluZy5nZXRPcHRpb25zKCkgIT09IG51bGwpIHtcblx0XHRcdFx0XHRlbnRyeS5vcHRpb25zID0gc2V0dGluZy5nZXRPcHRpb25zKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdGlmIChzZXR0aW5nLmdldFRhZ3MoKSAhPT0gbnVsbCkge1xuXHRcdFx0XHRcdGVudHJ5LnRhZ3MgPSBzZXR0aW5nLmdldFRhZ3MoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0aWYgKHNldHRpbmcuZ2V0UG9zaXRpb24gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGVudHJ5LnBvc2l0aW9uID0gc2V0dGluZy5nZXRQb3NpdGlvbigpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRjb2xsZWN0aW9uLmVudHJpZXMucHVzaChlbnRyeSk7XG5cdFx0XHR9KTtcblx0XHRcdFxuXHRcdFx0b2JqLnNldHRpbmdzLnB1c2goY29sbGVjdGlvbik7XG5cdFx0fSk7XG5cdFx0XG5cdFx0Ly8gRW5jb2RlIGN1c3RvbVN0eWxlc1xuXHRcdG9iai5jdXN0b21TdHlsZXMgPSBzdHlsZUNvbmZpZ3VyYXRpb24uZ2V0Q3VzdG9tU3R5bGVzKCk7XG5cdFx0XG5cdFx0cmV0dXJuIChlbmNvZGUpID8gSlNPTi5zdHJpbmdpZnkob2JqKSA6IG9iajtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgTGFuZ3VhZ2UuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIExhbmd1YWdlIExpYnJhcnlcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGFuZ3VhZ2Uge1xuXHQvKipcblx0ICogTGFuZ3VhZ2UgQ2xhc3Ncblx0ICpcblx0ICogVGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBsb2NhbGl6YXRpb24gZm9yIHRoZSBKYXZhU2NyaXB0IGNvZGUgb2YgU3R5bGVFZGl0LiBPbmNlIHRoZXJlXG5cdCAqIGFyZSBzZWN0aW9ucyBhZGRlZCB5b3UgY2FuIHVzZSB0aGUgXCJ0cmFuc2xhdGVcIiBtZXRob2QgZm9yIGZldGNoaW5nIHRoZSB0cmFuc2xhdGVkIHN0cmluZy5cblx0ICovXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdC8qKlxuXHRcdCAqIFRyYW5zbGF0aW9uIFNlY3Rpb25zXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7T2JqZWN0fVxuXHRcdCAqL1xuXHRcdHRoaXMuc2VjdGlvbnMgPSB7fTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEFkZCBhIG5ldyB0cmFuc2xhdGlvbiBzZWN0aW9uLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgc2VjdGlvbiB0byBiZSB1c2VkIHdoZW4gZmV0Y2hpbmcgYSB0cmFuc2xhdGlvbiBsYXRlci5cblx0ICogQHBhcmFtIHtPYmplY3R9IHRyYW5zbGF0aW9ucyBBIGtleS10cmFuc2xhdGlvbiBwYWlycyBvYmplY3QgdGhhdCB3aWxsIGJlIHVzZWQgbGF0ZXIgZm9yXG5cdCAqIGdldHRpbmcgdGhlIGNvcnJlY3Qgc3RyaW5ncyAoc2VlIHRyYW5zbGF0ZSBtZXRob2QpLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtMYW5ndWFnZX0gUmV0dXJucyB0aGUgb2JqZWN0IGluc3RhbmNlLlxuXHQgKi9cblx0YWRkU2VjdGlvbihuYW1lLCB0cmFuc2xhdGlvbnMpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKG5hbWUpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QodHJhbnNsYXRpb25zKTtcblx0XHRcblx0XHRpZiAodGhpcy5zZWN0aW9uc1tuYW1lXSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRTdHlsZUVkaXQuRGVidWcud2FybihgVGhlIHByb3ZpZGVkIHNlY3Rpb24gbmFtZSBhbHJlYWR5IGV4aXN0cyBhbmQgd2lsbCBiZSBvdmVycmlkZGVuOiBcIiR7bmFtZX1cImApO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLnNlY3Rpb25zW25hbWVdID0gdHJhbnNsYXRpb25zO1xuXHRcdFxuXHRcdHJldHVybiB0aGlzO1xuXHR9O1xuXHRcblx0LyoqXG5cdCAqIFRyYW5zbGF0ZSB0aGUgcHJvdmlkZWQga2V5IG9mIHRoZSBwcm92aWRlZCBzZWN0aW9uLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHRyYW5zbGF0aW9uLlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gc2VjdGlvbiBUaGUgc2VjdGlvbiBuYW1lIHRoZSBrZXkgYmVsb25ncyB0by5cblx0ICpcblx0ICogQHJldHVybiB7U3RyaW5nfSBSZXR1cm5zIHRoZSB0cmFuc2xhdGlvbi5cblx0ICpcblx0ICogQHRocm93cyBFcnJvciBJZiB0aGUgdHJhbnNsYXRpb24gd2FzIG5vdCBmb3VuZC5cblx0ICovXG5cdHRyYW5zbGF0ZShrZXksIHNlY3Rpb24pIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKGtleSk7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhzZWN0aW9uKTtcblx0XHRcblx0XHRpZiAodGhpcy5zZWN0aW9uc1tzZWN0aW9uXSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3RlZCBzZWN0aW9uIHdhcyBub3QgZm91bmQ6IFwiJHtzZWN0aW9ufVwiYCk7XG5cdFx0fVxuXHRcdFxuXHRcdHJldHVybiB0aGlzLnNlY3Rpb25zW3NlY3Rpb25dW2tleV0gfHwgJ3snICsga2V5ICsgJ30nO1xuXHR9O1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgTW9kYWwuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdC8qKlxuXHQgKiBTaG93IGEgbW9kYWwgd2l0aCB0aGUgY29udGVudHMgb2YgYSB0ZW1wbGF0ZS5cblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnl9ICR0ZW1wbGF0ZSBUaGUgdGVtcGxhdGUgZWxlbWVudCB0byBiZSB1c2VkIGZvciB0aGUgbW9kYWwuXG5cdCAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIENvbnRhaW5zIHRoZSB0ZW1wbGF0ZSBkYXRhLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnl9IFJldHVybnMgdGhlIHNlbGVjdG9yIG9mIHRoZVxuXHQgKi9cblx0c2hvdygkdGVtcGxhdGUsIGRhdGEpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KCR0ZW1wbGF0ZSk7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChkYXRhKTtcblx0XHRcblx0XHRjb25zdCBodG1sID0gTXVzdGFjaGUucmVuZGVyKCR0ZW1wbGF0ZS5odG1sKCksIGRhdGEpO1xuXHRcdFxuXHRcdGNvbnN0ICRtb2RhbCA9ICQoYDxkaXYgY2xhc3M9XCJtb2RhbFwiPiR7aHRtbH08L2Rpdj5gKTtcblx0XHRcblx0XHQkbW9kYWwubW9kYWwoe2JhY2tkcm9wOiAnZXhwb3J0IGZ1bmN0aW9uJ30pO1xuXHRcdFxuXHRcdHJldHVybiAkbW9kYWw7XG5cdH0sXG5cdFxuXHQvKipcblx0ICogSGlkZSBhIGRpc3BsYXllZCBtb2RhbCB3aXRoIHRoZSBwcm92aWRlZCBzZWxlY3Rvci5cblx0ICpcblx0ICogQHBhcmFtIHtqUXVlcnl9ICRtb2RhbFxuXHQgKi9cblx0aGlkZSgkbW9kYWwpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KCRtb2RhbCk7XG5cdFx0XG5cdFx0JG1vZGFsLm9uKCdoaWRkZW4uYnMubW9kYWwnLCAoKSA9PiAkbW9kYWwucmVtb3ZlKCkpO1xuXHRcdFxuXHRcdCRtb2RhbC5tb2RhbCgnaGlkZScpO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIERpc3BsYXkgdGhlIHByb21wdCB0ZW1wbGF0ZSBhcyBhIG1vZGFsIHRvIHRoZSB1c2VyLlxuXHQgKlxuXHQgKiBUaGUgdXNlciB3aWxsIGhhdmUgdG8gY29uZmlybSB0aGUgbW9kYWwgaW4gb3JkZXIgdG8gcHJvY2VlZCwgaGUgY2FuIGFsc28gcHJlc3Ncblx0ICogdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIG9mIHRoZSBtb2RhbC5cblx0ICogQHBhcmFtIHtTdHJpbmd9IG1lc3NhZ2UgVGhlIG1lc3NhZ2Ugb2YgdGhlIG1vZGFsLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtqUXVlcnkuUHJvbWlzZX0gUmV0dXJucyBhIHByb21pc2Ugb2JqZWN0IHRoYXQgd2lsbCBiZSByZXNvbHZlZCBpZiB0aGUgdXNlciBjb25maXJtcyB0aGUgcHJvbXB0LlxuXHQgKi9cblx0cHJvbXB0KHRpdGxlLCBtZXNzYWdlKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyh0aXRsZSk7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhtZXNzYWdlKTtcblx0XHRcblx0XHRjb25zdCBkZWZlcnJlZCA9ICQuRGVmZXJyZWQoKTtcblx0XHRjb25zdCB0ZW1wbGF0ZSA9ICQoJyNwcm9tcHQtbW9kYWwtdGVtcGxhdGUnKS5odG1sKCk7XG5cdFx0Y29uc3QgZGF0YSA9IHtcblx0XHRcdHRpdGxlLFxuXHRcdFx0bWVzc2FnZSxcblx0XHRcdG9wdGlvbl95ZXM6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl95ZXMnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0b3B0aW9uX25vOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fbm8nLCAnc3R5bGVfZWRpdCcpXG5cdFx0fTtcblx0XHRjb25zdCBodG1sID0gTXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLCBkYXRhKTtcblx0XHRjb25zdCAkbW9kYWwgPSAkKGh0bWwpO1xuXHRcdFxuXHRcdCRtb2RhbC5tb2RhbCh7YmFja2Ryb3A6ICdleHBvcnQgZnVuY3Rpb24nfSk7XG5cdFx0XG5cdFx0JG1vZGFsLmZpbmQoJy5idG4ueWVzJylcblx0XHRcdC5vZmYoJ2NsaWNrJylcblx0XHRcdC5vbignY2xpY2snLCAoKSA9PiB7XG5cdFx0XHRcdCRtb2RhbC5tb2RhbCgnaGlkZScpLnJlbW92ZSgpO1xuXHRcdFx0XHRkZWZlcnJlZC5yZXNvbHZlKCk7XG5cdFx0XHR9KTtcblx0XHRcblx0XHQkbW9kYWwuZmluZCgnLmJ0bi5ubycpXG5cdFx0XHQub2ZmKCdjbGljaycpXG5cdFx0XHQub24oJ2NsaWNrJywgKCkgPT4ge1xuXHRcdFx0XHQkbW9kYWwubW9kYWwoJ2hpZGUnKS5yZW1vdmUoKTtcblx0XHRcdFx0ZGVmZXJyZWQucmVqZWN0KCk7XG5cdFx0XHR9KTtcblx0XHRcblx0XHRyZXR1cm4gZGVmZXJyZWQucHJvbWlzZSgpO1xuXHR9LFxuXHRcblx0LyoqXG5cdCAqIERpc3BsYXkgYSBzaW1wbGUgbWVzc2FnZSBtb2RhbCB0byB0aGUgdXNlci5cblx0ICpcblx0ICogVGhlIHVzZXIgd2lsbCBvbmx5IGJlIGFibGUgdG8gY2xpY2sgb24gYW4gXCJPS1wiIGJ1dHRvbiB0byBkaXNtaXNzIHRoZSBtb2RhbC5cblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHRpdGxlIFRoZSB0aXRsZSBvZiB0aGUgbW9kYWwuXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBtZXNzYWdlIFRoZSBtZXNzYWdlIG9mIHRoZSBtb2RhbC5cblx0ICpcblx0ICogQHJldHVybiB7alF1ZXJ5LlByb21pc2V9IFJldHVybnMgYSBwcm9taXNlIG9iamVjdCB0aGF0IHdpbGwgYmUgcmVzb2x2ZWQgb25jZSB0aGUgdXNlciBjbGlja3Mgb24gdGhlIFwiT0tcIiBidXR0b24uXG5cdCAqL1xuXHRtZXNzYWdlKHRpdGxlLCBtZXNzYWdlKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyh0aXRsZSk7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc1N0cmluZyhtZXNzYWdlKTtcblx0XHRcblx0XHRjb25zdCBkZWZlcnJlZCA9ICQuRGVmZXJyZWQoKTtcblx0XHRjb25zdCB0ZW1wbGF0ZSA9ICQoJyNtZXNzYWdlLW1vZGFsLXRlbXBsYXRlJykuaHRtbCgpO1xuXHRcdGNvbnN0IGRhdGEgPSB7XG5cdFx0XHR0aXRsZSxcblx0XHRcdG1lc3NhZ2UsXG5cdFx0XHRvcHRpb25fb2s6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ29wdGlvbl9vaycsICdzdHlsZV9lZGl0Jylcblx0XHR9O1xuXHRcdGNvbnN0IGh0bWwgPSBNdXN0YWNoZS5yZW5kZXIodGVtcGxhdGUsIGRhdGEpO1xuXHRcdGNvbnN0ICRtb2RhbCA9ICQoYDxkaXYgY2xhc3M9XCJtb2RhbFwiPiR7aHRtbH08L2Rpdj5gKTtcblx0XHRcblx0XHQkbW9kYWwubW9kYWwoe2JhY2tkcm9wOiAnZXhwb3J0IGZ1bmN0aW9uJ30pO1xuXHRcdFxuXHRcdCRtb2RhbC5maW5kKCcuYnRuLm9rJylcblx0XHRcdC5vZmYoJ2NsaWNrJylcblx0XHRcdC5vbignY2xpY2snLCAoKSA9PiB7XG5cdFx0XHRcdCRtb2RhbC5tb2RhbCgnaGlkZScpLnJlbW92ZSgpO1xuXHRcdFx0XHRkZWZlcnJlZC5yZXNvbHZlKCk7XG5cdFx0XHR9KVxuXHRcdFx0LmZvY3VzKCk7XG5cdFx0XG5cdFx0cmV0dXJuIGRlZmVycmVkLnByb21pc2UoKTtcblx0fVx0XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBSb3V0ZXIuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgQ3JlYXRlU3R5bGVNb2RhbCBmcm9tICcuLi9jb250cm9sbGVycy9DcmVhdGVTdHlsZU1vZGFsJztcbmltcG9ydCBDdXN0b21TdHlsZXNNb2RhbCBmcm9tICcuLi9jb250cm9sbGVycy9DdXN0b21TdHlsZXNNb2RhbCc7XG5pbXBvcnQgRHVwbGljYXRlU3R5bGVNb2RhbCBmcm9tICcuLi9jb250cm9sbGVycy9EdXBsaWNhdGVTdHlsZU1vZGFsJztcbmltcG9ydCBFZGl0U3R5bGVWaWV3IGZyb20gJy4uL2NvbnRyb2xsZXJzL0VkaXRTdHlsZVZpZXcnO1xuaW1wb3J0IE15U3R5bGVzVmlldyBmcm9tICcuLi9jb250cm9sbGVycy9NeVN0eWxlc1ZpZXcnO1xuaW1wb3J0IFVwbG9hZFN0eWxlTW9kYWwgZnJvbSAnLi4vY29udHJvbGxlcnMvVXBsb2FkU3R5bGVNb2RhbCc7XG5pbXBvcnQgVXBsb2FkSW1hZ2VNb2RhbCBmcm9tICcuLi9jb250cm9sbGVycy9VcGxvYWRJbWFnZU1vZGFsJztcbmltcG9ydCBQcmV2aWV3SW1hZ2VNb2RhbCBmcm9tICcuLi9jb250cm9sbGVycy9QcmV2aWV3SW1hZ2VNb2RhbCc7XG5cbi8vIFJlcXVpcmUgYWxsIHRoZSBjb250cm9sbGVyIGZpbGVzLlxuY29uc3QgY29udHJvbGxlcnMgPSB7XG5cdENyZWF0ZVN0eWxlTW9kYWwsXG5cdEN1c3RvbVN0eWxlc01vZGFsLFxuXHREdXBsaWNhdGVTdHlsZU1vZGFsLFxuXHRFZGl0U3R5bGVWaWV3LFxuXHRNeVN0eWxlc1ZpZXcsXG5cdFVwbG9hZFN0eWxlTW9kYWwsXG5cdFVwbG9hZEltYWdlTW9kYWwsXG5cdFByZXZpZXdJbWFnZU1vZGFsXG59O1xuXG4vKipcbiAqIFdpbGwgZHluYW1pY2FsbHkgY3JlYXRlIHRoZSBjb3JyZWN0IGNvbnRyb2xsZXIgaW5zdGFuY2UuXG4gKlxuICogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTYwODU0NlxuICpcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbnN0cnVjdG9yIFRoZSBjbGFzcyBjb25zdHJ1Y3Rvci5cbiAqIEBwYXJhbSB7KltdfSBhcmdzIENvbnRhaW5zIHRoZSBjb25zdHJ1Y3RvciBhcmd1bWVudHMuXG4gKiBAcmV0dXJuIHsqfSBSZXR1cm5zIG5ldyBpbnN0YW5jZSBvZiB0aGUgY29uc3RydWN0b3IuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gX2NyZWF0ZUNvbnRyb2xsZXIoY29uc3RydWN0b3IsIGFyZ3MpIHtcblx0ZnVuY3Rpb24gQ29udHJvbGxlcigpIHtcblx0XHRyZXR1cm4gY29uc3RydWN0b3IuYXBwbHkodGhpcywgYXJncyk7XG5cdH1cblx0XG5cdENvbnRyb2xsZXIucHJvdG90eXBlID0gY29uc3RydWN0b3IucHJvdG90eXBlO1xuXHRyZXR1cm4gbmV3IENvbnRyb2xsZXIoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuXHQvKipcblx0ICogTG9hZCB0aGUgcmVxdWVzdGVkIGNvbnRyb2xsZXIgYW5kIGV4ZWN1dGUgdGhlIFwiaW5pdGlhbGl6ZVwiIG1ldGhvZC5cblx0ICpcblx0ICogTm90aWNlOiB0aGUgYXJncyBvYmplY3QgbXVzdCBkZWZpbmUgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNvbnN0cnVjdG9yIHBhcmFtZXRlcnMuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBjb250cm9sbGVyTmFtZSBUaGUgY29udHJvbGxlciBjbGFzcyBuYW1lIHRvIGJlIGxvYWRlZC5cblx0ICogQHBhcmFtIHsqW119IGFyZ3MgT3B0aW9uYWwgKFtdKSwgYXJyYXkgdGhhdCBjb250YWlucyB0aGUgY29udHJvbGxlcidzIHBhcmFtZXRlcnMuXG5cdCAqL1xuXHRsb2FkKGNvbnRyb2xsZXJOYW1lLCBhcmdzID0gW10pIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKGNvbnRyb2xsZXJOYW1lKTtcblx0XHRcblx0XHRpZiAoYXJncyAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KGFyZ3MpO1xuXHRcdH1cblx0XHRcblx0XHRjb25zdCBpbnN0YW5jZSA9IF9jcmVhdGVDb250cm9sbGVyKGNvbnRyb2xsZXJzW2NvbnRyb2xsZXJOYW1lXSwgYXJncyk7XG5cdFx0XG5cdFx0aW5zdGFuY2UuaW5pdGlhbGl6ZSgpO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBVcmxQYXJzZXIuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdC8qKlxuXHQgKiBHZXQgdGhlIHZhbHVlIG9mIGEgR0VUIHBhcmFtZXRlci5cblx0ICpcblx0ICogU2luY2UgU3R5bGVFZGl0MyBKUyBjb2RlIHdpbGwgb25seSBiZSBjb25maWd1cmVkIGJ5IHRoZSBVUkwgaXQncyBuZWNlc3Nhcnlcblx0ICogdG8gYmUgYSB3YXkgb2YgZ2V0dGluZyB0aGUgR0VUIHBhcmFtZXRlcnMgb2YgdGhlIGN1cnJlbnQgcmVxdWVzdC5Vc2UgdGhpc1xuXHQgKiBtZXRob2QgdG8gZ2V0IHZhcmlhYmxlIHZhbHVlcy5cblx0ICpcblx0ICogSW1wb3J0YW50OiBJZiBhIHBhcmFtZXRlciBkb2VzIG5vdCBleGlzdCB0aGVuIHRoZSByZXN1bHQgd2lsbCBiZSBhbiB1bmRlZmluZWRcblx0ICogb2JqZWN0LCBvdGhlcndpc2UgaWYgdGhlIHBhcmFtZXRlciBleGlzdCBidXQgaGFzIG5vIHZhbHVlIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuXG5cdCAqIGEgbnVsbCByZXN1bHQuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIFZhcmlhYmxlIG5hbWUgb2YgdGhlIHZhbHVlLlxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHJpbmd9IFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXIuXG5cdCAqL1xuXHRnZXRQYXJhbShuYW1lKSB7XG5cdFx0Y29uc3QgZ2V0UGFyYW1ldGVyc1N0cmluZyA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyKDEpO1xuXHRcdGNvbnN0IHRva2VucyA9IGdldFBhcmFtZXRlcnNTdHJpbmcuc3BsaXQoJyYnKTtcblx0XHRjb25zdCBnZXRQYXJhbWV0ZXJzID0ge307XG5cdFx0XG5cdFx0dG9rZW5zLmZvckVhY2goZnVuY3Rpb24odG9rZW4pIHtcblx0XHRcdGNvbnN0IHBhcmFtZXRlciA9IHRva2VuLnNwbGl0KCc9Jyk7XG5cdFx0XHRnZXRQYXJhbWV0ZXJzW3BhcmFtZXRlclswXV0gPSBwYXJhbWV0ZXJbMV0gfHwgbnVsbDtcblx0XHR9KTtcblx0XHRcblx0XHRyZXR1cm4gZ2V0UGFyYW1ldGVyc1tuYW1lXTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmFsaWRhdG9yLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBUaHJvdyBUeXBlRXJyb3JcbiAqXG4gKiBUaGlzIG1ldGhvZCB3aWxsIHRocm93IHRoZSBzYW1lIG1lc3NhZ2UgZm9yIGV2ZXJ5IHZhbGlkYXRpb24gZmFpbHVyZS5cbiAqXG4gKiBAcGFyYW0geyp9IHZhbHVlIFZhbGlkYXRlZCBWYWx1ZVxuICogQHBhcmFtIHtTdHJpbmd9IGV4cGVjdGVkVHlwZSB0aGUgRXhwZWN0ZWQgVHlwZVxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIF90aHJvdyh2YWx1ZSwgZXhwZWN0ZWRUeXBlKSB7XG5cdHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgdmFsdWUgZ2l2ZW4sIGV4cGVjdGVkIFwiJyArIGV4cGVjdGVkVHlwZSArICdcIiBnb3QgXCInICsgdHlwZW9mIHZhbHVlICsgJ1wiLicsIHZhbHVlKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuXHQvKipcblx0ICogVmFsaWRhdGUgSW50IFZhbHVlc1xuXHQgKlxuXHQgKiBAcGFyYW0ge051bWJlcn0gdmFsdWVcblx0ICpcblx0ICogQHRocm93cyBUeXBlRXJyb3IgSWYgdGhlIGFyZ3VtZW50IGlzIG5vdCB2YWxpZC5cblx0ICovXG5cdGlzSW50KHZhbHVlKSB7XG5cdFx0aWYgKHZhbHVlICE9PSBwYXJzZUludCh2YWx1ZSkpIHtcblx0XHRcdF90aHJvdyh2YWx1ZSwgJ2ludGVnZXInKTtcblx0XHR9XG5cdH0sXG5cdFxuXHQvKipcblx0ICogVmFsaWRhdGUgRmxvYXQgVmFsdWVzXG5cdCAqXG5cdCAqIEBwYXJhbSB7TnVtYmVyfSB2YWx1ZVxuXHQgKlxuXHQgKiBAdGhyb3dzIFR5cGVFcnJvciBJZiB0aGUgYXJndW1lbnQgaXMgbm90IHZhbGlkLlxuXHQgKi9cblx0aXNGbG9hdCh2YWx1ZSkge1xuXHRcdGlmICh2YWx1ZSAhPT0gTnVtYmVyKHZhbHVlKSB8fCB2YWx1ZSAlIDEgPT09IDApIHtcblx0XHRcdF90aHJvdyh2YWx1ZSwgJ2Zsb2F0Jyk7XG5cdFx0fVxuXHR9LFxuXHRcblx0LyoqXG5cdCAqIFZhbGlkYXRlIFN0cmluZyBWYWx1ZXNcblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHZhbHVlXG5cdCAqXG5cdCAqIEB0aHJvd3MgVHlwZUVycm9yIElmIHRoZSBhcmd1bWVudCBpcyBub3QgdmFsaWQuXG5cdCAqL1xuXHRpc1N0cmluZyh2YWx1ZSkge1xuXHRcdGlmICh2YWx1ZS5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7XG5cdFx0XHRfdGhyb3codmFsdWUsICdzdHJpbmcnKTtcblx0XHR9XG5cdH0sXG5cdFxuXHQvKipcblx0ICogVmFsaWRhdGUgQm9vbCBWYWx1ZXNcblx0ICpcblx0ICogQHBhcmFtIHtCb29sZWFufSB2YWx1ZVxuXHQgKlxuXHQgKiBAdGhyb3dzIFR5cGVFcnJvciBJZiB0aGUgYXJndW1lbnQgaXMgbm90IHZhbGlkLlxuXHQgKi9cblx0aXNCb29sKHZhbHVlKSB7XG5cdFx0aWYgKHZhbHVlLmNvbnN0cnVjdG9yICE9PSBCb29sZWFuKSB7XG5cdFx0XHRfdGhyb3codmFsdWUsICdib29sJyk7XG5cdFx0fVxuXHR9LFxuXHRcblx0LyoqXG5cdCAqIFZhbGlkYXRlIE9iamVjdCBWYWx1ZXNcblx0ICpcblx0ICogQHBhcmFtIHtPYmplY3R9IHZhbHVlXG5cdCAqXG5cdCAqIEB0aHJvd3MgVHlwZUVycm9yIElmIHRoZSBhcmd1bWVudCBpcyBub3QgdmFsaWQuXG5cdCAqL1xuXHRpc09iamVjdCh2YWx1ZSkge1xuXHRcdGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG5cdFx0XHRfdGhyb3codmFsdWUsICdvYmplY3QnKTtcblx0XHR9XG5cdH0sXG5cdFxuXHQvKipcblx0ICogVmFsaWRhdGUgdHlwZSBvZiBvYmplY3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlIEV4cGVjdGVkIG9iamVjdCB0eXBlIG5hbWUuXG5cdCAqIEBwYXJhbSB7Kn0gb2JqZWN0IFRoZSBvYmplY3QgdG8gYmUgdmFsaWRhdGVkLlxuXHQgKlxuXHQgKiBAdGhyb3dzIFR5cGVFcnJvciBJZiB0aGUgYXJndW1lbnQgaXMgbm90IHZhbGlkLlxuXHQgKi9cblx0aXNUeXBlT2YodHlwZSwgb2JqZWN0KSB7XG5cdFx0aWYgKHR5cGVvZiBvYmplY3QgIT09IHR5cGUpIHtcblx0XHRcdF90aHJvdyhvYmplY3QsIHR5cGUpO1xuXHRcdH1cblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgV2lkZ2V0Q29udmVydGVyLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qanNoaW50IC1XMDc5ICovXG5cbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IFNldHRpbmcgZnJvbSAnLi4vZW50aXRpZXMvU2V0dGluZyc7IFxuaW1wb3J0IEJveFNldHRpbmcgZnJvbSAnLi4vZW50aXRpZXMvQm94U2V0dGluZyc7IFxuaW1wb3J0IFRleHRCb3ggZnJvbSAnLi4vd2lkZ2V0cy9UZXh0Qm94JzsgXG5pbXBvcnQgU2VsZWN0Qm94IGZyb20gJy4uL3dpZGdldHMvU2VsZWN0Qm94J1xuaW1wb3J0IENvbG9ycGlja2VyIGZyb20gJy4uL3dpZGdldHMvQ29sb3JwaWNrZXInO1xuaW1wb3J0IFN3aXRjaCBmcm9tICcuLi93aWRnZXRzL1N3aXRjaCc7IFxuaW1wb3J0IFRpdGxlIGZyb20gJy4uL3dpZGdldHMvVGl0bGUnOyBcbmltcG9ydCBJbWFnZSBmcm9tICcuLi93aWRnZXRzL0ltYWdlJztcblxuZXhwb3J0IGRlZmF1bHQge1xuXHQvKipcblx0ICogQ29udmVydCBhIHNpbmdsZSBzZXR0aW5nIG9iamVjdCB0byBpdHMnIHdpZGdldCBpbnN0YW5jZS5cblx0ICpcblx0ICogQHBhcmFtIHtPYmplY3R9IHNldHRpbmcgQ29tZXMgZnJvbSB0aGUgSlNPTiBzdHlsZSBjb25maWd1cmF0aW9uIGFuZCBjb250YWlucyB0aGUgc2V0dGluZyBkYXRhLlxuXHQgKiBAcGFyYW0ge1N0eWxlQ29uZmlndXJhdGlvbn0gc3R5bGVDb25maWd1cmF0aW9uIFRoZSBzdHlsZSBjb25maWd1cmF0aW9uIG9iamVjdCB0aGF0IHRoZSBzZXR0aW5nIGJlbG9uZ3MgdG8uXG5cdCAqIEBwYXJhbSB7U3RyaW5nW119IHRlbXBsYXRlSW1hZ2VzIENvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHRlbXBsYXRlIGltYWdlcy5cblx0ICpcblx0ICogQHJldHVybiB7Kn0gUmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyB3aWRnZXQgaW5zdGFuY2UuXG5cdCAqL1xuXHRjb252ZXJ0U2V0dGluZ1RvV2lkZ2V0KHNldHRpbmcsIHN0eWxlQ29uZmlndXJhdGlvbiwgdGVtcGxhdGVJbWFnZXMpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KHNldHRpbmcpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3Qoc3R5bGVDb25maWd1cmF0aW9uKTtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KHRlbXBsYXRlSW1hZ2VzKTtcblx0XHRcblx0XHRsZXQgc2V0dGluZ0luc3RhbmNlO1xuXHRcdGxldCB3aWRnZXRJbnN0YW5jZTtcblx0XHRcblx0XHRzZXR0aW5nSW5zdGFuY2UgPSAoc2V0dGluZy5wb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSA/IG5ldyBTZXR0aW5nKCkgOiBuZXcgQm94U2V0dGluZygpO1xuXHRcdFxuXHRcdHNldHRpbmdJbnN0YW5jZVxuXHRcdFx0LnNldE5hbWUoc2V0dGluZy5uYW1lKVxuXHRcdFx0LnNldFRpdGxlKFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoc2V0dGluZy5uYW1lLCAndGVtcGxhdGUnKSlcblx0XHRcdC5zZXRUeXBlKHNldHRpbmcudHlwZSk7XG5cdFx0XG5cdFx0aWYgKHNldHRpbmcudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0c2V0dGluZ0luc3RhbmNlLnNldFZhbHVlKHNldHRpbmcudmFsdWUpO1xuXHRcdH1cblx0XHRcblx0XHRpZiAoc2V0dGluZy5kZWZhdWx0TWV0cmljICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdHNldHRpbmdJbnN0YW5jZS5zZXREZWZhdWx0TWV0cmljKHNldHRpbmcuZGVmYXVsdE1ldHJpYyk7XG5cdFx0fVxuXHRcdFxuXHRcdGlmIChzZXR0aW5nLnBvc2l0aW9uICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdHNldHRpbmdJbnN0YW5jZS5zZXRQb3NpdGlvbihzZXR0aW5nLnBvc2l0aW9uKTtcblx0XHR9XG5cdFx0XG5cdFx0aWYgKHNldHRpbmcub3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRzZXR0aW5nSW5zdGFuY2Uuc2V0T3B0aW9ucyhzZXR0aW5nLm9wdGlvbnMpO1xuXHRcdH1cblx0XHRcblx0XHRpZiAoc2V0dGluZy50YWdzICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdHNldHRpbmdJbnN0YW5jZS5zZXRUYWdzKHNldHRpbmcudGFncyk7XG5cdFx0fVxuXHRcdFxuXHRcdC8vIENyZWF0ZSB0aGUgd2lkZ2V0IGluc3RhbmNlLlxuXHRcdHN3aXRjaCAoc2V0dGluZy50eXBlKSB7XG5cdFx0XHRjYXNlICdjb2xvcic6XG5cdFx0XHRcdHdpZGdldEluc3RhbmNlID0gbmV3IENvbG9ycGlja2VyKHNldHRpbmdJbnN0YW5jZSwgc3R5bGVDb25maWd1cmF0aW9uKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICd0ZXh0Jzpcblx0XHRcdFx0d2lkZ2V0SW5zdGFuY2UgPSBuZXcgVGV4dEJveChzZXR0aW5nSW5zdGFuY2UsIHN0eWxlQ29uZmlndXJhdGlvbik7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnc2VsZWN0Jzpcblx0XHRcdFx0d2lkZ2V0SW5zdGFuY2UgPSBuZXcgU2VsZWN0Qm94KHNldHRpbmdJbnN0YW5jZSwgc3R5bGVDb25maWd1cmF0aW9uKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdzd2l0Y2gnOlxuXHRcdFx0XHR3aWRnZXRJbnN0YW5jZSA9IG5ldyBTd2l0Y2goc2V0dGluZ0luc3RhbmNlLCBzdHlsZUNvbmZpZ3VyYXRpb24pO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJ3RpdGxlJzpcblx0XHRcdFx0d2lkZ2V0SW5zdGFuY2UgPSBuZXcgVGl0bGUoc2V0dGluZ0luc3RhbmNlKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdpbWFnZSc6XG5cdFx0XHRcdHdpZGdldEluc3RhbmNlID0gbmV3IEltYWdlKHNldHRpbmdJbnN0YW5jZSwgc3R5bGVDb25maWd1cmF0aW9uLCB0ZW1wbGF0ZUltYWdlcyk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHNldHRpbmcgc2V0dGluZyB0eXBlIGRldGVjdGVkOiAnICsgc2V0dGluZy50eXBlKTtcblx0XHR9XG5cdFx0XG5cdFx0cmV0dXJuIHdpZGdldEluc3RhbmNlO1xuXHR9XG5cdFxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgbWFpbi5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG5pbXBvcnQgUm91dGVyIGZyb20gJy4vbGlicy9Sb3V0ZXInOyBcbmltcG9ydCBEZWJ1ZyBmcm9tICcuL2xpYnMvRGVidWcnOyBcbmltcG9ydCBWYWxpZGF0b3IgZnJvbSAnLi9saWJzL1ZhbGlkYXRvcic7IFxuaW1wb3J0IFVybFBhcnNlciBmcm9tICcuL2xpYnMvVXJsUGFyc2VyJzsgXG5pbXBvcnQgTGFuZ3VhZ2VBcGkgZnJvbSAnLi9hcGkvTGFuZ3VhZ2VBcGknOyBcbmltcG9ydCBDb25maWdBcGkgZnJvbSAnLi9hcGkvQ29uZmlnQXBpJztcbmltcG9ydCBFbnZpcm9ubWVudCBmcm9tICcuL2xpYnMvRW52aXJvbm1lbnQnO1xuaW1wb3J0IENvbmZpZyBmcm9tICcuL2xpYnMvQ29uZmlnJzsgXG5pbXBvcnQgTGFuZ3VhZ2UgZnJvbSAnLi9saWJzL0xhbmd1YWdlJzsgXG5pbXBvcnQgVGVtcGxhdGVQcmV2aWV3IGZyb20gJy4vd2lkZ2V0cy9UZW1wbGF0ZVByZXZpZXcnOyBcbmltcG9ydCBQcmV2aWV3VHlwZSBmcm9tICcuL2VudGl0aWVzL1ByZXZpZXdUeXBlJzsgXG5pbXBvcnQgUHJldmlld1Jlc2l6ZXIgZnJvbSAnLi93aWRnZXRzL1ByZXZpZXdSZXNpemVyJzsgXG5pbXBvcnQgQXBwRnJhbWUgZnJvbSAnLi93aWRnZXRzL0FwcEZyYW1lJzsgXG5pbXBvcnQgRnJhbWVUb2dnbGUgZnJvbSAnLi93aWRnZXRzL0ZyYW1lVG9nZ2xlJztcbmltcG9ydCAnYmFiZWwtcG9seWZpbGwnO1xuaW1wb3J0IGVuYWJsZUFib3V0SW5mb3JtYXRpb24gZnJvbSAnLi9saWJzL0Fib3V0JztcblxuLyoqXG4gKiBTdHlsZUVkaXQzIC0gTWFpbiBBcHAgRmlsZVxuICpcbiAqIFRoaXMgaXMgdGhlIEpTIGVudHJ5IHBvaW50IGZvciB0aGUgU3R5bGVFZGl0MyBwcm9qZWN0LiBJdCB3aWxsIHN0YXJ0IHRoZSByZXF1aXJlZCBjb250cm9sbGVyc1xuICogYW5kIHdpZGdldHMgaW4gb3JkZXIgdG8gc2V0dXAgdGhlIFVJLiBUaGVyZSBhcmUgdmFyaW91cyBjb250cm9sbGVycyB0aGF0IHNlcnZlIGRpZmZlcmVudFxuICogdmlld3MgJiBsYXllcnMgb2YgU3R5bGVFZGl0LiBUaGUgcm91dGluZyBpcyBkb25lIHdpdGggdGhlIFwiUm91dGVyXCIgbW9kdWxlIHdoaWNoIHdpbGwgbG9hZCB0aGVcbiAqIHJlcXVpcmVkIGNvbnRyb2xsZXIgdXBvbiByZXF1ZXN0LlxuICpcbiAqIFRoaXMgZmlsZSB3aWxsIGNyZWF0ZSBhIG5ldyB3aW5kb3cgb2JqZWN0IHdpdGggdGhlIG5hbWUgXCJTdHlsZUVkaXRcIi4gVXNlIHRoaXMgYXMgdGhlIG5hbWVzcGFjZVxuICogb2JqZWN0IGZvciB0aGUgd2hvbGUgYXBwbGljYXRpb24gaW4gb3JkZXIgdG8gYXZvaWQgdGhlIGdsb2JhbCBuYW1lc3BhY2UgcG9sbHV0aW9uLlxuICpcbiAqIE5hbWVseSBhZnRlciBpbml0aWFsaXphdGlvbiB0aGVyZSB3aWxsIGJlIHRoZSBmb2xsb3dpbmcgaW5zdGFuY2VzIGF2YWlsYWJsZSBhdCBhbnkgdGltZTpcbiAqXG4gKiAgIC0gd2luZG93LlN0eWxlRWRpdC5Db25maWcgPj4gUHJvdmlkZXMgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi5cbiAqICAgLSB3aW5kb3cuU3R5bGVFZGl0Lkxhbmd1YWdlID4+IENvbnRhaW5zIHRoZSByZXF1aXJlZCB0cmFuc2xhdGlvbnMuXG4gKiAgIC0gd2luZG93LlN0eWxlRWRpdC5EZWJ1ZyA+PiBVc2UgdGhpcyB3aGVuIGRlYnVnZ2luZyB0aGUgYXBwbGljYXRpb24uXG4gKiAgIC0gd2luZG93LlN0eWxlRWRpdC5WYWxpZGF0b3IgPj4gVXNlIHRoaXMgbW9kdWxlIGZvciB2YWxpZGF0aW5nIGFyZ3VtZW50IHZhbHVlc1xuICpcbiAqIEFkZCB0aGUgXCJkZWJ1Z1wiIEdFVCBwYXJhbWV0ZXIgdG8gZW5hYmxlIHRoZSBkZWJ1ZyBlbnZpcm9ubWVudCBvZiB0aGUgSmF2YVNjcmlwdCBjb2RlLiBJbiB0aGVcbiAqIGRlYnVnIGVudmlyb25tZW50IHRoZSB1bm1pbmlmaWVkIGZpbGVzIGFyZSBsb2FkZWQgYWxvbmcgd2l0aCBzb3VyY2UgbWFwcyBzbyB0aGF0IHlvdSBjYW4gc2VlXG4gKiBhbmQgZGVidWcgdGhyb3VnaCB0aGUgb3JpZ2luYWwgZmlsZXMuXG4gKlxuICogTm90aWNlOiBUaGUgSlMgc2VjdGlvbiBvZiBTdHlsZUVkaXQgbXVzdCBub3QgcmVxdWlyZSBhbnkgY29uZmlndXJhdGlvbiB2YWx1ZSBmcm9tIHRoZVxuICogUEhQIGZpbGVzLiBBbGwgdGhlIGNvbmZpZ3VyYXRpb24gbXVzdCBiZSBkb25lIHRocm91Z2ggR0VUIHBhcmFtZXRlcnMuIFRoaXMgbWFrZXMgdGhlIGFwcFxuICogbW9yZSBmbGV4aWJsZSBiZXR3ZWVuIGRpZmZlcmVudCBwcm9qZWN0cyBhbmQgdGVtcGxhdGVzLlxuICpcbiAqIENvbmZpZ3VyYXRpb24gR0VUIHBhcmFtZXRlcnM6XG4gKlxuICogICAtIHRlbXBsYXRlID4+IFRoZSB0ZW1wbGF0ZSBuYW1lIHRoYXQgaXMgY29uZmlndXJlZCAocmVxdWlyZWQpLlxuICogICAtIGxhbmcgPj4gRGVmaW5lcyB0aGUgc2VsZWN0ZWQgaW50ZXJmYWNlIGxhbmd1YWdlIChtdXN0IGJlIGFuIElTTyBjb2RlIGxpa2UgXCJkZVwiIG9yIFwiZW5cIikgLSAob3B0aW9uYWwpLlxuICogICAtIGRlYnVnID4+IFdpbGwgdG9nZ2xlIHRoZSBkZWJ1ZyBlbnZpcm9ubWVudCBvZiBKYXZhU2NyaXB0IGNvZGUgKG9wdGlvbmFsKS5cbiAqXG4gKiBEdXJpbmcgdGhlIGxpZmVjeWNsZSBvZiB0aGUgYXBwbGljYXRpb24gc29tZSBzcGVjaWZpYyBldmVudHMgYXJlIHRyaWdnZXJlZCBzbyB0aGF0IHZhcmlvdXMgb2JqZWN0c1xuICogY2FuIHJlYWN0IGFjY29yZGluZ2x5LiBJdCBpcyBiZXR0ZXIgdG8gY2F0Y2ggdGhlc2UgZXZlbnQgYXQgdGhlIGJvZHkgb3IgdGhlIGRvY3VtZW50IG9iamVjdCBpbiBvcmRlclxuICogdG8gYmUgc3VyZSB0aGF0IHRoZXkgd2lsbCBiZSByZWFjaGFibGUgZnJvbSBhbnkgcGxhY2UuXG4gKlxuICogICAtIFN0eWxlRWRpdC5TdHlsZUNyZWF0ZWQgPj4gVHJpZ2dlcmVkIGFmdGVyIGEgc3R5bGUgaXMgY3JlYXRlZC5cbiAqICAgLSBTdHlsZUVkaXQuU3R5bGVVcGRhdGVkID4+IFRyaWdnZXJlZCBhZnRlciBhIHN0eWxlIGlzIHNhdmVkLlxuICogICAtIFN0eWxlRWRpdC5TdHlsZURlbGV0ZWQgPj4gVHJpZ2dlcmVkIGFmdGVyIGEgc3R5bGUgaXMgcmVtb3ZlZC5cbiAqICAgLSBTdHlsZUVkaXQuU3R5bGVBY3RpdmF0ZWQgPj4gVHJpZ2dlcmVkIGFmdGVyIGEgc3R5bGUgaGFzIGJlZW4gYWN0aXZhdGVkLlxuICogICAtIFN0eWxlRWRpdC5DdXN0b21TdHlsZXNDaGFuZ2VkID4+IFRyaWdnZXJlZCBhZnRlciBjdXN0b20gc3R5bGVzIG9mIGEgc3R5bGUgd2VyZSBjaGFuZ2VkLlxuICogICAtIFN0eWxlRWRpdC5Db250cm9sbGVySW5pdGlhbGl6ZWQgPj4gVHJpZ2dlcmVkIGFmdGVyIGEgc3VjY2Vzc2Z1bCBjb250cm9sbGVyIGluaXRpYWxpemF0aW9uLlxuICogICAtIFN0eWxlRWRpdC5Db250cm9sbGVyRGVzdHJveWVkID4+IFRyaWdnZXJlZCBhZnRlciBhIHN1Y2Nlc3NmdWwgY29udHJvbGxlciBkZXN0cnVjdGlvbi5cbiAqICAgLSBTdHlsZUVkaXQuVGVybWluYXRlZCA+PiBUcmlnZ2VyZWQgYWZ0ZXIgU3R5bGVFZGl0IGlzIHRlcm1pbmF0ZWQgYW5kIGJlZm9yZSB0aGUgYnJvd3NlciByZWRpcmVjdGlvbiB0byB0aGVcbiAqICAgICBwcmV2aWV3IHBhZ2UuXG4gKiAgIC0gU3R5bGVFZGl0LlByZXZpZXdSZWxvYWRlZCA+PiBUcmlnZ2VyZWQgYWZ0ZXIgdGhlIHRlbXBsYXRlIHByZXZpZXcgaGFzIGZpbmlzaGVkIHJlbG9hZGluZy5cbiAqL1xuJChmdW5jdGlvbigpIHtcblx0XG5cdCd1c2Ugc3RyaWN0Jztcblx0XG5cdC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLyBTRVRVUCBFTlZJUk9OTUVOVFxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0XG5cdEVudmlyb25tZW50LnNldHVwKCk7XG5cdFxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8gSU5JVElBTElaRSBBUFBMSUNBVElPTlxuXHQvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0XG5cdC8vIFNldHVwIHRoZSByZXF1aXJlZCBjb25maWd1cmF0aW9uLiBcblx0Y29uc3QgY29uZmlnID0ge1xuXHRcdHZlcnNpb246ICczLjAnLFxuXHRcdGJhc2VVcmw6ICh3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5yZXBsYWNlKC9cXC9TdHlsZUVkaXQzXFwvLiokLywgJy9TdHlsZUVkaXQzJyksXG5cdFx0cHJldmlld1VybDogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9cXC9TdHlsZUVkaXQzXFwvLiokLywgJycpLFxuXHRcdGVudmlyb25tZW50OiBVcmxQYXJzZXIuZ2V0UGFyYW0oJ2RlYnVnJykgIT09IHVuZGVmaW5lZCA/ICdkZXZlbG9wbWVudCcgOiAncHJvZHVjdGlvbicsXG5cdFx0bGFuZ3VhZ2VDb2RlOiBVcmxQYXJzZXIuZ2V0UGFyYW0oJ2xhbmcnKSB8fCAnZGUnLFxuXHRcdHRoZW1lOiBVcmxQYXJzZXIuZ2V0UGFyYW0oJ3RoZW1lJykgIT09IHVuZGVmaW5lZCxcblx0XHR0ZW1wbGF0ZTogVXJsUGFyc2VyLmdldFBhcmFtKCd0ZW1wbGF0ZScpLFxuXHRcdHRlbXBTdHlsZU5hbWU6ICdfX3RlbXBvcmFyeV9zdHlsZScsXG5cdFx0bG9jYWxTdG9yYWdlQ29sb3JQYWxldHRlOiAnc3R5bGVfZWRpdF9jb2xvcl9wYWxldHRlJ1xuXHR9O1xuXHRcblx0aWYgKCFjb25maWcudGVtcGxhdGUpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ1RlbXBsYXRlIEdFVCBwYXJhbWV0ZXIgaXMgbWlzc2luZywgcGxlYXNlIGFwcGVuZCB5b3VyIHJlcXVlc3QgVVJMIHdpdGggdGhlICdcblx0XHRcdCsgJ1wiJnRlbXBsYXRlPVRlbXBsYXRlTmFtZVwiLicpO1xuXHR9XG5cdFxuXHQvLyBDcmVhdGUgdGhlIFN0eWxlRWRpdCBuYW1lc3BhY2Ugb2JqZWN0LiBcblx0d2luZG93LlN0eWxlRWRpdCA9IHtcblx0XHRDb25maWc6IG5ldyBDb25maWcoY29uZmlnKSxcblx0XHRMYW5ndWFnZTogbmV3IExhbmd1YWdlKCksXG5cdFx0RGVidWc6IERlYnVnLFxuXHRcdFZhbGlkYXRvcjogVmFsaWRhdG9yXG5cdH07XG5cdFxuXHQvLyBBZGQgdGhlIFwiQWJvdXRcIiBwcm9wZXJ0eSBpbiB0aGUgU3R5bGVFZGl0IG9iamVjdCAob25seSBpbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCkuXG5cdGVuYWJsZUFib3V0SW5mb3JtYXRpb24oU3R5bGVFZGl0KTtcblx0XG5cdC8vIEZldGNoIGluaXRpYWwgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuICBcblx0Y29uc3QgcmVxdWVzdHMgPSBbXG5cdFx0Q29uZmlnQXBpLmdldCgpLFxuXHRcdExhbmd1YWdlQXBpLmdldFRyYW5zbGF0aW9ucyhTdHlsZUVkaXQuQ29uZmlnLmdldCgnbGFuZ3VhZ2VDb2RlJykpXG5cdF07IFxuXHRcblx0Ly8gSW5pdGlhbGl6ZSB0aGUgbWFpbiBVSSBlbGVtZW50cyB3aGVuIEFKQVggcmVxdWVzdHMgYXJlIGRvbmUuIFxuXHQkLndoZW4uYXBwbHkoJCwgcmVxdWVzdHMpXG5cdFx0LmRvbmUoZnVuY3Rpb24oKSB7XG5cdFx0XHRjb25zdCBmaW5hbENvbmZpZyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBjb25maWcsIGFyZ3VtZW50c1swXVswXSk7IFxuXHRcdFx0U3R5bGVFZGl0LkNvbmZpZyA9IG5ldyBDb25maWcoZmluYWxDb25maWcpOyAvLyBSZWluaXRpYWxpemUgd2l0aCBmaW5hbCBjb25maWcgdmFsdWVzLiBcblx0XHRcdFN0eWxlRWRpdC5MYW5ndWFnZS5hZGRTZWN0aW9uKCdzdHlsZV9lZGl0JywgYXJndW1lbnRzWzFdWzBdKTsgLy8gQWRkIHRyYW5zbGF0aW9ucyBzZWN0aW9uLlxuXHRcdFx0XG5cdFx0XHQvLyBDcmVhdGUgYSBUZW1wbGF0ZVByZXZpZXcgSW5zdGFuY2Vcblx0XHRcdGNvbnN0IHRlbXBsYXRlUHJldmlldyA9IG5ldyBUZW1wbGF0ZVByZXZpZXcoJCgnLnN0eWxlLWVkaXQtcHJldmlldycpLCBTdHlsZUVkaXQuQ29uZmlnLmdldCgncHJldmlld1VybCcpKTtcblx0XHRcdFxuXHRcdFx0Ly8gQ3JlYXRlIGEgUHJldmlld1Jlc2l6ZXIgSW5zdGFuY2Vcblx0XHRcdGNvbnN0IHByZXZpZXdSZXNpemVyID0gbmV3IFByZXZpZXdSZXNpemVyKCQoJy5wcmV2aWV3LXJlc2l6ZXInKSwgdGVtcGxhdGVQcmV2aWV3KTtcblx0XHRcdGNvbnN0IGRlc2t0b3BQcmV2aWV3ID0gbmV3IFByZXZpZXdUeXBlKCk7XG5cdFx0XHRjb25zdCB0YWJsZXRQcmV2aWV3TGFuZHNjYXBlID0gbmV3IFByZXZpZXdUeXBlKCk7XG5cdFx0XHRjb25zdCB0YWJsZXRQcmV2aWV3UG9ydHJhaXQgPSBuZXcgUHJldmlld1R5cGUoKTtcblx0XHRcdGNvbnN0IG1vYmlsZVByZXZpZXdQb3J0cmFpdCA9IG5ldyBQcmV2aWV3VHlwZSgpO1xuXHRcdFx0XG5cdFx0XHRkZXNrdG9wUHJldmlld1xuXHRcdFx0XHQuc2V0Q2xhc3MoJ2Rlc2t0b3AnKVxuXHRcdFx0XHQuc2V0TmFtZShTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fZGVza3RvcF9wcmV2aWV3JywgJ3N0eWxlX2VkaXQnKSlcblx0XHRcdFx0LnNldFByZXZpZXdDc3Moe1xuXHRcdFx0XHRcdHdpZHRoOiAnMTAwJScsXG5cdFx0XHRcdFx0aGVpZ2h0OiAnMTAwJScsXG5cdFx0XHRcdFx0cGFkZGluZzogJzAnLFxuXHRcdFx0XHRcdHBvc2l0aW9uOiAnJyxcblx0XHRcdFx0XHR0b3A6ICcnLFxuXHRcdFx0XHRcdGxlZnQ6ICcnLFxuXHRcdFx0XHRcdG1hcmdpbjogJycsXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJydcblx0XHRcdFx0fSlcblx0XHRcdFx0LnNldEljb25DbGFzcygnZmEgZmEtZGVza3RvcCcpXG5cdFx0XHRcdC5zZXRSZXNvbHV0aW9uKCc+IDEyMDAnKTtcblx0XHRcdFxuXHRcdFx0dGFibGV0UHJldmlld0xhbmRzY2FwZVxuXHRcdFx0XHQuc2V0Q2xhc3MoJ3RhYmxldCBsYW5kc2NhcGUnKVxuXHRcdFx0XHQuc2V0TmFtZShTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fdGFibGV0X3ByZXZpZXdfbGFuZHNjYXBlJywgJ3N0eWxlX2VkaXQnKSlcblx0XHRcdFx0LnNldFByZXZpZXdDc3Moe1xuXHRcdFx0XHRcdHdpZHRoOiAnMTAyNHB4Jyxcblx0XHRcdFx0XHRoZWlnaHQ6ICc3NjhweCcsXG5cdFx0XHRcdFx0cGFkZGluZzogJzIwcHggNzhweCAyMXB4IDI1cHgnLFxuXHRcdFx0XHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuXHRcdFx0XHRcdHRvcDogJzUwJScsXG5cdFx0XHRcdFx0bGVmdDogJzUwJScsXG5cdFx0XHRcdFx0bWFyZ2luOiAnLTQwNXB4IDAgMCAtNzIzcHgnLFxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICd1cmwoJyArIFN0eWxlRWRpdC5Db25maWcuZ2V0KCdiYXNlVXJsJylcblx0XHRcdFx0XHQrICcvYXNzZXRzL2ltYWdlcy90YWJsZXQtbGFuZHNjYXBlLXByZXZpZXctZnJhbWUuc3ZnKSAwJSAwJSAvIGNvbnRhaW4gbm8tcmVwZWF0J1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuc2V0SWNvbkNsYXNzKCdmYSBmYS10YWJsZXQgZmEtcm90YXRlLTI3MCcpXG5cdFx0XHRcdC5zZXRSZXNvbHV0aW9uKCcxMDI0eDc2OCcpO1xuXHRcdFx0XG5cdFx0XHR0YWJsZXRQcmV2aWV3UG9ydHJhaXRcblx0XHRcdFx0LnNldENsYXNzKCd0YWJsZXQgcG9ydHJhaXQnKVxuXHRcdFx0XHQuc2V0TmFtZShTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fdGFibGV0X3ByZXZpZXdfcG9ydHJhaXQnLCAnc3R5bGVfZWRpdCcpKVxuXHRcdFx0XHQuc2V0UHJldmlld0Nzcyh7XG5cdFx0XHRcdFx0d2lkdGg6ICc3NjhweCcsXG5cdFx0XHRcdFx0aGVpZ2h0OiAnMTAyNHB4Jyxcblx0XHRcdFx0XHRwYWRkaW5nOiAnMjRweCAyNXB4IDc1cHgnLFxuXHRcdFx0XHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuXHRcdFx0XHRcdHRvcDogJzUwJScsXG5cdFx0XHRcdFx0bGVmdDogJzUwJScsXG5cdFx0XHRcdFx0bWFyZ2luOiAnLTQ1NXB4IDAgMCAtNTQ0cHgnLFxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICd1cmwoJyArIFN0eWxlRWRpdC5Db25maWcuZ2V0KCdiYXNlVXJsJylcblx0XHRcdFx0XHQrICcvYXNzZXRzL2ltYWdlcy90YWJsZXQtcG9ydHJhaXQtcHJldmlldy1mcmFtZS5zdmcpIDUwJSAwJSAvIGNvbnRhaW4gbm8tcmVwZWF0J1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuc2V0SWNvbkNsYXNzKCdmYSBmYS10YWJsZXQnKVxuXHRcdFx0XHQuc2V0UmVzb2x1dGlvbignNzY4eDEwMjQnKTtcblx0XHRcdFxuXHRcdFx0bW9iaWxlUHJldmlld1BvcnRyYWl0XG5cdFx0XHRcdC5zZXRDbGFzcygnbW9iaWxlIHBvcnRyYWl0Jylcblx0XHRcdFx0LnNldE5hbWUoU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnb3B0aW9uX21vYmlsZV9wcmV2aWV3X3BvcnRyYWl0JywgJ3N0eWxlX2VkaXQnKSlcblx0XHRcdFx0LnNldFByZXZpZXdDc3Moe1xuXHRcdFx0XHRcdHdpZHRoOiAnMzc1cHgnLFxuXHRcdFx0XHRcdGhlaWdodDogJzYyN3B4Jyxcblx0XHRcdFx0XHRwYWRkaW5nOiAnNTRweCAyNXB4IDc1cHgnLFxuXHRcdFx0XHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuXHRcdFx0XHRcdHRvcDogJzUwJScsXG5cdFx0XHRcdFx0bGVmdDogJzUwJScsXG5cdFx0XHRcdFx0bWFyZ2luOiAnLTM3OHB4IDAgMCAtMzcycHgnLFxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICd1cmwoJyArIFN0eWxlRWRpdC5Db25maWcuZ2V0KCdiYXNlVXJsJylcblx0XHRcdFx0XHQrICcvYXNzZXRzL2ltYWdlcy9tb2JpbGUtcG9ydHJhaXQtcHJldmlldy1mcmFtZS5zdmcpIDUwJSAwJSAvIGNvbnRhaW4gbm8tcmVwZWF0J1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuc2V0SWNvbkNsYXNzKCdmYSBmYS1tb2JpbGUnKVxuXHRcdFx0XHQuc2V0UmVzb2x1dGlvbignMzc1eDYyNycpO1xuXHRcdFx0XG5cdFx0XHRwcmV2aWV3UmVzaXplclxuXHRcdFx0XHQuYWRkUHJldmlld1R5cGUobW9iaWxlUHJldmlld1BvcnRyYWl0KVxuXHRcdFx0XHQuYWRkUHJldmlld1R5cGUodGFibGV0UHJldmlld1BvcnRyYWl0KVxuXHRcdFx0XHQuYWRkUHJldmlld1R5cGUodGFibGV0UHJldmlld0xhbmRzY2FwZSlcblx0XHRcdFx0LmFkZFByZXZpZXdUeXBlKGRlc2t0b3BQcmV2aWV3KTtcblx0XHRcdFxuXHRcdFx0Ly8gQ3JlYXRlIGFuIEFwcEZyYW1lICYgRnJhbWVUb2dnbGUgSW5zdGFuY2Vcblx0XHRcdGNvbnN0IGZyYW1lVG9nZ2xlID0gbmV3IEZyYW1lVG9nZ2xlKCQoJy5zdHlsZS1lZGl0LWZyYW1lJyksICQoJy5mcmFtZS10b2dnbGUnKSk7XG5cdFx0XHRjb25zdCBhcHBGcmFtZSA9IG5ldyBBcHBGcmFtZSgkKCcuc3R5bGUtZWRpdC1mcmFtZScpLCBwcmV2aWV3UmVzaXplciwgZnJhbWVUb2dnbGUpO1xuXHRcdFx0YXBwRnJhbWUuaW5pdGlhbGl6ZSgpO1xuXHRcdFx0XG5cdFx0XHQvLyBMb2FkIHRoZSBNeVN0eWxlc1ZpZXcgY29udHJvbGxlci4gXG5cdFx0XHRSb3V0ZXIubG9hZCgnTXlTdHlsZXNWaWV3Jyk7XG5cdFx0fSk7XG59KTtcbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEFwcEZyYW1lLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBBcHBsaWNhdGlvbiBGcmFtZSBDbGFzc1xuICpcbiAqIFRoaXMgY2xhc3Mgd2lsbCBpbml0aWFsaXplIHRoZSBtYWluIFN0eWxlRWRpdCBmcmFtZSwgbWFpbmx5IHRoZSBjb21tb24gY29tcG9uZW50cyB0aGF0XG4gKiBhcmUgc2hhcmVkIHRocm91Z2ggZXZlcnkgdmlldyBvZiB0aGUgZXhlY3V0aW9uIGxpZmVjeWNsZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBwRnJhbWUge1xuXHQvKipcblx0ICogQ2xhc3MgQ29uc3RydWN0b3IgXG5cdCAqIFxuXHQgKiBAcGFyYW0ge2pRdWVyeX0gJHRhcmdldFxuXHQgKiBAcGFyYW0ge1ByZXZpZXdSZXNpemVyfSBwcmV2aWV3UmVzaXplclxuXHQgKiBAcGFyYW0ge0ZyYW1lVG9nZ2xlfSBmcmFtZVRvZ2dsZVxuXHQgKi9cblx0Y29uc3RydWN0b3IoJHRhcmdldCwgcHJldmlld1Jlc2l6ZXIsIGZyYW1lVG9nZ2xlKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdCgkdGFyZ2V0KTtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KHByZXZpZXdSZXNpemVyKTtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KGZyYW1lVG9nZ2xlKTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBBcHBsaWNhdGlvbiBGcmFtZSBTZWxlY3RvclxuXHRcdCAqXG5cdFx0ICogQHR5cGUge2pRdWVyeX1cblx0XHQgKi9cblx0XHR0aGlzLiR0YXJnZXQgPSAkdGFyZ2V0O1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFByZXZpZXcgUmVzaXplciBJbnN0YW5jZVxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1ByZXZpZXdSZXNpemVyfVxuXHRcdCAqL1xuXHRcdHRoaXMucHJldmlld1Jlc2l6ZXIgPSBwcmV2aWV3UmVzaXplcjtcblx0XHRcblx0XHQvKipcblx0XHQgKiBGcmFtZSBUb2dnbGUgSW5zdGFuY2Vcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtGcmFtZVRvZ2dsZX1cblx0XHQgKi9cblx0XHR0aGlzLmZyYW1lVG9nZ2xlID0gZnJhbWVUb2dnbGU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIHRoZSBpbnN0YW5jZS5cblx0ICpcblx0ICogVGhpcyBtZXRob2Qgd2lsbCBiaW5kIHRoZSByZXF1aXJlZCBldmVudCBoYW5kbGVycyBhbmQgc2V0dXAgdGhlIHJlc3BlY3RpdmUgdGVtcGxhdGVcblx0ICogZm9yIHRoZSBhcHAgZnJhbWUuXG5cdCAqL1xuXHRpbml0aWFsaXplKCkge1xuXHRcdHRoaXMuZnJhbWVUb2dnbGUuaW5pdGlhbGl6ZSgpO1xuXHRcdHRoaXMucHJldmlld1Jlc2l6ZXIuaW5pdGlhbGl6ZSgpO1xuXHR9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQ29sb3JwaWNrZXIuanMgMjAxOS0wNi0wN1xuICBHYW1iaW8gR21iSFxuICBodHRwOi8vd3d3LmdhbWJpby5kZVxuICBDb3B5cmlnaHQgKGMpIDIwMTkgR2FtYmlvIEdtYkhcbiAgUmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChWZXJzaW9uIDIpXG4gIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENvbG9ycGlja2VyIFdpZGdldFxuICpcbiAqIFRoZSB1c2VyIGNhbiBzZWxlY3QgYSB2YWx1ZSBmcm9tIHRoZSBjb2xvcnBpY2tlciBvciBlbnRlciBoaXMgb3duIHN0cmluZyB3aGljaCBtdXN0IG5vdCBiZSB2YWxpZGF0ZWRcbiAqIGJlY2F1c2UgaXQgY2FuIGFsc28gYmUgYSBTQVNTIG1peGluIG9yIHNvbWV0aGluZyBzaW1pbGFyLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvcnBpY2tlciB7XG5cdC8qKlxuXHQgKiBDbGFzcyBDb25zdHJ1Y3RvclxuXHQgKlxuXHQgKiBAcGFyYW0ge1NldHRpbmd9IGVudGl0eVxuXHQgKiBAcGFyYW0ge1N0eWxlQ29uZmlndXJhdGlvbn0gc3R5bGVDb25maWd1cmF0aW9uXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihlbnRpdHksIHN0eWxlQ29uZmlndXJhdGlvbikge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QoZW50aXR5KTtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KHN0eWxlQ29uZmlndXJhdGlvbik7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogQHR5cGUge1NldHRpbmd9XG5cdFx0ICovXG5cdFx0dGhpcy5lbnRpdHkgPSBlbnRpdHk7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogQHR5cGUge1N0eWxlQ29uZmlndXJhdGlvbn1cblx0XHQgKi9cblx0XHR0aGlzLnN0eWxlQ29uZmlndXJhdGlvbiA9IHN0eWxlQ29uZmlndXJhdGlvbjtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEluaXRpYWxpemUgdGhlIHdpZGdldC5cblx0ICovXG5cdGluaXRpYWxpemUoKSB7XG5cdFx0Y29uc3QgY29sb3IgPSB0aGlzLmVudGl0eS5nZXRWYWx1ZSgpO1xuXHRcdGNvbnN0ICRlbGVtZW50ID0gJCgnLmVkaXQtb3B0aW9ucy1jb250YWluZXInKS5maW5kKCcjJyArIHRoaXMuZW50aXR5LmdldE5hbWUoKSk7XG5cdFx0Y29uc3QgJHByZXZpZXcgPSAkZWxlbWVudC5wYXJlbnRzKCcuZm9ybS1ncm91cCcpLmZpbmQoJy5jb2xvci1wcmV2aWV3Jyk7XG5cdFx0XG5cdFx0JHByZXZpZXcuc3BlY3RydW0oe1xuXHRcdFx0Y29sb3I6IHRoaXMuZW50aXR5LmdldFZhbHVlKCksXG5cdFx0XHRwcmVmZXJyZWRGb3JtYXQ6ICdoZXgnLFxuXHRcdFx0Y2xpY2tvdXRGaXJlc0NoYW5nZTogdHJ1ZSxcblx0XHRcdHNob3dJbml0aWFsOiB0cnVlLFxuXHRcdFx0c2hvd0FscGhhOiB0cnVlLFxuXHRcdFx0c2hvd1BhbGV0dGU6IHRydWUsXG5cdFx0XHRzaG93SW5wdXQ6IHRydWUsXG5cdFx0XHRjaG9vc2VUZXh0OiAnT0snLFxuXHRcdFx0Y2FuY2VsVGV4dDogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnb3B0aW9uX2NhbmNlbCcsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRwYWxldHRlOiBbXSxcblx0XHRcdG1heFNlbGVjdGlvblNpemU6IDIwLFxuXHRcdFx0Y29udGFpbmVyQ2xhc3NOYW1lOiAnY29sb3JwaWNrZXItd2lkZ2V0Jyxcblx0XHRcdGxvY2FsU3RvcmFnZUtleTogU3R5bGVFZGl0LkNvbmZpZy5nZXQoJ2xvY2FsU3RvcmFnZUNvbG9yUGFsZXR0ZScpLFxuXHRcdFx0Y2hhbmdlOiBjb2xvciA9PiB7XG5cdFx0XHRcdCRlbGVtZW50LnZhbChjb2xvcikudHJpZ2dlcignY2hhbmdlJyk7XG5cdFx0XHRcdHRoaXMuX3VwZGF0ZVByZXZpZXdDb2xvcigkcHJldmlldywgY29sb3IudG9TdHJpbmcoKSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0XG5cdFx0dGhpcy5fdXBkYXRlUHJldmlld0NvbG9yKCRwcmV2aWV3LCBjb2xvcik7XG5cdFx0XG5cdFx0JGVsZW1lbnQuY2hhbmdlKCgpID0+IHtcblx0XHRcdGxldCBmb3VuZCA9IGZhbHNlO1xuXHRcdFx0XG5cdFx0XHQvLyBVcGRhdGUgdGhlIHN0eWxlIGNvbmZpZ3VyYXRpb24uXG5cdFx0XHQkLmVhY2godGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24uZ2V0U2V0dGluZ3MoKSwgKGluZGV4LCBzZXR0aW5nKSA9PiB7XG5cdFx0XHRcdCQuZWFjaChzZXR0aW5nLmdldEVudHJpZXMoKSwgKGluZGV4LCBlbnRyeSkgPT4ge1xuXHRcdFx0XHRcdGlmIChlbnRyeS5nZXROYW1lKCkgPT09IHRoaXMuZW50aXR5LmdldE5hbWUoKSkge1xuXHRcdFx0XHRcdFx0ZW50cnkuc2V0VmFsdWUoJGVsZW1lbnQudmFsKCkpO1xuXHRcdFx0XHRcdFx0Zm91bmQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHRcdFxuXHRcdFx0XHRpZiAoZm91bmQpIHtcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0XG5cdFx0XHR0aGlzLl91cGRhdGVQcmV2aWV3Q29sb3IoJHByZXZpZXcsICRlbGVtZW50LnZhbCgpKTtcblx0XHR9KTtcblx0XHRcblx0XHQvLyBBZGQgc2V0dGluZyB0YWdzIHRvIHRoZSBwYXJlbnQgXCIuZm9ybS1ncm91cFwiIGVsZW1lbnQuXG5cdFx0aWYgKHRoaXMuZW50aXR5LmdldFRhZ3MoKSAhPT0gbnVsbCkge1xuXHRcdFx0Y29uc3QgdGFncyA9IHRoaXMuZW50aXR5LmdldFRhZ3MoKS5qb2luKCd8Jyk7XG5cdFx0XHQkZWxlbWVudC5wYXJlbnRzKCcuZm9ybS1ncm91cCcpLmF0dHIoJ2RhdGEtdGFncycsIHRhZ3MpO1xuXHRcdH1cblx0fVxuXHRcblx0LyoqXG5cdCAqIFVwZGF0ZSB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2VsZWN0b3IuXG5cdCAqXG5cdCAqIFRoaXMgbWV0aG9kIHdpbGwgc2V0IHRoZSBuZXcgY29sb3Igb3IgZGlzcGxheSB0aGUgbm8tcHJldmlldyBpY29uIGlmIHRoZSBjb2xvclxuXHQgKiBjYW5ub3QgYmUgZGlyZWN0bHkgcmVuZGVyZWQgKGUuZy4gaXMgYSBTQVNTIGNvbW1hbmQpLlxuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeX0gJHByZXZpZXdcblx0ICogQHBhcmFtIHtTdHJpbmd9IGNvbG9yXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfdXBkYXRlUHJldmlld0NvbG9yKCRwcmV2aWV3LCBjb2xvcikge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QoJHByZXZpZXcpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcoY29sb3IpO1xuXHRcdFxuXHRcdGlmIChjb2xvci5tYXRjaCgvKCN8cmdifHJnYmEpL2lnKSkge1xuXHRcdFx0JHByZXZpZXcuaHRtbCgnJyk7XG5cdFx0XHQkcHJldmlldy5jc3MoJ2JhY2tncm91bmQtY29sb3InLCBjb2xvcik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdCRwcmV2aWV3Lmh0bWwoJzxpIGNsYXNzPVwiZmEgZmEtYmFuXCI+PC9pPicpO1xuXHRcdFx0JHByZXZpZXcuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgJyNGRkYnKTsgLy8gSGlkZSB0aGUgdGV4dCBmcm9tIGJlaGluZCB0aGUgY29sb3ItcHJldmlldyBlbGVtZW50LlxuXHRcdH1cblx0fVxuXHRcblx0LyoqXG5cdCAqIEdldCBXaWRnZXQgSFRNTFxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHJpbmd9XG5cdCAqL1xuXHRnZXRIdG1sKCkge1xuXHRcdGNvbnN0IHRlbXBsYXRlID0gJCgnI3dpZGdldC1jb2xvcnBpY2tlci10ZW1wbGF0ZScpLmh0bWwoKTtcblx0XHRyZXR1cm4gTXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLCB0aGlzLmVudGl0eSk7XG5cdH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEZpbHRlckJveC5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogV2lkZ2V0IENvbnN0cnVjdG9yXG4gKlxuICogQHBhcmFtIHtqUXVlcnl9ICR0YXJnZXQgVGhlIHNlbGVjdG9yIG9mIHRoZSBlbGVtZW50IHRoYXQgd2lsbCBjb250YWluIHRoZSB3aWRnZXQuXG4gKiBAcGFyYW0ge2pRdWVyeX0gJHNldHRpbmdzTGlzdCBUaGUgPHVsPiBlbGVtZW50IHRoYXQgY29udGFpbnMgdGhlIGxpc3Qgb2YgdGhlIHNldHRpbmdzLlxuICogQHBhcmFtIHtqUXVlcnl9ICRjb250YWluZXIgVGhlIHBhcmVudCBjb250YWluZXIgZWxlbWVudCwgd2hlcmUgdGhlIFBlcmZlY3RTY3JvbGxiYXIgaXMgYm91bmQuXG4gKiBAcGFyYW0ge1N0eWxlQ29uZmlndXJhdGlvbn0gc3R5bGVDb25maWd1cmF0aW9uIENvbnRhaW5zIHRoZSBzdHlsZSBjb25maWd1cmF0aW9uIGRhdGEuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbHRlckJveCB7XG5cdC8qKlxuXHQgKiBDbGFzcyBDb25zdHJ1Y3RvclxuXHQgKiBcblx0ICogQHBhcmFtIHtqUXVlcnl9ICR0YXJnZXRcblx0ICogQHBhcmFtIHtqUXVlcnl9ICRzZXR0aW5nc0xpc3Rcblx0ICogQHBhcmFtIHtqUXVlcnl9ICRjb250YWluZXJcblx0ICogQHBhcmFtIHtTdHlsZUNvbmZpZ3VyYXRpb259IHN0eWxlQ29uZmlndXJhdGlvblxuXHQgKi9cblx0Y29uc3RydWN0b3IoJHRhcmdldCwgJHNldHRpbmdzTGlzdCwgJGNvbnRhaW5lciwgc3R5bGVDb25maWd1cmF0aW9uKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdCgkdGFyZ2V0KTtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KCRzZXR0aW5nc0xpc3QpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QoJGNvbnRhaW5lcik7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChzdHlsZUNvbmZpZ3VyYXRpb24pO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFRhcmdldCBTZWxlY3RvclxuXHRcdCAqXG5cdFx0ICogQHR5cGUge2pRdWVyeX1cblx0XHQgKi9cblx0XHR0aGlzLiR0YXJnZXQgPSAkdGFyZ2V0O1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFNldHRpbmcgTGlzdCBTZWxlY3RvclxuXHRcdCAqXG5cdFx0ICogQHR5cGUge2pRdWVyeX1cblx0XHQgKi9cblx0XHR0aGlzLiRzZXR0aW5nc0xpc3QgPSAkc2V0dGluZ3NMaXN0O1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIENvbnRhaW5lciBTZWxlY3RvclxuXHRcdCAqXG5cdFx0ICogQHR5cGUge2pRdWVyeX1cblx0XHQgKi9cblx0XHR0aGlzLiRzZXR0aW5nc0xpc3QgPSAkY29udGFpbmVyO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFN0eWxlIENvbmZpZ3VyYXRpb24gSW5zdGFuY2Vcblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHlsZUNvbmZpZ3VyYXRpb259XG5cdFx0ICovXG5cdFx0dGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24gPSBzdHlsZUNvbmZpZ3VyYXRpb247XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogQ29udGFpbnMgdGhlIGF2YWlsYWJsZSBmaWx0ZXIgdGFncy5cblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmdbXX1cblx0XHQgKi9cblx0XHR0aGlzLmF2YWlsYWJsZVRhZ3MgPSBbXTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEluaXRpYWxpemUgV2lkZ2V0XG5cdCAqL1xuXHRpbml0aWFsaXplKCkge1xuXHRcdC8vIFBhcnNlIHRoZSBzdHlsZSBjb25maWd1cmF0aW9uIGZpbHRlciB0YWdzLlxuXHRcdHRoaXMuX3BhcnNlU3R5bGVUYWdzKCk7XG5cdFx0XG5cdFx0Ly8gTG9hZCB0aGUgd2lkZ2V0IHRlbXBsYXRlLiBcblx0XHR0aGlzLl9sb2FkV2lkZ2V0VGVtcGxhdGUoKTtcblx0XHRcblx0XHQvLyBCaW5kIHRoZSBldmVudCBoYW5kbGVycy5cblx0XHR0aGlzLl9iaW5kRXZlbnRIYW5kbGVycygpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogQmluZCBFdmVudCBIYW5kbGVyc1xuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X2JpbmRFdmVudEhhbmRsZXJzKCkge1xuXHRcdHRoaXMuJHRhcmdldC5vbignY2xpY2snLCAnLmFjdGlvbicsIGV2ZW50ID0+IHRoaXMuX29uRmlsdGVySXRlbUNsaWNrKGV2ZW50KSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBMb2FkIFdpZGdldCBUZW1wbGF0ZVxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X2xvYWRXaWRnZXRUZW1wbGF0ZSgpIHtcblx0XHRjb25zdCB0ZW1wbGF0ZSA9ICQoJyN3aWRnZXQtZmlsdGVyLWJveC10ZW1wbGF0ZScpLmh0bWwoKTtcblx0XHRjb25zdCBkYXRhID0ge3RhZ3M6IFtdfTtcblx0XHRcblx0XHRkYXRhLnRhZ3MucHVzaCh7XG5cdFx0XHR2YWx1ZTogJ2ZpbHRlci1kaXNwbGF5LWFsbCcsXG5cdFx0XHR0ZXh0OiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdsYWJlbF9maWx0ZXJfZGlzcGxheV9hbGwnLCAnc3R5bGVfZWRpdCcpXG5cdFx0fSk7XG5cdFx0XG5cdFx0JC5lYWNoKHRoaXMuYXZhaWxhYmxlVGFncywgKGluZGV4LCB0YWcpID0+IHtcblx0XHRcdGRhdGEudGFncy5wdXNoKHtcblx0XHRcdFx0dmFsdWU6IHRhZyxcblx0XHRcdFx0dGV4dDogU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSh0YWcsICd0ZW1wbGF0ZScpXG5cdFx0XHR9KTtcblx0XHR9KTtcblx0XHRcblx0XHR0aGlzLiR0YXJnZXQuaHRtbChNdXN0YWNoZS5yZW5kZXIodGVtcGxhdGUsIGRhdGEpKTtcblx0XHRcblx0XHQvLyBBZGQgbWF0ZXJpYWwgZGVzaWduIGVmZmVjdHMgdG8gbmV3IG9iamVjdHMuIFxuXHRcdCQubWF0ZXJpYWwuaW5pdCgpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IE9uIEZpbHRlciBJdGVtIENsaWNrXG5cdCAqXG5cdCAqIEBwYXJhbSBldmVudCB7alF1ZXJ5LkV2ZW50fVxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uRmlsdGVySXRlbUNsaWNrKGV2ZW50KSB7XG5cdFx0Y29uc3QgJHRhcmdldCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7IFxuXHRcdGNvbnN0IGN1cnJlbnRUYWcgPSAkdGFyZ2V0LmF0dHIoJ2RhdGEtdGFnJyk7XG5cdFx0XG5cdFx0Ly8gQ2hlY2sgZm9yIGRpc3BsYXkgYWxsIG9wdGlvbi5cblx0XHRpZiAoY3VycmVudFRhZyA9PT0gJ2ZpbHRlci1kaXNwbGF5LWFsbCcpIHtcblx0XHRcdHRoaXMuJHRhcmdldC5maW5kKCcuZmlsdGVyJylcblx0XHRcdFx0LnJlbW92ZUNsYXNzKCdhY3RpdmUnKVxuXHRcdFx0XHQuZmluZCgnLmluZm8nKVxuXHRcdFx0XHQudGV4dCgnRmlsdGVyJyk7XG5cdFx0XHRcblx0XHRcdHRoaXMuJHNldHRpbmdzTGlzdFxuXHRcdFx0XHQuZmluZCgnLm9wdGlvbiAuZm9ybS1ncm91cCcpXG5cdFx0XHRcdC5zaG93KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuJHRhcmdldC5maW5kKCcuZmlsdGVyJylcblx0XHRcdFx0LmFkZENsYXNzKCdhY3RpdmUnKVxuXHRcdFx0XHQuZmluZCgnLmluZm8nKVxuXHRcdFx0XHQudGV4dCgkdGFyZ2V0LnRleHQoKSk7XG5cdFx0XHRcblx0XHRcdHRoaXMuJHNldHRpbmdzTGlzdC5maW5kKCcub3B0aW9uIC5mb3JtLWdyb3VwJykuZWFjaCgoaW5kZXgsIGZvcm1Hcm91cCkgPT4ge1xuXHRcdFx0XHRpZiAoJChmb3JtR3JvdXApLmF0dHIoJ2RhdGEtdGFncycpID09PSB1bmRlZmluZWQpIHsgLy8gVGhlIGZvcm0tZ3JvdXAgaGFzIG5vIHRhZ3Mgc28gaGlkZSBpdC5cblx0XHRcdFx0XHQkKGZvcm1Hcm91cCkuaGlkZSgpO1xuXHRcdFx0XHRcdHJldHVybiB0cnVlOyAvLyBjb250aW51ZVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRjb25zdCBmb3JtR3JvdXBUYWdzID0gJChmb3JtR3JvdXApLmF0dHIoJ2RhdGEtdGFncycpLnNwbGl0KCd8Jyk7XG5cdFx0XHRcdFxuXHRcdFx0XHRpZiAoZm9ybUdyb3VwVGFncy5pbmRleE9mKGN1cnJlbnRUYWcpID4gLTEpIHtcblx0XHRcdFx0XHQkKGZvcm1Hcm91cCkuc2hvdygpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdCQoZm9ybUdyb3VwKS5oaWRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRcblx0XHQvLyBIaWRlIHRoZSBzZXR0aW5nIGdyb3VwcyB0aGF0IGRvIG5vdCBoYXZlIGFueSBlbGVtZW50IHZpc2libGUuXG5cdFx0dGhpcy4kc2V0dGluZ3NMaXN0LmZpbmQoJy5vcHRpb24nKS5zaG93KCk7XG5cdFx0XG5cdFx0dGhpcy4kc2V0dGluZ3NMaXN0LmZpbmQoJy5vcHRpb24nKS5lYWNoKChpbmRleCwgb3B0aW9uKSA9PiB7XG5cdFx0XHRsZXQgaGlkZU9wdGlvblJvdyA9IHRydWU7XG5cdFx0XHRcblx0XHRcdCQob3B0aW9uKS5maW5kKCcuZHJvcGRvd24tbWVudSAuZm9ybS1ncm91cCcpLmVhY2goKGluZGV4LCBmb3JtR3JvdXApID0+IHtcblx0XHRcdFx0aWYgKCQoZm9ybUdyb3VwKS5jc3MoJ2Rpc3BsYXknKSAhPT0gJ25vbmUnKSB7XG5cdFx0XHRcdFx0aGlkZU9wdGlvblJvdyA9IGZhbHNlO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdC8vIERpc3BsYXkgdGhlIC50aXRsZSByb3dzIHRoYXQgcmVzaWRlIGJlbGxvdyB0aGUgZGlzcGxheWVkIGVsZW1lbnRzLiBUaGlzIHdvcmthcm91bmQgd2lsbFxuXHRcdFx0XHRcdC8vIGVuc3VyZSB0aGF0IGhlIFRpdGxlIHdpZGdldCBpbnN0YW5jZXMgd2lsbCBiZSBkaXNwbGF5ZWQgY29ycmVjdGx5IHdoaWxlIGZpbHRlcmluZyB0aGUgc2V0dGluZ3MuIFxuXHRcdFx0XHRcdCQoZm9ybUdyb3VwKS5wcmV2VW50aWwoJy5vcHRpb24nKS5maW5kKCcudGl0bGUnKS5sYXN0KCkucGFyZW50cygnLmZvcm0tZ3JvdXAnKS5zaG93KCk7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdFxuXHRcdFx0aWYgKGhpZGVPcHRpb25Sb3cgPT09IHRydWUpIHtcblx0XHRcdFx0JChvcHRpb24pLmhpZGUoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRcblx0XHQvLyBUcmlnZ2VyIGEgY2hhbmdlIGV2ZW50IG9uIHRoZSAuaW1hZ2UtbGlzdCBzZWxlY3QgYm94ZXMgaW4gb3JkZXIgdG8gc2hvdy9oaWRlIHRoZSBpbWFnZS1yZWxhdGVkIHNldHRpbmdzLiBcblx0XHR0aGlzLiRzZXR0aW5nc0xpc3QuZmluZCgnLmltYWdlLWxpc3QnKS50cmlnZ2VyKCdpbWFnZTp0b2dnbGVfZGVwZW5kZW5jaWVzJyk7XG5cdFx0XG5cdFx0Ly8gUmVmcmVzaCBjb250YWluZXIgc2Nyb2xsYmFycy4gXG5cdFx0dGhpcy4kc2V0dGluZ3NMaXN0LnBlcmZlY3RTY3JvbGxiYXIoJ3VwZGF0ZScpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogUGFyc2UgdGhlIHN0eWxlIGNvbmZpZ3VyYXRpb24gdGFncy5cblx0ICpcblx0ICogVGhpcyBtZXRob2Qgd2lsbCB3YWxrIG92ZXIgYWxsIHRoZSBzdHlsZSBzZXR0aW5ncyBhbmQgZmluZCB0aGUgdW5pcXVlIGZpbHRlcmluZ1xuXHQgKiB0YWdzIHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0aGUgc2V0dGluZyBmaWx0ZXJpbmcuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfcGFyc2VTdHlsZVRhZ3MoKSB7XG5cdFx0JC5lYWNoKHRoaXMuc3R5bGVDb25maWd1cmF0aW9uLmdldFNldHRpbmdzKCksIChpbmRleCwgY29sbGVjdGlvbikgPT4ge1xuXHRcdFx0JC5lYWNoKGNvbGxlY3Rpb24uZ2V0RW50cmllcygpLCAoaW5kZXgsIHNldHRpbmcpID0+IHtcblx0XHRcdFx0aWYgKHNldHRpbmcuZ2V0VGFncygpKSB7XG5cdFx0XHRcdFx0JC5lYWNoKHNldHRpbmcuZ2V0VGFncygpLCAoaW5kZXgsIHRhZykgPT4ge1xuXHRcdFx0XHRcdFx0aWYgKHRoaXMuYXZhaWxhYmxlVGFncy5pbmRleE9mKHRhZykgPT09IC0xKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuYXZhaWxhYmxlVGFncy5wdXNoKHRhZyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cdCIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEZyYW1lVG9nZ2xlLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBBcHBsaWNhdGlvbiBGcmFtZSBUb2dnbGVcbiAqXG4gKiBUaGlzIGNsYXNzIHdpbGwgaGFuZGxlIGFsbCB0aGUgcG9zc2libGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgYXBwIGZyYW1lIGhhbmRsZS4gSW4gdGhlXG4gKiBmdXR1cmUgbW9yZSBvcHRpb25zIG1pZ2h0IGJlIGFkZGVkIGxpa2UgXCJtb3ZlIHRoZSBmcmFtZSB0byB0aGUgbGVmdCBzaWRlXCIgb2YgdGhlIHBhZ2UuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZyYW1lVG9nZ2xlIHtcblx0LyoqXG5cdCAqIENsYXNzIENvbnN0cnVjdG9yIFxuXHQgKiBcblx0ICogQHBhcmFtIHtqUXVlcnl9ICRmcmFtZSBUaGUgd2hvbGUgYXBwIGZyYW1lIHNlbGVjdG9yLlxuXHQgKiBAcGFyYW0ge2pRdWVyeX0gJGhhbmRsZSBUaGUgdG9nZ2xlIGhhbmRsZSBzZWxlY3Rvci5cblx0ICovXG5cdGNvbnN0cnVjdG9yKCRmcmFtZSwgJGhhbmRsZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QoJGZyYW1lKTtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KCRoYW5kbGUpO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIEFwcCBGcmFtZSBTZWxlY3RvclxuXHRcdCAqXG5cdFx0ICogQHR5cGUge2pRdWVyeX1cblx0XHQgKi9cblx0XHR0aGlzLiRmcmFtZSA9ICRmcmFtZTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBGcmFtZSBUb2dnbGUgSGFuZGxlIFNlbGVjdG9yXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7alF1ZXJ5fVxuXHRcdCAqL1xuXHRcdHRoaXMuJGhhbmRsZSA9ICRoYW5kbGU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIHRoZSB3aWRnZXQuXG5cdCAqXG5cdCAqIFRoaXMgbWV0aG9kIHdpbGwgYmluZCB0aGUgcmVxdWlyZWQgZXZlbnQgaGFuZGxlcnMgdG8gdGhlIERPTS5cblx0ICovXG5cdGluaXRpYWxpemUoKSB7XG5cdFx0dGhpcy4kaGFuZGxlLm9uKCdjbGljaycsICgpID0+IHtcblx0XHRcdGlmICh0aGlzLiRmcmFtZS5oYXNDbGFzcygnb3BlbicpKSB7IC8vIHRoZW4gY2xvc2UgaXRcblx0XHRcdFx0dGhpcy4kZnJhbWUuYW5pbWF0ZSh7cmlnaHQ6ICctMzIwcHgnfSwgMzAwLCAnbGluZWFyJywgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuJGZyYW1lLnJlbW92ZUNsYXNzKCdvcGVuJykuYWRkQ2xhc3MoJ2Nsb3NlZCcpO1xuXHRcdFx0XHRcdHRoaXMuJGhhbmRsZS5maW5kKCcuZmEtY2FyZXQtcmlnaHQnKS5oaWRlKCk7XG5cdFx0XHRcdFx0dGhpcy4kaGFuZGxlLmZpbmQoJy5mYS1jYXJldC1sZWZ0Jykuc2hvdygpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSB7IC8vIHdhcyBjbG9zZWQgc28gb3BlbiBpdFxuXHRcdFx0XHR0aGlzLiRmcmFtZS5hbmltYXRlKHtyaWdodDogJzAnfSwgMzAwLCAnbGluZWFyJywgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuJGZyYW1lLnJlbW92ZUNsYXNzKCdjbG9zZWQnKS5hZGRDbGFzcygnb3BlbicpO1xuXHRcdFx0XHRcdHRoaXMuJGhhbmRsZS5maW5kKCcuZmEtY2FyZXQtcmlnaHQnKS5zaG93KCk7XG5cdFx0XHRcdFx0dGhpcy4kaGFuZGxlLmZpbmQoJy5mYS1jYXJldC1sZWZ0JykuaGlkZSgpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEltYWdlLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IE1vZGFsIGZyb20gJy4uL2xpYnMvTW9kYWwnOyBcbmltcG9ydCBSb3V0ZXIgZnJvbSAnLi4vbGlicy9Sb3V0ZXInOyBcbmltcG9ydCBJbWFnZUFwaSBmcm9tICcuLi9hcGkvSW1hZ2VBcGknOyBcbmltcG9ydCBFbnZpcm9ubWVudCBmcm9tICcuLi9saWJzL0Vudmlyb25tZW50JztcblxuLyoqXG4gKiBJbWFnZSBXaWRnZXRcbiAqXG4gKiBBbiBpbnN0YW5jZSBvZiB0aGlzIHdpZGdldCBzZXJ2ZXMgdGhlIFwiaW1hZ2VcIiBzZXR0aW5ncyBvZiBhIHN0eWxlLiBUaGUgdXNlciBjYW4gc2VsZWN0XG4gKiBvbmUgb2YgdGhlIHVwbG9hZGVkIGltYWdlcywgcHJldmlldyB0aGVtIG9yIGRlbGV0ZSB0aGVtLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbWFnZSB7XG5cdC8qKlxuXHQgKiBDbGFzcyBDb25zdHJ1Y3RvciBcblx0ICogXG5cdCAqIEBwYXJhbSB7U2V0dGluZ30gZW50aXR5IENvbnRhaW5zIHRoZSBzZXR0aW5nIGluZm9ybWF0aW9uLlxuXHQgKiBAcGFyYW0ge1N0eWxlQ29uZmlndXJhdGlvbn0gc3R5bGVDb25maWd1cmF0aW9uIFJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIG9iamVjdC5cblx0ICogQHBhcmFtIHtTdHJpbmdbXX0gdGVtcGxhdGVJbWFnZXMgQW4gYXJyYXkgd2l0aCB0aGUgdGVtcGxhdGUgdXBsb2FkZWQgaW1hZ2VzLlxuXHQgKi9cblx0Y29uc3RydWN0b3IoZW50aXR5LCBzdHlsZUNvbmZpZ3VyYXRpb24sIHRlbXBsYXRlSW1hZ2VzKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChlbnRpdHkpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3Qoc3R5bGVDb25maWd1cmF0aW9uKTtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KHRlbXBsYXRlSW1hZ2VzKTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBAdHlwZSB7U2V0dGluZ31cblx0XHQgKi9cblx0XHR0aGlzLmVudGl0eSA9IGVudGl0eTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBAdHlwZSB7U3R5bGVDb25maWd1cmF0aW9ufVxuXHRcdCAqL1xuXHRcdHRoaXMuc3R5bGVDb25maWd1cmF0aW9uID0gc3R5bGVDb25maWd1cmF0aW9uO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFVwbG9hZGVkIEltYWdlc1xuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ1tdfVxuXHRcdCAqL1xuXHRcdHRoaXMudGVtcGxhdGVJbWFnZXMgPSB0ZW1wbGF0ZUltYWdlcztcblx0XHRcblx0XHQvKipcblx0XHQgKiBCYXNlIGVudGl0eSBuYW1lIHdpdGhvdXQgdGhlIFwiLXVybFwiIHBvc3RmaXguXG5cdFx0ICpcblx0XHQgKiBJZiB0aGUgc2V0dGluZyBmb2xsb3dzIHRoZSBcImd4LXNldHRpbmctaW1hZ2UtdXJsXCIgY29udmVudGlvbiwgdGhlbiB0aGUgYmFzZSBuYW1lIHdpbGwgYmUgdXNlZCB0byBzZWxlY3Rcblx0XHQgKiB3aWRnZXRzIHRoYXQgaGF2ZSBzaW1pbGFyIG5hbWVzIChlLmcuIFwiZ3gtc2V0dGluZy1pbWFnZS1yZXBlYXRcIikgYW5kIHNob3cvaGlkZSB0aGVtIGRlcGVuZGluZyBvbiB3aGV0aGVyXG5cdFx0ICogYW4gaW1hZ2UgaXMgc2VsZWN0ZWQgb3Igbm90LlxuXHRcdCAqXG5cdFx0ICogQHR5cGUge1N0cmluZ31cblx0XHQgKi9cblx0XHR0aGlzLmJhc2VFbnRpdHlOYW1lID0gZW50aXR5LmdldE5hbWUoKS5yZXBsYWNlKCctdXJsJywgJycpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSB0aGUgd2lkZ2V0LlxuXHQgKi9cblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRjb25zdCAkZWxlbWVudCA9ICQoJyMnICsgdGhpcy5lbnRpdHkuZ2V0TmFtZSgpKTtcblx0XHRjb25zdCAkYWN0aW9ucyA9ICRlbGVtZW50LnBhcmVudHMoKS5lcSgxKS5maW5kKCcuaW1hZ2UtYWN0aW9ucycpO1xuXHRcdFxuXHRcdGlmICgkZWxlbWVudC5maW5kKCdvcHRpb25bdmFsdWU9XCInICsgdGhpcy5lbnRpdHkuZ2V0VmFsdWUoKSArICdcIl0nKS5sZW5ndGggPiAwKSB7XG5cdFx0XHQkZWxlbWVudC52YWwodGhpcy5lbnRpdHkuZ2V0VmFsdWUoKSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdCRlbGVtZW50LnZhbCgnJyk7XG5cdFx0fVxuXHRcdFxuXHRcdGNvbnN0ICR0YXJnZXQgPSAoRW52aXJvbm1lbnQuaXNJbnRlcm5ldEV4cGxvcmVyKCkpID8gJGVsZW1lbnQucGFyZW50cygpLmVxKDEpIDogJGVsZW1lbnQucGFyZW50cygpLmVxKDApO1xuXHRcdFxuXHRcdCR0YXJnZXQubW91c2VvdmVyKCgpID0+IHtcblx0XHRcdGlmICgkZWxlbWVudC52YWwoKSA9PT0gJycpIHtcblx0XHRcdFx0JGFjdGlvbnMuZmluZCgnLnByZXZpZXcsIC5kZWxldGUnKS5hZGRDbGFzcygnZGlzYWJsZWQnKTtcblx0XHRcdH1cblx0XHRcdCRhY3Rpb25zLnN0b3AodHJ1ZSwgdHJ1ZSk7IC8vIHN0b3AgcHJldmlvdXMgYW5pbWF0aW9uIChpZiBhbnkpXG5cdFx0XHQkYWN0aW9ucy5zaG93KCdzbGlkZScsIHtkaXJlY3Rpb246ICd1cCd9LCA0MDApO1xuXHRcdH0pO1xuXHRcdFxuXHRcdCR0YXJnZXQubW91c2VsZWF2ZSgoKSA9PiB7XG5cdFx0XHQkYWN0aW9ucy5oaWRlKCdzbGlkZScsIHtkaXJlY3Rpb246ICd1cCd9LCA0MDAsICgpID0+IHtcblx0XHRcdFx0JGFjdGlvbnMuZmluZCgnLnByZXZpZXcsIC5kZWxldGUnKS5yZW1vdmVDbGFzcygnZGlzYWJsZWQnKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHRcdFxuXHRcdCRlbGVtZW50LmNoYW5nZSgoKSA9PiB7XG5cdFx0XHRpZiAoJGVsZW1lbnQudmFsKCkgIT09ICcnKSB7XG5cdFx0XHRcdCRhY3Rpb25zLmZpbmQoJy5wcmV2aWV3LCAuZGVsZXRlJykucmVtb3ZlQ2xhc3MoJ2Rpc2FibGVkJyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQkYWN0aW9ucy5maW5kKCcucHJldmlldywgLmRlbGV0ZScpLmFkZENsYXNzKCdkaXNhYmxlZCcpO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQkZWxlbWVudC50cmlnZ2VyKCdpbWFnZTp0b2dnbGVfZGVwZW5kZW5jaWVzJyk7XG5cdFx0XHRcblx0XHRcdC8vIFVwZGF0ZSB0aGUgc3R5bGUgY29uZmlndXJhdGlvbi4gXG5cdFx0XHRsZXQgZm91bmQgPSBmYWxzZTtcblx0XHRcdFxuXHRcdFx0JC5lYWNoKHRoaXMuc3R5bGVDb25maWd1cmF0aW9uLmdldFNldHRpbmdzKCksIChpbmRleCwgc2V0dGluZykgPT4ge1xuXHRcdFx0XHQkLmVhY2goc2V0dGluZy5nZXRFbnRyaWVzKCksIChpbmRleCwgZW50cnkpID0+IHtcblx0XHRcdFx0XHRpZiAoZW50cnkuZ2V0TmFtZSgpID09PSB0aGlzLmVudGl0eS5nZXROYW1lKCkpIHtcblx0XHRcdFx0XHRcdGVudHJ5LnNldFZhbHVlKCRlbGVtZW50LnZhbCgpKTtcblx0XHRcdFx0XHRcdGZvdW5kID0gdHJ1ZTtcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRcblx0XHRcdFx0aWYgKGZvdW5kKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdFxuXHRcdFx0dGhpcy5lbnRpdHkuc2V0VmFsdWUoJGVsZW1lbnQudmFsKCkpO1xuXHRcdH0pO1xuXHRcdFxuXHRcdCRlbGVtZW50Lm9uKCdpbWFnZTp0b2dnbGVfZGVwZW5kZW5jaWVzJywgKCkgPT4ge1xuXHRcdFx0Ly8gU2hvdy9oaWRlIGltYWdlLWRlcGVuZGVudCBzZXR0aW5ncy4gXG5cdFx0XHRjb25zdCBtZXRob2QgPSAkZWxlbWVudC52YWwoKSAhPT0gJycgPyAnc2hvdycgOiAnaGlkZSc7XG5cdFx0XHRcblx0XHRcdCQoJ1tpZF49JyArIHRoaXMuYmFzZUVudGl0eU5hbWUgKyAnXScpXG5cdFx0XHRcdC5ub3QoJ1tpZD0nICsgdGhpcy5lbnRpdHkuZ2V0TmFtZSgpICsgJ10nKVxuXHRcdFx0XHQuZWFjaCgoaW5kZXgsIGlucHV0KSA9PiB7XG5cdFx0XHRcdFx0JChpbnB1dCkucGFyZW50cygnLmZvcm0tZ3JvdXAnKVttZXRob2RdKCk7XG5cdFx0XHRcdH0pO1xuXHRcdH0pO1xuXHRcdFxuXHRcdCRhY3Rpb25zLmZpbmQoJy51cGxvYWQnKS5jbGljaygoKSA9PiB7XG5cdFx0XHRSb3V0ZXIubG9hZCgnVXBsb2FkSW1hZ2VNb2RhbCcsIFskZWxlbWVudF0pO1xuXHRcdH0pO1xuXHRcdFxuXHRcdCRhY3Rpb25zLmZpbmQoJy5wcmV2aWV3JykuY2xpY2soZXZlbnQgPT4ge1xuXHRcdFx0aWYgKCQoZXZlbnQuY3VycmVudFRhcmdldCkuaGFzQ2xhc3MoJ2Rpc2FibGVkJykgfHwgJGVsZW1lbnQudmFsKCkgPT09ICcnKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdFJvdXRlci5sb2FkKCdQcmV2aWV3SW1hZ2VNb2RhbCcsIFskZWxlbWVudF0pO1xuXHRcdH0pO1xuXHRcdFxuXHRcdCRhY3Rpb25zLmZpbmQoJy5kZWxldGUnKS5jbGljayhldmVudCA9PiB7XG5cdFx0XHRjb25zdCAkdGFyZ2V0ID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcblx0XHRcdFxuXHRcdFx0aWYgKCR0YXJnZXQuaGFzQ2xhc3MoJ2Rpc2FibGVkJykpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQvLyBDaGVjayBpZiBvdGhlciBzZXR0aW5ncyBhcmUgdXNpbmcgdGhpcyBpbWFnZS4gXG5cdFx0XHRjb25zdCBvY2N1cnJlbmNlcyA9ICQoJy5lZGl0LW9wdGlvbnMgLmltYWdlLWxpc3QnKS5maWx0ZXIoKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gJHRhcmdldC52YWwoKSA9PT0gJGVsZW1lbnQudmFsKCkgJiYgJHRhcmdldC5nZXQoMCkgIT09ICRlbGVtZW50LmdldCgwKTtcblx0XHRcdH0pLmxlbmd0aDtcblx0XHRcdFxuXHRcdFx0aWYgKG9jY3VycmVuY2VzID4gMCkge1xuXHRcdFx0XHRNb2RhbC5tZXNzYWdlKFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX2Nhbm5vdF9kZWxldGVfaW1hZ2UnLCAnc3R5bGVfZWRpdCcpLFxuXHRcdFx0XHRcdFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ21lc3NhZ2VfY2Fubm90X2RlbGV0ZV9pbWFnZScsICdzdHlsZV9lZGl0JykpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC8vIFByb21wdCBmb3IgaW1hZ2UgcmVtb3ZhbC4gXG5cdFx0XHRjb25zdCB0aXRsZSA9IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX2RlbGV0ZV9pbWFnZScsICdzdHlsZV9lZGl0Jyk7XG5cdFx0XHRjb25zdCBtZXNzYWdlID0gU3R5bGVFZGl0Lkxhbmd1YWdlLnRyYW5zbGF0ZSgnbWVzc2FnZV9kZWxldGVfaW1hZ2UnLCAnc3R5bGVfZWRpdCcpO1xuXHRcdFx0XG5cdFx0XHRNb2RhbC5wcm9tcHQodGl0bGUsIG1lc3NhZ2UpLmRvbmUoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBmaWxlbmFtZSA9ICRlbGVtZW50LmZpbmQoJ29wdGlvbjpzZWxlY3RlZCcpLnRleHQoKTtcblx0XHRcdFx0SW1hZ2VBcGkuZGVsZXRlKGZpbGVuYW1lKS5kb25lKCgpID0+IHtcblx0XHRcdFx0XHQkZWxlbWVudFxuXHRcdFx0XHRcdFx0LnZhbCgnJykgLy8gU2VsZWN0IHRoZSBlbXB0eSB2YWx1ZS5cblx0XHRcdFx0XHRcdC50cmlnZ2VyKCdjaGFuZ2UnKTsgLy8gVXBkYXRlIHRoZSBzdHlsZSBjb25maWd1cmF0aW9uLlxuXHRcdFx0XHRcdCQoJy5lZGl0LW9wdGlvbnMgLmltYWdlLWxpc3Qgb3B0aW9uW3ZhbHVlPVwiJyArIGZpbGVuYW1lICsgJ1wiXScpLnJlbW92ZSgpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHRcdFxuXHRcdC8vIEFkZCBzZXR0aW5nIHRhZ3MgdG8gdGhlIHBhcmVudCBcIi5mb3JtLWdyb3VwXCIgZWxlbWVudC5cblx0XHRpZiAodGhpcy5lbnRpdHkuZ2V0VGFncygpICE9PSBudWxsKSB7XG5cdFx0XHRjb25zdCB0YWdzID0gdGhpcy5lbnRpdHkuZ2V0VGFncygpLmpvaW4oJ3wnKTtcblx0XHRcdCRlbGVtZW50LnBhcmVudHMoJy5mb3JtLWdyb3VwJykuYXR0cignZGF0YS10YWdzJywgdGFncyk7XG5cdFx0fVxuXHRcdFxuXHRcdCRlbGVtZW50LnRyaWdnZXIoJ2NoYW5nZScpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogR2V0IFdpZGdldCBIVE1MXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ31cblx0ICovXG5cdGdldEh0bWwoKSB7XG5cdFx0Y29uc3QgdGVtcGxhdGUgPSAkKCcjd2lkZ2V0LWltYWdlLXRlbXBsYXRlJykuaHRtbCgpO1xuXHRcdFxuXHRcdC8vIFByZXBhcmUgdGhlIHRlbXBsYXRlIGRhdGEuXG5cdFx0Y29uc3QgZGF0YSA9IHtcblx0XHRcdG5hbWU6IHRoaXMuZW50aXR5LmdldE5hbWUoKSxcblx0XHRcdHRpdGxlOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKHRoaXMuZW50aXR5LmdldE5hbWUoKSwgJ3RlbXBsYXRlJyksXG5cdFx0XHRvcHRpb25fdXBsb2FkOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fdXBsb2FkJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdG9wdGlvbl9wcmV2aWV3OiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fcHJldmlldycsICdzdHlsZV9lZGl0JyksXG5cdFx0XHRvcHRpb25fZGVsZXRlOiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdvcHRpb25fZGVsZXRlJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdG9wdGlvbnM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHZhbHVlOiAnJ1xuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fTtcblx0XHRcblx0XHQkLmVhY2godGhpcy50ZW1wbGF0ZUltYWdlcywgKGluZGV4LCBpbWFnZSkgPT4ge1xuXHRcdFx0Y29uc3QgZW50cnkgPSB7XG5cdFx0XHRcdHZhbHVlOiBpbWFnZVxuXHRcdFx0fTtcblx0XHRcdFxuXHRcdFx0ZGF0YS5vcHRpb25zLnB1c2goZW50cnkpO1xuXHRcdH0pO1xuXHRcdFxuXHRcdHJldHVybiBNdXN0YWNoZS5yZW5kZXIodGVtcGxhdGUsIGRhdGEpO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBQcmV2aWV3UmVzaXplci5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogUHJldmlldyBSZXNpemVyIFdpZGdldFxuICpcbiAqIFRoaXMgd2lkZ2V0IHdpbGwgaGFuZGxlIHRoZSBjcmVhdGlvbiBvZiB0aGUgcHJldmlldyByZXNpemUgZWxlbWVudCBvZiB0aGUgU3R5bGVFZGl0IGZyYW1lLiBZb3VcbiAqIHNob3VsZCB1c2UgdGhlIFwiYWRkUHJldmlld1R5cGVcIiBtZXRob2QgdG8gYWRkIG5ldyBwcmV2aWV3IHR5cGVzIGluIHRoZSBsaXN0LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQcmV2aWV3UmVzaXplciB7XG5cdC8qKlxuXHQgKiBDbGFzcyBDb25zdHJ1Y3RvciBcblx0ICogXG5cdCAqIEBwYXJhbSB7alF1ZXJ5fSAkdGFyZ2V0IFRhcmdldCBzZWxlY3RvciBvZiB0aGUgd2lkZ2V0LlxuXHQgKiBAcGFyYW0ge1RlbXBsYXRlUHJldmlld30gdGVtcGxhdGVQcmV2aWV3IEluc3RhbmNlIG9mIHRoZSB0ZW1wbGF0ZSBwcmV2aWV3IG5lZWRlZCBmb3IgY2hhbmdpbmcgdGhlIHByZXZpZXcgdHlwZXMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcigkdGFyZ2V0LCB0ZW1wbGF0ZVByZXZpZXcpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KCR0YXJnZXQpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QodGVtcGxhdGVQcmV2aWV3KTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBAdHlwZSB7alF1ZXJ5fVxuXHRcdCAqL1xuXHRcdHRoaXMuJHRhcmdldCA9ICR0YXJnZXQ7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogQHR5cGUge1RlbXBsYXRlUHJldmlld31cblx0XHQgKi9cblx0XHR0aGlzLnRlbXBsYXRlUHJldmlldyA9IHRlbXBsYXRlUHJldmlldztcblx0XHRcblx0XHQvKipcblx0XHQgKiBDb250YWlucyB0aGUgcHJldmlldyB0eXBlIGluc3RhbmNlc1xuXHRcdCAqXG5cdFx0ICogQHR5cGUge1ByZXZpZXdUeXBlW119XG5cdFx0ICovXG5cdFx0dGhpcy5wcmV2aWV3VHlwZXMgPSBbXTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEluaXRpYWxpemUgdGhlIHdpZGdldC5cblx0ICpcblx0ICogT25jZSB0aGUgcHJldmlldyB0eXBlcyBhZGRlZCB1c2UgdGhpcyBtZXRob2QgdG8gaW5pdGlhbGl6ZSB0aGUgd2lkZ2V0LiBJdCB3aWxsIGZldGNoIHRoZVxuXHQgKiBjb3JyZWN0IE11c3RhY2hlIHRlbXBsYXRlcyBhbmQgYmluZCB0aGUgZXZlbnQgaGFuZGxlcnMuXG5cdCAqL1xuXHRpbml0aWFsaXplKCkge1xuXHRcdHRoaXMudGVtcGxhdGVQcmV2aWV3LmluaXRpYWxpemUoKTtcblx0XHRcblx0XHQvLyBDcmVhdGUgdGhlIGF2YWlsYWJsZSBwcmV2aWV3IHR5cGVzIGxpc3QuXG5cdFx0Y29uc3QgdGVtcGxhdGUgPSAkKCcjcHJldmlldy10eXBlLXRlbXBsYXRlJykuaHRtbCgpO1xuXHRcdGNvbnN0IGh0bWwgPSBNdXN0YWNoZS5yZW5kZXIodGVtcGxhdGUsIHtwcmV2aWV3VHlwZXM6IHRoaXMucHJldmlld1R5cGVzfSk7XG5cdFx0XG5cdFx0dGhpcy4kdGFyZ2V0LmZpbmQoJy5kcm9wZG93bi1tZW51JykuaHRtbChodG1sKTtcblx0XHRcblx0XHR0aGlzLl9iaW5kRXZlbnRIYW5kbGVycygpO1xuXHRcdFxuXHRcdHRoaXMuJHRhcmdldC5maW5kKCcuZHJvcGRvd24tbWVudSBsaTpsYXN0JykudHJpZ2dlcignY2xpY2snKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEFkZCBuZXcgcHJldmlldyB0eXBlIHRvIHRoZSBpbnN0YW5jZS5cblx0ICpcblx0ICogQHBhcmFtIHtQcmV2aWV3VHlwZX0gcHJldmlld1R5cGUgQ29udGFpbnMgdGhlIHByZXZpZXcgaW5mb3JtYXRpb24gKHdpZHRoLCBoZWlnaHQgZXRjKS5cblx0ICpcblx0ICogQHJldHVybiB7UHJldmlld1Jlc2l6ZXJ9IFJldHVybnMgdGhlIGNsYXNzIGluc3RhbmNlIGZvciBtZXRob2QgY2hhaW5pbmcuXG5cdCAqL1xuXHRhZGRQcmV2aWV3VHlwZShwcmV2aWV3VHlwZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QocHJldmlld1R5cGUpO1xuXHRcdHRoaXMucHJldmlld1R5cGVzLnB1c2gocHJldmlld1R5cGUpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cdFxuXHQvKipcblx0ICogQmluZCB0aGUgZXZlbnQgaGFuZGxlcnMgZm9yIHRoZSB3aWRnZXQuXG5cdCAqXG5cdCAqIEB0aGlzIFByZXZpZXdSZXNpemVyXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfYmluZEV2ZW50SGFuZGxlcnMoKSB7XG5cdFx0dGhpcy4kdGFyZ2V0LmZpbmQoJy5kcm9wZG93bi1tZW51IGxpJylcblx0XHRcdC5vZmYoJ2NsaWNrJylcblx0XHRcdC5vbignY2xpY2snLCBldmVudCA9PiB7XG5cdFx0XHRcdGNvbnN0ICR0YXJnZXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXHRcdFx0XHRcblx0XHRcdFx0JC5lYWNoKHRoaXMucHJldmlld1R5cGVzLCAoaW5kZXgsIHByZXZpZXdUeXBlKSA9PiB7XG5cdFx0XHRcdFx0aWYgKCR0YXJnZXQuaGFzQ2xhc3MocHJldmlld1R5cGUuZ2V0Q2xhc3MoKSkpIHtcblx0XHRcdFx0XHRcdHRoaXMudGVtcGxhdGVQcmV2aWV3LmNoYW5nZVByZXZpZXcocHJldmlld1R5cGUpO1xuXHRcdFx0XHRcdFx0dGhpcy4kdGFyZ2V0LmZpbmQoJy5kcm9wZG93bi1tZW51IGxpLmFjdGl2ZScpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcblx0XHRcdFx0XHRcdCR0YXJnZXQuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xuXHRcdFx0XHRcdFx0dGhpcy4kdGFyZ2V0LmZpbmQoJy50eXBlLXRvZ2dsZSBpJykuYXR0cignY2xhc3MnLCBwcmV2aWV3VHlwZS5nZXRJY29uQ2xhc3MoKSArICcnKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFNlbGVjdEJveC5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogU2VsZWN0IFdpZGdldCBDbGFzc1xuICpcbiAqIFRoaXMgd2lkZ2V0IHdpbGwgY3JlYXRlIGEgc2ltcGxlIHNlbGVjdCBib3ggYW5kIHBvcHVsYXRlIGl0IHdpdGggdGhlIHZhbHVlcyBmcm9tXG4gKiB0aGUgZW50aXR5LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZWxlY3RCb3gge1xuXHQvKipcblx0ICogQ2xhc3MgQ29uc3RydWN0b3Jcblx0ICogXG5cdCAqIEBwYXJhbSB7U2V0dGluZ30gZW50aXR5IENvbnRhaW5zIHRoZSBzZXR0aW5nIGluZm9ybWF0aW9uLlxuXHQgKiBAcGFyYW0ge1N0eWxlQ29uZmlndXJhdGlvbn0gc3R5bGVDb25maWd1cmF0aW9uIFJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIG9iamVjdC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKGVudGl0eSwgc3R5bGVDb25maWd1cmF0aW9uKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChlbnRpdHkpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3Qoc3R5bGVDb25maWd1cmF0aW9uKTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBAdHlwZSB7U2V0dGluZ31cblx0XHQgKi9cblx0XHR0aGlzLmVudGl0eSA9IGVudGl0eTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBAdHlwZSB7U3R5bGVDb25maWd1cmF0aW9ufVxuXHRcdCAqL1xuXHRcdHRoaXMuc3R5bGVDb25maWd1cmF0aW9uID0gc3R5bGVDb25maWd1cmF0aW9uO1xuXHR9XG5cdFxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSB0aGUgd2lkZ2V0LlxuXHQgKi9cblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRjb25zdCAkZWxlbWVudCA9ICQoJy5lZGl0LW9wdGlvbnMtY29udGFpbmVyICMnICsgdGhpcy5lbnRpdHkuZ2V0TmFtZSgpKTtcblx0XHRcblx0XHQkZWxlbWVudC5jaGFuZ2UoKCkgPT4ge1xuXHRcdFx0bGV0IGZvdW5kID0gZmFsc2U7XG5cdFx0XHRcblx0XHRcdC8vIFVwZGF0ZSB0aGUgc3R5bGUgY29uZmlndXJhdGlvbi4gXG5cdFx0XHQkLmVhY2godGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24uZ2V0U2V0dGluZ3MoKSwgKGluZGV4LCBzZXR0aW5nKSA9PiB7XG5cdFx0XHRcdCQuZWFjaChzZXR0aW5nLmdldEVudHJpZXMoKSwgKGluZGV4LCBlbnRyeSkgPT4ge1xuXHRcdFx0XHRcdGlmIChlbnRyeS5nZXROYW1lKCkgPT09IHRoaXMuZW50aXR5LmdldE5hbWUoKSkge1xuXHRcdFx0XHRcdFx0ZW50cnkuc2V0VmFsdWUoJGVsZW1lbnQudmFsKCkpO1xuXHRcdFx0XHRcdFx0Zm91bmQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHRcdFxuXHRcdFx0XHRpZiAoZm91bmQpIHtcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0pO1xuXHRcdFxuXHRcdCRlbGVtZW50LnZhbCh0aGlzLmVudGl0eS5nZXRWYWx1ZSgpKTtcblx0XHRcblx0XHQvLyBBZGQgc2V0dGluZyB0YWdzIHRvIHRoZSBwYXJlbnQgXCIuZm9ybS1ncm91cFwiIGVsZW1lbnQuXG5cdFx0aWYgKHRoaXMuZW50aXR5LmdldFRhZ3MoKSAhPT0gbnVsbCkge1xuXHRcdFx0Y29uc3QgdGFncyA9IHRoaXMuZW50aXR5LmdldFRhZ3MoKS5qb2luKCd8Jyk7XG5cdFx0XHQkZWxlbWVudC5wYXJlbnRzKCcuZm9ybS1ncm91cCcpLmF0dHIoJ2RhdGEtdGFncycsIHRhZ3MpO1xuXHRcdH1cblx0fVxuXHRcblx0LyoqXG5cdCAqIEdldCB0aGUgd2lkZ2V0IEhUTUxcblx0ICpcblx0ICogQHJldHVybiB7U3RyaW5nfVxuXHQgKi9cblx0Z2V0SHRtbCgpIHtcblx0XHRjb25zdCB0ZW1wbGF0ZSA9ICQoJyN3aWRnZXQtc2VsZWN0LXRlbXBsYXRlJykuaHRtbCgpO1xuXHRcdFxuXHRcdC8vIENvbnZlcnQgdGhlIG9yaWdpbmFsIFNldHRpbmcgaW5zdGFuY2UgaW50byBhIGN1c3RvbSBvYmplY3QgaW4gb3JkZXIgdG8gc3VwcG9ydCBcblx0XHQvLyBvYmplY3QgbGl0ZXJhbHMgaW4gaW4gdGhlIHNlbGVjdC10eXBlIHNldHRpbmdzLiBUaGUgZGlzcGxheSB0ZXh0cyBzaG91bGQgYmUgdHJhbnNsYXRlZC4gXG5cdFx0XG5cdFx0Y29uc3Qgc2V0dGluZyA9IHtcblx0XHRcdG5hbWU6IHRoaXMuZW50aXR5LmdldE5hbWUoKSxcblx0XHRcdHRpdGxlOiB0aGlzLmVudGl0eS5nZXRUaXRsZSgpLFxuXHRcdFx0b3B0aW9uczogW11cblx0XHR9O1xuXHRcdFxuXHRcdCQuZWFjaCh0aGlzLmVudGl0eS5nZXRPcHRpb25zKCksIChpbmRleCwgb3B0aW9uKSA9PiB7XG5cdFx0XHRsZXQgZW50cnk7XG5cdFx0XHRcblx0XHRcdGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JykgeyAvLyBUaGUgb3B0aW9uIGZyb20gdGhlIEpTT04gZmlsZSBpcyBhbiBvYmplY3QgbGl0ZXJhbC5cblx0XHRcdFx0Y29uc3Qgb3B0aW9uS2V5ID0gT2JqZWN0LmtleXMob3B0aW9uKVswXTtcblx0XHRcdFx0ZW50cnkgPSB7XG5cdFx0XHRcdFx0dmFsdWU6IG9wdGlvbktleSxcblx0XHRcdFx0XHR0ZXh0OiBTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKG9wdGlvbltvcHRpb25LZXldLCAndGVtcGxhdGUnKVxuXHRcdFx0XHR9O1xuXHRcdFx0fSBlbHNlIHsgLy8gVGhlIG9wdGlvbiBmcm9tIHRoZSBKU09OIGZpbGUgaXMganVzdCBhIHN0cmluZy5cblx0XHRcdFx0ZW50cnkgPSB7XG5cdFx0XHRcdFx0dmFsdWU6IG9wdGlvbixcblx0XHRcdFx0XHR0ZXh0OiBvcHRpb25cblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0c2V0dGluZy5vcHRpb25zLnB1c2goZW50cnkpO1xuXHRcdH0pO1xuXHRcdFxuXHRcdHJldHVybiBNdXN0YWNoZS5yZW5kZXIodGVtcGxhdGUsIHNldHRpbmcpO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBTdHlsZVVwbG9hZC5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKiBnbG9iYWxzIC1Nb2RhbCAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCBNb2RhbCBmcm9tICcuLi9saWJzL01vZGFsJztcblxuLyoqXG4gKiBTdHlsZSBVcGxvYWQgV2lkZ2V0XG4gKlxuICogVGhpcyB3aWRnZXQgd2lsbCB1c2UgdGhlIGpxdWVyeS1maWxldXBsb2FkIHBsdWdpbiBpbiBvcmRlciB0byB1cGxvYWQgdGhlIHN0eWxlXG4gKiB0byB0aGUgc2VydmVyIHdpdGggUE9TVCByZXF1ZXN0IGludG8gYSBoaWRkZW4gaWZyYW1lLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdHlsZVVwbG9hZCB7XG5cdC8qKlxuXHQgKiBDbGFzcyBDb25zdHJ1Y3RvclxuXHQgKlxuXHQgKiBAcGFyYW0ge2pRdWVyeX0gJHRhcmdldCBUaGUgdGFyZ2V0IHNlbGVjdG9yIHRvIGJlIGNvbnZlcnRlZCBpbnRvIGFuIFN0eWxlVXBsb2FkIGVsZW1lbnQuIFRoaXNcblx0ICogbXVzdCBiZSBhIGlucHV0OmZpbGUgZWxlbWVudC5cblx0ICogQHBhcmFtIHtTdHJpbmd9IHVybCBUaGUgVVJMIHRoYXQgd2lsbCBiZSB1c2VkIHRvIFBPU1QgdGhlIGZpbGUuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcigkdGFyZ2V0LCB1cmwpIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KCR0YXJnZXQpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNTdHJpbmcodXJsKTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBUaGUgdG8gYmUgY29udmVydGVkIGludG8gYSBqcXVlcnkgYWpheC1oYW5kbGVyLlxuXHRcdCAqXG5cdFx0ICogQHR5cGUge2pRdWVyeX1cblx0XHQgKi9cblx0XHR0aGlzLiR0YXJnZXQgPSAkdGFyZ2V0O1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFVSTCB0byBiZSB1c2VkIG9uIHVwbG9hZC5cblx0XHQgKlxuXHRcdCAqIEB0eXBlIHtTdHJpbmd9XG5cdFx0ICovXG5cdFx0dGhpcy51cmwgPSB1cmw7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBUcmlnZ2VyIHRoZSBmaWxlIHVwbG9hZC5cblx0ICpcblx0ICogU2luY2UgdGhpcyBjbGFzcyBpcyBhIHdyYXBwZXIgZm9yIHRoZSBqcXVlcnktZmlsZXVwbG9hZCBwbHVnaW4gaXQgd2lsbCBoYW5kbGUgdGhlIEFKQVhcblx0ICogZmFpbHVyZSBvbiBpdHMgb3duLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gc3R5bGVOYW1lIFRoZSBuYW1lIG9mIHRoZSBuZXcgc3R5bGUuXG5cdCAqXG5cdCAqIEByZXR1cm4ge2pRdWVyeS5Qcm9taXNlfSBSZXR1cm5zIGEgcHJvbWlzZSBvYmplY3QgdGhhdCB3aWxsIGJlIHJlc29sdmVkIHdpdGggdGhlIHNlcnZlcidzIHJlc3BvbnNlLlxuXHQgKi9cblx0dXBsb2FkKHN0eWxlTmFtZSkge1xuXHRcdGNvbnN0IGRlZmVycmVkID0gJC5EZWZlcnJlZCgpO1xuXHRcdGNvbnN0IGZpbGVzTGlzdCA9IHRoaXMuJHRhcmdldC5nZXQoMCkuZmlsZXM7XG5cdFx0XG5cdFx0dGhpcy4kdGFyZ2V0LmZpbGV1cGxvYWQoe1xuXHRcdFx0Zm9ybURhdGE6IHtzdHlsZV9uYW1lOiBzdHlsZU5hbWV9LFxuXHRcdFx0dXJsOiB0aGlzLnVybCxcblx0XHRcdGRhdGFUeXBlOiAnanNvbicsXG5cdFx0XHRhdXRvVXBsb2FkOiBmYWxzZSxcblx0XHRcdGFjY2VwdEZpbGVUeXBlczogLyhcXC58XFwvKShqc29uKSQvaSxcblx0XHRcdGZvcmNlSWZyYW1lVHJhbnNwb3J0OiB0cnVlXG5cdFx0fSk7XG5cdFx0XG5cdFx0dGhpcy4kdGFyZ2V0LmZpbGV1cGxvYWQoJ3NlbmQnLCB7ZmlsZXM6IGZpbGVzTGlzdH0pXG5cdFx0XHQuZG9uZShyZXN1bHQgPT4ge1xuXHRcdFx0XHRkZWZlcnJlZC5yZXNvbHZlKHJlc3VsdCk7XG5cdFx0XHR9KVxuXHRcdFx0LmZhaWwoKGpxeGhyLCB0ZXN0U3RhdHVzLCBlcnJvclRocm93bikgPT4ge1xuXHRcdFx0XHRNb2RhbC5tZXNzYWdlKFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUoJ3RpdGxlX3VwbG9hZF9mYWlsdXJlJywgJ3N0eWxlX2VkaXQnKSxcblx0XHRcdFx0XHRTdHlsZUVkaXQuTGFuZ3VhZ2UudHJhbnNsYXRlKCdtZXNzYWdlX3VwbG9hZF9mYWlsdXJlJywgJ3N0eWxlX2VkaXQnKSk7XG5cdFx0XHRcdFN0eWxlRWRpdC5EZWJ1Zy5lcnJvcignU3R5bGVVcGxvYWQgV2lkZ2V0IEVycm9yOiAnLCBlcnJvclRocm93biwgdGVzdFN0YXR1cywganF4aHIpO1xuXHRcdFx0fSk7XG5cdFx0XG5cdFx0cmV0dXJuIGRlZmVycmVkLnByb21pc2UoKTtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU3dpdGNoLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBTd2l0Y2ggV2lkZ2V0XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN3aXRjaCB7XG5cdC8qKlxuXHQgKiBDbGFzcyBDb25zdHJ1Y3RvciBcblx0ICogXG5cdCAqIEBwYXJhbSB7U2V0dGluZ30gZW50aXR5IENvbnRhaW5zIHRoZSBzZXR0aW5nIGluZm9ybWF0aW9uLlxuXHQgKiBAcGFyYW0ge1N0eWxlQ29uZmlndXJhdGlvbn0gc3R5bGVDb25maWd1cmF0aW9uIFJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIG9iamVjdC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKGVudGl0eSwgc3R5bGVDb25maWd1cmF0aW9uKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChlbnRpdHkpO1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3Qoc3R5bGVDb25maWd1cmF0aW9uKTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBAdHlwZSB7U2V0dGluZ31cblx0XHQgKi9cblx0XHR0aGlzLmVudGl0eSA9IGVudGl0eTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBAdHlwZSB7U3R5bGVDb25maWd1cmF0aW9ufVxuXHRcdCAqL1xuXHRcdHRoaXMuc3R5bGVDb25maWd1cmF0aW9uID0gc3R5bGVDb25maWd1cmF0aW9uO1xuXHR9XG5cdFxuXHQvKipcblx0ICogSW5pdGlhbGl6ZSB0aGUgd2lkZ2V0LlxuXHQgKi9cblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRjb25zdCAkZWxlbWVudCA9ICQoJy5lZGl0LW9wdGlvbnMtY29udGFpbmVyICMnICsgdGhpcy5lbnRpdHkuZ2V0TmFtZSgpKTtcblx0XHRcblx0XHQkZWxlbWVudC5jaGFuZ2UoKCkgPT4ge1xuXHRcdFx0bGV0IGZvdW5kID0gZmFsc2U7XG5cdFx0XHRcblx0XHRcdC8vIFVwZGF0ZSB0aGUgc3R5bGUgY29uZmlndXJhdGlvbi4gXG5cdFx0XHQkLmVhY2godGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24uZ2V0U2V0dGluZ3MoKSwgKGluZGV4LCBzZXR0aW5nKSA9PiB7XG5cdFx0XHRcdCQuZWFjaChzZXR0aW5nLmdldEVudHJpZXMoKSwgKGluZGV4LCBlbnRyeSkgPT4ge1xuXHRcdFx0XHRcdGlmIChlbnRyeS5nZXROYW1lKCkgPT09IHRoaXMuZW50aXR5LmdldE5hbWUoKSkge1xuXHRcdFx0XHRcdFx0ZW50cnkuc2V0VmFsdWUoJGVsZW1lbnQucHJvcCgnY2hlY2tlZCcpKTtcblx0XHRcdFx0XHRcdGZvdW5kID0gdHJ1ZTtcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRcblx0XHRcdFx0aWYgKGZvdW5kKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0XHRcblx0XHQvLyBTZXQgaW5pdGlhbCB2YWx1ZS4gXG5cdFx0JGVsZW1lbnQucHJvcCgnY2hlY2tlZCcsIHRoaXMuZW50aXR5LmdldFZhbHVlKCkpO1xuXHRcdFxuXHRcdC8vIEFkZCBzZXR0aW5nIHRhZ3MgdG8gdGhlIHBhcmVudCBcIi5mb3JtLWdyb3VwXCIgZWxlbWVudC5cblx0XHRpZiAodGhpcy5lbnRpdHkuZ2V0VGFncygpICE9PSBudWxsKSB7XG5cdFx0XHRjb25zdCB0YWdzID0gdGhpcy5lbnRpdHkuZ2V0VGFncygpLmpvaW4oJ3wnKTtcblx0XHRcdCRlbGVtZW50LnBhcmVudHMoJy5mb3JtLWdyb3VwJykuYXR0cignZGF0YS10YWdzJywgdGFncyk7XG5cdFx0fVxuXHR9XG5cdFxuXHQvKipcblx0ICogR2V0IFdpZGdldCBIVE1MXG5cdCAqXG5cdCAqIEByZXR1cm4ge1N0cmluZ31cblx0ICovXG5cdGdldEh0bWwoKSB7XG5cdFx0Y29uc3QgdGVtcGxhdGUgPSAkKCcjd2lkZ2V0LXN3aXRjaC10ZW1wbGF0ZScpLmh0bWwoKTtcblx0XHRyZXR1cm4gTXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLCB0aGlzLmVudGl0eSk7XG5cdH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFRlbXBsYXRlUHJldmlldy5qcyAyMDE5LTA2LTA3XG4gIEdhbWJpbyBHbWJIXG4gIGh0dHA6Ly93d3cuZ2FtYmlvLmRlXG4gIENvcHlyaWdodCAoYykgMjAxOSBHYW1iaW8gR21iSFxuICBSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKFZlcnNpb24gMilcbiAgW2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxdXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogVGVtcGxhdGUgUHJldmlldyBXaWRnZXRcbiAqXG4gKiBUaGlzIHdpZGdldCBpcyBhIHdyYXBwZXIgZm9yIGFuIGlmcmFtZSBlbGVtZW50IHRoYXQgd2lsbCBkaXNwbGF5IHRoZSB0ZW1wbGF0ZSBwcmV2aWV3LiBVc2VcbiAqIHRoZSBcImNoYW5nZVByZXZpZXdcIiBtZXRob2QgdG8gY2hhbmdlIHRoZSBjdXJyZW50IHByZXZpZXcgdHlwZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVtcGxhdGVQcmV2aWV3IHtcblx0LyoqXG5cdCAqIENsYXNzIENvbnN0cnVjdG9yIFxuXHQgKiBcblx0ICogQHBhcmFtIHtqUXVlcnl9ICR0YXJnZXQgVGFyZ2V0IDxkaXY+IGVsZW1lbnQgb2YgdGhlIHRlbXBsYXRlIHByZXZpZXcuXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBwcmV2aWV3VXJsIFRoZSBwcmV2aWV3IFVSTCBvZiB0aGUgdGVtcGxhdGUuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcigkdGFyZ2V0LCBwcmV2aWV3VXJsKSB7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdCgkdGFyZ2V0KTtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzU3RyaW5nKHByZXZpZXdVcmwpO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIFRhcmdldCBQcmV2aWV3IFNlbGVjdG9yXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7alF1ZXJ5fVxuXHRcdCAqL1xuXHRcdHRoaXMuJHRhcmdldCA9ICR0YXJnZXQ7XG5cdFx0XG5cdFx0LyoqXG5cdFx0ICogVGhlIHRlbXBsYXRlIHByZXZpZXctVVJMXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdHRoaXMucHJldmlld1VybCA9IHByZXZpZXdVcmw7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIHRoZSB3aWRnZXQuXG5cdCAqXG5cdCAqIENhbGwgdGhpcyBtZXRob2QgdG8gY3JlYXRlIHRoZSByZXF1aXJlZCBIVE1MIHN0cnVjdHVyZSBmb3IgdGhlIHdpZGdldC5cblx0ICovXG5cdGluaXRpYWxpemUoKSB7XG5cdFx0Ly8gQ3JlYXRlIHRoZSBcImxvYWRpbmdcIiBlbGVtZW50LiBcblx0XHRjb25zdCAkbG9hZGluZ0ljb24gPSAkKCQoJyNsb2FkaW5nLXNwaW5uZXItdGVtcGxhdGUnKS5odG1sKCkpO1xuXHRcdFxuXHRcdCRsb2FkaW5nSWNvblxuXHRcdFx0LmNzcyh7XG5cdFx0XHRcdGRpc3BsYXk6ICd0YWJsZS1jZWxsJyxcblx0XHRcdFx0dmVydGljYWxBbGlnbjogJ21pZGRsZScsXG5cdFx0XHRcdHdpZHRoOiAnNjBweCdcblx0XHRcdH0pO1xuXHRcdFxuXHRcdGNvbnN0ICRsb2FkaW5nID0gJCgnPGRpdiBjbGFzcz1cImxvYWRpbmdcIj48L2Rpdj4nKVxuXHRcdFx0LmNzcyh7XG5cdFx0XHRcdHBvc2l0aW9uOiAnZml4ZWQnLFxuXHRcdFx0XHRsZWZ0OiAnMCcsXG5cdFx0XHRcdHRvcDogJzAnLFxuXHRcdFx0XHR3aWR0aDogJzEwMHZ3Jyxcblx0XHRcdFx0aGVpZ2h0OiAnMTAwdmgnLFxuXHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGJyxcblx0XHRcdFx0Zm9udFNpemU6ICc2MHB4Jyxcblx0XHRcdFx0dGV4dEFsaWduOiAnY2VudGVyJyxcblx0XHRcdFx0ZGlzcGxheTogJ3RhYmxlJyxcblx0XHRcdFx0b3ZlcmZsb3c6ICdoaWRkZW4nXG5cdFx0XHR9KTtcblx0XHRcblx0XHRjb25zdCAkZGlzYWJsZUxheWVyID0gJCgnPGRpdiBjbGFzcz1cImRpc2FibGUtbGF5ZXJcIj48L2Rpdj4nKVxuXHRcdFx0LmNzcyh7XG5cdFx0XHRcdGRpc3BsYXk6ICdub25lJyxcblx0XHRcdFx0cG9zaXRpb246ICdmaXhlZCcsXG5cdFx0XHRcdGxlZnQ6ICcwJyxcblx0XHRcdFx0dG9wOiAnMCcsXG5cdFx0XHRcdHdpZHRoOiAnMTAwJScsXG5cdFx0XHRcdGhlaWdodDogJzEwMCUnLFxuXHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDE4NSwgNzQsIDcyLCAwLjI3KScsXG5cdFx0XHRcdG92ZXJmbG93OiAnaGlkZGVuJ1xuXHRcdFx0fSk7XG5cdFx0XG5cdFx0Y29uc3QgJGlmcmFtZSA9ICQoJzxpZnJhbWUgc3JjPVwiJyArIHRoaXMucHJldmlld1VybCArICdcIj48L2lmcmFtZT4nKTtcblx0XHRcblx0XHR0aGlzLiR0YXJnZXQuYXBwZW5kKCRpZnJhbWUpO1xuXHRcdFxuXHRcdCQoJ2JvZHknKVxuXHRcdFx0LmFwcGVuZCgkZGlzYWJsZUxheWVyKVxuXHRcdFx0LmFwcGVuZCgkbG9hZGluZy5hcHBlbmQoJGxvYWRpbmdJY29uKSk7XG5cdFx0XG5cdFx0dGhpcy5fYmluZEV2ZW50SGFuZGxlcnMoKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIENoYW5nZSB0aGUgY3VycmVudCBwcmV2aWV3IHR5cGUgb2YgdGhlIHRlbXBsYXRlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1ByZXZpZXdUeXBlfSB0eXBlIFRoZSBwcmV2aWV3IHR5cGUgdG8gYmUgdXNlZC5cblx0ICovXG5cdGNoYW5nZVByZXZpZXcodHlwZSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QodHlwZSk7XG5cdFx0XG5cdFx0Ly8gUmVsb2FkIHRoZSBpZnJhbWUgY29udGVudCB0byBzb2x2ZSB3aW5kb3cucmVzaXplIGV2ZW50IHByb2JsZW0uXG5cdFx0Y29uc3QgaWZyYW1lV2luZG93ID0gdGhpcy4kdGFyZ2V0LmZpbmQoJ2lmcmFtZScpLmdldCgwKS5jb250ZW50V2luZG93O1xuXHRcdFxuXHRcdGlmIChpZnJhbWVXaW5kb3cubG9jYXRpb24uaHJlZiAhPT0gJ2Fib3V0OmJsYW5rJykge1xuXHRcdFx0aWZyYW1lV2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLmN1cnJlbnRQcmV2aWV3VHlwZSA9IHR5cGU7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBFdmVudDogaWZyYW1lIFVubG9hZFxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uSWZyYW1lVW5sb2FkKCkge1xuXHRcdCQoJ2JvZHknKS5maW5kKCcubG9hZGluZycpLmZhZGVJbigpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogRXZlbnQ6IGlmcmFtZSBMb2FkIEV2ZW50XG5cdCAqXG5cdCAqIFdpbGwgYmUgdHJpZ2dlcmVkIG9uY2UgdGhlIGlmcmFtZSBjb250ZW50IGhhcyBmaW5pc2hlZCBsb2FkaW5nLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0X29uSWZyYW1lTG9hZCgpIHtcblx0XHR0aGlzLiR0YXJnZXQuY3NzKHRoaXMuY3VycmVudFByZXZpZXdUeXBlLmdldFByZXZpZXdDc3MoKSk7XG5cdFx0XG5cdFx0JCgnYm9keScpLmZpbmQoJy5sb2FkaW5nJykuZmFkZU91dCgpO1xuXHRcdFxuXHRcdC8vIEJpbmQgdGhlIHVubG9hZCBldmVudCB0byB0aGUgaWZyYW1lIHdpbmRvdyBvYmplY3QuXG5cdFx0Y29uc3QgaWZyYW1lV2luZG93ID0gdGhpcy4kdGFyZ2V0LmZpbmQoJ2lmcmFtZScpLmdldCgwKS5jb250ZW50V2luZG93O1xuXHRcdCQoaWZyYW1lV2luZG93KS5vbignYmVmb3JldW5sb2FkJywgKCkgPT4gdGhpcy5fb25JZnJhbWVVbmxvYWQoKSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBCaW5kIHdpZGdldCBldmVudCBoYW5kbGVycy5cblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdF9iaW5kRXZlbnRIYW5kbGVycygpIHtcblx0XHR0aGlzLiR0YXJnZXQuZmluZCgnaWZyYW1lJylcblx0XHRcdC5vZmYoJ2xvYWQnKVxuXHRcdFx0Lm9uKCdsb2FkJywgKCkgPT4gdGhpcy5fb25JZnJhbWVMb2FkKCkpO1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBUZXh0Qm94LmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBUZXh0Qm94IFdpZGdldFxuICpcbiAqIFRoaXMgd2lkZ2V0IHdpbGwgaGFuZGxlIHRoZSBwbGFpbiB0ZXh0IHN0eWxlIHNldHRpbmdzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUZXh0Qm94IHtcblx0LyoqXG5cdCAqIENsYXNzIENvbnN0cnVjdG9yIFxuXHQgKiBcblx0ICogQHBhcmFtIHtTZXR0aW5nfSBlbnRpdHkgQ29udGFpbnMgdGhlIHNldHRpbmcgaW5mb3JtYXRpb24uXG5cdCAqIEBwYXJhbSB7U3R5bGVDb25maWd1cmF0aW9ufSBzdHlsZUNvbmZpZ3VyYXRpb24gUmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuXHQgKi9cblx0Y29uc3RydWN0b3IoZW50aXR5LCBzdHlsZUNvbmZpZ3VyYXRpb24pIHtcblx0XHRTdHlsZUVkaXQuVmFsaWRhdG9yLmlzT2JqZWN0KGVudGl0eSk7XG5cdFx0U3R5bGVFZGl0LlZhbGlkYXRvci5pc09iamVjdChzdHlsZUNvbmZpZ3VyYXRpb24pO1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIEB0eXBlIHtTZXR0aW5nfVxuXHRcdCAqL1xuXHRcdHRoaXMuZW50aXR5ID0gZW50aXR5O1xuXHRcdFxuXHRcdC8qKlxuXHRcdCAqIEB0eXBlIHtTdHlsZUNvbmZpZ3VyYXRpb259XG5cdFx0ICovXG5cdFx0dGhpcy5zdHlsZUNvbmZpZ3VyYXRpb24gPSBzdHlsZUNvbmZpZ3VyYXRpb247XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBJbml0aWFsaXplIHRoZSB3aWRnZXQuXG5cdCAqL1xuXHRpbml0aWFsaXplKCkge1xuXHRcdGNvbnN0ICRlbGVtZW50ID0gJCgnLmVkaXQtb3B0aW9ucy1jb250YWluZXIgIycgKyB0aGlzLmVudGl0eS5nZXROYW1lKCkpO1xuXHRcdFxuXHRcdCRlbGVtZW50LmNoYW5nZSgoKSA9PiB7XG5cdFx0XHRsZXQgZm91bmQgPSBmYWxzZTtcblx0XHRcdFxuXHRcdFx0Ly8gVXBkYXRlIHRoZSBzdHlsZSBjb25maWd1cmF0aW9uLiBcblx0XHRcdCQuZWFjaCh0aGlzLnN0eWxlQ29uZmlndXJhdGlvbi5nZXRTZXR0aW5ncygpLCAoaW5kZXgsIHNldHRpbmcpID0+IHtcblx0XHRcdFx0JC5lYWNoKHNldHRpbmcuZ2V0RW50cmllcygpLCAoaW5kZXgsIGVudHJ5KSA9PiB7XG5cdFx0XHRcdFx0aWYgKGVudHJ5LmdldE5hbWUoKSA9PT0gdGhpcy5lbnRpdHkuZ2V0TmFtZSgpKSB7XG5cdFx0XHRcdFx0XHQvLyBTZXQgdGhlIGRlZmF1bHQgbWV0cmljIGlmIG5lY2Vzc2FyeS4gXG5cdFx0XHRcdFx0XHRjb25zdCBkZWZhdWx0TWV0cmljID0gdGhpcy5lbnRpdHkuZ2V0RGVmYXVsdE1ldHJpYygpO1xuXHRcdFx0XG5cdFx0XHRcdFx0XHRpZiAoJGVsZW1lbnQudmFsKCkgIT09ICcwJyAmJiBkZWZhdWx0TWV0cmljICE9PSBudWxsIFxuXHRcdFx0XHRcdFx0XHQmJiAkZWxlbWVudC52YWwoKS5yZXBsYWNlKC9bXjAtOS4rIF0vZywgJycpXHQ9PT0gJGVsZW1lbnQudmFsKCkpIHtcblx0XHRcdFx0XHRcdFx0JGVsZW1lbnQudmFsKCRlbGVtZW50LnZhbCgpICsgZGVmYXVsdE1ldHJpYyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRlbnRyeS5zZXRWYWx1ZSgkZWxlbWVudC52YWwoKSk7XG5cdFx0XHRcdFx0XHRmb3VuZCA9IHRydWU7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdFx0XG5cdFx0XHRcdGlmIChmb3VuZCkge1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdFx0XG5cdFx0Ly8gQWRkIHNldHRpbmcgdGFncyB0byB0aGUgcGFyZW50IFwiLmZvcm0tZ3JvdXBcIiBlbGVtZW50LlxuXHRcdGlmICh0aGlzLmVudGl0eS5nZXRUYWdzKCkgIT09IG51bGwpIHtcblx0XHRcdGNvbnN0IHRhZ3MgPSB0aGlzLmVudGl0eS5nZXRUYWdzKCkuam9pbignfCcpO1xuXHRcdFx0JGVsZW1lbnQucGFyZW50cygnLmZvcm0tZ3JvdXAnKS5hdHRyKCdkYXRhLXRhZ3MnLCB0YWdzKTtcblx0XHR9XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBHZXQgV2lkZ2V0IEhUTUxcblx0ICpcblx0ICogQHJldHVybiB7U3RyaW5nfVxuXHQgKi9cblx0Z2V0SHRtbCgpIHtcblx0XHRjb25zdCB0ZW1wbGF0ZSA9ICQoJyN3aWRnZXQtdGV4dC10ZW1wbGF0ZScpLmh0bWwoKTtcblx0XHRyZXR1cm4gTXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLCB0aGlzLmVudGl0eSk7XG5cdH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFRpdGxlLmpzIDIwMTktMDYtMDdcbiAgR2FtYmlvIEdtYkhcbiAgaHR0cDovL3d3dy5nYW1iaW8uZGVcbiAgQ29weXJpZ2h0IChjKSAyMDE5IEdhbWJpbyBHbWJIXG4gIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuICBbaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbF1cbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBUaXRsZSBXaWRnZXRcbiAqXG4gKiBUaGlzIHdpZGdldCB3aWxsIGRpc3BsYXkgYSBwbGFpbiBzdWItY2F0ZWdvcnkgdGl0bGUgYXMgcGFydCBvZiB0aGUgc2V0dGluZ3MgbGlzdC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGl0bGUge1xuXHQvKipcblx0ICogQ2xhc3MgQ29uc3RydWN0b3IgXG5cdCAqIFxuXHQgKiBAcGFyYW0ge1NldHRpbmd9IGVudGl0eSBDb250YWlucyB0aGUgc2V0dGluZyBpbmZvcm1hdGlvbi5cblx0ICovXG5cdGNvbnN0cnVjdG9yKGVudGl0eSkge1xuXHRcdFN0eWxlRWRpdC5WYWxpZGF0b3IuaXNPYmplY3QoZW50aXR5KTtcblx0XHRcblx0XHQvKipcblx0XHQgKiBAdHlwZSB7U2V0dGluZ31cblx0XHQgKi9cblx0XHR0aGlzLmVudGl0eSA9IGVudGl0eTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEluaXRpYWxpemUgdGhlIHdpZGdldC5cblx0ICovXG5cdGluaXRpYWxpemUoKSB7XG5cdFx0Ly8gTm90aGluZyB0byBkbyAuLi5cblx0fVxuXHRcblx0LyoqXG5cdCAqIEdldCBXaWRnZXQgSFRNTFxuXHQgKlxuXHQgKiBAcmV0dXJuIHtTdHJpbmd9XG5cdCAqL1xuXHRnZXRIdG1sKCkge1xuXHRcdGNvbnN0IHRlbXBsYXRlID0gJCgnI3dpZGdldC10aXRsZS10ZW1wbGF0ZScpLmh0bWwoKTtcblx0XHRjb25zdCBkYXRhID0ge1xuXHRcdFx0dGl0bGU6IFN0eWxlRWRpdC5MYW5ndWFnZS50cmFuc2xhdGUodGhpcy5lbnRpdHkuZ2V0TmFtZSgpLCAndGVtcGxhdGUnKVxuXHRcdH07XG5cdFx0cmV0dXJuIE11c3RhY2hlLnJlbmRlcih0ZW1wbGF0ZSwgZGF0YSk7XG5cdH1cbn1cbiJdLCJwcmVFeGlzdGluZ0NvbW1lbnQiOiIvLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbTV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5TFhCaFkyc3ZYM0J5Wld4MVpHVXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZbUZpWld3dGNHOXNlV1pwYkd3dmJHbGlMMmx1WkdWNExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdlptNHZjbVZuWlhod0wyVnpZMkZ3WlM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJFdFpuVnVZM1JwYjI0dWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5aExXNTFiV0psY2kxMllXeDFaUzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMkZrWkMxMGJ5MTFibk5qYjNCaFlteGxjeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMkZrZG1GdVkyVXRjM1J5YVc1bkxXbHVaR1Y0TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmWVc0dGFXNXpkR0Z1WTJVdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5aGJpMXZZbXBsWTNRdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5aGNuSmhlUzFqYjNCNUxYZHBkR2hwYmk1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJGeWNtRjVMV1pwYkd3dWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5aGNuSmhlUzFtY205dExXbDBaWEpoWW14bExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZllYSnlZWGt0YVc1amJIVmtaWE11YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTloY25KaGVTMXRaWFJvYjJSekxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZllYSnlZWGt0Y21Wa2RXTmxMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZZWEp5WVhrdGMzQmxZMmxsY3kxamIyNXpkSEoxWTNSdmNpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyRnljbUY1TFhOd1pXTnBaWE10WTNKbFlYUmxMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZZbWx1WkM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJOc1lYTnpiMll1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlqYjJZdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5amIyeHNaV04wYVc5dUxYTjBjbTl1Wnk1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJOdmJHeGxZM1JwYjI0dGRHOHRhbk52Ymk1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJOdmJHeGxZM1JwYjI0dGQyVmhheTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMk52Ykd4bFkzUnBiMjR1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlqYjNKbExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZlkzSmxZWFJsTFhCeWIzQmxjblI1TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmWTNSNExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZlpHRjBaUzEwYnkxcGMyOHRjM1J5YVc1bkxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZlpHRjBaUzEwYnkxd2NtbHRhWFJwZG1VdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5a1pXWnBibVZrTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmWkdWelkzSnBjSFJ2Y25NdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5a2IyMHRZM0psWVhSbExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZlpXNTFiUzFpZFdjdGEyVjVjeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMlZ1ZFcwdGEyVjVjeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMlY0Y0c5eWRDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyWmhhV3h6TFdsekxYSmxaMlY0Y0M1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJaaGFXeHpMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZabWw0TFhKbExYZHJjeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMlpzWVdkekxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZlpteGhkSFJsYmkxcGJuUnZMV0Z5Y21GNUxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZlptOXlMVzltTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmWjJ4dlltRnNMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZhR0Z6TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmYUdsa1pTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyaDBiV3d1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlwWlRndFpHOXRMV1JsWm1sdVpTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgybHVhR1Z5YVhRdGFXWXRjbVZ4ZFdseVpXUXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXBiblp2YTJVdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5cGIySnFaV04wTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmYVhNdFlYSnlZWGt0YVhSbGNpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgybHpMV0Z5Y21GNUxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmFYTXRhVzUwWldkbGNpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgybHpMVzlpYW1WamRDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgybHpMWEpsWjJWNGNDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgybDBaWEl0WTJGc2JDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgybDBaWEl0WTNKbFlYUmxMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZhWFJsY2kxa1pXWnBibVV1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlwZEdWeUxXUmxkR1ZqZEM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJsMFpYSXRjM1JsY0M1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJsMFpYSmhkRzl5Y3k1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJ4cFluSmhjbmt1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl0WVhSb0xXVjRjRzB4TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmYldGMGFDMW1jbTkxYm1RdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5dFlYUm9MV3h2WnpGd0xtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmJXRjBhQzF6WTJGc1pTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyMWhkR2d0YzJsbmJpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyMWxkR0V1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl0WlhSaFpHRjBZUzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMjFwWTNKdmRHRnpheTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMjVsZHkxd2NtOXRhWE5sTFdOaGNHRmlhV3hwZEhrdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5dlltcGxZM1F0WVhOemFXZHVMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZiMkpxWldOMExXTnlaV0YwWlM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDI5aWFtVmpkQzFrY0M1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDI5aWFtVmpkQzFrY0hNdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5dlltcGxZM1F0Wm05eVkyVmtMWEJoYlM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDI5aWFtVmpkQzFuYjNCa0xtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmIySnFaV04wTFdkdmNHNHRaWGgwTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmYjJKcVpXTjBMV2R2Y0c0dWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5dlltcGxZM1F0WjI5d2N5NXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyOWlhbVZqZEMxbmNHOHVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXZZbXBsWTNRdGEyVjVjeTFwYm5SbGNtNWhiQzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMjlpYW1WamRDMXJaWGx6TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmYjJKcVpXTjBMWEJwWlM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDI5aWFtVmpkQzF6WVhBdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5dlltcGxZM1F0ZEc4dFlYSnlZWGt1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl2ZDI0dGEyVjVjeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM0JoY25ObExXWnNiMkYwTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmY0dGeWMyVXRhVzUwTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmY0dWeVptOXliUzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM0J5YjIxcGMyVXRjbVZ6YjJ4MlpTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgzQnliM0JsY25SNUxXUmxjMk11YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl5WldSbFptbHVaUzFoYkd3dWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5eVpXUmxabWx1WlM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDNKbFoyVjRjQzFsZUdWakxXRmljM1J5WVdOMExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmNtVm5aWGh3TFdWNFpXTXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXlaWEJzWVdObGNpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgzTmhiV1V0ZG1Gc2RXVXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXpaWFF0WTI5c2JHVmpkR2x2YmkxbWNtOXRMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZjMlYwTFdOdmJHeGxZM1JwYjI0dGIyWXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXpaWFF0Y0hKdmRHOHVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXpaWFF0YzNCbFkybGxjeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM05sZEMxMGJ5MXpkSEpwYm1jdGRHRm5MbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZjMmhoY21Wa0xXdGxlUzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM05vWVhKbFpDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgzTndaV05wWlhNdFkyOXVjM1J5ZFdOMGIzSXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXpkSEpwWTNRdGJXVjBhRzlrTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmYzNSeWFXNW5MV0YwTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmYzNSeWFXNW5MV052Ym5SbGVIUXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXpkSEpwYm1jdGFIUnRiQzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM04wY21sdVp5MXdZV1F1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl6ZEhKcGJtY3RjbVZ3WldGMExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmMzUnlhVzVuTFhSeWFXMHVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXpkSEpwYm1jdGQzTXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOTBZWE5yTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmZEc4dFlXSnpiMngxZEdVdGFXNWtaWGd1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTkwYnkxcGJtUmxlQzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM1J2TFdsdWRHVm5aWEl1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTkwYnkxcGIySnFaV04wTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmZEc4dGJHVnVaM1JvTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmZEc4dGIySnFaV04wTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmZEc4dGNISnBiV2wwYVhabExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmRIbHdaV1F0WVhKeVlYa3Vhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOTBlWEJsWkMxaWRXWm1aWEl1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTkwZVhCbFpDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgzVnBaQzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM1Z6WlhJdFlXZGxiblF1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTkyWVd4cFpHRjBaUzFqYjJ4c1pXTjBhVzl1TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmZDJ0ekxXUmxabWx1WlM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDNkcmN5MWxlSFF1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTkzYTNNdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJOdmNtVXVaMlYwTFdsMFpYSmhkRzl5TFcxbGRHaHZaQzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZZMjl5WlM1eVpXZGxlSEF1WlhOallYQmxMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1WVhKeVlYa3VZMjl3ZVMxM2FYUm9hVzR1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1aGNuSmhlUzVsZG1WeWVTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbUZ5Y21GNUxtWnBiR3d1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1aGNuSmhlUzVtYVd4MFpYSXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTVoY25KaGVTNW1hVzVrTFdsdVpHVjRMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1WVhKeVlYa3VabWx1WkM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtRnljbUY1TG1admNpMWxZV05vTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdVlYSnlZWGt1Wm5KdmJTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbUZ5Y21GNUxtbHVaR1Y0TFc5bUxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6WXVZWEp5WVhrdWFYTXRZWEp5WVhrdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNWhjbkpoZVM1cGRHVnlZWFJ2Y2k1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtRnljbUY1TG1wdmFXNHVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTVoY25KaGVTNXNZWE4wTFdsdVpHVjRMVzltTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdVlYSnlZWGt1YldGd0xtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6WXVZWEp5WVhrdWIyWXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTVoY25KaGVTNXlaV1IxWTJVdGNtbG5hSFF1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1aGNuSmhlUzV5WldSMVkyVXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTVoY25KaGVTNXpiR2xqWlM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtRnljbUY1TG5OdmJXVXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTVoY25KaGVTNXpiM0owTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdVlYSnlZWGt1YzNCbFkybGxjeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG1SaGRHVXVibTkzTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdVpHRjBaUzUwYnkxcGMyOHRjM1J5YVc1bkxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6WXVaR0YwWlM1MGJ5MXFjMjl1TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdVpHRjBaUzUwYnkxd2NtbHRhWFJwZG1VdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNWtZWFJsTG5SdkxYTjBjbWx1Wnk1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtWjFibU4wYVc5dUxtSnBibVF1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1bWRXNWpkR2x2Ymk1b1lYTXRhVzV6ZEdGdVkyVXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTVtZFc1amRHbHZiaTV1WVcxbExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6WXViV0Z3TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWJXRjBhQzVoWTI5emFDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTFoZEdndVlYTnBibWd1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dFlYUm9MbUYwWVc1b0xtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6WXViV0YwYUM1alluSjBMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1YldGMGFDNWpiSG96TWk1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtMWhkR2d1WTI5emFDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTFoZEdndVpYaHdiVEV1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dFlYUm9MbVp5YjNWdVpDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTFoZEdndWFIbHdiM1F1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dFlYUm9MbWx0ZFd3dWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXRZWFJvTG14dlp6RXdMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1YldGMGFDNXNiMmN4Y0M1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtMWhkR2d1Ykc5bk1pNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTFoZEdndWMybG5iaTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG0xaGRHZ3VjMmx1YUM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtMWhkR2d1ZEdGdWFDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTFoZEdndWRISjFibU11YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dWRXMWlaWEl1WTI5dWMzUnlkV04wYjNJdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXVkVzFpWlhJdVpYQnphV3h2Ymk1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtNTFiV0psY2k1cGN5MW1hVzVwZEdVdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXVkVzFpWlhJdWFYTXRhVzUwWldkbGNpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTUxYldKbGNpNXBjeTF1WVc0dWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXVkVzFpWlhJdWFYTXRjMkZtWlMxcGJuUmxaMlZ5TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWJuVnRZbVZ5TG0xaGVDMXpZV1psTFdsdWRHVm5aWEl1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dWRXMWlaWEl1YldsdUxYTmhabVV0YVc1MFpXZGxjaTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG01MWJXSmxjaTV3WVhKelpTMW1iRzloZEM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtNTFiV0psY2k1d1lYSnpaUzFwYm5RdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXVkVzFpWlhJdWRHOHRabWw0WldRdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXVkVzFpWlhJdWRHOHRjSEpsWTJsemFXOXVMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1YjJKcVpXTjBMbUZ6YzJsbmJpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTlpYW1WamRDNWpjbVZoZEdVdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXZZbXBsWTNRdVpHVm1hVzVsTFhCeWIzQmxjblJwWlhNdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXZZbXBsWTNRdVpHVm1hVzVsTFhCeWIzQmxjblI1TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWIySnFaV04wTG1aeVpXVjZaUzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG05aWFtVmpkQzVuWlhRdGIzZHVMWEJ5YjNCbGNuUjVMV1JsYzJOeWFYQjBiM0l1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dlltcGxZM1F1WjJWMExXOTNiaTF3Y205d1pYSjBlUzF1WVcxbGN5NXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTlpYW1WamRDNW5aWFF0Y0hKdmRHOTBlWEJsTFc5bUxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6WXViMkpxWldOMExtbHpMV1Y0ZEdWdWMybGliR1V1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dlltcGxZM1F1YVhNdFpuSnZlbVZ1TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWIySnFaV04wTG1sekxYTmxZV3hsWkM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtOWlhbVZqZEM1cGN5NXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTlpYW1WamRDNXJaWGx6TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWIySnFaV04wTG5CeVpYWmxiblF0WlhoMFpXNXphVzl1Y3k1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxtOWlhbVZqZEM1elpXRnNMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1YjJKcVpXTjBMbk5sZEMxd2NtOTBiM1I1Y0dVdGIyWXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV2WW1wbFkzUXVkRzh0YzNSeWFXNW5MbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1Y0dGeWMyVXRabXh2WVhRdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXdZWEp6WlMxcGJuUXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV3Y205dGFYTmxMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1Y21WbWJHVmpkQzVoY0hCc2VTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbkpsWm14bFkzUXVZMjl1YzNSeWRXTjBMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1Y21WbWJHVmpkQzVrWldacGJtVXRjSEp2Y0dWeWRIa3Vhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV5Wldac1pXTjBMbVJsYkdWMFpTMXdjbTl3WlhKMGVTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbkpsWm14bFkzUXVaVzUxYldWeVlYUmxMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1Y21WbWJHVmpkQzVuWlhRdGIzZHVMWEJ5YjNCbGNuUjVMV1JsYzJOeWFYQjBiM0l1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1eVpXWnNaV04wTG1kbGRDMXdjbTkwYjNSNWNHVXRiMll1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1eVpXWnNaV04wTG1kbGRDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbkpsWm14bFkzUXVhR0Z6TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWNtVm1iR1ZqZEM1cGN5MWxlSFJsYm5OcFlteGxMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1Y21WbWJHVmpkQzV2ZDI0dGEyVjVjeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG5KbFpteGxZM1F1Y0hKbGRtVnVkQzFsZUhSbGJuTnBiMjV6TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWNtVm1iR1ZqZEM1elpYUXRjSEp2ZEc5MGVYQmxMVzltTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWNtVm1iR1ZqZEM1elpYUXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV5WldkbGVIQXVZMjl1YzNSeWRXTjBiM0l1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1eVpXZGxlSEF1WlhobFl5NXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbkpsWjJWNGNDNW1iR0ZuY3k1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxuSmxaMlY0Y0M1dFlYUmphQzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG5KbFoyVjRjQzV5WlhCc1lXTmxMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1Y21WblpYaHdMbk5sWVhKamFDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbkpsWjJWNGNDNXpjR3hwZEM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxuSmxaMlY0Y0M1MGJ5MXpkSEpwYm1jdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXpaWFF1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1emRISnBibWN1WVc1amFHOXlMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1YzNSeWFXNW5MbUpwWnk1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxuTjBjbWx1Wnk1aWJHbHVheTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG5OMGNtbHVaeTVpYjJ4a0xtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6WXVjM1J5YVc1bkxtTnZaR1V0Y0c5cGJuUXRZWFF1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1emRISnBibWN1Wlc1a2N5MTNhWFJvTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWMzUnlhVzVuTG1acGVHVmtMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1YzNSeWFXNW5MbVp2Ym5SamIyeHZjaTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG5OMGNtbHVaeTVtYjI1MGMybDZaUzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG5OMGNtbHVaeTVtY205dExXTnZaR1V0Y0c5cGJuUXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV6ZEhKcGJtY3VhVzVqYkhWa1pYTXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV6ZEhKcGJtY3VhWFJoYkdsamN5NXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbk4wY21sdVp5NXBkR1Z5WVhSdmNpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbk4wY21sdVp5NXNhVzVyTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWMzUnlhVzVuTG5KaGR5NXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbk4wY21sdVp5NXlaWEJsWVhRdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXpkSEpwYm1jdWMyMWhiR3d1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1emRISnBibWN1YzNSaGNuUnpMWGRwZEdndWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXpkSEpwYm1jdWMzUnlhV3RsTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pZdWMzUnlhVzVuTG5OMVlpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbk4wY21sdVp5NXpkWEF1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1emRISnBibWN1ZEhKcGJTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbk41YldKdmJDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMblI1Y0dWa0xtRnljbUY1TFdKMVptWmxjaTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG5SNWNHVmtMbVJoZEdFdGRtbGxkeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG5SNWNHVmtMbVpzYjJGME16SXRZWEp5WVhrdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNTBlWEJsWkM1bWJHOWhkRFkwTFdGeWNtRjVMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1ZEhsd1pXUXVhVzUwTVRZdFlYSnlZWGt1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1MGVYQmxaQzVwYm5Rek1pMWhjbkpoZVM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxuUjVjR1ZrTG1sdWREZ3RZWEp5WVhrdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNTBlWEJsWkM1MWFXNTBNVFl0WVhKeVlYa3Vhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTUwZVhCbFpDNTFhVzUwTXpJdFlYSnlZWGt1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1MGVYQmxaQzUxYVc1ME9DMWhjbkpoZVM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxuUjVjR1ZrTG5WcGJuUTRMV05zWVcxd1pXUXRZWEp5WVhrdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNTNaV0ZyTFcxaGNDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbmRsWVdzdGMyVjBMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjemN1WVhKeVlYa3VabXhoZEMxdFlYQXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOeTVoY25KaGVTNW1iR0YwZEdWdUxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6Y3VZWEp5WVhrdWFXNWpiSFZrWlhNdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek55NWhjMkZ3TG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pjdVpYSnliM0l1YVhNdFpYSnliM0l1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tnk1bmJHOWlZV3d1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tnk1dFlYQXVabkp2YlM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xtMWhjQzV2Wmk1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xtMWhjQzUwYnkxcWMyOXVMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjemN1YldGMGFDNWpiR0Z0Y0M1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xtMWhkR2d1WkdWbkxYQmxjaTF5WVdRdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek55NXRZWFJvTG1SbFozSmxaWE11YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tnk1dFlYUm9MbVp6WTJGc1pTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTNMbTFoZEdndWFXRmtaR2d1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tnk1dFlYUm9MbWx0ZFd4b0xtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6Y3ViV0YwYUM1cGMzVmlhQzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0zTG0xaGRHZ3VjbUZrTFhCbGNpMWtaV2N1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tnk1dFlYUm9MbkpoWkdsaGJuTXVhbk1pTENKdWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOeTV0WVhSb0xuTmpZV3hsTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pjdWJXRjBhQzV6YVdkdVltbDBMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjemN1YldGMGFDNTFiWFZzYUM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xtOWlhbVZqZEM1a1pXWnBibVV0WjJWMGRHVnlMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjemN1YjJKcVpXTjBMbVJsWm1sdVpTMXpaWFIwWlhJdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek55NXZZbXBsWTNRdVpXNTBjbWxsY3k1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xtOWlhbVZqZEM1blpYUXRiM2R1TFhCeWIzQmxjblI1TFdSbGMyTnlhWEIwYjNKekxtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6Y3ViMkpxWldOMExteHZiMnQxY0MxblpYUjBaWEl1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tnk1dlltcGxZM1F1Ykc5dmEzVndMWE5sZEhSbGNpNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTNMbTlpYW1WamRDNTJZV3gxWlhNdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek55NXZZbk5sY25aaFlteGxMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjemN1Y0hKdmJXbHpaUzVtYVc1aGJHeDVMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjemN1Y0hKdmJXbHpaUzUwY25rdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek55NXlaV1pzWldOMExtUmxabWx1WlMxdFpYUmhaR0YwWVM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xuSmxabXhsWTNRdVpHVnNaWFJsTFcxbGRHRmtZWFJoTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pjdWNtVm1iR1ZqZEM1blpYUXRiV1YwWVdSaGRHRXRhMlY1Y3k1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xuSmxabXhsWTNRdVoyVjBMVzFsZEdGa1lYUmhMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjemN1Y21WbWJHVmpkQzVuWlhRdGIzZHVMVzFsZEdGa1lYUmhMV3RsZVhNdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek55NXlaV1pzWldOMExtZGxkQzF2ZDI0dGJXVjBZV1JoZEdFdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek55NXlaV1pzWldOMExtaGhjeTF0WlhSaFpHRjBZUzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0zTG5KbFpteGxZM1F1YUdGekxXOTNiaTF0WlhSaFpHRjBZUzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0zTG5KbFpteGxZM1F1YldWMFlXUmhkR0V1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tnk1elpYUXVabkp2YlM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xuTmxkQzV2Wmk1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xuTmxkQzUwYnkxcWMyOXVMbXB6SWl3aWJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjemN1YzNSeWFXNW5MbUYwTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pjdWMzUnlhVzVuTG0xaGRHTm9MV0ZzYkM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xuTjBjbWx1Wnk1d1lXUXRaVzVrTG1weklpd2libTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlsY3pjdWMzUnlhVzVuTG5CaFpDMXpkR0Z5ZEM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xuTjBjbWx1Wnk1MGNtbHRMV3hsWm5RdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek55NXpkSEpwYm1jdWRISnBiUzF5YVdkb2RDNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTNMbk41YldKdmJDNWhjM2x1WXkxcGRHVnlZWFJ2Y2k1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xuTjViV0p2YkM1dlluTmxjblpoWW14bExtcHpJaXdpYm05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6Y3VjM2x6ZEdWdExtZHNiMkpoYkM1cWN5SXNJbTV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNM0xuZGxZV3N0YldGd0xtWnliMjB1YW5NaUxDSnViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tnk1M1pXRnJMVzFoY0M1dlppNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTNMbmRsWVdzdGMyVjBMbVp5YjIwdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek55NTNaV0ZyTFhObGRDNXZaaTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZkMlZpTG1SdmJTNXBkR1Z5WVdKc1pTNXFjeUlzSW01dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdmQyVmlMbWx0YldWa2FXRjBaUzVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZkMlZpTG5ScGJXVnljeTVxY3lJc0ltNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMM05vYVcwdWFuTWlMQ0p1YjJSbFgyMXZaSFZzWlhNdmNtVm5aVzVsY21GMGIzSXRjblZ1ZEdsdFpTOXlkVzUwYVcxbExtcHpJaXdpYzNKakwxTjBlV3hsUldScGRETXZhbUYyWVhOamNtbHdkQzloY0drdlFtOXBiR1Z5Y0d4aGRHVkJjR2t1YW5NaUxDSnpjbU12VTNSNWJHVkZaR2wwTXk5cVlYWmhjMk55YVhCMEwyRndhUzlEWVdOb1pVRndhUzVxY3lJc0luTnlZeTlUZEhsc1pVVmthWFF6TDJwaGRtRnpZM0pwY0hRdllYQnBMME52Ym1acFowRndhUzVxY3lJc0luTnlZeTlUZEhsc1pVVmthWFF6TDJwaGRtRnpZM0pwY0hRdllYQnBMMGx0WVdkbFFYQnBMbXB6SWl3aWMzSmpMMU4wZVd4bFJXUnBkRE12YW1GMllYTmpjbWx3ZEM5aGNHa3ZUR0Z1WjNWaFoyVkJjR2t1YW5NaUxDSnpjbU12VTNSNWJHVkZaR2wwTXk5cVlYWmhjMk55YVhCMEwyRndhUzlUZEhsc1pVRndhUzVxY3lJc0luTnlZeTlUZEhsc1pVVmthWFF6TDJwaGRtRnpZM0pwY0hRdllYQnBMMVZ6WlhKQmNHa3Vhbk1pTENKemNtTXZVM1I1YkdWRlpHbDBNeTlxWVhaaGMyTnlhWEIwTDJOdmJuUnliMnhzWlhKekwwTnlaV0YwWlZOMGVXeGxUVzlrWVd3dWFuTWlMQ0p6Y21NdlUzUjViR1ZGWkdsME15OXFZWFpoYzJOeWFYQjBMMk52Ym5SeWIyeHNaWEp6TDBOMWMzUnZiVk4wZVd4bGMwMXZaR0ZzTG1weklpd2ljM0pqTDFOMGVXeGxSV1JwZERNdmFtRjJZWE5qY21sd2RDOWpiMjUwY205c2JHVnljeTlFZFhCc2FXTmhkR1ZUZEhsc1pVMXZaR0ZzTG1weklpd2ljM0pqTDFOMGVXeGxSV1JwZERNdmFtRjJZWE5qY21sd2RDOWpiMjUwY205c2JHVnljeTlGWkdsMFUzUjViR1ZXYVdWM0xtcHpJaXdpYzNKakwxTjBlV3hsUldScGRETXZhbUYyWVhOamNtbHdkQzlqYjI1MGNtOXNiR1Z5Y3k5TmVWTjBlV3hsYzFacFpYY3Vhbk1pTENKemNtTXZVM1I1YkdWRlpHbDBNeTlxWVhaaGMyTnlhWEIwTDJOdmJuUnliMnhzWlhKekwxQnlaWFpwWlhkSmJXRm5aVTF2WkdGc0xtcHpJaXdpYzNKakwxTjBlV3hsUldScGRETXZhbUYyWVhOamNtbHdkQzlqYjI1MGNtOXNiR1Z5Y3k5VmNHeHZZV1JKYldGblpVMXZaR0ZzTG1weklpd2ljM0pqTDFOMGVXeGxSV1JwZERNdmFtRjJZWE5qY21sd2RDOWpiMjUwY205c2JHVnljeTlWY0d4dllXUlRkSGxzWlUxdlpHRnNMbXB6SWl3aWMzSmpMMU4wZVd4bFJXUnBkRE12YW1GMllYTmpjbWx3ZEM5bGJuUnBkR2xsY3k5Q2IzaFRaWFIwYVc1bkxtcHpJaXdpYzNKakwxTjBlV3hsUldScGRETXZhbUYyWVhOamNtbHdkQzlsYm5ScGRHbGxjeTlEYjJ4c1pXTjBhVzl1TG1weklpd2ljM0pqTDFOMGVXeGxSV1JwZERNdmFtRjJZWE5qY21sd2RDOWxiblJwZEdsbGN5OVFjbVYyYVdWM1ZIbHdaUzVxY3lJc0luTnlZeTlUZEhsc1pVVmthWFF6TDJwaGRtRnpZM0pwY0hRdlpXNTBhWFJwWlhNdlUyVjBkR2x1Wnk1cWN5SXNJbk55WXk5VGRIbHNaVVZrYVhRekwycGhkbUZ6WTNKcGNIUXZaVzUwYVhScFpYTXZVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVMbXB6SWl3aWMzSmpMMU4wZVd4bFJXUnBkRE12YW1GMllYTmpjbWx3ZEM5c2FXSnpMMEZpYjNWMExtcHpJaXdpYzNKakwxTjBlV3hsUldScGRETXZhbUYyWVhOamNtbHdkQzlzYVdKekwwRnFZWGd1YW5NaUxDSnpjbU12VTNSNWJHVkZaR2wwTXk5cVlYWmhjMk55YVhCMEwyeHBZbk12UTI5dVptbG5MbXB6SWl3aWMzSmpMMU4wZVd4bFJXUnBkRE12YW1GMllYTmpjbWx3ZEM5c2FXSnpMMFJsWW5WbkxtcHpJaXdpYzNKakwxTjBlV3hsUldScGRETXZhbUYyWVhOamNtbHdkQzlzYVdKekwwVnVkbWx5YjI1dFpXNTBMbXB6SWl3aWMzSmpMMU4wZVd4bFJXUnBkRE12YW1GMllYTmpjbWx3ZEM5c2FXSnpMMFYyWlc1MGMwVnRhWFIwWlhJdWFuTWlMQ0p6Y21NdlUzUjViR1ZGWkdsME15OXFZWFpoYzJOeWFYQjBMMnhwWW5NdlNuTnZibEJoY25ObGNpNXFjeUlzSW5OeVl5OVRkSGxzWlVWa2FYUXpMMnBoZG1GelkzSnBjSFF2YkdsaWN5OU1ZVzVuZFdGblpTNXFjeUlzSW5OeVl5OVRkSGxzWlVWa2FYUXpMMnBoZG1GelkzSnBjSFF2YkdsaWN5OU5iMlJoYkM1cWN5SXNJbk55WXk5VGRIbHNaVVZrYVhRekwycGhkbUZ6WTNKcGNIUXZiR2xpY3k5U2IzVjBaWEl1YW5NaUxDSnpjbU12VTNSNWJHVkZaR2wwTXk5cVlYWmhjMk55YVhCMEwyeHBZbk12VlhKc1VHRnljMlZ5TG1weklpd2ljM0pqTDFOMGVXeGxSV1JwZERNdmFtRjJZWE5qY21sd2RDOXNhV0p6TDFaaGJHbGtZWFJ2Y2k1cWN5SXNJbk55WXk5VGRIbHNaVVZrYVhRekwycGhkbUZ6WTNKcGNIUXZiR2xpY3k5WGFXUm5aWFJEYjI1MlpYSjBaWEl1YW5NaUxDSnpjbU12VTNSNWJHVkZaR2wwTXk5cVlYWmhjMk55YVhCMEwyMWhhVzR1YW5NaUxDSnpjbU12VTNSNWJHVkZaR2wwTXk5cVlYWmhjMk55YVhCMEwzZHBaR2RsZEhNdlFYQndSbkpoYldVdWFuTWlMQ0p6Y21NdlUzUjViR1ZGWkdsME15OXFZWFpoYzJOeWFYQjBMM2RwWkdkbGRITXZRMjlzYjNKd2FXTnJaWEl1YW5NaUxDSnpjbU12VTNSNWJHVkZaR2wwTXk5cVlYWmhjMk55YVhCMEwzZHBaR2RsZEhNdlJtbHNkR1Z5UW05NExtcHpJaXdpYzNKakwxTjBlV3hsUldScGRETXZhbUYyWVhOamNtbHdkQzkzYVdSblpYUnpMMFp5WVcxbFZHOW5aMnhsTG1weklpd2ljM0pqTDFOMGVXeGxSV1JwZERNdmFtRjJZWE5qY21sd2RDOTNhV1JuWlhSekwwbHRZV2RsTG1weklpd2ljM0pqTDFOMGVXeGxSV1JwZERNdmFtRjJZWE5qY21sd2RDOTNhV1JuWlhSekwxQnlaWFpwWlhkU1pYTnBlbVZ5TG1weklpd2ljM0pqTDFOMGVXeGxSV1JwZERNdmFtRjJZWE5qY21sd2RDOTNhV1JuWlhSekwxTmxiR1ZqZEVKdmVDNXFjeUlzSW5OeVl5OVRkSGxzWlVWa2FYUXpMMnBoZG1GelkzSnBjSFF2ZDJsa1oyVjBjeTlUZEhsc1pWVndiRzloWkM1cWN5SXNJbk55WXk5VGRIbHNaVVZrYVhRekwycGhkbUZ6WTNKcGNIUXZkMmxrWjJWMGN5OVRkMmwwWTJndWFuTWlMQ0p6Y21NdlUzUjViR1ZGWkdsME15OXFZWFpoYzJOeWFYQjBMM2RwWkdkbGRITXZWR1Z0Y0d4aGRHVlFjbVYyYVdWM0xtcHpJaXdpYzNKakwxTjBlV3hsUldScGRETXZhbUYyWVhOamNtbHdkQzkzYVdSblpYUnpMMVJsZUhSQ2IzZ3Vhbk1pTENKemNtTXZVM1I1YkdWRlpHbDBNeTlxWVhaaGMyTnlhWEIwTDNkcFpHZGxkSE12VkdsMGJHVXVhbk1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN08wRkRRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3pzN1FVTXpRa0U3UVVGRFFUdEJRVU5CT3p0QlEwWkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFNrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMHhCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFVFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExSkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5NUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFRFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlF6RkNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTm1RVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFCQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTjJRa0U3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRelZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUXpWQ1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMmhDUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5PUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEzcENRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEZGtKQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTk1RVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOb1NrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVkVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU55UmtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU55UmtFN1FVRkRRVHRCUVVOQk96dEJRMFpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5TUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRjRUpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU14UWtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRWRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTB4Qk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEU2tFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlFRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEwcEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEyWkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZETTBOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExcEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVUVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEYUVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEWWtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGRrTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEZWtKQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTA1Qk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEU2tFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFKQk8wRkJRMEU3UVVGRFFUczdRVU5HUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOSVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5VUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEyaENRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTk9RVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRVa0U3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTB4Qk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTA1Qk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEwaEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5hUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMkpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRM0pGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRM1JDUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOSVFUdEJRVU5CT3p0QlEwUkJPMEZCUTBFN08wRkRSRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5XUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGRrSkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFNrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEYkVKQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTk1RVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRja1JCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMjVFUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU55UlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRiRUpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGJFTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU42UTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTm9Ra0U3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTmlRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOVVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMmhDUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTI1Q1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMUJCTzBGQlEwRTdPMEZEUkVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5pUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEYWtKQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRVRUU3UVVGRFFUczdRVU5FUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFaQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRhRUpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVmtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFKQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMVJCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFVFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRXa0U3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMUpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOTVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUXk5Q1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTnlRa0U3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTXhSRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMUpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOTVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlF6VkNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5hUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEzcENRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEySkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVUVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEweEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMXBCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExUkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFSQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOcVFrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExSkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRia0pCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGFFSkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMXBCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUXpsQ1FUdEJRVU5CTzBGQlEwRTdPMEZEUmtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGNFWkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVUVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOV1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOT1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOT1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOT1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRURUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEV2tFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGFHVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEzQlNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRelZDUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFRFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOS1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRURUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFZFRTdRVUZEUVRzN1FVTkVRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFdFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExSkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5NUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5PUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFaQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTA1Qk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFZrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMlJCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOa1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEV0VFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOeVEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFprRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOS1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMnhEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOYVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTNSQ1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExWkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRia0pCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVmtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOV1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlF6VkNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMVpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOMlFrRTdRVUZEUVRzN1FVTkVRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEwcEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTJoQ1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTBwQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExcEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFNrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOaVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMmhDUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTI1Q1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5zUWtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOV1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExWkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFSQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOU1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5VUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFRFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOS1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRM3BDUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEYWtKQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOU1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTBwQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOU1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTBwQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTJaQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExcEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTnlSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTktRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOVVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTBwQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMVJCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVmtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5LUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMHBCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRTa0U3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTktRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTnNTRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGJFSkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFNrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRTRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEU0VFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFNFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVkVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRWRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTktRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOVVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFVrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExSkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5JUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlVRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOVVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5VUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOSVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExWkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFNrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOS1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRemxTUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEyaENRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGREwwTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU4yUWtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMWhCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU14UWtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOV1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExWkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRM0pDUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVWtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMWhCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRTa0U3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOb1FrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFprRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGFrTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZETTBOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMVJCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOTVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTNoRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEzUklRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlF5OUNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTndTVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVONlFrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMlJCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFVFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5RUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExQkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVUVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRWRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEzQkNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFCQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRVRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOUVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRka0pCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFwQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRVRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMnBDUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExQkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTJ4Q1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOT1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMUJCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEyeENRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTFCQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRVRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOUVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMUJCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlF6RlBRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRemxEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMHBCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOTVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRURUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTB4Qk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTk1RVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVEVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEweEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5NUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFRFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMHhCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVNelJFRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMlJCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRkRUpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTNKQ1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTmFRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5hUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlVRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEwcEJPMEZCUTBFN1FVRkRRVHM3UVVOR1FUdEJRVU5CTzBGQlEwRTdPMEZEUmtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5LUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVWtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5LUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlVRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMVpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTllRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTJoQ1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEV0VFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5LUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlVRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEwcEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVUVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTm9Ra0U3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEV2tFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFdrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEVkVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU4wUWtFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRiRUpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEyeENRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOVVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlEzWk5RVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGNFSkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMXBCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5TUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5tUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUTI1Q1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRGFrSkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlNRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOVVFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMmhDUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTlVRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTm1RVHRCUVVOQk8wRkJRMEU3TzBGRFJrRTdRVUZEUVR0QlFVTkJPenRCUTBaQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEU2tFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVOV1FUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVTTVRa0U3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZEV2tFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGRFdrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5RUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlExQkJPMEZCUTBFN08wRkRSRUU3UVVGRFFUczdRVU5FUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRMHBCTzBGQlEwRTdRVUZEUVRzN1FVTkdRVHRCUVVOQk8wRkJRMEU3TzBGRFJrRTdRVUZEUVR0QlFVTkJPenRCUTBaQk8wRkJRMEU3UVVGRFFUczdRVU5HUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRekZFUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVU5PUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkRjRUpCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVTjBUVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3T3p0QlEyaDFRa0U3T3pzN096czdPenRCUVZWQk96czdPenM3UVVGRlFUczdPenM3TzJ0Q1FVVmxPMEZCUTJRN096czdPenM3UVVGUFFTeExRVkpqTEd0Q1FWRlFPMEZCUTA0c1RVRkJUU3hWUVVGVkxGVkJRVlVzVFVGQlZpeERRVUZwUWl4SFFVRnFRaXhEUVVGeFFpeFRRVUZ5UWl4SlFVRnJReXh4UWtGQmJFTXNSMEZEWWl4dFFrRkJiVUlzVlVGQlZTeE5RVUZXTEVOQlFXbENMRWRCUVdwQ0xFTkJRWEZDTEZWQlFYSkNMRU5CUVc1Q0xFTkJSR0VzUjBGRE1FTXNjVUpCUkRGRExFZEJSV0lzVlVGQlZTeE5RVUZXTEVOQlFXbENMRWRCUVdwQ0xFTkJRWEZDTEdOQlFYSkNMRU5CUmtnN08wRkJTVUVzVTBGQlR5eGxRVUZMTEVkQlFVd3NRMEZCVXl4UFFVRlVMRVZCUVd0Q08wRkJRM2hDTEZOQlFVMHNWVUZCVlN4TlFVRldMRU5CUVdsQ0xFZEJRV3BDTEVOQlFYRkNMR05CUVhKQ0xFTkJSR3RDTzBGQlJYaENMRlZCUVU4c1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xFOUJRWEpDTEV0QlFXbERPMEZCUm1oQ0xFZEJRV3hDTEVWQlIwb3NSVUZCUXl4VlFVRlZMRTFCUVZnc1JVRklTU3hEUVVGUU8wRkJTVUU3UVVGcVFtRXNRenM3TzBGRFpHWTdPenM3T3pzN096dEJRVlZCT3pzN096czdRVUZGUVRzN096czdPMnRDUVVWbE8wRkJRMlE3T3pzN096czdPenRCUVZOQkxFMUJWbU1zYVVKQlZWSXNWVUZXVVN4RlFWVkpMRk5CVmtvc1JVRlZaVHRCUVVNMVFpeFpRVUZWTEZOQlFWWXNRMEZCYjBJc1VVRkJjRUlzUTBGQk5rSXNWVUZCTjBJN08wRkJSVUU3UVVGRFFTeE5RVUZKTEZkQlFWY3NUMEZCV0N4RFFVRnRRaXhIUVVGdVFpeE5RVUUwUWl4RFFVRkRMRU5CUVdwRExFVkJRVzlETzBGQlEyNURMR2RDUVVGaExGZEJRVmNzVDBGQldDeERRVUZ0UWl4TlFVRnVRaXhGUVVFeVFpeG5Ra0ZCTTBJc1EwRkJZanRCUVVOQkxFZEJSa1FzVFVGRlR6dEJRVU5PTEdsQ1FVRmpMR2RDUVVGa08wRkJRMEU3TzBGQlJVUXNUVUZCU1N4alFVRmpMRk5CUVd4Q0xFVkJRVFpDTzBGQlF6VkNMR0ZCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhUUVVFM1FqdEJRVU5CTEdsQ1FVRmpMR2xDUVVGcFFpeHRRa0ZCYlVJc1UwRkJia0lzUTBGQkwwSTdRVUZEUVRzN1FVRkZSQ3hUUVVGUExHVkJRVXNzUjBGQlRDeERRVUZUTEZWQlFWUXNRMEZCVUR0QlFVTkJPMEZCTVVKaExFTTdPenRCUTJSbU96czdPenM3T3pzN1FVRlZRVHM3T3pzN08wRkJSVUU3T3pzN096dHJRa0ZGWlR0QlFVTmtPenM3T3pzN096dEJRVkZCTEVsQlZHTXNhVUpCVTFJN1FVRkRUQ3hOUVVGTkxGVkJRVlVzVlVGQlZTeE5RVUZXTEVOQlFXbENMRWRCUVdwQ0xFTkJRWEZDTEZOQlFYSkNMRWxCUVd0RExIRkNRVUZzUXl4SFFVRXdSQ3hWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzVlVGQmNrSXNRMEZCTVVRc1IwRkRZaXhUUVVSSU96dEJRVWRCTEZOQlFVOHNaVUZCU3l4SFFVRk1MRU5CUVZNc1QwRkJWQ3hGUVVGclFpeEZRVUZETEU5QlFVOHNWVUZCVlN4TlFVRldMRU5CUVdsQ0xFZEJRV3BDTEVOQlFYRkNMRTlCUVhKQ0xFdEJRV2xETEZOQlFYcERMRVZCUVd4Q0xFVkJRWFZGTEVWQlFVTXNWVUZCVlN4TlFVRllMRVZCUVhaRkxFTkJRVkE3UVVGRFFUdEJRV1JoTEVNN096dEJRMlJtT3pzN096czdPenM3UVVGVlFUczdPenM3TzBGQlJVRTdPenM3T3p0clFrRkZaVHRCUVVOa096czdPenM3TzBGQlQwRXNUMEZTWXl4clFrRlJVQ3hWUVZKUExFVkJVVXM3UVVGRGJFSXNXVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRlZCUVRkQ096dEJRVVZCTEUxQlFVMHNVVUZCVVN4WFFVRlhMRWRCUVZnc1EwRkJaU3hEUVVGbUxFVkJRV3RDTEV0QlFXaERPenRCUVVWQkxFMUJRVWtzVFVGQlRTeE5RVUZPTEV0QlFXbENMRU5CUVhKQ0xFVkJRWGRDTzBGQlEzWkNMRk5CUVUwc1NVRkJTU3hMUVVGS0xFTkJRVlVzTWtOQlFWWXNRMEZCVGp0QlFVTkJPenRCUVVWRUxFMUJRVTBzVlVGQlZTeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNVMEZCY2tJc1NVRkJhME1zY1VKQlFXeERMRWRCUVRCRUxGVkJRVlVzVFVGQlZpeERRVUZwUWl4SFFVRnFRaXhEUVVGeFFpeFZRVUZ5UWl4RFFVRXhSQ3hIUVVOaUxGTkJSR0VzU1VGRFFTeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNUMEZCY2tJc1NVRkJaME1zVVVGQmFFTXNSMEZCTWtNc1JVRkVNME1zUTBGQmFFSTdPMEZCUjBFc1lVRkJWeXhWUVVGWUxFTkJRWE5DTzBGQlEzSkNMRkZCUVVzc1QwRkVaMEk3UVVGRmNrSXNZVUZCVlN4TlFVWlhPMEZCUjNKQ0xHVkJRVmtzUzBGSVV6dEJRVWx5UWl4dlFrRkJhVUk3UVVGS1NTeEhRVUYwUWpzN1FVRlBRU3hUUVVGUExGZEJRVmNzVlVGQldDeERRVUZ6UWl4TlFVRjBRaXhGUVVFNFFpeEZRVUZETEU5QlFVOHNTMEZCVWl4RlFVRTVRaXhEUVVGUU8wRkJRMEVzUlVFMVFtRTdPenRCUVRoQ1pEczdPenM3T3p0QlFVOUJMRTlCY2tOakxHMUNRWEZEVUN4UlFYSkRUeXhGUVhGRFJ6dEJRVU5vUWl4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1VVRkJOMEk3TzBGQlJVRXNUVUZCVFN4VlFVRlZMRlZCUVZVc1RVRkJWaXhEUVVGcFFpeEhRVUZxUWl4RFFVRnhRaXhUUVVGeVFpeEpRVUZyUXl4eFFrRkJiRU1zUjBGQk1FUXNWVUZCVlN4TlFVRldMRU5CUVdsQ0xFZEJRV3BDTEVOQlFYRkNMRlZCUVhKQ0xFTkJRVEZFTEVkQlEySXNWVUZFWVN4SFFVTkJMRzFDUVVGdFFpeFJRVUZ1UWl4RFFVUm9RanM3UVVGSFFTeFRRVUZQTEdWQlFVc3NUVUZCVEN4RFFVRlpMRTlCUVZvc1JVRkJjVUlzUlVGQlF5eFBRVUZQTEZWQlFWVXNUVUZCVml4RFFVRnBRaXhIUVVGcVFpeERRVUZ4UWl4UFFVRnlRaXhMUVVGcFF5eFRRVUY2UXl4RlFVRnlRaXhEUVVGUU8wRkJRMEU3UVVFMVEyRXNRenM3TzBGRFpHWTdPenM3T3pzN096dEJRVlZCT3pzN096czdRVUZGUVRzN096czdPMnRDUVVWbE8wRkJRMlE3T3pzN096czdPenRCUVZOQkxHZENRVlpqTERKQ1FWVkZMRmxCVmtZc1JVRlZaMEk3UVVGRE4wSXNXVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRmxCUVRkQ08wRkJRMEVzVFVGQlRTeFZRVUZWTEZWQlFWVXNUVUZCVml4RFFVRnBRaXhIUVVGcVFpeERRVUZ4UWl4VFFVRnlRaXhKUVVGclF5eHhRa0ZCYkVNc1IwRkJNRVFzV1VGQk1VVTdRVUZEUVN4VFFVRlBMR1ZCUVVzc1IwRkJUQ3hEUVVGVExFOUJRVlFzUlVGQmEwSXNSVUZCUXl4UFFVRlBMRlZCUVZVc1RVRkJWaXhEUVVGcFFpeEhRVUZxUWl4RFFVRnhRaXhQUVVGeVFpeExRVUZwUXl4VFFVRjZReXhGUVVGc1FpeEZRVUYxUlN4RlFVRkRMRlZCUVZVc1RVRkJXQ3hGUVVGMlJTeERRVUZRTzBGQlEwRTdRVUZrWVN4RE96czdRVU5rWmpzN096czdPenM3TzBGQlZVRTdPenM3T3p0QlFVVkJPenM3TzBGQlEwRTdPenM3T3p0clFrRkZaVHRCUVVOa096czdPenM3TzBGQlQwRXNTVUZTWXl4bFFWRldMRk5CVWxVc1JVRlJRenRCUVVOa0xGbEJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeFRRVUUzUWpzN1FVRkZRU3hOUVVGTkxGVkJRVlVzVlVGQlZTeE5RVUZXTEVOQlFXbENMRWRCUVdwQ0xFTkJRWEZDTEZOQlFYSkNMRWxCUVd0RExIRkNRVUZzUXl4SFFVTm1MRzFDUVVGdFFpeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNWVUZCY2tJc1EwRkJia0lzUTBGRVpTeEhRVU4zUXl4VlFVUjRReXhIUVVWbUxHMUNRVUZ0UWl4VFFVRnVRaXhEUVVabExFZEJSV2xDTEZGQlJtcENMRWRCUjJZc2JVSkJRVzFDTEZWQlFWVXNUVUZCVml4RFFVRnBRaXhIUVVGcVFpeERRVUZ4UWl4alFVRnlRaXhEUVVGdVFpeERRVWhFT3p0QlFVdEJMRk5CUVU4c1pVRkJTeXhIUVVGTUxFTkJRVk1zVDBGQlZDeEZRVUZyUWl4RlFVRkRMRTlCUVU4c1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xFOUJRWEpDTEV0QlFXbERMRk5CUVhwRExFVkJRV3hDTEVWQlFYVkZMRVZCUVVNc1ZVRkJWU3hOUVVGWUxFVkJRWFpGTEVOQlFWQTdRVUZEUVN4RlFXcENZVHM3TzBGQmJVSmtPenM3T3p0QlFVdEJMRXRCZUVKakxHdENRWGRDVUR0QlFVTk9MRTFCUVUwc1ZVRkJWU3hWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzVTBGQmNrSXNTVUZCYTBNc2NVSkJRV3hETEVkQlEySXNiVUpCUVcxQ0xGVkJRVlVzVFVGQlZpeERRVUZwUWl4SFFVRnFRaXhEUVVGeFFpeFZRVUZ5UWl4RFFVRnVRaXhEUVVSaExFZEJRekJETEZOQlJERkRMRWRCUldJc1VVRkdZU3hIUVVWR0xHMUNRVUZ0UWl4VlFVRlZMRTFCUVZZc1EwRkJhVUlzUjBGQmFrSXNRMEZCY1VJc1kwRkJja0lzUTBGQmJrSXNRMEZHWkR0QlFVZEJMRk5CUVU4c1pVRkJTeXhIUVVGTUxFTkJRVk1zVDBGQlZDeEZRVUZyUWl4RlFVRkRMRTlCUVU4c1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xFOUJRWEpDTEV0QlFXbERMRk5CUVhwRExFVkJRV3hDTEVWQlFYVkZMRVZCUVVNc1ZVRkJWU3hOUVVGWUxFVkJRWFpGTEVOQlFWQTdRVUZEUVN4RlFUZENZVHM3TzBGQkswSmtPenM3T3pzN08wRkJUMEVzVTBGMFEyTXNiMEpCYzBOTUxGTkJkRU5MTEVWQmMwTk5PMEZCUTI1Q0xGbEJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeFRRVUUzUWpzN1FVRkZRU3hOUVVGTkxGVkJRVlVzVlVGQlZTeE5RVUZXTEVOQlFXbENMRWRCUVdwQ0xFTkJRWEZDTEZOQlFYSkNMRWxCUVd0RExIRkNRVUZzUXl4SFFVTmlMRzFDUVVGdFFpeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNWVUZCY2tJc1EwRkJia0lzUTBGRVlTeEhRVVZpTEZWQlJtRXNSMEZGUVN4dFFrRkJiVUlzVTBGQmJrSXNRMEZHUVN4SFFVVm5ReXh0UWtGR2FFUTdPMEZCU1VFc1UwRkJUeXhsUVVGTExFdEJRVXdzUTBGQlZ5eFBRVUZZTEVWQlFXOUNMRVZCUVVNc1QwRkJUeXhWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzVDBGQmNrSXNTMEZCYVVNc1UwRkJla01zUlVGQmNFSXNSVUZCZVVVc1JVRkJReXhWUVVGVkxFMUJRVmdzUlVGQmVrVXNRMEZCVUR0QlFVTkJMRVZCT1VOaE96czdRVUZuUkdRN096czdPenM3T3pzN1FVRlZRU3hQUVRGRVl5eHJRa0V3UkZBc1pVRXhSRThzUlVFd1JGVXNXVUV4UkZZc1JVRXdSSGRDTzBGQlEzSkRMRmxCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhsUVVFM1FqdEJRVU5CTEZsQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4WlFVRTNRanM3UVVGRlFTeE5RVUZOTEZWQlFWVXNWVUZCVlN4TlFVRldMRU5CUVdsQ0xFZEJRV3BDTEVOQlFYRkNMRk5CUVhKQ0xFbEJRV3RETEhGQ1FVRnNReXhIUVVOaUxHMUNRVUZ0UWl4VlFVRlZMRTFCUVZZc1EwRkJhVUlzUjBGQmFrSXNRMEZCY1VJc1ZVRkJja0lzUTBGQmJrSXNRMEZFWVN4SFFVTXdReXhUUVVReFJEdEJRVVZCTEUxQlFVMHNUMEZCVHp0QlFVTmFMSEZDUVVGclFpeGxRVVJPTzBGQlJWb3NiVUpCUVdkQ0xGbEJSa283UVVGSFdpeFZRVUZQTEZWQlFWVXNUVUZCVml4RFFVRnBRaXhIUVVGcVFpeERRVUZ4UWl4UFFVRnlRaXhMUVVGcFF6dEJRVWcxUWl4SFFVRmlPenRCUVUxQkxGTkJRVThzWlVGQlN5eEpRVUZNTEVOQlFWVXNUMEZCVml4RlFVRnRRaXhKUVVGdVFpeEZRVUY1UWl4RlFVRkRMRlZCUVZVc1RVRkJXQ3hGUVVGNlFpeERRVUZRTzBGQlEwRXNSVUYyUldFN096dEJRWGxGWkRzN096czdPenM3UVVGUlFTeExRV3BHWXl4blFrRnBSbFFzYTBKQmFrWlRMRVZCYVVaWExHRkJha1pZTEVWQmFVWXdRanRCUVVOMlF5eFpRVUZWTEZOQlFWWXNRMEZCYjBJc1VVRkJjRUlzUTBGQk5rSXNhMEpCUVRkQ096dEJRVVZCTEUxQlFVMHNXVUZCV1N4cFFrRkJhVUlzYlVKQlFXMUNMRTlCUVc1Q0xFVkJRVzVETzBGQlEwRXNUVUZCVFN4VlFVRlZMRlZCUVZVc1RVRkJWaXhEUVVGcFFpeEhRVUZxUWl4RFFVRnhRaXhUUVVGeVFpeEpRVUZyUXl4eFFrRkJiRU1zUjBGRFlpeHRRa0ZCYlVJc1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xGVkJRWEpDTEVOQlFXNUNMRU5CUkdFc1IwRkRNRU1zVlVGRU1VTXNSMEZGWWl4dFFrRkJiVUlzVTBGQmJrSXNRMEZHU0R0QlFVZEJMRTFCUVUwc1QwRkJUeXh4UWtGQlZ5eDNRa0ZCV0N4RFFVRnZReXhyUWtGQmNFTXNSVUZCZDBRc1MwRkJlRVFzUTBGQllqczdRVUZGUVN4TlFVRkpMR0ZCUVVvc1JVRkJiVUk3UVVGRGJFSXNVVUZCU3l4SlFVRk1MRWRCUVZrc1lVRkJXanRCUVVOQk96dEJRVVZFTEZOQlFVOHNaVUZCU3l4SFFVRk1MRU5CUVZNc1QwRkJWQ3hGUVVGclFpeEZRVUZETEZsQlFWa3NTMEZCU3l4VFFVRk1MRU5CUVdVc1NVRkJaaXhEUVVGaUxFVkJRVzFETEU5QlFVOHNWVUZCVlN4TlFVRldMRU5CUVdsQ0xFZEJRV3BDTEVOQlFYRkNMRTlCUVhKQ0xFdEJRV2xETEZOQlFUTkZMRVZCUVd4Q0xFVkJRWGxITEVWQlFVTXNWVUZCVlN4TlFVRllMRVZCUVhwSExFTkJRVkE3UVVGRFFTeEZRUzlHWVRzN08wRkJhVWRrT3pzN096czdPMEZCVDBFc1QwRjRSMk1zYlVKQmQwZFFMRk5CZUVkUExFVkJkMGRKTzBGQlEycENMRmxCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhUUVVFM1FqczdRVUZGUVN4TlFVRk5MRlZCUVZVc1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xGTkJRWEpDTEVsQlFXdERMSEZDUVVGc1F5eEhRVU5pTEcxQ1FVRnRRaXhWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzVlVGQmNrSXNRMEZCYmtJc1EwRkVZU3hIUVVNd1F5eFZRVVF4UXl4SFFVTjFSQ3h0UWtGQmJVSXNVMEZCYmtJc1EwRkVka1U3TzBGQlIwRXNVMEZCVHl4bFFVRkxMRTFCUVV3c1EwRkJXU3hQUVVGYUxFVkJRWEZDTEVWQlFVTXNUMEZCVHl4VlFVRlZMRTFCUVZZc1EwRkJhVUlzUjBGQmFrSXNRMEZCY1VJc1QwRkJja0lzUzBGQmFVTXNVMEZCZWtNc1JVRkJja0lzUlVGQk1FVXNSVUZCUXl4VlFVRlZMRTFCUVZnc1JVRkJNVVVzUTBGQlVEdEJRVU5CTEVWQkwwZGhPenM3UVVGcFNHUTdPenM3T3pzN096czdRVUZWUVN4VlFUTklZeXh4UWtFeVNFb3NXVUV6U0Vrc1JVRXlTRlVzV1VFelNGWXNSVUV5U0hkQ08wRkJRM0pETEZsQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4WlFVRTNRanRCUVVOQkxGbEJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeFpRVUUzUWpzN1FVRkZRU3hOUVVGTkxGVkJRVlVzVlVGQlZTeE5RVUZXTEVOQlFXbENMRWRCUVdwQ0xFTkJRWEZDTEZOQlFYSkNMRWxCUVd0RExIRkNRVUZzUXl4SFFVTmlMRzFDUVVGdFFpeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNWVUZCY2tJc1EwRkJia0lzUTBGRVlTeEhRVVZpTEZWQlJtRXNSMEZGUVN4dFFrRkJiVUlzV1VGQmJrSXNRMEZHYUVJN1FVRkhRU3hOUVVGTkxFOUJRVTg3UVVGRFdpeHRRa0ZCWjBJc1dVRkVTanRCUVVWYUxGVkJRVThzVlVGQlZTeE5RVUZXTEVOQlFXbENMRWRCUVdwQ0xFTkJRWEZDTEU5QlFYSkNMRXRCUVdsRE8wRkJSalZDTEVkQlFXSTdPMEZCUzBFc1UwRkJUeXhsUVVGTExFbEJRVXdzUTBGQlZTeFBRVUZXTEVWQlFXMUNMRWxCUVc1Q0xFVkJRWGxDTEVWQlFVTXNWVUZCVlN4TlFVRllMRVZCUVhwQ0xFTkJRVkE3UVVGRFFUdEJRWGhKWVN4RE96czdRVU5tWmpzN096czdPenM3TzBGQlZVRTdPenM3T3p0QlFVVkJPenM3T3pzN2EwSkJSV1U3UVVGRFpEczdPenM3UVVGTFFTeFBRVTVqTEc5Q1FVMU1PMEZCUTFJc1RVRkJUU3hWUVVGVkxGVkJRVlVzVFVGQlZpeERRVUZwUWl4SFFVRnFRaXhEUVVGeFFpeFRRVUZ5UWl4SlFVRnJReXhwUWtGQmJFUTdRVUZEUVN4VFFVRlBMR1ZCUVVzc1NVRkJUQ3hEUVVGVkxFOUJRVllzUlVGQmJVSXNSVUZCUXl4UFFVRlBMRlZCUVZVc1RVRkJWaXhEUVVGcFFpeEhRVUZxUWl4RFFVRnhRaXhQUVVGeVFpeExRVUZwUXl4VFFVRjZReXhGUVVGdVFpeERRVUZRTzBGQlEwRTdRVUZVWVN4RE96czdRVU5rWmpzN096czdPenM3TzBGQlZVRTdPMEZCUlVFN096czdPenM3TzBGQlJVRTdPenM3UVVGRFFUczdPenRCUVVOQk96czdPMEZCUTBFN096czdPenM3TzBGQlJVRTdPenM3T3pzN1NVRlBjVUlzWjBJN1FVRkRjRUk3T3p0QlFVZEJMRFpDUVVGak8wRkJRVUU3TzBGQlEySTdPenM3TzBGQlMwRXNUMEZCU3l4TlFVRk1MRWRCUVdNc1NVRkJaRHRCUVVOQk96dEJRVVZFT3pzN096czdPenM3T3pzclFrRlBZVHRCUVVGQk96dEJRVU5hTEU5QlFVMHNWMEZCVnl4RlFVRkZMRkZCUVVZc1JVRkJha0k3TzBGQlJVRXNORUpCUVdVc1NVRkJaaXhIUVVGelFpeEpRVUYwUWl4RFFVRXlRaXhWUVVGRExGbEJRVVFzUlVGQmEwSTdRVUZETlVNc1VVRkJUU3hQUVVGUE8wRkJRMW9zSzBKQlFUQkNMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXd3UWtGQk4wSXNSVUZCZVVRc1dVRkJla1FzUTBGRVpEdEJRVVZhTERaQ1FVRjNRaXhWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzZDBKQlFUZENMRVZCUVhWRUxGbEJRWFpFTEVOQlJsbzdRVUZIV2l4dlFrRkJaU3hWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzWlVGQk4wSXNSVUZCT0VNc1dVRkJPVU1zUTBGSVNEdEJRVWxhTEc5Q1FVRmxMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXhsUVVFM1FpeEZRVUU0UXl4WlFVRTVReXhEUVVwSU8wRkJTMW9zWjBOQlFUSkNMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXd5UWtGQk4wSXNSVUZCTUVRc1dVRkJNVVFzUTBGTVpqdEJRVTFhTERaQ1FVRjNRaXhoUVVGaExFMUJUbnBDTzBGQlQxb3NaVUZCVlN4VlFVRlZMRTFCUVZZc1EwRkJhVUlzUjBGQmFrSXNRMEZCY1VJc1ZVRkJja0lzUTBGUVJUdEJRVkZhTEhWQ1FVRnJRaXhWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzVDBGQmNrSXNTVUZCWjBNc2JVTkJRV2hETEVkQlFYTkZMR1ZCUVdVc1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xGVkJRWEpDTEVOQlFXWXNSMEZCYTBRN1FVRlNPVWdzUzBGQllqczdRVUZYUVN4alFVRlZMRkZCUVZZc1EwRkJiVUlzVlVGQmJrSXNRMEZCT0VJc1ZVRkJPVUlzUlVGQk1FTXNZVUZCWVN4SlFVRjJSRHM3UVVGRlFTeE5RVUZGTEVsQlFVWXNRMEZCVHl4TFFVRkxMSE5DUVVGYUxFVkJRVzlETEZWQlFVTXNTMEZCUkN4RlFVRlJMRmRCUVZJc1JVRkJkMEk3UVVGRE0wUXNhVUpCUVZrc1MwRkJXaXhIUVVGdlFpeFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNXVUZCV1N4SlFVRjZReXhGUVVFclF5eFZRVUV2UXl4RFFVRndRanRCUVVOQkxFdEJSa1E3TzBGQlNVRXNWVUZCU3l4TlFVRk1MRWRCUVdNc1owSkJRVTBzU1VGQlRpeERRVUZYTEVWQlFVVXNPRUpCUVVZc1EwRkJXQ3hGUVVFNFF5eEpRVUU1UXl4RFFVRmtPMEZCUTBFc1ZVRkJTeXhyUWtGQlREczdRVUZGUVR0QlFVTkJMRlZCUVVzc1RVRkJUQ3hEUVVGWkxFbEJRVm9zUTBGQmFVSXNNRUpCUVdwQ0xFVkJRVFpETEV0QlFUZERPenRCUVVWQk8wRkJRMEVzVlVGQlN5eE5RVUZNTEVOQlFWa3NTVUZCV2l4RFFVRnBRaXh0UTBGQmFrSXNSVUZCYzBRc1VVRkJkRVFzUTBGQkswUXNWVUZCTDBRN08wRkJSVUVzWVVGQlV5eFBRVUZVT3p0QlFVVkJMRFJDUVVGakxEUkNRVUZrTEVOQlFUSkRMRTFCUVVzc1RVRkJhRVFzUlVGQmQwUXNRMEZCUXl4clFrRkJSQ3hEUVVGNFJEczdRVUZGUVN4TlFVRkZMRkZCUVVZc1EwRkJWeXhKUVVGWU8wRkJRMEVzU1VGb1EwUTdPMEZCYTBOQkxGVkJRVThzVTBGQlV5eFBRVUZVTEVWQlFWQTdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdORUpCUzFVN1FVRkRWQ3h0UWtGQlRTeEpRVUZPTEVOQlFWY3NTMEZCU3l4TlFVRm9RanRCUVVOQkxESkNRVUZqTERCQ1FVRmtMRU5CUVhsRExFdEJRVXNzVFVGQk9VTXNSVUZCYzBRc1EwRkJReXhyUWtGQlJDeERRVUYwUkR0QlFVTkJPenRCUVVWRU96czdPenM3T3pzN08ybERRVTlsTEVzc1JVRkJUenRCUVVGQk96dEJRVU55UWl4UFFVRk5MRmRCUVZjc1JVRkJSU3hOUVVGTkxHRkJRVklzUTBGQmFrSTdRVUZEUVN4UFFVRk5MR2RDUVVGblFpeExRVUZMTEUxQlFVd3NRMEZCV1N4SlFVRmFMRU5CUVdsQ0xEQkNRVUZxUWl4RFFVRjBRanM3UVVGRlFTeHBRa0ZCWXl4TlFVRmtMRWRCUVhWQ0xGZEJRWFpDTEVOQlFXMURMRmRCUVc1RE96dEJRVVZCTEU5QlFVa3NZMEZCWXl4SFFVRmtMRTlCUVhkQ0xFVkJRVFZDTEVWQlFXZERPMEZCUXk5Q0xHdENRVUZqTEUxQlFXUXNSMEZCZFVJc1VVRkJka0lzUTBGQlowTXNWMEZCYUVNN1FVRkRRU3hyUWtGQll5eExRVUZrTzBGQlEwRTdRVUZEUVRzN1FVRkZSQ3hQUVVGTkxHdENRVUZyUWl4TFFVRkxMRTFCUVV3c1EwRkJXU3hKUVVGYUxFTkJRV2xDTERCRFFVRnFRaXhGUVVFMlJDeEpRVUUzUkN4RFFVRnJSU3hYUVVGc1JTeERRVUY0UWp0QlFVTkJMRTlCUVUwc1pVRkJaU3hqUVVGakxFZEJRV1FzUlVGQmNrSTdPMEZCUlVFc2MwSkJRVk1zVFVGQlZDeERRVUZuUWl4bFFVRm9RaXhGUVVGcFF5eFpRVUZxUXl4RlFVRXJReXhKUVVFdlF5eERRVUZ2UkN4VlFVRkRMRkZCUVVRc1JVRkJZenRCUVVOcVJTdzBRa0ZCWXl4dFFrRkJaQ3hEUVVGclF5eFJRVUZzUXl4RlFVRTBReXhEUVVGRExGRkJRVVFzUTBGQk5VTTdRVUZEUVN4dlFrRkJUU3hKUVVGT0xFTkJRVmNzVDBGQlN5eE5RVUZvUWp0QlFVTkJMRWxCU0VRN1FVRkpRVHM3UVVGRlJEczdPenM3T3pzN096dHRRMEZQYVVJN1FVRkRhRUlzYlVKQlFVMHNTVUZCVGl4RFFVRlhMRXRCUVVzc1RVRkJhRUk3UVVGRFFUczdRVUZGUkRzN096czdPenM3T3pzN096czJRMEZWTWtJc1N5eEZRVUZQTzBGQlEycERMRkZCUVVzc1RVRkJUQ3hEUVVGWkxFbEJRVm9zUTBGQmFVSXNjME5CUVdwQ0xFVkJRWGxFTEZkQlFYcEVMRU5CUVhGRkxGVkJRWEpGTzBGQlEwRXNTMEZCUlN4TlFVRk5MR0ZCUVZJc1JVRkJkVUlzVFVGQmRrSXNSMEZCWjBNc1VVRkJhRU1zUTBGQmVVTXNWVUZCZWtNN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN2RVTkJTM0ZDTzBGQlFVRTdPMEZCUTNCQ0xGRkJRVXNzVFVGQlRDeERRVU5GTEVWQlJFWXNRMEZEU3l4UFFVUk1MRVZCUTJNc1lVRkVaQ3hGUVVNMlFqdEJRVUZCTEZkQlFWTXNUMEZCU3l4alFVRk1MRU5CUVc5Q0xFdEJRWEJDTEVOQlFWUTdRVUZCUVN4SlFVUTNRaXhGUVVWRkxFVkJSa1lzUTBGRlN5eFBRVVpNTEVWQlJXTXNZVUZHWkN4RlFVVTJRanRCUVVGQkxGZEJRVTBzVDBGQlN5eGpRVUZNTEVWQlFVNDdRVUZCUVN4SlFVWTNRaXhGUVVkRkxFVkJTRVlzUTBGSFN5eFBRVWhNTEVWQlIyTXNhVU5CU0dRc1JVRkhhVVE3UVVGQlFTeFhRVUZUTEU5QlFVc3NNRUpCUVV3c1EwRkJaME1zUzBGQmFFTXNRMEZCVkR0QlFVRkJMRWxCU0dwRU8wRkJTVUU3T3pzN096dHJRa0YwU1cxQ0xHZENPenM3UVVNeFFuSkNPenM3T3pzN096czdRVUZWUVRzN1FVRkZRVHM3T3pzN096czdRVUZGUVRzN096dEJRVU5CT3pzN096czdPenRCUVVWQk96czdPenM3U1VGTmNVSXNhVUk3UVVGRGNFSTdPenM3TzBGQlMwRXNORUpCUVZrc1dVRkJXaXhGUVVFd1FqdEJRVUZCT3p0QlFVTjZRaXhaUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzV1VGQk4wSTdPMEZCUlVFN096czdPMEZCUzBFc1QwRkJTeXhOUVVGTUxFZEJRV01zU1VGQlpEczdRVUZGUVRzN096czdRVUZMUVN4UFFVRkxMRmxCUVV3c1IwRkJiMElzV1VGQmNFSTdPMEZCUlVFN096czdPMEZCUzBFc1QwRkJTeXhWUVVGTUxFZEJRV3RDTEVsQlFXeENPMEZCUTBFN08wRkJSVVE3T3pzN096czdLMEpCUjJFN1FVRkRXaXhQUVVGTkxFOUJRVTg3UVVGRFdpd3JRa0ZCTWtJc1ZVRkJWU3hSUVVGV0xFTkJRVzFDTEZOQlFXNUNMRU5CUVRaQ0xESkNRVUUzUWl4RlFVRXdSQ3haUVVFeFJDeERRVVJtTzBGQlJWb3NhVUpCUVdFc1ZVRkJWU3hSUVVGV0xFTkJRVzFDTEZOQlFXNUNMRU5CUVRaQ0xHRkJRVGRDTEVWQlFUUkRMRmxCUVRWRExFTkJSa1E3UVVGSFdpeHJRa0ZCWXl4VlFVRlZMRkZCUVZZc1EwRkJiVUlzVTBGQmJrSXNRMEZCTmtJc1kwRkJOMElzUlVGQk5rTXNXVUZCTjBNc1EwRklSanRCUVVsYUxHMUNRVUZsTEZWQlFWVXNVVUZCVml4RFFVRnRRaXhUUVVGdVFpeERRVUUyUWl4bFFVRTNRaXhGUVVFNFF5eFpRVUU1UXl4RFFVcElPMEZCUzFvc2JVSkJRV1VzUzBGQlN6dEJRVXhTTEVsQlFXSTdPMEZCVVVFc1VVRkJTeXhOUVVGTUxFZEJRV01zWjBKQlFVMHNTVUZCVGl4RFFVRlhMRVZCUVVVc0swSkJRVVlzUTBGQldDeEZRVUVyUXl4SlFVRXZReXhEUVVGa08wRkJRMEVzVVVGQlN5eE5RVUZNTEVOQlFWa3NTVUZCV2l4RFFVRnBRaXh6UWtGQmFrSXNSVUZCZVVNc1IwRkJla01zUTBGQk5rTXNUVUZCTjBNN1FVRkRRU3hSUVVGTExGVkJRVXdzUjBGQmEwSXNWMEZCVnl4WlFVRllMRU5CUVhkQ0xFdEJRVXNzVFVGQlRDeERRVUZaTEVsQlFWb3NRMEZCYVVJc2MwSkJRV3BDTEVWQlFYbERMRWRCUVhwRExFTkJRVFpETEVOQlFUZERMRU5CUVhoQ0xFVkJRWGxGTzBGQlF6RkdMRmRCUVU4c1MwRkJTeXhaUVVRNFJUdEJRVVV4Uml4VlFVRk5MR0ZCUm05R08wRkJSekZHTEdsQ1FVRmhMRWxCU0RaRk8wRkJTVEZHTEdGQlFWTTdRVUZLYVVZc1NVRkJla1VzUTBGQmJFSTdPMEZCVDBFc1VVRkJTeXhyUWtGQlREczdRVUZGUVN4TFFVRkZMRkZCUVVZc1EwRkJWeXhKUVVGWU96dEJRVVZCTERKQ1FVRmpMRFJDUVVGa0xFTkJRVEpETEV0QlFVc3NUVUZCYUVRc1JVRkJkMFFzUTBGQlF5eHRRa0ZCUkN4RFFVRjRSRHRCUVVOQk96dEJRVVZFT3pzN096czdORUpCUjFVN1FVRkRWQ3h0UWtGQlRTeEpRVUZPTEVOQlFWY3NTMEZCU3l4TlFVRm9RanRCUVVOQkxESkNRVUZqTERCQ1FVRmtMRU5CUVhsRExFdEJRVXNzVFVGQk9VTXNSVUZCYzBRc1EwRkJReXh0UWtGQlJDeERRVUYwUkR0QlFVTkJPenRCUVVWRU96czdPenM3T3p0cFEwRkxaVHRCUVVOa0xESkNRVUZqTERCQ1FVRmtMRU5CUVhsRExFdEJRVXNzVFVGQk9VTXNSVUZCYzBRc1EwRkJReXhMUVVGTExGVkJRVXdzUTBGQlowSXNVVUZCYUVJc1JVRkJSQ3hEUVVGMFJEdEJRVU5CTEZGQlFVc3NUMEZCVER0QlFVTkJPenRCUVVWRU96czdPenM3T3p0elEwRkxiMEk3UVVGRGJrSXNNa0pCUVdNc01FSkJRV1FzUTBGQmVVTXNTMEZCU3l4TlFVRTVReXhGUVVGelJDeERRVUZETEV0QlFVc3NWVUZCVEN4RFFVRm5RaXhSUVVGb1FpeEZRVUZFTEVOQlFYUkVPMEZCUTBFc1MwRkJSU3hYUVVGR0xFVkJRV1VzZFVKQlFXWXNSVUZCZDBNc1QwRkJlRU1zUTBGQlowUXNUMEZCYUVRN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN2JVTkJTMmxDTzBGQlEyaENMRkZCUVVzc1QwRkJURHRCUVVOQk96dEJRVVZFT3pzN096czdPenMyUTBGTE1rSTdRVUZETVVJc1MwRkJSU3huUWtGQlJpeEZRVUZ2UWl4TFFVRkxMRTFCUVhwQ0xFVkJRV2xETEZkQlFXcERMRU5CUVRaRExGbEJRVGRETzBGQlEwRXNTMEZCUlN4alFVRkdMRVZCUVd0Q0xFdEJRVXNzVFVGQmRrSXNSVUZCSzBJc1YwRkJMMElzUTBGQk1rTXNVVUZCTTBNN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN2RVTkJTM0ZDTzBGQlFVRTdPMEZCUTNCQ0xGRkJRVXNzVFVGQlRDeERRVU5GTEVWQlJFWXNRMEZEU3l4UFFVUk1MRVZCUTJNc1owSkJSR1FzUlVGRFowTTdRVUZCUVN4WFFVRk5MRTFCUVVzc2FVSkJRVXdzUlVGQlRqdEJRVUZCTEVsQlJHaERMRVZCUlVVc1JVRkdSaXhEUVVWTExFOUJSa3dzUlVGRll5eFhRVVprTEVWQlJUSkNPMEZCUVVFc1YwRkJUU3hOUVVGTExGbEJRVXdzUlVGQlRqdEJRVUZCTEVsQlJqTkNMRVZCUjBVc1JVRklSaXhEUVVkTExFOUJTRXdzUlVGSFl5eGhRVWhrTEVWQlJ6WkNPMEZCUVVFc1YwRkJUU3hOUVVGTExHTkJRVXdzUlVGQlRqdEJRVUZCTEVsQlNEZENMRVZCU1VVc1JVRktSaXhEUVVsTExFOUJTa3dzUlVGSll5eDNRa0ZLWkN4RlFVbDNRenRCUVVGQkxGZEJRVTBzVFVGQlN5eDNRa0ZCVEN4RlFVRk9PMEZCUVVFc1NVRktlRU03UVVGTFFUczdPenM3TzJ0Q1FYSkliVUlzYVVJN096dEJRM1pDY2tJN096czdPenM3T3p0QlFWVkJPenRCUVVWQk96czdPenM3T3p0QlFVVkJPenM3TzBGQlEwRTdPenM3UVVGRFFUczdPenM3T3pzN1FVRkZRVHM3T3pzN1NVRkxjVUlzYlVJN1FVRkRjRUk3T3pzN08wRkJTMEVzT0VKQlFWa3NVMEZCV2l4RlFVRjFRanRCUVVGQk96dEJRVU4wUWl4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1UwRkJOMEk3TzBGQlJVRTdPenM3TzBGQlMwRXNUMEZCU3l4TlFVRk1MRWRCUVdNc1NVRkJaRHM3UVVGRlFUczdPenM3UVVGTFFTeFBRVUZMTEZOQlFVd3NSMEZCYVVJc1UwRkJha0k3UVVGRFFUczdRVUZGUkRzN096czdPenNyUWtGSFlUdEJRVU5hTEU5QlFVMHNUMEZCVHp0QlFVTmFMR2xEUVVFMlFpeFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNOa0pCUVRkQ0xFVkJRVFJFTEZsQlFUVkVMRU5CUkdwQ08wRkJSVm9zTkVKQlFYZENMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXgzUWtGQk4wSXNSVUZCZFVRc1dVRkJka1FzUTBGR1dqdEJRVWRhTEcxQ1FVRmxMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXhsUVVFM1FpeEZRVUU0UXl4WlFVRTVReXhEUVVoSU8wRkJTVm9zYlVKQlFXVXNWVUZCVlN4UlFVRldMRU5CUVcxQ0xGTkJRVzVDTEVOQlFUWkNMR1ZCUVRkQ0xFVkJRVGhETEZsQlFUbERPMEZCU2tnc1NVRkJZanM3UVVGUFFTeFJRVUZMTEUxQlFVd3NSMEZCWXl4blFrRkJUU3hKUVVGT0xFTkJRVmNzUlVGQlJTeHBRMEZCUml4RFFVRllMRVZCUVdsRUxFbEJRV3BFTEVOQlFXUTdPMEZCUlVFN1FVRkRRU3hSUVVGTExFMUJRVXdzUTBGQldTeEpRVUZhTEVOQlFXbENMREJDUVVGcVFpeEZRVUUyUXl4TFFVRTNRenM3UVVGRlFTeFJRVUZMTEd0Q1FVRk1PenRCUVVWQkxFdEJRVVVzVVVGQlJpeERRVUZYTEVsQlFWZzdPMEZCUlVFc01rSkJRV01zTkVKQlFXUXNRMEZCTWtNc1MwRkJTeXhOUVVGb1JDeEZRVUYzUkN4RFFVRkRMSEZDUVVGRUxFTkJRWGhFTzBGQlEwRTdPMEZCUlVRN096czdPenMwUWtGSFZUdEJRVU5VTEcxQ1FVRk5MRWxCUVU0c1EwRkJWeXhMUVVGTExFMUJRV2hDTzBGQlEwRXNNa0pCUVdNc01FSkJRV1FzUTBGQmVVTXNTMEZCU3l4TlFVRTVReXhGUVVGelJDeERRVUZETEhGQ1FVRkVMRU5CUVhSRU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czdhVU5CVDJVc1N5eEZRVUZQTzBGQlFVRTdPMEZCUTNKQ0xFOUJRVTBzVjBGQlZ5eEZRVUZGTEUxQlFVMHNZVUZCVWl4RFFVRnFRanRCUVVOQkxFOUJRVTBzWjBKQlFXZENMRXRCUVVzc1RVRkJUQ3hEUVVGWkxFbEJRVm9zUTBGQmFVSXNNRUpCUVdwQ0xFTkJRWFJDT3p0QlFVVkJMR2xDUVVGakxFMUJRV1FzUjBGQmRVSXNWMEZCZGtJc1EwRkJiVU1zVjBGQmJrTTdPMEZCUlVFc1QwRkJTU3hqUVVGakxFZEJRV1FzVDBGQmQwSXNSVUZCTlVJc1JVRkJaME03UVVGREwwSXNhMEpCUVdNc1RVRkJaQ3hIUVVGMVFpeFJRVUYyUWl4RFFVRm5ReXhYUVVGb1F6dEJRVU5CTEd0Q1FVRmpMRXRCUVdRN1FVRkRRVHRCUVVOQk96dEJRVVZFTEhOQ1FVRlRMRk5CUVZRc1EwRkJiVUlzUzBGQlN5eFRRVUY0UWl4RlFVRnRReXhqUVVGakxFZEJRV1FzUlVGQmJrTXNSVUZCZDBRc1NVRkJlRVFzUTBGQk5rUXNiMEpCUVZrN1FVRkRlRVVzTkVKQlFXTXNiVUpCUVdRc1EwRkJhME1zVVVGQmJFTXNSVUZCTkVNc1EwRkJReXhSUVVGRUxFTkJRVFZETzBGQlEwRXNWVUZCU3l4UFFVRk1PMEZCUTBFc1NVRklSRHRCUVVsQk96dEJRVVZFT3pzN096czdPenR0UTBGTGFVSTdRVUZEYUVJc1VVRkJTeXhQUVVGTU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN08zVkRRVXR4UWp0QlFVRkJPenRCUVVOd1FpeFJRVUZMTEUxQlFVd3NRMEZEUlN4RlFVUkdMRU5CUTBzc1QwRkVUQ3hGUVVOakxHRkJSR1FzUlVGRE5rSTdRVUZCUVN4WFFVRlRMRTlCUVVzc1kwRkJUQ3hEUVVGdlFpeExRVUZ3UWl4RFFVRlVPMEZCUVVFc1NVRkVOMElzUlVGRlJTeEZRVVpHTEVOQlJVc3NUMEZHVEN4RlFVVmpMR0ZCUm1Rc1JVRkZOa0k3UVVGQlFTeFhRVUZOTEU5QlFVc3NZMEZCVEN4RlFVRk9PMEZCUVVFc1NVRkdOMEk3UVVGSFFUczdPenM3TzJ0Q1FXeEhiVUlzYlVJN096dEJRM1pDY2tJN096czdPenM3T3p0QlFWVkJPenRCUVVWQk96czdPenM3T3p0QlFVVkJPenM3TzBGQlEwRTdPenM3UVVGRFFUczdPenRCUVVOQk96czdPMEZCUTBFN096czdRVUZEUVRzN096dEJRVU5CT3pzN08wRkJRMEU3T3pzN096czdPMEZCUlVFN096czdPenRKUVUxeFFpeGhPMEZCUTNCQ096czdPenRCUVV0QkxIZENRVUZaTEZOQlFWb3NSVUZCZFVJN1FVRkJRVHM3UVVGRGRFSXNXVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRk5CUVRkQ096dEJRVVZCT3pzN096dEJRVXRCTEU5QlFVc3NVMEZCVEN4SFFVRnBRaXhUUVVGcVFqczdRVUZGUVRzN096czdRVUZMUVN4UFFVRkxMR3RDUVVGTUxFZEJRVEJDTEVsQlFURkNPenRCUVVWQk96czdPenRCUVV0QkxFOUJRVXNzYVVKQlFVd3NSMEZCZVVJc1NVRkJla0k3TzBGQlJVRTdPenM3TzBGQlMwRXNUMEZCU3l4alFVRk1MRWRCUVhOQ0xFbEJRWFJDTzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pzclFrRkxZVHRCUVVGQk96dEJRVU5hTEU5QlFVMHNWMEZCVnl4RlFVRkZMRkZCUVVZc1JVRkJha0k3TzBGQlJVRXNjMEpCUVZNc1IwRkJWQ3hEUVVGaExFdEJRVXNzVTBGQmJFSXNSVUZCTmtJc1NVRkJOMElzUTBGQmEwTXNiMEpCUVZrN1FVRkROME03UVVGRFFTeGpRVUZWTEZGQlFWWXNRMEZCYlVJc1ZVRkJia0lzUTBGQk9FSXNWVUZCT1VJc1JVRkJNRU1zVTBGQlV5eEpRVUZ1UkRzN1FVRkZRVHRCUVVOQkxGVkJRVXNzWTBGQlRDeEhRVUZ6UWl4VFFVRlRMRTFCUVM5Q096dEJRVVZCTzBGQlEwRXNWVUZCU3l4clFrRkJUQ3hIUVVFd1FpeHhRa0ZCVnl4M1FrRkJXQ3hEUVVGdlF5eFRRVUZUTEUxQlFUZERMRU5CUVRGQ096dEJRVVZCTzBGQlEwRXNWVUZCU3l4cFFrRkJUQ3hIUVVGNVFpeHhRa0ZCVnl4M1FrRkJXQ3hEUVVGdlF5eE5RVUZMTEd0Q1FVRjZReXhEUVVGNlFqczdRVUZGUVN4VlFVRkxMR2xDUVVGTU96dEJRVVZCTERSQ1FVRmpMRFJDUVVGa0xFTkJRVEpETEVWQlFVVXNhMEpCUVVZc1EwRkJNME1zUlVGQmEwVXNRMEZCUXl4bFFVRkVMRU5CUVd4Rk96dEJRVVZCTEdGQlFWTXNUMEZCVkR0QlFVTkJMRWxCYkVKRU96dEJRVzlDUVN4VlFVRlBMRk5CUVZNc1QwRkJWQ3hGUVVGUU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096UkNRVXRWTzBGQlExUXNUMEZCVFN4WFFVRlhMRVZCUVVVc1VVRkJSaXhGUVVGcVFqdEJRVU5CTEU5QlFVMHNhVUpCUVdsQ0xFVkJRVVVzYTBKQlFVWXNRMEZCZGtJN08wRkJSVUVzUzBGQlJTeDVRa0ZCUml4RlFVRTJRaXhuUWtGQk4wSXNRMEZCT0VNc1UwRkJPVU03TzBGQlJVRXNhMEpCUVdVc1QwRkJaaXhEUVVGMVFpeEhRVUYyUWl4RlFVRTBRaXhaUVVGTk8wRkJRMnBETEcxQ1FVRmxMRWxCUVdZc1EwRkJiMElzUlVGQmNFSXNSVUZFYVVNc1EwRkRVanRCUVVONlFpeGhRVUZUTEU5QlFWUTdRVUZEUVN3MFFrRkJZeXd3UWtGQlpDeERRVUY1UXl4alFVRjZReXhGUVVGNVJDeERRVUZETEdWQlFVUXNRMEZCZWtRN1FVRkRRU3hKUVVwRU96dEJRVTFCTEV0QlFVVXNiVVJCUVVZc1JVRkJkVVFzUjBGQmRrUTdPMEZCUlVFc1MwRkJSU3hOUVVGR0xFVkJRMFVzUjBGRVJpeERRVU5OTEZGQlJFNHNSVUZGUlN4SFFVWkdMRU5CUlUwc1kwRkdUaXhGUVVkRkxFZEJTRVlzUTBGSFRTd3JRa0ZJVGpzN1FVRkxRU3hWUVVGUExGTkJRVk1zVDBGQlZDeEZRVUZRTzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pzN2FVTkJUMlU3UVVGQlFUczdRVUZEWkN4elFrRkJVeXhKUVVGVUxFTkJRV01zUzBGQlN5eHJRa0ZCYmtJc1JVRkJkVU1zU1VGQmRrTXNRMEZCTkVNc1dVRkJUVHRCUVVOcVJEdEJRVU5CTEZGQlFVMHNVVUZCVVN4VlFVRlZMRkZCUVZZc1EwRkJiVUlzVTBGQmJrSXNRMEZCTmtJc1owTkJRVGRDTEVWQlFTdEVMRmxCUVM5RUxFTkJRV1E3UVVGRFFTeFJRVUZOTEZWQlFWVXNWVUZCVlN4UlFVRldMRU5CUVcxQ0xGTkJRVzVDTEVOQlFUWkNMR3REUVVFM1FpeEZRVUZwUlN4WlFVRnFSU3hEUVVGb1FqdEJRVU5CTEZGQlFVa3NhVUpCUVVvN08wRkJSVUVzYjBKQlFVMHNUMEZCVGl4RFFVRmpMRXRCUVdRc1JVRkJjVUlzVDBGQmNrSXNSVUZCT0VJc1NVRkJPVUlzUTBGQmJVTXNXVUZCVFR0QlFVTjRReXh0UWtGQll5eFJRVUZrTzBGQlEwRXNTMEZHUkRzN1FVRkpRVHRCUVVOQkxGRkJRVTBzVTBGQlV5eEZRVUZGTERKQ1FVRkdMRU5CUVdZN1FVRkRRU3hSUVVGTkxHRkJRV0VzVDBGQlR5eEpRVUZRTEVOQlFWa3NVMEZCV2l4RlFVRjFRaXhKUVVGMlFpeEZRVUZ1UWp0QlFVTkJMRkZCUVVrc1kwRkJZeXhEUVVGc1FqczdRVUZGUVN4WFFVRlBMRWxCUVZBc1EwRkJXU3hUUVVGYUxFVkJRWFZDTEVsQlFYWkNMRU5CUVRSQ0xHRkJRV0VzU1VGQllpeEhRVUZ2UWl4WFFVRndRaXhIUVVGclF5eEhRVUU1UkRzN1FVRkZRU3hsUVVGWExGbEJRVmtzV1VGQlRUdEJRVU0xUWpzN1FVRkZRU3hUUVVGSkxHZENRVUZuUWl4RFFVRndRaXhGUVVGMVFqdEJRVU4wUWl4aFFVRlBMRWxCUVZBc1EwRkJXU3hUUVVGYUxFVkJRWFZDTEV0QlFYWkNPMEZCUTBFN1FVRkRRVHM3UVVGRlJDeFpRVUZQTEVsQlFWQXNRMEZCV1N4VFFVRmFMRVZCUVhWQ0xFbEJRWFpDTEVOQlFUUkNMR0ZCUVdFc1NVRkJZaXhIUVVGdlFpeFhRVUZ3UWl4SFFVRnJReXhIUVVFNVJEdEJRVU5CTEV0QlZGVXNSVUZUVWl4SlFWUlJMRU5CUVZnN08wRkJWMEU3UVVGRFFTeFhRVUZMTEdsQ1FVRk1MRWRCUVhsQ0xIRkNRVUZYTEhkQ1FVRllMRU5CUVc5RExFOUJRVXNzYTBKQlFYcERMRU5CUVhwQ096dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRkZCUVUwc1lVRkJZU3hWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzV1VGQmNrSXNTVUZCY1VNc1IwRkJja01zUjBGRGFFSXNSVUZCUlN4WFFVRkdMRVZCUVdVc1JVRkJSU3cwUWtGQlJpeEZRVUZuUXl4UlFVRm9ReXhGUVVGbUxFVkJRVEpFTEVsQlFUTkVMRU5CUVdkRkxFMUJRV2hGTEVOQlJFZzdPMEZCUjBFc2RVSkJRVk1zUzBGQlZDeERRVUZsTEZWQlFXWXNSVUZCTWtJc1QwRkJTeXhyUWtGQlRDeERRVUYzUWl4UFFVRjRRaXhGUVVFelFpeEZRVUU0UkN4SlFVRTVSQ3hEUVVGdFJTeFpRVUZOTzBGQlEzaEZMRmxCUVVzc2MwSkJRVXdzUTBGQk5FSXNUMEZCU3l4clFrRkJUQ3hEUVVGM1FpeFBRVUY0UWl4RlFVRTFRanRCUVVOQkxFdEJSa1E3TzBGQlNVRTdRVUZEUVN4UlFVRkpMRTlCUVVzc2EwSkJRVXdzUTBGQmQwSXNVVUZCZUVJc1JVRkJTaXhGUVVGM1F6dEJRVU4yUXl4M1FrRkJVeXhMUVVGVUxFTkJRV1VzVlVGQlpqdEJRVU5CTzBGQlEwUXNTVUUzUTBRN1FVRTRRMEU3TzBGQlJVUTdPenM3T3pzN096czdiME5CVDJ0Q08wRkJRVUU3TzBGQlEycENMSE5DUVVGVExFbEJRVlFzUTBGQll5eExRVUZMTEd0Q1FVRnVRaXhGUVVGMVF5eFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNaVUZCY2tJc1EwRkJka01zUlVGQk9FVXNTVUZCT1VVc1EwRkJiVVlzV1VGQlRUdEJRVU40Uml4UlFVRk5MR0ZCUVdFc1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xGbEJRWEpDTEVsQlFYRkRMRWRCUVhKRExFZEJRMmhDTEVWQlFVVXNWMEZCUml4RlFVRmxMRVZCUVVVc05FSkJRVVlzUlVGQlowTXNVVUZCYUVNc1JVRkJaaXhGUVVFeVJDeEpRVUV6UkN4RFFVRm5SU3hOUVVGb1JTeERRVVJJTzBGQlJVRXNkVUpCUVZNc1MwRkJWQ3hEUVVGbExGVkJRV1lzUlVGQk1rSXNWVUZCVlN4TlFVRldMRU5CUVdsQ0xFZEJRV3BDTEVOQlFYRkNMR1ZCUVhKQ0xFTkJRVE5DTEVWQlFXdEZMRWxCUVd4RkxFTkJRWFZGTEZsQlFVMDdRVUZETlVVc1dVRkJTeXh6UWtGQlRDeERRVUUwUWl4VlFVRlZMRTFCUVZZc1EwRkJhVUlzUjBGQmFrSXNRMEZCY1VJc1pVRkJja0lzUTBGQk5VSTdRVUZEUVN4TFFVWkVPMEZCUjBFc1NVRk9SRHRCUVU5Qk96dEJRVVZFT3pzN096czdPenM3T3p0cFEwRlJaVHRCUVVGQk96dEJRVU5rTEZGQlFVc3NkVUpCUVV3c1IwRkJLMElzU1VGQkwwSXNRMEZCYjBNN1FVRkJRU3hYUVVGTkxFOUJRVXNzY1VKQlFVd3NSVUZCVGp0QlFVRkJMRWxCUVhCRE8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czdPM2xEUVZGMVFqdEJRVU4wUWl4dlFrRkJUeXhKUVVGUUxFTkJRVmtzYlVKQlFWb3NSVUZCYVVNc1EwRkJReXhMUVVGTExHdENRVUZNTEVOQlFYZENMR1ZCUVhoQ0xFVkJRVVFzUTBGQmFrTTdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdPenM3TzIxRFFWTnBRaXhMTEVWQlFVODdRVUZEZGtJc1QwRkJUU3hYUVVGWExFVkJRVVVzVFVGQlRTeGhRVUZTTEVOQlFXcENPenRCUVVWQkxITkNRVUZUTEZGQlFWUXNRMEZCYTBJc1MwRkJTeXhUUVVGMlFpeEZRVUZyUXl4SlFVRnNReXhEUVVGMVF5eFpRVUZOTzBGQlF6VkRMRkZCUVUwc2FVTkJRU3RDTEZWQlFWVXNVVUZCVml4RFFVRnRRaXhUUVVGdVFpeERRVUUyUWl4alFVRTNRaXhGUVVFMlF5eFpRVUUzUXl4RFFVRXZRaXhaUVVGT08wRkJRMEVzVFVGQlJTeDVRMEZCUml4RlFVRTJReXhOUVVFM1F5eERRVUZ2UkN4SlFVRndSRHRCUVVOQkxHRkJRMFVzUjBGRVJpeERRVU5OTEZOQlFWTXNVVUZCVkN4RFFVRnJRaXhuUWtGQmJFSXNRMEZFVGl4RlFVVkZMRTFCUmtZN1FVRkhRU3hKUVU1RU8wRkJUMEU3TzBGQlJVUTdPenM3T3pzN096czdPMjFEUVZGcFFqdEJRVUZCT3p0QlFVTm9RaXhQUVVGTkxGRkJRVkVzVlVGQlZTeFJRVUZXTEVOQlFXMUNMRk5CUVc1Q0xFTkJRVFpDTERCQ1FVRTNRaXhGUVVGNVJDeFpRVUY2UkN4RFFVRmtPMEZCUTBFc1QwRkJUU3hWUVVGVkxGVkJRVlVzVVVGQlZpeERRVUZ0UWl4VFFVRnVRaXhEUVVFMlFpdzBRa0ZCTjBJc1JVRkJNa1FzV1VGQk0wUXNRMEZCYUVJN08wRkJSVUVzYlVKQlFVMHNUVUZCVGl4RFFVRmhMRXRCUVdJc1JVRkJiMElzVDBGQmNFSXNSVUZCTmtJc1NVRkJOMElzUTBGQmEwTXNXVUZCVFR0QlFVTjJReXgxUWtGQlV5eE5RVUZVTEVOQlFXZENMRTlCUVVzc1UwRkJja0lzUlVGQlowTXNTVUZCYUVNc1EwRkJjVU1zYjBKQlFWazdRVUZEYUVRc05rSkJRV01zYlVKQlFXUXNRMEZCYTBNc1JVRkJSU3hyUWtGQlJpeERRVUZzUXl4RlFVRjVSQ3hEUVVGRExGRkJRVVFzUTBGQmVrUTdRVUZEUVN4WlFVRkxMRTlCUVV3c1IwRkJaU3hKUVVGbUxFTkJRVzlDTzBGQlFVRXNZVUZCVFN4cFFrRkJUeXhKUVVGUUxFTkJRVmtzWTBGQldpeERRVUZPTzBGQlFVRXNUVUZCY0VJN1FVRkRRU3hMUVVoRU8wRkJTVUVzU1VGTVJEdEJRVTFCT3p0QlFVVkVPenM3T3pzN096czdPM2xEUVU5MVFpeExMRVZCUVU4N1FVRkROMElzUzBGQlJTeE5RVUZOTEdGQlFWSXNSVUZCZFVJc1RVRkJka0lzUjBGQlowTXNWMEZCYUVNc1EwRkJORU1zVFVGQk5VTTdRVUZEUVN4TFFVRkZMSGxDUVVGR0xFVkJRVFpDTEdkQ1FVRTNRaXhEUVVFNFF5eFJRVUU1UXp0QlFVTkJPenRCUVVWRU96czdPenM3T3p0dlEwRkxhMEk3UVVGRGFrSXNVVUZCU3l4MVFrRkJURHRCUVVOQk96dEJRVVZFT3pzN096czdPenM3T3pzN2QwTkJVM05DTEVzc1JVRkJUenRCUVVNMVFpeFBRVUZOTEcxQ1FVRnRRaXh4UWtGQlZ5eDNRa0ZCV0N4RFFVRnZReXhMUVVGTExHdENRVUY2UXl4RFFVRjZRanM3UVVGRlFTeFBRVUZKTEhGQ1FVRnhRaXhMUVVGTExHbENRVUU1UWl4RlFVRnBSRHRCUVVOb1JDeFJRVUZOTEZWQlFWVXNWVUZCVlN4UlFVRldMRU5CUVcxQ0xGTkJRVzVDTEVOQlFUWkNMSGxDUVVFM1FpeEZRVUYzUkN4WlFVRjRSQ3hEUVVGb1FqdEJRVU5CTEZWQlFVMHNWMEZCVGl4SFFVRnZRaXhQUVVGd1FqdEJRVU5CTEZkQlFVOHNUMEZCVUR0QlFVTkJPMEZCUTBRN08wRkJSVVE3T3pzN096czdPenM3T3p0M1EwRlRjMElzU3l4RlFVRlBPMEZCUVVFN08wRkJRelZDTEV0QlFVVXNUVUZCVFN4aFFVRlNMRVZCUVhWQ0xFbEJRWFpDTEVOQlFUUkNMR0ZCUVRWQ0xFVkJRVEpETEVsQlFUTkRMRU5CUVdkRUxGVkJRVU1zUzBGQlJDeEZRVUZSTEZOQlFWSXNSVUZCYzBJN1FVRkRja1VzVVVGQlRTeFhRVUZYTEVWQlFVVXNVMEZCUml4RFFVRnFRanM3UVVGRlFTeE5RVUZGTEVsQlFVWXNRMEZCVHl4UFFVRkxMR3RDUVVGTUxFTkJRWGRDTEZkQlFYaENMRVZCUVZBc1JVRkJPRU1zVlVGQlF5eExRVUZFTEVWQlFWRXNWVUZCVWl4RlFVRjFRanRCUVVOd1JTeFRRVUZKTEZkQlFWY3NUMEZCV0N4UFFVRjVRaXhQUVVFM1FpeEZRVUZ6UXp0QlFVTnlReXhSUVVGRkxFbEJRVVlzUTBGQlR5eFhRVUZYTEZWQlFWZ3NSVUZCVUN4RlFVRm5ReXhWUVVGRExFdEJRVVFzUlVGQlVTeFZRVUZTTEVWQlFYVkNPMEZCUTNSRUxGZEJRVWtzVjBGQlZ5eFBRVUZZTEU5QlFYbENMRk5CUVZNc1NVRkJWQ3hEUVVGakxHZENRVUZrTEVWQlFXZERMRWxCUVdoRExFTkJRWEZETEVsQlFYSkRMRU5CUVRkQ0xFVkJRWGxGTzBGQlEzaEZMRzFDUVVGWExGZEJRVmdzUTBGQmRVSXNVMEZCVXl4TFFVRlVMRXRCUVcxQ0xFTkJRVEZETzBGQlEwRTdRVUZEUkN4UFFVcEVPMEZCUzBFN1FVRkRSQ3hMUVZKRU8wRkJVMEVzU1VGYVJEdEJRV0ZCT3p0QlFVVkVPenM3T3pzN096czdPenQ1UTBGUmRVSXNTeXhGUVVGUExGa3NSVUZCWXp0QlFVTXpReXhoUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzV1VGQk4wSTdRVUZEUVN4UlFVRkxMR3RDUVVGTUxFTkJRWGRDTEdWQlFYaENMRU5CUVhkRExGbEJRWGhETzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pCRFFVdDNRanRCUVVGQk96dEJRVU4yUWl4UlFVRkxMRTlCUVV3c1IwRkJaU3hKUVVGbUxFTkJRVzlDTzBGQlFVRXNWMEZCVFN4cFFrRkJUeXhKUVVGUUxFTkJRVmtzWTBGQldpeEZRVUUwUWl4RFFVRkRMRTlCUVVzc1UwRkJUaXhEUVVFMVFpeERRVUZPTzBGQlFVRXNTVUZCY0VJN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN096dDVRMEZQZFVJc1V5eEZRVUZYTzBGQlEycERMR0ZCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhUUVVFM1FqczdRVUZGUVN4UFFVRkpMRTFCUVUwc1JVRkJSU3cwUWtGQlJpeEZRVUZuUXl4SFFVRm9ReXhEUVVGdlF5eERRVUZ3UXl4RlFVRjFReXhoUVVGMlF5eERRVUZ4UkN4UlFVRnlSQ3hEUVVFNFJDeEpRVUY0UlR0QlFVTkJMRTlCUVUwc1dVRkJXU3d5UWtGQk1rSXNiVUpCUVcxQ0xGTkJRVzVDTEVOQlFUZERPenRCUVVWQkxFOUJRVWtzU1VGQlNTeFBRVUZLTEVOQlFWa3NkMEpCUVZvc1NVRkJkME1zUTBGQlF5eERRVUUzUXl4RlFVRm5SRHRCUVVNdlF5eFZRVUZOTEVsQlFVa3NUMEZCU2l4RFFVRlpMREpDUVVGYUxFVkJRWGxETEZOQlFYcERMRU5CUVU0N1FVRkRRU3hKUVVaRUxFMUJSVThzU1VGQlNTeEpRVUZKTEU5QlFVb3NRMEZCV1N4SFFVRmFMRTFCUVhGQ0xFTkJRVU1zUTBGQk1VSXNSVUZCTmtJN1FVRkRia01zVjBGQlR5eE5RVUZOTEZOQlFXSTdRVUZEUVN4SlFVWk5MRTFCUlVFN1FVRkRUaXhYUVVGUExFMUJRVTBzVTBGQllqdEJRVU5CT3p0QlFVVkVMRXRCUVVVc05FSkJRVVlzUlVGQlowTXNSMEZCYUVNc1EwRkJiME1zUTBGQmNFTXNSVUZCZFVNc1lVRkJka01zUTBGQmNVUXNVVUZCY2tRc1EwRkJPRVFzU1VGQk9VUXNSMEZCY1VVc1IwRkJja1U3TzBGQlJVRXNNa0pCUVdNc2MwSkJRV1FzUTBGQmNVTXNSVUZCUlN4clFrRkJSaXhEUVVGeVF5eEZRVUUwUkN4RFFVRkRMRk5CUVVRc1EwRkJOVVE3UVVGRFFUczdRVUZGUkRzN096czdPenM3ZFVOQlMzRkNPMEZCUVVFN08wRkJRM0JDTEV0QlFVVXNhMEpCUVVZc1JVRkRSU3hIUVVSR0xFTkJRMDBzVDBGRVRpeEZRVVZGTEVWQlJrWXNRMEZGU3l4UFFVWk1MRVZCUldNc1YwRkdaQ3hGUVVVeVFqdEJRVUZCTEZkQlFVMHNUMEZCU3l4WlFVRk1MRVZCUVU0N1FVRkJRU3hKUVVZelFpeEZRVWRGTEVWQlNFWXNRMEZIU3l4UFFVaE1MRVZCUjJNc1kwRklaQ3hGUVVjNFFqdEJRVUZCTEZkQlFVMHNUMEZCU3l4bFFVRk1MRVZCUVU0N1FVRkJRU3hKUVVnNVFpeEZRVWxGTEVWQlNrWXNRMEZKU3l4UFFVcE1MRVZCU1dNc1YwRktaQ3hGUVVreVFqdEJRVUZCTEZkQlFVMHNUMEZCU3l4WlFVRk1MRVZCUVU0N1FVRkJRU3hKUVVvelFpeEZRVXRGTEVWQlRFWXNRMEZMU3l4UFFVeE1MRVZCUzJNc2EwSkJUR1FzUlVGTGEwTTdRVUZCUVN4WFFVRlRMRTlCUVVzc1owSkJRVXdzUTBGQmMwSXNTMEZCZEVJc1EwRkJWRHRCUVVGQkxFbEJUR3hETEVWQlRVVXNSVUZPUml4RFFVMUxMRTlCVGt3c1JVRk5ZeXhuUWtGT1pDeEZRVTFuUXp0QlFVRkJMRmRCUVUwc1QwRkJTeXhqUVVGTUxFVkJRVTQ3UVVGQlFTeEpRVTVvUXl4RlFVOUZMRVZCVUVZc1EwRlBTeXhQUVZCTUxFVkJUMk1zZDBKQlVHUXNSVUZQZDBNN1FVRkJRU3hYUVVGTkxFOUJRVXNzYjBKQlFVd3NSVUZCVGp0QlFVRkJMRWxCVUhoRExFVkJVVVVzUlVGU1JpeERRVkZMTEZsQlVrd3NSVUZSYlVJc05FSkJVbTVDTEVWQlVXbEVPMEZCUVVFc1YwRkJVeXhQUVVGTExIRkNRVUZNTEVOQlFUSkNMRXRCUVROQ0xFTkJRVlE3UVVGQlFTeEpRVkpxUkRzN1FVRlZRU3hMUVVGRkxHbERRVUZHTEVWQlEwVXNSMEZFUml4RFFVTk5MRTlCUkU0c1JVRkZSU3hGUVVaR0xFTkJSVXNzVDBGR1RDeEZRVVZqTERoQ1FVWmtMRVZCUlRoRE8wRkJRVUVzVjBGQlV5eFBRVUZMTEhOQ1FVRk1MRU5CUVRSQ0xFdEJRVFZDTEVOQlFWUTdRVUZCUVN4SlFVWTVRenM3UVVGSlFTeExRVUZGTEUxQlFVWXNSVUZEUlN4RlFVUkdMRU5CUTBzc1VVRkVUQ3hGUVVObE8wRkJRVUVzVjBGQlRTeFBRVUZMTEdWQlFVd3NSVUZCVGp0QlFVRkJMRWxCUkdZc1JVRkZSU3hGUVVaR0xFTkJSVXNzWTBGR1RDeEZRVVZ4UWp0QlFVRkJMRmRCUVZNc1QwRkJTeXh4UWtGQlRDeERRVUV5UWl4TFFVRXpRaXhEUVVGVU8wRkJRVUVzU1VGR2NrSXNSVUZIUlN4RlFVaEdMRU5CUjBzc0swSkJTRXdzUlVGSGMwTXNWVUZCUXl4TFFVRkVMRVZCUVZFc1dVRkJVanRCUVVGQkxGZEJRWGxDTEU5QlFVc3NjMEpCUVV3c1EwRkJORUlzUzBGQk5VSXNSVUZCYlVNc1dVRkJia01zUTBGQmVrSTdRVUZCUVN4SlFVaDBRenRCUVVsQk96dEJRVVZFT3pzN096czdPenMwUTBGTE1FSTdRVUZEZWtJc1QwRkJUU3cyUWtGQk5rSXNUMEZCVHl4WFFVRlFMRWRCUTJoRExFVkJRVVVzYzBKQlFVWXNSVUZCTUVJc1YwRkJNVUlzUlVGRVowTXNSMEZGYUVNc1JVRkJSU3cwUWtGQlJpeEZRVUZuUXl4WFFVRm9ReXhGUVVablF5eEhRVWRvUXl4RlFVRkZMRzlEUVVGR0xFVkJRWGRETEZkQlFYaERMRVZCU0VnN1FVRkpRU3hMUVVGRkxIbENRVUZHTEVWQlFUWkNMRTFCUVRkQ0xFTkJRVzlETERCQ1FVRndRenRCUVVOQk96dEJRVVZFT3pzN096czdPenM3T3pzN095dERRVlUyUWl4WkxFVkJRV003UVVGRE1VTXNZVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRmxCUVRkQ096dEJRVVZCTEU5QlFVa3NUMEZCVHl4WlFVRlFMRXRCUVhkQ0xGTkJRVFZDTEVWQlFYVkRPMEZCUTNSRExHTkJRVlVzUzBGQlZpeERRVUZuUWl4SlFVRm9RaXhEUVVGeFFpd3JSRUZCY2tJN1FVRkRRU3hYUVVaelF5eERRVVU1UWp0QlFVTlNPenRCUVVWRUxFOUJRVTBzWVVGQllTeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNNRUpCUVhKQ0xFTkJRVzVDTzBGQlEwRXNaMEpCUVdFc1ZVRkJZaXhEUVVGM1FpeFZRVUY0UWp0QlFVTkJMR2RDUVVGaExFOUJRV0lzUTBGQmNVSXNWVUZCY2tJc1JVRkJhVU1zVFVGQlRTeGhRVUZoTEVsQlFXSXNRMEZCYTBJc1IwRkJiRUlzUTBGQmRrTTdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdPenM3T3pSRFFWTXdRanRCUVVONlFqdEJRVU5CTzBGQlEwRXNUMEZCVFN4dFFrRkJiVUlzY1VKQlFWY3NkMEpCUVZnc1EwRkJiME1zUzBGQlN5eHJRa0ZCZWtNc1EwRkJla0k3UVVGRFFTeFBRVUZKTEdkQ1FVRktPenRCUVVWQkxFOUJRVWtzY1VKQlFYRkNMRXRCUVVzc2FVSkJRVGxDTEVWQlFXbEVPMEZCUTJoRUxGRkJRVTBzVVVGQlVTeFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNkVUpCUVRkQ0xFVkJRWE5FTEZsQlFYUkVMRU5CUVdRN1FVRkRRU3hSUVVGTkxGVkJRVlVzVlVGQlZTeFJRVUZXTEVOQlFXMUNMRk5CUVc1Q0xFTkJRVFpDTEhsQ1FVRTNRaXhGUVVGM1JDeFpRVUY0UkN4RFFVRm9RanRCUVVOQkxHTkJRVlVzWjBKQlFVMHNUVUZCVGl4RFFVRmhMRXRCUVdJc1JVRkJiMElzVDBGQmNFSXNRMEZCVmp0QlFVTkJMRWxCU2tRc1RVRkpUenRCUVVOT0xHTkJRVlVzUlVGQlJTeFJRVUZHTEVkQlFXRXNUMEZCWWl4RlFVRldMRU5CUkUwc1EwRkRORUk3UVVGRGJFTTdPMEZCUlVRc1ZVRkJUeXhQUVVGUU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czdPM05EUVZGdlFqdEJRVUZCT3p0QlFVTnVRaXhQUVVGSkxFdEJRVXNzYTBKQlFVd3NTMEZCTkVJc1NVRkJhRU1zUlVGQmMwTTdRVUZEY2tNc1ZVRkJUU3hKUVVGSkxFdEJRVW9zUTBGQlZTeHRSa0ZCVml4RFFVRk9PMEZCUTBFN08wRkJSVVFzVDBGQlRTeFhRVUZYTEVWQlFVVXNNa0pCUVVZc1JVRkJLMElzU1VGQkwwSXNSVUZCYWtJN1FVRkRRU3hQUVVGTkxFOUJRVThzY1VKQlFWY3NkMEpCUVZnc1EwRkJiME1zUzBGQlN5eHJRa0ZCZWtNc1JVRkJOa1FzUzBGQk4wUXNRMEZCWWp0QlFVTkJMRTlCUVVrc2QwSkJRVW83UVVGRFFTeFBRVUZOTEd0Q1FVRnJRaXhGUVVGNFFqdEJRVU5CTEU5QlFVMHNaVUZCWlN4RlFVRnlRanRCUVVOQkxFOUJRVTBzWVVGQllTeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNZMEZCY2tJc1RVRkJlVU1zU1VGQmVrTXNSMEZCWjBRc1dVRkJhRVFzUjBGQkswUXNXVUZCYkVZN08wRkJSVUU3UVVGRFFTeFJRVUZMTEZsQlFVd3NSMEZCYjBJc1ZVRkJWU3hSUVVGV0xFTkJRVzFDTEZOQlFXNUNMRU5CUVRaQ0xHTkJRVGRDTEVWQlFUWkRMRmxCUVRkRExFTkJRWEJDTzBGQlEwRXNVVUZCU3l4eFFrRkJUQ3hIUVVFMlFpeFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNkVUpCUVRkQ0xFVkJRWE5FTEZsQlFYUkVMRU5CUVRkQ08wRkJRMEVzVVVGQlN5eGxRVUZNTEVkQlFYVkNMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXhwUWtGQk4wSXNSVUZCWjBRc1dVRkJhRVFzUTBGQmRrSTdRVUZEUVN4UlFVRkxMR0ZCUVV3c1IwRkJjVUlzVlVGQlZTeFJRVUZXTEVOQlFXMUNMRk5CUVc1Q0xFTkJRVFpDTEdWQlFUZENMRVZCUVRoRExGbEJRVGxETEVOQlFYSkNPMEZCUTBFc1VVRkJTeXhuUWtGQlRDeEhRVUYzUWl4TFFVRkxMRXRCUVV3c1EwRkJWeXhMUVVGTExHZENRVUZvUWl4RlFVRnJReXhSUVVGc1F5eERRVUV5UXl4VlFVRXpReXhEUVVGNFFqdEJRVU5CTEZGQlFVc3NWMEZCVEN4SFFVRnRRaXhWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzWVVGQk4wSXNSVUZCTkVNc1dVRkJOVU1zUTBGQmJrSTdRVUZEUVN4UlFVRkxMR05CUVV3c1IwRkJjMElzVlVGQlZTeFJRVUZXTEVOQlFXMUNMRk5CUVc1Q0xFTkJRVFpDTEdkQ1FVRTNRaXhGUVVFclF5eFpRVUV2UXl4RFFVRjBRanRCUVVOQkxGRkJRVXNzVjBGQlRDeEhRVUZ0UWl4VlFVRlZMRkZCUVZZc1EwRkJiVUlzVTBGQmJrSXNRMEZCTmtJc1lVRkJOMElzUlVGQk5FTXNXVUZCTlVNc1EwRkJia0k3TzBGQlJVRXNTMEZCUlN4SlFVRkdMRU5CUVU4c1MwRkJTeXhSUVVGYUxFVkJRWE5DTEZWQlFVTXNTMEZCUkN4RlFVRlJMRlZCUVZJc1JVRkJkVUk3UVVGRE5VTXNaVUZCVnl4TFFVRllMRWRCUVcxQ0xGVkJRVlVzVVVGQlZpeERRVUZ0UWl4VFFVRnVRaXhEUVVFMlFpeFhRVUZYTEVsQlFYaERMRVZCUVRoRExGVkJRVGxETEVOQlFXNUNPMEZCUTBFc2MwSkJRV3RDTEVWQlFXeENMRU5CUmpSRExFTkJSWFJDT3p0QlFVVjBRaXhSUVVGSkxGZEJRVmNzU1VGQldDeExRVUZ2UWl4UFFVRjRRaXhGUVVGcFF6dEJRVU5vUXl4blFrRkJWeXhQUVVGWUxFTkJRVzFDTEVsQlFXNUNMRU5CUVhkQ0xGVkJRVU1zUTBGQlJDeEZRVUZKTEVOQlFVb3NSVUZCVlR0QlFVTnFReXhWUVVGSkxFVkJRVVVzVVVGQlJpeEhRVUZoTEVWQlFVVXNVVUZCYmtJc1JVRkJOa0k3UVVGRE5VSXNZMEZCVHl4RFFVRkRMRU5CUVZJN1FVRkRRU3hQUVVaRUxFMUJSVThzU1VGQlNTeEZRVUZGTEZGQlFVWXNSMEZCWVN4RlFVRkZMRkZCUVc1Q0xFVkJRVFpDTzBGQlEyNURMR05CUVU4c1EwRkJVRHRCUVVOQk8wRkJRMFFzWVVGQlR5eERRVUZRTzBGQlEwRXNUVUZRUkR0QlFWRkJPenRCUVVWRUxFMUJRVVVzU1VGQlJpeERRVUZQTEZkQlFWY3NUMEZCYkVJc1JVRkJNa0lzVlVGQlF5eExRVUZFTEVWQlFWRXNTMEZCVWl4RlFVRnJRanRCUVVNMVF6dEJRVU5CTEZOQlFVa3NTMEZCU3l4WlFVRlVMRVZCUVhWQ08wRkJRM1JDTEZGQlFVVXNTVUZCUml4RFFVRlBMRXRCUVVzc1dVRkJXaXhGUVVFd1FpeFZRVUZETEV0QlFVUXNSVUZCVVN4WlFVRlNMRVZCUVhsQ08wRkJRMnhFTEZkQlFVa3NhVUpCUVdsQ0xFMUJRVTBzU1VGQmRrSXNTVUZCSzBJc1RVRkJUU3hKUVVGT0xFdEJRV1VzVDBGQmJFUXNSVUZCTWtRN1FVRkRNVVFzY1VKQlFXRXNTVUZCWWl4RFFVRnJRaXhOUVVGTkxFdEJRWGhDTzBGQlEwRTdRVUZEUkN4UFFVcEVPMEZCUzBFN08wRkJSVVE3UVVGRFFTeFRRVUZKTzBGQlEwZ3NWVUZCVFN4cFFrRkJhVUlzTUVKQlFXZENMSE5DUVVGb1FpeERRVUYxUXl4TFFVRjJReXhGUVVFNFF5eFBRVUZMTEd0Q1FVRnVSQ3hGUVVOMFFpeFBRVUZMTEdOQlJHbENMRU5CUVhaQ08wRkJSVUU3UVVGRFFTeHpRa0ZCWjBJc1NVRkJhRUlzUTBGQmNVSXNZMEZCY2tJN1FVRkRRU3h6UWtGQlowSXNTVUZCYUVJc1EwRkJjVUlzWTBGQmNrSTdRVUZEUVN4TlFVNUVMRU5CVFVVc1QwRkJUeXhUUVVGUUxFVkJRV3RDTzBGQlEyNUNMR2RDUVVGVkxFdEJRVllzUTBGQlowSXNTMEZCYUVJc1EwRkJjMElzYlVKQlFYUkNMRVZCUVRKRExGTkJRVE5ETzBGQlEwRXNZVUZCVHl4SlFVRlFMRU5CUm0xQ0xFTkJSVTQ3UVVGRFlqdEJRVU5FTEV0QmNrSkVPenRCUVhWQ1FTeGxRVUZYTEU5QlFWZ3NSMEZCY1VJc1pVRkJja0k3UVVGRFFTeEpRWFpEUkRzN1FVRjVRMEU3UVVGRFFTeExRVUZGTEd0Q1FVRkdMRVZCUVhOQ0xFbEJRWFJDTEVOQlFUSkNMRk5CUVZNc1RVRkJWQ3hEUVVGblFpeFJRVUZvUWl4RlFVRXdRaXhKUVVFeFFpeERRVUV6UWl4RlFVRTBSQ3hOUVVFMVJEdEJRVU5CTEZGQlFVc3NhMEpCUVV3N08wRkJSVUU3UVVGRFFTeExRVUZGTEVsQlFVWXNRMEZCVHl4bFFVRlFMRVZCUVhkQ0xGVkJRVU1zUzBGQlJDeEZRVUZSTEUxQlFWSXNSVUZCYlVJN1FVRkRNVU1zVjBGQlR5eFZRVUZRTEVkQlJEQkRMRU5CUTNKQ08wRkJRM0pDTEVsQlJrUTdPMEZCU1VFN1FVRkRRU3hSUVVGTExEUkNRVUZNTEVOQlFXdERMRmxCUVd4RE96dEJRVVZCTzBGQlEwRXNTMEZCUlN4UlFVRkdMRU5CUVZjc1NVRkJXRHM3UVVGRlFUdEJRVU5CTEV0QlFVVXNkVU5CUVVZc1JVRkRSU3hQUVVSR0xFTkJRMVVzWjBKQlJGWXNSVUZGUlN4UlFVWkdMRU5CUlZjN1FVRkRWQ3hWUVVGTkxFZEJSRWM3UVVGRlZDeGhRVUZUTEVkQlJrRTdRVUZIVkN4cFFrRkJZVHRCUVVoS0xFbEJSbGc3TzBGQlVVRTdRVUZEUVN4UlFVRkxMSFZDUVVGTU8wRkJRMEVzUzBGQlJTeDVRa0ZCUml4RlFVRTJRaXhuUWtGQk4wSTdPMEZCUlVFN1FVRkRRU3hSUVVGTExGTkJRVXdzUjBGQmFVSXNTVUZCU1N4dFFrRkJTaXhEUVVGakxFVkJRVVVzY1VKQlFVWXNRMEZCWkN4RlFVRjNReXhGUVVGRkxHVkJRVVlzUTBGQmVFTXNSVUZCTkVRc1JVRkJSU3g1UWtGQlJpeERRVUUxUkN4RlFVTm9RaXhMUVVGTExHdENRVVJYTEVOQlFXcENPMEZCUlVFc1VVRkJTeXhUUVVGTUxFTkJRV1VzVlVGQlpqdEJRVU5CT3pzN096czdhMEpCTVdoQ2JVSXNZVHM3TzBGRE4wSnlRanM3T3pzN096czdPMEZCVlVFN08wRkJSVUU3T3pzN096czdPMEZCUlVFN096czdRVUZEUVRzN096dEJRVU5CT3pzN08wRkJRMEU3T3pzN1FVRkRRVHM3T3p0QlFVTkJPenM3TzBGQlEwRTdPenM3UVVGRFFUczdPenM3T3pzN1FVRkZRVHM3TzBsQlIzRkNMRms3UVVGRGNFSTdPenM3TzBGQlMwRXNlVUpCUVhORE8wRkJRVUVzVFVGQk1VSXNhVUpCUVRCQ0xIVkZRVUZPTEVsQlFVMDdPMEZCUVVFN08wRkJRM0pET3pzN096dEJRVXRCTEU5QlFVc3NhVUpCUVV3c1IwRkJlVUlzYVVKQlFYcENPMEZCUTBFN08wRkJSVVE3T3pzN096czdPenNyUWtGTFlUdEJRVUZCT3p0QlFVTmFMRTlCUVUwc1YwRkJWeXhGUVVGRkxGRkJRVVlzUlVGQmFrSTdPMEZCUlVFc2MwSkJRVk1zU1VGQlZDeEhRVUZuUWl4SlFVRm9RaXhEUVVGeFFpeHJRa0ZCVlR0QlFVTTVRaXhWUVVGTExHbENRVUZNTEVOQlFYVkNMRTlCUVU4c1RVRkJPVUk3UVVGRFFTeFZRVUZMTEd0Q1FVRk1PMEZCUTBFc05FSkJRV01zTkVKQlFXUXNRMEZCTWtNc1JVRkJSU3hyUWtGQlJpeERRVUV6UXl4RlFVRnJSU3hEUVVGRExHTkJRVVFzUTBGQmJFVTdRVUZEUVN4aFFVRlRMRTlCUVZRN1FVRkRRU3hKUVV4RU96dEJRVTlCTEZWQlFVOHNVMEZCVXl4UFFVRlVMRVZCUVZBN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN05FSkJTMVU3UVVGRFZDeFBRVUZOTEZkQlFWY3NSVUZCUlN4UlFVRkdMRVZCUVdwQ08wRkJRMEVzVDBGQlRTeHBRa0ZCYVVJc1JVRkJSU3hyUWtGQlJpeERRVUYyUWpzN1FVRkZRU3hMUVVGRkxHMUNRVUZHTEVWQlFYVkNMR2RDUVVGMlFpeERRVUYzUXl4VFFVRjRRenM3UVVGRlFTeHJRa0ZCWlN4UFFVRm1MRU5CUVhWQ0xFZEJRWFpDTEVWQlFUUkNMRmxCUVUwN1FVRkRha01zYlVKQlFXVXNTVUZCWml4RFFVRnZRaXhGUVVGd1FpeEZRVVJwUXl4RFFVTlNPMEZCUTNwQ0xEUkNRVUZqTERCQ1FVRmtMRU5CUVhsRExHTkJRWHBETEVWQlFYbEVMRU5CUVVNc1kwRkJSQ3hEUVVGNlJEdEJRVU5CTEdGQlFWTXNUMEZCVkR0QlFVTkJMRWxCU2tRN08wRkJUVUVzUzBGQlJTd3JRa0ZCUml4RlFVRnRReXhIUVVGdVF6czdRVUZGUVN4VlFVRlBMRk5CUVZNc1QwRkJWQ3hGUVVGUU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN08zZERRVXR6UWp0QlFVTnlRaXh2UWtGQlR5eEpRVUZRTEVOQlFWa3NhMEpCUVZvN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN2QwTkJTM05DTzBGQlEzSkNMRzlDUVVGUExFbEJRVkFzUTBGQldTeHJRa0ZCV2p0QlFVTkJPenRCUVVWRU96czdPenM3T3p0elEwRkxiMEk3UVVGQlFUczdRVUZEYmtJc2NVSkJRVkVzVFVGQlVpeEhRVUZwUWl4SlFVRnFRaXhEUVVGelFpeFpRVUZOTzBGQlF6TkNMRmRCUVVzc1QwRkJURHRCUVVOQkxEUkNRVUZqTEc5Q1FVRmtMRU5CUVcxRExFVkJRVVVzYTBKQlFVWXNRMEZCYmtNc1JVRkJNRVFzUTBGQlF5eGpRVUZFTEVOQlFURkVPMEZCUTBFc1YwRkJUeXhSUVVGUUxFTkJRV2RDTEU5QlFXaENMRU5CUVhkQ0xGVkJRVlVzVFVGQlZpeERRVUZwUWl4SFFVRnFRaXhEUVVGeFFpeFpRVUZ5UWl4RFFVRjRRanRCUVVOQkxFbEJTa1E3UVVGTFFUczdRVUZGUkRzN096czdPenM3T3p0M1EwRlBjMElzU3l4RlFVRlBPMEZCUVVFN08wRkJRelZDTEU5QlFVMHNWMEZCVnl4RlFVRkZMRTFCUVUwc1lVRkJVaXhEUVVGcVFqdEJRVU5CTEU5QlFVMHNXVUZCV1N4VFFVRlRMRTlCUVZRc1EwRkJhVUlzVlVGQmFrSXNSVUZCTmtJc1NVRkJOMElzUTBGQmEwTXNZVUZCYkVNc1JVRkJhVVFzU1VGQmFrUXNSVUZCYkVJN08wRkJSVUVzYzBKQlFWTXNVVUZCVkN4RFFVRnJRaXhUUVVGc1FpeEZRVUUyUWl4SlFVRTNRaXhEUVVGclF5eFZRVUZETEUxQlFVUXNSVUZCV1R0QlFVTTNReXcwUWtGQll5eHhRa0ZCWkN4RFFVRnZReXhSUVVGd1F5eEZRVUU0UXl4RFFVRkRMRk5CUVVRc1EwRkJPVU03UVVGRFFTeFhRVUZMTEdsQ1FVRk1MRU5CUVhWQ0xFMUJRWFpDTzBGQlEwRXNWMEZCU3l4clFrRkJURHM3UVVGRlFUdEJRVU5CTEZGQlFVa3NUVUZCVFN4RlFVRkZMRmRCUVVZc1JVRkJaU3hGUVVGRkxEUkNRVUZHTEVWQlFXZERMRkZCUVdoRExFVkJRV1lzUlVGQk1rUXNTVUZCTTBRc1EwRkJaMFVzVFVGQmFFVXNRMEZCVmpzN1FVRkZRU3hSUVVGSkxFbEJRVWtzVDBGQlNpeERRVUZaTEdOQlFWb3NTVUZCT0VJc1EwRkJReXhEUVVGdVF5eEZRVUZ6UXp0QlFVTnlReXhYUVVGTkxFbEJRVWtzVDBGQlNpeERRVUZaTEdsQ1FVRmFMRVZCUVN0Q0xFVkJRUzlDTEVOQlFVNDdRVUZEUVRzN1FVRkZSQ3hSUVVGSkxFbEJRVWtzVDBGQlNpeERRVUZaTEdkQ1FVRmFMRTFCUVd0RExFTkJRVU1zUTBGQmRrTXNSVUZCTUVNN1FVRkRla01zV1VGQlR5eG5Ra0ZCVUR0QlFVTkJPenRCUVVWRUxHMUNRVUZMTEVkQlFVd3NRMEZCVXl4VlFVRlZMRTFCUVZZc1EwRkJhVUlzUjBGQmFrSXNRMEZCY1VJc1dVRkJja0lzU1VGQmNVTXNSMEZCY2tNc1IwRkJNa01zUjBGQmNFUXNSVUZCZVVRc1NVRkJla1FzUTBGQk9FUXNXVUZCVFR0QlFVTnVSU3hUUVVGTkxGbEJRVmtzTkVKQlFUUkNMRzFDUVVGdFFpeFRRVUZ1UWl4RFFVRTVRenRCUVVOQkxGTkJRVTBzVFVGQlRTeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNXVUZCY2tJc1NVRkJjVU1zVTBGQmFrUTdRVUZEUVN4UFFVRkZMRFJDUVVGR0xFVkJRV2RETEVsQlFXaERMRU5CUVhGRExFdEJRWEpETEVWQlFUUkRMRWRCUVRWRE8wRkJRMEVzTmtKQlFXTXNjMEpCUVdRc1EwRkJjVU1zUlVGQlJTeHJRa0ZCUml4RFFVRnlReXhGUVVFMFJDeERRVUZETEZOQlFVUXNRMEZCTlVRN1FVRkRRU3hMUVV4RU8wRkJUVUVzU1VGMFFrUTdRVUYxUWtFN08wRkJSVVE3T3pzN096czdPenM3T3p0dlEwRlRhMElzU3l4RlFVRlBPMEZCUTNoQ0xFOUJRVTBzV1VGQldTeEZRVUZGTEUxQlFVMHNZVUZCVWl4RlFVRjFRaXhQUVVGMlFpeERRVUVyUWl4VlFVRXZRaXhGUVVFeVF5eEpRVUV6UXl4RFFVRm5SQ3hoUVVGb1JDeEZRVUVyUkN4SlFVRXZSQ3hGUVVGc1FqczdRVUZGUVN4UlFVRkxMRTlCUVV3c1IwRkJaU3hKUVVGbUxFTkJRVzlDTEZsQlFVMDdRVUZEZWtJc2NVSkJRVThzU1VGQlVDeERRVUZaTEdWQlFWb3NSVUZCTmtJc1EwRkJReXhUUVVGRUxFTkJRVGRDTzBGQlEwRXNTVUZHUkR0QlFVZEJPenRCUVVWRU96czdPenM3T3pzN08zbERRVTkxUWl4TExFVkJRVTg3UVVGRE4wSXNiMEpCUVU4c1NVRkJVQ3hEUVVGWkxIRkNRVUZhTEVWQlFXMURMRU5CUVVNc1JVRkJSU3hOUVVGTkxHRkJRVklzUlVGQmRVSXNUMEZCZGtJc1EwRkJLMElzVlVGQkwwSXNSVUZCTWtNc1NVRkJNME1zUTBGQlowUXNZVUZCYUVRc1JVRkJLMFFzU1VGQkwwUXNSVUZCUkN4RFFVRnVRenRCUVVOQk96dEJRVVZFT3pzN096czdPenM3TzNORFFVOXZRaXhMTEVWQlFVODdRVUZCUVRzN1FVRkRNVUlzVDBGQlRTeFhRVUZYTEVWQlFVVXNUVUZCVFN4aFFVRlNMRU5CUVdwQ08wRkJRMEVzVDBGQlRTeFJRVUZSTEZWQlFWVXNVVUZCVml4RFFVRnRRaXhUUVVGdVFpeERRVUUyUWl3d1FrRkJOMElzUlVGQmVVUXNXVUZCZWtRc1EwRkJaRHRCUVVOQkxFOUJRVTBzVlVGQlZTeFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNORUpCUVRkQ0xFVkJRVEpFTEZsQlFUTkVMRU5CUVdoQ096dEJRVVZCTEcxQ1FVRk5MRTFCUVU0c1EwRkJZU3hMUVVGaUxFVkJRVzlDTEU5QlFYQkNMRVZCUVRaQ0xFbEJRVGRDTEVOQlFXdERMRmxCUVUwN1FVRkRka01zVVVGQlRTeFpRVUZaTEZOQlFWTXNUMEZCVkN4RFFVRnBRaXhWUVVGcVFpeEZRVUUyUWl4SlFVRTNRaXhEUVVGclF5eGhRVUZzUXl4RlFVRnBSQ3hKUVVGcVJDeEZRVUZzUWpzN1FVRkZRU3gxUWtGQlV5eE5RVUZVTEVOQlFXZENMRk5CUVdoQ0xFVkJRVEpDTEVsQlFUTkNMRU5CUVdkRExGVkJRVU1zVFVGQlJDeEZRVUZaTzBGQlF6TkRMRFpDUVVGakxHMUNRVUZrTEVOQlFXdERMRkZCUVd4RExFVkJRVFJETEVOQlFVTXNVMEZCUkN4RFFVRTFRenRCUVVOQkxGbEJRVXNzYVVKQlFVd3NRMEZCZFVJc1RVRkJka0k3UVVGRFFTeFpRVUZMTEd0Q1FVRk1PMEZCUTBFc1MwRktSRHRCUVV0QkxFbEJVa1E3UVVGVFFUczdRVUZGUkRzN096czdPenM3T3pzN08zVkRRVk54UWl4TExFVkJRVTg3UVVGRE0wSXNUMEZCVFN4WFFVRlhMRVZCUVVVc1RVRkJUU3hoUVVGU0xFTkJRV3BDT3p0QlFVVkJMRTlCUVVrc1RVRkJUU3hOUVVGT0xFdEJRV2xDTEZOQlFWTXNTVUZCVkN4RFFVRmpMR3RDUVVGa0xFVkJRV3RETEVkQlFXeERMRU5CUVhORExFTkJRWFJETEVOQlFXcENMRWxCUTBFc1RVRkJUU3hOUVVGT0xFdEJRV2xDTEZOQlFWTXNTVUZCVkN4RFFVRmpMR3RDUVVGa0xFVkJRV3RETEVkQlFXeERMRU5CUVhORExFTkJRWFJETEVOQlJISkNMRVZCUXl0RU8wRkJRemxFTEZkQlJEaEVMRU5CUTNSRU8wRkJRMUk3TzBGQlJVUXNTMEZCUlN4blEwRkJSaXhGUVVGdlF5eFhRVUZ3UXl4RFFVRm5SQ3hWUVVGb1JEdEJRVU5CTEZsQlFWTXNVVUZCVkN4RFFVRnJRaXhWUVVGc1FqczdRVUZGUVN4UFFVRk5MRmxCUVZrc1JVRkJSU3hKUVVGR0xFVkJRVkVzU1VGQlVpeERRVUZoTEU5QlFXSXNSVUZCYzBJc1NVRkJkRUlzUlVGQmJFSTdRVUZEUVN4UFFVRk5MRmxCUVZrc05FSkJRVFJDTEcxQ1FVRnRRaXhUUVVGVExFbEJRVlFzUTBGQll5eFBRVUZrTEVWQlFYVkNMRWxCUVhaQ0xFVkJRVzVDTEVOQlFUbERPMEZCUTBFc1QwRkJUU3hOUVVGTkxGVkJRVlVzVFVGQlZpeERRVUZwUWl4SFFVRnFRaXhEUVVGeFFpeFpRVUZ5UWl4SlFVRnhReXhUUVVGcVJEdEJRVU5CTEU5QlFVMHNXVUZCV1N4RlFVRkZMRFJDUVVGR0xFVkJRV2RETEVsQlFXaERMRU5CUVhGRExFdEJRWEpETEVOQlFXeENPMEZCUTBFc1QwRkJUU3hYUVVGWExGTkJRVk1zU1VGQlZDeERRVUZqTEdsQ1FVRmtMRVZCUVdsRExFMUJRV3BETEVkQlFUQkRMRU5CUVRORU96dEJRVVZCTEU5QlFVa3NZMEZCWXl4SFFVRmtMRWxCUVhOQ0xGbEJRVmtzWTBGQll5eFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNXVUZCY2tJc1EwRkJjRVFzUlVGQmVVWTdRVUZEZUVZc1YwRkVkMFlzUTBGRGFFWTdRVUZEVWpzN1FVRkZSQ3hMUVVGRkxEUkNRVUZHTEVWQlFXZERMRWxCUVdoRExFTkJRWEZETEV0QlFYSkRMRVZCUVRSRExFZEJRVFZETzBGQlEwRXNNa0pCUVdNc2MwSkJRV1FzUTBGQmNVTXNSVUZCUlN4clFrRkJSaXhEUVVGeVF5eEZRVUUwUkN4RFFVRkRMRk5CUVVRc1EwRkJOVVE3UVVGRFFUczdRVUZGUkRzN096czdPenM3T3pzN096dHJRMEZWWjBJc1N5eEZRVUZQTEZFc1JVRkJWVHRCUVVGQk96dEJRVU5vUXl4UFFVRk5MR0ZCUVdFc1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xGbEJRWEpDTEVsQlFYRkRMRWRCUVhKRExFZEJRMllzUlVGQlJTeFhRVUZHTEVWQlFXVXNSVUZCUlN3MFFrRkJSaXhGUVVGblF5eFJRVUZvUXl4RlFVRm1MRVZCUVRKRUxFbEJRVE5FTEVOQlFXZEZMRTFCUVdoRkxFTkJSRW83TzBGQlIwRXNjMEpCUVZNc1MwRkJWQ3hEUVVGbExGVkJRV1lzUlVGQk1rSXNVMEZCVXl4SlFVRndReXhGUVVFd1F5eEpRVUV4UXl4RFFVRXJReXhaUVVGTk8wRkJRM0JFTEhWQ1FVRlRMRWxCUVZRc1IwRkJaMElzU1VGQmFFSXNRMEZCY1VJc2EwSkJRVlU3UVVGRE9VSXNXVUZCU3l4cFFrRkJUQ3hEUVVGMVFpeFBRVUZQTEUxQlFUbENPMEZCUTBFc1dVRkJTeXhyUWtGQlREdEJRVU5CTEU5QlFVVXNaME5CUVVZc1JVRkJiME1zVFVGQmNFTXNRMEZCTWtNc1ZVRkJReXhMUVVGRUxFVkJRVkVzVDBGQlVpeEZRVUZ2UWp0QlFVTTVSQ3hoUVVGUExFVkJRVVVzVDBGQlJpeEZRVUZYTEVsQlFWZ3NUMEZCYzBJc1UwRkJVeXhKUVVGMFF6dEJRVU5CTEUxQlJrUXNSVUZGUnl4TFFVWklPMEZCUjBFc1MwRk9SRHRCUVU5QkxFbEJVa1E3UVVGVFFUczdRVUZGUkRzN096czdPenM3T3p0M1EwRlBjMElzU3l4RlFVRlBPMEZCUXpWQ0xFOUJRVTBzVFVGQlRTeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNVMEZCY2tJc1NVRkJhME1zY1VKQlFXeERMRWRCUTFRc1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xGVkJRWEpDTEVOQlJGTXNSMEZETUVJc1dVRkVNVUlzUjBGRlZDeHRRa0ZCYlVJc1JVRkJSU3hOUVVGTkxHRkJRVklzUlVGQmRVSXNUMEZCZGtJc1EwRkJLMElzVlVGQkwwSXNSVUZCTWtNc1NVRkJNME1zUTBGQlowUXNUMEZCYUVRc1JVRkJlVVFzU1VGQmVrUXNSVUZCYmtJc1EwRkdVeXhKUVVkU0xGVkJRVlVzVFVGQlZpeERRVUZwUWl4SFFVRnFRaXhEUVVGeFFpeFBRVUZ5UWl4SlFVRm5ReXhSUVVGb1F5eEhRVUV5UXl4RlFVaHVReXhEUVVGYU8wRkJTVUVzVlVGQlR5eEpRVUZRTEVOQlFWa3NSMEZCV2l4RlFVRnBRaXhSUVVGcVFqdEJRVU5CT3p0QlFVVkVPenM3T3pzN096czdPM05EUVU5dlFqdEJRVU51UWl4UFFVRkpMRVZCUVVVc2JVSkJRVVlzUlVGQmRVSXNaMEpCUVROQ0xFVkJRVFpETzBGQlF6VkRMRTFCUVVVc2JVSkJRVVlzUlVGQmRVSXNaMEpCUVhaQ0xFTkJRWGRETEZGQlFYaERPMEZCUTBFN1FVRkRSRHM3UVVGRlJEczdPenM3T3pzN2IwTkJTMnRDTzBGQlEycENMRkZCUVVzc2MwSkJRVXc3UVVGRFFUczdRVUZGUkRzN096czdPenM3TWtOQlMzbENPMEZCUTNoQ0xFOUJRVTBzZDBKQlFYZENMRTlCUVU4c1YwRkJVQ3hIUVVNelFpeEZRVUZGTEhOQ1FVRkdMRVZCUVRCQ0xGZEJRVEZDTEVWQlJESkNMRWRCUlROQ0xFVkJRVVVzYlVOQlFVWXNSVUZCZFVNc1YwRkJka01zUlVGR1NEdEJRVWRCTEV0QlFVVXNiVU5CUVVZc1JVRkJkVU1zVFVGQmRrTXNRMEZCT0VNc2NVSkJRVGxETzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pzN2IwTkJUMnRDTEUwc1JVRkJVVHRCUVVGQk96dEJRVU42UWl4UFFVRk5MRmRCUVZjc1JVRkJSU3d3UWtGQlJpeEZRVUU0UWl4SlFVRTVRaXhGUVVGcVFqdEJRVU5CTEU5QlFVMHNUMEZCVHp0QlFVTmFMREJDUVVGelFpeFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNjMEpCUVRkQ0xFVkJRWEZFTEZsQlFYSkVMRU5CUkZZN1FVRkZXaXgxUWtGQmJVSXNWVUZCVlN4UlFVRldMRU5CUVcxQ0xGTkJRVzVDTEVOQlFUWkNMRzFDUVVFM1FpeEZRVUZyUkN4WlFVRnNSQ3hEUVVaUU8wRkJSMW9zYzBKQlFXdENMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXhyUWtGQk4wSXNSVUZCYVVRc1dVRkJha1FzUTBGSVRqdEJRVWxhTEhsQ1FVRnhRaXhWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzY1VKQlFUZENMRVZCUVc5RUxGbEJRWEJFTEVOQlNsUTdRVUZMV2l4elFrRkJhMElzVlVGQlZTeFJRVUZXTEVOQlFXMUNMRk5CUVc1Q0xFTkJRVFpDTEd0Q1FVRTNRaXhGUVVGcFJDeFpRVUZxUkN4RFFVeE9PMEZCVFZvc2NVSkJRV2xDTEUxQlRrdzdRVUZQV2l4clFrRkJZeXhWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzWTBGQk4wSXNSVUZCTmtNc1dVRkJOME1zUTBGUVJqdEJRVkZhTEhGQ1FVRnBRaXhWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzYVVKQlFUZENMRVZCUVdkRUxGbEJRV2hFTEVOQlVrdzdRVUZUV2l4cFFrRkJZU3hWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzWVVGQk4wSXNSVUZCTkVNc1dVRkJOVU1zUTBGVVJEdEJRVlZhTEhOQ1FVRnJRaXhWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzYTBKQlFUZENMRVZCUVdsRUxGbEJRV3BFTEVOQlZrNDdRVUZYV2l4dFFrRkJaU3hWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzWlVGQk4wSXNSVUZCT0VNc1dVRkJPVU1zUTBGWVNEdEJRVmxhTEhGQ1FVRnBRaXhWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzYVVKQlFUZENMRVZCUVdkRUxGbEJRV2hFTzBGQldrd3NTVUZCWWpzN1FVRmxRVHRCUVVOQkxFOUJRVTBzWVVGQllTeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNZMEZCY2tJc1RVRkJlVU1zU1VGQmVrTXNSMEZCWjBRc1dVRkJhRVFzUjBGQkswUXNXVUZCYkVZN1FVRkRRU3hQUVVGSkxHbENRVUZwUWl4RFFVRkRMRU5CUVhSQ096dEJRVVZCTEV0QlFVVXNTVUZCUml4RFFVRlBMRXRCUVVzc1pVRkJXaXhGUVVFMlFpeFZRVUZETEV0QlFVUXNSVUZCVVN4TFFVRlNMRVZCUVd0Q08wRkJRemxETEZGQlFVa3NUVUZCVFN4SlFVRk9MRXRCUVdVc1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xHVkJRWEpDTEVOQlFXNUNMRVZCUVRCRU8wRkJRM3BFTEhOQ1FVRnBRaXhMUVVGcVFqdEJRVU5CTEZsQlFVOHNTVUZCVUN4RFFVWjVSQ3hEUVVVMVF6dEJRVU5pTzBGQlEwUXNWVUZCVFN4blFrRkJUaXhIUVVGNVFpeExRVUZMTEV0QlFVd3NRMEZCVnl4TlFVRk5MR2RDUVVGcVFpeEZRVUZ0UXl4UlFVRnVReXhEUVVFMFF5eFZRVUUxUXl4RFFVRjZRanRCUVVOQkxFbEJUa1E3TzBGQlVVRTdRVUZEUVN4UFFVRkpMR2xDUVVGcFFpeERRVUZETEVOQlFYUkNMRVZCUVhsQ08wRkJRM2hDTEZOQlFVc3NaVUZCVEN4RFFVRnhRaXhOUVVGeVFpeERRVUUwUWl4alFVRTFRaXhGUVVFMFF5eERRVUUxUXp0QlFVTkJMRWxCUmtRc1RVRkZUenRCUVVOT0xGTkJRVXNzY1VKQlFVdzdRVUZEUVRzN1FVRkZSQ3hMUVVGRkxHdENRVUZHTEVWQlEwVXNTVUZFUml4RFFVTlBMRk5CUVZNc1RVRkJWQ3hEUVVGblFpeFJRVUZvUWl4RlFVRXdRaXhKUVVFeFFpeERRVVJRTEVWQlJVVXNUVUZHUml4SFFVZEZMRWxCU0VZc1EwRkhUeXhqUVVoUUxFVkJTVVVzUjBGS1JpeERRVWxOTEU5QlNrNHNSVUZMUlN4RlFVeEdMRU5CUzBzc1QwRk1UQ3hGUVV0akxHdENRVXhrTEVWQlMydERPMEZCUVVFc1YwRkJVeXhQUVVGTExIRkNRVUZNTEVOQlFUSkNMRXRCUVROQ0xFTkJRVlE3UVVGQlFTeEpRVXhzUXl4RlFVMUZMRVZCVGtZc1EwRk5TeXhQUVU1TUxFVkJUV01zWTBGT1pDeEZRVTA0UWp0QlFVRkJMRmRCUVZNc1QwRkJTeXhwUWtGQlRDeERRVUYxUWl4TFFVRjJRaXhEUVVGVU8wRkJRVUVzU1VGT09VSXNSVUZQUlN4RlFWQkdMRU5CVDBzc1QwRlFUQ3hGUVU5akxHMUNRVkJrTEVWQlQyMURPMEZCUVVFc1YwRkJVeXhQUVVGTExITkNRVUZNTEVOQlFUUkNMRXRCUVRWQ0xFTkJRVlE3UVVGQlFTeEpRVkJ1UXl4RlFWRkZMRVZCVWtZc1EwRlJTeXhQUVZKTUxFVkJVV01zWjBKQlVtUXNSVUZSWjBNN1FVRkJRU3hYUVVGVExFOUJRVXNzYlVKQlFVd3NRMEZCZVVJc1MwRkJla0lzUTBGQlZEdEJRVUZCTEVsQlVtaERMRVZCVTBVc1JVRlVSaXhEUVZOTExFOUJWRXdzUlVGVFl5eHJRa0ZVWkN4RlFWTnJRenRCUVVGQkxGZEJRVk1zVDBGQlN5eHhRa0ZCVEN4RFFVRXlRaXhMUVVFelFpeERRVUZVTzBGQlFVRXNTVUZVYkVNc1JVRlZSU3hGUVZaR0xFTkJWVXNzYzBOQlZrd3NSVUZWTmtNc1ZVRldOME1zUlVGVmVVUTdRVUZCUVN4WFFVRk5MRTlCUVVzc2FVSkJRVXdzUlVGQlRqdEJRVUZCTEVsQlZucEVPenRCUVZsQk8wRkJRMEVzVDBGQlRTeFpRVUZaTEV0QlFVc3NhVUpCUVV3c1NVRkJNRUlzUlVGQlJTeDNRMEZCUml4RlFVRTBReXhKUVVFMVF5eEZRVUUxUXp0QlFVTkJMRTlCUVUwc1dVRkJXU3cwUWtGQk5FSXNiVUpCUVcxQ0xGTkJRVzVDTEVOQlFUbERPenRCUVVWQkxFdEJRVVVzTkVKQlFVWXNSVUZCWjBNc1NVRkJhRU1zUTBGQmNVTXNTMEZCY2tNc1JVRkJORU1zVlVGQlZTeE5RVUZXTEVOQlFXbENMRWRCUVdwQ0xFTkJRWEZDTEZsQlFYSkNMRWxCUVhGRExGTkJRV3BHTzBGQlEwRXNTMEZCUlN4dlEwRkJSaXhGUVVGM1F5eFhRVUY0UXl4RFFVRnZSQ3hWUVVGd1JEdEJRVU5CTEV0QlFVVXNhVU5CUVVZc1JVRkJjVU1zVFVGQmNrTXNRMEZCTkVNc1ZVRkJReXhMUVVGRUxFVkJRVkVzVDBGQlVpeEZRVUZ2UWp0QlFVTXZSQ3hYUVVGUExFVkJRVVVzVDBGQlJpeEZRVUZYTEVsQlFWZ3NUMEZCYzBJc1UwRkJOMEk3UVVGRFFTeEpRVVpFTEVWQlJVY3NUMEZHU0N4RFFVVlhMRlZCUmxnc1JVRkZkVUlzVVVGR2RrSXNRMEZGWjBNc1ZVRkdhRU03TzBGQlNVRTdRVUZEUVN4TFFVRkZMRkZCUVVZc1EwRkJWeXhKUVVGWU96dEJRVVZCTzBGQlEwRXNVVUZCU3l4elFrRkJURHRCUVVOQkxFdEJRVVVzYlVKQlFVWXNSVUZCZFVJc1owSkJRWFpDTzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pzN096czdPenM3TUVOQllYZENPMEZCUTNaQ0xEUkNRVUZsTEVsQlFXWXNSMEZCYzBJc1NVRkJkRUlzUTBGQk1rSXNWVUZCUXl4WlFVRkVMRVZCUVd0Q08wRkJRelZETEZGQlFVa3NZVUZCWVN4TlFVRmlMRU5CUVc5Q0xFMUJRWEJDTEV0QlFTdENMRU5CUVc1RExFVkJRWE5ETzBGQlEzSkRMRmRCUVUwc1NVRkJTU3hMUVVGS0xFTkJRVlVzZDBaQlEySXNVVUZFUnl4RFFVRk9PMEZCUlVFN08wRkJSVVFzZFVKQlFWTXNUVUZCVkN4RFFVRm5RaXhoUVVGaExFMUJRV0lzUTBGQmIwSXNRMEZCY0VJc1JVRkJkVUlzU1VGQmRrTXNSVUZCTmtNc1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xHVkJRWEpDTEVOQlFUZERPMEZCUTBFc1NVRlFSRHRCUVZGQk96dEJRVVZFT3pzN096czdPenQxUTBGTGNVSTdRVUZCUVRzN1FVRkRjRUlzUzBGQlJTeHBRa0ZCUml4RlFVTkZMRWRCUkVZc1EwRkRUU3hQUVVST0xFVkJSVVVzUlVGR1JpeERRVVZMTEU5QlJrd3NSVUZGWXl4VlFVWmtMRVZCUlRCQ08wRkJRVUVzVjBGQlV5eFBRVUZMTEc5Q1FVRk1MRU5CUVRCQ0xFdEJRVEZDTEVOQlFWUTdRVUZCUVN4SlFVWXhRaXhGUVVkRkxFVkJTRVlzUTBGSFN5eFBRVWhNTEVWQlIyTXNiVUpCU0dRc1JVRkhiVU03UVVGQlFTeFhRVUZOTEU5QlFVc3NiVUpCUVV3c1JVRkJUanRCUVVGQkxFbEJTRzVETEVWQlNVVXNSVUZLUml4RFFVbExMRTlCU2t3c1JVRkpZeXh0UWtGS1pDeEZRVWx0UXp0QlFVRkJMRmRCUVUwc1QwRkJTeXh0UWtGQlRDeEZRVUZPTzBGQlFVRXNTVUZLYmtNc1JVRkxSU3hGUVV4R0xFTkJTMHNzVDBGTVRDeEZRVXRqTEdkQ1FVeGtMRVZCUzJkRE8wRkJRVUVzVjBGQlRTeFBRVUZMTEdsQ1FVRk1MRVZCUVU0N1FVRkJRU3hKUVV4b1F6czdRVUZQUVN4TFFVRkZMRTFCUVVZc1JVRkRSU3hIUVVSR0xFTkJRMDBzZDBKQlJFNHNSVUZGUlN4RlFVWkdMRU5CUlVzc2QwSkJSa3dzUlVGRkswSXNWVUZCUXl4TFFVRkVMRVZCUVZFc1VVRkJVanRCUVVGQkxGZEJRWEZDTEU5QlFVc3NaVUZCVEN4RFFVRnhRaXhMUVVGeVFpeEZRVUUwUWl4UlFVRTFRaXhEUVVGeVFqdEJRVUZCTEVsQlJpOUNPenRCUVVsQkxFdEJRVVVzVFVGQlJpeEZRVU5GTEVkQlJFWXNRMEZEVFN4UlFVUk9MRVZCUlVVc1JVRkdSaXhEUVVWTExGRkJSa3dzUlVGRlowSTdRVUZCUVN4WFFVRk5MRTlCUVVzc1pVRkJUQ3hGUVVGT08wRkJRVUVzU1VGR2FFSTdRVUZIUVRzN096czdPMnRDUVRsWmJVSXNXVHM3TzBGRE1VSnlRanM3T3pzN096czdPMEZCVlVFN096czdPenM3TzBGQlJVRTdPenM3UVVGRFFUczdPenM3T3pzN1FVRkZRVHM3T3pzN096dEpRVTl4UWl4cFFqdEJRVU53UWpzN096czdRVUZMUVN3MFFrRkJXU3hQUVVGYUxFVkJRWEZDTzBGQlFVRTdPMEZCUTNCQ0xGbEJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeFBRVUUzUWpzN1FVRkZRVHM3T3pzN1FVRkxRU3hQUVVGTExFOUJRVXdzUjBGQlpTeFBRVUZtT3p0QlFVVkJPenM3T3p0QlFVdEJMRTlCUVVzc1RVRkJUQ3hIUVVGakxFbEJRV1E3UVVGRFFUczdRVUZGUkRzN096czdPenNyUWtGSFlUdEJRVUZCT3p0QlFVTmFMRTlCUVUwc1QwRkJUenRCUVVOYUxDdENRVUV5UWl4VlFVRlZMRkZCUVZZc1EwRkJiVUlzVTBGQmJrSXNRMEZCTmtJc01rSkJRVGRDTEVWQlFUQkVMRmxCUVRGRUxFTkJSR1k3UVVGRldpeGxRVUZYTEZWQlFWVXNUVUZCVml4RFFVRnBRaXhIUVVGcVFpeERRVUZ4UWl4WlFVRnlRaXhKUVVGeFF5eEhRVUZ5UXl4SFFVRXlReXhWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzVjBGQmNrSXNRMEZCTTBNc1IwRkRWQ3hMUVVGTExFOUJRVXdzUTBGQllTeEpRVUZpTEVOQlFXdENMR2xDUVVGc1FpeEZRVUZ4UXl4SlFVRnlRenRCUVVoVkxFbEJRV0k3TzBGQlRVRXNVVUZCU3l4TlFVRk1MRWRCUVdNc1owSkJRVTBzU1VGQlRpeERRVUZYTEVWQlFVVXNLMEpCUVVZc1EwRkJXQ3hGUVVFclF5eEpRVUV2UXl4RFFVRmtPenRCUVVWQkxGRkJRVXNzVFVGQlRDeERRVUZaTEVWQlFWb3NRMEZCWlN4UFFVRm1MRVZCUVhkQ0xGTkJRWGhDTEVWQlFXMURPMEZCUVVFc1YwRkJUU3hOUVVGTExFOUJRVXdzUlVGQlRqdEJRVUZCTEVsQlFXNURPenRCUVVWQkxESkNRVUZqTERSQ1FVRmtMRU5CUVRKRExFdEJRVXNzVFVGQmFFUXNSVUZCZDBRc1EwRkJReXh0UWtGQlJDeERRVUY0UkRzN1FVRkZRU3hMUVVGRkxGRkJRVVlzUTBGQlZ5eEpRVUZZTzBGQlEwRTdPMEZCUlVRN096czdPenMwUWtGSFZUdEJRVU5VTEcxQ1FVRk5MRWxCUVU0c1EwRkJWeXhMUVVGTExFMUJRV2hDTzBGQlEwRXNNa0pCUVdNc01FSkJRV1FzUTBGQmVVTXNTMEZCU3l4TlFVRTVReXhGUVVGelJDeERRVUZETEcxQ1FVRkVMRU5CUVhSRU8wRkJRMEU3T3pzN096dHJRa0ZxUkcxQ0xHbENPenM3UVVOMFFuSkNPenM3T3pzN096czdRVUZWUVRzN096czdPenM3UVVGRlFUczdPenRCUVVOQk96czdPMEZCUTBFN096czdPenM3TzBGQlJVRTdPenM3T3pzN1NVRlBjVUlzWjBJN1FVRkRjRUk3T3pzN08wRkJTMEVzTWtKQlFWa3NUMEZCV2l4RlFVRnhRanRCUVVGQk96dEJRVU53UWl4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1QwRkJOMEk3TzBGQlJVRTdPenM3TzBGQlMwRXNUMEZCU3l4UFFVRk1MRWRCUVdVc1QwRkJaanM3UVVGRlFUczdPenM3UVVGTFFTeFBRVUZMTEUxQlFVd3NSMEZCWXl4SlFVRmtPMEZCUTBFN08wRkJSVVE3T3pzN096czdLMEpCUjJFN1FVRkRXaXhQUVVGTkxFOUJRVTg3UVVGRFdpdzRRa0ZCTUVJc1ZVRkJWU3hSUVVGV0xFTkJRVzFDTEZOQlFXNUNMRU5CUVRaQ0xEQkNRVUUzUWl4RlFVRjVSQ3haUVVGNlJDeERRVVJrTzBGQlJWb3NkMEpCUVc5Q0xGVkJRVlVzVVVGQlZpeERRVUZ0UWl4VFFVRnVRaXhEUVVFMlFpeHZRa0ZCTjBJc1JVRkJiVVFzV1VGQmJrUXNRMEZHVWp0QlFVZGFMRzFDUVVGbExGVkJRVlVzVVVGQlZpeERRVUZ0UWl4VFFVRnVRaXhEUVVFMlFpeGxRVUUzUWl4RlFVRTRReXhaUVVFNVF5eERRVWhJTzBGQlNWb3NiVUpCUVdVc1ZVRkJWU3hSUVVGV0xFTkJRVzFDTEZOQlFXNUNMRU5CUVRaQ0xHVkJRVGRDTEVWQlFUaERMRmxCUVRsRE8wRkJTa2dzU1VGQllqczdRVUZQUVN4UlFVRkxMRTFCUVV3c1IwRkJZeXhuUWtGQlRTeEpRVUZPTEVOQlFWY3NSVUZCUlN3NFFrRkJSaXhEUVVGWUxFVkJRVGhETEVsQlFUbERMRU5CUVdRN08wRkJSVUVzVVVGQlN5eHJRa0ZCVERzN1FVRkZRU3hMUVVGRkxGRkJRVVlzUTBGQlZ5eEpRVUZZT3p0QlFVVkJMREpDUVVGakxEUkNRVUZrTEVOQlFUSkRMRXRCUVVzc1RVRkJhRVFzUlVGQmQwUXNRMEZCUXl4clFrRkJSQ3hEUVVGNFJEdEJRVU5CT3p0QlFVVkVPenM3T3pzN05FSkJSMVU3UVVGRFZDeHRRa0ZCVFN4SlFVRk9MRU5CUVZjc1MwRkJTeXhOUVVGb1FqdEJRVU5CTERKQ1FVRmpMREJDUVVGa0xFTkJRWGxETEV0QlFVc3NUVUZCT1VNc1JVRkJjMFFzUTBGQlF5eHJRa0ZCUkN4RFFVRjBSRHRCUVVOQk96dEJRVVZFT3pzN096czdPenR0UTBGTGFVSTdRVUZCUVRzN1FVRkRhRUlzVDBGQlRTeGhRVUZoTEV0QlFVc3NUVUZCVEN4RFFVRlpMRWxCUVZvc1EwRkJhVUlzVVVGQmFrSXNRMEZCYmtJN08wRkJSVUVzWTBGQlZ5eE5RVUZZTEVkQlFXOUNMRmRCUVhCQ0xFTkJRV2RETEhOQ1FVRm9RenM3UVVGRlFTeFBRVUZKTEZkQlFWY3NSMEZCV0N4UFFVRnhRaXhGUVVGNlFpeEZRVUUyUWp0QlFVTTFRaXhsUVVGWExFMUJRVmdzUjBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzYzBKQlFUZENPMEZCUTBFc1pVRkJWeXhMUVVGWU8wRkJRMEU3UVVGRFFUczdRVUZGUkN4elFrRkJVeXhOUVVGVUxFTkJRV2RDTEZWQlFXaENMRVZCUTBVc1NVRkVSaXhEUVVOUExHOUNRVUZaTzBGQlEycENPMEZCUTBFc1VVRkJTU3hOUVVGTExFOUJRVXdzUTBGQllTeEpRVUZpTEVOQlFXdENMRzFDUVVGdFFpeFJRVUZ1UWl4SFFVRTRRaXhKUVVGb1JDeEZRVUZ6UkN4TlFVRjBSQ3hMUVVGcFJTeERRVUZ5UlN4RlFVRjNSVHRCUVVOMlJTeFBRVUZGTERKQ1FVRkdMRVZCUVN0Q0xFMUJRUzlDTEVOQlFYTkRMRWxCUVVrc1RVRkJTaXhEUVVGWExGRkJRVmdzUlVGQmNVSXNVVUZCY2tJc1EwRkJkRU03UVVGRFFUdEJRVU5FTEZWQlFVc3NUMEZCVEN4RFFVRmhMRWRCUVdJc1EwRkJhVUlzVVVGQmFrSXNSVUZCTWtJc1QwRkJNMElzUTBGQmJVTXNVVUZCYmtNN1FVRkRRU3hWUVVGTExFOUJRVXc3UVVGRFFTeEpRVkpHTEVWQlUwVXNTVUZVUml4RFFWTlBMRlZCUVVNc1MwRkJSQ3hGUVVGUkxFbEJRVklzUlVGQll5eExRVUZrTEVWQlFYZENPMEZCUXpkQ0xHOUNRVUZOTEU5QlFVNHNRMEZCWXl4VlFVRlZMRkZCUVZZc1EwRkJiVUlzVTBGQmJrSXNRMEZCTmtJc2QwSkJRVGRDTEVWQlFYVkVMRmxCUVhaRUxFTkJRV1FzUlVGRFF5eFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNNRUpCUVRkQ0xFVkJRWGxFTEZsQlFYcEVMRU5CUkVRN1FVRkZRU3hqUVVGVkxFdEJRVllzUTBGQlowSXNSMEZCYUVJc1EwRkJiMElzYjBKQlFYQkNMRVZCUVRCRExFdEJRVEZETEVWQlFXbEVMRWxCUVdwRUxFVkJRWFZFTEV0QlFYWkVPMEZCUTBFc1NVRmlSanRCUVdOQk96dEJRVVZFT3pzN096czdPenR0UTBGTGFVSTdRVUZEYUVJc1VVRkJTeXhQUVVGTU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN08zVkRRVXR4UWp0QlFVRkJPenRCUVVOd1FpeFJRVUZMTEUxQlFVd3NRMEZEUlN4RlFVUkdMRU5CUTBzc1QwRkVUQ3hGUVVOakxHRkJSR1FzUlVGRE5rSTdRVUZCUVN4WFFVRk5MRTlCUVVzc1kwRkJUQ3hGUVVGT08wRkJRVUVzU1VGRU4wSXNSVUZGUlN4RlFVWkdMRU5CUlVzc1QwRkdUQ3hGUVVWakxHRkJSbVFzUlVGRk5rSTdRVUZCUVN4WFFVRk5MRTlCUVVzc1kwRkJUQ3hGUVVGT08wRkJRVUVzU1VGR04wSTdRVUZIUVRzN096czdPMnRDUVhSSGJVSXNaMEk3T3p0QlEzWkNja0k3T3pzN096czdPenRCUVZWQk96dEJRVVZCT3pzN096czdPenRCUVVWQk96czdPMEZCUTBFN096czdRVUZEUVRzN096czdPenM3UVVGRlFUczdPenM3TzBsQlRYRkNMR2RDTzBGQlEzQkNPenM3UVVGSFFTdzJRa0ZCWXp0QlFVRkJPenRCUVVOaU96czdPenRCUVV0QkxFOUJRVXNzVFVGQlRDeEhRVUZqTEVsQlFXUTdPMEZCUlVFN096czdPMEZCUzBFc1QwRkJTeXhYUVVGTUxFZEJRVzFDTEVsQlFXNUNPMEZCUTBFN08wRkJSVVE3T3pzN096czdLMEpCUjJFN1FVRkRXaXhQUVVGTkxFOUJRVTg3UVVGRFdpdzRRa0ZCTUVJc1ZVRkJWU3hSUVVGV0xFTkJRVzFDTEZOQlFXNUNMRU5CUVRaQ0xEQkNRVUUzUWl4RlFVRjVSQ3haUVVGNlJDeERRVVJrTzBGQlJWb3NORUpCUVhkQ0xGVkJRVlVzVVVGQlZpeERRVUZ0UWl4VFFVRnVRaXhEUVVFMlFpeDNRa0ZCTjBJc1JVRkJkVVFzV1VGQmRrUXNRMEZHV2p0QlFVZGFMSGRDUVVGdlFpeFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNiMEpCUVRkQ0xFVkJRVzFFTEZsQlFXNUVMRU5CU0ZJN1FVRkpXaXh0UWtGQlpTeFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNaVUZCTjBJc1JVRkJPRU1zV1VGQk9VTXNRMEZLU0R0QlFVdGFMRzFDUVVGbExGVkJRVlVzVVVGQlZpeERRVUZ0UWl4VFFVRnVRaXhEUVVFMlFpeGxRVUUzUWl4RlFVRTRReXhaUVVFNVF6dEJRVXhJTEVsQlFXSTdPMEZCVVVFc1VVRkJTeXhOUVVGTUxFZEJRV01zWjBKQlFVMHNTVUZCVGl4RFFVRlhMRVZCUVVVc09FSkJRVVlzUTBGQldDeEZRVUU0UXl4SlFVRTVReXhEUVVGa096dEJRVVZCTzBGQlEwRXNVVUZCU3l4TlFVRk1MRU5CUVZrc1NVRkJXaXhEUVVGcFFpd3dRa0ZCYWtJc1JVRkJOa01zUzBGQk4wTTdPMEZCUlVFN1FVRkRRU3hSUVVGTExGZEJRVXdzUjBGQmJVSXNTVUZCU1N4eFFrRkJTaXhEUVVGblFpeExRVUZMTEUxQlFVd3NRMEZCV1N4SlFVRmFMRU5CUVdsQ0xHTkJRV3BDTEVOQlFXaENMRVZCUTJ4Q0xGVkJRVlVzVFVGQlZpeERRVUZwUWl4SFFVRnFRaXhEUVVGeFFpeFRRVUZ5UWl4SlFVRnJReXh4UWtGQmJFTXNSMEZCTUVRc1ZVRkJWU3hOUVVGV0xFTkJRV2xDTEVkQlFXcENMRU5CUVhGQ0xGVkJRWEpDTEVOQlFURkVMRWRCUVRaR0xGTkJRVGRHTEVsQlEwY3NWVUZCVlN4TlFVRldMRU5CUVdsQ0xFZEJRV3BDTEVOQlFYRkNMRTlCUVhKQ0xFbEJRV2RETEZGQlFXaERMRWRCUVRKRExFVkJSRGxETEVOQlJHdENMRU5CUVc1Q096dEJRVWxCTEZGQlFVc3NhMEpCUVV3N08wRkJSVUVzTWtKQlFXTXNORUpCUVdRc1EwRkJNa01zUzBGQlN5eE5RVUZvUkN4RlFVRjNSQ3hEUVVGRExHdENRVUZFTEVOQlFYaEVPenRCUVVWQkxFdEJRVVVzVVVGQlJpeERRVUZYTEVsQlFWZzdRVUZEUVRzN1FVRkZSRHM3T3pzN096UkNRVWRWTzBGQlExUXNiVUpCUVUwc1NVRkJUaXhEUVVGWExFdEJRVXNzVFVGQmFFSTdRVUZEUVN3eVFrRkJZeXd3UWtGQlpDeERRVUY1UXl4TFFVRkxMRTFCUVRsRExFVkJRWE5FTEVOQlFVTXNhMEpCUVVRc1EwRkJkRVE3UVVGRFFUczdRVUZGUkRzN096czdPenM3T3p0cFEwRlBaU3hMTEVWQlFVODdRVUZEY2tJc1QwRkJUU3hYUVVGWExFVkJRVVVzVFVGQlRTeGhRVUZTTEVWQlFYVkNMRWRCUVhaQ0xFVkJRV3BDTzBGQlEwRXNTMEZCUlN4TlFVRk5MR0ZCUVZJc1JVRkJkVUlzVVVGQmRrSXNRMEZCWjBNc1dVRkJhRU1zUlVGQk9FTXNTVUZCT1VNc1EwRkJiVVFzWVVGQmJrUXNSVUZCYTBVc1VVRkJiRVU3UVVGRFFUczdRVUZGUkRzN096czdPenM3T3p0cFEwRlBaU3hMTEVWQlFVODdRVUZCUVRzN1FVRkRja0lzVDBGQlRTeFhRVUZYTEVWQlFVVXNUVUZCVFN4aFFVRlNMRU5CUVdwQ08wRkJRMEVzVDBGQlRTeG5Ra0ZCWjBJc1MwRkJTeXhOUVVGTUxFTkJRVmtzU1VGQldpeERRVUZwUWl4aFFVRnFRaXhEUVVGMFFqdEJRVU5CTEU5QlFVMHNaMEpCUVdkQ0xFdEJRVXNzVFVGQlRDeERRVUZaTEVsQlFWb3NRMEZCYVVJc1kwRkJha0lzUTBGQmRFSTdPMEZCUlVFc2FVSkJRV01zVFVGQlpDeEhRVUYxUWl4WFFVRjJRaXhEUVVGdFF5eFhRVUZ1UXp0QlFVTkJMR2xDUVVGakxFMUJRV1FzUjBGQmRVSXNWMEZCZGtJc1EwRkJiVU1zYzBKQlFXNURPenRCUVVWQkxFOUJRVWtzWTBGQll5eEhRVUZrTEU5QlFYZENMRVZCUVRWQ0xFVkJRV2RETzBGQlF5OUNMR3RDUVVGakxFMUJRV1FzUjBGQmRVSXNVVUZCZGtJc1EwRkJaME1zVjBGQmFFTTdRVUZEUVN4clFrRkJZeXhMUVVGa08wRkJRMEU3UVVGRFFUczdRVUZGUkN4UFFVRkpMR05CUVdNc1IwRkJaQ3hQUVVGM1FpeEZRVUUxUWl4RlFVRm5RenRCUVVNdlFpeHJRa0ZCWXl4TlFVRmtMRWRCUVhWQ0xGRkJRWFpDTEVOQlFXZERMSE5DUVVGb1F6dEJRVU5CTEd0Q1FVRmpMRXRCUVdRN1FVRkRRVHRCUVVOQk96dEJRVVZFTEZGQlFVc3NWMEZCVEN4RFFVRnBRaXhOUVVGcVFpeERRVUYzUWl4alFVRmpMRWRCUVdRc1JVRkJlRUlzUlVGQk5rTXNTVUZCTjBNc1EwRkJhMFFzYjBKQlFWazdRVUZETjBRc05FSkJRV01zYlVKQlFXUXNRMEZCYTBNc1VVRkJiRU1zUlVGQk5FTXNRMEZCUXl4UlFVRkVMRU5CUVRWRE8wRkJRMEVzYjBKQlFVMHNTVUZCVGl4RFFVRlhMRTFCUVVzc1RVRkJhRUlzUlVGR05rUXNRMEZGY0VNN1FVRkRla0lzU1VGSVJEdEJRVWxCT3p0QlFVVkVPenM3T3pzN096dHRRMEZMYVVJN1FVRkRhRUlzVVVGQlN5eFBRVUZNTzBGQlEwRTdPMEZCUlVRN096czdPenM3TzNWRFFVdHhRanRCUVVGQk96dEJRVU53UWl4UlFVRkxMRTFCUVV3c1EwRkRSU3hGUVVSR0xFTkJRMHNzVDBGRVRDeEZRVU5qTEdGQlJHUXNSVUZETmtJN1FVRkJRU3hYUVVGVExFOUJRVXNzWTBGQlRDeERRVUZ2UWl4TFFVRndRaXhEUVVGVU8wRkJRVUVzU1VGRU4wSXNSVUZGUlN4RlFVWkdMRU5CUlVzc1QwRkdUQ3hGUVVWakxHRkJSbVFzUlVGRk5rSTdRVUZCUVN4WFFVRk5MRTlCUVVzc1kwRkJUQ3hGUVVGT08wRkJRVUVzU1VGR04wSXNSVUZIUlN4RlFVaEdMRU5CUjBzc1VVRklUQ3hGUVVkbExHTkJTR1lzUlVGSEswSTdRVUZCUVN4WFFVRlRMRTlCUVVzc1kwRkJUQ3hEUVVGdlFpeExRVUZ3UWl4RFFVRlVPMEZCUVVFc1NVRklMMEk3UVVGSlFUczdPenM3TzJ0Q1FYcEliVUlzWjBJN096dEJRM2hDY2tJN096czdPenM3T3p0QlFWVkJPenM3T3pzN096dEJRVVZCT3pzN096czdPenM3T3pzN1FVRkZRVHM3TzBsQlIzRkNMRlU3T3p0QlFVTndRanM3TzBGQlIwRXNkVUpCUVdNN1FVRkJRVHM3UVVGSFlqczdPenM3UVVGSVlUczdRVUZSWWl4UlFVRkxMRkZCUVV3c1IwRkJaMElzU1VGQmFFSTdRVUZTWVR0QlFWTmlPenRCUVVWRU96czdPenM3T3pzN1owTkJTMk03UVVGRFlpeFZRVUZQTEV0QlFVc3NVVUZCV2p0QlFVTkJPenRCUVVWRU96czdPenM3T3pzN096aENRVTlaTEZFc1JVRkJWVHRCUVVOeVFpeGhRVUZWTEZOQlFWWXNRMEZCYjBJc1MwRkJjRUlzUTBGQk1FSXNVVUZCTVVJN1FVRkRRU3hSUVVGTExGRkJRVXdzUjBGQlowSXNVVUZCYUVJN1FVRkRRU3hWUVVGUExFbEJRVkE3UVVGRFFUczdPenRGUVc1RGMwTXNhVUk3TzJ0Q1FVRnVRaXhWT3pzN1FVTnFRbkpDT3pzN096czdPenM3UVVGVlFUczdRVUZGUVRzN096czdPenM3T3pzN08wbEJSM0ZDTEZVN1FVRkRjRUk3T3p0QlFVZEJMSFZDUVVGak8wRkJRVUU3TzBGQlEySTdPenM3TzBGQlMwRXNUMEZCU3l4SlFVRk1MRWRCUVZrc1NVRkJXanM3UVVGRlFUczdPenM3UVVGTFFTeFBRVUZMTEV0QlFVd3NSMEZCWVN4SlFVRmlPenRCUVVWQk96czdPenRCUVV0QkxFOUJRVXNzU1VGQlRDeEhRVUZaTEVsQlFWbzdPMEZCUlVFN096czdPMEZCUzBFc1QwRkJTeXhKUVVGTUxFZEJRVmtzU1VGQldqczdRVUZGUVRzN096czdRVUZMUVN4UFFVRkxMRTlCUVV3c1IwRkJaU3hKUVVGbU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czBRa0ZMVlR0QlFVTlVMRlZCUVU4c1MwRkJTeXhKUVVGYU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czdNRUpCVDFFc1NTeEZRVUZOTzBGQlEySXNZVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRWxCUVRkQ08wRkJRMEVzVVVGQlN5eEpRVUZNTEVkQlFWa3NTVUZCV2p0QlFVTkJMRlZCUVU4c1NVRkJVRHRCUVVOQk96dEJRVVZFT3pzN096czdPenMyUWtGTFZ6dEJRVU5XTEZWQlFVOHNTMEZCU3l4TFFVRmFPMEZCUTBFN08wRkJSVVE3T3pzN096czdPenM3TWtKQlQxTXNTeXhGUVVGUE8wRkJRMllzWVVGQlZTeFRRVUZXTEVOQlFXOUNMRkZCUVhCQ0xFTkJRVFpDTEV0QlFUZENPMEZCUTBFc1VVRkJTeXhMUVVGTUxFZEJRV0VzUzBGQllqdEJRVU5CTEZWQlFVOHNTVUZCVUR0QlFVTkJPenRCUVVWRU96czdPenM3T3pzMFFrRkxWVHRCUVVOVUxGVkJRVThzUzBGQlN5eEpRVUZhTzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pzN01FSkJUMUVzU1N4RlFVRk5PMEZCUTJJc1lVRkJWU3hUUVVGV0xFTkJRVzlDTEZGQlFYQkNMRU5CUVRaQ0xFbEJRVGRDTzBGQlEwRXNVVUZCU3l4SlFVRk1MRWRCUVZrc1NVRkJXanRCUVVOQkxGVkJRVThzU1VGQlVEdEJRVU5CT3p0QlFVVkVPenM3T3pzN096czBRa0ZMVlR0QlFVTlVMRlZCUVU4c1MwRkJTeXhKUVVGYU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czdNRUpCVDFFc1NTeEZRVUZOTzBGQlEySXNZVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRWxCUVRkQ08wRkJRMEVzVVVGQlN5eEpRVUZNTEVkQlFWa3NTVUZCV2p0QlFVTkJMRlZCUVU4c1NVRkJVRHRCUVVOQk96dEJRVVZFT3pzN096czdPenNyUWtGTFlUdEJRVU5hTEZWQlFVOHNTMEZCU3l4UFFVRmFPMEZCUTBFN08wRkJSVVE3T3pzN096czdPenM3TmtKQlQxY3NUeXhGUVVGVE8wRkJRMjVDTEdGQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4UFFVRTNRanRCUVVOQkxGRkJRVXNzVDBGQlRDeEhRVUZsTEU5QlFXWTdRVUZEUVN4VlFVRlBMRWxCUVZBN1FVRkRRVHM3T3pzN08ydENRWEpLYlVJc1ZUczdPMEZEWm5KQ096czdPenM3T3pzN1FVRlZRVHM3UVVGRlFUczdPenM3T3pzN096czdPMGxCUjNGQ0xGYzdRVUZEY0VJN096dEJRVWRCTEhkQ1FVRmpPMEZCUVVFN08wRkJRMkk3T3pzN08wRkJTMEVzVDBGQlN5eExRVUZNTEVkQlFXRXNTVUZCWWpzN1FVRkZRVHM3T3pzN1FVRkxRU3hQUVVGTExFbEJRVXdzUjBGQldTeEpRVUZhT3p0QlFVVkJPenM3T3p0QlFVdEJMRTlCUVVzc1ZVRkJUQ3hIUVVGclFpeEpRVUZzUWpzN1FVRkZRVHM3T3pzN1FVRkxRU3hQUVVGTExGTkJRVXdzUjBGQmFVSXNTVUZCYWtJN08wRkJSVUU3T3pzN08wRkJTMEVzVDBGQlN5eFZRVUZNTEVkQlFXdENMRWxCUVd4Q08wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czJRa0ZMVnp0QlFVTldMRlZCUVU4c1MwRkJTeXhMUVVGYU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czdNa0pCVDFNc1V5eEZRVUZYTzBGQlEyNUNMR0ZCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhUUVVFM1FqdEJRVU5CTEZGQlFVc3NTMEZCVEN4SFFVRmhMRk5CUVdJN1FVRkRRU3hWUVVGUExFbEJRVkE3UVVGRFFUczdRVUZGUkRzN096czdPenM3TkVKQlMxVTdRVUZEVkN4VlFVRlBMRXRCUVVzc1NVRkJXanRCUVVOQk96dEJRVVZFT3pzN096czdPenM3T3pCQ1FVOVJMRWtzUlVGQlRUdEJRVU5pTEdGQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4SlFVRTNRanRCUVVOQkxGRkJRVXNzU1VGQlRDeEhRVUZaTEVsQlFWbzdRVUZEUVN4VlFVRlBMRWxCUVZBN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN2EwTkJTMmRDTzBGQlEyWXNWVUZCVHl4TFFVRkxMRlZCUVZvN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN096dG5RMEZQWXl4VkxFVkJRVms3UVVGRGVrSXNZVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRlZCUVRkQ08wRkJRMEVzVVVGQlN5eFZRVUZNTEVkQlFXdENMRlZCUVd4Q08wRkJRMEVzVlVGQlR5eEpRVUZRTzBGQlEwRTdPMEZCUlVRN096czdPenM3TzJsRFFVdGxPMEZCUTJRc1ZVRkJUeXhMUVVGTExGTkJRVm83UVVGRFFUczdRVUZGUkRzN096czdPenM3T3pzclFrRlBZU3hUTEVWQlFWYzdRVUZEZGtJc1lVRkJWU3hUUVVGV0xFTkJRVzlDTEZGQlFYQkNMRU5CUVRaQ0xGTkJRVGRDTzBGQlEwRXNVVUZCU3l4VFFVRk1MRWRCUVdsQ0xGTkJRV3BDTzBGQlEwRXNWVUZCVHl4SlFVRlFPMEZCUTBFN08wRkJSVVE3T3pzN096czdPMnREUVV0blFqdEJRVU5tTEZWQlFVOHNTMEZCU3l4VlFVRmFPMEZCUTBFN08wRkJSVVE3T3pzN096czdPenM3WjBOQlQyTXNWU3hGUVVGWk8wRkJRM3BDTEdGQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4VlFVRTNRanRCUVVOQkxGRkJRVXNzVlVGQlRDeEhRVUZyUWl4VlFVRnNRanRCUVVOQkxGVkJRVThzU1VGQlVEdEJRVU5CT3pzN096czdhMEpCY2twdFFpeFhPenM3UVVObWNrSTdPenM3T3pzN096dEJRVlZCT3p0QlFVVkJPenM3T3pzN096czdPenM3U1VGSGNVSXNUenRCUVVOd1FqczdPMEZCUjBFc2IwSkJRV003UVVGQlFUczdRVUZEWWpzN096czdRVUZMUVN4UFFVRkxMRXRCUVV3c1IwRkJZU3hKUVVGaU96dEJRVVZCT3pzN096dEJRVXRCTEU5QlFVc3NTVUZCVEN4SFFVRlpMRWxCUVZvN08wRkJSVUU3T3pzN08wRkJTMEVzVDBGQlN5eExRVUZNTEVkQlFXRXNTVUZCWWpzN1FVRkZRVHM3T3pzN1FVRkxRU3hQUVVGTExFbEJRVXdzUjBGQldTeEpRVUZhT3p0QlFVVkJPenM3T3p0QlFVdEJMRTlCUVVzc1MwRkJUQ3hIUVVGaExFbEJRV0k3TzBGQlJVRTdPenM3TzBGQlMwRXNUMEZCU3l4aFFVRk1MRWRCUVhGQ0xFbEJRWEpDT3p0QlFVVkJPenM3T3p0QlFVdEJMRTlCUVVzc1QwRkJUQ3hIUVVGbExFbEJRV1k3TzBGQlJVRTdPenM3TzBGQlMwRXNUMEZCU3l4SlFVRk1MRWRCUVZrc1NVRkJXanRCUVVOQk96dEJRVVZFT3pzN096czdPenM3TmtKQlMxYzdRVUZEVml4VlFVRlBMRXRCUVVzc1MwRkJXanRCUVVOQk96dEJRVVZFT3pzN096czdPenM3T3pKQ1FVOVRMRXNzUlVGQlR6dEJRVU5tTEdGQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4TFFVRTNRanRCUVVOQkxGRkJRVXNzUzBGQlRDeEhRVUZoTEV0QlFXSTdRVUZEUVN4VlFVRlBMRWxCUVZBN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN05FSkJTMVU3UVVGRFZDeFZRVUZQTEV0QlFVc3NTVUZCV2p0QlFVTkJPenRCUVVWRU96czdPenM3T3pzN096QkNRVTlSTEVrc1JVRkJUVHRCUVVOaUxHRkJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeEpRVUUzUWp0QlFVTkJMRkZCUVVzc1NVRkJUQ3hIUVVGWkxFbEJRVm83UVVGRFFTeFZRVUZQTEVsQlFWQTdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdOa0pCUzFjN1FVRkRWaXhWUVVGUExFdEJRVXNzUzBGQldqdEJRVU5CT3p0QlFVVkVPenM3T3pzN096czdPekpDUVU5VExFc3NSVUZCVHp0QlFVTm1MR0ZCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhMUVVFM1FqdEJRVU5CTEZGQlFVc3NTMEZCVEN4SFFVRmhMRXRCUVdJN1FVRkRRU3hWUVVGUExFbEJRVkE3UVVGRFFUczdRVUZGUkRzN096czdPenM3TkVKQlMxVTdRVUZEVkN4VlFVRlBMRXRCUVVzc1NVRkJXanRCUVVOQk96dEJRVVZFT3pzN096czdPenM3T3pCQ1FVOVJMRWtzUlVGQlRUdEJRVU5pTEdGQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4SlFVRTNRanRCUVVOQkxGRkJRVXNzU1VGQlRDeEhRVUZaTEVsQlFWbzdRVUZEUVN4VlFVRlBMRWxCUVZBN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN05rSkJTMWM3UVVGRFZpeFZRVUZQTEV0QlFVc3NTMEZCV2p0QlFVTkJPenRCUVVWRU96czdPenM3T3pzN096czdNa0pCVTFNc1N5eEZRVUZQTzBGQlEyWXNVVUZCU3l4TFFVRk1MRWRCUVdFc1MwRkJZanRCUVVOQkxGVkJRVThzU1VGQlVEdEJRVU5CT3p0QlFVVkVPenM3T3pzN096dHhRMEZMYlVJN1FVRkRiRUlzVlVGQlR5eExRVUZMTEdGQlFWbzdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdPenR0UTBGUGFVSXNZU3hGUVVGbE8wRkJReTlDTEZGQlFVc3NZVUZCVEN4SFFVRnhRaXhoUVVGeVFqdEJRVU5CTEZWQlFVOHNTVUZCVUR0QlFVTkJPenRCUVVWRU96czdPenM3T3pzclFrRkxZVHRCUVVOYUxGVkJRVThzUzBGQlN5eFBRVUZhTzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pzN05rSkJUMWNzVHl4RlFVRlRPMEZCUTI1Q0xHRkJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeFBRVUUzUWp0QlFVTkJMRkZCUVVzc1QwRkJUQ3hIUVVGbExFOUJRV1k3UVVGRFFTeFZRVUZQTEVsQlFWQTdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdORUpCUzFVN1FVRkRWQ3hWUVVGUExFdEJRVXNzU1VGQldqdEJRVU5CT3p0QlFVVkVPenM3T3pzN096czdPekJDUVU5UkxFa3NSVUZCVFR0QlFVTmlMR0ZCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhKUVVFM1FqdEJRVU5CTEZGQlFVc3NTVUZCVEN4SFFVRlpMRWxCUVZvN1FVRkRRU3hWUVVGUExFbEJRVkE3UVVGRFFUczdPenM3TzJ0Q1FUVlBiVUlzVHpzN08wRkRabkpDT3pzN096czdPenM3UVVGVlFUczdRVUZGUVRzN096czdPenM3T3pzN08wbEJSM0ZDTEd0Q08wRkJRM0JDT3pzN1FVRkhRU3dyUWtGQll6dEJRVUZCT3p0QlFVTmlPenM3T3p0QlFVdEJMRTlCUVVzc1NVRkJUQ3hIUVVGWkxFbEJRVm83TzBGQlJVRTdPenM3TzBGQlMwRXNUMEZCU3l4TlFVRk1MRWRCUVdNc1NVRkJaRHM3UVVGRlFUczdPenM3UVVGTFFTeFBRVUZMTEZOQlFVd3NSMEZCYVVJc1NVRkJha0k3TzBGQlJVRTdPenM3TzBGQlMwRXNUMEZCU3l4WFFVRk1MRWRCUVcxQ0xFbEJRVzVDT3p0QlFVVkJPenM3T3p0QlFVdEJMRTlCUVVzc1dVRkJUQ3hIUVVGdlFpeEpRVUZ3UWpzN1FVRkZRVHM3T3pzN1FVRkxRU3hQUVVGTExHZENRVUZNTEVkQlFYZENMRWxCUVhoQ096dEJRVVZCT3pzN096dEJRVXRCTEU5QlFVc3NNa0pCUVV3c1IwRkJiVU1zU1VGQmJrTTdPMEZCUlVFN096czdPMEZCUzBFc1QwRkJTeXhaUVVGTUxFZEJRVzlDTEVsQlFYQkNPenRCUVVWQk96czdPenRCUVV0QkxFOUJRVXNzVVVGQlRDeEhRVUZuUWl4SlFVRm9RanM3UVVGRlFUczdPenM3UVVGTFFTeFBRVUZMTEZsQlFVd3NSMEZCYjBJc1NVRkJjRUk3UVVGRFFUczdRVUZGUkRzN096czdPenM3T3pSQ1FVdFZPMEZCUTFRc1ZVRkJUeXhMUVVGTExFbEJRVm83UVVGRFFUczdRVUZGUkRzN096czdPenM3T3pzd1FrRlBVU3hKTEVWQlFVMDdRVUZEWWl4aFFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1NVRkJOMEk3UVVGRFFTeFJRVUZMTEVsQlFVd3NSMEZCV1N4SlFVRmFPMEZCUTBFc1ZVRkJUeXhKUVVGUU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096WkNRVXRYTzBGQlExWXNWVUZCVHl4TFFVRkxMRTFCUVZvN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN096czBRa0ZQVlN4UkxFVkJRVlU3UVVGRGJrSXNZVUZCVlN4VFFVRldMRU5CUVc5Q0xFMUJRWEJDTEVOQlFUSkNMRkZCUVROQ08wRkJRMEVzVVVGQlN5eE5RVUZNTEVkQlFXTXNVVUZCWkR0QlFVTkJMRlZCUVU4c1NVRkJVRHRCUVVOQk96dEJRVVZFT3pzN096czdPenRwUTBGTFpUdEJRVU5rTEZWQlFVOHNTMEZCU3l4VFFVRmFPMEZCUTBFN08wRkJSVVE3T3pzN096czdPenM3SzBKQlQyRXNVeXhGUVVGWE8wRkJRM1pDTEdGQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4VFFVRTNRanRCUVVOQkxGRkJRVXNzVTBGQlRDeEhRVUZwUWl4VFFVRnFRanRCUVVOQkxGVkJRVThzU1VGQlVEdEJRVU5CT3p0QlFVVkVPenM3T3pzN096dHRRMEZMYVVJN1FVRkRhRUlzVlVGQlR5eExRVUZMTEZkQlFWbzdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdPenRwUTBGUFpTeFhMRVZCUVdFN1FVRkRNMElzWVVGQlZTeFRRVUZXTEVOQlFXOUNMRkZCUVhCQ0xFTkJRVFpDTEZkQlFUZENPMEZCUTBFc1VVRkJTeXhYUVVGTUxFZEJRVzFDTEZkQlFXNUNPMEZCUTBFc1ZVRkJUeXhKUVVGUU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN08yOURRVXRyUWp0QlFVTnFRaXhWUVVGUExFdEJRVXNzV1VGQldqdEJRVU5CT3p0QlFVVkVPenM3T3pzN096czdPMnREUVU5blFpeFpMRVZCUVdNN1FVRkROMElzWVVGQlZTeFRRVUZXTEVOQlFXOUNMRkZCUVhCQ0xFTkJRVFpDTEZsQlFUZENPMEZCUTBFc1VVRkJTeXhaUVVGTUxFZEJRVzlDTEZsQlFYQkNPMEZCUTBFc1ZVRkJUeXhKUVVGUU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN08zZERRVXR6UWp0QlFVTnlRaXhWUVVGUExFdEJRVXNzWjBKQlFWbzdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdPenR6UTBGUGIwSXNaMElzUlVGQmEwSTdRVUZEY2tNc1lVRkJWU3hUUVVGV0xFTkJRVzlDTEZGQlFYQkNMRU5CUVRaQ0xHZENRVUUzUWp0QlFVTkJMRkZCUVVzc1owSkJRVXdzUjBGQmQwSXNaMEpCUVhoQ08wRkJRMEVzVlVGQlR5eEpRVUZRTzBGQlEwRTdPMEZCUlVRN096czdPenM3TzIxRVFVdHBRenRCUVVOb1F5eFZRVUZQTEV0QlFVc3NNa0pCUVZvN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN096dHBSRUZQSzBJc01rSXNSVUZCTmtJN1FVRkRNMFFzWVVGQlZTeFRRVUZXTEVOQlFXOUNMRkZCUVhCQ0xFTkJRVFpDTERKQ1FVRTNRanRCUVVOQkxGRkJRVXNzTWtKQlFVd3NSMEZCYlVNc01rSkJRVzVETzBGQlEwRXNWVUZCVHl4SlFVRlFPMEZCUTBFN08wRkJSVVE3T3pzN096czdPMjlEUVV0clFqdEJRVU5xUWl4VlFVRlBMRXRCUVVzc1dVRkJXanRCUVVOQk96dEJRVVZFT3pzN096czdPenM3TzJ0RFFVOW5RaXhaTEVWQlFXTTdRVUZETjBJc1lVRkJWU3hUUVVGV0xFTkJRVzlDTEZGQlFYQkNMRU5CUVRaQ0xGbEJRVGRDTzBGQlEwRXNVVUZCU3l4WlFVRk1MRWRCUVc5Q0xGbEJRWEJDTzBGQlEwRXNWVUZCVHl4SlFVRlFPMEZCUTBFN08wRkJSVVE3T3pzN096czdPMmREUVV0ak8wRkJRMklzVlVGQlR5eExRVUZMTEZGQlFWbzdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdPenM0UWtGUFdTeFJMRVZCUVZVN1FVRkRja0lzWVVGQlZTeFRRVUZXTEVOQlFXOUNMRkZCUVhCQ0xFTkJRVFpDTEZGQlFUZENPMEZCUTBFc1VVRkJTeXhSUVVGTUxFZEJRV2RDTEZGQlFXaENPMEZCUTBFc1ZVRkJUeXhKUVVGUU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN08yOURRVXRyUWp0QlFVTnFRaXhWUVVGUExFdEJRVXNzV1VGQldqdEJRVU5CT3p0QlFVVkVPenM3T3pzN096czdPMnREUVU5blFpeFpMRVZCUVdNN1FVRkROMElzWVVGQlZTeFRRVUZXTEVOQlFXOUNMRkZCUVhCQ0xFTkJRVFpDTEZsQlFUZENPMEZCUTBFc1VVRkJTeXhaUVVGTUxFZEJRVzlDTEZsQlFYQkNPMEZCUTBFc1ZVRkJUeXhKUVVGUU8wRkJRMEU3T3pzN096dHJRa0YwVTIxQ0xHdENPenM3UVVObWNrSTdPenM3T3pzN096dEJRVlZCT3p0QlFVVkJPenM3T3pzN096czdPenRyUWtGTlpTeFZRVUZUTEZOQlFWUXNSVUZCYjBJN1FVRkRiRU1zVFVGQlNTeFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNZVUZCY2tJc1RVRkJkME1zWVVGQk5VTXNSVUZCTWtRN1FVRkRNVVFzVVVGQlRTeFJRVUZSTEdkQ1FVRmpMRlZCUVZVc1RVRkJWaXhEUVVGcFFpeEhRVUZxUWl4RFFVRnhRaXhUUVVGeVFpeERRVUZrTEhsQ1FVTlNMRXRCUVVzc1MwRkJUQ3hIUVVGaExGRkJRV0lzUTBGQmMwSXNUVUZCZEVJc1EwRkVVU3d5UWtGQlpEczdRVUZIUVN4alFVRlZMRXRCUVZZc1IwRkJhMElzUzBGQmJFSTdRVUZEUVR0QlFVTkVMRU03T3p0QlEzcENSRHM3T3pzN096czdPMEZCVlVFN08wRkJSVUU3T3pzN096dEJRVVZCT3pzN096czdRVUZGUVRzN096czdPenM3TzBGQlUwRXNVMEZCVXl4aFFVRlVMRU5CUVhWQ0xFdEJRWFpDTEVWQlFUaENMRlZCUVRsQ0xFVkJRVEJETEZkQlFURkRMRVZCUVhWRU8wRkJRM1JFTzBGQlEwRXNWMEZCVlN4TFFVRldMRU5CUVdkQ0xFdEJRV2hDTEVOQlFYTkNMRzFFUVVGMFFpeEZRVUV5UlN4TFFVRXpSU3hGUVVGclJpeFZRVUZzUml4RlFVRTRSaXhYUVVFNVJqczdRVUZGUVR0QlFVTkJMRXRCUVUwc1ZVRkJWeXhOUVVGTkxGbEJRVkFzUjBGQmRVSXNUVUZCVFN4WlFVRk9MRU5CUVcxQ0xFOUJRVEZETEVkQlFXOUVMRTFCUVUwc1dVRkJNVVU3UVVGRFFTeHBRa0ZCVFN4UFFVRk9MRU5CUVdNc1ZVRkJWU3hSUVVGV0xFTkJRVzFDTEZOQlFXNUNMRU5CUVRaQ0xDdENRVUUzUWl4RlFVRTRSQ3haUVVFNVJDeERRVUZrTEVWQlFUSkdMRTlCUVROR08wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czdPenRCUVZsQkxGTkJRVk1zVVVGQlZDeERRVUZyUWl4SlFVRnNRaXhGUVVGM1FpeEhRVUY0UWl4RlFVRnpSRHRCUVVGQkxFdEJRWHBDTEVsQlFYbENMSFZGUVVGc1FpeEZRVUZyUWp0QlFVRkJMRXRCUVdRc1QwRkJZeXgxUlVGQlNpeEZRVUZKT3p0QlFVTnlSQ3hYUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzU1VGQk4wSTdRVUZEUVN4WFFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1IwRkJOMEk3UVVGRFFTeFhRVUZWTEZOQlFWWXNRMEZCYjBJc1VVRkJjRUlzUTBGQk5rSXNTVUZCTjBJN1FVRkRRU3hYUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzVDBGQk4wSTdPMEZCUlVFN1FVRkRRU3hMUVVGTkxHbENRVUZwUWp0QlFVTjBRaXhSUVVGTkxGTkJRVk1zUzBGQlZDeEhRVUZwUWl4TFFVRnFRaXhIUVVGNVFpeE5RVVJVTzBGQlJYUkNMRlZCUm5OQ08wRkJSM1JDTEZsQlNITkNPMEZCU1hSQ0xGZEJRVk03UVVGRFVpdzJRa0ZCTUVJN1FVRkViRUk3UVVGS1lTeEZRVUYyUWp0QlFWRkJMRXRCUVUwc1VVRkJVU3hGUVVGRkxFbEJRVVlzUTBGQlR5eEZRVUZGTEUxQlFVWXNRMEZCVXl4RlFVRlVMRVZCUVdFc1QwRkJZaXhGUVVGelFpeGpRVUYwUWl4RFFVRlFMRU5CUVdRN08wRkJSVUU3UVVGRFFTeExRVUZKTEV0QlFVb3NSVUZCVnp0QlFVTldMRkZCUVUwc1NVRkJUaXhEUVVGWExHRkJRVmc3UVVGRFFUczdRVUZGUkN4UlFVRlBMRXRCUVZBN1FVRkRRVHM3YTBKQlJXTTdRVUZEWkRzN096czdPenM3TzBGQlUwRXNTMEZXWXl4blFrRlZWQ3hIUVZaVExFVkJWVW9zU1VGV1NTeEZRVlZGTEU5QlZrWXNSVUZWVnp0QlFVTjRRaXhUUVVGUExGTkJRVk1zVFVGQlZDeEZRVUZwUWl4SFFVRnFRaXhGUVVGelFpeEpRVUYwUWl4RlFVRTBRaXhQUVVFMVFpeERRVUZRTzBGQlEwRXNSVUZhWVRzN08wRkJZMlE3T3pzN096czdPenRCUVZOQkxFbEJka0pqTEdWQmRVSldMRWRCZGtKVkxFVkJkVUpNTEVsQmRrSkxMRVZCZFVKRExFOUJka0pFTEVWQmRVSlZPMEZCUTNaQ0xGTkJRVThzVTBGQlV5eExRVUZVTEVWQlFXZENMRWRCUVdoQ0xFVkJRWEZDTEVsQlFYSkNMRVZCUVRKQ0xFOUJRVE5DTEVOQlFWQTdRVUZEUVN4RlFYcENZVHM3TzBGQk1rSmtPenM3T3pzN096czdRVUZUUVN4SlFYQkRZeXhsUVc5RFZpeEhRWEJEVlN4RlFXOURUQ3hKUVhCRFN5eEZRVzlEUXl4UFFYQkRSQ3hGUVc5RFZUdEJRVU4yUWl4VFFVRlBMRk5CUVZNc1MwRkJWQ3hGUVVGblFpeEhRVUZvUWl4RlFVRnhRaXhKUVVGeVFpeEZRVUV5UWl4UFFVRXpRaXhEUVVGUU8wRkJRMEVzUlVGMFEyRTdPenRCUVhkRFpEczdPenM3T3pzN08wRkJVMEVzVDBGcVJHTXNiVUpCYVVSUUxFZEJha1JQTEVWQmFVUkdMRWxCYWtSRkxFVkJhVVJKTEU5QmFrUktMRVZCYVVSaE8wRkJRekZDTEZOQlFVOHNVMEZCVXl4UlFVRlVMRVZCUVcxQ0xFZEJRVzVDTEVWQlFYZENMRWxCUVhoQ0xFVkJRVGhDTEU5QlFUbENMRU5CUVZBN1FVRkRRU3hGUVc1RVlUczdPMEZCY1VSa096czdPenM3T3pzN1FVRlRRU3hOUVRsRVl5eHBRa0U0UkZJc1IwRTVSRkVzUlVFNFJFZ3NTVUU1UkVjc1JVRTRSRWNzVDBFNVJFZ3NSVUU0UkZrN1FVRkRla0lzVTBGQlR5eFRRVUZUTEU5QlFWUXNSVUZCYTBJc1IwRkJiRUlzUlVGQmRVSXNTVUZCZGtJc1JVRkJOa0lzVDBGQk4wSXNRMEZCVUR0QlFVTkJPMEZCYUVWaExFTTdPenRCUTNaRlpqczdPenM3T3pzN08wRkJWVUU3TzBGQlJVRTdPenM3T3pzN096czdPenM3T3pzN1NVRlBjVUlzVFR0QlFVTndRanM3T3pzN1FVRkxRU3hwUWtGQldTeE5RVUZhTEVWQlFXOUNPMEZCUVVFN08wRkJRMjVDT3pzN1FVRkhRU3hQUVVGTExFMUJRVXdzUjBGQll5eE5RVUZrTzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pzN08zTkNRVTlKTEVjc1JVRkJTenRCUVVOU0xHRkJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeEhRVUUzUWpzN1FVRkZRU3hQUVVGTkxGRkJRVkVzUzBGQlN5eE5RVUZNTEVOQlFWa3NSMEZCV2l4RFFVRmtPenRCUVVWQkxFOUJRVWtzVlVGQlZTeFRRVUZrTEVWQlFYbENPMEZCUTNoQ0xGVkJRVTBzU1VGQlNTeExRVUZLTEVOQlFWVXNkVVZCUVhWRkxFZEJRWFpGTEVkQlFUWkZMRWRCUVhaR0xFTkJRVTQ3UVVGRFFUczdRVUZGUkN4VlFVRlBMRXRCUVZBN1FVRkRRVHM3T3pzN08ydENRVGxDYlVJc1RUczdPMEZEYmtKeVFqczdPenM3T3pzN08wRkJWVUU3TzBGQlJVRTdPenM3T3pzN096czdPenRCUVZGQkxGTkJRVk1zU1VGQlZDeERRVUZqTEVsQlFXUXNSVUZCYjBJc1NVRkJjRUlzUlVGQk1FSTdRVUZEZWtJc1MwRkJTU3hWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzWVVGQmNrSXNUVUZCZDBNc1dVRkJOVU1zUlVGQk1FUTdRVUZEZWtRN1FVRkRRVHM3UVVGRlJDeExRVUZKTEZGQlFWRXNTVUZCVWl4TlFVRnJRaXhUUVVGc1FpeEpRVUVyUWl4UFFVRlBMRkZCUVZFc1NVRkJVaXhGUVVGakxFdEJRWEpDTEV0QlFTdENMRlZCUVd4RkxFVkJRVGhGTzBGQlF6ZEZMRlZCUVZFc1NVRkJVaXhGUVVGakxFdEJRV1FzUTBGQmIwSXNUMEZCY0VJc1JVRkJOa0lzU1VGQk4wSTdRVUZEUVN4RlFVWkVMRTFCUlU4N1FVRkRUaXhWUVVGUkxFZEJRVklzUTBGQldTeEpRVUZhTzBGQlEwRTdRVUZEUkRzN2EwSkJSV003UVVGRFpEczdPenM3UVVGTFFTeEpRVTVqTEdsQ1FVMVNPMEZCUTB3c1QwRkJTeXhMUVVGTUxFVkJRVmtzVTBGQldqdEJRVU5CTEVWQlVtRTdPenRCUVZWa096czdPenRCUVV0QkxFdEJabU1zYTBKQlpWQTdRVUZEVGl4UFFVRkxMRTFCUVV3c1JVRkJZU3hUUVVGaU8wRkJRMEVzUlVGcVFtRTdPenRCUVcxQ1pEczdPenM3UVVGTFFTeExRWGhDWXl4clFrRjNRbEE3UVVGRFRpeFBRVUZMTEUxQlFVd3NSVUZCWVN4VFFVRmlPMEZCUTBFc1JVRXhRbUU3T3p0QlFUUkNaRHM3T3pzN1FVRkxRU3hOUVdwRFl5eHRRa0ZwUTA0N1FVRkRVQ3hQUVVGTExFOUJRVXdzUlVGQll5eFRRVUZrTzBGQlEwRXNSVUZ1UTJFN096dEJRWEZEWkRzN096czdRVUZMUVN4TlFURkRZeXhwUWtFd1ExSXNTVUV4UTFFc1JVRXdRMFk3UVVGRFdDeE5RVUZKTEZWQlFWVXNUVUZCVml4RFFVRnBRaXhIUVVGcVFpeERRVUZ4UWl4aFFVRnlRaXhOUVVGM1F5eFpRVUUxUXl4RlFVRXdSRHRCUVVONlJEdEJRVU5CT3p0QlFVVkVMRk5CUVU4c1MwRkJVQ3hEUVVGaExHZENRVUZuUWl4TFFVRkxMRk5CUVV3c1EwRkJaU3hKUVVGbUxFTkJRVGRDTzBGQlEwRTdRVUZvUkdFc1F6czdPMEZEYUVObU96czdPenM3T3pzN1FVRlZRVHM3UVVGRlFUczdRVUZGUVRzN096czdPenM3TzBGQlMwRXNVMEZCVXl4cFFrRkJWQ3hIUVVFMlFqdEJRVU0xUWl4TFFVRk5MR1ZCUVdVc1JVRkJSU3hsUVVGR0xFTkJRWEpDT3p0QlFVVkJMR05CUVdFc1NVRkJZaXhEUVVGclFpeEZRVUZGTERKQ1FVRkdMRVZCUVN0Q0xFbEJRUzlDTEVWQlFXeENPenRCUVVWQkxFZEJRVVVzVVVGQlJpeEZRVUZaTEZOQlFWb3NRMEZCYzBJc1dVRkJWenRCUVVOb1F5eGxRVU5GTEVkQlJFWXNRMEZEVFN4RlFVRkRMRk5CUVZNc1QwRkJWaXhGUVVST0xFVkJSVVVzVFVGR1JpeERRVVZUTEVkQlJsUXNSVUZGWXl4RFFVWmtMRVZCUldsQ0xGRkJSbXBDTzBGQlIwRXNSVUZLUkRzN1FVRk5RU3hIUVVGRkxGRkJRVVlzUlVGQldTeFJRVUZhTEVOQlFYRkNMRmxCUVZjN1FVRkRMMElzWlVGQllTeE5RVUZpTEVOQlFXOUNMRWRCUVhCQ0xFVkJRWGxDTEVOQlFYcENMRVZCUVRSQ0xGRkJRVFZDTEVWQlFYTkRMRmxCUVZjN1FVRkRhRVFzUzBGQlJTeEpRVUZHTEVWQlFWRXNTVUZCVWp0QlFVTkJMRWRCUmtRN1FVRkhRU3hGUVVwRU8wRkJTMEU3TzBGQlJVUTdPenM3TzBGQlMwRXNVMEZCVXl4clFrRkJWQ3hIUVVFNFFqdEJRVU0zUWl4UlFVRlBMRTlCUVZBc1IwRkJhVUlzVlVGQlV5eEhRVUZVTEVWQlFXTXNSMEZCWkN4RlFVRnRRaXhKUVVGdVFpeEZRVUY1UWl4SFFVRjZRaXhGUVVFNFFpeExRVUU1UWl4RlFVRnhRenRCUVVOeVJEdEJRVU5CTEUxQlFVMHNZMEZCWXl4RlFVRkZMR05CUVVZc1EwRkJjRUk3TzBGQlJVRXNUVUZCU1N4UFFVRlBMRk5CUVZnc1JVRkJjMEk3UVVGRGNrSXNaVUZCV1N4SlFVRmFMRU5CUVdsQ0xGVkJRV3BDTEVWQlEwVXNTVUZFUml4RFFVTlBMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXd3UWtGQk4wSXNSVUZCZVVRc1dVRkJla1FzUTBGRVVEdEJRVVZCTEVkQlNFUXNUVUZIVHp0QlFVTk9MR1ZCUVZrc1NVRkJXaXhEUVVGcFFpeFZRVUZxUWl4RlFVTkZMRWxCUkVZc1EwRkRUeXc0UmtGRFNDd3JRa0ZHU2p0QlFVZEJPenRCUVVWRUxFbEJRVVVzWlVGQlJpeEZRVUZ0UWl4SlFVRnVRanM3UVVGRlFTeGpRVU5GTEVkQlJFWXNRMEZEVFN4RlFVRkRMRk5CUVZNc1QwRkJWaXhGUVVST0xFVkJSVVVzVFVGR1JpeERRVVZUTEVkQlJsUXNSVUZGWXl4RFFVWmtMRVZCUldsQ0xGRkJSbXBDT3p0QlFVbEJPMEZCUTBFc1NVRkJSU3h0UWtGQlJpeEZRVUYxUWl4TlFVRjJRanRCUVVOQkxFbEJRVVVzWlVGQlJpeEZRVUZ0UWl4SlFVRnVRanRCUVVOQkxFbEJRVVVzWjBKQlFVWXNSVUZCYjBJc1RVRkJjRUk3TzBGQlJVRTdRVUZEUVN4VlFVRlJMRXRCUVZJc1EwRkJZeXd5UWtGQlpDeEZRVUV5UXl4SFFVRXpReXhGUVVGblJDeFpRVUZaTEVsQlFWb3NSMEZCYlVJc1UwRkJia0lzUjBGQkswSXNSMEZCTDBJc1IwRkJjVU1zUjBGQmNrWXNSVUZCTUVZc1MwRkJNVVk3TzBGQlJVRXNVMEZCVHl4SlFVRlFMRU5CTTBKeFJDeERRVEpDZUVNN1FVRkRZaXhGUVRWQ1JEdEJRVFpDUVRzN2EwSkJSV003UVVGRFpEczdPMEZCUjBFc2JVSkJTbU1zWjBOQlNVODdRVUZEY0VJc1RVRkJUU3hMUVVGTExFOUJRVThzVTBGQlVDeERRVUZwUWl4VFFVRTFRanRCUVVOQkxGTkJRVkVzUjBGQlJ5eFBRVUZJTEVOQlFWY3NUMEZCV0N4SlFVRnpRaXhEUVVGRExFTkJRWFpDTEVsQlFUUkNMRWRCUVVjc1QwRkJTQ3hEUVVGWExGVkJRVmdzU1VGQmVVSXNRMEZCUXl4RFFVRjBSQ3hKUVVFeVJDeEhRVUZITEU5QlFVZ3NRMEZCVnl4UFFVRllMRWxCUVhOQ0xFTkJRVU1zUTBGQk1VWTdRVUZEUVN4RlFWQmhPenM3UVVGVFpEczdPenM3TzBGQlRVRXNUVUZtWXl4dFFrRmxUanRCUVVOUU8wRkJRMEU3UVVGRFFTeE5RVUZKTEZGQlFWRXNTVUZCV2l4RlFVRnJRanRCUVVOcVFpeFBRVUZKTEZGQlFVb3NSMEZCWlN4TFFVRkxMRkZCUVhCQ08wRkJRMEU3TzBGQlJVUTdRVUZEUVN4TlFVRkpMRU5CUVVNc1QwRkJUeXhSUVVGUUxFTkJRV2RDTEUxQlFYSkNMRVZCUVRaQ08wRkJRelZDTEZWQlFVOHNVVUZCVUN4RFFVRm5RaXhOUVVGb1FpeEhRVUY1UWl4UFFVRlBMRkZCUVZBc1EwRkJaMElzVVVGQmFFSXNSMEZCTWtJc1NVRkJNMElzUjBGQmEwTXNUMEZCVHl4UlFVRlFMRU5CUVdkQ0xGRkJRV3hFTEVsQlEzSkNMRTlCUVU4c1VVRkJVQ3hEUVVGblFpeEpRVUZvUWl4SFFVRjFRaXhOUVVGTkxFOUJRVThzVVVGQlVDeERRVUZuUWl4SlFVRTNReXhIUVVGdFJDeEZRVVE1UWl4RFFVRjZRanRCUVVWQk96dEJRVVZFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCTDBKaExFTTdPenRCUXpGRlpqczdPenM3T3pzN08wRkJWVUU3T3pzN08ydENRVVZsTzBGQlEyUTdPenM3T3p0QlFVMUJMRzlDUVZCakxDdENRVTlOTEZGQlVFNHNSVUZQWjBJc1UwRlFhRUlzUlVGUE1rSTdRVUZEZUVNc1kwRkJXU3hoUVVGaExFVkJRWHBDTzBGQlEwRXNWMEZCVXl4UFFVRlVMRU5CUVdsQ0xIZENRVUZxUWl4RlFVRXlReXhUUVVFelF6dEJRVU5CTEVWQlZtRTdPenRCUVZsa096czdPenM3UVVGTlFTeHZRa0ZzUW1Nc0swSkJhMEpOTEZGQmJFSk9MRVZCYTBKblFpeFRRV3hDYUVJc1JVRnJRakpDTzBGQlEzaERMR05CUVZrc1lVRkJZU3hGUVVGNlFqdEJRVU5CTEZkQlFWTXNUMEZCVkN4RFFVRnBRaXgzUWtGQmFrSXNSVUZCTWtNc1UwRkJNME03UVVGRFFTeEZRWEpDWVRzN08wRkJkVUprT3pzN096czdRVUZOUVN4dlFrRTNRbU1zSzBKQk5rSk5MRkZCTjBKT0xFVkJOa0puUWl4VFFUZENhRUlzUlVFMlFqSkNPMEZCUTNoRExHTkJRVmtzWVVGQllTeEZRVUY2UWp0QlFVTkJMRmRCUVZNc1QwRkJWQ3hEUVVGcFFpeDNRa0ZCYWtJc1JVRkJNa01zVTBGQk0wTTdRVUZEUVN4RlFXaERZVHM3TzBGQmEwTmtPenM3T3pzN1FVRk5RU3h6UWtGNFEyTXNhVU5CZDBOUkxGRkJlRU5TTEVWQmQwTnJRaXhUUVhoRGJFSXNSVUYzUXpaQ08wRkJRekZETEdOQlFWa3NZVUZCWVN4RlFVRjZRanRCUVVOQkxGZEJRVk1zVDBGQlZDeERRVUZwUWl3d1FrRkJha0lzUlVGQk5rTXNVMEZCTjBNN1FVRkRRU3hGUVRORFlUczdPMEZCTmtOa096czdPenM3UVVGTlFTd3lRa0Z1UkdNc2MwTkJiVVJoTEZGQmJrUmlMRVZCYlVSMVFpeFRRVzVFZGtJc1JVRnRSR3RETzBGQlF5OURMR05CUVZrc1lVRkJZU3hGUVVGNlFqdEJRVU5CTEZkQlFWTXNUMEZCVkN4RFFVRnBRaXdyUWtGQmFrSXNSVUZCYTBRc1UwRkJiRVE3UVVGRFFTeEZRWFJFWVRzN08wRkJkMFJrT3pzN096czdRVUZOUVN3MlFrRTVSR01zZDBOQk9FUmxMRkZCT1VSbUxFVkJPRVI1UWl4VFFUbEVla0lzUlVFNFJHOURPMEZCUTJwRUxHTkJRVmtzWVVGQllTeEZRVUY2UWp0QlFVTkJMRmRCUVZNc1QwRkJWQ3hEUVVGcFFpeHBRMEZCYWtJc1JVRkJiMFFzVTBGQmNFUTdRVUZEUVN4RlFXcEZZVHM3TzBGQmJVVmtPenM3T3pzN1FVRk5RU3d5UWtGNlJXTXNjME5CZVVWaExGRkJla1ZpTEVWQmVVVjFRaXhUUVhwRmRrSXNSVUY1Uld0RE8wRkJReTlETEdOQlFWa3NZVUZCWVN4RlFVRjZRanRCUVVOQkxGZEJRVk1zVDBGQlZDeERRVUZwUWl3clFrRkJha0lzUlVGQmEwUXNVMEZCYkVRN1FVRkRRU3hGUVRWRllUczdPMEZCT0VWa096czdPenM3UVVGTlFTeHhRa0Z3Um1Nc1owTkJiMFpQTEZGQmNFWlFMRVZCYjBacFFpeFRRWEJHYWtJc1JVRnZSalJDTzBGQlEzcERMR05CUVZrc1lVRkJZU3hGUVVGNlFqdEJRVU5CTEZkQlFWTXNUMEZCVkN4RFFVRnBRaXg1UWtGQmFrSXNSVUZCTkVNc1UwRkJOVU03UVVGRFFTeEZRWFpHWVRzN08wRkJlVVprT3pzN096czdRVUZOUVN4MVFrRXZSbU1zYTBOQkswWlRMRkZCTDBaVUxFVkJLMFp0UWl4VFFTOUdia0lzUlVFclJqaENPMEZCUXpORExHTkJRVmtzWVVGQllTeEZRVUY2UWp0QlFVTkJMRmRCUVZNc1QwRkJWQ3hEUVVGcFFpd3lRa0ZCYWtJc1JVRkJPRU1zVTBGQk9VTTdRVUZEUVR0QlFXeEhZU3hET3pzN1FVTmFaanM3T3pzN096czdPMEZCVlVFN096czdPenRCUVVWQk96czdPMEZCUTBFN096czdRVUZEUVRzN096dEJRVU5CT3pzN096czdhMEpCUldVN1FVRkRaRHM3T3pzN096dEJRVTlCTEhsQ1FWSmpMRzlEUVZGWExITkNRVkpZTEVWQlVXMURPMEZCUTJoRUxGbEJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeHpRa0ZCTjBJN08wRkJSVUVzVFVGQlRTeHhRa0ZCY1VJc1NVRkJTU3cwUWtGQlNpeEZRVUV6UWpzN1FVRkZRVHRCUVVOQkxFMUJRVWtzZFVKQlFYVkNMRWxCUVhaQ0xFdEJRV2RETEZOQlFXaERMRWxCUVRaRExIVkNRVUYxUWl4SlFVRjJRaXhMUVVGblF5eEpRVUZxUml4RlFVRjFSanRCUVVOMFJpeHpRa0ZCYlVJc1QwRkJia0lzUTBGQk1rSXNkVUpCUVhWQ0xFbEJRV3hFTzBGQlEwRTdPMEZCUlVRc1RVRkJTU3gxUWtGQmRVSXNVVUZCZGtJc1MwRkJiME1zVTBGQmNFTXNTVUZCYVVRc2RVSkJRWFZDTEZGQlFYWkNMRXRCUVc5RExFbEJRWHBHTEVWQlFTdEdPMEZCUXpsR0xITkNRVUZ0UWl4VFFVRnVRaXhEUVVFMlFpeDFRa0ZCZFVJc1VVRkJjRVE3UVVGRFFUczdRVUZGUkN4TlFVRkpMSFZDUVVGMVFpeFRRVUYyUWl4TFFVRnhReXhUUVVGeVF5eEpRVUZyUkN4MVFrRkJkVUlzVTBGQmRrSXNTMEZCY1VNc1NVRkJNMFlzUlVGQmFVYzdRVUZEYUVjc2MwSkJRVzFDTEZsQlFXNUNMRU5CUVdkRExIVkNRVUYxUWl4VFFVRjJSRHRCUVVOQk96dEJRVVZFTEUxQlFVa3NkVUpCUVhWQ0xGZEJRWFpDTEV0QlFYVkRMRk5CUVhaRExFbEJRVzlFTEhWQ1FVRjFRaXhYUVVGMlFpeExRVUYxUXl4SlFVRXZSaXhGUVVGeFJ6dEJRVU53Unl4elFrRkJiVUlzWTBGQmJrSXNRMEZCYTBNc2RVSkJRWFZDTEZkQlFYcEVPMEZCUTBFN08wRkJSVVFzVFVGQlNTeDFRa0ZCZFVJc1dVRkJka0lzUzBGQmQwTXNVMEZCZUVNc1NVRkJjVVFzZFVKQlFYVkNMRmxCUVhaQ0xFdEJRWGRETEVsQlFXcEhMRVZCUVhWSE8wRkJRM1JITEhOQ1FVRnRRaXhsUVVGdVFpeERRVUZ0UXl4SlFVRkpMRWxCUVVvc1EwRkJVeXhMUVVGTExFdEJRVXdzUTBGQlZ5eDFRa0ZCZFVJc1dVRkJiRU1zUTBGQlZDeERRVUZ1UXp0QlFVTkJPenRCUVVWRUxFMUJRVWtzZFVKQlFYVkNMR2RDUVVGMlFpeExRVUUwUXl4VFFVRTFReXhKUVVGNVJDeDFRa0ZCZFVJc1owSkJRWFpDTEV0QlFUUkRMRWxCUVhwSExFVkJRU3RITzBGQlF6bEhMSE5DUVVGdFFpeHRRa0ZCYmtJc1EwRkJkVU1zU1VGQlNTeEpRVUZLTEVOQlFWTXNTMEZCU3l4TFFVRk1MRU5CUVZjc2RVSkJRWFZDTEdkQ1FVRnNReXhEUVVGVUxFTkJRWFpETzBGQlEwRTdPMEZCUlVRc1RVRkJTU3gxUWtGQmRVSXNNa0pCUVhaQ0xFdEJRWFZFTEZOQlFYWkVMRWxCUTBFc2RVSkJRWFZDTERKQ1FVRjJRaXhMUVVGMVJDeEpRVVF6UkN4RlFVTnBSVHRCUVVOb1JTeHpRa0ZCYlVJc09FSkJRVzVDTEVOQlEwTXNTVUZCU1N4SlFVRktMRU5CUVZNc1MwRkJTeXhMUVVGTUxFTkJRVmNzZFVKQlFYVkNMREpDUVVGc1F5eERRVUZVTEVOQlJFUTdRVUZIUVRzN1FVRkZSQ3hOUVVGSkxIVkNRVUYxUWl4WlFVRjJRaXhMUVVGM1F5eFRRVUY0UXl4SlFVRnhSQ3gxUWtGQmRVSXNXVUZCZGtJc1MwRkJkME1zU1VGQmFrY3NSVUZCZFVjN1FVRkRkRWNzYzBKQlFXMUNMR1ZCUVc1Q0xFTkJRVzFETEhWQ1FVRjFRaXhaUVVFeFJEdEJRVU5CT3p0QlFVVkVMRTFCUVVrc2RVSkJRWFZDTEZsQlFYWkNMRXRCUVhkRExGTkJRWGhETEVsQlFYRkVMSFZDUVVGMVFpeFpRVUYyUWl4TFFVRjNReXhKUVVGcVJ5eEZRVUYxUnp0QlFVTjBSeXh6UWtGQmJVSXNaVUZCYmtJc1EwRkJiVU1zZFVKQlFYVkNMRmxCUVRGRU8wRkJRMEU3TzBGQlJVUTdRVUZEUVN4TlFVRkpMSFZDUVVGMVFpeFJRVUYyUWl4TFFVRnZReXhUUVVGd1F5eEpRVUZwUkN4MVFrRkJkVUlzVVVGQmRrSXNTMEZCYjBNc1NVRkJla1lzUlVGQkswWTdRVUZET1VZc1QwRkJUU3hYUVVGWExFVkJRV3BDT3p0QlFVVkJMREJDUVVGMVFpeFJRVUYyUWl4RFFVRm5ReXhQUVVGb1F5eERRVUYzUXl3d1FrRkJhMEk3UVVGRGVrUXNVVUZCVFN4aFFVRmhMRWxCUVVrc2IwSkJRVW9zUlVGQmJrSTdRVUZEUVN4UlFVRk5MSGxDUVVGNVFpeEZRVUV2UWpzN1FVRkZRU3hSUVVGSkxHVkJRV1VzU1VGQlppeExRVUYzUWl4VFFVRjRRaXhKUVVGeFF5eGxRVUZsTEVsQlFXWXNTMEZCZDBJc1NVRkJha1VzUlVGQmRVVTdRVUZEZEVVc1owSkJRVmNzVDBGQldDeERRVUZ0UWl4bFFVRmxMRWxCUVd4RE8wRkJRMEU3TzBGQlJVUXNVVUZCU1N4bFFVRmxMRWxCUVdZc1NVRkJkVUlzWlVGQlpTeEpRVUZtTEV0QlFYZENMRWxCUVc1RUxFVkJRWGxFTzBGQlEzaEVMR2RDUVVGWExFOUJRVmdzUTBGQmJVSXNaVUZCWlN4SlFVRnNRenRCUVVOQk96dEJRVVZFTEZGQlFVa3NaVUZCWlN4SlFVRm1MRWxCUVhWQ0xHVkJRV1VzU1VGQlppeExRVUYzUWl4SlFVRnVSQ3hGUVVGNVJEdEJRVU40UkN4blFrRkJWeXhQUVVGWUxFTkJRVzFDTEdWQlFXVXNTVUZCYkVNN1FVRkRRVHM3UVVGRlJDeHRRa0ZCWlN4UFFVRm1MRU5CUVhWQ0xFOUJRWFpDTEVOQlFTdENMSFZDUVVGbE8wRkJRemRETEZOQlFVMHNWVUZCVnl4WlFVRlpMRkZCUVdJc1IwRkJlVUlzU1VGQlNTeHZRa0ZCU2l4RlFVRjZRaXhIUVVFMFF5eEpRVUZKTEdsQ1FVRktMRVZCUVRWRU96dEJRVVZCTEZOQlFVa3NXVUZCV1N4TFFVRmFMRXRCUVhOQ0xGTkJRWFJDTEVsQlFXMURMRmxCUVZrc1MwRkJXaXhMUVVGelFpeEpRVUUzUkN4RlFVRnRSVHRCUVVOc1JTeGpRVUZSTEZGQlFWSXNRMEZCYVVJc1dVRkJXU3hMUVVFM1FqdEJRVU5CT3p0QlFVVkVMRk5CUVVrc1dVRkJXU3hKUVVGYUxFdEJRWEZDTEZOQlFYSkNMRWxCUVd0RExGbEJRVmtzU1VGQldpeExRVUZ4UWl4SlFVRXpSQ3hGUVVGcFJUdEJRVU5vUlN4alFVRlJMRTlCUVZJc1EwRkJaMElzV1VGQldTeEpRVUUxUWp0QlFVTkJPenRCUVVWRUxGTkJRVWtzV1VGQldTeEpRVUZhTEV0QlFYRkNMRk5CUVhKQ0xFbEJRV3RETEZsQlFWa3NTVUZCV2l4TFFVRnhRaXhKUVVFelJDeEZRVUZwUlR0QlFVTm9SU3hqUVVGUkxFOUJRVklzUTBGQlowSXNXVUZCV1N4SlFVRTFRanRCUVVOQk96dEJRVVZFTEZOQlFVa3NXVUZCV1N4TFFVRmFMRXRCUVhOQ0xGTkJRWFJDTEVsQlFXMURMRmxCUVZrc1MwRkJXaXhMUVVGelFpeEpRVUUzUkN4RlFVRnRSVHRCUVVOc1JTeGpRVUZSTEZGQlFWSXNRMEZCYVVJc1dVRkJXU3hMUVVFM1FqdEJRVU5CT3p0QlFVVkVMRk5CUVVrc1dVRkJXU3hoUVVGYUxFdEJRVGhDTEZOQlFUbENMRWxCUVRKRExGbEJRVmtzWVVGQldpeExRVUU0UWl4SlFVRTNSU3hGUVVGdFJqdEJRVU5zUml4alFVRlJMR2RDUVVGU0xFTkJRWGxDTEZsQlFWa3NZVUZCY2tNN1FVRkRRVHM3UVVGRlJDeFRRVUZKTEZsQlFWa3NUMEZCV2l4TFFVRjNRaXhUUVVGNFFpeEpRVUZ4UXl4WlFVRlpMRTlCUVZvc1MwRkJkMElzU1VGQmFrVXNSVUZCZFVVN1FVRkRkRVVzWTBGQlVTeFZRVUZTTEVOQlFXMUNMRmxCUVZrc1QwRkJMMEk3UVVGRFFUczdRVUZGUkN4VFFVRkpMRmxCUVZrc1VVRkJXaXhMUVVGNVFpeFRRVUY2UWl4SlFVRnpReXhaUVVGWkxGRkJRVm9zUzBGQmVVSXNTVUZCYmtVc1JVRkJlVVU3UVVGRGVFVXNZMEZCVVN4WFFVRlNMRU5CUVc5Q0xGbEJRVmtzVVVGQmFFTTdRVUZEUVRzN1FVRkZSQ3hUUVVGSkxGbEJRVmtzU1VGQldpeExRVUZ4UWl4VFFVRnlRaXhKUVVGclF5eFpRVUZaTEVsQlFWb3NTMEZCY1VJc1NVRkJNMFFzUlVGQmFVVTdRVUZEYUVVc1kwRkJVU3hQUVVGU0xFTkJRV2RDTEZsQlFWa3NTVUZCTlVJN1FVRkRRVHM3UVVGRlJDdzBRa0ZCZFVJc1NVRkJka0lzUTBGQk5FSXNUMEZCTlVJN1FVRkRRU3hMUVhCRFJEczdRVUZ6UTBFc1pVRkJWeXhWUVVGWUxFTkJRWE5DTEhOQ1FVRjBRanM3UVVGRlFTeGhRVUZUTEVsQlFWUXNRMEZCWXl4VlFVRmtPMEZCUTBFc1NVRjZSRVE3TzBGQk1rUkJMSE5DUVVGdFFpeFhRVUZ1UWl4RFFVRXJRaXhSUVVFdlFqdEJRVU5CT3p0QlFVVkVMRk5CUVU4c2EwSkJRVkE3UVVGRFFTeEZRWGhJWVRzN08wRkJNRWhrT3pzN096czdPenRCUVZGQkxIbENRV3hKWXl4dlEwRnJTVmNzYTBKQmJFbFlMRVZCYTBrNFF6dEJRVUZCTEUxQlFXWXNUVUZCWlN4MVJVRkJUaXhKUVVGTk96dEJRVU16UkN4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc2EwSkJRVGRDTzBGQlEwRXNXVUZCVlN4VFFVRldMRU5CUVc5Q0xFMUJRWEJDTEVOQlFUSkNMRTFCUVROQ096dEJRVVZCTEUxQlFVMHNUVUZCVFR0QlFVTllMRk5CUVUwc2JVSkJRVzFDTEU5QlFXNUNMRVZCUkVzN1FVRkZXQ3hoUVVGVkxHMUNRVUZ0UWl4UlFVRnVRaXhGUVVaRE8wRkJSMWdzWTBGQlZ5eHRRa0ZCYlVJc1dVRkJia0lzUlVGSVFUdEJRVWxZTEdkQ1FVRmhMRzFDUVVGdFFpeGpRVUZ1UWl4RlFVcEdPMEZCUzFnc2FVSkJRV01zYlVKQlFXMUNMR1ZCUVc1Q0xFZEJRWEZETEZGQlFYSkRMRU5CUVRoRExIRkNRVUU1UXl4RFFVeElPMEZCVFZnc2NVSkJRV3RDTEcxQ1FVRnRRaXh0UWtGQmJrSXNSMEZCZVVNc1VVRkJla01zUTBGQmEwUXNjVUpCUVd4RUxFTkJUbEE3UVVGUFdDeG5RMEZCTmtJc2JVSkJRVzFDTERoQ1FVRnVRaXhIUVVGdlJDeFJRVUZ3UkN4RFFVRTJSQ3h4UWtGQk4wUXNRMEZRYkVJN1FVRlJXQ3hwUWtGQll5eHRRa0ZCYlVJc1pVRkJia0lzUlVGU1NEdEJRVk5ZTEdGQlFWVXNSVUZVUXp0QlFWVllMR2xDUVVGak8wRkJWa2dzUjBGQldqczdRVUZoUVR0QlFVTkJMSEZDUVVGdFFpeFhRVUZ1UWl4SFFVRnBReXhQUVVGcVF5eERRVUY1UXl3NFFrRkJjMEk3UVVGRE9VUXNUMEZCVFN4aFFVRmhMRVZCUVc1Q096dEJRVVZCTEU5QlFVa3NiVUpCUVcxQ0xFOUJRVzVDTEU5QlFXbERMRWxCUVhKRExFVkJRVEpETzBGQlF6RkRMR1ZCUVZjc1NVRkJXQ3hIUVVGclFpeHRRa0ZCYlVJc1QwRkJia0lzUlVGQmJFSTdRVUZEUVRzN1FVRkZSQ3hQUVVGSkxHMUNRVUZ0UWl4UFFVRnVRaXhQUVVGcFF5eEpRVUZ5UXl4RlFVRXlRenRCUVVNeFF5eGxRVUZYTEVsQlFWZ3NSMEZCYTBJc2JVSkJRVzFDTEU5QlFXNUNMRVZCUVd4Q08wRkJRMEU3TzBGQlJVUXNUMEZCU1N4dFFrRkJiVUlzVDBGQmJrSXNUMEZCYVVNc1NVRkJja01zUlVGQk1rTTdRVUZETVVNc1pVRkJWeXhKUVVGWUxFZEJRV3RDTEcxQ1FVRnRRaXhQUVVGdVFpeEZRVUZzUWp0QlFVTkJPenRCUVVWRUxFOUJRVWtzYlVKQlFXMUNMRlZCUVc1Q0xFOUJRVzlETEVsQlFYaERMRVZCUVRoRE8wRkJRemRETEdWQlFWY3NUMEZCV0N4SFFVRnhRaXhGUVVGeVFqdEJRVU5CT3p0QlFVVkVMSE5DUVVGdFFpeFZRVUZ1UWl4SFFVRm5ReXhQUVVGb1F5eERRVUYzUXl4dFFrRkJWenRCUVVOc1JDeFJRVUZOTEZGQlFWRXNSVUZCWkRzN1FVRkZRU3hSUVVGSkxGRkJRVkVzVVVGQlVpeFBRVUYxUWl4SlFVRXpRaXhGUVVGcFF6dEJRVU5vUXl4WFFVRk5MRXRCUVU0c1IwRkJZeXhSUVVGUkxGRkJRVklzUlVGQlpEdEJRVU5CT3p0QlFVVkVMRkZCUVVrc1VVRkJVU3hQUVVGU0xFOUJRWE5DTEVsQlFURkNMRVZCUVdkRE8wRkJReTlDTEZkQlFVMHNTVUZCVGl4SFFVRmhMRkZCUVZFc1QwRkJVaXhGUVVGaU8wRkJRMEU3TzBGQlJVUXNVVUZCU1N4UlFVRlJMRTlCUVZJc1QwRkJjMElzU1VGQk1VSXNSVUZCWjBNN1FVRkRMMElzVjBGQlRTeEpRVUZPTEVkQlFXRXNVVUZCVVN4UFFVRlNMRVZCUVdJN1FVRkRRVHM3UVVGRlJDeFJRVUZKTEZGQlFWRXNVVUZCVWl4UFFVRjFRaXhKUVVFelFpeEZRVUZwUXp0QlFVTm9ReXhYUVVGTkxFdEJRVTRzUjBGQll5eFJRVUZSTEZGQlFWSXNSVUZCWkR0QlFVTkJPenRCUVVWRUxGRkJRVWtzVVVGQlVTeG5Ra0ZCVWl4UFFVRXJRaXhKUVVGdVF5eEZRVUY1UXp0QlFVTjRReXhYUVVGTkxHRkJRVTRzUjBGQmMwSXNVVUZCVVN4blFrRkJVaXhGUVVGMFFqdEJRVU5CT3p0QlFVVkVMRkZCUVVrc1VVRkJVU3hWUVVGU0xFOUJRWGxDTEVsQlFUZENMRVZCUVcxRE8wRkJRMnhETEZkQlFVMHNUMEZCVGl4SFFVRm5RaXhSUVVGUkxGVkJRVklzUlVGQmFFSTdRVUZEUVRzN1FVRkZSQ3hSUVVGSkxGRkJRVkVzVDBGQlVpeFBRVUZ6UWl4SlFVRXhRaXhGUVVGblF6dEJRVU12UWl4WFFVRk5MRWxCUVU0c1IwRkJZU3hSUVVGUkxFOUJRVklzUlVGQllqdEJRVU5CT3p0QlFVVkVMRkZCUVVrc1VVRkJVU3hYUVVGU0xFdEJRWGRDTEZOQlFUVkNMRVZCUVhWRE8wRkJRM1JETEZkQlFVMHNVVUZCVGl4SFFVRnBRaXhSUVVGUkxGZEJRVklzUlVGQmFrSTdRVUZEUVRzN1FVRkZSQ3hsUVVGWExFOUJRVmdzUTBGQmJVSXNTVUZCYmtJc1EwRkJkMElzUzBGQmVFSTdRVUZEUVN4SlFYQkRSRHM3UVVGelEwRXNUMEZCU1N4UlFVRktMRU5CUVdFc1NVRkJZaXhEUVVGclFpeFZRVUZzUWp0QlFVTkJMRWRCTVVSRU96dEJRVFJFUVR0QlFVTkJMRTFCUVVrc1dVRkJTaXhIUVVGdFFpeHRRa0ZCYlVJc1pVRkJia0lzUlVGQmJrSTdPMEZCUlVFc1UwRkJVU3hOUVVGRUxFZEJRVmNzUzBGQlN5eFRRVUZNTEVOQlFXVXNSMEZCWml4RFFVRllMRWRCUVdsRExFZEJRWGhETzBGQlEwRTdRVUZ3VG1Fc1F6czdPMEZEYWtKbU96czdPenM3T3pzN1FVRlZRVHM3UVVGRlFUczdPenM3T3pzN096czdPMGxCUjNGQ0xGRTdRVUZEY0VJN096czdPenRCUVUxQkxIRkNRVUZqTzBGQlFVRTdPMEZCUTJJN096czdPMEZCUzBFc1QwRkJTeXhSUVVGTUxFZEJRV2RDTEVWQlFXaENPMEZCUTBFN08wRkJSVVE3T3pzN096czdPenM3T3pzN05rSkJVMWNzU1N4RlFVRk5MRmtzUlVGQll6dEJRVU01UWl4aFFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1NVRkJOMEk3UVVGRFFTeGhRVUZWTEZOQlFWWXNRMEZCYjBJc1VVRkJjRUlzUTBGQk5rSXNXVUZCTjBJN08wRkJSVUVzVDBGQlNTeExRVUZMTEZGQlFVd3NRMEZCWXl4SlFVRmtMRTFCUVhkQ0xGTkJRVFZDTEVWQlFYVkRPMEZCUTNSRExHTkJRVlVzUzBGQlZpeERRVUZuUWl4SlFVRm9RaXgzUlVGQk1FWXNTVUZCTVVZN1FVRkRRVHM3UVVGRlJDeFJRVUZMTEZGQlFVd3NRMEZCWXl4SlFVRmtMRWxCUVhOQ0xGbEJRWFJDT3p0QlFVVkJMRlZCUVU4c1NVRkJVRHRCUVVOQk96czdPenRCUVVWRU96czdPenM3T3pzN096UkNRVlZWTEVjc1JVRkJTeXhQTEVWQlFWTTdRVUZEZGtJc1lVRkJWU3hUUVVGV0xFTkJRVzlDTEZGQlFYQkNMRU5CUVRaQ0xFZEJRVGRDTzBGQlEwRXNZVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRTlCUVRkQ096dEJRVVZCTEU5QlFVa3NTMEZCU3l4UlFVRk1MRU5CUVdNc1QwRkJaQ3hOUVVFeVFpeFRRVUV2UWl4RlFVRXdRenRCUVVONlF5eFZRVUZOTEVsQlFVa3NTMEZCU2l4M1EwRkJLME1zVDBGQkwwTXNUMEZCVGp0QlFVTkJPenRCUVVWRUxGVkJRVThzUzBGQlN5eFJRVUZNTEVOQlFXTXNUMEZCWkN4RlFVRjFRaXhIUVVGMlFpeExRVUVyUWl4TlFVRk5MRWRCUVU0c1IwRkJXU3hIUVVGc1JEdEJRVU5CT3pzN096czdhMEpCZWtSdFFpeFJPenM3UVVObWNrSTdPenM3T3pzN096dEJRVlZCT3pzN096dHJRa0ZGWlR0QlFVTmtPenM3T3pzN096dEJRVkZCTEV0QlZHTXNaMEpCVTFRc1UwRlVVeXhGUVZORkxFbEJWRVlzUlVGVFVUdEJRVU55UWl4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1UwRkJOMEk3UVVGRFFTeFpRVUZWTEZOQlFWWXNRMEZCYjBJc1VVRkJjRUlzUTBGQk5rSXNTVUZCTjBJN08wRkJSVUVzVFVGQlRTeFBRVUZQTEZOQlFWTXNUVUZCVkN4RFFVRm5RaXhWUVVGVkxFbEJRVllzUlVGQmFFSXNSVUZCYTBNc1NVRkJiRU1zUTBGQllqczdRVUZGUVN4TlFVRk5MRk5CUVZNc01FSkJRWGRDTEVsQlFYaENMRmxCUVdZN08wRkJSVUVzVTBGQlR5eExRVUZRTEVOQlFXRXNSVUZCUXl4VlFVRlZMR2xDUVVGWUxFVkJRV0k3TzBGQlJVRXNVMEZCVHl4TlFVRlFPMEZCUTBFc1JVRndRbUU3T3p0QlFYTkNaRHM3T3pzN1FVRkxRU3hMUVROQ1l5eG5Ra0V5UWxRc1RVRXpRbE1zUlVFeVFrUTdRVUZEV2l4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1RVRkJOMEk3TzBGQlJVRXNVMEZCVHl4RlFVRlFMRU5CUVZVc2FVSkJRVllzUlVGQk5rSTdRVUZCUVN4VlFVRk5MRTlCUVU4c1RVRkJVQ3hGUVVGT08wRkJRVUVzUjBGQk4wSTdPMEZCUlVFc1UwRkJUeXhMUVVGUUxFTkJRV0VzVFVGQllqdEJRVU5CTEVWQmFrTmhPenM3UVVGdFEyUTdPenM3T3pzN096czdPMEZCVjBFc1QwRTVRMk1zYTBKQk9FTlFMRXRCT1VOUExFVkJPRU5CTEU5Qk9VTkJMRVZCT0VOVE8wRkJRM1JDTEZsQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4TFFVRTNRanRCUVVOQkxGbEJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeFBRVUUzUWpzN1FVRkZRU3hOUVVGTkxGZEJRVmNzUlVGQlJTeFJRVUZHTEVWQlFXcENPMEZCUTBFc1RVRkJUU3hYUVVGWExFVkJRVVVzZDBKQlFVWXNSVUZCTkVJc1NVRkJOVUlzUlVGQmFrSTdRVUZEUVN4TlFVRk5MRTlCUVU4N1FVRkRXaXhsUVVSWk8wRkJSVm9zYlVKQlJsazdRVUZIV2l4bFFVRlpMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXhaUVVFM1FpeEZRVUV5UXl4WlFVRXpReXhEUVVoQk8wRkJTVm9zWTBGQlZ5eFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNWMEZCTjBJc1JVRkJNRU1zV1VGQk1VTTdRVUZLUXl4SFFVRmlPMEZCVFVFc1RVRkJUU3hQUVVGUExGTkJRVk1zVFVGQlZDeERRVUZuUWl4UlFVRm9RaXhGUVVFd1FpeEpRVUV4UWl4RFFVRmlPMEZCUTBFc1RVRkJUU3hUUVVGVExFVkJRVVVzU1VGQlJpeERRVUZtT3p0QlFVVkJMRk5CUVU4c1MwRkJVQ3hEUVVGaExFVkJRVU1zVlVGQlZTeHBRa0ZCV0N4RlFVRmlPenRCUVVWQkxGTkJRVThzU1VGQlVDeERRVUZaTEZWQlFWb3NSVUZEUlN4SFFVUkdMRU5CUTAwc1QwRkVUaXhGUVVWRkxFVkJSa1lzUTBGRlN5eFBRVVpNTEVWQlJXTXNXVUZCVFR0QlFVTnNRaXhWUVVGUExFdEJRVkFzUTBGQllTeE5RVUZpTEVWQlFYRkNMRTFCUVhKQ08wRkJRMEVzV1VGQlV5eFBRVUZVTzBGQlEwRXNSMEZNUmpzN1FVRlBRU3hUUVVGUExFbEJRVkFzUTBGQldTeFRRVUZhTEVWQlEwVXNSMEZFUml4RFFVTk5MRTlCUkU0c1JVRkZSU3hGUVVaR0xFTkJSVXNzVDBGR1RDeEZRVVZqTEZsQlFVMDdRVUZEYkVJc1ZVRkJUeXhMUVVGUUxFTkJRV0VzVFVGQllpeEZRVUZ4UWl4TlFVRnlRanRCUVVOQkxGbEJRVk1zVFVGQlZEdEJRVU5CTEVkQlRFWTdPMEZCVDBFc1UwRkJUeXhUUVVGVExFOUJRVlFzUlVGQlVEdEJRVU5CTEVWQk9VVmhPenM3UVVGblJtUTdPenM3T3pzN096czdRVUZWUVN4UlFURkdZeXh0UWtFd1JrNHNTMEV4Umswc1JVRXdSa01zVVVFeFJrUXNSVUV3UmxVN1FVRkRka0lzV1VGQlZTeFRRVUZXTEVOQlFXOUNMRkZCUVhCQ0xFTkJRVFpDTEV0QlFUZENPMEZCUTBFc1dVRkJWU3hUUVVGV0xFTkJRVzlDTEZGQlFYQkNMRU5CUVRaQ0xGRkJRVGRDT3p0QlFVVkJMRTFCUVUwc1YwRkJWeXhGUVVGRkxGRkJRVVlzUlVGQmFrSTdRVUZEUVN4TlFVRk5MRmRCUVZjc1JVRkJSU3g1UWtGQlJpeEZRVUUyUWl4SlFVRTNRaXhGUVVGcVFqdEJRVU5CTEUxQlFVMHNUMEZCVHp0QlFVTmFMR1ZCUkZrN1FVRkZXaXh2UWtGR1dUdEJRVWRhTEdOQlFWY3NWVUZCVlN4UlFVRldMRU5CUVcxQ0xGTkJRVzVDTEVOQlFUWkNMRmRCUVRkQ0xFVkJRVEJETEZsQlFURkRPMEZCU0VNc1IwRkJZanRCUVV0QkxFMUJRVTBzVDBGQlR5eFRRVUZUTEUxQlFWUXNRMEZCWjBJc1VVRkJhRUlzUlVGQk1FSXNTVUZCTVVJc1EwRkJZanRCUVVOQkxFMUJRVTBzVTBGQlV5d3dRa0ZCZDBJc1NVRkJlRUlzV1VGQlpqczdRVUZGUVN4VFFVRlBMRXRCUVZBc1EwRkJZU3hGUVVGRExGVkJRVlVzYVVKQlFWZ3NSVUZCWWpzN1FVRkZRU3hUUVVGUExFbEJRVkFzUTBGQldTeFRRVUZhTEVWQlEwVXNSMEZFUml4RFFVTk5MRTlCUkU0c1JVRkZSU3hGUVVaR0xFTkJSVXNzVDBGR1RDeEZRVVZqTEZsQlFVMDdRVUZEYkVJc1ZVRkJUeXhMUVVGUUxFTkJRV0VzVFVGQllpeEZRVUZ4UWl4TlFVRnlRanRCUVVOQkxGbEJRVk1zVDBGQlZEdEJRVU5CTEVkQlRFWXNSVUZOUlN4TFFVNUdPenRCUVZGQkxGTkJRVThzVTBGQlV5eFBRVUZVTEVWQlFWQTdRVUZEUVR0QlFXNUlZU3hET3pzN1FVTmFaanM3T3pzN096czdPMEZCVlVFN096czdPenRCUVVWQk96czdPMEZCUTBFN096czdRVUZEUVRzN096dEJRVU5CT3pzN08wRkJRMEU3T3pzN1FVRkRRVHM3T3p0QlFVTkJPenM3TzBGQlEwRTdPenM3T3p0QlFVVkJPMEZCUTBFc1NVRkJUU3hqUVVGak8wRkJRMjVDTERaRFFVUnRRanRCUVVWdVFpd3JRMEZHYlVJN1FVRkhia0lzYlVSQlNHMUNPMEZCU1c1Q0xIVkRRVXB0UWp0QlFVdHVRaXh4UTBGTWJVSTdRVUZOYmtJc05rTkJUbTFDTzBGQlQyNUNMRFpEUVZCdFFqdEJRVkZ1UWp0QlFWSnRRaXhEUVVGd1FqczdRVUZYUVRzN096czdPenM3T3pzN1FVRlhRU3hUUVVGVExHbENRVUZVTEVOQlFUSkNMRmRCUVROQ0xFVkJRWGRETEVsQlFYaERMRVZCUVRoRE8wRkJRemRETEZWQlFWTXNWVUZCVkN4SFFVRnpRanRCUVVOeVFpeFRRVUZQTEZsQlFWa3NTMEZCV2l4RFFVRnJRaXhKUVVGc1FpeEZRVUYzUWl4SlFVRjRRaXhEUVVGUU8wRkJRMEU3TzBGQlJVUXNXVUZCVnl4VFFVRllMRWRCUVhWQ0xGbEJRVmtzVTBGQmJrTTdRVUZEUVN4UlFVRlBMRWxCUVVrc1ZVRkJTaXhGUVVGUU8wRkJRMEU3TzJ0Q1FVVmpPMEZCUTJRN096czdPenM3TzBGQlVVRXNTMEZVWXl4blFrRlRWQ3hqUVZSVExFVkJVMnRDTzBGQlFVRXNUVUZCV0N4SlFVRlhMSFZGUVVGS0xFVkJRVWs3TzBGQlF5OUNMRmxCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhqUVVFM1FqczdRVUZGUVN4TlFVRkpMRk5CUVZNc1UwRkJZaXhGUVVGM1FqdEJRVU4yUWl4aFFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1NVRkJOMEk3UVVGRFFUczdRVUZGUkN4TlFVRk5MRmRCUVZjc2EwSkJRV3RDTEZsQlFWa3NZMEZCV2l4RFFVRnNRaXhGUVVFclF5eEpRVUV2UXl4RFFVRnFRanM3UVVGRlFTeFhRVUZUTEZWQlFWUTdRVUZEUVR0QlFXNUNZU3hET3pzN1FVTnlSR1k3T3pzN096czdPenRCUVZWQk96czdPenRyUWtGRlpUdEJRVU5rT3pzN096czdPenM3T3pzN096czdRVUZsUVN4VFFXaENZeXh2UWtGblFrd3NTVUZvUWtzc1JVRm5Ra003UVVGRFpDeE5RVUZOTEhOQ1FVRnpRaXhQUVVGUExGRkJRVkFzUTBGQlowSXNUVUZCYUVJc1EwRkJkVUlzVFVGQmRrSXNRMEZCT0VJc1EwRkJPVUlzUTBGQk5VSTdRVUZEUVN4TlFVRk5MRk5CUVZNc2IwSkJRVzlDTEV0QlFYQkNMRU5CUVRCQ0xFZEJRVEZDTEVOQlFXWTdRVUZEUVN4TlFVRk5MR2RDUVVGblFpeEZRVUYwUWpzN1FVRkZRU3hUUVVGUExFOUJRVkFzUTBGQlpTeFZRVUZUTEV0QlFWUXNSVUZCWjBJN1FVRkRPVUlzVDBGQlRTeFpRVUZaTEUxQlFVMHNTMEZCVGl4RFFVRlpMRWRCUVZvc1EwRkJiRUk3UVVGRFFTeHBRa0ZCWXl4VlFVRlZMRU5CUVZZc1EwRkJaQ3hKUVVFNFFpeFZRVUZWTEVOQlFWWXNTMEZCWjBJc1NVRkJPVU03UVVGRFFTeEhRVWhFT3p0QlFVdEJMRk5CUVU4c1kwRkJZeXhKUVVGa0xFTkJRVkE3UVVGRFFUdEJRVE5DWVN4RE96czdRVU5hWmpzN096czdPenM3TzBGQlZVRTdPMEZCUlVFN096czdPenM3T3pzN096czdPenM3TzBGQlZVRXNVMEZCVXl4TlFVRlVMRU5CUVdkQ0xFdEJRV2hDTEVWQlFYVkNMRmxCUVhaQ0xFVkJRWEZETzBGQlEzQkRMRTlCUVUwc1NVRkJTU3hUUVVGS0xFTkJRV01zYjBOQlFXOURMRmxCUVhCRExFZEJRVzFFTEZOQlFXNUVMRmRCUVhORkxFdEJRWFJGTEhsRFFVRnpSU3hMUVVGMFJTeExRVUU0UlN4SlFVRTFSaXhGUVVGclJ5eExRVUZzUnl4RFFVRk9PMEZCUTBFN08ydENRVVZqTzBGQlEyUTdPenM3T3pzN1FVRlBRU3hOUVZKakxHbENRVkZTTEV0QlVsRXNSVUZSUkR0QlFVTmFMRTFCUVVrc1ZVRkJWU3hUUVVGVExFdEJRVlFzUTBGQlpDeEZRVUVyUWp0QlFVTTVRaXhWUVVGUExFdEJRVkFzUlVGQll5eFRRVUZrTzBGQlEwRTdRVUZEUkN4RlFWcGhPenM3UVVGalpEczdPenM3T3p0QlFVOUJMRkZCY2tKakxHMUNRWEZDVGl4TFFYSkNUU3hGUVhGQ1F6dEJRVU5rTEUxQlFVa3NWVUZCVlN4UFFVRlBMRXRCUVZBc1EwRkJWaXhKUVVFeVFpeFJRVUZSTEVOQlFWSXNTMEZCWXl4RFFVRTNReXhGUVVGblJEdEJRVU12UXl4VlFVRlBMRXRCUVZBc1JVRkJZeXhQUVVGa08wRkJRMEU3UVVGRFJDeEZRWHBDWVRzN08wRkJNa0prT3pzN096czdPMEZCVDBFc1UwRnNRMk1zYjBKQmEwTk1MRXRCYkVOTExFVkJhME5GTzBGQlEyWXNUVUZCU1N4TlFVRk5MRmRCUVU0c1MwRkJjMElzVFVGQk1VSXNSVUZCYTBNN1FVRkRha01zVlVGQlR5eExRVUZRTEVWQlFXTXNVVUZCWkR0QlFVTkJPMEZCUTBRc1JVRjBRMkU3T3p0QlFYZERaRHM3T3pzN096dEJRVTlCTEU5QkwwTmpMR3RDUVN0RFVDeExRUzlEVHl4RlFTdERRVHRCUVVOaUxFMUJRVWtzVFVGQlRTeFhRVUZPTEV0QlFYTkNMRTlCUVRGQ0xFVkJRVzFETzBGQlEyeERMRlZCUVU4c1MwRkJVQ3hGUVVGakxFMUJRV1E3UVVGRFFUdEJRVU5FTEVWQmJrUmhPenM3UVVGeFJHUTdPenM3T3pzN1FVRlBRU3hUUVRWRVl5eHZRa0UwUkV3c1MwRTFSRXNzUlVFMFJFVTdRVUZEWml4TlFVRkpMRkZCUVU4c1MwRkJVQ3g1UTBGQlR5eExRVUZRTEU5QlFXbENMRkZCUVhKQ0xFVkJRU3RDTzBGQlF6bENMRlZCUVU4c1MwRkJVQ3hGUVVGakxGRkJRV1E3UVVGRFFUdEJRVU5FTEVWQmFFVmhPenM3UVVGclJXUTdPenM3T3pzN08wRkJVVUVzVTBFeFJXTXNiMEpCTUVWTUxFbEJNVVZMTEVWQk1FVkRMRTFCTVVWRUxFVkJNRVZUTzBGQlEzUkNMRTFCUVVrc1VVRkJUeXhOUVVGUUxIbERRVUZQTEUxQlFWQXNUMEZCYTBJc1NVRkJkRUlzUlVGQk5FSTdRVUZETTBJc1ZVRkJUeXhOUVVGUUxFVkJRV1VzU1VGQlpqdEJRVU5CTzBGQlEwUTdRVUU1UldFc1F6czdPMEZETVVKbU96czdPenM3T3pzN1FVRlZRVHM3UVVGRlFUczdPenM3TzBGQlJVRTdPenM3UVVGRFFUczdPenRCUVVOQk96czdPMEZCUTBFN096czdRVUZEUVRzN096dEJRVU5CT3pzN08wRkJRMEU3T3pzN1FVRkRRVHM3T3pzN08ydENRVVZsTzBGQlEyUTdPenM3T3pzN096dEJRVk5CTEhWQ1FWWmpMR3REUVZWVExFOUJWbFFzUlVGVmEwSXNhMEpCVm14Q0xFVkJWWE5ETEdOQlZuUkRMRVZCVlhORU8wRkJRMjVGTEZsQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4UFFVRTNRanRCUVVOQkxGbEJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeHJRa0ZCTjBJN1FVRkRRU3haUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzWTBGQk4wSTdPMEZCUlVFc1RVRkJTU3gzUWtGQlNqdEJRVU5CTEUxQlFVa3NkVUpCUVVvN08wRkJSVUVzYjBKQlFXMUNMRkZCUVZFc1VVRkJVaXhMUVVGeFFpeFRRVUYwUWl4SFFVRnRReXhKUVVGSkxHbENRVUZLTEVWQlFXNURMRWRCUVcxRUxFbEJRVWtzYjBKQlFVb3NSVUZCY2tVN08wRkJSVUVzYTBKQlEwVXNUMEZFUml4RFFVTlZMRkZCUVZFc1NVRkViRUlzUlVGRlJTeFJRVVpHTEVOQlJWY3NWVUZCVlN4UlFVRldMRU5CUVcxQ0xGTkJRVzVDTEVOQlFUWkNMRkZCUVZFc1NVRkJja01zUlVGQk1rTXNWVUZCTTBNc1EwRkdXQ3hGUVVkRkxFOUJTRVlzUTBGSFZTeFJRVUZSTEVsQlNHeENPenRCUVV0QkxFMUJRVWtzVVVGQlVTeExRVUZTTEV0QlFXdENMRk5CUVhSQ0xFVkJRV2xETzBGQlEyaERMRzFDUVVGblFpeFJRVUZvUWl4RFFVRjVRaXhSUVVGUkxFdEJRV3BETzBGQlEwRTdPMEZCUlVRc1RVRkJTU3hSUVVGUkxHRkJRVklzUzBGQk1FSXNVMEZCT1VJc1JVRkJlVU03UVVGRGVFTXNiVUpCUVdkQ0xHZENRVUZvUWl4RFFVRnBReXhSUVVGUkxHRkJRWHBETzBGQlEwRTdPMEZCUlVRc1RVRkJTU3hSUVVGUkxGRkJRVklzUzBGQmNVSXNVMEZCZWtJc1JVRkJiME03UVVGRGJrTXNiVUpCUVdkQ0xGZEJRV2hDTEVOQlFUUkNMRkZCUVZFc1VVRkJjRU03UVVGRFFUczdRVUZGUkN4TlFVRkpMRkZCUVZFc1QwRkJVaXhMUVVGdlFpeFRRVUY0UWl4RlFVRnRRenRCUVVOc1F5eHRRa0ZCWjBJc1ZVRkJhRUlzUTBGQk1rSXNVVUZCVVN4UFFVRnVRenRCUVVOQk96dEJRVVZFTEUxQlFVa3NVVUZCVVN4SlFVRlNMRXRCUVdsQ0xGTkJRWEpDTEVWQlFXZERPMEZCUXk5Q0xHMUNRVUZuUWl4UFFVRm9RaXhEUVVGM1FpeFJRVUZSTEVsQlFXaERPMEZCUTBFN08wRkJSVVE3UVVGRFFTeFZRVUZSTEZGQlFWRXNTVUZCYUVJN1FVRkRReXhSUVVGTExFOUJRVXc3UVVGRFF5eHhRa0ZCYVVJc1NVRkJTU3h4UWtGQlNpeERRVUZuUWl4bFFVRm9RaXhGUVVGcFF5eHJRa0ZCYWtNc1EwRkJha0k3UVVGRFFUdEJRVU5FTEZGQlFVc3NUVUZCVER0QlFVTkRMSEZDUVVGcFFpeEpRVUZKTEdsQ1FVRktMRU5CUVZrc1pVRkJXaXhGUVVFMlFpeHJRa0ZCTjBJc1EwRkJha0k3UVVGRFFUdEJRVU5FTEZGQlFVc3NVVUZCVER0QlFVTkRMSEZDUVVGcFFpeEpRVUZKTEcxQ1FVRktMRU5CUVdNc1pVRkJaQ3hGUVVFclFpeHJRa0ZCTDBJc1EwRkJha0k3UVVGRFFUdEJRVU5FTEZGQlFVc3NVVUZCVER0QlFVTkRMSEZDUVVGcFFpeEpRVUZKTEdkQ1FVRktMRU5CUVZjc1pVRkJXQ3hGUVVFMFFpeHJRa0ZCTlVJc1EwRkJha0k3UVVGRFFUdEJRVU5FTEZGQlFVc3NUMEZCVER0QlFVTkRMSEZDUVVGcFFpeEpRVUZKTEdWQlFVb3NRMEZCVlN4bFFVRldMRU5CUVdwQ08wRkJRMEU3UVVGRFJDeFJRVUZMTEU5QlFVdzdRVUZEUXl4eFFrRkJhVUlzU1VGQlNTeGxRVUZLTEVOQlFWVXNaVUZCVml4RlFVRXlRaXhyUWtGQk0wSXNSVUZCSzBNc1kwRkJMME1zUTBGQmFrSTdRVUZEUVR0QlFVTkVPMEZCUTBNc1ZVRkJUU3hKUVVGSkxFdEJRVW9zUTBGQlZTdzBRMEZCTkVNc1VVRkJVU3hKUVVFNVJDeERRVUZPTzBGQmNFSkdPenRCUVhWQ1FTeFRRVUZQTEdOQlFWQTdRVUZEUVR0QlFYUkZZU3hET3pzN096dEJRMkptT3pzN08wRkJRMEU3T3pzN1FVRkRRVHM3T3p0QlFVTkJPenM3TzBGQlEwRTdPenM3UVVGRFFUczdPenRCUVVOQk96czdPMEZCUTBFN096czdRVUZEUVRzN096dEJRVU5CT3pzN08wRkJRMEU3T3pzN1FVRkRRVHM3T3p0QlFVTkJPenM3TzBGQlEwRTdPenM3UVVGRFFUczdRVUZEUVRzN096czdPMEZCUlVFN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN08wRkJNMEpCT3pzN096czdPenM3UVVFd1JVRXNSVUZCUlN4WlFVRlhPenRCUVVWYU96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3gxUWtGQldTeExRVUZhT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVMHNVMEZCVXp0QlFVTmtMRmRCUVZNc1MwRkVTenRCUVVWa0xGZEJRVk1zUTBGQlF5eFBRVUZQTEZGQlFWQXNRMEZCWjBJc1RVRkJhRUlzUjBGQmVVSXNUMEZCVHl4UlFVRlFMRU5CUVdkQ0xGRkJRVEZETEVWQlFXOUVMRTlCUVhCRUxFTkJRVFJFTEcxQ1FVRTFSQ3hGUVVGcFJpeGhRVUZxUml4RFFVWkxPMEZCUjJRc1kwRkJXU3hQUVVGUExGRkJRVkFzUTBGQlowSXNUVUZCYUVJc1IwRkJlVUlzVDBGQlR5eFJRVUZRTEVOQlFXZENMRkZCUVdoQ0xFTkJRWGxDTEU5QlFYcENMRU5CUVdsRExHMUNRVUZxUXl4RlFVRnpSQ3hGUVVGMFJDeERRVWgyUWp0QlFVbGtMR1ZCUVdFc2IwSkJRVlVzVVVGQlZpeERRVUZ0UWl4UFFVRnVRaXhOUVVGblF5eFRRVUZvUXl4SFFVRTBReXhoUVVFMVF5eEhRVUUwUkN4WlFVb3pSRHRCUVV0a0xHZENRVUZqTEc5Q1FVRlZMRkZCUVZZc1EwRkJiVUlzVFVGQmJrSXNTMEZCT0VJc1NVRk1PVUk3UVVGTlpDeFRRVUZQTEc5Q1FVRlZMRkZCUVZZc1EwRkJiVUlzVDBGQmJrSXNUVUZCWjBNc1UwRk9la0k3UVVGUFpDeFpRVUZWTEc5Q1FVRlZMRkZCUVZZc1EwRkJiVUlzVlVGQmJrSXNRMEZRU1R0QlFWRmtMR2xDUVVGbExHMUNRVkpFTzBGQlUyUXNORUpCUVRCQ08wRkJWRm9zUlVGQlpqczdRVUZaUVN4TFFVRkpMRU5CUVVNc1QwRkJUeXhSUVVGYUxFVkJRWE5DTzBGQlEzSkNMRkZCUVUwc1NVRkJTU3hMUVVGS0xFTkJRVlVzWjBaQlEySXNNa0pCUkVjc1EwRkJUanRCUVVWQk96dEJRVVZFTzBGQlEwRXNVVUZCVHl4VFFVRlFMRWRCUVcxQ08wRkJRMnhDTEZWQlFWRXNTVUZCU1N4blFrRkJTaXhEUVVGWExFMUJRVmdzUTBGRVZUdEJRVVZzUWl4WlFVRlZMRWxCUVVrc2EwSkJRVW9zUlVGR1VUdEJRVWRzUWl4VFFVRlBMR1ZCU0ZjN1FVRkpiRUlzWVVGQlZ6dEJRVXBQTEVWQlFXNUNPenRCUVU5Qk8wRkJRMEVzYzBKQlFYVkNMRk5CUVhaQ096dEJRVVZCTzBGQlEwRXNTMEZCVFN4WFFVRlhMRU5CUTJoQ0xHOUNRVUZWTEVkQlFWWXNSVUZFWjBJc1JVRkZhRUlzYzBKQlFWa3NaVUZCV2l4RFFVRTBRaXhWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzWTBGQmNrSXNRMEZCTlVJc1EwRkdaMElzUTBGQmFrSTdPMEZCUzBFN1FVRkRRU3hIUVVGRkxFbEJRVVlzUTBGQlR5eExRVUZRTEVOQlFXRXNRMEZCWWl4RlFVRm5RaXhSUVVGb1FpeEZRVU5GTEVsQlJFWXNRMEZEVHl4WlFVRlhPMEZCUTJoQ0xFMUJRVTBzWTBGQll5eEZRVUZGTEUxQlFVWXNRMEZCVXl4SlFVRlVMRVZCUVdVc1JVRkJaaXhGUVVGdFFpeE5RVUZ1UWl4RlFVRXlRaXhWUVVGVkxFTkJRVllzUlVGQllTeERRVUZpTEVOQlFUTkNMRU5CUVhCQ08wRkJRMEVzV1VGQlZTeE5RVUZXTEVkQlFXMUNMRWxCUVVrc1owSkJRVW9zUTBGQlZ5eFhRVUZZTEVOQlFXNUNMRU5CUm1kQ0xFTkJSVFJDTzBGQlF6VkRMRmxCUVZVc1VVRkJWaXhEUVVGdFFpeFZRVUZ1UWl4RFFVRTRRaXhaUVVFNVFpeEZRVUUwUXl4VlFVRlZMRU5CUVZZc1JVRkJZU3hEUVVGaUxFTkJRVFZETEVWQlNHZENMRU5CUnpoRE96dEJRVVU1UkR0QlFVTkJMRTFCUVUwc2EwSkJRV3RDTEVsQlFVa3NlVUpCUVVvc1EwRkJiMElzUlVGQlJTeHhRa0ZCUml4RFFVRndRaXhGUVVFNFF5eFZRVUZWTEUxQlFWWXNRMEZCYVVJc1IwRkJha0lzUTBGQmNVSXNXVUZCY2tJc1EwRkJPVU1zUTBGQmVFSTdPMEZCUlVFN1FVRkRRU3hOUVVGTkxHbENRVUZwUWl4SlFVRkpMSGRDUVVGS0xFTkJRVzFDTEVWQlFVVXNhMEpCUVVZc1EwRkJia0lzUlVGQk1FTXNaVUZCTVVNc1EwRkJka0k3UVVGRFFTeE5RVUZOTEdsQ1FVRnBRaXhKUVVGSkxIRkNRVUZLTEVWQlFYWkNPMEZCUTBFc1RVRkJUU3g1UWtGQmVVSXNTVUZCU1N4eFFrRkJTaXhGUVVFdlFqdEJRVU5CTEUxQlFVMHNkMEpCUVhkQ0xFbEJRVWtzY1VKQlFVb3NSVUZCT1VJN1FVRkRRU3hOUVVGTkxIZENRVUYzUWl4SlFVRkpMSEZDUVVGS0xFVkJRVGxDT3p0QlFVVkJMR2xDUVVORkxGRkJSRVlzUTBGRFZ5eFRRVVJZTEVWQlJVVXNUMEZHUml4RFFVVlZMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXgzUWtGQk4wSXNSVUZCZFVRc1dVRkJka1FzUTBGR1ZpeEZRVWRGTEdGQlNFWXNRMEZIWjBJN1FVRkRaQ3hWUVVGUExFMUJSRTg3UVVGRlpDeFhRVUZSTEUxQlJrMDdRVUZIWkN4WlFVRlRMRWRCU0VzN1FVRkpaQ3hoUVVGVkxFVkJTa2s3UVVGTFpDeFJRVUZMTEVWQlRGTTdRVUZOWkN4VFFVRk5MRVZCVGxFN1FVRlBaQ3hYUVVGUkxFVkJVRTA3UVVGUlpDeGxRVUZaTzBGQlVrVXNSMEZJYUVJc1JVRmhSU3haUVdKR0xFTkJZV1VzWlVGaVppeEZRV05GTEdGQlpFWXNRMEZqWjBJc1VVRmthRUk3TzBGQlowSkJMSGxDUVVORkxGRkJSRVlzUTBGRFZ5eHJRa0ZFV0N4RlFVVkZMRTlCUmtZc1EwRkZWU3hWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzYVVOQlFUZENMRVZCUVdkRkxGbEJRV2hGTEVOQlJsWXNSVUZIUlN4aFFVaEdMRU5CUjJkQ08wRkJRMlFzVlVGQlR5eFJRVVJQTzBGQlJXUXNWMEZCVVN4UFFVWk5PMEZCUjJRc1dVRkJVeXh4UWtGSVN6dEJRVWxrTEdGQlFWVXNWVUZLU1R0QlFVdGtMRkZCUVVzc1MwRk1VenRCUVUxa0xGTkJRVTBzUzBGT1VUdEJRVTlrTEZkQlFWRXNiVUpCVUUwN1FVRlJaQ3hsUVVGWkxGTkJRVk1zVlVGQlZTeE5RVUZXTEVOQlFXbENMRWRCUVdwQ0xFTkJRWEZDTEZOQlFYSkNMRU5CUVZRc1IwRkRWanRCUVZSWkxFZEJTR2hDTEVWQlkwVXNXVUZrUml4RFFXTmxMRFJDUVdSbUxFVkJaVVVzWVVGbVJpeERRV1ZuUWl4VlFXWm9RanM3UVVGcFFrRXNkMEpCUTBVc1VVRkVSaXhEUVVOWExHbENRVVJZTEVWQlJVVXNUMEZHUml4RFFVVlZMRlZCUVZVc1VVRkJWaXhEUVVGdFFpeFRRVUZ1UWl4RFFVRTJRaXhuUTBGQk4wSXNSVUZCSzBRc1dVRkJMMFFzUTBGR1ZpeEZRVWRGTEdGQlNFWXNRMEZIWjBJN1FVRkRaQ3hWUVVGUExFOUJSRTg3UVVGRlpDeFhRVUZSTEZGQlJrMDdRVUZIWkN4WlFVRlRMR2RDUVVoTE8wRkJTV1FzWVVGQlZTeFZRVXBKTzBGQlMyUXNVVUZCU3l4TFFVeFRPMEZCVFdRc1UwRkJUU3hMUVU1Uk8wRkJUMlFzVjBGQlVTeHRRa0ZRVFR0QlFWRmtMR1ZCUVZrc1UwRkJVeXhWUVVGVkxFMUJRVllzUTBGQmFVSXNSMEZCYWtJc1EwRkJjVUlzVTBGQmNrSXNRMEZCVkN4SFFVTldPMEZCVkZrc1IwRklhRUlzUlVGalJTeFpRV1JHTEVOQlkyVXNZMEZrWml4RlFXVkZMR0ZCWmtZc1EwRmxaMElzVlVGbWFFSTdPMEZCYVVKQkxIZENRVU5GTEZGQlJFWXNRMEZEVnl4cFFrRkVXQ3hGUVVWRkxFOUJSa1lzUTBGRlZTeFZRVUZWTEZGQlFWWXNRMEZCYlVJc1UwRkJia0lzUTBGQk5rSXNaME5CUVRkQ0xFVkJRU3RFTEZsQlFTOUVMRU5CUmxZc1JVRkhSU3hoUVVoR0xFTkJSMmRDTzBGQlEyUXNWVUZCVHl4UFFVUlBPMEZCUldRc1YwRkJVU3hQUVVaTk8wRkJSMlFzV1VGQlV5eG5Ra0ZJU3p0QlFVbGtMR0ZCUVZVc1ZVRktTVHRCUVV0a0xGRkJRVXNzUzBGTVV6dEJRVTFrTEZOQlFVMHNTMEZPVVR0QlFVOWtMRmRCUVZFc2JVSkJVRTA3UVVGUlpDeGxRVUZaTEZOQlFWTXNWVUZCVlN4TlFVRldMRU5CUVdsQ0xFZEJRV3BDTEVOQlFYRkNMRk5CUVhKQ0xFTkJRVlFzUjBGRFZqdEJRVlJaTEVkQlNHaENMRVZCWTBVc1dVRmtSaXhEUVdObExHTkJaR1lzUlVGbFJTeGhRV1pHTEVOQlpXZENMRk5CWm1oQ096dEJRV2xDUVN4cFFrRkRSU3hqUVVSR0xFTkJRMmxDTEhGQ1FVUnFRaXhGUVVWRkxHTkJSa1lzUTBGRmFVSXNjVUpCUm1wQ0xFVkJSMFVzWTBGSVJpeERRVWRwUWl4elFrRklha0lzUlVGSlJTeGpRVXBHTEVOQlNXbENMR05CU21wQ096dEJRVTFCTzBGQlEwRXNUVUZCVFN4alFVRmpMRWxCUVVrc2NVSkJRVW9zUTBGQlowSXNSVUZCUlN4dFFrRkJSaXhEUVVGb1FpeEZRVUYzUXl4RlFVRkZMR1ZCUVVZc1EwRkJlRU1zUTBGQmNFSTdRVUZEUVN4TlFVRk5MRmRCUVZjc1NVRkJTU3hyUWtGQlNpeERRVUZoTEVWQlFVVXNiVUpCUVVZc1EwRkJZaXhGUVVGeFF5eGpRVUZ5UXl4RlFVRnhSQ3hYUVVGeVJDeERRVUZxUWp0QlFVTkJMRmRCUVZNc1ZVRkJWRHM3UVVGRlFUdEJRVU5CTEcxQ1FVRlBMRWxCUVZBc1EwRkJXU3hqUVVGYU8wRkJRMEVzUlVGb1IwWTdRVUZwUjBFc1EwRnVTa1E3T3p0QlF6RkZRVHM3T3pzN096czdPMEZCVlVFN08wRkJSVUU3T3pzN096czdPenM3T3pzN096dEpRVTF4UWl4Uk8wRkJRM0JDT3pzN096czdPMEZCVDBFc2JVSkJRVmtzVDBGQldpeEZRVUZ4UWl4alFVRnlRaXhGUVVGeFF5eFhRVUZ5UXl4RlFVRnJSRHRCUVVGQk96dEJRVU5xUkN4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1QwRkJOMEk3UVVGRFFTeFpRVUZWTEZOQlFWWXNRMEZCYjBJc1VVRkJjRUlzUTBGQk5rSXNZMEZCTjBJN1FVRkRRU3haUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzVjBGQk4wSTdPMEZCUlVFN096czdPMEZCUzBFc1QwRkJTeXhQUVVGTUxFZEJRV1VzVDBGQlpqczdRVUZGUVRzN096czdRVUZMUVN4UFFVRkxMR05CUVV3c1IwRkJjMElzWTBGQmRFSTdPMEZCUlVFN096czdPMEZCUzBFc1QwRkJTeXhYUVVGTUxFZEJRVzFDTEZkQlFXNUNPMEZCUTBFN08wRkJSVVE3T3pzN096czdPenM3SzBKQlRXRTdRVUZEV2l4UlFVRkxMRmRCUVV3c1EwRkJhVUlzVlVGQmFrSTdRVUZEUVN4UlFVRkxMR05CUVV3c1EwRkJiMElzVlVGQmNFSTdRVUZEUVRzN096czdPMnRDUVRWRGJVSXNVVHM3TzBGRGJFSnlRanM3T3pzN096czdPMEZCVlVFN08wRkJSVUU3T3pzN096czdPenM3T3pzN096dEpRVTF4UWl4WE8wRkJRM0JDT3pzN096czdRVUZOUVN4elFrRkJXU3hOUVVGYUxFVkJRVzlDTEd0Q1FVRndRaXhGUVVGM1F6dEJRVUZCT3p0QlFVTjJReXhaUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzVFVGQk4wSTdRVUZEUVN4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc2EwSkJRVGRDT3p0QlFVVkJPenM3UVVGSFFTeFBRVUZMTEUxQlFVd3NSMEZCWXl4TlFVRmtPenRCUVVWQk96czdRVUZIUVN4UFFVRkxMR3RDUVVGTUxFZEJRVEJDTEd0Q1FVRXhRanRCUVVOQk96dEJRVVZFT3pzN096czdPeXRDUVVkaE8wRkJRVUU3TzBGQlExb3NUMEZCVFN4UlFVRlJMRXRCUVVzc1RVRkJUQ3hEUVVGWkxGRkJRVm9zUlVGQlpEdEJRVU5CTEU5QlFVMHNWMEZCVnl4RlFVRkZMSGxDUVVGR0xFVkJRVFpDTEVsQlFUZENMRU5CUVd0RExFMUJRVTBzUzBGQlN5eE5RVUZNTEVOQlFWa3NUMEZCV2l4RlFVRjRReXhEUVVGcVFqdEJRVU5CTEU5QlFVMHNWMEZCVnl4VFFVRlRMRTlCUVZRc1EwRkJhVUlzWVVGQmFrSXNSVUZCWjBNc1NVRkJhRU1zUTBGQmNVTXNaMEpCUVhKRExFTkJRV3BDT3p0QlFVVkJMRmxCUVZNc1VVRkJWQ3hEUVVGclFqdEJRVU5xUWl4WFFVRlBMRXRCUVVzc1RVRkJUQ3hEUVVGWkxGRkJRVm9zUlVGRVZUdEJRVVZxUWl4eFFrRkJhVUlzUzBGR1FUdEJRVWRxUWl4NVFrRkJjVUlzU1VGSVNqdEJRVWxxUWl4cFFrRkJZU3hKUVVwSk8wRkJTMnBDTEdWQlFWY3NTVUZNVFR0QlFVMXFRaXhwUWtGQllTeEpRVTVKTzBGQlQycENMR1ZCUVZjc1NVRlFUVHRCUVZGcVFpeG5Ra0ZCV1N4SlFWSkxPMEZCVTJwQ0xHZENRVUZaTEZWQlFWVXNVVUZCVml4RFFVRnRRaXhUUVVGdVFpeERRVUUyUWl4bFFVRTNRaXhGUVVFNFF5eFpRVUU1UXl4RFFWUkxPMEZCVldwQ0xHRkJRVk1zUlVGV1VUdEJRVmRxUWl4elFrRkJhMElzUlVGWVJEdEJRVmxxUWl4M1FrRkJiMElzYjBKQldrZzdRVUZoYWtJc2NVSkJRV2xDTEZWQlFWVXNUVUZCVml4RFFVRnBRaXhIUVVGcVFpeERRVUZ4UWl3d1FrRkJja0lzUTBGaVFUdEJRV05xUWl4WlFVRlJMSFZDUVVGVE8wRkJRMmhDTEdOQlFWTXNSMEZCVkN4RFFVRmhMRXRCUVdJc1JVRkJiMElzVDBGQmNFSXNRMEZCTkVJc1VVRkJOVUk3UVVGRFFTeFhRVUZMTEcxQ1FVRk1MRU5CUVhsQ0xGRkJRWHBDTEVWQlFXMURMRTFCUVUwc1VVRkJUaXhGUVVGdVF6dEJRVU5CTzBGQmFrSm5RaXhKUVVGc1FqczdRVUZ2UWtFc1VVRkJTeXh0UWtGQlRDeERRVUY1UWl4UlFVRjZRaXhGUVVGdFF5eExRVUZ1UXpzN1FVRkZRU3haUVVGVExFMUJRVlFzUTBGQlowSXNXVUZCVFR0QlFVTnlRaXhSUVVGSkxGRkJRVkVzUzBGQldqczdRVUZGUVR0QlFVTkJMRTFCUVVVc1NVRkJSaXhEUVVGUExFMUJRVXNzYTBKQlFVd3NRMEZCZDBJc1YwRkJlRUlzUlVGQlVDeEZRVUU0UXl4VlFVRkRMRXRCUVVRc1JVRkJVU3hQUVVGU0xFVkJRVzlDTzBGQlEycEZMRTlCUVVVc1NVRkJSaXhEUVVGUExGRkJRVkVzVlVGQlVpeEZRVUZRTEVWQlFUWkNMRlZCUVVNc1MwRkJSQ3hGUVVGUkxFdEJRVklzUlVGQmEwSTdRVUZET1VNc1ZVRkJTU3hOUVVGTkxFOUJRVTRzVDBGQmIwSXNUVUZCU3l4TlFVRk1MRU5CUVZrc1QwRkJXaXhGUVVGNFFpeEZRVUVyUXp0QlFVTTVReXhoUVVGTkxGRkJRVTRzUTBGQlpTeFRRVUZUTEVkQlFWUXNSVUZCWmp0QlFVTkJMR1ZCUVZFc1NVRkJVanRCUVVOQkxHTkJRVThzUzBGQlVEdEJRVU5CTzBGQlEwUXNUVUZPUkRzN1FVRlJRU3hUUVVGSkxFdEJRVW9zUlVGQlZ6dEJRVU5XTEdGQlFVOHNTMEZCVUR0QlFVTkJPMEZCUTBRc1MwRmFSRHM3UVVGalFTeFZRVUZMTEcxQ1FVRk1MRU5CUVhsQ0xGRkJRWHBDTEVWQlFXMURMRk5CUVZNc1IwRkJWQ3hGUVVGdVF6dEJRVU5CTEVsQmJrSkVPenRCUVhGQ1FUdEJRVU5CTEU5QlFVa3NTMEZCU3l4TlFVRk1MRU5CUVZrc1QwRkJXaXhQUVVFd1FpeEpRVUU1UWl4RlFVRnZRenRCUVVOdVF5eFJRVUZOTEU5QlFVOHNTMEZCU3l4TlFVRk1MRU5CUVZrc1QwRkJXaXhIUVVGelFpeEpRVUYwUWl4RFFVRXlRaXhIUVVFelFpeERRVUZpTzBGQlEwRXNZVUZCVXl4UFFVRlVMRU5CUVdsQ0xHRkJRV3BDTEVWQlFXZERMRWxCUVdoRExFTkJRWEZETEZkQlFYSkRMRVZCUVd0RUxFbEJRV3hFTzBGQlEwRTdRVUZEUkRzN1FVRkZSRHM3T3pzN096czdPenM3T3pzN2MwTkJWMjlDTEZFc1JVRkJWU3hMTEVWQlFVODdRVUZEY0VNc1lVRkJWU3hUUVVGV0xFTkJRVzlDTEZGQlFYQkNMRU5CUVRaQ0xGRkJRVGRDTzBGQlEwRXNZVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRXRCUVRkQ096dEJRVVZCTEU5QlFVa3NUVUZCVFN4TFFVRk9MRU5CUVZrc1owSkJRVm9zUTBGQlNpeEZRVUZ0UXp0QlFVTnNReXhoUVVGVExFbEJRVlFzUTBGQll5eEZRVUZrTzBGQlEwRXNZVUZCVXl4SFFVRlVMRU5CUVdFc2EwSkJRV0lzUlVGQmFVTXNTMEZCYWtNN1FVRkRRU3hKUVVoRUxFMUJSMDg3UVVGRFRpeGhRVUZUTEVsQlFWUXNRMEZCWXl3eVFrRkJaRHRCUVVOQkxHRkJRVk1zUjBGQlZDeERRVUZoTEd0Q1FVRmlMRVZCUVdsRExFMUJRV3BETEVWQlJrMHNRMEZGYjBNN1FVRkRNVU03UVVGRFJEczdRVUZGUkRzN096czdPenM3TkVKQlMxVTdRVUZEVkN4UFFVRk5MRmRCUVZjc1JVRkJSU3c0UWtGQlJpeEZRVUZyUXl4SlFVRnNReXhGUVVGcVFqdEJRVU5CTEZWQlFVOHNVMEZCVXl4TlFVRlVMRU5CUVdkQ0xGRkJRV2hDTEVWQlFUQkNMRXRCUVVzc1RVRkJMMElzUTBGQlVEdEJRVU5CT3pzN096czdhMEpCYUVodFFpeFhPenM3UVVOc1FuSkNPenM3T3pzN096czdRVUZWUVRzN1FVRkZRVHM3T3pzN096czdPenM3T3pzN096czdTVUZSY1VJc1V6dEJRVU53UWpzN096czdPenM3UVVGUlFTeHZRa0ZCV1N4UFFVRmFMRVZCUVhGQ0xHRkJRWEpDTEVWQlFXOURMRlZCUVhCRExFVkJRV2RFTEd0Q1FVRm9SQ3hGUVVGdlJUdEJRVUZCT3p0QlFVTnVSU3haUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzVDBGQk4wSTdRVUZEUVN4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1lVRkJOMEk3UVVGRFFTeFpRVUZWTEZOQlFWWXNRMEZCYjBJc1VVRkJjRUlzUTBGQk5rSXNWVUZCTjBJN1FVRkRRU3haUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzYTBKQlFUZENPenRCUVVWQk96czdPenRCUVV0QkxFOUJRVXNzVDBGQlRDeEhRVUZsTEU5QlFXWTdPMEZCUlVFN096czdPMEZCUzBFc1QwRkJTeXhoUVVGTUxFZEJRWEZDTEdGQlFYSkNPenRCUVVWQk96czdPenRCUVV0QkxFOUJRVXNzWVVGQlRDeEhRVUZ4UWl4VlFVRnlRanM3UVVGRlFUczdPenM3UVVGTFFTeFBRVUZMTEd0Q1FVRk1MRWRCUVRCQ0xHdENRVUV4UWpzN1FVRkZRVHM3T3pzN1FVRkxRU3hQUVVGTExHRkJRVXdzUjBGQmNVSXNSVUZCY2tJN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzclFrRkhZVHRCUVVOYU8wRkJRMEVzVVVGQlN5eGxRVUZNT3p0QlFVVkJPMEZCUTBFc1VVRkJTeXh0UWtGQlREczdRVUZGUVR0QlFVTkJMRkZCUVVzc2EwSkJRVXc3UVVGRFFUczdRVUZGUkRzN096czdPenM3ZFVOQlMzRkNPMEZCUVVFN08wRkJRM0JDTEZGQlFVc3NUMEZCVEN4RFFVRmhMRVZCUVdJc1EwRkJaMElzVDBGQmFFSXNSVUZCZVVJc1UwRkJla0lzUlVGQmIwTTdRVUZCUVN4WFFVRlRMRTFCUVVzc2EwSkJRVXdzUTBGQmQwSXNTMEZCZUVJc1EwRkJWRHRCUVVGQkxFbEJRWEJETzBGQlEwRTdPMEZCUlVRN096czdPenM3TzNkRFFVdHpRanRCUVVOeVFpeFBRVUZOTEZkQlFWY3NSVUZCUlN3MlFrRkJSaXhGUVVGcFF5eEpRVUZxUXl4RlFVRnFRanRCUVVOQkxFOUJRVTBzVDBGQlR5eEZRVUZETEUxQlFVMHNSVUZCVUN4RlFVRmlPenRCUVVWQkxGRkJRVXNzU1VGQlRDeERRVUZWTEVsQlFWWXNRMEZCWlR0QlFVTmtMRmRCUVU4c2IwSkJSRTg3UVVGRlpDeFZRVUZOTEZWQlFWVXNVVUZCVml4RFFVRnRRaXhUUVVGdVFpeERRVUUyUWl3d1FrRkJOMElzUlVGQmVVUXNXVUZCZWtRN1FVRkdVU3hKUVVGbU96dEJRVXRCTEV0QlFVVXNTVUZCUml4RFFVRlBMRXRCUVVzc1lVRkJXaXhGUVVFeVFpeFZRVUZETEV0QlFVUXNSVUZCVVN4SFFVRlNMRVZCUVdkQ08wRkJRekZETEZOQlFVc3NTVUZCVEN4RFFVRlZMRWxCUVZZc1EwRkJaVHRCUVVOa0xGbEJRVThzUjBGRVR6dEJRVVZrTEZkQlFVMHNWVUZCVlN4UlFVRldMRU5CUVcxQ0xGTkJRVzVDTEVOQlFUWkNMRWRCUVRkQ0xFVkJRV3RETEZWQlFXeERPMEZCUmxFc1MwRkJaanRCUVVsQkxFbEJURVE3TzBGQlQwRXNVVUZCU3l4UFFVRk1MRU5CUVdFc1NVRkJZaXhEUVVGclFpeFRRVUZUTEUxQlFWUXNRMEZCWjBJc1VVRkJhRUlzUlVGQk1FSXNTVUZCTVVJc1EwRkJiRUk3TzBGQlJVRTdRVUZEUVN4TFFVRkZMRkZCUVVZc1EwRkJWeXhKUVVGWU8wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096czdjVU5CVDIxQ0xFc3NSVUZCVHp0QlFVTjZRaXhQUVVGTkxGVkJRVlVzUlVGQlJTeE5RVUZOTEdGQlFWSXNRMEZCYUVJN1FVRkRRU3hQUVVGTkxHRkJRV0VzVVVGQlVTeEpRVUZTTEVOQlFXRXNWVUZCWWl4RFFVRnVRanM3UVVGRlFUdEJRVU5CTEU5QlFVa3NaVUZCWlN4dlFrRkJia0lzUlVGQmVVTTdRVUZEZUVNc1UwRkJTeXhQUVVGTUxFTkJRV0VzU1VGQllpeERRVUZyUWl4VFFVRnNRaXhGUVVORkxGZEJSRVlzUTBGRFl5eFJRVVJrTEVWQlJVVXNTVUZHUml4RFFVVlBMRTlCUmxBc1JVRkhSU3hKUVVoR0xFTkJSMDhzVVVGSVVEczdRVUZMUVN4VFFVRkxMR0ZCUVV3c1EwRkRSU3hKUVVSR0xFTkJRMDhzY1VKQlJGQXNSVUZGUlN4SlFVWkdPMEZCUjBFc1NVRlVSQ3hOUVZOUE8wRkJRMDRzVTBGQlN5eFBRVUZNTEVOQlFXRXNTVUZCWWl4RFFVRnJRaXhUUVVGc1FpeEZRVU5GTEZGQlJFWXNRMEZEVnl4UlFVUllMRVZCUlVVc1NVRkdSaXhEUVVWUExFOUJSbEFzUlVGSFJTeEpRVWhHTEVOQlIwOHNVVUZCVVN4SlFVRlNMRVZCU0ZBN08wRkJTMEVzVTBGQlN5eGhRVUZNTEVOQlFXMUNMRWxCUVc1Q0xFTkJRWGRDTEhGQ1FVRjRRaXhGUVVFclF5eEpRVUV2UXl4RFFVRnZSQ3hWUVVGRExFdEJRVVFzUlVGQlVTeFRRVUZTTEVWQlFYTkNPMEZCUTNwRkxGTkJRVWtzUlVGQlJTeFRRVUZHTEVWQlFXRXNTVUZCWWl4RFFVRnJRaXhYUVVGc1FpeE5RVUZ0UXl4VFFVRjJReXhGUVVGclJEdEJRVUZGTzBGQlEyNUVMRkZCUVVVc1UwRkJSaXhGUVVGaExFbEJRV0k3UVVGRFFTeGhRVUZQTEVsQlFWQXNRMEZHYVVRc1EwRkZjRU03UVVGRFlqczdRVUZGUkN4VFFVRk5MR2RDUVVGblFpeEZRVUZGTEZOQlFVWXNSVUZCWVN4SlFVRmlMRU5CUVd0Q0xGZEJRV3hDTEVWQlFTdENMRXRCUVM5Q0xFTkJRWEZETEVkQlFYSkRMRU5CUVhSQ096dEJRVVZCTEZOQlFVa3NZMEZCWXl4UFFVRmtMRU5CUVhOQ0xGVkJRWFJDTEVsQlFXOURMRU5CUVVNc1EwRkJla01zUlVGQk5FTTdRVUZETTBNc1VVRkJSU3hUUVVGR0xFVkJRV0VzU1VGQllqdEJRVU5CTEUxQlJrUXNUVUZGVHp0QlFVTk9MRkZCUVVVc1UwRkJSaXhGUVVGaExFbEJRV0k3UVVGRFFUdEJRVU5FTEV0QllrUTdRVUZqUVRzN1FVRkZSRHRCUVVOQkxGRkJRVXNzWVVGQlRDeERRVUZ0UWl4SlFVRnVRaXhEUVVGM1FpeFRRVUY0UWl4RlFVRnRReXhKUVVGdVF6czdRVUZGUVN4UlFVRkxMR0ZCUVV3c1EwRkJiVUlzU1VGQmJrSXNRMEZCZDBJc1UwRkJlRUlzUlVGQmJVTXNTVUZCYmtNc1EwRkJkME1zVlVGQlF5eExRVUZFTEVWQlFWRXNUVUZCVWl4RlFVRnRRanRCUVVNeFJDeFJRVUZKTEdkQ1FVRm5RaXhKUVVGd1FqczdRVUZGUVN4TlFVRkZMRTFCUVVZc1JVRkJWU3hKUVVGV0xFTkJRV1VzTkVKQlFXWXNSVUZCTmtNc1NVRkJOME1zUTBGQmEwUXNWVUZCUXl4TFFVRkVMRVZCUVZFc1UwRkJVaXhGUVVGelFqdEJRVU4yUlN4VFFVRkpMRVZCUVVVc1UwRkJSaXhGUVVGaExFZEJRV0lzUTBGQmFVSXNVMEZCYWtJc1RVRkJaME1zVFVGQmNFTXNSVUZCTkVNN1FVRkRNME1zYzBKQlFXZENMRXRCUVdoQ096dEJRVVZCTzBGQlEwRTdRVUZEUVN4UlFVRkZMRk5CUVVZc1JVRkJZU3hUUVVGaUxFTkJRWFZDTEZOQlFYWkNMRVZCUVd0RExFbEJRV3hETEVOQlFYVkRMRkZCUVhaRExFVkJRV2xFTEVsQlFXcEVMRWRCUVhkRUxFOUJRWGhFTEVOQlFXZEZMR0ZCUVdoRkxFVkJRU3RGTEVsQlFTOUZPenRCUVVWQkxHRkJRVThzUzBGQlVEdEJRVU5CTzBGQlEwUXNTMEZXUkRzN1FVRlpRU3hSUVVGSkxHdENRVUZyUWl4SlFVRjBRaXhGUVVFMFFqdEJRVU16UWl4UFFVRkZMRTFCUVVZc1JVRkJWU3hKUVVGV08wRkJRMEU3UVVGRFJDeEpRV3hDUkRzN1FVRnZRa0U3UVVGRFFTeFJRVUZMTEdGQlFVd3NRMEZCYlVJc1NVRkJia0lzUTBGQmQwSXNZVUZCZUVJc1JVRkJkVU1zVDBGQmRrTXNRMEZCSzBNc01rSkJRUzlET3p0QlFVVkJPMEZCUTBFc1VVRkJTeXhoUVVGTUxFTkJRVzFDTEdkQ1FVRnVRaXhEUVVGdlF5eFJRVUZ3UXp0QlFVTkJPenRCUVVWRU96czdPenM3T3pzN096dHZRMEZSYTBJN1FVRkJRVHM3UVVGRGFrSXNTMEZCUlN4SlFVRkdMRU5CUVU4c1MwRkJTeXhyUWtGQlRDeERRVUYzUWl4WFFVRjRRaXhGUVVGUUxFVkJRVGhETEZWQlFVTXNTMEZCUkN4RlFVRlJMRlZCUVZJc1JVRkJkVUk3UVVGRGNFVXNUVUZCUlN4SlFVRkdMRU5CUVU4c1YwRkJWeXhWUVVGWUxFVkJRVkFzUlVGQlowTXNWVUZCUXl4TFFVRkVMRVZCUVZFc1QwRkJVaXhGUVVGdlFqdEJRVU51UkN4VFFVRkpMRkZCUVZFc1QwRkJVaXhGUVVGS0xFVkJRWFZDTzBGQlEzUkNMRkZCUVVVc1NVRkJSaXhEUVVGUExGRkJRVkVzVDBGQlVpeEZRVUZRTEVWQlFUQkNMRlZCUVVNc1MwRkJSQ3hGUVVGUkxFZEJRVklzUlVGQlowSTdRVUZEZWtNc1YwRkJTU3hQUVVGTExHRkJRVXdzUTBGQmJVSXNUMEZCYmtJc1EwRkJNa0lzUjBGQk0wSXNUVUZCYjBNc1EwRkJReXhEUVVGNlF5eEZRVUUwUXp0QlFVTXpReXhsUVVGTExHRkJRVXdzUTBGQmJVSXNTVUZCYmtJc1EwRkJkMElzUjBGQmVFSTdRVUZEUVR0QlFVTkVMRTlCU2tRN1FVRkxRVHRCUVVORUxFdEJVa1E3UVVGVFFTeEpRVlpFTzBGQlYwRTdPenM3T3p0clFrRnNUVzFDTEZNN096dEJRM0JDY2tJN096czdPenM3T3p0QlFWVkJPenRCUVVWQk96czdPenM3T3pzN096czdPenM3U1VGTmNVSXNWenRCUVVOd1FqczdPenM3TzBGQlRVRXNjMEpCUVZrc1RVRkJXaXhGUVVGdlFpeFBRVUZ3UWl4RlFVRTJRanRCUVVGQk96dEJRVU0xUWl4WlFVRlZMRk5CUVZZc1EwRkJiMElzVVVGQmNFSXNRMEZCTmtJc1RVRkJOMEk3UVVGRFFTeFpRVUZWTEZOQlFWWXNRMEZCYjBJc1VVRkJjRUlzUTBGQk5rSXNUMEZCTjBJN08wRkJSVUU3T3pzN08wRkJTMEVzVDBGQlN5eE5RVUZNTEVkQlFXTXNUVUZCWkRzN1FVRkZRVHM3T3pzN1FVRkxRU3hQUVVGTExFOUJRVXdzUjBGQlpTeFBRVUZtTzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pzclFrRkxZVHRCUVVGQk96dEJRVU5hTEZGQlFVc3NUMEZCVEN4RFFVRmhMRVZCUVdJc1EwRkJaMElzVDBGQmFFSXNSVUZCZVVJc1dVRkJUVHRCUVVNNVFpeFJRVUZKTEUxQlFVc3NUVUZCVEN4RFFVRlpMRkZCUVZvc1EwRkJjVUlzVFVGQmNrSXNRMEZCU2l4RlFVRnJRenRCUVVGRk8wRkJRMjVETEZkQlFVc3NUVUZCVEN4RFFVRlpMRTlCUVZvc1EwRkJiMElzUlVGQlF5eFBRVUZQTEZGQlFWSXNSVUZCY0VJc1JVRkJkVU1zUjBGQmRrTXNSVUZCTkVNc1VVRkJOVU1zUlVGQmMwUXNXVUZCVFR0QlFVTXpSQ3haUVVGTExFMUJRVXdzUTBGQldTeFhRVUZhTEVOQlFYZENMRTFCUVhoQ0xFVkJRV2RETEZGQlFXaERMRU5CUVhsRExGRkJRWHBETzBGQlEwRXNXVUZCU3l4UFFVRk1MRU5CUVdFc1NVRkJZaXhEUVVGclFpeHBRa0ZCYkVJc1JVRkJjVU1zU1VGQmNrTTdRVUZEUVN4WlFVRkxMRTlCUVV3c1EwRkJZU3hKUVVGaUxFTkJRV3RDTEdkQ1FVRnNRaXhGUVVGdlF5eEpRVUZ3UXp0QlFVTkJMRTFCU2tRN1FVRkxRU3hMUVU1RUxFMUJUVTg3UVVGQlJUdEJRVU5TTEZkQlFVc3NUVUZCVEN4RFFVRlpMRTlCUVZvc1EwRkJiMElzUlVGQlF5eFBRVUZQTEVkQlFWSXNSVUZCY0VJc1JVRkJhME1zUjBGQmJFTXNSVUZCZFVNc1VVRkJka01zUlVGQmFVUXNXVUZCVFR0QlFVTjBSQ3haUVVGTExFMUJRVXdzUTBGQldTeFhRVUZhTEVOQlFYZENMRkZCUVhoQ0xFVkJRV3RETEZGQlFXeERMRU5CUVRKRExFMUJRVE5ETzBGQlEwRXNXVUZCU3l4UFFVRk1MRU5CUVdFc1NVRkJZaXhEUVVGclFpeHBRa0ZCYkVJc1JVRkJjVU1zU1VGQmNrTTdRVUZEUVN4WlFVRkxMRTlCUVV3c1EwRkJZU3hKUVVGaUxFTkJRV3RDTEdkQ1FVRnNRaXhGUVVGdlF5eEpRVUZ3UXp0QlFVTkJMRTFCU2tRN1FVRkxRVHRCUVVORUxFbEJaRVE3UVVGbFFUczdPenM3TzJ0Q1FTOURiVUlzVnpzN08wRkRiRUp5UWpzN096czdPenM3TzBGQlZVRTdPenM3T3pzN08wRkJSVUU3T3pzN1FVRkRRVHM3T3p0QlFVTkJPenM3TzBGQlEwRTdPenM3T3pzN08wRkJSVUU3T3pzN096dEpRVTF4UWl4TE8wRkJRM0JDT3pzN096czdPMEZCVDBFc1owSkJRVmtzVFVGQldpeEZRVUZ2UWl4clFrRkJjRUlzUlVGQmQwTXNZMEZCZUVNc1JVRkJkMFE3UVVGQlFUczdRVUZEZGtRc1dVRkJWU3hUUVVGV0xFTkJRVzlDTEZGQlFYQkNMRU5CUVRaQ0xFMUJRVGRDTzBGQlEwRXNXVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMR3RDUVVFM1FqdEJRVU5CTEZsQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4alFVRTNRanM3UVVGRlFUczdPMEZCUjBFc1QwRkJTeXhOUVVGTUxFZEJRV01zVFVGQlpEczdRVUZGUVRzN08wRkJSMEVzVDBGQlN5eHJRa0ZCVEN4SFFVRXdRaXhyUWtGQk1VSTdPMEZCUlVFN096czdPMEZCUzBFc1QwRkJTeXhqUVVGTUxFZEJRWE5DTEdOQlFYUkNPenRCUVVWQk96czdPenM3T3pzN1FVRlRRU3hQUVVGTExHTkJRVXdzUjBGQmMwSXNUMEZCVHl4UFFVRlFMRWRCUVdsQ0xFOUJRV3BDTEVOQlFYbENMRTFCUVhwQ0xFVkJRV2xETEVWQlFXcERMRU5CUVhSQ08wRkJRMEU3TzBGQlJVUTdPenM3T3pzN0swSkJSMkU3UVVGQlFUczdRVUZEV2l4UFFVRk5MRmRCUVZjc1JVRkJSU3hOUVVGTkxFdEJRVXNzVFVGQlRDeERRVUZaTEU5QlFWb3NSVUZCVWl4RFFVRnFRanRCUVVOQkxFOUJRVTBzVjBGQlZ5eFRRVUZUTEU5QlFWUXNSMEZCYlVJc1JVRkJia0lzUTBGQmMwSXNRMEZCZEVJc1JVRkJlVUlzU1VGQmVrSXNRMEZCT0VJc1owSkJRVGxDTEVOQlFXcENPenRCUVVWQkxFOUJRVWtzVTBGQlV5eEpRVUZVTEVOQlFXTXNiVUpCUVcxQ0xFdEJRVXNzVFVGQlRDeERRVUZaTEZGQlFWb3NSVUZCYmtJc1IwRkJORU1zU1VGQk1VUXNSVUZCWjBVc1RVRkJhRVVzUjBGQmVVVXNRMEZCTjBVc1JVRkJaMFk3UVVGREwwVXNZVUZCVXl4SFFVRlVMRU5CUVdFc1MwRkJTeXhOUVVGTUxFTkJRVmtzVVVGQldpeEZRVUZpTzBGQlEwRXNTVUZHUkN4TlFVVlBPMEZCUTA0c1lVRkJVeXhIUVVGVUxFTkJRV0VzUlVGQllqdEJRVU5CT3p0QlFVVkVMRTlCUVUwc1ZVRkJWeXh6UWtGQldTeHJRa0ZCV2l4RlFVRkVMRWRCUVhGRExGTkJRVk1zVDBGQlZDeEhRVUZ0UWl4RlFVRnVRaXhEUVVGelFpeERRVUYwUWl4RFFVRnlReXhIUVVGblJTeFRRVUZUTEU5QlFWUXNSMEZCYlVJc1JVRkJia0lzUTBGQmMwSXNRMEZCZEVJc1EwRkJhRVk3TzBGQlJVRXNWMEZCVVN4VFFVRlNMRU5CUVd0Q0xGbEJRVTA3UVVGRGRrSXNVVUZCU1N4VFFVRlRMRWRCUVZRc1QwRkJiVUlzUlVGQmRrSXNSVUZCTWtJN1FVRkRNVUlzWTBGQlV5eEpRVUZVTEVOQlFXTXNiVUpCUVdRc1JVRkJiVU1zVVVGQmJrTXNRMEZCTkVNc1ZVRkJOVU03UVVGRFFUdEJRVU5FTEdGQlFWTXNTVUZCVkN4RFFVRmpMRWxCUVdRc1JVRkJiMElzU1VGQmNFSXNSVUZLZFVJc1EwRkpTVHRCUVVNelFpeGhRVUZUTEVsQlFWUXNRMEZCWXl4UFFVRmtMRVZCUVhWQ0xFVkJRVU1zVjBGQlZ5eEpRVUZhTEVWQlFYWkNMRVZCUVRCRExFZEJRVEZETzBGQlEwRXNTVUZPUkRzN1FVRlJRU3hYUVVGUkxGVkJRVklzUTBGQmJVSXNXVUZCVFR0QlFVTjRRaXhoUVVGVExFbEJRVlFzUTBGQll5eFBRVUZrTEVWQlFYVkNMRVZCUVVNc1YwRkJWeXhKUVVGYUxFVkJRWFpDTEVWQlFUQkRMRWRCUVRGRExFVkJRU3RETEZsQlFVMDdRVUZEY0VRc1kwRkJVeXhKUVVGVUxFTkJRV01zYlVKQlFXUXNSVUZCYlVNc1YwRkJia01zUTBGQkswTXNWVUZCTDBNN1FVRkRRU3hMUVVaRU8wRkJSMEVzU1VGS1JEczdRVUZOUVN4WlFVRlRMRTFCUVZRc1EwRkJaMElzV1VGQlRUdEJRVU55UWl4UlFVRkpMRk5CUVZNc1IwRkJWQ3hQUVVGdFFpeEZRVUYyUWl4RlFVRXlRanRCUVVNeFFpeGpRVUZUTEVsQlFWUXNRMEZCWXl4dFFrRkJaQ3hGUVVGdFF5eFhRVUZ1UXl4RFFVRXJReXhWUVVFdlF6dEJRVU5CTEV0QlJrUXNUVUZGVHp0QlFVTk9MR05CUVZNc1NVRkJWQ3hEUVVGakxHMUNRVUZrTEVWQlFXMURMRkZCUVc1RExFTkJRVFJETEZWQlFUVkRPMEZCUTBFN08wRkJSVVFzWVVGQlV5eFBRVUZVTEVOQlFXbENMREpDUVVGcVFqczdRVUZGUVR0QlFVTkJMRkZCUVVrc1VVRkJVU3hMUVVGYU96dEJRVVZCTEUxQlFVVXNTVUZCUml4RFFVRlBMRTFCUVVzc2EwSkJRVXdzUTBGQmQwSXNWMEZCZUVJc1JVRkJVQ3hGUVVFNFF5eFZRVUZETEV0QlFVUXNSVUZCVVN4UFFVRlNMRVZCUVc5Q08wRkJRMnBGTEU5QlFVVXNTVUZCUml4RFFVRlBMRkZCUVZFc1ZVRkJVaXhGUVVGUUxFVkJRVFpDTEZWQlFVTXNTMEZCUkN4RlFVRlJMRXRCUVZJc1JVRkJhMEk3UVVGRE9VTXNWVUZCU1N4TlFVRk5MRTlCUVU0c1QwRkJiMElzVFVGQlN5eE5RVUZNTEVOQlFWa3NUMEZCV2l4RlFVRjRRaXhGUVVFclF6dEJRVU01UXl4aFFVRk5MRkZCUVU0c1EwRkJaU3hUUVVGVExFZEJRVlFzUlVGQlpqdEJRVU5CTEdWQlFWRXNTVUZCVWp0QlFVTkJMR05CUVU4c1MwRkJVRHRCUVVOQk8wRkJRMFFzVFVGT1JEczdRVUZSUVN4VFFVRkpMRXRCUVVvc1JVRkJWenRCUVVOV0xHRkJRVThzUzBGQlVEdEJRVU5CTzBGQlEwUXNTMEZhUkRzN1FVRmpRU3hWUVVGTExFMUJRVXdzUTBGQldTeFJRVUZhTEVOQlFYRkNMRk5CUVZNc1IwRkJWQ3hGUVVGeVFqdEJRVU5CTEVsQk0wSkVPenRCUVRaQ1FTeFpRVUZUTEVWQlFWUXNRMEZCV1N3eVFrRkJXaXhGUVVGNVF5eFpRVUZOTzBGQlF6bERPMEZCUTBFc1VVRkJUU3hUUVVGVExGTkJRVk1zUjBGQlZDeFBRVUZ0UWl4RlFVRnVRaXhIUVVGM1FpeE5RVUY0UWl4SFFVRnBReXhOUVVGb1JEczdRVUZGUVN4TlFVRkZMRlZCUVZVc1RVRkJTeXhqUVVGbUxFZEJRV2RETEVkQlFXeERMRVZCUTBVc1IwRkVSaXhEUVVOTkxGTkJRVk1zVFVGQlN5eE5RVUZNTEVOQlFWa3NUMEZCV2l4RlFVRlVMRWRCUVdsRExFZEJSSFpETEVWQlJVVXNTVUZHUml4RFFVVlBMRlZCUVVNc1MwRkJSQ3hGUVVGUkxFdEJRVklzUlVGQmEwSTdRVUZEZGtJc1QwRkJSU3hMUVVGR0xFVkJRVk1zVDBGQlZDeERRVUZwUWl4aFFVRnFRaXhGUVVGblF5eE5RVUZvUXp0QlFVTkJMRXRCU2tZN1FVRkxRU3hKUVZSRU96dEJRVmRCTEZsQlFWTXNTVUZCVkN4RFFVRmpMRk5CUVdRc1JVRkJlVUlzUzBGQmVrSXNRMEZCSzBJc1dVRkJUVHRCUVVOd1F5eHhRa0ZCVHl4SlFVRlFMRU5CUVZrc2EwSkJRVm9zUlVGQlowTXNRMEZCUXl4UlFVRkVMRU5CUVdoRE8wRkJRMEVzU1VGR1JEczdRVUZKUVN4WlFVRlRMRWxCUVZRc1EwRkJZeXhWUVVGa0xFVkJRVEJDTEV0QlFURkNMRU5CUVdkRExHbENRVUZUTzBGQlEzaERMRkZCUVVrc1JVRkJSU3hOUVVGTkxHRkJRVklzUlVGQmRVSXNVVUZCZGtJc1EwRkJaME1zVlVGQmFFTXNTMEZCSzBNc1UwRkJVeXhIUVVGVUxFOUJRVzFDTEVWQlFYUkZMRVZCUVRCRk8wRkJRM3BGTzBGQlEwRTdRVUZEUkN4eFFrRkJUeXhKUVVGUUxFTkJRVmtzYlVKQlFWb3NSVUZCYVVNc1EwRkJReXhSUVVGRUxFTkJRV3BETzBGQlEwRXNTVUZNUkRzN1FVRlBRU3haUVVGVExFbEJRVlFzUTBGQll5eFRRVUZrTEVWQlFYbENMRXRCUVhwQ0xFTkJRU3RDTEdsQ1FVRlRPMEZCUTNaRExGRkJRVTBzVlVGQlZTeEZRVUZGTEUxQlFVMHNZVUZCVWl4RFFVRm9RanM3UVVGRlFTeFJRVUZKTEZGQlFWRXNVVUZCVWl4RFFVRnBRaXhWUVVGcVFpeERRVUZLTEVWQlFXdERPMEZCUTJwRE8wRkJRMEU3TzBGQlJVUTdRVUZEUVN4UlFVRk5MR05CUVdNc1JVRkJSU3d5UWtGQlJpeEZRVUVyUWl4TlFVRXZRaXhEUVVGelF5eFpRVUZOTzBGQlF5OUVMRmxCUVU4c1VVRkJVU3hIUVVGU0xFOUJRV3RDTEZOQlFWTXNSMEZCVkN4RlFVRnNRaXhKUVVGdlF5eFJRVUZSTEVkQlFWSXNRMEZCV1N4RFFVRmFMRTFCUVcxQ0xGTkJRVk1zUjBGQlZDeERRVUZoTEVOQlFXSXNRMEZCT1VRN1FVRkRRU3hMUVVadFFpeEZRVVZxUWl4TlFVWklPenRCUVVsQkxGRkJRVWtzWTBGQll5eERRVUZzUWl4RlFVRnhRanRCUVVOd1FpeHhRa0ZCVFN4UFFVRk9MRU5CUVdNc1ZVRkJWU3hSUVVGV0xFTkJRVzFDTEZOQlFXNUNMRU5CUVRaQ0xESkNRVUUzUWl4RlFVRXdSQ3haUVVFeFJDeERRVUZrTEVWQlEwTXNWVUZCVlN4UlFVRldMRU5CUVcxQ0xGTkJRVzVDTEVOQlFUWkNMRFpDUVVFM1FpeEZRVUUwUkN4WlFVRTFSQ3hEUVVSRU8wRkJSVUU3UVVGRFFUczdRVUZGUkR0QlFVTkJMRkZCUVUwc1VVRkJVU3hWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzYjBKQlFUZENMRVZCUVcxRUxGbEJRVzVFTEVOQlFXUTdRVUZEUVN4UlFVRk5MRlZCUVZVc1ZVRkJWU3hSUVVGV0xFTkJRVzFDTEZOQlFXNUNMRU5CUVRaQ0xITkNRVUUzUWl4RlFVRnhSQ3haUVVGeVJDeERRVUZvUWpzN1FVRkZRU3h2UWtGQlRTeE5RVUZPTEVOQlFXRXNTMEZCWWl4RlFVRnZRaXhQUVVGd1FpeEZRVUUyUWl4SlFVRTNRaXhEUVVGclF5eFpRVUZOTzBGQlEzWkRMRk5CUVUwc1YwRkJWeXhUUVVGVExFbEJRVlFzUTBGQll5eHBRa0ZCWkN4RlFVRnBReXhKUVVGcVF5eEZRVUZxUWp0QlFVTkJMSGRDUVVGVExFMUJRVlFzUTBGQlowSXNVVUZCYUVJc1JVRkJNRUlzU1VGQk1VSXNRMEZCSzBJc1dVRkJUVHRCUVVOd1F5eGxRVU5GTEVkQlJFWXNRMEZEVFN4RlFVUk9MRVZCUTFVN1FVRkVWaXhQUVVWRkxFOUJSa1lzUTBGRlZTeFJRVVpXTEVWQlJHOURMRU5CUjJZN1FVRkRja0lzVVVGQlJTdzJRMEZCTmtNc1VVRkJOME1zUjBGQmQwUXNTVUZCTVVRc1JVRkJaMFVzVFVGQmFFVTdRVUZEUVN4TlFVeEVPMEZCVFVFc1MwRlNSRHRCUVZOQkxFbEJMMEpFT3p0QlFXbERRVHRCUVVOQkxFOUJRVWtzUzBGQlN5eE5RVUZNTEVOQlFWa3NUMEZCV2l4UFFVRXdRaXhKUVVFNVFpeEZRVUZ2UXp0QlFVTnVReXhSUVVGTkxFOUJRVThzUzBGQlN5eE5RVUZNTEVOQlFWa3NUMEZCV2l4SFFVRnpRaXhKUVVGMFFpeERRVUV5UWl4SFFVRXpRaXhEUVVGaU8wRkJRMEVzWVVGQlV5eFBRVUZVTEVOQlFXbENMR0ZCUVdwQ0xFVkJRV2RETEVsQlFXaERMRU5CUVhGRExGZEJRWEpETEVWQlFXdEVMRWxCUVd4RU8wRkJRMEU3TzBGQlJVUXNXVUZCVXl4UFFVRlVMRU5CUVdsQ0xGRkJRV3BDTzBGQlEwRTdPMEZCUlVRN096czdPenM3T3pSQ1FVdFZPMEZCUTFRc1QwRkJUU3hYUVVGWExFVkJRVVVzZDBKQlFVWXNSVUZCTkVJc1NVRkJOVUlzUlVGQmFrSTdPMEZCUlVFN1FVRkRRU3hQUVVGTkxFOUJRVTg3UVVGRFdpeFZRVUZOTEV0QlFVc3NUVUZCVEN4RFFVRlpMRTlCUVZvc1JVRkVUVHRCUVVWYUxGZEJRVThzVlVGQlZTeFJRVUZXTEVOQlFXMUNMRk5CUVc1Q0xFTkJRVFpDTEV0QlFVc3NUVUZCVEN4RFFVRlpMRTlCUVZvc1JVRkJOMElzUlVGQmIwUXNWVUZCY0VRc1EwRkdTenRCUVVkYUxHMUNRVUZsTEZWQlFWVXNVVUZCVml4RFFVRnRRaXhUUVVGdVFpeERRVUUyUWl4bFFVRTNRaXhGUVVFNFF5eFpRVUU1UXl4RFFVaElPMEZCU1Zvc2IwSkJRV2RDTEZWQlFWVXNVVUZCVml4RFFVRnRRaXhUUVVGdVFpeERRVUUyUWl4blFrRkJOMElzUlVGQkswTXNXVUZCTDBNc1EwRktTanRCUVV0YUxHMUNRVUZsTEZWQlFWVXNVVUZCVml4RFFVRnRRaXhUUVVGdVFpeERRVUUyUWl4bFFVRTNRaXhGUVVFNFF5eFpRVUU1UXl4RFFVeElPMEZCVFZvc1lVRkJVeXhEUVVOU08wRkJRME1zV1VGQlR6dEJRVVJTTEV0QlJGRTdRVUZPUnl4SlFVRmlPenRCUVdGQkxFdEJRVVVzU1VGQlJpeERRVUZQTEV0QlFVc3NZMEZCV2l4RlFVRTBRaXhWUVVGRExFdEJRVVFzUlVGQlVTeExRVUZTTEVWQlFXdENPMEZCUXpkRExGRkJRVTBzVVVGQlVUdEJRVU5pTEZsQlFVODdRVUZFVFN4TFFVRmtPenRCUVVsQkxGTkJRVXNzVDBGQlRDeERRVUZoTEVsQlFXSXNRMEZCYTBJc1MwRkJiRUk3UVVGRFFTeEpRVTVFT3p0QlFWRkJMRlZCUVU4c1UwRkJVeXhOUVVGVUxFTkJRV2RDTEZGQlFXaENMRVZCUVRCQ0xFbEJRVEZDTEVOQlFWQTdRVUZEUVRzN096czdPMnRDUVc1TmJVSXNTenM3TzBGRGRrSnlRanM3T3pzN096czdPMEZCVlVFN08wRkJSVUU3T3pzN096czdPenM3T3pzN096dEpRVTF4UWl4ak8wRkJRM0JDT3pzN096czdRVUZOUVN4NVFrRkJXU3hQUVVGYUxFVkJRWEZDTEdWQlFYSkNMRVZCUVhORE8wRkJRVUU3TzBGQlEzSkRMRmxCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhQUVVFM1FqdEJRVU5CTEZsQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4bFFVRTNRanM3UVVGRlFUczdPMEZCUjBFc1QwRkJTeXhQUVVGTUxFZEJRV1VzVDBGQlpqczdRVUZGUVRzN08wRkJSMEVzVDBGQlN5eGxRVUZNTEVkQlFYVkNMR1ZCUVhaQ096dEJRVVZCT3pzN096dEJRVXRCTEU5QlFVc3NXVUZCVEN4SFFVRnZRaXhGUVVGd1FqdEJRVU5CT3p0QlFVVkVPenM3T3pzN096czdPeXRDUVUxaE8wRkJRMW9zVVVGQlN5eGxRVUZNTEVOQlFYRkNMRlZCUVhKQ096dEJRVVZCTzBGQlEwRXNUMEZCVFN4WFFVRlhMRVZCUVVVc2QwSkJRVVlzUlVGQk5FSXNTVUZCTlVJc1JVRkJha0k3UVVGRFFTeFBRVUZOTEU5QlFVOHNVMEZCVXl4TlFVRlVMRU5CUVdkQ0xGRkJRV2hDTEVWQlFUQkNMRVZCUVVNc1kwRkJZeXhMUVVGTExGbEJRWEJDTEVWQlFURkNMRU5CUVdJN08wRkJSVUVzVVVGQlN5eFBRVUZNTEVOQlFXRXNTVUZCWWl4RFFVRnJRaXhuUWtGQmJFSXNSVUZCYjBNc1NVRkJjRU1zUTBGQmVVTXNTVUZCZWtNN08wRkJSVUVzVVVGQlN5eHJRa0ZCVERzN1FVRkZRU3hSUVVGTExFOUJRVXdzUTBGQllTeEpRVUZpTEVOQlFXdENMSGRDUVVGc1FpeEZRVUUwUXl4UFFVRTFReXhEUVVGdlJDeFBRVUZ3UkR0QlFVTkJPenRCUVVWRU96czdPenM3T3pzN08ybERRVTlsTEZjc1JVRkJZVHRCUVVNelFpeGhRVUZWTEZOQlFWWXNRMEZCYjBJc1VVRkJjRUlzUTBGQk5rSXNWMEZCTjBJN1FVRkRRU3hSUVVGTExGbEJRVXdzUTBGQmEwSXNTVUZCYkVJc1EwRkJkVUlzVjBGQmRrSTdRVUZEUVN4VlFVRlBMRWxCUVZBN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzN096dDFRMEZQY1VJN1FVRkJRVHM3UVVGRGNFSXNVVUZCU3l4UFFVRk1MRU5CUVdFc1NVRkJZaXhEUVVGclFpeHRRa0ZCYkVJc1JVRkRSU3hIUVVSR0xFTkJRMDBzVDBGRVRpeEZRVVZGTEVWQlJrWXNRMEZGU3l4UFFVWk1MRVZCUldNc2FVSkJRVk03UVVGRGNrSXNVVUZCVFN4VlFVRlZMRVZCUVVVc1RVRkJUU3hoUVVGU0xFTkJRV2hDT3p0QlFVVkJMRTFCUVVVc1NVRkJSaXhEUVVGUExFMUJRVXNzV1VGQldpeEZRVUV3UWl4VlFVRkRMRXRCUVVRc1JVRkJVU3hYUVVGU0xFVkJRWGRDTzBGQlEycEVMRk5CUVVrc1VVRkJVU3hSUVVGU0xFTkJRV2xDTEZsQlFWa3NVVUZCV2l4RlFVRnFRaXhEUVVGS0xFVkJRVGhETzBGQlF6ZERMRmxCUVVzc1pVRkJUQ3hEUVVGeFFpeGhRVUZ5UWl4RFFVRnRReXhYUVVGdVF6dEJRVU5CTEZsQlFVc3NUMEZCVEN4RFFVRmhMRWxCUVdJc1EwRkJhMElzTUVKQlFXeENMRVZCUVRoRExGZEJRVGxETEVOQlFUQkVMRkZCUVRGRU8wRkJRMEVzWTBGQlVTeFJRVUZTTEVOQlFXbENMRkZCUVdwQ08wRkJRMEVzV1VGQlN5eFBRVUZNTEVOQlFXRXNTVUZCWWl4RFFVRnJRaXhuUWtGQmJFSXNSVUZCYjBNc1NVRkJjRU1zUTBGQmVVTXNUMEZCZWtNc1JVRkJhMFFzV1VGQldTeFpRVUZhTEV0QlFUWkNMRVZCUVM5Rk8wRkJRMEU3UVVGRFJDeExRVkJFTzBGQlVVRXNTVUZpUmp0QlFXTkJPenM3T3pzN2EwSkJjRVp0UWl4ak96czdRVU5zUW5KQ096czdPenM3T3pzN1FVRlZRVHM3UVVGRlFUczdPenM3T3pzN096czdPenM3T3pzN1NVRk5jVUlzVXp0QlFVTndRanM3T3pzN08wRkJUVUVzYjBKQlFWa3NUVUZCV2l4RlFVRnZRaXhyUWtGQmNFSXNSVUZCZDBNN1FVRkJRVHM3UVVGRGRrTXNXVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRTFCUVRkQ08wRkJRMEVzV1VGQlZTeFRRVUZXTEVOQlFXOUNMRkZCUVhCQ0xFTkJRVFpDTEd0Q1FVRTNRanM3UVVGRlFUczdPMEZCUjBFc1QwRkJTeXhOUVVGTUxFZEJRV01zVFVGQlpEczdRVUZGUVRzN08wRkJSMEVzVDBGQlN5eHJRa0ZCVEN4SFFVRXdRaXhyUWtGQk1VSTdRVUZEUVRzN1FVRkZSRHM3T3pzN096c3JRa0ZIWVR0QlFVRkJPenRCUVVOYUxFOUJRVTBzVjBGQlZ5eEZRVUZGTERoQ1FVRTRRaXhMUVVGTExFMUJRVXdzUTBGQldTeFBRVUZhTEVWQlFXaERMRU5CUVdwQ096dEJRVVZCTEZsQlFWTXNUVUZCVkN4RFFVRm5RaXhaUVVGTk8wRkJRM0pDTEZGQlFVa3NVVUZCVVN4TFFVRmFPenRCUVVWQk8wRkJRMEVzVFVGQlJTeEpRVUZHTEVOQlFVOHNUVUZCU3l4clFrRkJUQ3hEUVVGM1FpeFhRVUY0UWl4RlFVRlFMRVZCUVRoRExGVkJRVU1zUzBGQlJDeEZRVUZSTEU5QlFWSXNSVUZCYjBJN1FVRkRha1VzVDBGQlJTeEpRVUZHTEVOQlFVOHNVVUZCVVN4VlFVRlNMRVZCUVZBc1JVRkJOa0lzVlVGQlF5eExRVUZFTEVWQlFWRXNTMEZCVWl4RlFVRnJRanRCUVVNNVF5eFZRVUZKTEUxQlFVMHNUMEZCVGl4UFFVRnZRaXhOUVVGTExFMUJRVXdzUTBGQldTeFBRVUZhTEVWQlFYaENMRVZCUVN0RE8wRkJRemxETEdGQlFVMHNVVUZCVGl4RFFVRmxMRk5CUVZNc1IwRkJWQ3hGUVVGbU8wRkJRMEVzWlVGQlVTeEpRVUZTTzBGQlEwRXNZMEZCVHl4TFFVRlFPMEZCUTBFN1FVRkRSQ3hOUVU1RU96dEJRVkZCTEZOQlFVa3NTMEZCU2l4RlFVRlhPMEZCUTFZc1lVRkJUeXhMUVVGUU8wRkJRMEU3UVVGRFJDeExRVnBFTzBGQllVRXNTVUZxUWtRN08wRkJiVUpCTEZsQlFWTXNSMEZCVkN4RFFVRmhMRXRCUVVzc1RVRkJUQ3hEUVVGWkxGRkJRVm9zUlVGQllqczdRVUZGUVR0QlFVTkJMRTlCUVVrc1MwRkJTeXhOUVVGTUxFTkJRVmtzVDBGQldpeFBRVUV3UWl4SlFVRTVRaXhGUVVGdlF6dEJRVU51UXl4UlFVRk5MRTlCUVU4c1MwRkJTeXhOUVVGTUxFTkJRVmtzVDBGQldpeEhRVUZ6UWl4SlFVRjBRaXhEUVVFeVFpeEhRVUV6UWl4RFFVRmlPMEZCUTBFc1lVRkJVeXhQUVVGVUxFTkJRV2xDTEdGQlFXcENMRVZCUVdkRExFbEJRV2hETEVOQlFYRkRMRmRCUVhKRExFVkJRV3RFTEVsQlFXeEVPMEZCUTBFN1FVRkRSRHM3UVVGRlJEczdPenM3T3pzN05FSkJTMVU3UVVGRFZDeFBRVUZOTEZkQlFWY3NSVUZCUlN4NVFrRkJSaXhGUVVFMlFpeEpRVUUzUWl4RlFVRnFRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMRTlCUVUwc1ZVRkJWVHRCUVVObUxGVkJRVTBzUzBGQlN5eE5RVUZNTEVOQlFWa3NUMEZCV2l4RlFVUlRPMEZCUldZc1YwRkJUeXhMUVVGTExFMUJRVXdzUTBGQldTeFJRVUZhTEVWQlJsRTdRVUZIWml4aFFVRlRPMEZCU0Uwc1NVRkJhRUk3TzBGQlRVRXNTMEZCUlN4SlFVRkdMRU5CUVU4c1MwRkJTeXhOUVVGTUxFTkJRVmtzVlVGQldpeEZRVUZRTEVWQlFXbERMRlZCUVVNc1MwRkJSQ3hGUVVGUkxFMUJRVklzUlVGQmJVSTdRVUZEYmtRc1VVRkJTU3hqUVVGS096dEJRVVZCTEZGQlFVa3NVVUZCVHl4TlFVRlFMSGxEUVVGUExFMUJRVkFzVDBGQmEwSXNVVUZCZEVJc1JVRkJaME03UVVGQlJUdEJRVU5xUXl4VFFVRk5MRmxCUVZrc1QwRkJUeXhKUVVGUUxFTkJRVmtzVFVGQldpeEZRVUZ2UWl4RFFVRndRaXhEUVVGc1FqdEJRVU5CTEdGQlFWRTdRVUZEVUN4aFFVRlBMRk5CUkVFN1FVRkZVQ3haUVVGTkxGVkJRVlVzVVVGQlZpeERRVUZ0UWl4VFFVRnVRaXhEUVVFMlFpeFBRVUZQTEZOQlFWQXNRMEZCTjBJc1JVRkJaMFFzVlVGQmFFUTdRVUZHUXl4TlFVRlNPMEZCU1VFc1MwRk9SQ3hOUVUxUE8wRkJRVVU3UVVGRFVpeGhRVUZSTzBGQlExQXNZVUZCVHl4TlFVUkJPMEZCUlZBc1dVRkJUVHRCUVVaRExFMUJRVkk3UVVGSlFUczdRVUZGUkN4WlFVRlJMRTlCUVZJc1EwRkJaMElzU1VGQmFFSXNRMEZCY1VJc1MwRkJja0k3UVVGRFFTeEpRV3BDUkRzN1FVRnRRa0VzVlVGQlR5eFRRVUZUTEUxQlFWUXNRMEZCWjBJc1VVRkJhRUlzUlVGQk1FSXNUMEZCTVVJc1EwRkJVRHRCUVVOQk96czdPenM3YTBKQk4wWnRRaXhUT3pzN1FVTnNRbkpDT3pzN096czdPenM3UVVGVlFUczdRVUZGUVRzN096czdPenM3UVVGRlFUczdPenM3T3pzN1FVRkZRVHM3T3pzN08wbEJUWEZDTEZjN1FVRkRjRUk3T3pzN096czdRVUZQUVN4elFrRkJXU3hQUVVGYUxFVkJRWEZDTEVkQlFYSkNMRVZCUVRCQ08wRkJRVUU3TzBGQlEzcENMRmxCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhQUVVFM1FqdEJRVU5CTEZsQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4SFFVRTNRanM3UVVGRlFUczdPenM3UVVGTFFTeFBRVUZMTEU5QlFVd3NSMEZCWlN4UFFVRm1PenRCUVVWQk96czdPenRCUVV0QkxFOUJRVXNzUjBGQlRDeEhRVUZYTEVkQlFWZzdRVUZEUVRzN1FVRkZSRHM3T3pzN096czdPenM3T3pzN2VVSkJWVThzVXl4RlFVRlhPMEZCUTJwQ0xFOUJRVTBzVjBGQlZ5eEZRVUZGTEZGQlFVWXNSVUZCYWtJN1FVRkRRU3hQUVVGTkxGbEJRVmtzUzBGQlN5eFBRVUZNTEVOQlFXRXNSMEZCWWl4RFFVRnBRaXhEUVVGcVFpeEZRVUZ2UWl4TFFVRjBRenM3UVVGRlFTeFJRVUZMTEU5QlFVd3NRMEZCWVN4VlFVRmlMRU5CUVhkQ08wRkJRM1pDTEdOQlFWVXNSVUZCUXl4WlFVRlpMRk5CUVdJc1JVRkVZVHRCUVVWMlFpeFRRVUZMTEV0QlFVc3NSMEZHWVR0QlFVZDJRaXhqUVVGVkxFMUJTR0U3UVVGSmRrSXNaMEpCUVZrc1MwRktWenRCUVV0MlFpeHhRa0ZCYVVJc2FVSkJURTA3UVVGTmRrSXNNRUpCUVhOQ08wRkJUa01zU1VGQmVFSTdPMEZCVTBFc1VVRkJTeXhQUVVGTUxFTkJRV0VzVlVGQllpeERRVUYzUWl4TlFVRjRRaXhGUVVGblF5eEZRVUZETEU5QlFVOHNVMEZCVWl4RlFVRm9ReXhGUVVORkxFbEJSRVlzUTBGRFR5eHJRa0ZCVlR0QlFVTm1MR0ZCUVZNc1QwRkJWQ3hEUVVGcFFpeE5RVUZxUWp0QlFVTkJMRWxCU0VZc1JVRkpSU3hKUVVwR0xFTkJTVThzVlVGQlF5eExRVUZFTEVWQlFWRXNWVUZCVWl4RlFVRnZRaXhYUVVGd1FpeEZRVUZ2UXp0QlFVTjZReXh2UWtGQlRTeFBRVUZPTEVOQlFXTXNWVUZCVlN4UlFVRldMRU5CUVcxQ0xGTkJRVzVDTEVOQlFUWkNMSE5DUVVFM1FpeEZRVUZ4UkN4WlFVRnlSQ3hEUVVGa0xFVkJRME1zVlVGQlZTeFJRVUZXTEVOQlFXMUNMRk5CUVc1Q0xFTkJRVFpDTEhkQ1FVRTNRaXhGUVVGMVJDeFpRVUYyUkN4RFFVUkVPMEZCUlVFc1kwRkJWU3hMUVVGV0xFTkJRV2RDTEV0QlFXaENMRU5CUVhOQ0xEUkNRVUYwUWl4RlFVRnZSQ3hYUVVGd1JDeEZRVUZwUlN4VlFVRnFSU3hGUVVFMlJTeExRVUUzUlR0QlFVTkJMRWxCVWtZN08wRkJWVUVzVlVGQlR5eFRRVUZUTEU5QlFWUXNSVUZCVUR0QlFVTkJPenM3T3pzN2EwSkJOMFJ0UWl4WE96czdRVU4wUW5KQ096czdPenM3T3pzN1FVRlZRVHM3UVVGRlFUczdPenM3T3pzN096czdPMGxCUjNGQ0xFMDdRVUZEY0VJN096czdPenRCUVUxQkxHbENRVUZaTEUxQlFWb3NSVUZCYjBJc2EwSkJRWEJDTEVWQlFYZERPMEZCUVVFN08wRkJRM1pETEZsQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4TlFVRTNRanRCUVVOQkxGbEJRVlVzVTBGQlZpeERRVUZ2UWl4UlFVRndRaXhEUVVFMlFpeHJRa0ZCTjBJN08wRkJSVUU3T3p0QlFVZEJMRTlCUVVzc1RVRkJUQ3hIUVVGakxFMUJRV1E3TzBGQlJVRTdPenRCUVVkQkxFOUJRVXNzYTBKQlFVd3NSMEZCTUVJc2EwSkJRVEZDTzBGQlEwRTdPMEZCUlVRN096czdPenM3SzBKQlIyRTdRVUZCUVRzN1FVRkRXaXhQUVVGTkxGZEJRVmNzUlVGQlJTdzRRa0ZCT0VJc1MwRkJTeXhOUVVGTUxFTkJRVmtzVDBGQldpeEZRVUZvUXl4RFFVRnFRanM3UVVGRlFTeFpRVUZUTEUxQlFWUXNRMEZCWjBJc1dVRkJUVHRCUVVOeVFpeFJRVUZKTEZGQlFWRXNTMEZCV2pzN1FVRkZRVHRCUVVOQkxFMUJRVVVzU1VGQlJpeERRVUZQTEUxQlFVc3NhMEpCUVV3c1EwRkJkMElzVjBGQmVFSXNSVUZCVUN4RlFVRTRReXhWUVVGRExFdEJRVVFzUlVGQlVTeFBRVUZTTEVWQlFXOUNPMEZCUTJwRkxFOUJRVVVzU1VGQlJpeERRVUZQTEZGQlFWRXNWVUZCVWl4RlFVRlFMRVZCUVRaQ0xGVkJRVU1zUzBGQlJDeEZRVUZSTEV0QlFWSXNSVUZCYTBJN1FVRkRPVU1zVlVGQlNTeE5RVUZOTEU5QlFVNHNUMEZCYjBJc1RVRkJTeXhOUVVGTUxFTkJRVmtzVDBGQldpeEZRVUY0UWl4RlFVRXJRenRCUVVNNVF5eGhRVUZOTEZGQlFVNHNRMEZCWlN4VFFVRlRMRWxCUVZRc1EwRkJZeXhUUVVGa0xFTkJRV1k3UVVGRFFTeGxRVUZSTEVsQlFWSTdRVUZEUVN4alFVRlBMRXRCUVZBN1FVRkRRVHRCUVVORUxFMUJUa1E3TzBGQlVVRXNVMEZCU1N4TFFVRktMRVZCUVZjN1FVRkRWaXhoUVVGUExFdEJRVkE3UVVGRFFUdEJRVU5FTEV0QldrUTdRVUZoUVN4SlFXcENSRHM3UVVGdFFrRTdRVUZEUVN4WlFVRlRMRWxCUVZRc1EwRkJZeXhUUVVGa0xFVkJRWGxDTEV0QlFVc3NUVUZCVEN4RFFVRlpMRkZCUVZvc1JVRkJla0k3TzBGQlJVRTdRVUZEUVN4UFFVRkpMRXRCUVVzc1RVRkJUQ3hEUVVGWkxFOUJRVm9zVDBGQk1FSXNTVUZCT1VJc1JVRkJiME03UVVGRGJrTXNVVUZCVFN4UFFVRlBMRXRCUVVzc1RVRkJUQ3hEUVVGWkxFOUJRVm9zUjBGQmMwSXNTVUZCZEVJc1EwRkJNa0lzUjBGQk0wSXNRMEZCWWp0QlFVTkJMR0ZCUVZNc1QwRkJWQ3hEUVVGcFFpeGhRVUZxUWl4RlFVRm5ReXhKUVVGb1F5eERRVUZ4UXl4WFFVRnlReXhGUVVGclJDeEpRVUZzUkR0QlFVTkJPMEZCUTBRN08wRkJSVVE3T3pzN096czdPelJDUVV0Vk8wRkJRMVFzVDBGQlRTeFhRVUZYTEVWQlFVVXNlVUpCUVVZc1JVRkJOa0lzU1VGQk4wSXNSVUZCYWtJN1FVRkRRU3hWUVVGUExGTkJRVk1zVFVGQlZDeERRVUZuUWl4UlFVRm9RaXhGUVVFd1FpeExRVUZMTEUxQlFTOUNMRU5CUVZBN1FVRkRRVHM3T3pzN08ydENRV3BGYlVJc1RUczdPMEZEWm5KQ096czdPenM3T3pzN1FVRlZRVHM3UVVGRlFUczdPenM3T3pzN096czdPenM3TzBsQlRYRkNMR1U3UVVGRGNFSTdPenM3T3p0QlFVMUJMREJDUVVGWkxFOUJRVm9zUlVGQmNVSXNWVUZCY2tJc1JVRkJhVU03UVVGQlFUczdRVUZEYUVNc1dVRkJWU3hUUVVGV0xFTkJRVzlDTEZGQlFYQkNMRU5CUVRaQ0xFOUJRVGRDTzBGQlEwRXNXVUZCVlN4VFFVRldMRU5CUVc5Q0xGRkJRWEJDTEVOQlFUWkNMRlZCUVRkQ096dEJRVVZCT3pzN096dEJRVXRCTEU5QlFVc3NUMEZCVEN4SFFVRmxMRTlCUVdZN08wRkJSVUU3T3pzN08wRkJTMEVzVDBGQlN5eFZRVUZNTEVkQlFXdENMRlZCUVd4Q08wRkJRMEU3TzBGQlJVUTdPenM3T3pzN096c3JRa0ZMWVR0QlFVTmFPMEZCUTBFc1QwRkJUU3hsUVVGbExFVkJRVVVzUlVGQlJTd3lRa0ZCUml4RlFVRXJRaXhKUVVFdlFpeEZRVUZHTEVOQlFYSkNPenRCUVVWQkxHZENRVU5GTEVkQlJFWXNRMEZEVFR0QlFVTktMR0ZCUVZNc1dVRkVURHRCUVVWS0xHMUNRVUZsTEZGQlJsZzdRVUZIU2l4WFFVRlBPMEZCU0Vnc1NVRkVUanM3UVVGUFFTeFBRVUZOTEZkQlFWY3NSVUZCUlN3MlFrRkJSaXhGUVVObUxFZEJSR1VzUTBGRFdEdEJRVU5LTEdOQlFWVXNUMEZFVGp0QlFVVktMRlZCUVUwc1IwRkdSanRCUVVkS0xGTkJRVXNzUjBGSVJEdEJRVWxLTEZkQlFVOHNUMEZLU0R0QlFVdEtMRmxCUVZFc1QwRk1TanRCUVUxS0xIRkNRVUZwUWl4TlFVNWlPMEZCVDBvc1kwRkJWU3hOUVZCT08wRkJVVW9zWlVGQlZ5eFJRVkpRTzBGQlUwb3NZVUZCVXl4UFFWUk1PMEZCVlVvc1kwRkJWVHRCUVZaT0xFbEJSRmNzUTBGQmFrSTdPMEZCWTBFc1QwRkJUU3huUWtGQlowSXNSVUZCUlN4dFEwRkJSaXhGUVVOd1FpeEhRVVJ2UWl4RFFVTm9RanRCUVVOS0xHRkJRVk1zVFVGRVREdEJRVVZLTEdOQlFWVXNUMEZHVGp0QlFVZEtMRlZCUVUwc1IwRklSanRCUVVsS0xGTkJRVXNzUjBGS1JEdEJRVXRLTEZkQlFVOHNUVUZNU0R0QlFVMUtMRmxCUVZFc1RVRk9TanRCUVU5S0xIRkNRVUZwUWl4NVFrRlFZanRCUVZGS0xHTkJRVlU3UVVGU1RpeEpRVVJuUWl4RFFVRjBRanM3UVVGWlFTeFBRVUZOTEZWQlFWVXNSVUZCUlN4clFrRkJhMElzUzBGQlN5eFZRVUYyUWl4SFFVRnZReXhoUVVGMFF5eERRVUZvUWpzN1FVRkZRU3hSUVVGTExFOUJRVXdzUTBGQllTeE5RVUZpTEVOQlFXOUNMRTlCUVhCQ096dEJRVVZCTEV0QlFVVXNUVUZCUml4RlFVTkZMRTFCUkVZc1EwRkRVeXhoUVVSVUxFVkJSVVVzVFVGR1JpeERRVVZUTEZOQlFWTXNUVUZCVkN4RFFVRm5RaXhaUVVGb1FpeERRVVpVT3p0QlFVbEJMRkZCUVVzc2EwSkJRVXc3UVVGRFFUczdRVUZGUkRzN096czdPenM3WjBOQlMyTXNTU3hGUVVGTk8wRkJRMjVDTEdGQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4SlFVRTNRanM3UVVGRlFUdEJRVU5CTEU5QlFVMHNaVUZCWlN4TFFVRkxMRTlCUVV3c1EwRkJZU3hKUVVGaUxFTkJRV3RDTEZGQlFXeENMRVZCUVRSQ0xFZEJRVFZDTEVOQlFXZERMRU5CUVdoRExFVkJRVzFETEdGQlFYaEVPenRCUVVWQkxFOUJRVWtzWVVGQllTeFJRVUZpTEVOQlFYTkNMRWxCUVhSQ0xFdEJRU3RDTEdGQlFXNURMRVZCUVd0RU8wRkJRMnBFTEdsQ1FVRmhMRkZCUVdJc1EwRkJjMElzVFVGQmRFSTdRVUZEUVRzN1FVRkZSQ3hSUVVGTExHdENRVUZNTEVkQlFUQkNMRWxCUVRGQ08wRkJRMEU3TzBGQlJVUTdPenM3T3pzN08yOURRVXRyUWp0QlFVTnFRaXhMUVVGRkxFMUJRVVlzUlVGQlZTeEpRVUZXTEVOQlFXVXNWVUZCWml4RlFVRXlRaXhOUVVFelFqdEJRVU5CT3p0QlFVVkVPenM3T3pzN096czdPMnREUVU5blFqdEJRVUZCT3p0QlFVTm1MRkZCUVVzc1QwRkJUQ3hEUVVGaExFZEJRV0lzUTBGQmFVSXNTMEZCU3l4clFrRkJUQ3hEUVVGM1FpeGhRVUY0UWl4RlFVRnFRanM3UVVGRlFTeExRVUZGTEUxQlFVWXNSVUZCVlN4SlFVRldMRU5CUVdVc1ZVRkJaaXhGUVVFeVFpeFBRVUV6UWpzN1FVRkZRVHRCUVVOQkxFOUJRVTBzWlVGQlpTeExRVUZMTEU5QlFVd3NRMEZCWVN4SlFVRmlMRU5CUVd0Q0xGRkJRV3hDTEVWQlFUUkNMRWRCUVRWQ0xFTkJRV2RETEVOQlFXaERMRVZCUVcxRExHRkJRWGhFTzBGQlEwRXNTMEZCUlN4WlFVRkdMRVZCUVdkQ0xFVkJRV2hDTEVOQlFXMUNMR05CUVc1Q0xFVkJRVzFETzBGQlFVRXNWMEZCVFN4TlFVRkxMR1ZCUVV3c1JVRkJUanRCUVVGQkxFbEJRVzVETzBGQlEwRTdPMEZCUlVRN096czdPenM3TzNWRFFVdHhRanRCUVVGQk96dEJRVU53UWl4UlFVRkxMRTlCUVV3c1EwRkJZU3hKUVVGaUxFTkJRV3RDTEZGQlFXeENMRVZCUTBVc1IwRkVSaXhEUVVOTkxFMUJSRTRzUlVGRlJTeEZRVVpHTEVOQlJVc3NUVUZHVEN4RlFVVmhPMEZCUVVFc1YwRkJUU3hQUVVGTExHRkJRVXdzUlVGQlRqdEJRVUZCTEVsQlJtSTdRVUZIUVRzN096czdPMnRDUVhCSmJVSXNaVHM3TzBGRGJFSnlRanM3T3pzN096czdPMEZCVlVFN08wRkJSVUU3T3pzN096czdPenM3T3pzN08wbEJTM0ZDTEU4N1FVRkRjRUk3T3pzN096dEJRVTFCTEd0Q1FVRlpMRTFCUVZvc1JVRkJiMElzYTBKQlFYQkNMRVZCUVhkRE8wRkJRVUU3TzBGQlEzWkRMRmxCUVZVc1UwRkJWaXhEUVVGdlFpeFJRVUZ3UWl4RFFVRTJRaXhOUVVFM1FqdEJRVU5CTEZsQlFWVXNVMEZCVml4RFFVRnZRaXhSUVVGd1FpeERRVUUyUWl4clFrRkJOMEk3TzBGQlJVRTdPenRCUVVkQkxFOUJRVXNzVFVGQlRDeEhRVUZqTEUxQlFXUTdPMEZCUlVFN096dEJRVWRCTEU5QlFVc3NhMEpCUVV3c1IwRkJNRUlzYTBKQlFURkNPMEZCUTBFN08wRkJSVVE3T3pzN096czdLMEpCUjJFN1FVRkJRVHM3UVVGRFdpeFBRVUZOTEZkQlFWY3NSVUZCUlN3NFFrRkJPRUlzUzBGQlN5eE5RVUZNTEVOQlFWa3NUMEZCV2l4RlFVRm9ReXhEUVVGcVFqczdRVUZGUVN4WlFVRlRMRTFCUVZRc1EwRkJaMElzV1VGQlRUdEJRVU55UWl4UlFVRkpMRkZCUVZFc1MwRkJXanM3UVVGRlFUdEJRVU5CTEUxQlFVVXNTVUZCUml4RFFVRlBMRTFCUVVzc2EwSkJRVXdzUTBGQmQwSXNWMEZCZUVJc1JVRkJVQ3hGUVVFNFF5eFZRVUZETEV0QlFVUXNSVUZCVVN4UFFVRlNMRVZCUVc5Q08wRkJRMnBGTEU5QlFVVXNTVUZCUml4RFFVRlBMRkZCUVZFc1ZVRkJVaXhGUVVGUUxFVkJRVFpDTEZWQlFVTXNTMEZCUkN4RlFVRlJMRXRCUVZJc1JVRkJhMEk3UVVGRE9VTXNWVUZCU1N4TlFVRk5MRTlCUVU0c1QwRkJiMElzVFVGQlN5eE5RVUZNTEVOQlFWa3NUMEZCV2l4RlFVRjRRaXhGUVVFclF6dEJRVU01UXp0QlFVTkJMRmRCUVUwc1owSkJRV2RDTEUxQlFVc3NUVUZCVEN4RFFVRlpMR2RDUVVGYUxFVkJRWFJDT3p0QlFVVkJMRmRCUVVrc1UwRkJVeXhIUVVGVUxFOUJRVzFDTEVkQlFXNUNMRWxCUVRCQ0xHdENRVUZyUWl4SlFVRTFReXhKUVVOQkxGTkJRVk1zUjBGQlZDeEhRVUZsTEU5QlFXWXNRMEZCZFVJc1dVRkJka0lzUlVGQmNVTXNSVUZCY2tNc1RVRkJOa01zVTBGQlV5eEhRVUZVTEVWQlJHcEVMRVZCUTJsRk8wRkJRMmhGTEdsQ1FVRlRMRWRCUVZRc1EwRkJZU3hUUVVGVExFZEJRVlFzUzBGQmFVSXNZVUZCT1VJN1FVRkRRVHRCUVVORUxHRkJRVTBzVVVGQlRpeERRVUZsTEZOQlFWTXNSMEZCVkN4RlFVRm1PMEZCUTBFc1pVRkJVU3hKUVVGU08wRkJRMEVzWTBGQlR5eExRVUZRTzBGQlEwRTdRVUZEUkN4TlFXSkVPenRCUVdWQkxGTkJRVWtzUzBGQlNpeEZRVUZYTzBGQlExWXNZVUZCVHl4TFFVRlFPMEZCUTBFN1FVRkRSQ3hMUVc1Q1JEdEJRVzlDUVN4SlFYaENSRHM3UVVFd1FrRTdRVUZEUVN4UFFVRkpMRXRCUVVzc1RVRkJUQ3hEUVVGWkxFOUJRVm9zVDBGQk1FSXNTVUZCT1VJc1JVRkJiME03UVVGRGJrTXNVVUZCVFN4UFFVRlBMRXRCUVVzc1RVRkJUQ3hEUVVGWkxFOUJRVm9zUjBGQmMwSXNTVUZCZEVJc1EwRkJNa0lzUjBGQk0wSXNRMEZCWWp0QlFVTkJMR0ZCUVZNc1QwRkJWQ3hEUVVGcFFpeGhRVUZxUWl4RlFVRm5ReXhKUVVGb1F5eERRVUZ4UXl4WFFVRnlReXhGUVVGclJDeEpRVUZzUkR0QlFVTkJPMEZCUTBRN08wRkJSVVE3T3pzN096czdPelJDUVV0Vk8wRkJRMVFzVDBGQlRTeFhRVUZYTEVWQlFVVXNkVUpCUVVZc1JVRkJNa0lzU1VGQk0wSXNSVUZCYWtJN1FVRkRRU3hWUVVGUExGTkJRVk1zVFVGQlZDeERRVUZuUWl4UlFVRm9RaXhGUVVFd1FpeExRVUZMTEUxQlFTOUNMRU5CUVZBN1FVRkRRVHM3T3pzN08ydENRWEpGYlVJc1R6czdPMEZEYWtKeVFqczdPenM3T3pzN08wRkJWVUU3TzBGQlJVRTdPenM3T3pzN096czdPenM3TzBsQlMzRkNMRXM3UVVGRGNFSTdPenM3TzBGQlMwRXNaMEpCUVZrc1RVRkJXaXhGUVVGdlFqdEJRVUZCT3p0QlFVTnVRaXhaUVVGVkxGTkJRVllzUTBGQmIwSXNVVUZCY0VJc1EwRkJOa0lzVFVGQk4wSTdPMEZCUlVFN096dEJRVWRCTEU5QlFVc3NUVUZCVEN4SFFVRmpMRTFCUVdRN1FVRkRRVHM3UVVGRlJEczdPenM3T3pzclFrRkhZU3hEUVVWYU8wRkJSRUU3T3p0QlFVZEVPenM3T3pzN096czBRa0ZMVlR0QlFVTlVMRTlCUVUwc1YwRkJWeXhGUVVGRkxIZENRVUZHTEVWQlFUUkNMRWxCUVRWQ0xFVkJRV3BDTzBGQlEwRXNUMEZCVFN4UFFVRlBPMEZCUTFvc1YwRkJUeXhWUVVGVkxGRkJRVllzUTBGQmJVSXNVMEZCYmtJc1EwRkJOa0lzUzBGQlN5eE5RVUZNTEVOQlFWa3NUMEZCV2l4RlFVRTNRaXhGUVVGdlJDeFZRVUZ3UkR0QlFVUkxMRWxCUVdJN1FVRkhRU3hWUVVGUExGTkJRVk1zVFVGQlZDeERRVUZuUWl4UlFVRm9RaXhGUVVFd1FpeEpRVUV4UWl4RFFVRlFPMEZCUTBFN096czdPenRyUWtGcVEyMUNMRXNpTENKbWFXeGxJam9pWjJWdVpYSmhkR1ZrTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpaG1kVzVqZEdsdmJpZ3BlMloxYm1OMGFXOXVJSElvWlN4dUxIUXBlMloxYm1OMGFXOXVJRzhvYVN4bUtYdHBaaWdoYmx0cFhTbDdhV1lvSVdWYmFWMHBlM1poY2lCalBWd2lablZ1WTNScGIyNWNJajA5ZEhsd1pXOW1JSEpsY1hWcGNtVW1KbkpsY1hWcGNtVTdhV1lvSVdZbUptTXBjbVYwZFhKdUlHTW9hU3doTUNrN2FXWW9kU2x5WlhSMWNtNGdkU2hwTENFd0tUdDJZWElnWVQxdVpYY2dSWEp5YjNJb1hDSkRZVzV1YjNRZ1ptbHVaQ0J0YjJSMWJHVWdKMXdpSzJrclhDSW5YQ0lwTzNSb2NtOTNJR0V1WTI5a1pUMWNJazFQUkZWTVJWOU9UMVJmUms5VlRrUmNJaXhoZlhaaGNpQndQVzViYVYwOWUyVjRjRzl5ZEhNNmUzMTlPMlZiYVYxYk1GMHVZMkZzYkNod0xtVjRjRzl5ZEhNc1puVnVZM1JwYjI0b2NpbDdkbUZ5SUc0OVpWdHBYVnN4WFZ0eVhUdHlaWFIxY200Z2J5aHVmSHh5S1gwc2NDeHdMbVY0Y0c5eWRITXNjaXhsTEc0c2RDbDljbVYwZFhKdUlHNWJhVjB1Wlhod2IzSjBjMzFtYjNJb2RtRnlJSFU5WENKbWRXNWpkR2x2Ymx3aVBUMTBlWEJsYjJZZ2NtVnhkV2x5WlNZbWNtVnhkV2x5WlN4cFBUQTdhVHgwTG14bGJtZDBhRHRwS3lzcGJ5aDBXMmxkS1R0eVpYUjFjbTRnYjMxeVpYUjFjbTRnY24wcEtDa2lMQ0pjSW5WelpTQnpkSEpwWTNSY0lqdGNibHh1Y21WeGRXbHlaU2hjSW1OdmNtVXRhbk12YzJocGJWd2lLVHRjYmx4dWNtVnhkV2x5WlNoY0luSmxaMlZ1WlhKaGRHOXlMWEoxYm5ScGJXVXZjblZ1ZEdsdFpWd2lLVHRjYmx4dWNtVnhkV2x5WlNoY0ltTnZjbVV0YW5NdlptNHZjbVZuWlhod0wyVnpZMkZ3WlZ3aUtUdGNibHh1YVdZZ0tHZHNiMkpoYkM1ZlltRmlaV3hRYjJ4NVptbHNiQ2tnZTF4dUlDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSnZibXg1SUc5dVpTQnBibk4wWVc1alpTQnZaaUJpWVdKbGJDMXdiMng1Wm1sc2JDQnBjeUJoYkd4dmQyVmtYQ0lwTzF4dWZWeHVaMnh2WW1Gc0xsOWlZV0psYkZCdmJIbG1hV3hzSUQwZ2RISjFaVHRjYmx4dWRtRnlJRVJGUmtsT1JWOVFVazlRUlZKVVdTQTlJRndpWkdWbWFXNWxVSEp2Y0dWeWRIbGNJanRjYm1aMWJtTjBhVzl1SUdSbFptbHVaU2hQTENCclpYa3NJSFpoYkhWbEtTQjdYRzRnSUU5YmEyVjVYU0I4ZkNCUFltcGxZM1JiUkVWR1NVNUZYMUJTVDFCRlVsUlpYU2hQTENCclpYa3NJSHRjYmlBZ0lDQjNjbWwwWVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1VzWEc0Z0lDQWdkbUZzZFdVNklIWmhiSFZsWEc0Z0lIMHBPMXh1ZlZ4dVhHNWtaV1pwYm1Vb1UzUnlhVzVuTG5CeWIzUnZkSGx3WlN3Z1hDSndZV1JNWldaMFhDSXNJRndpWENJdWNHRmtVM1JoY25RcE8xeHVaR1ZtYVc1bEtGTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVc0lGd2ljR0ZrVW1sbmFIUmNJaXdnWENKY0lpNXdZV1JGYm1RcE8xeHVYRzVjSW5CdmNDeHlaWFpsY25ObExITm9hV1owTEd0bGVYTXNkbUZzZFdWekxHVnVkSEpwWlhNc2FXNWtaWGhQWml4bGRtVnllU3h6YjIxbExHWnZja1ZoWTJnc2JXRndMR1pwYkhSbGNpeG1hVzVrTEdacGJtUkpibVJsZUN4cGJtTnNkV1JsY3l4cWIybHVMSE5zYVdObExHTnZibU5oZEN4d2RYTm9MSE53YkdsalpTeDFibk5vYVdaMExITnZjblFzYkdGemRFbHVaR1Y0VDJZc2NtVmtkV05sTEhKbFpIVmpaVkpwWjJoMExHTnZjSGxYYVhSb2FXNHNabWxzYkZ3aUxuTndiR2wwS0Z3aUxGd2lLUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2hyWlhrcElIdGNiaUFnVzExYmEyVjVYU0FtSmlCa1pXWnBibVVvUVhKeVlYa3NJR3RsZVN3Z1JuVnVZM1JwYjI0dVkyRnNiQzVpYVc1a0tGdGRXMnRsZVYwcEtUdGNibjBwT3lJc0luSmxjWFZwY21Vb0p5NHVMeTR1TDIxdlpIVnNaWE12WTI5eVpTNXlaV2RsZUhBdVpYTmpZWEJsSnlrN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb0p5NHVMeTR1TDIxdlpIVnNaWE12WDJOdmNtVW5LUzVTWldkRmVIQXVaWE5qWVhCbE8xeHVJaXdpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYVhRcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCcGRDQWhQU0FuWm5WdVkzUnBiMjRuS1NCMGFISnZkeUJVZVhCbFJYSnliM0lvYVhRZ0t5QW5JR2x6SUc1dmRDQmhJR1oxYm1OMGFXOXVJU2NwTzF4dUlDQnlaWFIxY200Z2FYUTdYRzU5TzF4dUlpd2lkbUZ5SUdOdlppQTlJSEpsY1hWcGNtVW9KeTR2WDJOdlppY3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYVhRc0lHMXpaeWtnZTF4dUlDQnBaaUFvZEhsd1pXOW1JR2wwSUNFOUlDZHVkVzFpWlhJbklDWW1JR052WmlocGRDa2dJVDBnSjA1MWJXSmxjaWNwSUhSb2NtOTNJRlI1Y0dWRmNuSnZjaWh0YzJjcE8xeHVJQ0J5WlhSMWNtNGdLMmwwTzF4dWZUdGNiaUlzSWk4dklESXlMakV1TXk0ek1TQkJjbkpoZVM1d2NtOTBiM1I1Y0dWYlFFQjFibk5qYjNCaFlteGxjMTFjYm5aaGNpQlZUbE5EVDFCQlFreEZVeUE5SUhKbGNYVnBjbVVvSnk0dlgzZHJjeWNwS0NkMWJuTmpiM0JoWW14bGN5Y3BPMXh1ZG1GeUlFRnljbUY1VUhKdmRHOGdQU0JCY25KaGVTNXdjbTkwYjNSNWNHVTdYRzVwWmlBb1FYSnlZWGxRY205MGIxdFZUbE5EVDFCQlFreEZVMTBnUFQwZ2RXNWtaV1pwYm1Wa0tTQnlaWEYxYVhKbEtDY3VMMTlvYVdSbEp5a29RWEp5WVhsUWNtOTBieXdnVlU1VFEwOVFRVUpNUlZNc0lIdDlLVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0d0bGVTa2dlMXh1SUNCQmNuSmhlVkJ5YjNSdlcxVk9VME5QVUVGQ1RFVlRYVnRyWlhsZElEMGdkSEoxWlR0Y2JuMDdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzUyWVhJZ1lYUWdQU0J5WlhGMWFYSmxLQ2N1TDE5emRISnBibWN0WVhRbktTaDBjblZsS1R0Y2JseHVJQzh2SUdCQlpIWmhibU5sVTNSeWFXNW5TVzVrWlhoZ0lHRmljM1J5WVdOMElHOXdaWEpoZEdsdmJseHVMeThnYUhSMGNITTZMeTkwWXpNNUxtZHBkR2gxWWk1cGJ5OWxZMjFoTWpZeUx5TnpaV010WVdSMllXNWpaWE4wY21sdVoybHVaR1Y0WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNoVExDQnBibVJsZUN3Z2RXNXBZMjlrWlNrZ2UxeHVJQ0J5WlhSMWNtNGdhVzVrWlhnZ0t5QW9kVzVwWTI5a1pTQS9JR0YwS0ZNc0lHbHVaR1Y0S1M1c1pXNW5kR2dnT2lBeEtUdGNibjA3WEc0aUxDSnRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHBkQ3dnUTI5dWMzUnlkV04wYjNJc0lHNWhiV1VzSUdadmNtSnBaR1JsYmtacFpXeGtLU0I3WEc0Z0lHbG1JQ2doS0dsMElHbHVjM1JoYm1ObGIyWWdRMjl1YzNSeWRXTjBiM0lwSUh4OElDaG1iM0ppYVdSa1pXNUdhV1ZzWkNBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUdadmNtSnBaR1JsYmtacFpXeGtJR2x1SUdsMEtTa2dlMXh1SUNBZ0lIUm9jbTkzSUZSNWNHVkZjbkp2Y2lodVlXMWxJQ3NnSnpvZ2FXNWpiM0p5WldOMElHbHVkbTlqWVhScGIyNGhKeWs3WEc0Z0lIMGdjbVYwZFhKdUlHbDBPMXh1ZlR0Y2JpSXNJblpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ2FXWWdLQ0ZwYzA5aWFtVmpkQ2hwZENrcElIUm9jbTkzSUZSNWNHVkZjbkp2Y2locGRDQXJJQ2NnYVhNZ2JtOTBJR0Z1SUc5aWFtVmpkQ0VuS1R0Y2JpQWdjbVYwZFhKdUlHbDBPMXh1ZlR0Y2JpSXNJaTh2SURJeUxqRXVNeTR6SUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzVqYjNCNVYybDBhR2x1S0hSaGNtZGxkQ3dnYzNSaGNuUXNJR1Z1WkNBOUlIUm9hWE11YkdWdVozUm9LVnh1SjNWelpTQnpkSEpwWTNRbk8xeHVkbUZ5SUhSdlQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YjJKcVpXTjBKeWs3WEc1MllYSWdkRzlCWW5OdmJIVjBaVWx1WkdWNElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dFlXSnpiMngxZEdVdGFXNWtaWGduS1R0Y2JuWmhjaUIwYjB4bGJtZDBhQ0E5SUhKbGNYVnBjbVVvSnk0dlgzUnZMV3hsYm1kMGFDY3BPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUZ0ZExtTnZjSGxYYVhSb2FXNGdmSHdnWm5WdVkzUnBiMjRnWTI5d2VWZHBkR2hwYmloMFlYSm5aWFFnTHlvZ1BTQXdJQ292TENCemRHRnlkQ0F2S2lBOUlEQXNJR1Z1WkNBOUlFQnNaVzVuZEdnZ0tpOHBJSHRjYmlBZ2RtRnlJRThnUFNCMGIwOWlhbVZqZENoMGFHbHpLVHRjYmlBZ2RtRnlJR3hsYmlBOUlIUnZUR1Z1WjNSb0tFOHViR1Z1WjNSb0tUdGNiaUFnZG1GeUlIUnZJRDBnZEc5QlluTnZiSFYwWlVsdVpHVjRLSFJoY21kbGRDd2diR1Z1S1R0Y2JpQWdkbUZ5SUdaeWIyMGdQU0IwYjBGaWMyOXNkWFJsU1c1a1pYZ29jM1JoY25Rc0lHeGxiaWs3WEc0Z0lIWmhjaUJsYm1RZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNaUEvSUdGeVozVnRaVzUwYzFzeVhTQTZJSFZ1WkdWbWFXNWxaRHRjYmlBZ2RtRnlJR052ZFc1MElEMGdUV0YwYUM1dGFXNG9LR1Z1WkNBOVBUMGdkVzVrWldacGJtVmtJRDhnYkdWdUlEb2dkRzlCWW5OdmJIVjBaVWx1WkdWNEtHVnVaQ3dnYkdWdUtTa2dMU0JtY205dExDQnNaVzRnTFNCMGJ5azdYRzRnSUhaaGNpQnBibU1nUFNBeE8xeHVJQ0JwWmlBb1puSnZiU0E4SUhSdklDWW1JSFJ2SUR3Z1puSnZiU0FySUdOdmRXNTBLU0I3WEc0Z0lDQWdhVzVqSUQwZ0xURTdYRzRnSUNBZ1puSnZiU0FyUFNCamIzVnVkQ0F0SURFN1hHNGdJQ0FnZEc4Z0t6MGdZMjkxYm5RZ0xTQXhPMXh1SUNCOVhHNGdJSGRvYVd4bElDaGpiM1Z1ZEMwdElENGdNQ2tnZTF4dUlDQWdJR2xtSUNobWNtOXRJR2x1SUU4cElFOWJkRzlkSUQwZ1QxdG1jbTl0WFR0Y2JpQWdJQ0JsYkhObElHUmxiR1YwWlNCUFczUnZYVHRjYmlBZ0lDQjBieUFyUFNCcGJtTTdYRzRnSUNBZ1puSnZiU0FyUFNCcGJtTTdYRzRnSUgwZ2NtVjBkWEp1SUU4N1hHNTlPMXh1SWl3aUx5OGdNakl1TVM0ekxqWWdRWEp5WVhrdWNISnZkRzkwZVhCbExtWnBiR3dvZG1Gc2RXVXNJSE4wWVhKMElEMGdNQ3dnWlc1a0lEMGdkR2hwY3k1c1pXNW5kR2dwWEc0bmRYTmxJSE4wY21samRDYzdYRzUyWVhJZ2RHOVBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxdlltcGxZM1FuS1R0Y2JuWmhjaUIwYjBGaWMyOXNkWFJsU1c1a1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MWhZbk52YkhWMFpTMXBibVJsZUNjcE8xeHVkbUZ5SUhSdlRHVnVaM1JvSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YkdWdVozUm9KeWs3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUdacGJHd29kbUZzZFdVZ0x5b2dMQ0J6ZEdGeWRDQTlJREFzSUdWdVpDQTlJRUJzWlc1bmRHZ2dLaThwSUh0Y2JpQWdkbUZ5SUU4Z1BTQjBiMDlpYW1WamRDaDBhR2x6S1R0Y2JpQWdkbUZ5SUd4bGJtZDBhQ0E5SUhSdlRHVnVaM1JvS0U4dWJHVnVaM1JvS1R0Y2JpQWdkbUZ5SUdGTVpXNGdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9PMXh1SUNCMllYSWdhVzVrWlhnZ1BTQjBiMEZpYzI5c2RYUmxTVzVrWlhnb1lVeGxiaUErSURFZ1B5QmhjbWQxYldWdWRITmJNVjBnT2lCMWJtUmxabWx1WldRc0lHeGxibWQwYUNrN1hHNGdJSFpoY2lCbGJtUWdQU0JoVEdWdUlENGdNaUEvSUdGeVozVnRaVzUwYzFzeVhTQTZJSFZ1WkdWbWFXNWxaRHRjYmlBZ2RtRnlJR1Z1WkZCdmN5QTlJR1Z1WkNBOVBUMGdkVzVrWldacGJtVmtJRDhnYkdWdVozUm9JRG9nZEc5QlluTnZiSFYwWlVsdVpHVjRLR1Z1WkN3Z2JHVnVaM1JvS1R0Y2JpQWdkMmhwYkdVZ0tHVnVaRkJ2Y3lBK0lHbHVaR1Y0S1NCUFcybHVaR1Y0S3l0ZElEMGdkbUZzZFdVN1hHNGdJSEpsZEhWeWJpQlBPMXh1ZlR0Y2JpSXNJblpoY2lCbWIzSlBaaUE5SUhKbGNYVnBjbVVvSnk0dlgyWnZjaTF2WmljcE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hwZEdWeUxDQkpWRVZTUVZSUFVpa2dlMXh1SUNCMllYSWdjbVZ6ZFd4MElEMGdXMTA3WEc0Z0lHWnZjazltS0dsMFpYSXNJR1poYkhObExDQnlaWE4xYkhRdWNIVnphQ3dnY21WemRXeDBMQ0JKVkVWU1FWUlBVaWs3WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc1OU8xeHVJaXdpTHk4Z1ptRnNjMlVnTFQ0Z1FYSnlZWGtqYVc1a1pYaFBabHh1THk4Z2RISjFaU0FnTFQ0Z1FYSnlZWGtqYVc1amJIVmtaWE5jYm5aaGNpQjBiMGxQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXBiMkpxWldOMEp5azdYRzUyWVhJZ2RHOU1aVzVuZEdnZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxc1pXNW5kR2duS1R0Y2JuWmhjaUIwYjBGaWMyOXNkWFJsU1c1a1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MWhZbk52YkhWMFpTMXBibVJsZUNjcE8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9TVk5mU1U1RFRGVkVSVk1wSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlDZ2tkR2hwY3l3Z1pXd3NJR1p5YjIxSmJtUmxlQ2tnZTF4dUlDQWdJSFpoY2lCUElEMGdkRzlKVDJKcVpXTjBLQ1IwYUdsektUdGNiaUFnSUNCMllYSWdiR1Z1WjNSb0lEMGdkRzlNWlc1bmRHZ29UeTVzWlc1bmRHZ3BPMXh1SUNBZ0lIWmhjaUJwYm1SbGVDQTlJSFJ2UVdKemIyeDFkR1ZKYm1SbGVDaG1jbTl0U1c1a1pYZ3NJR3hsYm1kMGFDazdYRzRnSUNBZ2RtRnlJSFpoYkhWbE8xeHVJQ0FnSUM4dklFRnljbUY1STJsdVkyeDFaR1Z6SUhWelpYTWdVMkZ0WlZaaGJIVmxXbVZ5YnlCbGNYVmhiR2wwZVNCaGJHZHZjbWwwYUcxY2JpQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnYm04dGMyVnNaaTFqYjIxd1lYSmxYRzRnSUNBZ2FXWWdLRWxUWDBsT1EweFZSRVZUSUNZbUlHVnNJQ0U5SUdWc0tTQjNhR2xzWlNBb2JHVnVaM1JvSUQ0Z2FXNWtaWGdwSUh0Y2JpQWdJQ0FnSUhaaGJIVmxJRDBnVDF0cGJtUmxlQ3NyWFR0Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MXpaV3htTFdOdmJYQmhjbVZjYmlBZ0lDQWdJR2xtSUNoMllXeDFaU0FoUFNCMllXeDFaU2tnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnTHk4Z1FYSnlZWGtqYVc1a1pYaFBaaUJwWjI1dmNtVnpJR2h2YkdWekxDQkJjbkpoZVNOcGJtTnNkV1JsY3lBdElHNXZkRnh1SUNBZ0lIMGdaV3h6WlNCbWIzSWdLRHRzWlc1bmRHZ2dQaUJwYm1SbGVEc2dhVzVrWlhnckt5a2dhV1lnS0VsVFgwbE9RMHhWUkVWVElIeDhJR2x1WkdWNElHbHVJRThwSUh0Y2JpQWdJQ0FnSUdsbUlDaFBXMmx1WkdWNFhTQTlQVDBnWld3cElISmxkSFZ5YmlCSlUxOUpUa05NVlVSRlV5QjhmQ0JwYm1SbGVDQjhmQ0F3TzF4dUlDQWdJSDBnY21WMGRYSnVJQ0ZKVTE5SlRrTk1WVVJGVXlBbUppQXRNVHRjYmlBZ2ZUdGNibjA3WEc0aUxDSXZMeUF3SUMwK0lFRnljbUY1STJadmNrVmhZMmhjYmk4dklERWdMVDRnUVhKeVlYa2piV0Z3WEc0dkx5QXlJQzArSUVGeWNtRjVJMlpwYkhSbGNseHVMeThnTXlBdFBpQkJjbkpoZVNOemIyMWxYRzR2THlBMElDMCtJRUZ5Y21GNUkyVjJaWEo1WEc0dkx5QTFJQzArSUVGeWNtRjVJMlpwYm1SY2JpOHZJRFlnTFQ0Z1FYSnlZWGtqWm1sdVpFbHVaR1Y0WEc1MllYSWdZM1I0SUQwZ2NtVnhkV2x5WlNnbkxpOWZZM1I0SnlrN1hHNTJZWElnU1U5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgybHZZbXBsWTNRbktUdGNiblpoY2lCMGIwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFc5aWFtVmpkQ2NwTzF4dWRtRnlJSFJ2VEdWdVozUm9JRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRiR1Z1WjNSb0p5azdYRzUyWVhJZ1lYTmpJRDBnY21WeGRXbHlaU2duTGk5ZllYSnlZWGt0YzNCbFkybGxjeTFqY21WaGRHVW5LVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0ZSWlVFVXNJQ1JqY21WaGRHVXBJSHRjYmlBZ2RtRnlJRWxUWDAxQlVDQTlJRlJaVUVVZ1BUMGdNVHRjYmlBZ2RtRnlJRWxUWDBaSlRGUkZVaUE5SUZSWlVFVWdQVDBnTWp0Y2JpQWdkbUZ5SUVsVFgxTlBUVVVnUFNCVVdWQkZJRDA5SURNN1hHNGdJSFpoY2lCSlUxOUZWa1ZTV1NBOUlGUlpVRVVnUFQwZ05EdGNiaUFnZG1GeUlFbFRYMFpKVGtSZlNVNUVSVmdnUFNCVVdWQkZJRDA5SURZN1hHNGdJSFpoY2lCT1QxOUlUMHhGVXlBOUlGUlpVRVVnUFQwZ05TQjhmQ0JKVTE5R1NVNUVYMGxPUkVWWU8xeHVJQ0IyWVhJZ1kzSmxZWFJsSUQwZ0pHTnlaV0YwWlNCOGZDQmhjMk03WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb0pIUm9hWE1zSUdOaGJHeGlZV05yWm00c0lIUm9ZWFFwSUh0Y2JpQWdJQ0IyWVhJZ1R5QTlJSFJ2VDJKcVpXTjBLQ1IwYUdsektUdGNiaUFnSUNCMllYSWdjMlZzWmlBOUlFbFBZbXBsWTNRb1R5azdYRzRnSUNBZ2RtRnlJR1lnUFNCamRIZ29ZMkZzYkdKaFkydG1iaXdnZEdoaGRDd2dNeWs3WEc0Z0lDQWdkbUZ5SUd4bGJtZDBhQ0E5SUhSdlRHVnVaM1JvS0hObGJHWXViR1Z1WjNSb0tUdGNiaUFnSUNCMllYSWdhVzVrWlhnZ1BTQXdPMXh1SUNBZ0lIWmhjaUJ5WlhOMWJIUWdQU0JKVTE5TlFWQWdQeUJqY21WaGRHVW9KSFJvYVhNc0lHeGxibWQwYUNrZ09pQkpVMTlHU1V4VVJWSWdQeUJqY21WaGRHVW9KSFJvYVhNc0lEQXBJRG9nZFc1a1pXWnBibVZrTzF4dUlDQWdJSFpoY2lCMllXd3NJSEpsY3p0Y2JpQWdJQ0JtYjNJZ0tEdHNaVzVuZEdnZ1BpQnBibVJsZURzZ2FXNWtaWGdyS3lrZ2FXWWdLRTVQWDBoUFRFVlRJSHg4SUdsdVpHVjRJR2x1SUhObGJHWXBJSHRjYmlBZ0lDQWdJSFpoYkNBOUlITmxiR1piYVc1a1pYaGRPMXh1SUNBZ0lDQWdjbVZ6SUQwZ1ppaDJZV3dzSUdsdVpHVjRMQ0JQS1R0Y2JpQWdJQ0FnSUdsbUlDaFVXVkJGS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hKVTE5TlFWQXBJSEpsYzNWc2RGdHBibVJsZUYwZ1BTQnlaWE03SUNBZ0x5OGdiV0Z3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hKbGN5a2djM2RwZEdOb0lDaFVXVkJGS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNBek9pQnlaWFIxY200Z2RISjFaVHNnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjMjl0WlZ4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnTlRvZ2NtVjBkWEp1SUhaaGJEc2dJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklHWnBibVJjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRFk2SUhKbGRIVnliaUJwYm1SbGVEc2dJQ0FnSUNBZ0lDQWdJQ0F2THlCbWFXNWtTVzVrWlhoY2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSURJNklISmxjM1ZzZEM1d2RYTm9LSFpoYkNrN0lDQWdJQ0FnSUNBdkx5Qm1hV3gwWlhKY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaEpVMTlGVmtWU1dTa2djbVYwZFhKdUlHWmhiSE5sT3lBdkx5QmxkbVZ5ZVZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1NWTmZSa2xPUkY5SlRrUkZXQ0EvSUMweElEb2dTVk5mVTA5TlJTQjhmQ0JKVTE5RlZrVlNXU0EvSUVsVFgwVldSVkpaSURvZ2NtVnpkV3gwTzF4dUlDQjlPMXh1ZlR0Y2JpSXNJblpoY2lCaFJuVnVZM1JwYjI0Z1BTQnlaWEYxYVhKbEtDY3VMMTloTFdaMWJtTjBhVzl1SnlrN1hHNTJZWElnZEc5UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTF2WW1wbFkzUW5LVHRjYm5aaGNpQkpUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmYVc5aWFtVmpkQ2NwTzF4dWRtRnlJSFJ2VEdWdVozUm9JRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRiR1Z1WjNSb0p5azdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0hSb1lYUXNJR05oYkd4aVlXTnJabTRzSUdGTVpXNHNJRzFsYlc4c0lHbHpVbWxuYUhRcElIdGNiaUFnWVVaMWJtTjBhVzl1S0dOaGJHeGlZV05yWm00cE8xeHVJQ0IyWVhJZ1R5QTlJSFJ2VDJKcVpXTjBLSFJvWVhRcE8xeHVJQ0IyWVhJZ2MyVnNaaUE5SUVsUFltcGxZM1FvVHlrN1hHNGdJSFpoY2lCc1pXNW5kR2dnUFNCMGIweGxibWQwYUNoUExteGxibWQwYUNrN1hHNGdJSFpoY2lCcGJtUmxlQ0E5SUdselVtbG5hSFFnUHlCc1pXNW5kR2dnTFNBeElEb2dNRHRjYmlBZ2RtRnlJR2tnUFNCcGMxSnBaMmgwSUQ4Z0xURWdPaUF4TzF4dUlDQnBaaUFvWVV4bGJpQThJRElwSUdadmNpQW9PenNwSUh0Y2JpQWdJQ0JwWmlBb2FXNWtaWGdnYVc0Z2MyVnNaaWtnZTF4dUlDQWdJQ0FnYldWdGJ5QTlJSE5sYkdaYmFXNWtaWGhkTzF4dUlDQWdJQ0FnYVc1a1pYZ2dLejBnYVR0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCcGJtUmxlQ0FyUFNCcE8xeHVJQ0FnSUdsbUlDaHBjMUpwWjJoMElEOGdhVzVrWlhnZ1BDQXdJRG9nYkdWdVozUm9JRHc5SUdsdVpHVjRLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QlVlWEJsUlhKeWIzSW9KMUpsWkhWalpTQnZaaUJsYlhCMGVTQmhjbkpoZVNCM2FYUm9JRzV2SUdsdWFYUnBZV3dnZG1Gc2RXVW5LVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdabTl5SUNnN2FYTlNhV2RvZENBL0lHbHVaR1Y0SUQ0OUlEQWdPaUJzWlc1bmRHZ2dQaUJwYm1SbGVEc2dhVzVrWlhnZ0t6MGdhU2tnYVdZZ0tHbHVaR1Y0SUdsdUlITmxiR1lwSUh0Y2JpQWdJQ0J0WlcxdklEMGdZMkZzYkdKaFkydG1iaWh0WlcxdkxDQnpaV3htVzJsdVpHVjRYU3dnYVc1a1pYZ3NJRThwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ0Wlcxdk8xeHVmVHRjYmlJc0luWmhjaUJwYzA5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgybHpMVzlpYW1WamRDY3BPMXh1ZG1GeUlHbHpRWEp5WVhrZ1BTQnlaWEYxYVhKbEtDY3VMMTlwY3kxaGNuSmhlU2NwTzF4dWRtRnlJRk5RUlVOSlJWTWdQU0J5WlhGMWFYSmxLQ2N1TDE5M2EzTW5LU2duYzNCbFkybGxjeWNwTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHZjbWxuYVc1aGJDa2dlMXh1SUNCMllYSWdRenRjYmlBZ2FXWWdLR2x6UVhKeVlYa29iM0pwWjJsdVlXd3BLU0I3WEc0Z0lDQWdReUE5SUc5eWFXZHBibUZzTG1OdmJuTjBjblZqZEc5eU8xeHVJQ0FnSUM4dklHTnliM056TFhKbFlXeHRJR1poYkd4aVlXTnJYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQkRJRDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdLRU1nUFQwOUlFRnljbUY1SUh4OElHbHpRWEp5WVhrb1F5NXdjbTkwYjNSNWNHVXBLU2tnUXlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCcFppQW9hWE5QWW1wbFkzUW9ReWtwSUh0Y2JpQWdJQ0FnSUVNZ1BTQkRXMU5RUlVOSlJWTmRPMXh1SUNBZ0lDQWdhV1lnS0VNZ1BUMDlJRzUxYkd3cElFTWdQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdmVnh1SUNCOUlISmxkSFZ5YmlCRElEMDlQU0IxYm1SbFptbHVaV1FnUHlCQmNuSmhlU0E2SUVNN1hHNTlPMXh1SWl3aUx5OGdPUzQwTGpJdU15QkJjbkpoZVZOd1pXTnBaWE5EY21WaGRHVW9iM0pwWjJsdVlXeEJjbkpoZVN3Z2JHVnVaM1JvS1Z4dWRtRnlJSE53WldOcFpYTkRiMjV6ZEhKMVkzUnZjaUE5SUhKbGNYVnBjbVVvSnk0dlgyRnljbUY1TFhOd1pXTnBaWE10WTI5dWMzUnlkV04wYjNJbktUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYjNKcFoybHVZV3dzSUd4bGJtZDBhQ2tnZTF4dUlDQnlaWFIxY200Z2JtVjNJQ2h6Y0dWamFXVnpRMjl1YzNSeWRXTjBiM0lvYjNKcFoybHVZV3dwS1Noc1pXNW5kR2dwTzF4dWZUdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNiblpoY2lCaFJuVnVZM1JwYjI0Z1BTQnlaWEYxYVhKbEtDY3VMMTloTFdaMWJtTjBhVzl1SnlrN1hHNTJZWElnYVhOUFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOXBjeTF2WW1wbFkzUW5LVHRjYm5aaGNpQnBiblp2YTJVZ1BTQnlaWEYxYVhKbEtDY3VMMTlwYm5admEyVW5LVHRjYm5aaGNpQmhjbkpoZVZOc2FXTmxJRDBnVzEwdWMyeHBZMlU3WEc1MllYSWdabUZqZEc5eWFXVnpJRDBnZTMwN1hHNWNiblpoY2lCamIyNXpkSEoxWTNRZ1BTQm1kVzVqZEdsdmJpQW9SaXdnYkdWdUxDQmhjbWR6S1NCN1hHNGdJR2xtSUNnaEtHeGxiaUJwYmlCbVlXTjBiM0pwWlhNcEtTQjdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2JpQTlJRnRkTENCcElEMGdNRHNnYVNBOElHeGxianNnYVNzcktTQnVXMmxkSUQwZ0oyRmJKeUFySUdrZ0t5QW5YU2M3WEc0Z0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRzV2TFc1bGR5MW1kVzVqWEc0Z0lDQWdabUZqZEc5eWFXVnpXMnhsYmwwZ1BTQkdkVzVqZEdsdmJpZ25SaXhoSnl3Z0ozSmxkSFZ5YmlCdVpYY2dSaWduSUNzZ2JpNXFiMmx1S0Njc0p5a2dLeUFuS1NjcE8xeHVJQ0I5SUhKbGRIVnliaUJtWVdOMGIzSnBaWE5iYkdWdVhTaEdMQ0JoY21kektUdGNibjA3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1JuVnVZM1JwYjI0dVltbHVaQ0I4ZkNCbWRXNWpkR2x2YmlCaWFXNWtLSFJvWVhRZ0x5b2dMQ0F1TGk1aGNtZHpJQ292S1NCN1hHNGdJSFpoY2lCbWJpQTlJR0ZHZFc1amRHbHZiaWgwYUdsektUdGNiaUFnZG1GeUlIQmhjblJCY21keklEMGdZWEp5WVhsVGJHbGpaUzVqWVd4c0tHRnlaM1Z0Wlc1MGN5d2dNU2s3WEc0Z0lIWmhjaUJpYjNWdVpDQTlJR1oxYm1OMGFXOXVJQ2d2S2lCaGNtZHpMaTR1SUNvdktTQjdYRzRnSUNBZ2RtRnlJR0Z5WjNNZ1BTQndZWEowUVhKbmN5NWpiMjVqWVhRb1lYSnlZWGxUYkdsalpTNWpZV3hzS0dGeVozVnRaVzUwY3lrcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdseklHbHVjM1JoYm1ObGIyWWdZbTkxYm1RZ1B5QmpiMjV6ZEhKMVkzUW9abTRzSUdGeVozTXViR1Z1WjNSb0xDQmhjbWR6S1NBNklHbHVkbTlyWlNobWJpd2dZWEpuY3l3Z2RHaGhkQ2s3WEc0Z0lIMDdYRzRnSUdsbUlDaHBjMDlpYW1WamRDaG1iaTV3Y205MGIzUjVjR1VwS1NCaWIzVnVaQzV3Y205MGIzUjVjR1VnUFNCbWJpNXdjbTkwYjNSNWNHVTdYRzRnSUhKbGRIVnliaUJpYjNWdVpEdGNibjA3WEc0aUxDSXZMeUJuWlhSMGFXNW5JSFJoWnlCbWNtOXRJREU1TGpFdU15NDJJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY29LVnh1ZG1GeUlHTnZaaUE5SUhKbGNYVnBjbVVvSnk0dlgyTnZaaWNwTzF4dWRtRnlJRlJCUnlBOUlISmxjWFZwY21Vb0p5NHZYM2RyY3ljcEtDZDBiMU4wY21sdVoxUmhaeWNwTzF4dUx5OGdSVk16SUhkeWIyNW5JR2hsY21WY2JuWmhjaUJCVWtjZ1BTQmpiMllvWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z1lYSm5kVzFsYm5Sek95QjlLQ2twSUQwOUlDZEJjbWQxYldWdWRITW5PMXh1WEc0dkx5Qm1ZV3hzWW1GamF5Qm1iM0lnU1VVeE1TQlRZM0pwY0hRZ1FXTmpaWE56SUVSbGJtbGxaQ0JsY25KdmNseHVkbUZ5SUhSeWVVZGxkQ0E5SUdaMWJtTjBhVzl1SUNocGRDd2dhMlY1S1NCN1hHNGdJSFJ5ZVNCN1hHNGdJQ0FnY21WMGRYSnVJR2wwVzJ0bGVWMDdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIc2dMeW9nWlcxd2RIa2dLaThnZlZ4dWZUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYVhRcElIdGNiaUFnZG1GeUlFOHNJRlFzSUVJN1hHNGdJSEpsZEhWeWJpQnBkQ0E5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdKMVZ1WkdWbWFXNWxaQ2NnT2lCcGRDQTlQVDBnYm5Wc2JDQS9JQ2RPZFd4c0oxeHVJQ0FnSUM4dklFQkFkRzlUZEhKcGJtZFVZV2NnWTJGelpWeHVJQ0FnSURvZ2RIbHdaVzltSUNoVUlEMGdkSEo1UjJWMEtFOGdQU0JQWW1wbFkzUW9hWFFwTENCVVFVY3BLU0E5UFNBbmMzUnlhVzVuSnlBL0lGUmNiaUFnSUNBdkx5QmlkV2xzZEdsdVZHRm5JR05oYzJWY2JpQWdJQ0E2SUVGU1J5QS9JR052WmloUEtWeHVJQ0FnSUM4dklFVlRNeUJoY21kMWJXVnVkSE1nWm1Gc2JHSmhZMnRjYmlBZ0lDQTZJQ2hDSUQwZ1kyOW1LRThwS1NBOVBTQW5UMkpxWldOMEp5QW1KaUIwZVhCbGIyWWdUeTVqWVd4c1pXVWdQVDBnSjJaMWJtTjBhVzl1SnlBL0lDZEJjbWQxYldWdWRITW5JRG9nUWp0Y2JuMDdYRzRpTENKMllYSWdkRzlUZEhKcGJtY2dQU0I3ZlM1MGIxTjBjbWx1Wnp0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9hWFFwSUh0Y2JpQWdjbVYwZFhKdUlIUnZVM1J5YVc1bkxtTmhiR3dvYVhRcExuTnNhV05sS0Rnc0lDMHhLVHRjYm4wN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNTJZWElnWkZBZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRaSEFuS1M1bU8xeHVkbUZ5SUdOeVpXRjBaU0E5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxamNtVmhkR1VuS1R0Y2JuWmhjaUJ5WldSbFptbHVaVUZzYkNBOUlISmxjWFZwY21Vb0p5NHZYM0psWkdWbWFXNWxMV0ZzYkNjcE8xeHVkbUZ5SUdOMGVDQTlJSEpsY1hWcGNtVW9KeTR2WDJOMGVDY3BPMXh1ZG1GeUlHRnVTVzV6ZEdGdVkyVWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGJpMXBibk4wWVc1alpTY3BPMXh1ZG1GeUlHWnZjazltSUQwZ2NtVnhkV2x5WlNnbkxpOWZabTl5TFc5bUp5azdYRzUyWVhJZ0pHbDBaWEpFWldacGJtVWdQU0J5WlhGMWFYSmxLQ2N1TDE5cGRHVnlMV1JsWm1sdVpTY3BPMXh1ZG1GeUlITjBaWEFnUFNCeVpYRjFhWEpsS0NjdUwxOXBkR1Z5TFhOMFpYQW5LVHRjYm5aaGNpQnpaWFJUY0dWamFXVnpJRDBnY21WeGRXbHlaU2duTGk5ZmMyVjBMWE53WldOcFpYTW5LVHRjYm5aaGNpQkVSVk5EVWtsUVZFOVNVeUE5SUhKbGNYVnBjbVVvSnk0dlgyUmxjMk55YVhCMGIzSnpKeWs3WEc1MllYSWdabUZ6ZEV0bGVTQTlJSEpsY1hWcGNtVW9KeTR2WDIxbGRHRW5LUzVtWVhOMFMyVjVPMXh1ZG1GeUlIWmhiR2xrWVhSbElEMGdjbVZ4ZFdseVpTZ25MaTlmZG1Gc2FXUmhkR1V0WTI5c2JHVmpkR2x2YmljcE8xeHVkbUZ5SUZOSldrVWdQU0JFUlZORFVrbFFWRTlTVXlBL0lDZGZjeWNnT2lBbmMybDZaU2M3WEc1Y2JuWmhjaUJuWlhSRmJuUnllU0E5SUdaMWJtTjBhVzl1SUNoMGFHRjBMQ0JyWlhrcElIdGNiaUFnTHk4Z1ptRnpkQ0JqWVhObFhHNGdJSFpoY2lCcGJtUmxlQ0E5SUdaaGMzUkxaWGtvYTJWNUtUdGNiaUFnZG1GeUlHVnVkSEo1TzF4dUlDQnBaaUFvYVc1a1pYZ2dJVDA5SUNkR0p5a2djbVYwZFhKdUlIUm9ZWFF1WDJsYmFXNWtaWGhkTzF4dUlDQXZMeUJtY205NlpXNGdiMkpxWldOMElHTmhjMlZjYmlBZ1ptOXlJQ2hsYm5SeWVTQTlJSFJvWVhRdVgyWTdJR1Z1ZEhKNU95QmxiblJ5ZVNBOUlHVnVkSEo1TG00cElIdGNiaUFnSUNCcFppQW9aVzUwY25rdWF5QTlQU0JyWlhrcElISmxkSFZ5YmlCbGJuUnllVHRjYmlBZ2ZWeHVmVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCN1hHNGdJR2RsZEVOdmJuTjBjblZqZEc5eU9pQm1kVzVqZEdsdmJpQW9kM0poY0hCbGNpd2dUa0ZOUlN3Z1NWTmZUVUZRTENCQlJFUkZVaWtnZTF4dUlDQWdJSFpoY2lCRElEMGdkM0poY0hCbGNpaG1kVzVqZEdsdmJpQW9kR2hoZEN3Z2FYUmxjbUZpYkdVcElIdGNiaUFnSUNBZ0lHRnVTVzV6ZEdGdVkyVW9kR2hoZEN3Z1F5d2dUa0ZOUlN3Z0oxOXBKeWs3WEc0Z0lDQWdJQ0IwYUdGMExsOTBJRDBnVGtGTlJUc2dJQ0FnSUNBZ0lDQXZMeUJqYjJ4c1pXTjBhVzl1SUhSNWNHVmNiaUFnSUNBZ0lIUm9ZWFF1WDJrZ1BTQmpjbVZoZEdVb2JuVnNiQ2s3SUM4dklHbHVaR1Y0WEc0Z0lDQWdJQ0IwYUdGMExsOW1JRDBnZFc1a1pXWnBibVZrT3lBZ0lDQXZMeUJtYVhKemRDQmxiblJ5ZVZ4dUlDQWdJQ0FnZEdoaGRDNWZiQ0E5SUhWdVpHVm1hVzVsWkRzZ0lDQWdMeThnYkdGemRDQmxiblJ5ZVZ4dUlDQWdJQ0FnZEdoaGRGdFRTVnBGWFNBOUlEQTdJQ0FnSUNBZ0lDQWdMeThnYzJsNlpWeHVJQ0FnSUNBZ2FXWWdLR2wwWlhKaFlteGxJQ0U5SUhWdVpHVm1hVzVsWkNrZ1ptOXlUMllvYVhSbGNtRmliR1VzSUVsVFgwMUJVQ3dnZEdoaGRGdEJSRVJGVWwwc0lIUm9ZWFFwTzF4dUlDQWdJSDBwTzF4dUlDQWdJSEpsWkdWbWFXNWxRV3hzS0VNdWNISnZkRzkwZVhCbExDQjdYRzRnSUNBZ0lDQXZMeUF5TXk0eExqTXVNU0JOWVhBdWNISnZkRzkwZVhCbExtTnNaV0Z5S0NsY2JpQWdJQ0FnSUM4dklESXpMakl1TXk0eUlGTmxkQzV3Y205MGIzUjVjR1V1WTJ4bFlYSW9LVnh1SUNBZ0lDQWdZMnhsWVhJNklHWjFibU4wYVc5dUlHTnNaV0Z5S0NrZ2UxeHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQjBhR0YwSUQwZ2RtRnNhV1JoZEdVb2RHaHBjeXdnVGtGTlJTa3NJR1JoZEdFZ1BTQjBhR0YwTGw5cExDQmxiblJ5ZVNBOUlIUm9ZWFF1WDJZN0lHVnVkSEo1T3lCbGJuUnllU0E5SUdWdWRISjVMbTRwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmxiblJ5ZVM1eUlEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWlc1MGNua3VjQ2tnWlc1MGNua3VjQ0E5SUdWdWRISjVMbkF1YmlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lDQWdJQ0JrWld4bGRHVWdaR0YwWVZ0bGJuUnllUzVwWFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjBhR0YwTGw5bUlEMGdkR2hoZEM1ZmJDQTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJQ0FnZEdoaGRGdFRTVnBGWFNBOUlEQTdYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdMeThnTWpNdU1TNHpMak1nVFdGd0xuQnliM1J2ZEhsd1pTNWtaV3hsZEdVb2EyVjVLVnh1SUNBZ0lDQWdMeThnTWpNdU1pNHpMalFnVTJWMExuQnliM1J2ZEhsd1pTNWtaV3hsZEdVb2RtRnNkV1VwWEc0Z0lDQWdJQ0FuWkdWc1pYUmxKem9nWm5WdVkzUnBiMjRnS0d0bGVTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2RHaGhkQ0E5SUhaaGJHbGtZWFJsS0hSb2FYTXNJRTVCVFVVcE8xeHVJQ0FnSUNBZ0lDQjJZWElnWlc1MGNua2dQU0JuWlhSRmJuUnllU2gwYUdGMExDQnJaWGtwTzF4dUlDQWdJQ0FnSUNCcFppQW9aVzUwY25rcElIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2JtVjRkQ0E5SUdWdWRISjVMbTQ3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEJ5WlhZZ1BTQmxiblJ5ZVM1d08xeHVJQ0FnSUNBZ0lDQWdJR1JsYkdWMFpTQjBhR0YwTGw5cFcyVnVkSEo1TG1sZE8xeHVJQ0FnSUNBZ0lDQWdJR1Z1ZEhKNUxuSWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNod2NtVjJLU0J3Y21WMkxtNGdQU0J1WlhoME8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNodVpYaDBLU0J1WlhoMExuQWdQU0J3Y21WMk8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHRjBMbDltSUQwOUlHVnVkSEo1S1NCMGFHRjBMbDltSUQwZ2JtVjRkRHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kR2hoZEM1ZmJDQTlQU0JsYm5SeWVTa2dkR2hoZEM1ZmJDQTlJSEJ5WlhZN1hHNGdJQ0FnSUNBZ0lDQWdkR2hoZEZ0VFNWcEZYUzB0TzF4dUlDQWdJQ0FnSUNCOUlISmxkSFZ5YmlBaElXVnVkSEo1TzF4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUM4dklESXpMakl1TXk0MklGTmxkQzV3Y205MGIzUjVjR1V1Wm05eVJXRmphQ2hqWVd4c1ltRmphMlp1TENCMGFHbHpRWEpuSUQwZ2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUNBZ0x5OGdNak11TVM0ekxqVWdUV0Z3TG5CeWIzUnZkSGx3WlM1bWIzSkZZV05vS0dOaGJHeGlZV05yWm00c0lIUm9hWE5CY21jZ1BTQjFibVJsWm1sdVpXUXBYRzRnSUNBZ0lDQm1iM0pGWVdOb09pQm1kVzVqZEdsdmJpQm1iM0pGWVdOb0tHTmhiR3hpWVdOclptNGdMeW9nTENCMGFHRjBJRDBnZFc1a1pXWnBibVZrSUNvdktTQjdYRzRnSUNBZ0lDQWdJSFpoYkdsa1lYUmxLSFJvYVhNc0lFNUJUVVVwTzF4dUlDQWdJQ0FnSUNCMllYSWdaaUE5SUdOMGVDaGpZV3hzWW1GamEyWnVMQ0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTVNBL0lHRnlaM1Z0Wlc1MGMxc3hYU0E2SUhWdVpHVm1hVzVsWkN3Z015azdYRzRnSUNBZ0lDQWdJSFpoY2lCbGJuUnllVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR1Z1ZEhKNUlEMGdaVzUwY25rZ1B5QmxiblJ5ZVM1dUlEb2dkR2hwY3k1Zlppa2dlMXh1SUNBZ0lDQWdJQ0FnSUdZb1pXNTBjbmt1ZGl3Z1pXNTBjbmt1YXl3Z2RHaHBjeWs3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdjbVYyWlhKMElIUnZJSFJvWlNCc1lYTjBJR1Y0YVhOMGFXNW5JR1Z1ZEhKNVhHNGdJQ0FnSUNBZ0lDQWdkMmhwYkdVZ0tHVnVkSEo1SUNZbUlHVnVkSEo1TG5JcElHVnVkSEo1SUQwZ1pXNTBjbmt1Y0R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDOHZJREl6TGpFdU15NDNJRTFoY0M1d2NtOTBiM1I1Y0dVdWFHRnpLR3RsZVNsY2JpQWdJQ0FnSUM4dklESXpMakl1TXk0M0lGTmxkQzV3Y205MGIzUjVjR1V1YUdGektIWmhiSFZsS1Z4dUlDQWdJQ0FnYUdGek9pQm1kVzVqZEdsdmJpQm9ZWE1vYTJWNUtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQWhJV2RsZEVWdWRISjVLSFpoYkdsa1lYUmxLSFJvYVhNc0lFNUJUVVVwTENCclpYa3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHBPMXh1SUNBZ0lHbG1JQ2hFUlZORFVrbFFWRTlTVXlrZ1pGQW9ReTV3Y205MGIzUjVjR1VzSUNkemFYcGxKeXdnZTF4dUlDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4cFpHRjBaU2gwYUdsekxDQk9RVTFGS1Z0VFNWcEZYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlLVHRjYmlBZ0lDQnlaWFIxY200Z1F6dGNiaUFnZlN4Y2JpQWdaR1ZtT2lCbWRXNWpkR2x2YmlBb2RHaGhkQ3dnYTJWNUxDQjJZV3gxWlNrZ2UxeHVJQ0FnSUhaaGNpQmxiblJ5ZVNBOUlHZGxkRVZ1ZEhKNUtIUm9ZWFFzSUd0bGVTazdYRzRnSUNBZ2RtRnlJSEJ5WlhZc0lHbHVaR1Y0TzF4dUlDQWdJQzh2SUdOb1lXNW5aU0JsZUdsemRHbHVaeUJsYm5SeWVWeHVJQ0FnSUdsbUlDaGxiblJ5ZVNrZ2UxeHVJQ0FnSUNBZ1pXNTBjbmt1ZGlBOUlIWmhiSFZsTzF4dUlDQWdJQzh2SUdOeVpXRjBaU0J1WlhjZ1pXNTBjbmxjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaGhkQzVmYkNBOUlHVnVkSEo1SUQwZ2UxeHVJQ0FnSUNBZ0lDQnBPaUJwYm1SbGVDQTlJR1poYzNSTFpYa29hMlY1TENCMGNuVmxLU3dnTHk4Z1BDMGdhVzVrWlhoY2JpQWdJQ0FnSUNBZ2F6b2dhMlY1TENBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUR3dElHdGxlVnh1SUNBZ0lDQWdJQ0IyT2lCMllXeDFaU3dnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdQQzBnZG1Gc2RXVmNiaUFnSUNBZ0lDQWdjRG9nY0hKbGRpQTlJSFJvWVhRdVgyd3NJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklEd3RJSEJ5WlhacGIzVnpJR1Z1ZEhKNVhHNGdJQ0FnSUNBZ0lHNDZJSFZ1WkdWbWFXNWxaQ3dnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlBOExTQnVaWGgwSUdWdWRISjVYRzRnSUNBZ0lDQWdJSEk2SUdaaGJITmxJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QThMU0J5WlcxdmRtVmtYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdhV1lnS0NGMGFHRjBMbDltS1NCMGFHRjBMbDltSUQwZ1pXNTBjbms3WEc0Z0lDQWdJQ0JwWmlBb2NISmxkaWtnY0hKbGRpNXVJRDBnWlc1MGNuazdYRzRnSUNBZ0lDQjBhR0YwVzFOSldrVmRLeXM3WEc0Z0lDQWdJQ0F2THlCaFpHUWdkRzhnYVc1a1pYaGNiaUFnSUNBZ0lHbG1JQ2hwYm1SbGVDQWhQVDBnSjBZbktTQjBhR0YwTGw5cFcybHVaR1Y0WFNBOUlHVnVkSEo1TzF4dUlDQWdJSDBnY21WMGRYSnVJSFJvWVhRN1hHNGdJSDBzWEc0Z0lHZGxkRVZ1ZEhKNU9pQm5aWFJGYm5SeWVTeGNiaUFnYzJWMFUzUnliMjVuT2lCbWRXNWpkR2x2YmlBb1F5d2dUa0ZOUlN3Z1NWTmZUVUZRS1NCN1hHNGdJQ0FnTHk4Z1lXUmtJQzVyWlhsekxDQXVkbUZzZFdWekxDQXVaVzUwY21sbGN5d2dXMEJBYVhSbGNtRjBiM0pkWEc0Z0lDQWdMeThnTWpNdU1TNHpMalFzSURJekxqRXVNeTQ0TENBeU15NHhMak11TVRFc0lESXpMakV1TXk0eE1pd2dNak11TWk0ekxqVXNJREl6TGpJdU15NDRMQ0F5TXk0eUxqTXVNVEFzSURJekxqSXVNeTR4TVZ4dUlDQWdJQ1JwZEdWeVJHVm1hVzVsS0VNc0lFNUJUVVVzSUdaMWJtTjBhVzl1SUNocGRHVnlZWFJsWkN3Z2EybHVaQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NWZkQ0E5SUhaaGJHbGtZWFJsS0dsMFpYSmhkR1ZrTENCT1FVMUZLVHNnTHk4Z2RHRnlaMlYwWEc0Z0lDQWdJQ0IwYUdsekxsOXJJRDBnYTJsdVpEc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCcmFXNWtYRzRnSUNBZ0lDQjBhR2x6TGw5c0lEMGdkVzVrWldacGJtVmtPeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJ3Y21WMmFXOTFjMXh1SUNBZ0lIMHNJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUhaaGNpQjBhR0YwSUQwZ2RHaHBjenRjYmlBZ0lDQWdJSFpoY2lCcmFXNWtJRDBnZEdoaGRDNWZhenRjYmlBZ0lDQWdJSFpoY2lCbGJuUnllU0E5SUhSb1lYUXVYMnc3WEc0Z0lDQWdJQ0F2THlCeVpYWmxjblFnZEc4Z2RHaGxJR3hoYzNRZ1pYaHBjM1JwYm1jZ1pXNTBjbmxjYmlBZ0lDQWdJSGRvYVd4bElDaGxiblJ5ZVNBbUppQmxiblJ5ZVM1eUtTQmxiblJ5ZVNBOUlHVnVkSEo1TG5BN1hHNGdJQ0FnSUNBdkx5Qm5aWFFnYm1WNGRDQmxiblJ5ZVZ4dUlDQWdJQ0FnYVdZZ0tDRjBhR0YwTGw5MElIeDhJQ0VvZEdoaGRDNWZiQ0E5SUdWdWRISjVJRDBnWlc1MGNua2dQeUJsYm5SeWVTNXVJRG9nZEdoaGRDNWZkQzVmWmlrcElIdGNiaUFnSUNBZ0lDQWdMeThnYjNJZ1ptbHVhWE5vSUhSb1pTQnBkR1Z5WVhScGIyNWNiaUFnSUNBZ0lDQWdkR2hoZEM1ZmRDQTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSE4wWlhBb01TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQXZMeUJ5WlhSMWNtNGdjM1JsY0NCaWVTQnJhVzVrWEc0Z0lDQWdJQ0JwWmlBb2EybHVaQ0E5UFNBbmEyVjVjeWNwSUhKbGRIVnliaUJ6ZEdWd0tEQXNJR1Z1ZEhKNUxtc3BPMXh1SUNBZ0lDQWdhV1lnS0d0cGJtUWdQVDBnSjNaaGJIVmxjeWNwSUhKbGRIVnliaUJ6ZEdWd0tEQXNJR1Z1ZEhKNUxuWXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlITjBaWEFvTUN3Z1cyVnVkSEo1TG1zc0lHVnVkSEo1TG5aZEtUdGNiaUFnSUNCOUxDQkpVMTlOUVZBZ1B5QW5aVzUwY21sbGN5Y2dPaUFuZG1Gc2RXVnpKeXdnSVVsVFgwMUJVQ3dnZEhKMVpTazdYRzVjYmlBZ0lDQXZMeUJoWkdRZ1cwQkFjM0JsWTJsbGMxMHNJREl6TGpFdU1pNHlMQ0F5TXk0eUxqSXVNbHh1SUNBZ0lITmxkRk53WldOcFpYTW9Ua0ZOUlNrN1hHNGdJSDFjYm4wN1hHNGlMQ0l2THlCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlJHRjJhV1JDY25WaGJuUXZUV0Z3TFZObGRDNXdjbTkwYjNSNWNHVXVkRzlLVTA5T1hHNTJZWElnWTJ4aGMzTnZaaUE5SUhKbGNYVnBjbVVvSnk0dlgyTnNZWE56YjJZbktUdGNiblpoY2lCbWNtOXRJRDBnY21WeGRXbHlaU2duTGk5ZllYSnlZWGt0Wm5KdmJTMXBkR1Z5WVdKc1pTY3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvVGtGTlJTa2dlMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnZEc5S1UwOU9LQ2tnZTF4dUlDQWdJR2xtSUNoamJHRnpjMjltS0hSb2FYTXBJQ0U5SUU1QlRVVXBJSFJvY205M0lGUjVjR1ZGY25KdmNpaE9RVTFGSUNzZ1hDSWpkRzlLVTA5T0lHbHpiaWQwSUdkbGJtVnlhV05jSWlrN1hHNGdJQ0FnY21WMGRYSnVJR1p5YjIwb2RHaHBjeWs3WEc0Z0lIMDdYRzU5TzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dWRtRnlJSEpsWkdWbWFXNWxRV3hzSUQwZ2NtVnhkV2x5WlNnbkxpOWZjbVZrWldacGJtVXRZV3hzSnlrN1hHNTJZWElnWjJWMFYyVmhheUE5SUhKbGNYVnBjbVVvSnk0dlgyMWxkR0VuS1M1blpYUlhaV0ZyTzF4dWRtRnlJR0Z1VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRiMkpxWldOMEp5azdYRzUyWVhJZ2FYTlBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTlwY3kxdlltcGxZM1FuS1R0Y2JuWmhjaUJoYmtsdWMzUmhibU5sSUQwZ2NtVnhkV2x5WlNnbkxpOWZZVzR0YVc1emRHRnVZMlVuS1R0Y2JuWmhjaUJtYjNKUFppQTlJSEpsY1hWcGNtVW9KeTR2WDJadmNpMXZaaWNwTzF4dWRtRnlJR055WldGMFpVRnljbUY1VFdWMGFHOWtJRDBnY21WeGRXbHlaU2duTGk5ZllYSnlZWGt0YldWMGFHOWtjeWNwTzF4dWRtRnlJQ1JvWVhNZ1BTQnlaWEYxYVhKbEtDY3VMMTlvWVhNbktUdGNiblpoY2lCMllXeHBaR0YwWlNBOUlISmxjWFZwY21Vb0p5NHZYM1poYkdsa1lYUmxMV052Ykd4bFkzUnBiMjRuS1R0Y2JuWmhjaUJoY25KaGVVWnBibVFnUFNCamNtVmhkR1ZCY25KaGVVMWxkR2h2WkNnMUtUdGNiblpoY2lCaGNuSmhlVVpwYm1SSmJtUmxlQ0E5SUdOeVpXRjBaVUZ5Y21GNVRXVjBhRzlrS0RZcE8xeHVkbUZ5SUdsa0lEMGdNRHRjYmx4dUx5OGdabUZzYkdKaFkyc2dabTl5SUhWdVkyRjFaMmgwSUdaeWIzcGxiaUJyWlhselhHNTJZWElnZFc1allYVm5hSFJHY205NlpXNVRkRzl5WlNBOUlHWjFibU4wYVc5dUlDaDBhR0YwS1NCN1hHNGdJSEpsZEhWeWJpQjBhR0YwTGw5c0lIeDhJQ2gwYUdGMExsOXNJRDBnYm1WM0lGVnVZMkYxWjJoMFJuSnZlbVZ1VTNSdmNtVW9LU2s3WEc1OU8xeHVkbUZ5SUZWdVkyRjFaMmgwUm5KdmVtVnVVM1J2Y21VZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIUm9hWE11WVNBOUlGdGRPMXh1ZlR0Y2JuWmhjaUJtYVc1a1ZXNWpZWFZuYUhSR2NtOTZaVzRnUFNCbWRXNWpkR2x2YmlBb2MzUnZjbVVzSUd0bGVTa2dlMXh1SUNCeVpYUjFjbTRnWVhKeVlYbEdhVzVrS0hOMGIzSmxMbUVzSUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCcGRGc3dYU0E5UFQwZ2EyVjVPMXh1SUNCOUtUdGNibjA3WEc1VmJtTmhkV2RvZEVaeWIzcGxibE4wYjNKbExuQnliM1J2ZEhsd1pTQTlJSHRjYmlBZ1oyVjBPaUJtZFc1amRHbHZiaUFvYTJWNUtTQjdYRzRnSUNBZ2RtRnlJR1Z1ZEhKNUlEMGdabWx1WkZWdVkyRjFaMmgwUm5KdmVtVnVLSFJvYVhNc0lHdGxlU2s3WEc0Z0lDQWdhV1lnS0dWdWRISjVLU0J5WlhSMWNtNGdaVzUwY25sYk1WMDdYRzRnSUgwc1hHNGdJR2hoY3pvZ1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQWdJSEpsZEhWeWJpQWhJV1pwYm1SVmJtTmhkV2RvZEVaeWIzcGxiaWgwYUdsekxDQnJaWGtwTzF4dUlDQjlMRnh1SUNCelpYUTZJR1oxYm1OMGFXOXVJQ2hyWlhrc0lIWmhiSFZsS1NCN1hHNGdJQ0FnZG1GeUlHVnVkSEo1SUQwZ1ptbHVaRlZ1WTJGMVoyaDBSbkp2ZW1WdUtIUm9hWE1zSUd0bGVTazdYRzRnSUNBZ2FXWWdLR1Z1ZEhKNUtTQmxiblJ5ZVZzeFhTQTlJSFpoYkhWbE8xeHVJQ0FnSUdWc2MyVWdkR2hwY3k1aExuQjFjMmdvVzJ0bGVTd2dkbUZzZFdWZEtUdGNiaUFnZlN4Y2JpQWdKMlJsYkdWMFpTYzZJR1oxYm1OMGFXOXVJQ2hyWlhrcElIdGNiaUFnSUNCMllYSWdhVzVrWlhnZ1BTQmhjbkpoZVVacGJtUkpibVJsZUNoMGFHbHpMbUVzSUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHbDBXekJkSUQwOVBTQnJaWGs3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdhV1lnS0g1cGJtUmxlQ2tnZEdocGN5NWhMbk53YkdsalpTaHBibVJsZUN3Z01TazdYRzRnSUNBZ2NtVjBkWEp1SUNFaGZtbHVaR1Y0TzF4dUlDQjlYRzU5TzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlIdGNiaUFnWjJWMFEyOXVjM1J5ZFdOMGIzSTZJR1oxYm1OMGFXOXVJQ2gzY21Gd2NHVnlMQ0JPUVUxRkxDQkpVMTlOUVZBc0lFRkVSRVZTS1NCN1hHNGdJQ0FnZG1GeUlFTWdQU0IzY21Gd2NHVnlLR1oxYm1OMGFXOXVJQ2gwYUdGMExDQnBkR1Z5WVdKc1pTa2dlMXh1SUNBZ0lDQWdZVzVKYm5OMFlXNWpaU2gwYUdGMExDQkRMQ0JPUVUxRkxDQW5YMmtuS1R0Y2JpQWdJQ0FnSUhSb1lYUXVYM1FnUFNCT1FVMUZPeUFnSUNBZ0lDOHZJR052Ykd4bFkzUnBiMjRnZEhsd1pWeHVJQ0FnSUNBZ2RHaGhkQzVmYVNBOUlHbGtLeXM3SUNBZ0lDQWdMeThnWTI5c2JHVmpkR2x2YmlCcFpGeHVJQ0FnSUNBZ2RHaGhkQzVmYkNBOUlIVnVaR1ZtYVc1bFpEc2dMeThnYkdWaGF5QnpkRzl5WlNCbWIzSWdkVzVqWVhWbmFIUWdabkp2ZW1WdUlHOWlhbVZqZEhOY2JpQWdJQ0FnSUdsbUlDaHBkR1Z5WVdKc1pTQWhQU0IxYm1SbFptbHVaV1FwSUdadmNrOW1LR2wwWlhKaFlteGxMQ0JKVTE5TlFWQXNJSFJvWVhSYlFVUkVSVkpkTENCMGFHRjBLVHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQnlaV1JsWm1sdVpVRnNiQ2hETG5CeWIzUnZkSGx3WlN3Z2UxeHVJQ0FnSUNBZ0x5OGdNak11TXk0ekxqSWdWMlZoYTAxaGNDNXdjbTkwYjNSNWNHVXVaR1ZzWlhSbEtHdGxlU2xjYmlBZ0lDQWdJQzh2SURJekxqUXVNeTR6SUZkbFlXdFRaWFF1Y0hKdmRHOTBlWEJsTG1SbGJHVjBaU2gyWVd4MVpTbGNiaUFnSUNBZ0lDZGtaV3hsZEdVbk9pQm1kVzVqZEdsdmJpQW9hMlY1S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doYVhOUFltcGxZM1FvYTJWNUtTa2djbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNCMllYSWdaR0YwWVNBOUlHZGxkRmRsWVdzb2EyVjVLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUmhkR0VnUFQwOUlIUnlkV1VwSUhKbGRIVnliaUIxYm1OaGRXZG9kRVp5YjNwbGJsTjBiM0psS0haaGJHbGtZWFJsS0hSb2FYTXNJRTVCVFVVcEtWc25aR1ZzWlhSbEoxMG9hMlY1S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSaGRHRWdKaVlnSkdoaGN5aGtZWFJoTENCMGFHbHpMbDlwS1NBbUppQmtaV3hsZEdVZ1pHRjBZVnQwYUdsekxsOXBYVHRjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0F2THlBeU15NHpMak11TkNCWFpXRnJUV0Z3TG5CeWIzUnZkSGx3WlM1b1lYTW9hMlY1S1Z4dUlDQWdJQ0FnTHk4Z01qTXVOQzR6TGpRZ1YyVmhhMU5sZEM1d2NtOTBiM1I1Y0dVdWFHRnpLSFpoYkhWbEtWeHVJQ0FnSUNBZ2FHRnpPaUJtZFc1amRHbHZiaUJvWVhNb2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hhWE5QWW1wbFkzUW9hMlY1S1NrZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0IyWVhJZ1pHRjBZU0E5SUdkbGRGZGxZV3NvYTJWNUtUdGNiaUFnSUNBZ0lDQWdhV1lnS0dSaGRHRWdQVDA5SUhSeWRXVXBJSEpsZEhWeWJpQjFibU5oZFdkb2RFWnliM3BsYmxOMGIzSmxLSFpoYkdsa1lYUmxLSFJvYVhNc0lFNUJUVVVwS1M1b1lYTW9hMlY1S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSaGRHRWdKaVlnSkdoaGN5aGtZWFJoTENCMGFHbHpMbDlwS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5S1R0Y2JpQWdJQ0J5WlhSMWNtNGdRenRjYmlBZ2ZTeGNiaUFnWkdWbU9pQm1kVzVqZEdsdmJpQW9kR2hoZEN3Z2EyVjVMQ0IyWVd4MVpTa2dlMXh1SUNBZ0lIWmhjaUJrWVhSaElEMGdaMlYwVjJWaGF5aGhiazlpYW1WamRDaHJaWGtwTENCMGNuVmxLVHRjYmlBZ0lDQnBaaUFvWkdGMFlTQTlQVDBnZEhKMVpTa2dkVzVqWVhWbmFIUkdjbTk2Wlc1VGRHOXlaU2gwYUdGMEtTNXpaWFFvYTJWNUxDQjJZV3gxWlNrN1hHNGdJQ0FnWld4elpTQmtZWFJoVzNSb1lYUXVYMmxkSUQwZ2RtRnNkV1U3WEc0Z0lDQWdjbVYwZFhKdUlIUm9ZWFE3WEc0Z0lIMHNYRzRnSUhWbWMzUnZjbVU2SUhWdVkyRjFaMmgwUm5KdmVtVnVVM1J2Y21WY2JuMDdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzUyWVhJZ1oyeHZZbUZzSUQwZ2NtVnhkV2x5WlNnbkxpOWZaMnh2WW1Gc0p5azdYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlISmxaR1ZtYVc1bElEMGdjbVZ4ZFdseVpTZ25MaTlmY21Wa1pXWnBibVVuS1R0Y2JuWmhjaUJ5WldSbFptbHVaVUZzYkNBOUlISmxjWFZwY21Vb0p5NHZYM0psWkdWbWFXNWxMV0ZzYkNjcE8xeHVkbUZ5SUcxbGRHRWdQU0J5WlhGMWFYSmxLQ2N1TDE5dFpYUmhKeWs3WEc1MllYSWdabTl5VDJZZ1BTQnlaWEYxYVhKbEtDY3VMMTltYjNJdGIyWW5LVHRjYm5aaGNpQmhia2x1YzNSaGJtTmxJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRhVzV6ZEdGdVkyVW5LVHRjYm5aaGNpQnBjMDlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJsekxXOWlhbVZqZENjcE8xeHVkbUZ5SUdaaGFXeHpJRDBnY21WeGRXbHlaU2duTGk5ZlptRnBiSE1uS1R0Y2JuWmhjaUFrYVhSbGNrUmxkR1ZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmwwWlhJdFpHVjBaV04wSnlrN1hHNTJZWElnYzJWMFZHOVRkSEpwYm1kVVlXY2dQU0J5WlhGMWFYSmxLQ2N1TDE5elpYUXRkRzh0YzNSeWFXNW5MWFJoWnljcE8xeHVkbUZ5SUdsdWFHVnlhWFJKWmxKbGNYVnBjbVZrSUQwZ2NtVnhkV2x5WlNnbkxpOWZhVzVvWlhKcGRDMXBaaTF5WlhGMWFYSmxaQ2NwTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaE9RVTFGTENCM2NtRndjR1Z5TENCdFpYUm9iMlJ6TENCamIyMXRiMjRzSUVsVFgwMUJVQ3dnU1ZOZlYwVkJTeWtnZTF4dUlDQjJZWElnUW1GelpTQTlJR2RzYjJKaGJGdE9RVTFGWFR0Y2JpQWdkbUZ5SUVNZ1BTQkNZWE5sTzF4dUlDQjJZWElnUVVSRVJWSWdQU0JKVTE5TlFWQWdQeUFuYzJWMEp5QTZJQ2RoWkdRbk8xeHVJQ0IyWVhJZ2NISnZkRzhnUFNCRElDWW1JRU11Y0hKdmRHOTBlWEJsTzF4dUlDQjJZWElnVHlBOUlIdDlPMXh1SUNCMllYSWdabWw0VFdWMGFHOWtJRDBnWm5WdVkzUnBiMjRnS0V0RldTa2dlMXh1SUNBZ0lIWmhjaUJtYmlBOUlIQnliM1J2VzB0RldWMDdYRzRnSUNBZ2NtVmtaV1pwYm1Vb2NISnZkRzhzSUV0RldTeGNiaUFnSUNBZ0lFdEZXU0E5UFNBblpHVnNaWFJsSnlBL0lHWjFibU4wYVc5dUlDaGhLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJKVTE5WFJVRkxJQ1ltSUNGcGMwOWlhbVZqZENoaEtTQS9JR1poYkhObElEb2dabTR1WTJGc2JDaDBhR2x6TENCaElEMDlQU0F3SUQ4Z01DQTZJR0VwTzF4dUlDQWdJQ0FnZlNBNklFdEZXU0E5UFNBbmFHRnpKeUEvSUdaMWJtTjBhVzl1SUdoaGN5aGhLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJKVTE5WFJVRkxJQ1ltSUNGcGMwOWlhbVZqZENoaEtTQS9JR1poYkhObElEb2dabTR1WTJGc2JDaDBhR2x6TENCaElEMDlQU0F3SUQ4Z01DQTZJR0VwTzF4dUlDQWdJQ0FnZlNBNklFdEZXU0E5UFNBbloyVjBKeUEvSUdaMWJtTjBhVzl1SUdkbGRDaGhLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJKVTE5WFJVRkxJQ1ltSUNGcGMwOWlhbVZqZENoaEtTQS9JSFZ1WkdWbWFXNWxaQ0E2SUdadUxtTmhiR3dvZEdocGN5d2dZU0E5UFQwZ01DQS9JREFnT2lCaEtUdGNiaUFnSUNBZ0lIMGdPaUJMUlZrZ1BUMGdKMkZrWkNjZ1B5Qm1kVzVqZEdsdmJpQmhaR1FvWVNrZ2V5Qm1iaTVqWVd4c0tIUm9hWE1zSUdFZ1BUMDlJREFnUHlBd0lEb2dZU2s3SUhKbGRIVnliaUIwYUdsek95QjlYRzRnSUNBZ0lDQWdJRG9nWm5WdVkzUnBiMjRnYzJWMEtHRXNJR0lwSUhzZ1ptNHVZMkZzYkNoMGFHbHpMQ0JoSUQwOVBTQXdJRDhnTUNBNklHRXNJR0lwT3lCeVpYUjFjbTRnZEdocGN6c2dmVnh1SUNBZ0lDazdYRzRnSUgwN1hHNGdJR2xtSUNoMGVYQmxiMllnUXlBaFBTQW5ablZ1WTNScGIyNG5JSHg4SUNFb1NWTmZWMFZCU3lCOGZDQndjbTkwYnk1bWIzSkZZV05vSUNZbUlDRm1ZV2xzY3lobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2JtVjNJRU1vS1M1bGJuUnlhV1Z6S0NrdWJtVjRkQ2dwTzF4dUlDQjlLU2twSUh0Y2JpQWdJQ0F2THlCamNtVmhkR1VnWTI5c2JHVmpkR2x2YmlCamIyNXpkSEoxWTNSdmNseHVJQ0FnSUVNZ1BTQmpiMjF0YjI0dVoyVjBRMjl1YzNSeWRXTjBiM0lvZDNKaGNIQmxjaXdnVGtGTlJTd2dTVk5mVFVGUUxDQkJSRVJGVWlrN1hHNGdJQ0FnY21Wa1pXWnBibVZCYkd3b1F5NXdjbTkwYjNSNWNHVXNJRzFsZEdodlpITXBPMXh1SUNBZ0lHMWxkR0V1VGtWRlJDQTlJSFJ5ZFdVN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnYm1WM0lFTW9LVHRjYmlBZ0lDQXZMeUJsWVhKc2VTQnBiWEJzWlcxbGJuUmhkR2x2Ym5NZ2JtOTBJSE4xY0hCdmNuUnpJR05vWVdsdWFXNW5YRzRnSUNBZ2RtRnlJRWhCVTA1VVgwTklRVWxPU1U1SElEMGdhVzV6ZEdGdVkyVmJRVVJFUlZKZEtFbFRYMWRGUVVzZ1B5QjdmU0E2SUMwd0xDQXhLU0FoUFNCcGJuTjBZVzVqWlR0Y2JpQWdJQ0F2THlCV09DQitJQ0JEYUhKdmJXbDFiU0EwTUMwZ2QyVmhheTFqYjJ4c1pXTjBhVzl1Y3lCMGFISnZkM01nYjI0Z2NISnBiV2wwYVhabGN5d2dZblYwSUhOb2IzVnNaQ0J5WlhSMWNtNGdabUZzYzJWY2JpQWdJQ0IyWVhJZ1ZFaFNUMWRUWDA5T1gxQlNTVTFKVkVsV1JWTWdQU0JtWVdsc2N5aG1kVzVqZEdsdmJpQW9LU0I3SUdsdWMzUmhibU5sTG1oaGN5Z3hLVHNnZlNrN1hHNGdJQ0FnTHk4Z2JXOXpkQ0JsWVhKc2VTQnBiWEJzWlcxbGJuUmhkR2x2Ym5NZ1pHOWxjMjRuZENCemRYQndiM0owY3lCcGRHVnlZV0pzWlhNc0lHMXZjM1FnYlc5a1pYSnVJQzBnYm05MElHTnNiM05sSUdsMElHTnZjbkpsWTNSc2VWeHVJQ0FnSUhaaGNpQkJRME5GVUZSZlNWUkZVa0ZDVEVWVElEMGdKR2wwWlhKRVpYUmxZM1FvWm5WdVkzUnBiMjRnS0dsMFpYSXBJSHNnYm1WM0lFTW9hWFJsY2lrN0lIMHBPeUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMVzVsZDF4dUlDQWdJQzh2SUdadmNpQmxZWEpzZVNCcGJYQnNaVzFsYm5SaGRHbHZibk1nTFRBZ1lXNWtJQ3N3SUc1dmRDQjBhR1VnYzJGdFpWeHVJQ0FnSUhaaGNpQkNWVWRIV1Y5YVJWSlBJRDBnSVVsVFgxZEZRVXNnSmlZZ1ptRnBiSE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0x5OGdWamdnZmlCRGFISnZiV2wxYlNBME1pMGdabUZwYkhNZ2IyNXNlU0IzYVhSb0lEVXJJR1ZzWlcxbGJuUnpYRzRnSUNBZ0lDQjJZWElnSkdsdWMzUmhibU5sSUQwZ2JtVjNJRU1vS1R0Y2JpQWdJQ0FnSUhaaGNpQnBibVJsZUNBOUlEVTdYRzRnSUNBZ0lDQjNhR2xzWlNBb2FXNWtaWGd0TFNrZ0pHbHVjM1JoYm1ObFcwRkVSRVZTWFNocGJtUmxlQ3dnYVc1a1pYZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlDRWthVzV6ZEdGdVkyVXVhR0Z6S0Mwd0tUdGNiaUFnSUNCOUtUdGNiaUFnSUNCcFppQW9JVUZEUTBWUVZGOUpWRVZTUVVKTVJWTXBJSHRjYmlBZ0lDQWdJRU1nUFNCM2NtRndjR1Z5S0daMWJtTjBhVzl1SUNoMFlYSm5aWFFzSUdsMFpYSmhZbXhsS1NCN1hHNGdJQ0FnSUNBZ0lHRnVTVzV6ZEdGdVkyVW9kR0Z5WjJWMExDQkRMQ0JPUVUxRktUdGNiaUFnSUNBZ0lDQWdkbUZ5SUhSb1lYUWdQU0JwYm1obGNtbDBTV1pTWlhGMWFYSmxaQ2h1WlhjZ1FtRnpaU2dwTENCMFlYSm5aWFFzSUVNcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYVhSbGNtRmliR1VnSVQwZ2RXNWtaV1pwYm1Wa0tTQm1iM0pQWmlocGRHVnlZV0pzWlN3Z1NWTmZUVUZRTENCMGFHRjBXMEZFUkVWU1hTd2dkR2hoZENrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHRjBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0JETG5CeWIzUnZkSGx3WlNBOUlIQnliM1J2TzF4dUlDQWdJQ0FnY0hKdmRHOHVZMjl1YzNSeWRXTjBiM0lnUFNCRE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1ZFaFNUMWRUWDA5T1gxQlNTVTFKVkVsV1JWTWdmSHdnUWxWSFIxbGZXa1ZTVHlrZ2UxeHVJQ0FnSUNBZ1ptbDRUV1YwYUc5a0tDZGtaV3hsZEdVbktUdGNiaUFnSUNBZ0lHWnBlRTFsZEdodlpDZ25hR0Z6SnlrN1hHNGdJQ0FnSUNCSlUxOU5RVkFnSmlZZ1ptbDRUV1YwYUc5a0tDZG5aWFFuS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0VKVlIwZFpYMXBGVWs4Z2ZId2dTRUZUVGxSZlEwaEJTVTVKVGtjcElHWnBlRTFsZEdodlpDaEJSRVJGVWlrN1hHNGdJQ0FnTHk4Z2QyVmhheUJqYjJ4c1pXTjBhVzl1Y3lCemFHOTFiR1FnYm05MElHTnZiblJoYVc1eklDNWpiR1ZoY2lCdFpYUm9iMlJjYmlBZ0lDQnBaaUFvU1ZOZlYwVkJTeUFtSmlCd2NtOTBieTVqYkdWaGNpa2daR1ZzWlhSbElIQnliM1J2TG1Oc1pXRnlPMXh1SUNCOVhHNWNiaUFnYzJWMFZHOVRkSEpwYm1kVVlXY29ReXdnVGtGTlJTazdYRzVjYmlBZ1QxdE9RVTFGWFNBOUlFTTdYRzRnSUNSbGVIQnZjblFvSkdWNGNHOXlkQzVISUNzZ0pHVjRjRzl5ZEM1WElDc2dKR1Y0Y0c5eWRDNUdJQ29nS0VNZ0lUMGdRbUZ6WlNrc0lFOHBPMXh1WEc0Z0lHbG1JQ2doU1ZOZlYwVkJTeWtnWTI5dGJXOXVMbk5sZEZOMGNtOXVaeWhETENCT1FVMUZMQ0JKVTE5TlFWQXBPMXh1WEc0Z0lISmxkSFZ5YmlCRE8xeHVmVHRjYmlJc0luWmhjaUJqYjNKbElEMGdiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQjdJSFpsY25OcGIyNDZJQ2N5TGpZdU1TY2dmVHRjYm1sbUlDaDBlWEJsYjJZZ1gxOWxJRDA5SUNkdWRXMWlaWEluS1NCZlgyVWdQU0JqYjNKbE95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXNhVzVsSUc1dkxYVnVaR1ZtWEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1MllYSWdKR1JsWm1sdVpWQnliM0JsY25SNUlEMGdjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV1J3SnlrN1hHNTJZWElnWTNKbFlYUmxSR1Z6WXlBOUlISmxjWFZwY21Vb0p5NHZYM0J5YjNCbGNuUjVMV1JsYzJNbktUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYjJKcVpXTjBMQ0JwYm1SbGVDd2dkbUZzZFdVcElIdGNiaUFnYVdZZ0tHbHVaR1Y0SUdsdUlHOWlhbVZqZENrZ0pHUmxabWx1WlZCeWIzQmxjblI1TG1Zb2IySnFaV04wTENCcGJtUmxlQ3dnWTNKbFlYUmxSR1Z6WXlnd0xDQjJZV3gxWlNrcE8xeHVJQ0JsYkhObElHOWlhbVZqZEZ0cGJtUmxlRjBnUFNCMllXeDFaVHRjYm4wN1hHNGlMQ0l2THlCdmNIUnBiMjVoYkNBdklITnBiWEJzWlNCamIyNTBaWGgwSUdKcGJtUnBibWRjYm5aaGNpQmhSblZ1WTNScGIyNGdQU0J5WlhGMWFYSmxLQ2N1TDE5aExXWjFibU4wYVc5dUp5azdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2htYml3Z2RHaGhkQ3dnYkdWdVozUm9LU0I3WEc0Z0lHRkdkVzVqZEdsdmJpaG1iaWs3WEc0Z0lHbG1JQ2gwYUdGMElEMDlQU0IxYm1SbFptbHVaV1FwSUhKbGRIVnliaUJtYmp0Y2JpQWdjM2RwZEdOb0lDaHNaVzVuZEdncElIdGNiaUFnSUNCallYTmxJREU2SUhKbGRIVnliaUJtZFc1amRHbHZiaUFvWVNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdadUxtTmhiR3dvZEdoaGRDd2dZU2s3WEc0Z0lDQWdmVHRjYmlBZ0lDQmpZWE5sSURJNklISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb1lTd2dZaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR1p1TG1OaGJHd29kR2hoZEN3Z1lTd2dZaWs3WEc0Z0lDQWdmVHRjYmlBZ0lDQmpZWE5sSURNNklISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb1lTd2dZaXdnWXlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdadUxtTmhiR3dvZEdoaGRDd2dZU3dnWWl3Z1l5azdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tDOHFJQzR1TG1GeVozTWdLaThwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabTR1WVhCd2JIa29kR2hoZEN3Z1lYSm5kVzFsYm5SektUdGNiaUFnZlR0Y2JuMDdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzR2THlBeU1DNHpMalF1TXpZZ0x5QXhOUzQ1TGpVdU5ETWdSR0YwWlM1d2NtOTBiM1I1Y0dVdWRHOUpVMDlUZEhKcGJtY29LVnh1ZG1GeUlHWmhhV3h6SUQwZ2NtVnhkV2x5WlNnbkxpOWZabUZwYkhNbktUdGNiblpoY2lCblpYUlVhVzFsSUQwZ1JHRjBaUzV3Y205MGIzUjVjR1V1WjJWMFZHbHRaVHRjYm5aaGNpQWtkRzlKVTA5VGRISnBibWNnUFNCRVlYUmxMbkJ5YjNSdmRIbHdaUzUwYjBsVFQxTjBjbWx1Wnp0Y2JseHVkbUZ5SUd4NklEMGdablZ1WTNScGIyNGdLRzUxYlNrZ2UxeHVJQ0J5WlhSMWNtNGdiblZ0SUQ0Z09TQS9JRzUxYlNBNklDY3dKeUFySUc1MWJUdGNibjA3WEc1Y2JpOHZJRkJvWVc1MGIyMUtVeUF2SUc5c1pDQlhaV0pMYVhRZ2FHRnpJR0VnWW5KdmEyVnVJR2x0Y0d4bGJXVnVkR0YwYVc5dWMxeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQW9abUZwYkhNb1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCeVpYUjFjbTRnSkhSdlNWTlBVM1J5YVc1bkxtTmhiR3dvYm1WM0lFUmhkR1VvTFRWbE1UTWdMU0F4S1NrZ0lUMGdKekF6T0RVdE1EY3RNalZVTURjNk1EWTZNemt1T1RrNVdpYzdYRzU5S1NCOGZDQWhabUZwYkhNb1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBa2RHOUpVMDlUZEhKcGJtY3VZMkZzYkNodVpYY2dSR0YwWlNoT1lVNHBLVHRjYm4wcEtTQS9JR1oxYm1OMGFXOXVJSFJ2U1ZOUFUzUnlhVzVuS0NrZ2UxeHVJQ0JwWmlBb0lXbHpSbWx1YVhSbEtHZGxkRlJwYldVdVkyRnNiQ2gwYUdsektTa3BJSFJvY205M0lGSmhibWRsUlhKeWIzSW9KMGx1ZG1Gc2FXUWdkR2x0WlNCMllXeDFaU2NwTzF4dUlDQjJZWElnWkNBOUlIUm9hWE03WEc0Z0lIWmhjaUI1SUQwZ1pDNW5aWFJWVkVOR2RXeHNXV1ZoY2lncE8xeHVJQ0IyWVhJZ2JTQTlJR1F1WjJWMFZWUkRUV2xzYkdselpXTnZibVJ6S0NrN1hHNGdJSFpoY2lCeklEMGdlU0E4SURBZ1B5QW5MU2NnT2lCNUlENGdPVGs1T1NBL0lDY3JKeUE2SUNjbk8xeHVJQ0J5WlhSMWNtNGdjeUFySUNnbk1EQXdNREFuSUNzZ1RXRjBhQzVoWW5Nb2VTa3BMbk5zYVdObEtITWdQeUF0TmlBNklDMDBLU0FyWEc0Z0lDQWdKeTBuSUNzZ2JIb29aQzVuWlhSVlZFTk5iMjUwYUNncElDc2dNU2tnS3lBbkxTY2dLeUJzZWloa0xtZGxkRlZVUTBSaGRHVW9LU2tnSzF4dUlDQWdJQ2RVSnlBcklHeDZLR1F1WjJWMFZWUkRTRzkxY25Nb0tTa2dLeUFuT2ljZ0t5QnNlaWhrTG1kbGRGVlVRMDFwYm5WMFpYTW9LU2tnSzF4dUlDQWdJQ2M2SnlBcklHeDZLR1F1WjJWMFZWUkRVMlZqYjI1a2N5Z3BLU0FySUNjdUp5QXJJQ2h0SUQ0Z09Ua2dQeUJ0SURvZ0p6QW5JQ3NnYkhvb2JTa3BJQ3NnSjFvbk8xeHVmU0E2SUNSMGIwbFRUMU4wY21sdVp6dGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNiblpoY2lCaGJrOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMkZ1TFc5aWFtVmpkQ2NwTzF4dWRtRnlJSFJ2VUhKcGJXbDBhWFpsSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0Y0hKcGJXbDBhWFpsSnlrN1hHNTJZWElnVGxWTlFrVlNJRDBnSjI1MWJXSmxjaWM3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHaHBiblFwSUh0Y2JpQWdhV1lnS0docGJuUWdJVDA5SUNkemRISnBibWNuSUNZbUlHaHBiblFnSVQwOUlFNVZUVUpGVWlBbUppQm9hVzUwSUNFOVBTQW5aR1ZtWVhWc2RDY3BJSFJvY205M0lGUjVjR1ZGY25KdmNpZ25TVzVqYjNKeVpXTjBJR2hwYm5RbktUdGNiaUFnY21WMGRYSnVJSFJ2VUhKcGJXbDBhWFpsS0dGdVQySnFaV04wS0hSb2FYTXBMQ0JvYVc1MElDRTlJRTVWVFVKRlVpazdYRzU5TzF4dUlpd2lMeThnTnk0eUxqRWdVbVZ4ZFdseVpVOWlhbVZqZEVOdlpYSmphV0pzWlNoaGNtZDFiV1Z1ZENsY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHbDBLU0I3WEc0Z0lHbG1JQ2hwZENBOVBTQjFibVJsWm1sdVpXUXBJSFJvY205M0lGUjVjR1ZGY25KdmNpaGNJa05oYmlkMElHTmhiR3dnYldWMGFHOWtJRzl1SUNCY0lpQXJJR2wwS1R0Y2JpQWdjbVYwZFhKdUlHbDBPMXh1ZlR0Y2JpSXNJaTh2SUZSb1lXNXJKM01nU1VVNElHWnZjaUJvYVhNZ1puVnVibmtnWkdWbWFXNWxVSEp2Y0dWeWRIbGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdJWEpsY1hWcGNtVW9KeTR2WDJaaGFXeHpKeWtvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0J5WlhSMWNtNGdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0h0OUxDQW5ZU2NzSUhzZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlBM095QjlJSDBwTG1FZ0lUMGdOenRjYm4wcE8xeHVJaXdpZG1GeUlHbHpUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmYVhNdGIySnFaV04wSnlrN1hHNTJZWElnWkc5amRXMWxiblFnUFNCeVpYRjFhWEpsS0NjdUwxOW5iRzlpWVd3bktTNWtiMk4xYldWdWREdGNiaTh2SUhSNWNHVnZaaUJrYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MElHbHpJQ2R2WW1wbFkzUW5JR2x1SUc5c1pDQkpSVnh1ZG1GeUlHbHpJRDBnYVhOUFltcGxZM1FvWkc5amRXMWxiblFwSUNZbUlHbHpUMkpxWldOMEtHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ2NtVjBkWEp1SUdseklEOGdaRzlqZFcxbGJuUXVZM0psWVhSbFJXeGxiV1Z1ZENocGRDa2dPaUI3ZlR0Y2JuMDdYRzRpTENJdkx5QkpSU0E0TFNCa2IyNG5kQ0JsYm5WdElHSjFaeUJyWlhselhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlDaGNiaUFnSjJOdmJuTjBjblZqZEc5eUxHaGhjMDkzYmxCeWIzQmxjblI1TEdselVISnZkRzkwZVhCbFQyWXNjSEp2Y0dWeWRIbEpjMFZ1ZFcxbGNtRmliR1VzZEc5TWIyTmhiR1ZUZEhKcGJtY3NkRzlUZEhKcGJtY3NkbUZzZFdWUFppZGNiaWt1YzNCc2FYUW9KeXduS1R0Y2JpSXNJaTh2SUdGc2JDQmxiblZ0WlhKaFlteGxJRzlpYW1WamRDQnJaWGx6TENCcGJtTnNkV1JsY3lCemVXMWliMnh6WEc1MllYSWdaMlYwUzJWNWN5QTlJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFyWlhsekp5azdYRzUyWVhJZ1owOVFVeUE5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxbmIzQnpKeWs3WEc1MllYSWdjRWxGSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExYQnBaU2NwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ2RtRnlJSEpsYzNWc2RDQTlJR2RsZEV0bGVYTW9hWFFwTzF4dUlDQjJZWElnWjJWMFUzbHRZbTlzY3lBOUlHZFBVRk11Wmp0Y2JpQWdhV1lnS0dkbGRGTjViV0p2YkhNcElIdGNiaUFnSUNCMllYSWdjM2x0WW05c2N5QTlJR2RsZEZONWJXSnZiSE1vYVhRcE8xeHVJQ0FnSUhaaGNpQnBjMFZ1ZFcwZ1BTQndTVVV1Wmp0Y2JpQWdJQ0IyWVhJZ2FTQTlJREE3WEc0Z0lDQWdkbUZ5SUd0bGVUdGNiaUFnSUNCM2FHbHNaU0FvYzNsdFltOXNjeTVzWlc1bmRHZ2dQaUJwS1NCcFppQW9hWE5GYm5WdExtTmhiR3dvYVhRc0lHdGxlU0E5SUhONWJXSnZiSE5iYVNzclhTa3BJSEpsYzNWc2RDNXdkWE5vS0d0bGVTazdYRzRnSUgwZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYm4wN1hHNGlMQ0oyWVhJZ1oyeHZZbUZzSUQwZ2NtVnhkV2x5WlNnbkxpOWZaMnh2WW1Gc0p5azdYRzUyWVhJZ1kyOXlaU0E5SUhKbGNYVnBjbVVvSnk0dlgyTnZjbVVuS1R0Y2JuWmhjaUJvYVdSbElEMGdjbVZ4ZFdseVpTZ25MaTlmYUdsa1pTY3BPMXh1ZG1GeUlISmxaR1ZtYVc1bElEMGdjbVZ4ZFdseVpTZ25MaTlmY21Wa1pXWnBibVVuS1R0Y2JuWmhjaUJqZEhnZ1BTQnlaWEYxYVhKbEtDY3VMMTlqZEhnbktUdGNiblpoY2lCUVVrOVVUMVJaVUVVZ1BTQW5jSEp2ZEc5MGVYQmxKenRjYmx4dWRtRnlJQ1JsZUhCdmNuUWdQU0JtZFc1amRHbHZiaUFvZEhsd1pTd2dibUZ0WlN3Z2MyOTFjbU5sS1NCN1hHNGdJSFpoY2lCSlUxOUdUMUpEUlVRZ1BTQjBlWEJsSUNZZ0pHVjRjRzl5ZEM1R08xeHVJQ0IyWVhJZ1NWTmZSMHhQUWtGTUlEMGdkSGx3WlNBbUlDUmxlSEJ2Y25RdVJ6dGNiaUFnZG1GeUlFbFRYMU5VUVZSSlF5QTlJSFI1Y0dVZ0ppQWtaWGh3YjNKMExsTTdYRzRnSUhaaGNpQkpVMTlRVWs5VVR5QTlJSFI1Y0dVZ0ppQWtaWGh3YjNKMExsQTdYRzRnSUhaaGNpQkpVMTlDU1U1RUlEMGdkSGx3WlNBbUlDUmxlSEJ2Y25RdVFqdGNiaUFnZG1GeUlIUmhjbWRsZENBOUlFbFRYMGRNVDBKQlRDQS9JR2RzYjJKaGJDQTZJRWxUWDFOVVFWUkpReUEvSUdkc2IySmhiRnR1WVcxbFhTQjhmQ0FvWjJ4dlltRnNXMjVoYldWZElEMGdlMzBwSURvZ0tHZHNiMkpoYkZ0dVlXMWxYU0I4ZkNCN2ZTbGJVRkpQVkU5VVdWQkZYVHRjYmlBZ2RtRnlJR1Y0Y0c5eWRITWdQU0JKVTE5SFRFOUNRVXdnUHlCamIzSmxJRG9nWTI5eVpWdHVZVzFsWFNCOGZDQW9ZMjl5WlZ0dVlXMWxYU0E5SUh0OUtUdGNiaUFnZG1GeUlHVjRjRkJ5YjNSdklEMGdaWGh3YjNKMGMxdFFVazlVVDFSWlVFVmRJSHg4SUNobGVIQnZjblJ6VzFCU1QxUlBWRmxRUlYwZ1BTQjdmU2s3WEc0Z0lIWmhjaUJyWlhrc0lHOTNiaXdnYjNWMExDQmxlSEE3WEc0Z0lHbG1JQ2hKVTE5SFRFOUNRVXdwSUhOdmRYSmpaU0E5SUc1aGJXVTdYRzRnSUdadmNpQW9hMlY1SUdsdUlITnZkWEpqWlNrZ2UxeHVJQ0FnSUM4dklHTnZiblJoYVc1eklHbHVJRzVoZEdsMlpWeHVJQ0FnSUc5M2JpQTlJQ0ZKVTE5R1QxSkRSVVFnSmlZZ2RHRnlaMlYwSUNZbUlIUmhjbWRsZEZ0clpYbGRJQ0U5UFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnTHk4Z1pYaHdiM0owSUc1aGRHbDJaU0J2Y2lCd1lYTnpaV1JjYmlBZ0lDQnZkWFFnUFNBb2IzZHVJRDhnZEdGeVoyVjBJRG9nYzI5MWNtTmxLVnRyWlhsZE8xeHVJQ0FnSUM4dklHSnBibVFnZEdsdFpYSnpJSFJ2SUdkc2IySmhiQ0JtYjNJZ1kyRnNiQ0JtY205dElHVjRjRzl5ZENCamIyNTBaWGgwWEc0Z0lDQWdaWGh3SUQwZ1NWTmZRa2xPUkNBbUppQnZkMjRnUHlCamRIZ29iM1YwTENCbmJHOWlZV3dwSURvZ1NWTmZVRkpQVkU4Z0ppWWdkSGx3Wlc5bUlHOTFkQ0E5UFNBblpuVnVZM1JwYjI0bklEOGdZM1I0S0VaMWJtTjBhVzl1TG1OaGJHd3NJRzkxZENrZ09pQnZkWFE3WEc0Z0lDQWdMeThnWlhoMFpXNWtJR2RzYjJKaGJGeHVJQ0FnSUdsbUlDaDBZWEpuWlhRcElISmxaR1ZtYVc1bEtIUmhjbWRsZEN3Z2EyVjVMQ0J2ZFhRc0lIUjVjR1VnSmlBa1pYaHdiM0owTGxVcE8xeHVJQ0FnSUM4dklHVjRjRzl5ZEZ4dUlDQWdJR2xtSUNobGVIQnZjblJ6VzJ0bGVWMGdJVDBnYjNWMEtTQm9hV1JsS0dWNGNHOXlkSE1zSUd0bGVTd2daWGh3S1R0Y2JpQWdJQ0JwWmlBb1NWTmZVRkpQVkU4Z0ppWWdaWGh3VUhKdmRHOWJhMlY1WFNBaFBTQnZkWFFwSUdWNGNGQnliM1J2VzJ0bGVWMGdQU0J2ZFhRN1hHNGdJSDFjYm4wN1hHNW5iRzlpWVd3dVkyOXlaU0E5SUdOdmNtVTdYRzR2THlCMGVYQmxJR0pwZEcxaGNGeHVKR1Y0Y0c5eWRDNUdJRDBnTVRzZ0lDQXZMeUJtYjNKalpXUmNiaVJsZUhCdmNuUXVSeUE5SURJN0lDQWdMeThnWjJ4dlltRnNYRzRrWlhod2IzSjBMbE1nUFNBME95QWdJQzh2SUhOMFlYUnBZMXh1SkdWNGNHOXlkQzVRSUQwZ09Ec2dJQ0F2THlCd2NtOTBiMXh1SkdWNGNHOXlkQzVDSUQwZ01UWTdJQ0F2THlCaWFXNWtYRzRrWlhod2IzSjBMbGNnUFNBek1qc2dJQzh2SUhkeVlYQmNiaVJsZUhCdmNuUXVWU0E5SURZME95QWdMeThnYzJGbVpWeHVKR1Y0Y0c5eWRDNVNJRDBnTVRJNE95QXZMeUJ5WldGc0lIQnliM1J2SUcxbGRHaHZaQ0JtYjNJZ1lHeHBZbkpoY25sZ1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlDUmxlSEJ2Y25RN1hHNGlMQ0oyWVhJZ1RVRlVRMGdnUFNCeVpYRjFhWEpsS0NjdUwxOTNhM01uS1NnbmJXRjBZMmduS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tFdEZXU2tnZTF4dUlDQjJZWElnY21VZ1BTQXZMaTg3WEc0Z0lIUnllU0I3WEc0Z0lDQWdKeTh1THlkYlMwVlpYU2h5WlNrN1hHNGdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ2NtVmJUVUZVUTBoZElEMGdabUZzYzJVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnSVNjdkxpOG5XMHRGV1Ywb2NtVXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHWXBJSHNnTHlvZ1pXMXdkSGtnS2k4Z2ZWeHVJQ0I5SUhKbGRIVnliaUIwY25WbE8xeHVmVHRjYmlJc0ltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHVjRaV01wSUh0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0J5WlhSMWNtNGdJU0ZsZUdWaktDazdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlZ4dWZUdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNibkpsY1hWcGNtVW9KeTR2WlhNMkxuSmxaMlY0Y0M1bGVHVmpKeWs3WEc1MllYSWdjbVZrWldacGJtVWdQU0J5WlhGMWFYSmxLQ2N1TDE5eVpXUmxabWx1WlNjcE8xeHVkbUZ5SUdocFpHVWdQU0J5WlhGMWFYSmxLQ2N1TDE5b2FXUmxKeWs3WEc1MllYSWdabUZwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMMTltWVdsc2N5Y3BPMXh1ZG1GeUlHUmxabWx1WldRZ1BTQnlaWEYxYVhKbEtDY3VMMTlrWldacGJtVmtKeWs3WEc1MllYSWdkMnR6SUQwZ2NtVnhkV2x5WlNnbkxpOWZkMnR6SnlrN1hHNTJZWElnY21WblpYaHdSWGhsWXlBOUlISmxjWFZwY21Vb0p5NHZYM0psWjJWNGNDMWxlR1ZqSnlrN1hHNWNiblpoY2lCVFVFVkRTVVZUSUQwZ2QydHpLQ2R6Y0dWamFXVnpKeWs3WEc1Y2JuWmhjaUJTUlZCTVFVTkZYMU5WVUZCUFVsUlRYMDVCVFVWRVgwZFNUMVZRVXlBOUlDRm1ZV2xzY3lobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUM4dklDTnlaWEJzWVdObElHNWxaV1J6SUdKMWFXeDBMV2x1SUhOMWNIQnZjblFnWm05eUlHNWhiV1ZrSUdkeWIzVndjeTVjYmlBZ0x5OGdJMjFoZEdOb0lIZHZjbXR6SUdacGJtVWdZbVZqWVhWelpTQnBkQ0JxZFhOMElISmxkSFZ5YmlCMGFHVWdaWGhsWXlCeVpYTjFiSFJ6TENCbGRtVnVJR2xtSUdsMElHaGhjMXh1SUNBdkx5QmhJRndpWjNKdmNITmNJaUJ3Y205d1pYSjBlUzVjYmlBZ2RtRnlJSEpsSUQwZ0x5NHZPMXh1SUNCeVpTNWxlR1ZqSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lIWmhjaUJ5WlhOMWJIUWdQU0JiWFR0Y2JpQWdJQ0J5WlhOMWJIUXVaM0p2ZFhCeklEMGdleUJoT2lBbk55Y2dmVHRjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlPMXh1SUNCeVpYUjFjbTRnSnljdWNtVndiR0ZqWlNoeVpTd2dKeVE4WVQ0bktTQWhQVDBnSnpjbk8xeHVmU2s3WEc1Y2JuWmhjaUJUVUV4SlZGOVhUMUpMVTE5WFNWUklYMDlXUlZKWFVrbFVWRVZPWDBWWVJVTWdQU0FvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0F2THlCRGFISnZiV1VnTlRFZ2FHRnpJR0VnWW5Wbloza2dYQ0p6Y0d4cGRGd2lJR2x0Y0d4bGJXVnVkR0YwYVc5dUlIZG9aVzRnVW1WblJYaHdJMlY0WldNZ0lUMDlJRzVoZEdsMlpVVjRaV05jYmlBZ2RtRnlJSEpsSUQwZ0x5Zy9PaWt2TzF4dUlDQjJZWElnYjNKcFoybHVZV3hGZUdWaklEMGdjbVV1WlhobFl6dGNiaUFnY21VdVpYaGxZeUE5SUdaMWJtTjBhVzl1SUNncElIc2djbVYwZFhKdUlHOXlhV2RwYm1Gc1JYaGxZeTVoY0hCc2VTaDBhR2x6TENCaGNtZDFiV1Z1ZEhNcE95QjlPMXh1SUNCMllYSWdjbVZ6ZFd4MElEMGdKMkZpSnk1emNHeHBkQ2h5WlNrN1hHNGdJSEpsZEhWeWJpQnlaWE4xYkhRdWJHVnVaM1JvSUQwOVBTQXlJQ1ltSUhKbGMzVnNkRnN3WFNBOVBUMGdKMkVuSUNZbUlISmxjM1ZzZEZzeFhTQTlQVDBnSjJJbk8xeHVmU2tvS1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9TMFZaTENCc1pXNW5kR2dzSUdWNFpXTXBJSHRjYmlBZ2RtRnlJRk5aVFVKUFRDQTlJSGRyY3loTFJWa3BPMXh1WEc0Z0lIWmhjaUJFUlV4RlIwRlVSVk5mVkU5ZlUxbE5RazlNSUQwZ0lXWmhhV3h6S0daMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBdkx5QlRkSEpwYm1jZ2JXVjBhRzlrY3lCallXeHNJSE41YldKdmJDMXVZVzFsWkNCU1pXZEZjQ0J0WlhSb2IyUnpYRzRnSUNBZ2RtRnlJRThnUFNCN2ZUdGNiaUFnSUNCUFcxTlpUVUpQVEYwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUEzT3lCOU8xeHVJQ0FnSUhKbGRIVnliaUFuSjF0TFJWbGRLRThwSUNFOUlEYzdYRzRnSUgwcE8xeHVYRzRnSUhaaGNpQkVSVXhGUjBGVVJWTmZWRTlmUlZoRlF5QTlJRVJGVEVWSFFWUkZVMTlVVDE5VFdVMUNUMHdnUHlBaFptRnBiSE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUM4dklGTjViV0p2YkMxdVlXMWxaQ0JTWldkRmVIQWdiV1YwYUc5a2N5QmpZV3hzSUM1bGVHVmpYRzRnSUNBZ2RtRnlJR1Y0WldORFlXeHNaV1FnUFNCbVlXeHpaVHRjYmlBZ0lDQjJZWElnY21VZ1BTQXZZUzg3WEc0Z0lDQWdjbVV1WlhobFl5QTlJR1oxYm1OMGFXOXVJQ2dwSUhzZ1pYaGxZME5oYkd4bFpDQTlJSFJ5ZFdVN0lISmxkSFZ5YmlCdWRXeHNPeUI5TzF4dUlDQWdJR2xtSUNoTFJWa2dQVDA5SUNkemNHeHBkQ2NwSUh0Y2JpQWdJQ0FnSUM4dklGSmxaMFY0Y0Z0QVFITndiR2wwWFNCa2IyVnpiaWQwSUdOaGJHd2dkR2hsSUhKbFoyVjRKM01nWlhobFl5QnRaWFJvYjJRc0lHSjFkQ0JtYVhKemRDQmpjbVZoZEdWelhHNGdJQ0FnSUNBdkx5QmhJRzVsZHlCdmJtVXVJRmRsSUc1bFpXUWdkRzhnY21WMGRYSnVJSFJvWlNCd1lYUmphR1ZrSUhKbFoyVjRJSGRvWlc0Z1kzSmxZWFJwYm1jZ2RHaGxJRzVsZHlCdmJtVXVYRzRnSUNBZ0lDQnlaUzVqYjI1emRISjFZM1J2Y2lBOUlIdDlPMXh1SUNBZ0lDQWdjbVV1WTI5dWMzUnlkV04wYjNKYlUxQkZRMGxGVTEwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUJ5WlRzZ2ZUdGNiaUFnSUNCOVhHNGdJQ0FnY21WYlUxbE5RazlNWFNnbkp5azdYRzRnSUNBZ2NtVjBkWEp1SUNGbGVHVmpRMkZzYkdWa08xeHVJQ0I5S1NBNklIVnVaR1ZtYVc1bFpEdGNibHh1SUNCcFppQW9YRzRnSUNBZ0lVUkZURVZIUVZSRlUxOVVUMTlUV1UxQ1Qwd2dmSHhjYmlBZ0lDQWhSRVZNUlVkQlZFVlRYMVJQWDBWWVJVTWdmSHhjYmlBZ0lDQW9TMFZaSUQwOVBTQW5jbVZ3YkdGalpTY2dKaVlnSVZKRlVFeEJRMFZmVTFWUVVFOVNWRk5mVGtGTlJVUmZSMUpQVlZCVEtTQjhmRnh1SUNBZ0lDaExSVmtnUFQwOUlDZHpjR3hwZENjZ0ppWWdJVk5RVEVsVVgxZFBVa3RUWDFkSlZFaGZUMVpGVWxkU1NWUlVSVTVmUlZoRlF5bGNiaUFnS1NCN1hHNGdJQ0FnZG1GeUlHNWhkR2wyWlZKbFowVjRjRTFsZEdodlpDQTlJQzh1TDF0VFdVMUNUMHhkTzF4dUlDQWdJSFpoY2lCbWJuTWdQU0JsZUdWaktGeHVJQ0FnSUNBZ1pHVm1hVzVsWkN4Y2JpQWdJQ0FnSUZOWlRVSlBUQ3hjYmlBZ0lDQWdJQ2NuVzB0RldWMHNYRzRnSUNBZ0lDQm1kVzVqZEdsdmJpQnRZWGxpWlVOaGJHeE9ZWFJwZG1Vb2JtRjBhWFpsVFdWMGFHOWtMQ0J5WldkbGVIQXNJSE4wY2l3Z1lYSm5NaXdnWm05eVkyVlRkSEpwYm1kTlpYUm9iMlFwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEpsWjJWNGNDNWxlR1ZqSUQwOVBTQnlaV2RsZUhCRmVHVmpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRVJGVEVWSFFWUkZVMTlVVDE5VFdVMUNUMHdnSmlZZ0lXWnZjbU5sVTNSeWFXNW5UV1YwYUc5a0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVhR1VnYm1GMGFYWmxJRk4wY21sdVp5QnRaWFJvYjJRZ1lXeHlaV0ZrZVNCa1pXeGxaMkYwWlhNZ2RHOGdRRUJ0WlhSb2IyUWdLSFJvYVhOY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhCdmJIbG1hV3hzWldRZ1puVnVZM1JwYjI0cExDQnNaV0Z6YVc1bklIUnZJR2x1Wm1sdWFYUmxJSEpsWTNWeWMybHZiaTVjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRmRsSUdGMmIybGtJR2wwSUdKNUlHUnBjbVZqZEd4NUlHTmhiR3hwYm1jZ2RHaGxJRzVoZEdsMlpTQkFRRzFsZEdodlpDQnRaWFJvYjJRdVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdleUJrYjI1bE9pQjBjblZsTENCMllXeDFaVG9nYm1GMGFYWmxVbVZuUlhod1RXVjBhRzlrTG1OaGJHd29jbVZuWlhod0xDQnpkSElzSUdGeVp6SXBJSDA3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdJR1J2Ym1VNklIUnlkV1VzSUhaaGJIVmxPaUJ1WVhScGRtVk5aWFJvYjJRdVkyRnNiQ2h6ZEhJc0lISmxaMlY0Y0N3Z1lYSm5NaWtnZlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QmtiMjVsT2lCbVlXeHpaU0I5TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ2s3WEc0Z0lDQWdkbUZ5SUhOMGNtWnVJRDBnWm01eld6QmRPMXh1SUNBZ0lIWmhjaUJ5ZUdadUlEMGdabTV6V3pGZE8xeHVYRzRnSUNBZ2NtVmtaV1pwYm1Vb1UzUnlhVzVuTG5CeWIzUnZkSGx3WlN3Z1MwVlpMQ0J6ZEhKbWJpazdYRzRnSUNBZ2FHbGtaU2hTWldkRmVIQXVjSEp2ZEc5MGVYQmxMQ0JUV1UxQ1Qwd3NJR3hsYm1kMGFDQTlQU0F5WEc0Z0lDQWdJQ0F2THlBeU1TNHlMalV1T0NCU1pXZEZlSEF1Y0hKdmRHOTBlWEJsVzBCQWNtVndiR0ZqWlYwb2MzUnlhVzVuTENCeVpYQnNZV05sVm1Gc2RXVXBYRzRnSUNBZ0lDQXZMeUF5TVM0eUxqVXVNVEVnVW1WblJYaHdMbkJ5YjNSdmRIbHdaVnRBUUhOd2JHbDBYU2h6ZEhKcGJtY3NJR3hwYldsMEtWeHVJQ0FnSUNBZ1B5Qm1kVzVqZEdsdmJpQW9jM1J5YVc1bkxDQmhjbWNwSUhzZ2NtVjBkWEp1SUhKNFptNHVZMkZzYkNoemRISnBibWNzSUhSb2FYTXNJR0Z5WnlrN0lIMWNiaUFnSUNBZ0lDOHZJREl4TGpJdU5TNDJJRkpsWjBWNGNDNXdjbTkwYjNSNWNHVmJRRUJ0WVhSamFGMG9jM1J5YVc1bktWeHVJQ0FnSUNBZ0x5OGdNakV1TWk0MUxqa2dVbVZuUlhod0xuQnliM1J2ZEhsd1pWdEFRSE5sWVhKamFGMG9jM1J5YVc1bktWeHVJQ0FnSUNBZ09pQm1kVzVqZEdsdmJpQW9jM1J5YVc1bktTQjdJSEpsZEhWeWJpQnllR1p1TG1OaGJHd29jM1J5YVc1bkxDQjBhR2x6S1RzZ2ZWeHVJQ0FnSUNrN1hHNGdJSDFjYm4wN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNHZMeUF5TVM0eUxqVXVNeUJuWlhRZ1VtVm5SWGh3TG5CeWIzUnZkSGx3WlM1bWJHRm5jMXh1ZG1GeUlHRnVUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmWVc0dGIySnFaV04wSnlrN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJSFJvWVhRZ1BTQmhiazlpYW1WamRDaDBhR2x6S1R0Y2JpQWdkbUZ5SUhKbGMzVnNkQ0E5SUNjbk8xeHVJQ0JwWmlBb2RHaGhkQzVuYkc5aVlXd3BJSEpsYzNWc2RDQXJQU0FuWnljN1hHNGdJR2xtSUNoMGFHRjBMbWxuYm05eVpVTmhjMlVwSUhKbGMzVnNkQ0FyUFNBbmFTYzdYRzRnSUdsbUlDaDBhR0YwTG0xMWJIUnBiR2x1WlNrZ2NtVnpkV3gwSUNzOUlDZHRKenRjYmlBZ2FXWWdLSFJvWVhRdWRXNXBZMjlrWlNrZ2NtVnpkV3gwSUNzOUlDZDFKenRjYmlBZ2FXWWdLSFJvWVhRdWMzUnBZMnQ1S1NCeVpYTjFiSFFnS3owZ0oza25PMXh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlR0Y2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JpOHZJR2gwZEhCek9pOHZkR016T1M1bmFYUm9kV0l1YVc4dmNISnZjRzl6WVd3dFpteGhkRTFoY0M4amMyVmpMVVpzWVhSMFpXNUpiblJ2UVhKeVlYbGNiblpoY2lCcGMwRnljbUY1SUQwZ2NtVnhkV2x5WlNnbkxpOWZhWE10WVhKeVlYa25LVHRjYm5aaGNpQnBjMDlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJsekxXOWlhbVZqZENjcE8xeHVkbUZ5SUhSdlRHVnVaM1JvSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YkdWdVozUm9KeWs3WEc1MllYSWdZM1I0SUQwZ2NtVnhkV2x5WlNnbkxpOWZZM1I0SnlrN1hHNTJZWElnU1ZOZlEwOU9RMEZVWDFOUVVrVkJSRUZDVEVVZ1BTQnlaWEYxYVhKbEtDY3VMMTkzYTNNbktTZ25hWE5EYjI1allYUlRjSEpsWVdSaFlteGxKeWs3WEc1Y2JtWjFibU4wYVc5dUlHWnNZWFIwWlc1SmJuUnZRWEp5WVhrb2RHRnlaMlYwTENCdmNtbG5hVzVoYkN3Z2MyOTFjbU5sTENCemIzVnlZMlZNWlc0c0lITjBZWEowTENCa1pYQjBhQ3dnYldGd2NHVnlMQ0IwYUdselFYSm5LU0I3WEc0Z0lIWmhjaUIwWVhKblpYUkpibVJsZUNBOUlITjBZWEowTzF4dUlDQjJZWElnYzI5MWNtTmxTVzVrWlhnZ1BTQXdPMXh1SUNCMllYSWdiV0Z3Um00Z1BTQnRZWEJ3WlhJZ1B5QmpkSGdvYldGd2NHVnlMQ0IwYUdselFYSm5MQ0F6S1NBNklHWmhiSE5sTzF4dUlDQjJZWElnWld4bGJXVnVkQ3dnYzNCeVpXRmtZV0pzWlR0Y2JseHVJQ0IzYUdsc1pTQW9jMjkxY21ObFNXNWtaWGdnUENCemIzVnlZMlZNWlc0cElIdGNiaUFnSUNCcFppQW9jMjkxY21ObFNXNWtaWGdnYVc0Z2MyOTFjbU5sS1NCN1hHNGdJQ0FnSUNCbGJHVnRaVzUwSUQwZ2JXRndSbTRnUHlCdFlYQkdiaWh6YjNWeVkyVmJjMjkxY21ObFNXNWtaWGhkTENCemIzVnlZMlZKYm1SbGVDd2diM0pwWjJsdVlXd3BJRG9nYzI5MWNtTmxXM052ZFhKalpVbHVaR1Y0WFR0Y2JseHVJQ0FnSUNBZ2MzQnlaV0ZrWVdKc1pTQTlJR1poYkhObE8xeHVJQ0FnSUNBZ2FXWWdLR2x6VDJKcVpXTjBLR1ZzWlcxbGJuUXBLU0I3WEc0Z0lDQWdJQ0FnSUhOd2NtVmhaR0ZpYkdVZ1BTQmxiR1Z0Wlc1MFcwbFRYME5QVGtOQlZGOVRVRkpGUVVSQlFreEZYVHRjYmlBZ0lDQWdJQ0FnYzNCeVpXRmtZV0pzWlNBOUlITndjbVZoWkdGaWJHVWdJVDA5SUhWdVpHVm1hVzVsWkNBL0lDRWhjM0J5WldGa1lXSnNaU0E2SUdselFYSnlZWGtvWld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHpjSEpsWVdSaFlteGxJQ1ltSUdSbGNIUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQjBZWEpuWlhSSmJtUmxlQ0E5SUdac1lYUjBaVzVKYm5SdlFYSnlZWGtvZEdGeVoyVjBMQ0J2Y21sbmFXNWhiQ3dnWld4bGJXVnVkQ3dnZEc5TVpXNW5kR2dvWld4bGJXVnVkQzVzWlc1bmRHZ3BMQ0IwWVhKblpYUkpibVJsZUN3Z1pHVndkR2dnTFNBeEtTQXRJREU3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JwWmlBb2RHRnlaMlYwU1c1a1pYZ2dQajBnTUhneFptWm1abVptWm1abVptWm1aaWtnZEdoeWIzY2dWSGx3WlVWeWNtOXlLQ2s3WEc0Z0lDQWdJQ0FnSUhSaGNtZGxkRnQwWVhKblpYUkpibVJsZUYwZ1BTQmxiR1Z0Wlc1ME8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBZWEpuWlhSSmJtUmxlQ3NyTzF4dUlDQWdJSDFjYmlBZ0lDQnpiM1Z5WTJWSmJtUmxlQ3NyTzF4dUlDQjlYRzRnSUhKbGRIVnliaUIwWVhKblpYUkpibVJsZUR0Y2JuMWNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtYkdGMGRHVnVTVzUwYjBGeWNtRjVPMXh1SWl3aWRtRnlJR04wZUNBOUlISmxjWFZwY21Vb0p5NHZYMk4wZUNjcE8xeHVkbUZ5SUdOaGJHd2dQU0J5WlhGMWFYSmxLQ2N1TDE5cGRHVnlMV05oYkd3bktUdGNiblpoY2lCcGMwRnljbUY1U1hSbGNpQTlJSEpsY1hWcGNtVW9KeTR2WDJsekxXRnljbUY1TFdsMFpYSW5LVHRjYm5aaGNpQmhiazlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJGdUxXOWlhbVZqZENjcE8xeHVkbUZ5SUhSdlRHVnVaM1JvSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YkdWdVozUm9KeWs3WEc1MllYSWdaMlYwU1hSbGNrWnVJRDBnY21WeGRXbHlaU2duTGk5amIzSmxMbWRsZEMxcGRHVnlZWFJ2Y2kxdFpYUm9iMlFuS1R0Y2JuWmhjaUJDVWtWQlN5QTlJSHQ5TzF4dWRtRnlJRkpGVkZWU1RpQTlJSHQ5TzF4dWRtRnlJR1Y0Y0c5eWRITWdQU0J0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hwZEdWeVlXSnNaU3dnWlc1MGNtbGxjeXdnWm00c0lIUm9ZWFFzSUVsVVJWSkJWRTlTS1NCN1hHNGdJSFpoY2lCcGRHVnlSbTRnUFNCSlZFVlNRVlJQVWlBL0lHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJR2wwWlhKaFlteGxPeUI5SURvZ1oyVjBTWFJsY2tadUtHbDBaWEpoWW14bEtUdGNiaUFnZG1GeUlHWWdQU0JqZEhnb1ptNHNJSFJvWVhRc0lHVnVkSEpwWlhNZ1B5QXlJRG9nTVNrN1hHNGdJSFpoY2lCcGJtUmxlQ0E5SURBN1hHNGdJSFpoY2lCc1pXNW5kR2dzSUhOMFpYQXNJR2wwWlhKaGRHOXlMQ0J5WlhOMWJIUTdYRzRnSUdsbUlDaDBlWEJsYjJZZ2FYUmxja1p1SUNFOUlDZG1kVzVqZEdsdmJpY3BJSFJvY205M0lGUjVjR1ZGY25KdmNpaHBkR1Z5WVdKc1pTQXJJQ2NnYVhNZ2JtOTBJR2wwWlhKaFlteGxJU2NwTzF4dUlDQXZMeUJtWVhOMElHTmhjMlVnWm05eUlHRnljbUY1Y3lCM2FYUm9JR1JsWm1GMWJIUWdhWFJsY21GMGIzSmNiaUFnYVdZZ0tHbHpRWEp5WVhsSmRHVnlLR2wwWlhKR2Jpa3BJR1p2Y2lBb2JHVnVaM1JvSUQwZ2RHOU1aVzVuZEdnb2FYUmxjbUZpYkdVdWJHVnVaM1JvS1RzZ2JHVnVaM1JvSUQ0Z2FXNWtaWGc3SUdsdVpHVjRLeXNwSUh0Y2JpQWdJQ0J5WlhOMWJIUWdQU0JsYm5SeWFXVnpJRDhnWmloaGJrOWlhbVZqZENoemRHVndJRDBnYVhSbGNtRmliR1ZiYVc1a1pYaGRLVnN3WFN3Z2MzUmxjRnN4WFNrZ09pQm1LR2wwWlhKaFlteGxXMmx1WkdWNFhTazdYRzRnSUNBZ2FXWWdLSEpsYzNWc2RDQTlQVDBnUWxKRlFVc2dmSHdnY21WemRXeDBJRDA5UFNCU1JWUlZVazRwSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzRnSUgwZ1pXeHpaU0JtYjNJZ0tHbDBaWEpoZEc5eUlEMGdhWFJsY2tadUxtTmhiR3dvYVhSbGNtRmliR1VwT3lBaEtITjBaWEFnUFNCcGRHVnlZWFJ2Y2k1dVpYaDBLQ2twTG1SdmJtVTdLU0I3WEc0Z0lDQWdjbVZ6ZFd4MElEMGdZMkZzYkNocGRHVnlZWFJ2Y2l3Z1ppd2djM1JsY0M1MllXeDFaU3dnWlc1MGNtbGxjeWs3WEc0Z0lDQWdhV1lnS0hKbGMzVnNkQ0E5UFQwZ1FsSkZRVXNnZkh3Z2NtVnpkV3gwSUQwOVBTQlNSVlJWVWs0cElISmxkSFZ5YmlCeVpYTjFiSFE3WEc0Z0lIMWNibjA3WEc1bGVIQnZjblJ6TGtKU1JVRkxJRDBnUWxKRlFVczdYRzVsZUhCdmNuUnpMbEpGVkZWU1RpQTlJRkpGVkZWU1RqdGNiaUlzSWk4dklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOTZiRzlwY205amF5OWpiM0psTFdwekwybHpjM1ZsY3k4NE5pTnBjM04xWldOdmJXMWxiblF0TVRFMU56VTVNREk0WEc1MllYSWdaMnh2WW1Gc0lEMGdiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQjBlWEJsYjJZZ2QybHVaRzkzSUNFOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUhkcGJtUnZkeTVOWVhSb0lEMDlJRTFoZEdoY2JpQWdQeUIzYVc1a2IzY2dPaUIwZVhCbGIyWWdjMlZzWmlBaFBTQW5kVzVrWldacGJtVmtKeUFtSmlCelpXeG1MazFoZEdnZ1BUMGdUV0YwYUNBL0lITmxiR1pjYmlBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElHNXZMVzVsZHkxbWRXNWpYRzRnSURvZ1JuVnVZM1JwYjI0b0ozSmxkSFZ5YmlCMGFHbHpKeWtvS1R0Y2JtbG1JQ2gwZVhCbGIyWWdYMTluSUQwOUlDZHVkVzFpWlhJbktTQmZYMmNnUFNCbmJHOWlZV3c3SUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFd4cGJtVWdibTh0ZFc1a1pXWmNiaUlzSW5aaGNpQm9ZWE5QZDI1UWNtOXdaWEowZVNBOUlIdDlMbWhoYzA5M2JsQnliM0JsY25SNU8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9hWFFzSUd0bGVTa2dlMXh1SUNCeVpYUjFjbTRnYUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNocGRDd2dhMlY1S1R0Y2JuMDdYRzRpTENKMllYSWdaRkFnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFpIQW5LVHRjYm5aaGNpQmpjbVZoZEdWRVpYTmpJRDBnY21WeGRXbHlaU2duTGk5ZmNISnZjR1Z5ZEhrdFpHVnpZeWNwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCeVpYRjFhWEpsS0NjdUwxOWtaWE5qY21sd2RHOXljeWNwSUQ4Z1puVnVZM1JwYjI0Z0tHOWlhbVZqZEN3Z2EyVjVMQ0IyWVd4MVpTa2dlMXh1SUNCeVpYUjFjbTRnWkZBdVppaHZZbXBsWTNRc0lHdGxlU3dnWTNKbFlYUmxSR1Z6WXlneExDQjJZV3gxWlNrcE8xeHVmU0E2SUdaMWJtTjBhVzl1SUNodlltcGxZM1FzSUd0bGVTd2dkbUZzZFdVcElIdGNiaUFnYjJKcVpXTjBXMnRsZVYwZ1BTQjJZV3gxWlR0Y2JpQWdjbVYwZFhKdUlHOWlhbVZqZER0Y2JuMDdYRzRpTENKMllYSWdaRzlqZFcxbGJuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bmJHOWlZV3duS1M1a2IyTjFiV1Z1ZER0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1pHOWpkVzFsYm5RZ0ppWWdaRzlqZFcxbGJuUXVaRzlqZFcxbGJuUkZiR1Z0Wlc1ME8xeHVJaXdpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0FoY21WeGRXbHlaU2duTGk5ZlpHVnpZM0pwY0hSdmNuTW5LU0FtSmlBaGNtVnhkV2x5WlNnbkxpOWZabUZwYkhNbktTaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lISmxkSFZ5YmlCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29jbVZ4ZFdseVpTZ25MaTlmWkc5dExXTnlaV0YwWlNjcEtDZGthWFluS1N3Z0oyRW5MQ0I3SUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnTnpzZ2ZTQjlLUzVoSUNFOUlEYzdYRzU5S1R0Y2JpSXNJblpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dWRtRnlJSE5sZEZCeWIzUnZkSGx3WlU5bUlEMGdjbVZ4ZFdseVpTZ25MaTlmYzJWMExYQnliM1J2SnlrdWMyVjBPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvZEdoaGRDd2dkR0Z5WjJWMExDQkRLU0I3WEc0Z0lIWmhjaUJUSUQwZ2RHRnlaMlYwTG1OdmJuTjBjblZqZEc5eU8xeHVJQ0IyWVhJZ1VEdGNiaUFnYVdZZ0tGTWdJVDA5SUVNZ0ppWWdkSGx3Wlc5bUlGTWdQVDBnSjJaMWJtTjBhVzl1SnlBbUppQW9VQ0E5SUZNdWNISnZkRzkwZVhCbEtTQWhQVDBnUXk1d2NtOTBiM1I1Y0dVZ0ppWWdhWE5QWW1wbFkzUW9VQ2tnSmlZZ2MyVjBVSEp2ZEc5MGVYQmxUMllwSUh0Y2JpQWdJQ0J6WlhSUWNtOTBiM1I1Y0dWUFppaDBhR0YwTENCUUtUdGNiaUFnZlNCeVpYUjFjbTRnZEdoaGREdGNibjA3WEc0aUxDSXZMeUJtWVhOMElHRndjR3g1TENCb2RIUndPaTh2YW5Od1pYSm1MbXh1YTJsMExtTnZiUzltWVhOMExXRndjR3g1THpWY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHWnVMQ0JoY21kekxDQjBhR0YwS1NCN1hHNGdJSFpoY2lCMWJpQTlJSFJvWVhRZ1BUMDlJSFZ1WkdWbWFXNWxaRHRjYmlBZ2MzZHBkR05vSUNoaGNtZHpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lHTmhjMlVnTURvZ2NtVjBkWEp1SUhWdUlEOGdabTRvS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nWm00dVkyRnNiQ2gwYUdGMEtUdGNiaUFnSUNCallYTmxJREU2SUhKbGRIVnliaUIxYmlBL0lHWnVLR0Z5WjNOYk1GMHBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQm1iaTVqWVd4c0tIUm9ZWFFzSUdGeVozTmJNRjBwTzF4dUlDQWdJR05oYzJVZ01qb2djbVYwZFhKdUlIVnVJRDhnWm00b1lYSm5jMXN3WFN3Z1lYSm5jMXN4WFNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E2SUdadUxtTmhiR3dvZEdoaGRDd2dZWEpuYzFzd1hTd2dZWEpuYzFzeFhTazdYRzRnSUNBZ1kyRnpaU0F6T2lCeVpYUjFjbTRnZFc0Z1B5Qm1iaWhoY21keld6QmRMQ0JoY21keld6RmRMQ0JoY21keld6SmRLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEb2dabTR1WTJGc2JDaDBhR0YwTENCaGNtZHpXekJkTENCaGNtZHpXekZkTENCaGNtZHpXekpkS1R0Y2JpQWdJQ0JqWVhObElEUTZJSEpsZEhWeWJpQjFiaUEvSUdadUtHRnlaM05iTUYwc0lHRnlaM05iTVYwc0lHRnlaM05iTWwwc0lHRnlaM05iTTEwcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCbWJpNWpZV3hzS0hSb1lYUXNJR0Z5WjNOYk1GMHNJR0Z5WjNOYk1WMHNJR0Z5WjNOYk1sMHNJR0Z5WjNOYk0xMHBPMXh1SUNCOUlISmxkSFZ5YmlCbWJpNWhjSEJzZVNoMGFHRjBMQ0JoY21kektUdGNibjA3WEc0aUxDSXZMeUJtWVd4c1ltRmpheUJtYjNJZ2JtOXVMV0Z5Y21GNUxXeHBhMlVnUlZNeklHRnVaQ0J1YjI0dFpXNTFiV1Z5WVdKc1pTQnZiR1FnVmpnZ2MzUnlhVzVuYzF4dWRtRnlJR052WmlBOUlISmxjWFZwY21Vb0p5NHZYMk52WmljcE8xeHVMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRzV2TFhCeWIzUnZkSGx3WlMxaWRXbHNkR2x1YzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCUFltcGxZM1FvSjNvbktTNXdjbTl3WlhKMGVVbHpSVzUxYldWeVlXSnNaU2d3S1NBL0lFOWlhbVZqZENBNklHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQnlaWFIxY200Z1kyOW1LR2wwS1NBOVBTQW5VM1J5YVc1bkp5QS9JR2wwTG5Od2JHbDBLQ2NuS1NBNklFOWlhbVZqZENocGRDazdYRzU5TzF4dUlpd2lMeThnWTJobFkyc2diMjRnWkdWbVlYVnNkQ0JCY25KaGVTQnBkR1Z5WVhSdmNseHVkbUZ5SUVsMFpYSmhkRzl5Y3lBOUlISmxjWFZwY21Vb0p5NHZYMmwwWlhKaGRHOXljeWNwTzF4dWRtRnlJRWxVUlZKQlZFOVNJRDBnY21WeGRXbHlaU2duTGk5ZmQydHpKeWtvSjJsMFpYSmhkRzl5SnlrN1hHNTJZWElnUVhKeVlYbFFjbTkwYnlBOUlFRnljbUY1TG5CeWIzUnZkSGx3WlR0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9hWFFwSUh0Y2JpQWdjbVYwZFhKdUlHbDBJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdLRWwwWlhKaGRHOXljeTVCY25KaGVTQTlQVDBnYVhRZ2ZId2dRWEp5WVhsUWNtOTBiMXRKVkVWU1FWUlBVbDBnUFQwOUlHbDBLVHRjYm4wN1hHNGlMQ0l2THlBM0xqSXVNaUJKYzBGeWNtRjVLR0Z5WjNWdFpXNTBLVnh1ZG1GeUlHTnZaaUE5SUhKbGNYVnBjbVVvSnk0dlgyTnZaaWNwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCQmNuSmhlUzVwYzBGeWNtRjVJSHg4SUdaMWJtTjBhVzl1SUdselFYSnlZWGtvWVhKbktTQjdYRzRnSUhKbGRIVnliaUJqYjJZb1lYSm5LU0E5UFNBblFYSnlZWGtuTzF4dWZUdGNiaUlzSWk4dklESXdMakV1TWk0eklFNTFiV0psY2k1cGMwbHVkR1ZuWlhJb2JuVnRZbVZ5S1Z4dWRtRnlJR2x6VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmFYTXRiMkpxWldOMEp5azdYRzUyWVhJZ1pteHZiM0lnUFNCTllYUm9MbVpzYjI5eU8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQnBjMGx1ZEdWblpYSW9hWFFwSUh0Y2JpQWdjbVYwZFhKdUlDRnBjMDlpYW1WamRDaHBkQ2tnSmlZZ2FYTkdhVzVwZEdVb2FYUXBJQ1ltSUdac2IyOXlLR2wwS1NBOVBUMGdhWFE3WEc1OU8xeHVJaXdpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYVhRcElIdGNiaUFnY21WMGRYSnVJSFI1Y0dWdlppQnBkQ0E5UFQwZ0oyOWlhbVZqZENjZ1B5QnBkQ0FoUFQwZ2JuVnNiQ0E2SUhSNWNHVnZaaUJwZENBOVBUMGdKMloxYm1OMGFXOXVKenRjYm4wN1hHNGlMQ0l2THlBM0xqSXVPQ0JKYzFKbFowVjRjQ2hoY21kMWJXVnVkQ2xjYm5aaGNpQnBjMDlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJsekxXOWlhbVZqZENjcE8xeHVkbUZ5SUdOdlppQTlJSEpsY1hWcGNtVW9KeTR2WDJOdlppY3BPMXh1ZG1GeUlFMUJWRU5JSUQwZ2NtVnhkV2x5WlNnbkxpOWZkMnR6Snlrb0oyMWhkR05vSnlrN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQjJZWElnYVhOU1pXZEZlSEE3WEc0Z0lISmxkSFZ5YmlCcGMwOWlhbVZqZENocGRDa2dKaVlnS0NocGMxSmxaMFY0Y0NBOUlHbDBXMDFCVkVOSVhTa2dJVDA5SUhWdVpHVm1hVzVsWkNBL0lDRWhhWE5TWldkRmVIQWdPaUJqYjJZb2FYUXBJRDA5SUNkU1pXZEZlSEFuS1R0Y2JuMDdYRzRpTENJdkx5QmpZV3hzSUhOdmJXVjBhR2x1WnlCdmJpQnBkR1Z5WVhSdmNpQnpkR1Z3SUhkcGRHZ2djMkZtWlNCamJHOXphVzVuSUc5dUlHVnljbTl5WEc1MllYSWdZVzVQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGJpMXZZbXBsWTNRbktUdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLR2wwWlhKaGRHOXlMQ0JtYml3Z2RtRnNkV1VzSUdWdWRISnBaWE1wSUh0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0J5WlhSMWNtNGdaVzUwY21sbGN5QS9JR1p1S0dGdVQySnFaV04wS0haaGJIVmxLVnN3WFN3Z2RtRnNkV1ZiTVYwcElEb2dabTRvZG1Gc2RXVXBPMXh1SUNBdkx5QTNMalF1TmlCSmRHVnlZWFJ2Y2tOc2IzTmxLR2wwWlhKaGRHOXlMQ0JqYjIxd2JHVjBhVzl1S1Z4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdkbUZ5SUhKbGRDQTlJR2wwWlhKaGRHOXlXeWR5WlhSMWNtNG5YVHRjYmlBZ0lDQnBaaUFvY21WMElDRTlQU0IxYm1SbFptbHVaV1FwSUdGdVQySnFaV04wS0hKbGRDNWpZV3hzS0dsMFpYSmhkRzl5S1NrN1hHNGdJQ0FnZEdoeWIzY2daVHRjYmlBZ2ZWeHVmVHRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQmpjbVZoZEdVZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRZM0psWVhSbEp5azdYRzUyWVhJZ1pHVnpZM0pwY0hSdmNpQTlJSEpsY1hWcGNtVW9KeTR2WDNCeWIzQmxjblI1TFdSbGMyTW5LVHRjYm5aaGNpQnpaWFJVYjFOMGNtbHVaMVJoWnlBOUlISmxjWFZwY21Vb0p5NHZYM05sZEMxMGJ5MXpkSEpwYm1jdGRHRm5KeWs3WEc1MllYSWdTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWdQU0I3ZlR0Y2JseHVMeThnTWpVdU1TNHlMakV1TVNBbFNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVbFcwQkFhWFJsY21GMGIzSmRLQ2xjYm5KbGNYVnBjbVVvSnk0dlgyaHBaR1VuS1NoSmRHVnlZWFJ2Y2xCeWIzUnZkSGx3WlN3Z2NtVnhkV2x5WlNnbkxpOWZkMnR6Snlrb0oybDBaWEpoZEc5eUp5a3NJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUhSb2FYTTdJSDBwTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaERiMjV6ZEhKMVkzUnZjaXdnVGtGTlJTd2dibVY0ZENrZ2UxeHVJQ0JEYjI1emRISjFZM1J2Y2k1d2NtOTBiM1I1Y0dVZ1BTQmpjbVZoZEdVb1NYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVc0lIc2dibVY0ZERvZ1pHVnpZM0pwY0hSdmNpZ3hMQ0J1WlhoMEtTQjlLVHRjYmlBZ2MyVjBWRzlUZEhKcGJtZFVZV2NvUTI5dWMzUnlkV04wYjNJc0lFNUJUVVVnS3lBbklFbDBaWEpoZEc5eUp5azdYRzU5TzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dWRtRnlJRXhKUWxKQlVsa2dQU0J5WlhGMWFYSmxLQ2N1TDE5c2FXSnlZWEo1SnlrN1hHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUhKbFpHVm1hVzVsSUQwZ2NtVnhkV2x5WlNnbkxpOWZjbVZrWldacGJtVW5LVHRjYm5aaGNpQm9hV1JsSUQwZ2NtVnhkV2x5WlNnbkxpOWZhR2xrWlNjcE8xeHVkbUZ5SUVsMFpYSmhkRzl5Y3lBOUlISmxjWFZwY21Vb0p5NHZYMmwwWlhKaGRHOXljeWNwTzF4dWRtRnlJQ1JwZEdWeVEzSmxZWFJsSUQwZ2NtVnhkV2x5WlNnbkxpOWZhWFJsY2kxamNtVmhkR1VuS1R0Y2JuWmhjaUJ6WlhSVWIxTjBjbWx1WjFSaFp5QTlJSEpsY1hWcGNtVW9KeTR2WDNObGRDMTBieTF6ZEhKcGJtY3RkR0ZuSnlrN1hHNTJZWElnWjJWMFVISnZkRzkwZVhCbFQyWWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WjNCdkp5azdYRzUyWVhJZ1NWUkZVa0ZVVDFJZ1BTQnlaWEYxYVhKbEtDY3VMMTkzYTNNbktTZ25hWFJsY21GMGIzSW5LVHRjYm5aaGNpQkNWVWRIV1NBOUlDRW9XMTB1YTJWNWN5QW1KaUFuYm1WNGRDY2dhVzRnVzEwdWEyVjVjeWdwS1RzZ0x5OGdVMkZtWVhKcElHaGhjeUJpZFdkbmVTQnBkR1Z5WVhSdmNuTWdkeTl2SUdCdVpYaDBZRnh1ZG1GeUlFWkdYMGxVUlZKQlZFOVNJRDBnSjBCQWFYUmxjbUYwYjNJbk8xeHVkbUZ5SUV0RldWTWdQU0FuYTJWNWN5YzdYRzUyWVhJZ1ZrRk1WVVZUSUQwZ0ozWmhiSFZsY3ljN1hHNWNiblpoY2lCeVpYUjFjbTVVYUdseklEMGdablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnZEdocGN6c2dmVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb1FtRnpaU3dnVGtGTlJTd2dRMjl1YzNSeWRXTjBiM0lzSUc1bGVIUXNJRVJGUmtGVlRGUXNJRWxUWDFORlZDd2dSazlTUTBWRUtTQjdYRzRnSUNScGRHVnlRM0psWVhSbEtFTnZibk4wY25WamRHOXlMQ0JPUVUxRkxDQnVaWGgwS1R0Y2JpQWdkbUZ5SUdkbGRFMWxkR2h2WkNBOUlHWjFibU4wYVc5dUlDaHJhVzVrS1NCN1hHNGdJQ0FnYVdZZ0tDRkNWVWRIV1NBbUppQnJhVzVrSUdsdUlIQnliM1J2S1NCeVpYUjFjbTRnY0hKdmRHOWJhMmx1WkYwN1hHNGdJQ0FnYzNkcGRHTm9JQ2hyYVc1a0tTQjdYRzRnSUNBZ0lDQmpZWE5sSUV0RldWTTZJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQnJaWGx6S0NrZ2V5QnlaWFIxY200Z2JtVjNJRU52Ym5OMGNuVmpkRzl5S0hSb2FYTXNJR3RwYm1RcE95QjlPMXh1SUNBZ0lDQWdZMkZ6WlNCV1FVeFZSVk02SUhKbGRIVnliaUJtZFc1amRHbHZiaUIyWVd4MVpYTW9LU0I3SUhKbGRIVnliaUJ1WlhjZ1EyOXVjM1J5ZFdOMGIzSW9kR2hwY3l3Z2EybHVaQ2s3SUgwN1hHNGdJQ0FnZlNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnWlc1MGNtbGxjeWdwSUhzZ2NtVjBkWEp1SUc1bGR5QkRiMjV6ZEhKMVkzUnZjaWgwYUdsekxDQnJhVzVrS1RzZ2ZUdGNiaUFnZlR0Y2JpQWdkbUZ5SUZSQlJ5QTlJRTVCVFVVZ0t5QW5JRWwwWlhKaGRHOXlKenRjYmlBZ2RtRnlJRVJGUmw5V1FVeFZSVk1nUFNCRVJVWkJWVXhVSUQwOUlGWkJURlZGVXp0Y2JpQWdkbUZ5SUZaQlRGVkZVMTlDVlVjZ1BTQm1ZV3h6WlR0Y2JpQWdkbUZ5SUhCeWIzUnZJRDBnUW1GelpTNXdjbTkwYjNSNWNHVTdYRzRnSUhaaGNpQWtibUYwYVhabElEMGdjSEp2ZEc5YlNWUkZVa0ZVVDFKZElIeDhJSEJ5YjNSdlcwWkdYMGxVUlZKQlZFOVNYU0I4ZkNCRVJVWkJWVXhVSUNZbUlIQnliM1J2VzBSRlJrRlZURlJkTzF4dUlDQjJZWElnSkdSbFptRjFiSFFnUFNBa2JtRjBhWFpsSUh4OElHZGxkRTFsZEdodlpDaEVSVVpCVlV4VUtUdGNiaUFnZG1GeUlDUmxiblJ5YVdWeklEMGdSRVZHUVZWTVZDQS9JQ0ZFUlVaZlZrRk1WVVZUSUQ4Z0pHUmxabUYxYkhRZ09pQm5aWFJOWlhSb2IyUW9KMlZ1ZEhKcFpYTW5LU0E2SUhWdVpHVm1hVzVsWkR0Y2JpQWdkbUZ5SUNSaGJubE9ZWFJwZG1VZ1BTQk9RVTFGSUQwOUlDZEJjbkpoZVNjZ1B5QndjbTkwYnk1bGJuUnlhV1Z6SUh4OElDUnVZWFJwZG1VZ09pQWtibUYwYVhabE8xeHVJQ0IyWVhJZ2JXVjBhRzlrY3l3Z2EyVjVMQ0JKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaVHRjYmlBZ0x5OGdSbWw0SUc1aGRHbDJaVnh1SUNCcFppQW9KR0Z1ZVU1aGRHbDJaU2tnZTF4dUlDQWdJRWwwWlhKaGRHOXlVSEp2ZEc5MGVYQmxJRDBnWjJWMFVISnZkRzkwZVhCbFQyWW9KR0Z1ZVU1aGRHbDJaUzVqWVd4c0tHNWxkeUJDWVhObEtDa3BLVHRjYmlBZ0lDQnBaaUFvU1hSbGNtRjBiM0pRY205MGIzUjVjR1VnSVQwOUlFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVZ0ppWWdTWFJsY21GMGIzSlFjbTkwYjNSNWNHVXVibVY0ZENrZ2UxeHVJQ0FnSUNBZ0x5OGdVMlYwSUVCQWRHOVRkSEpwYm1kVVlXY2dkRzhnYm1GMGFYWmxJR2wwWlhKaGRHOXljMXh1SUNBZ0lDQWdjMlYwVkc5VGRISnBibWRVWVdjb1NYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVc0lGUkJSeXdnZEhKMVpTazdYRzRnSUNBZ0lDQXZMeUJtYVhnZ1ptOXlJSE52YldVZ2IyeGtJR1Z1WjJsdVpYTmNiaUFnSUNBZ0lHbG1JQ2doVEVsQ1VrRlNXU0FtSmlCMGVYQmxiMllnU1hSbGNtRjBiM0pRY205MGIzUjVjR1ZiU1ZSRlVrRlVUMUpkSUNFOUlDZG1kVzVqZEdsdmJpY3BJR2hwWkdVb1NYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVc0lFbFVSVkpCVkU5U0xDQnlaWFIxY201VWFHbHpLVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdMeThnWm1sNElFRnljbUY1STN0MllXeDFaWE1zSUVCQWFYUmxjbUYwYjNKOUxtNWhiV1VnYVc0Z1ZqZ2dMeUJHUmx4dUlDQnBaaUFvUkVWR1gxWkJURlZGVXlBbUppQWtibUYwYVhabElDWW1JQ1J1WVhScGRtVXVibUZ0WlNBaFBUMGdWa0ZNVlVWVEtTQjdYRzRnSUNBZ1ZrRk1WVVZUWDBKVlJ5QTlJSFJ5ZFdVN1hHNGdJQ0FnSkdSbFptRjFiSFFnUFNCbWRXNWpkR2x2YmlCMllXeDFaWE1vS1NCN0lISmxkSFZ5YmlBa2JtRjBhWFpsTG1OaGJHd29kR2hwY3lrN0lIMDdYRzRnSUgxY2JpQWdMeThnUkdWbWFXNWxJR2wwWlhKaGRHOXlYRzRnSUdsbUlDZ29JVXhKUWxKQlVsa2dmSHdnUms5U1EwVkVLU0FtSmlBb1FsVkhSMWtnZkh3Z1ZrRk1WVVZUWDBKVlJ5QjhmQ0FoY0hKdmRHOWJTVlJGVWtGVVQxSmRLU2tnZTF4dUlDQWdJR2hwWkdVb2NISnZkRzhzSUVsVVJWSkJWRTlTTENBa1pHVm1ZWFZzZENrN1hHNGdJSDFjYmlBZ0x5OGdVR3gxWnlCbWIzSWdiR2xpY21GeWVWeHVJQ0JKZEdWeVlYUnZjbk5iVGtGTlJWMGdQU0FrWkdWbVlYVnNkRHRjYmlBZ1NYUmxjbUYwYjNKelcxUkJSMTBnUFNCeVpYUjFjbTVVYUdsek8xeHVJQ0JwWmlBb1JFVkdRVlZNVkNrZ2UxeHVJQ0FnSUcxbGRHaHZaSE1nUFNCN1hHNGdJQ0FnSUNCMllXeDFaWE02SUVSRlJsOVdRVXhWUlZNZ1B5QWtaR1ZtWVhWc2RDQTZJR2RsZEUxbGRHaHZaQ2hXUVV4VlJWTXBMRnh1SUNBZ0lDQWdhMlY1Y3pvZ1NWTmZVMFZVSUQ4Z0pHUmxabUYxYkhRZ09pQm5aWFJOWlhSb2IyUW9TMFZaVXlrc1hHNGdJQ0FnSUNCbGJuUnlhV1Z6T2lBa1pXNTBjbWxsYzF4dUlDQWdJSDA3WEc0Z0lDQWdhV1lnS0VaUFVrTkZSQ2tnWm05eUlDaHJaWGtnYVc0Z2JXVjBhRzlrY3lrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0VvYTJWNUlHbHVJSEJ5YjNSdktTa2djbVZrWldacGJtVW9jSEp2ZEc4c0lHdGxlU3dnYldWMGFHOWtjMXRyWlhsZEtUdGNiaUFnSUNCOUlHVnNjMlVnSkdWNGNHOXlkQ2drWlhod2IzSjBMbEFnS3lBa1pYaHdiM0owTGtZZ0tpQW9RbFZIUjFrZ2ZId2dWa0ZNVlVWVFgwSlZSeWtzSUU1QlRVVXNJRzFsZEdodlpITXBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnRaWFJvYjJSek8xeHVmVHRjYmlJc0luWmhjaUJKVkVWU1FWUlBVaUE5SUhKbGNYVnBjbVVvSnk0dlgzZHJjeWNwS0NkcGRHVnlZWFJ2Y2ljcE8xeHVkbUZ5SUZOQlJrVmZRMHhQVTBsT1J5QTlJR1poYkhObE8xeHVYRzUwY25rZ2UxeHVJQ0IyWVhJZ2NtbDBaWElnUFNCYk4xMWJTVlJGVWtGVVQxSmRLQ2s3WEc0Z0lISnBkR1Z5V3lkeVpYUjFjbTRuWFNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnVTBGR1JWOURURTlUU1U1SElEMGdkSEoxWlRzZ2ZUdGNiaUFnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUc1dkxYUm9jbTkzTFd4cGRHVnlZV3hjYmlBZ1FYSnlZWGt1Wm5KdmJTaHlhWFJsY2l3Z1puVnVZM1JwYjI0Z0tDa2dleUIwYUhKdmR5QXlPeUI5S1R0Y2JuMGdZMkYwWTJnZ0tHVXBJSHNnTHlvZ1pXMXdkSGtnS2k4Z2ZWeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hsZUdWakxDQnphMmx3UTJ4dmMybHVaeWtnZTF4dUlDQnBaaUFvSVhOcmFYQkRiRzl6YVc1bklDWW1JQ0ZUUVVaRlgwTk1UMU5KVGtjcElISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2RtRnlJSE5oWm1VZ1BTQm1ZV3h6WlR0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0IyWVhJZ1lYSnlJRDBnV3pkZE8xeHVJQ0FnSUhaaGNpQnBkR1Z5SUQwZ1lYSnlXMGxVUlZKQlZFOVNYU2dwTzF4dUlDQWdJR2wwWlhJdWJtVjRkQ0E5SUdaMWJtTjBhVzl1SUNncElIc2djbVYwZFhKdUlIc2daRzl1WlRvZ2MyRm1aU0E5SUhSeWRXVWdmVHNnZlR0Y2JpQWdJQ0JoY25KYlNWUkZVa0ZVVDFKZElEMGdablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnYVhSbGNqc2dmVHRjYmlBZ0lDQmxlR1ZqS0dGeWNpazdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIc2dMeW9nWlcxd2RIa2dLaThnZlZ4dUlDQnlaWFIxY200Z2MyRm1aVHRjYm4wN1hHNGlMQ0p0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hrYjI1bExDQjJZV3gxWlNrZ2UxeHVJQ0J5WlhSMWNtNGdleUIyWVd4MVpUb2dkbUZzZFdVc0lHUnZibVU2SUNFaFpHOXVaU0I5TzF4dWZUdGNiaUlzSW0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnZTMwN1hHNGlMQ0p0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1poYkhObE8xeHVJaXdpTHk4Z01qQXVNaTR5TGpFMElFMWhkR2d1Wlhod2JURW9lQ2xjYm5aaGNpQWtaWGh3YlRFZ1BTQk5ZWFJvTG1WNGNHMHhPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0FvSVNSbGVIQnRNVnh1SUNBdkx5QlBiR1FnUmtZZ1luVm5YRzRnSUh4OElDUmxlSEJ0TVNneE1Da2dQaUF5TWpBeU5TNDBOalUzT1RRNE1EWTNNVGtnZkh3Z0pHVjRjRzB4S0RFd0tTQThJREl5TURJMUxqUTJOVGM1TkRnd05qY3hOalV4TmpoY2JpQWdMeThnVkc5eUlFSnliM2R6WlhJZ1luVm5YRzRnSUh4OElDUmxlSEJ0TVNndE1tVXRNVGNwSUNFOUlDMHlaUzB4TjF4dUtTQS9JR1oxYm1OMGFXOXVJR1Y0Y0cweEtIZ3BJSHRjYmlBZ2NtVjBkWEp1SUNoNElEMGdLM2dwSUQwOUlEQWdQeUI0SURvZ2VDQStJQzB4WlMwMklDWW1JSGdnUENBeFpTMDJJRDhnZUNBcklIZ2dLaUI0SUM4Z01pQTZJRTFoZEdndVpYaHdLSGdwSUMwZ01UdGNibjBnT2lBa1pYaHdiVEU3WEc0aUxDSXZMeUF5TUM0eUxqSXVNVFlnVFdGMGFDNW1jbTkxYm1Rb2VDbGNiblpoY2lCemFXZHVJRDBnY21WeGRXbHlaU2duTGk5ZmJXRjBhQzF6YVdkdUp5azdYRzUyWVhJZ2NHOTNJRDBnVFdGMGFDNXdiM2M3WEc1MllYSWdSVkJUU1V4UFRpQTlJSEJ2ZHlneUxDQXROVElwTzF4dWRtRnlJRVZRVTBsTVQwNHpNaUE5SUhCdmR5Z3lMQ0F0TWpNcE8xeHVkbUZ5SUUxQldETXlJRDBnY0c5M0tESXNJREV5TnlrZ0tpQW9NaUF0SUVWUVUwbE1UMDR6TWlrN1hHNTJZWElnVFVsT016SWdQU0J3YjNjb01pd2dMVEV5TmlrN1hHNWNiblpoY2lCeWIzVnVaRlJwWlhOVWIwVjJaVzRnUFNCbWRXNWpkR2x2YmlBb2Jpa2dlMXh1SUNCeVpYUjFjbTRnYmlBcklERWdMeUJGVUZOSlRFOU9JQzBnTVNBdklFVlFVMGxNVDA0N1hHNTlPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUUxaGRHZ3Vabkp2ZFc1a0lIeDhJR1oxYm1OMGFXOXVJR1p5YjNWdVpDaDRLU0I3WEc0Z0lIWmhjaUFrWVdKeklEMGdUV0YwYUM1aFluTW9lQ2s3WEc0Z0lIWmhjaUFrYzJsbmJpQTlJSE5wWjI0b2VDazdYRzRnSUhaaGNpQmhMQ0J5WlhOMWJIUTdYRzRnSUdsbUlDZ2tZV0p6SUR3Z1RVbE9NeklwSUhKbGRIVnliaUFrYzJsbmJpQXFJSEp2ZFc1a1ZHbGxjMVJ2UlhabGJpZ2tZV0p6SUM4Z1RVbE9NeklnTHlCRlVGTkpURTlPTXpJcElDb2dUVWxPTXpJZ0tpQkZVRk5KVEU5T016STdYRzRnSUdFZ1BTQW9NU0FySUVWUVUwbE1UMDR6TWlBdklFVlFVMGxNVDA0cElDb2dKR0ZpY3p0Y2JpQWdjbVZ6ZFd4MElEMGdZU0F0SUNoaElDMGdKR0ZpY3lrN1hHNGdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J1YnkxelpXeG1MV052YlhCaGNtVmNiaUFnYVdZZ0tISmxjM1ZzZENBK0lFMUJXRE15SUh4OElISmxjM1ZzZENBaFBTQnlaWE4xYkhRcElISmxkSFZ5YmlBa2MybG5iaUFxSUVsdVptbHVhWFI1TzF4dUlDQnlaWFIxY200Z0pITnBaMjRnS2lCeVpYTjFiSFE3WEc1OU8xeHVJaXdpTHk4Z01qQXVNaTR5TGpJd0lFMWhkR2d1Ykc5bk1YQW9lQ2xjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVFdGMGFDNXNiMmN4Y0NCOGZDQm1kVzVqZEdsdmJpQnNiMmN4Y0NoNEtTQjdYRzRnSUhKbGRIVnliaUFvZUNBOUlDdDRLU0ErSUMweFpTMDRJQ1ltSUhnZ1BDQXhaUzA0SUQ4Z2VDQXRJSGdnS2lCNElDOGdNaUE2SUUxaGRHZ3ViRzluS0RFZ0t5QjRLVHRjYm4wN1hHNGlMQ0l2THlCb2RIUndjem92TDNKM1lXeGtjbTl1TG1kcGRHaDFZaTVwYnk5d2NtOXdiM05oYkMxdFlYUm9MV1Y0ZEdWdWMybHZibk12WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUUxaGRHZ3VjMk5oYkdVZ2ZId2dablZ1WTNScGIyNGdjMk5oYkdVb2VDd2dhVzVNYjNjc0lHbHVTR2xuYUN3Z2IzVjBURzkzTENCdmRYUklhV2RvS1NCN1hHNGdJR2xtSUNoY2JpQWdJQ0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDA5UFNBd1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2JtOHRjMlZzWmkxamIyMXdZWEpsWEc0Z0lDQWdJQ0I4ZkNCNElDRTlJSGhjYmlBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J1YnkxelpXeG1MV052YlhCaGNtVmNiaUFnSUNBZ0lIeDhJR2x1VEc5M0lDRTlJR2x1VEc5M1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2JtOHRjMlZzWmkxamIyMXdZWEpsWEc0Z0lDQWdJQ0I4ZkNCcGJraHBaMmdnSVQwZ2FXNUlhV2RvWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnYm04dGMyVnNaaTFqYjIxd1lYSmxYRzRnSUNBZ0lDQjhmQ0J2ZFhSTWIzY2dJVDBnYjNWMFRHOTNYRzRnSUNBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0YzJWc1ppMWpiMjF3WVhKbFhHNGdJQ0FnSUNCOGZDQnZkWFJJYVdkb0lDRTlJRzkxZEVocFoyaGNiaUFnS1NCeVpYUjFjbTRnVG1GT08xeHVJQ0JwWmlBb2VDQTlQVDBnU1c1bWFXNXBkSGtnZkh3Z2VDQTlQVDBnTFVsdVptbHVhWFI1S1NCeVpYUjFjbTRnZUR0Y2JpQWdjbVYwZFhKdUlDaDRJQzBnYVc1TWIzY3BJQ29nS0c5MWRFaHBaMmdnTFNCdmRYUk1iM2NwSUM4Z0tHbHVTR2xuYUNBdElHbHVURzkzS1NBcklHOTFkRXh2ZHp0Y2JuMDdYRzRpTENJdkx5QXlNQzR5TGpJdU1qZ2dUV0YwYUM1emFXZHVLSGdwWEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUUxaGRHZ3VjMmxuYmlCOGZDQm1kVzVqZEdsdmJpQnphV2R1S0hncElIdGNiaUFnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUc1dkxYTmxiR1l0WTI5dGNHRnlaVnh1SUNCeVpYUjFjbTRnS0hnZ1BTQXJlQ2tnUFQwZ01DQjhmQ0I0SUNFOUlIZ2dQeUI0SURvZ2VDQThJREFnUHlBdE1TQTZJREU3WEc1OU8xeHVJaXdpZG1GeUlFMUZWRUVnUFNCeVpYRjFhWEpsS0NjdUwxOTFhV1FuS1NnbmJXVjBZU2NwTzF4dWRtRnlJR2x6VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmFYTXRiMkpxWldOMEp5azdYRzUyWVhJZ2FHRnpJRDBnY21WeGRXbHlaU2duTGk5ZmFHRnpKeWs3WEc1MllYSWdjMlYwUkdWell5QTlJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFrY0NjcExtWTdYRzUyWVhJZ2FXUWdQU0F3TzF4dWRtRnlJR2x6UlhoMFpXNXphV0pzWlNBOUlFOWlhbVZqZEM1cGMwVjRkR1Z1YzJsaWJHVWdmSHdnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JuMDdYRzUyWVhJZ1JsSkZSVnBGSUQwZ0lYSmxjWFZwY21Vb0p5NHZYMlpoYVd4ekp5a29ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQnlaWFIxY200Z2FYTkZlSFJsYm5OcFlteGxLRTlpYW1WamRDNXdjbVYyWlc1MFJYaDBaVzV6YVc5dWN5aDdmU2twTzF4dWZTazdYRzUyWVhJZ2MyVjBUV1YwWVNBOUlHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQnpaWFJFWlhOaktHbDBMQ0JOUlZSQkxDQjdJSFpoYkhWbE9pQjdYRzRnSUNBZ2FUb2dKMDhuSUNzZ0t5dHBaQ3dnTHk4Z2IySnFaV04wSUVsRVhHNGdJQ0FnZHpvZ2UzMGdJQ0FnSUNBZ0lDQWdMeThnZDJWaGF5QmpiMnhzWldOMGFXOXVjeUJKUkhOY2JpQWdmU0I5S1R0Y2JuMDdYRzUyWVhJZ1ptRnpkRXRsZVNBOUlHWjFibU4wYVc5dUlDaHBkQ3dnWTNKbFlYUmxLU0I3WEc0Z0lDOHZJSEpsZEhWeWJpQndjbWx0YVhScGRtVWdkMmwwYUNCd2NtVm1hWGhjYmlBZ2FXWWdLQ0ZwYzA5aWFtVmpkQ2hwZENrcElISmxkSFZ5YmlCMGVYQmxiMllnYVhRZ1BUMGdKM041YldKdmJDY2dQeUJwZENBNklDaDBlWEJsYjJZZ2FYUWdQVDBnSjNOMGNtbHVaeWNnUHlBblV5Y2dPaUFuVUNjcElDc2dhWFE3WEc0Z0lHbG1JQ2doYUdGektHbDBMQ0JOUlZSQktTa2dlMXh1SUNBZ0lDOHZJR05oYmlkMElITmxkQ0J0WlhSaFpHRjBZU0IwYnlCMWJtTmhkV2RvZENCbWNtOTZaVzRnYjJKcVpXTjBYRzRnSUNBZ2FXWWdLQ0ZwYzBWNGRHVnVjMmxpYkdVb2FYUXBLU0J5WlhSMWNtNGdKMFluTzF4dUlDQWdJQzh2SUc1dmRDQnVaV05sYzNOaGNua2dkRzhnWVdSa0lHMWxkR0ZrWVhSaFhHNGdJQ0FnYVdZZ0tDRmpjbVZoZEdVcElISmxkSFZ5YmlBblJTYzdYRzRnSUNBZ0x5OGdZV1JrSUcxcGMzTnBibWNnYldWMFlXUmhkR0ZjYmlBZ0lDQnpaWFJOWlhSaEtHbDBLVHRjYmlBZ0x5OGdjbVYwZFhKdUlHOWlhbVZqZENCSlJGeHVJQ0I5SUhKbGRIVnliaUJwZEZ0TlJWUkJYUzVwTzF4dWZUdGNiblpoY2lCblpYUlhaV0ZySUQwZ1puVnVZM1JwYjI0Z0tHbDBMQ0JqY21WaGRHVXBJSHRjYmlBZ2FXWWdLQ0ZvWVhNb2FYUXNJRTFGVkVFcEtTQjdYRzRnSUNBZ0x5OGdZMkZ1SjNRZ2MyVjBJRzFsZEdGa1lYUmhJSFJ2SUhWdVkyRjFaMmgwSUdaeWIzcGxiaUJ2WW1wbFkzUmNiaUFnSUNCcFppQW9JV2x6UlhoMFpXNXphV0pzWlNocGRDa3BJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQzh2SUc1dmRDQnVaV05sYzNOaGNua2dkRzhnWVdSa0lHMWxkR0ZrWVhSaFhHNGdJQ0FnYVdZZ0tDRmpjbVZoZEdVcElISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQXZMeUJoWkdRZ2JXbHpjMmx1WnlCdFpYUmhaR0YwWVZ4dUlDQWdJSE5sZEUxbGRHRW9hWFFwTzF4dUlDQXZMeUJ5WlhSMWNtNGdhR0Z6YUNCM1pXRnJJR052Ykd4bFkzUnBiMjV6SUVsRWMxeHVJQ0I5SUhKbGRIVnliaUJwZEZ0TlJWUkJYUzUzTzF4dWZUdGNiaTh2SUdGa1pDQnRaWFJoWkdGMFlTQnZiaUJtY21WbGVtVXRabUZ0YVd4NUlHMWxkR2h2WkhNZ1kyRnNiR2x1WjF4dWRtRnlJRzl1Um5KbFpYcGxJRDBnWm5WdVkzUnBiMjRnS0dsMEtTQjdYRzRnSUdsbUlDaEdVa1ZGV2tVZ0ppWWdiV1YwWVM1T1JVVkVJQ1ltSUdselJYaDBaVzV6YVdKc1pTaHBkQ2tnSmlZZ0lXaGhjeWhwZEN3Z1RVVlVRU2twSUhObGRFMWxkR0VvYVhRcE8xeHVJQ0J5WlhSMWNtNGdhWFE3WEc1OU8xeHVkbUZ5SUcxbGRHRWdQU0J0YjJSMWJHVXVaWGh3YjNKMGN5QTlJSHRjYmlBZ1MwVlpPaUJOUlZSQkxGeHVJQ0JPUlVWRU9pQm1ZV3h6WlN4Y2JpQWdabUZ6ZEV0bGVUb2dabUZ6ZEV0bGVTeGNiaUFnWjJWMFYyVmhhem9nWjJWMFYyVmhheXhjYmlBZ2IyNUdjbVZsZW1VNklHOXVSbkpsWlhwbFhHNTlPMXh1SWl3aWRtRnlJRTFoY0NBOUlISmxjWFZwY21Vb0p5NHZaWE0yTG0xaGNDY3BPMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQnphR0Z5WldRZ1BTQnlaWEYxYVhKbEtDY3VMMTl6YUdGeVpXUW5LU2duYldWMFlXUmhkR0VuS1R0Y2JuWmhjaUJ6ZEc5eVpTQTlJSE5vWVhKbFpDNXpkRzl5WlNCOGZDQW9jMmhoY21Wa0xuTjBiM0psSUQwZ2JtVjNJQ2h5WlhGMWFYSmxLQ2N1TDJWek5pNTNaV0ZyTFcxaGNDY3BLU2dwS1R0Y2JseHVkbUZ5SUdkbGRFOXlRM0psWVhSbFRXVjBZV1JoZEdGTllYQWdQU0JtZFc1amRHbHZiaUFvZEdGeVoyVjBMQ0IwWVhKblpYUkxaWGtzSUdOeVpXRjBaU2tnZTF4dUlDQjJZWElnZEdGeVoyVjBUV1YwWVdSaGRHRWdQU0J6ZEc5eVpTNW5aWFFvZEdGeVoyVjBLVHRjYmlBZ2FXWWdLQ0YwWVhKblpYUk5aWFJoWkdGMFlTa2dlMXh1SUNBZ0lHbG1JQ2doWTNKbFlYUmxLU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lITjBiM0psTG5ObGRDaDBZWEpuWlhRc0lIUmhjbWRsZEUxbGRHRmtZWFJoSUQwZ2JtVjNJRTFoY0NncEtUdGNiaUFnZlZ4dUlDQjJZWElnYTJWNVRXVjBZV1JoZEdFZ1BTQjBZWEpuWlhSTlpYUmhaR0YwWVM1blpYUW9kR0Z5WjJWMFMyVjVLVHRjYmlBZ2FXWWdLQ0ZyWlhsTlpYUmhaR0YwWVNrZ2UxeHVJQ0FnSUdsbUlDZ2hZM0psWVhSbEtTQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUhSaGNtZGxkRTFsZEdGa1lYUmhMbk5sZENoMFlYSm5aWFJMWlhrc0lHdGxlVTFsZEdGa1lYUmhJRDBnYm1WM0lFMWhjQ2dwS1R0Y2JpQWdmU0J5WlhSMWNtNGdhMlY1VFdWMFlXUmhkR0U3WEc1OU8xeHVkbUZ5SUc5eVpHbHVZWEo1U0dGelQzZHVUV1YwWVdSaGRHRWdQU0JtZFc1amRHbHZiaUFvVFdWMFlXUmhkR0ZMWlhrc0lFOHNJRkFwSUh0Y2JpQWdkbUZ5SUcxbGRHRmtZWFJoVFdGd0lEMGdaMlYwVDNKRGNtVmhkR1ZOWlhSaFpHRjBZVTFoY0NoUExDQlFMQ0JtWVd4elpTazdYRzRnSUhKbGRIVnliaUJ0WlhSaFpHRjBZVTFoY0NBOVBUMGdkVzVrWldacGJtVmtJRDhnWm1Gc2MyVWdPaUJ0WlhSaFpHRjBZVTFoY0M1b1lYTW9UV1YwWVdSaGRHRkxaWGtwTzF4dWZUdGNiblpoY2lCdmNtUnBibUZ5ZVVkbGRFOTNiazFsZEdGa1lYUmhJRDBnWm5WdVkzUnBiMjRnS0UxbGRHRmtZWFJoUzJWNUxDQlBMQ0JRS1NCN1hHNGdJSFpoY2lCdFpYUmhaR0YwWVUxaGNDQTlJR2RsZEU5eVEzSmxZWFJsVFdWMFlXUmhkR0ZOWVhBb1R5d2dVQ3dnWm1Gc2MyVXBPMXh1SUNCeVpYUjFjbTRnYldWMFlXUmhkR0ZOWVhBZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUhWdVpHVm1hVzVsWkNBNklHMWxkR0ZrWVhSaFRXRndMbWRsZENoTlpYUmhaR0YwWVV0bGVTazdYRzU5TzF4dWRtRnlJRzl5WkdsdVlYSjVSR1ZtYVc1bFQzZHVUV1YwWVdSaGRHRWdQU0JtZFc1amRHbHZiaUFvVFdWMFlXUmhkR0ZMWlhrc0lFMWxkR0ZrWVhSaFZtRnNkV1VzSUU4c0lGQXBJSHRjYmlBZ1oyVjBUM0pEY21WaGRHVk5aWFJoWkdGMFlVMWhjQ2hQTENCUUxDQjBjblZsS1M1elpYUW9UV1YwWVdSaGRHRkxaWGtzSUUxbGRHRmtZWFJoVm1Gc2RXVXBPMXh1ZlR0Y2JuWmhjaUJ2Y21ScGJtRnllVTkzYmsxbGRHRmtZWFJoUzJWNWN5QTlJR1oxYm1OMGFXOXVJQ2gwWVhKblpYUXNJSFJoY21kbGRFdGxlU2tnZTF4dUlDQjJZWElnYldWMFlXUmhkR0ZOWVhBZ1BTQm5aWFJQY2tOeVpXRjBaVTFsZEdGa1lYUmhUV0Z3S0hSaGNtZGxkQ3dnZEdGeVoyVjBTMlY1TENCbVlXeHpaU2s3WEc0Z0lIWmhjaUJyWlhseklEMGdXMTA3WEc0Z0lHbG1JQ2h0WlhSaFpHRjBZVTFoY0NrZ2JXVjBZV1JoZEdGTllYQXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9YeXdnYTJWNUtTQjdJR3RsZVhNdWNIVnphQ2hyWlhrcE95QjlLVHRjYmlBZ2NtVjBkWEp1SUd0bGVYTTdYRzU5TzF4dWRtRnlJSFJ2VFdWMFlVdGxlU0E5SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCeVpYUjFjbTRnYVhRZ1BUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkNCMGVYQmxiMllnYVhRZ1BUMGdKM041YldKdmJDY2dQeUJwZENBNklGTjBjbWx1WnlocGRDazdYRzU5TzF4dWRtRnlJR1Y0Y0NBOUlHWjFibU4wYVc5dUlDaFBLU0I3WEc0Z0lDUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VExDQW5VbVZtYkdWamRDY3NJRThwTzF4dWZUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0I3WEc0Z0lITjBiM0psT2lCemRHOXlaU3hjYmlBZ2JXRndPaUJuWlhSUGNrTnlaV0YwWlUxbGRHRmtZWFJoVFdGd0xGeHVJQ0JvWVhNNklHOXlaR2x1WVhKNVNHRnpUM2R1VFdWMFlXUmhkR0VzWEc0Z0lHZGxkRG9nYjNKa2FXNWhjbmxIWlhSUGQyNU5aWFJoWkdGMFlTeGNiaUFnYzJWME9pQnZjbVJwYm1GeWVVUmxabWx1WlU5M2JrMWxkR0ZrWVhSaExGeHVJQ0JyWlhsek9pQnZjbVJwYm1GeWVVOTNiazFsZEdGa1lYUmhTMlY1Y3l4Y2JpQWdhMlY1T2lCMGIwMWxkR0ZMWlhrc1hHNGdJR1Y0Y0RvZ1pYaHdYRzU5TzF4dUlpd2lkbUZ5SUdkc2IySmhiQ0E5SUhKbGNYVnBjbVVvSnk0dlgyZHNiMkpoYkNjcE8xeHVkbUZ5SUcxaFkzSnZkR0Z6YXlBOUlISmxjWFZwY21Vb0p5NHZYM1JoYzJzbktTNXpaWFE3WEc1MllYSWdUMkp6WlhKMlpYSWdQU0JuYkc5aVlXd3VUWFYwWVhScGIyNVBZbk5sY25abGNpQjhmQ0JuYkc5aVlXd3VWMlZpUzJsMFRYVjBZWFJwYjI1UFluTmxjblpsY2p0Y2JuWmhjaUJ3Y205alpYTnpJRDBnWjJ4dlltRnNMbkJ5YjJObGMzTTdYRzUyWVhJZ1VISnZiV2x6WlNBOUlHZHNiMkpoYkM1UWNtOXRhWE5sTzF4dWRtRnlJR2x6VG05a1pTQTlJSEpsY1hWcGNtVW9KeTR2WDJOdlppY3BLSEJ5YjJObGMzTXBJRDA5SUNkd2NtOWpaWE56Snp0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIWmhjaUJvWldGa0xDQnNZWE4wTENCdWIzUnBabms3WEc1Y2JpQWdkbUZ5SUdac2RYTm9JRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUhaaGNpQndZWEpsYm5Rc0lHWnVPMXh1SUNBZ0lHbG1JQ2hwYzA1dlpHVWdKaVlnS0hCaGNtVnVkQ0E5SUhCeWIyTmxjM011Wkc5dFlXbHVLU2tnY0dGeVpXNTBMbVY0YVhRb0tUdGNiaUFnSUNCM2FHbHNaU0FvYUdWaFpDa2dlMXh1SUNBZ0lDQWdabTRnUFNCb1pXRmtMbVp1TzF4dUlDQWdJQ0FnYUdWaFpDQTlJR2hsWVdRdWJtVjRkRHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lHWnVLQ2s3WEc0Z0lDQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hvWldGa0tTQnViM1JwWm5rb0tUdGNiaUFnSUNBZ0lDQWdaV3h6WlNCc1lYTjBJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNCMGFISnZkeUJsTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnYkdGemRDQTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQnBaaUFvY0dGeVpXNTBLU0J3WVhKbGJuUXVaVzUwWlhJb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCT2IyUmxMbXB6WEc0Z0lHbG1JQ2hwYzA1dlpHVXBJSHRjYmlBZ0lDQnViM1JwWm5rZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0J3Y205alpYTnpMbTVsZUhSVWFXTnJLR1pzZFhOb0tUdGNiaUFnSUNCOU8xeHVJQ0F2THlCaWNtOTNjMlZ5Y3lCM2FYUm9JRTExZEdGMGFXOXVUMkp6WlhKMlpYSXNJR1Y0WTJWd2RDQnBUMU1nVTJGbVlYSnBJQzBnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDNwc2IybHliMk5yTDJOdmNtVXRhbk12YVhOemRXVnpMek16T1Z4dUlDQjlJR1ZzYzJVZ2FXWWdLRTlpYzJWeWRtVnlJQ1ltSUNFb1oyeHZZbUZzTG01aGRtbG5ZWFJ2Y2lBbUppQm5iRzlpWVd3dWJtRjJhV2RoZEc5eUxuTjBZVzVrWVd4dmJtVXBLU0I3WEc0Z0lDQWdkbUZ5SUhSdloyZHNaU0E5SUhSeWRXVTdYRzRnSUNBZ2RtRnlJRzV2WkdVZ1BTQmtiMk4xYldWdWRDNWpjbVZoZEdWVVpYaDBUbTlrWlNnbkp5azdYRzRnSUNBZ2JtVjNJRTlpYzJWeWRtVnlLR1pzZFhOb0tTNXZZbk5sY25abEtHNXZaR1VzSUhzZ1kyaGhjbUZqZEdWeVJHRjBZVG9nZEhKMVpTQjlLVHNnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0YkdsdVpTQnVieTF1WlhkY2JpQWdJQ0J1YjNScFpua2dQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNCdWIyUmxMbVJoZEdFZ1BTQjBiMmRuYkdVZ1BTQWhkRzluWjJ4bE8xeHVJQ0FnSUgwN1hHNGdJQzh2SUdWdWRtbHliMjV0Wlc1MGN5QjNhWFJvSUcxaGVXSmxJRzV2YmkxamIyMXdiR1YwWld4NUlHTnZjbkpsWTNRc0lHSjFkQ0JsZUdsemRHVnVkQ0JRY205dGFYTmxYRzRnSUgwZ1pXeHpaU0JwWmlBb1VISnZiV2x6WlNBbUppQlFjbTl0YVhObExuSmxjMjlzZG1VcElIdGNiaUFnSUNBdkx5QlFjbTl0YVhObExuSmxjMjlzZG1VZ2QybDBhRzkxZENCaGJpQmhjbWQxYldWdWRDQjBhSEp2ZDNNZ1lXNGdaWEp5YjNJZ2FXNGdURWNnVjJWaVQxTWdNbHh1SUNBZ0lIWmhjaUJ3Y205dGFYTmxJRDBnVUhKdmJXbHpaUzV5WlhOdmJIWmxLSFZ1WkdWbWFXNWxaQ2s3WEc0Z0lDQWdibTkwYVdaNUlEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnY0hKdmJXbHpaUzUwYUdWdUtHWnNkWE5vS1R0Y2JpQWdJQ0I5TzF4dUlDQXZMeUJtYjNJZ2IzUm9aWElnWlc1MmFYSnZibTFsYm5SeklDMGdiV0ZqY205MFlYTnJJR0poYzJWa0lHOXVPbHh1SUNBdkx5QXRJSE5sZEVsdGJXVmthV0YwWlZ4dUlDQXZMeUF0SUUxbGMzTmhaMlZEYUdGdWJtVnNYRzRnSUM4dklDMGdkMmx1Wkc5M0xuQnZjM1JOWlhOellXZGNiaUFnTHk4Z0xTQnZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVmNiaUFnTHk4Z0xTQnpaWFJVYVcxbGIzVjBYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdibTkwYVdaNUlEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnTHk4Z2MzUnlZVzVuWlNCSlJTQXJJSGRsWW5CaFkyc2daR1YySUhObGNuWmxjaUJpZFdjZ0xTQjFjMlVnTG1OaGJHd29aMnh2WW1Gc0tWeHVJQ0FnSUNBZ2JXRmpjbTkwWVhOckxtTmhiR3dvWjJ4dlltRnNMQ0JtYkhWemFDazdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9abTRwSUh0Y2JpQWdJQ0IyWVhJZ2RHRnpheUE5SUhzZ1ptNDZJR1p1TENCdVpYaDBPaUIxYm1SbFptbHVaV1FnZlR0Y2JpQWdJQ0JwWmlBb2JHRnpkQ2tnYkdGemRDNXVaWGgwSUQwZ2RHRnphenRjYmlBZ0lDQnBaaUFvSVdobFlXUXBJSHRjYmlBZ0lDQWdJR2hsWVdRZ1BTQjBZWE5yTzF4dUlDQWdJQ0FnYm05MGFXWjVLQ2s3WEc0Z0lDQWdmU0JzWVhOMElEMGdkR0Z6YXp0Y2JpQWdmVHRjYm4wN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNHZMeUF5TlM0MExqRXVOU0JPWlhkUWNtOXRhWE5sUTJGd1lXSnBiR2wwZVNoREtWeHVkbUZ5SUdGR2RXNWpkR2x2YmlBOUlISmxjWFZwY21Vb0p5NHZYMkV0Wm5WdVkzUnBiMjRuS1R0Y2JseHVablZ1WTNScGIyNGdVSEp2YldselpVTmhjR0ZpYVd4cGRIa29ReWtnZTF4dUlDQjJZWElnY21WemIyeDJaU3dnY21WcVpXTjBPMXh1SUNCMGFHbHpMbkJ5YjIxcGMyVWdQU0J1WlhjZ1F5aG1kVzVqZEdsdmJpQW9KQ1J5WlhOdmJIWmxMQ0FrSkhKbGFtVmpkQ2tnZTF4dUlDQWdJR2xtSUNoeVpYTnZiSFpsSUNFOVBTQjFibVJsWm1sdVpXUWdmSHdnY21WcVpXTjBJQ0U5UFNCMWJtUmxabWx1WldRcElIUm9jbTkzSUZSNWNHVkZjbkp2Y2lnblFtRmtJRkJ5YjIxcGMyVWdZMjl1YzNSeWRXTjBiM0luS1R0Y2JpQWdJQ0J5WlhOdmJIWmxJRDBnSkNSeVpYTnZiSFpsTzF4dUlDQWdJSEpsYW1WamRDQTlJQ1FrY21WcVpXTjBPMXh1SUNCOUtUdGNiaUFnZEdocGN5NXlaWE52YkhabElEMGdZVVoxYm1OMGFXOXVLSEpsYzI5c2RtVXBPMXh1SUNCMGFHbHpMbkpsYW1WamRDQTlJR0ZHZFc1amRHbHZiaWh5WldwbFkzUXBPMXh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3k1bUlEMGdablZ1WTNScGIyNGdLRU1wSUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJRY205dGFYTmxRMkZ3WVdKcGJHbDBlU2hES1R0Y2JuMDdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzR2THlBeE9TNHhMakl1TVNCUFltcGxZM1F1WVhOemFXZHVLSFJoY21kbGRDd2djMjkxY21ObExDQXVMaTRwWEc1MllYSWdaMlYwUzJWNWN5QTlJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFyWlhsekp5azdYRzUyWVhJZ1owOVFVeUE5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxbmIzQnpKeWs3WEc1MllYSWdjRWxGSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExYQnBaU2NwTzF4dWRtRnlJSFJ2VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRiMkpxWldOMEp5azdYRzUyWVhJZ1NVOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx2WW1wbFkzUW5LVHRjYm5aaGNpQWtZWE56YVdkdUlEMGdUMkpxWldOMExtRnpjMmxuYmp0Y2JseHVMeThnYzJodmRXeGtJSGR2Y21zZ2QybDBhQ0J6ZVcxaWIyeHpJR0Z1WkNCemFHOTFiR1FnYUdGMlpTQmtaWFJsY20xcGJtbHpkR2xqSUhCeWIzQmxjblI1SUc5eVpHVnlJQ2hXT0NCaWRXY3BYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJQ0VrWVhOemFXZHVJSHg4SUhKbGNYVnBjbVVvSnk0dlgyWmhhV3h6Snlrb1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMllYSWdRU0E5SUh0OU8xeHVJQ0IyWVhJZ1FpQTlJSHQ5TzF4dUlDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0ZFc1a1pXWmNiaUFnZG1GeUlGTWdQU0JUZVcxaWIyd29LVHRjYmlBZ2RtRnlJRXNnUFNBbllXSmpaR1ZtWjJocGFtdHNiVzV2Y0hGeWMzUW5PMXh1SUNCQlcxTmRJRDBnTnp0Y2JpQWdTeTV6Y0d4cGRDZ25KeWt1Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvYXlrZ2V5QkNXMnRkSUQwZ2F6c2dmU2s3WEc0Z0lISmxkSFZ5YmlBa1lYTnphV2R1S0h0OUxDQkJLVnRUWFNBaFBTQTNJSHg4SUU5aWFtVmpkQzVyWlhsektDUmhjM05wWjI0b2UzMHNJRUlwS1M1cWIybHVLQ2NuS1NBaFBTQkxPMXh1ZlNrZ1B5Qm1kVzVqZEdsdmJpQmhjM05wWjI0b2RHRnlaMlYwTENCemIzVnlZMlVwSUhzZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJHbHVaU0J1YnkxMWJuVnpaV1F0ZG1GeWMxeHVJQ0IyWVhJZ1ZDQTlJSFJ2VDJKcVpXTjBLSFJoY21kbGRDazdYRzRnSUhaaGNpQmhUR1Z1SUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUR0Y2JpQWdkbUZ5SUdsdVpHVjRJRDBnTVR0Y2JpQWdkbUZ5SUdkbGRGTjViV0p2YkhNZ1BTQm5UMUJUTG1ZN1hHNGdJSFpoY2lCcGMwVnVkVzBnUFNCd1NVVXVaanRjYmlBZ2QyaHBiR1VnS0dGTVpXNGdQaUJwYm1SbGVDa2dlMXh1SUNBZ0lIWmhjaUJUSUQwZ1NVOWlhbVZqZENoaGNtZDFiV1Z1ZEhOYmFXNWtaWGdySzEwcE8xeHVJQ0FnSUhaaGNpQnJaWGx6SUQwZ1oyVjBVM2x0WW05c2N5QS9JR2RsZEV0bGVYTW9VeWt1WTI5dVkyRjBLR2RsZEZONWJXSnZiSE1vVXlrcElEb2daMlYwUzJWNWN5aFRLVHRjYmlBZ0lDQjJZWElnYkdWdVozUm9JRDBnYTJWNWN5NXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlHb2dQU0F3TzF4dUlDQWdJSFpoY2lCclpYazdYRzRnSUNBZ2QyaHBiR1VnS0d4bGJtZDBhQ0ErSUdvcElHbG1JQ2hwYzBWdWRXMHVZMkZzYkNoVExDQnJaWGtnUFNCclpYbHpXMm9ySzEwcEtTQlVXMnRsZVYwZ1BTQlRXMnRsZVYwN1hHNGdJSDBnY21WMGRYSnVJRlE3WEc1OUlEb2dKR0Z6YzJsbmJqdGNiaUlzSWk4dklERTVMakV1TWk0eUlDOGdNVFV1TWk0ekxqVWdUMkpxWldOMExtTnlaV0YwWlNoUElGc3NJRkJ5YjNCbGNuUnBaWE5kS1Z4dWRtRnlJR0Z1VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRiMkpxWldOMEp5azdYRzUyWVhJZ1pGQnpJRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdSd2N5Y3BPMXh1ZG1GeUlHVnVkVzFDZFdkTFpYbHpJRDBnY21WeGRXbHlaU2duTGk5ZlpXNTFiUzFpZFdjdGEyVjVjeWNwTzF4dWRtRnlJRWxGWDFCU1QxUlBJRDBnY21WeGRXbHlaU2duTGk5ZmMyaGhjbVZrTFd0bGVTY3BLQ2RKUlY5UVVrOVVUeWNwTzF4dWRtRnlJRVZ0Y0hSNUlEMGdablZ1WTNScGIyNGdLQ2tnZXlBdktpQmxiWEIwZVNBcUx5QjlPMXh1ZG1GeUlGQlNUMVJQVkZsUVJTQTlJQ2R3Y205MGIzUjVjR1VuTzF4dVhHNHZMeUJEY21WaGRHVWdiMkpxWldOMElIZHBkR2dnWm1GclpTQmdiblZzYkdBZ2NISnZkRzkwZVhCbE9pQjFjMlVnYVdaeVlXMWxJRTlpYW1WamRDQjNhWFJvSUdOc1pXRnlaV1FnY0hKdmRHOTBlWEJsWEc1MllYSWdZM0psWVhSbFJHbGpkQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnTHk4Z1ZHaHlZWE5vTENCM1lYTjBaU0JoYm1RZ2MyOWtiMjE1T2lCSlJTQkhReUJpZFdkY2JpQWdkbUZ5SUdsbWNtRnRaU0E5SUhKbGNYVnBjbVVvSnk0dlgyUnZiUzFqY21WaGRHVW5LU2duYVdaeVlXMWxKeWs3WEc0Z0lIWmhjaUJwSUQwZ1pXNTFiVUoxWjB0bGVYTXViR1Z1WjNSb08xeHVJQ0IyWVhJZ2JIUWdQU0FuUENjN1hHNGdJSFpoY2lCbmRDQTlJQ2MrSnp0Y2JpQWdkbUZ5SUdsbWNtRnRaVVJ2WTNWdFpXNTBPMXh1SUNCcFpuSmhiV1V1YzNSNWJHVXVaR2x6Y0d4aGVTQTlJQ2R1YjI1bEp6dGNiaUFnY21WeGRXbHlaU2duTGk5ZmFIUnRiQ2NwTG1Gd2NHVnVaRU5vYVd4a0tHbG1jbUZ0WlNrN1hHNGdJR2xtY21GdFpTNXpjbU1nUFNBbmFtRjJZWE5qY21sd2REb25PeUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMWE5qY21sd2RDMTFjbXhjYmlBZ0x5OGdZM0psWVhSbFJHbGpkQ0E5SUdsbWNtRnRaUzVqYjI1MFpXNTBWMmx1Wkc5M0xrOWlhbVZqZER0Y2JpQWdMeThnYUhSdGJDNXlaVzF2ZG1WRGFHbHNaQ2hwWm5KaGJXVXBPMXh1SUNCcFpuSmhiV1ZFYjJOMWJXVnVkQ0E5SUdsbWNtRnRaUzVqYjI1MFpXNTBWMmx1Wkc5M0xtUnZZM1Z0Wlc1ME8xeHVJQ0JwWm5KaGJXVkViMk4xYldWdWRDNXZjR1Z1S0NrN1hHNGdJR2xtY21GdFpVUnZZM1Z0Wlc1MExuZHlhWFJsS0d4MElDc2dKM05qY21sd2RDY2dLeUJuZENBcklDZGtiMk4xYldWdWRDNUdQVTlpYW1WamRDY2dLeUJzZENBcklDY3ZjMk55YVhCMEp5QXJJR2QwS1R0Y2JpQWdhV1p5WVcxbFJHOWpkVzFsYm5RdVkyeHZjMlVvS1R0Y2JpQWdZM0psWVhSbFJHbGpkQ0E5SUdsbWNtRnRaVVJ2WTNWdFpXNTBMa1k3WEc0Z0lIZG9hV3hsSUNocExTMHBJR1JsYkdWMFpTQmpjbVZoZEdWRWFXTjBXMUJTVDFSUFZGbFFSVjFiWlc1MWJVSjFaMHRsZVhOYmFWMWRPMXh1SUNCeVpYUjFjbTRnWTNKbFlYUmxSR2xqZENncE8xeHVmVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCUFltcGxZM1F1WTNKbFlYUmxJSHg4SUdaMWJtTjBhVzl1SUdOeVpXRjBaU2hQTENCUWNtOXdaWEowYVdWektTQjdYRzRnSUhaaGNpQnlaWE4xYkhRN1hHNGdJR2xtSUNoUElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ1JXMXdkSGxiVUZKUFZFOVVXVkJGWFNBOUlHRnVUMkpxWldOMEtFOHBPMXh1SUNBZ0lISmxjM1ZzZENBOUlHNWxkeUJGYlhCMGVTZ3BPMXh1SUNBZ0lFVnRjSFI1VzFCU1QxUlBWRmxRUlYwZ1BTQnVkV3hzTzF4dUlDQWdJQzh2SUdGa1pDQmNJbDlmY0hKdmRHOWZYMXdpSUdadmNpQlBZbXBsWTNRdVoyVjBVSEp2ZEc5MGVYQmxUMllnY0c5c2VXWnBiR3hjYmlBZ0lDQnlaWE4xYkhSYlNVVmZVRkpQVkU5ZElEMGdUenRjYmlBZ2ZTQmxiSE5sSUhKbGMzVnNkQ0E5SUdOeVpXRjBaVVJwWTNRb0tUdGNiaUFnY21WMGRYSnVJRkJ5YjNCbGNuUnBaWE1nUFQwOUlIVnVaR1ZtYVc1bFpDQS9JSEpsYzNWc2RDQTZJR1JRY3loeVpYTjFiSFFzSUZCeWIzQmxjblJwWlhNcE8xeHVmVHRjYmlJc0luWmhjaUJoYms5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnVMVzlpYW1WamRDY3BPMXh1ZG1GeUlFbEZPRjlFVDAxZlJFVkdTVTVGSUQwZ2NtVnhkV2x5WlNnbkxpOWZhV1U0TFdSdmJTMWtaV1pwYm1VbktUdGNiblpoY2lCMGIxQnlhVzFwZEdsMlpTQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxYQnlhVzFwZEdsMlpTY3BPMXh1ZG1GeUlHUlFJRDBnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNU8xeHVYRzVsZUhCdmNuUnpMbVlnUFNCeVpYRjFhWEpsS0NjdUwxOWtaWE5qY21sd2RHOXljeWNwSUQ4Z1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVJRG9nWm5WdVkzUnBiMjRnWkdWbWFXNWxVSEp2Y0dWeWRIa29UeXdnVUN3Z1FYUjBjbWxpZFhSbGN5a2dlMXh1SUNCaGJrOWlhbVZqZENoUEtUdGNiaUFnVUNBOUlIUnZVSEpwYldsMGFYWmxLRkFzSUhSeWRXVXBPMXh1SUNCaGJrOWlhbVZqZENoQmRIUnlhV0oxZEdWektUdGNiaUFnYVdZZ0tFbEZPRjlFVDAxZlJFVkdTVTVGS1NCMGNua2dlMXh1SUNBZ0lISmxkSFZ5YmlCa1VDaFBMQ0JRTENCQmRIUnlhV0oxZEdWektUdGNiaUFnZlNCallYUmphQ0FvWlNrZ2V5QXZLaUJsYlhCMGVTQXFMeUI5WEc0Z0lHbG1JQ2duWjJWMEp5QnBiaUJCZEhSeWFXSjFkR1Z6SUh4OElDZHpaWFFuSUdsdUlFRjBkSEpwWW5WMFpYTXBJSFJvY205M0lGUjVjR1ZGY25KdmNpZ25RV05qWlhOemIzSnpJRzV2ZENCemRYQndiM0owWldRaEp5azdYRzRnSUdsbUlDZ25kbUZzZFdVbklHbHVJRUYwZEhKcFluVjBaWE1wSUU5YlVGMGdQU0JCZEhSeWFXSjFkR1Z6TG5aaGJIVmxPMXh1SUNCeVpYUjFjbTRnVHp0Y2JuMDdYRzRpTENKMllYSWdaRkFnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFpIQW5LVHRjYm5aaGNpQmhiazlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJGdUxXOWlhbVZqZENjcE8xeHVkbUZ5SUdkbGRFdGxlWE1nUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdGEyVjVjeWNwTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb0p5NHZYMlJsYzJOeWFYQjBiM0p6SnlrZ1B5QlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkR2xsY3lBNklHWjFibU4wYVc5dUlHUmxabWx1WlZCeWIzQmxjblJwWlhNb1R5d2dVSEp2Y0dWeWRHbGxjeWtnZTF4dUlDQmhiazlpYW1WamRDaFBLVHRjYmlBZ2RtRnlJR3RsZVhNZ1BTQm5aWFJMWlhsektGQnliM0JsY25ScFpYTXBPMXh1SUNCMllYSWdiR1Z1WjNSb0lEMGdhMlY1Y3k1c1pXNW5kR2c3WEc0Z0lIWmhjaUJwSUQwZ01EdGNiaUFnZG1GeUlGQTdYRzRnSUhkb2FXeGxJQ2hzWlc1bmRHZ2dQaUJwS1NCa1VDNW1LRThzSUZBZ1BTQnJaWGx6VzJrcksxMHNJRkJ5YjNCbGNuUnBaWE5iVUYwcE8xeHVJQ0J5WlhSMWNtNGdUenRjYm4wN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNHZMeUJHYjNKalpXUWdjbVZ3YkdGalpXMWxiblFnY0hKdmRHOTBlWEJsSUdGalkyVnpjMjl5Y3lCdFpYUm9iMlJ6WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKbGNYVnBjbVVvSnk0dlgyeHBZbkpoY25rbktTQjhmQ0FoY21WeGRXbHlaU2duTGk5ZlptRnBiSE1uS1NobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhaaGNpQkxJRDBnVFdGMGFDNXlZVzVrYjIwb0tUdGNiaUFnTHk4Z1NXNGdSa1lnZEdoeWIzZHpJRzl1YkhrZ1pHVm1hVzVsSUcxbGRHaHZaSE5jYmlBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElHNXZMWFZ1WkdWbUxDQnVieTExYzJWc1pYTnpMV05oYkd4Y2JpQWdYMTlrWldacGJtVlRaWFIwWlhKZlh5NWpZV3hzS0c1MWJHd3NJRXNzSUdaMWJtTjBhVzl1SUNncElIc2dMeW9nWlcxd2RIa2dLaThnZlNrN1hHNGdJR1JsYkdWMFpTQnlaWEYxYVhKbEtDY3VMMTluYkc5aVlXd25LVnRMWFR0Y2JuMHBPMXh1SWl3aWRtRnlJSEJKUlNBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMXdhV1VuS1R0Y2JuWmhjaUJqY21WaGRHVkVaWE5qSUQwZ2NtVnhkV2x5WlNnbkxpOWZjSEp2Y0dWeWRIa3RaR1Z6WXljcE8xeHVkbUZ5SUhSdlNVOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFdsdlltcGxZM1FuS1R0Y2JuWmhjaUIwYjFCeWFXMXBkR2wyWlNBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFhCeWFXMXBkR2wyWlNjcE8xeHVkbUZ5SUdoaGN5QTlJSEpsY1hWcGNtVW9KeTR2WDJoaGN5Y3BPMXh1ZG1GeUlFbEZPRjlFVDAxZlJFVkdTVTVGSUQwZ2NtVnhkV2x5WlNnbkxpOWZhV1U0TFdSdmJTMWtaV1pwYm1VbktUdGNiblpoY2lCblQxQkVJRDBnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNqdGNibHh1Wlhod2IzSjBjeTVtSUQwZ2NtVnhkV2x5WlNnbkxpOWZaR1Z6WTNKcGNIUnZjbk1uS1NBL0lHZFBVRVFnT2lCbWRXNWpkR2x2YmlCblpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0lvVHl3Z1VDa2dlMXh1SUNCUElEMGdkRzlKVDJKcVpXTjBLRThwTzF4dUlDQlFJRDBnZEc5UWNtbHRhWFJwZG1Vb1VDd2dkSEoxWlNrN1hHNGdJR2xtSUNoSlJUaGZSRTlOWDBSRlJrbE9SU2tnZEhKNUlIdGNiaUFnSUNCeVpYUjFjbTRnWjA5UVJDaFBMQ0JRS1R0Y2JpQWdmU0JqWVhSamFDQW9aU2tnZXlBdktpQmxiWEIwZVNBcUx5QjlYRzRnSUdsbUlDaG9ZWE1vVHl3Z1VDa3BJSEpsZEhWeWJpQmpjbVZoZEdWRVpYTmpLQ0Z3U1VVdVppNWpZV3hzS0U4c0lGQXBMQ0JQVzFCZEtUdGNibjA3WEc0aUxDSXZMeUJtWVd4c1ltRmpheUJtYjNJZ1NVVXhNU0JpZFdkbmVTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxPWVcxbGN5QjNhWFJvSUdsbWNtRnRaU0JoYm1RZ2QybHVaRzkzWEc1MllYSWdkRzlKVDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRhVzlpYW1WamRDY3BPMXh1ZG1GeUlHZFBVRTRnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFoyOXdiaWNwTG1ZN1hHNTJZWElnZEc5VGRISnBibWNnUFNCN2ZTNTBiMU4wY21sdVp6dGNibHh1ZG1GeUlIZHBibVJ2ZDA1aGJXVnpJRDBnZEhsd1pXOW1JSGRwYm1SdmR5QTlQU0FuYjJKcVpXTjBKeUFtSmlCM2FXNWtiM2NnSmlZZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVUbUZ0WlhOY2JpQWdQeUJQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsT1lXMWxjeWgzYVc1a2IzY3BJRG9nVzEwN1hHNWNiblpoY2lCblpYUlhhVzVrYjNkT1lXMWxjeUE5SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCMGNua2dlMXh1SUNBZ0lISmxkSFZ5YmlCblQxQk9LR2wwS1R0Y2JpQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjNhVzVrYjNkT1lXMWxjeTV6YkdsalpTZ3BPMXh1SUNCOVhHNTlPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeTVtSUQwZ1puVnVZM1JwYjI0Z1oyVjBUM2R1VUhKdmNHVnlkSGxPWVcxbGN5aHBkQ2tnZTF4dUlDQnlaWFIxY200Z2QybHVaRzkzVG1GdFpYTWdKaVlnZEc5VGRISnBibWN1WTJGc2JDaHBkQ2tnUFQwZ0oxdHZZbXBsWTNRZ1YybHVaRzkzWFNjZ1B5Qm5aWFJYYVc1a2IzZE9ZVzFsY3locGRDa2dPaUJuVDFCT0tIUnZTVTlpYW1WamRDaHBkQ2twTzF4dWZUdGNiaUlzSWk4dklERTVMakV1TWk0M0lDOGdNVFV1TWk0ekxqUWdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VG1GdFpYTW9UeWxjYm5aaGNpQWthMlY1Y3lBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMXJaWGx6TFdsdWRHVnlibUZzSnlrN1hHNTJZWElnYUdsa1pHVnVTMlY1Y3lBOUlISmxjWFZwY21Vb0p5NHZYMlZ1ZFcwdFluVm5MV3RsZVhNbktTNWpiMjVqWVhRb0oyeGxibWQwYUNjc0lDZHdjbTkwYjNSNWNHVW5LVHRjYmx4dVpYaHdiM0owY3k1bUlEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VG1GdFpYTWdmSHdnWm5WdVkzUnBiMjRnWjJWMFQzZHVVSEp2Y0dWeWRIbE9ZVzFsY3loUEtTQjdYRzRnSUhKbGRIVnliaUFrYTJWNWN5aFBMQ0JvYVdSa1pXNUxaWGx6S1R0Y2JuMDdYRzRpTENKbGVIQnZjblJ6TG1ZZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpPMXh1SWl3aUx5OGdNVGt1TVM0eUxqa2dMeUF4TlM0eUxqTXVNaUJQWW1wbFkzUXVaMlYwVUhKdmRHOTBlWEJsVDJZb1R5bGNiblpoY2lCb1lYTWdQU0J5WlhGMWFYSmxLQ2N1TDE5b1lYTW5LVHRjYm5aaGNpQjBiMDlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxXOWlhbVZqZENjcE8xeHVkbUZ5SUVsRlgxQlNUMVJQSUQwZ2NtVnhkV2x5WlNnbkxpOWZjMmhoY21Wa0xXdGxlU2NwS0NkSlJWOVFVazlVVHljcE8xeHVkbUZ5SUU5aWFtVmpkRkJ5YjNSdklEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JQWW1wbFkzUXVaMlYwVUhKdmRHOTBlWEJsVDJZZ2ZId2dablZ1WTNScGIyNGdLRThwSUh0Y2JpQWdUeUE5SUhSdlQySnFaV04wS0U4cE8xeHVJQ0JwWmlBb2FHRnpLRThzSUVsRlgxQlNUMVJQS1NrZ2NtVjBkWEp1SUU5YlNVVmZVRkpQVkU5ZE8xeHVJQ0JwWmlBb2RIbHdaVzltSUU4dVkyOXVjM1J5ZFdOMGIzSWdQVDBnSjJaMWJtTjBhVzl1SnlBbUppQlBJR2x1YzNSaGJtTmxiMllnVHk1amIyNXpkSEoxWTNSdmNpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCUExtTnZibk4wY25WamRHOXlMbkJ5YjNSdmRIbHdaVHRjYmlBZ2ZTQnlaWFIxY200Z1R5QnBibk4wWVc1alpXOW1JRTlpYW1WamRDQS9JRTlpYW1WamRGQnliM1J2SURvZ2JuVnNiRHRjYm4wN1hHNGlMQ0oyWVhJZ2FHRnpJRDBnY21WeGRXbHlaU2duTGk5ZmFHRnpKeWs3WEc1MllYSWdkRzlKVDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRhVzlpYW1WamRDY3BPMXh1ZG1GeUlHRnljbUY1U1c1a1pYaFBaaUE5SUhKbGNYVnBjbVVvSnk0dlgyRnljbUY1TFdsdVkyeDFaR1Z6Snlrb1ptRnNjMlVwTzF4dWRtRnlJRWxGWDFCU1QxUlBJRDBnY21WeGRXbHlaU2duTGk5ZmMyaGhjbVZrTFd0bGVTY3BLQ2RKUlY5UVVrOVVUeWNwTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHZZbXBsWTNRc0lHNWhiV1Z6S1NCN1hHNGdJSFpoY2lCUElEMGdkRzlKVDJKcVpXTjBLRzlpYW1WamRDazdYRzRnSUhaaGNpQnBJRDBnTUR0Y2JpQWdkbUZ5SUhKbGMzVnNkQ0E5SUZ0ZE8xeHVJQ0IyWVhJZ2EyVjVPMXh1SUNCbWIzSWdLR3RsZVNCcGJpQlBLU0JwWmlBb2EyVjVJQ0U5SUVsRlgxQlNUMVJQS1NCb1lYTW9UeXdnYTJWNUtTQW1KaUJ5WlhOMWJIUXVjSFZ6YUNoclpYa3BPMXh1SUNBdkx5QkViMjRuZENCbGJuVnRJR0oxWnlBbUlHaHBaR1JsYmlCclpYbHpYRzRnSUhkb2FXeGxJQ2h1WVcxbGN5NXNaVzVuZEdnZ1BpQnBLU0JwWmlBb2FHRnpLRThzSUd0bGVTQTlJRzVoYldWelcya3JLMTBwS1NCN1hHNGdJQ0FnZm1GeWNtRjVTVzVrWlhoUFppaHlaWE4xYkhRc0lHdGxlU2tnZkh3Z2NtVnpkV3gwTG5CMWMyZ29hMlY1S1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlR0Y2JpSXNJaTh2SURFNUxqRXVNaTR4TkNBdklERTFMakl1TXk0eE5DQlBZbXBsWTNRdWEyVjVjeWhQS1Z4dWRtRnlJQ1JyWlhseklEMGdjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV3RsZVhNdGFXNTBaWEp1WVd3bktUdGNiblpoY2lCbGJuVnRRblZuUzJWNWN5QTlJSEpsY1hWcGNtVW9KeTR2WDJWdWRXMHRZblZuTFd0bGVYTW5LVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCUFltcGxZM1F1YTJWNWN5QjhmQ0JtZFc1amRHbHZiaUJyWlhsektFOHBJSHRjYmlBZ2NtVjBkWEp1SUNSclpYbHpLRThzSUdWdWRXMUNkV2RMWlhsektUdGNibjA3WEc0aUxDSmxlSEJ2Y25SekxtWWdQU0I3ZlM1d2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pUdGNiaUlzSWk4dklHMXZjM1FnVDJKcVpXTjBJRzFsZEdodlpITWdZbmtnUlZNMklITm9iM1ZzWkNCaFkyTmxjSFFnY0hKcGJXbDBhWFpsYzF4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUJqYjNKbElEMGdjbVZ4ZFdseVpTZ25MaTlmWTI5eVpTY3BPMXh1ZG1GeUlHWmhhV3h6SUQwZ2NtVnhkV2x5WlNnbkxpOWZabUZwYkhNbktUdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLRXRGV1N3Z1pYaGxZeWtnZTF4dUlDQjJZWElnWm00Z1BTQW9ZMjl5WlM1UFltcGxZM1FnZkh3Z2UzMHBXMHRGV1YwZ2ZId2dUMkpxWldOMFcwdEZXVjA3WEc0Z0lIWmhjaUJsZUhBZ1BTQjdmVHRjYmlBZ1pYaHdXMHRGV1YwZ1BTQmxlR1ZqS0dadUtUdGNiaUFnSkdWNGNHOXlkQ2drWlhod2IzSjBMbE1nS3lBa1pYaHdiM0owTGtZZ0tpQm1ZV2xzY3lobWRXNWpkR2x2YmlBb0tTQjdJR1p1S0RFcE95QjlLU3dnSjA5aWFtVmpkQ2NzSUdWNGNDazdYRzU5TzF4dUlpd2lkbUZ5SUdkbGRFdGxlWE1nUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdGEyVjVjeWNwTzF4dWRtRnlJSFJ2U1U5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgzUnZMV2x2WW1wbFkzUW5LVHRjYm5aaGNpQnBjMFZ1ZFcwZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRjR2xsSnlrdVpqdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLR2x6Ulc1MGNtbGxjeWtnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tHbDBLU0I3WEc0Z0lDQWdkbUZ5SUU4Z1BTQjBiMGxQWW1wbFkzUW9hWFFwTzF4dUlDQWdJSFpoY2lCclpYbHpJRDBnWjJWMFMyVjVjeWhQS1R0Y2JpQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2EyVjVjeTVzWlc1bmRHZzdYRzRnSUNBZ2RtRnlJR2tnUFNBd08xeHVJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQmJYVHRjYmlBZ0lDQjJZWElnYTJWNU8xeHVJQ0FnSUhkb2FXeGxJQ2hzWlc1bmRHZ2dQaUJwS1NCcFppQW9hWE5GYm5WdExtTmhiR3dvVHl3Z2EyVjVJRDBnYTJWNWMxdHBLeXRkS1NrZ2UxeHVJQ0FnSUNBZ2NtVnpkV3gwTG5CMWMyZ29hWE5GYm5SeWFXVnpJRDhnVzJ0bGVTd2dUMXRyWlhsZFhTQTZJRTliYTJWNVhTazdYRzRnSUNBZ2ZTQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlPMXh1ZlR0Y2JpSXNJaTh2SUdGc2JDQnZZbXBsWTNRZ2EyVjVjeXdnYVc1amJIVmtaWE1nYm05dUxXVnVkVzFsY21GaWJHVWdZVzVrSUhONWJXSnZiSE5jYm5aaGNpQm5UMUJPSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXZHZjRzRuS1R0Y2JuWmhjaUJuVDFCVElEMGdjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV2R2Y0hNbktUdGNiblpoY2lCaGJrOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMkZ1TFc5aWFtVmpkQ2NwTzF4dWRtRnlJRkpsWm14bFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bmJHOWlZV3duS1M1U1pXWnNaV04wTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCU1pXWnNaV04wSUNZbUlGSmxabXhsWTNRdWIzZHVTMlY1Y3lCOGZDQm1kVzVqZEdsdmJpQnZkMjVMWlhsektHbDBLU0I3WEc0Z0lIWmhjaUJyWlhseklEMGdaMDlRVGk1bUtHRnVUMkpxWldOMEtHbDBLU2s3WEc0Z0lIWmhjaUJuWlhSVGVXMWliMnh6SUQwZ1owOVFVeTVtTzF4dUlDQnlaWFIxY200Z1oyVjBVM2x0WW05c2N5QS9JR3RsZVhNdVkyOXVZMkYwS0dkbGRGTjViV0p2YkhNb2FYUXBLU0E2SUd0bGVYTTdYRzU5TzF4dUlpd2lkbUZ5SUNSd1lYSnpaVVpzYjJGMElEMGdjbVZ4ZFdseVpTZ25MaTlmWjJ4dlltRnNKeWt1Y0dGeWMyVkdiRzloZER0Y2JuWmhjaUFrZEhKcGJTQTlJSEpsY1hWcGNtVW9KeTR2WDNOMGNtbHVaeTEwY21sdEp5a3VkSEpwYlR0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQXhJQzhnSkhCaGNuTmxSbXh2WVhRb2NtVnhkV2x5WlNnbkxpOWZjM1J5YVc1bkxYZHpKeWtnS3lBbkxUQW5LU0FoUFQwZ0xVbHVabWx1YVhSNUlEOGdablZ1WTNScGIyNGdjR0Z5YzJWR2JHOWhkQ2h6ZEhJcElIdGNiaUFnZG1GeUlITjBjbWx1WnlBOUlDUjBjbWx0S0ZOMGNtbHVaeWh6ZEhJcExDQXpLVHRjYmlBZ2RtRnlJSEpsYzNWc2RDQTlJQ1J3WVhKelpVWnNiMkYwS0hOMGNtbHVaeWs3WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFFnUFQwOUlEQWdKaVlnYzNSeWFXNW5MbU5vWVhKQmRDZ3dLU0E5UFNBbkxTY2dQeUF0TUNBNklISmxjM1ZzZER0Y2JuMGdPaUFrY0dGeWMyVkdiRzloZER0Y2JpSXNJblpoY2lBa2NHRnljMlZKYm5RZ1BTQnlaWEYxYVhKbEtDY3VMMTluYkc5aVlXd25LUzV3WVhKelpVbHVkRHRjYm5aaGNpQWtkSEpwYlNBOUlISmxjWFZwY21Vb0p5NHZYM04wY21sdVp5MTBjbWx0SnlrdWRISnBiVHRjYm5aaGNpQjNjeUE5SUhKbGNYVnBjbVVvSnk0dlgzTjBjbWx1WnkxM2N5Y3BPMXh1ZG1GeUlHaGxlQ0E5SUM5ZVd5MHJYVDh3VzNoWVhTODdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnSkhCaGNuTmxTVzUwS0hkeklDc2dKekE0SnlrZ0lUMDlJRGdnZkh3Z0pIQmhjbk5sU1c1MEtIZHpJQ3NnSnpCNE1UWW5LU0FoUFQwZ01qSWdQeUJtZFc1amRHbHZiaUJ3WVhKelpVbHVkQ2h6ZEhJc0lISmhaR2w0S1NCN1hHNGdJSFpoY2lCemRISnBibWNnUFNBa2RISnBiU2hUZEhKcGJtY29jM1J5S1N3Z015azdYRzRnSUhKbGRIVnliaUFrY0dGeWMyVkpiblFvYzNSeWFXNW5MQ0FvY21Ga2FYZ2dQajQrSURBcElIeDhJQ2hvWlhndWRHVnpkQ2h6ZEhKcGJtY3BJRDhnTVRZZ09pQXhNQ2twTzF4dWZTQTZJQ1J3WVhKelpVbHVkRHRjYmlJc0ltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHVjRaV01wSUh0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0J5WlhSMWNtNGdleUJsT2lCbVlXeHpaU3dnZGpvZ1pYaGxZeWdwSUgwN1hHNGdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdleUJsT2lCMGNuVmxMQ0IyT2lCbElIMDdYRzRnSUgxY2JuMDdYRzRpTENKMllYSWdZVzVQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGJpMXZZbXBsWTNRbktUdGNiblpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dWRtRnlJRzVsZDFCeWIyMXBjMlZEWVhCaFltbHNhWFI1SUQwZ2NtVnhkV2x5WlNnbkxpOWZibVYzTFhCeWIyMXBjMlV0WTJGd1lXSnBiR2wwZVNjcE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hETENCNEtTQjdYRzRnSUdGdVQySnFaV04wS0VNcE8xeHVJQ0JwWmlBb2FYTlBZbXBsWTNRb2VDa2dKaVlnZUM1amIyNXpkSEoxWTNSdmNpQTlQVDBnUXlrZ2NtVjBkWEp1SUhnN1hHNGdJSFpoY2lCd2NtOXRhWE5sUTJGd1lXSnBiR2wwZVNBOUlHNWxkMUJ5YjIxcGMyVkRZWEJoWW1sc2FYUjVMbVlvUXlrN1hHNGdJSFpoY2lCeVpYTnZiSFpsSUQwZ2NISnZiV2x6WlVOaGNHRmlhV3hwZEhrdWNtVnpiMngyWlR0Y2JpQWdjbVZ6YjJ4MlpTaDRLVHRjYmlBZ2NtVjBkWEp1SUhCeWIyMXBjMlZEWVhCaFltbHNhWFI1TG5CeWIyMXBjMlU3WEc1OU8xeHVJaXdpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvWW1sMGJXRndMQ0IyWVd4MVpTa2dlMXh1SUNCeVpYUjFjbTRnZTF4dUlDQWdJR1Z1ZFcxbGNtRmliR1U2SUNFb1ltbDBiV0Z3SUNZZ01Ta3NYRzRnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUFoS0dKcGRHMWhjQ0FtSURJcExGeHVJQ0FnSUhkeWFYUmhZbXhsT2lBaEtHSnBkRzFoY0NBbUlEUXBMRnh1SUNBZ0lIWmhiSFZsT2lCMllXeDFaVnh1SUNCOU8xeHVmVHRjYmlJc0luWmhjaUJ5WldSbFptbHVaU0E5SUhKbGNYVnBjbVVvSnk0dlgzSmxaR1ZtYVc1bEp5azdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2gwWVhKblpYUXNJSE55WXl3Z2MyRm1aU2tnZTF4dUlDQm1iM0lnS0haaGNpQnJaWGtnYVc0Z2MzSmpLU0J5WldSbFptbHVaU2gwWVhKblpYUXNJR3RsZVN3Z2MzSmpXMnRsZVYwc0lITmhabVVwTzF4dUlDQnlaWFIxY200Z2RHRnlaMlYwTzF4dWZUdGNiaUlzSW5aaGNpQm5iRzlpWVd3Z1BTQnlaWEYxYVhKbEtDY3VMMTluYkc5aVlXd25LVHRjYm5aaGNpQm9hV1JsSUQwZ2NtVnhkV2x5WlNnbkxpOWZhR2xrWlNjcE8xeHVkbUZ5SUdoaGN5QTlJSEpsY1hWcGNtVW9KeTR2WDJoaGN5Y3BPMXh1ZG1GeUlGTlNReUE5SUhKbGNYVnBjbVVvSnk0dlgzVnBaQ2NwS0NkemNtTW5LVHRjYm5aaGNpQlVUMTlUVkZKSlRrY2dQU0FuZEc5VGRISnBibWNuTzF4dWRtRnlJQ1IwYjFOMGNtbHVaeUE5SUVaMWJtTjBhVzl1VzFSUFgxTlVVa2xPUjEwN1hHNTJZWElnVkZCTUlEMGdLQ2NuSUNzZ0pIUnZVM1J5YVc1bktTNXpjR3hwZENoVVQxOVRWRkpKVGtjcE8xeHVYRzV5WlhGMWFYSmxLQ2N1TDE5amIzSmxKeWt1YVc1emNHVmpkRk52ZFhKalpTQTlJR1oxYm1OMGFXOXVJQ2hwZENrZ2UxeHVJQ0J5WlhSMWNtNGdKSFJ2VTNSeWFXNW5MbU5oYkd3b2FYUXBPMXh1ZlR0Y2JseHVLRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLRThzSUd0bGVTd2dkbUZzTENCellXWmxLU0I3WEc0Z0lIWmhjaUJwYzBaMWJtTjBhVzl1SUQwZ2RIbHdaVzltSUhaaGJDQTlQU0FuWm5WdVkzUnBiMjRuTzF4dUlDQnBaaUFvYVhOR2RXNWpkR2x2YmlrZ2FHRnpLSFpoYkN3Z0oyNWhiV1VuS1NCOGZDQm9hV1JsS0haaGJDd2dKMjVoYldVbkxDQnJaWGtwTzF4dUlDQnBaaUFvVDF0clpYbGRJRDA5UFNCMllXd3BJSEpsZEhWeWJqdGNiaUFnYVdZZ0tHbHpSblZ1WTNScGIyNHBJR2hoY3loMllXd3NJRk5TUXlrZ2ZId2dhR2xrWlNoMllXd3NJRk5TUXl3Z1QxdHJaWGxkSUQ4Z0p5Y2dLeUJQVzJ0bGVWMGdPaUJVVUV3dWFtOXBiaWhUZEhKcGJtY29hMlY1S1NrcE8xeHVJQ0JwWmlBb1R5QTlQVDBnWjJ4dlltRnNLU0I3WEc0Z0lDQWdUMXRyWlhsZElEMGdkbUZzTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLQ0Z6WVdabEtTQjdYRzRnSUNBZ1pHVnNaWFJsSUU5YmEyVjVYVHRjYmlBZ0lDQm9hV1JsS0U4c0lHdGxlU3dnZG1Gc0tUdGNiaUFnZlNCbGJITmxJR2xtSUNoUFcydGxlVjBwSUh0Y2JpQWdJQ0JQVzJ0bGVWMGdQU0IyWVd3N1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2FHbGtaU2hQTENCclpYa3NJSFpoYkNrN1hHNGdJSDFjYmk4dklHRmtaQ0JtWVd0bElFWjFibU4wYVc5dUkzUnZVM1J5YVc1bklHWnZjaUJqYjNKeVpXTjBJSGR2Y21zZ2QzSmhjSEJsWkNCdFpYUm9iMlJ6SUM4Z1kyOXVjM1J5ZFdOMGIzSnpJSGRwZEdnZ2JXVjBhRzlrY3lCc2FXdGxJRXh2UkdGemFDQnBjMDVoZEdsMlpWeHVmU2tvUm5WdVkzUnBiMjR1Y0hKdmRHOTBlWEJsTENCVVQxOVRWRkpKVGtjc0lHWjFibU4wYVc5dUlIUnZVM1J5YVc1bktDa2dlMXh1SUNCeVpYUjFjbTRnZEhsd1pXOW1JSFJvYVhNZ1BUMGdKMloxYm1OMGFXOXVKeUFtSmlCMGFHbHpXMU5TUTEwZ2ZId2dKSFJ2VTNSeWFXNW5MbU5oYkd3b2RHaHBjeWs3WEc1OUtUdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlHTnNZWE56YjJZZ1BTQnlaWEYxYVhKbEtDY3VMMTlqYkdGemMyOW1KeWs3WEc1MllYSWdZblZwYkhScGJrVjRaV01nUFNCU1pXZEZlSEF1Y0hKdmRHOTBlWEJsTG1WNFpXTTdYRzVjYmlBdkx5QmdVbVZuUlhod1JYaGxZMkFnWVdKemRISmhZM1FnYjNCbGNtRjBhVzl1WEc0dkx5Qm9kSFJ3Y3pvdkwzUmpNemt1WjJsMGFIVmlMbWx2TDJWamJXRXlOakl2STNObFl5MXlaV2RsZUhCbGVHVmpYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hTTENCVEtTQjdYRzRnSUhaaGNpQmxlR1ZqSUQwZ1VpNWxlR1ZqTzF4dUlDQnBaaUFvZEhsd1pXOW1JR1Y0WldNZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0IyWVhJZ2NtVnpkV3gwSUQwZ1pYaGxZeTVqWVd4c0tGSXNJRk1wTzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnY21WemRXeDBJQ0U5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25VbVZuUlhod0lHVjRaV01nYldWMGFHOWtJSEpsZEhWeWJtVmtJSE52YldWMGFHbHVaeUJ2ZEdobGNpQjBhR0Z1SUdGdUlFOWlhbVZqZENCdmNpQnVkV3hzSnlrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJSDFjYmlBZ2FXWWdLR05zWVhOemIyWW9VaWtnSVQwOUlDZFNaV2RGZUhBbktTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25VbVZuUlhod0kyVjRaV01nWTJGc2JHVmtJRzl1SUdsdVkyOXRjR0YwYVdKc1pTQnlaV05sYVhabGNpY3BPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQmlkV2xzZEdsdVJYaGxZeTVqWVd4c0tGSXNJRk1wTzF4dWZUdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlISmxaMlY0Y0Vac1lXZHpJRDBnY21WeGRXbHlaU2duTGk5ZlpteGhaM01uS1R0Y2JseHVkbUZ5SUc1aGRHbDJaVVY0WldNZ1BTQlNaV2RGZUhBdWNISnZkRzkwZVhCbExtVjRaV003WEc0dkx5QlVhR2x6SUdGc2QyRjVjeUJ5WldabGNuTWdkRzhnZEdobElHNWhkR2wyWlNCcGJYQnNaVzFsYm5SaGRHbHZiaXdnWW1WallYVnpaU0IwYUdWY2JpOHZJRk4wY21sdVp5TnlaWEJzWVdObElIQnZiSGxtYVd4c0lIVnpaWE1nTGk5bWFYZ3RjbVZuWlhod0xYZGxiR3d0YTI1dmQyNHRjM2x0WW05c0xXeHZaMmxqTG1wekxGeHVMeThnZDJocFkyZ2diRzloWkhNZ2RHaHBjeUJtYVd4bElHSmxabTl5WlNCd1lYUmphR2x1WnlCMGFHVWdiV1YwYUc5a0xseHVkbUZ5SUc1aGRHbDJaVkpsY0d4aFkyVWdQU0JUZEhKcGJtY3VjSEp2ZEc5MGVYQmxMbkpsY0d4aFkyVTdYRzVjYm5aaGNpQndZWFJqYUdWa1JYaGxZeUE5SUc1aGRHbDJaVVY0WldNN1hHNWNiblpoY2lCTVFWTlVYMGxPUkVWWUlEMGdKMnhoYzNSSmJtUmxlQ2M3WEc1Y2JuWmhjaUJWVUVSQlZFVlRYMHhCVTFSZlNVNUVSVmhmVjFKUFRrY2dQU0FvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IyWVhJZ2NtVXhJRDBnTDJFdkxGeHVJQ0FnSUNBZ2NtVXlJRDBnTDJJcUwyYzdYRzRnSUc1aGRHbDJaVVY0WldNdVkyRnNiQ2h5WlRFc0lDZGhKeWs3WEc0Z0lHNWhkR2wyWlVWNFpXTXVZMkZzYkNoeVpUSXNJQ2RoSnlrN1hHNGdJSEpsZEhWeWJpQnlaVEZiVEVGVFZGOUpUa1JGV0YwZ0lUMDlJREFnZkh3Z2NtVXlXMHhCVTFSZlNVNUVSVmhkSUNFOVBTQXdPMXh1ZlNrb0tUdGNibHh1THk4Z2JtOXVjR0Z5ZEdsamFYQmhkR2x1WnlCallYQjBkWEpwYm1jZ1ozSnZkWEFzSUdOdmNHbGxaQ0JtY205dElHVnpOUzF6YUdsdEozTWdVM1J5YVc1bkkzTndiR2wwSUhCaGRHTm9MbHh1ZG1GeUlFNVFRMGRmU1U1RFRGVkVSVVFnUFNBdktDay9QeTh1WlhobFl5Z25KeWxiTVYwZ0lUMDlJSFZ1WkdWbWFXNWxaRHRjYmx4dWRtRnlJRkJCVkVOSUlEMGdWVkJFUVZSRlUxOU1RVk5VWDBsT1JFVllYMWRTVDA1SElIeDhJRTVRUTBkZlNVNURURlZFUlVRN1hHNWNibWxtSUNoUVFWUkRTQ2tnZTF4dUlDQndZWFJqYUdWa1JYaGxZeUE5SUdaMWJtTjBhVzl1SUdWNFpXTW9jM1J5S1NCN1hHNGdJQ0FnZG1GeUlISmxJRDBnZEdocGN6dGNiaUFnSUNCMllYSWdiR0Z6ZEVsdVpHVjRMQ0J5WlVOdmNIa3NJRzFoZEdOb0xDQnBPMXh1WEc0Z0lDQWdhV1lnS0U1UVEwZGZTVTVEVEZWRVJVUXBJSHRjYmlBZ0lDQWdJSEpsUTI5d2VTQTlJRzVsZHlCU1pXZEZlSEFvSjE0bklDc2djbVV1YzI5MWNtTmxJQ3NnSnlRb1B5RmNYRnhjY3lrbkxDQnlaV2RsZUhCR2JHRm5jeTVqWVd4c0tISmxLU2s3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hWVUVSQlZFVlRYMHhCVTFSZlNVNUVSVmhmVjFKUFRrY3BJR3hoYzNSSmJtUmxlQ0E5SUhKbFcweEJVMVJmU1U1RVJWaGRPMXh1WEc0Z0lDQWdiV0YwWTJnZ1BTQnVZWFJwZG1WRmVHVmpMbU5oYkd3b2NtVXNJSE4wY2lrN1hHNWNiaUFnSUNCcFppQW9WVkJFUVZSRlUxOU1RVk5VWDBsT1JFVllYMWRTVDA1SElDWW1JRzFoZEdOb0tTQjdYRzRnSUNBZ0lDQnlaVnRNUVZOVVgwbE9SRVZZWFNBOUlISmxMbWRzYjJKaGJDQS9JRzFoZEdOb0xtbHVaR1Y0SUNzZ2JXRjBZMmhiTUYwdWJHVnVaM1JvSURvZ2JHRnpkRWx1WkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1RsQkRSMTlKVGtOTVZVUkZSQ0FtSmlCdFlYUmphQ0FtSmlCdFlYUmphQzVzWlc1bmRHZ2dQaUF4S1NCN1hHNGdJQ0FnSUNBdkx5QkdhWGdnWW5KdmQzTmxjbk1nZDJodmMyVWdZR1Y0WldOZ0lHMWxkR2h2WkhNZ1pHOXVKM1FnWTI5dWMybHpkR1Z1ZEd4NUlISmxkSFZ5YmlCZ2RXNWtaV1pwYm1Wa1lGeHVJQ0FnSUNBZ0x5OGdabTl5SUU1UVEwY3NJR3hwYTJVZ1NVVTRMaUJPVDFSRk9pQlVhR2x6SUdSdlpYTnVKeUIzYjNKcklHWnZjaUF2S0M0L0tUOHZYRzRnSUNBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0Ykc5dmNDMW1kVzVqWEc0Z0lDQWdJQ0J1WVhScGRtVlNaWEJzWVdObExtTmhiR3dvYldGMFkyaGJNRjBzSUhKbFEyOXdlU3dnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQm1iM0lnS0drZ1BTQXhPeUJwSUR3Z1lYSm5kVzFsYm5SekxteGxibWQwYUNBdElESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoaGNtZDFiV1Z1ZEhOYmFWMGdQVDA5SUhWdVpHVm1hVzVsWkNrZ2JXRjBZMmhiYVYwZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnRZWFJqYUR0Y2JpQWdmVHRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQndZWFJqYUdWa1JYaGxZenRjYmlJc0ltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tISmxaMFY0Y0N3Z2NtVndiR0ZqWlNrZ2UxeHVJQ0IyWVhJZ2NtVndiR0ZqWlhJZ1BTQnlaWEJzWVdObElEMDlQU0JQWW1wbFkzUW9jbVZ3YkdGalpTa2dQeUJtZFc1amRHbHZiaUFvY0dGeWRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCeVpYQnNZV05sVzNCaGNuUmRPMXh1SUNCOUlEb2djbVZ3YkdGalpUdGNiaUFnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2hwZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUJUZEhKcGJtY29hWFFwTG5KbGNHeGhZMlVvY21WblJYaHdMQ0J5WlhCc1lXTmxjaWs3WEc0Z0lIMDdYRzU5TzF4dUlpd2lMeThnTnk0eUxqa2dVMkZ0WlZaaGJIVmxLSGdzSUhrcFhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFOWlhbVZqZEM1cGN5QjhmQ0JtZFc1amRHbHZiaUJwY3loNExDQjVLU0I3WEc0Z0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTF6Wld4bUxXTnZiWEJoY21WY2JpQWdjbVYwZFhKdUlIZ2dQVDA5SUhrZ1B5QjRJQ0U5UFNBd0lIeDhJREVnTHlCNElEMDlQU0F4SUM4Z2VTQTZJSGdnSVQwZ2VDQW1KaUI1SUNFOUlIazdYRzU5TzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dUx5OGdhSFIwY0hNNkx5OTBZek01TG1kcGRHaDFZaTVwYnk5d2NtOXdiM05oYkMxelpYUnRZWEF0YjJabWNtOXRMMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQmhSblZ1WTNScGIyNGdQU0J5WlhGMWFYSmxLQ2N1TDE5aExXWjFibU4wYVc5dUp5azdYRzUyWVhJZ1kzUjRJRDBnY21WeGRXbHlaU2duTGk5ZlkzUjRKeWs3WEc1MllYSWdabTl5VDJZZ1BTQnlaWEYxYVhKbEtDY3VMMTltYjNJdGIyWW5LVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb1EwOU1URVZEVkVsUFRpa2dlMXh1SUNBa1pYaHdiM0owS0NSbGVIQnZjblF1VXl3Z1EwOU1URVZEVkVsUFRpd2dleUJtY205dE9pQm1kVzVqZEdsdmJpQm1jbTl0S0hOdmRYSmpaU0F2S2lBc0lHMWhjRVp1TENCMGFHbHpRWEpuSUNvdktTQjdYRzRnSUNBZ2RtRnlJRzFoY0VadUlEMGdZWEpuZFcxbGJuUnpXekZkTzF4dUlDQWdJSFpoY2lCdFlYQndhVzVuTENCQkxDQnVMQ0JqWWp0Y2JpQWdJQ0JoUm5WdVkzUnBiMjRvZEdocGN5azdYRzRnSUNBZ2JXRndjR2x1WnlBOUlHMWhjRVp1SUNFOVBTQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2FXWWdLRzFoY0hCcGJtY3BJR0ZHZFc1amRHbHZiaWh0WVhCR2JpazdYRzRnSUNBZ2FXWWdLSE52ZFhKalpTQTlQU0IxYm1SbFptbHVaV1FwSUhKbGRIVnliaUJ1WlhjZ2RHaHBjeWdwTzF4dUlDQWdJRUVnUFNCYlhUdGNiaUFnSUNCcFppQW9iV0Z3Y0dsdVp5a2dlMXh1SUNBZ0lDQWdiaUE5SURBN1hHNGdJQ0FnSUNCallpQTlJR04wZUNodFlYQkdiaXdnWVhKbmRXMWxiblJ6V3pKZExDQXlLVHRjYmlBZ0lDQWdJR1p2Y2s5bUtITnZkWEpqWlN3Z1ptRnNjMlVzSUdaMWJtTjBhVzl1SUNodVpYaDBTWFJsYlNrZ2UxeHVJQ0FnSUNBZ0lDQkJMbkIxYzJnb1kySW9ibVY0ZEVsMFpXMHNJRzRyS3lrcE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdadmNrOW1LSE52ZFhKalpTd2dabUZzYzJVc0lFRXVjSFZ6YUN3Z1FTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ2RHaHBjeWhCS1R0Y2JpQWdmU0I5S1R0Y2JuMDdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzR2THlCb2RIUndjem92TDNSak16a3VaMmwwYUhWaUxtbHZMM0J5YjNCdmMyRnNMWE5sZEcxaGNDMXZabVp5YjIwdlhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hEVDB4TVJVTlVTVTlPS1NCN1hHNGdJQ1JsZUhCdmNuUW9KR1Y0Y0c5eWRDNVRMQ0JEVDB4TVJVTlVTVTlPTENCN0lHOW1PaUJtZFc1amRHbHZiaUJ2WmlncElIdGNiaUFnSUNCMllYSWdiR1Z1WjNSb0lEMGdZWEpuZFcxbGJuUnpMbXhsYm1kMGFEdGNiaUFnSUNCMllYSWdRU0E5SUc1bGR5QkJjbkpoZVNoc1pXNW5kR2dwTzF4dUlDQWdJSGRvYVd4bElDaHNaVzVuZEdndExTa2dRVnRzWlc1bmRHaGRJRDBnWVhKbmRXMWxiblJ6VzJ4bGJtZDBhRjA3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUIwYUdsektFRXBPMXh1SUNCOUlIMHBPMXh1ZlR0Y2JpSXNJaTh2SUZkdmNtdHpJSGRwZEdnZ1gxOXdjbTkwYjE5ZklHOXViSGt1SUU5c1pDQjJPQ0JqWVc0bmRDQjNiM0pySUhkcGRHZ2diblZzYkNCd2NtOTBieUJ2WW1wbFkzUnpMbHh1THlvZ1pYTnNhVzUwTFdScGMyRmliR1VnYm04dGNISnZkRzhnS2k5Y2JuWmhjaUJwYzA5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgybHpMVzlpYW1WamRDY3BPMXh1ZG1GeUlHRnVUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmWVc0dGIySnFaV04wSnlrN1hHNTJZWElnWTJobFkyc2dQU0JtZFc1amRHbHZiaUFvVHl3Z2NISnZkRzhwSUh0Y2JpQWdZVzVQWW1wbFkzUW9UeWs3WEc0Z0lHbG1JQ2doYVhOUFltcGxZM1FvY0hKdmRHOHBJQ1ltSUhCeWIzUnZJQ0U5UFNCdWRXeHNLU0IwYUhKdmR5QlVlWEJsUlhKeWIzSW9jSEp2ZEc4Z0t5QmNJam9nWTJGdUozUWdjMlYwSUdGeklIQnliM1J2ZEhsd1pTRmNJaWs3WEc1OU8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQjdYRzRnSUhObGREb2dUMkpxWldOMExuTmxkRkJ5YjNSdmRIbHdaVTltSUh4OElDZ25YMTl3Y205MGIxOWZKeUJwYmlCN2ZTQS9JQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1WY2JpQWdJQ0JtZFc1amRHbHZiaUFvZEdWemRDd2dZblZuWjNrc0lITmxkQ2tnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjMlYwSUQwZ2NtVnhkV2x5WlNnbkxpOWZZM1I0Snlrb1JuVnVZM1JwYjI0dVkyRnNiQ3dnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdkdmNHUW5LUzVtS0U5aWFtVmpkQzV3Y205MGIzUjVjR1VzSUNkZlgzQnliM1J2WDE4bktTNXpaWFFzSURJcE8xeHVJQ0FnSUNBZ0lDQnpaWFFvZEdWemRDd2dXMTBwTzF4dUlDQWdJQ0FnSUNCaWRXZG5lU0E5SUNFb2RHVnpkQ0JwYm5OMFlXNWpaVzltSUVGeWNtRjVLVHRjYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUhzZ1luVm5aM2tnUFNCMGNuVmxPeUI5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdjMlYwVUhKdmRHOTBlWEJsVDJZb1R5d2djSEp2ZEc4cElIdGNiaUFnSUNBZ0lDQWdZMmhsWTJzb1R5d2djSEp2ZEc4cE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWW5Wbloza3BJRTh1WDE5d2NtOTBiMTlmSUQwZ2NISnZkRzg3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdjMlYwS0U4c0lIQnliM1J2S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUU4N1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgwb2UzMHNJR1poYkhObEtTQTZJSFZ1WkdWbWFXNWxaQ2tzWEc0Z0lHTm9aV05yT2lCamFHVmphMXh1ZlR0Y2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JuWmhjaUJuYkc5aVlXd2dQU0J5WlhGMWFYSmxLQ2N1TDE5bmJHOWlZV3duS1R0Y2JuWmhjaUJrVUNBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMWtjQ2NwTzF4dWRtRnlJRVJGVTBOU1NWQlVUMUpUSUQwZ2NtVnhkV2x5WlNnbkxpOWZaR1Z6WTNKcGNIUnZjbk1uS1R0Y2JuWmhjaUJUVUVWRFNVVlRJRDBnY21WeGRXbHlaU2duTGk5ZmQydHpKeWtvSjNOd1pXTnBaWE1uS1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9TMFZaS1NCN1hHNGdJSFpoY2lCRElEMGdaMnh2WW1Gc1cwdEZXVjA3WEc0Z0lHbG1JQ2hFUlZORFVrbFFWRTlTVXlBbUppQkRJQ1ltSUNGRFcxTlFSVU5KUlZOZEtTQmtVQzVtS0VNc0lGTlFSVU5KUlZNc0lIdGNiaUFnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdVc1hHNGdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlYRzRnSUgwcE8xeHVmVHRjYmlJc0luWmhjaUJrWldZZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRaSEFuS1M1bU8xeHVkbUZ5SUdoaGN5QTlJSEpsY1hWcGNtVW9KeTR2WDJoaGN5Y3BPMXh1ZG1GeUlGUkJSeUE5SUhKbGNYVnBjbVVvSnk0dlgzZHJjeWNwS0NkMGIxTjBjbWx1WjFSaFp5Y3BPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNocGRDd2dkR0ZuTENCemRHRjBLU0I3WEc0Z0lHbG1JQ2hwZENBbUppQWhhR0Z6S0dsMElEMGdjM1JoZENBL0lHbDBJRG9nYVhRdWNISnZkRzkwZVhCbExDQlVRVWNwS1NCa1pXWW9hWFFzSUZSQlJ5d2dleUJqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1VzSUhaaGJIVmxPaUIwWVdjZ2ZTazdYRzU5TzF4dUlpd2lkbUZ5SUhOb1lYSmxaQ0E5SUhKbGNYVnBjbVVvSnk0dlgzTm9ZWEpsWkNjcEtDZHJaWGx6SnlrN1hHNTJZWElnZFdsa0lEMGdjbVZ4ZFdseVpTZ25MaTlmZFdsa0p5azdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hyWlhrcElIdGNiaUFnY21WMGRYSnVJSE5vWVhKbFpGdHJaWGxkSUh4OElDaHphR0Z5WldSYmEyVjVYU0E5SUhWcFpDaHJaWGtwS1R0Y2JuMDdYRzRpTENKMllYSWdZMjl5WlNBOUlISmxjWFZwY21Vb0p5NHZYMk52Y21VbktUdGNiblpoY2lCbmJHOWlZV3dnUFNCeVpYRjFhWEpsS0NjdUwxOW5iRzlpWVd3bktUdGNiblpoY2lCVFNFRlNSVVFnUFNBblgxOWpiM0psTFdwelgzTm9ZWEpsWkY5Zkp6dGNiblpoY2lCemRHOXlaU0E5SUdkc2IySmhiRnRUU0VGU1JVUmRJSHg4SUNobmJHOWlZV3hiVTBoQlVrVkVYU0E5SUh0OUtUdGNibHh1S0cxdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0d0bGVTd2dkbUZzZFdVcElIdGNiaUFnY21WMGRYSnVJSE4wYjNKbFcydGxlVjBnZkh3Z0tITjBiM0psVzJ0bGVWMGdQU0IyWVd4MVpTQWhQVDBnZFc1a1pXWnBibVZrSUQ4Z2RtRnNkV1VnT2lCN2ZTazdYRzU5S1NnbmRtVnljMmx2Ym5NbkxDQmJYU2t1Y0hWemFDaDdYRzRnSUhabGNuTnBiMjQ2SUdOdmNtVXVkbVZ5YzJsdmJpeGNiaUFnYlc5a1pUb2djbVZ4ZFdseVpTZ25MaTlmYkdsaWNtRnllU2NwSUQ4Z0ozQjFjbVVuSURvZ0oyZHNiMkpoYkNjc1hHNGdJR052Y0hseWFXZG9kRG9nSjhLcElESXdNVGdnUkdWdWFYTWdVSFZ6YUd0aGNtVjJJQ2g2Ykc5cGNtOWpheTV5ZFNrblhHNTlLVHRjYmlJc0lpOHZJRGN1TXk0eU1DQlRjR1ZqYVdWelEyOXVjM1J5ZFdOMGIzSW9UeXdnWkdWbVlYVnNkRU52Ym5OMGNuVmpkRzl5S1Z4dWRtRnlJR0Z1VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRiMkpxWldOMEp5azdYRzUyWVhJZ1lVWjFibU4wYVc5dUlEMGdjbVZ4ZFdseVpTZ25MaTlmWVMxbWRXNWpkR2x2YmljcE8xeHVkbUZ5SUZOUVJVTkpSVk1nUFNCeVpYRjFhWEpsS0NjdUwxOTNhM01uS1NnbmMzQmxZMmxsY3ljcE8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9UeXdnUkNrZ2UxeHVJQ0IyWVhJZ1F5QTlJR0Z1VDJKcVpXTjBLRThwTG1OdmJuTjBjblZqZEc5eU8xeHVJQ0IyWVhJZ1V6dGNiaUFnY21WMGRYSnVJRU1nUFQwOUlIVnVaR1ZtYVc1bFpDQjhmQ0FvVXlBOUlHRnVUMkpxWldOMEtFTXBXMU5RUlVOSlJWTmRLU0E5UFNCMWJtUmxabWx1WldRZ1B5QkVJRG9nWVVaMWJtTjBhVzl1S0ZNcE8xeHVmVHRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQm1ZV2xzY3lBOUlISmxjWFZwY21Vb0p5NHZYMlpoYVd4ekp5azdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0cxbGRHaHZaQ3dnWVhKbktTQjdYRzRnSUhKbGRIVnliaUFoSVcxbGRHaHZaQ0FtSmlCbVlXbHNjeWhtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUc1dkxYVnpaV3hsYzNNdFkyRnNiRnh1SUNBZ0lHRnlaeUEvSUcxbGRHaHZaQzVqWVd4c0tHNTFiR3dzSUdaMWJtTjBhVzl1SUNncElIc2dMeW9nWlcxd2RIa2dLaThnZlN3Z01Ta2dPaUJ0WlhSb2IyUXVZMkZzYkNodWRXeHNLVHRjYmlBZ2ZTazdYRzU5TzF4dUlpd2lkbUZ5SUhSdlNXNTBaV2RsY2lBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFdsdWRHVm5aWEluS1R0Y2JuWmhjaUJrWldacGJtVmtJRDBnY21WeGRXbHlaU2duTGk5ZlpHVm1hVzVsWkNjcE8xeHVMeThnZEhKMVpTQWdMVDRnVTNSeWFXNW5JMkYwWEc0dkx5Qm1ZV3h6WlNBdFBpQlRkSEpwYm1jalkyOWtaVkJ2YVc1MFFYUmNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLRlJQWDFOVVVrbE9SeWtnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tIUm9ZWFFzSUhCdmN5a2dlMXh1SUNBZ0lIWmhjaUJ6SUQwZ1UzUnlhVzVuS0dSbFptbHVaV1FvZEdoaGRDa3BPMXh1SUNBZ0lIWmhjaUJwSUQwZ2RHOUpiblJsWjJWeUtIQnZjeWs3WEc0Z0lDQWdkbUZ5SUd3Z1BTQnpMbXhsYm1kMGFEdGNiaUFnSUNCMllYSWdZU3dnWWp0Y2JpQWdJQ0JwWmlBb2FTQThJREFnZkh3Z2FTQStQU0JzS1NCeVpYUjFjbTRnVkU5ZlUxUlNTVTVISUQ4Z0p5Y2dPaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdZU0E5SUhNdVkyaGhja052WkdWQmRDaHBLVHRjYmlBZ0lDQnlaWFIxY200Z1lTQThJREI0WkRnd01DQjhmQ0JoSUQ0Z01IaGtZbVptSUh4OElHa2dLeUF4SUQwOVBTQnNJSHg4SUNoaUlEMGdjeTVqYUdGeVEyOWtaVUYwS0drZ0t5QXhLU2tnUENBd2VHUmpNREFnZkh3Z1lpQStJREI0WkdabVpseHVJQ0FnSUNBZ1B5QlVUMTlUVkZKSlRrY2dQeUJ6TG1Ob1lYSkJkQ2hwS1NBNklHRmNiaUFnSUNBZ0lEb2dWRTlmVTFSU1NVNUhJRDhnY3k1emJHbGpaU2hwTENCcElDc2dNaWtnT2lBb1lTQXRJREI0WkRnd01DQThQQ0F4TUNrZ0t5QW9ZaUF0SURCNFpHTXdNQ2tnS3lBd2VERXdNREF3TzF4dUlDQjlPMXh1ZlR0Y2JpSXNJaTh2SUdobGJIQmxjaUJtYjNJZ1UzUnlhVzVuSTN0emRHRnlkSE5YYVhSb0xDQmxibVJ6VjJsMGFDd2dhVzVqYkhWa1pYTjlYRzUyWVhJZ2FYTlNaV2RGZUhBZ1BTQnlaWEYxYVhKbEtDY3VMMTlwY3kxeVpXZGxlSEFuS1R0Y2JuWmhjaUJrWldacGJtVmtJRDBnY21WeGRXbHlaU2duTGk5ZlpHVm1hVzVsWkNjcE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2gwYUdGMExDQnpaV0Z5WTJoVGRISnBibWNzSUU1QlRVVXBJSHRjYmlBZ2FXWWdLR2x6VW1WblJYaHdLSE5sWVhKamFGTjBjbWx1WnlrcElIUm9jbTkzSUZSNWNHVkZjbkp2Y2lnblUzUnlhVzVuSXljZ0t5Qk9RVTFGSUNzZ1hDSWdaRzlsYzI0bmRDQmhZMk5sY0hRZ2NtVm5aWGdoWENJcE8xeHVJQ0J5WlhSMWNtNGdVM1J5YVc1bktHUmxabWx1WldRb2RHaGhkQ2twTzF4dWZUdGNiaUlzSW5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdabUZwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMMTltWVdsc2N5Y3BPMXh1ZG1GeUlHUmxabWx1WldRZ1BTQnlaWEYxYVhKbEtDY3VMMTlrWldacGJtVmtKeWs3WEc1MllYSWdjWFZ2ZENBOUlDOWNJaTluTzF4dUx5OGdRaTR5TGpNdU1pNHhJRU55WldGMFpVaFVUVXdvYzNSeWFXNW5MQ0IwWVdjc0lHRjBkSEpwWW5WMFpTd2dkbUZzZFdVcFhHNTJZWElnWTNKbFlYUmxTRlJOVENBOUlHWjFibU4wYVc5dUlDaHpkSEpwYm1jc0lIUmhaeXdnWVhSMGNtbGlkWFJsTENCMllXeDFaU2tnZTF4dUlDQjJZWElnVXlBOUlGTjBjbWx1Wnloa1pXWnBibVZrS0hOMGNtbHVaeWtwTzF4dUlDQjJZWElnY0RFZ1BTQW5QQ2NnS3lCMFlXYzdYRzRnSUdsbUlDaGhkSFJ5YVdKMWRHVWdJVDA5SUNjbktTQndNU0FyUFNBbklDY2dLeUJoZEhSeWFXSjFkR1VnS3lBblBWd2lKeUFySUZOMGNtbHVaeWgyWVd4MVpTa3VjbVZ3YkdGalpTaHhkVzkwTENBbkpuRjFiM1E3SnlrZ0t5QW5YQ0luTzF4dUlDQnlaWFIxY200Z2NERWdLeUFuUGljZ0t5QlRJQ3NnSnp3dkp5QXJJSFJoWnlBcklDYytKenRjYm4wN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaE9RVTFGTENCbGVHVmpLU0I3WEc0Z0lIWmhjaUJQSUQwZ2UzMDdYRzRnSUU5YlRrRk5SVjBnUFNCbGVHVmpLR055WldGMFpVaFVUVXdwTzF4dUlDQWtaWGh3YjNKMEtDUmxlSEJ2Y25RdVVDQXJJQ1JsZUhCdmNuUXVSaUFxSUdaaGFXeHpLR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2RHVnpkQ0E5SUNjblcwNUJUVVZkS0NkY0lpY3BPMXh1SUNBZ0lISmxkSFZ5YmlCMFpYTjBJQ0U5UFNCMFpYTjBMblJ2VEc5M1pYSkRZWE5sS0NrZ2ZId2dkR1Z6ZEM1emNHeHBkQ2duWENJbktTNXNaVzVuZEdnZ1BpQXpPMXh1SUNCOUtTd2dKMU4wY21sdVp5Y3NJRThwTzF4dWZUdGNiaUlzSWk4dklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOTBZek01TDNCeWIzQnZjMkZzTFhOMGNtbHVaeTF3WVdRdGMzUmhjblF0Wlc1a1hHNTJZWElnZEc5TVpXNW5kR2dnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTFzWlc1bmRHZ25LVHRjYm5aaGNpQnlaWEJsWVhRZ1BTQnlaWEYxYVhKbEtDY3VMMTl6ZEhKcGJtY3RjbVZ3WldGMEp5azdYRzUyWVhJZ1pHVm1hVzVsWkNBOUlISmxjWFZwY21Vb0p5NHZYMlJsWm1sdVpXUW5LVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2RHaGhkQ3dnYldGNFRHVnVaM1JvTENCbWFXeHNVM1J5YVc1bkxDQnNaV1owS1NCN1hHNGdJSFpoY2lCVElEMGdVM1J5YVc1bktHUmxabWx1WldRb2RHaGhkQ2twTzF4dUlDQjJZWElnYzNSeWFXNW5UR1Z1WjNSb0lEMGdVeTVzWlc1bmRHZzdYRzRnSUhaaGNpQm1hV3hzVTNSeUlEMGdabWxzYkZOMGNtbHVaeUE5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdKeUFuSURvZ1UzUnlhVzVuS0dacGJHeFRkSEpwYm1jcE8xeHVJQ0IyWVhJZ2FXNTBUV0Y0VEdWdVozUm9JRDBnZEc5TVpXNW5kR2dvYldGNFRHVnVaM1JvS1R0Y2JpQWdhV1lnS0dsdWRFMWhlRXhsYm1kMGFDQThQU0J6ZEhKcGJtZE1aVzVuZEdnZ2ZId2dabWxzYkZOMGNpQTlQU0FuSnlrZ2NtVjBkWEp1SUZNN1hHNGdJSFpoY2lCbWFXeHNUR1Z1SUQwZ2FXNTBUV0Y0VEdWdVozUm9JQzBnYzNSeWFXNW5UR1Z1WjNSb08xeHVJQ0IyWVhJZ2MzUnlhVzVuUm1sc2JHVnlJRDBnY21Wd1pXRjBMbU5oYkd3b1ptbHNiRk4wY2l3Z1RXRjBhQzVqWldsc0tHWnBiR3hNWlc0Z0x5Qm1hV3hzVTNSeUxteGxibWQwYUNrcE8xeHVJQ0JwWmlBb2MzUnlhVzVuUm1sc2JHVnlMbXhsYm1kMGFDQStJR1pwYkd4TVpXNHBJSE4wY21sdVowWnBiR3hsY2lBOUlITjBjbWx1WjBacGJHeGxjaTV6YkdsalpTZ3dMQ0JtYVd4c1RHVnVLVHRjYmlBZ2NtVjBkWEp1SUd4bFpuUWdQeUJ6ZEhKcGJtZEdhV3hzWlhJZ0t5QlRJRG9nVXlBcklITjBjbWx1WjBacGJHeGxjanRjYm4wN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNTJZWElnZEc5SmJuUmxaMlZ5SUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YVc1MFpXZGxjaWNwTzF4dWRtRnlJR1JsWm1sdVpXUWdQU0J5WlhGMWFYSmxLQ2N1TDE5a1pXWnBibVZrSnlrN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdjbVZ3WldGMEtHTnZkVzUwS1NCN1hHNGdJSFpoY2lCemRISWdQU0JUZEhKcGJtY29aR1ZtYVc1bFpDaDBhR2x6S1NrN1hHNGdJSFpoY2lCeVpYTWdQU0FuSnp0Y2JpQWdkbUZ5SUc0Z1BTQjBiMGx1ZEdWblpYSW9ZMjkxYm5RcE8xeHVJQ0JwWmlBb2JpQThJREFnZkh3Z2JpQTlQU0JKYm1acGJtbDBlU2tnZEdoeWIzY2dVbUZ1WjJWRmNuSnZjaWhjSWtOdmRXNTBJR05oYmlkMElHSmxJRzVsWjJGMGFYWmxYQ0lwTzF4dUlDQm1iM0lnS0R0dUlENGdNRHNnS0c0Z1BqNCtQU0F4S1NBbUppQW9jM1J5SUNzOUlITjBjaWtwSUdsbUlDaHVJQ1lnTVNrZ2NtVnpJQ3M5SUhOMGNqdGNiaUFnY21WMGRYSnVJSEpsY3p0Y2JuMDdYRzRpTENKMllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dWRtRnlJR1JsWm1sdVpXUWdQU0J5WlhGMWFYSmxLQ2N1TDE5a1pXWnBibVZrSnlrN1hHNTJZWElnWm1GcGJITWdQU0J5WlhGMWFYSmxLQ2N1TDE5bVlXbHNjeWNwTzF4dWRtRnlJSE53WVdObGN5QTlJSEpsY1hWcGNtVW9KeTR2WDNOMGNtbHVaeTEzY3ljcE8xeHVkbUZ5SUhOd1lXTmxJRDBnSjFzbklDc2djM0JoWTJWeklDc2dKMTBuTzF4dWRtRnlJRzV2YmlBOUlDZGNYSFV5TURCaVhGeDFNREE0TlNjN1hHNTJZWElnYkhSeWFXMGdQU0JTWldkRmVIQW9KMTRuSUNzZ2MzQmhZMlVnS3lCemNHRmpaU0FySUNjcUp5azdYRzUyWVhJZ2NuUnlhVzBnUFNCU1pXZEZlSEFvYzNCaFkyVWdLeUJ6Y0dGalpTQXJJQ2NxSkNjcE8xeHVYRzUyWVhJZ1pYaHdiM0owWlhJZ1BTQm1kVzVqZEdsdmJpQW9TMFZaTENCbGVHVmpMQ0JCVEVsQlV5a2dlMXh1SUNCMllYSWdaWGh3SUQwZ2UzMDdYRzRnSUhaaGNpQkdUMUpEUlNBOUlHWmhhV3h6S0daMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnSVNGemNHRmpaWE5iUzBWWlhTZ3BJSHg4SUc1dmJsdExSVmxkS0NrZ0lUMGdibTl1TzF4dUlDQjlLVHRjYmlBZ2RtRnlJR1p1SUQwZ1pYaHdXMHRGV1YwZ1BTQkdUMUpEUlNBL0lHVjRaV01vZEhKcGJTa2dPaUJ6Y0dGalpYTmJTMFZaWFR0Y2JpQWdhV1lnS0VGTVNVRlRLU0JsZUhCYlFVeEpRVk5kSUQwZ1ptNDdYRzRnSUNSbGVIQnZjblFvSkdWNGNHOXlkQzVRSUNzZ0pHVjRjRzl5ZEM1R0lDb2dSazlTUTBVc0lDZFRkSEpwYm1jbkxDQmxlSEFwTzF4dWZUdGNibHh1THk4Z01TQXRQaUJUZEhKcGJtY2pkSEpwYlV4bFpuUmNiaTh2SURJZ0xUNGdVM1J5YVc1bkkzUnlhVzFTYVdkb2RGeHVMeThnTXlBdFBpQlRkSEpwYm1jamRISnBiVnh1ZG1GeUlIUnlhVzBnUFNCbGVIQnZjblJsY2k1MGNtbHRJRDBnWm5WdVkzUnBiMjRnS0hOMGNtbHVaeXdnVkZsUVJTa2dlMXh1SUNCemRISnBibWNnUFNCVGRISnBibWNvWkdWbWFXNWxaQ2h6ZEhKcGJtY3BLVHRjYmlBZ2FXWWdLRlJaVUVVZ0ppQXhLU0J6ZEhKcGJtY2dQU0J6ZEhKcGJtY3VjbVZ3YkdGalpTaHNkSEpwYlN3Z0p5Y3BPMXh1SUNCcFppQW9WRmxRUlNBbUlESXBJSE4wY21sdVp5QTlJSE4wY21sdVp5NXlaWEJzWVdObEtISjBjbWx0TENBbkp5azdYRzRnSUhKbGRIVnliaUJ6ZEhKcGJtYzdYRzU5TzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHVjRjRzl5ZEdWeU8xeHVJaXdpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0FuWEZ4NE1EbGNYSGd3UVZ4Y2VEQkNYRng0TUVOY1hIZ3dSRnhjZURJd1hGeDRRVEJjWEhVeE5qZ3dYRngxTVRnd1JWeGNkVEl3TURCY1hIVXlNREF4WEZ4MU1qQXdNbHhjZFRJd01ETW5JQ3RjYmlBZ0oxeGNkVEl3TURSY1hIVXlNREExWEZ4MU1qQXdObHhjZFRJd01EZGNYSFV5TURBNFhGeDFNakF3T1Z4Y2RUSXdNRUZjWEhVeU1ESkdYRngxTWpBMVJseGNkVE13TURCY1hIVXlNREk0WEZ4MU1qQXlPVnhjZFVaRlJrWW5PMXh1SWl3aWRtRnlJR04wZUNBOUlISmxjWFZwY21Vb0p5NHZYMk4wZUNjcE8xeHVkbUZ5SUdsdWRtOXJaU0E5SUhKbGNYVnBjbVVvSnk0dlgybHVkbTlyWlNjcE8xeHVkbUZ5SUdoMGJXd2dQU0J5WlhGMWFYSmxLQ2N1TDE5b2RHMXNKeWs3WEc1MllYSWdZMlZzSUQwZ2NtVnhkV2x5WlNnbkxpOWZaRzl0TFdOeVpXRjBaU2NwTzF4dWRtRnlJR2RzYjJKaGJDQTlJSEpsY1hWcGNtVW9KeTR2WDJkc2IySmhiQ2NwTzF4dWRtRnlJSEJ5YjJObGMzTWdQU0JuYkc5aVlXd3VjSEp2WTJWemN6dGNiblpoY2lCelpYUlVZWE5ySUQwZ1oyeHZZbUZzTG5ObGRFbHRiV1ZrYVdGMFpUdGNiblpoY2lCamJHVmhjbFJoYzJzZ1BTQm5iRzlpWVd3dVkyeGxZWEpKYlcxbFpHbGhkR1U3WEc1MllYSWdUV1Z6YzJGblpVTm9ZVzV1Wld3Z1BTQm5iRzlpWVd3dVRXVnpjMkZuWlVOb1lXNXVaV3c3WEc1MllYSWdSR2x6Y0dGMFkyZ2dQU0JuYkc5aVlXd3VSR2x6Y0dGMFkyZzdYRzUyWVhJZ1kyOTFiblJsY2lBOUlEQTdYRzUyWVhJZ2NYVmxkV1VnUFNCN2ZUdGNiblpoY2lCUFRsSkZRVVJaVTFSQlZFVkRTRUZPUjBVZ1BTQW5iMjV5WldGa2VYTjBZWFJsWTJoaGJtZGxKenRjYm5aaGNpQmtaV1psY2l3Z1kyaGhibTVsYkN3Z2NHOXlkRHRjYm5aaGNpQnlkVzRnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhaaGNpQnBaQ0E5SUN0MGFHbHpPMXh1SUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2JtOHRjSEp2ZEc5MGVYQmxMV0oxYVd4MGFXNXpYRzRnSUdsbUlDaHhkV1YxWlM1b1lYTlBkMjVRY205d1pYSjBlU2hwWkNrcElIdGNiaUFnSUNCMllYSWdabTRnUFNCeGRXVjFaVnRwWkYwN1hHNGdJQ0FnWkdWc1pYUmxJSEYxWlhWbFcybGtYVHRjYmlBZ0lDQm1iaWdwTzF4dUlDQjlYRzU5TzF4dWRtRnlJR3hwYzNSbGJtVnlJRDBnWm5WdVkzUnBiMjRnS0dWMlpXNTBLU0I3WEc0Z0lISjFiaTVqWVd4c0tHVjJaVzUwTG1SaGRHRXBPMXh1ZlR0Y2JpOHZJRTV2WkdVdWFuTWdNQzQ1S3lBbUlFbEZNVEFySUdoaGN5QnpaWFJKYlcxbFpHbGhkR1VzSUc5MGFHVnlkMmx6WlRwY2JtbG1JQ2doYzJWMFZHRnpheUI4ZkNBaFkyeGxZWEpVWVhOcktTQjdYRzRnSUhObGRGUmhjMnNnUFNCbWRXNWpkR2x2YmlCelpYUkpiVzFsWkdsaGRHVW9abTRwSUh0Y2JpQWdJQ0IyWVhJZ1lYSm5jeUE5SUZ0ZE8xeHVJQ0FnSUhaaGNpQnBJRDBnTVR0Y2JpQWdJQ0IzYUdsc1pTQW9ZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJR2twSUdGeVozTXVjSFZ6YUNoaGNtZDFiV1Z1ZEhOYmFTc3JYU2s3WEc0Z0lDQWdjWFZsZFdWYkt5dGpiM1Z1ZEdWeVhTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MXVaWGN0Wm5WdVkxeHVJQ0FnSUNBZ2FXNTJiMnRsS0hSNWNHVnZaaUJtYmlBOVBTQW5ablZ1WTNScGIyNG5JRDhnWm00Z09pQkdkVzVqZEdsdmJpaG1iaWtzSUdGeVozTXBPMXh1SUNBZ0lIMDdYRzRnSUNBZ1pHVm1aWElvWTI5MWJuUmxjaWs3WEc0Z0lDQWdjbVYwZFhKdUlHTnZkVzUwWlhJN1hHNGdJSDA3WEc0Z0lHTnNaV0Z5VkdGemF5QTlJR1oxYm1OMGFXOXVJR05zWldGeVNXMXRaV1JwWVhSbEtHbGtLU0I3WEc0Z0lDQWdaR1ZzWlhSbElIRjFaWFZsVzJsa1hUdGNiaUFnZlR0Y2JpQWdMeThnVG05a1pTNXFjeUF3TGpndFhHNGdJR2xtSUNoeVpYRjFhWEpsS0NjdUwxOWpiMlluS1Nod2NtOWpaWE56S1NBOVBTQW5jSEp2WTJWemN5Y3BJSHRjYmlBZ0lDQmtaV1psY2lBOUlHWjFibU4wYVc5dUlDaHBaQ2tnZTF4dUlDQWdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWhqZEhnb2NuVnVMQ0JwWkN3Z01Ta3BPMXh1SUNBZ0lIMDdYRzRnSUM4dklGTndhR1Z5WlNBb1NsTWdaMkZ0WlNCbGJtZHBibVVwSUVScGMzQmhkR05vSUVGUVNWeHVJQ0I5SUdWc2MyVWdhV1lnS0VScGMzQmhkR05vSUNZbUlFUnBjM0JoZEdOb0xtNXZkeWtnZTF4dUlDQWdJR1JsWm1WeUlEMGdablZ1WTNScGIyNGdLR2xrS1NCN1hHNGdJQ0FnSUNCRWFYTndZWFJqYUM1dWIzY29ZM1I0S0hKMWJpd2dhV1FzSURFcEtUdGNiaUFnSUNCOU8xeHVJQ0F2THlCQ2NtOTNjMlZ5Y3lCM2FYUm9JRTFsYzNOaFoyVkRhR0Z1Ym1Wc0xDQnBibU5zZFdSbGN5QlhaV0pYYjNKclpYSnpYRzRnSUgwZ1pXeHpaU0JwWmlBb1RXVnpjMkZuWlVOb1lXNXVaV3dwSUh0Y2JpQWdJQ0JqYUdGdWJtVnNJRDBnYm1WM0lFMWxjM05oWjJWRGFHRnVibVZzS0NrN1hHNGdJQ0FnY0c5eWRDQTlJR05vWVc1dVpXd3VjRzl5ZERJN1hHNGdJQ0FnWTJoaGJtNWxiQzV3YjNKME1TNXZibTFsYzNOaFoyVWdQU0JzYVhOMFpXNWxjanRjYmlBZ0lDQmtaV1psY2lBOUlHTjBlQ2h3YjNKMExuQnZjM1JOWlhOellXZGxMQ0J3YjNKMExDQXhLVHRjYmlBZ0x5OGdRbkp2ZDNObGNuTWdkMmwwYUNCd2IzTjBUV1Z6YzJGblpTd2djMnRwY0NCWFpXSlhiM0pyWlhKelhHNGdJQzh2SUVsRk9DQm9ZWE1nY0c5emRFMWxjM05oWjJVc0lHSjFkQ0JwZENkeklITjVibU1nSmlCMGVYQmxiMllnYVhSeklIQnZjM1JOWlhOellXZGxJR2x6SUNkdlltcGxZM1FuWEc0Z0lIMGdaV3h6WlNCcFppQW9aMnh2WW1Gc0xtRmtaRVYyWlc1MFRHbHpkR1Z1WlhJZ0ppWWdkSGx3Wlc5bUlIQnZjM1JOWlhOellXZGxJRDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdJV2RzYjJKaGJDNXBiWEJ2Y25SVFkzSnBjSFJ6S1NCN1hHNGdJQ0FnWkdWbVpYSWdQU0JtZFc1amRHbHZiaUFvYVdRcElIdGNiaUFnSUNBZ0lHZHNiMkpoYkM1d2IzTjBUV1Z6YzJGblpTaHBaQ0FySUNjbkxDQW5LaWNwTzF4dUlDQWdJSDA3WEc0Z0lDQWdaMnh2WW1Gc0xtRmtaRVYyWlc1MFRHbHpkR1Z1WlhJb0oyMWxjM05oWjJVbkxDQnNhWE4wWlc1bGNpd2dabUZzYzJVcE8xeHVJQ0F2THlCSlJUZ3RYRzRnSUgwZ1pXeHpaU0JwWmlBb1QwNVNSVUZFV1ZOVVFWUkZRMGhCVGtkRklHbHVJR05sYkNnbmMyTnlhWEIwSnlrcElIdGNiaUFnSUNCa1pXWmxjaUE5SUdaMWJtTjBhVzl1SUNocFpDa2dlMXh1SUNBZ0lDQWdhSFJ0YkM1aGNIQmxibVJEYUdsc1pDaGpaV3dvSjNOamNtbHdkQ2NwS1Z0UFRsSkZRVVJaVTFSQlZFVkRTRUZPUjBWZElEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNCb2RHMXNMbkpsYlc5MlpVTm9hV3hrS0hSb2FYTXBPMXh1SUNBZ0lDQWdJQ0J5ZFc0dVkyRnNiQ2hwWkNrN1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgwN1hHNGdJQzh2SUZKbGMzUWdiMnhrSUdKeWIzZHpaWEp6WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWkdWbVpYSWdQU0JtZFc1amRHbHZiaUFvYVdRcElIdGNiaUFnSUNBZ0lITmxkRlJwYldWdmRYUW9ZM1I0S0hKMWJpd2dhV1FzSURFcExDQXdLVHRjYmlBZ0lDQjlPMXh1SUNCOVhHNTlYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJSHRjYmlBZ2MyVjBPaUJ6WlhSVVlYTnJMRnh1SUNCamJHVmhjam9nWTJ4bFlYSlVZWE5yWEc1OU8xeHVJaXdpZG1GeUlIUnZTVzUwWldkbGNpQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxXbHVkR1ZuWlhJbktUdGNiblpoY2lCdFlYZ2dQU0JOWVhSb0xtMWhlRHRjYm5aaGNpQnRhVzRnUFNCTllYUm9MbTFwYmp0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHbHVaR1Y0TENCc1pXNW5kR2dwSUh0Y2JpQWdhVzVrWlhnZ1BTQjBiMGx1ZEdWblpYSW9hVzVrWlhncE8xeHVJQ0J5WlhSMWNtNGdhVzVrWlhnZ1BDQXdJRDhnYldGNEtHbHVaR1Y0SUNzZ2JHVnVaM1JvTENBd0tTQTZJRzFwYmlocGJtUmxlQ3dnYkdWdVozUm9LVHRjYm4wN1hHNGlMQ0l2THlCb2RIUndjem92TDNSak16a3VaMmwwYUhWaUxtbHZMMlZqYldFeU5qSXZJM05sWXkxMGIybHVaR1Y0WEc1MllYSWdkRzlKYm5SbFoyVnlJRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRhVzUwWldkbGNpY3BPMXh1ZG1GeUlIUnZUR1Z1WjNSb0lEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGJHVnVaM1JvSnlrN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQnBaaUFvYVhRZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnY21WMGRYSnVJREE3WEc0Z0lIWmhjaUJ1ZFcxaVpYSWdQU0IwYjBsdWRHVm5aWElvYVhRcE8xeHVJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2RHOU1aVzVuZEdnb2JuVnRZbVZ5S1R0Y2JpQWdhV1lnS0c1MWJXSmxjaUFoUFQwZ2JHVnVaM1JvS1NCMGFISnZkeUJTWVc1blpVVnljbTl5S0NkWGNtOXVaeUJzWlc1bmRHZ2hKeWs3WEc0Z0lISmxkSFZ5YmlCc1pXNW5kR2c3WEc1OU8xeHVJaXdpTHk4Z055NHhMalFnVkc5SmJuUmxaMlZ5WEc1MllYSWdZMlZwYkNBOUlFMWhkR2d1WTJWcGJEdGNiblpoY2lCbWJHOXZjaUE5SUUxaGRHZ3VabXh2YjNJN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQnlaWFIxY200Z2FYTk9ZVTRvYVhRZ1BTQXJhWFFwSUQ4Z01DQTZJQ2hwZENBK0lEQWdQeUJtYkc5dmNpQTZJR05sYVd3cEtHbDBLVHRjYm4wN1hHNGlMQ0l2THlCMGJ5QnBibVJsZUdWa0lHOWlhbVZqZEN3Z2RHOVBZbXBsWTNRZ2QybDBhQ0JtWVd4c1ltRmpheUJtYjNJZ2JtOXVMV0Z5Y21GNUxXeHBhMlVnUlZNeklITjBjbWx1WjNOY2JuWmhjaUJKVDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmFXOWlhbVZqZENjcE8xeHVkbUZ5SUdSbFptbHVaV1FnUFNCeVpYRjFhWEpsS0NjdUwxOWtaV1pwYm1Wa0p5azdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hwZENrZ2UxeHVJQ0J5WlhSMWNtNGdTVTlpYW1WamRDaGtaV1pwYm1Wa0tHbDBLU2s3WEc1OU8xeHVJaXdpTHk4Z055NHhMakUxSUZSdlRHVnVaM1JvWEc1MllYSWdkRzlKYm5SbFoyVnlJRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRhVzUwWldkbGNpY3BPMXh1ZG1GeUlHMXBiaUE5SUUxaGRHZ3ViV2x1TzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ2NtVjBkWEp1SUdsMElENGdNQ0EvSUcxcGJpaDBiMGx1ZEdWblpYSW9hWFFwTENBd2VERm1abVptWm1abVptWm1abVptS1NBNklEQTdJQzh2SUhCdmR5Z3lMQ0ExTXlrZ0xTQXhJRDA5SURrd01EY3hPVGt5TlRRM05EQTVPVEZjYm4wN1hHNGlMQ0l2THlBM0xqRXVNVE1nVkc5UFltcGxZM1FvWVhKbmRXMWxiblFwWEc1MllYSWdaR1ZtYVc1bFpDQTlJSEpsY1hWcGNtVW9KeTR2WDJSbFptbHVaV1FuS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHbDBLU0I3WEc0Z0lISmxkSFZ5YmlCUFltcGxZM1FvWkdWbWFXNWxaQ2hwZENrcE8xeHVmVHRjYmlJc0lpOHZJRGN1TVM0eElGUnZVSEpwYldsMGFYWmxLR2x1Y0hWMElGc3NJRkJ5WldabGNuSmxaRlI1Y0dWZEtWeHVkbUZ5SUdselQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZhWE10YjJKcVpXTjBKeWs3WEc0dkx5QnBibk4wWldGa0lHOW1JSFJvWlNCRlV6WWdjM0JsWXlCMlpYSnphVzl1TENCM1pTQmthV1J1SjNRZ2FXMXdiR1Z0Wlc1MElFQkFkRzlRY21sdGFYUnBkbVVnWTJGelpWeHVMeThnWVc1a0lIUm9aU0J6WldOdmJtUWdZWEpuZFcxbGJuUWdMU0JtYkdGbklDMGdjSEpsWm1WeWNtVmtJSFI1Y0dVZ2FYTWdZU0J6ZEhKcGJtZGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLR2wwTENCVEtTQjdYRzRnSUdsbUlDZ2hhWE5QWW1wbFkzUW9hWFFwS1NCeVpYUjFjbTRnYVhRN1hHNGdJSFpoY2lCbWJpd2dkbUZzTzF4dUlDQnBaaUFvVXlBbUppQjBlWEJsYjJZZ0tHWnVJRDBnYVhRdWRHOVRkSEpwYm1jcElEMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ0lXbHpUMkpxWldOMEtIWmhiQ0E5SUdadUxtTmhiR3dvYVhRcEtTa2djbVYwZFhKdUlIWmhiRHRjYmlBZ2FXWWdLSFI1Y0dWdlppQW9abTRnUFNCcGRDNTJZV3gxWlU5bUtTQTlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDRnBjMDlpYW1WamRDaDJZV3dnUFNCbWJpNWpZV3hzS0dsMEtTa3BJSEpsZEhWeWJpQjJZV3c3WEc0Z0lHbG1JQ2doVXlBbUppQjBlWEJsYjJZZ0tHWnVJRDBnYVhRdWRHOVRkSEpwYm1jcElEMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ0lXbHpUMkpxWldOMEtIWmhiQ0E5SUdadUxtTmhiR3dvYVhRcEtTa2djbVYwZFhKdUlIWmhiRHRjYmlBZ2RHaHliM2NnVkhsd1pVVnljbTl5S0Z3aVEyRnVKM1FnWTI5dWRtVnlkQ0J2WW1wbFkzUWdkRzhnY0hKcGJXbDBhWFpsSUhaaGJIVmxYQ0lwTzF4dWZUdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNibWxtSUNoeVpYRjFhWEpsS0NjdUwxOWtaWE5qY21sd2RHOXljeWNwS1NCN1hHNGdJSFpoY2lCTVNVSlNRVkpaSUQwZ2NtVnhkV2x5WlNnbkxpOWZiR2xpY21GeWVTY3BPMXh1SUNCMllYSWdaMnh2WW1Gc0lEMGdjbVZ4ZFdseVpTZ25MaTlmWjJ4dlltRnNKeWs3WEc0Z0lIWmhjaUJtWVdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2WDJaaGFXeHpKeWs3WEc0Z0lIWmhjaUFrWlhod2IzSjBJRDBnY21WeGRXbHlaU2duTGk5ZlpYaHdiM0owSnlrN1hHNGdJSFpoY2lBa2RIbHdaV1FnUFNCeVpYRjFhWEpsS0NjdUwxOTBlWEJsWkNjcE8xeHVJQ0IyWVhJZ0pHSjFabVpsY2lBOUlISmxjWFZwY21Vb0p5NHZYM1I1Y0dWa0xXSjFabVpsY2ljcE8xeHVJQ0IyWVhJZ1kzUjRJRDBnY21WeGRXbHlaU2duTGk5ZlkzUjRKeWs3WEc0Z0lIWmhjaUJoYmtsdWMzUmhibU5sSUQwZ2NtVnhkV2x5WlNnbkxpOWZZVzR0YVc1emRHRnVZMlVuS1R0Y2JpQWdkbUZ5SUhCeWIzQmxjblI1UkdWell5QTlJSEpsY1hWcGNtVW9KeTR2WDNCeWIzQmxjblI1TFdSbGMyTW5LVHRjYmlBZ2RtRnlJR2hwWkdVZ1BTQnlaWEYxYVhKbEtDY3VMMTlvYVdSbEp5azdYRzRnSUhaaGNpQnlaV1JsWm1sdVpVRnNiQ0E5SUhKbGNYVnBjbVVvSnk0dlgzSmxaR1ZtYVc1bExXRnNiQ2NwTzF4dUlDQjJZWElnZEc5SmJuUmxaMlZ5SUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YVc1MFpXZGxjaWNwTzF4dUlDQjJZWElnZEc5TVpXNW5kR2dnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTFzWlc1bmRHZ25LVHRjYmlBZ2RtRnlJSFJ2U1c1a1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXBibVJsZUNjcE8xeHVJQ0IyWVhJZ2RHOUJZbk52YkhWMFpVbHVaR1Y0SUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0WVdKemIyeDFkR1V0YVc1a1pYZ25LVHRjYmlBZ2RtRnlJSFJ2VUhKcGJXbDBhWFpsSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0Y0hKcGJXbDBhWFpsSnlrN1hHNGdJSFpoY2lCb1lYTWdQU0J5WlhGMWFYSmxLQ2N1TDE5b1lYTW5LVHRjYmlBZ2RtRnlJR05zWVhOemIyWWdQU0J5WlhGMWFYSmxLQ2N1TDE5amJHRnpjMjltSnlrN1hHNGdJSFpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dUlDQjJZWElnZEc5UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTF2WW1wbFkzUW5LVHRjYmlBZ2RtRnlJR2x6UVhKeVlYbEpkR1Z5SUQwZ2NtVnhkV2x5WlNnbkxpOWZhWE10WVhKeVlYa3RhWFJsY2ljcE8xeHVJQ0IyWVhJZ1kzSmxZWFJsSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXTnlaV0YwWlNjcE8xeHVJQ0IyWVhJZ1oyVjBVSEp2ZEc5MGVYQmxUMllnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFozQnZKeWs3WEc0Z0lIWmhjaUJuVDFCT0lEMGdjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV2R2Y0c0bktTNW1PMXh1SUNCMllYSWdaMlYwU1hSbGNrWnVJRDBnY21WeGRXbHlaU2duTGk5amIzSmxMbWRsZEMxcGRHVnlZWFJ2Y2kxdFpYUm9iMlFuS1R0Y2JpQWdkbUZ5SUhWcFpDQTlJSEpsY1hWcGNtVW9KeTR2WDNWcFpDY3BPMXh1SUNCMllYSWdkMnR6SUQwZ2NtVnhkV2x5WlNnbkxpOWZkMnR6SnlrN1hHNGdJSFpoY2lCamNtVmhkR1ZCY25KaGVVMWxkR2h2WkNBOUlISmxjWFZwY21Vb0p5NHZYMkZ5Y21GNUxXMWxkR2h2WkhNbktUdGNiaUFnZG1GeUlHTnlaV0YwWlVGeWNtRjVTVzVqYkhWa1pYTWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGNuSmhlUzFwYm1Oc2RXUmxjeWNwTzF4dUlDQjJZWElnYzNCbFkybGxjME52Ym5OMGNuVmpkRzl5SUQwZ2NtVnhkV2x5WlNnbkxpOWZjM0JsWTJsbGN5MWpiMjV6ZEhKMVkzUnZjaWNwTzF4dUlDQjJZWElnUVhKeVlYbEpkR1Z5WVhSdmNuTWdQU0J5WlhGMWFYSmxLQ2N1TDJWek5pNWhjbkpoZVM1cGRHVnlZWFJ2Y2ljcE8xeHVJQ0IyWVhJZ1NYUmxjbUYwYjNKeklEMGdjbVZ4ZFdseVpTZ25MaTlmYVhSbGNtRjBiM0p6SnlrN1hHNGdJSFpoY2lBa2FYUmxja1JsZEdWamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJsMFpYSXRaR1YwWldOMEp5azdYRzRnSUhaaGNpQnpaWFJUY0dWamFXVnpJRDBnY21WeGRXbHlaU2duTGk5ZmMyVjBMWE53WldOcFpYTW5LVHRjYmlBZ2RtRnlJR0Z5Y21GNVJtbHNiQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnljbUY1TFdacGJHd25LVHRjYmlBZ2RtRnlJR0Z5Y21GNVEyOXdlVmRwZEdocGJpQTlJSEpsY1hWcGNtVW9KeTR2WDJGeWNtRjVMV052Y0hrdGQybDBhR2x1SnlrN1hHNGdJSFpoY2lBa1JGQWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WkhBbktUdGNiaUFnZG1GeUlDUkhUMUJFSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXZHZjR1FuS1R0Y2JpQWdkbUZ5SUdSUUlEMGdKRVJRTG1ZN1hHNGdJSFpoY2lCblQxQkVJRDBnSkVkUFVFUXVaanRjYmlBZ2RtRnlJRkpoYm1kbFJYSnliM0lnUFNCbmJHOWlZV3d1VW1GdVoyVkZjbkp2Y2p0Y2JpQWdkbUZ5SUZSNWNHVkZjbkp2Y2lBOUlHZHNiMkpoYkM1VWVYQmxSWEp5YjNJN1hHNGdJSFpoY2lCVmFXNTBPRUZ5Y21GNUlEMGdaMnh2WW1Gc0xsVnBiblE0UVhKeVlYazdYRzRnSUhaaGNpQkJVbEpCV1Y5Q1ZVWkdSVklnUFNBblFYSnlZWGxDZFdabVpYSW5PMXh1SUNCMllYSWdVMGhCVWtWRVgwSlZSa1pGVWlBOUlDZFRhR0Z5WldRbklDc2dRVkpTUVZsZlFsVkdSa1ZTTzF4dUlDQjJZWElnUWxsVVJWTmZVRVZTWDBWTVJVMUZUbFFnUFNBblFsbFVSVk5mVUVWU1gwVk1SVTFGVGxRbk8xeHVJQ0IyWVhJZ1VGSlBWRTlVV1ZCRklEMGdKM0J5YjNSdmRIbHdaU2M3WEc0Z0lIWmhjaUJCY25KaGVWQnliM1J2SUQwZ1FYSnlZWGxiVUZKUFZFOVVXVkJGWFR0Y2JpQWdkbUZ5SUNSQmNuSmhlVUoxWm1abGNpQTlJQ1JpZFdabVpYSXVRWEp5WVhsQ2RXWm1aWEk3WEc0Z0lIWmhjaUFrUkdGMFlWWnBaWGNnUFNBa1luVm1abVZ5TGtSaGRHRldhV1YzTzF4dUlDQjJZWElnWVhKeVlYbEdiM0pGWVdOb0lEMGdZM0psWVhSbFFYSnlZWGxOWlhSb2IyUW9NQ2s3WEc0Z0lIWmhjaUJoY25KaGVVWnBiSFJsY2lBOUlHTnlaV0YwWlVGeWNtRjVUV1YwYUc5a0tESXBPMXh1SUNCMllYSWdZWEp5WVhsVGIyMWxJRDBnWTNKbFlYUmxRWEp5WVhsTlpYUm9iMlFvTXlrN1hHNGdJSFpoY2lCaGNuSmhlVVYyWlhKNUlEMGdZM0psWVhSbFFYSnlZWGxOWlhSb2IyUW9OQ2s3WEc0Z0lIWmhjaUJoY25KaGVVWnBibVFnUFNCamNtVmhkR1ZCY25KaGVVMWxkR2h2WkNnMUtUdGNiaUFnZG1GeUlHRnljbUY1Um1sdVpFbHVaR1Y0SUQwZ1kzSmxZWFJsUVhKeVlYbE5aWFJvYjJRb05pazdYRzRnSUhaaGNpQmhjbkpoZVVsdVkyeDFaR1Z6SUQwZ1kzSmxZWFJsUVhKeVlYbEpibU5zZFdSbGN5aDBjblZsS1R0Y2JpQWdkbUZ5SUdGeWNtRjVTVzVrWlhoUFppQTlJR055WldGMFpVRnljbUY1U1c1amJIVmtaWE1vWm1Gc2MyVXBPMXh1SUNCMllYSWdZWEp5WVhsV1lXeDFaWE1nUFNCQmNuSmhlVWwwWlhKaGRHOXljeTUyWVd4MVpYTTdYRzRnSUhaaGNpQmhjbkpoZVV0bGVYTWdQU0JCY25KaGVVbDBaWEpoZEc5eWN5NXJaWGx6TzF4dUlDQjJZWElnWVhKeVlYbEZiblJ5YVdWeklEMGdRWEp5WVhsSmRHVnlZWFJ2Y25NdVpXNTBjbWxsY3p0Y2JpQWdkbUZ5SUdGeWNtRjVUR0Z6ZEVsdVpHVjRUMllnUFNCQmNuSmhlVkJ5YjNSdkxteGhjM1JKYm1SbGVFOW1PMXh1SUNCMllYSWdZWEp5WVhsU1pXUjFZMlVnUFNCQmNuSmhlVkJ5YjNSdkxuSmxaSFZqWlR0Y2JpQWdkbUZ5SUdGeWNtRjVVbVZrZFdObFVtbG5hSFFnUFNCQmNuSmhlVkJ5YjNSdkxuSmxaSFZqWlZKcFoyaDBPMXh1SUNCMllYSWdZWEp5WVhsS2IybHVJRDBnUVhKeVlYbFFjbTkwYnk1cWIybHVPMXh1SUNCMllYSWdZWEp5WVhsVGIzSjBJRDBnUVhKeVlYbFFjbTkwYnk1emIzSjBPMXh1SUNCMllYSWdZWEp5WVhsVGJHbGpaU0E5SUVGeWNtRjVVSEp2ZEc4dWMyeHBZMlU3WEc0Z0lIWmhjaUJoY25KaGVWUnZVM1J5YVc1bklEMGdRWEp5WVhsUWNtOTBieTUwYjFOMGNtbHVaenRjYmlBZ2RtRnlJR0Z5Y21GNVZHOU1iMk5oYkdWVGRISnBibWNnUFNCQmNuSmhlVkJ5YjNSdkxuUnZURzlqWVd4bFUzUnlhVzVuTzF4dUlDQjJZWElnU1ZSRlVrRlVUMUlnUFNCM2EzTW9KMmwwWlhKaGRHOXlKeWs3WEc0Z0lIWmhjaUJVUVVjZ1BTQjNhM01vSjNSdlUzUnlhVzVuVkdGbkp5azdYRzRnSUhaaGNpQlVXVkJGUkY5RFQwNVRWRkpWUTFSUFVpQTlJSFZwWkNnbmRIbHdaV1JmWTI5dWMzUnlkV04wYjNJbktUdGNiaUFnZG1GeUlFUkZSbDlEVDA1VFZGSlZRMVJQVWlBOUlIVnBaQ2duWkdWbVgyTnZibk4wY25WamRHOXlKeWs3WEc0Z0lIWmhjaUJCVEV4ZlEwOU9VMVJTVlVOVVQxSlRJRDBnSkhSNWNHVmtMa05QVGxOVVVqdGNiaUFnZG1GeUlGUlpVRVZFWDBGU1VrRlpJRDBnSkhSNWNHVmtMbFJaVUVWRU8xeHVJQ0IyWVhJZ1ZrbEZWeUE5SUNSMGVYQmxaQzVXU1VWWE8xeHVJQ0IyWVhJZ1YxSlBUa2RmVEVWT1IxUklJRDBnSjFkeWIyNW5JR3hsYm1kMGFDRW5PMXh1WEc0Z0lIWmhjaUFrYldGd0lEMGdZM0psWVhSbFFYSnlZWGxOWlhSb2IyUW9NU3dnWm5WdVkzUnBiMjRnS0U4c0lHeGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJoYkd4dlkyRjBaU2h6Y0dWamFXVnpRMjl1YzNSeWRXTjBiM0lvVHl3Z1QxdEVSVVpmUTA5T1UxUlNWVU5VVDFKZEtTd2diR1Z1WjNSb0tUdGNiaUFnZlNrN1hHNWNiaUFnZG1GeUlFeEpWRlJNUlY5RlRrUkpRVTRnUFNCbVlXbHNjeWhtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUc1dkxYVnVaR1ZtWEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJWYVc1ME9FRnljbUY1S0c1bGR5QlZhVzUwTVRaQmNuSmhlU2hiTVYwcExtSjFabVpsY2lsYk1GMGdQVDA5SURFN1hHNGdJSDBwTzF4dVhHNGdJSFpoY2lCR1QxSkRSVVJmVTBWVUlEMGdJU0ZWYVc1ME9FRnljbUY1SUNZbUlDRWhWV2x1ZERoQmNuSmhlVnRRVWs5VVQxUlpVRVZkTG5ObGRDQW1KaUJtWVdsc2N5aG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdibVYzSUZWcGJuUTRRWEp5WVhrb01Ta3VjMlYwS0h0OUtUdGNiaUFnZlNrN1hHNWNiaUFnZG1GeUlIUnZUMlptYzJWMElEMGdablZ1WTNScGIyNGdLR2wwTENCQ1dWUkZVeWtnZTF4dUlDQWdJSFpoY2lCdlptWnpaWFFnUFNCMGIwbHVkR1ZuWlhJb2FYUXBPMXh1SUNBZ0lHbG1JQ2h2Wm1aelpYUWdQQ0F3SUh4OElHOW1abk5sZENBbElFSlpWRVZUS1NCMGFISnZkeUJTWVc1blpVVnljbTl5S0NkWGNtOXVaeUJ2Wm1aelpYUWhKeWs3WEc0Z0lDQWdjbVYwZFhKdUlHOW1abk5sZER0Y2JpQWdmVHRjYmx4dUlDQjJZWElnZG1Gc2FXUmhkR1VnUFNCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ0lDQnBaaUFvYVhOUFltcGxZM1FvYVhRcElDWW1JRlJaVUVWRVgwRlNVa0ZaSUdsdUlHbDBLU0J5WlhSMWNtNGdhWFE3WEc0Z0lDQWdkR2h5YjNjZ1ZIbHdaVVZ5Y205eUtHbDBJQ3NnSnlCcGN5QnViM1FnWVNCMGVYQmxaQ0JoY25KaGVTRW5LVHRjYmlBZ2ZUdGNibHh1SUNCMllYSWdZV3hzYjJOaGRHVWdQU0JtZFc1amRHbHZiaUFvUXl3Z2JHVnVaM1JvS1NCN1hHNGdJQ0FnYVdZZ0tDRW9hWE5QWW1wbFkzUW9ReWtnSmlZZ1ZGbFFSVVJmUTA5T1UxUlNWVU5VVDFJZ2FXNGdReWtwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRlI1Y0dWRmNuSnZjaWduU1hRZ2FYTWdibTkwSUdFZ2RIbHdaV1FnWVhKeVlYa2dZMjl1YzNSeWRXTjBiM0loSnlrN1hHNGdJQ0FnZlNCeVpYUjFjbTRnYm1WM0lFTW9iR1Z1WjNSb0tUdGNiaUFnZlR0Y2JseHVJQ0IyWVhJZ2MzQmxZMmxsYzBaeWIyMU1hWE4wSUQwZ1puVnVZM1JwYjI0Z0tFOHNJR3hwYzNRcElIdGNiaUFnSUNCeVpYUjFjbTRnWm5KdmJVeHBjM1FvYzNCbFkybGxjME52Ym5OMGNuVmpkRzl5S0U4c0lFOWJSRVZHWDBOUFRsTlVVbFZEVkU5U1hTa3NJR3hwYzNRcE8xeHVJQ0I5TzF4dVhHNGdJSFpoY2lCbWNtOXRUR2x6ZENBOUlHWjFibU4wYVc5dUlDaERMQ0JzYVhOMEtTQjdYRzRnSUNBZ2RtRnlJR2x1WkdWNElEMGdNRHRjYmlBZ0lDQjJZWElnYkdWdVozUm9JRDBnYkdsemRDNXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlISmxjM1ZzZENBOUlHRnNiRzlqWVhSbEtFTXNJR3hsYm1kMGFDazdYRzRnSUNBZ2QyaHBiR1VnS0d4bGJtZDBhQ0ErSUdsdVpHVjRLU0J5WlhOMWJIUmJhVzVrWlhoZElEMGdiR2x6ZEZ0cGJtUmxlQ3NyWFR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVJQ0I5TzF4dVhHNGdJSFpoY2lCaFpHUkhaWFIwWlhJZ1BTQm1kVzVqZEdsdmJpQW9hWFFzSUd0bGVTd2dhVzUwWlhKdVlXd3BJSHRjYmlBZ0lDQmtVQ2hwZEN3Z2EyVjVMQ0I3SUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnZEdocGN5NWZaRnRwYm5SbGNtNWhiRjA3SUgwZ2ZTazdYRzRnSUgwN1hHNWNiaUFnZG1GeUlDUm1jbTl0SUQwZ1puVnVZM1JwYjI0Z1puSnZiU2h6YjNWeVkyVWdMeW9nTENCdFlYQm1iaXdnZEdocGMwRnlaeUFxTHlrZ2UxeHVJQ0FnSUhaaGNpQlBJRDBnZEc5UFltcGxZM1FvYzI5MWNtTmxLVHRjYmlBZ0lDQjJZWElnWVV4bGJpQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZzdYRzRnSUNBZ2RtRnlJRzFoY0dadUlEMGdZVXhsYmlBK0lERWdQeUJoY21kMWJXVnVkSE5iTVYwZ09pQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2RtRnlJRzFoY0hCcGJtY2dQU0J0WVhCbWJpQWhQVDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJSFpoY2lCcGRHVnlSbTRnUFNCblpYUkpkR1Z5Um00b1R5azdYRzRnSUNBZ2RtRnlJR2tzSUd4bGJtZDBhQ3dnZG1Gc2RXVnpMQ0J5WlhOMWJIUXNJSE4wWlhBc0lHbDBaWEpoZEc5eU8xeHVJQ0FnSUdsbUlDaHBkR1Z5Um00Z0lUMGdkVzVrWldacGJtVmtJQ1ltSUNGcGMwRnljbUY1U1hSbGNpaHBkR1Z5Um00cEtTQjdYRzRnSUNBZ0lDQm1iM0lnS0dsMFpYSmhkRzl5SUQwZ2FYUmxja1p1TG1OaGJHd29UeWtzSUhaaGJIVmxjeUE5SUZ0ZExDQnBJRDBnTURzZ0lTaHpkR1Z3SUQwZ2FYUmxjbUYwYjNJdWJtVjRkQ2dwS1M1a2IyNWxPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZzZFdWekxuQjFjMmdvYzNSbGNDNTJZV3gxWlNrN1hHNGdJQ0FnSUNCOUlFOGdQU0IyWVd4MVpYTTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHRZWEJ3YVc1bklDWW1JR0ZNWlc0Z1BpQXlLU0J0WVhCbWJpQTlJR04wZUNodFlYQm1iaXdnWVhKbmRXMWxiblJ6V3pKZExDQXlLVHRjYmlBZ0lDQm1iM0lnS0drZ1BTQXdMQ0JzWlc1bmRHZ2dQU0IwYjB4bGJtZDBhQ2hQTG14bGJtZDBhQ2tzSUhKbGMzVnNkQ0E5SUdGc2JHOWpZWFJsS0hSb2FYTXNJR3hsYm1kMGFDazdJR3hsYm1kMGFDQStJR2s3SUdrckt5a2dlMXh1SUNBZ0lDQWdjbVZ6ZFd4MFcybGRJRDBnYldGd2NHbHVaeUEvSUcxaGNHWnVLRTliYVYwc0lHa3BJRG9nVDF0cFhUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNiaUFnZlR0Y2JseHVJQ0IyWVhJZ0pHOW1JRDBnWm5WdVkzUnBiMjRnYjJZb0x5b2dMaTR1YVhSbGJYTWdLaThwSUh0Y2JpQWdJQ0IyWVhJZ2FXNWtaWGdnUFNBd08xeHVJQ0FnSUhaaGNpQnNaVzVuZEdnZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb08xeHVJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQmhiR3h2WTJGMFpTaDBhR2x6TENCc1pXNW5kR2dwTzF4dUlDQWdJSGRvYVd4bElDaHNaVzVuZEdnZ1BpQnBibVJsZUNrZ2NtVnpkV3gwVzJsdVpHVjRYU0E5SUdGeVozVnRaVzUwYzF0cGJtUmxlQ3NyWFR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVJQ0I5TzF4dVhHNGdJQzh2SUdsUFV5QlRZV1poY21rZ05pNTRJR1poYVd4eklHaGxjbVZjYmlBZ2RtRnlJRlJQWDB4UFEwRk1SVjlDVlVjZ1BTQWhJVlZwYm5RNFFYSnlZWGtnSmlZZ1ptRnBiSE1vWm5WdVkzUnBiMjRnS0NrZ2V5QmhjbkpoZVZSdlRHOWpZV3hsVTNSeWFXNW5MbU5oYkd3b2JtVjNJRlZwYm5RNFFYSnlZWGtvTVNrcE95QjlLVHRjYmx4dUlDQjJZWElnSkhSdlRHOWpZV3hsVTNSeWFXNW5JRDBnWm5WdVkzUnBiMjRnZEc5TWIyTmhiR1ZUZEhKcGJtY29LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHRnljbUY1Vkc5TWIyTmhiR1ZUZEhKcGJtY3VZWEJ3Ykhrb1ZFOWZURTlEUVV4RlgwSlZSeUEvSUdGeWNtRjVVMnhwWTJVdVkyRnNiQ2gyWVd4cFpHRjBaU2gwYUdsektTa2dPaUIyWVd4cFpHRjBaU2gwYUdsektTd2dZWEpuZFcxbGJuUnpLVHRjYmlBZ2ZUdGNibHh1SUNCMllYSWdjSEp2ZEc4Z1BTQjdYRzRnSUNBZ1kyOXdlVmRwZEdocGJqb2dablZ1WTNScGIyNGdZMjl3ZVZkcGRHaHBiaWgwWVhKblpYUXNJSE4wWVhKMElDOHFJQ3dnWlc1a0lDb3ZLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZWEp5WVhsRGIzQjVWMmwwYUdsdUxtTmhiR3dvZG1Gc2FXUmhkR1VvZEdocGN5a3NJSFJoY21kbGRDd2djM1JoY25Rc0lHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BpQXlJRDhnWVhKbmRXMWxiblJ6V3pKZElEb2dkVzVrWldacGJtVmtLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lHVjJaWEo1T2lCbWRXNWpkR2x2YmlCbGRtVnllU2hqWVd4c1ltRmphMlp1SUM4cUlDd2dkR2hwYzBGeVp5QXFMeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR0Z5Y21GNVJYWmxjbmtvZG1Gc2FXUmhkR1VvZEdocGN5a3NJR05oYkd4aVlXTnJabTRzSUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUGlBeElEOGdZWEpuZFcxbGJuUnpXekZkSURvZ2RXNWtaV1pwYm1Wa0tUdGNiaUFnSUNCOUxGeHVJQ0FnSUdacGJHdzZJR1oxYm1OMGFXOXVJR1pwYkd3b2RtRnNkV1VnTHlvZ0xDQnpkR0Z5ZEN3Z1pXNWtJQ292S1NCN0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXeHBibVVnYm04dGRXNTFjMlZrTFhaaGNuTmNiaUFnSUNBZ0lISmxkSFZ5YmlCaGNuSmhlVVpwYkd3dVlYQndiSGtvZG1Gc2FXUmhkR1VvZEdocGN5a3NJR0Z5WjNWdFpXNTBjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQm1hV3gwWlhJNklHWjFibU4wYVc5dUlHWnBiSFJsY2loallXeHNZbUZqYTJadUlDOHFJQ3dnZEdocGMwRnlaeUFxTHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhOd1pXTnBaWE5HY205dFRHbHpkQ2gwYUdsekxDQmhjbkpoZVVacGJIUmxjaWgyWVd4cFpHRjBaU2gwYUdsektTd2dZMkZzYkdKaFkydG1iaXhjYmlBZ0lDQWdJQ0FnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0ErSURFZ1B5QmhjbWQxYldWdWRITmJNVjBnT2lCMWJtUmxabWx1WldRcEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUdacGJtUTZJR1oxYm1OMGFXOXVJR1pwYm1Rb2NISmxaR2xqWVhSbElDOHFJQ3dnZEdocGMwRnlaeUFxTHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdGeWNtRjVSbWx1WkNoMllXeHBaR0YwWlNoMGFHbHpLU3dnY0hKbFpHbGpZWFJsTENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQ0Z01TQS9JR0Z5WjNWdFpXNTBjMXN4WFNBNklIVnVaR1ZtYVc1bFpDazdYRzRnSUNBZ2ZTeGNiaUFnSUNCbWFXNWtTVzVrWlhnNklHWjFibU4wYVc5dUlHWnBibVJKYm1SbGVDaHdjbVZrYVdOaGRHVWdMeW9nTENCMGFHbHpRWEpuSUNvdktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1lYSnlZWGxHYVc1a1NXNWtaWGdvZG1Gc2FXUmhkR1VvZEdocGN5a3NJSEJ5WldScFkyRjBaU3dnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0ErSURFZ1B5QmhjbWQxYldWdWRITmJNVjBnT2lCMWJtUmxabWx1WldRcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnWm05eVJXRmphRG9nWm5WdVkzUnBiMjRnWm05eVJXRmphQ2hqWVd4c1ltRmphMlp1SUM4cUlDd2dkR2hwYzBGeVp5QXFMeWtnZTF4dUlDQWdJQ0FnWVhKeVlYbEdiM0pGWVdOb0tIWmhiR2xrWVhSbEtIUm9hWE1wTENCallXeHNZbUZqYTJadUxDQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNU0EvSUdGeVozVnRaVzUwYzFzeFhTQTZJSFZ1WkdWbWFXNWxaQ2s3WEc0Z0lDQWdmU3hjYmlBZ0lDQnBibVJsZUU5bU9pQm1kVzVqZEdsdmJpQnBibVJsZUU5bUtITmxZWEpqYUVWc1pXMWxiblFnTHlvZ0xDQm1jbTl0U1c1a1pYZ2dLaThwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoY25KaGVVbHVaR1Y0VDJZb2RtRnNhV1JoZEdVb2RHaHBjeWtzSUhObFlYSmphRVZzWlcxbGJuUXNJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQaUF4SUQ4Z1lYSm5kVzFsYm5Seld6RmRJRG9nZFc1a1pXWnBibVZrS1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJR2x1WTJ4MVpHVnpPaUJtZFc1amRHbHZiaUJwYm1Oc2RXUmxjeWh6WldGeVkyaEZiR1Z0Wlc1MElDOHFJQ3dnWm5KdmJVbHVaR1Y0SUNvdktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1lYSnlZWGxKYm1Oc2RXUmxjeWgyWVd4cFpHRjBaU2gwYUdsektTd2djMlZoY21Ob1JXeGxiV1Z1ZEN3Z1lYSm5kVzFsYm5SekxteGxibWQwYUNBK0lERWdQeUJoY21kMWJXVnVkSE5iTVYwZ09pQjFibVJsWm1sdVpXUXBPMXh1SUNBZ0lIMHNYRzRnSUNBZ2FtOXBiam9nWm5WdVkzUnBiMjRnYW05cGJpaHpaWEJoY21GMGIzSXBJSHNnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0YkdsdVpTQnVieTExYm5WelpXUXRkbUZ5YzF4dUlDQWdJQ0FnY21WMGRYSnVJR0Z5Y21GNVNtOXBiaTVoY0hCc2VTaDJZV3hwWkdGMFpTaDBhR2x6S1N3Z1lYSm5kVzFsYm5SektUdGNiaUFnSUNCOUxGeHVJQ0FnSUd4aGMzUkpibVJsZUU5bU9pQm1kVzVqZEdsdmJpQnNZWE4wU1c1a1pYaFBaaWh6WldGeVkyaEZiR1Z0Wlc1MElDOHFJQ3dnWm5KdmJVbHVaR1Y0SUNvdktTQjdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ2JtOHRkVzUxYzJWa0xYWmhjbk5jYmlBZ0lDQWdJSEpsZEhWeWJpQmhjbkpoZVV4aGMzUkpibVJsZUU5bUxtRndjR3g1S0haaGJHbGtZWFJsS0hSb2FYTXBMQ0JoY21kMWJXVnVkSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdiV0Z3T2lCbWRXNWpkR2x2YmlCdFlYQW9iV0Z3Wm00Z0x5b2dMQ0IwYUdselFYSm5JQ292S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnSkcxaGNDaDJZV3hwWkdGMFpTaDBhR2x6S1N3Z2JXRndabTRzSUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUGlBeElEOGdZWEpuZFcxbGJuUnpXekZkSURvZ2RXNWtaV1pwYm1Wa0tUdGNiaUFnSUNCOUxGeHVJQ0FnSUhKbFpIVmpaVG9nWm5WdVkzUnBiMjRnY21Wa2RXTmxLR05oYkd4aVlXTnJabTRnTHlvZ0xDQnBibWwwYVdGc1ZtRnNkV1VnS2k4cElIc2dMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdWJ5MTFiblZ6WldRdGRtRnljMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRnljbUY1VW1Wa2RXTmxMbUZ3Y0d4NUtIWmhiR2xrWVhSbEtIUm9hWE1wTENCaGNtZDFiV1Z1ZEhNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnY21Wa2RXTmxVbWxuYUhRNklHWjFibU4wYVc5dUlISmxaSFZqWlZKcFoyaDBLR05oYkd4aVlXTnJabTRnTHlvZ0xDQnBibWwwYVdGc1ZtRnNkV1VnS2k4cElIc2dMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdWJ5MTFiblZ6WldRdGRtRnljMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRnljbUY1VW1Wa2RXTmxVbWxuYUhRdVlYQndiSGtvZG1Gc2FXUmhkR1VvZEdocGN5a3NJR0Z5WjNWdFpXNTBjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQnlaWFpsY25ObE9pQm1kVzVqZEdsdmJpQnlaWFpsY25ObEtDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhSb1lYUWdQU0IwYUdsek8xeHVJQ0FnSUNBZ2RtRnlJR3hsYm1kMGFDQTlJSFpoYkdsa1lYUmxLSFJvWVhRcExteGxibWQwYUR0Y2JpQWdJQ0FnSUhaaGNpQnRhV1JrYkdVZ1BTQk5ZWFJvTG1ac2IyOXlLR3hsYm1kMGFDQXZJRElwTzF4dUlDQWdJQ0FnZG1GeUlHbHVaR1Y0SUQwZ01EdGNiaUFnSUNBZ0lIWmhjaUIyWVd4MVpUdGNiaUFnSUNBZ0lIZG9hV3hsSUNocGJtUmxlQ0E4SUcxcFpHUnNaU2tnZTF4dUlDQWdJQ0FnSUNCMllXeDFaU0E5SUhSb1lYUmJhVzVrWlhoZE8xeHVJQ0FnSUNBZ0lDQjBhR0YwVzJsdVpHVjRLeXRkSUQwZ2RHaGhkRnN0TFd4bGJtZDBhRjA3WEc0Z0lDQWdJQ0FnSUhSb1lYUmJiR1Z1WjNSb1hTQTlJSFpoYkhWbE8xeHVJQ0FnSUNBZ2ZTQnlaWFIxY200Z2RHaGhkRHRjYmlBZ0lDQjlMRnh1SUNBZ0lITnZiV1U2SUdaMWJtTjBhVzl1SUhOdmJXVW9ZMkZzYkdKaFkydG1iaUF2S2lBc0lIUm9hWE5CY21jZ0tpOHBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmhjbkpoZVZOdmJXVW9kbUZzYVdSaGRHVW9kR2hwY3lrc0lHTmhiR3hpWVdOclptNHNJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQaUF4SUQ4Z1lYSm5kVzFsYm5Seld6RmRJRG9nZFc1a1pXWnBibVZrS1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSE52Y25RNklHWjFibU4wYVc5dUlITnZjblFvWTI5dGNHRnlaV1p1S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVhKeVlYbFRiM0owTG1OaGJHd29kbUZzYVdSaGRHVW9kR2hwY3lrc0lHTnZiWEJoY21WbWJpazdYRzRnSUNBZ2ZTeGNiaUFnSUNCemRXSmhjbkpoZVRvZ1puVnVZM1JwYjI0Z2MzVmlZWEp5WVhrb1ltVm5hVzRzSUdWdVpDa2dlMXh1SUNBZ0lDQWdkbUZ5SUU4Z1BTQjJZV3hwWkdGMFpTaDBhR2x6S1R0Y2JpQWdJQ0FnSUhaaGNpQnNaVzVuZEdnZ1BTQlBMbXhsYm1kMGFEdGNiaUFnSUNBZ0lIWmhjaUFrWW1WbmFXNGdQU0IwYjBGaWMyOXNkWFJsU1c1a1pYZ29ZbVZuYVc0c0lHeGxibWQwYUNrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lDaHpjR1ZqYVdWelEyOXVjM1J5ZFdOMGIzSW9UeXdnVDF0RVJVWmZRMDlPVTFSU1ZVTlVUMUpkS1Nrb1hHNGdJQ0FnSUNBZ0lFOHVZblZtWm1WeUxGeHVJQ0FnSUNBZ0lDQlBMbUo1ZEdWUFptWnpaWFFnS3lBa1ltVm5hVzRnS2lCUExrSlpWRVZUWDFCRlVsOUZURVZOUlU1VUxGeHVJQ0FnSUNBZ0lDQjBiMHhsYm1kMGFDZ29aVzVrSUQwOVBTQjFibVJsWm1sdVpXUWdQeUJzWlc1bmRHZ2dPaUIwYjBGaWMyOXNkWFJsU1c1a1pYZ29aVzVrTENCc1pXNW5kR2dwS1NBdElDUmlaV2RwYmlsY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lIWmhjaUFrYzJ4cFkyVWdQU0JtZFc1amRHbHZiaUJ6YkdsalpTaHpkR0Z5ZEN3Z1pXNWtLU0I3WEc0Z0lDQWdjbVYwZFhKdUlITndaV05wWlhOR2NtOXRUR2x6ZENoMGFHbHpMQ0JoY25KaGVWTnNhV05sTG1OaGJHd29kbUZzYVdSaGRHVW9kR2hwY3lrc0lITjBZWEowTENCbGJtUXBLVHRjYmlBZ2ZUdGNibHh1SUNCMllYSWdKSE5sZENBOUlHWjFibU4wYVc5dUlITmxkQ2hoY25KaGVVeHBhMlVnTHlvZ0xDQnZabVp6WlhRZ0tpOHBJSHRjYmlBZ0lDQjJZV3hwWkdGMFpTaDBhR2x6S1R0Y2JpQWdJQ0IyWVhJZ2IyWm1jMlYwSUQwZ2RHOVBabVp6WlhRb1lYSm5kVzFsYm5Seld6RmRMQ0F4S1R0Y2JpQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2RHaHBjeTVzWlc1bmRHZzdYRzRnSUNBZ2RtRnlJSE55WXlBOUlIUnZUMkpxWldOMEtHRnljbUY1VEdsclpTazdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlIUnZUR1Z1WjNSb0tITnlZeTVzWlc1bmRHZ3BPMXh1SUNBZ0lIWmhjaUJwYm1SbGVDQTlJREE3WEc0Z0lDQWdhV1lnS0d4bGJpQXJJRzltWm5ObGRDQStJR3hsYm1kMGFDa2dkR2h5YjNjZ1VtRnVaMlZGY25KdmNpaFhVazlPUjE5TVJVNUhWRWdwTzF4dUlDQWdJSGRvYVd4bElDaHBibVJsZUNBOElHeGxiaWtnZEdocGMxdHZabVp6WlhRZ0t5QnBibVJsZUYwZ1BTQnpjbU5iYVc1a1pYZ3JLMTA3WEc0Z0lIMDdYRzVjYmlBZ2RtRnlJQ1JwZEdWeVlYUnZjbk1nUFNCN1hHNGdJQ0FnWlc1MGNtbGxjem9nWm5WdVkzUnBiMjRnWlc1MGNtbGxjeWdwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoY25KaGVVVnVkSEpwWlhNdVkyRnNiQ2gyWVd4cFpHRjBaU2gwYUdsektTazdYRzRnSUNBZ2ZTeGNiaUFnSUNCclpYbHpPaUJtZFc1amRHbHZiaUJyWlhsektDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRnljbUY1UzJWNWN5NWpZV3hzS0haaGJHbGtZWFJsS0hSb2FYTXBLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIWmhiSFZsY3pvZ1puVnVZM1JwYjI0Z2RtRnNkV1Z6S0NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdGeWNtRjVWbUZzZFdWekxtTmhiR3dvZG1Gc2FXUmhkR1VvZEdocGN5a3BPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0IyWVhJZ2FYTlVRVWx1WkdWNElEMGdablZ1WTNScGIyNGdLSFJoY21kbGRDd2dhMlY1S1NCN1hHNGdJQ0FnY21WMGRYSnVJR2x6VDJKcVpXTjBLSFJoY21kbGRDbGNiaUFnSUNBZ0lDWW1JSFJoY21kbGRGdFVXVkJGUkY5QlVsSkJXVjFjYmlBZ0lDQWdJQ1ltSUhSNWNHVnZaaUJyWlhrZ0lUMGdKM041YldKdmJDZGNiaUFnSUNBZ0lDWW1JR3RsZVNCcGJpQjBZWEpuWlhSY2JpQWdJQ0FnSUNZbUlGTjBjbWx1WnlncmEyVjVLU0E5UFNCVGRISnBibWNvYTJWNUtUdGNiaUFnZlR0Y2JpQWdkbUZ5SUNSblpYUkVaWE5qSUQwZ1puVnVZM1JwYjI0Z1oyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0hSaGNtZGxkQ3dnYTJWNUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUdselZFRkpibVJsZUNoMFlYSm5aWFFzSUd0bGVTQTlJSFJ2VUhKcGJXbDBhWFpsS0d0bGVTd2dkSEoxWlNrcFhHNGdJQ0FnSUNBL0lIQnliM0JsY25SNVJHVnpZeWd5TENCMFlYSm5aWFJiYTJWNVhTbGNiaUFnSUNBZ0lEb2daMDlRUkNoMFlYSm5aWFFzSUd0bGVTazdYRzRnSUgwN1hHNGdJSFpoY2lBa2MyVjBSR1Z6WXlBOUlHWjFibU4wYVc5dUlHUmxabWx1WlZCeWIzQmxjblI1S0hSaGNtZGxkQ3dnYTJWNUxDQmtaWE5qS1NCN1hHNGdJQ0FnYVdZZ0tHbHpWRUZKYm1SbGVDaDBZWEpuWlhRc0lHdGxlU0E5SUhSdlVISnBiV2wwYVhabEtHdGxlU3dnZEhKMVpTa3BYRzRnSUNBZ0lDQW1KaUJwYzA5aWFtVmpkQ2hrWlhOaktWeHVJQ0FnSUNBZ0ppWWdhR0Z6S0dSbGMyTXNJQ2QyWVd4MVpTY3BYRzRnSUNBZ0lDQW1KaUFoYUdGektHUmxjMk1zSUNkblpYUW5LVnh1SUNBZ0lDQWdKaVlnSVdoaGN5aGtaWE5qTENBbmMyVjBKeWxjYmlBZ0lDQWdJQzh2SUZSUFJFODZJR0ZrWkNCMllXeHBaR0YwYVc5dUlHUmxjMk55YVhCMGIzSWdkeTl2SUdOaGJHeHBibWNnWVdOalpYTnpiM0p6WEc0Z0lDQWdJQ0FtSmlBaFpHVnpZeTVqYjI1bWFXZDFjbUZpYkdWY2JpQWdJQ0FnSUNZbUlDZ2hhR0Z6S0dSbGMyTXNJQ2QzY21sMFlXSnNaU2NwSUh4OElHUmxjMk11ZDNKcGRHRmliR1VwWEc0Z0lDQWdJQ0FtSmlBb0lXaGhjeWhrWlhOakxDQW5aVzUxYldWeVlXSnNaU2NwSUh4OElHUmxjMk11Wlc1MWJXVnlZV0pzWlNsY2JpQWdJQ0FwSUh0Y2JpQWdJQ0FnSUhSaGNtZGxkRnRyWlhsZElEMGdaR1Z6WXk1MllXeDFaVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBZWEpuWlhRN1hHNGdJQ0FnZlNCeVpYUjFjbTRnWkZBb2RHRnlaMlYwTENCclpYa3NJR1JsYzJNcE8xeHVJQ0I5TzF4dVhHNGdJR2xtSUNnaFFVeE1YME5QVGxOVVVsVkRWRTlTVXlrZ2UxeHVJQ0FnSUNSSFQxQkVMbVlnUFNBa1oyVjBSR1Z6WXp0Y2JpQWdJQ0FrUkZBdVppQTlJQ1J6WlhSRVpYTmpPMXh1SUNCOVhHNWNiaUFnSkdWNGNHOXlkQ2drWlhod2IzSjBMbE1nS3lBa1pYaHdiM0owTGtZZ0tpQWhRVXhNWDBOUFRsTlVVbFZEVkU5U1V5d2dKMDlpYW1WamRDY3NJSHRjYmlBZ0lDQm5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJNklDUm5aWFJFWlhOakxGeHVJQ0FnSUdSbFptbHVaVkJ5YjNCbGNuUjVPaUFrYzJWMFJHVnpZMXh1SUNCOUtUdGNibHh1SUNCcFppQW9abUZwYkhNb1puVnVZM1JwYjI0Z0tDa2dleUJoY25KaGVWUnZVM1J5YVc1bkxtTmhiR3dvZTMwcE95QjlLU2tnZTF4dUlDQWdJR0Z5Y21GNVZHOVRkSEpwYm1jZ1BTQmhjbkpoZVZSdlRHOWpZV3hsVTNSeWFXNW5JRDBnWm5WdVkzUnBiMjRnZEc5VGRISnBibWNvS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVhKeVlYbEtiMmx1TG1OaGJHd29kR2hwY3lrN1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUFrVkhsd1pXUkJjbkpoZVZCeWIzUnZkSGx3WlNRZ1BTQnlaV1JsWm1sdVpVRnNiQ2g3ZlN3Z2NISnZkRzhwTzF4dUlDQnlaV1JsWm1sdVpVRnNiQ2drVkhsd1pXUkJjbkpoZVZCeWIzUnZkSGx3WlNRc0lDUnBkR1Z5WVhSdmNuTXBPMXh1SUNCb2FXUmxLQ1JVZVhCbFpFRnljbUY1VUhKdmRHOTBlWEJsSkN3Z1NWUkZVa0ZVVDFJc0lDUnBkR1Z5WVhSdmNuTXVkbUZzZFdWektUdGNiaUFnY21Wa1pXWnBibVZCYkd3b0pGUjVjR1ZrUVhKeVlYbFFjbTkwYjNSNWNHVWtMQ0I3WEc0Z0lDQWdjMnhwWTJVNklDUnpiR2xqWlN4Y2JpQWdJQ0J6WlhRNklDUnpaWFFzWEc0Z0lDQWdZMjl1YzNSeWRXTjBiM0k2SUdaMWJtTjBhVzl1SUNncElIc2dMeW9nYm05dmNDQXFMeUI5TEZ4dUlDQWdJSFJ2VTNSeWFXNW5PaUJoY25KaGVWUnZVM1J5YVc1bkxGeHVJQ0FnSUhSdlRHOWpZV3hsVTNSeWFXNW5PaUFrZEc5TWIyTmhiR1ZUZEhKcGJtZGNiaUFnZlNrN1hHNGdJR0ZrWkVkbGRIUmxjaWdrVkhsd1pXUkJjbkpoZVZCeWIzUnZkSGx3WlNRc0lDZGlkV1ptWlhJbkxDQW5ZaWNwTzF4dUlDQmhaR1JIWlhSMFpYSW9KRlI1Y0dWa1FYSnlZWGxRY205MGIzUjVjR1VrTENBbllubDBaVTltWm5ObGRDY3NJQ2R2SnlrN1hHNGdJR0ZrWkVkbGRIUmxjaWdrVkhsd1pXUkJjbkpoZVZCeWIzUnZkSGx3WlNRc0lDZGllWFJsVEdWdVozUm9KeXdnSjJ3bktUdGNiaUFnWVdSa1IyVjBkR1Z5S0NSVWVYQmxaRUZ5Y21GNVVISnZkRzkwZVhCbEpDd2dKMnhsYm1kMGFDY3NJQ2RsSnlrN1hHNGdJR1JRS0NSVWVYQmxaRUZ5Y21GNVVISnZkRzkwZVhCbEpDd2dWRUZITENCN1hHNGdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdselcxUlpVRVZFWDBGU1VrRlpYVHNnZlZ4dUlDQjlLVHRjYmx4dUlDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdiV0Y0TFhOMFlYUmxiV1Z1ZEhOY2JpQWdiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9TMFZaTENCQ1dWUkZVeXdnZDNKaGNIQmxjaXdnUTB4QlRWQkZSQ2tnZTF4dUlDQWdJRU5NUVUxUVJVUWdQU0FoSVVOTVFVMVFSVVE3WEc0Z0lDQWdkbUZ5SUU1QlRVVWdQU0JMUlZrZ0t5QW9RMHhCVFZCRlJDQS9JQ2REYkdGdGNHVmtKeUE2SUNjbktTQXJJQ2RCY25KaGVTYzdYRzRnSUNBZ2RtRnlJRWRGVkZSRlVpQTlJQ2RuWlhRbklDc2dTMFZaTzF4dUlDQWdJSFpoY2lCVFJWUlVSVklnUFNBbmMyVjBKeUFySUV0RldUdGNiaUFnSUNCMllYSWdWSGx3WldSQmNuSmhlU0E5SUdkc2IySmhiRnRPUVUxRlhUdGNiaUFnSUNCMllYSWdRbUZ6WlNBOUlGUjVjR1ZrUVhKeVlYa2dmSHdnZTMwN1hHNGdJQ0FnZG1GeUlGUkJReUE5SUZSNWNHVmtRWEp5WVhrZ0ppWWdaMlYwVUhKdmRHOTBlWEJsVDJZb1ZIbHdaV1JCY25KaGVTazdYRzRnSUNBZ2RtRnlJRVpQVWtORlJDQTlJQ0ZVZVhCbFpFRnljbUY1SUh4OElDRWtkSGx3WldRdVFVSldPMXh1SUNBZ0lIWmhjaUJQSUQwZ2UzMDdYRzRnSUNBZ2RtRnlJRlI1Y0dWa1FYSnlZWGxRY205MGIzUjVjR1VnUFNCVWVYQmxaRUZ5Y21GNUlDWW1JRlI1Y0dWa1FYSnlZWGxiVUZKUFZFOVVXVkJGWFR0Y2JpQWdJQ0IyWVhJZ1oyVjBkR1Z5SUQwZ1puVnVZM1JwYjI0Z0tIUm9ZWFFzSUdsdVpHVjRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1pHRjBZU0E5SUhSb1lYUXVYMlE3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaR0YwWVM1MlcwZEZWRlJGVWwwb2FXNWtaWGdnS2lCQ1dWUkZVeUFySUdSaGRHRXVieXdnVEVsVVZFeEZYMFZPUkVsQlRpazdYRzRnSUNBZ2ZUdGNiaUFnSUNCMllYSWdjMlYwZEdWeUlEMGdablZ1WTNScGIyNGdLSFJvWVhRc0lHbHVaR1Y0TENCMllXeDFaU2tnZTF4dUlDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCMGFHRjBMbDlrTzF4dUlDQWdJQ0FnYVdZZ0tFTk1RVTFRUlVRcElIWmhiSFZsSUQwZ0tIWmhiSFZsSUQwZ1RXRjBhQzV5YjNWdVpDaDJZV3gxWlNrcElEd2dNQ0EvSURBZ09pQjJZV3gxWlNBK0lEQjRabVlnUHlBd2VHWm1JRG9nZG1Gc2RXVWdKaUF3ZUdabU8xeHVJQ0FnSUNBZ1pHRjBZUzUyVzFORlZGUkZVbDBvYVc1a1pYZ2dLaUJDV1ZSRlV5QXJJR1JoZEdFdWJ5d2dkbUZzZFdVc0lFeEpWRlJNUlY5RlRrUkpRVTRwTzF4dUlDQWdJSDA3WEc0Z0lDQWdkbUZ5SUdGa1pFVnNaVzFsYm5RZ1BTQm1kVzVqZEdsdmJpQW9kR2hoZEN3Z2FXNWtaWGdwSUh0Y2JpQWdJQ0FnSUdSUUtIUm9ZWFFzSUdsdVpHVjRMQ0I3WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCblpYUjBaWElvZEdocGN5d2dhVzVrWlhncE8xeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnpaWFIwWlhJb2RHaHBjeXdnYVc1a1pYZ3NJSFpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaVnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVHRjYmlBZ0lDQnBaaUFvUms5U1EwVkVLU0I3WEc0Z0lDQWdJQ0JVZVhCbFpFRnljbUY1SUQwZ2QzSmhjSEJsY2lobWRXNWpkR2x2YmlBb2RHaGhkQ3dnWkdGMFlTd2dKRzltWm5ObGRDd2dKR3hsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0JoYmtsdWMzUmhibU5sS0hSb1lYUXNJRlI1Y0dWa1FYSnlZWGtzSUU1QlRVVXNJQ2RmWkNjcE8xeHVJQ0FnSUNBZ0lDQjJZWElnYVc1a1pYZ2dQU0F3TzF4dUlDQWdJQ0FnSUNCMllYSWdiMlptYzJWMElEMGdNRHRjYmlBZ0lDQWdJQ0FnZG1GeUlHSjFabVpsY2l3Z1lubDBaVXhsYm1kMGFDd2diR1Z1WjNSb0xDQnJiR0Z6Y3p0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZwYzA5aWFtVmpkQ2hrWVhSaEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUd4bGJtZDBhQ0E5SUhSdlNXNWtaWGdvWkdGMFlTazdYRzRnSUNBZ0lDQWdJQ0FnWW5sMFpVeGxibWQwYUNBOUlHeGxibWQwYUNBcUlFSlpWRVZUTzF4dUlDQWdJQ0FnSUNBZ0lHSjFabVpsY2lBOUlHNWxkeUFrUVhKeVlYbENkV1ptWlhJb1lubDBaVXhsYm1kMGFDazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQnBaaUFvWkdGMFlTQnBibk4wWVc1alpXOW1JQ1JCY25KaGVVSjFabVpsY2lCOGZDQW9hMnhoYzNNZ1BTQmpiR0Z6YzI5bUtHUmhkR0VwS1NBOVBTQkJVbEpCV1Y5Q1ZVWkdSVklnZkh3Z2EyeGhjM01nUFQwZ1UwaEJVa1ZFWDBKVlJrWkZVaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHSjFabVpsY2lBOUlHUmhkR0U3WEc0Z0lDQWdJQ0FnSUNBZ2IyWm1jMlYwSUQwZ2RHOVBabVp6WlhRb0pHOW1abk5sZEN3Z1FsbFVSVk1wTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUFrYkdWdUlEMGdaR0YwWVM1aWVYUmxUR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNna2JHVnVaM1JvSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2drYkdWdUlDVWdRbGxVUlZNcElIUm9jbTkzSUZKaGJtZGxSWEp5YjNJb1YxSlBUa2RmVEVWT1IxUklLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSjVkR1ZNWlc1bmRHZ2dQU0FrYkdWdUlDMGdiMlptYzJWME8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHSjVkR1ZNWlc1bmRHZ2dQQ0F3S1NCMGFISnZkeUJTWVc1blpVVnljbTl5S0ZkU1QwNUhYMHhGVGtkVVNDazdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSjVkR1ZNWlc1bmRHZ2dQU0IwYjB4bGJtZDBhQ2drYkdWdVozUm9LU0FxSUVKWlZFVlRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR0o1ZEdWTVpXNW5kR2dnS3lCdlptWnpaWFFnUGlBa2JHVnVLU0IwYUhKdmR5QlNZVzVuWlVWeWNtOXlLRmRTVDA1SFgweEZUa2RVU0NrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUd4bGJtZDBhQ0E5SUdKNWRHVk1aVzVuZEdnZ0x5QkNXVlJGVXp0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaFVXVkJGUkY5QlVsSkJXU0JwYmlCa1lYUmhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaeWIyMU1hWE4wS0ZSNWNHVmtRWEp5WVhrc0lHUmhkR0VwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBa1puSnZiUzVqWVd4c0tGUjVjR1ZrUVhKeVlYa3NJR1JoZEdFcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2hwWkdVb2RHaGhkQ3dnSjE5a0p5d2dlMXh1SUNBZ0lDQWdJQ0FnSUdJNklHSjFabVpsY2l4Y2JpQWdJQ0FnSUNBZ0lDQnZPaUJ2Wm1aelpYUXNYRzRnSUNBZ0lDQWdJQ0FnYkRvZ1lubDBaVXhsYm1kMGFDeGNiaUFnSUNBZ0lDQWdJQ0JsT2lCc1pXNW5kR2dzWEc0Z0lDQWdJQ0FnSUNBZ2Rqb2dibVYzSUNSRVlYUmhWbWxsZHloaWRXWm1aWElwWEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FXNWtaWGdnUENCc1pXNW5kR2dwSUdGa1pFVnNaVzFsYm5Rb2RHaGhkQ3dnYVc1a1pYZ3JLeWs3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUZSNWNHVmtRWEp5WVhsUWNtOTBiM1I1Y0dVZ1BTQlVlWEJsWkVGeWNtRjVXMUJTVDFSUFZGbFFSVjBnUFNCamNtVmhkR1VvSkZSNWNHVmtRWEp5WVhsUWNtOTBiM1I1Y0dVa0tUdGNiaUFnSUNBZ0lHaHBaR1VvVkhsd1pXUkJjbkpoZVZCeWIzUnZkSGx3WlN3Z0oyTnZibk4wY25WamRHOXlKeXdnVkhsd1pXUkJjbkpoZVNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNnaFptRnBiSE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ1ZIbHdaV1JCY25KaGVTZ3hLVHRjYmlBZ0lDQjlLU0I4ZkNBaFptRnBiSE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ2JtVjNJRlI1Y0dWa1FYSnlZWGtvTFRFcE95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXNhVzVsSUc1dkxXNWxkMXh1SUNBZ0lIMHBJSHg4SUNFa2FYUmxja1JsZEdWamRDaG1kVzVqZEdsdmJpQW9hWFJsY2lrZ2UxeHVJQ0FnSUNBZ2JtVjNJRlI1Y0dWa1FYSnlZWGtvS1RzZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJHbHVaU0J1YnkxdVpYZGNiaUFnSUNBZ0lHNWxkeUJVZVhCbFpFRnljbUY1S0c1MWJHd3BPeUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMVzVsZDF4dUlDQWdJQ0FnYm1WM0lGUjVjR1ZrUVhKeVlYa29NUzQxS1RzZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJHbHVaU0J1YnkxdVpYZGNiaUFnSUNBZ0lHNWxkeUJVZVhCbFpFRnljbUY1S0dsMFpYSXBPeUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMVzVsZDF4dUlDQWdJSDBzSUhSeWRXVXBLU0I3WEc0Z0lDQWdJQ0JVZVhCbFpFRnljbUY1SUQwZ2QzSmhjSEJsY2lobWRXNWpkR2x2YmlBb2RHaGhkQ3dnWkdGMFlTd2dKRzltWm5ObGRDd2dKR3hsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0JoYmtsdWMzUmhibU5sS0hSb1lYUXNJRlI1Y0dWa1FYSnlZWGtzSUU1QlRVVXBPMXh1SUNBZ0lDQWdJQ0IyWVhJZ2EyeGhjM003WEc0Z0lDQWdJQ0FnSUM4dklHQjNjMkFnYlc5a2RXeGxJR0oxWnl3Z2RHVnRjRzl5WVhKcGJIa2djbVZ0YjNabElIWmhiR2xrWVhScGIyNGdiR1Z1WjNSb0lHWnZjaUJWYVc1ME9FRnljbUY1WEc0Z0lDQWdJQ0FnSUM4dklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOTNaV0p6YjJOclpYUnpMM2R6TDNCMWJHd3ZOalExWEc0Z0lDQWdJQ0FnSUdsbUlDZ2hhWE5QWW1wbFkzUW9aR0YwWVNrcElISmxkSFZ5YmlCdVpYY2dRbUZ6WlNoMGIwbHVaR1Y0S0dSaGRHRXBLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUmhkR0VnYVc1emRHRnVZMlZ2WmlBa1FYSnlZWGxDZFdabVpYSWdmSHdnS0d0c1lYTnpJRDBnWTJ4aGMzTnZaaWhrWVhSaEtTa2dQVDBnUVZKU1FWbGZRbFZHUmtWU0lIeDhJR3RzWVhOeklEMDlJRk5JUVZKRlJGOUNWVVpHUlZJcElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKR3hsYm1kMGFDQWhQVDBnZFc1a1pXWnBibVZrWEc0Z0lDQWdJQ0FnSUNBZ0lDQS9JRzVsZHlCQ1lYTmxLR1JoZEdFc0lIUnZUMlptYzJWMEtDUnZabVp6WlhRc0lFSlpWRVZUS1N3Z0pHeGxibWQwYUNsY2JpQWdJQ0FnSUNBZ0lDQWdJRG9nSkc5bVpuTmxkQ0FoUFQwZ2RXNWtaV1pwYm1Wa1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z2JtVjNJRUpoYzJVb1pHRjBZU3dnZEc5UFptWnpaWFFvSkc5bVpuTmxkQ3dnUWxsVVJWTXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJRzVsZHlCQ1lYTmxLR1JoZEdFcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNoVVdWQkZSRjlCVWxKQldTQnBiaUJrWVhSaEtTQnlaWFIxY200Z1puSnZiVXhwYzNRb1ZIbHdaV1JCY25KaGVTd2daR0YwWVNrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBa1puSnZiUzVqWVd4c0tGUjVjR1ZrUVhKeVlYa3NJR1JoZEdFcE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQmhjbkpoZVVadmNrVmhZMmdvVkVGRElDRTlQU0JHZFc1amRHbHZiaTV3Y205MGIzUjVjR1VnUHlCblQxQk9LRUpoYzJVcExtTnZibU5oZENoblQxQk9LRlJCUXlrcElEb2daMDlRVGloQ1lYTmxLU3dnWm5WdVkzUnBiMjRnS0d0bGVTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lTaHJaWGtnYVc0Z1ZIbHdaV1JCY25KaGVTa3BJR2hwWkdVb1ZIbHdaV1JCY25KaGVTd2dhMlY1TENCQ1lYTmxXMnRsZVYwcE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQlVlWEJsWkVGeWNtRjVXMUJTVDFSUFZGbFFSVjBnUFNCVWVYQmxaRUZ5Y21GNVVISnZkRzkwZVhCbE8xeHVJQ0FnSUNBZ2FXWWdLQ0ZNU1VKU1FWSlpLU0JVZVhCbFpFRnljbUY1VUhKdmRHOTBlWEJsTG1OdmJuTjBjblZqZEc5eUlEMGdWSGx3WldSQmNuSmhlVHRjYmlBZ0lDQjlYRzRnSUNBZ2RtRnlJQ1J1WVhScGRtVkpkR1Z5WVhSdmNpQTlJRlI1Y0dWa1FYSnlZWGxRY205MGIzUjVjR1ZiU1ZSRlVrRlVUMUpkTzF4dUlDQWdJSFpoY2lCRFQxSlNSVU5VWDBsVVJWSmZUa0ZOUlNBOUlDRWhKRzVoZEdsMlpVbDBaWEpoZEc5eVhHNGdJQ0FnSUNBbUppQW9KRzVoZEdsMlpVbDBaWEpoZEc5eUxtNWhiV1VnUFQwZ0ozWmhiSFZsY3ljZ2ZId2dKRzVoZEdsMlpVbDBaWEpoZEc5eUxtNWhiV1VnUFQwZ2RXNWtaV1pwYm1Wa0tUdGNiaUFnSUNCMllYSWdKR2wwWlhKaGRHOXlJRDBnSkdsMFpYSmhkRzl5Y3k1MllXeDFaWE03WEc0Z0lDQWdhR2xrWlNoVWVYQmxaRUZ5Y21GNUxDQlVXVkJGUkY5RFQwNVRWRkpWUTFSUFVpd2dkSEoxWlNrN1hHNGdJQ0FnYUdsa1pTaFVlWEJsWkVGeWNtRjVVSEp2ZEc5MGVYQmxMQ0JVV1ZCRlJGOUJVbEpCV1N3Z1RrRk5SU2s3WEc0Z0lDQWdhR2xrWlNoVWVYQmxaRUZ5Y21GNVVISnZkRzkwZVhCbExDQldTVVZYTENCMGNuVmxLVHRjYmlBZ0lDQm9hV1JsS0ZSNWNHVmtRWEp5WVhsUWNtOTBiM1I1Y0dVc0lFUkZSbDlEVDA1VFZGSlZRMVJQVWl3Z1ZIbHdaV1JCY25KaGVTazdYRzVjYmlBZ0lDQnBaaUFvUTB4QlRWQkZSQ0EvSUc1bGR5QlVlWEJsWkVGeWNtRjVLREVwVzFSQlIxMGdJVDBnVGtGTlJTQTZJQ0VvVkVGSElHbHVJRlI1Y0dWa1FYSnlZWGxRY205MGIzUjVjR1VwS1NCN1hHNGdJQ0FnSUNCa1VDaFVlWEJsWkVGeWNtRjVVSEp2ZEc5MGVYQmxMQ0JVUVVjc0lIdGNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQk9RVTFGT3lCOVhHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCUFcwNUJUVVZkSUQwZ1ZIbHdaV1JCY25KaGVUdGNibHh1SUNBZ0lDUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1SElDc2dKR1Y0Y0c5eWRDNVhJQ3NnSkdWNGNHOXlkQzVHSUNvZ0tGUjVjR1ZrUVhKeVlYa2dJVDBnUW1GelpTa3NJRThwTzF4dVhHNGdJQ0FnSkdWNGNHOXlkQ2drWlhod2IzSjBMbE1zSUU1QlRVVXNJSHRjYmlBZ0lDQWdJRUpaVkVWVFgxQkZVbDlGVEVWTlJVNVVPaUJDV1ZSRlUxeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ0pHVjRjRzl5ZENna1pYaHdiM0owTGxNZ0t5QWtaWGh3YjNKMExrWWdLaUJtWVdsc2N5aG1kVzVqZEdsdmJpQW9LU0I3SUVKaGMyVXViMll1WTJGc2JDaFVlWEJsWkVGeWNtRjVMQ0F4S1RzZ2ZTa3NJRTVCVFVVc0lIdGNiaUFnSUNBZ0lHWnliMjA2SUNSbWNtOXRMRnh1SUNBZ0lDQWdiMlk2SUNSdlpseHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ2FXWWdLQ0VvUWxsVVJWTmZVRVZTWDBWTVJVMUZUbFFnYVc0Z1ZIbHdaV1JCY25KaGVWQnliM1J2ZEhsd1pTa3BJR2hwWkdVb1ZIbHdaV1JCY25KaGVWQnliM1J2ZEhsd1pTd2dRbGxVUlZOZlVFVlNYMFZNUlUxRlRsUXNJRUpaVkVWVEtUdGNibHh1SUNBZ0lDUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1UUxDQk9RVTFGTENCd2NtOTBieWs3WEc1Y2JpQWdJQ0J6WlhSVGNHVmphV1Z6S0U1QlRVVXBPMXh1WEc0Z0lDQWdKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsQWdLeUFrWlhod2IzSjBMa1lnS2lCR1QxSkRSVVJmVTBWVUxDQk9RVTFGTENCN0lITmxkRG9nSkhObGRDQjlLVHRjYmx4dUlDQWdJQ1JsZUhCdmNuUW9KR1Y0Y0c5eWRDNVFJQ3NnSkdWNGNHOXlkQzVHSUNvZ0lVTlBVbEpGUTFSZlNWUkZVbDlPUVUxRkxDQk9RVTFGTENBa2FYUmxjbUYwYjNKektUdGNibHh1SUNBZ0lHbG1JQ2doVEVsQ1VrRlNXU0FtSmlCVWVYQmxaRUZ5Y21GNVVISnZkRzkwZVhCbExuUnZVM1J5YVc1bklDRTlJR0Z5Y21GNVZHOVRkSEpwYm1jcElGUjVjR1ZrUVhKeVlYbFFjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JoY25KaGVWUnZVM1J5YVc1bk8xeHVYRzRnSUNBZ0pHVjRjRzl5ZENna1pYaHdiM0owTGxBZ0t5QWtaWGh3YjNKMExrWWdLaUJtWVdsc2N5aG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0J1WlhjZ1ZIbHdaV1JCY25KaGVTZ3hLUzV6YkdsalpTZ3BPMXh1SUNBZ0lIMHBMQ0JPUVUxRkxDQjdJSE5zYVdObE9pQWtjMnhwWTJVZ2ZTazdYRzVjYmlBZ0lDQWtaWGh3YjNKMEtDUmxlSEJ2Y25RdVVDQXJJQ1JsZUhCdmNuUXVSaUFxSUNobVlXbHNjeWhtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnV3pFc0lESmRMblJ2VEc5allXeGxVM1J5YVc1bktDa2dJVDBnYm1WM0lGUjVjR1ZrUVhKeVlYa29XekVzSURKZEtTNTBiMHh2WTJGc1pWTjBjbWx1WnlncE8xeHVJQ0FnSUgwcElIeDhJQ0ZtWVdsc2N5aG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0JVZVhCbFpFRnljbUY1VUhKdmRHOTBlWEJsTG5SdlRHOWpZV3hsVTNSeWFXNW5MbU5oYkd3b1d6RXNJREpkS1R0Y2JpQWdJQ0I5S1Nrc0lFNUJUVVVzSUhzZ2RHOU1iMk5oYkdWVGRISnBibWM2SUNSMGIweHZZMkZzWlZOMGNtbHVaeUI5S1R0Y2JseHVJQ0FnSUVsMFpYSmhkRzl5YzF0T1FVMUZYU0E5SUVOUFVsSkZRMVJmU1ZSRlVsOU9RVTFGSUQ4Z0pHNWhkR2wyWlVsMFpYSmhkRzl5SURvZ0pHbDBaWEpoZEc5eU8xeHVJQ0FnSUdsbUlDZ2hURWxDVWtGU1dTQW1KaUFoUTA5U1VrVkRWRjlKVkVWU1gwNUJUVVVwSUdocFpHVW9WSGx3WldSQmNuSmhlVkJ5YjNSdmRIbHdaU3dnU1ZSRlVrRlVUMUlzSUNScGRHVnlZWFJ2Y2lrN1hHNGdJSDA3WEc1OUlHVnNjMlVnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvS1NCN0lDOHFJR1Z0Y0hSNUlDb3ZJSDA3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1MllYSWdaMnh2WW1Gc0lEMGdjbVZ4ZFdseVpTZ25MaTlmWjJ4dlltRnNKeWs3WEc1MllYSWdSRVZUUTFKSlVGUlBVbE1nUFNCeVpYRjFhWEpsS0NjdUwxOWtaWE5qY21sd2RHOXljeWNwTzF4dWRtRnlJRXhKUWxKQlVsa2dQU0J5WlhGMWFYSmxLQ2N1TDE5c2FXSnlZWEo1SnlrN1hHNTJZWElnSkhSNWNHVmtJRDBnY21WeGRXbHlaU2duTGk5ZmRIbHdaV1FuS1R0Y2JuWmhjaUJvYVdSbElEMGdjbVZ4ZFdseVpTZ25MaTlmYUdsa1pTY3BPMXh1ZG1GeUlISmxaR1ZtYVc1bFFXeHNJRDBnY21WeGRXbHlaU2duTGk5ZmNtVmtaV1pwYm1VdFlXeHNKeWs3WEc1MllYSWdabUZwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMMTltWVdsc2N5Y3BPMXh1ZG1GeUlHRnVTVzV6ZEdGdVkyVWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGJpMXBibk4wWVc1alpTY3BPMXh1ZG1GeUlIUnZTVzUwWldkbGNpQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxXbHVkR1ZuWlhJbktUdGNiblpoY2lCMGIweGxibWQwYUNBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFd4bGJtZDBhQ2NwTzF4dWRtRnlJSFJ2U1c1a1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXBibVJsZUNjcE8xeHVkbUZ5SUdkUFVFNGdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WjI5d2JpY3BMbVk3WEc1MllYSWdaRkFnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFpIQW5LUzVtTzF4dWRtRnlJR0Z5Y21GNVJtbHNiQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnljbUY1TFdacGJHd25LVHRjYm5aaGNpQnpaWFJVYjFOMGNtbHVaMVJoWnlBOUlISmxjWFZwY21Vb0p5NHZYM05sZEMxMGJ5MXpkSEpwYm1jdGRHRm5KeWs3WEc1MllYSWdRVkpTUVZsZlFsVkdSa1ZTSUQwZ0owRnljbUY1UW5WbVptVnlKenRjYm5aaGNpQkVRVlJCWDFaSlJWY2dQU0FuUkdGMFlWWnBaWGNuTzF4dWRtRnlJRkJTVDFSUFZGbFFSU0E5SUNkd2NtOTBiM1I1Y0dVbk8xeHVkbUZ5SUZkU1QwNUhYMHhGVGtkVVNDQTlJQ2RYY205dVp5QnNaVzVuZEdnaEp6dGNiblpoY2lCWFVrOU9SMTlKVGtSRldDQTlJQ2RYY205dVp5QnBibVJsZUNFbk8xeHVkbUZ5SUNSQmNuSmhlVUoxWm1abGNpQTlJR2RzYjJKaGJGdEJVbEpCV1Y5Q1ZVWkdSVkpkTzF4dWRtRnlJQ1JFWVhSaFZtbGxkeUE5SUdkc2IySmhiRnRFUVZSQlgxWkpSVmRkTzF4dWRtRnlJRTFoZEdnZ1BTQm5iRzlpWVd3dVRXRjBhRHRjYm5aaGNpQlNZVzVuWlVWeWNtOXlJRDBnWjJ4dlltRnNMbEpoYm1kbFJYSnliM0k3WEc0dkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2JtOHRjMmhoWkc5M0xYSmxjM1J5YVdOMFpXUXRibUZ0WlhOY2JuWmhjaUJKYm1acGJtbDBlU0E5SUdkc2IySmhiQzVKYm1acGJtbDBlVHRjYm5aaGNpQkNZWE5sUW5WbVptVnlJRDBnSkVGeWNtRjVRblZtWm1WeU8xeHVkbUZ5SUdGaWN5QTlJRTFoZEdndVlXSnpPMXh1ZG1GeUlIQnZkeUE5SUUxaGRHZ3VjRzkzTzF4dWRtRnlJR1pzYjI5eUlEMGdUV0YwYUM1bWJHOXZjanRjYm5aaGNpQnNiMmNnUFNCTllYUm9MbXh2Wnp0Y2JuWmhjaUJNVGpJZ1BTQk5ZWFJvTGt4T01qdGNiblpoY2lCQ1ZVWkdSVklnUFNBblluVm1abVZ5Snp0Y2JuWmhjaUJDV1ZSRlgweEZUa2RVU0NBOUlDZGllWFJsVEdWdVozUm9KenRjYm5aaGNpQkNXVlJGWDA5R1JsTkZWQ0E5SUNkaWVYUmxUMlptYzJWMEp6dGNiblpoY2lBa1FsVkdSa1ZTSUQwZ1JFVlRRMUpKVUZSUFVsTWdQeUFuWDJJbklEb2dRbFZHUmtWU08xeHVkbUZ5SUNSTVJVNUhWRWdnUFNCRVJWTkRVa2xRVkU5U1V5QS9JQ2RmYkNjZ09pQkNXVlJGWDB4RlRrZFVTRHRjYm5aaGNpQWtUMFpHVTBWVUlEMGdSRVZUUTFKSlVGUlBVbE1nUHlBblgyOG5JRG9nUWxsVVJWOVBSa1pUUlZRN1hHNWNiaTh2SUVsRlJVVTNOVFFnWTI5dWRtVnljMmx2Ym5NZ1ltRnpaV1FnYjI0Z2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyWmxjbTl6Y3k5cFpXVmxOelUwWEc1bWRXNWpkR2x2YmlCd1lXTnJTVVZGUlRjMU5DaDJZV3gxWlN3Z2JVeGxiaXdnYmtKNWRHVnpLU0I3WEc0Z0lIWmhjaUJpZFdabVpYSWdQU0J1WlhjZ1FYSnlZWGtvYmtKNWRHVnpLVHRjYmlBZ2RtRnlJR1ZNWlc0Z1BTQnVRbmwwWlhNZ0tpQTRJQzBnYlV4bGJpQXRJREU3WEc0Z0lIWmhjaUJsVFdGNElEMGdLREVnUER3Z1pVeGxiaWtnTFNBeE8xeHVJQ0IyWVhJZ1pVSnBZWE1nUFNCbFRXRjRJRDQrSURFN1hHNGdJSFpoY2lCeWRDQTlJRzFNWlc0Z1BUMDlJREl6SUQ4Z2NHOTNLRElzSUMweU5Da2dMU0J3YjNjb01pd2dMVGMzS1NBNklEQTdYRzRnSUhaaGNpQnBJRDBnTUR0Y2JpQWdkbUZ5SUhNZ1BTQjJZV3gxWlNBOElEQWdmSHdnZG1Gc2RXVWdQVDA5SURBZ0ppWWdNU0F2SUhaaGJIVmxJRHdnTUNBL0lERWdPaUF3TzF4dUlDQjJZWElnWlN3Z2JTd2dZenRjYmlBZ2RtRnNkV1VnUFNCaFluTW9kbUZzZFdVcE8xeHVJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnYm04dGMyVnNaaTFqYjIxd1lYSmxYRzRnSUdsbUlDaDJZV3gxWlNBaFBTQjJZV3gxWlNCOGZDQjJZV3gxWlNBOVBUMGdTVzVtYVc1cGRIa3BJSHRjYmlBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0YzJWc1ppMWpiMjF3WVhKbFhHNGdJQ0FnYlNBOUlIWmhiSFZsSUNFOUlIWmhiSFZsSUQ4Z01TQTZJREE3WEc0Z0lDQWdaU0E5SUdWTllYZzdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdaU0E5SUdac2IyOXlLR3h2WnloMllXeDFaU2tnTHlCTVRqSXBPMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTQXFJQ2hqSUQwZ2NHOTNLRElzSUMxbEtTa2dQQ0F4S1NCN1hHNGdJQ0FnSUNCbExTMDdYRzRnSUNBZ0lDQmpJQ285SURJN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNobElDc2daVUpwWVhNZ1BqMGdNU2tnZTF4dUlDQWdJQ0FnZG1Gc2RXVWdLejBnY25RZ0x5QmpPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMllXeDFaU0FyUFNCeWRDQXFJSEJ2ZHlneUxDQXhJQzBnWlVKcFlYTXBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9kbUZzZFdVZ0tpQmpJRDQ5SURJcElIdGNiaUFnSUNBZ0lHVXJLenRjYmlBZ0lDQWdJR01nTHowZ01qdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHVWdLeUJsUW1saGN5QStQU0JsVFdGNEtTQjdYRzRnSUNBZ0lDQnRJRDBnTUR0Y2JpQWdJQ0FnSUdVZ1BTQmxUV0Y0TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWlNBcklHVkNhV0Z6SUQ0OUlERXBJSHRjYmlBZ0lDQWdJRzBnUFNBb2RtRnNkV1VnS2lCaklDMGdNU2tnS2lCd2IzY29NaXdnYlV4bGJpazdYRzRnSUNBZ0lDQmxJRDBnWlNBcklHVkNhV0Z6TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnRJRDBnZG1Gc2RXVWdLaUJ3YjNjb01pd2daVUpwWVhNZ0xTQXhLU0FxSUhCdmR5Z3lMQ0J0VEdWdUtUdGNiaUFnSUNBZ0lHVWdQU0F3TzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0JtYjNJZ0tEc2diVXhsYmlBK1BTQTRPeUJpZFdabVpYSmJhU3NyWFNBOUlHMGdKaUF5TlRVc0lHMGdMejBnTWpVMkxDQnRUR1Z1SUMwOUlEZ3BPMXh1SUNCbElEMGdaU0E4UENCdFRHVnVJSHdnYlR0Y2JpQWdaVXhsYmlBclBTQnRUR1Z1TzF4dUlDQm1iM0lnS0RzZ1pVeGxiaUErSURBN0lHSjFabVpsY2x0cEt5dGRJRDBnWlNBbUlESTFOU3dnWlNBdlBTQXlOVFlzSUdWTVpXNGdMVDBnT0NrN1hHNGdJR0oxWm1abGNsc3RMV2xkSUh3OUlITWdLaUF4TWpnN1hHNGdJSEpsZEhWeWJpQmlkV1ptWlhJN1hHNTlYRzVtZFc1amRHbHZiaUIxYm5CaFkydEpSVVZGTnpVMEtHSjFabVpsY2l3Z2JVeGxiaXdnYmtKNWRHVnpLU0I3WEc0Z0lIWmhjaUJsVEdWdUlEMGdia0o1ZEdWeklDb2dPQ0F0SUcxTVpXNGdMU0F4TzF4dUlDQjJZWElnWlUxaGVDQTlJQ2d4SUR3OElHVk1aVzRwSUMwZ01UdGNiaUFnZG1GeUlHVkNhV0Z6SUQwZ1pVMWhlQ0ErUGlBeE8xeHVJQ0IyWVhJZ2JrSnBkSE1nUFNCbFRHVnVJQzBnTnp0Y2JpQWdkbUZ5SUdrZ1BTQnVRbmwwWlhNZ0xTQXhPMXh1SUNCMllYSWdjeUE5SUdKMVptWmxjbHRwTFMxZE8xeHVJQ0IyWVhJZ1pTQTlJSE1nSmlBeE1qYzdYRzRnSUhaaGNpQnRPMXh1SUNCeklENCtQU0EzTzF4dUlDQm1iM0lnS0RzZ2JrSnBkSE1nUGlBd095QmxJRDBnWlNBcUlESTFOaUFySUdKMVptWmxjbHRwWFN3Z2FTMHRMQ0J1UW1sMGN5QXRQU0E0S1R0Y2JpQWdiU0E5SUdVZ0ppQW9NU0E4UENBdGJrSnBkSE1wSUMwZ01UdGNiaUFnWlNBK1BqMGdMVzVDYVhSek8xeHVJQ0J1UW1sMGN5QXJQU0J0VEdWdU8xeHVJQ0JtYjNJZ0tEc2dia0pwZEhNZ1BpQXdPeUJ0SUQwZ2JTQXFJREkxTmlBcklHSjFabVpsY2x0cFhTd2dhUzB0TENCdVFtbDBjeUF0UFNBNEtUdGNiaUFnYVdZZ0tHVWdQVDA5SURBcElIdGNiaUFnSUNCbElEMGdNU0F0SUdWQ2FXRnpPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHVWdQVDA5SUdWTllYZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2JTQS9JRTVoVGlBNklITWdQeUF0U1c1bWFXNXBkSGtnT2lCSmJtWnBibWwwZVR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCdElEMGdiU0FySUhCdmR5Z3lMQ0J0VEdWdUtUdGNiaUFnSUNCbElEMGdaU0F0SUdWQ2FXRnpPMXh1SUNCOUlISmxkSFZ5YmlBb2N5QS9JQzB4SURvZ01Ta2dLaUJ0SUNvZ2NHOTNLRElzSUdVZ0xTQnRUR1Z1S1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZFc1d1lXTnJTVE15S0dKNWRHVnpLU0I3WEc0Z0lISmxkSFZ5YmlCaWVYUmxjMXN6WFNBOFBDQXlOQ0I4SUdKNWRHVnpXekpkSUR3OElERTJJSHdnWW5sMFpYTmJNVjBnUER3Z09DQjhJR0o1ZEdWeld6QmRPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2NHRmphMGs0S0dsMEtTQjdYRzRnSUhKbGRIVnliaUJiYVhRZ0ppQXdlR1ptWFR0Y2JuMWNibVoxYm1OMGFXOXVJSEJoWTJ0Sk1UWW9hWFFwSUh0Y2JpQWdjbVYwZFhKdUlGdHBkQ0FtSURCNFptWXNJR2wwSUQ0K0lEZ2dKaUF3ZUdabVhUdGNibjFjYm1aMWJtTjBhVzl1SUhCaFkydEpNeklvYVhRcElIdGNiaUFnY21WMGRYSnVJRnRwZENBbUlEQjRabVlzSUdsMElENCtJRGdnSmlBd2VHWm1MQ0JwZENBK1BpQXhOaUFtSURCNFptWXNJR2wwSUQ0K0lESTBJQ1lnTUhobVpsMDdYRzU5WEc1bWRXNWpkR2x2YmlCd1lXTnJSalkwS0dsMEtTQjdYRzRnSUhKbGRIVnliaUJ3WVdOclNVVkZSVGMxTkNocGRDd2dOVElzSURncE8xeHVmVnh1Wm5WdVkzUnBiMjRnY0dGamEwWXpNaWhwZENrZ2UxeHVJQ0J5WlhSMWNtNGdjR0ZqYTBsRlJVVTNOVFFvYVhRc0lESXpMQ0EwS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWVdSa1IyVjBkR1Z5S0VNc0lHdGxlU3dnYVc1MFpYSnVZV3dwSUh0Y2JpQWdaRkFvUTF0UVVrOVVUMVJaVUVWZExDQnJaWGtzSUhzZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCMGFHbHpXMmx1ZEdWeWJtRnNYVHNnZlNCOUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBLSFpwWlhjc0lHSjVkR1Z6TENCcGJtUmxlQ3dnYVhOTWFYUjBiR1ZGYm1ScFlXNHBJSHRjYmlBZ2RtRnlJRzUxYlVsdVpHVjRJRDBnSzJsdVpHVjRPMXh1SUNCMllYSWdhVzUwU1c1a1pYZ2dQU0IwYjBsdVpHVjRLRzUxYlVsdVpHVjRLVHRjYmlBZ2FXWWdLR2x1ZEVsdVpHVjRJQ3NnWW5sMFpYTWdQaUIyYVdWM1d5Uk1SVTVIVkVoZEtTQjBhSEp2ZHlCU1lXNW5aVVZ5Y205eUtGZFNUMDVIWDBsT1JFVllLVHRjYmlBZ2RtRnlJSE4wYjNKbElEMGdkbWxsZDFza1FsVkdSa1ZTWFM1ZllqdGNiaUFnZG1GeUlITjBZWEowSUQwZ2FXNTBTVzVrWlhnZ0t5QjJhV1YzV3lSUFJrWlRSVlJkTzF4dUlDQjJZWElnY0dGamF5QTlJSE4wYjNKbExuTnNhV05sS0hOMFlYSjBMQ0J6ZEdGeWRDQXJJR0o1ZEdWektUdGNiaUFnY21WMGRYSnVJR2x6VEdsMGRHeGxSVzVrYVdGdUlEOGdjR0ZqYXlBNklIQmhZMnN1Y21WMlpYSnpaU2dwTzF4dWZWeHVablZ1WTNScGIyNGdjMlYwS0hacFpYY3NJR0o1ZEdWekxDQnBibVJsZUN3Z1kyOXVkbVZ5YzJsdmJpd2dkbUZzZFdVc0lHbHpUR2wwZEd4bFJXNWthV0Z1S1NCN1hHNGdJSFpoY2lCdWRXMUpibVJsZUNBOUlDdHBibVJsZUR0Y2JpQWdkbUZ5SUdsdWRFbHVaR1Y0SUQwZ2RHOUpibVJsZUNodWRXMUpibVJsZUNrN1hHNGdJR2xtSUNocGJuUkpibVJsZUNBcklHSjVkR1Z6SUQ0Z2RtbGxkMXNrVEVWT1IxUklYU2tnZEdoeWIzY2dVbUZ1WjJWRmNuSnZjaWhYVWs5T1IxOUpUa1JGV0NrN1hHNGdJSFpoY2lCemRHOXlaU0E5SUhacFpYZGJKRUpWUmtaRlVsMHVYMkk3WEc0Z0lIWmhjaUJ6ZEdGeWRDQTlJR2x1ZEVsdVpHVjRJQ3NnZG1sbGQxc2tUMFpHVTBWVVhUdGNiaUFnZG1GeUlIQmhZMnNnUFNCamIyNTJaWEp6YVc5dUtDdDJZV3gxWlNrN1hHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWW5sMFpYTTdJR2tyS3lrZ2MzUnZjbVZiYzNSaGNuUWdLeUJwWFNBOUlIQmhZMnRiYVhOTWFYUjBiR1ZGYm1ScFlXNGdQeUJwSURvZ1lubDBaWE1nTFNCcElDMGdNVjA3WEc1OVhHNWNibWxtSUNnaEpIUjVjR1ZrTGtGQ1Zpa2dlMXh1SUNBa1FYSnlZWGxDZFdabVpYSWdQU0JtZFc1amRHbHZiaUJCY25KaGVVSjFabVpsY2loc1pXNW5kR2dwSUh0Y2JpQWdJQ0JoYmtsdWMzUmhibU5sS0hSb2FYTXNJQ1JCY25KaGVVSjFabVpsY2l3Z1FWSlNRVmxmUWxWR1JrVlNLVHRjYmlBZ0lDQjJZWElnWW5sMFpVeGxibWQwYUNBOUlIUnZTVzVrWlhnb2JHVnVaM1JvS1R0Y2JpQWdJQ0IwYUdsekxsOWlJRDBnWVhKeVlYbEdhV3hzTG1OaGJHd29ibVYzSUVGeWNtRjVLR0o1ZEdWTVpXNW5kR2dwTENBd0tUdGNiaUFnSUNCMGFHbHpXeVJNUlU1SFZFaGRJRDBnWW5sMFpVeGxibWQwYUR0Y2JpQWdmVHRjYmx4dUlDQWtSR0YwWVZacFpYY2dQU0JtZFc1amRHbHZiaUJFWVhSaFZtbGxkeWhpZFdabVpYSXNJR0o1ZEdWUFptWnpaWFFzSUdKNWRHVk1aVzVuZEdncElIdGNiaUFnSUNCaGJrbHVjM1JoYm1ObEtIUm9hWE1zSUNSRVlYUmhWbWxsZHl3Z1JFRlVRVjlXU1VWWEtUdGNiaUFnSUNCaGJrbHVjM1JoYm1ObEtHSjFabVpsY2l3Z0pFRnljbUY1UW5WbVptVnlMQ0JFUVZSQlgxWkpSVmNwTzF4dUlDQWdJSFpoY2lCaWRXWm1aWEpNWlc1bmRHZ2dQU0JpZFdabVpYSmJKRXhGVGtkVVNGMDdYRzRnSUNBZ2RtRnlJRzltWm5ObGRDQTlJSFJ2U1c1MFpXZGxjaWhpZVhSbFQyWm1jMlYwS1R0Y2JpQWdJQ0JwWmlBb2IyWm1jMlYwSUR3Z01DQjhmQ0J2Wm1aelpYUWdQaUJpZFdabVpYSk1aVzVuZEdncElIUm9jbTkzSUZKaGJtZGxSWEp5YjNJb0oxZHliMjVuSUc5bVpuTmxkQ0VuS1R0Y2JpQWdJQ0JpZVhSbFRHVnVaM1JvSUQwZ1lubDBaVXhsYm1kMGFDQTlQVDBnZFc1a1pXWnBibVZrSUQ4Z1luVm1abVZ5VEdWdVozUm9JQzBnYjJabWMyVjBJRG9nZEc5TVpXNW5kR2dvWW5sMFpVeGxibWQwYUNrN1hHNGdJQ0FnYVdZZ0tHOW1abk5sZENBcklHSjVkR1ZNWlc1bmRHZ2dQaUJpZFdabVpYSk1aVzVuZEdncElIUm9jbTkzSUZKaGJtZGxSWEp5YjNJb1YxSlBUa2RmVEVWT1IxUklLVHRjYmlBZ0lDQjBhR2x6V3lSQ1ZVWkdSVkpkSUQwZ1luVm1abVZ5TzF4dUlDQWdJSFJvYVhOYkpFOUdSbE5GVkYwZ1BTQnZabVp6WlhRN1hHNGdJQ0FnZEdocGMxc2tURVZPUjFSSVhTQTlJR0o1ZEdWTVpXNW5kR2c3WEc0Z0lIMDdYRzVjYmlBZ2FXWWdLRVJGVTBOU1NWQlVUMUpUS1NCN1hHNGdJQ0FnWVdSa1IyVjBkR1Z5S0NSQmNuSmhlVUoxWm1abGNpd2dRbGxVUlY5TVJVNUhWRWdzSUNkZmJDY3BPMXh1SUNBZ0lHRmtaRWRsZEhSbGNpZ2tSR0YwWVZacFpYY3NJRUpWUmtaRlVpd2dKMTlpSnlrN1hHNGdJQ0FnWVdSa1IyVjBkR1Z5S0NSRVlYUmhWbWxsZHl3Z1FsbFVSVjlNUlU1SFZFZ3NJQ2RmYkNjcE8xeHVJQ0FnSUdGa1pFZGxkSFJsY2lna1JHRjBZVlpwWlhjc0lFSlpWRVZmVDBaR1UwVlVMQ0FuWDI4bktUdGNiaUFnZlZ4dVhHNGdJSEpsWkdWbWFXNWxRV3hzS0NSRVlYUmhWbWxsZDF0UVVrOVVUMVJaVUVWZExDQjdYRzRnSUNBZ1oyVjBTVzUwT0RvZ1puVnVZM1JwYjI0Z1oyVjBTVzUwT0NoaWVYUmxUMlptYzJWMEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1oyVjBLSFJvYVhNc0lERXNJR0o1ZEdWUFptWnpaWFFwV3pCZElEdzhJREkwSUQ0K0lESTBPMXh1SUNBZ0lIMHNYRzRnSUNBZ1oyVjBWV2x1ZERnNklHWjFibU4wYVc5dUlHZGxkRlZwYm5RNEtHSjVkR1ZQWm1aelpYUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm5aWFFvZEdocGN5d2dNU3dnWW5sMFpVOW1abk5sZENsYk1GMDdYRzRnSUNBZ2ZTeGNiaUFnSUNCblpYUkpiblF4TmpvZ1puVnVZM1JwYjI0Z1oyVjBTVzUwTVRZb1lubDBaVTltWm5ObGRDQXZLaUFzSUd4cGRIUnNaVVZ1WkdsaGJpQXFMeWtnZTF4dUlDQWdJQ0FnZG1GeUlHSjVkR1Z6SUQwZ1oyVjBLSFJvYVhNc0lESXNJR0o1ZEdWUFptWnpaWFFzSUdGeVozVnRaVzUwYzFzeFhTazdYRzRnSUNBZ0lDQnlaWFIxY200Z0tHSjVkR1Z6V3pGZElEdzhJRGdnZkNCaWVYUmxjMXN3WFNrZ1BEd2dNVFlnUGo0Z01UWTdYRzRnSUNBZ2ZTeGNiaUFnSUNCblpYUlZhVzUwTVRZNklHWjFibU4wYVc5dUlHZGxkRlZwYm5ReE5paGllWFJsVDJabWMyVjBJQzhxSUN3Z2JHbDBkR3hsUlc1a2FXRnVJQ292S1NCN1hHNGdJQ0FnSUNCMllYSWdZbmwwWlhNZ1BTQm5aWFFvZEdocGN5d2dNaXdnWW5sMFpVOW1abk5sZEN3Z1lYSm5kVzFsYm5Seld6RmRLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmllWFJsYzFzeFhTQThQQ0E0SUh3Z1lubDBaWE5iTUYwN1hHNGdJQ0FnZlN4Y2JpQWdJQ0JuWlhSSmJuUXpNam9nWm5WdVkzUnBiMjRnWjJWMFNXNTBNeklvWW5sMFpVOW1abk5sZENBdktpQXNJR3hwZEhSc1pVVnVaR2xoYmlBcUx5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVnVjR0ZqYTBrek1paG5aWFFvZEdocGN5d2dOQ3dnWW5sMFpVOW1abk5sZEN3Z1lYSm5kVzFsYm5Seld6RmRLU2s3WEc0Z0lDQWdmU3hjYmlBZ0lDQm5aWFJWYVc1ME16STZJR1oxYm1OMGFXOXVJR2RsZEZWcGJuUXpNaWhpZVhSbFQyWm1jMlYwSUM4cUlDd2diR2wwZEd4bFJXNWthV0Z1SUNvdktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RXNXdZV05yU1RNeUtHZGxkQ2gwYUdsekxDQTBMQ0JpZVhSbFQyWm1jMlYwTENCaGNtZDFiV1Z1ZEhOYk1WMHBLU0ErUGo0Z01EdGNiaUFnSUNCOUxGeHVJQ0FnSUdkbGRFWnNiMkYwTXpJNklHWjFibU4wYVc5dUlHZGxkRVpzYjJGME16SW9ZbmwwWlU5bVpuTmxkQ0F2S2lBc0lHeHBkSFJzWlVWdVpHbGhiaUFxTHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhWdWNHRmphMGxGUlVVM05UUW9aMlYwS0hSb2FYTXNJRFFzSUdKNWRHVlBabVp6WlhRc0lHRnlaM1Z0Wlc1MGMxc3hYU2tzSURJekxDQTBLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lHZGxkRVpzYjJGME5qUTZJR1oxYm1OMGFXOXVJR2RsZEVac2IyRjBOalFvWW5sMFpVOW1abk5sZENBdktpQXNJR3hwZEhSc1pVVnVaR2xoYmlBcUx5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVnVjR0ZqYTBsRlJVVTNOVFFvWjJWMEtIUm9hWE1zSURnc0lHSjVkR1ZQWm1aelpYUXNJR0Z5WjNWdFpXNTBjMXN4WFNrc0lEVXlMQ0E0S1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSE5sZEVsdWREZzZJR1oxYm1OMGFXOXVJSE5sZEVsdWREZ29ZbmwwWlU5bVpuTmxkQ3dnZG1Gc2RXVXBJSHRjYmlBZ0lDQWdJSE5sZENoMGFHbHpMQ0F4TENCaWVYUmxUMlptYzJWMExDQndZV05yU1Rnc0lIWmhiSFZsS1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSE5sZEZWcGJuUTRPaUJtZFc1amRHbHZiaUJ6WlhSVmFXNTBPQ2hpZVhSbFQyWm1jMlYwTENCMllXeDFaU2tnZTF4dUlDQWdJQ0FnYzJWMEtIUm9hWE1zSURFc0lHSjVkR1ZQWm1aelpYUXNJSEJoWTJ0Sk9Dd2dkbUZzZFdVcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnYzJWMFNXNTBNVFk2SUdaMWJtTjBhVzl1SUhObGRFbHVkREUyS0dKNWRHVlBabVp6WlhRc0lIWmhiSFZsSUM4cUlDd2diR2wwZEd4bFJXNWthV0Z1SUNvdktTQjdYRzRnSUNBZ0lDQnpaWFFvZEdocGN5d2dNaXdnWW5sMFpVOW1abk5sZEN3Z2NHRmphMGt4Tml3Z2RtRnNkV1VzSUdGeVozVnRaVzUwYzFzeVhTazdYRzRnSUNBZ2ZTeGNiaUFnSUNCelpYUlZhVzUwTVRZNklHWjFibU4wYVc5dUlITmxkRlZwYm5ReE5paGllWFJsVDJabWMyVjBMQ0IyWVd4MVpTQXZLaUFzSUd4cGRIUnNaVVZ1WkdsaGJpQXFMeWtnZTF4dUlDQWdJQ0FnYzJWMEtIUm9hWE1zSURJc0lHSjVkR1ZQWm1aelpYUXNJSEJoWTJ0Sk1UWXNJSFpoYkhWbExDQmhjbWQxYldWdWRITmJNbDBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdjMlYwU1c1ME16STZJR1oxYm1OMGFXOXVJSE5sZEVsdWRETXlLR0o1ZEdWUFptWnpaWFFzSUhaaGJIVmxJQzhxSUN3Z2JHbDBkR3hsUlc1a2FXRnVJQ292S1NCN1hHNGdJQ0FnSUNCelpYUW9kR2hwY3l3Z05Dd2dZbmwwWlU5bVpuTmxkQ3dnY0dGamEwa3pNaXdnZG1Gc2RXVXNJR0Z5WjNWdFpXNTBjMXN5WFNrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0J6WlhSVmFXNTBNekk2SUdaMWJtTjBhVzl1SUhObGRGVnBiblF6TWloaWVYUmxUMlptYzJWMExDQjJZV3gxWlNBdktpQXNJR3hwZEhSc1pVVnVaR2xoYmlBcUx5a2dlMXh1SUNBZ0lDQWdjMlYwS0hSb2FYTXNJRFFzSUdKNWRHVlBabVp6WlhRc0lIQmhZMnRKTXpJc0lIWmhiSFZsTENCaGNtZDFiV1Z1ZEhOYk1sMHBPMXh1SUNBZ0lIMHNYRzRnSUNBZ2MyVjBSbXh2WVhRek1qb2dablZ1WTNScGIyNGdjMlYwUm14dllYUXpNaWhpZVhSbFQyWm1jMlYwTENCMllXeDFaU0F2S2lBc0lHeHBkSFJzWlVWdVpHbGhiaUFxTHlrZ2UxeHVJQ0FnSUNBZ2MyVjBLSFJvYVhNc0lEUXNJR0o1ZEdWUFptWnpaWFFzSUhCaFkydEdNeklzSUhaaGJIVmxMQ0JoY21kMWJXVnVkSE5iTWwwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnYzJWMFJteHZZWFEyTkRvZ1puVnVZM1JwYjI0Z2MyVjBSbXh2WVhRMk5DaGllWFJsVDJabWMyVjBMQ0IyWVd4MVpTQXZLaUFzSUd4cGRIUnNaVVZ1WkdsaGJpQXFMeWtnZTF4dUlDQWdJQ0FnYzJWMEtIUm9hWE1zSURnc0lHSjVkR1ZQWm1aelpYUXNJSEJoWTJ0R05qUXNJSFpoYkhWbExDQmhjbWQxYldWdWRITmJNbDBwTzF4dUlDQWdJSDFjYmlBZ2ZTazdYRzU5SUdWc2MyVWdlMXh1SUNCcFppQW9JV1poYVd4ektHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWtRWEp5WVhsQ2RXWm1aWElvTVNrN1hHNGdJSDBwSUh4OElDRm1ZV2xzY3lobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2JtVjNJQ1JCY25KaGVVSjFabVpsY2lndE1TazdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ2JtOHRibVYzWEc0Z0lIMHBJSHg4SUdaaGFXeHpLR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0J1WlhjZ0pFRnljbUY1UW5WbVptVnlLQ2s3SUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFd4cGJtVWdibTh0Ym1WM1hHNGdJQ0FnYm1WM0lDUkJjbkpoZVVKMVptWmxjaWd4TGpVcE95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXNhVzVsSUc1dkxXNWxkMXh1SUNBZ0lHNWxkeUFrUVhKeVlYbENkV1ptWlhJb1RtRk9LVHNnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0YkdsdVpTQnVieTF1WlhkY2JpQWdJQ0J5WlhSMWNtNGdKRUZ5Y21GNVFuVm1abVZ5TG01aGJXVWdJVDBnUVZKU1FWbGZRbFZHUmtWU08xeHVJQ0I5S1NrZ2UxeHVJQ0FnSUNSQmNuSmhlVUoxWm1abGNpQTlJR1oxYm1OMGFXOXVJRUZ5Y21GNVFuVm1abVZ5S0d4bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWVc1SmJuTjBZVzVqWlNoMGFHbHpMQ0FrUVhKeVlYbENkV1ptWlhJcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QkNZWE5sUW5WbVptVnlLSFJ2U1c1a1pYZ29iR1Z1WjNSb0tTazdYRzRnSUNBZ2ZUdGNiaUFnSUNCMllYSWdRWEp5WVhsQ2RXWm1aWEpRY205MGJ5QTlJQ1JCY25KaGVVSjFabVpsY2x0UVVrOVVUMVJaVUVWZElEMGdRbUZ6WlVKMVptWmxjbHRRVWs5VVQxUlpVRVZkTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR3RsZVhNZ1BTQm5UMUJPS0VKaGMyVkNkV1ptWlhJcExDQnFJRDBnTUN3Z2EyVjVPeUJyWlhsekxteGxibWQwYUNBK0lHbzdLU0I3WEc0Z0lDQWdJQ0JwWmlBb0lTZ29hMlY1SUQwZ2EyVjVjMXRxS3l0ZEtTQnBiaUFrUVhKeVlYbENkV1ptWlhJcEtTQm9hV1JsS0NSQmNuSmhlVUoxWm1abGNpd2dhMlY1TENCQ1lYTmxRblZtWm1WeVcydGxlVjBwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvSVV4SlFsSkJVbGtwSUVGeWNtRjVRblZtWm1WeVVISnZkRzh1WTI5dWMzUnlkV04wYjNJZ1BTQWtRWEp5WVhsQ2RXWm1aWEk3WEc0Z0lIMWNiaUFnTHk4Z2FVOVRJRk5oWm1GeWFTQTNMbmdnWW5WblhHNGdJSFpoY2lCMmFXVjNJRDBnYm1WM0lDUkVZWFJoVm1sbGR5aHVaWGNnSkVGeWNtRjVRblZtWm1WeUtESXBLVHRjYmlBZ2RtRnlJQ1J6WlhSSmJuUTRJRDBnSkVSaGRHRldhV1YzVzFCU1QxUlBWRmxRUlYwdWMyVjBTVzUwT0R0Y2JpQWdkbWxsZHk1elpYUkpiblE0S0RBc0lESXhORGMwT0RNMk5EZ3BPMXh1SUNCMmFXVjNMbk5sZEVsdWREZ29NU3dnTWpFME56UTRNelkwT1NrN1hHNGdJR2xtSUNoMmFXVjNMbWRsZEVsdWREZ29NQ2tnZkh3Z0lYWnBaWGN1WjJWMFNXNTBPQ2d4S1NrZ2NtVmtaV1pwYm1WQmJHd29KRVJoZEdGV2FXVjNXMUJTVDFSUFZGbFFSVjBzSUh0Y2JpQWdJQ0J6WlhSSmJuUTRPaUJtZFc1amRHbHZiaUJ6WlhSSmJuUTRLR0o1ZEdWUFptWnpaWFFzSUhaaGJIVmxLU0I3WEc0Z0lDQWdJQ0FrYzJWMFNXNTBPQzVqWVd4c0tIUm9hWE1zSUdKNWRHVlBabVp6WlhRc0lIWmhiSFZsSUR3OElESTBJRDQrSURJMEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUhObGRGVnBiblE0T2lCbWRXNWpkR2x2YmlCelpYUlZhVzUwT0NoaWVYUmxUMlptYzJWMExDQjJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0pITmxkRWx1ZERndVkyRnNiQ2gwYUdsekxDQmllWFJsVDJabWMyVjBMQ0IyWVd4MVpTQThQQ0F5TkNBK1BpQXlOQ2s3WEc0Z0lDQWdmVnh1SUNCOUxDQjBjblZsS1R0Y2JuMWNibk5sZEZSdlUzUnlhVzVuVkdGbktDUkJjbkpoZVVKMVptWmxjaXdnUVZKU1FWbGZRbFZHUmtWU0tUdGNibk5sZEZSdlUzUnlhVzVuVkdGbktDUkVZWFJoVm1sbGR5d2dSRUZVUVY5V1NVVlhLVHRjYm1ocFpHVW9KRVJoZEdGV2FXVjNXMUJTVDFSUFZGbFFSVjBzSUNSMGVYQmxaQzVXU1VWWExDQjBjblZsS1R0Y2JtVjRjRzl5ZEhOYlFWSlNRVmxmUWxWR1JrVlNYU0E5SUNSQmNuSmhlVUoxWm1abGNqdGNibVY0Y0c5eWRITmJSRUZVUVY5V1NVVlhYU0E5SUNSRVlYUmhWbWxsZHp0Y2JpSXNJblpoY2lCbmJHOWlZV3dnUFNCeVpYRjFhWEpsS0NjdUwxOW5iRzlpWVd3bktUdGNiblpoY2lCb2FXUmxJRDBnY21WeGRXbHlaU2duTGk5ZmFHbGtaU2NwTzF4dWRtRnlJSFZwWkNBOUlISmxjWFZwY21Vb0p5NHZYM1ZwWkNjcE8xeHVkbUZ5SUZSWlVFVkVJRDBnZFdsa0tDZDBlWEJsWkY5aGNuSmhlU2NwTzF4dWRtRnlJRlpKUlZjZ1BTQjFhV1FvSjNacFpYY25LVHRjYm5aaGNpQkJRbFlnUFNBaElTaG5iRzlpWVd3dVFYSnlZWGxDZFdabVpYSWdKaVlnWjJ4dlltRnNMa1JoZEdGV2FXVjNLVHRjYm5aaGNpQkRUMDVUVkZJZ1BTQkJRbFk3WEc1MllYSWdhU0E5SURBN1hHNTJZWElnYkNBOUlEazdYRzUyWVhJZ1ZIbHdaV1E3WEc1Y2JuWmhjaUJVZVhCbFpFRnljbUY1UTI5dWMzUnlkV04wYjNKeklEMGdLRnh1SUNBblNXNTBPRUZ5Y21GNUxGVnBiblE0UVhKeVlYa3NWV2x1ZERoRGJHRnRjR1ZrUVhKeVlYa3NTVzUwTVRaQmNuSmhlU3hWYVc1ME1UWkJjbkpoZVN4SmJuUXpNa0Z5Y21GNUxGVnBiblF6TWtGeWNtRjVMRVpzYjJGME16SkJjbkpoZVN4R2JHOWhkRFkwUVhKeVlYa25YRzRwTG5Od2JHbDBLQ2NzSnlrN1hHNWNibmRvYVd4bElDaHBJRHdnYkNrZ2UxeHVJQ0JwWmlBb1ZIbHdaV1FnUFNCbmJHOWlZV3hiVkhsd1pXUkJjbkpoZVVOdmJuTjBjblZqZEc5eWMxdHBLeXRkWFNrZ2UxeHVJQ0FnSUdocFpHVW9WSGx3WldRdWNISnZkRzkwZVhCbExDQlVXVkJGUkN3Z2RISjFaU2s3WEc0Z0lDQWdhR2xrWlNoVWVYQmxaQzV3Y205MGIzUjVjR1VzSUZaSlJWY3NJSFJ5ZFdVcE8xeHVJQ0I5SUdWc2MyVWdRMDlPVTFSU0lEMGdabUZzYzJVN1hHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnZTF4dUlDQkJRbFk2SUVGQ1ZpeGNiaUFnUTA5T1UxUlNPaUJEVDA1VFZGSXNYRzRnSUZSWlVFVkVPaUJVV1ZCRlJDeGNiaUFnVmtsRlZ6b2dWa2xGVjF4dWZUdGNiaUlzSW5aaGNpQnBaQ0E5SURBN1hHNTJZWElnY0hnZ1BTQk5ZWFJvTG5KaGJtUnZiU2dwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2EyVjVLU0I3WEc0Z0lISmxkSFZ5YmlBblUzbHRZbTlzS0NjdVkyOXVZMkYwS0d0bGVTQTlQVDBnZFc1a1pXWnBibVZrSUQ4Z0p5Y2dPaUJyWlhrc0lDY3BYeWNzSUNncksybGtJQ3NnY0hncExuUnZVM1J5YVc1bktETTJLU2s3WEc1OU8xeHVJaXdpZG1GeUlHZHNiMkpoYkNBOUlISmxjWFZwY21Vb0p5NHZYMmRzYjJKaGJDY3BPMXh1ZG1GeUlHNWhkbWxuWVhSdmNpQTlJR2RzYjJKaGJDNXVZWFpwWjJGMGIzSTdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnYm1GMmFXZGhkRzl5SUNZbUlHNWhkbWxuWVhSdmNpNTFjMlZ5UVdkbGJuUWdmSHdnSnljN1hHNGlMQ0oyWVhJZ2FYTlBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTlwY3kxdlltcGxZM1FuS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHbDBMQ0JVV1ZCRktTQjdYRzRnSUdsbUlDZ2hhWE5QWW1wbFkzUW9hWFFwSUh4OElHbDBMbDkwSUNFOVBTQlVXVkJGS1NCMGFISnZkeUJVZVhCbFJYSnliM0lvSjBsdVkyOXRjR0YwYVdKc1pTQnlaV05sYVhabGNpd2dKeUFySUZSWlVFVWdLeUFuSUhKbGNYVnBjbVZrSVNjcE8xeHVJQ0J5WlhSMWNtNGdhWFE3WEc1OU8xeHVJaXdpZG1GeUlHZHNiMkpoYkNBOUlISmxjWFZwY21Vb0p5NHZYMmRzYjJKaGJDY3BPMXh1ZG1GeUlHTnZjbVVnUFNCeVpYRjFhWEpsS0NjdUwxOWpiM0psSnlrN1hHNTJZWElnVEVsQ1VrRlNXU0E5SUhKbGNYVnBjbVVvSnk0dlgyeHBZbkpoY25rbktUdGNiblpoY2lCM2EzTkZlSFFnUFNCeVpYRjFhWEpsS0NjdUwxOTNhM010WlhoMEp5azdYRzUyWVhJZ1pHVm1hVzVsVUhKdmNHVnlkSGtnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFpIQW5LUzVtTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2JtRnRaU2tnZTF4dUlDQjJZWElnSkZONWJXSnZiQ0E5SUdOdmNtVXVVM2x0WW05c0lIeDhJQ2hqYjNKbExsTjViV0p2YkNBOUlFeEpRbEpCVWxrZ1B5QjdmU0E2SUdkc2IySmhiQzVUZVcxaWIyd2dmSHdnZTMwcE8xeHVJQ0JwWmlBb2JtRnRaUzVqYUdGeVFYUW9NQ2tnSVQwZ0oxOG5JQ1ltSUNFb2JtRnRaU0JwYmlBa1UzbHRZbTlzS1NrZ1pHVm1hVzVsVUhKdmNHVnlkSGtvSkZONWJXSnZiQ3dnYm1GdFpTd2dleUIyWVd4MVpUb2dkMnR6UlhoMExtWW9ibUZ0WlNrZ2ZTazdYRzU5TzF4dUlpd2laWGh3YjNKMGN5NW1JRDBnY21WeGRXbHlaU2duTGk5ZmQydHpKeWs3WEc0aUxDSjJZWElnYzNSdmNtVWdQU0J5WlhGMWFYSmxLQ2N1TDE5emFHRnlaV1FuS1NnbmQydHpKeWs3WEc1MllYSWdkV2xrSUQwZ2NtVnhkV2x5WlNnbkxpOWZkV2xrSnlrN1hHNTJZWElnVTNsdFltOXNJRDBnY21WeGRXbHlaU2duTGk5ZloyeHZZbUZzSnlrdVUzbHRZbTlzTzF4dWRtRnlJRlZUUlY5VFdVMUNUMHdnUFNCMGVYQmxiMllnVTNsdFltOXNJRDA5SUNkbWRXNWpkR2x2YmljN1hHNWNiblpoY2lBa1pYaHdiM0owY3lBOUlHMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHNWhiV1VwSUh0Y2JpQWdjbVYwZFhKdUlITjBiM0psVzI1aGJXVmRJSHg4SUNoemRHOXlaVnR1WVcxbFhTQTlYRzRnSUNBZ1ZWTkZYMU5aVFVKUFRDQW1KaUJUZVcxaWIyeGJibUZ0WlYwZ2ZId2dLRlZUUlY5VFdVMUNUMHdnUHlCVGVXMWliMndnT2lCMWFXUXBLQ2RUZVcxaWIyd3VKeUFySUc1aGJXVXBLVHRjYm4wN1hHNWNiaVJsZUhCdmNuUnpMbk4wYjNKbElEMGdjM1J2Y21VN1hHNGlMQ0oyWVhJZ1kyeGhjM052WmlBOUlISmxjWFZwY21Vb0p5NHZYMk5zWVhOemIyWW5LVHRjYm5aaGNpQkpWRVZTUVZSUFVpQTlJSEpsY1hWcGNtVW9KeTR2WDNkcmN5Y3BLQ2RwZEdWeVlYUnZjaWNwTzF4dWRtRnlJRWwwWlhKaGRHOXljeUE5SUhKbGNYVnBjbVVvSnk0dlgybDBaWEpoZEc5eWN5Y3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDE5amIzSmxKeWt1WjJWMFNYUmxjbUYwYjNKTlpYUm9iMlFnUFNCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ2FXWWdLR2wwSUNFOUlIVnVaR1ZtYVc1bFpDa2djbVYwZFhKdUlHbDBXMGxVUlZKQlZFOVNYVnh1SUNBZ0lIeDhJR2wwV3lkQVFHbDBaWEpoZEc5eUoxMWNiaUFnSUNCOGZDQkpkR1Z5WVhSdmNuTmJZMnhoYzNOdlppaHBkQ2xkTzF4dWZUdGNiaUlzSWk4dklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOWlaVzVxWVcxcGJtZHlMMUpsZUVWNGNDNWxjMk5oY0dWY2JuWmhjaUFrWlhod2IzSjBJRDBnY21WeGRXbHlaU2duTGk5ZlpYaHdiM0owSnlrN1hHNTJZWElnSkhKbElEMGdjbVZ4ZFdseVpTZ25MaTlmY21Wd2JHRmpaWEluS1NndlcxeGNYRnhlSkNvclB5NG9LWHhiWEZ4ZGUzMWRMMmNzSUNkY1hGeGNKQ1luS1R0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsTXNJQ2RTWldkRmVIQW5MQ0I3SUdWelkyRndaVG9nWm5WdVkzUnBiMjRnWlhOallYQmxLR2wwS1NCN0lISmxkSFZ5YmlBa2NtVW9hWFFwT3lCOUlIMHBPMXh1SWl3aUx5OGdNakl1TVM0ekxqTWdRWEp5WVhrdWNISnZkRzkwZVhCbExtTnZjSGxYYVhSb2FXNG9kR0Z5WjJWMExDQnpkR0Z5ZEN3Z1pXNWtJRDBnZEdocGN5NXNaVzVuZEdncFhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVQ3dnSjBGeWNtRjVKeXdnZXlCamIzQjVWMmwwYUdsdU9pQnlaWEYxYVhKbEtDY3VMMTloY25KaGVTMWpiM0I1TFhkcGRHaHBiaWNwSUgwcE8xeHVYRzV5WlhGMWFYSmxLQ2N1TDE5aFpHUXRkRzh0ZFc1elkyOXdZV0pzWlhNbktTZ25ZMjl3ZVZkcGRHaHBiaWNwTzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUFrWlhabGNua2dQU0J5WlhGMWFYSmxLQ2N1TDE5aGNuSmhlUzF0WlhSb2IyUnpKeWtvTkNrN1hHNWNiaVJsZUhCdmNuUW9KR1Y0Y0c5eWRDNVFJQ3NnSkdWNGNHOXlkQzVHSUNvZ0lYSmxjWFZwY21Vb0p5NHZYM04wY21samRDMXRaWFJvYjJRbktTaGJYUzVsZG1WeWVTd2dkSEoxWlNrc0lDZEJjbkpoZVNjc0lIdGNiaUFnTHk4Z01qSXVNUzR6TGpVZ0x5QXhOUzQwTGpRdU1UWWdRWEp5WVhrdWNISnZkRzkwZVhCbExtVjJaWEo1S0dOaGJHeGlZV05yWm00Z1d5d2dkR2hwYzBGeVoxMHBYRzRnSUdWMlpYSjVPaUJtZFc1amRHbHZiaUJsZG1WeWVTaGpZV3hzWW1GamEyWnVJQzhxSUN3Z2RHaHBjMEZ5WnlBcUx5a2dlMXh1SUNBZ0lISmxkSFZ5YmlBa1pYWmxjbmtvZEdocGN5d2dZMkZzYkdKaFkydG1iaXdnWVhKbmRXMWxiblJ6V3pGZEtUdGNiaUFnZlZ4dWZTazdYRzRpTENJdkx5QXlNaTR4TGpNdU5pQkJjbkpoZVM1d2NtOTBiM1I1Y0dVdVptbHNiQ2gyWVd4MVpTd2djM1JoY25RZ1BTQXdMQ0JsYm1RZ1BTQjBhR2x6TG14bGJtZDBhQ2xjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1UUxDQW5RWEp5WVhrbkxDQjdJR1pwYkd3NklISmxjWFZwY21Vb0p5NHZYMkZ5Y21GNUxXWnBiR3duS1NCOUtUdGNibHh1Y21WeGRXbHlaU2duTGk5ZllXUmtMWFJ2TFhWdWMyTnZjR0ZpYkdWekp5a29KMlpwYkd3bktUdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNiblpoY2lBa1pYaHdiM0owSUQwZ2NtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5azdYRzUyWVhJZ0pHWnBiSFJsY2lBOUlISmxjWFZwY21Vb0p5NHZYMkZ5Y21GNUxXMWxkR2h2WkhNbktTZ3lLVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxBZ0t5QWtaWGh3YjNKMExrWWdLaUFoY21WeGRXbHlaU2duTGk5ZmMzUnlhV04wTFcxbGRHaHZaQ2NwS0Z0ZExtWnBiSFJsY2l3Z2RISjFaU2tzSUNkQmNuSmhlU2NzSUh0Y2JpQWdMeThnTWpJdU1TNHpMamNnTHlBeE5TNDBMalF1TWpBZ1FYSnlZWGt1Y0hKdmRHOTBlWEJsTG1acGJIUmxjaWhqWVd4c1ltRmphMlp1SUZzc0lIUm9hWE5CY21kZEtWeHVJQ0JtYVd4MFpYSTZJR1oxYm1OMGFXOXVJR1pwYkhSbGNpaGpZV3hzWW1GamEyWnVJQzhxSUN3Z2RHaHBjMEZ5WnlBcUx5a2dlMXh1SUNBZ0lISmxkSFZ5YmlBa1ptbHNkR1Z5S0hSb2FYTXNJR05oYkd4aVlXTnJabTRzSUdGeVozVnRaVzUwYzFzeFhTazdYRzRnSUgxY2JuMHBPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1THk4Z01qSXVNUzR6TGprZ1FYSnlZWGt1Y0hKdmRHOTBlWEJsTG1acGJtUkpibVJsZUNod2NtVmthV05oZEdVc0lIUm9hWE5CY21jZ1BTQjFibVJsWm1sdVpXUXBYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlDUm1hVzVrSUQwZ2NtVnhkV2x5WlNnbkxpOWZZWEp5WVhrdGJXVjBhRzlrY3ljcEtEWXBPMXh1ZG1GeUlFdEZXU0E5SUNkbWFXNWtTVzVrWlhnbk8xeHVkbUZ5SUdadmNtTmxaQ0E5SUhSeWRXVTdYRzR2THlCVGFHOTFiR1J1SjNRZ2MydHBjQ0JvYjJ4bGMxeHVhV1lnS0V0RldTQnBiaUJiWFNrZ1FYSnlZWGtvTVNsYlMwVlpYU2htZFc1amRHbHZiaUFvS1NCN0lHWnZjbU5sWkNBOUlHWmhiSE5sT3lCOUtUdGNiaVJsZUhCdmNuUW9KR1Y0Y0c5eWRDNVFJQ3NnSkdWNGNHOXlkQzVHSUNvZ1ptOXlZMlZrTENBblFYSnlZWGtuTENCN1hHNGdJR1pwYm1SSmJtUmxlRG9nWm5WdVkzUnBiMjRnWm1sdVpFbHVaR1Y0S0dOaGJHeGlZV05yWm00Z0x5b2dMQ0IwYUdGMElEMGdkVzVrWldacGJtVmtJQ292S1NCN1hHNGdJQ0FnY21WMGRYSnVJQ1JtYVc1a0tIUm9hWE1zSUdOaGJHeGlZV05yWm00c0lHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BpQXhJRDhnWVhKbmRXMWxiblJ6V3pGZElEb2dkVzVrWldacGJtVmtLVHRjYmlBZ2ZWeHVmU2s3WEc1eVpYRjFhWEpsS0NjdUwxOWhaR1F0ZEc4dGRXNXpZMjl3WVdKc1pYTW5LU2hMUlZrcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVMeThnTWpJdU1TNHpMamdnUVhKeVlYa3VjSEp2ZEc5MGVYQmxMbVpwYm1Rb2NISmxaR2xqWVhSbExDQjBhR2x6UVhKbklEMGdkVzVrWldacGJtVmtLVnh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQWtabWx1WkNBOUlISmxjWFZwY21Vb0p5NHZYMkZ5Y21GNUxXMWxkR2h2WkhNbktTZzFLVHRjYm5aaGNpQkxSVmtnUFNBblptbHVaQ2M3WEc1MllYSWdabTl5WTJWa0lEMGdkSEoxWlR0Y2JpOHZJRk5vYjNWc1pHNG5kQ0J6YTJsd0lHaHZiR1Z6WEc1cFppQW9TMFZaSUdsdUlGdGRLU0JCY25KaGVTZ3hLVnRMUlZsZEtHWjFibU4wYVc5dUlDZ3BJSHNnWm05eVkyVmtJRDBnWm1Gc2MyVTdJSDBwTzF4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxBZ0t5QWtaWGh3YjNKMExrWWdLaUJtYjNKalpXUXNJQ2RCY25KaGVTY3NJSHRjYmlBZ1ptbHVaRG9nWm5WdVkzUnBiMjRnWm1sdVpDaGpZV3hzWW1GamEyWnVJQzhxSUN3Z2RHaGhkQ0E5SUhWdVpHVm1hVzVsWkNBcUx5a2dlMXh1SUNBZ0lISmxkSFZ5YmlBa1ptbHVaQ2gwYUdsekxDQmpZV3hzWW1GamEyWnVMQ0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTVNBL0lHRnlaM1Z0Wlc1MGMxc3hYU0E2SUhWdVpHVm1hVzVsWkNrN1hHNGdJSDFjYm4wcE8xeHVjbVZ4ZFdseVpTZ25MaTlmWVdSa0xYUnZMWFZ1YzJOdmNHRmliR1Z6Snlrb1MwVlpLVHRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdKR1p2Y2tWaFkyZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5aGNuSmhlUzF0WlhSb2IyUnpKeWtvTUNrN1hHNTJZWElnVTFSU1NVTlVJRDBnY21WeGRXbHlaU2duTGk5ZmMzUnlhV04wTFcxbGRHaHZaQ2NwS0Z0ZExtWnZja1ZoWTJnc0lIUnlkV1VwTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVVDQXJJQ1JsZUhCdmNuUXVSaUFxSUNGVFZGSkpRMVFzSUNkQmNuSmhlU2NzSUh0Y2JpQWdMeThnTWpJdU1TNHpMakV3SUM4Z01UVXVOQzQwTGpFNElFRnljbUY1TG5CeWIzUnZkSGx3WlM1bWIzSkZZV05vS0dOaGJHeGlZV05yWm00Z1d5d2dkR2hwYzBGeVoxMHBYRzRnSUdadmNrVmhZMmc2SUdaMWJtTjBhVzl1SUdadmNrVmhZMmdvWTJGc2JHSmhZMnRtYmlBdktpQXNJSFJvYVhOQmNtY2dLaThwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdKR1p2Y2tWaFkyZ29kR2hwY3l3Z1kyRnNiR0poWTJ0bWJpd2dZWEpuZFcxbGJuUnpXekZkS1R0Y2JpQWdmVnh1ZlNrN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNTJZWElnWTNSNElEMGdjbVZ4ZFdseVpTZ25MaTlmWTNSNEp5azdYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlIUnZUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGIySnFaV04wSnlrN1hHNTJZWElnWTJGc2JDQTlJSEpsY1hWcGNtVW9KeTR2WDJsMFpYSXRZMkZzYkNjcE8xeHVkbUZ5SUdselFYSnlZWGxKZEdWeUlEMGdjbVZ4ZFdseVpTZ25MaTlmYVhNdFlYSnlZWGt0YVhSbGNpY3BPMXh1ZG1GeUlIUnZUR1Z1WjNSb0lEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGJHVnVaM1JvSnlrN1hHNTJZWElnWTNKbFlYUmxVSEp2Y0dWeWRIa2dQU0J5WlhGMWFYSmxLQ2N1TDE5amNtVmhkR1V0Y0hKdmNHVnlkSGtuS1R0Y2JuWmhjaUJuWlhSSmRHVnlSbTRnUFNCeVpYRjFhWEpsS0NjdUwyTnZjbVV1WjJWMExXbDBaWEpoZEc5eUxXMWxkR2h2WkNjcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeUFySUNSbGVIQnZjblF1UmlBcUlDRnlaWEYxYVhKbEtDY3VMMTlwZEdWeUxXUmxkR1ZqZENjcEtHWjFibU4wYVc5dUlDaHBkR1Z5S1NCN0lFRnljbUY1TG1aeWIyMG9hWFJsY2lrN0lIMHBMQ0FuUVhKeVlYa25MQ0I3WEc0Z0lDOHZJREl5TGpFdU1pNHhJRUZ5Y21GNUxtWnliMjBvWVhKeVlYbE1hV3RsTENCdFlYQm1iaUE5SUhWdVpHVm1hVzVsWkN3Z2RHaHBjMEZ5WnlBOUlIVnVaR1ZtYVc1bFpDbGNiaUFnWm5KdmJUb2dablZ1WTNScGIyNGdabkp2YlNoaGNuSmhlVXhwYTJVZ0x5b2dMQ0J0WVhCbWJpQTlJSFZ1WkdWbWFXNWxaQ3dnZEdocGMwRnlaeUE5SUhWdVpHVm1hVzVsWkNBcUx5a2dlMXh1SUNBZ0lIWmhjaUJQSUQwZ2RHOVBZbXBsWTNRb1lYSnlZWGxNYVd0bEtUdGNiaUFnSUNCMllYSWdReUE5SUhSNWNHVnZaaUIwYUdseklEMDlJQ2RtZFc1amRHbHZiaWNnUHlCMGFHbHpJRG9nUVhKeVlYazdYRzRnSUNBZ2RtRnlJR0ZNWlc0Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb08xeHVJQ0FnSUhaaGNpQnRZWEJtYmlBOUlHRk1aVzRnUGlBeElEOGdZWEpuZFcxbGJuUnpXekZkSURvZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUhaaGNpQnRZWEJ3YVc1bklEMGdiV0Z3Wm00Z0lUMDlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQjJZWElnYVc1a1pYZ2dQU0F3TzF4dUlDQWdJSFpoY2lCcGRHVnlSbTRnUFNCblpYUkpkR1Z5Um00b1R5azdYRzRnSUNBZ2RtRnlJR3hsYm1kMGFDd2djbVZ6ZFd4MExDQnpkR1Z3TENCcGRHVnlZWFJ2Y2p0Y2JpQWdJQ0JwWmlBb2JXRndjR2x1WnlrZ2JXRndabTRnUFNCamRIZ29iV0Z3Wm00c0lHRk1aVzRnUGlBeUlEOGdZWEpuZFcxbGJuUnpXekpkSURvZ2RXNWtaV1pwYm1Wa0xDQXlLVHRjYmlBZ0lDQXZMeUJwWmlCdlltcGxZM1FnYVhOdUozUWdhWFJsY21GaWJHVWdiM0lnYVhRbmN5QmhjbkpoZVNCM2FYUm9JR1JsWm1GMWJIUWdhWFJsY21GMGIzSWdMU0IxYzJVZ2MybHRjR3hsSUdOaGMyVmNiaUFnSUNCcFppQW9hWFJsY2tadUlDRTlJSFZ1WkdWbWFXNWxaQ0FtSmlBaEtFTWdQVDBnUVhKeVlYa2dKaVlnYVhOQmNuSmhlVWwwWlhJb2FYUmxja1p1S1NrcElIdGNiaUFnSUNBZ0lHWnZjaUFvYVhSbGNtRjBiM0lnUFNCcGRHVnlSbTR1WTJGc2JDaFBLU3dnY21WemRXeDBJRDBnYm1WM0lFTW9LVHNnSVNoemRHVndJRDBnYVhSbGNtRjBiM0l1Ym1WNGRDZ3BLUzVrYjI1bE95QnBibVJsZUNzcktTQjdYRzRnSUNBZ0lDQWdJR055WldGMFpWQnliM0JsY25SNUtISmxjM1ZzZEN3Z2FXNWtaWGdzSUcxaGNIQnBibWNnUHlCallXeHNLR2wwWlhKaGRHOXlMQ0J0WVhCbWJpd2dXM04wWlhBdWRtRnNkV1VzSUdsdVpHVjRYU3dnZEhKMVpTa2dPaUJ6ZEdWd0xuWmhiSFZsS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdiR1Z1WjNSb0lEMGdkRzlNWlc1bmRHZ29UeTVzWlc1bmRHZ3BPMXh1SUNBZ0lDQWdabTl5SUNoeVpYTjFiSFFnUFNCdVpYY2dReWhzWlc1bmRHZ3BPeUJzWlc1bmRHZ2dQaUJwYm1SbGVEc2dhVzVrWlhnckt5a2dlMXh1SUNBZ0lDQWdJQ0JqY21WaGRHVlFjbTl3WlhKMGVTaHlaWE4xYkhRc0lHbHVaR1Y0TENCdFlYQndhVzVuSUQ4Z2JXRndabTRvVDF0cGJtUmxlRjBzSUdsdVpHVjRLU0E2SUU5YmFXNWtaWGhkS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVZ6ZFd4MExteGxibWQwYUNBOUlHbHVaR1Y0TzF4dUlDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJSDFjYm4wcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lBa2FXNWtaWGhQWmlBOUlISmxjWFZwY21Vb0p5NHZYMkZ5Y21GNUxXbHVZMngxWkdWekp5a29abUZzYzJVcE8xeHVkbUZ5SUNSdVlYUnBkbVVnUFNCYlhTNXBibVJsZUU5bU8xeHVkbUZ5SUU1RlIwRlVTVlpGWDFwRlVrOGdQU0FoSVNSdVlYUnBkbVVnSmlZZ01TQXZJRnN4WFM1cGJtUmxlRTltS0RFc0lDMHdLU0E4SURBN1hHNWNiaVJsZUhCdmNuUW9KR1Y0Y0c5eWRDNVFJQ3NnSkdWNGNHOXlkQzVHSUNvZ0tFNUZSMEZVU1ZaRlgxcEZVazhnZkh3Z0lYSmxjWFZwY21Vb0p5NHZYM04wY21samRDMXRaWFJvYjJRbktTZ2tibUYwYVhabEtTa3NJQ2RCY25KaGVTY3NJSHRjYmlBZ0x5OGdNakl1TVM0ekxqRXhJQzhnTVRVdU5DNDBMakUwSUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzVwYm1SbGVFOW1LSE5sWVhKamFFVnNaVzFsYm5RZ1d5d2dabkp2YlVsdVpHVjRYU2xjYmlBZ2FXNWtaWGhQWmpvZ1puVnVZM1JwYjI0Z2FXNWtaWGhQWmloelpXRnlZMmhGYkdWdFpXNTBJQzhxSUN3Z1puSnZiVWx1WkdWNElEMGdNQ0FxTHlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJPUlVkQlZFbFdSVjlhUlZKUFhHNGdJQ0FnSUNBdkx5QmpiMjUyWlhKMElDMHdJSFJ2SUNzd1hHNGdJQ0FnSUNBL0lDUnVZWFJwZG1VdVlYQndiSGtvZEdocGN5d2dZWEpuZFcxbGJuUnpLU0I4ZkNBd1hHNGdJQ0FnSUNBNklDUnBibVJsZUU5bUtIUm9hWE1zSUhObFlYSmphRVZzWlcxbGJuUXNJR0Z5WjNWdFpXNTBjMXN4WFNrN1hHNGdJSDFjYm4wcE8xeHVJaXdpTHk4Z01qSXVNUzR5TGpJZ0x5QXhOUzQwTGpNdU1pQkJjbkpoZVM1cGMwRnljbUY1S0dGeVp5bGNiblpoY2lBa1pYaHdiM0owSUQwZ2NtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5azdYRzVjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUTENBblFYSnlZWGtuTENCN0lHbHpRWEp5WVhrNklISmxjWFZwY21Vb0p5NHZYMmx6TFdGeWNtRjVKeWtnZlNrN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNTJZWElnWVdSa1ZHOVZibk5qYjNCaFlteGxjeUE5SUhKbGNYVnBjbVVvSnk0dlgyRmtaQzEwYnkxMWJuTmpiM0JoWW14bGN5Y3BPMXh1ZG1GeUlITjBaWEFnUFNCeVpYRjFhWEpsS0NjdUwxOXBkR1Z5TFhOMFpYQW5LVHRjYm5aaGNpQkpkR1Z5WVhSdmNuTWdQU0J5WlhGMWFYSmxLQ2N1TDE5cGRHVnlZWFJ2Y25NbktUdGNiblpoY2lCMGIwbFBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxcGIySnFaV04wSnlrN1hHNWNiaTh2SURJeUxqRXVNeTQwSUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzVsYm5SeWFXVnpLQ2xjYmk4dklESXlMakV1TXk0eE15QkJjbkpoZVM1d2NtOTBiM1I1Y0dVdWEyVjVjeWdwWEc0dkx5QXlNaTR4TGpNdU1qa2dRWEp5WVhrdWNISnZkRzkwZVhCbExuWmhiSFZsY3lncFhHNHZMeUF5TWk0eExqTXVNekFnUVhKeVlYa3VjSEp2ZEc5MGVYQmxXMEJBYVhSbGNtRjBiM0pkS0NsY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2NtVnhkV2x5WlNnbkxpOWZhWFJsY2kxa1pXWnBibVVuS1NoQmNuSmhlU3dnSjBGeWNtRjVKeXdnWm5WdVkzUnBiMjRnS0dsMFpYSmhkR1ZrTENCcmFXNWtLU0I3WEc0Z0lIUm9hWE11WDNRZ1BTQjBiMGxQWW1wbFkzUW9hWFJsY21GMFpXUXBPeUF2THlCMFlYSm5aWFJjYmlBZ2RHaHBjeTVmYVNBOUlEQTdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUc1bGVIUWdhVzVrWlhoY2JpQWdkR2hwY3k1ZmF5QTlJR3RwYm1RN0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklHdHBibVJjYmk4dklESXlMakV1TlM0eUxqRWdKVUZ5Y21GNVNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVbExtNWxlSFFvS1Z4dWZTd2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjJZWElnVHlBOUlIUm9hWE11WDNRN1hHNGdJSFpoY2lCcmFXNWtJRDBnZEdocGN5NWZhenRjYmlBZ2RtRnlJR2x1WkdWNElEMGdkR2hwY3k1ZmFTc3JPMXh1SUNCcFppQW9JVThnZkh3Z2FXNWtaWGdnUGowZ1R5NXNaVzVuZEdncElIdGNiaUFnSUNCMGFHbHpMbDkwSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUhKbGRIVnliaUJ6ZEdWd0tERXBPMXh1SUNCOVhHNGdJR2xtSUNocmFXNWtJRDA5SUNkclpYbHpKeWtnY21WMGRYSnVJSE4wWlhBb01Dd2dhVzVrWlhncE8xeHVJQ0JwWmlBb2EybHVaQ0E5UFNBbmRtRnNkV1Z6SnlrZ2NtVjBkWEp1SUhOMFpYQW9NQ3dnVDF0cGJtUmxlRjBwTzF4dUlDQnlaWFIxY200Z2MzUmxjQ2d3TENCYmFXNWtaWGdzSUU5YmFXNWtaWGhkWFNrN1hHNTlMQ0FuZG1Gc2RXVnpKeWs3WEc1Y2JpOHZJR0Z5WjNWdFpXNTBjMHhwYzNSYlFFQnBkR1Z5WVhSdmNsMGdhWE1nSlVGeWNtRjVVSEp2ZEc5ZmRtRnNkV1Z6SlNBb09TNDBMalF1Tml3Z09TNDBMalF1TnlsY2JrbDBaWEpoZEc5eWN5NUJjbWQxYldWdWRITWdQU0JKZEdWeVlYUnZjbk11UVhKeVlYazdYRzVjYm1Ga1pGUnZWVzV6WTI5d1lXSnNaWE1vSjJ0bGVYTW5LVHRjYm1Ga1pGUnZWVzV6WTI5d1lXSnNaWE1vSjNaaGJIVmxjeWNwTzF4dVlXUmtWRzlWYm5OamIzQmhZbXhsY3lnblpXNTBjbWxsY3ljcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVMeThnTWpJdU1TNHpMakV6SUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzVxYjJsdUtITmxjR0Z5WVhSdmNpbGNiblpoY2lBa1pYaHdiM0owSUQwZ2NtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5azdYRzUyWVhJZ2RHOUpUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGFXOWlhbVZqZENjcE8xeHVkbUZ5SUdGeWNtRjVTbTlwYmlBOUlGdGRMbXB2YVc0N1hHNWNiaTh2SUdaaGJHeGlZV05ySUdadmNpQnViM1FnWVhKeVlYa3RiR2xyWlNCemRISnBibWR6WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VUNBcklDUmxlSEJ2Y25RdVJpQXFJQ2h5WlhGMWFYSmxLQ2N1TDE5cGIySnFaV04wSnlrZ0lUMGdUMkpxWldOMElIeDhJQ0Z5WlhGMWFYSmxLQ2N1TDE5emRISnBZM1F0YldWMGFHOWtKeWtvWVhKeVlYbEtiMmx1S1Nrc0lDZEJjbkpoZVNjc0lIdGNiaUFnYW05cGJqb2dablZ1WTNScGIyNGdhbTlwYmloelpYQmhjbUYwYjNJcElIdGNiaUFnSUNCeVpYUjFjbTRnWVhKeVlYbEtiMmx1TG1OaGJHd29kRzlKVDJKcVpXTjBLSFJvYVhNcExDQnpaWEJoY21GMGIzSWdQVDA5SUhWdVpHVm1hVzVsWkNBL0lDY3NKeUE2SUhObGNHRnlZWFJ2Y2lrN1hHNGdJSDFjYm4wcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCMGIwbFBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxcGIySnFaV04wSnlrN1hHNTJZWElnZEc5SmJuUmxaMlZ5SUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YVc1MFpXZGxjaWNwTzF4dWRtRnlJSFJ2VEdWdVozUm9JRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRiR1Z1WjNSb0p5azdYRzUyWVhJZ0pHNWhkR2wyWlNBOUlGdGRMbXhoYzNSSmJtUmxlRTltTzF4dWRtRnlJRTVGUjBGVVNWWkZYMXBGVWs4Z1BTQWhJU1J1WVhScGRtVWdKaVlnTVNBdklGc3hYUzVzWVhOMFNXNWtaWGhQWmlneExDQXRNQ2tnUENBd08xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVQ0FySUNSbGVIQnZjblF1UmlBcUlDaE9SVWRCVkVsV1JWOWFSVkpQSUh4OElDRnlaWEYxYVhKbEtDY3VMMTl6ZEhKcFkzUXRiV1YwYUc5a0p5a29KRzVoZEdsMlpTa3BMQ0FuUVhKeVlYa25MQ0I3WEc0Z0lDOHZJREl5TGpFdU15NHhOQ0F2SURFMUxqUXVOQzR4TlNCQmNuSmhlUzV3Y205MGIzUjVjR1V1YkdGemRFbHVaR1Y0VDJZb2MyVmhjbU5vUld4bGJXVnVkQ0JiTENCbWNtOXRTVzVrWlhoZEtWeHVJQ0JzWVhOMFNXNWtaWGhQWmpvZ1puVnVZM1JwYjI0Z2JHRnpkRWx1WkdWNFQyWW9jMlZoY21Ob1JXeGxiV1Z1ZENBdktpQXNJR1p5YjIxSmJtUmxlQ0E5SUVCYktpMHhYU0FxTHlrZ2UxeHVJQ0FnSUM4dklHTnZiblpsY25RZ0xUQWdkRzhnS3pCY2JpQWdJQ0JwWmlBb1RrVkhRVlJKVmtWZldrVlNUeWtnY21WMGRYSnVJQ1J1WVhScGRtVXVZWEJ3Ykhrb2RHaHBjeXdnWVhKbmRXMWxiblJ6S1NCOGZDQXdPMXh1SUNBZ0lIWmhjaUJQSUQwZ2RHOUpUMkpxWldOMEtIUm9hWE1wTzF4dUlDQWdJSFpoY2lCc1pXNW5kR2dnUFNCMGIweGxibWQwYUNoUExteGxibWQwYUNrN1hHNGdJQ0FnZG1GeUlHbHVaR1Y0SUQwZ2JHVnVaM1JvSUMwZ01UdGNiaUFnSUNCcFppQW9ZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJREVwSUdsdVpHVjRJRDBnVFdGMGFDNXRhVzRvYVc1a1pYZ3NJSFJ2U1c1MFpXZGxjaWhoY21kMWJXVnVkSE5iTVYwcEtUdGNiaUFnSUNCcFppQW9hVzVrWlhnZ1BDQXdLU0JwYm1SbGVDQTlJR3hsYm1kMGFDQXJJR2x1WkdWNE8xeHVJQ0FnSUdadmNpQW9PMmx1WkdWNElENDlJREE3SUdsdVpHVjRMUzBwSUdsbUlDaHBibVJsZUNCcGJpQlBLU0JwWmlBb1QxdHBibVJsZUYwZ1BUMDlJSE5sWVhKamFFVnNaVzFsYm5RcElISmxkSFZ5YmlCcGJtUmxlQ0I4ZkNBd08xeHVJQ0FnSUhKbGRIVnliaUF0TVR0Y2JpQWdmVnh1ZlNrN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUNSdFlYQWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGNuSmhlUzF0WlhSb2IyUnpKeWtvTVNrN1hHNWNiaVJsZUhCdmNuUW9KR1Y0Y0c5eWRDNVFJQ3NnSkdWNGNHOXlkQzVHSUNvZ0lYSmxjWFZwY21Vb0p5NHZYM04wY21samRDMXRaWFJvYjJRbktTaGJYUzV0WVhBc0lIUnlkV1VwTENBblFYSnlZWGtuTENCN1hHNGdJQzh2SURJeUxqRXVNeTR4TlNBdklERTFMalF1TkM0eE9TQkJjbkpoZVM1d2NtOTBiM1I1Y0dVdWJXRndLR05oYkd4aVlXTnJabTRnV3l3Z2RHaHBjMEZ5WjEwcFhHNGdJRzFoY0RvZ1puVnVZM1JwYjI0Z2JXRndLR05oYkd4aVlXTnJabTRnTHlvZ0xDQjBhR2x6UVhKbklDb3ZLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDUnRZWEFvZEdocGN5d2dZMkZzYkdKaFkydG1iaXdnWVhKbmRXMWxiblJ6V3pGZEtUdGNiaUFnZlZ4dWZTazdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlHTnlaV0YwWlZCeWIzQmxjblI1SUQwZ2NtVnhkV2x5WlNnbkxpOWZZM0psWVhSbExYQnliM0JsY25SNUp5azdYRzVjYmk4dklGZGxZa3RwZENCQmNuSmhlUzV2WmlCcGMyNG5kQ0JuWlc1bGNtbGpYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeUFySUNSbGVIQnZjblF1UmlBcUlISmxjWFZwY21Vb0p5NHZYMlpoYVd4ekp5a29ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQm1kVzVqZEdsdmJpQkdLQ2tnZXlBdktpQmxiWEIwZVNBcUx5QjlYRzRnSUhKbGRIVnliaUFoS0VGeWNtRjVMbTltTG1OaGJHd29SaWtnYVc1emRHRnVZMlZ2WmlCR0tUdGNibjBwTENBblFYSnlZWGtuTENCN1hHNGdJQzh2SURJeUxqRXVNaTR6SUVGeWNtRjVMbTltS0NBdUxpNXBkR1Z0Y3lsY2JpQWdiMlk2SUdaMWJtTjBhVzl1SUc5bUtDOHFJQzR1TG1GeVozTWdLaThwSUh0Y2JpQWdJQ0IyWVhJZ2FXNWtaWGdnUFNBd08xeHVJQ0FnSUhaaGNpQmhUR1Z1SUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUR0Y2JpQWdJQ0IyWVhJZ2NtVnpkV3gwSUQwZ2JtVjNJQ2gwZVhCbGIyWWdkR2hwY3lBOVBTQW5ablZ1WTNScGIyNG5JRDhnZEdocGN5QTZJRUZ5Y21GNUtTaGhUR1Z1S1R0Y2JpQWdJQ0IzYUdsc1pTQW9ZVXhsYmlBK0lHbHVaR1Y0S1NCamNtVmhkR1ZRY205d1pYSjBlU2h5WlhOMWJIUXNJR2x1WkdWNExDQmhjbWQxYldWdWRITmJhVzVrWlhncksxMHBPMXh1SUNBZ0lISmxjM1ZzZEM1c1pXNW5kR2dnUFNCaFRHVnVPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc0Z0lIMWNibjBwTzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUFrY21Wa2RXTmxJRDBnY21WeGRXbHlaU2duTGk5ZllYSnlZWGt0Y21Wa2RXTmxKeWs3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1UUlDc2dKR1Y0Y0c5eWRDNUdJQ29nSVhKbGNYVnBjbVVvSnk0dlgzTjBjbWxqZEMxdFpYUm9iMlFuS1NoYlhTNXlaV1IxWTJWU2FXZG9kQ3dnZEhKMVpTa3NJQ2RCY25KaGVTY3NJSHRjYmlBZ0x5OGdNakl1TVM0ekxqRTVJQzhnTVRVdU5DNDBMakl5SUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzV5WldSMVkyVlNhV2RvZENoallXeHNZbUZqYTJadUlGc3NJR2x1YVhScFlXeFdZV3gxWlYwcFhHNGdJSEpsWkhWalpWSnBaMmgwT2lCbWRXNWpkR2x2YmlCeVpXUjFZMlZTYVdkb2RDaGpZV3hzWW1GamEyWnVJQzhxSUN3Z2FXNXBkR2xoYkZaaGJIVmxJQ292S1NCN1hHNGdJQ0FnY21WMGRYSnVJQ1J5WldSMVkyVW9kR2hwY3l3Z1kyRnNiR0poWTJ0bWJpd2dZWEpuZFcxbGJuUnpMbXhsYm1kMGFDd2dZWEpuZFcxbGJuUnpXekZkTENCMGNuVmxLVHRjYmlBZ2ZWeHVmU2s3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dWRtRnlJQ1J5WldSMVkyVWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGNuSmhlUzF5WldSMVkyVW5LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxBZ0t5QWtaWGh3YjNKMExrWWdLaUFoY21WeGRXbHlaU2duTGk5ZmMzUnlhV04wTFcxbGRHaHZaQ2NwS0Z0ZExuSmxaSFZqWlN3Z2RISjFaU2tzSUNkQmNuSmhlU2NzSUh0Y2JpQWdMeThnTWpJdU1TNHpMakU0SUM4Z01UVXVOQzQwTGpJeElFRnljbUY1TG5CeWIzUnZkSGx3WlM1eVpXUjFZMlVvWTJGc2JHSmhZMnRtYmlCYkxDQnBibWwwYVdGc1ZtRnNkV1ZkS1Z4dUlDQnlaV1IxWTJVNklHWjFibU4wYVc5dUlISmxaSFZqWlNoallXeHNZbUZqYTJadUlDOHFJQ3dnYVc1cGRHbGhiRlpoYkhWbElDb3ZLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDUnlaV1IxWTJVb2RHaHBjeXdnWTJGc2JHSmhZMnRtYml3Z1lYSm5kVzFsYm5SekxteGxibWQwYUN3Z1lYSm5kVzFsYm5Seld6RmRMQ0JtWVd4elpTazdYRzRnSUgxY2JuMHBPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQm9kRzFzSUQwZ2NtVnhkV2x5WlNnbkxpOWZhSFJ0YkNjcE8xeHVkbUZ5SUdOdlppQTlJSEpsY1hWcGNtVW9KeTR2WDJOdlppY3BPMXh1ZG1GeUlIUnZRV0p6YjJ4MWRHVkpibVJsZUNBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFdGaWMyOXNkWFJsTFdsdVpHVjRKeWs3WEc1MllYSWdkRzlNWlc1bmRHZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXNaVzVuZEdnbktUdGNiblpoY2lCaGNuSmhlVk5zYVdObElEMGdXMTB1YzJ4cFkyVTdYRzVjYmk4dklHWmhiR3hpWVdOcklHWnZjaUJ1YjNRZ1lYSnlZWGt0YkdsclpTQkZVek1nYzNSeWFXNW5jeUJoYm1RZ1JFOU5JRzlpYW1WamRITmNiaVJsZUhCdmNuUW9KR1Y0Y0c5eWRDNVFJQ3NnSkdWNGNHOXlkQzVHSUNvZ2NtVnhkV2x5WlNnbkxpOWZabUZwYkhNbktTaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lHbG1JQ2hvZEcxc0tTQmhjbkpoZVZOc2FXTmxMbU5oYkd3b2FIUnRiQ2s3WEc1OUtTd2dKMEZ5Y21GNUp5d2dlMXh1SUNCemJHbGpaVG9nWm5WdVkzUnBiMjRnYzJ4cFkyVW9ZbVZuYVc0c0lHVnVaQ2tnZTF4dUlDQWdJSFpoY2lCc1pXNGdQU0IwYjB4bGJtZDBhQ2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnZG1GeUlHdHNZWE56SUQwZ1kyOW1LSFJvYVhNcE8xeHVJQ0FnSUdWdVpDQTlJR1Z1WkNBOVBUMGdkVzVrWldacGJtVmtJRDhnYkdWdUlEb2daVzVrTzF4dUlDQWdJR2xtSUNocmJHRnpjeUE5UFNBblFYSnlZWGtuS1NCeVpYUjFjbTRnWVhKeVlYbFRiR2xqWlM1allXeHNLSFJvYVhNc0lHSmxaMmx1TENCbGJtUXBPMXh1SUNBZ0lIWmhjaUJ6ZEdGeWRDQTlJSFJ2UVdKemIyeDFkR1ZKYm1SbGVDaGlaV2RwYml3Z2JHVnVLVHRjYmlBZ0lDQjJZWElnZFhCVWJ5QTlJSFJ2UVdKemIyeDFkR1ZKYm1SbGVDaGxibVFzSUd4bGJpazdYRzRnSUNBZ2RtRnlJSE5wZW1VZ1BTQjBiMHhsYm1kMGFDaDFjRlJ2SUMwZ2MzUmhjblFwTzF4dUlDQWdJSFpoY2lCamJHOXVaV1FnUFNCdVpYY2dRWEp5WVhrb2MybDZaU2s3WEc0Z0lDQWdkbUZ5SUdrZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvT3lCcElEd2djMmw2WlRzZ2FTc3JLU0JqYkc5dVpXUmJhVjBnUFNCcmJHRnpjeUE5UFNBblUzUnlhVzVuSjF4dUlDQWdJQ0FnUHlCMGFHbHpMbU5vWVhKQmRDaHpkR0Z5ZENBcklHa3BYRzRnSUNBZ0lDQTZJSFJvYVhOYmMzUmhjblFnS3lCcFhUdGNiaUFnSUNCeVpYUjFjbTRnWTJ4dmJtVmtPMXh1SUNCOVhHNTlLVHRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdKSE52YldVZ1BTQnlaWEYxYVhKbEtDY3VMMTloY25KaGVTMXRaWFJvYjJSekp5a29NeWs3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1UUlDc2dKR1Y0Y0c5eWRDNUdJQ29nSVhKbGNYVnBjbVVvSnk0dlgzTjBjbWxqZEMxdFpYUm9iMlFuS1NoYlhTNXpiMjFsTENCMGNuVmxLU3dnSjBGeWNtRjVKeXdnZTF4dUlDQXZMeUF5TWk0eExqTXVNak1nTHlBeE5TNDBMalF1TVRjZ1FYSnlZWGt1Y0hKdmRHOTBlWEJsTG5OdmJXVW9ZMkZzYkdKaFkydG1iaUJiTENCMGFHbHpRWEpuWFNsY2JpQWdjMjl0WlRvZ1puVnVZM1JwYjI0Z2MyOXRaU2hqWVd4c1ltRmphMlp1SUM4cUlDd2dkR2hwYzBGeVp5QXFMeWtnZTF4dUlDQWdJSEpsZEhWeWJpQWtjMjl0WlNoMGFHbHpMQ0JqWVd4c1ltRmphMlp1TENCaGNtZDFiV1Z1ZEhOYk1WMHBPMXh1SUNCOVhHNTlLVHRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdZVVoxYm1OMGFXOXVJRDBnY21WeGRXbHlaU2duTGk5ZllTMW1kVzVqZEdsdmJpY3BPMXh1ZG1GeUlIUnZUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGIySnFaV04wSnlrN1hHNTJZWElnWm1GcGJITWdQU0J5WlhGMWFYSmxLQ2N1TDE5bVlXbHNjeWNwTzF4dWRtRnlJQ1J6YjNKMElEMGdXMTB1YzI5eWREdGNiblpoY2lCMFpYTjBJRDBnV3pFc0lESXNJRE5kTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVVDQXJJQ1JsZUhCdmNuUXVSaUFxSUNobVlXbHNjeWhtZFc1amRHbHZiaUFvS1NCN1hHNGdJQzh2SUVsRk9DMWNiaUFnZEdWemRDNXpiM0owS0hWdVpHVm1hVzVsWkNrN1hHNTlLU0I4ZkNBaFptRnBiSE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0F2THlCV09DQmlkV2RjYmlBZ2RHVnpkQzV6YjNKMEtHNTFiR3dwTzF4dUlDQXZMeUJQYkdRZ1YyVmlTMmwwWEc1OUtTQjhmQ0FoY21WeGRXbHlaU2duTGk5ZmMzUnlhV04wTFcxbGRHaHZaQ2NwS0NSemIzSjBLU2tzSUNkQmNuSmhlU2NzSUh0Y2JpQWdMeThnTWpJdU1TNHpMakkxSUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzV6YjNKMEtHTnZiWEJoY21WbWJpbGNiaUFnYzI5eWREb2dablZ1WTNScGIyNGdjMjl5ZENoamIyMXdZWEpsWm00cElIdGNiaUFnSUNCeVpYUjFjbTRnWTI5dGNHRnlaV1p1SUQwOVBTQjFibVJsWm1sdVpXUmNiaUFnSUNBZ0lEOGdKSE52Y25RdVkyRnNiQ2gwYjA5aWFtVmpkQ2gwYUdsektTbGNiaUFnSUNBZ0lEb2dKSE52Y25RdVkyRnNiQ2gwYjA5aWFtVmpkQ2gwYUdsektTd2dZVVoxYm1OMGFXOXVLR052YlhCaGNtVm1iaWtwTzF4dUlDQjlYRzU5S1R0Y2JpSXNJbkpsY1hWcGNtVW9KeTR2WDNObGRDMXpjR1ZqYVdWekp5a29KMEZ5Y21GNUp5azdYRzRpTENJdkx5QXlNQzR6TGpNdU1TQXZJREUxTGprdU5DNDBJRVJoZEdVdWJtOTNLQ2xjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VExDQW5SR0YwWlNjc0lIc2dibTkzT2lCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQnVaWGNnUkdGMFpTZ3BMbWRsZEZScGJXVW9LVHNnZlNCOUtUdGNiaUlzSWk4dklESXdMak11TkM0ek5pQXZJREUxTGprdU5TNDBNeUJFWVhSbExuQnliM1J2ZEhsd1pTNTBiMGxUVDFOMGNtbHVaeWdwWEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dWRtRnlJSFJ2U1ZOUFUzUnlhVzVuSUQwZ2NtVnhkV2x5WlNnbkxpOWZaR0YwWlMxMGJ5MXBjMjh0YzNSeWFXNW5KeWs3WEc1Y2JpOHZJRkJvWVc1MGIyMUtVeUF2SUc5c1pDQlhaV0pMYVhRZ2FHRnpJR0VnWW5KdmEyVnVJR2x0Y0d4bGJXVnVkR0YwYVc5dWMxeHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsQWdLeUFrWlhod2IzSjBMa1lnS2lBb1JHRjBaUzV3Y205MGIzUjVjR1V1ZEc5SlUwOVRkSEpwYm1jZ0lUMDlJSFJ2U1ZOUFUzUnlhVzVuS1N3Z0owUmhkR1VuTENCN1hHNGdJSFJ2U1ZOUFUzUnlhVzVuT2lCMGIwbFRUMU4wY21sdVoxeHVmU2s3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dWRtRnlJSFJ2VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRiMkpxWldOMEp5azdYRzUyWVhJZ2RHOVFjbWx0YVhScGRtVWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXdjbWx0YVhScGRtVW5LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxBZ0t5QWtaWGh3YjNKMExrWWdLaUJ5WlhGMWFYSmxLQ2N1TDE5bVlXbHNjeWNwS0daMWJtTjBhVzl1SUNncElIdGNiaUFnY21WMGRYSnVJRzVsZHlCRVlYUmxLRTVoVGlrdWRHOUtVMDlPS0NrZ0lUMDlJRzUxYkd4Y2JpQWdJQ0I4ZkNCRVlYUmxMbkJ5YjNSdmRIbHdaUzUwYjBwVFQwNHVZMkZzYkNoN0lIUnZTVk5QVTNSeWFXNW5PaUJtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlBeE95QjlJSDBwSUNFOVBTQXhPMXh1ZlNrc0lDZEVZWFJsSnl3Z2UxeHVJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnYm04dGRXNTFjMlZrTFhaaGNuTmNiaUFnZEc5S1UwOU9PaUJtZFc1amRHbHZiaUIwYjBwVFQwNG9hMlY1S1NCN1hHNGdJQ0FnZG1GeUlFOGdQU0IwYjA5aWFtVmpkQ2gwYUdsektUdGNiaUFnSUNCMllYSWdjSFlnUFNCMGIxQnlhVzFwZEdsMlpTaFBLVHRjYmlBZ0lDQnlaWFIxY200Z2RIbHdaVzltSUhCMklEMDlJQ2R1ZFcxaVpYSW5JQ1ltSUNGcGMwWnBibWwwWlNod2Rpa2dQeUJ1ZFd4c0lEb2dUeTUwYjBsVFQxTjBjbWx1WnlncE8xeHVJQ0I5WEc1OUtUdGNiaUlzSW5aaGNpQlVUMTlRVWtsTlNWUkpWa1VnUFNCeVpYRjFhWEpsS0NjdUwxOTNhM01uS1NnbmRHOVFjbWx0YVhScGRtVW5LVHRjYm5aaGNpQndjbTkwYnlBOUlFUmhkR1V1Y0hKdmRHOTBlWEJsTzF4dVhHNXBaaUFvSVNoVVQxOVFVa2xOU1ZSSlZrVWdhVzRnY0hKdmRHOHBLU0J5WlhGMWFYSmxLQ2N1TDE5b2FXUmxKeWtvY0hKdmRHOHNJRlJQWDFCU1NVMUpWRWxXUlN3Z2NtVnhkV2x5WlNnbkxpOWZaR0YwWlMxMGJ5MXdjbWx0YVhScGRtVW5LU2s3WEc0aUxDSjJZWElnUkdGMFpWQnliM1J2SUQwZ1JHRjBaUzV3Y205MGIzUjVjR1U3WEc1MllYSWdTVTVXUVV4SlJGOUVRVlJGSUQwZ0owbHVkbUZzYVdRZ1JHRjBaU2M3WEc1MllYSWdWRTlmVTFSU1NVNUhJRDBnSjNSdlUzUnlhVzVuSnp0Y2JuWmhjaUFrZEc5VGRISnBibWNnUFNCRVlYUmxVSEp2ZEc5YlZFOWZVMVJTU1U1SFhUdGNiblpoY2lCblpYUlVhVzFsSUQwZ1JHRjBaVkJ5YjNSdkxtZGxkRlJwYldVN1hHNXBaaUFvYm1WM0lFUmhkR1VvVG1GT0tTQXJJQ2NuSUNFOUlFbE9Wa0ZNU1VSZlJFRlVSU2tnZTF4dUlDQnlaWEYxYVhKbEtDY3VMMTl5WldSbFptbHVaU2NwS0VSaGRHVlFjbTkwYnl3Z1ZFOWZVMVJTU1U1SExDQm1kVzVqZEdsdmJpQjBiMU4wY21sdVp5Z3BJSHRjYmlBZ0lDQjJZWElnZG1Gc2RXVWdQU0JuWlhSVWFXMWxMbU5oYkd3b2RHaHBjeWs3WEc0Z0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRzV2TFhObGJHWXRZMjl0Y0dGeVpWeHVJQ0FnSUhKbGRIVnliaUIyWVd4MVpTQTlQVDBnZG1Gc2RXVWdQeUFrZEc5VGRISnBibWN1WTJGc2JDaDBhR2x6S1NBNklFbE9Wa0ZNU1VSZlJFRlVSVHRjYmlBZ2ZTazdYRzU5WEc0aUxDSXZMeUF4T1M0eUxqTXVNaUF2SURFMUxqTXVOQzQxSUVaMWJtTjBhVzl1TG5CeWIzUnZkSGx3WlM1aWFXNWtLSFJvYVhOQmNtY3NJR0Z5WjNNdUxpNHBYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VUN3Z0owWjFibU4wYVc5dUp5d2dleUJpYVc1a09pQnlaWEYxYVhKbEtDY3VMMTlpYVc1a0p5a2dmU2s3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1MllYSWdhWE5QWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5cGN5MXZZbXBsWTNRbktUdGNiblpoY2lCblpYUlFjbTkwYjNSNWNHVlBaaUE5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxbmNHOG5LVHRjYm5aaGNpQklRVk5mU1U1VFZFRk9RMFVnUFNCeVpYRjFhWEpsS0NjdUwxOTNhM01uS1NnbmFHRnpTVzV6ZEdGdVkyVW5LVHRjYm5aaGNpQkdkVzVqZEdsdmJsQnliM1J2SUQwZ1JuVnVZM1JwYjI0dWNISnZkRzkwZVhCbE8xeHVMeThnTVRrdU1pNHpMallnUm5WdVkzUnBiMjR1Y0hKdmRHOTBlWEJsVzBCQWFHRnpTVzV6ZEdGdVkyVmRLRllwWEc1cFppQW9JU2hJUVZOZlNVNVRWRUZPUTBVZ2FXNGdSblZ1WTNScGIyNVFjbTkwYnlrcElISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMWtjQ2NwTG1Zb1JuVnVZM1JwYjI1UWNtOTBieXdnU0VGVFgwbE9VMVJCVGtORkxDQjdJSFpoYkhWbE9pQm1kVzVqZEdsdmJpQW9UeWtnZTF4dUlDQnBaaUFvZEhsd1pXOW1JSFJvYVhNZ0lUMGdKMloxYm1OMGFXOXVKeUI4ZkNBaGFYTlBZbXBsWTNRb1R5a3BJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdhV1lnS0NGcGMwOWlhbVZqZENoMGFHbHpMbkJ5YjNSdmRIbHdaU2twSUhKbGRIVnliaUJQSUdsdWMzUmhibU5sYjJZZ2RHaHBjenRjYmlBZ0x5OGdabTl5SUdWdWRtbHliMjV0Wlc1MElIY3ZieUJ1WVhScGRtVWdZRUJBYUdGelNXNXpkR0Z1WTJWZ0lHeHZaMmxqSUdWdWIzVm5hQ0JnYVc1emRHRnVZMlZ2Wm1Bc0lHSjFkQ0JoWkdRZ2RHaHBjenBjYmlBZ2QyaHBiR1VnS0U4Z1BTQm5aWFJRY205MGIzUjVjR1ZQWmloUEtTa2dhV1lnS0hSb2FYTXVjSEp2ZEc5MGVYQmxJRDA5UFNCUEtTQnlaWFIxY200Z2RISjFaVHRjYmlBZ2NtVjBkWEp1SUdaaGJITmxPMXh1ZlNCOUtUdGNiaUlzSW5aaGNpQmtVQ0E5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxa2NDY3BMbVk3WEc1MllYSWdSbEJ5YjNSdklEMGdSblZ1WTNScGIyNHVjSEp2ZEc5MGVYQmxPMXh1ZG1GeUlHNWhiV1ZTUlNBOUlDOWVYRnh6S21aMWJtTjBhVzl1SUNoYlhpQW9YU29wTHp0Y2JuWmhjaUJPUVUxRklEMGdKMjVoYldVbk8xeHVYRzR2THlBeE9TNHlMalF1TWlCdVlXMWxYRzVPUVUxRklHbHVJRVpRY205MGJ5QjhmQ0J5WlhGMWFYSmxLQ2N1TDE5a1pYTmpjbWx3ZEc5eWN5Y3BJQ1ltSUdSUUtFWlFjbTkwYnl3Z1RrRk5SU3dnZTF4dUlDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVXNYRzRnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnS0NjbklDc2dkR2hwY3lrdWJXRjBZMmdvYm1GdFpWSkZLVnN4WFR0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnSnljN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5S1R0Y2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JuWmhjaUJ6ZEhKdmJtY2dQU0J5WlhGMWFYSmxLQ2N1TDE5amIyeHNaV04wYVc5dUxYTjBjbTl1WnljcE8xeHVkbUZ5SUhaaGJHbGtZWFJsSUQwZ2NtVnhkV2x5WlNnbkxpOWZkbUZzYVdSaGRHVXRZMjlzYkdWamRHbHZiaWNwTzF4dWRtRnlJRTFCVUNBOUlDZE5ZWEFuTzF4dVhHNHZMeUF5TXk0eElFMWhjQ0JQWW1wbFkzUnpYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJSEpsY1hWcGNtVW9KeTR2WDJOdmJHeGxZM1JwYjI0bktTaE5RVkFzSUdaMWJtTjBhVzl1SUNoblpYUXBJSHRjYmlBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUUxaGNDZ3BJSHNnY21WMGRYSnVJR2RsZENoMGFHbHpMQ0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTUNBL0lHRnlaM1Z0Wlc1MGMxc3dYU0E2SUhWdVpHVm1hVzVsWkNrN0lIMDdYRzU5TENCN1hHNGdJQzh2SURJekxqRXVNeTQySUUxaGNDNXdjbTkwYjNSNWNHVXVaMlYwS0d0bGVTbGNiaUFnWjJWME9pQm1kVzVqZEdsdmJpQm5aWFFvYTJWNUtTQjdYRzRnSUNBZ2RtRnlJR1Z1ZEhKNUlEMGdjM1J5YjI1bkxtZGxkRVZ1ZEhKNUtIWmhiR2xrWVhSbEtIUm9hWE1zSUUxQlVDa3NJR3RsZVNrN1hHNGdJQ0FnY21WMGRYSnVJR1Z1ZEhKNUlDWW1JR1Z1ZEhKNUxuWTdYRzRnSUgwc1hHNGdJQzh2SURJekxqRXVNeTQ1SUUxaGNDNXdjbTkwYjNSNWNHVXVjMlYwS0d0bGVTd2dkbUZzZFdVcFhHNGdJSE5sZERvZ1puVnVZM1JwYjI0Z2MyVjBLR3RsZVN3Z2RtRnNkV1VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdjM1J5YjI1bkxtUmxaaWgyWVd4cFpHRjBaU2gwYUdsekxDQk5RVkFwTENCclpYa2dQVDA5SURBZ1B5QXdJRG9nYTJWNUxDQjJZV3gxWlNrN1hHNGdJSDFjYm4wc0lITjBjbTl1Wnl3Z2RISjFaU2s3WEc0aUxDSXZMeUF5TUM0eUxqSXVNeUJOWVhSb0xtRmpiM05vS0hncFhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUd4dlp6RndJRDBnY21WeGRXbHlaU2duTGk5ZmJXRjBhQzFzYjJjeGNDY3BPMXh1ZG1GeUlITnhjblFnUFNCTllYUm9Mbk54Y25RN1hHNTJZWElnSkdGamIzTm9JRDBnVFdGMGFDNWhZMjl6YUR0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsTWdLeUFrWlhod2IzSjBMa1lnS2lBaEtDUmhZMjl6YUZ4dUlDQXZMeUJXT0NCaWRXYzZJR2gwZEhCek9pOHZZMjlrWlM1bmIyOW5iR1V1WTI5dEwzQXZkamd2YVhOemRXVnpMMlJsZEdGcGJEOXBaRDB6TlRBNVhHNGdJQ1ltSUUxaGRHZ3VabXh2YjNJb0pHRmpiM05vS0U1MWJXSmxjaTVOUVZoZlZrRk1WVVVwS1NBOVBTQTNNVEJjYmlBZ0x5OGdWRzl5SUVKeWIzZHpaWElnWW5Wbk9pQk5ZWFJvTG1GamIzTm9LRWx1Wm1sdWFYUjVLU0F0UGlCT1lVNWNiaUFnSmlZZ0pHRmpiM05vS0VsdVptbHVhWFI1S1NBOVBTQkpibVpwYm1sMGVWeHVLU3dnSjAxaGRHZ25MQ0I3WEc0Z0lHRmpiM05vT2lCbWRXNWpkR2x2YmlCaFkyOXphQ2g0S1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2g0SUQwZ0szZ3BJRHdnTVNBL0lFNWhUaUE2SUhnZ1BpQTVORGt3TmpJMk5TNDJNalF5TlRFMU5seHVJQ0FnSUNBZ1B5Qk5ZWFJvTG14dlp5aDRLU0FySUUxaGRHZ3VURTR5WEc0Z0lDQWdJQ0E2SUd4dlp6RndLSGdnTFNBeElDc2djM0Z5ZENoNElDMGdNU2tnS2lCemNYSjBLSGdnS3lBeEtTazdYRzRnSUgxY2JuMHBPMXh1SWl3aUx5OGdNakF1TWk0eUxqVWdUV0YwYUM1aGMybHVhQ2g0S1Z4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUFrWVhOcGJtZ2dQU0JOWVhSb0xtRnphVzVvTzF4dVhHNW1kVzVqZEdsdmJpQmhjMmx1YUNoNEtTQjdYRzRnSUhKbGRIVnliaUFoYVhOR2FXNXBkR1VvZUNBOUlDdDRLU0I4ZkNCNElEMDlJREFnUHlCNElEb2dlQ0E4SURBZ1B5QXRZWE5wYm1nb0xYZ3BJRG9nVFdGMGFDNXNiMmNvZUNBcklFMWhkR2d1YzNGeWRDaDRJQ29nZUNBcklERXBLVHRjYm4xY2JseHVMeThnVkc5eUlFSnliM2R6WlhJZ1luVm5PaUJOWVhSb0xtRnphVzVvS0RBcElDMCtJQzB3WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VXlBcklDUmxlSEJ2Y25RdVJpQXFJQ0VvSkdGemFXNW9JQ1ltSURFZ0x5QWtZWE5wYm1nb01Da2dQaUF3S1N3Z0owMWhkR2duTENCN0lHRnphVzVvT2lCaGMybHVhQ0I5S1R0Y2JpSXNJaTh2SURJd0xqSXVNaTQzSUUxaGRHZ3VZWFJoYm1nb2VDbGNiblpoY2lBa1pYaHdiM0owSUQwZ2NtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5azdYRzUyWVhJZ0pHRjBZVzVvSUQwZ1RXRjBhQzVoZEdGdWFEdGNibHh1THk4Z1ZHOXlJRUp5YjNkelpYSWdZblZuT2lCTllYUm9MbUYwWVc1b0tDMHdLU0F0UGlBd1hHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5QXJJQ1JsZUhCdmNuUXVSaUFxSUNFb0pHRjBZVzVvSUNZbUlERWdMeUFrWVhSaGJtZ29MVEFwSUR3Z01Da3NJQ2ROWVhSb0p5d2dlMXh1SUNCaGRHRnVhRG9nWm5WdVkzUnBiMjRnWVhSaGJtZ29lQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQW9lQ0E5SUN0NEtTQTlQU0F3SUQ4Z2VDQTZJRTFoZEdndWJHOW5LQ2d4SUNzZ2VDa2dMeUFvTVNBdElIZ3BLU0F2SURJN1hHNGdJSDFjYm4wcE8xeHVJaXdpTHk4Z01qQXVNaTR5TGprZ1RXRjBhQzVqWW5KMEtIZ3BYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlITnBaMjRnUFNCeVpYRjFhWEpsS0NjdUwxOXRZWFJvTFhOcFoyNG5LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxNc0lDZE5ZWFJvSnl3Z2UxeHVJQ0JqWW5KME9pQm1kVzVqZEdsdmJpQmpZbkowS0hncElIdGNiaUFnSUNCeVpYUjFjbTRnYzJsbmJpaDRJRDBnSzNncElDb2dUV0YwYUM1d2IzY29UV0YwYUM1aFluTW9lQ2tzSURFZ0x5QXpLVHRjYmlBZ2ZWeHVmU2s3WEc0aUxDSXZMeUF5TUM0eUxqSXVNVEVnVFdGMGFDNWpiSG96TWloNEtWeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1zSUNkTllYUm9KeXdnZTF4dUlDQmpiSG96TWpvZ1puVnVZM1JwYjI0Z1kyeDZNeklvZUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUFvZUNBK1BqNDlJREFwSUQ4Z016RWdMU0JOWVhSb0xtWnNiMjl5S0UxaGRHZ3ViRzluS0hnZ0t5QXdMalVwSUNvZ1RXRjBhQzVNVDBjeVJTa2dPaUF6TWp0Y2JpQWdmVnh1ZlNrN1hHNGlMQ0l2THlBeU1DNHlMakl1TVRJZ1RXRjBhQzVqYjNOb0tIZ3BYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlHVjRjQ0E5SUUxaGRHZ3VaWGh3TzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5d2dKMDFoZEdnbkxDQjdYRzRnSUdOdmMyZzZJR1oxYm1OMGFXOXVJR052YzJnb2VDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb1pYaHdLSGdnUFNBcmVDa2dLeUJsZUhBb0xYZ3BLU0F2SURJN1hHNGdJSDFjYm4wcE8xeHVJaXdpTHk4Z01qQXVNaTR5TGpFMElFMWhkR2d1Wlhod2JURW9lQ2xjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdKR1Y0Y0cweElEMGdjbVZ4ZFdseVpTZ25MaTlmYldGMGFDMWxlSEJ0TVNjcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeUFySUNSbGVIQnZjblF1UmlBcUlDZ2taWGh3YlRFZ0lUMGdUV0YwYUM1bGVIQnRNU2tzSUNkTllYUm9KeXdnZXlCbGVIQnRNVG9nSkdWNGNHMHhJSDBwTzF4dUlpd2lMeThnTWpBdU1pNHlMakUySUUxaGRHZ3Vabkp2ZFc1a0tIZ3BYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VXl3Z0owMWhkR2duTENCN0lHWnliM1Z1WkRvZ2NtVnhkV2x5WlNnbkxpOWZiV0YwYUMxbWNtOTFibVFuS1NCOUtUdGNiaUlzSWk4dklESXdMakl1TWk0eE55Qk5ZWFJvTG1oNWNHOTBLRnQyWVd4MVpURmJMQ0IyWVd4MVpUSmJMQ0RpZ0tZZ1hWMWRLVnh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQmhZbk1nUFNCTllYUm9MbUZpY3p0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsTXNJQ2ROWVhSb0p5d2dlMXh1SUNCb2VYQnZkRG9nWm5WdVkzUnBiMjRnYUhsd2IzUW9kbUZzZFdVeExDQjJZV3gxWlRJcElIc2dMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdWJ5MTFiblZ6WldRdGRtRnljMXh1SUNBZ0lIWmhjaUJ6ZFcwZ1BTQXdPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCMllYSWdZVXhsYmlBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlHeGhjbWNnUFNBd08xeHVJQ0FnSUhaaGNpQmhjbWNzSUdScGRqdGNiaUFnSUNCM2FHbHNaU0FvYVNBOElHRk1aVzRwSUh0Y2JpQWdJQ0FnSUdGeVp5QTlJR0ZpY3loaGNtZDFiV1Z1ZEhOYmFTc3JYU2s3WEc0Z0lDQWdJQ0JwWmlBb2JHRnlaeUE4SUdGeVp5a2dlMXh1SUNBZ0lDQWdJQ0JrYVhZZ1BTQnNZWEpuSUM4Z1lYSm5PMXh1SUNBZ0lDQWdJQ0J6ZFcwZ1BTQnpkVzBnS2lCa2FYWWdLaUJrYVhZZ0t5QXhPMXh1SUNBZ0lDQWdJQ0JzWVhKbklEMGdZWEpuTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaGNtY2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHUnBkaUE5SUdGeVp5QXZJR3hoY21jN1hHNGdJQ0FnSUNBZ0lITjFiU0FyUFNCa2FYWWdLaUJrYVhZN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYzNWdElDczlJR0Z5Wnp0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHeGhjbWNnUFQwOUlFbHVabWx1YVhSNUlEOGdTVzVtYVc1cGRIa2dPaUJzWVhKbklDb2dUV0YwYUM1emNYSjBLSE4xYlNrN1hHNGdJSDFjYm4wcE8xeHVJaXdpTHk4Z01qQXVNaTR5TGpFNElFMWhkR2d1YVcxMWJDaDRMQ0I1S1Z4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUFrYVcxMWJDQTlJRTFoZEdndWFXMTFiRHRjYmx4dUx5OGdjMjl0WlNCWFpXSkxhWFFnZG1WeWMybHZibk1nWm1GcGJITWdkMmwwYUNCaWFXY2diblZ0WW1WeWN5d2djMjl0WlNCb1lYTWdkM0p2Ym1jZ1lYSnBkSGxjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUSUNzZ0pHVjRjRzl5ZEM1R0lDb2djbVZ4ZFdseVpTZ25MaTlmWm1GcGJITW5LU2htZFc1amRHbHZiaUFvS1NCN1hHNGdJSEpsZEhWeWJpQWthVzExYkNnd2VHWm1abVptWm1abUxDQTFLU0FoUFNBdE5TQjhmQ0FrYVcxMWJDNXNaVzVuZEdnZ0lUMGdNanRjYm4wcExDQW5UV0YwYUNjc0lIdGNiaUFnYVcxMWJEb2dablZ1WTNScGIyNGdhVzExYkNoNExDQjVLU0I3WEc0Z0lDQWdkbUZ5SUZWSlRsUXhOaUE5SURCNFptWm1aanRjYmlBZ0lDQjJZWElnZUc0Z1BTQXJlRHRjYmlBZ0lDQjJZWElnZVc0Z1BTQXJlVHRjYmlBZ0lDQjJZWElnZUd3Z1BTQlZTVTVVTVRZZ0ppQjRianRjYmlBZ0lDQjJZWElnZVd3Z1BTQlZTVTVVTVRZZ0ppQjVianRjYmlBZ0lDQnlaWFIxY200Z01DQjhJSGhzSUNvZ2VXd2dLeUFvS0ZWSlRsUXhOaUFtSUhodUlENCtQaUF4TmlrZ0tpQjViQ0FySUhoc0lDb2dLRlZKVGxReE5pQW1JSGx1SUQ0K1BpQXhOaWtnUER3Z01UWWdQajQrSURBcE8xeHVJQ0I5WEc1OUtUdGNiaUlzSWk4dklESXdMakl1TWk0eU1TQk5ZWFJvTG14dlp6RXdLSGdwWEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5d2dKMDFoZEdnbkxDQjdYRzRnSUd4dlp6RXdPaUJtZFc1amRHbHZiaUJzYjJjeE1DaDRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlFMWhkR2d1Ykc5bktIZ3BJQ29nVFdGMGFDNU1UMGN4TUVVN1hHNGdJSDFjYm4wcE8xeHVJaXdpTHk4Z01qQXVNaTR5TGpJd0lFMWhkR2d1Ykc5bk1YQW9lQ2xjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VExDQW5UV0YwYUNjc0lIc2diRzluTVhBNklISmxjWFZwY21Vb0p5NHZYMjFoZEdndGJHOW5NWEFuS1NCOUtUdGNiaUlzSWk4dklESXdMakl1TWk0eU1pQk5ZWFJvTG14dlp6SW9lQ2xjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VExDQW5UV0YwYUNjc0lIdGNiaUFnYkc5bk1qb2dablZ1WTNScGIyNGdiRzluTWloNEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUUxaGRHZ3ViRzluS0hncElDOGdUV0YwYUM1TVRqSTdYRzRnSUgxY2JuMHBPMXh1SWl3aUx5OGdNakF1TWk0eUxqSTRJRTFoZEdndWMybG5iaWg0S1Z4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsTXNJQ2ROWVhSb0p5d2dleUJ6YVdkdU9pQnlaWEYxYVhKbEtDY3VMMTl0WVhSb0xYTnBaMjRuS1NCOUtUdGNiaUlzSWk4dklESXdMakl1TWk0ek1DQk5ZWFJvTG5OcGJtZ29lQ2xjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdaWGh3YlRFZ1BTQnlaWEYxYVhKbEtDY3VMMTl0WVhSb0xXVjRjRzB4SnlrN1hHNTJZWElnWlhod0lEMGdUV0YwYUM1bGVIQTdYRzVjYmk4dklGWTRJRzVsWVhJZ1EyaHliMjFwZFcwZ016Z2dhR0Z6SUdFZ2NISnZZbXhsYlNCM2FYUm9JSFpsY25rZ2MyMWhiR3dnYm5WdFltVnljMXh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1nS3lBa1pYaHdiM0owTGtZZ0tpQnlaWEYxYVhKbEtDY3VMMTltWVdsc2N5Y3BLR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdjbVYwZFhKdUlDRk5ZWFJvTG5OcGJtZ29MVEpsTFRFM0tTQWhQU0F0TW1VdE1UYzdYRzU5S1N3Z0owMWhkR2duTENCN1hHNGdJSE5wYm1nNklHWjFibU4wYVc5dUlITnBibWdvZUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtRmljeWg0SUQwZ0szZ3BJRHdnTVZ4dUlDQWdJQ0FnUHlBb1pYaHdiVEVvZUNrZ0xTQmxlSEJ0TVNndGVDa3BJQzhnTWx4dUlDQWdJQ0FnT2lBb1pYaHdLSGdnTFNBeEtTQXRJR1Y0Y0NndGVDQXRJREVwS1NBcUlDaE5ZWFJvTGtVZ0x5QXlLVHRjYmlBZ2ZWeHVmU2s3WEc0aUxDSXZMeUF5TUM0eUxqSXVNek1nVFdGMGFDNTBZVzVvS0hncFhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUdWNGNHMHhJRDBnY21WeGRXbHlaU2duTGk5ZmJXRjBhQzFsZUhCdE1TY3BPMXh1ZG1GeUlHVjRjQ0E5SUUxaGRHZ3VaWGh3TzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5d2dKMDFoZEdnbkxDQjdYRzRnSUhSaGJtZzZJR1oxYm1OMGFXOXVJSFJoYm1nb2VDa2dlMXh1SUNBZ0lIWmhjaUJoSUQwZ1pYaHdiVEVvZUNBOUlDdDRLVHRjYmlBZ0lDQjJZWElnWWlBOUlHVjRjRzB4S0MxNEtUdGNiaUFnSUNCeVpYUjFjbTRnWVNBOVBTQkpibVpwYm1sMGVTQS9JREVnT2lCaUlEMDlJRWx1Wm1sdWFYUjVJRDhnTFRFZ09pQW9ZU0F0SUdJcElDOGdLR1Y0Y0NoNEtTQXJJR1Y0Y0NndGVDa3BPMXh1SUNCOVhHNTlLVHRjYmlJc0lpOHZJREl3TGpJdU1pNHpOQ0JOWVhSb0xuUnlkVzVqS0hncFhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeXdnSjAxaGRHZ25MQ0I3WEc0Z0lIUnlkVzVqT2lCbWRXNWpkR2x2YmlCMGNuVnVZeWhwZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUFvYVhRZ1BpQXdJRDhnVFdGMGFDNW1iRzl2Y2lBNklFMWhkR2d1WTJWcGJDa29hWFFwTzF4dUlDQjlYRzU5S1R0Y2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JuWmhjaUJuYkc5aVlXd2dQU0J5WlhGMWFYSmxLQ2N1TDE5bmJHOWlZV3duS1R0Y2JuWmhjaUJvWVhNZ1BTQnlaWEYxYVhKbEtDY3VMMTlvWVhNbktUdGNiblpoY2lCamIyWWdQU0J5WlhGMWFYSmxLQ2N1TDE5amIyWW5LVHRjYm5aaGNpQnBibWhsY21sMFNXWlNaWEYxYVhKbFpDQTlJSEpsY1hWcGNtVW9KeTR2WDJsdWFHVnlhWFF0YVdZdGNtVnhkV2x5WldRbktUdGNiblpoY2lCMGIxQnlhVzFwZEdsMlpTQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxYQnlhVzFwZEdsMlpTY3BPMXh1ZG1GeUlHWmhhV3h6SUQwZ2NtVnhkV2x5WlNnbkxpOWZabUZwYkhNbktUdGNiblpoY2lCblQxQk9JRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdkdmNHNG5LUzVtTzF4dWRtRnlJR2RQVUVRZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRaMjl3WkNjcExtWTdYRzUyWVhJZ1pGQWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WkhBbktTNW1PMXh1ZG1GeUlDUjBjbWx0SUQwZ2NtVnhkV2x5WlNnbkxpOWZjM1J5YVc1bkxYUnlhVzBuS1M1MGNtbHRPMXh1ZG1GeUlFNVZUVUpGVWlBOUlDZE9kVzFpWlhJbk8xeHVkbUZ5SUNST2RXMWlaWElnUFNCbmJHOWlZV3hiVGxWTlFrVlNYVHRjYm5aaGNpQkNZWE5sSUQwZ0pFNTFiV0psY2p0Y2JuWmhjaUJ3Y205MGJ5QTlJQ1JPZFcxaVpYSXVjSEp2ZEc5MGVYQmxPMXh1THk4Z1QzQmxjbUVnZmpFeUlHaGhjeUJpY205clpXNGdUMkpxWldOMEkzUnZVM1J5YVc1blhHNTJZWElnUWxKUFMwVk9YME5QUmlBOUlHTnZaaWh5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WTNKbFlYUmxKeWtvY0hKdmRHOHBLU0E5UFNCT1ZVMUNSVkk3WEc1MllYSWdWRkpKVFNBOUlDZDBjbWx0SnlCcGJpQlRkSEpwYm1jdWNISnZkRzkwZVhCbE8xeHVYRzR2THlBM0xqRXVNeUJVYjA1MWJXSmxjaWhoY21kMWJXVnVkQ2xjYm5aaGNpQjBiMDUxYldKbGNpQTlJR1oxYm1OMGFXOXVJQ2hoY21kMWJXVnVkQ2tnZTF4dUlDQjJZWElnYVhRZ1BTQjBiMUJ5YVcxcGRHbDJaU2hoY21kMWJXVnVkQ3dnWm1Gc2MyVXBPMXh1SUNCcFppQW9kSGx3Wlc5bUlHbDBJRDA5SUNkemRISnBibWNuSUNZbUlHbDBMbXhsYm1kMGFDQStJRElwSUh0Y2JpQWdJQ0JwZENBOUlGUlNTVTBnUHlCcGRDNTBjbWx0S0NrZ09pQWtkSEpwYlNocGRDd2dNeWs3WEc0Z0lDQWdkbUZ5SUdacGNuTjBJRDBnYVhRdVkyaGhja052WkdWQmRDZ3dLVHRjYmlBZ0lDQjJZWElnZEdocGNtUXNJSEpoWkdsNExDQnRZWGhEYjJSbE8xeHVJQ0FnSUdsbUlDaG1hWEp6ZENBOVBUMGdORE1nZkh3Z1ptbHljM1FnUFQwOUlEUTFLU0I3WEc0Z0lDQWdJQ0IwYUdseVpDQTlJR2wwTG1Ob1lYSkRiMlJsUVhRb01pazdYRzRnSUNBZ0lDQnBaaUFvZEdocGNtUWdQVDA5SURnNElIeDhJSFJvYVhKa0lEMDlQU0F4TWpBcElISmxkSFZ5YmlCT1lVNDdJQzh2SUU1MWJXSmxjaWduS3pCNE1TY3BJSE5vYjNWc1pDQmlaU0JPWVU0c0lHOXNaQ0JXT0NCbWFYaGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHWnBjbk4wSUQwOVBTQTBPQ2tnZTF4dUlDQWdJQ0FnYzNkcGRHTm9JQ2hwZEM1amFHRnlRMjlrWlVGMEtERXBLU0I3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdOalk2SUdOaGMyVWdPVGc2SUhKaFpHbDRJRDBnTWpzZ2JXRjRRMjlrWlNBOUlEUTVPeUJpY21WaGF6c2dMeThnWm1GemRDQmxjWFZoYkNBdlhqQmlXekF4WFNza0wybGNiaUFnSUNBZ0lDQWdZMkZ6WlNBM09Ub2dZMkZ6WlNBeE1URTZJSEpoWkdsNElEMGdPRHNnYldGNFEyOWtaU0E5SURVMU95QmljbVZoYXpzZ0x5OGdabUZ6ZENCbGNYVmhiQ0F2WGpCdld6QXROMTBySkM5cFhHNGdJQ0FnSUNBZ0lHUmxabUYxYkhRNklISmxkSFZ5YmlBcmFYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQmthV2RwZEhNZ1BTQnBkQzV6YkdsalpTZ3lLU3dnYVNBOUlEQXNJR3dnUFNCa2FXZHBkSE11YkdWdVozUm9MQ0JqYjJSbE95QnBJRHdnYkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdOdlpHVWdQU0JrYVdkcGRITXVZMmhoY2tOdlpHVkJkQ2hwS1R0Y2JpQWdJQ0FnSUNBZ0x5OGdjR0Z5YzJWSmJuUWdjR0Z5YzJWeklHRWdjM1J5YVc1bklIUnZJR0VnWm1seWMzUWdkVzVoZG1GcGJHRmliR1VnYzNsdFltOXNYRzRnSUNBZ0lDQWdJQzh2SUdKMWRDQlViMDUxYldKbGNpQnphRzkxYkdRZ2NtVjBkWEp1SUU1aFRpQnBaaUJoSUhOMGNtbHVaeUJqYjI1MFlXbHVjeUIxYm1GMllXbHNZV0pzWlNCemVXMWliMnh6WEc0Z0lDQWdJQ0FnSUdsbUlDaGpiMlJsSUR3Z05EZ2dmSHdnWTI5a1pTQStJRzFoZUVOdlpHVXBJSEpsZEhWeWJpQk9ZVTQ3WEc0Z0lDQWdJQ0I5SUhKbGRIVnliaUJ3WVhKelpVbHVkQ2hrYVdkcGRITXNJSEpoWkdsNEtUdGNiaUFnSUNCOVhHNGdJSDBnY21WMGRYSnVJQ3RwZER0Y2JuMDdYRzVjYm1sbUlDZ2hKRTUxYldKbGNpZ25JREJ2TVNjcElIeDhJQ0VrVG5WdFltVnlLQ2N3WWpFbktTQjhmQ0FrVG5WdFltVnlLQ2NyTUhneEp5a3BJSHRjYmlBZ0pFNTFiV0psY2lBOUlHWjFibU4wYVc5dUlFNTFiV0psY2loMllXeDFaU2tnZTF4dUlDQWdJSFpoY2lCcGRDQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQQ0F4SUQ4Z01DQTZJSFpoYkhWbE8xeHVJQ0FnSUhaaGNpQjBhR0YwSUQwZ2RHaHBjenRjYmlBZ0lDQnlaWFIxY200Z2RHaGhkQ0JwYm5OMFlXNWpaVzltSUNST2RXMWlaWEpjYmlBZ0lDQWdJQzh2SUdOb1pXTnJJRzl1SURFdUxtTnZibk4wY25WamRHOXlLR1p2YnlrZ1kyRnpaVnh1SUNBZ0lDQWdKaVlnS0VKU1QwdEZUbDlEVDBZZ1B5Qm1ZV2xzY3lobWRXNWpkR2x2YmlBb0tTQjdJSEJ5YjNSdkxuWmhiSFZsVDJZdVkyRnNiQ2gwYUdGMEtUc2dmU2tnT2lCamIyWW9kR2hoZENrZ0lUMGdUbFZOUWtWU0tWeHVJQ0FnSUNBZ0lDQS9JR2x1YUdWeWFYUkpabEpsY1hWcGNtVmtLRzVsZHlCQ1lYTmxLSFJ2VG5WdFltVnlLR2wwS1Nrc0lIUm9ZWFFzSUNST2RXMWlaWElwSURvZ2RHOU9kVzFpWlhJb2FYUXBPMXh1SUNCOU8xeHVJQ0JtYjNJZ0tIWmhjaUJyWlhseklEMGdjbVZ4ZFdseVpTZ25MaTlmWkdWelkzSnBjSFJ2Y25NbktTQS9JR2RQVUU0b1FtRnpaU2tnT2lBb1hHNGdJQ0FnTHk4Z1JWTXpPbHh1SUNBZ0lDZE5RVmhmVmtGTVZVVXNUVWxPWDFaQlRGVkZMRTVoVGl4T1JVZEJWRWxXUlY5SlRrWkpUa2xVV1N4UVQxTkpWRWxXUlY5SlRrWkpUa2xVV1N3bklDdGNiaUFnSUNBdkx5QkZVellnS0dsdUlHTmhjMlVzSUdsbUlHMXZaSFZzWlhNZ2QybDBhQ0JGVXpZZ1RuVnRZbVZ5SUhOMFlYUnBZM01nY21WeGRXbHlaV1FnWW1WbWIzSmxLVHBjYmlBZ0lDQW5SVkJUU1V4UFRpeHBjMFpwYm1sMFpTeHBjMGx1ZEdWblpYSXNhWE5PWVU0c2FYTlRZV1psU1c1MFpXZGxjaXhOUVZoZlUwRkdSVjlKVGxSRlIwVlNMQ2NnSzF4dUlDQWdJQ2ROU1U1ZlUwRkdSVjlKVGxSRlIwVlNMSEJoY25ObFJteHZZWFFzY0dGeWMyVkpiblFzYVhOSmJuUmxaMlZ5SjF4dUlDQXBMbk53YkdsMEtDY3NKeWtzSUdvZ1BTQXdMQ0JyWlhrN0lHdGxlWE11YkdWdVozUm9JRDRnYWpzZ2Fpc3JLU0I3WEc0Z0lDQWdhV1lnS0doaGN5aENZWE5sTENCclpYa2dQU0JyWlhselcycGRLU0FtSmlBaGFHRnpLQ1JPZFcxaVpYSXNJR3RsZVNrcElIdGNiaUFnSUNBZ0lHUlFLQ1JPZFcxaVpYSXNJR3RsZVN3Z1owOVFSQ2hDWVhObExDQnJaWGtwS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNiaUFnSkU1MWJXSmxjaTV3Y205MGIzUjVjR1VnUFNCd2NtOTBienRjYmlBZ2NISnZkRzh1WTI5dWMzUnlkV04wYjNJZ1BTQWtUblZ0WW1WeU8xeHVJQ0J5WlhGMWFYSmxLQ2N1TDE5eVpXUmxabWx1WlNjcEtHZHNiMkpoYkN3Z1RsVk5Ra1ZTTENBa1RuVnRZbVZ5S1R0Y2JuMWNiaUlzSWk4dklESXdMakV1TWk0eElFNTFiV0psY2k1RlVGTkpURTlPWEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5d2dKMDUxYldKbGNpY3NJSHNnUlZCVFNVeFBUam9nVFdGMGFDNXdiM2NvTWl3Z0xUVXlLU0I5S1R0Y2JpSXNJaTh2SURJd0xqRXVNaTR5SUU1MWJXSmxjaTVwYzBacGJtbDBaU2h1ZFcxaVpYSXBYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlGOXBjMFpwYm1sMFpTQTlJSEpsY1hWcGNtVW9KeTR2WDJkc2IySmhiQ2NwTG1selJtbHVhWFJsTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5d2dKMDUxYldKbGNpY3NJSHRjYmlBZ2FYTkdhVzVwZEdVNklHWjFibU4wYVc5dUlHbHpSbWx1YVhSbEtHbDBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCcGRDQTlQU0FuYm5WdFltVnlKeUFtSmlCZmFYTkdhVzVwZEdVb2FYUXBPMXh1SUNCOVhHNTlLVHRjYmlJc0lpOHZJREl3TGpFdU1pNHpJRTUxYldKbGNpNXBjMGx1ZEdWblpYSW9iblZ0WW1WeUtWeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1zSUNkT2RXMWlaWEluTENCN0lHbHpTVzUwWldkbGNqb2djbVZ4ZFdseVpTZ25MaTlmYVhNdGFXNTBaV2RsY2ljcElIMHBPMXh1SWl3aUx5OGdNakF1TVM0eUxqUWdUblZ0WW1WeUxtbHpUbUZPS0c1MWJXSmxjaWxjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VExDQW5UblZ0WW1WeUp5d2dlMXh1SUNCcGMwNWhUam9nWm5WdVkzUnBiMjRnYVhOT1lVNG9iblZ0WW1WeUtTQjdYRzRnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElHNXZMWE5sYkdZdFkyOXRjR0Z5WlZ4dUlDQWdJSEpsZEhWeWJpQnVkVzFpWlhJZ0lUMGdiblZ0WW1WeU8xeHVJQ0I5WEc1OUtUdGNiaUlzSWk4dklESXdMakV1TWk0MUlFNTFiV0psY2k1cGMxTmhabVZKYm5SbFoyVnlLRzUxYldKbGNpbGNiblpoY2lBa1pYaHdiM0owSUQwZ2NtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5azdYRzUyWVhJZ2FYTkpiblJsWjJWeUlEMGdjbVZ4ZFdseVpTZ25MaTlmYVhNdGFXNTBaV2RsY2ljcE8xeHVkbUZ5SUdGaWN5QTlJRTFoZEdndVlXSnpPMXh1WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VXl3Z0owNTFiV0psY2ljc0lIdGNiaUFnYVhOVFlXWmxTVzUwWldkbGNqb2dablZ1WTNScGIyNGdhWE5UWVdabFNXNTBaV2RsY2lodWRXMWlaWElwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdhWE5KYm5SbFoyVnlLRzUxYldKbGNpa2dKaVlnWVdKektHNTFiV0psY2lrZ1BEMGdNSGd4Wm1abVptWm1abVptWm1abVpqdGNiaUFnZlZ4dWZTazdYRzRpTENJdkx5QXlNQzR4TGpJdU5pQk9kVzFpWlhJdVRVRllYMU5CUmtWZlNVNVVSVWRGVWx4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsTXNJQ2RPZFcxaVpYSW5MQ0I3SUUxQldGOVRRVVpGWDBsT1ZFVkhSVkk2SURCNE1XWm1abVptWm1abVptWm1abVlnZlNrN1hHNGlMQ0l2THlBeU1DNHhMakl1TVRBZ1RuVnRZbVZ5TGsxSlRsOVRRVVpGWDBsT1ZFVkhSVkpjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VExDQW5UblZ0WW1WeUp5d2dleUJOU1U1ZlUwRkdSVjlKVGxSRlIwVlNPaUF0TUhneFptWm1abVptWm1abVptWm1aaUI5S1R0Y2JpSXNJblpoY2lBa1pYaHdiM0owSUQwZ2NtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5azdYRzUyWVhJZ0pIQmhjbk5sUm14dllYUWdQU0J5WlhGMWFYSmxLQ2N1TDE5d1lYSnpaUzFtYkc5aGRDY3BPMXh1THk4Z01qQXVNUzR5TGpFeUlFNTFiV0psY2k1d1lYSnpaVVpzYjJGMEtITjBjbWx1WnlsY2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VElDc2dKR1Y0Y0c5eWRDNUdJQ29nS0U1MWJXSmxjaTV3WVhKelpVWnNiMkYwSUNFOUlDUndZWEp6WlVac2IyRjBLU3dnSjA1MWJXSmxjaWNzSUhzZ2NHRnljMlZHYkc5aGREb2dKSEJoY25ObFJteHZZWFFnZlNrN1hHNGlMQ0oyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlDUndZWEp6WlVsdWRDQTlJSEpsY1hWcGNtVW9KeTR2WDNCaGNuTmxMV2x1ZENjcE8xeHVMeThnTWpBdU1TNHlMakV6SUU1MWJXSmxjaTV3WVhKelpVbHVkQ2h6ZEhKcGJtY3NJSEpoWkdsNEtWeHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsTWdLeUFrWlhod2IzSjBMa1lnS2lBb1RuVnRZbVZ5TG5CaGNuTmxTVzUwSUNFOUlDUndZWEp6WlVsdWRDa3NJQ2RPZFcxaVpYSW5MQ0I3SUhCaGNuTmxTVzUwT2lBa2NHRnljMlZKYm5RZ2ZTazdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlIUnZTVzUwWldkbGNpQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxXbHVkR1ZuWlhJbktUdGNiblpoY2lCaFRuVnRZbVZ5Vm1Gc2RXVWdQU0J5WlhGMWFYSmxLQ2N1TDE5aExXNTFiV0psY2kxMllXeDFaU2NwTzF4dWRtRnlJSEpsY0dWaGRDQTlJSEpsY1hWcGNtVW9KeTR2WDNOMGNtbHVaeTF5WlhCbFlYUW5LVHRjYm5aaGNpQWtkRzlHYVhobFpDQTlJREV1TUM1MGIwWnBlR1ZrTzF4dWRtRnlJR1pzYjI5eUlEMGdUV0YwYUM1bWJHOXZjanRjYm5aaGNpQmtZWFJoSUQwZ1d6QXNJREFzSURBc0lEQXNJREFzSURCZE8xeHVkbUZ5SUVWU1VrOVNJRDBnSjA1MWJXSmxjaTUwYjBacGVHVmtPaUJwYm1OdmNuSmxZM1FnYVc1MmIyTmhkR2x2YmlFbk8xeHVkbUZ5SUZwRlVrOGdQU0FuTUNjN1hHNWNiblpoY2lCdGRXeDBhWEJzZVNBOUlHWjFibU4wYVc5dUlDaHVMQ0JqS1NCN1hHNGdJSFpoY2lCcElEMGdMVEU3WEc0Z0lIWmhjaUJqTWlBOUlHTTdYRzRnSUhkb2FXeGxJQ2dySzJrZ1BDQTJLU0I3WEc0Z0lDQWdZeklnS3owZ2JpQXFJR1JoZEdGYmFWMDdYRzRnSUNBZ1pHRjBZVnRwWFNBOUlHTXlJQ1VnTVdVM08xeHVJQ0FnSUdNeUlEMGdabXh2YjNJb1l6SWdMeUF4WlRjcE8xeHVJQ0I5WEc1OU8xeHVkbUZ5SUdScGRtbGtaU0E5SUdaMWJtTjBhVzl1SUNodUtTQjdYRzRnSUhaaGNpQnBJRDBnTmp0Y2JpQWdkbUZ5SUdNZ1BTQXdPMXh1SUNCM2FHbHNaU0FvTFMxcElENDlJREFwSUh0Y2JpQWdJQ0JqSUNzOUlHUmhkR0ZiYVYwN1hHNGdJQ0FnWkdGMFlWdHBYU0E5SUdac2IyOXlLR01nTHlCdUtUdGNiaUFnSUNCaklEMGdLR01nSlNCdUtTQXFJREZsTnp0Y2JpQWdmVnh1ZlR0Y2JuWmhjaUJ1ZFcxVWIxTjBjbWx1WnlBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJR2tnUFNBMk8xeHVJQ0IyWVhJZ2N5QTlJQ2NuTzF4dUlDQjNhR2xzWlNBb0xTMXBJRDQ5SURBcElIdGNiaUFnSUNCcFppQW9jeUFoUFQwZ0p5Y2dmSHdnYVNBOVBUMGdNQ0I4ZkNCa1lYUmhXMmxkSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2RDQTlJRk4wY21sdVp5aGtZWFJoVzJsZEtUdGNiaUFnSUNBZ0lITWdQU0J6SUQwOVBTQW5KeUEvSUhRZ09pQnpJQ3NnY21Wd1pXRjBMbU5oYkd3b1drVlNUeXdnTnlBdElIUXViR1Z1WjNSb0tTQXJJSFE3WEc0Z0lDQWdmVnh1SUNCOUlISmxkSFZ5YmlCek8xeHVmVHRjYm5aaGNpQndiM2NnUFNCbWRXNWpkR2x2YmlBb2VDd2diaXdnWVdOaktTQjdYRzRnSUhKbGRIVnliaUJ1SUQwOVBTQXdJRDhnWVdOaklEb2diaUFsSURJZ1BUMDlJREVnUHlCd2IzY29lQ3dnYmlBdElERXNJR0ZqWXlBcUlIZ3BJRG9nY0c5M0tIZ2dLaUI0TENCdUlDOGdNaXdnWVdOaktUdGNibjA3WEc1MllYSWdiRzluSUQwZ1puVnVZM1JwYjI0Z0tIZ3BJSHRjYmlBZ2RtRnlJRzRnUFNBd08xeHVJQ0IyWVhJZ2VESWdQU0I0TzF4dUlDQjNhR2xzWlNBb2VESWdQajBnTkRBNU5pa2dlMXh1SUNBZ0lHNGdLejBnTVRJN1hHNGdJQ0FnZURJZ0x6MGdOREE1Tmp0Y2JpQWdmVnh1SUNCM2FHbHNaU0FvZURJZ1BqMGdNaWtnZTF4dUlDQWdJRzRnS3owZ01UdGNiaUFnSUNCNE1pQXZQU0F5TzF4dUlDQjlJSEpsZEhWeWJpQnVPMXh1ZlR0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsQWdLeUFrWlhod2IzSjBMa1lnS2lBb0lTRWtkRzlHYVhobFpDQW1KaUFvWEc0Z0lEQXVNREF3TURndWRHOUdhWGhsWkNnektTQWhQVDBnSnpBdU1EQXdKeUI4ZkZ4dUlDQXdMamt1ZEc5R2FYaGxaQ2d3S1NBaFBUMGdKekVuSUh4OFhHNGdJREV1TWpVMUxuUnZSbWw0WldRb01pa2dJVDA5SUNjeExqSTFKeUI4ZkZ4dUlDQXhNREF3TURBd01EQXdNREF3TURBd01USTRMakF1ZEc5R2FYaGxaQ2d3S1NBaFBUMGdKekV3TURBd01EQXdNREF3TURBd01EQXhNamduWEc0cElIeDhJQ0Z5WlhGMWFYSmxLQ2N1TDE5bVlXbHNjeWNwS0daMWJtTjBhVzl1SUNncElIdGNiaUFnTHk4Z1ZqZ2dmaUJCYm1SeWIybGtJRFF1TXkxY2JpQWdKSFJ2Um1sNFpXUXVZMkZzYkNoN2ZTazdYRzU5S1Nrc0lDZE9kVzFpWlhJbkxDQjdYRzRnSUhSdlJtbDRaV1E2SUdaMWJtTjBhVzl1SUhSdlJtbDRaV1FvWm5KaFkzUnBiMjVFYVdkcGRITXBJSHRjYmlBZ0lDQjJZWElnZUNBOUlHRk9kVzFpWlhKV1lXeDFaU2gwYUdsekxDQkZVbEpQVWlrN1hHNGdJQ0FnZG1GeUlHWWdQU0IwYjBsdWRHVm5aWElvWm5KaFkzUnBiMjVFYVdkcGRITXBPMXh1SUNBZ0lIWmhjaUJ6SUQwZ0p5YzdYRzRnSUNBZ2RtRnlJRzBnUFNCYVJWSlBPMXh1SUNBZ0lIWmhjaUJsTENCNkxDQnFMQ0JyTzF4dUlDQWdJR2xtSUNobUlEd2dNQ0I4ZkNCbUlENGdNakFwSUhSb2NtOTNJRkpoYm1kbFJYSnliM0lvUlZKU1QxSXBPMXh1SUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTF6Wld4bUxXTnZiWEJoY21WY2JpQWdJQ0JwWmlBb2VDQWhQU0I0S1NCeVpYUjFjbTRnSjA1aFRpYzdYRzRnSUNBZ2FXWWdLSGdnUEQwZ0xURmxNakVnZkh3Z2VDQStQU0F4WlRJeEtTQnlaWFIxY200Z1UzUnlhVzVuS0hncE8xeHVJQ0FnSUdsbUlDaDRJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2N5QTlJQ2N0Snp0Y2JpQWdJQ0FnSUhnZ1BTQXRlRHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSGdnUGlBeFpTMHlNU2tnZTF4dUlDQWdJQ0FnWlNBOUlHeHZaeWg0SUNvZ2NHOTNLRElzSURZNUxDQXhLU2tnTFNBMk9UdGNiaUFnSUNBZ0lIb2dQU0JsSUR3Z01DQS9JSGdnS2lCd2IzY29NaXdnTFdVc0lERXBJRG9nZUNBdklIQnZkeWd5TENCbExDQXhLVHRjYmlBZ0lDQWdJSG9nS2owZ01IZ3hNREF3TURBd01EQXdNREF3TUR0Y2JpQWdJQ0FnSUdVZ1BTQTFNaUF0SUdVN1hHNGdJQ0FnSUNCcFppQW9aU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdiWFZzZEdsd2JIa29NQ3dnZWlrN1hHNGdJQ0FnSUNBZ0lHb2dQU0JtTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYWlBK1BTQTNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JYVnNkR2x3Ykhrb01XVTNMQ0F3S1R0Y2JpQWdJQ0FnSUNBZ0lDQnFJQzA5SURjN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdiWFZzZEdsd2JIa29jRzkzS0RFd0xDQnFMQ0F4S1N3Z01DazdYRzRnSUNBZ0lDQWdJR29nUFNCbElDMGdNVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR29nUGowZ01qTXBJSHRjYmlBZ0lDQWdJQ0FnSUNCa2FYWnBaR1VvTVNBOFBDQXlNeWs3WEc0Z0lDQWdJQ0FnSUNBZ2FpQXRQU0F5TXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmthWFpwWkdVb01TQThQQ0JxS1R0Y2JpQWdJQ0FnSUNBZ2JYVnNkR2x3Ykhrb01Td2dNU2s3WEc0Z0lDQWdJQ0FnSUdScGRtbGtaU2d5S1R0Y2JpQWdJQ0FnSUNBZ2JTQTlJRzUxYlZSdlUzUnlhVzVuS0NrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCdGRXeDBhWEJzZVNnd0xDQjZLVHRjYmlBZ0lDQWdJQ0FnYlhWc2RHbHdiSGtvTVNBOFBDQXRaU3dnTUNrN1hHNGdJQ0FnSUNBZ0lHMGdQU0J1ZFcxVWIxTjBjbWx1WnlncElDc2djbVZ3WldGMExtTmhiR3dvV2tWU1R5d2daaWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2htSUQ0Z01Da2dlMXh1SUNBZ0lDQWdheUE5SUcwdWJHVnVaM1JvTzF4dUlDQWdJQ0FnYlNBOUlITWdLeUFvYXlBOFBTQm1JRDhnSnpBdUp5QXJJSEpsY0dWaGRDNWpZV3hzS0ZwRlVrOHNJR1lnTFNCcktTQXJJRzBnT2lCdExuTnNhV05sS0RBc0lHc2dMU0JtS1NBcklDY3VKeUFySUcwdWMyeHBZMlVvYXlBdElHWXBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2JTQTlJSE1nS3lCdE8xeHVJQ0FnSUgwZ2NtVjBkWEp1SUcwN1hHNGdJSDFjYm4wcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lBa1ptRnBiSE1nUFNCeVpYRjFhWEpsS0NjdUwxOW1ZV2xzY3ljcE8xeHVkbUZ5SUdGT2RXMWlaWEpXWVd4MVpTQTlJSEpsY1hWcGNtVW9KeTR2WDJFdGJuVnRZbVZ5TFhaaGJIVmxKeWs3WEc1MllYSWdKSFJ2VUhKbFkybHphVzl1SUQwZ01TNHdMblJ2VUhKbFkybHphVzl1TzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVVDQXJJQ1JsZUhCdmNuUXVSaUFxSUNna1ptRnBiSE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0F2THlCSlJUY3RYRzRnSUhKbGRIVnliaUFrZEc5UWNtVmphWE5wYjI0dVkyRnNiQ2d4TENCMWJtUmxabWx1WldRcElDRTlQU0FuTVNjN1hHNTlLU0I4ZkNBaEpHWmhhV3h6S0daMWJtTjBhVzl1SUNncElIdGNiaUFnTHk4Z1ZqZ2dmaUJCYm1SeWIybGtJRFF1TXkxY2JpQWdKSFJ2VUhKbFkybHphVzl1TG1OaGJHd29lMzBwTzF4dWZTa3BMQ0FuVG5WdFltVnlKeXdnZTF4dUlDQjBiMUJ5WldOcGMybHZiam9nWm5WdVkzUnBiMjRnZEc5UWNtVmphWE5wYjI0b2NISmxZMmx6YVc5dUtTQjdYRzRnSUNBZ2RtRnlJSFJvWVhRZ1BTQmhUblZ0WW1WeVZtRnNkV1VvZEdocGN5d2dKMDUxYldKbGNpTjBiMUJ5WldOcGMybHZiam9nYVc1amIzSnlaV04wSUdsdWRtOWpZWFJwYjI0aEp5azdYRzRnSUNBZ2NtVjBkWEp1SUhCeVpXTnBjMmx2YmlBOVBUMGdkVzVrWldacGJtVmtJRDhnSkhSdlVISmxZMmx6YVc5dUxtTmhiR3dvZEdoaGRDa2dPaUFrZEc5UWNtVmphWE5wYjI0dVkyRnNiQ2gwYUdGMExDQndjbVZqYVhOcGIyNHBPMXh1SUNCOVhHNTlLVHRjYmlJc0lpOHZJREU1TGpFdU15NHhJRTlpYW1WamRDNWhjM05wWjI0b2RHRnlaMlYwTENCemIzVnlZMlVwWEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5QXJJQ1JsZUhCdmNuUXVSaXdnSjA5aWFtVmpkQ2NzSUhzZ1lYTnphV2R1T2lCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFlYTnphV2R1SnlrZ2ZTazdYRzRpTENKMllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dUx5OGdNVGt1TVM0eUxqSWdMeUF4TlM0eUxqTXVOU0JQWW1wbFkzUXVZM0psWVhSbEtFOGdXeXdnVUhKdmNHVnlkR2xsYzEwcFhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5d2dKMDlpYW1WamRDY3NJSHNnWTNKbFlYUmxPaUJ5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WTNKbFlYUmxKeWtnZlNrN1hHNGlMQ0oyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1THk4Z01Ua3VNUzR5TGpNZ0x5QXhOUzR5TGpNdU55QlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkR2xsY3loUExDQlFjbTl3WlhKMGFXVnpLVnh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1nS3lBa1pYaHdiM0owTGtZZ0tpQWhjbVZ4ZFdseVpTZ25MaTlmWkdWelkzSnBjSFJ2Y25NbktTd2dKMDlpYW1WamRDY3NJSHNnWkdWbWFXNWxVSEp2Y0dWeWRHbGxjem9nY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdSd2N5Y3BJSDBwTzF4dUlpd2lkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiaTh2SURFNUxqRXVNaTQwSUM4Z01UVXVNaTR6TGpZZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRThzSUZBc0lFRjBkSEpwWW5WMFpYTXBYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeUFySUNSbGVIQnZjblF1UmlBcUlDRnlaWEYxYVhKbEtDY3VMMTlrWlhOamNtbHdkRzl5Y3ljcExDQW5UMkpxWldOMEp5d2dleUJrWldacGJtVlFjbTl3WlhKMGVUb2djbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV1J3SnlrdVppQjlLVHRjYmlJc0lpOHZJREU1TGpFdU1pNDFJRTlpYW1WamRDNW1jbVZsZW1Vb1R5bGNiblpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dWRtRnlJRzFsZEdFZ1BTQnlaWEYxYVhKbEtDY3VMMTl0WlhSaEp5a3ViMjVHY21WbGVtVTdYRzVjYm5KbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxellYQW5LU2duWm5KbFpYcGxKeXdnWm5WdVkzUnBiMjRnS0NSbWNtVmxlbVVwSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlHWnlaV1Y2WlNocGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBa1puSmxaWHBsSUNZbUlHbHpUMkpxWldOMEtHbDBLU0EvSUNSbWNtVmxlbVVvYldWMFlTaHBkQ2twSURvZ2FYUTdYRzRnSUgwN1hHNTlLVHRjYmlJc0lpOHZJREU1TGpFdU1pNDJJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb1R5d2dVQ2xjYm5aaGNpQjBiMGxQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXBiMkpxWldOMEp5azdYRzUyWVhJZ0pHZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2lBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMW5iM0JrSnlrdVpqdGNibHh1Y21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFhOaGNDY3BLQ2RuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQm5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2FYUXNJR3RsZVNrZ2UxeHVJQ0FnSUhKbGRIVnliaUFrWjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlLSFJ2U1U5aWFtVmpkQ2hwZENrc0lHdGxlU2s3WEc0Z0lIMDdYRzU5S1R0Y2JpSXNJaTh2SURFNUxqRXVNaTQzSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVNWhiV1Z6S0U4cFhHNXlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRjMkZ3Snlrb0oyZGxkRTkzYmxCeWIzQmxjblI1VG1GdFpYTW5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSEpsZEhWeWJpQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRaMjl3YmkxbGVIUW5LUzVtTzF4dWZTazdYRzRpTENJdkx5QXhPUzR4TGpJdU9TQlBZbXBsWTNRdVoyVjBVSEp2ZEc5MGVYQmxUMllvVHlsY2JuWmhjaUIwYjA5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgzUnZMVzlpYW1WamRDY3BPMXh1ZG1GeUlDUm5aWFJRY205MGIzUjVjR1ZQWmlBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMW5jRzhuS1R0Y2JseHVjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMWE5oY0NjcEtDZG5aWFJRY205MGIzUjVjR1ZQWmljc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUdkbGRGQnliM1J2ZEhsd1pVOW1LR2wwS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ1JuWlhSUWNtOTBiM1I1Y0dWUFppaDBiMDlpYW1WamRDaHBkQ2twTzF4dUlDQjlPMXh1ZlNrN1hHNGlMQ0l2THlBeE9TNHhMakl1TVRFZ1QySnFaV04wTG1selJYaDBaVzV6YVdKc1pTaFBLVnh1ZG1GeUlHbHpUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmYVhNdGIySnFaV04wSnlrN1hHNWNibkpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzF6WVhBbktTZ25hWE5GZUhSbGJuTnBZbXhsSnl3Z1puVnVZM1JwYjI0Z0tDUnBjMFY0ZEdWdWMybGliR1VwSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlHbHpSWGgwWlc1emFXSnNaU2hwZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUJwYzA5aWFtVmpkQ2hwZENrZ1B5QWthWE5GZUhSbGJuTnBZbXhsSUQ4Z0pHbHpSWGgwWlc1emFXSnNaU2hwZENrZ09pQjBjblZsSURvZ1ptRnNjMlU3WEc0Z0lIMDdYRzU5S1R0Y2JpSXNJaTh2SURFNUxqRXVNaTR4TWlCUFltcGxZM1F1YVhOR2NtOTZaVzRvVHlsY2JuWmhjaUJwYzA5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgybHpMVzlpYW1WamRDY3BPMXh1WEc1eVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdGMyRndKeWtvSjJselJuSnZlbVZ1Snl3Z1puVnVZM1JwYjI0Z0tDUnBjMFp5YjNwbGJpa2dlMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnYVhOR2NtOTZaVzRvYVhRcElIdGNiaUFnSUNCeVpYUjFjbTRnYVhOUFltcGxZM1FvYVhRcElEOGdKR2x6Um5KdmVtVnVJRDhnSkdselJuSnZlbVZ1S0dsMEtTQTZJR1poYkhObElEb2dkSEoxWlR0Y2JpQWdmVHRjYm4wcE8xeHVJaXdpTHk4Z01Ua3VNUzR5TGpFeklFOWlhbVZqZEM1cGMxTmxZV3hsWkNoUEtWeHVkbUZ5SUdselQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZhWE10YjJKcVpXTjBKeWs3WEc1Y2JuSmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMXpZWEFuS1NnbmFYTlRaV0ZzWldRbkxDQm1kVzVqZEdsdmJpQW9KR2x6VTJWaGJHVmtLU0I3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCcGMxTmxZV3hsWkNocGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCcGMwOWlhbVZqZENocGRDa2dQeUFrYVhOVFpXRnNaV1FnUHlBa2FYTlRaV0ZzWldRb2FYUXBJRG9nWm1Gc2MyVWdPaUIwY25WbE8xeHVJQ0I5TzF4dWZTazdYRzRpTENJdkx5QXhPUzR4TGpNdU1UQWdUMkpxWldOMExtbHpLSFpoYkhWbE1Td2dkbUZzZFdVeUtWeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiaVJsZUhCdmNuUW9KR1Y0Y0c5eWRDNVRMQ0FuVDJKcVpXTjBKeXdnZXlCcGN6b2djbVZ4ZFdseVpTZ25MaTlmYzJGdFpTMTJZV3gxWlNjcElIMHBPMXh1SWl3aUx5OGdNVGt1TVM0eUxqRTBJRTlpYW1WamRDNXJaWGx6S0U4cFhHNTJZWElnZEc5UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTF2WW1wbFkzUW5LVHRjYm5aaGNpQWthMlY1Y3lBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMXJaWGx6SnlrN1hHNWNibkpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzF6WVhBbktTZ25hMlY1Y3ljc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUd0bGVYTW9hWFFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdKR3RsZVhNb2RHOVBZbXBsWTNRb2FYUXBLVHRjYmlBZ2ZUdGNibjBwTzF4dUlpd2lMeThnTVRrdU1TNHlMakUxSUU5aWFtVmpkQzV3Y21WMlpXNTBSWGgwWlc1emFXOXVjeWhQS1Z4dWRtRnlJR2x6VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmFYTXRiMkpxWldOMEp5azdYRzUyWVhJZ2JXVjBZU0E5SUhKbGNYVnBjbVVvSnk0dlgyMWxkR0VuS1M1dmJrWnlaV1Y2WlR0Y2JseHVjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMWE5oY0NjcEtDZHdjbVYyWlc1MFJYaDBaVzV6YVc5dWN5Y3NJR1oxYm1OMGFXOXVJQ2drY0hKbGRtVnVkRVY0ZEdWdWMybHZibk1wSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlIQnlaWFpsYm5SRmVIUmxibk5wYjI1ektHbDBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDUndjbVYyWlc1MFJYaDBaVzV6YVc5dWN5QW1KaUJwYzA5aWFtVmpkQ2hwZENrZ1B5QWtjSEpsZG1WdWRFVjRkR1Z1YzJsdmJuTW9iV1YwWVNocGRDa3BJRG9nYVhRN1hHNGdJSDA3WEc1OUtUdGNiaUlzSWk4dklERTVMakV1TWk0eE55QlBZbXBsWTNRdWMyVmhiQ2hQS1Z4dWRtRnlJR2x6VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmFYTXRiMkpxWldOMEp5azdYRzUyWVhJZ2JXVjBZU0E5SUhKbGNYVnBjbVVvSnk0dlgyMWxkR0VuS1M1dmJrWnlaV1Y2WlR0Y2JseHVjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMWE5oY0NjcEtDZHpaV0ZzSnl3Z1puVnVZM1JwYjI0Z0tDUnpaV0ZzS1NCN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQnpaV0ZzS0dsMEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUNSelpXRnNJQ1ltSUdselQySnFaV04wS0dsMEtTQS9JQ1J6WldGc0tHMWxkR0VvYVhRcEtTQTZJR2wwTzF4dUlDQjlPMXh1ZlNrN1hHNGlMQ0l2THlBeE9TNHhMak11TVRrZ1QySnFaV04wTG5ObGRGQnliM1J2ZEhsd1pVOW1LRThzSUhCeWIzUnZLVnh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUTENBblQySnFaV04wSnl3Z2V5QnpaWFJRY205MGIzUjVjR1ZQWmpvZ2NtVnhkV2x5WlNnbkxpOWZjMlYwTFhCeWIzUnZKeWt1YzJWMElIMHBPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1THk4Z01Ua3VNUzR6TGpZZ1QySnFaV04wTG5CeWIzUnZkSGx3WlM1MGIxTjBjbWx1WnlncFhHNTJZWElnWTJ4aGMzTnZaaUE5SUhKbGNYVnBjbVVvSnk0dlgyTnNZWE56YjJZbktUdGNiblpoY2lCMFpYTjBJRDBnZTMwN1hHNTBaWE4wVzNKbGNYVnBjbVVvSnk0dlgzZHJjeWNwS0NkMGIxTjBjbWx1WjFSaFp5Y3BYU0E5SUNkNkp6dGNibWxtSUNoMFpYTjBJQ3NnSnljZ0lUMGdKMXR2WW1wbFkzUWdlbDBuS1NCN1hHNGdJSEpsY1hWcGNtVW9KeTR2WDNKbFpHVm1hVzVsSnlrb1QySnFaV04wTG5CeWIzUnZkSGx3WlN3Z0ozUnZVM1J5YVc1bkp5d2dablZ1WTNScGIyNGdkRzlUZEhKcGJtY29LU0I3WEc0Z0lDQWdjbVYwZFhKdUlDZGJiMkpxWldOMElDY2dLeUJqYkdGemMyOW1LSFJvYVhNcElDc2dKMTBuTzF4dUlDQjlMQ0IwY25WbEtUdGNibjFjYmlJc0luWmhjaUFrWlhod2IzSjBJRDBnY21WeGRXbHlaU2duTGk5ZlpYaHdiM0owSnlrN1hHNTJZWElnSkhCaGNuTmxSbXh2WVhRZ1BTQnlaWEYxYVhKbEtDY3VMMTl3WVhKelpTMW1iRzloZENjcE8xeHVMeThnTVRndU1pNDBJSEJoY25ObFJteHZZWFFvYzNSeWFXNW5LVnh1SkdWNGNHOXlkQ2drWlhod2IzSjBMa2NnS3lBa1pYaHdiM0owTGtZZ0tpQW9jR0Z5YzJWR2JHOWhkQ0FoUFNBa2NHRnljMlZHYkc5aGRDa3NJSHNnY0dGeWMyVkdiRzloZERvZ0pIQmhjbk5sUm14dllYUWdmU2s3WEc0aUxDSjJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUNSd1lYSnpaVWx1ZENBOUlISmxjWFZwY21Vb0p5NHZYM0JoY25ObExXbHVkQ2NwTzF4dUx5OGdNVGd1TWk0MUlIQmhjbk5sU1c1MEtITjBjbWx1Wnl3Z2NtRmthWGdwWEc0a1pYaHdiM0owS0NSbGVIQnZjblF1UnlBcklDUmxlSEJ2Y25RdVJpQXFJQ2h3WVhKelpVbHVkQ0FoUFNBa2NHRnljMlZKYm5RcExDQjdJSEJoY25ObFNXNTBPaUFrY0dGeWMyVkpiblFnZlNrN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNTJZWElnVEVsQ1VrRlNXU0E5SUhKbGNYVnBjbVVvSnk0dlgyeHBZbkpoY25rbktUdGNiblpoY2lCbmJHOWlZV3dnUFNCeVpYRjFhWEpsS0NjdUwxOW5iRzlpWVd3bktUdGNiblpoY2lCamRIZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5amRIZ25LVHRjYm5aaGNpQmpiR0Z6YzI5bUlEMGdjbVZ4ZFdseVpTZ25MaTlmWTJ4aGMzTnZaaWNwTzF4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUJwYzA5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgybHpMVzlpYW1WamRDY3BPMXh1ZG1GeUlHRkdkVzVqZEdsdmJpQTlJSEpsY1hWcGNtVW9KeTR2WDJFdFpuVnVZM1JwYjI0bktUdGNiblpoY2lCaGJrbHVjM1JoYm1ObElEMGdjbVZ4ZFdseVpTZ25MaTlmWVc0dGFXNXpkR0Z1WTJVbktUdGNiblpoY2lCbWIzSlBaaUE5SUhKbGNYVnBjbVVvSnk0dlgyWnZjaTF2WmljcE8xeHVkbUZ5SUhOd1pXTnBaWE5EYjI1emRISjFZM1J2Y2lBOUlISmxjWFZwY21Vb0p5NHZYM053WldOcFpYTXRZMjl1YzNSeWRXTjBiM0luS1R0Y2JuWmhjaUIwWVhOcklEMGdjbVZ4ZFdseVpTZ25MaTlmZEdGemF5Y3BMbk5sZER0Y2JuWmhjaUJ0YVdOeWIzUmhjMnNnUFNCeVpYRjFhWEpsS0NjdUwxOXRhV055YjNSaGMyc25LU2dwTzF4dWRtRnlJRzVsZDFCeWIyMXBjMlZEWVhCaFltbHNhWFI1VFc5a2RXeGxJRDBnY21WeGRXbHlaU2duTGk5ZmJtVjNMWEJ5YjIxcGMyVXRZMkZ3WVdKcGJHbDBlU2NwTzF4dWRtRnlJSEJsY21admNtMGdQU0J5WlhGMWFYSmxLQ2N1TDE5d1pYSm1iM0p0SnlrN1hHNTJZWElnZFhObGNrRm5aVzUwSUQwZ2NtVnhkV2x5WlNnbkxpOWZkWE5sY2kxaFoyVnVkQ2NwTzF4dWRtRnlJSEJ5YjIxcGMyVlNaWE52YkhabElEMGdjbVZ4ZFdseVpTZ25MaTlmY0hKdmJXbHpaUzF5WlhOdmJIWmxKeWs3WEc1MllYSWdVRkpQVFVsVFJTQTlJQ2RRY205dGFYTmxKenRjYm5aaGNpQlVlWEJsUlhKeWIzSWdQU0JuYkc5aVlXd3VWSGx3WlVWeWNtOXlPMXh1ZG1GeUlIQnliMk5sYzNNZ1BTQm5iRzlpWVd3dWNISnZZMlZ6Y3p0Y2JuWmhjaUIyWlhKemFXOXVjeUE5SUhCeWIyTmxjM01nSmlZZ2NISnZZMlZ6Y3k1MlpYSnphVzl1Y3p0Y2JuWmhjaUIyT0NBOUlIWmxjbk5wYjI1eklDWW1JSFpsY25OcGIyNXpMblk0SUh4OElDY25PMXh1ZG1GeUlDUlFjbTl0YVhObElEMGdaMnh2WW1Gc1cxQlNUMDFKVTBWZE8xeHVkbUZ5SUdselRtOWtaU0E5SUdOc1lYTnpiMllvY0hKdlkyVnpjeWtnUFQwZ0ozQnliMk5sYzNNbk8xeHVkbUZ5SUdWdGNIUjVJRDBnWm5WdVkzUnBiMjRnS0NrZ2V5QXZLaUJsYlhCMGVTQXFMeUI5TzF4dWRtRnlJRWx1ZEdWeWJtRnNMQ0J1WlhkSFpXNWxjbWxqVUhKdmJXbHpaVU5oY0dGaWFXeHBkSGtzSUU5M2JsQnliMjFwYzJWRFlYQmhZbWxzYVhSNUxDQlhjbUZ3Y0dWeU8xeHVkbUZ5SUc1bGQxQnliMjFwYzJWRFlYQmhZbWxzYVhSNUlEMGdibVYzUjJWdVpYSnBZMUJ5YjIxcGMyVkRZWEJoWW1sc2FYUjVJRDBnYm1WM1VISnZiV2x6WlVOaGNHRmlhV3hwZEhsTmIyUjFiR1V1Wmp0Y2JseHVkbUZ5SUZWVFJWOU9RVlJKVmtVZ1BTQWhJV1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0F2THlCamIzSnlaV04wSUhOMVltTnNZWE56YVc1bklIZHBkR2dnUUVCemNHVmphV1Z6SUhOMWNIQnZjblJjYmlBZ0lDQjJZWElnY0hKdmJXbHpaU0E5SUNSUWNtOXRhWE5sTG5KbGMyOXNkbVVvTVNrN1hHNGdJQ0FnZG1GeUlFWmhhMlZRY205dGFYTmxJRDBnS0hCeWIyMXBjMlV1WTI5dWMzUnlkV04wYjNJZ1BTQjdmU2xiY21WeGRXbHlaU2duTGk5ZmQydHpKeWtvSjNOd1pXTnBaWE1uS1YwZ1BTQm1kVzVqZEdsdmJpQW9aWGhsWXlrZ2UxeHVJQ0FnSUNBZ1pYaGxZeWhsYlhCMGVTd2daVzF3ZEhrcE8xeHVJQ0FnSUgwN1hHNGdJQ0FnTHk4Z2RXNW9ZVzVrYkdWa0lISmxhbVZqZEdsdmJuTWdkSEpoWTJ0cGJtY2djM1Z3Y0c5eWRDd2dUbTlrWlVwVElGQnliMjFwYzJVZ2QybDBhRzkxZENCcGRDQm1ZV2xzY3lCQVFITndaV05wWlhNZ2RHVnpkRnh1SUNBZ0lISmxkSFZ5YmlBb2FYTk9iMlJsSUh4OElIUjVjR1Z2WmlCUWNtOXRhWE5sVW1WcVpXTjBhVzl1UlhabGJuUWdQVDBnSjJaMWJtTjBhVzl1SnlsY2JpQWdJQ0FnSUNZbUlIQnliMjFwYzJVdWRHaGxiaWhsYlhCMGVTa2dhVzV6ZEdGdVkyVnZaaUJHWVd0bFVISnZiV2x6WlZ4dUlDQWdJQ0FnTHk4Z2RqZ2dOaTQySUNoT2IyUmxJREV3SUdGdVpDQkRhSEp2YldVZ05qWXBJR2hoZG1VZ1lTQmlkV2NnZDJsMGFDQnlaWE52YkhacGJtY2dZM1Z6ZEc5dElIUm9aVzVoWW14bGMxeHVJQ0FnSUNBZ0x5OGdhSFIwY0hNNkx5OWlkV2R6TG1Ob2NtOXRhWFZ0TG05eVp5OXdMMk5vY205dGFYVnRMMmx6YzNWbGN5OWtaWFJoYVd3L2FXUTlPRE13TlRZMVhHNGdJQ0FnSUNBdkx5QjNaU0JqWVc0bmRDQmtaWFJsWTNRZ2FYUWdjM2x1WTJoeWIyNXZkWE5zZVN3Z2MyOGdhblZ6ZENCamFHVmpheUIyWlhKemFXOXVjMXh1SUNBZ0lDQWdKaVlnZGpndWFXNWtaWGhQWmlnbk5pNDJKeWtnSVQwOUlEQmNiaUFnSUNBZ0lDWW1JSFZ6WlhKQloyVnVkQzVwYm1SbGVFOW1LQ2REYUhKdmJXVXZOalluS1NBOVBUMGdMVEU3WEc0Z0lIMGdZMkYwWTJnZ0tHVXBJSHNnTHlvZ1pXMXdkSGtnS2k4Z2ZWeHVmU2dwTzF4dVhHNHZMeUJvWld4d1pYSnpYRzUyWVhJZ2FYTlVhR1Z1WVdKc1pTQTlJR1oxYm1OMGFXOXVJQ2hwZENrZ2UxeHVJQ0IyWVhJZ2RHaGxianRjYmlBZ2NtVjBkWEp1SUdselQySnFaV04wS0dsMEtTQW1KaUIwZVhCbGIyWWdLSFJvWlc0Z1BTQnBkQzUwYUdWdUtTQTlQU0FuWm5WdVkzUnBiMjRuSUQ4Z2RHaGxiaUE2SUdaaGJITmxPMXh1ZlR0Y2JuWmhjaUJ1YjNScFpua2dQU0JtZFc1amRHbHZiaUFvY0hKdmJXbHpaU3dnYVhOU1pXcGxZM1FwSUh0Y2JpQWdhV1lnS0hCeWIyMXBjMlV1WDI0cElISmxkSFZ5Ymp0Y2JpQWdjSEp2YldselpTNWZiaUE5SUhSeWRXVTdYRzRnSUhaaGNpQmphR0ZwYmlBOUlIQnliMjFwYzJVdVgyTTdYRzRnSUcxcFkzSnZkR0Z6YXlobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2RtRnlJSFpoYkhWbElEMGdjSEp2YldselpTNWZkanRjYmlBZ0lDQjJZWElnYjJzZ1BTQndjbTl0YVhObExsOXpJRDA5SURFN1hHNGdJQ0FnZG1GeUlHa2dQU0F3TzF4dUlDQWdJSFpoY2lCeWRXNGdQU0JtZFc1amRHbHZiaUFvY21WaFkzUnBiMjRwSUh0Y2JpQWdJQ0FnSUhaaGNpQm9ZVzVrYkdWeUlEMGdiMnNnUHlCeVpXRmpkR2x2Ymk1dmF5QTZJSEpsWVdOMGFXOXVMbVpoYVd3N1hHNGdJQ0FnSUNCMllYSWdjbVZ6YjJ4MlpTQTlJSEpsWVdOMGFXOXVMbkpsYzI5c2RtVTdYRzRnSUNBZ0lDQjJZWElnY21WcVpXTjBJRDBnY21WaFkzUnBiMjR1Y21WcVpXTjBPMXh1SUNBZ0lDQWdkbUZ5SUdSdmJXRnBiaUE5SUhKbFlXTjBhVzl1TG1SdmJXRnBianRjYmlBZ0lDQWdJSFpoY2lCeVpYTjFiSFFzSUhSb1pXNHNJR1Y0YVhSbFpEdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaG9ZVzVrYkdWeUtTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDRnZheWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hCeWIyMXBjMlV1WDJnZ1BUMGdNaWtnYjI1SVlXNWtiR1ZWYm1oaGJtUnNaV1FvY0hKdmJXbHpaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbTl0YVhObExsOW9JRDBnTVR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHaGhibVJzWlhJZ1BUMDlJSFJ5ZFdVcElISmxjM1ZzZENBOUlIWmhiSFZsTzF4dUlDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dSdmJXRnBiaWtnWkc5dFlXbHVMbVZ1ZEdWeUtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFFnUFNCb1lXNWtiR1Z5S0haaGJIVmxLVHNnTHk4Z2JXRjVJSFJvY205M1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pHOXRZV2x1S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdSdmJXRnBiaTVsZUdsMEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHVjRhWFJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMWJIUWdQVDA5SUhKbFlXTjBhVzl1TG5CeWIyMXBjMlVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYW1WamRDaFVlWEJsUlhKeWIzSW9KMUJ5YjIxcGMyVXRZMmhoYVc0Z1kzbGpiR1VuS1NrN1hHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2gwYUdWdUlEMGdhWE5VYUdWdVlXSnNaU2h5WlhOMWJIUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR1Z1TG1OaGJHd29jbVZ6ZFd4MExDQnlaWE52YkhabExDQnlaV3BsWTNRcE8xeHVJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQnlaWE52YkhabEtISmxjM1ZzZENrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCeVpXcGxZM1FvZG1Gc2RXVXBPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9aRzl0WVdsdUlDWW1JQ0ZsZUdsMFpXUXBJR1J2YldGcGJpNWxlR2wwS0NrN1hHNGdJQ0FnSUNBZ0lISmxhbVZqZENobEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOU8xeHVJQ0FnSUhkb2FXeGxJQ2hqYUdGcGJpNXNaVzVuZEdnZ1BpQnBLU0J5ZFc0b1kyaGhhVzViYVNzclhTazdJQzh2SUhaaGNtbGhZbXhsSUd4bGJtZDBhQ0F0SUdOaGJpZDBJSFZ6WlNCbWIzSkZZV05vWEc0Z0lDQWdjSEp2YldselpTNWZZeUE5SUZ0ZE8xeHVJQ0FnSUhCeWIyMXBjMlV1WDI0Z1BTQm1ZV3h6WlR0Y2JpQWdJQ0JwWmlBb2FYTlNaV3BsWTNRZ0ppWWdJWEJ5YjIxcGMyVXVYMmdwSUc5dVZXNW9ZVzVrYkdWa0tIQnliMjFwYzJVcE8xeHVJQ0I5S1R0Y2JuMDdYRzUyWVhJZ2IyNVZibWhoYm1Sc1pXUWdQU0JtZFc1amRHbHZiaUFvY0hKdmJXbHpaU2tnZTF4dUlDQjBZWE5yTG1OaGJHd29aMnh2WW1Gc0xDQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdkbUZ5SUhaaGJIVmxJRDBnY0hKdmJXbHpaUzVmZGp0Y2JpQWdJQ0IyWVhJZ2RXNW9ZVzVrYkdWa0lEMGdhWE5WYm1oaGJtUnNaV1FvY0hKdmJXbHpaU2s3WEc0Z0lDQWdkbUZ5SUhKbGMzVnNkQ3dnYUdGdVpHeGxjaXdnWTI5dWMyOXNaVHRjYmlBZ0lDQnBaaUFvZFc1b1lXNWtiR1ZrS1NCN1hHNGdJQ0FnSUNCeVpYTjFiSFFnUFNCd1pYSm1iM0p0S0daMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dselRtOWtaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lIQnliMk5sYzNNdVpXMXBkQ2duZFc1b1lXNWtiR1ZrVW1WcVpXTjBhVzl1Snl3Z2RtRnNkV1VzSUhCeWIyMXBjMlVwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHaGhibVJzWlhJZ1BTQm5iRzlpWVd3dWIyNTFibWhoYm1Sc1pXUnlaV3BsWTNScGIyNHBJSHRjYmlBZ0lDQWdJQ0FnSUNCb1lXNWtiR1Z5S0hzZ2NISnZiV2x6WlRvZ2NISnZiV2x6WlN3Z2NtVmhjMjl1T2lCMllXeDFaU0I5S1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDZ29ZMjl1YzI5c1pTQTlJR2RzYjJKaGJDNWpiMjV6YjJ4bEtTQW1KaUJqYjI1emIyeGxMbVZ5Y205eUtTQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMyOXNaUzVsY25KdmNpZ25WVzVvWVc1a2JHVmtJSEJ5YjIxcGMyVWdjbVZxWldOMGFXOXVKeXdnZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUM4dklFSnliM2R6WlhKeklITm9iM1ZzWkNCdWIzUWdkSEpwWjJkbGNpQmdjbVZxWldOMGFXOXVTR0Z1Wkd4bFpHQWdaWFpsYm5RZ2FXWWdhWFFnZDJGeklHaGhibVJzWldRZ2FHVnlaU3dnVG05a1pVcFRJQzBnYzJodmRXeGtYRzRnSUNBZ0lDQndjbTl0YVhObExsOW9JRDBnYVhOT2IyUmxJSHg4SUdselZXNW9ZVzVrYkdWa0tIQnliMjFwYzJVcElEOGdNaUE2SURFN1hHNGdJQ0FnZlNCd2NtOXRhWE5sTGw5aElEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lHbG1JQ2gxYm1oaGJtUnNaV1FnSmlZZ2NtVnpkV3gwTG1VcElIUm9jbTkzSUhKbGMzVnNkQzUyTzF4dUlDQjlLVHRjYm4wN1hHNTJZWElnYVhOVmJtaGhibVJzWldRZ1BTQm1kVzVqZEdsdmJpQW9jSEp2YldselpTa2dlMXh1SUNCeVpYUjFjbTRnY0hKdmJXbHpaUzVmYUNBaFBUMGdNU0FtSmlBb2NISnZiV2x6WlM1ZllTQjhmQ0J3Y205dGFYTmxMbDlqS1M1c1pXNW5kR2dnUFQwOUlEQTdYRzU5TzF4dWRtRnlJRzl1U0dGdVpHeGxWVzVvWVc1a2JHVmtJRDBnWm5WdVkzUnBiMjRnS0hCeWIyMXBjMlVwSUh0Y2JpQWdkR0Z6YXk1allXeHNLR2RzYjJKaGJDd2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFpoY2lCb1lXNWtiR1Z5TzF4dUlDQWdJR2xtSUNocGMwNXZaR1VwSUh0Y2JpQWdJQ0FnSUhCeWIyTmxjM011WlcxcGRDZ25jbVZxWldOMGFXOXVTR0Z1Wkd4bFpDY3NJSEJ5YjIxcGMyVXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hR0Z1Wkd4bGNpQTlJR2RzYjJKaGJDNXZibkpsYW1WamRHbHZibWhoYm1Sc1pXUXBJSHRjYmlBZ0lDQWdJR2hoYm1Sc1pYSW9leUJ3Y205dGFYTmxPaUJ3Y205dGFYTmxMQ0J5WldGemIyNDZJSEJ5YjIxcGMyVXVYM1lnZlNrN1hHNGdJQ0FnZlZ4dUlDQjlLVHRjYm4wN1hHNTJZWElnSkhKbGFtVmpkQ0E5SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4dUlDQjJZWElnY0hKdmJXbHpaU0E5SUhSb2FYTTdYRzRnSUdsbUlDaHdjbTl0YVhObExsOWtLU0J5WlhSMWNtNDdYRzRnSUhCeWIyMXBjMlV1WDJRZ1BTQjBjblZsTzF4dUlDQndjbTl0YVhObElEMGdjSEp2YldselpTNWZkeUI4ZkNCd2NtOXRhWE5sT3lBdkx5QjFibmR5WVhCY2JpQWdjSEp2YldselpTNWZkaUE5SUhaaGJIVmxPMXh1SUNCd2NtOXRhWE5sTGw5eklEMGdNanRjYmlBZ2FXWWdLQ0Z3Y205dGFYTmxMbDloS1NCd2NtOXRhWE5sTGw5aElEMGdjSEp2YldselpTNWZZeTV6YkdsalpTZ3BPMXh1SUNCdWIzUnBabmtvY0hKdmJXbHpaU3dnZEhKMVpTazdYRzU5TzF4dWRtRnlJQ1J5WlhOdmJIWmxJRDBnWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEc0Z0lIWmhjaUJ3Y205dGFYTmxJRDBnZEdocGN6dGNiaUFnZG1GeUlIUm9aVzQ3WEc0Z0lHbG1JQ2h3Y205dGFYTmxMbDlrS1NCeVpYUjFjbTQ3WEc0Z0lIQnliMjFwYzJVdVgyUWdQU0IwY25WbE8xeHVJQ0J3Y205dGFYTmxJRDBnY0hKdmJXbHpaUzVmZHlCOGZDQndjbTl0YVhObE95QXZMeUIxYm5keVlYQmNiaUFnZEhKNUlIdGNiaUFnSUNCcFppQW9jSEp2YldselpTQTlQVDBnZG1Gc2RXVXBJSFJvY205M0lGUjVjR1ZGY25KdmNpaGNJbEJ5YjIxcGMyVWdZMkZ1SjNRZ1ltVWdjbVZ6YjJ4MlpXUWdhWFJ6Wld4bVhDSXBPMXh1SUNBZ0lHbG1JQ2gwYUdWdUlEMGdhWE5VYUdWdVlXSnNaU2gyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJRzFwWTNKdmRHRnpheWhtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzY21Gd2NHVnlJRDBnZXlCZmR6b2djSEp2YldselpTd2dYMlE2SUdaaGJITmxJSDA3SUM4dklIZHlZWEJjYmlBZ0lDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdJQ0IwYUdWdUxtTmhiR3dvZG1Gc2RXVXNJR04wZUNna2NtVnpiMngyWlN3Z2QzSmhjSEJsY2l3Z01Ta3NJR04wZUNna2NtVnFaV04wTENCM2NtRndjR1Z5TENBeEtTazdYRzRnSUNBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWtjbVZxWldOMExtTmhiR3dvZDNKaGNIQmxjaXdnWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCd2NtOXRhWE5sTGw5MklEMGdkbUZzZFdVN1hHNGdJQ0FnSUNCd2NtOXRhWE5sTGw5eklEMGdNVHRjYmlBZ0lDQWdJRzV2ZEdsbWVTaHdjbTl0YVhObExDQm1ZV3h6WlNrN1hHNGdJQ0FnZlZ4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdKSEpsYW1WamRDNWpZV3hzS0hzZ1gzYzZJSEJ5YjIxcGMyVXNJRjlrT2lCbVlXeHpaU0I5TENCbEtUc2dMeThnZDNKaGNGeHVJQ0I5WEc1OU8xeHVYRzR2THlCamIyNXpkSEoxWTNSdmNpQndiMng1Wm1sc2JGeHVhV1lnS0NGVlUwVmZUa0ZVU1ZaRktTQjdYRzRnSUM4dklESTFMalF1TXk0eElGQnliMjFwYzJVb1pYaGxZM1YwYjNJcFhHNGdJQ1JRY205dGFYTmxJRDBnWm5WdVkzUnBiMjRnVUhKdmJXbHpaU2hsZUdWamRYUnZjaWtnZTF4dUlDQWdJR0Z1U1c1emRHRnVZMlVvZEdocGN5d2dKRkJ5YjIxcGMyVXNJRkJTVDAxSlUwVXNJQ2RmYUNjcE8xeHVJQ0FnSUdGR2RXNWpkR2x2YmlobGVHVmpkWFJ2Y2lrN1hHNGdJQ0FnU1c1MFpYSnVZV3d1WTJGc2JDaDBhR2x6S1R0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1pYaGxZM1YwYjNJb1kzUjRLQ1J5WlhOdmJIWmxMQ0IwYUdsekxDQXhLU3dnWTNSNEtDUnlaV3BsWTNRc0lIUm9hWE1zSURFcEtUdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSXBJSHRjYmlBZ0lDQWdJQ1J5WldwbFkzUXVZMkZzYkNoMGFHbHpMQ0JsY25JcE8xeHVJQ0FnSUgxY2JpQWdmVHRjYmlBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElHNXZMWFZ1ZFhObFpDMTJZWEp6WEc0Z0lFbHVkR1Z5Ym1Gc0lEMGdablZ1WTNScGIyNGdVSEp2YldselpTaGxlR1ZqZFhSdmNpa2dlMXh1SUNBZ0lIUm9hWE11WDJNZ1BTQmJYVHNnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdQQzBnWVhkaGFYUnBibWNnY21WaFkzUnBiMjV6WEc0Z0lDQWdkR2hwY3k1ZllTQTlJSFZ1WkdWbWFXNWxaRHNnSUNBZ0lDQXZMeUE4TFNCamFHVmphMlZrSUdsdUlHbHpWVzVvWVc1a2JHVmtJSEpsWVdOMGFXOXVjMXh1SUNBZ0lIUm9hWE11WDNNZ1BTQXdPeUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdQQzBnYzNSaGRHVmNiaUFnSUNCMGFHbHpMbDlrSUQwZ1ptRnNjMlU3SUNBZ0lDQWdJQ0FnSUM4dklEd3RJR1J2Ym1WY2JpQWdJQ0IwYUdsekxsOTJJRDBnZFc1a1pXWnBibVZrT3lBZ0lDQWdJQzh2SUR3dElIWmhiSFZsWEc0Z0lDQWdkR2hwY3k1ZmFDQTlJREE3SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUE4TFNCeVpXcGxZM1JwYjI0Z2MzUmhkR1VzSURBZ0xTQmtaV1poZFd4MExDQXhJQzBnYUdGdVpHeGxaQ3dnTWlBdElIVnVhR0Z1Wkd4bFpGeHVJQ0FnSUhSb2FYTXVYMjRnUFNCbVlXeHpaVHNnSUNBZ0lDQWdJQ0FnTHk4Z1BDMGdibTkwYVdaNVhHNGdJSDA3WEc0Z0lFbHVkR1Z5Ym1Gc0xuQnliM1J2ZEhsd1pTQTlJSEpsY1hWcGNtVW9KeTR2WDNKbFpHVm1hVzVsTFdGc2JDY3BLQ1JRY205dGFYTmxMbkJ5YjNSdmRIbHdaU3dnZTF4dUlDQWdJQzh2SURJMUxqUXVOUzR6SUZCeWIyMXBjMlV1Y0hKdmRHOTBlWEJsTG5Sb1pXNG9iMjVHZFd4bWFXeHNaV1FzSUc5dVVtVnFaV04wWldRcFhHNGdJQ0FnZEdobGJqb2dablZ1WTNScGIyNGdkR2hsYmlodmJrWjFiR1pwYkd4bFpDd2diMjVTWldwbFkzUmxaQ2tnZTF4dUlDQWdJQ0FnZG1GeUlISmxZV04wYVc5dUlEMGdibVYzVUhKdmJXbHpaVU5oY0dGaWFXeHBkSGtvYzNCbFkybGxjME52Ym5OMGNuVmpkRzl5S0hSb2FYTXNJQ1JRY205dGFYTmxLU2s3WEc0Z0lDQWdJQ0J5WldGamRHbHZiaTV2YXlBOUlIUjVjR1Z2WmlCdmJrWjFiR1pwYkd4bFpDQTlQU0FuWm5WdVkzUnBiMjRuSUQ4Z2IyNUdkV3htYVd4c1pXUWdPaUIwY25WbE8xeHVJQ0FnSUNBZ2NtVmhZM1JwYjI0dVptRnBiQ0E5SUhSNWNHVnZaaUJ2YmxKbGFtVmpkR1ZrSUQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnYjI1U1pXcGxZM1JsWkR0Y2JpQWdJQ0FnSUhKbFlXTjBhVzl1TG1SdmJXRnBiaUE5SUdselRtOWtaU0EvSUhCeWIyTmxjM011Wkc5dFlXbHVJRG9nZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnZEdocGN5NWZZeTV3ZFhOb0tISmxZV04wYVc5dUtUdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxsOWhLU0IwYUdsekxsOWhMbkIxYzJnb2NtVmhZM1JwYjI0cE8xeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdVgzTXBJRzV2ZEdsbWVTaDBhR2x6TENCbVlXeHpaU2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZoWTNScGIyNHVjSEp2YldselpUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4dklESTFMalF1TlM0eElGQnliMjFwYzJVdWNISnZkRzkwZVhCbExtTmhkR05vS0c5dVVtVnFaV04wWldRcFhHNGdJQ0FnSjJOaGRHTm9Kem9nWm5WdVkzUnBiMjRnS0c5dVVtVnFaV04wWldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblJvWlc0b2RXNWtaV1pwYm1Wa0xDQnZibEpsYW1WamRHVmtLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVJQ0JQZDI1UWNtOXRhWE5sUTJGd1lXSnBiR2wwZVNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQjJZWElnY0hKdmJXbHpaU0E5SUc1bGR5QkpiblJsY201aGJDZ3BPMXh1SUNBZ0lIUm9hWE11Y0hKdmJXbHpaU0E5SUhCeWIyMXBjMlU3WEc0Z0lDQWdkR2hwY3k1eVpYTnZiSFpsSUQwZ1kzUjRLQ1J5WlhOdmJIWmxMQ0J3Y205dGFYTmxMQ0F4S1R0Y2JpQWdJQ0IwYUdsekxuSmxhbVZqZENBOUlHTjBlQ2drY21WcVpXTjBMQ0J3Y205dGFYTmxMQ0F4S1R0Y2JpQWdmVHRjYmlBZ2JtVjNVSEp2YldselpVTmhjR0ZpYVd4cGRIbE5iMlIxYkdVdVppQTlJRzVsZDFCeWIyMXBjMlZEWVhCaFltbHNhWFI1SUQwZ1puVnVZM1JwYjI0Z0tFTXBJSHRjYmlBZ0lDQnlaWFIxY200Z1F5QTlQVDBnSkZCeWIyMXBjMlVnZkh3Z1F5QTlQVDBnVjNKaGNIQmxjbHh1SUNBZ0lDQWdQeUJ1WlhjZ1QzZHVVSEp2YldselpVTmhjR0ZpYVd4cGRIa29ReWxjYmlBZ0lDQWdJRG9nYm1WM1IyVnVaWEpwWTFCeWIyMXBjMlZEWVhCaFltbHNhWFI1S0VNcE8xeHVJQ0I5TzF4dWZWeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVSeUFySUNSbGVIQnZjblF1VnlBcklDUmxlSEJ2Y25RdVJpQXFJQ0ZWVTBWZlRrRlVTVlpGTENCN0lGQnliMjFwYzJVNklDUlFjbTl0YVhObElIMHBPMXh1Y21WeGRXbHlaU2duTGk5ZmMyVjBMWFJ2TFhOMGNtbHVaeTEwWVdjbktTZ2tVSEp2YldselpTd2dVRkpQVFVsVFJTazdYRzV5WlhGMWFYSmxLQ2N1TDE5elpYUXRjM0JsWTJsbGN5Y3BLRkJTVDAxSlUwVXBPMXh1VjNKaGNIQmxjaUE5SUhKbGNYVnBjbVVvSnk0dlgyTnZjbVVuS1Z0UVVrOU5TVk5GWFR0Y2JseHVMeThnYzNSaGRHbGpjMXh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1nS3lBa1pYaHdiM0owTGtZZ0tpQWhWVk5GWDA1QlZFbFdSU3dnVUZKUFRVbFRSU3dnZTF4dUlDQXZMeUF5TlM0MExqUXVOU0JRY205dGFYTmxMbkpsYW1WamRDaHlLVnh1SUNCeVpXcGxZM1E2SUdaMWJtTjBhVzl1SUhKbGFtVmpkQ2h5S1NCN1hHNGdJQ0FnZG1GeUlHTmhjR0ZpYVd4cGRIa2dQU0J1WlhkUWNtOXRhWE5sUTJGd1lXSnBiR2wwZVNoMGFHbHpLVHRjYmlBZ0lDQjJZWElnSkNSeVpXcGxZM1FnUFNCallYQmhZbWxzYVhSNUxuSmxhbVZqZER0Y2JpQWdJQ0FrSkhKbGFtVmpkQ2h5S1R0Y2JpQWdJQ0J5WlhSMWNtNGdZMkZ3WVdKcGJHbDBlUzV3Y205dGFYTmxPMXh1SUNCOVhHNTlLVHRjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUSUNzZ0pHVjRjRzl5ZEM1R0lDb2dLRXhKUWxKQlVsa2dmSHdnSVZWVFJWOU9RVlJKVmtVcExDQlFVazlOU1ZORkxDQjdYRzRnSUM4dklESTFMalF1TkM0MklGQnliMjFwYzJVdWNtVnpiMngyWlNoNEtWeHVJQ0J5WlhOdmJIWmxPaUJtZFc1amRHbHZiaUJ5WlhOdmJIWmxLSGdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdjSEp2YldselpWSmxjMjlzZG1Vb1RFbENVa0ZTV1NBbUppQjBhR2x6SUQwOVBTQlhjbUZ3Y0dWeUlEOGdKRkJ5YjIxcGMyVWdPaUIwYUdsekxDQjRLVHRjYmlBZ2ZWeHVmU2s3WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VXlBcklDUmxlSEJ2Y25RdVJpQXFJQ0VvVlZORlgwNUJWRWxXUlNBbUppQnlaWEYxYVhKbEtDY3VMMTlwZEdWeUxXUmxkR1ZqZENjcEtHWjFibU4wYVc5dUlDaHBkR1Z5S1NCN1hHNGdJQ1JRY205dGFYTmxMbUZzYkNocGRHVnlLVnNuWTJGMFkyZ25YU2hsYlhCMGVTazdYRzU5S1Nrc0lGQlNUMDFKVTBVc0lIdGNiaUFnTHk4Z01qVXVOQzQwTGpFZ1VISnZiV2x6WlM1aGJHd29hWFJsY21GaWJHVXBYRzRnSUdGc2JEb2dablZ1WTNScGIyNGdZV3hzS0dsMFpYSmhZbXhsS1NCN1hHNGdJQ0FnZG1GeUlFTWdQU0IwYUdsek8xeHVJQ0FnSUhaaGNpQmpZWEJoWW1sc2FYUjVJRDBnYm1WM1VISnZiV2x6WlVOaGNHRmlhV3hwZEhrb1F5azdYRzRnSUNBZ2RtRnlJSEpsYzI5c2RtVWdQU0JqWVhCaFltbHNhWFI1TG5KbGMyOXNkbVU3WEc0Z0lDQWdkbUZ5SUhKbGFtVmpkQ0E5SUdOaGNHRmlhV3hwZEhrdWNtVnFaV04wTzF4dUlDQWdJSFpoY2lCeVpYTjFiSFFnUFNCd1pYSm1iM0p0S0daMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lIWmhjaUIyWVd4MVpYTWdQU0JiWFR0Y2JpQWdJQ0FnSUhaaGNpQnBibVJsZUNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnY21WdFlXbHVhVzVuSUQwZ01UdGNiaUFnSUNBZ0lHWnZjazltS0dsMFpYSmhZbXhsTENCbVlXeHpaU3dnWm5WdVkzUnBiMjRnS0hCeWIyMXBjMlVwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJQ1JwYm1SbGVDQTlJR2x1WkdWNEt5czdYRzRnSUNBZ0lDQWdJSFpoY2lCaGJISmxZV1I1UTJGc2JHVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJSFpoYkhWbGN5NXdkWE5vS0hWdVpHVm1hVzVsWkNrN1hHNGdJQ0FnSUNBZ0lISmxiV0ZwYm1sdVp5c3JPMXh1SUNBZ0lDQWdJQ0JETG5KbGMyOXNkbVVvY0hKdmJXbHpaU2t1ZEdobGJpaG1kVzVqZEdsdmJpQW9kbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1lXeHlaV0ZrZVVOaGJHeGxaQ2tnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUdGc2NtVmhaSGxEWVd4c1pXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJSFpoYkhWbGMxc2thVzVrWlhoZElEMGdkbUZzZFdVN1hHNGdJQ0FnSUNBZ0lDQWdMUzF5WlcxaGFXNXBibWNnZkh3Z2NtVnpiMngyWlNoMllXeDFaWE1wTzF4dUlDQWdJQ0FnSUNCOUxDQnlaV3BsWTNRcE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQXRMWEpsYldGcGJtbHVaeUI4ZkNCeVpYTnZiSFpsS0haaGJIVmxjeWs3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdhV1lnS0hKbGMzVnNkQzVsS1NCeVpXcGxZM1FvY21WemRXeDBMbllwTzF4dUlDQWdJSEpsZEhWeWJpQmpZWEJoWW1sc2FYUjVMbkJ5YjIxcGMyVTdYRzRnSUgwc1hHNGdJQzh2SURJMUxqUXVOQzQwSUZCeWIyMXBjMlV1Y21GalpTaHBkR1Z5WVdKc1pTbGNiaUFnY21GalpUb2dablZ1WTNScGIyNGdjbUZqWlNocGRHVnlZV0pzWlNrZ2UxeHVJQ0FnSUhaaGNpQkRJRDBnZEdocGN6dGNiaUFnSUNCMllYSWdZMkZ3WVdKcGJHbDBlU0E5SUc1bGQxQnliMjFwYzJWRFlYQmhZbWxzYVhSNUtFTXBPMXh1SUNBZ0lIWmhjaUJ5WldwbFkzUWdQU0JqWVhCaFltbHNhWFI1TG5KbGFtVmpkRHRjYmlBZ0lDQjJZWElnY21WemRXeDBJRDBnY0dWeVptOXliU2htZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNCbWIzSlBaaWhwZEdWeVlXSnNaU3dnWm1Gc2MyVXNJR1oxYm1OMGFXOXVJQ2h3Y205dGFYTmxLU0I3WEc0Z0lDQWdJQ0FnSUVNdWNtVnpiMngyWlNod2NtOXRhWE5sS1M1MGFHVnVLR05oY0dGaWFXeHBkSGt1Y21WemIyeDJaU3dnY21WcVpXTjBLVHRjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBwTzF4dUlDQWdJR2xtSUNoeVpYTjFiSFF1WlNrZ2NtVnFaV04wS0hKbGMzVnNkQzUyS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZMkZ3WVdKcGJHbDBlUzV3Y205dGFYTmxPMXh1SUNCOVhHNTlLVHRjYmlJc0lpOHZJREkyTGpFdU1TQlNaV1pzWldOMExtRndjR3g1S0hSaGNtZGxkQ3dnZEdocGMwRnlaM1Z0Wlc1MExDQmhjbWQxYldWdWRITk1hWE4wS1Z4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUJoUm5WdVkzUnBiMjRnUFNCeVpYRjFhWEpsS0NjdUwxOWhMV1oxYm1OMGFXOXVKeWs3WEc1MllYSWdZVzVQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGJpMXZZbXBsWTNRbktUdGNiblpoY2lCeVFYQndiSGtnUFNBb2NtVnhkV2x5WlNnbkxpOWZaMnh2WW1Gc0p5a3VVbVZtYkdWamRDQjhmQ0I3ZlNrdVlYQndiSGs3WEc1MllYSWdaa0Z3Y0d4NUlEMGdSblZ1WTNScGIyNHVZWEJ3YkhrN1hHNHZMeUJOVXlCRlpHZGxJR0Z5WjNWdFpXNTBjMHhwYzNRZ1lYSm5kVzFsYm5RZ2FYTWdiM0IwYVc5dVlXeGNiaVJsZUhCdmNuUW9KR1Y0Y0c5eWRDNVRJQ3NnSkdWNGNHOXlkQzVHSUNvZ0lYSmxjWFZwY21Vb0p5NHZYMlpoYVd4ekp5a29ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQnlRWEJ3Ykhrb1puVnVZM1JwYjI0Z0tDa2dleUF2S2lCbGJYQjBlU0FxTHlCOUtUdGNibjBwTENBblVtVm1iR1ZqZENjc0lIdGNiaUFnWVhCd2JIazZJR1oxYm1OMGFXOXVJR0Z3Y0d4NUtIUmhjbWRsZEN3Z2RHaHBjMEZ5WjNWdFpXNTBMQ0JoY21kMWJXVnVkSE5NYVhOMEtTQjdYRzRnSUNBZ2RtRnlJRlFnUFNCaFJuVnVZM1JwYjI0b2RHRnlaMlYwS1R0Y2JpQWdJQ0IyWVhJZ1RDQTlJR0Z1VDJKcVpXTjBLR0Z5WjNWdFpXNTBjMHhwYzNRcE8xeHVJQ0FnSUhKbGRIVnliaUJ5UVhCd2JIa2dQeUJ5UVhCd2JIa29WQ3dnZEdocGMwRnlaM1Z0Wlc1MExDQk1LU0E2SUdaQmNIQnNlUzVqWVd4c0tGUXNJSFJvYVhOQmNtZDFiV1Z1ZEN3Z1RDazdYRzRnSUgxY2JuMHBPMXh1SWl3aUx5OGdNall1TVM0eUlGSmxabXhsWTNRdVkyOXVjM1J5ZFdOMEtIUmhjbWRsZEN3Z1lYSm5kVzFsYm5SelRHbHpkQ0JiTENCdVpYZFVZWEpuWlhSZEtWeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCamNtVmhkR1VnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFkzSmxZWFJsSnlrN1hHNTJZWElnWVVaMWJtTjBhVzl1SUQwZ2NtVnhkV2x5WlNnbkxpOWZZUzFtZFc1amRHbHZiaWNwTzF4dWRtRnlJR0Z1VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRiMkpxWldOMEp5azdYRzUyWVhJZ2FYTlBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTlwY3kxdlltcGxZM1FuS1R0Y2JuWmhjaUJtWVdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2WDJaaGFXeHpKeWs3WEc1MllYSWdZbWx1WkNBOUlISmxjWFZwY21Vb0p5NHZYMkpwYm1RbktUdGNiblpoY2lCeVEyOXVjM1J5ZFdOMElEMGdLSEpsY1hWcGNtVW9KeTR2WDJkc2IySmhiQ2NwTGxKbFpteGxZM1FnZkh3Z2UzMHBMbU52Ym5OMGNuVmpkRHRjYmx4dUx5OGdUVk1nUldSblpTQnpkWEJ3YjNKMGN5QnZibXg1SURJZ1lYSm5kVzFsYm5SeklHRnVaQ0JoY21kMWJXVnVkSE5NYVhOMElHRnlaM1Z0Wlc1MElHbHpJRzl3ZEdsdmJtRnNYRzR2THlCR1JpQk9hV2RvZEd4NUlITmxkSE1nZEdocGNtUWdZWEpuZFcxbGJuUWdZWE1nWUc1bGR5NTBZWEpuWlhSZ0xDQmlkWFFnWkc5bGN5QnViM1FnWTNKbFlYUmxJR0IwYUdsellDQm1jbTl0SUdsMFhHNTJZWElnVGtWWFgxUkJVa2RGVkY5Q1ZVY2dQU0JtWVdsc2N5aG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lHWjFibU4wYVc5dUlFWW9LU0I3SUM4cUlHVnRjSFI1SUNvdklIMWNiaUFnY21WMGRYSnVJQ0VvY2tOdmJuTjBjblZqZENobWRXNWpkR2x2YmlBb0tTQjdJQzhxSUdWdGNIUjVJQ292SUgwc0lGdGRMQ0JHS1NCcGJuTjBZVzVqWlc5bUlFWXBPMXh1ZlNrN1hHNTJZWElnUVZKSFUxOUNWVWNnUFNBaFptRnBiSE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0J5UTI5dWMzUnlkV04wS0daMWJtTjBhVzl1SUNncElIc2dMeW9nWlcxd2RIa2dLaThnZlNrN1hHNTlLVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxNZ0t5QWtaWGh3YjNKMExrWWdLaUFvVGtWWFgxUkJVa2RGVkY5Q1ZVY2dmSHdnUVZKSFUxOUNWVWNwTENBblVtVm1iR1ZqZENjc0lIdGNiaUFnWTI5dWMzUnlkV04wT2lCbWRXNWpkR2x2YmlCamIyNXpkSEoxWTNRb1ZHRnlaMlYwTENCaGNtZHpJQzhxSUN3Z2JtVjNWR0Z5WjJWMElDb3ZLU0I3WEc0Z0lDQWdZVVoxYm1OMGFXOXVLRlJoY21kbGRDazdYRzRnSUNBZ1lXNVBZbXBsWTNRb1lYSm5jeWs3WEc0Z0lDQWdkbUZ5SUc1bGQxUmhjbWRsZENBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BDQXpJRDhnVkdGeVoyVjBJRG9nWVVaMWJtTjBhVzl1S0dGeVozVnRaVzUwYzFzeVhTazdYRzRnSUNBZ2FXWWdLRUZTUjFOZlFsVkhJQ1ltSUNGT1JWZGZWRUZTUjBWVVgwSlZSeWtnY21WMGRYSnVJSEpEYjI1emRISjFZM1FvVkdGeVoyVjBMQ0JoY21kekxDQnVaWGRVWVhKblpYUXBPMXh1SUNBZ0lHbG1JQ2hVWVhKblpYUWdQVDBnYm1WM1ZHRnlaMlYwS1NCN1hHNGdJQ0FnSUNBdkx5QjNMMjhnWVd4MFpYSmxaQ0J1WlhkVVlYSm5aWFFzSUc5d2RHbHRhWHBoZEdsdmJpQm1iM0lnTUMwMElHRnlaM1Z0Wlc1MGMxeHVJQ0FnSUNBZ2MzZHBkR05vSUNoaGNtZHpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0JqWVhObElEQTZJSEpsZEhWeWJpQnVaWGNnVkdGeVoyVjBLQ2s3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdNVG9nY21WMGRYSnVJRzVsZHlCVVlYSm5aWFFvWVhKbmMxc3dYU2s3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdNam9nY21WMGRYSnVJRzVsZHlCVVlYSm5aWFFvWVhKbmMxc3dYU3dnWVhKbmMxc3hYU2s3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdNem9nY21WMGRYSnVJRzVsZHlCVVlYSm5aWFFvWVhKbmMxc3dYU3dnWVhKbmMxc3hYU3dnWVhKbmMxc3lYU2s3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdORG9nY21WMGRYSnVJRzVsZHlCVVlYSm5aWFFvWVhKbmMxc3dYU3dnWVhKbmMxc3hYU3dnWVhKbmMxc3lYU3dnWVhKbmMxc3pYU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0F2THlCM0wyOGdZV3gwWlhKbFpDQnVaWGRVWVhKblpYUXNJR3h2ZENCdlppQmhjbWQxYldWdWRITWdZMkZ6WlZ4dUlDQWdJQ0FnZG1GeUlDUmhjbWR6SUQwZ1cyNTFiR3hkTzF4dUlDQWdJQ0FnSkdGeVozTXVjSFZ6YUM1aGNIQnNlU2drWVhKbmN5d2dZWEpuY3lrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lDaGlhVzVrTG1Gd2NHeDVLRlJoY21kbGRDd2dKR0Z5WjNNcEtTZ3BPMXh1SUNBZ0lIMWNiaUFnSUNBdkx5QjNhWFJvSUdGc2RHVnlaV1FnYm1WM1ZHRnlaMlYwTENCdWIzUWdjM1Z3Y0c5eWRDQmlkV2xzZEMxcGJpQmpiMjV6ZEhKMVkzUnZjbk5jYmlBZ0lDQjJZWElnY0hKdmRHOGdQU0J1WlhkVVlYSm5aWFF1Y0hKdmRHOTBlWEJsTzF4dUlDQWdJSFpoY2lCcGJuTjBZVzVqWlNBOUlHTnlaV0YwWlNocGMwOWlhbVZqZENod2NtOTBieWtnUHlCd2NtOTBieUE2SUU5aWFtVmpkQzV3Y205MGIzUjVjR1VwTzF4dUlDQWdJSFpoY2lCeVpYTjFiSFFnUFNCR2RXNWpkR2x2Ymk1aGNIQnNlUzVqWVd4c0tGUmhjbWRsZEN3Z2FXNXpkR0Z1WTJVc0lHRnlaM01wTzF4dUlDQWdJSEpsZEhWeWJpQnBjMDlpYW1WamRDaHlaWE4xYkhRcElEOGdjbVZ6ZFd4MElEb2dhVzV6ZEdGdVkyVTdYRzRnSUgxY2JuMHBPMXh1SWl3aUx5OGdNall1TVM0eklGSmxabXhsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZEdGeVoyVjBMQ0J3Y205d1pYSjBlVXRsZVN3Z1lYUjBjbWxpZFhSbGN5bGNiblpoY2lCa1VDQTlJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFrY0NjcE8xeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCaGJrOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMkZ1TFc5aWFtVmpkQ2NwTzF4dWRtRnlJSFJ2VUhKcGJXbDBhWFpsSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0Y0hKcGJXbDBhWFpsSnlrN1hHNWNiaTh2SUUxVElFVmtaMlVnYUdGeklHSnliMnRsYmlCU1pXWnNaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVJQzBnZEdoeWIzZHBibWNnYVc1emRHVmhaQ0J2WmlCeVpYUjFjbTVwYm1jZ1ptRnNjMlZjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUSUNzZ0pHVjRjRzl5ZEM1R0lDb2djbVZ4ZFdseVpTZ25MaTlmWm1GcGJITW5LU2htZFc1amRHbHZiaUFvS1NCN1hHNGdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J1YnkxMWJtUmxabHh1SUNCU1pXWnNaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1JRTG1Zb2UzMHNJREVzSUhzZ2RtRnNkV1U2SURFZ2ZTa3NJREVzSUhzZ2RtRnNkV1U2SURJZ2ZTazdYRzU5S1N3Z0oxSmxabXhsWTNRbkxDQjdYRzRnSUdSbFptbHVaVkJ5YjNCbGNuUjVPaUJtZFc1amRHbHZiaUJrWldacGJtVlFjbTl3WlhKMGVTaDBZWEpuWlhRc0lIQnliM0JsY25SNVMyVjVMQ0JoZEhSeWFXSjFkR1Z6S1NCN1hHNGdJQ0FnWVc1UFltcGxZM1FvZEdGeVoyVjBLVHRjYmlBZ0lDQndjbTl3WlhKMGVVdGxlU0E5SUhSdlVISnBiV2wwYVhabEtIQnliM0JsY25SNVMyVjVMQ0IwY25WbEtUdGNiaUFnSUNCaGJrOWlhbVZqZENoaGRIUnlhV0oxZEdWektUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdaRkF1WmloMFlYSm5aWFFzSUhCeWIzQmxjblI1UzJWNUxDQmhkSFJ5YVdKMWRHVnpLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOVhHNGdJSDFjYm4wcE8xeHVJaXdpTHk4Z01qWXVNUzQwSUZKbFpteGxZM1F1WkdWc1pYUmxVSEp2Y0dWeWRIa29kR0Z5WjJWMExDQndjbTl3WlhKMGVVdGxlU2xjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdaMDlRUkNBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMW5iM0JrSnlrdVpqdGNiblpoY2lCaGJrOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMkZ1TFc5aWFtVmpkQ2NwTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5d2dKMUpsWm14bFkzUW5MQ0I3WEc0Z0lHUmxiR1YwWlZCeWIzQmxjblI1T2lCbWRXNWpkR2x2YmlCa1pXeGxkR1ZRY205d1pYSjBlU2gwWVhKblpYUXNJSEJ5YjNCbGNuUjVTMlY1S1NCN1hHNGdJQ0FnZG1GeUlHUmxjMk1nUFNCblQxQkVLR0Z1VDJKcVpXTjBLSFJoY21kbGRDa3NJSEJ5YjNCbGNuUjVTMlY1S1R0Y2JpQWdJQ0J5WlhSMWNtNGdaR1Z6WXlBbUppQWhaR1Z6WXk1amIyNW1hV2QxY21GaWJHVWdQeUJtWVd4elpTQTZJR1JsYkdWMFpTQjBZWEpuWlhSYmNISnZjR1Z5ZEhsTFpYbGRPMXh1SUNCOVhHNTlLVHRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYmk4dklESTJMakV1TlNCU1pXWnNaV04wTG1WdWRXMWxjbUYwWlNoMFlYSm5aWFFwWEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dWRtRnlJR0Z1VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRiMkpxWldOMEp5azdYRzUyWVhJZ1JXNTFiV1Z5WVhSbElEMGdablZ1WTNScGIyNGdLR2wwWlhKaGRHVmtLU0I3WEc0Z0lIUm9hWE11WDNRZ1BTQmhiazlpYW1WamRDaHBkR1Z5WVhSbFpDazdJQzh2SUhSaGNtZGxkRnh1SUNCMGFHbHpMbDlwSUQwZ01Ec2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJ1WlhoMElHbHVaR1Y0WEc0Z0lIWmhjaUJyWlhseklEMGdkR2hwY3k1ZmF5QTlJRnRkT3lBZ0lDQWdJQzh2SUd0bGVYTmNiaUFnZG1GeUlHdGxlVHRjYmlBZ1ptOXlJQ2hyWlhrZ2FXNGdhWFJsY21GMFpXUXBJR3RsZVhNdWNIVnphQ2hyWlhrcE8xeHVmVHRjYm5KbGNYVnBjbVVvSnk0dlgybDBaWEl0WTNKbFlYUmxKeWtvUlc1MWJXVnlZWFJsTENBblQySnFaV04wSnl3Z1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMllYSWdkR2hoZENBOUlIUm9hWE03WEc0Z0lIWmhjaUJyWlhseklEMGdkR2hoZEM1ZmF6dGNiaUFnZG1GeUlHdGxlVHRjYmlBZ1pHOGdlMXh1SUNBZ0lHbG1JQ2gwYUdGMExsOXBJRDQ5SUd0bGVYTXViR1Z1WjNSb0tTQnlaWFIxY200Z2V5QjJZV3gxWlRvZ2RXNWtaV1pwYm1Wa0xDQmtiMjVsT2lCMGNuVmxJSDA3WEc0Z0lIMGdkMmhwYkdVZ0tDRW9LR3RsZVNBOUlHdGxlWE5iZEdoaGRDNWZhU3NyWFNrZ2FXNGdkR2hoZEM1ZmRDa3BPMXh1SUNCeVpYUjFjbTRnZXlCMllXeDFaVG9nYTJWNUxDQmtiMjVsT2lCbVlXeHpaU0I5TzF4dWZTazdYRzVjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUTENBblVtVm1iR1ZqZENjc0lIdGNiaUFnWlc1MWJXVnlZWFJsT2lCbWRXNWpkR2x2YmlCbGJuVnRaWEpoZEdVb2RHRnlaMlYwS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzVsZHlCRmJuVnRaWEpoZEdVb2RHRnlaMlYwS1R0Y2JpQWdmVnh1ZlNrN1hHNGlMQ0l2THlBeU5pNHhMamNnVW1WbWJHVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9kR0Z5WjJWMExDQndjbTl3WlhKMGVVdGxlU2xjYm5aaGNpQm5UMUJFSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXZHZjR1FuS1R0Y2JuWmhjaUFrWlhod2IzSjBJRDBnY21WeGRXbHlaU2duTGk5ZlpYaHdiM0owSnlrN1hHNTJZWElnWVc1UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOWhiaTF2WW1wbFkzUW5LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxNc0lDZFNaV1pzWldOMEp5d2dlMXh1SUNCblpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0k2SUdaMWJtTjBhVzl1SUdkbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWgwWVhKblpYUXNJSEJ5YjNCbGNuUjVTMlY1S1NCN1hHNGdJQ0FnY21WMGRYSnVJR2RQVUVRdVppaGhiazlpYW1WamRDaDBZWEpuWlhRcExDQndjbTl3WlhKMGVVdGxlU2s3WEc0Z0lIMWNibjBwTzF4dUlpd2lMeThnTWpZdU1TNDRJRkpsWm14bFkzUXVaMlYwVUhKdmRHOTBlWEJsVDJZb2RHRnlaMlYwS1Z4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUJuWlhSUWNtOTBieUE5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxbmNHOG5LVHRjYm5aaGNpQmhiazlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJGdUxXOWlhbVZqZENjcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeXdnSjFKbFpteGxZM1FuTENCN1hHNGdJR2RsZEZCeWIzUnZkSGx3WlU5bU9pQm1kVzVqZEdsdmJpQm5aWFJRY205MGIzUjVjR1ZQWmloMFlYSm5aWFFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaMlYwVUhKdmRHOG9ZVzVQWW1wbFkzUW9kR0Z5WjJWMEtTazdYRzRnSUgxY2JuMHBPMXh1SWl3aUx5OGdNall1TVM0MklGSmxabXhsWTNRdVoyVjBLSFJoY21kbGRDd2djSEp2Y0dWeWRIbExaWGtnV3l3Z2NtVmpaV2wyWlhKZEtWeHVkbUZ5SUdkUFVFUWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WjI5d1pDY3BPMXh1ZG1GeUlHZGxkRkJ5YjNSdmRIbHdaVTltSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXZHdieWNwTzF4dWRtRnlJR2hoY3lBOUlISmxjWFZwY21Vb0p5NHZYMmhoY3ljcE8xeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dWRtRnlJR0Z1VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRiMkpxWldOMEp5azdYRzVjYm1aMWJtTjBhVzl1SUdkbGRDaDBZWEpuWlhRc0lIQnliM0JsY25SNVMyVjVJQzhxSUN3Z2NtVmpaV2wyWlhJZ0tpOHBJSHRjYmlBZ2RtRnlJSEpsWTJWcGRtVnlJRDBnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0E4SURNZ1B5QjBZWEpuWlhRZ09pQmhjbWQxYldWdWRITmJNbDA3WEc0Z0lIWmhjaUJrWlhOakxDQndjbTkwYnp0Y2JpQWdhV1lnS0dGdVQySnFaV04wS0hSaGNtZGxkQ2tnUFQwOUlISmxZMlZwZG1WeUtTQnlaWFIxY200Z2RHRnlaMlYwVzNCeWIzQmxjblI1UzJWNVhUdGNiaUFnYVdZZ0tHUmxjMk1nUFNCblQxQkVMbVlvZEdGeVoyVjBMQ0J3Y205d1pYSjBlVXRsZVNrcElISmxkSFZ5YmlCb1lYTW9aR1Z6WXl3Z0ozWmhiSFZsSnlsY2JpQWdJQ0EvSUdSbGMyTXVkbUZzZFdWY2JpQWdJQ0E2SUdSbGMyTXVaMlYwSUNFOVBTQjFibVJsWm1sdVpXUmNiaUFnSUNBZ0lEOGdaR1Z6WXk1blpYUXVZMkZzYkNoeVpXTmxhWFpsY2lsY2JpQWdJQ0FnSURvZ2RXNWtaV1pwYm1Wa08xeHVJQ0JwWmlBb2FYTlBZbXBsWTNRb2NISnZkRzhnUFNCblpYUlFjbTkwYjNSNWNHVlBaaWgwWVhKblpYUXBLU2tnY21WMGRYSnVJR2RsZENod2NtOTBieXdnY0hKdmNHVnlkSGxMWlhrc0lISmxZMlZwZG1WeUtUdGNibjFjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxNc0lDZFNaV1pzWldOMEp5d2dleUJuWlhRNklHZGxkQ0I5S1R0Y2JpSXNJaTh2SURJMkxqRXVPU0JTWldac1pXTjBMbWhoY3loMFlYSm5aWFFzSUhCeWIzQmxjblI1UzJWNUtWeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1zSUNkU1pXWnNaV04wSnl3Z2UxeHVJQ0JvWVhNNklHWjFibU4wYVc5dUlHaGhjeWgwWVhKblpYUXNJSEJ5YjNCbGNuUjVTMlY1S1NCN1hHNGdJQ0FnY21WMGRYSnVJSEJ5YjNCbGNuUjVTMlY1SUdsdUlIUmhjbWRsZER0Y2JpQWdmVnh1ZlNrN1hHNGlMQ0l2THlBeU5pNHhMakV3SUZKbFpteGxZM1F1YVhORmVIUmxibk5wWW14bEtIUmhjbWRsZENsY2JuWmhjaUFrWlhod2IzSjBJRDBnY21WeGRXbHlaU2duTGk5ZlpYaHdiM0owSnlrN1hHNTJZWElnWVc1UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOWhiaTF2WW1wbFkzUW5LVHRjYm5aaGNpQWthWE5GZUhSbGJuTnBZbXhsSUQwZ1QySnFaV04wTG1selJYaDBaVzV6YVdKc1pUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1zSUNkU1pXWnNaV04wSnl3Z2UxeHVJQ0JwYzBWNGRHVnVjMmxpYkdVNklHWjFibU4wYVc5dUlHbHpSWGgwWlc1emFXSnNaU2gwWVhKblpYUXBJSHRjYmlBZ0lDQmhiazlpYW1WamRDaDBZWEpuWlhRcE8xeHVJQ0FnSUhKbGRIVnliaUFrYVhORmVIUmxibk5wWW14bElEOGdKR2x6UlhoMFpXNXphV0pzWlNoMFlYSm5aWFFwSURvZ2RISjFaVHRjYmlBZ2ZWeHVmU2s3WEc0aUxDSXZMeUF5Tmk0eExqRXhJRkpsWm14bFkzUXViM2R1UzJWNWN5aDBZWEpuWlhRcFhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeXdnSjFKbFpteGxZM1FuTENCN0lHOTNia3RsZVhNNklISmxjWFZwY21Vb0p5NHZYMjkzYmkxclpYbHpKeWtnZlNrN1hHNGlMQ0l2THlBeU5pNHhMakV5SUZKbFpteGxZM1F1Y0hKbGRtVnVkRVY0ZEdWdWMybHZibk1vZEdGeVoyVjBLVnh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQmhiazlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJGdUxXOWlhbVZqZENjcE8xeHVkbUZ5SUNSd2NtVjJaVzUwUlhoMFpXNXphVzl1Y3lBOUlFOWlhbVZqZEM1d2NtVjJaVzUwUlhoMFpXNXphVzl1Y3p0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsTXNJQ2RTWldac1pXTjBKeXdnZTF4dUlDQndjbVYyWlc1MFJYaDBaVzV6YVc5dWN6b2dablZ1WTNScGIyNGdjSEpsZG1WdWRFVjRkR1Z1YzJsdmJuTW9kR0Z5WjJWMEtTQjdYRzRnSUNBZ1lXNVBZbXBsWTNRb2RHRnlaMlYwS1R0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ2FXWWdLQ1J3Y21WMlpXNTBSWGgwWlc1emFXOXVjeWtnSkhCeVpYWmxiblJGZUhSbGJuTnBiMjV6S0hSaGNtZGxkQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OUtUdGNiaUlzSWk4dklESTJMakV1TVRRZ1VtVm1iR1ZqZEM1elpYUlFjbTkwYjNSNWNHVlBaaWgwWVhKblpYUXNJSEJ5YjNSdktWeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCelpYUlFjbTkwYnlBOUlISmxjWFZwY21Vb0p5NHZYM05sZEMxd2NtOTBieWNwTzF4dVhHNXBaaUFvYzJWMFVISnZkRzhwSUNSbGVIQnZjblFvSkdWNGNHOXlkQzVUTENBblVtVm1iR1ZqZENjc0lIdGNiaUFnYzJWMFVISnZkRzkwZVhCbFQyWTZJR1oxYm1OMGFXOXVJSE5sZEZCeWIzUnZkSGx3WlU5bUtIUmhjbWRsZEN3Z2NISnZkRzhwSUh0Y2JpQWdJQ0J6WlhSUWNtOTBieTVqYUdWamF5aDBZWEpuWlhRc0lIQnliM1J2S1R0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ2MyVjBVSEp2ZEc4dWMyVjBLSFJoY21kbGRDd2djSEp2ZEc4cE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmU2s3WEc0aUxDSXZMeUF5Tmk0eExqRXpJRkpsWm14bFkzUXVjMlYwS0hSaGNtZGxkQ3dnY0hKdmNHVnlkSGxMWlhrc0lGWWdXeXdnY21WalpXbDJaWEpkS1Z4dWRtRnlJR1JRSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXUndKeWs3WEc1MllYSWdaMDlRUkNBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMW5iM0JrSnlrN1hHNTJZWElnWjJWMFVISnZkRzkwZVhCbFQyWWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WjNCdkp5azdYRzUyWVhJZ2FHRnpJRDBnY21WeGRXbHlaU2duTGk5ZmFHRnpKeWs3WEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dWRtRnlJR055WldGMFpVUmxjMk1nUFNCeVpYRjFhWEpsS0NjdUwxOXdjbTl3WlhKMGVTMWtaWE5qSnlrN1hHNTJZWElnWVc1UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOWhiaTF2WW1wbFkzUW5LVHRjYm5aaGNpQnBjMDlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJsekxXOWlhbVZqZENjcE8xeHVYRzVtZFc1amRHbHZiaUJ6WlhRb2RHRnlaMlYwTENCd2NtOXdaWEowZVV0bGVTd2dWaUF2S2lBc0lISmxZMlZwZG1WeUlDb3ZLU0I3WEc0Z0lIWmhjaUJ5WldObGFYWmxjaUE5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUENBMElEOGdkR0Z5WjJWMElEb2dZWEpuZFcxbGJuUnpXek5kTzF4dUlDQjJZWElnYjNkdVJHVnpZeUE5SUdkUFVFUXVaaWhoYms5aWFtVmpkQ2gwWVhKblpYUXBMQ0J3Y205d1pYSjBlVXRsZVNrN1hHNGdJSFpoY2lCbGVHbHpkR2x1WjBSbGMyTnlhWEIwYjNJc0lIQnliM1J2TzF4dUlDQnBaaUFvSVc5M2JrUmxjMk1wSUh0Y2JpQWdJQ0JwWmlBb2FYTlBZbXBsWTNRb2NISnZkRzhnUFNCblpYUlFjbTkwYjNSNWNHVlBaaWgwWVhKblpYUXBLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSE5sZENod2NtOTBieXdnY0hKdmNHVnlkSGxMWlhrc0lGWXNJSEpsWTJWcGRtVnlLVHRjYmlBZ0lDQjlYRzRnSUNBZ2IzZHVSR1Z6WXlBOUlHTnlaV0YwWlVSbGMyTW9NQ2s3WEc0Z0lIMWNiaUFnYVdZZ0tHaGhjeWh2ZDI1RVpYTmpMQ0FuZG1Gc2RXVW5LU2tnZTF4dUlDQWdJR2xtSUNodmQyNUVaWE5qTG5keWFYUmhZbXhsSUQwOVBTQm1ZV3h6WlNCOGZDQWhhWE5QWW1wbFkzUW9jbVZqWldsMlpYSXBLU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnYVdZZ0tHVjRhWE4wYVc1blJHVnpZM0pwY0hSdmNpQTlJR2RQVUVRdVppaHlaV05sYVhabGNpd2djSEp2Y0dWeWRIbExaWGtwS1NCN1hHNGdJQ0FnSUNCcFppQW9aWGhwYzNScGJtZEVaWE5qY21sd2RHOXlMbWRsZENCOGZDQmxlR2x6ZEdsdVowUmxjMk55YVhCMGIzSXVjMlYwSUh4OElHVjRhWE4wYVc1blJHVnpZM0pwY0hSdmNpNTNjbWwwWVdKc1pTQTlQVDBnWm1Gc2MyVXBJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUdWNGFYTjBhVzVuUkdWelkzSnBjSFJ2Y2k1MllXeDFaU0E5SUZZN1hHNGdJQ0FnSUNCa1VDNW1LSEpsWTJWcGRtVnlMQ0J3Y205d1pYSjBlVXRsZVN3Z1pYaHBjM1JwYm1kRVpYTmpjbWx3ZEc5eUtUdGNiaUFnSUNCOUlHVnNjMlVnWkZBdVppaHlaV05sYVhabGNpd2djSEp2Y0dWeWRIbExaWGtzSUdOeVpXRjBaVVJsYzJNb01Dd2dWaWtwTzF4dUlDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ2ZDI1RVpYTmpMbk5sZENBOVBUMGdkVzVrWldacGJtVmtJRDhnWm1Gc2MyVWdPaUFvYjNkdVJHVnpZeTV6WlhRdVkyRnNiQ2h5WldObGFYWmxjaXdnVmlrc0lIUnlkV1VwTzF4dWZWeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeXdnSjFKbFpteGxZM1FuTENCN0lITmxkRG9nYzJWMElIMHBPMXh1SWl3aWRtRnlJR2RzYjJKaGJDQTlJSEpsY1hWcGNtVW9KeTR2WDJkc2IySmhiQ2NwTzF4dWRtRnlJR2x1YUdWeWFYUkpabEpsY1hWcGNtVmtJRDBnY21WeGRXbHlaU2duTGk5ZmFXNW9aWEpwZEMxcFppMXlaWEYxYVhKbFpDY3BPMXh1ZG1GeUlHUlFJRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdSd0p5a3VaanRjYm5aaGNpQm5UMUJPSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXZHZjRzRuS1M1bU8xeHVkbUZ5SUdselVtVm5SWGh3SUQwZ2NtVnhkV2x5WlNnbkxpOWZhWE10Y21WblpYaHdKeWs3WEc1MllYSWdKR1pzWVdkeklEMGdjbVZ4ZFdseVpTZ25MaTlmWm14aFozTW5LVHRjYm5aaGNpQWtVbVZuUlhod0lEMGdaMnh2WW1Gc0xsSmxaMFY0Y0R0Y2JuWmhjaUJDWVhObElEMGdKRkpsWjBWNGNEdGNiblpoY2lCd2NtOTBieUE5SUNSU1pXZEZlSEF1Y0hKdmRHOTBlWEJsTzF4dWRtRnlJSEpsTVNBOUlDOWhMMmM3WEc1MllYSWdjbVV5SUQwZ0wyRXZaenRjYmk4dklGd2libVYzWENJZ1kzSmxZWFJsY3lCaElHNWxkeUJ2WW1wbFkzUXNJRzlzWkNCM1pXSnJhWFFnWW5Wbloza2dhR1Z5WlZ4dWRtRnlJRU5QVWxKRlExUmZUa1ZYSUQwZ2JtVjNJQ1JTWldkRmVIQW9jbVV4S1NBaFBUMGdjbVV4TzF4dVhHNXBaaUFvY21WeGRXbHlaU2duTGk5ZlpHVnpZM0pwY0hSdmNuTW5LU0FtSmlBb0lVTlBVbEpGUTFSZlRrVlhJSHg4SUhKbGNYVnBjbVVvSnk0dlgyWmhhV3h6Snlrb1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCeVpUSmJjbVZ4ZFdseVpTZ25MaTlmZDJ0ekp5a29KMjFoZEdOb0p5bGRJRDBnWm1Gc2MyVTdYRzRnSUM4dklGSmxaMFY0Y0NCamIyNXpkSEoxWTNSdmNpQmpZVzRnWVd4MFpYSWdabXhoWjNNZ1lXNWtJRWx6VW1WblJYaHdJSGR2Y210eklHTnZjbkpsWTNRZ2QybDBhQ0JBUUcxaGRHTm9YRzRnSUhKbGRIVnliaUFrVW1WblJYaHdLSEpsTVNrZ0lUMGdjbVV4SUh4OElDUlNaV2RGZUhBb2NtVXlLU0E5UFNCeVpUSWdmSHdnSkZKbFowVjRjQ2h5WlRFc0lDZHBKeWtnSVQwZ0p5OWhMMmtuTzF4dWZTa3BLU0I3WEc0Z0lDUlNaV2RGZUhBZ1BTQm1kVzVqZEdsdmJpQlNaV2RGZUhBb2NDd2daaWtnZTF4dUlDQWdJSFpoY2lCMGFWSkZJRDBnZEdocGN5QnBibk4wWVc1alpXOW1JQ1JTWldkRmVIQTdYRzRnSUNBZ2RtRnlJSEJwVWtVZ1BTQnBjMUpsWjBWNGNDaHdLVHRjYmlBZ0lDQjJZWElnWm1sVklEMGdaaUE5UFQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUhKbGRIVnliaUFoZEdsU1JTQW1KaUJ3YVZKRklDWW1JSEF1WTI5dWMzUnlkV04wYjNJZ1BUMDlJQ1JTWldkRmVIQWdKaVlnWm1sVklEOGdjRnh1SUNBZ0lDQWdPaUJwYm1obGNtbDBTV1pTWlhGMWFYSmxaQ2hEVDFKU1JVTlVYMDVGVjF4dUlDQWdJQ0FnSUNBL0lHNWxkeUJDWVhObEtIQnBVa1VnSmlZZ0lXWnBWU0EvSUhBdWMyOTFjbU5sSURvZ2NDd2daaWxjYmlBZ0lDQWdJQ0FnT2lCQ1lYTmxLQ2h3YVZKRklEMGdjQ0JwYm5OMFlXNWpaVzltSUNSU1pXZEZlSEFwSUQ4Z2NDNXpiM1Z5WTJVZ09pQndMQ0J3YVZKRklDWW1JR1pwVlNBL0lDUm1iR0ZuY3k1allXeHNLSEFwSURvZ1ppbGNiaUFnSUNBZ0lDd2dkR2xTUlNBL0lIUm9hWE1nT2lCd2NtOTBieXdnSkZKbFowVjRjQ2s3WEc0Z0lIMDdYRzRnSUhaaGNpQndjbTk0ZVNBOUlHWjFibU4wYVc5dUlDaHJaWGtwSUh0Y2JpQWdJQ0JyWlhrZ2FXNGdKRkpsWjBWNGNDQjhmQ0JrVUNna1VtVm5SWGh3TENCclpYa3NJSHRjYmlBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaU3hjYmlBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdRbUZ6WlZ0clpYbGRPeUI5TEZ4dUlDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9hWFFwSUhzZ1FtRnpaVnRyWlhsZElEMGdhWFE3SUgxY2JpQWdJQ0I5S1R0Y2JpQWdmVHRjYmlBZ1ptOXlJQ2gyWVhJZ2EyVjVjeUE5SUdkUFVFNG9RbUZ6WlNrc0lHa2dQU0F3T3lCclpYbHpMbXhsYm1kMGFDQStJR2s3S1NCd2NtOTRlU2hyWlhselcya3JLMTBwTzF4dUlDQndjbTkwYnk1amIyNXpkSEoxWTNSdmNpQTlJQ1JTWldkRmVIQTdYRzRnSUNSU1pXZEZlSEF1Y0hKdmRHOTBlWEJsSUQwZ2NISnZkRzg3WEc0Z0lISmxjWFZwY21Vb0p5NHZYM0psWkdWbWFXNWxKeWtvWjJ4dlltRnNMQ0FuVW1WblJYaHdKeXdnSkZKbFowVjRjQ2s3WEc1OVhHNWNibkpsY1hWcGNtVW9KeTR2WDNObGRDMXpjR1ZqYVdWekp5a29KMUpsWjBWNGNDY3BPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1ZG1GeUlISmxaMlY0Y0VWNFpXTWdQU0J5WlhGMWFYSmxLQ2N1TDE5eVpXZGxlSEF0WlhobFl5Y3BPMXh1Y21WeGRXbHlaU2duTGk5ZlpYaHdiM0owSnlrb2UxeHVJQ0IwWVhKblpYUTZJQ2RTWldkRmVIQW5MRnh1SUNCd2NtOTBiem9nZEhKMVpTeGNiaUFnWm05eVkyVmtPaUJ5WldkbGVIQkZlR1ZqSUNFOVBTQXZMaTh1WlhobFkxeHVmU3dnZTF4dUlDQmxlR1ZqT2lCeVpXZGxlSEJGZUdWalhHNTlLVHRjYmlJc0lpOHZJREl4TGpJdU5TNHpJR2RsZENCU1pXZEZlSEF1Y0hKdmRHOTBlWEJsTG1ac1lXZHpLQ2xjYm1sbUlDaHlaWEYxYVhKbEtDY3VMMTlrWlhOamNtbHdkRzl5Y3ljcElDWW1JQzh1TDJjdVpteGhaM01nSVQwZ0oyY25LU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WkhBbktTNW1LRkpsWjBWNGNDNXdjbTkwYjNSNWNHVXNJQ2RtYkdGbmN5Y3NJSHRjYmlBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbExGeHVJQ0JuWlhRNklISmxjWFZwY21Vb0p5NHZYMlpzWVdkekp5bGNibjBwTzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnWVc1UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOWhiaTF2WW1wbFkzUW5LVHRjYm5aaGNpQjBiMHhsYm1kMGFDQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxXeGxibWQwYUNjcE8xeHVkbUZ5SUdGa2RtRnVZMlZUZEhKcGJtZEpibVJsZUNBOUlISmxjWFZwY21Vb0p5NHZYMkZrZG1GdVkyVXRjM1J5YVc1bkxXbHVaR1Y0SnlrN1hHNTJZWElnY21WblJYaHdSWGhsWXlBOUlISmxjWFZwY21Vb0p5NHZYM0psWjJWNGNDMWxlR1ZqTFdGaWMzUnlZV04wSnlrN1hHNWNiaTh2SUVCQWJXRjBZMmdnYkc5bmFXTmNibkpsY1hWcGNtVW9KeTR2WDJacGVDMXlaUzEzYTNNbktTZ25iV0YwWTJnbkxDQXhMQ0JtZFc1amRHbHZiaUFvWkdWbWFXNWxaQ3dnVFVGVVEwZ3NJQ1J0WVhSamFDd2diV0Y1WW1WRFlXeHNUbUYwYVhabEtTQjdYRzRnSUhKbGRIVnliaUJiWEc0Z0lDQWdMeThnWUZOMGNtbHVaeTV3Y205MGIzUjVjR1V1YldGMFkyaGdJRzFsZEdodlpGeHVJQ0FnSUM4dklHaDBkSEJ6T2k4dmRHTXpPUzVuYVhSb2RXSXVhVzh2WldOdFlUSTJNaThqYzJWakxYTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVdWJXRjBZMmhjYmlBZ0lDQm1kVzVqZEdsdmJpQnRZWFJqYUNoeVpXZGxlSEFwSUh0Y2JpQWdJQ0FnSUhaaGNpQlBJRDBnWkdWbWFXNWxaQ2gwYUdsektUdGNiaUFnSUNBZ0lIWmhjaUJtYmlBOUlISmxaMlY0Y0NBOVBTQjFibVJsWm1sdVpXUWdQeUIxYm1SbFptbHVaV1FnT2lCeVpXZGxlSEJiVFVGVVEwaGRPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWnVJQ0U5UFNCMWJtUmxabWx1WldRZ1B5Qm1iaTVqWVd4c0tISmxaMlY0Y0N3Z1R5a2dPaUJ1WlhjZ1VtVm5SWGh3S0hKbFoyVjRjQ2xiVFVGVVEwaGRLRk4wY21sdVp5aFBLU2s3WEc0Z0lDQWdmU3hjYmlBZ0lDQXZMeUJnVW1WblJYaHdMbkJ5YjNSdmRIbHdaVnRBUUcxaGRHTm9YV0FnYldWMGFHOWtYRzRnSUNBZ0x5OGdhSFIwY0hNNkx5OTBZek01TG1kcGRHaDFZaTVwYnk5bFkyMWhNall5THlOelpXTXRjbVZuWlhod0xuQnliM1J2ZEhsd1pTMUFRRzFoZEdOb1hHNGdJQ0FnWm5WdVkzUnBiMjRnS0hKbFoyVjRjQ2tnZTF4dUlDQWdJQ0FnZG1GeUlISmxjeUE5SUcxaGVXSmxRMkZzYkU1aGRHbDJaU2drYldGMFkyZ3NJSEpsWjJWNGNDd2dkR2hwY3lrN1hHNGdJQ0FnSUNCcFppQW9jbVZ6TG1SdmJtVXBJSEpsZEhWeWJpQnlaWE11ZG1Gc2RXVTdYRzRnSUNBZ0lDQjJZWElnY25nZ1BTQmhiazlpYW1WamRDaHlaV2RsZUhBcE8xeHVJQ0FnSUNBZ2RtRnlJRk1nUFNCVGRISnBibWNvZEdocGN5azdYRzRnSUNBZ0lDQnBaaUFvSVhKNExtZHNiMkpoYkNrZ2NtVjBkWEp1SUhKbFowVjRjRVY0WldNb2NuZ3NJRk1wTzF4dUlDQWdJQ0FnZG1GeUlHWjFiR3hWYm1samIyUmxJRDBnY25ndWRXNXBZMjlrWlR0Y2JpQWdJQ0FnSUhKNExteGhjM1JKYm1SbGVDQTlJREE3WEc0Z0lDQWdJQ0IyWVhJZ1FTQTlJRnRkTzF4dUlDQWdJQ0FnZG1GeUlHNGdQU0F3TzF4dUlDQWdJQ0FnZG1GeUlISmxjM1ZzZER0Y2JpQWdJQ0FnSUhkb2FXeGxJQ2dvY21WemRXeDBJRDBnY21WblJYaHdSWGhsWXloeWVDd2dVeWtwSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ0WVhSamFGTjBjaUE5SUZOMGNtbHVaeWh5WlhOMWJIUmJNRjBwTzF4dUlDQWdJQ0FnSUNCQlcyNWRJRDBnYldGMFkyaFRkSEk3WEc0Z0lDQWdJQ0FnSUdsbUlDaHRZWFJqYUZOMGNpQTlQVDBnSnljcElISjRMbXhoYzNSSmJtUmxlQ0E5SUdGa2RtRnVZMlZUZEhKcGJtZEpibVJsZUNoVExDQjBiMHhsYm1kMGFDaHllQzVzWVhOMFNXNWtaWGdwTENCbWRXeHNWVzVwWTI5a1pTazdYRzRnSUNBZ0lDQWdJRzRyS3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJ1SUQwOVBTQXdJRDhnYm5Wc2JDQTZJRUU3WEc0Z0lDQWdmVnh1SUNCZE8xeHVmU2s3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJoYms5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnVMVzlpYW1WamRDY3BPMXh1ZG1GeUlIUnZUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGIySnFaV04wSnlrN1hHNTJZWElnZEc5TVpXNW5kR2dnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTFzWlc1bmRHZ25LVHRjYm5aaGNpQjBiMGx1ZEdWblpYSWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXBiblJsWjJWeUp5azdYRzUyWVhJZ1lXUjJZVzVqWlZOMGNtbHVaMGx1WkdWNElEMGdjbVZ4ZFdseVpTZ25MaTlmWVdSMllXNWpaUzF6ZEhKcGJtY3RhVzVrWlhnbktUdGNiblpoY2lCeVpXZEZlSEJGZUdWaklEMGdjbVZ4ZFdseVpTZ25MaTlmY21WblpYaHdMV1Y0WldNdFlXSnpkSEpoWTNRbktUdGNiblpoY2lCdFlYZ2dQU0JOWVhSb0xtMWhlRHRjYm5aaGNpQnRhVzRnUFNCTllYUm9MbTFwYmp0Y2JuWmhjaUJtYkc5dmNpQTlJRTFoZEdndVpteHZiM0k3WEc1MllYSWdVMVZDVTFSSlZGVlVTVTlPWDFOWlRVSlBURk1nUFNBdlhGd2tLRnNrSm1BblhYeGNYR1JjWEdRL2ZEeGJYajVkS2o0cEwyYzdYRzUyWVhJZ1UxVkNVMVJKVkZWVVNVOU9YMU5aVFVKUFRGTmZUazlmVGtGTlJVUWdQU0F2WEZ3a0tGc2tKbUFuWFh4Y1hHUmNYR1EvS1M5bk8xeHVYRzUyWVhJZ2JXRjVZbVZVYjFOMGNtbHVaeUE5SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCeVpYUjFjbTRnYVhRZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUdsMElEb2dVM1J5YVc1bktHbDBLVHRjYm4wN1hHNWNiaTh2SUVCQWNtVndiR0ZqWlNCc2IyZHBZMXh1Y21WeGRXbHlaU2duTGk5ZlptbDRMWEpsTFhkcmN5Y3BLQ2R5WlhCc1lXTmxKeXdnTWl3Z1puVnVZM1JwYjI0Z0tHUmxabWx1WldRc0lGSkZVRXhCUTBVc0lDUnlaWEJzWVdObExDQnRZWGxpWlVOaGJHeE9ZWFJwZG1VcElIdGNiaUFnY21WMGRYSnVJRnRjYmlBZ0lDQXZMeUJnVTNSeWFXNW5MbkJ5YjNSdmRIbHdaUzV5WlhCc1lXTmxZQ0J0WlhSb2IyUmNiaUFnSUNBdkx5Qm9kSFJ3Y3pvdkwzUmpNemt1WjJsMGFIVmlMbWx2TDJWamJXRXlOakl2STNObFl5MXpkSEpwYm1jdWNISnZkRzkwZVhCbExuSmxjR3hoWTJWY2JpQWdJQ0JtZFc1amRHbHZiaUJ5WlhCc1lXTmxLSE5sWVhKamFGWmhiSFZsTENCeVpYQnNZV05sVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJSFpoY2lCUElEMGdaR1ZtYVc1bFpDaDBhR2x6S1R0Y2JpQWdJQ0FnSUhaaGNpQm1iaUE5SUhObFlYSmphRlpoYkhWbElEMDlJSFZ1WkdWbWFXNWxaQ0EvSUhWdVpHVm1hVzVsWkNBNklITmxZWEpqYUZaaGJIVmxXMUpGVUV4QlEwVmRPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWnVJQ0U5UFNCMWJtUmxabWx1WldSY2JpQWdJQ0FnSUNBZ1B5Qm1iaTVqWVd4c0tITmxZWEpqYUZaaGJIVmxMQ0JQTENCeVpYQnNZV05sVm1Gc2RXVXBYRzRnSUNBZ0lDQWdJRG9nSkhKbGNHeGhZMlV1WTJGc2JDaFRkSEpwYm1jb1R5a3NJSE5sWVhKamFGWmhiSFZsTENCeVpYQnNZV05sVm1Gc2RXVXBPMXh1SUNBZ0lIMHNYRzRnSUNBZ0x5OGdZRkpsWjBWNGNDNXdjbTkwYjNSNWNHVmJRRUJ5WlhCc1lXTmxYV0FnYldWMGFHOWtYRzRnSUNBZ0x5OGdhSFIwY0hNNkx5OTBZek01TG1kcGRHaDFZaTVwYnk5bFkyMWhNall5THlOelpXTXRjbVZuWlhod0xuQnliM1J2ZEhsd1pTMUFRSEpsY0d4aFkyVmNiaUFnSUNCbWRXNWpkR2x2YmlBb2NtVm5aWGh3TENCeVpYQnNZV05sVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJSFpoY2lCeVpYTWdQU0J0WVhsaVpVTmhiR3hPWVhScGRtVW9KSEpsY0d4aFkyVXNJSEpsWjJWNGNDd2dkR2hwY3l3Z2NtVndiR0ZqWlZaaGJIVmxLVHRjYmlBZ0lDQWdJR2xtSUNoeVpYTXVaRzl1WlNrZ2NtVjBkWEp1SUhKbGN5NTJZV3gxWlR0Y2JseHVJQ0FnSUNBZ2RtRnlJSEo0SUQwZ1lXNVBZbXBsWTNRb2NtVm5aWGh3S1R0Y2JpQWdJQ0FnSUhaaGNpQlRJRDBnVTNSeWFXNW5LSFJvYVhNcE8xeHVJQ0FnSUNBZ2RtRnlJR1oxYm1OMGFXOXVZV3hTWlhCc1lXTmxJRDBnZEhsd1pXOW1JSEpsY0d4aFkyVldZV3gxWlNBOVBUMGdKMloxYm1OMGFXOXVKenRjYmlBZ0lDQWdJR2xtSUNnaFpuVnVZM1JwYjI1aGJGSmxjR3hoWTJVcElISmxjR3hoWTJWV1lXeDFaU0E5SUZOMGNtbHVaeWh5WlhCc1lXTmxWbUZzZFdVcE8xeHVJQ0FnSUNBZ2RtRnlJR2RzYjJKaGJDQTlJSEo0TG1kc2IySmhiRHRjYmlBZ0lDQWdJR2xtSUNobmJHOWlZV3dwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR1oxYkd4VmJtbGpiMlJsSUQwZ2NuZ3VkVzVwWTI5a1pUdGNiaUFnSUNBZ0lDQWdjbmd1YkdGemRFbHVaR1Y0SUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lIWmhjaUJ5WlhOMWJIUnpJRDBnVzEwN1hHNGdJQ0FnSUNCM2FHbHNaU0FvZEhKMVpTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NtVnpkV3gwSUQwZ2NtVm5SWGh3UlhobFl5aHllQ3dnVXlrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMWJIUWdQVDA5SUc1MWJHd3BJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQnlaWE4xYkhSekxuQjFjMmdvY21WemRXeDBLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRm5iRzlpWVd3cElHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCMllYSWdiV0YwWTJoVGRISWdQU0JUZEhKcGJtY29jbVZ6ZFd4MFd6QmRLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHMWhkR05vVTNSeUlEMDlQU0FuSnlrZ2NuZ3ViR0Z6ZEVsdVpHVjRJRDBnWVdSMllXNWpaVk4wY21sdVowbHVaR1Y0S0ZNc0lIUnZUR1Z1WjNSb0tISjRMbXhoYzNSSmJtUmxlQ2tzSUdaMWJHeFZibWxqYjJSbEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lIWmhjaUJoWTJOMWJYVnNZWFJsWkZKbGMzVnNkQ0E5SUNjbk8xeHVJQ0FnSUNBZ2RtRnlJRzVsZUhSVGIzVnlZMlZRYjNOcGRHbHZiaUE5SURBN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElISmxjM1ZzZEhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnY21WemRXeDBJRDBnY21WemRXeDBjMXRwWFR0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzFoZEdOb1pXUWdQU0JUZEhKcGJtY29jbVZ6ZFd4MFd6QmRLVHRjYmlBZ0lDQWdJQ0FnZG1GeUlIQnZjMmwwYVc5dUlEMGdiV0Y0S0cxcGJpaDBiMGx1ZEdWblpYSW9jbVZ6ZFd4MExtbHVaR1Y0S1N3Z1V5NXNaVzVuZEdncExDQXdLVHRjYmlBZ0lDQWdJQ0FnZG1GeUlHTmhjSFIxY21WeklEMGdXMTA3WEc0Z0lDQWdJQ0FnSUM4dklFNVBWRVU2SUZSb2FYTWdhWE1nWlhGMWFYWmhiR1Z1ZENCMGIxeHVJQ0FnSUNBZ0lDQXZMeUFnSUdOaGNIUjFjbVZ6SUQwZ2NtVnpkV3gwTG5Oc2FXTmxLREVwTG0xaGNDaHRZWGxpWlZSdlUzUnlhVzVuS1Z4dUlDQWdJQ0FnSUNBdkx5QmlkWFFnWm05eUlITnZiV1VnY21WaGMyOXVJR0J1WVhScGRtVlRiR2xqWlM1allXeHNLSEpsYzNWc2RDd2dNU3dnY21WemRXeDBMbXhsYm1kMGFDbGdJQ2hqWVd4c1pXUWdhVzVjYmlBZ0lDQWdJQ0FnTHk4Z2RHaGxJSE5zYVdObElIQnZiSGxtYVd4c0lIZG9aVzRnYzJ4cFkybHVaeUJ1WVhScGRtVWdZWEp5WVhsektTQmNJbVJ2WlhOdUozUWdkMjl5YTF3aUlHbHVJSE5oWm1GeWFTQTVJR0Z1WkZ4dUlDQWdJQ0FnSUNBdkx5QmpZWFZ6WlhNZ1lTQmpjbUZ6YUNBb2FIUjBjSE02THk5d1lYTjBaV0pwYmk1amIyMHZUakl4VVhwbFVVRXBJSGRvWlc0Z2RISjVhVzVuSUhSdklHUmxZblZuSUdsMExseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTVRzZ2FpQThJSEpsYzNWc2RDNXNaVzVuZEdnN0lHb3JLeWtnWTJGd2RIVnlaWE11Y0hWemFDaHRZWGxpWlZSdlUzUnlhVzVuS0hKbGMzVnNkRnRxWFNrcE8xeHVJQ0FnSUNBZ0lDQjJZWElnYm1GdFpXUkRZWEIwZFhKbGN5QTlJSEpsYzNWc2RDNW5jbTkxY0hNN1hHNGdJQ0FnSUNBZ0lHbG1JQ2htZFc1amRHbHZibUZzVW1Wd2JHRmpaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ5WlhCc1lXTmxja0Z5WjNNZ1BTQmJiV0YwWTJobFpGMHVZMjl1WTJGMEtHTmhjSFIxY21WekxDQndiM05wZEdsdmJpd2dVeWs3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRzVoYldWa1EyRndkSFZ5WlhNZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnY21Wd2JHRmpaWEpCY21kekxuQjFjMmdvYm1GdFpXUkRZWEIwZFhKbGN5azdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlISmxjR3hoWTJWdFpXNTBJRDBnVTNSeWFXNW5LSEpsY0d4aFkyVldZV3gxWlM1aGNIQnNlU2gxYm1SbFptbHVaV1FzSUhKbGNHeGhZMlZ5UVhKbmN5a3BPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUhKbGNHeGhZMlZ0Wlc1MElEMGdaMlYwVTNWaWMzUnBkSFYwYVc5dUtHMWhkR05vWldRc0lGTXNJSEJ2YzJsMGFXOXVMQ0JqWVhCMGRYSmxjeXdnYm1GdFpXUkRZWEIwZFhKbGN5d2djbVZ3YkdGalpWWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvY0c5emFYUnBiMjRnUGowZ2JtVjRkRk52ZFhKalpWQnZjMmwwYVc5dUtTQjdYRzRnSUNBZ0lDQWdJQ0FnWVdOamRXMTFiR0YwWldSU1pYTjFiSFFnS3owZ1V5NXpiR2xqWlNodVpYaDBVMjkxY21ObFVHOXphWFJwYjI0c0lIQnZjMmwwYVc5dUtTQXJJSEpsY0d4aFkyVnRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lHNWxlSFJUYjNWeVkyVlFiM05wZEdsdmJpQTlJSEJ2YzJsMGFXOXVJQ3NnYldGMFkyaGxaQzVzWlc1bmRHZzdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQmhZMk4xYlhWc1lYUmxaRkpsYzNWc2RDQXJJRk11YzJ4cFkyVW9ibVY0ZEZOdmRYSmpaVkJ2YzJsMGFXOXVLVHRjYmlBZ0lDQjlYRzRnSUYwN1hHNWNiaUFnSUNBdkx5Qm9kSFJ3Y3pvdkwzUmpNemt1WjJsMGFIVmlMbWx2TDJWamJXRXlOakl2STNObFl5MW5aWFJ6ZFdKemRHbDBkWFJwYjI1Y2JpQWdablZ1WTNScGIyNGdaMlYwVTNWaWMzUnBkSFYwYVc5dUtHMWhkR05vWldRc0lITjBjaXdnY0c5emFYUnBiMjRzSUdOaGNIUjFjbVZ6TENCdVlXMWxaRU5oY0hSMWNtVnpMQ0J5WlhCc1lXTmxiV1Z1ZENrZ2UxeHVJQ0FnSUhaaGNpQjBZV2xzVUc5eklEMGdjRzl6YVhScGIyNGdLeUJ0WVhSamFHVmtMbXhsYm1kMGFEdGNiaUFnSUNCMllYSWdiU0E5SUdOaGNIUjFjbVZ6TG14bGJtZDBhRHRjYmlBZ0lDQjJZWElnYzNsdFltOXNjeUE5SUZOVlFsTlVTVlJWVkVsUFRsOVRXVTFDVDB4VFgwNVBYMDVCVFVWRU8xeHVJQ0FnSUdsbUlDaHVZVzFsWkVOaGNIUjFjbVZ6SUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJRzVoYldWa1EyRndkSFZ5WlhNZ1BTQjBiMDlpYW1WamRDaHVZVzFsWkVOaGNIUjFjbVZ6S1R0Y2JpQWdJQ0FnSUhONWJXSnZiSE1nUFNCVFZVSlRWRWxVVlZSSlQwNWZVMWxOUWs5TVV6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJQ1J5WlhCc1lXTmxMbU5oYkd3b2NtVndiR0ZqWlcxbGJuUXNJSE41YldKdmJITXNJR1oxYm1OMGFXOXVJQ2h0WVhSamFDd2dZMmdwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpZWEIwZFhKbE8xeHVJQ0FnSUNBZ2MzZHBkR05vSUNoamFDNWphR0Z5UVhRb01Da3BJSHRjYmlBZ0lDQWdJQ0FnWTJGelpTQW5KQ2M2SUhKbGRIVnliaUFuSkNjN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSnlZbk9pQnlaWFIxY200Z2JXRjBZMmhsWkR0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0FuWUNjNklISmxkSFZ5YmlCemRISXVjMnhwWTJVb01Dd2djRzl6YVhScGIyNHBPMXh1SUNBZ0lDQWdJQ0JqWVhObElGd2lKMXdpT2lCeVpYUjFjbTRnYzNSeUxuTnNhV05sS0hSaGFXeFFiM01wTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2M4SnpwY2JpQWdJQ0FnSUNBZ0lDQmpZWEIwZFhKbElEMGdibUZ0WldSRFlYQjBkWEpsYzF0amFDNXpiR2xqWlNneExDQXRNU2xkTzF4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCa1pXWmhkV3gwT2lBdkx5QmNYR1JjWEdRL1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUc0Z1BTQXJZMmc3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRzRnUFQwOUlEQXBJSEpsZEhWeWJpQmphRHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9iaUErSUcwcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQm1JRDBnWm14dmIzSW9iaUF2SURFd0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaG1JRDA5UFNBd0tTQnlaWFIxY200Z1kyZzdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aaUE4UFNCdEtTQnlaWFIxY200Z1kyRndkSFZ5WlhOYlppQXRJREZkSUQwOVBTQjFibVJsWm1sdVpXUWdQeUJqYUM1amFHRnlRWFFvTVNrZ09pQmpZWEIwZFhKbGMxdG1JQzBnTVYwZ0t5QmphQzVqYUdGeVFYUW9NU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyZzdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lHTmhjSFIxY21VZ1BTQmpZWEIwZFhKbGMxdHVJQzBnTVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnWTJGd2RIVnlaU0E5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdKeWNnT2lCallYQjBkWEpsTzF4dUlDQWdJSDBwTzF4dUlDQjlYRzU5S1R0Y2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUdGdVQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZZVzR0YjJKcVpXTjBKeWs3WEc1MllYSWdjMkZ0WlZaaGJIVmxJRDBnY21WeGRXbHlaU2duTGk5ZmMyRnRaUzEyWVd4MVpTY3BPMXh1ZG1GeUlISmxaMFY0Y0VWNFpXTWdQU0J5WlhGMWFYSmxLQ2N1TDE5eVpXZGxlSEF0WlhobFl5MWhZbk4wY21GamRDY3BPMXh1WEc0dkx5QkFRSE5sWVhKamFDQnNiMmRwWTF4dWNtVnhkV2x5WlNnbkxpOWZabWw0TFhKbExYZHJjeWNwS0NkelpXRnlZMmduTENBeExDQm1kVzVqZEdsdmJpQW9aR1ZtYVc1bFpDd2dVMFZCVWtOSUxDQWtjMlZoY21Ob0xDQnRZWGxpWlVOaGJHeE9ZWFJwZG1VcElIdGNiaUFnY21WMGRYSnVJRnRjYmlBZ0lDQXZMeUJnVTNSeWFXNW5MbkJ5YjNSdmRIbHdaUzV6WldGeVkyaGdJRzFsZEdodlpGeHVJQ0FnSUM4dklHaDBkSEJ6T2k4dmRHTXpPUzVuYVhSb2RXSXVhVzh2WldOdFlUSTJNaThqYzJWakxYTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVdWMyVmhjbU5vWEc0Z0lDQWdablZ1WTNScGIyNGdjMlZoY21Ob0tISmxaMlY0Y0NrZ2UxeHVJQ0FnSUNBZ2RtRnlJRThnUFNCa1pXWnBibVZrS0hSb2FYTXBPMXh1SUNBZ0lDQWdkbUZ5SUdadUlEMGdjbVZuWlhod0lEMDlJSFZ1WkdWbWFXNWxaQ0EvSUhWdVpHVm1hVzVsWkNBNklISmxaMlY0Y0Z0VFJVRlNRMGhkTzF4dUlDQWdJQ0FnY21WMGRYSnVJR1p1SUNFOVBTQjFibVJsWm1sdVpXUWdQeUJtYmk1allXeHNLSEpsWjJWNGNDd2dUeWtnT2lCdVpYY2dVbVZuUlhod0tISmxaMlY0Y0NsYlUwVkJVa05JWFNoVGRISnBibWNvVHlrcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHk4Z1lGSmxaMFY0Y0M1d2NtOTBiM1I1Y0dWYlFFQnpaV0Z5WTJoZFlDQnRaWFJvYjJSY2JpQWdJQ0F2THlCb2RIUndjem92TDNSak16a3VaMmwwYUhWaUxtbHZMMlZqYldFeU5qSXZJM05sWXkxeVpXZGxlSEF1Y0hKdmRHOTBlWEJsTFVCQWMyVmhjbU5vWEc0Z0lDQWdablZ1WTNScGIyNGdLSEpsWjJWNGNDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhKbGN5QTlJRzFoZVdKbFEyRnNiRTVoZEdsMlpTZ2tjMlZoY21Ob0xDQnlaV2RsZUhBc0lIUm9hWE1wTzF4dUlDQWdJQ0FnYVdZZ0tISmxjeTVrYjI1bEtTQnlaWFIxY200Z2NtVnpMblpoYkhWbE8xeHVJQ0FnSUNBZ2RtRnlJSEo0SUQwZ1lXNVBZbXBsWTNRb2NtVm5aWGh3S1R0Y2JpQWdJQ0FnSUhaaGNpQlRJRDBnVTNSeWFXNW5LSFJvYVhNcE8xeHVJQ0FnSUNBZ2RtRnlJSEJ5WlhacGIzVnpUR0Z6ZEVsdVpHVjRJRDBnY25ndWJHRnpkRWx1WkdWNE8xeHVJQ0FnSUNBZ2FXWWdLQ0Z6WVcxbFZtRnNkV1VvY0hKbGRtbHZkWE5NWVhOMFNXNWtaWGdzSURBcEtTQnllQzVzWVhOMFNXNWtaWGdnUFNBd08xeHVJQ0FnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJSEpsWjBWNGNFVjRaV01vY25nc0lGTXBPMXh1SUNBZ0lDQWdhV1lnS0NGellXMWxWbUZzZFdVb2NuZ3ViR0Z6ZEVsdVpHVjRMQ0J3Y21WMmFXOTFjMHhoYzNSSmJtUmxlQ2twSUhKNExteGhjM1JKYm1SbGVDQTlJSEJ5WlhacGIzVnpUR0Z6ZEVsdVpHVjRPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZENBOVBUMGdiblZzYkNBL0lDMHhJRG9nY21WemRXeDBMbWx1WkdWNE8xeHVJQ0FnSUgxY2JpQWdYVHRjYm4wcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ2FYTlNaV2RGZUhBZ1BTQnlaWEYxYVhKbEtDY3VMMTlwY3kxeVpXZGxlSEFuS1R0Y2JuWmhjaUJoYms5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnVMVzlpYW1WamRDY3BPMXh1ZG1GeUlITndaV05wWlhORGIyNXpkSEoxWTNSdmNpQTlJSEpsY1hWcGNtVW9KeTR2WDNOd1pXTnBaWE10WTI5dWMzUnlkV04wYjNJbktUdGNiblpoY2lCaFpIWmhibU5sVTNSeWFXNW5TVzVrWlhnZ1BTQnlaWEYxYVhKbEtDY3VMMTloWkhaaGJtTmxMWE4wY21sdVp5MXBibVJsZUNjcE8xeHVkbUZ5SUhSdlRHVnVaM1JvSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YkdWdVozUm9KeWs3WEc1MllYSWdZMkZzYkZKbFowVjRjRVY0WldNZ1BTQnlaWEYxYVhKbEtDY3VMMTl5WldkbGVIQXRaWGhsWXkxaFluTjBjbUZqZENjcE8xeHVkbUZ5SUhKbFoyVjRjRVY0WldNZ1BTQnlaWEYxYVhKbEtDY3VMMTl5WldkbGVIQXRaWGhsWXljcE8xeHVkbUZ5SUNSdGFXNGdQU0JOWVhSb0xtMXBianRjYm5aaGNpQWtjSFZ6YUNBOUlGdGRMbkIxYzJnN1hHNTJZWElnSkZOUVRFbFVJRDBnSjNOd2JHbDBKenRjYm5aaGNpQk1SVTVIVkVnZ1BTQW5iR1Z1WjNSb0p6dGNiblpoY2lCTVFWTlVYMGxPUkVWWUlEMGdKMnhoYzNSSmJtUmxlQ2M3WEc1Y2JpOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTFsYlhCMGVWeHVkbUZ5SUZOVlVGQlBVbFJUWDFrZ1BTQWhJU2htZFc1amRHbHZiaUFvS1NCN0lIUnllU0I3SUhKbGRIVnliaUJ1WlhjZ1VtVm5SWGh3S0NkNEp5d2dKM2tuS1RzZ2ZTQmpZWFJqYUNBb1pTa2dlMzBnZlNrb0tUdGNibHh1THk4Z1FFQnpjR3hwZENCc2IyZHBZMXh1Y21WeGRXbHlaU2duTGk5ZlptbDRMWEpsTFhkcmN5Y3BLQ2R6Y0d4cGRDY3NJRElzSUdaMWJtTjBhVzl1SUNoa1pXWnBibVZrTENCVFVFeEpWQ3dnSkhOd2JHbDBMQ0J0WVhsaVpVTmhiR3hPWVhScGRtVXBJSHRjYmlBZ2RtRnlJR2x1ZEdWeWJtRnNVM0JzYVhRN1hHNGdJR2xtSUNoY2JpQWdJQ0FuWVdKaVl5ZGJKRk5RVEVsVVhTZ3ZLR0lwS2k4cFd6RmRJRDA5SUNkakp5QjhmRnh1SUNBZ0lDZDBaWE4wSjFza1UxQk1TVlJkS0M4b1B6b3BMeXdnTFRFcFcweEZUa2RVU0YwZ0lUMGdOQ0I4ZkZ4dUlDQWdJQ2RoWWlkYkpGTlFURWxVWFNndktEODZZV0lwS2k4cFcweEZUa2RVU0YwZ0lUMGdNaUI4ZkZ4dUlDQWdJQ2N1SjFza1UxQk1TVlJkS0M4b0xqOHBLQzQvS1M4cFcweEZUa2RVU0YwZ0lUMGdOQ0I4ZkZ4dUlDQWdJQ2N1SjFza1UxQk1TVlJkS0M4b0tTZ3BMeWxiVEVWT1IxUklYU0ErSURFZ2ZIeGNiaUFnSUNBbkoxc2tVMUJNU1ZSZEtDOHVQeThwVzB4RlRrZFVTRjFjYmlBZ0tTQjdYRzRnSUNBZ0x5OGdZbUZ6WldRZ2IyNGdaWE0xTFhOb2FXMGdhVzF3YkdWdFpXNTBZWFJwYjI0c0lHNWxaV1FnZEc4Z2NtVjNiM0pySUdsMFhHNGdJQ0FnYVc1MFpYSnVZV3hUY0d4cGRDQTlJR1oxYm1OMGFXOXVJQ2h6WlhCaGNtRjBiM0lzSUd4cGJXbDBLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2MzUnlhVzVuSUQwZ1UzUnlhVzVuS0hSb2FYTXBPMXh1SUNBZ0lDQWdhV1lnS0hObGNHRnlZWFJ2Y2lBOVBUMGdkVzVrWldacGJtVmtJQ1ltSUd4cGJXbDBJRDA5UFNBd0tTQnlaWFIxY200Z1cxMDdYRzRnSUNBZ0lDQXZMeUJKWmlCZ2MyVndZWEpoZEc5eVlDQnBjeUJ1YjNRZ1lTQnlaV2RsZUN3Z2RYTmxJRzVoZEdsMlpTQnpjR3hwZEZ4dUlDQWdJQ0FnYVdZZ0tDRnBjMUpsWjBWNGNDaHpaWEJoY21GMGIzSXBLU0J5WlhSMWNtNGdKSE53YkdsMExtTmhiR3dvYzNSeWFXNW5MQ0J6WlhCaGNtRjBiM0lzSUd4cGJXbDBLVHRjYmlBZ0lDQWdJSFpoY2lCdmRYUndkWFFnUFNCYlhUdGNiaUFnSUNBZ0lIWmhjaUJtYkdGbmN5QTlJQ2h6WlhCaGNtRjBiM0l1YVdkdWIzSmxRMkZ6WlNBL0lDZHBKeUE2SUNjbktTQXJYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FvYzJWd1lYSmhkRzl5TG0xMWJIUnBiR2x1WlNBL0lDZHRKeUE2SUNjbktTQXJYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FvYzJWd1lYSmhkRzl5TG5WdWFXTnZaR1VnUHlBbmRTY2dPaUFuSnlrZ0sxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLSE5sY0dGeVlYUnZjaTV6ZEdsamEza2dQeUFuZVNjZ09pQW5KeWs3WEc0Z0lDQWdJQ0IyWVhJZ2JHRnpkRXhoYzNSSmJtUmxlQ0E5SURBN1hHNGdJQ0FnSUNCMllYSWdjM0JzYVhSTWFXMXBkQ0E5SUd4cGJXbDBJRDA5UFNCMWJtUmxabWx1WldRZ1B5QTBNamswT1RZM01qazFJRG9nYkdsdGFYUWdQajQrSURBN1hHNGdJQ0FnSUNBdkx5Qk5ZV3RsSUdCbmJHOWlZV3hnSUdGdVpDQmhkbTlwWkNCZ2JHRnpkRWx1WkdWNFlDQnBjM04xWlhNZ1lua2dkMjl5YTJsdVp5QjNhWFJvSUdFZ1kyOXdlVnh1SUNBZ0lDQWdkbUZ5SUhObGNHRnlZWFJ2Y2tOdmNIa2dQU0J1WlhjZ1VtVm5SWGh3S0hObGNHRnlZWFJ2Y2k1emIzVnlZMlVzSUdac1lXZHpJQ3NnSjJjbktUdGNiaUFnSUNBZ0lIWmhjaUJ0WVhSamFDd2diR0Z6ZEVsdVpHVjRMQ0JzWVhOMFRHVnVaM1JvTzF4dUlDQWdJQ0FnZDJocGJHVWdLRzFoZEdOb0lEMGdjbVZuWlhod1JYaGxZeTVqWVd4c0tITmxjR0Z5WVhSdmNrTnZjSGtzSUhOMGNtbHVaeWtwSUh0Y2JpQWdJQ0FnSUNBZ2JHRnpkRWx1WkdWNElEMGdjMlZ3WVhKaGRHOXlRMjl3ZVZ0TVFWTlVYMGxPUkVWWVhUdGNiaUFnSUNBZ0lDQWdhV1lnS0d4aGMzUkpibVJsZUNBK0lHeGhjM1JNWVhOMFNXNWtaWGdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnZkWFJ3ZFhRdWNIVnphQ2h6ZEhKcGJtY3VjMnhwWTJVb2JHRnpkRXhoYzNSSmJtUmxlQ3dnYldGMFkyZ3VhVzVrWlhncEtUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2JXRjBZMmhiVEVWT1IxUklYU0ErSURFZ0ppWWdiV0YwWTJndWFXNWtaWGdnUENCemRISnBibWRiVEVWT1IxUklYU2tnSkhCMWMyZ3VZWEJ3Ykhrb2IzVjBjSFYwTENCdFlYUmphQzV6YkdsalpTZ3hLU2s3WEc0Z0lDQWdJQ0FnSUNBZ2JHRnpkRXhsYm1kMGFDQTlJRzFoZEdOb1d6QmRXMHhGVGtkVVNGMDdYRzRnSUNBZ0lDQWdJQ0FnYkdGemRFeGhjM1JKYm1SbGVDQTlJR3hoYzNSSmJtUmxlRHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9iM1YwY0hWMFcweEZUa2RVU0YwZ1BqMGdjM0JzYVhSTWFXMXBkQ2tnWW5KbFlXczdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tITmxjR0Z5WVhSdmNrTnZjSGxiVEVGVFZGOUpUa1JGV0YwZ1BUMDlJRzFoZEdOb0xtbHVaR1Y0S1NCelpYQmhjbUYwYjNKRGIzQjVXMHhCVTFSZlNVNUVSVmhkS3lzN0lDOHZJRUYyYjJsa0lHRnVJR2x1Wm1sdWFYUmxJR3h2YjNCY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaHNZWE4wVEdGemRFbHVaR1Y0SUQwOVBTQnpkSEpwYm1kYlRFVk9SMVJJWFNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYkdGemRFeGxibWQwYUNCOGZDQWhjMlZ3WVhKaGRHOXlRMjl3ZVM1MFpYTjBLQ2NuS1NrZ2IzVjBjSFYwTG5CMWMyZ29KeWNwTzF4dUlDQWdJQ0FnZlNCbGJITmxJRzkxZEhCMWRDNXdkWE5vS0hOMGNtbHVaeTV6YkdsalpTaHNZWE4wVEdGemRFbHVaR1Y0S1NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYjNWMGNIVjBXMHhGVGtkVVNGMGdQaUJ6Y0d4cGRFeHBiV2wwSUQ4Z2IzVjBjSFYwTG5Oc2FXTmxLREFzSUhOd2JHbDBUR2x0YVhRcElEb2diM1YwY0hWME8xeHVJQ0FnSUgwN1hHNGdJQzh2SUVOb1lXdHlZU3dnVmpoY2JpQWdmU0JsYkhObElHbG1JQ2duTUNkYkpGTlFURWxVWFNoMWJtUmxabWx1WldRc0lEQXBXMHhGVGtkVVNGMHBJSHRjYmlBZ0lDQnBiblJsY201aGJGTndiR2wwSUQwZ1puVnVZM1JwYjI0Z0tITmxjR0Z5WVhSdmNpd2diR2x0YVhRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCelpYQmhjbUYwYjNJZ1BUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCc2FXMXBkQ0E5UFQwZ01DQS9JRnRkSURvZ0pITndiR2wwTG1OaGJHd29kR2hwY3l3Z2MyVndZWEpoZEc5eUxDQnNhVzFwZENrN1hHNGdJQ0FnZlR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCcGJuUmxjbTVoYkZOd2JHbDBJRDBnSkhOd2JHbDBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRnRjYmlBZ0lDQXZMeUJnVTNSeWFXNW5MbkJ5YjNSdmRIbHdaUzV6Y0d4cGRHQWdiV1YwYUc5a1hHNGdJQ0FnTHk4Z2FIUjBjSE02THk5MFl6TTVMbWRwZEdoMVlpNXBieTlsWTIxaE1qWXlMeU56WldNdGMzUnlhVzVuTG5CeWIzUnZkSGx3WlM1emNHeHBkRnh1SUNBZ0lHWjFibU4wYVc5dUlITndiR2wwS0hObGNHRnlZWFJ2Y2l3Z2JHbHRhWFFwSUh0Y2JpQWdJQ0FnSUhaaGNpQlBJRDBnWkdWbWFXNWxaQ2gwYUdsektUdGNiaUFnSUNBZ0lIWmhjaUJ6Y0d4cGRIUmxjaUE5SUhObGNHRnlZWFJ2Y2lBOVBTQjFibVJsWm1sdVpXUWdQeUIxYm1SbFptbHVaV1FnT2lCelpYQmhjbUYwYjNKYlUxQk1TVlJkTzF4dUlDQWdJQ0FnY21WMGRYSnVJSE53YkdsMGRHVnlJQ0U5UFNCMWJtUmxabWx1WldSY2JpQWdJQ0FnSUNBZ1B5QnpjR3hwZEhSbGNpNWpZV3hzS0hObGNHRnlZWFJ2Y2l3Z1R5d2diR2x0YVhRcFhHNGdJQ0FnSUNBZ0lEb2dhVzUwWlhKdVlXeFRjR3hwZEM1allXeHNLRk4wY21sdVp5aFBLU3dnYzJWd1lYSmhkRzl5TENCc2FXMXBkQ2s3WEc0Z0lDQWdmU3hjYmlBZ0lDQXZMeUJnVW1WblJYaHdMbkJ5YjNSdmRIbHdaVnRBUUhOd2JHbDBYV0FnYldWMGFHOWtYRzRnSUNBZ0x5OGdhSFIwY0hNNkx5OTBZek01TG1kcGRHaDFZaTVwYnk5bFkyMWhNall5THlOelpXTXRjbVZuWlhod0xuQnliM1J2ZEhsd1pTMUFRSE53YkdsMFhHNGdJQ0FnTHk5Y2JpQWdJQ0F2THlCT1QxUkZPaUJVYUdseklHTmhibTV2ZENCaVpTQndjbTl3WlhKc2VTQndiMng1Wm1sc2JHVmtJR2x1SUdWdVoybHVaWE1nZEdoaGRDQmtiMjRuZENCemRYQndiM0owWEc0Z0lDQWdMeThnZEdobElDZDVKeUJtYkdGbkxseHVJQ0FnSUdaMWJtTjBhVzl1SUNoeVpXZGxlSEFzSUd4cGJXbDBLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NtVnpJRDBnYldGNVltVkRZV3hzVG1GMGFYWmxLR2x1ZEdWeWJtRnNVM0JzYVhRc0lISmxaMlY0Y0N3Z2RHaHBjeXdnYkdsdGFYUXNJR2x1ZEdWeWJtRnNVM0JzYVhRZ0lUMDlJQ1J6Y0d4cGRDazdYRzRnSUNBZ0lDQnBaaUFvY21WekxtUnZibVVwSUhKbGRIVnliaUJ5WlhNdWRtRnNkV1U3WEc1Y2JpQWdJQ0FnSUhaaGNpQnllQ0E5SUdGdVQySnFaV04wS0hKbFoyVjRjQ2s3WEc0Z0lDQWdJQ0IyWVhJZ1V5QTlJRk4wY21sdVp5aDBhR2x6S1R0Y2JpQWdJQ0FnSUhaaGNpQkRJRDBnYzNCbFkybGxjME52Ym5OMGNuVmpkRzl5S0hKNExDQlNaV2RGZUhBcE8xeHVYRzRnSUNBZ0lDQjJZWElnZFc1cFkyOWtaVTFoZEdOb2FXNW5JRDBnY25ndWRXNXBZMjlrWlR0Y2JpQWdJQ0FnSUhaaGNpQm1iR0ZuY3lBOUlDaHllQzVwWjI1dmNtVkRZWE5sSUQ4Z0oya25JRG9nSnljcElDdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS0hKNExtMTFiSFJwYkdsdVpTQS9JQ2R0SnlBNklDY25LU0FyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDaHllQzUxYm1samIyUmxJRDhnSjNVbklEb2dKeWNwSUN0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLRk5WVUZCUFVsUlRYMWtnUHlBbmVTY2dPaUFuWnljcE8xeHVYRzRnSUNBZ0lDQXZMeUJlS0Q4Z0t5QnllQ0FySUNrZ2FYTWdibVZsWkdWa0xDQnBiaUJqYjIxaWFXNWhkR2x2YmlCM2FYUm9JSE52YldVZ1V5QnpiR2xqYVc1bkxDQjBiMXh1SUNBZ0lDQWdMeThnYzJsdGRXeGhkR1VnZEdobElDZDVKeUJtYkdGbkxseHVJQ0FnSUNBZ2RtRnlJSE53YkdsMGRHVnlJRDBnYm1WM0lFTW9VMVZRVUU5U1ZGTmZXU0EvSUhKNElEb2dKMTRvUHpvbklDc2djbmd1YzI5MWNtTmxJQ3NnSnlrbkxDQm1iR0ZuY3lrN1hHNGdJQ0FnSUNCMllYSWdiR2x0SUQwZ2JHbHRhWFFnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JREI0Wm1abVptWm1abVlnT2lCc2FXMXBkQ0ErUGo0Z01EdGNiaUFnSUNBZ0lHbG1JQ2hzYVcwZ1BUMDlJREFwSUhKbGRIVnliaUJiWFR0Y2JpQWdJQ0FnSUdsbUlDaFRMbXhsYm1kMGFDQTlQVDBnTUNrZ2NtVjBkWEp1SUdOaGJHeFNaV2RGZUhCRmVHVmpLSE53YkdsMGRHVnlMQ0JUS1NBOVBUMGdiblZzYkNBL0lGdFRYU0E2SUZ0ZE8xeHVJQ0FnSUNBZ2RtRnlJSEFnUFNBd08xeHVJQ0FnSUNBZ2RtRnlJSEVnUFNBd08xeHVJQ0FnSUNBZ2RtRnlJRUVnUFNCYlhUdGNiaUFnSUNBZ0lIZG9hV3hsSUNoeElEd2dVeTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJQ0FnYzNCc2FYUjBaWEl1YkdGemRFbHVaR1Y0SUQwZ1UxVlFVRTlTVkZOZldTQS9JSEVnT2lBd08xeHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlHTmhiR3hTWldkRmVIQkZlR1ZqS0hOd2JHbDBkR1Z5TENCVFZWQlFUMUpVVTE5WklEOGdVeUE2SUZNdWMyeHBZMlVvY1NrcE8xeHVJQ0FnSUNBZ0lDQjJZWElnWlR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdJQ0FnSUhvZ1BUMDlJRzUxYkd3Z2ZIeGNiaUFnSUNBZ0lDQWdJQ0FvWlNBOUlDUnRhVzRvZEc5TVpXNW5kR2dvYzNCc2FYUjBaWEl1YkdGemRFbHVaR1Y0SUNzZ0tGTlZVRkJQVWxSVFgxa2dQeUF3SURvZ2NTa3BMQ0JUTG14bGJtZDBhQ2twSUQwOVBTQndYRzRnSUNBZ0lDQWdJQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIRWdQU0JoWkhaaGJtTmxVM1J5YVc1blNXNWtaWGdvVXl3Z2NTd2dkVzVwWTI5a1pVMWhkR05vYVc1bktUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0JCTG5CMWMyZ29VeTV6YkdsalpTaHdMQ0J4S1NrN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0VFdWJHVnVaM1JvSUQwOVBTQnNhVzBwSUhKbGRIVnliaUJCTzF4dUlDQWdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F4T3lCcElEdzlJSG91YkdWdVozUm9JQzBnTVRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkJMbkIxYzJnb2VsdHBYU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvUVM1c1pXNW5kR2dnUFQwOUlHeHBiU2tnY21WMGRYSnVJRUU3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSEVnUFNCd0lEMGdaVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnUVM1d2RYTm9LRk11YzJ4cFkyVW9jQ2twTzF4dUlDQWdJQ0FnY21WMGRYSnVJRUU3WEc0Z0lDQWdmVnh1SUNCZE8xeHVmU2s3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc1eVpYRjFhWEpsS0NjdUwyVnpOaTV5WldkbGVIQXVabXhoWjNNbktUdGNiblpoY2lCaGJrOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMkZ1TFc5aWFtVmpkQ2NwTzF4dWRtRnlJQ1JtYkdGbmN5QTlJSEpsY1hWcGNtVW9KeTR2WDJac1lXZHpKeWs3WEc1MllYSWdSRVZUUTFKSlVGUlBVbE1nUFNCeVpYRjFhWEpsS0NjdUwxOWtaWE5qY21sd2RHOXljeWNwTzF4dWRtRnlJRlJQWDFOVVVrbE9SeUE5SUNkMGIxTjBjbWx1WnljN1hHNTJZWElnSkhSdlUzUnlhVzVuSUQwZ0x5NHZXMVJQWDFOVVVrbE9SMTA3WEc1Y2JuWmhjaUJrWldacGJtVWdQU0JtZFc1amRHbHZiaUFvWm00cElIdGNiaUFnY21WeGRXbHlaU2duTGk5ZmNtVmtaV1pwYm1VbktTaFNaV2RGZUhBdWNISnZkRzkwZVhCbExDQlVUMTlUVkZKSlRrY3NJR1p1TENCMGNuVmxLVHRjYm4wN1hHNWNiaTh2SURJeExqSXVOUzR4TkNCU1pXZEZlSEF1Y0hKdmRHOTBlWEJsTG5SdlUzUnlhVzVuS0NsY2JtbG1JQ2h5WlhGMWFYSmxLQ2N1TDE5bVlXbHNjeWNwS0daMWJtTjBhVzl1SUNncElIc2djbVYwZFhKdUlDUjBiMU4wY21sdVp5NWpZV3hzS0hzZ2MyOTFjbU5sT2lBbllTY3NJR1pzWVdkek9pQW5ZaWNnZlNrZ0lUMGdKeTloTDJJbk95QjlLU2tnZTF4dUlDQmtaV1pwYm1Vb1puVnVZM1JwYjI0Z2RHOVRkSEpwYm1jb0tTQjdYRzRnSUNBZ2RtRnlJRklnUFNCaGJrOWlhbVZqZENoMGFHbHpLVHRjYmlBZ0lDQnlaWFIxY200Z0p5OG5MbU52Ym1OaGRDaFNMbk52ZFhKalpTd2dKeThuTEZ4dUlDQWdJQ0FnSjJac1lXZHpKeUJwYmlCU0lEOGdVaTVtYkdGbmN5QTZJQ0ZFUlZORFVrbFFWRTlTVXlBbUppQlNJR2x1YzNSaGJtTmxiMllnVW1WblJYaHdJRDhnSkdac1lXZHpMbU5oYkd3b1Vpa2dPaUIxYm1SbFptbHVaV1FwTzF4dUlDQjlLVHRjYmk4dklFWkdORFF0SUZKbFowVjRjQ04wYjFOMGNtbHVaeUJvWVhNZ1lTQjNjbTl1WnlCdVlXMWxYRzU5SUdWc2MyVWdhV1lnS0NSMGIxTjBjbWx1Wnk1dVlXMWxJQ0U5SUZSUFgxTlVVa2xPUnlrZ2UxeHVJQ0JrWldacGJtVW9ablZ1WTNScGIyNGdkRzlUZEhKcGJtY29LU0I3WEc0Z0lDQWdjbVYwZFhKdUlDUjBiMU4wY21sdVp5NWpZV3hzS0hSb2FYTXBPMXh1SUNCOUtUdGNibjFjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQnpkSEp2Ym1jZ1BTQnlaWEYxYVhKbEtDY3VMMTlqYjJ4c1pXTjBhVzl1TFhOMGNtOXVaeWNwTzF4dWRtRnlJSFpoYkdsa1lYUmxJRDBnY21WeGRXbHlaU2duTGk5ZmRtRnNhV1JoZEdVdFkyOXNiR1ZqZEdsdmJpY3BPMXh1ZG1GeUlGTkZWQ0E5SUNkVFpYUW5PMXh1WEc0dkx5QXlNeTR5SUZObGRDQlBZbXBsWTNSelhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb0p5NHZYMk52Ykd4bFkzUnBiMjRuS1NoVFJWUXNJR1oxYm1OMGFXOXVJQ2huWlhRcElIdGNiaUFnY21WMGRYSnVJR1oxYm1OMGFXOXVJRk5sZENncElIc2djbVYwZFhKdUlHZGxkQ2gwYUdsekxDQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNQ0EvSUdGeVozVnRaVzUwYzFzd1hTQTZJSFZ1WkdWbWFXNWxaQ2s3SUgwN1hHNTlMQ0I3WEc0Z0lDOHZJREl6TGpJdU15NHhJRk5sZEM1d2NtOTBiM1I1Y0dVdVlXUmtLSFpoYkhWbEtWeHVJQ0JoWkdRNklHWjFibU4wYVc5dUlHRmtaQ2gyWVd4MVpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCemRISnZibWN1WkdWbUtIWmhiR2xrWVhSbEtIUm9hWE1zSUZORlZDa3NJSFpoYkhWbElEMGdkbUZzZFdVZ1BUMDlJREFnUHlBd0lEb2dkbUZzZFdVc0lIWmhiSFZsS1R0Y2JpQWdmVnh1ZlN3Z2MzUnliMjVuS1R0Y2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JpOHZJRUl1TWk0ekxqSWdVM1J5YVc1bkxuQnliM1J2ZEhsd1pTNWhibU5vYjNJb2JtRnRaU2xjYm5KbGNYVnBjbVVvSnk0dlgzTjBjbWx1Wnkxb2RHMXNKeWtvSjJGdVkyaHZjaWNzSUdaMWJtTjBhVzl1SUNoamNtVmhkR1ZJVkUxTUtTQjdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUJoYm1Ob2IzSW9ibUZ0WlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJqY21WaGRHVklWRTFNS0hSb2FYTXNJQ2RoSnl3Z0oyNWhiV1VuTENCdVlXMWxLVHRjYmlBZ2ZUdGNibjBwTzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dUx5OGdRaTR5TGpNdU15QlRkSEpwYm1jdWNISnZkRzkwZVhCbExtSnBaeWdwWEc1eVpYRjFhWEpsS0NjdUwxOXpkSEpwYm1jdGFIUnRiQ2NwS0NkaWFXY25MQ0JtZFc1amRHbHZiaUFvWTNKbFlYUmxTRlJOVENrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdZbWxuS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJqY21WaGRHVklWRTFNS0hSb2FYTXNJQ2RpYVdjbkxDQW5KeXdnSnljcE8xeHVJQ0I5TzF4dWZTazdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzR2THlCQ0xqSXVNeTQwSUZOMGNtbHVaeTV3Y205MGIzUjVjR1V1WW14cGJtc29LVnh1Y21WeGRXbHlaU2duTGk5ZmMzUnlhVzVuTFdoMGJXd25LU2duWW14cGJtc25MQ0JtZFc1amRHbHZiaUFvWTNKbFlYUmxTRlJOVENrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdZbXhwYm1zb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdOeVpXRjBaVWhVVFV3b2RHaHBjeXdnSjJKc2FXNXJKeXdnSnljc0lDY25LVHRjYmlBZ2ZUdGNibjBwTzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dUx5OGdRaTR5TGpNdU5TQlRkSEpwYm1jdWNISnZkRzkwZVhCbExtSnZiR1FvS1Z4dWNtVnhkV2x5WlNnbkxpOWZjM1J5YVc1bkxXaDBiV3duS1NnblltOXNaQ2NzSUdaMWJtTjBhVzl1SUNoamNtVmhkR1ZJVkUxTUtTQjdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUJpYjJ4a0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCamNtVmhkR1ZJVkUxTUtIUm9hWE1zSUNkaUp5d2dKeWNzSUNjbktUdGNiaUFnZlR0Y2JuMHBPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQWtZWFFnUFNCeVpYRjFhWEpsS0NjdUwxOXpkSEpwYm1jdFlYUW5LU2htWVd4elpTazdYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVQ3dnSjFOMGNtbHVaeWNzSUh0Y2JpQWdMeThnTWpFdU1TNHpMak1nVTNSeWFXNW5MbkJ5YjNSdmRIbHdaUzVqYjJSbFVHOXBiblJCZENod2IzTXBYRzRnSUdOdlpHVlFiMmx1ZEVGME9pQm1kVzVqZEdsdmJpQmpiMlJsVUc5cGJuUkJkQ2h3YjNNcElIdGNiaUFnSUNCeVpYUjFjbTRnSkdGMEtIUm9hWE1zSUhCdmN5azdYRzRnSUgxY2JuMHBPMXh1SWl3aUx5OGdNakV1TVM0ekxqWWdVM1J5YVc1bkxuQnliM1J2ZEhsd1pTNWxibVJ6VjJsMGFDaHpaV0Z5WTJoVGRISnBibWNnV3l3Z1pXNWtVRzl6YVhScGIyNWRLVnh1SjNWelpTQnpkSEpwWTNRbk8xeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCMGIweGxibWQwYUNBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFd4bGJtZDBhQ2NwTzF4dWRtRnlJR052Ym5SbGVIUWdQU0J5WlhGMWFYSmxLQ2N1TDE5emRISnBibWN0WTI5dWRHVjRkQ2NwTzF4dWRtRnlJRVZPUkZOZlYwbFVTQ0E5SUNkbGJtUnpWMmwwYUNjN1hHNTJZWElnSkdWdVpITlhhWFJvSUQwZ0p5ZGJSVTVFVTE5WFNWUklYVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxBZ0t5QWtaWGh3YjNKMExrWWdLaUJ5WlhGMWFYSmxLQ2N1TDE5bVlXbHNjeTFwY3kxeVpXZGxlSEFuS1NoRlRrUlRYMWRKVkVncExDQW5VM1J5YVc1bkp5d2dlMXh1SUNCbGJtUnpWMmwwYURvZ1puVnVZM1JwYjI0Z1pXNWtjMWRwZEdnb2MyVmhjbU5vVTNSeWFXNW5JQzhxSUN3Z1pXNWtVRzl6YVhScGIyNGdQU0JBYkdWdVozUm9JQ292S1NCN1hHNGdJQ0FnZG1GeUlIUm9ZWFFnUFNCamIyNTBaWGgwS0hSb2FYTXNJSE5sWVhKamFGTjBjbWx1Wnl3Z1JVNUVVMTlYU1ZSSUtUdGNiaUFnSUNCMllYSWdaVzVrVUc5emFYUnBiMjRnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQ0Z01TQS9JR0Z5WjNWdFpXNTBjMXN4WFNBNklIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2RHOU1aVzVuZEdnb2RHaGhkQzVzWlc1bmRHZ3BPMXh1SUNBZ0lIWmhjaUJsYm1RZ1BTQmxibVJRYjNOcGRHbHZiaUE5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdiR1Z1SURvZ1RXRjBhQzV0YVc0b2RHOU1aVzVuZEdnb1pXNWtVRzl6YVhScGIyNHBMQ0JzWlc0cE8xeHVJQ0FnSUhaaGNpQnpaV0Z5WTJnZ1BTQlRkSEpwYm1jb2MyVmhjbU5vVTNSeWFXNW5LVHRjYmlBZ0lDQnlaWFIxY200Z0pHVnVaSE5YYVhSb1hHNGdJQ0FnSUNBL0lDUmxibVJ6VjJsMGFDNWpZV3hzS0hSb1lYUXNJSE5sWVhKamFDd2daVzVrS1Z4dUlDQWdJQ0FnT2lCMGFHRjBMbk5zYVdObEtHVnVaQ0F0SUhObFlYSmphQzVzWlc1bmRHZ3NJR1Z1WkNrZ1BUMDlJSE5sWVhKamFEdGNiaUFnZlZ4dWZTazdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzR2THlCQ0xqSXVNeTQySUZOMGNtbHVaeTV3Y205MGIzUjVjR1V1Wm1sNFpXUW9LVnh1Y21WeGRXbHlaU2duTGk5ZmMzUnlhVzVuTFdoMGJXd25LU2duWm1sNFpXUW5MQ0JtZFc1amRHbHZiaUFvWTNKbFlYUmxTRlJOVENrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdabWw0WldRb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdOeVpXRjBaVWhVVFV3b2RHaHBjeXdnSjNSMEp5d2dKeWNzSUNjbktUdGNiaUFnZlR0Y2JuMHBPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1THk4Z1FpNHlMak11TnlCVGRISnBibWN1Y0hKdmRHOTBlWEJsTG1admJuUmpiMnh2Y2loamIyeHZjaWxjYm5KbGNYVnBjbVVvSnk0dlgzTjBjbWx1Wnkxb2RHMXNKeWtvSjJadmJuUmpiMnh2Y2ljc0lHWjFibU4wYVc5dUlDaGpjbVZoZEdWSVZFMU1LU0I3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCbWIyNTBZMjlzYjNJb1kyOXNiM0lwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZM0psWVhSbFNGUk5UQ2gwYUdsekxDQW5abTl1ZENjc0lDZGpiMnh2Y2ljc0lHTnZiRzl5S1R0Y2JpQWdmVHRjYm4wcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVMeThnUWk0eUxqTXVPQ0JUZEhKcGJtY3VjSEp2ZEc5MGVYQmxMbVp2Ym5SemFYcGxLSE5wZW1VcFhHNXlaWEYxYVhKbEtDY3VMMTl6ZEhKcGJtY3RhSFJ0YkNjcEtDZG1iMjUwYzJsNlpTY3NJR1oxYm1OMGFXOXVJQ2hqY21WaGRHVklWRTFNS1NCN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQm1iMjUwYzJsNlpTaHphWHBsS1NCN1hHNGdJQ0FnY21WMGRYSnVJR055WldGMFpVaFVUVXdvZEdocGN5d2dKMlp2Ym5RbkxDQW5jMmw2WlNjc0lITnBlbVVwTzF4dUlDQjlPMXh1ZlNrN1hHNGlMQ0oyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlIUnZRV0p6YjJ4MWRHVkpibVJsZUNBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFdGaWMyOXNkWFJsTFdsdVpHVjRKeWs3WEc1MllYSWdabkp2YlVOb1lYSkRiMlJsSUQwZ1UzUnlhVzVuTG1aeWIyMURhR0Z5UTI5a1pUdGNiblpoY2lBa1puSnZiVU52WkdWUWIybHVkQ0E5SUZOMGNtbHVaeTVtY205dFEyOWtaVkJ2YVc1ME8xeHVYRzR2THlCc1pXNW5kR2dnYzJodmRXeGtJR0psSURFc0lHOXNaQ0JHUmlCd2NtOWliR1Z0WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VXlBcklDUmxlSEJ2Y25RdVJpQXFJQ2doSVNSbWNtOXRRMjlrWlZCdmFXNTBJQ1ltSUNSbWNtOXRRMjlrWlZCdmFXNTBMbXhsYm1kMGFDQWhQU0F4S1N3Z0oxTjBjbWx1Wnljc0lIdGNiaUFnTHk4Z01qRXVNUzR5TGpJZ1UzUnlhVzVuTG1aeWIyMURiMlJsVUc5cGJuUW9MaTR1WTI5a1pWQnZhVzUwY3lsY2JpQWdabkp2YlVOdlpHVlFiMmx1ZERvZ1puVnVZM1JwYjI0Z1puSnZiVU52WkdWUWIybHVkQ2g0S1NCN0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXeHBibVVnYm04dGRXNTFjMlZrTFhaaGNuTmNiaUFnSUNCMllYSWdjbVZ6SUQwZ1cxMDdYRzRnSUNBZ2RtRnlJR0ZNWlc0Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb08xeHVJQ0FnSUhaaGNpQnBJRDBnTUR0Y2JpQWdJQ0IyWVhJZ1kyOWtaVHRjYmlBZ0lDQjNhR2xzWlNBb1lVeGxiaUErSUdrcElIdGNiaUFnSUNBZ0lHTnZaR1VnUFNBcllYSm5kVzFsYm5Selcya3JLMTA3WEc0Z0lDQWdJQ0JwWmlBb2RHOUJZbk52YkhWMFpVbHVaR1Y0S0dOdlpHVXNJREI0TVRCbVptWm1LU0FoUFQwZ1kyOWtaU2tnZEdoeWIzY2dVbUZ1WjJWRmNuSnZjaWhqYjJSbElDc2dKeUJwY3lCdWIzUWdZU0IyWVd4cFpDQmpiMlJsSUhCdmFXNTBKeWs3WEc0Z0lDQWdJQ0J5WlhNdWNIVnphQ2hqYjJSbElEd2dNSGd4TURBd01GeHVJQ0FnSUNBZ0lDQS9JR1p5YjIxRGFHRnlRMjlrWlNoamIyUmxLVnh1SUNBZ0lDQWdJQ0E2SUdaeWIyMURhR0Z5UTI5a1pTZ29LR052WkdVZ0xUMGdNSGd4TURBd01Da2dQajRnTVRBcElDc2dNSGhrT0RBd0xDQmpiMlJsSUNVZ01IZzBNREFnS3lBd2VHUmpNREFwWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDBnY21WMGRYSnVJSEpsY3k1cWIybHVLQ2NuS1R0Y2JpQWdmVnh1ZlNrN1hHNGlMQ0l2THlBeU1TNHhMak11TnlCVGRISnBibWN1Y0hKdmRHOTBlWEJsTG1sdVkyeDFaR1Z6S0hObFlYSmphRk4wY21sdVp5d2djRzl6YVhScGIyNGdQU0F3S1Z4dUozVnpaU0J6ZEhKcFkzUW5PMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQmpiMjUwWlhoMElEMGdjbVZ4ZFdseVpTZ25MaTlmYzNSeWFXNW5MV052Ym5SbGVIUW5LVHRjYm5aaGNpQkpUa05NVlVSRlV5QTlJQ2RwYm1Oc2RXUmxjeWM3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1UUlDc2dKR1Y0Y0c5eWRDNUdJQ29nY21WeGRXbHlaU2duTGk5ZlptRnBiSE10YVhNdGNtVm5aWGh3Snlrb1NVNURURlZFUlZNcExDQW5VM1J5YVc1bkp5d2dlMXh1SUNCcGJtTnNkV1JsY3pvZ1puVnVZM1JwYjI0Z2FXNWpiSFZrWlhNb2MyVmhjbU5vVTNSeWFXNW5JQzhxSUN3Z2NHOXphWFJwYjI0Z1BTQXdJQ292S1NCN1hHNGdJQ0FnY21WMGRYSnVJQ0VoZm1OdmJuUmxlSFFvZEdocGN5d2djMlZoY21Ob1UzUnlhVzVuTENCSlRrTk1WVVJGVXlsY2JpQWdJQ0FnSUM1cGJtUmxlRTltS0hObFlYSmphRk4wY21sdVp5d2dZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJREVnUHlCaGNtZDFiV1Z1ZEhOYk1WMGdPaUIxYm1SbFptbHVaV1FwTzF4dUlDQjlYRzU5S1R0Y2JpSXNJaWQxYzJVZ2MzUnlhV04wSnp0Y2JpOHZJRUl1TWk0ekxqa2dVM1J5YVc1bkxuQnliM1J2ZEhsd1pTNXBkR0ZzYVdOektDbGNibkpsY1hWcGNtVW9KeTR2WDNOMGNtbHVaeTFvZEcxc0p5a29KMmwwWVd4cFkzTW5MQ0JtZFc1amRHbHZiaUFvWTNKbFlYUmxTRlJOVENrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdhWFJoYkdsamN5Z3BJSHRjYmlBZ0lDQnlaWFIxY200Z1kzSmxZWFJsU0ZSTlRDaDBhR2x6TENBbmFTY3NJQ2NuTENBbkp5azdYRzRnSUgwN1hHNTlLVHRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQWtZWFFnUFNCeVpYRjFhWEpsS0NjdUwxOXpkSEpwYm1jdFlYUW5LU2gwY25WbEtUdGNibHh1THk4Z01qRXVNUzR6TGpJM0lGTjBjbWx1Wnk1d2NtOTBiM1I1Y0dWYlFFQnBkR1Z5WVhSdmNsMG9LVnh1Y21WeGRXbHlaU2duTGk5ZmFYUmxjaTFrWldacGJtVW5LU2hUZEhKcGJtY3NJQ2RUZEhKcGJtY25MQ0JtZFc1amRHbHZiaUFvYVhSbGNtRjBaV1FwSUh0Y2JpQWdkR2hwY3k1ZmRDQTlJRk4wY21sdVp5aHBkR1Z5WVhSbFpDazdJQzh2SUhSaGNtZGxkRnh1SUNCMGFHbHpMbDlwSUQwZ01Ec2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdibVY0ZENCcGJtUmxlRnh1THk4Z01qRXVNUzQxTGpJdU1TQWxVM1J5YVc1blNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVbExtNWxlSFFvS1Z4dWZTd2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjJZWElnVHlBOUlIUm9hWE11WDNRN1hHNGdJSFpoY2lCcGJtUmxlQ0E5SUhSb2FYTXVYMms3WEc0Z0lIWmhjaUJ3YjJsdWREdGNiaUFnYVdZZ0tHbHVaR1Y0SUQ0OUlFOHViR1Z1WjNSb0tTQnlaWFIxY200Z2V5QjJZV3gxWlRvZ2RXNWtaV1pwYm1Wa0xDQmtiMjVsT2lCMGNuVmxJSDA3WEc0Z0lIQnZhVzUwSUQwZ0pHRjBLRThzSUdsdVpHVjRLVHRjYmlBZ2RHaHBjeTVmYVNBclBTQndiMmx1ZEM1c1pXNW5kR2c3WEc0Z0lISmxkSFZ5YmlCN0lIWmhiSFZsT2lCd2IybHVkQ3dnWkc5dVpUb2dabUZzYzJVZ2ZUdGNibjBwTzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dUx5OGdRaTR5TGpNdU1UQWdVM1J5YVc1bkxuQnliM1J2ZEhsd1pTNXNhVzVyS0hWeWJDbGNibkpsY1hWcGNtVW9KeTR2WDNOMGNtbHVaeTFvZEcxc0p5a29KMnhwYm1zbkxDQm1kVzVqZEdsdmJpQW9ZM0psWVhSbFNGUk5UQ2tnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z2JHbHVheWgxY213cElIdGNiaUFnSUNCeVpYUjFjbTRnWTNKbFlYUmxTRlJOVENoMGFHbHpMQ0FuWVNjc0lDZG9jbVZtSnl3Z2RYSnNLVHRjYmlBZ2ZUdGNibjBwTzF4dUlpd2lkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCMGIwbFBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxcGIySnFaV04wSnlrN1hHNTJZWElnZEc5TVpXNW5kR2dnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTFzWlc1bmRHZ25LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxNc0lDZFRkSEpwYm1jbkxDQjdYRzRnSUM4dklESXhMakV1TWk0MElGTjBjbWx1Wnk1eVlYY29ZMkZzYkZOcGRHVXNJQzR1TG5OMVluTjBhWFIxZEdsdmJuTXBYRzRnSUhKaGR6b2dablZ1WTNScGIyNGdjbUYzS0dOaGJHeFRhWFJsS1NCN1hHNGdJQ0FnZG1GeUlIUndiQ0E5SUhSdlNVOWlhbVZqZENoallXeHNVMmwwWlM1eVlYY3BPMXh1SUNBZ0lIWmhjaUJzWlc0Z1BTQjBiMHhsYm1kMGFDaDBjR3d1YkdWdVozUm9LVHRjYmlBZ0lDQjJZWElnWVV4bGJpQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZzdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlGdGRPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCM2FHbHNaU0FvYkdWdUlENGdhU2tnZTF4dUlDQWdJQ0FnY21WekxuQjFjMmdvVTNSeWFXNW5LSFJ3YkZ0cEt5dGRLU2s3WEc0Z0lDQWdJQ0JwWmlBb2FTQThJR0ZNWlc0cElISmxjeTV3ZFhOb0tGTjBjbWx1WnloaGNtZDFiV1Z1ZEhOYmFWMHBLVHRjYmlBZ0lDQjlJSEpsZEhWeWJpQnlaWE11YW05cGJpZ25KeWs3WEc0Z0lIMWNibjBwTzF4dUlpd2lkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbEFzSUNkVGRISnBibWNuTENCN1hHNGdJQzh2SURJeExqRXVNeTR4TXlCVGRISnBibWN1Y0hKdmRHOTBlWEJsTG5KbGNHVmhkQ2hqYjNWdWRDbGNiaUFnY21Wd1pXRjBPaUJ5WlhGMWFYSmxLQ2N1TDE5emRISnBibWN0Y21Wd1pXRjBKeWxjYm4wcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVMeThnUWk0eUxqTXVNVEVnVTNSeWFXNW5MbkJ5YjNSdmRIbHdaUzV6YldGc2JDZ3BYRzV5WlhGMWFYSmxLQ2N1TDE5emRISnBibWN0YUhSdGJDY3BLQ2R6YldGc2JDY3NJR1oxYm1OMGFXOXVJQ2hqY21WaGRHVklWRTFNS1NCN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQnpiV0ZzYkNncElIdGNiaUFnSUNCeVpYUjFjbTRnWTNKbFlYUmxTRlJOVENoMGFHbHpMQ0FuYzIxaGJHd25MQ0FuSnl3Z0p5Y3BPMXh1SUNCOU8xeHVmU2s3WEc0aUxDSXZMeUF5TVM0eExqTXVNVGdnVTNSeWFXNW5MbkJ5YjNSdmRIbHdaUzV6ZEdGeWRITlhhWFJvS0hObFlYSmphRk4wY21sdVp5QmJMQ0J3YjNOcGRHbHZiaUJkS1Z4dUozVnpaU0J6ZEhKcFkzUW5PMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQjBiMHhsYm1kMGFDQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxXeGxibWQwYUNjcE8xeHVkbUZ5SUdOdmJuUmxlSFFnUFNCeVpYRjFhWEpsS0NjdUwxOXpkSEpwYm1jdFkyOXVkR1Y0ZENjcE8xeHVkbUZ5SUZOVVFWSlVVMTlYU1ZSSUlEMGdKM04wWVhKMGMxZHBkR2duTzF4dWRtRnlJQ1J6ZEdGeWRITlhhWFJvSUQwZ0p5ZGJVMVJCVWxSVFgxZEpWRWhkTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVVDQXJJQ1JsZUhCdmNuUXVSaUFxSUhKbGNYVnBjbVVvSnk0dlgyWmhhV3h6TFdsekxYSmxaMlY0Y0NjcEtGTlVRVkpVVTE5WFNWUklLU3dnSjFOMGNtbHVaeWNzSUh0Y2JpQWdjM1JoY25SelYybDBhRG9nWm5WdVkzUnBiMjRnYzNSaGNuUnpWMmwwYUNoelpXRnlZMmhUZEhKcGJtY2dMeW9nTENCd2IzTnBkR2x2YmlBOUlEQWdLaThwSUh0Y2JpQWdJQ0IyWVhJZ2RHaGhkQ0E5SUdOdmJuUmxlSFFvZEdocGN5d2djMlZoY21Ob1UzUnlhVzVuTENCVFZFRlNWRk5mVjBsVVNDazdYRzRnSUNBZ2RtRnlJR2x1WkdWNElEMGdkRzlNWlc1bmRHZ29UV0YwYUM1dGFXNG9ZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJREVnUHlCaGNtZDFiV1Z1ZEhOYk1WMGdPaUIxYm1SbFptbHVaV1FzSUhSb1lYUXViR1Z1WjNSb0tTazdYRzRnSUNBZ2RtRnlJSE5sWVhKamFDQTlJRk4wY21sdVp5aHpaV0Z5WTJoVGRISnBibWNwTzF4dUlDQWdJSEpsZEhWeWJpQWtjM1JoY25SelYybDBhRnh1SUNBZ0lDQWdQeUFrYzNSaGNuUnpWMmwwYUM1allXeHNLSFJvWVhRc0lITmxZWEpqYUN3Z2FXNWtaWGdwWEc0Z0lDQWdJQ0E2SUhSb1lYUXVjMnhwWTJVb2FXNWtaWGdzSUdsdVpHVjRJQ3NnYzJWaGNtTm9MbXhsYm1kMGFDa2dQVDA5SUhObFlYSmphRHRjYmlBZ2ZWeHVmU2s3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc0dkx5QkNMakl1TXk0eE1pQlRkSEpwYm1jdWNISnZkRzkwZVhCbExuTjBjbWxyWlNncFhHNXlaWEYxYVhKbEtDY3VMMTl6ZEhKcGJtY3RhSFJ0YkNjcEtDZHpkSEpwYTJVbkxDQm1kVzVqZEdsdmJpQW9ZM0psWVhSbFNGUk5UQ2tnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z2MzUnlhV3RsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJqY21WaGRHVklWRTFNS0hSb2FYTXNJQ2R6ZEhKcGEyVW5MQ0FuSnl3Z0p5Y3BPMXh1SUNCOU8xeHVmU2s3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc0dkx5QkNMakl1TXk0eE15QlRkSEpwYm1jdWNISnZkRzkwZVhCbExuTjFZaWdwWEc1eVpYRjFhWEpsS0NjdUwxOXpkSEpwYm1jdGFIUnRiQ2NwS0NkemRXSW5MQ0JtZFc1amRHbHZiaUFvWTNKbFlYUmxTRlJOVENrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdjM1ZpS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJqY21WaGRHVklWRTFNS0hSb2FYTXNJQ2R6ZFdJbkxDQW5KeXdnSnljcE8xeHVJQ0I5TzF4dWZTazdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzR2THlCQ0xqSXVNeTR4TkNCVGRISnBibWN1Y0hKdmRHOTBlWEJsTG5OMWNDZ3BYRzV5WlhGMWFYSmxLQ2N1TDE5emRISnBibWN0YUhSdGJDY3BLQ2R6ZFhBbkxDQm1kVzVqZEdsdmJpQW9ZM0psWVhSbFNGUk5UQ2tnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z2MzVndLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQmpjbVZoZEdWSVZFMU1LSFJvYVhNc0lDZHpkWEFuTENBbkp5d2dKeWNwTzF4dUlDQjlPMXh1ZlNrN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNHZMeUF5TVM0eExqTXVNalVnVTNSeWFXNW5MbkJ5YjNSdmRIbHdaUzUwY21sdEtDbGNibkpsY1hWcGNtVW9KeTR2WDNOMGNtbHVaeTEwY21sdEp5a29KM1J5YVcwbkxDQm1kVzVqZEdsdmJpQW9KSFJ5YVcwcElIdGNiaUFnY21WMGRYSnVJR1oxYm1OMGFXOXVJSFJ5YVcwb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNSMGNtbHRLSFJvYVhNc0lETXBPMXh1SUNCOU8xeHVmU2s3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc0dkx5QkZRMDFCVTJOeWFYQjBJRFlnYzNsdFltOXNjeUJ6YUdsdFhHNTJZWElnWjJ4dlltRnNJRDBnY21WeGRXbHlaU2duTGk5ZloyeHZZbUZzSnlrN1hHNTJZWElnYUdGeklEMGdjbVZ4ZFdseVpTZ25MaTlmYUdGekp5azdYRzUyWVhJZ1JFVlRRMUpKVUZSUFVsTWdQU0J5WlhGMWFYSmxLQ2N1TDE5a1pYTmpjbWx3ZEc5eWN5Y3BPMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQnlaV1JsWm1sdVpTQTlJSEpsY1hWcGNtVW9KeTR2WDNKbFpHVm1hVzVsSnlrN1hHNTJZWElnVFVWVVFTQTlJSEpsY1hWcGNtVW9KeTR2WDIxbGRHRW5LUzVMUlZrN1hHNTJZWElnSkdaaGFXeHpJRDBnY21WeGRXbHlaU2duTGk5ZlptRnBiSE1uS1R0Y2JuWmhjaUJ6YUdGeVpXUWdQU0J5WlhGMWFYSmxLQ2N1TDE5emFHRnlaV1FuS1R0Y2JuWmhjaUJ6WlhSVWIxTjBjbWx1WjFSaFp5QTlJSEpsY1hWcGNtVW9KeTR2WDNObGRDMTBieTF6ZEhKcGJtY3RkR0ZuSnlrN1hHNTJZWElnZFdsa0lEMGdjbVZ4ZFdseVpTZ25MaTlmZFdsa0p5azdYRzUyWVhJZ2QydHpJRDBnY21WeGRXbHlaU2duTGk5ZmQydHpKeWs3WEc1MllYSWdkMnR6UlhoMElEMGdjbVZ4ZFdseVpTZ25MaTlmZDJ0ekxXVjRkQ2NwTzF4dWRtRnlJSGRyYzBSbFptbHVaU0E5SUhKbGNYVnBjbVVvSnk0dlgzZHJjeTFrWldacGJtVW5LVHRjYm5aaGNpQmxiblZ0UzJWNWN5QTlJSEpsY1hWcGNtVW9KeTR2WDJWdWRXMHRhMlY1Y3ljcE8xeHVkbUZ5SUdselFYSnlZWGtnUFNCeVpYRjFhWEpsS0NjdUwxOXBjeTFoY25KaGVTY3BPMXh1ZG1GeUlHRnVUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmWVc0dGIySnFaV04wSnlrN1hHNTJZWElnYVhOUFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOXBjeTF2WW1wbFkzUW5LVHRjYm5aaGNpQjBiMGxQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXBiMkpxWldOMEp5azdYRzUyWVhJZ2RHOVFjbWx0YVhScGRtVWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXdjbWx0YVhScGRtVW5LVHRjYm5aaGNpQmpjbVZoZEdWRVpYTmpJRDBnY21WeGRXbHlaU2duTGk5ZmNISnZjR1Z5ZEhrdFpHVnpZeWNwTzF4dWRtRnlJRjlqY21WaGRHVWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WTNKbFlYUmxKeWs3WEc1MllYSWdaMDlRVGtWNGRDQTlJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFuYjNCdUxXVjRkQ2NwTzF4dWRtRnlJQ1JIVDFCRUlEMGdjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV2R2Y0dRbktUdGNiblpoY2lBa1JGQWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WkhBbktUdGNiblpoY2lBa2EyVjVjeUE5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxclpYbHpKeWs3WEc1MllYSWdaMDlRUkNBOUlDUkhUMUJFTG1ZN1hHNTJZWElnWkZBZ1BTQWtSRkF1Wmp0Y2JuWmhjaUJuVDFCT0lEMGdaMDlRVGtWNGRDNW1PMXh1ZG1GeUlDUlRlVzFpYjJ3Z1BTQm5iRzlpWVd3dVUzbHRZbTlzTzF4dWRtRnlJQ1JLVTA5T0lEMGdaMnh2WW1Gc0xrcFRUMDQ3WEc1MllYSWdYM04wY21sdVoybG1lU0E5SUNSS1UwOU9JQ1ltSUNSS1UwOU9Mbk4wY21sdVoybG1lVHRjYm5aaGNpQlFVazlVVDFSWlVFVWdQU0FuY0hKdmRHOTBlWEJsSnp0Y2JuWmhjaUJJU1VSRVJVNGdQU0IzYTNNb0oxOW9hV1JrWlc0bktUdGNiblpoY2lCVVQxOVFVa2xOU1ZSSlZrVWdQU0IzYTNNb0ozUnZVSEpwYldsMGFYWmxKeWs3WEc1MllYSWdhWE5GYm5WdElEMGdlMzB1Y0hKdmNHVnlkSGxKYzBWdWRXMWxjbUZpYkdVN1hHNTJZWElnVTNsdFltOXNVbVZuYVhOMGNua2dQU0J6YUdGeVpXUW9KM041YldKdmJDMXlaV2RwYzNSeWVTY3BPMXh1ZG1GeUlFRnNiRk41YldKdmJITWdQU0J6YUdGeVpXUW9KM041YldKdmJITW5LVHRjYm5aaGNpQlBVRk41YldKdmJITWdQU0J6YUdGeVpXUW9KMjl3TFhONWJXSnZiSE1uS1R0Y2JuWmhjaUJQWW1wbFkzUlFjbTkwYnlBOUlFOWlhbVZqZEZ0UVVrOVVUMVJaVUVWZE8xeHVkbUZ5SUZWVFJWOU9RVlJKVmtVZ1BTQjBlWEJsYjJZZ0pGTjViV0p2YkNBOVBTQW5ablZ1WTNScGIyNG5PMXh1ZG1GeUlGRlBZbXBsWTNRZ1BTQm5iRzlpWVd3dVVVOWlhbVZqZER0Y2JpOHZJRVJ2YmlkMElIVnpaU0J6WlhSMFpYSnpJR2x1SUZGMElGTmpjbWx3ZEN3Z2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzcHNiMmx5YjJOckwyTnZjbVV0YW5NdmFYTnpkV1Z6THpFM00xeHVkbUZ5SUhObGRIUmxjaUE5SUNGUlQySnFaV04wSUh4OElDRlJUMkpxWldOMFcxQlNUMVJQVkZsUVJWMGdmSHdnSVZGUFltcGxZM1JiVUZKUFZFOVVXVkJGWFM1bWFXNWtRMmhwYkdRN1hHNWNiaTh2SUdaaGJHeGlZV05ySUdadmNpQnZiR1FnUVc1a2NtOXBaQ3dnYUhSMGNITTZMeTlqYjJSbExtZHZiMmRzWlM1amIyMHZjQzkyT0M5cGMzTjFaWE12WkdWMFlXbHNQMmxrUFRZNE4xeHVkbUZ5SUhObGRGTjViV0p2YkVSbGMyTWdQU0JFUlZORFVrbFFWRTlTVXlBbUppQWtabUZwYkhNb1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCeVpYUjFjbTRnWDJOeVpXRjBaU2hrVUNoN2ZTd2dKMkVuTENCN1hHNGdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUJrVUNoMGFHbHpMQ0FuWVNjc0lIc2dkbUZzZFdVNklEY2dmU2t1WVRzZ2ZWeHVJQ0I5S1NrdVlTQWhQU0EzTzF4dWZTa2dQeUJtZFc1amRHbHZiaUFvYVhRc0lHdGxlU3dnUkNrZ2UxeHVJQ0IyWVhJZ2NISnZkRzlFWlhOaklEMGdaMDlRUkNoUFltcGxZM1JRY205MGJ5d2dhMlY1S1R0Y2JpQWdhV1lnS0hCeWIzUnZSR1Z6WXlrZ1pHVnNaWFJsSUU5aWFtVmpkRkJ5YjNSdlcydGxlVjA3WEc0Z0lHUlFLR2wwTENCclpYa3NJRVFwTzF4dUlDQnBaaUFvY0hKdmRHOUVaWE5qSUNZbUlHbDBJQ0U5UFNCUFltcGxZM1JRY205MGJ5a2daRkFvVDJKcVpXTjBVSEp2ZEc4c0lHdGxlU3dnY0hKdmRHOUVaWE5qS1R0Y2JuMGdPaUJrVUR0Y2JseHVkbUZ5SUhkeVlYQWdQU0JtZFc1amRHbHZiaUFvZEdGbktTQjdYRzRnSUhaaGNpQnplVzBnUFNCQmJHeFRlVzFpYjJ4elczUmhaMTBnUFNCZlkzSmxZWFJsS0NSVGVXMWliMnhiVUZKUFZFOVVXVkJGWFNrN1hHNGdJSE41YlM1ZmF5QTlJSFJoWnp0Y2JpQWdjbVYwZFhKdUlITjViVHRjYm4wN1hHNWNiblpoY2lCcGMxTjViV0p2YkNBOUlGVlRSVjlPUVZSSlZrVWdKaVlnZEhsd1pXOW1JQ1JUZVcxaWIyd3VhWFJsY21GMGIzSWdQVDBnSjNONWJXSnZiQ2NnUHlCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ2NtVjBkWEp1SUhSNWNHVnZaaUJwZENBOVBTQW5jM2x0WW05c0p6dGNibjBnT2lCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ2NtVjBkWEp1SUdsMElHbHVjM1JoYm1ObGIyWWdKRk41YldKdmJEdGNibjA3WEc1Y2JuWmhjaUFrWkdWbWFXNWxVSEp2Y0dWeWRIa2dQU0JtZFc1amRHbHZiaUJrWldacGJtVlFjbTl3WlhKMGVTaHBkQ3dnYTJWNUxDQkVLU0I3WEc0Z0lHbG1JQ2hwZENBOVBUMGdUMkpxWldOMFVISnZkRzhwSUNSa1pXWnBibVZRY205d1pYSjBlU2hQVUZONWJXSnZiSE1zSUd0bGVTd2dSQ2s3WEc0Z0lHRnVUMkpxWldOMEtHbDBLVHRjYmlBZ2EyVjVJRDBnZEc5UWNtbHRhWFJwZG1Vb2EyVjVMQ0IwY25WbEtUdGNiaUFnWVc1UFltcGxZM1FvUkNrN1hHNGdJR2xtSUNob1lYTW9RV3hzVTNsdFltOXNjeXdnYTJWNUtTa2dlMXh1SUNBZ0lHbG1JQ2doUkM1bGJuVnRaWEpoWW14bEtTQjdYRzRnSUNBZ0lDQnBaaUFvSVdoaGN5aHBkQ3dnU0VsRVJFVk9LU2tnWkZBb2FYUXNJRWhKUkVSRlRpd2dZM0psWVhSbFJHVnpZeWd4TENCN2ZTa3BPMXh1SUNBZ0lDQWdhWFJiU0VsRVJFVk9YVnRyWlhsZElEMGdkSEoxWlR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0doaGN5aHBkQ3dnU0VsRVJFVk9LU0FtSmlCcGRGdElTVVJFUlU1ZFcydGxlVjBwSUdsMFcwaEpSRVJGVGwxYmEyVjVYU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdSQ0E5SUY5amNtVmhkR1VvUkN3Z2V5QmxiblZ0WlhKaFlteGxPaUJqY21WaGRHVkVaWE5qS0RBc0lHWmhiSE5sS1NCOUtUdGNiaUFnSUNCOUlISmxkSFZ5YmlCelpYUlRlVzFpYjJ4RVpYTmpLR2wwTENCclpYa3NJRVFwTzF4dUlDQjlJSEpsZEhWeWJpQmtVQ2hwZEN3Z2EyVjVMQ0JFS1R0Y2JuMDdYRzUyWVhJZ0pHUmxabWx1WlZCeWIzQmxjblJwWlhNZ1BTQm1kVzVqZEdsdmJpQmtaV1pwYm1WUWNtOXdaWEowYVdWektHbDBMQ0JRS1NCN1hHNGdJR0Z1VDJKcVpXTjBLR2wwS1R0Y2JpQWdkbUZ5SUd0bGVYTWdQU0JsYm5WdFMyVjVjeWhRSUQwZ2RHOUpUMkpxWldOMEtGQXBLVHRjYmlBZ2RtRnlJR2tnUFNBd08xeHVJQ0IyWVhJZ2JDQTlJR3RsZVhNdWJHVnVaM1JvTzF4dUlDQjJZWElnYTJWNU8xeHVJQ0IzYUdsc1pTQW9iQ0ErSUdrcElDUmtaV1pwYm1WUWNtOXdaWEowZVNocGRDd2dhMlY1SUQwZ2EyVjVjMXRwS3l0ZExDQlFXMnRsZVYwcE8xeHVJQ0J5WlhSMWNtNGdhWFE3WEc1OU8xeHVkbUZ5SUNSamNtVmhkR1VnUFNCbWRXNWpkR2x2YmlCamNtVmhkR1VvYVhRc0lGQXBJSHRjYmlBZ2NtVjBkWEp1SUZBZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUY5amNtVmhkR1VvYVhRcElEb2dKR1JsWm1sdVpWQnliM0JsY25ScFpYTW9YMk55WldGMFpTaHBkQ2tzSUZBcE8xeHVmVHRjYm5aaGNpQWtjSEp2Y0dWeWRIbEpjMFZ1ZFcxbGNtRmliR1VnUFNCbWRXNWpkR2x2YmlCd2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pTaHJaWGtwSUh0Y2JpQWdkbUZ5SUVVZ1BTQnBjMFZ1ZFcwdVkyRnNiQ2gwYUdsekxDQnJaWGtnUFNCMGIxQnlhVzFwZEdsMlpTaHJaWGtzSUhSeWRXVXBLVHRjYmlBZ2FXWWdLSFJvYVhNZ1BUMDlJRTlpYW1WamRGQnliM1J2SUNZbUlHaGhjeWhCYkd4VGVXMWliMnh6TENCclpYa3BJQ1ltSUNGb1lYTW9UMUJUZVcxaWIyeHpMQ0JyWlhrcEtTQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lISmxkSFZ5YmlCRklIeDhJQ0ZvWVhNb2RHaHBjeXdnYTJWNUtTQjhmQ0FoYUdGektFRnNiRk41YldKdmJITXNJR3RsZVNrZ2ZId2dhR0Z6S0hSb2FYTXNJRWhKUkVSRlRpa2dKaVlnZEdocGMxdElTVVJFUlU1ZFcydGxlVjBnUHlCRklEb2dkSEoxWlR0Y2JuMDdYRzUyWVhJZ0pHZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2lBOUlHWjFibU4wYVc5dUlHZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2locGRDd2dhMlY1S1NCN1hHNGdJR2wwSUQwZ2RHOUpUMkpxWldOMEtHbDBLVHRjYmlBZ2EyVjVJRDBnZEc5UWNtbHRhWFJwZG1Vb2EyVjVMQ0IwY25WbEtUdGNiaUFnYVdZZ0tHbDBJRDA5UFNCUFltcGxZM1JRY205MGJ5QW1KaUJvWVhNb1FXeHNVM2x0WW05c2N5d2dhMlY1S1NBbUppQWhhR0Z6S0U5UVUzbHRZbTlzY3l3Z2EyVjVLU2tnY21WMGRYSnVPMXh1SUNCMllYSWdSQ0E5SUdkUFVFUW9hWFFzSUd0bGVTazdYRzRnSUdsbUlDaEVJQ1ltSUdoaGN5aEJiR3hUZVcxaWIyeHpMQ0JyWlhrcElDWW1JQ0VvYUdGektHbDBMQ0JJU1VSRVJVNHBJQ1ltSUdsMFcwaEpSRVJGVGwxYmEyVjVYU2twSUVRdVpXNTFiV1Z5WVdKc1pTQTlJSFJ5ZFdVN1hHNGdJSEpsZEhWeWJpQkVPMXh1ZlR0Y2JuWmhjaUFrWjJWMFQzZHVVSEp2Y0dWeWRIbE9ZVzFsY3lBOUlHWjFibU4wYVc5dUlHZGxkRTkzYmxCeWIzQmxjblI1VG1GdFpYTW9hWFFwSUh0Y2JpQWdkbUZ5SUc1aGJXVnpJRDBnWjA5UVRpaDBiMGxQWW1wbFkzUW9hWFFwS1R0Y2JpQWdkbUZ5SUhKbGMzVnNkQ0E5SUZ0ZE8xeHVJQ0IyWVhJZ2FTQTlJREE3WEc0Z0lIWmhjaUJyWlhrN1hHNGdJSGRvYVd4bElDaHVZVzFsY3k1c1pXNW5kR2dnUGlCcEtTQjdYRzRnSUNBZ2FXWWdLQ0ZvWVhNb1FXeHNVM2x0WW05c2N5d2dhMlY1SUQwZ2JtRnRaWE5iYVNzclhTa2dKaVlnYTJWNUlDRTlJRWhKUkVSRlRpQW1KaUJyWlhrZ0lUMGdUVVZVUVNrZ2NtVnpkV3gwTG5CMWMyZ29hMlY1S1R0Y2JpQWdmU0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVHRjYm5aaGNpQWtaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6SUQwZ1puVnVZM1JwYjI0Z1oyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpLR2wwS1NCN1hHNGdJSFpoY2lCSlUxOVBVQ0E5SUdsMElEMDlQU0JQWW1wbFkzUlFjbTkwYnp0Y2JpQWdkbUZ5SUc1aGJXVnpJRDBnWjA5UVRpaEpVMTlQVUNBL0lFOVFVM2x0WW05c2N5QTZJSFJ2U1U5aWFtVmpkQ2hwZENrcE8xeHVJQ0IyWVhJZ2NtVnpkV3gwSUQwZ1cxMDdYRzRnSUhaaGNpQnBJRDBnTUR0Y2JpQWdkbUZ5SUd0bGVUdGNiaUFnZDJocGJHVWdLRzVoYldWekxteGxibWQwYUNBK0lHa3BJSHRjYmlBZ0lDQnBaaUFvYUdGektFRnNiRk41YldKdmJITXNJR3RsZVNBOUlHNWhiV1Z6VzJrcksxMHBJQ1ltSUNoSlUxOVBVQ0EvSUdoaGN5aFBZbXBsWTNSUWNtOTBieXdnYTJWNUtTQTZJSFJ5ZFdVcEtTQnlaWE4xYkhRdWNIVnphQ2hCYkd4VGVXMWliMnh6VzJ0bGVWMHBPMXh1SUNCOUlISmxkSFZ5YmlCeVpYTjFiSFE3WEc1OU8xeHVYRzR2THlBeE9TNDBMakV1TVNCVGVXMWliMndvVzJSbGMyTnlhWEIwYVc5dVhTbGNibWxtSUNnaFZWTkZYMDVCVkVsV1JTa2dlMXh1SUNBa1UzbHRZbTlzSUQwZ1puVnVZM1JwYjI0Z1UzbHRZbTlzS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6SUdsdWMzUmhibU5sYjJZZ0pGTjViV0p2YkNrZ2RHaHliM2NnVkhsd1pVVnljbTl5S0NkVGVXMWliMndnYVhNZ2JtOTBJR0VnWTI5dWMzUnlkV04wYjNJaEp5azdYRzRnSUNBZ2RtRnlJSFJoWnlBOUlIVnBaQ2hoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTUNBL0lHRnlaM1Z0Wlc1MGMxc3dYU0E2SUhWdVpHVm1hVzVsWkNrN1hHNGdJQ0FnZG1GeUlDUnpaWFFnUFNCbWRXNWpkR2x2YmlBb2RtRnNkV1VwSUh0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6SUQwOVBTQlBZbXBsWTNSUWNtOTBieWtnSkhObGRDNWpZV3hzS0U5UVUzbHRZbTlzY3l3Z2RtRnNkV1VwTzF4dUlDQWdJQ0FnYVdZZ0tHaGhjeWgwYUdsekxDQklTVVJFUlU0cElDWW1JR2hoY3loMGFHbHpXMGhKUkVSRlRsMHNJSFJoWnlrcElIUm9hWE5iU0VsRVJFVk9YVnQwWVdkZElEMGdabUZzYzJVN1hHNGdJQ0FnSUNCelpYUlRlVzFpYjJ4RVpYTmpLSFJvYVhNc0lIUmhaeXdnWTNKbFlYUmxSR1Z6WXlneExDQjJZV3gxWlNrcE8xeHVJQ0FnSUgwN1hHNGdJQ0FnYVdZZ0tFUkZVME5TU1ZCVVQxSlRJQ1ltSUhObGRIUmxjaWtnYzJWMFUzbHRZbTlzUkdWell5aFBZbXBsWTNSUWNtOTBieXdnZEdGbkxDQjdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaU3dnYzJWME9pQWtjMlYwSUgwcE8xeHVJQ0FnSUhKbGRIVnliaUIzY21Gd0tIUmhaeWs3WEc0Z0lIMDdYRzRnSUhKbFpHVm1hVzVsS0NSVGVXMWliMnhiVUZKUFZFOVVXVkJGWFN3Z0ozUnZVM1J5YVc1bkp5d2dablZ1WTNScGIyNGdkRzlUZEhKcGJtY29LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJzN1hHNGdJSDBwTzF4dVhHNGdJQ1JIVDFCRUxtWWdQU0FrWjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlPMXh1SUNBa1JGQXVaaUE5SUNSa1pXWnBibVZRY205d1pYSjBlVHRjYmlBZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXZHZjRzRuS1M1bUlEMGdaMDlRVGtWNGRDNW1JRDBnSkdkbGRFOTNibEJ5YjNCbGNuUjVUbUZ0WlhNN1hHNGdJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzF3YVdVbktTNW1JRDBnSkhCeWIzQmxjblI1U1hORmJuVnRaWEpoWW14bE8xeHVJQ0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WjI5d2N5Y3BMbVlnUFNBa1oyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpPMXh1WEc0Z0lHbG1JQ2hFUlZORFVrbFFWRTlTVXlBbUppQWhjbVZ4ZFdseVpTZ25MaTlmYkdsaWNtRnllU2NwS1NCN1hHNGdJQ0FnY21Wa1pXWnBibVVvVDJKcVpXTjBVSEp2ZEc4c0lDZHdjbTl3WlhKMGVVbHpSVzUxYldWeVlXSnNaU2NzSUNSd2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pTd2dkSEoxWlNrN1hHNGdJSDFjYmx4dUlDQjNhM05GZUhRdVppQTlJR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhkeVlYQW9kMnR6S0c1aGJXVXBLVHRjYmlBZ2ZUdGNibjFjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGtjZ0t5QWtaWGh3YjNKMExsY2dLeUFrWlhod2IzSjBMa1lnS2lBaFZWTkZYMDVCVkVsV1JTd2dleUJUZVcxaWIydzZJQ1JUZVcxaWIyd2dmU2s3WEc1Y2JtWnZjaUFvZG1GeUlHVnpObE41YldKdmJITWdQU0FvWEc0Z0lDOHZJREU1TGpRdU1pNHlMQ0F4T1M0MExqSXVNeXdnTVRrdU5DNHlMalFzSURFNUxqUXVNaTQyTENBeE9TNDBMakl1T0N3Z01Ua3VOQzR5TGprc0lERTVMalF1TWk0eE1Dd2dNVGt1TkM0eUxqRXhMQ0F4T1M0MExqSXVNVElzSURFNUxqUXVNaTR4TXl3Z01Ua3VOQzR5TGpFMFhHNGdJQ2RvWVhOSmJuTjBZVzVqWlN4cGMwTnZibU5oZEZOd2NtVmhaR0ZpYkdVc2FYUmxjbUYwYjNJc2JXRjBZMmdzY21Wd2JHRmpaU3h6WldGeVkyZ3NjM0JsWTJsbGN5eHpjR3hwZEN4MGIxQnlhVzFwZEdsMlpTeDBiMU4wY21sdVoxUmhaeXgxYm5OamIzQmhZbXhsY3lkY2Jpa3VjM0JzYVhRb0p5d25LU3dnYWlBOUlEQTdJR1Z6TmxONWJXSnZiSE11YkdWdVozUm9JRDRnYWpzcGQydHpLR1Z6TmxONWJXSnZiSE5iYWlzclhTazdYRzVjYm1admNpQW9kbUZ5SUhkbGJHeExibTkzYmxONWJXSnZiSE1nUFNBa2EyVjVjeWgzYTNNdWMzUnZjbVVwTENCcklEMGdNRHNnZDJWc2JFdHViM2R1VTNsdFltOXNjeTVzWlc1bmRHZ2dQaUJyT3lrZ2QydHpSR1ZtYVc1bEtIZGxiR3hMYm05M2JsTjViV0p2YkhOYmF5c3JYU2s3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VElDc2dKR1Y0Y0c5eWRDNUdJQ29nSVZWVFJWOU9RVlJKVmtVc0lDZFRlVzFpYjJ3bkxDQjdYRzRnSUM4dklERTVMalF1TWk0eElGTjViV0p2YkM1bWIzSW9hMlY1S1Z4dUlDQW5abTl5SnpvZ1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQWdJSEpsZEhWeWJpQm9ZWE1vVTNsdFltOXNVbVZuYVhOMGNua3NJR3RsZVNBclBTQW5KeWxjYmlBZ0lDQWdJRDhnVTNsdFltOXNVbVZuYVhOMGNubGJhMlY1WFZ4dUlDQWdJQ0FnT2lCVGVXMWliMnhTWldkcGMzUnllVnRyWlhsZElEMGdKRk41YldKdmJDaHJaWGtwTzF4dUlDQjlMRnh1SUNBdkx5QXhPUzQwTGpJdU5TQlRlVzFpYjJ3dWEyVjVSbTl5S0hONWJTbGNiaUFnYTJWNVJtOXlPaUJtZFc1amRHbHZiaUJyWlhsR2IzSW9jM2x0S1NCN1hHNGdJQ0FnYVdZZ0tDRnBjMU41YldKdmJDaHplVzBwS1NCMGFISnZkeUJVZVhCbFJYSnliM0lvYzNsdElDc2dKeUJwY3lCdWIzUWdZU0J6ZVcxaWIyd2hKeWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhMlY1SUdsdUlGTjViV0p2YkZKbFoybHpkSEo1S1NCcFppQW9VM2x0WW05c1VtVm5hWE4wY25sYmEyVjVYU0E5UFQwZ2MzbHRLU0J5WlhSMWNtNGdhMlY1TzF4dUlDQjlMRnh1SUNCMWMyVlRaWFIwWlhJNklHWjFibU4wYVc5dUlDZ3BJSHNnYzJWMGRHVnlJRDBnZEhKMVpUc2dmU3hjYmlBZ2RYTmxVMmx0Y0d4bE9pQm1kVzVqZEdsdmJpQW9LU0I3SUhObGRIUmxjaUE5SUdaaGJITmxPeUI5WEc1OUtUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1nS3lBa1pYaHdiM0owTGtZZ0tpQWhWVk5GWDA1QlZFbFdSU3dnSjA5aWFtVmpkQ2NzSUh0Y2JpQWdMeThnTVRrdU1TNHlMaklnVDJKcVpXTjBMbU55WldGMFpTaFBJRnNzSUZCeWIzQmxjblJwWlhOZEtWeHVJQ0JqY21WaGRHVTZJQ1JqY21WaGRHVXNYRzRnSUM4dklERTVMakV1TWk0MElFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hQTENCUUxDQkJkSFJ5YVdKMWRHVnpLVnh1SUNCa1pXWnBibVZRY205d1pYSjBlVG9nSkdSbFptbHVaVkJ5YjNCbGNuUjVMRnh1SUNBdkx5QXhPUzR4TGpJdU15QlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkR2xsY3loUExDQlFjbTl3WlhKMGFXVnpLVnh1SUNCa1pXWnBibVZRY205d1pYSjBhV1Z6T2lBa1pHVm1hVzVsVUhKdmNHVnlkR2xsY3l4Y2JpQWdMeThnTVRrdU1TNHlMallnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNpaFBMQ0JRS1Z4dUlDQm5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJNklDUm5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJc1hHNGdJQzh2SURFNUxqRXVNaTQzSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVNWhiV1Z6S0U4cFhHNGdJR2RsZEU5M2JsQnliM0JsY25SNVRtRnRaWE02SUNSblpYUlBkMjVRY205d1pYSjBlVTVoYldWekxGeHVJQ0F2THlBeE9TNHhMakl1T0NCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4ektFOHBYRzRnSUdkbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N6b2dKR2RsZEU5M2JsQnliM0JsY25SNVUzbHRZbTlzYzF4dWZTazdYRzVjYmk4dklESTBMak11TWlCS1UwOU9Mbk4wY21sdVoybG1lU2gyWVd4MVpTQmJMQ0J5WlhCc1lXTmxjaUJiTENCemNHRmpaVjFkS1Z4dUpFcFRUMDRnSmlZZ0pHVjRjRzl5ZENna1pYaHdiM0owTGxNZ0t5QWtaWGh3YjNKMExrWWdLaUFvSVZWVFJWOU9RVlJKVmtVZ2ZId2dKR1poYVd4ektHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJRk1nUFNBa1UzbHRZbTlzS0NrN1hHNGdJQzh2SUUxVElFVmtaMlVnWTI5dWRtVnlkSE1nYzNsdFltOXNJSFpoYkhWbGN5QjBieUJLVTA5T0lHRnpJSHQ5WEc0Z0lDOHZJRmRsWWt0cGRDQmpiMjUyWlhKMGN5QnplVzFpYjJ3Z2RtRnNkV1Z6SUhSdklFcFRUMDRnWVhNZ2JuVnNiRnh1SUNBdkx5QldPQ0IwYUhKdmQzTWdiMjRnWW05NFpXUWdjM2x0WW05c2MxeHVJQ0J5WlhSMWNtNGdYM04wY21sdVoybG1lU2hiVTEwcElDRTlJQ2RiYm5Wc2JGMG5JSHg4SUY5emRISnBibWRwWm5rb2V5QmhPaUJUSUgwcElDRTlJQ2Q3ZlNjZ2ZId2dYM04wY21sdVoybG1lU2hQWW1wbFkzUW9VeWtwSUNFOUlDZDdmU2M3WEc1OUtTa3NJQ2RLVTA5T0p5d2dlMXh1SUNCemRISnBibWRwWm5rNklHWjFibU4wYVc5dUlITjBjbWx1WjJsbWVTaHBkQ2tnZTF4dUlDQWdJSFpoY2lCaGNtZHpJRDBnVzJsMFhUdGNiaUFnSUNCMllYSWdhU0E5SURFN1hHNGdJQ0FnZG1GeUlISmxjR3hoWTJWeUxDQWtjbVZ3YkdGalpYSTdYRzRnSUNBZ2QyaHBiR1VnS0dGeVozVnRaVzUwY3k1c1pXNW5kR2dnUGlCcEtTQmhjbWR6TG5CMWMyZ29ZWEpuZFcxbGJuUnpXMmtySzEwcE8xeHVJQ0FnSUNSeVpYQnNZV05sY2lBOUlISmxjR3hoWTJWeUlEMGdZWEpuYzFzeFhUdGNiaUFnSUNCcFppQW9JV2x6VDJKcVpXTjBLSEpsY0d4aFkyVnlLU0FtSmlCcGRDQTlQVDBnZFc1a1pXWnBibVZrSUh4OElHbHpVM2x0WW05c0tHbDBLU2tnY21WMGRYSnVPeUF2THlCSlJUZ2djbVYwZFhKdWN5QnpkSEpwYm1jZ2IyNGdkVzVrWldacGJtVmtYRzRnSUNBZ2FXWWdLQ0ZwYzBGeWNtRjVLSEpsY0d4aFkyVnlLU2tnY21Wd2JHRmpaWElnUFNCbWRXNWpkR2x2YmlBb2EyVjVMQ0IyWVd4MVpTa2dlMXh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUFrY21Wd2JHRmpaWElnUFQwZ0oyWjFibU4wYVc5dUp5a2dkbUZzZFdVZ1BTQWtjbVZ3YkdGalpYSXVZMkZzYkNoMGFHbHpMQ0JyWlhrc0lIWmhiSFZsS1R0Y2JpQWdJQ0FnSUdsbUlDZ2hhWE5UZVcxaWIyd29kbUZzZFdVcEtTQnlaWFIxY200Z2RtRnNkV1U3WEc0Z0lDQWdmVHRjYmlBZ0lDQmhjbWR6V3pGZElEMGdjbVZ3YkdGalpYSTdYRzRnSUNBZ2NtVjBkWEp1SUY5emRISnBibWRwWm5rdVlYQndiSGtvSkVwVFQwNHNJR0Z5WjNNcE8xeHVJQ0I5WEc1OUtUdGNibHh1THk4Z01Ua3VOQzR6TGpRZ1UzbHRZbTlzTG5CeWIzUnZkSGx3WlZ0QVFIUnZVSEpwYldsMGFYWmxYU2hvYVc1MEtWeHVKRk41YldKdmJGdFFVazlVVDFSWlVFVmRXMVJQWDFCU1NVMUpWRWxXUlYwZ2ZId2djbVZ4ZFdseVpTZ25MaTlmYUdsa1pTY3BLQ1JUZVcxaWIyeGJVRkpQVkU5VVdWQkZYU3dnVkU5ZlVGSkpUVWxVU1ZaRkxDQWtVM2x0WW05c1cxQlNUMVJQVkZsUVJWMHVkbUZzZFdWUFppazdYRzR2THlBeE9TNDBMak11TlNCVGVXMWliMnd1Y0hKdmRHOTBlWEJsVzBCQWRHOVRkSEpwYm1kVVlXZGRYRzV6WlhSVWIxTjBjbWx1WjFSaFp5Z2tVM2x0WW05c0xDQW5VM2x0WW05c0p5azdYRzR2THlBeU1DNHlMakV1T1NCTllYUm9XMEJBZEc5VGRISnBibWRVWVdkZFhHNXpaWFJVYjFOMGNtbHVaMVJoWnloTllYUm9MQ0FuVFdGMGFDY3NJSFJ5ZFdVcE8xeHVMeThnTWpRdU15NHpJRXBUVDA1YlFFQjBiMU4wY21sdVoxUmhaMTFjYm5ObGRGUnZVM1J5YVc1blZHRm5LR2RzYjJKaGJDNUtVMDlPTENBblNsTlBUaWNzSUhSeWRXVXBPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQWtkSGx3WldRZ1BTQnlaWEYxYVhKbEtDY3VMMTkwZVhCbFpDY3BPMXh1ZG1GeUlHSjFabVpsY2lBOUlISmxjWFZwY21Vb0p5NHZYM1I1Y0dWa0xXSjFabVpsY2ljcE8xeHVkbUZ5SUdGdVQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZZVzR0YjJKcVpXTjBKeWs3WEc1MllYSWdkRzlCWW5OdmJIVjBaVWx1WkdWNElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dFlXSnpiMngxZEdVdGFXNWtaWGduS1R0Y2JuWmhjaUIwYjB4bGJtZDBhQ0E5SUhKbGNYVnBjbVVvSnk0dlgzUnZMV3hsYm1kMGFDY3BPMXh1ZG1GeUlHbHpUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmYVhNdGIySnFaV04wSnlrN1hHNTJZWElnUVhKeVlYbENkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDY3VMMTluYkc5aVlXd25LUzVCY25KaGVVSjFabVpsY2p0Y2JuWmhjaUJ6Y0dWamFXVnpRMjl1YzNSeWRXTjBiM0lnUFNCeVpYRjFhWEpsS0NjdUwxOXpjR1ZqYVdWekxXTnZibk4wY25WamRHOXlKeWs3WEc1MllYSWdKRUZ5Y21GNVFuVm1abVZ5SUQwZ1luVm1abVZ5TGtGeWNtRjVRblZtWm1WeU8xeHVkbUZ5SUNSRVlYUmhWbWxsZHlBOUlHSjFabVpsY2k1RVlYUmhWbWxsZHp0Y2JuWmhjaUFrYVhOV2FXVjNJRDBnSkhSNWNHVmtMa0ZDVmlBbUppQkJjbkpoZVVKMVptWmxjaTVwYzFacFpYYzdYRzUyWVhJZ0pITnNhV05sSUQwZ0pFRnljbUY1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzV6YkdsalpUdGNiblpoY2lCV1NVVlhJRDBnSkhSNWNHVmtMbFpKUlZjN1hHNTJZWElnUVZKU1FWbGZRbFZHUmtWU0lEMGdKMEZ5Y21GNVFuVm1abVZ5Snp0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExrY2dLeUFrWlhod2IzSjBMbGNnS3lBa1pYaHdiM0owTGtZZ0tpQW9RWEp5WVhsQ2RXWm1aWElnSVQwOUlDUkJjbkpoZVVKMVptWmxjaWtzSUhzZ1FYSnlZWGxDZFdabVpYSTZJQ1JCY25KaGVVSjFabVpsY2lCOUtUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1nS3lBa1pYaHdiM0owTGtZZ0tpQWhKSFI1Y0dWa0xrTlBUbE5VVWl3Z1FWSlNRVmxmUWxWR1JrVlNMQ0I3WEc0Z0lDOHZJREkwTGpFdU15NHhJRUZ5Y21GNVFuVm1abVZ5TG1selZtbGxkeWhoY21jcFhHNGdJR2x6Vm1sbGR6b2dablZ1WTNScGIyNGdhWE5XYVdWM0tHbDBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDUnBjMVpwWlhjZ0ppWWdKR2x6Vm1sbGR5aHBkQ2tnZkh3Z2FYTlBZbXBsWTNRb2FYUXBJQ1ltSUZaSlJWY2dhVzRnYVhRN1hHNGdJSDFjYm4wcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVQ0FySUNSbGVIQnZjblF1VlNBcklDUmxlSEJ2Y25RdVJpQXFJSEpsY1hWcGNtVW9KeTR2WDJaaGFXeHpKeWtvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0J5WlhSMWNtNGdJVzVsZHlBa1FYSnlZWGxDZFdabVpYSW9NaWt1YzJ4cFkyVW9NU3dnZFc1a1pXWnBibVZrS1M1aWVYUmxUR1Z1WjNSb08xeHVmU2tzSUVGU1VrRlpYMEpWUmtaRlVpd2dlMXh1SUNBdkx5QXlOQzR4TGpRdU15QkJjbkpoZVVKMVptWmxjaTV3Y205MGIzUjVjR1V1YzJ4cFkyVW9jM1JoY25Rc0lHVnVaQ2xjYmlBZ2MyeHBZMlU2SUdaMWJtTjBhVzl1SUhOc2FXTmxLSE4wWVhKMExDQmxibVFwSUh0Y2JpQWdJQ0JwWmlBb0pITnNhV05sSUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnWlc1a0lEMDlQU0IxYm1SbFptbHVaV1FwSUhKbGRIVnliaUFrYzJ4cFkyVXVZMkZzYkNoaGJrOWlhbVZqZENoMGFHbHpLU3dnYzNSaGNuUXBPeUF2THlCR1JpQm1hWGhjYmlBZ0lDQjJZWElnYkdWdUlEMGdZVzVQWW1wbFkzUW9kR2hwY3lrdVlubDBaVXhsYm1kMGFEdGNiaUFnSUNCMllYSWdabWx5YzNRZ1BTQjBiMEZpYzI5c2RYUmxTVzVrWlhnb2MzUmhjblFzSUd4bGJpazdYRzRnSUNBZ2RtRnlJR1pwYmlBOUlIUnZRV0p6YjJ4MWRHVkpibVJsZUNobGJtUWdQVDA5SUhWdVpHVm1hVzVsWkNBL0lHeGxiaUE2SUdWdVpDd2diR1Z1S1R0Y2JpQWdJQ0IyWVhJZ2NtVnpkV3gwSUQwZ2JtVjNJQ2h6Y0dWamFXVnpRMjl1YzNSeWRXTjBiM0lvZEdocGN5d2dKRUZ5Y21GNVFuVm1abVZ5S1Nrb2RHOU1aVzVuZEdnb1ptbHVJQzBnWm1seWMzUXBLVHRjYmlBZ0lDQjJZWElnZG1sbGQxTWdQU0J1WlhjZ0pFUmhkR0ZXYVdWM0tIUm9hWE1wTzF4dUlDQWdJSFpoY2lCMmFXVjNWQ0E5SUc1bGR5QWtSR0YwWVZacFpYY29jbVZ6ZFd4MEtUdGNiaUFnSUNCMllYSWdhVzVrWlhnZ1BTQXdPMXh1SUNBZ0lIZG9hV3hsSUNobWFYSnpkQ0E4SUdacGJpa2dlMXh1SUNBZ0lDQWdkbWxsZDFRdWMyVjBWV2x1ZERnb2FXNWtaWGdyS3l3Z2RtbGxkMU11WjJWMFZXbHVkRGdvWm1seWMzUXJLeWtwTzF4dUlDQWdJSDBnY21WMGRYSnVJSEpsYzNWc2REdGNiaUFnZlZ4dWZTazdYRzVjYm5KbGNYVnBjbVVvSnk0dlgzTmxkQzF6Y0dWamFXVnpKeWtvUVZKU1FWbGZRbFZHUmtWU0tUdGNiaUlzSW5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1UnlBcklDUmxlSEJ2Y25RdVZ5QXJJQ1JsZUhCdmNuUXVSaUFxSUNGeVpYRjFhWEpsS0NjdUwxOTBlWEJsWkNjcExrRkNWaXdnZTF4dUlDQkVZWFJoVm1sbGR6b2djbVZ4ZFdseVpTZ25MaTlmZEhsd1pXUXRZblZtWm1WeUp5a3VSR0YwWVZacFpYZGNibjBwTzF4dUlpd2ljbVZ4ZFdseVpTZ25MaTlmZEhsd1pXUXRZWEp5WVhrbktTZ25SbXh2WVhRek1pY3NJRFFzSUdaMWJtTjBhVzl1SUNocGJtbDBLU0I3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCR2JHOWhkRE15UVhKeVlYa29aR0YwWVN3Z1lubDBaVTltWm5ObGRDd2diR1Z1WjNSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdsdWFYUW9kR2hwY3l3Z1pHRjBZU3dnWW5sMFpVOW1abk5sZEN3Z2JHVnVaM1JvS1R0Y2JpQWdmVHRjYm4wcE8xeHVJaXdpY21WeGRXbHlaU2duTGk5ZmRIbHdaV1F0WVhKeVlYa25LU2duUm14dllYUTJOQ2NzSURnc0lHWjFibU4wYVc5dUlDaHBibWwwS1NCN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQkdiRzloZERZMFFYSnlZWGtvWkdGMFlTd2dZbmwwWlU5bVpuTmxkQ3dnYkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHbHVhWFFvZEdocGN5d2daR0YwWVN3Z1lubDBaVTltWm5ObGRDd2diR1Z1WjNSb0tUdGNiaUFnZlR0Y2JuMHBPMXh1SWl3aWNtVnhkV2x5WlNnbkxpOWZkSGx3WldRdFlYSnlZWGtuS1NnblNXNTBNVFluTENBeUxDQm1kVzVqZEdsdmJpQW9hVzVwZENrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdTVzUwTVRaQmNuSmhlU2hrWVhSaExDQmllWFJsVDJabWMyVjBMQ0JzWlc1bmRHZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2FXNXBkQ2gwYUdsekxDQmtZWFJoTENCaWVYUmxUMlptYzJWMExDQnNaVzVuZEdncE8xeHVJQ0I5TzF4dWZTazdYRzRpTENKeVpYRjFhWEpsS0NjdUwxOTBlWEJsWkMxaGNuSmhlU2NwS0NkSmJuUXpNaWNzSURRc0lHWjFibU4wYVc5dUlDaHBibWwwS1NCN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQkpiblF6TWtGeWNtRjVLR1JoZEdFc0lHSjVkR1ZQWm1aelpYUXNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCcGJtbDBLSFJvYVhNc0lHUmhkR0VzSUdKNWRHVlBabVp6WlhRc0lHeGxibWQwYUNrN1hHNGdJSDA3WEc1OUtUdGNiaUlzSW5KbGNYVnBjbVVvSnk0dlgzUjVjR1ZrTFdGeWNtRjVKeWtvSjBsdWREZ25MQ0F4TENCbWRXNWpkR2x2YmlBb2FXNXBkQ2tnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z1NXNTBPRUZ5Y21GNUtHUmhkR0VzSUdKNWRHVlBabVp6WlhRc0lHeGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJwYm1sMEtIUm9hWE1zSUdSaGRHRXNJR0o1ZEdWUFptWnpaWFFzSUd4bGJtZDBhQ2s3WEc0Z0lIMDdYRzU5S1R0Y2JpSXNJbkpsY1hWcGNtVW9KeTR2WDNSNWNHVmtMV0Z5Y21GNUp5a29KMVZwYm5ReE5pY3NJRElzSUdaMWJtTjBhVzl1SUNocGJtbDBLU0I3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCVmFXNTBNVFpCY25KaGVTaGtZWFJoTENCaWVYUmxUMlptYzJWMExDQnNaVzVuZEdncElIdGNiaUFnSUNCeVpYUjFjbTRnYVc1cGRDaDBhR2x6TENCa1lYUmhMQ0JpZVhSbFQyWm1jMlYwTENCc1pXNW5kR2dwTzF4dUlDQjlPMXh1ZlNrN1hHNGlMQ0p5WlhGMWFYSmxLQ2N1TDE5MGVYQmxaQzFoY25KaGVTY3BLQ2RWYVc1ME16SW5MQ0EwTENCbWRXNWpkR2x2YmlBb2FXNXBkQ2tnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z1ZXbHVkRE15UVhKeVlYa29aR0YwWVN3Z1lubDBaVTltWm5ObGRDd2diR1Z1WjNSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdsdWFYUW9kR2hwY3l3Z1pHRjBZU3dnWW5sMFpVOW1abk5sZEN3Z2JHVnVaM1JvS1R0Y2JpQWdmVHRjYm4wcE8xeHVJaXdpY21WeGRXbHlaU2duTGk5ZmRIbHdaV1F0WVhKeVlYa25LU2duVldsdWREZ25MQ0F4TENCbWRXNWpkR2x2YmlBb2FXNXBkQ2tnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z1ZXbHVkRGhCY25KaGVTaGtZWFJoTENCaWVYUmxUMlptYzJWMExDQnNaVzVuZEdncElIdGNiaUFnSUNCeVpYUjFjbTRnYVc1cGRDaDBhR2x6TENCa1lYUmhMQ0JpZVhSbFQyWm1jMlYwTENCc1pXNW5kR2dwTzF4dUlDQjlPMXh1ZlNrN1hHNGlMQ0p5WlhGMWFYSmxLQ2N1TDE5MGVYQmxaQzFoY25KaGVTY3BLQ2RWYVc1ME9DY3NJREVzSUdaMWJtTjBhVzl1SUNocGJtbDBLU0I3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCVmFXNTBPRU5zWVcxd1pXUkJjbkpoZVNoa1lYUmhMQ0JpZVhSbFQyWm1jMlYwTENCc1pXNW5kR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdhVzVwZENoMGFHbHpMQ0JrWVhSaExDQmllWFJsVDJabWMyVjBMQ0JzWlc1bmRHZ3BPMXh1SUNCOU8xeHVmU3dnZEhKMVpTazdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzUyWVhJZ1pXRmphQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnljbUY1TFcxbGRHaHZaSE1uS1Nnd0tUdGNiblpoY2lCeVpXUmxabWx1WlNBOUlISmxjWFZwY21Vb0p5NHZYM0psWkdWbWFXNWxKeWs3WEc1MllYSWdiV1YwWVNBOUlISmxjWFZwY21Vb0p5NHZYMjFsZEdFbktUdGNiblpoY2lCaGMzTnBaMjRnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFlYTnphV2R1SnlrN1hHNTJZWElnZDJWaGF5QTlJSEpsY1hWcGNtVW9KeTR2WDJOdmJHeGxZM1JwYjI0dGQyVmhheWNwTzF4dWRtRnlJR2x6VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmFYTXRiMkpxWldOMEp5azdYRzUyWVhJZ1ptRnBiSE1nUFNCeVpYRjFhWEpsS0NjdUwxOW1ZV2xzY3ljcE8xeHVkbUZ5SUhaaGJHbGtZWFJsSUQwZ2NtVnhkV2x5WlNnbkxpOWZkbUZzYVdSaGRHVXRZMjlzYkdWamRHbHZiaWNwTzF4dWRtRnlJRmRGUVV0ZlRVRlFJRDBnSjFkbFlXdE5ZWEFuTzF4dWRtRnlJR2RsZEZkbFlXc2dQU0J0WlhSaExtZGxkRmRsWVdzN1hHNTJZWElnYVhORmVIUmxibk5wWW14bElEMGdUMkpxWldOMExtbHpSWGgwWlc1emFXSnNaVHRjYm5aaGNpQjFibU5oZFdkb2RFWnliM3BsYmxOMGIzSmxJRDBnZDJWaGF5NTFabk4wYjNKbE8xeHVkbUZ5SUhSdGNDQTlJSHQ5TzF4dWRtRnlJRWx1ZEdWeWJtRnNUV0Z3TzF4dVhHNTJZWElnZDNKaGNIQmxjaUE5SUdaMWJtTjBhVzl1SUNoblpYUXBJSHRjYmlBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUZkbFlXdE5ZWEFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJR2RsZENoMGFHbHpMQ0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTUNBL0lHRnlaM1Z0Wlc1MGMxc3dYU0E2SUhWdVpHVm1hVzVsWkNrN1hHNGdJSDA3WEc1OU8xeHVYRzUyWVhJZ2JXVjBhRzlrY3lBOUlIdGNiaUFnTHk4Z01qTXVNeTR6TGpNZ1YyVmhhMDFoY0M1d2NtOTBiM1I1Y0dVdVoyVjBLR3RsZVNsY2JpQWdaMlYwT2lCbWRXNWpkR2x2YmlCblpYUW9hMlY1S1NCN1hHNGdJQ0FnYVdZZ0tHbHpUMkpxWldOMEtHdGxlU2twSUh0Y2JpQWdJQ0FnSUhaaGNpQmtZWFJoSUQwZ1oyVjBWMlZoYXloclpYa3BPMXh1SUNBZ0lDQWdhV1lnS0dSaGRHRWdQVDA5SUhSeWRXVXBJSEpsZEhWeWJpQjFibU5oZFdkb2RFWnliM3BsYmxOMGIzSmxLSFpoYkdsa1lYUmxLSFJvYVhNc0lGZEZRVXRmVFVGUUtTa3VaMlYwS0d0bGVTazdYRzRnSUNBZ0lDQnlaWFIxY200Z1pHRjBZU0EvSUdSaGRHRmJkR2hwY3k1ZmFWMGdPaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdmVnh1SUNCOUxGeHVJQ0F2THlBeU15NHpMak11TlNCWFpXRnJUV0Z3TG5CeWIzUnZkSGx3WlM1elpYUW9hMlY1TENCMllXeDFaU2xjYmlBZ2MyVjBPaUJtZFc1amRHbHZiaUJ6WlhRb2EyVjVMQ0IyWVd4MVpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCM1pXRnJMbVJsWmloMllXeHBaR0YwWlNoMGFHbHpMQ0JYUlVGTFgwMUJVQ2tzSUd0bGVTd2dkbUZzZFdVcE8xeHVJQ0I5WEc1OU8xeHVYRzR2THlBeU15NHpJRmRsWVd0TllYQWdUMkpxWldOMGMxeHVkbUZ5SUNSWFpXRnJUV0Z3SUQwZ2JXOWtkV3hsTG1WNGNHOXlkSE1nUFNCeVpYRjFhWEpsS0NjdUwxOWpiMnhzWldOMGFXOXVKeWtvVjBWQlMxOU5RVkFzSUhkeVlYQndaWElzSUcxbGRHaHZaSE1zSUhkbFlXc3NJSFJ5ZFdVc0lIUnlkV1VwTzF4dVhHNHZMeUJKUlRFeElGZGxZV3ROWVhBZ1puSnZlbVZ1SUd0bGVYTWdabWw0WEc1cFppQW9abUZwYkhNb1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdibVYzSUNSWFpXRnJUV0Z3S0NrdWMyVjBLQ2hQWW1wbFkzUXVabkpsWlhwbElIeDhJRTlpYW1WamRDa29kRzF3S1N3Z055a3VaMlYwS0hSdGNDa2dJVDBnTnpzZ2ZTa3BJSHRjYmlBZ1NXNTBaWEp1WVd4TllYQWdQU0IzWldGckxtZGxkRU52Ym5OMGNuVmpkRzl5S0hkeVlYQndaWElzSUZkRlFVdGZUVUZRS1R0Y2JpQWdZWE56YVdkdUtFbHVkR1Z5Ym1Gc1RXRndMbkJ5YjNSdmRIbHdaU3dnYldWMGFHOWtjeWs3WEc0Z0lHMWxkR0V1VGtWRlJDQTlJSFJ5ZFdVN1hHNGdJR1ZoWTJnb1d5ZGtaV3hsZEdVbkxDQW5hR0Z6Snl3Z0oyZGxkQ2NzSUNkelpYUW5YU3dnWm5WdVkzUnBiMjRnS0d0bGVTa2dlMXh1SUNBZ0lIWmhjaUJ3Y205MGJ5QTlJQ1JYWldGclRXRndMbkJ5YjNSdmRIbHdaVHRjYmlBZ0lDQjJZWElnYldWMGFHOWtJRDBnY0hKdmRHOWJhMlY1WFR0Y2JpQWdJQ0J5WldSbFptbHVaU2h3Y205MGJ5d2dhMlY1TENCbWRXNWpkR2x2YmlBb1lTd2dZaWtnZTF4dUlDQWdJQ0FnTHk4Z2MzUnZjbVVnWm5KdmVtVnVJRzlpYW1WamRITWdiMjRnYVc1MFpYSnVZV3dnZDJWaGEyMWhjQ0J6YUdsdFhHNGdJQ0FnSUNCcFppQW9hWE5QWW1wbFkzUW9ZU2tnSmlZZ0lXbHpSWGgwWlc1emFXSnNaU2hoS1NrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVhSb2FYTXVYMllwSUhSb2FYTXVYMllnUFNCdVpYY2dTVzUwWlhKdVlXeE5ZWEFvS1R0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJSFJvYVhNdVgyWmJhMlY1WFNoaExDQmlLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR3RsZVNBOVBTQW5jMlYwSnlBL0lIUm9hWE1nT2lCeVpYTjFiSFE3WEc0Z0lDQWdJQ0F2THlCemRHOXlaU0JoYkd3Z2RHaGxJSEpsYzNRZ2IyNGdibUYwYVhabElIZGxZV3R0WVhCY2JpQWdJQ0FnSUgwZ2NtVjBkWEp1SUcxbGRHaHZaQzVqWVd4c0tIUm9hWE1zSUdFc0lHSXBPMXh1SUNBZ0lIMHBPMXh1SUNCOUtUdGNibjFjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQjNaV0ZySUQwZ2NtVnhkV2x5WlNnbkxpOWZZMjlzYkdWamRHbHZiaTEzWldGckp5azdYRzUyWVhJZ2RtRnNhV1JoZEdVZ1BTQnlaWEYxYVhKbEtDY3VMMTkyWVd4cFpHRjBaUzFqYjJ4c1pXTjBhVzl1SnlrN1hHNTJZWElnVjBWQlMxOVRSVlFnUFNBblYyVmhhMU5sZENjN1hHNWNiaTh2SURJekxqUWdWMlZoYTFObGRDQlBZbXBsWTNSelhHNXlaWEYxYVhKbEtDY3VMMTlqYjJ4c1pXTjBhVzl1Snlrb1YwVkJTMTlUUlZRc0lHWjFibU4wYVc5dUlDaG5aWFFwSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlGZGxZV3RUWlhRb0tTQjdJSEpsZEhWeWJpQm5aWFFvZEdocGN5d2dZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJREFnUHlCaGNtZDFiV1Z1ZEhOYk1GMGdPaUIxYm1SbFptbHVaV1FwT3lCOU8xeHVmU3dnZTF4dUlDQXZMeUF5TXk0MExqTXVNU0JYWldGclUyVjBMbkJ5YjNSdmRIbHdaUzVoWkdRb2RtRnNkV1VwWEc0Z0lHRmtaRG9nWm5WdVkzUnBiMjRnWVdSa0tIWmhiSFZsS1NCN1hHNGdJQ0FnY21WMGRYSnVJSGRsWVdzdVpHVm1LSFpoYkdsa1lYUmxLSFJvYVhNc0lGZEZRVXRmVTBWVUtTd2dkbUZzZFdVc0lIUnlkV1VwTzF4dUlDQjlYRzU5TENCM1pXRnJMQ0JtWVd4elpTd2dkSEoxWlNrN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNHZMeUJvZEhSd2N6b3ZMM1JqTXprdVoybDBhSFZpTG1sdkwzQnliM0J2YzJGc0xXWnNZWFJOWVhBdkkzTmxZeTFCY25KaGVTNXdjbTkwYjNSNWNHVXVabXhoZEUxaGNGeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCbWJHRjBkR1Z1U1c1MGIwRnljbUY1SUQwZ2NtVnhkV2x5WlNnbkxpOWZabXhoZEhSbGJpMXBiblJ2TFdGeWNtRjVKeWs3WEc1MllYSWdkRzlQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXZZbXBsWTNRbktUdGNiblpoY2lCMGIweGxibWQwYUNBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFd4bGJtZDBhQ2NwTzF4dWRtRnlJR0ZHZFc1amRHbHZiaUE5SUhKbGNYVnBjbVVvSnk0dlgyRXRablZ1WTNScGIyNG5LVHRjYm5aaGNpQmhjbkpoZVZOd1pXTnBaWE5EY21WaGRHVWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGNuSmhlUzF6Y0dWamFXVnpMV055WldGMFpTY3BPMXh1WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VUN3Z0owRnljbUY1Snl3Z2UxeHVJQ0JtYkdGMFRXRndPaUJtZFc1amRHbHZiaUJtYkdGMFRXRndLR05oYkd4aVlXTnJabTRnTHlvZ0xDQjBhR2x6UVhKbklDb3ZLU0I3WEc0Z0lDQWdkbUZ5SUU4Z1BTQjBiMDlpYW1WamRDaDBhR2x6S1R0Y2JpQWdJQ0IyWVhJZ2MyOTFjbU5sVEdWdUxDQkJPMXh1SUNBZ0lHRkdkVzVqZEdsdmJpaGpZV3hzWW1GamEyWnVLVHRjYmlBZ0lDQnpiM1Z5WTJWTVpXNGdQU0IwYjB4bGJtZDBhQ2hQTG14bGJtZDBhQ2s3WEc0Z0lDQWdRU0E5SUdGeWNtRjVVM0JsWTJsbGMwTnlaV0YwWlNoUExDQXdLVHRjYmlBZ0lDQm1iR0YwZEdWdVNXNTBiMEZ5Y21GNUtFRXNJRThzSUU4c0lITnZkWEpqWlV4bGJpd2dNQ3dnTVN3Z1kyRnNiR0poWTJ0bWJpd2dZWEpuZFcxbGJuUnpXekZkS1R0Y2JpQWdJQ0J5WlhSMWNtNGdRVHRjYmlBZ2ZWeHVmU2s3WEc1Y2JuSmxjWFZwY21Vb0p5NHZYMkZrWkMxMGJ5MTFibk5qYjNCaFlteGxjeWNwS0NkbWJHRjBUV0Z3SnlrN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNHZMeUJvZEhSd2N6b3ZMM1JqTXprdVoybDBhSFZpTG1sdkwzQnliM0J2YzJGc0xXWnNZWFJOWVhBdkkzTmxZeTFCY25KaGVTNXdjbTkwYjNSNWNHVXVabXhoZEhSbGJseHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCbWJHRjBkR1Z1U1c1MGIwRnljbUY1SUQwZ2NtVnhkV2x5WlNnbkxpOWZabXhoZEhSbGJpMXBiblJ2TFdGeWNtRjVKeWs3WEc1MllYSWdkRzlQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXZZbXBsWTNRbktUdGNiblpoY2lCMGIweGxibWQwYUNBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFd4bGJtZDBhQ2NwTzF4dWRtRnlJSFJ2U1c1MFpXZGxjaUE5SUhKbGNYVnBjbVVvSnk0dlgzUnZMV2x1ZEdWblpYSW5LVHRjYm5aaGNpQmhjbkpoZVZOd1pXTnBaWE5EY21WaGRHVWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGNuSmhlUzF6Y0dWamFXVnpMV055WldGMFpTY3BPMXh1WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VUN3Z0owRnljbUY1Snl3Z2UxeHVJQ0JtYkdGMGRHVnVPaUJtZFc1amRHbHZiaUJtYkdGMGRHVnVLQzhxSUdSbGNIUm9RWEpuSUQwZ01TQXFMeWtnZTF4dUlDQWdJSFpoY2lCa1pYQjBhRUZ5WnlBOUlHRnlaM1Z0Wlc1MGMxc3dYVHRjYmlBZ0lDQjJZWElnVHlBOUlIUnZUMkpxWldOMEtIUm9hWE1wTzF4dUlDQWdJSFpoY2lCemIzVnlZMlZNWlc0Z1BTQjBiMHhsYm1kMGFDaFBMbXhsYm1kMGFDazdYRzRnSUNBZ2RtRnlJRUVnUFNCaGNuSmhlVk53WldOcFpYTkRjbVZoZEdVb1R5d2dNQ2s3WEc0Z0lDQWdabXhoZEhSbGJrbHVkRzlCY25KaGVTaEJMQ0JQTENCUExDQnpiM1Z5WTJWTVpXNHNJREFzSUdSbGNIUm9RWEpuSUQwOVBTQjFibVJsWm1sdVpXUWdQeUF4SURvZ2RHOUpiblJsWjJWeUtHUmxjSFJvUVhKbktTazdYRzRnSUNBZ2NtVjBkWEp1SUVFN1hHNGdJSDFjYm4wcE8xeHVYRzV5WlhGMWFYSmxLQ2N1TDE5aFpHUXRkRzh0ZFc1elkyOXdZV0pzWlhNbktTZ25abXhoZEhSbGJpY3BPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1THk4Z2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzUmpNemt2UVhKeVlYa3VjSEp2ZEc5MGVYQmxMbWx1WTJ4MVpHVnpYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlDUnBibU5zZFdSbGN5QTlJSEpsY1hWcGNtVW9KeTR2WDJGeWNtRjVMV2x1WTJ4MVpHVnpKeWtvZEhKMVpTazdYRzVjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVRTENBblFYSnlZWGtuTENCN1hHNGdJR2x1WTJ4MVpHVnpPaUJtZFc1amRHbHZiaUJwYm1Oc2RXUmxjeWhsYkNBdktpQXNJR1p5YjIxSmJtUmxlQ0E5SURBZ0tpOHBJSHRjYmlBZ0lDQnlaWFIxY200Z0pHbHVZMngxWkdWektIUm9hWE1zSUdWc0xDQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNU0EvSUdGeVozVnRaVzUwYzFzeFhTQTZJSFZ1WkdWbWFXNWxaQ2s3WEc0Z0lIMWNibjBwTzF4dVhHNXlaWEYxYVhKbEtDY3VMMTloWkdRdGRHOHRkVzV6WTI5d1lXSnNaWE1uS1NnbmFXNWpiSFZrWlhNbktUdGNiaUlzSWk4dklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOXlkMkZzWkhKdmJpOTBZek01TFc1dmRHVnpMMkpzYjJJdmJXRnpkR1Z5TDJWek5pOHlNREUwTFRBNUwzTmxjSFF0TWpVdWJXUWpOVEV3TFdkc2IySmhiR0Z6WVhBdFptOXlMV1Z1Y1hWbGRXbHVaeTFoTFcxcFkzSnZkR0Z6YTF4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUJ0YVdOeWIzUmhjMnNnUFNCeVpYRjFhWEpsS0NjdUwxOXRhV055YjNSaGMyc25LU2dwTzF4dWRtRnlJSEJ5YjJObGMzTWdQU0J5WlhGMWFYSmxLQ2N1TDE5bmJHOWlZV3duS1M1d2NtOWpaWE56TzF4dWRtRnlJR2x6VG05a1pTQTlJSEpsY1hWcGNtVW9KeTR2WDJOdlppY3BLSEJ5YjJObGMzTXBJRDA5SUNkd2NtOWpaWE56Snp0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExrY3NJSHRjYmlBZ1lYTmhjRG9nWm5WdVkzUnBiMjRnWVhOaGNDaG1iaWtnZTF4dUlDQWdJSFpoY2lCa2IyMWhhVzRnUFNCcGMwNXZaR1VnSmlZZ2NISnZZMlZ6Y3k1a2IyMWhhVzQ3WEc0Z0lDQWdiV2xqY205MFlYTnJLR1J2YldGcGJpQS9JR1J2YldGcGJpNWlhVzVrS0dadUtTQTZJR1p1S1R0Y2JpQWdmVnh1ZlNrN1hHNGlMQ0l2THlCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJHcG9ZWEppTDNCeWIzQnZjMkZzTFdsekxXVnljbTl5WEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dWRtRnlJR052WmlBOUlISmxjWFZwY21Vb0p5NHZYMk52WmljcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeXdnSjBWeWNtOXlKeXdnZTF4dUlDQnBjMFZ5Y205eU9pQm1kVzVqZEdsdmJpQnBjMFZ5Y205eUtHbDBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnZaaWhwZENrZ1BUMDlJQ2RGY25KdmNpYzdYRzRnSUgxY2JuMHBPMXh1SWl3aUx5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMM1JqTXprdmNISnZjRzl6WVd3dFoyeHZZbUZzWEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVJ5d2dleUJuYkc5aVlXdzZJSEpsY1hWcGNtVW9KeTR2WDJkc2IySmhiQ2NwSUgwcE8xeHVJaXdpTHk4Z2FIUjBjSE02THk5MFl6TTVMbWRwZEdoMVlpNXBieTl3Y205d2IzTmhiQzF6WlhSdFlYQXRiMlptY205dEx5TnpaV010YldGd0xtWnliMjFjYm5KbGNYVnBjbVVvSnk0dlgzTmxkQzFqYjJ4c1pXTjBhVzl1TFdaeWIyMG5LU2duVFdGd0p5azdYRzRpTENJdkx5Qm9kSFJ3Y3pvdkwzUmpNemt1WjJsMGFIVmlMbWx2TDNCeWIzQnZjMkZzTFhObGRHMWhjQzF2Wm1aeWIyMHZJM05sWXkxdFlYQXViMlpjYm5KbGNYVnBjbVVvSnk0dlgzTmxkQzFqYjJ4c1pXTjBhVzl1TFc5bUp5a29KMDFoY0NjcE8xeHVJaXdpTHk4Z2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwwUmhkbWxrUW5KMVlXNTBMMDFoY0MxVFpYUXVjSEp2ZEc5MGVYQmxMblJ2U2xOUFRseHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbEFnS3lBa1pYaHdiM0owTGxJc0lDZE5ZWEFuTENCN0lIUnZTbE5QVGpvZ2NtVnhkV2x5WlNnbkxpOWZZMjlzYkdWamRHbHZiaTEwYnkxcWMyOXVKeWtvSjAxaGNDY3BJSDBwTzF4dUlpd2lMeThnYUhSMGNITTZMeTl5ZDJGc1pISnZiaTVuYVhSb2RXSXVhVzh2Y0hKdmNHOXpZV3d0YldGMGFDMWxlSFJsYm5OcGIyNXpMMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxNc0lDZE5ZWFJvSnl3Z2UxeHVJQ0JqYkdGdGNEb2dablZ1WTNScGIyNGdZMnhoYlhBb2VDd2diRzkzWlhJc0lIVndjR1Z5S1NCN1hHNGdJQ0FnY21WMGRYSnVJRTFoZEdndWJXbHVLSFZ3Y0dWeUxDQk5ZWFJvTG0xaGVDaHNiM2RsY2l3Z2VDa3BPMXh1SUNCOVhHNTlLVHRjYmlJc0lpOHZJR2gwZEhCek9pOHZjbmRoYkdSeWIyNHVaMmwwYUhWaUxtbHZMM0J5YjNCdmMyRnNMVzFoZEdndFpYaDBaVzV6YVc5dWN5OWNiblpoY2lBa1pYaHdiM0owSUQwZ2NtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5azdYRzVjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUTENBblRXRjBhQ2NzSUhzZ1JFVkhYMUJGVWw5U1FVUTZJRTFoZEdndVVFa2dMeUF4T0RBZ2ZTazdYRzRpTENJdkx5Qm9kSFJ3Y3pvdkwzSjNZV3hrY205dUxtZHBkR2gxWWk1cGJ5OXdjbTl3YjNOaGJDMXRZWFJvTFdWNGRHVnVjMmx2Ym5NdlhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUZKQlJGOVFSVkpmUkVWSElEMGdNVGd3SUM4Z1RXRjBhQzVRU1R0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsTXNJQ2ROWVhSb0p5d2dlMXh1SUNCa1pXZHlaV1Z6T2lCbWRXNWpkR2x2YmlCa1pXZHlaV1Z6S0hKaFpHbGhibk1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdjbUZrYVdGdWN5QXFJRkpCUkY5UVJWSmZSRVZITzF4dUlDQjlYRzU5S1R0Y2JpSXNJaTh2SUdoMGRIQnpPaTh2Y25kaGJHUnliMjR1WjJsMGFIVmlMbWx2TDNCeWIzQnZjMkZzTFcxaGRHZ3RaWGgwWlc1emFXOXVjeTljYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdjMk5oYkdVZ1BTQnlaWEYxYVhKbEtDY3VMMTl0WVhSb0xYTmpZV3hsSnlrN1hHNTJZWElnWm5KdmRXNWtJRDBnY21WeGRXbHlaU2duTGk5ZmJXRjBhQzFtY205MWJtUW5LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxNc0lDZE5ZWFJvSnl3Z2UxeHVJQ0JtYzJOaGJHVTZJR1oxYm1OMGFXOXVJR1p6WTJGc1pTaDRMQ0JwYmt4dmR5d2dhVzVJYVdkb0xDQnZkWFJNYjNjc0lHOTFkRWhwWjJncElIdGNiaUFnSUNCeVpYUjFjbTRnWm5KdmRXNWtLSE5qWVd4bEtIZ3NJR2x1VEc5M0xDQnBia2hwWjJnc0lHOTFkRXh2ZHl3Z2IzVjBTR2xuYUNrcE8xeHVJQ0I5WEc1OUtUdGNiaUlzSWk4dklHaDBkSEJ6T2k4dloybHpkQzVuYVhSb2RXSXVZMjl0TDBKeVpXNWtZVzVGYVdOb0x6UXlPVFJrTldNeU1USmhObVF5TWpVME56QXpYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VXl3Z0owMWhkR2duTENCN1hHNGdJR2xoWkdSb09pQm1kVzVqZEdsdmJpQnBZV1JrYUNoNE1Dd2dlREVzSUhrd0xDQjVNU2tnZTF4dUlDQWdJSFpoY2lBa2VEQWdQU0I0TUNBK1BqNGdNRHRjYmlBZ0lDQjJZWElnSkhneElEMGdlREVnUGo0K0lEQTdYRzRnSUNBZ2RtRnlJQ1I1TUNBOUlIa3dJRDQrUGlBd08xeHVJQ0FnSUhKbGRIVnliaUFrZURFZ0t5QW9lVEVnUGo0K0lEQXBJQ3NnS0Nna2VEQWdKaUFrZVRBZ2ZDQW9KSGd3SUh3Z0pIa3dLU0FtSUg0b0pIZ3dJQ3NnSkhrd0lENCtQaUF3S1NrZ1BqNCtJRE14S1NCOElEQTdYRzRnSUgxY2JuMHBPMXh1SWl3aUx5OGdhSFIwY0hNNkx5OW5hWE4wTG1kcGRHaDFZaTVqYjIwdlFuSmxibVJoYmtWcFkyZ3ZOREk1TkdRMVl6SXhNbUUyWkRJeU5UUTNNRE5jYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VExDQW5UV0YwYUNjc0lIdGNiaUFnYVcxMWJHZzZJR1oxYm1OMGFXOXVJR2x0ZFd4b0tIVXNJSFlwSUh0Y2JpQWdJQ0IyWVhJZ1ZVbE9WREUySUQwZ01IaG1abVptTzF4dUlDQWdJSFpoY2lBa2RTQTlJQ3QxTzF4dUlDQWdJSFpoY2lBa2RpQTlJQ3QyTzF4dUlDQWdJSFpoY2lCMU1DQTlJQ1IxSUNZZ1ZVbE9WREUyTzF4dUlDQWdJSFpoY2lCMk1DQTlJQ1IySUNZZ1ZVbE9WREUyTzF4dUlDQWdJSFpoY2lCMU1TQTlJQ1IxSUQ0K0lERTJPMXh1SUNBZ0lIWmhjaUIyTVNBOUlDUjJJRDQrSURFMk8xeHVJQ0FnSUhaaGNpQjBJRDBnS0hVeElDb2dkakFnUGo0K0lEQXBJQ3NnS0hVd0lDb2dkakFnUGo0K0lERTJLVHRjYmlBZ0lDQnlaWFIxY200Z2RURWdLaUIyTVNBcklDaDBJRDQrSURFMktTQXJJQ2dvZFRBZ0tpQjJNU0ErUGo0Z01Da2dLeUFvZENBbUlGVkpUbFF4TmlrZ1BqNGdNVFlwTzF4dUlDQjlYRzU5S1R0Y2JpSXNJaTh2SUdoMGRIQnpPaTh2WjJsemRDNW5hWFJvZFdJdVkyOXRMMEp5Wlc1a1lXNUZhV05vTHpReU9UUmtOV015TVRKaE5tUXlNalUwTnpBelhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeXdnSjAxaGRHZ25MQ0I3WEc0Z0lHbHpkV0pvT2lCbWRXNWpkR2x2YmlCcGMzVmlhQ2g0TUN3Z2VERXNJSGt3TENCNU1Ta2dlMXh1SUNBZ0lIWmhjaUFrZURBZ1BTQjRNQ0ErUGo0Z01EdGNiaUFnSUNCMllYSWdKSGd4SUQwZ2VERWdQajQrSURBN1hHNGdJQ0FnZG1GeUlDUjVNQ0E5SUhrd0lENCtQaUF3TzF4dUlDQWdJSEpsZEhWeWJpQWtlREVnTFNBb2VURWdQajQrSURBcElDMGdLQ2grSkhnd0lDWWdKSGt3SUh3Z2ZpZ2tlREFnWGlBa2VUQXBJQ1lnSkhnd0lDMGdKSGt3SUQ0K1BpQXdLU0ErUGo0Z016RXBJSHdnTUR0Y2JpQWdmVnh1ZlNrN1hHNGlMQ0l2THlCb2RIUndjem92TDNKM1lXeGtjbTl1TG1kcGRHaDFZaTVwYnk5d2NtOXdiM05oYkMxdFlYUm9MV1Y0ZEdWdWMybHZibk12WEc1MllYSWdKR1Y0Y0c5eWRDQTlJSEpsY1hWcGNtVW9KeTR2WDJWNGNHOXlkQ2NwTzF4dVhHNGtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5d2dKMDFoZEdnbkxDQjdJRkpCUkY5UVJWSmZSRVZIT2lBeE9EQWdMeUJOWVhSb0xsQkpJSDBwTzF4dUlpd2lMeThnYUhSMGNITTZMeTl5ZDJGc1pISnZiaTVuYVhSb2RXSXVhVzh2Y0hKdmNHOXpZV3d0YldGMGFDMWxlSFJsYm5OcGIyNXpMMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQkVSVWRmVUVWU1gxSkJSQ0E5SUUxaGRHZ3VVRWtnTHlBeE9EQTdYRzVjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUTENBblRXRjBhQ2NzSUh0Y2JpQWdjbUZrYVdGdWN6b2dablZ1WTNScGIyNGdjbUZrYVdGdWN5aGtaV2R5WldWektTQjdYRzRnSUNBZ2NtVjBkWEp1SUdSbFozSmxaWE1nS2lCRVJVZGZVRVZTWDFKQlJEdGNiaUFnZlZ4dWZTazdYRzRpTENJdkx5Qm9kSFJ3Y3pvdkwzSjNZV3hrY205dUxtZHBkR2gxWWk1cGJ5OXdjbTl3YjNOaGJDMXRZWFJvTFdWNGRHVnVjMmx2Ym5NdlhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVYRzRrWlhod2IzSjBLQ1JsZUhCdmNuUXVVeXdnSjAxaGRHZ25MQ0I3SUhOallXeGxPaUJ5WlhGMWFYSmxLQ2N1TDE5dFlYUm9MWE5qWVd4bEp5a2dmU2s3WEc0aUxDSXZMeUJvZEhSd09pOHZhbVppWVhOMGFXVnVMbWRwZEdoMVlpNXBieTl3WVhCbGNuTXZUV0YwYUM1emFXZHVZbWwwTG1oMGJXeGNiblpoY2lBa1pYaHdiM0owSUQwZ2NtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5azdYRzVjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUTENBblRXRjBhQ2NzSUhzZ2MybG5ibUpwZERvZ1puVnVZM1JwYjI0Z2MybG5ibUpwZENoNEtTQjdYRzRnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MXpaV3htTFdOdmJYQmhjbVZjYmlBZ2NtVjBkWEp1SUNoNElEMGdLM2dwSUNFOUlIZ2dQeUI0SURvZ2VDQTlQU0F3SUQ4Z01TQXZJSGdnUFQwZ1NXNW1hVzVwZEhrZ09pQjRJRDRnTUR0Y2JuMGdmU2s3WEc0aUxDSXZMeUJvZEhSd2N6b3ZMMmRwYzNRdVoybDBhSFZpTG1OdmJTOUNjbVZ1WkdGdVJXbGphQzgwTWprMFpEVmpNakV5WVRaa01qSTFORGN3TTF4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JseHVKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsTXNJQ2ROWVhSb0p5d2dlMXh1SUNCMWJYVnNhRG9nWm5WdVkzUnBiMjRnZFcxMWJHZ29kU3dnZGlrZ2UxeHVJQ0FnSUhaaGNpQlZTVTVVTVRZZ1BTQXdlR1ptWm1ZN1hHNGdJQ0FnZG1GeUlDUjFJRDBnSzNVN1hHNGdJQ0FnZG1GeUlDUjJJRDBnSzNZN1hHNGdJQ0FnZG1GeUlIVXdJRDBnSkhVZ0ppQlZTVTVVTVRZN1hHNGdJQ0FnZG1GeUlIWXdJRDBnSkhZZ0ppQlZTVTVVTVRZN1hHNGdJQ0FnZG1GeUlIVXhJRDBnSkhVZ1BqNCtJREUyTzF4dUlDQWdJSFpoY2lCMk1TQTlJQ1IySUQ0K1BpQXhOanRjYmlBZ0lDQjJZWElnZENBOUlDaDFNU0FxSUhZd0lENCtQaUF3S1NBcklDaDFNQ0FxSUhZd0lENCtQaUF4TmlrN1hHNGdJQ0FnY21WMGRYSnVJSFV4SUNvZ2RqRWdLeUFvZENBK1BqNGdNVFlwSUNzZ0tDaDFNQ0FxSUhZeElENCtQaUF3S1NBcklDaDBJQ1lnVlVsT1ZERTJLU0ErUGo0Z01UWXBPMXh1SUNCOVhHNTlLVHRjYmlJc0lpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdkRzlQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXZZbXBsWTNRbktUdGNiblpoY2lCaFJuVnVZM1JwYjI0Z1BTQnlaWEYxYVhKbEtDY3VMMTloTFdaMWJtTjBhVzl1SnlrN1hHNTJZWElnSkdSbFptbHVaVkJ5YjNCbGNuUjVJRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdSd0p5azdYRzVjYmk4dklFSXVNaTR5TGpJZ1QySnFaV04wTG5CeWIzUnZkSGx3WlM1ZlgyUmxabWx1WlVkbGRIUmxjbDlmS0ZBc0lHZGxkSFJsY2lsY2JuSmxjWFZwY21Vb0p5NHZYMlJsYzJOeWFYQjBiM0p6SnlrZ0ppWWdKR1Y0Y0c5eWRDZ2taWGh3YjNKMExsQWdLeUJ5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0Wm05eVkyVmtMWEJoYlNjcExDQW5UMkpxWldOMEp5d2dlMXh1SUNCZlgyUmxabWx1WlVkbGRIUmxjbDlmT2lCbWRXNWpkR2x2YmlCZlgyUmxabWx1WlVkbGRIUmxjbDlmS0ZBc0lHZGxkSFJsY2lrZ2UxeHVJQ0FnSUNSa1pXWnBibVZRY205d1pYSjBlUzVtS0hSdlQySnFaV04wS0hSb2FYTXBMQ0JRTENCN0lHZGxkRG9nWVVaMWJtTjBhVzl1S0dkbGRIUmxjaWtzSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlNCOUtUdGNiaUFnZlZ4dWZTazdYRzRpTENJbmRYTmxJSE4wY21samRDYzdYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlIUnZUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGIySnFaV04wSnlrN1hHNTJZWElnWVVaMWJtTjBhVzl1SUQwZ2NtVnhkV2x5WlNnbkxpOWZZUzFtZFc1amRHbHZiaWNwTzF4dWRtRnlJQ1JrWldacGJtVlFjbTl3WlhKMGVTQTlJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFrY0NjcE8xeHVYRzR2THlCQ0xqSXVNaTR6SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1WDE5a1pXWnBibVZUWlhSMFpYSmZYeWhRTENCelpYUjBaWElwWEc1eVpYRjFhWEpsS0NjdUwxOWtaWE5qY21sd2RHOXljeWNwSUNZbUlDUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1UUlDc2djbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV1p2Y21ObFpDMXdZVzBuS1N3Z0owOWlhbVZqZENjc0lIdGNiaUFnWDE5a1pXWnBibVZUWlhSMFpYSmZYem9nWm5WdVkzUnBiMjRnWDE5a1pXWnBibVZUWlhSMFpYSmZYeWhRTENCelpYUjBaWElwSUh0Y2JpQWdJQ0FrWkdWbWFXNWxVSEp2Y0dWeWRIa3VaaWgwYjA5aWFtVmpkQ2gwYUdsektTd2dVQ3dnZXlCelpYUTZJR0ZHZFc1amRHbHZiaWh6WlhSMFpYSXBMQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1VnZlNrN1hHNGdJSDFjYm4wcE8xeHVJaXdpTHk4Z2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzUmpNemt2Y0hKdmNHOXpZV3d0YjJKcVpXTjBMWFpoYkhWbGN5MWxiblJ5YVdWelhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUNSbGJuUnlhV1Z6SUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExYUnZMV0Z5Y21GNUp5a29kSEoxWlNrN1hHNWNiaVJsZUhCdmNuUW9KR1Y0Y0c5eWRDNVRMQ0FuVDJKcVpXTjBKeXdnZTF4dUlDQmxiblJ5YVdWek9pQm1kVzVqZEdsdmJpQmxiblJ5YVdWektHbDBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDUmxiblJ5YVdWektHbDBLVHRjYmlBZ2ZWeHVmU2s3WEc0aUxDSXZMeUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2ZEdNek9TOXdjbTl3YjNOaGJDMXZZbXBsWTNRdFoyVjBiM2R1Y0hKdmNHVnlkSGxrWlhOamNtbHdkRzl5YzF4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUJ2ZDI1TFpYbHpJRDBnY21WeGRXbHlaU2duTGk5ZmIzZHVMV3RsZVhNbktUdGNiblpoY2lCMGIwbFBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxcGIySnFaV04wSnlrN1hHNTJZWElnWjA5UVJDQTlJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFuYjNCa0p5azdYRzUyWVhJZ1kzSmxZWFJsVUhKdmNHVnlkSGtnUFNCeVpYRjFhWEpsS0NjdUwxOWpjbVZoZEdVdGNISnZjR1Z5ZEhrbktUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1zSUNkUFltcGxZM1FuTENCN1hHNGdJR2RsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNuTTZJR1oxYm1OMGFXOXVJR2RsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNuTW9iMkpxWldOMEtTQjdYRzRnSUNBZ2RtRnlJRThnUFNCMGIwbFBZbXBsWTNRb2IySnFaV04wS1R0Y2JpQWdJQ0IyWVhJZ1oyVjBSR1Z6WXlBOUlHZFBVRVF1Wmp0Y2JpQWdJQ0IyWVhJZ2EyVjVjeUE5SUc5M2JrdGxlWE1vVHlrN1hHNGdJQ0FnZG1GeUlISmxjM1ZzZENBOUlIdDlPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCMllYSWdhMlY1TENCa1pYTmpPMXh1SUNBZ0lIZG9hV3hsSUNoclpYbHpMbXhsYm1kMGFDQStJR2twSUh0Y2JpQWdJQ0FnSUdSbGMyTWdQU0JuWlhSRVpYTmpLRThzSUd0bGVTQTlJR3RsZVhOYmFTc3JYU2s3WEc0Z0lDQWdJQ0JwWmlBb1pHVnpZeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQmpjbVZoZEdWUWNtOXdaWEowZVNoeVpYTjFiSFFzSUd0bGVTd2daR1Z6WXlrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJSDFjYm4wcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCMGIwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFc5aWFtVmpkQ2NwTzF4dWRtRnlJSFJ2VUhKcGJXbDBhWFpsSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0Y0hKcGJXbDBhWFpsSnlrN1hHNTJZWElnWjJWMFVISnZkRzkwZVhCbFQyWWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WjNCdkp5azdYRzUyWVhJZ1oyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5SUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXZHZjR1FuS1M1bU8xeHVYRzR2THlCQ0xqSXVNaTQwSUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1WDE5c2IyOXJkWEJIWlhSMFpYSmZYeWhRS1Z4dWNtVnhkV2x5WlNnbkxpOWZaR1Z6WTNKcGNIUnZjbk1uS1NBbUppQWtaWGh3YjNKMEtDUmxlSEJ2Y25RdVVDQXJJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFtYjNKalpXUXRjR0Z0Snlrc0lDZFBZbXBsWTNRbkxDQjdYRzRnSUY5ZmJHOXZhM1Z3UjJWMGRHVnlYMTg2SUdaMWJtTjBhVzl1SUY5ZmJHOXZhM1Z3UjJWMGRHVnlYMThvVUNrZ2UxeHVJQ0FnSUhaaGNpQlBJRDBnZEc5UFltcGxZM1FvZEdocGN5azdYRzRnSUNBZ2RtRnlJRXNnUFNCMGIxQnlhVzFwZEdsMlpTaFFMQ0IwY25WbEtUdGNiaUFnSUNCMllYSWdSRHRjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0JwWmlBb1JDQTlJR2RsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNpaFBMQ0JMS1NrZ2NtVjBkWEp1SUVRdVoyVjBPMXh1SUNBZ0lIMGdkMmhwYkdVZ0tFOGdQU0JuWlhSUWNtOTBiM1I1Y0dWUFppaFBLU2s3WEc0Z0lIMWNibjBwTzF4dUlpd2lKM1Z6WlNCemRISnBZM1FuTzF4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUIwYjA5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgzUnZMVzlpYW1WamRDY3BPMXh1ZG1GeUlIUnZVSEpwYldsMGFYWmxJRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRjSEpwYldsMGFYWmxKeWs3WEc1MllYSWdaMlYwVUhKdmRHOTBlWEJsVDJZZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRaM0J2SnlrN1hHNTJZWElnWjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlJRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdkdmNHUW5LUzVtTzF4dVhHNHZMeUJDTGpJdU1pNDFJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVYMTlzYjI5cmRYQlRaWFIwWlhKZlh5aFFLVnh1Y21WeGRXbHlaU2duTGk5ZlpHVnpZM0pwY0hSdmNuTW5LU0FtSmlBa1pYaHdiM0owS0NSbGVIQnZjblF1VUNBcklISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMW1iM0pqWldRdGNHRnRKeWtzSUNkUFltcGxZM1FuTENCN1hHNGdJRjlmYkc5dmEzVndVMlYwZEdWeVgxODZJR1oxYm1OMGFXOXVJRjlmYkc5dmEzVndVMlYwZEdWeVgxOG9VQ2tnZTF4dUlDQWdJSFpoY2lCUElEMGdkRzlQWW1wbFkzUW9kR2hwY3lrN1hHNGdJQ0FnZG1GeUlFc2dQU0IwYjFCeWFXMXBkR2wyWlNoUUxDQjBjblZsS1R0Y2JpQWdJQ0IyWVhJZ1JEdGNiaUFnSUNCa2J5QjdYRzRnSUNBZ0lDQnBaaUFvUkNBOUlHZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2loUExDQkxLU2tnY21WMGRYSnVJRVF1YzJWME8xeHVJQ0FnSUgwZ2QyaHBiR1VnS0U4Z1BTQm5aWFJRY205MGIzUjVjR1ZQWmloUEtTazdYRzRnSUgxY2JuMHBPMXh1SWl3aUx5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMM1JqTXprdmNISnZjRzl6WVd3dGIySnFaV04wTFhaaGJIVmxjeTFsYm5SeWFXVnpYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlDUjJZV3gxWlhNZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRkRzh0WVhKeVlYa25LU2htWVd4elpTazdYRzVjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVUTENBblQySnFaV04wSnl3Z2UxeHVJQ0IyWVd4MVpYTTZJR1oxYm1OMGFXOXVJSFpoYkhWbGN5aHBkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQWtkbUZzZFdWektHbDBLVHRjYmlBZ2ZWeHVmU2s3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc0dkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZlbVZ1Y0dGeWMybHVaeTlsY3kxdlluTmxjblpoWW14bFhHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUdkc2IySmhiQ0E5SUhKbGNYVnBjbVVvSnk0dlgyZHNiMkpoYkNjcE8xeHVkbUZ5SUdOdmNtVWdQU0J5WlhGMWFYSmxLQ2N1TDE5amIzSmxKeWs3WEc1MllYSWdiV2xqY205MFlYTnJJRDBnY21WeGRXbHlaU2duTGk5ZmJXbGpjbTkwWVhOckp5a29LVHRjYm5aaGNpQlBRbE5GVWxaQlFreEZJRDBnY21WeGRXbHlaU2duTGk5ZmQydHpKeWtvSjI5aWMyVnlkbUZpYkdVbktUdGNiblpoY2lCaFJuVnVZM1JwYjI0Z1BTQnlaWEYxYVhKbEtDY3VMMTloTFdaMWJtTjBhVzl1SnlrN1hHNTJZWElnWVc1UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOWhiaTF2WW1wbFkzUW5LVHRjYm5aaGNpQmhia2x1YzNSaGJtTmxJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRhVzV6ZEdGdVkyVW5LVHRjYm5aaGNpQnlaV1JsWm1sdVpVRnNiQ0E5SUhKbGNYVnBjbVVvSnk0dlgzSmxaR1ZtYVc1bExXRnNiQ2NwTzF4dWRtRnlJR2hwWkdVZ1BTQnlaWEYxYVhKbEtDY3VMMTlvYVdSbEp5azdYRzUyWVhJZ1ptOXlUMllnUFNCeVpYRjFhWEpsS0NjdUwxOW1iM0l0YjJZbktUdGNiblpoY2lCU1JWUlZVazRnUFNCbWIzSlBaaTVTUlZSVlVrNDdYRzVjYm5aaGNpQm5aWFJOWlhSb2IyUWdQU0JtZFc1amRHbHZiaUFvWm00cElIdGNiaUFnY21WMGRYSnVJR1p1SUQwOUlHNTFiR3dnUHlCMWJtUmxabWx1WldRZ09pQmhSblZ1WTNScGIyNG9abTRwTzF4dWZUdGNibHh1ZG1GeUlHTnNaV0Z1ZFhCVGRXSnpZM0pwY0hScGIyNGdQU0JtZFc1amRHbHZiaUFvYzNWaWMyTnlhWEIwYVc5dUtTQjdYRzRnSUhaaGNpQmpiR1ZoYm5Wd0lEMGdjM1ZpYzJOeWFYQjBhVzl1TGw5ak8xeHVJQ0JwWmlBb1kyeGxZVzUxY0NrZ2UxeHVJQ0FnSUhOMVluTmpjbWx3ZEdsdmJpNWZZeUE5SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JqYkdWaGJuVndLQ2s3WEc0Z0lIMWNibjA3WEc1Y2JuWmhjaUJ6ZFdKelkzSnBjSFJwYjI1RGJHOXpaV1FnUFNCbWRXNWpkR2x2YmlBb2MzVmljMk55YVhCMGFXOXVLU0I3WEc0Z0lISmxkSFZ5YmlCemRXSnpZM0pwY0hScGIyNHVYMjhnUFQwOUlIVnVaR1ZtYVc1bFpEdGNibjA3WEc1Y2JuWmhjaUJqYkc5elpWTjFZbk5qY21sd2RHbHZiaUE5SUdaMWJtTjBhVzl1SUNoemRXSnpZM0pwY0hScGIyNHBJSHRjYmlBZ2FXWWdLQ0Z6ZFdKelkzSnBjSFJwYjI1RGJHOXpaV1FvYzNWaWMyTnlhWEIwYVc5dUtTa2dlMXh1SUNBZ0lITjFZbk5qY21sd2RHbHZiaTVmYnlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCamJHVmhiblZ3VTNWaWMyTnlhWEIwYVc5dUtITjFZbk5qY21sd2RHbHZiaWs3WEc0Z0lIMWNibjA3WEc1Y2JuWmhjaUJUZFdKelkzSnBjSFJwYjI0Z1BTQm1kVzVqZEdsdmJpQW9iMkp6WlhKMlpYSXNJSE4xWW5OamNtbGlaWElwSUh0Y2JpQWdZVzVQWW1wbFkzUW9iMkp6WlhKMlpYSXBPMXh1SUNCMGFHbHpMbDlqSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0IwYUdsekxsOXZJRDBnYjJKelpYSjJaWEk3WEc0Z0lHOWljMlZ5ZG1WeUlEMGdibVYzSUZOMVluTmpjbWx3ZEdsdmJrOWljMlZ5ZG1WeUtIUm9hWE1wTzF4dUlDQjBjbmtnZTF4dUlDQWdJSFpoY2lCamJHVmhiblZ3SUQwZ2MzVmljMk55YVdKbGNpaHZZbk5sY25abGNpazdYRzRnSUNBZ2RtRnlJSE4xWW5OamNtbHdkR2x2YmlBOUlHTnNaV0Z1ZFhBN1hHNGdJQ0FnYVdZZ0tHTnNaV0Z1ZFhBZ0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQmpiR1ZoYm5Wd0xuVnVjM1ZpYzJOeWFXSmxJRDA5UFNBblpuVnVZM1JwYjI0bktTQmpiR1ZoYm5Wd0lEMGdablZ1WTNScGIyNGdLQ2tnZXlCemRXSnpZM0pwY0hScGIyNHVkVzV6ZFdKelkzSnBZbVVvS1RzZ2ZUdGNiaUFnSUNBZ0lHVnNjMlVnWVVaMWJtTjBhVzl1S0dOc1pXRnVkWEFwTzF4dUlDQWdJQ0FnZEdocGN5NWZZeUE5SUdOc1pXRnVkWEE3WEc0Z0lDQWdmVnh1SUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ2IySnpaWEoyWlhJdVpYSnliM0lvWlNrN1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOUlHbG1JQ2h6ZFdKelkzSnBjSFJwYjI1RGJHOXpaV1FvZEdocGN5a3BJR05zWldGdWRYQlRkV0p6WTNKcGNIUnBiMjRvZEdocGN5azdYRzU5TzF4dVhHNVRkV0p6WTNKcGNIUnBiMjR1Y0hKdmRHOTBlWEJsSUQwZ2NtVmtaV1pwYm1WQmJHd29lMzBzSUh0Y2JpQWdkVzV6ZFdKelkzSnBZbVU2SUdaMWJtTjBhVzl1SUhWdWMzVmljMk55YVdKbEtDa2dleUJqYkc5elpWTjFZbk5qY21sd2RHbHZiaWgwYUdsektUc2dmVnh1ZlNrN1hHNWNiblpoY2lCVGRXSnpZM0pwY0hScGIyNVBZbk5sY25abGNpQTlJR1oxYm1OMGFXOXVJQ2h6ZFdKelkzSnBjSFJwYjI0cElIdGNiaUFnZEdocGN5NWZjeUE5SUhOMVluTmpjbWx3ZEdsdmJqdGNibjA3WEc1Y2JsTjFZbk5qY21sd2RHbHZiazlpYzJWeWRtVnlMbkJ5YjNSdmRIbHdaU0E5SUhKbFpHVm1hVzVsUVd4c0tIdDlMQ0I3WEc0Z0lHNWxlSFE2SUdaMWJtTjBhVzl1SUc1bGVIUW9kbUZzZFdVcElIdGNiaUFnSUNCMllYSWdjM1ZpYzJOeWFYQjBhVzl1SUQwZ2RHaHBjeTVmY3p0Y2JpQWdJQ0JwWmlBb0lYTjFZbk5qY21sd2RHbHZia05zYjNObFpDaHpkV0p6WTNKcGNIUnBiMjRwS1NCN1hHNGdJQ0FnSUNCMllYSWdiMkp6WlhKMlpYSWdQU0J6ZFdKelkzSnBjSFJwYjI0dVgyODdYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCMllYSWdiU0E5SUdkbGRFMWxkR2h2WkNodlluTmxjblpsY2k1dVpYaDBLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHMHBJSEpsZEhWeWJpQnRMbU5oYkd3b2IySnpaWEoyWlhJc0lIWmhiSFZsS1R0Y2JpQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiRzl6WlZOMVluTmpjbWx3ZEdsdmJpaHpkV0p6WTNKcGNIUnBiMjRwTzF4dUlDQWdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJvY205M0lHVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwc1hHNGdJR1Z5Y205eU9pQm1kVzVqZEdsdmJpQmxjbkp2Y2loMllXeDFaU2tnZTF4dUlDQWdJSFpoY2lCemRXSnpZM0pwY0hScGIyNGdQU0IwYUdsekxsOXpPMXh1SUNBZ0lHbG1JQ2h6ZFdKelkzSnBjSFJwYjI1RGJHOXpaV1FvYzNWaWMyTnlhWEIwYVc5dUtTa2dkR2h5YjNjZ2RtRnNkV1U3WEc0Z0lDQWdkbUZ5SUc5aWMyVnlkbVZ5SUQwZ2MzVmljMk55YVhCMGFXOXVMbDl2TzF4dUlDQWdJSE4xWW5OamNtbHdkR2x2Ymk1ZmJ5QTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnZG1GeUlHMGdQU0JuWlhSTlpYUm9iMlFvYjJKelpYSjJaWEl1WlhKeWIzSXBPMXh1SUNBZ0lDQWdhV1lnS0NGdEtTQjBhSEp2ZHlCMllXeDFaVHRjYmlBZ0lDQWdJSFpoYkhWbElEMGdiUzVqWVd4c0tHOWljMlZ5ZG1WeUxDQjJZV3gxWlNrN1hHNGdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnWTJ4bFlXNTFjRk4xWW5OamNtbHdkR2x2YmloemRXSnpZM0pwY0hScGIyNHBPMXh1SUNBZ0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2daVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR05zWldGdWRYQlRkV0p6WTNKcGNIUnBiMjRvYzNWaWMyTnlhWEIwYVc5dUtUdGNiaUFnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUgwc1hHNGdJR052YlhCc1pYUmxPaUJtZFc1amRHbHZiaUJqYjIxd2JHVjBaU2gyWVd4MVpTa2dlMXh1SUNBZ0lIWmhjaUJ6ZFdKelkzSnBjSFJwYjI0Z1BTQjBhR2x6TGw5ek8xeHVJQ0FnSUdsbUlDZ2hjM1ZpYzJOeWFYQjBhVzl1UTJ4dmMyVmtLSE4xWW5OamNtbHdkR2x2YmlrcElIdGNiaUFnSUNBZ0lIWmhjaUJ2WW5ObGNuWmxjaUE5SUhOMVluTmpjbWx3ZEdsdmJpNWZienRjYmlBZ0lDQWdJSE4xWW5OamNtbHdkR2x2Ymk1ZmJ5QTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ0SUQwZ1oyVjBUV1YwYUc5a0tHOWljMlZ5ZG1WeUxtTnZiWEJzWlhSbEtUdGNiaUFnSUNBZ0lDQWdkbUZzZFdVZ1BTQnRJRDhnYlM1allXeHNLRzlpYzJWeWRtVnlMQ0IyWVd4MVpTa2dPaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUNBZ1kyeGxZVzUxY0ZOMVluTmpjbWx3ZEdsdmJpaHpkV0p6WTNKcGNIUnBiMjRwTzF4dUlDQWdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJvY205M0lHVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBnWTJ4bFlXNTFjRk4xWW5OamNtbHdkR2x2YmloemRXSnpZM0pwY0hScGIyNHBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmU2s3WEc1Y2JuWmhjaUFrVDJKelpYSjJZV0pzWlNBOUlHWjFibU4wYVc5dUlFOWljMlZ5ZG1GaWJHVW9jM1ZpYzJOeWFXSmxjaWtnZTF4dUlDQmhia2x1YzNSaGJtTmxLSFJvYVhNc0lDUlBZbk5sY25aaFlteGxMQ0FuVDJKelpYSjJZV0pzWlNjc0lDZGZaaWNwTGw5bUlEMGdZVVoxYm1OMGFXOXVLSE4xWW5OamNtbGlaWElwTzF4dWZUdGNibHh1Y21Wa1pXWnBibVZCYkd3b0pFOWljMlZ5ZG1GaWJHVXVjSEp2ZEc5MGVYQmxMQ0I3WEc0Z0lITjFZbk5qY21saVpUb2dablZ1WTNScGIyNGdjM1ZpYzJOeWFXSmxLRzlpYzJWeWRtVnlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJUZFdKelkzSnBjSFJwYjI0b2IySnpaWEoyWlhJc0lIUm9hWE11WDJZcE8xeHVJQ0I5TEZ4dUlDQm1iM0pGWVdOb09pQm1kVzVqZEdsdmJpQm1iM0pGWVdOb0tHWnVLU0I3WEc0Z0lDQWdkbUZ5SUhSb1lYUWdQU0IwYUdsek8xeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ0tHTnZjbVV1VUhKdmJXbHpaU0I4ZkNCbmJHOWlZV3d1VUhKdmJXbHpaU2tvWm5WdVkzUnBiMjRnS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnZTF4dUlDQWdJQ0FnWVVaMWJtTjBhVzl1S0dadUtUdGNiaUFnSUNBZ0lIWmhjaUJ6ZFdKelkzSnBjSFJwYjI0Z1BTQjBhR0YwTG5OMVluTmpjbWxpWlNoN1hHNGdJQ0FnSUNBZ0lHNWxlSFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptNG9kbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYW1WamRDaGxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITjFZbk5qY21sd2RHbHZiaTUxYm5OMVluTmpjbWxpWlNncE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ1pYSnliM0k2SUhKbGFtVmpkQ3hjYmlBZ0lDQWdJQ0FnWTI5dGNHeGxkR1U2SUhKbGMyOXNkbVZjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBwTzF4dUlDQjlYRzU5S1R0Y2JseHVjbVZrWldacGJtVkJiR3dvSkU5aWMyVnlkbUZpYkdVc0lIdGNiaUFnWm5KdmJUb2dablZ1WTNScGIyNGdabkp2YlNoNEtTQjdYRzRnSUNBZ2RtRnlJRU1nUFNCMGVYQmxiMllnZEdocGN5QTlQVDBnSjJaMWJtTjBhVzl1SnlBL0lIUm9hWE1nT2lBa1QySnpaWEoyWVdKc1pUdGNiaUFnSUNCMllYSWdiV1YwYUc5a0lEMGdaMlYwVFdWMGFHOWtLR0Z1VDJKcVpXTjBLSGdwVzA5Q1UwVlNWa0ZDVEVWZEtUdGNiaUFnSUNCcFppQW9iV1YwYUc5a0tTQjdYRzRnSUNBZ0lDQjJZWElnYjJKelpYSjJZV0pzWlNBOUlHRnVUMkpxWldOMEtHMWxkR2h2WkM1allXeHNLSGdwS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ2WW5ObGNuWmhZbXhsTG1OdmJuTjBjblZqZEc5eUlEMDlQU0JESUQ4Z2IySnpaWEoyWVdKc1pTQTZJRzVsZHlCREtHWjFibU4wYVc5dUlDaHZZbk5sY25abGNpa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMkp6WlhKMllXSnNaUzV6ZFdKelkzSnBZbVVvYjJKelpYSjJaWElwTzF4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnVaWGNnUXlobWRXNWpkR2x2YmlBb2IySnpaWEoyWlhJcElIdGNiaUFnSUNBZ0lIWmhjaUJrYjI1bElEMGdabUZzYzJVN1hHNGdJQ0FnSUNCdGFXTnliM1JoYzJzb1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXUnZibVVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dadmNrOW1LSGdzSUdaaGJITmxMQ0JtZFc1amRHbHZiaUFvYVhRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2IySnpaWEoyWlhJdWJtVjRkQ2hwZENrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGtiMjVsS1NCeVpYUjFjbTRnVWtWVVZWSk9PMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTa2dQVDA5SUZKRlZGVlNUaWtnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGtiMjVsS1NCMGFISnZkeUJsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdiMkp6WlhKMlpYSXVaWEp5YjNJb1pTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQnZZbk5sY25abGNpNWpiMjF3YkdWMFpTZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvS1NCN0lHUnZibVVnUFNCMGNuVmxPeUI5TzF4dUlDQWdJSDBwTzF4dUlDQjlMRnh1SUNCdlpqb2dablZ1WTNScGIyNGdiMllvS1NCN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQXNJR3dnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvTENCcGRHVnRjeUE5SUc1bGR5QkJjbkpoZVNoc0tUc2dhU0E4SUd3N0tTQnBkR1Z0YzF0cFhTQTlJR0Z5WjNWdFpXNTBjMXRwS3l0ZE8xeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ0tIUjVjR1Z2WmlCMGFHbHpJRDA5UFNBblpuVnVZM1JwYjI0bklEOGdkR2hwY3lBNklDUlBZbk5sY25aaFlteGxLU2htZFc1amRHbHZiaUFvYjJKelpYSjJaWElwSUh0Y2JpQWdJQ0FnSUhaaGNpQmtiMjVsSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0J0YVdOeWIzUmhjMnNvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVdSdmJtVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElHbDBaVzF6TG14bGJtZDBhRHNnS3l0cUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCdlluTmxjblpsY2k1dVpYaDBLR2wwWlcxelcycGRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hrYjI1bEtTQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdmU0J2WW5ObGNuWmxjaTVqYjIxd2JHVjBaU2dwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb0tTQjdJR1J2Ym1VZ1BTQjBjblZsT3lCOU8xeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1OUtUdGNibHh1YUdsa1pTZ2tUMkp6WlhKMllXSnNaUzV3Y205MGIzUjVjR1VzSUU5Q1UwVlNWa0ZDVEVVc0lHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHBPMXh1WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1Unl3Z2V5QlBZbk5sY25aaFlteGxPaUFrVDJKelpYSjJZV0pzWlNCOUtUdGNibHh1Y21WeGRXbHlaU2duTGk5ZmMyVjBMWE53WldOcFpYTW5LU2duVDJKelpYSjJZV0pzWlNjcE8xeHVJaXdpTHk4Z2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzUmpNemt2Y0hKdmNHOXpZV3d0Y0hKdmJXbHpaUzFtYVc1aGJHeDVYRzRuZFhObElITjBjbWxqZENjN1hHNTJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUdOdmNtVWdQU0J5WlhGMWFYSmxLQ2N1TDE5amIzSmxKeWs3WEc1MllYSWdaMnh2WW1Gc0lEMGdjbVZ4ZFdseVpTZ25MaTlmWjJ4dlltRnNKeWs3WEc1MllYSWdjM0JsWTJsbGMwTnZibk4wY25WamRHOXlJRDBnY21WeGRXbHlaU2duTGk5ZmMzQmxZMmxsY3kxamIyNXpkSEoxWTNSdmNpY3BPMXh1ZG1GeUlIQnliMjFwYzJWU1pYTnZiSFpsSUQwZ2NtVnhkV2x5WlNnbkxpOWZjSEp2YldselpTMXlaWE52YkhabEp5azdYRzVjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVRSUNzZ0pHVjRjRzl5ZEM1U0xDQW5VSEp2YldselpTY3NJSHNnSjJacGJtRnNiSGtuT2lCbWRXNWpkR2x2YmlBb2IyNUdhVzVoYkd4NUtTQjdYRzRnSUhaaGNpQkRJRDBnYzNCbFkybGxjME52Ym5OMGNuVmpkRzl5S0hSb2FYTXNJR052Y21VdVVISnZiV2x6WlNCOGZDQm5iRzlpWVd3dVVISnZiV2x6WlNrN1hHNGdJSFpoY2lCcGMwWjFibU4wYVc5dUlEMGdkSGx3Wlc5bUlHOXVSbWx1WVd4c2VTQTlQU0FuWm5WdVkzUnBiMjRuTzF4dUlDQnlaWFIxY200Z2RHaHBjeTUwYUdWdUtGeHVJQ0FnSUdselJuVnVZM1JwYjI0Z1B5Qm1kVzVqZEdsdmJpQW9lQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSEJ5YjIxcGMyVlNaWE52YkhabEtFTXNJRzl1Um1sdVlXeHNlU2dwS1M1MGFHVnVLR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUhnN0lIMHBPMXh1SUNBZ0lIMGdPaUJ2YmtacGJtRnNiSGtzWEc0Z0lDQWdhWE5HZFc1amRHbHZiaUEvSUdaMWJtTjBhVzl1SUNobEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2NISnZiV2x6WlZKbGMyOXNkbVVvUXl3Z2IyNUdhVzVoYkd4NUtDa3BMblJvWlc0b1puVnVZM1JwYjI0Z0tDa2dleUIwYUhKdmR5QmxPeUI5S1R0Y2JpQWdJQ0I5SURvZ2IyNUdhVzVoYkd4NVhHNGdJQ2s3WEc1OUlIMHBPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1THk4Z2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzUmpNemt2Y0hKdmNHOXpZV3d0Y0hKdmJXbHpaUzEwY25sY2JuWmhjaUFrWlhod2IzSjBJRDBnY21WeGRXbHlaU2duTGk5ZlpYaHdiM0owSnlrN1hHNTJZWElnYm1WM1VISnZiV2x6WlVOaGNHRmlhV3hwZEhrZ1BTQnlaWEYxYVhKbEtDY3VMMTl1WlhjdGNISnZiV2x6WlMxallYQmhZbWxzYVhSNUp5azdYRzUyWVhJZ2NHVnlabTl5YlNBOUlISmxjWFZwY21Vb0p5NHZYM0JsY21admNtMG5LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxNc0lDZFFjbTl0YVhObEp5d2dleUFuZEhKNUp6b2dablZ1WTNScGIyNGdLR05oYkd4aVlXTnJabTRwSUh0Y2JpQWdkbUZ5SUhCeWIyMXBjMlZEWVhCaFltbHNhWFI1SUQwZ2JtVjNVSEp2YldselpVTmhjR0ZpYVd4cGRIa3VaaWgwYUdsektUdGNiaUFnZG1GeUlISmxjM1ZzZENBOUlIQmxjbVp2Y20wb1kyRnNiR0poWTJ0bWJpazdYRzRnSUNoeVpYTjFiSFF1WlNBL0lIQnliMjFwYzJWRFlYQmhZbWxzYVhSNUxuSmxhbVZqZENBNklIQnliMjFwYzJWRFlYQmhZbWxzYVhSNUxuSmxjMjlzZG1VcEtISmxjM1ZzZEM1MktUdGNiaUFnY21WMGRYSnVJSEJ5YjIxcGMyVkRZWEJoWW1sc2FYUjVMbkJ5YjIxcGMyVTdYRzU5SUgwcE8xeHVJaXdpZG1GeUlHMWxkR0ZrWVhSaElEMGdjbVZ4ZFdseVpTZ25MaTlmYldWMFlXUmhkR0VuS1R0Y2JuWmhjaUJoYms5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnVMVzlpYW1WamRDY3BPMXh1ZG1GeUlIUnZUV1YwWVV0bGVTQTlJRzFsZEdGa1lYUmhMbXRsZVR0Y2JuWmhjaUJ2Y21ScGJtRnllVVJsWm1sdVpVOTNiazFsZEdGa1lYUmhJRDBnYldWMFlXUmhkR0V1YzJWME8xeHVYRzV0WlhSaFpHRjBZUzVsZUhBb2V5QmtaV1pwYm1WTlpYUmhaR0YwWVRvZ1puVnVZM1JwYjI0Z1pHVm1hVzVsVFdWMFlXUmhkR0VvYldWMFlXUmhkR0ZMWlhrc0lHMWxkR0ZrWVhSaFZtRnNkV1VzSUhSaGNtZGxkQ3dnZEdGeVoyVjBTMlY1S1NCN1hHNGdJRzl5WkdsdVlYSjVSR1ZtYVc1bFQzZHVUV1YwWVdSaGRHRW9iV1YwWVdSaGRHRkxaWGtzSUcxbGRHRmtZWFJoVm1Gc2RXVXNJR0Z1VDJKcVpXTjBLSFJoY21kbGRDa3NJSFJ2VFdWMFlVdGxlU2gwWVhKblpYUkxaWGtwS1R0Y2JuMGdmU2s3WEc0aUxDSjJZWElnYldWMFlXUmhkR0VnUFNCeVpYRjFhWEpsS0NjdUwxOXRaWFJoWkdGMFlTY3BPMXh1ZG1GeUlHRnVUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmWVc0dGIySnFaV04wSnlrN1hHNTJZWElnZEc5TlpYUmhTMlY1SUQwZ2JXVjBZV1JoZEdFdWEyVjVPMXh1ZG1GeUlHZGxkRTl5UTNKbFlYUmxUV1YwWVdSaGRHRk5ZWEFnUFNCdFpYUmhaR0YwWVM1dFlYQTdYRzUyWVhJZ2MzUnZjbVVnUFNCdFpYUmhaR0YwWVM1emRHOXlaVHRjYmx4dWJXVjBZV1JoZEdFdVpYaHdLSHNnWkdWc1pYUmxUV1YwWVdSaGRHRTZJR1oxYm1OMGFXOXVJR1JsYkdWMFpVMWxkR0ZrWVhSaEtHMWxkR0ZrWVhSaFMyVjVMQ0IwWVhKblpYUWdMeW9nTENCMFlYSm5aWFJMWlhrZ0tpOHBJSHRjYmlBZ2RtRnlJSFJoY21kbGRFdGxlU0E5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUENBeklEOGdkVzVrWldacGJtVmtJRG9nZEc5TlpYUmhTMlY1S0dGeVozVnRaVzUwYzFzeVhTazdYRzRnSUhaaGNpQnRaWFJoWkdGMFlVMWhjQ0E5SUdkbGRFOXlRM0psWVhSbFRXVjBZV1JoZEdGTllYQW9ZVzVQWW1wbFkzUW9kR0Z5WjJWMEtTd2dkR0Z5WjJWMFMyVjVMQ0JtWVd4elpTazdYRzRnSUdsbUlDaHRaWFJoWkdGMFlVMWhjQ0E5UFQwZ2RXNWtaV1pwYm1Wa0lIeDhJQ0Z0WlhSaFpHRjBZVTFoY0ZzblpHVnNaWFJsSjEwb2JXVjBZV1JoZEdGTFpYa3BLU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJR2xtSUNodFpYUmhaR0YwWVUxaGNDNXphWHBsS1NCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZG1GeUlIUmhjbWRsZEUxbGRHRmtZWFJoSUQwZ2MzUnZjbVV1WjJWMEtIUmhjbWRsZENrN1hHNGdJSFJoY21kbGRFMWxkR0ZrWVhSaFd5ZGtaV3hsZEdVblhTaDBZWEpuWlhSTFpYa3BPMXh1SUNCeVpYUjFjbTRnSVNGMFlYSm5aWFJOWlhSaFpHRjBZUzV6YVhwbElIeDhJSE4wYjNKbFd5ZGtaV3hsZEdVblhTaDBZWEpuWlhRcE8xeHVmU0I5S1R0Y2JpSXNJblpoY2lCVFpYUWdQU0J5WlhGMWFYSmxLQ2N1TDJWek5pNXpaWFFuS1R0Y2JuWmhjaUJtY205dElEMGdjbVZ4ZFdseVpTZ25MaTlmWVhKeVlYa3Rabkp2YlMxcGRHVnlZV0pzWlNjcE8xeHVkbUZ5SUcxbGRHRmtZWFJoSUQwZ2NtVnhkV2x5WlNnbkxpOWZiV1YwWVdSaGRHRW5LVHRjYm5aaGNpQmhiazlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJGdUxXOWlhbVZqZENjcE8xeHVkbUZ5SUdkbGRGQnliM1J2ZEhsd1pVOW1JRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdkd2J5Y3BPMXh1ZG1GeUlHOXlaR2x1WVhKNVQzZHVUV1YwWVdSaGRHRkxaWGx6SUQwZ2JXVjBZV1JoZEdFdWEyVjVjenRjYm5aaGNpQjBiMDFsZEdGTFpYa2dQU0J0WlhSaFpHRjBZUzVyWlhrN1hHNWNiblpoY2lCdmNtUnBibUZ5ZVUxbGRHRmtZWFJoUzJWNWN5QTlJR1oxYm1OMGFXOXVJQ2hQTENCUUtTQjdYRzRnSUhaaGNpQnZTMlY1Y3lBOUlHOXlaR2x1WVhKNVQzZHVUV1YwWVdSaGRHRkxaWGx6S0U4c0lGQXBPMXh1SUNCMllYSWdjR0Z5Wlc1MElEMGdaMlYwVUhKdmRHOTBlWEJsVDJZb1R5azdYRzRnSUdsbUlDaHdZWEpsYm5RZ1BUMDlJRzUxYkd3cElISmxkSFZ5YmlCdlMyVjVjenRjYmlBZ2RtRnlJSEJMWlhseklEMGdiM0prYVc1aGNubE5aWFJoWkdGMFlVdGxlWE1vY0dGeVpXNTBMQ0JRS1R0Y2JpQWdjbVYwZFhKdUlIQkxaWGx6TG14bGJtZDBhQ0EvSUc5TFpYbHpMbXhsYm1kMGFDQS9JR1p5YjIwb2JtVjNJRk5sZENodlMyVjVjeTVqYjI1allYUW9jRXRsZVhNcEtTa2dPaUJ3UzJWNWN5QTZJRzlMWlhsek8xeHVmVHRjYmx4dWJXVjBZV1JoZEdFdVpYaHdLSHNnWjJWMFRXVjBZV1JoZEdGTFpYbHpPaUJtZFc1amRHbHZiaUJuWlhSTlpYUmhaR0YwWVV0bGVYTW9kR0Z5WjJWMElDOHFJQ3dnZEdGeVoyVjBTMlY1SUNvdktTQjdYRzRnSUhKbGRIVnliaUJ2Y21ScGJtRnllVTFsZEdGa1lYUmhTMlY1Y3loaGJrOWlhbVZqZENoMFlYSm5aWFFwTENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUR3Z01pQS9JSFZ1WkdWbWFXNWxaQ0E2SUhSdlRXVjBZVXRsZVNoaGNtZDFiV1Z1ZEhOYk1WMHBLVHRjYm4wZ2ZTazdYRzRpTENKMllYSWdiV1YwWVdSaGRHRWdQU0J5WlhGMWFYSmxLQ2N1TDE5dFpYUmhaR0YwWVNjcE8xeHVkbUZ5SUdGdVQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZZVzR0YjJKcVpXTjBKeWs3WEc1MllYSWdaMlYwVUhKdmRHOTBlWEJsVDJZZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRaM0J2SnlrN1hHNTJZWElnYjNKa2FXNWhjbmxJWVhOUGQyNU5aWFJoWkdGMFlTQTlJRzFsZEdGa1lYUmhMbWhoY3p0Y2JuWmhjaUJ2Y21ScGJtRnllVWRsZEU5M2JrMWxkR0ZrWVhSaElEMGdiV1YwWVdSaGRHRXVaMlYwTzF4dWRtRnlJSFJ2VFdWMFlVdGxlU0E5SUcxbGRHRmtZWFJoTG10bGVUdGNibHh1ZG1GeUlHOXlaR2x1WVhKNVIyVjBUV1YwWVdSaGRHRWdQU0JtZFc1amRHbHZiaUFvVFdWMFlXUmhkR0ZMWlhrc0lFOHNJRkFwSUh0Y2JpQWdkbUZ5SUdoaGMwOTNiaUE5SUc5eVpHbHVZWEo1U0dGelQzZHVUV1YwWVdSaGRHRW9UV1YwWVdSaGRHRkxaWGtzSUU4c0lGQXBPMXh1SUNCcFppQW9hR0Z6VDNkdUtTQnlaWFIxY200Z2IzSmthVzVoY25sSFpYUlBkMjVOWlhSaFpHRjBZU2hOWlhSaFpHRjBZVXRsZVN3Z1R5d2dVQ2s3WEc0Z0lIWmhjaUJ3WVhKbGJuUWdQU0JuWlhSUWNtOTBiM1I1Y0dWUFppaFBLVHRjYmlBZ2NtVjBkWEp1SUhCaGNtVnVkQ0FoUFQwZ2JuVnNiQ0EvSUc5eVpHbHVZWEo1UjJWMFRXVjBZV1JoZEdFb1RXVjBZV1JoZEdGTFpYa3NJSEJoY21WdWRDd2dVQ2tnT2lCMWJtUmxabWx1WldRN1hHNTlPMXh1WEc1dFpYUmhaR0YwWVM1bGVIQW9leUJuWlhSTlpYUmhaR0YwWVRvZ1puVnVZM1JwYjI0Z1oyVjBUV1YwWVdSaGRHRW9iV1YwWVdSaGRHRkxaWGtzSUhSaGNtZGxkQ0F2S2lBc0lIUmhjbWRsZEV0bGVTQXFMeWtnZTF4dUlDQnlaWFIxY200Z2IzSmthVzVoY25sSFpYUk5aWFJoWkdGMFlTaHRaWFJoWkdGMFlVdGxlU3dnWVc1UFltcGxZM1FvZEdGeVoyVjBLU3dnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0E4SURNZ1B5QjFibVJsWm1sdVpXUWdPaUIwYjAxbGRHRkxaWGtvWVhKbmRXMWxiblJ6V3pKZEtTazdYRzU5SUgwcE8xeHVJaXdpZG1GeUlHMWxkR0ZrWVhSaElEMGdjbVZ4ZFdseVpTZ25MaTlmYldWMFlXUmhkR0VuS1R0Y2JuWmhjaUJoYms5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnVMVzlpYW1WamRDY3BPMXh1ZG1GeUlHOXlaR2x1WVhKNVQzZHVUV1YwWVdSaGRHRkxaWGx6SUQwZ2JXVjBZV1JoZEdFdWEyVjVjenRjYm5aaGNpQjBiMDFsZEdGTFpYa2dQU0J0WlhSaFpHRjBZUzVyWlhrN1hHNWNibTFsZEdGa1lYUmhMbVY0Y0NoN0lHZGxkRTkzYmsxbGRHRmtZWFJoUzJWNWN6b2dablZ1WTNScGIyNGdaMlYwVDNkdVRXVjBZV1JoZEdGTFpYbHpLSFJoY21kbGRDQXZLaUFzSUhSaGNtZGxkRXRsZVNBcUx5a2dlMXh1SUNCeVpYUjFjbTRnYjNKa2FXNWhjbmxQZDI1TlpYUmhaR0YwWVV0bGVYTW9ZVzVQWW1wbFkzUW9kR0Z5WjJWMEtTd2dZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQThJRElnUHlCMWJtUmxabWx1WldRZ09pQjBiMDFsZEdGTFpYa29ZWEpuZFcxbGJuUnpXekZkS1NrN1hHNTlJSDBwTzF4dUlpd2lkbUZ5SUcxbGRHRmtZWFJoSUQwZ2NtVnhkV2x5WlNnbkxpOWZiV1YwWVdSaGRHRW5LVHRjYm5aaGNpQmhiazlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJGdUxXOWlhbVZqZENjcE8xeHVkbUZ5SUc5eVpHbHVZWEo1UjJWMFQzZHVUV1YwWVdSaGRHRWdQU0J0WlhSaFpHRjBZUzVuWlhRN1hHNTJZWElnZEc5TlpYUmhTMlY1SUQwZ2JXVjBZV1JoZEdFdWEyVjVPMXh1WEc1dFpYUmhaR0YwWVM1bGVIQW9leUJuWlhSUGQyNU5aWFJoWkdGMFlUb2dablZ1WTNScGIyNGdaMlYwVDNkdVRXVjBZV1JoZEdFb2JXVjBZV1JoZEdGTFpYa3NJSFJoY21kbGRDQXZLaUFzSUhSaGNtZGxkRXRsZVNBcUx5a2dlMXh1SUNCeVpYUjFjbTRnYjNKa2FXNWhjbmxIWlhSUGQyNU5aWFJoWkdGMFlTaHRaWFJoWkdGMFlVdGxlU3dnWVc1UFltcGxZM1FvZEdGeVoyVjBLVnh1SUNBZ0lDd2dZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQThJRE1nUHlCMWJtUmxabWx1WldRZ09pQjBiMDFsZEdGTFpYa29ZWEpuZFcxbGJuUnpXekpkS1NrN1hHNTlJSDBwTzF4dUlpd2lkbUZ5SUcxbGRHRmtZWFJoSUQwZ2NtVnhkV2x5WlNnbkxpOWZiV1YwWVdSaGRHRW5LVHRjYm5aaGNpQmhiazlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJGdUxXOWlhbVZqZENjcE8xeHVkbUZ5SUdkbGRGQnliM1J2ZEhsd1pVOW1JRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdkd2J5Y3BPMXh1ZG1GeUlHOXlaR2x1WVhKNVNHRnpUM2R1VFdWMFlXUmhkR0VnUFNCdFpYUmhaR0YwWVM1b1lYTTdYRzUyWVhJZ2RHOU5aWFJoUzJWNUlEMGdiV1YwWVdSaGRHRXVhMlY1TzF4dVhHNTJZWElnYjNKa2FXNWhjbmxJWVhOTlpYUmhaR0YwWVNBOUlHWjFibU4wYVc5dUlDaE5aWFJoWkdGMFlVdGxlU3dnVHl3Z1VDa2dlMXh1SUNCMllYSWdhR0Z6VDNkdUlEMGdiM0prYVc1aGNubElZWE5QZDI1TlpYUmhaR0YwWVNoTlpYUmhaR0YwWVV0bGVTd2dUeXdnVUNrN1hHNGdJR2xtSUNob1lYTlBkMjRwSUhKbGRIVnliaUIwY25WbE8xeHVJQ0IyWVhJZ2NHRnlaVzUwSUQwZ1oyVjBVSEp2ZEc5MGVYQmxUMllvVHlrN1hHNGdJSEpsZEhWeWJpQndZWEpsYm5RZ0lUMDlJRzUxYkd3Z1B5QnZjbVJwYm1GeWVVaGhjMDFsZEdGa1lYUmhLRTFsZEdGa1lYUmhTMlY1TENCd1lYSmxiblFzSUZBcElEb2dabUZzYzJVN1hHNTlPMXh1WEc1dFpYUmhaR0YwWVM1bGVIQW9leUJvWVhOTlpYUmhaR0YwWVRvZ1puVnVZM1JwYjI0Z2FHRnpUV1YwWVdSaGRHRW9iV1YwWVdSaGRHRkxaWGtzSUhSaGNtZGxkQ0F2S2lBc0lIUmhjbWRsZEV0bGVTQXFMeWtnZTF4dUlDQnlaWFIxY200Z2IzSmthVzVoY25sSVlYTk5aWFJoWkdGMFlTaHRaWFJoWkdGMFlVdGxlU3dnWVc1UFltcGxZM1FvZEdGeVoyVjBLU3dnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0E4SURNZ1B5QjFibVJsWm1sdVpXUWdPaUIwYjAxbGRHRkxaWGtvWVhKbmRXMWxiblJ6V3pKZEtTazdYRzU5SUgwcE8xeHVJaXdpZG1GeUlHMWxkR0ZrWVhSaElEMGdjbVZ4ZFdseVpTZ25MaTlmYldWMFlXUmhkR0VuS1R0Y2JuWmhjaUJoYms5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnVMVzlpYW1WamRDY3BPMXh1ZG1GeUlHOXlaR2x1WVhKNVNHRnpUM2R1VFdWMFlXUmhkR0VnUFNCdFpYUmhaR0YwWVM1b1lYTTdYRzUyWVhJZ2RHOU5aWFJoUzJWNUlEMGdiV1YwWVdSaGRHRXVhMlY1TzF4dVhHNXRaWFJoWkdGMFlTNWxlSEFvZXlCb1lYTlBkMjVOWlhSaFpHRjBZVG9nWm5WdVkzUnBiMjRnYUdGelQzZHVUV1YwWVdSaGRHRW9iV1YwWVdSaGRHRkxaWGtzSUhSaGNtZGxkQ0F2S2lBc0lIUmhjbWRsZEV0bGVTQXFMeWtnZTF4dUlDQnlaWFIxY200Z2IzSmthVzVoY25sSVlYTlBkMjVOWlhSaFpHRjBZU2h0WlhSaFpHRjBZVXRsZVN3Z1lXNVBZbXBsWTNRb2RHRnlaMlYwS1Z4dUlDQWdJQ3dnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0E4SURNZ1B5QjFibVJsWm1sdVpXUWdPaUIwYjAxbGRHRkxaWGtvWVhKbmRXMWxiblJ6V3pKZEtTazdYRzU5SUgwcE8xeHVJaXdpZG1GeUlDUnRaWFJoWkdGMFlTQTlJSEpsY1hWcGNtVW9KeTR2WDIxbGRHRmtZWFJoSnlrN1hHNTJZWElnWVc1UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOWhiaTF2WW1wbFkzUW5LVHRjYm5aaGNpQmhSblZ1WTNScGIyNGdQU0J5WlhGMWFYSmxLQ2N1TDE5aExXWjFibU4wYVc5dUp5azdYRzUyWVhJZ2RHOU5aWFJoUzJWNUlEMGdKRzFsZEdGa1lYUmhMbXRsZVR0Y2JuWmhjaUJ2Y21ScGJtRnllVVJsWm1sdVpVOTNiazFsZEdGa1lYUmhJRDBnSkcxbGRHRmtZWFJoTG5ObGREdGNibHh1SkcxbGRHRmtZWFJoTG1WNGNDaDdJRzFsZEdGa1lYUmhPaUJtZFc1amRHbHZiaUJ0WlhSaFpHRjBZU2h0WlhSaFpHRjBZVXRsZVN3Z2JXVjBZV1JoZEdGV1lXeDFaU2tnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z1pHVmpiM0poZEc5eUtIUmhjbWRsZEN3Z2RHRnlaMlYwUzJWNUtTQjdYRzRnSUNBZ2IzSmthVzVoY25sRVpXWnBibVZQZDI1TlpYUmhaR0YwWVNoY2JpQWdJQ0FnSUcxbGRHRmtZWFJoUzJWNUxDQnRaWFJoWkdGMFlWWmhiSFZsTEZ4dUlDQWdJQ0FnS0hSaGNtZGxkRXRsZVNBaFBUMGdkVzVrWldacGJtVmtJRDhnWVc1UFltcGxZM1FnT2lCaFJuVnVZM1JwYjI0cEtIUmhjbWRsZENrc1hHNGdJQ0FnSUNCMGIwMWxkR0ZMWlhrb2RHRnlaMlYwUzJWNUtWeHVJQ0FnSUNrN1hHNGdJSDA3WEc1OUlIMHBPMXh1SWl3aUx5OGdhSFIwY0hNNkx5OTBZek01TG1kcGRHaDFZaTVwYnk5d2NtOXdiM05oYkMxelpYUnRZWEF0YjJabWNtOXRMeU56WldNdGMyVjBMbVp5YjIxY2JuSmxjWFZwY21Vb0p5NHZYM05sZEMxamIyeHNaV04wYVc5dUxXWnliMjBuS1NnblUyVjBKeWs3WEc0aUxDSXZMeUJvZEhSd2N6b3ZMM1JqTXprdVoybDBhSFZpTG1sdkwzQnliM0J2YzJGc0xYTmxkRzFoY0MxdlptWnliMjB2STNObFl5MXpaWFF1YjJaY2JuSmxjWFZwY21Vb0p5NHZYM05sZEMxamIyeHNaV04wYVc5dUxXOW1KeWtvSjFObGRDY3BPMXh1SWl3aUx5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMFJoZG1sa1FuSjFZVzUwTDAxaGNDMVRaWFF1Y0hKdmRHOTBlWEJsTG5SdlNsTlBUbHh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxBZ0t5QWtaWGh3YjNKMExsSXNJQ2RUWlhRbkxDQjdJSFJ2U2xOUFRqb2djbVZ4ZFdseVpTZ25MaTlmWTI5c2JHVmpkR2x2YmkxMGJ5MXFjMjl1Snlrb0oxTmxkQ2NwSUgwcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVMeThnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDIxaGRHaHBZWE5pZVc1bGJuTXZVM1J5YVc1bkxuQnliM1J2ZEhsd1pTNWhkRnh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQWtZWFFnUFNCeVpYRjFhWEpsS0NjdUwxOXpkSEpwYm1jdFlYUW5LU2gwY25WbEtUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbEFzSUNkVGRISnBibWNuTENCN1hHNGdJR0YwT2lCbWRXNWpkR2x2YmlCaGRDaHdiM01wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdKR0YwS0hSb2FYTXNJSEJ2Y3lrN1hHNGdJSDFjYm4wcE8xeHVJaXdpSjNWelpTQnpkSEpwWTNRbk8xeHVMeThnYUhSMGNITTZMeTkwWXpNNUxtZHBkR2gxWWk1cGJ5OVRkSEpwYm1jdWNISnZkRzkwZVhCbExtMWhkR05vUVd4c0wxeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCa1pXWnBibVZrSUQwZ2NtVnhkV2x5WlNnbkxpOWZaR1ZtYVc1bFpDY3BPMXh1ZG1GeUlIUnZUR1Z1WjNSb0lEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGJHVnVaM1JvSnlrN1hHNTJZWElnYVhOU1pXZEZlSEFnUFNCeVpYRjFhWEpsS0NjdUwxOXBjeTF5WldkbGVIQW5LVHRjYm5aaGNpQm5aWFJHYkdGbmN5QTlJSEpsY1hWcGNtVW9KeTR2WDJac1lXZHpKeWs3WEc1MllYSWdVbVZuUlhod1VISnZkRzhnUFNCU1pXZEZlSEF1Y0hKdmRHOTBlWEJsTzF4dVhHNTJZWElnSkZKbFowVjRjRk4wY21sdVowbDBaWEpoZEc5eUlEMGdablZ1WTNScGIyNGdLSEpsWjJWNGNDd2djM1J5YVc1bktTQjdYRzRnSUhSb2FYTXVYM0lnUFNCeVpXZGxlSEE3WEc0Z0lIUm9hWE11WDNNZ1BTQnpkSEpwYm1jN1hHNTlPMXh1WEc1eVpYRjFhWEpsS0NjdUwxOXBkR1Z5TFdOeVpXRjBaU2NwS0NSU1pXZEZlSEJUZEhKcGJtZEpkR1Z5WVhSdmNpd2dKMUpsWjBWNGNDQlRkSEpwYm1jbkxDQm1kVzVqZEdsdmJpQnVaWGgwS0NrZ2UxeHVJQ0IyWVhJZ2JXRjBZMmdnUFNCMGFHbHpMbDl5TG1WNFpXTW9kR2hwY3k1ZmN5azdYRzRnSUhKbGRIVnliaUI3SUhaaGJIVmxPaUJ0WVhSamFDd2daRzl1WlRvZ2JXRjBZMmdnUFQwOUlHNTFiR3dnZlR0Y2JuMHBPMXh1WEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VUN3Z0oxTjBjbWx1Wnljc0lIdGNiaUFnYldGMFkyaEJiR3c2SUdaMWJtTjBhVzl1SUcxaGRHTm9RV3hzS0hKbFoyVjRjQ2tnZTF4dUlDQWdJR1JsWm1sdVpXUW9kR2hwY3lrN1hHNGdJQ0FnYVdZZ0tDRnBjMUpsWjBWNGNDaHlaV2RsZUhBcEtTQjBhSEp2ZHlCVWVYQmxSWEp5YjNJb2NtVm5aWGh3SUNzZ0p5QnBjeUJ1YjNRZ1lTQnlaV2RsZUhBaEp5azdYRzRnSUNBZ2RtRnlJRk1nUFNCVGRISnBibWNvZEdocGN5azdYRzRnSUNBZ2RtRnlJR1pzWVdkeklEMGdKMlpzWVdkekp5QnBiaUJTWldkRmVIQlFjbTkwYnlBL0lGTjBjbWx1WnloeVpXZGxlSEF1Wm14aFozTXBJRG9nWjJWMFJteGhaM011WTJGc2JDaHlaV2RsZUhBcE8xeHVJQ0FnSUhaaGNpQnllQ0E5SUc1bGR5QlNaV2RGZUhBb2NtVm5aWGh3TG5OdmRYSmpaU3dnZm1ac1lXZHpMbWx1WkdWNFQyWW9KMmNuS1NBL0lHWnNZV2R6SURvZ0oyY25JQ3NnWm14aFozTXBPMXh1SUNBZ0lISjRMbXhoYzNSSmJtUmxlQ0E5SUhSdlRHVnVaM1JvS0hKbFoyVjRjQzVzWVhOMFNXNWtaWGdwTzF4dUlDQWdJSEpsZEhWeWJpQnVaWGNnSkZKbFowVjRjRk4wY21sdVowbDBaWEpoZEc5eUtISjRMQ0JUS1R0Y2JpQWdmVnh1ZlNrN1hHNGlMQ0luZFhObElITjBjbWxqZENjN1hHNHZMeUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2ZEdNek9TOXdjbTl3YjNOaGJDMXpkSEpwYm1jdGNHRmtMWE4wWVhKMExXVnVaRnh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQWtjR0ZrSUQwZ2NtVnhkV2x5WlNnbkxpOWZjM1J5YVc1bkxYQmhaQ2NwTzF4dWRtRnlJSFZ6WlhKQloyVnVkQ0E5SUhKbGNYVnBjbVVvSnk0dlgzVnpaWEl0WVdkbGJuUW5LVHRjYmx4dUx5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMM3BzYjJseWIyTnJMMk52Y21VdGFuTXZhWE56ZFdWekx6STRNRnh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbEFnS3lBa1pYaHdiM0owTGtZZ0tpQXZWbVZ5YzJsdmJseGNMekV3WEZ3dVhGeGtLeWhjWEM1Y1hHUXJLVDhnVTJGbVlYSnBYRnd2THk1MFpYTjBLSFZ6WlhKQloyVnVkQ2tzSUNkVGRISnBibWNuTENCN1hHNGdJSEJoWkVWdVpEb2dablZ1WTNScGIyNGdjR0ZrUlc1a0tHMWhlRXhsYm1kMGFDQXZLaUFzSUdacGJHeFRkSEpwYm1jZ1BTQW5JQ2NnS2k4cElIdGNiaUFnSUNCeVpYUjFjbTRnSkhCaFpDaDBhR2x6TENCdFlYaE1aVzVuZEdnc0lHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BpQXhJRDhnWVhKbmRXMWxiblJ6V3pGZElEb2dkVzVrWldacGJtVmtMQ0JtWVd4elpTazdYRzRnSUgxY2JuMHBPMXh1SWl3aUozVnpaU0J6ZEhKcFkzUW5PMXh1THk4Z2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzUmpNemt2Y0hKdmNHOXpZV3d0YzNSeWFXNW5MWEJoWkMxemRHRnlkQzFsYm1SY2JuWmhjaUFrWlhod2IzSjBJRDBnY21WeGRXbHlaU2duTGk5ZlpYaHdiM0owSnlrN1hHNTJZWElnSkhCaFpDQTlJSEpsY1hWcGNtVW9KeTR2WDNOMGNtbHVaeTF3WVdRbktUdGNiblpoY2lCMWMyVnlRV2RsYm5RZ1BTQnlaWEYxYVhKbEtDY3VMMTkxYzJWeUxXRm5aVzUwSnlrN1hHNWNiaTh2SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5NmJHOXBjbTlqYXk5amIzSmxMV3B6TDJsemMzVmxjeTh5T0RCY2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1UUlDc2dKR1Y0Y0c5eWRDNUdJQ29nTDFabGNuTnBiMjVjWEM4eE1GeGNMbHhjWkNzb1hGd3VYRnhrS3lrL0lGTmhabUZ5YVZ4Y0x5OHVkR1Z6ZENoMWMyVnlRV2RsYm5RcExDQW5VM1J5YVc1bkp5d2dlMXh1SUNCd1lXUlRkR0Z5ZERvZ1puVnVZM1JwYjI0Z2NHRmtVM1JoY25Rb2JXRjRUR1Z1WjNSb0lDOHFJQ3dnWm1sc2JGTjBjbWx1WnlBOUlDY2dKeUFxTHlrZ2UxeHVJQ0FnSUhKbGRIVnliaUFrY0dGa0tIUm9hWE1zSUcxaGVFeGxibWQwYUN3Z1lYSm5kVzFsYm5SekxteGxibWQwYUNBK0lERWdQeUJoY21kMWJXVnVkSE5iTVYwZ09pQjFibVJsWm1sdVpXUXNJSFJ5ZFdVcE8xeHVJQ0I5WEc1OUtUdGNiaUlzSWlkMWMyVWdjM1J5YVdOMEp6dGNiaTh2SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5elpXSnRZWEpyWW1GblpTOWxZMjFoYzJOeWFYQjBMWE4wY21sdVp5MXNaV1owTFhKcFoyaDBMWFJ5YVcxY2JuSmxjWFZwY21Vb0p5NHZYM04wY21sdVp5MTBjbWx0Snlrb0ozUnlhVzFNWldaMEp5d2dablZ1WTNScGIyNGdLQ1IwY21sdEtTQjdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUIwY21sdFRHVm1kQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdKSFJ5YVcwb2RHaHBjeXdnTVNrN1hHNGdJSDA3WEc1OUxDQW5kSEpwYlZOMFlYSjBKeWs3WEc0aUxDSW5kWE5sSUhOMGNtbGpkQ2M3WEc0dkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZjMlZpYldGeWEySmhaMlV2WldOdFlYTmpjbWx3ZEMxemRISnBibWN0YkdWbWRDMXlhV2RvZEMxMGNtbHRYRzV5WlhGMWFYSmxLQ2N1TDE5emRISnBibWN0ZEhKcGJTY3BLQ2QwY21sdFVtbG5hSFFuTENCbWRXNWpkR2x2YmlBb0pIUnlhVzBwSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlIUnlhVzFTYVdkb2RDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z0pIUnlhVzBvZEdocGN5d2dNaWs3WEc0Z0lIMDdYRzU5TENBbmRISnBiVVZ1WkNjcE8xeHVJaXdpY21WeGRXbHlaU2duTGk5ZmQydHpMV1JsWm1sdVpTY3BLQ2RoYzNsdVkwbDBaWEpoZEc5eUp5azdYRzRpTENKeVpYRjFhWEpsS0NjdUwxOTNhM010WkdWbWFXNWxKeWtvSjI5aWMyVnlkbUZpYkdVbktUdGNiaUlzSWk4dklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOTBZek01TDNCeWIzQnZjMkZzTFdkc2IySmhiRnh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGxNc0lDZFRlWE4wWlcwbkxDQjdJR2RzYjJKaGJEb2djbVZ4ZFdseVpTZ25MaTlmWjJ4dlltRnNKeWtnZlNrN1hHNGlMQ0l2THlCb2RIUndjem92TDNSak16a3VaMmwwYUhWaUxtbHZMM0J5YjNCdmMyRnNMWE5sZEcxaGNDMXZabVp5YjIwdkkzTmxZeTEzWldGcmJXRndMbVp5YjIxY2JuSmxjWFZwY21Vb0p5NHZYM05sZEMxamIyeHNaV04wYVc5dUxXWnliMjBuS1NnblYyVmhhMDFoY0NjcE8xeHVJaXdpTHk4Z2FIUjBjSE02THk5MFl6TTVMbWRwZEdoMVlpNXBieTl3Y205d2IzTmhiQzF6WlhSdFlYQXRiMlptY205dEx5TnpaV010ZDJWaGEyMWhjQzV2Wmx4dWNtVnhkV2x5WlNnbkxpOWZjMlYwTFdOdmJHeGxZM1JwYjI0dGIyWW5LU2duVjJWaGEwMWhjQ2NwTzF4dUlpd2lMeThnYUhSMGNITTZMeTkwWXpNNUxtZHBkR2gxWWk1cGJ5OXdjbTl3YjNOaGJDMXpaWFJ0WVhBdGIyWm1jbTl0THlOelpXTXRkMlZoYTNObGRDNW1jbTl0WEc1eVpYRjFhWEpsS0NjdUwxOXpaWFF0WTI5c2JHVmpkR2x2YmkxbWNtOXRKeWtvSjFkbFlXdFRaWFFuS1R0Y2JpSXNJaTh2SUdoMGRIQnpPaTh2ZEdNek9TNW5hWFJvZFdJdWFXOHZjSEp2Y0c5ellXd3RjMlYwYldGd0xXOW1abkp2YlM4amMyVmpMWGRsWVd0elpYUXViMlpjYm5KbGNYVnBjbVVvSnk0dlgzTmxkQzFqYjJ4c1pXTjBhVzl1TFc5bUp5a29KMWRsWVd0VFpYUW5LVHRjYmlJc0luWmhjaUFrYVhSbGNtRjBiM0p6SUQwZ2NtVnhkV2x5WlNnbkxpOWxjell1WVhKeVlYa3VhWFJsY21GMGIzSW5LVHRjYm5aaGNpQm5aWFJMWlhseklEMGdjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV3RsZVhNbktUdGNiblpoY2lCeVpXUmxabWx1WlNBOUlISmxjWFZwY21Vb0p5NHZYM0psWkdWbWFXNWxKeWs3WEc1MllYSWdaMnh2WW1Gc0lEMGdjbVZ4ZFdseVpTZ25MaTlmWjJ4dlltRnNKeWs3WEc1MllYSWdhR2xrWlNBOUlISmxjWFZwY21Vb0p5NHZYMmhwWkdVbktUdGNiblpoY2lCSmRHVnlZWFJ2Y25NZ1BTQnlaWEYxYVhKbEtDY3VMMTlwZEdWeVlYUnZjbk1uS1R0Y2JuWmhjaUIzYTNNZ1BTQnlaWEYxYVhKbEtDY3VMMTkzYTNNbktUdGNiblpoY2lCSlZFVlNRVlJQVWlBOUlIZHJjeWduYVhSbGNtRjBiM0luS1R0Y2JuWmhjaUJVVDE5VFZGSkpUa2RmVkVGSElEMGdkMnR6S0NkMGIxTjBjbWx1WjFSaFp5Y3BPMXh1ZG1GeUlFRnljbUY1Vm1Gc2RXVnpJRDBnU1hSbGNtRjBiM0p6TGtGeWNtRjVPMXh1WEc1MllYSWdSRTlOU1hSbGNtRmliR1Z6SUQwZ2UxeHVJQ0JEVTFOU2RXeGxUR2x6ZERvZ2RISjFaU3dnTHk4Z1ZFOUVUem9nVG05MElITndaV01nWTI5dGNHeHBZVzUwTENCemFHOTFiR1FnWW1VZ1ptRnNjMlV1WEc0Z0lFTlRVMU4wZVd4bFJHVmpiR0Z5WVhScGIyNDZJR1poYkhObExGeHVJQ0JEVTFOV1lXeDFaVXhwYzNRNklHWmhiSE5sTEZ4dUlDQkRiR2xsYm5SU1pXTjBUR2x6ZERvZ1ptRnNjMlVzWEc0Z0lFUlBUVkpsWTNSTWFYTjBPaUJtWVd4elpTeGNiaUFnUkU5TlUzUnlhVzVuVEdsemREb2dabUZzYzJVc1hHNGdJRVJQVFZSdmEyVnVUR2x6ZERvZ2RISjFaU3hjYmlBZ1JHRjBZVlJ5WVc1elptVnlTWFJsYlV4cGMzUTZJR1poYkhObExGeHVJQ0JHYVd4bFRHbHpkRG9nWm1Gc2MyVXNYRzRnSUVoVVRVeEJiR3hEYjJ4c1pXTjBhVzl1T2lCbVlXeHpaU3hjYmlBZ1NGUk5URU52Ykd4bFkzUnBiMjQ2SUdaaGJITmxMRnh1SUNCSVZFMU1SbTl5YlVWc1pXMWxiblE2SUdaaGJITmxMRnh1SUNCSVZFMU1VMlZzWldOMFJXeGxiV1Z1ZERvZ1ptRnNjMlVzWEc0Z0lFMWxaR2xoVEdsemREb2dkSEoxWlN3Z0x5OGdWRTlFVHpvZ1RtOTBJSE53WldNZ1kyOXRjR3hwWVc1MExDQnphRzkxYkdRZ1ltVWdabUZzYzJVdVhHNGdJRTFwYldWVWVYQmxRWEp5WVhrNklHWmhiSE5sTEZ4dUlDQk9ZVzFsWkU1dlpHVk5ZWEE2SUdaaGJITmxMRnh1SUNCT2IyUmxUR2x6ZERvZ2RISjFaU3hjYmlBZ1VHRnBiblJTWlhGMVpYTjBUR2x6ZERvZ1ptRnNjMlVzWEc0Z0lGQnNkV2RwYmpvZ1ptRnNjMlVzWEc0Z0lGQnNkV2RwYmtGeWNtRjVPaUJtWVd4elpTeGNiaUFnVTFaSFRHVnVaM1JvVEdsemREb2dabUZzYzJVc1hHNGdJRk5XUjA1MWJXSmxja3hwYzNRNklHWmhiSE5sTEZ4dUlDQlRWa2RRWVhSb1UyVm5UR2x6ZERvZ1ptRnNjMlVzWEc0Z0lGTldSMUJ2YVc1MFRHbHpkRG9nWm1Gc2MyVXNYRzRnSUZOV1IxTjBjbWx1WjB4cGMzUTZJR1poYkhObExGeHVJQ0JUVmtkVWNtRnVjMlp2Y20xTWFYTjBPaUJtWVd4elpTeGNiaUFnVTI5MWNtTmxRblZtWm1WeVRHbHpkRG9nWm1Gc2MyVXNYRzRnSUZOMGVXeGxVMmhsWlhSTWFYTjBPaUIwY25WbExDQXZMeUJVVDBSUE9pQk9iM1FnYzNCbFl5QmpiMjF3YkdsaGJuUXNJSE5vYjNWc1pDQmlaU0JtWVd4elpTNWNiaUFnVkdWNGRGUnlZV05yUTNWbFRHbHpkRG9nWm1Gc2MyVXNYRzRnSUZSbGVIUlVjbUZqYTB4cGMzUTZJR1poYkhObExGeHVJQ0JVYjNWamFFeHBjM1E2SUdaaGJITmxYRzU5TzF4dVhHNW1iM0lnS0haaGNpQmpiMnhzWldOMGFXOXVjeUE5SUdkbGRFdGxlWE1vUkU5TlNYUmxjbUZpYkdWektTd2dhU0E5SURBN0lHa2dQQ0JqYjJ4c1pXTjBhVzl1Y3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNCMllYSWdUa0ZOUlNBOUlHTnZiR3hsWTNScGIyNXpXMmxkTzF4dUlDQjJZWElnWlhod2JHbGphWFFnUFNCRVQwMUpkR1Z5WVdKc1pYTmJUa0ZOUlYwN1hHNGdJSFpoY2lCRGIyeHNaV04wYVc5dUlEMGdaMnh2WW1Gc1cwNUJUVVZkTzF4dUlDQjJZWElnY0hKdmRHOGdQU0JEYjJ4c1pXTjBhVzl1SUNZbUlFTnZiR3hsWTNScGIyNHVjSEp2ZEc5MGVYQmxPMXh1SUNCMllYSWdhMlY1TzF4dUlDQnBaaUFvY0hKdmRHOHBJSHRjYmlBZ0lDQnBaaUFvSVhCeWIzUnZXMGxVUlZKQlZFOVNYU2tnYUdsa1pTaHdjbTkwYnl3Z1NWUkZVa0ZVVDFJc0lFRnljbUY1Vm1Gc2RXVnpLVHRjYmlBZ0lDQnBaaUFvSVhCeWIzUnZXMVJQWDFOVVVrbE9SMTlVUVVkZEtTQm9hV1JsS0hCeWIzUnZMQ0JVVDE5VFZGSkpUa2RmVkVGSExDQk9RVTFGS1R0Y2JpQWdJQ0JKZEdWeVlYUnZjbk5iVGtGTlJWMGdQU0JCY25KaGVWWmhiSFZsY3p0Y2JpQWdJQ0JwWmlBb1pYaHdiR2xqYVhRcElHWnZjaUFvYTJWNUlHbHVJQ1JwZEdWeVlYUnZjbk1wSUdsbUlDZ2hjSEp2ZEc5YmEyVjVYU2tnY21Wa1pXWnBibVVvY0hKdmRHOHNJR3RsZVN3Z0pHbDBaWEpoZEc5eWMxdHJaWGxkTENCMGNuVmxLVHRjYmlBZ2ZWeHVmVnh1SWl3aWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUFrZEdGemF5QTlJSEpsY1hWcGNtVW9KeTR2WDNSaGMyc25LVHRjYmlSbGVIQnZjblFvSkdWNGNHOXlkQzVISUNzZ0pHVjRjRzl5ZEM1Q0xDQjdYRzRnSUhObGRFbHRiV1ZrYVdGMFpUb2dKSFJoYzJzdWMyVjBMRnh1SUNCamJHVmhja2x0YldWa2FXRjBaVG9nSkhSaGMyc3VZMnhsWVhKY2JuMHBPMXh1SWl3aUx5OGdhV1U1TFNCelpYUlVhVzFsYjNWMElDWWdjMlYwU1c1MFpYSjJZV3dnWVdSa2FYUnBiMjVoYkNCd1lYSmhiV1YwWlhKeklHWnBlRnh1ZG1GeUlHZHNiMkpoYkNBOUlISmxjWFZwY21Vb0p5NHZYMmRzYjJKaGJDY3BPMXh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQnlaWEYxYVhKbEtDY3VMMTlsZUhCdmNuUW5LVHRjYm5aaGNpQjFjMlZ5UVdkbGJuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5MWMyVnlMV0ZuWlc1MEp5azdYRzUyWVhJZ2MyeHBZMlVnUFNCYlhTNXpiR2xqWlR0Y2JuWmhjaUJOVTBsRklEMGdMMDFUU1VVZ0xseGNMaTh1ZEdWemRDaDFjMlZ5UVdkbGJuUXBPeUF2THlBOExTQmthWEowZVNCcFpUa3RJR05vWldOclhHNTJZWElnZDNKaGNDQTlJR1oxYm1OMGFXOXVJQ2h6WlhRcElIdGNiaUFnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2htYml3Z2RHbHRaU0F2S2lBc0lDNHVMbUZ5WjNNZ0tpOHBJSHRjYmlBZ0lDQjJZWElnWW05MWJtUkJjbWR6SUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUNBK0lESTdYRzRnSUNBZ2RtRnlJR0Z5WjNNZ1BTQmliM1Z1WkVGeVozTWdQeUJ6YkdsalpTNWpZV3hzS0dGeVozVnRaVzUwY3l3Z01pa2dPaUJtWVd4elpUdGNiaUFnSUNCeVpYUjFjbTRnYzJWMEtHSnZkVzVrUVhKbmN5QS9JR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MXVaWGN0Wm5WdVkxeHVJQ0FnSUNBZ0tIUjVjR1Z2WmlCbWJpQTlQU0FuWm5WdVkzUnBiMjRuSUQ4Z1ptNGdPaUJHZFc1amRHbHZiaWhtYmlrcExtRndjR3g1S0hSb2FYTXNJR0Z5WjNNcE8xeHVJQ0FnSUgwZ09pQm1iaXdnZEdsdFpTazdYRzRnSUgwN1hHNTlPMXh1SkdWNGNHOXlkQ2drWlhod2IzSjBMa2NnS3lBa1pYaHdiM0owTGtJZ0t5QWtaWGh3YjNKMExrWWdLaUJOVTBsRkxDQjdYRzRnSUhObGRGUnBiV1Z2ZFhRNklIZHlZWEFvWjJ4dlltRnNMbk5sZEZScGJXVnZkWFFwTEZ4dUlDQnpaWFJKYm5SbGNuWmhiRG9nZDNKaGNDaG5iRzlpWVd3dWMyVjBTVzUwWlhKMllXd3BYRzU5S1R0Y2JpSXNJbkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWMzbHRZbTlzSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG05aWFtVmpkQzVqY21WaGRHVW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXViMkpxWldOMExtUmxabWx1WlMxd2NtOXdaWEowZVNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1dlltcGxZM1F1WkdWbWFXNWxMWEJ5YjNCbGNuUnBaWE1uS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1YjJKcVpXTjBMbWRsZEMxdmQyNHRjSEp2Y0dWeWRIa3RaR1Z6WTNKcGNIUnZjaWNwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV2WW1wbFkzUXVaMlYwTFhCeWIzUnZkSGx3WlMxdlppY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNXZZbXBsWTNRdWEyVjVjeWNwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV2WW1wbFkzUXVaMlYwTFc5M2JpMXdjbTl3WlhKMGVTMXVZVzFsY3ljcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1dlltcGxZM1F1Wm5KbFpYcGxKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbTlpYW1WamRDNXpaV0ZzSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG05aWFtVmpkQzV3Y21WMlpXNTBMV1Y0ZEdWdWMybHZibk1uS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1YjJKcVpXTjBMbWx6TFdaeWIzcGxiaWNwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV2WW1wbFkzUXVhWE10YzJWaGJHVmtKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbTlpYW1WamRDNXBjeTFsZUhSbGJuTnBZbXhsSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG05aWFtVmpkQzVoYzNOcFoyNG5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXViMkpxWldOMExtbHpKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbTlpYW1WamRDNXpaWFF0Y0hKdmRHOTBlWEJsTFc5bUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtOWlhbVZqZEM1MGJ5MXpkSEpwYm1jbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdVpuVnVZM1JwYjI0dVltbHVaQ2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTVtZFc1amRHbHZiaTV1WVcxbEp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtWjFibU4wYVc5dUxtaGhjeTFwYm5OMFlXNWpaU2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV3WVhKelpTMXBiblFuS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1Y0dGeWMyVXRabXh2WVhRbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWJuVnRZbVZ5TG1OdmJuTjBjblZqZEc5eUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtNTFiV0psY2k1MGJ5MW1hWGhsWkNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1dWRXMWlaWEl1ZEc4dGNISmxZMmx6YVc5dUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtNTFiV0psY2k1bGNITnBiRzl1SnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG01MWJXSmxjaTVwY3kxbWFXNXBkR1VuS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1Ym5WdFltVnlMbWx6TFdsdWRHVm5aWEluS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1Ym5WdFltVnlMbWx6TFc1aGJpY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNXVkVzFpWlhJdWFYTXRjMkZtWlMxcGJuUmxaMlZ5SnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG01MWJXSmxjaTV0WVhndGMyRm1aUzFwYm5SbFoyVnlKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbTUxYldKbGNpNXRhVzR0YzJGbVpTMXBiblJsWjJWeUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtNTFiV0psY2k1d1lYSnpaUzFtYkc5aGRDY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNXVkVzFpWlhJdWNHRnljMlV0YVc1MEp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtMWhkR2d1WVdOdmMyZ25LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXViV0YwYUM1aGMybHVhQ2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV0WVhSb0xtRjBZVzVvSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG0xaGRHZ3VZMkp5ZENjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1dFlYUm9MbU5zZWpNeUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtMWhkR2d1WTI5emFDY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNXRZWFJvTG1WNGNHMHhKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbTFoZEdndVpuSnZkVzVrSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG0xaGRHZ3VhSGx3YjNRbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWJXRjBhQzVwYlhWc0p5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtMWhkR2d1Ykc5bk1UQW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXViV0YwYUM1c2IyY3hjQ2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV0WVhSb0xteHZaekluS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1YldGMGFDNXphV2R1SnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG0xaGRHZ3VjMmx1YUNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1dFlYUm9MblJoYm1nbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWJXRjBhQzUwY25WdVl5Y3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNXpkSEpwYm1jdVpuSnZiUzFqYjJSbExYQnZhVzUwSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG5OMGNtbHVaeTV5WVhjbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWMzUnlhVzVuTG5SeWFXMG5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVjM1J5YVc1bkxtbDBaWEpoZEc5eUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxuTjBjbWx1Wnk1amIyUmxMWEJ2YVc1MExXRjBKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbk4wY21sdVp5NWxibVJ6TFhkcGRHZ25LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVjM1J5YVc1bkxtbHVZMngxWkdWekp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxuTjBjbWx1Wnk1eVpYQmxZWFFuS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1YzNSeWFXNW5Mbk4wWVhKMGN5MTNhWFJvSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG5OMGNtbHVaeTVoYm1Ob2IzSW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVjM1J5YVc1bkxtSnBaeWNwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV6ZEhKcGJtY3VZbXhwYm1zbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWMzUnlhVzVuTG1KdmJHUW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVjM1J5YVc1bkxtWnBlR1ZrSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG5OMGNtbHVaeTVtYjI1MFkyOXNiM0luS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1YzNSeWFXNW5MbVp2Ym5SemFYcGxKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbk4wY21sdVp5NXBkR0ZzYVdOekp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxuTjBjbWx1Wnk1c2FXNXJKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbk4wY21sdVp5NXpiV0ZzYkNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1emRISnBibWN1YzNSeWFXdGxKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbk4wY21sdVp5NXpkV0luS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1YzNSeWFXNW5Mbk4xY0NjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1a1lYUmxMbTV2ZHljcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1a1lYUmxMblJ2TFdwemIyNG5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVaR0YwWlM1MGJ5MXBjMjh0YzNSeWFXNW5KeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbVJoZEdVdWRHOHRjM1J5YVc1bkp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtUmhkR1V1ZEc4dGNISnBiV2wwYVhabEp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtRnljbUY1TG1sekxXRnljbUY1SnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG1GeWNtRjVMbVp5YjIwbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdVlYSnlZWGt1YjJZbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdVlYSnlZWGt1YW05cGJpY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNWhjbkpoZVM1emJHbGpaU2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTVoY25KaGVTNXpiM0owSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG1GeWNtRjVMbVp2Y2kxbFlXTm9KeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbUZ5Y21GNUxtMWhjQ2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTVoY25KaGVTNW1hV3gwWlhJbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdVlYSnlZWGt1YzI5dFpTY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNWhjbkpoZVM1bGRtVnllU2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTVoY25KaGVTNXlaV1IxWTJVbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdVlYSnlZWGt1Y21Wa2RXTmxMWEpwWjJoMEp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxtRnljbUY1TG1sdVpHVjRMVzltSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG1GeWNtRjVMbXhoYzNRdGFXNWtaWGd0YjJZbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdVlYSnlZWGt1WTI5d2VTMTNhWFJvYVc0bktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdVlYSnlZWGt1Wm1sc2JDY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNWhjbkpoZVM1bWFXNWtKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbUZ5Y21GNUxtWnBibVF0YVc1a1pYZ25LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVZWEp5WVhrdWMzQmxZMmxsY3ljcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1aGNuSmhlUzVwZEdWeVlYUnZjaWNwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV5WldkbGVIQXVZMjl1YzNSeWRXTjBiM0luS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjell1Y21WblpYaHdMbVY0WldNbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWNtVm5aWGh3TG5SdkxYTjBjbWx1WnljcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1eVpXZGxlSEF1Wm14aFozTW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVjbVZuWlhod0xtMWhkR05vSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG5KbFoyVjRjQzV5WlhCc1lXTmxKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbkpsWjJWNGNDNXpaV0Z5WTJnbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWNtVm5aWGh3TG5Od2JHbDBKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbkJ5YjIxcGMyVW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXViV0Z3SnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG5ObGRDY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNTNaV0ZyTFcxaGNDY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNTNaV0ZyTFhObGRDY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNTBlWEJsWkM1aGNuSmhlUzFpZFdabVpYSW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVkSGx3WldRdVpHRjBZUzEyYVdWM0p5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxuUjVjR1ZrTG1sdWREZ3RZWEp5WVhrbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWRIbHdaV1F1ZFdsdWREZ3RZWEp5WVhrbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWRIbHdaV1F1ZFdsdWREZ3RZMnhoYlhCbFpDMWhjbkpoZVNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1MGVYQmxaQzVwYm5ReE5pMWhjbkpoZVNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1MGVYQmxaQzUxYVc1ME1UWXRZWEp5WVhrbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWRIbHdaV1F1YVc1ME16SXRZWEp5WVhrbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pZdWRIbHdaV1F1ZFdsdWRETXlMV0Z5Y21GNUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxuUjVjR1ZrTG1ac2IyRjBNekl0WVhKeVlYa25LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVkSGx3WldRdVpteHZZWFEyTkMxaGNuSmhlU2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV5Wldac1pXTjBMbUZ3Y0d4NUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxuSmxabXhsWTNRdVkyOXVjM1J5ZFdOMEp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNMkxuSmxabXhsWTNRdVpHVm1hVzVsTFhCeWIzQmxjblI1SnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG5KbFpteGxZM1F1WkdWc1pYUmxMWEJ5YjNCbGNuUjVKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbkpsWm14bFkzUXVaVzUxYldWeVlYUmxKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTJMbkpsWm14bFkzUXVaMlYwSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG5KbFpteGxZM1F1WjJWMExXOTNiaTF3Y205d1pYSjBlUzFrWlhOamNtbHdkRzl5SnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0yTG5KbFpteGxZM1F1WjJWMExYQnliM1J2ZEhsd1pTMXZaaWNwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV5Wldac1pXTjBMbWhoY3ljcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tmk1eVpXWnNaV04wTG1sekxXVjRkR1Z1YzJsaWJHVW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6WXVjbVZtYkdWamRDNXZkMjR0YTJWNWN5Y3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNXlaV1pzWldOMExuQnlaWFpsYm5RdFpYaDBaVzV6YVc5dWN5Y3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek5pNXlaV1pzWldOMExuTmxkQ2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOaTV5Wldac1pXTjBMbk5sZEMxd2NtOTBiM1I1Y0dVdGIyWW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6Y3VZWEp5WVhrdWFXNWpiSFZrWlhNbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pjdVlYSnlZWGt1Wm14aGRDMXRZWEFuS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjemN1WVhKeVlYa3VabXhoZEhSbGJpY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NXpkSEpwYm1jdVlYUW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6Y3VjM1J5YVc1bkxuQmhaQzF6ZEdGeWRDY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NXpkSEpwYm1jdWNHRmtMV1Z1WkNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tnk1emRISnBibWN1ZEhKcGJTMXNaV1owSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0zTG5OMGNtbHVaeTUwY21sdExYSnBaMmgwSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0zTG5OMGNtbHVaeTV0WVhSamFDMWhiR3duS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjemN1YzNsdFltOXNMbUZ6ZVc1akxXbDBaWEpoZEc5eUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNM0xuTjViV0p2YkM1dlluTmxjblpoWW14bEp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNM0xtOWlhbVZqZEM1blpYUXRiM2R1TFhCeWIzQmxjblI1TFdSbGMyTnlhWEIwYjNKekp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNM0xtOWlhbVZqZEM1MllXeDFaWE1uS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjemN1YjJKcVpXTjBMbVZ1ZEhKcFpYTW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6Y3ViMkpxWldOMExtUmxabWx1WlMxblpYUjBaWEluS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjemN1YjJKcVpXTjBMbVJsWm1sdVpTMXpaWFIwWlhJbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pjdWIySnFaV04wTG14dmIydDFjQzFuWlhSMFpYSW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6Y3ViMkpxWldOMExteHZiMnQxY0MxelpYUjBaWEluS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjemN1YldGd0xuUnZMV3B6YjI0bktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pjdWMyVjBMblJ2TFdwemIyNG5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6Y3ViV0Z3TG05bUp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNM0xuTmxkQzV2WmljcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tnk1M1pXRnJMVzFoY0M1dlppY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NTNaV0ZyTFhObGRDNXZaaWNwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOeTV0WVhBdVpuSnZiU2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOeTV6WlhRdVpuSnZiU2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOeTUzWldGckxXMWhjQzVtY205dEp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNM0xuZGxZV3N0YzJWMExtWnliMjBuS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjemN1WjJ4dlltRnNKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTNMbk41YzNSbGJTNW5iRzlpWVd3bktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pjdVpYSnliM0l1YVhNdFpYSnliM0luS1R0Y2JuSmxjWFZwY21Vb0p5NHZiVzlrZFd4bGN5OWxjemN1YldGMGFDNWpiR0Z0Y0NjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tnk1dFlYUm9MbVJsWnkxd1pYSXRjbUZrSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0zTG0xaGRHZ3VaR1ZuY21WbGN5Y3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NXRZWFJvTG1aelkyRnNaU2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOeTV0WVhSb0xtbGhaR1JvSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0zTG0xaGRHZ3VhWE4xWW1nbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pjdWJXRjBhQzVwYlhWc2FDY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NXRZWFJvTG5KaFpDMXdaWEl0WkdWbkp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNM0xtMWhkR2d1Y21Ga2FXRnVjeWNwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOeTV0WVhSb0xuTmpZV3hsSnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0zTG0xaGRHZ3VkVzExYkdnbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTlsY3pjdWJXRjBhQzV6YVdkdVltbDBKeWs3WEc1eVpYRjFhWEpsS0NjdUwyMXZaSFZzWlhNdlpYTTNMbkJ5YjIxcGMyVXVabWx1WVd4c2VTY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NXdjbTl0YVhObExuUnllU2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOeTV5Wldac1pXTjBMbVJsWm1sdVpTMXRaWFJoWkdGMFlTY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NXlaV1pzWldOMExtUmxiR1YwWlMxdFpYUmhaR0YwWVNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tnk1eVpXWnNaV04wTG1kbGRDMXRaWFJoWkdGMFlTY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NXlaV1pzWldOMExtZGxkQzF0WlhSaFpHRjBZUzFyWlhsekp5azdYRzV5WlhGMWFYSmxLQ2N1TDIxdlpIVnNaWE12WlhNM0xuSmxabXhsWTNRdVoyVjBMVzkzYmkxdFpYUmhaR0YwWVNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMMlZ6Tnk1eVpXWnNaV04wTG1kbGRDMXZkMjR0YldWMFlXUmhkR0V0YTJWNWN5Y3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NXlaV1pzWldOMExtaGhjeTF0WlhSaFpHRjBZU2NwTzF4dWNtVnhkV2x5WlNnbkxpOXRiMlIxYkdWekwyVnpOeTV5Wldac1pXTjBMbWhoY3kxdmQyNHRiV1YwWVdSaGRHRW5LVHRjYm5KbGNYVnBjbVVvSnk0dmJXOWtkV3hsY3k5bGN6Y3VjbVZtYkdWamRDNXRaWFJoWkdGMFlTY3BPMXh1Y21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDJWek55NWhjMkZ3SnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZaWE0zTG05aWMyVnlkbUZpYkdVbktUdGNibkpsY1hWcGNtVW9KeTR2Ylc5a2RXeGxjeTkzWldJdWRHbHRaWEp6SnlrN1hHNXlaWEYxYVhKbEtDY3VMMjF2WkhWc1pYTXZkMlZpTG1sdGJXVmthV0YwWlNjcE8xeHVjbVZ4ZFdseVpTZ25MaTl0YjJSMWJHVnpMM2RsWWk1a2IyMHVhWFJsY21GaWJHVW5LVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnY21WeGRXbHlaU2duTGk5dGIyUjFiR1Z6TDE5amIzSmxKeWs3WEc0aUxDSXZLaXBjYmlBcUlFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE5Dd2dSbUZqWldKdmIyc3NJRWx1WXk1Y2JpQXFJRUZzYkNCeWFXZG9kSE1nY21WelpYSjJaV1F1WEc0Z0tseHVJQ29nVkdocGN5QnpiM1Z5WTJVZ1kyOWtaU0JwY3lCc2FXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1FsTkVMWE4wZVd4bElHeHBZMlZ1YzJVZ1ptOTFibVFnYVc0Z2RHaGxYRzRnS2lCb2RIUndjem92TDNKaGR5NW5hWFJvZFdJdVkyOXRMMlpoWTJWaWIyOXJMM0psWjJWdVpYSmhkRzl5TDIxaGMzUmxjaTlNU1VORlRsTkZJR1pwYkdVdUlFRnVYRzRnS2lCaFpHUnBkR2x2Ym1Gc0lHZHlZVzUwSUc5bUlIQmhkR1Z1ZENCeWFXZG9kSE1nWTJGdUlHSmxJR1p2ZFc1a0lHbHVJSFJvWlNCUVFWUkZUbFJUSUdacGJHVWdhVzVjYmlBcUlIUm9aU0J6WVcxbElHUnBjbVZqZEc5eWVTNWNiaUFxTDF4dVhHNGhLR1oxYm1OMGFXOXVLR2RzYjJKaGJDa2dlMXh1SUNCY0luVnpaU0J6ZEhKcFkzUmNJanRjYmx4dUlDQjJZWElnVDNBZ1BTQlBZbXBsWTNRdWNISnZkRzkwZVhCbE8xeHVJQ0IyWVhJZ2FHRnpUM2R1SUQwZ1QzQXVhR0Z6VDNkdVVISnZjR1Z5ZEhrN1hHNGdJSFpoY2lCMWJtUmxabWx1WldRN0lDOHZJRTF2Y21VZ1kyOXRjSEpsYzNOcFlteGxJSFJvWVc0Z2RtOXBaQ0F3TGx4dUlDQjJZWElnSkZONWJXSnZiQ0E5SUhSNWNHVnZaaUJUZVcxaWIyd2dQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQS9JRk41YldKdmJDQTZJSHQ5TzF4dUlDQjJZWElnYVhSbGNtRjBiM0pUZVcxaWIyd2dQU0FrVTNsdFltOXNMbWwwWlhKaGRHOXlJSHg4SUZ3aVFFQnBkR1Z5WVhSdmNsd2lPMXh1SUNCMllYSWdZWE41Ym1OSmRHVnlZWFJ2Y2xONWJXSnZiQ0E5SUNSVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpQjhmQ0JjSWtCQVlYTjVibU5KZEdWeVlYUnZjbHdpTzF4dUlDQjJZWElnZEc5VGRISnBibWRVWVdkVGVXMWliMndnUFNBa1UzbHRZbTlzTG5SdlUzUnlhVzVuVkdGbklIeDhJRndpUUVCMGIxTjBjbWx1WjFSaFoxd2lPMXh1WEc0Z0lIWmhjaUJwYmsxdlpIVnNaU0E5SUhSNWNHVnZaaUJ0YjJSMWJHVWdQVDA5SUZ3aWIySnFaV04wWENJN1hHNGdJSFpoY2lCeWRXNTBhVzFsSUQwZ1oyeHZZbUZzTG5KbFoyVnVaWEpoZEc5eVVuVnVkR2x0WlR0Y2JpQWdhV1lnS0hKMWJuUnBiV1VwSUh0Y2JpQWdJQ0JwWmlBb2FXNU5iMlIxYkdVcElIdGNiaUFnSUNBZ0lDOHZJRWxtSUhKbFoyVnVaWEpoZEc5eVVuVnVkR2x0WlNCcGN5QmtaV1pwYm1Wa0lHZHNiMkpoYkd4NUlHRnVaQ0IzWlNkeVpTQnBiaUJoSUcxdlpIVnNaU3hjYmlBZ0lDQWdJQzh2SUcxaGEyVWdkR2hsSUdWNGNHOXlkSE1nYjJKcVpXTjBJR2xrWlc1MGFXTmhiQ0IwYnlCeVpXZGxibVZ5WVhSdmNsSjFiblJwYldVdVhHNGdJQ0FnSUNCdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKMWJuUnBiV1U3WEc0Z0lDQWdmVnh1SUNBZ0lDOHZJRVJ2YmlkMElHSnZkR2hsY2lCbGRtRnNkV0YwYVc1bklIUm9aU0J5WlhOMElHOW1JSFJvYVhNZ1ptbHNaU0JwWmlCMGFHVWdjblZ1ZEdsdFpTQjNZWE5jYmlBZ0lDQXZMeUJoYkhKbFlXUjVJR1JsWm1sdVpXUWdaMnh2WW1Gc2JIa3VYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ0x5OGdSR1ZtYVc1bElIUm9aU0J5ZFc1MGFXMWxJR2RzYjJKaGJHeDVJQ2hoY3lCbGVIQmxZM1JsWkNCaWVTQm5aVzVsY21GMFpXUWdZMjlrWlNrZ1lYTWdaV2wwYUdWeVhHNGdJQzh2SUcxdlpIVnNaUzVsZUhCdmNuUnpJQ2hwWmlCM1pTZHlaU0JwYmlCaElHMXZaSFZzWlNrZ2IzSWdZU0J1Wlhjc0lHVnRjSFI1SUc5aWFtVmpkQzVjYmlBZ2NuVnVkR2x0WlNBOUlHZHNiMkpoYkM1eVpXZGxibVZ5WVhSdmNsSjFiblJwYldVZ1BTQnBiazF2WkhWc1pTQS9JRzF2WkhWc1pTNWxlSEJ2Y25SeklEb2dlMzA3WEc1Y2JpQWdablZ1WTNScGIyNGdkM0poY0NocGJtNWxja1p1TENCdmRYUmxja1p1TENCelpXeG1MQ0IwY25sTWIyTnpUR2x6ZENrZ2UxeHVJQ0FnSUM4dklFbG1JRzkxZEdWeVJtNGdjSEp2ZG1sa1pXUWdZVzVrSUc5MWRHVnlSbTR1Y0hKdmRHOTBlWEJsSUdseklHRWdSMlZ1WlhKaGRHOXlMQ0IwYUdWdUlHOTFkR1Z5Um00dWNISnZkRzkwZVhCbElHbHVjM1JoYm1ObGIyWWdSMlZ1WlhKaGRHOXlMbHh1SUNBZ0lIWmhjaUJ3Y205MGIwZGxibVZ5WVhSdmNpQTlJRzkxZEdWeVJtNGdKaVlnYjNWMFpYSkdiaTV3Y205MGIzUjVjR1VnYVc1emRHRnVZMlZ2WmlCSFpXNWxjbUYwYjNJZ1B5QnZkWFJsY2tadUlEb2dSMlZ1WlhKaGRHOXlPMXh1SUNBZ0lIWmhjaUJuWlc1bGNtRjBiM0lnUFNCUFltcGxZM1F1WTNKbFlYUmxLSEJ5YjNSdlIyVnVaWEpoZEc5eUxuQnliM1J2ZEhsd1pTazdYRzRnSUNBZ2RtRnlJR052Ym5SbGVIUWdQU0J1WlhjZ1EyOXVkR1Y0ZENoMGNubE1iMk56VEdsemRDQjhmQ0JiWFNrN1hHNWNiaUFnSUNBdkx5QlVhR1VnTGw5cGJuWnZhMlVnYldWMGFHOWtJSFZ1YVdacFpYTWdkR2hsSUdsdGNHeGxiV1Z1ZEdGMGFXOXVjeUJ2WmlCMGFHVWdMbTVsZUhRc1hHNGdJQ0FnTHk4Z0xuUm9jbTkzTENCaGJtUWdMbkpsZEhWeWJpQnRaWFJvYjJSekxseHVJQ0FnSUdkbGJtVnlZWFJ2Y2k1ZmFXNTJiMnRsSUQwZ2JXRnJaVWx1ZG05clpVMWxkR2h2WkNocGJtNWxja1p1TENCelpXeG1MQ0JqYjI1MFpYaDBLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQm5aVzVsY21GMGIzSTdYRzRnSUgxY2JpQWdjblZ1ZEdsdFpTNTNjbUZ3SUQwZ2QzSmhjRHRjYmx4dUlDQXZMeUJVY25rdlkyRjBZMmdnYUdWc2NHVnlJSFJ2SUcxcGJtbHRhWHBsSUdSbGIzQjBhVzFwZW1GMGFXOXVjeTRnVW1WMGRYSnVjeUJoSUdOdmJYQnNaWFJwYjI1Y2JpQWdMeThnY21WamIzSmtJR3hwYTJVZ1kyOXVkR1Y0ZEM1MGNubEZiblJ5YVdWelcybGRMbU52YlhCc1pYUnBiMjR1SUZSb2FYTWdhVzUwWlhKbVlXTmxJR052ZFd4a1hHNGdJQzh2SUdoaGRtVWdZbVZsYmlBb1lXNWtJSGRoY3lCd2NtVjJhVzkxYzJ4NUtTQmtaWE5wWjI1bFpDQjBieUIwWVd0bElHRWdZMnh2YzNWeVpTQjBieUJpWlZ4dUlDQXZMeUJwYm5admEyVmtJSGRwZEdodmRYUWdZWEpuZFcxbGJuUnpMQ0JpZFhRZ2FXNGdZV3hzSUhSb1pTQmpZWE5sY3lCM1pTQmpZWEpsSUdGaWIzVjBJSGRsWEc0Z0lDOHZJR0ZzY21WaFpIa2dhR0YyWlNCaGJpQmxlR2x6ZEdsdVp5QnRaWFJvYjJRZ2QyVWdkMkZ1ZENCMGJ5QmpZV3hzTENCemJ5QjBhR1Z5WlNkeklHNXZJRzVsWldSY2JpQWdMeThnZEc4Z1kzSmxZWFJsSUdFZ2JtVjNJR1oxYm1OMGFXOXVJRzlpYW1WamRDNGdWMlVnWTJGdUlHVjJaVzRnWjJWMElHRjNZWGtnZDJsMGFDQmhjM04xYldsdVoxeHVJQ0F2THlCMGFHVWdiV1YwYUc5a0lIUmhhMlZ6SUdWNFlXTjBiSGtnYjI1bElHRnlaM1Z0Wlc1MExDQnphVzVqWlNCMGFHRjBJR2hoY0hCbGJuTWdkRzhnWW1VZ2RISjFaVnh1SUNBdkx5QnBiaUJsZG1WeWVTQmpZWE5sTENCemJ5QjNaU0JrYjI0bmRDQm9ZWFpsSUhSdklIUnZkV05vSUhSb1pTQmhjbWQxYldWdWRITWdiMkpxWldOMExpQlVhR1ZjYmlBZ0x5OGdiMjVzZVNCaFpHUnBkR2x2Ym1Gc0lHRnNiRzlqWVhScGIyNGdjbVZ4ZFdseVpXUWdhWE1nZEdobElHTnZiWEJzWlhScGIyNGdjbVZqYjNKa0xDQjNhR2xqYUZ4dUlDQXZMeUJvWVhNZ1lTQnpkR0ZpYkdVZ2MyaGhjR1VnWVc1a0lITnZJR2h2Y0dWbWRXeHNlU0J6YUc5MWJHUWdZbVVnWTJobFlYQWdkRzhnWVd4c2IyTmhkR1V1WEc0Z0lHWjFibU4wYVc5dUlIUnllVU5oZEdOb0tHWnVMQ0J2WW1vc0lHRnlaeWtnZTF4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZXlCMGVYQmxPaUJjSW01dmNtMWhiRndpTENCaGNtYzZJR1p1TG1OaGJHd29iMkpxTENCaGNtY3BJSDA3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZXlCMGVYQmxPaUJjSW5Sb2NtOTNYQ0lzSUdGeVp6b2daWEp5SUgwN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RtRnlJRWRsYmxOMFlYUmxVM1Z6Y0dWdVpHVmtVM1JoY25RZ1BTQmNJbk4xYzNCbGJtUmxaRk4wWVhKMFhDSTdYRzRnSUhaaGNpQkhaVzVUZEdGMFpWTjFjM0JsYm1SbFpGbHBaV3hrSUQwZ1hDSnpkWE53Wlc1a1pXUlphV1ZzWkZ3aU8xeHVJQ0IyWVhJZ1IyVnVVM1JoZEdWRmVHVmpkWFJwYm1jZ1BTQmNJbVY0WldOMWRHbHVaMXdpTzF4dUlDQjJZWElnUjJWdVUzUmhkR1ZEYjIxd2JHVjBaV1FnUFNCY0ltTnZiWEJzWlhSbFpGd2lPMXh1WEc0Z0lDOHZJRkpsZEhWeWJtbHVaeUIwYUdseklHOWlhbVZqZENCbWNtOXRJSFJvWlNCcGJtNWxja1p1SUdoaGN5QjBhR1VnYzJGdFpTQmxabVpsWTNRZ1lYTmNiaUFnTHk4Z1luSmxZV3RwYm1jZ2IzVjBJRzltSUhSb1pTQmthWE53WVhSamFDQnpkMmwwWTJnZ2MzUmhkR1Z0Wlc1MExseHVJQ0IyWVhJZ1EyOXVkR2x1ZFdWVFpXNTBhVzVsYkNBOUlIdDlPMXh1WEc0Z0lDOHZJRVIxYlcxNUlHTnZibk4wY25WamRHOXlJR1oxYm1OMGFXOXVjeUIwYUdGMElIZGxJSFZ6WlNCaGN5QjBhR1VnTG1OdmJuTjBjblZqZEc5eUlHRnVaRnh1SUNBdkx5QXVZMjl1YzNSeWRXTjBiM0l1Y0hKdmRHOTBlWEJsSUhCeWIzQmxjblJwWlhNZ1ptOXlJR1oxYm1OMGFXOXVjeUIwYUdGMElISmxkSFZ5YmlCSFpXNWxjbUYwYjNKY2JpQWdMeThnYjJKcVpXTjBjeTRnUm05eUlHWjFiR3dnYzNCbFl5QmpiMjF3YkdsaGJtTmxMQ0I1YjNVZ2JXRjVJSGRwYzJnZ2RHOGdZMjl1Wm1sbmRYSmxJSGx2ZFhKY2JpQWdMeThnYldsdWFXWnBaWElnYm05MElIUnZJRzFoYm1kc1pTQjBhR1VnYm1GdFpYTWdiMllnZEdobGMyVWdkSGR2SUdaMWJtTjBhVzl1Y3k1Y2JpQWdablZ1WTNScGIyNGdSMlZ1WlhKaGRHOXlLQ2tnZTMxY2JpQWdablZ1WTNScGIyNGdSMlZ1WlhKaGRHOXlSblZ1WTNScGIyNG9LU0I3ZlZ4dUlDQm1kVzVqZEdsdmJpQkhaVzVsY21GMGIzSkdkVzVqZEdsdmJsQnliM1J2ZEhsd1pTZ3BJSHQ5WEc1Y2JpQWdMeThnVkdocGN5QnBjeUJoSUhCdmJIbG1hV3hzSUdadmNpQWxTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWxJR1p2Y2lCbGJuWnBjbTl1YldWdWRITWdkR2hoZEZ4dUlDQXZMeUJrYjI0bmRDQnVZWFJwZG1Wc2VTQnpkWEJ3YjNKMElHbDBMbHh1SUNCMllYSWdTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWdQU0I3ZlR0Y2JpQWdTWFJsY21GMGIzSlFjbTkwYjNSNWNHVmJhWFJsY21GMGIzSlRlVzFpYjJ4ZElEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUJuWlhSUWNtOTBieUE5SUU5aWFtVmpkQzVuWlhSUWNtOTBiM1I1Y0dWUFpqdGNiaUFnZG1GeUlFNWhkR2wyWlVsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSUQwZ1oyVjBVSEp2ZEc4Z0ppWWdaMlYwVUhKdmRHOG9aMlYwVUhKdmRHOG9kbUZzZFdWektGdGRLU2twTzF4dUlDQnBaaUFvVG1GMGFYWmxTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWdKaVpjYmlBZ0lDQWdJRTVoZEdsMlpVbDBaWEpoZEc5eVVISnZkRzkwZVhCbElDRTlQU0JQY0NBbUpseHVJQ0FnSUNBZ2FHRnpUM2R1TG1OaGJHd29UbUYwYVhabFNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVc0lHbDBaWEpoZEc5eVUzbHRZbTlzS1NrZ2UxeHVJQ0FnSUM4dklGUm9hWE1nWlc1MmFYSnZibTFsYm5RZ2FHRnpJR0VnYm1GMGFYWmxJQ1ZKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU1U3SUhWelpTQnBkQ0JwYm5OMFpXRmtYRzRnSUNBZ0x5OGdiMllnZEdobElIQnZiSGxtYVd4c0xseHVJQ0FnSUVsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSUQwZ1RtRjBhWFpsU1hSbGNtRjBiM0pRY205MGIzUjVjR1U3WEc0Z0lIMWNibHh1SUNCMllYSWdSM0FnUFNCSFpXNWxjbUYwYjNKR2RXNWpkR2x2YmxCeWIzUnZkSGx3WlM1d2NtOTBiM1I1Y0dVZ1BWeHVJQ0FnSUVkbGJtVnlZWFJ2Y2k1d2NtOTBiM1I1Y0dVZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0VsMFpYSmhkRzl5VUhKdmRHOTBlWEJsS1R0Y2JpQWdSMlZ1WlhKaGRHOXlSblZ1WTNScGIyNHVjSEp2ZEc5MGVYQmxJRDBnUjNBdVkyOXVjM1J5ZFdOMGIzSWdQU0JIWlc1bGNtRjBiM0pHZFc1amRHbHZibEJ5YjNSdmRIbHdaVHRjYmlBZ1IyVnVaWEpoZEc5eVJuVnVZM1JwYjI1UWNtOTBiM1I1Y0dVdVkyOXVjM1J5ZFdOMGIzSWdQU0JIWlc1bGNtRjBiM0pHZFc1amRHbHZianRjYmlBZ1IyVnVaWEpoZEc5eVJuVnVZM1JwYjI1UWNtOTBiM1I1Y0dWYmRHOVRkSEpwYm1kVVlXZFRlVzFpYjJ4ZElEMWNiaUFnSUNCSFpXNWxjbUYwYjNKR2RXNWpkR2x2Ymk1a2FYTndiR0Y1VG1GdFpTQTlJRndpUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjVjSWp0Y2JseHVJQ0F2THlCSVpXeHdaWElnWm05eUlHUmxabWx1YVc1bklIUm9aU0F1Ym1WNGRDd2dMblJvY205M0xDQmhibVFnTG5KbGRIVnliaUJ0WlhSb2IyUnpJRzltSUhSb1pWeHVJQ0F2THlCSmRHVnlZWFJ2Y2lCcGJuUmxjbVpoWTJVZ2FXNGdkR1Z5YlhNZ2IyWWdZU0J6YVc1bmJHVWdMbDlwYm5admEyVWdiV1YwYUc5a0xseHVJQ0JtZFc1amRHbHZiaUJrWldacGJtVkpkR1Z5WVhSdmNrMWxkR2h2WkhNb2NISnZkRzkwZVhCbEtTQjdYRzRnSUNBZ1cxd2libVY0ZEZ3aUxDQmNJblJvY205M1hDSXNJRndpY21WMGRYSnVYQ0pkTG1admNrVmhZMmdvWm5WdVkzUnBiMjRvYldWMGFHOWtLU0I3WEc0Z0lDQWdJQ0J3Y205MGIzUjVjR1ZiYldWMGFHOWtYU0E5SUdaMWJtTjBhVzl1S0dGeVp5a2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmFXNTJiMnRsS0cxbGRHaHZaQ3dnWVhKbktUdGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZTazdYRzRnSUgxY2JseHVJQ0J5ZFc1MGFXMWxMbWx6UjJWdVpYSmhkRzl5Um5WdVkzUnBiMjRnUFNCbWRXNWpkR2x2YmloblpXNUdkVzRwSUh0Y2JpQWdJQ0IyWVhJZ1kzUnZjaUE5SUhSNWNHVnZaaUJuWlc1R2RXNGdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQW1KaUJuWlc1R2RXNHVZMjl1YzNSeWRXTjBiM0k3WEc0Z0lDQWdjbVYwZFhKdUlHTjBiM0pjYmlBZ0lDQWdJRDhnWTNSdmNpQTlQVDBnUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjRnZkh4Y2JpQWdJQ0FnSUNBZ0x5OGdSbTl5SUhSb1pTQnVZWFJwZG1VZ1IyVnVaWEpoZEc5eVJuVnVZM1JwYjI0Z1kyOXVjM1J5ZFdOMGIzSXNJSFJvWlNCaVpYTjBJSGRsSUdOaGJseHVJQ0FnSUNBZ0lDQXZMeUJrYnlCcGN5QjBieUJqYUdWamF5QnBkSE1nTG01aGJXVWdjSEp2Y0dWeWRIa3VYRzRnSUNBZ0lDQWdJQ2hqZEc5eUxtUnBjM0JzWVhsT1lXMWxJSHg4SUdOMGIzSXVibUZ0WlNrZ1BUMDlJRndpUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjVjSWx4dUlDQWdJQ0FnT2lCbVlXeHpaVHRjYmlBZ2ZUdGNibHh1SUNCeWRXNTBhVzFsTG0xaGNtc2dQU0JtZFc1amRHbHZiaWhuWlc1R2RXNHBJSHRjYmlBZ0lDQnBaaUFvVDJKcVpXTjBMbk5sZEZCeWIzUnZkSGx3WlU5bUtTQjdYRzRnSUNBZ0lDQlBZbXBsWTNRdWMyVjBVSEp2ZEc5MGVYQmxUMllvWjJWdVJuVnVMQ0JIWlc1bGNtRjBiM0pHZFc1amRHbHZibEJ5YjNSdmRIbHdaU2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHZGxia1oxYmk1ZlgzQnliM1J2WDE4Z1BTQkhaVzVsY21GMGIzSkdkVzVqZEdsdmJsQnliM1J2ZEhsd1pUdGNiaUFnSUNBZ0lHbG1JQ2doS0hSdlUzUnlhVzVuVkdGblUzbHRZbTlzSUdsdUlHZGxia1oxYmlrcElIdGNiaUFnSUNBZ0lDQWdaMlZ1Um5WdVczUnZVM1J5YVc1blZHRm5VM2x0WW05c1hTQTlJRndpUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjVjSWp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdaMlZ1Um5WdUxuQnliM1J2ZEhsd1pTQTlJRTlpYW1WamRDNWpjbVZoZEdVb1IzQXBPMXh1SUNBZ0lISmxkSFZ5YmlCblpXNUdkVzQ3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdWMmwwYUdsdUlIUm9aU0JpYjJSNUlHOW1JR0Z1ZVNCaGMzbHVZeUJtZFc1amRHbHZiaXdnWUdGM1lXbDBJSGhnSUdseklIUnlZVzV6Wm05eWJXVmtJSFJ2WEc0Z0lDOHZJR0I1YVdWc1pDQnlaV2RsYm1WeVlYUnZjbEoxYm5ScGJXVXVZWGR5WVhBb2VDbGdMQ0J6YnlCMGFHRjBJSFJvWlNCeWRXNTBhVzFsSUdOaGJpQjBaWE4wWEc0Z0lDOHZJR0JvWVhOUGQyNHVZMkZzYkNoMllXeDFaU3dnWENKZlgyRjNZV2wwWENJcFlDQjBieUJrWlhSbGNtMXBibVVnYVdZZ2RHaGxJSGxwWld4a1pXUWdkbUZzZFdVZ2FYTmNiaUFnTHk4Z2JXVmhiblFnZEc4Z1ltVWdZWGRoYVhSbFpDNWNiaUFnY25WdWRHbHRaUzVoZDNKaGNDQTlJR1oxYm1OMGFXOXVLR0Z5WnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUI3SUY5ZllYZGhhWFE2SUdGeVp5QjlPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUVGemVXNWpTWFJsY21GMGIzSW9aMlZ1WlhKaGRHOXlLU0I3WEc0Z0lDQWdablZ1WTNScGIyNGdhVzUyYjJ0bEtHMWxkR2h2WkN3Z1lYSm5MQ0J5WlhOdmJIWmxMQ0J5WldwbFkzUXBJSHRjYmlBZ0lDQWdJSFpoY2lCeVpXTnZjbVFnUFNCMGNubERZWFJqYUNoblpXNWxjbUYwYjNKYmJXVjBhRzlrWFN3Z1oyVnVaWEpoZEc5eUxDQmhjbWNwTzF4dUlDQWdJQ0FnYVdZZ0tISmxZMjl5WkM1MGVYQmxJRDA5UFNCY0luUm9jbTkzWENJcElIdGNiaUFnSUNBZ0lDQWdjbVZxWldOMEtISmxZMjl5WkM1aGNtY3BPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUhKbFkyOXlaQzVoY21jN1hHNGdJQ0FnSUNBZ0lIWmhjaUIyWVd4MVpTQTlJSEpsYzNWc2RDNTJZV3gxWlR0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUZ3aWIySnFaV04wWENJZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUdoaGMwOTNiaTVqWVd4c0tIWmhiSFZsTENCY0lsOWZZWGRoYVhSY0lpa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVUhKdmJXbHpaUzV5WlhOdmJIWmxLSFpoYkhWbExsOWZZWGRoYVhRcExuUm9aVzRvWm5WdVkzUnBiMjRvZG1Gc2RXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVkbTlyWlNoY0ltNWxlSFJjSWl3Z2RtRnNkV1VzSUhKbGMyOXNkbVVzSUhKbGFtVmpkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZTd2dablZ1WTNScGIyNG9aWEp5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm5admEyVW9YQ0owYUhKdmQxd2lMQ0JsY25Jc0lISmxjMjlzZG1Vc0lISmxhbVZqZENrN1hHNGdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1VISnZiV2x6WlM1eVpYTnZiSFpsS0haaGJIVmxLUzUwYUdWdUtHWjFibU4wYVc5dUtIVnVkM0poY0hCbFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklGZG9aVzRnWVNCNWFXVnNaR1ZrSUZCeWIyMXBjMlVnYVhNZ2NtVnpiMngyWldRc0lHbDBjeUJtYVc1aGJDQjJZV3gxWlNCaVpXTnZiV1Z6WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdkR2hsSUM1MllXeDFaU0J2WmlCMGFHVWdVSEp2YldselpUeDdkbUZzZFdVc1pHOXVaWDArSUhKbGMzVnNkQ0JtYjNJZ2RHaGxYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1kzVnljbVZ1ZENCcGRHVnlZWFJwYjI0dUlFbG1JSFJvWlNCUWNtOXRhWE5sSUdseklISmxhbVZqZEdWa0xDQm9iM2RsZG1WeUxDQjBhR1ZjYmlBZ0lDQWdJQ0FnSUNBdkx5QnlaWE4xYkhRZ1ptOXlJSFJvYVhNZ2FYUmxjbUYwYVc5dUlIZHBiR3dnWW1VZ2NtVnFaV04wWldRZ2QybDBhQ0IwYUdVZ2MyRnRaVnh1SUNBZ0lDQWdJQ0FnSUM4dklISmxZWE52Ymk0Z1RtOTBaU0IwYUdGMElISmxhbVZqZEdsdmJuTWdiMllnZVdsbGJHUmxaQ0JRY205dGFYTmxjeUJoY21VZ2JtOTBYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2RHaHliM2R1SUdKaFkyc2dhVzUwYnlCMGFHVWdaMlZ1WlhKaGRHOXlJR1oxYm1OMGFXOXVMQ0JoY3lCcGN5QjBhR1VnWTJGelpWeHVJQ0FnSUNBZ0lDQWdJQzh2SUhkb1pXNGdZVzRnWVhkaGFYUmxaQ0JRY205dGFYTmxJR2x6SUhKbGFtVmpkR1ZrTGlCVWFHbHpJR1JwWm1abGNtVnVZMlVnYVc1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJpWldoaGRtbHZjaUJpWlhSM1pXVnVJSGxwWld4a0lHRnVaQ0JoZDJGcGRDQnBjeUJwYlhCdmNuUmhiblFzSUdKbFkyRjFjMlVnYVhSY2JpQWdJQ0FnSUNBZ0lDQXZMeUJoYkd4dmQzTWdkR2hsSUdOdmJuTjFiV1Z5SUhSdklHUmxZMmxrWlNCM2FHRjBJSFJ2SUdSdklIZHBkR2dnZEdobElIbHBaV3hrWldSY2JpQWdJQ0FnSUNBZ0lDQXZMeUJ5WldwbFkzUnBiMjRnS0hOM1lXeHNiM2NnYVhRZ1lXNWtJR052Ym5ScGJuVmxMQ0J0WVc1MVlXeHNlU0F1ZEdoeWIzY2dhWFFnWW1GamExeHVJQ0FnSUNBZ0lDQWdJQzh2SUdsdWRHOGdkR2hsSUdkbGJtVnlZWFJ2Y2l3Z1lXSmhibVJ2YmlCcGRHVnlZWFJwYjI0c0lIZG9ZWFJsZG1WeUtTNGdWMmwwYUZ4dUlDQWdJQ0FnSUNBZ0lDOHZJR0YzWVdsMExDQmllU0JqYjI1MGNtRnpkQ3dnZEdobGNtVWdhWE1nYm04Z2IzQndiM0owZFc1cGRIa2dkRzhnWlhoaGJXbHVaU0IwYUdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJ5WldwbFkzUnBiMjRnY21WaGMyOXVJRzkxZEhOcFpHVWdkR2hsSUdkbGJtVnlZWFJ2Y2lCbWRXNWpkR2x2Yml3Z2MyOGdkR2hsWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdiMjVzZVNCdmNIUnBiMjRnYVhNZ2RHOGdkR2h5YjNjZ2FYUWdabkp2YlNCMGFHVWdZWGRoYVhRZ1pYaHdjbVZ6YzJsdmJpd2dZVzVrWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdiR1YwSUhSb1pTQm5aVzVsY21GMGIzSWdablZ1WTNScGIyNGdhR0Z1Wkd4bElIUm9aU0JsZUdObGNIUnBiMjR1WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5aaGJIVmxJRDBnZFc1M2NtRndjR1ZrTzF4dUlDQWdJQ0FnSUNBZ0lISmxjMjlzZG1Vb2NtVnpkV3gwS1R0Y2JpQWdJQ0FnSUNBZ2ZTd2djbVZxWldOMEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHZHNiMkpoYkM1d2NtOWpaWE56SUQwOVBTQmNJbTlpYW1WamRGd2lJQ1ltSUdkc2IySmhiQzV3Y205alpYTnpMbVJ2YldGcGJpa2dlMXh1SUNBZ0lDQWdhVzUyYjJ0bElEMGdaMnh2WW1Gc0xuQnliMk5sYzNNdVpHOXRZV2x1TG1KcGJtUW9hVzUyYjJ0bEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjSEpsZG1sdmRYTlFjbTl0YVhObE8xeHVYRzRnSUNBZ1puVnVZM1JwYjI0Z1pXNXhkV1YxWlNodFpYUm9iMlFzSUdGeVp5a2dlMXh1SUNBZ0lDQWdablZ1WTNScGIyNGdZMkZzYkVsdWRtOXJaVmRwZEdoTlpYUm9iMlJCYm1SQmNtY29LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlNobWRXNWpkR2x2YmloeVpYTnZiSFpsTENCeVpXcGxZM1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBiblp2YTJVb2JXVjBhRzlrTENCaGNtY3NJSEpsYzI5c2RtVXNJSEpsYW1WamRDazdYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnY0hKbGRtbHZkWE5RY205dGFYTmxJRDFjYmlBZ0lDQWdJQ0FnTHk4Z1NXWWdaVzV4ZFdWMVpTQm9ZWE1nWW1WbGJpQmpZV3hzWldRZ1ltVm1iM0psTENCMGFHVnVJSGRsSUhkaGJuUWdkRzhnZDJGcGRDQjFiblJwYkZ4dUlDQWdJQ0FnSUNBdkx5QmhiR3dnY0hKbGRtbHZkWE1nVUhKdmJXbHpaWE1nYUdGMlpTQmlaV1Z1SUhKbGMyOXNkbVZrSUdKbFptOXlaU0JqWVd4c2FXNW5JR2x1ZG05clpTeGNiaUFnSUNBZ0lDQWdMeThnYzI4Z2RHaGhkQ0J5WlhOMWJIUnpJR0Z5WlNCaGJIZGhlWE1nWkdWc2FYWmxjbVZrSUdsdUlIUm9aU0JqYjNKeVpXTjBJRzl5WkdWeUxpQkpabHh1SUNBZ0lDQWdJQ0F2THlCbGJuRjFaWFZsSUdoaGN5QnViM1FnWW1WbGJpQmpZV3hzWldRZ1ltVm1iM0psTENCMGFHVnVJR2wwSUdseklHbHRjRzl5ZEdGdWRDQjBiMXh1SUNBZ0lDQWdJQ0F2THlCallXeHNJR2x1ZG05clpTQnBiVzFsWkdsaGRHVnNlU3dnZDJsMGFHOTFkQ0IzWVdsMGFXNW5JRzl1SUdFZ1kyRnNiR0poWTJzZ2RHOGdabWx5WlN4Y2JpQWdJQ0FnSUNBZ0x5OGdjMjhnZEdoaGRDQjBhR1VnWVhONWJtTWdaMlZ1WlhKaGRHOXlJR1oxYm1OMGFXOXVJR2hoY3lCMGFHVWdiM0J3YjNKMGRXNXBkSGtnZEc4Z1pHOWNiaUFnSUNBZ0lDQWdMeThnWVc1NUlHNWxZMlZ6YzJGeWVTQnpaWFIxY0NCcGJpQmhJSEJ5WldScFkzUmhZbXhsSUhkaGVTNGdWR2hwY3lCd2NtVmthV04wWVdKcGJHbDBlVnh1SUNBZ0lDQWdJQ0F2THlCcGN5QjNhSGtnZEdobElGQnliMjFwYzJVZ1kyOXVjM1J5ZFdOMGIzSWdjM2x1WTJoeWIyNXZkWE5zZVNCcGJuWnZhMlZ6SUdsMGMxeHVJQ0FnSUNBZ0lDQXZMeUJsZUdWamRYUnZjaUJqWVd4c1ltRmpheXdnWVc1a0lIZG9lU0JoYzNsdVl5Qm1kVzVqZEdsdmJuTWdjM2x1WTJoeWIyNXZkWE5zZVZ4dUlDQWdJQ0FnSUNBdkx5QmxlR1ZqZFhSbElHTnZaR1VnWW1WbWIzSmxJSFJvWlNCbWFYSnpkQ0JoZDJGcGRDNGdVMmx1WTJVZ2QyVWdhVzF3YkdWdFpXNTBJSE5wYlhCc1pWeHVJQ0FnSUNBZ0lDQXZMeUJoYzNsdVl5Qm1kVzVqZEdsdmJuTWdhVzRnZEdWeWJYTWdiMllnWVhONWJtTWdaMlZ1WlhKaGRHOXljeXdnYVhRZ2FYTWdaWE53WldOcFlXeHNlVnh1SUNBZ0lDQWdJQ0F2THlCcGJYQnZjblJoYm5RZ2RHOGdaMlYwSUhSb2FYTWdjbWxuYUhRc0lHVjJaVzRnZEdodmRXZG9JR2wwSUhKbGNYVnBjbVZ6SUdOaGNtVXVYRzRnSUNBZ0lDQWdJSEJ5WlhacGIzVnpVSEp2YldselpTQS9JSEJ5WlhacGIzVnpVSEp2YldselpTNTBhR1Z1S0Z4dUlDQWdJQ0FnSUNBZ0lHTmhiR3hKYm5admEyVlhhWFJvVFdWMGFHOWtRVzVrUVhKbkxGeHVJQ0FnSUNBZ0lDQWdJQzh2SUVGMmIybGtJSEJ5YjNCaFoyRjBhVzVuSUdaaGFXeDFjbVZ6SUhSdklGQnliMjFwYzJWeklISmxkSFZ5Ym1Wa0lHSjVJR3hoZEdWeVhHNGdJQ0FnSUNBZ0lDQWdMeThnYVc1MmIyTmhkR2x2Ym5NZ2IyWWdkR2hsSUdsMFpYSmhkRzl5TGx4dUlDQWdJQ0FnSUNBZ0lHTmhiR3hKYm5admEyVlhhWFJvVFdWMGFHOWtRVzVrUVhKblhHNGdJQ0FnSUNBZ0lDa2dPaUJqWVd4c1NXNTJiMnRsVjJsMGFFMWxkR2h2WkVGdVpFRnlaeWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVSbFptbHVaU0IwYUdVZ2RXNXBabWxsWkNCb1pXeHdaWElnYldWMGFHOWtJSFJvWVhRZ2FYTWdkWE5sWkNCMGJ5QnBiWEJzWlcxbGJuUWdMbTVsZUhRc1hHNGdJQ0FnTHk4Z0xuUm9jbTkzTENCaGJtUWdMbkpsZEhWeWJpQW9jMlZsSUdSbFptbHVaVWwwWlhKaGRHOXlUV1YwYUc5a2N5a3VYRzRnSUNBZ2RHaHBjeTVmYVc1MmIydGxJRDBnWlc1eGRXVjFaVHRjYmlBZ2ZWeHVYRzRnSUdSbFptbHVaVWwwWlhKaGRHOXlUV1YwYUc5a2N5aEJjM2x1WTBsMFpYSmhkRzl5TG5CeWIzUnZkSGx3WlNrN1hHNGdJRUZ6ZVc1alNYUmxjbUYwYjNJdWNISnZkRzkwZVhCbFcyRnplVzVqU1hSbGNtRjBiM0pUZVcxaWIyeGRJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dUlDQnlkVzUwYVcxbExrRnplVzVqU1hSbGNtRjBiM0lnUFNCQmMzbHVZMGwwWlhKaGRHOXlPMXh1WEc0Z0lDOHZJRTV2ZEdVZ2RHaGhkQ0J6YVcxd2JHVWdZWE41Ym1NZ1puVnVZM1JwYjI1eklHRnlaU0JwYlhCc1pXMWxiblJsWkNCdmJpQjBiM0FnYjJaY2JpQWdMeThnUVhONWJtTkpkR1Z5WVhSdmNpQnZZbXBsWTNSek95QjBhR1Y1SUdwMWMzUWdjbVYwZFhKdUlHRWdVSEp2YldselpTQm1iM0lnZEdobElIWmhiSFZsSUc5bVhHNGdJQzh2SUhSb1pTQm1hVzVoYkNCeVpYTjFiSFFnY0hKdlpIVmpaV1FnWW5rZ2RHaGxJR2wwWlhKaGRHOXlMbHh1SUNCeWRXNTBhVzFsTG1GemVXNWpJRDBnWm5WdVkzUnBiMjRvYVc1dVpYSkdiaXdnYjNWMFpYSkdiaXdnYzJWc1ppd2dkSEo1VEc5amMweHBjM1FwSUh0Y2JpQWdJQ0IyWVhJZ2FYUmxjaUE5SUc1bGR5QkJjM2x1WTBsMFpYSmhkRzl5S0Z4dUlDQWdJQ0FnZDNKaGNDaHBibTVsY2tadUxDQnZkWFJsY2tadUxDQnpaV3htTENCMGNubE1iMk56VEdsemRDbGNiaUFnSUNBcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhKMWJuUnBiV1V1YVhOSFpXNWxjbUYwYjNKR2RXNWpkR2x2YmlodmRYUmxja1p1S1Z4dUlDQWdJQ0FnUHlCcGRHVnlJQzh2SUVsbUlHOTFkR1Z5Um00Z2FYTWdZU0JuWlc1bGNtRjBiM0lzSUhKbGRIVnliaUIwYUdVZ1puVnNiQ0JwZEdWeVlYUnZjaTVjYmlBZ0lDQWdJRG9nYVhSbGNpNXVaWGgwS0NrdWRHaGxiaWhtZFc1amRHbHZiaWh5WlhOMWJIUXBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBMbVJ2Ym1VZ1B5QnlaWE4xYkhRdWRtRnNkV1VnT2lCcGRHVnlMbTVsZUhRb0tUdGNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2JXRnJaVWx1ZG05clpVMWxkR2h2WkNocGJtNWxja1p1TENCelpXeG1MQ0JqYjI1MFpYaDBLU0I3WEc0Z0lDQWdkbUZ5SUhOMFlYUmxJRDBnUjJWdVUzUmhkR1ZUZFhOd1pXNWtaV1JUZEdGeWREdGNibHh1SUNBZ0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCcGJuWnZhMlVvYldWMGFHOWtMQ0JoY21jcElIdGNiaUFnSUNBZ0lHbG1JQ2h6ZEdGMFpTQTlQVDBnUjJWdVUzUmhkR1ZGZUdWamRYUnBibWNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0Z3aVIyVnVaWEpoZEc5eUlHbHpJR0ZzY21WaFpIa2djblZ1Ym1sdVoxd2lLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tITjBZWFJsSUQwOVBTQkhaVzVUZEdGMFpVTnZiWEJzWlhSbFpDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2JXVjBhRzlrSUQwOVBTQmNJblJvY205M1hDSXBJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJoY21jN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0F2THlCQ1pTQm1iM0puYVhacGJtY3NJSEJsY2lBeU5TNHpMak11TXk0eklHOW1JSFJvWlNCemNHVmpPbHh1SUNBZ0lDQWdJQ0F2THlCb2RIUndjem92TDNCbGIzQnNaUzV0YjNwcGJHeGhMbTl5Wnk5K2FtOXlaVzVrYjNKbVppOWxjell0WkhKaFpuUXVhSFJ0YkNOelpXTXRaMlZ1WlhKaGRHOXljbVZ6ZFcxbFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa2IyNWxVbVZ6ZFd4MEtDazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR052Ym5SbGVIUXViV1YwYUc5a0lEMGdiV1YwYUc5a08xeHVJQ0FnSUNBZ1kyOXVkR1Y0ZEM1aGNtY2dQU0JoY21jN1hHNWNiaUFnSUNBZ0lIZG9hV3hsSUNoMGNuVmxLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaV3hsWjJGMFpTQTlJR052Ym5SbGVIUXVaR1ZzWldkaGRHVTdYRzRnSUNBZ0lDQWdJR2xtSUNoa1pXeGxaMkYwWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCa1pXeGxaMkYwWlZKbGMzVnNkQ0E5SUcxaGVXSmxTVzUyYjJ0bFJHVnNaV2RoZEdVb1pHVnNaV2RoZEdVc0lHTnZiblJsZUhRcE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoa1pXeGxaMkYwWlZKbGMzVnNkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dSbGJHVm5ZWFJsVW1WemRXeDBJRDA5UFNCRGIyNTBhVzUxWlZObGJuUnBibVZzS1NCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaV3hsWjJGMFpWSmxjM1ZzZER0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCcFppQW9ZMjl1ZEdWNGRDNXRaWFJvYjJRZ1BUMDlJRndpYm1WNGRGd2lLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdVMlYwZEdsdVp5QmpiMjUwWlhoMExsOXpaVzUwSUdadmNpQnNaV2RoWTNrZ2MzVndjRzl5ZENCdlppQkNZV0psYkNkelhHNGdJQ0FnSUNBZ0lDQWdMeThnWm5WdVkzUnBiMjR1YzJWdWRDQnBiWEJzWlcxbGJuUmhkR2x2Ymk1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjUwWlhoMExuTmxiblFnUFNCamIyNTBaWGgwTGw5elpXNTBJRDBnWTI5dWRHVjRkQzVoY21jN1hHNWNiaUFnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2hqYjI1MFpYaDBMbTFsZEdodlpDQTlQVDBnWENKMGFISnZkMXdpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0hOMFlYUmxJRDA5UFNCSFpXNVRkR0YwWlZOMWMzQmxibVJsWkZOMFlYSjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkR0YwWlNBOUlFZGxibE4wWVhSbFEyOXRjR3hsZEdWa08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dZMjl1ZEdWNGRDNWhjbWM3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHVjRkQzVrYVhOd1lYUmphRVY0WTJWd2RHbHZiaWhqYjI1MFpYaDBMbUZ5WnlrN1hHNWNiaUFnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2hqYjI1MFpYaDBMbTFsZEdodlpDQTlQVDBnWENKeVpYUjFjbTVjSWlrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5SbGVIUXVZV0p5ZFhCMEtGd2ljbVYwZFhKdVhDSXNJR052Ym5SbGVIUXVZWEpuS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSE4wWVhSbElEMGdSMlZ1VTNSaGRHVkZlR1ZqZFhScGJtYzdYRzVjYmlBZ0lDQWdJQ0FnZG1GeUlISmxZMjl5WkNBOUlIUnllVU5oZEdOb0tHbHVibVZ5Um00c0lITmxiR1lzSUdOdmJuUmxlSFFwTzF4dUlDQWdJQ0FnSUNCcFppQW9jbVZqYjNKa0xuUjVjR1VnUFQwOUlGd2libTl5YldGc1hDSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QkpaaUJoYmlCbGVHTmxjSFJwYjI0Z2FYTWdkR2h5YjNkdUlHWnliMjBnYVc1dVpYSkdiaXdnZDJVZ2JHVmhkbVVnYzNSaGRHVWdQVDA5WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdSMlZ1VTNSaGRHVkZlR1ZqZFhScGJtY2dZVzVrSUd4dmIzQWdZbUZqYXlCbWIzSWdZVzV2ZEdobGNpQnBiblp2WTJGMGFXOXVMbHh1SUNBZ0lDQWdJQ0FnSUhOMFlYUmxJRDBnWTI5dWRHVjRkQzVrYjI1bFhHNGdJQ0FnSUNBZ0lDQWdJQ0EvSUVkbGJsTjBZWFJsUTI5dGNHeGxkR1ZrWEc0Z0lDQWdJQ0FnSUNBZ0lDQTZJRWRsYmxOMFlYUmxVM1Z6Y0dWdVpHVmtXV2xsYkdRN1hHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2NtVmpiM0prTG1GeVp5QTlQVDBnUTI5dWRHbHVkV1ZUWlc1MGFXNWxiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxPaUJ5WldOdmNtUXVZWEpuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaRzl1WlRvZ1kyOXVkR1Y0ZEM1a2IyNWxYRzRnSUNBZ0lDQWdJQ0FnZlR0Y2JseHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLSEpsWTI5eVpDNTBlWEJsSUQwOVBTQmNJblJvY205M1hDSXBJSHRjYmlBZ0lDQWdJQ0FnSUNCemRHRjBaU0E5SUVkbGJsTjBZWFJsUTI5dGNHeGxkR1ZrTzF4dUlDQWdJQ0FnSUNBZ0lDOHZJRVJwYzNCaGRHTm9JSFJvWlNCbGVHTmxjSFJwYjI0Z1lua2diRzl2Y0dsdVp5QmlZV05ySUdGeWIzVnVaQ0IwYnlCMGFHVmNiaUFnSUNBZ0lDQWdJQ0F2THlCamIyNTBaWGgwTG1ScGMzQmhkR05vUlhoalpYQjBhVzl1S0dOdmJuUmxlSFF1WVhKbktTQmpZV3hzSUdGaWIzWmxMbHh1SUNBZ0lDQWdJQ0FnSUdOdmJuUmxlSFF1YldWMGFHOWtJRDBnWENKMGFISnZkMXdpTzF4dUlDQWdJQ0FnSUNBZ0lHTnZiblJsZUhRdVlYSm5JRDBnY21WamIzSmtMbUZ5Wnp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQXZMeUJEWVd4c0lHUmxiR1ZuWVhSbExtbDBaWEpoZEc5eVcyTnZiblJsZUhRdWJXVjBhRzlrWFNoamIyNTBaWGgwTG1GeVp5a2dZVzVrSUdoaGJtUnNaU0IwYUdWY2JpQWdMeThnY21WemRXeDBMQ0JsYVhSb1pYSWdZbmtnY21WMGRYSnVhVzVuSUdFZ2V5QjJZV3gxWlN3Z1pHOXVaU0I5SUhKbGMzVnNkQ0JtY205dElIUm9aVnh1SUNBdkx5QmtaV3hsWjJGMFpTQnBkR1Z5WVhSdmNpd2diM0lnWW5rZ2JXOWthV1o1YVc1bklHTnZiblJsZUhRdWJXVjBhRzlrSUdGdVpDQmpiMjUwWlhoMExtRnlaeXhjYmlBZ0x5OGdjMlYwZEdsdVp5QmpiMjUwWlhoMExtUmxiR1ZuWVhSbElIUnZJRzUxYkd3c0lHRnVaQ0J5WlhSMWNtNXBibWNnZEdobElFTnZiblJwYm5WbFUyVnVkR2x1Wld3dVhHNGdJR1oxYm1OMGFXOXVJRzFoZVdKbFNXNTJiMnRsUkdWc1pXZGhkR1VvWkdWc1pXZGhkR1VzSUdOdmJuUmxlSFFwSUh0Y2JpQWdJQ0IyWVhJZ2JXVjBhRzlrSUQwZ1pHVnNaV2RoZEdVdWFYUmxjbUYwYjNKYlkyOXVkR1Y0ZEM1dFpYUm9iMlJkTzF4dUlDQWdJR2xtSUNodFpYUm9iMlFnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdMeThnUVNBdWRHaHliM2NnYjNJZ0xuSmxkSFZ5YmlCM2FHVnVJSFJvWlNCa1pXeGxaMkYwWlNCcGRHVnlZWFJ2Y2lCb1lYTWdibThnTG5Sb2NtOTNYRzRnSUNBZ0lDQXZMeUJ0WlhSb2IyUWdZV3gzWVhseklIUmxjbTFwYm1GMFpYTWdkR2hsSUhscFpXeGtLaUJzYjI5d0xseHVJQ0FnSUNBZ1kyOXVkR1Y0ZEM1a1pXeGxaMkYwWlNBOUlHNTFiR3c3WEc1Y2JpQWdJQ0FnSUdsbUlDaGpiMjUwWlhoMExtMWxkR2h2WkNBOVBUMGdYQ0owYUhKdmQxd2lLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaGtaV3hsWjJGMFpTNXBkR1Z5WVhSdmNpNXlaWFIxY200cElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCSlppQjBhR1VnWkdWc1pXZGhkR1VnYVhSbGNtRjBiM0lnYUdGeklHRWdjbVYwZFhKdUlHMWxkR2h2WkN3Z1oybDJaU0JwZENCaFhHNGdJQ0FnSUNBZ0lDQWdMeThnWTJoaGJtTmxJSFJ2SUdOc1pXRnVJSFZ3TGx4dUlDQWdJQ0FnSUNBZ0lHTnZiblJsZUhRdWJXVjBhRzlrSUQwZ1hDSnlaWFIxY201Y0lqdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1MFpYaDBMbUZ5WnlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lDQWdJQ0J0WVhsaVpVbHVkbTlyWlVSbGJHVm5ZWFJsS0dSbGJHVm5ZWFJsTENCamIyNTBaWGgwS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoamIyNTBaWGgwTG0xbGRHaHZaQ0E5UFQwZ1hDSjBhSEp2ZDF3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QkpaaUJ0WVhsaVpVbHVkbTlyWlVSbGJHVm5ZWFJsS0dOdmJuUmxlSFFwSUdOb1lXNW5aV1FnWTI5dWRHVjRkQzV0WlhSb2IyUWdabkp2YlZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnWENKeVpYUjFjbTVjSWlCMGJ5QmNJblJvY205M1hDSXNJR3hsZENCMGFHRjBJRzkyWlhKeWFXUmxJSFJvWlNCVWVYQmxSWEp5YjNJZ1ltVnNiM2N1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1EyOXVkR2x1ZFdWVFpXNTBhVzVsYkR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCamIyNTBaWGgwTG0xbGRHaHZaQ0E5SUZ3aWRHaHliM2RjSWp0Y2JpQWdJQ0FnSUNBZ1kyOXVkR1Y0ZEM1aGNtY2dQU0J1WlhjZ1ZIbHdaVVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQWdJRndpVkdobElHbDBaWEpoZEc5eUlHUnZaWE1nYm05MElIQnliM1pwWkdVZ1lTQW5kR2h5YjNjbklHMWxkR2h2WkZ3aUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlFTnZiblJwYm5WbFUyVnVkR2x1Wld3N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlISmxZMjl5WkNBOUlIUnllVU5oZEdOb0tHMWxkR2h2WkN3Z1pHVnNaV2RoZEdVdWFYUmxjbUYwYjNJc0lHTnZiblJsZUhRdVlYSm5LVHRjYmx4dUlDQWdJR2xtSUNoeVpXTnZjbVF1ZEhsd1pTQTlQVDBnWENKMGFISnZkMXdpS1NCN1hHNGdJQ0FnSUNCamIyNTBaWGgwTG0xbGRHaHZaQ0E5SUZ3aWRHaHliM2RjSWp0Y2JpQWdJQ0FnSUdOdmJuUmxlSFF1WVhKbklEMGdjbVZqYjNKa0xtRnlaenRjYmlBZ0lDQWdJR052Ym5SbGVIUXVaR1ZzWldkaGRHVWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ2NtVjBkWEp1SUVOdmJuUnBiblZsVTJWdWRHbHVaV3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdsdVptOGdQU0J5WldOdmNtUXVZWEpuTzF4dVhHNGdJQ0FnYVdZZ0tDRWdhVzVtYnlrZ2UxeHVJQ0FnSUNBZ1kyOXVkR1Y0ZEM1dFpYUm9iMlFnUFNCY0luUm9jbTkzWENJN1hHNGdJQ0FnSUNCamIyNTBaWGgwTG1GeVp5QTlJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSnBkR1Z5WVhSdmNpQnlaWE4xYkhRZ2FYTWdibTkwSUdGdUlHOWlhbVZqZEZ3aUtUdGNiaUFnSUNBZ0lHTnZiblJsZUhRdVpHVnNaV2RoZEdVZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnY21WMGRYSnVJRU52Ym5ScGJuVmxVMlZ1ZEdsdVpXdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR2x1Wm04dVpHOXVaU2tnZTF4dUlDQWdJQ0FnTHk4Z1FYTnphV2R1SUhSb1pTQnlaWE4xYkhRZ2IyWWdkR2hsSUdacGJtbHphR1ZrSUdSbGJHVm5ZWFJsSUhSdklIUm9aU0IwWlcxd2IzSmhjbmxjYmlBZ0lDQWdJQzh2SUhaaGNtbGhZbXhsSUhOd1pXTnBabWxsWkNCaWVTQmtaV3hsWjJGMFpTNXlaWE4xYkhST1lXMWxJQ2h6WldVZ1pHVnNaV2RoZEdWWmFXVnNaQ2t1WEc0Z0lDQWdJQ0JqYjI1MFpYaDBXMlJsYkdWbllYUmxMbkpsYzNWc2RFNWhiV1ZkSUQwZ2FXNW1ieTUyWVd4MVpUdGNibHh1SUNBZ0lDQWdMeThnVW1WemRXMWxJR1Y0WldOMWRHbHZiaUJoZENCMGFHVWdaR1Z6YVhKbFpDQnNiMk5oZEdsdmJpQW9jMlZsSUdSbGJHVm5ZWFJsV1dsbGJHUXBMbHh1SUNBZ0lDQWdZMjl1ZEdWNGRDNXVaWGgwSUQwZ1pHVnNaV2RoZEdVdWJtVjRkRXh2WXp0Y2JseHVJQ0FnSUNBZ0x5OGdTV1lnWTI5dWRHVjRkQzV0WlhSb2IyUWdkMkZ6SUZ3aWRHaHliM2RjSWlCaWRYUWdkR2hsSUdSbGJHVm5ZWFJsSUdoaGJtUnNaV1FnZEdobFhHNGdJQ0FnSUNBdkx5QmxlR05sY0hScGIyNHNJR3hsZENCMGFHVWdiM1YwWlhJZ1oyVnVaWEpoZEc5eUlIQnliMk5sWldRZ2JtOXliV0ZzYkhrdUlFbG1YRzRnSUNBZ0lDQXZMeUJqYjI1MFpYaDBMbTFsZEdodlpDQjNZWE1nWENKdVpYaDBYQ0lzSUdadmNtZGxkQ0JqYjI1MFpYaDBMbUZ5WnlCemFXNWpaU0JwZENCb1lYTWdZbVZsYmx4dUlDQWdJQ0FnTHk4Z1hDSmpiMjV6ZFcxbFpGd2lJR0o1SUhSb1pTQmtaV3hsWjJGMFpTQnBkR1Z5WVhSdmNpNGdTV1lnWTI5dWRHVjRkQzV0WlhSb2IyUWdkMkZ6WEc0Z0lDQWdJQ0F2THlCY0luSmxkSFZ5Ymx3aUxDQmhiR3h2ZHlCMGFHVWdiM0pwWjJsdVlXd2dMbkpsZEhWeWJpQmpZV3hzSUhSdklHTnZiblJwYm5WbElHbHVJSFJvWlZ4dUlDQWdJQ0FnTHk4Z2IzVjBaWElnWjJWdVpYSmhkRzl5TGx4dUlDQWdJQ0FnYVdZZ0tHTnZiblJsZUhRdWJXVjBhRzlrSUNFOVBTQmNJbkpsZEhWeWJsd2lLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuUmxlSFF1YldWMGFHOWtJRDBnWENKdVpYaDBYQ0k3WEc0Z0lDQWdJQ0FnSUdOdmJuUmxlSFF1WVhKbklEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRkpsTFhscFpXeGtJSFJvWlNCeVpYTjFiSFFnY21WMGRYSnVaV1FnWW5rZ2RHaGxJR1JsYkdWbllYUmxJRzFsZEdodlpDNWNiaUFnSUNBZ0lISmxkSFZ5YmlCcGJtWnZPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRlJvWlNCa1pXeGxaMkYwWlNCcGRHVnlZWFJ2Y2lCcGN5Qm1hVzVwYzJobFpDd2djMjhnWm05eVoyVjBJR2wwSUdGdVpDQmpiMjUwYVc1MVpTQjNhWFJvWEc0Z0lDQWdMeThnZEdobElHOTFkR1Z5SUdkbGJtVnlZWFJ2Y2k1Y2JpQWdJQ0JqYjI1MFpYaDBMbVJsYkdWbllYUmxJRDBnYm5Wc2JEdGNiaUFnSUNCeVpYUjFjbTRnUTI5dWRHbHVkV1ZUWlc1MGFXNWxiRHRjYmlBZ2ZWeHVYRzRnSUM4dklFUmxabWx1WlNCSFpXNWxjbUYwYjNJdWNISnZkRzkwZVhCbExudHVaWGgwTEhSb2NtOTNMSEpsZEhWeWJuMGdhVzRnZEdWeWJYTWdiMllnZEdobFhHNGdJQzh2SUhWdWFXWnBaV1FnTGw5cGJuWnZhMlVnYUdWc2NHVnlJRzFsZEdodlpDNWNiaUFnWkdWbWFXNWxTWFJsY21GMGIzSk5aWFJvYjJSektFZHdLVHRjYmx4dUlDQkhjRnQwYjFOMGNtbHVaMVJoWjFONWJXSnZiRjBnUFNCY0lrZGxibVZ5WVhSdmNsd2lPMXh1WEc0Z0lDOHZJRUVnUjJWdVpYSmhkRzl5SUhOb2IzVnNaQ0JoYkhkaGVYTWdjbVYwZFhKdUlHbDBjMlZzWmlCaGN5QjBhR1VnYVhSbGNtRjBiM0lnYjJKcVpXTjBJSGRvWlc0Z2RHaGxYRzRnSUM4dklFQkFhWFJsY21GMGIzSWdablZ1WTNScGIyNGdhWE1nWTJGc2JHVmtJRzl1SUdsMExpQlRiMjFsSUdKeWIzZHpaWEp6SnlCcGJYQnNaVzFsYm5SaGRHbHZibk1nYjJZZ2RHaGxYRzRnSUM4dklHbDBaWEpoZEc5eUlIQnliM1J2ZEhsd1pTQmphR0ZwYmlCcGJtTnZjbkpsWTNSc2VTQnBiWEJzWlcxbGJuUWdkR2hwY3l3Z1kyRjFjMmx1WnlCMGFHVWdSMlZ1WlhKaGRHOXlYRzRnSUM4dklHOWlhbVZqZENCMGJ5QnViM1FnWW1VZ2NtVjBkWEp1WldRZ1puSnZiU0IwYUdseklHTmhiR3d1SUZSb2FYTWdaVzV6ZFhKbGN5QjBhR0YwSUdSdlpYTnVKM1FnYUdGd2NHVnVMbHh1SUNBdkx5QlRaV1VnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJaaFkyVmliMjlyTDNKbFoyVnVaWEpoZEc5eUwybHpjM1ZsY3k4eU56UWdabTl5SUcxdmNtVWdaR1YwWVdsc2N5NWNiaUFnUjNCYmFYUmxjbUYwYjNKVGVXMWliMnhkSUQwZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUjNBdWRHOVRkSEpwYm1jZ1BTQm1kVzVqZEdsdmJpZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1hDSmJiMkpxWldOMElFZGxibVZ5WVhSdmNsMWNJanRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCd2RYTm9WSEo1Ulc1MGNua29iRzlqY3lrZ2UxeHVJQ0FnSUhaaGNpQmxiblJ5ZVNBOUlIc2dkSEo1VEc5ak9pQnNiMk56V3pCZElIMDdYRzVjYmlBZ0lDQnBaaUFvTVNCcGJpQnNiMk56S1NCN1hHNGdJQ0FnSUNCbGJuUnllUzVqWVhSamFFeHZZeUE5SUd4dlkzTmJNVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0RJZ2FXNGdiRzlqY3lrZ2UxeHVJQ0FnSUNBZ1pXNTBjbmt1Wm1sdVlXeHNlVXh2WXlBOUlHeHZZM05iTWwwN1hHNGdJQ0FnSUNCbGJuUnllUzVoWm5SbGNreHZZeUE5SUd4dlkzTmJNMTA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1MGNubEZiblJ5YVdWekxuQjFjMmdvWlc1MGNua3BPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnY21WelpYUlVjbmxGYm5SeWVTaGxiblJ5ZVNrZ2UxeHVJQ0FnSUhaaGNpQnlaV052Y21RZ1BTQmxiblJ5ZVM1amIyMXdiR1YwYVc5dUlIeDhJSHQ5TzF4dUlDQWdJSEpsWTI5eVpDNTBlWEJsSUQwZ1hDSnViM0p0WVd4Y0lqdGNiaUFnSUNCa1pXeGxkR1VnY21WamIzSmtMbUZ5Wnp0Y2JpQWdJQ0JsYm5SeWVTNWpiMjF3YkdWMGFXOXVJRDBnY21WamIzSmtPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnUTI5dWRHVjRkQ2gwY25sTWIyTnpUR2x6ZENrZ2UxeHVJQ0FnSUM4dklGUm9aU0J5YjI5MElHVnVkSEo1SUc5aWFtVmpkQ0FvWldabVpXTjBhWFpsYkhrZ1lTQjBjbmtnYzNSaGRHVnRaVzUwSUhkcGRHaHZkWFFnWVNCallYUmphRnh1SUNBZ0lDOHZJRzl5SUdFZ1ptbHVZV3hzZVNCaWJHOWpheWtnWjJsMlpYTWdkWE1nWVNCd2JHRmpaU0IwYnlCemRHOXlaU0IyWVd4MVpYTWdkR2h5YjNkdUlHWnliMjFjYmlBZ0lDQXZMeUJzYjJOaGRHbHZibk1nZDJobGNtVWdkR2hsY21VZ2FYTWdibThnWlc1amJHOXphVzVuSUhSeWVTQnpkR0YwWlcxbGJuUXVYRzRnSUNBZ2RHaHBjeTUwY25sRmJuUnlhV1Z6SUQwZ1czc2dkSEo1VEc5ak9pQmNJbkp2YjNSY0lpQjlYVHRjYmlBZ0lDQjBjbmxNYjJOelRHbHpkQzVtYjNKRllXTm9LSEIxYzJoVWNubEZiblJ5ZVN3Z2RHaHBjeWs3WEc0Z0lDQWdkR2hwY3k1eVpYTmxkQ2gwY25WbEtUdGNiaUFnZlZ4dVhHNGdJSEoxYm5ScGJXVXVhMlY1Y3lBOUlHWjFibU4wYVc5dUtHOWlhbVZqZENrZ2UxeHVJQ0FnSUhaaGNpQnJaWGx6SUQwZ1cxMDdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2EyVjVJR2x1SUc5aWFtVmpkQ2tnZTF4dUlDQWdJQ0FnYTJWNWN5NXdkWE5vS0d0bGVTazdYRzRnSUNBZ2ZWeHVJQ0FnSUd0bGVYTXVjbVYyWlhKelpTZ3BPMXh1WEc0Z0lDQWdMeThnVW1GMGFHVnlJSFJvWVc0Z2NtVjBkWEp1YVc1bklHRnVJRzlpYW1WamRDQjNhWFJvSUdFZ2JtVjRkQ0J0WlhSb2IyUXNJSGRsSUd0bFpYQmNiaUFnSUNBdkx5QjBhR2x1WjNNZ2MybHRjR3hsSUdGdVpDQnlaWFIxY200Z2RHaGxJRzVsZUhRZ1puVnVZM1JwYjI0Z2FYUnpaV3htTGx4dUlDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQnVaWGgwS0NrZ2UxeHVJQ0FnSUNBZ2QyaHBiR1VnS0d0bGVYTXViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCclpYa2dQU0JyWlhsekxuQnZjQ2dwTzF4dUlDQWdJQ0FnSUNCcFppQW9hMlY1SUdsdUlHOWlhbVZqZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzVsZUhRdWRtRnNkV1VnUFNCclpYazdYRzRnSUNBZ0lDQWdJQ0FnYm1WNGRDNWtiMjVsSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnTHk4Z1ZHOGdZWFp2YVdRZ1kzSmxZWFJwYm1jZ1lXNGdZV1JrYVhScGIyNWhiQ0J2WW1wbFkzUXNJSGRsSUdwMWMzUWdhR0Z1WnlCMGFHVWdMblpoYkhWbFhHNGdJQ0FnSUNBdkx5QmhibVFnTG1SdmJtVWdjSEp2Y0dWeWRHbGxjeUJ2Wm1ZZ2RHaGxJRzVsZUhRZ1puVnVZM1JwYjI0Z2IySnFaV04wSUdsMGMyVnNaaTRnVkdocGMxeHVJQ0FnSUNBZ0x5OGdZV3h6YnlCbGJuTjFjbVZ6SUhSb1lYUWdkR2hsSUcxcGJtbG1hV1Z5SUhkcGJHd2dibTkwSUdGdWIyNTViV2w2WlNCMGFHVWdablZ1WTNScGIyNHVYRzRnSUNBZ0lDQnVaWGgwTG1SdmJtVWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUTdYRzRnSUNBZ2ZUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUIyWVd4MVpYTW9hWFJsY21GaWJHVXBJSHRjYmlBZ0lDQnBaaUFvYVhSbGNtRmliR1VwSUh0Y2JpQWdJQ0FnSUhaaGNpQnBkR1Z5WVhSdmNrMWxkR2h2WkNBOUlHbDBaWEpoWW14bFcybDBaWEpoZEc5eVUzbHRZbTlzWFR0Y2JpQWdJQ0FnSUdsbUlDaHBkR1Z5WVhSdmNrMWxkR2h2WkNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYUmxjbUYwYjNKTlpYUm9iMlF1WTJGc2JDaHBkR1Z5WVdKc1pTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVhSbGNtRmliR1V1Ym1WNGRDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnBkR1Z5WVdKc1pUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0NGcGMwNWhUaWhwZEdWeVlXSnNaUzVzWlc1bmRHZ3BLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBJRDBnTFRFc0lHNWxlSFFnUFNCbWRXNWpkR2x2YmlCdVpYaDBLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIZG9hV3hsSUNncksya2dQQ0JwZEdWeVlXSnNaUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hvWVhOUGQyNHVZMkZzYkNocGRHVnlZV0pzWlN3Z2FTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdibVY0ZEM1MllXeDFaU0E5SUdsMFpYSmhZbXhsVzJsZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCdVpYaDBMbVJ2Ym1VZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZUhRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnYm1WNGRDNTJZV3gxWlNBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lDQWdJQ0J1WlhoMExtUnZibVVnUFNCMGNuVmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUTdYRzRnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUXVibVY0ZENBOUlHNWxlSFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVW1WMGRYSnVJR0Z1SUdsMFpYSmhkRzl5SUhkcGRHZ2dibThnZG1Gc2RXVnpMbHh1SUNBZ0lISmxkSFZ5YmlCN0lHNWxlSFE2SUdSdmJtVlNaWE4xYkhRZ2ZUdGNiaUFnZlZ4dUlDQnlkVzUwYVcxbExuWmhiSFZsY3lBOUlIWmhiSFZsY3p0Y2JseHVJQ0JtZFc1amRHbHZiaUJrYjI1bFVtVnpkV3gwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUI3SUhaaGJIVmxPaUIxYm1SbFptbHVaV1FzSUdSdmJtVTZJSFJ5ZFdVZ2ZUdGNiaUFnZlZ4dVhHNGdJRU52Ym5SbGVIUXVjSEp2ZEc5MGVYQmxJRDBnZTF4dUlDQWdJR052Ym5OMGNuVmpkRzl5T2lCRGIyNTBaWGgwTEZ4dVhHNGdJQ0FnY21WelpYUTZJR1oxYm1OMGFXOXVLSE5yYVhCVVpXMXdVbVZ6WlhRcElIdGNiaUFnSUNBZ0lIUm9hWE11Y0hKbGRpQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxtNWxlSFFnUFNBd08xeHVJQ0FnSUNBZ0x5OGdVbVZ6WlhSMGFXNW5JR052Ym5SbGVIUXVYM05sYm5RZ1ptOXlJR3hsWjJGamVTQnpkWEJ3YjNKMElHOW1JRUpoWW1Wc0ozTmNiaUFnSUNBZ0lDOHZJR1oxYm1OMGFXOXVMbk5sYm5RZ2FXMXdiR1Z0Wlc1MFlYUnBiMjR1WEc0Z0lDQWdJQ0IwYUdsekxuTmxiblFnUFNCMGFHbHpMbDl6Wlc1MElEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdkR2hwY3k1a2IyNWxJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQjBhR2x6TG1SbGJHVm5ZWFJsSUQwZ2JuVnNiRHRjYmx4dUlDQWdJQ0FnZEdocGN5NXRaWFJvYjJRZ1BTQmNJbTVsZUhSY0lqdGNiaUFnSUNBZ0lIUm9hWE11WVhKbklEMGdkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdJQ0IwYUdsekxuUnllVVZ1ZEhKcFpYTXVabTl5UldGamFDaHlaWE5sZEZSeWVVVnVkSEo1S1R0Y2JseHVJQ0FnSUNBZ2FXWWdLQ0Z6YTJsd1ZHVnRjRkpsYzJWMEtTQjdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJRzVoYldVZ2FXNGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUU1dmRDQnpkWEpsSUdGaWIzVjBJSFJvWlNCdmNIUnBiV0ZzSUc5eVpHVnlJRzltSUhSb1pYTmxJR052Ym1ScGRHbHZibk02WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRzVoYldVdVkyaGhja0YwS0RBcElEMDlQU0JjSW5SY0lpQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQm9ZWE5QZDI0dVkyRnNiQ2gwYUdsekxDQnVZVzFsS1NBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBaGFYTk9ZVTRvSzI1aGJXVXVjMnhwWTJVb01Ta3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6VzI1aGJXVmRJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHNYRzVjYmlBZ0lDQnpkRzl3T2lCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lIUm9hWE11Wkc5dVpTQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lIWmhjaUJ5YjI5MFJXNTBjbmtnUFNCMGFHbHpMblJ5ZVVWdWRISnBaWE5iTUYwN1hHNGdJQ0FnSUNCMllYSWdjbTl2ZEZKbFkyOXlaQ0E5SUhKdmIzUkZiblJ5ZVM1amIyMXdiR1YwYVc5dU8xeHVJQ0FnSUNBZ2FXWWdLSEp2YjNSU1pXTnZjbVF1ZEhsd1pTQTlQVDBnWENKMGFISnZkMXdpS1NCN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUhKdmIzUlNaV052Y21RdVlYSm5PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eWRtRnNPMXh1SUNBZ0lIMHNYRzVjYmlBZ0lDQmthWE53WVhSamFFVjRZMlZ3ZEdsdmJqb2dablZ1WTNScGIyNG9aWGhqWlhCMGFXOXVLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVrYjI1bEtTQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lHVjRZMlZ3ZEdsdmJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUdOdmJuUmxlSFFnUFNCMGFHbHpPMXh1SUNBZ0lDQWdablZ1WTNScGIyNGdhR0Z1Wkd4bEtHeHZZeXdnWTJGMVoyaDBLU0I3WEc0Z0lDQWdJQ0FnSUhKbFkyOXlaQzUwZVhCbElEMGdYQ0owYUhKdmQxd2lPMXh1SUNBZ0lDQWdJQ0J5WldOdmNtUXVZWEpuSUQwZ1pYaGpaWEIwYVc5dU8xeHVJQ0FnSUNBZ0lDQmpiMjUwWlhoMExtNWxlSFFnUFNCc2IyTTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTmhkV2RvZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUVsbUlIUm9aU0JrYVhOd1lYUmphR1ZrSUdWNFkyVndkR2x2YmlCM1lYTWdZMkYxWjJoMElHSjVJR0VnWTJGMFkyZ2dZbXh2WTJzc1hHNGdJQ0FnSUNBZ0lDQWdMeThnZEdobGJpQnNaWFFnZEdoaGRDQmpZWFJqYUNCaWJHOWpheUJvWVc1a2JHVWdkR2hsSUdWNFkyVndkR2x2YmlCdWIzSnRZV3hzZVM1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjUwWlhoMExtMWxkR2h2WkNBOUlGd2libVY0ZEZ3aU8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5SbGVIUXVZWEpuSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJQ0VoSUdOaGRXZG9kRHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11ZEhKNVJXNTBjbWxsY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBN0lDMHRhU2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdaVzUwY25rZ1BTQjBhR2x6TG5SeWVVVnVkSEpwWlhOYmFWMDdYRzRnSUNBZ0lDQWdJSFpoY2lCeVpXTnZjbVFnUFNCbGJuUnllUzVqYjIxd2JHVjBhVzl1TzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hsYm5SeWVTNTBjbmxNYjJNZ1BUMDlJRndpY205dmRGd2lLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdSWGhqWlhCMGFXOXVJSFJvY205M2JpQnZkWFJ6YVdSbElHOW1JR0Z1ZVNCMGNua2dZbXh2WTJzZ2RHaGhkQ0JqYjNWc1pDQm9ZVzVrYkdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJwZEN3Z2MyOGdjMlYwSUhSb1pTQmpiMjF3YkdWMGFXOXVJSFpoYkhWbElHOW1JSFJvWlNCbGJuUnBjbVVnWm5WdVkzUnBiMjRnZEc5Y2JpQWdJQ0FnSUNBZ0lDQXZMeUIwYUhKdmR5QjBhR1VnWlhoalpYQjBhVzl1TGx4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCb1lXNWtiR1VvWENKbGJtUmNJaWs3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvWlc1MGNua3VkSEo1VEc5aklEdzlJSFJvYVhNdWNISmxkaWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJvWVhORFlYUmphQ0E5SUdoaGMwOTNiaTVqWVd4c0tHVnVkSEo1TENCY0ltTmhkR05vVEc5alhDSXBPMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQm9ZWE5HYVc1aGJHeDVJRDBnYUdGelQzZHVMbU5oYkd3b1pXNTBjbmtzSUZ3aVptbHVZV3hzZVV4dlkxd2lLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hvWVhORFlYUmphQ0FtSmlCb1lYTkdhVzVoYkd4NUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k1d2NtVjJJRHdnWlc1MGNua3VZMkYwWTJoTWIyTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHaGhibVJzWlNobGJuUnllUzVqWVhSamFFeHZZeXdnZEhKMVpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11Y0hKbGRpQThJR1Z1ZEhKNUxtWnBibUZzYkhsTWIyTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHaGhibVJzWlNobGJuUnllUzVtYVc1aGJHeDVURzlqS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9hR0Z6UTJGMFkyZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuQnlaWFlnUENCbGJuUnllUzVqWVhSamFFeHZZeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhR0Z1Wkd4bEtHVnVkSEo1TG1OaGRHTm9URzlqTENCMGNuVmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FHRnpSbWx1WVd4c2VTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWNISmxkaUE4SUdWdWRISjVMbVpwYm1Gc2JIbE1iMk1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2hoYm1Sc1pTaGxiblJ5ZVM1bWFXNWhiR3g1VEc5aktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKMGNua2djM1JoZEdWdFpXNTBJSGRwZEdodmRYUWdZMkYwWTJnZ2IzSWdabWx1WVd4c2VWd2lLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVYRzRnSUNBZ1lXSnlkWEIwT2lCbWRXNWpkR2x2YmloMGVYQmxMQ0JoY21jcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0IwYUdsekxuUnllVVZ1ZEhKcFpYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUF0TFdrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdWdWRISjVJRDBnZEdocGN5NTBjbmxGYm5SeWFXVnpXMmxkTzF4dUlDQWdJQ0FnSUNCcFppQW9aVzUwY25rdWRISjVURzlqSUR3OUlIUm9hWE11Y0hKbGRpQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FHRnpUM2R1TG1OaGJHd29aVzUwY25rc0lGd2labWx1WVd4c2VVeHZZMXdpS1NBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXdjbVYySUR3Z1pXNTBjbmt1Wm1sdVlXeHNlVXh2WXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCbWFXNWhiR3g1Ulc1MGNua2dQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1ptbHVZV3hzZVVWdWRISjVJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0tIUjVjR1VnUFQwOUlGd2lZbkpsWVd0Y0lpQjhmRnh1SUNBZ0lDQWdJQ0FnSUNCMGVYQmxJRDA5UFNCY0ltTnZiblJwYm5WbFhDSXBJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ1ptbHVZV3hzZVVWdWRISjVMblJ5ZVV4dll5QThQU0JoY21jZ0ppWmNiaUFnSUNBZ0lDQWdJQ0JoY21jZ1BEMGdabWx1WVd4c2VVVnVkSEo1TG1acGJtRnNiSGxNYjJNcElIdGNiaUFnSUNBZ0lDQWdMeThnU1dkdWIzSmxJSFJvWlNCbWFXNWhiR3g1SUdWdWRISjVJR2xtSUdOdmJuUnliMndnYVhNZ2JtOTBJR3AxYlhCcGJtY2dkRzhnWVZ4dUlDQWdJQ0FnSUNBdkx5QnNiMk5oZEdsdmJpQnZkWFJ6YVdSbElIUm9aU0IwY25rdlkyRjBZMmdnWW14dlkyc3VYRzRnSUNBZ0lDQWdJR1pwYm1Gc2JIbEZiblJ5ZVNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhaaGNpQnlaV052Y21RZ1BTQm1hVzVoYkd4NVJXNTBjbmtnUHlCbWFXNWhiR3g1Ulc1MGNua3VZMjl0Y0d4bGRHbHZiaUE2SUh0OU8xeHVJQ0FnSUNBZ2NtVmpiM0prTG5SNWNHVWdQU0IwZVhCbE8xeHVJQ0FnSUNBZ2NtVmpiM0prTG1GeVp5QTlJR0Z5Wnp0Y2JseHVJQ0FnSUNBZ2FXWWdLR1pwYm1Gc2JIbEZiblJ5ZVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG0xbGRHaHZaQ0E5SUZ3aWJtVjRkRndpTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTVsZUhRZ1BTQm1hVzVoYkd4NVJXNTBjbmt1Wm1sdVlXeHNlVXh2WXp0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVOdmJuUnBiblZsVTJWdWRHbHVaV3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnZiWEJzWlhSbEtISmxZMjl5WkNrN1hHNGdJQ0FnZlN4Y2JseHVJQ0FnSUdOdmJYQnNaWFJsT2lCbWRXNWpkR2x2YmloeVpXTnZjbVFzSUdGbWRHVnlURzlqS1NCN1hHNGdJQ0FnSUNCcFppQW9jbVZqYjNKa0xuUjVjR1VnUFQwOUlGd2lkR2h5YjNkY0lpa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnlaV052Y21RdVlYSm5PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2NtVmpiM0prTG5SNWNHVWdQVDA5SUZ3aVluSmxZV3RjSWlCOGZGeHVJQ0FnSUNBZ0lDQWdJSEpsWTI5eVpDNTBlWEJsSUQwOVBTQmNJbU52Ym5ScGJuVmxYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV1WlhoMElEMGdjbVZqYjNKa0xtRnlaenRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvY21WamIzSmtMblI1Y0dVZ1BUMDlJRndpY21WMGRYSnVYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV5ZG1Gc0lEMGdkR2hwY3k1aGNtY2dQU0J5WldOdmNtUXVZWEpuTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTFsZEdodlpDQTlJRndpY21WMGRYSnVYQ0k3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVibVY0ZENBOUlGd2laVzVrWENJN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tISmxZMjl5WkM1MGVYQmxJRDA5UFNCY0ltNXZjbTFoYkZ3aUlDWW1JR0ZtZEdWeVRHOWpLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVibVY0ZENBOUlHRm1kR1Z5VEc5ak8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z1EyOXVkR2x1ZFdWVFpXNTBhVzVsYkR0Y2JpQWdJQ0I5TEZ4dVhHNGdJQ0FnWm1sdWFYTm9PaUJtZFc1amRHbHZiaWhtYVc1aGJHeDVURzlqS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdkR2hwY3k1MGNubEZiblJ5YVdWekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dMUzFwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJsYm5SeWVTQTlJSFJvYVhNdWRISjVSVzUwY21sbGMxdHBYVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHVnVkSEo1TG1acGJtRnNiSGxNYjJNZ1BUMDlJR1pwYm1Gc2JIbE1iMk1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG1OdmJYQnNaWFJsS0dWdWRISjVMbU52YlhCc1pYUnBiMjRzSUdWdWRISjVMbUZtZEdWeVRHOWpLVHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTmxkRlJ5ZVVWdWRISjVLR1Z1ZEhKNUtUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdRMjl1ZEdsdWRXVlRaVzUwYVc1bGJEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHNYRzVjYmlBZ0lDQmNJbU5oZEdOb1hDSTZJR1oxYm1OMGFXOXVLSFJ5ZVV4dll5a2dlMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXVkSEo1Ulc1MGNtbGxjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUMwdGFTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1pXNTBjbmtnUFNCMGFHbHpMblJ5ZVVWdWRISnBaWE5iYVYwN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hsYm5SeWVTNTBjbmxNYjJNZ1BUMDlJSFJ5ZVV4dll5a2dlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQnlaV052Y21RZ1BTQmxiblJ5ZVM1amIyMXdiR1YwYVc5dU8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpXTnZjbVF1ZEhsd1pTQTlQVDBnWENKMGFISnZkMXdpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2RHaHliM2R1SUQwZ2NtVmpiM0prTG1GeVp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGMyVjBWSEo1Ulc1MGNua29aVzUwY25rcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdoeWIzZHVPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklGUm9aU0JqYjI1MFpYaDBMbU5oZEdOb0lHMWxkR2h2WkNCdGRYTjBJRzl1YkhrZ1ltVWdZMkZzYkdWa0lIZHBkR2dnWVNCc2IyTmhkR2x2Ymx4dUlDQWdJQ0FnTHk4Z1lYSm5kVzFsYm5RZ2RHaGhkQ0JqYjNKeVpYTndiMjVrY3lCMGJ5QmhJR3R1YjNkdUlHTmhkR05vSUdKc2IyTnJMbHh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGd2lhV3hzWldkaGJDQmpZWFJqYUNCaGRIUmxiWEIwWENJcE8xeHVJQ0FnSUgwc1hHNWNiaUFnSUNCa1pXeGxaMkYwWlZscFpXeGtPaUJtZFc1amRHbHZiaWhwZEdWeVlXSnNaU3dnY21WemRXeDBUbUZ0WlN3Z2JtVjRkRXh2WXlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVrWld4bFoyRjBaU0E5SUh0Y2JpQWdJQ0FnSUNBZ2FYUmxjbUYwYjNJNklIWmhiSFZsY3locGRHVnlZV0pzWlNrc1hHNGdJQ0FnSUNBZ0lISmxjM1ZzZEU1aGJXVTZJSEpsYzNWc2RFNWhiV1VzWEc0Z0lDQWdJQ0FnSUc1bGVIUk1iMk02SUc1bGVIUk1iMk5jYmlBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG0xbGRHaHZaQ0E5UFQwZ1hDSnVaWGgwWENJcElIdGNiaUFnSUNBZ0lDQWdMeThnUkdWc2FXSmxjbUYwWld4NUlHWnZjbWRsZENCMGFHVWdiR0Z6ZENCelpXNTBJSFpoYkhWbElITnZJSFJvWVhRZ2QyVWdaRzl1SjNSY2JpQWdJQ0FnSUNBZ0x5OGdZV05qYVdSbGJuUmhiR3g1SUhCaGMzTWdhWFFnYjI0Z2RHOGdkR2hsSUdSbGJHVm5ZWFJsTGx4dUlDQWdJQ0FnSUNCMGFHbHpMbUZ5WnlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlFTnZiblJwYm5WbFUyVnVkR2x1Wld3N1hHNGdJQ0FnZlZ4dUlDQjlPMXh1ZlNrb1hHNGdJQzh2SUVGdGIyNW5JSFJvWlNCMllYSnBiM1Z6SUhSeWFXTnJjeUJtYjNJZ2IySjBZV2x1YVc1bklHRWdjbVZtWlhKbGJtTmxJSFJ2SUhSb1pTQm5iRzlpWVd4Y2JpQWdMeThnYjJKcVpXTjBMQ0IwYUdseklITmxaVzF6SUhSdklHSmxJSFJvWlNCdGIzTjBJSEpsYkdsaFlteGxJSFJsWTJodWFYRjFaU0IwYUdGMElHUnZaWE1nYm05MFhHNGdJQzh2SUhWelpTQnBibVJwY21WamRDQmxkbUZzSUNoM2FHbGphQ0IyYVc5c1lYUmxjeUJEYjI1MFpXNTBJRk5sWTNWeWFYUjVJRkJ2YkdsamVTa3VYRzRnSUhSNWNHVnZaaUJuYkc5aVlXd2dQVDA5SUZ3aWIySnFaV04wWENJZ1B5Qm5iRzlpWVd3Z09seHVJQ0IwZVhCbGIyWWdkMmx1Wkc5M0lEMDlQU0JjSW05aWFtVmpkRndpSUQ4Z2QybHVaRzkzSURwY2JpQWdkSGx3Wlc5bUlITmxiR1lnUFQwOUlGd2liMkpxWldOMFhDSWdQeUJ6Wld4bUlEb2dkR2hwYzF4dUtUdGNiaUlzSWk4cUlDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdFhHNGdJRUp2YVd4bGNuQnNZWFJsUVhCcExtcHpJREl3TVRrdE1EWXRNRGRjYmlBZ1IyRnRZbWx2SUVkdFlraGNiaUFnYUhSMGNEb3ZMM2QzZHk1bllXMWlhVzh1WkdWY2JpQWdRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTVJRWRoYldKcGJ5QkhiV0pJWEc0Z0lGSmxiR1ZoYzJWa0lIVnVaR1Z5SUhSb1pTQkhUbFVnUjJWdVpYSmhiQ0JRZFdKc2FXTWdUR2xqWlc1elpTQW9WbVZ5YzJsdmJpQXlLVnh1SUNCYmFIUjBjRG92TDNkM2R5NW5iblV1YjNKbkwyeHBZMlZ1YzJWekwyZHdiQzB5TGpBdWFIUnRiRjFjYmlBZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwcUwxeHVYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1YVcxd2IzSjBJRUZxWVhnZ1puSnZiU0FuTGk0dmJHbGljeTlCYW1GNEp6dGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdlMXh1WEhRdktpcGNibHgwSUNvZ1IyVjBJR0VnYkdsemRDQnZaaUJoYkd3Z2RHVnRjR3hoZEdVZ1ltOXBiR1Z5Y0d4aGRHVnpMbHh1WEhRZ0tseHVYSFFnS2lCVWFHVWdjM1ZqWTJWemN5QmpZV3hzWW1GamF5QjNhV3hzSUdOdmJuUmhhVzRnZEdobElHSnZhV3hsY25Cc1lYUmxJR1JoZEdFdVhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlMnBSZFdWeWVTNXFjVmhJVW4xY2JseDBJQ292WEc1Y2RHeHBjM1FvS1NCN1hHNWNkRngwWTI5dWMzUWdZV3BoZUZWeWJDQTlJRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0NkaVlYTmxWWEpzSnlrZ0t5QW5MMkZ3YVM1d2FIQXZkR1Z0Y0d4aGRHVnpMeWRjYmx4MFhIUmNkQ3NnWlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwS0ZOMGVXeGxSV1JwZEM1RGIyNW1hV2N1WjJWMEtDZDBaVzF3YkdGMFpTY3BLU0FySUNjdlltOXBiR1Z5Y0d4aGRHVnpQMnhoYm1jOUoxeHVYSFJjZEZ4MEt5QlRkSGxzWlVWa2FYUXVRMjl1Wm1sbkxtZGxkQ2duYkdGdVozVmhaMlZEYjJSbEp5azdYRzVjZEZ4MFhHNWNkRngwY21WMGRYSnVJRUZxWVhndVoyVjBLR0ZxWVhoVmNtd3NJSHRjYmx4MFhIUmNkR3hoYm1jNklGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2RzWVc1bmRXRm5aVU52WkdVbktTeGNibHgwWEhSY2RIUm9aVzFsT2lCVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25kR2hsYldVbktTQjhmQ0IxYm1SbFptbHVaV1JjYmx4MFhIUjlMQ0I3WkdGMFlWUjVjR1U2SUNkcWMyOXVKMzBwTzF4dVhIUjlYRzU5WEc0aUxDSXZLaUF0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMVnh1SUNCRFlXTm9aVUZ3YVM1cWN5QXlNREU1TFRBMkxUQTNYRzRnSUVkaGJXSnBieUJIYldKSVhHNGdJR2gwZEhBNkx5OTNkM2N1WjJGdFltbHZMbVJsWEc0Z0lFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE9TQkhZVzFpYVc4Z1IyMWlTRnh1SUNCU1pXeGxZWE5sWkNCMWJtUmxjaUIwYUdVZ1IwNVZJRWRsYm1WeVlXd2dVSFZpYkdsaklFeHBZMlZ1YzJVZ0tGWmxjbk5wYjI0Z01pbGNiaUFnVzJoMGRIQTZMeTkzZDNjdVoyNTFMbTl5Wnk5c2FXTmxibk5sY3k5bmNHd3RNaTR3TG1oMGJXeGRYRzRnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0S2k5Y2JseHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNibWx0Y0c5eWRDQkJhbUY0SUdaeWIyMGdKeTR1TDJ4cFluTXZRV3BoZUNjN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElIdGNibHgwTHlvcVhHNWNkQ0FxSUZKbGJtVjNJSFJvWlNCRFUxTWdZMkZqYUdVZ2IyWWdkR2hsSUhObGJHVmpkR1ZrSUhOMGVXeGxMbHh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMzBnYldGcGJrTnpjMVZ5YkNCVWFHVWdZMjl0Y0d4bGRHVWdWVkpNSUc5bUlIUm9aU0FqYldGcGJpMWpjM01nWld4bGJXVnVkQ0J2WmlCMGFHVWdkR1Z0Y0d4aGRHVXVYRzVjZENBcUlFQndZWEpoYlNCN1UzUnlhVzVuZlNCemRIbHNaVTVoYldVZ0tHOXdkR2x2Ym1Gc0tTQlVhR1VnYm1GdFpTQnZaaUIwYUdVZ2MzUjViR1VnZEc4Z1ltVWdjbVZ1WlhkbFpDNGdTV1lnYm05MElIQnliM1pwWkdWa0lIUm9aU0JoWTNScGRtVWdjM1I1YkdVZ2QybHNiRnh1WEhRZ0tpQmlaU0J5Wlc1bGQyVmtMbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0cVVYVmxjbmt1YW5GWVNGSjlYRzVjZENBcUwxeHVYSFJ5Wlc1bGR5aHRZV2x1UTNOelZYSnNMQ0J6ZEhsc1pVNWhiV1VwSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selUzUnlhVzVuS0cxaGFXNURjM05WY213cE8xeHVYSFJjZEZ4dVhIUmNkQzh2SUZKbGNHeGhZMlVnZEdobElHVjRhWE4wYVc1bklFZEZWQ0J3WVhKaGJXVjBaWEp6SUhkcGRHZ2dkR2hsSUZ3aWNtVnVaWGRmWTJGamFHVmNJaTVjYmx4MFhIUnBaaUFvYldGcGJrTnpjMVZ5YkM1cGJtUmxlRTltS0NjL0p5a2dJVDA5SUMweEtTQjdYRzVjZEZ4MFhIUnRZV2x1UTNOelZYSnNJRDBnYldGcGJrTnpjMVZ5YkM1eVpYQnNZV05sS0M5Y1hEOHVLaThzSUNjL2NtVnVaWGRmWTJGamFHVTlNU2NwTzF4dVhIUmNkSDBnWld4elpTQjdYRzVjZEZ4MFhIUnRZV2x1UTNOelZYSnNJQ3M5SUNjL2NtVnVaWGRmWTJGamFHVTlNU2M3WEc1Y2RGeDBmVnh1WEhSY2RGeHVYSFJjZEdsbUlDaHpkSGxzWlU1aGJXVWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVYSFJjZEZ4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMU4wY21sdVp5aHpkSGxzWlU1aGJXVXBPMXh1WEhSY2RGeDBiV0ZwYmtOemMxVnliQ0FyUFNBbkpuTjBlV3hsWDI1aGJXVTlKeUFySUdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoemRIbHNaVTVoYldVcE8xeHVYSFJjZEgxY2JseDBYSFJjYmx4MFhIUnlaWFIxY200Z1FXcGhlQzVuWlhRb2JXRnBia056YzFWeWJDazdYRzVjZEgxY2JuMWNibHh1WEc0aUxDSXZLaUF0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMVnh1SUNCRGIyNW1hV2RCY0drdWFuTWdNakF4T1Mwd05pMHdOMXh1SUNCSFlXMWlhVzhnUjIxaVNGeHVJQ0JvZEhSd09pOHZkM2QzTG1kaGJXSnBieTVrWlZ4dUlDQkRiM0I1Y21sbmFIUWdLR01wSURJd01Ua2dSMkZ0WW1sdklFZHRZa2hjYmlBZ1VtVnNaV0Z6WldRZ2RXNWtaWElnZEdobElFZE9WU0JIWlc1bGNtRnNJRkIxWW14cFl5Qk1hV05sYm5ObElDaFdaWEp6YVc5dUlESXBYRzRnSUZ0b2RIUndPaTh2ZDNkM0xtZHVkUzV2Y21jdmJHbGpaVzV6WlhNdlozQnNMVEl1TUM1b2RHMXNYVnh1SUNBdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFNvdlhHNWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzVwYlhCdmNuUWdRV3BoZUNCbWNtOXRJQ2N1TGk5c2FXSnpMMEZxWVhnbk8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQjdYRzVjZEM4cUtseHVYSFFnS2lCSFpYUWdVM1I1YkdWRlpHbDBJRU52Ym1acFp5QldZV3gxWlhOY2JseDBJQ3BjYmx4MElDb2dWR2hsSUdGa2JXbHVhWE4wY21GMGIzSWdZMkZ1SUhObGRDQnpiMjFsSUdoaGNtUmpiMlJsWkNCMllXeDFaWE1nYVc0Z2RHaGxJR052Ym1acFp5NXBibU11Y0dod0lIZG9hV05vSUdOaGJpQmlaU0J5WlhSeWFXVjJaV1FnZDJsMGFDQjBhR2x6WEc1Y2RDQXFJRUZRU1NCdFpYUm9iMlF1SUU1dmRDQmxkbVZ5ZVNCamIyNW1hV2NnZG1Gc2RXVWdkMmxzYkNCcGJtTnNkV1JsWkNCMGFHOTFaMmdnWkhWbElIUnZJSE5sWTNWeWFYUjVJR052Ym1ObGNtNXpMbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0cVVYVmxjbmt1YW5GWVNGSjlYRzVjZENBcUwxeHVYSFJuWlhRb0tTQjdYRzVjZEZ4MFkyOXVjM1FnWVdwaGVGVnliQ0E5SUZOMGVXeGxSV1JwZEM1RGIyNW1hV2N1WjJWMEtDZGlZWE5sVlhKc0p5a2dLeUFuTDJGd2FTNXdhSEF2ZEdWdGNHeGhkR1Z6THljZ0t5QlRkSGxzWlVWa2FYUXVRMjl1Wm1sbkxtZGxkQ2duZEdWdGNHeGhkR1VuS1Z4dVhIUmNkRngwS3lBbkwyTnZibVpwWnljN1hHNWNkRngwWEc1Y2RGeDBjbVYwZFhKdUlFRnFZWGd1WjJWMEtHRnFZWGhWY213c0lIdDBhR1Z0WlRvZ1UzUjViR1ZGWkdsMExrTnZibVpwWnk1blpYUW9KM1JvWlcxbEp5a2dmSHdnZFc1a1pXWnBibVZrZlN3Z2UyUmhkR0ZVZVhCbE9pQW5hbk52YmlkOUtUdGNibHgwZlZ4dWZWeHVJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdTVzFoWjJWQmNHa3Vhbk1nTWpBeE9TMHdOaTB3TjF4dUlDQkhZVzFpYVc4Z1IyMWlTRnh1SUNCb2RIUndPaTh2ZDNkM0xtZGhiV0pwYnk1a1pWeHVJQ0JEYjNCNWNtbG5hSFFnS0dNcElESXdNVGtnUjJGdFltbHZJRWR0WWtoY2JpQWdVbVZzWldGelpXUWdkVzVrWlhJZ2RHaGxJRWRPVlNCSFpXNWxjbUZzSUZCMVlteHBZeUJNYVdObGJuTmxJQ2hXWlhKemFXOXVJRElwWEc0Z0lGdG9kSFJ3T2k4dmQzZDNMbWR1ZFM1dmNtY3ZiR2xqWlc1elpYTXZaM0JzTFRJdU1DNW9kRzFzWFZ4dUlDQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTb3ZYRzVjYmx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1cGJYQnZjblFnUVdwaGVDQm1jbTl0SUNjdUxpOXNhV0p6TDBGcVlYZ25PMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0I3WEc1Y2RDOHFLbHh1WEhRZ0tpQlZjR3h2WVdRZ2RHaGxJSE5sYkdWamRHVmtJR2x0WVdkbElHWnBiR1V1WEc1Y2RDQXFYRzVjZENBcUlFQndZWEpoYlNCN2FsRjFaWEo1ZlNBa1ptbHNaVWx1Y0hWMElGUm9aU0JtYVd4bElHbHVjSFYwSUdWc1pXMWxiblFnZEc4Z1ltVWdkWEJzYjJGa1pXUXVYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTJwUmRXVnllUzVxY1ZoSVVuMWNibHgwSUNvdlhHNWNkSFZ3Ykc5aFpDZ2tabWxzWlVsdWNIVjBLU0I3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2drWm1sc1pVbHVjSFYwS1R0Y2JseDBYSFJjYmx4MFhIUmpiMjV6ZENCbWFXeGxjeUE5SUNSbWFXeGxTVzV3ZFhRdVoyVjBLREFwTG1acGJHVnpPMXh1WEhSY2RGeHVYSFJjZEdsbUlDaG1hV3hsY3k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmx4MFhIUmNkSFJvY205M0lHNWxkeUJGY25KdmNpZ25UbThnYVcxaFoyVWdabWxzWlhNZ2QyaGxjbVVnYzJWc1pXTjBaV1FnWm05eUlIVndiRzloWkM0bktUdGNibHgwWEhSOVhHNWNkRngwWEc1Y2RGeDBZMjl1YzNRZ1lXcGhlRlZ5YkNBOUlGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2RpWVhObFZYSnNKeWtnS3lBbkwyRndhUzV3YUhBdmRHVnRjR3hoZEdWekx5Y2dLeUJUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnbmRHVnRjR3hoZEdVbktWeHVYSFJjZEZ4MEt5QW5MMmx0WVdkbGN5Y2dLeUFvVTNSNWJHVkZaR2wwTGtOdmJtWnBaeTVuWlhRb0ozUm9aVzFsSnlrZ1B5QW5QM1JvWlcxbEp5QTZJQ2NuS1R0Y2JseDBYSFJjYmx4MFhIUWtabWxzWlVsdWNIVjBMbVpwYkdWMWNHeHZZV1FvZTF4dVhIUmNkRngwZFhKc09pQmhhbUY0VlhKc0xGeHVYSFJjZEZ4MFpHRjBZVlI1Y0dVNklDZHFjMjl1Snl4Y2JseDBYSFJjZEdGMWRHOVZjR3h2WVdRNklHWmhiSE5sTEZ4dVhIUmNkRngwWVdOalpYQjBSbWxzWlZSNWNHVnpPaUF2S0Z4Y0xueGNYQzhwS0hCdVozeHFjR2Q4YW5CbFozeG5hV1o4WW0xd0tTUXZhVnh1WEhSY2RIMHBPMXh1WEhSY2RGeHVYSFJjZEhKbGRIVnliaUFrWm1sc1pVbHVjSFYwTG1acGJHVjFjR3h2WVdRb0ozTmxibVFuTENCN1ptbHNaWE02SUdacGJHVnpmU2s3WEc1Y2RIMHNYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dSR1ZzWlhSbElHVjRhWE4wYVc1bklHbHRZV2RsTGx4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxTjBjbWx1WjMwZ1ptbHNaVzVoYldVZ1ZHaGxJR1pwYkdWdVlXMWxJSFJ2SUdKbElISmxiVzkyWldRZ0tHVXVaeTRnSjJsdFlXZGxMbkJ1WnljcExseHVYSFFnS2x4dVhIUWdLaUJBY21WMGRYSnVJSHRxVVhWbGNua3VhbkZZU0ZKOVhHNWNkQ0FxTDF4dVhIUmtaV3hsZEdVb1ptbHNaVzVoYldVcElIdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpVM1J5YVc1bktHWnBiR1Z1WVcxbEtUdGNibHgwWEhSY2JseDBYSFJqYjI1emRDQmhhbUY0VlhKc0lEMGdVM1I1YkdWRlpHbDBMa052Ym1acFp5NW5aWFFvSjJKaGMyVlZjbXduS1NBcklDY3ZZWEJwTG5Cb2NDOTBaVzF3YkdGMFpYTXZKeUFySUZOMGVXeGxSV1JwZEM1RGIyNW1hV2N1WjJWMEtDZDBaVzF3YkdGMFpTY3BYRzVjZEZ4MFhIUXJJQ2N2YVcxaFoyVnpMeWNnS3lCbGJtTnZaR1ZWVWtsRGIyMXdiMjVsYm5Rb1ptbHNaVzVoYldVcE8xeHVYSFJjZEZ4dVhIUmNkSEpsZEhWeWJpQkJhbUY0TG1SbGJHVjBaU2hoYW1GNFZYSnNMQ0I3ZEdobGJXVTZJRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0NkMGFHVnRaU2NwSUh4OElIVnVaR1ZtYVc1bFpIMHBPMXh1WEhSOVhHNTlJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdUR0Z1WjNWaFoyVkJjR2t1YW5NZ01qQXhPUzB3Tmkwd04xeHVJQ0JIWVcxaWFXOGdSMjFpU0Z4dUlDQm9kSFJ3T2k4dmQzZDNMbWRoYldKcGJ5NWtaVnh1SUNCRGIzQjVjbWxuYUhRZ0tHTXBJREl3TVRrZ1IyRnRZbWx2SUVkdFlraGNiaUFnVW1Wc1pXRnpaV1FnZFc1a1pYSWdkR2hsSUVkT1ZTQkhaVzVsY21Gc0lGQjFZbXhwWXlCTWFXTmxibk5sSUNoV1pYSnphVzl1SURJcFhHNGdJRnRvZEhSd09pOHZkM2QzTG1kdWRTNXZjbWN2YkdsalpXNXpaWE12WjNCc0xUSXVNQzVvZEcxc1hWeHVJQ0F0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMU292WEc1Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNXBiWEJ2Y25RZ1FXcGhlQ0JtY205dElDY3VMaTlzYVdKekwwRnFZWGduTzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCN1hHNWNkQzhxS2x4dVhIUWdLaUJIWlhRZ1UzUjViR1ZGWkdsMElGVkpJRlJ5WVc1emJHRjBhVzl1YzF4dVhIUWdLbHh1WEhRZ0tpQlVhR1VnYzNWalkyVnpjeUJqWVd4c1ltRmpheUIzYVd4c0lHTnZiblJoYVc0Z1lXNGdiMkpxWldOMElIZHBkR2dnZEdobElIUnlZVzV6YkdGMGFXOXVjeTVjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUd4aGJtZDFZV2RsUTI5a1pTQlVhR1VnU1ZOUElHTnZaR1VnYjJZZ2RHaGxJSFJ5WVc1emJHRjBhVzl1SUhSdklHSmxJR1psZEdOb1pXUXVYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTJwUmRXVnllUzVxY1ZoSVVuMWNibHgwSUNvdlhHNWNkR2RsZEZSeVlXNXpiR0YwYVc5dWN5aHNZVzVuZFdGblpVTnZaR1VwSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selUzUnlhVzVuS0d4aGJtZDFZV2RsUTI5a1pTazdYRzVjZEZ4MFkyOXVjM1FnWVdwaGVGVnliQ0E5SUZOMGVXeGxSV1JwZEM1RGIyNW1hV2N1WjJWMEtDZGlZWE5sVlhKc0p5a2dLeUFuTDJGd2FTNXdhSEF2YkdGdVozVmhaMlZ6THljZ0t5QnNZVzVuZFdGblpVTnZaR1U3WEc1Y2RGeDBjbVYwZFhKdUlFRnFZWGd1WjJWMEtHRnFZWGhWY213c0lIdDBhR1Z0WlRvZ1UzUjViR1ZGWkdsMExrTnZibVpwWnk1blpYUW9KM1JvWlcxbEp5a2dmSHdnZFc1a1pXWnBibVZrZlN3Z2UyUmhkR0ZVZVhCbE9pQW5hbk52YmlkOUtUdGNibHgwZlZ4dWZWeHVJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdVM1I1YkdWQmNHa3Vhbk1nTWpBeE9TMHdOaTB3TjF4dUlDQkhZVzFpYVc4Z1IyMWlTRnh1SUNCb2RIUndPaTh2ZDNkM0xtZGhiV0pwYnk1a1pWeHVJQ0JEYjNCNWNtbG5hSFFnS0dNcElESXdNVGtnUjJGdFltbHZJRWR0WWtoY2JpQWdVbVZzWldGelpXUWdkVzVrWlhJZ2RHaGxJRWRPVlNCSFpXNWxjbUZzSUZCMVlteHBZeUJNYVdObGJuTmxJQ2hXWlhKemFXOXVJRElwWEc0Z0lGdG9kSFJ3T2k4dmQzZDNMbWR1ZFM1dmNtY3ZiR2xqWlc1elpYTXZaM0JzTFRJdU1DNW9kRzFzWFZ4dUlDQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTb3ZYRzVjYmx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1cGJYQnZjblFnUVdwaGVDQm1jbTl0SUNjdUxpOXNhV0p6TDBGcVlYZ25PMXh1YVcxd2IzSjBJRXB6YjI1UVlYSnpaWElnWm5KdmJTQW5MaTR2YkdsaWN5OUtjMjl1VUdGeWMyVnlKenRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnZTF4dVhIUXZLaXBjYmx4MElDb2dSMlYwSUhOMGVXeGxJR1JoZEdFZ1lua2dibUZ0WlM1Y2JseDBJQ3BjYmx4MElDb2dRSEJoY21GdElIdFRkSEpwYm1kOUlITjBlV3hsVG1GdFpTQlVhR1VnYm1GdFpTQnZaaUIwYUdVZ2MzUjViR1VnZEc4Z1ltVWdjbVYwY21sbGRtVmtMbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0cVVYVmxjbmt1YW5GWVNGSjlYRzVjZENBcUwxeHVYSFJuWlhRb2MzUjViR1ZPWVcxbEtTQjdYRzVjZEZ4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMU4wY21sdVp5aHpkSGxzWlU1aGJXVXBPMXh1WEhSY2RGeHVYSFJjZEdOdmJuTjBJR0ZxWVhoVmNtd2dQU0JUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnblltRnpaVlZ5YkNjcElDc2dKeTloY0drdWNHaHdMM1JsYlhCc1lYUmxjeThuSUN0Y2JseDBYSFJjZEdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25kR1Z0Y0d4aGRHVW5LU2tnS3lBbkwzTjBlV3hsY3k4bklDdGNibHgwWEhSY2RHVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDaHpkSGxzWlU1aGJXVXBJQ3NnSno5c1lXNW5QU2NnSzF4dVhIUmNkRngwWlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwS0ZOMGVXeGxSV1JwZEM1RGIyNW1hV2N1WjJWMEtDZHNZVzVuZFdGblpVTnZaR1VuS1NrN1hHNWNkRngwWEc1Y2RGeDBjbVYwZFhKdUlFRnFZWGd1WjJWMEtHRnFZWGhWY213c0lIdDBhR1Z0WlRvZ1UzUjViR1ZGWkdsMExrTnZibVpwWnk1blpYUW9KM1JvWlcxbEp5a2dmSHdnZFc1a1pXWnBibVZrZlN3Z2UyUmhkR0ZVZVhCbE9pQW5hbk52YmlkOUtUdGNibHgwZlN4Y2JseDBYRzVjZEM4cUtseHVYSFFnS2lCSFpYUWdZV3hzSUhOMGVXeGxJR052Ym1acFozVnlZWFJwYjI1ekxseHVYSFFnS2x4dVhIUWdLaUJBY21WMGRYSnVJSHRxVVhWbGNua3VhbkZZU0ZKOVhHNWNkQ0FxTDF4dVhIUnNhWE4wS0NrZ2UxeHVYSFJjZEdOdmJuTjBJR0ZxWVhoVmNtd2dQU0JUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnblltRnpaVlZ5YkNjcElDc2dKeTloY0drdWNHaHdMM1JsYlhCc1lYUmxjeThuWEc1Y2RGeDBYSFFySUdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25kR1Z0Y0d4aGRHVW5LU2tnS3lBbkwzTjBlV3hsY3lkY2JseDBYSFJjZENzZ0p6OXNZVzVuUFNjZ0t5QmxibU52WkdWVlVrbERiMjF3YjI1bGJuUW9VM1I1YkdWRlpHbDBMa052Ym1acFp5NW5aWFFvSjJ4aGJtZDFZV2RsUTI5a1pTY3BLVHRjYmx4MFhIUnlaWFIxY200Z1FXcGhlQzVuWlhRb1lXcGhlRlZ5YkN3Z2UzUm9aVzFsT2lCVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25kR2hsYldVbktTQjhmQ0IxYm1SbFptbHVaV1I5TENCN1pHRjBZVlI1Y0dVNklDZHFjMjl1SjMwcE8xeHVYSFI5TEZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVGamRHbDJZWFJsSUZOMGVXeGxYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0J6ZEhsc1pVNWhiV1VnVkdobElHNWhiV1VnYjJZZ2RHaGxJSE4wZVd4bElIUnZJR0psSUdGamRHbDJZWFJsWkM1Y2JseDBJQ3BjYmx4MElDb2dRSEpsZEhWeWJpQjdhbEYxWlhKNUxtcHhXRWhTZlZ4dVhIUWdLaTljYmx4MFlXTjBhWFpoZEdVb2MzUjViR1ZPWVcxbEtTQjdYRzVjZEZ4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMU4wY21sdVp5aHpkSGxzWlU1aGJXVXBPMXh1WEhSY2RGeHVYSFJjZEdOdmJuTjBJR0ZxWVhoVmNtd2dQU0JUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnblltRnpaVlZ5YkNjcElDc2dKeTloY0drdWNHaHdMM1JsYlhCc1lYUmxjeThuWEc1Y2RGeDBYSFFySUdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25kR1Z0Y0d4aGRHVW5LU2xjYmx4MFhIUmNkQ3NnSnk5emRIbHNaWE12SnlBcklHVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDaHpkSGxzWlU1aGJXVXBJQ3NnSnk5aFkzUnBiMjV6TDJGamRHbDJZWFJsSnp0Y2JseDBYSFJjYmx4MFhIUnlaWFIxY200Z1FXcGhlQzV3WVhSamFDaGhhbUY0VlhKc0xDQjdkR2hsYldVNklGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2QwYUdWdFpTY3BJSHg4SUhWdVpHVm1hVzVsWkgwc0lIdGtZWFJoVkhsd1pUb2dKMnB6YjI0bmZTazdYRzVjZEgwc1hHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1EzSmxZWFJsSUU1bGR5QlRkSGxzWlZ4dVhIUWdLbHh1WEhRZ0tpQlVhR1VnYzNWalkyVnpjeUJqWVd4c1ltRmpheUIzYVd4c0lHTnZiblJoYVc0Z2RHaGxJRzVsZHlCemRIbHNaU0JrWVhSaElHRnpJSEpsYzNCdmJuTmxMbHh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMzBnWW05cGJHVnljR3hoZEdWT1lXMWxYRzVjZENBcUlFQndZWEpoYlNCN1UzUnlhVzVuZlNCdVpYZFRkSGxzWlU1aGJXVmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3YWxGMVpYSjVMbXB4V0VoU2ZWeHVYSFFnS2k5Y2JseDBZM0psWVhSbEtHSnZhV3hsY25Cc1lYUmxUbUZ0WlN3Z2JtVjNVM1I1YkdWT1lXMWxLU0I3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzFOMGNtbHVaeWhpYjJsc1pYSndiR0YwWlU1aGJXVXBPMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5UZEhKcGJtY29ibVYzVTNSNWJHVk9ZVzFsS1R0Y2JseDBYSFJjYmx4MFhIUmpiMjV6ZENCaGFtRjRWWEpzSUQwZ1UzUjViR1ZGWkdsMExrTnZibVpwWnk1blpYUW9KMkpoYzJWVmNtd25LU0FySUNjdllYQnBMbkJvY0M5MFpXMXdiR0YwWlhNdkoxeHVYSFJjZEZ4MEt5QmxibU52WkdWVlVrbERiMjF3YjI1bGJuUW9VM1I1YkdWRlpHbDBMa052Ym1acFp5NW5aWFFvSjNSbGJYQnNZWFJsSnlrcElDc2dKeTl6ZEhsc1pYTW5PMXh1WEhSY2RHTnZibk4wSUdSaGRHRWdQU0I3WEc1Y2RGeDBYSFJpYjJsc1pYSndiR0YwWlY5dVlXMWxPaUJpYjJsc1pYSndiR0YwWlU1aGJXVXNYRzVjZEZ4MFhIUnVaWGRmYzNSNWJHVmZibUZ0WlRvZ2JtVjNVM1I1YkdWT1lXMWxMRnh1WEhSY2RGeDBkR2hsYldVNklGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2QwYUdWdFpTY3BJSHg4SUhWdVpHVm1hVzVsWkZ4dVhIUmNkSDA3WEc1Y2RGeDBYRzVjZEZ4MGNtVjBkWEp1SUVGcVlYZ3VjRzl6ZENoaGFtRjRWWEpzTENCa1lYUmhMQ0I3WkdGMFlWUjVjR1U2SUNkcWMyOXVKMzBwTzF4dVhIUjlMRnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRk5oZG1VZ1UzUjViR1ZjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRIbHNaVU52Ym1acFozVnlZWFJwYjI1OUlITjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpQkRiMjUwWVdsdWN5QjBhR1VnYzNSNWJHVWdZMjl1Wm1sbmRYSmhkR2x2YmlCa1lYUmhMbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxTjBjbWx1WjMwZ2RHVnRjRk4wZVd4bFRtRnRaU0JQY0hScGIyNWhiQ3dnYVdZZ2NISnZkbWxrWldRZ2FYUWdkMmxzYkNCeVpYQnNZV05sSUhSb1pTQnZjbWxuYVc1aGJDQnpkSGxzWlNCdVlXMWxJQ2gxYzJWa0lHWnZjaUJ3Y21WMmFXVjNLUzVjYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN2FsRjFaWEo1TG1weFdFaFNmVnh1WEhRZ0tpOWNibHgwYzJGMlpTaHpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHNJSFJsYlhCVGRIbHNaVTVoYldVcElIdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpUMkpxWldOMEtITjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpazdYRzVjZEZ4MFhHNWNkRngwWTI5dWMzUWdjM1I1YkdWT1lXMWxJRDBnZEdWdGNGTjBlV3hsVG1GdFpTQjhmQ0J6ZEhsc1pVTnZibVpwWjNWeVlYUnBiMjR1WjJWMFRtRnRaU2dwTzF4dVhIUmNkR052Ym5OMElHRnFZWGhWY213Z1BTQlRkSGxzWlVWa2FYUXVRMjl1Wm1sbkxtZGxkQ2duWW1GelpWVnliQ2NwSUNzZ0p5OWhjR2t1Y0dod0wzUmxiWEJzWVhSbGN5OG5YRzVjZEZ4MFhIUXJJR1Z1WTI5a1pWVlNTVU52YlhCdmJtVnVkQ2hUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnbmRHVnRjR3hoZEdVbktTa2dLeUFuTDNOMGVXeGxjeThuWEc1Y2RGeDBYSFFySUdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoemRIbHNaVTVoYldVcE8xeHVYSFJjZEdOdmJuTjBJR1JoZEdFZ1BTQktjMjl1VUdGeWMyVnlMbVZ1WTI5a1pWTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpaHpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHNJR1poYkhObEtUdGNibHgwWEhSY2JseDBYSFJwWmlBb2RHVnRjRk4wZVd4bFRtRnRaU2tnZTF4dVhIUmNkRngwWkdGMFlTNXVZVzFsSUQwZ2RHVnRjRk4wZVd4bFRtRnRaVHRjYmx4MFhIUjlYRzVjZEZ4MFhHNWNkRngwY21WMGRYSnVJRUZxWVhndWNIVjBLR0ZxWVhoVmNtd3NJSHR6ZEhsc1pWOXFjMjl1T2lCS1UwOU9Mbk4wY21sdVoybG1lU2hrWVhSaEtTd2dkR2hsYldVNklGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2QwYUdWdFpTY3BJSHg4SUhWdVpHVm1hVzVsWkgwc0lIdGtZWFJoVkhsd1pUb2dKMnB6YjI0bmZTazdYRzVjZEgwc1hHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1JHVnNaWFJsSUVWNGFYTjBhVzVuSUZOMGVXeGxYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0J6ZEhsc1pVNWhiV1ZjYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN2FsRjFaWEo1TG1weFdFaFNmVnh1WEhRZ0tpOWNibHgwWkdWc1pYUmxLSE4wZVd4bFRtRnRaU2tnZTF4dVhIUmNkRk4wZVd4bFJXUnBkQzVXWVd4cFpHRjBiM0l1YVhOVGRISnBibWNvYzNSNWJHVk9ZVzFsS1R0Y2JseDBYSFJjYmx4MFhIUmpiMjV6ZENCaGFtRjRWWEpzSUQwZ1UzUjViR1ZGWkdsMExrTnZibVpwWnk1blpYUW9KMkpoYzJWVmNtd25LU0FySUNjdllYQnBMbkJvY0M5MFpXMXdiR0YwWlhNdkoxeHVYSFJjZEZ4MEt5QmxibU52WkdWVlVrbERiMjF3YjI1bGJuUW9VM1I1YkdWRlpHbDBMa052Ym1acFp5NW5aWFFvSjNSbGJYQnNZWFJsSnlrcElDc2dKeTl6ZEhsc1pYTXZKeUFySUdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoemRIbHNaVTVoYldVcE8xeHVYSFJjZEZ4dVhIUmNkSEpsZEhWeWJpQkJhbUY0TG1SbGJHVjBaU2hoYW1GNFZYSnNMQ0I3ZEdobGJXVTZJRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0NkMGFHVnRaU2NwSUh4OElIVnVaR1ZtYVc1bFpIMHNJSHRrWVhSaFZIbHdaVG9nSjJwemIyNG5mU2s3WEc1Y2RIMHNYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dSSFZ3YkdsallYUmxJRk4wZVd4bFhHNWNkQ0FxWEc1Y2RDQXFJRlJvWlNCemRXTmpaWE56SUdOaGJHeGlZV05ySUhkcGJHd2dZMjl1ZEdGcGJpQjBhR1VnYm1WM0lITjBlV3hsSUdSaGRHRXVYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0J2YkdSVGRIbHNaVTVoYldWY2JseDBJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJRzVsZDFOMGVXeGxUbUZ0WlZ4dVhIUWdLbHh1WEhRZ0tpQkFjbVYwZFhKdUlIdHFVWFZsY25rdWFuRllTRko5WEc1Y2RDQXFMMXh1WEhSa2RYQnNhV05oZEdVb2IyeGtVM1I1YkdWT1lXMWxMQ0J1WlhkVGRIbHNaVTVoYldVcElIdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpVM1J5YVc1bktHOXNaRk4wZVd4bFRtRnRaU2s3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzFOMGNtbHVaeWh1WlhkVGRIbHNaVTVoYldVcE8xeHVYSFJjZEZ4dVhIUmNkR052Ym5OMElHRnFZWGhWY213Z1BTQlRkSGxzWlVWa2FYUXVRMjl1Wm1sbkxtZGxkQ2duWW1GelpWVnliQ2NwSUNzZ0p5OWhjR2t1Y0dod0wzUmxiWEJzWVhSbGN5OG5YRzVjZEZ4MFhIUXJJR1Z1WTI5a1pWVlNTVU52YlhCdmJtVnVkQ2hUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnbmRHVnRjR3hoZEdVbktTbGNibHgwWEhSY2RDc2dKeTl6ZEhsc1pYTXZKeUFySUdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENodmJHUlRkSGxzWlU1aGJXVXBPMXh1WEhSY2RHTnZibk4wSUdSaGRHRWdQU0I3WEc1Y2RGeDBYSFJ1WlhkZmMzUjViR1ZmYm1GdFpUb2dibVYzVTNSNWJHVk9ZVzFsTEZ4dVhIUmNkRngwZEdobGJXVTZJRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0NkMGFHVnRaU2NwSUh4OElIVnVaR1ZtYVc1bFpGeHVYSFJjZEgwN1hHNWNkRngwWEc1Y2RGeDBjbVYwZFhKdUlFRnFZWGd1Y0c5emRDaGhhbUY0VlhKc0xDQmtZWFJoTENCN1pHRjBZVlI1Y0dVNklDZHFjMjl1SjMwcE8xeHVYSFI5WEc1OVhHNGlMQ0l2S2lBdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFZ4dUlDQlZjMlZ5UVhCcExtcHpJREl3TVRrdE1EWXRNRGRjYmlBZ1IyRnRZbWx2SUVkdFlraGNiaUFnYUhSMGNEb3ZMM2QzZHk1bllXMWlhVzh1WkdWY2JpQWdRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTVJRWRoYldKcGJ5QkhiV0pJWEc0Z0lGSmxiR1ZoYzJWa0lIVnVaR1Z5SUhSb1pTQkhUbFVnUjJWdVpYSmhiQ0JRZFdKc2FXTWdUR2xqWlc1elpTQW9WbVZ5YzJsdmJpQXlLVnh1SUNCYmFIUjBjRG92TDNkM2R5NW5iblV1YjNKbkwyeHBZMlZ1YzJWekwyZHdiQzB5TGpBdWFIUnRiRjFjYmlBZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwcUwxeHVYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1YVcxd2IzSjBJRUZxWVhnZ1puSnZiU0FuTGk0dmJHbGljeTlCYW1GNEp6dGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdlMXh1WEhRdktpcGNibHgwSUNvZ1ZHVnliV2x1WVhSbElIUm9aU0JUZEhsc1pVVmthWFF6SUhObGMzTnBiMjR1WEc1Y2RDQXFYRzVjZENBcUlFQnlaWFIxY200Z2UycFJkV1Z5ZVM1cWNWaElVbjFjYmx4MElDb3ZYRzVjZEd4dloyOTFkQ2dwSUh0Y2JseDBYSFJqYjI1emRDQmhhbUY0VlhKc0lEMGdVM1I1YkdWRlpHbDBMa052Ym1acFp5NW5aWFFvSjJKaGMyVlZjbXduS1NBcklDY3ZZWEJwTG5Cb2NDOXNiMmR2ZFhRbk8xeHVYSFJjZEhKbGRIVnliaUJCYW1GNExuQnZjM1FvWVdwaGVGVnliQ3dnZTNSb1pXMWxPaUJUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnbmRHaGxiV1VuS1NCOGZDQjFibVJsWm1sdVpXUjlLVHRjYmx4MGZWeHVmVnh1SWl3aUx5b2dMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMWNiaUFnUTNKbFlYUmxVM1I1YkdWTmIyUmhiQzVxY3lBeU1ERTVMVEEyTFRBM1hHNGdJRWRoYldKcGJ5QkhiV0pJWEc0Z0lHaDBkSEE2THk5M2QzY3VaMkZ0WW1sdkxtUmxYRzRnSUVOdmNIbHlhV2RvZENBb1l5a2dNakF4T1NCSFlXMWlhVzhnUjIxaVNGeHVJQ0JTWld4bFlYTmxaQ0IxYm1SbGNpQjBhR1VnUjA1VklFZGxibVZ5WVd3Z1VIVmliR2xqSUV4cFkyVnVjMlVnS0ZabGNuTnBiMjRnTWlsY2JpQWdXMmgwZEhBNkx5OTNkM2N1WjI1MUxtOXlaeTlzYVdObGJuTmxjeTluY0d3dE1pNHdMbWgwYld4ZFhHNGdJQzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRLaTljYmx4dVhHNHZLaUJuYkc5aVlXeHpJQzFOYjJSaGJDQXFMMXh1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm1sdGNHOXlkQ0JOYjJSaGJDQm1jbTl0SUNjdUxpOXNhV0p6TDAxdlpHRnNKenNnWEc1cGJYQnZjblFnUlhabGJuUnpSVzFwZEhSbGNpQm1jbTl0SUNjdUxpOXNhV0p6TDBWMlpXNTBjMFZ0YVhSMFpYSW5PeUJjYm1sdGNHOXlkQ0JUZEhsc1pVRndhU0JtY205dElDY3VMaTloY0drdlUzUjViR1ZCY0drbk95QmNibWx0Y0c5eWRDQkNiMmxzWlhKd2JHRjBaVUZ3YVNCbWNtOXRJQ2N1TGk5aGNHa3ZRbTlwYkdWeWNHeGhkR1ZCY0drbk8xeHVYRzR2S2lwY2JpQXFJRU55WldGMFpTQlRkSGxzWlNCTVlYbGxjaUJEYjI1MGNtOXNiR1Z5WEc0Z0tseHVJQ29nVkdocGN5QmpiR0Z6Y3lCcGN5QnlaWE53YjI1emFXSnNaU0JtYjNJZ2RHaGxJRzl3WlhKaGRHbHZiaUJ2WmlCMGFHVWdibVYzSUhOMGVXeGxJR055WldGMGFXOXVMaUJQYm1ObElIUm9aU0J6ZEhsc1pTQnBjMXh1SUNvZ1kzSmxZWFJsWkNCMGFHbHpJR052Ym5SeWIyeHNaWElnZDJsc2JDQjBjbWxuWjJWeUlIUm9aU0JjSWxOMGVXeGxSV1JwZEM1T1pYZFRkSGxzWlZ3aUlHVjJaVzUwSUhOdklIUm9ZWFFnYjNSb1pYSWdZMjl1ZEhKdmJHeGxjbk5jYmlBcUlISmxZV04wSUdGalkyOXlaR2x1WjJ4NUxseHVJQ292WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JqYkdGemN5QkRjbVZoZEdWVGRIbHNaVTF2WkdGc0lIdGNibHgwTHlvcVhHNWNkQ0FxSUVOc1lYTnpJRU52Ym5OMGNuVmpkRzl5SUZ4dVhIUWdLaTljYmx4MFkyOXVjM1J5ZFdOMGIzSW9LU0I3WEc1Y2RGeDBMeW9xWEc1Y2RGeDBJQ29nVFc5a1lXd2dVMlZzWldOMGIzSmNibHgwWEhRZ0tseHVYSFJjZENBcUlFQjBlWEJsSUh0cVVYVmxjbmw5WEc1Y2RGeDBJQ292WEc1Y2RGeDBkR2hwY3k0a2JXOWtZV3dnUFNCdWRXeHNPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1NXNXBkR2xoYkdsNlpTQkRiMjUwY205c2JHVnlYRzVjZENBcVhHNWNkQ0FxSUVabGRHTm9JSFJvWlNCaGRtRnBiR0ZpYkdVZ1ltOXBiR1Z5Y0d4aGRHVnpJR0Z1WkNCa2FYTndiR0Y1SUhSb1pXMGdhVzRnWVNCdGIyUmhiQzVjYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN2FsRjFaWEo1TGxCeWIyMXBjMlY5SUZkcGJHd2dZbVVnY21WemIyeDJaV1FnYjI1alpTQjBhR1VnYldWMGFHOWtJR2x6SUhKbFlXUjVMbHh1WEhRZ0tpOWNibHgwYVc1cGRHbGhiR2w2WlNncElIdGNibHgwWEhSamIyNXpkQ0JrWldabGNuSmxaQ0E5SUNRdVJHVm1aWEp5WldRb0tUdGNibHgwWEhSY2JseDBYSFJDYjJsc1pYSndiR0YwWlVGd2FTNXNhWE4wS0NrdVpHOXVaU2dvWW05cGJHVnljR3hoZEdWektTQTlQaUI3WEc1Y2RGeDBYSFJqYjI1emRDQmtZWFJoSUQwZ2UxeHVYSFJjZEZ4MFhIUjBhWFJzWlY5amNtVmhkR1ZmYzNSNWJHVmZiVzlrWVd3NklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KM1JwZEd4bFgyTnlaV0YwWlY5emRIbHNaVjl0YjJSaGJDY3NJQ2R6ZEhsc1pWOWxaR2wwSnlrc1hHNWNkRngwWEhSY2RIQnNZV05sYUc5c1pHVnlYM04wZVd4bFgyNWhiV1U2SUZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0ozQnNZV05sYUc5c1pHVnlYM04wZVd4bFgyNWhiV1VuTENBbmMzUjViR1ZmWldScGRDY3BMRnh1WEhSY2RGeDBYSFJ2Y0hScGIyNWZZM0psWVhSbE9pQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZZM0psWVhSbEp5d2dKM04wZVd4bFgyVmthWFFuS1N4Y2JseDBYSFJjZEZ4MGIzQjBhVzl1WDJOaGJtTmxiRG9nVTNSNWJHVkZaR2wwTGt4aGJtZDFZV2RsTG5SeVlXNXpiR0YwWlNnbmIzQjBhVzl1WDJOaGJtTmxiQ2NzSUNkemRIbHNaVjlsWkdsMEp5a3NYRzVjZEZ4MFhIUmNkRzFsYzNOaFoyVmZZM0psWVhSbFgzTjBlV3hsWDJocGJuUTZJRk4wZVd4bFJXUnBkQzVNWVc1bmRXRm5aUzUwY21GdWMyeGhkR1VvSjIxbGMzTmhaMlZmWTNKbFlYUmxYM04wZVd4bFgyaHBiblFuTENBbmMzUjViR1ZmWldScGRDY3BMRnh1WEhSY2RGeDBYSFJoZG1GcGJHRmliR1ZmWW05cGJHVnljR3hoZEdWek9pQmliMmxzWlhKd2JHRjBaWE11WTI5dVptbG5MRnh1WEhSY2RGeDBYSFIwWlcxd2JHRjBaVG9nVTNSNWJHVkZaR2wwTGtOdmJtWnBaeTVuWlhRb0ozUmxiWEJzWVhSbEp5a3NYRzVjZEZ4MFhIUmNkSE4wZVd4bGMxOWlZWE5sWDNCaGRHZzZJRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0NkMGFHVnRaU2NwSUQ4Z0p5NHVMM0IxWW14cFl5OTBhR1Z0WlM5emRIbHNaWE12YzNSNWJHVmxaR2wwTHljZ09pQW5kR1Z0Y0d4aGRHVnpMeWNnS3lCVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25kR1Z0Y0d4aGRHVW5LU0FySUNjdkoxeHVYSFJjZEZ4MGZUdGNibHgwWEhSY2RGeHVYSFJjZEZ4MFUzUjViR1ZGWkdsMExreGhibWQxWVdkbExtRmtaRk5sWTNScGIyNG9KM1JsYlhCc1lYUmxKeXdnWW05cGJHVnljR3hoZEdWekxteGhibWNwTzF4dVhIUmNkRngwWEc1Y2RGeDBYSFFrTG1WaFkyZ29aR0YwWVM1aGRtRnBiR0ZpYkdWZlltOXBiR1Z5Y0d4aGRHVnpMQ0FvYVc1a1pYZ3NJR0p2YVd4bGNuQnNZWFJsS1NBOVBpQjdYRzVjZEZ4MFhIUmNkR0p2YVd4bGNuQnNZWFJsTG5ScGRHeGxJRDBnVTNSNWJHVkZaR2wwTGt4aGJtZDFZV2RsTG5SeVlXNXpiR0YwWlNoaWIybHNaWEp3YkdGMFpTNXVZVzFsTENBbmRHVnRjR3hoZEdVbktUdGNibHgwWEhSY2RIMHBPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUjBhR2x6TGlSdGIyUmhiQ0E5SUUxdlpHRnNMbk5vYjNjb0pDZ25JMk55WldGMFpTMXpkSGxzWlMxdGIyUmhiQzEwWlcxd2JHRjBaU2NwTENCa1lYUmhLVHRjYmx4MFhIUmNkSFJvYVhNdVgySnBibVJGZG1WdWRFaGhibVJzWlhKektDazdYRzVjZEZ4MFhIUmNibHgwWEhSY2RDOHZJRVp2WTNWeklITjBlV3hsTFc1aGJXVWdhVzV3ZFhRZ1ptbGxiR1JjYmx4MFhIUmNkSFJvYVhNdUpHMXZaR0ZzTG1acGJtUW9KMmx1Y0hWMFcyNWhiV1U5WENKemRIbHNaUzF1WVcxbFhDSmRKeWt1Wm05amRYTW9LVHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBMeThnVTJWc1pXTjBJSFJvWlNCbWFYSnpkQ0JpYjJsc1pYSndiR0YwWlNCdlppQjBhR1VnYlc5a1lXd3VJRnh1WEhSY2RGeDBkR2hwY3k0a2JXOWtZV3d1Wm1sdVpDZ25MbUp2YVd4bGNuQnNZWFJsY3lBdWNISmxkbWxsZHkxcGRHVnRPbVpwY25OMEp5a3VZV1JrUTJ4aGMzTW9KM05sYkdWamRHVmtKeWs3WEc1Y2RGeDBYSFJjYmx4MFhIUmNkR1JsWm1WeWNtVmtMbkpsYzI5c2RtVW9LVHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBSWFpsYm5SelJXMXBkSFJsY2k1MGNtbG5aMlZ5UTI5dWRISnZiR3hsY2tsdWFYUnBZV3hwZW1Wa0tIUm9hWE11SkcxdlpHRnNMQ0JiSjBOeVpXRjBaVk4wZVd4bFRXOWtZV3duWFNrN1hHNWNkRngwWEhSY2JseDBYSFJjZENRdWJXRjBaWEpwWVd3dWFXNXBkQ2dwTzF4dVhIUmNkSDBwTzF4dVhIUmNkRnh1WEhSY2RISmxkSFZ5YmlCa1pXWmxjbkpsWkM1d2NtOXRhWE5sS0NrN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJFWlhOMGNtOTVJRU52Ym5SeWIyeHNaWEpjYmx4MElDcGNibHgwSUNvZ1NHbGtaU0IwYUdVZ1kzSmxZWFJsTFhOMGVXeGxJRzF2WkdGc0xseHVYSFFnS2k5Y2JseDBaR1Z6ZEhKdmVTZ3BJSHRjYmx4MFhIUk5iMlJoYkM1b2FXUmxLSFJvYVhNdUpHMXZaR0ZzS1R0Y2JseDBYSFJGZG1WdWRITkZiV2wwZEdWeUxuUnlhV2RuWlhKRGIyNTBjbTlzYkdWeVJHVnpkSEp2ZVdWa0tIUm9hWE11SkcxdlpHRnNMQ0JiSjBOeVpXRjBaVk4wZVd4bFRXOWtZV3duWFNrN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJGZG1WdWREb2dRMnhwWTJzZ1kzSmxZWFJsSUdKMWRIUnZiaTVjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0cVVYVmxjbmt1UlhabGJuUjlJR1YyWlc1MFhHNWNkQ0FxWEc1Y2RDQXFJRUJ3Y21sMllYUmxYRzVjZENBcUwxeHVYSFJmYjI1RGJHbGphME55WldGMFpTaGxkbVZ1ZENrZ2UxeHVYSFJjZEdOdmJuTjBJQ1JsYkdWdFpXNTBJRDBnSkNobGRtVnVkQzVqZFhKeVpXNTBWR0Z5WjJWMEtUdGNibHgwWEhSamIyNXpkQ0FrYm1WM1UzUjViR1ZPWVcxbElEMGdkR2hwY3k0a2JXOWtZV3d1Wm1sdVpDZ25hVzV3ZFhSYmJtRnRaVDFjSW5OMGVXeGxMVzVoYldWY0lsMG5LVHRjYmx4MFhIUmNibHgwWEhRa2JtVjNVM1I1YkdWT1lXMWxMbkJoY21WdWRDZ3BMbkpsYlc5MlpVTnNZWE56S0Nkb1lYTXRaWEp5YjNJbktUdGNibHgwWEhSY2JseDBYSFJwWmlBb0pHNWxkMU4wZVd4bFRtRnRaUzUyWVd3b0tTQTlQVDBnSnljcElIdGNibHgwWEhSY2RDUnVaWGRUZEhsc1pVNWhiV1V1Y0dGeVpXNTBLQ2t1WVdSa1EyeGhjM01vSjJoaGN5MWxjbkp2Y2ljcE8xeHVYSFJjZEZ4MEpHNWxkMU4wZVd4bFRtRnRaUzVtYjJOMWN5Z3BPMXh1WEhSY2RGeDBjbVYwZFhKdU8xeHVYSFJjZEgxY2JseDBYSFJjYmx4MFhIUmpiMjV6ZENCaWIybHNaWEp3YkdGMFpVNWhiV1VnUFNCMGFHbHpMaVJ0YjJSaGJDNW1hVzVrS0NjdVltOXBiR1Z5Y0d4aGRHVnpJQzV3Y21WMmFXVjNMV2wwWlcwdWMyVnNaV04wWldRZ2FXMW5KeWt1WVhSMGNpZ25aR0YwWVMxdVlXMWxKeWs3WEc1Y2RGeDBZMjl1YzNRZ2JtVjNVM1I1YkdWT1lXMWxJRDBnSkc1bGQxTjBlV3hsVG1GdFpTNTJZV3dvS1R0Y2JseDBYSFJjYmx4MFhIUlRkSGxzWlVGd2FTNWpjbVZoZEdVb1ltOXBiR1Z5Y0d4aGRHVk9ZVzFsTENCdVpYZFRkSGxzWlU1aGJXVXBMbVJ2Ym1Vb0tISmxjM0J2Ym5ObEtTQTlQaUI3WEc1Y2RGeDBYSFJGZG1WdWRITkZiV2wwZEdWeUxuUnlhV2RuWlhKVGRIbHNaVU55WldGMFpXUW9KR1ZzWlcxbGJuUXNJRnR5WlhOd2IyNXpaVjBwTzF4dVhIUmNkRngwVFc5a1lXd3VhR2xrWlNoMGFHbHpMaVJ0YjJSaGJDazdYRzVjZEZ4MGZTazdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRmRtVnVkRG9nUTJ4cFkyc2dZMkZ1WTJWc0lHSjFkSFJ2Ymk1Y2JseDBJQ3BjYmx4MElDb2dWMmxzYkNCb2FXUmxJSFJvWlNCa2FYTndiR0Y1WldRZ2JXOWtZV3d1WEc1Y2RDQXFYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZiMjVEYkdsamEwTmhibU5sYkNncElIdGNibHgwWEhSTmIyUmhiQzVvYVdSbEtIUm9hWE11SkcxdlpHRnNLVHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFVjJaVzUwT2lCRGJHbGpheUJpYjJsc1pYSndiR0YwWlNCd2NtVjJhV1YzSUdsdFlXZGxMbHh1WEhRZ0tseHVYSFFnS2lCWGFHVnVaWFpsY2lCMGFHVWdkWE5sY2lCamJHbGphM01nYjI0Z2RHaGxJR0p2YVd4bGNuQnNZWFJsSUhCeVpYWnBaWGNnYVcxaFoyVWdkR2hsSUZ3aWMyVnNaV04wWldSY0lpQmpiR0Z6Y3lCdGRYTjBYRzVjZENBcUlHSmxJR05vWVc1blpXUXVYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3YWxGMVpYSjVMa1YyWlc1MGZTQmxkbVZ1ZEZ4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMjl1UTJ4cFkydENiMmxzWlhKd2JHRjBaVkJ5WlhacFpYY29aWFpsYm5RcElIdGNibHgwWEhSMGFHbHpMaVJ0YjJSaGJDNW1hVzVrS0NjdVltOXBiR1Z5Y0d4aGRHVnpJQzV3Y21WMmFXVjNMV2wwWlcwdWMyVnNaV04wWldRbktTNXlaVzF2ZG1WRGJHRnpjeWduYzJWc1pXTjBaV1FuS1R0Y2JseDBYSFFrS0dWMlpXNTBMbU4xY25KbGJuUlVZWEpuWlhRcExuQmhjbVZ1ZENncExtRmtaRU5zWVhOektDZHpaV3hsWTNSbFpDY3BPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1FtbHVaQ0JGZG1WdWRDQklZVzVrYkdWeWMxeHVYSFFnS2x4dVhIUWdLaUJBY0hKcGRtRjBaVnh1WEhRZ0tpOWNibHgwWDJKcGJtUkZkbVZ1ZEVoaGJtUnNaWEp6S0NrZ2UxeHVYSFJjZEhSb2FYTXVKRzF2WkdGc1hHNWNkRngwWEhRdWIyNG9KMk5zYVdOckp5d2dKeTVpZEc0dVkzSmxZWFJsSnl3Z1pYWmxiblFnUFQ0Z2RHaHBjeTVmYjI1RGJHbGphME55WldGMFpTaGxkbVZ1ZENrcFhHNWNkRngwWEhRdWIyNG9KMk5zYVdOckp5d2dKeTVpZEc0dVkyRnVZMlZzSnl3Z0tDa2dQVDRnZEdocGN5NWZiMjVEYkdsamEwTmhibU5sYkNncEtWeHVYSFJjZEZ4MExtOXVLQ2RqYkdsamF5Y3NJQ2N1WW05cGJHVnljR3hoZEdWeklDNXdjbVYyYVdWM0xXbDBaVzBnYVcxbkp5d2daWFpsYm5RZ1BUNGdkR2hwY3k1ZmIyNURiR2xqYTBKdmFXeGxjbkJzWVhSbFVISmxkbWxsZHlobGRtVnVkQ2twTzF4dVhIUjlYRzU5WEc0aUxDSXZLaUF0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMVnh1SUNCRGRYTjBiMjFUZEhsc1pYTk5iMlJoYkM1cWN5QXlNREU1TFRBMkxUQTNYRzRnSUVkaGJXSnBieUJIYldKSVhHNGdJR2gwZEhBNkx5OTNkM2N1WjJGdFltbHZMbVJsWEc0Z0lFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE9TQkhZVzFpYVc4Z1IyMWlTRnh1SUNCU1pXeGxZWE5sWkNCMWJtUmxjaUIwYUdVZ1IwNVZJRWRsYm1WeVlXd2dVSFZpYkdsaklFeHBZMlZ1YzJVZ0tGWmxjbk5wYjI0Z01pbGNiaUFnVzJoMGRIQTZMeTkzZDNjdVoyNTFMbTl5Wnk5c2FXTmxibk5sY3k5bmNHd3RNaTR3TG1oMGJXeGRYRzRnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0S2k5Y2JseHVYRzR2S2lCbmJHOWlZV3h6SUVOdlpHVk5hWEp5YjNJc0lDMU5iMlJoYkNBcUwxeHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNibWx0Y0c5eWRDQkZkbVZ1ZEhORmJXbDBkR1Z5SUdaeWIyMGdKeTR1TDJ4cFluTXZSWFpsYm5SelJXMXBkSFJsY2ljN1hHNXBiWEJ2Y25RZ1RXOWtZV3dnWm5KdmJTQW5MaTR2YkdsaWN5OU5iMlJoYkNjN1hHNWNiaThxS2x4dUlDb2dRM1Z6ZEc5dElGTjBlV3hsY3lCTmIyUmhiQ0JEYjI1MGNtOXNiR1Z5WEc0Z0tseHVJQ29nVkdocGN5QmpiMjUwY205c2JHVnlJR2hoYm1Sc1pYTWdkR2hsSUdaMWJtTjBhVzl1WVd4cGRIa2diMllnZEdobElGd2lRM1Z6ZEc5dElGTjBlV3hsYzF3aUlHMXZaR0ZzSUdScFlXeHZaeUIzYUdWeVpTQjBhR1ZjYmlBcUlIVnpaWElnYVhNZ1lXSnNaU0IwYnlCM2NtbDBaU0JqZFhOMGIyMGdRMU5USUc5eUlGTkJVMU1nZEdoaGRDQnBjeUJuYjJsdVp5QjBieUJpWlNCcGJtTnNkV1JsWkNCcGJpQjBhR1VnZEdWdGNHeGhkR1V1WEc0Z0tpOWNibVY0Y0c5eWRDQmtaV1poZFd4MElHTnNZWE56SUVOMWMzUnZiVk4wZVd4bGMwMXZaR0ZzSUh0Y2JseDBMeW9xWEc1Y2RDQXFJRU5zWVhOeklFTnZibk4wY25WamRHOXlJRnh1WEhRZ0tpQmNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUdOMWMzUnZiVk4wZVd4bGN5QkRiMjUwWVdsdWN5QjBhR1VnWTNWemRHOXRJSE4wZVd4bGN5NWNibHgwSUNvdlhHNWNkR052Ym5OMGNuVmpkRzl5S0dOMWMzUnZiVk4wZVd4bGN5a2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5UZEhKcGJtY29ZM1Z6ZEc5dFUzUjViR1Z6S1R0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJOYjJSaGJDQlRaV3hsWTNSdmNseHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTJwUmRXVnllWDFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TGlSdGIyUmhiQ0E5SUc1MWJHdzdYRzVjZEZ4MFhHNWNkRngwTHlvcVhHNWNkRngwSUNvZ1EzVnpkRzl0SUZOMGVXeGxjMXh1WEhSY2RDQXFYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UxTjBjbWx1WjMxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxtTjFjM1J2YlZOMGVXeGxjeUE5SUdOMWMzUnZiVk4wZVd4bGN6dGNibHgwWEhSY2JseDBYSFF2S2lwY2JseDBYSFFnS2lCRGIyUmxUV2x5Y205eUlFbHVjM1JoYm1ObFhHNWNkRngwSUNwY2JseDBYSFFnS2lCQWRIbHdaU0I3UTI5a1pVMXBjbkp2Y24xY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxtTnZaR1ZGWkdsMGIzSWdQU0J1ZFd4c08xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nU1c1cGRHbGhiR2w2WlNCRGIyNTBjbTlzYkdWeVhHNWNkQ0FxTDF4dVhIUnBibWwwYVdGc2FYcGxLQ2tnZTF4dVhIUmNkR052Ym5OMElHUmhkR0VnUFNCN1hHNWNkRngwWEhSMGFYUnNaVjlqZFhOMGIyMWZjM1I1YkdWelgyMXZaR0ZzT2lCVGRIbHNaVVZrYVhRdVRHRnVaM1ZoWjJVdWRISmhibk5zWVhSbEtDZDBhWFJzWlY5amRYTjBiMjFmYzNSNWJHVnpYMjF2WkdGc0p5d2dKM04wZVd4bFgyVmthWFFuS1N4Y2JseDBYSFJjZEc5d2RHbHZibDl6WVhabE9pQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZjMkYyWlNjc0lDZHpkSGxzWlY5bFpHbDBKeWtzWEc1Y2RGeDBYSFJ2Y0hScGIyNWZZWEJ3YkhrNklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KMjl3ZEdsdmJsOWhjSEJzZVNjc0lDZHpkSGxzWlY5bFpHbDBKeWtzWEc1Y2RGeDBYSFJ2Y0hScGIyNWZZMkZ1WTJWc09pQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZZMkZ1WTJWc0p5d2dKM04wZVd4bFgyVmthWFFuS1N4Y2JseDBYSFJjZEdOMWMzUnZiVjl6ZEhsc1pYTTZJSFJvYVhNdVkzVnpkRzl0VTNSNWJHVnpYRzVjZEZ4MGZUdGNibHgwWEhSY2JseDBYSFIwYUdsekxpUnRiMlJoYkNBOUlFMXZaR0ZzTG5Ob2IzY29KQ2duSTJOMWMzUnZiUzF6ZEhsc1pYTXRiVzlrWVd3dGRHVnRjR3hoZEdVbktTd2daR0YwWVNrN1hHNWNkRngwZEdocGN5NGtiVzlrWVd3dVptbHVaQ2duTG01aGRpMTBZV0p6SUd4cE9tWnBjbk4wSUdFbktTNTBZV0lvSjNOb2IzY25LVHRjYmx4MFhIUjBhR2x6TG1OdlpHVkZaR2wwYjNJZ1BTQkRiMlJsVFdseWNtOXlMbVp5YjIxVVpYaDBRWEpsWVNoMGFHbHpMaVJ0YjJSaGJDNW1hVzVrS0NjdVkzVnpkRzl0TFhOMGVXeGxjeTFwYm5CMWRDY3BMbWRsZENnd0tTd2dlMXh1WEhSY2RGeDBkbUZzZFdVNklIUm9hWE11WTNWemRHOXRVM1I1YkdWekxGeHVYSFJjZEZ4MGJXOWtaVG9nSjNSbGVIUXZlQzF6WVhOekp5eGNibHgwWEhSY2RHeHBibVZPZFcxaVpYSnpPaUIwY25WbExGeHVYSFJjZEZ4MGRHRmlVMmw2WlRvZ05GeHVYSFJjZEgwcE8xeHVYSFJjZEZ4dVhIUmNkSFJvYVhNdVgySnBibVJGZG1WdWRFaGhibVJzWlhKektDazdYRzVjZEZ4MFhHNWNkRngwSkM1dFlYUmxjbWxoYkM1cGJtbDBLQ2s3WEc1Y2RGeDBYRzVjZEZ4MFJYWmxiblJ6UlcxcGRIUmxjaTUwY21sbloyVnlRMjl1ZEhKdmJHeGxja2x1YVhScFlXeHBlbVZrS0hSb2FYTXVKRzF2WkdGc0xDQmJKME4xYzNSdmJWTjBlV3hsYzAxdlpHRnNKMTBwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dSR1Z6ZEhKdmVTQkRiMjUwY205c2JHVnlYRzVjZENBcUwxeHVYSFJrWlhOMGNtOTVLQ2tnZTF4dVhIUmNkRTF2WkdGc0xtaHBaR1VvZEdocGN5NGtiVzlrWVd3cE8xeHVYSFJjZEVWMlpXNTBjMFZ0YVhSMFpYSXVkSEpwWjJkbGNrTnZiblJ5YjJ4c1pYSkVaWE4wY205NVpXUW9kR2hwY3k0a2JXOWtZV3dzSUZzblEzVnpkRzl0VTNSNWJHVnpUVzlrWVd3blhTazdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRmRtVnVkRG9nVTJGMlpTQkNkWFIwYjI0Z1EyeHBZMnRjYmx4MElDcGNibHgwSUNvZ1FIQnlhWFpoZEdWY2JseDBJQ292WEc1Y2RGOXZia05zYVdOclUyRjJaU2dwSUh0Y2JseDBYSFJGZG1WdWRITkZiV2wwZEdWeUxuUnlhV2RuWlhKRGRYTjBiMjFUZEhsc1pYTkRhR0Z1WjJWa0tIUm9hWE11SkcxdlpHRnNMQ0JiZEdocGN5NWpiMlJsUldScGRHOXlMbWRsZEZaaGJIVmxLQ2xkS1R0Y2JseDBYSFIwYUdsekxtUmxjM1J5YjNrb0tUdGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVWMlpXNTBPaUJSZFdsamF5MVRZWFpsSUVKMWRIUnZiaUJEYkdsamExeHVYSFFnS2x4dVhIUWdLaUJBY0hKcGRtRjBaVnh1WEhRZ0tpOWNibHgwWDI5dVEyeHBZMnRSZFdsamExTmhkbVVvS1NCN1hHNWNkRngwUlhabGJuUnpSVzFwZEhSbGNpNTBjbWxuWjJWeVEzVnpkRzl0VTNSNWJHVnpRMmhoYm1kbFpDaDBhR2x6TGlSdGIyUmhiQ3dnVzNSb2FYTXVZMjlrWlVWa2FYUnZjaTVuWlhSV1lXeDFaU2dwWFNrN1hHNWNkRngwSkNnbkxtSjBiaTV6WVhabEp5d2dKeTV6ZEhsc1pTMWxaR2wwTFdOdmJuUmhhVzVsY2ljcExuUnlhV2RuWlhJb0oyTnNhV05ySnlrN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJGZG1WdWREb2dRMkZ1WTJWc0lFSjFkSFJ2YmlCRGJHbGphMXh1WEhRZ0tseHVYSFFnS2lCQWNISnBkbUYwWlZ4dVhIUWdLaTljYmx4MFgyOXVRMnhwWTJ0RFlXNWpaV3dvS1NCN1hHNWNkRngwZEdocGN5NWtaWE4wY205NUtDazdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRmRtVnVkRG9nUTJGdVkyVnNJRUoxZEhSdmJpQkRiR2xqYTF4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMjl1UTJ4cFkydEdkV3hzYzJOeVpXVnVWRzluWjJ4bEtDa2dlMXh1WEhSY2RDUW9KeTVqZFhOMGIyMHRjM1I1YkdWekp5d2dkR2hwY3k0a2JXOWtZV3dwTG5SdloyZHNaVU5zWVhOektDZG1kV3hzYzJOeVpXVnVKeWs3WEc1Y2RGeDBKQ2duTG5SdloyZHNaUzFwWTI5dUp5d2dkR2hwY3k0a2JXOWtZV3dwTG5SdloyZHNaVU5zWVhOektDZG9hV1JrWlc0bktUdGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVKcGJtUWdSWFpsYm5RZ1NHRnVaR3hsY25OY2JseDBJQ3BjYmx4MElDb2dRSEJ5YVhaaGRHVmNibHgwSUNvdlhHNWNkRjlpYVc1a1JYWmxiblJJWVc1a2JHVnljeWdwSUh0Y2JseDBYSFIwYUdsekxpUnRiMlJoYkZ4dVhIUmNkRngwTG05dUtDZGpiR2xqYXljc0lDY3VZblJ1TG5GMWFXTnJjMkYyWlNjc0lDZ3BJRDArSUhSb2FYTXVYMjl1UTJ4cFkydFJkV2xqYTFOaGRtVW9LU2xjYmx4MFhIUmNkQzV2YmlnblkyeHBZMnNuTENBbkxtSjBiaTV6WVhabEp5d2dLQ2tnUFQ0Z2RHaHBjeTVmYjI1RGJHbGphMU5oZG1Vb0tTbGNibHgwWEhSY2RDNXZiaWduWTJ4cFkyc25MQ0FuTG1KMGJpNWpZVzVqWld3bkxDQW9LU0E5UGlCMGFHbHpMbDl2YmtOc2FXTnJRMkZ1WTJWc0tDa3BYRzVjZEZ4MFhIUXViMjRvSjJOc2FXTnJKeXdnSnk1aWRHNHVablZzYkhOamNtVmxiaTEwYjJkbmJHVW5MQ0FvS1NBOVBpQjBhR2x6TGw5dmJrTnNhV05yUm5Wc2JITmpjbVZsYmxSdloyZHNaU2dwS1R0Y2JseDBmVnh1ZlZ4dUlpd2lMeW9nTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmlBZ1JIVndiR2xqWVhSbFUzUjViR1ZOYjJSaGJDNXFjeUF5TURFNUxUQTJMVEEzWEc0Z0lFZGhiV0pwYnlCSGJXSklYRzRnSUdoMGRIQTZMeTkzZDNjdVoyRnRZbWx2TG1SbFhHNGdJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhPU0JIWVcxaWFXOGdSMjFpU0Z4dUlDQlNaV3hsWVhObFpDQjFibVJsY2lCMGFHVWdSMDVWSUVkbGJtVnlZV3dnVUhWaWJHbGpJRXhwWTJWdWMyVWdLRlpsY25OcGIyNGdNaWxjYmlBZ1cyaDBkSEE2THk5M2QzY3VaMjUxTG05eVp5OXNhV05sYm5ObGN5OW5jR3d0TWk0d0xtaDBiV3hkWEc0Z0lDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdEtpOWNibHh1WEc0dktpQm5iRzlpWVd4eklDMU5iMlJoYkNBcUwxeHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNibWx0Y0c5eWRDQk5iMlJoYkNCbWNtOXRJQ2N1TGk5c2FXSnpMMDF2WkdGc0p6c2dYRzVwYlhCdmNuUWdSWFpsYm5SelJXMXBkSFJsY2lCbWNtOXRJQ2N1TGk5c2FXSnpMMFYyWlc1MGMwVnRhWFIwWlhJbk8xeHVhVzF3YjNKMElGTjBlV3hsUVhCcElHWnliMjBnSnk0dUwyRndhUzlUZEhsc1pVRndhU2M3WEc1Y2JpOHFLbHh1SUNvZ1JIVndiR2xqWVhSbElGTjBlV3hsSUUxdlpHRnNJRU52Ym5SeWIyeHNaWEpjYmlBcVhHNGdLaUJVYUdseklHTnZiblJ5YjJ4c1pYSWdhR0Z1Wkd4bGN5QjBhR1VnYzNSNWJHVWdaSFZ3YkdsallYUnBiMjRnYjNCbGNtRjBhVzl1TGx4dUlDb3ZYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQmpiR0Z6Y3lCRWRYQnNhV05oZEdWVGRIbHNaVTF2WkdGc0lIdGNibHgwTHlvcVhHNWNkQ0FxSUVOc1lYTnpJRU52Ym5OMGNuVmpkRzl5WEc1Y2RDQXFYRzVjZENBcUlFQndZWEpoYlNCN1UzUnlhVzVuZlNCemRIbHNaVTVoYldVZ1UzUjViR1VnYm1GdFpTQjBieUJpWlNCa2RYQnNhV05oZEdWa0xseHVYSFFnS2k5Y2JseDBZMjl1YzNSeWRXTjBiM0lvYzNSNWJHVk9ZVzFsS1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMxTjBjbWx1WnloemRIbHNaVTVoYldVcE8xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZSb1pTQnRiMlJoYkNCelpXeGxZM1J2Y2k1Y2JseDBYSFFnS2x4dVhIUmNkQ0FxSUVCMGVYQmxJSHRxVVhWbGNubDlYRzVjZEZ4MElDb3ZYRzVjZEZ4MGRHaHBjeTRrYlc5a1lXd2dQU0J1ZFd4c08xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZOMGVXeGxJRzVoYldVZ2RHOGdZbVVnWkhWd2JHbGpZWFJsWkM1Y2JseDBYSFFnS2x4dVhIUmNkQ0FxSUVCMGVYQmxJSHRUZEhKcGJtZDlYRzVjZEZ4MElDb3ZYRzVjZEZ4MGRHaHBjeTV6ZEhsc1pVNWhiV1VnUFNCemRIbHNaVTVoYldVN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJKYm1sMGFXRnNhWHBsSUVOdmJuUnliMnhzWlhKY2JseDBJQ292WEc1Y2RHbHVhWFJwWVd4cGVtVW9LU0I3WEc1Y2RGeDBZMjl1YzNRZ1pHRjBZU0E5SUh0Y2JseDBYSFJjZEhScGRHeGxYMlIxY0d4cFkyRjBaVjl6ZEhsc1pWOXRiMlJoYkRvZ1UzUjViR1ZGWkdsMExreGhibWQxWVdkbExuUnlZVzV6YkdGMFpTZ25kR2wwYkdWZlpIVndiR2xqWVhSbFgzTjBlV3hsWDIxdlpHRnNKeXdnSjNOMGVXeGxYMlZrYVhRbktTeGNibHgwWEhSY2RIQnNZV05sYUc5c1pHVnlYM04wZVd4bFgyNWhiV1U2SUZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0ozQnNZV05sYUc5c1pHVnlYM04wZVd4bFgyNWhiV1VuTENBbmMzUjViR1ZmWldScGRDY3BMRnh1WEhSY2RGeDBiM0IwYVc5dVgyTnlaV0YwWlRvZ1UzUjViR1ZGWkdsMExreGhibWQxWVdkbExuUnlZVzV6YkdGMFpTZ25iM0IwYVc5dVgyTnlaV0YwWlNjc0lDZHpkSGxzWlY5bFpHbDBKeWtzWEc1Y2RGeDBYSFJ2Y0hScGIyNWZZMkZ1WTJWc09pQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZZMkZ1WTJWc0p5d2dKM04wZVd4bFgyVmthWFFuS1Z4dVhIUmNkSDA3WEc1Y2RGeDBYRzVjZEZ4MGRHaHBjeTRrYlc5a1lXd2dQU0JOYjJSaGJDNXphRzkzS0NRb0p5TmtkWEJzYVdOaGRHVXRjM1I1YkdVdGJXOWtZV3d0ZEdWdGNHeGhkR1VuS1N3Z1pHRjBZU2s3WEc1Y2RGeDBYRzVjZEZ4MEx5OGdSbTlqZFhNZ2MzUjViR1V0Ym1GdFpTQnBibkIxZENCbWFXVnNaQzVjYmx4MFhIUjBhR2x6TGlSdGIyUmhiQzVtYVc1a0tDZHBibkIxZEZ0dVlXMWxQVndpYzNSNWJHVXRibUZ0WlZ3aVhTY3BMbVp2WTNWektDazdYRzVjZEZ4MFhHNWNkRngwZEdocGN5NWZZbWx1WkVWMlpXNTBTR0Z1Wkd4bGNuTW9LVHRjYmx4MFhIUmNibHgwWEhRa0xtMWhkR1Z5YVdGc0xtbHVhWFFvS1R0Y2JseDBYSFJjYmx4MFhIUkZkbVZ1ZEhORmJXbDBkR1Z5TG5SeWFXZG5aWEpEYjI1MGNtOXNiR1Z5U1c1cGRHbGhiR2w2WldRb2RHaHBjeTRrYlc5a1lXd3NJRnNuUkhWd2JHbGpZWFJsVTNSNWJHVk5iMlJoYkNkZEtUdGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVSbGMzUnliM2tnUTI5dWRISnZiR3hsY2x4dVhIUWdLaTljYmx4MFpHVnpkSEp2ZVNncElIdGNibHgwWEhSTmIyUmhiQzVvYVdSbEtIUm9hWE11SkcxdlpHRnNLVHRjYmx4MFhIUkZkbVZ1ZEhORmJXbDBkR1Z5TG5SeWFXZG5aWEpEYjI1MGNtOXNiR1Z5UkdWemRISnZlV1ZrS0hSb2FYTXVKRzF2WkdGc0xDQmJKMFIxY0d4cFkyRjBaVk4wZVd4bFRXOWtZV3duWFNrN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJGZG1WdWREb2dSSFZ3YkdsallYUmxJRUoxZEhSdmJpQkRiR2xqYTF4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UycFJkV1Z5ZVM1RmRtVnVkSDBnWlhabGJuUmNibHgwSUNwY2JseDBJQ29nUUhCeWFYWmhkR1ZjYmx4MElDb3ZYRzVjZEY5dmJrTnNhV05yUTNKbFlYUmxLR1YyWlc1MEtTQjdYRzVjZEZ4MFkyOXVjM1FnSkdWc1pXMWxiblFnUFNBa0tHVjJaVzUwTG1OMWNuSmxiblJVWVhKblpYUXBPMXh1WEhSY2RHTnZibk4wSUNSdVpYZFRkSGxzWlU1aGJXVWdQU0IwYUdsekxpUnRiMlJoYkM1bWFXNWtLQ2RwYm5CMWRGdHVZVzFsUFZ3aWMzUjViR1V0Ym1GdFpWd2lYU2NwTzF4dVhIUmNkRnh1WEhSY2RDUnVaWGRUZEhsc1pVNWhiV1V1Y0dGeVpXNTBLQ2t1Y21WdGIzWmxRMnhoYzNNb0oyaGhjeTFsY25KdmNpY3BPMXh1WEhSY2RGeHVYSFJjZEdsbUlDZ2tibVYzVTNSNWJHVk9ZVzFsTG5aaGJDZ3BJRDA5UFNBbkp5a2dlMXh1WEhSY2RGeDBKRzVsZDFOMGVXeGxUbUZ0WlM1d1lYSmxiblFvS1M1aFpHUkRiR0Z6Y3lnbmFHRnpMV1Z5Y205eUp5azdYRzVjZEZ4MFhIUWtibVYzVTNSNWJHVk9ZVzFsTG1adlkzVnpLQ2s3WEc1Y2RGeDBYSFJ5WlhSMWNtNDdYRzVjZEZ4MGZWeHVYSFJjZEZ4dVhIUmNkRk4wZVd4bFFYQnBMbVIxY0d4cFkyRjBaU2gwYUdsekxuTjBlV3hsVG1GdFpTd2dKRzVsZDFOMGVXeGxUbUZ0WlM1MllXd29LU2t1Wkc5dVpTaHlaWE53YjI1elpTQTlQaUI3WEc1Y2RGeDBYSFJGZG1WdWRITkZiV2wwZEdWeUxuUnlhV2RuWlhKVGRIbHNaVU55WldGMFpXUW9KR1ZzWlcxbGJuUXNJRnR5WlhOd2IyNXpaVjBwTzF4dVhIUmNkRngwZEdocGN5NWtaWE4wY205NUtDazdYRzVjZEZ4MGZTazdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRmRtVnVkRG9nUTJGdVkyVnNJRUoxZEhSdmJpQkRiR2xqYTF4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMjl1UTJ4cFkydERZVzVqWld3b0tTQjdYRzVjZEZ4MGRHaHBjeTVrWlhOMGNtOTVLQ2s3WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkNhVzVrSUcxdlpHRnNJR1YyWlc1MElHaGhibVJzWlhKekxseHVYSFFnS2x4dVhIUWdLaUJBY0hKcGRtRjBaVnh1WEhRZ0tpOWNibHgwWDJKcGJtUkZkbVZ1ZEVoaGJtUnNaWEp6S0NrZ2UxeHVYSFJjZEhSb2FYTXVKRzF2WkdGc1hHNWNkRngwWEhRdWIyNG9KMk5zYVdOckp5d2dKeTVpZEc0dVkzSmxZWFJsSnl3Z1pYWmxiblFnUFQ0Z2RHaHBjeTVmYjI1RGJHbGphME55WldGMFpTaGxkbVZ1ZENrcFhHNWNkRngwWEhRdWIyNG9KMk5zYVdOckp5d2dKeTVpZEc0dVkyRnVZMlZzSnl3Z0tDa2dQVDRnZEdocGN5NWZiMjVEYkdsamEwTmhibU5sYkNncEtUdGNibHgwZlZ4dWZWeHVJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdSV1JwZEZOMGVXeGxWbWxsZHk1cWN5QXlNREU1TFRBMkxUQTNYRzRnSUVkaGJXSnBieUJIYldKSVhHNGdJR2gwZEhBNkx5OTNkM2N1WjJGdFltbHZMbVJsWEc0Z0lFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE9TQkhZVzFpYVc4Z1IyMWlTRnh1SUNCU1pXeGxZWE5sWkNCMWJtUmxjaUIwYUdVZ1IwNVZJRWRsYm1WeVlXd2dVSFZpYkdsaklFeHBZMlZ1YzJVZ0tGWmxjbk5wYjI0Z01pbGNiaUFnVzJoMGRIQTZMeTkzZDNjdVoyNTFMbTl5Wnk5c2FXTmxibk5sY3k5bmNHd3RNaTR3TG1oMGJXeGRYRzRnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0S2k5Y2JseHVYRzR2S2lCbmJHOWlZV3h6SUMxTmIyUmhiQ0FxTDF4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtbHRjRzl5ZENCS2MyOXVVR0Z5YzJWeUlHWnliMjBnSnk0dUwyeHBZbk12U25OdmJsQmhjbk5sY2ljN1hHNXBiWEJ2Y25RZ1RXOWtZV3dnWm5KdmJTQW5MaTR2YkdsaWN5OU5iMlJoYkNjN1hHNXBiWEJ2Y25RZ1VtOTFkR1Z5SUdaeWIyMGdKeTR1TDJ4cFluTXZVbTkxZEdWeUp6dGNibWx0Y0c5eWRDQkZkbVZ1ZEhORmJXbDBkR1Z5SUdaeWIyMGdKeTR1TDJ4cFluTXZSWFpsYm5SelJXMXBkSFJsY2ljN1hHNXBiWEJ2Y25RZ1YybGtaMlYwUTI5dWRtVnlkR1Z5SUdaeWIyMGdKeTR1TDJ4cFluTXZWMmxrWjJWMFEyOXVkbVZ5ZEdWeUp6dGNibWx0Y0c5eWRDQlRkSGxzWlVGd2FTQm1jbTl0SUNjdUxpOWhjR2t2VTNSNWJHVkJjR2tuTzF4dWFXMXdiM0owSUVOaFkyaGxRWEJwSUdaeWIyMGdKeTR1TDJGd2FTOURZV05vWlVGd2FTYzdYRzVwYlhCdmNuUWdSbWxzZEdWeVFtOTRJR1p5YjIwZ0p5NHVMM2RwWkdkbGRITXZSbWxzZEdWeVFtOTRKenRjYmx4dUx5b3FYRzRnS2lCRlpHbDBJRk4wZVd4bElGWnBaWGNnUTI5dWRISnZiR3hsY2x4dUlDcGNiaUFxSUZSb2FYTWdZMjl1ZEhKdmJHeGxjaUJwY3lCeVpYTndiMjV6YVdKc1pTQm1iM0lnZEdobElITjBlV3hsSUdWa2FYUnBibWNnZG1sbGR5QnZaaUIwYUdVZ2NHRm5aUzRnU1hRZ2QybHNiQ0JtWlhSamFDQjBhR1ZjYmlBcUlITjBlV3hsY3lCamIyNW1hV2QxY21GMGFXOXVJR1JoZEdFZ1puSnZiU0IwYUdVZ2MyVnlkbVZ5SUdGdVpDQmthWE53YkdGNUlIUm9aVzBnZEc4Z2RHaGxJRlZKTGx4dUlDb3ZYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQmpiR0Z6Y3lCRlpHbDBVM1I1YkdWV2FXVjNJSHRjYmx4MEx5b3FYRzVjZENBcUlFTnNZWE56SUVOdmJuTjBjblZqZEc5eVhHNWNkQ0FxWEc1Y2RDQXFJRUJ3WVhKaGJTQjdVM1J5YVc1bmZTQnpkSGxzWlU1aGJXVWdWR2hsSUhOMGVXeGxJRzVoYldVZ2RHOGdZbVVnWldScGRHVmtMbHh1WEhRZ0tpOWNibHgwWTI5dWMzUnlkV04wYjNJb2MzUjViR1ZPWVcxbEtTQjdYRzVjZEZ4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMU4wY21sdVp5aHpkSGxzWlU1aGJXVXBPMXh1WEhSY2RGeHVYSFJjZEM4cUtseHVYSFJjZENBcUlGUm9aU0J1WVcxbElHOW1JSFJvWlNCc2IyRmtaV1FnYzNSNWJHVXVYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1UzUnlhVzVuZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdWMzUjViR1ZPWVcxbElEMGdjM1I1YkdWT1lXMWxPMXh1WEhSY2RGeHVYSFJjZEM4cUtseHVYSFJjZENBcUlGTjBlV3hsSUVOdmJtWnBaM1Z5WVhScGIyNGdSVzUwYVhSNVhHNWNkRngwSUNwY2JseDBYSFFnS2lCQWRIbHdaU0I3VTNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1ZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdWMzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUlEMGdiblZzYkR0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJVYUdVZ2IzSnBaMmx1WVd3Z1NsTlBUaUJ6ZEhKcGJtY2dkWE5sWkNCbWIzSWdaR1YwWlhKdGFXNXBibWNnWTJoaGJtZGxjeTVjYmx4MFhIUWdLbHh1WEhSY2RDQXFJRUIwZVhCbElIdFRkSEpwYm1kOVhHNWNkRngwSUNvdlhHNWNkRngwZEdocGN5NXZjbWxuYVc1aGJGTjBlV3hsU25OdmJpQTlJRzUxYkd3N1hHNWNkRngwWEc1Y2RGeDBMeW9xWEc1Y2RGeDBJQ29nUTI5dWRHRnBibk1nWVNCc2FYTjBJSGRwZEdnZ2RHaGxJSFJsYlhCc1lYUmxJR2x0WVdkbElHWnBiR1VnYm1GdFpYTXVYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1UzUnlhVzVuVzExOVhHNWNkRngwSUNvdlhHNWNkRngwZEdocGN5NTBaVzF3YkdGMFpVbHRZV2RsY3lBOUlHNTFiR3c3WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkpibWwwYVdGc2FYcGxJRU52Ym5SeWIyeHNaWEpjYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN2FsRjFaWEo1TGxCeWIyMXBjMlY5SUZkcGJHd2dZbVVnY21WemIyeDJaV1FnYjI1alpTQjBhR1VnYldWMGFHOWtJR2x6SUhKbFlXUjVMbHh1WEhRZ0tpOWNibHgwYVc1cGRHbGhiR2w2WlNncElIdGNibHgwWEhSamIyNXpkQ0JrWldabGNuSmxaQ0E5SUNRdVJHVm1aWEp5WldRb0tUdGNibHgwWEhSY2JseDBYSFJUZEhsc1pVRndhUzVuWlhRb2RHaHBjeTV6ZEhsc1pVNWhiV1VwTG1SdmJtVW9jbVZ6Y0c5dWMyVWdQVDRnZTF4dVhIUmNkRngwTHk4Z1FXUmtJSFJvWlNCMFpXMXdiR0YwWlNCMGNtRnVjMnhoZEdsdmJuTWdkRzhnZEdobElFeGhibWQxWVdkbElHOWlhbVZqZEM0Z1hHNWNkRngwWEhSVGRIbHNaVVZrYVhRdVRHRnVaM1ZoWjJVdVlXUmtVMlZqZEdsdmJpZ25kR1Z0Y0d4aGRHVW5MQ0J5WlhOd2IyNXpaUzVzWVc1bktUdGNibHgwWEhSY2RGeHVYSFJjZEZ4MEx5OGdVM1J2Y21VZ2RHaGxJSFJsYlhCc1lYUmxJR2x0WVdkbGN5Qm1iM0lnWm5WMGRYSmxJSEpsWm1WeVpXNWpaUzRnWEc1Y2RGeDBYSFIwYUdsekxuUmxiWEJzWVhSbFNXMWhaMlZ6SUQwZ2NtVnpjRzl1YzJVdWFXMWhaMlZ6TzF4dVhIUmNkRngwWEc1Y2RGeDBYSFF2THlCUVlYSnpaU0IwYUdVZ1NsTlBUaUJrWVhSaElHRnVaQ0JrYVhOd2JHRjVJSFJvWlNCelpYUjBhVzVuSUhkcFpHZGxkSE11WEc1Y2RGeDBYSFIwYUdsekxuTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpQTlJRXB6YjI1UVlYSnpaWEl1WkdWamIyUmxVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVLSEpsYzNCdmJuTmxMbU52Ym1acFp5azdYRzVjZEZ4MFhIUmNibHgwWEhSY2RDOHZJRk4wYjNKbElIUm9aU0J5WlhOd2IyNXpaU0JtYjNJZ1puVjBkWEpsSUhKbFptVnlaVzVqWlNBb2MyVmxJRjl2YmtOc2FXTnJRbUZqYXlCbWRXNWpkR2x2YmlrdVhHNWNkRngwWEhSMGFHbHpMbTl5YVdkcGJtRnNVM1I1YkdWS2MyOXVJRDBnU25OdmJsQmhjbk5sY2k1bGJtTnZaR1ZUZEhsc1pVTnZibVpwWjNWeVlYUnBiMjRvZEdocGN5NXpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHBPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUjBhR2x6TGw5c2IyRmtWbWxsZDFSbGJYQnNZWFJsS0NrN1hHNWNkRngwWEhSY2JseDBYSFJjZEVWMlpXNTBjMFZ0YVhSMFpYSXVkSEpwWjJkbGNrTnZiblJ5YjJ4c1pYSkpibWwwYVdGc2FYcGxaQ2drS0NjdWMzUjViR1V0WldScGRDMTJhV1YzSnlrc0lGc25SV1JwZEZOMGVXeGxWbWxsZHlkZEtUdGNibHgwWEhSY2RGeHVYSFJjZEZ4MFpHVm1aWEp5WldRdWNtVnpiMngyWlNncE8xeHVYSFJjZEgwcE8xeHVYSFJjZEZ4dVhIUmNkSEpsZEhWeWJpQmtaV1psY25KbFpDNXdjbTl0YVhObEtDazdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRVpYTjBjbTk1SUVOdmJuUnliMnhzWlhKY2JseDBJQ3BjYmx4MElDb2dRSEpsZEhWeWJpQjdhbEYxWlhKNUxsQnliMjFwYzJWOUlGZHBiR3dnWW1VZ2NtVnpiMngyWldRZ2IyNWpaU0IwYUdVZ2JXVjBhRzlrSUdseklISmxZV1I1TGx4dVhIUWdLaTljYmx4MFpHVnpkSEp2ZVNncElIdGNibHgwWEhSamIyNXpkQ0JrWldabGNuSmxaQ0E5SUNRdVJHVm1aWEp5WldRb0tUdGNibHgwWEhSamIyNXpkQ0FrYzNSNWJHVkZaR2wwVm1sbGR5QTlJQ1FvSnk1emRIbHNaUzFsWkdsMExYWnBaWGNuS1R0Y2JseDBYSFJjYmx4MFhIUWtLQ2N1WldScGRDMXZjSFJwYjI1ekxXTnZiblJoYVc1bGNpY3BMbkJsY21abFkzUlRZM0p2Ykd4aVlYSW9KMlJsYzNSeWIza25LVHRjYmx4MFhIUmNibHgwWEhRa2MzUjViR1ZGWkdsMFZtbGxkeTVtWVdSbFQzVjBLRE13TUN3Z0tDa2dQVDRnZTF4dVhIUmNkRngwSkhOMGVXeGxSV1JwZEZacFpYY3VhSFJ0YkNnbkp5azdJQzh2SUZKbGJXOTJaU0IwYUdVZ1NGUk5UQ0JqYjJSbExseHVYSFJjZEZ4MFpHVm1aWEp5WldRdWNtVnpiMngyWlNncE8xeHVYSFJjZEZ4MFJYWmxiblJ6UlcxcGRIUmxjaTUwY21sbloyVnlRMjl1ZEhKdmJHeGxja1JsYzNSeWIzbGxaQ2drYzNSNWJHVkZaR2wwVm1sbGR5d2dXeWRGWkdsMFUzUjViR1ZXYVdWM0oxMHBPMXh1WEhSY2RIMHBPMXh1WEhSY2RGeHVYSFJjZENRb0p5NWxaR2wwTFhOMGVXeGxMWFpwWlhjc0lDNWxaR2wwTFc5d2RHbHZibk10WTI5dWRHRnBibVZ5SUM1dmNIUnBiMjRuS1M1dlptWW9LVHRjYmx4MFhIUmNibHgwWEhRa0tIZHBibVJ2ZHlsY2JseDBYSFJjZEM1dlptWW9KM0psYzJsNlpTY3BYRzVjZEZ4MFhIUXViMlptS0NkaVpXWnZjbVYxYm14dllXUW5LVnh1WEhSY2RGeDBMbTltWmlnblUzUjViR1ZGWkdsMExrTjFjM1J2YlZOMGVXeGxjME5vWVc1blpXUW5LVHRjYmx4MFhIUmNibHgwWEhSeVpYUjFjbTRnWkdWbVpYSnlaV1F1Y0hKdmJXbHpaU2dwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dSWFpsYm5RNklGTmhkbVVnUW5WMGRHOXVJRU5zYVdOclhHNWNkQ0FxWEc1Y2RDQXFJRk5oZG1VZ2RHaGxJR04xY25KbGJuUWdjM1I1YkdVZ1kyOXVabWxuZFhKaGRHbHZiaUJ6WlhSMGFXNW5jeUJoYm1RZ1pHbHpjR3hoZVNCaElITjFZMk5sYzNNZ2JtOTBhV1pwWTJGMGFXOXVMbHh1WEhRZ0tseHVYSFFnS2lCQWNISnBkbUYwWlZ4dVhIUWdLaTljYmx4MFgyOXVRMnhwWTJ0VFlYWmxLQ2tnZTF4dVhIUmNkRk4wZVd4bFFYQnBMbk5oZG1Vb2RHaHBjeTV6ZEhsc1pVTnZibVpwWjNWeVlYUnBiMjRwTG1SdmJtVW9LQ2tnUFQ0Z2UxeHVYSFJjZEZ4MEx5OGdSR2x6Y0d4aGVTQmthV0ZzYjJjZ2QybDBhQ0J6ZFdOalpYTnpJRzFsYzNOaFoyVXVYRzVjZEZ4MFhIUmpiMjV6ZENCMGFYUnNaU0E5SUZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0ozUnBkR3hsWDNOMGVXeGxYM05oZG1Wa1gzTjFZMk5sYzNObWRXeHNlU2NzSUNkemRIbHNaVjlsWkdsMEp5azdYRzVjZEZ4MFhIUmpiMjV6ZENCdFpYTnpZV2RsSUQwZ1UzUjViR1ZGWkdsMExreGhibWQxWVdkbExuUnlZVzV6YkdGMFpTZ25iV1Z6YzJGblpWOXpkSGxzWlY5ellYWmxaRjl6ZFdOalpYTnpablZzYkhrbkxDQW5jM1I1YkdWZlpXUnBkQ2NwTzF4dVhIUmNkRngwYkdWMElHbHVkR1Z5ZG1Gc08xeHVYSFJjZEZ4MFhHNWNkRngwWEhSTmIyUmhiQzV0WlhOellXZGxLSFJwZEd4bExDQnRaWE56WVdkbEtTNWtiMjVsS0NncElEMCtJSHRjYmx4MFhIUmNkRngwWTJ4bFlYSkpiblJsY25aaGJDaHBiblJsY25aaGJDazdYRzVjZEZ4MFhIUjlLVHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBMeThnVkdobElHMXZaR0ZzSUhkcGJHd2dZMnh2YzJVZ1lYVjBiMjFoZEdsallXeHNlU0JwYmlBeklITmxZMjl1WkhNdUlGeHVYSFJjZEZ4MFkyOXVjM1FnSkcxdlpHRnNJRDBnSkNnbkxuTjBlV3hsTFdWa2FYUXRiVzlrWVd3NmRtbHphV0pzWlNjcE8xeHVYSFJjZEZ4MFkyOXVjM1FnWW5WMGRHOXVWR1Y0ZENBOUlDUnRiMlJoYkM1bWFXNWtLQ2N1WW5SdUxtOXJKeWt1ZEdWNGRDZ3BPMXh1WEhSY2RGeDBiR1YwSUhObFkyOXVaSE5NWldaMElEMGdNenRjYmx4MFhIUmNkRnh1WEhSY2RGeDBKRzF2WkdGc0xtWnBibVFvSnk1aWRHNHViMnNuS1M1MFpYaDBLR0oxZEhSdmJsUmxlSFFnS3lBbklDZ25JQ3NnYzJWamIyNWtjMHhsWm5RZ0t5QW5LU2NwTzF4dVhIUmNkRngwWEc1Y2RGeDBYSFJwYm5SbGNuWmhiQ0E5SUhObGRFbHVkR1Z5ZG1Gc0tDZ3BJRDArSUh0Y2JseDBYSFJjZEZ4MGMyVmpiMjVrYzB4bFpuUXRMVHRjYmx4MFhIUmNkRngwWEc1Y2RGeDBYSFJjZEdsbUlDaHpaV052Ym1SelRHVm1kQ0E5UFQwZ01Da2dlMXh1WEhSY2RGeDBYSFJjZENSdGIyUmhiQzVtYVc1a0tDY3VZblJ1TG05ckp5a3VZMnhwWTJzb0tUdGNibHgwWEhSY2RGeDBYSFJ5WlhSMWNtNDdYRzVjZEZ4MFhIUmNkSDFjYmx4MFhIUmNkRngwWEc1Y2RGeDBYSFJjZENSdGIyUmhiQzVtYVc1a0tDY3VZblJ1TG05ckp5a3VkR1Y0ZENoaWRYUjBiMjVVWlhoMElDc2dKeUFvSnlBcklITmxZMjl1WkhOTVpXWjBJQ3NnSnlrbktUdGNibHgwWEhSY2RIMHNJREV3TURBcE8xeHVYSFJjZEZ4MFhHNWNkRngwWEhRdkx5QlRZWFpsSUdFZ1kyOXdlU0J2WmlCMGFHVWdZM1Z5Y21WdWRDQnpkSGxzWlNCbWIzSWdiR0YwWlhJZ2RYTmxMbHh1WEhSY2RGeDBkR2hwY3k1dmNtbG5hVzVoYkZOMGVXeGxTbk52YmlBOUlFcHpiMjVRWVhKelpYSXVaVzVqYjJSbFUzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUtIUm9hWE11YzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1S1R0Y2JseDBYSFJjZEZ4dVhIUmNkRngwTHk4Z1YyVWdibVZsWkNCMGJ5QmpiR1ZoY2lCMGFHVWdZMkZqYUdVZ2IyWWdkR2hsSUhOaGRtVmtJSE4wZVd4bExpQlVhR2x6SUdOaGJpQnZibXg1SUdKbElHUnZibVVnWW5rZ2JXRnJhVzVuSUdFZ1IwVlVJSEpsY1hWbGMzUWdkRzhnZEdobElGeHVYSFJjZEZ4MEx5OGdYQ0puYlY5a2VXNWhiV2xqTG1OemN5NXdhSEJjSWlCM2FYUm9JSFJvWlNCY0luSmxibVYzWDJOaFkyaGxYQ0lnY0dGeVlXMWxkR1Z5TGlCUGJtTmxJSFJvWlNCeVpYRjFaWE4wSUdseklHUnZibVVnZEdobElHbG1jbUZ0WlNCd2NtVjJhV1YzSUZ4dVhIUmNkRngwTHk4Z2JtVmxaSE1nZEc4Z1ltVWdjbVZzYjJGa1pXUXVYRzVjZEZ4MFhIUmpiMjV6ZENCdFlXbHVRM056VlhKc0lEMGdVM1I1YkdWRlpHbDBMa052Ym1acFp5NW5aWFFvSjNCeVpYWnBaWGRWY213bktTQXJJQ2N2SjF4dVhIUmNkRngwWEhRcklDUW9KeU50WVdsdUxXTnpjeWNzSUNRb0p5NXpkSGxzWlMxbFpHbDBMWEJ5WlhacFpYY2dhV1p5WVcxbEp5a3VZMjl1ZEdWdWRITW9LU2t1WVhSMGNpZ25hSEpsWmljcE8xeHVYSFJjZEZ4MFhHNWNkRngwWEhSRFlXTm9aVUZ3YVM1eVpXNWxkeWh0WVdsdVEzTnpWWEpzTENCMGFHbHpMbk4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaTVuWlhST1lXMWxLQ2twTG1SdmJtVW9LQ2tnUFQ0Z2UxeHVYSFJjZEZ4MFhIUjBhR2x6TGw5eVpXeHZZV1JVWlcxd2JHRjBaVkJ5WlhacFpYY29kR2hwY3k1emRIbHNaVU52Ym1acFozVnlZWFJwYjI0dVoyVjBUbUZ0WlNncEtUdGNibHgwWEhSY2RIMHBPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUXZMeUJKWmlCMGFHVWdZM1Z5Y21WdWRDQnpkSGxzWlNCcGN5QmhZM1JwZG1Vc0lISmxabkpsYzJnZ2FYUnpJR05oWTJobElIUm9jbTkxWjJnZ1lXNXZkR2hsY2lCSFJWUWdjbVZ4ZFdWemRDNGdYRzVjZEZ4MFhIUnBaaUFvZEdocGN5NXpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVhWE5CWTNScGRtVW9LU2tnZTF4dVhIUmNkRngwWEhSRFlXTm9aVUZ3YVM1eVpXNWxkeWh0WVdsdVEzTnpWWEpzS1R0Y2JseDBYSFJjZEgxY2JseDBYSFI5S1R0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRVYyWlc1ME9pQlFjbVYyYVdWM0lFSjFkSFJ2YmlCRGJHbGphMXh1WEhRZ0tseHVYSFFnS2lCVWFHbHpJR05oYkd4aVlXTnJJRzExYzNRZ2NtVm1jbVZ6YUNCMGFHVWdkR1Z0Y0d4aGRHVWdjSEpsZG1sbGR5QmlZWE5sWkNCdmJpQjBhR1VnWTNWeWNtVnVkQ0J6WlhSMGFXNW5jeTVjYmx4MElDcGNibHgwSUNvZ1FIQnlhWFpoZEdWY2JseDBJQ292WEc1Y2RGOXZia05zYVdOclVISmxkbWxsZHlncElIdGNibHgwWEhSVGRIbHNaVUZ3YVM1ellYWmxLSFJvYVhNdWMzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUxDQlRkSGxzWlVWa2FYUXVRMjl1Wm1sbkxtZGxkQ2duZEdWdGNGTjBlV3hsVG1GdFpTY3BLUzVrYjI1bEtDZ3BJRDArSUh0Y2JseDBYSFJjZEdOdmJuTjBJRzFoYVc1RGMzTlZjbXdnUFNCVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25jSEpsZG1sbGQxVnliQ2NwSUNzZ0p5OG5YRzVjZEZ4MFhIUmNkQ3NnSkNnbkkyMWhhVzR0WTNOekp5d2dKQ2duTG5OMGVXeGxMV1ZrYVhRdGNISmxkbWxsZHlCcFpuSmhiV1VuS1M1amIyNTBaVzUwY3lncEtTNWhkSFJ5S0Nkb2NtVm1KeWs3WEc1Y2RGeDBYSFJEWVdOb1pVRndhUzV5Wlc1bGR5aHRZV2x1UTNOelZYSnNMQ0JUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnbmRHVnRjRk4wZVd4bFRtRnRaU2NwS1M1a2IyNWxLQ2dwSUQwK0lIdGNibHgwWEhSY2RGeDBkR2hwY3k1ZmNtVnNiMkZrVkdWdGNHeGhkR1ZRY21WMmFXVjNLRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0NkMFpXMXdVM1I1YkdWT1lXMWxKeWtwTzF4dVhIUmNkRngwZlNrN1hHNWNkRngwZlNrN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJGZG1WdWREb2dRbUZqYXlCQ2RYUjBiMjRnUTJ4cFkydGNibHgwSUNwY2JseDBJQ29nVkdocGN5QnRaWFJvYjJRZ2JYVnpkQ0J5WlhSMWNtNGdkR2hsSUZOMGVXeGxSV1JwZENCaVlXTnJJSFJ2SUhSb1pTQnpkSGxzWlhNZ2JHbHpkQ0IyYVdWM0xpQkpkQ0J0ZFhOMElHUnBjM0JzWVhrZ1lTQjNZWEp1YVc1blhHNWNkQ0FxSUdsbUlIUm9aU0IxYzJWeUlHaGhjeUIxYm5OaGRtVmtJR05vWVc1blpYTXVYRzVjZENBcVhHNWNkQ0FxSUVCd2NtbDJZWFJsWEc1Y2RDQXFMMXh1WEhSZmIyNURiR2xqYTBKaFkyc29LU0I3WEc1Y2RGeDBkR2hwY3k1ZmRtRnNhV1JoZEdWVmJuTmhkbVZrUTJoaGJtZGxjeWdwTG1SdmJtVW9LQ2tnUFQ0Z2RHaHBjeTVmWjI5Q1lXTnJWRzlOZVZOMGVXeGxjMVpwWlhjb0tTazdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRmRtVnVkRG9nUVdSa0lFTjFjM1J2YlNCRFUxTWdRMnhwWTJ0Y2JseDBJQ3BjYmx4MElDb2dWR2hwY3lCallXeHNZbUZqYXlCdGRYTjBJR1JwYzNCc1lYa2dkR2hsSUdOMWMzUnZiU0J6ZEhsc1pYTWdiVzlrWVd3Z2QyaGxjbVVnZEdobElIVnpaWElnYVhNZ1lXSnNaU0IwYnlCM2NtbDBaVnh1WEhRZ0tpQm9hWE1nYjNkdUlFTlRVeUJ2Y2lCVFFWTlRJSFJ2SUdKbElHbHVZMngxWkdWa0lHbHVJSFJvWlNCMFpXMXdiR0YwWlNCemRIbHNhVzVuTGx4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMjl1UTJ4cFkydEJaR1JEZFhOMGIyMURjM01vS1NCN1hHNWNkRngwVW05MWRHVnlMbXh2WVdRb0owTjFjM1J2YlZOMGVXeGxjMDF2WkdGc0p5d2dXM1JvYVhNdWMzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUxtZGxkRU4xYzNSdmJWTjBlV3hsY3lncFhTazdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRmRtVnVkRG9nUVdOMGFYWmhkR1VnUW5WMGRHOXVJRU5zYVdOclhHNWNkQ0FxWEc1Y2RDQXFJRlJvYVhNZ1luVjBkRzl1SUcxMWMzUWdZV04wYVhaaGRHVWdkR2hsSUdOMWNuSmxiblFnYzNSNWJHVXVYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3YWxGMVpYSjVMa1YyWlc1MGZTQmxkbVZ1ZEZ4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMjl1UTJ4cFkydEJZM1JwZG1GMFpTaGxkbVZ1ZENrZ2UxeHVYSFJjZEdOdmJuTjBJQ1JsYkdWdFpXNTBJRDBnSkNobGRtVnVkQzVqZFhKeVpXNTBWR0Z5WjJWMEtUdGNibHgwWEhSY2JseDBYSFJUZEhsc1pVRndhUzVoWTNScGRtRjBaU2gwYUdsekxuTjBlV3hsVG1GdFpTa3VaRzl1WlNnb0tTQTlQaUI3WEc1Y2RGeDBYSFJqYjI1emRDQm9kRzFzSUQwZ1lEeHpjR0Z1SUdOc1lYTnpQVndpYzNSaGRIVnpYQ0krSkh0VGRIbHNaVVZrYVhRdVRHRnVaM1ZoWjJVdWRISmhibk5zWVhSbEtDZHNZV0psYkY5aFkzUnBkbVVuTENBbmMzUjViR1ZmWldScGRDY3BmVHd2YzNCaGJqNWdPMXh1WEhSY2RGeDBKQ2duTG1Wa2FYUXRjM1I1YkdVdGRtbGxkeUF1YUdWaFpHeHBibVVnTG1SaGRHVXRjM1JoZEhWekp5a3VZWEJ3Wlc1a0tHaDBiV3dwTzF4dVhIUmNkRngwSkdWc1pXMWxiblJjYmx4MFhIUmNkRngwTG1Ga1pDZ2taV3hsYldWdWRDNXphV0pzYVc1bmN5Z25MbUZqZEdsdmJpNWtaV3hsZEdVbktTbGNibHgwWEhSY2RGeDBMbkpsYlc5MlpTZ3BPMXh1WEhSY2RIMHBPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1JYWmxiblE2SUVSbGJHVjBaU0JDZFhSMGIyNGdRMnhwWTJ0Y2JseDBJQ3BjYmx4MElDb2dSR1ZzWlhSbElIUm9aU0JqZFhKeVpXNTBJSE4wZVd4bExpQlVhR2x6SUdOaGJHeGlZV05ySUcxMWMzUWdaR2x6Y0d4aGVTQmhJRzF2WkdGc0lIQnliMjF3ZENCMGJ5QjBhR1VnZFhObGNpQmlaV1p2Y21WY2JseDBJQ29nY21WdGIzWnBibWNnZEdobElITjBlV3hsTGx4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMjl1UTJ4cFkydEVaV3hsZEdVb0tTQjdYRzVjZEZ4MFkyOXVjM1FnZEdsMGJHVWdQU0JUZEhsc1pVVmthWFF1VEdGdVozVmhaMlV1ZEhKaGJuTnNZWFJsS0NkMGFYUnNaVjlrWld4bGRHVmZjM1I1YkdWZmJXOWtZV3duTENBbmMzUjViR1ZmWldScGRDY3BPMXh1WEhSY2RHTnZibk4wSUcxbGMzTmhaMlVnUFNCVGRIbHNaVVZrYVhRdVRHRnVaM1ZoWjJVdWRISmhibk5zWVhSbEtDZHRaWE56WVdkbFgyUmxiR1YwWlY5emRIbHNaVjl0YjJSaGJDY3NJQ2R6ZEhsc1pWOWxaR2wwSnlrN1hHNWNkRngwWEc1Y2RGeDBUVzlrWVd3dWNISnZiWEIwS0hScGRHeGxMQ0J0WlhOellXZGxLUzVrYjI1bEtDZ3BJRDArSUh0Y2JseDBYSFJjZEZOMGVXeGxRWEJwTG1SbGJHVjBaU2gwYUdsekxuTjBlV3hsVG1GdFpTa3VaRzl1WlNoeVpYTndiMjV6WlNBOVBpQjdYRzVjZEZ4MFhIUmNkRVYyWlc1MGMwVnRhWFIwWlhJdWRISnBaMmRsY2xOMGVXeGxSR1ZzWlhSbFpDZ2tLQ2N1WldScGRDMXpkSGxzWlMxMmFXVjNKeWtzSUZ0eVpYTndiMjV6WlYwcE8xeHVYSFJjZEZ4MFhIUjBhR2x6TG1SbGMzUnliM2tvS1M1a2IyNWxLQ2dwSUQwK0lGSnZkWFJsY2k1c2IyRmtLQ2ROZVZOMGVXeGxjMVpwWlhjbktTazdYRzVjZEZ4MFhIUjlLVHRjYmx4MFhIUjlLVHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFVjJaVzUwT2lCUGNIUnBiMjRnUjNKdmRYQWdRbUZ5SUVOc2FXTnJYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3YWxGMVpYSjVMa1YyWlc1MGZTQmxkbVZ1ZEZ4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMjl1UTJ4cFkydFBjSFJwYjI1SGNtOTFjRUpoY2lobGRtVnVkQ2tnZTF4dVhIUmNkQ1FvWlhabGJuUXVZM1Z5Y21WdWRGUmhjbWRsZENrdWNHRnlaVzUwS0NrdWRHOW5aMnhsUTJ4aGMzTW9KMjl3Wlc0bktUdGNibHgwWEhRa0tDY3VaV1JwZEMxdmNIUnBiMjV6TFdOdmJuUmhhVzVsY2ljcExuQmxjbVpsWTNSVFkzSnZiR3hpWVhJb0ozVndaR0YwWlNjcE8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nUlhabGJuUTZJRmRwYm1SdmR5QlNaWE5wZW1WY2JseDBJQ3BjYmx4MElDb2dRSEJ5YVhaaGRHVmNibHgwSUNvdlhHNWNkRjl2YmxkcGJtUnZkMUpsYzJsNlpTZ3BJSHRjYmx4MFhIUjBhR2x6TGw5eVpYTnBlbVZQY0hScGIyNXpRMjl1ZEdGcGJtVnlLQ2s3WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkZkbVZ1ZERvZ1QyNGdWMmx1Wkc5M0lFSmxabTl5WlNCVmJteHZZV1JjYmx4MElDcGNibHgwSUNvZ1EyaGxZMnNnYVdZZ2RHaGxjbVVnWVhKbElIVnVjMkYyWldRZ1kyaGhibWRsY3k1Y2JseDBJQ3BjYmx4MElDb2dRSEJoY21GdElIdHFVWFZsY25rdVJYWmxiblI5SUdWMlpXNTBYRzVjZENBcVhHNWNkQ0FxSUVCd2NtbDJZWFJsWEc1Y2RDQXFMMXh1WEhSZmIyNVhhVzVrYjNkQ1pXWnZjbVZWYm14dllXUW9aWFpsYm5RcElIdGNibHgwWEhSamIyNXpkQ0JqZFhKeVpXNTBVM1I1YkdWS2MyOXVJRDBnU25OdmJsQmhjbk5sY2k1bGJtTnZaR1ZUZEhsc1pVTnZibVpwWjNWeVlYUnBiMjRvZEdocGN5NXpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHBPMXh1WEhSY2RGeHVYSFJjZEdsbUlDaGpkWEp5Wlc1MFUzUjViR1ZLYzI5dUlDRTlQU0IwYUdsekxtOXlhV2RwYm1Gc1UzUjViR1ZLYzI5dUtTQjdYRzVjZEZ4MFhIUmpiMjV6ZENCdFpYTnpZV2RsSUQwZ1UzUjViR1ZGWkdsMExreGhibWQxWVdkbExuUnlZVzV6YkdGMFpTZ25iV1Z6YzJGblpWOTFibk5oZG1Wa1gyTm9ZVzVuWlhNbkxDQW5jM1I1YkdWZlpXUnBkQ2NwTzF4dVhIUmNkRngwWlhabGJuUXVjbVYwZFhKdVZtRnNkV1VnUFNCdFpYTnpZV2RsTzF4dVhIUmNkRngwY21WMGRYSnVJRzFsYzNOaFoyVTdYRzVjZEZ4MGZWeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nUlhabGJuUTZJRkpsTFc5eVpHVnlJSFJvWlNCaWIzZ2djMlYwZEdsdVozTXVYRzVjZENBcVhHNWNkQ0FxSUZSb2FYTWdiV1YwYUc5a0lIZHBiR3dnZFhCa1lYUmxJSFJvWlNCd2IzTnBkR2x2YmlCdlppQjBhR1VnWW05NElITmxkSFJwYm1kekxseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMnBSZFdWeWVTNUZkbVZ1ZEgwZ1pYWmxiblJjYmx4MElDb2dYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZiMjVWY0dSaGRHVkNiM2hRYjNOcGRHbHZibk1vWlhabGJuUXBJSHRjYmx4MFhIUWtLR1YyWlc1MExtTjFjbkpsYm5SVVlYSm5aWFFwTG1acGJtUW9KeTVtYjNKdExXZHliM1Z3SnlrdVpXRmphQ2dvYVc1a1pYZ3NJR1p2Y20xSGNtOTFjQ2tnUFQ0Z2UxeHVYSFJjZEZ4MFkyOXVjM1FnSkdWc1pXMWxiblFnUFNBa0tHWnZjbTFIY205MWNDazdYRzVjZEZ4MFhIUmNibHgwWEhSY2RDUXVaV0ZqYUNoMGFHbHpMbk4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaTVuWlhSVFpYUjBhVzVuY3lncExDQW9hVzVrWlhnc0lHTnZiR3hsWTNScGIyNHBJRDArSUh0Y2JseDBYSFJjZEZ4MGFXWWdLR052Ykd4bFkzUnBiMjR1WjJWMFZIbHdaU2dwSUQwOVBTQW5ZbTk0WlhNbktTQjdYRzVjZEZ4MFhIUmNkRngwSkM1bFlXTm9LR052Ykd4bFkzUnBiMjR1WjJWMFJXNTBjbWxsY3lncExDQW9hVzVrWlhnc0lHSnZlRk5sZEhScGJtY3BJRDArSUh0Y2JseDBYSFJjZEZ4MFhIUmNkR2xtSUNoaWIzaFRaWFIwYVc1bkxtZGxkRTVoYldVb0tTQTlQVDBnSkdWc1pXMWxiblF1Wm1sdVpDZ25hVzV3ZFhRNlkyaGxZMnRpYjNnbktTNWhkSFJ5S0NkcFpDY3BLU0I3WEc1Y2RGeDBYSFJjZEZ4MFhIUmNkR0p2ZUZObGRIUnBibWN1YzJWMFVHOXphWFJwYjI0b0pHVnNaVzFsYm5RdWFXNWtaWGdvS1NBcklERXBPMXh1WEhSY2RGeDBYSFJjZEZ4MGZWeHVYSFJjZEZ4MFhIUmNkSDBwTzF4dVhIUmNkRngwWEhSOVhHNWNkRngwWEhSOUtUdGNibHgwWEhSOUtUdGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVWMlpXNTBPaUJEZFhOMGIyMGdVM1I1YkdWeklFTm9ZVzVuWldSY2JseDBJQ3BjYmx4MElDb2dRSEJoY21GdElIdHFVWFZsY25rdVJYWmxiblI5SUdWMlpXNTBYRzVjZENBcUlFQndZWEpoYlNCN1UzUnlhVzVuZlNCamRYTjBiMjFUZEhsc1pYTWdRMjl1ZEdGcGJuTWdkR2hsSUc1bGR5QmpkWE4wYjIwZ1ExTlRMbHh1WEhRZ0tseHVYSFFnS2lCQWNISnBkbUYwWlZ4dVhIUWdLaTljYmx4MFgyOXVRM1Z6ZEc5dFUzUjViR1Z6UTJoaGJtZGxaQ2hsZG1WdWRDd2dZM1Z6ZEc5dFUzUjViR1Z6S1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMxTjBjbWx1WnloamRYTjBiMjFUZEhsc1pYTXBPMXh1WEhSY2RIUm9hWE11YzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1TG5ObGRFTjFjM1J2YlZOMGVXeGxjeWhqZFhOMGIyMVRkSGxzWlhNcE8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nVG1GMmFXZGhkR1Z6SUdKaFkyc2dkRzhnVFhsVGRIbHNaWE5XYVdWM0lHTnZiblJ5YjJ4c1pYSXVYRzVjZENBcVhHNWNkQ0FxSUVCd2NtbDJZWFJsWEc1Y2RDQXFMMXh1WEhSZloyOUNZV05yVkc5TmVWTjBlV3hsYzFacFpYY29LU0I3WEc1Y2RGeDBkR2hwY3k1a1pYTjBjbTk1S0NrdVpHOXVaU2dvS1NBOVBpQlNiM1YwWlhJdWJHOWhaQ2duVFhsVGRIbHNaWE5XYVdWM0p5d2dXM1JvYVhNdWMzUjViR1ZPWVcxbFhTa3BPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1VtVnNiMkZrSUhSb1pTQjBaVzF3YkdGMFpTQndjbVYyYVdWM0xseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMU4wY21sdVozMGdjM1I1YkdWT1lXMWxJRk4wZVd4bElHNWhiV1VnZDJsc2JDQmlaU0J3Y205MmFXUmxaQ0JoY3lCaElFZEZWQ0J3WVhKaGJXVjBaWElnZEc4Z2RHaGxJSE5vYjNBdVhHNWNkQ0FxWEc1Y2RDQXFJRUJ3Y21sMllYUmxYRzVjZENBcUwxeHVYSFJmY21Wc2IyRmtWR1Z0Y0d4aGRHVlFjbVYyYVdWM0tITjBlV3hsVG1GdFpTa2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5UZEhKcGJtY29jM1I1YkdWT1lXMWxLVHRjYmx4MFhIUmNibHgwWEhSc1pYUWdkWEpzSUQwZ0pDZ25Mbk4wZVd4bExXVmthWFF0Y0hKbGRtbGxkeUJwWm5KaGJXVW5LUzVuWlhRb01Da3VZMjl1ZEdWdWRGZHBibVJ2ZHk1c2IyTmhkR2x2Ymk1b2NtVm1PMXh1WEhSY2RHTnZibk4wSUhCaGNtRnRaWFJsY2lBOUlDZHpkSGxzWlY5bFpHbDBYM04wZVd4bFgyNWhiV1U5SnlBcklHVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDaHpkSGxzWlU1aGJXVXBPMXh1WEhSY2RGeHVYSFJjZEdsbUlDaDFjbXd1YVc1a1pYaFBaaWduYzNSNWJHVmZaV1JwZEY5emRIbHNaVjl1WVcxbFBTY3BJRDRnTFRFcElIdGNibHgwWEhSY2RIVnliQ0E5SUhWeWJDNXlaWEJzWVdObEtDOXpkSGxzWlY5bFpHbDBYM04wZVd4bFgyNWhiV1U5TGlvdlp5d2djR0Z5WVcxbGRHVnlLVHRjYmx4MFhIUjlJR1ZzYzJVZ2FXWWdLSFZ5YkM1cGJtUmxlRTltS0NjL0p5a2dQVDA5SUMweEtTQjdYRzVjZEZ4MFhIUjFjbXdnS3owZ0p6OG5JQ3NnY0dGeVlXMWxkR1Z5TzF4dVhIUmNkSDBnWld4elpTQjdYRzVjZEZ4MFhIUjFjbXdnS3owZ0p5WW5JQ3NnY0dGeVlXMWxkR1Z5TzF4dVhIUmNkSDFjYmx4MFhIUmNibHgwWEhRa0tDY3VjM1I1YkdVdFpXUnBkQzF3Y21WMmFXVjNJR2xtY21GdFpTY3BMbWRsZENnd0tTNWpiMjUwWlc1MFYybHVaRzkzTG14dlkyRjBhVzl1TG1oeVpXWWdQU0IxY213N1hHNWNkRngwWEc1Y2RGeDBSWFpsYm5SelJXMXBkSFJsY2k1MGNtbG5aMlZ5VUhKbGRtbGxkMUpsYkc5aFpHVmtLQ1FvSnk1bFpHbDBMWE4wZVd4bExYWnBaWGNuS1N3Z1czTjBlV3hsVG1GdFpWMHBPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1FtbHVaQ0JsZG1WdWRDQm9ZVzVrYkdWeWN5Qm1iM0lnZEdobElITmxkSFJwYm1keklIWnBaWGN1WEc1Y2RDQXFYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZZbWx1WkVWMlpXNTBTR0Z1Wkd4bGNuTW9LU0I3WEc1Y2RGeDBKQ2duTG1Wa2FYUXRjM1I1YkdVdGRtbGxkeWNwWEc1Y2RGeDBYSFF1YjJabUtDZGpiR2xqYXljcFhHNWNkRngwWEhRdWIyNG9KMk5zYVdOckp5d2dKeTVpZEc0dWMyRjJaU2NzSUNncElEMCtJSFJvYVhNdVgyOXVRMnhwWTJ0VFlYWmxLQ2twWEc1Y2RGeDBYSFF1YjI0b0oyTnNhV05ySnl3Z0p5NWlkRzR1Y0hKbGRtbGxkeWNzSUNncElEMCtJSFJvYVhNdVgyOXVRMnhwWTJ0UWNtVjJhV1YzS0NrcFhHNWNkRngwWEhRdWIyNG9KMk5zYVdOckp5d2dKeTVpZEc0dVltRmpheWNzSUNncElEMCtJSFJvYVhNdVgyOXVRMnhwWTJ0Q1lXTnJLQ2twWEc1Y2RGeDBYSFF1YjI0b0oyTnNhV05ySnl3Z0p5NWhZM1JwYjI0dVlXTjBhWFpoZEdVbkxDQmxkbVZ1ZENBOVBpQjBhR2x6TGw5dmJrTnNhV05yUVdOMGFYWmhkR1VvWlhabGJuUXBLVnh1WEhSY2RGeDBMbTl1S0NkamJHbGpheWNzSUNjdVlXTjBhVzl1TG1SbGJHVjBaU2NzSUNncElEMCtJSFJvYVhNdVgyOXVRMnhwWTJ0RVpXeGxkR1VvS1NsY2JseDBYSFJjZEM1dmJpZ25ZMnhwWTJzbkxDQW5MbUZqZEdsdmJpNWhaR1F0WTNWemRHOXRMV056Y3ljc0lDZ3BJRDArSUhSb2FYTXVYMjl1UTJ4cFkydEJaR1JEZFhOMGIyMURjM01vS1NsY2JseDBYSFJjZEM1dmJpZ25jMjl5ZEhWd1pHRjBaU2NzSUNjdVpISnZjR1J2ZDI0dGJXVnVkUzUxYVMxemIzSjBZV0pzWlNjc0lHVjJaVzUwSUQwK0lIUm9hWE11WDI5dVZYQmtZWFJsUW05NFVHOXphWFJwYjI1ektHVjJaVzUwS1NrN1hHNWNkRngwWEc1Y2RGeDBKQ2duTG1Wa2FYUXRiM0IwYVc5dWN5MWpiMjUwWVdsdVpYSWdMbTl3ZEdsdmJpY3BYRzVjZEZ4MFhIUXViMlptS0NkamJHbGpheWNwWEc1Y2RGeDBYSFF1YjI0b0oyTnNhV05ySnl3Z0p5NXBZMjl1TENBdWFXNW1ieXdnTG1SeWIzQmtiM2R1TFdsamIyNG5MQ0JsZG1WdWRDQTlQaUIwYUdsekxsOXZia05zYVdOclQzQjBhVzl1UjNKdmRYQkNZWElvWlhabGJuUXBLVHRjYmx4MFhIUmNibHgwWEhRa0tIZHBibVJ2ZHlsY2JseDBYSFJjZEM1dmJpZ25jbVZ6YVhwbEp5d2dLQ2tnUFQ0Z2RHaHBjeTVmYjI1WGFXNWtiM2RTWlhOcGVtVW9LU2xjYmx4MFhIUmNkQzV2YmlnblltVm1iM0psZFc1c2IyRmtKeXdnWlhabGJuUWdQVDRnZEdocGN5NWZiMjVYYVc1a2IzZENaV1p2Y21WVmJteHZZV1FvWlhabGJuUXBLVnh1WEhSY2RGeDBMbTl1S0NkVGRIbHNaVVZrYVhRdVEzVnpkRzl0VTNSNWJHVnpRMmhoYm1kbFpDY3NJQ2hsZG1WdWRDd2dZM1Z6ZEc5dFUzUjViR1Z6S1NBOVBpQjBhR2x6TGw5dmJrTjFjM1J2YlZOMGVXeGxjME5vWVc1blpXUW9aWFpsYm5Rc0lHTjFjM1J2YlZOMGVXeGxjeWtwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dVbVZ6YVhwbElFOXdkR2x2Ym5NZ1EyOXVkR0ZwYm1WeVhHNWNkQ0FxWEc1Y2RDQXFJRUJ3Y21sMllYUmxYRzVjZENBcUwxeHVYSFJmY21WemFYcGxUM0IwYVc5dWMwTnZiblJoYVc1bGNpZ3BJSHRjYmx4MFhIUmpiMjV6ZENCbFpHbDBUM0IwYVc5dWMwTnZiblJoYVc1bGNraGxhV2RvZENBOUlIZHBibVJ2ZHk1cGJtNWxja2hsYVdkb2RGeHVYSFJjZEZ4MExTQWtLQ2N1YzNSNWJHVXRaV1JwZEMxb1pXRmtiR2x1WlNjcExtOTFkR1Z5U0dWcFoyaDBLQ2xjYmx4MFhIUmNkQzBnSkNnbkxtVmthWFF0YzNSNWJHVXRkbWxsZHlBdWFHVmhaR3hwYm1VbktTNXZkWFJsY2tobGFXZG9kQ2dwWEc1Y2RGeDBYSFF0SUNRb0p5NWxaR2wwTFhOMGVXeGxMWFpwWlhjZ0xtWnZiM1JsY2kxamIyNTBZV2x1WlhJbktTNXZkWFJsY2tobGFXZG9kQ2dwTzF4dVhIUmNkQ1FvSnk1bFpHbDBMVzl3ZEdsdmJuTXRZMjl1ZEdGcGJtVnlKeWt1YUdWcFoyaDBLR1ZrYVhSUGNIUnBiMjV6UTI5dWRHRnBibVZ5U0dWcFoyaDBLVHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlGTmxkQ0JNYjJOaGJDQlRkRzl5WVdkbElFTnZiRzl5SUZCaGJHVjBkR1ZjYmx4MElDcGNibHgwSUNvZ1ZHaGxJR052Ykc5eWNHbGphMlZ5SUhkcFpHZGxkSE1nYzJoaGNtVWdkR2hsYVhJZ2NHRnNaWFIwWlNCMGFISnZkV2RvSUhSb1pTQmNJbk4wZVd4bFgyVmthWFJmWTI5c2IzSmZjR0ZzWlhSMFpWd2lJR2wwWlcwZ2FXNGdkR2hsWEc1Y2RDQXFJR0p5YjNkelpYSW5jeUJzYjJOaGJDQnpkRzl5WVdkbExseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMU4wY21sdVozMGdZMjlzYjNKUVlXeGxkSFJsSUVOdmJuUmhhVzV6SUhSb1pTQmpiMnh2Y25NZ2RHOGdZbVVnZDNKcGRIUmxiaUJwYmlCc2IyTmhiQ0J6ZEc5eVlXZGxMbHh1WEhRZ0tseHVYSFFnS2lCQWNISnBkbUYwWlZ4dVhIUWdLaTljYmx4MFgzTmxkRXh2WTJGc1UzUnZjbUZuWlVOdmJHOXlVR0ZzWlhSMFpTaGpiMnh2Y2xCaGJHVjBkR1VwSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selQySnFaV04wS0dOdmJHOXlVR0ZzWlhSMFpTazdYRzVjZEZ4MFhHNWNkRngwYVdZZ0tIZHBibVJ2ZHk1c2IyTmhiRk4wYjNKaFoyVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVYSFJjZEZ4MFUzUjViR1ZGWkdsMExrUmxZblZuTG5kaGNtNG9KMHh2WTJGc0lITjBiM0poWjJVZ2FYTWdibTkwSUhOMWNIQnZjblJsWkN3Z2JtOGdZMjlzYjNJZ2NHRnNaWFIwWlNCM2FXeHNJR0psSUhObGRDNG5LVHRjYmx4MFhIUmNkSEpsZEhWeWJqc2dMeThnYkc5allXd2djM1J2Y21GblpTQnBjeUJ1YjNRZ2MzVndjRzl5ZEdWa1hHNWNkRngwZlZ4dVhIUmNkRnh1WEhSY2RHTnZibk4wSUhOMGIzSmhaMlZMWlhrZ1BTQlRkSGxzWlVWa2FYUXVRMjl1Wm1sbkxtZGxkQ2duYkc5allXeFRkRzl5WVdkbFEyOXNiM0pRWVd4bGRIUmxKeWs3WEc1Y2RGeDBiRzlqWVd4VGRHOXlZV2RsTG5KbGJXOTJaVWwwWlcwb2MzUnZjbUZuWlV0bGVTazdYRzVjZEZ4MGJHOWpZV3hUZEc5eVlXZGxMbk5sZEVsMFpXMG9jM1J2Y21GblpVdGxlU3dnSnpzbklDc2dZMjlzYjNKUVlXeGxkSFJsTG1wdmFXNG9KenNuS1NrN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJXWVd4cFpHRjBaV1FnZDJobGRHaGxjaUIwYUdWeVpTQmhjbVVnZFc1ellYWmxaQ0JqYUdGdVoyVnpMbHh1WEhRZ0tseHVYSFFnS2lCVmMyVWdkR2hwY3lCdFpYUm9iMlFnWW1WbWIzSmxJR3hsWVhacGJtY2dkR2hsSUVWa2FYUlRkSGxzWlZacFpYY2dkRzhnZG1Gc2FXUmhkR1VnZDJobGRHaGxjaUIwYUdWeVpTQmhjbVVnZFc1ellYWmxaQ0JqYUdGdVoyVnpMbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0cVVYVmxjbmt1VUhKdmJXbHpaWDBnVW1WMGRYSnVjeUJoSUhCeWIyMXBjMlVnZEdoaGRDQjNhV3hzSUdKbElISmxjMjlzZG1Wa0lHbG1JSFJvWlNCMWMyVnlJSEpsWVd4c2VTQjNZVzUwY3lCMGJ5QnNaV0YyWlNCMGFHVWdjR0ZuWlM1Y2JseDBJQ3BjYmx4MElDb2dRSEJ5YVhaaGRHVmNibHgwSUNvdlhHNWNkRjkyWVd4cFpHRjBaVlZ1YzJGMlpXUkRhR0Z1WjJWektDa2dlMXh1WEhSY2RDOHZJRmR2Y210aGNtOTFibVFnWm05eUlIRjFhV05yYkhrZ1kyaGxZMnRwYm1jZ2FXWWdkR2hsY21VZ1lYSmxJR0Z1ZVNCamFHRnVaMlZ6SUdseklIUnZJR1Z1WTI5a1pTQjBhR1VnWENKemRIbHNaVU52Ym1acFozVnlZWFJwYjI1Y0lpQmNibHgwWEhRdkx5QmhibVFnZEdobElGd2liM0pwWjJsdVlXeFRkSGxzWlVwemIyNWNJaTVjYmx4MFhIUmpiMjV6ZENCamRYSnlaVzUwVTNSNWJHVktjMjl1SUQwZ1NuTnZibEJoY25ObGNpNWxibU52WkdWVGRIbHNaVU52Ym1acFozVnlZWFJwYjI0b2RHaHBjeTV6ZEhsc1pVTnZibVpwWjNWeVlYUnBiMjRwTzF4dVhIUmNkR3hsZENCd2NtOXRhWE5sTzF4dVhIUmNkRnh1WEhSY2RHbG1JQ2hqZFhKeVpXNTBVM1I1YkdWS2MyOXVJQ0U5UFNCMGFHbHpMbTl5YVdkcGJtRnNVM1I1YkdWS2MyOXVLU0I3WEc1Y2RGeDBYSFJqYjI1emRDQjBhWFJzWlNBOUlGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KM1JwZEd4bFgzVnVjMkYyWldSZlkyaGhibWRsY3ljc0lDZHpkSGxzWlY5bFpHbDBKeWs3WEc1Y2RGeDBYSFJqYjI1emRDQnRaWE56WVdkbElEMGdVM1I1YkdWRlpHbDBMa3hoYm1kMVlXZGxMblJ5WVc1emJHRjBaU2duYldWemMyRm5aVjkxYm5OaGRtVmtYMk5vWVc1blpYTW5MQ0FuYzNSNWJHVmZaV1JwZENjcE8xeHVYSFJjZEZ4MGNISnZiV2x6WlNBOUlFMXZaR0ZzTG5CeWIyMXdkQ2gwYVhSc1pTd2diV1Z6YzJGblpTazdYRzVjZEZ4MGZTQmxiSE5sSUh0Y2JseDBYSFJjZEhCeWIyMXBjMlVnUFNBa0xrUmxabVZ5Y21Wa0tDa3VjbVZ6YjJ4MlpTZ3BPeUF2THlCT2IzUm9hVzVuSUhkaGN5QmphR0Z1WjJWa0xseHVYSFJjZEgxY2JseDBYSFJjYmx4MFhIUnlaWFIxY200Z2NISnZiV2x6WlR0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRXh2WVdRZ2RHaGxJSE5sZEhScGJtZHpJSFJsYlhCc1lYUmxJSFpwWlhjdVhHNWNkQ0FxWEc1Y2RDQXFJRlJvYVhNZ2JXVjBhRzlrSUhkcGJHd2dZM0psWVhSbElIUm9aU0JqYjNKeVpXTjBJRWhVVFV3Z1ptOXlJSFJvWlNCemRIbHNaU0J6WlhSMGFXNW5jeUJpZVNCMWMybHVaeUIwYUdWY2JseDBJQ29nVTNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1SUc5aWFtVmpkQzVjYmx4MElDcGNibHgwSUNvZ1FIQnlhWFpoZEdWY2JseDBJQ292WEc1Y2RGOXNiMkZrVm1sbGQxUmxiWEJzWVhSbEtDa2dlMXh1WEhSY2RHbG1JQ2gwYUdsekxuTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpQTlQVDBnYm5Wc2JDa2dlMXh1WEhSY2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFVhR1VnWTI5dWRISnZiR3hsY2lCM1lYTWdibTkwSUdsdWFYUnBZV3hwZW1Wa0lIQnliM0JsY214NUlTQlVhR1Z5WlNCcGN5QnVieUJ6ZEhsc1pTQmpiMjVtYVdkMWNtRjBhVzl1SUhObGRDNG5LVHRjYmx4MFhIUjlYRzVjZEZ4MFhHNWNkRngwWTI5dWMzUWdkR1Z0Y0d4aGRHVWdQU0FrS0NjalpXUnBkQzF6ZEhsc1pTMTJhV1YzTFhSbGJYQnNZWFJsSnlrdWFIUnRiQ2dwTzF4dVhIUmNkR052Ym5OMElHUmhkR0VnUFNCS2MyOXVVR0Z5YzJWeUxtVnVZMjlrWlZOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2YmloMGFHbHpMbk4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaXdnWm1Gc2MyVXBPMXh1WEhSY2RHeGxkQ0J1WlhkRmJuUnlhV1Z6UVhKeVlYazdYRzVjZEZ4MFkyOXVjM1FnZDJsa1oyVjBTVzV6ZEdGdVkyVnpJRDBnVzEwN1hHNWNkRngwWTI5dWMzUWdZMjlzYjNKUVlXeGxkSFJsSUQwZ1cxMDdYRzVjZEZ4MFkyOXVjM1FnWkdGMFpVWnZjbTFoZENBOUlGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2RzWVc1bmRXRm5aVU52WkdVbktTQTlQVDBnSjJSbEp5QS9JQ2RrWkM1TlRTNTVlWGw1SnlBNklDZE5UUzVrWkM1NWVYbDVKenNnWEc1Y2RGeDBYRzVjZEZ4MEx5OGdRV1JrSUhSeVlXNXpiR0YwYVc5dWN5QmhibVFnYjNSb1pYSWdiR0ZpWld4ekxpQmNibHgwWEhSa1lYUmhMbXhoWW1Wc1gyRmpkR2wyWlNBOUlGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KMnhoWW1Wc1gyRmpkR2wyWlNjc0lDZHpkSGxzWlY5bFpHbDBKeWs3WEc1Y2RGeDBaR0YwWVM1dmNIUnBiMjVmWVdSa1gyTjFjM1J2YlY5amMzTWdQU0JUZEhsc1pVVmthWFF1VEdGdVozVmhaMlV1ZEhKaGJuTnNZWFJsS0NkdmNIUnBiMjVmWVdSa1gyTjFjM1J2YlY5amMzTW5MQ0FuYzNSNWJHVmZaV1JwZENjcE8xeHVYSFJjZEdSaGRHRXViM0IwYVc5dVgyRmpkR2wyWVhSbElEMGdVM1I1YkdWRlpHbDBMa3hoYm1kMVlXZGxMblJ5WVc1emJHRjBaU2duYjNCMGFXOXVYMkZqZEdsMllYUmxKeXdnSjNOMGVXeGxYMlZrYVhRbktUdGNibHgwWEhSa1lYUmhMbTl3ZEdsdmJsOWtaV3hsZEdVZ1BTQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZaR1ZzWlhSbEp5d2dKM04wZVd4bFgyVmthWFFuS1R0Y2JseDBYSFJrWVhSaExtMXZaR2xtYVdOaGRHbHZia1JoZEdVZ1BTQkVZWFJsTG5CaGNuTmxLR1JoZEdFdWJXOWthV1pwWTJGMGFXOXVSR0YwWlNrdWRHOVRkSEpwYm1jb1pHRjBaVVp2Y20xaGRDazdYRzVjZEZ4MFpHRjBZUzV2Y0hScGIyNWZjMkYyWlNBOUlGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KMjl3ZEdsdmJsOXpZWFpsSnl3Z0ozTjBlV3hsWDJWa2FYUW5LVHRjYmx4MFhIUmtZWFJoTG05d2RHbHZibDl3Y21WMmFXVjNJRDBnVTNSNWJHVkZaR2wwTGt4aGJtZDFZV2RsTG5SeVlXNXpiR0YwWlNnbmIzQjBhVzl1WDNCeVpYWnBaWGNuTENBbmMzUjViR1ZmWldScGRDY3BPMXh1WEhSY2RHUmhkR0V1YjNCMGFXOXVYMkpoWTJzZ1BTQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZZbUZqYXljc0lDZHpkSGxzWlY5bFpHbDBKeWs3WEc1Y2RGeDBYRzVjZEZ4MEpDNWxZV05vS0dSaGRHRXVjMlYwZEdsdVozTXNJQ2hwYm1SbGVDd2dZMjlzYkdWamRHbHZiaWtnUFQ0Z2UxeHVYSFJjZEZ4MFkyOXNiR1ZqZEdsdmJpNTBhWFJzWlNBOUlGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9ZMjlzYkdWamRHbHZiaTV1WVcxbExDQW5kR1Z0Y0d4aGRHVW5LVHRjYmx4MFhIUmNkRzVsZDBWdWRISnBaWE5CY25KaGVTQTlJRnRkT3lBdkx5QnlaWE5sZENCaGNuSmhlVnh1WEhSY2RGeDBYRzVjZEZ4MFhIUnBaaUFvWTI5c2JHVmpkR2x2Ymk1MGVYQmxJRDA5UFNBblltOTRaWE1uS1NCN1hHNWNkRngwWEhSY2RHTnZiR3hsWTNScGIyNHVaVzUwY21sbGN5NXpiM0owS0NoaExDQmlLU0E5UGlCN1hHNWNkRngwWEhSY2RGeDBhV1lnS0dFdWNHOXphWFJwYjI0Z1BDQmlMbkJ2YzJsMGFXOXVLU0I3WEc1Y2RGeDBYSFJjZEZ4MFhIUnlaWFIxY200Z0xURTdYRzVjZEZ4MFhIUmNkRngwZlNCbGJITmxJR2xtSUNoaExuQnZjMmwwYVc5dUlENGdZaTV3YjNOcGRHbHZiaWtnZTF4dVhIUmNkRngwWEhSY2RGeDBjbVYwZFhKdUlERTdYRzVjZEZ4MFhIUmNkRngwZlZ4dVhIUmNkRngwWEhSY2RISmxkSFZ5YmlBd08xeHVYSFJjZEZ4MFhIUjlLVHRjYmx4MFhIUmNkSDFjYmx4MFhIUmNkRnh1WEhSY2RGeDBKQzVsWVdOb0tHTnZiR3hsWTNScGIyNHVaVzUwY21sbGN5d2dLR2x1WkdWNExDQmxiblJ5ZVNrZ1BUNGdlMXh1WEhSY2RGeDBYSFF2THlCRGFHVmpheUJwWmlCMGFHVWdjMlYwZEdsdVp5QnBjeUJoSUdOdmJHOXlJR0Z1WkNCcFppQnBkQ0JpWld4dmJtZHpJR2x1SUhSb1pTQmpiMnh2Y2lCd1lXeGxkSFJsTGx4dVhIUmNkRngwWEhScFppQW9aR0YwWVM1amIyeHZjbEJoYkdWMGRHVXBJSHRjYmx4MFhIUmNkRngwWEhRa0xtVmhZMmdvWkdGMFlTNWpiMnh2Y2xCaGJHVjBkR1VzSUNocGJtUmxlQ3dnZG1GeWFXRmliR1ZPWVcxbEtTQTlQaUI3WEc1Y2RGeDBYSFJjZEZ4MFhIUnBaaUFvZG1GeWFXRmliR1ZPWVcxbElEMDlQU0JsYm5SeWVTNXVZVzFsSUNZbUlHVnVkSEo1TG5SNWNHVWdQVDA5SUNkamIyeHZjaWNwSUh0Y2JseDBYSFJjZEZ4MFhIUmNkRngwWTI5c2IzSlFZV3hsZEhSbExuQjFjMmdvWlc1MGNua3VkbUZzZFdVcE8xeHVYSFJjZEZ4MFhIUmNkRngwZlZ4dVhIUmNkRngwWEhSY2RIMHBPMXh1WEhSY2RGeDBYSFI5WEc1Y2RGeDBYSFJjZEZ4dVhIUmNkRngwWEhRdkx5QkRjbVZoZEdVZ2RHaGxJSE5sZEhScGJtY2dhVzV6ZEdGdVkyVXVYRzVjZEZ4MFhIUmNkSFJ5ZVNCN1hHNWNkRngwWEhSY2RGeDBZMjl1YzNRZ2QybGtaMlYwU1c1emRHRnVZMlVnUFNCWGFXUm5aWFJEYjI1MlpYSjBaWEl1WTI5dWRtVnlkRk5sZEhScGJtZFViMWRwWkdkbGRDaGxiblJ5ZVN3Z2RHaHBjeTV6ZEhsc1pVTnZibVpwWjNWeVlYUnBiMjRzWEc1Y2RGeDBYSFJjZEZ4MFhIUjBhR2x6TG5SbGJYQnNZWFJsU1cxaFoyVnpLVHRjYmx4MFhIUmNkRngwWEhRdkx5QlFkWE5vSUhSb1pTQnBibk4wWVc1alpYTWdkRzhnZEdobGFYSWdjbVZ6Y0dWamRHbDJaU0JoY25KaGVYTXVYRzVjZEZ4MFhIUmNkRngwYm1WM1JXNTBjbWxsYzBGeWNtRjVMbkIxYzJnb2QybGtaMlYwU1c1emRHRnVZMlVwTzF4dVhIUmNkRngwWEhSY2RIZHBaR2RsZEVsdWMzUmhibU5sY3k1d2RYTm9LSGRwWkdkbGRFbHVjM1JoYm1ObEtUdGNibHgwWEhSY2RGeDBmU0JqWVhSamFDQW9aWGhqWlhCMGFXOXVLU0I3WEc1Y2RGeDBYSFJjZEZ4MFUzUjViR1ZGWkdsMExrUmxZblZuTG1WeWNtOXlLQ2RUZEhsc1pVVmthWFFnUlhKeWIzSTZJQ2NzSUdWNFkyVndkR2x2YmlrN1hHNWNkRngwWEhSY2RGeDBjbVYwZFhKdUlIUnlkV1U3SUM4dklHTnZiblJwYm5WbFhHNWNkRngwWEhSY2RIMWNibHgwWEhSY2RIMHBPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUmpiMnhzWldOMGFXOXVMbVZ1ZEhKcFpYTWdQU0J1WlhkRmJuUnlhV1Z6UVhKeVlYazdYRzVjZEZ4MGZTazdYRzVjZEZ4MFhHNWNkRngwTHk4Z1VtVnVaR1Z5SUhSb1pTQjBaVzF3YkdGMFpTQmhibVFnWW1sdVpDQjBhR1VnWlhabGJuUWdhR0Z1Wkd4bGNuTXVYRzVjZEZ4MEpDZ25Mbk4wZVd4bExXVmthWFF0ZG1sbGR5Y3BMbWgwYld3b1RYVnpkR0ZqYUdVdWNtVnVaR1Z5S0hSbGJYQnNZWFJsTENCa1lYUmhLU2t1Wm1Ga1pVbHVLQ2s3WEc1Y2RGeDBkR2hwY3k1ZlltbHVaRVYyWlc1MFNHRnVaR3hsY25Nb0tUdGNibHgwWEhSY2JseDBYSFF2THlCSmJtbDBhV0ZzYVhwbElIUm9aU0IzYVdSblpYUnpJRnh1WEhSY2RDUXVaV0ZqYUNoM2FXUm5aWFJKYm5OMFlXNWpaWE1zSUNocGJtUmxlQ3dnZDJsa1oyVjBLU0E5UGlCN1hHNWNkRngwWEhSM2FXUm5aWFF1YVc1cGRHbGhiR2w2WlNncE95QXZMeUIzYVd4c0lHSnBibVFnZEdobElHVjJaVzUwSUdoaGJtUnNaWEp6SUZ4dVhIUmNkSDBwTzF4dVhIUmNkRnh1WEhSY2RDOHZJRk5sZENCMGFHVWdiRzlqWVd3Z2MzUnZjbUZuWlNCamIyeHZjaUJ3WVd4bGRIUmxJSE52SUhSb1lYUWdkMkZzYkNCMGFHVWdZMjlzYjNKd2FXTnJaWEp6SUhOb1lYSmxJSFJvWlNCellXMWxJSEJoYkdWMGRHVXVYRzVjZEZ4MGRHaHBjeTVmYzJWMFRHOWpZV3hUZEc5eVlXZGxRMjlzYjNKUVlXeGxkSFJsS0dOdmJHOXlVR0ZzWlhSMFpTazdYRzVjZEZ4MFhHNWNkRngwTHk4Z1FXUmtJRzFoZEdWeWFXRnNJR1JsYzJsbmJpQmxabVpsWTNSeklIUnZJRzVsZHlCdlltcGxZM1J6TGlCY2JseDBYSFFrTG0xaGRHVnlhV0ZzTG1sdWFYUW9LVHRjYmx4MFhIUmNibHgwWEhRdkx5QkJaR1FnYzI5eWRHRmliR1VnWm5WdVkzUnBiMjVoYkdsMGVTQjBieUJpYjNobGN5NGdYRzVjZEZ4MEpDZ25Mbk4wZVd4bExXVmthWFF0ZG1sbGR5QXVabTl5YlMxbmNtOTFjQ0F1Wm1FdFltRnljeWNwWEc1Y2RGeDBYSFF1Y0dGeVpXNTBjeWduTG1SeWIzQmtiM2R1TFcxbGJuVW5LVnh1WEhSY2RGeDBMbk52Y25SaFlteGxLSHRjYmx4MFhIUmNkRngwWVhocGN6b2dKM2tuTEZ4dVhIUmNkRngwWEhSdmNHRmphWFI1T2lBd0xqVXNYRzVjZEZ4MFhIUmNkR052Ym5SaGFXNXRaVzUwT2lBbmNHRnlaVzUwSjF4dVhIUmNkRngwZlNrN1hHNWNkRngwWEc1Y2RGeDBMeThnUVdSa0lITmpjbTlzYkdKaGNuTXVYRzVjZEZ4MGRHaHBjeTVmY21WemFYcGxUM0IwYVc5dWMwTnZiblJoYVc1bGNpZ3BPMXh1WEhSY2RDUW9KeTVsWkdsMExXOXdkR2x2Ym5NdFkyOXVkR0ZwYm1WeUp5a3VjR1Z5Wm1WamRGTmpjbTlzYkdKaGNpZ3BPMXh1WEhSY2RGeHVYSFJjZEM4dklFbHVhWFJwWVd4cGVtVWdkR2hsSUdacGJIUmxjaUJpYjNnZ2QybGtaMlYwTGlCY2JseDBYSFIwYUdsekxtWnBiSFJsY2tKdmVDQTlJRzVsZHlCR2FXeDBaWEpDYjNnb0pDZ25MbVpwYkhSbGNpMWliM2d0ZDNKaGNIQmxjaWNwTENBa0tDY3VaV1JwZEMxdmNIUnBiMjV6Snlrc0lDUW9KeTVsWkdsMExXOXdkR2x2Ym5NdFkyOXVkR0ZwYm1WeUp5a3NJRnh1WEhSY2RGeDBkR2hwY3k1emRIbHNaVU52Ym1acFozVnlZWFJwYjI0cE8xeHVYSFJjZEhSb2FYTXVabWxzZEdWeVFtOTRMbWx1YVhScFlXeHBlbVVvS1R0Y2JseDBmVnh1ZlZ4dUlpd2lMeW9nTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmlBZ1RYbFRkSGxzWlhOV2FXVjNMbXB6SURJd01Ua3RNRFl0TURkY2JpQWdSMkZ0WW1sdklFZHRZa2hjYmlBZ2FIUjBjRG92TDNkM2R5NW5ZVzFpYVc4dVpHVmNiaUFnUTI5d2VYSnBaMmgwSUNoaktTQXlNREU1SUVkaGJXSnBieUJIYldKSVhHNGdJRkpsYkdWaGMyVmtJSFZ1WkdWeUlIUm9aU0JIVGxVZ1IyVnVaWEpoYkNCUWRXSnNhV01nVEdsalpXNXpaU0FvVm1WeWMybHZiaUF5S1Z4dUlDQmJhSFIwY0RvdkwzZDNkeTVuYm5VdWIzSm5MMnhwWTJWdWMyVnpMMmR3YkMweUxqQXVhSFJ0YkYxY2JpQWdMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHFMMXh1WEc1Y2JpOHFJR2RzYjJKaGJITWdMVTF2WkdGc0lDb3ZYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1YVcxd2IzSjBJRUZxWVhnZ1puSnZiU0FuTGk0dmJHbGljeTlCYW1GNEp6dGNibWx0Y0c5eWRDQk5iMlJoYkNCbWNtOXRJQ2N1TGk5c2FXSnpMMDF2WkdGc0p6dGNibWx0Y0c5eWRDQlNiM1YwWlhJZ1puSnZiU0FuTGk0dmJHbGljeTlTYjNWMFpYSW5PMXh1YVcxd2IzSjBJRVYyWlc1MGMwVnRhWFIwWlhJZ1puSnZiU0FuTGk0dmJHbGljeTlGZG1WdWRITkZiV2wwZEdWeUp6dGNibWx0Y0c5eWRDQlRkSGxzWlVGd2FTQm1jbTl0SUNjdUxpOWhjR2t2VTNSNWJHVkJjR2tuTzF4dWFXMXdiM0owSUZWelpYSkJjR2tnWm5KdmJTQW5MaTR2WVhCcEwxVnpaWEpCY0drbk8xeHVhVzF3YjNKMElFSnZhV3hsY25Cc1lYUmxRWEJwSUdaeWIyMGdKeTR1TDJGd2FTOUNiMmxzWlhKd2JHRjBaVUZ3YVNjN1hHNXBiWEJ2Y25RZ1EyRmphR1ZCY0drZ1puSnZiU0FuTGk0dllYQnBMME5oWTJobFFYQnBKenRjYmx4dUx5b3FYRzRnS2lCTmVWTjBlV3hsYzFacFpYY2dRMjl1ZEhKdmJHeGxjbHh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJOZVZOMGVXeGxjMVpwWlhjZ2UxeHVYSFF2S2lwY2JseDBJQ29nUTJ4aGMzTWdRMjl1YzNSeWRXTjBiM0pjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUhObGJHVmpkR1ZrVTNSNWJHVk9ZVzFsSUU5d2RHbHZibUZzSUNodWRXeHNLU3dnZDJobGRHaGxjaUIwYnlCelpXeGxZM1FnWVNCemNHVmphV1pwWXlCemRIbHNaU0JtY205dElIUm9aU0JzYVhOMExseHVYSFFnS2k5Y2JseDBZMjl1YzNSeWRXTjBiM0lvYzJWc1pXTjBaV1JUZEhsc1pVNWhiV1VnUFNCdWRXeHNLU0I3WEc1Y2RGeDBMeW9xWEc1Y2RGeDBJQ29nVTJWc1pXTjBaV1FnVTNSNWJHVWdUbUZ0WlZ4dVhIUmNkQ0FxWEc1Y2RGeDBJQ29nUUhSNWNHVWdlMU4wY21sdVozMWNibHgwWEhRZ0tpOWNibHgwWEhSMGFHbHpMbk5sYkdWamRHVmtVM1I1YkdWT1lXMWxJRDBnYzJWc1pXTjBaV1JUZEhsc1pVNWhiV1U3WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkpibWwwYVdGc2FYcGxJRU52Ym5SeWIyeHNaWEpjYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN2FsRjFaWEo1TGxCeWIyMXBjMlY5SUZkcGJHd2dZbVVnY21WemIyeDJaV1FnYjI1alpTQjBhR1VnYldWMGFHOWtJR2x6SUhKbFlXUjVMbHh1WEhRZ0tpOWNibHgwYVc1cGRHbGhiR2w2WlNncElIdGNibHgwWEhSamIyNXpkQ0JrWldabGNuSmxaQ0E5SUNRdVJHVm1aWEp5WldRb0tUdGNibHgwWEhSY2JseDBYSFJUZEhsc1pVRndhUzVzYVhOMEtDa3VaRzl1WlNoemRIbHNaWE1nUFQ0Z2UxeHVYSFJjZEZ4MGRHaHBjeTVmYkc5aFpGWnBaWGRVWlcxd2JHRjBaU2h6ZEhsc1pYTXVZMjl1Wm1sbktUdGNibHgwWEhSY2RIUm9hWE11WDJKcGJtUkZkbVZ1ZEVoaGJtUnNaWEp6S0NrN1hHNWNkRngwWEhSRmRtVnVkSE5GYldsMGRHVnlMblJ5YVdkblpYSkRiMjUwY205c2JHVnlTVzVwZEdsaGJHbDZaV1FvSkNnbkxuTjBlV3hsTFdWa2FYUXRkbWxsZHljcExDQmJKMDE1VTNSNWJHVnpWbWxsZHlkZEtUdGNibHgwWEhSY2RHUmxabVZ5Y21Wa0xuSmxjMjlzZG1Vb0tUdGNibHgwWEhSOUtUdGNibHgwWEhSY2JseDBYSFJ5WlhSMWNtNGdaR1ZtWlhKeVpXUXVjSEp2YldselpTZ3BPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1JHVnpkSEp2ZVNCRGIyNTBjbTlzYkdWeVhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlMnBSZFdWeWVTNVFjbTl0YVhObGZTQlhhV3hzSUdKbElISmxjMjlzZG1Wa0lHOXVZMlVnZEdobElHMWxkR2h2WkNCcGN5QnlaV0ZrZVM1Y2JseDBJQ292WEc1Y2RHUmxjM1J5YjNrb0tTQjdYRzVjZEZ4MFkyOXVjM1FnWkdWbVpYSnlaV1FnUFNBa0xrUmxabVZ5Y21Wa0tDazdYRzVjZEZ4MFkyOXVjM1FnSkhOMGVXeGxSV1JwZEZacFpYY2dQU0FrS0NjdWMzUjViR1V0WldScGRDMTJhV1YzSnlrN1hHNWNkRngwWEc1Y2RGeDBKQ2duTG5OMGVXeGxjeTFqYjI1MFlXbHVaWEluS1M1d1pYSm1aV04wVTJOeWIyeHNZbUZ5S0Nka1pYTjBjbTk1SnlrN1hHNWNkRngwWEc1Y2RGeDBKSE4wZVd4bFJXUnBkRlpwWlhjdVptRmtaVTkxZENnek1EQXNJQ2dwSUQwK0lIdGNibHgwWEhSY2RDUnpkSGxzWlVWa2FYUldhV1YzTG1oMGJXd29KeWNwT3lBdkx5QlNaVzF2ZG1VZ2RHaGxJRWhVVFV3Z1kyOWtaUzVjYmx4MFhIUmNkRVYyWlc1MGMwVnRhWFIwWlhJdWRISnBaMmRsY2tOdmJuUnliMnhzWlhKRVpYTjBjbTk1WldRb0pITjBlV3hsUldScGRGWnBaWGNzSUZzblRYbFRkSGxzWlhOV2FXVjNKMTBwTzF4dVhIUmNkRngwWkdWbVpYSnlaV1F1Y21WemIyeDJaU2dwTzF4dVhIUmNkSDBwTzF4dVhIUmNkRnh1WEhSY2RDUW9KeTV0ZVMxemRIbHNaWE10YkdsemRDd2dMbk4wZVd4bGN5MXNhWE4wSnlrdWIyWm1LQ2s3WEc1Y2RGeDBYRzVjZEZ4MGNtVjBkWEp1SUdSbFptVnljbVZrTG5CeWIyMXBjMlVvS1R0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRVYyWlc1ME9pQkRiR2xqYXlCMGFHVWdZM0psWVhSbElHNWxkeUJ6ZEhsc1pTQmlkWFIwYjI0dVhHNWNkQ0FxWEc1Y2RDQXFJRUJ3Y21sMllYUmxYRzVjZENBcUwxeHVYSFJmYjI1RGJHbGphME55WldGMFpWTjBlV3hsS0NrZ2UxeHVYSFJjZEZKdmRYUmxjaTVzYjJGa0tDZERjbVZoZEdWVGRIbHNaVTF2WkdGc0p5azdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRmRtVnVkRG9nUTJ4cFkyc2dkR2hsSUhWd2JHOWhaQ0J6ZEhsc1pTQmlkWFIwYjI0dVhHNWNkQ0FxWEc1Y2RDQXFJRUJ3Y21sMllYUmxYRzVjZENBcUwxeHVYSFJmYjI1RGJHbGphMVZ3Ykc5aFpGTjBlV3hsS0NrZ2UxeHVYSFJjZEZKdmRYUmxjaTVzYjJGa0tDZFZjR3h2WVdSVGRIbHNaVTF2WkdGc0p5azdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRmRtVnVkRG9nUTJ4cFkyc2dkR2hsSUhSbGNtMXBibUYwWlNCaWRYUjBiMjR1WEc1Y2RDQXFYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZiMjVEYkdsamExUmxjbTFwYm1GMFpTZ3BJSHRjYmx4MFhIUlZjMlZ5UVhCcExteHZaMjkxZENncExtUnZibVVvS0NrZ1BUNGdlMXh1WEhSY2RGeDBkR2hwY3k1a1pYTjBjbTk1S0NrN1hHNWNkRngwWEhSRmRtVnVkSE5GYldsMGRHVnlMblJ5YVdkblpYSkJjSEJVWlhKdGFXNWhkR1ZrS0NRb0p5NXpkSGxzWlMxbFpHbDBMWFpwWlhjbktTd2dXeWROZVZOMGVXeGxjMVpwWlhjblhTazdYRzVjZEZ4MFhIUjNhVzVrYjNjdWJHOWpZWFJwYjI0dWNtVndiR0ZqWlNoVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25jSEpsZG1sbGQxVnliQ2NwS1R0Y2JseDBYSFI5S1R0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRUZqZEdsMllYUmxJRU52Ym1acFozVnlZWFJwYjI1Y2JseDBJQ3BjYmx4MElDb2dRSEJoY21GdElIdHFVWFZsY25rdVJYWmxiblI5SUdWMlpXNTBYRzVjZENBcUlGeHVYSFFnS2lCQWNISnBkbUYwWlZ4dVhIUWdLaTljYmx4MFgyOXVRMnhwWTJ0QlkzUnBkbUYwWlZOMGVXeGxLR1YyWlc1MEtTQjdYRzVjZEZ4MFkyOXVjM1FnSkdWc1pXMWxiblFnUFNBa0tHVjJaVzUwTG1OMWNuSmxiblJVWVhKblpYUXBPMXh1WEhSY2RHTnZibk4wSUhOMGVXeGxUbUZ0WlNBOUlDUmxiR1Z0Wlc1MExuQmhjbVZ1ZEhNb0p5NWxiR1Z0Wlc1MEp5a3VabWx1WkNnbkxtbHVabThnTG01aGJXVW5LUzUwWlhoMEtDazdYRzVjZEZ4MFhHNWNkRngwVTNSNWJHVkJjR2t1WVdOMGFYWmhkR1VvYzNSNWJHVk9ZVzFsS1M1a2IyNWxLQ2h6ZEhsc1pYTXBJRDArSUh0Y2JseDBYSFJjZEVWMlpXNTBjMFZ0YVhSMFpYSXVkSEpwWjJkbGNsTjBlV3hsUVdOMGFYWmhkR1ZrS0NSbGJHVnRaVzUwTENCYmMzUjViR1ZPWVcxbFhTazdYRzVjZEZ4MFhIUjBhR2x6TGw5c2IyRmtWbWxsZDFSbGJYQnNZWFJsS0hOMGVXeGxjeWs3WEc1Y2RGeDBYSFIwYUdsekxsOWlhVzVrUlhabGJuUklZVzVrYkdWeWN5Z3BPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUXZMeUJPYjNjZ2QyVWdhR0YyWlNCaElHNWxkeUJ6ZEdGdVpHRnlaQ0J6ZEhsc1pTNGdVMjhnYkdWMEozTWdjbVZ1WlhjZ2RHaGxJRU5UVXlCallXTm9aU0F1TGk1Y2JseDBYSFJjZEd4bGRDQjFjbXdnUFNBa0tDY2piV0ZwYmkxamMzTW5MQ0FrS0NjdWMzUjViR1V0WldScGRDMXdjbVYyYVdWM0lHbG1jbUZ0WlNjcExtTnZiblJsYm5SektDa3BMbUYwZEhJb0oyaHlaV1luS1R0Y2JseDBYSFJjZEZ4dVhIUmNkRngwYVdZZ0tIVnliQzVwYm1SbGVFOW1LQ2NtYzNSNWJHVmZibUZ0WlQwbktTQStJQzB4S1NCN1hHNWNkRngwWEhSY2RIVnliQ0E5SUhWeWJDNXlaWEJzWVdObEtDOG1jM1I1YkdWZmJtRnRaVDB1S2k5bkxDQW5KeWs3WEc1Y2RGeDBYSFI5WEc1Y2RGeDBYSFJjYmx4MFhIUmNkR2xtSUNoMWNtd3VhVzVrWlhoUFppZ25KbkpsYm1WM1gyTmhZMmhsUFRFbktTQTlQVDBnTFRFcElIdGNibHgwWEhSY2RGeDBkWEpzSUNzOUlDY21jbVZ1WlhkZlkyRmphR1U5TVNjN1hHNWNkRngwWEhSOVhHNWNkRngwWEhSY2JseDBYSFJjZEVGcVlYZ3VaMlYwS0ZOMGVXeGxSV1JwZEM1RGIyNW1hV2N1WjJWMEtDZHdjbVYyYVdWM1ZYSnNKeWtnS3lBbkx5Y2dLeUIxY213cExtUnZibVVvS0NrZ1BUNGdlMXh1WEhSY2RGeDBYSFJqYjI1emRDQndZWEpoYldWMFpYSWdQU0FuUDNOMGVXeGxYMlZrYVhSZmMzUjViR1ZmYm1GdFpUMG5JQ3NnWlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwS0hOMGVXeGxUbUZ0WlNrN1hHNWNkRngwWEhSY2RHTnZibk4wSUhWeWJDQTlJRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0Nkd2NtVjJhV1YzVlhKc0p5a2dLeUJ3WVhKaGJXVjBaWEk3WEc1Y2RGeDBYSFJjZENRb0p5NXpkSGxzWlMxbFpHbDBMWEJ5WlhacFpYY2dhV1p5WVcxbEp5a3VZWFIwY2lnbmMzSmpKeXdnZFhKc0tUdGNibHgwWEhSY2RGeDBSWFpsYm5SelJXMXBkSFJsY2k1MGNtbG5aMlZ5VUhKbGRtbGxkMUpsYkc5aFpHVmtLQ1FvSnk1emRIbHNaUzFsWkdsMExYWnBaWGNuS1N3Z1czTjBlV3hsVG1GdFpWMHBPMXh1WEhSY2RGeDBmU2s3WEc1Y2RGeDBmU2s3WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkZkbVZ1ZERvZ1JXUnBkQ0JEYjI1bWFXZDFjbUYwYVc5dVhHNWNkQ0FxWEc1Y2RDQXFJRlJvYVhNZ2JXVjBhRzlrSUcxMWMzUWdiM0JsYmlCMGFHVWdaV1JwZENCelpYUjBhVzVuY3lCMmFXVjNMbHh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTJwUmRXVnllUzVGZG1WdWRIMGdaWFpsYm5SY2JseDBJQ29nWEc1Y2RDQXFJRUJ3Y21sMllYUmxYRzVjZENBcUwxeHVYSFJmYjI1RGJHbGphMFZrYVhSVGRIbHNaU2hsZG1WdWRDa2dlMXh1WEhSY2RHTnZibk4wSUhOMGVXeGxUbUZ0WlNBOUlDUW9aWFpsYm5RdVkzVnljbVZ1ZEZSaGNtZGxkQ2t1Y0dGeVpXNTBjeWduTG1Wc1pXMWxiblFuS1M1bWFXNWtLQ2N1YVc1bWJ5QXVibUZ0WlNjcExuUmxlSFFvS1R0Y2JseDBYSFJjYmx4MFhIUjBhR2x6TG1SbGMzUnliM2tvS1M1a2IyNWxLQ2dwSUQwK0lIdGNibHgwWEhSY2RGSnZkWFJsY2k1c2IyRmtLQ2RGWkdsMFUzUjViR1ZXYVdWM0p5d2dXM04wZVd4bFRtRnRaVjBwTzF4dVhIUmNkSDBwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dSWFpsYm5RNklFUjFjR3hwWTJGMFpTQkRiMjVtYVdkMWNtRjBhVzl1WEc1Y2RDQXFYRzVjZENBcUlFQndZWEpoYlNCN2FsRjFaWEo1TGtWMlpXNTBmU0JsZG1WdWRGeHVYSFFnS2x4dVhIUWdLaUJBY0hKcGRtRjBaVnh1WEhRZ0tpOWNibHgwWDI5dVEyeHBZMnRFZFhCc2FXTmhkR1ZUZEhsc1pTaGxkbVZ1ZENrZ2UxeHVYSFJjZEZKdmRYUmxjaTVzYjJGa0tDZEVkWEJzYVdOaGRHVlRkSGxzWlUxdlpHRnNKeXdnV3lRb1pYWmxiblF1WTNWeWNtVnVkRlJoY21kbGRDa3VjR0Z5Wlc1MGN5Z25MbVZzWlcxbGJuUW5LUzVtYVc1a0tDY3VhVzVtYnlBdWJtRnRaU2NwTG5SbGVIUW9LVjBwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dSR1ZzWlhSbElFTnZibVpwWjNWeVlYUnBiMjVjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0cVVYVmxjbmt1UlhabGJuUjlJR1YyWlc1MFhHNWNkQ0FxWEc1Y2RDQXFJRUJ3Y21sMllYUmxYRzVjZENBcUwxeHVYSFJmYjI1RGJHbGphMFJsYkdWMFpWTjBlV3hsS0dWMlpXNTBLU0I3WEc1Y2RGeDBZMjl1YzNRZ0pHVnNaVzFsYm5RZ1BTQWtLR1YyWlc1MExtTjFjbkpsYm5SVVlYSm5aWFFwTzF4dVhIUmNkR052Ym5OMElIUnBkR3hsSUQwZ1UzUjViR1ZGWkdsMExreGhibWQxWVdkbExuUnlZVzV6YkdGMFpTZ25kR2wwYkdWZlpHVnNaWFJsWDNOMGVXeGxYMjF2WkdGc0p5d2dKM04wZVd4bFgyVmthWFFuS1R0Y2JseDBYSFJqYjI1emRDQnRaWE56WVdkbElEMGdVM1I1YkdWRlpHbDBMa3hoYm1kMVlXZGxMblJ5WVc1emJHRjBaU2duYldWemMyRm5aVjlrWld4bGRHVmZjM1I1YkdWZmJXOWtZV3duTENBbmMzUjViR1ZmWldScGRDY3BPMXh1WEhSY2RGeHVYSFJjZEUxdlpHRnNMbkJ5YjIxd2RDaDBhWFJzWlN3Z2JXVnpjMkZuWlNrdVpHOXVaU2dvS1NBOVBpQjdYRzVjZEZ4MFhIUmpiMjV6ZENCemRIbHNaVTVoYldVZ1BTQWtaV3hsYldWdWRDNXdZWEpsYm5SektDY3VaV3hsYldWdWRDY3BMbVpwYm1Rb0p5NXBibVp2SUM1dVlXMWxKeWt1ZEdWNGRDZ3BPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUlRkSGxzWlVGd2FTNWtaV3hsZEdVb2MzUjViR1ZPWVcxbEtTNWtiMjVsS0NoemRIbHNaWE1wSUQwK0lIdGNibHgwWEhSY2RGeDBSWFpsYm5SelJXMXBkSFJsY2k1MGNtbG5aMlZ5VTNSNWJHVkVaV3hsZEdWa0tDUmxiR1Z0Wlc1MExDQmJjM1I1YkdWT1lXMWxYU2s3WEc1Y2RGeDBYSFJjZEhSb2FYTXVYMnh2WVdSV2FXVjNWR1Z0Y0d4aGRHVW9jM1I1YkdWektUdGNibHgwWEhSY2RGeDBkR2hwY3k1ZlltbHVaRVYyWlc1MFNHRnVaR3hsY25Nb0tUdGNibHgwWEhSY2RIMHBPMXh1WEhSY2RIMHBPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1JYWmxiblE2SUZOMGVXeGxJRk5sYkdWamRHVmtYRzVjZENBcVhHNWNkQ0FxSUZSb2FYTWdZMkZzYkdKaFkyc2diWFZ6ZENCeVpXWnlaWE5vSUhSb1pTQjBaVzF3YkdGMFpTQndjbVYyYVdWM0lHSmhjMlZrSUc5dUlIUm9aU0J6Wld4bFkzUmxaQ0J6ZEhsc1pTNWNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRxVVhWbGNua3VSWFpsYm5SOUlHVjJaVzUwWEc1Y2RDQXFYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZiMjVEYkdsamExTjBlV3hsUld4bGJXVnVkQ2hsZG1WdWRDa2dlMXh1WEhSY2RHTnZibk4wSUNSbGJHVnRaVzUwSUQwZ0pDaGxkbVZ1ZEM1amRYSnlaVzUwVkdGeVoyVjBLVHRjYmx4MFhIUmNibHgwWEhScFppQW9aWFpsYm5RdWRHRnlaMlYwSUQwOVBTQWtaV3hsYldWdWRDNW1hVzVrS0NjdVpISnZjR1J2ZDI0dGFXTnZiaUJwSnlrdVoyVjBLREFwSUZ4dVhIUmNkRngwZkh3Z1pYWmxiblF1ZEdGeVoyVjBJRDA5UFNBa1pXeGxiV1Z1ZEM1bWFXNWtLQ2N1WkhKdmNHUnZkMjR0YVdOdmJpQnBKeWt1WjJWMEtERXBLU0I3WEc1Y2RGeDBYSFJ5WlhSMWNtNDdJQzh2SUZSb1pTQjFjMlZ5SUdwMWMzUWdZMnhwWTJ0bFpDQnBiaUIwYUdVZ1pISnZjR1J2ZDI0Z2FXTnZiaXdnYzI4Z1pHOGdibTkwSUhKbFpuSmxjMmdnZEdobElHbG1jbUZ0WlM1Y2JseDBYSFI5WEc1Y2RGeDBYRzVjZEZ4MEpDZ25Mbk4wZVd4bGN5MXNhWE4wSUM1bGJHVnRaVzUwTG5ObGJHVmpkR1ZrSnlrdWNtVnRiM1psUTJ4aGMzTW9KM05sYkdWamRHVmtKeWs3WEc1Y2RGeDBKR1ZzWlcxbGJuUXVZV1JrUTJ4aGMzTW9KM05sYkdWamRHVmtKeWs3WEc1Y2RGeDBYRzVjZEZ4MFkyOXVjM1FnYzNSNWJHVk9ZVzFsSUQwZ0pDaDBhR2x6S1M1bWFXNWtLQ2N1Ym1GdFpTY3BMblJsZUhRb0tUdGNibHgwWEhSamIyNXpkQ0J3WVhKaGJXVjBaWElnUFNBblAzTjBlV3hsWDJWa2FYUmZjM1I1YkdWZmJtRnRaVDBuSUNzZ1pXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MEtDUmxiR1Z0Wlc1MExtWnBibVFvSnk1dVlXMWxKeWt1ZEdWNGRDZ3BLVHRjYmx4MFhIUmpiMjV6ZENCMWNtd2dQU0JUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnbmNISmxkbWxsZDFWeWJDY3BJQ3NnY0dGeVlXMWxkR1Z5TzF4dVhIUmNkR052Ym5OMElHbG1jbUZ0WlZOeVl5QTlJQ1FvSnk1emRIbHNaUzFsWkdsMExYQnlaWFpwWlhjZ2FXWnlZVzFsSnlrdVlYUjBjaWduYzNKakp5azdYRzVjZEZ4MFkyOXVjM1FnYVhOQlkzUnBkbVVnUFNBa1pXeGxiV1Z1ZEM1bWFXNWtLQ2N1YzNSaGRIVnpPblpwYzJsaWJHVW5LUzVzWlc1bmRHZ2dQaUF3TzF4dVhIUmNkRnh1WEhSY2RHbG1JQ2hwWm5KaGJXVlRjbU1nUFQwOUlIVnliQ0I4ZkNBb2FYTkJZM1JwZG1VZ0ppWWdhV1p5WVcxbFUzSmpJRDA5UFNCVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25jSEpsZG1sbGQxVnliQ2NwS1NrZ2UxeHVYSFJjZEZ4MGNtVjBkWEp1T3lBdkx5QlVhR1VnYjJ4a0lIQnlaWFpwWlhjZ1ZWSk1JR0Z1WkNCMGFHVWdibVYzSUdGeVpTQjBhR1VnYzJGdFpTQnpieUJrYnlCdWIzUWdjR1Z5Wm05eWJTQmhJSEpsYkc5aFpDNWNibHgwWEhSOVhHNWNkRngwWEc1Y2RGeDBKQ2duTG5OMGVXeGxMV1ZrYVhRdGNISmxkbWxsZHlCcFpuSmhiV1VuS1M1aGRIUnlLQ2R6Y21NbkxDQjFjbXdwTzF4dVhIUmNkRVYyWlc1MGMwVnRhWFIwWlhJdWRISnBaMmRsY2xCeVpYWnBaWGRTWld4dllXUmxaQ2drS0NjdWMzUjViR1V0WldScGRDMTJhV1YzSnlrc0lGdHpkSGxzWlU1aGJXVmRLVHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFVjJaVzUwT2lCT1pYY2dVM1I1YkdVZ1EzSmxZWFJsWkZ4dVhIUWdLbHh1WEhRZ0tpQlVhR2x6SUdoaGJtUnNaWElnZDJsc2JDQjBjbWxuWjJWeUlIUm9aU0JzYVhOMElISmxabkpsYzJndUlGUm9aU0J1WlhjZ2MzUjViR1VnYlhWemRDQmhiSE52SUdKbElITmxiR1ZqZEdWa1hHNWNkQ0FxSUdGbWRHVnlJSFJvWlNCc2FYTjBJR2hoY3lCamIyMXdiR1YwWldRZ2JHOWhaR2x1Wnk1Y2JseDBJQ3BjYmx4MElDb2dRSEJoY21GdElIdHFVWFZsY25rdVJYWmxiblI5SUdWMlpXNTBYRzVjZENBcVhHNWNkQ0FxSUVCd2NtbDJZWFJsWEc1Y2RDQXFMMXh1WEhSZmIyNVRkSGxzWlVOeVpXRjBaV1FvWlhabGJuUXNJSEpsYzNCdmJuTmxLU0I3WEc1Y2RGeDBZMjl1YzNRZ2JXRnBia056YzFWeWJDQTlJRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0Nkd2NtVjJhV1YzVlhKc0p5a2dLeUFuTHlkY2JseDBYSFJjZEZ4MEt5QWtLQ2NqYldGcGJpMWpjM01uTENBa0tDY3VjM1I1YkdVdFpXUnBkQzF3Y21WMmFXVjNJR2xtY21GdFpTY3BMbU52Ym5SbGJuUnpLQ2twTG1GMGRISW9KMmh5WldZbktUdGNibHgwWEhSY2JseDBYSFJEWVdOb1pVRndhUzV5Wlc1bGR5aHRZV2x1UTNOelZYSnNMQ0J5WlhOd2IyNXpaUzV1WVcxbEtTNWtiMjVsS0NncElEMCtJSHRjYmx4MFhIUmNkRk4wZVd4bFFYQnBMbXhwYzNRb0tTNWtiMjVsS0hOMGVXeGxjeUE5UGlCN1hHNWNkRngwWEhSY2RIUm9hWE11WDJ4dllXUldhV1YzVkdWdGNHeGhkR1VvYzNSNWJHVnpMbU52Ym1acFp5azdYRzVjZEZ4MFhIUmNkSFJvYVhNdVgySnBibVJGZG1WdWRFaGhibVJzWlhKektDazdYRzVjZEZ4MFhIUmNkQ1FvSnk1dGVTMXpkSGxzWlhNdGRtbGxkeUF1Wld4bGJXVnVkQ0F1Ym1GdFpTY3BMbVpwYkhSbGNpZ29hVzVrWlhnc0lHVnNaVzFsYm5RcElEMCtJSHRjYmx4MFhIUmNkRngwWEhSeVpYUjFjbTRnSkNobGJHVnRaVzUwS1M1MFpYaDBLQ2tnUFQwOUlISmxjM0J2Ym5ObExtNWhiV1U3WEc1Y2RGeDBYSFJjZEgwcExtTnNhV05yS0NrN1hHNWNkRngwWEhSOUtUdGNibHgwWEhSOUtUdGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVWMlpXNTBPaUJFYjNkdWJHOWhaQ0JUZEhsc1pWeHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMnBSZFdWeWVTNUZkbVZ1ZEgwZ1pYWmxiblJjYmx4MElDb2dYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZiMjVEYkdsamEwUnZkMjVzYjJGa1UzUjViR1VvWlhabGJuUXBJSHRjYmx4MFhIUmpiMjV6ZENCMWNtd2dQU0JUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnblltRnpaVlZ5YkNjcElDc2dKeTloY0drdWNHaHdMM1JsYlhCc1lYUmxjeThuWEc1Y2RGeDBYSFFySUZOMGVXeGxSV1JwZEM1RGIyNW1hV2N1WjJWMEtDZDBaVzF3YkdGMFpTY3BJQ3NnSnk5a2IzZHViRzloWkM4blhHNWNkRngwWEhRcklHVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDZ2tLR1YyWlc1MExtTjFjbkpsYm5SVVlYSm5aWFFwTG5CaGNtVnVkSE1vSnk1bGJHVnRaVzUwSnlrdVptbHVaQ2duTG01aGJXVW5LUzUwWlhoMEtDa3BYRzVjZEZ4MFhIUXJJQ2hUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnbmRHaGxiV1VuS1NBL0lDYy9kR2hsYldVbklEb2dKeWNwTzF4dVhIUmNkSGRwYm1SdmR5NXZjR1Z1S0hWeWJDd2dKMTlpYkdGdWF5Y3BPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1JYWmxiblE2SUVSeWIzQmtiM2R1SUZSdloyZHNaVnh1WEhRZ0tseHVYSFFnS2lCVWFHbHpJR1YyWlc1MElHaGhibVJzWlhJZ2FYTWdkWE5sWkNCbWIzSWdkWEJrWVhScGJtY2dkR2hsSUhOamNtOXNiQ0JpWVhKekxseHVYSFFnS2x4dVhIUWdLaUJBY0hKcGRtRjBaVnh1WEhRZ0tpOWNibHgwWDI5dVJISnZjR1J2ZDI1VWIyZG5iR1VvS1NCN1hHNWNkRngwYVdZZ0tDUW9KeTV6ZEhsc1pYTXRZMjl1ZEdGcGJtVnlKeWt1Y0dWeVptVmpkRk5qY205c2JHSmhjaWtnZTF4dVhIUmNkRngwSkNnbkxuTjBlV3hsY3kxamIyNTBZV2x1WlhJbktTNXdaWEptWldOMFUyTnliMnhzWW1GeUtDZDFjR1JoZEdVbktUdGNibHgwWEhSOVhHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJGZG1WdWREb2dWMmx1Wkc5M0lGSmxjMmw2WlZ4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMjl1VjJsdVpHOTNVbVZ6YVhwbEtDa2dlMXh1WEhSY2RIUm9hWE11WDNKbGMybDZaVk4wZVd4bGMwTnZiblJoYVc1bGNpZ3BPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1VtVnphWHBsSUhOMGVXeGxjeUJqYjI1MFlXbHVaWEl1WEc1Y2RDQXFYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZjbVZ6YVhwbFUzUjViR1Z6UTI5dWRHRnBibVZ5S0NrZ2UxeHVYSFJjZEdOdmJuTjBJSE4wZVd4bGMwTnZiblJoYVc1bGNraGxhV2RvZENBOUlIZHBibVJ2ZHk1cGJtNWxja2hsYVdkb2RGeHVYSFJjZEZ4MExTQWtLQ2N1YzNSNWJHVXRaV1JwZEMxb1pXRmtiR2x1WlNjcExtOTFkR1Z5U0dWcFoyaDBLQ2xjYmx4MFhIUmNkQzBnSkNnbkxtMTVMWE4wZVd4bGN5MTJhV1YzSUM1bWIyOTBaWEl0WTI5dWRHRnBibVZ5SnlrdWIzVjBaWEpJWldsbmFIUW9LVHRjYmx4MFhIUWtLQ2N1YlhrdGMzUjViR1Z6TFhacFpYY2dMbk4wZVd4bGN5MWpiMjUwWVdsdVpYSW5LUzVvWldsbmFIUW9jM1I1YkdWelEyOXVkR0ZwYm1WeVNHVnBaMmgwS1R0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRXh2WVdRZ2RtbGxkeUIwWlcxd2JHRjBaUzVjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1JiWFgwZ2MzUjViR1Z6SUVOdmJuUmhhVzV6SUhSb1pTQmxlR2x6ZEdsdVp5QnpkSGxzWlNCamIyNW1hV2QxY21GMGFXOXVjeUJrWVhSaElHWnZjaUIwYUdVZ2JHbHpkQzVjYmx4MElDcGNibHgwSUNvZ1FIQnlhWFpoZEdWY2JseDBJQ292WEc1Y2RGOXNiMkZrVm1sbGQxUmxiWEJzWVhSbEtITjBlV3hsY3lrZ2UxeHVYSFJjZEdOdmJuTjBJSFJsYlhCc1lYUmxJRDBnSkNnbkkyMTVMWE4wZVd4bGN5MTJhV1YzTFhSbGJYQnNZWFJsSnlrdWFIUnRiQ2dwTzF4dVhIUmNkR052Ym5OMElHUmhkR0VnUFNCN1hHNWNkRngwWEhSMGFYUnNaVjl0ZVY5emRIbHNaWE5mZG1sbGR6b2dVM1I1YkdWRlpHbDBMa3hoYm1kMVlXZGxMblJ5WVc1emJHRjBaU2duZEdsMGJHVmZiWGxmYzNSNWJHVnpYM1pwWlhjbkxDQW5jM1I1YkdWZlpXUnBkQ2NwTEZ4dVhIUmNkRngwYldWemMyRm5aVjl1YjE5emRIbHNaWE02SUZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0oyMWxjM05oWjJWZmJtOWZjM1I1YkdWekp5d2dKM04wZVd4bFgyVmthWFFuS1N4Y2JseDBYSFJjZEc5d2RHbHZibDl1WlhkZmMzUjViR1U2SUZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0oyOXdkR2x2Ymw5dVpYZGZjM1I1YkdVbkxDQW5jM1I1YkdWZlpXUnBkQ2NwTEZ4dVhIUmNkRngwYjNCMGFXOXVYM1Z3Ykc5aFpGOXpkSGxzWlRvZ1UzUjViR1ZGWkdsMExreGhibWQxWVdkbExuUnlZVzV6YkdGMFpTZ25iM0IwYVc5dVgzVndiRzloWkY5emRIbHNaU2NzSUNkemRIbHNaVjlsWkdsMEp5a3NYRzVjZEZ4MFhIUnZjSFJwYjI1ZmRHVnliV2x1WVhSbE9pQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZkR1Z5YldsdVlYUmxKeXdnSjNOMGVXeGxYMlZrYVhRbktTeGNibHgwWEhSY2RHRjJZV2xzWVdKc1pWTjBlV3hsY3pvZ2MzUjViR1Z6TEZ4dVhIUmNkRngwYkdGaVpXeGZZV04wYVhabE9pQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2RzWVdKbGJGOWhZM1JwZG1VbkxDQW5jM1I1YkdWZlpXUnBkQ2NwTEZ4dVhIUmNkRngwYjNCMGFXOXVYMkZqZEdsMllYUmxPaUJUZEhsc1pVVmthWFF1VEdGdVozVmhaMlV1ZEhKaGJuTnNZWFJsS0NkdmNIUnBiMjVmWVdOMGFYWmhkR1VuTENBbmMzUjViR1ZmWldScGRDY3BMRnh1WEhSY2RGeDBiM0IwYVc5dVgyVmthWFE2SUZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0oyOXdkR2x2Ymw5bFpHbDBKeXdnSjNOMGVXeGxYMlZrYVhRbktTeGNibHgwWEhSY2RHOXdkR2x2Ymw5a2RYQnNhV05oZEdVNklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KMjl3ZEdsdmJsOWtkWEJzYVdOaGRHVW5MQ0FuYzNSNWJHVmZaV1JwZENjcExGeHVYSFJjZEZ4MGIzQjBhVzl1WDJSbGJHVjBaVG9nVTNSNWJHVkZaR2wwTGt4aGJtZDFZV2RsTG5SeVlXNXpiR0YwWlNnbmIzQjBhVzl1WDJSbGJHVjBaU2NzSUNkemRIbHNaVjlsWkdsMEp5a3NYRzVjZEZ4MFhIUnZjSFJwYjI1ZlpHOTNibXh2WVdRNklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KMjl3ZEdsdmJsOWtiM2R1Ykc5aFpDY3NJQ2R6ZEhsc1pWOWxaR2wwSnlsY2JseDBYSFI5TzF4dVhIUmNkRnh1WEhSY2RDOHZJRUZrWkNCc1lXNW5kV0ZuWlNCMGNtRnVjMnhoZEdsdmJuTWdkRzhnZEdobElITjBlV3hsY3k1Y2JseDBYSFJqYjI1emRDQmtZWFJsUm05eWJXRjBJRDBnVTNSNWJHVkZaR2wwTGtOdmJtWnBaeTVuWlhRb0oyeGhibWQxWVdkbFEyOWtaU2NwSUQwOVBTQW5aR1VuSUQ4Z0oyUmtMazFOTG5sNWVYa25JRG9nSjAxTkxtUmtMbmw1ZVhrbk8xeHVYSFJjZEd4bGRDQjBaVzF3VTNSNWJHVkpibVJsZUNBOUlDMHhPMXh1WEhSY2RGeHVYSFJjZENRdVpXRmphQ2hrWVhSaExtRjJZV2xzWVdKc1pWTjBlV3hsY3l3Z0tHbHVaR1Y0TENCemRIbHNaU2tnUFQ0Z2UxeHVYSFJjZEZ4MGFXWWdLSE4wZVd4bExtNWhiV1VnUFQwOUlGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2QwWlcxd1UzUjViR1ZPWVcxbEp5a3BJSHRjYmx4MFhIUmNkRngwZEdWdGNGTjBlV3hsU1c1a1pYZ2dQU0JwYm1SbGVEdGNibHgwWEhSY2RGeDBjbVYwZFhKdUlIUnlkV1U3SUM4dklHTnZiblJwYm5WbFhHNWNkRngwWEhSOVhHNWNkRngwWEhSemRIbHNaUzV0YjJScFptbGpZWFJwYjI1RVlYUmxJRDBnUkdGMFpTNXdZWEp6WlNoemRIbHNaUzV0YjJScFptbGpZWFJwYjI1RVlYUmxLUzUwYjFOMGNtbHVaeWhrWVhSbFJtOXliV0YwS1R0Y2JseDBYSFI5S1R0Y2JseDBYSFJjYmx4MFhIUXZMeUJTWlcxdmRtVWdkR2hsSUhSbGJYQnZjbUZ5ZVNCemRIbHNaU0JqYjI1bWFXY2dabkp2YlNCMGFHVWdZWEp5WVhrZ2IzSWdZM0psWVhSbElHbDBJR2xtSUdsMElHUnZaWE51SjNRZ1pYaHBjM1F1WEc1Y2RGeDBhV1lnS0hSbGJYQlRkSGxzWlVsdVpHVjRJRDRnTFRFcElIdGNibHgwWEhSY2RHUmhkR0V1WVhaaGFXeGhZbXhsVTNSNWJHVnpMbk53YkdsalpTaDBaVzF3VTNSNWJHVkpibVJsZUN3Z01TazdYRzVjZEZ4MGZTQmxiSE5sSUh0Y2JseDBYSFJjZEhSb2FYTXVYMk55WldGMFpWUmxiWEJ2Y21GeWVWTjBlV3hsS0NrN1hHNWNkRngwZlZ4dVhIUmNkRnh1WEhSY2RDUW9KeTV6ZEhsc1pTMWxaR2wwTFhacFpYY25LVnh1WEhSY2RGeDBMbWgwYld3b1RYVnpkR0ZqYUdVdWNtVnVaR1Z5S0hSbGJYQnNZWFJsTENCa1lYUmhLU2xjYmx4MFhIUmNkQzVtWVdSbFNXNG9LVnh1WEhSY2RGeDBMbVpwYm1Rb0p5NXpkSGxzWlhNdGJHbHpkQ2NwWEc1Y2RGeDBYSFF1YjJabUtDZGpiR2xqYXljcFhHNWNkRngwWEhRdWIyNG9KMk5zYVdOckp5d2dKeTVoWTNScGIyNHVZV04wYVhaaGRHVW5MQ0JsZG1WdWRDQTlQaUIwYUdsekxsOXZia05zYVdOclFXTjBhWFpoZEdWVGRIbHNaU2hsZG1WdWRDa3BYRzVjZEZ4MFhIUXViMjRvSjJOc2FXTnJKeXdnSnk1aFkzUnBiMjR1WldScGRDY3NJR1YyWlc1MElEMCtJSFJvYVhNdVgyOXVRMnhwWTJ0RlpHbDBVM1I1YkdVb1pYWmxiblFwS1Z4dVhIUmNkRngwTG05dUtDZGpiR2xqYXljc0lDY3VZV04wYVc5dUxtUjFjR3hwWTJGMFpTY3NJR1YyWlc1MElEMCtJSFJvYVhNdVgyOXVRMnhwWTJ0RWRYQnNhV05oZEdWVGRIbHNaU2hsZG1WdWRDa3BYRzVjZEZ4MFhIUXViMjRvSjJOc2FXTnJKeXdnSnk1aFkzUnBiMjR1WkdWc1pYUmxKeXdnWlhabGJuUWdQVDRnZEdocGN5NWZiMjVEYkdsamEwUmxiR1YwWlZOMGVXeGxLR1YyWlc1MEtTbGNibHgwWEhSY2RDNXZiaWduWTJ4cFkyc25MQ0FuTG1GamRHbHZiaTVrYjNkdWJHOWhaQ2NzSUdWMlpXNTBJRDArSUhSb2FYTXVYMjl1UTJ4cFkydEViM2R1Ykc5aFpGTjBlV3hsS0dWMlpXNTBLU2xjYmx4MFhIUmNkQzV2YmlnbmMyaHZkMjR1WW5NdVpISnZjR1J2ZDI0Z2FHbGtaR1Z1TG1KekxtUnliM0JrYjNkdUp5d2dKeTVsYkdWdFpXNTBKeXdnS0NrZ1BUNGdkR2hwY3k1ZmIyNUVjbTl3Wkc5M2JsUnZaMmRzWlNncEtUdGNibHgwWEhSY2JseDBYSFF2THlCRmVIQnNhV05wZEd4NUlITmxiR1ZqZENCMGFHVWdZV04wYVhabElHVnNaVzFsYm5RZ2RYQnZiaUJwYm1sMGFXRnNhWHBoZEdsdmJpNGdYRzVjZEZ4MFkyOXVjM1FnYzNSNWJHVk9ZVzFsSUQwZ2RHaHBjeTV6Wld4bFkzUmxaRk4wZVd4bFRtRnRaU0I4ZkNBa0tDY3VjM1I1YkdVdFpXUnBkQzEyYVdWM0lDNWxiR1Z0Wlc1MExtRmpkR2wyWlNBdWJtRnRaU2NwTG5SbGVIUW9LVHRjYmx4MFhIUmpiMjV6ZENCd1lYSmhiV1YwWlhJZ1BTQW5QM04wZVd4bFgyVmthWFJmYzNSNWJHVmZibUZ0WlQwbklDc2daVzVqYjJSbFZWSkpRMjl0Y0c5dVpXNTBLSE4wZVd4bFRtRnRaU2s3WEc1Y2RGeDBYRzVjZEZ4MEpDZ25Mbk4wZVd4bExXVmthWFF0Y0hKbGRtbGxkeUJwWm5KaGJXVW5LUzVoZEhSeUtDZHpjbU1uTENCVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25jSEpsZG1sbGQxVnliQ2NwSUNzZ2NHRnlZVzFsZEdWeUtUdGNibHgwWEhRa0tDY3VjM1I1YkdVdFpXUnBkQzEyYVdWM0lDNWxiR1Z0Wlc1MExuTmxiR1ZqZEdWa0p5a3VjbVZ0YjNabFEyeGhjM01vSjNObGJHVmpkR1ZrSnlrN1hHNWNkRngwSkNnbkxuTjBlV3hsTFdWa2FYUXRkbWxsZHlBdVpXeGxiV1Z1ZENBdWJtRnRaU2NwTG1acGJIUmxjaWdvYVc1a1pYZ3NJR1ZzWlcxbGJuUXBJRDArSUh0Y2JseDBYSFJjZEhKbGRIVnliaUFrS0dWc1pXMWxiblFwTG5SbGVIUW9LU0E5UFQwZ2MzUjViR1ZPWVcxbE8xeHVYSFJjZEgwcExuQmhjbVZ1ZEhNb0p5NWxiR1Z0Wlc1MEp5a3VZV1JrUTJ4aGMzTW9KM05sYkdWamRHVmtKeWs3WEc1Y2RGeDBYRzVjZEZ4MEx5OGdRV1JrSUcxaGRHVnlhV0ZzSUdSbGMybG5iaUJsWm1abFkzUnpJSFJ2SUc1bGR5QnZZbXBsWTNSekxpQmNibHgwWEhRa0xtMWhkR1Z5YVdGc0xtbHVhWFFvS1R0Y2JseDBYSFJjYmx4MFhIUXZMeUJCWkdRZ2MyTnliMnhzWW1GeWN5NWNibHgwWEhSMGFHbHpMbDl5WlhOcGVtVlRkSGxzWlhORGIyNTBZV2x1WlhJb0tUdGNibHgwWEhRa0tDY3VjM1I1YkdWekxXTnZiblJoYVc1bGNpY3BMbkJsY21abFkzUlRZM0p2Ykd4aVlYSW9LVHNnWEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkRjbVZoZEdVZ2RHaGxJSFJsYlhCdmNtRnllU0J6ZEhsc1pTQmpiMjVtYVdjdVhHNWNkQ0FxWEc1Y2RDQXFJRlJvWlNCMFpXMXdiM0poY25rZ2MzUjViR1VnWTI5dVptbG5kWEpoZEdsdmJpQnBjeUIxYzJWa0lIZG9aVzVsZG1WeUlIUm9aU0IxYzJWeUlIZGhiblJ6SUhSdklITmxaU0JvYVhNZ1kzVnljbVZ1ZENCamFHRnVaMlZ6WEc1Y2RDQXFJR2x1SUhSb1pTQmxaR2wwTFhOMGVXeGxMWFpwWlhjZ1lYTWdZU0IzYjNKcllYSnZkVzVrSUhSdklIUm9aU0JqZFhKeVpXNTBJRkJJVUNCQlVFa3VJRlJvWVhRZ2JXVmhibk1nZEdoaGRDQjNhR1Z1WlhabGNpQlRkSGxzWlVWa2FYUmNibHgwSUNvZ2FYTWdhVzVwZEdsaGJHbDZaV1FnYVhRZ2FYTWdjbVZ4ZFdseVpXUWdkR2hoZENCMGFHbHpJR1pwYkdVZ2FYTWdjSEpsYzJWdWRDQnZiaUIwYUdVZ2MyVnlkbVZ5TGx4dVhIUWdLbHh1WEhRZ0tpQlVhR1VnZEdWdGNHOXlZWEo1SUdOdmJtWnBaM1Z5WVhScGIyNGdabWxzWlNCdGRYTjBJRzV2ZENCaVpTQmthWE53YkdGNVpXUWdhVzRnZEdobElITjBlV3hsY3lCc2FYTjBMQ0JwZENCcGN5QjFjMlZrSUc5dWJIa2dhVzUwWlhKdVlXeHNlUzVjYmx4MElDcGNibHgwSUNvZ1dXOTFJR05oYmlCblpYUWdkR2hsSUhSbGJYQnZjbUZ5ZVNCemRIbHNaU0J1WVcxbElHWnliMjBnZEdobElHTnZibVpwWnlCdlltcGxZM1E2SUZOMGVXeGxSV1JwZEM1RGIyNW1hV2N1WjJWMEtDZDBaVzF3VTNSNWJHVk9ZVzFsSnlrdVhHNWNkQ0FxWEc1Y2RDQXFJRUJ3Y21sMllYUmxYRzVjZENBcUwxeHVYSFJmWTNKbFlYUmxWR1Z0Y0c5eVlYSjVVM1I1YkdVb0tTQjdYRzVjZEZ4MFFtOXBiR1Z5Y0d4aGRHVkJjR2t1YkdsemRDZ3BMbVJ2Ym1Vb0tHSnZhV3hsY25Cc1lYUmxjeWtnUFQ0Z2UxeHVYSFJjZEZ4MGFXWWdLR0p2YVd4bGNuQnNZWFJsY3k1amIyNW1hV2N1YkdWdVozUm9JRDA5UFNBd0tTQjdYRzVjZEZ4MFhIUmNkSFJvY205M0lHNWxkeUJGY25KdmNpZ25WVzVsZUhCbFkzUmxaQ0JGY25KdmNqb2dWR2hsSUdOMWNuSmxiblFnZEdWdGNHeGhkR1VnWkc5bGN5QnViM1FnYUdGMlpTQmhibmtnWW05cGJHVnljR3hoZEdVZ1kyOXVabWxuZFhKaGRHbHZiaUFuWEc1Y2RGeDBYSFJjZEZ4MEt5QW5abWxzWlhNdUp5azdYRzVjZEZ4MFhIUjlYRzVjZEZ4MFhIUmNibHgwWEhSY2RGTjBlV3hsUVhCcExtTnlaV0YwWlNoaWIybHNaWEp3YkdGMFpYTXVZMjl1Wm1sbld6QmRMbTVoYldVc0lGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2QwWlcxd1UzUjViR1ZPWVcxbEp5a3BPMXh1WEhSY2RIMHBPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1FtbHVaQ0JsYkdWdFpXNTBJR1YyWlc1MElHaGhibVJzWlhKekxseHVYSFFnS2x4dVhIUWdLaUJBY0hKcGRtRjBaVnh1WEhRZ0tpOWNibHgwWDJKcGJtUkZkbVZ1ZEVoaGJtUnNaWEp6S0NrZ2UxeHVYSFJjZENRb0p5NXRlUzF6ZEhsc1pYTXRkbWxsZHljcFhHNWNkRngwWEhRdWIyWm1LQ2RqYkdsamF5Y3BYRzVjZEZ4MFhIUXViMjRvSjJOc2FXTnJKeXdnSnk1bGJHVnRaVzUwSnl3Z1pYWmxiblFnUFQ0Z2RHaHBjeTVmYjI1RGJHbGphMU4wZVd4bFJXeGxiV1Z1ZENobGRtVnVkQ2twWEc1Y2RGeDBYSFF1YjI0b0oyTnNhV05ySnl3Z0p5NWlkRzR1WTNKbFlYUmxMWE4wZVd4bEp5d2dLQ2tnUFQ0Z2RHaHBjeTVmYjI1RGJHbGphME55WldGMFpWTjBlV3hsS0NrcFhHNWNkRngwWEhRdWIyNG9KMk5zYVdOckp5d2dKeTVpZEc0dWRYQnNiMkZrTFhOMGVXeGxKeXdnS0NrZ1BUNGdkR2hwY3k1ZmIyNURiR2xqYTFWd2JHOWhaRk4wZVd4bEtDa3BYRzVjZEZ4MFhIUXViMjRvSjJOc2FXTnJKeXdnSnk1aWRHNHVkR1Z5YldsdVlYUmxKeXdnS0NrZ1BUNGdkR2hwY3k1ZmIyNURiR2xqYTFSbGNtMXBibUYwWlNncEtUdGNibHgwWEhSY2JseDBYSFFrS0NkaWIyUjVKeWxjYmx4MFhIUmNkQzV2Wm1Zb0oxTjBlV3hsUldScGRDNVRkSGxzWlVOeVpXRjBaV1FuS1Z4dVhIUmNkRngwTG05dUtDZFRkSGxzWlVWa2FYUXVVM1I1YkdWRGNtVmhkR1ZrSnl3Z0tHVjJaVzUwTENCeVpYTndiMjV6WlNrZ1BUNGdkR2hwY3k1ZmIyNVRkSGxzWlVOeVpXRjBaV1FvWlhabGJuUXNJSEpsYzNCdmJuTmxLU2s3WEc1Y2RGeDBYRzVjZEZ4MEpDaDNhVzVrYjNjcFhHNWNkRngwWEhRdWIyWm1LQ2R5WlhOcGVtVW5LVnh1WEhSY2RGeDBMbTl1S0NkeVpYTnBlbVVuTENBZ0tDa2dQVDRnZEdocGN5NWZiMjVYYVc1a2IzZFNaWE5wZW1Vb0tTazdYRzVjZEgxY2JuMWNibHh1SWl3aUx5b2dMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMWNiaUFnVUhKbGRtbGxkMGx0WVdkbFRXOWtZV3d1YW5NZ01qQXhPUzB3Tmkwd04xeHVJQ0JIWVcxaWFXOGdSMjFpU0Z4dUlDQm9kSFJ3T2k4dmQzZDNMbWRoYldKcGJ5NWtaVnh1SUNCRGIzQjVjbWxuYUhRZ0tHTXBJREl3TVRrZ1IyRnRZbWx2SUVkdFlraGNiaUFnVW1Wc1pXRnpaV1FnZFc1a1pYSWdkR2hsSUVkT1ZTQkhaVzVsY21Gc0lGQjFZbXhwWXlCTWFXTmxibk5sSUNoV1pYSnphVzl1SURJcFhHNGdJRnRvZEhSd09pOHZkM2QzTG1kdWRTNXZjbWN2YkdsalpXNXpaWE12WjNCc0xUSXVNQzVvZEcxc1hWeHVJQ0F0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMU292WEc1Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNXBiWEJ2Y25RZ1RXOWtZV3dnWm5KdmJTQW5MaTR2YkdsaWN5OU5iMlJoYkNjN0lGeHVhVzF3YjNKMElFVjJaVzUwYzBWdGFYUjBaWElnWm5KdmJTQW5MaTR2YkdsaWN5OUZkbVZ1ZEhORmJXbDBkR1Z5Snp0Y2JseHVMeW9xWEc0Z0tpQlZjR3h2WVdRZ1NXMWhaMlVnVFc5a1lXd2dRMjl1ZEhKdmJHeGxjbHh1SUNwY2JpQXFJRlJvYVhNZ1kyOXVkSEp2Ykd4bGNpQjNhV3hzSUdoaGJtUnNaU0IwYUdVZ2FXMWhaMlVnZFhCc2IyRmtMaUJCWm5SbGNpQmhJSE4xWTJObGMzTm1kV3dnZFhCc2IyRmtJR2wwSUhkcGJHd2djMlYwSUhSb1pTQnVaWGRsYzNSY2JpQXFJR2x0WVdkbElIUnZJSFJvWlNCelpYUjBhVzVuSUhSb1lYUWdkSEpwWjJkbGNtVmtJSFJvWlNCMWNHeHZZV1FnWVc1a0lIUm9aVzRnYVhRZ2QybHNiQ0JoYkhOdklIVndaR0YwWlNCMGFHVWdjMlZzWldOMElHSnZlR1Z6SUc5bVhHNGdLaUJoYkd3Z2RHaGxJRzkwYUdWeUlHbHRZV2RsSUhkcFpHZGxkSE1zSUhOdklIUm9ZWFFnZEdobElHOXdkR2x2YmlCcGN5QmhiSE52SUdGMllXbHNZV0pzWlNCMGFHVnlaUzVjYmlBcUwxeHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nVUhKbGRtbGxkMGx0WVdkbFRXOWtZV3dnZTF4dVhIUXZLaXBjYmx4MElDb2dRMnhoYzNNZ1EyOXVjM1J5ZFdOMGIzSWdYRzVjZENBcUlGeHVJRngwSUNvZ1FIQmhjbUZ0SUh0cVVYVmxjbmw5SUNSMFlYSm5aWFFnVTJWc1pXTjBJR0p2ZUNCelpXeGxZM1J2Y2lCdlppQjBhR1VnYzJWMGRHbHVaeUIwYUdGMElIUnlhV2RuWlhKbFpDQjBhR1VnYlc5a1lXd3VYRzVjZENBcUwxeHVYSFJqYjI1emRISjFZM1J2Y2lna2RHRnlaMlYwS1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMwOWlhbVZqZENna2RHRnlaMlYwS1R0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJUWld4bFkzUWdRbTk0WEc1Y2RGeDBJQ3BjYmx4MFhIUWdLaUJBZEhsd1pTQjdhbEYxWlhKNWZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVKSFJoY21kbGRDQTlJQ1IwWVhKblpYUTdYRzVjZEZ4MFhHNWNkRngwTHlvcVhHNWNkRngwSUNvZ1ZHaGxJRzF2WkdGc0lITmxiR1ZqZEc5eUxseHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTJwUmRXVnllWDFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TGlSdGIyUmhiQ0E5SUc1MWJHdzdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCSmJtbDBhV0ZzYVhwbElFTnZiblJ5YjJ4c1pYSmNibHgwSUNvdlhHNWNkR2x1YVhScFlXeHBlbVVvS1NCN1hHNWNkRngwWTI5dWMzUWdaR0YwWVNBOUlIdGNibHgwWEhSY2RIUnBkR3hsWDNCeVpYWnBaWGRmYVcxaFoyVmZiVzlrWVd3NklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KM1JwZEd4bFgzQnlaWFpwWlhkZmFXMWhaMlZmYlc5a1lXd25MQ0FuYzNSNWJHVmZaV1JwZENjcExGeHVYSFJjZEZ4MGFXMWhaMlZmZFhKc09pQlRkSGxzWlVWa2FYUXVRMjl1Wm1sbkxtZGxkQ2duY0hKbGRtbGxkMVZ5YkNjcElDc2dKeThuSUNzZ1UzUjViR1ZGWkdsMExrTnZibVpwWnk1blpYUW9KMmx0WVdkbGMwUnBjaWNwWEc1Y2RGeDBYSFFySUhSb2FYTXVKSFJoY21kbGRDNW1hVzVrS0NkdmNIUnBiMjQ2YzJWc1pXTjBaV1FuS1M1MFpYaDBLQ2xjYmx4MFhIUjlPMXh1WEhSY2RGeHVYSFJjZEhSb2FYTXVKRzF2WkdGc0lEMGdUVzlrWVd3dWMyaHZkeWdrS0NjamNISmxkbWxsZHkxcGJXRm5aUzF0YjJSaGJDMTBaVzF3YkdGMFpTY3BMQ0JrWVhSaEtUdGNibHgwWEhSY2JseDBYSFIwYUdsekxpUnRiMlJoYkM1dmJpZ25ZMnhwWTJzbkxDQW5MbUowYmk1dmF5Y3NJQ2dwSUQwK0lIUm9hWE11WkdWemRISnZlU2dwS1R0Y2JseDBYSFJjYmx4MFhIUkZkbVZ1ZEhORmJXbDBkR1Z5TG5SeWFXZG5aWEpEYjI1MGNtOXNiR1Z5U1c1cGRHbGhiR2w2WldRb2RHaHBjeTRrYlc5a1lXd3NJRnNuVUhKbGRtbGxkMGx0WVdkbFRXOWtZV3duWFNrN1hHNWNkRngwWEc1Y2RGeDBKQzV0WVhSbGNtbGhiQzVwYm1sMEtDazdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRVpYTjBjbTk1SUVOdmJuUnliMnhzWlhKY2JseDBJQ292WEc1Y2RHUmxjM1J5YjNrb0tTQjdYRzVjZEZ4MFRXOWtZV3d1YUdsa1pTaDBhR2x6TGlSdGIyUmhiQ2s3WEc1Y2RGeDBSWFpsYm5SelJXMXBkSFJsY2k1MGNtbG5aMlZ5UTI5dWRISnZiR3hsY2tSbGMzUnliM2xsWkNoMGFHbHpMaVJ0YjJSaGJDd2dXeWRRY21WMmFXVjNTVzFoWjJWTmIyUmhiQ2RkS1R0Y2JseDBmVnh1ZlZ4dUlpd2lMeW9nTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmlBZ1ZYQnNiMkZrU1cxaFoyVk5iMlJoYkM1cWN5QXlNREU1TFRBMkxUQTNYRzRnSUVkaGJXSnBieUJIYldKSVhHNGdJR2gwZEhBNkx5OTNkM2N1WjJGdFltbHZMbVJsWEc0Z0lFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE9TQkhZVzFpYVc4Z1IyMWlTRnh1SUNCU1pXeGxZWE5sWkNCMWJtUmxjaUIwYUdVZ1IwNVZJRWRsYm1WeVlXd2dVSFZpYkdsaklFeHBZMlZ1YzJVZ0tGWmxjbk5wYjI0Z01pbGNiaUFnVzJoMGRIQTZMeTkzZDNjdVoyNTFMbTl5Wnk5c2FXTmxibk5sY3k5bmNHd3RNaTR3TG1oMGJXeGRYRzRnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0S2k5Y2JseHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNibWx0Y0c5eWRDQk5iMlJoYkNCbWNtOXRJQ2N1TGk5c2FXSnpMMDF2WkdGc0p6c2dYRzVwYlhCdmNuUWdTVzFoWjJWQmNHa2dabkp2YlNBbkxpNHZZWEJwTDBsdFlXZGxRWEJwSnpzZ1hHNXBiWEJ2Y25RZ1JYWmxiblJ6UlcxcGRIUmxjaUJtY205dElDY3VMaTlzYVdKekwwVjJaVzUwYzBWdGFYUjBaWEluTzF4dVhHNHZLaXBjYmlBcUlGVndiRzloWkNCSmJXRm5aU0JOYjJSaGJDQkRiMjUwY205c2JHVnlYRzRnS2x4dUlDb2dWR2hwY3lCamIyNTBjbTlzYkdWeUlIZHBiR3dnYUdGdVpHeGxJSFJvWlNCcGJXRm5aU0IxY0d4dllXUXVJRUZtZEdWeUlHRWdjM1ZqWTJWemMyWjFiQ0IxY0d4dllXUWdhWFFnZDJsc2JDQnpaWFFnZEdobElHNWxkMlZ6ZEZ4dUlDb2dhVzFoWjJVZ2RHOGdkR2hsSUhObGRIUnBibWNnZEdoaGRDQjBjbWxuWjJWeVpXUWdkR2hsSUhWd2JHOWhaQ0JoYm1RZ2RHaGxiaUJwZENCM2FXeHNJR0ZzYzI4Z2RYQmtZWFJsSUhSb1pTQnpaV3hsWTNRZ1ltOTRaWE1nYjJaY2JpQXFJR0ZzYkNCMGFHVWdiM1JvWlhJZ2FXMWhaMlVnZDJsa1oyVjBjeXdnYzI4Z2RHaGhkQ0IwYUdVZ2IzQjBhVzl1SUdseklHRnNjMjhnWVhaaGFXeGhZbXhsSUhSb1pYSmxMbHh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJWY0d4dllXUkpiV0ZuWlUxdlpHRnNJSHRjYmx4MEx5b3FYRzVjZENBcUlFTnNZWE56SUVOdmJuTjBjblZqZEc5eUlGeHVYSFFnS2lCY2JseDBJQ29nUUhCaGNtRnRJSHRxVVhWbGNubDlJQ1IwWVhKblpYUWdVMlZzWldOMElHSnZlQ0J6Wld4bFkzUnZjaUJ2WmlCMGFHVWdjMlYwZEdsdVp5QjBhR0YwSUhSeWFXZG5aWEpsWkNCMGFHVWdiVzlrWVd3dVhHNWNkQ0FxTDF4dVhIUmpiMjV6ZEhKMVkzUnZjaWdrZEdGeVoyVjBLU0I3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2drZEdGeVoyVjBLVHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQlRaV3hsWTNRZ1FtOTRYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN2FsRjFaWEo1ZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdUpIUmhjbWRsZENBOUlDUjBZWEpuWlhRN1hHNWNkRngwWEc1Y2RGeDBMeW9xWEc1Y2RGeDBJQ29nVFc5a1lXd2dVMlZzWldOMGIzSmNibHgwWEhRZ0tseHVYSFJjZENBcUlFQjBlWEJsSUh0cVVYVmxjbmw5WEc1Y2RGeDBJQ292WEc1Y2RGeDBkR2hwY3k0a2JXOWtZV3dnUFNCdWRXeHNPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1NXNXBkR2xoYkdsNlpTQkRiMjUwY205c2JHVnlYRzVjZENBcUwxeHVYSFJwYm1sMGFXRnNhWHBsS0NrZ2UxeHVYSFJjZEdOdmJuTjBJR1JoZEdFZ1BTQjdYRzVjZEZ4MFhIUjBhWFJzWlY5MWNHeHZZV1JmYVcxaFoyVmZiVzlrWVd3NklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KM1JwZEd4bFgzVndiRzloWkY5cGJXRm5aVjl0YjJSaGJDY3NJQ2R6ZEhsc1pWOWxaR2wwSnlrc1hHNWNkRngwWEhSd2JHRmpaV2h2YkdSbGNsOWljbTkzYzJVNklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KM0JzWVdObGFHOXNaR1Z5WDJKeWIzZHpaU2NzSUNkemRIbHNaVjlsWkdsMEp5a3NYRzVjZEZ4MFhIUnZjSFJwYjI1ZmRYQnNiMkZrT2lCVGRIbHNaVVZrYVhRdVRHRnVaM1ZoWjJVdWRISmhibk5zWVhSbEtDZHZjSFJwYjI1ZmRYQnNiMkZrSnl3Z0ozTjBlV3hsWDJWa2FYUW5LU3hjYmx4MFhIUmNkRzl3ZEdsdmJsOWpZVzVqWld3NklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KMjl3ZEdsdmJsOWpZVzVqWld3bkxDQW5jM1I1YkdWZlpXUnBkQ2NwWEc1Y2RGeDBmVHRjYmx4MFhIUmNibHgwWEhSMGFHbHpMaVJ0YjJSaGJDQTlJRTF2WkdGc0xuTm9iM2NvSkNnbkkzVndiRzloWkMxcGJXRm5aUzF0YjJSaGJDMTBaVzF3YkdGMFpTY3BMQ0JrWVhSaEtUdGNibHgwWEhSY2JseDBYSFIwYUdsekxsOWlhVzVrUlhabGJuUklZVzVrYkdWeWN5Z3BPMXh1WEhSY2RGeHVYSFJjZENRdWJXRjBaWEpwWVd3dWFXNXBkQ2dwTzF4dVhIUmNkRnh1WEhSY2RFVjJaVzUwYzBWdGFYUjBaWEl1ZEhKcFoyZGxja052Ym5SeWIyeHNaWEpKYm1sMGFXRnNhWHBsWkNoMGFHbHpMaVJ0YjJSaGJDd2dXeWRWY0d4dllXUkpiV0ZuWlUxdlpHRnNKMTBwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dSR1Z6ZEhKdmVTQkRiMjUwY205c2JHVnlYRzVjZENBcUwxeHVYSFJrWlhOMGNtOTVLQ2tnZTF4dVhIUmNkRTF2WkdGc0xtaHBaR1VvZEdocGN5NGtiVzlrWVd3cE8xeHVYSFJjZEVWMlpXNTBjMFZ0YVhSMFpYSXVkSEpwWjJkbGNrTnZiblJ5YjJ4c1pYSkVaWE4wY205NVpXUW9kR2hwY3k0a2JXOWtZV3dzSUZzblZYQnNiMkZrU1cxaFoyVk5iMlJoYkNkZEtUdGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVWMlpXNTBPaUJQYmlCRGJHbGpheUJWY0d4dllXUmNibHgwSUNwY2JseDBJQ29nUUhCeWFYWmhkR1ZjYmx4MElDb3ZYRzVjZEY5dmJrTnNhV05yVlhCc2IyRmtLQ2tnZTF4dVhIUmNkR052Ym5OMElDUm1hV3hsU1c1d2RYUWdQU0IwYUdsekxpUnRiMlJoYkM1bWFXNWtLQ2NqYVcxaFoyVW5LVHRjYmx4MFhIUmNibHgwWEhRa1ptbHNaVWx1Y0hWMExuQmhjbVZ1ZENncExuSmxiVzkyWlVOc1lYTnpLQ2RvWVhNdFpYSnliM0lnYVhNdFptOWpkWE5sWkNjcE8xeHVYSFJjZEZ4dVhIUmNkR2xtSUNna1ptbHNaVWx1Y0hWMExuWmhiQ2dwSUQwOVBTQW5KeWtnZTF4dVhIUmNkRngwSkdacGJHVkpibkIxZEM1d1lYSmxiblFvS1M1aFpHUkRiR0Z6Y3lnbmFHRnpMV1Z5Y205eUlHbHpMV1p2WTNWelpXUW5LVHRjYmx4MFhIUmNkQ1JtYVd4bFNXNXdkWFF1Wm05amRYTW9LVHRjYmx4MFhIUmNkSEpsZEhWeWJqdGNibHgwWEhSOVhHNWNkRngwWEc1Y2RGeDBTVzFoWjJWQmNHa3VkWEJzYjJGa0tDUm1hV3hsU1c1d2RYUXBYRzVjZEZ4MFhIUXVaRzl1WlNoeVpYTndiMjV6WlNBOVBpQjdYRzVjZEZ4MFhIUmNkQzh2SUVGd2NHVnVaQ0IwYUdVZ2JtVjNJR1pwYkdVZ2IyNXNlU0JwWmlCcGRDQnBjeUJ1YjNRZ1lXeHlaV0ZrZVNCaGJpQnZjSFJwYjI0dVhHNWNkRngwWEhSY2RHbG1JQ2gwYUdsekxpUjBZWEpuWlhRdVptbHVaQ2duYjNCMGFXOXVXM1poYkhWbFBWd2lKeUFySUhKbGMzQnZibk5sSUNzZ0oxd2lYU2NwTG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1WEhSY2RGeDBYSFJjZENRb0p5NWxaR2wwTFc5d2RHbHZibk1nTG1sdFlXZGxMV3hwYzNRbktTNWhjSEJsYm1Rb2JtVjNJRTl3ZEdsdmJpaHlaWE53YjI1elpTd2djbVZ6Y0c5dWMyVXBLVHRjYmx4MFhIUmNkRngwZlZ4dVhIUmNkRngwWEhSMGFHbHpMaVIwWVhKblpYUXVkbUZzS0hKbGMzQnZibk5sS1M1MGNtbG5aMlZ5S0NkamFHRnVaMlVuS1R0Y2JseDBYSFJjZEZ4MGRHaHBjeTVrWlhOMGNtOTVLQ2s3WEc1Y2RGeDBYSFI5S1Z4dVhIUmNkRngwTG1aaGFXd29LR3B4ZUdoeUxDQjBaWGgwTENCbGNuSnZjaWtnUFQ0Z2UxeHVYSFJjZEZ4MFhIUk5iMlJoYkM1dFpYTnpZV2RsS0ZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0ozUnBkR3hsWDNWdVpYaHdaV04wWldSZlpYSnliM0luTENBbmMzUjViR1ZmWldScGRDY3BMRnh1WEhSY2RGeDBYSFJjZEZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0oyMWxjM05oWjJWZmRXNWxlSEJsWTNSbFpGOWxjbkp2Y2ljc0lDZHpkSGxzWlY5bFpHbDBKeWtwTzF4dVhIUmNkRngwWEhSVGRIbHNaVVZrYVhRdVJHVmlkV2N1Ykc5bktDZFRkSGxzWlNCRlpHbDBJRVZ5Y205eU9pQW5MQ0JxY1hob2Npd2dkR1Y0ZEN3Z1pYSnliM0lwTzF4dVhIUmNkRngwZlNrN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJGZG1WdWREb2dUMjRnUTJ4cFkyc2dRMkZ1WTJWc1hHNWNkQ0FxWEc1Y2RDQXFJRUJ3Y21sMllYUmxYRzVjZENBcUwxeHVYSFJmYjI1RGJHbGphME5oYm1ObGJDZ3BJSHRjYmx4MFhIUjBhR2x6TG1SbGMzUnliM2tvS1R0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRUpwYm1RZ1RXOWtZV3dnUlhabGJuUWdTR0Z1Wkd4bGNuTmNibHgwSUNwY2JseDBJQ29nUUhCeWFYWmhkR1ZjYmx4MElDb3ZYRzVjZEY5aWFXNWtSWFpsYm5SSVlXNWtiR1Z5Y3lncElIdGNibHgwWEhSMGFHbHpMaVJ0YjJSaGJGeHVYSFJjZEZ4MExtOXVLQ2RqYkdsamF5Y3NJQ2N1WW5SdUxuVndiRzloWkNjc0lDZ3BJRDArSUhSb2FYTXVYMjl1UTJ4cFkydFZjR3h2WVdRb0tTbGNibHgwWEhSY2RDNXZiaWduWTJ4cFkyc25MQ0FuTG1KMGJpNWpZVzVqWld3bkxDQW9LU0E5UGlCMGFHbHpMbDl2YmtOc2FXTnJRMkZ1WTJWc0tDa3BPMXh1WEhSOVhHNTlYRzRpTENJdktpQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExWeHVJQ0JWY0d4dllXUlRkSGxzWlUxdlpHRnNMbXB6SURJd01Ua3RNRFl0TURkY2JpQWdSMkZ0WW1sdklFZHRZa2hjYmlBZ2FIUjBjRG92TDNkM2R5NW5ZVzFpYVc4dVpHVmNiaUFnUTI5d2VYSnBaMmgwSUNoaktTQXlNREU1SUVkaGJXSnBieUJIYldKSVhHNGdJRkpsYkdWaGMyVmtJSFZ1WkdWeUlIUm9aU0JIVGxVZ1IyVnVaWEpoYkNCUWRXSnNhV01nVEdsalpXNXpaU0FvVm1WeWMybHZiaUF5S1Z4dUlDQmJhSFIwY0RvdkwzZDNkeTVuYm5VdWIzSm5MMnhwWTJWdWMyVnpMMmR3YkMweUxqQXVhSFJ0YkYxY2JpQWdMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHFMMXh1WEc1Y2JpOHFJR2RzYjJKaGJITWdMVTF2WkdGc0lDb3ZYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1YVcxd2IzSjBJRTF2WkdGc0lHWnliMjBnSnk0dUwyeHBZbk12VFc5a1lXd25PMXh1YVcxd2IzSjBJRk4wZVd4bFZYQnNiMkZrSUdaeWIyMGdKeTR1TDNkcFpHZGxkSE12VTNSNWJHVlZjR3h2WVdRbk8xeHVhVzF3YjNKMElFVjJaVzUwYzBWdGFYUjBaWElnWm5KdmJTQW5MaTR2YkdsaWN5OUZkbVZ1ZEhORmJXbDBkR1Z5Snp0Y2JseHVMeW9xWEc0Z0tpQlZjR3h2WVdRZ1UzUjViR1VnVFc5a1lXd2dRMjl1ZEhKdmJHeGxjbHh1SUNwY2JpQXFJRlJvYVhNZ1kyOXVkSEp2Ykd4bGNpQjNhV3hzSUdoaGJtUnNaU0IwYUdVZ2MzUjViR1VnZFhCc2IyRmtJRzl3WlhKaGRHbHZiaTRnVkdobElIVndiRzloWkNCM2FXeHNJR0psSUdSdmJtVmNiaUFxSUhkcGRHZ2dRVXBCV0NCaGJtUWdkR2gxY3lCMGFHVWdkWE5sSUc5bUlIUm9aU0JUZEhsc1pWVndiRzloWkNCM2FXUm5aWFFnYVhNZ2NtVnhkV2x5WldRdVhHNGdLaTljYm1WNGNHOXlkQ0JrWldaaGRXeDBJR05zWVhOeklGVndiRzloWkZOMGVXeGxUVzlrWVd3Z2UxeHVYSFF2S2lwY2JseDBJQ29nUTJ4aGMzTWdRMjl1YzNSeWRXTjBiM0pjYmx4MElDb3ZYRzVjZEdOdmJuTjBjblZqZEc5eUtDa2dlMXh1WEhSY2RDOHFLbHh1WEhSY2RDQXFJRlJvWlNCdGIyUmhiQ0J6Wld4bFkzUnZjaTVjYmx4MFhIUWdLbHh1WEhSY2RDQXFJRUIwZVhCbElIdHFVWFZsY25sOVhHNWNkRngwSUNvdlhHNWNkRngwZEdocGN5NGtiVzlrWVd3Z1BTQnVkV3hzTzF4dVhIUmNkRnh1WEhSY2RDOHFLbHh1WEhSY2RDQXFJRlJvWlNCVGRIbHNaVlZ3Ykc5aFpDQkpibk4wWVc1alpWeHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTFOMGVXeGxWWEJzYjJGa2ZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVjM1I1YkdWVmNHeHZZV1FnUFNCdWRXeHNPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1NXNXBkR2xoYkdsNlpTQkRiMjUwY205c2JHVnlYRzVjZENBcUwxeHVYSFJwYm1sMGFXRnNhWHBsS0NrZ2UxeHVYSFJjZEdOdmJuTjBJR1JoZEdFZ1BTQjdYRzVjZEZ4MFhIUjBhWFJzWlY5MWNHeHZZV1JmYzNSNWJHVmZiVzlrWVd3NklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KM1JwZEd4bFgzVndiRzloWkY5emRIbHNaVjl0YjJSaGJDY3NJQ2R6ZEhsc1pWOWxaR2wwSnlrc1hHNWNkRngwWEhSd2JHRmpaV2h2YkdSbGNsOXpkSGxzWlY5dVlXMWxPaUJUZEhsc1pVVmthWFF1VEdGdVozVmhaMlV1ZEhKaGJuTnNZWFJsS0Nkd2JHRmpaV2h2YkdSbGNsOXpkSGxzWlY5dVlXMWxKeXdnSjNOMGVXeGxYMlZrYVhRbktTeGNibHgwWEhSY2RIQnNZV05sYUc5c1pHVnlYMkp5YjNkelpUb2dVM1I1YkdWRlpHbDBMa3hoYm1kMVlXZGxMblJ5WVc1emJHRjBaU2duY0d4aFkyVm9iMnhrWlhKZlluSnZkM05sSnl3Z0ozTjBlV3hsWDJWa2FYUW5LU3hjYmx4MFhIUmNkRzl3ZEdsdmJsOWpjbVZoZEdVNklGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNTBjbUZ1YzJ4aGRHVW9KMjl3ZEdsdmJsOWpjbVZoZEdVbkxDQW5jM1I1YkdWZlpXUnBkQ2NwTEZ4dVhIUmNkRngwYjNCMGFXOXVYMk5oYm1ObGJEb2dVM1I1YkdWRlpHbDBMa3hoYm1kMVlXZGxMblJ5WVc1emJHRjBaU2duYjNCMGFXOXVYMk5oYm1ObGJDY3NJQ2R6ZEhsc1pWOWxaR2wwSnlsY2JseDBYSFI5TzF4dVhIUmNkRnh1WEhSY2RIUm9hWE11SkcxdlpHRnNJRDBnVFc5a1lXd3VjMmh2ZHlna0tDY2pkWEJzYjJGa0xYTjBlV3hsTFcxdlpHRnNMWFJsYlhCc1lYUmxKeWtzSUdSaGRHRXBPMXh1WEhSY2RGeHVYSFJjZEM4dklFWnZZM1Z6SUhOMGVXeGxMVzVoYldVZ2FXNXdkWFFnWm1sbGJHUXVYRzVjZEZ4MGRHaHBjeTRrYlc5a1lXd3VabWx1WkNnbmFXNXdkWFJiYm1GdFpUMWNJbk4wZVd4bExXNWhiV1ZjSWwwbktTNW1iMk4xY3lncE8xeHVYSFJjZEZ4dVhIUmNkQzh2SUVsdWFYUnBZV3hwZW1VZ2RHaGxJR1pwYkdVZ2RYQnNiMkZrTGx4dVhIUmNkSFJvYVhNdWMzUjViR1ZWY0d4dllXUWdQU0J1WlhjZ1UzUjViR1ZWY0d4dllXUW9kR2hwY3k0a2JXOWtZV3d1Wm1sdVpDZ25JMnB6YjI0dGRYQnNiMkZrSnlrc1hHNWNkRngwWEhSVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25ZbUZ6WlZWeWJDY3BJQ3NnSnk5aGNHa3VjR2h3TDNSbGJYQnNZWFJsY3k4bklDc2dVM1I1YkdWRlpHbDBMa052Ym1acFp5NW5aWFFvSjNSbGJYQnNZWFJsSnlrZ0t5QW5MM1Z3Ykc5aFpDZGNibHgwWEhSY2RDc2dLRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0NkMGFHVnRaU2NwSUQ4Z0p6OTBhR1Z0WlNjZ09pQW5KeWtwTzF4dVhIUmNkRnh1WEhSY2RIUm9hWE11WDJKcGJtUkZkbVZ1ZEVoaGJtUnNaWEp6S0NrN1hHNWNkRngwWEc1Y2RGeDBSWFpsYm5SelJXMXBkSFJsY2k1MGNtbG5aMlZ5UTI5dWRISnZiR3hsY2tsdWFYUnBZV3hwZW1Wa0tIUm9hWE11SkcxdlpHRnNMQ0JiSjFWd2JHOWhaRk4wZVd4bFRXOWtZV3duWFNrN1hHNWNkRngwWEc1Y2RGeDBKQzV0WVhSbGNtbGhiQzVwYm1sMEtDazdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRVpYTjBjbTk1SUVOdmJuUnliMnhzWlhKY2JseDBJQ292WEc1Y2RHUmxjM1J5YjNrb0tTQjdYRzVjZEZ4MFRXOWtZV3d1YUdsa1pTaDBhR2x6TGlSdGIyUmhiQ2s3WEc1Y2RGeDBSWFpsYm5SelJXMXBkSFJsY2k1MGNtbG5aMlZ5UTI5dWRISnZiR3hsY2tSbGMzUnliM2xsWkNoMGFHbHpMaVJ0YjJSaGJDd2dXeWRWY0d4dllXUlRkSGxzWlUxdlpHRnNKMTBwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dSWFpsYm5RNklFTnNhV05ySUVKeWIzZHpaU0JDZFhSMGIyNWNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRxVVhWbGNua3VSWFpsYm5SOUlHVjJaVzUwWEc1Y2RDQXFYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZiMjVEYkdsamEwSnliM2R6WlNobGRtVnVkQ2tnZTF4dVhIUmNkR052Ym5OMElHWnBiR1ZPWVcxbElEMGdKQ2hsZG1WdWRDNWpkWEp5Wlc1MFZHRnlaMlYwS1M1MllXd29LVHRjYmx4MFhIUWtLR1YyWlc1MExtTjFjbkpsYm5SVVlYSm5aWFFwTG5OcFlteHBibWR6S0NkcGJuQjFkRHAwWlhoMEp5a3VZWFIwY2lnbmNHeGhZMlZvYjJ4a1pYSW5MQ0JtYVd4bFRtRnRaU2s3WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkZkbVZ1ZERvZ1EzSmxZWFJsSUVKMWRIUnZiaUJEYkdsamExeHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMnBSZFdWeWVTNUZkbVZ1ZEgwZ1pYWmxiblJjYmx4MElDcGNibHgwSUNvZ1FIQnlhWFpoZEdWY2JseDBJQ292WEc1Y2RGOXZia05zYVdOclEzSmxZWFJsS0dWMlpXNTBLU0I3WEc1Y2RGeDBZMjl1YzNRZ0pHVnNaVzFsYm5RZ1BTQWtLR1YyWlc1MExtTjFjbkpsYm5SVVlYSm5aWFFwTzF4dVhIUmNkR052Ym5OMElDUnVaWGRUZEhsc1pVNWhiV1VnUFNCMGFHbHpMaVJ0YjJSaGJDNW1hVzVrS0NjamMzUjViR1V0Ym1GdFpTY3BPMXh1WEhSY2RHTnZibk4wSUNSdVpYZFRkSGxzWlVacGJHVWdQU0IwYUdsekxpUnRiMlJoYkM1bWFXNWtLQ2NqYW5OdmJpMTFjR3h2WVdRbktUdGNibHgwWEhSY2JseDBYSFFrYm1WM1UzUjViR1ZPWVcxbExuQmhjbVZ1ZENncExuSmxiVzkyWlVOc1lYTnpLQ2RvWVhNdFpYSnliM0luS1R0Y2JseDBYSFFrYm1WM1UzUjViR1ZHYVd4bExuQmhjbVZ1ZENncExuSmxiVzkyWlVOc1lYTnpLQ2RvWVhNdFpYSnliM0lnYVhNdFptOWpkWE5sWkNjcE8xeHVYSFJjZEZ4dVhIUmNkR2xtSUNna2JtVjNVM1I1YkdWT1lXMWxMblpoYkNncElEMDlQU0FuSnlrZ2UxeHVYSFJjZEZ4MEpHNWxkMU4wZVd4bFRtRnRaUzV3WVhKbGJuUW9LUzVoWkdSRGJHRnpjeWduYUdGekxXVnljbTl5SnlrN1hHNWNkRngwWEhRa2JtVjNVM1I1YkdWT1lXMWxMbVp2WTNWektDazdYRzVjZEZ4MFhIUnlaWFIxY200N1hHNWNkRngwZlZ4dVhIUmNkRnh1WEhSY2RHbG1JQ2drYm1WM1UzUjViR1ZHYVd4bExuWmhiQ2dwSUQwOVBTQW5KeWtnZTF4dVhIUmNkRngwSkc1bGQxTjBlV3hsUm1sc1pTNXdZWEpsYm5Rb0tTNWhaR1JEYkdGemN5Z25hR0Z6TFdWeWNtOXlJR2x6TFdadlkzVnpaV1FuS1R0Y2JseDBYSFJjZENSdVpYZFRkSGxzWlVacGJHVXVabTlqZFhNb0tUdGNibHgwWEhSY2RISmxkSFZ5Ymp0Y2JseDBYSFI5WEc1Y2RGeDBYRzVjZEZ4MGRHaHBjeTV6ZEhsc1pWVndiRzloWkM1MWNHeHZZV1FvSkc1bGQxTjBlV3hsVG1GdFpTNTJZV3dvS1NrdVpHOXVaU2h5WlhOd2IyNXpaU0E5UGlCN1hHNWNkRngwWEhSRmRtVnVkSE5GYldsMGRHVnlMblJ5YVdkblpYSlRkSGxzWlVOeVpXRjBaV1FvSkdWc1pXMWxiblFzSUZ0eVpYTndiMjV6WlYwcE8xeHVYSFJjZEZ4MFRXOWtZV3d1YUdsa1pTaDBhR2x6TGlSdGIyUmhiQ2s3SUM4dklHTnNiM05sSUhSb1pTQnRiMlJoYkNCc1lYbGxjbHh1WEhSY2RIMHBPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1JYWmxiblE2SUVOaGJtTmxiQ0JDZFhSMGIyNGdRMnhwWTJ0Y2JseDBJQ3BjYmx4MElDb2dRSEJ5YVhaaGRHVmNibHgwSUNvdlhHNWNkRjl2YmtOc2FXTnJRMkZ1WTJWc0tDa2dlMXh1WEhSY2RIUm9hWE11WkdWemRISnZlU2dwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dRbWx1WkNCMGFHVWdjbVZ4ZFdseVpTQmxkbVZ1ZENCb1lXNWtiR1Z5Y3k1Y2JseDBJQ3BjYmx4MElDb2dRSEJ5YVhaaGRHVmNibHgwSUNvdlhHNWNkRjlpYVc1a1JYWmxiblJJWVc1a2JHVnljeWdwSUh0Y2JseDBYSFIwYUdsekxpUnRiMlJoYkZ4dVhIUmNkRngwTG05dUtDZGpiR2xqYXljc0lDY3VZblJ1TG1OeVpXRjBaU2NzSUdWMlpXNTBJRDArSUhSb2FYTXVYMjl1UTJ4cFkydERjbVZoZEdVb1pYWmxiblFwS1Z4dVhIUmNkRngwTG05dUtDZGpiR2xqYXljc0lDY3VZblJ1TG1OaGJtTmxiQ2NzSUNncElEMCtJSFJvYVhNdVgyOXVRMnhwWTJ0RFlXNWpaV3dvS1NsY2JseDBYSFJjZEM1dmJpZ25ZMmhoYm1kbEp5d2dKeU5xYzI5dUxYVndiRzloWkNjc0lHVjJaVzUwSUQwK0lIUm9hWE11WDI5dVEyeHBZMnRDY205M2MyVW9aWFpsYm5RcEtUdGNibHgwZlZ4dWZWeHVJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdRbTk0VTJWMGRHbHVaeTVxY3lBeU1ERTVMVEEyTFRBM1hHNGdJRWRoYldKcGJ5QkhiV0pJWEc0Z0lHaDBkSEE2THk5M2QzY3VaMkZ0WW1sdkxtUmxYRzRnSUVOdmNIbHlhV2RvZENBb1l5a2dNakF4T1NCSFlXMWlhVzhnUjIxaVNGeHVJQ0JTWld4bFlYTmxaQ0IxYm1SbGNpQjBhR1VnUjA1VklFZGxibVZ5WVd3Z1VIVmliR2xqSUV4cFkyVnVjMlVnS0ZabGNuTnBiMjRnTWlsY2JpQWdXMmgwZEhBNkx5OTNkM2N1WjI1MUxtOXlaeTlzYVdObGJuTmxjeTluY0d3dE1pNHdMbWgwYld4ZFhHNGdJQzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRLaTljYmx4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtbHRjRzl5ZENCVFpYUjBhVzVuSUdaeWIyMGdKeTR2VTJWMGRHbHVaeWM3WEc1Y2JpOHFLbHh1SUNvZ1EyeGhjM01nUW05NFUyVjBkR2x1WjF4dUlDb3ZYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQmpiR0Z6Y3lCQ2IzaFRaWFIwYVc1bklHVjRkR1Z1WkhNZ1UyVjBkR2x1WnlCN1hHNWNkQzhxS2x4dVhIUWdLaUJEYkdGemN5QkRiMjV6ZEhKMVkzUnZjaUJjYmx4MElDb3ZYRzVjZEdOdmJuTjBjblZqZEc5eUtDa2dlMXh1WEhSY2RITjFjR1Z5S0NrN1hHNWNkRngwWEc1Y2RGeDBMeW9xWEc1Y2RGeDBJQ29nVUc5emFYUnBiMjRnYVc0Z2RHaGxJR0p2ZUdWeklITmxkSFJwYm1jZ1ozSnZkWEF1WEc1Y2RGeDBJQ3BjYmx4MFhIUWdLaUJBZEhsd1pTQjdUblZ0WW1WeWZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVjRzl6YVhScGIyNGdQU0J1ZFd4c08xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nVUc5emFYUnBiMjRnUjJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTA1MWJXSmxjbjFjYmx4MElDb3ZYRzVjZEdkbGRGQnZjMmwwYVc5dUtDa2dlMXh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbkJ2YzJsMGFXOXVPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1VHOXphWFJwYjI0Z1UyVjBkR1Z5WEc1Y2RDQXFYRzVjZENBcUlFQndZWEpoYlNCN1RuVnRZbVZ5ZlNCd2IzTnBkR2x2Ymx4dVhIUWdLbHh1WEhRZ0tpQkFjbVYwZFhKdUlIdENiM2hUWlhSMGFXNW5mVnh1WEhRZ0tpOWNibHgwYzJWMFVHOXphWFJwYjI0b2NHOXphWFJwYjI0cElIdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpTVzUwS0hCdmMybDBhVzl1S1R0Y2JseDBYSFIwYUdsekxuQnZjMmwwYVc5dUlEMGdjRzl6YVhScGIyNDdYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTTdYRzVjZEgxY2JuMWNiaUlzSWk4cUlDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdFhHNGdJRU52Ykd4bFkzUnBiMjR1YW5NZ01qQXhPUzB3Tmkwd04xeHVJQ0JIWVcxaWFXOGdSMjFpU0Z4dUlDQm9kSFJ3T2k4dmQzZDNMbWRoYldKcGJ5NWtaVnh1SUNCRGIzQjVjbWxuYUhRZ0tHTXBJREl3TVRrZ1IyRnRZbWx2SUVkdFlraGNiaUFnVW1Wc1pXRnpaV1FnZFc1a1pYSWdkR2hsSUVkT1ZTQkhaVzVsY21Gc0lGQjFZbXhwWXlCTWFXTmxibk5sSUNoV1pYSnphVzl1SURJcFhHNGdJRnRvZEhSd09pOHZkM2QzTG1kdWRTNXZjbWN2YkdsalpXNXpaWE12WjNCc0xUSXVNQzVvZEcxc1hWeHVJQ0F0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMU292WEc1Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNHZLaXBjYmlBcUlFTnNZWE56SUVOdmJHeGxZM1JwYjI1Y2JpQXFMMXh1Wlhod2IzSjBJR1JsWm1GMWJIUWdZMnhoYzNNZ1EyOXNiR1ZqZEdsdmJpQjdYRzVjZEM4cUtseHVYSFFnS2lCRGJHRnpjeUJEYjI1emRISjFZM1J2Y2x4dVhIUWdLaTljYmx4MFkyOXVjM1J5ZFdOMGIzSW9LU0I3WEc1Y2RGeDBMeW9xWEc1Y2RGeDBJQ29nVG1GdFpWeHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTFOMGNtbHVaMzFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG01aGJXVWdQU0J1ZFd4c08xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZScGRHeGxYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1UzUnlhVzVuZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdWRHbDBiR1VnUFNCdWRXeHNPMXh1WEhSY2RGeHVYSFJjZEM4cUtseHVYSFJjZENBcUlGUjVjR1ZjYmx4MFhIUWdLbHh1WEhSY2RDQXFJRUIwZVhCbElIdFRkSEpwYm1kOVhHNWNkRngwSUNvdlhHNWNkRngwZEdocGN5NTBlWEJsSUQwZ2JuVnNiRHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQkpZMjl1WEc1Y2RGeDBJQ3BjYmx4MFhIUWdLaUJBZEhsd1pTQjdVM1J5YVc1bmZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVhV052YmlBOUlHNTFiR3c3WEc1Y2RGeDBYRzVjZEZ4MEx5b3FYRzVjZEZ4MElDb2dWbUZzZFdWY2JseDBYSFFnS2x4dVhIUmNkQ0FxSUVCMGVYQmxJSHRoY25KaGVYMWNibHgwWEhRZ0tpOWNibHgwWEhSMGFHbHpMbVZ1ZEhKcFpYTWdQU0J1ZFd4c08xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nVG1GdFpTQkhaWFIwWlhKY2JseDBJQ3BjYmx4MElDb2dRSEpsZEhWeWJpQjdVM1J5YVc1bmZWeHVYSFFnS2k5Y2JseDBaMlYwVG1GdFpTZ3BJSHRjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV1WVcxbE8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nVG1GdFpTQlRaWFIwWlhKY2JseDBJQ3BjYmx4MElDb2dRSEJoY21GdElIdFRkSEpwYm1kOUlHNWhiV1ZjYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN1EyOXNiR1ZqZEdsdmJuMWNibHgwSUNvdlhHNWNkSE5sZEU1aGJXVW9ibUZ0WlNrZ2UxeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlRkSEpwYm1jb2JtRnRaU2s3WEc1Y2RGeDBkR2hwY3k1dVlXMWxJRDBnYm1GdFpUdGNibHgwWEhSeVpYUjFjbTRnZEdocGN6dGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUZScGRHeGxJRWRsZEhSbGNseHVYSFFnS2x4dVhIUWdLaUJBY21WMGRYSnVJSHRUZEhKcGJtZDlYRzVjZENBcUwxeHVYSFJuWlhSVWFYUnNaU2dwSUh0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1MGFYUnNaVHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlGUnBkR3hsSUZObGRIUmxjbHh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMzBnZEdsMGJHVmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3UTI5c2JHVmpkR2x2Ym4xY2JseDBJQ292WEc1Y2RITmxkRlJwZEd4bEtIUnBkR3hsS1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMxTjBjbWx1WnloMGFYUnNaU2s3WEc1Y2RGeDBkR2hwY3k1MGFYUnNaU0E5SUhScGRHeGxPMXh1WEhSY2RISmxkSFZ5YmlCMGFHbHpPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1ZIbHdaU0JIWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VTNSeWFXNW5mVnh1WEhRZ0tpOWNibHgwWjJWMFZIbHdaU2dwSUh0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1MGVYQmxPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1ZIbHdaU0JUWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJSFI1Y0dWY2JseDBJQ3BjYmx4MElDb2dRSEpsZEhWeWJpQjdRMjlzYkdWamRHbHZibjFjYmx4MElDb3ZYRzVjZEhObGRGUjVjR1VvZEhsd1pTa2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5UZEhKcGJtY29kSGx3WlNrN1hHNWNkRngwZEdocGN5NTBlWEJsSUQwZ2RIbHdaVHRjYmx4MFhIUnlaWFIxY200Z2RHaHBjenRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFbGpiMjRnUjJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFOMGNtbHVaMzFjYmx4MElDb3ZYRzVjZEdkbGRFbGpiMjRvS1NCN1hHNWNkRngwY21WMGRYSnVJSFJvYVhNdWFXTnZianRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFbGpiMjRnVTJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0JwWTI5dVhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlME52Ykd4bFkzUnBiMjU5WEc1Y2RDQXFMMXh1WEhSelpYUkpZMjl1S0dsamIyNHBJSHRjYmx4MFhIUlRkSGxzWlVWa2FYUXVWbUZzYVdSaGRHOXlMbWx6VTNSeWFXNW5LR2xqYjI0cE8xeHVYSFJjZEhSb2FYTXVhV052YmlBOUlHbGpiMjQ3WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE03WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkZiblJ5YVdWeklFZGxkSFJsY2x4dVhIUWdLbHh1WEhRZ0tpQkFjbVYwZFhKdUlIdFRaWFIwYVc1blcxMTlYRzVjZENBcUwxeHVYSFJuWlhSRmJuUnlhV1Z6S0NrZ2UxeHVYSFJjZEhKbGRIVnliaUIwYUdsekxtVnVkSEpwWlhNN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJGYm5SeWFXVnpJRk5sZEhSbGNseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMU5sZEhScGJtZGJYWDBnWlc1MGNtbGxjMXh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0RGIyeHNaV04wYVc5dWZWeHVYSFFnS2k5Y2JseDBjMlYwUlc1MGNtbGxjeWhsYm5SeWFXVnpLU0I3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2hsYm5SeWFXVnpLVHRjYmx4MFhIUjBhR2x6TG1WdWRISnBaWE1nUFNCbGJuUnlhV1Z6TzF4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TzF4dVhIUjlYRzU5WEc0aUxDSXZLaUF0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMVnh1SUNCUWNtVjJhV1YzVkhsd1pTNXFjeUF5TURFNUxUQTJMVEEzWEc0Z0lFZGhiV0pwYnlCSGJXSklYRzRnSUdoMGRIQTZMeTkzZDNjdVoyRnRZbWx2TG1SbFhHNGdJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhPU0JIWVcxaWFXOGdSMjFpU0Z4dUlDQlNaV3hsWVhObFpDQjFibVJsY2lCMGFHVWdSMDVWSUVkbGJtVnlZV3dnVUhWaWJHbGpJRXhwWTJWdWMyVWdLRlpsY25OcGIyNGdNaWxjYmlBZ1cyaDBkSEE2THk5M2QzY3VaMjUxTG05eVp5OXNhV05sYm5ObGN5OW5jR3d0TWk0d0xtaDBiV3hkWEc0Z0lDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdEtpOWNibHh1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYmk4cUtseHVJQ29nUTJ4aGMzTWdVSEpsZG1sbGQxUjVjR1ZjYmlBcUwxeHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nVUhKbGRtbGxkMVI1Y0dVZ2UxeHVYSFF2S2lwY2JseDBJQ29nUTJ4aGMzTWdRMjl1YzNSeWRXTjBiM0pjYmx4MElDb3ZYRzVjZEdOdmJuTjBjblZqZEc5eUtDa2dlMXh1WEhSY2RDOHFLbHh1WEhSY2RDQXFJRkJ5WlhacFpYY2dkSGx3WlNCSVZFMU1JR05zWVhOekxseHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTFOMGNtbHVaMzFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG1Oc1lYTnpJRDBnYm5Wc2JEdGNibHgwWEhSY2JseDBYSFF2S2lwY2JseDBYSFFnS2lCUWNtVjJhV1YzSUhSNWNHVWdaR2x6Y0d4aGVTQnVZVzFsTGx4dVhIUmNkQ0FxWEc1Y2RGeDBJQ29nUUhSNWNHVWdlMU4wY21sdVozMWNibHgwWEhRZ0tpOWNibHgwWEhSMGFHbHpMbTVoYldVZ1BTQnVkV3hzTzF4dVhIUmNkRnh1WEhSY2RDOHFLbHh1WEhSY2RDQXFJRU5UVXlCVGRIbHNhVzVuSUhObGRDQjNhWFJvSUdwUmRXVnllVnh1WEhSY2RDQXFYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UwOWlhbVZqZEgxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxuQnlaWFpwWlhkRGMzTWdQU0J1ZFd4c08xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUVadmJuUXRRWGRsYzI5dFpTQkpZMjl1SUVOc1lYTnpYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1UzUnlhVzVuZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdWFXTnZia05zWVhOeklEMGdiblZzYkR0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJTWlhOdmJIVjBhVzl1WEc1Y2RGeDBJQ3BjYmx4MFhIUWdLaUJBZEhsd1pTQjdVM1J5YVc1bmZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVjbVZ6YjJ4MWRHbHZiaUE5SUc1MWJHdzdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRGJHRnpjeUJIWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VTNSeWFXNW5mVnh1WEhRZ0tpOWNibHgwWjJWMFEyeGhjM01vS1NCN1hHNWNkRngwY21WMGRYSnVJSFJvYVhNdVkyeGhjM003WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkRiR0Z6Y3lCVFpYUjBaWEpjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUdOc1lYTnpUbUZ0WlZ4dVhIUWdLbHh1WEhRZ0tpQkFjbVYwZFhKdUlIdFFjbVYyYVdWM1ZIbHdaWDFjYmx4MElDb3ZYRzVjZEhObGRFTnNZWE56S0dOc1lYTnpUbUZ0WlNrZ2UxeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlRkSEpwYm1jb1kyeGhjM05PWVcxbEtUdGNibHgwWEhSMGFHbHpMbU5zWVhOeklEMGdZMnhoYzNOT1lXMWxPMXh1WEhSY2RISmxkSFZ5YmlCMGFHbHpPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1RtRnRaU0JIWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VTNSeWFXNW5mVnh1WEhRZ0tpOWNibHgwWjJWMFRtRnRaU2dwSUh0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1dVlXMWxPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1RtRnRaU0JUWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJRzVoYldWY2JseDBJQ3BjYmx4MElDb2dRSEpsZEhWeWJpQjdVSEpsZG1sbGQxUjVjR1Y5WEc1Y2RDQXFMMXh1WEhSelpYUk9ZVzFsS0c1aGJXVXBJSHRjYmx4MFhIUlRkSGxzWlVWa2FYUXVWbUZzYVdSaGRHOXlMbWx6VTNSeWFXNW5LRzVoYldVcE8xeHVYSFJjZEhSb2FYTXVibUZ0WlNBOUlHNWhiV1U3WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE03WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQlFjbVYyYVdWM0lFTlRVeUJIWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VDJKcVpXTjBmVnh1WEhRZ0tpOWNibHgwWjJWMFVISmxkbWxsZDBOemN5Z3BJSHRjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV3Y21WMmFXVjNRM056TzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dVSEpsZG1sbGR5QkRVMU1nVTJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J3Y21WMmFXVjNRM056WEc1Y2RDQXFYRzVjZENBcUlFQnlaWFIxY200Z2UxQnlaWFpwWlhkVWVYQmxmVnh1WEhRZ0tpOWNibHgwYzJWMFVISmxkbWxsZDBOemN5aHdjbVYyYVdWM1EzTnpLU0I3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2h3Y21WMmFXVjNRM056S1R0Y2JseDBYSFIwYUdsekxuQnlaWFpwWlhkRGMzTWdQU0J3Y21WMmFXVjNRM056TzF4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dSbTl1ZEMxaGQyVnpiMjFsSUVsamIyNGdRMnhoYzNNZ1IyVjBkR1Z5WEc1Y2RDQXFYRzVjZENBcUlFQnlaWFIxY200Z2UxTjBjbWx1WjMxY2JseDBJQ292WEc1Y2RHZGxkRWxqYjI1RGJHRnpjeWdwSUh0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1cFkyOXVRMnhoYzNNN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJHYjI1MExXRjNaWE52YldVZ1NXTnZiaUJEYkdGemN5QlRaWFIwWlhKY2JseDBJQ3BjYmx4MElDb2dRSEJoY21GdElIdFRkSEpwYm1kOUlHbGpiMjVEYkdGemMxeHVYSFFnS2x4dVhIUWdLaUJBY21WMGRYSnVJSHRRY21WMmFXVjNWSGx3WlgxY2JseDBJQ292WEc1Y2RITmxkRWxqYjI1RGJHRnpjeWhwWTI5dVEyeGhjM01wSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selUzUnlhVzVuS0dsamIyNURiR0Z6Y3lrN1hHNWNkRngwZEdocGN5NXBZMjl1UTJ4aGMzTWdQU0JwWTI5dVEyeGhjM003WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE03WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQlNaWE52YkhWMGFXOXVJRWRsZEhSbGNseHVYSFFnS2x4dVhIUWdLaUJBY21WMGRYSnVJSHRUZEhKcGJtZDlYRzVjZENBcUwxeHVYSFJuWlhSU1pYTnZiSFYwYVc5dUtDa2dlMXh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbkpsYzI5c2RYUnBiMjQ3WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQlNaWE52YkhWMGFXOXVJRk5sZEhSbGNseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMU4wY21sdVozMGdjbVZ6YjJ4MWRHbHZibHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0UWNtVjJhV1YzVkhsd1pYMWNibHgwSUNvdlhHNWNkSE5sZEZKbGMyOXNkWFJwYjI0b2NtVnpiMngxZEdsdmJpa2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5UZEhKcGJtY29jbVZ6YjJ4MWRHbHZiaWs3WEc1Y2RGeDBkR2hwY3k1eVpYTnZiSFYwYVc5dUlEMGdjbVZ6YjJ4MWRHbHZianRjYmx4MFhIUnlaWFIxY200Z2RHaHBjenRjYmx4MGZWeHVmVnh1SWl3aUx5b2dMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMWNiaUFnVTJWMGRHbHVaeTVxY3lBeU1ERTVMVEEyTFRBM1hHNGdJRWRoYldKcGJ5QkhiV0pJWEc0Z0lHaDBkSEE2THk5M2QzY3VaMkZ0WW1sdkxtUmxYRzRnSUVOdmNIbHlhV2RvZENBb1l5a2dNakF4T1NCSFlXMWlhVzhnUjIxaVNGeHVJQ0JTWld4bFlYTmxaQ0IxYm1SbGNpQjBhR1VnUjA1VklFZGxibVZ5WVd3Z1VIVmliR2xqSUV4cFkyVnVjMlVnS0ZabGNuTnBiMjRnTWlsY2JpQWdXMmgwZEhBNkx5OTNkM2N1WjI1MUxtOXlaeTlzYVdObGJuTmxjeTluY0d3dE1pNHdMbWgwYld4ZFhHNGdJQzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRLaTljYmx4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JpOHFLbHh1SUNvZ1EyeGhjM01nVTJWMGRHbHVaMXh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJUWlhSMGFXNW5JSHRjYmx4MEx5b3FYRzVjZENBcUlFTnNZWE56SUVOdmJuTjBjblZqZEc5eVhHNWNkQ0FxTDF4dVhIUmpiMjV6ZEhKMVkzUnZjaWdwSUh0Y2JseDBYSFF2S2lwY2JseDBYSFFnS2lCSGNtOTFjRnh1WEhSY2RDQXFYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UxTjBjbWx1WjMxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxtZHliM1Z3SUQwZ2JuVnNiRHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQk9ZVzFsWEc1Y2RGeDBJQ3BjYmx4MFhIUWdLaUJBZEhsd1pTQjdVM1J5YVc1bmZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVibUZ0WlNBOUlHNTFiR3c3WEc1Y2RGeDBYRzVjZEZ4MEx5b3FYRzVjZEZ4MElDb2dWR2wwYkdWY2JseDBYSFFnS2x4dVhIUmNkQ0FxSUVCMGVYQmxJSHRUZEhKcGJtZDlYRzVjZEZ4MElDb3ZYRzVjZEZ4MGRHaHBjeTUwYVhSc1pTQTlJRzUxYkd3N1hHNWNkRngwWEc1Y2RGeDBMeW9xWEc1Y2RGeDBJQ29nVkhsd1pWeHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTFOMGNtbHVaMzFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG5SNWNHVWdQU0J1ZFd4c08xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZaaGJIVmxYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN0tuMWNibHgwWEhRZ0tpOWNibHgwWEhSMGFHbHpMblpoYkhWbElEMGdiblZzYkR0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJFWldaaGRXeDBJRTFsZEhKcFkxeHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTFOMGNtbHVaMzFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG1SbFptRjFiSFJOWlhSeWFXTWdQU0J1ZFd4c08xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUU5d2RHbHZibk5jYmx4MFhIUWdLbHh1WEhSY2RDQXFJRUIwZVhCbElIdFRkSEpwYm1kYlhYMWNibHgwWEhRZ0tpOWNibHgwWEhSMGFHbHpMbTl3ZEdsdmJuTWdQU0J1ZFd4c08xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZSaFozTmNibHgwWEhRZ0tseHVYSFJjZENBcUlFQjBlWEJsSUh0VGRISnBibWRiWFgxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxuUmhaM01nUFNCdWRXeHNPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1IzSnZkWEFnUjJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFOMGNtbHVaMzFjYmx4MElDb3ZYRzVjZEdkbGRFZHliM1Z3S0NrZ2UxeHVYSFJjZEhKbGRIVnliaUIwYUdsekxtZHliM1Z3TzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dUbUZ0WlNCVFpYUjBaWEpjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUdkeWIzVndYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFObGRIUnBibWQ5WEc1Y2RDQXFMMXh1WEhSelpYUkhjbTkxY0NobmNtOTFjQ2tnZTF4dVhIUmNkRk4wZVd4bFJXUnBkQzVXWVd4cFpHRjBiM0l1YVhOVGRISnBibWNvWjNKdmRYQXBPMXh1WEhSY2RIUm9hWE11WjNKdmRYQWdQU0JuY205MWNEdGNibHgwWEhSeVpYUjFjbTRnZEdocGN6dGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUU1aGJXVWdSMlYwZEdWeVhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlMU4wY21sdVozMWNibHgwSUNvdlhHNWNkR2RsZEU1aGJXVW9LU0I3WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11Ym1GdFpUdGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUU1aGJXVWdVMlYwZEdWeVhHNWNkQ0FxWEc1Y2RDQXFJRUJ3WVhKaGJTQjdVM1J5YVc1bmZTQnVZVzFsWEc1Y2RDQXFYRzVjZENBcUlFQnlaWFIxY200Z2UxTmxkSFJwYm1kOVhHNWNkQ0FxTDF4dVhIUnpaWFJPWVcxbEtHNWhiV1VwSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selUzUnlhVzVuS0c1aGJXVXBPMXh1WEhSY2RIUm9hWE11Ym1GdFpTQTlJRzVoYldVN1hHNWNkRngwY21WMGRYSnVJSFJvYVhNN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJVYVhSc1pTQkhaWFIwWlhKY2JseDBJQ3BjYmx4MElDb2dRSEpsZEhWeWJpQjdVM1J5YVc1bmZWeHVYSFFnS2k5Y2JseDBaMlYwVkdsMGJHVW9LU0I3WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11ZEdsMGJHVTdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCVWFYUnNaU0JUWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJSFJwZEd4bFhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlMU5sZEhScGJtZDlYRzVjZENBcUwxeHVYSFJ6WlhSVWFYUnNaU2gwYVhSc1pTa2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5UZEhKcGJtY29kR2wwYkdVcE8xeHVYSFJjZEhSb2FYTXVkR2wwYkdVZ1BTQjBhWFJzWlR0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwY3p0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRlI1Y0dVZ1IyVjBkR1Z5WEc1Y2RDQXFYRzVjZENBcUlFQnlaWFIxY200Z2UxTjBjbWx1WjMxY2JseDBJQ292WEc1Y2RHZGxkRlI1Y0dVb0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXVkSGx3WlR0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRlI1Y0dVZ1UyVjBkR1Z5WEc1Y2RDQXFYRzVjZENBcUlFQndZWEpoYlNCN1UzUnlhVzVuZlNCMGVYQmxYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFObGRIUnBibWQ5WEc1Y2RDQXFMMXh1WEhSelpYUlVlWEJsS0hSNWNHVXBJSHRjYmx4MFhIUlRkSGxzWlVWa2FYUXVWbUZzYVdSaGRHOXlMbWx6VTNSeWFXNW5LSFI1Y0dVcE8xeHVYSFJjZEhSb2FYTXVkSGx3WlNBOUlIUjVjR1U3WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE03WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQldZV3gxWlNCSFpYUjBaWEpjYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN0tuMWNibHgwSUNvdlhHNWNkR2RsZEZaaGJIVmxLQ2tnZTF4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1ZtRnNkV1VnVTJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUU1dmRHbGpaVG9nVkdobElIWmhiSFZsSUdGeVozVnRaVzUwSUdOaGJpQmlaU0J0YVhobFpDQnpieUIwYUdWeVpTQnBjeUJ1YnlCMllXeHBaR0YwYVc5dUxseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdleXA5SUhaaGJIVmxYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFObGRIUnBibWQ5WEc1Y2RDQXFMMXh1WEhSelpYUldZV3gxWlNoMllXeDFaU2tnZTF4dVhIUmNkSFJvYVhNdWRtRnNkV1VnUFNCMllXeDFaVHRjYmx4MFhIUnlaWFIxY200Z2RHaHBjenRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFUmxabUYxYkhRZ1RXVjBjbWxqSUVkbGRIUmxjbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0VGRISnBibWQ5WEc1Y2RDQXFMMXh1WEhSblpYUkVaV1poZFd4MFRXVjBjbWxqS0NrZ2UxeHVYSFJjZEhKbGRIVnliaUIwYUdsekxtUmxabUYxYkhSTlpYUnlhV003WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkVaV1poZFd4MElFMWxkSEpwWXlCVFpYUjBaWEpjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUdSbFptRjFiSFJOWlhSeWFXTmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VTJWMGRHbHVaMzFjYmx4MElDb3ZYRzVjZEhObGRFUmxabUYxYkhSTlpYUnlhV01vWkdWbVlYVnNkRTFsZEhKcFl5a2dlMXh1WEhSY2RIUm9hWE11WkdWbVlYVnNkRTFsZEhKcFl5QTlJR1JsWm1GMWJIUk5aWFJ5YVdNN1hHNWNkRngwY21WMGRYSnVJSFJvYVhNN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJQY0hScGIyNXpJRWRsZEhSbGNseHVYSFFnS2x4dVhIUWdLaUJBY21WMGRYSnVJSHRUZEhKcGJtZGJYWDFjYmx4MElDb3ZYRzVjZEdkbGRFOXdkR2x2Ym5Nb0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXViM0IwYVc5dWN6dGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUU5d2RHbHZibk1nVTJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5XMTE5SUc5d2RHbHZibk5jYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN1UyVjBkR2x1WjMxY2JseDBJQ292WEc1Y2RITmxkRTl3ZEdsdmJuTW9iM0IwYVc5dWN5a2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5QWW1wbFkzUW9iM0IwYVc5dWN5azdYRzVjZEZ4MGRHaHBjeTV2Y0hScGIyNXpJRDBnYjNCMGFXOXVjenRjYmx4MFhIUnlaWFIxY200Z2RHaHBjenRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlGUmhaM01nUjJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFOMGNtbHVaMXRkZlZ4dVhIUWdLaTljYmx4MFoyVjBWR0ZuY3lncElIdGNibHgwWEhSeVpYUjFjbTRnZEdocGN5NTBZV2R6TzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dWR0ZuY3lCVFpYUjBaWEpjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWRiWFgwZ2RHRm5jMXh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0VFpYUjBhVzVuZlZ4dVhIUWdLaTljYmx4MGMyVjBWR0ZuY3loMFlXZHpLU0I3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2gwWVdkektUdGNibHgwWEhSMGFHbHpMblJoWjNNZ1BTQjBZV2R6TzF4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TzF4dVhIUjlYRzU5WEc0aUxDSXZLaUF0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMVnh1SUNCVGRIbHNaVU52Ym1acFozVnlZWFJwYjI0dWFuTWdNakF4T1Mwd05pMHdOMXh1SUNCSFlXMWlhVzhnUjIxaVNGeHVJQ0JvZEhSd09pOHZkM2QzTG1kaGJXSnBieTVrWlZ4dUlDQkRiM0I1Y21sbmFIUWdLR01wSURJd01Ua2dSMkZ0WW1sdklFZHRZa2hjYmlBZ1VtVnNaV0Z6WldRZ2RXNWtaWElnZEdobElFZE9WU0JIWlc1bGNtRnNJRkIxWW14cFl5Qk1hV05sYm5ObElDaFdaWEp6YVc5dUlESXBYRzRnSUZ0b2RIUndPaTh2ZDNkM0xtZHVkUzV2Y21jdmJHbGpaVzV6WlhNdlozQnNMVEl1TUM1b2RHMXNYVnh1SUNBdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFNvdlhHNWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2lwY2JpQXFJRU5zWVhOeklGTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJseHVJQ292WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JqYkdGemN5QlRkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNGdlMXh1WEhRdktpcGNibHgwSUNvZ1EyeGhjM01nUTI5dWMzUnlkV04wYjNKY2JseDBJQ292WEc1Y2RHTnZibk4wY25WamRHOXlLQ2tnZTF4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUU1aGJXVmNibHgwWEhRZ0tseHVYSFJjZENBcUlFQjBlWEJsSUh0VGRISnBibWQ5WEc1Y2RGeDBJQ292WEc1Y2RGeDBkR2hwY3k1dVlXMWxJRDBnYm5Wc2JEdGNibHgwWEhSY2JseDBYSFF2S2lwY2JseDBYSFFnS2lCQlkzUnBkbVVnVTNSaGRIVnpYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1FtOXZiR1ZoYm4xY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxtRmpkR2wyWlNBOUlHNTFiR3c3WEc1Y2RGeDBYRzVjZEZ4MEx5b3FYRzVjZEZ4MElDb2dWR2gxYldKdVlXbHNJRTVoYldWY2JseDBYSFFnS2x4dVhIUmNkQ0FxSUVCMGVYQmxJSHRUZEhKcGJtZDlYRzVjZEZ4MElDb3ZYRzVjZEZ4MGRHaHBjeTUwYUhWdFltNWhhV3dnUFNCdWRXeHNPMXh1WEhSY2RGeHVYSFJjZEM4cUtseHVYSFJjZENBcUlFSnZhV3hsY25Cc1lYUmxJR1pwYkdVZ2JtRnRaVnh1WEhSY2RDQXFYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UxTjBjbWx1WjMxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxtSnZhV3hsY25Cc1lYUmxJRDBnYm5Wc2JEdGNibHgwWEhSY2JseDBYSFF2S2lwY2JseDBYSFFnS2lCRGNtVmhkR2x2YmlCRVlYUmxYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1JHRjBaWDFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG1OeVpXRjBhVzl1UkdGMFpTQTlJRzUxYkd3N1hHNWNkRngwWEc1Y2RGeDBMeW9xWEc1Y2RGeDBJQ29nVFc5a2FXWnBZMkYwYVc5dUlFUmhkR1ZjYmx4MFhIUWdLbHh1WEhSY2RDQXFJRUIwZVhCbElIdEVZWFJsZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdWJXOWthV1pwWTJGMGFXOXVSR0YwWlNBOUlHNTFiR3c3WEc1Y2RGeDBYRzVjZEZ4MEx5b3FYRzVjZEZ4MElDb2dRbTlwYkdWeWNHeGhkR1VnVFc5a2FXWnBZMkYwYVc5dUlFUmhkR1ZjYmx4MFhIUWdLbHh1WEhSY2RDQXFJRUIwZVhCbElIdEVZWFJsZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdVltOXBiR1Z5Y0d4aGRHVk5iMlJwWm1sallYUnBiMjVFWVhSbElEMGdiblZzYkR0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJEYjJ4dmNpQlFZV3hsZEhSbFhHNWNkRngwSUNwY2JseDBYSFFnS2lCQWRIbHdaU0I3VTNSeWFXNW5XMTE5WEc1Y2RGeDBJQ292WEc1Y2RGeDBkR2hwY3k1amIyeHZjbEJoYkdWMGRHVWdQU0J1ZFd4c08xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZObGRIUnBibWR6WEc1Y2RGeDBJQ3BjYmx4MFhIUWdLaUJBZEhsd1pTQjdRMjlzYkdWamRHbHZibjFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG5ObGRIUnBibWR6SUQwZ2JuVnNiRHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQkRkWE4wYjIwZ1UzUjViR1Z6WEc1Y2RGeDBJQ3BjYmx4MFhIUWdLaUJBZEhsd1pTQjdVM1J5YVc1bmZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVZM1Z6ZEc5dFUzUjViR1Z6SUQwZ2JuVnNiRHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFNWhiV1VnUjJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFOMGNtbHVaMzFjYmx4MElDb3ZYRzVjZEdkbGRFNWhiV1VvS1NCN1hHNWNkRngwY21WMGRYSnVJSFJvYVhNdWJtRnRaVHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFNWhiV1VnVTJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0J1WVcxbFhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlMU4wZVd4bFEyOXVabWxuZFhKaGRHbHZibjFjYmx4MElDb3ZYRzVjZEhObGRFNWhiV1VvYm1GdFpTa2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5UZEhKcGJtY29ibUZ0WlNrN1hHNWNkRngwZEdocGN5NXVZVzFsSUQwZ2JtRnRaVHRjYmx4MFhIUnlaWFIxY200Z2RHaHBjenRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFRmpkR2wyWlNCVGRHRjBkWE1nUjJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTBKdmIyeGxZVzU5WEc1Y2RDQXFMMXh1WEhScGMwRmpkR2wyWlNncElIdGNibHgwWEhSeVpYUjFjbTRnZEdocGN5NWhZM1JwZG1VN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJCWTNScGRtVWdVM1JoZEhWeklGTmxkSFJsY2x4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UwSnZiMnhsWVc1OUlHbHpRV04wYVhabFhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlMU4wZVd4bFEyOXVabWxuZFhKaGRHbHZibjFjYmx4MElDb3ZYRzVjZEhObGRFRmpkR2wyWlNocGMwRmpkR2wyWlNrZ2UxeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTkNiMjlzS0dselFXTjBhWFpsS1R0Y2JseDBYSFIwYUdsekxtRmpkR2wyWlNBOUlHbHpRV04wYVhabE8xeHVYSFJjZEhKbGRIVnliaUIwYUdsek8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nVkdoMWJXSnVZV2xzSUVkbGRIUmxjbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0VGRISnBibWQ5WEc1Y2RDQXFMMXh1WEhSblpYUlVhSFZ0WW01aGFXd29LU0I3WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11ZEdoMWJXSnVZV2xzTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dWR2gxYldKdVlXbHNJRk5sZEhSbGNseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMU4wY21sdVozMGdkR2gxYldKdVlXbHNYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ym4xY2JseDBJQ292WEc1Y2RITmxkRlJvZFcxaWJtRnBiQ2gwYUhWdFltNWhhV3dwSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selUzUnlhVzVuS0hSb2RXMWlibUZwYkNrN1hHNWNkRngwZEdocGN5NTBhSFZ0WW01aGFXd2dQU0IwYUhWdFltNWhhV3c3WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE03WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkNiMmxzWlhKd2JHRjBaU0JIWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VTNSeWFXNW5mVnh1WEhRZ0tpOWNibHgwWjJWMFFtOXBiR1Z5Y0d4aGRHVW9LU0I3WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11WW05cGJHVnljR3hoZEdVN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJDYjJsc1pYSndiR0YwWlNCVFpYUjBaWEpjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUdKdmFXeGxjbkJzWVhSbFhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlMU4wZVd4bFEyOXVabWxuZFhKaGRHbHZibjFjYmx4MElDb3ZYRzVjZEhObGRFSnZhV3hsY25Cc1lYUmxLR0p2YVd4bGNuQnNZWFJsS1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMxTjBjbWx1WnloaWIybHNaWEp3YkdGMFpTazdYRzVjZEZ4MGRHaHBjeTVpYjJsc1pYSndiR0YwWlNBOUlHSnZhV3hsY25Cc1lYUmxPMXh1WEhSY2RISmxkSFZ5YmlCMGFHbHpPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1EzSmxZWFJwYjI0Z1JHRjBaU0JIWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3UkdGMFpYMWNibHgwSUNvdlhHNWNkR2RsZEVOeVpXRjBhVzl1UkdGMFpTZ3BJSHRjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTVqY21WaGRHbHZia1JoZEdVN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJEY21WaGRHbHZiaUJFWVhSbElGTmxkSFJsY2x4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UwUmhkR1Y5SUdOeVpXRjBhVzl1UkdGMFpWeHVYSFFnS2x4dVhIUWdLaUJBY21WMGRYSnVJSHRUZEhsc1pVTnZibVpwWjNWeVlYUnBiMjU5WEc1Y2RDQXFMMXh1WEhSelpYUkRjbVZoZEdsdmJrUmhkR1VvWTNKbFlYUnBiMjVFWVhSbEtTQjdYRzVjZEZ4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMDlpYW1WamRDaGpjbVZoZEdsdmJrUmhkR1VwTzF4dVhIUmNkSFJvYVhNdVkzSmxZWFJwYjI1RVlYUmxJRDBnWTNKbFlYUnBiMjVFWVhSbE8xeHVYSFJjZEhKbGRIVnliaUIwYUdsek8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nVFc5a2FXWnBZMkYwYVc5dUlFUmhkR1VnUjJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTBSaGRHVjlYRzVjZENBcUwxeHVYSFJuWlhSTmIyUnBabWxqWVhScGIyNUVZWFJsS0NrZ2UxeHVYSFJjZEhKbGRIVnliaUIwYUdsekxtMXZaR2xtYVdOaGRHbHZia1JoZEdVN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJOYjJScFptbGpZWFJwYjI0Z1JHRjBaU0JUWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRFWVhSbGZTQnRiMlJwWm1sallYUnBiMjVFWVhSbFhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlMU4wZVd4bFEyOXVabWxuZFhKaGRHbHZibjFjYmx4MElDb3ZYRzVjZEhObGRFMXZaR2xtYVdOaGRHbHZia1JoZEdVb2JXOWthV1pwWTJGMGFXOXVSR0YwWlNrZ2UxeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlBZbXBsWTNRb2JXOWthV1pwWTJGMGFXOXVSR0YwWlNrN1hHNWNkRngwZEdocGN5NXRiMlJwWm1sallYUnBiMjVFWVhSbElEMGdiVzlrYVdacFkyRjBhVzl1UkdGMFpUdGNibHgwWEhSeVpYUjFjbTRnZEdocGN6dGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVKdmFXeGxjbkJzWVhSbElFMXZaR2xtYVdOaGRHbHZiaUJFWVhSbElFZGxkSFJsY2x4dVhIUWdLbHh1WEhRZ0tpQkFjbVYwZFhKdUlIdEVZWFJsZlZ4dVhIUWdLaTljYmx4MFoyVjBRbTlwYkdWeWNHeGhkR1ZOYjJScFptbGpZWFJwYjI1RVlYUmxLQ2tnZTF4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TG1KdmFXeGxjbkJzWVhSbFRXOWthV1pwWTJGMGFXOXVSR0YwWlR0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRUp2YVd4bGNuQnNZWFJsSUUxdlpHbG1hV05oZEdsdmJpQkVZWFJsSUZObGRIUmxjbHh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTBSaGRHVjlJR0p2YVd4bGNuQnNZWFJsVFc5a2FXWnBZMkYwYVc5dVJHRjBaVnh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0VGRIbHNaVU52Ym1acFozVnlZWFJwYjI1OVhHNWNkQ0FxTDF4dVhIUnpaWFJDYjJsc1pYSndiR0YwWlUxdlpHbG1hV05oZEdsdmJrUmhkR1VvWW05cGJHVnljR3hoZEdWTmIyUnBabWxqWVhScGIyNUVZWFJsS1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMwOWlhbVZqZENoaWIybHNaWEp3YkdGMFpVMXZaR2xtYVdOaGRHbHZia1JoZEdVcE8xeHVYSFJjZEhSb2FYTXVZbTlwYkdWeWNHeGhkR1ZOYjJScFptbGpZWFJwYjI1RVlYUmxJRDBnWW05cGJHVnljR3hoZEdWTmIyUnBabWxqWVhScGIyNUVZWFJsTzF4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dUVzlrYVdacFkyRjBhVzl1SUVSaGRHVWdSMlYwZEdWeVhHNWNkQ0FxWEc1Y2RDQXFJRUJ5WlhSMWNtNGdlMU4wY21sdVoxdGRmVnh1WEhRZ0tpOWNibHgwWjJWMFEyOXNiM0pRWVd4bGRIUmxLQ2tnZTF4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TG1OdmJHOXlVR0ZzWlhSMFpUdGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUUxdlpHbG1hV05oZEdsdmJpQkVZWFJsSUZObGRIUmxjbHh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMXRkZlNCamIyeHZjbEJoYkdWMGRHVmNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VTNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1ZlZ4dVhIUWdLaTljYmx4MGMyVjBRMjlzYjNKUVlXeGxkSFJsS0dOdmJHOXlVR0ZzWlhSMFpTa2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5QWW1wbFkzUW9ZMjlzYjNKUVlXeGxkSFJsS1R0Y2JseDBYSFIwYUdsekxtTnZiRzl5VUdGc1pYUjBaU0E5SUdOdmJHOXlVR0ZzWlhSMFpUdGNibHgwWEhSeVpYUjFjbTRnZEdocGN6dGNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUZObGRIUnBibWR6SUVkbGRIUmxjbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0RGIyeHNaV04wYVc5dWZWeHVYSFFnS2k5Y2JseDBaMlYwVTJWMGRHbHVaM01vS1NCN1hHNWNkRngwY21WMGRYSnVJSFJvYVhNdWMyVjBkR2x1WjNNN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJUWlhSMGFXNW5jeUJUWlhSMFpYSmNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHREYjJ4c1pXTjBhVzl1ZlNCelpYUjBhVzVuYzF4dVhIUWdLbHh1WEhRZ0tpQkFjbVYwZFhKdUlIdFRkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNTlYRzVjZENBcUwxeHVYSFJ6WlhSVFpYUjBhVzVuY3loelpYUjBhVzVuY3lrZ2UxeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlBZbXBsWTNRb2MyVjBkR2x1WjNNcE8xeHVYSFJjZEhSb2FYTXVjMlYwZEdsdVozTWdQU0J6WlhSMGFXNW5jenRjYmx4MFhIUnlaWFIxY200Z2RHaHBjenRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFTjFjM1J2YlNCVGRIbHNaWE1nUjJWMGRHVnlYRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFOMGNtbHVaMzFjYmx4MElDb3ZYRzVjZEdkbGRFTjFjM1J2YlZOMGVXeGxjeWdwSUh0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1amRYTjBiMjFUZEhsc1pYTTdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRGRYTjBiMjBnVTNSNWJHVnpJRk5sZEhSbGNseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMU4wY21sdVozMGdZM1Z6ZEc5dFUzUjViR1Z6WEc1Y2RDQXFYRzVjZENBcUlFQnlaWFIxY200Z2UxTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJuMWNibHgwSUNvdlhHNWNkSE5sZEVOMWMzUnZiVk4wZVd4bGN5aGpkWE4wYjIxVGRIbHNaWE1wSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selUzUnlhVzVuS0dOMWMzUnZiVk4wZVd4bGN5azdYRzVjZEZ4MGRHaHBjeTVqZFhOMGIyMVRkSGxzWlhNZ1BTQmpkWE4wYjIxVGRIbHNaWE03WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE03WEc1Y2RIMWNkRnh1ZlZ4dUlpd2lMeW9nTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmlBZ1FXSnZkWFF1YW5NZ01qQXhPUzB3Tmkwd04xeHVJQ0JIWVcxaWFXOGdSMjFpU0Z4dUlDQm9kSFJ3T2k4dmQzZDNMbWRoYldKcGJ5NWtaVnh1SUNCRGIzQjVjbWxuYUhRZ0tHTXBJREl3TVRrZ1IyRnRZbWx2SUVkdFlraGNiaUFnVW1Wc1pXRnpaV1FnZFc1a1pYSWdkR2hsSUVkT1ZTQkhaVzVsY21Gc0lGQjFZbXhwWXlCTWFXTmxibk5sSUNoV1pYSnphVzl1SURJcFhHNGdJRnRvZEhSd09pOHZkM2QzTG1kdWRTNXZjbWN2YkdsalpXNXpaWE12WjNCc0xUSXVNQzVvZEcxc1hWeHVJQ0F0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMU292WEc1Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNHZLaXBjYmlBcUlFRmtaQ0IwYUdVZ1hDSkJZbTkxZEZ3aUlIQnliM0JsY25SNUlHbHVJSFJvWlNCbmJHOWlZV3dnVTNSNWJHVkZaR2wwSUdsdUlHOXlaR1Z5SUhSdklHZGxkQ0JwYm1admNtMWhkR2x2Ymx4dUlDb2dZV0p2ZFhRZ2RHaGxJR04xY25KbGJuUWdhVzV6ZEdGc2JHRjBhVzl1SUc5bUlGTjBlV3hsUldScGRDNWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ1UzUjViR1ZGWkdsMElGUm9aU0IzYVc1a2IzY3VVM1I1YkdWRlpHbDBJRzlpYW1WamRDNWNiaUFxTDF4dVpYaHdiM0owSUdSbFptRjFiSFFnWm5WdVkzUnBiMjRvVTNSNWJHVkZaR2wwS1NCN1hHNWNkR2xtSUNoVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25aVzUyYVhKdmJtMWxiblFuS1NBOVBUMGdKMlJsZG1Wc2IzQnRaVzUwSnlrZ2UxeHVYSFJjZEdOdmJuTjBJR0ZpYjNWMElEMGdZRk4wZVd4bFJXUnBkQ0IySkh0VGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25kbVZ5YzJsdmJpY3BmU0JpZVNCSFlXMWlhVzhnUjIxaVNDQmdJRnh1WEhSY2RGeDBLeUJnSkh0RVlYUmxMblJ2WkdGNUtDa3VkRzlUZEhKcGJtY29KM2w1ZVhrbktYMHNJRUZzYkNCU2FXZG9kSE1nVW1WelpYSjJaV1JnT3lCY2JseDBYSFJjYmx4MFhIUlRkSGxzWlVWa2FYUXVRV0p2ZFhRZ1BTQmhZbTkxZER0Y2JseDBmVnh1ZlNJc0lpOHFJQzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRYRzRnSUVGcVlYZ3Vhbk1nTWpBeE9TMHdOaTB3TjF4dUlDQkhZVzFpYVc4Z1IyMWlTRnh1SUNCb2RIUndPaTh2ZDNkM0xtZGhiV0pwYnk1a1pWeHVJQ0JEYjNCNWNtbG5hSFFnS0dNcElESXdNVGtnUjJGdFltbHZJRWR0WWtoY2JpQWdVbVZzWldGelpXUWdkVzVrWlhJZ2RHaGxJRWRPVlNCSFpXNWxjbUZzSUZCMVlteHBZeUJNYVdObGJuTmxJQ2hXWlhKemFXOXVJRElwWEc0Z0lGdG9kSFJ3T2k4dmQzZDNMbWR1ZFM1dmNtY3ZiR2xqWlc1elpYTXZaM0JzTFRJdU1DNW9kRzFzWFZ4dUlDQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTb3ZYRzVjYmx4dUx5b2daMnh2WW1Gc2N5QXRUVzlrWVd3Z0tpOWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzVwYlhCdmNuUWdUVzlrWVd3Z1puSnZiU0FuTGk5TmIyUmhiQ2M3WEc1Y2JpOHFLbHh1SUNvZ1ZHaHBjeUJ0WlhSb2IyUWdkMmxzYkNCb1lXNWtiR1VnZEdobElFRktRVmdnWlhKeWIzSnpMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdhbEYxWlhKNUxtcHhXRWhTZlNCcWNWaElVbHh1SUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUhSbGVIUlRkR0YwZFhOY2JpQXFJRUJ3WVhKaGJTQjdSWEp5YjNKOUlHVnljbTl5VkdoeWIzZHVYRzRnS2x4dUlDb2dRSEJ5YVhaaGRHVmNiaUFxTDF4dVpuVnVZM1JwYjI0Z1gyVnljbTl5U0dGdVpHeGxjaWhxY1ZoSVVpd2dkR1Y0ZEZOMFlYUjFjeXdnWlhKeWIzSlVhSEp2ZDI0cElIdGNibHgwTHk4Z1RHOW5JSFJvWlNCbGNuSnZjaUIwYnlCMGFHVWdZMjl1YzI5c1pTQm1iM0lnWkdWaWRXY2djSFZ5Y0c5elpYTXVYRzVjZEZOMGVXeGxSV1JwZEM1RVpXSjFaeTVsY25KdmNpZ25WR2hsY21VZ2QyRnpJR0Z1SUdWeWNtOXlJR2x1SUhSb1pTQm1iMnhzYjNkcGJtY2dRVXBCV0NCeVpYRjFaWE4wT2ljc0lHcHhXRWhTTENCMFpYaDBVM1JoZEhWekxDQmxjbkp2Y2xSb2NtOTNiaWs3WEc1Y2RGeHVYSFF2THlCRWFYTndiR0Y1SUdWeWNtOXlJRzFsYzNOaFoyVWdkRzhnZEdobElIVnpaWEl1WEc1Y2RHTnZibk4wSUcxbGMzTmhaMlVnUFNBb2FuRllTRkl1Y21WemNHOXVjMlZLVTA5T0tTQS9JR3B4V0VoU0xuSmxjM0J2Ym5ObFNsTlBUaTV0WlhOellXZGxJRG9nYW5GWVNGSXVjbVZ6Y0c5dWMyVlVaWGgwTzF4dVhIUk5iMlJoYkM1dFpYTnpZV2RsS0ZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0ozUnBkR3hsWDNWdVpYaHdaV04wWldSZmMyVnlkbVZ5WDJWeWNtOXlKeXdnSjNOMGVXeGxYMlZrYVhRbktTd2diV1Z6YzJGblpTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VHVnlabTl5YlNCaGJpQkJTa0ZZSUhKbGNYVmxjM1FnWW5rZ2RYTnBibWNnZEdobElDUXVZV3BoZUNCdlltcGxZM1F1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJSFI1Y0dVZ1ZHaGxJSEpsY1hWbGMzUWdkSGx3WlNBb0oxQlBVMVFuTENBblIwVlVKeUF1TGk0cExseHVJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJSFZ5YkNCVWFHVWdWVkpNSUhSdklHSmxJR05oYkd4bFpDQmllU0IwYUdVZ2NtVnhkV1Z6ZEM1Y2JpQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQmtZWFJoSUU5d2RHbHZibUZzSUNoN2ZTa3NJSFJvWlNCa1lYUmhJSFJ2SUdKbElITmxiblFnZDJsMGFDQjBhR1VnY21WeGRXVnpkQzVjYmlBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnBiMjV6SUU5d2RHbHZibUZzSUNoN2ZTa3NJSFJvYVhNZ2IySnFaV04wSUdOaGJpQmpiMjUwWVdsdUlHcHhkV1Z5ZVNCQlNrRllJRzl3ZEdsdmJuTXVYRzRnS2x4dUlDb2dRSEpsZEhWeWJpQjdhbEYxWlhKNUxtcHhXRWhTZlNCU1pYUjFjbTV6SUdFZ2NISnZiV2x6WlNCdlppQjBhR1VnUVVwQldDQmpZV3hzTGx4dUlDcGNiaUFxSUVCd2NtbDJZWFJsWEc0Z0tpOWNibVoxYm1OMGFXOXVJRjl5WlhGMVpYTjBLSFI1Y0dVc0lIVnliQ3dnWkdGMFlTQTlJSHQ5TENCdmNIUnBiMjV6SUQwZ2UzMHBJSHRjYmx4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMU4wY21sdVp5aDBlWEJsS1R0Y2JseDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzFOMGNtbHVaeWgxY213cE8xeHVYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selQySnFaV04wS0dSaGRHRXBPMXh1WEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpUMkpxWldOMEtHOXdkR2x2Ym5NcE8xeHVYSFJjYmx4MEx5OGdRV1JrSUhSb1pTQnZkbVZ5Y21sa1pTQm9aV0ZrWlhJZ1kyRjFjMlVnYzI5dFpTQnZiR1FnYzJWeWRtVnljeUJrYnlCdWIzUWdjbVZqYjJkdWFYcGxJR04xYzNSdmJTQklWRlJRSUhabGNtSnpJQ2hRVlZRc0lGQkJWRU5JTENCRVJVeEZWRVVwTGx4dVhIUmpiMjV6ZENCeVpYRjFaWE4wVDNCMGFXOXVjeUE5SUh0Y2JseDBYSFIwZVhCbE9pQjBlWEJsSUQwOVBTQW5SMFZVSnlBL0lDZEhSVlFuSURvZ0oxQlBVMVFuTEZ4dVhIUmNkSFZ5YkN4Y2JseDBYSFJrWVhSaExDQmNibHgwWEhSb1pXRmtaWEp6T2lCN1hHNWNkRngwWEhRbldDMUlWRlJRTFUxbGRHaHZaQzFQZG1WeWNtbGtaU2M2SUhSNWNHVmNibHgwWEhSOVhHNWNkSDA3WEc1Y2RHTnZibk4wSUdweFdFaFNJRDBnSkM1aGFtRjRLQ1F1WlhoMFpXNWtLSHQ5TENCdmNIUnBiMjV6TENCeVpYRjFaWE4wVDNCMGFXOXVjeWtwTzF4dVhIUmNibHgwTHk4Z1FYTnphV2R1SUhSb1pTQm1ZV2xzZFhKbElHaGhibVJzWlhJZ2FXNGdZVzRnWlhoMGNtRWdjM1JsY0NCemJ5QjBhR0YwSUNRdVlXcGhlQ0JqWVc0Z1ltVWdiVzlqYTJWa0lIZHBkR2dnWVhKbmRXMWxiblFnWlhod1pXTjBZWFJwYjI1ekxseHVYSFJwWmlBb2FuRllTRklwSUh0Y2JseDBYSFJxY1ZoSVVpNW1ZV2xzS0Y5bGNuSnZja2hoYm1Sc1pYSXBPMXh1WEhSOVhHNWNkRnh1WEhSeVpYUjFjbTRnYW5GWVNGSTdYRzU5WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUh0Y2JseDBMeW9xWEc1Y2RDQXFJRTFoYTJVZ1lTQlFUMU5VSUhKbGNYVmxjM1JjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUhWeWJGeHVYSFFnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnWkdGMFlWeHVYSFFnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGFXOXVjMXh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0cVVYVmxjbmt1YW5GWVNGSjlYRzVjZENBcUwxeHVYSFJ3YjNOMEtIVnliQ3dnWkdGMFlTd2diM0IwYVc5dWN5a2dlMXh1WEhSY2RISmxkSFZ5YmlCZmNtVnhkV1Z6ZENnblVFOVRWQ2NzSUhWeWJDd2daR0YwWVN3Z2IzQjBhVzl1Y3lrN1hHNWNkSDBzWEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nVFdGclpTQmhJRWRGVkNCeVpYRjFaWE4wWEc1Y2RDQXFYRzVjZENBcUlFQndZWEpoYlNCN1UzUnlhVzVuZlNCMWNteGNibHgwSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUdSaGRHRmNibHgwSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RHbHZibk5jYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN2FsRjFaWEo1TG1weFdFaFNmVnh1WEhRZ0tpOWNibHgwWjJWMEtIVnliQ3dnWkdGMFlTd2diM0IwYVc5dWN5a2dlMXh1WEhSY2RISmxkSFZ5YmlCZmNtVnhkV1Z6ZENnblIwVlVKeXdnZFhKc0xDQmtZWFJoTENCdmNIUnBiMjV6S1R0Y2JseDBmU3hjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJOWVd0bElHRWdVRlZVSUhKbGNYVmxjM1JjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUhWeWJGeHVYSFFnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnWkdGMFlWeHVYSFFnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGFXOXVjMXh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0cVVYVmxjbmt1YW5GWVNGSjlYRzVjZENBcUwxeHVYSFJ3ZFhRb2RYSnNMQ0JrWVhSaExDQnZjSFJwYjI1ektTQjdYRzVjZEZ4MGNtVjBkWEp1SUY5eVpYRjFaWE4wS0NkUVZWUW5MQ0IxY213c0lHUmhkR0VzSUc5d2RHbHZibk1wTzF4dVhIUjlMRnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRTFoYTJVZ1lTQkVSVXhGVkVVZ2NtVnhkV1Z6ZEZ4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxTjBjbWx1WjMwZ2RYSnNYRzVjZENBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCa1lYUmhYRzVjZENBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnBiMjV6WEc1Y2RDQXFYRzVjZENBcUlFQnlaWFIxY200Z2UycFJkV1Z5ZVM1cWNWaElVbjFjYmx4MElDb3ZYRzVjZEdSbGJHVjBaU2gxY213c0lHUmhkR0VzSUc5d2RHbHZibk1wSUh0Y2JseDBYSFJ5WlhSMWNtNGdYM0psY1hWbGMzUW9KMFJGVEVWVVJTY3NJSFZ5YkN3Z1pHRjBZU3dnYjNCMGFXOXVjeWs3WEc1Y2RIMHNYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dUV0ZyWlNCaElGQkJWRU5JSUhKbGNYVmxjM1JjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUhWeWJGeHVYSFFnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnWkdGMFlWeHVYSFFnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGFXOXVjMXh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0cVVYVmxjbmt1YW5GWVNGSjlYRzVjZENBcUwxeHVYSFJ3WVhSamFDaDFjbXdzSUdSaGRHRXNJRzl3ZEdsdmJuTXBJSHRjYmx4MFhIUnlaWFIxY200Z1gzSmxjWFZsYzNRb0oxQkJWRU5JSnl3Z2RYSnNMQ0JrWVhSaExDQnZjSFJwYjI1ektUdGNibHgwZlZ4dWZWeHVJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdRMjl1Wm1sbkxtcHpJREl3TVRrdE1EWXRNRGRjYmlBZ1IyRnRZbWx2SUVkdFlraGNiaUFnYUhSMGNEb3ZMM2QzZHk1bllXMWlhVzh1WkdWY2JpQWdRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTVJRWRoYldKcGJ5QkhiV0pJWEc0Z0lGSmxiR1ZoYzJWa0lIVnVaR1Z5SUhSb1pTQkhUbFVnUjJWdVpYSmhiQ0JRZFdKc2FXTWdUR2xqWlc1elpTQW9WbVZ5YzJsdmJpQXlLVnh1SUNCYmFIUjBjRG92TDNkM2R5NW5iblV1YjNKbkwyeHBZMlZ1YzJWekwyZHdiQzB5TGpBdWFIUnRiRjFjYmlBZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwcUwxeHVYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1THlvcVhHNGdLaUJEYjI1bWFXY2dRMnhoYzNOY2JpQXFYRzRnS2lCVWFHbHpJR05zWVhOeklHbHpJSE5sY25acGJtY2dZWE1nWVNCamIyNW1hV2QxY21GMGFXOXVJSEpsWjJsemRISjVJSGRvWlhKbElIVnpaWEp6SUdOaGJpQnZibXg1SUdkbGRDQjBhR1VnZG1Gc2RXVnpJR0Z1WkNCdWIzUWdYRzRnS2lCamFHRnVaMlVnZEdobGJTNGdWR2hwY3lCcGN5QmtiMjVsSUdadmNpQmtZWFJoSUdsdWRHVm5jbWwwZVNCaGJtUWdjM1JoWW1sc2FYUjVJSEpsWVhOdmJuTXNJSE52SUdFZ1oyeHZZbUZzSUZOMGVXeGxSV1JwZEM0Z1ZHaGxJRnh1SUNvZ1EyOXVabWxuSUc5aWFtVmpkQ0IzYVd4c0lHSmxJR2x1YzNSaGJuUnBZWFJsWkNCdmJtTmxJR1IxY21sdVp5QjBhR1VnYVc1cGRHbGhiR2w2WVhScGIyNGdiMllnZEdobElHRndjR3hwWTJGMGFXOXVMbHh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJEYjI1bWFXY2dlMXh1WEhRdktpcGNibHgwSUNvZ1EyeGhjM01nUTI5dWMzUnlkV04wYjNJZ1hHNWNkQ0FxSUZ4dVhIUWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdZMjl1Wm1sbklFTnZiblJoYVc1eklIUm9aU0JyWlhrdGRtRnNkV1VnY0dGcGNuTWdiMllnWTI5dVptbG5kWEpoZEdsdmJpNWNibHgwSUNvdlhHNWNkR052Ym5OMGNuVmpkRzl5S0dOdmJtWnBaeWtnZTF4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUVCMGVYQmxJSHRQWW1wbFkzUjlYRzVjZEZ4MElDb3ZYRzVjZEZ4MGRHaHBjeTVqYjI1bWFXY2dQU0JqYjI1bWFXYzdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCSFpYUWdZU0JqYjI1bWFXY2dkbUZzZFdVZ1lua2dhMlY1TGx4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxTjBjbWx1WjMwZ2EyVjVJRlJvWlNCclpYa2diMllnZEdobElIWmhiSFZsSUhSdklHSmxJSEpsZEhWeWJtVmtMbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUhzcWZTQlNaWFIxY201eklIUm9aU0IyWVd4MVpTNWNibHgwSUNvdlhHNWNkR2RsZENoclpYa3BJSHRjYmx4MFhIUlRkSGxzWlVWa2FYUXVWbUZzYVdSaGRHOXlMbWx6VTNSeWFXNW5LR3RsZVNrN1hHNWNkRngwWEc1Y2RGeDBZMjl1YzNRZ2RtRnNkV1VnUFNCMGFHbHpMbU52Ym1acFoxdHJaWGxkTzF4dVhIUmNkRnh1WEhSY2RHbG1JQ2gyWVd4MVpTQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNWNkRngwWEhSMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFOMGVXeGxSV1JwZERvZ1ZHaGxJSEpsY1hWbGMzUmxaQ0IyWVd4MVpTQmtiMlZ6SUc1dmRDQmxlR2x6ZENCMGFHVWdZMjl1Wm1sbklHOWlhbVZqZERvZ1hDSW5JQ3NnYTJWNUlDc2dKMXdpSnlrN1hHNWNkRngwZlZ4dVhIUmNkRnh1WEhSY2RISmxkSFZ5YmlCMllXeDFaVHRjYmx4MGZWeHVmVnh1SWl3aUx5b2dMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMWNiaUFnUkdWaWRXY3Vhbk1nTWpBeE9TMHdOaTB3TjF4dUlDQkhZVzFpYVc4Z1IyMWlTRnh1SUNCb2RIUndPaTh2ZDNkM0xtZGhiV0pwYnk1a1pWeHVJQ0JEYjNCNWNtbG5hSFFnS0dNcElESXdNVGtnUjJGdFltbHZJRWR0WWtoY2JpQWdVbVZzWldGelpXUWdkVzVrWlhJZ2RHaGxJRWRPVlNCSFpXNWxjbUZzSUZCMVlteHBZeUJNYVdObGJuTmxJQ2hXWlhKemFXOXVJRElwWEc0Z0lGdG9kSFJ3T2k4dmQzZDNMbWR1ZFM1dmNtY3ZiR2xqWlc1elpYTXZaM0JzTFRJdU1DNW9kRzFzWFZ4dUlDQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTb3ZYRzVjYmx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0dktpcGNiaUFxSUV4dlp5QjBhR1VnYldWemMyRm5aUzVjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMU4wY21sdVozMGdkSGx3WlNCTWIyY2dkSGx3WlNCallXNGdaV2wwYUdWeUlHSmxJQ2RzYjJjbkxDQW5hVzVtYnljc0lDZDNZWEp1YVc1bkp5QnZjaUFuWlhKeWIzSW5MbHh1SUNvZ1FIQmhjbUZ0SUhzcWZTQmtZWFJoSUZSb1pTQmtZWFJoSUhSdklHSmxJR3h2WjJkbFpDNWNiaUFxWEc0Z0tpQkFjSEpwZG1GMFpWeHVJQ292WEc1bWRXNWpkR2x2YmlCZmJHOW5LSFI1Y0dVc0lHUmhkR0VwSUh0Y2JseDBhV1lnS0ZOMGVXeGxSV1JwZEM1RGIyNW1hV2N1WjJWMEtDZGxiblpwY205dWJXVnVkQ2NwSUQwOVBTQW5jSEp2WkhWamRHbHZiaWNwSUh0Y2JseDBYSFJ5WlhSMWNtNDdYRzVjZEgxY2JseDBYRzVjZEdsbUlDaGpiMjV6YjJ4bFczUjVjR1ZkSUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnZEhsd1pXOW1JR052Ym5OdmJHVmJkSGx3WlYwdVlYQndiSGtnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmx4MFhIUmpiMjV6YjJ4bFczUjVjR1ZkTG1Gd2NHeDVLR052Ym5OdmJHVXNJR1JoZEdFcE8xeHVYSFI5SUdWc2MyVWdlMXh1WEhSY2RHTnZibk52YkdVdWJHOW5LR1JoZEdFcE8xeHVYSFI5WEc1OVhHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElIdGNibHgwTHlvcVhHNWNkQ0FxSUZCbGNtWnZjbTBnWVNCa1pXSjFaeUJzYjJjdVhHNWNkQ0FxWEc1Y2RDQXFJRkJ5YjNacFpHVWdZVzU1SUdGeVozVnRaVzUwY3lCMGFHRjBJRzVsWldRZ2RHOGdZbVVnYkc5bloyVmtMbHh1WEhRZ0tpOWNibHgwYkc5bktDa2dlMXh1WEhSY2RGOXNiMmNvSjJ4dlp5Y3NJR0Z5WjNWdFpXNTBjeWs3WEc1Y2RIMHNYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dVR1Z5Wm05eWJTQmhJR1JsWW5WbklHbHVabTh1WEc1Y2RDQXFYRzVjZENBcUlGQnliM1pwWkdVZ1lXNTVJR0Z5WjNWdFpXNTBjeUIwYUdGMElHNWxaV1FnZEc4Z1ltVWdiRzluWjJWa0xseHVYSFFnS2k5Y2JseDBhVzVtYnlncElIdGNibHgwWEhSZmJHOW5LQ2RwYm1adkp5d2dZWEpuZFcxbGJuUnpLVHRjYmx4MGZTeGNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQlFaWEptYjNKdElHRWdaR1ZpZFdjZ2QyRnliaTVjYmx4MElDcGNibHgwSUNvZ1VISnZkbWxrWlNCaGJua2dZWEpuZFcxbGJuUnpJSFJvWVhRZ2JtVmxaQ0IwYnlCaVpTQnNiMmRuWldRdVhHNWNkQ0FxTDF4dVhIUjNZWEp1S0NrZ2UxeHVYSFJjZEY5c2IyY29KM2RoY200bkxDQmhjbWQxYldWdWRITXBPMXh1WEhSOUxGeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlGQmxjbVp2Y20wZ1lTQmtaV0oxWnlCbGNuSnZjaTVjYmx4MElDcGNibHgwSUNvZ1VISnZkbWxrWlNCaGJua2dZWEpuZFcxbGJuUnpJSFJvWVhRZ2JtVmxaQ0IwYnlCaVpTQnNiMmRuWldRdVhHNWNkQ0FxTDF4dVhIUmxjbkp2Y2lncElIdGNibHgwWEhSZmJHOW5LQ2RsY25KdmNpY3NJR0Z5WjNWdFpXNTBjeWs3WEc1Y2RIMHNYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dVR1Z5Wm05eWJTQmhJR1JsWW5WbklHRnNaWEowTGx4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ1pHRjBZU0JEYjI1MFlXbHVjeUIwYUdVZ1pHRjBZU0IwYnlCaVpTQmhiR1Z5ZEdWa0xseHVYSFFnS2k5Y2JseDBZV3hsY25Rb1pHRjBZU2tnZTF4dVhIUmNkR2xtSUNoVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25aVzUyYVhKdmJtMWxiblFuS1NBOVBUMGdKM0J5YjJSMVkzUnBiMjRuS1NCN1hHNWNkRngwWEhSeVpYUjFjbTQ3WEc1Y2RGeDBmVnh1WEhSY2RGeHVYSFJjZEhkcGJtUnZkeTVoYkdWeWRDZ25VM1I1YkdWRlpHbDBPaUFuSUNzZ1NsTlBUaTV6ZEhKcGJtZHBabmtvWkdGMFlTa3BPMXh1WEhSOVhHNTlYRzRpTENJdktpQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExWeHVJQ0JGYm5acGNtOXViV1Z1ZEM1cWN5QXlNREU1TFRBMkxUQTNYRzRnSUVkaGJXSnBieUJIYldKSVhHNGdJR2gwZEhBNkx5OTNkM2N1WjJGdFltbHZMbVJsWEc0Z0lFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE9TQkhZVzFpYVc4Z1IyMWlTRnh1SUNCU1pXeGxZWE5sWkNCMWJtUmxjaUIwYUdVZ1IwNVZJRWRsYm1WeVlXd2dVSFZpYkdsaklFeHBZMlZ1YzJVZ0tGWmxjbk5wYjI0Z01pbGNiaUFnVzJoMGRIQTZMeTkzZDNjdVoyNTFMbTl5Wnk5c2FXTmxibk5sY3k5bmNHd3RNaTR3TG1oMGJXeGRYRzRnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0S2k5Y2JseHVYRzR2S2lCbmJHOWlZV3h6SUhObGJHWXNJSFJ2Y0NBcUwxeHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNiaThxS2x4dUlDb2dRV1JrSUdWMlpXNTBjeUJtYjNJZ1pHbHpjR3hoZVdsdVp5QmhiaUJCU2tGWUlITndhVzV1WlhJdVhHNGdLbHh1SUNvZ1FIQnlhWFpoZEdWY2JpQXFMMXh1Wm5WdVkzUnBiMjRnWDNObGRIVndRV3BoZUZOd2FXNXVaWElvS1NCN1hHNWNkR052Ym5OMElDUmhhbUY0VTNCcGJtNWxjaUE5SUNRb0p5NWhhbUY0TFhOd2FXNXVaWEluS1R0Y2JseDBYRzVjZENSaGFtRjRVM0JwYm01bGNpNW9kRzFzS0NRb0p5TnNiMkZrYVc1bkxYTndhVzV1WlhJdGRHVnRjR3hoZEdVbktTNW9kRzFzS0NrcE8xeHVYSFJjYmx4MEpDaGtiMk4xYldWdWRDa3VZV3BoZUZOMFlYSjBLR1oxYm1OMGFXOXVLQ2tnZTF4dVhIUmNkQ1JoYW1GNFUzQnBibTVsY2x4dVhIUmNkRngwTG1OemN5aDdaR2x6Y0d4aGVUb2dKM1JoWW14bEozMHBYRzVjZEZ4MFhIUXVabUZrWlZSdktEUXdNQ3dnTVN3Z0oyeHBibVZoY2ljcE8xeHVYSFI5S1R0Y2JseDBYRzVjZENRb1pHOWpkVzFsYm5RcExtRnFZWGhUZEc5d0tHWjFibU4wYVc5dUtDa2dlMXh1WEhSY2RDUmhhbUY0VTNCcGJtNWxjaTVtWVdSbFZHOG9OREF3TENBd0xDQW5iR2x1WldGeUp5d2dablZ1WTNScGIyNG9LU0I3WEc1Y2RGeDBYSFFrS0hSb2FYTXBMbWhwWkdVb0tUdGNibHgwWEhSOUtUdGNibHgwZlNrN1hHNTlYRzVjYmk4cUtseHVJQ29nUVdSa0lHRWdaMnh2WW1Gc0lHVnljbTl5SUdoaGJtUnNaWElnWm05eUlIUm9aU0JoY0hBdVhHNGdLbHh1SUNvZ1FIQnlhWFpoZEdWY2JpQXFMMXh1Wm5WdVkzUnBiMjRnWDNObGRIVndSWEp5YjNKSVlXNWtiR1Z5S0NrZ2UxeHVYSFIzYVc1a2IzY3ViMjVsY25KdmNpQTlJR1oxYm1OMGFXOXVLRzF6Wnl3Z2RYSnNMQ0JzYVc1bExDQmpiMndzSUdWeWNtOXlLU0I3WEc1Y2RGeDBMeThnU0dsa1pTQjBhR1VnWVdwaGVDQnpjR2x1Ym1WeUlHRnVaQ0JrYVhOd2JHRjVJSFJvWlNCbGNuSnZjaUJ0WlhOellXZGxMbHh1WEhSY2RHTnZibk4wSUNSbGNuSnZja1p5WVcxbElEMGdKQ2duTG1WeWNtOXlMV1p5WVcxbEp5azdYRzVjZEZ4MFhHNWNkRngwYVdZZ0tIZHBibVJ2ZHk1VGRIbHNaVVZrYVhRcElIdGNibHgwWEhSY2RDUmxjbkp2Y2taeVlXMWxMbVpwYm1Rb0p5NXRaWE56WVdkbEp5bGNibHgwWEhSY2RGeDBMblJsZUhRb1UzUjViR1ZGWkdsMExreGhibWQxWVdkbExuUnlZVzV6YkdGMFpTZ25iV1Z6YzJGblpWOTFibVY0Y0dWamRHVmtYMlZ5Y205eUp5d2dKM04wZVd4bFgyVmthWFFuS1NrN1hHNWNkRngwZlNCbGJITmxJSHRjYmx4MFhIUmNkQ1JsY25KdmNrWnlZVzFsTG1acGJtUW9KeTV0WlhOellXZGxKeWxjYmx4MFhIUmNkRngwTG5SbGVIUW9KMDl2Y0hNaElFRnVJSFZ1Wlhod1pXTjBaV1FnWlhKeWIzSWdiMk5qZFhKeVpXUWdaSFZ5YVc1bklGTjBlV3hsUldScGRDQnBibWwwYVdGc2FYcGhkR2x2YmlFZ1EyaGxZMnNnZEdobElHSnliM2R6WlhKY1hDZHpJQ2RjYmx4MFhIUmNkRngwWEhRcklDZGpiMjV6YjJ4bElHWnZjaUJ0YjNKbElHbHVabTl5YldGMGFXOXVMaWNwTzF4dVhIUmNkSDFjYmx4MFhIUmNibHgwWEhRa0tDY3VZV3BoZUMxemNHbHVibVZ5SnlrdWFHbGtaU2dwTzF4dVhIUmNkRnh1WEhSY2RDUmxjbkp2Y2taeVlXMWxYRzVjZEZ4MFhIUXVZM056S0h0a2FYTndiR0Y1T2lBbmRHRmliR1VuZlNsY2JseDBYSFJjZEM1bVlXUmxWRzhvTkRBd0xDQXhMQ0FuYkdsdVpXRnlKeWs3WEc1Y2RGeDBYRzVjZEZ4MEx5OGdVMmh2ZHk5SWFXUmxJRzkwYUdWeUlGVkpJR1ZzWlcxbGJuUnpMbHh1WEhSY2RDUW9KeTV6ZEhsc1pTMWxaR2wwTFcxdlpHRnNKeWt1Y21WdGIzWmxLQ2s3WEc1Y2RGeDBKQ2duTG1aeVlXMWxMWFJ2WjJkc1pTY3BMbWhwWkdVb0tUdGNibHgwWEhRa0tDY3VaR2x6WVdKc1pTMXNZWGxsY2ljcExtWmhaR1ZKYmlncE8xeHVYSFJjZEZ4dVhIUmNkQzh2SUV4dlp5Qmxjbkp2Y2lCcGJpQjBhR1VnWTI5dWMyOXNaU0FvWlhabGJpQnBiaUJ3Y205a2RXTjBhVzl1SUdWdWRtbHliMjV0Wlc1MEtTNWNibHgwWEhSamIyNXpiMnhsTG1WeWNtOXlLQ2RiVTNSNWJHVkZaR2wwSUVWeWNtOXlJRWhoYm1Sc1pYSmRKeXdnYlhObkxDQW5LR3hwYm1VNklDY2dLeUJzYVc1bElDc2dKeXdnWTI5c09pQW5JQ3NnWTI5c0lDc2dKeWtuTENCbGNuSnZjaWs3WEc1Y2RGeDBYRzVjZEZ4MGNtVjBkWEp1SUhSeWRXVTdJQzh2SUZOMWNIQnlaWE56SUdWeWNtOXlJR0ZzWlhKMGN5Qm1iM0lnYjJ4a0lFbEZJSFpsY25OcGIyNXpMaUFnWEc1Y2RIMDdYRzU5WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUh0Y2JseDBMeW9xWEc1Y2RDQXFJRU5vWldOcklIZG9aWFJvWlhJZ2RHaGxJSFZ6WlhJbmN5QmljbTkzYzJWeUlHbHpJR0Z1SUVsdWRHVnlibVYwSUVWNGNHeHZjbVZ5WEc1Y2RDQXFMMXh1WEhScGMwbHVkR1Z5Ym1WMFJYaHdiRzl5WlhJb0tTQjdYRzVjZEZ4MFkyOXVjM1FnZFdFZ1BTQjNhVzVrYjNjdWJtRjJhV2RoZEc5eUxuVnpaWEpCWjJWdWREdGNibHgwWEhSeVpYUjFjbTRnS0hWaExtbHVaR1Y0VDJZb0owMVRTVVVnSnlrZ1BpQXRNU0I4ZkNCMVlTNXBibVJsZUU5bUtDZFVjbWxrWlc1MEx5Y3BJRDRnTFRFZ2ZId2dkV0V1YVc1a1pYaFBaaWduUldSblpTOG5LU0ErSUMweEtUdGNibHgwZlN4Y2JseDBYRzVjZEM4cUtseHVYSFFnS2lCVFpYUjFjQ0JUZEhsc1pVVmthWFFnUlc1MmFYSnZibTFsYm5SY2JseDBJQ3BjYmx4MElDb2dWR2hwY3lCdFpYUm9iMlFnZDJsc2JDQnpaWFIxY0NCblpXNWxjbUZzSUc5d1pYSmhkR2x2Ym5NZ2RHaGhkQ0JoWm1abFkzUWdVM1I1YkdWRlpHbDBJR1IxY21sdVp5QmhiR3dnYjJZZ2FYUnpYRzVjZENBcUlHVjRaV04xZEdsdmJpQnNhV1psZEdsdFpTNWNibHgwSUNvdlhHNWNkSE5sZEhWd0tDa2dlMXh1WEhSY2RDOHZJRU5vWldOcklHbG1JRk4wZVd4bFJXUnBkQ0IzWVhNZ1kyRnNiR1ZrSUdaeWIyMGdkMmwwYUdsdUlHRnVJR2xtY21GdFpTQmhibVFnY21Wa2FYSmxZM1FnWW1GamF5QjBieUIwYUdVZ1lYQndjbTl3Y21saGRHVmNibHgwWEhRdkx5QlZVa3dnYVdZZ2RHaHBjeUJwY3lCMGFHVWdZMkZ6WlM0Z1hHNWNkRngwYVdZZ0tIUnZjQ0FoUFQwZ2MyVnNaaWtnZTF4dVhIUmNkRngwZEc5d0xteHZZMkYwYVc5dUlEMGdjMlZzWmk1c2IyTmhkR2x2Ymp0Y2JseDBYSFI5WEc1Y2RGeDBYRzVjZEZ4MEx5OGdURzlqWVhScGIyNGdiM0pwWjJsdUlIQnZiSGxtYVd4c0xpQmNibHgwWEhScFppQW9JWGRwYm1SdmR5NXNiMk5oZEdsdmJpNXZjbWxuYVc0cElIdGNibHgwWEhSY2RIZHBibVJ2ZHk1c2IyTmhkR2x2Ymk1dmNtbG5hVzRnUFNCM2FXNWtiM2N1Ykc5allYUnBiMjR1Y0hKdmRHOWpiMndnS3lCY0lpOHZYQ0lnS3lCM2FXNWtiM2N1Ykc5allYUnBiMjR1YUc5emRHNWhiV1ZjYmx4MFhIUmNkRngwS3lBb2QybHVaRzkzTG14dlkyRjBhVzl1TG5CdmNuUWdQeUFuT2ljZ0t5QjNhVzVrYjNjdWJHOWpZWFJwYjI0dWNHOXlkRG9nSnljcE8xeHVYSFJjZEgxY2JseDBYSFJjYmx4MFhIUXZMeUJUWlhSMWNDQjBhR2x1WjNNZ0xpNHVYRzVjZEZ4MFgzTmxkSFZ3UVdwaGVGTndhVzV1WlhJb0tUdGNibHgwWEhSZmMyVjBkWEJGY25KdmNraGhibVJzWlhJb0tUdGNibHgwZlZ4dWZWeHVJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdSWFpsYm5SelJXMXBkSFJsY2k1cWN5QXlNREU1TFRBMkxUQTNYRzRnSUVkaGJXSnBieUJIYldKSVhHNGdJR2gwZEhBNkx5OTNkM2N1WjJGdFltbHZMbVJsWEc0Z0lFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE9TQkhZVzFpYVc4Z1IyMWlTRnh1SUNCU1pXeGxZWE5sWkNCMWJtUmxjaUIwYUdVZ1IwNVZJRWRsYm1WeVlXd2dVSFZpYkdsaklFeHBZMlZ1YzJVZ0tGWmxjbk5wYjI0Z01pbGNiaUFnVzJoMGRIQTZMeTkzZDNjdVoyNTFMbTl5Wnk5c2FXTmxibk5sY3k5bmNHd3RNaTR3TG1oMGJXeGRYRzRnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0S2k5Y2JseHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElIdGNibHgwTHlvcVhHNWNkQ0FxSUZSeWFXZG5aWElnVTNSNWJHVWdRM0psWVhSbFpDQkZkbVZ1ZEZ4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UycFJkV1Z5ZVgwZ0pHVnNaVzFsYm5RZ1ZHaGxJR1ZzWlcxbGJuUWdkR2hoZENCcGN5Qm5iMmx1WnlCMGJ5QjBjbWxuWjJWeUlIUm9aU0JsZG1WdWRDNWNibHgwSUNvZ1FIQmhjbUZ0SUhzcVcxMTlJR1YyWlc1MFFYSm5jeUFvYjNCMGFXOXVZV3dwSUZCeWIzWnBaR1VnWlhabGJuUWdZWEpuZFcxbGJuUnpMbHh1WEhRZ0tpOWNibHgwZEhKcFoyZGxjbE4wZVd4bFEzSmxZWFJsWkNna1pXeGxiV1Z1ZEN3Z1pYWmxiblJCY21kektTQjdYRzVjZEZ4MFpYWmxiblJCY21keklEMGdaWFpsYm5SQmNtZHpJSHg4SUZ0ZE8xeHVYSFJjZENSbGJHVnRaVzUwTG5SeWFXZG5aWElvSjFOMGVXeGxSV1JwZEM1VGRIbHNaVU55WldGMFpXUW5MQ0JsZG1WdWRFRnlaM01wTzF4dVhIUjlMRnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRlJ5YVdkblpYSWdVM1I1YkdVZ1ZYQmtZWFJsWkNCRmRtVnVkRnh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTJwUmRXVnllWDBnSkdWc1pXMWxiblFnVkdobElHVnNaVzFsYm5RZ2RHaGhkQ0JwY3lCbmIybHVaeUIwYnlCMGNtbG5aMlZ5SUhSb1pTQmxkbVZ1ZEM1Y2JseDBJQ29nUUhCaGNtRnRJSHNxVzExOUlHVjJaVzUwUVhKbmN5QW9iM0IwYVc5dVlXd3BJRkJ5YjNacFpHVWdaWFpsYm5RZ1lYSm5kVzFsYm5SekxseHVYSFFnS2k5Y2JseDBkSEpwWjJkbGNsTjBlV3hsVlhCa1lYUmxaQ2drWld4bGJXVnVkQ3dnWlhabGJuUkJjbWR6S1NCN1hHNWNkRngwWlhabGJuUkJjbWR6SUQwZ1pYWmxiblJCY21keklIeDhJRnRkTzF4dVhIUmNkQ1JsYkdWdFpXNTBMblJ5YVdkblpYSW9KMU4wZVd4bFJXUnBkQzVUZEhsc1pWVndaR0YwWldRbkxDQmxkbVZ1ZEVGeVozTXBPMXh1WEhSOUxGeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlGUnlhV2RuWlhJZ1UzUjViR1VnUkdWc1pYUmxaQ0JGZG1WdWRGeHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMnBSZFdWeWVYMGdKR1ZzWlcxbGJuUWdWR2hsSUdWc1pXMWxiblFnZEdoaGRDQnBjeUJuYjJsdVp5QjBieUIwY21sbloyVnlJSFJvWlNCbGRtVnVkQzVjYmx4MElDb2dRSEJoY21GdElIc3FXMTE5SUdWMlpXNTBRWEpuY3lBb2IzQjBhVzl1WVd3cElGQnliM1pwWkdVZ1pYWmxiblFnWVhKbmRXMWxiblJ6TGx4dVhIUWdLaTljYmx4MGRISnBaMmRsY2xOMGVXeGxSR1ZzWlhSbFpDZ2taV3hsYldWdWRDd2daWFpsYm5SQmNtZHpLU0I3WEc1Y2RGeDBaWFpsYm5SQmNtZHpJRDBnWlhabGJuUkJjbWR6SUh4OElGdGRPMXh1WEhSY2RDUmxiR1Z0Wlc1MExuUnlhV2RuWlhJb0oxTjBlV3hsUldScGRDNVRkSGxzWlVSbGJHVjBaV1FuTENCbGRtVnVkRUZ5WjNNcE8xeHVYSFI5TEZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUZSeWFXZG5aWElnVTNSNWJHVWdRV04wYVhaaGRHVmtJRVYyWlc1MFhHNWNkQ0FxWEc1Y2RDQXFJRUJ3WVhKaGJTQjdhbEYxWlhKNWZTQWtaV3hsYldWdWRDQlVhR1VnWld4bGJXVnVkQ0IwYUdGMElHbHpJR2R2YVc1bklIUnZJSFJ5YVdkblpYSWdkR2hsSUdWMlpXNTBMbHh1WEhRZ0tpQkFjR0Z5WVcwZ2V5cGJYWDBnWlhabGJuUkJjbWR6SUNodmNIUnBiMjVoYkNrZ1VISnZkbWxrWlNCbGRtVnVkQ0JoY21kMWJXVnVkSE11WEc1Y2RDQXFMMXh1WEhSMGNtbG5aMlZ5VTNSNWJHVkJZM1JwZG1GMFpXUW9KR1ZzWlcxbGJuUXNJR1YyWlc1MFFYSm5jeWtnZTF4dVhIUmNkR1YyWlc1MFFYSm5jeUE5SUdWMlpXNTBRWEpuY3lCOGZDQmJYVHRjYmx4MFhIUWtaV3hsYldWdWRDNTBjbWxuWjJWeUtDZFRkSGxzWlVWa2FYUXVVM1I1YkdWQlkzUnBkbUYwWldRbkxDQmxkbVZ1ZEVGeVozTXBPMXh1WEhSOUxGeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlGUnlhV2RuWlhJZ1EzVnpkRzl0SUZOMGVXeGxjeUJEYUdGdVoyVmtJRVYyWlc1MFhHNWNkQ0FxWEc1Y2RDQXFJRUJ3WVhKaGJTQjdhbEYxWlhKNWZTQWtaV3hsYldWdWRDQlVhR1VnWld4bGJXVnVkQ0IwYUdGMElHbHpJR2R2YVc1bklIUnZJSFJ5YVdkblpYSWdkR2hsSUdWMlpXNTBMbHh1WEhRZ0tpQkFjR0Z5WVcwZ2V5cGJYWDBnWlhabGJuUkJjbWR6SUNodmNIUnBiMjVoYkNrZ1VISnZkbWxrWlNCbGRtVnVkQ0JoY21kMWJXVnVkSE11WEc1Y2RDQXFMMXh1WEhSMGNtbG5aMlZ5UTNWemRHOXRVM1I1YkdWelEyaGhibWRsWkNna1pXeGxiV1Z1ZEN3Z1pYWmxiblJCY21kektTQjdYRzVjZEZ4MFpYWmxiblJCY21keklEMGdaWFpsYm5SQmNtZHpJSHg4SUZ0ZE8xeHVYSFJjZENSbGJHVnRaVzUwTG5SeWFXZG5aWElvSjFOMGVXeGxSV1JwZEM1RGRYTjBiMjFUZEhsc1pYTkRhR0Z1WjJWa0p5d2daWFpsYm5SQmNtZHpLVHRjYmx4MGZTeGNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQlVjbWxuWjJWeUlFTnZiblJ5YjJ4c1pYSWdTVzVwZEdsaGJHbDZaV1FnUlhabGJuUmNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRxVVhWbGNubDlJQ1JsYkdWdFpXNTBJRlJvWlNCbGJHVnRaVzUwSUhSb1lYUWdhWE1nWjI5cGJtY2dkRzhnZEhKcFoyZGxjaUIwYUdVZ1pYWmxiblF1WEc1Y2RDQXFJRUJ3WVhKaGJTQjdLbHRkZlNCbGRtVnVkRUZ5WjNNZ0tHOXdkR2x2Ym1Gc0tTQlFjbTkyYVdSbElHVjJaVzUwSUdGeVozVnRaVzUwY3k1Y2JseDBJQ292WEc1Y2RIUnlhV2RuWlhKRGIyNTBjbTlzYkdWeVNXNXBkR2xoYkdsNlpXUW9KR1ZzWlcxbGJuUXNJR1YyWlc1MFFYSm5jeWtnZTF4dVhIUmNkR1YyWlc1MFFYSm5jeUE5SUdWMlpXNTBRWEpuY3lCOGZDQmJYVHRjYmx4MFhIUWtaV3hsYldWdWRDNTBjbWxuWjJWeUtDZFRkSGxzWlVWa2FYUXVRMjl1ZEhKdmJHeGxja2x1YVhScFlXeHBlbVZrSnl3Z1pYWmxiblJCY21kektUdGNibHgwZlN4Y2JseDBYRzVjZEM4cUtseHVYSFFnS2lCVWNtbG5aMlZ5SUVOdmJuUnliMnhzWlhJZ1JHVnpkSEp2ZVdWa0lFVjJaVzUwWEc1Y2RDQXFYRzVjZENBcUlFQndZWEpoYlNCN2FsRjFaWEo1ZlNBa1pXeGxiV1Z1ZENCVWFHVWdaV3hsYldWdWRDQjBhR0YwSUdseklHZHZhVzVuSUhSdklIUnlhV2RuWlhJZ2RHaGxJR1YyWlc1MExseHVYSFFnS2lCQWNHRnlZVzBnZXlwYlhYMGdaWFpsYm5SQmNtZHpJQ2h2Y0hScGIyNWhiQ2tnVUhKdmRtbGtaU0JsZG1WdWRDQmhjbWQxYldWdWRITXVYRzVjZENBcUwxeHVYSFIwY21sbloyVnlRMjl1ZEhKdmJHeGxja1JsYzNSeWIzbGxaQ2drWld4bGJXVnVkQ3dnWlhabGJuUkJjbWR6S1NCN1hHNWNkRngwWlhabGJuUkJjbWR6SUQwZ1pYWmxiblJCY21keklIeDhJRnRkTzF4dVhIUmNkQ1JsYkdWdFpXNTBMblJ5YVdkblpYSW9KMU4wZVd4bFJXUnBkQzVEYjI1MGNtOXNiR1Z5UkdWemRISnZlV1ZrSnl3Z1pYWmxiblJCY21kektUdGNibHgwZlN4Y2JseDBYRzVjZEM4cUtseHVYSFFnS2lCVWNtbG5aMlZ5SUVGd2NDQlVaWEp0YVc1aGRHVmtJRVYyWlc1MFhHNWNkQ0FxWEc1Y2RDQXFJRUJ3WVhKaGJTQjdhbEYxWlhKNWZTQWtaV3hsYldWdWRDQlVhR1VnWld4bGJXVnVkQ0IwYUdGMElHbHpJR2R2YVc1bklIUnZJSFJ5YVdkblpYSWdkR2hsSUdWMlpXNTBMbHh1WEhRZ0tpQkFjR0Z5WVcwZ2V5cGJYWDBnWlhabGJuUkJjbWR6SUNodmNIUnBiMjVoYkNrZ1VISnZkbWxrWlNCbGRtVnVkQ0JoY21kMWJXVnVkSE11WEc1Y2RDQXFMMXh1WEhSMGNtbG5aMlZ5UVhCd1ZHVnliV2x1WVhSbFpDZ2taV3hsYldWdWRDd2daWFpsYm5SQmNtZHpLU0I3WEc1Y2RGeDBaWFpsYm5SQmNtZHpJRDBnWlhabGJuUkJjbWR6SUh4OElGdGRPMXh1WEhSY2RDUmxiR1Z0Wlc1MExuUnlhV2RuWlhJb0oxTjBlV3hsUldScGRDNUJjSEJVWlhKdGFXNWhkR1ZrSnl3Z1pYWmxiblJCY21kektUdGNibHgwZlN4Y2JseDBYRzVjZEM4cUtseHVYSFFnS2lCVWNtbG5aMlZ5SUZCeVpYWnBaWGNnVW1Wc2IyRmtaV1FnUlhabGJuUmNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRxVVhWbGNubDlJQ1JsYkdWdFpXNTBJRlJvWlNCbGJHVnRaVzUwSUhSb1lYUWdhWE1nWjI5cGJtY2dkRzhnZEhKcFoyZGxjaUIwYUdVZ1pYWmxiblF1WEc1Y2RDQXFJRUJ3WVhKaGJTQjdLbHRkZlNCbGRtVnVkRUZ5WjNNZ0tHOXdkR2x2Ym1Gc0tTQlFjbTkyYVdSbElHVjJaVzUwSUdGeVozVnRaVzUwY3k1Y2JseDBJQ292WEc1Y2RIUnlhV2RuWlhKUWNtVjJhV1YzVW1Wc2IyRmtaV1FvSkdWc1pXMWxiblFzSUdWMlpXNTBRWEpuY3lrZ2UxeHVYSFJjZEdWMlpXNTBRWEpuY3lBOUlHVjJaVzUwUVhKbmN5QjhmQ0JiWFR0Y2JseDBYSFFrWld4bGJXVnVkQzUwY21sbloyVnlLQ2RUZEhsc1pVVmthWFF1VUhKbGRtbGxkMUpsYkc5aFpHVmtKeXdnWlhabGJuUkJjbWR6S1R0Y2JseDBmVnh1ZlZ4dUlpd2lMeW9nTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmlBZ1NuTnZibEJoY25ObGNpNXFjeUF5TURFNUxUQTJMVEEzWEc0Z0lFZGhiV0pwYnlCSGJXSklYRzRnSUdoMGRIQTZMeTkzZDNjdVoyRnRZbWx2TG1SbFhHNGdJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhPU0JIWVcxaWFXOGdSMjFpU0Z4dUlDQlNaV3hsWVhObFpDQjFibVJsY2lCMGFHVWdSMDVWSUVkbGJtVnlZV3dnVUhWaWJHbGpJRXhwWTJWdWMyVWdLRlpsY25OcGIyNGdNaWxjYmlBZ1cyaDBkSEE2THk5M2QzY3VaMjUxTG05eVp5OXNhV05sYm5ObGN5OW5jR3d0TWk0d0xtaDBiV3hkWEc0Z0lDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdEtpOWNibHh1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm1sdGNHOXlkQ0JUZEhsc1pVTnZibVpwWjNWeVlYUnBiMjRnWm5KdmJTQW5MaTR2Wlc1MGFYUnBaWE12VTNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1SnpzZ1hHNXBiWEJ2Y25RZ1EyOXNiR1ZqZEdsdmJpQm1jbTl0SUNjdUxpOWxiblJwZEdsbGN5OURiMnhzWldOMGFXOXVKenNnWEc1cGJYQnZjblFnVTJWMGRHbHVaeUJtY205dElDY3VMaTlsYm5ScGRHbGxjeTlUWlhSMGFXNW5KenNnWEc1cGJYQnZjblFnUW05NFUyVjBkR2x1WnlCbWNtOXRJQ2N1TGk5bGJuUnBkR2xsY3k5Q2IzaFRaWFIwYVc1bkp6dGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdlMXh1WEhRdktpcGNibHgwSUNvZ1JHVmpiMlJsSUZOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2YmlCS1UwOU9JRk4wY21sdVoxeHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdhbk52YmxOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2YmlCUFltcGxZM1FnWTI5dWRHRnBibWx1WnlCMGFHVWdjM1I1YkdVZ1kyOXVabWxuZFhKaGRHbHZiaUJrWVhSaExseHVYSFFnS2x4dVhIUWdLaUJBY21WMGRYSnVJSHRUZEhsc1pVTnZibVpwWjNWeVlYUnBiMjU5SUZKbGRIVnlibk1nZEdobElHUmxZMjlrWldRZ1UzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUlHOWlhbVZqZEM1Y2JseDBJQ292WEc1Y2RHUmxZMjlrWlZOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2YmlocWMyOXVVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVLU0I3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2hxYzI5dVUzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUtUdGNibHgwWEhSY2JseDBYSFJqYjI1emRDQnpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNGdQU0J1WlhjZ1UzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUtDazdYRzVjZEZ4MFhHNWNkRngwTHk4Z1JHVmpiMlJsSUhSb1pTQnRZV2x1SUhOMGVXeGxJR052Ym1acFozVnlZWFJwYjI0Z2NISnZjR1Z5ZEdsbGN5NWNibHgwWEhScFppQW9hbk52YmxOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1dVlXMWxJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdhbk52YmxOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1dVlXMWxJQ0U5UFNCdWRXeHNLU0I3WEc1Y2RGeDBYSFJ6ZEhsc1pVTnZibVpwWjNWeVlYUnBiMjR1YzJWMFRtRnRaU2hxYzI5dVUzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUxtNWhiV1VwTzF4dVhIUmNkSDFjYmx4MFhIUmNibHgwWEhScFppQW9hbk52YmxOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1cGMwRmpkR2wyWlNBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUdwemIyNVRkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVhWE5CWTNScGRtVWdJVDA5SUc1MWJHd3BJSHRjYmx4MFhIUmNkSE4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaTV6WlhSQlkzUnBkbVVvYW5OdmJsTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpNXBjMEZqZEdsMlpTazdYRzVjZEZ4MGZWeHVYSFJjZEZ4dVhIUmNkR2xtSUNocWMyOXVVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVMblJvZFcxaWJtRnBiQ0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JR3B6YjI1VGRIbHNaVU52Ym1acFozVnlZWFJwYjI0dWRHaDFiV0p1WVdsc0lDRTlQU0J1ZFd4c0tTQjdYRzVjZEZ4MFhIUnpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVjMlYwVkdoMWJXSnVZV2xzS0dwemIyNVRkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVkR2gxYldKdVlXbHNLVHRjYmx4MFhIUjlYRzVjZEZ4MFhHNWNkRngwYVdZZ0tHcHpiMjVUZEhsc1pVTnZibVpwWjNWeVlYUnBiMjR1WW05cGJHVnljR3hoZEdVZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCcWMyOXVVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVMbUp2YVd4bGNuQnNZWFJsSUNFOVBTQnVkV3hzS1NCN1hHNWNkRngwWEhSemRIbHNaVU52Ym1acFozVnlZWFJwYjI0dWMyVjBRbTlwYkdWeWNHeGhkR1VvYW5OdmJsTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpNWliMmxzWlhKd2JHRjBaU2s3WEc1Y2RGeDBmVnh1WEhSY2RGeHVYSFJjZEdsbUlDaHFjMjl1VTNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1TG1OeVpXRjBhVzl1UkdGMFpTQWhQVDBnZFc1a1pXWnBibVZrSUNZbUlHcHpiMjVUZEhsc1pVTnZibVpwWjNWeVlYUnBiMjR1WTNKbFlYUnBiMjVFWVhSbElDRTlQU0J1ZFd4c0tTQjdYRzVjZEZ4MFhIUnpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVjMlYwUTNKbFlYUnBiMjVFWVhSbEtHNWxkeUJFWVhSbEtFUmhkR1V1Y0dGeWMyVW9hbk52YmxOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1amNtVmhkR2x2YmtSaGRHVXBLU2s3WEc1Y2RGeDBmVnh1WEhSY2RGeHVYSFJjZEdsbUlDaHFjMjl1VTNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1TG0xdlpHbG1hV05oZEdsdmJrUmhkR1VnSVQwOUlIVnVaR1ZtYVc1bFpDQW1KaUJxYzI5dVUzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUxtMXZaR2xtYVdOaGRHbHZia1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNibHgwWEhSY2RITjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpNXpaWFJOYjJScFptbGpZWFJwYjI1RVlYUmxLRzVsZHlCRVlYUmxLRVJoZEdVdWNHRnljMlVvYW5OdmJsTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpNXRiMlJwWm1sallYUnBiMjVFWVhSbEtTa3BPMXh1WEhSY2RIMWNibHgwWEhSY2JseDBYSFJwWmlBb2FuTnZibE4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaTVpYjJsc1pYSndiR0YwWlUxdlpHbG1hV05oZEdsdmJrUmhkR1VnSVQwOUlIVnVaR1ZtYVc1bFpGeHVYSFJjZEZ4MEppWWdhbk52YmxOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1aWIybHNaWEp3YkdGMFpVMXZaR2xtYVdOaGRHbHZia1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNibHgwWEhSY2RITjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpNXpaWFJDYjJsc1pYSndiR0YwWlUxdlpHbG1hV05oZEdsdmJrUmhkR1VvWEc1Y2RGeDBYSFJjZEc1bGR5QkVZWFJsS0VSaGRHVXVjR0Z5YzJVb2FuTnZibE4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaTVpYjJsc1pYSndiR0YwWlUxdlpHbG1hV05oZEdsdmJrUmhkR1VwS1Z4dVhIUmNkRngwS1R0Y2JseDBYSFI5WEc1Y2RGeDBYRzVjZEZ4MGFXWWdLR3B6YjI1VGRIbHNaVU52Ym1acFozVnlZWFJwYjI0dVkyOXNiM0pRWVd4bGRIUmxJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdhbk52YmxOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1amIyeHZjbEJoYkdWMGRHVWdJVDA5SUc1MWJHd3BJSHRjYmx4MFhIUmNkSE4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaTV6WlhSRGIyeHZjbEJoYkdWMGRHVW9hbk52YmxOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1amIyeHZjbEJoYkdWMGRHVXBPMXh1WEhSY2RIMWNibHgwWEhSY2JseDBYSFJwWmlBb2FuTnZibE4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaTVqZFhOMGIyMVRkSGxzWlhNZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCcWMyOXVVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVMbU4xYzNSdmJWTjBlV3hsY3lBaFBUMGdiblZzYkNrZ2UxeHVYSFJjZEZ4MGMzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUxuTmxkRU4xYzNSdmJWTjBlV3hsY3locWMyOXVVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVMbU4xYzNSdmJWTjBlV3hsY3lrN1hHNWNkRngwZlZ4dVhIUmNkRnh1WEhSY2RDOHZJRVJsWTI5a1pTQjBhR1VnYzJWMGRHbHVaM011WEc1Y2RGeDBhV1lnS0dwemIyNVRkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVjMlYwZEdsdVozTWdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQnFjMjl1VTNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1TG5ObGRIUnBibWR6SUNFOVBTQnVkV3hzS1NCN1hHNWNkRngwWEhSamIyNXpkQ0J6WlhSMGFXNW5jeUE5SUZ0ZE8xeHVYSFJjZEZ4MFhHNWNkRngwWEhScWMyOXVVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVMbk5sZEhScGJtZHpMbVp2Y2tWaFkyZ29hbk52YmtOdmJHeGxZM1JwYjI0Z1BUNGdlMXh1WEhSY2RGeDBYSFJqYjI1emRDQmpiMnhzWldOMGFXOXVJRDBnYm1WM0lFTnZiR3hsWTNScGIyNG9LVHRjYmx4MFhIUmNkRngwWTI5dWMzUWdZMjlzYkdWamRHbHZia1Z1ZEhKcFpYTkJjbkpoZVNBOUlGdGRPMXh1WEhSY2RGeDBYSFJjYmx4MFhIUmNkRngwYVdZZ0tHcHpiMjVEYjJ4c1pXTjBhVzl1TG01aGJXVWdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQnFjMjl1UTI5c2JHVmpkR2x2Ymk1dVlXMWxJQ0U5UFNCdWRXeHNLU0I3WEc1Y2RGeDBYSFJjZEZ4MFkyOXNiR1ZqZEdsdmJpNXpaWFJPWVcxbEtHcHpiMjVEYjJ4c1pXTjBhVzl1TG01aGJXVXBPMXh1WEhSY2RGeDBYSFI5WEc1Y2RGeDBYSFJjZEZ4dVhIUmNkRngwWEhScFppQW9hbk52YmtOdmJHeGxZM1JwYjI0dWRIbHdaU0FtSmlCcWMyOXVRMjlzYkdWamRHbHZiaTUwZVhCbElDRTlQU0J1ZFd4c0tTQjdYRzVjZEZ4MFhIUmNkRngwWTI5c2JHVmpkR2x2Ymk1elpYUlVlWEJsS0dwemIyNURiMnhzWldOMGFXOXVMblI1Y0dVcE8xeHVYSFJjZEZ4MFhIUjlYRzVjZEZ4MFhIUmNkRnh1WEhSY2RGeDBYSFJwWmlBb2FuTnZia052Ykd4bFkzUnBiMjR1YVdOdmJpQW1KaUJxYzI5dVEyOXNiR1ZqZEdsdmJpNXBZMjl1SUNFOVBTQnVkV3hzS1NCN1hHNWNkRngwWEhSY2RGeDBZMjlzYkdWamRHbHZiaTV6WlhSSlkyOXVLR3B6YjI1RGIyeHNaV04wYVc5dUxtbGpiMjRwTzF4dVhIUmNkRngwWEhSOVhHNWNkRngwWEhSY2RGeHVYSFJjZEZ4MFhIUnFjMjl1UTI5c2JHVmpkR2x2Ymk1bGJuUnlhV1Z6TG1admNrVmhZMmdvYW5OdmJsTmxkSFJwYm1jZ1BUNGdlMXh1WEhSY2RGeDBYSFJjZEdOdmJuTjBJSE5sZEhScGJtY2dQU0FvYW5OdmJsTmxkSFJwYm1jdWNHOXphWFJwYjI0cElEOGdibVYzSUVKdmVGTmxkSFJwYm1jb0tTQTZJRzVsZHlCVFpYUjBhVzVuS0NrN1hHNWNkRngwWEhSY2RGeDBYRzVjZEZ4MFhIUmNkRngwYVdZZ0tHcHpiMjVUWlhSMGFXNW5MbWR5YjNWd0lDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ2FuTnZibE5sZEhScGJtY3VaM0p2ZFhBZ0lUMDlJRzUxYkd3cElIdGNibHgwWEhSY2RGeDBYSFJjZEhObGRIUnBibWN1YzJWMFIzSnZkWEFvYW5OdmJsTmxkSFJwYm1jdVozSnZkWEFwTzF4dVhIUmNkRngwWEhSY2RIMWNibHgwWEhSY2RGeDBYSFJjYmx4MFhIUmNkRngwWEhScFppQW9hbk52YmxObGRIUnBibWN1Ym1GdFpTQWhQVDBnZFc1a1pXWnBibVZrSUNZbUlHcHpiMjVUWlhSMGFXNW5MbTVoYldVZ0lUMDlJRzUxYkd3cElIdGNibHgwWEhSY2RGeDBYSFJjZEhObGRIUnBibWN1YzJWMFRtRnRaU2hxYzI5dVUyVjBkR2x1Wnk1dVlXMWxLVHRjYmx4MFhIUmNkRngwWEhSOVhHNWNkRngwWEhSY2RGeDBYRzVjZEZ4MFhIUmNkRngwYVdZZ0tHcHpiMjVUWlhSMGFXNW5MblI1Y0dVZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCcWMyOXVVMlYwZEdsdVp5NTBlWEJsSUNFOVBTQnVkV3hzS1NCN1hHNWNkRngwWEhSY2RGeDBYSFJ6WlhSMGFXNW5Mbk5sZEZSNWNHVW9hbk52YmxObGRIUnBibWN1ZEhsd1pTazdYRzVjZEZ4MFhIUmNkRngwZlZ4dVhIUmNkRngwWEhSY2RGeHVYSFJjZEZ4MFhIUmNkR2xtSUNocWMyOXVVMlYwZEdsdVp5NTJZV3gxWlNBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUdwemIyNVRaWFIwYVc1bkxuWmhiSFZsSUNFOVBTQnVkV3hzS1NCN1hHNWNkRngwWEhSY2RGeDBYSFJ6WlhSMGFXNW5Mbk5sZEZaaGJIVmxLR3B6YjI1VFpYUjBhVzVuTG5aaGJIVmxLVHRjYmx4MFhIUmNkRngwWEhSOVhHNWNkRngwWEhSY2RGeDBYRzVjZEZ4MFhIUmNkRngwYVdZZ0tHcHpiMjVUWlhSMGFXNW5MbVJsWm1GMWJIUk5aWFJ5YVdNZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCcWMyOXVVMlYwZEdsdVp5NWtaV1poZFd4MFRXVjBjbWxqSUNFOVBTQnVkV3hzS1NCN1hHNWNkRngwWEhSY2RGeDBYSFJ6WlhSMGFXNW5Mbk5sZEVSbFptRjFiSFJOWlhSeWFXTW9hbk52YmxObGRIUnBibWN1WkdWbVlYVnNkRTFsZEhKcFl5azdYRzVjZEZ4MFhIUmNkRngwZlZ4dVhIUmNkRngwWEhSY2RGeHVYSFJjZEZ4MFhIUmNkR2xtSUNocWMyOXVVMlYwZEdsdVp5NXZjSFJwYjI1eklDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ2FuTnZibE5sZEhScGJtY3ViM0IwYVc5dWN5QWhQVDBnYm5Wc2JDa2dlMXh1WEhSY2RGeDBYSFJjZEZ4MGMyVjBkR2x1Wnk1elpYUlBjSFJwYjI1ektHcHpiMjVUWlhSMGFXNW5MbTl3ZEdsdmJuTXBPMXh1WEhSY2RGeDBYSFJjZEgxY2JseDBYSFJjZEZ4MFhIUmNibHgwWEhSY2RGeDBYSFJwWmlBb2FuTnZibE5sZEhScGJtY3VjRzl6YVhScGIyNGdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQnFjMjl1VTJWMGRHbHVaeTV3YjNOcGRHbHZiaUFoUFQwZ2JuVnNiQ2tnZTF4dVhIUmNkRngwWEhSY2RGeDBjMlYwZEdsdVp5NXpaWFJRYjNOcGRHbHZiaWhxYzI5dVUyVjBkR2x1Wnk1d2IzTnBkR2x2YmlrN1hHNWNkRngwWEhSY2RGeDBmVnh1WEhSY2RGeDBYSFJjZEZ4dVhIUmNkRngwWEhSY2RHbG1JQ2hxYzI5dVUyVjBkR2x1Wnk1MFlXZHpJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdhbk52YmxObGRIUnBibWN1ZEdGbmN5QWhQVDBnYm5Wc2JDa2dlMXh1WEhSY2RGeDBYSFJjZEZ4MGMyVjBkR2x1Wnk1elpYUlVZV2R6S0dwemIyNVRaWFIwYVc1bkxuUmhaM01wTzF4dVhIUmNkRngwWEhSY2RIMWNibHgwWEhSY2RGeDBYSFJjYmx4MFhIUmNkRngwWEhSamIyeHNaV04wYVc5dVJXNTBjbWxsYzBGeWNtRjVMbkIxYzJnb2MyVjBkR2x1WnlrN1hHNWNkRngwWEhSY2RIMHBPMXh1WEhSY2RGeDBYSFJjYmx4MFhIUmNkRngwWTI5c2JHVmpkR2x2Ymk1elpYUkZiblJ5YVdWektHTnZiR3hsWTNScGIyNUZiblJ5YVdWelFYSnlZWGtwTzF4dVhIUmNkRngwWEhSY2JseDBYSFJjZEZ4MGMyVjBkR2x1WjNNdWNIVnphQ2hqYjJ4c1pXTjBhVzl1S1R0Y2JseDBYSFJjZEgwcE8xeHVYSFJjZEZ4MFhHNWNkRngwWEhSemRIbHNaVU52Ym1acFozVnlZWFJwYjI0dWMyVjBVMlYwZEdsdVozTW9jMlYwZEdsdVozTXBPMXh1WEhSY2RIMWNibHgwWEhSY2JseDBYSFJ5WlhSMWNtNGdjM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVPMXh1WEhSOUxGeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFVnVZMjlrWlNCVGRIbHNaU0JEYjI1bWFXZDFjbUYwYVc5dUlFbHVjM1JoYm1ObElIUnZJRXBUVDA0Z1UzUnlhVzVuSUc5eUlFOWlhbVZqZEZ4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJuMGdjM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVJRlJvWlNCdlltcGxZM1FnZEc4Z1ltVWdaVzVqYjJSbFpDNWNibHgwSUNvZ1FIQmhjbUZ0SUh0Q2IyOXNaV0Z1ZlNCbGJtTnZaR1VnVDNCMGFXOXVZV3dnS0hSeWRXVXBMQ0JrWldacGJtVnpJSGRvWlhSb1pYSWdkRzhnYzNSeWFXNW5hV1o1SUhSb1pTQnZZbXBsWTNRZ2IzSWdibTkwTGx4dVhIUWdLbHh1WEhRZ0tpQkFjbVYwZFhKdUlIdFBZbXBsWTNSOFUzUnlhVzVuZlNCU1pYUjFjbTV6SUhSb1pTQmxibU52WkdWa0lHOWlhbVZqZENCdmNpQnpkSEpwYm1jdVhHNWNkQ0FxTDF4dVhIUmxibU52WkdWVGRIbHNaVU52Ym1acFozVnlZWFJwYjI0b2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUxDQmxibU52WkdVZ1BTQjBjblZsS1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMwOWlhbVZqZENoemRIbHNaVU52Ym1acFozVnlZWFJwYjI0cE8xeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTkNiMjlzS0dWdVkyOWtaU2s3WEc1Y2RGeDBYRzVjZEZ4MFkyOXVjM1FnYjJKcUlEMGdlMXh1WEhSY2RGeDBibUZ0WlRvZ2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUxtZGxkRTVoYldVb0tTeGNibHgwWEhSY2RHbHpRV04wYVhabE9pQnpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVhWE5CWTNScGRtVW9LU3hjYmx4MFhIUmNkSFJvZFcxaWJtRnBiRG9nYzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1TG1kbGRGUm9kVzFpYm1GcGJDZ3BMRnh1WEhSY2RGeDBZbTlwYkdWeWNHeGhkR1U2SUhOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1blpYUkNiMmxzWlhKd2JHRjBaU2dwTEZ4dVhIUmNkRngwWTNKbFlYUnBiMjVFWVhSbE9pQnpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVaMlYwUTNKbFlYUnBiMjVFWVhSbEtDa3VkRzlUZEhKcGJtY29KM2w1ZVhrdFRVMHRaR1FnU0VnNmJXMDZjM01uS1N4Y2JseDBYSFJjZEcxdlpHbG1hV05oZEdsdmJrUmhkR1U2SUhOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1blpYUk5iMlJwWm1sallYUnBiMjVFWVhSbEtDa3VkRzlUZEhKcGJtY29KM2w1ZVhrdFRVMHRaR1FnU0VnNmJXMDZjM01uS1N4Y2JseDBYSFJjZEdKdmFXeGxjbkJzWVhSbFRXOWthV1pwWTJGMGFXOXVSR0YwWlRvZ2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUxtZGxkRUp2YVd4bGNuQnNZWFJsVFc5a2FXWnBZMkYwYVc5dVJHRjBaU2dwTG5SdlUzUnlhVzVuS0NkNWVYbDVMVTFOTFdSa0lFaElPbTF0T25Oekp5a3NYRzVjZEZ4MFhIUmpiMnh2Y2xCaGJHVjBkR1U2SUhOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1blpYUkRiMnh2Y2xCaGJHVjBkR1VvS1N4Y2JseDBYSFJjZEhObGRIUnBibWR6T2lCYlhTeGNibHgwWEhSY2RHTjFjM1J2YlZOMGVXeGxjem9nSnlkY2JseDBYSFI5TzF4dVhIUmNkRnh1WEhSY2RDOHZJRVZ1WTI5a1pTQnpaWFIwYVc1bmMxeHVYSFJjZEhOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymk1blpYUlRaWFIwYVc1bmN5Z3BMbVp2Y2tWaFkyZ29jMlYwZEdsdVozTkRiMnhzWldOMGFXOXVJRDArSUh0Y2JseDBYSFJjZEdOdmJuTjBJR052Ykd4bFkzUnBiMjRnUFNCN2ZUdGNibHgwWEhSY2RGeHVYSFJjZEZ4MGFXWWdLSE5sZEhScGJtZHpRMjlzYkdWamRHbHZiaTVuWlhST1lXMWxLQ2tnSVQwOUlHNTFiR3dwSUh0Y2JseDBYSFJjZEZ4MFkyOXNiR1ZqZEdsdmJpNXVZVzFsSUQwZ2MyVjBkR2x1WjNORGIyeHNaV04wYVc5dUxtZGxkRTVoYldVb0tUdGNibHgwWEhSY2RIMWNibHgwWEhSY2RGeHVYSFJjZEZ4MGFXWWdLSE5sZEhScGJtZHpRMjlzYkdWamRHbHZiaTVuWlhSVWVYQmxLQ2tnSVQwOUlHNTFiR3dwSUh0Y2JseDBYSFJjZEZ4MFkyOXNiR1ZqZEdsdmJpNTBlWEJsSUQwZ2MyVjBkR2x1WjNORGIyeHNaV04wYVc5dUxtZGxkRlI1Y0dVb0tUdGNibHgwWEhSY2RIMWNibHgwWEhSY2RGeHVYSFJjZEZ4MGFXWWdLSE5sZEhScGJtZHpRMjlzYkdWamRHbHZiaTVuWlhSSlkyOXVLQ2tnSVQwOUlHNTFiR3dwSUh0Y2JseDBYSFJjZEZ4MFkyOXNiR1ZqZEdsdmJpNXBZMjl1SUQwZ2MyVjBkR2x1WjNORGIyeHNaV04wYVc5dUxtZGxkRWxqYjI0b0tUdGNibHgwWEhSY2RIMWNibHgwWEhSY2RGeHVYSFJjZEZ4MGFXWWdLSE5sZEhScGJtZHpRMjlzYkdWamRHbHZiaTVuWlhSRmJuUnlhV1Z6S0NrZ0lUMDlJRzUxYkd3cElIdGNibHgwWEhSY2RGeDBZMjlzYkdWamRHbHZiaTVsYm5SeWFXVnpJRDBnVzEwN1hHNWNkRngwWEhSOVhHNWNkRngwWEhSY2JseDBYSFJjZEhObGRIUnBibWR6UTI5c2JHVmpkR2x2Ymk1blpYUkZiblJ5YVdWektDa3VabTl5UldGamFDaHpaWFIwYVc1bklEMCtJSHRjYmx4MFhIUmNkRngwWTI5dWMzUWdaVzUwY25rZ1BTQjdmVHRjYmx4MFhIUmNkRngwWEc1Y2RGeDBYSFJjZEdsbUlDaHpaWFIwYVc1bkxtZGxkRWR5YjNWd0tDa2dJVDA5SUc1MWJHd3BJSHRjYmx4MFhIUmNkRngwWEhSbGJuUnllUzVuY205MWNDQTlJSE5sZEhScGJtY3VaMlYwUjNKdmRYQW9LVHRjYmx4MFhIUmNkRngwZlZ4dVhIUmNkRngwWEhSY2JseDBYSFJjZEZ4MGFXWWdLSE5sZEhScGJtY3VaMlYwVG1GdFpTZ3BJQ0U5UFNCdWRXeHNLU0I3WEc1Y2RGeDBYSFJjZEZ4MFpXNTBjbmt1Ym1GdFpTQTlJSE5sZEhScGJtY3VaMlYwVG1GdFpTZ3BPMXh1WEhSY2RGeDBYSFI5WEc1Y2RGeDBYSFJjZEZ4dVhIUmNkRngwWEhScFppQW9jMlYwZEdsdVp5NW5aWFJVZVhCbEtDa2dJVDA5SUc1MWJHd3BJSHRjYmx4MFhIUmNkRngwWEhSbGJuUnllUzUwZVhCbElEMGdjMlYwZEdsdVp5NW5aWFJVZVhCbEtDazdYRzVjZEZ4MFhIUmNkSDFjYmx4MFhIUmNkRngwWEc1Y2RGeDBYSFJjZEdsbUlDaHpaWFIwYVc1bkxtZGxkRlpoYkhWbEtDa2dJVDA5SUc1MWJHd3BJSHRjYmx4MFhIUmNkRngwWEhSbGJuUnllUzUyWVd4MVpTQTlJSE5sZEhScGJtY3VaMlYwVm1Gc2RXVW9LVHRjYmx4MFhIUmNkRngwZlZ4dVhIUmNkRngwWEhSY2JseDBYSFJjZEZ4MGFXWWdLSE5sZEhScGJtY3VaMlYwUkdWbVlYVnNkRTFsZEhKcFl5Z3BJQ0U5UFNCdWRXeHNLU0I3WEc1Y2RGeDBYSFJjZEZ4MFpXNTBjbmt1WkdWbVlYVnNkRTFsZEhKcFl5QTlJSE5sZEhScGJtY3VaMlYwUkdWbVlYVnNkRTFsZEhKcFl5Z3BPMXh1WEhSY2RGeDBYSFI5WEc1Y2RGeDBYSFJjZEZ4dVhIUmNkRngwWEhScFppQW9jMlYwZEdsdVp5NW5aWFJQY0hScGIyNXpLQ2tnSVQwOUlHNTFiR3dwSUh0Y2JseDBYSFJjZEZ4MFhIUmxiblJ5ZVM1dmNIUnBiMjV6SUQwZ2MyVjBkR2x1Wnk1blpYUlBjSFJwYjI1ektDazdYRzVjZEZ4MFhIUmNkSDFjYmx4MFhIUmNkRngwWEc1Y2RGeDBYSFJjZEdsbUlDaHpaWFIwYVc1bkxtZGxkRlJoWjNNb0tTQWhQVDBnYm5Wc2JDa2dlMXh1WEhSY2RGeDBYSFJjZEdWdWRISjVMblJoWjNNZ1BTQnpaWFIwYVc1bkxtZGxkRlJoWjNNb0tUdGNibHgwWEhSY2RGeDBmVnh1WEhSY2RGeDBYSFJjYmx4MFhIUmNkRngwYVdZZ0tITmxkSFJwYm1jdVoyVjBVRzl6YVhScGIyNGdJVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVYSFJjZEZ4MFhIUmNkR1Z1ZEhKNUxuQnZjMmwwYVc5dUlEMGdjMlYwZEdsdVp5NW5aWFJRYjNOcGRHbHZiaWdwTzF4dVhIUmNkRngwWEhSOVhHNWNkRngwWEhSY2RGeHVYSFJjZEZ4MFhIUmpiMnhzWldOMGFXOXVMbVZ1ZEhKcFpYTXVjSFZ6YUNobGJuUnllU2s3WEc1Y2RGeDBYSFI5S1R0Y2JseDBYSFJjZEZ4dVhIUmNkRngwYjJKcUxuTmxkSFJwYm1kekxuQjFjMmdvWTI5c2JHVmpkR2x2YmlrN1hHNWNkRngwZlNrN1hHNWNkRngwWEc1Y2RGeDBMeThnUlc1amIyUmxJR04xYzNSdmJWTjBlV3hsYzF4dVhIUmNkRzlpYWk1amRYTjBiMjFUZEhsc1pYTWdQU0J6ZEhsc1pVTnZibVpwWjNWeVlYUnBiMjR1WjJWMFEzVnpkRzl0VTNSNWJHVnpLQ2s3WEc1Y2RGeDBYRzVjZEZ4MGNtVjBkWEp1SUNobGJtTnZaR1VwSUQ4Z1NsTlBUaTV6ZEhKcGJtZHBabmtvYjJKcUtTQTZJRzlpYWp0Y2JseDBmVnh1ZlZ4dUlpd2lMeW9nTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmlBZ1RHRnVaM1ZoWjJVdWFuTWdNakF4T1Mwd05pMHdOMXh1SUNCSFlXMWlhVzhnUjIxaVNGeHVJQ0JvZEhSd09pOHZkM2QzTG1kaGJXSnBieTVrWlZ4dUlDQkRiM0I1Y21sbmFIUWdLR01wSURJd01Ua2dSMkZ0WW1sdklFZHRZa2hjYmlBZ1VtVnNaV0Z6WldRZ2RXNWtaWElnZEdobElFZE9WU0JIWlc1bGNtRnNJRkIxWW14cFl5Qk1hV05sYm5ObElDaFdaWEp6YVc5dUlESXBYRzRnSUZ0b2RIUndPaTh2ZDNkM0xtZHVkUzV2Y21jdmJHbGpaVzV6WlhNdlozQnNMVEl1TUM1b2RHMXNYVnh1SUNBdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFNvdlhHNWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2lwY2JpQXFJRXhoYm1kMVlXZGxJRXhwWW5KaGNubGNiaUFxTDF4dVpYaHdiM0owSUdSbFptRjFiSFFnWTJ4aGMzTWdUR0Z1WjNWaFoyVWdlMXh1WEhRdktpcGNibHgwSUNvZ1RHRnVaM1ZoWjJVZ1EyeGhjM05jYmx4MElDcGNibHgwSUNvZ1ZHaHBjeUJqYkdGemN5Qm9ZVzVrYkdWeklIUm9aU0JzYjJOaGJHbDZZWFJwYjI0Z1ptOXlJSFJvWlNCS1lYWmhVMk55YVhCMElHTnZaR1VnYjJZZ1UzUjViR1ZGWkdsMExpQlBibU5sSUhSb1pYSmxYRzVjZENBcUlHRnlaU0J6WldOMGFXOXVjeUJoWkdSbFpDQjViM1VnWTJGdUlIVnpaU0IwYUdVZ1hDSjBjbUZ1YzJ4aGRHVmNJaUJ0WlhSb2IyUWdabTl5SUdabGRHTm9hVzVuSUhSb1pTQjBjbUZ1YzJ4aGRHVmtJSE4wY21sdVp5NWNibHgwSUNvdlhHNWNkR052Ym5OMGNuVmpkRzl5S0NrZ2UxeHVYSFJjZEM4cUtseHVYSFJjZENBcUlGUnlZVzV6YkdGMGFXOXVJRk5sWTNScGIyNXpYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1QySnFaV04wZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdWMyVmpkR2x2Ym5NZ1BTQjdmVHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFRmtaQ0JoSUc1bGR5QjBjbUZ1YzJ4aGRHbHZiaUJ6WldOMGFXOXVMbHh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMzBnYm1GdFpTQlVhR1VnYm1GdFpTQnZaaUIwYUdVZ2MyVmpkR2x2YmlCMGJ5QmlaU0IxYzJWa0lIZG9aVzRnWm1WMFkyaHBibWNnWVNCMGNtRnVjMnhoZEdsdmJpQnNZWFJsY2k1Y2JseDBJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJSFJ5WVc1emJHRjBhVzl1Y3lCQklHdGxlUzEwY21GdWMyeGhkR2x2YmlCd1lXbHljeUJ2WW1wbFkzUWdkR2hoZENCM2FXeHNJR0psSUhWelpXUWdiR0YwWlhJZ1ptOXlYRzVjZENBcUlHZGxkSFJwYm1jZ2RHaGxJR052Y25KbFkzUWdjM1J5YVc1bmN5QW9jMlZsSUhSeVlXNXpiR0YwWlNCdFpYUm9iMlFwTGx4dVhIUWdLbHh1WEhRZ0tpQkFjbVYwZFhKdUlIdE1ZVzVuZFdGblpYMGdVbVYwZFhKdWN5QjBhR1VnYjJKcVpXTjBJR2x1YzNSaGJtTmxMbHh1WEhRZ0tpOWNibHgwWVdSa1UyVmpkR2x2YmlodVlXMWxMQ0IwY21GdWMyeGhkR2x2Ym5NcElIdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpVM1J5YVc1bktHNWhiV1VwTzF4dVhIUmNkRk4wZVd4bFJXUnBkQzVXWVd4cFpHRjBiM0l1YVhOUFltcGxZM1FvZEhKaGJuTnNZWFJwYjI1ektUdGNibHgwWEhSY2JseDBYSFJwWmlBb2RHaHBjeTV6WldOMGFXOXVjMXR1WVcxbFhTQWhQVDBnZFc1a1pXWnBibVZrS1NCN1hHNWNkRngwWEhSVGRIbHNaVVZrYVhRdVJHVmlkV2N1ZDJGeWJpaGdWR2hsSUhCeWIzWnBaR1ZrSUhObFkzUnBiMjRnYm1GdFpTQmhiSEpsWVdSNUlHVjRhWE4wY3lCaGJtUWdkMmxzYkNCaVpTQnZkbVZ5Y21sa1pHVnVPaUJjSWlSN2JtRnRaWDFjSW1BcE8xeHVYSFJjZEgxY2JseDBYSFJjYmx4MFhIUjBhR2x6TG5ObFkzUnBiMjV6VzI1aGJXVmRJRDBnZEhKaGJuTnNZWFJwYjI1ek8xeHVYSFJjZEZ4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TzF4dVhIUjlPMXh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRlJ5WVc1emJHRjBaU0IwYUdVZ2NISnZkbWxrWldRZ2EyVjVJRzltSUhSb1pTQndjbTkyYVdSbFpDQnpaV04wYVc5dUxseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMU4wY21sdVozMGdhMlY1SUZSb1pTQnJaWGtnYjJZZ2RHaGxJSFJ5WVc1emJHRjBhVzl1TGx4dVhIUWdLaUJBY0dGeVlXMGdlMU4wY21sdVozMGdjMlZqZEdsdmJpQlVhR1VnYzJWamRHbHZiaUJ1WVcxbElIUm9aU0JyWlhrZ1ltVnNiMjVuY3lCMGJ5NWNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VTNSeWFXNW5mU0JTWlhSMWNtNXpJSFJvWlNCMGNtRnVjMnhoZEdsdmJpNWNibHgwSUNwY2JseDBJQ29nUUhSb2NtOTNjeUJGY25KdmNpQkpaaUIwYUdVZ2RISmhibk5zWVhScGIyNGdkMkZ6SUc1dmRDQm1iM1Z1WkM1Y2JseDBJQ292WEc1Y2RIUnlZVzV6YkdGMFpTaHJaWGtzSUhObFkzUnBiMjRwSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selUzUnlhVzVuS0d0bGVTazdYRzVjZEZ4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMU4wY21sdVp5aHpaV04wYVc5dUtUdGNibHgwWEhSY2JseDBYSFJwWmlBb2RHaHBjeTV6WldOMGFXOXVjMXR6WldOMGFXOXVYU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzVjZEZ4MFhIUjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lGSmxjWFZsYzNSbFpDQnpaV04wYVc5dUlIZGhjeUJ1YjNRZ1ptOTFibVE2SUZ3aUpIdHpaV04wYVc5dWZWd2lZQ2s3WEc1Y2RGeDBmVnh1WEhSY2RGeHVYSFJjZEhKbGRIVnliaUIwYUdsekxuTmxZM1JwYjI1elczTmxZM1JwYjI1ZFcydGxlVjBnZkh3Z0ozc25JQ3NnYTJWNUlDc2dKMzBuTzF4dVhIUjlPMXh1ZlZ4dUlpd2lMeW9nTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmlBZ1RXOWtZV3d1YW5NZ01qQXhPUzB3Tmkwd04xeHVJQ0JIWVcxaWFXOGdSMjFpU0Z4dUlDQm9kSFJ3T2k4dmQzZDNMbWRoYldKcGJ5NWtaVnh1SUNCRGIzQjVjbWxuYUhRZ0tHTXBJREl3TVRrZ1IyRnRZbWx2SUVkdFlraGNiaUFnVW1Wc1pXRnpaV1FnZFc1a1pYSWdkR2hsSUVkT1ZTQkhaVzVsY21Gc0lGQjFZbXhwWXlCTWFXTmxibk5sSUNoV1pYSnphVzl1SURJcFhHNGdJRnRvZEhSd09pOHZkM2QzTG1kdWRTNXZjbWN2YkdsalpXNXpaWE12WjNCc0xUSXVNQzVvZEcxc1hWeHVJQ0F0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMU292WEc1Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCN1hHNWNkQzhxS2x4dVhIUWdLaUJUYUc5M0lHRWdiVzlrWVd3Z2QybDBhQ0IwYUdVZ1kyOXVkR1Z1ZEhNZ2IyWWdZU0IwWlcxd2JHRjBaUzVjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0cVVYVmxjbmw5SUNSMFpXMXdiR0YwWlNCVWFHVWdkR1Z0Y0d4aGRHVWdaV3hsYldWdWRDQjBieUJpWlNCMWMyVmtJR1p2Y2lCMGFHVWdiVzlrWVd3dVhHNWNkQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0JrWVhSaElFTnZiblJoYVc1eklIUm9aU0IwWlcxd2JHRjBaU0JrWVhSaExseHVYSFFnS2x4dVhIUWdLaUJBY21WMGRYSnVJSHRxVVhWbGNubDlJRkpsZEhWeWJuTWdkR2hsSUhObGJHVmpkRzl5SUc5bUlIUm9aVnh1WEhRZ0tpOWNibHgwYzJodmR5Z2tkR1Z0Y0d4aGRHVXNJR1JoZEdFcElIdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpUMkpxWldOMEtDUjBaVzF3YkdGMFpTazdYRzVjZEZ4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMDlpYW1WamRDaGtZWFJoS1R0Y2JseDBYSFJjYmx4MFhIUmpiMjV6ZENCb2RHMXNJRDBnVFhWemRHRmphR1V1Y21WdVpHVnlLQ1IwWlcxd2JHRjBaUzVvZEcxc0tDa3NJR1JoZEdFcE8xeHVYSFJjZEZ4dVhIUmNkR052Ym5OMElDUnRiMlJoYkNBOUlDUW9ZRHhrYVhZZ1kyeGhjM005WENKdGIyUmhiRndpUGlSN2FIUnRiSDA4TDJScGRqNWdLVHRjYmx4MFhIUmNibHgwWEhRa2JXOWtZV3d1Ylc5a1lXd29lMkpoWTJ0a2NtOXdPaUFuWlhod2IzSjBJR1oxYm1OMGFXOXVKMzBwTzF4dVhIUmNkRnh1WEhSY2RISmxkSFZ5YmlBa2JXOWtZV3c3WEc1Y2RIMHNYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dTR2xrWlNCaElHUnBjM0JzWVhsbFpDQnRiMlJoYkNCM2FYUm9JSFJvWlNCd2NtOTJhV1JsWkNCelpXeGxZM1J2Y2k1Y2JseDBJQ3BjYmx4MElDb2dRSEJoY21GdElIdHFVWFZsY25sOUlDUnRiMlJoYkZ4dVhIUWdLaTljYmx4MGFHbGtaU2drYlc5a1lXd3BJSHRjYmx4MFhIUlRkSGxzWlVWa2FYUXVWbUZzYVdSaGRHOXlMbWx6VDJKcVpXTjBLQ1J0YjJSaGJDazdYRzVjZEZ4MFhHNWNkRngwSkcxdlpHRnNMbTl1S0Nkb2FXUmtaVzR1WW5NdWJXOWtZV3duTENBb0tTQTlQaUFrYlc5a1lXd3VjbVZ0YjNabEtDa3BPMXh1WEhSY2RGeHVYSFJjZENSdGIyUmhiQzV0YjJSaGJDZ25hR2xrWlNjcE8xeHVYSFI5TEZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVScGMzQnNZWGtnZEdobElIQnliMjF3ZENCMFpXMXdiR0YwWlNCaGN5QmhJRzF2WkdGc0lIUnZJSFJvWlNCMWMyVnlMbHh1WEhRZ0tseHVYSFFnS2lCVWFHVWdkWE5sY2lCM2FXeHNJR2hoZG1VZ2RHOGdZMjl1Wm1seWJTQjBhR1VnYlc5a1lXd2dhVzRnYjNKa1pYSWdkRzhnY0hKdlkyVmxaQ3dnYUdVZ1kyRnVJR0ZzYzI4Z2NISmxjM05jYmx4MElDb2dkR2hsSUZ3aVEyRnVZMlZzWENJZ1luVjBkRzl1TGx4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxTjBjbWx1WjMwZ2RHbDBiR1VnVkdobElIUnBkR3hsSUc5bUlIUm9aU0J0YjJSaGJDNWNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUcxbGMzTmhaMlVnVkdobElHMWxjM05oWjJVZ2IyWWdkR2hsSUcxdlpHRnNMbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0cVVYVmxjbmt1VUhKdmJXbHpaWDBnVW1WMGRYSnVjeUJoSUhCeWIyMXBjMlVnYjJKcVpXTjBJSFJvWVhRZ2QybHNiQ0JpWlNCeVpYTnZiSFpsWkNCcFppQjBhR1VnZFhObGNpQmpiMjVtYVhKdGN5QjBhR1VnY0hKdmJYQjBMbHh1WEhRZ0tpOWNibHgwY0hKdmJYQjBLSFJwZEd4bExDQnRaWE56WVdkbEtTQjdYRzVjZEZ4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMU4wY21sdVp5aDBhWFJzWlNrN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMxTjBjbWx1WnlodFpYTnpZV2RsS1R0Y2JseDBYSFJjYmx4MFhIUmpiMjV6ZENCa1pXWmxjbkpsWkNBOUlDUXVSR1ZtWlhKeVpXUW9LVHRjYmx4MFhIUmpiMjV6ZENCMFpXMXdiR0YwWlNBOUlDUW9KeU53Y205dGNIUXRiVzlrWVd3dGRHVnRjR3hoZEdVbktTNW9kRzFzS0NrN1hHNWNkRngwWTI5dWMzUWdaR0YwWVNBOUlIdGNibHgwWEhSY2RIUnBkR3hsTEZ4dVhIUmNkRngwYldWemMyRm5aU3hjYmx4MFhIUmNkRzl3ZEdsdmJsOTVaWE02SUZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0oyOXdkR2x2Ymw5NVpYTW5MQ0FuYzNSNWJHVmZaV1JwZENjcExGeHVYSFJjZEZ4MGIzQjBhVzl1WDI1dk9pQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZibThuTENBbmMzUjViR1ZmWldScGRDY3BYRzVjZEZ4MGZUdGNibHgwWEhSamIyNXpkQ0JvZEcxc0lEMGdUWFZ6ZEdGamFHVXVjbVZ1WkdWeUtIUmxiWEJzWVhSbExDQmtZWFJoS1R0Y2JseDBYSFJqYjI1emRDQWtiVzlrWVd3Z1BTQWtLR2gwYld3cE8xeHVYSFJjZEZ4dVhIUmNkQ1J0YjJSaGJDNXRiMlJoYkNoN1ltRmphMlJ5YjNBNklDZGxlSEJ2Y25RZ1puVnVZM1JwYjI0bmZTazdYRzVjZEZ4MFhHNWNkRngwSkcxdlpHRnNMbVpwYm1Rb0p5NWlkRzR1ZVdWekp5bGNibHgwWEhSY2RDNXZabVlvSjJOc2FXTnJKeWxjYmx4MFhIUmNkQzV2YmlnblkyeHBZMnNuTENBb0tTQTlQaUI3WEc1Y2RGeDBYSFJjZENSdGIyUmhiQzV0YjJSaGJDZ25hR2xrWlNjcExuSmxiVzkyWlNncE8xeHVYSFJjZEZ4MFhIUmtaV1psY25KbFpDNXlaWE52YkhabEtDazdYRzVjZEZ4MFhIUjlLVHRjYmx4MFhIUmNibHgwWEhRa2JXOWtZV3d1Wm1sdVpDZ25MbUowYmk1dWJ5Y3BYRzVjZEZ4MFhIUXViMlptS0NkamJHbGpheWNwWEc1Y2RGeDBYSFF1YjI0b0oyTnNhV05ySnl3Z0tDa2dQVDRnZTF4dVhIUmNkRngwWEhRa2JXOWtZV3d1Ylc5a1lXd29KMmhwWkdVbktTNXlaVzF2ZG1Vb0tUdGNibHgwWEhSY2RGeDBaR1ZtWlhKeVpXUXVjbVZxWldOMEtDazdYRzVjZEZ4MFhIUjlLVHRjYmx4MFhIUmNibHgwWEhSeVpYUjFjbTRnWkdWbVpYSnlaV1F1Y0hKdmJXbHpaU2dwTzF4dVhIUjlMRnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRVJwYzNCc1lYa2dZU0J6YVcxd2JHVWdiV1Z6YzJGblpTQnRiMlJoYkNCMGJ5QjBhR1VnZFhObGNpNWNibHgwSUNwY2JseDBJQ29nVkdobElIVnpaWElnZDJsc2JDQnZibXg1SUdKbElHRmliR1VnZEc4Z1kyeHBZMnNnYjI0Z1lXNGdYQ0pQUzF3aUlHSjFkSFJ2YmlCMGJ5QmthWE50YVhOeklIUm9aU0J0YjJSaGJDNWNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJSFJwZEd4bElGUm9aU0IwYVhSc1pTQnZaaUIwYUdVZ2JXOWtZV3d1WEc1Y2RDQXFJRUJ3WVhKaGJTQjdVM1J5YVc1bmZTQnRaWE56WVdkbElGUm9aU0J0WlhOellXZGxJRzltSUhSb1pTQnRiMlJoYkM1Y2JseDBJQ3BjYmx4MElDb2dRSEpsZEhWeWJpQjdhbEYxWlhKNUxsQnliMjFwYzJWOUlGSmxkSFZ5Ym5NZ1lTQndjbTl0YVhObElHOWlhbVZqZENCMGFHRjBJSGRwYkd3Z1ltVWdjbVZ6YjJ4MlpXUWdiMjVqWlNCMGFHVWdkWE5sY2lCamJHbGphM01nYjI0Z2RHaGxJRndpVDB0Y0lpQmlkWFIwYjI0dVhHNWNkQ0FxTDF4dVhIUnRaWE56WVdkbEtIUnBkR3hsTENCdFpYTnpZV2RsS1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMxTjBjbWx1WnloMGFYUnNaU2s3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzFOMGNtbHVaeWh0WlhOellXZGxLVHRjYmx4MFhIUmNibHgwWEhSamIyNXpkQ0JrWldabGNuSmxaQ0E5SUNRdVJHVm1aWEp5WldRb0tUdGNibHgwWEhSamIyNXpkQ0IwWlcxd2JHRjBaU0E5SUNRb0p5TnRaWE56WVdkbExXMXZaR0ZzTFhSbGJYQnNZWFJsSnlrdWFIUnRiQ2dwTzF4dVhIUmNkR052Ym5OMElHUmhkR0VnUFNCN1hHNWNkRngwWEhSMGFYUnNaU3hjYmx4MFhIUmNkRzFsYzNOaFoyVXNYRzVjZEZ4MFhIUnZjSFJwYjI1ZmIyczZJRk4wZVd4bFJXUnBkQzVNWVc1bmRXRm5aUzUwY21GdWMyeGhkR1VvSjI5d2RHbHZibDl2YXljc0lDZHpkSGxzWlY5bFpHbDBKeWxjYmx4MFhIUjlPMXh1WEhSY2RHTnZibk4wSUdoMGJXd2dQU0JOZFhOMFlXTm9aUzV5Wlc1a1pYSW9kR1Z0Y0d4aGRHVXNJR1JoZEdFcE8xeHVYSFJjZEdOdmJuTjBJQ1J0YjJSaGJDQTlJQ1FvWUR4a2FYWWdZMnhoYzNNOVhDSnRiMlJoYkZ3aVBpUjdhSFJ0YkgwOEwyUnBkajVnS1R0Y2JseDBYSFJjYmx4MFhIUWtiVzlrWVd3dWJXOWtZV3dvZTJKaFkydGtjbTl3T2lBblpYaHdiM0owSUdaMWJtTjBhVzl1SjMwcE8xeHVYSFJjZEZ4dVhIUmNkQ1J0YjJSaGJDNW1hVzVrS0NjdVluUnVMbTlySnlsY2JseDBYSFJjZEM1dlptWW9KMk5zYVdOckp5bGNibHgwWEhSY2RDNXZiaWduWTJ4cFkyc25MQ0FvS1NBOVBpQjdYRzVjZEZ4MFhIUmNkQ1J0YjJSaGJDNXRiMlJoYkNnbmFHbGtaU2NwTG5KbGJXOTJaU2dwTzF4dVhIUmNkRngwWEhSa1pXWmxjbkpsWkM1eVpYTnZiSFpsS0NrN1hHNWNkRngwWEhSOUtWeHVYSFJjZEZ4MExtWnZZM1Z6S0NrN1hHNWNkRngwWEc1Y2RGeDBjbVYwZFhKdUlHUmxabVZ5Y21Wa0xuQnliMjFwYzJVb0tUdGNibHgwZlZ4MFhHNTlYRzRpTENJdktpQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExWeHVJQ0JTYjNWMFpYSXVhbk1nTWpBeE9TMHdOaTB3TjF4dUlDQkhZVzFpYVc4Z1IyMWlTRnh1SUNCb2RIUndPaTh2ZDNkM0xtZGhiV0pwYnk1a1pWeHVJQ0JEYjNCNWNtbG5hSFFnS0dNcElESXdNVGtnUjJGdFltbHZJRWR0WWtoY2JpQWdVbVZzWldGelpXUWdkVzVrWlhJZ2RHaGxJRWRPVlNCSFpXNWxjbUZzSUZCMVlteHBZeUJNYVdObGJuTmxJQ2hXWlhKemFXOXVJRElwWEc0Z0lGdG9kSFJ3T2k4dmQzZDNMbWR1ZFM1dmNtY3ZiR2xqWlc1elpYTXZaM0JzTFRJdU1DNW9kRzFzWFZ4dUlDQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTb3ZYRzVjYmx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1cGJYQnZjblFnUTNKbFlYUmxVM1I1YkdWTmIyUmhiQ0JtY205dElDY3VMaTlqYjI1MGNtOXNiR1Z5Y3k5RGNtVmhkR1ZUZEhsc1pVMXZaR0ZzSnp0Y2JtbHRjRzl5ZENCRGRYTjBiMjFUZEhsc1pYTk5iMlJoYkNCbWNtOXRJQ2N1TGk5amIyNTBjbTlzYkdWeWN5OURkWE4wYjIxVGRIbHNaWE5OYjJSaGJDYzdYRzVwYlhCdmNuUWdSSFZ3YkdsallYUmxVM1I1YkdWTmIyUmhiQ0JtY205dElDY3VMaTlqYjI1MGNtOXNiR1Z5Y3k5RWRYQnNhV05oZEdWVGRIbHNaVTF2WkdGc0p6dGNibWx0Y0c5eWRDQkZaR2wwVTNSNWJHVldhV1YzSUdaeWIyMGdKeTR1TDJOdmJuUnliMnhzWlhKekwwVmthWFJUZEhsc1pWWnBaWGNuTzF4dWFXMXdiM0owSUUxNVUzUjViR1Z6Vm1sbGR5Qm1jbTl0SUNjdUxpOWpiMjUwY205c2JHVnljeTlOZVZOMGVXeGxjMVpwWlhjbk8xeHVhVzF3YjNKMElGVndiRzloWkZOMGVXeGxUVzlrWVd3Z1puSnZiU0FuTGk0dlkyOXVkSEp2Ykd4bGNuTXZWWEJzYjJGa1UzUjViR1ZOYjJSaGJDYzdYRzVwYlhCdmNuUWdWWEJzYjJGa1NXMWhaMlZOYjJSaGJDQm1jbTl0SUNjdUxpOWpiMjUwY205c2JHVnljeTlWY0d4dllXUkpiV0ZuWlUxdlpHRnNKenRjYm1sdGNHOXlkQ0JRY21WMmFXVjNTVzFoWjJWTmIyUmhiQ0JtY205dElDY3VMaTlqYjI1MGNtOXNiR1Z5Y3k5UWNtVjJhV1YzU1cxaFoyVk5iMlJoYkNjN1hHNWNiaTh2SUZKbGNYVnBjbVVnWVd4c0lIUm9aU0JqYjI1MGNtOXNiR1Z5SUdacGJHVnpMbHh1WTI5dWMzUWdZMjl1ZEhKdmJHeGxjbk1nUFNCN1hHNWNkRU55WldGMFpWTjBlV3hsVFc5a1lXd3NYRzVjZEVOMWMzUnZiVk4wZVd4bGMwMXZaR0ZzTEZ4dVhIUkVkWEJzYVdOaGRHVlRkSGxzWlUxdlpHRnNMRnh1WEhSRlpHbDBVM1I1YkdWV2FXVjNMRnh1WEhSTmVWTjBlV3hsYzFacFpYY3NYRzVjZEZWd2JHOWhaRk4wZVd4bFRXOWtZV3dzWEc1Y2RGVndiRzloWkVsdFlXZGxUVzlrWVd3c1hHNWNkRkJ5WlhacFpYZEpiV0ZuWlUxdlpHRnNYRzU5TzF4dVhHNHZLaXBjYmlBcUlGZHBiR3dnWkhsdVlXMXBZMkZzYkhrZ1kzSmxZWFJsSUhSb1pTQmpiM0p5WldOMElHTnZiblJ5YjJ4c1pYSWdhVzV6ZEdGdVkyVXVYRzRnS2x4dUlDb2dhSFIwY0RvdkwzTjBZV05yYjNabGNtWnNiM2N1WTI5dEwyRXZNVFl3T0RVME5seHVJQ3BjYmlBcUlFQndZWEpoYlNCN1JuVnVZM1JwYjI1OUlHTnZibk4wY25WamRHOXlJRlJvWlNCamJHRnpjeUJqYjI1emRISjFZM1J2Y2k1Y2JpQXFJRUJ3WVhKaGJTQjdLbHRkZlNCaGNtZHpJRU52Ym5SaGFXNXpJSFJvWlNCamIyNXpkSEoxWTNSdmNpQmhjbWQxYldWdWRITXVYRzRnS2lCQWNtVjBkWEp1SUhzcWZTQlNaWFIxY201eklHNWxkeUJwYm5OMFlXNWpaU0J2WmlCMGFHVWdZMjl1YzNSeWRXTjBiM0l1WEc0Z0tseHVJQ29nUUhCeWFYWmhkR1ZjYmlBcUwxeHVablZ1WTNScGIyNGdYMk55WldGMFpVTnZiblJ5YjJ4c1pYSW9ZMjl1YzNSeWRXTjBiM0lzSUdGeVozTXBJSHRjYmx4MFpuVnVZM1JwYjI0Z1EyOXVkSEp2Ykd4bGNpZ3BJSHRjYmx4MFhIUnlaWFIxY200Z1kyOXVjM1J5ZFdOMGIzSXVZWEJ3Ykhrb2RHaHBjeXdnWVhKbmN5azdYRzVjZEgxY2JseDBYRzVjZEVOdmJuUnliMnhzWlhJdWNISnZkRzkwZVhCbElEMGdZMjl1YzNSeWRXTjBiM0l1Y0hKdmRHOTBlWEJsTzF4dVhIUnlaWFIxY200Z2JtVjNJRU52Ym5SeWIyeHNaWElvS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdlMXh1WEhRdktpcGNibHgwSUNvZ1RHOWhaQ0IwYUdVZ2NtVnhkV1Z6ZEdWa0lHTnZiblJ5YjJ4c1pYSWdZVzVrSUdWNFpXTjFkR1VnZEdobElGd2lhVzVwZEdsaGJHbDZaVndpSUcxbGRHaHZaQzVjYmx4MElDcGNibHgwSUNvZ1RtOTBhV05sT2lCMGFHVWdZWEpuY3lCdlltcGxZM1FnYlhWemRDQmtaV1pwYm1VZ2RHaGxJSEJ5YjNCbGNuUnBaWE1nYVc0Z2RHaGxJSE5oYldVZ2IzSmtaWElnWVhNZ2RHaGxJR052Ym5OMGNuVmpkRzl5SUhCaGNtRnRaWFJsY25NdVhHNWNkQ0FxWEc1Y2RDQXFJRUJ3WVhKaGJTQjdVM1J5YVc1bmZTQmpiMjUwY205c2JHVnlUbUZ0WlNCVWFHVWdZMjl1ZEhKdmJHeGxjaUJqYkdGemN5QnVZVzFsSUhSdklHSmxJR3h2WVdSbFpDNWNibHgwSUNvZ1FIQmhjbUZ0SUhzcVcxMTlJR0Z5WjNNZ1QzQjBhVzl1WVd3Z0tGdGRLU3dnWVhKeVlYa2dkR2hoZENCamIyNTBZV2x1Y3lCMGFHVWdZMjl1ZEhKdmJHeGxjaWR6SUhCaGNtRnRaWFJsY25NdVhHNWNkQ0FxTDF4dVhIUnNiMkZrS0dOdmJuUnliMnhzWlhKT1lXMWxMQ0JoY21keklEMGdXMTBwSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selUzUnlhVzVuS0dOdmJuUnliMnhzWlhKT1lXMWxLVHRjYmx4MFhIUmNibHgwWEhScFppQW9ZWEpuY3lBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc1Y2RGeDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selQySnFaV04wS0dGeVozTXBPMXh1WEhSY2RIMWNibHgwWEhSY2JseDBYSFJqYjI1emRDQnBibk4wWVc1alpTQTlJRjlqY21WaGRHVkRiMjUwY205c2JHVnlLR052Ym5SeWIyeHNaWEp6VzJOdmJuUnliMnhzWlhKT1lXMWxYU3dnWVhKbmN5azdYRzVjZEZ4MFhHNWNkRngwYVc1emRHRnVZMlV1YVc1cGRHbGhiR2w2WlNncE8xeHVYSFI5WEc1OVhHNGlMQ0l2S2lBdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFZ4dUlDQlZjbXhRWVhKelpYSXVhbk1nTWpBeE9TMHdOaTB3TjF4dUlDQkhZVzFpYVc4Z1IyMWlTRnh1SUNCb2RIUndPaTh2ZDNkM0xtZGhiV0pwYnk1a1pWeHVJQ0JEYjNCNWNtbG5hSFFnS0dNcElESXdNVGtnUjJGdFltbHZJRWR0WWtoY2JpQWdVbVZzWldGelpXUWdkVzVrWlhJZ2RHaGxJRWRPVlNCSFpXNWxjbUZzSUZCMVlteHBZeUJNYVdObGJuTmxJQ2hXWlhKemFXOXVJRElwWEc0Z0lGdG9kSFJ3T2k4dmQzZDNMbWR1ZFM1dmNtY3ZiR2xqWlc1elpYTXZaM0JzTFRJdU1DNW9kRzFzWFZ4dUlDQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTb3ZYRzVjYmx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0I3WEc1Y2RDOHFLbHh1WEhRZ0tpQkhaWFFnZEdobElIWmhiSFZsSUc5bUlHRWdSMFZVSUhCaGNtRnRaWFJsY2k1Y2JseDBJQ3BjYmx4MElDb2dVMmx1WTJVZ1UzUjViR1ZGWkdsME15QktVeUJqYjJSbElIZHBiR3dnYjI1c2VTQmlaU0JqYjI1bWFXZDFjbVZrSUdKNUlIUm9aU0JWVWt3Z2FYUW5jeUJ1WldObGMzTmhjbmxjYmx4MElDb2dkRzhnWW1VZ1lTQjNZWGtnYjJZZ1oyVjBkR2x1WnlCMGFHVWdSMFZVSUhCaGNtRnRaWFJsY25NZ2IyWWdkR2hsSUdOMWNuSmxiblFnY21WeGRXVnpkQzVWYzJVZ2RHaHBjMXh1WEhRZ0tpQnRaWFJvYjJRZ2RHOGdaMlYwSUhaaGNtbGhZbXhsSUhaaGJIVmxjeTVjYmx4MElDcGNibHgwSUNvZ1NXMXdiM0owWVc1ME9pQkpaaUJoSUhCaGNtRnRaWFJsY2lCa2IyVnpJRzV2ZENCbGVHbHpkQ0IwYUdWdUlIUm9aU0J5WlhOMWJIUWdkMmxzYkNCaVpTQmhiaUIxYm1SbFptbHVaV1JjYmx4MElDb2diMkpxWldOMExDQnZkR2hsY25kcGMyVWdhV1lnZEdobElIQmhjbUZ0WlhSbGNpQmxlR2x6ZENCaWRYUWdhR0Z6SUc1dklIWmhiSFZsSUhSb2FYTWdiV1YwYUc5a0lIZHBiR3dnY21WMGRYSnVYRzVjZENBcUlHRWdiblZzYkNCeVpYTjFiSFF1WEc1Y2RDQXFYRzVjZENBcUlFQndZWEpoYlNCN1UzUnlhVzVuZlNCdVlXMWxJRlpoY21saFlteGxJRzVoYldVZ2IyWWdkR2hsSUhaaGJIVmxMbHh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0VGRISnBibWQ5SUZKbGRIVnlibk1nZEdobElIWmhiSFZsSUc5bUlIUm9aU0J3WVhKaGJXVjBaWEl1WEc1Y2RDQXFMMXh1WEhSblpYUlFZWEpoYlNodVlXMWxLU0I3WEc1Y2RGeDBZMjl1YzNRZ1oyVjBVR0Z5WVcxbGRHVnljMU4wY21sdVp5QTlJSGRwYm1SdmR5NXNiMk5oZEdsdmJpNXpaV0Z5WTJndWMzVmljM1J5S0RFcE8xeHVYSFJjZEdOdmJuTjBJSFJ2YTJWdWN5QTlJR2RsZEZCaGNtRnRaWFJsY25OVGRISnBibWN1YzNCc2FYUW9KeVluS1R0Y2JseDBYSFJqYjI1emRDQm5aWFJRWVhKaGJXVjBaWEp6SUQwZ2UzMDdYRzVjZEZ4MFhHNWNkRngwZEc5clpXNXpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9kRzlyWlc0cElIdGNibHgwWEhSY2RHTnZibk4wSUhCaGNtRnRaWFJsY2lBOUlIUnZhMlZ1TG5Od2JHbDBLQ2M5SnlrN1hHNWNkRngwWEhSblpYUlFZWEpoYldWMFpYSnpXM0JoY21GdFpYUmxjbHN3WFYwZ1BTQndZWEpoYldWMFpYSmJNVjBnZkh3Z2JuVnNiRHRjYmx4MFhIUjlLVHRjYmx4MFhIUmNibHgwWEhSeVpYUjFjbTRnWjJWMFVHRnlZVzFsZEdWeWMxdHVZVzFsWFR0Y2JseDBmVnh1ZlZ4dUlpd2lMeW9nTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmlBZ1ZtRnNhV1JoZEc5eUxtcHpJREl3TVRrdE1EWXRNRGRjYmlBZ1IyRnRZbWx2SUVkdFlraGNiaUFnYUhSMGNEb3ZMM2QzZHk1bllXMWlhVzh1WkdWY2JpQWdRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTVJRWRoYldKcGJ5QkhiV0pJWEc0Z0lGSmxiR1ZoYzJWa0lIVnVaR1Z5SUhSb1pTQkhUbFVnUjJWdVpYSmhiQ0JRZFdKc2FXTWdUR2xqWlc1elpTQW9WbVZ5YzJsdmJpQXlLVnh1SUNCYmFIUjBjRG92TDNkM2R5NW5iblV1YjNKbkwyeHBZMlZ1YzJWekwyZHdiQzB5TGpBdWFIUnRiRjFjYmlBZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwcUwxeHVYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1THlvcVhHNGdLaUJVYUhKdmR5QlVlWEJsUlhKeWIzSmNiaUFxWEc0Z0tpQlVhR2x6SUcxbGRHaHZaQ0IzYVd4c0lIUm9jbTkzSUhSb1pTQnpZVzFsSUcxbGMzTmhaMlVnWm05eUlHVjJaWEo1SUhaaGJHbGtZWFJwYjI0Z1ptRnBiSFZ5WlM1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZXlwOUlIWmhiSFZsSUZaaGJHbGtZWFJsWkNCV1lXeDFaVnh1SUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUdWNGNHVmpkR1ZrVkhsd1pTQjBhR1VnUlhod1pXTjBaV1FnVkhsd1pWeHVJQ3BjYmlBcUlFQndjbWwyWVhSbFhHNGdLaTljYm1aMWJtTjBhVzl1SUY5MGFISnZkeWgyWVd4MVpTd2daWGh3WldOMFpXUlVlWEJsS1NCN1hHNWNkSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjBsdWRtRnNhV1FnZG1Gc2RXVWdaMmwyWlc0c0lHVjRjR1ZqZEdWa0lGd2lKeUFySUdWNGNHVmpkR1ZrVkhsd1pTQXJJQ2RjSWlCbmIzUWdYQ0luSUNzZ2RIbHdaVzltSUhaaGJIVmxJQ3NnSjF3aUxpY3NJSFpoYkhWbEtUdGNibjFjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnZTF4dVhIUXZLaXBjYmx4MElDb2dWbUZzYVdSaGRHVWdTVzUwSUZaaGJIVmxjMXh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTA1MWJXSmxjbjBnZG1Gc2RXVmNibHgwSUNwY2JseDBJQ29nUUhSb2NtOTNjeUJVZVhCbFJYSnliM0lnU1dZZ2RHaGxJR0Z5WjNWdFpXNTBJR2x6SUc1dmRDQjJZV3hwWkM1Y2JseDBJQ292WEc1Y2RHbHpTVzUwS0haaGJIVmxLU0I3WEc1Y2RGeDBhV1lnS0haaGJIVmxJQ0U5UFNCd1lYSnpaVWx1ZENoMllXeDFaU2twSUh0Y2JseDBYSFJjZEY5MGFISnZkeWgyWVd4MVpTd2dKMmx1ZEdWblpYSW5LVHRjYmx4MFhIUjlYRzVjZEgwc1hHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1ZtRnNhV1JoZEdVZ1JteHZZWFFnVm1Gc2RXVnpYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3VG5WdFltVnlmU0IyWVd4MVpWeHVYSFFnS2x4dVhIUWdLaUJBZEdoeWIzZHpJRlI1Y0dWRmNuSnZjaUJKWmlCMGFHVWdZWEpuZFcxbGJuUWdhWE1nYm05MElIWmhiR2xrTGx4dVhIUWdLaTljYmx4MGFYTkdiRzloZENoMllXeDFaU2tnZTF4dVhIUmNkR2xtSUNoMllXeDFaU0FoUFQwZ1RuVnRZbVZ5S0haaGJIVmxLU0I4ZkNCMllXeDFaU0FsSURFZ1BUMDlJREFwSUh0Y2JseDBYSFJjZEY5MGFISnZkeWgyWVd4MVpTd2dKMlpzYjJGMEp5azdYRzVjZEZ4MGZWeHVYSFI5TEZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUZaaGJHbGtZWFJsSUZOMGNtbHVaeUJXWVd4MVpYTmNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJSFpoYkhWbFhHNWNkQ0FxWEc1Y2RDQXFJRUIwYUhKdmQzTWdWSGx3WlVWeWNtOXlJRWxtSUhSb1pTQmhjbWQxYldWdWRDQnBjeUJ1YjNRZ2RtRnNhV1F1WEc1Y2RDQXFMMXh1WEhScGMxTjBjbWx1WnloMllXeDFaU2tnZTF4dVhIUmNkR2xtSUNoMllXeDFaUzVqYjI1emRISjFZM1J2Y2lBaFBUMGdVM1J5YVc1bktTQjdYRzVjZEZ4MFhIUmZkR2h5YjNjb2RtRnNkV1VzSUNkemRISnBibWNuS1R0Y2JseDBYSFI5WEc1Y2RIMHNYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dWbUZzYVdSaGRHVWdRbTl2YkNCV1lXeDFaWE5jYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0Q2IyOXNaV0Z1ZlNCMllXeDFaVnh1WEhRZ0tseHVYSFFnS2lCQWRHaHliM2R6SUZSNWNHVkZjbkp2Y2lCSlppQjBhR1VnWVhKbmRXMWxiblFnYVhNZ2JtOTBJSFpoYkdsa0xseHVYSFFnS2k5Y2JseDBhWE5DYjI5c0tIWmhiSFZsS1NCN1hHNWNkRngwYVdZZ0tIWmhiSFZsTG1OdmJuTjBjblZqZEc5eUlDRTlQU0JDYjI5c1pXRnVLU0I3WEc1Y2RGeDBYSFJmZEdoeWIzY29kbUZzZFdVc0lDZGliMjlzSnlrN1hHNWNkRngwZlZ4dVhIUjlMRnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRlpoYkdsa1lYUmxJRTlpYW1WamRDQldZV3gxWlhOY2JseDBJQ3BjYmx4MElDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiSFZsWEc1Y2RDQXFYRzVjZENBcUlFQjBhSEp2ZDNNZ1ZIbHdaVVZ5Y205eUlFbG1JSFJvWlNCaGNtZDFiV1Z1ZENCcGN5QnViM1FnZG1Gc2FXUXVYRzVjZENBcUwxeHVYSFJwYzA5aWFtVmpkQ2gyWVd4MVpTa2dlMXh1WEhSY2RHbG1JQ2gwZVhCbGIyWWdkbUZzZFdVZ0lUMDlJQ2R2WW1wbFkzUW5LU0I3WEc1Y2RGeDBYSFJmZEdoeWIzY29kbUZzZFdVc0lDZHZZbXBsWTNRbktUdGNibHgwWEhSOVhHNWNkSDBzWEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nVm1Gc2FXUmhkR1VnZEhsd1pTQnZaaUJ2WW1wbFkzUXVYRzVjZENBcVhHNWNkQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0IwZVhCbElFVjRjR1ZqZEdWa0lHOWlhbVZqZENCMGVYQmxJRzVoYldVdVhHNWNkQ0FxSUVCd1lYSmhiU0I3S24wZ2IySnFaV04wSUZSb1pTQnZZbXBsWTNRZ2RHOGdZbVVnZG1Gc2FXUmhkR1ZrTGx4dVhIUWdLbHh1WEhRZ0tpQkFkR2h5YjNkeklGUjVjR1ZGY25KdmNpQkpaaUIwYUdVZ1lYSm5kVzFsYm5RZ2FYTWdibTkwSUhaaGJHbGtMbHh1WEhRZ0tpOWNibHgwYVhOVWVYQmxUMllvZEhsd1pTd2diMkpxWldOMEtTQjdYRzVjZEZ4MGFXWWdLSFI1Y0dWdlppQnZZbXBsWTNRZ0lUMDlJSFI1Y0dVcElIdGNibHgwWEhSY2RGOTBhSEp2ZHlodlltcGxZM1FzSUhSNWNHVXBPMXh1WEhSY2RIMWNibHgwZlZ4dWZWeHVJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdWMmxrWjJWMFEyOXVkbVZ5ZEdWeUxtcHpJREl3TVRrdE1EWXRNRGRjYmlBZ1IyRnRZbWx2SUVkdFlraGNiaUFnYUhSMGNEb3ZMM2QzZHk1bllXMWlhVzh1WkdWY2JpQWdRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTVJRWRoYldKcGJ5QkhiV0pJWEc0Z0lGSmxiR1ZoYzJWa0lIVnVaR1Z5SUhSb1pTQkhUbFVnUjJWdVpYSmhiQ0JRZFdKc2FXTWdUR2xqWlc1elpTQW9WbVZ5YzJsdmJpQXlLVnh1SUNCYmFIUjBjRG92TDNkM2R5NW5iblV1YjNKbkwyeHBZMlZ1YzJWekwyZHdiQzB5TGpBdWFIUnRiRjFjYmlBZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwcUwxeHVYRzVjYmk4cWFuTm9hVzUwSUMxWE1EYzVJQ292WEc1Y2JpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWFXMXdiM0owSUZObGRIUnBibWNnWm5KdmJTQW5MaTR2Wlc1MGFYUnBaWE12VTJWMGRHbHVaeWM3SUZ4dWFXMXdiM0owSUVKdmVGTmxkSFJwYm1jZ1puSnZiU0FuTGk0dlpXNTBhWFJwWlhNdlFtOTRVMlYwZEdsdVp5YzdJRnh1YVcxd2IzSjBJRlJsZUhSQ2IzZ2dabkp2YlNBbkxpNHZkMmxrWjJWMGN5OVVaWGgwUW05NEp6c2dYRzVwYlhCdmNuUWdVMlZzWldOMFFtOTRJR1p5YjIwZ0p5NHVMM2RwWkdkbGRITXZVMlZzWldOMFFtOTRKMXh1YVcxd2IzSjBJRU52Ykc5eWNHbGphMlZ5SUdaeWIyMGdKeTR1TDNkcFpHZGxkSE12UTI5c2IzSndhV05yWlhJbk8xeHVhVzF3YjNKMElGTjNhWFJqYUNCbWNtOXRJQ2N1TGk5M2FXUm5aWFJ6TDFOM2FYUmphQ2M3SUZ4dWFXMXdiM0owSUZScGRHeGxJR1p5YjIwZ0p5NHVMM2RwWkdkbGRITXZWR2wwYkdVbk95QmNibWx0Y0c5eWRDQkpiV0ZuWlNCbWNtOXRJQ2N1TGk5M2FXUm5aWFJ6TDBsdFlXZGxKenRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnZTF4dVhIUXZLaXBjYmx4MElDb2dRMjl1ZG1WeWRDQmhJSE5wYm1kc1pTQnpaWFIwYVc1bklHOWlhbVZqZENCMGJ5QnBkSE1uSUhkcFpHZGxkQ0JwYm5OMFlXNWpaUzVjYmx4MElDcGNibHgwSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUhObGRIUnBibWNnUTI5dFpYTWdabkp2YlNCMGFHVWdTbE5QVGlCemRIbHNaU0JqYjI1bWFXZDFjbUYwYVc5dUlHRnVaQ0JqYjI1MFlXbHVjeUIwYUdVZ2MyVjBkR2x1WnlCa1lYUmhMbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJuMGdjM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVJRlJvWlNCemRIbHNaU0JqYjI1bWFXZDFjbUYwYVc5dUlHOWlhbVZqZENCMGFHRjBJSFJvWlNCelpYUjBhVzVuSUdKbGJHOXVaM01nZEc4dVhHNWNkQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5XMTE5SUhSbGJYQnNZWFJsU1cxaFoyVnpJRU52Ym5SaGFXNXpJR0VnYkdsemRDQnZaaUIwYUdVZ1lYWmhhV3hoWW14bElIUmxiWEJzWVhSbElHbHRZV2RsY3k1Y2JseDBJQ3BjYmx4MElDb2dRSEpsZEhWeWJpQjdLbjBnVW1WMGRYSnVjeUIwYUdVZ1kyOXljbVZ6Y0c5dVpHbHVaeUIzYVdSblpYUWdhVzV6ZEdGdVkyVXVYRzVjZENBcUwxeHVYSFJqYjI1MlpYSjBVMlYwZEdsdVoxUnZWMmxrWjJWMEtITmxkSFJwYm1jc0lITjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpd2dkR1Z0Y0d4aGRHVkpiV0ZuWlhNcElIdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpUMkpxWldOMEtITmxkSFJwYm1jcE8xeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlBZbXBsWTNRb2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUtUdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpUMkpxWldOMEtIUmxiWEJzWVhSbFNXMWhaMlZ6S1R0Y2JseDBYSFJjYmx4MFhIUnNaWFFnYzJWMGRHbHVaMGx1YzNSaGJtTmxPMXh1WEhSY2RHeGxkQ0IzYVdSblpYUkpibk4wWVc1alpUdGNibHgwWEhSY2JseDBYSFJ6WlhSMGFXNW5TVzV6ZEdGdVkyVWdQU0FvYzJWMGRHbHVaeTV3YjNOcGRHbHZiaUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQS9JRzVsZHlCVFpYUjBhVzVuS0NrZ09pQnVaWGNnUW05NFUyVjBkR2x1WnlncE8xeHVYSFJjZEZ4dVhIUmNkSE5sZEhScGJtZEpibk4wWVc1alpWeHVYSFJjZEZ4MExuTmxkRTVoYldVb2MyVjBkR2x1Wnk1dVlXMWxLVnh1WEhSY2RGeDBMbk5sZEZScGRHeGxLRk4wZVd4bFJXUnBkQzVNWVc1bmRXRm5aUzUwY21GdWMyeGhkR1VvYzJWMGRHbHVaeTV1WVcxbExDQW5kR1Z0Y0d4aGRHVW5LU2xjYmx4MFhIUmNkQzV6WlhSVWVYQmxLSE5sZEhScGJtY3VkSGx3WlNrN1hHNWNkRngwWEc1Y2RGeDBhV1lnS0hObGRIUnBibWN1ZG1Gc2RXVWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVYSFJjZEZ4MGMyVjBkR2x1WjBsdWMzUmhibU5sTG5ObGRGWmhiSFZsS0hObGRIUnBibWN1ZG1Gc2RXVXBPMXh1WEhSY2RIMWNibHgwWEhSY2JseDBYSFJwWmlBb2MyVjBkR2x1Wnk1a1pXWmhkV3gwVFdWMGNtbGpJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNibHgwWEhSY2RITmxkSFJwYm1kSmJuTjBZVzVqWlM1elpYUkVaV1poZFd4MFRXVjBjbWxqS0hObGRIUnBibWN1WkdWbVlYVnNkRTFsZEhKcFl5azdYRzVjZEZ4MGZWeHVYSFJjZEZ4dVhIUmNkR2xtSUNoelpYUjBhVzVuTG5CdmMybDBhVzl1SUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjYmx4MFhIUmNkSE5sZEhScGJtZEpibk4wWVc1alpTNXpaWFJRYjNOcGRHbHZiaWh6WlhSMGFXNW5MbkJ2YzJsMGFXOXVLVHRjYmx4MFhIUjlYRzVjZEZ4MFhHNWNkRngwYVdZZ0tITmxkSFJwYm1jdWIzQjBhVzl1Y3lBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc1Y2RGeDBYSFJ6WlhSMGFXNW5TVzV6ZEdGdVkyVXVjMlYwVDNCMGFXOXVjeWh6WlhSMGFXNW5MbTl3ZEdsdmJuTXBPMXh1WEhSY2RIMWNibHgwWEhSY2JseDBYSFJwWmlBb2MyVjBkR2x1Wnk1MFlXZHpJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNibHgwWEhSY2RITmxkSFJwYm1kSmJuTjBZVzVqWlM1elpYUlVZV2R6S0hObGRIUnBibWN1ZEdGbmN5azdYRzVjZEZ4MGZWeHVYSFJjZEZ4dVhIUmNkQzh2SUVOeVpXRjBaU0IwYUdVZ2QybGtaMlYwSUdsdWMzUmhibU5sTGx4dVhIUmNkSE4zYVhSamFDQW9jMlYwZEdsdVp5NTBlWEJsS1NCN1hHNWNkRngwWEhSallYTmxJQ2RqYjJ4dmNpYzZYRzVjZEZ4MFhIUmNkSGRwWkdkbGRFbHVjM1JoYm1ObElEMGdibVYzSUVOdmJHOXljR2xqYTJWeUtITmxkSFJwYm1kSmJuTjBZVzVqWlN3Z2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUtUdGNibHgwWEhSY2RGeDBZbkpsWVdzN1hHNWNkRngwWEhSallYTmxJQ2QwWlhoMEp6cGNibHgwWEhSY2RGeDBkMmxrWjJWMFNXNXpkR0Z1WTJVZ1BTQnVaWGNnVkdWNGRFSnZlQ2h6WlhSMGFXNW5TVzV6ZEdGdVkyVXNJSE4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaWs3WEc1Y2RGeDBYSFJjZEdKeVpXRnJPMXh1WEhSY2RGeDBZMkZ6WlNBbmMyVnNaV04wSnpwY2JseDBYSFJjZEZ4MGQybGtaMlYwU1c1emRHRnVZMlVnUFNCdVpYY2dVMlZzWldOMFFtOTRLSE5sZEhScGJtZEpibk4wWVc1alpTd2djM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVLVHRjYmx4MFhIUmNkRngwWW5KbFlXczdYRzVjZEZ4MFhIUmpZWE5sSUNkemQybDBZMmduT2x4dVhIUmNkRngwWEhSM2FXUm5aWFJKYm5OMFlXNWpaU0E5SUc1bGR5QlRkMmwwWTJnb2MyVjBkR2x1WjBsdWMzUmhibU5sTENCemRIbHNaVU52Ym1acFozVnlZWFJwYjI0cE8xeHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2JseDBYSFJjZEdOaGMyVWdKM1JwZEd4bEp6cGNibHgwWEhSY2RGeDBkMmxrWjJWMFNXNXpkR0Z1WTJVZ1BTQnVaWGNnVkdsMGJHVW9jMlYwZEdsdVowbHVjM1JoYm1ObEtUdGNibHgwWEhSY2RGeDBZbkpsWVdzN1hHNWNkRngwWEhSallYTmxJQ2RwYldGblpTYzZYRzVjZEZ4MFhIUmNkSGRwWkdkbGRFbHVjM1JoYm1ObElEMGdibVYzSUVsdFlXZGxLSE5sZEhScGJtZEpibk4wWVc1alpTd2djM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVMQ0IwWlcxd2JHRjBaVWx0WVdkbGN5azdYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHVYSFJjZEZ4MFpHVm1ZWFZzZERwY2JseDBYSFJjZEZ4MGRHaHliM2NnYm1WM0lFVnljbTl5S0NkSmJuWmhiR2xrSUhObGRIUnBibWNnYzJWMGRHbHVaeUIwZVhCbElHUmxkR1ZqZEdWa09pQW5JQ3NnYzJWMGRHbHVaeTUwZVhCbEtUdGNibHgwWEhSOVhHNWNkRngwWEc1Y2RGeDBjbVYwZFhKdUlIZHBaR2RsZEVsdWMzUmhibU5sTzF4dVhIUjlYRzVjZEZ4dWZWeHVJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdiV0ZwYmk1cWN5QXlNREU1TFRBMkxUQTNYRzRnSUVkaGJXSnBieUJIYldKSVhHNGdJR2gwZEhBNkx5OTNkM2N1WjJGdFltbHZMbVJsWEc0Z0lFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE9TQkhZVzFpYVc4Z1IyMWlTRnh1SUNCU1pXeGxZWE5sWkNCMWJtUmxjaUIwYUdVZ1IwNVZJRWRsYm1WeVlXd2dVSFZpYkdsaklFeHBZMlZ1YzJVZ0tGWmxjbk5wYjI0Z01pbGNiaUFnVzJoMGRIQTZMeTkzZDNjdVoyNTFMbTl5Wnk5c2FXTmxibk5sY3k5bmNHd3RNaTR3TG1oMGJXeGRYRzRnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0S2k5Y2JseHVYRzVwYlhCdmNuUWdVbTkxZEdWeUlHWnliMjBnSnk0dmJHbGljeTlTYjNWMFpYSW5PeUJjYm1sdGNHOXlkQ0JFWldKMVp5Qm1jbTl0SUNjdUwyeHBZbk12UkdWaWRXY25PeUJjYm1sdGNHOXlkQ0JXWVd4cFpHRjBiM0lnWm5KdmJTQW5MaTlzYVdKekwxWmhiR2xrWVhSdmNpYzdJRnh1YVcxd2IzSjBJRlZ5YkZCaGNuTmxjaUJtY205dElDY3VMMnhwWW5NdlZYSnNVR0Z5YzJWeUp6c2dYRzVwYlhCdmNuUWdUR0Z1WjNWaFoyVkJjR2tnWm5KdmJTQW5MaTloY0drdlRHRnVaM1ZoWjJWQmNHa25PeUJjYm1sdGNHOXlkQ0JEYjI1bWFXZEJjR2tnWm5KdmJTQW5MaTloY0drdlEyOXVabWxuUVhCcEp6dGNibWx0Y0c5eWRDQkZiblpwY205dWJXVnVkQ0JtY205dElDY3VMMnhwWW5NdlJXNTJhWEp2Ym0xbGJuUW5PMXh1YVcxd2IzSjBJRU52Ym1acFp5Qm1jbTl0SUNjdUwyeHBZbk12UTI5dVptbG5KenNnWEc1cGJYQnZjblFnVEdGdVozVmhaMlVnWm5KdmJTQW5MaTlzYVdKekwweGhibWQxWVdkbEp6c2dYRzVwYlhCdmNuUWdWR1Z0Y0d4aGRHVlFjbVYyYVdWM0lHWnliMjBnSnk0dmQybGtaMlYwY3k5VVpXMXdiR0YwWlZCeVpYWnBaWGNuT3lCY2JtbHRjRzl5ZENCUWNtVjJhV1YzVkhsd1pTQm1jbTl0SUNjdUwyVnVkR2wwYVdWekwxQnlaWFpwWlhkVWVYQmxKenNnWEc1cGJYQnZjblFnVUhKbGRtbGxkMUpsYzJsNlpYSWdabkp2YlNBbkxpOTNhV1JuWlhSekwxQnlaWFpwWlhkU1pYTnBlbVZ5SnpzZ1hHNXBiWEJ2Y25RZ1FYQndSbkpoYldVZ1puSnZiU0FuTGk5M2FXUm5aWFJ6TDBGd2NFWnlZVzFsSnpzZ1hHNXBiWEJ2Y25RZ1JuSmhiV1ZVYjJkbmJHVWdabkp2YlNBbkxpOTNhV1JuWlhSekwwWnlZVzFsVkc5bloyeGxKenRjYm1sdGNHOXlkQ0FuWW1GaVpXd3RjRzlzZVdacGJHd25PMXh1YVcxd2IzSjBJR1Z1WVdKc1pVRmliM1YwU1c1bWIzSnRZWFJwYjI0Z1puSnZiU0FuTGk5c2FXSnpMMEZpYjNWMEp6dGNibHh1THlvcVhHNGdLaUJUZEhsc1pVVmthWFF6SUMwZ1RXRnBiaUJCY0hBZ1JtbHNaVnh1SUNwY2JpQXFJRlJvYVhNZ2FYTWdkR2hsSUVwVElHVnVkSEo1SUhCdmFXNTBJR1p2Y2lCMGFHVWdVM1I1YkdWRlpHbDBNeUJ3Y205cVpXTjBMaUJKZENCM2FXeHNJSE4wWVhKMElIUm9aU0J5WlhGMWFYSmxaQ0JqYjI1MGNtOXNiR1Z5YzF4dUlDb2dZVzVrSUhkcFpHZGxkSE1nYVc0Z2IzSmtaWElnZEc4Z2MyVjBkWEFnZEdobElGVkpMaUJVYUdWeVpTQmhjbVVnZG1GeWFXOTFjeUJqYjI1MGNtOXNiR1Z5Y3lCMGFHRjBJSE5sY25abElHUnBabVpsY21WdWRGeHVJQ29nZG1sbGQzTWdKaUJzWVhsbGNuTWdiMllnVTNSNWJHVkZaR2wwTGlCVWFHVWdjbTkxZEdsdVp5QnBjeUJrYjI1bElIZHBkR2dnZEdobElGd2lVbTkxZEdWeVhDSWdiVzlrZFd4bElIZG9hV05vSUhkcGJHd2diRzloWkNCMGFHVmNiaUFxSUhKbGNYVnBjbVZrSUdOdmJuUnliMnhzWlhJZ2RYQnZiaUJ5WlhGMVpYTjBMbHh1SUNwY2JpQXFJRlJvYVhNZ1ptbHNaU0IzYVd4c0lHTnlaV0YwWlNCaElHNWxkeUIzYVc1a2IzY2diMkpxWldOMElIZHBkR2dnZEdobElHNWhiV1VnWENKVGRIbHNaVVZrYVhSY0lpNGdWWE5sSUhSb2FYTWdZWE1nZEdobElHNWhiV1Z6Y0dGalpWeHVJQ29nYjJKcVpXTjBJR1p2Y2lCMGFHVWdkMmh2YkdVZ1lYQndiR2xqWVhScGIyNGdhVzRnYjNKa1pYSWdkRzhnWVhadmFXUWdkR2hsSUdkc2IySmhiQ0J1WVcxbGMzQmhZMlVnY0c5c2JIVjBhVzl1TGx4dUlDcGNiaUFxSUU1aGJXVnNlU0JoWm5SbGNpQnBibWwwYVdGc2FYcGhkR2x2YmlCMGFHVnlaU0IzYVd4c0lHSmxJSFJvWlNCbWIyeHNiM2RwYm1jZ2FXNXpkR0Z1WTJWeklHRjJZV2xzWVdKc1pTQmhkQ0JoYm5rZ2RHbHRaVHBjYmlBcVhHNGdLaUFnSUMwZ2QybHVaRzkzTGxOMGVXeGxSV1JwZEM1RGIyNW1hV2NnUGo0Z1VISnZkbWxrWlhNZ1kyOXVabWxuZFhKaGRHbHZiaUJwYm1admNtMWhkR2x2Ymk1Y2JpQXFJQ0FnTFNCM2FXNWtiM2N1VTNSNWJHVkZaR2wwTGt4aGJtZDFZV2RsSUQ0K0lFTnZiblJoYVc1eklIUm9aU0J5WlhGMWFYSmxaQ0IwY21GdWMyeGhkR2x2Ym5NdVhHNGdLaUFnSUMwZ2QybHVaRzkzTGxOMGVXeGxSV1JwZEM1RVpXSjFaeUErUGlCVmMyVWdkR2hwY3lCM2FHVnVJR1JsWW5WbloybHVaeUIwYUdVZ1lYQndiR2xqWVhScGIyNHVYRzRnS2lBZ0lDMGdkMmx1Wkc5M0xsTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSWdQajRnVlhObElIUm9hWE1nYlc5a2RXeGxJR1p2Y2lCMllXeHBaR0YwYVc1bklHRnlaM1Z0Wlc1MElIWmhiSFZsYzF4dUlDcGNiaUFxSUVGa1pDQjBhR1VnWENKa1pXSjFaMXdpSUVkRlZDQndZWEpoYldWMFpYSWdkRzhnWlc1aFlteGxJSFJvWlNCa1pXSjFaeUJsYm5acGNtOXViV1Z1ZENCdlppQjBhR1VnU21GMllWTmpjbWx3ZENCamIyUmxMaUJKYmlCMGFHVmNiaUFxSUdSbFluVm5JR1Z1ZG1seWIyNXRaVzUwSUhSb1pTQjFibTFwYm1sbWFXVmtJR1pwYkdWeklHRnlaU0JzYjJGa1pXUWdZV3h2Ym1jZ2QybDBhQ0J6YjNWeVkyVWdiV0Z3Y3lCemJ5QjBhR0YwSUhsdmRTQmpZVzRnYzJWbFhHNGdLaUJoYm1RZ1pHVmlkV2NnZEdoeWIzVm5hQ0IwYUdVZ2IzSnBaMmx1WVd3Z1ptbHNaWE11WEc0Z0tseHVJQ29nVG05MGFXTmxPaUJVYUdVZ1NsTWdjMlZqZEdsdmJpQnZaaUJUZEhsc1pVVmthWFFnYlhWemRDQnViM1FnY21WeGRXbHlaU0JoYm5rZ1kyOXVabWxuZFhKaGRHbHZiaUIyWVd4MVpTQm1jbTl0SUhSb1pWeHVJQ29nVUVoUUlHWnBiR1Z6TGlCQmJHd2dkR2hsSUdOdmJtWnBaM1Z5WVhScGIyNGdiWFZ6ZENCaVpTQmtiMjVsSUhSb2NtOTFaMmdnUjBWVUlIQmhjbUZ0WlhSbGNuTXVJRlJvYVhNZ2JXRnJaWE1nZEdobElHRndjRnh1SUNvZ2JXOXlaU0JtYkdWNGFXSnNaU0JpWlhSM1pXVnVJR1JwWm1abGNtVnVkQ0J3Y205cVpXTjBjeUJoYm1RZ2RHVnRjR3hoZEdWekxseHVJQ3BjYmlBcUlFTnZibVpwWjNWeVlYUnBiMjRnUjBWVUlIQmhjbUZ0WlhSbGNuTTZYRzRnS2x4dUlDb2dJQ0F0SUhSbGJYQnNZWFJsSUQ0K0lGUm9aU0IwWlcxd2JHRjBaU0J1WVcxbElIUm9ZWFFnYVhNZ1kyOXVabWxuZFhKbFpDQW9jbVZ4ZFdseVpXUXBMbHh1SUNvZ0lDQXRJR3hoYm1jZ1BqNGdSR1ZtYVc1bGN5QjBhR1VnYzJWc1pXTjBaV1FnYVc1MFpYSm1ZV05sSUd4aGJtZDFZV2RsSUNodGRYTjBJR0psSUdGdUlFbFRUeUJqYjJSbElHeHBhMlVnWENKa1pWd2lJRzl5SUZ3aVpXNWNJaWtnTFNBb2IzQjBhVzl1WVd3cExseHVJQ29nSUNBdElHUmxZblZuSUQ0K0lGZHBiR3dnZEc5bloyeGxJSFJvWlNCa1pXSjFaeUJsYm5acGNtOXViV1Z1ZENCdlppQktZWFpoVTJOeWFYQjBJR052WkdVZ0tHOXdkR2x2Ym1Gc0tTNWNiaUFxWEc0Z0tpQkVkWEpwYm1jZ2RHaGxJR3hwWm1WamVXTnNaU0J2WmlCMGFHVWdZWEJ3YkdsallYUnBiMjRnYzI5dFpTQnpjR1ZqYVdacFl5QmxkbVZ1ZEhNZ1lYSmxJSFJ5YVdkblpYSmxaQ0J6YnlCMGFHRjBJSFpoY21sdmRYTWdiMkpxWldOMGMxeHVJQ29nWTJGdUlISmxZV04wSUdGalkyOXlaR2x1WjJ4NUxpQkpkQ0JwY3lCaVpYUjBaWElnZEc4Z1kyRjBZMmdnZEdobGMyVWdaWFpsYm5RZ1lYUWdkR2hsSUdKdlpIa2diM0lnZEdobElHUnZZM1Z0Wlc1MElHOWlhbVZqZENCcGJpQnZjbVJsY2x4dUlDb2dkRzhnWW1VZ2MzVnlaU0IwYUdGMElIUm9aWGtnZDJsc2JDQmlaU0J5WldGamFHRmliR1VnWm5KdmJTQmhibmtnY0d4aFkyVXVYRzRnS2x4dUlDb2dJQ0F0SUZOMGVXeGxSV1JwZEM1VGRIbHNaVU55WldGMFpXUWdQajRnVkhKcFoyZGxjbVZrSUdGbWRHVnlJR0VnYzNSNWJHVWdhWE1nWTNKbFlYUmxaQzVjYmlBcUlDQWdMU0JUZEhsc1pVVmthWFF1VTNSNWJHVlZjR1JoZEdWa0lENCtJRlJ5YVdkblpYSmxaQ0JoWm5SbGNpQmhJSE4wZVd4bElHbHpJSE5oZG1Wa0xseHVJQ29nSUNBdElGTjBlV3hsUldScGRDNVRkSGxzWlVSbGJHVjBaV1FnUGo0Z1ZISnBaMmRsY21Wa0lHRm1kR1Z5SUdFZ2MzUjViR1VnYVhNZ2NtVnRiM1psWkM1Y2JpQXFJQ0FnTFNCVGRIbHNaVVZrYVhRdVUzUjViR1ZCWTNScGRtRjBaV1FnUGo0Z1ZISnBaMmRsY21Wa0lHRm1kR1Z5SUdFZ2MzUjViR1VnYUdGeklHSmxaVzRnWVdOMGFYWmhkR1ZrTGx4dUlDb2dJQ0F0SUZOMGVXeGxSV1JwZEM1RGRYTjBiMjFUZEhsc1pYTkRhR0Z1WjJWa0lENCtJRlJ5YVdkblpYSmxaQ0JoWm5SbGNpQmpkWE4wYjIwZ2MzUjViR1Z6SUc5bUlHRWdjM1I1YkdVZ2QyVnlaU0JqYUdGdVoyVmtMbHh1SUNvZ0lDQXRJRk4wZVd4bFJXUnBkQzVEYjI1MGNtOXNiR1Z5U1c1cGRHbGhiR2w2WldRZ1BqNGdWSEpwWjJkbGNtVmtJR0ZtZEdWeUlHRWdjM1ZqWTJWemMyWjFiQ0JqYjI1MGNtOXNiR1Z5SUdsdWFYUnBZV3hwZW1GMGFXOXVMbHh1SUNvZ0lDQXRJRk4wZVd4bFJXUnBkQzVEYjI1MGNtOXNiR1Z5UkdWemRISnZlV1ZrSUQ0K0lGUnlhV2RuWlhKbFpDQmhablJsY2lCaElITjFZMk5sYzNObWRXd2dZMjl1ZEhKdmJHeGxjaUJrWlhOMGNuVmpkR2x2Ymk1Y2JpQXFJQ0FnTFNCVGRIbHNaVVZrYVhRdVZHVnliV2x1WVhSbFpDQStQaUJVY21sbloyVnlaV1FnWVdaMFpYSWdVM1I1YkdWRlpHbDBJR2x6SUhSbGNtMXBibUYwWldRZ1lXNWtJR0psWm05eVpTQjBhR1VnWW5KdmQzTmxjaUJ5WldScGNtVmpkR2x2YmlCMGJ5QjBhR1ZjYmlBcUlDQWdJQ0J3Y21WMmFXVjNJSEJoWjJVdVhHNGdLaUFnSUMwZ1UzUjViR1ZGWkdsMExsQnlaWFpwWlhkU1pXeHZZV1JsWkNBK1BpQlVjbWxuWjJWeVpXUWdZV1owWlhJZ2RHaGxJSFJsYlhCc1lYUmxJSEJ5WlhacFpYY2dhR0Z6SUdacGJtbHphR1ZrSUhKbGJHOWhaR2x1Wnk1Y2JpQXFMMXh1SkNobWRXNWpkR2x2YmlncElIdGNibHgwWEc1Y2RDZDFjMlVnYzNSeWFXTjBKenRjYmx4MFhHNWNkQzh2SUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFZ4dVhIUXZMeUJUUlZSVlVDQkZUbFpKVWs5T1RVVk9WRnh1WEhRdkx5QXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMWNibHgwWEc1Y2RFVnVkbWx5YjI1dFpXNTBMbk5sZEhWd0tDazdYRzVjZEZ4dVhIUXZMeUF0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmx4MEx5OGdTVTVKVkVsQlRFbGFSU0JCVUZCTVNVTkJWRWxQVGx4dVhIUXZMeUF0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmx4MFhHNWNkQzh2SUZObGRIVndJSFJvWlNCeVpYRjFhWEpsWkNCamIyNW1hV2QxY21GMGFXOXVMaUJjYmx4MFkyOXVjM1FnWTI5dVptbG5JRDBnZTF4dVhIUmNkSFpsY25OcGIyNDZJQ2N6TGpBbkxGeHVYSFJjZEdKaGMyVlZjbXc2SUNoM2FXNWtiM2N1Ykc5allYUnBiMjR1YjNKcFoybHVJQ3NnZDJsdVpHOTNMbXh2WTJGMGFXOXVMbkJoZEdodVlXMWxLUzV5WlhCc1lXTmxLQzljWEM5VGRIbHNaVVZrYVhRelhGd3ZMaW9rTHl3Z0p5OVRkSGxzWlVWa2FYUXpKeWtzWEc1Y2RGeDBjSEpsZG1sbGQxVnliRG9nZDJsdVpHOTNMbXh2WTJGMGFXOXVMbTl5YVdkcGJpQXJJSGRwYm1SdmR5NXNiMk5oZEdsdmJpNXdZWFJvYm1GdFpTNXlaWEJzWVdObEtDOWNYQzlUZEhsc1pVVmthWFF6WEZ3dkxpb2tMeXdnSnljcExGeHVYSFJjZEdWdWRtbHliMjV0Wlc1ME9pQlZjbXhRWVhKelpYSXVaMlYwVUdGeVlXMG9KMlJsWW5Wbkp5a2dJVDA5SUhWdVpHVm1hVzVsWkNBL0lDZGtaWFpsYkc5d2JXVnVkQ2NnT2lBbmNISnZaSFZqZEdsdmJpY3NYRzVjZEZ4MGJHRnVaM1ZoWjJWRGIyUmxPaUJWY214UVlYSnpaWEl1WjJWMFVHRnlZVzBvSjJ4aGJtY25LU0I4ZkNBblpHVW5MRnh1WEhSY2RIUm9aVzFsT2lCVmNteFFZWEp6WlhJdVoyVjBVR0Z5WVcwb0ozUm9aVzFsSnlrZ0lUMDlJSFZ1WkdWbWFXNWxaQ3hjYmx4MFhIUjBaVzF3YkdGMFpUb2dWWEpzVUdGeWMyVnlMbWRsZEZCaGNtRnRLQ2QwWlcxd2JHRjBaU2NwTEZ4dVhIUmNkSFJsYlhCVGRIbHNaVTVoYldVNklDZGZYM1JsYlhCdmNtRnllVjl6ZEhsc1pTY3NYRzVjZEZ4MGJHOWpZV3hUZEc5eVlXZGxRMjlzYjNKUVlXeGxkSFJsT2lBbmMzUjViR1ZmWldScGRGOWpiMnh2Y2w5d1lXeGxkSFJsSjF4dVhIUjlPMXh1WEhSY2JseDBhV1lnS0NGamIyNW1hV2N1ZEdWdGNHeGhkR1VwSUh0Y2JseDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVJsYlhCc1lYUmxJRWRGVkNCd1lYSmhiV1YwWlhJZ2FYTWdiV2x6YzJsdVp5d2djR3hsWVhObElHRndjR1Z1WkNCNWIzVnlJSEpsY1hWbGMzUWdWVkpNSUhkcGRHZ2dkR2hsSUNkY2JseDBYSFJjZENzZ0oxd2lKblJsYlhCc1lYUmxQVlJsYlhCc1lYUmxUbUZ0WlZ3aUxpY3BPMXh1WEhSOVhHNWNkRnh1WEhRdkx5QkRjbVZoZEdVZ2RHaGxJRk4wZVd4bFJXUnBkQ0J1WVcxbGMzQmhZMlVnYjJKcVpXTjBMaUJjYmx4MGQybHVaRzkzTGxOMGVXeGxSV1JwZENBOUlIdGNibHgwWEhSRGIyNW1hV2M2SUc1bGR5QkRiMjVtYVdjb1kyOXVabWxuS1N4Y2JseDBYSFJNWVc1bmRXRm5aVG9nYm1WM0lFeGhibWQxWVdkbEtDa3NYRzVjZEZ4MFJHVmlkV2M2SUVSbFluVm5MRnh1WEhSY2RGWmhiR2xrWVhSdmNqb2dWbUZzYVdSaGRHOXlYRzVjZEgwN1hHNWNkRnh1WEhRdkx5QkJaR1FnZEdobElGd2lRV0p2ZFhSY0lpQndjbTl3WlhKMGVTQnBiaUIwYUdVZ1UzUjViR1ZGWkdsMElHOWlhbVZqZENBb2IyNXNlU0JwYmlCa1pYWmxiRzl3YldWdWRDQmxiblpwY205dWJXVnVkQ2t1WEc1Y2RHVnVZV0pzWlVGaWIzVjBTVzVtYjNKdFlYUnBiMjRvVTNSNWJHVkZaR2wwS1R0Y2JseDBYRzVjZEM4dklFWmxkR05vSUdsdWFYUnBZV3dnWkdGMFlTQm1jbTl0SUhSb1pTQnpaWEoyWlhJdUlDQmNibHgwWTI5dWMzUWdjbVZ4ZFdWemRITWdQU0JiWEc1Y2RGeDBRMjl1Wm1sblFYQnBMbWRsZENncExGeHVYSFJjZEV4aGJtZDFZV2RsUVhCcExtZGxkRlJ5WVc1emJHRjBhVzl1Y3loVGRIbHNaVVZrYVhRdVEyOXVabWxuTG1kbGRDZ25iR0Z1WjNWaFoyVkRiMlJsSnlrcFhHNWNkRjA3SUZ4dVhIUmNibHgwTHk4Z1NXNXBkR2xoYkdsNlpTQjBhR1VnYldGcGJpQlZTU0JsYkdWdFpXNTBjeUIzYUdWdUlFRktRVmdnY21WeGRXVnpkSE1nWVhKbElHUnZibVV1SUZ4dVhIUWtMbmRvWlc0dVlYQndiSGtvSkN3Z2NtVnhkV1Z6ZEhNcFhHNWNkRngwTG1SdmJtVW9ablZ1WTNScGIyNG9LU0I3WEc1Y2RGeDBYSFJqYjI1emRDQm1hVzVoYkVOdmJtWnBaeUE5SUNRdVpYaDBaVzVrS0hSeWRXVXNJSHQ5TENCamIyNW1hV2NzSUdGeVozVnRaVzUwYzFzd1hWc3dYU2s3SUZ4dVhIUmNkRngwVTNSNWJHVkZaR2wwTGtOdmJtWnBaeUE5SUc1bGR5QkRiMjVtYVdjb1ptbHVZV3hEYjI1bWFXY3BPeUF2THlCU1pXbHVhWFJwWVd4cGVtVWdkMmwwYUNCbWFXNWhiQ0JqYjI1bWFXY2dkbUZzZFdWekxpQmNibHgwWEhSY2RGTjBlV3hsUldScGRDNU1ZVzVuZFdGblpTNWhaR1JUWldOMGFXOXVLQ2R6ZEhsc1pWOWxaR2wwSnl3Z1lYSm5kVzFsYm5Seld6RmRXekJkS1RzZ0x5OGdRV1JrSUhSeVlXNXpiR0YwYVc5dWN5QnpaV04wYVc5dUxseHVYSFJjZEZ4MFhHNWNkRngwWEhRdkx5QkRjbVZoZEdVZ1lTQlVaVzF3YkdGMFpWQnlaWFpwWlhjZ1NXNXpkR0Z1WTJWY2JseDBYSFJjZEdOdmJuTjBJSFJsYlhCc1lYUmxVSEpsZG1sbGR5QTlJRzVsZHlCVVpXMXdiR0YwWlZCeVpYWnBaWGNvSkNnbkxuTjBlV3hsTFdWa2FYUXRjSEpsZG1sbGR5Y3BMQ0JUZEhsc1pVVmthWFF1UTI5dVptbG5MbWRsZENnbmNISmxkbWxsZDFWeWJDY3BLVHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBMeThnUTNKbFlYUmxJR0VnVUhKbGRtbGxkMUpsYzJsNlpYSWdTVzV6ZEdGdVkyVmNibHgwWEhSY2RHTnZibk4wSUhCeVpYWnBaWGRTWlhOcGVtVnlJRDBnYm1WM0lGQnlaWFpwWlhkU1pYTnBlbVZ5S0NRb0p5NXdjbVYyYVdWM0xYSmxjMmw2WlhJbktTd2dkR1Z0Y0d4aGRHVlFjbVYyYVdWM0tUdGNibHgwWEhSY2RHTnZibk4wSUdSbGMydDBiM0JRY21WMmFXVjNJRDBnYm1WM0lGQnlaWFpwWlhkVWVYQmxLQ2s3WEc1Y2RGeDBYSFJqYjI1emRDQjBZV0pzWlhSUWNtVjJhV1YzVEdGdVpITmpZWEJsSUQwZ2JtVjNJRkJ5WlhacFpYZFVlWEJsS0NrN1hHNWNkRngwWEhSamIyNXpkQ0IwWVdKc1pYUlFjbVYyYVdWM1VHOXlkSEpoYVhRZ1BTQnVaWGNnVUhKbGRtbGxkMVI1Y0dVb0tUdGNibHgwWEhSY2RHTnZibk4wSUcxdlltbHNaVkJ5WlhacFpYZFFiM0owY21GcGRDQTlJRzVsZHlCUWNtVjJhV1YzVkhsd1pTZ3BPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUmtaWE5yZEc5d1VISmxkbWxsZDF4dVhIUmNkRngwWEhRdWMyVjBRMnhoYzNNb0oyUmxjMnQwYjNBbktWeHVYSFJjZEZ4MFhIUXVjMlYwVG1GdFpTaFRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZaR1Z6YTNSdmNGOXdjbVYyYVdWM0p5d2dKM04wZVd4bFgyVmthWFFuS1NsY2JseDBYSFJjZEZ4MExuTmxkRkJ5WlhacFpYZERjM01vZTF4dVhIUmNkRngwWEhSY2RIZHBaSFJvT2lBbk1UQXdKU2NzWEc1Y2RGeDBYSFJjZEZ4MGFHVnBaMmgwT2lBbk1UQXdKU2NzWEc1Y2RGeDBYSFJjZEZ4MGNHRmtaR2x1WnpvZ0p6QW5MRnh1WEhSY2RGeDBYSFJjZEhCdmMybDBhVzl1T2lBbkp5eGNibHgwWEhSY2RGeDBYSFIwYjNBNklDY25MRnh1WEhSY2RGeDBYSFJjZEd4bFpuUTZJQ2NuTEZ4dVhIUmNkRngwWEhSY2RHMWhjbWRwYmpvZ0p5Y3NYRzVjZEZ4MFhIUmNkRngwWW1GamEyZHliM1Z1WkRvZ0p5ZGNibHgwWEhSY2RGeDBmU2xjYmx4MFhIUmNkRngwTG5ObGRFbGpiMjVEYkdGemN5Z25abUVnWm1FdFpHVnphM1J2Y0NjcFhHNWNkRngwWEhSY2RDNXpaWFJTWlhOdmJIVjBhVzl1S0NjK0lERXlNREFuS1R0Y2JseDBYSFJjZEZ4dVhIUmNkRngwZEdGaWJHVjBVSEpsZG1sbGQweGhibVJ6WTJGd1pWeHVYSFJjZEZ4MFhIUXVjMlYwUTJ4aGMzTW9KM1JoWW14bGRDQnNZVzVrYzJOaGNHVW5LVnh1WEhSY2RGeDBYSFF1YzJWMFRtRnRaU2hUZEhsc1pVVmthWFF1VEdGdVozVmhaMlV1ZEhKaGJuTnNZWFJsS0NkdmNIUnBiMjVmZEdGaWJHVjBYM0J5WlhacFpYZGZiR0Z1WkhOallYQmxKeXdnSjNOMGVXeGxYMlZrYVhRbktTbGNibHgwWEhSY2RGeDBMbk5sZEZCeVpYWnBaWGREYzNNb2UxeHVYSFJjZEZ4MFhIUmNkSGRwWkhSb09pQW5NVEF5TkhCNEp5eGNibHgwWEhSY2RGeDBYSFJvWldsbmFIUTZJQ2MzTmpod2VDY3NYRzVjZEZ4MFhIUmNkRngwY0dGa1pHbHVaem9nSnpJd2NIZ2dOemh3ZUNBeU1YQjRJREkxY0hnbkxGeHVYSFJjZEZ4MFhIUmNkSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dVhIUmNkRngwWEhSY2RIUnZjRG9nSnpVd0pTY3NYRzVjZEZ4MFhIUmNkRngwYkdWbWREb2dKelV3SlNjc1hHNWNkRngwWEhSY2RGeDBiV0Z5WjJsdU9pQW5MVFF3TlhCNElEQWdNQ0F0TnpJemNIZ25MRnh1WEhSY2RGeDBYSFJjZEdKaFkydG5jbTkxYm1RNklDZDFjbXdvSnlBcklGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2RpWVhObFZYSnNKeWxjYmx4MFhIUmNkRngwWEhRcklDY3ZZWE56WlhSekwybHRZV2RsY3k5MFlXSnNaWFF0YkdGdVpITmpZWEJsTFhCeVpYWnBaWGN0Wm5KaGJXVXVjM1puS1NBd0pTQXdKU0F2SUdOdmJuUmhhVzRnYm04dGNtVndaV0YwSjF4dVhIUmNkRngwWEhSOUtWeHVYSFJjZEZ4MFhIUXVjMlYwU1dOdmJrTnNZWE56S0NkbVlTQm1ZUzEwWVdKc1pYUWdabUV0Y205MFlYUmxMVEkzTUNjcFhHNWNkRngwWEhSY2RDNXpaWFJTWlhOdmJIVjBhVzl1S0NjeE1ESTBlRGMyT0NjcE8xeHVYSFJjZEZ4MFhHNWNkRngwWEhSMFlXSnNaWFJRY21WMmFXVjNVRzl5ZEhKaGFYUmNibHgwWEhSY2RGeDBMbk5sZEVOc1lYTnpLQ2QwWVdKc1pYUWdjRzl5ZEhKaGFYUW5LVnh1WEhSY2RGeDBYSFF1YzJWMFRtRnRaU2hUZEhsc1pVVmthWFF1VEdGdVozVmhaMlV1ZEhKaGJuTnNZWFJsS0NkdmNIUnBiMjVmZEdGaWJHVjBYM0J5WlhacFpYZGZjRzl5ZEhKaGFYUW5MQ0FuYzNSNWJHVmZaV1JwZENjcEtWeHVYSFJjZEZ4MFhIUXVjMlYwVUhKbGRtbGxkME56Y3loN1hHNWNkRngwWEhSY2RGeDBkMmxrZEdnNklDYzNOamh3ZUNjc1hHNWNkRngwWEhSY2RGeDBhR1ZwWjJoME9pQW5NVEF5TkhCNEp5eGNibHgwWEhSY2RGeDBYSFJ3WVdSa2FXNW5PaUFuTWpSd2VDQXlOWEI0SURjMWNIZ25MRnh1WEhSY2RGeDBYSFJjZEhCdmMybDBhVzl1T2lBbllXSnpiMngxZEdVbkxGeHVYSFJjZEZ4MFhIUmNkSFJ2Y0RvZ0p6VXdKU2NzWEc1Y2RGeDBYSFJjZEZ4MGJHVm1kRG9nSnpVd0pTY3NYRzVjZEZ4MFhIUmNkRngwYldGeVoybHVPaUFuTFRRMU5YQjRJREFnTUNBdE5UUTBjSGduTEZ4dVhIUmNkRngwWEhSY2RHSmhZMnRuY205MWJtUTZJQ2QxY213b0p5QXJJRk4wZVd4bFJXUnBkQzVEYjI1bWFXY3VaMlYwS0NkaVlYTmxWWEpzSnlsY2JseDBYSFJjZEZ4MFhIUXJJQ2N2WVhOelpYUnpMMmx0WVdkbGN5OTBZV0pzWlhRdGNHOXlkSEpoYVhRdGNISmxkbWxsZHkxbWNtRnRaUzV6ZG1jcElEVXdKU0F3SlNBdklHTnZiblJoYVc0Z2JtOHRjbVZ3WldGMEoxeHVYSFJjZEZ4MFhIUjlLVnh1WEhSY2RGeDBYSFF1YzJWMFNXTnZia05zWVhOektDZG1ZU0JtWVMxMFlXSnNaWFFuS1Z4dVhIUmNkRngwWEhRdWMyVjBVbVZ6YjJ4MWRHbHZiaWduTnpZNGVERXdNalFuS1R0Y2JseDBYSFJjZEZ4dVhIUmNkRngwYlc5aWFXeGxVSEpsZG1sbGQxQnZjblJ5WVdsMFhHNWNkRngwWEhSY2RDNXpaWFJEYkdGemN5Z25iVzlpYVd4bElIQnZjblJ5WVdsMEp5bGNibHgwWEhSY2RGeDBMbk5sZEU1aGJXVW9VM1I1YkdWRlpHbDBMa3hoYm1kMVlXZGxMblJ5WVc1emJHRjBaU2duYjNCMGFXOXVYMjF2WW1sc1pWOXdjbVYyYVdWM1gzQnZjblJ5WVdsMEp5d2dKM04wZVd4bFgyVmthWFFuS1NsY2JseDBYSFJjZEZ4MExuTmxkRkJ5WlhacFpYZERjM01vZTF4dVhIUmNkRngwWEhSY2RIZHBaSFJvT2lBbk16YzFjSGduTEZ4dVhIUmNkRngwWEhSY2RHaGxhV2RvZERvZ0p6WXlOM0I0Snl4Y2JseDBYSFJjZEZ4MFhIUndZV1JrYVc1bk9pQW5OVFJ3ZUNBeU5YQjRJRGMxY0hnbkxGeHVYSFJjZEZ4MFhIUmNkSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dVhIUmNkRngwWEhSY2RIUnZjRG9nSnpVd0pTY3NYRzVjZEZ4MFhIUmNkRngwYkdWbWREb2dKelV3SlNjc1hHNWNkRngwWEhSY2RGeDBiV0Z5WjJsdU9pQW5MVE0zT0hCNElEQWdNQ0F0TXpjeWNIZ25MRnh1WEhSY2RGeDBYSFJjZEdKaFkydG5jbTkxYm1RNklDZDFjbXdvSnlBcklGTjBlV3hsUldScGRDNURiMjVtYVdjdVoyVjBLQ2RpWVhObFZYSnNKeWxjYmx4MFhIUmNkRngwWEhRcklDY3ZZWE56WlhSekwybHRZV2RsY3k5dGIySnBiR1V0Y0c5eWRISmhhWFF0Y0hKbGRtbGxkeTFtY21GdFpTNXpkbWNwSURVd0pTQXdKU0F2SUdOdmJuUmhhVzRnYm04dGNtVndaV0YwSjF4dVhIUmNkRngwWEhSOUtWeHVYSFJjZEZ4MFhIUXVjMlYwU1dOdmJrTnNZWE56S0NkbVlTQm1ZUzF0YjJKcGJHVW5LVnh1WEhSY2RGeDBYSFF1YzJWMFVtVnpiMngxZEdsdmJpZ25NemMxZURZeU55Y3BPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUndjbVYyYVdWM1VtVnphWHBsY2x4dVhIUmNkRngwWEhRdVlXUmtVSEpsZG1sbGQxUjVjR1VvYlc5aWFXeGxVSEpsZG1sbGQxQnZjblJ5WVdsMEtWeHVYSFJjZEZ4MFhIUXVZV1JrVUhKbGRtbGxkMVI1Y0dVb2RHRmliR1YwVUhKbGRtbGxkMUJ2Y25SeVlXbDBLVnh1WEhSY2RGeDBYSFF1WVdSa1VISmxkbWxsZDFSNWNHVW9kR0ZpYkdWMFVISmxkbWxsZDB4aGJtUnpZMkZ3WlNsY2JseDBYSFJjZEZ4MExtRmtaRkJ5WlhacFpYZFVlWEJsS0dSbGMydDBiM0JRY21WMmFXVjNLVHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBMeThnUTNKbFlYUmxJR0Z1SUVGd2NFWnlZVzFsSUNZZ1JuSmhiV1ZVYjJkbmJHVWdTVzV6ZEdGdVkyVmNibHgwWEhSY2RHTnZibk4wSUdaeVlXMWxWRzluWjJ4bElEMGdibVYzSUVaeVlXMWxWRzluWjJ4bEtDUW9KeTV6ZEhsc1pTMWxaR2wwTFdaeVlXMWxKeWtzSUNRb0p5NW1jbUZ0WlMxMGIyZG5iR1VuS1NrN1hHNWNkRngwWEhSamIyNXpkQ0JoY0hCR2NtRnRaU0E5SUc1bGR5QkJjSEJHY21GdFpTZ2tLQ2N1YzNSNWJHVXRaV1JwZEMxbWNtRnRaU2NwTENCd2NtVjJhV1YzVW1WemFYcGxjaXdnWm5KaGJXVlViMmRuYkdVcE8xeHVYSFJjZEZ4MFlYQndSbkpoYldVdWFXNXBkR2xoYkdsNlpTZ3BPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUXZMeUJNYjJGa0lIUm9aU0JOZVZOMGVXeGxjMVpwWlhjZ1kyOXVkSEp2Ykd4bGNpNGdYRzVjZEZ4MFhIUlNiM1YwWlhJdWJHOWhaQ2duVFhsVGRIbHNaWE5XYVdWM0p5azdYRzVjZEZ4MGZTazdYRzU5S1R0Y2JpSXNJaThxSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0WEc0Z0lFRndjRVp5WVcxbExtcHpJREl3TVRrdE1EWXRNRGRjYmlBZ1IyRnRZbWx2SUVkdFlraGNiaUFnYUhSMGNEb3ZMM2QzZHk1bllXMWlhVzh1WkdWY2JpQWdRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTVJRWRoYldKcGJ5QkhiV0pJWEc0Z0lGSmxiR1ZoYzJWa0lIVnVaR1Z5SUhSb1pTQkhUbFVnUjJWdVpYSmhiQ0JRZFdKc2FXTWdUR2xqWlc1elpTQW9WbVZ5YzJsdmJpQXlLVnh1SUNCYmFIUjBjRG92TDNkM2R5NW5iblV1YjNKbkwyeHBZMlZ1YzJWekwyZHdiQzB5TGpBdWFIUnRiRjFjYmlBZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwcUwxeHVYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1THlvcVhHNGdLaUJCY0hCc2FXTmhkR2x2YmlCR2NtRnRaU0JEYkdGemMxeHVJQ3BjYmlBcUlGUm9hWE1nWTJ4aGMzTWdkMmxzYkNCcGJtbDBhV0ZzYVhwbElIUm9aU0J0WVdsdUlGTjBlV3hsUldScGRDQm1jbUZ0WlN3Z2JXRnBibXg1SUhSb1pTQmpiMjF0YjI0Z1kyOXRjRzl1Wlc1MGN5QjBhR0YwWEc0Z0tpQmhjbVVnYzJoaGNtVmtJSFJvY205MVoyZ2daWFpsY25rZ2RtbGxkeUJ2WmlCMGFHVWdaWGhsWTNWMGFXOXVJR3hwWm1WamVXTnNaUzVjYmlBcUwxeHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nUVhCd1JuSmhiV1VnZTF4dVhIUXZLaXBjYmx4MElDb2dRMnhoYzNNZ1EyOXVjM1J5ZFdOMGIzSWdYRzVjZENBcUlGeHVYSFFnS2lCQWNHRnlZVzBnZTJwUmRXVnllWDBnSkhSaGNtZGxkRnh1WEhRZ0tpQkFjR0Z5WVcwZ2UxQnlaWFpwWlhkU1pYTnBlbVZ5ZlNCd2NtVjJhV1YzVW1WemFYcGxjbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UwWnlZVzFsVkc5bloyeGxmU0JtY21GdFpWUnZaMmRzWlZ4dVhIUWdLaTljYmx4MFkyOXVjM1J5ZFdOMGIzSW9KSFJoY21kbGRDd2djSEpsZG1sbGQxSmxjMmw2WlhJc0lHWnlZVzFsVkc5bloyeGxLU0I3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2drZEdGeVoyVjBLVHRjYmx4MFhIUlRkSGxzWlVWa2FYUXVWbUZzYVdSaGRHOXlMbWx6VDJKcVpXTjBLSEJ5WlhacFpYZFNaWE5wZW1WeUtUdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpUMkpxWldOMEtHWnlZVzFsVkc5bloyeGxLVHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQkJjSEJzYVdOaGRHbHZiaUJHY21GdFpTQlRaV3hsWTNSdmNseHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTJwUmRXVnllWDFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TGlSMFlYSm5aWFFnUFNBa2RHRnlaMlYwTzF4dVhIUmNkRnh1WEhSY2RDOHFLbHh1WEhSY2RDQXFJRkJ5WlhacFpYY2dVbVZ6YVhwbGNpQkpibk4wWVc1alpWeHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTFCeVpYWnBaWGRTWlhOcGVtVnlmVnh1WEhSY2RDQXFMMXh1WEhSY2RIUm9hWE11Y0hKbGRtbGxkMUpsYzJsNlpYSWdQU0J3Y21WMmFXVjNVbVZ6YVhwbGNqdGNibHgwWEhSY2JseDBYSFF2S2lwY2JseDBYSFFnS2lCR2NtRnRaU0JVYjJkbmJHVWdTVzV6ZEdGdVkyVmNibHgwWEhRZ0tseHVYSFJjZENBcUlFQjBlWEJsSUh0R2NtRnRaVlJ2WjJkc1pYMWNibHgwWEhRZ0tpOWNibHgwWEhSMGFHbHpMbVp5WVcxbFZHOW5aMnhsSUQwZ1puSmhiV1ZVYjJkbmJHVTdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCSmJtbDBhV0ZzYVhwbElIUm9aU0JwYm5OMFlXNWpaUzVjYmx4MElDcGNibHgwSUNvZ1ZHaHBjeUJ0WlhSb2IyUWdkMmxzYkNCaWFXNWtJSFJvWlNCeVpYRjFhWEpsWkNCbGRtVnVkQ0JvWVc1a2JHVnljeUJoYm1RZ2MyVjBkWEFnZEdobElISmxjM0JsWTNScGRtVWdkR1Z0Y0d4aGRHVmNibHgwSUNvZ1ptOXlJSFJvWlNCaGNIQWdabkpoYldVdVhHNWNkQ0FxTDF4dVhIUnBibWwwYVdGc2FYcGxLQ2tnZTF4dVhIUmNkSFJvYVhNdVpuSmhiV1ZVYjJkbmJHVXVhVzVwZEdsaGJHbDZaU2dwTzF4dVhIUmNkSFJvYVhNdWNISmxkbWxsZDFKbGMybDZaWEl1YVc1cGRHbGhiR2w2WlNncE8xeHVYSFI5WEc1OUlpd2lMeW9nTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzFjYmlBZ1EyOXNiM0p3YVdOclpYSXVhbk1nTWpBeE9TMHdOaTB3TjF4dUlDQkhZVzFpYVc4Z1IyMWlTRnh1SUNCb2RIUndPaTh2ZDNkM0xtZGhiV0pwYnk1a1pWeHVJQ0JEYjNCNWNtbG5hSFFnS0dNcElESXdNVGtnUjJGdFltbHZJRWR0WWtoY2JpQWdVbVZzWldGelpXUWdkVzVrWlhJZ2RHaGxJRWRPVlNCSFpXNWxjbUZzSUZCMVlteHBZeUJNYVdObGJuTmxJQ2hXWlhKemFXOXVJRElwWEc0Z0lGdG9kSFJ3T2k4dmQzZDNMbWR1ZFM1dmNtY3ZiR2xqWlc1elpYTXZaM0JzTFRJdU1DNW9kRzFzWFZ4dUlDQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTb3ZYRzVjYmx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0dktpcGNiaUFxSUVOdmJHOXljR2xqYTJWeUlGZHBaR2RsZEZ4dUlDcGNiaUFxSUZSb1pTQjFjMlZ5SUdOaGJpQnpaV3hsWTNRZ1lTQjJZV3gxWlNCbWNtOXRJSFJvWlNCamIyeHZjbkJwWTJ0bGNpQnZjaUJsYm5SbGNpQm9hWE1nYjNkdUlITjBjbWx1WnlCM2FHbGphQ0J0ZFhOMElHNXZkQ0JpWlNCMllXeHBaR0YwWldSY2JpQXFJR0psWTJGMWMyVWdhWFFnWTJGdUlHRnNjMjhnWW1VZ1lTQlRRVk5USUcxcGVHbHVJRzl5SUhOdmJXVjBhR2x1WnlCemFXMXBiR0Z5TGx4dUlDb3ZYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQmpiR0Z6Y3lCRGIyeHZjbkJwWTJ0bGNpQjdYRzVjZEM4cUtseHVYSFFnS2lCRGJHRnpjeUJEYjI1emRISjFZM1J2Y2x4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxTmxkSFJwYm1kOUlHVnVkR2wwZVZ4dVhIUWdLaUJBY0dGeVlXMGdlMU4wZVd4bFEyOXVabWxuZFhKaGRHbHZibjBnYzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1WEc1Y2RDQXFMMXh1WEhSamIyNXpkSEoxWTNSdmNpaGxiblJwZEhrc0lITjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpa2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5QWW1wbFkzUW9aVzUwYVhSNUtUdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpUMkpxWldOMEtITjBlV3hsUTI5dVptbG5kWEpoZEdsdmJpazdYRzVjZEZ4MFhHNWNkRngwTHlvcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTFObGRIUnBibWQ5WEc1Y2RGeDBJQ292WEc1Y2RGeDBkR2hwY3k1bGJuUnBkSGtnUFNCbGJuUnBkSGs3WEc1Y2RGeDBYRzVjZEZ4MEx5b3FYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UxTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJuMWNibHgwWEhRZ0tpOWNibHgwWEhSMGFHbHpMbk4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaUE5SUhOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ymp0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRWx1YVhScFlXeHBlbVVnZEdobElIZHBaR2RsZEM1Y2JseDBJQ292WEc1Y2RHbHVhWFJwWVd4cGVtVW9LU0I3WEc1Y2RGeDBZMjl1YzNRZ1kyOXNiM0lnUFNCMGFHbHpMbVZ1ZEdsMGVTNW5aWFJXWVd4MVpTZ3BPMXh1WEhSY2RHTnZibk4wSUNSbGJHVnRaVzUwSUQwZ0pDZ25MbVZrYVhRdGIzQjBhVzl1Y3kxamIyNTBZV2x1WlhJbktTNW1hVzVrS0Njakp5QXJJSFJvYVhNdVpXNTBhWFI1TG1kbGRFNWhiV1VvS1NrN1hHNWNkRngwWTI5dWMzUWdKSEJ5WlhacFpYY2dQU0FrWld4bGJXVnVkQzV3WVhKbGJuUnpLQ2N1Wm05eWJTMW5jbTkxY0NjcExtWnBibVFvSnk1amIyeHZjaTF3Y21WMmFXVjNKeWs3WEc1Y2RGeDBYRzVjZEZ4MEpIQnlaWFpwWlhjdWMzQmxZM1J5ZFcwb2UxeHVYSFJjZEZ4MFkyOXNiM0k2SUhSb2FYTXVaVzUwYVhSNUxtZGxkRlpoYkhWbEtDa3NYRzVjZEZ4MFhIUndjbVZtWlhKeVpXUkdiM0p0WVhRNklDZG9aWGduTEZ4dVhIUmNkRngwWTJ4cFkydHZkWFJHYVhKbGMwTm9ZVzVuWlRvZ2RISjFaU3hjYmx4MFhIUmNkSE5vYjNkSmJtbDBhV0ZzT2lCMGNuVmxMRnh1WEhSY2RGeDBjMmh2ZDBGc2NHaGhPaUIwY25WbExGeHVYSFJjZEZ4MGMyaHZkMUJoYkdWMGRHVTZJSFJ5ZFdVc1hHNWNkRngwWEhSemFHOTNTVzV3ZFhRNklIUnlkV1VzWEc1Y2RGeDBYSFJqYUc5dmMyVlVaWGgwT2lBblQwc25MRnh1WEhSY2RGeDBZMkZ1WTJWc1ZHVjRkRG9nVTNSNWJHVkZaR2wwTGt4aGJtZDFZV2RsTG5SeVlXNXpiR0YwWlNnbmIzQjBhVzl1WDJOaGJtTmxiQ2NzSUNkemRIbHNaVjlsWkdsMEp5a3NYRzVjZEZ4MFhIUndZV3hsZEhSbE9pQmJYU3hjYmx4MFhIUmNkRzFoZUZObGJHVmpkR2x2YmxOcGVtVTZJREl3TEZ4dVhIUmNkRngwWTI5dWRHRnBibVZ5UTJ4aGMzTk9ZVzFsT2lBblkyOXNiM0p3YVdOclpYSXRkMmxrWjJWMEp5eGNibHgwWEhSY2RHeHZZMkZzVTNSdmNtRm5aVXRsZVRvZ1UzUjViR1ZGWkdsMExrTnZibVpwWnk1blpYUW9KMnh2WTJGc1UzUnZjbUZuWlVOdmJHOXlVR0ZzWlhSMFpTY3BMRnh1WEhSY2RGeDBZMmhoYm1kbE9pQmpiMnh2Y2lBOVBpQjdYRzVjZEZ4MFhIUmNkQ1JsYkdWdFpXNTBMblpoYkNoamIyeHZjaWt1ZEhKcFoyZGxjaWduWTJoaGJtZGxKeWs3WEc1Y2RGeDBYSFJjZEhSb2FYTXVYM1Z3WkdGMFpWQnlaWFpwWlhkRGIyeHZjaWdrY0hKbGRtbGxkeXdnWTI5c2IzSXVkRzlUZEhKcGJtY29LU2s3WEc1Y2RGeDBYSFI5WEc1Y2RGeDBmU2s3WEc1Y2RGeDBYRzVjZEZ4MGRHaHBjeTVmZFhCa1lYUmxVSEpsZG1sbGQwTnZiRzl5S0NSd2NtVjJhV1YzTENCamIyeHZjaWs3WEc1Y2RGeDBYRzVjZEZ4MEpHVnNaVzFsYm5RdVkyaGhibWRsS0NncElEMCtJSHRjYmx4MFhIUmNkR3hsZENCbWIzVnVaQ0E5SUdaaGJITmxPMXh1WEhSY2RGeDBYRzVjZEZ4MFhIUXZMeUJWY0dSaGRHVWdkR2hsSUhOMGVXeGxJR052Ym1acFozVnlZWFJwYjI0dVhHNWNkRngwWEhRa0xtVmhZMmdvZEdocGN5NXpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVaMlYwVTJWMGRHbHVaM01vS1N3Z0tHbHVaR1Y0TENCelpYUjBhVzVuS1NBOVBpQjdYRzVjZEZ4MFhIUmNkQ1F1WldGamFDaHpaWFIwYVc1bkxtZGxkRVZ1ZEhKcFpYTW9LU3dnS0dsdVpHVjRMQ0JsYm5SeWVTa2dQVDRnZTF4dVhIUmNkRngwWEhSY2RHbG1JQ2hsYm5SeWVTNW5aWFJPWVcxbEtDa2dQVDA5SUhSb2FYTXVaVzUwYVhSNUxtZGxkRTVoYldVb0tTa2dlMXh1WEhSY2RGeDBYSFJjZEZ4MFpXNTBjbmt1YzJWMFZtRnNkV1VvSkdWc1pXMWxiblF1ZG1Gc0tDa3BPMXh1WEhSY2RGeDBYSFJjZEZ4MFptOTFibVFnUFNCMGNuVmxPMXh1WEhSY2RGeDBYSFJjZEZ4MGNtVjBkWEp1SUdaaGJITmxPMXh1WEhSY2RGeDBYSFJjZEgxY2JseDBYSFJjZEZ4MGZTazdYRzVjZEZ4MFhIUmNkRnh1WEhSY2RGeDBYSFJwWmlBb1ptOTFibVFwSUh0Y2JseDBYSFJjZEZ4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEc1Y2RGeDBYSFJjZEgxY2JseDBYSFJjZEgwcE8xeHVYSFJjZEZ4MFhHNWNkRngwWEhSMGFHbHpMbDkxY0dSaGRHVlFjbVYyYVdWM1EyOXNiM0lvSkhCeVpYWnBaWGNzSUNSbGJHVnRaVzUwTG5aaGJDZ3BLVHRjYmx4MFhIUjlLVHRjYmx4MFhIUmNibHgwWEhRdkx5QkJaR1FnYzJWMGRHbHVaeUIwWVdkeklIUnZJSFJvWlNCd1lYSmxiblFnWENJdVptOXliUzFuY205MWNGd2lJR1ZzWlcxbGJuUXVYRzVjZEZ4MGFXWWdLSFJvYVhNdVpXNTBhWFI1TG1kbGRGUmhaM01vS1NBaFBUMGdiblZzYkNrZ2UxeHVYSFJjZEZ4MFkyOXVjM1FnZEdGbmN5QTlJSFJvYVhNdVpXNTBhWFI1TG1kbGRGUmhaM01vS1M1cWIybHVLQ2Q4SnlrN1hHNWNkRngwWEhRa1pXeGxiV1Z1ZEM1d1lYSmxiblJ6S0NjdVptOXliUzFuY205MWNDY3BMbUYwZEhJb0oyUmhkR0V0ZEdGbmN5Y3NJSFJoWjNNcE8xeHVYSFJjZEgxY2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRlZ3WkdGMFpTQjBhR1VnWW1GamEyZHliM1Z1WkNCamIyeHZjaUJ2WmlCMGFHVWdjMlZzWldOMGIzSXVYRzVjZENBcVhHNWNkQ0FxSUZSb2FYTWdiV1YwYUc5a0lIZHBiR3dnYzJWMElIUm9aU0J1WlhjZ1kyOXNiM0lnYjNJZ1pHbHpjR3hoZVNCMGFHVWdibTh0Y0hKbGRtbGxkeUJwWTI5dUlHbG1JSFJvWlNCamIyeHZjbHh1WEhRZ0tpQmpZVzV1YjNRZ1ltVWdaR2x5WldOMGJIa2djbVZ1WkdWeVpXUWdLR1V1Wnk0Z2FYTWdZU0JUUVZOVElHTnZiVzFoYm1RcExseHVYSFFnS2x4dVhIUWdLaUJBY0dGeVlXMGdlMnBSZFdWeWVYMGdKSEJ5WlhacFpYZGNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUdOdmJHOXlYRzVjZENBcVhHNWNkQ0FxSUVCd2NtbDJZWFJsWEc1Y2RDQXFMMXh1WEhSZmRYQmtZWFJsVUhKbGRtbGxkME52Ykc5eUtDUndjbVYyYVdWM0xDQmpiMnh2Y2lrZ2UxeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlBZbXBsWTNRb0pIQnlaWFpwWlhjcE8xeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlRkSEpwYm1jb1kyOXNiM0lwTzF4dVhIUmNkRnh1WEhSY2RHbG1JQ2hqYjJ4dmNpNXRZWFJqYUNndktDTjhjbWRpZkhKblltRXBMMmxuS1NrZ2UxeHVYSFJjZEZ4MEpIQnlaWFpwWlhjdWFIUnRiQ2duSnlrN1hHNWNkRngwWEhRa2NISmxkbWxsZHk1amMzTW9KMkpoWTJ0bmNtOTFibVF0WTI5c2IzSW5MQ0JqYjJ4dmNpazdYRzVjZEZ4MGZTQmxiSE5sSUh0Y2JseDBYSFJjZENSd2NtVjJhV1YzTG1oMGJXd29KenhwSUdOc1lYTnpQVndpWm1FZ1ptRXRZbUZ1WENJK1BDOXBQaWNwTzF4dVhIUmNkRngwSkhCeVpYWnBaWGN1WTNOektDZGlZV05yWjNKdmRXNWtMV052Ykc5eUp5d2dKeU5HUmtZbktUc2dMeThnU0dsa1pTQjBhR1VnZEdWNGRDQm1jbTl0SUdKbGFHbHVaQ0IwYUdVZ1kyOXNiM0l0Y0hKbGRtbGxkeUJsYkdWdFpXNTBMbHh1WEhSY2RIMWNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVkbGRDQlhhV1JuWlhRZ1NGUk5URnh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0VGRISnBibWQ5WEc1Y2RDQXFMMXh1WEhSblpYUklkRzFzS0NrZ2UxeHVYSFJjZEdOdmJuTjBJSFJsYlhCc1lYUmxJRDBnSkNnbkkzZHBaR2RsZEMxamIyeHZjbkJwWTJ0bGNpMTBaVzF3YkdGMFpTY3BMbWgwYld3b0tUdGNibHgwWEhSeVpYUjFjbTRnVFhWemRHRmphR1V1Y21WdVpHVnlLSFJsYlhCc1lYUmxMQ0IwYUdsekxtVnVkR2wwZVNrN1hHNWNkSDFjYm4xY2JpSXNJaThxSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0WEc0Z0lFWnBiSFJsY2tKdmVDNXFjeUF5TURFNUxUQTJMVEEzWEc0Z0lFZGhiV0pwYnlCSGJXSklYRzRnSUdoMGRIQTZMeTkzZDNjdVoyRnRZbWx2TG1SbFhHNGdJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhPU0JIWVcxaWFXOGdSMjFpU0Z4dUlDQlNaV3hsWVhObFpDQjFibVJsY2lCMGFHVWdSMDVWSUVkbGJtVnlZV3dnVUhWaWJHbGpJRXhwWTJWdWMyVWdLRlpsY25OcGIyNGdNaWxjYmlBZ1cyaDBkSEE2THk5M2QzY3VaMjUxTG05eVp5OXNhV05sYm5ObGN5OW5jR3d0TWk0d0xtaDBiV3hkWEc0Z0lDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdEtpOWNibHh1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYmk4cUtseHVJQ29nVjJsa1oyVjBJRU52Ym5OMGNuVmpkRzl5WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRxVVhWbGNubDlJQ1IwWVhKblpYUWdWR2hsSUhObGJHVmpkRzl5SUc5bUlIUm9aU0JsYkdWdFpXNTBJSFJvWVhRZ2QybHNiQ0JqYjI1MFlXbHVJSFJvWlNCM2FXUm5aWFF1WEc0Z0tpQkFjR0Z5WVcwZ2UycFJkV1Z5ZVgwZ0pITmxkSFJwYm1kelRHbHpkQ0JVYUdVZ1BIVnNQaUJsYkdWdFpXNTBJSFJvWVhRZ1kyOXVkR0ZwYm5NZ2RHaGxJR3hwYzNRZ2IyWWdkR2hsSUhObGRIUnBibWR6TGx4dUlDb2dRSEJoY21GdElIdHFVWFZsY25sOUlDUmpiMjUwWVdsdVpYSWdWR2hsSUhCaGNtVnVkQ0JqYjI1MFlXbHVaWElnWld4bGJXVnVkQ3dnZDJobGNtVWdkR2hsSUZCbGNtWmxZM1JUWTNKdmJHeGlZWElnYVhNZ1ltOTFibVF1WEc0Z0tpQkFjR0Z5WVcwZ2UxTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJuMGdjM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVJRU52Ym5SaGFXNXpJSFJvWlNCemRIbHNaU0JqYjI1bWFXZDFjbUYwYVc5dUlHUmhkR0V1WEc0Z0tpOWNibVY0Y0c5eWRDQmtaV1poZFd4MElHTnNZWE56SUVacGJIUmxja0p2ZUNCN1hHNWNkQzhxS2x4dVhIUWdLaUJEYkdGemN5QkRiMjV6ZEhKMVkzUnZjbHh1WEhRZ0tpQmNibHgwSUNvZ1FIQmhjbUZ0SUh0cVVYVmxjbmw5SUNSMFlYSm5aWFJjYmx4MElDb2dRSEJoY21GdElIdHFVWFZsY25sOUlDUnpaWFIwYVc1bmMweHBjM1JjYmx4MElDb2dRSEJoY21GdElIdHFVWFZsY25sOUlDUmpiMjUwWVdsdVpYSmNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRIbHNaVU52Ym1acFozVnlZWFJwYjI1OUlITjBlV3hsUTI5dVptbG5kWEpoZEdsdmJseHVYSFFnS2k5Y2JseDBZMjl1YzNSeWRXTjBiM0lvSkhSaGNtZGxkQ3dnSkhObGRIUnBibWR6VEdsemRDd2dKR052Ym5SaGFXNWxjaXdnYzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1S1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMwOWlhbVZqZENna2RHRnlaMlYwS1R0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selQySnFaV04wS0NSelpYUjBhVzVuYzB4cGMzUXBPMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5QWW1wbFkzUW9KR052Ym5SaGFXNWxjaWs3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2h6ZEhsc1pVTnZibVpwWjNWeVlYUnBiMjRwTzF4dVhIUmNkRnh1WEhSY2RDOHFLbHh1WEhSY2RDQXFJRlJoY21kbGRDQlRaV3hsWTNSdmNseHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTJwUmRXVnllWDFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TGlSMFlYSm5aWFFnUFNBa2RHRnlaMlYwTzF4dVhIUmNkRnh1WEhSY2RDOHFLbHh1WEhSY2RDQXFJRk5sZEhScGJtY2dUR2x6ZENCVFpXeGxZM1J2Y2x4dVhIUmNkQ0FxWEc1Y2RGeDBJQ29nUUhSNWNHVWdlMnBSZFdWeWVYMWNibHgwWEhRZ0tpOWNibHgwWEhSMGFHbHpMaVJ6WlhSMGFXNW5jMHhwYzNRZ1BTQWtjMlYwZEdsdVozTk1hWE4wTzF4dVhIUmNkRnh1WEhSY2RDOHFLbHh1WEhSY2RDQXFJRU52Ym5SaGFXNWxjaUJUWld4bFkzUnZjbHh1WEhSY2RDQXFYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UycFJkV1Z5ZVgxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxpUnpaWFIwYVc1bmMweHBjM1FnUFNBa1kyOXVkR0ZwYm1WeU8xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZOMGVXeGxJRU52Ym1acFozVnlZWFJwYjI0Z1NXNXpkR0Z1WTJWY2JseDBYSFFnS2x4dVhIUmNkQ0FxSUVCMGVYQmxJSHRUZEhsc1pVTnZibVpwWjNWeVlYUnBiMjU5WEc1Y2RGeDBJQ292WEc1Y2RGeDBkR2hwY3k1emRIbHNaVU52Ym1acFozVnlZWFJwYjI0Z1BTQnpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNDdYRzVjZEZ4MFhHNWNkRngwTHlvcVhHNWNkRngwSUNvZ1EyOXVkR0ZwYm5NZ2RHaGxJR0YyWVdsc1lXSnNaU0JtYVd4MFpYSWdkR0ZuY3k1Y2JseDBYSFFnS2x4dVhIUmNkQ0FxSUVCMGVYQmxJSHRUZEhKcGJtZGJYWDFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG1GMllXbHNZV0pzWlZSaFozTWdQU0JiWFR0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRWx1YVhScFlXeHBlbVVnVjJsa1oyVjBYRzVjZENBcUwxeHVYSFJwYm1sMGFXRnNhWHBsS0NrZ2UxeHVYSFJjZEM4dklGQmhjbk5sSUhSb1pTQnpkSGxzWlNCamIyNW1hV2QxY21GMGFXOXVJR1pwYkhSbGNpQjBZV2R6TGx4dVhIUmNkSFJvYVhNdVgzQmhjbk5sVTNSNWJHVlVZV2R6S0NrN1hHNWNkRngwWEc1Y2RGeDBMeThnVEc5aFpDQjBhR1VnZDJsa1oyVjBJSFJsYlhCc1lYUmxMaUJjYmx4MFhIUjBhR2x6TGw5c2IyRmtWMmxrWjJWMFZHVnRjR3hoZEdVb0tUdGNibHgwWEhSY2JseDBYSFF2THlCQ2FXNWtJSFJvWlNCbGRtVnVkQ0JvWVc1a2JHVnljeTVjYmx4MFhIUjBhR2x6TGw5aWFXNWtSWFpsYm5SSVlXNWtiR1Z5Y3lncE8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nUW1sdVpDQkZkbVZ1ZENCSVlXNWtiR1Z5YzF4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMkpwYm1SRmRtVnVkRWhoYm1Sc1pYSnpLQ2tnZTF4dVhIUmNkSFJvYVhNdUpIUmhjbWRsZEM1dmJpZ25ZMnhwWTJzbkxDQW5MbUZqZEdsdmJpY3NJR1YyWlc1MElEMCtJSFJvYVhNdVgyOXVSbWxzZEdWeVNYUmxiVU5zYVdOcktHVjJaVzUwS1NrN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJNYjJGa0lGZHBaR2RsZENCVVpXMXdiR0YwWlZ4dVhIUWdLbHh1WEhRZ0tpQkFjSEpwZG1GMFpWeHVYSFFnS2k5Y2JseDBYMnh2WVdSWGFXUm5aWFJVWlcxd2JHRjBaU2dwSUh0Y2JseDBYSFJqYjI1emRDQjBaVzF3YkdGMFpTQTlJQ1FvSnlOM2FXUm5aWFF0Wm1sc2RHVnlMV0p2ZUMxMFpXMXdiR0YwWlNjcExtaDBiV3dvS1R0Y2JseDBYSFJqYjI1emRDQmtZWFJoSUQwZ2UzUmhaM002SUZ0ZGZUdGNibHgwWEhSY2JseDBYSFJrWVhSaExuUmhaM011Y0hWemFDaDdYRzVjZEZ4MFhIUjJZV3gxWlRvZ0oyWnBiSFJsY2kxa2FYTndiR0Y1TFdGc2JDY3NYRzVjZEZ4MFhIUjBaWGgwT2lCVGRIbHNaVVZrYVhRdVRHRnVaM1ZoWjJVdWRISmhibk5zWVhSbEtDZHNZV0psYkY5bWFXeDBaWEpmWkdsemNHeGhlVjloYkd3bkxDQW5jM1I1YkdWZlpXUnBkQ2NwWEc1Y2RGeDBmU2s3WEc1Y2RGeDBYRzVjZEZ4MEpDNWxZV05vS0hSb2FYTXVZWFpoYVd4aFlteGxWR0ZuY3l3Z0tHbHVaR1Y0TENCMFlXY3BJRDArSUh0Y2JseDBYSFJjZEdSaGRHRXVkR0ZuY3k1d2RYTm9LSHRjYmx4MFhIUmNkRngwZG1Gc2RXVTZJSFJoWnl4Y2JseDBYSFJjZEZ4MGRHVjRkRG9nVTNSNWJHVkZaR2wwTGt4aGJtZDFZV2RsTG5SeVlXNXpiR0YwWlNoMFlXY3NJQ2QwWlcxd2JHRjBaU2NwWEc1Y2RGeDBYSFI5S1R0Y2JseDBYSFI5S1R0Y2JseDBYSFJjYmx4MFhIUjBhR2x6TGlSMFlYSm5aWFF1YUhSdGJDaE5kWE4wWVdOb1pTNXlaVzVrWlhJb2RHVnRjR3hoZEdVc0lHUmhkR0VwS1R0Y2JseDBYSFJjYmx4MFhIUXZMeUJCWkdRZ2JXRjBaWEpwWVd3Z1pHVnphV2R1SUdWbVptVmpkSE1nZEc4Z2JtVjNJRzlpYW1WamRITXVJRnh1WEhSY2RDUXViV0YwWlhKcFlXd3VhVzVwZENncE8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nUlhabGJuUTZJRTl1SUVacGJIUmxjaUJKZEdWdElFTnNhV05yWEc1Y2RDQXFYRzVjZENBcUlFQndZWEpoYlNCbGRtVnVkQ0I3YWxGMVpYSjVMa1YyWlc1MGZWeHVYSFFnS2x4dVhIUWdLaUJBY0hKcGRtRjBaVnh1WEhRZ0tpOWNibHgwWDI5dVJtbHNkR1Z5U1hSbGJVTnNhV05yS0dWMlpXNTBLU0I3WEc1Y2RGeDBZMjl1YzNRZ0pIUmhjbWRsZENBOUlDUW9aWFpsYm5RdVkzVnljbVZ1ZEZSaGNtZGxkQ2s3SUZ4dVhIUmNkR052Ym5OMElHTjFjbkpsYm5SVVlXY2dQU0FrZEdGeVoyVjBMbUYwZEhJb0oyUmhkR0V0ZEdGbkp5azdYRzVjZEZ4MFhHNWNkRngwTHk4Z1EyaGxZMnNnWm05eUlHUnBjM0JzWVhrZ1lXeHNJRzl3ZEdsdmJpNWNibHgwWEhScFppQW9ZM1Z5Y21WdWRGUmhaeUE5UFQwZ0oyWnBiSFJsY2kxa2FYTndiR0Y1TFdGc2JDY3BJSHRjYmx4MFhIUmNkSFJvYVhNdUpIUmhjbWRsZEM1bWFXNWtLQ2N1Wm1sc2RHVnlKeWxjYmx4MFhIUmNkRngwTG5KbGJXOTJaVU5zWVhOektDZGhZM1JwZG1VbktWeHVYSFJjZEZ4MFhIUXVabWx1WkNnbkxtbHVabThuS1Z4dVhIUmNkRngwWEhRdWRHVjRkQ2duUm1sc2RHVnlKeWs3WEc1Y2RGeDBYSFJjYmx4MFhIUmNkSFJvYVhNdUpITmxkSFJwYm1kelRHbHpkRnh1WEhSY2RGeDBYSFF1Wm1sdVpDZ25MbTl3ZEdsdmJpQXVabTl5YlMxbmNtOTFjQ2NwWEc1Y2RGeDBYSFJjZEM1emFHOTNLQ2s3WEc1Y2RGeDBmU0JsYkhObElIdGNibHgwWEhSY2RIUm9hWE11SkhSaGNtZGxkQzVtYVc1a0tDY3VabWxzZEdWeUp5bGNibHgwWEhSY2RGeDBMbUZrWkVOc1lYTnpLQ2RoWTNScGRtVW5LVnh1WEhSY2RGeDBYSFF1Wm1sdVpDZ25MbWx1Wm04bktWeHVYSFJjZEZ4MFhIUXVkR1Y0ZENna2RHRnlaMlYwTG5SbGVIUW9LU2s3WEc1Y2RGeDBYSFJjYmx4MFhIUmNkSFJvYVhNdUpITmxkSFJwYm1kelRHbHpkQzVtYVc1a0tDY3ViM0IwYVc5dUlDNW1iM0p0TFdkeWIzVndKeWt1WldGamFDZ29hVzVrWlhnc0lHWnZjbTFIY205MWNDa2dQVDRnZTF4dVhIUmNkRngwWEhScFppQW9KQ2htYjNKdFIzSnZkWEFwTG1GMGRISW9KMlJoZEdFdGRHRm5jeWNwSUQwOVBTQjFibVJsWm1sdVpXUXBJSHNnTHk4Z1ZHaGxJR1p2Y20wdFozSnZkWEFnYUdGeklHNXZJSFJoWjNNZ2MyOGdhR2xrWlNCcGRDNWNibHgwWEhSY2RGeDBYSFFrS0dadmNtMUhjbTkxY0NrdWFHbGtaU2dwTzF4dVhIUmNkRngwWEhSY2RISmxkSFZ5YmlCMGNuVmxPeUF2THlCamIyNTBhVzUxWlZ4dVhIUmNkRngwWEhSOVhHNWNkRngwWEhSY2RGeHVYSFJjZEZ4MFhIUmpiMjV6ZENCbWIzSnRSM0p2ZFhCVVlXZHpJRDBnSkNobWIzSnRSM0p2ZFhBcExtRjBkSElvSjJSaGRHRXRkR0ZuY3ljcExuTndiR2wwS0NkOEp5azdYRzVjZEZ4MFhIUmNkRnh1WEhSY2RGeDBYSFJwWmlBb1ptOXliVWR5YjNWd1ZHRm5jeTVwYm1SbGVFOW1LR04xY25KbGJuUlVZV2NwSUQ0Z0xURXBJSHRjYmx4MFhIUmNkRngwWEhRa0tHWnZjbTFIY205MWNDa3VjMmh2ZHlncE8xeHVYSFJjZEZ4MFhIUjlJR1ZzYzJVZ2UxeHVYSFJjZEZ4MFhIUmNkQ1FvWm05eWJVZHliM1Z3S1M1b2FXUmxLQ2s3WEc1Y2RGeDBYSFJjZEgxY2JseDBYSFJjZEgwcE8xeHVYSFJjZEgxY2JseDBYSFJjYmx4MFhIUXZMeUJJYVdSbElIUm9aU0J6WlhSMGFXNW5JR2R5YjNWd2N5QjBhR0YwSUdSdklHNXZkQ0JvWVhabElHRnVlU0JsYkdWdFpXNTBJSFpwYzJsaWJHVXVYRzVjZEZ4MGRHaHBjeTRrYzJWMGRHbHVaM05NYVhOMExtWnBibVFvSnk1dmNIUnBiMjRuS1M1emFHOTNLQ2s3WEc1Y2RGeDBYRzVjZEZ4MGRHaHBjeTRrYzJWMGRHbHVaM05NYVhOMExtWnBibVFvSnk1dmNIUnBiMjRuS1M1bFlXTm9LQ2hwYm1SbGVDd2diM0IwYVc5dUtTQTlQaUI3WEc1Y2RGeDBYSFJzWlhRZ2FHbGtaVTl3ZEdsdmJsSnZkeUE5SUhSeWRXVTdYRzVjZEZ4MFhIUmNibHgwWEhSY2RDUW9iM0IwYVc5dUtTNW1hVzVrS0NjdVpISnZjR1J2ZDI0dGJXVnVkU0F1Wm05eWJTMW5jbTkxY0NjcExtVmhZMmdvS0dsdVpHVjRMQ0JtYjNKdFIzSnZkWEFwSUQwK0lIdGNibHgwWEhSY2RGeDBhV1lnS0NRb1ptOXliVWR5YjNWd0tTNWpjM01vSjJScGMzQnNZWGtuS1NBaFBUMGdKMjV2Ym1VbktTQjdYRzVjZEZ4MFhIUmNkRngwYUdsa1pVOXdkR2x2YmxKdmR5QTlJR1poYkhObE8xeHVYSFJjZEZ4MFhIUmNkRnh1WEhSY2RGeDBYSFJjZEM4dklFUnBjM0JzWVhrZ2RHaGxJQzUwYVhSc1pTQnliM2R6SUhSb1lYUWdjbVZ6YVdSbElHSmxiR3h2ZHlCMGFHVWdaR2x6Y0d4aGVXVmtJR1ZzWlcxbGJuUnpMaUJVYUdseklIZHZjbXRoY205MWJtUWdkMmxzYkZ4dVhIUmNkRngwWEhSY2RDOHZJR1Z1YzNWeVpTQjBhR0YwSUdobElGUnBkR3hsSUhkcFpHZGxkQ0JwYm5OMFlXNWpaWE1nZDJsc2JDQmlaU0JrYVhOd2JHRjVaV1FnWTI5eWNtVmpkR3g1SUhkb2FXeGxJR1pwYkhSbGNtbHVaeUIwYUdVZ2MyVjBkR2x1WjNNdUlGeHVYSFJjZEZ4MFhIUmNkQ1FvWm05eWJVZHliM1Z3S1M1d2NtVjJWVzUwYVd3b0p5NXZjSFJwYjI0bktTNW1hVzVrS0NjdWRHbDBiR1VuS1M1c1lYTjBLQ2t1Y0dGeVpXNTBjeWduTG1admNtMHRaM0p2ZFhBbktTNXphRzkzS0NrN1hHNWNkRngwWEhSY2RGeDBYRzVjZEZ4MFhIUmNkRngwY21WMGRYSnVJR1poYkhObE8xeHVYSFJjZEZ4MFhIUjlYRzVjZEZ4MFhIUjlLVHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBhV1lnS0docFpHVlBjSFJwYjI1U2IzY2dQVDA5SUhSeWRXVXBJSHRjYmx4MFhIUmNkRngwSkNodmNIUnBiMjRwTG1ocFpHVW9LVHRjYmx4MFhIUmNkSDFjYmx4MFhIUjlLVHRjYmx4MFhIUmNibHgwWEhRdkx5QlVjbWxuWjJWeUlHRWdZMmhoYm1kbElHVjJaVzUwSUc5dUlIUm9aU0F1YVcxaFoyVXRiR2x6ZENCelpXeGxZM1FnWW05NFpYTWdhVzRnYjNKa1pYSWdkRzhnYzJodmR5OW9hV1JsSUhSb1pTQnBiV0ZuWlMxeVpXeGhkR1ZrSUhObGRIUnBibWR6TGlCY2JseDBYSFIwYUdsekxpUnpaWFIwYVc1bmMweHBjM1F1Wm1sdVpDZ25MbWx0WVdkbExXeHBjM1FuS1M1MGNtbG5aMlZ5S0NkcGJXRm5aVHAwYjJkbmJHVmZaR1Z3Wlc1a1pXNWphV1Z6SnlrN1hHNWNkRngwWEc1Y2RGeDBMeThnVW1WbWNtVnphQ0JqYjI1MFlXbHVaWElnYzJOeWIyeHNZbUZ5Y3k0Z1hHNWNkRngwZEdocGN5NGtjMlYwZEdsdVozTk1hWE4wTG5CbGNtWmxZM1JUWTNKdmJHeGlZWElvSjNWd1pHRjBaU2NwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dVR0Z5YzJVZ2RHaGxJSE4wZVd4bElHTnZibVpwWjNWeVlYUnBiMjRnZEdGbmN5NWNibHgwSUNwY2JseDBJQ29nVkdocGN5QnRaWFJvYjJRZ2QybHNiQ0IzWVd4cklHOTJaWElnWVd4c0lIUm9aU0J6ZEhsc1pTQnpaWFIwYVc1bmN5QmhibVFnWm1sdVpDQjBhR1VnZFc1cGNYVmxJR1pwYkhSbGNtbHVaMXh1WEhRZ0tpQjBZV2R6SUhSb1lYUWdkMmxzYkNCaVpTQjFjMlZrSUdadmNpQjBhR1VnYzJWMGRHbHVaeUJtYVd4MFpYSnBibWN1WEc1Y2RDQXFYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZjR0Z5YzJWVGRIbHNaVlJoWjNNb0tTQjdYRzVjZEZ4MEpDNWxZV05vS0hSb2FYTXVjM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVMbWRsZEZObGRIUnBibWR6S0Nrc0lDaHBibVJsZUN3Z1kyOXNiR1ZqZEdsdmJpa2dQVDRnZTF4dVhIUmNkRngwSkM1bFlXTm9LR052Ykd4bFkzUnBiMjR1WjJWMFJXNTBjbWxsY3lncExDQW9hVzVrWlhnc0lITmxkSFJwYm1jcElEMCtJSHRjYmx4MFhIUmNkRngwYVdZZ0tITmxkSFJwYm1jdVoyVjBWR0ZuY3lncEtTQjdYRzVjZEZ4MFhIUmNkRngwSkM1bFlXTm9LSE5sZEhScGJtY3VaMlYwVkdGbmN5Z3BMQ0FvYVc1a1pYZ3NJSFJoWnlrZ1BUNGdlMXh1WEhSY2RGeDBYSFJjZEZ4MGFXWWdLSFJvYVhNdVlYWmhhV3hoWW14bFZHRm5jeTVwYm1SbGVFOW1LSFJoWnlrZ1BUMDlJQzB4S1NCN1hHNWNkRngwWEhSY2RGeDBYSFJjZEhSb2FYTXVZWFpoYVd4aFlteGxWR0ZuY3k1d2RYTm9LSFJoWnlrN1hHNWNkRngwWEhSY2RGeDBYSFI5WEc1Y2RGeDBYSFJjZEZ4MGZTazdYRzVjZEZ4MFhIUmNkSDFjYmx4MFhIUmNkSDBwTzF4dVhIUmNkSDBwTzF4dVhIUjlYRzU5WEc1Y2RDSXNJaThxSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0WEc0Z0lFWnlZVzFsVkc5bloyeGxMbXB6SURJd01Ua3RNRFl0TURkY2JpQWdSMkZ0WW1sdklFZHRZa2hjYmlBZ2FIUjBjRG92TDNkM2R5NW5ZVzFpYVc4dVpHVmNiaUFnUTI5d2VYSnBaMmgwSUNoaktTQXlNREU1SUVkaGJXSnBieUJIYldKSVhHNGdJRkpsYkdWaGMyVmtJSFZ1WkdWeUlIUm9aU0JIVGxVZ1IyVnVaWEpoYkNCUWRXSnNhV01nVEdsalpXNXpaU0FvVm1WeWMybHZiaUF5S1Z4dUlDQmJhSFIwY0RvdkwzZDNkeTVuYm5VdWIzSm5MMnhwWTJWdWMyVnpMMmR3YkMweUxqQXVhSFJ0YkYxY2JpQWdMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHFMMXh1WEc1Y2JpZDFjMlVnYzNSeWFXTjBKenRjYmx4dUx5b3FYRzRnS2lCQmNIQnNhV05oZEdsdmJpQkdjbUZ0WlNCVWIyZG5iR1ZjYmlBcVhHNGdLaUJVYUdseklHTnNZWE56SUhkcGJHd2dhR0Z1Wkd4bElHRnNiQ0IwYUdVZ2NHOXpjMmxpYkdVZ1puVnVZM1JwYjI1aGJHbDBlU0J2WmlCMGFHVWdZWEJ3SUdaeVlXMWxJR2hoYm1Sc1pTNGdTVzRnZEdobFhHNGdLaUJtZFhSMWNtVWdiVzl5WlNCdmNIUnBiMjV6SUcxcFoyaDBJR0psSUdGa1pHVmtJR3hwYTJVZ1hDSnRiM1psSUhSb1pTQm1jbUZ0WlNCMGJ5QjBhR1VnYkdWbWRDQnphV1JsWENJZ2IyWWdkR2hsSUhCaFoyVXVYRzRnS2k5Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUdOc1lYTnpJRVp5WVcxbFZHOW5aMnhsSUh0Y2JseDBMeW9xWEc1Y2RDQXFJRU5zWVhOeklFTnZibk4wY25WamRHOXlJRnh1WEhRZ0tpQmNibHgwSUNvZ1FIQmhjbUZ0SUh0cVVYVmxjbmw5SUNSbWNtRnRaU0JVYUdVZ2QyaHZiR1VnWVhCd0lHWnlZVzFsSUhObGJHVmpkRzl5TGx4dVhIUWdLaUJBY0dGeVlXMGdlMnBSZFdWeWVYMGdKR2hoYm1Sc1pTQlVhR1VnZEc5bloyeGxJR2hoYm1Sc1pTQnpaV3hsWTNSdmNpNWNibHgwSUNvdlhHNWNkR052Ym5OMGNuVmpkRzl5S0NSbWNtRnRaU3dnSkdoaGJtUnNaU2tnZTF4dVhIUmNkRk4wZVd4bFJXUnBkQzVXWVd4cFpHRjBiM0l1YVhOUFltcGxZM1FvSkdaeVlXMWxLVHRjYmx4MFhIUlRkSGxzWlVWa2FYUXVWbUZzYVdSaGRHOXlMbWx6VDJKcVpXTjBLQ1JvWVc1a2JHVXBPMXh1WEhSY2RGeHVYSFJjZEM4cUtseHVYSFJjZENBcUlFRndjQ0JHY21GdFpTQlRaV3hsWTNSdmNseHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTJwUmRXVnllWDFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TGlSbWNtRnRaU0E5SUNSbWNtRnRaVHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQkdjbUZ0WlNCVWIyZG5iR1VnU0dGdVpHeGxJRk5sYkdWamRHOXlYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN2FsRjFaWEo1ZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdUpHaGhibVJzWlNBOUlDUm9ZVzVrYkdVN1hHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJKYm1sMGFXRnNhWHBsSUhSb1pTQjNhV1JuWlhRdVhHNWNkQ0FxWEc1Y2RDQXFJRlJvYVhNZ2JXVjBhRzlrSUhkcGJHd2dZbWx1WkNCMGFHVWdjbVZ4ZFdseVpXUWdaWFpsYm5RZ2FHRnVaR3hsY25NZ2RHOGdkR2hsSUVSUFRTNWNibHgwSUNvdlhHNWNkR2x1YVhScFlXeHBlbVVvS1NCN1hHNWNkRngwZEdocGN5NGthR0Z1Wkd4bExtOXVLQ2RqYkdsamF5Y3NJQ2dwSUQwK0lIdGNibHgwWEhSY2RHbG1JQ2gwYUdsekxpUm1jbUZ0WlM1b1lYTkRiR0Z6Y3lnbmIzQmxiaWNwS1NCN0lDOHZJSFJvWlc0Z1kyeHZjMlVnYVhSY2JseDBYSFJjZEZ4MGRHaHBjeTRrWm5KaGJXVXVZVzVwYldGMFpTaDdjbWxuYUhRNklDY3RNekl3Y0hnbmZTd2dNekF3TENBbmJHbHVaV0Z5Snl3Z0tDa2dQVDRnZTF4dVhIUmNkRngwWEhSY2RIUm9hWE11SkdaeVlXMWxMbkpsYlc5MlpVTnNZWE56S0NkdmNHVnVKeWt1WVdSa1EyeGhjM01vSjJOc2IzTmxaQ2NwTzF4dVhIUmNkRngwWEhSY2RIUm9hWE11SkdoaGJtUnNaUzVtYVc1a0tDY3VabUV0WTJGeVpYUXRjbWxuYUhRbktTNW9hV1JsS0NrN1hHNWNkRngwWEhSY2RGeDBkR2hwY3k0a2FHRnVaR3hsTG1acGJtUW9KeTVtWVMxallYSmxkQzFzWldaMEp5a3VjMmh2ZHlncE8xeHVYSFJjZEZ4MFhIUjlLVHRjYmx4MFhIUmNkSDBnWld4elpTQjdJQzh2SUhkaGN5QmpiRzl6WldRZ2MyOGdiM0JsYmlCcGRGeHVYSFJjZEZ4MFhIUjBhR2x6TGlSbWNtRnRaUzVoYm1sdFlYUmxLSHR5YVdkb2REb2dKekFuZlN3Z016QXdMQ0FuYkdsdVpXRnlKeXdnS0NrZ1BUNGdlMXh1WEhSY2RGeDBYSFJjZEhSb2FYTXVKR1p5WVcxbExuSmxiVzkyWlVOc1lYTnpLQ2RqYkc5elpXUW5LUzVoWkdSRGJHRnpjeWduYjNCbGJpY3BPMXh1WEhSY2RGeDBYSFJjZEhSb2FYTXVKR2hoYm1Sc1pTNW1hVzVrS0NjdVptRXRZMkZ5WlhRdGNtbG5hSFFuS1M1emFHOTNLQ2s3WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTRrYUdGdVpHeGxMbVpwYm1Rb0p5NW1ZUzFqWVhKbGRDMXNaV1owSnlrdWFHbGtaU2dwTzF4dVhIUmNkRngwWEhSOUtUdGNibHgwWEhSY2RIMWNibHgwWEhSOUtUdGNibHgwZlZ4dWZTSXNJaThxSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0WEc0Z0lFbHRZV2RsTG1weklESXdNVGt0TURZdE1EZGNiaUFnUjJGdFltbHZJRWR0WWtoY2JpQWdhSFIwY0RvdkwzZDNkeTVuWVcxaWFXOHVaR1ZjYmlBZ1EyOXdlWEpwWjJoMElDaGpLU0F5TURFNUlFZGhiV0pwYnlCSGJXSklYRzRnSUZKbGJHVmhjMlZrSUhWdVpHVnlJSFJvWlNCSFRsVWdSMlZ1WlhKaGJDQlFkV0pzYVdNZ1RHbGpaVzV6WlNBb1ZtVnljMmx2YmlBeUtWeHVJQ0JiYUhSMGNEb3ZMM2QzZHk1bmJuVXViM0puTDJ4cFkyVnVjMlZ6TDJkd2JDMHlMakF1YUhSdGJGMWNiaUFnTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBxTDF4dVhHNWNiaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVhVzF3YjNKMElFMXZaR0ZzSUdaeWIyMGdKeTR1TDJ4cFluTXZUVzlrWVd3bk95QmNibWx0Y0c5eWRDQlNiM1YwWlhJZ1puSnZiU0FuTGk0dmJHbGljeTlTYjNWMFpYSW5PeUJjYm1sdGNHOXlkQ0JKYldGblpVRndhU0JtY205dElDY3VMaTloY0drdlNXMWhaMlZCY0drbk95QmNibWx0Y0c5eWRDQkZiblpwY205dWJXVnVkQ0JtY205dElDY3VMaTlzYVdKekwwVnVkbWx5YjI1dFpXNTBKenRjYmx4dUx5b3FYRzRnS2lCSmJXRm5aU0JYYVdSblpYUmNiaUFxWEc0Z0tpQkJiaUJwYm5OMFlXNWpaU0J2WmlCMGFHbHpJSGRwWkdkbGRDQnpaWEoyWlhNZ2RHaGxJRndpYVcxaFoyVmNJaUJ6WlhSMGFXNW5jeUJ2WmlCaElITjBlV3hsTGlCVWFHVWdkWE5sY2lCallXNGdjMlZzWldOMFhHNGdLaUJ2Ym1VZ2IyWWdkR2hsSUhWd2JHOWhaR1ZrSUdsdFlXZGxjeXdnY0hKbGRtbGxkeUIwYUdWdElHOXlJR1JsYkdWMFpTQjBhR1Z0TGx4dUlDb3ZYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQmpiR0Z6Y3lCSmJXRm5aU0I3WEc1Y2RDOHFLbHh1WEhRZ0tpQkRiR0Z6Y3lCRGIyNXpkSEoxWTNSdmNpQmNibHgwSUNvZ1hHNWNkQ0FxSUVCd1lYSmhiU0I3VTJWMGRHbHVaMzBnWlc1MGFYUjVJRU52Ym5SaGFXNXpJSFJvWlNCelpYUjBhVzVuSUdsdVptOXliV0YwYVc5dUxseHVYSFFnS2lCQWNHRnlZVzBnZTFOMGVXeGxRMjl1Wm1sbmRYSmhkR2x2Ym4wZ2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUlGSmxabVZ5Wlc1alpTQjBieUIwYUdVZ1kzVnljbVZ1ZENCamIyNW1hV2QxY21GMGFXOXVJRzlpYW1WamRDNWNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWRiWFgwZ2RHVnRjR3hoZEdWSmJXRm5aWE1nUVc0Z1lYSnlZWGtnZDJsMGFDQjBhR1VnZEdWdGNHeGhkR1VnZFhCc2IyRmtaV1FnYVcxaFoyVnpMbHh1WEhRZ0tpOWNibHgwWTI5dWMzUnlkV04wYjNJb1pXNTBhWFI1TENCemRIbHNaVU52Ym1acFozVnlZWFJwYjI0c0lIUmxiWEJzWVhSbFNXMWhaMlZ6S1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMwOWlhbVZqZENobGJuUnBkSGtwTzF4dVhIUmNkRk4wZVd4bFJXUnBkQzVXWVd4cFpHRjBiM0l1YVhOUFltcGxZM1FvYzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1S1R0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selQySnFaV04wS0hSbGJYQnNZWFJsU1cxaFoyVnpLVHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1UyVjBkR2x1WjMxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxtVnVkR2wwZVNBOUlHVnVkR2wwZVR0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJBZEhsd1pTQjdVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVmVnh1WEhSY2RDQXFMMXh1WEhSY2RIUm9hWE11YzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1SUQwZ2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dU8xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZWd2JHOWhaR1ZrSUVsdFlXZGxjMXh1WEhSY2RDQXFYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UxTjBjbWx1WjF0ZGZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVkR1Z0Y0d4aGRHVkpiV0ZuWlhNZ1BTQjBaVzF3YkdGMFpVbHRZV2RsY3p0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJDWVhObElHVnVkR2wwZVNCdVlXMWxJSGRwZEdodmRYUWdkR2hsSUZ3aUxYVnliRndpSUhCdmMzUm1hWGd1WEc1Y2RGeDBJQ3BjYmx4MFhIUWdLaUJKWmlCMGFHVWdjMlYwZEdsdVp5Qm1iMnhzYjNkeklIUm9aU0JjSW1kNExYTmxkSFJwYm1jdGFXMWhaMlV0ZFhKc1hDSWdZMjl1ZG1WdWRHbHZiaXdnZEdobGJpQjBhR1VnWW1GelpTQnVZVzFsSUhkcGJHd2dZbVVnZFhObFpDQjBieUJ6Wld4bFkzUmNibHgwWEhRZ0tpQjNhV1JuWlhSeklIUm9ZWFFnYUdGMlpTQnphVzFwYkdGeUlHNWhiV1Z6SUNobExtY3VJRndpWjNndGMyVjBkR2x1WnkxcGJXRm5aUzF5WlhCbFlYUmNJaWtnWVc1a0lITm9iM2N2YUdsa1pTQjBhR1Z0SUdSbGNHVnVaR2x1WnlCdmJpQjNhR1YwYUdWeVhHNWNkRngwSUNvZ1lXNGdhVzFoWjJVZ2FYTWdjMlZzWldOMFpXUWdiM0lnYm05MExseHVYSFJjZENBcVhHNWNkRngwSUNvZ1FIUjVjR1VnZTFOMGNtbHVaMzFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG1KaGMyVkZiblJwZEhsT1lXMWxJRDBnWlc1MGFYUjVMbWRsZEU1aGJXVW9LUzV5WlhCc1lXTmxLQ2N0ZFhKc0p5d2dKeWNwTzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dTVzVwZEdsaGJHbDZaU0IwYUdVZ2QybGtaMlYwTGx4dVhIUWdLaTljYmx4MGFXNXBkR2xoYkdsNlpTZ3BJSHRjYmx4MFhIUmpiMjV6ZENBa1pXeGxiV1Z1ZENBOUlDUW9KeU1uSUNzZ2RHaHBjeTVsYm5ScGRIa3VaMlYwVG1GdFpTZ3BLVHRjYmx4MFhIUmpiMjV6ZENBa1lXTjBhVzl1Y3lBOUlDUmxiR1Z0Wlc1MExuQmhjbVZ1ZEhNb0tTNWxjU2d4S1M1bWFXNWtLQ2N1YVcxaFoyVXRZV04wYVc5dWN5Y3BPMXh1WEhSY2RGeHVYSFJjZEdsbUlDZ2taV3hsYldWdWRDNW1hVzVrS0NkdmNIUnBiMjViZG1Gc2RXVTlYQ0luSUNzZ2RHaHBjeTVsYm5ScGRIa3VaMlYwVm1Gc2RXVW9LU0FySUNkY0lsMG5LUzVzWlc1bmRHZ2dQaUF3S1NCN1hHNWNkRngwWEhRa1pXeGxiV1Z1ZEM1MllXd29kR2hwY3k1bGJuUnBkSGt1WjJWMFZtRnNkV1VvS1NrN1hHNWNkRngwZlNCbGJITmxJSHRjYmx4MFhIUmNkQ1JsYkdWdFpXNTBMblpoYkNnbkp5azdYRzVjZEZ4MGZWeHVYSFJjZEZ4dVhIUmNkR052Ym5OMElDUjBZWEpuWlhRZ1BTQW9SVzUyYVhKdmJtMWxiblF1YVhOSmJuUmxjbTVsZEVWNGNHeHZjbVZ5S0NrcElEOGdKR1ZzWlcxbGJuUXVjR0Z5Wlc1MGN5Z3BMbVZ4S0RFcElEb2dKR1ZzWlcxbGJuUXVjR0Z5Wlc1MGN5Z3BMbVZ4S0RBcE8xeHVYSFJjZEZ4dVhIUmNkQ1IwWVhKblpYUXViVzkxYzJWdmRtVnlLQ2dwSUQwK0lIdGNibHgwWEhSY2RHbG1JQ2drWld4bGJXVnVkQzUyWVd3b0tTQTlQVDBnSnljcElIdGNibHgwWEhSY2RGeDBKR0ZqZEdsdmJuTXVabWx1WkNnbkxuQnlaWFpwWlhjc0lDNWtaV3hsZEdVbktTNWhaR1JEYkdGemN5Z25aR2x6WVdKc1pXUW5LVHRjYmx4MFhIUmNkSDFjYmx4MFhIUmNkQ1JoWTNScGIyNXpMbk4wYjNBb2RISjFaU3dnZEhKMVpTazdJQzh2SUhOMGIzQWdjSEpsZG1sdmRYTWdZVzVwYldGMGFXOXVJQ2hwWmlCaGJua3BYRzVjZEZ4MFhIUWtZV04wYVc5dWN5NXphRzkzS0NkemJHbGtaU2NzSUh0a2FYSmxZM1JwYjI0NklDZDFjQ2Q5TENBME1EQXBPMXh1WEhSY2RIMHBPMXh1WEhSY2RGeHVYSFJjZENSMFlYSm5aWFF1Ylc5MWMyVnNaV0YyWlNnb0tTQTlQaUI3WEc1Y2RGeDBYSFFrWVdOMGFXOXVjeTVvYVdSbEtDZHpiR2xrWlNjc0lIdGthWEpsWTNScGIyNDZJQ2QxY0NkOUxDQTBNREFzSUNncElEMCtJSHRjYmx4MFhIUmNkRngwSkdGamRHbHZibk11Wm1sdVpDZ25MbkJ5WlhacFpYY3NJQzVrWld4bGRHVW5LUzV5WlcxdmRtVkRiR0Z6Y3lnblpHbHpZV0pzWldRbktUdGNibHgwWEhSY2RIMHBPMXh1WEhSY2RIMHBPMXh1WEhSY2RGeHVYSFJjZENSbGJHVnRaVzUwTG1Ob1lXNW5aU2dvS1NBOVBpQjdYRzVjZEZ4MFhIUnBaaUFvSkdWc1pXMWxiblF1ZG1Gc0tDa2dJVDA5SUNjbktTQjdYRzVjZEZ4MFhIUmNkQ1JoWTNScGIyNXpMbVpwYm1Rb0p5NXdjbVYyYVdWM0xDQXVaR1ZzWlhSbEp5a3VjbVZ0YjNabFEyeGhjM01vSjJScGMyRmliR1ZrSnlrN1hHNWNkRngwWEhSOUlHVnNjMlVnZTF4dVhIUmNkRngwWEhRa1lXTjBhVzl1Y3k1bWFXNWtLQ2N1Y0hKbGRtbGxkeXdnTG1SbGJHVjBaU2NwTG1Ga1pFTnNZWE56S0Nka2FYTmhZbXhsWkNjcE8xeHVYSFJjZEZ4MGZWeHVYSFJjZEZ4MFhHNWNkRngwWEhRa1pXeGxiV1Z1ZEM1MGNtbG5aMlZ5S0NkcGJXRm5aVHAwYjJkbmJHVmZaR1Z3Wlc1a1pXNWphV1Z6SnlrN1hHNWNkRngwWEhSY2JseDBYSFJjZEM4dklGVndaR0YwWlNCMGFHVWdjM1I1YkdVZ1kyOXVabWxuZFhKaGRHbHZiaTRnWEc1Y2RGeDBYSFJzWlhRZ1ptOTFibVFnUFNCbVlXeHpaVHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBKQzVsWVdOb0tIUm9hWE11YzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1TG1kbGRGTmxkSFJwYm1kektDa3NJQ2hwYm1SbGVDd2djMlYwZEdsdVp5a2dQVDRnZTF4dVhIUmNkRngwWEhRa0xtVmhZMmdvYzJWMGRHbHVaeTVuWlhSRmJuUnlhV1Z6S0Nrc0lDaHBibVJsZUN3Z1pXNTBjbmtwSUQwK0lIdGNibHgwWEhSY2RGeDBYSFJwWmlBb1pXNTBjbmt1WjJWMFRtRnRaU2dwSUQwOVBTQjBhR2x6TG1WdWRHbDBlUzVuWlhST1lXMWxLQ2twSUh0Y2JseDBYSFJjZEZ4MFhIUmNkR1Z1ZEhKNUxuTmxkRlpoYkhWbEtDUmxiR1Z0Wlc1MExuWmhiQ2dwS1R0Y2JseDBYSFJjZEZ4MFhIUmNkR1p2ZFc1a0lEMGdkSEoxWlR0Y2JseDBYSFJjZEZ4MFhIUmNkSEpsZEhWeWJpQm1ZV3h6WlR0Y2JseDBYSFJjZEZ4MFhIUjlYRzVjZEZ4MFhIUmNkSDBwTzF4dVhIUmNkRngwWEhSY2JseDBYSFJjZEZ4MGFXWWdLR1p2ZFc1a0tTQjdYRzVjZEZ4MFhIUmNkRngwY21WMGRYSnVJR1poYkhObE8xeHVYSFJjZEZ4MFhIUjlYRzVjZEZ4MFhIUjlLVHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBkR2hwY3k1bGJuUnBkSGt1YzJWMFZtRnNkV1VvSkdWc1pXMWxiblF1ZG1Gc0tDa3BPMXh1WEhSY2RIMHBPMXh1WEhSY2RGeHVYSFJjZENSbGJHVnRaVzUwTG05dUtDZHBiV0ZuWlRwMGIyZG5iR1ZmWkdWd1pXNWtaVzVqYVdWekp5d2dLQ2tnUFQ0Z2UxeHVYSFJjZEZ4MEx5OGdVMmh2ZHk5b2FXUmxJR2x0WVdkbExXUmxjR1Z1WkdWdWRDQnpaWFIwYVc1bmN5NGdYRzVjZEZ4MFhIUmpiMjV6ZENCdFpYUm9iMlFnUFNBa1pXeGxiV1Z1ZEM1MllXd29LU0FoUFQwZ0p5Y2dQeUFuYzJodmR5Y2dPaUFuYUdsa1pTYzdYRzVjZEZ4MFhIUmNibHgwWEhSY2RDUW9KMXRwWkY0OUp5QXJJSFJvYVhNdVltRnpaVVZ1ZEdsMGVVNWhiV1VnS3lBblhTY3BYRzVjZEZ4MFhIUmNkQzV1YjNRb0oxdHBaRDBuSUNzZ2RHaHBjeTVsYm5ScGRIa3VaMlYwVG1GdFpTZ3BJQ3NnSjEwbktWeHVYSFJjZEZ4MFhIUXVaV0ZqYUNnb2FXNWtaWGdzSUdsdWNIVjBLU0E5UGlCN1hHNWNkRngwWEhSY2RGeDBKQ2hwYm5CMWRDa3VjR0Z5Wlc1MGN5Z25MbVp2Y20wdFozSnZkWEFuS1Z0dFpYUm9iMlJkS0NrN1hHNWNkRngwWEhSY2RIMHBPMXh1WEhSY2RIMHBPMXh1WEhSY2RGeHVYSFJjZENSaFkzUnBiMjV6TG1acGJtUW9KeTUxY0d4dllXUW5LUzVqYkdsamF5Z29LU0E5UGlCN1hHNWNkRngwWEhSU2IzVjBaWEl1Ykc5aFpDZ25WWEJzYjJGa1NXMWhaMlZOYjJSaGJDY3NJRnNrWld4bGJXVnVkRjBwTzF4dVhIUmNkSDBwTzF4dVhIUmNkRnh1WEhSY2RDUmhZM1JwYjI1ekxtWnBibVFvSnk1d2NtVjJhV1YzSnlrdVkyeHBZMnNvWlhabGJuUWdQVDRnZTF4dVhIUmNkRngwYVdZZ0tDUW9aWFpsYm5RdVkzVnljbVZ1ZEZSaGNtZGxkQ2t1YUdGelEyeGhjM01vSjJScGMyRmliR1ZrSnlrZ2ZId2dKR1ZzWlcxbGJuUXVkbUZzS0NrZ1BUMDlJQ2NuS1NCN1hHNWNkRngwWEhSY2RISmxkSFZ5Ymp0Y2JseDBYSFJjZEgxY2JseDBYSFJjZEZKdmRYUmxjaTVzYjJGa0tDZFFjbVYyYVdWM1NXMWhaMlZOYjJSaGJDY3NJRnNrWld4bGJXVnVkRjBwTzF4dVhIUmNkSDBwTzF4dVhIUmNkRnh1WEhSY2RDUmhZM1JwYjI1ekxtWnBibVFvSnk1a1pXeGxkR1VuS1M1amJHbGpheWhsZG1WdWRDQTlQaUI3WEc1Y2RGeDBYSFJqYjI1emRDQWtkR0Z5WjJWMElEMGdKQ2hsZG1WdWRDNWpkWEp5Wlc1MFZHRnlaMlYwS1R0Y2JseDBYSFJjZEZ4dVhIUmNkRngwYVdZZ0tDUjBZWEpuWlhRdWFHRnpRMnhoYzNNb0oyUnBjMkZpYkdWa0p5a3BJSHRjYmx4MFhIUmNkRngwY21WMGRYSnVPMXh1WEhSY2RGeDBmVnh1WEhSY2RGeDBYRzVjZEZ4MFhIUXZMeUJEYUdWamF5QnBaaUJ2ZEdobGNpQnpaWFIwYVc1bmN5QmhjbVVnZFhOcGJtY2dkR2hwY3lCcGJXRm5aUzRnWEc1Y2RGeDBYSFJqYjI1emRDQnZZMk4xY25KbGJtTmxjeUE5SUNRb0p5NWxaR2wwTFc5d2RHbHZibk1nTG1sdFlXZGxMV3hwYzNRbktTNW1hV3gwWlhJb0tDa2dQVDRnZTF4dVhIUmNkRngwWEhSeVpYUjFjbTRnSkhSaGNtZGxkQzUyWVd3b0tTQTlQVDBnSkdWc1pXMWxiblF1ZG1Gc0tDa2dKaVlnSkhSaGNtZGxkQzVuWlhRb01Da2dJVDA5SUNSbGJHVnRaVzUwTG1kbGRDZ3dLVHRjYmx4MFhIUmNkSDBwTG14bGJtZDBhRHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBhV1lnS0c5alkzVnljbVZ1WTJWeklENGdNQ2tnZTF4dVhIUmNkRngwWEhSTmIyUmhiQzV0WlhOellXZGxLRk4wZVd4bFJXUnBkQzVNWVc1bmRXRm5aUzUwY21GdWMyeGhkR1VvSjNScGRHeGxYMk5oYm01dmRGOWtaV3hsZEdWZmFXMWhaMlVuTENBbmMzUjViR1ZmWldScGRDY3BMRnh1WEhSY2RGeDBYSFJjZEZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0oyMWxjM05oWjJWZlkyRnVibTkwWDJSbGJHVjBaVjlwYldGblpTY3NJQ2R6ZEhsc1pWOWxaR2wwSnlrcE8xeHVYSFJjZEZ4MFhIUnlaWFIxY200N1hHNWNkRngwWEhSOVhHNWNkRngwWEhSY2JseDBYSFJjZEM4dklGQnliMjF3ZENCbWIzSWdhVzFoWjJVZ2NtVnRiM1poYkM0Z1hHNWNkRngwWEhSamIyNXpkQ0IwYVhSc1pTQTlJRk4wZVd4bFJXUnBkQzVNWVc1bmRXRm5aUzUwY21GdWMyeGhkR1VvSjNScGRHeGxYMlJsYkdWMFpWOXBiV0ZuWlNjc0lDZHpkSGxzWlY5bFpHbDBKeWs3WEc1Y2RGeDBYSFJqYjI1emRDQnRaWE56WVdkbElEMGdVM1I1YkdWRlpHbDBMa3hoYm1kMVlXZGxMblJ5WVc1emJHRjBaU2duYldWemMyRm5aVjlrWld4bGRHVmZhVzFoWjJVbkxDQW5jM1I1YkdWZlpXUnBkQ2NwTzF4dVhIUmNkRngwWEc1Y2RGeDBYSFJOYjJSaGJDNXdjbTl0Y0hRb2RHbDBiR1VzSUcxbGMzTmhaMlVwTG1SdmJtVW9LQ2tnUFQ0Z2UxeHVYSFJjZEZ4MFhIUmpiMjV6ZENCbWFXeGxibUZ0WlNBOUlDUmxiR1Z0Wlc1MExtWnBibVFvSjI5d2RHbHZianB6Wld4bFkzUmxaQ2NwTG5SbGVIUW9LVHRjYmx4MFhIUmNkRngwU1cxaFoyVkJjR2t1WkdWc1pYUmxLR1pwYkdWdVlXMWxLUzVrYjI1bEtDZ3BJRDArSUh0Y2JseDBYSFJjZEZ4MFhIUWtaV3hsYldWdWRGeHVYSFJjZEZ4MFhIUmNkRngwTG5aaGJDZ25KeWtnTHk4Z1UyVnNaV04wSUhSb1pTQmxiWEIwZVNCMllXeDFaUzVjYmx4MFhIUmNkRngwWEhSY2RDNTBjbWxuWjJWeUtDZGphR0Z1WjJVbktUc2dMeThnVlhCa1lYUmxJSFJvWlNCemRIbHNaU0JqYjI1bWFXZDFjbUYwYVc5dUxseHVYSFJjZEZ4MFhIUmNkQ1FvSnk1bFpHbDBMVzl3ZEdsdmJuTWdMbWx0WVdkbExXeHBjM1FnYjNCMGFXOXVXM1poYkhWbFBWd2lKeUFySUdacGJHVnVZVzFsSUNzZ0oxd2lYU2NwTG5KbGJXOTJaU2dwTzF4dVhIUmNkRngwWEhSOUtUdGNibHgwWEhSY2RIMHBPMXh1WEhSY2RIMHBPMXh1WEhSY2RGeHVYSFJjZEM4dklFRmtaQ0J6WlhSMGFXNW5JSFJoWjNNZ2RHOGdkR2hsSUhCaGNtVnVkQ0JjSWk1bWIzSnRMV2R5YjNWd1hDSWdaV3hsYldWdWRDNWNibHgwWEhScFppQW9kR2hwY3k1bGJuUnBkSGt1WjJWMFZHRm5jeWdwSUNFOVBTQnVkV3hzS1NCN1hHNWNkRngwWEhSamIyNXpkQ0IwWVdkeklEMGdkR2hwY3k1bGJuUnBkSGt1WjJWMFZHRm5jeWdwTG1wdmFXNG9KM3duS1R0Y2JseDBYSFJjZENSbGJHVnRaVzUwTG5CaGNtVnVkSE1vSnk1bWIzSnRMV2R5YjNWd0p5a3VZWFIwY2lnblpHRjBZUzEwWVdkekp5d2dkR0ZuY3lrN1hHNWNkRngwZlZ4dVhIUmNkRnh1WEhSY2RDUmxiR1Z0Wlc1MExuUnlhV2RuWlhJb0oyTm9ZVzVuWlNjcE8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nUjJWMElGZHBaR2RsZENCSVZFMU1YRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFOMGNtbHVaMzFjYmx4MElDb3ZYRzVjZEdkbGRFaDBiV3dvS1NCN1hHNWNkRngwWTI5dWMzUWdkR1Z0Y0d4aGRHVWdQU0FrS0NjamQybGtaMlYwTFdsdFlXZGxMWFJsYlhCc1lYUmxKeWt1YUhSdGJDZ3BPMXh1WEhSY2RGeHVYSFJjZEM4dklGQnlaWEJoY21VZ2RHaGxJSFJsYlhCc1lYUmxJR1JoZEdFdVhHNWNkRngwWTI5dWMzUWdaR0YwWVNBOUlIdGNibHgwWEhSY2RHNWhiV1U2SUhSb2FYTXVaVzUwYVhSNUxtZGxkRTVoYldVb0tTeGNibHgwWEhSY2RIUnBkR3hsT2lCVGRIbHNaVVZrYVhRdVRHRnVaM1ZoWjJVdWRISmhibk5zWVhSbEtIUm9hWE11Wlc1MGFYUjVMbWRsZEU1aGJXVW9LU3dnSjNSbGJYQnNZWFJsSnlrc1hHNWNkRngwWEhSdmNIUnBiMjVmZFhCc2IyRmtPaUJUZEhsc1pVVmthWFF1VEdGdVozVmhaMlV1ZEhKaGJuTnNZWFJsS0NkdmNIUnBiMjVmZFhCc2IyRmtKeXdnSjNOMGVXeGxYMlZrYVhRbktTeGNibHgwWEhSY2RHOXdkR2x2Ymw5d2NtVjJhV1YzT2lCVGRIbHNaVVZrYVhRdVRHRnVaM1ZoWjJVdWRISmhibk5zWVhSbEtDZHZjSFJwYjI1ZmNISmxkbWxsZHljc0lDZHpkSGxzWlY5bFpHbDBKeWtzWEc1Y2RGeDBYSFJ2Y0hScGIyNWZaR1ZzWlhSbE9pQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLQ2R2Y0hScGIyNWZaR1ZzWlhSbEp5d2dKM04wZVd4bFgyVmthWFFuS1N4Y2JseDBYSFJjZEc5d2RHbHZibk02SUZ0Y2JseDBYSFJjZEZ4MGUxeHVYSFJjZEZ4MFhIUmNkSFpoYkhWbE9pQW5KMXh1WEhSY2RGeDBYSFI5WEc1Y2RGeDBYSFJkWEc1Y2RGeDBmVHRjYmx4MFhIUmNibHgwWEhRa0xtVmhZMmdvZEdocGN5NTBaVzF3YkdGMFpVbHRZV2RsY3l3Z0tHbHVaR1Y0TENCcGJXRm5aU2tnUFQ0Z2UxeHVYSFJjZEZ4MFkyOXVjM1FnWlc1MGNua2dQU0I3WEc1Y2RGeDBYSFJjZEhaaGJIVmxPaUJwYldGblpWeHVYSFJjZEZ4MGZUdGNibHgwWEhSY2RGeHVYSFJjZEZ4MFpHRjBZUzV2Y0hScGIyNXpMbkIxYzJnb1pXNTBjbmtwTzF4dVhIUmNkSDBwTzF4dVhIUmNkRnh1WEhSY2RISmxkSFZ5YmlCTmRYTjBZV05vWlM1eVpXNWtaWElvZEdWdGNHeGhkR1VzSUdSaGRHRXBPMXh1WEhSOVhHNTlYRzRpTENJdktpQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExWeHVJQ0JRY21WMmFXVjNVbVZ6YVhwbGNpNXFjeUF5TURFNUxUQTJMVEEzWEc0Z0lFZGhiV0pwYnlCSGJXSklYRzRnSUdoMGRIQTZMeTkzZDNjdVoyRnRZbWx2TG1SbFhHNGdJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhPU0JIWVcxaWFXOGdSMjFpU0Z4dUlDQlNaV3hsWVhObFpDQjFibVJsY2lCMGFHVWdSMDVWSUVkbGJtVnlZV3dnVUhWaWJHbGpJRXhwWTJWdWMyVWdLRlpsY25OcGIyNGdNaWxjYmlBZ1cyaDBkSEE2THk5M2QzY3VaMjUxTG05eVp5OXNhV05sYm5ObGN5OW5jR3d0TWk0d0xtaDBiV3hkWEc0Z0lDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdEtpOWNibHh1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYmk4cUtseHVJQ29nVUhKbGRtbGxkeUJTWlhOcGVtVnlJRmRwWkdkbGRGeHVJQ3BjYmlBcUlGUm9hWE1nZDJsa1oyVjBJSGRwYkd3Z2FHRnVaR3hsSUhSb1pTQmpjbVZoZEdsdmJpQnZaaUIwYUdVZ2NISmxkbWxsZHlCeVpYTnBlbVVnWld4bGJXVnVkQ0J2WmlCMGFHVWdVM1I1YkdWRlpHbDBJR1p5WVcxbExpQlpiM1ZjYmlBcUlITm9iM1ZzWkNCMWMyVWdkR2hsSUZ3aVlXUmtVSEpsZG1sbGQxUjVjR1ZjSWlCdFpYUm9iMlFnZEc4Z1lXUmtJRzVsZHlCd2NtVjJhV1YzSUhSNWNHVnpJR2x1SUhSb1pTQnNhWE4wTGx4dUlDb3ZYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQmpiR0Z6Y3lCUWNtVjJhV1YzVW1WemFYcGxjaUI3WEc1Y2RDOHFLbHh1WEhRZ0tpQkRiR0Z6Y3lCRGIyNXpkSEoxWTNSdmNpQmNibHgwSUNvZ1hHNWNkQ0FxSUVCd1lYSmhiU0I3YWxGMVpYSjVmU0FrZEdGeVoyVjBJRlJoY21kbGRDQnpaV3hsWTNSdmNpQnZaaUIwYUdVZ2QybGtaMlYwTGx4dVhIUWdLaUJBY0dGeVlXMGdlMVJsYlhCc1lYUmxVSEpsZG1sbGQzMGdkR1Z0Y0d4aGRHVlFjbVYyYVdWM0lFbHVjM1JoYm1ObElHOW1JSFJvWlNCMFpXMXdiR0YwWlNCd2NtVjJhV1YzSUc1bFpXUmxaQ0JtYjNJZ1kyaGhibWRwYm1jZ2RHaGxJSEJ5WlhacFpYY2dkSGx3WlhNdVhHNWNkQ0FxTDF4dVhIUmpiMjV6ZEhKMVkzUnZjaWdrZEdGeVoyVjBMQ0IwWlcxd2JHRjBaVkJ5WlhacFpYY3BJSHRjYmx4MFhIUlRkSGxzWlVWa2FYUXVWbUZzYVdSaGRHOXlMbWx6VDJKcVpXTjBLQ1IwWVhKblpYUXBPMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5QWW1wbFkzUW9kR1Z0Y0d4aGRHVlFjbVYyYVdWM0tUdGNibHgwWEhSY2JseDBYSFF2S2lwY2JseDBYSFFnS2lCQWRIbHdaU0I3YWxGMVpYSjVmVnh1WEhSY2RDQXFMMXh1WEhSY2RIUm9hWE11SkhSaGNtZGxkQ0E5SUNSMFlYSm5aWFE3WEc1Y2RGeDBYRzVjZEZ4MEx5b3FYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UxUmxiWEJzWVhSbFVISmxkbWxsZDMxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxuUmxiWEJzWVhSbFVISmxkbWxsZHlBOUlIUmxiWEJzWVhSbFVISmxkbWxsZHp0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJEYjI1MFlXbHVjeUIwYUdVZ2NISmxkbWxsZHlCMGVYQmxJR2x1YzNSaGJtTmxjMXh1WEhSY2RDQXFYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UxQnlaWFpwWlhkVWVYQmxXMTE5WEc1Y2RGeDBJQ292WEc1Y2RGeDBkR2hwY3k1d2NtVjJhV1YzVkhsd1pYTWdQU0JiWFR0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRWx1YVhScFlXeHBlbVVnZEdobElIZHBaR2RsZEM1Y2JseDBJQ3BjYmx4MElDb2dUMjVqWlNCMGFHVWdjSEpsZG1sbGR5QjBlWEJsY3lCaFpHUmxaQ0IxYzJVZ2RHaHBjeUJ0WlhSb2IyUWdkRzhnYVc1cGRHbGhiR2w2WlNCMGFHVWdkMmxrWjJWMExpQkpkQ0IzYVd4c0lHWmxkR05vSUhSb1pWeHVYSFFnS2lCamIzSnlaV04wSUUxMWMzUmhZMmhsSUhSbGJYQnNZWFJsY3lCaGJtUWdZbWx1WkNCMGFHVWdaWFpsYm5RZ2FHRnVaR3hsY25NdVhHNWNkQ0FxTDF4dVhIUnBibWwwYVdGc2FYcGxLQ2tnZTF4dVhIUmNkSFJvYVhNdWRHVnRjR3hoZEdWUWNtVjJhV1YzTG1sdWFYUnBZV3hwZW1Vb0tUdGNibHgwWEhSY2JseDBYSFF2THlCRGNtVmhkR1VnZEdobElHRjJZV2xzWVdKc1pTQndjbVYyYVdWM0lIUjVjR1Z6SUd4cGMzUXVYRzVjZEZ4MFkyOXVjM1FnZEdWdGNHeGhkR1VnUFNBa0tDY2pjSEpsZG1sbGR5MTBlWEJsTFhSbGJYQnNZWFJsSnlrdWFIUnRiQ2dwTzF4dVhIUmNkR052Ym5OMElHaDBiV3dnUFNCTmRYTjBZV05vWlM1eVpXNWtaWElvZEdWdGNHeGhkR1VzSUh0d2NtVjJhV1YzVkhsd1pYTTZJSFJvYVhNdWNISmxkbWxsZDFSNWNHVnpmU2s3WEc1Y2RGeDBYRzVjZEZ4MGRHaHBjeTRrZEdGeVoyVjBMbVpwYm1Rb0p5NWtjbTl3Wkc5M2JpMXRaVzUxSnlrdWFIUnRiQ2hvZEcxc0tUdGNibHgwWEhSY2JseDBYSFIwYUdsekxsOWlhVzVrUlhabGJuUklZVzVrYkdWeWN5Z3BPMXh1WEhSY2RGeHVYSFJjZEhSb2FYTXVKSFJoY21kbGRDNW1hVzVrS0NjdVpISnZjR1J2ZDI0dGJXVnVkU0JzYVRwc1lYTjBKeWt1ZEhKcFoyZGxjaWduWTJ4cFkyc25LVHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFRmtaQ0J1WlhjZ2NISmxkbWxsZHlCMGVYQmxJSFJ2SUhSb1pTQnBibk4wWVc1alpTNWNibHgwSUNwY2JseDBJQ29nUUhCaGNtRnRJSHRRY21WMmFXVjNWSGx3WlgwZ2NISmxkbWxsZDFSNWNHVWdRMjl1ZEdGcGJuTWdkR2hsSUhCeVpYWnBaWGNnYVc1bWIzSnRZWFJwYjI0Z0tIZHBaSFJvTENCb1pXbG5hSFFnWlhSaktTNWNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VUhKbGRtbGxkMUpsYzJsNlpYSjlJRkpsZEhWeWJuTWdkR2hsSUdOc1lYTnpJR2x1YzNSaGJtTmxJR1p2Y2lCdFpYUm9iMlFnWTJoaGFXNXBibWN1WEc1Y2RDQXFMMXh1WEhSaFpHUlFjbVYyYVdWM1ZIbHdaU2h3Y21WMmFXVjNWSGx3WlNrZ2UxeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlBZbXBsWTNRb2NISmxkbWxsZDFSNWNHVXBPMXh1WEhSY2RIUm9hWE11Y0hKbGRtbGxkMVI1Y0dWekxuQjFjMmdvY0hKbGRtbGxkMVI1Y0dVcE8xeHVYSFJjZEhKbGRIVnliaUIwYUdsek8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nUW1sdVpDQjBhR1VnWlhabGJuUWdhR0Z1Wkd4bGNuTWdabTl5SUhSb1pTQjNhV1JuWlhRdVhHNWNkQ0FxWEc1Y2RDQXFJRUIwYUdseklGQnlaWFpwWlhkU1pYTnBlbVZ5WEc1Y2RDQXFYRzVjZENBcUlFQndjbWwyWVhSbFhHNWNkQ0FxTDF4dVhIUmZZbWx1WkVWMlpXNTBTR0Z1Wkd4bGNuTW9LU0I3WEc1Y2RGeDBkR2hwY3k0a2RHRnlaMlYwTG1acGJtUW9KeTVrY205d1pHOTNiaTF0Wlc1MUlHeHBKeWxjYmx4MFhIUmNkQzV2Wm1Zb0oyTnNhV05ySnlsY2JseDBYSFJjZEM1dmJpZ25ZMnhwWTJzbkxDQmxkbVZ1ZENBOVBpQjdYRzVjZEZ4MFhIUmNkR052Ym5OMElDUjBZWEpuWlhRZ1BTQWtLR1YyWlc1MExtTjFjbkpsYm5SVVlYSm5aWFFwTzF4dVhIUmNkRngwWEhSY2JseDBYSFJjZEZ4MEpDNWxZV05vS0hSb2FYTXVjSEpsZG1sbGQxUjVjR1Z6TENBb2FXNWtaWGdzSUhCeVpYWnBaWGRVZVhCbEtTQTlQaUI3WEc1Y2RGeDBYSFJjZEZ4MGFXWWdLQ1IwWVhKblpYUXVhR0Z6UTJ4aGMzTW9jSEpsZG1sbGQxUjVjR1V1WjJWMFEyeGhjM01vS1NrcElIdGNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVkR1Z0Y0d4aGRHVlFjbVYyYVdWM0xtTm9ZVzVuWlZCeVpYWnBaWGNvY0hKbGRtbGxkMVI1Y0dVcE8xeHVYSFJjZEZ4MFhIUmNkRngwZEdocGN5NGtkR0Z5WjJWMExtWnBibVFvSnk1a2NtOXdaRzkzYmkxdFpXNTFJR3hwTG1GamRHbDJaU2NwTG5KbGJXOTJaVU5zWVhOektDZGhZM1JwZG1VbktUdGNibHgwWEhSY2RGeDBYSFJjZENSMFlYSm5aWFF1WVdSa1EyeGhjM01vSjJGamRHbDJaU2NwTzF4dVhIUmNkRngwWEhSY2RGeDBkR2hwY3k0a2RHRnlaMlYwTG1acGJtUW9KeTUwZVhCbExYUnZaMmRzWlNCcEp5a3VZWFIwY2lnblkyeGhjM01uTENCd2NtVjJhV1YzVkhsd1pTNW5aWFJKWTI5dVEyeGhjM01vS1NBcklDY25LVHRjYmx4MFhIUmNkRngwWEhSOVhHNWNkRngwWEhSY2RIMHBPMXh1WEhSY2RGeDBmU2s3WEc1Y2RIMWNibjFjYmlJc0lpOHFJQzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRYRzRnSUZObGJHVmpkRUp2ZUM1cWN5QXlNREU1TFRBMkxUQTNYRzRnSUVkaGJXSnBieUJIYldKSVhHNGdJR2gwZEhBNkx5OTNkM2N1WjJGdFltbHZMbVJsWEc0Z0lFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE9TQkhZVzFpYVc4Z1IyMWlTRnh1SUNCU1pXeGxZWE5sWkNCMWJtUmxjaUIwYUdVZ1IwNVZJRWRsYm1WeVlXd2dVSFZpYkdsaklFeHBZMlZ1YzJVZ0tGWmxjbk5wYjI0Z01pbGNiaUFnVzJoMGRIQTZMeTkzZDNjdVoyNTFMbTl5Wnk5c2FXTmxibk5sY3k5bmNHd3RNaTR3TG1oMGJXeGRYRzRnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0S2k5Y2JseHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNiaThxS2x4dUlDb2dVMlZzWldOMElGZHBaR2RsZENCRGJHRnpjMXh1SUNwY2JpQXFJRlJvYVhNZ2QybGtaMlYwSUhkcGJHd2dZM0psWVhSbElHRWdjMmx0Y0d4bElITmxiR1ZqZENCaWIzZ2dZVzVrSUhCdmNIVnNZWFJsSUdsMElIZHBkR2dnZEdobElIWmhiSFZsY3lCbWNtOXRYRzRnS2lCMGFHVWdaVzUwYVhSNUxseHVJQ292WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JqYkdGemN5QlRaV3hsWTNSQ2IzZ2dlMXh1WEhRdktpcGNibHgwSUNvZ1EyeGhjM01nUTI5dWMzUnlkV04wYjNKY2JseDBJQ29nWEc1Y2RDQXFJRUJ3WVhKaGJTQjdVMlYwZEdsdVozMGdaVzUwYVhSNUlFTnZiblJoYVc1eklIUm9aU0J6WlhSMGFXNW5JR2x1Wm05eWJXRjBhVzl1TGx4dVhIUWdLaUJBY0dGeVlXMGdlMU4wZVd4bFEyOXVabWxuZFhKaGRHbHZibjBnYzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1SUZKbFptVnlaVzVqWlNCMGJ5QjBhR1VnWTNWeWNtVnVkQ0JqYjI1bWFXZDFjbUYwYVc5dUlHOWlhbVZqZEM1Y2JseDBJQ292WEc1Y2RHTnZibk4wY25WamRHOXlLR1Z1ZEdsMGVTd2djM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVLU0I3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2hsYm5ScGRIa3BPMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5QWW1wbFkzUW9jM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVLVHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1UyVjBkR2x1WjMxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxtVnVkR2wwZVNBOUlHVnVkR2wwZVR0Y2JseDBYSFJjYmx4MFhIUXZLaXBjYmx4MFhIUWdLaUJBZEhsd1pTQjdVM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVmVnh1WEhSY2RDQXFMMXh1WEhSY2RIUm9hWE11YzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1SUQwZ2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dU8xeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nU1c1cGRHbGhiR2w2WlNCMGFHVWdkMmxrWjJWMExseHVYSFFnS2k5Y2JseDBhVzVwZEdsaGJHbDZaU2dwSUh0Y2JseDBYSFJqYjI1emRDQWtaV3hsYldWdWRDQTlJQ1FvSnk1bFpHbDBMVzl3ZEdsdmJuTXRZMjl1ZEdGcGJtVnlJQ01uSUNzZ2RHaHBjeTVsYm5ScGRIa3VaMlYwVG1GdFpTZ3BLVHRjYmx4MFhIUmNibHgwWEhRa1pXeGxiV1Z1ZEM1amFHRnVaMlVvS0NrZ1BUNGdlMXh1WEhSY2RGeDBiR1YwSUdadmRXNWtJRDBnWm1Gc2MyVTdYRzVjZEZ4MFhIUmNibHgwWEhSY2RDOHZJRlZ3WkdGMFpTQjBhR1VnYzNSNWJHVWdZMjl1Wm1sbmRYSmhkR2x2Ymk0Z1hHNWNkRngwWEhRa0xtVmhZMmdvZEdocGN5NXpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNHVaMlYwVTJWMGRHbHVaM01vS1N3Z0tHbHVaR1Y0TENCelpYUjBhVzVuS1NBOVBpQjdYRzVjZEZ4MFhIUmNkQ1F1WldGamFDaHpaWFIwYVc1bkxtZGxkRVZ1ZEhKcFpYTW9LU3dnS0dsdVpHVjRMQ0JsYm5SeWVTa2dQVDRnZTF4dVhIUmNkRngwWEhSY2RHbG1JQ2hsYm5SeWVTNW5aWFJPWVcxbEtDa2dQVDA5SUhSb2FYTXVaVzUwYVhSNUxtZGxkRTVoYldVb0tTa2dlMXh1WEhSY2RGeDBYSFJjZEZ4MFpXNTBjbmt1YzJWMFZtRnNkV1VvSkdWc1pXMWxiblF1ZG1Gc0tDa3BPMXh1WEhSY2RGeDBYSFJjZEZ4MFptOTFibVFnUFNCMGNuVmxPMXh1WEhSY2RGeDBYSFJjZEZ4MGNtVjBkWEp1SUdaaGJITmxPMXh1WEhSY2RGeDBYSFJjZEgxY2JseDBYSFJjZEZ4MGZTazdYRzVjZEZ4MFhIUmNkRnh1WEhSY2RGeDBYSFJwWmlBb1ptOTFibVFwSUh0Y2JseDBYSFJjZEZ4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEc1Y2RGeDBYSFJjZEgxY2JseDBYSFJjZEgwcE8xeHVYSFJjZEgwcE8xeHVYSFJjZEZ4dVhIUmNkQ1JsYkdWdFpXNTBMblpoYkNoMGFHbHpMbVZ1ZEdsMGVTNW5aWFJXWVd4MVpTZ3BLVHRjYmx4MFhIUmNibHgwWEhRdkx5QkJaR1FnYzJWMGRHbHVaeUIwWVdkeklIUnZJSFJvWlNCd1lYSmxiblFnWENJdVptOXliUzFuY205MWNGd2lJR1ZzWlcxbGJuUXVYRzVjZEZ4MGFXWWdLSFJvYVhNdVpXNTBhWFI1TG1kbGRGUmhaM01vS1NBaFBUMGdiblZzYkNrZ2UxeHVYSFJjZEZ4MFkyOXVjM1FnZEdGbmN5QTlJSFJvYVhNdVpXNTBhWFI1TG1kbGRGUmhaM01vS1M1cWIybHVLQ2Q4SnlrN1hHNWNkRngwWEhRa1pXeGxiV1Z1ZEM1d1lYSmxiblJ6S0NjdVptOXliUzFuY205MWNDY3BMbUYwZEhJb0oyUmhkR0V0ZEdGbmN5Y3NJSFJoWjNNcE8xeHVYSFJjZEgxY2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRWRsZENCMGFHVWdkMmxrWjJWMElFaFVUVXhjYmx4MElDcGNibHgwSUNvZ1FISmxkSFZ5YmlCN1UzUnlhVzVuZlZ4dVhIUWdLaTljYmx4MFoyVjBTSFJ0YkNncElIdGNibHgwWEhSamIyNXpkQ0IwWlcxd2JHRjBaU0E5SUNRb0p5TjNhV1JuWlhRdGMyVnNaV04wTFhSbGJYQnNZWFJsSnlrdWFIUnRiQ2dwTzF4dVhIUmNkRnh1WEhSY2RDOHZJRU52Ym5abGNuUWdkR2hsSUc5eWFXZHBibUZzSUZObGRIUnBibWNnYVc1emRHRnVZMlVnYVc1MGJ5QmhJR04xYzNSdmJTQnZZbXBsWTNRZ2FXNGdiM0prWlhJZ2RHOGdjM1Z3Y0c5eWRDQmNibHgwWEhRdkx5QnZZbXBsWTNRZ2JHbDBaWEpoYkhNZ2FXNGdhVzRnZEdobElITmxiR1ZqZEMxMGVYQmxJSE5sZEhScGJtZHpMaUJVYUdVZ1pHbHpjR3hoZVNCMFpYaDBjeUJ6YUc5MWJHUWdZbVVnZEhKaGJuTnNZWFJsWkM0Z1hHNWNkRngwWEc1Y2RGeDBZMjl1YzNRZ2MyVjBkR2x1WnlBOUlIdGNibHgwWEhSY2RHNWhiV1U2SUhSb2FYTXVaVzUwYVhSNUxtZGxkRTVoYldVb0tTeGNibHgwWEhSY2RIUnBkR3hsT2lCMGFHbHpMbVZ1ZEdsMGVTNW5aWFJVYVhSc1pTZ3BMRnh1WEhSY2RGeDBiM0IwYVc5dWN6b2dXMTFjYmx4MFhIUjlPMXh1WEhSY2RGeHVYSFJjZENRdVpXRmphQ2gwYUdsekxtVnVkR2wwZVM1blpYUlBjSFJwYjI1ektDa3NJQ2hwYm1SbGVDd2diM0IwYVc5dUtTQTlQaUI3WEc1Y2RGeDBYSFJzWlhRZ1pXNTBjbms3WEc1Y2RGeDBYSFJjYmx4MFhIUmNkR2xtSUNoMGVYQmxiMllnYjNCMGFXOXVJRDA5UFNBbmIySnFaV04wSnlrZ2V5QXZMeUJVYUdVZ2IzQjBhVzl1SUdaeWIyMGdkR2hsSUVwVFQwNGdabWxzWlNCcGN5QmhiaUJ2WW1wbFkzUWdiR2wwWlhKaGJDNWNibHgwWEhSY2RGeDBZMjl1YzNRZ2IzQjBhVzl1UzJWNUlEMGdUMkpxWldOMExtdGxlWE1vYjNCMGFXOXVLVnN3WFR0Y2JseDBYSFJjZEZ4MFpXNTBjbmtnUFNCN1hHNWNkRngwWEhSY2RGeDBkbUZzZFdVNklHOXdkR2x2Ymt0bGVTeGNibHgwWEhSY2RGeDBYSFIwWlhoME9pQlRkSGxzWlVWa2FYUXVUR0Z1WjNWaFoyVXVkSEpoYm5Oc1lYUmxLRzl3ZEdsdmJsdHZjSFJwYjI1TFpYbGRMQ0FuZEdWdGNHeGhkR1VuS1Z4dVhIUmNkRngwWEhSOU8xeHVYSFJjZEZ4MGZTQmxiSE5sSUhzZ0x5OGdWR2hsSUc5d2RHbHZiaUJtY205dElIUm9aU0JLVTA5T0lHWnBiR1VnYVhNZ2FuVnpkQ0JoSUhOMGNtbHVaeTVjYmx4MFhIUmNkRngwWlc1MGNua2dQU0I3WEc1Y2RGeDBYSFJjZEZ4MGRtRnNkV1U2SUc5d2RHbHZiaXhjYmx4MFhIUmNkRngwWEhSMFpYaDBPaUJ2Y0hScGIyNWNibHgwWEhSY2RGeDBmVHRjYmx4MFhIUmNkSDFjYmx4MFhIUmNkRnh1WEhSY2RGeDBjMlYwZEdsdVp5NXZjSFJwYjI1ekxuQjFjMmdvWlc1MGNua3BPMXh1WEhSY2RIMHBPMXh1WEhSY2RGeHVYSFJjZEhKbGRIVnliaUJOZFhOMFlXTm9aUzV5Wlc1a1pYSW9kR1Z0Y0d4aGRHVXNJSE5sZEhScGJtY3BPMXh1WEhSOVhHNTlYRzRpTENJdktpQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExWeHVJQ0JUZEhsc1pWVndiRzloWkM1cWN5QXlNREU1TFRBMkxUQTNYRzRnSUVkaGJXSnBieUJIYldKSVhHNGdJR2gwZEhBNkx5OTNkM2N1WjJGdFltbHZMbVJsWEc0Z0lFTnZjSGx5YVdkb2RDQW9ZeWtnTWpBeE9TQkhZVzFpYVc4Z1IyMWlTRnh1SUNCU1pXeGxZWE5sWkNCMWJtUmxjaUIwYUdVZ1IwNVZJRWRsYm1WeVlXd2dVSFZpYkdsaklFeHBZMlZ1YzJVZ0tGWmxjbk5wYjI0Z01pbGNiaUFnVzJoMGRIQTZMeTkzZDNjdVoyNTFMbTl5Wnk5c2FXTmxibk5sY3k5bmNHd3RNaTR3TG1oMGJXeGRYRzRnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0S2k5Y2JseHVYRzR2S2lCbmJHOWlZV3h6SUMxTmIyUmhiQ0FxTDF4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtbHRjRzl5ZENCTmIyUmhiQ0JtY205dElDY3VMaTlzYVdKekwwMXZaR0ZzSnp0Y2JseHVMeW9xWEc0Z0tpQlRkSGxzWlNCVmNHeHZZV1FnVjJsa1oyVjBYRzRnS2x4dUlDb2dWR2hwY3lCM2FXUm5aWFFnZDJsc2JDQjFjMlVnZEdobElHcHhkV1Z5ZVMxbWFXeGxkWEJzYjJGa0lIQnNkV2RwYmlCcGJpQnZjbVJsY2lCMGJ5QjFjR3h2WVdRZ2RHaGxJSE4wZVd4bFhHNGdLaUIwYnlCMGFHVWdjMlZ5ZG1WeUlIZHBkR2dnVUU5VFZDQnlaWEYxWlhOMElHbHVkRzhnWVNCb2FXUmtaVzRnYVdaeVlXMWxMbHh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJUZEhsc1pWVndiRzloWkNCN1hHNWNkQzhxS2x4dVhIUWdLaUJEYkdGemN5QkRiMjV6ZEhKMVkzUnZjbHh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTJwUmRXVnllWDBnSkhSaGNtZGxkQ0JVYUdVZ2RHRnlaMlYwSUhObGJHVmpkRzl5SUhSdklHSmxJR052Ym5abGNuUmxaQ0JwYm5SdklHRnVJRk4wZVd4bFZYQnNiMkZrSUdWc1pXMWxiblF1SUZSb2FYTmNibHgwSUNvZ2JYVnpkQ0JpWlNCaElHbHVjSFYwT21acGJHVWdaV3hsYldWdWRDNWNibHgwSUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUhWeWJDQlVhR1VnVlZKTUlIUm9ZWFFnZDJsc2JDQmlaU0IxYzJWa0lIUnZJRkJQVTFRZ2RHaGxJR1pwYkdVdVhHNWNkQ0FxTDF4dVhIUmpiMjV6ZEhKMVkzUnZjaWdrZEdGeVoyVjBMQ0IxY213cElIdGNibHgwWEhSVGRIbHNaVVZrYVhRdVZtRnNhV1JoZEc5eUxtbHpUMkpxWldOMEtDUjBZWEpuWlhRcE8xeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlRkSEpwYm1jb2RYSnNLVHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQlVhR1VnZEc4Z1ltVWdZMjl1ZG1WeWRHVmtJR2x1ZEc4Z1lTQnFjWFZsY25rZ1lXcGhlQzFvWVc1a2JHVnlMbHh1WEhSY2RDQXFYRzVjZEZ4MElDb2dRSFI1Y0dVZ2UycFJkV1Z5ZVgxY2JseDBYSFFnS2k5Y2JseDBYSFIwYUdsekxpUjBZWEpuWlhRZ1BTQWtkR0Z5WjJWME8xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZWU1RDQjBieUJpWlNCMWMyVmtJRzl1SUhWd2JHOWhaQzVjYmx4MFhIUWdLbHh1WEhSY2RDQXFJRUIwZVhCbElIdFRkSEpwYm1kOVhHNWNkRngwSUNvdlhHNWNkRngwZEdocGN5NTFjbXdnUFNCMWNtdzdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCVWNtbG5aMlZ5SUhSb1pTQm1hV3hsSUhWd2JHOWhaQzVjYmx4MElDcGNibHgwSUNvZ1UybHVZMlVnZEdocGN5QmpiR0Z6Y3lCcGN5QmhJSGR5WVhCd1pYSWdabTl5SUhSb1pTQnFjWFZsY25rdFptbHNaWFZ3Ykc5aFpDQndiSFZuYVc0Z2FYUWdkMmxzYkNCb1lXNWtiR1VnZEdobElFRktRVmhjYmx4MElDb2dabUZwYkhWeVpTQnZiaUJwZEhNZ2IzZHVMbHh1WEhRZ0tseHVYSFFnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMzBnYzNSNWJHVk9ZVzFsSUZSb1pTQnVZVzFsSUc5bUlIUm9aU0J1WlhjZ2MzUjViR1V1WEc1Y2RDQXFYRzVjZENBcUlFQnlaWFIxY200Z2UycFJkV1Z5ZVM1UWNtOXRhWE5sZlNCU1pYUjFjbTV6SUdFZ2NISnZiV2x6WlNCdlltcGxZM1FnZEdoaGRDQjNhV3hzSUdKbElISmxjMjlzZG1Wa0lIZHBkR2dnZEdobElITmxjblpsY2lkeklISmxjM0J2Ym5ObExseHVYSFFnS2k5Y2JseDBkWEJzYjJGa0tITjBlV3hsVG1GdFpTa2dlMXh1WEhSY2RHTnZibk4wSUdSbFptVnljbVZrSUQwZ0pDNUVaV1psY25KbFpDZ3BPMXh1WEhSY2RHTnZibk4wSUdacGJHVnpUR2x6ZENBOUlIUm9hWE11SkhSaGNtZGxkQzVuWlhRb01Da3VabWxzWlhNN1hHNWNkRngwWEc1Y2RGeDBkR2hwY3k0a2RHRnlaMlYwTG1acGJHVjFjR3h2WVdRb2UxeHVYSFJjZEZ4MFptOXliVVJoZEdFNklIdHpkSGxzWlY5dVlXMWxPaUJ6ZEhsc1pVNWhiV1Y5TEZ4dVhIUmNkRngwZFhKc09pQjBhR2x6TG5WeWJDeGNibHgwWEhSY2RHUmhkR0ZVZVhCbE9pQW5hbk52Ymljc1hHNWNkRngwWEhSaGRYUnZWWEJzYjJGa09pQm1ZV3h6WlN4Y2JseDBYSFJjZEdGalkyVndkRVpwYkdWVWVYQmxjem9nTHloY1hDNThYRnd2S1NocWMyOXVLU1F2YVN4Y2JseDBYSFJjZEdadmNtTmxTV1p5WVcxbFZISmhibk53YjNKME9pQjBjblZsWEc1Y2RGeDBmU2s3WEc1Y2RGeDBYRzVjZEZ4MGRHaHBjeTRrZEdGeVoyVjBMbVpwYkdWMWNHeHZZV1FvSjNObGJtUW5MQ0I3Wm1sc1pYTTZJR1pwYkdWelRHbHpkSDBwWEc1Y2RGeDBYSFF1Wkc5dVpTaHlaWE4xYkhRZ1BUNGdlMXh1WEhSY2RGeDBYSFJrWldabGNuSmxaQzV5WlhOdmJIWmxLSEpsYzNWc2RDazdYRzVjZEZ4MFhIUjlLVnh1WEhSY2RGeDBMbVpoYVd3b0tHcHhlR2h5TENCMFpYTjBVM1JoZEhWekxDQmxjbkp2Y2xSb2NtOTNiaWtnUFQ0Z2UxeHVYSFJjZEZ4MFhIUk5iMlJoYkM1dFpYTnpZV2RsS0ZOMGVXeGxSV1JwZEM1TVlXNW5kV0ZuWlM1MGNtRnVjMnhoZEdVb0ozUnBkR3hsWDNWd2JHOWhaRjltWVdsc2RYSmxKeXdnSjNOMGVXeGxYMlZrYVhRbktTeGNibHgwWEhSY2RGeDBYSFJUZEhsc1pVVmthWFF1VEdGdVozVmhaMlV1ZEhKaGJuTnNZWFJsS0NkdFpYTnpZV2RsWDNWd2JHOWhaRjltWVdsc2RYSmxKeXdnSjNOMGVXeGxYMlZrYVhRbktTazdYRzVjZEZ4MFhIUmNkRk4wZVd4bFJXUnBkQzVFWldKMVp5NWxjbkp2Y2lnblUzUjViR1ZWY0d4dllXUWdWMmxrWjJWMElFVnljbTl5T2lBbkxDQmxjbkp2Y2xSb2NtOTNiaXdnZEdWemRGTjBZWFIxY3l3Z2FuRjRhSElwTzF4dVhIUmNkRngwZlNrN1hHNWNkRngwWEc1Y2RGeDBjbVYwZFhKdUlHUmxabVZ5Y21Wa0xuQnliMjFwYzJVb0tUdGNibHgwZlZ4dWZWeHVJaXdpTHlvZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMxY2JpQWdVM2RwZEdOb0xtcHpJREl3TVRrdE1EWXRNRGRjYmlBZ1IyRnRZbWx2SUVkdFlraGNiaUFnYUhSMGNEb3ZMM2QzZHk1bllXMWlhVzh1WkdWY2JpQWdRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTVJRWRoYldKcGJ5QkhiV0pJWEc0Z0lGSmxiR1ZoYzJWa0lIVnVaR1Z5SUhSb1pTQkhUbFVnUjJWdVpYSmhiQ0JRZFdKc2FXTWdUR2xqWlc1elpTQW9WbVZ5YzJsdmJpQXlLVnh1SUNCYmFIUjBjRG92TDNkM2R5NW5iblV1YjNKbkwyeHBZMlZ1YzJWekwyZHdiQzB5TGpBdWFIUnRiRjFjYmlBZ0xTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwcUwxeHVYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1THlvcVhHNGdLaUJUZDJsMFkyZ2dWMmxrWjJWMFhHNGdLaTljYm1WNGNHOXlkQ0JrWldaaGRXeDBJR05zWVhOeklGTjNhWFJqYUNCN1hHNWNkQzhxS2x4dVhIUWdLaUJEYkdGemN5QkRiMjV6ZEhKMVkzUnZjaUJjYmx4MElDb2dYRzVjZENBcUlFQndZWEpoYlNCN1UyVjBkR2x1WjMwZ1pXNTBhWFI1SUVOdmJuUmhhVzV6SUhSb1pTQnpaWFIwYVc1bklHbHVabTl5YldGMGFXOXVMbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxTjBlV3hsUTI5dVptbG5kWEpoZEdsdmJuMGdjM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVJRkpsWm1WeVpXNWpaU0IwYnlCMGFHVWdZM1Z5Y21WdWRDQmpiMjVtYVdkMWNtRjBhVzl1SUc5aWFtVmpkQzVjYmx4MElDb3ZYRzVjZEdOdmJuTjBjblZqZEc5eUtHVnVkR2wwZVN3Z2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUtTQjdYRzVjZEZ4MFUzUjViR1ZGWkdsMExsWmhiR2xrWVhSdmNpNXBjMDlpYW1WamRDaGxiblJwZEhrcE8xeHVYSFJjZEZOMGVXeGxSV1JwZEM1V1lXeHBaR0YwYjNJdWFYTlBZbXBsWTNRb2MzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dUtUdGNibHgwWEhSY2JseDBYSFF2S2lwY2JseDBYSFFnS2lCQWRIbHdaU0I3VTJWMGRHbHVaMzFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG1WdWRHbDBlU0E5SUdWdWRHbDBlVHRjYmx4MFhIUmNibHgwWEhRdktpcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1UzUjViR1ZEYjI1bWFXZDFjbUYwYVc5dWZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVjM1I1YkdWRGIyNW1hV2QxY21GMGFXOXVJRDBnYzNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1TzF4dVhIUjlYRzVjZEZ4dVhIUXZLaXBjYmx4MElDb2dTVzVwZEdsaGJHbDZaU0IwYUdVZ2QybGtaMlYwTGx4dVhIUWdLaTljYmx4MGFXNXBkR2xoYkdsNlpTZ3BJSHRjYmx4MFhIUmpiMjV6ZENBa1pXeGxiV1Z1ZENBOUlDUW9KeTVsWkdsMExXOXdkR2x2Ym5NdFkyOXVkR0ZwYm1WeUlDTW5JQ3NnZEdocGN5NWxiblJwZEhrdVoyVjBUbUZ0WlNncEtUdGNibHgwWEhSY2JseDBYSFFrWld4bGJXVnVkQzVqYUdGdVoyVW9LQ2tnUFQ0Z2UxeHVYSFJjZEZ4MGJHVjBJR1p2ZFc1a0lEMGdabUZzYzJVN1hHNWNkRngwWEhSY2JseDBYSFJjZEM4dklGVndaR0YwWlNCMGFHVWdjM1I1YkdVZ1kyOXVabWxuZFhKaGRHbHZiaTRnWEc1Y2RGeDBYSFFrTG1WaFkyZ29kR2hwY3k1emRIbHNaVU52Ym1acFozVnlZWFJwYjI0dVoyVjBVMlYwZEdsdVozTW9LU3dnS0dsdVpHVjRMQ0J6WlhSMGFXNW5LU0E5UGlCN1hHNWNkRngwWEhSY2RDUXVaV0ZqYUNoelpYUjBhVzVuTG1kbGRFVnVkSEpwWlhNb0tTd2dLR2x1WkdWNExDQmxiblJ5ZVNrZ1BUNGdlMXh1WEhSY2RGeDBYSFJjZEdsbUlDaGxiblJ5ZVM1blpYUk9ZVzFsS0NrZ1BUMDlJSFJvYVhNdVpXNTBhWFI1TG1kbGRFNWhiV1VvS1NrZ2UxeHVYSFJjZEZ4MFhIUmNkRngwWlc1MGNua3VjMlYwVm1Gc2RXVW9KR1ZzWlcxbGJuUXVjSEp2Y0NnblkyaGxZMnRsWkNjcEtUdGNibHgwWEhSY2RGeDBYSFJjZEdadmRXNWtJRDBnZEhKMVpUdGNibHgwWEhSY2RGeDBYSFJjZEhKbGRIVnliaUJtWVd4elpUdGNibHgwWEhSY2RGeDBYSFI5WEc1Y2RGeDBYSFJjZEgwcE8xeHVYSFJjZEZ4MFhIUmNibHgwWEhSY2RGeDBhV1lnS0dadmRXNWtLU0I3WEc1Y2RGeDBYSFJjZEZ4MGNtVjBkWEp1SUdaaGJITmxPMXh1WEhSY2RGeDBYSFI5WEc1Y2RGeDBYSFI5S1R0Y2JseDBYSFI5S1R0Y2JseDBYSFJjYmx4MFhIUXZMeUJUWlhRZ2FXNXBkR2xoYkNCMllXeDFaUzRnWEc1Y2RGeDBKR1ZzWlcxbGJuUXVjSEp2Y0NnblkyaGxZMnRsWkNjc0lIUm9hWE11Wlc1MGFYUjVMbWRsZEZaaGJIVmxLQ2twTzF4dVhIUmNkRnh1WEhSY2RDOHZJRUZrWkNCelpYUjBhVzVuSUhSaFozTWdkRzhnZEdobElIQmhjbVZ1ZENCY0lpNW1iM0p0TFdkeWIzVndYQ0lnWld4bGJXVnVkQzVjYmx4MFhIUnBaaUFvZEdocGN5NWxiblJwZEhrdVoyVjBWR0ZuY3lncElDRTlQU0J1ZFd4c0tTQjdYRzVjZEZ4MFhIUmpiMjV6ZENCMFlXZHpJRDBnZEdocGN5NWxiblJwZEhrdVoyVjBWR0ZuY3lncExtcHZhVzRvSjN3bktUdGNibHgwWEhSY2RDUmxiR1Z0Wlc1MExuQmhjbVZ1ZEhNb0p5NW1iM0p0TFdkeWIzVndKeWt1WVhSMGNpZ25aR0YwWVMxMFlXZHpKeXdnZEdGbmN5azdYRzVjZEZ4MGZWeHVYSFI5WEc1Y2RGeHVYSFF2S2lwY2JseDBJQ29nUjJWMElGZHBaR2RsZENCSVZFMU1YRzVjZENBcVhHNWNkQ0FxSUVCeVpYUjFjbTRnZTFOMGNtbHVaMzFjYmx4MElDb3ZYRzVjZEdkbGRFaDBiV3dvS1NCN1hHNWNkRngwWTI5dWMzUWdkR1Z0Y0d4aGRHVWdQU0FrS0NjamQybGtaMlYwTFhOM2FYUmphQzEwWlcxd2JHRjBaU2NwTG1oMGJXd29LVHRjYmx4MFhIUnlaWFIxY200Z1RYVnpkR0ZqYUdVdWNtVnVaR1Z5S0hSbGJYQnNZWFJsTENCMGFHbHpMbVZ1ZEdsMGVTazdYRzVjZEgxY2JuMWNiaUlzSWk4cUlDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdFhHNGdJRlJsYlhCc1lYUmxVSEpsZG1sbGR5NXFjeUF5TURFNUxUQTJMVEEzWEc0Z0lFZGhiV0pwYnlCSGJXSklYRzRnSUdoMGRIQTZMeTkzZDNjdVoyRnRZbWx2TG1SbFhHNGdJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhPU0JIWVcxaWFXOGdSMjFpU0Z4dUlDQlNaV3hsWVhObFpDQjFibVJsY2lCMGFHVWdSMDVWSUVkbGJtVnlZV3dnVUhWaWJHbGpJRXhwWTJWdWMyVWdLRlpsY25OcGIyNGdNaWxjYmlBZ1cyaDBkSEE2THk5M2QzY3VaMjUxTG05eVp5OXNhV05sYm5ObGN5OW5jR3d0TWk0d0xtaDBiV3hkWEc0Z0lDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdEtpOWNibHh1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYmk4cUtseHVJQ29nVkdWdGNHeGhkR1VnVUhKbGRtbGxkeUJYYVdSblpYUmNiaUFxWEc0Z0tpQlVhR2x6SUhkcFpHZGxkQ0JwY3lCaElIZHlZWEJ3WlhJZ1ptOXlJR0Z1SUdsbWNtRnRaU0JsYkdWdFpXNTBJSFJvWVhRZ2QybHNiQ0JrYVhOd2JHRjVJSFJvWlNCMFpXMXdiR0YwWlNCd2NtVjJhV1YzTGlCVmMyVmNiaUFxSUhSb1pTQmNJbU5vWVc1blpWQnlaWFpwWlhkY0lpQnRaWFJvYjJRZ2RHOGdZMmhoYm1kbElIUm9aU0JqZFhKeVpXNTBJSEJ5WlhacFpYY2dkSGx3WlM1Y2JpQXFMMXh1Wlhod2IzSjBJR1JsWm1GMWJIUWdZMnhoYzNNZ1ZHVnRjR3hoZEdWUWNtVjJhV1YzSUh0Y2JseDBMeW9xWEc1Y2RDQXFJRU5zWVhOeklFTnZibk4wY25WamRHOXlJRnh1WEhRZ0tpQmNibHgwSUNvZ1FIQmhjbUZ0SUh0cVVYVmxjbmw5SUNSMFlYSm5aWFFnVkdGeVoyVjBJRHhrYVhZK0lHVnNaVzFsYm5RZ2IyWWdkR2hsSUhSbGJYQnNZWFJsSUhCeVpYWnBaWGN1WEc1Y2RDQXFJRUJ3WVhKaGJTQjdVM1J5YVc1bmZTQndjbVYyYVdWM1ZYSnNJRlJvWlNCd2NtVjJhV1YzSUZWU1RDQnZaaUIwYUdVZ2RHVnRjR3hoZEdVdVhHNWNkQ0FxTDF4dVhIUmpiMjV6ZEhKMVkzUnZjaWdrZEdGeVoyVjBMQ0J3Y21WMmFXVjNWWEpzS1NCN1hHNWNkRngwVTNSNWJHVkZaR2wwTGxaaGJHbGtZWFJ2Y2k1cGMwOWlhbVZqZENna2RHRnlaMlYwS1R0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selUzUnlhVzVuS0hCeVpYWnBaWGRWY213cE8xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUZSaGNtZGxkQ0JRY21WMmFXVjNJRk5sYkdWamRHOXlYRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN2FsRjFaWEo1ZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdUpIUmhjbWRsZENBOUlDUjBZWEpuWlhRN1hHNWNkRngwWEc1Y2RGeDBMeW9xWEc1Y2RGeDBJQ29nVkdobElIUmxiWEJzWVhSbElIQnlaWFpwWlhjdFZWSk1YRzVjZEZ4MElDcGNibHgwWEhRZ0tpQkFkSGx3WlNCN1UzUnlhVzVuZlZ4dVhIUmNkQ0FxTDF4dVhIUmNkSFJvYVhNdWNISmxkbWxsZDFWeWJDQTlJSEJ5WlhacFpYZFZjbXc3WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkpibWwwYVdGc2FYcGxJSFJvWlNCM2FXUm5aWFF1WEc1Y2RDQXFYRzVjZENBcUlFTmhiR3dnZEdocGN5QnRaWFJvYjJRZ2RHOGdZM0psWVhSbElIUm9aU0J5WlhGMWFYSmxaQ0JJVkUxTUlITjBjblZqZEhWeVpTQm1iM0lnZEdobElIZHBaR2RsZEM1Y2JseDBJQ292WEc1Y2RHbHVhWFJwWVd4cGVtVW9LU0I3WEc1Y2RGeDBMeThnUTNKbFlYUmxJSFJvWlNCY0lteHZZV1JwYm1kY0lpQmxiR1Z0Wlc1MExpQmNibHgwWEhSamIyNXpkQ0FrYkc5aFpHbHVaMGxqYjI0Z1BTQWtLQ1FvSnlOc2IyRmthVzVuTFhOd2FXNXVaWEl0ZEdWdGNHeGhkR1VuS1M1b2RHMXNLQ2twTzF4dVhIUmNkRnh1WEhSY2RDUnNiMkZrYVc1blNXTnZibHh1WEhSY2RGeDBMbU56Y3loN1hHNWNkRngwWEhSY2RHUnBjM0JzWVhrNklDZDBZV0pzWlMxalpXeHNKeXhjYmx4MFhIUmNkRngwZG1WeWRHbGpZV3hCYkdsbmJqb2dKMjFwWkdSc1pTY3NYRzVjZEZ4MFhIUmNkSGRwWkhSb09pQW5OakJ3ZUNkY2JseDBYSFJjZEgwcE8xeHVYSFJjZEZ4dVhIUmNkR052Ym5OMElDUnNiMkZrYVc1bklEMGdKQ2duUEdScGRpQmpiR0Z6Y3oxY0lteHZZV1JwYm1kY0lqNDhMMlJwZGo0bktWeHVYSFJjZEZ4MExtTnpjeWg3WEc1Y2RGeDBYSFJjZEhCdmMybDBhVzl1T2lBblptbDRaV1FuTEZ4dVhIUmNkRngwWEhSc1pXWjBPaUFuTUNjc1hHNWNkRngwWEhSY2RIUnZjRG9nSnpBbkxGeHVYSFJjZEZ4MFhIUjNhV1IwYURvZ0p6RXdNSFozSnl4Y2JseDBYSFJjZEZ4MGFHVnBaMmgwT2lBbk1UQXdkbWduTEZ4dVhIUmNkRngwWEhSaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUNjalJrWkdKeXhjYmx4MFhIUmNkRngwWm05dWRGTnBlbVU2SUNjMk1IQjRKeXhjYmx4MFhIUmNkRngwZEdWNGRFRnNhV2R1T2lBblkyVnVkR1Z5Snl4Y2JseDBYSFJjZEZ4MFpHbHpjR3hoZVRvZ0ozUmhZbXhsSnl4Y2JseDBYSFJjZEZ4MGIzWmxjbVpzYjNjNklDZG9hV1JrWlc0blhHNWNkRngwWEhSOUtUdGNibHgwWEhSY2JseDBYSFJqYjI1emRDQWtaR2x6WVdKc1pVeGhlV1Z5SUQwZ0pDZ25QR1JwZGlCamJHRnpjejFjSW1ScGMyRmliR1V0YkdGNVpYSmNJajQ4TDJScGRqNG5LVnh1WEhSY2RGeDBMbU56Y3loN1hHNWNkRngwWEhSY2RHUnBjM0JzWVhrNklDZHViMjVsSnl4Y2JseDBYSFJjZEZ4MGNHOXphWFJwYjI0NklDZG1hWGhsWkNjc1hHNWNkRngwWEhSY2RHeGxablE2SUNjd0p5eGNibHgwWEhSY2RGeDBkRzl3T2lBbk1DY3NYRzVjZEZ4MFhIUmNkSGRwWkhSb09pQW5NVEF3SlNjc1hHNWNkRngwWEhSY2RHaGxhV2RvZERvZ0p6RXdNQ1VuTEZ4dVhIUmNkRngwWEhSaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUNkeVoySmhLREU0TlN3Z056UXNJRGN5TENBd0xqSTNLU2NzWEc1Y2RGeDBYSFJjZEc5MlpYSm1iRzkzT2lBbmFHbGtaR1Z1SjF4dVhIUmNkRngwZlNrN1hHNWNkRngwWEc1Y2RGeDBZMjl1YzNRZ0pHbG1jbUZ0WlNBOUlDUW9KenhwWm5KaGJXVWdjM0pqUFZ3aUp5QXJJSFJvYVhNdWNISmxkbWxsZDFWeWJDQXJJQ2RjSWo0OEwybG1jbUZ0WlQ0bktUdGNibHgwWEhSY2JseDBYSFIwYUdsekxpUjBZWEpuWlhRdVlYQndaVzVrS0NScFpuSmhiV1VwTzF4dVhIUmNkRnh1WEhSY2RDUW9KMkp2WkhrbktWeHVYSFJjZEZ4MExtRndjR1Z1WkNna1pHbHpZV0pzWlV4aGVXVnlLVnh1WEhSY2RGeDBMbUZ3Y0dWdVpDZ2tiRzloWkdsdVp5NWhjSEJsYm1Rb0pHeHZZV1JwYm1kSlkyOXVLU2s3WEc1Y2RGeDBYRzVjZEZ4MGRHaHBjeTVmWW1sdVpFVjJaVzUwU0dGdVpHeGxjbk1vS1R0Y2JseDBmVnh1WEhSY2JseDBMeW9xWEc1Y2RDQXFJRU5vWVc1blpTQjBhR1VnWTNWeWNtVnVkQ0J3Y21WMmFXVjNJSFI1Y0dVZ2IyWWdkR2hsSUhSbGJYQnNZWFJsTGx4dVhIUWdLbHh1WEhRZ0tpQkFjR0Z5WVcwZ2UxQnlaWFpwWlhkVWVYQmxmU0IwZVhCbElGUm9aU0J3Y21WMmFXVjNJSFI1Y0dVZ2RHOGdZbVVnZFhObFpDNWNibHgwSUNvdlhHNWNkR05vWVc1blpWQnlaWFpwWlhjb2RIbHdaU2tnZTF4dVhIUmNkRk4wZVd4bFJXUnBkQzVXWVd4cFpHRjBiM0l1YVhOUFltcGxZM1FvZEhsd1pTazdYRzVjZEZ4MFhHNWNkRngwTHk4Z1VtVnNiMkZrSUhSb1pTQnBabkpoYldVZ1kyOXVkR1Z1ZENCMGJ5QnpiMngyWlNCM2FXNWtiM2N1Y21WemFYcGxJR1YyWlc1MElIQnliMkpzWlcwdVhHNWNkRngwWTI5dWMzUWdhV1p5WVcxbFYybHVaRzkzSUQwZ2RHaHBjeTRrZEdGeVoyVjBMbVpwYm1Rb0oybG1jbUZ0WlNjcExtZGxkQ2d3S1M1amIyNTBaVzUwVjJsdVpHOTNPMXh1WEhSY2RGeHVYSFJjZEdsbUlDaHBabkpoYldWWGFXNWtiM2N1Ykc5allYUnBiMjR1YUhKbFppQWhQVDBnSjJGaWIzVjBPbUpzWVc1ckp5a2dlMXh1WEhSY2RGeDBhV1p5WVcxbFYybHVaRzkzTG14dlkyRjBhVzl1TG5KbGJHOWhaQ2dwTzF4dVhIUmNkSDFjYmx4MFhIUmNibHgwWEhSMGFHbHpMbU4xY25KbGJuUlFjbVYyYVdWM1ZIbHdaU0E5SUhSNWNHVTdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCRmRtVnVkRG9nYVdaeVlXMWxJRlZ1Ykc5aFpGeHVYSFFnS2x4dVhIUWdLaUJBY0hKcGRtRjBaVnh1WEhRZ0tpOWNibHgwWDI5dVNXWnlZVzFsVlc1c2IyRmtLQ2tnZTF4dVhIUmNkQ1FvSjJKdlpIa25LUzVtYVc1a0tDY3ViRzloWkdsdVp5Y3BMbVpoWkdWSmJpZ3BPMXh1WEhSOVhHNWNkRnh1WEhRdktpcGNibHgwSUNvZ1JYWmxiblE2SUdsbWNtRnRaU0JNYjJGa0lFVjJaVzUwWEc1Y2RDQXFYRzVjZENBcUlGZHBiR3dnWW1VZ2RISnBaMmRsY21Wa0lHOXVZMlVnZEdobElHbG1jbUZ0WlNCamIyNTBaVzUwSUdoaGN5Qm1hVzVwYzJobFpDQnNiMkZrYVc1bkxseHVYSFFnS2x4dVhIUWdLaUJBY0hKcGRtRjBaVnh1WEhRZ0tpOWNibHgwWDI5dVNXWnlZVzFsVEc5aFpDZ3BJSHRjYmx4MFhIUjBhR2x6TGlSMFlYSm5aWFF1WTNOektIUm9hWE11WTNWeWNtVnVkRkJ5WlhacFpYZFVlWEJsTG1kbGRGQnlaWFpwWlhkRGMzTW9LU2s3WEc1Y2RGeDBYRzVjZEZ4MEpDZ25ZbTlrZVNjcExtWnBibVFvSnk1c2IyRmthVzVuSnlrdVptRmtaVTkxZENncE8xeHVYSFJjZEZ4dVhIUmNkQzh2SUVKcGJtUWdkR2hsSUhWdWJHOWhaQ0JsZG1WdWRDQjBieUIwYUdVZ2FXWnlZVzFsSUhkcGJtUnZkeUJ2WW1wbFkzUXVYRzVjZEZ4MFkyOXVjM1FnYVdaeVlXMWxWMmx1Wkc5M0lEMGdkR2hwY3k0a2RHRnlaMlYwTG1acGJtUW9KMmxtY21GdFpTY3BMbWRsZENnd0tTNWpiMjUwWlc1MFYybHVaRzkzTzF4dVhIUmNkQ1FvYVdaeVlXMWxWMmx1Wkc5M0tTNXZiaWduWW1WbWIzSmxkVzVzYjJGa0p5d2dLQ2tnUFQ0Z2RHaHBjeTVmYjI1SlpuSmhiV1ZWYm14dllXUW9LU2s3WEc1Y2RIMWNibHgwWEc1Y2RDOHFLbHh1WEhRZ0tpQkNhVzVrSUhkcFpHZGxkQ0JsZG1WdWRDQm9ZVzVrYkdWeWN5NWNibHgwSUNwY2JseDBJQ29nUUhCeWFYWmhkR1ZjYmx4MElDb3ZYRzVjZEY5aWFXNWtSWFpsYm5SSVlXNWtiR1Z5Y3lncElIdGNibHgwWEhSMGFHbHpMaVIwWVhKblpYUXVabWx1WkNnbmFXWnlZVzFsSnlsY2JseDBYSFJjZEM1dlptWW9KMnh2WVdRbktWeHVYSFJjZEZ4MExtOXVLQ2RzYjJGa0p5d2dLQ2tnUFQ0Z2RHaHBjeTVmYjI1SlpuSmhiV1ZNYjJGa0tDa3BPMXh1WEhSOVhHNTlYRzRpTENJdktpQXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExWeHVJQ0JVWlhoMFFtOTRMbXB6SURJd01Ua3RNRFl0TURkY2JpQWdSMkZ0WW1sdklFZHRZa2hjYmlBZ2FIUjBjRG92TDNkM2R5NW5ZVzFpYVc4dVpHVmNiaUFnUTI5d2VYSnBaMmgwSUNoaktTQXlNREU1SUVkaGJXSnBieUJIYldKSVhHNGdJRkpsYkdWaGMyVmtJSFZ1WkdWeUlIUm9aU0JIVGxVZ1IyVnVaWEpoYkNCUWRXSnNhV01nVEdsalpXNXpaU0FvVm1WeWMybHZiaUF5S1Z4dUlDQmJhSFIwY0RvdkwzZDNkeTVuYm5VdWIzSm5MMnhwWTJWdWMyVnpMMmR3YkMweUxqQXVhSFJ0YkYxY2JpQWdMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHFMMXh1WEc1Y2JpZDFjMlVnYzNSeWFXTjBKenRjYmx4dUx5b3FYRzRnS2lCVVpYaDBRbTk0SUZkcFpHZGxkRnh1SUNwY2JpQXFJRlJvYVhNZ2QybGtaMlYwSUhkcGJHd2dhR0Z1Wkd4bElIUm9aU0J3YkdGcGJpQjBaWGgwSUhOMGVXeGxJSE5sZEhScGJtZHpMbHh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJVWlhoMFFtOTRJSHRjYmx4MEx5b3FYRzVjZENBcUlFTnNZWE56SUVOdmJuTjBjblZqZEc5eUlGeHVYSFFnS2lCY2JseDBJQ29nUUhCaGNtRnRJSHRUWlhSMGFXNW5mU0JsYm5ScGRIa2dRMjl1ZEdGcGJuTWdkR2hsSUhObGRIUnBibWNnYVc1bWIzSnRZWFJwYjI0dVhHNWNkQ0FxSUVCd1lYSmhiU0I3VTNSNWJHVkRiMjVtYVdkMWNtRjBhVzl1ZlNCemRIbHNaVU52Ym1acFozVnlZWFJwYjI0Z1VtVm1aWEpsYm1ObElIUnZJSFJvWlNCamRYSnlaVzUwSUdOdmJtWnBaM1Z5WVhScGIyNGdiMkpxWldOMExseHVYSFFnS2k5Y2JseDBZMjl1YzNSeWRXTjBiM0lvWlc1MGFYUjVMQ0J6ZEhsc1pVTnZibVpwWjNWeVlYUnBiMjRwSUh0Y2JseDBYSFJUZEhsc1pVVmthWFF1Vm1Gc2FXUmhkRzl5TG1selQySnFaV04wS0dWdWRHbDBlU2s3WEc1Y2RGeDBVM1I1YkdWRlpHbDBMbFpoYkdsa1lYUnZjaTVwYzA5aWFtVmpkQ2h6ZEhsc1pVTnZibVpwWjNWeVlYUnBiMjRwTzF4dVhIUmNkRnh1WEhSY2RDOHFLbHh1WEhSY2RDQXFJRUIwZVhCbElIdFRaWFIwYVc1bmZWeHVYSFJjZENBcUwxeHVYSFJjZEhSb2FYTXVaVzUwYVhSNUlEMGdaVzUwYVhSNU8xeHVYSFJjZEZ4dVhIUmNkQzhxS2x4dVhIUmNkQ0FxSUVCMGVYQmxJSHRUZEhsc1pVTnZibVpwWjNWeVlYUnBiMjU5WEc1Y2RGeDBJQ292WEc1Y2RGeDBkR2hwY3k1emRIbHNaVU52Ym1acFozVnlZWFJwYjI0Z1BTQnpkSGxzWlVOdmJtWnBaM1Z5WVhScGIyNDdYRzVjZEgxY2JseDBYRzVjZEM4cUtseHVYSFFnS2lCSmJtbDBhV0ZzYVhwbElIUm9aU0IzYVdSblpYUXVYRzVjZENBcUwxeHVYSFJwYm1sMGFXRnNhWHBsS0NrZ2UxeHVYSFJjZEdOdmJuTjBJQ1JsYkdWdFpXNTBJRDBnSkNnbkxtVmthWFF0YjNCMGFXOXVjeTFqYjI1MFlXbHVaWElnSXljZ0t5QjBhR2x6TG1WdWRHbDBlUzVuWlhST1lXMWxLQ2twTzF4dVhIUmNkRnh1WEhSY2RDUmxiR1Z0Wlc1MExtTm9ZVzVuWlNnb0tTQTlQaUI3WEc1Y2RGeDBYSFJzWlhRZ1ptOTFibVFnUFNCbVlXeHpaVHRjYmx4MFhIUmNkRnh1WEhSY2RGeDBMeThnVlhCa1lYUmxJSFJvWlNCemRIbHNaU0JqYjI1bWFXZDFjbUYwYVc5dUxpQmNibHgwWEhSY2RDUXVaV0ZqYUNoMGFHbHpMbk4wZVd4bFEyOXVabWxuZFhKaGRHbHZiaTVuWlhSVFpYUjBhVzVuY3lncExDQW9hVzVrWlhnc0lITmxkSFJwYm1jcElEMCtJSHRjYmx4MFhIUmNkRngwSkM1bFlXTm9LSE5sZEhScGJtY3VaMlYwUlc1MGNtbGxjeWdwTENBb2FXNWtaWGdzSUdWdWRISjVLU0E5UGlCN1hHNWNkRngwWEhSY2RGeDBhV1lnS0dWdWRISjVMbWRsZEU1aGJXVW9LU0E5UFQwZ2RHaHBjeTVsYm5ScGRIa3VaMlYwVG1GdFpTZ3BLU0I3WEc1Y2RGeDBYSFJjZEZ4MFhIUXZMeUJUWlhRZ2RHaGxJR1JsWm1GMWJIUWdiV1YwY21saklHbG1JRzVsWTJWemMyRnllUzRnWEc1Y2RGeDBYSFJjZEZ4MFhIUmpiMjV6ZENCa1pXWmhkV3gwVFdWMGNtbGpJRDBnZEdocGN5NWxiblJwZEhrdVoyVjBSR1ZtWVhWc2RFMWxkSEpwWXlncE8xeHVYSFJjZEZ4MFhHNWNkRngwWEhSY2RGeDBYSFJwWmlBb0pHVnNaVzFsYm5RdWRtRnNLQ2tnSVQwOUlDY3dKeUFtSmlCa1pXWmhkV3gwVFdWMGNtbGpJQ0U5UFNCdWRXeHNJRnh1WEhSY2RGeDBYSFJjZEZ4MFhIUW1KaUFrWld4bGJXVnVkQzUyWVd3b0tTNXlaWEJzWVdObEtDOWJYakF0T1M0cklGMHZaeXdnSnljcFhIUTlQVDBnSkdWc1pXMWxiblF1ZG1Gc0tDa3BJSHRjYmx4MFhIUmNkRngwWEhSY2RGeDBKR1ZzWlcxbGJuUXVkbUZzS0NSbGJHVnRaVzUwTG5aaGJDZ3BJQ3NnWkdWbVlYVnNkRTFsZEhKcFl5azdYRzVjZEZ4MFhIUmNkRngwWEhSOVhHNWNkRngwWEhSY2RGeDBYSFJsYm5SeWVTNXpaWFJXWVd4MVpTZ2taV3hsYldWdWRDNTJZV3dvS1NrN1hHNWNkRngwWEhSY2RGeDBYSFJtYjNWdVpDQTlJSFJ5ZFdVN1hHNWNkRngwWEhSY2RGeDBYSFJ5WlhSMWNtNGdabUZzYzJVN1hHNWNkRngwWEhSY2RGeDBmVnh1WEhSY2RGeDBYSFI5S1R0Y2JseDBYSFJjZEZ4MFhHNWNkRngwWEhSY2RHbG1JQ2htYjNWdVpDa2dlMXh1WEhSY2RGeDBYSFJjZEhKbGRIVnliaUJtWVd4elpUdGNibHgwWEhSY2RGeDBmVnh1WEhSY2RGeDBmU2s3WEc1Y2RGeDBmU2s3WEc1Y2RGeDBYRzVjZEZ4MEx5OGdRV1JrSUhObGRIUnBibWNnZEdGbmN5QjBieUIwYUdVZ2NHRnlaVzUwSUZ3aUxtWnZjbTB0WjNKdmRYQmNJaUJsYkdWdFpXNTBMbHh1WEhSY2RHbG1JQ2gwYUdsekxtVnVkR2wwZVM1blpYUlVZV2R6S0NrZ0lUMDlJRzUxYkd3cElIdGNibHgwWEhSY2RHTnZibk4wSUhSaFozTWdQU0IwYUdsekxtVnVkR2wwZVM1blpYUlVZV2R6S0NrdWFtOXBiaWduZkNjcE8xeHVYSFJjZEZ4MEpHVnNaVzFsYm5RdWNHRnlaVzUwY3lnbkxtWnZjbTB0WjNKdmRYQW5LUzVoZEhSeUtDZGtZWFJoTFhSaFozTW5MQ0IwWVdkektUdGNibHgwWEhSOVhHNWNkSDFjYmx4MFhHNWNkQzhxS2x4dVhIUWdLaUJIWlhRZ1YybGtaMlYwSUVoVVRVeGNibHgwSUNwY2JseDBJQ29nUUhKbGRIVnliaUI3VTNSeWFXNW5mVnh1WEhRZ0tpOWNibHgwWjJWMFNIUnRiQ2dwSUh0Y2JseDBYSFJqYjI1emRDQjBaVzF3YkdGMFpTQTlJQ1FvSnlOM2FXUm5aWFF0ZEdWNGRDMTBaVzF3YkdGMFpTY3BMbWgwYld3b0tUdGNibHgwWEhSeVpYUjFjbTRnVFhWemRHRmphR1V1Y21WdVpHVnlLSFJsYlhCc1lYUmxMQ0IwYUdsekxtVnVkR2wwZVNrN1hHNWNkSDFjYm4xY2JpSXNJaThxSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0WEc0Z0lGUnBkR3hsTG1weklESXdNVGt0TURZdE1EZGNiaUFnUjJGdFltbHZJRWR0WWtoY2JpQWdhSFIwY0RvdkwzZDNkeTVuWVcxaWFXOHVaR1ZjYmlBZ1EyOXdlWEpwWjJoMElDaGpLU0F5TURFNUlFZGhiV0pwYnlCSGJXSklYRzRnSUZKbGJHVmhjMlZrSUhWdVpHVnlJSFJvWlNCSFRsVWdSMlZ1WlhKaGJDQlFkV0pzYVdNZ1RHbGpaVzV6WlNBb1ZtVnljMmx2YmlBeUtWeHVJQ0JiYUhSMGNEb3ZMM2QzZHk1bmJuVXViM0puTDJ4cFkyVnVjMlZ6TDJkd2JDMHlMakF1YUhSdGJGMWNiaUFnTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBxTDF4dVhHNWNiaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVMeW9xWEc0Z0tpQlVhWFJzWlNCWGFXUm5aWFJjYmlBcVhHNGdLaUJVYUdseklIZHBaR2RsZENCM2FXeHNJR1JwYzNCc1lYa2dZU0J3YkdGcGJpQnpkV0l0WTJGMFpXZHZjbmtnZEdsMGJHVWdZWE1nY0dGeWRDQnZaaUIwYUdVZ2MyVjBkR2x1WjNNZ2JHbHpkQzVjYmlBcUwxeHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nVkdsMGJHVWdlMXh1WEhRdktpcGNibHgwSUNvZ1EyeGhjM01nUTI5dWMzUnlkV04wYjNJZ1hHNWNkQ0FxSUZ4dVhIUWdLaUJBY0dGeVlXMGdlMU5sZEhScGJtZDlJR1Z1ZEdsMGVTQkRiMjUwWVdsdWN5QjBhR1VnYzJWMGRHbHVaeUJwYm1admNtMWhkR2x2Ymk1Y2JseDBJQ292WEc1Y2RHTnZibk4wY25WamRHOXlLR1Z1ZEdsMGVTa2dlMXh1WEhSY2RGTjBlV3hsUldScGRDNVdZV3hwWkdGMGIzSXVhWE5QWW1wbFkzUW9aVzUwYVhSNUtUdGNibHgwWEhSY2JseDBYSFF2S2lwY2JseDBYSFFnS2lCQWRIbHdaU0I3VTJWMGRHbHVaMzFjYmx4MFhIUWdLaTljYmx4MFhIUjBhR2x6TG1WdWRHbDBlU0E5SUdWdWRHbDBlVHRjYmx4MGZWeHVYSFJjYmx4MEx5b3FYRzVjZENBcUlFbHVhWFJwWVd4cGVtVWdkR2hsSUhkcFpHZGxkQzVjYmx4MElDb3ZYRzVjZEdsdWFYUnBZV3hwZW1Vb0tTQjdYRzVjZEZ4MEx5OGdUbTkwYUdsdVp5QjBieUJrYnlBdUxpNWNibHgwZlZ4dVhIUmNibHgwTHlvcVhHNWNkQ0FxSUVkbGRDQlhhV1JuWlhRZ1NGUk5URnh1WEhRZ0tseHVYSFFnS2lCQWNtVjBkWEp1SUh0VGRISnBibWQ5WEc1Y2RDQXFMMXh1WEhSblpYUklkRzFzS0NrZ2UxeHVYSFJjZEdOdmJuTjBJSFJsYlhCc1lYUmxJRDBnSkNnbkkzZHBaR2RsZEMxMGFYUnNaUzEwWlcxd2JHRjBaU2NwTG1oMGJXd29LVHRjYmx4MFhIUmpiMjV6ZENCa1lYUmhJRDBnZTF4dVhIUmNkRngwZEdsMGJHVTZJRk4wZVd4bFJXUnBkQzVNWVc1bmRXRm5aUzUwY21GdWMyeGhkR1VvZEdocGN5NWxiblJwZEhrdVoyVjBUbUZ0WlNncExDQW5kR1Z0Y0d4aGRHVW5LVnh1WEhSY2RIMDdYRzVjZEZ4MGNtVjBkWEp1SUUxMWMzUmhZMmhsTG5KbGJtUmxjaWgwWlcxd2JHRjBaU3dnWkdGMFlTazdYRzVjZEgxY2JuMWNiaUpkZlE9PSJ9