diff options
author | JoelHMikael <53561102+JoelHMikael@users.noreply.github.com> | 2022-01-18 18:57:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-18 18:57:53 +0200 |
commit | a259127b9fa0349c73340c882f6525f27f7caaed (patch) | |
tree | ad18984d3031ce6bc7ccb549415c58d77672a53f | |
parent | 8f711465194f6779271825bdb2413658880f4c18 (diff) | |
parent | edf044c1e1e0c751229549dd9d14062b230149be (diff) | |
download | LYLLRuoka-a259127b9fa0349c73340c882f6525f27f7caaed.tar.gz LYLLRuoka-a259127b9fa0349c73340c882f6525f27f7caaed.zip |
Merge pull request #1 from JoelHMikael/MYSQLDB
Mysqldb
-rw-r--r-- | 404/index.css | 3 | ||||
-rw-r--r-- | 404/index.html | 16 | ||||
-rw-r--r-- | Cont/404/index.css | 3 | ||||
-rw-r--r-- | Cont/404/index.html | 26 | ||||
-rw-r--r-- | Cont/Images/back.png | bin | 0 -> 3528 bytes | |||
-rw-r--r-- | Cont/Images/help.png | bin | 0 -> 2347 bytes | |||
-rw-r--r-- | Cont/devs/index.css | 18 | ||||
-rw-r--r-- | Cont/devs/index.html | 26 | ||||
-rw-r--r-- | Cont/index.css | 181 | ||||
-rw-r--r-- | Cont/index.html | 63 | ||||
-rw-r--r-- | Cont/non-main.css | 26 | ||||
-rw-r--r-- | README.md | 29 | ||||
-rw-r--r-- | database.js | 57 | ||||
-rw-r--r-- | dbparse.js | 260 | ||||
-rw-r--r-- | index.css | 66 | ||||
-rw-r--r-- | index.html | 55 | ||||
-rw-r--r-- | open.js | 16 | ||||
-rw-r--r-- | package.json | 29 | ||||
-rw-r--r-- | parse.js | 285 | ||||
-rw-r--r-- | parseClasses.js | 69 | ||||
-rw-r--r-- | ruokalista.txt | 7 | ||||
-rw-r--r-- | scrape.js | 14 | ||||
-rw-r--r-- | server.js | 222 | ||||
-rw-r--r-- | update.js | 21 |
24 files changed, 990 insertions, 502 deletions
diff --git a/404/index.css b/404/index.css deleted file mode 100644 index ceb8016..0000000 --- a/404/index.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - padding-top: calc(30vh); -} diff --git a/404/index.html b/404/index.html deleted file mode 100644 index e6771ad..0000000 --- a/404/index.html +++ /dev/null @@ -1,16 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf-8"> - <title>Page not found</title> - <link href="/index.css" rel="stylesheet" type="text/css"> - <link href="/404/index.css" rel="stylesheet" type="text/css"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <div class="float-block"> - <h1>404: sivua \(path\) ei löytynyt.</h1> - <p>Voi myös olla, että sinulla ei ole oikeuksia sivun tarkasteluun tai että palvelimella on tapahtunut virhe. Jos epäilet jälkimmäistä, otathan yhteyttä joel.kronqvist@edu.lohja.fi</p> - </div> - </body> -</html> diff --git a/Cont/404/index.css b/Cont/404/index.css new file mode 100644 index 0000000..664d7fb --- /dev/null +++ b/Cont/404/index.css @@ -0,0 +1,3 @@ +body { + padding-top: 30vh; +} diff --git a/Cont/404/index.html b/Cont/404/index.html new file mode 100644 index 0000000..5b01684 --- /dev/null +++ b/Cont/404/index.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html lang="fi"> + <head> + <meta charset="utf-8"> + <title>Page not found</title> + <link href="/index.css" rel="stylesheet" type="text/css"> + <link href="/non-main.css" rel="stylesheet" type="text/css"> + <link href="/404/index.css" rel="stylesheet" type="text/css"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + </head> + <body> + <div class="float-block"> + <h1>404: sivua \(path\) ei löytynyt.</h1> + <p>Voi myös olla, että palvelimella on tapahtunut virhe. Jos epäilet jälkimmäistä, otathan yhteyttä palvelusta vastaaviin henkilöihin.</p> + </div> + + <a class="back" href="/"><img src="/Images/back.png" alt="Takaisin etusivulle"></a> + + <footer> + <a href="https://www.github.com/JoelHMikael/FoodJS">Lähdekoodi</a> + <span>|</span> + <a href="/devs">Ota yhteyttä</a> + </footer> + + </body> +</html> diff --git a/Cont/Images/back.png b/Cont/Images/back.png Binary files differnew file mode 100644 index 0000000..01b9bc7 --- /dev/null +++ b/Cont/Images/back.png diff --git a/Cont/Images/help.png b/Cont/Images/help.png Binary files differnew file mode 100644 index 0000000..51d84df --- /dev/null +++ b/Cont/Images/help.png diff --git a/Cont/devs/index.css b/Cont/devs/index.css new file mode 100644 index 0000000..1cce621 --- /dev/null +++ b/Cont/devs/index.css @@ -0,0 +1,18 @@ +.column { + display: inline-block; + padding: 0; + margin: .5em; + box-sizing: border-box; + vertical-align: middle; + overflow-wrap: break-word; + width: 100%; +} + + +@media screen and (min-width: 700px) +{ + .column { + width: calc(33% - 2em); + } +} + diff --git a/Cont/devs/index.html b/Cont/devs/index.html new file mode 100644 index 0000000..69116c6 --- /dev/null +++ b/Cont/devs/index.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html lang="fi"> + <head> + <meta charset="utf-8"> + <title>Developers</title> + <link href="/index.css" rel="stylesheet" type="text/css"> + <link href="/non-main.css" rel="stylesheet" type="text/css"> + <link href="/devs/index.css" rel="stylesheet" type="text/css"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + </head> + <body> + <h1 class="shadow">Sivun kehittäjät</h1> + <p>Jos muokkaat/lisäät jotain tähän projektiin, voit pyytää serverin ylläpidosta vastaavilta, että nimesi lisätään tietokantaan.</p> + + \(devs\) + + <a class="back" href="/"><img src="/Images/back.png" alt="Takaisin etusivulle"></a> + + <footer> + <a href="https://www.github.com/JoelHMikael/FoodJS">Lähdekoodi</a> + <span>|</span> + <a href="/devs">Ota yhteyttä</a> + </footer> + + </body> +</html> diff --git a/Cont/index.css b/Cont/index.css new file mode 100644 index 0000000..80e5dc6 --- /dev/null +++ b/Cont/index.css @@ -0,0 +1,181 @@ +* { + margin: 0; + padding: 0; + text-align: center; + --info-width: 13em; + --fadetime: .3s; + --box-bg: #222; + --box-shadow: black; +} + +/*** bg etc... ***/ +body { + background: #444; + color: white; + padding: 1em; + margin-bottom: 3em; /* for the footer */ + + font-family: verdana, sans-serif; +} + +.shadow { + text-shadow: .124em .125em black; +} + +/*** dual layout ***/ +#foodshift, #food { + width: 100%; + box-sizing: border-box; + display: inline-block; + vertical-align: top; +} + +/*** responsivity ***/ +@media screen and (min-width: 700px) +{ + #foodshift + { + width: 58%; + } + #food { + width: 41%; + } +} + +/*** the ui blocks ***/ +.float-block { + display: inline-block; + margin: 1em; + padding: 1em; + + background: var(--box-bg); + border: 0 solid black; + border-radius: 5px; +} + +.float-block p, .float-block h1, .float-block h2, .float-block label, .float-block select, .float-block input { + margin: .5em; +} + +/*** the input field & choose ***/ +#input[type="text"], select { + background-color: white; +} + +/*** the send-button ***/ +#send { + background: blue; + padding: .5em; + margin: .5em; + font-weight: bold; + + position: relative; + right: .125em; + bottom: .125em; +} + +#send:hover { + right: .25em; + bottom: .25em; + box-shadow: .25em .25em; +} + +/*** Footer ***/ +footer { + position: fixed; + top: calc(100% - 3em); + left: 0; + + width: 100%; + margin: 0; + padding: 1em; + line-height: 1em; + box-sizing: border-box; + + background-color: #0d0d0d; +} + +footer > a { + color: #b3b3b3; +} + +/*** The shadowed elements ***/ +.highlight { + border: 1px solid black; + border-radius: 5px; + box-shadow: .125em .125em var(--box-shadow); +} + +/*** the info buttons & their animations ***/ +img.info:hover { + filter: drop-shadow(.125rem .125rem 0 black); + transform: translate(-0.125rem, -0.125rem); +} +img.info { + width: 1em; + height: 1em; + vertical-align: middle; + filter: drop-shadow(.0625rem .0625rem 0 black); + transform: translate(-0.0625rem, -0.0625rem); +} + +img.info + span { + position: relative; + vertical-align: middle; + left: -1em; + animation: hide-at-start calc(var(--fadetime) * 1.1); /* this hides the flash of the child element in the start */ +} +@keyframes hide-at-start { + 0% { bottom: 200vh; } + 99%{ bottom: 200vh; } + 100%{ bottom: 0; } +} + +p.infoblock { + display: inline; + position: absolute; + top: 1.5em; + left: calc(var(--info-width) * -1 - 1em); + width: var(--info-width); + z-index: 1; + + background-color: var(--box-bg); + --box-shadow: #111; + margin: 0; + padding: .5em; + border-radius: 5px 0 5px 5px; + + animation-name: fade-out; + animation-duration: var(--fadetime); + visibility: hidden; + opacity: 0; +} + +img.info:hover + span > p.infoblock { + animation-name: fade-in; + animation-duration: var(--fadetime); + visibility: visible; + opacity: 1; +} + +@keyframes fade-in { + 0% { + visibility: hidden; + opacity: 0; + } + 100% { + opacity: 1; + visibility: visible; + } +} + +@keyframes fade-out { + 0% { + opacity: 1; + visibility: visible; + } + 100% { + opacity: 0; + visibility: hidden; + } +} diff --git a/Cont/index.html b/Cont/index.html new file mode 100644 index 0000000..95dcb32 --- /dev/null +++ b/Cont/index.html @@ -0,0 +1,63 @@ +<!DOCTYPE html> +<html lang="fi"> + <head> + <meta charset="utf-8"> + <title>LYLL-ruokailuvuoro</title> + <link href="/index.css" rel="stylesheet" type="text/css"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + </head> + <body> + <header> + <h1 class="shadow">LYLL-ruoka</h1> + </header> + + <br> + + <main> + <div id="foodshift"> + <form method="GET" class="float-block"> + <label for="index" class="shadow">Opettaja, kurssi tai luokka:</label> + <br> + <input type="text" name="index" placeholder="\(example-input\)"> + <img src="/Images/help.png" class="info" alt="Siis häh?"> + <span><p class="infoblock highlight">Syötä tähän kenttään yhdeltätoista alkavan tuntisi opettaja, kurssikoodi tai luokka. Älä syötä useampaa edellä mainituista, yksi on tarpeeksi.</p></span> + <br> + <label for="day">Päivä:</label> + <br> + <select name="day"> + <option value="0">ma</option> + <option value="1">ti</option> + <option value="2">ke</option> + <option value="3">to</option> + <option value="4">pe</option> + <option value="5" disabled>la</option> + <option value="6" disabled>su</option> + </select> + <br> + <input type="submit" id="send" class="highlight" value="Löydä vuoro"> + </form> + + <br> + + <div id="shift-result" class="float-block"> + <h2 class="shadow">\(index-type\) \(shift-header\) ruokailuvuoro \(day\):</h2> + <p>\(shift\)</p> + </div> + </div> + + + <div id="food"> + <div class="float-block"> + <h2 class="shadow">\(food-header\)</h2> + <p>\(food\)</p> + </div> + </div> + </main> + + <footer> + <a href="https://www.github.com/JoelHMikael/FoodJS">Lähdekoodi</a> + <span>|</span> + <a href="/devs">Ota yhteyttä</a> + </footer> + </body> +</html> diff --git a/Cont/non-main.css b/Cont/non-main.css new file mode 100644 index 0000000..d8003ef --- /dev/null +++ b/Cont/non-main.css @@ -0,0 +1,26 @@ +.back { + display: block; + margin-left: auto; + margin-right: auto; +} + +.back > * { +} + +.back > img { + width: 4rem; + height: 4rem; + margin: 1rem; + filter: drop-shadow(.125rem .125rem 0 black); + position: relative; + bottom: .125rem; + right: .125rem; + vertical-align: middle; + display: inline; +} + +.back > img:hover { + filter: drop-shadow(.20rem .20rem 0 black); + bottom: .20rem; + right: .20rem; +} @@ -1,5 +1,30 @@ # Food-app -This is a site under development that tells you when your lesson is, when your lunch break is and what the school lunch of the day is. +Readme coming soon! ## Setup -You can add a link to this site to your startup folder to always get to know when your lunch break is when you turn on your computer in school. +If you want to set up the server, you will have to get a SSL certificate or generate one yourself. If you want to run a dedicated server that can update, you also need to add the cron jobs from crontab\_add. You must create a MySQL DB and give its login info in ../dblogin.txt. The database should have the following tables set up: + +CREATE TABLE shiftnames ( + day INT, + id INT, + name VARCHAR(128) NOT NULL, + PRIMARY KEY (day, id) +); +CREATE TABLE classes ( + course VARCHAR(6) PRIMARY KEY, + class VARCHAR(4) +); +CREATE TABLE shifts ( + day INT, + shift INT, + course VARCHAR(6), + teacher VARCHAR(4), + class VARCHAR(4), + PRIMARY KEY (day, course) +); +CREATE TABLE devs ( + id INT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(30) NOT NULL, + description VARCHAR(128), + contact VARCHAR(40) +); diff --git a/database.js b/database.js new file mode 100644 index 0000000..30396fe --- /dev/null +++ b/database.js @@ -0,0 +1,57 @@ +const mysql = require("mysql2"); + +class Database +{ + constructor(credentials) + { + this.connection = mysql.createConnection(credentials); + } + query(query, values) + { + return new Promise((resolve, reject) => + { + this.connection.query(query, values, (err, res, fields) => + { + if (err) reject(err); + resolve(res); + }); + }); + } + execute(query, values) + { + return new Promise((resolve, reject) => + { + this.connection.execute(query, values, (err, res, fields) => + { + if (err) reject(err); + resolve(res); + }); + }); + + } + query_raw(query) + { + return new Promise((resolve, reject) => + { + this.connection.query(query, (err, res, fields) => + { + if (err) + reject(err) + resolve(res); + }); + }) + } + close() + { + return new Promise((resolve, reject) => + { + this.connection.end(err => + { + if (err) reject(err); + resolve(); + }); + }); + } +} + +exports.Database = Database; diff --git a/dbparse.js b/dbparse.js new file mode 100644 index 0000000..2be3f96 --- /dev/null +++ b/dbparse.js @@ -0,0 +1,260 @@ + + +// String searching +function getCharAmount(s, c) +{ + let n = 0; + for (let c_i = 0; c_i < s.length; c_i++) + { + n += +(s[c_i] === c); + } + return n; +} +function getNextChar(s, c, i = 0) +{ + if (!(Number.isInteger(i) && (i >= 0))) + return -1; + for (; i < s.length; i++) + { + if (s[i] === c) + return i; + } + return -1; +} +function getNextLine(s, i) +{ + i = getNextChar(s, "\n", i); + i += +(i !== -1) * 1; + return i; +} +function getToLineStartingWith(s, ss, start = 0) +{ + if (!(Number.isInteger(start) && (start >= 0))) + return -1 + + let i = start; + do + { + if (s.substring(i, i + ss.length) === ss) + break; + i = getNextLine(s, i); + } while(i !== -1) + + return i; +} +function findExpression(data, expr, start = 0) +{ + if (start == -1) + return -1; + if (!(Number.isInteger(start) && (start >= 0))) + throw new TypeError("Start must be a positive integer!"); + if (typeof expr !== "string") + return -1; + while ((data.substring(start, start + expr.length) !== expr) && (start + expr.length < data.length)) + start++; + if (data.substring(start, start + expr.length) !== expr) + return -1; + return start; +} + +// Normalizing +function parseCluttered(s) +{ + if (!(typeof s === "string")) + return ""; + return s.replaceAll(".", "").replaceAll(" ", "").toUpperCase(); +} + +// Class parsing +async function writeClasses(classData, DB) +{ + classData = parseCluttered(classData) + "\n"; // newline so that loop can find last value + await DB.query_raw("DELETE FROM classes"); + // parse data to dict + let i = 0; + while (i < classData.length) + { + let separator = getNextChar(classData, ":", i); + if (separator === -1) + break; + let lineEnd = getNextChar(classData, "\n", i); + let key = classData.substring(i, separator); + let val = classData.substring(separator + 1, lineEnd); + i = lineEnd + 1; + let res = await DB.execute("INSERT INTO classes VALUES (?, ?)", [key, val]); + } +} + +async function parseLine(data, day, shift, DB) +{ + // "preprocessing" + let i = 0; + let courses = []; + let teachers = []; + const toRemove = " ja KAHDEN TUTKINNON OPINNOT 1., 2. ja 3. VUOSITASON RYHMÄT "; + if (data.substring(data.length - toRemove.length, data.length) === toRemove) + data = data.substring(0, data.length - toRemove.length); + data = data.replaceAll(",", "").replaceAll("ja ", "").replaceAll(" + ", "+"); + + while (i < data.length) + { + if (data[i] === "+") + { + + nextSpace = getNextChar(data, " ", i); + let nextNextSpace = getNextChar(data, " ", nextSpace + 1); + if (nextNextSpace === -1) + nextNextSpace = data.length; + data = `${data.substring(0, i)} ${data.substring(nextSpace + 1, nextNextSpace)} ${data.substring(i + 1, data.length)}`; + i = nextNextSpace - 1; + } + i++; + } + nextSpace = 0; + i = 0; + + const getElement = list => + { + nextSpace = getNextChar(data, " ", i); + if (nextSpace === -1) + nextSpace = data.length; + list.push(data.substring(i, nextSpace)); + i = nextSpace + 1; + } + + do + { + getElement(courses); + getElement(teachers); + } while (i < data.length) + + let values = "VALUES"; + for(let el = 0; el < courses.length; el++) + { + values += ` ROW(${day}, ${shift}, '${courses[el]}', '${teachers[el]}', NULL),`; + } + values = values.substring(0, values.length - 1); + return DB.execute(`INSERT INTO shifts ${values}`, []); +} + +async function parseDay(data, day, DB) +{ + let i = getToLineStartingWith(data, "RUOKAILUVUORO"); + let indexOfShift = 1; + while (i !== -1) + { + let endOfLine = getNextChar(data, "\n", i); + // Insert the food shift name + let shiftName = DB.execute("INSERT INTO shiftnames VALUES (?, ?, ?)", [day, indexOfShift, data.substring(i, endOfLine)]); + // get to the teachers & courses + i = endOfLine + 1; + i = getNextChar(data, "\n", i) + 1; + if (getNextChar(data, "\n", i) === -1) + endOfLine = data.length; + else + endOfLine = getNextChar(data, "\n", i); + let unparsedIndexes = data.substring(i, endOfLine); + + // do the magic + let lineParse = parseLine(unparsedIndexes, day, indexOfShift, DB); + + i = getToLineStartingWith(data, "RUOKAILUVUORO", i); + indexOfShift++; + await Promise.all([shiftName, lineParse]); + } + return 0; +} + +async function writeShifts(data, DB) +{ + weekdays = ["MAANANTAI", "TIISTAI", "KESKIVIIKKO", "TORSTAI", "PERJANTAI"]; + let deletions = Promise.all([ + DB.query_raw("DELETE FROM shifts"), + DB.query_raw("DELETE FROM shiftnames") + ]); + + // iterate over the weekdays + let i = 0; + for (let day = 0; day < weekdays.length; day++) + { + // find the start of the shifts of the day + i = getNextChar(data, "\n", findExpression(data, weekdays[day], i)) + 1; + + // find the end of the shifts of the day + let end = [ + data.length, + findExpression(data, weekdays[day + 1], i) + ][+(day !== weekdays.length - 1)]; + + await deletions; // wait for deletion to get completed before proceeding to write new data to the table + + // do the magic: + let shifts = data.substring(i, end); + await parseDay(shifts, day, DB); + + i = end; + } + + const courses = await DB.query_raw("SELECT * FROM classes"); + const results = []; + for (let course = 0; course < courses.length; course++) + { + results.push(DB.query("UPDATE shifts SET class = ? WHERE course = ?", [courses[course].class, courses[course].course])); + } + await Promise.all(results); + return 0; +} + +async function getShift(day, index, DB) +{ + let shift = DB.execute("SELECT name FROM shiftnames WHERE day = ? and id = (SELECT shift FROM shifts WHERE (day = ?) AND (course = ? OR teacher = ? OR class = ?) LIMIT 1)", [day, day, index, index, index]); + let additional = DB.execute("SELECT course, teacher, class FROM shifts WHERE (day = ?) AND (course = ? OR teacher = ? OR class = ?)", [day, index, index, index]); + [shift, additional] = await Promise.all([shift, additional]); + if (shift.length !== 0) + { + shift.push(additional); + return shift; + } + return undefined; +} + + +function getIndexType(index) +{ + if (/^[A-Za-zåäöÅÄÖ]{2,3}\d{2,3}$/.test(index)) + return "course"; + if (/^[A-Za-zåäöÅÄÖ]{4}$/.test(index)) + return "teacher"; + if (/^\w\d{3}R?$/.test(index)) + return "class"; +} + +function randInt(start, stop) +{ + return start + Math.floor(Math.random() * (stop - start)); +} + +async function getRandomIndex(day, DB) +{ + let indexes = await DB.execute("SELECT course, teacher, class FROM shifts WHERE day = ? ORDER BY RAND() LIMIT 1", [day]); + indexes = Object.values(indexes[0]); + let start = randInt(0, indexes.length); + for (let test = 0; test < 3; test++) + { + let i = (start + test) % indexes.length; + if (indexes[i] !== null) + return indexes[i]; + } + console.log("Warning: row without class/teacher/course in database!"); + return getRandomIndex(day, DB); +} + + +exports.indexType = getIndexType; +exports.cluttered = parseCluttered; +exports.find = findExpression; +exports.getNextChar = getNextChar; +exports.classes = writeClasses; +exports.build = writeShifts; +exports.get = getShift; +exports.randomIndex = getRandomIndex; diff --git a/index.css b/index.css deleted file mode 100644 index 76b5df6..0000000 --- a/index.css +++ /dev/null @@ -1,66 +0,0 @@ -* { - margin: 0; - padding: 0; - text-align: center; -} - -body { - background: #444; - color: white; - padding: 1em; - - font-family: Verdana, sans-serif; - text-shadow: .125em .125em black; -} - -#foodshift, #food { - width: 100%; - box-sizing: border-box; - display: inline-block; - vertical-align: top; -} - -@media screen and (min-width: 700px) -{ - #foodshift - { - width: 58%; - } - #food { - width: 41%; - } -} - -.float-block { - display: inline-block; - margin: 1em; - padding: 1em; - - background: #222; - border: 0 solid black; - border-radius: 5px; -} - -.float-block p, .float-block h1, .float-block h2, .float-block label, .float-block select, .float-block input { - margin: .5em; -} - -#send { - background: blue; - padding: .5em; - margin: .5em; - border: 1px solid black; - border-radius: 5px; - font-weight: bold; - - position: relative; - right: .125em; - bottom: .125em; - box-shadow: .125em .125em; -} - -#send:hover { - right: .25em; - bottom: .25em; - box-shadow: .25em .25em; -} diff --git a/index.html b/index.html deleted file mode 100644 index b12164d..0000000 --- a/index.html +++ /dev/null @@ -1,55 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf-8"> - <title>LYLL-ruokailuvuoro</title> - <link href="/index.css" rel="stylesheet" type="text/css"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <header> - <h1>LYLL-ruokailuvuoro</h1> - </header> - - <br> - - <main> - <div id="foodshift"> - <form method="GET" class="float-block"> - <label for="index">Opettaja/kurssi/luokka:</label> - <br> - <input type="text" name="index" placeholder="sahe // ÄI1.2 // B203"> - <br> - <label for="day">Päivä:</label> - <br> - <select name="day"> - <option value="1">ma</option> - <option value="2">ti</option> - <option value="3">ke</option> - <option value="4">to</option> - <option value="5">pe</option> - <option value="6" disabled>la</option> - <option value="0" disabled>su</option> - </select> - <br> - <input type="submit" id="send" value="Löydä vuoro"> - </form> - - <br> - - <div id="shift-result" class="float-block"> - <h2>\(index-type\) \(shift-header\) ruokailuvuoro \(day\):</h2> - <p>\(shift\)</p> - </div> - </div> - - - <div id="food"> - <div class="float-block"> - <h2>\(food-header\)</h2> - <p>\(food\)</p> - </div> - </div> - </main> - </body> -</html> @@ -0,0 +1,16 @@ +const fs = require("fs"); + +function openFile(path) +{ + return new Promise((resolve, reject) => + { + fs.readFile(path, (err, data) => + { + if (err) + reject(err); + resolve(data); + }) + }); +} + +exports.file = openFile; diff --git a/package.json b/package.json new file mode 100644 index 0000000..cad9a81 --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "lyll-ruoka", + "version": "1.0.0", + "description": "Server to serve information about the food shifts and foods in LYLL", + "main": "server.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "node server.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/JoelHMikael/FoodJS.git" + }, + "keywords": [ + "food", + "server", + "database", + "school" + ], + "author": "Joel Kronqvist", + "license": "UNLICENSED", + "bugs": { + "url": "https://github.com/JoelHMikael/FoodJS/issues" + }, + "homepage": "https://github.com/JoelHMikael/FoodJS#readme", + "dependencies": { + "mysql2": "^2.3.3" + } +} diff --git a/parse.js b/parse.js deleted file mode 100644 index 7c47423..0000000 --- a/parse.js +++ /dev/null @@ -1,285 +0,0 @@ -/*let i = 0; - let foodShiftNames = []; - let db = []; // first level array: days - second level array: shifts - third level dict: course/teacher - fourth level array: indexes - while (db.length < weekdays.length) - { - i = findExpression(data, weekdays[db.length], i); - let end = i; - if (db.length === weekdays.length) - end = data.length; - else - end = findExpression(data, weekdays[db.length + 1], i + 1); - - db.push([]); // add the day - let shifts = 0; - - do - { - let teachers = []; - let courses = []; - i = findExpression(data, "RUOKAILUVUORO", i); - let nextLineStart = getNextChar(data, i, "\n"); - foodShiftNames.push(data.substring(i, nextLineStart)); - db[db.length - 1].push([]); // add the food shift - nextLineStart = getNextChar(data, nextLineStart + 1, "\n"); - while (!((nextLineStart - i) > 2)) - { - i = nextLineStart; - nextLineStart = getNextChar(data, i + 1, "\n"); - } - let parsedLine = data.substring(i, nextLineStart).replaceAll(",", "").replaceAll("ja ", ""); - let parse_i = 0; - let nextSpace = getNextChar(parsedLine, parse_i, " "); - while (parse_i !== -1) - { - courses.push(parsedLine.substring(parse_i, nextSpace)); - parse_i = nextSpace + 1; - nextSpace = getNextChar(parsedLine, parse_i, " "); - teachers.push(parsedLine.substring(parse_i, nextSpace)); - parse_i = nextSpace + 1; - nextSpace = getNextChar(parsedLine, parse_i, " "); - } - i = nextLineStart; - db[db.length - 1][shifts][0] = courses; - db[db.length - 1][shifts][1] = teachers; - shifts++; - } while ((i < end) && (i !== -1)) - - i = getNextChar("\n"); - } - return [db, foodShiftNames];*/ - -function getCharAmount(s, c) -{ - let n = 0; - for (let c_i = 0; c_i < s.length; c_i++) - { - n += +(s[c_i] === c); - } - return n; -} - -function getNextChar(s, c, i = 0) -{ - if (!(Number.isInteger(i) && (i >= 0))) - return -1; - for (; i < s.length; i++) - { - if (s[i] === c) - return i; - } - return -1; -} -function getNextLine(s, i) -{ - i = getNextChar(s, "\n", i); - i += +(i !== -1) * 1; - return i; -} -function getToLineStartingWith(s, ss, start = 0) -{ - if (!(Number.isInteger(start) && (start >= 0))) - return -1 - - let i = start; - do - { - if (s.substring(i, i + ss.length) === ss) - break; - i = getNextLine(s, i); - } while(i !== -1) - - return i; -} - -function findExpression(data, expr, start = 0) -{ - if (start == -1) - return -1; - if (!(Number.isInteger(start) && (start >= 0))) - throw new TypeError("Start must be a positive integer!"); - while ((data.substring(start, start + expr.length) !== expr) && (start + expr.length < data.length)) - start++; - if (data.substring(start, start + expr.length) !== expr) - return -1; - return start; -} - -function parseCluttered(s) -{ - return s.replaceAll(".", "").replaceAll(" ", "").replaceAll("<", "(").replaceAll(">", ")").toUpperCase(); -} - -function parseClasses(classData, DB) -{ - classData = parseCluttered(classData) + "\n"; // newline so that loop can find last value - // parse data to dict - let classes = {}; - let i = 0; - while (i < classData.length) - { - let separator = getNextChar(classData, ":", i); - let lineEnd = getNextChar(classData, "\n", i); - let key = classData.substring(i, separator); - let val = classData.substring(separator + 1, lineEnd); - i = lineEnd + 1; - classes[key] = val; - } - - for (let day = 0; day < DB.length; day++) - { - let shifts = DB[day]; - for (const [key, val] of Object.entries(shifts)) - { - DB[day][key].push([]); - let indexes = val[0]; // use courses: the classes are paired to them and they are unique with a higher probability - for (let i = 0; i < indexes.length; i++) - { - DB[day][key][2].push(classes[indexes[i]]); - } - } - } - -} - -function parseLine(line, toRemove = " ja KAHDEN TUTKINNON OPINNOT 1., 2. ja 3. VUOSITASON RYHMÄT ") -{ - let i = 0; - let courses = []; - let teachers = []; - let nextSpace = 0; - - if (line.substring(line.length - toRemove.length, line.length) === toRemove) - line = line.substring(0, line.length - toRemove.length); - line = line.replaceAll(",", "").replaceAll("ja ", "").replaceAll(" + ", "+"); - - while (i < line.length) - { - if (line[i] === "+") - { - - nextSpace = getNextChar(line, " ", i); - let nextNextSpace = getNextChar(line, " ", nextSpace + 1); - if (nextNextSpace === -1) - nextNextSpace = line.length; - line = `${line.substring(0, i)} ${line.substring(nextSpace + 1, nextNextSpace)} ${line.substring(i + 1, line.length)}`; - i = nextNextSpace - 1; - } - i++; - } - nextSpace = 0; - i = 0; - - const getElement = list => - { - nextSpace = getNextChar(line, " ", i); - if (nextSpace === -1) - nextSpace = line.length; - list.push(line.substring(i, nextSpace)); - i = nextSpace + 1; - } - - do - { - getElement(courses); - getElement(teachers); - } while (i < line.length) - - return [courses, teachers]; -} - -function parseDay(day) -{ - let shifts = {}; - let i = getToLineStartingWith(day, "RUOKAILUVUORO"); - do - { - let endOfLine = getNextChar(day, "\n", i); - let shiftDesc = day.substring(i, endOfLine); - i = getNextChar(day, "\n", i) + 1; - i = getNextChar(day, "\n", i) + 1; - if (getNextChar(day, "\n", i) === -1) - endOfLine = day.length; - else - endOfLine = getNextChar(day, "\n", i); - let unparsedIndexes = day.substring(i, endOfLine); - shifts[shiftDesc] = parseLine(unparsedIndexes); - i = getToLineStartingWith(day, "RUOKAILUVUORO", i); - } while (i !== -1); - return shifts; -} - -function parseShift(data, weekdays = ["MAANANTAISIN", "TIISTAISIN", "KESKIVIIKKOISIN", "TORSTAISIN", "PERJANTAISIN"]) -{ - - let i = 0; - let db = []; - while (db.length < weekdays.length) - { - let day = []; - - i = getNextChar(data, "\n", findExpression(data, weekdays[db.length])); - let end; - if (db.length === weekdays.length - 1) - end = data.length; - else - end = findExpression(data, weekdays[db.length + 1]); - let unparsedDay = data.substring(i + 1, end); - day = parseDay(unparsedDay); - - db.push(day); - } - return db; -} - -/* - * DB structure: - * WEEKDAY - list - * FOOD SHIFTS - dict - * COURSE INDEXES - list - * TEACHER INDEXES - list - * maybe: CLASSES - list - */ - -function getIndexType(index) -{ - if (/^[A-Za-zåäöÅÄÖ]{2,3}\d{2,3}$/.test(index)) - return "course"; - if (/^[A-Za-zåäöÅÄÖ]{4}$/.test(index)) - return "teacher"; - if (/^\w\d{3}$/.test(index)) - return "class"; -} - -function getShift(day, index, db) // day: int, 1 = monday; index: string of course/teacher; db: parsed shifts -{ - if ((typeof day !== "number") || isNaN(day) || (typeof index !== "string")) - return -1; - - let shifts = db[day - 1]; - - let _endOfIndex = parseInt(index.substring(2, 4)); - let type = getIndexType(index); - if (type === undefined) - return {}; - let type_index = +(type === "teacher") + (+(type === "class") * 2); - - let res = {}; - for (const [key, val] of Object.entries(shifts)) - { - let indexes = val[type_index]; - for (let i = 0; i < indexes.length; i++) - { - if (indexes[i] === index) - res[key] = [val[0][i], val[1][i], val[2][i]]; - } - } - return res; -} - -exports.build = parseShift; -exports.indexType = getIndexType; -exports.classes = parseClasses; -exports.get = getShift; -exports.cluttered = parseCluttered; -exports.find = findExpression; diff --git a/parseClasses.js b/parseClasses.js new file mode 100644 index 0000000..170b63d --- /dev/null +++ b/parseClasses.js @@ -0,0 +1,69 @@ +const open = require("./open.js"); +const parse = require("./dbparse.js"); +const fs = require("fs"); +const readline = require("readline"); +const stream = require("stream"); +const getIndexType = require("./dbparse.js").indexType; + +// What a mess. +async function parseClassData(path, DB) +{ + const separator = "\t"; + + const inStream = fs.createReadStream(path) + const outStream = new stream(); + const rl = readline.createInterface(inStream, outStream); + + let lineNum = 0; + let courses = []; + rl.on("line", line => + { + let lineList = line.split(separator); + + let type = getIndexType(lineList[0]); + if (!((type === "class") || (type === "teacher"))) + lineNum = 0; + + if (lineNum % 3 === 0) + courses = lineList; + if ((lineNum % 3) === 2) + { + // Remove the weird "R":s in the end of the classes + for(let i = 0; i < lineList.length; i++) + { + let _s = lineList[i]; + lineList[i] = _s.substring(0, _s.length - 1); + } + addToDBFromLists(DB, courses, lineList, + index => { return getIndexType(index) === "course"; }, + index => { return getIndexType(index) === "class"; } + ); + } + lineNum++ + }); + rl.on("close", () => + { + return 0; + }); +} + +function addToDBFromLists(DB, l1, l2, l1cond, l2cond) +{ + for (let i = 0; i < l1.length; i++) + { + if (l1cond(l1[i]) && l2cond(l2[i])) + DB.execute("INSERT IGNORE INTO classes VALUES (?, ?)", [l1[i], l2[i]]); + } +} + +async function parseClasses(path1, path2, DB) +{ + let parsed = []; + await DB.query_raw("DELETE FROM classes"); + parsed.push(parseClassData(path1, DB)); + if (path2 !== undefined) + parsed.push(parseClassData(path2, DB)); + return await Promise.all(parsed); +} + +exports.classes = parseClasses;
\ No newline at end of file diff --git a/ruokalista.txt b/ruokalista.txt deleted file mode 100644 index 7a80431..0000000 --- a/ruokalista.txt +++ /dev/null @@ -1,7 +0,0 @@ -Tämä viikko: ctl00%24ScriptManager1=ctl00%24MasterUpdatePanel%7Cctl00%24MainContent%24RestaurantDateRangesFilterHeadersDataList%24ctl01%24RestaurantDateRangesFilterHeadersLinkButton&ctl00%24MainContent%24LanguagesDropDownList=fi&ctl00%24MainContent%24ShowDinerGroupDropDownList=97f76449-f57c-4217-aede-b5f9dbf2b41e&ctl00%24MainContent%24RestaurantTypeDropDownList=17dbf3bd-e822-4b36-965c-afce161f0704&ctl00%24MainContent%24RestaurantDropDownList=a7349553-5535-482e-8248-658a55dcada3&ctl00%24MainContent%24DropDownListGetWeeks=1&ctl00%24MainContent%24ShowMenuDropDownList=1&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl01%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl01%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl01%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl01%24MealHeader_State=1&__EVENTTARGET=ctl00%24MainContent%24RestaurantDateRangesFilterHeadersDataList%24ctl01%24RestaurantDateRangesFilterHeadersLinkButton&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=ksY8K2gvD37M2qSnF5wpUXuIm%2BDs5fj0gLFpEbeBL8hlzqfpPEquHIhyZ5fxmNkbU9Y4rabeHc9mEzH20nYjVLEvMfvDtK3d%2BDtgS3U%2F0N0o2jogx4K1gLShDCKqrLkSlCjtg3uSnVMvjzE6KRPMkEpOzjOspWeYuTuZGCMOTb06kEZ37tyb33ObIgPvICE12%2FRsDXlHNR3SKiAqeyHP5EaCX%2BcNd8VWDqsrnrmEA1UorGozoxG%2FYpQxlm1w62jHK03o3FEE%2B8gIqt5br2EQBrgv3P0elakG3DQWnm3lcpo1gJEwC9FaJprycnnCQ4jXMME054YEdy8HfUD30ppABFkRFw95G5hKMvmkIaj5gJO2tgcJMUBPFwRKaMkF%2By4rUHQ2IKRx6Fe815Y1YClQjZs7prhrVMclkobqv3HCwFF%2BkfqZC44F92rVR%2FBH8j331YjyIgZKs8OCFTcxx7KU59Xph5vIF7T2fp2Ay2A2J%2FotWTyTm6DJqeOcrznRwwLKaohC6iml742sUNVj86p7c5xee43QjVN%2FjCOKzIusv87CvJ1%2F3o81HNL0%2BFDwtDRNBN3PkdkjhXUM2WVQMaQ942t1%2FbWGL2x7VedEsVQwuC8qB47ugxgVcBvMEHqe6tOWH3qbVF1kRSCn4EGrwfaL9K6DWBsIUOix6qZtHFQmE1JW5ZA%2Bf8XNSwg9YHBfEzjmK9TfiU6cD9TgM95jSE7RTSxcs5EF9IX9r9mcxMQaIN%2FFVZQsFWXYrOgK9yOmiEfGjWirTmwFfYPVMV5jp8kLqpckTFfcyLQfjhvy1ZE2FCpXqUD73acVd6dLWZWoR1Vo2tO1uLmlPyIl%2Bu7%2Fxv3XpGbqNCobz%2Fy3Z7xFHjtOX7G9DI0ql66rGS%2F4BODk%2BtgOH6%2FqInT6vvE4UCsUA2N9UYyeIffka9lB4XpmUlbsOw%2BNhfXBk9F%2F1%2BbK%2FpEZctlw2TOqVZRj1Qlp5yCgZqugGJa8AYTACwHipBX%2FKvi6N9kON%2F%2F6H7yJCKZL%2FqCsE%2FToQ0jq7OqYl7pqBmhrBc7N0FjJJGpthM36IqexnvUO%2BF6o3KzDsfaAQ4t5wSf%2F86mNqvoUQcg8iIJshdFSaALs12haQVMrFT1SLhFsWsyCUwMNeWDgkGogbGkWOTQdZxLCq%2FbNt0GG4ExguXW8SCXdu379IQ3ZgqfYC4tiJ9muDbdMElA2qgt%2BEev6PXiigEpSm5CqwWBgsVABExvCk2Gkz9shKTQxKJXIK4Fqb%2F8aRlH0YuYy2DG6q3eIDsWw6ZM7RJoamDv7MU2EWZeLMuQb0gOMNDbLr161IgGBzUJPNS%2B%2B%2BW%2FTdDG37t19iun6hHd5pw08PMlbvUERyY4c%2BJvHAz5pUAOicL5ELVlq7rj0R3IoV0ekAY9O5X3QKeApVKC%2Bthvpi3yL35NHJr2t6pwUTswcJnKIFSRN71nx86JdKPIprC30OHJDfpGRBGwUvfs%2BdTe%2Fx94lCno6gzyKYQauACS3ZsnutRFAar6Zmvxh7aMnrGrC6%2BaWWGB7R9OMPC23vtL6F1MHvSZXvB%2BxGWB9Xh2oB%2FSMiFtTDfxPr%2F%2FVH35IMatN%2FPiqUv6mV2%2FjD8Cq2wmJ%2BjgFYMy8ACjGD7CGpMH%2B%2FDiQrRp3mZs%2B9V3BurolGX8JINAoum8STmvUheV68LTjaOXouG16EiowKVmFdTtkGccp13mHjQqaFaFZWzRwBuokOM4jtBoubynrGTGcnfdsrRkLZ1MCKwG28fM7QhQxLpe%2B%2BMnHXZEFYJNXkqgVDNk986qQ23H3LcJ46pt5drBHsrr5RZDqo8VSOdozL6CH%2F19Uizmi7IhjXN22Kj%2FbosEeZU5Spdj9Vna5nxaWSc%2FEI88UsAQLAXq1NrM2DnF88S0f1TtaGWbjWNE4Skcy8EJA1RUMgIVMwShbpxaMhGv1ITBZt98%2BpQb%2BfT4z2xlplQLl3Cym74uH9MfjMDsXtZLrlXb%2F0%2BZMRVSfAc1YYGH7Br4KdbVjiQPo6ZXLRSxuBOcGKNuoGAya6ZjF%2Bs2DJIHVk4OUpWFy1ecxgUteBbdHLaWLgCEx0a03yVH25y875DKpWWUJYjQ36mzn2ooDWgbgWnF1X2U%2B8uQEvPBGFtThlfIrinNonwgaWz22MQdVSs37Q8QRdz5kDLGaAC3B1TaSEycEp9ypc48lZQ%2Ffj2AJv0CQk82MpJeJyVdRMK9afUskhK4MSZyKkPK3ENBBRgUsE%2B%2Fe29Bj%2F75Evmq7fWALS6MgDh3UeBkBwRbfaxySgOyQugjz3AJRPnT1fdD%2F3jB6M3qfCIEMBl6gL3nLYnDBYlQWtxrgkpds%2FVjAnZHRI%2Fv3HfFSID5nSyJpfRbQlsqvAA%2Fv2yAiolu1w%2BJL9dMBso02%2B8w4hodVJ85XMiuQqJJBg%2FROfUZdbG8MXnxc%2FM%2FLuDwwDBYuFL1B2BPkG7rdD8q7UkS6aJ78NN3w0W36xPJXyDZG1606U9WBHEqGA6CgGPUYVyO%2FAcg9YU8%2ByFIFjDY%2FALtLhgocH3mcKHclmbLuOH1i6SBalmQl7V65YVNzkypnOUOIMCn8vke5mn8UhEad%2FpEC8v6B4Rlm5Q2XznFrDEYqWxAXuPFsx0X6dSGSz9V8WftwMfXCzsrCIySAfCMeu5QYQUMjDCE6d%2F3GeFmI5yslKAlmjc5Rwaq3UT3%2FlXisXwqLx4Pg5QWAysLWQuBnP0VY4Ls2m7gZAkRXShzCuvn00LupVbe%2Fuu8hUKcsAUTOjHp4uTqVNolYRbrbB%2BIqBIzQHO4%2Boen3oe73VvPPzxWGvGNi8vMHjlcuJ5fsrFzVZTY2cQEsm%2FO1d%2FbtD1iEzSrBgE3vkVR%2BTN8fFn%2FR04DDSBqUZQor%2FVMYcssc4i4F17m3xl2nR2RjaAvDxEyf9WEdzbMdrHlsPEb8WYvw6dZkP%2B%2Bs1KpbtHccLpX78EZs7SbFB07m7Ba9DZfOJ429P%2BQ1EUK%2FJHh7GXyGmqf4L8ufMAY9l63mtK83BEwOeMtdPGFHLXiuPKtIHUGcGTd5%2B4MNGrTXH5xLibZ57jUP5p4JdSixf0%2BaIaq73RzEw5jZVCN97o1UAfvZf7cTRz%2BzfW%2FS%2F00eyu5P3SlFo8mJ%2B7cmSkBQYO2MSNPqgJxkYQm9XInsVyjVOgtIggZz0KzX4CElGLzwO3pjXpRBvN2ly7Aew5flmOzY6pFtWI4RSIbLDhf0kxAbHF8uEm7%2BZkdNx3XDYYEBwThtfT5NqAQi3trdtjo3nsE6798zcLmoHa17Z%2B%2B%2FtObLJksD0Iy9GlEeAWcHQsPVHbvZI%2FBLMJzJSTjnRReO6fy1M%2Ba1IaG2773HpWppDf%2B2lLCr9A6bSMVcWdJGBzPDjXvBP1%2Fa9C2guY8LKT0Ke17CXBSxK2lWOWvVxbghjyARxDtC8TW10JlKyGLaiyL9RCVXMgIeZzrnlb5P%2Fvjyr8Gk5jliYqZ959TpzCgbHqtOOwbnjDjnWLw%2BwpC38%2FMyUuwV%2BpJ%2BlDAm92flm7I%2Bc2%2BdFqVQzBb%2FHni2LRgiecGZbbE0JWHZ0QsfYtG5VmiHzOT2Xf7%2Fj6Ib25LajhYC5Grt6fWu6KOBHN3P4DqtV0yrm%2FupEsoLxrT0%2Fvc%2BaK9i9HN%2BMXmK6gIQmW33ZSajzotD0aKCUe%2BpXhKD4VDFUtPPjoi8O3Fo5hLEIaqoP13WCFA7Mn5AYxDe%2F6I6t7Lepp4lKlTaBPHRAaAfJp1fO8oP1xknyjzvxJLwa8UrHRt9MaBVhdS7Hv%2Fa64ytkssjzybs5PwiF1Gr5cpfM5mYWn8wHaI1BviOeGTMfwa4uVDFh2GbYb5Zh9EgOYA4%2BkhGsL6QuDjkabmfej5zmSnqAoD6HH3NZL6NmrYp%2F3UsWyT5PYxIVw%2BvXziNJldCrwPdjN%2FxHNRri1wAdn5c3tQTLPGOjubdrStRPzNtSYDKjO6nwtpck2u%2BZyafDgI01wrs9FmCBGbvsnKrdM0Sz3S2RzMbVhOiCqXDgQi1JXGbV6D4ZZsexxZU50m0XPdpaICE3mL5E%2B4tNIBUI6kN3B6c49pw9PNc1p2Zodsmy%2BAdnMUiaGOZs6qYYbo2MwH%2FLE%2BwSNdHeDPkqCtTVd3kiffVwlSSdyI%2B7ZRIFfGg7oWKXyJQ8cZxPxQJPNpoJAkLHw5yRiZ%2BmlhGWCBYdLzRYObWRFylVi4297CCgsoQYkxRQa9TxwcXVqgaszKTBiulCq8zh%2Fr%2BgdddbxYB6kmRRbxZZEyf3kbnLHitZH4XzB%2FlyvHGfEhOJXG6lQpZKBNKzhAw2gehIQmDF3ybhzIBmAffWnsUHk2X8Ws%2FdYjpn9WohhTMFqZzKGMnIa8REsOGh6aF02Rf%2BFL%2FJrORs90CQLf7KHi6WkTkYXG6g8KCUYRL0ZOwNfn4yu8YLmjEgFJId2BGUUzfRcM7zyaEDr5aCukpeEvoPM16Et%2BYYafEnfrsi3VwGf%2BfwMyJC1ZqoKpmu4v0QPKOOuwckQriWryYC%2Bft1L7AK3DJmSOCb7CgQs2AQhFZ0NAYxFzpG5ImmtaF6d%2FZjGB7n%2FDuFtNMfA2ypXBPD9BflPZDNz%2FQ6aYvLUedJbBnGPZDTHT3Lgel19%2FnHyV4dSsYp5%2BQwO8k%2FXMvq%2FmivEnKWiR%2FQJzEeG2XOKDZwePiZiCkiWWCwtHc2hx%2Fxg4FFyY5XfLPlPG0jcq5C2cbdupbeHBRpFoX6YPPPp%2BU1nRai8wrHX%2BIBUNavZ8ymXtwInZ6MLUzeUTHb%2B1TtPuOiYMtOoxQlR4fgXvCtJUXEcTWbVVAEVR5%2FOWSq6FF3e%2BbofNiWx%2BcozgrqQUMYLNpr0vlinvpJjt9eaEPdw0zt%2F0LLFHCOn6eq%2BXfg2HctKVgI8p1h4kxYXUhxIY573pb3pmJBi%2BgjrVp0O8Zb77WY4DQ05GozujexS15WZroYXUmy%2BcE%2BtY2ZxZrF46PcXKm9MrxYFVz1NSU0WEYqY%2Bjut9gGrUnme8K4rxqaFGmogFpUcHe3Je%2BbXYz3JeS1VeGy1FJxv%2FBH%2FjdC6Ro5%2Fb529oiGASonw8SwwF6gT83tgwjsgmypX3IFCTsyF2AIXY5eE%2FpK8sbduUj50AqL3qrXY%2F3u0KT38Etoh%2F6MzneRGVbet0uYuuAq%2Bqo8EoWk3p7FnZu7gQJ9LxSLiMVHGd6c7ZTiL1pg29dbCQ0olPh1WIC9uhnJ47s5xJypF7CxoOYzBySk6NJpfgtWDO%2BleA2NMD4yWoWTi8hydANZYKu1%2FHYPHc9FuHZYhSwTC0dc3FYzmaOIAK7XgWJWzeC2GR9p1ktyad1DhG2Q5xskmbNqmzyoknrk7gytePL0H%2FSicL1Pkx13QWUrV5h97VEwCVJDYVSzcSsBFVMAID4msVVsJGiTol%2B4wTxAnSnru%2BVhET72z8OJdIpk6ehj5hTTHYgq6cWI46T8rEIQDd2MCbx1dzcpBncA3FBBrlToQjGHo7KNTOmIV4ZWmvuHNUD%2BzX72h52RMn67gmgl%2BgtRyPW2y6PEEBkfTGdZw12mmC5FR3tCRaSi7o8eDiTjrMt2yaFcU%2B%2FMplHIFYtvTBmMzQW4%2F4c6xd4KR8YuH7i5XH9BE2u79IuLlieNLp3eUrgCD6ZdhEEFcdhI3T4Z4NrwPpEzlyvZ6%2Fk9TS7JCU5boaGJfKWgpCn5%2Fujl9O%2FzgySbgb7lYX72ACgN4cONCBBuVBuOseqRbyH4jyXBLFCSFI9Uhw%2FSomE2iGLZcAyl23vkOwlyZ8sH%2BiH1c1Borck7eZKhgqhRF0qgib47YdDrGu%2FIRhYR4fBXR3qAMs2BUT5GRsjWfmcFsrf1ixZyOA%2BAEvxeF2vpYvuT5THoflOz23khvD1uY1wyd%2B1PluTG%2F6Q7n4oQnGBo3l9ceXx5Zla8fgrV8N5mWSC9WDzD%2BF7jQAUjm%2FEx2JS84pTRQlzCcOythVpSmvkimQsIiDHvt1N4OKdtcVYvAnzlHfWvdBpkDUT%2FBurtFHrYLLJeTHVdWUQBzzQLPhKgz2Cwxdf3X0LbVMmuFM3Bor248j0RVFpW%2FXHOh5jpYenAb8rCox%2BN9bFXPs%2BjN24FeYXh1ufikCzf7bWDiQV3RQAsDCixRoeXJjvBVmnALjmdOgD92UjAavbK%2BOZYHLNVHFtN6Do%2F%2BFpNI6vjqPK1WTt4c%2FeSD%2FGyF71GA%2B%2FIGa9ftv5Pdyz4sZDuPLYffgghsMINO%2Fi1df8THkYUcLpSNf02IH1lJ5E6BQkVpqQR8YlJF0%2B9UYiqR2DB5gZD49ZZcCujtTIzJX5vgxL8LZDPpFKMLAnLJ2lXMmDJJYmk%2Bsojv7DC7BsWBSoni6bNRXoemYLRSxeUkSYiTn1TDiWqbBuLgOP7zZi2qnqqhAsErnMf9F2pCK3w6KzugN6wEQHelXABODDwYMcAD0WMCDAgJlDwBSyvqwdFnin2G4FF9XD%2BiSD95RQ3IZYiHdPZyHbGY0XMLSpaB87yKQzys6eu%2FN8NnpME3PZuKoepmYQsit%2BwQVR78544Y7UmoMU87DOAhQymdNU%2FS6pEhIMUTRwUoyvnufhuDqK1hkfzjWhpv0C7AsbGqpaAjfOi0AkAGOdzWRBxzTjmPscaLBOYsqXDDMa9kjgyAy6HG1c6734vuaV6qNK9JcXhyrlbUbgvlgLw%2BC3uqhdO0BxaVD0dFH8LZ8drrDqaMCs%2FEuapnedEnX72DPMvWEbNNmsR%2BtixM7VF5XAmLleYhJHvbPUCS1V56EAxmtNloJHtS5TmPb5pptpeWKFbkiTYHpgG5KZEExEGVu1Dh%2Ba6Jv9%2BwwGuh9dr%2FCIu5LExac%2BBVhfZcTf4dJuXZ5QwiSqyInAm9yUgg%2BirtbKr1iK5Ex1%2BKpDoKVbBpvKPeoHp0QWgEAIFwtcD6%2Fbe3ri77qLArUhCB%2Fd%2B%2FQl2s9VNyyozCrThjunjrCnnGxgUYpq%2FvoIRHbJYbWM4%2FXpJesYS5GFYixfIAVAsp5em%2Bx%2F%2Bl%2FIpzY1%2BvcDVLqlTdtxh4b8FRKFe%2FPZES5cJb3JWwuOUAN9%2FXQio4OlIppRTvWW6%2FkbdqBtMkDkp9TdRp1%2BQ6djM0BumxB0KXxd71XENDMaAhhbLZX%2FL6cFvCL2MY1cv1AjDVHfXLy61sGv0vAWta%2BWrTUqLVrXqgAclI11gzfArHuv99Ue6QqEet2D8VyayGw9phXPXosaNDM96mA6hyME1gxrHBme3pLHZ42mPCClQxHTLqC%2BjnQCEyHxgPg5mgPQke%2FuE2Chx7IIAPmTW2PcY%2BOxA%2BAFW1thKxNEqbFYWxv2gI6lqYo2%2FA0ILsFjuafUzcnI%2FLm2tzWYfiAxGUBKWOvCP7sOClSIycdlOaGbl%2F%2FI1z8iAzc8viFgJ1lZBpy1AaAOuvtmxbTHDgRuuvcmoxuW%2B%2B7rXLf86xg00qE3O5p38uI1rx4w4t%2BnhZtUMoSXdU8sOBgR1Bu0SD84s0AWlqPchcluMutSZ7crKc3ryfBam0Pu37ob7AcCVPdEjI1Ha9ZK2MdMvm84uRgxQ8mYJ4miReP3T5ZwmD5r5XiOz%2BW8kYtJB4t49jQcB96V5Myby7GYENXlbBFw30BVP6b0OEoA0QW0M1mOd2iyQqmDZcRuff8CzcTy583ns%2Bs6gPnp2J0fliG%2FcBb9k%2Bip8O6hi8MP2TfzEFrVZzxF8w3NwUQ%2FpKNa7z8O5SBGrwSRLPTAskVTIRVM4eMk3MFokdUlwgJRKQX02kJ3MJzlFf2%2BqpxyECM6uTeIMPWgvn%2BZ6bYrRUgpkpTXFSRvQki8lajW%2Bk%2FBEGdsxCr3z6JNv5KhYYz0QKR4ozjFHbxYyIHbss7maV8nqhW8zOh%2BCPiQe%2BXLu7%2FYaJtnHLGvyju7IOdXNEPtoSoOJ5ByIILvR4zNvyH%2BdaDax5DmpW%2BUsO84yrJK7Lp2Y%2FnBnxe%2BPBMBfYn7hQpYtkYAfEjoXOgIpWWoxKhkR5FvMDFqs1Ki1yzK8Gq0ojPJG165mVPRHwn4Otv2QadVdbQNffnJksHv%2BNc%2B3Gg4H9SVSWb1xA36O%2FwdSqJ4y0G%2Fk54rLIDHk0OqstVIwNtJp5Zb0m9vEY%2Fqkz%2FXIWOBnHz4zIS%2Ftmy6uCVEhxxq2qPoKIJpv%2BEWoKD52OpT49LOK1G43BQXmnyQeKTGs7Jn81En378MeLFnrVPSBJP6KMUt75GRLU3kxDQZDkg%2F1pR%2B1beN%2BivEfFEJ%2BwSB5O66%2B9aCmlHBn7%2BiThhG7Tpjg1lCTLKKFylyF8GF6uyCt8ZcSIxWeMN8u3ear3lKyAQwqQ%2FRGEw3BXHuv0bQezHtuz7sk0lxnIUxhpyQhTIAly64rv4lDig1Ir6mNgdtdsJIrLDKMos2PsQki7qNBcNBZAi2%2F8NW0p5mKLz1YzGCWFdyNfBy4VG3bmFRGhTRI6GTXAk20MPU5cSxm%2BiGPpY%2FVYBhVTBAPo1FDT9JW66Lr96CN5RTz4K38%2Fknb%2FUwnWu327m89DqFrt3dBgA91U2glgo8bmFiWaamh9Cocd13f9vbfZmzW2qHxIQiwCfZhXS8eB5pvCzCfIWHlvpw%2B2AB9eQZ6vhf37i%2BSAvVrdZ8yL4%2BPBWIJKrnr83AzZ9tUclk20XcIEQZJBT%2FI8ipmWwh2BJQLveaVWwDTJ02kIV2FxxTDY30ePoITv%2Bm2zgXvXcKxSOCzy3dz%2BwUXZITyvYUi9V4VRiioUq0CLc8wYGmrleHqXdanO5qGszfAj6Y9Gml54zuEccl%2FQrw79lSn6L%2BQx%2F2Dt5o2RiN%2BpAw8LUL4qg1O%2B8WcBY0NjRbswFzZ1q4Gyg7m0jCsY18Jso%2FbNNUb%2FuSKuQWn7rsO8clGg%2FxgIFfSzRbU7OuaZEcR4X5yYvu2yxs25PM%2BSPS8bplKt6kiMp8J2zW33NGmAzAZ4u3DWu%2BvS58Tu%2FquWqapjcf9NEfVlQxUppToMZD54oUdwV3FZ6%2BE36P3bhJxFIDGK4IDK5Nu5DKJRMIDMB%2BBOx9325NV3jDNmBPHZdFqBGKD1WGZXtRIUby4z27p%2B6t%2BV1olZI86CLzHmEfhDhynfZIOMdGUZlt3NEo0x4tuZaoVgnuLguxUh2jTq4fatFccEobnWtIFj9qsJyNGSTQi0nYV3lIThEkqNJ%2FpyLcm3Sezbz1Sp4Uo0ei%2BolW%2BTVk6pkTFX4sjcjpZU%2BpUm228vxYWUCBGFDtilgYhYWUnrVb22H4uNZCOwYDz4F8aot8SPAOL3LhUtAeeMo%2BQAg61VFXHiM3Cv0Q4AxF2JUwBSYk7rhfV8%2FbcXAUcJpk0%2FDM9yDqZetmdeGNRGkuuKSBs8IWVt4D3%2FO8GgFE3XaGLsF8NjDdpRxP7tJaWeY6QuA%2F76k5xZHl6oM%2Bno22QtPxtWo%2BedUwBWFNJy1A4aLUp9pL4csH9fBSuEgz3vVUQg6wjYWJXqwqcBYhy2rY0FlB3dQMgmAjUstuf5CYDcg7uy5kUon2whpGltKeFLz3D6I3cYqYtrfqDW0zYiGZkmA3kBV0abIR0GDmMN6TRPnB6m26e7zbY6w%2FmzdJ9topuZ4%2BozR%2BdA5Ib53IZrakCtOf%2FNWqk9YxvedK1YzfGtQ01CSpoyGPUvr5%2Baxgk8yMabbuUYRlIVnhMHqjHN73hmqQAXndw0CiRvo19VFpGTv3o7u1tXbgo3XJKFrezlwRsgwV2fjKuhwv5aPrcLEsXvVwPBykh9EaYCGnJ%2Fu5nrlk%2FIDY2dIeQP0b4hJMH45cL8dLsUENph%2F6H43%2F%2Bgzgz2NFIEu5Lc0lGoFt6xlsVDyiiXIQiVOht3zG7jiDUHMmjtCq6Z1vW1A3h6evKveEKKz1ySsF%2F36sv%2FO0MiuwbNdXvzTLBBWwP9V00n3C6SeK9ygOBcfCvLWb80OXDsUMeKSBZckzJV7oIfpwan5spraqfOEvc3WXGFHcXLimFZBR1L5HDDFMziygSJYZ9qjsXTiBR4OkQ3uDFgyN1cyUx0mABoTF0CW5VurXaqAHvWrkoLQKy5VY1En4g7vwCybvBO6dTsg6J%2BpKQ6%2FxIj1UHSiQEavHLhQ5bTQf4CKQ3tyZmje2WrOLboyHdIfNQgND7RM3bn%2FbYohPSe%2B9qX9GfeH1tvFq9L4xp2j%2FG5aH%2BHDw%2Brizlt7rCNEYufWo4RY94zFuoUFODAosnTWK18T7uaaiLxeqKVlYSnwmEpgrq%2FYbKFiHdc%2FGz5ZBCVGnyBUBqdz1mmmpRFH5FaiTjrAyP4cNtrxKRsSz5E8S%2F1SR3wIxMdUnMae2hjzRei6uemXHz2%2Fl%2Btm4sAkgR0oQg6OpizDFQ0JK7O6Vj5RGTBUuowLgD%2BDcKNenTOk3Jgh%2Fz%2FxcW4lx647ZpBY5CIFkNoe%2F1MuEkp5lPbeyj7TgbV7RsQv0PhYrpSzOWr1jr3IWg3V8NC7eMf%2FhqHMV6PdmC0jmptRG7NqC0mchkn4BxaRMF4YtmpBa8iDWLYRXtZ4h1%2BOWI8IrhYo6foM87FD4MFzw9LXZ%2BV%2B8wnBf6YMJyhSO1tw18qkborSPZ1zNYxq%2BVE3%2BR%2FeU3ihU0ndMXq3Rtf9geun%2FWL1lJQz7XeMtiYhwONtH0d4k2flDz%2Bf26YN4RUb6wUUnmYIQC14jg%2B9Uz9ZBtb8vLceJTriHEThDV49n%2B3HwJsnuA7MhXuGa0%2F%2FQbFfMe9tQ8yraTfk13TsHNCQJoYez%2B9eFjzvhipeu6%2BvD8FrUgtPt7qiUZodmAeD348vsF61Kb%2BjLxiNIBINZlKtNzDnt12Ty4DvVmzalW7WjxWn82%2B3dsi3aVGftTFJDVbatng66RBYk%2Bvg3kmqJ8P0wclsYrJs%2F3iPiOE%2BVLnZguzGiumw6kZgvMShcgNKbSZGs28CFkglxjP0I9oMvnOsm2dCiPkarLTKpK%2B6Z7f9pxFzB%2FgJJ15SSnJDZ1twmePRhEHHia78W%2BCSotYV3T0CnqyHaqyGJDYH4ZwLnIIx%2B9OqLCTfsqLseQ3QAz%2BmdS2BvPHNRdI3SGEfaRcWRI%2FU7FnfLPBk65zJQFJLxjQA0frfQmxkMchaDbB%2BTS5BXGUSJMiw5wb4DIuhN2v%2FHM41EW5NunIzvspcwKK1rL5naVa%2F7v1ddwC%2B4MfYJmkHePGwwGcTH5cb9%2BOllPlkSNq%2B%2Bc4LM49dCfCIshdhi3CHT9FRssFe7zCZ4Ovmm2t9XeEmBWG5txy7Zd9MpTJXH%2BEcELjiyDZuFrQ9HZT49vPnlv3IXdUVyqxWVvMZZIqDx9CBpdDrObZiqh7T58JkpSx7Sla166iJKwDJQjECm1tg%2B08huP%2BRP%2Bgi5DjHc%2BqN8tSalGWALFDSfn5XJjMrFU%2Fsb0QKNget%2BEQjljZavKaiFpZbvb%2FmmU4zQpnIiAUnr6WXit0qEI3q%2Fy3wWHw7pNmJGqekUs2NNg2wGf%2FQy5yW4IP9txrtspX%2BbpWA7YILAgdAg4fMfQDfzc1ibNIGRA%2BUvWFEINqQNE5MYdB3Tq8DRvQGTJWTvUDF0odxlNBJ9tK1CoZjlMWD70kPBA4g%2BZeRCCyhs1SN13Q9um0ciVcsWwSTCuaHPyU8aCiztbiz4RtSQ3X9cfPgzkU3IkPSUPN6rMq5SZRkNJjqfleThPfB8%2BU1FBXrfg7euFvNfBUv7RuII7uyv0UC8Rvz%2BtdS0j%2F74sFPphM8WWePUkcf4eHW4wFF7Q%2FB8CKK1wDJZVGammdaof%2FlMa1AnyeZEV8zU2YU04GVDEhvxjvXcXU%2BDzG7s4Tan%2FP18UFltAHdbJEGGGLE2Rr1sYZgtJ34JzAtHYzZsmJnjttrBMWWnlNulrLc8GxXfoi20YXDPMi5x3HDgNvfptBBSsjuYNxXo9KHkugabz6B9Z77B1dvOdcjaPnyK2pvcUTWtIQ8RfivwjjwaSXaGAoAuy0GsS4ff1idOMq7WMnzw%2F1YumFR2OnUsrmEm5%2FsgKstf1ylJX%2Fz7kHgcPS3k80b12ZLL%2BaWwHKsg%2F%2Bcu44cddflgK8EUSY5XjZ7eagj3Kl%2Fa9y7Vt2zK4%2F4IbypEpuR7%2BZZNotKKfEHYGQ6Bi6s2X2pv6eDCZrdvfmyt9VP%2FVQOzxGVBSlXLSJO28E1Zd7jHjjYj08SnAWUf6E%2FyEM3patPrvSkDHLhPWX5MC3rD5pEGYdqN4LlT0mHp%2FZLZT3G%2FVY%2B%2BYp6j%2Bzi1SDt7dgDpco4%2FPEVT3b4AkQPPByVcAJgTpJ3Y6828ontCBLvVeLu23egYCdgaCr%2BeV52V2f785kdHeLvvlWd%2FFz%2FMKzUsIGQ5Gbxap2NMLiwN1fX%2FSOfi3XEZ1ReZ%2FI0p6rNEt9auGFoGoucBZ8poGcjWFhEf4XsU1I4QgYhGKNsF7owSZkDZyW8zhVs32jiBYH9dq4Ez5ZRmuX4DXxFFo0qp1IJu%2F0LFIriemZqXjFkR5BbrG9nQz0%2Fx5Hm2nFsqxILZ%2FCO06%2B7v%2BlnNt%2B41GBvl7E7Uddzoj9smVFPGut2jxSYghNliKRVuyjWHsKvQK9dhbRUYVgqd82Ul9KKwxMI3Fn2CpgEm1gEyNfezJ1QyiY9SNdAom6xOZaL%2F6wIgLSLnQev2ycCt064byeVnhBFP6hiIYY%2BQyOcJ0d5XNN4ZNgwiBGvJHYvoBEc5DQyWf%2BtSyaFxxyg8VjzVL28ckKnTFofUCvc2fjcYcwxUHfFlnwpHt0sMT%2B6P5k8m0tjaSbPH1hSJBDJbMprrITPH2E7zNzi4Bl3zNCsrOsbyErTWPmCVfq54tx%2FQ%2B%2FODzsS%2BkfvTnbvQshx2kl3Zov2QWj%2B01%2BzW9ONZMWBlR1l3vyYKk8TXzUx8iaVEcQdgIfjc8EZIRir9lrv%2B%2BpfoJKHy0NujhS%2BMvBDUnZg4Bjgj9U%2F1LQ7W7IwRwNnqUUmOL2qDnJN3G8SB1zxz47Y2GWNuCss1R0MxCIsA1TPJ5N1zXiv6NRW284rFZgWKG35pDI3Gl6lvxB8UqZ2tR4TF7tlsZINLA4FoCml2KpIwazVbE6QoEKwFjnmSXUlxNHOvCEbx%2FoqDdKwGANxND0%2BFJA%2B7dgu9MWIX4zJwpU875DTfaB7nkxRlIaPq%2BBRlPFAm3M3eN0cnnPGtCAr1IuIrLymJynOuPdQ7swTaJaQS7ECOqWvEbAXNDTAUbWKQKqtgx4QNR%2F5wxickm0PD6N5mHgzp58iyhmGY6lbZso3VwXmcviDHA2BQcX51dWrkHPXpDLwPj24Pi5ua3GFodKbqDfB0JVxMFLvfB1nvrHHV6dQeih5BzX2qSXd%2Fp215M9coJDDJii3Zz6EfghCa2gHEgShiu3Yf023TeKICz1XyJo3nglI3v0Wg3d5wdlReHQN9TcPH%2Bffzp3Uiq2OuSvjnwvqBcRlfAfF53sPz3eJrO%2F76C1zFswKolMZyVpXnx6swP2qqKY7nPGtELuqfYwJC1AAF%2FLMD0jbSH4XDDHngztE6VTkkNVx3bzSDKzVAt8CP9tZg2ryEtGVFm9n46kcx9Nyg3sDLf0ymUrsfPl%2Fv6dfSAxAHr8X8WeLdhYxxsHS%2FHFS3D%2B5Wmk%2FLsJuFgKIngJnOAkjvOAy3JdabczwU9LjDDUx0BVPIdKg57pdaTyF9tmlWY3%2Fko8faH9izwKONA4XRVZl7i0fnnH1SnnvRqQ9TeqE72BOitUZirrzj7blr4rEvcauOFDkkM%2F%2B0yd0U0%2BAjTJcbcXP2nuEWE0nZSmppJmVvFjyegQcplAz4y6wzsY%2BYjeZBOV6LlhycQyttX9VuF5yl7VE%2Fm%2BDn5S0TXGuDy0Kt%2Fuk2oOQJUAR9QkKjENekMUkuXopTlL4xF0Mqe1OfgdHF2yJdASVraJEKpFEUBv0gZJv9FDGkgZKh6t62xRVvVA0dUq8nw9FwuTA6Zr3F2FhLopVyO22BtDaV4OKglKoZN9xeZgTe3gQ7OQ4AH4v%2FcIRBscsyW98wpdYUZ6ExRloPNJhAGygGD8BVDl9NZC0toVN3Fb2ZQTGhft2RTEYFzupyljPYFjqcrJlLoXPGsuxgpv1ZGGLgH%2B2IgQcBJ%2Fvr82gvnYgl7NdtrjaPmGhpPfA9EX4s4GN%2BEvmrBU6SO%2BqzPHOaYD3VIlLxZ3jgAlfAgwt6hu54ZXfPF%2FRIOJeodmCM9F8kmECuFLtgQoq%2BxVaMlzrAhukbey6ILzo8J56XkfZYNMHVAN76x2jQ4cRPafxhvJz4Vj2nzFlCxj7bXHx7zCz9bBVQmcWRjdQChcN7XvMKJfUYzIOmu0KFxcA4iV6ib2TIZFfXv%2BeNLw2scmYPBxRZa51SOqHhKn5TpaytrTZ4AFEu%2F6hlnsgjRQUSC7ncof7WLz15ePGckygyi%2B4SJaSxmZ4MozdHwdH77QK2Nc4aZGTKzadROtGwBOaLWPX6wNB89RVmemjPWWnPCAa2%2BjsU9LdTriIndsOcSqJ%2FZmz2B2f8mis8ob7WuLM8IH4U5ZO4ORcGMIVaNIvowsQ9NWiPkU3yavGq4PSIqcEUZ%2FhhynNq%2Fchf9HrRLj0fjstaZqT7LR7VmYBdsU0M6vkr%2BivygDPNnTS%2B8FOM5ZwCj7zxF%2BCUXa3fzLyWEQkdF2B%2FiYqAvGvKbZec5GczIndydr%2Bx0KqDaMOZ8UnRITaYMSYCaaOBcNzDRkZSg3a0TaHdt5LzJgoUEvPnK8hhTC5SVRHM4dDcPFhS%2B0rJlJvFQ4shHX0TtDSyXbGGsbHShLd2pN8Zo1xffjHKZkBbsC5mIUKozrLdxHtsw%2FrAq1jmrV22i5tkIKNMSHny%2FNHjmuEphp5HqzasT04IWJZ%2FqeEOQ7JB2WeEYxTGhu%2B6PrDI4t2QzNlJkTfflClQ1GwZ0yGhLnqcNv%2BxXmPqZvR74oIOKLjb0686YCIPm6nopwlgJLvoyflCNzomlRVG82r9j94mUdcwoNCtm7FywpLdUJTWTfgi8nMLJd4Ao5nT%2BqaGfsvPQ%2BHQGfiIbcKH0KRs1k5%2BJ3RUT837zfbByMUc1%2BGWvyBcvDB4UXpa43WUCGN14wjgc9SRqrZJdsovnQkbTgwlb9lhgilXc0w3VXuLZFUV91atMHp6kzB7%2FajWvB0yN82eaKOZonOhqqFIvXu%2FVTayBwG%2FjrYOoYKYaCFlI21L5LZpBXTf22RXRYR6XULcceT%2FPhi7sLC%2B0hcX4xuYAtbmtYWxl8XroK8g5lxKExVxfPedFRugGxj0L9Hu6%2FrZ9QnthTVBBkk8R3cZs0nMXPZMfXyLsWAyzxx%2FP2%2BM9H5Ee36wv2fINjTpTEZX6Gox%2FMQUNmi4HaMbd9ilwPPNE8BLDa8onQOpX%2BylWYlw%2FNcC6JhFg%2Brdc7QdkaO9MQaVD%2FGcM5jU%2Ft95BbGyldIqXr5ihhJLkXDqNowpuxEH5pEwfbBraYpBeLEAETYqLx498GB9NndoaMdL5cZPWy1O6RwRAhlR42i%2BC2CKSFU6TZ0bnNhJ%2FG%2BtcmA%2B1mcEX18EQXlPD%2BzFmHX3eMgR7PHmkW03BKovuZheqGbvKbegO%2B9ThipQHFSb%2FSUib%2F9kxSQiqPdEKvS53x5%2B5VuFbDubjmtSEa0gT5qbi%2FqEGpmIjL4Hm0W0O02XLHmpFTas%2B4Ns7mDN9YF49ImHwoIP%2F8gLCqFhISUA1IRVTAUsoKU8VfNt5cEolh%2BjvtHLJ9wDvIDeRCHJ4UeL%2BAb5lWs1q7owzy%2FQnxN6r3LKC9poGoziTN%2FUOYoV0seffbYc8BuZJ032K68vefLsb1Z7JEnrSt6GYxMTH98J545rlp6sGYoo61sQvMpEzj2SNgJxlZz0CoRR2zx11B9Yla7FcSeOvtp5zO4vpS9mCfu2AoP3Uw5PrJJ1M7UuAV7H0iwndFBJ0eJPfzYc3we3AASrIA7ZBuTz3tp6%2Bylw69zD579DTPuQ%2BDMKjlfWHQeGA24Bq2smcgztC9RnCOk8B6NZYVv%2B%2FszQJByclMi0c3tsmamM8tcXjAWp7niIZpsgZEfrRflQfL6LcpzX6s95YA6IBaHBG14tBFugLvZzlEkUE07oMHSvZa0DkxHHlYlbh4csqKfZTHdJdwkrsOHW3Dy71PAajR51iAnLB%2B2bdXywGwZonzlQF8bEesHG5EefhXkGcsjpA%2BrQaV8lGiZgVYkKsT0OWsDIStZfSidYgMF%2ByB1woh2jimRBHGvlSMmC2gDBq832i7Te16wjFdGS5rlPgNVKzWGxYKH23wLGcPJTx8sZQ9AwatxJvIgsEOhqZ%2FYzHJVfMEHORwEBfLY512RKUbtjXAwKRX%2FuuvkNgHkvEUoJatLwMpn67D15sK6Ny8%2FjT3Y5HFXeb2BaWAkno0bWUI3Jn12%2F3QuWCIxB9%2BvHdFj45%2FBZYibAHOGUn5ysXKanu%2Bh3yOy%2F%2BQ%2FfZY%2BcxiUiYhuxFEVDG6hR2mxkLaHAOUfS7y893ZFQ3O48aKk3DYY8d9XLgE70bGs4EJo%2BxbTspbnVK90r1ttT1pY88y8GU%2F5zxGRkJ5DOEVACeNFG1ER31nAFDwsiQz9R48AjzyhttZ5WSK%2BIRdSGCs1wBSpEyk0qCOrgKNR6hbRZy4tFz3MLd%2ByZVT0fR7F5sfJc2nP%2FxEGjE%2Fk1Jr4ZWIC6gq4OaPig%2Fgn24pvszTq1jCoH0Rqhmy7qsIzGKw4z%2FOg6lNyI3aAVFLKaqphalE%2FTIwaQSsn6L4glGERBDHMyKBO9MQLzVcuzOF40vkRh4uWCXd5VGrgFRnKE0%2BB%2FwqDxpVim0mNzgyjCM03G51%2BECFYQW17rr9JUq6ubRRDRC5y%2FvjACLfYBqA%2F0VFDMN8VlYAiOglpdSMGKYtI7gR41rj2F4ue3Z9AGeRTyznm%2Beo3bg2wwr6C7GDo5VXnYHlIuIY3PGIBHVTAuqEUvKTrCovTJHV5jrVWPxZagKbMPLz91lKPTgknIPRJ889CjHMs2pXHlKKlovSoVRgUURzQufZRtahmUkeOUOXWys7%2FPOso2CwB42h4lH1ITLOXM6EuQta1im9i8lFycVjQjFLiPu9QOj8mQ2tnN7TG%2BxKM2V5mdGgCNSLCBZESeHQ5ZxfcsYLearcALJr4fnvRaYxhlR48k7tL8z%2FXfsTzh8I%2FuqwRrULjq7ki%2FbGx4BeJ5yGGYvDQYLofUuakW%2F58KJ2d6tJVXJxAE46dG0fgetDqAqCU4322RqT%2BLmefzA6F%2FArjsDbiaruntvVpezs49IvtVLswmdmw8OPv42E4W5ltCw8gMix2Mv20weFIXoVkozI8wVanw8tGquqYKCqiKfB2K0ntScVYjY8d8SybkWlPjMjSjW33aZTAkViKXNi7z00at6xxDzTdJmQMh9r7GMRRLsKpB584ivF%2BuDkvXApyr8JQ8Wvy1NoTTI5Wgrf22Q5d%2FfnW87csFH9z%2BA8hGSKvZ4VseTZW03ZuBRihVVZcyiZVofLSRCQtNW8qUQ4k8lEoehMvIcrqff%2BsAwuUP1OwgOSgIShUcZyz2X4pcNvyFygHm1Ms1yrPrFO3ph69QAfziTn9%2B7KfmZ%2BKA2nOCWNCkKylOY4YdYkfG5pkD6xCRa05c%2Bl6HHaAiMH0BQXpIeI%2Fg5Pymv9u88scDuXfmzVgawA5NreZ8OrqHHrBQRbE%2B4y%2BxxsiUOS64Wpa4bVZBbieegjkMHPSHbSIoKrFT4tOG41u4Y5LY2IeQxryF2F0jeosMM%2F%2FXd%2FVRbCGSLoV8JqidcGqwC1o67mUgreyPv5bS2pS%2Fu9dEtc0fPV0wrjAO95baKqtyevz7uIP02gT7YBxNzFixEJoFuhJ9Jv47mhHmJrArzYv8h1ibDrEdWWp6nP2J5YNqtYHJZQSk0G%2FAD5%2BNJkJEdAdpcgchXx5JSsO5csZNaUDfHERSg7RzlFaa9LuJXwz5T2V7Ia0WUuXBZ1JMaFsWtTQOkDkoq3CNfi8prO7bLx%2B8yVvTuWFi3IE%2FsxYJnOrhKxMnGIDpU9RRH0PCyJy4mdd7sarLSAN%2F%2BiKxPdgYupbIpNF5D6j92%2F5dfwm2OGarGme9ysDrQ%2BUVJPUP%2Byvi4PwUZ6k5Ts%2F21ZrSz5US5RJRs6JKfjYfXR8AWolIQfLQ8oLYkfR5sA7X7fJvTEHCqPb76ixD0EoLCd0%2BjspnzftnfyuNKAGlIXcAYswuKeb8pHSwin%2BHTROOswOpFa2fc0FrVDq%2FFI0w1P%2BkU7KDoANrejWG3tQEfT3Il%2FmwpJ8f7IoIh3euzUcH%2BDqmJNfZGtiUdXZmhZl1dLVH7o5XJ0FZlBuU8pmYEMekMc%2F3tahgSgSfOXcJg8%2BMrBELaLnVci89WthX5Z9VRkv3xppQP7CId0S13r44DEKpS7fwfyKrGsqWPlJZL0KmEyMztYZlU9og0xDGjLWabRamQ5Eg5dcwJE4yolYB99VLm2vfL8hz3NV8ROjlFGdadrZI7nh2ikwNdha1oo%2FgW5HWAKMEAEtCgKQtCUXCxTdzWCrU1oTZdLATUsX8PcvOTj2YiBjLvK9R%2BfSoLYU1fa4CiDus7PiHwcBQ71aka0bwj9%2BeRZmNSpvubw50oreLAQS0CDoh7elKp8Hw2SJe3EnaEHXJ6iwdEMpdZQdjCpzHU79NQQL4XpaZkQl998L2MJYb7dnVREdGyUoNY4aaT1R4ll4mSTigk5%2FIe6cZSlZvQda5G8YiimMl9LDVrBgGmgMrtCJhnIL5rb7lJGAxUeB2XBtoW5jKyfkoaGunzjaYZqK0pt3QYpvc4sJDapenvtKn98oVSUXtfz%2F6G4fomYBMrybuVuCXoRivCIsDGl%2FHjkIxtonTKSLYm4XRjQRWjHGWkfxm%2BUgN3kx39TIoAZ%2ByhXg77o2T02JJE3tEzszmB5FHwmk3goUVzEx27%2BGoLHeLZTo4kbylIUrkPQIQQ%2BynjJwpghvACi3znCxBNqeWC3IDtpAbj5OBGiTF8TesqVR37y%2F2L9gt3AEBpbvXFDCwrNTT8OgiJajq9HjLY2kdRLlRJ3jbrC2VNWghXocbu7ITypnrB9tyYLT0EmNgT8J2Fa03kO97viqhKv0lUceopfhsQnT0XeldxHeOqiEQMQ4RYwWhHdJ0p0PspGQa1Cvfu1ZRkpi2r2FPI0vqcxfxRKr3FOVqkBhJAE%2FLV2CKR%2FtjkwPOou%2FyXzYADOubRlX6DSXrAx%2FKL4KH9QuyamhUbf%2BLR6N0qvVpHhLuCrfbbly8G2TSApcdZjvXSo4UBEdD4ijY6w%2B85ewXB9jI9%2BUAl8SLa4HNjsq0Z64YL5EQfm2mIsd9sJvSGYPlkdApCwodmj79%2BazQIUI1nJtzH1NySAYuSLURIOMsE4dARv8ZqsrR9%2B3RSDkQ4XV0bu2wbVOf82i4pDT9W%2Bdf3s7P9GVRsVG3QrouZ5nw7fUrbKaj0d7mVIxrOn8CSIbPMFl0gwi9BjDqZRMeH%2BTbGtvaoaLHavm73E63Z2LhZS53qjGd%2B3Cjn7MOvKndp0ofIt5Fg92%2B4OpKHQfy28Wucv%2FHuPMuC4ZAkB3YfkPQ3abu9GSGl2IXEvn5Unupmr%2FaH0mFY4wJWq4yyH1zVtH4R5wDddsOZUQ98Skkss%2FCyYpffSHiQF0ZpepdO5x6pHJA225zZk%2BGube8SncqaAaav5weRbLWaoi8hbf0CbImq5YhkkG7ByHCf503AMGQvzlL7wW7llbhqiTWeFPDFatzGoma7FVDlC93kLrBnPAyiPw0jrztF5u2vTCMiWrodOiyGSeqg0qlf%2FcuWKjSplThC8ItKEhokidf5kKkXeLBwmb6JBMpJ4AWwGvtdPNn8KPwDI16WXiWonU1dmEcUgTTRJeYOzJDpd0ay0zNUHdLfDu3zlNPcOrqfpph1Z%2BSfERYzXw%2FoSLlR5HfB8CCE3gjqsoH8HhJAKJzMSfstu0NvRQNyGap74vOER1d2y1O8Xtl4NeyXP0YQVVtQs5J3UdVUMabEtwqr%2BKaEO3WXPKWAmHSaGfaqGCiN25CZabbhcvOd%2BIy08OFjsCshphN%2FcQov%2FwW5vizfhuHOjthLPaiTGqVAYHcBHM6C4TbCjHCLkpRlmb8BNerlTW7GQ75ExUHL7L%2Bjru9zjSmWYlSI3PQ3%2FDDGHL%2B0aSBQVMCRGDAIQKfzJIuZhm5BxS0eX%2Fd3rfGQNg4nRUHu8PkYWfnvRLkM1PcH34Nv4RBTbKCKjqbhrDZu0AEfi%2F4M88aVo5yXdQZ2h4GpR4Km2tOcu5jPH5KyQVxsRmUYBLvVuL08SZAHTMycLHLY%2FU%2FysV2r9Y6E8sUTd53SVDHE5Y2wrD2dcvtPy1wfUK9Uph8Rn8ps3%2FgwzowxJPvxXpigNSGAHyPB9xF84CX9sy5JxA7uTxhxIJjbwTs%2FVbXPmxGvIIzQ2xcjD6roV%2BlptoC7jvWZF5yOKnCS%2FdPQJFTC%2FmqHUW%2Bdo37qOBdb0rZZxtrchwmRnb0q%2FpTsfoLk3cBuEWf7MiIs8GKRPNlEdCeO4p68lc4rBmw3OPZd%2FK9VE%2FZdiCTw30XaIMm0ONcHZppAHprHJBbRNh6dhqdIo71kkhFL6NTD5%2BwOI4IyOxxhhbqHaEVmTnxrm1Dv1EuormAhfufvyIGO0%2FF8xyVrF0bztXZkVzIv0j%2F7IlJdaW6Ne1Vk1qbFfokaMpuayUmOv2xPjyVIM%2FXOI4BN3gsmdovZZr6WebuC7c74MYVOPkMx4f22wKBl0OyI4i4zkmocr8%2FASFIKEu1mzkKQ4hU6WLr4rln%2B5WirJjqo90%2Bur%2BMBY78my4CYTLe9cUkC0ykaEw3Ad2b%2FQjnP8FRK06iAc9t6W7htAjwTHpzrIssOrHF3N9jru6uqfgwdX%2FtMpI3SM4jUMYtVcajw9sz9uV79CkXjdnjTr7ch1oOMW2XjlsPGzpr0r3J5d%2Bl2EVcDH5Vi4bT6cZ6twj%2B6glf1HUASBbRlluyKljjxAeKGu%2BuZq1BxSX8sRL2wrLSPeHcarRqyJ9HacmjqNBPJ7tos1vqn98aHMVMOhZ%2B%2FAvzz3M4zMidYyOZoVt%2BjErcALmOpDwkl71mfEwMQbbJGSSr4tJw2oI%2BZ8%2FEjjLvkHjJ9ke5XorkWXbQcGr37e%2Bkf8WfQ01kKn1rFe0FchNmBNiUW5bZXN%2Bk03IGfL%2BollGqs4q8LUrCpxQfuYRyYY2bgAiBaitnMgtwvJtbVBjwKp4YGD0fpzde85f9Uo7TSV4zl%2B5LSx1M3RDByamgrV9luAU1%2Bdh3doreVGzHbcu783kVOlWXKHE4fNA9LbamQOJzWlPIoYz4DfVxgQcwt6%2F%2F8cxD%2Fih5H41PepInwIT0GWZKCsMy3nUVCuay5wlkfXqS%2BytvQ5e2uxrBqar4Aphk9X4%2BTeaS3tb20F6sPXzqsqC0iLlCDgQuwg8B3HsSty8%2F4Q6rmUDgeOVuzAHeQF6Yk0TtbD11K3meodo7toc2SKuOFnH3QgYtw7UbXdHoF4WGtyS9BRS9c9UvlQ0nuO0CLrsltEplK84KcnIO%2Bwsz2Ih1%2B4dnFqjga0zNXkH3KLMn%2FUFuD%2BCV36Jdz5dPrYpkutzJIrGxO2JP%2BUZBl%2Fksx4%2B8vBOsoAywggnLW1r%2BNpBH2MAFzFxAAkP9%2BIhA9hpCPmhDmMahYhNxm%2BGiVoc%2BQ8rK6MGYXOoNg%2FIRBjq9Ok%2Bd3sWV7CaqfQVgdClZAEl4nT7Vf2booaSRXDWuUXkuQTMPZ%2Fe9ggnXlmvZFd7Yw3bCzlD75KKTysiLtbg5yzNXHFr6AwmIfW4USrIcPLwOVupG2Y%2BS1UJidCD5ICDMKiteiCLqWNYoggP9UiL9kSLdA7bfzUZFW0dpyRpkK9uiUrWlEVg%2Bt3Bxs7PBYk4%2FKcQGS78VC7CMpHhnX4MJUgUuDb9ZwreYFet2U4k34vn8RXCHp%2B7xgDvtZGKGqn5Sj8mVzfqcReLZ6Ey%2BePpFl5iRhh4YU4pXYOEZV2fKnPMt8nRNXOtkjsj82CMFUjbaQaiwpwaRSsfVcQqEP6kpQW9zmHvkhcMKl%2BrHmjPvLjotl0fMGNhUhm87Eax7vyVPVT2dPfXhxuoWuOpfd%2BW%2BSgIimZJSlWBuV1rm%2Fdxfrg%2ByDloT1RX81Csoi5dS796VW0Fi4y5eTx45jHKYypMm96dTAjq1aBTQhOkYDHL%2FyTyJiNz0sSKWaSF28hMUm9To1WCxM7uxDLounu7PmLJyncmGDsymOAiBIUaBBhAMkVAO6h1CJYloUpQtEOdFEu%2BseNIUzKPBhQZLVC0TNiJ0Dl%2Fu8u11zyl9x%2BzD3JhtbO9iL3B2HCmxsczlyEVxNv4OA3eXAaImASJFymeuuKItRZtMFoyQb%2BpSHkz5xJGZr%2FIJ2UKR5pR1pvA%2F8UCzNIjNkDK1Ocph1EPX4EtuI33X3DrSEvHCHpThBLKw7Twp4vkEEKJXwp5ZdvTGMQ%2FYhp2klAKi8E0vToPXnZcGyj72Kq9cUZ2QNTEqORxHEuqRlBPUSpDzo7PlIB%2FvXZIsZTeR%2BxAsxajtxh3ZT%2FBviN4fQ24of%2FxfH6BC6ev8gzaVc%2BgucxcqVlwLxN3JNcLsMkTXsNYUPxmnZiyk%2Fxh3aiZkjEZjEh2SdTpSFuODWxzBfchurLNTtu9lRFcoDvRk4R7M5JOnWEonTjSSe5yCxz%2F6P0EPFE%2BoLEm5Fxz6LSpVu6oKjIvMnUKtETmfL0hW%2BKVoLRQe7k4vMA8jLKygbuuqec6SVxGp0klqrCfuze%2BW%2FVs%2F%2Ffpt0L4HZ6%2B1HC7vu1OU6sgb2T285BPHAU1SbsARGTQQHRyEv5eO%2FwAeJOklXQDxAlCsbQbGZxxqPiJSFo6zwayQDRzUm2x%2F%2F76%2Bgidg3r4rkQCHwMNI8Va8c1F5o9zDaAiqOIo1GaSXJxcEkUItH3zfG0u8YhiVdlT99j0SW1narXvYBna8lwbwAX1XmzM1KYJ%2FqgGcMTxc3b7QbOwLxOHk%2BSHaZCP0fPqWVtGKRNQb8rK4rHqp7qAHG9Z919Ip836P4j31KZeEIVRhImSb1pVAOJVsp5bMwyZfx3VVLbpmnaTA6lezBEh73ZogIpGdydK%2B1ASxTZSjGVDxvBP3AOJdYqODvd6qlAdKFRIx34FlEPIr7LMFOWCAqVkVtuZQaasd33R6nUNbAn1Ge0vHvfnpGPAhEr03HY1UIwO%2BK%2BUqJOLeJl5Y2dTiPoNJ4sG3qgFmwArVvAZ2AiXQGP5ZLjxtTi9JWVvtmig0EE36MH5lBPMpXJbufO9M9RxlfbHn7qdJr6fUmv2naosGN29xXht5Q%2B6lxiwEihdox0CNz1XuOf%2Bjete7NHkbJKuqj8kwr6Reu%2FOo7rJF03K8Gi9zy1HWZrEPK9u1UpVXJlTVCbIj0yXemj0y6ZDehNgE2BSlwhg7wlbB%2Brzi0d%2FeICQjpa0SS9wI3AlN1gcEEJgJrKia4WNInOnLA0S%2BmZOxNPEeThxUmOqAOML9rD8SxYsQxWIPGYHrGd1YBGO5JEKlaaJVMUoqh%2FmEKGZVwAxfthh6EvksLe7J90tq0DoqE2cuP7aHbf2r3VrCD8d4s2Ejke0AGN9Phfwx5n5Q5sPEuD0SpDcCJzK8G5BoBKvxgvAO%2FQsH7tgsCSQyaGQ9ovuGgHVfnvq5qkQoBV23PNkdinZSZ0rIdTjFDjRqGd3tZEZHkS3QIRVCZqo5B5lh%2F5JK3ENsBzm1De1L%2B%2FgIajydOk434zqpf%2B6l8BxxG6oXDbG%2FoCKsexB6iReIbE2E50mp1AfHYP60ySluiE6A0LXfpR5QjFbEHiLc4a9oWLTK95ODcwmDJIWq2USUPbJnGQJGNX0jY9rmoep4fBKrgogUcGUOHFlFcBdfG40kkwgkfj0ADcq2ho7YM5oDPZ%2Fd7h0%2BmVH6CR%2FmuwfYxwHDOqM%2B5U4Mm7gdV1fSVVXq9cIPgrZgDWDssBbpE94y%2BbZ%2Fdk9LEPqcb3Nj5X5Ccb1atMeMZySjRborWiG6VnCYSKd%2BKCcvRPCEnbOd8JYVLSSdD5cz7p6jfgJivbWxdKG1VM8A3hxyr%2BfnaOUFCnBARECzOK2kiSrFMebmNEWvTyW81KuLfVux9q7SVAW7si7%2Fs1s854WapKPZoZJcbTeGSXL01XsccEK14jsJ4etiNoFaEyU0HjhUL1Io4QhCD5F2ckx9Ddh07p00SYZDnsQPAKqDqbpt2%2FpUkEIPfGiZSrog203ZQjbMV%2Bd8ytcSQKKbnyJ5N07732j6u7E2ydH5E%2FpgQYXAHDSMOgawBJcY7hwr0pvUlsw87wCgs5w%2Fgi1JZZxPdmg3bpHNXVxhW5wMq6dvc041WjsLezbeL4mUSPA0TLxOst1CDNi2oapu6zcNycUkWLBsAb6j5M%2Fw6AwNKwnZ1068shS%2BIAmn1%2B51c0hBPIBTMKF5k6e4Gm2d8Sjt%2FkZBVxZA2d1yb522oeG%2BlIsjfFChe%2FCNsvoNg0ST9BfM7fdIIbpQTczzTCzGS2ad4jykiWI5a4pktov89wUfzMMtVZ1zo%2BDShO0pxqcCBlO8WyNH3c5Sz2lyLO1WfrmdiLNeqWSiRkmGo5qDliYO0EZ%2BkNxXd3xNdDYEut8ZgoZ37jNC0yEmKT3qBLdWCkVJHXmOBpCNhgn%2F14fTgs1pZMrFYi9mClhvEf5RCaVeiKd5DKcQ3X9Iy5ziYI%2FoouZ%2BE%2BVnXsyOjfiC78tfnMHS4ox51vSWBFdnME4QlNztWrZxDseq6Koa2H%2F%2FBeS364a78EP3U514sGqmRZjGfjMBBPv6Ae55M4T7g%2Bwk9Pzr93bPAjeYY1jXCcf4KgeYFNwjIaR6Hl%2FMjufvt4yu%2Bu6MyCvPzl1k5CdWpET5PvCqqUayEg5IV7U84jWtPICCxDFbYXwifl9PoikfAZpr%2BYDU28AupvGaEvDjaUp2zi%2Fsq3jEGvFrn39XXdrnuy6vvIKMjTIEYQFy7ROS6jhJSx0t8m137Wm23UGm9Rv3yurHn7WoDclKhcrUrp7jk%2FmD96hEriZOuqtUBMfvydxQEVjjov4BMPWf0SWUatfDd01LJI%2F9ssFTuywjN079ogoEafbD2KJSX1ROnB8MCMMPclCKDdQiLeIwIQtg5%2BtK%2BQ5PE6ZaROIuGkgpfGL7oGIBcj0ak2zdPuMpHD4nf5g6o8434SRolHAxN0b%2FCmJQNsjMAxyMXi7iwep5IkM7fJ9xWBiDN0H%2FbmWSw2tgjZBttlvoK%2Fy7sSjwYfhnffH7yHJQFhXRmvqKIi9BHklGTBDAf4vNy5jNYZzBwqp75atHRT2u4rSzEBecCDBzQoLrhPjZxosM2up5FWTe1y8TsHgH2CBJ%2BksP4nqfidvp7FL8UrthnZBs%2FFqm%2F8b%2F7DsujFxl8KilNx%2Fq1J1iJ3jQ8TPnuqdW3TsWDrMuyOyVto0PjRDWS2rjWoqS3002vmRxhOzu2t3JyJRSb3tWYwDN8UBo6kTVMZbjxA0SFRda0s6lxBrdqVNyJCe%2F0DFtryykM9lnBAdSNEi%2Br6ZaZwkdUPcQNbuCeqjYzb6cX16PVvOOZSzCaEjgBeW5iJ7YPGeyvk2vGZ%2FDtNgzRqdOBPQlgqkspwMzfY6HPJzXzG%2FuGZWgq7KWbKksyAtPyPuIHrcYI050DVaJILO6VvWvG16r8UfAgln5tmZZJKysOKdZhBSkicWSZL8cmRnUYb9Qu62eyAnUuCXesmq%2FZJP%2BwlG9oUixNeCU1sdLRspmosubOXgJZzXHvuZQjpfVJpKE2K8fqBwy3uTwspb%2FXyMyo9do7MYGpTh0YGm5BvPK%2FThhI9u82ACTSKlAe3gWqLxykU0oWSBIL48w2mcFM0502VCtuEcbhL4m8ULAWVtgod09RR12MpBnFG0vqes5KoPGT%2FpSVlpkvoBmKg2nd6AEYBzxJZI0L7FimrEVLVQLlQh6ggYfvmTKF3%2BAcT1Yp2c2D7Llt0ogDbB%2FSSTtG2wiqr21sV8DiLbZSHXNX3o6U8joifCi9rOxMfTUyoeBDIaoKYWN9iBgscaLvT6L9id4h2H7A%2F6muoN07w9E3C63zKeZA%2BvQ%2FqSUf26KEH6EdVn3VFxTLvISDTJuuuKtmNms23jmM2JBIjRUf88b%2FXMO8bLJgp50XjFcvB0or2r7nxyhwQz%2Fj84DoYKCIq9JxGSn%2F0wiClbBtusDukQYebVA2WMiQd5RApEJjgdgLdaPNaj%2Bav4xrqTy6M3HZA6cndcosvRoKFGQTIUURR4uLUI1Y0loFEBqjTGHQFuyRqr592rDobgfeUWbop9FTfkrEEOVjSHDQ0dGJxIY4unLvM40SfU%2F9FgqQiyuNofJJDDAr2%2BgubVQA%2BlPD83ZwV7c7V1oBzYQE6agvQ55MBXjC8OJACIMwwHJiBP0ghdPWrH6YRWjtbBLczOe7Gq8GllH91aXZaXvG5ANpJ87G5YyAsHiunNj1n2WDFaTKZSfCfGDMV%2Fp4UhKTfOx87wx5FZ9JJLpxRcYXFHhZpmbawqkwyNXwPJXyqzsKkbkdY%2BTiqOAV%2FO2aTTFYRg0Z44Tr7vWqTr1rrMxS3fQJTHOn%2BDDnbvWoOOTkfdMqG30pxskQc%2BVZZeytScJ6SLZfYVS4Si9RuiLl0xZPFAm9RORLI2wQlkCY1Bt8qXiT%2FxijCa14u3ljEGOzl%2BRzfU9aFhTctOvtaURPUevx1ZaG7yeLvcpTllY2GZWKFZkqNK4Q%2Fy5H3Ec4TO%2BcA5Oc%2BBgTH4uwy1vdx907gipZYwA73IWz6WZ5zHFJghsOwkM%2BgWed5Sl7nXPClKDLy2Sk4Lie64nPiuE3Nj084aZV%2BcJd5W1M5XeXliESrkNp8F4HudFlVlgKbxPDewCdoC7LfCX8CQd23lWDJGbsPi5EsEuDntOEu9n5a3r%2FqgNrv91zuSVhkp79gulXQB3n0IZSPDPI15cC82uTYn9k%2FRg0Y3YgP1HD1104hNb43zEembdB0zDxzk2wDep25m1ZLP7FT2IcNLZ9JS%2Bp%2B2mAQXA9nDwwuxpD9vU2cgnRlGrMqiKd0QJHl5wSTXUHVBkjg5oQUPgYSkXaW41vEa%2BXxI7XZzxXgeX%2Be7sowDGs6GhqcsWRpvFtvd3WY7hz0E9d%2FukK%2B4C%2F23Ulld%2Bc97HpqFPj%2BWT4uoe7sA4SX6tb6UKnju34utXoNx%2BfD83mb9rYSC05apZdFvbMDPmBtpb0IgxZ%2Fayaitq%2BE6QiHx4ZGuwP970ocvOCO6Cipf4%2B0DgbVSig0%2BS4WnvxnxxWgPx%2Be3LsFMjVWK8%2Bm3tF7L8hQDFeURkVbGuqJce16MRp6xl15vl9%2FTGCnhK62697SsQYz7YSCVD3HTS2ASPGDyR0B8mRqeK2JehZ57R%2F%2F3TrlMjrxOpGHYoXwc7TnJ6XeNVhCsQWQb0zMFeiWui57f1mafy9z1zAvP8Rdpga2H%2FjZegEuOtnetPAhc88IOfLIpwjue3LoaQXqLePa4Oqr86wBElQAshQ3CBauMm0R9kXqAft3tjeHx8iDmQotVdqDpajnJFCJU9oIbIVJ45Io%2BDqkvqq6RM20AdPbHtBueAp4%2Fz9pEkPKMSGUcDcDxoEL0%3D&__VIEWSTATEGENERATOR=3FEBCCBF&__SCROLLPOSITIONX=0&__SCROLLPOSITIONY=0&__EVENTVALIDATION=qKURSTfR0s8QnX%2Be760iTUjGbYEnGHjOb7GaybE%2BMO%2F3wvSPfyANtVA2pgdYEK7kwrl9n9Vv6pywwrWi30HlxCkQ7WRfbE0U0ozAeJ29p%2BigY37fHDhxb2Y2TFh5bhmoUyd7hzVwjhEsPO%2F27JY8UvmXy4y0%2FcWKAKyQUroBuuW5IRQrsDaUv5yyfFj6%2FnMnVWTRwYHhwkj9y5e282u3YbJZ48yG8%2BHvmL6flEEaeW2PB%2BKNDd%2BKoBZUJMVKh1zcUPQgOuJTCU7baNwQVt%2Bh8%2BSeJvvMCZTnmjKQfQE6AqQXdJL27gJa1NoTvW1lNCnCy2OkYjZrAM8S6F8mVjXdOsNTHj1xfIPqTKN54nzdFqOmSL5Rmu0rOcKXt4t3%2Fk%2F%2BXurS8XH8lJvPHQ3fF1l13NuVFh7Z1erwkj%2BS6mPQ7UwOX1lI9QS5zYNermZomvVhxLxR5pjhZIC3zRIqKiguUUyMRXQM1w%2B1%2Bi3AO8gP1waQ1uDCA%2Fvo3J60jkojV2cq1jhToksi9OGWIuuCRbQuLNWp4yWybD3ONhIYve8YCCb1Y5ts0NjU6XMgGsD29iwbAO%2FR2phJg6T5OkjOUfmt2CjZVSebewPY%2FgICdsLYN1xnAHbESBzmvMQUYCLaldZ2vAnnyM4KZGSWHVw06YZQ%2B4DNBoT6SWJngxZxKPG6qbBmGtJALlgmTeK%2BEZul0sL8SXGzsvzzN79jRZyfROXZ6cnkVSPBGkzWSK4Fcv2Uq5og9vP3vCufYp2FcRs9Facqei37QoUYxWHkb4vzbf%2BLji2Sk%2Fk%2BAyj1QZhtDVPDN%2BM23%2FniFmcT45%2BzIu1Fz3MstEWgzvSI2hd4RpLzvJM5mFRuy0KdgqOpWGgQIJbUVd%2BOS9oyFuRWQ2qb8drxn2RtCV4zLwIc6pPecC13Azr6mUnVeg%2BwHsP6ah9s6j6WGmpPHdpaKnw0uwvJIZfRQwRfADl5ztduh%2FusXuJRZBM3cTvVeDzdIoUe29h1k9DW3usr4xEUkq9gf%2BieYPkODMoC%2BIJu0LCkxVtANI2PgPhXCpcrmTYp2NqGCarJn4VVrxEavCm%2FOMvNsIntAxWN4KacS%2BYr5y4ww1J1pj344jiTrg%3D%3D&__VIEWSTATEENCRYPTED=&__ASYNCPOST=true& -viewstate: -ksY8K2gvD37M2qSnF5wpUXuIm%2BDs5fj0gLFpEbeBL8hlzqfpPEquHIhyZ5fxmNkbU9Y4rabeHc9mEzH20nYjVLEvMfvDtK3d%2BDtgS3U%2F0N0o2jogx4K1gLShDCKqrLkSlCjtg3uSnVMvjzE6KRPMkEpOzjOspWeYuTuZGCMOTb06kEZ37tyb33ObIgPvICE12%2FRsDXlHNR3SKiAqeyHP5EaCX%2BcNd8VWDqsrnrmEA1UorGozoxG%2FYpQxlm1w62jHK03o3FEE%2B8gIqt5br2EQBrgv3P0elakG3DQWnm3lcpo1gJEwC9FaJprycnnCQ4jXMME054YEdy8HfUD30ppABFkRFw95G5hKMvmkIaj5gJO2tgcJMUBPFwRKaMkF%2By4rUHQ2IKRx6Fe815Y1YClQjZs7prhrVMclkobqv3HCwFF%2BkfqZC44F92rVR%2FBH8j331YjyIgZKs8OCFTcxx7KU59Xph5vIF7T2fp2Ay2A2J%2FotWTyTm6DJqeOcrznRwwLKaohC6iml742sUNVj86p7c5xee43QjVN%2FjCOKzIusv87CvJ1%2F3o81HNL0%2BFDwtDRNBN3PkdkjhXUM2WVQMaQ942t1%2FbWGL2x7VedEsVQwuC8qB47ugxgVcBvMEHqe6tOWH3qbVF1kRSCn4EGrwfaL9K6DWBsIUOix6qZtHFQmE1JW5ZA%2Bf8XNSwg9YHBfEzjmK9TfiU6cD9TgM95jSE7RTSxcs5EF9IX9r9mcxMQaIN%2FFVZQsFWXYrOgK9yOmiEfGjWirTmwFfYPVMV5jp8kLqpckTFfcyLQfjhvy1ZE2FCpXqUD73acVd6dLWZWoR1Vo2tO1uLmlPyIl%2Bu7%2Fxv3XpGbqNCobz%2Fy3Z7xFHjtOX7G9DI0ql66rGS%2F4BODk%2BtgOH6%2FqInT6vvE4UCsUA2N9UYyeIffka9lB4XpmUlbsOw%2BNhfXBk9F%2F1%2BbK%2FpEZctlw2TOqVZRj1Qlp5yCgZqugGJa8AYTACwHipBX%2FKvi6N9kON%2F%2F6H7yJCKZL%2FqCsE%2FToQ0jq7OqYl7pqBmhrBc7N0FjJJGpthM36IqexnvUO%2BF6o3KzDsfaAQ4t5wSf%2F86mNqvoUQcg8iIJshdFSaALs12haQVMrFT1SLhFsWsyCUwMNeWDgkGogbGkWOTQdZxLCq%2FbNt0GG4ExguXW8SCXdu379IQ3ZgqfYC4tiJ9muDbdMElA2qgt%2BEev6PXiigEpSm5CqwWBgsVABExvCk2Gkz9shKTQxKJXIK4Fqb%2F8aRlH0YuYy2DG6q3eIDsWw6ZM7RJoamDv7MU2EWZeLMuQb0gOMNDbLr161IgGBzUJPNS%2B%2B%2BW%2FTdDG37t19iun6hHd5pw08PMlbvUERyY4c%2BJvHAz5pUAOicL5ELVlq7rj0R3IoV0ekAY9O5X3QKeApVKC%2Bthvpi3yL35NHJr2t6pwUTswcJnKIFSRN71nx86JdKPIprC30OHJDfpGRBGwUvfs%2BdTe%2Fx94lCno6gzyKYQauACS3ZsnutRFAar6Zmvxh7aMnrGrC6%2BaWWGB7R9OMPC23vtL6F1MHvSZXvB%2BxGWB9Xh2oB%2FSMiFtTDfxPr%2F%2FVH35IMatN%2FPiqUv6mV2%2FjD8Cq2wmJ%2BjgFYMy8ACjGD7CGpMH%2B%2FDiQrRp3mZs%2B9V3BurolGX8JINAoum8STmvUheV68LTjaOXouG16EiowKVmFdTtkGccp13mHjQqaFaFZWzRwBuokOM4jtBoubynrGTGcnfdsrRkLZ1MCKwG28fM7QhQxLpe%2B%2BMnHXZEFYJNXkqgVDNk986qQ23H3LcJ46pt5drBHsrr5RZDqo8VSOdozL6CH%2F19Uizmi7IhjXN22Kj%2FbosEeZU5Spdj9Vna5nxaWSc%2FEI88UsAQLAXq1NrM2DnF88S0f1TtaGWbjWNE4Skcy8EJA1RUMgIVMwShbpxaMhGv1ITBZt98%2BpQb%2BfT4z2xlplQLl3Cym74uH9MfjMDsXtZLrlXb%2F0%2BZMRVSfAc1YYGH7Br4KdbVjiQPo6ZXLRSxuBOcGKNuoGAya6ZjF%2Bs2DJIHVk4OUpWFy1ecxgUteBbdHLaWLgCEx0a03yVH25y875DKpWWUJYjQ36mzn2ooDWgbgWnF1X2U%2B8uQEvPBGFtThlfIrinNonwgaWz22MQdVSs37Q8QRdz5kDLGaAC3B1TaSEycEp9ypc48lZQ%2Ffj2AJv0CQk82MpJeJyVdRMK9afUskhK4MSZyKkPK3ENBBRgUsE%2B%2Fe29Bj%2F75Evmq7fWALS6MgDh3UeBkBwRbfaxySgOyQugjz3AJRPnT1fdD%2F3jB6M3qfCIEMBl6gL3nLYnDBYlQWtxrgkpds%2FVjAnZHRI%2Fv3HfFSID5nSyJpfRbQlsqvAA%2Fv2yAiolu1w%2BJL9dMBso02%2B8w4hodVJ85XMiuQqJJBg%2FROfUZdbG8MXnxc%2FM%2FLuDwwDBYuFL1B2BPkG7rdD8q7UkS6aJ78NN3w0W36xPJXyDZG1606U9WBHEqGA6CgGPUYVyO%2FAcg9YU8%2ByFIFjDY%2FALtLhgocH3mcKHclmbLuOH1i6SBalmQl7V65YVNzkypnOUOIMCn8vke5mn8UhEad%2FpEC8v6B4Rlm5Q2XznFrDEYqWxAXuPFsx0X6dSGSz9V8WftwMfXCzsrCIySAfCMeu5QYQUMjDCE6d%2F3GeFmI5yslKAlmjc5Rwaq3UT3%2FlXisXwqLx4Pg5QWAysLWQuBnP0VY4Ls2m7gZAkRXShzCuvn00LupVbe%2Fuu8hUKcsAUTOjHp4uTqVNolYRbrbB%2BIqBIzQHO4%2Boen3oe73VvPPzxWGvGNi8vMHjlcuJ5fsrFzVZTY2cQEsm%2FO1d%2FbtD1iEzSrBgE3vkVR%2BTN8fFn%2FR04DDSBqUZQor%2FVMYcssc4i4F17m3xl2nR2RjaAvDxEyf9WEdzbMdrHlsPEb8WYvw6dZkP%2B%2Bs1KpbtHccLpX78EZs7SbFB07m7Ba9DZfOJ429P%2BQ1EUK%2FJHh7GXyGmqf4L8ufMAY9l63mtK83BEwOeMtdPGFHLXiuPKtIHUGcGTd5%2B4MNGrTXH5xLibZ57jUP5p4JdSixf0%2BaIaq73RzEw5jZVCN97o1UAfvZf7cTRz%2BzfW%2FS%2F00eyu5P3SlFo8mJ%2B7cmSkBQYO2MSNPqgJxkYQm9XInsVyjVOgtIggZz0KzX4CElGLzwO3pjXpRBvN2ly7Aew5flmOzY6pFtWI4RSIbLDhf0kxAbHF8uEm7%2BZkdNx3XDYYEBwThtfT5NqAQi3trdtjo3nsE6798zcLmoHa17Z%2B%2B%2FtObLJksD0Iy9GlEeAWcHQsPVHbvZI%2FBLMJzJSTjnRReO6fy1M%2Ba1IaG2773HpWppDf%2B2lLCr9A6bSMVcWdJGBzPDjXvBP1%2Fa9C2guY8LKT0Ke17CXBSxK2lWOWvVxbghjyARxDtC8TW10JlKyGLaiyL9RCVXMgIeZzrnlb5P%2Fvjyr8Gk5jliYqZ959TpzCgbHqtOOwbnjDjnWLw%2BwpC38%2FMyUuwV%2BpJ%2BlDAm92flm7I%2Bc2%2BdFqVQzBb%2FHni2LRgiecGZbbE0JWHZ0QsfYtG5VmiHzOT2Xf7%2Fj6Ib25LajhYC5Grt6fWu6KOBHN3P4DqtV0yrm%2FupEsoLxrT0%2Fvc%2BaK9i9HN%2BMXmK6gIQmW33ZSajzotD0aKCUe%2BpXhKD4VDFUtPPjoi8O3Fo5hLEIaqoP13WCFA7Mn5AYxDe%2F6I6t7Lepp4lKlTaBPHRAaAfJp1fO8oP1xknyjzvxJLwa8UrHRt9MaBVhdS7Hv%2Fa64ytkssjzybs5PwiF1Gr5cpfM5mYWn8wHaI1BviOeGTMfwa4uVDFh2GbYb5Zh9EgOYA4%2BkhGsL6QuDjkabmfej5zmSnqAoD6HH3NZL6NmrYp%2F3UsWyT5PYxIVw%2BvXziNJldCrwPdjN%2FxHNRri1wAdn5c3tQTLPGOjubdrStRPzNtSYDKjO6nwtpck2u%2BZyafDgI01wrs9FmCBGbvsnKrdM0Sz3S2RzMbVhOiCqXDgQi1JXGbV6D4ZZsexxZU50m0XPdpaICE3mL5E%2B4tNIBUI6kN3B6c49pw9PNc1p2Zodsmy%2BAdnMUiaGOZs6qYYbo2MwH%2FLE%2BwSNdHeDPkqCtTVd3kiffVwlSSdyI%2B7ZRIFfGg7oWKXyJQ8cZxPxQJPNpoJAkLHw5yRiZ%2BmlhGWCBYdLzRYObWRFylVi4297CCgsoQYkxRQa9TxwcXVqgaszKTBiulCq8zh%2Fr%2BgdddbxYB6kmRRbxZZEyf3kbnLHitZH4XzB%2FlyvHGfEhOJXG6lQpZKBNKzhAw2gehIQmDF3ybhzIBmAffWnsUHk2X8Ws%2FdYjpn9WohhTMFqZzKGMnIa8REsOGh6aF02Rf%2BFL%2FJrORs90CQLf7KHi6WkTkYXG6g8KCUYRL0ZOwNfn4yu8YLmjEgFJId2BGUUzfRcM7zyaEDr5aCukpeEvoPM16Et%2BYYafEnfrsi3VwGf%2BfwMyJC1ZqoKpmu4v0QPKOOuwckQriWryYC%2Bft1L7AK3DJmSOCb7CgQs2AQhFZ0NAYxFzpG5ImmtaF6d%2FZjGB7n%2FDuFtNMfA2ypXBPD9BflPZDNz%2FQ6aYvLUedJbBnGPZDTHT3Lgel19%2FnHyV4dSsYp5%2BQwO8k%2FXMvq%2FmivEnKWiR%2FQJzEeG2XOKDZwePiZiCkiWWCwtHc2hx%2Fxg4FFyY5XfLPlPG0jcq5C2cbdupbeHBRpFoX6YPPPp%2BU1nRai8wrHX%2BIBUNavZ8ymXtwInZ6MLUzeUTHb%2B1TtPuOiYMtOoxQlR4fgXvCtJUXEcTWbVVAEVR5%2FOWSq6FF3e%2BbofNiWx%2BcozgrqQUMYLNpr0vlinvpJjt9eaEPdw0zt%2F0LLFHCOn6eq%2BXfg2HctKVgI8p1h4kxYXUhxIY573pb3pmJBi%2BgjrVp0O8Zb77WY4DQ05GozujexS15WZroYXUmy%2BcE%2BtY2ZxZrF46PcXKm9MrxYFVz1NSU0WEYqY%2Bjut9gGrUnme8K4rxqaFGmogFpUcHe3Je%2BbXYz3JeS1VeGy1FJxv%2FBH%2FjdC6Ro5%2Fb529oiGASonw8SwwF6gT83tgwjsgmypX3IFCTsyF2AIXY5eE%2FpK8sbduUj50AqL3qrXY%2F3u0KT38Etoh%2F6MzneRGVbet0uYuuAq%2Bqo8EoWk3p7FnZu7gQJ9LxSLiMVHGd6c7ZTiL1pg29dbCQ0olPh1WIC9uhnJ47s5xJypF7CxoOYzBySk6NJpfgtWDO%2BleA2NMD4yWoWTi8hydANZYKu1%2FHYPHc9FuHZYhSwTC0dc3FYzmaOIAK7XgWJWzeC2GR9p1ktyad1DhG2Q5xskmbNqmzyoknrk7gytePL0H%2FSicL1Pkx13QWUrV5h97VEwCVJDYVSzcSsBFVMAID4msVVsJGiTol%2B4wTxAnSnru%2BVhET72z8OJdIpk6ehj5hTTHYgq6cWI46T8rEIQDd2MCbx1dzcpBncA3FBBrlToQjGHo7KNTOmIV4ZWmvuHNUD%2BzX72h52RMn67gmgl%2BgtRyPW2y6PEEBkfTGdZw12mmC5FR3tCRaSi7o8eDiTjrMt2yaFcU%2B%2FMplHIFYtvTBmMzQW4%2F4c6xd4KR8YuH7i5XH9BE2u79IuLlieNLp3eUrgCD6ZdhEEFcdhI3T4Z4NrwPpEzlyvZ6%2Fk9TS7JCU5boaGJfKWgpCn5%2Fujl9O%2FzgySbgb7lYX72ACgN4cONCBBuVBuOseqRbyH4jyXBLFCSFI9Uhw%2FSomE2iGLZcAyl23vkOwlyZ8sH%2BiH1c1Borck7eZKhgqhRF0qgib47YdDrGu%2FIRhYR4fBXR3qAMs2BUT5GRsjWfmcFsrf1ixZyOA%2BAEvxeF2vpYvuT5THoflOz23khvD1uY1wyd%2B1PluTG%2F6Q7n4oQnGBo3l9ceXx5Zla8fgrV8N5mWSC9WDzD%2BF7jQAUjm%2FEx2JS84pTRQlzCcOythVpSmvkimQsIiDHvt1N4OKdtcVYvAnzlHfWvdBpkDUT%2FBurtFHrYLLJeTHVdWUQBzzQLPhKgz2Cwxdf3X0LbVMmuFM3Bor248j0RVFpW%2FXHOh5jpYenAb8rCox%2BN9bFXPs%2BjN24FeYXh1ufikCzf7bWDiQV3RQAsDCixRoeXJjvBVmnALjmdOgD92UjAavbK%2BOZYHLNVHFtN6Do%2F%2BFpNI6vjqPK1WTt4c%2FeSD%2FGyF71GA%2B%2FIGa9ftv5Pdyz4sZDuPLYffgghsMINO%2Fi1df8THkYUcLpSNf02IH1lJ5E6BQkVpqQR8YlJF0%2B9UYiqR2DB5gZD49ZZcCujtTIzJX5vgxL8LZDPpFKMLAnLJ2lXMmDJJYmk%2Bsojv7DC7BsWBSoni6bNRXoemYLRSxeUkSYiTn1TDiWqbBuLgOP7zZi2qnqqhAsErnMf9F2pCK3w6KzugN6wEQHelXABODDwYMcAD0WMCDAgJlDwBSyvqwdFnin2G4FF9XD%2BiSD95RQ3IZYiHdPZyHbGY0XMLSpaB87yKQzys6eu%2FN8NnpME3PZuKoepmYQsit%2BwQVR78544Y7UmoMU87DOAhQymdNU%2FS6pEhIMUTRwUoyvnufhuDqK1hkfzjWhpv0C7AsbGqpaAjfOi0AkAGOdzWRBxzTjmPscaLBOYsqXDDMa9kjgyAy6HG1c6734vuaV6qNK9JcXhyrlbUbgvlgLw%2BC3uqhdO0BxaVD0dFH8LZ8drrDqaMCs%2FEuapnedEnX72DPMvWEbNNmsR%2BtixM7VF5XAmLleYhJHvbPUCS1V56EAxmtNloJHtS5TmPb5pptpeWKFbkiTYHpgG5KZEExEGVu1Dh%2Ba6Jv9%2BwwGuh9dr%2FCIu5LExac%2BBVhfZcTf4dJuXZ5QwiSqyInAm9yUgg%2BirtbKr1iK5Ex1%2BKpDoKVbBpvKPeoHp0QWgEAIFwtcD6%2Fbe3ri77qLArUhCB%2Fd%2B%2FQl2s9VNyyozCrThjunjrCnnGxgUYpq%2FvoIRHbJYbWM4%2FXpJesYS5GFYixfIAVAsp5em%2Bx%2F%2Bl%2FIpzY1%2BvcDVLqlTdtxh4b8FRKFe%2FPZES5cJb3JWwuOUAN9%2FXQio4OlIppRTvWW6%2FkbdqBtMkDkp9TdRp1%2BQ6djM0BumxB0KXxd71XENDMaAhhbLZX%2FL6cFvCL2MY1cv1AjDVHfXLy61sGv0vAWta%2BWrTUqLVrXqgAclI11gzfArHuv99Ue6QqEet2D8VyayGw9phXPXosaNDM96mA6hyME1gxrHBme3pLHZ42mPCClQxHTLqC%2BjnQCEyHxgPg5mgPQke%2FuE2Chx7IIAPmTW2PcY%2BOxA%2BAFW1thKxNEqbFYWxv2gI6lqYo2%2FA0ILsFjuafUzcnI%2FLm2tzWYfiAxGUBKWOvCP7sOClSIycdlOaGbl%2F%2FI1z8iAzc8viFgJ1lZBpy1AaAOuvtmxbTHDgRuuvcmoxuW%2B%2B7rXLf86xg00qE3O5p38uI1rx4w4t%2BnhZtUMoSXdU8sOBgR1Bu0SD84s0AWlqPchcluMutSZ7crKc3ryfBam0Pu37ob7AcCVPdEjI1Ha9ZK2MdMvm84uRgxQ8mYJ4miReP3T5ZwmD5r5XiOz%2BW8kYtJB4t49jQcB96V5Myby7GYENXlbBFw30BVP6b0OEoA0QW0M1mOd2iyQqmDZcRuff8CzcTy583ns%2Bs6gPnp2J0fliG%2FcBb9k%2Bip8O6hi8MP2TfzEFrVZzxF8w3NwUQ%2FpKNa7z8O5SBGrwSRLPTAskVTIRVM4eMk3MFokdUlwgJRKQX02kJ3MJzlFf2%2BqpxyECM6uTeIMPWgvn%2BZ6bYrRUgpkpTXFSRvQki8lajW%2Bk%2FBEGdsxCr3z6JNv5KhYYz0QKR4ozjFHbxYyIHbss7maV8nqhW8zOh%2BCPiQe%2BXLu7%2FYaJtnHLGvyju7IOdXNEPtoSoOJ5ByIILvR4zNvyH%2BdaDax5DmpW%2BUsO84yrJK7Lp2Y%2FnBnxe%2BPBMBfYn7hQpYtkYAfEjoXOgIpWWoxKhkR5FvMDFqs1Ki1yzK8Gq0ojPJG165mVPRHwn4Otv2QadVdbQNffnJksHv%2BNc%2B3Gg4H9SVSWb1xA36O%2FwdSqJ4y0G%2Fk54rLIDHk0OqstVIwNtJp5Zb0m9vEY%2Fqkz%2FXIWOBnHz4zIS%2Ftmy6uCVEhxxq2qPoKIJpv%2BEWoKD52OpT49LOK1G43BQXmnyQeKTGs7Jn81En378MeLFnrVPSBJP6KMUt75GRLU3kxDQZDkg%2F1pR%2B1beN%2BivEfFEJ%2BwSB5O66%2B9aCmlHBn7%2BiThhG7Tpjg1lCTLKKFylyF8GF6uyCt8ZcSIxWeMN8u3ear3lKyAQwqQ%2FRGEw3BXHuv0bQezHtuz7sk0lxnIUxhpyQhTIAly64rv4lDig1Ir6mNgdtdsJIrLDKMos2PsQki7qNBcNBZAi2%2F8NW0p5mKLz1YzGCWFdyNfBy4VG3bmFRGhTRI6GTXAk20MPU5cSxm%2BiGPpY%2FVYBhVTBAPo1FDT9JW66Lr96CN5RTz4K38%2Fknb%2FUwnWu327m89DqFrt3dBgA91U2glgo8bmFiWaamh9Cocd13f9vbfZmzW2qHxIQiwCfZhXS8eB5pvCzCfIWHlvpw%2B2AB9eQZ6vhf37i%2BSAvVrdZ8yL4%2BPBWIJKrnr83AzZ9tUclk20XcIEQZJBT%2FI8ipmWwh2BJQLveaVWwDTJ02kIV2FxxTDY30ePoITv%2Bm2zgXvXcKxSOCzy3dz%2BwUXZITyvYUi9V4VRiioUq0CLc8wYGmrleHqXdanO5qGszfAj6Y9Gml54zuEccl%2FQrw79lSn6L%2BQx%2F2Dt5o2RiN%2BpAw8LUL4qg1O%2B8WcBY0NjRbswFzZ1q4Gyg7m0jCsY18Jso%2FbNNUb%2FuSKuQWn7rsO8clGg%2FxgIFfSzRbU7OuaZEcR4X5yYvu2yxs25PM%2BSPS8bplKt6kiMp8J2zW33NGmAzAZ4u3DWu%2BvS58Tu%2FquWqapjcf9NEfVlQxUppToMZD54oUdwV3FZ6%2BE36P3bhJxFIDGK4IDK5Nu5DKJRMIDMB%2BBOx9325NV3jDNmBPHZdFqBGKD1WGZXtRIUby4z27p%2B6t%2BV1olZI86CLzHmEfhDhynfZIOMdGUZlt3NEo0x4tuZaoVgnuLguxUh2jTq4fatFccEobnWtIFj9qsJyNGSTQi0nYV3lIThEkqNJ%2FpyLcm3Sezbz1Sp4Uo0ei%2BolW%2BTVk6pkTFX4sjcjpZU%2BpUm228vxYWUCBGFDtilgYhYWUnrVb22H4uNZCOwYDz4F8aot8SPAOL3LhUtAeeMo%2BQAg61VFXHiM3Cv0Q4AxF2JUwBSYk7rhfV8%2FbcXAUcJpk0%2FDM9yDqZetmdeGNRGkuuKSBs8IWVt4D3%2FO8GgFE3XaGLsF8NjDdpRxP7tJaWeY6QuA%2F76k5xZHl6oM%2Bno22QtPxtWo%2BedUwBWFNJy1A4aLUp9pL4csH9fBSuEgz3vVUQg6wjYWJXqwqcBYhy2rY0FlB3dQMgmAjUstuf5CYDcg7uy5kUon2whpGltKeFLz3D6I3cYqYtrfqDW0zYiGZkmA3kBV0abIR0GDmMN6TRPnB6m26e7zbY6w%2FmzdJ9topuZ4%2BozR%2BdA5Ib53IZrakCtOf%2FNWqk9YxvedK1YzfGtQ01CSpoyGPUvr5%2Baxgk8yMabbuUYRlIVnhMHqjHN73hmqQAXndw0CiRvo19VFpGTv3o7u1tXbgo3XJKFrezlwRsgwV2fjKuhwv5aPrcLEsXvVwPBykh9EaYCGnJ%2Fu5nrlk%2FIDY2dIeQP0b4hJMH45cL8dLsUENph%2F6H43%2F%2Bgzgz2NFIEu5Lc0lGoFt6xlsVDyiiXIQiVOht3zG7jiDUHMmjtCq6Z1vW1A3h6evKveEKKz1ySsF%2F36sv%2FO0MiuwbNdXvzTLBBWwP9V00n3C6SeK9ygOBcfCvLWb80OXDsUMeKSBZckzJV7oIfpwan5spraqfOEvc3WXGFHcXLimFZBR1L5HDDFMziygSJYZ9qjsXTiBR4OkQ3uDFgyN1cyUx0mABoTF0CW5VurXaqAHvWrkoLQKy5VY1En4g7vwCybvBO6dTsg6J%2BpKQ6%2FxIj1UHSiQEavHLhQ5bTQf4CKQ3tyZmje2WrOLboyHdIfNQgND7RM3bn%2FbYohPSe%2B9qX9GfeH1tvFq9L4xp2j%2FG5aH%2BHDw%2Brizlt7rCNEYufWo4RY94zFuoUFODAosnTWK18T7uaaiLxeqKVlYSnwmEpgrq%2FYbKFiHdc%2FGz5ZBCVGnyBUBqdz1mmmpRFH5FaiTjrAyP4cNtrxKRsSz5E8S%2F1SR3wIxMdUnMae2hjzRei6uemXHz2%2Fl%2Btm4sAkgR0oQg6OpizDFQ0JK7O6Vj5RGTBUuowLgD%2BDcKNenTOk3Jgh%2Fz%2FxcW4lx647ZpBY5CIFkNoe%2F1MuEkp5lPbeyj7TgbV7RsQv0PhYrpSzOWr1jr3IWg3V8NC7eMf%2FhqHMV6PdmC0jmptRG7NqC0mchkn4BxaRMF4YtmpBa8iDWLYRXtZ4h1%2BOWI8IrhYo6foM87FD4MFzw9LXZ%2BV%2B8wnBf6YMJyhSO1tw18qkborSPZ1zNYxq%2BVE3%2BR%2FeU3ihU0ndMXq3Rtf9geun%2FWL1lJQz7XeMtiYhwONtH0d4k2flDz%2Bf26YN4RUb6wUUnmYIQC14jg%2B9Uz9ZBtb8vLceJTriHEThDV49n%2B3HwJsnuA7MhXuGa0%2F%2FQbFfMe9tQ8yraTfk13TsHNCQJoYez%2B9eFjzvhipeu6%2BvD8FrUgtPt7qiUZodmAeD348vsF61Kb%2BjLxiNIBINZlKtNzDnt12Ty4DvVmzalW7WjxWn82%2B3dsi3aVGftTFJDVbatng66RBYk%2Bvg3kmqJ8P0wclsYrJs%2F3iPiOE%2BVLnZguzGiumw6kZgvMShcgNKbSZGs28CFkglxjP0I9oMvnOsm2dCiPkarLTKpK%2B6Z7f9pxFzB%2FgJJ15SSnJDZ1twmePRhEHHia78W%2BCSotYV3T0CnqyHaqyGJDYH4ZwLnIIx%2B9OqLCTfsqLseQ3QAz%2BmdS2BvPHNRdI3SGEfaRcWRI%2FU7FnfLPBk65zJQFJLxjQA0frfQmxkMchaDbB%2BTS5BXGUSJMiw5wb4DIuhN2v%2FHM41EW5NunIzvspcwKK1rL5naVa%2F7v1ddwC%2B4MfYJmkHePGwwGcTH5cb9%2BOllPlkSNq%2B%2Bc4LM49dCfCIshdhi3CHT9FRssFe7zCZ4Ovmm2t9XeEmBWG5txy7Zd9MpTJXH%2BEcELjiyDZuFrQ9HZT49vPnlv3IXdUVyqxWVvMZZIqDx9CBpdDrObZiqh7T58JkpSx7Sla166iJKwDJQjECm1tg%2B08huP%2BRP%2Bgi5DjHc%2BqN8tSalGWALFDSfn5XJjMrFU%2Fsb0QKNget%2BEQjljZavKaiFpZbvb%2FmmU4zQpnIiAUnr6WXit0qEI3q%2Fy3wWHw7pNmJGqekUs2NNg2wGf%2FQy5yW4IP9txrtspX%2BbpWA7YILAgdAg4fMfQDfzc1ibNIGRA%2BUvWFEINqQNE5MYdB3Tq8DRvQGTJWTvUDF0odxlNBJ9tK1CoZjlMWD70kPBA4g%2BZeRCCyhs1SN13Q9um0ciVcsWwSTCuaHPyU8aCiztbiz4RtSQ3X9cfPgzkU3IkPSUPN6rMq5SZRkNJjqfleThPfB8%2BU1FBXrfg7euFvNfBUv7RuII7uyv0UC8Rvz%2BtdS0j%2F74sFPphM8WWePUkcf4eHW4wFF7Q%2FB8CKK1wDJZVGammdaof%2FlMa1AnyeZEV8zU2YU04GVDEhvxjvXcXU%2BDzG7s4Tan%2FP18UFltAHdbJEGGGLE2Rr1sYZgtJ34JzAtHYzZsmJnjttrBMWWnlNulrLc8GxXfoi20YXDPMi5x3HDgNvfptBBSsjuYNxXo9KHkugabz6B9Z77B1dvOdcjaPnyK2pvcUTWtIQ8RfivwjjwaSXaGAoAuy0GsS4ff1idOMq7WMnzw%2F1YumFR2OnUsrmEm5%2FsgKstf1ylJX%2Fz7kHgcPS3k80b12ZLL%2BaWwHKsg%2F%2Bcu44cddflgK8EUSY5XjZ7eagj3Kl%2Fa9y7Vt2zK4%2F4IbypEpuR7%2BZZNotKKfEHYGQ6Bi6s2X2pv6eDCZrdvfmyt9VP%2FVQOzxGVBSlXLSJO28E1Zd7jHjjYj08SnAWUf6E%2FyEM3patPrvSkDHLhPWX5MC3rD5pEGYdqN4LlT0mHp%2FZLZT3G%2FVY%2B%2BYp6j%2Bzi1SDt7dgDpco4%2FPEVT3b4AkQPPByVcAJgTpJ3Y6828ontCBLvVeLu23egYCdgaCr%2BeV52V2f785kdHeLvvlWd%2FFz%2FMKzUsIGQ5Gbxap2NMLiwN1fX%2FSOfi3XEZ1ReZ%2FI0p6rNEt9auGFoGoucBZ8poGcjWFhEf4XsU1I4QgYhGKNsF7owSZkDZyW8zhVs32jiBYH9dq4Ez5ZRmuX4DXxFFo0qp1IJu%2F0LFIriemZqXjFkR5BbrG9nQz0%2Fx5Hm2nFsqxILZ%2FCO06%2B7v%2BlnNt%2B41GBvl7E7Uddzoj9smVFPGut2jxSYghNliKRVuyjWHsKvQK9dhbRUYVgqd82Ul9KKwxMI3Fn2CpgEm1gEyNfezJ1QyiY9SNdAom6xOZaL%2F6wIgLSLnQev2ycCt064byeVnhBFP6hiIYY%2BQyOcJ0d5XNN4ZNgwiBGvJHYvoBEc5DQyWf%2BtSyaFxxyg8VjzVL28ckKnTFofUCvc2fjcYcwxUHfFlnwpHt0sMT%2B6P5k8m0tjaSbPH1hSJBDJbMprrITPH2E7zNzi4Bl3zNCsrOsbyErTWPmCVfq54tx%2FQ%2B%2FODzsS%2BkfvTnbvQshx2kl3Zov2QWj%2B01%2BzW9ONZMWBlR1l3vyYKk8TXzUx8iaVEcQdgIfjc8EZIRir9lrv%2B%2BpfoJKHy0NujhS%2BMvBDUnZg4Bjgj9U%2F1LQ7W7IwRwNnqUUmOL2qDnJN3G8SB1zxz47Y2GWNuCss1R0MxCIsA1TPJ5N1zXiv6NRW284rFZgWKG35pDI3Gl6lvxB8UqZ2tR4TF7tlsZINLA4FoCml2KpIwazVbE6QoEKwFjnmSXUlxNHOvCEbx%2FoqDdKwGANxND0%2BFJA%2B7dgu9MWIX4zJwpU875DTfaB7nkxRlIaPq%2BBRlPFAm3M3eN0cnnPGtCAr1IuIrLymJynOuPdQ7swTaJaQS7ECOqWvEbAXNDTAUbWKQKqtgx4QNR%2F5wxickm0PD6N5mHgzp58iyhmGY6lbZso3VwXmcviDHA2BQcX51dWrkHPXpDLwPj24Pi5ua3GFodKbqDfB0JVxMFLvfB1nvrHHV6dQeih5BzX2qSXd%2Fp215M9coJDDJii3Zz6EfghCa2gHEgShiu3Yf023TeKICz1XyJo3nglI3v0Wg3d5wdlReHQN9TcPH%2Bffzp3Uiq2OuSvjnwvqBcRlfAfF53sPz3eJrO%2F76C1zFswKolMZyVpXnx6swP2qqKY7nPGtELuqfYwJC1AAF%2FLMD0jbSH4XDDHngztE6VTkkNVx3bzSDKzVAt8CP9tZg2ryEtGVFm9n46kcx9Nyg3sDLf0ymUrsfPl%2Fv6dfSAxAHr8X8WeLdhYxxsHS%2FHFS3D%2B5Wmk%2FLsJuFgKIngJnOAkjvOAy3JdabczwU9LjDDUx0BVPIdKg57pdaTyF9tmlWY3%2Fko8faH9izwKONA4XRVZl7i0fnnH1SnnvRqQ9TeqE72BOitUZirrzj7blr4rEvcauOFDkkM%2F%2B0yd0U0%2BAjTJcbcXP2nuEWE0nZSmppJmVvFjyegQcplAz4y6wzsY%2BYjeZBOV6LlhycQyttX9VuF5yl7VE%2Fm%2BDn5S0TXGuDy0Kt%2Fuk2oOQJUAR9QkKjENekMUkuXopTlL4xF0Mqe1OfgdHF2yJdASVraJEKpFEUBv0gZJv9FDGkgZKh6t62xRVvVA0dUq8nw9FwuTA6Zr3F2FhLopVyO22BtDaV4OKglKoZN9xeZgTe3gQ7OQ4AH4v%2FcIRBscsyW98wpdYUZ6ExRloPNJhAGygGD8BVDl9NZC0toVN3Fb2ZQTGhft2RTEYFzupyljPYFjqcrJlLoXPGsuxgpv1ZGGLgH%2B2IgQcBJ%2Fvr82gvnYgl7NdtrjaPmGhpPfA9EX4s4GN%2BEvmrBU6SO%2BqzPHOaYD3VIlLxZ3jgAlfAgwt6hu54ZXfPF%2FRIOJeodmCM9F8kmECuFLtgQoq%2BxVaMlzrAhukbey6ILzo8J56XkfZYNMHVAN76x2jQ4cRPafxhvJz4Vj2nzFlCxj7bXHx7zCz9bBVQmcWRjdQChcN7XvMKJfUYzIOmu0KFxcA4iV6ib2TIZFfXv%2BeNLw2scmYPBxRZa51SOqHhKn5TpaytrTZ4AFEu%2F6hlnsgjRQUSC7ncof7WLz15ePGckygyi%2B4SJaSxmZ4MozdHwdH77QK2Nc4aZGTKzadROtGwBOaLWPX6wNB89RVmemjPWWnPCAa2%2BjsU9LdTriIndsOcSqJ%2FZmz2B2f8mis8ob7WuLM8IH4U5ZO4ORcGMIVaNIvowsQ9NWiPkU3yavGq4PSIqcEUZ%2FhhynNq%2Fchf9HrRLj0fjstaZqT7LR7VmYBdsU0M6vkr%2BivygDPNnTS%2B8FOM5ZwCj7zxF%2BCUXa3fzLyWEQkdF2B%2FiYqAvGvKbZec5GczIndydr%2Bx0KqDaMOZ8UnRITaYMSYCaaOBcNzDRkZSg3a0TaHdt5LzJgoUEvPnK8hhTC5SVRHM4dDcPFhS%2B0rJlJvFQ4shHX0TtDSyXbGGsbHShLd2pN8Zo1xffjHKZkBbsC5mIUKozrLdxHtsw%2FrAq1jmrV22i5tkIKNMSHny%2FNHjmuEphp5HqzasT04IWJZ%2FqeEOQ7JB2WeEYxTGhu%2B6PrDI4t2QzNlJkTfflClQ1GwZ0yGhLnqcNv%2BxXmPqZvR74oIOKLjb0686YCIPm6nopwlgJLvoyflCNzomlRVG82r9j94mUdcwoNCtm7FywpLdUJTWTfgi8nMLJd4Ao5nT%2BqaGfsvPQ%2BHQGfiIbcKH0KRs1k5%2BJ3RUT837zfbByMUc1%2BGWvyBcvDB4UXpa43WUCGN14wjgc9SRqrZJdsovnQkbTgwlb9lhgilXc0w3VXuLZFUV91atMHp6kzB7%2FajWvB0yN82eaKOZonOhqqFIvXu%2FVTayBwG%2FjrYOoYKYaCFlI21L5LZpBXTf22RXRYR6XULcceT%2FPhi7sLC%2B0hcX4xuYAtbmtYWxl8XroK8g5lxKExVxfPedFRugGxj0L9Hu6%2FrZ9QnthTVBBkk8R3cZs0nMXPZMfXyLsWAyzxx%2FP2%2BM9H5Ee36wv2fINjTpTEZX6Gox%2FMQUNmi4HaMbd9ilwPPNE8BLDa8onQOpX%2BylWYlw%2FNcC6JhFg%2Brdc7QdkaO9MQaVD%2FGcM5jU%2Ft95BbGyldIqXr5ihhJLkXDqNowpuxEH5pEwfbBraYpBeLEAETYqLx498GB9NndoaMdL5cZPWy1O6RwRAhlR42i%2BC2CKSFU6TZ0bnNhJ%2FG%2BtcmA%2B1mcEX18EQXlPD%2BzFmHX3eMgR7PHmkW03BKovuZheqGbvKbegO%2B9ThipQHFSb%2FSUib%2F9kxSQiqPdEKvS53x5%2B5VuFbDubjmtSEa0gT5qbi%2FqEGpmIjL4Hm0W0O02XLHmpFTas%2B4Ns7mDN9YF49ImHwoIP%2F8gLCqFhISUA1IRVTAUsoKU8VfNt5cEolh%2BjvtHLJ9wDvIDeRCHJ4UeL%2BAb5lWs1q7owzy%2FQnxN6r3LKC9poGoziTN%2FUOYoV0seffbYc8BuZJ032K68vefLsb1Z7JEnrSt6GYxMTH98J545rlp6sGYoo61sQvMpEzj2SNgJxlZz0CoRR2zx11B9Yla7FcSeOvtp5zO4vpS9mCfu2AoP3Uw5PrJJ1M7UuAV7H0iwndFBJ0eJPfzYc3we3AASrIA7ZBuTz3tp6%2Bylw69zD579DTPuQ%2BDMKjlfWHQeGA24Bq2smcgztC9RnCOk8B6NZYVv%2B%2FszQJByclMi0c3tsmamM8tcXjAWp7niIZpsgZEfrRflQfL6LcpzX6s95YA6IBaHBG14tBFugLvZzlEkUE07oMHSvZa0DkxHHlYlbh4csqKfZTHdJdwkrsOHW3Dy71PAajR51iAnLB%2B2bdXywGwZonzlQF8bEesHG5EefhXkGcsjpA%2BrQaV8lGiZgVYkKsT0OWsDIStZfSidYgMF%2ByB1woh2jimRBHGvlSMmC2gDBq832i7Te16wjFdGS5rlPgNVKzWGxYKH23wLGcPJTx8sZQ9AwatxJvIgsEOhqZ%2FYzHJVfMEHORwEBfLY512RKUbtjXAwKRX%2FuuvkNgHkvEUoJatLwMpn67D15sK6Ny8%2FjT3Y5HFXeb2BaWAkno0bWUI3Jn12%2F3QuWCIxB9%2BvHdFj45%2FBZYibAHOGUn5ysXKanu%2Bh3yOy%2F%2BQ%2FfZY%2BcxiUiYhuxFEVDG6hR2mxkLaHAOUfS7y893ZFQ3O48aKk3DYY8d9XLgE70bGs4EJo%2BxbTspbnVK90r1ttT1pY88y8GU%2F5zxGRkJ5DOEVACeNFG1ER31nAFDwsiQz9R48AjzyhttZ5WSK%2BIRdSGCs1wBSpEyk0qCOrgKNR6hbRZy4tFz3MLd%2ByZVT0fR7F5sfJc2nP%2FxEGjE%2Fk1Jr4ZWIC6gq4OaPig%2Fgn24pvszTq1jCoH0Rqhmy7qsIzGKw4z%2FOg6lNyI3aAVFLKaqphalE%2FTIwaQSsn6L4glGERBDHMyKBO9MQLzVcuzOF40vkRh4uWCXd5VGrgFRnKE0%2BB%2FwqDxpVim0mNzgyjCM03G51%2BECFYQW17rr9JUq6ubRRDRC5y%2FvjACLfYBqA%2F0VFDMN8VlYAiOglpdSMGKYtI7gR41rj2F4ue3Z9AGeRTyznm%2Beo3bg2wwr6C7GDo5VXnYHlIuIY3PGIBHVTAuqEUvKTrCovTJHV5jrVWPxZagKbMPLz91lKPTgknIPRJ889CjHMs2pXHlKKlovSoVRgUURzQufZRtahmUkeOUOXWys7%2FPOso2CwB42h4lH1ITLOXM6EuQta1im9i8lFycVjQjFLiPu9QOj8mQ2tnN7TG%2BxKM2V5mdGgCNSLCBZESeHQ5ZxfcsYLearcALJr4fnvRaYxhlR48k7tL8z%2FXfsTzh8I%2FuqwRrULjq7ki%2FbGx4BeJ5yGGYvDQYLofUuakW%2F58KJ2d6tJVXJxAE46dG0fgetDqAqCU4322RqT%2BLmefzA6F%2FArjsDbiaruntvVpezs49IvtVLswmdmw8OPv42E4W5ltCw8gMix2Mv20weFIXoVkozI8wVanw8tGquqYKCqiKfB2K0ntScVYjY8d8SybkWlPjMjSjW33aZTAkViKXNi7z00at6xxDzTdJmQMh9r7GMRRLsKpB584ivF%2BuDkvXApyr8JQ8Wvy1NoTTI5Wgrf22Q5d%2FfnW87csFH9z%2BA8hGSKvZ4VseTZW03ZuBRihVVZcyiZVofLSRCQtNW8qUQ4k8lEoehMvIcrqff%2BsAwuUP1OwgOSgIShUcZyz2X4pcNvyFygHm1Ms1yrPrFO3ph69QAfziTn9%2B7KfmZ%2BKA2nOCWNCkKylOY4YdYkfG5pkD6xCRa05c%2Bl6HHaAiMH0BQXpIeI%2Fg5Pymv9u88scDuXfmzVgawA5NreZ8OrqHHrBQRbE%2B4y%2BxxsiUOS64Wpa4bVZBbieegjkMHPSHbSIoKrFT4tOG41u4Y5LY2IeQxryF2F0jeosMM%2F%2FXd%2FVRbCGSLoV8JqidcGqwC1o67mUgreyPv5bS2pS%2Fu9dEtc0fPV0wrjAO95baKqtyevz7uIP02gT7YBxNzFixEJoFuhJ9Jv47mhHmJrArzYv8h1ibDrEdWWp6nP2J5YNqtYHJZQSk0G%2FAD5%2BNJkJEdAdpcgchXx5JSsO5csZNaUDfHERSg7RzlFaa9LuJXwz5T2V7Ia0WUuXBZ1JMaFsWtTQOkDkoq3CNfi8prO7bLx%2B8yVvTuWFi3IE%2FsxYJnOrhKxMnGIDpU9RRH0PCyJy4mdd7sarLSAN%2F%2BiKxPdgYupbIpNF5D6j92%2F5dfwm2OGarGme9ysDrQ%2BUVJPUP%2Byvi4PwUZ6k5Ts%2F21ZrSz5US5RJRs6JKfjYfXR8AWolIQfLQ8oLYkfR5sA7X7fJvTEHCqPb76ixD0EoLCd0%2BjspnzftnfyuNKAGlIXcAYswuKeb8pHSwin%2BHTROOswOpFa2fc0FrVDq%2FFI0w1P%2BkU7KDoANrejWG3tQEfT3Il%2FmwpJ8f7IoIh3euzUcH%2BDqmJNfZGtiUdXZmhZl1dLVH7o5XJ0FZlBuU8pmYEMekMc%2F3tahgSgSfOXcJg8%2BMrBELaLnVci89WthX5Z9VRkv3xppQP7CId0S13r44DEKpS7fwfyKrGsqWPlJZL0KmEyMztYZlU9og0xDGjLWabRamQ5Eg5dcwJE4yolYB99VLm2vfL8hz3NV8ROjlFGdadrZI7nh2ikwNdha1oo%2FgW5HWAKMEAEtCgKQtCUXCxTdzWCrU1oTZdLATUsX8PcvOTj2YiBjLvK9R%2BfSoLYU1fa4CiDus7PiHwcBQ71aka0bwj9%2BeRZmNSpvubw50oreLAQS0CDoh7elKp8Hw2SJe3EnaEHXJ6iwdEMpdZQdjCpzHU79NQQL4XpaZkQl998L2MJYb7dnVREdGyUoNY4aaT1R4ll4mSTigk5%2FIe6cZSlZvQda5G8YiimMl9LDVrBgGmgMrtCJhnIL5rb7lJGAxUeB2XBtoW5jKyfkoaGunzjaYZqK0pt3QYpvc4sJDapenvtKn98oVSUXtfz%2F6G4fomYBMrybuVuCXoRivCIsDGl%2FHjkIxtonTKSLYm4XRjQRWjHGWkfxm%2BUgN3kx39TIoAZ%2ByhXg77o2T02JJE3tEzszmB5FHwmk3goUVzEx27%2BGoLHeLZTo4kbylIUrkPQIQQ%2BynjJwpghvACi3znCxBNqeWC3IDtpAbj5OBGiTF8TesqVR37y%2F2L9gt3AEBpbvXFDCwrNTT8OgiJajq9HjLY2kdRLlRJ3jbrC2VNWghXocbu7ITypnrB9tyYLT0EmNgT8J2Fa03kO97viqhKv0lUceopfhsQnT0XeldxHeOqiEQMQ4RYwWhHdJ0p0PspGQa1Cvfu1ZRkpi2r2FPI0vqcxfxRKr3FOVqkBhJAE%2FLV2CKR%2FtjkwPOou%2FyXzYADOubRlX6DSXrAx%2FKL4KH9QuyamhUbf%2BLR6N0qvVpHhLuCrfbbly8G2TSApcdZjvXSo4UBEdD4ijY6w%2B85ewXB9jI9%2BUAl8SLa4HNjsq0Z64YL5EQfm2mIsd9sJvSGYPlkdApCwodmj79%2BazQIUI1nJtzH1NySAYuSLURIOMsE4dARv8ZqsrR9%2B3RSDkQ4XV0bu2wbVOf82i4pDT9W%2Bdf3s7P9GVRsVG3QrouZ5nw7fUrbKaj0d7mVIxrOn8CSIbPMFl0gwi9BjDqZRMeH%2BTbGtvaoaLHavm73E63Z2LhZS53qjGd%2B3Cjn7MOvKndp0ofIt5Fg92%2B4OpKHQfy28Wucv%2FHuPMuC4ZAkB3YfkPQ3abu9GSGl2IXEvn5Unupmr%2FaH0mFY4wJWq4yyH1zVtH4R5wDddsOZUQ98Skkss%2FCyYpffSHiQF0ZpepdO5x6pHJA225zZk%2BGube8SncqaAaav5weRbLWaoi8hbf0CbImq5YhkkG7ByHCf503AMGQvzlL7wW7llbhqiTWeFPDFatzGoma7FVDlC93kLrBnPAyiPw0jrztF5u2vTCMiWrodOiyGSeqg0qlf%2FcuWKjSplThC8ItKEhokidf5kKkXeLBwmb6JBMpJ4AWwGvtdPNn8KPwDI16WXiWonU1dmEcUgTTRJeYOzJDpd0ay0zNUHdLfDu3zlNPcOrqfpph1Z%2BSfERYzXw%2FoSLlR5HfB8CCE3gjqsoH8HhJAKJzMSfstu0NvRQNyGap74vOER1d2y1O8Xtl4NeyXP0YQVVtQs5J3UdVUMabEtwqr%2BKaEO3WXPKWAmHSaGfaqGCiN25CZabbhcvOd%2BIy08OFjsCshphN%2FcQov%2FwW5vizfhuHOjthLPaiTGqVAYHcBHM6C4TbCjHCLkpRlmb8BNerlTW7GQ75ExUHL7L%2Bjru9zjSmWYlSI3PQ3%2FDDGHL%2B0aSBQVMCRGDAIQKfzJIuZhm5BxS0eX%2Fd3rfGQNg4nRUHu8PkYWfnvRLkM1PcH34Nv4RBTbKCKjqbhrDZu0AEfi%2F4M88aVo5yXdQZ2h4GpR4Km2tOcu5jPH5KyQVxsRmUYBLvVuL08SZAHTMycLHLY%2FU%2FysV2r9Y6E8sUTd53SVDHE5Y2wrD2dcvtPy1wfUK9Uph8Rn8ps3%2FgwzowxJPvxXpigNSGAHyPB9xF84CX9sy5JxA7uTxhxIJjbwTs%2FVbXPmxGvIIzQ2xcjD6roV%2BlptoC7jvWZF5yOKnCS%2FdPQJFTC%2FmqHUW%2Bdo37qOBdb0rZZxtrchwmRnb0q%2FpTsfoLk3cBuEWf7MiIs8GKRPNlEdCeO4p68lc4rBmw3OPZd%2FK9VE%2FZdiCTw30XaIMm0ONcHZppAHprHJBbRNh6dhqdIo71kkhFL6NTD5%2BwOI4IyOxxhhbqHaEVmTnxrm1Dv1EuormAhfufvyIGO0%2FF8xyVrF0bztXZkVzIv0j%2F7IlJdaW6Ne1Vk1qbFfokaMpuayUmOv2xPjyVIM%2FXOI4BN3gsmdovZZr6WebuC7c74MYVOPkMx4f22wKBl0OyI4i4zkmocr8%2FASFIKEu1mzkKQ4hU6WLr4rln%2B5WirJjqo90%2Bur%2BMBY78my4CYTLe9cUkC0ykaEw3Ad2b%2FQjnP8FRK06iAc9t6W7htAjwTHpzrIssOrHF3N9jru6uqfgwdX%2FtMpI3SM4jUMYtVcajw9sz9uV79CkXjdnjTr7ch1oOMW2XjlsPGzpr0r3J5d%2Bl2EVcDH5Vi4bT6cZ6twj%2B6glf1HUASBbRlluyKljjxAeKGu%2BuZq1BxSX8sRL2wrLSPeHcarRqyJ9HacmjqNBPJ7tos1vqn98aHMVMOhZ%2B%2FAvzz3M4zMidYyOZoVt%2BjErcALmOpDwkl71mfEwMQbbJGSSr4tJw2oI%2BZ8%2FEjjLvkHjJ9ke5XorkWXbQcGr37e%2Bkf8WfQ01kKn1rFe0FchNmBNiUW5bZXN%2Bk03IGfL%2BollGqs4q8LUrCpxQfuYRyYY2bgAiBaitnMgtwvJtbVBjwKp4YGD0fpzde85f9Uo7TSV4zl%2B5LSx1M3RDByamgrV9luAU1%2Bdh3doreVGzHbcu783kVOlWXKHE4fNA9LbamQOJzWlPIoYz4DfVxgQcwt6%2F%2F8cxD%2Fih5H41PepInwIT0GWZKCsMy3nUVCuay5wlkfXqS%2BytvQ5e2uxrBqar4Aphk9X4%2BTeaS3tb20F6sPXzqsqC0iLlCDgQuwg8B3HsSty8%2F4Q6rmUDgeOVuzAHeQF6Yk0TtbD11K3meodo7toc2SKuOFnH3QgYtw7UbXdHoF4WGtyS9BRS9c9UvlQ0nuO0CLrsltEplK84KcnIO%2Bwsz2Ih1%2B4dnFqjga0zNXkH3KLMn%2FUFuD%2BCV36Jdz5dPrYpkutzJIrGxO2JP%2BUZBl%2Fksx4%2B8vBOsoAywggnLW1r%2BNpBH2MAFzFxAAkP9%2BIhA9hpCPmhDmMahYhNxm%2BGiVoc%2BQ8rK6MGYXOoNg%2FIRBjq9Ok%2Bd3sWV7CaqfQVgdClZAEl4nT7Vf2booaSRXDWuUXkuQTMPZ%2Fe9ggnXlmvZFd7Yw3bCzlD75KKTysiLtbg5yzNXHFr6AwmIfW4USrIcPLwOVupG2Y%2BS1UJidCD5ICDMKiteiCLqWNYoggP9UiL9kSLdA7bfzUZFW0dpyRpkK9uiUrWlEVg%2Bt3Bxs7PBYk4%2FKcQGS78VC7CMpHhnX4MJUgUuDb9ZwreYFet2U4k34vn8RXCHp%2B7xgDvtZGKGqn5Sj8mVzfqcReLZ6Ey%2BePpFl5iRhh4YU4pXYOEZV2fKnPMt8nRNXOtkjsj82CMFUjbaQaiwpwaRSsfVcQqEP6kpQW9zmHvkhcMKl%2BrHmjPvLjotl0fMGNhUhm87Eax7vyVPVT2dPfXhxuoWuOpfd%2BW%2BSgIimZJSlWBuV1rm%2Fdxfrg%2ByDloT1RX81Csoi5dS796VW0Fi4y5eTx45jHKYypMm96dTAjq1aBTQhOkYDHL%2FyTyJiNz0sSKWaSF28hMUm9To1WCxM7uxDLounu7PmLJyncmGDsymOAiBIUaBBhAMkVAO6h1CJYloUpQtEOdFEu%2BseNIUzKPBhQZLVC0TNiJ0Dl%2Fu8u11zyl9x%2BzD3JhtbO9iL3B2HCmxsczlyEVxNv4OA3eXAaImASJFymeuuKItRZtMFoyQb%2BpSHkz5xJGZr%2FIJ2UKR5pR1pvA%2F8UCzNIjNkDK1Ocph1EPX4EtuI33X3DrSEvHCHpThBLKw7Twp4vkEEKJXwp5ZdvTGMQ%2FYhp2klAKi8E0vToPXnZcGyj72Kq9cUZ2QNTEqORxHEuqRlBPUSpDzo7PlIB%2FvXZIsZTeR%2BxAsxajtxh3ZT%2FBviN4fQ24of%2FxfH6BC6ev8gzaVc%2BgucxcqVlwLxN3JNcLsMkTXsNYUPxmnZiyk%2Fxh3aiZkjEZjEh2SdTpSFuODWxzBfchurLNTtu9lRFcoDvRk4R7M5JOnWEonTjSSe5yCxz%2F6P0EPFE%2BoLEm5Fxz6LSpVu6oKjIvMnUKtETmfL0hW%2BKVoLRQe7k4vMA8jLKygbuuqec6SVxGp0klqrCfuze%2BW%2FVs%2F%2Ffpt0L4HZ6%2B1HC7vu1OU6sgb2T285BPHAU1SbsARGTQQHRyEv5eO%2FwAeJOklXQDxAlCsbQbGZxxqPiJSFo6zwayQDRzUm2x%2F%2F76%2Bgidg3r4rkQCHwMNI8Va8c1F5o9zDaAiqOIo1GaSXJxcEkUItH3zfG0u8YhiVdlT99j0SW1narXvYBna8lwbwAX1XmzM1KYJ%2FqgGcMTxc3b7QbOwLxOHk%2BSHaZCP0fPqWVtGKRNQb8rK4rHqp7qAHG9Z919Ip836P4j31KZeEIVRhImSb1pVAOJVsp5bMwyZfx3VVLbpmnaTA6lezBEh73ZogIpGdydK%2B1ASxTZSjGVDxvBP3AOJdYqODvd6qlAdKFRIx34FlEPIr7LMFOWCAqVkVtuZQaasd33R6nUNbAn1Ge0vHvfnpGPAhEr03HY1UIwO%2BK%2BUqJOLeJl5Y2dTiPoNJ4sG3qgFmwArVvAZ2AiXQGP5ZLjxtTi9JWVvtmig0EE36MH5lBPMpXJbufO9M9RxlfbHn7qdJr6fUmv2naosGN29xXht5Q%2B6lxiwEihdox0CNz1XuOf%2Bjete7NHkbJKuqj8kwr6Reu%2FOo7rJF03K8Gi9zy1HWZrEPK9u1UpVXJlTVCbIj0yXemj0y6ZDehNgE2BSlwhg7wlbB%2Brzi0d%2FeICQjpa0SS9wI3AlN1gcEEJgJrKia4WNInOnLA0S%2BmZOxNPEeThxUmOqAOML9rD8SxYsQxWIPGYHrGd1YBGO5JEKlaaJVMUoqh%2FmEKGZVwAxfthh6EvksLe7J90tq0DoqE2cuP7aHbf2r3VrCD8d4s2Ejke0AGN9Phfwx5n5Q5sPEuD0SpDcCJzK8G5BoBKvxgvAO%2FQsH7tgsCSQyaGQ9ovuGgHVfnvq5qkQoBV23PNkdinZSZ0rIdTjFDjRqGd3tZEZHkS3QIRVCZqo5B5lh%2F5JK3ENsBzm1De1L%2B%2FgIajydOk434zqpf%2B6l8BxxG6oXDbG%2FoCKsexB6iReIbE2E50mp1AfHYP60ySluiE6A0LXfpR5QjFbEHiLc4a9oWLTK95ODcwmDJIWq2USUPbJnGQJGNX0jY9rmoep4fBKrgogUcGUOHFlFcBdfG40kkwgkfj0ADcq2ho7YM5oDPZ%2Fd7h0%2BmVH6CR%2FmuwfYxwHDOqM%2B5U4Mm7gdV1fSVVXq9cIPgrZgDWDssBbpE94y%2BbZ%2Fdk9LEPqcb3Nj5X5Ccb1atMeMZySjRborWiG6VnCYSKd%2BKCcvRPCEnbOd8JYVLSSdD5cz7p6jfgJivbWxdKG1VM8A3hxyr%2BfnaOUFCnBARECzOK2kiSrFMebmNEWvTyW81KuLfVux9q7SVAW7si7%2Fs1s854WapKPZoZJcbTeGSXL01XsccEK14jsJ4etiNoFaEyU0HjhUL1Io4QhCD5F2ckx9Ddh07p00SYZDnsQPAKqDqbpt2%2FpUkEIPfGiZSrog203ZQjbMV%2Bd8ytcSQKKbnyJ5N07732j6u7E2ydH5E%2FpgQYXAHDSMOgawBJcY7hwr0pvUlsw87wCgs5w%2Fgi1JZZxPdmg3bpHNXVxhW5wMq6dvc041WjsLezbeL4mUSPA0TLxOst1CDNi2oapu6zcNycUkWLBsAb6j5M%2Fw6AwNKwnZ1068shS%2BIAmn1%2B51c0hBPIBTMKF5k6e4Gm2d8Sjt%2FkZBVxZA2d1yb522oeG%2BlIsjfFChe%2FCNsvoNg0ST9BfM7fdIIbpQTczzTCzGS2ad4jykiWI5a4pktov89wUfzMMtVZ1zo%2BDShO0pxqcCBlO8WyNH3c5Sz2lyLO1WfrmdiLNeqWSiRkmGo5qDliYO0EZ%2BkNxXd3xNdDYEut8ZgoZ37jNC0yEmKT3qBLdWCkVJHXmOBpCNhgn%2F14fTgs1pZMrFYi9mClhvEf5RCaVeiKd5DKcQ3X9Iy5ziYI%2FoouZ%2BE%2BVnXsyOjfiC78tfnMHS4ox51vSWBFdnME4QlNztWrZxDseq6Koa2H%2F%2FBeS364a78EP3U514sGqmRZjGfjMBBPv6Ae55M4T7g%2Bwk9Pzr93bPAjeYY1jXCcf4KgeYFNwjIaR6Hl%2FMjufvt4yu%2Bu6MyCvPzl1k5CdWpET5PvCqqUayEg5IV7U84jWtPICCxDFbYXwifl9PoikfAZpr%2BYDU28AupvGaEvDjaUp2zi%2Fsq3jEGvFrn39XXdrnuy6vvIKMjTIEYQFy7ROS6jhJSx0t8m137Wm23UGm9Rv3yurHn7WoDclKhcrUrp7jk%2FmD96hEriZOuqtUBMfvydxQEVjjov4BMPWf0SWUatfDd01LJI%2F9ssFTuywjN079ogoEafbD2KJSX1ROnB8MCMMPclCKDdQiLeIwIQtg5%2BtK%2BQ5PE6ZaROIuGkgpfGL7oGIBcj0ak2zdPuMpHD4nf5g6o8434SRolHAxN0b%2FCmJQNsjMAxyMXi7iwep5IkM7fJ9xWBiDN0H%2FbmWSw2tgjZBttlvoK%2Fy7sSjwYfhnffH7yHJQFhXRmvqKIi9BHklGTBDAf4vNy5jNYZzBwqp75atHRT2u4rSzEBecCDBzQoLrhPjZxosM2up5FWTe1y8TsHgH2CBJ%2BksP4nqfidvp7FL8UrthnZBs%2FFqm%2F8b%2F7DsujFxl8KilNx%2Fq1J1iJ3jQ8TPnuqdW3TsWDrMuyOyVto0PjRDWS2rjWoqS3002vmRxhOzu2t3JyJRSb3tWYwDN8UBo6kTVMZbjxA0SFRda0s6lxBrdqVNyJCe%2F0DFtryykM9lnBAdSNEi%2Br6ZaZwkdUPcQNbuCeqjYzb6cX16PVvOOZSzCaEjgBeW5iJ7YPGeyvk2vGZ%2FDtNgzRqdOBPQlgqkspwMzfY6HPJzXzG%2FuGZWgq7KWbKksyAtPyPuIHrcYI050DVaJILO6VvWvG16r8UfAgln5tmZZJKysOKdZhBSkicWSZL8cmRnUYb9Qu62eyAnUuCXesmq%2FZJP%2BwlG9oUixNeCU1sdLRspmosubOXgJZzXHvuZQjpfVJpKE2K8fqBwy3uTwspb%2FXyMyo9do7MYGpTh0YGm5BvPK%2FThhI9u82ACTSKlAe3gWqLxykU0oWSBIL48w2mcFM0502VCtuEcbhL4m8ULAWVtgod09RR12MpBnFG0vqes5KoPGT%2FpSVlpkvoBmKg2nd6AEYBzxJZI0L7FimrEVLVQLlQh6ggYfvmTKF3%2BAcT1Yp2c2D7Llt0ogDbB%2FSSTtG2wiqr21sV8DiLbZSHXNX3o6U8joifCi9rOxMfTUyoeBDIaoKYWN9iBgscaLvT6L9id4h2H7A%2F6muoN07w9E3C63zKeZA%2BvQ%2FqSUf26KEH6EdVn3VFxTLvISDTJuuuKtmNms23jmM2JBIjRUf88b%2FXMO8bLJgp50XjFcvB0or2r7nxyhwQz%2Fj84DoYKCIq9JxGSn%2F0wiClbBtusDukQYebVA2WMiQd5RApEJjgdgLdaPNaj%2Bav4xrqTy6M3HZA6cndcosvRoKFGQTIUURR4uLUI1Y0loFEBqjTGHQFuyRqr592rDobgfeUWbop9FTfkrEEOVjSHDQ0dGJxIY4unLvM40SfU%2F9FgqQiyuNofJJDDAr2%2BgubVQA%2BlPD83ZwV7c7V1oBzYQE6agvQ55MBXjC8OJACIMwwHJiBP0ghdPWrH6YRWjtbBLczOe7Gq8GllH91aXZaXvG5ANpJ87G5YyAsHiunNj1n2WDFaTKZSfCfGDMV%2Fp4UhKTfOx87wx5FZ9JJLpxRcYXFHhZpmbawqkwyNXwPJXyqzsKkbkdY%2BTiqOAV%2FO2aTTFYRg0Z44Tr7vWqTr1rrMxS3fQJTHOn%2BDDnbvWoOOTkfdMqG30pxskQc%2BVZZeytScJ6SLZfYVS4Si9RuiLl0xZPFAm9RORLI2wQlkCY1Bt8qXiT%2FxijCa14u3ljEGOzl%2BRzfU9aFhTctOvtaURPUevx1ZaG7yeLvcpTllY2GZWKFZkqNK4Q%2Fy5H3Ec4TO%2BcA5Oc%2BBgTH4uwy1vdx907gipZYwA73IWz6WZ5zHFJghsOwkM%2BgWed5Sl7nXPClKDLy2Sk4Lie64nPiuE3Nj084aZV%2BcJd5W1M5XeXliESrkNp8F4HudFlVlgKbxPDewCdoC7LfCX8CQd23lWDJGbsPi5EsEuDntOEu9n5a3r%2FqgNrv91zuSVhkp79gulXQB3n0IZSPDPI15cC82uTYn9k%2FRg0Y3YgP1HD1104hNb43zEembdB0zDxzk2wDep25m1ZLP7FT2IcNLZ9JS%2Bp%2B2mAQXA9nDwwuxpD9vU2cgnRlGrMqiKd0QJHl5wSTXUHVBkjg5oQUPgYSkXaW41vEa%2BXxI7XZzxXgeX%2Be7sowDGs6GhqcsWRpvFtvd3WY7hz0E9d%2FukK%2B4C%2F23Ulld%2Bc97HpqFPj%2BWT4uoe7sA4SX6tb6UKnju34utXoNx%2BfD83mb9rYSC05apZdFvbMDPmBtpb0IgxZ%2Fayaitq%2BE6QiHx4ZGuwP970ocvOCO6Cipf4%2B0DgbVSig0%2BS4WnvxnxxWgPx%2Be3LsFMjVWK8%2Bm3tF7L8hQDFeURkVbGuqJce16MRp6xl15vl9%2FTGCnhK62697SsQYz7YSCVD3HTS2ASPGDyR0B8mRqeK2JehZ57R%2F%2F3TrlMjrxOpGHYoXwc7TnJ6XeNVhCsQWQb0zMFeiWui57f1mafy9z1zAvP8Rdpga2H%2FjZegEuOtnetPAhc88IOfLIpwjue3LoaQXqLePa4Oqr86wBElQAshQ3CBauMm0R9kXqAft3tjeHx8iDmQotVdqDpajnJFCJU9oIbIVJ45Io%2BDqkvqq6RM20AdPbHtBueAp4%2Fz9pEkPKMSGUcDcDxoEL0%3D&__VIEWSTATEGENERATOR=3FEBCCBF&__SCROLLPOSITIONX=0&__SCROLLPOSITIONY=0&__EVENTVALIDATION=qKURSTfR0s8QnX%2Be760iTUjGbYEnGHjOb7GaybE%2BMO%2F3wvSPfyANtVA2pgdYEK7kwrl9n9Vv6pywwrWi30HlxCkQ7WRfbE0U0ozAeJ29p%2BigY37fHDhxb2Y2TFh5bhmoUyd7hzVwjhEsPO%2F27JY8UvmXy4y0%2FcWKAKyQUroBuuW5IRQrsDaUv5yyfFj6%2FnMnVWTRwYHhwkj9y5e282u3YbJZ48yG8%2BHvmL6flEEaeW2PB%2BKNDd%2BKoBZUJMVKh1zcUPQgOuJTCU7baNwQVt%2Bh8%2BSeJvvMCZTnmjKQfQE6AqQXdJL27gJa1NoTvW1lNCnCy2OkYjZrAM8S6F8mVjXdOsNTHj1xfIPqTKN54nzdFqOmSL5Rmu0rOcKXt4t3%2Fk%2F%2BXurS8XH8lJvPHQ3fF1l13NuVFh7Z1erwkj%2BS6mPQ7UwOX1lI9QS5zYNermZomvVhxLxR5pjhZIC3zRIqKiguUUyMRXQM1w%2B1%2Bi3AO8gP1waQ1uDCA%2Fvo3J60jkojV2cq1jhToksi9OGWIuuCRbQuLNWp4yWybD3ONhIYve8YCCb1Y5ts0NjU6XMgGsD29iwbAO%2FR2phJg6T5OkjOUfmt2CjZVSebewPY%2FgICdsLYN1xnAHbESBzmvMQUYCLaldZ2vAnnyM4KZGSWHVw06YZQ%2B4DNBoT6SWJngxZxKPG6qbBmGtJALlgmTeK%2BEZul0sL8SXGzsvzzN79jRZyfROXZ6cnkVSPBGkzWSK4Fcv2Uq5og9vP3vCufYp2FcRs9Facqei37QoUYxWHkb4vzbf%2BLji2Sk%2Fk%2BAyj1QZhtDVPDN%2BM23%2FniFmcT45%2BzIu1Fz3MstEWgzvSI2hd4RpLzvJM5mFRuy0KdgqOpWGgQIJbUVd%2BOS9oyFuRWQ2qb8drxn2RtCV4zLwIc6pPecC13Azr6mUnVeg%2BwHsP6ah9s6j6WGmpPHdpaKnw0uwvJIZfRQwRfADl5ztduh%2FusXuJRZBM3cTvVeDzdIoUe29h1k9DW3usr4xEUkq9gf%2BieYPkODMoC%2BIJu0LCkxVtANI2PgPhXCpcrmTYp2NqGCarJn4VVrxEavCm%2FOMvNsIntAxWN4KacS%2BYr5y4ww1J1pj344jiTrg%3D%3D&__VIEWSTATEENCRYPTED=&__ASYNCPOST=true& - -Seuraava viikko: ctl00%24ScriptManager1=ctl00%24MasterUpdatePanel%7Cctl00%24MainContent%24RestaurantDateRangesFilterHeadersDataList%24ctl02%24RestaurantDateRangesFilterHeadersLinkButton&ctl00%24MainContent%24LanguagesDropDownList=fi&ctl00%24MainContent%24ShowDinerGroupDropDownList=97f76449-f57c-4217-aede-b5f9dbf2b41e&ctl00%24MainContent%24RestaurantTypeDropDownList=17dbf3bd-e822-4b36-965c-afce161f0704&ctl00%24MainContent%24RestaurantDropDownList=a7349553-5535-482e-8248-658a55dcada3&ctl00%24MainContent%24DropDownListGetWeeks=1&ctl00%24MainContent%24ShowMenuDropDownList=1&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl01%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl01%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl01%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl01%24MealHeader_State=1&__EVENTTARGET=ctl00%24MainContent%24RestaurantDateRangesFilterHeadersDataList%24ctl02%24RestaurantDateRangesFilterHeadersLinkButton&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=gov%2BFJEu10fYQq8GGdSpt29Qnt1TTFFnSL55LJfU2lravvzV4BX%2B9orQEDStA3N%2FzMvgTmRPRjjg2j3EST74Ek4nL8ela%2FT5cjLRZR4FOW1KoDxYP%2BnVU%2F73hgWh5veSaEgC2I8ftU4A5dN6scgX%2F9zV96T60ze8tEboE0hdXcCkwcf26hpMNzO8R51HJCmjBh2oLmzgmIP96c7Rmx972gqJ3bw30YJlqS6YvTTigOAwwXM0nFbomZnwgy8AnlAeblLT5IqHyIcrxfWx83j%2BJtLsQWwFfOf%2BQEppkcSLWOP3UbOW7IAZcckI8Ix1XR4aV%2BYnsKPsNF%2FW5pSmFhaVaHApM6npXmrL3sX9iKIWc8luNomEONYRqtKy77%2FDKPKeNvrimho3eFrK71GHD9NW7vGAC47gIorniqXcqMylA%2BTe0lJfZNyxfpxOkB6KLvsmG09jKEnpKkBqXUlHBPKnbwZxoO%2BMeR%2Boyuive0Hwto5xsrokLmC4NLDiaUY92JVLXzAFaUQew5nIkFtz0cLtTvnjClCHAQ5AIcP%2BxgFLmr%2BIth70QsUfHvE7txLQfcJTcFu%2Fp89INQzwFSfKvf200sh1nJxKY00A%2B5CPQx6pcdfU6b32Yb9G3qU%2FXHtrIw5W%2FN1e8l8dMzKtzqWoFwj65mXuzlRXI3ZfonmrnBX%2BfmKC0MkWm2UhpKEKeVky84Y%2FgDrfwRfBHGzqf922PFSNXWjwzcTqEjE%2BV%2FB6IwX7gWIi%2BdaNvNzf%2FFFNnODXHqpFnB3gEbpnErANDoqXZ3DKqbJsG6Q8MJJ8xTW0pACBJc1WQeI1K3lhBIyZ3c%2BmRm%2F6bxc%2FswGKJ5%2BJAkDH3ufSFzk7dlZA3gBMNSTAFiA4MAycaHfR2smkTd%2FO6W0G0ZXgHNHUPFlInpq9ezsGzAvOUObaR%2BS%2FVr6ZHSJq5l%2BSvA5MLwf%2FeA0hozPf9blZBICIjFek3DThFBMZInQ7eu3mu3pGqCHQXbnYSx%2FIwel2uwArlXnoJn0lYXmhgwNwuaS%2F2wm5Kk2Z%2B78FIhcf51v7v6MSq5D%2BoWfxIS9nfftfDklmzOUOyR6F46n%2BkUL8bZ4mKpTmc9yITKNLd8mr%2Bt5nLJlx30qricJQV1Kkv5AIEfa2Osoer4n2JWrst9dHVzlGFWUbkwkR1%2F4gMYEhn5TbX52oHWVGDDlLimb01fawB8fio3lIj3Rj2n98v7ufJjpPE%2FqvqdGOiDHiIZnQj40djdF2XHS6J1Tn%2FD4WLN4z292t0Jn82%2BdkDWkEJog1ST%2F0IkxrhUqBke0CBLqwl9hV2tYBeCfLFQvMVCUooasOIh8FWHJeftcSa11owTiN09Pgz4Yvw9Kl%2BGmTYpVq%2BC75TvzgPbMCwRv%2F3%2BuWXLjoWb2Lyd2x%2FUt2tKgZyw917WvV3oaLWi%2B3RGoceBxnJtIz%2Bk1jZTGfpv77%2FKHhnNQVRlbbP9jJootXPXMnuVX%2FrHfWrNUkW9hEXMsUipHnpl%2BtfCmc4Aeq19npmCbeOf%2BKEK0bYRsgC%2FPhi0wE5z8Ml34MDKKcf1s9KIhLiYoTxGimvRMl0Ey%2B4MvfLzgdTNfRztUMRrwWeKFkmRihsZCZMOGh2G2Cyo1GMWAbnozhcphFJjn4g6kJZdOTYJOlBuUNtjcc4jQJMJgQT43jRu6VXQv3VTIFHHZpRZ%2FWKgaZ6DPJZm%2FkMSL5d%2FAlxKhMshT7yeMIiC00vlKasjORVOUJpLWaweajSAdrbUQkWD6yBT8HHRo8apL%2FNFVtAO%2B8zSrF%2BmXLF4FOmo1sfTxfI%2FdyEiM2MacDS9rppdbOaS5kSxbDvks0rhdc5JFzog2seskeKXrV6EBQqkpIcWdAPQ5YE4goxrjzMfikIeSIa3MgcyMM0wT2n1ET%2B7UKvahlwavT%2F3lDOhXzc7FMXHgWK9%2FAAg33Eh51TCelhMBYPLYfgHQHGmTHRgANoA6TWIIzGVg%2FRI4ZMjkAwQSytuAhL%2BvsUBN92qUHq8f9kuwaYl7Ejn0WesZcgVuG93W7gChRcKUUBOHbcJvXTHKmkCjaR6jZf%2BdAexsdaeZ5Zh%2FepXC0K3jES9lDBMWJIJxXjqtrkVtv1HOERVvqfukIRV3VNTDpzcVa9rP%2Bv%2BMf5RaJmRUQce0JLSTWkqIClLmgCTg6v80UVU%2FaLqM%2FsL8PxUfPupJb2JD2oqJNZttgJbn2sHu2VSw5Zv12APlluoytoNJmA%2BOdX3vGqoHjyXVwi8YA38ZdyEwefRqUlyELeJgbBTehstnzo5C6ISFsrjofK%2FIFJez6jQzk1I7kSPhy75PAxFVxMXlkzwMmme2zqrd9xwoF4H8VbuX%2FT%2FvW1vK6HBd%2BWdq0%2Bms4DTwQgJIX7dbw7dJQ8kUJnnsDcCQ%2Bp4LQ9HXaSnWC%2BAD5iduHNw7XSbkrCCPFcJEIzmDDtKz%2BJRktuzuUzwtz9ICHvQCVMsHd3qISiCXEw9ALuYK9Dg%2BAl%2FMD6wBIhPy1jiSgXEKAMmUnPGSaYWIKdOnXljB5vPPdI0%2F0Jg0ORaYMSk%2FfAPef2uGy%2FhNEVOTNb3iLJSCiiRhgkxcolpV%2BrM7PRMr6ybnrwOqnsI1ENI8jCp6MG6OPtDNVeJKF8uLo%2BJT%2FwO2OXd0GDUnodDZqe75LD8jOX%2FUiN%2FuGHLXU7osqCcAKpyJCOS3k9ILsvml%2BoWvjjsdtcoMHxD83Yw%2BreNiOWHwHwqhVtVUZERz3XcujqUrcyJypvnkCJ8XIXn9z4sahPJV4Son6KRnSpT%2BipvXP1lEYJ9%2FBe5naV1BU%2F8N5gGN%2BXJLgosb14gR5AI1g8s22mchuFtifUVkF%2B9FSZIswkohAKRA8FoMlOlmexyvTSRXW5GIFdJ8UvPKjuuvAHRenG%2F6SSoumMU31mx7A3tZwnsAq652qsVWPDxr5RZoZEBX0H23qzH8s7cUwHPGnn601y0Y3K8JH68dkKTCW7LMSAzNGzFMUUHf0vYYlkzrZCxolJk%2BIgA913tyFbrtPcTYuRM2Hv4tXPugVgTRv8vVxXiT8aJJlMDfRMMcelnHz%2B5SPzI7NC86qGcMqRIqpEIbqcldAIgQqsobrN6ufYdRTUWzWKbi2xeCmidgxmrS7vsnm%2BdEGqHHVQZ0bcdRF90tqok8ihy5wz90EZl6rZGbHKGPQ%2FPTiKSY%2FlaIPjQGuXofwfbooWY9538PWtNxOWC%2FKGKF%2BoUATqONQkauz6rHAhh61OO0bB%2F9kt3UKwIjsyDTbWZLio60shyuWrtgCz0MqZFqCXwmunjRl38ZldzAjv4puqERjpeMeLBG4do9uGM69CzP7ipS3rNihjAyq2jdupRXcm%2F%2FDgbtXvVW%2FGSSRCU6zRWKBNJN7Ss%2B14DHLYZN62rUgGL7ARK5%2FczDxm9PhD%2FjvRbobk0IWxmyM3%2FD6%2FJnnBq31uvpZzTvtQgTAYdL%2B8XVBJEOSHiVOYtqkmPvHXXS9XKSoial%2BxDOP493oFNSv89%2FdAxMbMWnGgW22t73Sf0NQU1ZlLSznAZD5A5V1wlXcp84m%2FSjheitscIFCUDL8dBLBl%2BOWZ%2FCpJXwgy2ajF3SMvnk1dDQArqY%2FJ0YRe%2BVaBjBTcWZpwrh39JhR35Ugb5hFRx37%2BEWj0Ift3%2FAswfyI3XMyoqch6YJmFPfZWZm9SSvRmOyb7vMR1MsndD7MP6zTc1m1qAwOUOADYc9QwSpq7HScAc1Nkg%2FcZ%2BgoES%2F2Jk69kiBVZRKSteVV%2FwEDdJ5Mi%2BMFNI7%2BZ2g87q9yE%2Bbl%2Bu67SWcZIzSopNOuJDJ3JYRLjvBpgLhIBASjwy8IztJks%2Bgeqfr7FzeFkDc%2FczUyt5PrBXPLKCoos0BSYb41KFK3M6Joj%2B%2B6wYGMqGtRNz3h8z97dPHrqfyvFM2NwW%2BNPojyicAhEtMlPl5gBpwuCE4w07VNlLeRi0TrYgRAdLmD4AlcTJagYLTW%2BhoIEEKtGwvj0phUGS2D8RoIgmDplOreZVhHTcwK%2Bs0kMUgf9kuAyk0wMfkyojRdB59eDMwbiunP%2BzTBve5XkU3828u01I53%2FARQdZ7oQx70sb4ibdSv%2Fwq9nDe7OuCD2OOV%2BQyqBlKSlTN4hZCzwmvOQbEgW31OQuhU467o5UHmKXnTgNawm1ZX7tXZmJ0X4BKDEawaaRPKDt65rvMAh%2FikFKntK%2F0SaURNNqmAEtMghpdJGA3%2B5PWrmuaA9mg8%2BCFLwWhOP4JhVW7sYuPzbuwTwGDYvdElOb84o0MUUfgnMOVDNow6oV9j36vZ2GAwrjxEXzv5GO16kox9Z8w5RGbX2rr4CYOCfs2%2F6tasrwMgDKWDbCpsIrvBVXBlYAfONm738TSk0nxIj6tY5X3uLSycufg40UD%2BXdphJboE5p9tZ18CCe%2BQi8OvNTvldhGNQioE8LgyNdhydtFu%2BdRNJtkwG4RCmTuF8IXJukbNQwD0vmwSL3rBSmRqtrzfykF2S1UMT1owZ74toqJJ1Y4zOvI2oXsCBC3e6QvEA%2BmyqHnk0DytzSX0DemdLoM29buGUpVkLWLaDsh3LKW9WGT5a7UxB15%2BoctMczm2TmlveTDT4MzKkJmtmD0V1ZKFm4SCDJWiUR1JGsSMsyNBdb1R4byKdWJVhQKR5BHV7lGPxTTAMPu%2BHpd8xj2%2B0bA5k1r4mb9w4uag3rLVPE407nI4%2FAA4vhcjvsouAF4srtn0U%2BZRy89LC4uXWjS3PR7CkwnEpZuyFMec198JpB%2Bag4qW2%2F6ll34EN6e1QqTFih7V%2FWMkv1CjjRsKLw4RRa1gT57RnKW9NgqnqDPlFX4JnnyBvd6vTLFGWWS7qtWPbAkmeU5y%2FUiAKt2Q8nndrrWI70P1Th3jGnv%2BtmJP%2BYJH4bkTFX9PSrn1a%2FVSakmiRODfKWUQKK7YsfUidAkdZaaF7T%2BrMzRLJyodLOsyS04xRpR%2B5SYJY415HbMRilYjMqBO9Nkv8PGmtTHXJ2cLT2uXcEm7rIKE1hFoJpjzZmR2ilL0hqc8DcrGXqZgTrYZlWmRrdzzSBwl0u%2F85%2BUX5amUzA%2BGZE282XmcA%2Fgli0Tee3F7f6L9NvmbzofLKxY9v51o9QCnhKV7hynlRZhAcu8udc9793xCoqKy92iQcYbq%2FoX%2BilPmtVIoeIHIFmr7mTikGJRRUbnjMKGA8mSsfZsP4Giba64hAM4WzmKyNeAoWiC1cz26YVQih%2FPgZA4e9ZmZjLebGROlbVmWYOQWgLweSeWGnjPeiLbQY%2BAyxYmjoybWRJrs0zvSf5VrhDBo%2BtXBGWUn4aLUctatew9Z0pm0rWf5QPxTM%2F6pzb0Pe%2BxsIS2WZRtu5g6E%2FIOoHA47bqiGWYO8%2F926lEh0HmB87C7IMZuOd7sixcKXo%2BldY2elO6seSZ733bpq6eEPVNfZO9IGGvkKwo2S01K0Ar5%2B8FUUheuoksKNzg%2Bfwi1TnRCbPj1z%2B%2FlU71heeM%2FKC5GdEDKhQRoe3OU7yjWglmCkX31QlCP9dpRkkc%2FTKZLNtTau4j6TlErntnlOF5VTkIk%2F9kS1iIqcIqy%2FtklDoS%2FKj9OQi%2BfuYA3A%2F509GQoAwhzti7%2Bzx3Q5YhO190ImP5B64v8grXVRbO7kNOA%2FqLqHyIgu01zJnQUSy%2FuntVInrLtUEw5boYhZzLLPwAlITR722eTRlZKyHcWeSVJb6BGrC5CMILbB4I7uAc%2Ffts2JGAMR2%2Bsg92l0vWuqsfBMT6cVyAq3eKYVTPusHhXPH%2BaKEIWyqN7JuWAlMNvLrWeP2ACRayAMNUO%2BNS%2Fk9pQ4P8gAB4eIX2SYsnbVc%2FaSGx3u%2FYO53pBuNoCY1Vmurk8hrLvGoC1rHKbzSB1uraj%2Bkyvrh5t1NPO98%2FWq%2BhVlcd%2FHjLOSejuYnoFy%2ByueHkPI7xDg%2BGyUrRRdUINzqi0Qcv%2BgZdTPtNsFjLUpMRTCmmDL2am4E3KLjqtH%2F0oBiog1YEfWgn8MsWE3uI%2FX2JovGXcgPuflHDJujBqO94rfh4Dl9diLH5r6o49BAuNIMb18RECa93pIlEUtx6zRCzg%2ByroSvh4MJpv33J5MLEB9MoPUAbfTXrxOtumoeOopXUmVJ8mWWvyyW6n1tn6GKUGGfQ%2BfSZwdsuL3lKKW%2ByARNog9WbkQZyat4BOnlbcWZuVTt2aej3XTx5%2FdPHhVm%2B7%2FNC8bMIMYi7w3hddqpDQUOCa0T8H2M0GHbtG1ZjwAvWdSBCGDjTMToeJ%2BrBHdo7157e2vY98M%2FHrMIvhT%2FrrlX3T4QP69c4AtyUEpeigG6WH1udVBMyr97k6lNn%2FLGuj0mxrnFc1aUZrtFBy5HYHUTRnCFwgjc8CZnQ5Qry7WBtPhrTSV%2BelkP4bYoYF5Pd14eH7KePPUxCakupvW3sJZKh1O%2BQrH%2BG5vDnP6mk3ohVEW%2F%2BFgeszqhQjhZ39jWr%2Fgc2q7Eq2%2Bd84UM3OmWRyBS0EOzUPYUkR3D0725ZDuXNrNbMwRDLv2N4bEsQGsffCP5cSiKUkdLhonEucbyZmNsJcMfqaTes6vQJtO9dIdR2ydGqPUZrT0kuXrxvtEI%2FQe3O%2FWsQtk899HoLVBBWY40Dck1%2BBoLlfVCGlEtVpKorfMz9mMVLbyM2YkRASUagBnYXSXAUEyUH%2FLCFLOv3eMBuQO87IE2nuu1atEKRtINTAXah9bz4q9%2FnH3VLn4xVmHtvLinkoH8%2BbnfsrF9i1Yp5e3NzcqTRwp7pRo%2Faf%2Bi1fGo%2FKrG6YMRPgrLhfbU1VuXSoMY2%2B9dKGemQuPLrBWns9pnd8y78czi3f3w59Xr19fLGlk8A4aa9OnNtJ31a6qb%2BEGTTw%2FrbaSPPEw2KYFqYUKQznUCTm33FKxbh8l32HmT70AzmS2mA7C5aA9%2FApljAlCvfAwX9r4JHwDIoaI56O8Y0V4Ka4Jc8HdRLz9T%2BI8jbtjP57PKcjjsF1rXt6J9V4CehmoEiAeym16gIhAzPR8ZpU%2FqKHCDXgOBAF3uBS6iOFHvRJCdkULPFozZGXjmO6Y6Y9h9TVnS%2BS%2FeaeX164e8Aufv9d02IYq9AUbo%2BLyA2k0MACLe9tR9ncOJdiQ9Pcfyr0Ush86WbLgboioYhcW1Sganb4JcLhqXm1oUbMfUdOBezegKVgSyY%2BndUc8x9KG%2F9IiKQwqjma1zwSXuftapmTo21BQfT673TWLZ3f2bEyib6FjT9Oqhnff3aLJG24biA4yGRcj7Ux7klyflLo%2BMQuBe10CfE9njHcxOVMxnFjtuMyYNPHYhhMKxU92HiqSEOmjzCu%2F6%2BoC5CSbW1X8Bm5DAlvGdaUnFb0GeSqnerziI09M%2FUPQ421%2BtmlLMabtF%2Fezwvf6iV60oKebUPf1Ft6XoT%2BwWvwPzL7FJQLa2RyhJTZw4eLIkb07iuE5qWpsmVCpIh7K%2BVgYpdBfe7pPrPvTw80mv6Aza6MjFgl210aZ9Kz7dipM09Ah0pZsbHtTedImAN3RyGfX7ZJthCssJgruXn67mqdqiexGd8KN6v0xmVKP0jYC9tozFhr1DpBSmZMS3ocPuOa%2BCFoOBRhCIBuldeZq9gFLsTm3NMXWipjbC7ACBfaDb6j%2FUY3baX9bOOJLC%2Fpl%2BxQ%2FZhYObhADCNE8tU0nwdEYeZWiI6sKZcdWGwaIusGaw5kfhlAa%2F8wYNkVQjaulgAodsHoT9wrtlcUBsgMWZcszYZ6AtuZ%2F7lHN0ZjPdsu4XYK8JnONnNw78lgkk6J%2FpVks03F33WgiBc5qSLBonf8OFrn9QVYgjXNyUXQ9VQMlgiK71Dadv94eIJXuHLWXNj2UlwKUXBKlywm7u8xF47moKX1SewXjWuhh6wom4y6ZrhTsukU1fSNLbboU99bDyhHvVll2tEAc30NtSUbSn5YGqKn0Kc7bODcwIjUlEP7A7FtZP4x0BFHn9PnzzjZ8bMUmul1lbNcvbur2SCmMede4IwABlY%2BUwjJj1KDZmwaujkJl9qKrzEvdPvUxk8cfwvTA9q33%2FyEDyXHyrEaEdvIA0Vmu7lliGfgioru649ADo6Qu%2FaCQIR5kYEs3x8KwFsfAbtgquzEr%2BKREOcMeSpZ8VT4GIWHRYNV574CVDCLWrqBNw2VG1Dslai%2FzSfpipB%2BTZzV8yLLUlZTecv8W0qyfTdfCFbgIOhvhVhrCEtd1dyCaswxzOGIzkYeaK0KkabqFKxKS3P7nakV6vwzyeGlth9jOtBzZeKXbQBwqLGkh75vfBVP12x2rLX9vgqC0nq1VgKS2wTU4BcbZjPhqBQ8dN3%2BQgrK7MkCNdMfRlR67gvKFartEHZNsb2jzmJRwyrCRkgCFgNsDJIeqPDu47Afz6AZEP0tXzE7lmm3AlAmKi8FPVDF1vbks3CxsyHizFDpicsepqoaP5iRaKSxoKonuQK35nm0zsPzfe3FK6p8eRY6T1zox8%2BdcAqQ8s9pA2j4Z%2FbLc2yZ7Xm62yoD3PShwioZvVhX8hqTD37OecgJPl8F8xVLmw8YYBdJUhV12MdZ6rINkjpYsUd2SDWcSrHML9Ic46KZF7%2BrzxkS7N%2F2o4cJJIcGHPk9PF2aTjKHp6201KXCgMtIpAnFv8L5xrmIgAGA2JO2cfvjShz372dw9Q7wVNj1xvPLi%2BUqDunDEhgSxTGU1YKpsoKIiPUI8JYk10Pts8e9O7rJ2CyRQCVbdns5%2FqSlxMQfNb7uKzlIcJyYW2TOd047kA%2BO3yOJcy36JulyVNVGEbN5UAjsErM8hVnMlYX3WROQ1WQcfYss8j8VXDVykd2rZzZJe4NU8Ww5YIcFx1Sub%2Floh7hSnZ5tFhUQD4kDVUiZdrHnE5PyjF9CKxUNmRWZrOs7zJ7aW5jG3onCpazsvVExAiQ2gwFTrCJvUJR2d3jt5aYMPIPeA9V1L4SSLtphY5MFOMMYJupvnVAf%2FLPEZ9Vfg8U6O6dCFA%2FmKLg%2BL4WD2ok2TPWz2jW%2F5%2Fyja9q0H9oHGtblgb23DzS8I3S8%2BYQlEwc4KLxeV7Ek0%2BrvaCXSDdQTLhD7dxRoCInZP%2FnLRdk4OxGaDEWD5OnagEpCsGwnoUliryYHHAbiqMtMDi9nTbHUlsPSI5wrhgeoG7jvnF5v%2FNztpBaJTaw1gmP0bqXI0SWPuIGzegygF%2B57iiU8I2mD4uB8CazPycPjDwXIhLqbhdquEUtTS0HpkEdUSpisPQKhxbFE8Buz%2F5JRKqt8zpSH0Sr3mCbFnwuXCwsSKSuNYfuNB8Im8lFUM%2BXa5GpnTT2GkPk5gzgfIFjUAaLdoeKDiEU9SGeuBCz1jmVp4h90cYNV8BGBmoBV7%2F4U3JWFlH%2Fc0mFAzQeLi8IwGygliA05KeVP9lcyrViB3CyxC%2BQtro5gif9%2BIQJ722qJ2gYyf7Zhf5n1RrjP3ypH8r30zZLyFSuFBN4TBVXNxv2tGNOj8M0Ja%2FSoedOxx%2BTVfa2%2FQA23fB0EXdcfTqY4QhhkpOfIhjR6tIhLQX18b%2B1ZpJ8OpHjBuW91xp90mG30qnV4y%2BIHmt4p5%2BnESp13JG3Xu0jKe%2Bm%2FWwyU1XkykAYeGByguBudpyO%2BJTB3cP0V74Oj4myoEId70QQmZ8Sd%2Ff1I1WHI5hTv%2F6bKiariW7EhZbL6fU7zVHWH1YWUfPAt1%2FLuG6alQSkTdK0K7Cnqf4WqC%2FeHaFGj%2BmEXHyizIcIVPqQrecBv%2Ba7hX3Zwg3XExZHTQGVfPIXk4pcPv1yuulHZB8LlJyE5ir046aPiyINvzaaVtx7uIaiHWxzEO3UNEm5Hml71QrwrWFntw2SIyN7hwmG2Qp2F%2BmTczFETyr9MtwdtCgfbIV4jqCkeHkyMBTdvwN2WDAy6fV6atldBVI9aLKof3uVrfINC2N%2BY3fgKADVG%2Fxtj%2BQIzyqu060rh6TiMnnXzSrMk7ArCZoFHXEET8dokjftbvQqMG%2BdF%2BPv41qp24jFrWAf%2BnRYzwZupZwk72HKrnb8Ns6R%2Fl8YISSn40v8%2F2V16mhMDSAX4UQUaQYwFfZYKXtQ1eX61rYw%2BnShWtzsV08IpW37h6PiM6kidOgGhFb8EldYCLRkuVRjLc5W4oWYp5fmtVaGzzce%2FQ2zgsgRsVqYQMHY8ZfWhloG%2BIs2%2BM1pt1KF5XACpIg7CN7R3gIQrOTpTa2EvX3HhWclyjRMUGI6jNOMLtJZ65eTeVi93hWn5i2NEOygqraBP6ChKleLDh4slgg6SPM8zGd4RF16YG%2FZSTvDSdEH5q5l4oOpFIKtP1D8cylEcumpS%2FN%2BozOT0hjgE0s6qMSJ3y1Rsi19ndgfKbdnqfNEGYZatz9GqPN9%2Fofk1zER09xsypKXAoTl4A%2FAXH%2FuQO95QIGCIUNj%2BQiC05ImHeGHVpY9baSdvqks3x4YhQsw%2FJH4AE5rnCLSShUGYNIa87r%2Bxnitz%2BTBFMcYjVzPWCPpn2ylWFOOkhvhzDIl0XzY07rqAD9QiEepAN%2BP2%2BTYNlD3pJiste3IHt%2Few68n9ZZjBwvDp0mC9C7KmpqYJzP%2BqNkumDthryRPGa23VWEfPgI0EcQW0qk15gPb4gaXdtUMW2vSFwK5dCk%2BcBmhVUWJt1T7YGRorbi0T4TxEJ7aQvDtV0O%2BVoQyZMzRO4sHJBPjY%2FKYdJtPrzVaJe1h%2B6%2FQDc%2FjU3UxgbaajLmjam5d9tnxBKB6AOeK9LVhPS1V8COQgeuPo%2FO3iqZOaBVdw0TXgaFzFOzA2tr7j5MFDYQKpfRM8FPF3BjwDUEyLF7fCT602r0Hfz%2FDFmDtnfWlIuljha0lyS10Wz6k0omM2fy0LIrka9pbVW2DWCkT3kF5HKSZ5QP0qEayFCCqj5PgNg7iynrYlsYESXyCk8sfwjcEKoJ3elDzFOHj73D6SBaKkkeAsCd1nf1CQmzlvoTfp5BM7y4NCqqhT4Z3OjjU%2FzaRS0mpxHYKe6hf0Sg6Mr70TYDa%2BHtOsnsm3HZA7%2BL6jMyzNxpT6P2Sz5S9bSAnP0bb2APa%2FwKTxmSHCwc6KuKBdoztFXCqCxh2WXoHb%2BlJpCRcho4RbdtGN0JmzEEhaB6YHUZTcEaXnl287CAZ%2FAbc7D1684JtyoqYGV9SC9BoWa09f9eysci9Mrps25EBi7DhY425KJhgSNImltkfwzujnOK5v5iKJ4PNvfyExF4Ys1mjQbqpIfXA3KNK2jRDuLrfvI39GXtLnIfVDwsslfcmVoEGiq5ef%2FvfxzZpvYbvPOTlRIZY3dCgAjSQz2jq4Qqa%2FU8KKmFZr8zM1F%2F3jy%2BO4Bhlw33FdoLPnJhB4j5iSavpyk7p0k6EEkRWqgLjTBc76UZnwiPwIg7P2HnOrCoBeqZewpVUDsiHd6vVnileQBNKuVcpwuShgwaNttZu0qA4Uyim4K3JgzMlApxTFGzHy%2FTRm0korcOldh7%2FsT%2FLPeoJ4nt444OgF31mF%2B6nc%2FgNyyyEq72lUTzT6KMjrnhjGAtlfAxwr31r0l9XjpId24n6aeJWisC3fjo4APbY8SXrzhV0NnxBUK6VX3sQ%2BE1s1t9IGJchM64%2BSEo9RgZvVtSt0%2FGPsoFCKAKVTznbj8vrNWYFB74hPkrSuZiPtTZub1oLRl8qpTtwbdmvFmTSoOb3pahfV1P%2BZPBjASQFqOkWwa%2FPlxU0qbIfLx%2BQ88KaX7HRTAVOO0WWJ3U9B7AxNCsUei6SDWy79r9psKwKV5yLrGgk8wMU7ycYnnxysso5VHSh1aZNR7M8mmp13OqD1pesXMU%2Bfm%2FBXKP8xRTGPbVymx3v7D%2BrMi7kyX1v%2BSQSMr8Te3sIxHlKrgKjcSnZzEGtJBf9BsoPMP0PTHnzPbYD2rt95wRRspMNrw%2BijCfOYUZC2Zx%2FmdULQBvaDwv8O3b0QxSiRuspnJJTQ%2FIGzL2pXcUU72ZJkaK4c%2BX%2BbGMlaKnVXHN7Iqa7kglzPlMwSvmxV58ZGFRdlL3wSfJo7WzGkHbiZb9bBZAvZHqhsIaiZTyFHy%2F3f1SL%2F%2B%2FR47skbF%2Bj%2FxRpslh%2FJ%2Fm5FdPR%2FjsZVaBPQdj1X0FZETJorMPEvzGOAHw%2BJ3heHA9KmLsABHdvILHxyHQ4lurir348FcA%2FSSmKKc1FlCcYfxS7XbZX%2BnjANVQ3w2i3hXWjOHmBTEvBBRkGuFSbvkcMt4yKgUHvmh%2B2vinyNIGmNAzDfYyFZSnaeHoiLra%2BcbTWMjbldrlWSTl6FSiMp4vkaG5GfHzb9K5Ug%2FBwIK5KjVC6UFhwOtlwhvYYEntuK4uT9OGDq9BUU7ZgJkyU16tSMtZNIPkSO7UOhibGpUdfZCGW%2ByBdHr6Jo%2BVzT2IgLqc%2FYFIySo4t7Sr%2Fm%2F8ZxTvPqHfpZGILGzLptIt8h4PuqugJXOlPWunl2v6pS5EKQsvBQQ3Hwkedb9rT1PoP7avhrHxwieacxYJT6hu5UrRwA2zfN8vBUM8DF10YKuRJLAUHPLNUWjcWSw5i7VhPwzsR9j%2B%2FMZnMCxxG5pKJgSBj6Kz39GPN37sNoj4doqbNXreLPoKaPn8D1hwCMefBxHLUGEDnI30ySxk%2F3t9x4MqqHeHga6KUZSxc5orgqcoOYLIiAbuE04XzCrDxsLBQNDyNoF9L3Nl8pf0mu%2BJF%2BtXLONETcr5diSjUjrL%2FsDIi%2BeZA55T4sGR0yPHdc9Csq48c0Xh0wq8dY9j9LDwBV2xUQ%2BI21KjRDhntQsBVItUm3LoSNYN2X46CK4ZeT4zcGnpxvyFnZFH7ZGRzJjGhIKuQo7FvphC50pH2RF4SOyE8gyRBylV9Dwg0cRenqXh2qZraSWmyVXx%2FRYOK%2Bwi6Tcct%2Fb3%2Flufuxi8zYCyuhv8goym1iBBkE3geu726l8d8PrA9pvwz%2BJwqluaAhdZwZGNmaisB%2Fbmf8c8F5pdMdWvj%2B3ltmGfh2rhMO8HGcd%2BtKDUgpBYpHgIZbZ2S1TXn7tUsqifRrp13b7D6iwb%2BFJAKivjkgeePMJxce3pRmOpO7rsR5fGfjg5VG%2Fqq0KFvkayIm1T2pteOugKN6SM4zegrwCVFMBZjVnuyOXVaCUZp4s2jNJb1RWL3cJVx5Ai%2BQidDnKB0YZO%2B0plUQ%2FVxBOW%2BKp26ZTvCaosQvcawxXXlg3ZdEU0LHCzFta4iw3075pHD5X21UG7MYPJdcrt7tnjbHXUbYELmxPCyFgzjim3UrQ8KKYJ%2FX1vEqr2sxyCl3XjLtk6mDA7Z38ZxFTDUxdKYOxfq1fTgrNqUqD7G%2Bzg4QXQ%2F329F03SrR%2F1I6GUN0fDDcCc%2BapT9OxmhlN94Jph1PBGlT9yn6FKYPzqDLs27ZgKStqQyv7M4lY0SoBMxk4rGwZW9dp2WnXXbMO32Y1Ds5xJOwYTfFdqsvHrMNhP9zU%2F%2FI6IYI4NYn4LTDOrvzpuJymfJOOo5%2F%2FEASQRTL%2FVZF6N3QHZ64ut%2BR2N6ohcTUpA9y3bPmo0QJ7wtQQ8tXjdEJLMr6Fe6wyJI2HxzzXEc5Y81jh8gwx22CyPjnh0ZBozkMYb%2B2KwyoIvAI%2BiPJ0JPOaRjEkrN1etY6BwI6EqT0ZtGCIFzkSivdMjk%2FAdPfdZ4TlWIUDb8X7fnXDOCWpsjZV26vPQFooAODbZw2DRMtRIL0%2FjBguN3FF%2BCvlp0gfFI%2Fh9VTxgzA9ee%2FjPmHnTz0LWAeRR2Ja4R2mk6L2r63XJzGE2z93E9qfo5ppUasqQ8qDikxc9POchLRDKuFoWVN8IgUoWPZFyJ8I8rIvzAiHJnKzaBLwNZbu26m7Qkcy35la3ipDC9k4xMmxslQ4YjrB61ydjCWep8X9AO%2B7ZgBvujoUZlZ%2FpLS3vgzLm19tWNUCUrJS9TOQY%2FqYY5itkdwUKUOTaW77mQbep6hWOv%2BWVxZ731CTktou1J2iaSKOb8%2FEWUQYz16ulHWIyUeD4JJIyh8G9ih6HmjgbbpaOejNtdWdu9uKJjtjX8NWZj%2FO%2Fr6tcmshdBsgGuBqe0bjiATmPt5iYTEXwQKkbqHPoAZKSGJm%2BdIvLW%2BVKAyfyFhfnPMvN%2BX%2FACNOqdl1YIpsd8IGCdcIEIGSSzuruxnw2TJildM1Is2dYuIlzGYYlBU%2FkeyyJxtlO3vNx64uRMaXnUYNRqnxkV8AYaEnZjdphdg5leqkV70lIb41921KOC6hkhqDNk6qMkj65n0GB4e5Y7ZRfdbKBKrcburaoSRwV9aTbEqLR8SvF764kJLntYXo2MGtmQOvUjNGqXwxowp3I18fFg6rssIzSnMUAAxmbHW3gBOc5oz%2BAgvIjNdx3myvcFaGDKjpHUiTo%2FecW%2B1Cm02sXyKTCWAqCr7JXgEgFsYvqWg1ngAV8lCZkARsKrjb7KXwQsHl%2B97kMtW4Zo65iC58M%2FKJslBNUd9AjTwdrQXqe7JrNZmDIfMxjK8qM7ObSyBYXP4mBDV%2BmLdbfCR42qeUxrfH8z4NZ5G0TM1MwKMJ7X5kH7Z9KOsXKTT2gB9%2BsvCzKTaR53XeB3fYmkEDRYQs4WEJ3AEEJCpbz2%2FemVcazPxV2Q0EGSxdQ2f6VhMt%2BTJiqOGbjvA8VyMlOtBbxCkSUieedLTqpnfcXcvIrC5LTIHDSnFoM8Q2ykUZTFMU8CNGEeOXkESqAHEtWCtVRUCCgJ0LCwbmY5HTxQFy1Z3oSIHkSYm9a0R0TQbAuapAlJy3rTK0Zn1NDDAAFJqi5qsuaTLmUh6YJCSlCpI1EohCYDIfQYQm72v9loKIIBZumEY4FU0rqMf4pJBR4jm8L%2BIFRjrgpS68xKXvzQo8ZImvqXqAFFWk7bZkTRFwrsP7kFyar1QGM1JiX0TzhkxFyUfA4x7Gg9tAAyTze3P1cUb9Cc2PuDzvTptJSXWxpPrWxcy8%2FioQmeAbYuBQrpTwNInQby34HXPsdB2hjjjSJuktHBSc%2Bk0GC50CfN0LWS%2FbMRb6eq9eLR8gk3py3hoZEjoBNE%2BUDzPzR8lxKA3lMxxzo%2FTCcyRjL1xm5d8WIEnFKVsTnSTvRDgsVX5sYMOGXWqjpxMwgA3Q2sHx3srN%2BDZed5iBX%2FeorRiBSmcEDU8q9WpO0%2FuuJKawnVswGaoj0RhYurXG%2FXXXqfi2qZSI7P9ujeA8pZ6DyNeUfCTtBPuIRtj0wwTfRMgm%2Fj7sUfiHt%2FdVkA3c3Y8QpYra6Cja9GqXq7V4NjCqSw5zJ3ElLKb%2BCwtle6MdvOmnqfTxmDBCO5qb3mr%2BLwd9A8xhLABULFHDGRcFSZVzfYk%2F3LT3IQskZwduBjBxByLEdPz04wrcvwDHChPBSPRtgOiqAFfZjq4bkqCzs%2BHrv0%2B1ZvFtsE69qbgVNy0tVb0jJ67Jb8WoMpTBBQTOXlrWOMEDv6k3ec%2F4wDsBOmQqn816v5jgtl3RNwFovsPfXbEUkZyTblQZRk4s9E7QtTuIwbOi3zNjeGf45%2BswPHkyjoJQDCvIOMebv%2FNpfLP0wmDQsM1qKE6AOSY7T14rcy2nY2QRcRJZF9KQLv0nC410AvJsBhYzJ1g9ZAg7JoiWsJKzF5nvHnAQRsA3g2wHRPmkQCgYZXCSApzWCh2dLtO7iPPcf3E86iaBMyS25Kf%2FeSdjVXhUAm4bmIk1fGsv4kCGGX6v%2BczRrFfSXIutfQTam1Dbzg3RK5TwpjRKbgL5t%2Bwe%2F0CLiwoIl8IhzOUUOe7sQOOYLBo%2F%2BQUCXG6HYUyJbyuqGeycVv2HAyHG2VzqjkPFZ1o3hdWrbzDLH9k1%2FJh3C0frChssA29EPNh%2FC4mkNBi8H0sGlOOSIS5AeVQTolkEnHyBIDIKfUp0NFZg71tMXFBLBVd4a%2BcMS%2FOZtjgwK%2FmtpoSDo04yUlUREVEptBgU99NYdVs9hx%2FCAyy1a%2FxLmvHYItZ2WBOvp37nC0TxqW%2FPD2dddHsLepeqo5Ht2wb1cohKbn01HVgjVndRpehQ9w8iOYtkpj1kieXZhgedPla7hRkBPuZypLRKTNTK%2F7dpFx0EsIvHcnKn7mie%2F6zTvgz06b4zDb49SQGoDhl6FYCdX0eeRJ3gija%2BR5zguwpCZjg%2BQxOFD%2FJu3al00dzwajXBlU1Gc0gLSyvWS1RTPn9e9cHr7AtbJbgF9Q5EFw9vaJTfTt2vMDUitNijBivjaShRtcz9YJUCGN%2BGwYeDr%2F3QeYf3iGYYg791RaGDBQy7fzqVFBd5Ax9H0Rq76JgCaZd%2BZSAAUWTxEZIuQibnK2HnYTE3MsqGomFlQelvgZEQqhX6Ec5XQI97YW9AtBa2tww%2B%2FC%2FKuWGFctkXW9o%2FifKszMga0Yn3SJ15E4TLz2ZkMtW0dXMYhcaTaaPjHWBvxFezcNgCK1DqML2UHgoB%2Bx4aXwTL64Ll30vXj03oO3RSDHbQJ2M7o5uExIQXkunEI8O9T60xFw65yqvL%2BxaytXoG6UvWMjD638LRafZ1LiJ5Byk7k5hfU6RqFLCcIwv2wWC0OXtoqqRYLWY3ttWMMEhB82Ro6lWyX45qkRfG3ClA1z95qy1NLQgsE5%2FjYY7q3l7yQDyiTWerrcvGkHi8RqA%2F2G%2BU8TmJsvKV9RImYq8gWxSSDkH%2BpQ%2BHf8V2PwSp7o4qd5LXcmfPn%2FzOD5xlvgzW1TmZ%2BDjS4HVm4Bvd7tDDNW3G5ekBU1TIajh014a96fdHG%2BcbokeA7vSaUt7mUIK%2BOoDGxCTCASCyA1t6WxFpoO1a4MjZ7GLUl%2BTF5zkWaKZJev5mn%2BxRa7%2FDgZE0Lf4ICIGMcX2PDizVTmMCQoOyLcgs8pkk0Bs3WKWf32t%2Bb29t0pNxOFpGQAyO%2BIQA3gJuXHSOUuJ2pCY5wIfR1ANBoWnR3q216rM6BFl3TwI7H%2BxPQQMZLg0cfGlHLKOFDH0ZN4ZSG9Rc8YCnv%2BRn8hI71idMRxbnfH8teCfMVAliHEmnjGGqYnC%2ButZGOTmfAshjL%2Fhtz7ZEYMqydle17YVUNXr2CIsUitn1AI0YT9smJ36EHey%2BhjiDZiNKLDT6OvOaGS34CT%2BU02IIwmvaSQCId0ypQR%2F7WUlPwEgbKLRywubJjmGWVjR5R1KOBLl4zSWaT174ZLCNmWtaqYvGN9aX1nddXW7VbL5CKw%2Fv0QBjkvLNDFjL0F54j%2BGW86pQK2ckj4M5Af6ME2Zx9fzbAu%2BTnHAAQdOUBUFtNsJntNbjqrEJ3X5A%2FnHi0Z%2Fm8lgpRQIEM0H1Z8I097%2FMUv9nZVDwqfrPMxl4fNA4Yd6ApXMZuBYxTc%2FSYJwaARMu1TfyEP1IO6dqCW1R%2BzmiVQZzm5ROd2MSXJWuuIhTYkCmUg5AN4ww69wPlPUekOAHDgwnmFdwT4Fk1Ll9CJyVSYi%2FI83R31SwiVaBWWFVvUBtukvHAQx8EnRrqdAUP1Kf8aXs%2BvI7l72yHCQ7aoDpQXBhW6C6KwqrIecOLIHLAETo4a9MQyxBqVvAhRpQ%2BkDlwsG1Gi%2Fjac2Cs%2BcPiXD60yH1SMX7wSC2OqnXkhKYcfdS2BhqjeMKkymRJxslJKx%2FfOtOdhbBwl1MJ2RxZuc3tSUFMqIwf2CepaB3xUBmZ1TEScY0OhqGYdm6OmTVuP39DuG8%2FmnEqlfCgmp39guKH7WlSq%2B61w1UkW1Ad3hDurO%2FXcf8YpAOUyIg2LyrsZC%2FCx4Ias4bBwccjzoW0Lw6ChT88q77Dzixubl2OhaBRlVnyJmYWrb8SeKWmgWjLNNkHghKNCXEiYpHcwBY81kv5t0FU7ZryhChBKpy3kjr48K9oi7hQOXdAGDHzcTpndHMOIiI27zmVvBl6bLSSnEoKengi749Q%2F%2Fpxx8Cz%2FQKLjnuW3V186YI0IWQ9wsZ2t87KMu2CU56Jb7JiDh%2FQcuAwNatiqeuv7wUylOa0fReoSr8GCtLQitE%2FPZjCWq6Bniduko3urN3b2S109RfuovsfcCVEEwvnFAqR02rLD3jEn2%2BUEIULvs%2FlQoo4pvMshlZMRJ%2BmoiM9wNhFIkg3AK42KvZtEYxjhmFzq%2BSDeRYTDvuoGszA2CfFbXXiwWacOvELIfrEtp%2FFNS5Ssr5Sb4Z%2BJsyEXikWwnmcUipjTzP6fNl5Hf2SKHP4u3FwwtN0eK6kaXrZmgjUKyYCRetB5Wd%2Fs2s5IPF4%2BfQ7Fo0mbZoRwAxuuSZeQer9R62mPw7kGjLtQ4KwNBip4Oc77itjFrVuqw8QaG89FLx65Fmgysd54qVI94jjCCAqQi69Lu%2FKayE%2BwULreWLG3145RTpRfdb5PEngSZnaHOtPlCHtXzI22A7kDk9h60euZ4pzvBqPbpCdimu44joRduqlCOAgyGl27HktRnv9Ty9lOGMhdRxR6TqfiTBAFRHAwz9v5Dx1YVmy2mGAKgqGp9guq%2FV7nQOEoVaeLXPsw3Y7Zumm9Z1XAIcbOaicykZ2SVZhpKGiH5jpzUNEwVb3Gg9aN6rkGqB70Vzv8gSe%2FgO9bZcVVGPJbErTmpn4%2FtVdJafVlykaldx2ONgSIuev5uAB47CRwWb7yb%2FgeMoBPeazHCv8d%2BEsaETn7FZ0u304LrzTX6REYX9SEchW1HC9VpMCAqV87k105vTdWvug%2F%2FyNwNHuusMobVuHOhw2EMWt7H%2Bh8IgOfzfEyeJjJJoUMYn873DEXgHBw3Bk9U8YRhMdvMPp5lMAg4Mx82Xg5Ra%2BaDKPv3xOuM0eEv%2BTWgzEqqs%2Bc0CJ9C7fmoZm5yLo7XPb7nYQ2djyl%2BNjYgNN7b6wdhozuHGfhzQfpW5IqIDwMcGx%2F1tqEactUUeTGI9uiPjcXtLkoxRAN1uDSl6AoEJLniKW0gtQ3xEep93UVgzREtVHlEZgTjxzf1XdNIy8SUTsiXXzM1tlDzGX06gFnahsGfGv1axcTe64caOAm5xpBaCJ5Bk4admuBQeZteAjUYx0gA71MrwB6Die1TbJd3L8h3KzLm%2FiuOzbmga1x3fmNP8osk2YfSLK5w6d1hARJCeJivE7yIH19ugiGF%2BFPlehLM6wAtBAlnd2G2n%2BEbGhko5UhG7855H62eNmEsJDQK5mTQ91skUm8GNsRILGHDfT6s%2B2KgftYIcprUfjJQFea7J%2FtHzt5bpBI57CvwSoRFrK5SkHUm94JB2v%2BJePnk0ffIJfYHfrZIsvFRJg1nXrM9IJB49rFHLZGLVJVKdGfGaRYOzZuyODvO4YJjZo%2FG8rYPPiq5r5eYPRjr%2BZn5icPkUovQHcOilmAVOf2SNsbWhRIGar%2BQgQfXJjQp%2Fi7HmdberJ0BSu%2BCeHfG7MjE1FjOFPoRwL3aMzcX3rS3kCG8cgtDi%2B3jVdjnn0%2BWcvQMTLXKS1hIb%2BJvr%2BzW12oRZAlwM9FNF%2BdW903HICBO6b2jcCOYC1q6jxD4h2LMVUb55N5uY49XMDuqyxvSzdrdLo1zX4KbdcjOOecRoBH2az8bkFTneYO7RzY45A0Ije%2FDm%2BR5k52Y6iD4HZ1ktA%2BgH3vNMmJ3yC%2Fz5nSHbe7m0IYFXhOdzcVhceGO4i3%2BAPXnBVYd1ZjXtniwJyhCHtoXGavHF1xz5a%2Bn%2BbpYe51KAwREp2iCRicrS1u446t2MFtAxEmduWKxRJHWYZkcChMtQpc1KxvwwXDRcfavrNA28kKfYGDZFSr1bmcBFcJ%2BJkbynwwOps98ZduBUZjtQJXmYYGxsjs2FQnQQd9Sshnv1UC1VsHPFCTU5RV5rTae2qwvOK3l1%2BlibBtv6Q97K%2B51OLyihAlM7qch5fwMV0JsSn7TtfnLknPKWcSeXLqwlF25V9pd%2F6XCrs0ZA8K1esr73ljePhlpK9hfOlqR1bjTiSsZBM%2FvpoSPkUtRjcMirVDTZtm9dvT%2FIRra5nvg%2BucR%2B3glacH%2Bs2HgFVS1YKoPGxpT9FfA8QBGmun5ajWxmI2wHqrTHPIxx6sJf7uhZQYGZztyULH2aw8teLpEhydry6Ak0A%2BPEPrsMQTmAy9JxvTE9EQwYIqXClBsLp4ns0%2B4C43DAqiHTjq56oa0ID2qSJOUvYP7xat8Dz73qDo%2Bs4g1vNxIrTF0ctUlc4ZmQTd0V%2Bui2JQSqqkx8Xgo%2FK5i0%2Ft%2BIPSBQWxxKigMog34%2F9ut1YvhW9U%2BCW3qmTyKCSf4KCW6HTgugBe0QZfsxeaJeT%2BZeNnnkuIvov6cWSg2jUPq2zSIXh9%2FTyeF7XWLurwxeitVwc4CiYHuoexgA5QayHK0ROarCOyqGqvUVYD6mkUmkWiH%2BUPDpAeGH6wlLhjHYsWd01cxIBUQiov1Lz6JcbLxIFQA3yB2QTdeiy3p5yF3StBVXLAWcyG5nb8sHMcfFV2GZetk9Nht2LBDkzxkUgSTLuxq66IVYB0sK2RurP3ri0ryGyozmBzQrfI1BZOnDh2Xj6k3nnCPVX3uLJi%2BMVxGJX7Rc9cKAJhWxxuijWl%2BCnRsz4P3rWM2ubPEVFPzpwsr10pqFNaJnHf9i9RjwLAA43IqAm9QBIUMfie8WtsFqo79fIAk2Ye9BTjUNC0JV%2FudpA6PIuDQ6bYo%2Bg6carvbxSOA1xNCo%2FWHD2sGOlYp%2FDML8NKMOGc2wcQj4fblDVXHgOas4R9%2BrgdPD5bSNGNubHi2g5GQ%2BLcLnB22632FNxEjcJ5hiUdxrMB%2FksLAtzg64sKV0c%2BKYGv0PGNhc7W%2FKZLEbQhuTmdmunptLCZj4XXxUVec1fy0i0dHD7FuMTHRH%2BdvYH6Db1RhUWLVA7kHGj7ZiOyynYO1dIUUv9UFz6Qn2od9Ym%2F3kd9sUsSfaeVs4wKxWwVqfWRBVrR1fmsCDEEhHifV0btyldsNvtGJSjXMSGOUFpLzu%2BioQIQtxCMeBOPJkv84vC3KCeVk90RjrhT%2FAaRP7rZrQYRop1ZfB0cvBJtIYxoJecBA0nKlhspMoWmdwGpHdR1QTq1DcrlHIW4LY5Pwe2IEhIMG6pOIMYpMIYAHyyhbz62lPeaEgVXSalC35svPLEIWMsoqZP32xt6n7Nguc3JBjukXpuO4eqDCI6hcrMGJLiZOPQYv5tBAu5svu8opUPzWWAlaLujJBFa3eGBy1rgqD4ehtwCPCT%2FBn9al0Z6%2BbY2OGeSw7Liju7dL%2Fi3WUDzoFWmrPrJjuOPPZKuoTb7o98J%2BQljm8DRlobQtsCHfijgqGSbxCAJbxMOwhLet8kbD19W0SNVH5z5%2BIunITU%2BXbkoFPaGiPrm4nqVjSjbKECB8O1EzbQWmo4yySLq8Ke3ww8aq0oXjNzUJTXDWkP7akpy877OthZH8sKLOcwPqExUVzin7lxhGl2cMZCW92h8N23lMPlhmNcbIa%2Bw9nRRAU2ApjRI2n2k97Ei2jX2uSvkbrFUkwwqhlN7UU0JnNZRY4dStPvpWJrWfe8KMLiAKBuz9Iu1Fw8cWQ7FoXyOJv6dN4JDNUHMpfhGzIQVwB7LuuziGlgmYtqR5Y1vBEYAzjypUiyRu5WRiBkmgIb07CpPbBfCuQhJwDzxPdFsew5RFUL%2BeEZYUMDTXcj5i8klgzL7qQ1qGWETqmiM0Py%2B1oZu7vqfBkoXI%2FFd6PJA9D5V6sXNHEJPtp%2BwkwBC7LOHNimgX8ny4hOqu%2F60IGXqKPKVIpWQHdg2XocF7sW41mhDO4AOdztclvodBWKVCY5AFad3kWPBuVKZiqDr0bFVFh6B%2F5oE%2FgU3nAKGdNz%2BRmVE%2BLAvNR%2BiyhCas73wc1W%2BlcVJebiGgL9ZViPcTmkeOlfGaGZ3btbvud2OguIljMpjPT6qvjPuNbpaMR4g7ZxPcf1VvmNBDpBqXlBEbO8js6V2XXlugvtDVpOnzufhailtvfOBfOX3JcoaDTuEGlgV6vqnkn7YF4sUTUiraVbaD864c6rM6XRT3q6J5inWWX%2B%2F5yypuRjkyfXXNOBChG%2F9H4tZXJvtv674MxYLvPyxeA5qZPMcc3HOHylMPeRnnRk6NTKMmr%2Bpxe9Ptkm5GmIaGcSRlIDG%2FPzOMVTzb%2BnHb%2B1CWEVAA7iLZVUv9zaDKoNghsVP%2B2pPae7yHnGbR4vkWrbkbb%2B%2F8156l27eqP2TNKbHBcLYiTawuCUmvgxNw3WYtIZg64s8q5ttD9u6TcGfJTRyNMcfdkJfookOXle2D4pUFvrt%2Fe%2BiVlKsHvRMlgDimKl005rx8ALku7LwBlJrgt0ELgHP94r7LB%2BKb%2B2N2JewqfuE25Q0tnj4TwAZxfVyovHFWV7SnXtW07TUwQWseA0flL4qb60BMXzzl6zy8MqRT%2FP6AyFYxtJwb6Cgzz4c20k0aS36ytRcMoZu3ICErHT8ij%2FPN8QF2Fx0JZPmDQDx85%2Bjf5XPXWdTnZ7As3c9d0jiRicwLhb8XFPkL2NrG21TK82pUuY36p9SZu%2BFAFkl6XeY%2BU7vX%2BHqWKW3ZPygthCYIh8T0uWhhoZVWfqyBUFB0WFXd%2BmgHxw%2FeQartxH59vYcYr4W6mcXCbAxj4LqWNOHWk3%2FagP4dpBbgkRirybzxXldujJQ%2Bu%2FlViuTH1nSH4jhbMO1iwze2jO69i613q7Uevd8MSMNa2Djha9JTerykmXnTQDKcE1QdZfXbBij%2FSMQF%2F8IubLWswXs0YEuCvRn8qIJwCkTClMIP1RRTuSf1vPzJxibhocpj0W8RmCyBeEdAmTNKkU0%2BKa8Mo1zI6pO1AynS54uOWjQifueeADe1Q%2FAzJA034iOXDuuTfh0kWVd4Tq9ZZKOtghXIaDn2TYk96uhVJ0%2BHcJ%2BW34fxUutOFsj561b6YsVdeQgkzYlwXY8i%2BvNDN0egXDTIUCBNOTCKugZ4yJS8ZwasNJBDBo7NysmnWbnE8mYLAmF69fnuC32Y1RppciUn7mdO92AMXol%2FUW4UB7S%2BcEp8D0uPwB%2B6lbUP1Z4YzTXq5F3Bo5TVupTnRdpIzBeZSrlY4sSdLxGpK1kWkGwlDSrplxOHenDhVXkqRW66uV5urpRwT%2F6c%2Fkcx%2F%2B4GeKK9usW6MLdcMTy%2FEAM5%2F8LiT4Mbpgi0ioSNO6Evh2V6Bw58%2F5R08Ma4o1XCCzai6NVMv0Q%2FB6AjMxmQD1fcutWVof4I4FBPk8MstgI0e%2BkfMkNv3WEyCV%2BCme9%2FHCo3f2crpurC7f0RhNszaZVs2kodUWWzJPa9Qmk6NA81SHf6c5IY3j%2BgbaNuv9IIcQivhajyH1FNWnRTO6e%2Fe3LFgenhucJdhYqPrRACtTff%2BdtlWAfxyFxteU8tcn9uXQzaIgkRBpHmFuxF78NHYM1rLsGcIqVnlkrHQAmzxrWmLDpOE7Tke1v1YWh2mfr771IGWAPirPyQfY3YQeedia0OTQ5LYQj7LnQz6TzH0OJllYA4isj9N6yE0IOri8Hh1xKWTE2EUbnL7%2B5Qsqgh0yaIfniXnbIw9J6QKffCgN94jf84HTfx2oNxx4dMmf1PzpPEZc6mOmj%2F2eHAqk8cn6pUmH3oiQVmR5wfSwUxW3bwNsn68fHgLd4vbVVsjKRlmjB%2F8ceYt5NtXiJlfZe4LyFawkKXLjfvzxN9nluz5pB0I2PwNoTxQ%2BOsjiXm8%2FwKj%2FAN5i4lYhQmmvRaiNnm11QttEiYlrOpOsW2z4pWg%2BGK7BXyaTWoLZxUlhrEjP6CKzIcOz5HL8QO6D%2F6vX2arZbMDuIqw1%2BxynauC75wIWG7Z90S5IjRNE3PJ%2BJ%2FKVkI1vVKC0NFN8w65mNtgI672zssqbiVFN%2Bsc%2BRwUgB6uwwmHiwH%2BHElXUos2Re%2BoWBUQHBZcPPD%2FqyOhzw1DfyTVS56pl8c7HUrdLYZGoQ3PlF2RyZBmHJHi%2FaIQI4%2F5LuPhfiZ0ymJrp5IodvPV9qe%2FtpBsQ65rVFXcgbcg2tAaurW%2F3rEHs2duI2diJ55uPQWpeOYjJMv%2FQutNws9uHBSR5tK766AxTzO2DxgMmsrE6EXtgGz%2F7byeHTuStKjBb6%2FjcR1l5uEBSR%2BqxxRTGvtJXzW2cubFzlcaZWNBXDfLnkuNJFZOvf%2FNfRLhKC0yw5Lv7EOLTe7kngvM1HF3gUyMAwfZYLZJN5DUfHvmDUJW99gBUB61hvS9KCPWz931%2BPdP0Q0G%2BGnLuG8h%2BHYdcgq5aEwbNPVl4W9%2FpjatXThQm5Bvk4Egnml9k%2BKi4lV9G4D6CXKIBSQ%2BStbnItTzf6fzHMh2IzqDR22OCJcPuOCDxEeqlT4gFxKzl%2Bf4B78sPgNIc9AarBGzEk%2FGkYWFTXU7gk4zRsR11Rr0Xv7%2BaDVkLgr7GaIhIws2Yn4jvd9iDPZwI5mRHaF%2FA6czcIkTJHgREZ8S8UWJDdB%2BRY8vU5IIWZbhYPGafgpcDxFmYyRJ5i6TQv18wdXetePHtbMkKBYbvgadB80weALzrnLlF5RHfTd1KYAqwA5PG%2BqtUa2cSN%2FFm0iFclCCjnzKkmlOXeDyfokLC6K6qWlNzE3d%2BdT7K7w%2FLbUBq0xhW5B%2Bjb4sIegnNunGLoOs%2F5bItKG%2Fl2NpA5TPchs4LClQtVOEfFHoa7gEWixBvpZ5xS93go85qjr%2BaOebLZPRX7tEeqAN6EtsGdS35BYpDQzFITi90NtkPbbRwtee6e41G24%2BoguDkylSo579vsJGFjiVNRC%2BocYCZXPFbz6vkDRiPDJonoq6hkBlCKT%2FuKWXmDhrjsR1HULZnLfcoYbT9E7aFdvrgQeJJbcUnW7uiMDBQ7mLEuHTzwHdzdH3ssXrgBl7QiD4k9K31hfU5GtQkHTtlHkba2gsnAXD6gqfgDqfZPtBZ6wn7cnzRKrTVNIOJQ2f1R25fBLwPtw%2Fi775Tn5ZJx5oKHbPV%2BM2dRuk4E5kN6DxQIv2H3w0WilQtOgKz%2B4Ie36lA%2Bv9kL8M56tpc%2B9dwprg39T0VrVyjRMW%2FSBBbmIqBLzfrsMzFukg6%2FPo2f0k5nvQc7BE7%2FaqdtliY2u06O3G1uDFKTUwH26Ojp9mBIRgorfR87UEg%2BX2l0Jt2kZHby63hafA2n%2F9v69v24kmzlSbHDcFvhyH%2FImS7yxrDtWDb5qnNyoKY2OTVCrgLxItemrfia6uEoSjdlRAv%2BksHlTKplXNejkS5zfHxbQAO%2BVDi4TbJd3bDwPdsi5yGzOuBKAGtl%2Fb3zZuVmpAwMSlyjK8J4Ltdm3Hc%2FYNAAMCeJGHSLu0VGXly6Z7bwbrctOGy4nSld4rJ9VLv7sIdGqJNzz0Ep9M2zpOfOkXB%2BD5oQE8qGqEuRRuKhFtnnE43x6qEr%2FFLoV%2BV3zWuv%2BgxdOZi5vr%2FhtXuqD9B%2FZEpXov9GTjL2lqM2mz3c1N2oxw709S8HAlR%2Fj7xSesY7Jd8Ph2eG4uCSEmHukop9DrrbKiq0tLtBQ6l2TqmsWsWsmdxIpM49zZCxF5lK%2BkSUeaZ5PwfqIEq1%2BSpyyKBRUTyj%2BV4h%2FDUKBYgIQKqgyi2LhLbPW16g7AxyJ73xPPU6FQ%2BkAN9KGh4uK0iib8grmMx97oJFEmvCbqsKDfBH%2FwSQD8SamgvaAaz0ilWbGoIHWGxf%2FBEp%2F0vJIbdf3MnIx9v0UJ%2FnLO4Gm6zwPrFsstWtBIrWmQXbAZI1ksjmZmCKXcCE7o0DjPIY4zxsdV3zLQ4Aq9pVVt6AIiyR3NkYMJg8nDzPHy1CNzxGF5fUqe%2BJPiCd97R%2Bvit%2FQIRKNleeT%2B%2FIwZtJMfoQqKlc3J1ToBaDHLPXAZGKRWgOrwyTqakJ9h64%2Fo4n%2F5hdUCRXQW8Qu0TNk%2BUsovQ86Hc6giCVE8zmKLNVPiog5WW2%2Fmhjq4wyJDzICCuycAJXlMiGRjeeJQTznmmtrIy15uuUACD0bmz6RPKP%2BjawP4cp6U2yP7QrCI8DrzjTksjKPqFI0%2BjVW9pIixUBhA0iQAfJQFYfUFLWpV1LHmPaK9YdgDB2NFUgCUpxkORkVcbQU8rGK0smCYdyfCHEwIm8N5VlvLmQoElnzwt8ju5V9aMvxtorQoi9iU%2FYn3%2BoJaJXk2GauT5wf2jO628a5Bp5I1QyadFr0fUcYhXSt%2Bl1LzFe0veCjw27ym3x6nsBVoN2tuNzCVxzNkNsv2%2FzC2piG3m%2Bab57pBVr9yBHiPfdnAsbIoASxkOO8P6UoajuZtIWu3MGrXqj8mAg9GCr7M4Y0EOQDokU6NilwUlYtjgnL3bxO3UNrPupsFvCcxTuhORIeh9wzR3GWMNbWPQU2vCyYsPgZf21U3aI76LPdFcMNk2Dwvg%2F3FuasL1DI%2B%2BMFvUGFt01TCd0y9kdLDgidP3PD9aZM4IK8xcfJWYBPuEfBNh9TxKErZWMcV4WXw924x0jaP9rvaTT6%2FO1AUuMXJO30NRa35Px%2BGOkBlyyqFAObAQxcY78ukfs3cfETD3XspT5XEam7jjK50hZMORd1aXe%2Bp3xZYo4oOGeT2IsBllxat1fWHGr%2B%2Fc5pNYYBN7eBzfDzmd6jBetABhq%2Fnc2IdNiQxgpXKpiBV%2FD2xy9fwQR98uABvQLpDUAlKP8tV9dwh2FYMAggkuFreKrnUA1LXPBcAQcIl0%2FaQaJqSCTh%2Bzr7U9Fiv%2Bfy6E8LoEoMqQILKfbuJvW2SfPEXBAslcmd%2Fsgi0VirholsnFj9q0M78j9ibdmx%2BUadq3PtcBJNGcYk0Qsxw11eY5Fol0xFj3dQDI2MzB%2BPDJ%2BinsMDKXeZPSinCmf8IovnznFBq6hCEK5IlPxsnpGpI27dqWW3vlCL9P8idV2AYvQIQJr%2BPGAyvBVtwy6iC0HJ0juMSapYorGK5PtsQfrXAEKeI7myQcqWp1jS4iOUYg0WckY72rYaoW9p%2BpjRtgzZKIE282oSSnBd2tOg39vFfNZAwFByd5nAXjM1kmgq5WydVpSVPTQlUCsD2jRT7KBv7dS%2FtdcYj4c%2Fn50vNmpL3W6oQTno%2Bm9L1sYQGpgjcb%2Bz3uWHpS11YISjdNGQcaL6foA%2Fjs%2FWBqca33gEuAcHaJV16FrNC9G1%2FbVt119dt0Qi4qaGwzC8f0UkPHPnhQKvvC%2BuydSP7KifRRGLUr7kqL8AouQNo0lQMwQeLmgkognlQVjuNMOXa0pde0xpnP5NZelN%2BjOxayu5Tdg0EX9bj1TFQ8BITNK1mTsCyHJzbbXxjJi7xfeGNkmviqabZRh%2FmO6MONtv4IkFyir1Dk%2BU1DYMtfDnBIrNv2OeLyq4JnrGnfPoiGMLvg2BVamKZ7PLOlicj1o4JvaWbrMITwmEY8b4y1hhRdijBsvDf2y6TAuKVOTjRuvlMQ%2FgvbfgDUZYu%2BnoOMpfNx5mAE1SUZS11Emc5sHYL1e%2Bmdtz9ydBX261vIIm5TC4vg8C1mI3Ye4Cn7CYsLjXiQNJTfMmiWg5ZMTmIBMscPhpRixxMYrSpNGhA2TcpuVMSGxhxeuIa0dLVe2FBQqysMFO4RIi2qoVtKZIr8RGKhB53zALXaKGz6VHZudHd5FS9LGYj0uBdYvJJ8hMxQV5B9fmETpRC4Vcd9wBYOFtC4m%2BdKO5O6HwWPHqboOGCw8cmbqkBN5qg5SNl3CkrjEfDT%2B7cI7exFk7aD8JGB7M%3D& - -Seuraava viikko: ctl00%24ScriptManager1=ctl00%24MasterUpdatePanel%7Cctl00%24MainContent%24RestaurantDateRangesFilterHeadersDataList%24ctl02%24RestaurantDateRangesFilterHeadersLinkButton&ctl00%24MainContent%24LanguagesDropDownList=fi&ctl00%24MainContent%24ShowDinerGroupDropDownList=97f76449-f57c-4217-aede-b5f9dbf2b41e&ctl00%24MainContent%24RestaurantTypeDropDownList=17dbf3bd-e822-4b36-965c-afce161f0704&ctl00%24MainContent%24RestaurantDropDownList=a7349553-5535-482e-8248-658a55dcada3&ctl00%24MainContent%24DropDownListGetWeeks=1&ctl00%24MainContent%24ShowMenuDropDownList=1&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl0%24Meals%24ctl01%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl1%24Meals%24ctl01%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl2%24Meals%24ctl01%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl00%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl00%24MealHeader_State=1&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl01%24MealHeader_FirstOpenState=&ctl00%24MainContent%24WeekdayListView%24ctrl3%24Meals%24ctl01%24MealHeader_State=1&__EVENTTARGET=ctl00%24MainContent%24RestaurantDateRangesFilterHeadersDataList%24ctl02%24RestaurantDateRangesFilterHeadersLinkButton&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=gov%2BFJEu10fYQq8GGdSpt29Qnt1TTFFnSL55LJfU2lravvzV4BX%2B9orQEDStA3N%2FzMvgTmRPRjjg2j3EST74Ek4nL8ela%2FT5cjLRZR4FOW1KoDxYP%2BnVU%2F73hgWh5veSaEgC2I8ftU4A5dN6scgX%2F9zV96T60ze8tEboE0hdXcCkwcf26hpMNzO8R51HJCmjBh2oLmzgmIP96c7Rmx972gqJ3bw30YJlqS6YvTTigOAwwXM0nFbomZnwgy8AnlAeblLT5IqHyIcrxfWx83j%2BJtLsQWwFfOf%2BQEppkcSLWOP3UbOW7IAZcckI8Ix1XR4aV%2BYnsKPsNF%2FW5pSmFhaVaHApM6npXmrL3sX9iKIWc8luNomEONYRqtKy77%2FDKPKeNvrimho3eFrK71GHD9NW7vGAC47gIorniqXcqMylA%2BTe0lJfZNyxfpxOkB6KLvsmG09jKEnpKkBqXUlHBPKnbwZxoO%2BMeR%2Boyuive0Hwto5xsrokLmC4NLDiaUY92JVLXzAFaUQew5nIkFtz0cLtTvnjClCHAQ5AIcP%2BxgFLmr%2BIth70QsUfHvE7txLQfcJTcFu%2Fp89INQzwFSfKvf200sh1nJxKY00A%2B5CPQx6pcdfU6b32Yb9G3qU%2FXHtrIw5W%2FN1e8l8dMzKtzqWoFwj65mXuzlRXI3ZfonmrnBX%2BfmKC0MkWm2UhpKEKeVky84Y%2FgDrfwRfBHGzqf922PFSNXWjwzcTqEjE%2BV%2FB6IwX7gWIi%2BdaNvNzf%2FFFNnODXHqpFnB3gEbpnErANDoqXZ3DKqbJsG6Q8MJJ8xTW0pACBJc1WQeI1K3lhBIyZ3c%2BmRm%2F6bxc%2FswGKJ5%2BJAkDH3ufSFzk7dlZA3gBMNSTAFiA4MAycaHfR2smkTd%2FO6W0G0ZXgHNHUPFlInpq9ezsGzAvOUObaR%2BS%2FVr6ZHSJq5l%2BSvA5MLwf%2FeA0hozPf9blZBICIjFek3DThFBMZInQ7eu3mu3pGqCHQXbnYSx%2FIwel2uwArlXnoJn0lYXmhgwNwuaS%2F2wm5Kk2Z%2B78FIhcf51v7v6MSq5D%2BoWfxIS9nfftfDklmzOUOyR6F46n%2BkUL8bZ4mKpTmc9yITKNLd8mr%2Bt5nLJlx30qricJQV1Kkv5AIEfa2Osoer4n2JWrst9dHVzlGFWUbkwkR1%2F4gMYEhn5TbX52oHWVGDDlLimb01fawB8fio3lIj3Rj2n98v7ufJjpPE%2FqvqdGOiDHiIZnQj40djdF2XHS6J1Tn%2FD4WLN4z292t0Jn82%2BdkDWkEJog1ST%2F0IkxrhUqBke0CBLqwl9hV2tYBeCfLFQvMVCUooasOIh8FWHJeftcSa11owTiN09Pgz4Yvw9Kl%2BGmTYpVq%2BC75TvzgPbMCwRv%2F3%2BuWXLjoWb2Lyd2x%2FUt2tKgZyw917WvV3oaLWi%2B3RGoceBxnJtIz%2Bk1jZTGfpv77%2FKHhnNQVRlbbP9jJootXPXMnuVX%2FrHfWrNUkW9hEXMsUipHnpl%2BtfCmc4Aeq19npmCbeOf%2BKEK0bYRsgC%2FPhi0wE5z8Ml34MDKKcf1s9KIhLiYoTxGimvRMl0Ey%2B4MvfLzgdTNfRztUMRrwWeKFkmRihsZCZMOGh2G2Cyo1GMWAbnozhcphFJjn4g6kJZdOTYJOlBuUNtjcc4jQJMJgQT43jRu6VXQv3VTIFHHZpRZ%2FWKgaZ6DPJZm%2FkMSL5d%2FAlxKhMshT7yeMIiC00vlKasjORVOUJpLWaweajSAdrbUQkWD6yBT8HHRo8apL%2FNFVtAO%2B8zSrF%2BmXLF4FOmo1sfTxfI%2FdyEiM2MacDS9rppdbOaS5kSxbDvks0rhdc5JFzog2seskeKXrV6EBQqkpIcWdAPQ5YE4goxrjzMfikIeSIa3MgcyMM0wT2n1ET%2B7UKvahlwavT%2F3lDOhXzc7FMXHgWK9%2FAAg33Eh51TCelhMBYPLYfgHQHGmTHRgANoA6TWIIzGVg%2FRI4ZMjkAwQSytuAhL%2BvsUBN92qUHq8f9kuwaYl7Ejn0WesZcgVuG93W7gChRcKUUBOHbcJvXTHKmkCjaR6jZf%2BdAexsdaeZ5Zh%2FepXC0K3jES9lDBMWJIJxXjqtrkVtv1HOERVvqfukIRV3VNTDpzcVa9rP%2Bv%2BMf5RaJmRUQce0JLSTWkqIClLmgCTg6v80UVU%2FaLqM%2FsL8PxUfPupJb2JD2oqJNZttgJbn2sHu2VSw5Zv12APlluoytoNJmA%2BOdX3vGqoHjyXVwi8YA38ZdyEwefRqUlyELeJgbBTehstnzo5C6ISFsrjofK%2FIFJez6jQzk1I7kSPhy75PAxFVxMXlkzwMmme2zqrd9xwoF4H8VbuX%2FT%2FvW1vK6HBd%2BWdq0%2Bms4DTwQgJIX7dbw7dJQ8kUJnnsDcCQ%2Bp4LQ9HXaSnWC%2BAD5iduHNw7XSbkrCCPFcJEIzmDDtKz%2BJRktuzuUzwtz9ICHvQCVMsHd3qISiCXEw9ALuYK9Dg%2BAl%2FMD6wBIhPy1jiSgXEKAMmUnPGSaYWIKdOnXljB5vPPdI0%2F0Jg0ORaYMSk%2FfAPef2uGy%2FhNEVOTNb3iLJSCiiRhgkxcolpV%2BrM7PRMr6ybnrwOqnsI1ENI8jCp6MG6OPtDNVeJKF8uLo%2BJT%2FwO2OXd0GDUnodDZqe75LD8jOX%2FUiN%2FuGHLXU7osqCcAKpyJCOS3k9ILsvml%2BoWvjjsdtcoMHxD83Yw%2BreNiOWHwHwqhVtVUZERz3XcujqUrcyJypvnkCJ8XIXn9z4sahPJV4Son6KRnSpT%2BipvXP1lEYJ9%2FBe5naV1BU%2F8N5gGN%2BXJLgosb14gR5AI1g8s22mchuFtifUVkF%2B9FSZIswkohAKRA8FoMlOlmexyvTSRXW5GIFdJ8UvPKjuuvAHRenG%2F6SSoumMU31mx7A3tZwnsAq652qsVWPDxr5RZoZEBX0H23qzH8s7cUwHPGnn601y0Y3K8JH68dkKTCW7LMSAzNGzFMUUHf0vYYlkzrZCxolJk%2BIgA913tyFbrtPcTYuRM2Hv4tXPugVgTRv8vVxXiT8aJJlMDfRMMcelnHz%2B5SPzI7NC86qGcMqRIqpEIbqcldAIgQqsobrN6ufYdRTUWzWKbi2xeCmidgxmrS7vsnm%2BdEGqHHVQZ0bcdRF90tqok8ihy5wz90EZl6rZGbHKGPQ%2FPTiKSY%2FlaIPjQGuXofwfbooWY9538PWtNxOWC%2FKGKF%2BoUATqONQkauz6rHAhh61OO0bB%2F9kt3UKwIjsyDTbWZLio60shyuWrtgCz0MqZFqCXwmunjRl38ZldzAjv4puqERjpeMeLBG4do9uGM69CzP7ipS3rNihjAyq2jdupRXcm%2F%2FDgbtXvVW%2FGSSRCU6zRWKBNJN7Ss%2B14DHLYZN62rUgGL7ARK5%2FczDxm9PhD%2FjvRbobk0IWxmyM3%2FD6%2FJnnBq31uvpZzTvtQgTAYdL%2B8XVBJEOSHiVOYtqkmPvHXXS9XKSoial%2BxDOP493oFNSv89%2FdAxMbMWnGgW22t73Sf0NQU1ZlLSznAZD5A5V1wlXcp84m%2FSjheitscIFCUDL8dBLBl%2BOWZ%2FCpJXwgy2ajF3SMvnk1dDQArqY%2FJ0YRe%2BVaBjBTcWZpwrh39JhR35Ugb5hFRx37%2BEWj0Ift3%2FAswfyI3XMyoqch6YJmFPfZWZm9SSvRmOyb7vMR1MsndD7MP6zTc1m1qAwOUOADYc9QwSpq7HScAc1Nkg%2FcZ%2BgoES%2F2Jk69kiBVZRKSteVV%2FwEDdJ5Mi%2BMFNI7%2BZ2g87q9yE%2Bbl%2Bu67SWcZIzSopNOuJDJ3JYRLjvBpgLhIBASjwy8IztJks%2Bgeqfr7FzeFkDc%2FczUyt5PrBXPLKCoos0BSYb41KFK3M6Joj%2B%2B6wYGMqGtRNz3h8z97dPHrqfyvFM2NwW%2BNPojyicAhEtMlPl5gBpwuCE4w07VNlLeRi0TrYgRAdLmD4AlcTJagYLTW%2BhoIEEKtGwvj0phUGS2D8RoIgmDplOreZVhHTcwK%2Bs0kMUgf9kuAyk0wMfkyojRdB59eDMwbiunP%2BzTBve5XkU3828u01I53%2FARQdZ7oQx70sb4ibdSv%2Fwq9nDe7OuCD2OOV%2BQyqBlKSlTN4hZCzwmvOQbEgW31OQuhU467o5UHmKXnTgNawm1ZX7tXZmJ0X4BKDEawaaRPKDt65rvMAh%2FikFKntK%2F0SaURNNqmAEtMghpdJGA3%2B5PWrmuaA9mg8%2BCFLwWhOP4JhVW7sYuPzbuwTwGDYvdElOb84o0MUUfgnMOVDNow6oV9j36vZ2GAwrjxEXzv5GO16kox9Z8w5RGbX2rr4CYOCfs2%2F6tasrwMgDKWDbCpsIrvBVXBlYAfONm738TSk0nxIj6tY5X3uLSycufg40UD%2BXdphJboE5p9tZ18CCe%2BQi8OvNTvldhGNQioE8LgyNdhydtFu%2BdRNJtkwG4RCmTuF8IXJukbNQwD0vmwSL3rBSmRqtrzfykF2S1UMT1owZ74toqJJ1Y4zOvI2oXsCBC3e6QvEA%2BmyqHnk0DytzSX0DemdLoM29buGUpVkLWLaDsh3LKW9WGT5a7UxB15%2BoctMczm2TmlveTDT4MzKkJmtmD0V1ZKFm4SCDJWiUR1JGsSMsyNBdb1R4byKdWJVhQKR5BHV7lGPxTTAMPu%2BHpd8xj2%2B0bA5k1r4mb9w4uag3rLVPE407nI4%2FAA4vhcjvsouAF4srtn0U%2BZRy89LC4uXWjS3PR7CkwnEpZuyFMec198JpB%2Bag4qW2%2F6ll34EN6e1QqTFih7V%2FWMkv1CjjRsKLw4RRa1gT57RnKW9NgqnqDPlFX4JnnyBvd6vTLFGWWS7qtWPbAkmeU5y%2FUiAKt2Q8nndrrWI70P1Th3jGnv%2BtmJP%2BYJH4bkTFX9PSrn1a%2FVSakmiRODfKWUQKK7YsfUidAkdZaaF7T%2BrMzRLJyodLOsyS04xRpR%2B5SYJY415HbMRilYjMqBO9Nkv8PGmtTHXJ2cLT2uXcEm7rIKE1hFoJpjzZmR2ilL0hqc8DcrGXqZgTrYZlWmRrdzzSBwl0u%2F85%2BUX5amUzA%2BGZE282XmcA%2Fgli0Tee3F7f6L9NvmbzofLKxY9v51o9QCnhKV7hynlRZhAcu8udc9793xCoqKy92iQcYbq%2FoX%2BilPmtVIoeIHIFmr7mTikGJRRUbnjMKGA8mSsfZsP4Giba64hAM4WzmKyNeAoWiC1cz26YVQih%2FPgZA4e9ZmZjLebGROlbVmWYOQWgLweSeWGnjPeiLbQY%2BAyxYmjoybWRJrs0zvSf5VrhDBo%2BtXBGWUn4aLUctatew9Z0pm0rWf5QPxTM%2F6pzb0Pe%2BxsIS2WZRtu5g6E%2FIOoHA47bqiGWYO8%2F926lEh0HmB87C7IMZuOd7sixcKXo%2BldY2elO6seSZ733bpq6eEPVNfZO9IGGvkKwo2S01K0Ar5%2B8FUUheuoksKNzg%2Bfwi1TnRCbPj1z%2B%2FlU71heeM%2FKC5GdEDKhQRoe3OU7yjWglmCkX31QlCP9dpRkkc%2FTKZLNtTau4j6TlErntnlOF5VTkIk%2F9kS1iIqcIqy%2FtklDoS%2FKj9OQi%2BfuYA3A%2F509GQoAwhzti7%2Bzx3Q5YhO190ImP5B64v8grXVRbO7kNOA%2FqLqHyIgu01zJnQUSy%2FuntVInrLtUEw5boYhZzLLPwAlITR722eTRlZKyHcWeSVJb6BGrC5CMILbB4I7uAc%2Ffts2JGAMR2%2Bsg92l0vWuqsfBMT6cVyAq3eKYVTPusHhXPH%2BaKEIWyqN7JuWAlMNvLrWeP2ACRayAMNUO%2BNS%2Fk9pQ4P8gAB4eIX2SYsnbVc%2FaSGx3u%2FYO53pBuNoCY1Vmurk8hrLvGoC1rHKbzSB1uraj%2Bkyvrh5t1NPO98%2FWq%2BhVlcd%2FHjLOSejuYnoFy%2ByueHkPI7xDg%2BGyUrRRdUINzqi0Qcv%2BgZdTPtNsFjLUpMRTCmmDL2am4E3KLjqtH%2F0oBiog1YEfWgn8MsWE3uI%2FX2JovGXcgPuflHDJujBqO94rfh4Dl9diLH5r6o49BAuNIMb18RECa93pIlEUtx6zRCzg%2ByroSvh4MJpv33J5MLEB9MoPUAbfTXrxOtumoeOopXUmVJ8mWWvyyW6n1tn6GKUGGfQ%2BfSZwdsuL3lKKW%2ByARNog9WbkQZyat4BOnlbcWZuVTt2aej3XTx5%2FdPHhVm%2B7%2FNC8bMIMYi7w3hddqpDQUOCa0T8H2M0GHbtG1ZjwAvWdSBCGDjTMToeJ%2BrBHdo7157e2vY98M%2FHrMIvhT%2FrrlX3T4QP69c4AtyUEpeigG6WH1udVBMyr97k6lNn%2FLGuj0mxrnFc1aUZrtFBy5HYHUTRnCFwgjc8CZnQ5Qry7WBtPhrTSV%2BelkP4bYoYF5Pd14eH7KePPUxCakupvW3sJZKh1O%2BQrH%2BG5vDnP6mk3ohVEW%2F%2BFgeszqhQjhZ39jWr%2Fgc2q7Eq2%2Bd84UM3OmWRyBS0EOzUPYUkR3D0725ZDuXNrNbMwRDLv2N4bEsQGsffCP5cSiKUkdLhonEucbyZmNsJcMfqaTes6vQJtO9dIdR2ydGqPUZrT0kuXrxvtEI%2FQe3O%2FWsQtk899HoLVBBWY40Dck1%2BBoLlfVCGlEtVpKorfMz9mMVLbyM2YkRASUagBnYXSXAUEyUH%2FLCFLOv3eMBuQO87IE2nuu1atEKRtINTAXah9bz4q9%2FnH3VLn4xVmHtvLinkoH8%2BbnfsrF9i1Yp5e3NzcqTRwp7pRo%2Faf%2Bi1fGo%2FKrG6YMRPgrLhfbU1VuXSoMY2%2B9dKGemQuPLrBWns9pnd8y78czi3f3w59Xr19fLGlk8A4aa9OnNtJ31a6qb%2BEGTTw%2FrbaSPPEw2KYFqYUKQznUCTm33FKxbh8l32HmT70AzmS2mA7C5aA9%2FApljAlCvfAwX9r4JHwDIoaI56O8Y0V4Ka4Jc8HdRLz9T%2BI8jbtjP57PKcjjsF1rXt6J9V4CehmoEiAeym16gIhAzPR8ZpU%2FqKHCDXgOBAF3uBS6iOFHvRJCdkULPFozZGXjmO6Y6Y9h9TVnS%2BS%2FeaeX164e8Aufv9d02IYq9AUbo%2BLyA2k0MACLe9tR9ncOJdiQ9Pcfyr0Ush86WbLgboioYhcW1Sganb4JcLhqXm1oUbMfUdOBezegKVgSyY%2BndUc8x9KG%2F9IiKQwqjma1zwSXuftapmTo21BQfT673TWLZ3f2bEyib6FjT9Oqhnff3aLJG24biA4yGRcj7Ux7klyflLo%2BMQuBe10CfE9njHcxOVMxnFjtuMyYNPHYhhMKxU92HiqSEOmjzCu%2F6%2BoC5CSbW1X8Bm5DAlvGdaUnFb0GeSqnerziI09M%2FUPQ421%2BtmlLMabtF%2Fezwvf6iV60oKebUPf1Ft6XoT%2BwWvwPzL7FJQLa2RyhJTZw4eLIkb07iuE5qWpsmVCpIh7K%2BVgYpdBfe7pPrPvTw80mv6Aza6MjFgl210aZ9Kz7dipM09Ah0pZsbHtTedImAN3RyGfX7ZJthCssJgruXn67mqdqiexGd8KN6v0xmVKP0jYC9tozFhr1DpBSmZMS3ocPuOa%2BCFoOBRhCIBuldeZq9gFLsTm3NMXWipjbC7ACBfaDb6j%2FUY3baX9bOOJLC%2Fpl%2BxQ%2FZhYObhADCNE8tU0nwdEYeZWiI6sKZcdWGwaIusGaw5kfhlAa%2F8wYNkVQjaulgAodsHoT9wrtlcUBsgMWZcszYZ6AtuZ%2F7lHN0ZjPdsu4XYK8JnONnNw78lgkk6J%2FpVks03F33WgiBc5qSLBonf8OFrn9QVYgjXNyUXQ9VQMlgiK71Dadv94eIJXuHLWXNj2UlwKUXBKlywm7u8xF47moKX1SewXjWuhh6wom4y6ZrhTsukU1fSNLbboU99bDyhHvVll2tEAc30NtSUbSn5YGqKn0Kc7bODcwIjUlEP7A7FtZP4x0BFHn9PnzzjZ8bMUmul1lbNcvbur2SCmMede4IwABlY%2BUwjJj1KDZmwaujkJl9qKrzEvdPvUxk8cfwvTA9q33%2FyEDyXHyrEaEdvIA0Vmu7lliGfgioru649ADo6Qu%2FaCQIR5kYEs3x8KwFsfAbtgquzEr%2BKREOcMeSpZ8VT4GIWHRYNV574CVDCLWrqBNw2VG1Dslai%2FzSfpipB%2BTZzV8yLLUlZTecv8W0qyfTdfCFbgIOhvhVhrCEtd1dyCaswxzOGIzkYeaK0KkabqFKxKS3P7nakV6vwzyeGlth9jOtBzZeKXbQBwqLGkh75vfBVP12x2rLX9vgqC0nq1VgKS2wTU4BcbZjPhqBQ8dN3%2BQgrK7MkCNdMfRlR67gvKFartEHZNsb2jzmJRwyrCRkgCFgNsDJIeqPDu47Afz6AZEP0tXzE7lmm3AlAmKi8FPVDF1vbks3CxsyHizFDpicsepqoaP5iRaKSxoKonuQK35nm0zsPzfe3FK6p8eRY6T1zox8%2BdcAqQ8s9pA2j4Z%2FbLc2yZ7Xm62yoD3PShwioZvVhX8hqTD37OecgJPl8F8xVLmw8YYBdJUhV12MdZ6rINkjpYsUd2SDWcSrHML9Ic46KZF7%2BrzxkS7N%2F2o4cJJIcGHPk9PF2aTjKHp6201KXCgMtIpAnFv8L5xrmIgAGA2JO2cfvjShz372dw9Q7wVNj1xvPLi%2BUqDunDEhgSxTGU1YKpsoKIiPUI8JYk10Pts8e9O7rJ2CyRQCVbdns5%2FqSlxMQfNb7uKzlIcJyYW2TOd047kA%2BO3yOJcy36JulyVNVGEbN5UAjsErM8hVnMlYX3WROQ1WQcfYss8j8VXDVykd2rZzZJe4NU8Ww5YIcFx1Sub%2Floh7hSnZ5tFhUQD4kDVUiZdrHnE5PyjF9CKxUNmRWZrOs7zJ7aW5jG3onCpazsvVExAiQ2gwFTrCJvUJR2d3jt5aYMPIPeA9V1L4SSLtphY5MFOMMYJupvnVAf%2FLPEZ9Vfg8U6O6dCFA%2FmKLg%2BL4WD2ok2TPWz2jW%2F5%2Fyja9q0H9oHGtblgb23DzS8I3S8%2BYQlEwc4KLxeV7Ek0%2BrvaCXSDdQTLhD7dxRoCInZP%2FnLRdk4OxGaDEWD5OnagEpCsGwnoUliryYHHAbiqMtMDi9nTbHUlsPSI5wrhgeoG7jvnF5v%2FNztpBaJTaw1gmP0bqXI0SWPuIGzegygF%2B57iiU8I2mD4uB8CazPycPjDwXIhLqbhdquEUtTS0HpkEdUSpisPQKhxbFE8Buz%2F5JRKqt8zpSH0Sr3mCbFnwuXCwsSKSuNYfuNB8Im8lFUM%2BXa5GpnTT2GkPk5gzgfIFjUAaLdoeKDiEU9SGeuBCz1jmVp4h90cYNV8BGBmoBV7%2F4U3JWFlH%2Fc0mFAzQeLi8IwGygliA05KeVP9lcyrViB3CyxC%2BQtro5gif9%2BIQJ722qJ2gYyf7Zhf5n1RrjP3ypH8r30zZLyFSuFBN4TBVXNxv2tGNOj8M0Ja%2FSoedOxx%2BTVfa2%2FQA23fB0EXdcfTqY4QhhkpOfIhjR6tIhLQX18b%2B1ZpJ8OpHjBuW91xp90mG30qnV4y%2BIHmt4p5%2BnESp13JG3Xu0jKe%2Bm%2FWwyU1XkykAYeGByguBudpyO%2BJTB3cP0V74Oj4myoEId70QQmZ8Sd%2Ff1I1WHI5hTv%2F6bKiariW7EhZbL6fU7zVHWH1YWUfPAt1%2FLuG6alQSkTdK0K7Cnqf4WqC%2FeHaFGj%2BmEXHyizIcIVPqQrecBv%2Ba7hX3Zwg3XExZHTQGVfPIXk4pcPv1yuulHZB8LlJyE5ir046aPiyINvzaaVtx7uIaiHWxzEO3UNEm5Hml71QrwrWFntw2SIyN7hwmG2Qp2F%2BmTczFETyr9MtwdtCgfbIV4jqCkeHkyMBTdvwN2WDAy6fV6atldBVI9aLKof3uVrfINC2N%2BY3fgKADVG%2Fxtj%2BQIzyqu060rh6TiMnnXzSrMk7ArCZoFHXEET8dokjftbvQqMG%2BdF%2BPv41qp24jFrWAf%2BnRYzwZupZwk72HKrnb8Ns6R%2Fl8YISSn40v8%2F2V16mhMDSAX4UQUaQYwFfZYKXtQ1eX61rYw%2BnShWtzsV08IpW37h6PiM6kidOgGhFb8EldYCLRkuVRjLc5W4oWYp5fmtVaGzzce%2FQ2zgsgRsVqYQMHY8ZfWhloG%2BIs2%2BM1pt1KF5XACpIg7CN7R3gIQrOTpTa2EvX3HhWclyjRMUGI6jNOMLtJZ65eTeVi93hWn5i2NEOygqraBP6ChKleLDh4slgg6SPM8zGd4RF16YG%2FZSTvDSdEH5q5l4oOpFIKtP1D8cylEcumpS%2FN%2BozOT0hjgE0s6qMSJ3y1Rsi19ndgfKbdnqfNEGYZatz9GqPN9%2Fofk1zER09xsypKXAoTl4A%2FAXH%2FuQO95QIGCIUNj%2BQiC05ImHeGHVpY9baSdvqks3x4YhQsw%2FJH4AE5rnCLSShUGYNIa87r%2Bxnitz%2BTBFMcYjVzPWCPpn2ylWFOOkhvhzDIl0XzY07rqAD9QiEepAN%2BP2%2BTYNlD3pJiste3IHt%2Few68n9ZZjBwvDp0mC9C7KmpqYJzP%2BqNkumDthryRPGa23VWEfPgI0EcQW0qk15gPb4gaXdtUMW2vSFwK5dCk%2BcBmhVUWJt1T7YGRorbi0T4TxEJ7aQvDtV0O%2BVoQyZMzRO4sHJBPjY%2FKYdJtPrzVaJe1h%2B6%2FQDc%2FjU3UxgbaajLmjam5d9tnxBKB6AOeK9LVhPS1V8COQgeuPo%2FO3iqZOaBVdw0TXgaFzFOzA2tr7j5MFDYQKpfRM8FPF3BjwDUEyLF7fCT602r0Hfz%2FDFmDtnfWlIuljha0lyS10Wz6k0omM2fy0LIrka9pbVW2DWCkT3kF5HKSZ5QP0qEayFCCqj5PgNg7iynrYlsYESXyCk8sfwjcEKoJ3elDzFOHj73D6SBaKkkeAsCd1nf1CQmzlvoTfp5BM7y4NCqqhT4Z3OjjU%2FzaRS0mpxHYKe6hf0Sg6Mr70TYDa%2BHtOsnsm3HZA7%2BL6jMyzNxpT6P2Sz5S9bSAnP0bb2APa%2FwKTxmSHCwc6KuKBdoztFXCqCxh2WXoHb%2BlJpCRcho4RbdtGN0JmzEEhaB6YHUZTcEaXnl287CAZ%2FAbc7D1684JtyoqYGV9SC9BoWa09f9eysci9Mrps25EBi7DhY425KJhgSNImltkfwzujnOK5v5iKJ4PNvfyExF4Ys1mjQbqpIfXA3KNK2jRDuLrfvI39GXtLnIfVDwsslfcmVoEGiq5ef%2FvfxzZpvYbvPOTlRIZY3dCgAjSQz2jq4Qqa%2FU8KKmFZr8zM1F%2F3jy%2BO4Bhlw33FdoLPnJhB4j5iSavpyk7p0k6EEkRWqgLjTBc76UZnwiPwIg7P2HnOrCoBeqZewpVUDsiHd6vVnileQBNKuVcpwuShgwaNttZu0qA4Uyim4K3JgzMlApxTFGzHy%2FTRm0korcOldh7%2FsT%2FLPeoJ4nt444OgF31mF%2B6nc%2FgNyyyEq72lUTzT6KMjrnhjGAtlfAxwr31r0l9XjpId24n6aeJWisC3fjo4APbY8SXrzhV0NnxBUK6VX3sQ%2BE1s1t9IGJchM64%2BSEo9RgZvVtSt0%2FGPsoFCKAKVTznbj8vrNWYFB74hPkrSuZiPtTZub1oLRl8qpTtwbdmvFmTSoOb3pahfV1P%2BZPBjASQFqOkWwa%2FPlxU0qbIfLx%2BQ88KaX7HRTAVOO0WWJ3U9B7AxNCsUei6SDWy79r9psKwKV5yLrGgk8wMU7ycYnnxysso5VHSh1aZNR7M8mmp13OqD1pesXMU%2Bfm%2FBXKP8xRTGPbVymx3v7D%2BrMi7kyX1v%2BSQSMr8Te3sIxHlKrgKjcSnZzEGtJBf9BsoPMP0PTHnzPbYD2rt95wRRspMNrw%2BijCfOYUZC2Zx%2FmdULQBvaDwv8O3b0QxSiRuspnJJTQ%2FIGzL2pXcUU72ZJkaK4c%2BX%2BbGMlaKnVXHN7Iqa7kglzPlMwSvmxV58ZGFRdlL3wSfJo7WzGkHbiZb9bBZAvZHqhsIaiZTyFHy%2F3f1SL%2F%2B%2FR47skbF%2Bj%2FxRpslh%2FJ%2Fm5FdPR%2FjsZVaBPQdj1X0FZETJorMPEvzGOAHw%2BJ3heHA9KmLsABHdvILHxyHQ4lurir348FcA%2FSSmKKc1FlCcYfxS7XbZX%2BnjANVQ3w2i3hXWjOHmBTEvBBRkGuFSbvkcMt4yKgUHvmh%2B2vinyNIGmNAzDfYyFZSnaeHoiLra%2BcbTWMjbldrlWSTl6FSiMp4vkaG5GfHzb9K5Ug%2FBwIK5KjVC6UFhwOtlwhvYYEntuK4uT9OGDq9BUU7ZgJkyU16tSMtZNIPkSO7UOhibGpUdfZCGW%2ByBdHr6Jo%2BVzT2IgLqc%2FYFIySo4t7Sr%2Fm%2F8ZxTvPqHfpZGILGzLptIt8h4PuqugJXOlPWunl2v6pS5EKQsvBQQ3Hwkedb9rT1PoP7avhrHxwieacxYJT6hu5UrRwA2zfN8vBUM8DF10YKuRJLAUHPLNUWjcWSw5i7VhPwzsR9j%2B%2FMZnMCxxG5pKJgSBj6Kz39GPN37sNoj4doqbNXreLPoKaPn8D1hwCMefBxHLUGEDnI30ySxk%2F3t9x4MqqHeHga6KUZSxc5orgqcoOYLIiAbuE04XzCrDxsLBQNDyNoF9L3Nl8pf0mu%2BJF%2BtXLONETcr5diSjUjrL%2FsDIi%2BeZA55T4sGR0yPHdc9Csq48c0Xh0wq8dY9j9LDwBV2xUQ%2BI21KjRDhntQsBVItUm3LoSNYN2X46CK4ZeT4zcGnpxvyFnZFH7ZGRzJjGhIKuQo7FvphC50pH2RF4SOyE8gyRBylV9Dwg0cRenqXh2qZraSWmyVXx%2FRYOK%2Bwi6Tcct%2Fb3%2Flufuxi8zYCyuhv8goym1iBBkE3geu726l8d8PrA9pvwz%2BJwqluaAhdZwZGNmaisB%2Fbmf8c8F5pdMdWvj%2B3ltmGfh2rhMO8HGcd%2BtKDUgpBYpHgIZbZ2S1TXn7tUsqifRrp13b7D6iwb%2BFJAKivjkgeePMJxce3pRmOpO7rsR5fGfjg5VG%2Fqq0KFvkayIm1T2pteOugKN6SM4zegrwCVFMBZjVnuyOXVaCUZp4s2jNJb1RWL3cJVx5Ai%2BQidDnKB0YZO%2B0plUQ%2FVxBOW%2BKp26ZTvCaosQvcawxXXlg3ZdEU0LHCzFta4iw3075pHD5X21UG7MYPJdcrt7tnjbHXUbYELmxPCyFgzjim3UrQ8KKYJ%2FX1vEqr2sxyCl3XjLtk6mDA7Z38ZxFTDUxdKYOxfq1fTgrNqUqD7G%2Bzg4QXQ%2F329F03SrR%2F1I6GUN0fDDcCc%2BapT9OxmhlN94Jph1PBGlT9yn6FKYPzqDLs27ZgKStqQyv7M4lY0SoBMxk4rGwZW9dp2WnXXbMO32Y1Ds5xJOwYTfFdqsvHrMNhP9zU%2F%2FI6IYI4NYn4LTDOrvzpuJymfJOOo5%2F%2FEASQRTL%2FVZF6N3QHZ64ut%2BR2N6ohcTUpA9y3bPmo0QJ7wtQQ8tXjdEJLMr6Fe6wyJI2HxzzXEc5Y81jh8gwx22CyPjnh0ZBozkMYb%2B2KwyoIvAI%2BiPJ0JPOaRjEkrN1etY6BwI6EqT0ZtGCIFzkSivdMjk%2FAdPfdZ4TlWIUDb8X7fnXDOCWpsjZV26vPQFooAODbZw2DRMtRIL0%2FjBguN3FF%2BCvlp0gfFI%2Fh9VTxgzA9ee%2FjPmHnTz0LWAeRR2Ja4R2mk6L2r63XJzGE2z93E9qfo5ppUasqQ8qDikxc9POchLRDKuFoWVN8IgUoWPZFyJ8I8rIvzAiHJnKzaBLwNZbu26m7Qkcy35la3ipDC9k4xMmxslQ4YjrB61ydjCWep8X9AO%2B7ZgBvujoUZlZ%2FpLS3vgzLm19tWNUCUrJS9TOQY%2FqYY5itkdwUKUOTaW77mQbep6hWOv%2BWVxZ731CTktou1J2iaSKOb8%2FEWUQYz16ulHWIyUeD4JJIyh8G9ih6HmjgbbpaOejNtdWdu9uKJjtjX8NWZj%2FO%2Fr6tcmshdBsgGuBqe0bjiATmPt5iYTEXwQKkbqHPoAZKSGJm%2BdIvLW%2BVKAyfyFhfnPMvN%2BX%2FACNOqdl1YIpsd8IGCdcIEIGSSzuruxnw2TJildM1Is2dYuIlzGYYlBU%2FkeyyJxtlO3vNx64uRMaXnUYNRqnxkV8AYaEnZjdphdg5leqkV70lIb41921KOC6hkhqDNk6qMkj65n0GB4e5Y7ZRfdbKBKrcburaoSRwV9aTbEqLR8SvF764kJLntYXo2MGtmQOvUjNGqXwxowp3I18fFg6rssIzSnMUAAxmbHW3gBOc5oz%2BAgvIjNdx3myvcFaGDKjpHUiTo%2FecW%2B1Cm02sXyKTCWAqCr7JXgEgFsYvqWg1ngAV8lCZkARsKrjb7KXwQsHl%2B97kMtW4Zo65iC58M%2FKJslBNUd9AjTwdrQXqe7JrNZmDIfMxjK8qM7ObSyBYXP4mBDV%2BmLdbfCR42qeUxrfH8z4NZ5G0TM1MwKMJ7X5kH7Z9KOsXKTT2gB9%2BsvCzKTaR53XeB3fYmkEDRYQs4WEJ3AEEJCpbz2%2FemVcazPxV2Q0EGSxdQ2f6VhMt%2BTJiqOGbjvA8VyMlOtBbxCkSUieedLTqpnfcXcvIrC5LTIHDSnFoM8Q2ykUZTFMU8CNGEeOXkESqAHEtWCtVRUCCgJ0LCwbmY5HTxQFy1Z3oSIHkSYm9a0R0TQbAuapAlJy3rTK0Zn1NDDAAFJqi5qsuaTLmUh6YJCSlCpI1EohCYDIfQYQm72v9loKIIBZumEY4FU0rqMf4pJBR4jm8L%2BIFRjrgpS68xKXvzQo8ZImvqXqAFFWk7bZkTRFwrsP7kFyar1QGM1JiX0TzhkxFyUfA4x7Gg9tAAyTze3P1cUb9Cc2PuDzvTptJSXWxpPrWxcy8%2FioQmeAbYuBQrpTwNInQby34HXPsdB2hjjjSJuktHBSc%2Bk0GC50CfN0LWS%2FbMRb6eq9eLR8gk3py3hoZEjoBNE%2BUDzPzR8lxKA3lMxxzo%2FTCcyRjL1xm5d8WIEnFKVsTnSTvRDgsVX5sYMOGXWqjpxMwgA3Q2sHx3srN%2BDZed5iBX%2FeorRiBSmcEDU8q9WpO0%2FuuJKawnVswGaoj0RhYurXG%2FXXXqfi2qZSI7P9ujeA8pZ6DyNeUfCTtBPuIRtj0wwTfRMgm%2Fj7sUfiHt%2FdVkA3c3Y8QpYra6Cja9GqXq7V4NjCqSw5zJ3ElLKb%2BCwtle6MdvOmnqfTxmDBCO5qb3mr%2BLwd9A8xhLABULFHDGRcFSZVzfYk%2F3LT3IQskZwduBjBxByLEdPz04wrcvwDHChPBSPRtgOiqAFfZjq4bkqCzs%2BHrv0%2B1ZvFtsE69qbgVNy0tVb0jJ67Jb8WoMpTBBQTOXlrWOMEDv6k3ec%2F4wDsBOmQqn816v5jgtl3RNwFovsPfXbEUkZyTblQZRk4s9E7QtTuIwbOi3zNjeGf45%2BswPHkyjoJQDCvIOMebv%2FNpfLP0wmDQsM1qKE6AOSY7T14rcy2nY2QRcRJZF9KQLv0nC410AvJsBhYzJ1g9ZAg7JoiWsJKzF5nvHnAQRsA3g2wHRPmkQCgYZXCSApzWCh2dLtO7iPPcf3E86iaBMyS25Kf%2FeSdjVXhUAm4bmIk1fGsv4kCGGX6v%2BczRrFfSXIutfQTam1Dbzg3RK5TwpjRKbgL5t%2Bwe%2F0CLiwoIl8IhzOUUOe7sQOOYLBo%2F%2BQUCXG6HYUyJbyuqGeycVv2HAyHG2VzqjkPFZ1o3hdWrbzDLH9k1%2FJh3C0frChssA29EPNh%2FC4mkNBi8H0sGlOOSIS5AeVQTolkEnHyBIDIKfUp0NFZg71tMXFBLBVd4a%2BcMS%2FOZtjgwK%2FmtpoSDo04yUlUREVEptBgU99NYdVs9hx%2FCAyy1a%2FxLmvHYItZ2WBOvp37nC0TxqW%2FPD2dddHsLepeqo5Ht2wb1cohKbn01HVgjVndRpehQ9w8iOYtkpj1kieXZhgedPla7hRkBPuZypLRKTNTK%2F7dpFx0EsIvHcnKn7mie%2F6zTvgz06b4zDb49SQGoDhl6FYCdX0eeRJ3gija%2BR5zguwpCZjg%2BQxOFD%2FJu3al00dzwajXBlU1Gc0gLSyvWS1RTPn9e9cHr7AtbJbgF9Q5EFw9vaJTfTt2vMDUitNijBivjaShRtcz9YJUCGN%2BGwYeDr%2F3QeYf3iGYYg791RaGDBQy7fzqVFBd5Ax9H0Rq76JgCaZd%2BZSAAUWTxEZIuQibnK2HnYTE3MsqGomFlQelvgZEQqhX6Ec5XQI97YW9AtBa2tww%2B%2FC%2FKuWGFctkXW9o%2FifKszMga0Yn3SJ15E4TLz2ZkMtW0dXMYhcaTaaPjHWBvxFezcNgCK1DqML2UHgoB%2Bx4aXwTL64Ll30vXj03oO3RSDHbQJ2M7o5uExIQXkunEI8O9T60xFw65yqvL%2BxaytXoG6UvWMjD638LRafZ1LiJ5Byk7k5hfU6RqFLCcIwv2wWC0OXtoqqRYLWY3ttWMMEhB82Ro6lWyX45qkRfG3ClA1z95qy1NLQgsE5%2FjYY7q3l7yQDyiTWerrcvGkHi8RqA%2F2G%2BU8TmJsvKV9RImYq8gWxSSDkH%2BpQ%2BHf8V2PwSp7o4qd5LXcmfPn%2FzOD5xlvgzW1TmZ%2BDjS4HVm4Bvd7tDDNW3G5ekBU1TIajh014a96fdHG%2BcbokeA7vSaUt7mUIK%2BOoDGxCTCASCyA1t6WxFpoO1a4MjZ7GLUl%2BTF5zkWaKZJev5mn%2BxRa7%2FDgZE0Lf4ICIGMcX2PDizVTmMCQoOyLcgs8pkk0Bs3WKWf32t%2Bb29t0pNxOFpGQAyO%2BIQA3gJuXHSOUuJ2pCY5wIfR1ANBoWnR3q216rM6BFl3TwI7H%2BxPQQMZLg0cfGlHLKOFDH0ZN4ZSG9Rc8YCnv%2BRn8hI71idMRxbnfH8teCfMVAliHEmnjGGqYnC%2ButZGOTmfAshjL%2Fhtz7ZEYMqydle17YVUNXr2CIsUitn1AI0YT9smJ36EHey%2BhjiDZiNKLDT6OvOaGS34CT%2BU02IIwmvaSQCId0ypQR%2F7WUlPwEgbKLRywubJjmGWVjR5R1KOBLl4zSWaT174ZLCNmWtaqYvGN9aX1nddXW7VbL5CKw%2Fv0QBjkvLNDFjL0F54j%2BGW86pQK2ckj4M5Af6ME2Zx9fzbAu%2BTnHAAQdOUBUFtNsJntNbjqrEJ3X5A%2FnHi0Z%2Fm8lgpRQIEM0H1Z8I097%2FMUv9nZVDwqfrPMxl4fNA4Yd6ApXMZuBYxTc%2FSYJwaARMu1TfyEP1IO6dqCW1R%2BzmiVQZzm5ROd2MSXJWuuIhTYkCmUg5AN4ww69wPlPUekOAHDgwnmFdwT4Fk1Ll9CJyVSYi%2FI83R31SwiVaBWWFVvUBtukvHAQx8EnRrqdAUP1Kf8aXs%2BvI7l72yHCQ7aoDpQXBhW6C6KwqrIecOLIHLAETo4a9MQyxBqVvAhRpQ%2BkDlwsG1Gi%2Fjac2Cs%2BcPiXD60yH1SMX7wSC2OqnXkhKYcfdS2BhqjeMKkymRJxslJKx%2FfOtOdhbBwl1MJ2RxZuc3tSUFMqIwf2CepaB3xUBmZ1TEScY0OhqGYdm6OmTVuP39DuG8%2FmnEqlfCgmp39guKH7WlSq%2B61w1UkW1Ad3hDurO%2FXcf8YpAOUyIg2LyrsZC%2FCx4Ias4bBwccjzoW0Lw6ChT88q77Dzixubl2OhaBRlVnyJmYWrb8SeKWmgWjLNNkHghKNCXEiYpHcwBY81kv5t0FU7ZryhChBKpy3kjr48K9oi7hQOXdAGDHzcTpndHMOIiI27zmVvBl6bLSSnEoKengi749Q%2F%2Fpxx8Cz%2FQKLjnuW3V186YI0IWQ9wsZ2t87KMu2CU56Jb7JiDh%2FQcuAwNatiqeuv7wUylOa0fReoSr8GCtLQitE%2FPZjCWq6Bniduko3urN3b2S109RfuovsfcCVEEwvnFAqR02rLD3jEn2%2BUEIULvs%2FlQoo4pvMshlZMRJ%2BmoiM9wNhFIkg3AK42KvZtEYxjhmFzq%2BSDeRYTDvuoGszA2CfFbXXiwWacOvELIfrEtp%2FFNS5Ssr5Sb4Z%2BJsyEXikWwnmcUipjTzP6fNl5Hf2SKHP4u3FwwtN0eK6kaXrZmgjUKyYCRetB5Wd%2Fs2s5IPF4%2BfQ7Fo0mbZoRwAxuuSZeQer9R62mPw7kGjLtQ4KwNBip4Oc77itjFrVuqw8QaG89FLx65Fmgysd54qVI94jjCCAqQi69Lu%2FKayE%2BwULreWLG3145RTpRfdb5PEngSZnaHOtPlCHtXzI22A7kDk9h60euZ4pzvBqPbpCdimu44joRduqlCOAgyGl27HktRnv9Ty9lOGMhdRxR6TqfiTBAFRHAwz9v5Dx1YVmy2mGAKgqGp9guq%2FV7nQOEoVaeLXPsw3Y7Zumm9Z1XAIcbOaicykZ2SVZhpKGiH5jpzUNEwVb3Gg9aN6rkGqB70Vzv8gSe%2FgO9bZcVVGPJbErTmpn4%2FtVdJafVlykaldx2ONgSIuev5uAB47CRwWb7yb%2FgeMoBPeazHCv8d%2BEsaETn7FZ0u304LrzTX6REYX9SEchW1HC9VpMCAqV87k105vTdWvug%2F%2FyNwNHuusMobVuHOhw2EMWt7H%2Bh8IgOfzfEyeJjJJoUMYn873DEXgHBw3Bk9U8YRhMdvMPp5lMAg4Mx82Xg5Ra%2BaDKPv3xOuM0eEv%2BTWgzEqqs%2Bc0CJ9C7fmoZm5yLo7XPb7nYQ2djyl%2BNjYgNN7b6wdhozuHGfhzQfpW5IqIDwMcGx%2F1tqEactUUeTGI9uiPjcXtLkoxRAN1uDSl6AoEJLniKW0gtQ3xEep93UVgzREtVHlEZgTjxzf1XdNIy8SUTsiXXzM1tlDzGX06gFnahsGfGv1axcTe64caOAm5xpBaCJ5Bk4admuBQeZteAjUYx0gA71MrwB6Die1TbJd3L8h3KzLm%2FiuOzbmga1x3fmNP8osk2YfSLK5w6d1hARJCeJivE7yIH19ugiGF%2BFPlehLM6wAtBAlnd2G2n%2BEbGhko5UhG7855H62eNmEsJDQK5mTQ91skUm8GNsRILGHDfT6s%2B2KgftYIcprUfjJQFea7J%2FtHzt5bpBI57CvwSoRFrK5SkHUm94JB2v%2BJePnk0ffIJfYHfrZIsvFRJg1nXrM9IJB49rFHLZGLVJVKdGfGaRYOzZuyODvO4YJjZo%2FG8rYPPiq5r5eYPRjr%2BZn5icPkUovQHcOilmAVOf2SNsbWhRIGar%2BQgQfXJjQp%2Fi7HmdberJ0BSu%2BCeHfG7MjE1FjOFPoRwL3aMzcX3rS3kCG8cgtDi%2B3jVdjnn0%2BWcvQMTLXKS1hIb%2BJvr%2BzW12oRZAlwM9FNF%2BdW903HICBO6b2jcCOYC1q6jxD4h2LMVUb55N5uY49XMDuqyxvSzdrdLo1zX4KbdcjOOecRoBH2az8bkFTneYO7RzY45A0Ije%2FDm%2BR5k52Y6iD4HZ1ktA%2BgH3vNMmJ3yC%2Fz5nSHbe7m0IYFXhOdzcVhceGO4i3%2BAPXnBVYd1ZjXtniwJyhCHtoXGavHF1xz5a%2Bn%2BbpYe51KAwREp2iCRicrS1u446t2MFtAxEmduWKxRJHWYZkcChMtQpc1KxvwwXDRcfavrNA28kKfYGDZFSr1bmcBFcJ%2BJkbynwwOps98ZduBUZjtQJXmYYGxsjs2FQnQQd9Sshnv1UC1VsHPFCTU5RV5rTae2qwvOK3l1%2BlibBtv6Q97K%2B51OLyihAlM7qch5fwMV0JsSn7TtfnLknPKWcSeXLqwlF25V9pd%2F6XCrs0ZA8K1esr73ljePhlpK9hfOlqR1bjTiSsZBM%2FvpoSPkUtRjcMirVDTZtm9dvT%2FIRra5nvg%2BucR%2B3glacH%2Bs2HgFVS1YKoPGxpT9FfA8QBGmun5ajWxmI2wHqrTHPIxx6sJf7uhZQYGZztyULH2aw8teLpEhydry6Ak0A%2BPEPrsMQTmAy9JxvTE9EQwYIqXClBsLp4ns0%2B4C43DAqiHTjq56oa0ID2qSJOUvYP7xat8Dz73qDo%2Bs4g1vNxIrTF0ctUlc4ZmQTd0V%2Bui2JQSqqkx8Xgo%2FK5i0%2Ft%2BIPSBQWxxKigMog34%2F9ut1YvhW9U%2BCW3qmTyKCSf4KCW6HTgugBe0QZfsxeaJeT%2BZeNnnkuIvov6cWSg2jUPq2zSIXh9%2FTyeF7XWLurwxeitVwc4CiYHuoexgA5QayHK0ROarCOyqGqvUVYD6mkUmkWiH%2BUPDpAeGH6wlLhjHYsWd01cxIBUQiov1Lz6JcbLxIFQA3yB2QTdeiy3p5yF3StBVXLAWcyG5nb8sHMcfFV2GZetk9Nht2LBDkzxkUgSTLuxq66IVYB0sK2RurP3ri0ryGyozmBzQrfI1BZOnDh2Xj6k3nnCPVX3uLJi%2BMVxGJX7Rc9cKAJhWxxuijWl%2BCnRsz4P3rWM2ubPEVFPzpwsr10pqFNaJnHf9i9RjwLAA43IqAm9QBIUMfie8WtsFqo79fIAk2Ye9BTjUNC0JV%2FudpA6PIuDQ6bYo%2Bg6carvbxSOA1xNCo%2FWHD2sGOlYp%2FDML8NKMOGc2wcQj4fblDVXHgOas4R9%2BrgdPD5bSNGNubHi2g5GQ%2BLcLnB22632FNxEjcJ5hiUdxrMB%2FksLAtzg64sKV0c%2BKYGv0PGNhc7W%2FKZLEbQhuTmdmunptLCZj4XXxUVec1fy0i0dHD7FuMTHRH%2BdvYH6Db1RhUWLVA7kHGj7ZiOyynYO1dIUUv9UFz6Qn2od9Ym%2F3kd9sUsSfaeVs4wKxWwVqfWRBVrR1fmsCDEEhHifV0btyldsNvtGJSjXMSGOUFpLzu%2BioQIQtxCMeBOPJkv84vC3KCeVk90RjrhT%2FAaRP7rZrQYRop1ZfB0cvBJtIYxoJecBA0nKlhspMoWmdwGpHdR1QTq1DcrlHIW4LY5Pwe2IEhIMG6pOIMYpMIYAHyyhbz62lPeaEgVXSalC35svPLEIWMsoqZP32xt6n7Nguc3JBjukXpuO4eqDCI6hcrMGJLiZOPQYv5tBAu5svu8opUPzWWAlaLujJBFa3eGBy1rgqD4ehtwCPCT%2FBn9al0Z6%2BbY2OGeSw7Liju7dL%2Fi3WUDzoFWmrPrJjuOPPZKuoTb7o98J%2BQljm8DRlobQtsCHfijgqGSbxCAJbxMOwhLet8kbD19W0SNVH5z5%2BIunITU%2BXbkoFPaGiPrm4nqVjSjbKECB8O1EzbQWmo4yySLq8Ke3ww8aq0oXjNzUJTXDWkP7akpy877OthZH8sKLOcwPqExUVzin7lxhGl2cMZCW92h8N23lMPlhmNcbIa%2Bw9nRRAU2ApjRI2n2k97Ei2jX2uSvkbrFUkwwqhlN7UU0JnNZRY4dStPvpWJrWfe8KMLiAKBuz9Iu1Fw8cWQ7FoXyOJv6dN4JDNUHMpfhGzIQVwB7LuuziGlgmYtqR5Y1vBEYAzjypUiyRu5WRiBkmgIb07CpPbBfCuQhJwDzxPdFsew5RFUL%2BeEZYUMDTXcj5i8klgzL7qQ1qGWETqmiM0Py%2B1oZu7vqfBkoXI%2FFd6PJA9D5V6sXNHEJPtp%2BwkwBC7LOHNimgX8ny4hOqu%2F60IGXqKPKVIpWQHdg2XocF7sW41mhDO4AOdztclvodBWKVCY5AFad3kWPBuVKZiqDr0bFVFh6B%2F5oE%2FgU3nAKGdNz%2BRmVE%2BLAvNR%2BiyhCas73wc1W%2BlcVJebiGgL9ZViPcTmkeOlfGaGZ3btbvud2OguIljMpjPT6qvjPuNbpaMR4g7ZxPcf1VvmNBDpBqXlBEbO8js6V2XXlugvtDVpOnzufhailtvfOBfOX3JcoaDTuEGlgV6vqnkn7YF4sUTUiraVbaD864c6rM6XRT3q6J5inWWX%2B%2F5yypuRjkyfXXNOBChG%2F9H4tZXJvtv674MxYLvPyxeA5qZPMcc3HOHylMPeRnnRk6NTKMmr%2Bpxe9Ptkm5GmIaGcSRlIDG%2FPzOMVTzb%2BnHb%2B1CWEVAA7iLZVUv9zaDKoNghsVP%2B2pPae7yHnGbR4vkWrbkbb%2B%2F8156l27eqP2TNKbHBcLYiTawuCUmvgxNw3WYtIZg64s8q5ttD9u6TcGfJTRyNMcfdkJfookOXle2D4pUFvrt%2Fe%2BiVlKsHvRMlgDimKl005rx8ALku7LwBlJrgt0ELgHP94r7LB%2BKb%2B2N2JewqfuE25Q0tnj4TwAZxfVyovHFWV7SnXtW07TUwQWseA0flL4qb60BMXzzl6zy8MqRT%2FP6AyFYxtJwb6Cgzz4c20k0aS36ytRcMoZu3ICErHT8ij%2FPN8QF2Fx0JZPmDQDx85%2Bjf5XPXWdTnZ7As3c9d0jiRicwLhb8XFPkL2NrG21TK82pUuY36p9SZu%2BFAFkl6XeY%2BU7vX%2BHqWKW3ZPygthCYIh8T0uWhhoZVWfqyBUFB0WFXd%2BmgHxw%2FeQartxH59vYcYr4W6mcXCbAxj4LqWNOHWk3%2FagP4dpBbgkRirybzxXldujJQ%2Bu%2FlViuTH1nSH4jhbMO1iwze2jO69i613q7Uevd8MSMNa2Djha9JTerykmXnTQDKcE1QdZfXbBij%2FSMQF%2F8IubLWswXs0YEuCvRn8qIJwCkTClMIP1RRTuSf1vPzJxibhocpj0W8RmCyBeEdAmTNKkU0%2BKa8Mo1zI6pO1AynS54uOWjQifueeADe1Q%2FAzJA034iOXDuuTfh0kWVd4Tq9ZZKOtghXIaDn2TYk96uhVJ0%2BHcJ%2BW34fxUutOFsj561b6YsVdeQgkzYlwXY8i%2BvNDN0egXDTIUCBNOTCKugZ4yJS8ZwasNJBDBo7NysmnWbnE8mYLAmF69fnuC32Y1RppciUn7mdO92AMXol%2FUW4UB7S%2BcEp8D0uPwB%2B6lbUP1Z4YzTXq5F3Bo5TVupTnRdpIzBeZSrlY4sSdLxGpK1kWkGwlDSrplxOHenDhVXkqRW66uV5urpRwT%2F6c%2Fkcx%2F%2B4GeKK9usW6MLdcMTy%2FEAM5%2F8LiT4Mbpgi0ioSNO6Evh2V6Bw58%2F5R08Ma4o1XCCzai6NVMv0Q%2FB6AjMxmQD1fcutWVof4I4FBPk8MstgI0e%2BkfMkNv3WEyCV%2BCme9%2FHCo3f2crpurC7f0RhNszaZVs2kodUWWzJPa9Qmk6NA81SHf6c5IY3j%2BgbaNuv9IIcQivhajyH1FNWnRTO6e%2Fe3LFgenhucJdhYqPrRACtTff%2BdtlWAfxyFxteU8tcn9uXQzaIgkRBpHmFuxF78NHYM1rLsGcIqVnlkrHQAmzxrWmLDpOE7Tke1v1YWh2mfr771IGWAPirPyQfY3YQeedia0OTQ5LYQj7LnQz6TzH0OJllYA4isj9N6yE0IOri8Hh1xKWTE2EUbnL7%2B5Qsqgh0yaIfniXnbIw9J6QKffCgN94jf84HTfx2oNxx4dMmf1PzpPEZc6mOmj%2F2eHAqk8cn6pUmH3oiQVmR5wfSwUxW3bwNsn68fHgLd4vbVVsjKRlmjB%2F8ceYt5NtXiJlfZe4LyFawkKXLjfvzxN9nluz5pB0I2PwNoTxQ%2BOsjiXm8%2FwKj%2FAN5i4lYhQmmvRaiNnm11QttEiYlrOpOsW2z4pWg%2BGK7BXyaTWoLZxUlhrEjP6CKzIcOz5HL8QO6D%2F6vX2arZbMDuIqw1%2BxynauC75wIWG7Z90S5IjRNE3PJ%2BJ%2FKVkI1vVKC0NFN8w65mNtgI672zssqbiVFN%2Bsc%2BRwUgB6uwwmHiwH%2BHElXUos2Re%2BoWBUQHBZcPPD%2FqyOhzw1DfyTVS56pl8c7HUrdLYZGoQ3PlF2RyZBmHJHi%2FaIQI4%2F5LuPhfiZ0ymJrp5IodvPV9qe%2FtpBsQ65rVFXcgbcg2tAaurW%2F3rEHs2duI2diJ55uPQWpeOYjJMv%2FQutNws9uHBSR5tK766AxTzO2DxgMmsrE6EXtgGz%2F7byeHTuStKjBb6%2FjcR1l5uEBSR%2BqxxRTGvtJXzW2cubFzlcaZWNBXDfLnkuNJFZOvf%2FNfRLhKC0yw5Lv7EOLTe7kngvM1HF3gUyMAwfZYLZJN5DUfHvmDUJW99gBUB61hvS9KCPWz931%2BPdP0Q0G%2BGnLuG8h%2BHYdcgq5aEwbNPVl4W9%2FpjatXThQm5Bvk4Egnml9k%2BKi4lV9G4D6CXKIBSQ%2BStbnItTzf6fzHMh2IzqDR22OCJcPuOCDxEeqlT4gFxKzl%2Bf4B78sPgNIc9AarBGzEk%2FGkYWFTXU7gk4zRsR11Rr0Xv7%2BaDVkLgr7GaIhIws2Yn4jvd9iDPZwI5mRHaF%2FA6czcIkTJHgREZ8S8UWJDdB%2BRY8vU5IIWZbhYPGafgpcDxFmYyRJ5i6TQv18wdXetePHtbMkKBYbvgadB80weALzrnLlF5RHfTd1KYAqwA5PG%2BqtUa2cSN%2FFm0iFclCCjnzKkmlOXeDyfokLC6K6qWlNzE3d%2BdT7K7w%2FLbUBq0xhW5B%2Bjb4sIegnNunGLoOs%2F5bItKG%2Fl2NpA5TPchs4LClQtVOEfFHoa7gEWixBvpZ5xS93go85qjr%2BaOebLZPRX7tEeqAN6EtsGdS35BYpDQzFITi90NtkPbbRwtee6e41G24%2BoguDkylSo579vsJGFjiVNRC%2BocYCZXPFbz6vkDRiPDJonoq6hkBlCKT%2FuKWXmDhrjsR1HULZnLfcoYbT9E7aFdvrgQeJJbcUnW7uiMDBQ7mLEuHTzwHdzdH3ssXrgBl7QiD4k9K31hfU5GtQkHTtlHkba2gsnAXD6gqfgDqfZPtBZ6wn7cnzRKrTVNIOJQ2f1R25fBLwPtw%2Fi775Tn5ZJx5oKHbPV%2BM2dRuk4E5kN6DxQIv2H3w0WilQtOgKz%2B4Ie36lA%2Bv9kL8M56tpc%2B9dwprg39T0VrVyjRMW%2FSBBbmIqBLzfrsMzFukg6%2FPo2f0k5nvQc7BE7%2FaqdtliY2u06O3G1uDFKTUwH26Ojp9mBIRgorfR87UEg%2BX2l0Jt2kZHby63hafA2n%2F9v69v24kmzlSbHDcFvhyH%2FImS7yxrDtWDb5qnNyoKY2OTVCrgLxItemrfia6uEoSjdlRAv%2BksHlTKplXNejkS5zfHxbQAO%2BVDi4TbJd3bDwPdsi5yGzOuBKAGtl%2Fb3zZuVmpAwMSlyjK8J4Ltdm3Hc%2FYNAAMCeJGHSLu0VGXly6Z7bwbrctOGy4nSld4rJ9VLv7sIdGqJNzz0Ep9M2zpOfOkXB%2BD5oQE8qGqEuRRuKhFtnnE43x6qEr%2FFLoV%2BV3zWuv%2BgxdOZi5vr%2FhtXuqD9B%2FZEpXov9GTjL2lqM2mz3c1N2oxw709S8HAlR%2Fj7xSesY7Jd8Ph2eG4uCSEmHukop9DrrbKiq0tLtBQ6l2TqmsWsWsmdxIpM49zZCxF5lK%2BkSUeaZ5PwfqIEq1%2BSpyyKBRUTyj%2BV4h%2FDUKBYgIQKqgyi2LhLbPW16g7AxyJ73xPPU6FQ%2BkAN9KGh4uK0iib8grmMx97oJFEmvCbqsKDfBH%2FwSQD8SamgvaAaz0ilWbGoIHWGxf%2FBEp%2F0vJIbdf3MnIx9v0UJ%2FnLO4Gm6zwPrFsstWtBIrWmQXbAZI1ksjmZmCKXcCE7o0DjPIY4zxsdV3zLQ4Aq9pVVt6AIiyR3NkYMJg8nDzPHy1CNzxGF5fUqe%2BJPiCd97R%2Bvit%2FQIRKNleeT%2B%2FIwZtJMfoQqKlc3J1ToBaDHLPXAZGKRWgOrwyTqakJ9h64%2Fo4n%2F5hdUCRXQW8Qu0TNk%2BUsovQ86Hc6giCVE8zmKLNVPiog5WW2%2Fmhjq4wyJDzICCuycAJXlMiGRjeeJQTznmmtrIy15uuUACD0bmz6RPKP%2BjawP4cp6U2yP7QrCI8DrzjTksjKPqFI0%2BjVW9pIixUBhA0iQAfJQFYfUFLWpV1LHmPaK9YdgDB2NFUgCUpxkORkVcbQU8rGK0smCYdyfCHEwIm8N5VlvLmQoElnzwt8ju5V9aMvxtorQoi9iU%2FYn3%2BoJaJXk2GauT5wf2jO628a5Bp5I1QyadFr0fUcYhXSt%2Bl1LzFe0veCjw27ym3x6nsBVoN2tuNzCVxzNkNsv2%2FzC2piG3m%2Bab57pBVr9yBHiPfdnAsbIoASxkOO8P6UoajuZtIWu3MGrXqj8mAg9GCr7M4Y0EOQDokU6NilwUlYtjgnL3bxO3UNrPupsFvCcxTuhORIeh9wzR3GWMNbWPQU2vCyYsPgZf21U3aI76LPdFcMNk2Dwvg%2F3FuasL1DI%2B%2BMFvUGFt01TCd0y9kdLDgidP3PD9aZM4IK8xcfJWYBPuEfBNh9TxKErZWMcV4WXw924x0jaP9rvaTT6%2FO1AUuMXJO30NRa35Px%2BGOkBlyyqFAObAQxcY78ukfs3cfETD3XspT5XEam7jjK50hZMORd1aXe%2Bp3xZYo4oOGeT2IsBllxat1fWHGr%2B%2Fc5pNYYBN7eBzfDzmd6jBetABhq%2Fnc2IdNiQxgpXKpiBV%2FD2xy9fwQR98uABvQLpDUAlKP8tV9dwh2FYMAggkuFreKrnUA1LXPBcAQcIl0%2FaQaJqSCTh%2Bzr7U9Fiv%2Bfy6E8LoEoMqQILKfbuJvW2SfPEXBAslcmd%2Fsgi0VirholsnFj9q0M78j9ibdmx%2BUadq3PtcBJNGcYk0Qsxw11eY5Fol0xFj3dQDI2MzB%2BPDJ%2BinsMDKXeZPSinCmf8IovnznFBq6hCEK5IlPxsnpGpI27dqWW3vlCL9P8idV2AYvQIQJr%2BPGAyvBVtwy6iC0HJ0juMSapYorGK5PtsQfrXAEKeI7myQcqWp1jS4iOUYg0WckY72rYaoW9p%2BpjRtgzZKIE282oSSnBd2tOg39vFfNZAwFByd5nAXjM1kmgq5WydVpSVPTQlUCsD2jRT7KBv7dS%2FtdcYj4c%2Fn50vNmpL3W6oQTno%2Bm9L1sYQGpgjcb%2Bz3uWHpS11YISjdNGQcaL6foA%2Fjs%2FWBqca33gEuAcHaJV16FrNC9G1%2FbVt119dt0Qi4qaGwzC8f0UkPHPnhQKvvC%2BuydSP7KifRRGLUr7kqL8AouQNo0lQMwQeLmgkognlQVjuNMOXa0pde0xpnP5NZelN%2BjOxayu5Tdg0EX9bj1TFQ8BITNK1mTsCyHJzbbXxjJi7xfeGNkmviqabZRh%2FmO6MONtv4IkFyir1Dk%2BU1DYMtfDnBIrNv2OeLyq4JnrGnfPoiGMLvg2BVamKZ7PLOlicj1o4JvaWbrMITwmEY8b4y1hhRdijBsvDf2y6TAuKVOTjRuvlMQ%2FgvbfgDUZYu%2BnoOMpfNx5mAE1SUZS11Emc5sHYL1e%2Bmdtz9ydBX261vIIm5TC4vg8C1mI3Ye4Cn7CYsLjXiQNJTfMmiWg5ZMTmIBMscPhpRixxMYrSpNGhA2TcpuVMSGxhxeuIa0dLVe2FBQqysMFO4RIi2qoVtKZIr8RGKhB53zALXaKGz6VHZudHd5FS9LGYj0uBdYvJJ8hMxQV5B9fmETpRC4Vcd9wBYOFtC4m%2BdKO5O6HwWPHqboOGCw8cmbqkBN5qg5SNl3CkrjEfDT%2B7cI7exFk7aD8JGB7M%3D&__VIEWSTATEGENERATOR=3FEBCCBF&__SCROLLPOSITIONX=0&__SCROLLPOSITIONY=0&__VIEWSTATEENCRYPTED=&__EVENTVALIDATION=2zbbvcg7goH9rxf0QD2huQ0SNpuJJE4AsSqnZYNeHEUfUaitOw7xPZsLkTLF4BEqyb0hcbiH5VrprEAVIyAY8unK%2B5EeE%2BYq2OI4udXOBdnqdn%2BgMh%2BgsneZwisQgt3ov5oqbO3oIyddHORyB7S5Gr%2Bv22J4F%2FpXzNUH4%2BCER8O2hq0sS92ZGi7MWwm%2BKsc%2BmToMAg7NqiEDAXYeAQOeetRU344vfVpudJ6oQC3CO%2FxA4l6yvDQxZqdBbVmv%2FrLdxVD9Qd9v83McoaPxnA0xizyOyI9KkPxnCYLJ%2F2aD3k7mfYT03iRWyKI3rrtkLvhtFYn3czaHNtdWRMg5WfxJvWqA4kGPsNbPWR9NzqAdRBH%2FouIX%2FCY34nSQhWTFtgdM7mEoAiycYny5JeNCt1f00LcYPZ6zomnwiUUXipEPYoAUcNot842XNkanTf51%2BnW8Xj96XktP1O3Xi3IRbrJRMVQ7%2B5JjorDsNRGyW9nJybRUB%2FlPhktk0zrt4a0kf1f3tEHZaxq3ctl4ZnKblzhSTOWEd4TUDSlz%2F1Dlp%2FGmWuyuu3lOjvZZFYiEszSWKUfIfvajuqVNtr%2BMGrKQwJXvXz1UeJseLlmUWwfh4y6Oee5K%2FG%2FUxBmnmCFvt3ByWP256eOc6fx2KwdHCteHFz0hTTf4v%2F5WJQOEsA8AJwq8tAp%2BF52FLjUsptLe6Xp6Rs2inkikrhLGUmdi3dQtNgAVy2njvHRt7drzBAPpyg9U1ttRL1NmHN81%2BWhruy9aPNQZuHGJrcD1Mo4%2FIwOIwnpEfV4jJ3u3OueKMUguQvkE%2FiPegqmV%2FcaQqVgbcsL7cMWYzuiczS29L6H9w%2BJyaAR4OdD6cga24Leh2bad14TN7hd0KXKVVYrlHzuj7%2FPpDRLOnrDobymIYxVVS3dlsqxEER0JVCVKoubq6j4KxVFQg9uEv0tqzhQIN9moMs0unLORheGCcrTNhjiBUvOPVqK5iHSSk2rwEVrqLrKbDHbY8V9CyGWKpDx4Ym6n3PBGyMY9j%2BsxRw28UXs8ZqX5Vsq44tL09YjGZJ%2Bn1yEIErVAQ6V%2B6eLC8IDqg1CD%2BnLZJHgALTI7fwTRijPZ%2BhjVckA%2Bgw%3D%3D&__ASYNCPOST=true& @@ -1,4 +1,7 @@ -const https = require("https"); const parse = require("./parse.js"); const fs = require("fs"); const events = require("events"); +const https = require("https"); +const parse = require("./DBPARSE.js"); +const fs = require("fs"); +const events = require("events"); async function urlOpen(path) { @@ -22,7 +25,7 @@ async function scrapeFood(url) data = data.toString("utf-8"); let foodList = []; - const weekdays = ["su", "ma", "ti", "ke", "to", "pe", "la"]; + const weekdays = ["ma", "ti", "ke", "to", "pe", "la", "su"]; let titleTags = ["<title>", "</title>"]; let foodTags = ["<![CDATA[", "]]>"]; @@ -49,7 +52,7 @@ async function scrapeFood(url) let weekdayIndex = weekdays.findIndex(val => { return val === title.substring(0, 2); }); if (weekdayIndex !== -1) - foodList[weekdayIndex] = [title, food]; + foodList[weekdayIndex] = [title, neatify(food)]; titleSpan = getSpan(data, titleTags, foodSpan[1]); foodSpan = getSpan(data, foodTags, titleSpan[1]); @@ -63,5 +66,10 @@ function getFoodLink(week) return `https://eruokalista.lohja.fi/AromieMenus/FI/Default/Lohja/Koulut/Rss.aspx?Id=97f76449-f57c-4217-aede-b5f9dbf2b41e&DateMode=${week}`; } +function neatify(food) +{ + return food.replaceAll(")", ")<br>").replaceAll(" :", ":").replaceAll(":", ":<br>"); +} + exports.food = scrapeFood; exports.link = getFoodLink; @@ -1,43 +1,49 @@ -//const http = require("http"); + +const http = require("http"); const https = require("https"); const fs = require("fs"); const url = require("url"); -const parse = require("./parse.js"); const scrape = require("./scrape.js"); +const SQL_DBS = require("./database.js"); +const DBPARSE = require("./dbparse.js"); +const openFile = require("./open.js").file; +const updateDB = require("./update.js"); async function init() { - const weekdays = [undefined, "MAANANTAI", "TIISTAI", "KESKIVIIKKO", "TORSTAI", "PERJANTAI", undefined]; - const build = { - "./index.html": buildMain, - "./index.css": buildDefault, - "./404/index.css": buildDefault + "./Cont/index.html": buildMain, + "./Cont/index.css": buildDefault, + "./Cont/devs/index.html": buildDevs, + "./Cont/devs/index.css": buildDefault, + "./Cont/404/index.css": buildDefault, + "./Cont/non-main.css": buildDefault, + "./Cont/Images/help.png": buildImage, + "./Cont/Images/back.png": buildImage }; - const errorPath = "./404/index.html"; + const errorPath = "./Cont/404/index.html"; + + const startDate = new Date(); + let visitorCount = 0; // await for needed things in async - let [shiftCont, classCont, foodsThisWeek, foodsNextWeek/*, httpsKey, httpsCert*/] = await Promise.all([ - openFile("./shifts.txt"), - openFile("./classes.txt"), + let [foodsThisWeek, foodsNextWeek, dbcredentials, httpsKey, httpsCert] = await Promise.all([ scrape.food(scrape.link(1)), scrape.food(scrape.link(2)), - //openFile("../Certificate/key.pem"), - //openFile("../Certificate/cert.pem") + openFile("../dblogin.txt"), + openFile("../Certificate/key.pem"), + openFile("../Certificate/cert.pem") ]); - - // https options, you need to get a certificate in the file ../Certificate for the server to work + + // https options, you need to get a certificate in the file ../Certificate for the server to work const httpsOpts = { - key: fs.readFileSync("../Certificate/key.pem"),//httpsKey, - cert: fs.readFileSync("../Certificate/cert.pem")//httpsCert + key: httpsKey, + cert: httpsCert }; - - // get the food shift "database" - shiftCont = shiftCont.toString("utf-8").replaceAll("\r", ""); // \r because of the \r\n newline on windows which creates problems - classCont = classCont.toString("utf-8").replaceAll("\r", ""); - let DB = parse.build(shiftCont); - parse.classes(classCont, DB); + + // get the MySQL DB connection + const SQLDB = new SQL_DBS.Database(JSON.parse(dbcredentials)); // get the food "database" const foods = [foodsThisWeek, foodsNextWeek]; @@ -45,56 +51,105 @@ async function init() // server code async function server(req, res) { + // Lightweight analytics. Don't be evil. We just want to know if anyone uses this. + visitorCount++; + + // validate inputs let q = url.parse(req.url, true); - let path = "." + q.pathname; - if (path == "./") - path = "./index.html"; + let ind = q.query.index; + if (typeof ind === "string") + ind = validateIndex(q.query.index.substring(0, 20)); + else + ind = ""; + let d = q.query.day; + if (typeof d === "string") + d = antiXSS(d); + else + d = ""; + q.query = { + index: ind, + day: d + }; + let path = "./Cont" + antiXSS(q.pathname); + if (isDir(path)) + path += ["/index.html", "index.html"][+(path[path.length - 1] === "/")]; + // pack the data required by the builders let data; const args = { "path": path, + "path404": errorPath, "query": q.query, - "db": DB, - "foods": foods + "foods": foods, + "sqldb": SQLDB }; - if (typeof build[path] === "function") - data = await build[path](args); - else - data = await build404(errorPath, q.pathname); - + // build the page + const buildFound = +(typeof build[path] === "function"); + res.writeHead([404, 200][buildFound]); + data = await [build404, build[path]][buildFound](args); res.write(data); res.end(); } // start server - https.createServer(httpsOpts, server).listen(8080); + const runningServer = http.createServer(server).listen(8080); + + // stop server + async function closeServer() { + const uptime = ((new Date()).getTime() - startDate.getTime()) / 1000; + console.log(`Stats:\nServer uptime: ${uptime} s\nVisitor count: ${visitorCount}\nVisitors per day: ${visitorCount / (uptime / (24 * 60 * 60))}\n\nShutting down...`); + await SQLDB.close(); + console.log("MySQL closed"); + runningServer.close(); + console.log("Server shut down"); + console.log("Process exiting..."); + process.exit(0); + } + process.on("SIGINT", closeServer); + process.on("SIGQUIT", closeServer); + process.on("SIGTERM", closeServer); } -function openFile(path) + + +function validateIndex(sus) +{ + return antiXSS(DBPARSE.cluttered(sus)); +} + +function antiXSS(sus) { - return new Promise((resolve, reject) => + if (!(typeof sus === "string")) + return ""; + return replace(sus, ["<", ">", "(", ")"], ["<", ">", "(", ")"]); +} + +function isDir(path) +{ + return (DBPARSE.getNextChar(path.substring(1), ".") === -1); +} + + +function replace(s, from, to) +{ + for (let i = 0; i < from.length; i++) { - fs.readFile(path, (err, data) => - { - if (err) - reject(err); - resolve(data); - }) - }); + s = s.replaceAll(from[i], to[i]); + } + return s; } + async function buildMain(args) { // get the passed arguments const path = args["path"]; const query = args["query"]; const foods = args["foods"]; - let index; - if (typeof query.index === "string") - index = parse.cluttered(query.index); - const DB = args["db"]; + const index = query.index; + const SQLDB = args["sqldb"]; const data = await openFile(path); let data_string = data.toString("utf-8"); @@ -104,10 +159,10 @@ async function buildMain(args) // get valid day const d = new Date(); let day = d.getDay(); - let actualDay = day; - day = +((day === 0) || (day === 6)) + (+(!(day === 0) && !(day === 6)) * day); // clamp the day between monday (1) and friday (5) (inclusive) - // make the day the passed day instead if the passed day is valid - if ((typeof query.day === "string") && (parseInt(query.day).toString() === query.day) && (!isNaN(parseInt(query.day))) && (parseInt(query.day) > 0) && (parseInt(query.day) < 6)) + day = (day + +(day === 0) * 7) - 1; + const actualDay = day; + day = +(!(day === 5) && !(day === 6)) * day; + if ((typeof query.day === "string") && (parseInt(query.day).toString() === query.day) && (!isNaN(parseInt(query.day))) && (parseInt(query.day) >= 0) && (parseInt(query.day) < 5)) day = parseInt(query.day); // set the day selected (must be done manually with this replacement system) data_string = data_string.replace(`<option value=\"${day}\">`, `<option value=\"${day}\" selected>`); @@ -123,21 +178,26 @@ async function buildMain(args) res["shift"] = ""; if (res["shift"] === undefined) { - let shift = parse.get(day, index, DB); - let key = Object.keys(shift)[0]; - if (key !== undefined) + let shift = await DBPARSE.get(day, index, SQLDB); + if (shift !== undefined) { - res["shift"] = key; - res["shift-header"] = `${shift[key][0]}/${shift[key][1]}`; - if (shift[key][2] !== undefined) - res["shift-header"] += `/${shift[key][2]}` - res["index-type"] = "Kurssin"; + res["shift"] = shift[0].name; + res["shift-header"] = ""; + for (let i = 0; i < shift[1].length; i++) + { + res["shift-header"] += `${shift[1][i].course}/${shift[1][i].teacher}`; + if (shift[1][i].class !== null) + res["shift-header"] += `/${shift[1][i].class}` + if (i + 1 !== shift[1].length) + res["shift-header"] += " ja "; + } + res["index-type"] = ["Kurssin", "Kurssien"][+(shift[1].length > 1)]; } else { res["shift"] = -1; res["shift-header"] = `${index}`; - res["index-type"] = indexTypes[parse.indexType(index)]; + res["index-type"] = indexTypes[DBPARSE.indexType(index)]; if (res["index-type"] === undefined) res["index-type"] = ""; } @@ -145,8 +205,11 @@ async function buildMain(args) if (res["shift"] === -1) res["shift"] = "Kurssilla/opettajalla/luokalla ei ole ruokailua päivällä tai kurssia ei ole olemassa!"; + // get the example input + res["example-input"] = await DBPARSE.randomIndex(day, SQLDB); + // get the day - let weekdays = ["su", "ma", "ti", "ke", "to", "pe", "la"]; + let weekdays = ["ma", "ti", "ke", "to", "pe", "la", "su"]; res["day"] = weekdays[day]; if (res["shift"] === "") data_string = data_string.replace('<div id="shift-result" class="float-block">', '<div id="shift-result" class="float-block" style="display: none;">'); @@ -155,7 +218,7 @@ async function buildMain(args) day += (day === 0) * 7; actualDay += (actualDay === 0) * 7; let food; - food = foods[ +(day < actualDay) ][day]; // test this out more + food = foods[ +(day < actualDay) ][day]; if (food !== undefined) { res["food-header"] = food[0]; @@ -173,11 +236,34 @@ async function buildMain(args) return data_string; } -async function build404(path, attemptpath) +async function buildDevs(args) { + const path = args["path"]; const data = await openFile(path); + const DB = args["sqldb"]; + + let res = ""; + let devs = await DB.query_raw("SELECT name, description, contact FROM devs"); + for (let dev = 0; dev < devs.length; dev++) + { + let devInfo = devs[dev]; + res += '<div class="float-block">' + + `<p class="column">${devInfo.name}</p>` + + `<p class="column">${devInfo.description}</p>` + + `<a href="mailto:${devInfo.contact}" class="column" style="white-space: nowrap; overflow: hidden; overflow-wrap: normal; text-overflow: ellipsis;">${devInfo.contact}</a>` + + '</div>'; + } + + return build_replace(data.toString("utf-8"), {"devs": res}); +} + + +async function build404(args) +{ + args["path"] = args["path"].substring("./Cont".length); + const data = await openFile(args["path404"]); const data_string = data.toString("utf-8"); - return data_string.replace("\\(path\\)", attemptpath); + return data_string.replace("\\(path\\)", args["path"]); } async function buildDefault(args) @@ -187,6 +273,13 @@ async function buildDefault(args) return data.toString("utf-8"); } +async function buildImage(args) +{ + const path = args["path"]; + const data = await openFile(path); + return data; +} + function build_replace(s, dict) { @@ -198,5 +291,4 @@ function build_replace(s, dict) return s; } - init(); diff --git a/update.js b/update.js new file mode 100644 index 0000000..9262ff7 --- /dev/null +++ b/update.js @@ -0,0 +1,21 @@ +const database = require("./database.js"); +const openFile = require("./open.js").file; +const parseClasses = require("./parseClasses.js").classes; +const parse = require("./dbparse.js"); + +// Run this if you want to build the database from text files +async function buildDB(shiftfile = "./shifts.txt", classfile = "./classes.txt", dbcredentials) +{ + let shiftCont = await openFile(shiftfile); + const DB = new database.Database(JSON.parse(dbcredentials)); + shiftCont = shiftCont.toString("utf-8").replaceAll("\r", ""); // \r because of the \r\n newline on windows which creates problems + await Promise.all([ + parseClasses(classfile[0], classfile[1], DB), + parse.build(shiftCont, DB) + ]); + return 0; +} + +exports.update = buildDB; +// Example call: +// await updateDB.update("./shifts.txt", ["./Kurssitarjottimet/2016Classes.txt", "./Kurssitarjottimet/NewClasses.txt"], dbcredentials);
\ No newline at end of file |