mirror of
https://github.com/zhiayang/mikoto.git
synced 2024-11-23 21:54:40 +00:00
4346 lines
419 KiB
HTML
4346 lines
419 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Interactive BOM for KiCAD</title>
|
|
<style type="text/css">
|
|
:root {
|
|
--pcb-edge-color: black;
|
|
--pad-color: #878787;
|
|
--pad-hole-color: #CCCCCC;
|
|
--pad-color-highlight: #D04040;
|
|
--pad-color-highlight-both: #D0D040;
|
|
--pad-color-highlight-marked: #44a344;
|
|
--pin1-outline-color: #ffb629;
|
|
--pin1-outline-color-highlight: #ffb629;
|
|
--pin1-outline-color-highlight-both: #fcbb39;
|
|
--pin1-outline-color-highlight-marked: #fdbe41;
|
|
--silkscreen-edge-color: #aa4;
|
|
--silkscreen-polygon-color: #4aa;
|
|
--silkscreen-text-color: #4aa;
|
|
--fabrication-edge-color: #907651;
|
|
--fabrication-polygon-color: #907651;
|
|
--fabrication-text-color: #a27c24;
|
|
--track-color: #def5f1;
|
|
--track-color-highlight: #D04040;
|
|
--zone-color: #def5f1;
|
|
--zone-color-highlight: #d0404080;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
margin: 0px;
|
|
height: 100%;
|
|
font-family: Verdana, sans-serif;
|
|
}
|
|
|
|
.dark.topmostdiv {
|
|
--pcb-edge-color: #eee;
|
|
--pad-color: #808080;
|
|
--pin1-outline-color: #ffa800;
|
|
--pin1-outline-color-highlight: #ccff00;
|
|
--track-color: #42524f;
|
|
--zone-color: #42524f;
|
|
background-color: #252c30;
|
|
color: #eee;
|
|
}
|
|
|
|
button {
|
|
background-color: #eee;
|
|
border: 1px solid #888;
|
|
color: black;
|
|
height: 44px;
|
|
width: 44px;
|
|
text-align: center;
|
|
text-decoration: none;
|
|
display: inline-block;
|
|
font-size: 14px;
|
|
font-weight: bolder;
|
|
}
|
|
|
|
.dark button {
|
|
/* This will be inverted */
|
|
background-color: #c3b7b5;
|
|
}
|
|
|
|
button.depressed {
|
|
background-color: #0a0;
|
|
color: white;
|
|
}
|
|
|
|
.dark button.depressed {
|
|
/* This will be inverted */
|
|
background-color: #b3b;
|
|
}
|
|
|
|
button:focus {
|
|
outline: 0;
|
|
}
|
|
|
|
button#tb-btn {
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.32 290.12h5.82M1.32 291.45h5.82' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 292.5v4.23M.26 292.63H8.2' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='1.35' y='295.73'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
|
|
}
|
|
|
|
button#lr-btn {
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.06 290.12H3.7m-2.64 1.33H3.7m-2.64 1.32H3.7m-2.64 1.3H3.7m-2.64 1.33H3.7' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 288.8v7.94m0-4.11h3.96' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='5.11' y='291.96'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
|
|
}
|
|
|
|
button#bom-btn {
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)' fill='none' stroke='%23000' stroke-width='.4'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' stroke-linejoin='round'/%3E%3Cpath d='M1.59 290.12h5.29M1.59 291.45h5.33M1.59 292.75h5.33M1.59 294.09h5.33M1.59 295.41h5.33'/%3E%3C/g%3E%3C/svg%3E");
|
|
}
|
|
|
|
button#bom-grouped-btn {
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m4 0h5m4 0h3M6.1 22h3m3.9 0h5m4 0h4m-16-8h4m4 0h4'/%3E%3Cpath stroke-linecap='null' d='M5 17.5h22M5 26.6h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
|
|
}
|
|
|
|
button#bom-ungrouped-btn {
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m-4 8h3m-3 8h4'/%3E%3Cpath stroke-linecap='null' d='M5 13.5h22m-22 8h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
|
|
}
|
|
|
|
button#bom-netlist-btn {
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke='%23000' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-width='2' d='M6 26l6-6v-8m13.8-6.3l-6 6v8'/%3E%3Ccircle cx='11.8' cy='9.5' r='2.8' stroke-width='2'/%3E%3Ccircle cx='19.8' cy='22.8' r='2.8' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
|
|
}
|
|
|
|
button#copy {
|
|
background-image: url("data:image/svg+xml,%3Csvg height='48' viewBox='0 0 48 48' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath d='M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z'/%3E%3C/svg%3E");
|
|
background-position: 6px 6px;
|
|
background-repeat: no-repeat;
|
|
background-size: 26px 26px;
|
|
border-radius: 6px;
|
|
height: 40px;
|
|
width: 40px;
|
|
margin: 10px 5px;
|
|
}
|
|
|
|
button#copy:active {
|
|
box-shadow: inset 0px 0px 5px #6c6c6c;
|
|
}
|
|
|
|
textarea.clipboard-temp {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 2em;
|
|
height: 2em;
|
|
padding: 0;
|
|
border: None;
|
|
outline: None;
|
|
box-shadow: None;
|
|
background: transparent;
|
|
}
|
|
|
|
.left-most-button {
|
|
border-right: 0;
|
|
border-top-left-radius: 6px;
|
|
border-bottom-left-radius: 6px;
|
|
}
|
|
|
|
.middle-button {
|
|
border-right: 0;
|
|
}
|
|
|
|
.right-most-button {
|
|
border-top-right-radius: 6px;
|
|
border-bottom-right-radius: 6px;
|
|
}
|
|
|
|
.button-container {
|
|
font-size: 0;
|
|
margin: 10px 10px 10px 0px;
|
|
}
|
|
|
|
.dark .button-container {
|
|
filter: invert(1);
|
|
}
|
|
|
|
.button-container button {
|
|
background-size: 32px 32px;
|
|
background-position: 5px 5px;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
@media print {
|
|
.hideonprint {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
canvas {
|
|
cursor: crosshair;
|
|
}
|
|
|
|
canvas:active {
|
|
cursor: grabbing;
|
|
}
|
|
|
|
.fileinfo {
|
|
width: 100%;
|
|
max-width: 1000px;
|
|
border: none;
|
|
padding: 5px;
|
|
}
|
|
|
|
.fileinfo .title {
|
|
font-size: 20pt;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.fileinfo td {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
max-width: 1px;
|
|
width: 50%;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.bom {
|
|
border-collapse: collapse;
|
|
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
|
|
font-size: 10pt;
|
|
table-layout: fixed;
|
|
width: 100%;
|
|
margin-top: 1px;
|
|
position: relative;
|
|
}
|
|
|
|
.bom th,
|
|
.bom td {
|
|
border: 1px solid black;
|
|
padding: 5px;
|
|
word-wrap: break-word;
|
|
text-align: center;
|
|
position: relative;
|
|
}
|
|
|
|
.dark .bom th,
|
|
.dark .bom td {
|
|
border: 1px solid #777;
|
|
}
|
|
|
|
.bom th {
|
|
background-color: #CCCCCC;
|
|
background-clip: padding-box;
|
|
}
|
|
|
|
.dark .bom th {
|
|
background-color: #3b4749;
|
|
}
|
|
|
|
.bom tr.highlighted:nth-child(n) {
|
|
background-color: #cfc;
|
|
}
|
|
|
|
.dark .bom tr.highlighted:nth-child(n) {
|
|
background-color: #226022;
|
|
}
|
|
|
|
.bom tr:nth-child(even) {
|
|
background-color: #f2f2f2;
|
|
}
|
|
|
|
.dark .bom tr:nth-child(even) {
|
|
background-color: #313b40;
|
|
}
|
|
|
|
.bom tr.checked {
|
|
color: #1cb53d;
|
|
}
|
|
|
|
.dark .bom tr.checked {
|
|
color: #2cce54;
|
|
}
|
|
|
|
.bom tr {
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.bom .numCol {
|
|
width: 30px;
|
|
}
|
|
|
|
.bom .value {
|
|
width: 15%;
|
|
}
|
|
|
|
.bom .quantity {
|
|
width: 65px;
|
|
}
|
|
|
|
.bom th .sortmark {
|
|
position: absolute;
|
|
right: 1px;
|
|
top: 1px;
|
|
margin-top: -5px;
|
|
border-width: 5px;
|
|
border-style: solid;
|
|
border-color: transparent transparent #221 transparent;
|
|
transform-origin: 50% 85%;
|
|
transition: opacity 0.2s, transform 0.4s;
|
|
}
|
|
|
|
.dark .bom th .sortmark {
|
|
filter: invert(1);
|
|
}
|
|
|
|
.bom th .sortmark.none {
|
|
opacity: 0;
|
|
}
|
|
|
|
.bom th .sortmark.desc {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.bom th:hover .sortmark.none {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.bom .bom-checkbox {
|
|
width: 30px;
|
|
position: relative;
|
|
user-select: none;
|
|
-moz-user-select: none;
|
|
}
|
|
|
|
.bom .bom-checkbox:before {
|
|
content: "";
|
|
position: absolute;
|
|
border-width: 15px;
|
|
border-style: solid;
|
|
border-color: #51829f transparent transparent transparent;
|
|
visibility: hidden;
|
|
top: -15px;
|
|
}
|
|
|
|
.bom .bom-checkbox:after {
|
|
content: "Double click to set/unset all";
|
|
position: absolute;
|
|
color: white;
|
|
top: -35px;
|
|
left: -26px;
|
|
background: #51829f;
|
|
padding: 5px 15px;
|
|
border-radius: 8px;
|
|
white-space: nowrap;
|
|
visibility: hidden;
|
|
}
|
|
|
|
.bom .bom-checkbox:hover:before,
|
|
.bom .bom-checkbox:hover:after {
|
|
visibility: visible;
|
|
transition: visibility 0.2s linear 1s;
|
|
}
|
|
|
|
.split {
|
|
-webkit-box-sizing: border-box;
|
|
-moz-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
background-color: inherit;
|
|
}
|
|
|
|
.split.split-horizontal,
|
|
.gutter.gutter-horizontal {
|
|
height: 100%;
|
|
float: left;
|
|
}
|
|
|
|
.gutter {
|
|
background-color: #ddd;
|
|
background-repeat: no-repeat;
|
|
background-position: 50%;
|
|
transition: background-color 0.3s;
|
|
}
|
|
|
|
.dark .gutter {
|
|
background-color: #777;
|
|
}
|
|
|
|
.gutter.gutter-horizontal {
|
|
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
|
|
cursor: ew-resize;
|
|
width: 5px;
|
|
}
|
|
|
|
.gutter.gutter-vertical {
|
|
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');
|
|
cursor: ns-resize;
|
|
height: 5px;
|
|
}
|
|
|
|
.searchbox {
|
|
float: left;
|
|
height: 40px;
|
|
margin: 10px 5px;
|
|
padding: 12px 32px;
|
|
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
|
|
font-size: 18px;
|
|
box-sizing: border-box;
|
|
border: 1px solid #888;
|
|
border-radius: 6px;
|
|
outline: none;
|
|
background-color: #eee;
|
|
transition: background-color 0.2s, border 0.2s;
|
|
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4T8XSMUvDQBQH8P/LElFa/AIZHcTBQSz0I/gFstTBRR2KUC4ldDxw7h0Bl3RRUATxi4iiODgoiLNrbQYp5J6cpJJqomkX33Z37/14d/dIa33MzDuYI4johOI4XhyNRteO46zNYjDzAxE1yBZprVeZ+QbAUhXEGJMA2Ox2u4+fQIa0mPmsCgCgJYQ4t7lfgF0opQYAdv9ABkKI/UnOFCClXKjX61cA1osQY8x9kiRNKeV7IWA3oyhaSdP0FkAtjxhj3hzH2RBCPOf3pzqYHCilfAAX+URm9oMguPzeWSGQvUcMYC8rOBJCHBRdqxTo9/vbRHRqi8bj8XKv1xvODbiuW2u32/bvf0SlDv4XYOY7z/Mavu+nM1+BmQ+NMc0wDF/LprP0DbTWW0T00ul0nn4b7Q87+X4Qmfiq2wAAAABJRU5ErkJggg==');
|
|
background-position: 10px 10px;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.dark .searchbox {
|
|
background-color: #111;
|
|
color: #eee;
|
|
}
|
|
|
|
.searchbox::placeholder {
|
|
color: #ccc;
|
|
}
|
|
|
|
.dark .searchbox::placeholder {
|
|
color: #666;
|
|
}
|
|
|
|
.filter {
|
|
width: calc(60% - 64px);
|
|
}
|
|
|
|
.reflookup {
|
|
width: calc(40% - 10px);
|
|
}
|
|
|
|
input[type=text]:focus {
|
|
background-color: white;
|
|
border: 1px solid #333;
|
|
}
|
|
|
|
.dark input[type=text]:focus {
|
|
background-color: #333;
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
mark.highlight {
|
|
background-color: #5050ff;
|
|
color: #fff;
|
|
padding: 2px;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.dark mark.highlight {
|
|
background-color: #76a6da;
|
|
color: #111;
|
|
}
|
|
|
|
.menubtn {
|
|
background-color: white;
|
|
border: none;
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A");
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.statsbtn {
|
|
background-color: white;
|
|
border: none;
|
|
background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6h28v24H4V6zm0 8h28v8H4m9-16v24h10V5.8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.iobtn {
|
|
background-color: white;
|
|
border: none;
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M3 33v-7l6.8-7h16.5l6.7 7v7H3zM3.2 26H33M21 9l5-5.9 5 6h-2.5V15h-5V9H21zm-4.9 0l-5 6-5-6h2.5V3h5v6h2.5z'/%3E%3Cpath fill='none' stroke='%23000' d='M6.1 29.5H10'/%3E%3C/svg%3E");
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.visbtn {
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='none' stroke='%23333' d='M2.5 4.5h5v15h-5zM9.5 4.5h5v15h-5zM16.5 4.5h5v15h-5z'/%3E%3C/svg%3E");
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
padding: 15px;
|
|
}
|
|
|
|
#vismenu-content {
|
|
left: 0px;
|
|
font-family: Verdana, sans-serif;
|
|
}
|
|
|
|
.dark .statsbtn,
|
|
.dark .savebtn,
|
|
.dark .menubtn,
|
|
.dark .iobtn,
|
|
.dark .visbtn {
|
|
filter: invert(1);
|
|
}
|
|
|
|
.flexbox {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
}
|
|
|
|
.savebtn {
|
|
background-color: #d6d6d6;
|
|
width: auto;
|
|
height: 30px;
|
|
flex-grow: 1;
|
|
margin: 5px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.savebtn:active {
|
|
background-color: #0a0;
|
|
color: white;
|
|
}
|
|
|
|
.dark .savebtn:active {
|
|
/* This will be inverted */
|
|
background-color: #b3b;
|
|
}
|
|
|
|
.stats {
|
|
border-collapse: collapse;
|
|
font-size: 12pt;
|
|
table-layout: fixed;
|
|
width: 100%;
|
|
min-width: 450px;
|
|
}
|
|
|
|
.dark .stats td {
|
|
border: 1px solid #bbb;
|
|
}
|
|
|
|
.stats td {
|
|
border: 1px solid black;
|
|
padding: 5px;
|
|
word-wrap: break-word;
|
|
text-align: center;
|
|
position: relative;
|
|
}
|
|
|
|
#checkbox-stats div {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
#checkbox-stats .bar {
|
|
background-color: rgba(28, 251, 0, 0.6);
|
|
}
|
|
|
|
.menu {
|
|
position: relative;
|
|
display: inline-block;
|
|
margin: 10px 10px 10px 0px;
|
|
}
|
|
|
|
.menu-content {
|
|
font-size: 12pt !important;
|
|
text-align: left !important;
|
|
font-weight: normal !important;
|
|
display: none;
|
|
position: absolute;
|
|
background-color: white;
|
|
right: 0;
|
|
min-width: 300px;
|
|
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
|
|
z-index: 100;
|
|
padding: 8px;
|
|
}
|
|
|
|
.dark .menu-content {
|
|
background-color: #111;
|
|
}
|
|
|
|
.menu:hover .menu-content {
|
|
display: block;
|
|
}
|
|
|
|
.menu:hover .menubtn,
|
|
.menu:hover .iobtn,
|
|
.menu:hover .statsbtn {
|
|
background-color: #eee;
|
|
}
|
|
|
|
.menu-label {
|
|
display: inline-block;
|
|
padding: 8px;
|
|
border: 1px solid #ccc;
|
|
border-top: 0;
|
|
width: calc(100% - 18px);
|
|
}
|
|
|
|
.menu-label-top {
|
|
border-top: 1px solid #ccc;
|
|
}
|
|
|
|
.menu-textbox {
|
|
float: left;
|
|
height: 24px;
|
|
margin: 10px 5px;
|
|
padding: 5px 5px;
|
|
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
|
|
font-size: 14px;
|
|
box-sizing: border-box;
|
|
border: 1px solid #888;
|
|
border-radius: 4px;
|
|
outline: none;
|
|
background-color: #eee;
|
|
transition: background-color 0.2s, border 0.2s;
|
|
width: calc(100% - 10px);
|
|
}
|
|
|
|
.menu-textbox.invalid,
|
|
.dark .menu-textbox.invalid {
|
|
color: red;
|
|
}
|
|
|
|
.dark .menu-textbox {
|
|
background-color: #222;
|
|
color: #eee;
|
|
}
|
|
|
|
.radio-container {
|
|
margin: 4px;
|
|
}
|
|
|
|
.topmostdiv {
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: white;
|
|
transition: background-color 0.3s;
|
|
}
|
|
|
|
#top {
|
|
height: 78px;
|
|
border-bottom: 2px solid black;
|
|
}
|
|
|
|
.dark #top {
|
|
border-bottom: 2px solid #ccc;
|
|
}
|
|
|
|
#dbg {
|
|
display: block;
|
|
}
|
|
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: #aaa;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: #666;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: #555;
|
|
}
|
|
|
|
.slider {
|
|
-webkit-appearance: none;
|
|
width: 100%;
|
|
margin: 3px 0;
|
|
padding: 0;
|
|
outline: none;
|
|
opacity: 0.7;
|
|
-webkit-transition: .2s;
|
|
transition: opacity .2s;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.slider:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
.slider:focus {
|
|
outline: none;
|
|
}
|
|
|
|
.slider::-webkit-slider-runnable-track {
|
|
-webkit-appearance: none;
|
|
width: 100%;
|
|
height: 8px;
|
|
background: #d3d3d3;
|
|
border-radius: 3px;
|
|
border: none;
|
|
}
|
|
|
|
.slider::-webkit-slider-thumb {
|
|
-webkit-appearance: none;
|
|
width: 15px;
|
|
height: 15px;
|
|
border-radius: 50%;
|
|
background: #0a0;
|
|
cursor: pointer;
|
|
margin-top: -4px;
|
|
}
|
|
|
|
.dark .slider::-webkit-slider-thumb {
|
|
background: #3d3;
|
|
}
|
|
|
|
.slider::-moz-range-thumb {
|
|
width: 15px;
|
|
height: 15px;
|
|
border-radius: 50%;
|
|
background: #0a0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.slider::-moz-range-track {
|
|
height: 8px;
|
|
background: #d3d3d3;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.dark .slider::-moz-range-thumb {
|
|
background: #3d3;
|
|
}
|
|
|
|
.slider::-ms-track {
|
|
width: 100%;
|
|
height: 8px;
|
|
border-width: 3px 0;
|
|
background: transparent;
|
|
border-color: transparent;
|
|
color: transparent;
|
|
transition: opacity .2s;
|
|
}
|
|
|
|
.slider::-ms-fill-lower {
|
|
background: #d3d3d3;
|
|
border: none;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.slider::-ms-fill-upper {
|
|
background: #d3d3d3;
|
|
border: none;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.slider::-ms-thumb {
|
|
width: 15px;
|
|
height: 15px;
|
|
border-radius: 50%;
|
|
background: #0a0;
|
|
cursor: pointer;
|
|
margin: 0;
|
|
}
|
|
|
|
.shameless-plug {
|
|
font-size: 0.8em;
|
|
text-align: center;
|
|
display: block;
|
|
}
|
|
|
|
a {
|
|
color: #0278a4;
|
|
}
|
|
|
|
.dark a {
|
|
color: #00b9fd;
|
|
}
|
|
|
|
#frontcanvas,
|
|
#backcanvas {
|
|
touch-action: none;
|
|
}
|
|
|
|
.placeholder {
|
|
border: 1px dashed #9f9fda !important;
|
|
background-color: #edf2f7 !important;
|
|
}
|
|
|
|
.dragging {
|
|
z-index: 999;
|
|
}
|
|
|
|
.dark .dragging>table>tbody>tr {
|
|
background-color: #252c30;
|
|
}
|
|
|
|
.dark .placeholder {
|
|
filter: invert(1);
|
|
}
|
|
|
|
.column-spacer {
|
|
top: 0;
|
|
left: 0;
|
|
width: calc(100% - 4px);
|
|
position: absolute;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
height: 100%;
|
|
}
|
|
|
|
.column-width-handle {
|
|
top: 0;
|
|
right: 0;
|
|
width: 4px;
|
|
position: absolute;
|
|
cursor: col-resize;
|
|
user-select: none;
|
|
height: 100%;
|
|
}
|
|
|
|
.column-width-handle:hover {
|
|
background-color: #4f99bd;
|
|
}
|
|
|
|
|
|
</style>
|
|
<script type="text/javascript" >
|
|
///////////////////////////////////////////////
|
|
/*
|
|
Split.js - v1.3.5
|
|
MIT License
|
|
https://github.com/nathancahill/Split.js
|
|
*/
|
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Split=t()}(this,function(){"use strict";var e=window,t=e.document,n="addEventListener",i="removeEventListener",r="getBoundingClientRect",s=function(){return!1},o=e.attachEvent&&!e[n],a=["","-webkit-","-moz-","-o-"].filter(function(e){var n=t.createElement("div");return n.style.cssText="width:"+e+"calc(9px)",!!n.style.length}).shift()+"calc",l=function(e){return"string"==typeof e||e instanceof String?t.querySelector(e):e};return function(u,c){function z(e,t,n){var i=A(y,t,n);Object.keys(i).forEach(function(t){return e.style[t]=i[t]})}function h(e,t){var n=B(y,t);Object.keys(n).forEach(function(t){return e.style[t]=n[t]})}function f(e){var t=E[this.a],n=E[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,z(t.element,t.size,this.aGutterSize),z(n.element,n.size,this.bGutterSize)}function m(e){var t;this.dragging&&((t="touches"in e?e.touches[0][b]-this.start:e[b]-this.start)<=E[this.a].minSize+M+this.aGutterSize?t=E[this.a].minSize+this.aGutterSize:t>=this.size-(E[this.b].minSize+M+this.bGutterSize)&&(t=this.size-(E[this.b].minSize+this.bGutterSize)),f.call(this,t),c.onDrag&&c.onDrag())}function g(){var e=E[this.a].element,t=E[this.b].element;this.size=e[r]()[y]+t[r]()[y]+this.aGutterSize+this.bGutterSize,this.start=e[r]()[G]}function d(){var t=this,n=E[t.a].element,r=E[t.b].element;t.dragging&&c.onDragEnd&&c.onDragEnd(),t.dragging=!1,e[i]("mouseup",t.stop),e[i]("touchend",t.stop),e[i]("touchcancel",t.stop),t.parent[i]("mousemove",t.move),t.parent[i]("touchmove",t.move),delete t.stop,delete t.move,n[i]("selectstart",s),n[i]("dragstart",s),r[i]("selectstart",s),r[i]("dragstart",s),n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",t.gutter.style.cursor="",t.parent.style.cursor=""}function S(t){var i=this,r=E[i.a].element,o=E[i.b].element;!i.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),i.dragging=!0,i.move=m.bind(i),i.stop=d.bind(i),e[n]("mouseup",i.stop),e[n]("touchend",i.stop),e[n]("touchcancel",i.stop),i.parent[n]("mousemove",i.move),i.parent[n]("touchmove",i.move),r[n]("selectstart",s),r[n]("dragstart",s),o[n]("selectstart",s),o[n]("dragstart",s),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",i.gutter.style.cursor=j,i.parent.style.cursor=j,g.call(i)}function v(e){e.forEach(function(t,n){if(n>0){var i=F[n-1],r=E[i.a],s=E[i.b];r.size=e[n-1],s.size=t,z(r.element,r.size,i.aGutterSize),z(s.element,s.size,i.bGutterSize)}})}function p(){F.forEach(function(e){e.parent.removeChild(e.gutter),E[e.a].element.style[y]="",E[e.b].element.style[y]=""})}void 0===c&&(c={});var y,b,G,E,w=l(u[0]).parentNode,D=e.getComputedStyle(w).flexDirection,U=c.sizes||u.map(function(){return 100/u.length}),k=void 0!==c.minSize?c.minSize:100,x=Array.isArray(k)?k:u.map(function(){return k}),L=void 0!==c.gutterSize?c.gutterSize:10,M=void 0!==c.snapOffset?c.snapOffset:30,O=c.direction||"horizontal",j=c.cursor||("horizontal"===O?"ew-resize":"ns-resize"),C=c.gutter||function(e,n){var i=t.createElement("div");return i.className="gutter gutter-"+n,i},A=c.elementStyle||function(e,t,n){var i={};return"string"==typeof t||t instanceof String?i[e]=t:i[e]=o?t+"%":a+"("+t+"% - "+n+"px)",i},B=c.gutterStyle||function(e,t){return n={},n[e]=t+"px",n;var n};"horizontal"===O?(y="width","clientWidth",b="clientX",G="left","paddingLeft"):"vertical"===O&&(y="height","clientHeight",b="clientY",G="top","paddingTop");var F=[];return E=u.map(function(e,t){var i,s={element:l(e),size:U[t],minSize:x[t]};if(t>0&&(i={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:O,parent:w},i.aGutterSize=L,i.bGutterSize=L,i.isFirst&&(i.aGutterSize=L/2),i.isLast&&(i.bGutterSize=L/2),"row-reverse"===D||"column-reverse"===D)){var a=i.a;i.a=i.b,i.b=a}if(!o&&t>0){var c=C(t,O);h(c,L),c[n]("mousedown",S.bind(i)),c[n]("touchstart",S.bind(i)),w.insertBefore(c,s.element),i.gutter=c}0===t||t===u.length-1?z(s.element,s.size,L/2):z(s.element,s.size,L);var f=s.element[r]()[y];return f<s.minSize&&(s.minSize=f),t>0&&F.push(i),s}),o?{setSizes:v,destroy:p}:{setSizes:v,getSizes:function(){return E.map(function(e){return e.size})},collapse:function(e){if(e===F.length){var t=F[e-1];g.call(t),o||f.call(t,t.size-t.bGutterSize)}else{var n=F[e];g.call(n),o||f.call(n,n.aGutterSize)}},destroy:p}}});
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>
|
|
// This work is free. You can redistribute it and/or modify it
|
|
// under the terms of the WTFPL, Version 2
|
|
// For more information see LICENSE.txt or http://www.wtfpl.net/
|
|
//
|
|
// For more information, the home page:
|
|
// http://pieroxy.net/blog/pages/lz-string/testing.html
|
|
//
|
|
// LZ-based compression algorithm, version 1.4.4
|
|
var LZString=function(){var o=String.fromCharCode,i={};var n={decompressFromBase64:function(o){return null==o?"":""==o?null:n._decompress(o.length,32,function(n){return function(o,n){if(!i[o]){i[o]={};for(var t=0;t<o.length;t++)i[o][o.charAt(t)]=t}return i[o][n]}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o.charAt(n))})},_decompress:function(i,n,t){var r,e,a,s,p,u,l,f=[],c=4,d=4,h=3,v="",g=[],m={val:t(0),position:n,index:1};for(r=0;r<3;r+=1)f[r]=r;for(a=0,p=Math.pow(2,2),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 2:return""}for(f[3]=l,e=l,g.push(l);;){if(m.index>i)return"";for(a=0,p=Math.pow(2,h),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(l=a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 2:return g.join("")}if(0==c&&(c=Math.pow(2,h),h++),f[l])v=f[l];else{if(l!==d)return null;v=e+e.charAt(0)}g.push(v),f[d++]=e+v.charAt(0),e=v,0==--c&&(c=Math.pow(2,h),h++)}}};return n}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString});
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
/*!
|
|
* PEP v0.4.3 | https://github.com/jquery/PEP
|
|
* Copyright jQuery Foundation and other contributors | http://jquery.org/license
|
|
*/
|
|
!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.PointerEventsPolyfill=b()}(this,function(){"use strict";function a(a,b){b=b||Object.create(null);var c=document.createEvent("Event");c.initEvent(a,b.bubbles||!1,b.cancelable||!1);
|
|
for(var d,e=2;e<m.length;e++)d=m[e],c[d]=b[d]||n[e];c.buttons=b.buttons||0;
|
|
var f=0;return f=b.pressure&&c.buttons?b.pressure:c.buttons?.5:0,c.x=c.clientX,c.y=c.clientY,c.pointerId=b.pointerId||0,c.width=b.width||0,c.height=b.height||0,c.pressure=f,c.tiltX=b.tiltX||0,c.tiltY=b.tiltY||0,c.twist=b.twist||0,c.tangentialPressure=b.tangentialPressure||0,c.pointerType=b.pointerType||"",c.hwTimestamp=b.hwTimestamp||0,c.isPrimary=b.isPrimary||!1,c}function b(){this.array=[],this.size=0}function c(a,b,c,d){this.addCallback=a.bind(d),this.removeCallback=b.bind(d),this.changedCallback=c.bind(d),A&&(this.observer=new A(this.mutationWatcher.bind(this)))}function d(a){return"body /shadow-deep/ "+e(a)}function e(a){return'[touch-action="'+a+'"]'}function f(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}function g(){if(F){D.forEach(function(a){String(a)===a?(E+=e(a)+f(a)+"\n",G&&(E+=d(a)+f(a)+"\n")):(E+=a.selectors.map(e)+f(a.rule)+"\n",G&&(E+=a.selectors.map(d)+f(a.rule)+"\n"))});var a=document.createElement("style");a.textContent=E,document.head.appendChild(a)}}function h(){if(!window.PointerEvent){if(window.PointerEvent=a,window.navigator.msPointerEnabled){var b=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:b,enumerable:!0}),u.registerSource("ms",_)}else Object.defineProperty(window.navigator,"maxTouchPoints",{value:0,enumerable:!0}),u.registerSource("mouse",N),void 0!==window.ontouchstart&&u.registerSource("touch",V);u.register(document)}}function i(a){if(!u.pointermap.has(a)){var b=new Error("InvalidPointerId");throw b.name="InvalidPointerId",b}}function j(a){for(var b=a.parentNode;b&&b!==a.ownerDocument;)b=b.parentNode;if(!b){var c=new Error("InvalidStateError");throw c.name="InvalidStateError",c}}function k(a){var b=u.pointermap.get(a);return 0!==b.buttons}function l(){window.Element&&!Element.prototype.setPointerCapture&&Object.defineProperties(Element.prototype,{setPointerCapture:{value:W},releasePointerCapture:{value:X},hasPointerCapture:{value:Y}})}
|
|
var m=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pageX","pageY"],n=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0],o=window.Map&&window.Map.prototype.forEach,p=o?Map:b;b.prototype={set:function(a,b){return void 0===b?this["delete"](a):(this.has(a)||this.size++,void(this.array[a]=b))},has:function(a){return void 0!==this.array[a]},"delete":function(a){this.has(a)&&(delete this.array[a],this.size--)},get:function(a){return this.array[a]},clear:function(){this.array.length=0,this.size=0},forEach:function(a,b){return this.array.forEach(function(c,d){a.call(b,c,d,this)},this)}};var q=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which","pageX","pageY","timeStamp"],r=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0,0],s={pointerover:1,pointerout:1,pointerenter:1,pointerleave:1},t="undefined"!=typeof SVGElementInstance,u={pointermap:new p,eventMap:Object.create(null),captureInfo:Object.create(null),eventSources:Object.create(null),eventSourceList:[],registerSource:function(a,b){var c=b,d=c.events;d&&(d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c,this.eventSourceList.push(c))},register:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
|
|
b.register.call(b,a)},unregister:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
|
|
b.unregister.call(b,a)},contains:function(a,b){try{return a.contains(b)}catch(c){return!1}},down:function(a){a.bubbles=!0,this.fireEvent("pointerdown",a)},move:function(a){a.bubbles=!0,this.fireEvent("pointermove",a)},up:function(a){a.bubbles=!0,this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){a.bubbles=!0,this.fireEvent("pointercancel",a)},leaveOut:function(a){this.out(a),this.propagate(a,this.leave,!1)},enterOver:function(a){this.over(a),this.propagate(a,this.enter,!0)},eventHandler:function(a){if(!a._handledByPE){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),a._handledByPE=!0}},listen:function(a,b){b.forEach(function(b){this.addEvent(a,b)},this)},unlisten:function(a,b){b.forEach(function(b){this.removeEvent(a,b)},this)},addEvent:function(a,b){a.addEventListener(b,this.boundHandler)},removeEvent:function(a,b){a.removeEventListener(b,this.boundHandler)},makeEvent:function(b,c){this.captureInfo[c.pointerId]&&(c.relatedTarget=null);var d=new a(b,c);return c.preventDefault&&(d.preventDefault=c.preventDefault),d._target=d._target||c.target,d},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){for(var b,c=Object.create(null),d=0;d<q.length;d++)b=q[d],c[b]=a[b]||r[d],!t||"target"!==b&&"relatedTarget"!==b||c[b]instanceof SVGElementInstance&&(c[b]=c[b].correspondingUseElement);return a.preventDefault&&(c.preventDefault=function(){a.preventDefault()}),c},getTarget:function(a){var b=this.captureInfo[a.pointerId];return b?a._target!==b&&a.type in s?void 0:b:a._target},propagate:function(a,b,c){for(var d=a.target,e=[];d!==document&&!d.contains(a.relatedTarget);) if(e.push(d),d=d.parentNode,!d)return;c&&e.reverse(),e.forEach(function(c){a.target=c,b.call(this,a)},this)},setCapture:function(b,c,d){this.captureInfo[b]&&this.releaseCapture(b,d),this.captureInfo[b]=c,this.implicitRelease=this.releaseCapture.bind(this,b,d),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease);var e=new a("gotpointercapture");e.pointerId=b,e._target=c,d||this.asyncDispatchEvent(e)},releaseCapture:function(b,c){var d=this.captureInfo[b];if(d){this.captureInfo[b]=void 0,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease);var e=new a("lostpointercapture");e.pointerId=b,e._target=d,c||this.asyncDispatchEvent(e)}},dispatchEvent:/*scope.external.dispatchEvent || */function(a){var b=this.getTarget(a);if(b)return b.dispatchEvent(a)},asyncDispatchEvent:function(a){requestAnimationFrame(this.dispatchEvent.bind(this,a))}};u.boundHandler=u.eventHandler.bind(u);var v={shadow:function(a){if(a)return a.shadowRoot||a.webkitShadowRoot},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);if(this.canTarget(b))return b},olderShadow:function(a){var b=a.olderShadowRoot;if(!b){var c=a.querySelector("shadow");c&&(b=c.olderShadowRoot)}return b},allShadows:function(a){for(var b=[],c=this.shadow(a);c;)b.push(c),c=this.olderShadow(c);return b},searchRoot:function(a,b,c){if(a){var d,e,f=a.elementFromPoint(b,c);for(e=this.targetingShadow(f);e;){if(d=e.elementFromPoint(b,c)){var g=this.targetingShadow(d);return this.searchRoot(g,b,c)||d} e=this.olderShadow(e)} return f}},owner:function(a){
|
|
for(var b=a;b.parentNode;)b=b.parentNode;
|
|
return b.nodeType!==Node.DOCUMENT_NODE&&b.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(b=document),b},findTarget:function(a){var b=a.clientX,c=a.clientY,d=this.owner(a.target);
|
|
return d.elementFromPoint(b,c)||(d=document),this.searchRoot(d,b,c)}},w=Array.prototype.forEach.call.bind(Array.prototype.forEach),x=Array.prototype.map.call.bind(Array.prototype.map),y=Array.prototype.slice.call.bind(Array.prototype.slice),z=Array.prototype.filter.call.bind(Array.prototype.filter),A=window.MutationObserver||window.WebKitMutationObserver,B="[touch-action]",C={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["touch-action"]};c.prototype={watchSubtree:function(a){
|
|
//
|
|
this.observer&&v.canTarget(a)&&this.observer.observe(a,C)},enableOnSubtree:function(a){this.watchSubtree(a),a===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(a)},installNewSubtree:function(a){w(this.findElements(a),this.addElement,this)},findElements:function(a){return a.querySelectorAll?a.querySelectorAll(B):[]},removeElement:function(a){this.removeCallback(a)},addElement:function(a){this.addCallback(a)},elementChanged:function(a,b){this.changedCallback(a,b)},concatLists:function(a,b){return a.concat(y(b))},
|
|
installOnLoad:function(){document.addEventListener("readystatechange",function(){"complete"===document.readyState&&this.installNewSubtree(document)}.bind(this))},isElement:function(a){return a.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(a){
|
|
var b=x(a,this.findElements,this);
|
|
return b.push(z(a,this.isElement)),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){if("childList"===a.type){var b=this.flattenMutationTree(a.addedNodes);b.forEach(this.addElement,this);var c=this.flattenMutationTree(a.removedNodes);c.forEach(this.removeElement,this)}else"attributes"===a.type&&this.elementChanged(a.target,a.oldValue)}};var D=["none","auto","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["pan-x pan-y","pan-y pan-x"]}],E="",F=window.PointerEvent||window.MSPointerEvent,G=!window.ShadowDOMPolyfill&&document.head.createShadowRoot,H=u.pointermap,I=25,J=[1,4,2,8,16],K=!1;try{K=1===new MouseEvent("test",{buttons:1}).buttons}catch(L){}
|
|
var M,N={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},lastTouches:[],
|
|
isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;f<g&&(b=c[f]);f++){
|
|
var h=Math.abs(d-b.x),i=Math.abs(e-b.y);if(h<=I&&i<=I)return!0}},prepareEvent:function(a){var b=u.cloneEvent(a),c=b.preventDefault;return b.preventDefault=function(){a.preventDefault(),c()},b.pointerId=this.POINTER_ID,b.isPrimary=!0,b.pointerType=this.POINTER_TYPE,b},prepareButtonsForMove:function(a,b){var c=H.get(this.POINTER_ID);
|
|
0!==b.which&&c?a.buttons=c.buttons:a.buttons=0,b.buttons=a.buttons},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);K||(c.buttons=J[c.button],b&&(c.buttons|=b.buttons),a.buttons=c.buttons),H.set(this.POINTER_ID,a),b&&0!==b.buttons?u.move(c):u.down(c)}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.move(b)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);if(!K){var d=J[c.button];
|
|
c.buttons=b?b.buttons&~d:0,a.buttons=c.buttons}H.set(this.POINTER_ID,a),
|
|
c.buttons&=~J[c.button],0===c.buttons?u.up(c):u.move(c)}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.enterOver(b)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,u.leaveOut(b)}},cancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.deactivateMouse()},deactivateMouse:function(){H["delete"](this.POINTER_ID)}},O=u.captureInfo,P=v.findTarget.bind(v),Q=v.allShadows.bind(v),R=u.pointermap,S=2500,T=200,U="touch-action",V={events:["touchstart","touchmove","touchend","touchcancel"],register:function(a){M.enableOnSubtree(a)},unregister:function(){},elementAdded:function(a){var b=a.getAttribute(U),c=this.touchActionToScrollType(b);c&&(a._scrollType=c,u.listen(a,this.events),
|
|
Q(a).forEach(function(a){a._scrollType=c,u.listen(a,this.events)},this))},elementRemoved:function(a){a._scrollType=void 0,u.unlisten(a,this.events),
|
|
Q(a).forEach(function(a){a._scrollType=void 0,u.unlisten(a,this.events)},this)},elementChanged:function(a,b){var c=a.getAttribute(U),d=this.touchActionToScrollType(c),e=this.touchActionToScrollType(b);
|
|
d&&e?(a._scrollType=d,Q(a).forEach(function(a){a._scrollType=d},this)):e?this.elementRemoved(a):d&&this.elementAdded(a)},scrollTypes:{EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/},touchActionToScrollType:function(a){var b=a,c=this.scrollTypes;return"none"===b?"none":b===c.XSCROLLER?"X":b===c.YSCROLLER?"Y":c.SCROLLER.exec(b)?"XY":void 0},POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){
|
|
(0===R.size||1===R.size&&R.has(1))&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1,this.cancelResetClickCount())},removePrimaryPointer:function(a){a.isPrimary&&(this.firstTouch=null,this.firstXY=null,this.resetClickCount())},clickCount:0,resetId:null,resetClickCount:function(){var a=function(){this.clickCount=0,this.resetId=null}.bind(this);this.resetId=setTimeout(a,T)},cancelResetClickCount:function(){this.resetId&&clearTimeout(this.resetId)},typeToButtons:function(a){var b=0;return"touchstart"!==a&&"touchmove"!==a||(b=1),b},touchToPointer:function(a){var b=this.currentTouchEvent,c=u.cloneEvent(a),d=c.pointerId=a.identifier+2;c.target=O[d]||P(c),c.bubbles=!0,c.cancelable=!0,c.detail=this.clickCount,c.button=0,c.buttons=this.typeToButtons(b.type),c.width=2*(a.radiusX||a.webkitRadiusX||0),c.height=2*(a.radiusY||a.webkitRadiusY||0),c.pressure=a.force||a.webkitForce||.5,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,
|
|
c.altKey=b.altKey,c.ctrlKey=b.ctrlKey,c.metaKey=b.metaKey,c.shiftKey=b.shiftKey;
|
|
var e=this;return c.preventDefault=function(){e.scrolling=!1,e.firstXY=null,b.preventDefault()},c},processTouches:function(a,b){var c=a.changedTouches;this.currentTouchEvent=a;for(var d,e=0;e<c.length;e++)d=c[e],b.call(this,this.touchToPointer(d))},
|
|
shouldScroll:function(a){if(this.firstXY){var b,c=a.currentTarget._scrollType;if("none"===c)
|
|
b=!1;else if("XY"===c)
|
|
b=!0;else{var d=a.changedTouches[0],e=c,f="Y"===c?"X":"Y",g=Math.abs(d["client"+e]-this.firstXY[e]),h=Math.abs(d["client"+f]-this.firstXY[f]);
|
|
b=g>=h}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;d<e&&(c=a[d]);d++)if(c.identifier===b)return!0},
|
|
vacuumTouches:function(a){var b=a.touches;
|
|
if(R.size>=b.length){var c=[];R.forEach(function(a,d){
|
|
if(1!==d&&!this.findTouch(b,d-2)){var e=a.out;c.push(e)}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||(this.clickCount++,this.processTouches(a,this.overDown))},overDown:function(a){R.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),u.enterOver(a),u.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var b=a,c=R.get(b.pointerId);
|
|
if(c){var d=c.out,e=c.outTarget;u.move(b),d&&e!==b.target&&(d.relatedTarget=b.target,b.relatedTarget=e,
|
|
d.target=e,b.target?(u.leaveOut(d),u.enterOver(b)):(
|
|
b.target=e,b.relatedTarget=null,this.cancelOut(b))),c.out=b,c.outTarget=b.target}},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(u.up(a),u.leaveOut(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){u.cancel(a),u.leaveOut(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){R["delete"](a.pointerId),this.removePrimaryPointer(a)},
|
|
dedupSynthMouse:function(a){var b=N.lastTouches,c=a.changedTouches[0];
|
|
if(this.isPrimaryTouch(c)){
|
|
var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,S)}}};M=new c(V.elementAdded,V.elementRemoved,V.elementChanged,V);var W,X,Y,Z=u.pointermap,$=window.MSPointerEvent&&"number"==typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,_={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var b=a;return $&&(b=u.cloneEvent(a),b.pointerType=this.POINTER_TYPES[a.pointerType]),b},cleanup:function(a){Z["delete"](a)},MSPointerDown:function(a){Z.set(a.pointerId,a);var b=this.prepareEvent(a);u.down(b)},MSPointerMove:function(a){var b=this.prepareEvent(a);u.move(b)},MSPointerUp:function(a){var b=this.prepareEvent(a);u.up(b),this.cleanup(a.pointerId)},MSPointerOut:function(a){var b=this.prepareEvent(a);u.leaveOut(b)},MSPointerOver:function(a){var b=this.prepareEvent(a);u.enterOver(b)},MSPointerCancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var b=u.makeEvent("lostpointercapture",a);u.dispatchEvent(b)},MSGotPointerCapture:function(a){var b=u.makeEvent("gotpointercapture",a);u.dispatchEvent(b)}},aa=window.navigator;aa.msPointerEnabled?(W=function(a){i(a),j(this),k(a)&&(u.setCapture(a,this,!0),this.msSetPointerCapture(a))},X=function(a){i(a),u.releaseCapture(a,!0),this.msReleasePointerCapture(a)}):(W=function(a){i(a),j(this),k(a)&&u.setCapture(a,this)},X=function(a){i(a),u.releaseCapture(a)}),Y=function(a){return!!u.captureInfo[a]},g(),h(),l();var ba={dispatcher:u,Installer:c,PointerEvent:a,PointerMap:p,targetFinding:v};return ba});
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
var config = {"dark_mode": false, "show_pads": true, "show_fabrication": false, "show_silkscreen": true, "highlight_pin1": false, "redraw_on_drag": true, "board_rotation": 0, "checkboxes": "Sourced,Placed", "bom_view": "left-right", "layer_view": "FB", "fields": ["Value", "Footprint"]}
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
var pcbdata = JSON.parse(LZString.decompressFromBase64("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AVV4ASEBkAHQANCBDsEm4bAAiO2QgPUAooBKzHZBh9wQAmCAAAC9QQD0APCZi0X4wTOAExGnAGgBQJJmCCABYJJAAPUAJAA4AMABXAGigIiwKqHkgWjtSJPIkkWdx+RX2UsBaYyLAWABUgAkAeiBXABQAeUB1gGQgDkAVwC7AVMAbQE8YBQB+dTwACIAtABQAC6ELoSsARE1vwDX0EYJ5gBAASKBiABQk0lDWJPYkziT9AG4krbBJmwrRfiS7JK1YT/4aJJEkuiSnAAkkqSSZJLkksAAFJMhAJSSewGDAVSStAHUkzSTWAG0k3SSwAH0khtEDsCMkiwBTJKIAcyTqRMskjiSuJLhBYjhBID4kggAyJKckla573RsYdySZgE8kmsBpJNkksCBfJMUklMBApIg4YKTWAFCkyEAIpL0k3CxDJKik+KTc4DMkmYUUpOskzwBbJM2AUihkOyyknKT9sGFwOGB8pJqoQqTLAGKkiwBSpJ8kvyTOwCqk4KVapJ4tDSSGpJ0kpqTu1hak4ySEpKSkkHEupLSkrtYkkAGkhyTspIEk9mchJKRBWiSvwGjESaTJJJKk7yTypLmk1gAApMWkm7RlpLCkkABGpNakjaTYpK+k1gBtpM6ktiTUpJsk9KSNUEyk46ShpNOEZySxpMuksSSppLGAGaSHpMqkp8AVJNek+qStJLWk36Si1EgQVYA4pLGAf6SLJMBk7qSFgF6kllh+m3Bk06SRpJKOabg3JKukjyTbpOmk+6T5JKRk5SSgpNRk07EVpPRkyKTopOxkrQBcZL+k9qTEpIBkqyT9pMwkuySyZNWARyThpKhk6mSpwFpkoqT6ZPhkxmSKpP8khaSUZLQIN6TVpK5k5qSfpK2kgWSdpJZAPaTgZIOkt4QjpIlkk6TcpNGkmWSCwDlkm6SvJLKkpmSVZORk1mT1ZLRk8KSMZO5kiDgcZN+kkyS9ZKFkoGSepPSkpyB9X0lkyGS8pKtk8gAbZPEkhWSnpKVkx6SQAGektWS1JPZk96TPpI9kzaS2pNWwDqSCZOFko2TRZI8gdiB1m3Jki2SqZOEk2WTYZOjk+OTY5OZk6qSPGDZkiQkOZLdkrWTvpKTEPmSfZMzkwWTs5P9k4mTA5ILk7AAFIDNkiGS3hGlk0uTrZPLku2TZpOrkl6SXZOTkzWT1pPhBdOS8ZN9kzuSiZL0AEmSuYFNkpwBzZKlksOSR5IjkseS7pPtk5WT5pKdkmqS65MkgBuSPpPdk7WSW5O9k/GTkpMJkkWT8JPzko5si5O3ky2Td5NEk78BbZIPkieTHZJZk0+Tp5PrklOSr5Obkr2TdZPbk/WScQENkgOTjZNxYQuSB5Ipk4eSLpJpk/eSGZMPkuOSE5OdkpOSgFNnkzGTLQAXk/mSIFL9kleS15KcgNSBN5MHkwSSiJ2QUsuSv5Kjk8eTEZL/kmuSfCMAU8+TgFKbk+eSdZIzkwKAs5PvknOTPABAATCA15N4yAaSwfxDk7UwjkHDkz+TrpPoUmsAOQAIAVwAOQHzAEKSZ5M5kueSsZM9k3mTvZIAABT14P6JoFIWAQRSQAGEUpkc5IAQUrbBlXCexAqTI5Lhk1gB5FMUU5RS6pNUUxuT1FPwUrhSxgF0UloB9FIfk/QAjFJMUtAg0FHMU/bBLFKkUiaTZFIsAexSlFPMAFRScFLUUvBSDJPcU1gAAAGEAAAkAAEEAACUAAHEAAFF4ACSUgAAVDJSNgngAaxcoFJ8UgRShFPSkkRTsADbVIJTbGBCUj+SwlNsUkABIlMcUjWS4lLTkxJSQAG0U63RvFP4UwxSqlONkmpSTT3qUiRSmOCaUmxSK5LaU6JSnFNiUlxT4lJikm+TjJNkkjkBwoBGCBSTIADIAAAAKZCSyAG0U2UA0lNHAAABKfpSu5L0APxTqlKZHGl8xlMogCZSaFNHkuhSWlJmUyEBXZMvkjhSNFIIUkABVlPWUiqStlN2U3gB9lMOU0mBTlINkipTBlOMUq5S0CAMQ25SmR0ogSZTUFLGAF5SYlLYU3BSulOWUiwAAADUAABFsVPgAAAA5DJTMIDBUgZSLlKGUvOSCwxJrR2BYVMaUh5S95KeU6ZSFFKiU15TnFPeU1xSElIxUsYB8VKiknZSklOEAIFSIAF4AUFTylNJUy5ThlKZHGxQaVMkUhFSGVPogZFS5lNRUzpTr5LAUiwBPFPqgM5SV5LFUilSLHGRLMRSt5IaU6VS6VOkUumS5VKZU9pS3lNTk5VStFOMkgABlAAB1JJSNVOigLVSn5KzoVlwpVPuU+MQUFNlUuRSzVNmUjpSFlPRUlVSuVJ5U7ZSeigFU3wBhVNyAAxSyVMhU2BTORxokD1SrBBlUmRTnlL9UllT5lLZUxZSeZNYAVuSMlJyUm1SclIKUp1TfFPJU11SVqGVQIjtxFLuU5NSjVOaUxlSHFP9Ui1SQFM4UzlTWAHzUwtTi1JJU85SXVM2wZddlUGDk/VTxlNrUr1TaFNTUhtTmVJRUwoAL5MtU0BTrVIsAH5SiAA2UwwB/lL2Ug5SIADSUpJS2gCjU0AAY1N7U6KAiun6bNGVq1LhUqJC61KmU01TG1IzUxVTA1KtU3NTvZMXU5dTV1MBU9dTN1JvgHdSWJPBU2NS15MPU3itX5INUz1TXJLHUk1TfVKvUqdTLgBnUltTPlO6Ux9S/lIgAHZS11MOUrdSKAA/UvdSy1L7Uu6hlUG2CJNT4VPPUxFS7FPTU8DSZgEg0j5S3FLbUnpTKIBLUypS41O1U39STuRw0s9TR1MeU8dTL1MnUhVTp1PYU9lSllODU1gB7VOxUqjSIVJ/UzkdhdQoU06TaVKY0+lSWNNA0tjSA1KzUoNT51JDUwwBeVIEQAVShVIE079SQZM5HasQGNKsU8aSL1Ok081TWVNnU1tSeNJAADtSi1PU0/dSSszQIVCQdNNCU/TSIlMI09jSINM407NTNFPvU4ySkIg2CRCS8lI2CHJT+NO7UzVT0NIPUmpSzFNE0ixTDVIk041T5ZNY0wzTM1OM06DTyNM8Um+BLNOC06zSjmz1UyhTT1N00mGSfVMc0sDTnNOI01zT5NI80rFTcVIJUolTUtJo08tSMon6bM0CT1PE0oDTmNJA0/LSZNObU0jSOVNM0zxTSYCq0n9SRlKyAOzSU1Ja0pFSnNNk0hLSyNK603PhetJBkmpS74EG0vDS8tJG0grSxtKg0ibSFNNYATFSkIkQkm1TptNgU/rT6tKHUmtTcNKi0+tTYtKbUozTVtM609bSKNLFAXbTaNJqUmFTwtOCUyLSmtMk04bSCNOW09rSuNJzUkABW5PtUgAB5O7SatIe06lSntIA0kdTXtOi07+TWtLi0m9S5NLvU37TvZJxUvFTCVOJUkVSe1LS0/1EmR1/RebSTtIc0pbS2tIu0jrTuNOu07bSkIngAbFSyACB0jDSoXDQIOahcdMh007SDNPO0+LTLtJJ00rSxgDJ0inSAAGpqdJC0iVTQdJmAQ7TstPs0/DTWlNG0r7S3NK+U7RTtFJSU+ABMVKSUpJT8lKKUjYI+dP0ATkdsBAZ06xSxdPlUlbTidJ+01uTkdIq0tHTo1K/UqzTaRzEARNSwdOHU47TGdPx0j7TCdNZ0/XT3NMR0lZSiADWUpdS4NIQ0l9TZQCQickBUNLN0zHTjdWwk2JCGtJe07XTFtId02HSONLRUhHTW5KQiNJSClPl0/7SNgi7U9HSgtOq0mnTOR0HUrLTGtIj0qTSYdJZ0uHTxtKu0jnTWAFg0zZT4NIBUgVS/dIYAAPTRVKD0+U4jm2PU4XS89L00nXSJdKJ077SXdNbkivSV1Kr0xDSIAD904QB69Ix0zPTooE5HchShdNz08PT29Mj08XTPtK70qXSYNPd035TK9O90mvSBQFH0jPS15M5HejTrdKO0xjS7dI70xfSndO70r5TuVKU07ZSklP4AVTTt9OdUxvThNMGksTTZ9Ny0gvSCdOj0lzTY9LnUsvSQAEv0nZTV4gjU+/TS1PH09XSMcRE06fSX9MA0/PT3tIX0x3Ti9LZ0g3TvZP/06/S2gCAMtXSLdLBkrXS59Pf0qPSi9Jj0pVSf9Nd0iwAslPxUgLT09If00AzMDL7k0PTW9Nf071TcDLgMz/SitO/0kzTrtL7059Sa9JQ0jAzwlBWuV4Aw9OgMnAzYDN10yXSStOIMxTTlNJoAO/SeDOaUd1SD9JF0obSYtOZ069SCDNvUogzW5JQMrdT+VPXUyNSZDPGoQGUDtJn0wQy39OEMzvSz9OX08jTNDPJAaQzAtMoM0hSMcX30yAyItOMMhgzTDNP0hAzndIv00NSt1IYAdAzbDJAMteTLQCrUodSjJH6bJMQYDKUM6aSj5MK0ywASNPP07pTSDPIM03SG9KoMnGA5DKcM57SXDOA0yIyP9PwMr/TCDLYM3/SrDKFAPwyKDICMnuSqVMMMqAyIdIiM6HTcjJUM/Iy1DMKM8QyNtJtUm1T4AG0UtJSZDLzfD0FsDJMMnIy8DIaMlgyCjMS00zTUlMyU3JTldOKU+AAUJP8M6jT7DOjEObT5DLb0/oy6jMGMojTYjOK0uPSH1NX0z3T19Or09dSUlN0MuYzBNJ7k6MR3Cj6M1wyBjKYMvIzhjKaM0YzrtM0MigBSjOSMsfTAjIxxTXTljPoM7Iy1jJuMoYzNjNYMh4zf9M8UhCITjI0042SccUcMywA6DKyM5rTrjJEMpfSxDNbk5LSaABkM/qSH5EuMn4zwlPqMjYzYADiMiwzTNI4MgfSfdIgAAABpY4yyjPmM9KTD9KqM5wyajKEM+EyzDI8M+IzyNKJMjfT11NWiYAyqTIhMpkcoTIEM+kzVjOxM9YyYjLxMrYz1DJ0UxPg0TO2wAbSvjNhMt7TGTPcM1Qz4dPFMt3SPdKfU4kyBVLwxLkzTjNgUmkz+DJhMgUyrjN+MhEzzDKRMiUzMmBkMw+Di0Uy06ozbdNqMoUy/jNxM/EyzTOMkqwzfABsMykydTNo09EyljIyM8HS7TIZM40ymTKVMkvT2dJaMnpTc0ktM9EyLjNlMw0ysTLTUxUzGjOVM5oze9N2M9Uz2TNlAbRSxkG1M8EzvTI+MwXToTKMMuMy4TKDMxMy7jOTMoEzwzLZMg4zZQAyUtTSwTPN053RdVP1MosyAzMFMhMz4DJDMxAye9J0UpVRLTP9AdIzCzNtMo/T7TI7M5gyATJGMtbTgTKmYfszvwBjMv0ybdJHMwMyHTJNM5kyCTPYMtMyvdJrMiAAClOzM2czlXFpMzIzizPlM0szOzKTM0MykDNVMtfT+9IzMiABkJJzMxsy1X2tMlszhzJy0o0yVzODM88zuzOl01BBZzMqMl8y6TLbM98yxzNuMicz7jKnMqszNzP2MwfTMVL3MhszG9M7SKRxMTJLMj8yyzLAsisyILMN08rTUdNnMqHEbTMAspcz2zInU8czRTMBMzCzezK8U+CzUjMEcQcz+TKAs+MziLNAs0izJzNL08MzkdJSUy0z9DMxlQ8z/TMIs4CzGLP+M5izwLNYs1My1TK3MwfSAAE04LNAgcCBiACgAEWSupIsAE3S4JLlhCwBsVMQk+YJ5ggkskRsQADQkmQBQAHLUtOA0QGlAMAA8JJp0gxkBSFK+G5AM4HEUsFFKcDxuIBBe3ii0/oAGJNlAEWSwIAkACCB5LNzkxSyxgGUs+OTVLLGAJJTKRN0s1AB9LO1UnozJayek0yyatMezXD4ALPRxeu5+Uyi0jm5XLKYk1CI0NOos8GI1awSsh4Q33SaUjm5YDIRkh2Tj5P/klJInTLFMlMykdLaMjoyujKXkvhS3jOpMruIcrNhUz4g/AAKslEEirKrkphSOIi4xUQztjNdM7wznjJ0M0FSZLM8suSyFLMJkpSy/ongkiwAt1P4AVCSwrIwk8tTiZQqxV4BcJNis2F14rLGU7QhM5BTUtKzmJMysteTiZQLqVqypwRUVAqTlSHn04qzojPjk1WSpoj6sxEyBrJIMsgy75N2kwPTqLNWsxtQzrPysutSrrMYMm6yMFPuszIgKrLIskSzkDO8MtAyRrMQiLQAPLK8syayrJOmslkBZrLGAVaJFrPQkp6EIrIOYD8l4KACssyyD1Pl4dqgtQPEUpckRPA/kjShaAAOsjKyPrPsMuDBoGA/JL4xwExPUt+xTFEZ0imyAbO6s0qzmFKhCUGyWLLDMjQzvDN8M6Gz6rPeslIyFjJB0DHAGilvUf9S3hAM8NZA2bNcga6zObKek4GyUkn2rfqyVTIsAJ4y/DLGs+GyfLKmsvyyZrMCs1gAviXRs8KyVrIaDDdITLPxs70BCbJGwYmyh1NJsx2QfRRsYK6SqbM8AXdSabPSkqqh1VBss4XSWbPls0cyK5MBsyeSsIg3+PXSWTNM0qwyhbNlAXQyRbKos46zLbO6oXKzZbIZkQOzlzJaUkOyerLDs9WynrM1siQyw1PdM6Gz1AF1siaz9bMRsw2zkbONskAAAACkUJK0APSzlrJp0y0BD6TNAjazzLL1abqQj9JJswx4KHBtKD+SXLNzgNyzqbLFsmbTXFz5iFOzDQ2lkJpSxdJKskUznTOessYBEjLeshOyoVKeAT4yFzKns6NE61Nns26yNbKqs4yTl7Pjsz0zczPLUu7B17ILM5myvDBns66y97Lzsg+ysVK20nbTV7PjU4O0N7KHMuyTr7J3s2+y45P3syszDdKfs7oytXwns2FTPjBvsgGy77NNMxezWAAAAekV02YyT7MfMmtSBUknsmmNPfRO03ezf7Pvs/+zvZK507FTedJfsvMzWR3fsk9SwHO/siBysHKgc/OykJJtU8nTKdP3M/QISHOF0shyMHJ/slcA/7PIsq8y9jJvM7ZS67IFUtJShQAfMhCz7sQvsniy8tGns8hyirMgctcyXTIsAOByklLKU14yd9JBkznUQHPkMlhzGdMwc9hzsHM4ciwA8HIIcxBzG9NUcphystI0cgqStHMEshezqHJAAPByqdMIc8tS1d1Ec1ByzHPGkixzebOEs/mydjLEs/Yy+HPXUpCJBHKq0rQAUIh/UkFY13g7IhcyBzJoMi6zXHPn0lABphQ2M44BYbNuhPUA9QAdMlABEAD1AcKAoAEhAMCBYIFSc4XTiTDRlC8yezK4c9MzeHJJMm1T6zMMcyEBgnO9s6AVOdHCcj+z0cWjEXRhwHNgMuJzWMQSc9IAknLyctJyMnKycnJzknPycrLTCnNWAYpyvlOrM3xzZQBtUikylHMoMoJzqLKFGf3hAJJTsyJyIDM0c2Jz4nJiMxJzWAFyclJy+nMyc3UBBnN6cgpyYFHls8ZyV9O8cnhypnIgAG1SWICEcmpzPrPqcp4Bq0B2s6Uy0ZXMczZzOnO2c7pzdnKGcg5yBnJ6c/ZzTnMWcMZzvzMuc68z/lJucm1S6AFGspJzxrMggcuyOJKRsnEAUbOSU/GAzbKbsgmzrCTN5a2zNrPpkLnAThCacuQhYDn2soez0rI9sz9TR7N1MnFzPFXkMtqz6GEZ0/6yurPQU0OyHrPccjCzwbMGsq/St1KLs2UA1NOPsuZzyjJpcgyx6ohb0rLSGXOic2iTmXOuMrOyubN6sjlyLnPI05eyS7PhcvWyYFKpc5FzK7NRc6uyklJ8yBuylrMxss+zlUQ/JeYQ8bPxch3ZjnGt03azITDJc1bBh7Mpco6z0pKNOD8l9VGJct4RzrKaUmVzfjLlclWyT5PKs+ezKrJwcw+zXrMFcz2zqXO1Ul1yC0NyPZmzPXL+s2xAlbNZc7Oz2XMDcsGzPHO5c3lSY7IgAY4zS7MRcjVzfLNYAfyy0XJAABRzMXKNc8yzbF3nM81zzLLiswlzVnN9CPayjVMHs+1yKXIWAcNzGrNgU6gkDDNQcyVy2nNlc5Wy7rP9c4cRFXPBc5VzQ3KIU5eS7DJBkkLxu3J+s7d0+3J9cgdzMFJBs1Ny+bMvMsrSUdMq01Vy/nIRc7yz83INswtyjbIQkszSQrMbs8tzooBEcoPswf3bs7FylbC4MetyK+E6ESHTm3MCgB1y23M1c5RzjZMtUMmMe3JsOBdyHTN9cwdyyrL2zEdzPDO6U+Rz67InchqzP3MjcjuAf3Nasv9zJHP7cpNz5XKBibBSZHOgckAAVXNzcvdzu5NYAAtyjFKrs49yMlJ0ss9zcgBq0joouBR9FG9zbbO1kImyH3PyMF2yaqBfcxiTDrK9sztzu+io8hDy07P/czOyl3NVskDzV3I8c9dyC7LrMvlzs3NOUsNyP3Knc2BTxMi48+lzEPNYcjmyUPL9c4DyNKFA8yOzrtIT0pPTMVJT0rtScPIRsrVzD3KI8tSyNLK0syDzQrIxs8jzm7O2wBXUaPIcXAEDQtApuGLhxXPIkpZMWAMyk8c87yRsYFjy33NXktVyy7P3ciuzjPJ1c49ypLLLc6zyL3J51O7A8XPMsisQJ/CexcRTcdRgUIlybGFSs8ly2PIjc41zwthi8+QzagQ6stxyhPM5c9NytbMhs7QzY7Mk8qDzRbI7crGz82Fy8zezSQCEQAry2HMscoNzdHILsrdSSjOLsgzykXNcAFFzcgGLczryIvIMsmzysMFRwWLzb3MtcolySbIbc21yFtPokjLyR7Jq8wyybrwuLOdyQBC9chNzlPN/k1DyU3Ijs9czf9KPsqrz7HNG88WkVFVjc36yTtO9cgDz+PKHcqQh9vNkcjrzRwB1sgLy83Lw8j9z+vJUs49yklOEY1gAyPJG8g9SsEyKYdayYrJrcray63LecpKy5Ux88ymzFvMdc9jzaNORiWawe3LjcpTyWXJ281TzubMesqhyH7LGAI3ScLKk8p1yaXK0+M+p1vPaspDzF3JU8oDysfI08g7zwzOw817zcPP88/DyD3MI80Ly5rIEQYbz7tMhNMKgJvNo8gly3xHrcqHyRyVds3zzW3IMAaTzhXO58ylR4MHdc+ARLvOP0xNyMfOp8hVyivKVcqOzIbJYgaQzCfIR84HTITRt4MnzGXKDshhS57JV8sOzafMe81gAGfJ3c9Vz3vII8otzdXIWsg1yrPIB82Z1DaHk86KybbL6k8HzBfMh80lyjVPS8ltzMvOW8mnSF6g98uXzD8AV8gqTCrOQ85Xzl3IDch7zMPM0M2/T11IFc47zqnLXkjopV4B6iQ3ypXLckmPzKfLj8gTz7vI4crlyXrIC0nrygvKM8tnyBvN1c3WJnfPNsitze5O5ZPnzvfIF8iughfP98qLS3bLh899yifNo06WjOvHws4aTUfMV87bzGFN28ldzE/Osco7yeFI7k6DyZPIH83uSs2BR8qPyM7ODs27y1POx8jDzrHM207bSYbJt8wLy7fNZ8h3zvvN6gLnzy1PolH30ZTM98i1z2qGm8x2zZvL1xAezYfKD8pbyYPMv87qBr/OH8vKz53Ip8m7yqfPj84dy1fNHc0zTZ/JMAXhTqvI/80PzF8m/81fy//LR82PyJ/Mx81Xzp/Nx82By0lPxU/TzGfMM8vrztXNr877yUtIb8rFyuyKppb697POp0KbzO/MbcvHSxfOD86ALooC9tCW1c/M282ezN/Jp8kAKwPLHc/jSdfKy8mnSmAtpWFgL43LYCwALi/O38rsyuAo18nlyb4Be8w/y3vOZ8j7z8Aq+8jnyL/P4C6wkPuBB8r3zKAvv86gK5vNoC1/zX3PF89tyGAq7IhXYf/I9ctfzpXK289HzkArN8vbzS/JK8pezx3Ln8yBShXO5M7VTM1kV+eAKNvOECpXzbAqACkvydHLL8vHzsLK3cyvzj/OC8mvzlAtRs0jzDXMi8kkBKZOdtWWEtAvbgYYQ3bBTsz8QYFGT4Mfz3bL783XyadNvSMHYUyVhU4it5eFYCvwLTfKACtkJ0PIkCzTyijNDUr4l0DN4CkPzooEKCyTRUHNKC7WRygvH8yoKBPOqCi3yk/IaCrXzuvJwC3rzPvICs49zsVIs8/7zaNOgiPlNNApq0wiBvfgZYMZTMgpfAbIL89NyCiXz+/Jq0uYKg+ztEDoKtWC1Ay6zrAqQC3oKh3P6CzgK6gvDMlAypgu189Py3Aq9M3YKwkKeJQ4L85FCU67y+PNECi4Le6CuCunz49O803zT/NIP8kAA4bKP8hQL7fKPciwAMlOEAVQKeJL52VvzqdHg0e9y3nMfcpjyExED8wwL6AsX8hxzkhAdtBryCZH5CZryegtusgIKGzDQC4Ny5rPSU7JS8lMKU6YyLPIgC+fyoApxCmzy/HntUbjzOvHTs2iSC/IACovy7vPJChwKRPNYAFAy6zJsM8IKIQpP8qEKxgAyU/Vy/vLiC13yHF2jESxVEQoDYZELrG1RCxjzybJRBLYLjApZC/nT6vjqzBTyePLrUnkKvgr5CtTyBQqCCxwKrfOcCxkLXAt1CqXyKPKpUVdcOQpB2YkKbAvOCi0Kagq/MyQLHjNDUu4LU/LhcuQKmfNWASEKTPKCsui9iAvPcrCDy0JUVCgKY2B0Cv3yaAsh0nvy3/Ph8vgL9QvLQ8XQI/N7c+byPQtJCsQKBgpn820LIApO8zMKhs3O8/2zR/ON8n+T/AsLCv4LLfJAAbTzk9NT0kEKwQvkC0MLJQvDC4UKClOmC+UKsbKpUuoN4wqtMo3BWrLhgD+TUwqxC9/y9QthxKlTEvOF0+wwJaRrCwvTWvLTcoUKQAExUmqzOjJXsjPyKjPWbB2ystMXC0XT59NXM2oL/gu9k63zQQtks+QLjAumsxnyMJIRlTtYBwp5rD+S9ACukoiw0QU30KMUoAIaYOhADNABkJlQATR/C5bBt3MUCkLyCAo58vsKXfI8Cg0CorOrcybzEwutcp/zkrOfcgwLWPOnCx0Ks9OwjFqz6XOrCmJySQqBsu7zxAp9C64KBbOkCkky0/JcC4hSZwuqDd8wcj3vdC7yEAo2cgiK2XKn8wUKSnPL8tsLrwpDCrQAwwvZ8oKzYQqjC+IK3fRu0eqMVQqUhRCKInOQi6HyaqEnC9CL0wpaCt3ybtEIabwLyfP0CliLk3LYiq0L1ws0M8rzBVMq8qiLJ3Mwi6KAKWyObUp4CQrwioiyTfILCoiKiwvQCrDzXrNAi9sKeIpZ8yILT/IsACSyoIsb8kyKSoyhLXmt4Iu9ANayA3hTs8EVMpOsYWSK6Aowi9wKLbJLPdUoGIuF0/wxFDJ9c6RyzwsbC5Pz7gsMihfzjIrd8ks9HL1hUxKK8wtlclKKSIvPCkNykjIdC6KKCgshLPKL5DIKi9SKpHMocnfz7It0ij0zHgtPsqqLYSzJ9fKKJHPqioqLGotSizDzLwuci3ALxgsG82ILoIs/88VMxIuSCu/ztrKQi4Xy7XKnChSKTAuj9KaL1QtwiywK3JM+Cjfzvgq38uyLKQqcCngKHgoqip4KqovFTFSKhAqu804LC/LrC2yKGwsw8/HywgtGCqvy8AvAi6ILklMuKISKFQuRlG2BAlJmisHz2/I9WJMK9Ash0zEL5IryCjMKX3SikP6KLIs2iqcBTQp2i80KOAopC9ryNtNCCzCBmgpWij4Au3NqUm/ycwssi/PzOrLOCmyK9ovui4sKK/OeiiILq/Pci6ULPorlCiaKm/NXgatDb/IBitULzIvdcp2y4LS1CyKLlopoi5GV3tGZinMLFPLZsomKbos9C7mzLQpx8g6LWAGbC3TzWwsxivmLqY1roQWKr7ONCk7SEYusiwiKvQv2i1GKHIopi4MKRoqUCiYK1LPGi7yKcovmC8SKlgshwMRy1go/RRaLwYu2C/IKfIsIwMVz4oqy0zoLjgvGk7aLNYtYihwRiKxRi4ILhQv9C4YL+XIMiu0LqIuyit308kNeCkoKjgo+C66LeQtui4DzLgoDi60K/9ODi2QKrwt3cw2K3ouNiiMLUTK+i2DzTJAWCgGKqAuBi5/yjVLkivzyTovaiifTl/NafS6Kx/PzCrWLkYvYirwzpAqkMwMKdwraix8y/sDMCRuLlwsVk3aLW4u0ijiLDoq4i7OKxgqNi4tyeijhCkrMhGBaoEuLAfLQSdILVgq20LIK6gxh8hby0wohixSKsdMEIXqN/IpPUj2LQlJECpGL0whTituLulMeijGLjosl8yqKD1OvZXERF4tji94LePMRipOLmFMvi0eL24oAMugBM4uGiqeLc4sG8+oA54u98tj4vjXIC0HyEIrmiqSKFosrinmLd4qxiu3RD4srCiVyCYoYsn2LNIoT8q+LuAu7imuLHzJa2UH9XPLskjBKULLNCz+LUAtwS0zT2LIni23yJQrciqULklJ60wuKnQsdfaixxItrc33z5oq78lMLEEsdiyGKHF0dfPOMB4vX8rBLJ/JwSn+KEjJLCpkKywpfddhKVyFESqyLawvFiqhKpEqS02XT5dMV0uhLwQs7CxhLuwrM0lGAwEqzoEVN6R3+i29y2YoPC8iTOYuVRe2Lq4vvi06LH4vZnSxViJP9s4WKTgrPiyhK0PJ1iwOKQAHkc2RUFYsjikxLIIMkkI0LOQu6C5uLfYsE81OL1wqGi7iKc4qiCvOL0XNlCyzyzYuj9NZsXwFJLAKK2/LLinhLkws2C3vyBEr3iwKQMktOsjaKmIo8SioKSYpHiqWLdYvAC0sLdwuNk3ZstCXMC+XyKkq9ihOKKEtUS83yyYuaiyGys3JzcymKGEupiphKbHLpi1JKSAqX2Q+BxIsexJ4AXIDqDEmyL0WQ7H9IX/O3ipaKkEvmcmWLFnJRAMkAEwDec4kxvr0+cxgzTwrGAHZyrwt6ckCzjnOBc92K8ITBc30Lf9JyUgAANJPSGAExU/BKHEtjUhZyf1J2SpYB9kpgUQ5L8IrcMs8y6pN+c85L9nMuSoFzhnNOknKxD+DuS0iKKLOlgQJytku+SyeVo3O+vGbyDkvfis7T/jLOSvZzUnIhSv5yTnJuSlYw4UtKi1VTdzCRSpsLtktRSq1Y/kpfAAFLaJJP04FK0IiuS/FKBLMhS4+LbkrXcseLWAF6U+6hKUtqc2BSdkqgaeWyMUv+SrFLlDK6c1lLULJk0vFLOUpJS7lKfzNiYAVLqLOFSvZKkIsxS//yCUrkFXFL/nO1SuVLhdJhSoFpSUsbCkEyzxyosr5L0pOFS8JcNUvFSrVL2Up+c6VL9Uv+cw1KuUuE8nlKbtKMSi1LkUqtSmlKA6DpSnKAJUpXCqVKOUudSolLoUrdS4rz1wr5SznzvUqpSteSfkrUijmLGvJ7I5iKgUvHM3VKLkodSsFKoUq2wI1KodCjSj1KQTMUcghLb4vjS31KtcFnxANLU0qOS9NLQLMzS8FLs0oNS4lL9jHOc0ALrtO6081LqnMtS42SdkthkatKGUrckplKM0tBSuVKw0uuSiNKFUvdS6XT1iBVSlFL8LhtSqSLNUsQC08yR0qdSptKXUpbS2FLFUu6UkEz8g27Sn1Le0tRStfQxUvpSoNKcTMdS0NKN0vDSvNLI0vV8jtLKNLjSwVLtVJ2SpNxRUsf85dK00oVM5lKG0rZS7FKOUtdSqdLC0pnS5hA50orS6oAq0ttSs9L7Uv/Sy9LCUsbS2DKc0vlS1tKTUsw8mXS5dIV0x1Sn0tVS1FKnfzQS6xKU0sHSqcBh0vrS0dK9UuvSidLb0qAy+9Lf9PM0tPSe4rLS59Ly1NfStVCB0vPS4UydUrIyrNLEMubSydKUMp3SvBLsMoTS3DLaUqgywNKYMslSuDKkMvHS3NL9sHzSttL7krYs7TywMqPS/C51UqXSu1KV0plStdKr0p4yzdK+Mu3S6dLr4vRilTLaNJYy/1KxMprSwFLv0p0y+DK/0skypDLAMv4yozKktNbQUzKatNfS35LLMqIygsASMpxSrjKEMocy3jKqMucy4DLpEvKij5KjFJ7SszLcMsgyjTLoMq0y7VKEZV/S7TL/VOCyuTK70vbSw7zHIoPS8tKhUtwy/tLvMvYyx0ypMrHSijLZMsvJajKssvDM5LTYQqEykGSdkpPSj9LNMq/S1dLSMvXSvTKb0oyyqrLFMuRMvTB3MvMsvtKwcDYyiTLg0tKy8jLOssoy7rLQspoymrKptPqy/LLK0syYEbLEsuzS5LKAsvsysbLHMq3S41KBMsm027SnIviSoBLEkpAS02LJkoQoKfcXJOHCrhKO/PLilCKt4p1CyLLG9I2PMoMXJMYinwLVsvESlAKekpiSj1LNDLGQDKLw4qMih+KwDJC4DzMlEqHSqpKW4rUS2pLfEriSyeKXotGi6uyxPOMSwTxV4GuxThK6PPtshjyybID87ULCktLSxZy5PKhLH0VVYvCSk0LRYsTi7pKnYm9C8szZsoAcxPT3kp2C8yym+gBxV0KiQopyzxLqcpQ4WnL0LPpyiGyr9LE8gBKjssRy6eLkcq8i87KSaTtIDhLzEv58yxKccuds1ZLHsuZy1oLQxQ5nfDLP7LVi1rKqcuqSvrJecqEssLLLDNDU0UKu4sCSkHKo4oqwGXKCQvcS6zKxYt1y7xLekuliktzqQsmMukKSlOAkoZK9EpGSgxK0lJyUiXLowrd9E4EuUEtiv2LasC+UHayCeDDyzGVeiHjQJXKCcqeyp5yg8r5gKVTdiFxs2tL4TMVAQwAUADwAZOBPwoWALKBEEHNsGDBWiALecKo9SGLy5J1Gdjm2ErZXKCpOItQeFAvWYUAmNAljUIRtiBVBElwinDrQf4hSnHyYQ8Q0rjsofoRNJFx4N6wDTB/MOMRieARYdZtX3FjyggRPOHLwHGkTOHJ2dRQp8rGEU0x2+T1gYr1sXkZ2dnRhNCxGEQ5Gdn/wHKxNo2DgJjRwvFXgTaNJhEZ2bvLaoGWyPpAp+HhISZR1m2eIUJKajFioQmBpeI8obMFlsV4rANBS4EZ2J/LJyEhcMNMa/Rvyv7RXlC1sPFgp0Bd7drYMbAiQeeAn8ta0WAq0OAhMF3sDKC1sByQxyE2jFRA1XD5QBFAn8ujQnAq6QyfyjpxBbHksDfKtZ0mwMWwWsBEMRHJ5XEFoYY5LBEnqf7AcCtooU9gzmjPWMWwulFAK6fKgCqJOZ1xaoB+iLFBIvExIS+RBCpaBYcRvRG4KikggCu8kIlhuCt1QJXZvJGeIbgrV8qm+fpYp8vf8IIJ6UGQ4PfLWtiiBAowbYGPy7ggmAiHcJ/LpCnGBSXBz8oDmZK55vlrwn/LMZH58JXAkuAAKz/L5vj44COBpePjFcnx4XFAKmcQZ8pZjF4B0rgAK8AriEEdyS3BfCtmIJXYO8lpCI+gXeyJkE+BoitMoKwrmvhrgDvJJOEwK04xsCtSKykkJWHwK4sRQipJAkpBiCrrYG1AZ8laxKfKJRC3gHlpaOCsK5+s22F5LAJB38tImeF4CivZIedZ2CrSUVornGEvkVHJJ3GyK8WxRCqTTRDAa4CKxRDBMpPhwYYriEFGKnoqpSn8KrwALMQrQeQqLghGK7X58kBXypxh70AsxRY8NCq3yqYq49jzMYgr98r2K7AgHyDMKk/KVitzwWRgL8oSMC4r6YGSKvzhNisZQPacECsWYC4qzpB0Kucj03EmjKLIACq8KvYqHARmKvwqgCsiJACBfCsAK2+BIwRNQCIqYCsHgRPJ4gwQK+IrYSp18MKQECrQK4xAA6BIUEaAsCsIQJEq0MDwKn/KCCtxKniRyfixGEoqiStAIcgrC2B4MTeJR8SnyiBg22E3iEyRGCuaK0X5GSsfoKfKmkCheUPKZip4KiErVQijy8akePCRK56gp0DzjIyhcSpsQeUQaWKO4XErvaEW0HG5rYyRKoIh3/hoMuLArXGIQFypGpDCiiZJOEDl5fgrPPKPwBTQ9Sqjy9OBwyRPgUWZfVFAKhaA5ioLgy0rPPMmUUX5RZhoEAQqT61Q+JmpsiENwRKY1DBWK8pCbhCpXRykfSo2K3iTIdFU0PhJ9eClKib1eng+AfhkMPFVKyZRRbn4Zcs4wot1gDyxVMUaeMKKaXk4QPhIe/GDKhRBoNmLKevQa4MTBaMqJ0G6QF0qIdlF+H1ogitVK+WRKypBdfhAwou9ODpAI4VbxVUrFEFs2AB0Y+D1gEnBRkmyKuthQyDCihuAgCpnqRaBuyqHiB8g+yudwN8ga8ENQdVBrWhcwVeAa8GneAorRzDHK6zxKzGf6HfQRoAnDXg4VyoegCMqmSHUcdUC1JBdK8KhJioCK7Ag7Ql4ra0qZCu9osYrryrNK874izlPKtQ5xCqRcaZBPPPBwVD5xMljAU8rmcGx+Fhg/SrYEEf0pfChweUqvDmvoKXxWWAjK/aAxiCl8RKEworUOUW5bGj2oGIBaVEmoGIJUOC8hVUrs/mSBIwDkyulBToEMCHLK6b5HCo/wQYrCDFF+axEQCuTKsyg1XBiQPvBByq9eO2wmeEXK8ui0jA8eb/tByr9EcGgkyDfwGvA0BFbseEw1yoy4VuwoUGnKtqJ2tkTsTSRv9C9K3AxBqCJwNcrwyErMflYnngNK7NgMbC+EA8qbEF3uJA8BSt7ooQrXqEbsK0rHyu00QwrlRRtKyEqc1IFYOfLz9DkiLsFvyALQJ+hMuCHy5nYwmG12QUwetCySAkwCwUPy0IQPsF4uCuww+BgwWKt9mAfgPmhdhDTYSDh8DBswHSp7TChQdF5uWUMMRcFS2GhIa+hmQW/ANsFLIBjgHxK04pgczALi1Pjs8UKvcteik7LdXLAQVHKsY0oAzHLAYqtcuBLeErS8/HKd4qKS5BLmOl2AGACIcvhiynKukvty+wL1ErACmRL7QoTyxOy6DDIAzqqRwG6qj+LucskS2HK04s20xnLDsoRyqmLSqppi1gAa7PGSmYLP/M50YiBMcrDIEoKeotQitZKHYsJy6LKtqovsjXK5MoOq9PK2sv8yjrKgsv0yrbBL7l4sQ3KaEuUyoqrPct4irsL+ItYAbFSUks2quLytX3aAS2LISxZ0DILsdK6ChBK0IvsSlXLAovjfPGKT1NZkJKKAPOKiunLqstbkp5KXkreSs3LHEthqu0gOqvkMxGrCouSi/qKSosbCvfzn7OKqz6r9Eu+q2uy/qv7Cp0LtqrqAXaqRsH2q7eznLKhqowKE8tOqpvzGaouq1kQrqtty1LLbqt0y+6qusog0XAhXgH5ysqKV7Mpq1yLvcppqhRz/cuEiplxpcuTy2XLn5OWCm2L14vWCzeLmPI5q7EKgkqhcMtBM1m6ix2RT4qhyqJL3FUdyupLBqoji83LAnErPVByHrnNqjSKJEugma2rfEtoSxar6EpKqpHKz/I2q+mrRvNxEMFIaqtyS+qr8kpwM5XKnYq2wdqMXIBlstpKPsqZczpKpqt6qrSLZqtiS22rgcpxq/bB2ox5acaryAG9ilRLU6pmqpqKncq9q2WqwIrKq49zEJLpqhmLb3OHXLUDrsqA8TxxEcCTGN5zrMBVACcL+EsJyn9SkxLO4JYB7wBpUw6BmwHRCyHKKHO0c9OqPUvqS2RLGkrzMyJDxoAlAIeqxYDVyYrLTfOoSjcyrnNXUgZKHnJ/U1XJgnDwywerljOHqlerRsvhklGq+crRqrxzIXIH0rNz7nKjMmXpy4BExe+AFktb04+rF6tPq6KySatRq3rLcHNocinS7HNnq/Fy+UxFYWkIl6tMcE+rPspKk8+qDcqlqvRy/6vwc/cy1ckfqs+pQGqPq5er36sgaqIyv6ovqn+rjJPJqnRKOwqpq+WqIIulC37yJkoDyqwkKsER7Gqr5co1C3HL2aqOq6Gro6rd9EQxge3Zy1mzrqp1y6HKHct+y3+LtlIyUrrzQ4qZy5hqDrwzCJUCskrJyt0KP6srk4eK9ctyqjOr9Yqzin2qiGpWq0ZKMlICS+mK0kuRlJUKLSiXiuXL6PLoaxXK8cu7q4aqx7Pq+XRr2Gq5CwmKucuLq6JL16uBMzRLMMqmM1XTsatril91QtAsasJKpGvViyaqvsrsCnnL5GqnqxyKK6r4ikhqkJLOyihqrfHzfEclhwrcJE3V5wsHk3okBpPCijEKmqvWSlqrFYpriI183YoIyihwZNndCvqKJ6tLq3WLaEtcawhL0VGiat5y8muMsznKWvMCar5SVXMAa8yyKmotfP2zB5KVUNpQCmuJqopqBousc9DKtEqV0t3LLTMo81pr63OqalJrrGrqaj2q04urMxCSQ4ogAWFzhmt9fTqixmqnBUJSNYqga7BqYGsvq4yT+mswyghqXIsrq1arDEqVq76K4pGcoN7saGoMapCK0Qrjy5qqe6vSklzw4e0sa1er2Arka6ZqdIsFspoK74phqwPKXFFB7LxqOcswaoeLz4p4a+xrwzPyqrAKDmoSS45r0IFOa7VTVWHVfGpqWYosS65qpItuayGrGGs5q35qmjCRayeRWrLlspGqequ4ah6zc7MnqvhqFHPmayiKgcqyi+2qJ8txERiIe3MJaomquGqiSnmyPmo9SjGr4AFeS6FrjsuOaxCSNGvIa5WrmVGgAzmdhwq/Ew+LnqvEU1A1+myGkUGK0muOqj5Ld9MBq+PsT1KnBLprWWuwS8O1wWtbk9TSTFPzYfUJYVPVa2prXau+yv68dWtvksEzlWrxqxEEGvONanxqbGpJayJcLWq2kq1qrlPzYaCIjWoZkDVriWrZa/XKrHPsimQzypAZa7/BX4rlMskBfGqLqp1qbOH9atrzfEpFCwRr9IuEawRKfySEYfGqGvM6Ct8yuqsdaqJLUCFjatcKPUq9qppqovLtgXUCH/PdioTh1msjatBTQWovHVhTemvsiotqGMqys0srdQNcSitrvjImqnNqtWrza+pqIXO4c1dTxPPxgHeqe5I9fCb1UHOVcNqgfWpTq6NrYgnzavbK/Qp5cgHKu4rkSiEtuyM2QCdqkDira7tq3at7ajlqJnKgsnhyBWtU0xZrV2oqIMdqN2oY0qdqTWsiSntqz5Ibap3LGmubakxT12qvQK9roZMma01r/GpjavtqjcsFyiiKR2uNk5LyLXxfq9prCMunaqSToGoDax9qcsufax5rMmBDa8troUsraiDqo2tza+9rSaoei5TKz2rikCCR2qtDa+QzM2u3ai2q72vrazDrd/Ow64tqSQDw6i18kOrzSlDqb2uJi2dq92t4a8LKZDKYCkyscmoIs69qHWpI63dqMOu/q+FLpapw6p21OOs3atsxiOq/aoAKWOpdajdyOLJE6gO0xOvfayTrb2v46sjrBOrJSsYBZmvE8kfSgHMiQkWBxOv2MD9rs2r46s1qIOAE6nBqhOs4inDqqdlFaujq5MoY63jqpOoE8mTr+qsXanZTsVKpaoMKlGt0SlRq/auhCp3zNGslyqqroOnvdJuq73PWi9FrNQqbc/WqoouzqqwlWGvYrIWKtcs4a31qtWvU8/drjMuxUjiyymsb0m3IjXzmbZLrycuBamOTZGrBatzr6gqv0zzrhcqWq4ZLVGoMSgpTtFIia4Vq/2nWbPRr85PG3UBAQoqyATKSwfwey+PK91KYypvzJmzGaqJRV6qg6uNq5qpMy96qDYuOylCIGuqzM1HLWur4FdrqmEE663cxuuoiYenSYuqxag2qBFKG6g9TB/MSKKpqxuukateqKuvDMvjSZao+quWrSqvm6mmrGuvhaxYLe5OO69Wq1utZHFfoxlLmoXrqpFJMawbrFnKcgV7qpIsWM/CxGUqma1jryNPtUx1SZup86whrbuosAe7qwmpAAdSzNLPC81hLWQpZuW1rskuRlRzyU3kXINpq3PMrbRaBPPJ8IbzyaqDBivzyQmtZ8xHr3opAARrrAuqFas5raojJATSBgavW6z7rrdO+6mgy+uvJ6hVqmGtFUg7rYasZq0DrcmtO6pzqGop6a8jr7Iv0c67rZutFyrZKFutPcwOrDuu/Acag2eo+68uROep667nqpFIp67FqzdMF6xULeupO6q+RUOqwayXqNOsbCgHTZeth6w5qCPJp6pJK6eu0U2uqtGs/dYdckxFiaiQ05xASa8iSueu26lKy+ev16gXqicpeCpMQZvJB68IzxpI2a83rVwoXa7LKjosyi2iAqesiCh3ri3Ma6shr/qpV67JDVuvbgdnrNeoXMv3q8Ysaqv7qDepD67PqTev9AM3qz6q2a6DqSmsAcmHrAEvl6qlKFusEioLrImrgUr40c+q66jtQferAMrbqi+t56kvrg+t3q5fy/sAr60HrP2ol62PqXMpoS3FScuuO85Prq/NT66uzGuoDquurYcWF69Xq5zl76iEt++p561Jqh+p7Uw3qU+AvskXrYcQj6qvrP6ot6yzrNOpocuhyqdIb6kXLlqoR6kELbABcACABZggkAB8KCAEMAESS2AAIAOCAIJJQAfySwAAmCAgAYIEehQhTWlOzymYJOAG4Uj/qV1IsAK8R3TOpgPYI+5N8ATABpYEwAF6ASol0s7PKMJNQAMSAsoAuUrdTpgB+sEtzOfICATmAKBrpixgwS3JYS7CTF4HoGumLzRHoG2UKFFHoGwLqzSHKgEgaNGsKQEtyRGyDeEty6YplECgaC4uwkwqgWoBIGwLrYnhLc1vrPZAoG+Qbx8ooG37yxMB4GktzVBqBgCgbZQtVAcqB6BpEbCaB1Br1c6YAmBuCssgacqvzyigbIPJ/gIwaMXMDRCwasoAoGwLr01CkGigbKRIyEIwaaoGmAeGAHBt4GjRrLpHUG9RrvBspQMzSRG1KcQxKNGrdoQIbAutpIMzT5BpCGgRrvBpcGywaMlMpElGA9BrrM8QaB4ECGyDyQ4ECGkQbkhscGmUKyBskGlIbyQG8GsqB1BtXiMgazkBAAWeLkO0qG1wa0bIIrXwa6ho0a0obHBqmCsgbChouUzzrpgAngdQbfqumAJbBXBuQk6YAAwHUGgVrvBqlASYaRG3cISYbZQuUwdQbPIv6GiYbXBrR6mMRWhrha7wbsqtcGuuzpgEqGiWS4IAIAEwAzAB3AZEw0Kt+i2qADLECYBWhGoF+lWqAtcEaIN8gUZEXwRLZwODNci6ECAFMs1tzQAFRMgRSiACJUk6hVQEhANJSAAEV0IHxU7wAtfN4AHJTtFPgAYQA0AGEAPAA8AA6M0igURuN04EapDI5ATPL8BtWAWRUBFN4AEwAy0qSUySSJAHkUrPLXAHgANXhfABmM1GBfwiIAFOBYIDggGjS+KQEUt6AiABJGskaKRpQAKkaaRrpGgYAGRqZG+CAaNMuKARTVJCIAefqQAAAASXWAeUAFJN5G6kasiAFGnHIyAEZGmCARRtWAHzJCRoYASUbIQFlGiAB5RspGpUaNQBVGoUaNRpZG1YAFrIEUrnSldIyU3ySwABMAFwAolPgAMnTxqEhAMnSyAEGa/cE5EBo02ELCRs5GyEBSRpmCHka+RuVGtixzRuZGmjT+lUJG4kagxu5Gn/rFRv5GiMa1RuFGy0atADPHQka1QEDGrQBgxvJGxMawxtNGlMb1RqjG1YAjEoEUkiIWRq0Ae0aYIGcAJMbwxvpG1MaLRpo08oaBFIyKSEAaxvAG40bkxsbGksbNRq0ATnzxRvGpIUBsADggFJSSJKDG1wAOAFmAPUB4ABtU+YI8VMQwd0zfAG0U4gBSlNoANAAh4BRGlsaxRsMUtoA4xtzGhMbuxobGwUamxtLGgcbtRr3G+UAuRpDGgsaTRtpG4sa0xpbG60bDFNyya8b4xtvG48aixt7Gp8ayxv9GvcaGAAPG5JSjxvrG78bTxr7G9MbWAFHAXxS3xpvG/MavxofGn8bmxrLGzMa9xvYgICaS3JAmwsbEJvAm38atAB60nUaMJrzG0Mb7xrNGs8b+xtYALwb2RpcQd8bDxs/G0CacJtVGiCaaNPP8rMb5QClGg0ajRqTGqrAZjOKISMaKJpAAMZBfFK80nzTIQD80vFTjAV4m6WB5giik26EOQHImyCbBJt3Gi5SUYCrG9tS4AC7GhiayJuYm/EbLxpUm9iA1JrM0jSa6xuwm7Sa8Jsoml8aVJpoAHMbgJvom0ybHxuQm/CaYxr3GtUAiJqwm0iaHJvPGyibUJpUmwCa4JpImnsbcJscm1gAioF8U6qB5gnHGycbpxpcAWcb5xsXGzXgtgFXGogB1xpoATcahAG3G1YB1VKzG6yb/JrvGwKamJvMmkABqoF8UnfAbJswmuyaPJqQmryaiprZGlyb5gg7G4yaEJrMm4KaipuUmkAB/tIyUzALclLEm/zTqRp4muGgMKVkmwYIFJtZGvSaQAFKm3Kamps8mgSb5oBKmmgB2Jv1GuUaFRr5G/qa+JpGmzKb/xouU2CaPxvgmrSbppsUmrItqJuEAWibbJt2m+yaqppmmnyaQAErGhqbaxqmmi6bFJpBGwkaTpvKms6bKpqCm6qbiomemyaa9poem0UbapouU9sbqxsam36aPpoEm56AwproIQybOxpMm96aCppamsaAYJpomn6bzprBmx6bnJouU7RT5ghyUrJTVjiSUnJSa7MhAPFSbVP+0ynSWsHQgdaatAHhgOaaXpuImvKbVpukmymbWAGJgJGbjppRmuGb+JsUmoHiBFILU7FSMlMBsXwB8VPmCRCSClLSUrJSPRuxUyEa8whmMuoA0ppoADEbPFLoADKaqZoBm8aaaAGhmkGbUZvhm6qa/0F8UoGb1Jrum0GbtZoEmjiBfFMeSm/TukCQifhB5ggyUyEASZoKUiWgtfJ8yLUbLJpAAGgBbZuBmw2atZs5mmjTrnwrGtUA8ADSU7ABUgGCgd6T0IEVAMAAOZqGmrkAtRoxmpsKwRoEoUQBslMKqjbSIRqhGgQA+ADhG+AAWIDQAFiAFZvRG1Ea4RpygNKb+AGVm5marptUm26bNJu9m9abQJMwgTfQKBrIGiRAKBrCG6gat1NoG0waGBt4uZgbvBubmhRz2BrbgTgbhhsaGywbS3MHJPQaklMEGvuaRBtqGrdSsho6G6QbpgFkGvlSyBv4GrQyyBuUGobyWblaGn7yl5q0Gnwzhhs3moSaCK2jgVwbjBqYFCeb3Bp3m8obBIBmGs+a7Bucga+bnBuvm9waR5scGxWrvBrWG0ebz/ICAcmBAhvaGhIawhubmlHKCKx6GszSYhv4GmEKyBoSG37yfYECGtIblBsyG/oa/5tcGuszhhq1gfIb+hrAW4obBIAXmk5qKhtaG6obBIFqG+obsJLfmi5TmhtqUwhb2htaGrobBIDAWvobkOwwW1wahhoIrO+bLBrGGiiBWhqmG1SB2FscGuZrvBrwWmurvBtPmywaVhuQ7L+bHBo2G28R1Bu2G1SBdhssG/YbfpWDEBZyepNAki6FwoEMAeAAEBq/6p6FQJMMAGUAhgiggIxTKXOcJTwK2syFHQCxRMxlpYGJW5Kfa6CBFyWWa2ZMQxSSoFhUWBQUAOxbYOocWo8kxKD5TeWziyLLQXFzsZQ8Wi8KvFp0VSE03Fu5HBmM8YsdFEJbhOpxADfcnFrLKGfd9OtPdOGVNQE8WiLKSANd8YdcC0vQA3yLZIiQTE4BbFtCWrJbXjRyWzmMiXPyW6ghclvlsjQUSlviW3IB8ZSR88KxnqsTfRIKygrhlBpaN3ON0v6IzFusJRFqGyPUwWS1ulpCCzdz/LKpHPgzmw0VA9+yNBQyWpHSTMpZAfGUZ3NxilkRiO2himJaDCVGWtGLxlr6W5mcedXyYQS1i0mR8mWl5lrwaxZaElt7JCKR1mxQg1EsIEuw0rpbrtJvivZbvpUvc9+zE3zpHPc50lqeWi5amlrBlQfymyJKPZGgyZJUVepaflt2WpZawZTviIoKaRy/+Qid/IrBW3/TnlshW15bjltywI5aZtH3kGxbwVt6WlFbLwBqUmGL1lso7TZa7CTOWnpacLLxWyNE0HLX3QYNL7gRWrZacVopWy5bvpT4ka0zysxtgd4psVqRW35bvFv1FaFS8Ys9FdmdHtNFHMlaxltxW5lb8Vu+7YOw11yNqheLQGS5WtiyeVqG3c6KZgLajcyrbltFHbZaNwqVWrH8mRyrcmo8opCrcuZbGVq3ciVaqVpmWgszBVvYIHMMsQFFWnZbxVr+Wo8kPM0BlSajMw3uW2JDjVu5WiFazVpKzcvBOVqBWw1aCzMRWxVbvVsdW/UV3VrRlQVaI1plpOJbyVtNWsNaqVutWqsNqVu33UUdY1rFWplaE1vca/ptKyKhlXuTAVrTWk1aJlqhW0kB/VvZjVlaoS3JjOwl01vtWzNbeVv9tdqMBt3LWgpam1sh7GtbtVtDW+tbYao6WiGr2Yw2PCfxZLXbW5FafVvRxf8yZ9znClZ0h1q3CrozKVthxQmAPQB33fmlnwMnWp5bp1peWtcAVQGLRQIIZ92UYOCLYltXW9oztwtnW0dbZ3MXW+dbkWvD7KdbD1pnWkdaKiFUoPHkRdWbM9xb3Ouv0lPyhGuPWqwlYoq6in3tFtCzKZ9bKut5Ut9ak2o/W/s8Mj2/W668v1qKWv68yIsA21qKu1obDPWAH1rxLe9aRpH/Wm4LvDKA2qpys1uqDK1Bi0X8iwVblGCQ2xbd21vSildrb1tA25Et4E0oavDaJ12xNGDbX1rg2qmtS1vlW1EtcNr8i2jboNoFy2DayNuw2nmklVTFnbPtf1orQ4JaX1pv0xjbGa1n3fVaP3RB0wiCyZRI27wy9Iqw2+DbApBu0H1p7fQS4C6KRNoA26/TFNo/UiTbVNo2bfqM4GCNWuTbRNt029db7gFTdQGVCuv6jAzabVsiXeja+VPE2lWtm4BuW3CDs+2Ui1VatNvQ2nlzzNpA22BNl1u51cvA91tM27TbgrJeM5TbfBEBlBZ0P3QC2oFM0Nsc24ayKvIs2yHFNnRY21E0b+C4FWx5Ctkh7LVbtbOLs8jbInKk284aLrwXW4jbRNqS2iTy/og5AEoAjPNagbYhUkC9XL7R3wHJ6xWzrpInAQfqv5KAChyQtoEeWsLbKttmcyLaBR1rsIUdhltOW0TaUYGc2xkcDzKFHZVxUYHG2sLbJtp42oba5zMtWj90FIFRlFdbFtoA6lLaIS0Q2v7QQxT1gS88Etq421AydtpA2jba/IqFHaBBi0XZi/dbttqm2jkdsIqhLdmKGBRJwfjaONoc207at1PO28jbyeC4FNZarXwMsNxITtozc1Ayh2r02jPDgdqx6q18wNqg2r7awdt5cx7aJLTh2j40wNrB/e7afNuU0iHbdtqZcc3wg7XsMLbasdtQMrzrcdrKcII4ZVv7ic0xU1svWibbSdpA23WDxwtx/ToKyJ3K2xbb6dr+26A53TBp20ddwDLVqtnbidq3UjnbeNorU90w2lo6zJ/SnfQfJeTbpAuF2yLbluuLYMVMhcBGWp5bAHIZ2pq1n6uAayxBGbANfRfInThnGbXbnr2l21Xb9/PV2rV8y1t12m1rCAIZWpFa1dvI28+yg+1Z21RU37KDWm3alMtN2v7a2vBgwLlVSuD4YWS07Vo3Cu3aRdtq0jEyUkJz7ImAFtvd25+y/tu4VC2KFVQ122kItdufq0HbH7I924PaHdpWaSnaM9rUczVaTduj24Pa0FF2odza81qL2/3a89rJ2nrwmdubW7IRI9oActPb5ds0aOnQldvCsBVa69vz2+XaejP/PQt93epjW8vaGdoz20Xl4JwDtQfbe9tt2+vbHu3UCzpb2Y0b28KxB1r72mPa/tDj2vtbF9olTOfax9vb28Jb/0BH2vEst9p7PUfao9or24Jdi3yBWwjBj9sLW9faydohtF8BI1uk2/mlW1s9WwXaobOS2kDbNown8RNCPNrB2fFrvlsW27eqyduaSxhw+aVfkb7Ba9u+2p/aqtv82gaMrZRSWqHFka282xzawDsG28JbzTBv2zMMMkvWch/b4Dt/2l/aA5RG3V1a3fIgStayQDsR2hA7Idp8WyA7SfMXWvCyidswOiLamNqAOvA63fW4IXA6y9p/22g7+lrxuUbcqyO9PEbd7NqUFVg6CtpF2stCeDvcJf/bvrO/2x/asDvI21/aznNhWz3toznDFAwkA9ujstg7eyS9tVtbBVo4O3g7e5IkOlQ6yDuqjKA7F1v0O45sDCRl25TTJDpF2rBcqaX8W2/b/0EECuA7QDr0ixA7BdRy8gt9US1Gq+rzadsW2xw7SDo3W3+ITdWsOncAbcCsOlPanvO8OsnauLN9M53aYpLZ4Tw7H9rCOiA6AAU8wCBMf/F2ygXb4DviO+3aElJiO4sjEju+vTHb0jt0O3w6kDhn3QewkjvyO0A7E2qcOxxamPHcJJyAd+BCOoOLpAsqOnw7B91KO3NbYcWq0GVYGjvTipo7CjsH3OrzXDoy27GyvjTqW0LbH9uaOsnbJzWCOghMbrzsOtI6Kjr6Ojo6RAjyW2LbteqQebo7ijMWOrHTodpo0FlMlVSEOWI749MT0lsL6MpW2gywiOze2jHEiO3KOzzTjjrli047wlobMVSQQxXOOj1axjqOOnTy9PIr28xbd+SDtRogc/PsO247PjtbCi7bv8HWbGLbAjrBOkPSFDuN23/TZYq+OhnbVpHD8mo93tABO+Y6gTpOOw/b/6GROjrNicsFim46EeruOhE7Mjspk4mtDtsmbDOACTrGAeE6QTs926wlpxWggnY7PtvRM8MyaToeOwXVSTvA253bOTp46ttatPKJO2k6RdtOKfDq9OCk0Y69qgHTa3LbVdoWqv7aZPHLRLlVCYFIPbo75qvZOq5bYsoO2n3tRqslOjA6kdMo6gval1t/iF7t0cuE29E7H7JlOwQ6EOrLakQ71TqJcnU68Gr1OyLbg2tFatADs+y1OgjqRVulO1U7vpTlOqEsqNsE8RU7jXxMOz06ydoRAWi5mqLzsYxR99oZyr061wAfqd3qFQPjOqM7dTvNO0AAatvsAOraz61owMtBiSlowdFK7gBsYY6gv5I62hMQmkC62gTyBaFQwPralMpTOgVVQtIFWjrMTZ0t0klbgcXbWkSagQrKWllah4lEU6CDiK3BFbo62zvgAcSaK9u2CO0D2LRHOisienEBOhHrAQsHO4EKGdrSK90w32oVVBc7830nO007qTpnOoc6GdvvPGgyqlo6zFc76Uq0Ox50AQp802c6OzsvAA870mlkO8vJRzv7Ozc65zr+28c6nfzXOvI8XgtBgag7vZIHOrc66Tt7OjU7QlxdK2073js/O+87zzsH3NH9kINkOu+Bh1yySqk7Gjo86uXaOBWhZYddZDqQu2jqPzrB26rrltqG3LDBlxmKjWqTaZXQu0ryquoQu7JbiK0TFWo7W2vw6wC7YTuJ2zC731sK2tY6zZTwAnistIkIuguy6LuA28jbyMjtIXC6fexdi6lC2Lrgu7ZSOLqU27C6/FutOnC7+dr5O7TaRLpaOjfq0IIJLRdbwLsNlNfbaLpIuqXVwvllwaNy+zyjcy5q4ZWPIVeBBdvMOlbbALD0u6ZsO6oBa0UcDLtE24y7WlNq216KMZDsLctDvyBPICWT8zoiios7fwAxCtra3aptkO1RIe2susLbbLuyWpUKl8OYu5S6mqm6OmXqGdr/4Hi6TTojfJJbx2qiu+BqDHOD2+8t3TFiQFRUajyX4NCrmzpDRLVborr+24xy1tt4gIdhGHOMOmi7W5MKu4Pb0TLHla87arrCu5K66HNSuyLbwBHKumzaP3WQcnPbDjt/q5q7Jjrx/eZpoTWIciq6WztJ0lK6K9ruiJlN39tKu5fztM0EumxzxrpiuxK7L2vdfJPbUGvXOu/qedO+OgXSGDp+i6HZ/esh7APbqrvl2sq6L7I6uma6IEsGuqc7OdMWux86oTvEcSnb0rtInFXbf9OOugVVJrsVTaS0btDHlJq6trqWu9RUKDqGO0K7Abp6u4yS3rplVLs70JzHOyG6T0FuoKU7Xrtuumq7vMg8Vdo7vfIBu2A6NroWuvq7tzvuugQodVQQsPG64ZXbW8G6M8PwgtE6ErrJu+K6NBWJuxG75dsMGBXZrzvpu92QzlHhu8MzbHP6uicRSKCC28q7ZNsqu3q7/6uHO92rY5BZumo8nkGNuXm6fIAKu+BqAGpF2pE0XYKC2jxVRjr5usG7pbsFupULXnPcXK2ql9Reutm7VbpA21QVvmgVulnqsetgurG6Bbv1u+66ehQ+NGPYftifq9a7Qbrga+/r+roQsK26ZjoQsSJbMbvZuxE7wauL2l90xbqyClg7dbqdupa7hrt9u73ylFW8yX676HKWum27AlpQanXagdqQata6ddtNur26irq1fMYlyAIju/fdpLqDu8267rvVuqS7RVTjOohNVLqquvW7yNrlu126hjpdu3tbc7vLu4O6uLucS4jEZVp27eFbrdtJWl9bGgoEOx074q0Pil06dwB9sxoMO7p8gJQ6GgvE8qo6jyTaC9Fa+tzpHUbQiDqIugAz5msnu/UUQer9O6e7QVEDu+jbADJ7upA7udumWrpwF7oLsne7n9s522fc6ymInOBhq7odusYAruv72jHFpBXZjGxQstu6Ou+6z7qoO4icOVXh2o1U/tLtU0C7vQGfu3HFyIIl28+667upu67S37uD2mrolVTDuu6g5VRfO026oeor2gUdccKH29Hb5rqQes3aIEq9XTV9sHtd26taIHodUv/bvwBx/QYMRoEJW027xjJpC5xrSlJDOmG7g+w/dX7IrjHmuqh7XcpV02h6QNqYe/YxZDq4emuI8jqAu4yTWHtpC9h6S0o4FL3bcYt2ur2QAlLyuujbvZKEemh7RHrVAsJc8cnt9VjArcpvu5JSXcuEe6YzFHt7JaKtD7u6o8HhY/XruuR6tHoUe4h7oxFIe8s8SHr/Okx7BHrMet3KOHvfu3iTYHtF28Yrujroy5B6rjoYe3iAtNLeO5W7oQoLUizT77sJgVpzcf2VQSVTrrvbUoJ6Yzu9RBNTYkN52ytTAzoCe6UKYnq8e0J6matx/DJ7QVqDO2jK0nv+uphR6rt7kyI7Tbr5SxFKQ7tW3cgCLbiPO9taynv3SkXbDFUIgNHbKnu6Oup7wjpmbdYKWR3NMWS0DLBqyyMylru+uqfaErpJ87LBW9tKWrE6FDEke5bqQBB1uzJbiHsAscm7+owyS8m7TbvsW8JbjaqxWvEtvsDKDUZ7xDrme727vLAN8sPakqCOe3Pb4+uIe+IJio0lhbHZZnvGekDbzFsR2Ubb+4qrO/Z6pDusJKx6Q+1Eijnqznvp8sJaIbuq4bUMsOxs06LExnsaWhvbm/JbCLlUKgS0OrVa1nok2pKFIjoI2myc4AtBe6zqGLsmbYB6StsmbZk7w7VeepG6RnvF2ma6SfIxu1m68Xrpu619GcWhuyeMvjQOO4NayXsQuus9hUhlW+vkp9zSWn576Xt1W0VzFEtx/MchSiSPum0L/7s2AHGKASh1VargTNrsJWF6/nrVO657HnqGW5572Xruet57FiHt9X2RnqrpexV6LTs6i3k7bNrlVEUcNHr1i7a6DQpHXBs7aYERjEe7E0XbWuF61Tpu0YsprToWe/nBujqteo8lniibOt0hJaR2S2A1UXvHihnaa0hCS68605BdCqJ6DXvuexTqeUgbIqi6t7o1elba5KCRLUfdH4HByvZ6o3trO017x10vu3EQXaXmup16ITUuuuY6Ersuu+tJbnrBe6dc0Vr5enl6swsjeot6JNrWi/PrrHrWiu7a3do5e/ZbmdiWAI5bF4PLgAeqMGv1erN64nscXT1qw9u+uvt6FXsrelzavnprez57pHvreiV7rtO7e31akWoCOmicjXxhe6d6pXsZHC9qlzrJLJxbCOQretF6LDoDtE2rUS3/QNbyXnqTeiG6wNolpYu6p4GtMqXbJbuXewV6BrCcczCcebsLend7ItqcgfuTF1ozIXHV+XuDe9O783rpyTV8RAjVeht6T3vKWjWgt92Ze1bzlsuPe4d7zr3lESU6GBR2S7U6BHpfejgUyFL1YGfcMyCzfLt6V3u63E1zccXKIax77XphO0a7zntBO7Z6OZ12ewYMtbtjexN6YPsvAD16nsBxjfeQBpLde9V66PvuAcKZXsplW/YJh9y0OgPaZ3oc8rDBPGun2+5JZ1xqe297trrHa/17N3qkutj6UPv+e8h76zoR7S96Q9O/QUl6QPqdW92q6IlkOndkyg3Xew66JPvvuxIKM3rTekJKJaVWenD6qVuo+yF6D3rKDID6p3tI+9O6DLCsqD40keyN2m97HPt3e/9AgltpW4dcDOu/egT6AWFjClA7aPOc+wEAvXoFe9p6Inp8e2cKsDNo++T61TptgD56uDurepd7PPpMunZ7CXtBy+N7qFI9O9L6BVTJ/KmkDjpqPYRKRJAi+n97g9oDeoPthATD21lNeqkzeyz6aJyfel7tzqvK+wL6vZDoi9R9k1roikLaUnsi+kDbmkrKS669VXufe717yNqYCkOq8SzzscN8LPrver2QEuGQmGEsImC6+x17GvtpHcuBx91RLTrrNvry+3565vtq+BXZys3XOFm65PrG+oU66zxqi6684PvdO7D65vqdOiN7w3rQu1b65vstAbTSZjpac/x6fIEtetb67oEsehJ7Vjr++696Q0W++/b7SIIcKRk7cRHq+pM72PtwsC47OrpseoH6TgBB+/q7SFEr6mY7UfoOwcB78vvxlRD6bvtFVXH7zXqR+wz7yNtfSz16eBVJ+xj6ibuJ+4PaWMumShVVafoKkc/a9vor2hj63Xvx+1FKyfqZ+xt6p7o6exZ6uDuWeqm7cnuZ+s3bAfs1fUX6qfux+1Q7GvLR+wYMQlBl+ux6Evr4tDH7aow6zH0z5fqx+4X6GLrju+d6xyT8W6H7FfsKDYOrLX1v23OrOZw1+7n79RQW+g5gGyJiARb6Jfs1+hp6LryhiFxbv/P1+s77ItpYynr4s0U9+lCLzfo0+tcAdkumVb37UUqD++36LfvuAFjK0sWD+/C4o/rD+/37vUVfS+D6Os0T+m76/fph+iEtpvps+jd7M/v0+tP6DfvuAF16WPoE2ncBC/pD01j6hfvD+2d78QriQhEK4/vT+hYAU/oHuyIBcMqQ+gh7Jfs0+gywNlTleixa3fv6+pV7M0R97ZV66/vz+lI8rau9WaG6x/pBe4f73fveu4p7WerZnNz7e/oq+jvbvwECQ+PbV/s++4H7qfo9+jn7KftRNVn73Pq3+9v7FLWberP7ddtP+3P6K/vj+gB7Z9yKaS+7y3qX+9r7noLw2if7kS3M+q/76/t1Edx7F1o++xH6sQGR+hnaffrlTdn78Li9+6f6+/rSuil7I7vcXeDRKXsf+n77FgBD+w076fqQBg6gFfpn+iTakvtsejs8WPrLu6/785MA+o5bCAfgB/b7S/s5+9GUyAb3+9AGIAfBe6F7N3Sd+757qAeX+sR6A7R8++oNvPs3+on7j/v9tAd7jXt4gbEslQPe7ImBt/oFVSP7JUxQBmP7xAa5+/AHGwBpSun72Y2FS+QGmAaf+19LQ/oUB3DK1AeUBhAGGfr7PHQGSAe2u4ajBjpr+ud79AYtumpbKluYu8wHFZVMB9O7Bnrruq187Aa1AvP6MAal1POxQnJDFNwHcvq0Bu76brxDtNsjq/ucBmgGOBUUBxn73XrkB0IHAgeYB5wlVAeQB/f6NAdiB7wGydsictf7eyI3+v/7hAe4B3CwUgclpS0BsgciBlQHcMvIBkAHqgHIB/IGEAdPgb/7l9t/+mwHZbsZe8f6gttVqtl7EgZDe6z79PsFW1oGtDoABzI602uN+yE6egcP+rgGHfp3+p4a8fo/dAn68Ac/+4/YjXxC+9HEELDyBj/6R/rd9V469zsHu957bHrKBiLK0zpXUhy7JPyMwR312zBHUL1FRfM8uj/rWtpLu79qUQn84Id7FgaI0YtEIPrA2/h6+vpu01nULboeB7nV0HtaeyUyLbtqgRg9udR+B9D7wAeeBrtLagfJrA3JubufMz4G35Gdu0EHUbp4EKlTdjqDelEzoQcqM6E0YQchBr1LK7u5VQ1q3btBBiYHVVPyYCx6BpOL+syA4GDC0zG7i0rJ22UDYojteps6Bgc423ZqviHme2kGrnqJByEGNQEv22fcyQfqDYF6Jboteh9LKLLeexUDqQaGops69XsiBikGzdrQIb3tl9o+BxEHfzPvu+QFG0XX+qUHknpI+vp7+UqM+pHs/TvccLUHWnvlBs+64GElie/7TRW/u7Q7kTP1Byr66zzt9XH8GzGtB8kG+zKWuow62gdV+hwyjAdKeh0H07uqjdIVyAKdB8T7gTI9B9PaoTrtBhK6vQcUu+0HlUqWuqHEdfqbMiEG5QYjBuk6Sz2DBiiDEwfQcpgGynoWsyUGj9iU+2GqI+vmu5LSEHKgelN7hFFberMGMduQ+jxSZzLN2hWhiwc1fasGQbvFBysG/tpO5cE72LR2SuLL9Xu60/3C6TpVW1x7tPopOvMH7cG2unsHoILQIG5TEQcHB727PNohO70BmwevKgcGDsrpO8HhRlLD20cGZHvpB/EHkaAr2y5J1mxV+3iADEMLk+cHz/PnO7XrGnIog6qNGnNKe+bKmwYgtTKTcbNFVbcGQ9Jp2y8HNwe9u88HRgf4ByG7lwfJBq8GaftRSwrL1AZtMGgzcbOfBo8G/tofB80MmPqaKqta1Qb6yl8G7rsU+vs9BVUmbMsGnge601EycboMsL8HiO1nuLCGQIfQhxcGB1JKu9LS6tMPB/CH9Tpwh7MGsdPB4OpTxwZU4QW6EIZ1VBiHAQbQh7a7u4C5BiiCeQfnBlLSfXouvC4Yg7RGgPiHaIe4hn86jpOggtiH8Hpgh80zhIfIh0SGoXtkh5iHVWEFu6oAL7uXOyE0VIe/Bi0yQ7q9gIp6ZtrZB+p7Wrszwnar3vq1YaCG+QenMzSGwIcogrR12LUcvF5zUBD0hrcG1IZh2/c6rIegBjSHynsxBi1bdwdo85VwnwfLB3lKPGEch1lM12N7BljLF0o7BwKGcbuUh5yHlPuihvEGKwYsh2oGTQKMhoG66Rxyetv65ssSh8F7HX1yyLlUx2pxe486dFMca7RLJwZDanGsgVsSCyfFyvr2akqHZTucSqqGgVvyh0b7eUuKhrDK6oYUS7MKSvqRaoQGf7qKhjDLaofO+y3L4rs+enZ6l/pqhtqGkbvg0Lz1XPqRawn7//o7S1qHWIbKhynbGzvzfcqHpAd2axaHvbv/QMrb0ZRaaw8I8wdah5xrHIYiYUKMbIbWOh+pWnqOhoZrjwY9arPs81sdfGb7/IZ6U66GVdK8ewjBJvqfuxxddodKe16HilO2uunSiIaES6L7eQdkezaH+ocGat6Htofnq6MGK1Ie+xEG/odV06GGxPsZOmGGroYhh46GeIeqjSJ72Y33BzJKCodqexGHJPtFa4kHtjvw6yk7nofGhzGH2oZJhx978OrpBhHbVVKJhs3beo17BpyBO0m/eptr5dsMeQ2RiJ1zBzmG5+q8emE0i7pAeuYG3QeA+85bsuqSByi7qqpmO6pB8OrmhpfBwVvk6hi7S2vzfFYGtsE94dWHt3rGWlWHAwbFh2GGsmpWa8r6uYaG3AsgpiAK6mVbZ+kthnWGdlr1hgyGtYaVAjWGc6qN+6JgDPq9W+2Hi3uFhrL7l1znpMHLZPolhuTqvHpOe3oGb/vsMYj6Q0QD202GQrsQ6lC7M8ONGE2HBYbI+4BrLFr8+poHTbujh/Zawdiz2/XyzfsUO5WH+rpNAhOG5YddhnqGaYxDWz2Hslvlh2WGhjtN+t2G7TqDhlmGygyyujrMC9FuIKfd0oY8+iuGK9vZh9R72lvV1ZqGO1srhqX6sJzsyZNbR4bchpgHM4f11HPCc7vyW2eHOgYLhpuHO+oxWgeGl/unhp7a47p0+xK7F4Y9hnuHl/L7h1uGD4cyejaHG4ZxALYG6tuDsVqRYAf5wVvYWtoTEb1zizpEkws7rpKACoPwEcHU+yWHPYYvhhy7pdFuICrAz9jkRNy7tQBqoR+GvLufh1+o3aorOiJhP4bPh3IAf4ZJAc2HvLGqdJAJgEfcAY4H2tvAR/8AfLrM6yU0Pyt2+rCypYewO9Xh83yb+lhrM3zDB/V6E2uR26jqyLtPBqaj2yNT+56HqEawu5wkQuqbAWQ69gt7lBB7mEYzi3e62Ed9AXGF7fQqwDhH5rtuC5e65Lrd9FqMkupGhtJDqLskhjC6JEboezNgZEcE2wwHCutNu8RGtjrdU0Pavod6jPORv3pQM8NT+EdNtUfq44yH2/fBD4pxese6r9OMR0+7Awe7gBepP7smbdIHeoYZBl4AvHu7gS5JiJ0cRsB7KYcfSs+6vEaMB3nagkaVur77+QdAS7A6k8tyPEPsk8rCR/K7rtMha2J7z+pm+FuGSto16xWG3EapCiYztHpKUgsHX3uAc7agZ910hoN75Hsce/JGGXrZC7eAyEcTECM6T4aoR43LftotO++QFrGKjHbR1Hs0RxpGaEZw2qfdnQYObblVWkaDekUKmkYMh/CCRRGYuqpHczA2OrpHWEal+7sj8Ntv2jqG/QeJ2k3L6Lq8+grrZDqYCiKQxEZmRtZHItq2RpK7bPrSQ9OHeEf/a7pHThD/oTuBudTGRoeIl/uGR85GiFF6RzZHOmg5nS/6Mofo21ZHOLsgB2ugMcvcXWugVntORnZShcpMR1FaocRmBwzAwUeWR80GBQcLBj+71/rBRvUGYUZX+oZtFlyOWlFHJ4fFBilLOHu+7f113CQBKHcHXEdxe80zlkA5B4F7JHorW2zTaIZJRkN7xIfJR5Zr78khB6lGSfsyYAlHo/piAdsGQIeBByLa9goZR7qiU9kZTRlGuUZYBtiqrYazDXlGNIaZRkXbdpQGk866U+xxRyhHOUelh0O6KLojuwNR9Xog8pVGAbrVR4sjd/A9u9VH4HP3hi1R3lqPh7Hky0CdSBhB7hH1R0tyzdvjIamJqvt5IGpGkGFMS5oQg3v8S6rb7Lpv+ohwFpHNR6ChzvPcuks7GoBOBmxh1EDLOodzJDFxJTG63UZxu/i6DgqBe/JAvewEu6ZGqupGRgr6Ac3aYDxUrbE6h3E7nQtTeoZH/QpTRhBGhXuRoaGBJLohgN16cwBsYMBHTgZLOyBGzOt0SCEwGkeTRh5GalJxh+oNwLoDwecH1VJDe9tHDNrGB1ARMpI0R/xG64DJ2txI4GA7RtlHbwfiRsGGNwa7R8b6mRxohwYMjm1Bh9cGPFL6UkN6l0fHh6R6EQfDB2NK50bQnaaLBg33RsEHmIbXRz0GU8PPeo+HI8Jzu077WAC5anlqBntXO5i70SCDw6D6LADvRt5KH0cNAn0Hz0cHh99H+rufRqPD4fvajRlryvr/RyUGkWrnhy9GkWpQhruH0aueS7lqP0ZEhi19MXoIk/DqnAYWBsYAwMdsBx9HpLRwxwEGsMZBBr6xmLuck+cHQTMxBukcx3vh+ijHd4cyhsjHagfajVKRLAYSQbJCv9uuBjrzl2r2R1D7Xw1sIV7KVYAmkCBNLRHncYYkIYCnRrEA8tu8MjjGvkYKRtd7ILqcWpGFCsEMRiTH1LrIOwugeMY5nIBgu9HHW/xcvAZvRno7eVMkx0S7C0YWEK95tMczcffQjgdAR66Kn4dBAF+HfLoewEQxYEfYxhC6jMdGEQwwsMHkxs1yK0b1qzBHq0ZEkxgBQ0f/k0PQG0YbhpzGHkZGwjF7KdvcKCGUMHrtUwHTvbuM2yiGBrCpUmDGzIcu62LHWIdXB7dGKAd8inXJX7vSxycHMsZWhyTa1wcZh2+78scshhLHHUZZaaLGl/ut60CKUIlMWxxaImEJlOWG7gdIxoVH+lteG/76StuaxzgGV0YChyog6HtaAUnFmqJiAKH7aIZeB8jauHvGx2X6qVMJRwqH3EcmxkXa1UrFAUbHl9Dhu58Glsci2/UJXXJtA4p7kYnRBsiHtsf2x4tIJ0diAcKHnwYxB3d7cQeao2MKuIaOxhl68axih4sMUQaEhh7GlHqtq+7Fwzup27o6ykZEe4h7bQYBB2Pt3aq+x0pGHHv+xgb7VetDh6P1AcYJh67S/sZ0ewkGy/utOj76GYayRoKzwccRxkN7Svs4OkrblyCuRvNGzkdmRzT6lkfHhts8oUdO2z5HRLsSW/HGIPpuRgnHMbvuR4nG1wAfBj5Izsbwyjx78nqmxvd7U0oYFVnHvEaDezx6Lbvkca07V9zRxolHjJKFxpu6xcZRrVmdMbqlxwsGV/lcenHgkLMFxrnHzvo2e0mHRGsPe1NLTboVx7mG79pi+/OSlcfmu/XHi3uye4icHLM5xztS6HqpIN764geZ0f8GIodAyyHGbpHtx7UDlBCppebHansbBkXaoLu4e6063cb6x0rGBsfKGkX6vDFkxveRr0aHRsPHmUcdx4bLyfoKyhPGNIdjxwsG6wZJexN917mjx1CHfcf2R5G6f8ubDaNbAQeHW3d6k1ubDMvHi8Z1W/5b81t5x7NGjm0eB8JGvVodW+XaK1ot2iiDu4At2yIGS8ZbxltbNtwogxtbNty7xqvHUVp7WlDHn5LpHdDH3kYWWztaJ9vrx5vaOBkThmfHmlvN2+6Hcasgg0yHBgbb29J6PFSd23nbd9qd2rvGg9vBe3rZ7AezRk/HJ8cbxg/asHqZTI5bmdnUhqeGj8c32nfHuPuH2vfbi8cfx5Zbe3ovW7K7bzvfx8fbP8fL6k/bf8bYxjbSP8bmR4Q7Hvvv2jDGhLp8M7RGZKGRLWVGxySjBnF7TDtQM4K6S1qZOxk7kSyyxyIG2Tvaenk6X8YIJ+KGZYoFO5JHtjuwJnOHOopwJ56G8CfvuqgnKdqcgT6H9XtoJzEHZ7mFW53bz1pSx6dHqTtIJia7qouwBoDHQQa4J/rGmwt4J0E7OCdG2rDSuTtNulgnCwbmx8gCDNvkR1LGPjsxOniGAzu1Bn0740VPhvHyHTo4FUM6UgnDOhXZiCcD2ms6BEZ0axLGSaXMJ4QmMgerOsgmEuqX2yWkS7v/PQeGVTqxO9QmFTrw25U7dCaUe8LZurr5x9QK12NNBrVbXCchx3mrmqM4CFKHHMdAJ0wm9HvuuoZ7/CbqRinH7TpiJlTGDqpD7Z/5vceDO0ImPFTSRxBG+1xNh7wmMCZY+ynaZnq8ULwmUidw+51GEztX2gomKifuAGl80icYeqE619AzhwonvToNOrXGoXHPW8XGFsbNOuwm9ABUKOyHWmDCBhdL4+10xkInVYbKJxdb7jHKJ/oncY03iZqjfCdmWwOGdCbqJrCCXwtq+4on5romJqVHmidXxsai4ib8Rp4GdiZOuyEsmvMXWoUxZiYBx1r7WaxyJ2on+idckcS62oyeJwEGtEeZxsC6FLqyS4sjlLqYuu5G+Ec4xiTbJLp9h4Q503oVRwFHhLuUx1e7QSa+J1Y6fibBJp4G3iYBJio9cbqNafG79EZQJsa7sbvTuym7prto8nEml/pJu76Vp7VKjR66hg1RJ19GbrqxJyaG4rtxJ/OTH4CaqHF6pbqpJ8l6ig3JJ9mMProtfMuGmSb+u7EmbWsQhjkmfropJza6EGrN2+knbkfX+zfqhSbNukUn07uzunSGAbuzxy/GG7vzuyAHC7uBJ6mM1SeMJtO7agdrusfGOjCmurUmK7qRuiO7lcctuo4mFEcdulUmCkbFJ2kmT+uNu8XHuSeju9O6i4eexotHC7pck3THtSdOJk0Cw13IAl0nB4a9Jx7GDSezw0xLlLRAJ6UmZboMh3UmKLptJ8r7AyeQAjO7J4dh2gG7l0ZDxiMm1buzEFySL3s1JuMmjSYNxq+7T8d8e0B6L8aP+tLHQfouvIHriO3LQmLH9vsAe6+7+8ZxsvLH9vugerLbb8blVVMmWTt/uiaGV/qVVbV6j4erJvLHuyYFVFsn8PtXh3HFeTsQeoh7sUaMeo3HRGpnJ00H21oRx93KkceS+/pHAfuMJpcmnHsDBi3GsnsykzuHSybzU9XGVtrQO10nwlG6emWlenuhRjyHHfpPJhQmsgsRR68me8f+BqrGalJB2uMHHyeTe64b9iaZcctE8wf6euqGMyC1pUtEFki3Wv8msoeTesDaezuLRMCmPyYTJ4kxoIK/JjfGRCbae726RoDfJkT7AKfWBymH/yd/B97QgKYkB236k0vdB8CmQrsqBnIGoccJRroG/cYR+mfdxfu0JoIHOXsh+98GsIKYpzJGzQZkBjRS4fr+xGinAQfa+tX7vyZNkoP1MfugJqIGwZXGB4CnUUtb+pUmOKYp+tn6+0ebYUoGRKYKB/C4lAeKBxC4agfl2g/6JKa1wRSmp8c/+5pK+fv6RgX6I4c3xjimKgbL+sX6WPo0plgG5foEpitbnft4p8oH+Ke8htG7Xfscpub7fFolTWGHPKdplayn+ltN+zonoVvphvym5kcIpowx2AbCpyimRAcF1ZEx5fsuO2KnhKb0pm4GKJJEysAG4gdAB336lKe0B1AHbSZSprXBNAY2BkdGRMtj+9KnlgBKp5oHrwebYJP7eIEb+4wn2vuA696prttFat5HpKc/+ygG5KZL+5j6y/vFxqime8dr+5tb+qYqp5bGW/uYp6MAJTqYRpKmXAY7+/Y7k1s7+oHGhqe5RlsMlQeG+gf76KdEpokn3avqBzW7gXpORyamGKdJu+0VXPsOp9yn94ejEbIHM8aPUkKmjyS0pxPGdKaoBwqnr8eHXPpHYaov+mjHK/uXXYtDv8ZAez6mKYb2p9anLwB+AF/6sOzf+uqmEAcic93HiyOqBk6nAAdSplCK1KbJANKmFqdTRm+HIMeU+lGm3qbMpwP6EgfhpgqmsqZ8BrAHnYd6bXAGrqcUtYgH1/rJptamn/vapzonsomWBnqnoqerxugG5IavkDGnP/qYCtgGNDr5TKKnMgaohlPDEIYEBovISaYT+4qmpAfRlMQHuUwepyqnX5FCB+GnhFCFpmcH4gbQB+GnZkxMp+aGeaYb+kTLVKfkpki55aax09RHysxMB6GnMQasB/CmhjpNprCm/qaf+0onZ9uktaM5Qabm+hqn3Aam+3UCPSbxpi57q/v6jS56jaeGp7ZwZae1puRRdaY1p5thNAYQ+xWnVaZsJ96nfvsupn/7o6cpphAHcge6xrIHg8c7JzGnCgaoB5WndKdap5KnzKYhpo+Goabjpl766gan+oY7Ozy2pgunSUdVq56nqgw6B+2n2nv6BlxabWvpp9Wm8qZiAaqnm/pGBtineqa4xsWHwUYqgHunA6ZJpZYG+aSHpgemgOlo4d680ZBxK/t6+aba+sJaXMdDwpHA0MaQatBGhwBEk9mztwGL6gLHmFOzoY8xwyb4pi69fgdaxqEsMSfMhrbHHsZuxnEHXsbWppEHiEaSevV6Q+yFBsxLr6cZB7FHH6b2xxUDO7LZB3R7nXooAz+nbqcIpxlzNse/p2M6KAOFBn3sBIafp53H2QewOiBn76aaJt+mv6a8ew0Hlqb2h2fcjQZPRjUGDQd1B7amTQYfJrsHIAaikdBn1AZ9MC7HsKcwZy0GUwcTpvWnFQeTp9indmoDB+XbbIYRBHWBtKdaAdTKOwYYZ5N7KGd7pmCckewbx5QmEUozBuk60Jz7qHVVFQNEZ98mhGdVJ3kwtyEgh3kw1eskZoKH5GYEpqMjSFD5hGCmpGZX+9PGGCaLB+sGRKfzB+iH+m0Qh8c7coYUhuiGcbqYh0Jc6KzP+vCH6IfNMLqjiGd4QRlH3seRJ6xmq6exinis30OcZrE7aoEEhjCn5Iefp6SwDAYCZuJDP3toZ3omEoekh2gGQmeTBkJnLsbqyuk6j+Efwa87cYU7oLiGEmf1O+URfmGvO19LamThx8yGomdEBpPGkuFbBpPHgIZjxjJmnyd4knhnSgyqUdJntrtQcRk775GyZ+pmooYcJi964obGhyKHPIbSh7nVkofqRhsGSKbBlG/pMycp2wtUPbQmx/SGJ9rzsSIn54d6ZyZmlIfaZlyHOuq1rByHboYUuhnHssfZ612mc8aGZ868hodypkLrnjuYhraHsSdmhqp7zmbGh05nLQZukBqHm1tuZtkm0weuZ04m58AWkNeQ8Ltu4IzR3malJ8aH3UfTO3+GD4kIq7JrPODWWrzGExBtk6zHlQBwRi4GbCgzsKImXoYhhv5ntgZJANqhKcFqDT5mRyTBZkSSq0YLO2tH/Gt3MLkhgYl0x35nscavR55GJ4cVJg8np8eHhmeHY4YmRuln14aThhfbWYbHJx6JGWaIRzI6t4dThiVNWabgRnsnm4c1fDuH2WZpZxS0WWdrB1mHF8ZFZ1N91ArH6hf71dUlZzxHrNp8RpVmzGciRs+6DLGK22jzcQcPB7rI3nsS2IuBe6dnBlomh0bVZpKHsXoout8H8mcyh01m88fjwA1nhEf5ccKmQId1ZhxGVWa+hjVmJIYEZ9xGbWfCW+URGfSFHeURVmUZRl1nTie1ZvpnzWeDZoqm95BcpoOmnGapRkNmuMctZgNnm9KtZ2CGfWcF1QNmVHtRLO1nrfvjZlH7LkbpxgtnjCaZxpEmScaeRsnG9Pt5Z0TyU0eXx9FHUadhqutmq2d5SrFGF9sbZofbCYF4u8MHoGbuuw3BO2bFpv1LGUAfJ4Bme3o7ZkWHlPt7ZgOHUIZbZ3d6j0ayxwVbZ2ZPp9UHd0YtO89aZVp2S81Iy4YiZ5tn6iGIepor1SZ9O7h9EUeXZ4YGxsbhp/2m0UqPZsEs90a3R1u7+aUIaS9ntrvLgGyIoKeQx4wmCMdOJqhrAMaJevDG1qffZgVUmGaLCPUnEAbUy1bGpSb/Zz/GKEBNECVNCsFUYORmebsZJ67TwOeGZyiC+YkixlDn1GdAx+DH70aQx7KIezt8QUVrwyt/RrDnEMctB2rBmdmfZ1oh+Ifw5p6m5SqCJxDniOaRZy+Gisl4EIT7A1yQwFencWYTADemaqBj4KaBfLvC+ZRh4WaQ5/XVqMeIxojGumfIZxhmBrr0rVhnT+v4Z7gmBsbox8F6hm3n+3GGBro1u9yH8GdOJ0pKQbqB2ifA2Qa05hl7L7gzxl0GdOZJezbHDOfxlS86NOeyx5S6ZOYmxyznyltE54PCjkFTZ80ylOdn+ula/F0eOAznHIcqx86H/Odqx8rHg9rxhtunNgCixkmUYsbixuqGUZC/eoFaUZG+hPLHouf1Oj76Y2cE8WLmL1snJ5LnyXvIK2EGvAFC5iamLSbKx7LnpmabOoDmOYwLW/V66sbuuvWBKuYve3LmkucQiUCSSJPCgXQBMbPrm99yS1E30dRmcSxGOPFgSSz655rgwDB9pWrA+5G7gaNdctDdAaUGSaU+p06AGib4FSLgZRBpfEwxXXOgYXi4QVi3sV1y1oCL0UyKK2C25l/JyoCugubZYwqhwalwQlRLoOgUZoDm5tqIkMEJgENNqpDOQEJVZnDoFLuQUzGK9ImgVyXQQIGBLtQ/BOgU76HKgSwTHgTUFVZB09HzCVZgXufmRAHnDSHKQV1y0OETeaR9L8C25xIxRGpPscL4tuf64KHmgEGue4VVVmEx5ngg+BW9ob6A8edVUIbMgiHRkWS95kXmdCJQ24EqvEPh8PoqJIGAEeeNIZ3l5SBagJnmRoBZ55Lw2eYqRYz4w1wFgReAw6S/gHEsGRFikLMZJyGz8/naBiYNFXHFeLCl5rQQmagBgIvQhL19+AHbEmC1MZXmx7DEFRJhqXCEvQKgJeaAQQOIoebf4JVUKTUIUH1oCmDuBpM4nQlbEcn5hPql5ozBwsShLPGBUSDOQYkpceA7x5VFoyAF5zSoZkD2xVWhXedZ4yvAAdvLeQpAAMXaQBrM+UEkIcqAASje8VXmkXEXgS88R3hxLb6wzkFyg89YmZWd4aPm3eU04DPmZRCEiW8gGs0YwRJgs+cDiI1R8PsBsc0QtZWVwLLaNVpSpmoQUaBr5uvKCV3gaLLaK+YkQTKtU0A55z9Ji+ZagXsooimT59hAzkD75ucwB+cz53vnkhDxwZPmzMCH5u5BF6a15+PnyoEjJaXgu+cj52KQS4NcsMQUQ+cX5n9Nhub3QQ14FgCrKC/QAcVx4IGxneQK8Lda9EBnYZ3lVoEIp2hBt+Z9JY+mkzmmVDH7A3Hv5gvwwFANZ/ag24CHzW0HO6pagM5pbXiEpylBrQKoBMP0hubbgYK8FnDD9ImhDucqmFRww/TdwXGg0QOuehAXcef/5z/ggdH3ASXRlpGtAjH6boCJ59AXPeETAR31+ueAFyqYUBZv4WZxYBdiKDMg+6nhwAt54aTx4U0V3CpGEGl8MCFPJckV/rnQFy1x/muMbBVhYBbUYGhgC0PKQNf5CBcrBQ5xDQy9wb7mhUORMQ0MjwUIFkDBA2aqkF7hCBaUwE0GezHRkIbJkGcHZ7nn9fFGcCzLRGod58n5JYmW0APmbaUsEEwXCOE5gM0sVSBNB0V1vedu4AKhTRW0QEUxueYL8V24lw3dsKHnarCP2Q0NywW8FilAgzD8Fvo5uediwRjBmBfoFxnmfeaMUOhx/eah53BAg+YLQgNBPmBagRPnKzoLQ/RQxCDjqnwgXFFQQYYR2+adlavmhKa/gIGBzaXK8b/ylMCz53vA7UahiPbRzRFGK0y6grGn57fmfCA35jwVjV235iKYOBe4Ba1Qe6UCQDgWOtALeEbnEzGEF6GB+rD0AYYXbQeCFlMxD+YSMZwWiaFP5mLISDmEFzfxToDDXUygQlDngQjhF4HWFkwQC0JQhHLYJhd+Scmg7BZd57fmDhFKEC9nx+f4YE4WE0NDOHYXvqToMc1Jc8AeFsUgpCHLzCiRt+beFu7mAjTx4L4XUMDfwcvMZdBn5kmR3yT4FbXnctF07JxQRoECVe5A1hbyqK2BTXIbOGfmuhaRFwGiWhfRJU9mW6AmOA/nSyvqED8lkZBWC8fmeRGZQer7D1m35kkXaoDJFmpRiRdt4JmLv8CoMCkXaKC5e4OBGTFSFzNlSZAW5+aQCheWiCnBYeauFKoWReCnQJfDEyEKQMoWG+YW54wr2Re/gIoWJqll57IWy+ZFFt4x2RaJwTxQuRYFFlUWPKDpMJfCNRY1pkrAwrCqaFRAxRbuQJPm1BVQeBPnRIlxQOgU2kGpcS884yBhFxUY3VHZFv+AwXD4FQkW68oAxGyQHRexFoN4hlxmQQJV0RdCFjolT2bRkdswoeZgINS4fuwbOU6A8SiOgH4WIRaiF9wXu4CBF7hBvBbYoZMXfhcQYYkok0C6zQIIRhHJKNigqRZGkeTAHBf8uB0XtzEYMOf8siHtFTmAtBbc+2sXXfHLQpl5DhfvLMnmGbOzMK35lpmWFkpNAfisJIv4EuBYLWHZYBb20Qjgus1HIWAXsCB8YMcXZedOKeBAVyX6QbMwJxdaFirMkznA6McW+ufjFr/YGjj+BZWK2BHpJWqQaIX04FgtDzDskWRA5yC6zE5IRjn7oUcXwRfHFwqRBKAyIAYlZeYg7DMgWCyvEQs4PpHnFvQxCzll2FGQWC1r5i+5EsAvFgCWutApwDMWprkYMZGxRXQvF6X1TcBc0XTQWC1glvsg+BHpF5A5h5CpoSTgHRd3A8YWebF9QLCWaMGkof/IQZAvFoNgMrgrYFcWztinIf4xUJfksdxRUvHLQuDAF4DgIcZpTXIE/EUhcqE9oFapjUVAoIAgVyUawIGQsCAPMIsWCbhUuHeBtDFNct7gg+GJ0G8X/QOA0Fghx+AzFwG5ZeaXJWLI3RbvQRvA0SSIIAkXGNGxMZ9iWkBtqLpAnBEupX+xVudrwUfhx8AkwXbGGYEJwEyWFubEGZW4UHv/erUh5nURsckhwEF959+xaZDEGGvmk6EAICdM0toIoFqEJiEoQCExcU0MUTk4UkFHZqEhNwjhITBgApcKVRxRh6AxwUWovlrMUGdBZGBSl9CWnsH0EeZ1eiEJOb1g/YD1gXFMZ7TwOajYYHqicOw5tqGue9NdCpfIONIKtedolOqWLeZJypKW/Tlaka56CVzil0qW0ead5yPY7ZGAoY0hfmU7kTU4xBDaxnGQRpZGsMaW7HEXEFwIjtooKYA6VTjnIDIhGDylcMA4vgUt5kY4Opf/engaa1OZi3URlUD2l3mdUmnhIIwQJKRXJRERSS18EA4LyxZeFp3hs8G/kQEB4XCD4EzgSiALQsIgiCCd4L+hWgAsQYFxPpY8oJHsaRCdQT6XgNFNFVYh0ZEMtJsR9hbtgM9Q6rTAiKGWtRaNgL9BYXHAESLhQ4BlsLUGj8FieZPFiK0liPjgHKCatYLMTQes8XSXcoDOsfBI2OU+gDIdkZYOYQ9xaCGQKtZw5YDkwReB5olVQLNDoqCD4NEghiCzQisgsZd9CJEgJBcjoSnhtCFt9JFhAbEMuLPkOBf98c0RGhU0+ZwXKEGllwIqS3GEFm2QrLlP1a5BmBbsQQiXdrxvIDWWXcANIVTA2Qr7qbBxACAxCb6WQ8m/gKcgMQk2F82WvyWpOEhQAFBPVfhgUSANCa2WG4Fl55DI9OF4Ft2XaZBgiDWWqnDxkKrABhbeoRGR7x3HEDWXcoBtIJNA2OCNlp94IpaYFgtDiiHO2F/B4XFdlkZQcJeUpLS6jZaN/U3Bl0EaF+d9rVCpoHsQzZYQ4AuWvN3+BE9UJIidwevY/ZefFof0XCBrlzaWPpAFlyQwR8ECkTSQpxYTlo0DTxf00ZuWu5cCkVihMWATli/Acji7KNyJmBZMkC84Q/GmuBOXAtDKODHg+6ieUbcXDnDGcAt4uGi/56/y9qDK8A8WmrCAF//Ld5eC0U1zCqBppEQGuufzy/LnsJA34d0AYslEFgIqEkE50W7Iz8AKKiM9j/F5Le9B7+iIkVEB1fFU0PVoHJGWAMoq3GBXKiRxFVA5LOG4+yo9kCcR8wmHwKor8uGAV/NkoipgVp4AxGmqF7IqgFBlsRBWXM3cMecry8rJAJtIxheyK7VRhOHQVncQj7nrhFax0FeEQGuB64VnoZYAQFDp+ShXF7210BjwfKo8ZrGAztnIViIoOkGWmOLB0FZ0cO5xlpmXQfQJ1GbLEehWWXlkuIRXn7DpGB1hyFcBkLeA6vRDUTdsUKGFQYeFRuekV0Jx6Fa4K1RWckHoVvqpKdhHbQ4hZFf/KAP4cFdn5mKXiEDyVNqAJxFoVqrwzFfM3YKQVQgaMfbQcmjSEY/xP5H9PJRWn1i22T+Q2YAMVwFBipGMVkvR+yHoViSheSWMVxHgJFf2qZOxQlZ0MHgx4G31wGhWhPCHeSzwfeBn8FUJ3bFbltHKW4HQVlDIBPCiaTJXdko1RQHE0cqyIb/Q5b2goN6hWPFwQChhUQCVwJ0QklcCociw9ERyECpX6ldgVuAr3DCHaPhA/5ZDYCgEbFYoQN8g5byYzEBA630YuBoryhF6Vo5D75ZxAigJelacsFSwGpRkkIJWuolgVpX4hlZX6JHQr5f58XkhUQH58LVwuLDrpAyhtfBPYXfxVAH9QAt5L3VRALkhWPAtUXcxbyEOVwzhZLhP8E5gDfAZYOxWHKZ+iuERAAiyMJCh+fAToEjQL7IjF1sF1G2uwf5XKYE42RN0BcH+VqzBg/mcwcoJjbvJQHJW9wBowozBWfAQPcsRLb2R5wTxs2GrMU+IzlfA6Vr4QVfO+PcQMgjFkA5XzvjWgcb5/ckfl5GVwcB4kC+ye+epVypW6VZiQBrxDekykJlW1RBu+HvhFVDocZdA8AmluOkxT4h7IKt5+/hCoX7homMsoDIErUDAMZVJUWfGBVnhuVYgpPuXBPEQoHbQ+6mywaDZypFx+Y26cDDBV3fp9YW1VhIxMAjVUA1WUysi8FzQttmxEZiqogTVMRmrVHliePGDuYHKu5xgE0Ey8C7BZLA8FBbx0Xg9Vs35+4BUsElWb5ahcHuhIZdPiYegzlajWOlW3HHDV7VWj8Aj+OiISUHwubHIszwv+V2A6VZSsVVXscnssIZAuLFdZANX2KnqQP1XK0jDVzKq+6kjV4tXx+xG2JaIQpeWAWuxvYGU+KrJyrv7AKiqR4lAIC+zG1bVcByRm/GNuwTg2Hh6afyRW1ZpEYD5fQk5utNGlmCp28HAIiZo6ClgtqA0mQ57a7CG0PBhIDlnVmjp9qEVcDjhj/DCNApACnCPUaoAN2bVoPBh6UG6Cd+IN4G4YZvZ6vhuadpAt1fJCDxVvsFbuc14exBrYG5pEyC3Vqcrr1aGoBTR2i1Ux5/GkaE0IdnxHdvRoWNX9gmcMFG7uUEkeA1CCKGA14cwG6E9gP5Wg+x74eeQ71avV2DX8ISRobCr5mnwhDGhPdCpIRIputAKcETB0Xmw12IkCnD+QFMnOiCt+AxlxbB3V3hlJ7Brg5+BFboeIRB4aNYBupMgd3ALoB3gzuGZ5XV42NYBup+wMGqQYPcxd9vZQB/5WaG6QJj458PxIPBh0UGQQRGMJLm4YKwgPYERjGIheCrY3ftB6oh5UQWxneco1s3w22GRsdERd9rqeIT4+YEMUXfatfACYemhHrSD7Q5B5mFgYV44M0YhwLdXSTEo1w5ArHmnV1/BEpEWJcOwXNcHOWzWhmE3uWRBjNfwwUEx+4iwUaJa12AD8RVwAiH4u0LWDNZxkEFRFiXrkb95C7iwwRYkKqgjoOchUzgs1ktAzleLiQ6QM0ZBZjGw9xFC0Rvk8UGU+G5AHbEb5B6gI6BLYdCRytbDJlahOTyS1o1oWNbfeD64r3KAQdRx1vwDQMmNf4R9ucpDolp8wBqB7bhawPrWAIEUhLKxwXjJjemBn7CwXNOkf3PUQeKx7dmq0Nvk1JDTeKYgyeByKOxwMNlzaGGAAbs3cAL5qUK1CCzXHhBBcM1GMBEz4QW447tdoJz4+8EfgMNdfVdQBJKg6ygSkO5wo5A4BqSwNAhCMXmpqvAoQG+haZSrV6rwgSfrV/7W/FqToA/xx9Wc0YHWJKGw8eJQvKbIoSswKGzZgIEnWLxe8I7hWqD5TQ1BX/ErEhhA0dYPQ4ywl+AqOHlmMHGm8O1gryBExFjBBvGzoeDRsyukKGDwhkz5TXlW+3F7og3A6dfhcDHXYqFC0IzFitYd+IBw+UzEQdrXNKkEhCVNDhAZ10AgqlcF1jSIcjAobVB4G6sYRL7x7Mfbe6fg4db+TBVgG6tk0e1WKGxWWFXXJxf+13KhIIP9gCB4TvF5FhuqhmCksZaJiBeQgmjQZAVULDB5zdfAObXXrde8Sf2AptfH1RyRqqyTuaoXyfm8SZXBV/G+wIWJkII42KHWnV2gujjZ4rBC+Ep1oLt4CEPXgiC94ZCYAXH+1tRgREZ8pU34UAn7IVhq46sDoV35+GH/QOOqpyqX+YpBIkKlYJLACfi955C7rUNn+EVgM7FkiVQFxAghoQOJ4AKVjQIF34Egg+PgyNZHbXyhIkKMtI1W9jG8SIm1fAUpILPWZOO68DpU8lYd12x5fAWgu3BB03D5hPz6UPTwCQSggJc5ja+BbyF8BYrw/PqTOZLIjNCvtVjwUKUV4MhjneGD+BNA7tgX1mVAdldY5i7ArldY5gNAt9dlUaOK6yCpYLfWecF115ig3HAzdBuq19c3bAs5X9aNVrM9X9eDQcIJU9a6bQpXTkyN19+RfARYEeXX/YCZkAn4VkE11qygoDfhcSJD8pGQqzOI+NB51ivZkZWysf0RbMWhhJgJuyEkuhIx1EGR8L3A47tB+EDh5Nxu26Dm1UBkBIQJ1ZZ5Z2g5FWB1CUJAtdrxwToE8paT2ywF0DariNHXFUBZV+ogQ3C4NoVRg/nR4VGx01wFgbXwhDeihh4hk/hCoJg6vKaooQfX7JC5TWhBcVYUN+9QzK3bkA3XS0f5l5n5uyGih8eBSTC+1lNXZUwKCD/WjDYMBb/XZU0g4QKqgGMVTNOl//BO1nIQdPg1+YrWE0bKSUdWgGOzoew2LkD51iBh+jCCKOLBV/HmYdjWsXByuNqxMdn1VoIps0FjuSsSfUB/csQRt/jCkVGxMSX7IZn4w6EVTZXgvtZr9CrBkSS9wL7WaNF0N5QJsPFLRnhBMARGkRVMtDcy8ZOhVDeLF9Q3tGsqNoo2gQl71xxA0jbH57RqouH54HXlqaFoCBeBAOExJEfwggmOgFTXe/1V8chFa1HW1zZ55vkWYELWUaF1V05QveHW1g5Bg/hSwEZQM0epsbXwUsAa1yeRUaBW+SbAxSZmgfgX+/mC4Tw3QsHCCY2BAWAzR7PAk9A3aeYFzjYDufv4EzGZ2YVV3AQZFk0DHjZ+VnNxHNYeUXAw/xWL1izX7KF1V0hANjgs1+AI4gVOMapQzXqeQA3w1Dk8YaTWsYHCCdgWBNevQeQ3AglSwRGM3ZfECANA0EFRNg9DWPAxNjHgHCmgQXTxzujhYfE2ebxxNhf1uNc3CCzY27Q5gE7XskFt2ZGU9xF4ERW7yOAqVkVgFdG9BnI2klb1saJbWLw8sawYTYFpN4oxvyuDkHWWg+3xBThWttD4wRW7w4HcVwEhqtYmFDZxeldcYe9QkhXtEAxWCvFGNmTihwV6VkaxEtmsKW9hBdF7xPbQGtdzkSmAglfHwFU2wcDXOjUnp6DFJoER992pjHfAdbCQ1uZtHTf7tO03WCHo8MQD27Fg1z03wgl2QAPwUbvgCJA2ulDmN8uiYiHO+FjAdtGNqNwwVvmdcBNHoEEbYaoEL4xRus8XZ/h0MX7gYzY+lqIFYUB6EY2osUFn1hyQH1f+qAJAKjf6ISjXPCCbkIvW30ATR9lRxAjMkX6hX1aX4ZP4ePDV0Z4XWhZW+CHZr1daEWXm/2lu+aJbV0Ve+b032TfKyPQh6FbiEbywVqmKIHxXxNX3xjZALNkYiPFAGtbpsPLwIi2FoZc3e0Aw2Nc2N+ZWaTc3VlaEIZG5PgB7Me1B6FYPNkpWDhTCkfc3Brg8VK8FKzDyVEvKbzaQwRB57zfncc1GQdAMVqmJ+eF8TQLAJTcd0S02YCFbEdRWlqBO158IRFdiBBrXQLZsV8PmFSaNoe9BK6yfsBNG2qHjoehW4qFesIPskLcQeAxDnebFJmAh9jdvl1lh5TdwtuvK/wkSwbO6B2HtV61pWbH4u9HBeNdXyWyIbzdccEBAxebGOdC3f7Dy8XXmFSc/MYVAOLdP6/Xg4vDAK6CheLYvjHE2onBUCGf9CgUs8bMxhoFbV3M3g/gmwGKrH4iLNvAIyOeZ0FypyzauViPBd9t2MMH4zMAoQXi3k9hRV5dheLep4MQ3pmDFV/IgTLcy8Hs3yrroCbr5H1wr1lyocZEQ8P03r1YZENXXx0JooVy2peBACOirq1dWodX5rfgBoBtWMzZACNARl6EiJCHAAjYGN0/rucDI1n3ceLFP6w75lfnUQWsROkkSVjX5u7WF65ARqrDRkA4r7SfXiL/wOuD8triYSjeBHOShdUh90eKwdDFR1rtW+MEV1kGBh9ajqTDBjLEcSTQI28GEVk7w5tnX4VtWyECAKvkNZEAbVhFhldEDWD3Xr4gHVx9xc0CWJ1XgGdlj8YQQG1ZvcLQ3W1ZEBcw2jUksN0awC1el4QA2mAqViT3hqrCOgefWSEhv8da3bDYvs0HWocKc8ueAL/nusU62xiCi+KNYgyWNu+42K1dWkRDAC1YuCKq2fUAVVjIwavnA8C5RzqqmMCr5Hl1Ot6XgPgUq8I1Hl40V1u1ARKButrIUYPEEINXQZGJC+e7x/gjOulHRRrHTwMS3BpXd4An5auG10CxIJLe0asy20VcFaW3BDLfR0Yy3Sbcs8W3BDQmNux9RwAQayTcRT4ksofkxLPDgOBaQ2E2Z4dE3UvD8tlfBCiEkt6URibfyQMLXJLZLeL63nXDj+NQ5NMUetqM3ITYrMXmrglbhNuW2hLdusAor8dntJvi25yrbAcq7xWE42QblpVbVVzGBoFajYaC4GlFS4PsqRBG1VuRwjbYagK3RCUWl4fBW6lEZquKwSFYGY+iwzrqi4FC2mYFGq6Ji6FZsV9ygCxGVScHBIgRYVrvQEbelMDjgJTZS0Ri4WXvGgERXK1GGujWgOrY8Z0RW/LcTt8JWnVzxNmRiFYAMVxk4C1fUQW2wbFa4Kxmq+kFleDxmNFeNuku3uvBi5X3XlUj5QQKq0Oh0MddWRvFMVjxn5+BsQd23fbY8ZwVxu9DkFlLBxzcpQpu3zAgU0a08LVdmRZBAglYsID7WF5bj0CpX/+EZqibB0ldYXFK2L7K7wbTBWTY0xle3MrnECGNBcSGNunIF7VepNhVX1bQRV+owftf3AWDhADdGVTuRj/DnZb2B1TfNYZYBNoltwCU3/LgyCNONXiFPN0tBVVZ5sRPxk82wCC1p1EAPkDxn0qDDlskBCvVDYGxWQHbs0dtp5SXUMFekDlaeAHDIjOBsVscQEbe4WfzAUHajN/QJuFnX4ehXICugdnB24DApbJmByxHDwXNB1UE1AmHgwHZe9eih6FYuN/W3w8BBkOh2WBBvt2mAIkBPge+kpWEQdhCiIHY8ZmcR3QQAd8rADFfqEbnBuHZFaRN5PmggYCcQf7ZtQeC3jlfOweFwKHck5cb5zsAAgaBX5xFZHHxFv4G4ttC8k6G4dpChUsDAV7hBpHeTudKgUFY0IOyHTZHgVoNhFVE1WfQoUFa4wBG37sXuQZsrhrEdffcAbJDm+AIruNjJAcGIJjH6K6+AxVfuxA24CipoCEPRlmMCMUJ2IqE50axEHCGyKrvRZEH0dww4dHfdwYFXqHak0QuRQnYkwb+2TGnOIeJ3NtkftuuBhYGgVm8gu9DEd1VAovjn/bLwAHYqdpi3K0mRUGp329myKtPZDnqB1Q3mCipQYAfYLWgSK8uiKnGodvuVkDDT/DyNqHdCwdV40/wyMbh34cEgNgIrKcDBFhkYsdFKKzIrERYRpqyNv5aMjEpX6QlcQSewASihIfQI05BiQThAKkh0wSnY3/DJIDpAw5X14J4BVpDaQc520h1r1lZ2FWHK+YhAlgEDYZYB0QiicLeBlSjZ8K53nJV2QGuAvneKub4IiaFs2X2Z00Yedvah5rGnFSBhyxDf8CHB1UFJw5gIfnfngQXQEXdhYJF27WAs2JzFJHyRdk/hbisk4CcQ05A5QLMrhsTUwH52cpHjIW4r7kAJdkM5TKBWKq+B/IWJCO/L1UHKLRq3QvzBQFYrmgIjOjix0dEeKmNouXewkHcIViu5QJOQLWlv1txwISXvgUh286xq+ksq2kFRobh3ZdmtQIV2H2A2dok4MAmVdlJApXe4Ib8gOXapJbh2S8sT8R7EnFBMdg12OkEexPjQVLCKFOArAyoeUTgIjqANQZl22zVZsbh27EB1dvYqHeDtEF13kUEF0ETEsiFYd6Xgp8GOK4YhaxCXJObYzXfM3UyhLHbMQErw57VI4MqmGmy7UPYqzRBYsGrorBZWK1VjDnoaeE5B/nc95i4FfHfZ7UKQc3eFAVIF83euwFBgc3aTQPU583ahK9NxUUcEoOyH4EAnMZ52gVXvUDx2oSGICQ5imkHjd8fAJWBzd8Vgftg8dzMRFIUOYt8Bq3beYHN2vQ0zt4J36gVkBwFgVAnuxM7ZDnd8jQPAG3fbdpd2eaBl0Vd2BcFudlGgGXfPttghPndG/eWA7IdZJe9AQShcuk93Fj2FQAEp60xPdsO46nbgwAJg7IeKQaaXQnfv2eN3C0EMdt9382HUYnNxOEGt5n93sRBEQaBXPIjDt8rIrNdCdlLRtbbLwTW2qFAvsgBNKnb0iZrY1Vdu4aBW1JFbEf5W80CPK9Z2m7bnIOCDEAa/gCdQV7cf8Jd23CCt0IAIAFdkB+SxW3aOMHjrEAdpYSnZUEDOdnN3aDkud/N2dYChIPt39/HjdsQYnndkBxQwp7bbhiWBm3ZMieDQgOMZdHN3RPYnEScQJPZE9kgRbHeN2QDRZAcRQaUE7IfkAfDAi3b9oH85UEHGQTT2NirU9/1BMXbLqMsQ1PYrYTjYjMXxd4j2iXcpd0l297daGc0qSXfdV7S5OnhYg+gh+lcJ9aYwQEBZds+33w3ZdvYrOXe1tx4VeXacYLzQ1VdCQDl2QvYVV1WJeXaQoFiwRRG+gR12+XZ5u3HAY3dpgb9FRHIXgbOxg1y0sXuBUOC89sXARXZMFsWghXemMPG2GRZsMPYqUhDK9kHm4DC9XXOQxbboVIV3tduJtk5DkDAhJW4hhep8Nm1B2vZ2Ye0mfDeFQCLtwWFbVmcRctF5qFChNTZTJGQFHtY9oG831+Cy9jKj51hWaVuAk9CNdn7WmqkHObr3MbFAdtDXorF1di13Uzetd913+sAa1nKQtUEDKhSgE0cTIN12Syo9d6VW+RVAYLeAZsRCVhwpQRGJdyeQ9CERjW7gZ3BrpZowxSaaQfPr5ipRdLVAciekrR72gfdfEMVy03aTdgdwxSd8+brwuZW04GNGkKptQBH2S3fNiJCrr3eEmQNgcifBwNtg63cSNwiEm3dkBlZVLTcpIBcRm3f7gYqF9grn8M93+QisIE7XYzGHd4PcOSWp9v53m3baQIw59gt9RkBAcIN62rn3F3ZY9qjB6VFEzAX3m3Y3ds9XzLBBuWQH5ZG+u1TXivBzdxTA9uf2C6ggwNlAxP2hYfZV9lH3JFAZdmIpQ8EPdm6BgXn2CjH2c3YYQVihEY1zN2n3TfZ6N7/AquBN98eNKNaribrx5qz0QJjXSEDWdoVR3viSFJ9WCirVoGm3vmnPMN+WvaXDMWDX0eGyK14hWMECVCAgw/eOgBahYRbs1goqNSgj91cj2LetEW95UzcCQfJ32mBO1/uAvEHid+OgEzbEGDDYAPZTJhY3FneaMJlM5yHOob92+2AlTDZhhoHid0gEjNC0dWW4G/cBwZUltOEWdn7Q1dGVJPY3mnYlAbv2rMjJ2Dp2EUCY+Kx1jyFcdg8gFqA2VYYQSndiwLzQ9k2bQTW3wEDqQVddttc794Ch0XnOTRURA/cP0CEQEUwLtgIrYpXRIa3lbCGad0Kksjd4mPahmnYjHPlMDUAToa/2eEEIwUWo+nAf9rSWJU2d8ZJ53qi5+W/3EyBc94qkPYBu1nHA7UB6d46hizhkg8lhNbflkdCRnlzO+VW2lMHn9tPEw6BQV0ngqjd4lxn7z5eE4JTQ0ddakItgfWhWtsMrNCB0dldBTEs/wUb2I4Vb0HlmrgTqd+2BrnFmjMbBqA441aKGtfDZsVW3yWAt4IzEeLBQVlJAlfCMxSaouA/fNunXATjgDobQ47tSsIv264Gc9HnXN5cD9hMxddY3a1x2EzDN1giC6PelqJTQlfBwg4ohIA7UDhPXCUBEeVoqbrnb17cx/3aKdxb3kJikF/oqZSAFVmPWEpAsDg2x4AMJ4W+w9EQ311XB9jlYDh+B89bPKwP3zVf/1w7R9dlVtr0N5dd8D7Ox84XrQ4dd2Zcwt3eJ+lY9LOshXHbUSF3XIGRsQfBWy5BrYIJ9qCDqd+XA0SDCD1b5NbZYEdfGQMG3WG/pdQN+ocpWn5cS0R+Bzy1TF0oOahH/QVHJFUmyKq2A6yHzfMyRIrAKKqigFnBkGbcQdHZR4VhqxkR5CbIruFCqEcvE5JAKKgYOag57SLoOESCl0Lzj65H6DuxxP2bzICMh+g+KV+YOPdWgV3OQPKCaDuuxA/axV0/bRvznMa/36KF1AvWg2vkSlJWwSIm+wYIPyBapIQwZ3eeadtLWmg7RwVsE0/0cQChGDKATYGZ2xBHncYeFb3nidp+xyg6o10W4bm0OufN9rUBCFgIrlPGiOJUCRVB5QBP2g2Ar1zoSfGGMD9HAyKBBDssQ7nCEiZs21oZPuLX3S+d+4XvFLLebd42AF1yVAvhA2KDD9vHBXXwJwC3xyQ+tMI18CuAa8G5tniDpDtihYPZf5bPqwJB6do9DqgBu7Tp18ncrINJDPeGmVw/3oGCl0XGEKLbelDJKt0jO2Hp2gRCY+VGZE3YCK6PBAOEZ9GxBjA4uF6YHzMEwVx2ABjpNQNmB+g5rOR+Bt9naQYwO6kH6DSxiqsGadtGQivtNYcQPqBDJ4calnMFcdwIXqgEZxOmBjA9mdvU2rjUTcPEoU5dB/fbhXHfqOY9Q84jHEQP36jg2+0zFBnaWduzQ84n4d7IrRCBKV/iw8cB595IQiPbn3dLRwAU/FXwgSgdfAbAgFfb9Ie9QKIkgMI53hoB1xiTs8vAud0LRGU049in3uPbs+qWA3HCbAXgQhoc9YJXYAXdX3KlIQXa1nQF3FA1k94n35Pbs+p+hIXfNkVT36zybceF2qTWHy0cPdPebdsk1/RG1DQMd03dsIXfxiaO3WCz350DTD6z3jisBYBRLfcHQD6GCqXa33RwpNvebAT0gWG0Uhbz3ww6EIPz2SyoC90H9l2F5d+VwzQ7RD1L2dMHJt0s80hHm9s4QQVBA+IERw3eFd18QzmN8oJr3JXYHh8ZomvY699XUJJBc9nr3gsFhkYzABvaEA6P4iDUYCSr3xvfLgD2WlXcq9lV2y0CKFdV2sI81d8Wlp6Bi90OxxHA0IQ12tvZJUB/10RD29rZWaozfBfL35NBD0X0IHXfO9513CxCrwa73Afdu9l1QOI59d6SwhVGsCWTRQaAuK4N2DdAZYf+ALiv9cMSOseeJdlgEU1FCkBUPAfeTdg3QFI8OF4WUYfezECkx4fdzdjII3pULdmcPYWG10PSPRbmYZaVAXVGPgYW3ZAaL8TQJheiLYDw8a/Y1QY0Ol3cp90N5usCZ9/t3rAjcj2n2HtBZ9jVBew8QB0khiSFLZV9hBfb59xyPRfdndoX3PI6cjwX3FEGij7d2c3a6QH4hNI/zXfX2a/S9VppE79ebdxX2bI7iRVX3tfYRt/kI9fYV99GhjldrnFz2sbydQIcQ+8GVF2QGrffXOGqPldBGrD+X0J3QQJ32tpxkN8iNB1Gj9qohsxFhYXs3K5jS0PqOY0HqKgdMVAjWVEVR4ndYVnCPFPYGjlNVLJcaDAAiy/YucMbzpLDmj+6wpdF8ULAlLQ7gQXqN+hdGj2UOZo/p9l0x9Qk+pQ0PuoDcEVx31Q6+NcDBAYX6D+qXsMGyd7YODQ5gwfv2TQ4VgPmhanH20QwpKVHF9W0PQ8EcuXwh3+FCduGhZSGcIQP2PQ/PoBZ3yQ+hFiyhYw5992iguyC2d5MPCPcpUMFRnebt9qJxSvgJOWn3qPddEE1Bkw4Y90r4NO1ud1j3CXlhdasP+PdrD2fa8zC193KBIlFn2j53JPasiRBN/I97lOR1P3jZ9vsONYFx0CF3xw5U9+dxJeDhdvT3Jw+SoU4URY9i+XNB7KHTdye3SvmiCPF31w4dvTcOSytUYWz2Hb3RoBz3VY9ksAWR0IzeK9hgbuAWgcN3WbGH1kvw4ogi9jQWCbB5diL3izAJscL3/Pci922O70A5d1EhLviC3AK3ftelBXahrkFS9/8PshHxKTb33hCV8dQ0ZXcB975hi/GyBch5KvZGcM1gRlDucCLsaXihkPQwSvbUkRQg6bAQj92wRjFaQOwsNXYdkHlEOKpvDvV2iYA64BCO6eAAEc9gg7HNd2iPfQVg8G12J5AZkEOQwfdu90cFGsFs2MP8FKFZkFuPHXY8ROYxSJnMwESP3bF5gUnhkvkB9nIRAwRDIUs3ofbjdtsx0sXTd0ewXjDpUBCOM3c+MD/B7VdR9tZhVCGDgIt3DI+juLgQtfd74aRBx5CFQE+B8fclcDxxJPd8oS+R/1VAIPt2qXCbsf2Ao+Yp9u4rnauRkW52fI7vjiaEJ3ZX4Q2RGMGfsXn3UkCvjl0w/47fsFOPAE5/ETd3GzDeoWn2aMAr8ceQhtYV99KOvDGJ0Gr41ffrduVxl4Ex93d2OBHkjKL4jncEofww6VHHDq33uzAfYJqPtWDGIaWQH2ArV5qP9KAoT6jYenYCqy+5PqUVYN2lg/ewEYBBo/aGj6mRBgXBD9FAbPAkwYcrZmgetrtgREHydmxA+iDWEFJ3JH1NgLA5O/ZFDjfBKZFwDiUPHjkDYDsq0hwhMMK0dyUVDs6Px7HDIbYP6pcogOmgRg/ql5GAN/fuj29hMXB7oCM2jE+rYY24j8Hg1xUPZdn+SqDYug8TASyEremFVxUPXE8BcQ/Q19Y2zd8r/kv5NJYOrOH+SqDAtQ+vQUdwXwA7YaDZjknEQTFxaEC6IWYOzEDxuZzQe6H6DutgMiHuxWh2Rg4SkC/YImTacPOimvRgULaBWGFaD9sxiTCbYFrB6g9oQDurU/ZncBqUeEDxuFUlwAQalb/3r9onCHR3CUGeOFLzm0GICcAlizmfEdlADFbJ+QmBnxDLkIZO76GQ4Da15LhsVq8MbhH8sRKFTzb4EDHh/LDoT083YJCbO1NAVYHHN/n0sAeIoFz368Q/WURSUGByMA5PodjziO+Gu7ec0Hlhzk4Iocc2CKBaQYZwTVDuTgXRRFICBDh31g0iVx5PeNhsV76Azk6NaVZXm0Dm2V5PiLf7hWMBaUe0wWzZZ8SX4EZPvKpxYWfF4SGw7fUi4yCCVzQgAXqRT2+x8Q6oBYZwkvCCVhuBwOCryfnx+GHS1glO2/n6eURT7xGD+QFg8rZ2LSjAyVaTIVeA1rBzcNv4X1ZD0kh3CTfPIcDXWU4d4WNWlPCA1rlPFkFZ8dqXEU6ZYQKqcqO4QAJnMVfkANLgLhmyJNv4+U75Sf2AYgg5TtjgFU409yzx9cBg1xlMmtf9OrUtfGadlJwJ1U4qAxFPTPjgMFJt48CK7SAhtfAkkEs8o1hH8cQJn1AyIVaR9ript4oxDcFWkC5PMVbajps6OOBkhKm3AqERThNAV1b9TlROBpIghLfWdBCwB4Cgc2Es8FuW9U4CoXtAt9YTMVJBTATI5rfXtDE04WgNU6HP19vA9U8FeNSP560vkaNVea0/dDSIRdBTTiCxWbbUkN1PrzzMQHE3NeE9oB3wH2Akd8jIGuGSaihgvjd9CVaAGU5xwPahk/gAIOuOQ9KAYQFXjfW/0cNYcGAN8KR0IGaAYVy6klanTxR4Ygk9oMN0QeCSVwnAtcDLSD9ZZ7Z5UOrSylbwCCrYMyE5TD22klfhIG4abBW99hk2K0EaIeyjP/Z4GT9XcYvRNmuhu4ArPbVOt0hF5x9PK8UMq5GV4cFykUpt0sAqV6pBF8ASLD+2klezoEQw7Ml7N4R1unlxi3khVlZiEUDOrmk/9lekU5CPUiqp9k8AEdpg309M7DFOPqxNgIxmIcF6TssUFaGY5rmPqY0SUd2wjGaAtqjBiVpGsd4OlYqWT36LRV38kIC2zqDq0t7xOEE4vf+B6M7tccWhOL2LcOrSdTDgt4Y6ZPTNNyB3FPuE4Go2SM7UOcn5cliTVkTOV9dxitfXOhN2t2VrVlahwm+hpM/x0GxW0cFR2eTODkGV0Yh29EFlauDAZ3Cug6HhZWqBQdpWPt0HlhXw4PjAttBBauZMaO2B6FdEz7LAGvCxGbIkzM8wwATOOUGQ8BXw4RCUd7zOQjF8zh4hPbcz1smTuMHcV00hFtAV8H7QULbY1xT7UOHwVhggyZJ+IBTRYQgYIYlbhaBEwRLONSjJkgKh0g7aDwmBxPChQHIO1JDMi+XBg7fPliGhjwlWWiO5jA/YYS4xVlvPIRwO1o5fk/6XFnYCYV160mAsz5zBxrDL+rrOlHckMdgFw1XtQAxWsUEfps5XOLxMN0h6JM/MN4bP2ZGAdiBnniHWhiTPkmrFl383JM7nT0dYYM/a8AaSRVGYwbRW1aAzT/nBziCUd+M2ZhFWkAWgJTbDoQNIQ9PH/OB2HDRr9xtOGuDwdvCXu07yzoOxTSvPIRFPW4ANT5O2s8GWT+hlCOBEVkZQQjBsTPUPNM42KmFPXiA7MFcrx8BY+/rO+yrhzx8HujdcdgJgiZCOk7IhBdHzhdGwBpLl8HHxsc71gNL88UERzpaRcc8J4Sew02jUsXHOd7iMdonBcc4uFnp3ttGTT8RiGRDAVrGBxIfw8QKq02gRQQnONqn0oPsqJkj1TpmAGnACK59gKHHQHLnO+4wLEMM9b1BQVoIhF8Blz76O9TwBz2MB1KHMdptAiQd68IgPJqkRTk5C4DCEvBWBu07DqIOwhLxptjSwkEB6d+uQGOCJB3/3FnYMoMvmdi315Zp3opaUq0qO7g8ODzzy/kjUjtP9RysQqrVAJ/YVYDOxWPTRIGUPIzDHKzwUSnZ74QYqSvEMKG8xtyteiWlOOnZi1+POH1h39lmiXStWQX+xfg57IG2AWqAiwGGPlncdVQlA4w8RjlLzkg5Rjz553TCToUuxso+OdvG4Zhw8sCsOLE5vsbyPqY+RibhBMffpjwhnwBRFzxAHRPcXOnzA8fa7D6OXIfVqV7mOwXYGQygqZw9hNg5LhzFjV1F3M2YuUfmOtPf8UJfPHXZOYKDAAk4JhBWPaoVrxVuAbPc8JAFMabC3Dg8PIk/7oCrPheznoSJPERDdKnP88le4VPTgwfdvD7nrWxEdKzoYMuZJQWpwOXdhYHLBNojyzoV2H9bYqhRB8vd9jsGSXinTj5r3bweX1EAu0I8886ZhWwWm9zOOcjSAYHOPUkBNkLA5dXdDsVCQV8BLj6+hy8GwLhTH/PaqsGFPMEBgFo73bXdxzuxB8yqddlFhkEnzjriOHTCwBjJBXUAuKxhFhU9xQCuOMzA+9x8GfCDacXHDRnaOkkmQK1djd4H3VPpd99fO545lRl33F440jsQvr4GPjnSOsAZXwTeODI7LcKQvd46Ldm5A5k/wpRPwT45lRqHBKzHsjwtOq9Wvjx+Ou3ZlRp2g79E7di7ALC5fjm+PR3bTkMfOAo6/j1T7x4F/j5d3xIbOzhQu53ZywMyUweG8LzDAFaD8LtwREo5LR3nO44TEcFBPhNFdSdBP4E/V9mVHzcGQTgqPwi4d4HBOAVBDQGVHWbHysSqOzfcfB8W3bnfqjwQvNCEt9+33BC9WTn32K3FFBzLRmE9ekETBcc8BQZ+wbIhW/EPS0MFP9hP3GMCeEUSwy5EWdwVQFc8n7dNxuH1LgbtOCFDA2GMJqg6OkyFQJ/aVwOkxDM0+qa/3SQe7hZexD/fzQ1jlocAn9soOc1rBtu4PKMCMZ8ggxHCdCGBO705LYE6PafjtYHNadDdg9gjBjSDbVY2xYQ8UwEiHxjfBDvAvFPu2EGov4w9XgL9py/Zzd1GOjm1ZsGvPZAbYIKdBZAj2JPMOy5C/JpcbCY7rz/ptYwHc0MX2pWF00bKRB0FbzoL5oS46wdEO/AFed1EuAaGZj753cYvNQJwv2Y5QSPEvFECHzrL5wOGykHN4i3Znz6EunaHnzicO/WeNCTjYF84+LxkucWCxd0R35M5LeHfP6M7+QffOT89s94Evj85Vj7cOeS42JBCPLKB8zhdJ1HAvDsmT2dAa8SWYLY9xi1UM386ZJZDhwOhMda2OJsDq0jYUOXbOtHNbv889j3YuGiG/z9L3cYrjLSexfiTsIKDPyXYDjycgkeDM9dOPSva/J+HBrwVldp0uj1OjIZ+w6vfjQ7dsSYEddwOPfEcPlcWgYI/IKhYgL85DLncHs8HFd/x1cHl4rY5dbS5Tj9ZsGk4QLlyNM49qAlAv8I4dkVsUMC6IL0OxOhJwLzAvQHfzLwguC4/293isNwwYj472p8pEQagum4+rL75RWI7AMJgqWC/+Kr9PzWY5QR133vZRYbmpWPduKhJAsSp6aYaXJ49ELheoZ4+HLpHhRy5mYaH3fS33C/DBV48UL2cuuBEx94t3OcAXqDQvm3crdpsueu0QePQvMZQ+KQwuW3ceG/25TC/492+PW6bAtB+PTy/p9l1a4RCsL5n3mUDSzgkuhSnooG8v5cC19ud2gkfiQE8vEAZ8L1eAN6n8L2KPwE//LkIvso9qcGZAIcgjIQhPSi5/ynix5y8xgeVwn8uLcA8vioG/0IOEQo+bd+QB6Ah/ykMhs7Guw6FPEK87kccPYJErcbCvvRFp94ivquCDhMivvi+uMXwqa/RxYZEp6KAHLyC3wQ+Y8ZIqiRZmdu7xyCqIiZpO0o2KMfcLSNfyd0dZyCt2MKaO4XZdWnIRiAmciHLO9y8pIOp37KF6x2vLoFe8t4TRLBIVcBP3QLCCR7O26ndNkd7QI4W1EOMO3uCCRtlPFnYKoNjgsxmRYQyu+U4sr6lAS871IP8vYjCl+H33uUAjgdNrz5YgNtLgYANlTn32K/DHIOjFFU6srzlP/K7VTgIrS2Bg1xy9n08KiRDW66QSQHSuuJBirnTAw/c0rgwz0RHkr0Cxz1uisJPR7in0IFKuNSnidya3zy40iS4OTkFo1zGVl/YGL3uiMyB9z+xPz5cKtT2gDi5ND4ouqVMMMda7aq+9wPCgDi5z1jp3PeBCMA4vvqktDxVPAZUpwOZB7o/czzGVWdEUThLGGWEqDzxO31CGrkp1FE/7oalAhq98r6BWlq5voPqvbk9aDm6A6ME6rkjR6g7bsZqvjYDrKl3BB5YariwPzAeqr70PIJlrwaLb0q4sD2Wwyq5r9agO5K9yrpOXRc+ioChx+/0ARFBXPq4yr1Ku+yveGqvVEq5XKhI2HK+dccyLKs/FYc9avytSz9R4HiGs2nqvNbZJQVP5gq4rV61pPM+ix7yuLyvwhEaA3K/m6UMgHK/lkGavKs7vyo8vF3EuD7Ah/iEBlFuBKY8qzqOAITFIRJIkHbbYMGmv33Ydtith9trqeERXgKCPoAB1s7BiA09h9K4xjlB2T+ZtgRpXuM+KlXr3oiqv4YHOvs4hlfrAVM/+z89a94xK8U0q8jYhlVTABM56z1SvPEhhzv7OdDYhlI63gc8MN/GuTTxVr1ZWoEAT+WEodOFnT/NXrNoYQfnx6q8xsCpW8a+F9ZdOGTdXTwinWxFLYCpXLMDmlghg9w4eVb6prTOc+OE2wVD0r/2M2Rc/T8BBZGGfZouW607MQByuvCGTcDS3e09RlA05k/ngQfBGUl32oPAJNwnHgIauZHXCCIm5UkGciVGBxAge0EWBUZTjcZP5dUF9QVGV0DB+VoUX9tvsoVEhw04uOQGVMBH1oQRpoZC7rom4DfEyuDHB5qwKISuuKNa7r//PWbeI160yoPfCCTDWAzq3KnlPgKtykTyDqCCuVo+hcxXT+deuWU+ipGXBxAk9jtjg/HwsIdeu+U6Pr4Y2s5BwzqEtM3H20EZpb060JwTwf1bS4QsUFLFZtiMW0KeQ4oZRX65Drl7bqkHPrh9Pbtv41q5XMjgQJsass66WkSggeknBOK5X6LBEMMhik0GeV7nWoSyh2Hg2jcmNOn/Aso8/T+zGOVrp9kZQ60/q9qiScRYfriag4GEOYnY2cTfckKo8lDc2VvKWJec24YdPlvfJ+fMoWjaIboU4cjzRXZP59CF91/Mp7RH31z2B7XqSJO/RHOSpcIqWtbbrri+2I+ZugH5WNmDfwd0qDkDwCRbwcrFkb8L4t9Y+UUdnA4irgRNOu4H15gDQS68k4OamUoV7NwtUiSRl5poRlDbWgblAcS20MSuu5yHG51JYqDZ12QhWZedO5+Rvk6FqgKsoa0G18QxxUTuBri/PpOQT+VAUySB2V1sQu+fPIaYEfosQbr1daODnrgDRC+baIeg2ImVF1r1dRRDwbvpB5nUE+bXx9CHld3HE7Y8wblwglVXItpE2W8Hteg1AjSDrTnaRsm+7IW+x6JQiYOEl6SHIb5qX5jZhD3Ju8WENFVOgOG9JMEXRFiXtEdpvrKlabnhurlcd8FckmYHGeVm3KfaGb4WAwG5cwDMWCYFIcVm3+PjuxkRPWbdSwbUXJFGPrmNPxG5e5x4v0uekbz7npjehV6RuixbgQJpv0uY+UP7mDHc0bmaA6BTagAb4MS7hlrRMqPCcuOOw3RdMbkuvEYElsgQjBG7JyBCWJhXYNktPeaBxs7g3om7kbgFvrPGgbhY2QW6R8fm2pdZ+7dJuUm6PFun32m7yb01y5DbktihuGSbqbyS2aG/tFaY3ITZJgWugoqm4LepvrdYJbvgFMG+9EDgWqo6LYJZoWm+jctpu8G6lkWlvum/pbpQWPFfkNmgIMTHtwZI3oG+Eb00UWSDEb8VcTQckbrfXpG4Flo5v/jZ2bwVuFjdZ8NfMYhdL3W8rD1hNB6mx/TfDYU9hcZbyblFWI5cVblZZWfCIF2VuQdB4QHVvHdaJl242ceoA0LUHZc/7+FvLjW8cKlhBy5bX8ZzWKO16IVVuNoFc15HxJTGNb2ehfAnP8LVvLI8j+a1gHpZzEfVxIvFUIXgWX6FFTvDJ04X2Fi5B7G+XQGewo2+sqXwEgV0lb9jmoDbg4KGXhG4qN5okTQb4zcQJ4kDcEXlvs6AN8dXgphbbAbw4Ddajl6mWo2CVEA3Xx8GNoXVJy9y+8WtuzZY6Fmtu4KHtFR/xsPEdhqKpdM+q8LtvAQDCr6rxgaA4FhKQ33G5EQiSE0J4sdG3qFHNSKOgHfm+QM2WHSDgMItPk3FBliFwxvEzr0GXXs89VqTRrZd6ITxgFvGuwDJPe8p2IBbwLkFkFgJQX641+Y+AxyAqt/qOFvH4YXfZ8mB0N+9v7RQ7Kf/wAZeVgDd4aGblKr9vbrebb77Xa7nFiNz7urCfsS+RdUhA7r8rX26mIEFwdKlfb8D5PnElwaOX8mH6dWN4ztl4Fywrb7A5cD4JV24TrjT520/pF9pBU640+PFQixZqedtXZZQZsjBUTrFEIDHh3hX2IRpwmXgdFmQse1YlALbg+BTstpo4QjHeFYd4Rs/bFz4PPnHLQ6HAtrex0xPhdrZfbt6XP25yt6sng/HrrsAxORTu1zq2XdgJF3/BntctDZTv7LDWz9TuGO62zgkWva+qcY04VyUgIHIweRVuFqRN+q+I7y7O6BQjrn25Uo6ubj4Jz3lbTtQUcY9Q7pnWFuZPIKI2oUDAuRap6O4GsXotT2asCfbQyXydoQ0V6uhW1oHZDRTekOZxtRGcuu1P5ta70SwQFnyVwbO5FHH0lvbZgDCZcKNhvm/joInBY3lL8Q0UW1F3ecOgRDEH5P4WZ7ml9ctCnGGWIMrvsvBr5PxAorFfYekWySH2sIfLT2YK8F0waRkaCYYi7HkacdHXWu5lNk6wjK4/JEXhn04X1JX3Gm9G9v4U+lZC7ji5p1fSr6bvn4EusZ6uQu7yru9WZK6Xw/QhL1dKrsVzvtc274L6+lcHoYouHRY4QA7vYq7+58kJB6Harn4X0EH2r8egka7+58zu36CIF+kXG9bI1mxQxq/q+2RA1XFm5lyvdXiv4I7uFq+weKbxDm9Wr+mhuU6O73yuMbEdYXKQqmi6rpmwpYHLQjhBWq+CHdP4zu7FsJQhXXM0rtHvIdAx7nbuSaA+jh0XFfdscV6v3RQKryl5R6/m7l15zLAd4Cnu07COdShP1DGWYlur1iVirtOxScCG7y7u07DhEFckKEBCruJ4hUAHFm/jP68tsXGuqPJ8eO9AUZB6FV/AlHBPsChxanWzkV6h0PAl50ik1XHhoeXm7jX0Nsp483FHZsKu1I+UoZNQqPIh77hwhC4l5syvE0BKZhrMPK5zQOVUhVBJryGk9xC75y3ufEBKdNxukfRGriBwHsBvoJzMHu/bgVWhcpBpwm7umEHvsGpuumyR7y+VB5aczW5BrUGkeJiCNu66wKj4uBWjQB1vUgoeIBLgP+SAENRBZw4T76SFA0BpV2XuumzwtopBPwiAe9tOGUHBwZy797FuQHId/Rf4iaZOBMGmQG4RwihTkE2xqpCOdFWA5yCccCJBzpfbMFj464EOkDMWj0EC1kD9oe7lJITWGGDB7j8kztmCziGxFkAn7vRAlXimAm+gPUk8z11xKO720QBgCKC47je8XcDusQauE0Ln7teg7u737rnuLu9CzvfvScBO79Uw9+5iz8ehDu9n7jGwSq6bFlLOT1dSr09nlYCyz1bu3kATQyev51yW7t6XZ68usObu/+8h0AAepu6AHrLWBmJvby8xtyGU+QbvtLr3r6pwIe/tFQgOG6FN7pAeBU8accrhv9k5bhnu6PPFT/YXqnAB7k0HMEEp71AeC0NOritXV7m/rthMhVCFcWAftYkAbxpx8Dd4FkU4GNbHbt5xq46Blnru1GGpllTN5KqpNdLXUOd7Ni4ZuCGtl12gpLFWOQhnAI3+Lron2VzNl/DBYSFmtyjBqZYf4cQfw2BvobWIUs+v8Rjws0Kf7v3wXM7Nl6xWUvhczpHt8133+Mmw6MDYTc/u8vg975Qe5+/28Z3u2Zb8z6X57e5NBx3WAjZoZ0jOGvG4RaARXB+X7qwEeaGYH/fu52/17sge7B4d+LXu2ZasHtqxDmE8JQN1aLd6JQuhbB+w8VlgTB90Hg3WUh4MHzQfe27AhLNDv++VVh9vnBf/7gn48eGE0CBJgB+KHwVJCh7XrqIE8FGhEEtBIfFfIZgXanEJNx2ukO8qmNZv0DbEGSAf2h+GN8sEGZd2WJev+ZY0UdBzI/ik0foe6FUuN7VghBcJ9AKuogS6HjgWAs+R+eOgj2+hxZ9PN23eoc9vIs6CCWof68xBr7RqSh9sp8CxMAhKH5eWFtQW74ofk0No996ujaqXL1oBvuFj7lAIMh+v8pEgTzfSH+MEhKZeH/7wZ6z5BD4fufhiHjH7+ytF+XoliK+eHh9Pgh9U+X4fve568Y3vQR+cMCr4fB6EpnDBYuHuBeQEegVt7vXcXB8RHqVOqrYewDExnBDd7jX4bB9hHraujB9qOX4fYe+zRYwfQR/O7zq39B+pHm9xtB4+HvDWtB9iJZ4e8NfT8I7gb2/uH7OxNA3mYb/yxSAvzi4ZAqEOH6YvqrBj4QlBv/MCVkmg7KG/2DbrpbFSCWFwNuo/TvGgHyG/kXcxXEAk1wqwRR6V2Wpk3IhFHsOgJNZ30XkwCWaIOAR5AMQSp3xAnRbge96ho5bFtEn4BHlYhO4euCnStixwP1kOH1XQ1XH0oRHmMhcoQAzXhm4Fl+2Q1I50tUAW9cVNDhuwzi4yF1cofHiNbyMfyi8tsaUFaoWrkFz2WqFtoNSpwcD3DlMeYqrTHj/AlHnCIa2W3QjPcDx4IDFNFIkht1ghlpX2iGdnYEthrMGNqOtgAdHbh4SX9LGPYK4gMxeGSQLWBZGKQVsfjcE20Gv1FRfLomjYB8FWgLrMJKCi+U2OO5cmKZWuZWFZBcEWQc7U4TZBwqGHHu9v/2Afb09m0OHmzrfQGJbfboPRWm5fWEfw5O5JcRZuWWCU7gnmVO820Xyghu/2YArQTx7i4X1Whu/oIcAFKIHtr90V8kDTYFUGmlYi4LMLJO+6YP9vhx5Gz78fDDcnJdIxloiLF2dYTbn94CcfoO+6YWDuZx/g7iLhEO4qzMOuedjQ701z3sFvsXuwaREPlnsR3Niq0PiWiCG68QEAq64klvKXFwRrZZFvxYj3lopopaHY0a/yEI+PkfeWSyrVwIMwDWdJVvYqDglSQaAWqVcB9sAwEBc297ieUkgUj4COoEHtFOGEQC+jj9tvaiHAj3r3627/gAOOFoDxccAQM29QjxMv9hYUQFMuM46TylHgLS8DXB2Q+Yhh8cN2TtCaHgsvcy9AdktX81xoj60U7pzOVsP8KC6SFtwIwfa7L6mW3kz4LgvIpkBLHgEDZ46nj4oWT8okL+Qfv/JPymQuZy68n+Qut48R9vyely5Cnkt2oYjEEXQubkW4njcw/kC196yOjFAVzA8uSfYSpnfBvy6d/M8vnh4SMO8uPI5ynuwvH49Hdnb0GTE/jl8uPh7Usd8vWj2eHkG2Ai5ksGqeAK7F9wIvchdkcECuqPbAr5Kfm7EcQBX2lcENBjbqIPbqj/QR8x/AQUhPCi8jH4ou7fZajzX04x/cryouSBZXOBP2NaBWHk3RiLcGjwnBTRSNIKX3z5fD962XNp4ETnMeLJ9tKT/2LKTET5wXVFBSdgp2zp+5gJf2YCtDbyxBJc9Kdi5rOGC2sJPPg0GtlmWxlR8PCMPOkB9CkSPPsCprFy0OSFApbtFcTQ/8cXdulNElro+goqkYeP229G+bbqTRwAQvyilvWKCLYLArtM/rb+Lg6HdAIdhRsB4MV0O3LSE3ie386HfqsUNuc2+Yd5I3BW9VoNjOJSwPjqNvCUFGztyRz2+in9RxlpjsF4aABs6ZnycgxHCWCOwWcGHeT5m2fTG7QmYOZk8wrpmevDaUdkmwkoW7Qtpx+4XaOKGXtufHN1Ew9W8iNl+387YFl+uQsdEWV/EgOBblIFvWoIJEMetuPnDqVvvXhJ85Nhk3A2HUH5ftxxGaV7FuU5Ztn6NzyjbqVz4PX25kz82e5M91Scc3JO+Op1u2AO5dnjTPW7fPb1oRADZ5n/YWuZ/eTrAeGRccN6mMI57KV2NXlpmdn6Nz1k45n92fVOepjQHRH246DNOe7HEtnnH5/Z7Tn2Vug54Uz17xbZ9Yx2quwZ5Ln8WhawhJ0VdvvcDTziZ2v+7WUbPOwRZKTfPOE/aloeURjaglAHp3Aw/pFkORldBSXe4ufux8YeSvni6In4vOEY9cnt0WhtFwrlMPXxcDb6QfEkkwQChx6vqToLX28Y4x7602tIihLrkWFypY9+EuixeGb2+wmwBRLhbmEkHRLrvP/O/Cq8cP+89dchEhSS45jhbm759p9skuCe/SwHgwoXZHDkUWOh8QB2cOTuZ0MCWP6RctRNkvRAgwUeqIq0/DdqrPy8A/TPkvhS9sUK5ukuDe9kUv4F4RcIN2uzbUFNTBOC+Njxfu4ymKIc2O2QtaqLAJNS+Q4VqoNS/tjm2QHRZTwPLx01wiTU1zi3BW99/OGJdeINSPEBVNLo/MFwUq9zEhN+5o7qb2CvaR4OXkIaAgLkCPo3JEnlYq+J8BMRPOGJ7S2yah9AT4d+NDam5kX/OeGm8gnY5vy8nL1h0WykQlN9HAGW66bq/3YZ96b5Z1+m5sVxe5q+8PngTPSeFGlhbmJm7odi+1pm5HFMxeL7QWbmr5JpiUiWHmkyDxnmorT2bzK1ZX79UBFsLFoYHJnnKxlFR7bzTPeRYR7my4VM5KdTfukEB+IERWDR4JFgCABs+f0SggpE2hdMC28E4JFghAnF+vLTiXBnj40YmfbrSnnvQh7F+W1nGzbrYlNpx1jaE6qDFQlHY/IRsf11CczxX2ux60V2GeNa5+7IKjqZ6PoBkm2YHcVzpeiNyT0TaNDa5+7ZWA455O6RUCys16V4iusJeaV8w2pzfXHxhdWJddge2eul8L182ewDdNcxI5tfA3gXCfJiGaV+A3kW+KMWR2FtRQNlbqcywntopfSl6AYamfsu5mEBolioHcVsbBU/iSFbWfxzeyIXxeuxDhT0Y1sF5LnNWuUQn3H05A8nZ+TrkgG++K3BDOwMF74M5v/55+Tq7mju8O0RSF+4STbtQVYV/eT6tgFaGUVRSePGdxQdIWQ0zvoQ5eX+DowbzvVze2oBsxvl3FXIJXsBdvnxSPGF0kYVpvoB+aV/8YaV4XTlZAuXrT4X3xZ08W0cbuna7qN+Z0lDe3tvcR8qbefRleCzHmdf7nele6NkRv+9GQMY7UUkFbJnYFelaxuLvnWcAEkFFPnPlb5544lHerYA7gnG+vQcc3FmDS2qzBKba7txZgJef1XmQEmhi4kPkj9aAqaV2wZeaTTnxWLjbUb1v5AV9ccAHbc/HVXv9Q0tvUbuFe50gVod0r0V41Jzg3ccQ6wMtuMV5awKKQS4PlQOpXqV7Yb2lfI17MwZmsUhfNnttu2G4Yq12uhNrobzlepYH+B6Rf7G+PVrXBDmLBoCZeCYCokouemtkaIUdGgV0WVjxvoKfljuVeN+ZMrNVBcV9VQU9g3EhiIRNx+4Sib27bvcABTyY3O140IHxXdV97Xg1fqYzdQZY2Xtu4ILc2+43+BnbEWZ/6SOthbtsihfc3DjfnX+O3Tzam8bBu70CToVdfrjZe2vRvxk/pIABvJ7HqA+fgD19WV23BePB3XzNe8HeToDevAAXbIFB3r14DOjdfoWFNKghAPea4wHsxgc+2hMdeAIEOXnQxOcEzJG6AOZ+6b+dfeCjjtnhuQN5fy6OftOEW0FR9nyCMXnWAp1/kUd5OKUBXgW7aNO3cVlDfH1407bxe70HjwFtflojxn/UhkS2QbwjfgW6QbuJvDl91DmZBR0eSbvRfUm6qPWFu6N/04Tt3NF4c8ZEsCm46X+NC8Jgxb2Rfmpdxwho3YZ+9wLvmNF4aX1hvuG90Xvh2eEHlEcTeq7YNKGwvA1+KJcpe5MH+O0RvmHYFbsQUhW/g33tARG7Fb6mefF5d7sVv3Fc+pD1eWsFHVokDLm7EFa5uBs8deWxuUoRUzhJ2RG7wIYegwLcOQRzerG/KXhDecSyQ3rGf/m9HJqJusZ7I3pJuBtaMXjiPxV7ib95P0cHo35/3RDdE3rJvot9Y3pFvsm5RbhpeNdeybkWAgCs2jcpvRakqbgTOexHybqhvRF6kXgrfWJ+wbluXgy+gFISeqj0PlUSeII6qPEmBwy4JwWremwBknoV2uiAwUFsl65EeKuV3mN/HQlRfEC+/0M8UMy9ldh+BUkGnFHMuC49DsGukjJ4m30B2pt5LLwH2AzjV75kQrJ8cr/5GBBHQuG72HTC75kvR6C9VqRguuBR238z2arEkwMQUlUGoLhyecSxOlx4qkSGzQZPmyEB8n0QvEBTHLksrlI5xLX32Ap+YwN7fgp9ULvN2CBRUL5T3t47e39curI5/eAKXMvcSnt/hjaCa25rhz45juLLaGKAULlyPC+YxUPKen46y2lHfX48zAZlB2vaHzwKPbG5cedwuPy/h3xqfIo/qn/D6Ed8Arn1fD8EgThX3ifgVX+AgMw5IIpX2JucPH+j30o/FXlFAki8wTjnfIK7zD9JeZed99whOhp+T5yugTff0ERze/kCoTt+QWo8exGafsojmnzfmFp54T3qP6IvYTxafOE72xbhPtp94T5ms2oH2nsFMlVQoQKSv5o5uEClcJMD5D+53Y3dy+Q/3bp63W/ogHp5gK9+udkBenm3e3p7t3uGgA86D+Ahvfp8tD/6eqjyX9syhDcEbA+oR3c+3sF7agRAKDnXYBiBA3rPOk8/F7+de7njfdlg5y0RGzzW3IY+LRFzQ4a95IZZ33a1UYUyvS88xlaBh5towryvPG68mwBQvUFZmEHM7RUDjtoaviiFwMdWvwdfGrmOhw54moQJhnIhJBP7P+nSGrw7PqZ4W0EQwBJjB4CU34gwfLu41rCELtidQ6DHjrz6fRey4wfuvvdkgdqjvQ691BETP8EdkrV2hDl9OQHQxl9+vcETPQ6+AQdbO694LObRWNs/mr12eJM7kzw9nRa6Uz8aula9472/f+O80zo8vwqGDn/kA696wYXGOZSWf3+vfcY+3ng4vd57hLtTAjy9fYEZuqY5PnwwoO877dsyRA1tCkXvPCS7voO6vSp7k9oku0/yQP8fOPhpXISkvp8+hdlau3F4ljo6vIV+U9lfOVq4zN9N24EA6ry6lE1GFLyz3MZSZ+IAqjMTgX2g//T1XDxz3xa/Z7FBeSyvpdqffO05tKmUvC98rQeUuE4zZCgEpCF/89x8PkS01YZhe0vbfDo528h7G9nfQp18hQMH3QC53XgReSvbGIKdfQXBgLjQ+AG+0QW0vFXYT3jivQ48gLqreBJ5K3qiTqt8K3xd6VSXy9vOhpLbSQv5AAfZYg46hRqtaBWw+PKFFDjmFDUA8n+52JqJspEKfvLHiBee6Ny+037kOJCrDFkI/qaBYxhy5nI7uKsI+iu8C178YDrZG1Nqefy4HyljGkXD3DnCCz4HLgbKQeRDiLyUOay2jT9qeGoBYx8VQtfYYQQwxF3vYQC/PKo/t1lzwWJ7qjzC4kWr+QXog7fYu4R+ASyxinxtodtD7aZs2oD4nkTo/et4qjr+t5ZGyagGBezf43vtBrD/TkBCO7D8a4DLsnD6Yg6w+AcHy96VX4uWrb2V3nNHvUDY/7Va9XYE2jX1/llbeCKBM9tJCgUBBwLCOlMHyhmjBqC/UoxLq6cn2zogvWWEpDg3BR1cexbzhmQ+Eojl2JfDCPwLROw8EIPS2SQ6NIWo+/kz99+FOKGCLdgYh4NG/xFm2bw/joRXg1pmJ8XV31k9RD53gn8771sYPpviM9kLZmdjWmVggS44AgiDLXxjjjtL2fh6QhuYvUI4a0JoOjzi63wIumg/gHP8ODkDWhr/QA4+2PrDBdj4c99Y/7JE2Prifdg4Urr0vM4lpVp2GQCuPDmkD1Yerz5yPP8DxDn9NMnapjky3SEc7gEE/ZQ8a4FQYJ1GTDhhA39GFPhjgoK77wT9nvLfLDkHonBadh5Txt1ixvcgg+T+U3pd2boCD2GvJJlE/918VxR/zfD7A9A9nd7BtH4B2g2jAWPeqL90+mbQs2Gx8piHevV13E3CbAe1B8Os1ltSOvnYjR+xpifgrdwEgIRD5yQaIqS+E8JUCbXCPnqk0DYCdPoVBW46xcHc3qIhQ3i4qSkH6VoOFMBALPrVXihJjP8w/hT4rPyReqLq7kNfWa6X2oJ9mPDSWP3g2V29o6gRXJI4FwD6Hdx28PyePfD5On0gEAj59PjFRN58WXOTBxqbYoCI+rI4CQaVW0/36QWI+rCAnPsyhEj5xwA621SyHzwFhyUHJh9twAi5yP8mH5Ldxj5vZRWqgsLnfrPG7P3U+Yp8qPnVQbmzdwTH2GEHt1m8/c1ZGrMyg7OsQwBTQRqw6P2s+qXC495PZ4AKlYVD4gHVF1wpaOzYp9415qgDjq9fh3D6ZIWs/Zj4LPxs/az9WPqw/aOrrPtY/o4oOnPY/Gt/vKvDL6++Tj04rkIPrKGAuf42gutQwHPf/aelQhKTIMLCO0BHz1kpviXZwYKh3F59DwZE/Di8Xnr4//PZ+PrIOvoFudgE+mPma336hIT6Mtic6CQ+l9hRBfuCbAYS/EAaJD8LZj57JD2EPGzk5jGL4lc9wBK8hmo/pN7ae4PiyDs7XwQ7ZDsIPMYBODo7DwL6sjdqPtiXz1quBEPe3IQE3vEh5CRqvsZ+guzzgBE9CkFjQ36KprwGe4Zaig/2AIg6enCvXGw5nTw/2nkGXoJYBX4juDmaxKlt8QXivX2FygXJa9CEUTynAMi9ggg2AIg4vCR+BScO6EMP2+BAe1rFwwQ+2nq5xkGtyUJ4OeflEL5w/EQ/JD0jhAA7zoWO3CQ//P1jmZ4BGP3EOE9ePIIdeSV0Ev586JL6avv33AL8Z3vKBGbaWACHZvj8PlOnXFMByV94/40OcPtE/dXYD8DgG86GljogvmcCZTKmuFNEQFKlhDL4lAdI4bw4cQfuq1lRdHsb2qT8qWsn3aT/PXqxIknHAj6q+jw/AjrC+XnZ5P2ZM0L8k4DC/pVdZ7as+R44TePxbQStFPo7RaZRh8SU+G14bq+Agg7HEvsbQ2r6VPqBXwDahP9U/K1EzYVnttT/aPzLQ/FssoA0/FLnYDzl1wpebdnLQSVCNdiu5a85vIC/2dMDtEBX30FFe1jspD3eA8YQ2xcE9PsX3vT/mC3VdD3ecwJk/V9oOQYM+M9039zC+Iz8lfUf2HDU6KqyO4z4v99iikz8ny1fbxEDTP8hfgsEe15FAIF++Ido2vZWXgUs+Era8puYp7J6evmW+Hr6uv56/Fb+WP/JWldHABNPvlnZqAHeQz4VEX7FxOAgTAN6gwfZ4sPYG1b7WP/y+GnJ7SEOPeahMP7W/65Gtv/Y+sm+1vjcgeF/UnlxWCpYINzMuVAgKlHrBiI7Ptis81DkLLklQAmjIj/SfiC/QV3ShRvesngdPUlZTOR126y+MVjgw22Dbjz13E77NBMH2CMAsdxO+weHysPbEB4/QViiRvvb22bb28+jaj2SO5/HiV0jXY1ZELlix7VWmMWePAp5VCUS3tI5XLyxWvTn0jgHe1C6iVzohMfc3Ltu+4EF9b0xJId850cLIQ9hE9i+POAlQNCKPgOeyn/xWlMHcjtHe579I4byOsd/iVkvROw7x39BXsiHQr0nfvb7128n3d7/pUCUISnA7dsBP6vmPvumBOw+53ohWaIUPd/QRJ78k41rAxd6qjgu+HoCl3saeVQi4wfXhJp5oT4xXD2CAd2aeXffQVgrY1nYZEYP2VQn18eSveE5HvgfBUj8TFHXfjFcWEcQOl+Cc8wYpqQVEThaOVQmSFv/2I4l8PiUIZxGp4O4O1oVbACexzL8d3kh/uoTqd9MWttj3LImRAZ/4rtW/uPd93rp2RUsBn0LBWwF8T38pHee1vtV4J/fTz1sAcGGmd8+X09/yVsQwei9Hn/JXZNGHMEvPJ5+1vwQh8Pf/PUver5YyDxneiY9RAeAgxSD3noA/1H4ZYdV5j57wf/MJaY6gPzEur5boCOkub59Mfz2BOw6k9nR+2Y9Bd9m384UmwfmPqS9MfscP8D/Uf/DwAF48fhcOk3aHdiBWkDwPvkeON1/8f1LwMNgYPtWOSBkcKTWOkF+Uf06//itgkA2+ClfrPu/Oz7aoV68OFt4fYCM6YBitjsQ/DS9Ef9JAXw5/z4/wuxYeH0OOiKRUsUisxBn9Lu0vFVEJbICOo46EXu2/HKXNv0jYOH+afvW/2EESfiAgjt9AIZ3gOH9EwVL2juDpgfp+KjQ6fqPK7b/i7x4qa6AnEWVUEnFYng4RcglbFKYhiXa8QVkdCGngIKZ+AmFYauKAfa85P8aRan+fLIERRF8sK/QIXHTKSFYrzSUp2M/pYnFony0xTn55+KcuSytPQaAIIciacFYrj4FmIVsBuWGhYR7W7UH0CY8rHn4W3umBM7ef6P5+fSt2dl+WSLQJL55cmnGqV0JA5j4K1uZWU41sPiEOkX+aCWr2BXHPWOW8qXCG3pSOMuEmVgvA/T5O6DJALlbnIUhO/aEZoUl/R1i1961CNnbzorZIb46X4SF+Y2lF+PRkchAuV5WBa3bHidl+r5agjgC+MS4F17F+iAlfjrpXb7jTP8lg4cA5fzp++3e9oXIJ+BIxV9y/kBG2VvsrbCBUCQ1qeBvedsjOrtpPse6RGsEBN3KDTNcoUSGh1CeyIeSQ7U/LRVDhJtD0Q6Y/fTrRkK1+8OQwn21/gzko8ZaWhUVieYYlq4agxT3hhJEEIdLW1zwJtohQu5BRkGpcp++Gkb7xwOBDfojglcTHkX061T59f725sG5oECeQ+pGX+MKn6CAUUdIIWtZN/b5Ow3//h9+uyiD6kE0YXtuL3sN/71cfX/rXWjmaQRfACaiEIDuQ6UGUYHGowJA7kId3CKdAYfh5OpD7wFpA+0WZEDuRkCZxT5qRDdo2l+SRsiBCMO3mDaxkPkSQfMHkkb6B/gfjT9GR7DkBhW/nRwmdf5b6XtyqhShRV37v5siQjoC5UMd+Pq3YBC0owhGQuILY7gbrYM9Q58ks1y3mCvGQuK1gh35VOAXBkSy3fu9aa/RuEaiYSR71kRtdKG9KhFU5P35bX8DB+8CG0Gv3xkj/uRcQ6bLml1ig4N+ff6zAcII79344ZcHzf7fOVTgWd406qXFkMGVxgk53X4YRpxApxW7aItew/u9R119UBL/AZxAjHnGpyCDbETErnydZwLKXQsA3RX06uKWPEUARKNpzkeU6yJAkPlhm2P8MUajeI3bi2ZmFMKeHwCq/Y0VffvbMCJEO2K37/5F8GyfEB3f2VgNXnUIRth+WGBcaaJzzX5dgF8eMHH+ixE650BdCiWsR/5c7F4QZXpYGV6rY+5GSVw57IFbMduyRMR7lva0xqjlPtxVQkFeWzq+3ZH94aXkFHuemtzcJX77wVrT/03/7vwGRruc4kC2HjFYoV9AWDbFrEKxXYnlLtIYh3b9pcaSh4HardhsIOFYEFjggeFZv5sgX8HcEV7X4k7Zm5qM27P4y/nAW/ABId6RXs7eoFiGByxAUVg/3+zzANtu+9L5nYEJUEfkC/u7druaG8Ur/eDZzfz3thzBJ2byQHudgFs7YP3kC/7gwIBcSdAWAt7+yQIng+XzEsYb+3Fe6/xcxhv+8VqHn5cD6fpe+pR9Ea6Ix3PfbSTzhrBfVvWmem7+iV73md4D0dqJWZ7e55yJBrbGzv4NAA+ZsdrJWNIgE8UhFyrfLxEOOID+Gfs2+wI90FjBxlgHwPTCPDBZpAh+/ocE9vz7/ccBUsH2/OI5ubCEeVQiUNnURgf/kRYxWwf4kQG5sahGa/yO+ohetYN8PY75Yj7nnXs3iVpO/Q+fpwmB+k74tFmIgm99SVnO/U+YvlwQgC77zuAoWUUEh/z++y76z55fAW6CIVp6cLRbp/y14678OF2ks73gO/7N32RdnoSehu747vlKmef6Y+CxpuyAYsNWE5PFCVzLZKUGwxFRAfP7HvjWnUTwHdqe/An7forHQcv5L0Xt3pRai4Vt3ZAmXvrPm3VZPeHX/SnBtKYLu574DBLPn5mGOVpX+mlATpe3WL7+nvjN7Otf8Vy++eRcrkfu/b7+35zM53b/7oJ+/x+bqKLiwm0kWBD3+S9AyCAP/v799/veMcv//vtYwRMQjF4B/ikCI4SWZKRCyViQggYCQY4z4IH5GjwpA0/4B/2B/zHHTXN44of8SOV4WY0DFVsUOAV9xFvtBZXCwfwugrfkibtTHnb+6hGfmDhCEICh/TvfOF3WB3Pdof9PQevfG+JYIgvnOFhUFin9A53EWODFd0H4B2/+VwN7/m4Dmfkf/y9yH/wR/lbmFvk5hWwDEfr4XDkFkuRHJ4Y9xF/F3En/kfmYWTRaF52J+DnaqFx6tyxHVA5j32RddQNNvSld0fgoX6LCr/w+p6w85gZreEK9MfgsILRaTIcg2b//8jv0pyuEmVzGIjf76zEBJJY/Jx+tP8LDhIvziEPywV8UhCB/n5gYGnDhrTL5w+7x1QI+Pz1FpYXSZW49Nrf56q0W+GlnZWOKVMK2Akv1ifhrHLPm+ADULhpZ11js6LQQQXz9xVyI/wpwFPbNJ+1qhK5jRUHufkh4UHmjwYMura3xS0ATAbwW4IhEn6UoWHkNSUKDYAj96ED8sDT/JRnAR+qHgNv6dOy9Vnd/XWQN38Dn7231kAQgrfJWevMrebWwjQVqY/JEgVvw9yg3rCvljUrf1gwOQOCRwv3fHst/TEqXSs2lYB8xl0NgrOW8pthXhDMdFshAMrCSIUQsUFCTK3+XrjQAxCY2B/H6OO0p4Hq0VbQZ/84yi/fyl5v2bUV+jwoohYysn8fqULNSU2KtVAARAOcwCfCXl+O3ALRb4XDzorcQY0WuUBBX4nK2FflnzLHQPL8hX7Sv3ZFtkAkF+NLtxDD5r3xKrkA2rA5v9OiB0vyC3FwLDWmFL9ALh10mpflnzZTwBADsX5kvwkQHPacRABL9e9APC0BkBf4CaUuL80uzFHAcAT/gSlA8dpydBXy0GVp0LbiMsACs1b0fGEZBOoSF+egCs/6R0HGAaUrStAVOBfn47F1cftlgUYBv/JPn7KAJTrssA55+FT8SeBvP3H5jZIKD4+St3KCAvz2TCMA1sArqAUUD38xOfiv/HAuM/NGxDQOxMzkc/cfm2xBYVYcAN2fvfzLVA9z9qUDIp2+AQs/csQSz9GaAAgO4VvkrXh+9/Miq5dP0mfnCA1WgJwC7HDGAKOFr0/bXQYyJRn7fAP1vm0/AXAbwC4sDbP3H/jiAzp+HD8UrYPCxF1h8AnW+/P9Vb523x8hPCLMAwdvN447oiDvfiP/Qjg0O0LuBzAMa3q+4b3e0qAB/6KoGNOpTwC1iQOhg961/38dGHrcPePb9rhZz/xj3sk8Or2DygE95npyOFj5IG9ewtBsbYj/1gkFxIV8Urc8K/7r/29rsToRBgYZUmTaF71uIMPIfMo+Egy97SDy5lIDIFauAB9agEaPwcriAfSbQPV9ZXAPfxgcC//Zygsede86//3INqgfJwuPoDNOB+gP9YBbMYABqB8p84IAPAAbgfb+e0ACSEbjV0R4LT/NAQlpA+q4ykFp/mokIJGFkIrfju1gbxI3XJtOxADRCC9Y2EeGeod2sS9BW67MHyl/gCcUlAtB9VHg082XNB/gLuuAh9veaO/AbMCIfJng3ADnqAZ7118Bt/A5AA6dZD7sLznJtpwPCmbLxKxau+AoIAA3NQ+L39waS6H1dLlLzaggfismLrs3xnAfCrBAmJTMohZSAIDOmVvVcBXhtSt71b0pQGqWSTgVEl6t6SAKZILO/VQBIrBH36ngKL7thiXxARvMdKq3bQUPkbzL6AqlAoMQ9QCiFgZQbAIz4DHWAPgO0MIm/ece3vMyI6/kyaQK+AlmQz5N4Nznf3UJr7cI3mC9c7M4w/1AJO6CWSsarwHwGZ6C7rtevV8BCdAeWBHVDznsaMMvmhGIpRYo81BBkubRQBGSU0/yaED/AaJgBswF2Zfa7c82voE0bMquNzBIIHRbWZ4GIQIS8mtcIa5G82eODMgSq8xwgvwF3DVVwOWcG8B5IgkawOpFfAdjyCSuIaAawFT6hRYG9MSjAMYtDSBGn30EoxnKiBihgBy74n1ScEJeZTwAlcz+SQQPiQKAVDngAjhmIG8VjbkCNsfSBrXIjeaZpF8RmX4COE9lBlIG0YAZ0AA6fiMT+UVZahAOvXr4jRtgpiAoearaBJKmAMeQWy382NAuI3gaO5AxfwfkDQgGd2GYrkyoAxCFJB2UbndADVhvUMjeZ/QyC6iNUg4B8VcD4Efw0s5rCDpKv0eOb+GWAImDVOhosJlAuBgV0EXPJ5QMmbI+YRvAzHRMwCgFW+sIuwZjok1Qky6KOwD5hfgV0WPwArxCZQJbgL4jSRupThO7Kl6DjLunib3mgx9UK5D2Ev1tzzPqBA5diDxGQLlRPHLACsk2g+Xwgy14rIJQYgE6At05BUyCk/ovALn84HApP7+mC5/P0eSMuYgxruYaBDpMHJ2T8B6AtgiBFlwBzL2fKwk8AcMeBHFGzwIUgaiI4F1o+Lp6BZfP8QQrOJKZ6PgL1GtQM6XP2gU0COeQ3Z2wrGoCKXmJzAa/YjNDW8HN/eNGLJc1MCENx/ltCbM0u7B4Nv4t4B2IDmtegghwsyoF1gLvTsjgGCBh/8/xQoUDygXVpMh0FgDASAzIC4aNFsdyBiNBZmw29w2/vXAOrS9YENv7pYChgVw0a7ORvNRpAslwI2LLzUhEwRA304AgR+sFmMTY2JEMsk4o8x5wDlYAPommMqIGJDmegb5QEpOeEDvpBKlwjwDJAkzgkBAc1qufBvAeOqeWBuVAZYFP0GZQJKhS7WVEC1aDWYBCAsd3XQWVFAxyAPKjQ4LuAtr8+UC44ziGEMKEqgUAqMk9eLgPf13yi24CReM4CtwGRlwknroLZ2Bs0Coy6SAORwKpQBMA3lsoeYjTw8KrBA+j4BxciyQ3LWOoCmYBqu40Aw4Hjbyl5qH4SKBKFBwVChC3X/uQVBOBMehYf6raDa6vhGRH+ROAcsCT1B8YN7zdH+9Zd6C6FRDaIJSVT7uAfNZZQNmGcXirbDWmZ8BSf4/5Q44P6Yd2sKPdSK5DlwQAbeXZSBAQZaf5wiCuKtrIbgg5YDhQjWYDegROVbn+uzgRK6KoQHgbs4Kwqq0BvNgqi1h1iJXU/ADOhpf42+D3LmkIWQw1VZS0AOVy/Ln/oFX+YARHy6XlxSpplES+Q+8DYpBv0SdOI+XYMB+w438BpZzfLub/a4BLq0fkA7wIRRNbrf8u35cHf66aGArpfAn3gLGB9woPKEp4BLKcRAs5dnt5HCz9/k0Vf4U9QseVi1oGoiBNPcP+q2hmK6wV2/5iQRZXWvFYmw6GgLLFBjwEzOdeU0/5QIL2AaU4bP+4J0UaCQuBUgpTAG5aeQ9EBQ8IF8RtiLCrOT29ZXAy3munu3/TuQFUCpYC8XDr/lFIUoSLu9lQEd/yaKr3mARwPf9zKrwn2pcBK7K0Ws0CHhZori3LnSgdJWSTdbhbbtjghNKA7P4R6knaBygM/SMv/M0u3dovhapYGcoB40cqwa/9H3YPFwElrqAi2gSpdPPZr/0MOCRDPPeLQtEUBfkz6QCW/EBB9Xtfi7HG0QQblPb/QgpcKs5cyjpkLK1AxG7It6lbtEBAUHaAlKmV/9CM46+FAPi3TX6eqJdID75AM0kJogrFw3oD6cTkGwpLv6A2JBmnB4kGXwOwSBnYCku4YCBf6RgLxLrSXJn+iYCjmzCmGJ/ogAr8mBSDif4bIGSQLK1LkuzotlQT2Z15LpC4YsBBACXEGnQHqQS0gFxB5YCnlYIlylLhXA2gBGWc5S6NgJyBLM2bsg+Ys5yISSFmbCF8KnAe6Jgqq4xX4KmFA4vMxK1sRa5aFrCEkSMmSdSgsf7DED5HqstPhA5jgEQARMHCyJzXf2B9UszJT/v32QeYnfQuIH9dBbfwGNoIZmRM4+yDrMAsCWJzvrAp2gShdUi4B8yLeBCYARQ4sCZwE+oCnQJoGJYuM4C0mBaCFOOLmgVZB/yCYU7jIDtYP7A70gWANUKoyiGOgrewbtOX6Be857JCSTqJDe0Q/sDYnBPHRJAha3Ocm6KDQUEaICJ4GmWR1OOzhuDD+wJyTvCggZwJsDOPDOUBbvItgKHmyLtOcBY0StHlLze5AlBAxFAW51pQSPwXHORyENv548DtRgpMfn+u9R2IHjFQMoJ08PVoh7ARUbfwkygRioTzyNGAPRbNFFcxDQZEDAuVBiYF0Kk9zvwA1DiousqVxqoJ1wMaQMlcItc5yYxoAyIFhUBjg3gsvv7jFQWAYmLFk4GT0JCDFwJiLKDnC3YicDRGpxwN5zi/wNOB9DIM4Eh6VILgW8QqIckJKC75wPiFkKIRFOzBcOoHY/0oLqywYn+z8sIGZ2+Bj0M9hMOgwqdeC7GiwYQDEgQQuAQ9u4HIyAgZhQwB6gqaCrMBSF37gd3Au7gUhdvt4IALHgeoXf7eAv8p4EloJ1EPMlVAgnhdBNbP/xm1CvAxQMZ8d2RYK/27Tl4XPX+vo900GWFwKFkfAvVOiZAD4FnwOCcI4XS+B72A38BpyFvgeyLC3+MKc20EToOuAb2ghe2bcB34FzoJp3pf/D9CShcVEAjCAC5CgQGtBsRcvEFe+CeQTugjWm38CwDDaTG6nrugx8omRdyHZB/y8QKCg/IuV6Dq655FxgQbiLPOgVYI8i4zTxj/sggjiwSu8jhYv7ABzkS4VP+d5Va0BHUS2nvggj1BrFJEEF4EDlgTQZPjAjfxx+bcIHOIJlJU/A5u9YMF4oHA4BSMehB0oDGEH2lQF0Awglv+CqC9vD/oJ1kBJVUxAyo8+EG3g0GiKIgwf+k6MB/6X4FyukX8DYBGhRbhaeTEm0F6ueRBNBlM85KILzcFxIPPOuNBWeymIO56pT/TmARoD9gSaVBsQeaAw/+rwZy94n/xtAfSlfj4xosAkGr5xbzlkA5fU4t0PZDlgPJYK//ZGI2Jdm0EixAHzmgfFKmn/9NOADIQSQakg1+QWKAMkHK0gzrP8lOfOuSCYAFWYMIPgL/RMBFidykBZCzlMKmgLfOsiDa4HVIKKTs0BBdBH9YCAGvBgQXnmAksB3mCQS4UAOgMEUnG/OMED9eAowIfzrgvUIWb3heJLqgFbAW4Lcu4vElP85IwMhCBWgTKSLZB9AGZYIS4H/nGf+9vNt8Tx5xKwKoQbwWJ5Qxyp/bAcoIYULPAuV0WSCwCxN0IFgPcmkNdqnSp8D3JrwEAb+C/pBirG22kFqEgOjAErU9P4ewDoil7uXKBhAthsFWWCoPiTSF8+I24Rz6ufwToM7zHg6EV9qBYmn00Oo/A2AWBxh8W6C/Ep4K8/Ylw40BkuALQN7wG/gCIUJ1Apv4xj3d1D7wOb+kkJm87++Dm/rYQJqEzHBxhYGIVEwOLdO0QrAD6KDQYHWCq9g3qBsQD4KYEYBNgZQnA2eYYN/oE17FfkB6QV1BIvBudoFEDi2J1A9oEjXshoEUp3BcAkgGCBAn8MrpKaGqweDsDK6K8BbAHtWEqJPSYJNcMECCYDU13pMLjwCyBHMJL66WqEJFjeA4cwbwIW4BY/zscFq/WP0cvNbXb+KFkSCIAnP8qfxF2JC9zl5q97M5yv9dzv7acHnlnjibVOjuRmwBnOS41kbzdMwS1d+CAjXmp7usFBggmPN6NbwU3SzgrgrtuIfhrh4TSmkeE1aUp+ycJWR70pXZHlDzdSgi+dmR60oPQ1lvnE3BdQst86tVw2zGSPAaAFI9ypSh2AGgN73e3BS0JY1BaALa/PfnDG8yI85yb2MwewAwAyqYMWDPcHo4LgOHWDV3BDgtssDE3FdwTWA96gsuDbcEB91jgb7gxc696sYIGZN09oANAGSBAMBaBaHP3V5mO3UqunsRce6iNUXdiMCZ7Mw8hZKzJoTVwY3gdfeoZ85cE/V2dFu9gpXBM3da4E3t0k4nsPPABStBMXBS4IiAV2YDJOQuDcaAFQU5TpzgqABeghph4f1xG2M9hCUQXThiB7hoOKLo84YgBhhgR87+HEHweIgYfBk+BK+ZD4JHzpPgCP4nkFGh70mGaHnWgh7YWYNPEChvzwAXXg1641Q9a4HvYMEBJw4PH+KJ8r5BFDwLwbkoUyEfYCpeYZ4ObcG/3WyBOeD85BpD0dQb7grwEsTw90Q1/3iMNf3b/BII9HZDhZ28FuHg664x/c3BY7AIeuEEPF7+CI98lB+D29wfcYFzO3vNIpamGAulmNA23AOVc5XC1cBggc8cKEgbZh0M4G4IFHkQ8EfwWP8+Z65gjAkFsgvHEIHhSARVQNoIVmgZ7+c5M0zCrrGYIU7ApjYdtBV+T+wPdgcr4eCO/sD5FDp8H38F7AlCuWHBZ6AmwJqjnKwKuAuL9I4GZKFWQDaguOBGMBpt6xwOTgUoQ+be6cD/45UqBrjmj/HOBBngG47+oLaIBw4FuOUWChRCpHE7jsQAhsk2oI4ZBNIJJ/rN4AI0w8cdnZjXHHjsrcVZIaaDp46ZoO5/j3A8CEuaDPCH5oKM6oWgstB2Xc2zDhT1HgfHQfBOwO8Uqbt+EGOApCZagy8Du5BxpnXgTFkdHOECc34G3wzACNXIftBt8MryoZENPgbCGYJw1chh0GKK2/juOgjWmk6DGQQk7zr5rOg8ohqRDCKCH/CUKKkfVyCDeUjzTz8CqFl74bswSCdywF7Tm7kFkwOLYAXJICqjGF53l4g4Ue0dxgEH8FxGFmfwUXevv9g/4wQnp7h7/CP+tCdDB5HC0UwMggwLwX6DE/7jALYTlgggDBAyg4/DtALvKgHAawQRCCEvgKyF+kHFschB8GC6oASJy+Fihg02A0ZBG8CsIKWQK8gURBuZB/ECvIAIwVwg8JACsBeEHcgLHyspg/kBwiC3OAWsXbMEwQkOO+x9vxDywEXYCxgoHQotBhLDSgJc0HnsY0O5wtTkCK/B0qucLTUBLpBoY6wYL1AXDHaR+4/Md/6/kCTDh7/OxBBog9UEgIPesGVoZzuQxD3EFbiAJjlJghWAs6gL/72gJwwEToO+gZfgXQElbCFUHx7PKmkSDcdChgg//jpgzmOgACDMFZnB//kAAivWbNpQAHc/yyQWLHYWO3P88kGzqHgAQ5gx6sCpDpr6oAO4UENsWVenmDswEKiEs7DYQkgBkOAv9C+YJIATFQFk+xAD//h6SENjvELbpBs5AzY7xYKYAZbHM/W8WDDED4bCbKuGLLD2tlBiRRY/0roILHN2ODBCrk4O7ErQFwAicBo4CbMD+xx4IYmANgh939GCFAWHYIbtKA0h0eASCE6v03UEmnA3BnI8rsAq+xrAc+oPU2MM5zh6iNSIILlIKyko/cmUHj92B0EfgmMIypAHRATphkgTMzLjCXgtzkFjVxq0EgQ+3mT3d0yFODzcFof3XgwUBDDBaXd3TIVEPe3mTVd0yFAEP7If2XdMhUeDUq7WbFNIOGLF/uE5D3+6OoIKrhToJ/BR1QcCF7+EXkPELQAee/hyh4F4OSrs/4M/BeACrdBnxHqHhQAxDW0uh4e7EANgHoroeAeFADv67VI0srleQoQWN5DbK7Oi0IHvaoP7uxACfu5hnWdFqxQRb4IyIzyF8p06QE93X8hnKd/yE0DzPISynTpAHPcKAFXOH9UNcAiuB25DrqQN4OfweuQ85kNeCC8G/92upCt3OchMldPjza4LB3KVXPyO+eDY4HjkMLEArwbPBvY8T3g9p28FgOQwsQXAgrcE9nllwc5aO3B7EIQf6exCdwUxQ8++q58CR4zgI37vJHAHu+yDNI4/d39gX93fihn3daUFnbCc8vyEG8wMkD8yFUkE9iIxQ6+AyRDnLRIuA2/gKPAVWslCaq63ZGULppHT3gq/A4yGkTgrQJNoXShK8NYyF2FEe/o9EYyhaexZLBwR0jjiwQzghb6V+CG6CxeVqtHVj2Z6gfc5xry+NC/QOU4IcD8EYaODwjn9/KOBjQYiI7hi3X/qVGMiOG38nUEhUN29knAuH+IVDDvYF4N0ISbqOO+BhDQYAJULbfklQwqOvEc8f4mhBECEJHBRQMaD64GdpDDdlnzaCgIZDRmIO4CzQezbcuiikdXCHZoOooU9OOtBg8DzI5xYDWMEc7IIhtVDxNS0/3LQW1Q8t2c8D8tCaR0l/lnzOKOoXtbI4FCxbQZmTGKOmv9Vf6Zk3nvsaLHtBU1Ddf6a/312gviQABI6CzLBsSCL0Db/Vah41DSiFVEOIoVtQyohmqARAgXYC2ntdiZjAQ1C7s4Wiy6IUOIPKOdaCuiHmRw1TjdQ13+KUdio5eIOBPldQsQId6CuLBmGFqjiAg6YhpE4HoAQIOfQRVQufB0f8kEFie1K2Jp/Cv+rYhM7aJOll5tggl1Qk/h/WAgYKnsDvbeEWA3h71D8rE0cP+guDBv3BDHjPwEEwRlRKv+tqpCH4YYPr/hAUHKQTf8XiFU0hj2PRgwjBth18cx0P2uFqvQQjAcdB+/6M0O29nHQZ9ubNCO+Cd9UihLsA94QP2x/wbKgNKkJBHFk45ws/zDM0KaRAxYKEhrDU84ywkNn/mKca0OUxBREHIkJpeoXwZYBnGDzo7jwC1MNQvYxu7Th/Q46IPr/sGHDP2WJDDEHexG1XliQvjB3sQt/5LEMsQc3DbAg+/8chCH/wznMf/YkW8C5ww7lQM9kG4gyfm9Z43CB0kPRINqGRkh/iCHQEDhxudkpg0JB9Z4n/5KYM8MHWHP0gvmCDMG9nlFIcKQgcOidDwyAV6x7Dkp7TJBlmDRw6ykIQAfKQqcO0bAYwGZsHnDqqQgX+F6Bmw4w+zzAdqQjOcuADmkGsvSifkFgt1Ah4dyAG1wLKIENDUrWWP9osEfa1iiLaQx1BCWC7w45P0MFqlgqmkz4cJCE8AOHoR+HVcB0kIZo4dTxggauUKoQgEcfBB2wLpoaVfRQBgj9QI5RkLXoTS9eShFBDM96rRzgcKpAr2UNyAivpfGBrAQA8Ir6qBgTYFtvyY+A22dHB4XxdTBfGhWWAwQxRA+jAH6FVwAqzkHSW9gEtCvEDzQO1xh6PL3GkhgiOBLXix0OdHMuETEC3rR8CC9xicgVhwS15NNhe4yUwBt/fM06JB1MjDxxnyPLscehQocpebgvFrUOdEQV23PNVkA40KeTJUnPBh6Y8JaG/OhggapgN/2s855KEq4MaDqWeO+g79CF0hdJ1LPISwGWBkAIdcYTUBbtoEA1uAAqssFz3RF2/suQrBc32B+GHNSyT8FJQLH+k+AftjahgE3st/A9W7tC6W5Hf18ltpjQc40DCFEhIYFeyuVgUIBBdgcvo1/2RwfyIbMOwvhSoE+/CPWK8jPOu6MDqL7Zh3GgOMgof0zyhtPpStyGgcCNLDAUaxpGH/QJbwENDetMAngIcgTyz0+tb4br+CQpsw6bhB6wN1/cEg2mNn1hBMNucGUGOakq/A+XxgUNMBJeQhKBvuDsw5Y/yhof0rSXWVft4mFq21klPL7IaBsfwdcboZ2DgatQG1+ry4TDBzfwZYHwEVWcr4D3/BhHyhoXpA6lCB19ymE1MJHfgroVWcd68UeYPryNfIQGWkg0RVX17tMIdhAgw39g2SEoEAfrzwYc2gdzGAOZT0GiNVQ4HtQHphR6BMeZ/aiGPqQCSDenuQctZpITJIMGgA3Bnm8VmHCV1PoYcgarQaCgwpDe826XiojEkwOlDyBR52BSPgDAA3BjRQ8WqZH0zIQTALzQOoQKX60oLuYbkfVUI+BC2N6LvTRPlJQsYeLR8aBDQ4OOFh9reTca4hueY3CwBYWlSHwIwLCRr6fyHCoFELTPWP2wxGjiENpQexgUZhDyhSW5MoI8cN2RDjO2eCTqCBm06olgoW5hQm9smrFGDeYRd4bJqYGYZIG/2DUYXIjWNuUQtGGAWLy3SJaIA3BS/BAj7G4hJrh/Q3HBUocOQKY82g3kMfM6QW0B1mGgbkOPrKoAPm4sQELBDtCjng1KeM4a0M2iQHMOLcKjYWfEap4nmGxoNXOkTaL5hbSFVzp1hG5QQZQR189eI7HD4sOPdoaBZKqwLDRkhEn0VSBlg5BgXJ8TJDL4B4Ia4wI4O1pATYG8mlksNaeAv43uDioDsn2HEIXcHgh+hB/g4/XwMoSZQ9F4s/RzKG8EI2PiKglUs+4CSQ5SVXtYeB8F5hq0B6n79gNEIWcfLs4XYDTUG4sN8oUVg/7+hLDfb5BUJB/gH0eeAYVDVCFpIWkQNRHKKh7qCNcKxUOfwfFQtJCK+AzvY6EMMIQV1UcwaVChj7tlQLoUYw1w+0q4+ba1wPDgK2wqTQEkd2RaamFksIsfJM41VC3maqXE3wSbcGqhE1EofbtwL8IRNRRp4HVDWqETUXaoaEQwE+C7DuqEa0y7KmroVKQAVBywGDUOiPnL/fTBfDwx2pmIGV/mkQs7gKR8Nf4a01moWkhOIQlvgB0GnsL22MtQoohV7ChiDrUOfgfMjP4ONhDJ0GjMKPYZgA2ohX7ChbAFC3SEFS4I18MHNfMGXUOA4V+nB6hjVhwOFLGFaIf0Qq9hydBeLgBci0um2BbsgH1DuyKS/2WAX7/bJCmWwAaHzEIcPhOQEGhyxCpoYBUghod+gqGh3ZERcCw0O2IXSHe42ywDilYUcITMHn/BRMv99ksjV4ixoSX/SkOAz9OnhPbzRZgKHfXgQoDtQ71/3IyOTQnDBzOhhOEXYOlAcPgbsiM/Bu/4/EN2DlJsGUQOO9GEaomH4IEIg+Th8XcKMECgKxDgP/U6uWIcG15i0Mv7uk0Z3efNCZQFKgUOkEI/Jf+OqgMQLa0MxsPEIIUYaIddgEcYHr/qaVEMOBtCiT4NwF1kLxgyMWUiFraFCYLdYePoB2hxJCtT6kkOXFKawMtqyJFQOFI/woRiZbCIB3iDP2b4n1eEL8yZkhYZ9zgx3/2UwWGffogPghGw4ARAtfOGfOtB8dCUuEp0L//oVw4jOIYCK9Z85ElIRGArOhNeQFWCD4MQAbqBShAzbCikGZnxQAQL/QxAZPAVYQNuCqQVXQ4s+0VAG6F3QxDbugHZpB/wdBuF74O/UGMHeoQzW0C8HWkMEBkMXAPmTYDdQINX1YAT2IaKgdoEaKC+ixMuLvTUeia6ss2HUvSFGBrANwBbADRWEjeCDIZ9/Fa++b4/rDS4MrSMBjYawCyCRwGDBxIIrGwxcBk4CzOHhwC9Qa74PxWMgw3uGRsNrnpsHCnANYCVrAhtUtYX8w81huwdgeEUoN2eN6wwLA3vNbVBA8NYIKoAm4W1Wglgg9JyeYYMvGQYfesYeGWgl1AiKOKWkfAR6brdf29OGMHBowytxSSLBq2gJGjIbr+brCq+ALQLdYWocFzA3X9cqBI8L+0KqgdbBm7BAODFn3teEdA8uAXORZiASIGoiE6fCGuf4DueHEfnEzpxAhkQTp9DpDkMLn8LsHG9Ww4CQVAY9k0kLMwu0COQpvea97A91hS2ThuszC5M61ihhYYVgD7WpkVUeG3kDtAuBgW2Bg2BleEfEERYaOdEA2RrDoO6jnWpQF8wklQ95Y7DCKsO0zkZUNowqZDtubRNTQNlLzBHWmbBsn4D0G55qjQZchLvYVkAwQPBEEx8aXiWDAawEsYGXYbdAubYmPM8oDhbE64U/Qh0IwvCLLDeAMeHA5HK5YPOADcGvZxS4V2nWlBI49xqaYwF+zkyg5Wu9MNVtDk822kCjA1fIWtdC+H9R3phgjnYFhD8AqqaAmCX1s3www283QJcEmGy74VRAvLexfC/25G8ybPpfEGZBr4hLtQkQNZ4QLwifhXPD8OpehhSgargWfhMasheEJzxZaOfvSq82vD5zI+8K9nha+WVBG8YftZ7ckwgTmjFloWTC8yHvXjvUDXvZvhtvCd+Et70L4eB8WfhGzBuUFh11n4b3vXPh1F99z5D7wNwfPAGtgDJRx94TMMn3uNTX/QNTCchQgqGJKAvvFHmS+9aOojjyH4d5Q//BX+c++F58Couq8cfnBiAiD95D8MX4cfvGfh1/CMBHnQKbPpjsD2unvYva6ICI3TkdAheq2Z0nsA3IBugcbiH8gaF12GANi2RDlRdMasZAt6BGcxgr5gI4VAqC2CWBEqywG/pW7SCCPSdbdAsvkdfOdybRAU38hGBCCLYEcqiBC2YQdacFkC1Qtszoc7kEhA5v4EW2SvlSYXCB/0CCLb96z0QKoI+/o/y8wg7D2BkgRcYf0QQT58xBzfxvICLQIwRvYtAgH/EDs0B6WQzw7kCDkALUFDLD7/GRhqqBlBF0BFJwVCgQzhhtJHChsQK88CXrEmwPgjHYYePivEHTgtgOHgdUOGKQJB0AnrE+wIe8IhHtBwqSJNgPphkBx4AJsGHIYVTAAK+DhZygF4MPzQsoHbgIWQj4NDfjEDYRGQp6mXURNwG2UIuviGwiyh1197KHe4JKENBdM9eqyDXv7EX1/0Cag0OBnMZ7c5qoLETipfcRi6uDbUGGXx3gIHfJOBtjwsg6RUMdQewwVjAI1Yy2HeoOR/s+zVH+cVDa2Gvs1SoTWw4CgaGNhdB4/xuQGroe4oe+hZ8FKsNo6rOVCn+WZ1uz7eiAB9kOw3ARvNBR2HM/wAEWcI+qhgZDzz7QixsIYL/Yc+C4R6qGdUI8iAuEcsB8bAehBmlnVAfpgmXQXmg5z5E+33YZvA7c+9v8T2FNn0owOeww+BWv8J6aB5xmoUndVpqsUosgGPsK+nmb/GdB8dxWmoR1w/YTtQqf8IIjf2HAiOOoemwSfuIp1B2FbTnBXpyTAewkHCV4HFihg4buguDhxYpnqGHoLVkB9rCykPd80OFUXQEsJhw36h7Z9bfawIJfQRWKOcw8IsiOEEc01Do5w8jh7vV77BfC07kP2gZ7CGhA6OGdyH71jSISaOsGC3IjmNXB2JCLNh2FxCdaR40OuIbzQQIOl+BPOGCcK6EdzgMVAonDDL5GiJpoR8Q5CCF+BZOHfMEBwG/RVmhI/9KMEVkSb/uF4aq+S3h4RYi/BC4CtLM0B7FJoSHHojlocqA+vWuS0xh57EL6EPkIlOkipDLOHKCKdkDZwxk4O2gsDYB8IMQfX/Bg+xtDExFMByCiCYg7zhHAdcSHb/1toTyzEtggXCLQEy3xdoU+gzo2yDV/77RoIkEd7Q37WdHtrQH0kL5voHQpLh1/86vZ013ZIcg1d4QWXCaZ4/a3a9sJ7eX+ApDV9oHUJGoSLEQAOcyBSuFikLihtBVQpB0pDHtY50KVIbGA3mo9kIEwHKkL5vq1ww2kE6hAA4mr07wV5gmW+NdC/MH5sGrXBS7KpBwWCZb7N0LwAde3JlM0zxQTAUcxr4VH+dJ+jACBfL5lAHobHArD2ZV80JDJ4PdIczrHbhoQsJEFzX2poHdw/0huusxUBV8O15tLrFIg/sDZeD96xVME0oUQBJVDfmTFewnAZ9w35kOmBJ6EvcMOvg4gf2BgQR53DHog2HuGQ0yhBQioyGyB2KEcZQxQOP2xHIKqAJj2I1wJDhr7hZmHSICZTOBYKCREgdkEHCyny0CbAm/AUuh6sQOmw7yN+cHnWG7sQhF6GEEDjjoB8B7gdBA48SAJwQxmZnW1ygfBGJCxYgiGHUIBXehvLDZlUKwCbArXw3lCFJH2gQUYVE4YBqnJVxGHe8mihk/rd/BdhgOAZ6SN6gavbZBq5esnAE5OC3hoiIJAW/REsA4SpnxINILVDAmcc9t7DyHqAqYlHjwD0C7wwxkDskbSEBnQBIFL67OSOQtugLb12epswyqId1gFsFIi/2ZkgC+4KDCkFsA1GIOA39+EAJSDikVDgVz+iUjWGr8MgMLrALFPWdmhVMRZSI0ICUrbMqNaBKBG2EDytjOMJAkeUiqYBMpj31kDYNc2dRdoOYqGGu5tTQCGAggdOA7oCzBsIzfZeATlkSaTtSLTEebgCcW9SARaAWYljANdzdfg8l8mJGCvFU/kjnQSCV6A+eEXy20QLOueWA/rAjTbzSIX1odvVT+bRAKJE8MGnAWL6dBArHMKJAuSKFtHXgOoRbFtVP51CNUxrVII5CP2scIIiULskFLwZauyEEQe63SOQHuHrb3ujPo967h6wpHuRkeHu4esaR6BSDoXikHOnstUg7UCn/XZIDVXDCst1dUAL3VzskIDCaR4ij5Sn5/imrhlpEUnudkgwpB1SKRkShQuKQqMj0hHmYEm5vl/feqFdo0SoqbXCzmEHCChRMil6AJ6zRzmVIfyMQF9Ug761zikI8uYLAptI5pAqiOtNo2ndBOYQdskDK3A13MGrGwRlUsbpCriKLkKYlZbOKHJd/Ds1ljRBK8ZBqS1BeJCECHkkdLvBSBsaIt95lX0wYOY4PkMkJI6dagGAIkLLsLxg0HM1PBcKDf4L9wUSC+/MvZCU3U0kEFLWNEnxMYCAHHFk0NHFIikvH91OAW228SGDYOC4HjVu+hJnFIsJEhYI+w0h7JjoSDNlBDAe6QQC9+9aQECpwFftbxIlsiA5BCyOCILrIXNoVtB1ZFP/FdODBoWORAFIA5BJ4PVkShYV04YFDccJxMK9kCsIcW+bsjpBxN+wkCJAwV04f5CmagAUOTkdeQ0uRIFDk5EZyI0/rjQJiwYwJnr7FiKkerj7J/2kvMgGJr9xeJsNIIgWCN8kyAtwDmkPv3NHWQPd+5Fc90HkbeQtMMxMi7JE7V3/OIVgW2668BhhD9yNbkf9Q1hwOdZ6KFBMl3ISvIngO0Nh1K5phjyzsA1fHu8khZ64DXyfwRpKbHuOsjR64HyKsBsuKSchkxxt9DRQxtEDfI76RYushyE9fHekWLrPshqkhnpFi6y7IUQoH9Wkl0H4CO8GakKIQLsRDK5ZDCPE0F1rjXBeQk+DuJFNkJ1CLv3YWU/PdIjhyVw+1nuMb+RIXhT+7wKL7IWr4U7uT8jeNZYKLJPiXSWqQHCAMr6+K1xoAmBPChV8jZyFxSBKQJ/3FiCclcDxbiwEckJNGPjQLZxeaBK+xnGD4QRgwASxR47ANTvFn9I0r2W8NeFFxSD/8KNVYsorWhapCjtFksMWUYB4t0j3eaGSNtlh4SQHgcij3bANHCEYXFdINgS5ALpEBIHSkRtUGd2HhIFEA9CGzKt8gbeQN/MFpDZlR5zhdI1lQnpBIyREUgukbVgEnWPaRjvBVRm8tinDJ6cqn9STBbwzVNmQLfrWukjXKjSCzlEXibDKREfwQXxpOxnGCrALxR6KBJLrsYDPUDtqXgQgAcolENi3cxHGIwbEgKgtP6JQjiUZEgdAOAiYVkDRQ3mwZ08FSKrQhb/ZF0BWgcxGe8h+/tpBbKSEa4GUo8QR0FtClGXrwOwZII9/2xbsZBEnjByUU0oxQR2FtV1wPiycAeoIzpRvvsTBE6CPHXEoffQRO7A47qKBGHARcYQaRTxILBHv9A0iKuuFLQDFh84SYyDmUah/OwRLgi5lFIV1WUYZwqx0ENxhYG+CNr9rUOcSBVLBHXyXKmugQ+A6NCXNMO/4PgMiERco6ggpECBA61+xMUJjzCagrN83QhNsGokRh7WVMaOAgBHZCN3wsZyTHm/hwTtb/e2JEe7GUaqH6ZjhHS7wzBOD9B02Zp94CrVfRrQBugqYE3qNqUKDn1CIYDgMVynsifhGF6ByJq9g4n+oDAdfaEQgjXhewrX+CaNLKDJv3yAZBwTTWy6DtqHTWByJvXAIbhRsYPtbhFHyPrug5ng6N1oB6dEPKuLD7GCI+NC0hC+G3q+refK9BK7s4VGNHzJISvAbjWY2ddgF8CAH0DeSb8++QCpT7RLWbeEG8P6+d3tfQggXyDpkDfG82CaB5Rap2lKkTeSWC+vbDtAgO+2tKlELYiRgKjjVH/KJJ5kH2cHQJqjtA4eKg8NmRIySwAN1iiCBP04kTRIlG6/TA/mGsSP4uvabU8B3dhd9pdEFH4ZniAc285tSIFCSMd2rPQbHB3gcTtZQ4CSULsoqSRAxJVUCySNCDuhbHfQFsCarDeUIvNmpImRhGkj0LY5aG0ka5UR82kQj3IHe8kLUS6reHBD2hELZsW3RgRZIm82wxBrJHQWwgtkYfc7mTkjJeR15VckTBbDzWVhIfUBeSKPNqYgXyRnki7NCtqMCkVYSYKR1FsnkBtqL6rEdwWtRNEjwpHbMAVJuRbBKRFZIILb+SBq/u+kVhqgIpvIFS5UncCBbdvwA38bHbnmyewO4HCqRuqjrRAw2GPUfmwC82al9apFK+AGJPWhCcWgycNzZ9/CsJO1Iuc2rlR71EzwB3xjEgMgW7cswzZPSgUULPiRMA0S1fw4eSOekHao0bQs0jnpCWmwHMH4opOg+Gs34CtCAg0b/oLVGVJJXP6S4EV4MNEOVA60i+nCKpntNqvIL7AdbxClHVByBkRYQYm+ip8Z2AKegRru/7Iw+XCjhzC3+2o0ecEV/+cvYKU70KPgCMg1LLQFWcN2hYUNtiM9XQhR6WdV1xQyMCkEQortcmPdD5BxZy5pk0oPBRxyiKEytVzQUavIl54ceDYFEg/yHzK9I8ywlfhlNGcUIUVteIsAqXuCR5AXKPOkYAouauDyibpGlvxn7rX7R6RJmiSI7qaOoOFMQAsh8hY48FW4kfkbMmY6uEiAHNGDyyc0c4cHxo/Gj9u6UKCvwV5o14ek0hD5Hjrh40fQoXeR7/tkZFphk0Hrf7F/uFchTSBRaIQoXruQGEw4jcFAuaMsYqsgeYKpMjkzh2D3mCkjXYeRqfxeahlyLTDM3cIEm4WiOvqoEM7kc3I8KgrcjZeYcWFAHrTKAGuAch2R5+LWi0QHIaeuXlMStGMURoURCSUp+AN5yFGXUX80YooJLOq+0RNHCHDE0e/7JpQ3LotlE9p1ari/6OTRAHBDhafiBoHrf7Q3uRFw4FESqjhHnzgKcQyCigTw6aKdtFs6fTRd60gFFsaN4ob8oX+RS2j1tHvKE/kXL2ZbR7yhd8FLaIpHiB8TBgF/tNpBF6E7wPo8W/2LCB6Pgk4CSEe/7HmAhNwlnCABzIEMrIJngIKhjkw68FLwKkbcdc/rcOVCQME3kQbANYwtKhWl6zJgyQAJ4GvAXNMZTD0XHE0WJ3UfAhAj9lF/j2x0Z3wqFUwZAe+GE6NyuPgHDEE6483sBc0yA7p7geYKYSjTiC3Ww91jDGRIOuVwPDbzBXJQEDYN7A8XA2dHwG2DINIgJLRsH8NcBwFTihlxbZPAXFxV9r0WAUUHdcCrY8wUqOAqqBgiMVo3gQwqgJ5Gq1Ay0SzQyjRqtQctEa4AHkXZIgrRGMh2dCGSKkdtjgRMgWr8ZxiOKBs0VvDYrB5+A6UCAB1icFyQ8PAYx46db2mwTIF3AVjAuOFQ8Bf4DoNnwEVB6XksMKDQcyW/nxccsETAcZTDCXEi4ANfcHO4Sgd7aTX0HwIMQDw2eBs86CN4E7zCdvYWUnjsWiBAvD/kbeoWkgX4kZdCABzeoCdgrAg6/AC5GEEEMuDMQJJRidwxCBHUAywErIgWgFFB0UCzyKioAW8MlYMaj1ZEuaHKUPrIi/2Q+VS5addVEgmbI5pQFsiqcCtUji/pmSbTgughGuGQQQoYIJ/Ryge0jrTYyrA9kdPo60Q7MiILp+yMmgMHCXfwnpQK/DL6OhJmHIy7EpiUZSRrGGVWOwCFiCw+B/TCzHjACIfoiERsx5h9bLijxYMzLKIUioh1ZHV6OX0XErVuRZeiSZaMVFQNjRoXQQACY9/aShEXYDwUJDAogcfMAVZ1koZSI0nCoEjaCBXoAcEQIMT6ACl0S2CxUGgMZBBKZMKvBoATSq2VKJiQXQQNaBT/oFkBmIBTALZ+CestXCo8D5gCAQqxIr5AhYAkyA+1r8ySzWpBiAh65LS6Hjfo42ANfDFlwSiAj4ApdHsQJNdyELD60YMTpotEeLsiqFBW/DRHldI7KW778tfwFkKGlnHgyU0D0csJGtV3EMQDIlgOv31GR5/gRqrhN8AQxUJhxDC5pCUHrOuB9uyohAhFRAFuHloY76AT1MvcARaDa6MsLJ38YKABHBBWG0oBWREFBsghHR7FCII/rIICMhJ18ZSQOGNwkaimSDgLhiELDfjE/obIIFrAJKglgCkBB8MfQSJ6m6KDytiWv1dEdBQcrY1ECnqbpJzpBIDLfvWcVhZDD5KDtYP3rSlBgoIEx7RxWZQVOoW8BC+tqk7VqElKvp1apOWRi8x5+fRH4AuoZfUfn1XkIMCCBEGJfGYCzDcGlASgO8SNQoqfgCkcwxHIyAyqikgaceocigMJUCE8MQ1hd9+fDhIIKegnT0GjaAn+rpQWZA9GMmQVFBbo2VAgJHTy60LbouwKAQvojnyxpMLeENmYAGR1Gxf+FvCFBOIZfEZ45hisRQgqDAdJxHPRMQ49OYywCEp4L3ASzAeBihfYPghDTqcYpoQnWgsHby6yk8BlVXq25Bi9WCc0I6MKCTPtRgEUBkYFLgfBO0oaOKDUBWd7rEAdkUE+fNWUWxWObK3FbQJEhKExhToE/jpJGu1oJoJ/WFMiMCpImMggjhgNExs64ZcDhGEUbAdbRg8eOizNBRZBCSuUYOcwJEis2ZmaCyIFuwRg8kE8CwQyjw0MbBPMzQIB9lBFKhECqnCVDa4pxiOsCgT1aILvbXuUd89Xx5vB2ZMcm4bdY9vB7HCnGNpdhFwZS48ut5GA8GHtwF+XXJagZJiuAydkiQlHLYUxnAgtXimR01gZIKVE8F+toJCDMCQqg3VaK+xXAcDDRxWp4LzAjPQubCE9b+EE42BJwN0IDdUN4B3OGXiAt/dSOI1hvx7zEDvkZLvUMw/Qw75HAUBlMVRSV8QaNZudhwTwSNjzrYeg0GwLLZ1+F7KJPIAzQ7lBtFGd4jOVphab0eLEEbvResCzsJgbEHo6N9qmCs4Fd0eoWdse1d5YqADXzETg0wPl2BZjrZ6VcF/9nNfGXu7mx1gHt6MTkOhofXA4t8RcDAXAaUpYXNsR4SRzwQdYApvoTXebQ8wUIFHN6G4oT2YpshvzBVtHr8gAURBoDshEXZv5G4CnQUfHHIshDJpJtFHKOGMcDXM7gg3sthBEUOr4tfI04Q05D3/afVyGMPOQ9/2dCjARBoUOOTKuQwEQ65DjkybkOJ4OVXC/2R8BS8rIgS+eOOuNUqXIgrk4GyK+wJsYoFC4kta/a57CEEIlI6KGPgsp1AhoFMUVEKecgEghdTadKPQ2GUY6W+liprdH0iDdeK3IsLYQghuNAcA20objsIbQrKYEUwYN2J4LZoRm+1UheLj/qk1XnL2bSIDhjvvj7mL7XkRY2DAt/sbHaNbGNgJIo/yMiojfvoNlSG0f+MBHgOxs2dFwUG14CDoVuRrLBUMDd8HkAJxY9vAEfwUTDsmJtvkrQ7vg+69ab5HbHEYsevcSxDMAOMAHXwhJHUou6Ap1cFdDyWJaYRVAJSxr2sM6Aq8CpcHRPLpMP68hYBIIBosdBVBnQp+IQdFkpnGYWpY/p0kl01GAUoFIMeBvRixkG86rTLMIIsSbwo2AbHsCLEeNwpgEmQelQEqo7l6+wA3WHRo78wn0AJHidKP83uAYgJgA/s4ywjCHvSNC3SxUV3ZR+AKsCdvqfyIN4w+JGJGn8jIbuAYuiKSOieN7AwD3EZkVIvQMqw0dEvgjkIFkQOSg+y5Y97FWJ1oKcqHZehhAHqDaKPkeDqIIHcxy8oLGQf3EIIrzOO6nvAmL5OEAp4JJdI/AWMCnCBtQDJ4BDGZ5e0RAiCC13RU0DKIOag9ogLtZHcA50bEwWnRCUgiKAX+zp4cbIJ+UB+jLlQEmOaUOEkCv2DMAYRTAKILeDKsMnR+pB1x4FWP2UYsvGqxhVj8rEesgr9i3AT/REWAfthFEWObvekDLAJKiPsDxWNZYHBouXwWpgnrE4sPNiAAQcYWw+IaW4OFHxgVDAeroiMZZjAOwC9wJSwhwo1rAqcDIwB5btV9K1Au2w4cB0uDFNi5oXmWrzw3NaGa1lPlzAeYgX5sxlCw2KRbHmbfwBytx5fxMhzFNr9Qej4H6IVYC0mznILboZChksDFijdR1oIGX3O1RM9ob9Es2KD7NawelWaliEcGc2ISvgzAVnAEZ0RtoU8NoIEVI4lWKLoEs6i2JWIv2rJVBUtiPsATqyzAEjYrvACaMJQCaUCqsNerfD2t5RbbaFOnSfquyEfmnNi8UAqXCs0O7dOjyvzc52QUoABupM6Zagc7JVaAq2N9wXUQHzAaWjObFvqwdsXP3XfaKf8YZC5OnV0R6kc8QLBAjfwgW075irwYF+mptWdoCEDcHjvjf9WRFBtdHzNBA1mhQLLRsGtuUAR/GF5E7YtDWNOg+lDOrytUe7o8pQmJATSZr9xekPEgaLw+pthOAUUHEQItrF70xqD+rFyz2+aI27G/RAkcQuBSJgckLtsV+wcGj9raW+CB3GAHDjWnFCZVhd60GqEbPCqxP1iwF5mz3EIJSYklRmOw6bFAtByJuRVMwgemsl+EqEGEbiSolcec9jteGqa0ZwJebTTWMagF2AL2Mf3mYoBexJ/DmVCj2JhnmYofixmmsgD6E3HLsIPY2A2R9iEdYKa0xnqPgaGAnpAWSTDxwVKguPMU2gcQ5VDjqK3YEomJVW9cEL1FZxit+Nvsb7WYGjCNa4qFq0QRrBvRvdFUzZ7aERUCnIl0288iTtFgUPW9mnYk7R15DiWjfz0A1veQ1BxCstH67Lm0jsYuIBJhX6sSxD/12dscRXQhxIrAGtaTOjlOPsEOYOr6txWCEOITkZzY6tgUBwEUQyvWeFnwIPMQZfxH4jPXGnEBPIT+xnvNL7F6yEM4Gu8dQ0xSBQP4/aH7ViZEUD+njAFbHjW3XEB9HBtW+6JZHFRyyWthtouhefltx8pGnHv3qtbbexXsh1bpzq0KVhmiY26M5giLjXazpVkhQdiQeggTnrqDjKwRIcdNWQOMOvo89wnVpwcBm+0dsx2x5zyK7EK0bVWwaRRP4j1QjVltIWH03tsNbAYWPA8O5CSFWBroi5CdkFw9ptLUjME6tV5YkuCVwJh7EVReisNEB0qxd2HEcEzgw6tubHBtVIBHSre2gZZxOJDg2yRwLFIChs2/tRHKmUB+sLAaZCeFdstoB5yNXTsOrIlgyKt6FBH4HFsSUgKemEWi+NBN2zxUDU4rCkxNshiDqfC7kaqgVt24zBHjBdyLdMeVdLjWWEge6CaOFOtg9AalwRXY0eGSxGNriBcRDIYziCJCbSh89u6deb6Sc8brYfGPm+jdbM6xw0gNrZDDwTkGtbftWtatjnHa8LGti6IBOQwghGaptq2ucc6rGWxoMAc5ABIGgdlpSTdR/Vt/r72VBFYFhILq2lOxEEAvvxzkNb4W5xCOs/HEj3CbtpiIPmR2zxh1ZOMBS0KwoM8BratasTCSEpQj+cCgQstiu5GHIBy9mheIshczi1RbhpBZ7iBceYg0AQGcgt4CLkLyCFr288B534ZiGDVrqkcqBc0hbcCDOJgbDKINCiTshibYQuPukLU4mS2uUAUtFHnDK1vUYSf4b5wSnEpqO39h3IfJxAN0AqC1pwyOFy4lG63ZAGjh2mycUCMcAs4mptoEDNL37luygS02f6iGjhiMHXUXpHbcW1TixXHZoEt8NJydFos3thXHQyIXtuQ40Vx4ijop6cuPQsLdI5NwgHA1UI4XzdgWy4OTmTri42GoaxnbnUUdCRPyAtLbPEEewav2d7g5qMnngmoMs7imohikQVDQGD+qJohEFQ+WWqZs2L6OoNLQEiokjQ9BcMQ5o+2knvxfFUW5/gJ1Z2FmSeM3zP329bcJL4ErjVPolbdKgrwsd8D+qJOoETwPJ8/Ic0NY9iFeFlfAbP2POAQRZJKmA1nwgcDBgbBaza3KNRoabIL9WGDCmyj0EEo1i5nM9QXq4UJbXq2vgEcQ5446chT+ryyBs4a7QIte9pNVkAM6Ha9lmQRK2S/AKMHi4D69kFfORBwd8IjAhcNQEOoAw62axc0SF4vFEciOvfGh98B9bb9cUPThX/D+I8HtNkDjC3uvvIQeD2JrhHOHFEii9pcY1GhuU9h1ZrQAn0ZlWCVWrriA355uNscTm43zBgcQY74FuKHXgqLcy2H0QIT6ZuMgvnJzXq+oQtStYFq2yVjJA5rggQiS1ZjXyTgS4XQVWHbBGwEe721thfIUehh7AFVbbGBgcBZSYDgGXsKT79gInIMTbVrAHKB0JHWoFOtua4Weh72BT+o17EkAR7AAd2AdA3XFCKPtcZ17Xjxt9ZhrqRHEkzozVepxk2grPSNMDE8Sx48RR/TAWAhlmmsoec1c1xZ109XG1SHQjPIELlg6LRapCtHmGuoU4wo4ybglgSW20JwH3IMO4GTjQGAmeIPILarS0qLCiAdyYe3P+HZIZq22z8wdDaeNvUGB7WJx+hxibbkoAxVoirLjCDTiVNpmez8tvCrIN41dE3L7eqxU2nIcee2uUBrVB/im0wE6rBVg9HwishnaBXtpxIdGQBkZXlYy/XOatZUY/waPBkFYWf0atjl4hz+ShQnP6S8DkBBdIkcRBasvPFGBCz8rJoW1W5niINEP2zpVsigT2Qs/RDDDfuN8/nlImgQedtr3FS5WiEQqrPtB4X8wsQdeEDtrdwMgWigJL3HNwAjtol/IC+ksQUv6JfymMKdbdHQeX98HZfW0W8Q2LfyQN0AzroyK2K/gxfGRiiisGsGVf028WordAWFxsm7aV20a/hmAs66ddtilH8OxJ2FVIThhrXIPuYd20WIWN/Ib+xt0h7bXc23jhOrIe2zSirx4CpCcUFdwvb+6ziw1CQuDTaMY7f5WRP8GYGEcD8tqvbBZR/EQmrFqVGgMHWg+OgPptT4immOWkM1HVC4BRCXCEhREbNhXbFOWqQCTVDF2yDtmpgsC+Z10w6BbELXgT/4Oi0W+Bw/72503tlZwOYhdgc97aP0HhFtgQEJRmvo/V5uILQCOx7DBooHCeLC5BFQQIbbJoBjtDpPYwNk9oVCmGXw7HtI2KJAK6QEffNuGD3w5VFoyJKnlD3AahTihtdAyewXAZmSFwgKlhbjD8/2VpLbgTnQf5pFeFykI5QKL43twgACIjGYuIAIJLfA1RsocrPas2CKoQabRmqaPjqYF+sGh8Yj4o3mY3JnfFb2098cVw5nx/CBxIFZ31R8Vd/GWBQfjz7bUAIZgaDQO12uToSg4+QL4wIqoJ+2PSsEoGO230dsNAf9RrtsxVYyO26/l7bQp2gDs1jDFejtgDE7Hh2/BAC/EIBAAdojAEvxSNo2FbUO388BtAjPcjFx0HY+CH4Vvm9Qh2ZAsU7YKuzV4DtzdP0KdiYHZp+Nc/rnbMR2pWcGxZF20H8Uw7dAW5dsAHbKjgSkdmYeQI4DtK/FDECMVoI7PceWUj4AgyUKzVBQQLKRLJwi/H7WwnFs8cLV2+GBWHDMEg4wEX44ewNUiffjBQy0dqtfSwmk9tCnYGO3McA8qMEkLrsztjUuEPtpY7ddQNn9LP5QxFo4EyoI+8fsBTPa5eN6bPcreN2fyRS0G3ujfElqLBo4FqhEpiFCNMoVasffwk9D42EWtEVdp5Qr6hJOw1XYBANkIZa7AOUQP9ehH6u06dHmwoYR1DtTXZBUOioUQE/n02cCfUHUO284DCg+nChTtXXa5YNezEX4+gJBcD3sBoBJo6IG7DthOwjNwATqB7YR2wk3YUbslp7lUIU9hlgKqhY7DLXipu3rvr4Qjn+N7FV7D3COLQaW7efgq/AWqHLsPPtooE94R88CG3ZokGKAfWg0L2mzIAREbwIUoW27EERySBT9GDu3moUSo6sq07Eh3awiMWoW+hZahC7ByxDTuyVUa+wrd2x7DP2GuBJ/YcIord2+Iij0Gi+O/hCwg0wYvuib2L8Oxn5qAgk92HKARthjEIyCE10bkRT6C8OE3sVLYIRwg+uLrsL8AJ/3QQVgE2AIWNDJREmu0M4IjQ/Yh+rtDOBMcIWMMHffqkG8ZriEUIO4dj1Qcv+36CbiGVBJl0GKA5v+s/jyBTGiJJobJcOvUbf9JOE5qMadgzQh0RVmATHY4WMU4RVvAd2i6UhaE0YO4dgM7d4hk/9JnZHnHb/qxg0V2s4R3RHokJ+du4HfGh4XxvOFKtBL0GkE/EhKzsOhAFiKdoTyMJuRtYip9CnO00fpf/YOh4LtQ6FyqPDoXuEIx+ESC4wQ/Ozv9qOwgrh4LsiuH9wAeCcC7QcR2p93gmVcMzocpEFZ23WA6uF50NxCIqQwuhnAQ3/AriIxwTJQyM42ExK6GAkDJdrqQ/rhezsaXb0qONIfCEk8R9ZJTlZkuzvyungmbhHIw+HjzcL7oSs7UtAjpDB6HtgJWdhNQU7hz3CSqFLDDgkSwQooR/Tt4AlAyOwdtK7XWQYASTladPEc5CY43l+tHiWzi/4BOennRMJxt0jjlbYgwS6r2gYUJJkAeBoSAS1fkacHV+1AtmFHx5yQCAww5gOLKCwcBdfyO/kUo3bOplAgbDqjCbOhdgWPxgQC2NrxAlxcO5A5TwYBhP5C48CUkTkgX4uxGD/sGtmHkziuof7BdlAgS7FIXQDkrkGoqNJd205zf0R7sStfsqibxVoFtnyFoj0EqWk3KBOcDrD3oLs7UE4xEHYRKDXeOeOBkQV+E/SA6BG5+DCMjHQa7x6KBDYGmYmHUXIdThuyYTf9brYOkepsgpM40h0704/WDR4lW7ZRoGFicaQMl3/sE34vVgX5Ms1GD00AsACqYcWMxBLBAxeNk/hN4yGWQsFFP4p7FY5LNInsJ+pFxM6zP3YBIcmflgZ2pFQKvwmkFu2VS+QE4ThxYg53szsRQPT+mshnoHW6KWYHX0S9+Ej1s8DbYLBmCJsbGCwMcrCTmYEdfkLRGAEwX8Gu4slzzoEMQPKRQyBikFayOKkRpiRT6Muh5t6unmrFniXd2wi7AaOzAcHz8SR2dJCHhJ8kEjHCizkcSY7gFn946B0GG8kL/scRRkmczwmsi15CaGcH0JJKB+CC31jn3niXPQgpThOQmRhOwkNGEpkJlxjkwkJhOI0QhcCR6KYSgZFphMU+igoBnQO3Zswn4RNzCdDI/MJymQRjglnl7CUDIiagZoSregYWJqyBbbaTkLGAWzgqOCbCYfICTsz0D6wlWKyiQb8rZJ4NZYarZ/ikDiC2cFxECXAL0j8RLuQGN8HNaiuDkjjvDwvSEtXDuQLlcXi7ReMFFJf3eBE6eg0FAgEIayEWQyyQIQ9uUJH4MMiZKXSIgEZx68wowNvSFshPqQ0j1Xj5A2DJdOHAYlawuB136TSFeMTjAlx2w78rCBfkxSEHKcE2cgYRZmy+IE6eHGcVDeqy0VMxFyHGgM9A+TQdeVG061wkMzmjAuaQ/p42OATNgIkO2YHcJZ9RUomsEBAiWfUZUepOJOtiGZw1Hma/ABhBUThJByYCvHi54A0e8khD2DSPRRoKaPSaQGv4WS5asNjOFk0J5u58hfPRLHA0OLK1dbxfpwk0B9eEsCPIo4YklaBRM6SGEhcBQ2Zu4ymdA5YCuJ8QaASOj2F7ZrV5QsMVIR/I4A4ymdY0aTHEO0cpnYzRuHVlM77aNw6pKYGpBBWwyzj/YFrQN6qBQRzUhsiQ1IJ7CJtLDFQgSCxTp2SAx3IFndFshCiMeFmZzBsE9E+xBIMAFXHSPXqQIT4O6JxsAAM76kRbweJ4XnOC9h4IkHMEQ1h/I/FxgmiiHE9fEz1oQoiMWWANP278sGddEILVzRI2wv2ifd1wBtjXOKQTDAI4DTZ3EyPf/UNO6Jg4Ynyp2Aqo+QqGJ39dvB7fzwinJqnF7cYMiwYmhpzbsJEcP6JdGA5nGxOOZiTCnLt4EfxhMg4EKK7CeYkpK49dB04HmLbllPqRFOZwiJNGNNGx9qp9XtACXikDwsW29WNKCPDRH7B2iD2zn9QAvIUIRGOc68q91z8VuaGEY4GkQCXJ3NlJIdJyGyQvOdmgjAKAmQrLglr8uMiMVB1SMtiUjEiOIi2g+UhgQitceoYwdOmhjbpGRuKnTicPcRR3Whds4HDwukabg27OQNhRlQW4MDidhIiz+NpdkmrLDxbODb3G+gvMT336zdnukXHEvT+K3BY4kYlx00VSDZ8sJNd4U4owKK/OnE2BQyHgk4nFKID8BCPJOJe6iXbGRxJIMcF/BPBq2cw4n7hJ/wTXE8KRcnjfYmCpEbiXJE12JBuBRvEP4N9ibHwcfxN+DHYnXDwETB3EmVGGQ9ZwmVD1U+ikPZsJkaC1ImTxMT2o+DFyuk4SAGHiQ3t3tZIxGgKqddry89wJfCjE9eJI2xSKzj4P5Tpe3Qem0+Dcc6FhJk4glwMt4mX9N4ljkDWCGTEwemuVssAbPYCCUcq8GmJHBctTB1eh0ARcWJlO4/jFyCnsAQkOr/YcWBHDu4D0wkv0NwLGX4LpUaNDSC2FwLacBzI8w0pBpBZCzVsQQTiQ9NtA4BPjw/EqN7bjwWLApfBwmA1OPN8KtWCSgA/CdAnrVgkoRwqXhAwO5FIwaBJB3K+QqmB3DC5/CkIEcYMPgGPgqB4tAHwjJF4MiBD1wRiQLAlJILIwWOQxsBCzZJ10AIUR3Wo26ddQjA700y8Pbwl4wnphc27Mi2ITpcY0RJr+BB44qJ0ENjB0IrwzjA/fivcwq8Hio73Wq88aYDiuNjVje2OiKz/AMkGySm02BZAI6A8XxJCpECGcYB54e4EKZIiCF0wAd+MFUeSETLA4bY8BNGMGdQZxJNQheYbZBE8SdEPQp6xFsC6xuJ2KMDvoLnW3ktMFCjnGR1pSYQkhhqdl3hMKAUfqyrGGACNw2QiCpwdwHIoeZg1jcWBC1AmNsVcrAAw5gISh6eN1x4N0Ce6g9ewskkF6JKBMAkn6KeCT7XCs2wwSes3BB29BgD0Hpc3GQN/wHQwg9d+BABAPZVMQQBnAkoT/yiixxv4JJwSgRy7hlgqTn1SkddsGKgQK4EpEOu1VENDATJR3tFsyEvbhCNoPTQQ4AmxwioDfz6QC/Yj7gO1dhxZuKwVeNEoFZJQBBHXwNKBEseP4vZJekh+aDFKOqiVpca88ECT+zgKiCfwQMBY82UohEkncC1a8QFoFZeM3MppEg7AnUWIPP6AIpwBBYbSIGUEVICBJhxAVrjyYBnFoK6JYQRMBTN7DizvQG/YHwqlvhWxRuBAxgDhE8fxwgQMYB4T2HFkNbC1wafB+1FHQFJMBjASiJXajKjgW8PH8fS4WaRW+9uJ7MIGpESOoxpJXihDPYNixH8DSk2iJuQhfri1yzZPsyky/A28gWq5vOHXtLE8IrIs/YGUmERMWgI7cFlJcQRYoSQkDKOK+4fHWYHEF5B1g1g5veLBfR33BrZG9v2aSVEoeQwvb8mPBUyItWo1HSI4G/xL2DYJP7ltKCcn4lqt2+H9y3csCB4FlJ8bBBzDmpJosCYk0bwxGiSsBWEKdXHak4zAJiTGUlByJdScRokawVhDGGCRHFVDqUdWuWfGAdNhVKH9ScMvQeO4+jUNGp3A+iadIomAku8yjjd2DAeH0hO2JFqRnJK4yO5YJfHaTMtiiKElv8g0IBYo4wgRccJyDGfxokQMoK8QlPAvpEibGwEF1fcRRnCTv7ChSFBibFQGdQnXhAkAfyAmQtDrGTYiWBt5CCh1AcMe4Qo41BBjl4DGPEzpEMNbwcMB3CrtpIewJ+4OZA9BdufAYL0qOBhEhzxKpAbPBR/Bs8XhErNJXMToCAakFRSZmEgJY5ETfQT4pOxic5JOKIV4sgjj/UMiOJqko9JaqSGZC4oGPOI00cX+8Ag3AgdyHTkP8cDfucpxNGgjPEQMERo2dJQxAFmCoe0iOIqgAXWiLURjjlaAMhCZIJPuzEplXBAZJ0ie1oLwgqcd/sDQRJPuFhwaDJF0j8tA3HHHUX+E5iR29wZ1EWf3GQKBkhdR/sTmcBX4HSQHkvcOJf4Jt7gG2FU/tpYg+4ScdUlEiSKhkEeorT+IYcbjij4nWkY2kszgR+Ai4mZaDv+H/AFCOz6i2MkYIHMuLNI4fAhiB7CBPqO6kTHwmz4b6i2pEx8PIQF+oicW/JJz9C74InFlZI1vK7ksspHXJJJII6yZTJIjCTHgnxMT0OKQnVwzrDupFDhC7IBMfaQW9cAVpFKsCa8cpkxM4r6gsnBZSLGINKrG/g6lByFrXkBbCXTQpKOn/tAHDBqx6RPGYkGqjJIX2AfdUVQbGrEAQYNhNI6A+DnHmd4MHYQdhl1jKVWCyWKwOcJwWSwDaf6D+CbDEc5uuHBQ/DmRymbmpwK72Dthpdx7hNj0BsSFNQz3B1DBywBOoDxHb2govw6+CiEGsCA5EGr44AgHtgm6gi1mmwIAgDeUHyi0c3/HhmfdCcTJJMuCz0HGfrJuQrJsBJyE6tRyi4JtoJo4uQQ0oyuC0kFCCkl1QE5A2iBQT0HeMFkrvAUE9pjAqRx5wENkyX465wZpHEW3t4PdI6Zkfq97SDGqw1QEaLILg1CtMyZmHE20MTXQqOD+QooRFiHo3iFSBtuszBuYDPnEJQHlwT1AjEjq0Apr1KYHfQdBM0xsGskuVyJ0DyvO7JQzA1tgm/H+yfbrPXEkpg7slzJDTOMeErZghnAPdaM8ALXtDklLWA5x1sR3ZPeoq0tdh2szBOt6zqA9gHZwOfWAqga16SCnh4VVsGoQnWTx8CxfAjrq2CZlCP2tDwTBILYwGZIVl4AzsnsllEJuSU8415gVZcFRCUyC9YOGQEpWz/A4BEAsD+1AeIKKRGWSlklK3GM4DBgCtWxqBxf6OMHqSW+IEJJFdhmkmicFCEJAYbEQAJAlclfYGOgACQUPh47Aq26pCEt+OQYMXJr5hbLioW3IMCvwjVg55hyDDyawVEJloPcOYsgR5Hs5OYSZXsIfeSkgaiphsEzaKeQNYxanBhQAOR2XWMDAnFA4iBYvhuy1Q+HQkpyRkgtsWC/wCPCKTYP0w2CAHl4XJOGEGaY7eAKFBL1BkUCU0K+gQwwJGwW6DrmEuIEggVsg4bhY9h0BDfWCBhNPgc6A/zCDkGbQOq8ZBQVoQS8kcZ0mQBrPTyg0MA79DtvB0sYSiM14CGBCXGPPDgwEuga6wzXBDyHrIA5QEK8LvJ2dh/TQp2KHYFnI7eAPOCtxBg9xeQKCIQbQQ8iIUDM4IHOG+oV9AqTwm9qz5ICQCuIcERS6Ap8kHbFmHusgMfJJCAq5E75NLYJe8DLRLOxEQgJ6C3roMgejWquwEKHuUmvFoecDGR7lIMPGbvGuHsTEF2JclhgtECYBowKpQ3Ai9o8BMCOXxTeN2QBkqk+FbJEDsS6+Gogd2wgH1ejix7H7gS6oZv+QdgxnCTgkzJihQCR28XkhLFpknNoY0gN/YnkdAkhQFOHwKO8YxsA+TF8gp3GooalLSRASOARAgkaGAsQhgB7Qn1CUlDjoFCoeFk5b2sewMXA/uxe3JonJeAz+UGo44pJHMEwQbOGMkcw8lTpOoofrwQKqp7wO5ZJZJ7Ebn1JMJghS5EmwIDXSVIUzMJ9w5cUmCFO0cd31QQpe9iVCnuOF17gDmOL+/VJ1ckl7Adkb4oQUJSIVVo75WEC8EdHURaWUBR6KxmDWhrIHATOX/CryBZ+UjhFevfNgGzpfTxOFLnekofPB2pYgCuoKH2H3l4Uyth94CUHa+SyNfBC7GWep3h4EDBFN/AXg7BYW3ZFYJhtrwF8KbQ4EuU3ClYrQnkpDtEIzjYFRRYMAtHz+eOorPPW1R9r4A5FLtYFJ9FeOORTMSDVH3AzlrbMop+5tnSHocL+SeObO1Au/gdQjW33rxMRw7muPyci+4IMUj2J7PJMhV7D/9ESzwD8LswyogHQhTza5MDHar/sDyw0BJ7JbtML44CBwaAkF4Qpik4r20VgRgEWgRkgMhTuKysIDWwHSQCS9tFZoCCvIJsUj82iWAt2AfyLiYEBbPTgS+5o0Cgry/4MPuVlQZGsyuSVngDBKdnHI+zYdEYCQpyugMvgOz6xycKM6c+1kBDn7bRWk1Bdinr2BWMYgiHFe4H17ogCZ0DiKmHHm4yA1TzbhsA2KWG4e7OrbAt9wLMIEzhBERXg6eQ0ZDUz0yBG3QgKgkq8vsLYsGbhtc3e5eMjpTMamb2RXjaPHXGy6BSb4+z0uujsWWi2hgwf1i1BnXUK2CaAkjuTRZzFQCwztKQG7O7TgnZA4+GntG6wUH8Lh8lHZ5GDnDv7cQhugqoRx7D0N0IRRnNy+FIwfO5KxSQEcPQt8EDxSD94KlMFTqOsVaO/FtvUkzR1tRuIEBzABDD+wQ5GHD6HFLYehjiBVNDieAeIOTjQwIUFU/ki9RmtQYg8WxoFVQQGH8nyl8EpoFw6d0jxCrNB0SkOXEDWgRFUWVDn0PHXiP8a4pRX0YcmLG31kehHeaOOfwiUGn2EIEprPfv4dGSivrlSNjKUxkml6luj1U5sZLpoVuAylOWkiyApE7nO+MBIVaOwuB+fCCoDV0IOJbvJmKtKpEAI1eiDLYVnwe2hSvqTD1mdh9rafMVysjrbq6njVvnXVmGyzigG5U0MmXk2UtHhOhSNe4/RSA7lTSPk28k569CJqiuVhQw86O0B89Z7E5LpoZ/gCVQrNt4J5DlPSyVvrbNAnpBr2QqpBXKdRsMMpvvwj7iCwMFfmq7JA28hd48Z7j0JTgjAACOvEC2nBCZyHKW9wwVOIjDCbo49R9rpVkkO4t5T7zE5plaEHyrHyRQ4hQsAun39OiWwA3QNjcwNhKeBKCHVk+gObfwUpEm6nMTl38PxAbbxT1EoqOpVqOsMyw12sqW69jnx1ragaXgw5SuMCveNhiGsgyM2SJAVI4M2H58J6gYk2yMBTTjwVUgscjAf8q8FUaoHEFMvKlRUtb4dSBP8DqBH61lNQ/suzgQr85Yhg4hHD4DcQiBSK07oG0rNmDsA4QOPhUpAzSOOyZPYe9s96D9sliVMfwnTsGv+QI80QDOkFEqcnQe9u2ljECkA4F1+FSwdc4GSgPLBhjk15uCJUKkfvg/RBgJheDi94QOgFbwqO7qVNC8aoyPLwiu4M3jMT3swXREM0QKbxRrCR2BFQI+8W8e8ah6LCf+zELE+PTpAmXcCB7+qFYHu47C3Y1ThOjjrnCtrj9bAVwlKgIYBufA0+Bck0L4VKZSgGxyF1+IcncKwendrB7zjzW2E5sQke3e9wrDr5Jv+G/wmkhaHc/fB2FPTIfZ3WPw//DTRBJ1wj8IsVbbgvadgAR5138oJB8Nvwxdd0rBmSGMsOyQcqeYWgYJQiAnRwK2QSLu9VTILF8OG+IHtbVqBnlAO0Cr+CwOPV8CuWOXdZraTFMRwAV3CPwcxT5qkLFM6tpLgAZ4ajBn8lyQEliatkLYpnVsdiklkF2+J1bA4ppNg5g4mVImoN78Vj2n/tRRiXXRmOLXzByp7WwiGAiYwW8BC7ZhgpPBS1b9+ADIc4YSywm4Ru9hyMEFDuEPO1wdOBZ27ZBADURZQBzQDvwQMDIUCk0IFrdXErWgCbA3YIN1tccZCgNR84Ai0UC8qh/CQDwj9ZRnhIVxN1utKUmwONTB260IBI2HlAMDYVuIRWiw8E8fgbrLogJZAV5SqJMI4KBgTe0S9cKEDTy280BlPTLw9aF9yD+DFzbsggC5JcWAV961G2LySFIHogvgIK8khSH/gLm3WWUSMdNza+Al4lr+QQR+KXgKyCpaG1PgsCXKgZOSxniz62hrplQEfJr8JbckZpDHkcqrBBRVWx0B7aNR4kfPkvuRBPwRe420wtqcsI3KpUI8dal5aKVUNvkg2putTHam890HAmz3OcQx+TypCwVTPyaWUydIsWio9D1aM6HuT3QOp9+SRtSIyJt4BhQ4wI+PdELilP1x8LEgM+2vED+tHx1KsBgXwbzR/MVGYn+qEECHPIlgpiPc3ypTyKzqRSPH2cyLAs6l21OOYFtkmZwnFDoOhCUPjUMdo+Cp/qgBKGGpwbIcfsTaJfZtKZApqB32AfbeVQ99DOkCUwGf1lSmRxO8ahwJHStzv4UQmPNA8hsgGAu4CMqY6wWv4ZWjS7rStz+KWAmVX+dddo7FpkidqclkeOx5n598npc2V0f2tNYeEpZRyk0/hqrslkJ/umkcg6npc0i0dRQ5rRyMo1oBBVLYoM/kxzkj1c9eRx1PBkYnUzI2k+s8cip1KsyOnUh+ut8iTdTZ1P+kWDsNYx4hUZZAyUPk0fmnD+ivhNPYzvvxfTtPsf+p52i0cqrC3/qSy4v9ODUD/Dol0AqVtqQMywDP4qm7D+AK+I1SNEUs9s98x9R2BdsH8AzJBugTyA0iwZNmDXPqOyGtZ7Ye1KnsDaXCpWltSHrpO1wKzqVGETGTtdDamNBhgIbPbXWpiei3akPKgYaTpaEhxdtcuoHuOH4cOqbP6uXZSYuBBKx3MTI03MhGpNie60GgfwTqvJ+pP9sBa5yZGJDkg8d7BVy9FgQVlL6QB8g9JoxdoXQ7dwlRYaaBKw6bUBTV5kkw3jP0vIewB1sOaHGpMdNl449XUgpSkDAzRzsaUaIgm6YgE5l5N9Bh5iMdeVwEjtSGhxXw1eI4YdRWXF8Zo6SEFJ4OE0uBRb2BDkA52w7IXE0mBpLFZ6KGS0DjwYKqKihqK5a4nJFJHISMdG4pxaRvQgjHTrwVevQBEVh0L8FXrywoRo0+zey5DfFBOxM0zsyECsp9kizN4BPn+vmyaXRR/LYAkAVlOLsbJvQCgzbAdCn6kAaXi4dSPgFassCoQY33sDUvOuw0qs27T9EGEdihnSkOp+BCZHUxjQ4OywuJoXJBRs4IcDWhhOmXwaFDY3ojsR3uwClo+MOukcezAJp0mOMLAVt2XcRCG6EckzXn9Qtl6RChXw6IVKAIDOwK5pvWdRmJC+MmOG4IROpl5tzHFZRO7eL6gYtOVuJHzD8ULisH1ICyO1gR/L4SeL04iGoepypCikwKtYFUqf/gDuQx7xDqGsKIaOHQwc3YnnszYkjKEPNs+iUipcqSttj2yIhgJAo25RS9TaKn3iyJwdvhE4q0qSAYHT1Mm2CUlOoEgH1cUBamGBLuHAf1Q+Htb0jOlVZaSmYEDJYOwiZDCCNukQDsA3QRMhTol/SKlyB3UtpRGGS67ZgJi6UQhkyPmUrS+lEYZNTYGAmIZROGS0XZEJm2eLGk1rQgH1tniUCIvTtA7ZiMq7Dr/FUZKITJT7RDRxscwEy7rG/UWhgLLJ8mpQUl7GyhaUrGOU45wc2PRgJgOEC2LBbEKpUQqSusL4ybyQIX+9446ZH14iCqTH7GsJnph9TgQuwnFpM4hzYKXtXP5vaAn8JpIRvAADQ3KojSAHcYxktERSkI5/ikZMGqUj6ARgCXVfpBiqBEyaRk83An7wy1FVRn/aEOoO1gnCi6MjsVLgtElg8RR8gdl/BmxIvjhs7aa2IxxzMB07CSweBkmXuX+SXRCkRJcDv5ItHgfyQWzj2wBbVogEMKRW5x/iAq4GFHprEj0w7UZY5DPAkPkJBU/U4KUjOzgrIkXaZuokbUyMhDNgxH0gUUU3GU4RUi70lrIJlOKzsfdpD0c2bR4VMRaaacIbYEjpEWn/lU3UK1IzqQA0jSvi5tMRaScVZMh9HwP5FHqG24C4IPqQbqtUtDSB3cOPsk3p25ogrmmc1My1im/NkIYexzLFkunHbklIPRwZr9E2kY1KwkERIWygplBqDjox29+BPQRgwRadTyD+bBS0U46VCwz2ZCLhphkpIAKrGTYKypSXE+cHxxna0XV+ZJSrMmylKezt7YT0uiUT6Sk6kNZsP+cZTxW4gUCBl+CLTpyUodg+zD5JBrt30uGBmC+RjlV2zgJryIUOKUxAITydJjgSOAnaX4g+HWtlTzOLBnGIUOJQmxBMoTobaz+DtkJaVMKpBCt1xCzPDnOPOcUXAojg8Ck/8B8EGIWT4IGnTsSCqqxRdGScdypoCA99Y5UB8qUqoEWx1JwO1AeXF97GM4FEgXH91ziMaFX4CAUEOGR0BrHHUnCs6QEAsQsyCAXVAhdOH1GV4KVpG28m8AQwBlegoxJ9w64hNHBf5JLtjA4I04vHDPWkESGnUNa0gIB8OsBfIKMR3STs06QJeMRIW5hvyf4Wq0444B8iCqkaoDeoEU45nhXYRiKHNaGDOGCoNs+fkdOSpzSA3brtQytQ1pwe3bhWxAwoQoRtOYLTUo5zSB5iPhU0Lwc0hVRZ/UMpwfQoZjA/gR7LJRvz1YCFQRCpqUTIgiIVPfyV7IZ3mW592I5IkDtkaH4EbJgOgxCAJDwcjt3YrfwPA0YJw0CBeYfA0K6pSbT0sDZNROoC57e9sNCipGj1hMa8G3E81U14svtbvD3e6c+nI8iZJ8jXH2JIAIXxw5sA9iSiDE3dkPyXDbEIe3MFKunWJOoMQKHKfJB7cER5SShsiXl8QwGl5svB7u4J+1n+KZHpKXxY7GFkXh6XtUyDWePToekpfAjiXD08Hps1s/aAYsMHwHtbRjQQx8vdZt+A8vqMwqmeMNT17BItW2Fn1bVnpdbDrwEL+D8KSImP5pu7heelftD6ceX4IIpxyNy95cAlW0NkhSoBFmxIAxnWA61HBrT5wjbAxOECCCSKTTaNnk1h8ZfiK9MyKRr03beLzhxeH4cPyKYLcVYwRRTDekDWGT8JUUojW4WwKolI0G0MPWkojIHbBB6BdwAaKRaYc+4aIBnCkqcGzsLjqd3poE48GAoZA3YZqKVleb9Bw2BTNLqkFsnc14NrhpmGa0Fm7mD4ij6QCgg7DnRGgoI4w/nWd+g0XRghD33Ac4GAe2LAhobyW2hYGIWfNgDNFc+mGQin3HrQdtWSLhhYZ4XHfVuZmd7g8EZFIQJGmXYU60IUuFalWVAK6GgOEK0ojW5ESnUxQmEt6Vt/LKYvyCiujCNIjiIM4TDSdicJaHdgPVeKXKJZRyZS92nyfDWUcmUo9pM/TDOHb7DPadOrI5R6ZSGpGXWHViZAlHMp06tuA4VlPhfhjQYNA7QcacCtghNkBfQdXUoXdqnBpCOXoX+0xpw2Qi3sAzSMbcDfDdKgnnAHXjdFIInMAgJGg0GDeoxjiiEHgtqNhRtTJHkk3vFJ6So0yuJN7xE7HblPmHlFYBwe7lDaDHbWBl7hLQ6gqSdxYkDsxHcof6gEDguCRUbBqu1acTS4elArJNJfjB+E9MM/FT10r7tfO5o4FMaU/YAjA8twaHBU0KJICC4M2AlEc+wALiyluNwXHRpEsZEXCHiAlofkgecpA1h9nicDJRQEWrROa3lgqaBHQBbeHxwAxpBwVDPgaVM4GQcFKawUdsDGnBwDkqa4wew+i04RVDdWBM0HTQu4qoOtaok60DsmLKwxXppbBImnlcA56ZTIEH+NuBYV67uAL1hoMyhpjfg8cDL0FjwBeEhfwRLAXDrzwLFHnoI9XUmGSpLArwEKYY8xBuA2/hDPDZlIEkfwCJc22ZSRJFAgnXNmQFOjJYQydza46kbSTe4C7ggOAl+nJ1MbQU5IxIZUlSOYBGaG32Lf8RapsJgaXoUMCXbk7KR7wNL1IGBr63fcBdcL3GGxh0/CTvC/oYsIRapmJsH6HOaHVeJmsHiQM0c1i7brEMzChgr3GfFsWggTaDpoUrQ/f4v8J0aHT8AFHu58dLQ2YcweABv1Pok7IJPpWLTLLDia2lVmVYACAngzagxrQFG1r72DiwWOi2rApYAOtiO4Jxpp9FteG8ZFJ+G3QzAIPIT8SmImKgNga6LfcjtdIvBb7jucGAoi8i2Ajrfh6fVnsQYCNHh7zt+ymBq0ISa8jTwZi1svhlOfBWtu87POewqQ9PpeON3cBEw44w7VShqCo2G4RM0A9z4tIQcvoz4FFuNaGFWhDAZB0BLuFZUGo9WbYCg9NhmoYEkYdDiIVAN7hXw6jFM2Ttf4PhoAzDPOBmDxCtlMUrA+KXxJ3BTFK0bs9Ukae7TCOp4LeHLuKMUl3wVG5QWHLZzoiCGkpkZr0T7gRTFMjSfyM15Gzwz0DZPDIeGSQEKkZ9PCah4r8JfFrsM9YeE8MuRnTyBsYRB2VYE66gqmFfRyUCAPYbsij0hr0463ydvq/CRaR8FVXGHtMPjtgb4fogyR8//RZyCfKlCbTL6+kJzvh2lyn3Cp8ZAwr6Q86A7PSJoB/Up1cC0gHNEggJx6u/ABagH8j3ISPfDToDs9KhQyfxQwSnh3yEE/YVnwJqBa1ArFKYMTGnfpgd7C2SnyNx7UWgoFROK5SUsDajOOqcK3BFO7TDitYxBCPgBPDNIQWKDP3T4NNSkHYfK5WZYyPelBNw7YIu9Z1wgFS3pRiwyFNv3U08IFvTYymciy21IY3G32K/sDeki+G7GaMw75xLZsMlFZFJiQEOMgSQ6HCaHB4BB6oIPPXHwaWtkgSKOCpINFnHKQ7ARrsBDH2l6Z0CJTQJSsis7RoHh+KMwn1Anzc4Hh7jJ8Kcj4HKGQ4CWDanjK+LvN8VWp2SEk6BBJJzNtB0wYoAc5hCrEcN+oCbrRGAnpBBigWcB4GkacJYw2TUYXAuyGRMYSw/dA5BxI8JtEhAmdBjC6QAEzf9btMLO/ilot8uNbBypAHwIQkJawmCZkhAsJBBEEcbme0QSqdUtvoDzMOlDsGcVxheLUZSApaKmvo5IddpnrcyJBa+DwvnjBVog90go2D/rEQmTKVSiZ3LCYJmL+yukMiRNkZ9MBQ5CJQMpDqQXf0wYZ4bxYdJnK/rFEcZA2oyBnDSKEmqNqM01gDlAXnB++0CLGyggOQLMgcvpdz2tOA0nDEZXc9knjgLhJgDs9LlBShwBJDaYzK8IGYg5xUmwdcbRkDujmx/Z9hQ0N4uD2v21INGHSqYZFAc5BjPA2evIHFLRw5gTdE0fVjRKbUkxh9vcc5DcNJ9RLiPVyZ/PdtGE2D18mQw0wl2NVdKvxO/CT8JmIBiwFa1ovj2pKLkM3DU0gwZxgAge61zaOfva6pWE5c2iJRIr8c3DZrpH0Sk+mZbBOOJkVAsh3LtsXEmXBIjoHRI/BFtEtslVTIsiW8mH7WsURsemPIztoak8HBQliBTMYEwDRiZdQH6x/FhPIlnROysM3DCMgT6TrYS+RxWTsGvOKQXOwmPg3CgIyfzEpAwfodAkCFHEkbriMkAJ6AdP5B+6D9DtfIcc4ATBtMbjtHI0QCoHHGNTxb5ArylMaQ4gUOxHAZJpalnnJbgq4r14p0zSSBrTLx2ATQZhhnLC7okkO1OmTSbJ6JcCBjSnP20+mRSQb6ZTEzBNFNmBaGfePPuQFfhpV4P0PxyVQoxCxXuMJ0yFHBB0KymTtcT8g5ryTUHKGbXLJEu2DC6KFXi3lJBWUqFg0bBRfCiiCK+kobbcW1FjR+njrz7kLDreMpTFiHPEQu3OjpuEVQR6pcjSDxlLYUNp4iLAXvA84yHJMCkHeoISx7MzN14OeKvQMzsdmZtESeZA4zNuiVVGcKxdNDXEB8tLFmdwWRWhqliXiJk6FlmbSQawY3TC5+lDMKqjAZY0mZeljw4lOmJCZOZY0ZUwG9kymgb3DiXZY278kG8QXxOWIiNGswrT+GtA96Heb1oyYcQUxpuoc6/GmyKvIOXESuWbUjgrEQzNCsc+o78gIXB0P7UbF38TFYykUMW82pHcoAxmWdIPjJvlAb4YniE/CdXLUs8xW9n1F3WI2erQcY5u1p5AbHBJkjmWxbOz6dhT+pEDS3UYX0bfqR8NifURWLzakRSE17Kn2h42kbJmMYXGrUnkqn9cbEWMM03gl1Y4wOuMPn6pOB21NpvStmdjCqowy4GCwBhyVB4/sTppkpliDiRiURb2GHJ1W4YZI0vsKM442F0jqkA9CH8iQa3ICJMY99Zwmtw8JOFY3pGJYzwpTaYD0+hvM+VQTHjXkafG23kFzMqXQ88zQTAB9HdbvvM11uDniSCAtzM3lHhosVwvcyrei+tze+M5MlD4c8seQjhhwNQO8M0XwaOhK2bQZ0IUWV4HL6e2CrfgSJk0IMCMnmgsrjL5ahwTvQGUccde1WhwPCBMLuiWUQKfc4JAR5Yvd3DDhioLnBG7RryHDqmTULxomJhi3TtU7CZBTOBEw97AGkSEp5UkF6JLI0w+Q65DKFmKNN0CPn0viE1w8IMhYUO+hD3EtuWW5jIVwdxIXkGuY76ELcTmpC39xWYcPM+nu0GMR9CtHB7ISswqOJHcgOyHKMkoMc1IFshEiz4mnftIbIXGMnTR30J2mFsa0fOO3wKphbTxuXGAtmgxj1Ae1+teBCCErMLQQG+05UC55BgOEOIFkMCbObnQdYzoUmCyOtXIu9TI4Diz4THO0QtYCBcbIxAtEpNC6v3aKefIQjYXcjfFk0yx3GSBcXmx0HQPKDVaLSjGcw61EMUTe6JsKPxmaSQ6NUZI9lWzk9MmkESPSthi2BF2C/dNC0LhKUcxRChxYCY9L6wNv3SY4keFTq4ORMsiaCwiTs1izylmNsJNUNacUEIC1B/XQlCGbfihMythr+IAjiJaD3GYYoDSJmFd53Dh9B84K0cIQplIdQO6xOMDEE0woWYrkTJpkNQFfEBu0OrALbSAiD2FOOYEmbLc47ZhZoaV4DZiYj7MI+uZphIlXRl92ltqLs4/8zKX74cJS1gcsoDhRyyTmmczM9gNMsk24bAQHPG9yAHGT1AQhQQEoHqkOHywpN+kvD2Un134CshIKaZnsF5ZYgg75lRdJeWeTQXWJ/hxsOGV4Bf8U7mFwwDh8926RHBZDmUwmGY98jemxpCEpDs+gw1xTxJILF6KzAINDIm22LGN/DhAyM/xPMjGRQhRwDuyGAx+vi2cN7hsYzTHZVePw0fhY3SJXyyc07EkEskOFQcVJurgBmEtyPAiaIbSPp9/jcKGcrJE8ccbeZhKpB/0lKoHuYb+YbixQETeLE9MIkwLGk3og9KhmmErpIPiszscphM8zHw4SrOMydfQTw+1TC+MkBUB4YfkITiO5wc7SSZfV2kfJkyxAjozJjQNi1nmUZoVJhsUhzg4dyIo+vJkzGue+5DtFZSOjsUuEY2pUuVN6kurImWRwmFOxsTCaq5LBDEcXYubfQ0gtqJk51lLKViA+ihGHJdyFhrKV8BGs7eRW6jEZEYcj5iSTSQJALHC3/DTYHCkWhwZcOIfhpBZROH+vtxUCUg4UjQRalh3L3HSk0EWOX1HsniCKubOFsTNYb2SqUkKJRTmbloFLkpmT2RQffyTWefYLUptrtF1E0aHbWWDkoKRmMg7pmjeKh7u9M+HJSaynFCelKMjB8g5Bo8pJjSno5KCkd3EL+hnIDruZE0HBmVRRTUhSazoYR00IaaaSk6GENpStmnIpJmgKY0v+Z4/jnMAYzIPVgvE4ixNcQlDZnJPMbqP0omZvySOVmGzLosTNzUnOD6zrVBsCznXsmUtix3AtuA6azNFWX2LH9Wo/Td14CCx/VtPQwDZ3At0cACzJEkG9zfPcJoFBZms8PwAYrQqWZUtIS9AnrM84NGwcjoe48ivpx4AG/vyKWCOyIF0n4aARlerjqfjh3X9WtDplPxMLNImzI50cUh7JPBftK6gRCcM8D1sGvrArKYFHYcWgcRd/C/NknCW7gedwUuj0UDopPL1ohODQWfGyiBl2UDCILOE+c+iE5XgThSOfQBLQ4V2dKSYNAeNKrgAN42sqCQyziAKwEbiU6E9wZdP88pFRJCsOiLAfgR8rBYsC6bIa0NJkjgRogYs4kKJAbriMdCTExmSY1xWHTQGV4ohqR6upU1EObJuvk5sy82GbT+lZx0GjQgW010WSbgnzYJKN+kC2U982/sTWcBUbLtfpEcdzuAtD37CAW35aSJUzvq9GjG2keNPo0a201mGsFtb5CE8AFVnBODdJvbS7NBZbJ7aUO0z0O79gC+4MGynUZ31ZDJf8h6A7q6mwyfO0uKwVWyqrDLtOycWVskjJ94sj+nfUmLaSPIdCpHjTsu4BHAZsDJshjJgCjWxmd9UHxIWcH7gvUY2NACOGUZDe0qzZQmSevh6+ypoUtIS447xVLKF1wA07PJIHe2EAzx571RP3WVTQlPu1pxtITnlJxXsVMtnIgHAi9RZdP/kOIMi8IFcgKVFWHWnwczIhJeVh1/U53bLDKYmANFxyZxmzjMbIjToLIhqpPNDuqkEuIo6VVs7TAur97JFkbJzTkXISZQvUYzKACOBNnMx0gxkpad/zhgrNWjoc8LjpkIROSlUrkKwCu/PkpNL1IdDOv0WkdPQjBee2yfsAVlNAIGSo+qJG+9IGGUlI26ZOoA9ZDBpnX7DCFC0H8KaRQO2gGdktaNs6SbIM4ZBYYnta9DJfHtIoYehlLjsw7ku35YF0XA/R3FQNrEs2hNAuIGK6QJCSk+lAdKngBQk/yZNJjhpAtkB1xrTHZagGlhsFkzplRQRIcVhJ7xTqL51S2w7vWeHOZEhw7PodPEM6YigLuhqdEcTjmyBaRqccYUwmBw+DDgfUcUMvQMumfFw0JA64xb0A5LMN4mazUP60yDLWb5cL/ydi4BHBJwUlycOqSlJfFwMCoRMPtEKZ0lRMEey7ZDYmP8YUyoMQsmjiU055zwxGBEw01JunS09luCEM6U0IMng0apvBDriEiENpjbhhBpBI2JpTMrbEfgko00JDLVm7iBuJIkwprpi4hwvijVSWicqPRxkWWCKPqAYmouKZ8HSZNewD9gHHxWYeUhA/Y0pB1Rl46AP2BBMwAxo+zgWaGnHHQpLkx+pd4y71qW/Gyaof0z6Q9Xw+j52yGyWXlMBeaH5p4/E7PRFUNbkwgpRRUKPpNmDU4G/wQphO5FAsDfj0swKZMzc+urBYkDl2DnLFEkBpgqx4QmEEm020DSIHVQ6dYxSBhVUH5ugs5ZJgmgYrj+MLZTj5sWeZETCnni6sHE0AwsoiEAWSq5kFh2vPLzMikxWvgrJlP4Pr5AgciJhSByPqyJZMk/H/lIDQMpBDikBPkogRBoGUgyCytFD9aC18F7wausdNdcBQ7vAiYeOIBRQvoJXNkBrJ5wN8IdfsOX05RBF6F9BPAEFg52hhWBB5IOz6WTrFAQlTdEpAaSlv0NyYX/MVxTpeBKCC4vuhIXokQ5D6jE8gPx/N5EhgQSYdTJm0xxvUESUoiSCFsmTC3kHDDt6ILMgdQgLvbwjPmJFyIReBadCmKEM6DZtPj1EhZF2AdjBwwnQWXCLcrYytjkFklYD4MQK4E7YAeyHqC7bF5sP8U0p2BNjaMDZIG8YQEAns0RQtQ4IDmG14HcA/eZo5BzjBMEDcYeP+IPgZjRfuCijA5wK9wVjR5cyFCpJHMuyjpgcex0bst9yGuF0lhDQGYgTdDiM4PcA5gENDfhARHAijnhFLTDtICDbgDrAdcZqrLbseDsXMk6uUBD5t8AmMMSU7zsHggqhCxRDsEE7we3YOX1mVa5aB6BIkFHYsHiINuDUbAtWbKKXi4RRz+eAcuGHkNYxRyQMxzSRBz4IYWTvgebwBAg0JbklJ6MRsc/YQPFgpDkRBFtrg8IHypCwzctBtJQNSP0IYkgTFgP95XCCv4VakcYx+whC9l5TM73m8IZJ0l4cX+H7CAKQKw1U44H/D9hC17K33B2XEbQjez+dlrt1AhDVU+s8W7dm9DQpKGhk7Ac4xFIFRCncVGy2EhoFFJ6mNZx4InLZNq9lSHOUWx/hnaT2hOcFM/Zx4jlSzzoyF7uNoUxWQwJiWc42lNPHrXoAhhgug//xwMME0CcMh+hIMzc9AXDOYYWIMBpgvOzGwR1hw2GTZVE5xSJyNrGOMH2GVSoHnYH+9XsouVWfgLgcxVAzmgGmDdGzROQyYmyqylhgpkodwlMSyU2QEuuyIuAu4FfEC1+P6Bu2Sbam6ZkA2O9kpzw2RyEDyWcGNdlvuFI0abBFEAsXz9GLuVAFgjvw5GHuCGk4CYcvAgr2y3xAGwFLDtmMlLJT7xpTm+DP/YNqod7g5PEJTnenKPQMKcleZ9mg+ZBBnIXmQfoStQueyeSRwWDaIJ0c6M5fGwcqk+okUwA+PEy4ElAuPqlzxPUPMMlsIXwDodCWByT6QDQAcerqB1TkOhjaLsYYVcZen1hkD2sEhrIAskp0v6xak75nOzIBboVz43jDlqLNjw6htPQNs5joydkl5cF5ZFmc++OvZtL2DQdNm2UYfJVgW6CdnoGF3u0OIs0rw0NcZWCLaIo+kFM2c5lfgrcRtkJZYP2Yw/ZTZCMXiZfTX7uiwGuppXgeJHxmFM0dOclc5segSyFHnKPwS2wV+R05y+yFsYBjQAczD4Il49skCJMPsro5khzIBwNnr4P6Nv6QLQaKGVihP+keCI4Bm6YJGwywYDFGeukavo4yFAg6SimXiXWBzoHZIsxwB/S3wGLyKM1t+rCUg6SiwS6+a0YUDBcyVZaFz3uAd0kwuS5rWeg54jZUkmJSCOThc6WwuPsL/bm4EQ2bQaDd2CFyaVacFUwwORcqEI9BV6vD/nNiQKwPBeAjdCYLnL+zFsL4QOO6qHBzLEqNMBhMg1L7+0tgglQsXL5kOgVZHRg8jqVBa2DWCXEonfYgtAg35t+wfNHl4E/M0OtQlGKCyrsLVo/jEu5CNHCAOJ5Zpw4UJ4y5D+MSJrJSZFxoyxs1GsqdS9aKkSKwPBqBc18v8FsOAEWYfo1+AIMSfxFDkKnsFOcoiURZCVyhznMP0d/I7y5amjmEDHnIfKGuciViG5zY9qC61QIQFgXc5FmIwrnZS1CiUmYh+AgaBrkDOpIiuTKQWPYpxTa1C9lA9kMWgLcqPOtlCpJXP+XrRIwigA2AocBuYMF1ino4Z4WFdhZRNCEgMCtAOKgF/tc9FkazquR60pzECMgJnhoW2quSaCGrA/WAedaNmO6uVLQXq53xABsDgIGe9k5ib4gn9gNR456LOaYGgOJEssjYq6slVXPpdgcBRfsB9UBQ3HAUWTYVa55sJoFGKm0D7pOLWiRxrtY9jAjiFkeU/BVAtoQc9HyyD3Dr+iTppPOtjAS7oD7qXnYOe0LpiusDtwztMcEwcTAIrgyIJgRK6wBDIBA2cUcGUDNWyjEQXo2PYTagqTG/xDJ0AqgWXYUuhTI5kIAhuZgIeUxBAJYbn4yIxBIE/DipSNzbxktPHYpM4HOzEyuhf0R6X1nXIEgXAwFFg0bkE3KYKetwnYxcCCI9i/y0Mvv2iCtW/pokbmB70JuX1MJG5cOBaLb2KB6oH59c05tyAlNAVIGn1n+vSZAWOgNr4zEFZuaqEzfOC+tEiIQ3PvsNPrXApiNzZLAtrzKCDLcm2R8udX4Ac+0wkW9aDXQXWBIbnRxTEEPLI5PuJMgE9YF2CV2FkgQwxdeshiD/XKicOkIpY21JUNCh4mIqRCe3LrAaFDVkhR1PwoVXgnWk9+Sj6lUkFWSNfkkK0tOgFL7TjOGueeQ02kz6cWKFAUKxvNvU5y0f5DQ7lc4MAqFVgZQRFRhP7DvkJYEfqgZ8h2URHVnNYDAoZsI4+pnsQxHgMCI3Xipgang41NszCYrMD7s73MgRfISwNhPWLl6VaWMZWgfcJYznn1twDiwFaA6WhcBFAzxmeMrYsgRpiBP/g+9wn1iKdRvQPiADWqWMXmsPNEO6GuPArbmq0GPUHy+Vs5wSBu7kpn0bORM8IhwTp8te4TPEl6QLwq0ISdy7iHqw2J0Im4d3UfiAiT6TcOICAMhc8eTsMsyCcbAPuYh1Y+5gaACuAUI2jIDO4NwUB2ty8j8RgVQOaEdWGkNcJIqOSBD4WzoTLQfvC/tBOnNPaUzw6+5FugHEAp4ViwLtvJIx0pwj7lfQAB0IIQOzQ0vFVxk0GBl0HqfTe5RBhyzkpn0rOV3sDvwKZ9F7kNsGbOTPc+WAfGw8Ik15EbOR7oNjaBDyEFnO6GIeV8I+awZ/B8HlmllZzlg8ri+Ip0gZ5psB7MHRszkmLdy+NjIPI8iPXc+se8DzEBF3EJoMHKgNkRP5TeDABawjeljQcjY1588OSwl2h0JrU2jqcmSEoT2rJTuQvkhKENqyu9oNsAlYHqbE7kRARxHl5aMjueLkviE6ujI7k4mJ2OXibQO5CmgmmISjwUvsWsvXQZCs2hGhRCYeWgIaPWWttesmY0LkEeRIOCwpiBAg5y3GNYEfATNg+viZ3BNTmq0H48j3QB0h0TEzeGCeeOMkvWmvTjWDyyGsEQZqVXpGrBb1CBB1OKZOc36gUQj5mCIPBFEECvEvWydS/+Cd5Q8fJW8GVgsGB+9aPmGtMSDGJhhHj5RxlisFEkJ4803pW+hRJDRxUOkP48zgW8QchkANZNMQLE81p5znABprIXTPbrMwFrwPTyKgJ9PNJ4D08+LEGOSV4BRCLLoN0wECiDTzGrBy7F4EQ2vYrgp/0HwllZOf2KMY9e0o6tCTmg3O2eENk+DCCl8ozFRmC9cJEhYyQikJ7eA8JPd6vcoPrgMESVhFVVMq4CGE968yJFxwT4BDxKchjCLWmXBb2Ba3wEmG1UnzYGIQqLpJp3KMG0AkU632A2viid0gsR3vQCJ1TAQnGckxhkf+FBcZDDzJ+C/hXc8HC8piWXXA3iSsPJWqdUwLzxIp0eqBhmJNuN/wzA+2jxxsmSFNSiL6Y/DwW7BawjHFIi4FlA0VqHxI3MmY0GpeYMoRZ5Yb5wdhKr0pea1A+mG7nhOslxhh2hrPzVTQlCQvinA5B+KR+PNxAxfCnW7FcC9DBVgAxClnYUuAVIG7PhGQaJp72S1qlp8LtPr5wKOJC9zRGlbMHmHgLw3BZ72TaDFavKjuW1dVYB0vEuL6zMA0WerDNfW4Ag94m98R8mTq8+Jp0TUApmzME1eYIDEKZOrzt8GHRiQcVswURZdoFjB4mbGF4UH3Y/ZBw9UQ6Ucw/HkPEqEOag8xXkjXzWmEoPV0xt3SoQ64BC9YLYQFZp+TZXx7JrN2DiIVDbJXh8RaCENC6QJ1kmOJF3C4HEevJEHnm87Owc8A/S4XcINDv9k9ZBgqoOM6nZMC0VW8uOpdfBT5EZNIIoZVgKwGovZj6lDmLc0Y2Ka5ggayQQ7OaLBYJec4J06TS5zE/ayepFCPOcxoWhR3lV1K5YIZon4CrdTVLRQh0bqQfoKBRC7y53mXJPq+JO8sjWBySQf4bvPzMPxrXt5RdTn+CGcMbFEj3Q95Z3Au3kNsEG0U289t5FCY8KFtvPTcGLILChpFZ63l3DB0saRWOTWNBhpxkXcLpUKxscYu4jVb1BAFUtvLRHKt5mDBIHkIpPEarCgC/OshI1DhFvMuvmzaV/A/wc6hY4mLVkGBcJCGxbyDXgjvMIMWzoZpwgqoMjlesHR0L9UnD5DGzE2BNCB6Dt3Cb3AehT2ikTwlcKtToNVApHzk/AuezgtMJCC7hQ7sw2AOIBVPqBLKR5ufUfTlEn1GuHAYbbYKmTWxTzMCT2OGuT9m8dYc9jhrlTeVE4HPY/RAQuC/ER9GRIUsHgwvCuMAT6NPgBccHj5VuTmzCZHAu4f4InFAszxU3k0eAGwPQ4ZtgfkjGblGfLGDt2o9Qwk4hhK4XcLV4In4ScQdMAKEar313QNl3YXhqWA6a4nkLoRveOPcQPuxUSCkI20wNBsZKEjDA/PmamC+QFrQ0hGPWBBdBwuHKQLsHLnuJXgKsSEuKlYVtfCrEmTcpWG01zUQGbACPh6ETLpY3ZKIIESfTCu46AvyHSnxOYDDvZxAT7h9eHwaJK+QJga4BwvDzT45K3OZBxgT9mtgIT7l47hj4GtDNK5lfdJ266gVWJPtoc5kYXySQ6iq2VufLgZYpEgjxhY1dOIqocfXNAcXyeSRo+z59EuNBVAP6iJvlBv3m+ZQAs4+HUzlbkIkGFWRfQi+5aNix2oQGwVQJFwMI+WhypvlLSE2+bRQBTQ5Y8GlnrOxx8IZaYqJZx9YnDjoDhuBXrF4ixYRxMBp+OmBlWobBA10cVhgTYH+uQ9HFtO9fsNblXo16FHdc0jg0nCiZA1fCuuVUgaYGsRIHvmaeEpDur7Nr4v6J3elZyH2Dhrc93pEe9gbkvRwLYZsgO5wyeJHg50hxjPJ/YKzQSLUd6aAFOKIAkUq028CA17ly9JCWOd8/6oFRzoOhcPLnuf/bTRobPJmfn+iFZ+Z3c2GI+Hy62EFUD7ue4U74RaFSGFn5JOeeKB7ZSZESjX4DQvJ2evW4TewsuSyBwXHy8wGzEN0Z0pAc0A5SGF+X7Esp4UtAQVCBFg3gM5c/AB8zC3JC7oET4ZHhXew4AJWqT71VfhLVwTSqXGAtxm79B77tgokgIGjBBaAO/IV8HWfBF4/EJgildWAxoChnHVQ9qpFMAIvE3GWO1EIpzvyrxBHjOF6aRHfB5QvS6kAIvERkbQyQp4iMj4uQyOALsdCfbX4T1y7qCLQE1PledD2ASNAM/mjVVOKENggP5HDzGIj/IIReAuMz9mdbBq7mCOFtwJl82iZyY8L5Zl8xkGN+QFXunACieFuRCbVn7k4kgYyIVfal/L4SWZwzuA3DBOgFj8Me5J70uqQrcAHg7oeHd+WQ40hGTrcc/mjJDdYUNrb35yL0lQLq5OItmSsBU+3aAA/kXcNUcQH8lfhD0FeTlRpiwnAvjBfwl5s3WGeDIXYKm8v7W/AIlzjiNU3YHZbX5hefz7GxVlNj8Cq6Rz5ImsJraB4AQ+c0HFq2wAyZbygDOzROAMst5siycenQDMFVLlbT3wkdiv3nxjI1+CG1CGu3htlvY8fKpKhD0yvwl8TkbaQ9MviWh4cuJ4jVF4kA9KPeY8OJHuv3Sz3mPDk+6YwjdRAx9T1da3vKugEkM4sWNCiBExsLNlWskc5f59fc4Ahx9LbahdIL7wqr8xg4a0D8DsnrcjgpCMVYA5KytxD+kvz5gVia27cKOX+SOc8+Qr1jhAWEVOeMP8HJiISCSeoCFMNbFI7An2cStwt/mfxIzqQw0ukY2tTEA49CCepPrUjrUfmde3murN+XAo8lx0SjyKOxz1Nw6CP8LQFdFCFNDRZxY0DAMN1gNgL6KHS5l/Tg0CXtw6sMybRKBEeybTwhxmRtUZR5+At/6aHgZQZL9ogwkwTik8eKfaRRKAQtR5RAtl1nqPcU+yiivtZ3rESBRoo7II5o91YaE8FYBFLwTBAmQKjFEQ1NiBHkCjMxVvhbDHGn3MUVYCMKuG9ybFHZBF8MdFwniZDvwojEpnx30MH4D4IbrCV5T5DOQQOrwp5M2Xzk9mO8I7qIh4TxZC9RLcC460lKjLwlmQIARql7xcJO+YN4e/+MvCyHSlBC18J6QG3I1t9G0ED6B9aIflYAED7h8OpSsGecAEUYnqFr5viBwP3UmLacC5suDtHBnr3IOBSjoRvw0MAQBEE5C14Av4Ve09MNyc7d+G1TI3wumQLwK5hYgdVKOTX4ENA96hf+hqR0gDCjMr4FQsTy/A8ax9PnnQTUx5fgYrhkCKuQkWrNJgRp9aESAjO9WNXMpXI5xV+AQZcKBEJ4MtPhjs9sRlo8OgKO8Mpl6nfCNsju/LY1k6fHf5COxoCiAjLJWC6IJ0+thsA/k0gty4Yv4PBg8SBkqG5cLY0JpVOf5YZ9CcAWbCOoN84sM+169NKpuaAleZnEG4qr1A3BACq2f6AhUhF41S8yBF2GGd+Yo4Wc+0NgKB56CBykNsCq4FPfzo/gRwl6ea9QRj0ZAjefg4sCjTPy88H4/vzXqCIyM4kdz09P5ZoLEnRJ/LdQFq8ADEFgLBHBvgNY5lvwSAwZKwIHnu9UOkG44Q0FOqhrsIl/J1BTw8lgRxnDwaAgOHl1mBkdruFKSwHmJJBzeM7YYcZul94iCe2H1YYkkYPROjxlqJSCPD0XE8M4QUgjV/kthCebkmC7MFQK5/9aLZDN+bt0KM+zpY30mYaWPuYEHJLu+6teWSRPJJCRWpFHegQc1hBQa3CoD0IeIRfsAWwXomOxYK70ps8ZsJp+GBOFBJpXgcTO2H4gsltCJtkJT3EVIoJNRZl40EShF2C0i5P2AGnkuYFe7vTQi3gFSROMl40CpDPrc8MkClyCJbwAQwaBjQbpAoeA69Ys3M9sHK7Oy+0tzYaDOuC80GbKBVhsNBeiDeXwawvTAYMF3TyxbnMUDMeKD8OYxE3cL8iBpKigl+CmWwRvCxbl8jIHBYMYz+h0thBwWUJ07BfABCCFNbhH9b9grxoKCTReBAGsCVAH6MyrJrwkmgQkDvr4+PEHwFGIr8FiGRQbnhsCpBRe3WtQGdJxNDBgvweRnSXwgrdh//h3yNq4M7YcdJogdd8Qm2FwKXlcwdAujh9FF3yN7yZqPdSBfuiL1Yk0CyLnTrcHedFyqf5TbwPiVRc1cQAkLpbANXyYDq70/8FwCjIjBRfHyZH7owUZwEKf9bDgtLlLBCtSFPZ4j5FSjMw0gak3K+b98oNampIkhZvcd+QxkLPNbYqxEhUq8ZTwPtzRr4Y2DnIOZ02hR5+xL+lSa1SufMkpaIY/oWIUqbDfeE2vUQOqPNqrCwSHLsI9cvzxwbwm2DKWMlNj/QmlwZ89erlBEAasEisu+Ri3gj7h99ihgfAojLAP7hy3j9oFsxDfEyxkhnAOAbr8C8hTS4VlQwdNaCQ6QpVuB2vaDmHQSmXCnOGZ1nGQbqwZxhn9ERWCmsA+QarQkZInEkz3DFQPO4UnWzm8Z7jWWC3hlawbO41eJ/zllL1jeF/sLg21sSI3ihqzR1m1ceKw0PB7FGJaF/6asSYm+5YiUFr55RtTAxfD5UqTh1Bx0fwmGHhcBgQseisQ63KKqMcQeLEO2dAF+CAwlyKuGwk6FLQhQ9FAn1qeQaaMcUUrDboW7jnK+c9ICmAD0dlpGhwHuSSSHWop4BjTWCsYB2kbrIAmWXXybEGAwsXemnsT6AxNchj7R2ABMHYnTZZpAJKbEhREhWZOkAeIvsBWbBsjI2eJbABA+KzCgPjs2KMrDBMxQFQsA/ayjFK8IDKIUKMBMAXmG4oBEoELAEjQyKz6t7s2JhVoewyzW7NieUFfsNlvkLAFyuLMLFEFswoc1sBwqwIDsB0w7DfPn4JloLPgk2AXmGCwsYMKNiYk2GnEfrBwuDIsMEUtksjWwmZZhH3XGbIITGhc70sGAbQoV1lb0hOMdUTZRCqEGyQuGQAH2euJTzitLJrBOzwD/5lIdxYizHKvUC5UzRoFfgnzHCuBeYWggQEEaxyUFSOwpHFKdC8H0+sKSnQMWAFkPzLArq3sKqRBSsCOYQehOHYeo9lQ7WamnBX/wJkEBXUmqESHN9Vo7CzV4/BzAo5zvQL7s/qZtgvr1SRDFyDkoL69LrYgIhRrhjtVYoCm3BYQTPA9TY1pAJNnqCcIZlbD7KBDGHn4OiQZTUmjhf1AecDpDnZQTaEBVFy7AB9CzVqKYZzQXvAEsj6UFJEM8wUFhwlEatggZjpzgKHL9pQGgG4CgTJBzjaCBY2+UMPIGkiAM8Zd8yzA7tw3jkSOlJYctkrYQDCi6emVoG4OfrooY+2ZB5FEcmk6jm9Iqwg3JgUM6HH1HkGfCsgICglkJDcmCtzhfCjUg3JhiOFnSCv8R8krr5BGBOtCcfjV0L3iDIODAhmgXMnxFIr4NCDILcsVhGKpK3OEhgYUFPX85lk2tWwGTqEPkm4GSquCKgtMQKzvfdoCFgCxYxVLblg7I8kom0sWL7YIpwUMPokU6nMj7pBVq25eel6AiQgEjAXl1LO+uk0XA5pyCANhHEfhYiS0AXBFU9EfBD4wkz+tujEeQWCKwQYWDTo7IZ9OailLlT5bEDVoRJAsk5Wz1ienZ3ywuVo0kh22USIJgGjR2iUCxw1QAX8sdHZ4EO9trp/I22QCtP5ZGfyMdid/UpWz/joFYXf1ifiSScx25Vt7P6QGAjhFH44B+Ln8+yo6YHZtrgrXMOT8sU/GhK3a8VBbYapzX8gv4eM2CYN7bML+yG99ZBuIsi/npvUO2MD9KoTGZ3r8W3fXhWRm947bpfxCJOErdvxxitokWHL2qJP7/IAsAczC7bVBGkVnt4wu2/BUgkV3blOzvqVer+hi9gHZKvhz/pEYeu2hisNnadf04Yc/uCxW5Ct+v7922wIA/fBxWVy8B7YTf2fTiPbZr+eBd7s6+KyF/jr/f3RrnZ08AM/3W/hPbGfAAyL3AUYrxv8Qz/Q7+1DTH/Gnf0Xtq/4xB+IfjWTapPySfmw06+26j9NAHhBEqVvJ/KF+bbAs/KEIH8fm0rZpWhCBWlaWPCUdoJwCvWqgAbAEv226EJ/LRwBKKcLFCyIpP2UErCZWkiKFYCnItmVhcrYoOltcllYcv2KfGSvVp+GyscTbihJ2VoDspF+mJBc1bRSkc6Qp/HZWsADLlZzNzU9hAEoBuUlA1PbLkmeVvhgbvQGXi90gfK2JtrnaYi2bYTBLAs/mwMTGnTDJ89tQVYpjIhVnCrKFW4acq06Qqyq7jfUyFWKQDpW6QJxpRcw3P9ouDhcPZQqzDGWyiyFWBWxqym1JJxVo9wbXwo6wq9Bwq3CqoKi5u4TdttfEflMEoAqrO7geXhGRIstM8cR1Ylb4X183vHlXHrNlKrYdWRUjAtaoGlLcaI5YMWKXgPDipqycFIm3dTpIatN0AS1J3buD419wxw8j4CBeOvFmIbGURBKsynifW088QygMtwgXi9x6b2BrOCk4zie0vJcgiXsA+eFagJdWxKgjflS9z8tu+dYi2jDhGgUhq2vYdw4L+A4Vs6HB8POdRcvcwxxTPznUVN3Pg9mw89NFInTBVaMPKN7gJIPy2qx4M8mOaL7qBUgI35D0dr4irogGwOraMD219seQWYv0tsdPYEewVocu1bvSxHsHG81tWhkRnbC1vIqtnQCnOwjbyKrZcLI8eKnUw5ax9TCTQtwPDSMuC+nBgHtZIlI9zVJJectVCf/ztAwl1L69kACixwp2jV0VV1KcmI1bPhMOmikHin9Vu2azQZd54aREAUYMDgUWqhRRZZ6LmKEhmhgadPmdBRi6L0mkU6kM4fW3bJphFRcmmTou7oJe8wdFY6Ke054UO/RQZrJnAF/grlAj/NKuYNbOppmGlGtGtorG+LhrWrRY1sqFmYaRHNjerHAe0GsIRDHSxG7mBrMM2HtiMNZv1xvNrw08PpDVsbzY9wO/ePg4x3aroLADy/qxWaLg4u9Wf5DMHFquAPrt6o8AZz6sYNap2J/RVAw9VxdDSENaQOL9qQA4gshYDiUNaQYusKB7E9vpv9jBbHLgsAxZRrNoxNvS+NFimwUiePQS95skt0MWwsITRuk/N9FhnDmeTA9ILoHu8+1GKSykGB84MRjK97YNwcCjyKS5LJ0aQ2QufCzUz90XVfW30A3QRJQw+tzMVFLOtHoec4zFSrxJd5rewCpOec+dFvGLVGReXPHRQ9HdTFtFtfMXFmxUxcsxB429OJ0MVBPDcxcxrVge8sBYZH+gRe6T9QRGRdEEo3k6goDqYJioN56fyQWApk15oGI4cagBxSssV5mBz+SLfXfac2xA+kOXPVyXao2AQtyAI5likxKdGwUxhpiWTsNZu3IxKAz8gjWJoKmEBU+GXoHyKeB5ZDgd7mK3VeCOg4Fu5fWKIHlkOG16WKbc+5AWBG9B9YqdOUwqO+5NtQH7kuoDLRXRrSewhlpVARLYtL7siHfi6o2BP/ahRjkkcybVJJubAMGhc0xPIGI4LzYVSMoVSZpCrYLa88dcv8jLsVAUJNJN/POykrrzuNEj5L3NBsPOZRp5DE2CZXNMOV+YMeJcvYfGjKGBDeX9ii8xmGwRr7ZbxMuZbeJ927/tApb1jw50Lf7OG4TDzMxAIB2jbgx8oFME3hBnxi33IMN+YW/2FMKe2DZCNFqP+EXHFYYiZUG8vLK1GroISk8rhrHl52FkPnyAxNgLF9tQGyICt2LG3Hp5poSjzBP1KEiHHUk/wjbyIL7J1M5xSDI43BEKBM6mQyIBQIdXewOv0il4AF1MhkUXU/swJEczA4wNOlxS7I7tATVysuAcGJUTHuizvaBNRbe5CWAYMariotg96JK/Cy4qVxdioN4xiuLqMBTnJwvOk0g1mDvzkJhi4pFQO+i63FaiA1zHc4q3ucbhPChTuKBsCMHLJ4OziggpImz0TEUa1kwHpc125ijTnbke3J3kF7ctIc2kyFL666IYocxi0x5/tzryGGPN3QIMguSgujzDrnfwGTxSKUysw0Vi8B6qPOLuRjE5DGqdzA+6rVyoujdi5rA15DB94PYrUofGfPDkmdyptF/AqyaPm8n3uEjz/pF3XLgoaAIs5W7tzSEVX4NOucuQqssMGCqvlYUIogeti0pp8Ijz5GlfLXMZbAoO569gyT7Mll5QJk0qKIblyKbjoKKiiNecvXFTIi0hznnL1xfV8KKIQVytcVr4snqZnirV8DoxtzkX5JneW16BzFkiAr+DCgv3xUwUwtAZ3Az8U34qJYD6fa/FbKAInk78LcHi/iyMFR+LFDiQYF0TvfwkYR5yAKQSz8PK4GXk9R4iXw86Jw4A3QIUCi18poDIDA5NCIGWgYwleASAHZAavHgrquvTBgTlDQLgfmzG2Yei4B2IVzHaB7oplvLE0kpR+TTsTENlOIJe8nWGuGgzsAWF20yaTbgV9Fs+8zuB0EpKaayTUgFcRTMq6mNNYJe4rOHANCiqmk81z4uVTQrtFxM9yPqJqgShXQ7MjQe0dcUB7hxWvA1nWg0usB1XggPj2jlWiuh2xDyP5GkPJIzg9HVQlMSsiUFBhwV1tH8yB22GiKPqz3P0JeKGHZ6M5z9CUpor3OavcyB28aLTJmIPNPNlw84fc/WL7CXq9Px/MNimZOjDzHCXGvJmTpNi/H8TpylgiFFMcJX4SgnI2qzE1HBtw7GeGqSewEGRUwW+Er7GYfcJPp/9zhCq0gk8JbtvbKQr+L4fxuEvQNpWcxwlsDyoDYBgp68HYS4oeHDzCORWEv2HsSKUwl15zdIn/FJK/lIbeyBhhLJ7km1IUSiPcv/WhnCFGibbOVVh1gu7pUJTy24PjKRtO07FAIDsjHOR+FVd+PwSlZqV39/tY5D06otiY4gFoLDrYklGxfwdk1S/JOAK72Ho0CWJWz03vJ2/xMAXcwR0xelqSHpPIdzznRqlh6VD0kzF5sEa+FY9PPxfrONnp1mLT26WfzOJYrrCHAW2S9iWAeHuJQUssgQEutXwwFkLB6V5cghEf3z/qjxD1mRG5o/7pz/zAIbfdO8+PrMCGRIJLr/Cka0u6VMSsEEgQiJ5x94vL8Irg6YGQmKwQRLV2RJeli2nS/PBg4l+1PTyKLgs4+HGKBrAC4O7IlBgMgF7OCehAJxN0SWSSw75sdirPhbITWhlRigaw1mKHoVWfG9haudWNFgtxN8mGgTwxYSS444q50ICH6DJTsZfUdV5mJLdo6bByXcJfk0hGcnij3C35OX+XJ4sUe2Jjp/ngYq6JlCSmz5faLDMy64LFKUOir/4PsTxGrFNM6tgHEpCGo1g3Jl3Q2YkHJUwugBZDf/npNLkgIT0rAFa6LcMwgApQBdcS4fWu8S90WrQxv+WfPBHpNfCXSVFsAOJcgC4glqALt3nkEpB6a4Cp+JAILH1zasLwBXJUlPBSny4rYf4Js+XwslAIcpL4yVUAsLwTx89ZOmXgb8GlIiVJa8uQHFIl4g8WBFl+xXmSzAINeSHg7r1Mt+cxioUl+9Sl8Fe8GtWVHc1+E6Bg+SVlsNOTLtIx9GGjBhCpg8LvQE8bVogb9yjiSEVOyEcwSJ42p1CET5oKlJIUFkMJJTQcPo5S+GIeYYMLsZvLTwvkiDz2+OB03UlfpdQKqpJPjJQNPQTw/4LdQI1yD1nplnJXwZ2pY1nM8VSxQeSmQFuwdYUB+1Oizi3Vd6MDeKOtS2AukoeIESPmegLfkgPYqCzh1w58lwxtoakW8HMBebUywFKjyz9qbksQOJ+zP15I/wjAWzcLLJboC/4OWBjJh6JFzxNq2efeph6tN8ot4KPJSGSmHQhFTL6leIjDqQSoCMlEVBqEn6tLkoBDkF+pmD5wSV8vmbeWXC3E+VJpj6kB9AnRWlnYP49kTRWonMCR7rekS85aWci6lAShIjmQAmBpbFLQtAcUr1nnICffheo5kKmyvMXeZ+6Y9FeJE90Uutkr8DxSuE2emLGQVl1PRwPRQlil6TSrPQO/JopYxSiqZd+KFtQVK0veSRSyilXTYKAUqyw/qSeQGgFZ4ZNGklpjLaiVoqoYAmLboFB4p21LVo6ylltcFdCIUvuztFsCEQcFLh7Y+ESAobQVN2p3+J7yFeUpGacbsRo5h0YoHGKz1vTtYCn5O2I87QKvkN6VjhiqEOM+SMV7wxOMBQ9iut8FZLPgTH1NnxMeQ26kH2L4qX/B3PJTyUs8YFpKb1QTZ3ypf6wwqlIy8zKUXcP3kUqbJZBupKRAUYrwCQN/CxEo+BylGk8hBs+cwosleb+zWqWyyAmXnHgcL5wo8glYCfJziG0SqoYA1KMMByNPbUAaw8UqOps+vCmgXSQLKbKaRA5LF16lFK/Rpo09LAd9yIiyFkG8Jfr04xpG1LW7YeEsNAu+vZEpg2L9qVN3PsJb1i/alkvTtFY2EtXOjYS7RWDXz5OFpouAdu+vGr5WaLHqXpaAoRqmgLn5yDRtxBusIHcKN7ae0d0NB86ClI0JTeGLQlWchHRkdnKMXuQ843C8vcy7b4dTz1hZnImQJSsGpRqhIWzmWjOGlKvyT97Aezhpe8czfeaBj3rytYCSOJA7Pag5XCbfaqWI6DrYsggCklgJZ4JoDIERWSeawhgwMNkEAQUcd4ShuATZ8yGllyH4pWQ0rFW41Mthnht2Q4dEVNQpRxRSEU5wN3Tr5QD3WFlIEZZJKxngMefNSOdfQb96vCM33jyMzkm3YJTs5YvKNIKsrbl58NKlHZg0rhpQyICzOOtK2hEc0pztj08xI4B2c0eGviiCogdnTvhr4oJ05G0uQuiV4K6BihTWLpYUEwacU86WlrtKnqbb/OAzlhQJ6mIaTZ7af4BCSosnVmli64Zk7R2Hl1v7zZEpNNLPaVlo2GKRTSp38cmARl54qAfBeaEQLWX1L7dYWSj4EJjS3z5R+tePir7xZqUmWNtgnF5q5k9JGX8YXbXm5+oTBVQm0uHBQoSqulIy8DaVRQR/SdrS00JGRiT+Z4z2KGfVfBmuH5sfMCxmNChYcvJtwOqhbxhvNNbtmBoPA2rYh/KUcQuPxV3bdaJEVyNzngn3Z1oFckzF4J85IVhDxmVpeczy5Py8ee65WMNzg3vQXuNbBlxSbL080dBzey5WypG3l7YlHxdQ0p+p64wn8ErDERkcZchEl9LDVXD8G28+a/Xc8gcSjaS776zkKv+c3nQEZS1WCVWICKP4sgCl16B+9Y2yBVccYEdpgqtzlQRL11eXmSY/D5N9dXVAjINggskgd0p9QhrwWX9HOWcYEWKg96hrsRYkkcKpq8BuqUTgP6kPkEoYXFFCsgLBspaAJ61ghF2MoJUO2gKDGl20j+GMnYkxniBZ/gcHPJuYHgDIEDuBo4pWpxFpSHS6lW6ktw6WX/N4ZfVfQHW6qcq8Xb4iXruEQA/R0RVz97KtnVpQrDYNutmK5GVRAjnFjzS5ml6BsVfkKwyUPksPNAQwoLAzCTDz9yQtIGACJkg/fi0ANppc9oqy2ghhsaXaMqstkFE9Gl1rwcbaORGgJcoyzLwutLbMXOMugJcnQTGpYiLZ+Ey2HR6SeQcjm8qhQGD/a1GuIvw414DvwgCWT0ut+NPS1cI+5y8vgbotRSEFc82C7FKRzFvEragAWQ06O15ymvwPR1Ojm5czJleLyb5BHVKsBlFEDcx2aJfNGtNR3MTf8J+pSKC0hmhaI8iJVSr/46FKzSzA4oVTgpS1ckRatZxAVinPyV/8GeRpdzDq4LWwYaSkuEfJAihdamV0QexUMyvLRIzLhrZXRinqchjKKlmwyrAXPsxEBFSwZ0FtSyFragUv/PFHisZlbYLBe4bvHNOSY8xrWoJL2mUtgPiqWbgdIRXrxxB7oUo9LPfkxQMiMjog6bVPyzB+YxJIqBgjSUDtMCDi7gBnW2iBejEtwDI2KtU9gBb9EbJZ++CwJGhfQEgjQzpD7qmNXPr54cqpMQdihEEID2tu7zSCC/cBwznZokBIOkI/y+JQyZ0xl+J0MafIP3wHh8pTF3yxath4fZUxd8sjSUmDIQMW24x/48BBlBG8GKNJdjOcA2wwhnrairnIhRzyFGgBlSaoUN1WoIK2CdEIIlwdZHmrnvbgwo+/RRkzA1Yi4DTMYbnQLuEyFyuAuKMpXrAaO6Qg8iLukO/G+gJvI4UgaHgsUm8XLMMejbCBQ35ykS7s/Gp5lwbf/RDvw4lH4Kj1ZfnbJ+lZiSHcCRKOlQFEbTdg8qCVdFgrLnbm6cNHWhFU3tZv/DiUYRVbf4eE84lEYEBKNsW4VCpCvMdDDhJJkYH4tbjgmiTMtZL7R1UqFS9SGOqk88W/a2y+T4iSNliAoHQUSNJLkVPi0DW8/A7sVT4qQhWY47/RDRBE3AGelniRrorKlFjgB6UB6hx8EUKLS54PxwB4/r0Zvt8QQ8lLVAjLmQMXvpT+kMy59Wcc/kcLLPpZQolJkhTSWILH0uIxO+i/el3DhMmnLigXxQbkOTRnO8pvmIxKYDivS9rF8izfLkmYu4VA2QmK55xLwrkSsQiZeRGGd587KD8WeO3npdBQGdlpMTl6V+XPrSGvSuPYXlyPyiOaIHZcLcvLOe9KIgj6oHR7kfS4ploFRT6VPFTbZRwUWGRV9LlsVt8Sk0REge+lVNi0ZHaXMPJV+y5egP7LS+4hSKLZbugEU4s8jsVAEFL//gEovKoNeKV5DAXJyFLGrZ9EazKe6QmAuyxAo8uNlP5KikBeTKjZWvrbLEKjzw2U3ZPVADfjA2WsexYOU5KNnmSRyoKZ72iw7mwYhTsRDGWGJpXzFvCmJS4EPN81LFeyYw8WwoG/ZXuLIPFrzpb6X2emfyU+y0qxUHgCCmcxOQaqacdNw46Q78YmXBrxeey6KGK8LDMAi4tr9kng4+wB7Kv06aFJT0aJy+GJ1iAge5c0zfrlFc1dl3IhW6mLstqdDtE4K5c7KDOVq4qZ/AFcqOWSuKx2U6cqhHtC8acxSaYLcVUmkm0d5gBa5IMSNOXMgrXMUPmH+p7bLetFicoH+XuYpHRcdSa2W5WJ4bkq8CtlHAM3MaU9wrZdeY+XBAjxUOBxXWY5QlymuRV6B0MUpsq94ClLMO5jQpE2UNX2VBWxyKTRY4hgoU6gzDZba1I2qbmA2xHkNz1IA1rAuwzTSUV5avCJFCU6Wil47QGtb7oDQQISrBauKN1AEQ6lLqQKCosSi9ozWOwo3T0nnGbLUumdjvYXJmy24avmcblUQI2g7eqOG5daraHABfsQTb5+0GNr1Y/upkhL5TYdGNwpX6XQrWODdtUWH6lx8UebQMwZozVvg4W0AgZhVRK5lGtB1BUm2sbKZQ9b2bMB7U4tcq65U1ynVeElBWuWrIGaaYmcDTxJlQa4GINJ5oAWrKrg/FtVyBU+P2qFr4HE2OMgeraLcrJNkAo/tWwVgyTajkBVsVsvWW2HVj+1akSzTTspvfS2Gbib6kIspa9hqi6rw53KKbbXdMOzq84zPJsl9Qjb/eNZcWrwEo2E5A6hmKWzaNhV8PGh/asYzzS/CXVvZCOy2aIh93itoAa2p6rVkl6tthLYGAl55UzbBW20vwsDjMeNY7CzysTxvXLBvCyJDo8V3gRKFbAgEvCbeOeUTB4JauE6saBC5CP6JUCY86qoqtPfgE8vVtq1fGrI5WBCeWeNyx0CHoPTAgx8006W0JpKoh4z9OB/i3rY8u0hNtAgFxxDuBhjZ6kEwfjN4hau4PKKVYX5HqQODy32+YvLrsAVK0pEAWrHtQPBscCAhqHyIPzy5O2t/Bs3Ea2zEJRJQXmqM4gfl6Dh3BtohksQlgWA3rZJeG8XkSwzbxO9tbM6vKwVZDLgWJeL4CleV2oDjttCAkhIs3in94CKwW8RywOO2vKta+WZfyFGMq0PO2W3jUkXX0E28Rkisu2WSLDvF0Mpw+d1ki4xoDKYERKvnauld46EpjdszrpgkglnrQcb3lKiAdbmYMXqRaI5Eb+TSLnFZL8sm/j8nPfxS/LZv7jKzjmYKrMtFQyLnvYLy0GRXKvYZFhjidv4T2ziVne4yZFaOU57bg+LO/lpS5e2e9s94zb20zcMOrfe2L/KN7b++MlsQybHdFXNpA+VJK3y8R20S+2RXjVXYx+PyaWciwp2i8hCV6v2xMdgonNr4DNKAv4AO3cMaHSkWFYjtgECybygdiY7WB2+xTp2BiOwr8R+bOawWAqoki2FKS/tQ7D+wbjgboxNnnbaPdkoh2IfhqnbUCs78UZvT7gUrtjnb5WEodlPocPApALyZ6fOMYdnpk+B8dX9J/EzrJYVpNQY9QMDt8BVOZ3a/tH44Ek0GwYHkcl0EdrVglC2F4IsBXICo8RdN/ah2d9BmoFPyxfAVgEqoJOD8IyDxywtaJTIWFFt8tiSoJ+JyiUrnS+It/i0SB36HzhFiYSoJ9UIdHYdZ0qCSogeawiyiokXc4D3Dosox9gcSLHTmOCtoQKqrWlZWod7wQ5fyAMDUXJwV9X8UsDI1ymkRKENK5satSaxCMBiFWJnOp2QGTRrYjajf7iTnVkcaQqU/ZcPCV8DEKyxGRtt4EABCpTFD8gRHOIodyFaQ6GSFWPY+JWCdTA/bpECn0NsjLKplWcQ87FIuWiPjnTd4mdsQFDZejAViN7GpFzjAwFb+vH8VhXzYwOn+IYH5TIA8sAA6VfkW981XF252/IKhcc+QB3hfq7yRi3vthMaJOILos9D+K2GIIh7TPQwd9JAW7DK5gb8A4++LtLVbavKDbvpjnNxwQl5b7hb3y0oJrbWmu5yLdkHt11VtruBSu+4FyvA7NPGa/lOccUOWzscv6/UDD/jM7XWALP8PDTjSyydrlAZr+jLoavgnT3d5WX/HB+j08h/6kPxunqIc/JWpD8qH4m8HBAYo2cIFe4DDnp9/z6JWXPP3edt8dHZKDzbeMSAm3ewzseH5k+2CvtHvGEBUWh3Q7NnBmfsVKa6u2e8qQFSP3d9gXvOR+9tCK867O1RACo/K0+289Slaf4lJjvvPHR+lwSwD4GPxMqFyQ7C+DMddEVMx2QPpjC7/+xGd4D4sBEcfnKK+x+sCsbNhDhwFjn4AyABy+dEXauP0VITLKYg+OoqS6HCyj8fpyKwhAxAQ1w7B3xwAX1w/ku7jsyAEHiNgXgPoSJ+J4jZoxbKDkfhH41suvJADn652mlLkIfLJ+D9pcDCICjyfhwAgp+BJ9TS5BiuI1gAXdlAJwC3hb0LxUPjw/CQBgk9chUyAJgLspPZ2+9dAA47YR3QVj9/T8OI29QRWBUOMnt8K0KhQd8277Q/3Mnjn/BH+tccQ9C3pFmEQwXC72wD8zQSPFW4jnWKh72dLsKSAmIpcjIvbPO+LAy8+jk/0kjv9sv++NP9hy53CvxuJSvGu+OX8q76beyXjhMirn+nd883bbf0XYTOKxhW7d8TI6xT37vv1QkI+uDAiFaTNNudmlPK4V098sp7mFyXvhCI/cV8m97FbTUPsLr5HY++dj98Cmrf1dUIF0tI+YUc7f4o3KATu7fE++67tmp67iq2nh4+SQgMD9G0mBVSOdqdIBn+WpLEAaEKm6RQSoMnlwErAcUWND+IBDHJgFPzt7TFK53QGKpQwjkqRzQnbtFMHCMzgeBW9KAkQmVoCtOcI/UJZ9IQ7RCBa0rmFsAjkYdiBUPgCTH5dhdcupOishkPY+fFDwPnvJz++oYFH47OwhKQcE0clxYcjpH/BJJjlo/NyxkYRWSGvx2pjjcEsUVLzsJRWRhD5ITiXGUVfEqrxU2PxeCUqKg0oYLsgXY/BJllC4/XEIM4i9RXaiuBCSi7ekux/hwQmGivZLuFbaEJOPhzRXUu1cTmE/Rz2SITyXZ7h3Cfu6rNOQToqgmTlIE50AV+Kc+gPssF6KqDZdt6K5/OrIRE7YPh0DFfsMb2OjpcAziTOzDIQ0/Sre3TtGQlKTydvtQKtk26YqZvbqCsYYPN7CSQDsj22jlIS+Klt7MwVBrtNvalxxNdp06MO+ZZcLWixtyjvqtvaPx1AT475bby9dosIzbe7cdypVRsDpdnsof12BejNY6iRyjdoVQ44qHlA9Tbh+IIth5PQq+qgTthZdSpTdgm7KQ+k4qFAmzsJ+3tEEgt2+UcVy6cBD3gga00xIoO9NAlbsIrdsPfBt223NtxUT3w8CQufKn2VgTzAkz32vLmO7baVWU9R3ZbSo3vjh4wd2KIjd76OBPl4k+K5d2cvjLpWn33F9tl4+Xin4rQMTfipPdge7BX2vewppV6RBDQM/fXIuCQTA/7I33F3uEE2IJwEroK4JBP5EXGHBXefbFUgk6O2+wHZwylYERww/ZAiG10JWxSDeFYo4aD+u3kIO6HJtgHAre/zmSFQlWJ7MlYEH8xK5OqyWHJyHfCVlKt4oQ8JxIlUzEZ5+SVchbEhGlLOe5XaJQ+KL4pSs4Bkfhs7ElWzErZ57lXXDKozvMj2hviRVlkayOdmCXNT2LGBIS4lhwM9oHQw2U2j8pfFCiuA5oJKkqetwT+PbQHx49lJww92Fj83xIj3O3FQ/PTWV0kr+w5S+KUlR/PQAIeQs3akL530CDp7LSVs4cHpWcKiM9iYYKfQOXj/F5bhxoPqj4nTwiC9GD4uyqIAdaKt/lrQxjw5uewLVhUacrerkrIVY90IyfoqXQVWQXsiF7fuNOcPpPB2Ohji4Yi8uxPyt+41B2iXtxD4Ze1wYWtfUMViCRwxUcLynOAt4zLQxLtYxVFeye4WN7HQ+j1tEh7aH1ZUMx4nTAjpcDcBieMzEBrfCreuQqEzFte25AZj4p4qinibb61b3DSP17VreFShUeUpKLdLimKlyozQjLj4tqKhTG0kggUe2Ty8xj4ELLgmbDb2RYrUzb/4vTlHlK9b2TZLo76BuJDONWwyqVbEd/fYVSprFanfXeVNUqg3Z5PE+9qAQRqV+d9qvpfewgXhYUaJas3TUvZyRxB9r1K8cuJKjpKwTitkLuj7EaVC4qkfbzip/noDvI32LIiZw5zQIXsYSgBQuSU9sVF7sMXAnDvfn2V0qkd45Exp9jfHXaV5sR4FVFT18jvVESE4ZU9iSBoKrOlfeKpP2ZPs7pVRR1pUXuK66R4CdzYgB+Cvvh1PHIm1Ag777i1Jq5fms5G+6WB7rFhYnQZYo/W921X0ReCVzypDpDi2Kx5BCzE6VvM1JGwYMxOXa5udBqhwejhOMDeFIwcsfl6ir7wCU7D6ObLKu5CR5xbIsb6ce2w/tgm43XKqeMKHbwV6kdpSAXT3TfrHIx2VfwrV04DX3cUfE7Bx5RirtTacVx8hOrI7cQuMcSFBRBwxLhMM7UBczwhL6NXxtpVrfGS+WOc8cifaDTBcZfNpAYLKKWWRhx2IKgy+AghHThH6p0FtEY0cNe2b7tkRkFLmgxd+7bTgyF0EvYyhzkTshdcEpAedRSVtCNySBP7C7mbQj0RCKQlOjuKoe2lvfAug4SGKESGrIQRVF3CtDldB0kVcPCaRVzTtZFXiNW6QAyHMp5F3CdlAlOwulkp8rM+fftNFUy3m0VZn7Ko+sbzzMmhOzFpZ+zQKO4wr5eJ3Q0CjhZsGuYZVylnLWKtxvlry8Nh+nDso53qHpUPiHFxVLwBYY5An1LcfE7J5Avx9a8Duh18VaMwoq4ASqYrFPLP1oNw+fSg2fUNsEN+2RGco0IPFAHt4lUChyZoX37AUehZEkf5pKsKPkGyD7AdSrPuFSNFwKvqHApVnVEt0HFKvR+VTPERVOoc1aH6h3GpR4yREhHTt6lVErkXIKDPVkmAQJ/o5jiEdmYHvJ0OpBdVo42jybnoVsrWhPRcH8rsMO9gE0qnueoP4DUDo1x5+HZM7AEI89NlVW0OzEe5XFkViYcuZU/F0PDk3IreeEsrRw5SyqbziHQ9z5+j8HTmR0JrDirAMtZkVzpRXthysftrKokuwqY9ZU8x2ToRnQ5SVOB9s6GmyvpLpWeSmpRB99Pb50NtlWjUnL6CFtbD7BP0PDrgA/cOascOMxWStYPk3Q8UxnB9mZV5TNJ4Jt7IOV6uV/P6Je0yflPudg8/oq8wRj/Oh/IDsmOV5C87w6fiIm3oZs6H866CHPZJe3HoenKoF+oYrg6xx1Oy9o1wfYI1+SvVyBSuTKbSE4w+jT9rogO31blVRsqCOrJ8u5VWUJJPktfDglv9h6D7+OidvhhHV2+GYqAqGpsPnEQRHAKhmbD8xURUIGETNvBgZYBtb86LbzpoR2aSsuNk8/UVbyv3lbWIPDknEc9t5VSvYjunfWqVsux/ykv3M7FV2q8SORd9LyrtSoGEKOSkQu5yLKqHV33B9ipHOqhDd9Pt61UM/lb/K0KeXVCJpV/ytRYgAq5T2/4RzI5kfCXdmAq6ihW4rYd7HdNhDDAq2e+fkd9pXWFwHdgFaI8VI7sLxUBWmOlZ1U4KOcBg/45DiAuwFdK38uY1CiFVn33ijk9KwgxI2TujhnKyEiJ5wcgp4LwK96bT0g1Z3C2vOt+tNI5cPAEzurwYs43uTmcByNLeKZ14cWAYfL4A6qGEREAunalomdxS4C7p11QISFRrAPEhMGnxoSjhUCwhk2exxWZBYwBc9tSbAlyE2R3Y5Mavx8HrE00pp9tNeYiiFAOEenFx48AIN3ZB8peTp14fZVmy9AbCDHEh0OG3drY0OwkmI4myiSBw4L02JXoxzAhfFs2FZ6fCunXh4yA3N1YMT/8ZvAxXLlKWgMEweOLwQFFxmB1wQ+62UtmJLUcEdls0TgP2HAlcwuRGlCDglpAtW2kNtqCYckNfhYJXcPS4/gL0rHF+xhtDAc9N2eG2YcsoXmqLbi5MCXcLzYisQGkwJARbAJbqUc8WPwwDDudo+SGv8BGwRZwL9yuUR0mExuJESgqiB2tj9hOnJ+9Czg+bFOPU9qXH7C8JQVqlwlRWqWy4FarOpcfsHIlN9SrqWLOAKJTfUu6lZzlUHkxpyepU1q8cZ9+s3qVtauy+Qj6ClwPDBPm6DbPOZGoS+6U/fUe/AGlKxpBwItV2tfcTm7VUuKRCQMohugycB0aqoAjKT2YBZwdeoy+Ui2zq2LeDBIwy2qkXCyMGnzAUgDJuu2qMnrXwHRNuMoXPO9sZmdG28opgUBDbExjvKxAhkYKO8THXNret4NLEBIGyO4JRouCcF1hJLbgiMASdAKG7lfiB4SC3g3eKhw3IvumeBg3GSW1B1V/WWg4cmrqNjllQ6qXJbJLwuV1NkBfas/Tuk8tiql5tFCo9NDjIIOVKAFD9d6K5I6qjLuHXMdGZORRSn+s1dehAQOS2vNj1cTj2hxNu5q9XETfdC7aloFDCVdAS7ghdsJtD0Zy5IIEylB2aGB1YGDSm/5dTGLqoin11ECOKxN6NI8eTGh68Q7y2Qjj6ELA5O2qH94s6uwFGzlpElwO261NM6X93uxEcg1XVnZBvMFnINl1RwMopOM0A8qVxYEBcDTS3+2tc41dXmLJF1RbfCxOJXoRFa77NXzsas8Oex8B2J6P4VoecnbJ3Vs+cpY4iKyLeN4nZNwbAq2vxP2H+SuaUxJebMD/kpQ2h5rko4w86ZchqmmlbKatHtcERW2ZBBcHHkDVziEvNYu/yVGEEYbxu9K/IPbOtArGBClDwCtJqc1HIksDt2L3+yMXpWYrIKcgJKN6JyH8UARQfn+HkQBrEdgkr3PlXAIwIBBYTZTR0meCygY12ZfsbEAqHAMrA+7bJ24icvPEW73x8NEU+EVZTtpCDYYKTzgiKhwQLrQ7g5u72kIB7veh+oygDvCrCtDOMw4c0+FKrOnZQEHDJOZfKPOKaBAZ5CWOFsddXEa5jlxR46NFyj3m1oVogQj8PIg0ioDIEi4eJ2NGg0vhxlDvadlfFGwnFoUxEv6qhsDDkmlVWt9NQzMitkfiKISJJAJclH4O3jZVakHGlAHHTb9agl3SFu2wFQOHEqlNiQNINPmTHcdQ/EquPYnzyrMMJKjEuEor5eBSir7DriXJSEesrJVUSkLklS/PT94cqqjZVlaCUwEnoM2VKpDD3ZWypVIbbKqMErZCTMXGSptsFaK+0VAHTcKQmqq1jqqIU0hxxV6UB3fGSMI8VW1VXVSVMUKlyqRktaesFtMoQvbeXBybhk/L1VemgfVULb3xLvhsTYJBJ9AxUNYEpCdWI5H+G0Bs5Wyu0X8LvQYvYqEc41VPwGClVsfRp+wccW5VhxxjjtwQqOOXcra7DVCNDjlegbuQ/8h81Xdb1Tjgiw0eVNVwbfa4v3LVbnHBkWu29VvaYpOUIenKY05RcczJ5EFzLLtXHeKBDBcbJ5/8D9QUd7Mvmf/AP4SNlw7jmGgi4qgSrNHgjnNHVYPHfSZ1282pUzENAYA57B+VRnVgEHqR18niUawF+WirV1XQshHgV/K4IhpaCZZR/ytisLPAkHeZkd4jAJT0WlRuKx2QC8BUp5rSpSIaAnWBVZtVCp5Xl3k3jkQzHeo7sCiG0+03vmbVEohOCrZ5Co0FATr+q/o1ARc4o7lELgfh1BZ3A8Rh22Fs70p6aMYaXJURdPjAdEPgTi9K3Ah/FzoqQ0B1cMEn44CVDCr/DAD3y19mDwd0EYOhttYqv2qpWjSTo4fZV33Zl52o8fTXU6G0R59i6tT0CiQuSlcqZIJZmz/YBxYOqBaqlmjRaqWVZ1a0S8+e+lm5Uq8FkUriFSZYb9ORFLkhVfQFkYHirZLBF5UiHFMUuPqWm0b+ubFLkTVlIPTCaSQLKFabRQoV1aSJJXLnW9OpjNRc4RUuhgVjErqYfKcJKUUqpJNfRnLvJWVcILQwazHhpFXKeAiGt9NUU535NUepOLO5ttQB6oVjIDiia4TQEpquTUT0P6bEZSrUOMUKNNqKNkuDkcPSKBt7wKq5HDx3BvzijxFo2j0qWxZ2wUelSpHu9cJT+7JUtlpUm0iEePlLuZ4WmoVoFaa2ZpY1dnUKt1PHOs6hEzlEdRDNGOmoIJT0Pa2BunL6mkroqtNeHPW7RIiCi6lXQRzcDuDP8wthTaGhQQztPng7PNg3pruB54O3zQoxEGKFCZqzYE0qxOTmDgbopdIwadUoO1IIW11ZhRtQqHyCc4CWgm1S0Gu3cQeawcKIKFeWUcs1c0cPBEI4HVAnNHIGOga1qVDHTyvjOsg4s1WIzz5bYvL8rmPwIU1mWgIZF85HPpZ2a69lA5q+TWlLMigUnIgIqpSyMXpg13qDhLirn815zbsh+muUEH5cxc190iufxBXI2zO6a/eQ5xKIuaXamXZeVKFGBl2oNzmWwOQ8OuakzFJ5qQjBnmpyMNFWWXB85qvLk+50v7qtA2i2D5rPaBc/k5DkRQkc1cNcH+7nl2dIYlfPcx4wkhTUKV0HCnUy7aegA81K7ImpUrlpXJQghlcua6MxMMriynUhEI+TCojf1xsrsia0geNld+57EfljLtEVB3pzldb07412fZnniryuokLkLVCCzRroH7MyubB9SCWa2x17qEjY/JUVdZ4kJVyFNSqVJi1yldtyHfV0lNSpXf6u9+Tsq69Y24JVqHWZWhVd1ukeRC3MVdXFJ2H5q4BZH6oEWedXJPO2CiGq5I9xvNRQfWjx3udTYG9VzSjDA0k81PEDhq5kawPNWpaiauV0dmq7CUuiZYZo7h8rdTVzUfwPUtTpa5vBG1dLLU9Oyh7rtXAYQ6TSg6SPyPktSdXQXFMlrvHbDmsktYs7Ps1Nlryq46Oy7NW7XIquDAceqXcWSYBdoir6uf2rXBUk5AseTtmVaeGK4ZUAGGRHOQYheLESVqEam3y1VHvttSjO4gcCTgYKB2zPArAhgZddGt46wr/CEaPSoynbDqZ7+EENwKdHRG4UFsbR5sH2kQD/k6mMN/MM7CnR28MVBbN0e3blykASm3HlMaQDbMpvLPbaNHL8TpE7DxFgMsDDKWOEOXnWQcn46lJ5dhOZ3SMQYZFywc1rbaD8CVl2EtamKqK1q+FZ4clMCJjKHKQhY8+HazAus2tCePveKLC3a7fkCEyV9whKFDkD2IFbr0W0GECr1eFJSzYGNsFU0MwSLpA45qa+D3L3qluPwvvpC1KJK6C/PWpX1arbQhRTxzYGEoq4fdasFFP5r7ogfZw3OBUcrC2cGBFZ4XAqWgkmijFeDhLo8p3UqCVkdS61oJ1LelZ7UsxtT2qsX0+vT5yqhFI6cChtbUcyGrFsXR5RvJZoS061lNrdCVJgLzMd7rRs5PNYX/bpDzSVkzahQ4X2sfnkU2ozrBDU8A1+YQ/4DXAlvUEVagSgwSzoh7kOy5rvagHS26jc2D5IJyHNnamDA+8ZAP6lD137rreyoWCpVcR65tsvUbJ/3KbMGWrQMUz1xMuUVkPS5q9dDyUG2pXri24ZQ22FVN64XkqsyDvXNaOulL6MV4bWQHifXIQWZ9cs66BUGcoNAAxjAKTcI4D31y3SAya5+udZSYqXYYnApfban+uYdy9uIwayYuvvUtjFU69xcGv13A/qKapZu7Ww5pZaNyeNpuEUBZSDc2PT710DlnNLEuWMQRii7IcAHqnU7GV4MwhC7Vn+xj6Y2BBeetYQB3DQU2B8M07E3QPW8CKC8BLariU6bBuvuq8lXn6pjtY3PJPOxuAAG5Q4RuVVoIcSIPwrcVXYN0z3jo7BkV79dmPBvFwL3s8US8ZQBqORVMH0kwcjfM3ZbB9ChWtgmFlekLCjxa+s4DWrswp7LT7JA1d1ckS6oGvudm6AzvOKsrotp8cCoNcPnKlS3vJ754oH0wPk+XeSVGB9HwHvz2HDiLoA4ueB8Zw5aewIPkyXbSVJB8UwFJuzfofttSrwwhcm6LrhxSXLmA60Vc2NmD5uysqUCkuULBKsdPKnnlyQqvl7W1VhURH854L2DflkkbE1chq3VUx8zE6VIa+Q1eDqqF6uyKA/lZYABlHscCxBHO2NLmIfU0uvYCtJ4H+LzXjNqAW4bpc41VmynHAWYayreNj4zD5bHya3iFEZllthrevbNb35EK1vWFWLZJksWDyqybsqUDw1w29YpWDb3odZaPf4GTsg8WCzyuZrGFWXAuoRq5t6cFybVao67Qhm28bJ78MniNdvKlFg/DIGy4JGtTviY68rVLkqZJC2NyqCXMfJqVMvMrt6dn0KGUa7Bees6qGszt3HoXq9vAXePhCXt6yF0WvrUajdVv28QzgNGrXji73HKQLRrEAZ93yy2oJC9cVqCdod69GqgVRF2Coh+4qqfbtewPgceK+16rtB0nVPqux3o1vXHeLhcISSzGoIgnz7JJ1mU9nxXE7zKdQBq4ne6xrki5ZbV6IGkXASg+JUnt4eEMGni/fGXmxGsCi6AyvadY+gkGVMu8JvGLEPl3kA/RXeTyAeo7B+3XGGrvHhOJTq0FQWeEmdUX3TXe6IrT1HuUGZrJeVED2jHLR2baBCIlY8GT3u/ycULaxoIl5hDg3Z1O+BbG4mwCGpfXCYiZ2NYJAVPrEStbjiA51OZtUrU3Ov3oZF4QJAefdnlHiFWwIENQC51VWQzVaFx1sxFrvR35kQKHnWFRLmHqlgY51WMAUvCvrAudZVEmoeyojIXUlWr5hA0XbGsmN8/fj1WsRde1E4oexGrEXXtWoaJcdAbGsePBVNVr0m9HkPxAa1BPxGgVD8U02BmSqgEqiQJrXVeCdkF3zfDmLvhhoBtZO0PFD4arw81qbnWLWprblbAY06uCBatY6iRfHsfzNckiNSKVAA4mQOMZYVvgsDdp+CGwltZUjnKl1Dyy525VYHWdapgdy2ahwhBadyijuTYmb+uarqN3g7IBg1reMYUlPXhHzBpbRFZcjrMAERrq2PSOsvqELY3EC08VT3UUu91GpXMPecQB29BFFIwse/gWVelVJAQozYS83tdaNagJAXrrnXVc5ALNk66sRRLiKhAWBrxtDl5nO3waW0u6ATrz3ICEYKRRcD8cXxhsKkUaU3Dq1t3ypFGVWqTyVG6t/ghps+4GVbDDdQPHFC2CAgrXVAEHGKacAoJ1y+BHVBQWwKIEfQbMqJHgn5ag0HA4GYor92t8s2LDbbzHQMYHP5IefcV0CAh2dHoEwaxRUYyn5Z6MIazBrPJpV18MrXVUsHitaSYEcOpOsaM4kWxixQdvVyoOQcNNYiN27Ycoij5ABm9vBAduvXdRu6y3Aa7qCKBqN3lwErnV+2ajcMlHkVyO4J4vSoE6p9qaEvcy+dcjfIEIEPMRHG15w5VUvhPxB0sq2PbhFEPtTWHE+eaCrwkHKypMfmgqrTBuBrMYXhFD0wfKKo50GdZ754yqsfntSMn+eLj8v550l1/nvyLH+1dBr1Rb/2pe3mOIPCg2K91DAsGrUFM0CaJ+jB8bySBYK9lcgvBrekSA7UB0CjXnDaq+QgXy9a4hP50dVaa5HDAKpdpDUMetIXjeHWOVJC9psn+e37gb3PKMeBpcCxDl5modRnKt8ObC96HXe3H77mAQow1Sch+F6HQI4dRQ4Glx3DrjD61b2knvw6nh1Uk9LzAtbyjjiO/OHsu1SJHU7D1L5mpPEtVuk9s45e31EHvNymbe1MsANAJlQojgMLArJpYqmh66OpiNQOnHOodk9Gy7Uy3A2dmfRsVtk80jX/FXRjtbLclAhr8EHUXyrTHr2XIN24sB8x6LkEGlRXfPyepRrRxXResqNXPaQKeUU8AiGNGs3VVFPEIhC4qLR7RT0SnnNK4oWpVyId5dGqA4k2g4n2fRqdvS1TwQVVT7ZXx2Tq6fbyb0q9ajvYqebcN8nXlTxKnkU6z9VDU9KnVLGtK9ck64hV1YNluBUqLZ3icahGIgxCqPZxi0y9dfknIuQQs2uhTq1adf1kzX0PTrF55TT1TEgM6532Mht2hYjOsWnirvJmIO8AoH6cJyZiJIcDhO7E8v8IxvCGVUrGQoeJlyIRVIKENDIPqrJ2Nzszp6yhMn1WPq/BIE+qbd4Iise9Rwg1KIc+r8EgL6u6rl7vaNyzkJmH5gdwMFmXPOPOps8VAXRVlKHm3gLnVNu9654bsy7tR8HHPOXWZ8T75V1A0eCLfzZ+Vcx9VZm1Wdc/oPiW41zct5b7wl5uxojDeKyAod75tnppdbap5ucJJswUgMprdUPET/pPRqpF7MaMacCLwZDgeyYVAXnRHpTkNmFmi3DBaLUJ9ynkQgPTV1FUykIWkDx85VlCykUOsAu+Z73OU+Anc6u6dWthYC6aFYdFo8AgevqhGu5bksfeIUEIbuMxBMO6WNkYqgtze7pL3gmoXEL0kUKMi2nSAlA2OAii2m8EX3M31DQKRMC2L1wtdEPYpAqSBRMwrAqBaOyvasZc7chNpNEvCHsg85EkJRKrfCIPIT7vVqo2qWRLxyZOEoN1t6k0dmwDzONgXthT2FCqYrVRtVGbXB+qdOQGMnsZUKpE/Ug0vF9S/csX0S1LLlQS6uJtUr3fLVGpMfCUp+pCRR9SjlUEfqX7ZHUpj9ZY6qoYKNqoVTVasdNrVq6ZU3WLAV4pou99W1i5xpwfcPfUb8qrQsqifJJ/dtxqXXxDj8EMnepVlaLeyooCu4OG9LfGQEpsW4BhsJH9Sm63alt3yR/UYlK4EBZdI1oY5sZk7D0HPbv0wdpp0BI3Q6gy3HPmCU0uxm/rAsAUCpGRMWSN6Wx/rN94QIuplhzYCdeNx9AmCREnPgL+bQMhfs9nzan6ik0C7PLfRJGdTkC4eCuUADMkjOmYgHZYkuCBzpA7CX84M8m0DaKx8ebu3HXOVtKQr40uMhBZ2Kace9bdhgUHZ2fUO23Xd1KAaabb1t14licUxjgaKUBJA7+3QRAlTMhA3Xc/L6ZpA3lkgESPOFlgaJ4XPwsHn/zBieXEzbKZkpM5PpOfRgNUiLKz48TyQvgA0BT1Nt8hF5cBpUBRGXD2BrsDVPUtIB/hcI6yr2EOxioFSkoilfpwJqBfW9Uy79QJBsPI6itV2ZcAjVpSszgcEa1b28+UqUzzb2XlbRHToSDnq9t42TzzgTF03tVbEdmy4eev23igg8uBdLtA3DmVQmHp2Xex1PZdh477h3I+mSdQcV45qu4HPyqAQfF6vTiyjBh4Hzl1bvouXEJ1OkcdIGKoWy9W0agyBi8D8vWoJz5yEV6vvOfRrX4EDGtnvifAzHeu0qUg3nitH3nYgRr1dZqzxhCwqannz7RINdU8hVGFBsp3lvA5guh58TjUQVzONTvIf7Qs5c9kEAyraddAgqb1wEqunVNBvfvtBXaiIcu9lvWYQ1maGt65XewftMEHbevWnteVaY2AYcEH4Utj+UFNHffgeZrogXCP371TctPDQF09l/ULBvQwc96sfV7CCHd4Iio2DciKufV6RZPp4YivIKgIgv6eA+w4spA+r6dnwGjhVip8ZhAPKmteVD6ikV27ZYfW1V3vEM9Azxgm6iPIjiHJZLjsgfB1fVcwRZn1h1AepfWCwdWlmcHkh1f1UYg24uTxdB543Fw4VePasxBQ1LniiTz0+LjYgxR+89rZAiL2rqjvWM0TOddT6Pb5h3BLp4g4b1HKrfEGcfLfdR0g/A24r9qY7rtOfpX+6hmOI2pAPV95xZjtCXEkuz88H57JIKZDVB69JBL9r1RUehIexdQa7JB9lTmS40l1IPkm7cFIFSDEF40Hwy7DAvIJ+jB9GkEH51FLvA6lyVBDB4s6ZbC7jtR6+LOvSCMHVLo1jNZHK7UurHqcHX6cHVLpx6ibedKAcYFtTNyfgWIMRognrQ1Vvh2UAtfSyJuin1AP48GFjVUnIB0u6h9K5VQZ09LhXK5nVLpcBT548FHXjIg2+wQiCKHAXBtQvmGa7gNqt9p8yhhsblb9qujBNW9evYU6hU9Yp62MNxwtoy6+rhIqmgM5OOWTdXiRyBrdvmag4z1w28K1XoF1UDQZPD1B9Fz1HWgOwILlo68O+xYaDA3ryqFzlQXRuOZUrWU5vUAsDX2quguR28L0BcSA3cMvqfuO3BcfPghetgXizEoWYjKCyjWiFzGZZ46yQuYhcfHV4v0CngIoZL1a8clC6SRIinvSgm9UETqZZTC5zXQc3kyJ1S0rVPoGF2fnn0avwulTrBjWOFyq9flPVwuwxqZ74OFxe9LjvKcqTZ1lslpFyJ3qp9edBoUchVH7hsWNe+Kh8NfXqAoKkW2HiTPPHKOU6DEi4YJ3Z3gkXfY1tTrVPrPIL53viVUcNQu82nVfpmaDVGCqC4RRdV1nzet/vqRYLoNHUdXjrO8D6DdrvFXekzgJnXa704TkBg1ROO09RFJgYPyrvjrDRxFOKsnanTygwb58C6efqgoMG42z4fsQ/PDBT3raq7kP2YjW964iByKg0pj7BtDYcowVj0Pu9uq5+70FoV9PAi2t4M8NY3T2GdkxguueFIrzsCPBsPCL3wDPOwYi+/ZEAjBkvQQ6kV8PqaDKraCz3hI/IvOU9rJ54zlFntQR7JR+EmCF565il2VUUnbEeUBrSEm+oC3tW2ATiV96RX3XcqvpSopgr919zt286UhuA5mfa9YKwaBL7UWPyMwbfa4q4/kbWQ0T50h9IYk8g1VmCP7VqqsnDvekPkNv9qZMGChpe3mYY/lwoeDuS7eYIgdewaqvO5+cYHU8AkZoBwfEeO9xL/FAKgkKlbaq2LBgh9n84EFFEPmtfPJ+9iJecmWht/zmgqG0N2oc0C7l1O9FSofXPcMnrE1WVb3DDfwG2by3Ubyt4h9IbcUZKs+IUqCoVk7FIuKmF60WF5qAuDVjCM2WUVIWSOXUz5kaxALB9p4CD8Zs6KwNVe0mV6ZivBiuipRDAZOMCRvqeXcrg2ozwqCvxwRQeqMhbQLHtY0F4TNsBBdGkp4eYz0CUlRw7KMBwtV4Vp8yKBwsPXtNs7PbYE8MaoUyAixvDxYdDhUiRLfYl5Sk+vMsy32YNwHD4U2h/PodynVCehVlZWDH2BZh28UC+aC8C6IKvyv0R2Y8GNzRJxo2ra0Xeu8cx12A0acY1IX22hecSiGMDxAavnnH0eKgxQdCQPAwSpHvPxH9PvC/XgJqq4XbMsKVLAXKk7OdPSdkmBqsmdC8fGVAK29MSDHqFvSMnQQNV2dyC2GYMsS9kJ8oY+S8oFC4lhyM0D/CrHlP889aU/UtRTku7XHg3nCYT5HbwkwJVDepy5W9vUmJSBBWHxgDl2f/gcqWY7ES9m6cTE+PgsAC6TzKreSPsjhesdCv3mbwJpjX9cJoOHPB8vZraDx4ff8E1V40B98DMn3lKO8/D9wpMaLMW0gNn6P7G2byNeQoyTHhx+QF+SjEojxzD9GNsDaBW0VEV+KqL++WyqLlPv9fazhK59lT5KfOTUIQnKkk/wc1aBUSIBlS2aLV5nRATfZuoEzefvIQmldUdPDDRcPFtvr7KfUwoLWxAWh2yjk34bl55rAMNjS/y3xT78SCqcJdGbb39DNwDK/UoBZUCOAnyyvI1fyCuSNx6Jtbhhnxb7hW7MDgdca6KqSxuEVClwubVjRqYRBhn0ZaceHDSgcrDDIT6KpHjmYIeLhgj9NY7hxqrjUisgmNl2oj42Vn04eWNG44q/NBSEVtICGjYFwAxlFBQqgSXxvr5gw8ziQ80a584inVIBNQXFaN3LyJtDrRvcsBOfUVQ44c2chG/USwPtGme+h0byYaeIBOjYzQCc+klg97WXRvJhvZMeBNt0bWmrm4FZfo/0EDQrTUgXG430u2FgmtmA6p9vrAy0oIhWLvP6NcLz8BFRgvqEO3c5lBoMaXSZnQs7zopcYp5tirT7VwxraESsq7yOpPjWE3Qi3GjUQQdu5CViIF5XxoYeRfGms+rDyhE28n2KEUHGyKJHusvDFExuimEKgYi+1Ma9irOkB9Bb2OR+NbpcfvWsXU4oiV7Mn4yF0SQgcxodCFIItzQ+sauHZ7PIFjfrGw2wJia7Tk3hzFjVIInWAksa68DOBx6PsuXeWNwRiLeWf2stoT1fWE+C29x8A76OI0Pl7bWNk199qCZSoNjanI9wwqAo38rqyMCFubGsmxwsoUCDehsJFq3I1QELqqsUDD0FyWkNrZ2NTWwIJH1yHdjTDAKURQAc0/mA+0kTeHSh3glZhaQHSJpKTcHG1AUp8aVY4Hxqa0VUmkeOVbcgSY1+jsjvYqmoxUsa6Y7VIBQMZK6gXAqBq2KDS60MOMXGpswwOs+gli7wLjW1ohcIxcbUvBNaOtQHffSuNTWj9CA1xpSTj2YxFV70r8Cw9mIEVWL7bbV2OL9FF7z0Ztvji3uNFPt+d4EWLEYFx7YeN+5jR42AHhukPjixUQU8bfAHY4uSTVvHe6F/YjF40Syj7Vqvte8Aa8bweZeU3OPp2XHeNTWj+7SSR0TGbUmqONtIDKk3ApuDjVA0ekBHT8tb5QNCUobxPXEBat9yQF63xSAW0/Dp+TpioGgJwNxjfCmu2+Az8EI5DP2kARIENEBsyZ4QEcP0RAfM/CvlODQyRXzP2pfuIA5Z+oi9AQECP2TcP6G+hkBwrTSrMY1EXvs/Ff+ImAG5UaC3cdmc/FQWJZVLn4nAIeASmXC4BJz1NowRHPefp/Sr5+XfJnY0o0B/8GN/TdWWEc/n4ePx2Ad/nHYB6j91gEMRwhftUrWAwDYrpgFwvyEDirHRF+NyK67AovxufjcikYB6bsFYB9AN71VpPUwgWyLCX6Hu2aAT+7OukCZhbnZ1AIJftGQfKOtL9mX4AwBncCUArLJ/AlMhH8eyfsIUA8l2XL8CgGgosyAaBffEBUr8WUUsZWSAcVy5rekr94gF5AP49rK/PwBjrwiX4OPK2RckK1V+fgDN9mlJC18GwfCO2hCgi02sgstgfgIRMQCpK4wFR1MTyC7ElJcpT8Uki64Mrov1o5tN130xOVE7ADiQJMFAQLTACwFKcoIEN1CBy1qnKidgAAtoPppywdNuPTx00INPKyXkrJoum0TRWSF7wSYfBCBEe86adNH38DN2KjKYIwNoJCPBu1znkIwYO6IBYQu64QnN/UP2aiQRuhy3jm7nGtMtFQCrOsxpRHWjIGIIbPlPDOc0sq4A/lMTyCewX8mXZjZ8rlol7MYmIaeltVYNzmBbGQ8OJEIK5QGbR35enHPOQJaWXB6OEvLmIIGwUeJENy5cGafh6D2slOYU0oO1z6dE8jD4vQzRk8nT0n/c2HXD7HWYKu/Uegm7yr4xV4NdKMDis/Cptqu4BeZLICH9fJdYmNAI7XkimveeBgTlO0iaoDksZrHINIm5XQCNh9qCW832xQq8u+udjj7SB54sYPEya8Zgp9d68V6PI4zdg3OheOJitRke8zaoBhmgQQs8TmGSQxIz0DevO6RvWT/Tym2qmGcm8w21krqg8UFuFXfmn49wwieQZK62YmfeYcQUquvZRm3mYZozIDZm695xFdPaA10ntMFxrVR1NuKoM14UBrpAe8yU2EI8a6RjvN8zVTvYfAnFDE+CGaPNAeumi68+ZQdomHLRRgeFmhygDghd+7+ZpCzapouN19RBve658FP7t5muPBZ+FL+4uZtarjlm5zNmcQkNCDaIczVqYV101maskhtptP1J/3CzNVsKFKDGZpK0S1xMjNBmbOtDXizowJThY45xuEt1qHd1FMDA41TNkNcO/KMZsUzbjQCug39c5lzb1NGzc7ayTNU/BHVZP1y2TJ1oOll3tq7HGq5BIQcfTdvg3wgQqASus4/GYcxmAavqGN5UfA24IWa72upBDRjmP52tMqKPDbgMkgJ7X+6NepBY8+skdeV60i38GtMmUHZfRqdAM7A3uwJsYzQScgeG119F0y1WcIRTFlenTweCiOw1WSOI61qASJKr64okrugG1vPCgLVD9rG0tB/TcFSuWxTtjaqzuvK5gGPkryAkGtfYA7+F/Js73CmAc+Tw963Bq5gEySl7aTKgNjx0kpe2vAC7HNqfw36IpoKlsbySpBu/JLkc0Y8BsfMKS8DcLdUbHw1/1DgAAzH/BUMA0SXH0ykDdDmiHNhExYlVC5pBzdK7DSWkSzOM3WiDoBS3GCGRfoj+tFy5uRLCvwL6xtZDmUBa0hv0ZuweqWGuapDHO+tNtWzAw4Ws7LQ7BzLjXRUbm3TQJuau7FM/jyViQyrgx5B1NM26S2LMOBm6NAO2iP6zAZpVcJxQ/lYIQ8Lc3wHFkcNBmgtIceCgaCX9x1zYHstC8yGbmeEvkHeHgrmrUwOlo24lR5u6IF3Ep3m6ZL1yBcbwlzVOQC/BdwM5SU5UDHiSLm3LQnkwLD6JD2xIG3g/PNkNdkMjb4NZzdqnEAorGaB6krWMt+NLmlCgXODcTh7xOqrNAIbEgR8TSc0+yybzUAUpOxF+Qps130BviZXmw+uiow0HGttEYzYEgGqueebfTroayzzabarrJtMh082Q5uAcdScG/BoOaESXWIlNCS/9WNuyBByPAe8x3gCmYHS0uvznzIZ6PAIHIS/4GJaYfrBqkg97udmmJZhQSrfq5BxzkBOQHreDpguZHGNn1fiFxAL1wYTmFEEi0LNRRsq5O3otfNXYbKRzl77X5BEORnPoViAbFvFUOKeJNwKwnUApf5sNAGsJxChqA2QO1+oIZgugNSsU3+AGzzsqRcUn+OLU8SkBFUo6oCcCWU06ismcQtTwOXhfnIdo5BDHfQnZu9pSibLz1G5LrlSc10d9L0imssyCDnPW4oqbolgwSgtd3rOh6EGEd9HIEIIIuryMhazzPCCK0PBYev9cGh4wa3JYvRy9A2nryMhax2ukLY5PBO1+w8x4lRT2vyYXtKvBKhb8yXRCFOhlcPTGptw9nh66GoCBW3Enb0+uC3h60C37MKSSmIeio9+TUA1LV1TbwG3FwI8Y8E28CLqeGqEIeO3oJ012+th6W4WhBptXxze7X+SRHj6Sq0GaI8+dbxp3UHjtEV0l5st7pFeFqrqaKMG0lURb6gjmD1spmtQMMl9ebtC38mvwBQPU0ZwdhaGR6AQ2MLb5y/Z2EMjci1UAtCblyPZooPI83rSeEh0LWKPd4qhw9lcEL+HeKqcPI4eR7gzZaRZ3FJXiStSochbQQWH5JLHgwPTYZGSzZW6LDxeBRzgzeQ6rra3jTMpzqJPg9z4S+Skhbd+FGoBtPQ4F7VSMlnFyxLxb0WhnNdAsDAX4Ai6LQnLOR5mwyG4Actym0XYCfG4RIIYOCbBO78BOoOQemobztZRNOcFr0iikYYgLSlTZgusVU9PDM1o5KZXAMAr5iFQWhDFMlc+6gGFpriFuYvuoJhaEMWFNP+Lb5yuKYPw86Ba+9KooeCWudFQ8QY8El+CLqXvcOc5dAsoR4IluQ8EiWrdFqAgYsEmWj3RYA9Xb1JnKDEQ5zxOtYD3UzRaJblwXrVws9e4W36wEuK6Bbwlo/rqdDAUM0JaxzURC01HuYDYEtP6LfLUWeoBLRuCx6u3xaQuW4lKR7HiwZ/J1iIQ6mIJHvyUKW2Etj9hcIX6sxa4khSxnuecsO8Gs9ydsfQPKQtfPdbcnUDzdqfYiIYtI+CzHheTPKqEyar8SNqzKx5QZDkBLy3Cmg9FV/BgFz1aoMWykHo1WchEx0wAjoChXZ1uG5wk41V/Mq1c2mqn5YoLpWXCLzepTH8/XpNLidqWCODrYLoCA28r9xAaXiTzZ0Elq6Se4ZboiV+lracMLdGOezNrqdDepLc+gdSgnQYDyaXFY2sTLaLUmlxF1KG2B++sTnkjauQwnPsrKg73JoMLEPJMClDznfVKqk79dDofrFVHlmtXQ6DzLY365cZibAg/W1+viecR+MB5lfrSnmeCDlVGX6sNg8fqi/W+QkIeQn3fP1xbAktXZ+p7QPUE9P1r7KgVlq9zZyNti5/YtzA2szcFjoKZBIobM6OhezYpRnCFsuW0jOpGATXDrltp2HuWqZ1oasBsDZEBoLT37fnOgyAdSpDZkZoLTcwbEsigLFqKiGowErcobMeKDd0BY4ES2BsqVC5jaBmgX7HT7QbygfDwLvdNwgIkF5QDrnCsKJSABsDcEFN3g0mEvVjSATvkiN2RAS57GdCZfNreRO51K+cNM2xub6AackVYhBgF3zXYt+9y8cRsd0lqCewXRAUxacHqlfMcPnqvHIEBXzFi04ljipUUgPotdFaDAVpYk2LUa7GDlqfdaS0gcvqLcHzHS5SsAZSUd0mBxcLiITagVrxMAQ6P4xMLQT75T0ph3XFZxB+ebwXXetmgFUBE0Bz5gf/WzYN3zo+5D2Ag5TWmlBR/HKwsUvOpHiaV8iUlNzqJ4mNoCWzTb3Sz5c14Oc24D1fZYJrFnNhkJJ8WiTM04Ngy7V5jSBOSVOVqjuRTcCnN2pQW82NoBJzaijXlA8Sdlc16kpcrTjmgXNeObG0AY5uRAhXi7zFtlbfe7O4o7EFUefQes2B+c3OX3bxbpWj3m03wEOVUa2I3pyPT75KpKXtqft3eufLml70j7KrTbyiHGSCpE5rA0G9btpNmAZQNVIS+Wjb94MU+90BhJaQLyAyuBaq2+UCnQEJED2AnGB8zXWmXCteFWpnV1pkv0n+Vsgzs9hdN5uqBrnVjVqcMJjnCe1jzrcOD9pwDrv3sF/QIXx2t7YSCV2DBwPY2Q1aoXVHj31MFtWkq18Ahx/Yz11qtaucrD+M9c0XUssCgDt7XEaJV2g1/bPmW6tVxwQVxdZZvmUAsEUeM9m8l10nA1Mb1kjDHq8wKa416bZrWvMCzMdg3E8onOSQbWs8VWta8wGNo0tq8jabaD+sJQQADEO7B4zDAB2QgXdIBpgd4TotqOq1f2RRsQquguTJP5GtGk/tfLGjZQBYCX5sBoS6jGgTgIKn8tP5lu1gVkoiyaRihYbkUli1IyZfyiYBWiKLP638rf/lArTRRZ9s0s5GIry8f7fNqIAASPCTFK3dvqRmSuZEAqPP72ItJra14zcVCsA/P5f2xaFQxYP+2oX9YFDPeKT3Cu4QL+/iL01l8osSFZN47gWpArAOYVzLm8VQK8RWDYtlvHJfzr5YQLJnEbiKADCzSMrNlbWrvlFX9oISaK1XUSd4p2t53jCoXkKzH5UdAyQV5Csp+WU8Me8X1/Tu2uPCruwtItG/oN/fd4rittU5yOxz/h0i3qBUAcGkUfIFlQSt/HP+YStyYHpJPS/mErXb+GiKDv4uj1B8Toi3hoEPiqIFh+JqyEifQutt38rb6KALXAW0/cyhjQjERVpipaEd5Q/B+deAOhGWoMzFXmK0YRzFCA77g/16ETA/EsVxbC977lip0IZQElH+HaqS4GsgtjvnvK0etCNsmKVHytrgZtwDH+BdbOAn5UO7FS1KvUWTf5X77gys8IW4QqJWT8r24FOKErvsuqqQJ43wmNzTisCIbz/OcVevjJMwqBPbSHuqyIhGgSJf4LSubQb8I2X++gSkiGK/33vpgAkwJBv86Xk3sKyIdr/b+tNgT96qXitHETvcTxWt4qOxFM5PsVntQjahDSKoG3W2sd/pA2hKONIif4GhK3d/kMQ/vQU4qQaFhBP7Ff9Kp9BnIjqf7AyobPryI0u+G9bt/7JBMTvvH/EURSf9EH4p/wlEfk4rJWmf9aG2W/1z/qjQ5KQ8StNumRBPVEaX/P7QWojkMGdEBy/gQ/BoJuZBEn5wipNEa3/CThs/8pOEUPyadmzQuQ5dt8mH6M0K04QimnThp4gmn4T/1uFqSKwrB0tD5/5UiuPcSogv4Bd+qLaHrBM3/vSqvzhXz82RVEkMLEVZ/dMONhC4uEePwbEeQI6/+h9Rb/5h0If/oY/LkhHoCVRXv/1V8VZIWx+o4ik6EgAL8banQrpWqorJxHVcMPqG4/E3xc4jwm0ghOKCElIg0VRgRDaQbtJNFUICWEJ2ADDfBsGrwAfmA2ABkHA7RWZNqPEVY29EJSRoh/4qAJoAS0suR+9qq3SH2kMkfveHNsB7AC4oDBiu4AU63Ff+E9CwJGCAJhAcIAl5BNCBLXh1P0XoX6wlEB7T9S63yAIGbSjzMPxldYQqCvgIY4CTsZYF+oTtAH62x9aLBo9yBmJVJlYHIqO/qYAowBk5BiYHb7N0AY1gbHB18o/AGTAKGgW+gFwBRfhHQkeAJeRRgwnwB5HruQkLKyO/pzbYIBvyKjv5scnCAe2gpV+AKLyVFnwilfhirBNNL3pgoUvO3SAfwJZhubL8w03RpqDpqGmqNNyICsgFswEDTZ0MARwYjrIr7xAIZfpf/EZQ9QCPVhz7P8QXbAF1NxuFk8nEi3xfhcrboBFItrU2iv2aCP+gwyI0AQZ8iWpt9/samiYBtyLx+b9CwjOnoiQ1NRwtvIlH33mbU4XRAU6qbTH6aprRIcqm7YBNwC9gHypsSdIqm3EWxwDpU1nANxFqKm+5+1wD0ZC3AKVltrfYVNuwCeU33P3H/PcQw9RUKBOU2dAPv5ls/If+C0Bb1a4i1WfkCAxlNywD4A6LP19yJCA0EB5KbZn5l+DT7t1kuBoTL8kQGwBKxAWiAtPuaKbHW3Sts0qC624oIW8aP+TIprNvnCA0kBCKajb5+tuhTXkqXW+3wDaRXq3wZAR/zXAiAIDaklh+h5CU8Au0JYfo4C340LonuoxcAhFRbBjr28w45acPJgN3gthqk5tpJrfbzfNCHAa3BbFtvsyVzzUkJHAimYjzFsooVFqnlWjQriJVI9lmhPRImhAkjgC0IpSKr4Uj/QANh7cdea0BMYLaY6uYRNtTWC2WOr+rFM4pIWHxa8AGdsOaLeEQJuBA4SLvWmMkWDpvW+n+Xk9gEHVUKJBJ1EQF+7P8O6pHGACIcoExogaXrS0F7tpanpYbStBOcRxf5QxDy9QNQp+t3/l7xDGi1GoR8PMr1E1CwAi1eu7QVCIgqemRD9f5WFv4GakAx9hzXq8g3UqK5cL16mohO1DOvXAdoOoQ1PBoh/sZkG2DevMsS8mgBQnUQ1RFYNtm9c0GqIJCw86q5zELgQSWPFBgsTx30HaC1/ymggn9BAssVp5ZBLobe22vb1sGC5REbTzEQOBgpCwog878E1BIqCaMLK71Ff815y8CwfyIv/A0RTM97p7PEMIrkTLGfVnQSMbgbQC+9b0EuQ5Jz4BI0OiMUbaxlRmhYwThF4KevjjnJ6iH1jBgtG0T9wxUBxgpYJ4ItEfWGNqikESKcxBeJDcxGtElEwQf/Due888lEGc7ygXk/2Hk+XtCrFouB2JEbY2neenHzGxGor2LRsEg1sRrrkz55qYJ5IW522kNAYDYwpPz28bW8E6D1xmCgm23zxg9fEItxAQzcEhQFCziiMCvY14SzBPxQAB1dcsUcso49aYbhC1hAZ1SptUUe0W0cSBjc3zQnskIFIanjEzW+RhZeRl2tUEwzZ1HntpIpIIHAqpALVjWOTmwxuWlqPArtjizhmxGjzG5jqwQuSgGJdYmlH0igR1U2KQIQE0REqDAOkGp45Hx5lUiHAyiBsohEnZBoatBD5m+j267b4Y7cWAVVyCoB+NYcFogj65CgxmZkOeLVkD0G/RRd8zmq1WFUH8DLErMgXUC0OjJGJZmYcXPYNE2yCvZtQPSMdp4lugTwg4Gh5j208cdQKAqVxx+f62NCWkFBDbTAELScSBsILPGA5M16Z9cqdwYfaLhmaa83GKHCLhMgjWHszj2Wm6ZV2KEImTyyqCclE74eK6TGslxhL1zUy0wbEodgrPQlD1vkAG8s0uOGtD5AnDyMZlDmyaZBQ8zS5QkrViRMS6SJXLTZImlV2UiZQopQq+6diAyELM0iYunWloqkTAenaRICOBEPJUu1JrmpBkGOciQZi3ntsPTjIn1TN8LUqXYENxSyl0ZXEsmOPksl4u4vbUlnQDOF7Yh0tJZwvb2XEVkDowPpEylxcBwdkEkonT0L6S3nVTjxStGAQ1p7XXI/6oEMjje1+OJyrfJE+sJ4axHYbRRgRJWOnOqR4UpY1kO9rwoE72zWR2WLiVpfBuaifDil4NTDS2P6MVqgzoxi/3tIVbYe2uTLdwKewUZUtIJILhTFoPRsbI2pZ8prlvbPOIpzXz6bytCsiQq02li5wXyGBnNGfbBdlw2idsc6hYUlkZw8SUumshrpGcSKBz2BU5BUplvNbOvTWR1Raky6Z5rY/p+3JMuqjSQLiW9r/Uknm/px9dBC5KHutw6fxk7rtnZLcOloNL/UouYHxZErBJmxAr2KmaRVBYNxTLKvwQyMIJZQogTM0jxKn4pmFslbda0XVVvxHC51SOhpBeYzfteFBt+0FvFmLuCdW+RCcg3PlNFVSZVqYFgSlGi0QLfz0v7cqawq0MuyFKAvXCsDUjmg5xbdhmK4JyHj7T/lCYt279aK0GQPI5Sf27PtFprc+1vsAwQasPE3tahhALDkdDUzYf2gyBihb5vrcVr3LvFyg5xdfbEB0YyNX7cljP3FbH82+3qgW60bCGUOwz/QQFXbHH8TtHlRGAmkzVz5xtyZrrxU+xxljwaa5XoEp4GG0cDtctZ3Zb1GEvzUwOl6QfiBX/7zNukHuXEYGRNNcgUlgHETNjzWYCZSH9182o2p+AeuIG/BywLrh6bUSrwYjaxRpMg6HLUIaLX2W7XUywn5B4XSMWpRdCXm7Fk4VdprYV5q2nJynSuszlbYulgAv3CtyS2LpVJUCK4HxMUiG3mtwN57Uh46RQJK9BNY/QdGRVpq4Ky1h2GxwSaYWOaNtGLxOrLmjm0LpkGDjA2qyz8hHRgM5+4Djgh1n9qJ7VcabKB5A7/7HdSk/7gMBesJ7RY24nSUUoUUkOzD6syI9B2roiq7b3kg/AWQ6blq95KJUJgCiooOmLNUH462QrBAwVexCJxhmzp61HwLnIGQNbLx05Dg6I+wIXJSB+5BwWpADlza4JX2qBANVsYlH8ID4OJ0rQHtcQp+h39KrF9NmwAiZFfgaCpcFG4BTo4/7xin1aTAMHCqNNVwPn08lKcJmBpI2dBg4cg4tBT5TUh8gImT9q+U13CB0JkHdmJWqPXXXt/yd5TVTICZcWcOqDO+JQXjgQpw+gWPc8g4OFcU2Z+5PIOIjqo9SEcsCJBx4DgzocwB046KdPg3NEmtOOIoDZaMjpDulXDsx7WJ0glOYMlbBkuyF5sXoKUEwNKcMuZK4F0UYyna56hJpfmFKHBbgeYGDEd9UtzAzTaO19v1guuAf/zc2grot8UGui4kd90jSR2cULnyIZoiAouOqvbTXsg9Jdu/Zd5tI7VFl/RmQ8JSOjftbI6QjAcjr1kaf3LaO9mjnyXgVSHBVDswUdKecyllK2qichr8kZxw+KtHb9aNWkDJXHxEdAKrvA/AOawbwEcJxNQQ4Mib5voUOpLXiSy+Bcm06SgazhOJAd1O8iDLClBPpVbEwm8NzoR/zh/JN2zvdEUEdH+BccF8hh9EB4s6uGvMT7e3+6vFzhnuZ3tHo6OYnQWqWcZGnOC1SziPakf7Iimevio7O6nLWFCgUspiTLsqw5CXNzDzdeLHTlq/abOUSZpmUJDwPiUV2KMdlnKRtgZjso0a5o3PtijgnbEwxO1TnM4luqEMTS+0SlgGkh5yiKJAdTNVZ8yMvqbWO/MdoWjypBR1LnLI9XCKQuA7gZFqZ3ikHKOz+pDJdYuUHyJbgUluAcd9Usktx4jtAaW+nDNltchP5EVlnffmS6UzRM47OR2XSMxDZtE0Iy8mdhKUFkqsiRsqnTRCChd+4LjrKOCh6B6JGXKGjiZnFd7TUGhTRJlgldVARAu7UMPUTO4sTyOD5IOG0ZNM6TFaMJ+tEacU/7u2Os2JmXsMtIlaKuNoiayy5dsTmYlvp1suXDE4GJPWa7okwOLLHVT2pdZhKCH9UwtJNxZWOzXR5MSt4mft26mbFbaVOM9YD4kCejwHnjE18AHXgKnHdeORiVfE0mJcPaEqUh6QjHeBOllOIY60e3Ep0uSct245guUhWYkKuMgxazEpHtrWi3R3ALOhcJDip0dG5K0FHrILMlHPy2+Q+aEew5tErQUaKDVcWpsD9OBgMxU2gTmmrRmE7K0ip/FIsHTmlTaY+TFJ2890+JQDnZeJeGjRMCljqHzVT2jfmMqdAYnmxLwoLbE4jRMpLbYk+pJrTf3ExvA8JKiJ3+rn/SR7E5uJr47n+TyiGtJXTE884zKBrqn+xJDiddUmTRBIiGJ0hRHPHTHEiBmdSB44m4D100IXE1T+EALbs5KRq0/kk9GNWr6yskg5xLTiQ5QWslQRcWCicUNrJXagkKdrAsPekWxICnW60jJAl/cfJ3iCMKnQ2naKYrcSMyCuTtfiT68UquVU7O4kTEtq/AdI2zFaKcrMDv5u+Dkr7TNYzo6u1FnCKnQQ3i9K6tpxOp0OSKQoJJOva0JPDK8SAm0bQW1O0E2jo6wilLc2d9TG8ors6DqjoFFTvJFPqE9+5Lq0VhmUCJcEYBYHwBVidzoGQYJtyMsPdbBF7i2D5vaBgcJHwpcgPNY6x7SCzn9kWazOIHmC2v5I/zZtTDSz3s3uqhB1siEY2ZQ0gWszuAmBHSgkitWF6ksJyKobxb810QYCy+H7+fA6ZdVS0hu9OetS24shh64SSwKEvNoghaBKNBCNovAFe2fXCJWBSNZ+IwfeJl7ueXY3mFWdLtT8oFoHS78PBhlGAYQYkfzTFlc2m920iBKKE+6x+zWqsyihYV8aNqCapSwWSEqh1tUaKPE9gM4nRHAgwwJ5BcP5Ob0Y8SGQth1HUal6EWHwU9XuAp4QQjqGGGVCIPARp65AhQe8pc1oEJrrVI645uXlDOq3qnBkIfZ6TSQAOJC3D4eL8zVSYB1BKhDCAmaOq9IWMI2xuy28KAlvhwMdTF0yetw7r6hDBoMYCQu67z1BeCVqHB8zRAXlQugwxa4HCFzpBRDu06wo1QgS3t6rtrECe4697eeaCOf7+OtieHu2xzeOQJJ4FhEKB3hE6sX+HkstUBqzJ+ETL/VsmcQaDAmZOop3k+2wrNWTrciGXsLSdfnOuEROO8f20m/0Kdf+2yohaIjSnVPwPcCeTvCohi6DqnVfwMeofh9ep1xP8JQCAIO8dS06n6h16CRd4odsgQXqvSXemHC8OGy70WIbh2k3mH0dVgmiiNV3lsQ4pWtaBNd7AYPyCTkePXe4GC8WBq91edXsQ7GhxzqHnh80PQqYo63WdonD/gbO7wCCY0EwimR873iGSNqd5plob4hNojSt42HJ04QJIKiSi2A1+YVb1K3iJrZ0RijavMoOiJk7Vw6x2B8nbZGAtr1rnrMEkUB/pxyrGcIKoOTuvPu11wtol4p7yHtdcLdTtjirX3F8YNz3m0S0xtJoDDI1iYI7TdEIxBBCKdAwF5J3o+FZ2hyucjdYuGn/1tAQ52hxtPECnQEE+PDoSfarIBnnayq4X2txUX2IoMBd7ahxGIHyC7V8EsquNDgmf5ZIPftdGA2Jt3B84KQuYK+cMhwZMB7oDd4iTz3LrhOalKmL/gpq6qEH/gWMRc8uq9qWJEcApdWgzXLH+2s99oHD6mbdZgw65JC9R6g0TMN0XQ7AqxhldbZoGDRFKEWGw0QN0s73YGWLqPARdAevtjVbXKGBwOTLhIQ5Nh6ZceZ2GGH8oSoG4NBihDyy6UPBNgeFQ3xd4RrRhGkBP0DdEaqYRucCAUw2zr7bVYGgdt5bDS4FFwNScLJWAsdxBUsYkezocHY3A40WfRo1+01iLHYWtAvuBXc6120eBsnDVu28yqNA9I52X1saIGuXQ9tFS7p4FhBpL5nfWyusHRrH61pztXgRnO1+tZQb652giJvLmeGlX+V5V0g0LUOCcBfA0ud18Dcg3o+JcCbJXTpdtc6Sg0zoMYHZ/A40WvgTf4FDeqOFq/nCcuhkIArZRBLAQVLwAGhnIi2g1Dzsw7TBXN9BoNDsXoMKEnnVQ2wYNjDacEGtzI3nZR2kYNkwalRFjCJmDXP6hjtFxCDgJIYJY7Xw2lYN1u9OEGYYLjLswgnjtuGDtg3t/wvned2kMRTND1mxHBv+IZAOqD6X87gSGmLrk7UIBJgQNwaMOXKduuHY8Gpsoh+x3h3NbJH/hQM50uOK91aHqdr+DTxgvHEdEVrInn4tZ7LogsEN+iDv0GMQL0QVjQ7EhRiDdO05iONAYiG70RjtCGS5/FyUQalYNJBW46HKAELo8QdabI4Jb6cYS7i+PkwQyGz91sbNw6EUhrEXepgqJB4dAYkHPBJZDf52pJBTpaUkHBduJLqF2q44fwSrFbnCLzoSYWRJd/C7ikEfYBcwW7wHkumACsWnx4HFDXUg3cR9iCiPWeYKPEa0gs8hasgMs5KhqtIS0s8TIS07e6FVNqxNTUwlbhxtB9Q2uoN9Xc5EnUugwiVSpUUrrIaSEjLq5oaOZ15YK/JuaXSehEcBGfQvDuDIZia5FUIs6PuEQmB9vtOA0QBfitM13LSHGdoXXa4dD07RZ1wrsdgdEVaIdQZcTVHXJLhOSsYstdj2dP0gA/IMXRcO/Qu9BInlFNru3DTPI1tdShdgGHUwP79qLE+lgMsCR/atoMt2FrAjD+2kxfkGcQLREUMy13V3ODwSA5oPBQX3wgj+MqNUCA0BISniIYOfIvzobwHIoMfBksiTddGXUbdkljONGFuyo6SuCgZYFu+yXiddE0SRfPAUUEgVqogaFSSNBqxgTYHSTKXDVBEunBN/seC5nys98W12nguD3aqIFrVL1TjL7KJh/sZ+k7YSEEUL4wzDVMYdGKkLQOqKIinCwYfoSKY6TJzlREgHZGdDxhRFIx8Bi/vbkEguaG7wC1LJ2dQTtvD7xxFcNk7r8pwEVkUURS6BLZpHMdwgZgswgmd6PIMFDPiDauUdApkgGycShbcCLyOKIpdfgRHBpeIG4G7TgDgYmh+06croIYPw9sflJhhRpwoNl1XCeED+M1I+pJUIErkRqMCMV6FB+Am7xxDFKN7HvHgDRxELLP1qopzYqhWQNTd/Z528BRSBk3UpuvFOmm7BN28Mlo0VBg4zduGTnKDWDsAGWustA4UGD26XhSITzSvOKDZ3ThuR2/xA+6UFIpuJu516i3KZMSHuMVSuZpU7qmYu4A8kV3IWXBMTIiyGZTtyuskYt8J+cSFaCOMh38Kp/eAFQqDmpmygTCJCaGhLqUU7ljTn4oTibpoOLduSyKSXx5yi3cZ/UnpYW7UvGvSBxHc/yXBRZW7mUDlxBE8TqS9AuTPav3g30Hq3T205B1BW6Cq3QyJrTdYOsHNKPo6pFjzljWT1uvCgfW7dYm4xNdzXROm8ghY7iBB0xNeJbznB+JyXbOSXXxMnljhYxLYa8RwqpqeJJzVJOyaZQk6n6abbuJ1dGGnCRwmg+o3mLvE3UmG+1h7sC4w29NsVPjywXHUaYb4CFuUMzDfkwyQhAF1zUEmoPTYV5umOBEP8YN0lhqzYZD/csNps7SAmoSAc9eEu4YudYa0qGBoKbDSYQ+JdjYbnZ2niNHkEdJZ0wY3CdhG9hu9nRcaI6SY+bjRZ0/3xTljbOrhXhCc0GbtvISBz/GcNATqo50VoNjnYCfd5BCc664DyKBlRsOu+X+17btw1tLvvbS+G3zBn9bO0E9Lt/rb2grtB7aCnThDoNSAYW4G8NdeB5F1M5KZ3XfAr22MqNHw0zLsd/sEXS+BHfsWp0N4s3QaSImIurO95d0IbtOIRyouDhJ6D5F3tzvOzlju0IJwf8b0GTENwbd/QhCNHDbAaH3rsOXYKI3HO1RdTl3jAJwjTPO7IJxEatd4gYKAwUcQp2FYCTlYBGBHOIZQQCkYzHaaglO/HUyP0fVoJp5U9vD/Lr03Qf8DhBI7ic1HcRuvnWCuoCG5GDIV1sVTdbUnfc7V/DAViXSgKmCWxg5I1ciCgdCyRtAXf2497QLI6HKDBrkOWbUyfRdyoD1O3cYMQXZGLXSN+NDtgkGRsM7WyuzKNaIbll3+12NuISWk/+1JDghQCro1RHWIhyNZC7RV3ORvFXSEg2Vw7kbpV10Ls0wfKuvsRQUalV3eJ0Hziwujhdk+dGDAWYL+CfekSKNs4jM8FL50XEXE2mKNaHq2uG42wCTgg0rMBcISz87pRrybf5go/ORYDdxHG6vPzm0grXNcSdI3ClNoDwWLQbUJ1h4GzAVRuwdRLSjLqNUaMsHdgNroAVgnmdUuQMnqnGz9wXPQ3K6yKA010mLsO3YJO3bd0BcoD26jpN9WUcFNwMyA884k1yhYZDipk0nDCtALufy0JP1W/uWvmrjbg0aB4nWMoH7wDnKJm0b+xmwbKgu7BdBgHOXKjzwDjP682QWJBFIHLDxmwbboPRES0sZsHbVrl5gCbd0wUxAdYWVXlbhFoSJF1EuD2kgjbn/4KkItkQIh6sXWYMLOMBwdPF15DCuSD5AjdCM9WzBhnNrlKDvVomYQnQfxQyo4813RKm2cIYeE1R0sDcDrGCp94dg8ofC4Nbf6EqwJS8tDW9ZhEjhLD0I1sD4T0nQFw74gXKHJQWJuC6cqvhBBDZTAdH3yYUnq/VmU0AT7gQoNg0SEnJU4AhCq87LpvgIQHgtvd0BDPC2O4k4obGLCEejuD3363ohjwa74OPB/+DzdWkIFoodGSs3BaP9PN154PUoR/g0zBnJb0qyf9y1wSXgoW0vxqBS0V4JRdOoWiUti+CT8HV4Ny0CdyY24UuC8f5F5sySh0WrfBEhae8FtILvibzg7epfeCm8HkD0yXRYOxZw3/aO2F7xKQ3EyoI5lM+DnRaFCrqcCmcTvBJg76TDLFph3f3g+KQfC6u8G1Am2La3gzHYjtxAkh6kPqPU50gt4leC89WL12vwWXg0uxbuDUyWZyEXIQUe0uQg5qmi7vDyCsMUytI9QcgKNVfiMB6b2qXjWSR717hIJyAkRAQ+TwZZCyRDIeFO+Lksn3OKMDECHn4v0enK4CJlP0djFn5KGmKf7Aq9wOAIIGAUoPeoIGCW28XdaP4SaPGVBDCw9nQiR1QYB/4NjlLqgaQwsux/F1v9tGkphk8MWr7B0BCkZjWMD2mmQkkPp8RmD1rfDnEaqJd6GdALDMnE4np5BJzemrgm+a2EO1BLkaoqhO8AuJBn8H9nUu2/QwnQdsd171vcIejIEpdEnUid0VLuXjul60+t6idmI4U7vXYVEYJpdtO6Wl22xkq+YCI5IhACdmd0doO/jmzuy9hYxqud35EMv6IUQk3+8vBZjUbUOqITXOnahRp674GMDv/VJB2wDhGChaYjNUJJEdU1HohHKioOFoJyV3VB2pKy2Cc250e+xghCvHRxBeu6KE4G7u7nfegiYhq6zCG2SnrCIDh2o5dmDw1iGrPOmOCuQFmduIsVhA/mFzsJQ2jYh2oc7d2kdsNDI7uxed5Z6jvUV/xjoCT4X7NLHbGO2Tmh93TQg/QwI+qD52fEJYjawg14h/HaJG05qJZRCRguTh9hBxO1C0KZrfV2DXlQtC8rYfeF33hJ2gEhB4ARz1xqGV8AmSzhBUqtTMAOZKAXaw1T00FnDlEHPvDiNqsE+y1JUgFYlucJLICrsOjhNK78KCEWK07djYXzhrhQBngYVT2CYm09GOHHaYoQ6ZPiIMceysRfeTaSFDEOkwWLHext/e6JIotiK/rFX/Qmy7jb/9xQ2HolU8EvsR+BrAm1++KgvUKQtVd+BqM6FL7tdjlM7QEJtmCtxDix0ibTNsKWOCTbzLDwBCYNVUe81dJpCdxH6kM/abk24bhpF7OnieQRlMFqIc1AHdDcQljjz9wQtwh0hy3DnxGOxw24YGux2OnsgUlzWTBxIYAwo7hXscQ1Wczr5sDvzDoRIW7aPi2sAaEZPvZawRVi/kHTIA7+IYavMhAn4LcAhkBOYQWUp6g1mZ2UFqhVqsLIYB0Yb/SDTSQGt0FqRrTdQ9iz9YFtkAu0M2gPihx2hYT0PVA+1ofwJshbvNK/DLqGPOQ5e2y9+jy/SFTnMKpEWQ8uuhnCYZzfHu/qWSfWbQU5CO2WbyGFwbhQ1y9RLt38E4UrFUCCCpchLBTAZBXHqQoTcOWNZNkQ4KG84s7wfuQlD0rDhfQW5soL0Pmy67CYFCe9A1V2uwteQ6XFo7DvODlWwvHavg3EeMFS1TxlXuTuRTg4kRwCBs8WRnSfIWfWtOpRV7bvD3kM3xZkuxAeHlT+j3bUGYxYvi7VO92b8RZD1PZtWj/VK9LuLEf6JXoWMGzg+VwLBSPcXzcKC5RseHChqFKU1AkUP8XWuY925XYDHLnj4kZnc+i2vFMECD1Z9dLm0V2AjshwdyhkFYGPYoUnitAhIVyV906aP0JhukHaJMYQZ3n3XvRwZnrcShN17EWErovDuYke1KlYDTTr20oIU5YpQ2ihuVL5I70SJXwDN8EihylCE6kG6A2vQbgmOpxFD1ulpFQjqQL4HoRb3hchVTXoD5hjesyws17+IG+bJqxONelHmMjzwKHKlqcDuro1fF538/JndXsggbOK9q92eC+00G6FPAU5MgnYaJctIGu8JPQAYW0hE6Gd1VD1mORwc6ff3QaQiawHRUE/wAnoK1hR38hUD+BBKFiD43v4LFgAYn4oNlvVIEeV5JgD+REHbATMDJAipAfXTtVCLtuW/sAcS94exxdv5fcw38B1gLutQKSWAhxGkUAbkoKFpr+AwGEu8AqvRXXVgB0zA39o5XXcgfg0u4SzxxXb2kmLXybGAYW9+oteY4oP1dvQEQZA13HBA72u8Lg+VCe4qFYF7rjAWALdvRyLV1BTt7mmCBaqO/pM02TJPfBkcFzNI/QJ5q8fxqSSRcYlmq7Udl20aS+4hNkmQZ2NcBEsxmg4pwSjgRLJ6rs/8I6eSLjs8CX3F1gFHInwMOgCPxK98HI6TBrLlAhfaYj096q8sfmOmKl9/AlJ3JnAZNSswVPtQ97b05tXVJcT2QfxAI+g/Tih4PHsGFWzvtnKc9MBeDv6cSynCy2oY7YyrvrFLKUt+XKQifAMSU73vYyWG8ouQrWja5LujsqPfp8JUdtR79PhASr5DMFe6o9F/bm8FLqCyAMGcDvBT6BsmnahnQUWEwIkdH9dXL3VkuEkEMepzAl6KvZHHoosQHSO33s6TwSa7EthNjpqKVkdK+C0rhAPsUUJdomf8s47bbW/aE2PbIcRzRXho8R168IpOPqE85OibSHb1bSDOPX0wG+9eghYZE1qyylkbIeDgq+amfx1SL3vbGsjEYAdT6H12yDS8MXE1hwbPqnbHr3ujzcWLSjRy97h82T9yIEIVOtwdO3TfkAz3s1ODasie99797Vkj3qsHTw+lY4xvdZHG25IHvbz3Dh9hIU9tB6DsoNhwIFgeJezMc5TmB0qHbIfrWBxDp06jiH2gPI4fwFINJ5k2F3usltEEPQ4tvqKoC0IHfQEXHEOO4MRRVB/QABhaRMLA99/BxB0dbs6OAPDPO95zUtQkybN/zUDIwKgbMzGt54nuAYIhOFmB+To79ErwzsfYYUDTsQWyK60A7Dc2RUO27d/PAi1VJsNaET5QjAJe4t/KEaOCrVe3WsglDaqCAlU/yojuxes2dMVDnOnlsKHrdoQasVts6UqE4BMdnf2q5sVaP84sA1vFCJbMergJzjsm7UwqP3IQRw7HxGO6l1U71oF/jju2qhk7DRn3TsOCFOuq4ndW6rnhFxzq3Ve8Iyvca2Sj1VXtpaXRHqF+t97bwo7HsJZ3XNQiERvS7zmleR0tPeRQgcRiIiTf5+R2wVQ6e3ahOIisRHJ4hufYwO8KO+IjPT1XUOlIKBwtohKUdQ9nK7ruoZ8+kM9d1D6REpUzyYWZYWKUgiDIEEPNJwbfGe3SOjUc9iGm7puaQA/Med/h0mbHb/z9gO57XwU9Bco/xSm37VdWK9Yh0ND+o4kdvT/rF6GURjDazLCT+CKCfDgB2w+pbw13PLoIYU8cbjhIZx6vgalpVbY0E4wpjf9RG3uUMofkCuroJEBRpG0idpU2Y3ewYJ/NCPGl80NqcC302ZEyK6TeghXwMZGBO2f+cwTZaFbnvwwF4q5MpsKrsV3oki9xoZ2jWhw9DyGXqILJ2dD+YlVZbiKV1m0Pf1eSu5nQRtC6V2W0JjDiY2m89hUzzG2+/yC4c7Q0khgq67Pp8iuF8clw+s8zjarglV/zTkErKlumJ0sY6GUvp87cnQ6C9AXapVWBNo4XVKqxC9mq7BDm0ENQvXOI4uhNmC4m2iMIhCfqLXA5OqrUm3aqrBBYiEs1VKIT8wFpvsKbeBYNuhCkgNv6d0OzDleHRi9hITOXyPiMroqtw91VshrK30bPTb3iGwoiQJKg84jAu0oobCgaYZur7vBYbVNB/P7otIqd9tu30UHqNoGMMl7NwsCbGXQ/k5HmxAqSqDJSrGHo2BMOYDm7lBErBa1CupFJOMCw3z07tD1gFY/yrSbach3xwLCALbJzLD0FJQjWA3lhrmX1gv7/AAQXs8oMdRKFblLs+pSAklB1SAlGHtbrnJkPlaXZidxZ6EtdyDOVbMx9992r1MZzMKRPc9q9TGb/BjF160GV2QB+tAh+zzXsrTF1nocDcaXZgNwAeGvxu0xtTgjPh/kgD9nFzIqhTOA7IRHEhKL7YoNX3JEIaSgiKQ1irqYxyBfaw5oOvSNOFTVkNetRYw0lZaKCyK56fTvfWgQ+rwzkyOk0vIL+QMa+vwAHGS0UGr7lN5TQEmkghZFIv6SAI2Lk8qyf+6EiSJXwsPj4W4LFi+7ESNyXElAW2YWRAs5327fj5k2lKfTrQHNhRbDgl0lsI7hdU+oHddbD6n3RLug6PWwpYR/vSm2F4/yJkCvs1SIpZjF61dsP4BQULEKgpQCdf5x4JOEYu9O8JWaCqhDxAgmffKehw+qzC5AnzsPiBD/Ko9tDn6b62JzqGPi2QbQJO7Cno17sMznYew99h7aDJqFPsO2lQc+r9h/ZAf62ftp5hcA2pERaQqd76Vzud6d+wzERou6r2GRfol3evspJOgACFl3wcP+fQAggYpEpcI/gbLuqPuC+1Dt1X7fhVkkP2XVtqEhtSxCyG31ukRfWRwqhtf7ZKPpkcNI7X+0WjhRL6aOEh4BYbb6gbJCDC6N50ccLeVTw2ljto3hsmosCETeA8Q6YGcGsKaG8drkRnBrc+dXQSW05BhNIwV9C+0RE57hEFVDHXcQn81pktL687jGfMgYla2n0RpHzzOEcduu0KXG+nBHDbwdAp4T4uc/O9V94jUx0BfC0c1cLwvTZsnCnOFXkBc4Ya+uRMzOh/v2mvpVjdFMC192wST9yAGtsQZY2pXMe7jAU6MIyive3uqsRC9Qcl12dpq4b+e84J9jQ5ZWudsZBV6+jxtGXCcDX6YMgvRVwwN9nwjAbUhvuAAdGfcN9/rgdY3+xl57oXQhrhZttML1tAp88BaLMpB1wcBmJZXqwASNwjkCepCsm3in09lXauji5xQlc30W5zLaub3V1dXpKOSi3iJf3YtwsxwWP9YvG1qD3+e4u31WF/yyZ15trdtlgCpAdM4D3cDlfOaSKuA1skCHyxODVkP7JV+4XCVeXbRWoisBeneWQ0zZvb7KX1jFy4VWkVZ6xxACTb7HnwXwAmg0ze715h6DfKt7YQqijyIsFww52A4AspDM+nQJ3Z9+/C8rvaXcCInZ9Jp74RGxfvZ3eTDGERxz6wREIiPyAUiIy2B6X6rn3YiLcCViI2sI9z74G25/p8CVoCXARIFrld3CgsUmEoE309559yRGwcOQbXSI5R1X57DuUS0vXHlV+rkR31Dav2t/tw4Y1+oEOcL70z3IY2FERKIzr9nkFuv1w0Pd6kobWURqbTpRGPrJ9pIbCMIOUr6qX1RCO65dqI0/RtJZFGkLfstESJw1oJpoir3jrfrsVWdaa0RMe73L67fqEQWSYgThHBhBBEtJvPcR0SSJCNQh6wUoroblP6Iur2UNjaGVF6Gd5DO23JaWchbdCRiOl1gY2iv+krsEk15tFfcfq+5MRHDbfv2CB3QKdSuy2hWYitgm5iNCUVD+jBdXKYwb7wi0YQVymc+pfK6vk2o/pIXfWI04JTJCmxGoCAAvff/QCx7Yi60Epdw6hb3aebJ2mCfG39iNeCcBckcRcF7Q31erh+CUhe/G+M4iGf3zBQXEcz+tgDEISlxra/UVEFz+wi9z19iL38/uPEWRey/dz19c31asLNZVze2sBW2iukAy/qYvfVIit9m3Dib5AmPYve+I+qRihqrSzw3B1kRYrWptvRiKyCUhKEvaxzI38WqCbxCZJq1QADwrpthl9JsBPcOzXbxfSA0FXt+wEoSMQkWhIl7+44hCWXGYBeQawQwiRUZCZZ1OiJsNTZQsNh2F8Y3AsEIfOH59dnQfzCA4GmiLIufXWyAx7QiLUG44GUEZLw0nBHi7V9EhsBnrf2QyF5iSRrYwSEMdZK4IzPQEhCuDny62SsGbzTgQEeLUUj3wHEgUYo8amrEJH13+h28ZQcIcSB2p8mz5YjRlgdqfK/F6DLOyqwqL9pOre9yBC9hZ+HEV3JgRRSTWl/Pp+GH0MLhpUyQQYDYwHHGXECOW/oOoTWleRw7BGFsDhpSUPcRhU0igbzWsDsEeFsTqUmib1JH5t2gJdmUYW9huiFYaR+FkkUHe44DId6FGFnAYIAhpuuwRpWCFYa6bosAWsB1toYnS3BUgHKTvSYA2sZ+8y072LNs/zfvMrO950Deq1z7gnbQX4mgtmX5oTWtnlzBTrE7TxgQKbhlTtOXvo1wc0Myo815ZV2J8+EC6zmZsQK59yL5VnSW5EbVVkuhtUmAYkuGcdW7GJKLq59ylH0KOLZkh2wnYar/E1pByQOGHKiVeGjCUAprMJHS6Pb+ZxizT6LQmu/ma18ufckkJt5DfIDL2UMQJQ9Af9P36zuExBQeLS1+OX0F/FxbH9dEmQQqZm3aWFFxGObhrt2/+ZyRj8SnhoEIUWy6jKIRh7NOQ6ErN8A9Mr9A+Zj1crpjxbOF+gba1UcRSnaEKIIA83DJ7tcMygolDQ0aYPtgkpKKmZagzf9l7OIQQYvpkUSF5D0V0KmS1IRWJ7RSRJm/IO2Rh3DF2W+5w3+kLxDbgSPIdzV7IHCD2E9xNOd1upOp6LwL379bvjAyUcxjwvGjhVUv9qoUc5o319n47zyHhTOonb1e/yZK97MwN/kO4qAveqhRydz3HEYcpMjNnijyZ5YGbj56fU28EzEovFdi4FH2/RPV2RgsgCduYGCFlwTqYHhEww+ExoHhtDD7ke4MaBucwjUzzMzgZPZIOlrfIlVPb8A2DzNFQP+kuZAFvBhiTaplraVFM4Ykr+hVwNwtIdWRuB26RnzNs+nVkjw0TIWB+ZB3Cf/Fh8UZmQ6skA+M8yiuDD7nR0EtI7IEQ3w99ypjgG/sCyj45YO4zP3dSKTXFfslJQu/jCRF77grOpqsrNue+4zYCH+KESAxYnYlAiS3Vl+CEz2flCvv+6uiPVmgpIRIN6si5pvqzJBhbQuZcSoKqXKp9ThRmRrIkCGjImNZj8ScOFPDMTWSoMJ+phGZbkn43HBJWG0Qc1KgwrAZUQcjrZPhNzR4gYVkk9vO/fUOQ0isl5zxAx9kNn3mOB6W40W6Ia6Vh2+pLks/Muw+tPX3n4qOZi96Sl9LnCa+GiQbhnWu8jZ6vEHXP55Z3N2bxBxr+WmLmFxcQdJiQolLRuHkjPHZncCYg+tgy95dEHrJHZmDwoUZBugRAsSaMzkQcXgb0jejtUA6Xbn4QeKUScO6I5OEGnZAkLM6Zbjw/Eg/jDt9DYbKIcbV8bY9fL52wOO2oWgTFS2r4Kx63piRsuGJA6Ct6YoVLjmY80gcQHPMqrdjkGQoPKMidqQFBoChKUGN4k3hmYxSsU5UtC9R64DkwuJ0NUo5kewHDtf12QfReCO2DGR9cJlyGGbgHiVqaJ7phGabp3SYokZARQ5bIHbKsFEoQd0g6LCz8JukGsili4rPyPRQ2z9brSlIObLIpLdBEcjl1h8EGlSQdBYVN4FKdgiNpVzmbJ6UFuwcLIm0SEQ6/cGWg3nEucus0NoZCzSLH7TEU9X0A38GKTDsL6No/Ew6Da4zrv3hSLAYAXCvUQ2aywGD6wr1EHSk14gHPy7yqKfyf+AhMxEo4iALoOWAO8KWFwRuJHESNkb4gKdWYLIf2FhPAGxb2wEVjpo0LptTqzUT3AwfMVZYTOQljbDJ94ObMS+Ib0EOwpGSLZ4FdQ5QIp/EWUCyzuEA2+JzaSN+jGDiEGEMm86H1hYR3BDJb2aMYMoNIwybsgbsiiYA5OUeEmNjkcqmxBbdojoUFsOZg66qbPqYQhY0kQuLpDlgSPuQ36J19kloAtBUIoxPuvx9aMBF6AKlLE4MWDUZxwIko2PKojLB3cDm/K2YOXKLtcV6w3mDiGAyjhKYGa4LzB2al3sTIv68wc/HdCOg2DLbTD25HKrJBNj24KE2PzS57PyElhdFMDj+gmiKVnAUruiTIWjLIdQtCFGqvL44Wjm6zO6UHIq1I9oELTiqMsDwmRLXkutirAy1GsI+DpthMiaUNW/Rv+wTR/sHsSXdTPh7dkhc84AE6PYP0FqZ7TsCof5OScED049ur9Y1WstCLtyLTx0LJ7SADS3QxhUg9C1fozoBfT28r5OzDxDBVwcfRkuewvaZJ9L6g/i0B6TIMURZqkSiDFLBD/+aZE8r5sThQp2hkD9JX3Bxcdovb0eFgPsP+VfGSB9N3SMPlTIFZHZk3Cd5HpgqR2Prmng5AM+hQavb5g6SLNXgyHEtuD797gT01sGbg+E44El8oEN71hvPrgz2O8dp+FKNK219sCEffia4eLvbGvn6VtjRAgO3ODlUsXHgPcKzgznIU/thx9MHlp9vV0diS3PteLA8tHxwetOLkE/tA4nD6B1sjopWQ6bd9wFObFDxE5qz7YAhyKtMY6A+0BwZv7Xn2vE20nI0c1F9qvJX43BvFZfa3lUZgYEzIebRN0EqDG+2UkBePgneP04U5VAcDc+FzkGH2xv2xsHJTmGmAYQ5VwTHYRzD+YgpnL9vQT8olwUE8bzF0hzZ1lGYZRp3KFn8nrECfqd8bND5mXCxlkQMAcA+5wGEU28LnPSzMGdzXT0yg1xLAsDBavDsyAnUvp5oiGTugEZsIg2cfEC1yZo0ZEvEQozbhB5egRiGaM1TB18zfRmsGDP2wxfT5spj+LYC1/AzGbN6m2UoexSQaPLRLiHuM0mVGmZcY0+NlW96lf3fhJxSGb4TYO+rq3ENvkvu/aLsZxDEgQ3akc5EFJWfUJTNnEhwjZodBTZSlwY8lYMTRvb3uBDqTAia+pGegamVQkWEQxfkWGRT7zxEOlMqvefe8iiD25LHx2d8gHeWcQId5gzwTxVPUkhJFxwOHAX36j8BNPK7gO0yrsWf3aXq3TGHc4d7C3VgEJzdg4HdlHHmDEgj5k9RWiCnZK1rp+zKHA5HydXmQFC9eWiQBrJqcHNQJo5sPgoWSkFENGaCe2hvMXzeaYiN54Ap76UB0AmJYKqB99NlUnh7iNWqLb+FL7pD0EKq1maDUicx8sTQ88TmPkaYpuQ53B33IsGbhBiBkv9QJBm95D67yMMi5LLCYJZ/WVUzUzE8JN9DS3UWoRLdDSqgUMxbsc+YsW8nYAJ7xGp9Ftr0JsSpZ+s5iwki4AogHVPwUqdGcbYNCebqOQ9chvLQSZKzkPubo6MAnmo5D9YTcvYTKpyraKYefN9nDtkO9wDWQ6RVUUwF8GnYPi1TexUqBIPu/cKfB1sobXg6KYXo9TryiwO/MCuxfA+MsDuApLXkPigw5XOY/ngr+0u4WcdPFPrgAgVDvlKyt0jbHlQzWSsrdrWbOUO2n2FJVygfvmKZ8yZ0taHqPX+EYytEGhqUNYW0UaeSh+ilpcHiUOHIb3KFbClzdxfCvYnN6BxQ8DkJc95vKWmVx9MOFrMaM+tLZUqB0B0EDTtsCsF040JzI0HAprUAvwCeWtNK+NCdPERavC21QOzv7Z8rdFXxpT3fENDyZgdGWmSthQ4RPAgC4rAidgviB0Zf+8jFDhNcfT75mndQx6YI0N0BKdBDoaGXgGgimbUAIjc+DKBDhpU16DFDopBuz6hUiUEEzAXNAcNK5sANqCDYKK1NoxnWbO0PLAbknhSco36kBBrISDpoIUONTG2g9HwC3A0GyjIs/lWvQmYzdaWNAJHQ8mYOGl1PB0NDsOyvxQ1AMtN+XBqXlnGA7Q3jikrQ5+zB038fvevmNCw9Dv7zl5WUFLRNMku1faPVBE3hXWkeVWN7JgBPKHhzE1oD+QwxBrbRL6GFjETCjk0WhIAk5S5ib8YzmqA0I5clcx2xyO2VZcu1TjBwYfF65jKFEwcDMuT3QYHYu3QwuUgWq1Yi7c88xsazkMNUkFQw4scwtl/eSpQRZgdr9r0ytY555CtHRZyL/WKmy1gxlIJLLWicvoreoOM7FBRpMYBVGPkIMg1ZEiUVjQCTSqK9lB2a1M0FJUlsVG+qQ3Ox4AsCEljkukSYshrjNi/0Qc2LXtkzYtpNvn67hUo2LvmjjYsMIEdS2TDGRLxCAo2tkw3X6xhwFwL/fZN+pMoI1qq1R9ZaBCAkeMo1rQh9PQ0LwL8wVYoKuPxQQFACaM29bonB9+NDgMDR4CSiiDABDA0cIOhCgKWcasXdaDooDUypLFND6YsVyUDixXvmvdA4JKFMXY3ECw0xrRYl/JA/6kI2JFICxB6GxTyG6SCBmpe9iUO3iBJEdnMXMkDiZc5iqcgUTL7MVof1fxuByo3Rx6LssOinHGg/ajeLdWuifLmpYcVwOgolkkSWHYWHca3WJe8Qd9FHGsDrgdsuCw48oJqDwWGDSDiYro1okOyvEImKye0gOJduWA47vNmGtolrC6CquCObLogpZTo1W5svu5Q3i/YICDiio7j5owxQxiosD6Di/MPilH7zeRihrl7EIMOUfq2zxdvtd5QW9IruVEYsIcTRitzdDeblsO4YqMHfNh5jFaGLcaDRqtfVgXmgbDMlC51a55uXrl6rV7DK1jdbVdqxb7UGoLChvaKspZD12KtuU00fAX6LR0XcPqUxYlbbHAtWGocOtVzvRfRQh9Fhws46A+XIvRe+/ZHDlfhUcOxDvLKFPbXdFDlBs9phWhJrtui9Zxnpg8cPJYYutuZuD3NyWHicN3xJSuAui/lkAeaokMzos8QHDhxnDxVtYh1BPBstkFWpvAEWKFVZiS3EMJtEJ+pAOH87Edop+wyzi6IgOeIDbGiEqcIDoc+RxuvyWCA3CwVsSfm+XDM6LCCBlHKL6fB7fflThBvUmFoooQZpQA6lmaLMiksEFa1amitn5WuGLCV91AepQIQWrVIasbqVOECl7gWrCNFUksw0VMqybcCoQINFtqtzNi6Sy9ZUBig/41HzxCCSzPnthGeEfR7B5h1ZTJhj0GFqclpYXjcOrROKdRW3LPNqoeHPUULyEDMBk41JxhUgri4ZONRWUuQRrZNuHjPEiuMn+PB7c1xArjEzFYsS08ZQoA1xp3jVPGNOKXLYdbEHQPXT5XE3Ewi0dXhqyoXLjp36VOPfiPy46TpgrijzZtuLqWRpVMUmNewI/g9fAewLWbNwQZSzcEBuX0nJI/QZuQjr4Jx7LyJ79ejdPpD0+HNFUkr2HQ2G/Ag96N0UThKdPlcLFrchIfQq1oklVxyJsQG4hFijwXDbQME9OKrYjNGmMHj8Mz4dG/F/M6a2watP8yotJt5pFrT+ZARwAcC8OMnkLa4zqQCMAb1G2K1rlrSEQ7liXdnJWqzgEdutrN9Am0tQyBVCDAI5PLBGAWOwIjagKERadVS8+UbfTmpC/Jwa1h/vZagyjJXgVXuWeIGN2wG1WgGOFTPEBSkEwkyc2pmINUmqYEzNk/KH6JnUg8CD9KyqAHFQVFptWgE0YsCGaDXsw34BkpJ925yLKNIH1rVNA4k7WOAV6ygVBEmXt+7WxS0bfYBvOAKbWWRoT6ZYmMfF0NlawY8divgOAZGUvEnfUgONusyZd1hiLOHMEtY/z6Z0SMAhU6PkjDgoQ85VmilOmXaKs0T6/BLDdmj5tGWctyscA0g5pkWH3NEXyMk5e/U2uQJSGTSQ9jplQM+ypMMw8gDR1MpnvqRZEvdgm8j/HC59v8I0hY8+pCWjRymS1B/qXruBhpErtix151nV0RF2bepeu4kOWy7kz7X4eyMFVZRhk0hLLw5W3I6qkbHd3r5s3pCWXgQtHWeizBZE83rskXzehOQVUdRA4AAeQuKY+nPRkzisJD7lWXMUa0PuOAcgAYD9KwHZZdqqR6lPxBA7jqmQuAyazNiDoKxFClcrzkSU4F8xZkhfuUA2lKUQHqbMdw1hU2VG4qwkPJm+1lypb0plo6zn/TVo2zRU16JJkB4tQFGgOhqDcybb4O4ZsGsfgUgiQVmb30MCaIG0aBhvrRD96nM1saPG0WeMSbRNFCRR0Z7H/ZQ6GAUdhiAlNEcUOoOB8Ro16X16NtHHoq2dJtE3bRG2HS5YSEEv0dto0nDvY956V/EYu0T9etbRaOHkIMYYbeI0jh0w5PhG+3m/KDsIxKqQm4h9Kukw/1OlKsAo+G9o+Ba3ldaKylvT4FADUdTWPSZId2I/IO2Xccmi8b1a6MXkXP+uOg0RHa5F1EBUg8UR7epaujjiPYqD92SdOwyRhCBS5bG6K+xUmccPAaHLlcXd5oUgwJC11ZXJGyr4T5K10SyR6ZgS2HtIPEGwIwwaoNiRB5D2H20kdeI5rwcBxtcrN5E6kYlIzUy5l1ND7A7Dp4tX8TGoEpDrkFUh3sVV11n9XEsQdhGewL2kcc0XMuIchE/SRDE0kSLIfsEH69cy5v5Feka2yT6R3JZ6BcVcXaQhyw8qY39NsXTj0XLrXPxVxxYhlS6RLCMOazJxdw2tIFwhwMCALSAoMeOej+JwJKTShgyE2HT6nfG5sOs2h0UForItW8gvZrNcKyJ5mBnYHn03MFNpRh5B7QFM3U7+BvFPBR2tjh0vLeeAY6bY4dKSyOi2PLg4uBWXNDhpXcUH/EVzX2RkJKUo61LG3IdCvkzC1uDkhiBHDVoCIMaIYw3N9OIQf4UGKEMQuRlURVLK4+CI9M4MfjLAa6Xla2DGV8AEMf/gW3NQj6L9awDNoIIVO/cjK8G9uBrwZoMX/86QxpLLsmnSGKsA0DYCb4w5Glz1KGKeMfah376bfaeyNWwrV7fCyi1DVPAUB0NkdFzQBR/nNQFHOs0nAtHRk9h9ngn8GF9bfwap4MghshiRg6JSE6PP+JUqhzfs9SAPpGqJqp4BSeiC6dIJP+2OyKJzchRz3F80HzRBEUeUESsICjDPOc9mUUhzKzRiUK8la4K3YPiiGIo/9LB0Ewvp6KGG0gxJXBaGUljzLaUM50nP/Sj8G/RYPBYZHu1nrCW+R93q5yHaCCKkHXxt5uxvgdI8WBGS5rYfevjILdLRyklnXYR0xfwYooDCKHTyMBTPd6jCh2ggmbQBDHxIHPxfF5c55oKGxnAbkYzxVpYmEeLAi9KOKWL57bpR4npo5HZyOG+CLIQ3GTwRhSTeNZuUY2vl8u2eUiirOa640F8o28Y/yjDsAJ4GGXx/bnzmmN5WQH+M3Q5vw1RoIopRn0AethxUZX7UvSRL4q4jPh2zQj6Eahba04ytTATEFyGEkAwgOiNjzLz34UpN+8eBeZMjiihrp3IXXVAGQO/RWPgdjAQkTL+sIkBwUw2VH9oBpkYJyNou6FaXRAElWUNPYmca4toRlOhuJmdVNWSJsbaRQykidE0/f2kUMNU+2lVvBpFBjEB1oKBiPKNvGRGWWywOKo/rIxMjK1HQ5BYf2KeWrAxYjpcBlE03IGh1SBcQiV8Rif8C8XB0kJ88HnWlkzm36Ei16uUPS3Dq40A0zGA2AmWXcMofiETLNNFbaMpEKAo1TRRr1/5HWTpSzfFC1BR+XA5NFhEAMiRPBqTRqaiO2mjaPgUbK4y95FCi4J1NQbhoyOBxtlIIL/XS1svu+RxOtrNhkjYb1igdLZUO0q8WYUKl5HapJgcarUVUjxIGa5F5lTR7cqnReRcpGTUmJstONpPLVxO6pGKzqYEdxeB4RsUw36SxQiKG3tgEN2suE4l0L00Zdt5eDDrK94anj26WTQs5AWp4jUJdkiUyrDbqk0R8rVhFtqwm9Y9TrU8c3S5C6sQJku2i0bHBUXelGRNTL2wVMLI9HVEI7JDNWRUsXxCIQoZEMdO1iSR5KXtpOV0dFSZUtkQxdamW2rtiRW4YijevDupl8NDDEUaPZW4HjQVHmOGXpkeHY+SjDoK7aPjMt2HotuzephUR9anSNhTsb7CLORA6SryV48nzZZEMbs+3mcxt1YQYrFLuQo2jaMibmwXmIRkY9DbKWCJLH6mwyPJKE/g1+pxf7BzXgyOPPnaR/lp1FKsaSrgayZeXRSrd446E/2YKMgafxSvjgJkTIGncUrelHluvZCLdGYmX2E1aauGRodoDZCYwhNkP7hHAoxKUQkGDyFr4tbo9Fuk8dP8azCVcZJUpXXRjyRN46E/17qMveWaWYplv+48KEb0coUV5xGhRhdHnN2taLRlQiShQYAeLM6OxrNPo2ky3ccL0GFdBx0dDWWDE3Nld9Gmp2+QajoyhB+CdyGMaaNJrJCg2HRm+JvDEKMU/FAdBYPE7PFPtGBEwMYDFESsMi6DEdynipc4LlpSHc6Bjo4TL9Qx4tAZPRBzeWFMjLaOzqNq0SbRhtZ9E70XhYMYQY1+O5C6JWjhHRIEYYo0b6gx0kuS1wWSGGzWRkgVBlN19qN3mqHmo64UPodHm7QrUBQXoIY3EjdcT/Z6VWl2lysUIXJpQPDHtqnLjB2hR5uuUgfNHaoN5oBZcF5TZ5VLDHPiPDCH9aWG4G/G2gRilH2SPmClKwAiDwoBszGOapX8TPA+YKPjAy/BodAf1boxhlFwX8N4CM30gKnp/SmQhljICDmOGO7b4QbLRSFwTGOkcHS0aiQMgWHDwCpG92hz4SYxjQgr2sXTmufzDkHFdJBlB0jwMDf6JjuTqIcnhITGy7R7qI+QNoo8lg2qgspEHwqQsYO8YpRJ9hS4DvaPruVlIqMuS2inY4nhLJPT/7bRgWUi71CzyLT2FuEzPezRHimOuMdzkAXI5IOhCgfgC8aDo0aKLGzJ3kSotFQnH3CQp4AHRtytQYP2SPaY+7ovKRybjOlHoQiriVGwZBq/SApaDyZJZI57oHlJmBrRNbotksTdIu0Lw0S05IRc/o/YA5bbcJ9KjLA4Q+xotEkUz8UMUycfbe0CZ/n3BhZjbRUIgGZgEHUfxHOG1zaC48A7ayfoBfuy5emCr1gwR/uwmCu4jLW50aJ0EAwBJUI8bGXQ5v83MwhawpQLC204B96HwihaKCqFjNYhrWp5gHaFxS3RupBknlRz1AFmNv9w5EeagUFjwrzMOHiwG41tLaJTBCcaSkxAmNoXfKfR3arBBaSDuKtrNo8gtn9ZvgauVNXop/vMxnIm6Ogxt1RSIZ9lSxmFZKi62FXmXDU8Z8a6r655Az1AawPN9r7q5ljv9jmjAwrJBNY7tccQSMy0gGMqK6FBcwlGRuG9O3FE5qNcf+sA4Uprjemy6JxwtquicVJj0GcLaIoEOFhU2II284GQYEjilwxTzOwGwpIijzZ6816gaD8q7l6+GTBHwmFwxSVXc1jFm9DWNWseTvQDk9C2J+H3IHaBGotvh7dUCmOxELZusZa/q+rVYkAUCZcDkOOfw36x02+shR89lHfzFlZbYn/D5MDJqATe3X1XYIl7Yr6tR1lxsYl9uZneHm8UgiWBNmy4cOqE60q3Ztma6/rr4kQw4ry9o0z67Fykm03RHCaZN3ZsVwNUQKYZYO4s9+4kDFbDXqyvabeu7Rg16sKCPUwJZUIO48+ADTCWVBaW07Y+d/BvwNpNaCOPrv67terJgjQ/DqaBjuIe0HTgjpj16teTTiQKtQCsxzl+y1BoirLaGvVvmk7G9AlBeXHpkAPoX9E8iwwtiMsEfrG95UoQLMWcNoS5D2k3MIDDwr4wvOHZNBLsbEouciuEqoDKimVQaHtJj0wF5Bvexolr5SG8PXanfi6NGgsKPPB1kbSUmHYDNHiCCPTyoPQ4PQs/k0rjDE1uCzDdsBrUxNUHHnGAwcdmY1WWdu2sGsEOC+YKU0Jsa+0meZhXEHenjagIlbQtxXSazeWONlzcTeGdYJLBpwJUZEY91sbUR91Ff9iKrZ+xjuVjQwqW0riHnhfCz1hXabIEwfNCCaU74wNgU3/YZZO+Mm1CIIMu0BHdNWQL078cVRwA7Y9cWbfm40B/7YEt0ccOPzSKJmNtwiREroeo9m4uEWDwtLGGjWwDoFu44VtKvgVnHHtEk4/oKujx1qBLfCRN0mRktaG+J6K711BL8vUwdcQwQ4maLBlU0ccVeHe44xVsGDkkRn8vZXP8LPARmaK5lVeIPsTS17UqON1DnE2Ycfw48woYDx0jg0ONsJrk5q4m3OhtKq1UI28vt5tW8+D255BtD0dTNUoYF4Xo4nb6Z0U2UkMYcas+FFdSbQ7lJoPY9nbAOU457tF/HaVAmwHf/BhNp7jlN5KYJYTQKkUtAoJgPE0BOIEMKzzEsRfdTkUWZEdwbR08eFF4ybff71wG2fht1cuNICDFmCfSrMpT0AjVQOviUagNxtxFtC6LbYuaR1k21AO3BPm7ZeAncb7QHaNJ29G0YmwhdidPpXHB18wWoQfd4DuZQF2ZknpTUtxy1OA1CrBQTcez4OUuy3AaZypfFzatwTmQgNT2vjgkfHasp58RPIUpBhCoJuOdqARUQ0XNt422xHjncPh/dn9xlAJOXH83ZIyxYPSJyJx2nLogT0UEC4VeoxaQqNhCchB7ZP3dqx3VMBeUKT3Z8oGK4zvIZFwMgTSNiB/r8CbIEudhbV7ppUV/sF/g9Kst2ov8z22Q8Zrdtuwund07EVpUDUIPYetKqL9pgS30L7Pvj/XtKtnjSX69pUPsPOfadKjP94y7p2JruxF3bb/Bd22f6Hn1GBJ8Cc3Om9ib0qcW3BoDJ4xjx6FjPc7S3YRBI5EUbu5XjBDbeDZENqa6M1++F9VAToZUD/tWAR16Y3RFy6cgmEvoo7am0jr0hQSWG13YXSdnA4btxjHaLWi6CtWCbUE9QVU5b2z01+Iqdst+3DBNTtUP0R7vc9nXqbl9I57ZG0gengsO/O/b9omUYV356GgCaCQhjBoxNRnYhiNM4fMEh/9257HJVGMNWCfSu1kIqhqLEHGgI5GMjHCxt+wT8i3Y+LR/S0MbiVZwSXX1Au2x/YBe9m26IQ8f2gXrclZVAAdgSq6kQmJYFJ/anxlvjdAHKf1SSup/dKQkvjLAH+F1IhORdnG+/d4ukqcL3s/phdqqEvgDW4jdRiCAaXoBZKw0h/XDU+OWSr3wTDAWsQTkqaCFFvp+djzIUt9VTavJWKAf/EcsE/yVgs7LXgmyATVcWusKV1dbEAlRSpHlZ9/bJ9yUr4pXxAfyfXfxwp9abDNf2O8epQErzZoqgFwICjwLk7fTK8/R2Q5gZIG6nyntjlyrA5EzCsP4CysoNXxe1Iu7qsP5R5AjYgfdMu92tCBQ/HaGGECTHGwPxCxhwglgMEj8UrYSlYDUrsBMEyvYCZb4cxFB7jKVjrIs2bVYAjr0OzazGEj+CL8XAK7DZriK0BVhMb5cekAnmw8QYGsHNAO38eIK47xzQDc/FcCc/WoEivAVhqBKBFR2xMduQKtbxkSKO/Go0Db8fHbQp2NArUv4t8sH8Zeg8fxaSKa/FD+KhSSorVQTY/jup3dZN4FUpsmfxUgq+BNS5SNXaw7aQVyTHV/EsCtWSX4xrfxjAmzVlKwcd4wf46NpgCIzBUpSq8UfxYswVrYrVwn6f2AEzUG7RdD/iUlbqeg5rbzWhT2VjsVFGACtIBIV46BwHMr3xx/UaFUFHsflFkpULpErIAycfK+txRAw7tVZNeJ1aelvYm2Nka8v5fwEwTXvymeQqn9hR56orVkMUok51t3ixSxQbKjgC1GPmI4Qm/FENJ1EcuzBrOQpHimhOB8ALVuwhvuQY/S/LaUcLtiYhSFFxZxA0W3Sse+5WZgVJOtyzvY4F4a+OeiBkpwOTjc8Oni3dwGZ4utgB4tLPF0q2s8QeLWzxcKsDZZzy3OrLHh+mRrniSUXaeNRVjSi7zxvoAHUzGMf88bGmilFaabMZH80FdRWp4ivwnPKwCooHp8DF//HOo8Xi8NHXQIq8Y3YDlJWKLkvGHAjtSVOhtMehSomQlTKD3tpM6YETO7iNUR01zS8eiiuc9R951gmPK1ACULqG5WoC62QmdSjJWaFUj5FuhTbpGO1w5foYUoRRQKLVP5ihKRfpvsq12vu05Ra5NqgyNm8/kWxo6MwXd+o4eKpoXuyTYs3Jkx2Cx+WNbLolcD1h/VsoWxFe44FtF9lQhiUCPBFw2NbMYlePdHq4bs2vpb4oU+RcvJBzUqNPMBlKJ9DFjJa9+6Q9wU5c8LNy5Q/d8V4j9xK8AFMUOwzws/Llaie+bgI+37uhmil+7nEsAej7Yyl9j0R3u5b9xUqqbApztBomd+4Qjx1Ex5imEtmHqNRPcMDqrk2LbplF/ccl7vHsBLXPPN/Bz/dh8VyidYHoJalTt4onNmg4z2sYXX8gjQ4PqL5ZG+vchXcWicE5vrtBYvQuyCNpm62WISRrumiavTE/wOioFAMskQ0REoYlgo/GxMS5K0KTRUEQ8JN8scWmyABgWfUyHMOe8dL064ts3jtzywlrvQttwALrb1EMHpveN2uscWSuxUJAJAtvFhweoH8KQL+xMlWv8sAi6lH1RIGMbQThC6zGSBjTuGLqUfWSHsrVpUCmce91bGnB4hF7nr6PLn110TWJZqHrq1tBxtpe31a33irGBQnv9Ww8TlUiUJ6o/LfeLdHI50UPjKtbUXphbh/gfLWq9hrxPpjy59WqeVset3aUB7OmGvE09233pGvrnu4PAjdE3P4T7mD1JdXhIW0ObrL6r7uCPcjLX4lv+7q3UvUTwPdvC1aiewXi93SHuEuKYe6PotpLWEvG3FVNAW4HYtCx7sZ28hZgthYb0492TqaSO6R463cR/n8iFxwd8uNUdCXLseZfYVhIDwNYjEFarPgykkNi9NBQcpOE7a5qCwpBS8i3XWpQMVxuk6QAn4k6J2w9RFbbucNhKsaTqtydJQlyqUvLBpFFwJkU9hQ7uaKs72IhqTp4wOqq3OGFCqOHoeoxeQKKd2hBcm2NPQ/ogCItOICI89JPoBx3zCJJtSTlDiHCx+3Esk7TIe3ur8hj9bKSY86DP4bhU6Qg5iDs6Gd1ZQmrWWsALMXDZkAdA3roojevEnPmZFkGoUHY7drlGuBmkC/GpVJAno1AQnPBIk6eMGVkPPaQpyLZh2cDVDlkk8KEVKT7pg3WD94DxFLhnUvdmeBPgMVNhiUIzgDO9UGc1F0sEDUXW11OZpKhBJ3EpwIrNTVJhgt5ZdBFGAgHrE01J2XmgIB7nXaAqDCV8QIIxTUnZg3qGid+DqWFAQhVq6pMFuoLBMhEtrqvEs3nmq5xTgUSwGcEkHB9WENIb5YQWCIbA8cDJNblGGmwAOXOG4bOxm7CD1JSHWY85uw0ICUh25QiXpEtlUjgjiiBWDyIrX7aRwT/15aBFvB3dpS/H/6iuwkVs2uoTutf2fGQEXQIKxwA21gnndeWXRd1RRg2HGZwPgDdyyB/AppVkA3aaFQDQ+VdANEMmabamlWwDZVwS5gZ/bT3XkGC4/grXfx9vBgyzUkynqkw2wGSQbB9gC68VUFsRDKZ11neYbkDnl0tMF5U9YSo+9sLiaifaoxjwLCBP6LuoRVV1RQ7pVSpIFB8OcMcvBDqTPUYHFapJq4Yz1BMuSAUaR4PgCLLl8NpstUbvNi5h9KNBLyiciw3zkSHuLEGEz4BYvxsQ5ax2xNMmIa6iyYnZb9YDdFfOQgrkb+i3NWz8a0T5kCRVVv0GXeZXWDc5iUxd+5ayZMxWbJiEeFsnjO4PHwoPsrJk9W435Py4fZLVcNsQIHmSuQsgjzrmnTlvA/rgB/Skc6y/iHsWOrfJB8B7LrA2jo3CUt6UOTvwGXxaVIuNBBGjV4M5YLcsmDVsiThdmn6tkGcC3qaUA1zsnJmBJ+eV+Ah1JDWhgZ1YlgKZIFqBxNHRlv2WsChqzTr3lOQYvhTpcuD5LtyzENQHOsgxfC8HFdUGyeDqIYIzQ+cTw+yOBpwFV+EjXNk1NMwfexu3A3jPwNvmYP42F7USq597CC5WIhph5aFChEOmZo/ojubBLIgZg9dC1aMXk+khq80+hjK2GYwY/uWBQwisSmbKLUxwrDuWj6e8hBQF9XnEflFjj+VGQ4xHzQqXTQ2I+ZGy2xoviHXe7Zwong54h/eTLyyDAWPZmyg8WjSuTeGH46l2IbZtJDCwMd0Og4KFC0S8yVxa4Dh2NGcZPVQe1YPshqzIWFCVinX0v9yJBhlKDbbLEFNJUGQUwdJuqu4YcpF1haAd+VbiRDNzoncmHz0a30B2Q5c5XyHLzb1fFIU3PJ2zw5uydgEDj1X3O5Oljg5nid9mV8O7eX2qvc5DyhiWBX8AoU4iSUb5c4ZAqXpBDBpfGYczWpXhS3Ew1syzrkw1skZpzMs5ujO7cA68iEOOz0s8D0ZtGGcL8xRTmXBjqAOyOKcTFqjV5sRAFFOvrwdeZLoXRTbyiIuBa0I2ehcHE7FJFpkOEUNgdUIMwK2uCin4C4X7I28RR9Th0Bzy2CA3gZ0QzxcjZ6WrGIuCxID0g2DcikgUE9EuU3gek1d0wQf5QSmzgUYvKBZg6s7fp1TAVYxBKYwdpmY5gqbinNZHCmCL2fh7Ejc76zCXTWbvDWCbeoiSryTYXarZvS1Fug0KZSEH7p4m9o/Qywcvntvky1mU4LNSI9MYXWhOCJX3jGyJYabWByM4CjzKwOD4eSZfow+15bH9KOVInKLA2G0MKZgssH70LmOTmd68npT976CEPXgHDWXNeA/tUyno1kzKY6U3Bh1l6lKH6FClSajA080kC88xzight3qsOFWs8YOiDAP9lOqoDVSN0z4DeaskN2FaN+A5Wrd41P0KkM7hWA4BSjC0EDe5oup1cwAr7rpsK2FGsB6yNPKdJELXgRjRvPADK4SCHbI65sd/NSLJDkNo8DoBdjkGLgfXx3sGLHJSHsv4Z1DIJGDdD6hNb1AdeiM8exjhiAI4bqkNlm4gMzFC18ESHOsoyQgBB9bd4a+EbmFx1QKTXNIjI7ThAy9tc6aSpq6AFdS18EjaDSWQSp/ox/9AklkomCxU54POc4beCkNByUdPgFb8PXgwJLsXQ1V35U6zLDTpZKHhrCwyLBU1bC+uAAHTUyWwoe4o69i01DsCh6KEKqYNMDzgfPJr56DTAwUfA2JqhnT06uiOx689zMzXlo/VTaFH7L6w5JzPc7CojQOFHPRwGmHyg65oSPZBphD3WuaA2MLGCNlw+5AOMl5cAHg1NU8AUU7z3kOuXutQDA0wEARBiYOA+ZqavQB0r/hKzzQ1PSvHwntT25CgOpqTkNvdLbvDk84BEyzwfi324Fs3ZOqBOTH5p6CGxkGhNR+adkBOanS+5mIHr+LQQqVA7fIDGCjkvOZKuUXD4KgLQowrattjqX3IO2yHwRxSgVtfyYFkmctNab+JwmXIpwWjI022v7KsuDKqdaZUBgTvJgCml4DrEsK0HYhwfJeJth8k14rd4I1oAX1UeTOSV61Kyha4obxDjPB42UrqcVOFfwXPJJOahdAboEmMc8e0rFo+SQq175PcrZu8Cm92zLnPlEktc6cqW7eA5ux6e7YIA/cH10s5lw6BuKN2Fu45ZwIIKpxtt3djjXAlU0zvBlA3rtE6nkLMgrTqSuSwlSHcOVuaPOcElWitF3UAbcXZYlZUxdHZzl54hE6koSbAKSACyupSuLWhjIaaxDZ8eHlpRlqafzEqYZFhZy++w7FC0FkTPEh6ehpyX5mxKxnBS4sirYG09EjhmB64l5vGueF90+m9MWACUOgaebeWjSUFTf6m40UjX0jqTpW8Idd+T31PBDorUOfUqew9t65/0rlFdeUt8SfF7g6N/CITrYcEsek9Td5bqvhd2WVgIep7tl2eKp9psOBGPQ18Gep3DhdNNrqYw5SuUQVDpShl1PODq9EJ/RqTTzGLp1PO4tNMY+sfvJDKBqeDjqb9qQAdAshvamnNPUod7U5lWvQ2lzwu1NxDscuEspnxApPV5njNqeCQAQgCk4DjDhrm8UgPPc/q3E0R8A+qCqxIgcFmUrnATBac/zNSNS02wWxvWg/xgOgKAo6FNWp8WgXnpnZD1qedKdMXULTh7BkfBP1LbU0EEZRp70576U7jp7U60ywYe0jSbkk6XPjCS5poSpLbgryVtThvJa/CBhptmnc269KaXU0zUvyZZmnhjafUaJ0LMy5VWWHKjNMVq1MibWobTTHSZR6mTTjnado1am9gvc5tPn+MAuBep3YEDDSZNP2AqXpG5YVipcw9UsVvqf4LZkhs7TyPxlGn8adwpejRpm9wlqStmAaYuIynU1JGlSH3VQQaZg0yP8EtFMGm1KUU0YreEZXKXwp5yKNOA6cPOehp8IIvcisNOt1Jn2r3UkzlUJqCNMfcuQqQZ4r/JndTBUX0WBJ2IqMVbQ0rcHqCeqGHqX6nZbTf4lFhN+pwUebhyssgfqcVHkac3S5pqAuG9ZPNaKWlCcQKV5c3uFkocTPx23Io7PrI6wIwncyTXm7A507pppckROaNyKCoaoVFlC5mEQFDBdOUkrvUINe18xpJKdKTnNK17VJYLq9u8HqrAYhABvamB1apkErTe1i6czJY7g++lQzKaFF4/LSGexp5PERKGZB4saar7aCSnORcN7APA5yIEqcpRpz4RBjDLTbEuJbDipgBDbxL/pbsUOd09nccFDNuoLMVBU0a6aChgW0n/jds3nEsdrHSp93TUAySI7dwX2Jb3+Ash9umviXvIZYKZ5nff4A8HXI5KvAFwFDemSjp4nwSWG6bbZZQPX9Th6xv1Ydqa108uC444mN7nsFIQuL00C+lXTmGlzdha9ow1mOp9CcYymEMWbFsnKCshknc56nMm5IQuHoA7Ux9coGtDxDeId508Zp8akUxap7Br61LlKGcwsQuL6t1bHqc6UIPe34tDOadyhGDt+LU3pvy46GKDjALSFpWA8WwytUGRGq39xAhzVvpoPFbszSvqSRNoHq/kxUdI/zU9M/a1lHQZrVPT3/SRyMGdCgcTI03pwW8HcR1yVKveHbjZkDYZKmr0X6dydvUEJq99Ozv9O7vCinQROXHVBqQ9o4aLLJcIj0gvddnxDiUcjtruHChlRpdpKxFBEGP5HWGSq3TMjT0i3m6Yf07H4HFDl+nr/Dsacv0+n4ElDp+m5dOZkoaRE8S6lDhjxgKOFgYLIRQZ0b277hwmGNBl6RWG0V15y+nQSXWaoloQPBjd41mqwymeqdX8DmWSnYMNC5dNt5uH044VNnTfUc0WULQBSGYLpNhwJGK2Waa/MjZTBJ354f5D4JOKGaAoUhJ9NAYFC1RMxYGJozhJm8lQO4rDojqYfKMVBmAZvFapOXovAlE32psr4e0d9EPgxEqaXyWrTlkGGxS2IPBcfayTLRQdPz4p1hlNWOYXih35spbDrlqQc2iCvi68Apgz4a6LPECM/S+4Izd1zj0UStQXZWYjQ1WDXhe2TUGaUsEeyotlHhmEjbUYG30BWUq2g5lbDrgQiE7zNxgPctbljO8wzlvwaYUZoDAe7A6aFdoqXQE708ozVoSXkAPR3X00BgaDT1ZaqUAyEuIxPUS5ozograbVfIGqJH1HayYUeSdMOMNJ99dvAa3DMQTmy1rdRUw65J1Xpd8AXCXBXKUw7ypmTD3CpY/V7+C2pdwqabF+BGUjoJErt2EtS8iM8GHQy17NJ2M4GWyrJ+frSkjLGe/ue3lEv1QDS5MOJiAUwwsZyx1XhpTaETGaaUL3YOXpIxnaKPmoAZ+RAqNv1N/5sdXj6d6M+TsAwlU9gjCVEaH+M60ZvQlRGhGjMQ0rBMwwswGlfxnsCMPzjryikkTrV0P480Wz5WNw0D+U3DQJmLCWoSBLLbPla3DWHdK/l3GZY/W8Zv/Q56BD7lqpAzLWgmGTDelhvS3BaB8JWqkf0txxm77l6WHpM+WW7MOlUijzBbGZWJEnsReQdoH+3ix7BQUEn0gp+g9zXc2yWDXiGskeFAHHBi33BKqAwM6sueRd5at2UJQf+oTuYQ9leJtzQyT4rGwIeHY7T6yAU6OupDDxdZc5sOtRaf0DxrIwyDpWj9lMb10/QEFKrZTxBzktwppmdhOjprxeBy/RhzzxwOWXZQHTY0gBLDsLtnOXwcvDDv6p+p4SbLpdk+mrr7jO8xXcFnKSP0mcqtitJB/PcRGnisMOZm8LcjAHy5AmY5cUthGmU5qgZzl8U6XTOwaczib4pgB+ozEO2V2medxdFy/Rh1pmbDM0KPfcBzioTllZ5MB1eYAExTqZ99Tnaa7Pra/pzTGm+zUz7cAR02wgcnxdZy7TGipnd0DWcrpA//2zX54xJWpl8CoAOjWBk+G0hmIoOwKGM0x3EEsDWDqcbkXwiAoRcWZitTnKIRDDOBHye3YmA5m9K3UUK6DziO5BwwztWiMRgmGYC5cPQrvFK9gamlbTk/ZWrkmq27kKfqnnPGjsHAwwi5sDg/Cpf0NkDhfYK2BYZTwtAX5xq6KeZwS1yWAA8XRqtrM0YZ34tYeLW0OQJUk0x3EDQzBCmVDNhPsvNkqZnszZAUo8WMOEFcFE+zzToVKcYaBqyzAB40oDAmFd5OE80Ci+HfAJCu9JLqCAYLWPlqR9c6ERklnVKQgCSRhRZg1GWgA3UZBOV4JkE5EC6QY1McZ5IyYszkjcx6WgA/0ZaAFn8lYZTuKQjUtABWGR22vxZyGyOO0hLOy7QyisodYWyMBMZAqSWb0xqgZCY6oln9Mak7QUs9fpX/aylmxNqm5RgJuZtNSzA20DIq3BUEs0JdWS6kIBESZVbWUs93dZLaplmlEamWf/ijJZktmSbVlLPAo3Ms0JdARqGUUKQZaABBMuMlPdKkIAzUpeWYJBm5ZmcyflmgmYBWYYGjdpH+aA2M7wA+WY8RkFZkKyaqkLPJlPUFamU9DyzfZk3LORmWSszuzNyzi0N0rMYwyGatWNNJ6WgAkHp5Wb/unbNdLGWgAZeolWdVuloAVwmFVn6+p2w0hAM8tCqza60tACTORJMgI5AyKTVma9IBOUas4e1KFyFTlKIptWfXUjM5VqzXVmq9LQuTvqp1Zzeqw1mKnKLNTGs9fVW8yRykOrPl6SGs7NZkFSkIBZmrNWZ8MoNZ8azs1mtDIbWZms9uZN9S3BlprMDtQ1Mn45f3SK1nFrPbmVr0jtZo6zt5lh9JXWbKcoPpP3SB1mFrObWYus09Z75S51nB9JHGTus+JZEky5JlvrPQWRJMpyZM6zL1nB9JamWBs7tZwfSWZlRrPPWYhsySZOsy/1mj2okmV3MtDZ96zINmSTL3mXBs9dZ7cysFkUbOrWYFUlJZXGzH1mh2px2Rhs1jZ49qqfkprOk2fuszp1BGzq6l5mqU2dRsxDZ1SzVNnxLK31VOUqsAAgAqABURoTBFSkg9CCKAYwAJgh3YF8gImEIAAA="))
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
/* Utility functions */
|
|
|
|
var storagePrefix = 'KiCad_HTML_BOM__' + pcbdata.metadata.title + '__' +
|
|
pcbdata.metadata.revision + '__#';
|
|
var storage;
|
|
|
|
function initStorage(key) {
|
|
try {
|
|
window.localStorage.getItem("blank");
|
|
storage = window.localStorage;
|
|
} catch (e) {
|
|
// localStorage not available
|
|
}
|
|
if (!storage) {
|
|
try {
|
|
window.sessionStorage.getItem("blank");
|
|
storage = window.sessionStorage;
|
|
} catch (e) {
|
|
// sessionStorage also not available
|
|
}
|
|
}
|
|
}
|
|
|
|
function readStorage(key) {
|
|
if (storage) {
|
|
return storage.getItem(storagePrefix + key);
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
function writeStorage(key, value) {
|
|
if (storage) {
|
|
storage.setItem(storagePrefix + key, value);
|
|
}
|
|
}
|
|
|
|
function fancyDblClickHandler(el, onsingle, ondouble) {
|
|
return function() {
|
|
if (el.getAttribute("data-dblclick") == null) {
|
|
el.setAttribute("data-dblclick", 1);
|
|
setTimeout(function() {
|
|
if (el.getAttribute("data-dblclick") == 1) {
|
|
onsingle();
|
|
}
|
|
el.removeAttribute("data-dblclick");
|
|
}, 200);
|
|
} else {
|
|
el.removeAttribute("data-dblclick");
|
|
ondouble();
|
|
}
|
|
}
|
|
}
|
|
|
|
function smoothScrollToRow(rowid) {
|
|
document.getElementById(rowid).scrollIntoView({
|
|
behavior: "smooth",
|
|
block: "center",
|
|
inline: "nearest"
|
|
});
|
|
}
|
|
|
|
function focusInputField(input) {
|
|
input.scrollIntoView(false);
|
|
input.focus();
|
|
input.select();
|
|
}
|
|
|
|
function copyToClipboard() {
|
|
var text = '';
|
|
for (var node of bomhead.childNodes[0].childNodes) {
|
|
if (node.firstChild) {
|
|
text = text + node.firstChild.nodeValue;
|
|
}
|
|
if (node != bomhead.childNodes[0].lastChild) {
|
|
text += '\t';
|
|
}
|
|
}
|
|
text += '\n';
|
|
for (var row of bombody.childNodes) {
|
|
for (var cell of row.childNodes) {
|
|
for (var node of cell.childNodes) {
|
|
if (node.nodeName == "INPUT") {
|
|
if (node.checked) {
|
|
text = text + '✓';
|
|
}
|
|
} else if (node.nodeName == "MARK") {
|
|
text = text + node.firstChild.nodeValue;
|
|
} else {
|
|
text = text + node.nodeValue;
|
|
}
|
|
}
|
|
if (cell != row.lastChild) {
|
|
text += '\t';
|
|
}
|
|
}
|
|
text += '\n';
|
|
}
|
|
var textArea = document.createElement("textarea");
|
|
textArea.classList.add('clipboard-temp');
|
|
textArea.value = text;
|
|
|
|
document.body.appendChild(textArea);
|
|
textArea.focus();
|
|
textArea.select();
|
|
|
|
try {
|
|
if (document.execCommand('copy')) {
|
|
console.log('Bom copied to clipboard.');
|
|
}
|
|
} catch (err) {
|
|
console.log('Can not copy to clipboard.');
|
|
}
|
|
|
|
document.body.removeChild(textArea);
|
|
}
|
|
|
|
function removeGutterNode(node) {
|
|
for (var i = 0; i < node.childNodes.length; i++) {
|
|
if (node.childNodes[i].classList &&
|
|
node.childNodes[i].classList.contains("gutter")) {
|
|
node.removeChild(node.childNodes[i]);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
function cleanGutters() {
|
|
removeGutterNode(document.getElementById("bot"));
|
|
removeGutterNode(document.getElementById("canvasdiv"));
|
|
}
|
|
|
|
var units = {
|
|
prefixes: {
|
|
giga: ["G", "g", "giga", "Giga", "GIGA"],
|
|
mega: ["M", "mega", "Mega", "MEGA"],
|
|
kilo: ["K", "k", "kilo", "Kilo", "KILO"],
|
|
milli: ["m", "milli", "Milli", "MILLI"],
|
|
micro: ["U", "u", "micro", "Micro", "MICRO", "μ", "µ"], // different utf8 μ
|
|
nano: ["N", "n", "nano", "Nano", "NANO"],
|
|
pico: ["P", "p", "pico", "Pico", "PICO"],
|
|
},
|
|
unitsShort: ["R", "r", "Ω", "F", "f", "H", "h"],
|
|
unitsLong: [
|
|
"OHM", "Ohm", "ohm", "ohms",
|
|
"FARAD", "Farad", "farad",
|
|
"HENRY", "Henry", "henry"
|
|
],
|
|
getMultiplier: function(s) {
|
|
if (this.prefixes.giga.includes(s)) return 1e9;
|
|
if (this.prefixes.mega.includes(s)) return 1e6;
|
|
if (this.prefixes.kilo.includes(s)) return 1e3;
|
|
if (this.prefixes.milli.includes(s)) return 1e-3;
|
|
if (this.prefixes.micro.includes(s)) return 1e-6;
|
|
if (this.prefixes.nano.includes(s)) return 1e-9;
|
|
if (this.prefixes.pico.includes(s)) return 1e-12;
|
|
return 1;
|
|
},
|
|
valueRegex: null,
|
|
}
|
|
|
|
function initUtils() {
|
|
var allPrefixes = units.prefixes.giga
|
|
.concat(units.prefixes.mega)
|
|
.concat(units.prefixes.kilo)
|
|
.concat(units.prefixes.milli)
|
|
.concat(units.prefixes.micro)
|
|
.concat(units.prefixes.nano)
|
|
.concat(units.prefixes.pico);
|
|
var allUnits = units.unitsShort.concat(units.unitsLong);
|
|
units.valueRegex = new RegExp("^([0-9\.]+)" +
|
|
"\\s*(" + allPrefixes.join("|") + ")?" +
|
|
"(" + allUnits.join("|") + ")?" +
|
|
"(\\b.*)?$", "");
|
|
units.valueAltRegex = new RegExp("^([0-9]*)" +
|
|
"(" + units.unitsShort.join("|") + ")?" +
|
|
"([GgMmKkUuNnPp])?" +
|
|
"([0-9]*)" +
|
|
"(\\b.*)?$", "");
|
|
if (config.fields.includes("Value")) {
|
|
var index = config.fields.indexOf("Value");
|
|
pcbdata.bom["parsedValues"] = {};
|
|
for (var id in pcbdata.bom.fields) {
|
|
pcbdata.bom.parsedValues[id] = parseValue(pcbdata.bom.fields[id][index])
|
|
}
|
|
}
|
|
}
|
|
|
|
function parseValue(val, ref) {
|
|
var inferUnit = (unit, ref) => {
|
|
if (unit) {
|
|
unit = unit.toLowerCase();
|
|
if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
|
|
unit = 'r';
|
|
}
|
|
unit = unit[0];
|
|
} else {
|
|
ref = /^([a-z]+)\d+$/i.exec(ref);
|
|
if (ref) {
|
|
ref = ref[1].toLowerCase();
|
|
if (ref == "c") unit = 'f';
|
|
else if (ref == "l") unit = 'h';
|
|
else if (ref == "r" || ref == "rv") unit = 'r';
|
|
else unit = null;
|
|
}
|
|
}
|
|
return unit;
|
|
};
|
|
val = val.replace(/,/g, "");
|
|
var match = units.valueRegex.exec(val);
|
|
var unit;
|
|
if (match) {
|
|
val = parseFloat(match[1]);
|
|
if (match[2]) {
|
|
val = val * units.getMultiplier(match[2]);
|
|
}
|
|
unit = inferUnit(match[3], ref);
|
|
if (!unit) return null;
|
|
else return {
|
|
val: val,
|
|
unit: unit,
|
|
extra: match[4],
|
|
}
|
|
}
|
|
match = units.valueAltRegex.exec(val);
|
|
if (match && (match[1] || match[4])) {
|
|
val = parseFloat(match[1] + "." + match[4]);
|
|
if (match[3]) {
|
|
val = val * units.getMultiplier(match[3]);
|
|
}
|
|
unit = inferUnit(match[2], ref);
|
|
if (!unit) return null;
|
|
else return {
|
|
val: val,
|
|
unit: unit,
|
|
extra: match[5],
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function valueCompare(a, b, stra, strb) {
|
|
if (a === null && b === null) {
|
|
// Failed to parse both values, compare them as strings.
|
|
if (stra != strb) return stra > strb ? 1 : -1;
|
|
else return 0;
|
|
} else if (a === null) {
|
|
return 1;
|
|
} else if (b === null) {
|
|
return -1;
|
|
} else {
|
|
if (a.unit != b.unit) return a.unit > b.unit ? 1 : -1;
|
|
else if (a.val != b.val) return a.val > b.val ? 1 : -1;
|
|
else if (a.extra != b.extra) return a.extra > b.extra ? 1 : -1;
|
|
else return 0;
|
|
}
|
|
}
|
|
|
|
function validateSaveImgDimension(element) {
|
|
var valid = false;
|
|
var intValue = 0;
|
|
if (/^[1-9]\d*$/.test(element.value)) {
|
|
intValue = parseInt(element.value);
|
|
if (intValue <= 16000) {
|
|
valid = true;
|
|
}
|
|
}
|
|
if (valid) {
|
|
element.classList.remove("invalid");
|
|
} else {
|
|
element.classList.add("invalid");
|
|
}
|
|
return intValue;
|
|
}
|
|
|
|
function saveImage(layer) {
|
|
var width = validateSaveImgDimension(document.getElementById("render-save-width"));
|
|
var height = validateSaveImgDimension(document.getElementById("render-save-height"));
|
|
var bgcolor = null;
|
|
if (!document.getElementById("render-save-transparent").checked) {
|
|
var style = getComputedStyle(topmostdiv);
|
|
bgcolor = style.getPropertyValue("background-color");
|
|
}
|
|
if (!width || !height) return;
|
|
|
|
// Prepare image
|
|
var canvas = document.createElement("canvas");
|
|
var layerdict = {
|
|
transform: {
|
|
x: 0,
|
|
y: 0,
|
|
s: 1,
|
|
panx: 0,
|
|
pany: 0,
|
|
zoom: 1,
|
|
},
|
|
bg: canvas,
|
|
fab: canvas,
|
|
silk: canvas,
|
|
highlight: canvas,
|
|
layer: layer,
|
|
}
|
|
// Do the rendering
|
|
recalcLayerScale(layerdict, width, height);
|
|
prepareLayer(layerdict);
|
|
clearCanvas(canvas, bgcolor);
|
|
drawBackground(layerdict, false);
|
|
drawHighlightsOnLayer(layerdict, false);
|
|
|
|
// Save image
|
|
var imgdata = canvas.toDataURL("image/png");
|
|
|
|
var filename = pcbdata.metadata.title;
|
|
if (pcbdata.metadata.revision) {
|
|
filename += `.${pcbdata.metadata.revision}`;
|
|
}
|
|
filename += `.${layer}.png`;
|
|
saveFile(filename, dataURLtoBlob(imgdata));
|
|
}
|
|
|
|
function saveSettings() {
|
|
var data = {
|
|
type: "InteractiveHtmlBom settings",
|
|
version: 1,
|
|
pcbmetadata: pcbdata.metadata,
|
|
settings: settings,
|
|
}
|
|
var blob = new Blob([JSON.stringify(data, null, 4)], {
|
|
type: "application/json"
|
|
});
|
|
saveFile(`${pcbdata.metadata.title}.settings.json`, blob);
|
|
}
|
|
|
|
function loadSettings() {
|
|
var input = document.createElement("input");
|
|
input.type = "file";
|
|
input.accept = ".settings.json";
|
|
input.onchange = function(e) {
|
|
var file = e.target.files[0];
|
|
var reader = new FileReader();
|
|
reader.onload = readerEvent => {
|
|
var content = readerEvent.target.result;
|
|
var newSettings;
|
|
try {
|
|
newSettings = JSON.parse(content);
|
|
} catch (e) {
|
|
alert("Selected file is not InteractiveHtmlBom settings file.");
|
|
return;
|
|
}
|
|
if (newSettings.type != "InteractiveHtmlBom settings") {
|
|
alert("Selected file is not InteractiveHtmlBom settings file.");
|
|
return;
|
|
}
|
|
var metadataMatches = newSettings.hasOwnProperty("pcbmetadata");
|
|
if (metadataMatches) {
|
|
for (var k in pcbdata.metadata) {
|
|
if (!newSettings.pcbmetadata.hasOwnProperty(k) || newSettings.pcbmetadata[k] != pcbdata.metadata[k]) {
|
|
metadataMatches = false;
|
|
}
|
|
}
|
|
}
|
|
if (!metadataMatches) {
|
|
var currentMetadata = JSON.stringify(pcbdata.metadata, null, 4);
|
|
var fileMetadata = JSON.stringify(newSettings.pcbmetadata, null, 4);
|
|
if (!confirm(
|
|
`Settins file metadata does not match current metadata.\n\n` +
|
|
`Page metadata:\n${currentMetadata}\n\n` +
|
|
`Settings file metadata:\n${fileMetadata}\n\n` +
|
|
`Press OK if you would like to import settings anyway.`)) {
|
|
return;
|
|
}
|
|
}
|
|
overwriteSettings(newSettings.settings);
|
|
}
|
|
reader.readAsText(file, 'UTF-8');
|
|
}
|
|
input.click();
|
|
}
|
|
|
|
function overwriteSettings(newSettings) {
|
|
initDone = false;
|
|
Object.assign(settings, newSettings);
|
|
writeStorage("bomlayout", settings.bomlayout);
|
|
writeStorage("bommode", settings.bommode);
|
|
writeStorage("canvaslayout", settings.canvaslayout);
|
|
writeStorage("bomCheckboxes", settings.checkboxes.join(","));
|
|
document.getElementById("bomCheckboxes").value = settings.checkboxes.join(",");
|
|
for (var checkbox of settings.checkboxes) {
|
|
writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
|
|
}
|
|
writeStorage("markWhenChecked", settings.markWhenChecked);
|
|
padsVisible(settings.renderPads);
|
|
document.getElementById("padsCheckbox").checked = settings.renderPads;
|
|
fabricationVisible(settings.renderFabrication);
|
|
document.getElementById("fabricationCheckbox").checked = settings.renderFabrication;
|
|
silkscreenVisible(settings.renderSilkscreen);
|
|
document.getElementById("silkscreenCheckbox").checked = settings.renderSilkscreen;
|
|
referencesVisible(settings.renderReferences);
|
|
document.getElementById("referencesCheckbox").checked = settings.renderReferences;
|
|
valuesVisible(settings.renderValues);
|
|
document.getElementById("valuesCheckbox").checked = settings.renderValues;
|
|
tracksVisible(settings.renderTracks);
|
|
document.getElementById("tracksCheckbox").checked = settings.renderTracks;
|
|
zonesVisible(settings.renderZones);
|
|
document.getElementById("zonesCheckbox").checked = settings.renderZones;
|
|
dnpOutline(settings.renderDnpOutline);
|
|
document.getElementById("dnpOutlineCheckbox").checked = settings.renderDnpOutline;
|
|
setRedrawOnDrag(settings.redrawOnDrag);
|
|
document.getElementById("dragCheckbox").checked = settings.redrawOnDrag;
|
|
setDarkMode(settings.darkMode);
|
|
document.getElementById("darkmodeCheckbox").checked = settings.darkMode;
|
|
setHighlightPin1(settings.highlightpin1);
|
|
document.getElementById("highlightpin1Checkbox").checked = settings.highlightpin1;
|
|
showFootprints(settings.show_footprints);
|
|
writeStorage("boardRotation", settings.boardRotation);
|
|
document.getElementById("boardRotation").value = settings.boardRotation / 5;
|
|
document.getElementById("rotationDegree").textContent = settings.boardRotation;
|
|
initDone = true;
|
|
prepCheckboxes();
|
|
changeBomLayout(settings.bomlayout);
|
|
}
|
|
|
|
function saveFile(filename, blob) {
|
|
var link = document.createElement("a");
|
|
var objurl = URL.createObjectURL(blob);
|
|
link.download = filename;
|
|
link.href = objurl;
|
|
link.click();
|
|
}
|
|
|
|
function dataURLtoBlob(dataurl) {
|
|
var arr = dataurl.split(','),
|
|
mime = arr[0].match(/:(.*?);/)[1],
|
|
bstr = atob(arr[1]),
|
|
n = bstr.length,
|
|
u8arr = new Uint8Array(n);
|
|
while (n--) {
|
|
u8arr[n] = bstr.charCodeAt(n);
|
|
}
|
|
return new Blob([u8arr], {
|
|
type: mime
|
|
});
|
|
}
|
|
|
|
var settings = {
|
|
canvaslayout: "default",
|
|
bomlayout: "default",
|
|
bommode: "grouped",
|
|
checkboxes: [],
|
|
checkboxStoredRefs: {},
|
|
darkMode: false,
|
|
highlightpin1: false,
|
|
redrawOnDrag: true,
|
|
boardRotation: 0,
|
|
renderPads: true,
|
|
renderReferences: true,
|
|
renderValues: true,
|
|
renderSilkscreen: true,
|
|
renderFabrication: true,
|
|
renderDnpOutline: false,
|
|
renderTracks: true,
|
|
renderZones: true,
|
|
columnOrder: [],
|
|
hiddenColumns: [],
|
|
}
|
|
|
|
function initDefaults() {
|
|
settings.bomlayout = readStorage("bomlayout");
|
|
if (settings.bomlayout === null) {
|
|
settings.bomlayout = config.bom_view;
|
|
}
|
|
if (!['bom-only', 'left-right', 'top-bottom'].includes(settings.bomlayout)) {
|
|
settings.bomlayout = config.bom_view;
|
|
}
|
|
settings.bommode = readStorage("bommode");
|
|
if (settings.bommode === null) {
|
|
settings.bommode = "grouped";
|
|
}
|
|
if (!["grouped", "ungrouped", "netlist"].includes(settings.bommode)) {
|
|
settings.bommode = "grouped";
|
|
}
|
|
settings.canvaslayout = readStorage("canvaslayout");
|
|
if (settings.canvaslayout === null) {
|
|
settings.canvaslayout = config.layer_view;
|
|
}
|
|
var bomCheckboxes = readStorage("bomCheckboxes");
|
|
if (bomCheckboxes === null) {
|
|
bomCheckboxes = config.checkboxes;
|
|
}
|
|
settings.checkboxes = bomCheckboxes.split(",").filter((e) => e);
|
|
document.getElementById("bomCheckboxes").value = bomCheckboxes;
|
|
|
|
settings.markWhenChecked = readStorage("markWhenChecked") || "";
|
|
populateMarkWhenCheckedOptions();
|
|
|
|
function initBooleanSetting(storageString, def, elementId, func) {
|
|
var b = readStorage(storageString);
|
|
if (b === null) {
|
|
b = def;
|
|
} else {
|
|
b = (b == "true");
|
|
}
|
|
document.getElementById(elementId).checked = b;
|
|
func(b);
|
|
}
|
|
|
|
initBooleanSetting("padsVisible", config.show_pads, "padsCheckbox", padsVisible);
|
|
initBooleanSetting("fabricationVisible", config.show_fabrication, "fabricationCheckbox", fabricationVisible);
|
|
initBooleanSetting("silkscreenVisible", config.show_silkscreen, "silkscreenCheckbox", silkscreenVisible);
|
|
initBooleanSetting("referencesVisible", true, "referencesCheckbox", referencesVisible);
|
|
initBooleanSetting("valuesVisible", true, "valuesCheckbox", valuesVisible);
|
|
if ("tracks" in pcbdata) {
|
|
initBooleanSetting("tracksVisible", true, "tracksCheckbox", tracksVisible);
|
|
initBooleanSetting("zonesVisible", true, "zonesCheckbox", zonesVisible);
|
|
} else {
|
|
document.getElementById("tracksAndZonesCheckboxes").style.display = "none";
|
|
tracksVisible(false);
|
|
zonesVisible(false);
|
|
}
|
|
initBooleanSetting("dnpOutline", false, "dnpOutlineCheckbox", dnpOutline);
|
|
initBooleanSetting("redrawOnDrag", config.redraw_on_drag, "dragCheckbox", setRedrawOnDrag);
|
|
initBooleanSetting("darkmode", config.dark_mode, "darkmodeCheckbox", setDarkMode);
|
|
initBooleanSetting("highlightpin1", config.highlight_pin1, "highlightpin1Checkbox", setHighlightPin1);
|
|
|
|
var fields = ["checkboxes", "References"].concat(config.fields).concat(["Quantity"]);
|
|
var hcols = JSON.parse(readStorage("hiddenColumns"));
|
|
if (hcols === null) {
|
|
hcols = [];
|
|
}
|
|
settings.hiddenColumns = hcols.filter(e => fields.includes(e));
|
|
|
|
var cord = JSON.parse(readStorage("columnOrder"));
|
|
if (cord === null) {
|
|
cord = fields;
|
|
} else {
|
|
cord = cord.filter(e => fields.includes(e));
|
|
if (cord.length != fields.length)
|
|
cord = fields;
|
|
}
|
|
settings.columnOrder = cord;
|
|
|
|
settings.boardRotation = readStorage("boardRotation");
|
|
if (settings.boardRotation === null) {
|
|
settings.boardRotation = config.board_rotation * 5;
|
|
} else {
|
|
settings.boardRotation = parseInt(settings.boardRotation);
|
|
}
|
|
document.getElementById("boardRotation").value = settings.boardRotation / 5;
|
|
document.getElementById("rotationDegree").textContent = settings.boardRotation;
|
|
}
|
|
|
|
// Helper classes for user js callbacks.
|
|
|
|
const IBOM_EVENT_TYPES = {
|
|
ALL: "all",
|
|
HIGHLIGHT_EVENT: "highlightEvent",
|
|
CHECKBOX_CHANGE_EVENT: "checkboxChangeEvent",
|
|
BOM_BODY_CHANGE_EVENT: "bomBodyChangeEvent",
|
|
}
|
|
|
|
const EventHandler = {
|
|
callbacks: {},
|
|
init: function() {
|
|
for (eventType of Object.values(IBOM_EVENT_TYPES))
|
|
this.callbacks[eventType] = [];
|
|
},
|
|
registerCallback: function(eventType, callback) {
|
|
this.callbacks[eventType].push(callback);
|
|
},
|
|
emitEvent: function(eventType, eventArgs) {
|
|
event = {
|
|
eventType: eventType,
|
|
args: eventArgs,
|
|
}
|
|
var callback;
|
|
for (callback of this.callbacks[eventType])
|
|
callback(event);
|
|
for (callback of this.callbacks[IBOM_EVENT_TYPES.ALL])
|
|
callback(event);
|
|
}
|
|
}
|
|
EventHandler.init();
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
/* PCB rendering code */
|
|
|
|
var emptyContext2d = document.createElement("canvas").getContext("2d");
|
|
|
|
function deg2rad(deg) {
|
|
return deg * Math.PI / 180;
|
|
}
|
|
|
|
function calcFontPoint(linepoint, text, offsetx, offsety, tilt) {
|
|
var point = [
|
|
linepoint[0] * text.width + offsetx,
|
|
linepoint[1] * text.height + offsety
|
|
];
|
|
// This approximates pcbnew behavior with how text tilts depending on horizontal justification
|
|
point[0] -= (linepoint[1] + 0.5 * (1 + text.justify[0])) * text.height * tilt;
|
|
return point;
|
|
}
|
|
|
|
function drawText(ctx, text, color) {
|
|
if ("ref" in text && !settings.renderReferences) return;
|
|
if ("val" in text && !settings.renderValues) return;
|
|
ctx.save();
|
|
ctx.fillStyle = color;
|
|
ctx.strokeStyle = color;
|
|
ctx.lineCap = "round";
|
|
ctx.lineJoin = "round";
|
|
ctx.lineWidth = text.thickness;
|
|
if ("svgpath" in text) {
|
|
ctx.stroke(new Path2D(text.svgpath));
|
|
ctx.restore();
|
|
return;
|
|
}
|
|
ctx.translate(...text.pos);
|
|
ctx.translate(text.thickness * 0.5, 0);
|
|
var angle = -text.angle;
|
|
if (text.attr.includes("mirrored")) {
|
|
ctx.scale(-1, 1);
|
|
angle = -angle;
|
|
}
|
|
var tilt = 0;
|
|
if (text.attr.includes("italic")) {
|
|
tilt = 0.125;
|
|
}
|
|
var interline = text.height * 1.5 + text.thickness;
|
|
var txt = text.text.split("\n");
|
|
// KiCad ignores last empty line.
|
|
if (txt[txt.length - 1] == '') txt.pop();
|
|
ctx.rotate(deg2rad(angle));
|
|
var offsety = (1 - text.justify[1]) / 2 * text.height; // One line offset
|
|
offsety -= (txt.length - 1) * (text.justify[1] + 1) / 2 * interline; // Multiline offset
|
|
for (var i in txt) {
|
|
var lineWidth = text.thickness + interline / 2 * tilt;
|
|
for (var j = 0; j < txt[i].length; j++) {
|
|
if (txt[i][j] == '\t') {
|
|
var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
|
|
lineWidth += fourSpaces - lineWidth % fourSpaces;
|
|
} else {
|
|
if (txt[i][j] == '~') {
|
|
j++;
|
|
if (j == txt[i].length)
|
|
break;
|
|
}
|
|
lineWidth += pcbdata.font_data[txt[i][j]].w * text.width;
|
|
}
|
|
}
|
|
var offsetx = -lineWidth * (text.justify[0] + 1) / 2;
|
|
var inOverbar = false;
|
|
for (var j = 0; j < txt[i].length; j++) {
|
|
if (txt[i][j] == '\t') {
|
|
var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
|
|
offsetx += fourSpaces - offsetx % fourSpaces;
|
|
continue;
|
|
} else if (txt[i][j] == '~') {
|
|
j++;
|
|
if (j == txt[i].length)
|
|
break;
|
|
if (txt[i][j] != '~') {
|
|
inOverbar = !inOverbar;
|
|
}
|
|
}
|
|
var glyph = pcbdata.font_data[txt[i][j]];
|
|
if (inOverbar) {
|
|
var overbarStart = [offsetx, -text.height * 1.4 + offsety];
|
|
var overbarEnd = [offsetx + text.width * glyph.w, overbarStart[1]];
|
|
|
|
if (!lastHadOverbar) {
|
|
overbarStart[0] += text.height * 1.4 * tilt;
|
|
lastHadOverbar = true;
|
|
}
|
|
ctx.beginPath();
|
|
ctx.moveTo(...overbarStart);
|
|
ctx.lineTo(...overbarEnd);
|
|
ctx.stroke();
|
|
} else {
|
|
lastHadOverbar = false;
|
|
}
|
|
for (var line of glyph.l) {
|
|
ctx.beginPath();
|
|
ctx.moveTo(...calcFontPoint(line[0], text, offsetx, offsety, tilt));
|
|
for (var k = 1; k < line.length; k++) {
|
|
ctx.lineTo(...calcFontPoint(line[k], text, offsetx, offsety, tilt));
|
|
}
|
|
ctx.stroke();
|
|
}
|
|
offsetx += glyph.w * text.width;
|
|
}
|
|
offsety += interline;
|
|
}
|
|
ctx.restore();
|
|
}
|
|
|
|
function drawedge(ctx, scalefactor, edge, color) {
|
|
ctx.strokeStyle = color;
|
|
ctx.fillStyle = color;
|
|
ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
|
|
ctx.lineCap = "round";
|
|
ctx.lineJoin = "round";
|
|
if ("svgpath" in edge) {
|
|
ctx.stroke(new Path2D(edge.svgpath));
|
|
} else {
|
|
ctx.beginPath();
|
|
if (edge.type == "segment") {
|
|
ctx.moveTo(...edge.start);
|
|
ctx.lineTo(...edge.end);
|
|
}
|
|
if (edge.type == "rect") {
|
|
ctx.moveTo(...edge.start);
|
|
ctx.lineTo(edge.start[0], edge.end[1]);
|
|
ctx.lineTo(...edge.end);
|
|
ctx.lineTo(edge.end[0], edge.start[1]);
|
|
ctx.lineTo(...edge.start);
|
|
}
|
|
if (edge.type == "arc") {
|
|
ctx.arc(
|
|
...edge.start,
|
|
edge.radius,
|
|
deg2rad(edge.startangle),
|
|
deg2rad(edge.endangle));
|
|
}
|
|
if (edge.type == "circle") {
|
|
ctx.arc(
|
|
...edge.start,
|
|
edge.radius,
|
|
0, 2 * Math.PI);
|
|
ctx.closePath();
|
|
}
|
|
if (edge.type == "curve") {
|
|
ctx.moveTo(...edge.start);
|
|
ctx.bezierCurveTo(...edge.cpa, ...edge.cpb, ...edge.end);
|
|
}
|
|
if("filled" in edge && edge.filled)
|
|
ctx.fill();
|
|
else
|
|
ctx.stroke();
|
|
}
|
|
}
|
|
|
|
function getChamferedRectPath(size, radius, chamfpos, chamfratio) {
|
|
// chamfpos is a bitmask, left = 1, right = 2, bottom left = 4, bottom right = 8
|
|
var path = new Path2D();
|
|
var width = size[0];
|
|
var height = size[1];
|
|
var x = width * -0.5;
|
|
var y = height * -0.5;
|
|
var chamfOffset = Math.min(width, height) * chamfratio;
|
|
path.moveTo(x, 0);
|
|
if (chamfpos & 4) {
|
|
path.lineTo(x, y + height - chamfOffset);
|
|
path.lineTo(x + chamfOffset, y + height);
|
|
path.lineTo(0, y + height);
|
|
} else {
|
|
path.arcTo(x, y + height, x + width, y + height, radius);
|
|
}
|
|
if (chamfpos & 8) {
|
|
path.lineTo(x + width - chamfOffset, y + height);
|
|
path.lineTo(x + width, y + height - chamfOffset);
|
|
path.lineTo(x + width, 0);
|
|
} else {
|
|
path.arcTo(x + width, y + height, x + width, y, radius);
|
|
}
|
|
if (chamfpos & 2) {
|
|
path.lineTo(x + width, y + chamfOffset);
|
|
path.lineTo(x + width - chamfOffset, y);
|
|
path.lineTo(0, y);
|
|
} else {
|
|
path.arcTo(x + width, y, x, y, radius);
|
|
}
|
|
if (chamfpos & 1) {
|
|
path.lineTo(x + chamfOffset, y);
|
|
path.lineTo(x, y + chamfOffset);
|
|
path.lineTo(x, 0);
|
|
} else {
|
|
path.arcTo(x, y, x, y + height, radius);
|
|
}
|
|
path.closePath();
|
|
return path;
|
|
}
|
|
|
|
function getOblongPath(size) {
|
|
return getChamferedRectPath(size, Math.min(size[0], size[1]) / 2, 0, 0);
|
|
}
|
|
|
|
function getPolygonsPath(shape) {
|
|
if (shape.path2d) {
|
|
return shape.path2d;
|
|
}
|
|
if ("svgpath" in shape) {
|
|
shape.path2d = new Path2D(shape.svgpath);
|
|
} else {
|
|
var path = new Path2D();
|
|
for (var polygon of shape.polygons) {
|
|
path.moveTo(...polygon[0]);
|
|
for (var i = 1; i < polygon.length; i++) {
|
|
path.lineTo(...polygon[i]);
|
|
}
|
|
path.closePath();
|
|
}
|
|
shape.path2d = path;
|
|
}
|
|
return shape.path2d;
|
|
}
|
|
|
|
function drawPolygonShape(ctx, scalefactor, shape, color) {
|
|
ctx.save();
|
|
if (!("svgpath" in shape)) {
|
|
ctx.translate(...shape.pos);
|
|
ctx.rotate(deg2rad(-shape.angle));
|
|
}
|
|
if("filled" in shape && !shape.filled) {
|
|
ctx.strokeStyle = color;
|
|
ctx.lineWidth = Math.max(1 / scalefactor, shape.width);
|
|
ctx.lineCap = "round";
|
|
ctx.lineJoin = "round";
|
|
ctx.stroke(getPolygonsPath(shape));
|
|
} else {
|
|
ctx.fillStyle = color;
|
|
ctx.fill(getPolygonsPath(shape));
|
|
}
|
|
ctx.restore();
|
|
}
|
|
|
|
function drawDrawing(ctx, scalefactor, drawing, color) {
|
|
if (["segment", "arc", "circle", "curve", "rect"].includes(drawing.type)) {
|
|
drawedge(ctx, scalefactor, drawing, color);
|
|
} else if (drawing.type == "polygon") {
|
|
drawPolygonShape(ctx, scalefactor, drawing, color);
|
|
} else {
|
|
drawText(ctx, drawing, color);
|
|
}
|
|
}
|
|
|
|
function getCirclePath(radius) {
|
|
var path = new Path2D();
|
|
path.arc(0, 0, radius, 0, 2 * Math.PI);
|
|
path.closePath();
|
|
return path;
|
|
}
|
|
|
|
function getCachedPadPath(pad) {
|
|
if (!pad.path2d) {
|
|
// if path2d is not set, build one and cache it on pad object
|
|
if (pad.shape == "rect") {
|
|
pad.path2d = new Path2D();
|
|
pad.path2d.rect(...pad.size.map(c => -c * 0.5), ...pad.size);
|
|
} else if (pad.shape == "oval") {
|
|
pad.path2d = getOblongPath(pad.size);
|
|
} else if (pad.shape == "circle") {
|
|
pad.path2d = getCirclePath(pad.size[0] / 2);
|
|
} else if (pad.shape == "roundrect") {
|
|
pad.path2d = getChamferedRectPath(pad.size, pad.radius, 0, 0);
|
|
} else if (pad.shape == "chamfrect") {
|
|
pad.path2d = getChamferedRectPath(pad.size, pad.radius, pad.chamfpos, pad.chamfratio)
|
|
} else if (pad.shape == "custom") {
|
|
pad.path2d = getPolygonsPath(pad);
|
|
}
|
|
}
|
|
return pad.path2d;
|
|
}
|
|
|
|
function drawPad(ctx, pad, color, outline) {
|
|
ctx.save();
|
|
ctx.translate(...pad.pos);
|
|
ctx.rotate(deg2rad(pad.angle));
|
|
if (pad.offset) {
|
|
ctx.translate(...pad.offset);
|
|
}
|
|
ctx.fillStyle = color;
|
|
ctx.strokeStyle = color;
|
|
var path = getCachedPadPath(pad);
|
|
if (outline) {
|
|
ctx.stroke(path);
|
|
} else {
|
|
ctx.fill(path);
|
|
}
|
|
ctx.restore();
|
|
}
|
|
|
|
function drawPadHole(ctx, pad, padHoleColor) {
|
|
if (pad.type != "th") return;
|
|
ctx.save();
|
|
ctx.translate(...pad.pos);
|
|
ctx.rotate(deg2rad(pad.angle));
|
|
ctx.fillStyle = padHoleColor;
|
|
if (pad.drillshape == "oblong") {
|
|
ctx.fill(getOblongPath(pad.drillsize));
|
|
} else {
|
|
ctx.fill(getCirclePath(pad.drillsize[0] / 2));
|
|
}
|
|
ctx.restore();
|
|
}
|
|
|
|
function drawFootprint(ctx, layer, scalefactor, footprint, colors, highlight, outline) {
|
|
if (highlight) {
|
|
// draw bounding box
|
|
if (footprint.layer == layer) {
|
|
ctx.save();
|
|
ctx.globalAlpha = 0.2;
|
|
ctx.translate(...footprint.bbox.pos);
|
|
ctx.rotate(deg2rad(-footprint.bbox.angle));
|
|
ctx.translate(...footprint.bbox.relpos);
|
|
ctx.fillStyle = colors.pad;
|
|
ctx.fillRect(0, 0, ...footprint.bbox.size);
|
|
ctx.globalAlpha = 1;
|
|
ctx.strokeStyle = colors.pad;
|
|
ctx.strokeRect(0, 0, ...footprint.bbox.size);
|
|
ctx.restore();
|
|
}
|
|
}
|
|
// draw drawings
|
|
for (var drawing of footprint.drawings) {
|
|
if (drawing.layer == layer) {
|
|
drawDrawing(ctx, scalefactor, drawing.drawing, colors.pad);
|
|
}
|
|
}
|
|
// draw pads
|
|
if (settings.renderPads) {
|
|
for (var pad of footprint.pads) {
|
|
if (pad.layers.includes(layer)) {
|
|
drawPad(ctx, pad, colors.pad, outline);
|
|
if (pad.pin1 && settings.highlightpin1) {
|
|
drawPad(ctx, pad, colors.outline, true);
|
|
}
|
|
}
|
|
}
|
|
for (var pad of footprint.pads) {
|
|
drawPadHole(ctx, pad, colors.padHole);
|
|
}
|
|
}
|
|
}
|
|
|
|
function drawEdgeCuts(canvas, scalefactor) {
|
|
var ctx = canvas.getContext("2d");
|
|
var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color');
|
|
for (var edge of pcbdata.edges) {
|
|
drawDrawing(ctx, scalefactor, edge, edgecolor);
|
|
}
|
|
}
|
|
|
|
function drawFootprints(canvas, layer, scalefactor, highlight) {
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.lineWidth = 3 / scalefactor;
|
|
var style = getComputedStyle(topmostdiv);
|
|
|
|
var colors = {
|
|
pad: style.getPropertyValue('--pad-color'),
|
|
padHole: style.getPropertyValue('--pad-hole-color'),
|
|
outline: style.getPropertyValue('--pin1-outline-color'),
|
|
}
|
|
|
|
for (var i = 0; i < pcbdata.footprints.length; i++) {
|
|
var mod = pcbdata.footprints[i];
|
|
var outline = settings.renderDnpOutline && pcbdata.bom.skipped.includes(i);
|
|
var h = highlightedFootprints.includes(i);
|
|
var d = markedFootprints.has(i);
|
|
if (highlight) {
|
|
if(h && d) {
|
|
colors.pad = style.getPropertyValue('--pad-color-highlight-both');
|
|
colors.outline = style.getPropertyValue('--pin1-outline-color-highlight-both');
|
|
} else if (h) {
|
|
colors.pad = style.getPropertyValue('--pad-color-highlight');
|
|
colors.outline = style.getPropertyValue('--pin1-outline-color-highlight');
|
|
} else if (d) {
|
|
colors.pad = style.getPropertyValue('--pad-color-highlight-marked');
|
|
colors.outline = style.getPropertyValue('--pin1-outline-color-highlight-marked');
|
|
}
|
|
}
|
|
if( h || d || !highlight) {
|
|
drawFootprint(ctx, layer, scalefactor, mod, colors, highlight, outline);
|
|
}
|
|
}
|
|
}
|
|
|
|
function drawBgLayer(layername, canvas, layer, scalefactor, edgeColor, polygonColor, textColor) {
|
|
var ctx = canvas.getContext("2d");
|
|
for (var d of pcbdata.drawings[layername][layer]) {
|
|
if (["segment", "arc", "circle", "curve", "rect"].includes(d.type)) {
|
|
drawedge(ctx, scalefactor, d, edgeColor);
|
|
} else if (d.type == "polygon") {
|
|
drawPolygonShape(ctx, scalefactor, d, polygonColor);
|
|
} else {
|
|
drawText(ctx, d, textColor);
|
|
}
|
|
}
|
|
}
|
|
|
|
function drawTracks(canvas, layer, color, highlight) {
|
|
ctx = canvas.getContext("2d");
|
|
ctx.strokeStyle = color;
|
|
ctx.lineCap = "round";
|
|
for (var track of pcbdata.tracks[layer]) {
|
|
if (highlight && highlightedNet != track.net) continue;
|
|
ctx.lineWidth = track.width;
|
|
ctx.beginPath();
|
|
if ('radius' in track) {
|
|
ctx.arc(
|
|
...track.center,
|
|
track.radius,
|
|
deg2rad(track.startangle),
|
|
deg2rad(track.endangle));
|
|
} else {
|
|
ctx.moveTo(...track.start);
|
|
ctx.lineTo(...track.end);
|
|
}
|
|
ctx.stroke();
|
|
}
|
|
}
|
|
|
|
function drawZones(canvas, layer, color, highlight) {
|
|
ctx = canvas.getContext("2d");
|
|
ctx.strokeStyle = color;
|
|
ctx.fillStyle = color;
|
|
ctx.lineJoin = "round";
|
|
for (var zone of pcbdata.zones[layer]) {
|
|
if (!zone.path2d) {
|
|
zone.path2d = getPolygonsPath(zone);
|
|
}
|
|
if (highlight && highlightedNet != zone.net) continue;
|
|
ctx.fill(zone.path2d);
|
|
if (zone.width > 0) {
|
|
ctx.lineWidth = zone.width;
|
|
ctx.stroke(zone.path2d);
|
|
}
|
|
}
|
|
}
|
|
|
|
function clearCanvas(canvas, color = null) {
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.save();
|
|
ctx.setTransform(1, 0, 0, 1, 0, 0);
|
|
if (color) {
|
|
ctx.fillStyle = color;
|
|
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
} else {
|
|
if (!window.matchMedia("print").matches)
|
|
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
}
|
|
ctx.restore();
|
|
}
|
|
|
|
function drawNets(canvas, layer, highlight) {
|
|
var style = getComputedStyle(topmostdiv);
|
|
if (settings.renderTracks) {
|
|
var trackColor = style.getPropertyValue(highlight ? '--track-color-highlight' : '--track-color');
|
|
drawTracks(canvas, layer, trackColor, highlight);
|
|
}
|
|
if (settings.renderZones) {
|
|
var zoneColor = style.getPropertyValue(highlight ? '--zone-color-highlight' : '--zone-color');
|
|
drawZones(canvas, layer, zoneColor, highlight);
|
|
}
|
|
if (highlight && settings.renderPads) {
|
|
var padColor = style.getPropertyValue('--pad-color-highlight');
|
|
var padHoleColor = style.getPropertyValue('--pad-hole-color');
|
|
var ctx = canvas.getContext("2d");
|
|
for (var footprint of pcbdata.footprints) {
|
|
// draw pads
|
|
var padDrawn = false;
|
|
for (var pad of footprint.pads) {
|
|
if (highlightedNet != pad.net) continue;
|
|
if (pad.layers.includes(layer)) {
|
|
drawPad(ctx, pad, padColor, false);
|
|
padDrawn = true;
|
|
}
|
|
}
|
|
if (padDrawn) {
|
|
// redraw all pad holes because some pads may overlap
|
|
for (var pad of footprint.pads) {
|
|
drawPadHole(ctx, pad, padHoleColor);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function drawHighlightsOnLayer(canvasdict, clear = true) {
|
|
if (clear) {
|
|
clearCanvas(canvasdict.highlight);
|
|
}
|
|
if (markedFootprints.size > 0 || highlightedFootprints.length > 0) {
|
|
drawFootprints(canvasdict.highlight, canvasdict.layer,
|
|
canvasdict.transform.s * canvasdict.transform.zoom, true);
|
|
}
|
|
if (highlightedNet !== null) {
|
|
drawNets(canvasdict.highlight, canvasdict.layer, true);
|
|
}
|
|
}
|
|
|
|
function drawHighlights() {
|
|
drawHighlightsOnLayer(allcanvas.front);
|
|
drawHighlightsOnLayer(allcanvas.back);
|
|
}
|
|
|
|
function drawBackground(canvasdict, clear = true) {
|
|
if (clear) {
|
|
clearCanvas(canvasdict.bg);
|
|
clearCanvas(canvasdict.fab);
|
|
clearCanvas(canvasdict.silk);
|
|
}
|
|
|
|
drawNets(canvasdict.bg, canvasdict.layer, false);
|
|
drawFootprints(canvasdict.bg, canvasdict.layer,
|
|
canvasdict.transform.s * canvasdict.transform.zoom, false);
|
|
|
|
drawEdgeCuts(canvasdict.bg, canvasdict.transform.s * canvasdict.transform.zoom);
|
|
|
|
var style = getComputedStyle(topmostdiv);
|
|
var edgeColor = style.getPropertyValue('--silkscreen-edge-color');
|
|
var polygonColor = style.getPropertyValue('--silkscreen-polygon-color');
|
|
var textColor = style.getPropertyValue('--silkscreen-text-color');
|
|
if (settings.renderSilkscreen) {
|
|
drawBgLayer(
|
|
"silkscreen", canvasdict.silk, canvasdict.layer,
|
|
canvasdict.transform.s * canvasdict.transform.zoom,
|
|
edgeColor, polygonColor, textColor);
|
|
}
|
|
edgeColor = style.getPropertyValue('--fabrication-edge-color');
|
|
polygonColor = style.getPropertyValue('--fabrication-polygon-color');
|
|
textColor = style.getPropertyValue('--fabrication-text-color');
|
|
if (settings.renderFabrication) {
|
|
drawBgLayer(
|
|
"fabrication", canvasdict.fab, canvasdict.layer,
|
|
canvasdict.transform.s * canvasdict.transform.zoom,
|
|
edgeColor, polygonColor, textColor);
|
|
}
|
|
}
|
|
|
|
function prepareCanvas(canvas, flip, transform) {
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.setTransform(1, 0, 0, 1, 0, 0);
|
|
var fontsize = 1.55;
|
|
ctx.scale(transform.zoom, transform.zoom);
|
|
ctx.translate(transform.panx, transform.pany);
|
|
if (flip) {
|
|
ctx.scale(-1, 1);
|
|
}
|
|
ctx.translate(transform.x, transform.y);
|
|
ctx.rotate(deg2rad(settings.boardRotation));
|
|
ctx.scale(transform.s, transform.s);
|
|
}
|
|
|
|
function prepareLayer(canvasdict) {
|
|
var flip = (canvasdict.layer == "B");
|
|
for (var c of ["bg", "fab", "silk", "highlight"]) {
|
|
prepareCanvas(canvasdict[c], flip, canvasdict.transform);
|
|
}
|
|
}
|
|
|
|
function rotateVector(v, angle) {
|
|
angle = deg2rad(angle);
|
|
return [
|
|
v[0] * Math.cos(angle) - v[1] * Math.sin(angle),
|
|
v[0] * Math.sin(angle) + v[1] * Math.cos(angle)
|
|
];
|
|
}
|
|
|
|
function applyRotation(bbox) {
|
|
var corners = [
|
|
[bbox.minx, bbox.miny],
|
|
[bbox.minx, bbox.maxy],
|
|
[bbox.maxx, bbox.miny],
|
|
[bbox.maxx, bbox.maxy],
|
|
];
|
|
corners = corners.map((v) => rotateVector(v, settings.boardRotation));
|
|
return {
|
|
minx: corners.reduce((a, v) => Math.min(a, v[0]), Infinity),
|
|
miny: corners.reduce((a, v) => Math.min(a, v[1]), Infinity),
|
|
maxx: corners.reduce((a, v) => Math.max(a, v[0]), -Infinity),
|
|
maxy: corners.reduce((a, v) => Math.max(a, v[1]), -Infinity),
|
|
}
|
|
}
|
|
|
|
function recalcLayerScale(layerdict, width, height) {
|
|
var bbox = applyRotation(pcbdata.edges_bbox);
|
|
var scalefactor = 0.98 * Math.min(
|
|
width / (bbox.maxx - bbox.minx),
|
|
height / (bbox.maxy - bbox.miny)
|
|
);
|
|
if (scalefactor < 0.1) {
|
|
scalefactor = 1;
|
|
}
|
|
layerdict.transform.s = scalefactor;
|
|
var flip = (layerdict.layer == "B");
|
|
if (flip) {
|
|
layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5;
|
|
} else {
|
|
layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5;
|
|
}
|
|
layerdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5;
|
|
for (var c of ["bg", "fab", "silk", "highlight"]) {
|
|
canvas = layerdict[c];
|
|
canvas.width = width;
|
|
canvas.height = height;
|
|
canvas.style.width = (width / devicePixelRatio) + "px";
|
|
canvas.style.height = (height / devicePixelRatio) + "px";
|
|
}
|
|
}
|
|
|
|
function redrawCanvas(layerdict) {
|
|
prepareLayer(layerdict);
|
|
drawBackground(layerdict);
|
|
drawHighlightsOnLayer(layerdict);
|
|
}
|
|
|
|
function resizeCanvas(layerdict) {
|
|
var canvasdivid = {
|
|
"F": "frontcanvas",
|
|
"B": "backcanvas"
|
|
} [layerdict.layer];
|
|
var width = document.getElementById(canvasdivid).clientWidth * devicePixelRatio;
|
|
var height = document.getElementById(canvasdivid).clientHeight * devicePixelRatio;
|
|
recalcLayerScale(layerdict, width, height);
|
|
redrawCanvas(layerdict);
|
|
}
|
|
|
|
function resizeAll() {
|
|
resizeCanvas(allcanvas.front);
|
|
resizeCanvas(allcanvas.back);
|
|
}
|
|
|
|
function pointWithinDistanceToSegment(x, y, x1, y1, x2, y2, d) {
|
|
var A = x - x1;
|
|
var B = y - y1;
|
|
var C = x2 - x1;
|
|
var D = y2 - y1;
|
|
|
|
var dot = A * C + B * D;
|
|
var len_sq = C * C + D * D;
|
|
var dx, dy;
|
|
if (len_sq == 0) {
|
|
// start and end of the segment coincide
|
|
dx = x - x1;
|
|
dy = y - y1;
|
|
} else {
|
|
var param = dot / len_sq;
|
|
var xx, yy;
|
|
if (param < 0) {
|
|
xx = x1;
|
|
yy = y1;
|
|
} else if (param > 1) {
|
|
xx = x2;
|
|
yy = y2;
|
|
} else {
|
|
xx = x1 + param * C;
|
|
yy = y1 + param * D;
|
|
}
|
|
dx = x - xx;
|
|
dy = y - yy;
|
|
}
|
|
return dx * dx + dy * dy <= d * d;
|
|
}
|
|
|
|
function modulo(n, mod) {
|
|
return ((n % mod) + mod) % mod;
|
|
}
|
|
|
|
function pointWithinDistanceToArc(x, y, xc, yc, radius, startangle, endangle, d) {
|
|
var dx = x - xc;
|
|
var dy = y - yc;
|
|
var r_sq = dx * dx + dy * dy;
|
|
var rmin = Math.max(0, radius - d);
|
|
var rmax = radius + d;
|
|
|
|
if (r_sq < rmin * rmin || r_sq > rmax * rmax)
|
|
return false;
|
|
|
|
var angle1 = modulo(deg2rad(startangle), 2 * Math.PI);
|
|
var dx1 = xc + radius * Math.cos(angle1) - x;
|
|
var dy1 = yc + radius * Math.sin(angle1) - y;
|
|
if (dx1 * dx1 + dy1 * dy1 <= d * d)
|
|
return true;
|
|
|
|
var angle2 = modulo(deg2rad(endangle), 2 * Math.PI);
|
|
var dx2 = xc + radius * Math.cos(angle2) - x;
|
|
var dy2 = yc + radius * Math.sin(angle2) - y;
|
|
if (dx2 * dx2 + dy2 * dy2 <= d * d)
|
|
return true;
|
|
|
|
var angle = modulo(Math.atan2(dy, dx), 2 * Math.PI);
|
|
if (angle1 > angle2)
|
|
return (angle >= angle2 || angle <= angle1);
|
|
else
|
|
return (angle >= angle1 && angle <= angle2);
|
|
}
|
|
|
|
function pointWithinPad(x, y, pad) {
|
|
var v = [x - pad.pos[0], y - pad.pos[1]];
|
|
v = rotateVector(v, -pad.angle);
|
|
if (pad.offset) {
|
|
v[0] -= pad.offset[0];
|
|
v[1] -= pad.offset[1];
|
|
}
|
|
return emptyContext2d.isPointInPath(getCachedPadPath(pad), ...v);
|
|
}
|
|
|
|
function netHitScan(layer, x, y) {
|
|
// Check track segments
|
|
if (settings.renderTracks && pcbdata.tracks) {
|
|
for (var track of pcbdata.tracks[layer]) {
|
|
if ('radius' in track) {
|
|
if (pointWithinDistanceToArc(x, y, ...track.center, track.radius, track.startangle, track.endangle, track.width / 2)) {
|
|
return track.net;
|
|
}
|
|
} else {
|
|
if (pointWithinDistanceToSegment(x, y, ...track.start, ...track.end, track.width / 2)) {
|
|
return track.net;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// Check pads
|
|
if (settings.renderPads) {
|
|
for (var footprint of pcbdata.footprints) {
|
|
for (var pad of footprint.pads) {
|
|
if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
|
|
return pad.net;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function pointWithinFootprintBbox(x, y, bbox) {
|
|
var v = [x - bbox.pos[0], y - bbox.pos[1]];
|
|
v = rotateVector(v, bbox.angle);
|
|
return bbox.relpos[0] <= v[0] && v[0] <= bbox.relpos[0] + bbox.size[0] &&
|
|
bbox.relpos[1] <= v[1] && v[1] <= bbox.relpos[1] + bbox.size[1];
|
|
}
|
|
|
|
function bboxHitScan(layer, x, y) {
|
|
var result = [];
|
|
for (var i = 0; i < pcbdata.footprints.length; i++) {
|
|
var footprint = pcbdata.footprints[i];
|
|
if (footprint.layer == layer) {
|
|
if (pointWithinFootprintBbox(x, y, footprint.bbox)) {
|
|
result.push(i);
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
function handlePointerDown(e, layerdict) {
|
|
if (e.button != 0 && e.button != 1) {
|
|
return;
|
|
}
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
|
|
if (!e.hasOwnProperty("offsetX")) {
|
|
// The polyfill doesn't set this properly
|
|
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
|
|
e.offsetY = e.pageY - e.currentTarget.offsetTop;
|
|
}
|
|
|
|
layerdict.pointerStates[e.pointerId] = {
|
|
distanceTravelled: 0,
|
|
lastX: e.offsetX,
|
|
lastY: e.offsetY,
|
|
downTime: Date.now(),
|
|
};
|
|
}
|
|
|
|
function handleMouseClick(e, layerdict) {
|
|
if (!e.hasOwnProperty("offsetX")) {
|
|
// The polyfill doesn't set this properly
|
|
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
|
|
e.offsetY = e.pageY - e.currentTarget.offsetTop;
|
|
}
|
|
|
|
var x = e.offsetX;
|
|
var y = e.offsetY;
|
|
var t = layerdict.transform;
|
|
if (layerdict.layer == "B") {
|
|
x = (devicePixelRatio * x / t.zoom - t.panx + t.x) / -t.s;
|
|
} else {
|
|
x = (devicePixelRatio * x / t.zoom - t.panx - t.x) / t.s;
|
|
}
|
|
y = (devicePixelRatio * y / t.zoom - t.y - t.pany) / t.s;
|
|
var v = rotateVector([x, y], -settings.boardRotation);
|
|
if ("nets" in pcbdata) {
|
|
var net = netHitScan(layerdict.layer, ...v);
|
|
if (net !== highlightedNet) {
|
|
netClicked(net);
|
|
}
|
|
}
|
|
if (highlightedNet === null) {
|
|
var footprints = bboxHitScan(layerdict.layer, ...v);
|
|
if (footprints.length > 0) {
|
|
footprintsClicked(footprints);
|
|
}
|
|
}
|
|
}
|
|
|
|
function handlePointerLeave(e, layerdict) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
|
|
if (!settings.redrawOnDrag) {
|
|
redrawCanvas(layerdict);
|
|
}
|
|
|
|
delete layerdict.pointerStates[e.pointerId];
|
|
}
|
|
|
|
function resetTransform(layerdict) {
|
|
layerdict.transform.panx = 0;
|
|
layerdict.transform.pany = 0;
|
|
layerdict.transform.zoom = 1;
|
|
redrawCanvas(layerdict);
|
|
}
|
|
|
|
function handlePointerUp(e, layerdict) {
|
|
if (!e.hasOwnProperty("offsetX")) {
|
|
// The polyfill doesn't set this properly
|
|
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
|
|
e.offsetY = e.pageY - e.currentTarget.offsetTop;
|
|
}
|
|
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
|
|
if (e.button == 2) {
|
|
// Reset pan and zoom on right click.
|
|
resetTransform(layerdict);
|
|
layerdict.anotherPointerTapped = false;
|
|
return;
|
|
}
|
|
|
|
// We haven't necessarily had a pointermove event since the interaction started, so make sure we update this now
|
|
var ptr = layerdict.pointerStates[e.pointerId];
|
|
ptr.distanceTravelled += Math.abs(e.offsetX - ptr.lastX) + Math.abs(e.offsetY - ptr.lastY);
|
|
|
|
if (e.button == 0 && ptr.distanceTravelled < 10 && Date.now() - ptr.downTime <= 500) {
|
|
if (Object.keys(layerdict.pointerStates).length == 1) {
|
|
if (layerdict.anotherPointerTapped) {
|
|
// This is the second pointer coming off of a two-finger tap
|
|
resetTransform(layerdict);
|
|
} else {
|
|
// This is just a regular tap
|
|
handleMouseClick(e, layerdict);
|
|
}
|
|
layerdict.anotherPointerTapped = false;
|
|
} else {
|
|
// This is the first finger coming off of what could become a two-finger tap
|
|
layerdict.anotherPointerTapped = true;
|
|
}
|
|
} else {
|
|
if (!settings.redrawOnDrag) {
|
|
redrawCanvas(layerdict);
|
|
}
|
|
layerdict.anotherPointerTapped = false;
|
|
}
|
|
|
|
delete layerdict.pointerStates[e.pointerId];
|
|
}
|
|
|
|
function handlePointerMove(e, layerdict) {
|
|
if (!layerdict.pointerStates.hasOwnProperty(e.pointerId)) {
|
|
return;
|
|
}
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
|
|
if (!e.hasOwnProperty("offsetX")) {
|
|
// The polyfill doesn't set this properly
|
|
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
|
|
e.offsetY = e.pageY - e.currentTarget.offsetTop;
|
|
}
|
|
|
|
var thisPtr = layerdict.pointerStates[e.pointerId];
|
|
|
|
var dx = e.offsetX - thisPtr.lastX;
|
|
var dy = e.offsetY - thisPtr.lastY;
|
|
|
|
// If this number is low on pointer up, we count the action as a click
|
|
thisPtr.distanceTravelled += Math.abs(dx) + Math.abs(dy);
|
|
|
|
if (Object.keys(layerdict.pointerStates).length == 1) {
|
|
// This is a simple drag
|
|
layerdict.transform.panx += devicePixelRatio * dx / layerdict.transform.zoom;
|
|
layerdict.transform.pany += devicePixelRatio * dy / layerdict.transform.zoom;
|
|
} else if (Object.keys(layerdict.pointerStates).length == 2) {
|
|
var otherPtr = Object.values(layerdict.pointerStates).filter((ptr) => ptr != thisPtr)[0];
|
|
|
|
var oldDist = Math.sqrt(Math.pow(thisPtr.lastX - otherPtr.lastX, 2) + Math.pow(thisPtr.lastY - otherPtr.lastY, 2));
|
|
var newDist = Math.sqrt(Math.pow(e.offsetX - otherPtr.lastX, 2) + Math.pow(e.offsetY - otherPtr.lastY, 2));
|
|
|
|
var scaleFactor = newDist / oldDist;
|
|
|
|
if (scaleFactor != NaN) {
|
|
layerdict.transform.zoom *= scaleFactor;
|
|
|
|
var zoomd = (1 - scaleFactor) / layerdict.transform.zoom;
|
|
layerdict.transform.panx += devicePixelRatio * otherPtr.lastX * zoomd;
|
|
layerdict.transform.pany += devicePixelRatio * otherPtr.lastY * zoomd;
|
|
}
|
|
}
|
|
|
|
thisPtr.lastX = e.offsetX;
|
|
thisPtr.lastY = e.offsetY;
|
|
|
|
if (settings.redrawOnDrag) {
|
|
redrawCanvas(layerdict);
|
|
}
|
|
}
|
|
|
|
function handleMouseWheel(e, layerdict) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
var t = layerdict.transform;
|
|
var wheeldelta = e.deltaY;
|
|
if (e.deltaMode == 1) {
|
|
// FF only, scroll by lines
|
|
wheeldelta *= 30;
|
|
} else if (e.deltaMode == 2) {
|
|
wheeldelta *= 300;
|
|
}
|
|
var m = Math.pow(1.1, -wheeldelta / 40);
|
|
// Limit amount of zoom per tick.
|
|
if (m > 2) {
|
|
m = 2;
|
|
} else if (m < 0.5) {
|
|
m = 0.5;
|
|
}
|
|
t.zoom *= m;
|
|
var zoomd = (1 - m) / t.zoom;
|
|
t.panx += devicePixelRatio * e.offsetX * zoomd;
|
|
t.pany += devicePixelRatio * e.offsetY * zoomd;
|
|
redrawCanvas(layerdict);
|
|
}
|
|
|
|
function addMouseHandlers(div, layerdict) {
|
|
div.addEventListener("pointerdown", function(e) {
|
|
handlePointerDown(e, layerdict);
|
|
});
|
|
div.addEventListener("pointermove", function(e) {
|
|
handlePointerMove(e, layerdict);
|
|
});
|
|
div.addEventListener("pointerup", function(e) {
|
|
handlePointerUp(e, layerdict);
|
|
});
|
|
var pointerleave = function(e) {
|
|
handlePointerLeave(e, layerdict);
|
|
}
|
|
div.addEventListener("pointercancel", pointerleave);
|
|
div.addEventListener("pointerleave", pointerleave);
|
|
div.addEventListener("pointerout", pointerleave);
|
|
|
|
div.onwheel = function(e) {
|
|
handleMouseWheel(e, layerdict);
|
|
}
|
|
for (var element of [div, layerdict.bg, layerdict.fab, layerdict.silk, layerdict.highlight]) {
|
|
element.addEventListener("contextmenu", function(e) {
|
|
e.preventDefault();
|
|
}, false);
|
|
}
|
|
}
|
|
|
|
function setRedrawOnDrag(value) {
|
|
settings.redrawOnDrag = value;
|
|
writeStorage("redrawOnDrag", value);
|
|
}
|
|
|
|
function setBoardRotation(value) {
|
|
settings.boardRotation = value * 5;
|
|
writeStorage("boardRotation", settings.boardRotation);
|
|
document.getElementById("rotationDegree").textContent = settings.boardRotation;
|
|
resizeAll();
|
|
}
|
|
|
|
function initRender() {
|
|
allcanvas = {
|
|
front: {
|
|
transform: {
|
|
x: 0,
|
|
y: 0,
|
|
s: 1,
|
|
panx: 0,
|
|
pany: 0,
|
|
zoom: 1,
|
|
},
|
|
pointerStates: {},
|
|
anotherPointerTapped: false,
|
|
bg: document.getElementById("F_bg"),
|
|
fab: document.getElementById("F_fab"),
|
|
silk: document.getElementById("F_slk"),
|
|
highlight: document.getElementById("F_hl"),
|
|
layer: "F",
|
|
},
|
|
back: {
|
|
transform: {
|
|
x: 0,
|
|
y: 0,
|
|
s: 1,
|
|
panx: 0,
|
|
pany: 0,
|
|
zoom: 1,
|
|
},
|
|
pointerStates: {},
|
|
anotherPointerTapped: false,
|
|
bg: document.getElementById("B_bg"),
|
|
fab: document.getElementById("B_fab"),
|
|
silk: document.getElementById("B_slk"),
|
|
highlight: document.getElementById("B_hl"),
|
|
layer: "B",
|
|
}
|
|
};
|
|
addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front);
|
|
addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back);
|
|
}
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
/*
|
|
* Table reordering via Drag'n'Drop
|
|
* Inspired by: https://htmldom.dev/drag-and-drop-table-column
|
|
*/
|
|
|
|
function setBomHandlers() {
|
|
|
|
const bom = document.getElementById('bomtable');
|
|
|
|
let dragName;
|
|
let placeHolderElements;
|
|
let draggingElement;
|
|
let forcePopulation;
|
|
let xOffset;
|
|
let yOffset;
|
|
let wasDragged;
|
|
|
|
const mouseUpHandler = function(e) {
|
|
// Delete dragging element
|
|
draggingElement.remove();
|
|
|
|
// Make BOM selectable again
|
|
bom.style.removeProperty("userSelect");
|
|
|
|
// Remove listeners
|
|
document.removeEventListener('mousemove', mouseMoveHandler);
|
|
document.removeEventListener('mouseup', mouseUpHandler);
|
|
|
|
if (wasDragged) {
|
|
// Redraw whole BOM
|
|
populateBomTable();
|
|
}
|
|
}
|
|
|
|
const mouseMoveHandler = function(e) {
|
|
// Notice the dragging
|
|
wasDragged = true;
|
|
|
|
// Make the dragged element visible
|
|
draggingElement.style.removeProperty("display");
|
|
|
|
// Set elements position to mouse position
|
|
draggingElement.style.left = `${e.screenX - xOffset}px`;
|
|
draggingElement.style.top = `${e.screenY - yOffset}px`;
|
|
|
|
// Forced redrawing of BOM table
|
|
if (forcePopulation) {
|
|
forcePopulation = false;
|
|
// Copy array
|
|
phe = Array.from(placeHolderElements);
|
|
// populate BOM table again
|
|
populateBomHeader(dragName, phe);
|
|
populateBomBody(dragName, phe);
|
|
}
|
|
|
|
// Set up array of hidden columns
|
|
var hiddenColumns = Array.from(settings.hiddenColumns);
|
|
// In the ungrouped mode, quantity don't exist
|
|
if (settings.bommode === "ungrouped")
|
|
hiddenColumns.push("Quantity");
|
|
// If no checkbox fields can be found, we consider them hidden
|
|
if (settings.checkboxes.length == 0)
|
|
hiddenColumns.push("checkboxes");
|
|
|
|
// Get table headers and group them into checkboxes, extrafields and normal headers
|
|
const bh = document.getElementById("bomhead");
|
|
headers = Array.from(bh.querySelectorAll("th"))
|
|
headers.shift() // numCol is not part of the columnOrder
|
|
headerGroups = []
|
|
lastCompoundClass = null;
|
|
for (i = 0; i < settings.columnOrder.length; i++) {
|
|
cElem = settings.columnOrder[i];
|
|
if (hiddenColumns.includes(cElem)) {
|
|
// Hidden columns appear as a dummy element
|
|
headerGroups.push([]);
|
|
continue;
|
|
}
|
|
elem = headers.filter(e => getColumnOrderName(e) === cElem)[0];
|
|
if (elem.classList.contains("bom-checkbox")) {
|
|
if (lastCompoundClass === "bom-checkbox") {
|
|
cbGroup = headerGroups.pop();
|
|
cbGroup.push(elem);
|
|
headerGroups.push(cbGroup);
|
|
} else {
|
|
lastCompoundClass = "bom-checkbox";
|
|
headerGroups.push([elem])
|
|
}
|
|
} else {
|
|
headerGroups.push([elem])
|
|
}
|
|
}
|
|
|
|
// Copy settings.columnOrder
|
|
var columns = Array.from(settings.columnOrder)
|
|
|
|
// Set up array with indices of hidden columns
|
|
var hiddenIndices = hiddenColumns.map(e => settings.columnOrder.indexOf(e));
|
|
var dragIndex = columns.indexOf(dragName);
|
|
var swapIndex = dragIndex;
|
|
var swapDone = false;
|
|
|
|
// Check if the current dragged element is swapable with the left or right element
|
|
if (dragIndex > 0) {
|
|
// Get left headers boundingbox
|
|
swapIndex = dragIndex - 1;
|
|
while (hiddenIndices.includes(swapIndex) && swapIndex > 0)
|
|
swapIndex--;
|
|
if (!hiddenIndices.includes(swapIndex)) {
|
|
box = getBoundingClientRectFromMultiple(headerGroups[swapIndex]);
|
|
if (e.clientX < box.left + window.scrollX + (box.width / 2)) {
|
|
swapElement = columns[dragIndex];
|
|
columns.splice(dragIndex, 1);
|
|
columns.splice(swapIndex, 0, swapElement);
|
|
forcePopulation = true;
|
|
swapDone = true;
|
|
}
|
|
}
|
|
}
|
|
if ((!swapDone) && dragIndex < headerGroups.length - 1) {
|
|
// Get right headers boundingbox
|
|
swapIndex = dragIndex + 1;
|
|
while (hiddenIndices.includes(swapIndex))
|
|
swapIndex++;
|
|
if (swapIndex < headerGroups.length) {
|
|
box = getBoundingClientRectFromMultiple(headerGroups[swapIndex]);
|
|
if (e.clientX > box.left + window.scrollX + (box.width / 2)) {
|
|
swapElement = columns[dragIndex];
|
|
columns.splice(dragIndex, 1);
|
|
columns.splice(swapIndex, 0, swapElement);
|
|
forcePopulation = true;
|
|
swapDone = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Write back change to storage
|
|
if (swapDone) {
|
|
settings.columnOrder = columns
|
|
writeStorage("columnOrder", JSON.stringify(columns));
|
|
}
|
|
|
|
}
|
|
|
|
const mouseDownHandler = function(e) {
|
|
var target = e.target;
|
|
if (target.tagName.toLowerCase() != "td")
|
|
target = target.parentElement;
|
|
|
|
// Used to check if a dragging has ever happened
|
|
wasDragged = false;
|
|
|
|
// Create new element which will be displayed as the dragged column
|
|
draggingElement = document.createElement("div")
|
|
draggingElement.classList.add("dragging");
|
|
draggingElement.style.display = "none";
|
|
draggingElement.style.position = "absolute";
|
|
draggingElement.style.overflow = "hidden";
|
|
|
|
// Get bomhead and bombody elements
|
|
const bh = document.getElementById("bomhead");
|
|
const bb = document.getElementById("bombody");
|
|
|
|
// Get all compound headers for the current column
|
|
var compoundHeaders;
|
|
if (target.classList.contains("bom-checkbox")) {
|
|
compoundHeaders = Array.from(bh.querySelectorAll("th.bom-checkbox"));
|
|
} else {
|
|
compoundHeaders = [target];
|
|
}
|
|
|
|
// Create new table which will display the column
|
|
var newTable = document.createElement("table");
|
|
newTable.classList.add("bom");
|
|
newTable.style.background = "white";
|
|
draggingElement.append(newTable);
|
|
|
|
// Create new header element
|
|
var newHeader = document.createElement("thead");
|
|
newTable.append(newHeader);
|
|
|
|
// Set up array for storing all placeholder elements
|
|
placeHolderElements = [];
|
|
|
|
// Add all compound headers to the new thead element and placeholders
|
|
compoundHeaders.forEach(function(h) {
|
|
clone = cloneElementWithDimensions(h);
|
|
newHeader.append(clone);
|
|
placeHolderElements.push(clone);
|
|
});
|
|
|
|
// Create new body element
|
|
var newBody = document.createElement("tbody");
|
|
newTable.append(newBody);
|
|
|
|
// Get indices for compound headers
|
|
var idxs = compoundHeaders.map(e => getBomTableHeaderIndex(e));
|
|
|
|
// For each row in the BOM body...
|
|
var rows = bb.querySelectorAll("tr");
|
|
rows.forEach(function(row) {
|
|
// ..get the cells for the compound column
|
|
const tds = row.querySelectorAll("td");
|
|
var copytds = idxs.map(i => tds[i]);
|
|
// Add them to the new element and the placeholders
|
|
var newRow = document.createElement("tr");
|
|
copytds.forEach(function(td) {
|
|
clone = cloneElementWithDimensions(td);
|
|
newRow.append(clone);
|
|
placeHolderElements.push(clone);
|
|
});
|
|
newBody.append(newRow);
|
|
});
|
|
|
|
// Compute width for compound header
|
|
var width = compoundHeaders.reduce((acc, x) => acc + x.clientWidth, 0);
|
|
draggingElement.style.width = `${width}px`;
|
|
|
|
// Insert the new dragging element and disable selection on BOM
|
|
bom.insertBefore(draggingElement, null);
|
|
bom.style.userSelect = "none";
|
|
|
|
// Determine the mouse position offset
|
|
xOffset = e.screenX - compoundHeaders.reduce((acc, x) => Math.min(acc, x.offsetLeft), compoundHeaders[0].offsetLeft);
|
|
yOffset = e.screenY - compoundHeaders[0].offsetTop;
|
|
|
|
// Get name for the column in settings.columnOrder
|
|
dragName = getColumnOrderName(target);
|
|
|
|
// Change text and class for placeholder elements
|
|
placeHolderElements = placeHolderElements.map(function(e) {
|
|
newElem = cloneElementWithDimensions(e);
|
|
newElem.textContent = "";
|
|
newElem.classList.add("placeholder");
|
|
return newElem;
|
|
});
|
|
|
|
// On next mouse move, the whole BOM needs to be redrawn to show the placeholders
|
|
forcePopulation = true;
|
|
|
|
// Add listeners for move and up on mouse
|
|
document.addEventListener('mousemove', mouseMoveHandler);
|
|
document.addEventListener('mouseup', mouseUpHandler);
|
|
}
|
|
|
|
// In netlist mode, there is nothing to reorder
|
|
if (settings.bommode === "netlist")
|
|
return;
|
|
|
|
// Add mouseDownHandler to every column except the numCol
|
|
bom.querySelectorAll("th")
|
|
.forEach(function(head) {
|
|
if (!head.classList.contains("numCol")) {
|
|
head.onmousedown = mouseDownHandler;
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
function getBoundingClientRectFromMultiple(elements) {
|
|
var elems = Array.from(elements);
|
|
|
|
if (elems.length == 0)
|
|
return null;
|
|
|
|
var box = elems.shift()
|
|
.getBoundingClientRect();
|
|
|
|
elems.forEach(function(elem) {
|
|
var elembox = elem.getBoundingClientRect();
|
|
box.left = Math.min(elembox.left, box.left);
|
|
box.top = Math.min(elembox.top, box.top);
|
|
box.width += elembox.width;
|
|
box.height = Math.max(elembox.height, box.height);
|
|
});
|
|
|
|
return box;
|
|
}
|
|
|
|
function cloneElementWithDimensions(elem) {
|
|
var newElem = elem.cloneNode(true);
|
|
newElem.style.height = window.getComputedStyle(elem).height;
|
|
newElem.style.width = window.getComputedStyle(elem).width;
|
|
return newElem;
|
|
}
|
|
|
|
function getBomTableHeaderIndex(elem) {
|
|
const bh = document.getElementById('bomhead');
|
|
const ths = Array.from(bh.querySelectorAll("th"));
|
|
return ths.indexOf(elem);
|
|
}
|
|
|
|
function getColumnOrderName(elem) {
|
|
var cname = elem.getAttribute("col_name");
|
|
if (cname === "bom-checkbox")
|
|
return "checkboxes";
|
|
else
|
|
return cname;
|
|
}
|
|
|
|
function resizableGrid(tablehead) {
|
|
var cols = tablehead.firstElementChild.children;
|
|
var rowWidth = tablehead.offsetWidth;
|
|
|
|
for (var i = 1; i < cols.length; i++) {
|
|
if (cols[i].classList.contains("bom-checkbox"))
|
|
continue;
|
|
cols[i].style.width = ((cols[i].clientWidth - paddingDiff(cols[i])) * 100 / rowWidth) + '%';
|
|
}
|
|
|
|
for (var i = 1; i < cols.length - 1; i++) {
|
|
var div = document.createElement('div');
|
|
div.className = "column-width-handle";
|
|
cols[i].appendChild(div);
|
|
setListeners(div);
|
|
}
|
|
|
|
function setListeners(div) {
|
|
var startX, curCol, nxtCol, curColWidth, nxtColWidth, rowWidth;
|
|
|
|
div.addEventListener('mousedown', function(e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
|
|
curCol = e.target.parentElement;
|
|
nxtCol = curCol.nextElementSibling;
|
|
startX = e.pageX;
|
|
|
|
var padding = paddingDiff(curCol);
|
|
|
|
rowWidth = curCol.parentElement.offsetWidth;
|
|
curColWidth = curCol.clientWidth - padding;
|
|
nxtColWidth = nxtCol.clientWidth - padding;
|
|
});
|
|
|
|
document.addEventListener('mousemove', function(e) {
|
|
if (startX) {
|
|
var diffX = e.pageX - startX;
|
|
diffX = -Math.min(-diffX, curColWidth - 20);
|
|
diffX = Math.min(diffX, nxtColWidth - 20);
|
|
|
|
curCol.style.width = ((curColWidth + diffX) * 100 / rowWidth) + '%';
|
|
nxtCol.style.width = ((nxtColWidth - diffX) * 100 / rowWidth) + '%';
|
|
console.log(`${curColWidth + nxtColWidth} ${(curColWidth + diffX) * 100 / rowWidth + (nxtColWidth - diffX) * 100 / rowWidth}`);
|
|
}
|
|
});
|
|
|
|
document.addEventListener('mouseup', function(e) {
|
|
curCol = undefined;
|
|
nxtCol = undefined;
|
|
startX = undefined;
|
|
nxtColWidth = undefined;
|
|
curColWidth = undefined
|
|
});
|
|
}
|
|
|
|
function paddingDiff(col) {
|
|
|
|
if (getStyleVal(col, 'box-sizing') == 'border-box') {
|
|
return 0;
|
|
}
|
|
|
|
var padLeft = getStyleVal(col, 'padding-left');
|
|
var padRight = getStyleVal(col, 'padding-right');
|
|
return (parseInt(padLeft) + parseInt(padRight));
|
|
|
|
}
|
|
|
|
function getStyleVal(elm, css) {
|
|
return (window.getComputedStyle(elm, null).getPropertyValue(css))
|
|
}
|
|
}
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
/* DOM manipulation and misc code */
|
|
|
|
var bomsplit;
|
|
var canvassplit;
|
|
var initDone = false;
|
|
var bomSortFunction = null;
|
|
var currentSortColumn = null;
|
|
var currentSortOrder = null;
|
|
var currentHighlightedRowId;
|
|
var highlightHandlers = [];
|
|
var footprintIndexToHandler = {};
|
|
var netsToHandler = {};
|
|
var markedFootprints = new Set();
|
|
var highlightedFootprints = [];
|
|
var highlightedNet = null;
|
|
var lastClicked;
|
|
|
|
function dbg(html) {
|
|
dbgdiv.innerHTML = html;
|
|
}
|
|
|
|
function redrawIfInitDone() {
|
|
if (initDone) {
|
|
redrawCanvas(allcanvas.front);
|
|
redrawCanvas(allcanvas.back);
|
|
}
|
|
}
|
|
|
|
function padsVisible(value) {
|
|
writeStorage("padsVisible", value);
|
|
settings.renderPads = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function referencesVisible(value) {
|
|
writeStorage("referencesVisible", value);
|
|
settings.renderReferences = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function valuesVisible(value) {
|
|
writeStorage("valuesVisible", value);
|
|
settings.renderValues = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function tracksVisible(value) {
|
|
writeStorage("tracksVisible", value);
|
|
settings.renderTracks = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function zonesVisible(value) {
|
|
writeStorage("zonesVisible", value);
|
|
settings.renderZones = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function dnpOutline(value) {
|
|
writeStorage("dnpOutline", value);
|
|
settings.renderDnpOutline = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function setDarkMode(value) {
|
|
if (value) {
|
|
topmostdiv.classList.add("dark");
|
|
} else {
|
|
topmostdiv.classList.remove("dark");
|
|
}
|
|
writeStorage("darkmode", value);
|
|
settings.darkMode = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function setShowBOMColumn(field, value) {
|
|
if (field === "references") {
|
|
var rl = document.getElementById("reflookup");
|
|
rl.disabled = !value;
|
|
if (!value) {
|
|
rl.value = "";
|
|
updateRefLookup("");
|
|
}
|
|
}
|
|
|
|
var n = settings.hiddenColumns.indexOf(field);
|
|
if (value) {
|
|
if (n != -1) {
|
|
settings.hiddenColumns.splice(n, 1);
|
|
}
|
|
} else {
|
|
if (n == -1) {
|
|
settings.hiddenColumns.push(field);
|
|
}
|
|
}
|
|
|
|
writeStorage("hiddenColumns", JSON.stringify(settings.hiddenColumns));
|
|
|
|
if (initDone) {
|
|
populateBomTable();
|
|
}
|
|
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
|
|
function setFullscreen(value) {
|
|
if (value) {
|
|
document.documentElement.requestFullscreen();
|
|
} else {
|
|
document.exitFullscreen();
|
|
}
|
|
}
|
|
|
|
function fabricationVisible(value) {
|
|
writeStorage("fabricationVisible", value);
|
|
settings.renderFabrication = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function silkscreenVisible(value) {
|
|
writeStorage("silkscreenVisible", value);
|
|
settings.renderSilkscreen = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function setHighlightPin1(value) {
|
|
writeStorage("highlightpin1", value);
|
|
settings.highlightpin1 = value;
|
|
redrawIfInitDone();
|
|
}
|
|
|
|
function getStoredCheckboxRefs(checkbox) {
|
|
function convert(ref) {
|
|
var intref = parseInt(ref);
|
|
if (isNaN(intref)) {
|
|
for (var i = 0; i < pcbdata.footprints.length; i++) {
|
|
if (pcbdata.footprints[i].ref == ref) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
} else {
|
|
return intref;
|
|
}
|
|
}
|
|
if (!(checkbox in settings.checkboxStoredRefs)) {
|
|
var val = readStorage("checkbox_" + checkbox);
|
|
settings.checkboxStoredRefs[checkbox] = val ? val : "";
|
|
}
|
|
if (!settings.checkboxStoredRefs[checkbox]) {
|
|
return new Set();
|
|
} else {
|
|
return new Set(settings.checkboxStoredRefs[checkbox].split(",").map(r => convert(r)).filter(a => a >= 0));
|
|
}
|
|
}
|
|
|
|
function getCheckboxState(checkbox, references) {
|
|
var storedRefsSet = getStoredCheckboxRefs(checkbox);
|
|
var currentRefsSet = new Set(references.map(r => r[1]));
|
|
// Get difference of current - stored
|
|
var difference = new Set(currentRefsSet);
|
|
for (ref of storedRefsSet) {
|
|
difference.delete(ref);
|
|
}
|
|
if (difference.size == 0) {
|
|
// All the current refs are stored
|
|
return "checked";
|
|
} else if (difference.size == currentRefsSet.size) {
|
|
// None of the current refs are stored
|
|
return "unchecked";
|
|
} else {
|
|
// Some of the refs are stored
|
|
return "indeterminate";
|
|
}
|
|
}
|
|
|
|
function setBomCheckboxState(checkbox, element, references) {
|
|
var state = getCheckboxState(checkbox, references);
|
|
element.checked = (state == "checked");
|
|
element.indeterminate = (state == "indeterminate");
|
|
}
|
|
|
|
function createCheckboxChangeHandler(checkbox, references, row) {
|
|
return function () {
|
|
refsSet = getStoredCheckboxRefs(checkbox);
|
|
var markWhenChecked = settings.markWhenChecked == checkbox;
|
|
eventArgs = {
|
|
checkbox: checkbox,
|
|
refs: references,
|
|
}
|
|
if (this.checked) {
|
|
// checkbox ticked
|
|
for (var ref of references) {
|
|
refsSet.add(ref[1]);
|
|
}
|
|
if (markWhenChecked) {
|
|
row.classList.add("checked");
|
|
for (var ref of references) {
|
|
markedFootprints.add(ref[1]);
|
|
}
|
|
drawHighlights();
|
|
}
|
|
eventArgs.state = 'checked';
|
|
} else {
|
|
// checkbox unticked
|
|
for (var ref of references) {
|
|
refsSet.delete(ref[1]);
|
|
}
|
|
if (markWhenChecked) {
|
|
row.classList.remove("checked");
|
|
for (var ref of references) {
|
|
markedFootprints.delete(ref[1]);
|
|
}
|
|
drawHighlights();
|
|
}
|
|
eventArgs.state = 'unchecked';
|
|
}
|
|
settings.checkboxStoredRefs[checkbox] = [...refsSet].join(",");
|
|
writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
|
|
updateCheckboxStats(checkbox);
|
|
EventHandler.emitEvent(IBOM_EVENT_TYPES.CHECKBOX_CHANGE_EVENT, eventArgs);
|
|
}
|
|
}
|
|
|
|
function clearHighlightedFootprints() {
|
|
if (currentHighlightedRowId) {
|
|
document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
|
|
currentHighlightedRowId = null;
|
|
highlightedFootprints = [];
|
|
highlightedNet = null;
|
|
}
|
|
}
|
|
|
|
function createRowHighlightHandler(rowid, refs, net) {
|
|
return function () {
|
|
if (currentHighlightedRowId) {
|
|
if (currentHighlightedRowId == rowid) {
|
|
return;
|
|
}
|
|
document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
|
|
}
|
|
document.getElementById(rowid).classList.add("highlighted");
|
|
currentHighlightedRowId = rowid;
|
|
highlightedFootprints = refs ? refs.map(r => r[1]) : [];
|
|
highlightedNet = net;
|
|
drawHighlights();
|
|
EventHandler.emitEvent(
|
|
IBOM_EVENT_TYPES.HIGHLIGHT_EVENT, {
|
|
rowid: rowid,
|
|
refs: refs,
|
|
net: net
|
|
});
|
|
}
|
|
}
|
|
|
|
function entryMatches(entry) {
|
|
if (settings.bommode == "netlist") {
|
|
// entry is just a net name
|
|
return entry.toLowerCase().indexOf(filter) >= 0;
|
|
}
|
|
// check refs
|
|
if (!settings.hiddenColumns.includes("references")) {
|
|
for (var ref of entry) {
|
|
if (ref[0].toLowerCase().indexOf(filter) >= 0) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
// check fields
|
|
for (var i in config.fields) {
|
|
var f = config.fields[i];
|
|
if (!settings.hiddenColumns.includes(f)) {
|
|
for (var ref of entry) {
|
|
if (pcbdata.bom.fields[ref[1]][i].toLowerCase().indexOf(filter) >= 0) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function findRefInEntry(entry) {
|
|
return entry.filter(r => r[0].toLowerCase() == reflookup);
|
|
}
|
|
|
|
function highlightFilter(s) {
|
|
if (!filter) {
|
|
return s;
|
|
}
|
|
var parts = s.toLowerCase().split(filter);
|
|
if (parts.length == 1) {
|
|
return s;
|
|
}
|
|
var r = "";
|
|
var pos = 0;
|
|
for (var i in parts) {
|
|
if (i > 0) {
|
|
r += '<mark class="highlight">' +
|
|
s.substring(pos, pos + filter.length) +
|
|
'</mark>';
|
|
pos += filter.length;
|
|
}
|
|
r += s.substring(pos, pos + parts[i].length);
|
|
pos += parts[i].length;
|
|
}
|
|
return r;
|
|
}
|
|
|
|
function checkboxSetUnsetAllHandler(checkboxname) {
|
|
return function () {
|
|
var checkboxnum = 0;
|
|
while (checkboxnum < settings.checkboxes.length &&
|
|
settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
|
|
checkboxnum++;
|
|
}
|
|
if (checkboxnum >= settings.checkboxes.length) {
|
|
return;
|
|
}
|
|
var allset = true;
|
|
var checkbox;
|
|
var row;
|
|
for (row of bombody.childNodes) {
|
|
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
|
|
if (!checkbox.checked || checkbox.indeterminate) {
|
|
allset = false;
|
|
break;
|
|
}
|
|
}
|
|
for (row of bombody.childNodes) {
|
|
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
|
|
checkbox.checked = !allset;
|
|
checkbox.indeterminate = false;
|
|
checkbox.onchange();
|
|
}
|
|
}
|
|
}
|
|
|
|
function createColumnHeader(name, cls, comparator, is_checkbox = false) {
|
|
var th = document.createElement("TH");
|
|
th.innerHTML = name;
|
|
th.classList.add(cls);
|
|
if (is_checkbox)
|
|
th.setAttribute("col_name", "bom-checkbox");
|
|
else
|
|
th.setAttribute("col_name", name);
|
|
var span = document.createElement("SPAN");
|
|
span.classList.add("sortmark");
|
|
span.classList.add("none");
|
|
th.appendChild(span);
|
|
var spacer = document.createElement("div");
|
|
spacer.className = "column-spacer";
|
|
th.appendChild(spacer);
|
|
spacer.onclick = function () {
|
|
if (currentSortColumn && th !== currentSortColumn) {
|
|
// Currently sorted by another column
|
|
currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
|
|
currentSortColumn.childNodes[1].classList.add("none");
|
|
currentSortColumn = null;
|
|
currentSortOrder = null;
|
|
}
|
|
if (currentSortColumn && th === currentSortColumn) {
|
|
// Already sorted by this column
|
|
if (currentSortOrder == "asc") {
|
|
// Sort by this column, descending order
|
|
bomSortFunction = function (a, b) {
|
|
return -comparator(a, b);
|
|
}
|
|
currentSortColumn.childNodes[1].classList.remove("asc");
|
|
currentSortColumn.childNodes[1].classList.add("desc");
|
|
currentSortOrder = "desc";
|
|
} else {
|
|
// Unsort
|
|
bomSortFunction = null;
|
|
currentSortColumn.childNodes[1].classList.remove("desc");
|
|
currentSortColumn.childNodes[1].classList.add("none");
|
|
currentSortColumn = null;
|
|
currentSortOrder = null;
|
|
}
|
|
} else {
|
|
// Sort by this column, ascending order
|
|
bomSortFunction = comparator;
|
|
currentSortColumn = th;
|
|
currentSortColumn.childNodes[1].classList.remove("none");
|
|
currentSortColumn.childNodes[1].classList.add("asc");
|
|
currentSortOrder = "asc";
|
|
}
|
|
populateBomBody();
|
|
}
|
|
if (is_checkbox) {
|
|
spacer.onclick = fancyDblClickHandler(
|
|
spacer, spacer.onclick, checkboxSetUnsetAllHandler(name));
|
|
}
|
|
return th;
|
|
}
|
|
|
|
function populateBomHeader(placeHolderColumn = null, placeHolderElements = null) {
|
|
while (bomhead.firstChild) {
|
|
bomhead.removeChild(bomhead.firstChild);
|
|
}
|
|
var tr = document.createElement("TR");
|
|
var th = document.createElement("TH");
|
|
th.classList.add("numCol");
|
|
|
|
var vismenu = document.createElement("div");
|
|
vismenu.id = "vismenu";
|
|
vismenu.classList.add("menu");
|
|
|
|
var visbutton = document.createElement("div");
|
|
visbutton.classList.add("visbtn");
|
|
visbutton.classList.add("hideonprint");
|
|
|
|
var viscontent = document.createElement("div");
|
|
viscontent.classList.add("menu-content");
|
|
viscontent.id = "vismenu-content";
|
|
|
|
settings.columnOrder.forEach(column => {
|
|
if (typeof column !== "string")
|
|
return;
|
|
|
|
// Skip empty columns
|
|
if (column === "checkboxes" && settings.checkboxes.length == 0)
|
|
return;
|
|
else if (column === "Quantity" && settings.bommode == "ungrouped")
|
|
return;
|
|
|
|
var label = document.createElement("label");
|
|
label.classList.add("menu-label");
|
|
|
|
var input = document.createElement("input");
|
|
input.classList.add("visibility_checkbox");
|
|
input.type = "checkbox";
|
|
input.onchange = function (e) {
|
|
setShowBOMColumn(column, e.target.checked)
|
|
};
|
|
input.checked = !(settings.hiddenColumns.includes(column));
|
|
|
|
label.appendChild(input);
|
|
if (column.length > 0)
|
|
label.append(column[0].toUpperCase() + column.slice(1));
|
|
|
|
viscontent.appendChild(label);
|
|
});
|
|
|
|
viscontent.childNodes[0].classList.add("menu-label-top");
|
|
|
|
vismenu.appendChild(visbutton);
|
|
if (settings.bommode != "netlist") {
|
|
vismenu.appendChild(viscontent);
|
|
th.appendChild(vismenu);
|
|
}
|
|
tr.appendChild(th);
|
|
|
|
var checkboxCompareClosure = function (checkbox) {
|
|
return (a, b) => {
|
|
var stateA = getCheckboxState(checkbox, a);
|
|
var stateB = getCheckboxState(checkbox, b);
|
|
if (stateA > stateB) return -1;
|
|
if (stateA < stateB) return 1;
|
|
return 0;
|
|
}
|
|
}
|
|
var stringFieldCompareClosure = function (fieldIndex) {
|
|
return (a, b) => {
|
|
var fa = pcbdata.bom.fields[a[0][1]][fieldIndex];
|
|
var fb = pcbdata.bom.fields[b[0][1]][fieldIndex];
|
|
if (fa != fb) return fa > fb ? 1 : -1;
|
|
else return 0;
|
|
}
|
|
}
|
|
var referenceRegex = /(?<prefix>[^0-9]+)(?<number>[0-9]+)/;
|
|
var compareRefs = (a, b) => {
|
|
var ra = referenceRegex.exec(a);
|
|
var rb = referenceRegex.exec(b);
|
|
if (ra === null || rb === null) {
|
|
if (a != b) return a > b ? 1 : -1;
|
|
return 0;
|
|
} else {
|
|
if (ra.groups.prefix != rb.groups.prefix) {
|
|
return ra.groups.prefix > rb.groups.prefix ? 1 : -1;
|
|
}
|
|
if (ra.groups.number != rb.groups.number) {
|
|
return parseInt(ra.groups.number) > parseInt(rb.groups.number) ? 1 : -1;
|
|
}
|
|
return 0;
|
|
}
|
|
}
|
|
if (settings.bommode == "netlist") {
|
|
th = createColumnHeader("Net name", "bom-netname", (a, b) => {
|
|
if (a > b) return -1;
|
|
if (a < b) return 1;
|
|
return 0;
|
|
});
|
|
tr.appendChild(th);
|
|
} else {
|
|
// Filter hidden columns
|
|
var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
|
|
var valueIndex = config.fields.indexOf("Value");
|
|
var footprintIndex = config.fields.indexOf("Footprint");
|
|
columns.forEach((column) => {
|
|
if (column === placeHolderColumn) {
|
|
var n = 1;
|
|
if (column === "checkboxes")
|
|
n = settings.checkboxes.length;
|
|
for (i = 0; i < n; i++) {
|
|
td = placeHolderElements.shift();
|
|
tr.appendChild(td);
|
|
}
|
|
return;
|
|
} else if (column === "checkboxes") {
|
|
for (var checkbox of settings.checkboxes) {
|
|
th = createColumnHeader(
|
|
checkbox, "bom-checkbox", checkboxCompareClosure(checkbox), true);
|
|
tr.appendChild(th);
|
|
}
|
|
} else if (column === "References") {
|
|
tr.appendChild(createColumnHeader("References", "references", (a, b) => {
|
|
var i = 0;
|
|
while (i < a.length && i < b.length) {
|
|
if (a[i] != b[i]) return compareRefs(a[i][0], b[i][0]);
|
|
i++;
|
|
}
|
|
return a.length - b.length;
|
|
}));
|
|
} else if (column === "Value") {
|
|
tr.appendChild(createColumnHeader("Value", "value", (a, b) => {
|
|
var ra = a[0][1], rb = b[0][1];
|
|
return valueCompare(
|
|
pcbdata.bom.parsedValues[ra], pcbdata.bom.parsedValues[rb],
|
|
pcbdata.bom.fields[ra][valueIndex], pcbdata.bom.fields[rb][valueIndex]);
|
|
}));
|
|
return;
|
|
} else if (column === "Footprint") {
|
|
tr.appendChild(createColumnHeader(
|
|
"Footprint", "footprint", stringFieldCompareClosure(footprintIndex)));
|
|
} else if (column === "Quantity" && settings.bommode == "grouped") {
|
|
tr.appendChild(createColumnHeader("Quantity", "quantity", (a, b) => {
|
|
return a.length - b.length;
|
|
}));
|
|
} else {
|
|
// Other fields
|
|
var i = config.fields.indexOf(column);
|
|
if (i < 0)
|
|
return;
|
|
tr.appendChild(createColumnHeader(
|
|
column, `field${i + 1}`, stringFieldCompareClosure(i)));
|
|
}
|
|
});
|
|
}
|
|
bomhead.appendChild(tr);
|
|
}
|
|
|
|
function populateBomBody(placeholderColumn = null, placeHolderElements = null) {
|
|
while (bom.firstChild) {
|
|
bom.removeChild(bom.firstChild);
|
|
}
|
|
highlightHandlers = [];
|
|
footprintIndexToHandler = {};
|
|
netsToHandler = {};
|
|
currentHighlightedRowId = null;
|
|
var first = true;
|
|
if (settings.bommode == "netlist") {
|
|
bomtable = pcbdata.nets.slice();
|
|
} else {
|
|
switch (settings.canvaslayout) {
|
|
case 'F':
|
|
bomtable = pcbdata.bom.F.slice();
|
|
break;
|
|
case 'FB':
|
|
bomtable = pcbdata.bom.both.slice();
|
|
break;
|
|
case 'B':
|
|
bomtable = pcbdata.bom.B.slice();
|
|
break;
|
|
}
|
|
if (settings.bommode == "ungrouped") {
|
|
// expand bom table
|
|
expandedTable = []
|
|
for (var bomentry of bomtable) {
|
|
for (var ref of bomentry) {
|
|
expandedTable.push([ref]);
|
|
}
|
|
}
|
|
bomtable = expandedTable;
|
|
}
|
|
}
|
|
if (bomSortFunction) {
|
|
bomtable = bomtable.sort(bomSortFunction);
|
|
}
|
|
for (var i in bomtable) {
|
|
var bomentry = bomtable[i];
|
|
if (filter && !entryMatches(bomentry)) {
|
|
continue;
|
|
}
|
|
var references = null;
|
|
var netname = null;
|
|
var tr = document.createElement("TR");
|
|
var td = document.createElement("TD");
|
|
var rownum = +i + 1;
|
|
tr.id = "bomrow" + rownum;
|
|
td.textContent = rownum;
|
|
tr.appendChild(td);
|
|
if (settings.bommode == "netlist") {
|
|
netname = bomentry;
|
|
td = document.createElement("TD");
|
|
td.innerHTML = highlightFilter(netname ? netname : "<no net>");
|
|
tr.appendChild(td);
|
|
} else {
|
|
if (reflookup) {
|
|
references = findRefInEntry(bomentry);
|
|
if (references.length == 0) {
|
|
continue;
|
|
}
|
|
} else {
|
|
references = bomentry;
|
|
}
|
|
// Filter hidden columns
|
|
var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
|
|
columns.forEach((column) => {
|
|
if (column === placeholderColumn) {
|
|
var n = 1;
|
|
if (column === "checkboxes")
|
|
n = settings.checkboxes.length;
|
|
for (i = 0; i < n; i++) {
|
|
td = placeHolderElements.shift();
|
|
tr.appendChild(td);
|
|
}
|
|
return;
|
|
} else if (column === "checkboxes") {
|
|
for (var checkbox of settings.checkboxes) {
|
|
if (checkbox) {
|
|
td = document.createElement("TD");
|
|
var input = document.createElement("input");
|
|
input.type = "checkbox";
|
|
input.onchange = createCheckboxChangeHandler(checkbox, references, tr);
|
|
setBomCheckboxState(checkbox, input, references);
|
|
if (input.checked && settings.markWhenChecked == checkbox) {
|
|
tr.classList.add("checked");
|
|
}
|
|
td.appendChild(input);
|
|
tr.appendChild(td);
|
|
}
|
|
}
|
|
} else if (column === "References") {
|
|
td = document.createElement("TD");
|
|
td.innerHTML = highlightFilter(references.map(r => r[0]).join(", "));
|
|
tr.appendChild(td);
|
|
} else if (column === "Quantity" && settings.bommode == "grouped") {
|
|
// Quantity
|
|
td = document.createElement("TD");
|
|
td.textContent = references.length;
|
|
tr.appendChild(td);
|
|
} else {
|
|
// All the other fields
|
|
var field_index = config.fields.indexOf(column)
|
|
if (field_index < 0)
|
|
return;
|
|
var valueSet = new Set();
|
|
references.map(r => r[1]).forEach((id) => valueSet.add(pcbdata.bom.fields[id][field_index]));
|
|
td = document.createElement("TD");
|
|
td.innerHTML = highlightFilter(Array.from(valueSet).join(", "));
|
|
tr.appendChild(td);
|
|
}
|
|
});
|
|
}
|
|
bom.appendChild(tr);
|
|
var handler = createRowHighlightHandler(tr.id, references, netname);
|
|
tr.onmousemove = handler;
|
|
highlightHandlers.push({
|
|
id: tr.id,
|
|
handler: handler,
|
|
});
|
|
if (references !== null) {
|
|
for (var refIndex of references.map(r => r[1])) {
|
|
footprintIndexToHandler[refIndex] = handler;
|
|
}
|
|
}
|
|
if (netname !== null) {
|
|
netsToHandler[netname] = handler;
|
|
}
|
|
if ((filter || reflookup) && first) {
|
|
handler();
|
|
first = false;
|
|
}
|
|
}
|
|
EventHandler.emitEvent(
|
|
IBOM_EVENT_TYPES.BOM_BODY_CHANGE_EVENT, {
|
|
filter: filter,
|
|
reflookup: reflookup,
|
|
checkboxes: settings.checkboxes,
|
|
bommode: settings.bommode,
|
|
});
|
|
}
|
|
|
|
function highlightPreviousRow() {
|
|
if (!currentHighlightedRowId) {
|
|
highlightHandlers[highlightHandlers.length - 1].handler();
|
|
} else {
|
|
if (highlightHandlers.length > 1 &&
|
|
highlightHandlers[0].id == currentHighlightedRowId) {
|
|
highlightHandlers[highlightHandlers.length - 1].handler();
|
|
} else {
|
|
for (var i = 0; i < highlightHandlers.length - 1; i++) {
|
|
if (highlightHandlers[i + 1].id == currentHighlightedRowId) {
|
|
highlightHandlers[i].handler();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
smoothScrollToRow(currentHighlightedRowId);
|
|
}
|
|
|
|
function highlightNextRow() {
|
|
if (!currentHighlightedRowId) {
|
|
highlightHandlers[0].handler();
|
|
} else {
|
|
if (highlightHandlers.length > 1 &&
|
|
highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) {
|
|
highlightHandlers[0].handler();
|
|
} else {
|
|
for (var i = 1; i < highlightHandlers.length; i++) {
|
|
if (highlightHandlers[i - 1].id == currentHighlightedRowId) {
|
|
highlightHandlers[i].handler();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
smoothScrollToRow(currentHighlightedRowId);
|
|
}
|
|
|
|
function populateBomTable() {
|
|
populateBomHeader();
|
|
populateBomBody();
|
|
setBomHandlers();
|
|
resizableGrid(bomhead);
|
|
}
|
|
|
|
function footprintsClicked(footprintIndexes) {
|
|
var lastClickedIndex = footprintIndexes.indexOf(lastClicked);
|
|
for (var i = 1; i <= footprintIndexes.length; i++) {
|
|
var refIndex = footprintIndexes[(lastClickedIndex + i) % footprintIndexes.length];
|
|
if (refIndex in footprintIndexToHandler) {
|
|
lastClicked = refIndex;
|
|
footprintIndexToHandler[refIndex]();
|
|
smoothScrollToRow(currentHighlightedRowId);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
function netClicked(net) {
|
|
if (net in netsToHandler) {
|
|
netsToHandler[net]();
|
|
smoothScrollToRow(currentHighlightedRowId);
|
|
} else {
|
|
clearHighlightedFootprints();
|
|
highlightedNet = net;
|
|
drawHighlights();
|
|
}
|
|
}
|
|
|
|
function updateFilter(input) {
|
|
filter = input.toLowerCase();
|
|
populateBomTable();
|
|
}
|
|
|
|
function updateRefLookup(input) {
|
|
reflookup = input.toLowerCase();
|
|
populateBomTable();
|
|
}
|
|
|
|
function changeCanvasLayout(layout) {
|
|
document.getElementById("fl-btn").classList.remove("depressed");
|
|
document.getElementById("fb-btn").classList.remove("depressed");
|
|
document.getElementById("bl-btn").classList.remove("depressed");
|
|
switch (layout) {
|
|
case 'F':
|
|
document.getElementById("fl-btn").classList.add("depressed");
|
|
if (settings.bomlayout != "bom-only") {
|
|
canvassplit.collapse(1);
|
|
}
|
|
break;
|
|
case 'B':
|
|
document.getElementById("bl-btn").classList.add("depressed");
|
|
if (settings.bomlayout != "bom-only") {
|
|
canvassplit.collapse(0);
|
|
}
|
|
break;
|
|
default:
|
|
document.getElementById("fb-btn").classList.add("depressed");
|
|
if (settings.bomlayout != "bom-only") {
|
|
canvassplit.setSizes([50, 50]);
|
|
}
|
|
}
|
|
settings.canvaslayout = layout;
|
|
writeStorage("canvaslayout", layout);
|
|
resizeAll();
|
|
changeBomMode(settings.bommode);
|
|
}
|
|
|
|
function populateMetadata() {
|
|
document.getElementById("title").innerHTML = pcbdata.metadata.title;
|
|
document.getElementById("revision").innerHTML = "Rev: " + pcbdata.metadata.revision;
|
|
document.getElementById("company").innerHTML = pcbdata.metadata.company;
|
|
document.getElementById("filedate").innerHTML = pcbdata.metadata.date;
|
|
if (pcbdata.metadata.title != "") {
|
|
document.title = pcbdata.metadata.title + " BOM";
|
|
}
|
|
// Calculate board stats
|
|
var fp_f = 0,
|
|
fp_b = 0,
|
|
pads_f = 0,
|
|
pads_b = 0,
|
|
pads_th = 0;
|
|
for (var i = 0; i < pcbdata.footprints.length; i++) {
|
|
if (pcbdata.bom.skipped.includes(i)) continue;
|
|
var mod = pcbdata.footprints[i];
|
|
if (mod.layer == "F") {
|
|
fp_f++;
|
|
} else {
|
|
fp_b++;
|
|
}
|
|
for (var pad of mod.pads) {
|
|
if (pad.type == "th") {
|
|
pads_th++;
|
|
} else {
|
|
if (pad.layers.includes("F")) {
|
|
pads_f++;
|
|
}
|
|
if (pad.layers.includes("B")) {
|
|
pads_b++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
document.getElementById("stats-components-front").innerHTML = fp_f;
|
|
document.getElementById("stats-components-back").innerHTML = fp_b;
|
|
document.getElementById("stats-components-total").innerHTML = fp_f + fp_b;
|
|
document.getElementById("stats-groups-front").innerHTML = pcbdata.bom.F.length;
|
|
document.getElementById("stats-groups-back").innerHTML = pcbdata.bom.B.length;
|
|
document.getElementById("stats-groups-total").innerHTML = pcbdata.bom.both.length;
|
|
document.getElementById("stats-smd-pads-front").innerHTML = pads_f;
|
|
document.getElementById("stats-smd-pads-back").innerHTML = pads_b;
|
|
document.getElementById("stats-smd-pads-total").innerHTML = pads_f + pads_b;
|
|
document.getElementById("stats-th-pads").innerHTML = pads_th;
|
|
// Update version string
|
|
document.getElementById("github-link").innerHTML = "InteractiveHtmlBom " +
|
|
/^v\d+\.\d+/.exec(pcbdata.ibom_version)[0];
|
|
}
|
|
|
|
function changeBomLayout(layout) {
|
|
document.getElementById("bom-btn").classList.remove("depressed");
|
|
document.getElementById("lr-btn").classList.remove("depressed");
|
|
document.getElementById("tb-btn").classList.remove("depressed");
|
|
switch (layout) {
|
|
case 'bom-only':
|
|
document.getElementById("bom-btn").classList.add("depressed");
|
|
if (bomsplit) {
|
|
bomsplit.destroy();
|
|
bomsplit = null;
|
|
canvassplit.destroy();
|
|
canvassplit = null;
|
|
}
|
|
document.getElementById("frontcanvas").style.display = "none";
|
|
document.getElementById("backcanvas").style.display = "none";
|
|
document.getElementById("bot").style.height = "";
|
|
break;
|
|
case 'top-bottom':
|
|
document.getElementById("tb-btn").classList.add("depressed");
|
|
document.getElementById("frontcanvas").style.display = "";
|
|
document.getElementById("backcanvas").style.display = "";
|
|
document.getElementById("bot").style.height = "calc(100% - 80px)";
|
|
document.getElementById("bomdiv").classList.remove("split-horizontal");
|
|
document.getElementById("canvasdiv").classList.remove("split-horizontal");
|
|
document.getElementById("frontcanvas").classList.add("split-horizontal");
|
|
document.getElementById("backcanvas").classList.add("split-horizontal");
|
|
if (bomsplit) {
|
|
bomsplit.destroy();
|
|
bomsplit = null;
|
|
canvassplit.destroy();
|
|
canvassplit = null;
|
|
}
|
|
bomsplit = Split(['#bomdiv', '#canvasdiv'], {
|
|
sizes: [50, 50],
|
|
onDragEnd: resizeAll,
|
|
direction: "vertical",
|
|
gutterSize: 5
|
|
});
|
|
canvassplit = Split(['#frontcanvas', '#backcanvas'], {
|
|
sizes: [50, 50],
|
|
gutterSize: 5,
|
|
onDragEnd: resizeAll
|
|
});
|
|
break;
|
|
case 'left-right':
|
|
document.getElementById("lr-btn").classList.add("depressed");
|
|
document.getElementById("frontcanvas").style.display = "";
|
|
document.getElementById("backcanvas").style.display = "";
|
|
document.getElementById("bot").style.height = "calc(100% - 80px)";
|
|
document.getElementById("bomdiv").classList.add("split-horizontal");
|
|
document.getElementById("canvasdiv").classList.add("split-horizontal");
|
|
document.getElementById("frontcanvas").classList.remove("split-horizontal");
|
|
document.getElementById("backcanvas").classList.remove("split-horizontal");
|
|
if (bomsplit) {
|
|
bomsplit.destroy();
|
|
bomsplit = null;
|
|
canvassplit.destroy();
|
|
canvassplit = null;
|
|
}
|
|
bomsplit = Split(['#bomdiv', '#canvasdiv'], {
|
|
sizes: [50, 50],
|
|
onDragEnd: resizeAll,
|
|
gutterSize: 5
|
|
});
|
|
canvassplit = Split(['#frontcanvas', '#backcanvas'], {
|
|
sizes: [50, 50],
|
|
gutterSize: 5,
|
|
direction: "vertical",
|
|
onDragEnd: resizeAll
|
|
});
|
|
}
|
|
settings.bomlayout = layout;
|
|
writeStorage("bomlayout", layout);
|
|
changeCanvasLayout(settings.canvaslayout);
|
|
}
|
|
|
|
function changeBomMode(mode) {
|
|
document.getElementById("bom-grouped-btn").classList.remove("depressed");
|
|
document.getElementById("bom-ungrouped-btn").classList.remove("depressed");
|
|
document.getElementById("bom-netlist-btn").classList.remove("depressed");
|
|
var chkbxs = document.getElementsByClassName("visibility_checkbox");
|
|
|
|
switch (mode) {
|
|
case 'grouped':
|
|
document.getElementById("bom-grouped-btn").classList.add("depressed");
|
|
for (var i = 0; i < chkbxs.length; i++) {
|
|
chkbxs[i].disabled = false;
|
|
}
|
|
break;
|
|
case 'ungrouped':
|
|
document.getElementById("bom-ungrouped-btn").classList.add("depressed");
|
|
for (var i = 0; i < chkbxs.length; i++) {
|
|
chkbxs[i].disabled = false;
|
|
}
|
|
break;
|
|
case 'netlist':
|
|
document.getElementById("bom-netlist-btn").classList.add("depressed");
|
|
for (var i = 0; i < chkbxs.length; i++) {
|
|
chkbxs[i].disabled = true;
|
|
}
|
|
}
|
|
|
|
writeStorage("bommode", mode);
|
|
if (mode != settings.bommode) {
|
|
settings.bommode = mode;
|
|
bomSortFunction = null;
|
|
currentSortColumn = null;
|
|
currentSortOrder = null;
|
|
clearHighlightedFootprints();
|
|
}
|
|
populateBomTable();
|
|
}
|
|
|
|
function focusFilterField() {
|
|
focusInputField(document.getElementById("filter"));
|
|
}
|
|
|
|
function focusRefLookupField() {
|
|
focusInputField(document.getElementById("reflookup"));
|
|
}
|
|
|
|
function toggleBomCheckbox(bomrowid, checkboxnum) {
|
|
if (!bomrowid || checkboxnum > settings.checkboxes.length) {
|
|
return;
|
|
}
|
|
var bomrow = document.getElementById(bomrowid);
|
|
var checkbox = bomrow.childNodes[checkboxnum].childNodes[0];
|
|
checkbox.checked = !checkbox.checked;
|
|
checkbox.indeterminate = false;
|
|
checkbox.onchange();
|
|
}
|
|
|
|
function checkBomCheckbox(bomrowid, checkboxname) {
|
|
var checkboxnum = 0;
|
|
while (checkboxnum < settings.checkboxes.length &&
|
|
settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
|
|
checkboxnum++;
|
|
}
|
|
if (!bomrowid || checkboxnum >= settings.checkboxes.length) {
|
|
return;
|
|
}
|
|
var bomrow = document.getElementById(bomrowid);
|
|
var checkbox = bomrow.childNodes[checkboxnum + 1].childNodes[0];
|
|
checkbox.checked = true;
|
|
checkbox.indeterminate = false;
|
|
checkbox.onchange();
|
|
}
|
|
|
|
function setBomCheckboxes(value) {
|
|
writeStorage("bomCheckboxes", value);
|
|
settings.checkboxes = value.split(",").map((e) => e.trim()).filter((e) => e);
|
|
prepCheckboxes();
|
|
populateMarkWhenCheckedOptions();
|
|
setMarkWhenChecked(settings.markWhenChecked);
|
|
}
|
|
|
|
function setMarkWhenChecked(value) {
|
|
writeStorage("markWhenChecked", value);
|
|
settings.markWhenChecked = value;
|
|
markedFootprints.clear();
|
|
for (var ref of (value ? getStoredCheckboxRefs(value) : [])) {
|
|
markedFootprints.add(ref);
|
|
}
|
|
populateBomTable();
|
|
drawHighlights();
|
|
}
|
|
|
|
function prepCheckboxes() {
|
|
var table = document.getElementById("checkbox-stats");
|
|
while (table.childElementCount > 1) {
|
|
table.removeChild(table.lastChild);
|
|
}
|
|
if (settings.checkboxes.length) {
|
|
table.style.display = "";
|
|
} else {
|
|
table.style.display = "none";
|
|
}
|
|
for (var checkbox of settings.checkboxes) {
|
|
var tr = document.createElement("TR");
|
|
var td = document.createElement("TD");
|
|
td.innerHTML = checkbox;
|
|
tr.appendChild(td);
|
|
td = document.createElement("TD");
|
|
td.id = "checkbox-stats-" + checkbox;
|
|
var progressbar = document.createElement("div");
|
|
progressbar.classList.add("bar");
|
|
td.appendChild(progressbar);
|
|
var text = document.createElement("div");
|
|
text.classList.add("text");
|
|
td.appendChild(text);
|
|
tr.appendChild(td);
|
|
table.appendChild(tr);
|
|
updateCheckboxStats(checkbox);
|
|
}
|
|
}
|
|
|
|
function populateMarkWhenCheckedOptions() {
|
|
var container = document.getElementById("markWhenCheckedContainer");
|
|
|
|
if (settings.checkboxes.length == 0) {
|
|
container.parentElement.style.display = "none";
|
|
return;
|
|
}
|
|
|
|
container.innerHTML = '';
|
|
container.parentElement.style.display = "inline-block";
|
|
|
|
function createOption(name, displayName) {
|
|
var id = "markWhenChecked-" + name;
|
|
|
|
var div = document.createElement("div");
|
|
div.classList.add("radio-container");
|
|
|
|
var input = document.createElement("input");
|
|
input.type = "radio";
|
|
input.name = "markWhenChecked";
|
|
input.value = name;
|
|
input.id = id;
|
|
input.onchange = () => setMarkWhenChecked(name);
|
|
div.appendChild(input);
|
|
|
|
// Preserve the selected element when the checkboxes change
|
|
if (name == settings.markWhenChecked) {
|
|
input.checked = true;
|
|
}
|
|
|
|
var label = document.createElement("label");
|
|
label.innerHTML = displayName;
|
|
label.htmlFor = id;
|
|
div.appendChild(label);
|
|
|
|
container.appendChild(div);
|
|
}
|
|
createOption("", "None");
|
|
for (var checkbox of settings.checkboxes) {
|
|
createOption(checkbox, checkbox);
|
|
}
|
|
}
|
|
|
|
function updateCheckboxStats(checkbox) {
|
|
var checked = getStoredCheckboxRefs(checkbox).size;
|
|
var total = pcbdata.footprints.length - pcbdata.bom.skipped.length;
|
|
var percent = checked * 100.0 / total;
|
|
var td = document.getElementById("checkbox-stats-" + checkbox);
|
|
td.firstChild.style.width = percent + "%";
|
|
td.lastChild.innerHTML = checked + "/" + total + " (" + Math.round(percent) + "%)";
|
|
}
|
|
|
|
document.onkeydown = function (e) {
|
|
switch (e.key) {
|
|
case "n":
|
|
if (document.activeElement.type == "text") {
|
|
return;
|
|
}
|
|
if (currentHighlightedRowId !== null) {
|
|
checkBomCheckbox(currentHighlightedRowId, "placed");
|
|
highlightNextRow();
|
|
e.preventDefault();
|
|
}
|
|
break;
|
|
case "ArrowUp":
|
|
highlightPreviousRow();
|
|
e.preventDefault();
|
|
break;
|
|
case "ArrowDown":
|
|
highlightNextRow();
|
|
e.preventDefault();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
if (e.altKey) {
|
|
switch (e.key) {
|
|
case "f":
|
|
focusFilterField();
|
|
e.preventDefault();
|
|
break;
|
|
case "r":
|
|
focusRefLookupField();
|
|
e.preventDefault();
|
|
break;
|
|
case "z":
|
|
changeBomLayout("bom-only");
|
|
e.preventDefault();
|
|
break;
|
|
case "x":
|
|
changeBomLayout("left-right");
|
|
e.preventDefault();
|
|
break;
|
|
case "c":
|
|
changeBomLayout("top-bottom");
|
|
e.preventDefault();
|
|
break;
|
|
case "v":
|
|
changeCanvasLayout("F");
|
|
e.preventDefault();
|
|
break;
|
|
case "b":
|
|
changeCanvasLayout("FB");
|
|
e.preventDefault();
|
|
break;
|
|
case "n":
|
|
changeCanvasLayout("B");
|
|
e.preventDefault();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
if (e.key >= '1' && e.key <= '9') {
|
|
toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key));
|
|
e.preventDefault();
|
|
}
|
|
}
|
|
}
|
|
|
|
function hideNetlistButton() {
|
|
document.getElementById("bom-ungrouped-btn").classList.remove("middle-button");
|
|
document.getElementById("bom-ungrouped-btn").classList.add("right-most-button");
|
|
document.getElementById("bom-netlist-btn").style.display = "none";
|
|
}
|
|
|
|
window.onload = function (e) {
|
|
initUtils();
|
|
initRender();
|
|
initStorage();
|
|
initDefaults();
|
|
cleanGutters();
|
|
populateMetadata();
|
|
dbgdiv = document.getElementById("dbg");
|
|
bom = document.getElementById("bombody");
|
|
bomhead = document.getElementById("bomhead");
|
|
filter = "";
|
|
reflookup = "";
|
|
if (!("nets" in pcbdata)) {
|
|
hideNetlistButton();
|
|
}
|
|
initDone = true;
|
|
setBomCheckboxes(document.getElementById("bomCheckboxes").value);
|
|
// Triggers render
|
|
changeBomLayout(settings.bomlayout);
|
|
|
|
// Users may leave fullscreen without touching the checkbox. Uncheck.
|
|
document.addEventListener('fullscreenchange', () => {
|
|
if (!document.fullscreenElement)
|
|
document.getElementById('fullscreenCheckbox').checked = false;
|
|
});
|
|
}
|
|
|
|
window.onresize = resizeAll;
|
|
window.matchMedia("print").addListener(resizeAll);
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="topmostdiv" class="topmostdiv">
|
|
<div id="top">
|
|
<div style="float: right; height: 100%;">
|
|
<div class="hideonprint menu" style="float: right; top: 8px;">
|
|
<button class="menubtn"></button>
|
|
<div class="menu-content">
|
|
<label class="menu-label menu-label-top" style="width: calc(50% - 18px)">
|
|
<input id="darkmodeCheckbox" type="checkbox" onchange="setDarkMode(this.checked)">
|
|
Dark mode
|
|
</label><!-- This comment eats space! All of it!
|
|
--><label class="menu-label menu-label-top" style="width: calc(50% - 17px); border-left: 0;">
|
|
<input id="fullscreenCheckbox" type="checkbox" onchange="setFullscreen(this.checked)">
|
|
Full Screen
|
|
</label>
|
|
<label class="menu-label" style="width: calc(50% - 18px)">
|
|
<input id="fabricationCheckbox" type="checkbox" checked onchange="fabricationVisible(this.checked)">
|
|
Fab layer
|
|
</label><!-- This comment eats space! All of it!
|
|
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
|
|
<input id="silkscreenCheckbox" type="checkbox" checked onchange="silkscreenVisible(this.checked)">
|
|
Silkscreen
|
|
</label>
|
|
<label class="menu-label" style="width: calc(50% - 18px)">
|
|
<input id="referencesCheckbox" type="checkbox" checked onchange="referencesVisible(this.checked)">
|
|
References
|
|
</label><!-- This comment eats space! All of it!
|
|
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
|
|
<input id="valuesCheckbox" type="checkbox" checked onchange="valuesVisible(this.checked)">
|
|
Values
|
|
</label>
|
|
<div id="tracksAndZonesCheckboxes">
|
|
<label class="menu-label" style="width: calc(50% - 18px)">
|
|
<input id="tracksCheckbox" type="checkbox" checked onchange="tracksVisible(this.checked)">
|
|
Tracks
|
|
</label><!-- This comment eats space! All of it!
|
|
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
|
|
<input id="zonesCheckbox" type="checkbox" checked onchange="zonesVisible(this.checked)">
|
|
Zones
|
|
</label>
|
|
</div>
|
|
<label class="menu-label" style="width: calc(50% - 18px)">
|
|
<input id="padsCheckbox" type="checkbox" checked onchange="padsVisible(this.checked)">
|
|
Pads
|
|
</label><!-- This comment eats space! All of it!
|
|
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
|
|
<input id="dnpOutlineCheckbox" type="checkbox" checked onchange="dnpOutline(this.checked)">
|
|
DNP outlined
|
|
</label>
|
|
<label class="menu-label">
|
|
<input id="highlightpin1Checkbox" type="checkbox" onchange="setHighlightPin1(this.checked)">
|
|
Highlight first pin
|
|
</label>
|
|
<label class="menu-label">
|
|
<input id="dragCheckbox" type="checkbox" checked onchange="setRedrawOnDrag(this.checked)">
|
|
Continuous redraw on drag
|
|
</label>
|
|
<label class="menu-label">
|
|
<span>Board rotation</span>
|
|
<span style="float: right"><span id="rotationDegree">0</span>°</span>
|
|
<input id="boardRotation" type="range" min="-36" max="36" value="0" class="slider" oninput="setBoardRotation(this.value)">
|
|
</label>
|
|
<label class="menu-label">
|
|
<div style="margin-left: 5px">Bom checkboxes</div>
|
|
<input id="bomCheckboxes" class="menu-textbox" type=text
|
|
oninput="setBomCheckboxes(this.value)">
|
|
</label>
|
|
<label class="menu-label">
|
|
<div style="margin-left: 5px">Mark when checked</div>
|
|
<div id="markWhenCheckedContainer"></div>
|
|
</label>
|
|
<label class="menu-label">
|
|
<span class="shameless-plug">
|
|
<span>Created using</span>
|
|
<a id="github-link" target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="button-container hideonprint"
|
|
style="float: right; position: relative; top: 8px">
|
|
<button id="fl-btn" class="left-most-button" onclick="changeCanvasLayout('F')"
|
|
title="Front only">F
|
|
</button>
|
|
<button id="fb-btn" class="middle-button" onclick="changeCanvasLayout('FB')"
|
|
title="Front and Back">FB
|
|
</button>
|
|
<button id="bl-btn" class="right-most-button" onclick="changeCanvasLayout('B')"
|
|
title="Back only">B
|
|
</button>
|
|
</div>
|
|
<div class="button-container hideonprint"
|
|
style="float: right; position: relative; top: 8px">
|
|
<button id="bom-btn" class="left-most-button" onclick="changeBomLayout('bom-only')"
|
|
title="BOM only"></button>
|
|
<button id="lr-btn" class="middle-button" onclick="changeBomLayout('left-right')"
|
|
title="BOM left, drawings right"></button>
|
|
<button id="tb-btn" class="right-most-button" onclick="changeBomLayout('top-bottom')"
|
|
title="BOM top, drawings bot"></button>
|
|
</div>
|
|
<div class="button-container hideonprint"
|
|
style="float: right; position: relative; top: 8px">
|
|
<button id="bom-grouped-btn" class="left-most-button" onclick="changeBomMode('grouped')"
|
|
title="Grouped BOM"></button>
|
|
<button id="bom-ungrouped-btn" class="middle-button" onclick="changeBomMode('ungrouped')"
|
|
title="Ungrouped BOM"></button>
|
|
<button id="bom-netlist-btn" class="right-most-button" onclick="changeBomMode('netlist')"
|
|
title="Netlist"></button>
|
|
</div>
|
|
<div class="hideonprint menu" style="float: right; top: 8px;">
|
|
<button class="statsbtn"></button>
|
|
<div class="menu-content">
|
|
<table class="stats">
|
|
<tbody>
|
|
<tr>
|
|
<td width="40%">Board stats</td>
|
|
<td>Front</td>
|
|
<td>Back</td>
|
|
<td>Total</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Components</td>
|
|
<td id="stats-components-front">~</td>
|
|
<td id="stats-components-back">~</td>
|
|
<td id="stats-components-total">~</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Groups</td>
|
|
<td id="stats-groups-front">~</td>
|
|
<td id="stats-groups-back">~</td>
|
|
<td id="stats-groups-total">~</td>
|
|
</tr>
|
|
<tr>
|
|
<td>SMD pads</td>
|
|
<td id="stats-smd-pads-front">~</td>
|
|
<td id="stats-smd-pads-back">~</td>
|
|
<td id="stats-smd-pads-total">~</td>
|
|
</tr>
|
|
<tr>
|
|
<td>TH pads</td>
|
|
<td colspan=3 id="stats-th-pads">~</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<table class="stats">
|
|
<col width="40%"/><col />
|
|
<tbody id="checkbox-stats">
|
|
<tr>
|
|
<td colspan=2 style="border-top: 0">Checkboxes</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="hideonprint menu" style="float: right; top: 8px;">
|
|
<button class="iobtn"></button>
|
|
<div class="menu-content">
|
|
<div class="menu-label menu-label-top">
|
|
<div style="margin-left: 5px;">Save board image</div>
|
|
<div class="flexbox">
|
|
<input id="render-save-width" class="menu-textbox" type="text" value="1000" placeholder="Width"
|
|
style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
|
|
<span>X</span>
|
|
<input id="render-save-height" class="menu-textbox" type="text" value="1000" placeholder="Height"
|
|
style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
|
|
</div>
|
|
<label>
|
|
<input id="render-save-transparent" type="checkbox">
|
|
Transparent background
|
|
</label>
|
|
<div class="flexbox">
|
|
<button class="savebtn" onclick="saveImage('F')">Front</button>
|
|
<button class="savebtn" onclick="saveImage('B')">Back</button>
|
|
</div>
|
|
</div>
|
|
<div class="menu-label">
|
|
<span style="margin-left: 5px;">Config and checkbox state</span>
|
|
<div class="flexbox">
|
|
<button class="savebtn" onclick="saveSettings()">Export</button>
|
|
<button class="savebtn" onclick="loadSettings()">Import</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="fileinfodiv" style="overflow: auto;">
|
|
<table class="fileinfo">
|
|
<tbody>
|
|
<tr>
|
|
<td id="title" class="title" style="width: 70%">
|
|
Title
|
|
</td>
|
|
<td id="revision" class="title" style="width: 30%">
|
|
Revision
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td id="company">
|
|
Company
|
|
</td>
|
|
<td id="filedate">
|
|
Date
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div id="bot" class="split" style="height: calc(100% - 80px)">
|
|
<div id="bomdiv" class="split split-horizontal">
|
|
<div style="width: 100%">
|
|
<input id="reflookup" class="textbox searchbox reflookup hideonprint" type="text" placeholder="Ref lookup"
|
|
oninput="updateRefLookup(this.value)">
|
|
<input id="filter" class="textbox searchbox filter hideonprint" type="text" placeholder="Filter"
|
|
oninput="updateFilter(this.value)">
|
|
<div class="button-container hideonprint" style="float: left; margin: 0;">
|
|
<button id="copy" title="Copy bom table to clipboard"
|
|
onclick="copyToClipboard()"></button>
|
|
</div>
|
|
</div>
|
|
<div id="dbg"></div>
|
|
<table class="bom" id="bomtable">
|
|
<thead id="bomhead">
|
|
</thead>
|
|
<tbody id="bombody">
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div id="canvasdiv" class="split split-horizontal">
|
|
<div id="frontcanvas" class="split" touch-action="none" style="overflow: hidden">
|
|
<div style="position: relative; width: 100%; height: 100%;">
|
|
<canvas id="F_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
|
|
<canvas id="F_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
|
|
<canvas id="F_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
|
|
<canvas id="F_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
|
|
</div>
|
|
</div>
|
|
<div id="backcanvas" class="split" touch-action="none" style="overflow: hidden">
|
|
<div style="position: relative; width: 100%; height: 100%;">
|
|
<canvas id="B_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
|
|
<canvas id="B_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
|
|
<canvas id="B_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
|
|
<canvas id="B_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|