From 6e09b6f447d73ff3be42b0bacc816e7b58858dc8 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Wed, 14 Aug 2019 00:50:30 +0100 Subject: [PATCH] Formspecs: Rewrite chapter --- _en/index.md | 4 +- _en/players/formspecs.md | 450 ++++++++++++++++------------ _includes/notice.html | 2 +- _sass/_main.scss | 10 +- static/formspec_guessing.png | Bin 0 -> 10388 bytes static/formspec_name.png | Bin 33614 -> 0 bytes static/formspec_padding_spacing.png | Bin 0 -> 11194 bytes 7 files changed, 274 insertions(+), 192 deletions(-) create mode 100644 static/formspec_guessing.png delete mode 100644 static/formspec_name.png create mode 100644 static/formspec_padding_spacing.png diff --git a/_en/index.md b/_en/index.md index 46e6ed5..630dc92 100644 --- a/_en/index.md +++ b/_en/index.md @@ -7,12 +7,12 @@ root: .. idx: 0.1 --- - + ## Introduction diff --git a/_en/players/formspecs.md b/_en/players/formspecs.md index b670db8..cce823a 100644 --- a/_en/players/formspecs.md +++ b/_en/players/formspecs.md @@ -4,6 +4,13 @@ layout: default root: ../.. idx: 4.5 redirect_from: /en/chapters/formspecs.html +minetest510: + level: warning + title: Real coordinates will be in 5.1.0 + classes: web-only + message: This chapter describes the use of a feature that hasn't been released yet. + You can still use this chapter and the code in Minetest 5.0, but elements will + be positioned differently to what is shown. submit_vuln: level: warning title: Malicious clients can submit anything at anytime @@ -24,250 +31,302 @@ submit_vuln: In this chapter we will learn how to create a formspec and display it to the user. A formspec is the specification code for a form. -In Minetest, forms are windows such as the player inventory, which can contain labels, -buttons and fields to allow you to enter information. - -- [Formspec Syntax](#formspec-syntax) - - [Size[w, h]](#sizew-h) - - [Field[x, y; w, h; name; label; default]](#fieldx-y-w-h-name-label-default) - - [Other Elements](#other-elements) -- [Displaying Formspecs](#displaying-formspecs) - - [Example](#example) -- [Callbacks](#callbacks) - - [Fields](#fields) -- [Contexts](#contexts) -- [Node Meta Formspecs](#node-meta-formspecs) +In Minetest, forms are windows such as the player inventory and can contain a +variety of elements, such as labels, buttons and fields. Note that if you do not need to get user input, for example when you only need -to provide information to the player, you should consider using Heads Up Display -(HUD) elements instead of forms, because unexpected windows tend to disrupt gameplay. +to provide information to the player, you should consider using +[Heads Up Display (HUD)](hud.html) elements instead of forms, because +unexpected windows tend to disrupt gameplay. -## Formspec Syntax +- [Real or Legacy Coordinates](#real-or-legacy-coordinates) +- [Anatomy of a Formspec](#anatomy-of-a-formspec) + - [Elements](#elements) + - [Header](#header) +- [Guessing Game](#guessing-game) + - [Padding and Spacing](#padding-and-spacing) + - [Receiving Formspec Submissions](#receiving-formspec-submissions) + - [Contexts](#contexts) +- [Formspec Sources](#formspec-sources) + - [Node Meta Formspecs](#node-meta-formspecs) + - [Player Inventory Formspecs](#player-inventory-formspecs) + - [Your Turn](#your-turn) -Formspecs have an unusual syntax. -They consist of a series of tags which are in the following form: - element_type[param1;param2;...] +## Real or Legacy Coordinates -Firstly the element type is declared, and then the attributes are given -in square brackets. +In older versions of Minetest, formspecs were inconsistent. The way that different +elements were positioned varied in unexpected ways; it was hard to predict the +placement of elements and align them. Minetest 5.1.0 contains a feature +called real coordinates which aims to rectify this by introducing a consistent +coordinate system. The use of real coordinates is highly recommended, and so +this chapter will use them exclusively. -Elements are items such as text boxes or buttons, or can be metadata such -as size or background. +{% include notice.html notice=page.minetest510 %} -Here are two elements, of types foo and bar. + +## Anatomy of a Formspec + +### Elements + +Formspec is a domain-specific language with an unusual format. +It consists of a number of elements with the following form: + + type[param1;param2] + +The element type is declared and then any parameters are given +in square brackets. Multiple elements can be joined together, or placed +on multiple lines, like so: foo[param1]bar[param1] + bo[param1] -### Size[w, h] -Nearly all forms have a size tag. This declares the size of the form window. Note that -**forms don't use pixels as co-ordinates; they use a grid based on inventories**. -A size of (1, 1) means the form is big enough to host a 1x1 inventory. -This means the size of the form is independent of screen resolution and it should work -just as well on large screens as small screens. -You can use decimals in sizes and co-ordinates. +Elements are items such as text boxes or buttons, or can be metadata such +as size or background. You should refer to +[lua_api.txt](https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L1019) +for a list of all possible elements. Search for "Formspec" to locate the correct +part of the document. - size[5,2] -Co-ordinates and sizes only use one attribute. -The x and y values are separated by a comma, as you can see above. +### Header -### Field[x, y; w, h; name; label; default] +The header of a formspec contains information which must appear first. This +includes the size of the formspec, the position, the anchor, and whether the +game-wide theme should be applied. -This is a textbox element. Most other elements have a similar style of attributes. -The name attribute is used in callbacks to get the submitted information. -The x and y attributes determine the position of the element, and -the w and h attributes provide the size. +The elements in the header must be defined in a specific order, otherwise you +will see an error. This order is given in the above paragraph, and, as always, +documented in [lua_api.txt](../../lua_api.html#sizewhfixed_size) - field[1,1;3,1;firstname;Firstname;] +The size is in formspec slots - a unit of measurement which is roughly +around 64 pixels, but varies based on the screen density and scaling +settings of the client. Here's a formspec which is `2,2` in size: -It is perfectly valid to not define an attribute. + size[2,2] + real_coordinates[true] -### Other Elements +Notice how we explicitly need to enable the use of the real coordinate system. +Without this, the legacy system will instead be used to size the formspec, which will +result in a larger size. This element is a special case, as it is the only element +which may appear both in the header and the body of a formspec. When in the header, +it must appear immediately after the size. -You should refer to [lua_api.txt](https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L1019) -for a list of all possible elements. Search for "Formspec" to locate the correct part of the document. -At the time of writing, formspec information begins on line 1765. +The position and anchor elements are used to place the formspec on the screen. +The position sets where on the screen the formspec will be, and defaults to +the center (`0.5,0.5`). The anchor sets where on the formspec the position is, +allowing you to line the formspec up with the edge of the screen. The formspec +can be placed to the left of the screen like so: -## Displaying Formspecs + size[2,2] + real_coordinates[true] + position[0,0.5] + anchor[0,0.5] -Here is a generalised way to show a formspec: +This sets the anchor to the left middle edge of the formspec box, and then the +position of that anchor to the left of the screen. - minetest.show_formspec(playername, formname, formspec) -Formnames should be itemnames; however, this is not enforced. -There is no need to override a formspec, because formspecs are not registered like -nodes and items are. The formspec code is sent to the player's client for them -to see, along with the formname. -Formnames are used in callbacks to identify which form has been submitted, -and to see if the callback is relevant. - -### Example - -This example shows a formspec to a player when they use the /formspec command. +## Guessing Game
- Name Formspec + Guessing Formspec
- The formspec generated by
- the example's code + The guessing game formspec.
+The best way to learn is to make something, so let's make a guessing game. +The principle is simple: the mod decides on a number, then the player makes +guesses on the number. The mod then says if the guess is higher or lower then +the actual number. + +First, let's make a function to create the formspec code. It's good practice to +do this, as it makes it easier to reuse elsewhere. + +
+ ```lua --- Show form when the /formspec command is used. -minetest.register_chatcommand("formspec", { - func = function(name, param) - minetest.show_formspec(name, "mymod:form", - "size[4,3]" .. - "label[0,0;Hello, " .. name .. "]" .. - "field[1,1.5;3,1;name;Name;]" .. - "button_exit[1,2;2,1;exit;Save]") - end +guessing = {} + +function guessing.get_formspec(name) + -- TODO: display whether the last guess was higher or lower + local text = "I'm thinking of a number... Make a guess!" + + local formspec = { + "size[6,3.476]", + "real_coordinates[true]", + "label[0.375,0.5;", minetest.formspec_escape(text), "]", + "field[0.375,1.25;5.25,0.8;number;Number;]", + "button[1.5,2.3;3,0.8;guess;Guess]" + } + + -- table.concat is faster than string concatenation - `..` + return table.concat(formspec, "") +end +``` + +In the above code, we place a field, a label, and a button. A field allows text +entry, and a button is used to submit the form. You'll notice that the elements +are positioned carefully in order to add padding and spacing, this will be explained +later. + +Next, we want to allow the player to show the formspec. The main way to do this +is using `show_formspec`: + +```lua +function guessing.show_to(name) + minetest.show_formspec(name, "guessing:game", guessing.get_formspec(name)) +end + +minetest.register_chatcommand("game", { + func = function(name) + guessing.show_to(name) + end, }) ``` -Note: the .. is used to join two strings together. The following two lines are equivalent: +The show_formspec function accepts a player name, the formspec name, and the +formspec itself. The formspec name should be a valid itemname, ie: in the format +`modname:itemname`. + + +### Padding and Spacing + +
+ Padding and spacing +
+ The guessing game formspec. +
+
+ +Padding is the gap between the edge of the formspec and its contents, or between unrelated +elements, shown in red. Spacing is the gap between related elements, shown in blue. + +It is fairly standard to have a padding of `0.375` and a spacing of `0.25`. + +
+ + +### Receiving Formspec Submissions + +When `show_formspec` is called, the formspec is sent to the client to be displayed. +For formspecs to be useful, information needs to be returned from the client to server. +The method for this is called formspec field submission, and for `show_formspec`, that +submission is received using a global callback: ```lua -"foobar" -"foo" .. "bar" -``` - -## Callbacks - -It's possible to expand the previous example with a callback: - -```lua --- Show form when the /formspec command is used. -minetest.register_chatcommand("formspec", { - func = function(name, param) - minetest.show_formspec(name, "mymod:form", - "size[4,3]" .. - "label[0,0;Hello, " .. name .. "]" .. - "field[1,1.5;3,1;name;Name;]" .. - "button_exit[1,2;2,1;exit;Save]") - end -}) - --- Register callback -minetest.register_on_player_receive_fields(function(player, - formname, fields) - if formname ~= "mymod:form" then - -- Formname is not mymod:form, - -- exit callback. - return false +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "guessing:game" then + return end - -- Send message to player. - minetest.chat_send_player(player:get_player_name(), - "You said: " .. fields.name .. "!") - - -- Return true to stop other callbacks from - -- receiving this submission. - return true + if fields.guess then + local pname = player:get_player_name() + minetest.chat_send_all(pname .. " guessed " .. fields.number) + end end) ``` The function given in minetest.register_on_player_receive_fields is called -every time a user submits a form. Most callbacks will check the formname given +every time a user submits a form. Most callbacks will need to check the formname given to the function, and exit if it is not the right form; however, some callbacks -may need to work on multiple forms, or all forms - it depends on what you -want to do. +may need to work on multiple forms, or on all forms. + +The `fields` parameter to the function is a table of the values submitted by the +user, indexed by strings. Named elements will appear in the field under their own +name, but only if they are relevent for the event that caused the submission. +For example, a button element will only appear in fields if that particular button +was pressed. {% include notice.html notice=page.submit_vuln %} -### Fields +So, now the formspec is sent to the client and the client sends information back. +The next step is to somehow generate and remember the target value, and to update +the formspec based on guesses. The way to do this is using a concept called +"contexts". -The `fields` parameter to the function is a table, index by string, of the values -submitted by the user. You can access values in the table via fields.name, -where 'name' is the name of the element. -As well as retrieving the values of each element, you can also get which button -was clicked. In this case, the button called 'exit' was clicked, so fields.exit -will be true. - -Some elements can submit the form without the user clicking a button, -such as a checkbox. You can detect these cases by looking -for a clicked button. - -```lua --- An example of what fields could contain, --- using the above code -{ - name = "Foo Bar", - exit = true -} -``` - -## Contexts +### Contexts In many cases you want minetest.show_formspec to give information to the callback which you don't want to send to the client. This might include -what a chat command was called with, or what the dialog is about. +what a chat command was called with, or what the dialog is about. In this case, +the target value that needs to be remembered. -For example, you might make a form to handle land protection information: +A context is a per-player table to store information, and the contexts for all +online players are stored in a file-local variable: ```lua --- --- Step 1) set context when player requests the formspec --- +local _contexts = {} +local function get_context(name) + local context = _contexts[name] or {} + _contexts[name] = context + return context +end --- land_formspec_context[playername] gives the player's context. -local land_formspec_context = {} - -minetest.register_chatcommand("land", { - func = function(name, param) - if param == "" then - minetest.chat_send_player(name, - "Incorrect parameters - supply a land ID") - return - end - - -- Save information - land_formspec_context[name] = {id = param} - - minetest.show_formspec(name, "mylandowner:edit", - "size[4,4]" .. - "field[1,1;3,1;plot;Plot Name;]" .. - "field[1,2;3,1;owner;Owner;]" .. - "button_exit[1,3;2,1;exit;Save]") - end -}) - - - --- --- Step 2) retrieve context when player submits the form --- -minetest.register_on_player_receive_fields(function(player, - formname, fields) - if formname ~= "mylandowner:edit" then - return false - end - - -- Load information - local context = land_formspec_context[player:get_player_name()] - - if context then - minetest.chat_send_player(player:get_player_name(), "Id " .. - context.id .. " is now called " .. fields.plot .. - " and owned by " .. fields.owner) - - -- Delete context if it is no longer going to be used - land_formspec_context[player:get_player_name()] = nil - - return true - else - -- Fail gracefully if the context does not exist. - minetest.chat_send_player(player:get_player_name(), - "Something went wrong, try again.") - end +minetest.register_on_leaveplayer(function(player) + _contexts[player:get_player_name()] = nil end) ``` -## Node Meta Formspecs +Next, we need to modify the show code to update the context +before showing the formspec: + +```lua +function guessing.show_to(name) + local context = get_context(name) + context.target = context.target or math.random(1, 10) + + local fs = guessing.get_formspec(name, context) + minetest.show_formspec(name, "guessing:game", fs) +end +``` + +We also need to modify the formspec generation code to use the context: + +```lua +function guessing.get_formspec(name, context) + local text + if not context.guess then + text = "I'm thinking of a number... Make a guess!" + elseif context.guess == context.target then + text = "Hurray, you got it!" + elseif context.guess > context.target then + text = "To high!" + else + text = "To low!" + end +``` + +Note that it's good practice for get_formspec to only read the context, and not +update it at all. This can make the function simpler, and also easier to test. + +And finally, we need to update the handler to update the context with the guess: + +```lua +if fields.guess then + local name = player:get_player_name() + local context = get_context(name) + context.guess = tonumber(fields.number) + guessing.show_to(name) +end +``` + + +## Formspec Sources + +There are three different ways that a formspec can be delivered to the client: + +* [show_formspec](#guessing-game): the method used above, fields are received by register_on_player_receive_fields. +* [Node Meta Formspecs](#node-meta-formspecs): the node contains a formspec in its meta data, and the client + shows it *immediately* when the player rightclicks. Fields are received by a + method in the node definition called `on_receive_fields`. +* [Player Inventory Formspecs](#player-inventory-formspecs): the formspec is sent to the client at some point, and then + shown immediately when the player presses `i`. Fields are received by + register_on_player_receive_fields. + +### Node Meta Formspecs minetest.show_formspec is not the only way to show a formspec; you can also add formspecs to a [node's metadata](node_metadata.html). For example, @@ -305,3 +364,22 @@ This style of callback triggers when you press enter in a field, which is impossible with `minetest.show_formspec`; however, this kind of form can only be shown by right-clicking on a node. It cannot be triggered programmatically. + +### Player Inventory Formspecs + +The player inventory formspec is the one shown when the player presses i. +The global callback is used to receive events from this formspec, and the +formname is `""`. + +There are a number of different mods which allow multiple mods to customise +the player inventory. The officially recommended mod is +[Simple Fast Inventory (sfinv)](sfinv.html), and is included in Minetest Game. + + +### Your Turn + +* Extend the Guessing Game to keep track of each player's top score, where the + top score is how many guesses it took. +* Make a node called "Inbox" where users can open up a formspec and leave messages. + This node should store the placers' name as `owner` in the meta, and should use + `show_formspec` to show different formspecs to different players. diff --git a/_includes/notice.html b/_includes/notice.html index 009a910..aff44d5 100644 --- a/_includes/notice.html +++ b/_includes/notice.html @@ -4,7 +4,7 @@ {% assign notice=include %} {% endif %} -
+
{% if notice.level == "warning" %} {% else if notice.level == "tip" %} diff --git a/_sass/_main.scss b/_sass/_main.scss index f544109..a01248b 100644 --- a/_sass/_main.scss +++ b/_sass/_main.scss @@ -101,16 +101,16 @@ footer a:hover { text-decoration: underline; } -#header { +header { text-align: center; padding: 100px 0; } -#header h1 { +header h1 { padding-bottom: 20px; } -#header span { +header span { display: block; padding: 6px; } @@ -119,6 +119,10 @@ footer a:hover { font-size: 200%; } +.book-only { + display: none; +} + @media all and (max-height: 568px) { nav { position: absolute; diff --git a/static/formspec_guessing.png b/static/formspec_guessing.png new file mode 100644 index 0000000000000000000000000000000000000000..e935d8acf4dd53ad21cdabdcade75332705bf26c GIT binary patch literal 10388 zcmb7pWmFvD(k2A=!QFy8!Ci*n1PJcIouI)bz~Js0Tm!)+1b26WySuw?=iYCB?%CZR z-BYJepYFHcs(Pd*Oj%JH4VefT3JMBMR_3D$6cjWw5H}#c1J1`ubhS`W=#8FgS}rO^ zZWInq_U2Z$W)v#DC3;cbRiAsn)tAp*t!}p}pU?en_T#;2 z%PnNnjkEf}>~WV;*ue@$iyH50M)B_S+D(^V-5K$|$Zop3 znDwu3zsvSHX7>KGrL*r?e!W@jwLCcNe$RfE?YjLe-0SD-xJ+~Ec*Og5B0Ri$B%mL$ z{W56mX#lBdwch}orpMfeb^~O zEmHD2(-f(sV7HtM8lFN|EVg|Kc>~?vxW2yXZ$}27zG3p`=RRRIojH18*Ds(i2V+zG z0(&Ea;fL&l@*GRa-1bO%b{CdLymq4ZE=i`0SE|t>Z-g0w!|BXz%^uJ;6A{Uh(p<-} z}Ab+nx6j7iNuWiorbz>Bg737S@_-&zVE*SWfRpmj|)8evX`eTyPn==VH^@$*|& zH=pzgHOP8m;e7A=oVteE+%o&q=3Bt5{yZs)`f|!J_d>x61D-~6gQ#mVExE;qJ-29s z!|v^rVYb;$?bU##vhgabgyy3&3tkVi4~6Zgx%+1EA0RRftwl!{0?$92odOoXKLxOM zwXreot;pQ|(6F2xU*1MZl2|QdNAG%4*cCY*a37 z+nwKl3jL}H$!rMmhQ&_FNj6sq!Q8zVmyaIPJJq|b#+NqUnUp_<8@{+2iWE1eP?grM z1zonnjJRR6j2HM_wtK*?v%>O!ZpK=8@$^sLi4ZNE`FgHS$9{ig^T{96>eynuUQcJ! zkXl-&Vw;uUvReNxW7aF;_iE7Qdd627D4TdXG3K}+TRyg^4HtcY}tdV3@6Nat+0Lm9KO`O91BTCp^IpA^kZ4PNJT{)BO1$weKg$JVHzHCzjf3AiPM)O@8K_IVxKY2t`>tC4v%^(>$l<}#$hj%kjHtDyp&})#`>cL+jw*{K+On~-Y&G7m zVs$CEx)(Gi=riW}iTQ7Ztj_QE?8vwSq1jPXNc^Nxp3QCYI4E}g1-4e&4UU8h`azeIHN2DEo1=?hZZm=3w2ukF_q z2p<*E;9pc4op-Wvj=NbDnr(dRfC@g_>H9NM;* z#ZX|>=d`L)I>2DY<-6S*MZ(=P7Z)N`;)B4{dt1Ubd_ zzSJ6Pz~m>ly&zwcWcRPI08^eS)Fy`4MCs!0x;hs1-}}5Bd_=~oL8cxs)6&oZ359JS zbM)!BUAeGGC;|kPS;Z)mWrGdDj)_A5b<&yHQ!rbAj@gvOWZ-&$kD`~XifcJFYm`(X&0>WOu|aw6lFvCZ zK>m#6+W2?SVA=&o%+R`48kJVU(CBNG#COfWFYhD6^OWT?SaVO9>4nJUOytw_38x9p z`8FSopub(qQ|-;NY53L|`C4rj->hYJK0i>dX8-4`%kJkJdUuo|D%x|$nbXrVBg+|W zB85o#tAO`WAlw9&F~iMpQird^*!I3h3rEc6^259a&zz;5^Y8R5L);ame$`{MX^d-i zM^qYrvd$yHs1xQo#TfxTIXYg8q$i%+r;D3A`=rx034tqJ<$L1nIWS|#`u@jv21P&B z1taT$^35Y}lUxre`kspR9Z6yy`xA6$)ZG4bPR-Hzdxl`S@Mm=uf;9;!$lfFlmY35~ zRuC6WC=ZfLx!}&%01X?0t>S30`GnDrR*CR4)?}K$=L(SUfMDrvN6JIDXaZpQO0P73&~=ocY?lk)it95nv&p{FI6Y zBg>w)fo^*v0doawQOJ$s9`%TkoL8s$j_i$NkKTxYeC<=Hj%$?HhS)< zxHCmK$qmJ~-tue0+ZFWax2|@63XU3y%~+>;a9y&56uyHSRYDDXn{k3Ij+ahl!&G=4 zl@-^@V&!!-X08=^XZP{$-R-YWvIQ%DjdWKS1BtYQ&G&e9lcw9K^^SKX(drBNwcZ#I zCf`aHTa~w&D2b+c5}8IM!a_wpn)1Jel9Q!Izq5W~C~qg=$t*J^4Bh+@u13$ZnJiS) zO}Xvm&zv8PC75FfIy%R|F)OYwOfNAo<$6rWLtBWryunEtVScfZy(}TBj0~mHl#yJa z98s@uBc}bCMyqh5)PjwTHAQ1mJB{#BuI2@O!Y19yoIJk=X9bVmPiG=4GI>t=qfDfX z=jRMtO^L4P{f0*^SYs`Sc!G`u*4^qJ^g9B)6@o$D|cSo)yRl-H|h!z zGMY~t6myxWJ|R_2FpZ^WyXmVA15wI6d^(tQ$r;5c&9D8J`9(iP*tRq8@W04C z9fk5susMt3Bel1ddl=lErErVd-6o~iOWZK6>BJ|U((&Hm3zoNoY6|r&-Jr)gTum6YSYMU6@M-VcU_6~+s5(~ z$jADkW2sZmyjKw9w}3wUuw1_1=(D~Gp*p8;af*7s=b{%v=*{tHbd>>poIcmu!u#0L z!l>BfhNVbFirEK`?CV&38?vS7j&POPkW9ENDbQ>h(>6208(@AU zcmYi^aSo>@6i^F9S9;ywd*W|t{}_Ma@3I~<{;ouwWfp9OZ4XkiUxeTD*+gU-V!YtL zNR`E>_TB!oc|p7vF#K*jGWB3a$PuE&Tvt8SS8i$DquTRXeVXCRfP1;q>SlRTS-FSO zYnQU(7wuhvQ6uWAP#T$;xBx~u`fjO6jUPBD42v;t=NL`CVS30-a)#SlVsJ#Ja~Q7( z?alR<3D^cI^yn__d}IBHpm{hV?*0c6*UUbobwBuu>*RJ71alGD%KEx}%!x)cJ-tRQ zGmPKM(D2!)3yJ!JN~!~U{&$>@Ma=9DDA(m4t=xBxk5C1rW!q>D4v3L>^j@vq&4DMa zFJ46pYZz<|PLcWFvvh#T0+NG_wlfqIE7iXP+PzTJ6}X7tBKt`aVG9urM8U;_NOcEX zf;X0z{s=_^RRDFMd;K*N3JQNr_M^C(`{KzDBo~d|hY*I;d=<2THX2F@Y)xDg2&*Pe zSnQTmMur_kK@CzX2zvib9I=5J4%Sh;R0Tz{+SpD!LZu$@Z=U+k*`I#{)Wn#7t1&&3 zbM$+)`C+}EHDvwb+s?Ts=)5=fLy+@K=&B8yZ*7i})xJSxnybRl+Se#8KHh|po|%b} z(JsBstd_J#x0ZpnvLdHSZCLTZn}Qhx!GGVo`*#ON!*YRvzsMX32ZGN|v;B97kP)e? zK_Se8J3#s0eb27_VDWjCA=cFLq~hy(5S~6CqKUIb@9s>)5>A3@Mw(_^hUjP6Fg0cN z+#r{%sPB3P;s+k$1R1K>3Bt}FbtEmpvdXpwUY{O1tD7z^7#!u~E*SEq=^A6l%7S`6 zlpX*=bqg(uMVuf(os_$R(Lt@RN~|5Ko$~cW@ZsTsk-_H)5)cp^1c69JM#>T=z=S8u z+roG4mmgLYAc;^Sy}tUcG`pQG6y?EaF6vfPRFDd~9#eli+}_;mvYlVh685~d?CxDI zRwDQFdo${OC;hRfAZFACsjI|sIuzU*Xxs&skd}#`kweD7xVyR{<}j79)Pi-i8U|^= z_3wJ2l44?Eap=Vt%wm(c9?h~)yL`0vynPTOU`3=U{T3v8yjUnNW+>xiT||*s(BNMc zL6Jx;PA?mv43dlgPl!k(`!B?S#8dwZk-@T9|3bK2YNUT*fO32$sH>`~3WX~^qIw7A zI$Y{k5O>M1VDlw@`!Ar!hldr1ZnQGZ%CW)0rlX4HHdo*7?(Wu>mUl2P^78U?<=Wj_ zv%j=!&0mf!M6Ygc?5+oL!~=bwme!I}Qgox{=H}L%hFPM=Uonu;(DWN@7p}%dv(wW( zH*6<<={C}3d)Jhd>@V@+;^6d@xSg$%5)<3VwY0YS-8HWXUk*@p2cy}jd31b-UTUeq%Imq#;I$_cbSa{Y-k~r4-^y~YE{-c zF533?$XPdkdU|>!LeRhMPxu#(%udvSRYOcxoUTQqX`1Fd3x8XD&VJ9U6&Z2J*t(ladGbqfQv>a#Q%iko1q(l z$70NUy)mn6e{*+Nyy$bc(jVU?J$W36A@bXPP2_oevEJtGc~3NkTy#~8&+FE9h;XjM zAEp|4WZCcSg{}Shawv&u;a$nq^|TTv{o(KC=0>QEO5Yo%V1<^BG6wBGE)4b%2_go1 zdc!{k-WR>;=|nsnC}6!066Q;XYwd48+*SwWk+k+3s9=P^A3K&JA|fu-G(7sFNeM~w zvqXFzXMgDet@?W2jZq6{C>`8lx5QJ_2vnVXGIM7rhVV70V3JuewW$z7n7tt5>P;`;yo+j{b3R{fQjVnRkBUM=MP;&B zXT_IC{&wG=*z)%JR8FZu>5rUJ+5Y;t+UnIA^Y=Dm?Kv2WqUG_hthToH?e(rb19yaF zNZSu$!8N>T$gdJm?e{SJ#o*gtb@p@MJ%2sz!QgjE2V^wlKG&G`oo{sO)nq7S^2PN7?|TF4Zc%JN9*K9KF(p=vltW4Q2B*0oCML#;=l%P4hB@hW zI0;cC{8N`v-$Pj3VV^i0Oo&1YIs7q{K07VhHKu(JfC_mu)q)x!Ae8#p0`madr&lBW zw!`MP(RxfZl1kC?9TXrQ0`K#%lcHBsyLq=CZk6f8{8>XI*kc~E36?;ndud$(v2o;3 zyWSetpUL1fig%SAwCQc&bE7^`(1}3i-XS*d*u7e=sKd#vE#+PFeING*4RYMiOlmvc z@Tpb^1^)UZNz))VKpXA4s#~**JRofc_2Lh+-jGLTY)1VmPFM3;TSje~$McHYT4CnM z!E`a2VY#TDaMr9#Oxg!-?Tcc?9~>wtV&DDiNTT0SRu(N`(<-c&`aN%v+gh-93^fSE zNWh?S9Ed zmiD~f?_{_e<_4|r?Cd~O z3RBjY-DHdrBZ}IA3_|auq@;XLDTY`Ot0%|(UY!Flvv%+}t%epTEGLdFVYAJpZICH3 zbViBB(qQ$jEwX)r%S_GrU^zCViA{Nkj>mkd5!sj_naHRRhyZ+7YAOK=Sco!&<|>4c z=fIq@<#y4Al(J`PPT!5R$gH=vR{%V)5M%DKJX0q`nS?asY=p>hzIZ< zv}kTd94TLX`7;HYYmi5a zM#8?2CL-hF;zpqt22|lvP-k(a*rqucQ<#3Kqj0%~{HwIN3VpAao4MLJVkH@GCsxEL zKNH9GixFA-zDPofI?o$xm}0ox(k6gg08yf*sfnGWy+Ln`Z-}2Q=*G&vl|CPK@H3x| zx?4NC8K5er->(}OepRnJ10U=GHtEB5g6)l}&EKNgCnJRiyTgOgMaAv`M#+99MjVaq zz)Yk_c2D(Rb6fLCR8GLsLsp)wL6Y{5HTWUq5kE})_4fuqfie6V;$BpUE6dA#gy~h} z4=y}BHI1Ey}ev;9XB^O_jrd_O)dv2%&o?~$n+c;^w%{WDT#^e)5&aK$nf!{YXQ^+ zh~r?PmaZ&&CB=z#RDA65h+f`%G@ZNLs=?IW-u_Q`;Gg4~VN}TR-SH``*Y}}!`i)meS$q3(T=pmR(N+<-MWc2-$zdU1=mSaKAyFOnuWATijVKK{Cr!A)6|Cok{ zO~V0D+85tYK{k?-l9=i$Aq?;6;0JWIDvOAfJ9X&rcD~V|8EX*Y_{MmcAMRrW=U}u% zgig8y#&J-p6=nX4N~u|xtTD5B?9SO|>;{ySdHDC`mN<(8I?ldpk-KGQmq=bLT`by2 zV&3RL)?98H_Q6>whzqJs%@xO6YU(OF5mzXFC$*1mi~EP0(vCWlqT3y$acnSe_S=i! z2%n;*dmvE~Z~Db~nFiAaJ`g|&0@E? z*V1vBZfY4`QALnK{#bUIqAFCn2+CDQq-MXzCRUgT#m@zQUcuxm5?inDvFkz<6x#t3 zme@u*-d%uv3G)ucMM?^hUjy?gVN0=UReeV+)PHfS)qqU&77B~cm-8m;m~n7t1L77o zml_bm|NlRWERbCUBRm!z)1+nBB|BMJ*|q&LP>hzAGv>;1`-rADBtg|0?88<(Ai1K?0Z?$=?&NJV|0z*7uEqrOrJ{5izpgMm3JM4i zv;AH@u7sx@c1}-y_a}0LQ1EY0mfQy8X(oENc0 z!_yO+{vVvZV7lc7yCqyrJ#ielNYAY(-b;_i>jO4om)(&xKpA%(_C*ov>+73o%7S<> zHqL{|qlI0M3B>dLW8J5o;}?=ybZ<{rY$$q+bU;{IM2LR(-Q?-^+IP3NyIKP~t#_+W zf#lB}k7;p$f-L{i{+i`=da&Bsd<^(hXRr*j+;-R&2dE2o8wVdBJ10H+y%0VG*xaZ6 z{1^u}BqXFvq>E%AKc>G)ggv?Tq_Q|bfRFp+ngqM?Hoe{%_|HMf+TUw_`HPxBi54Cf zw!znE(jSe4P1}J15&^bSFb8;R75t3bOpaZf>(d6n@U@iXYB% zw&>sf8wWhuXAXpZ9YK<%N0cEr45CA%8Em2edQwwe9rs0-Syu5EP-+?A{j;;PjSa`Y z>YCpYsEaiK{`B$jIYIm{MjV#`g5p14@_$~REi?dm=drP%(R6C0u30sA_urM3l_@E6 zhJ&kJQsUy`0TcX`*Vos~%*-Px$G-vs0@{3@kimNphxHEsc|OgW#>>k~*j!GDP=9A? zFBJ5rnxW-^akq=L-z4c-QH3=Iuoh(0^)3?%`Z zF=ya)0wBlX;h|Iv87VGqul`|dzij%@cu?>v6daG>Bo>+!w#rswz;X z#xI?ld6O7No8$TFr`r=j?|b$eLaKEZt*U=B0N<-o-m;%RBj3CMfITlE=KZSBLI4{Q zFp);t(}&cc36z0Swn&sjexowZY))t>qJsNo57I2X$T^^(X|zrN>_%a0sRFdXSO0}i zyer!~J3%OLCWq|+JSY0yE?58!Xqx4HIT#<0m0tgbiU_s{2EoKMv_8MQwBK){(7%u2 z74*2I)@!}!BZdbH5%2c=g3gVJ8Nb--7v!>>Dv$-R@N2e+Pl*J{(a})^6{(OryMxF@ z5B9;q0V^vjl~iQa+j(_dMn=Y!c<2V~hBlDxmXn}Tk=OgJni`Hv1_p-Aefo#(1SMuf z{<96FY~RO&F|r5$tKlSVUmol|nSn3y7zXJ0wj z6G0qT0q4vR0=}`^01^^XX_364l9G~%i3uR_zON5^spkW6RHdb*ot>SA4PJL&18Gt> zt_SY+Ct+gx864-Uj9wmZo&eiExVO6t4-2bY13;K$1fF>5XvkSP$SD*Au>khE8b5G< zuQL$A?PRguYPtv*0FjA!|88p|!v=WK8Au#4kL@~rC>^AZMYq9rso~^y$^PH|YW~s* zvZtokZ})xCcU!puvT}h)CvjM*-|PzX0U;qFm2`C7+xZVHu&a`|JJ3xe&T;e{95s1) zn}Ewo6Y&B5@P>z1Nli=yL~y@&T%f9z6~mqsa`C4O*OhN`xcK;9US8OxyW88qB&E2h z2p)f^qf}d0S01U_Qdv3n1>qFT@R_yr3 zRIg#FE5?R$aZs#6s;L*!e+no>?iP>d^86h1?|D4vakgyY`y(KZ3d6zMf30m4>+(V7 z-#ib5+=T+O0b~kL*~>Ib!{g&hAOXt%nfGM{vGe-9zgJiMp{^mK50aa5L(BCOb8xaY zHxRe-H6r}aaPZ&A@c%w11W>l#9nn6a^OS9kYAWO(>yyb=>RFzaKS7Y8U3 zz=N=`ux;(>=%hh|E=p|}&qxar> zCj_70x7I!Pth4UDf9!jnz0cmye!|pMe<07TS!U{T8crT;nIkVR^?fP;urc{B8 zL&2Q>(8g(PsO8qQ78>XANKJDZMVJWV%B+w^(I-)GuJ%VEZ3N8_~qeU*?I+2 ztFm1YbD|}53c^Z`i~ap-sc$~v=FmWmzS;9+tFwx&EM3a)cIhtm+huyM_t74v-KNaA z@%CuIr1|FJ^YPG%UWpVK6Y~R%&XLCb%dg>sV&*d%S}{`_wVgYlgIC$~VG`-3||lU7|}-PdX{--Oix~xNs2$0k}{DHO`6w-US3w+5Lh(+wAtL9-KCt2j!EriJGHUt6Z7G4 zsza+@j&4j>2b?+}TqQ(lE^}e0J5|3iO;>v`*HgC{lM5T++}r9!CGQ^5sQ6p&2H2r6 zX_|`tymvKnXt6&wm^qQPJ8-ja#x+eVfIo1@3(wg< zsGSX^*%bp+=NvC*BeSQYW=hP6qo1gWmDGy7*;_Ijy)_2rLEK_!>yo%?8jibyRY~o+ zVaGd@`@{Q5`d`QAlX?biTdN6JXLn6(WCu@&^IoS1U`x07-P>55m6@I`-?By1i+dfP zjVIu0f&I=`28y1UH2VLY;J@w%v4onQZLjL8(Kq1&HBJj+QVpa~lV;D$mA?kO-upWx zMVrFEx9+Y#I=d}_jJj(!jUe8Fvwki@k5~>5pEor$-)VsTeEg0Nx=sfEf>0p9xePn$ zZ;Pbl-{qd|RiLM;3J-L9y`arY1UcBZF+JOWU;{&?be}P_eP_(}kA{&1cgELSA1#s1Z&H`vo$TzaoR2?z{qY_bDJiCy#=urK)I}CgVsW-@yu09VbLUHo zl$1!767M%odCfqtTAr3(a!^dc8=esO>~ziY?#uy?DLuXH*ko>bd-`NS24A{t(1+~< zMS3EE+~{cV9c)4@sY5rNMa}~ll?y(#39e#0wiVeK@W!ww&4C^z_#9UHm{?D{>N!u2 zdePV%Q$8WPiBw(vH*mJ~n_K^Va4_?{Qp_sCjcvXq{hZowiMHf=8uBP%o2f*o5W|E& z(3EYmtL0+#@#l(U)u@d9Fx;lL;Oi#N_0>#hQlt~b+@#OB31Ke@l%dJD5b6K-qCLXK zSvn8v`X3LtDd2KBxFPyruJPvRZgo@5WF6Ujv$6hZcms5Mba(UM;Pjt~fJ+p{zKxxo z8Hi?R{v0PE)#UH)eY>@^wtiYuUO74FY;GjcKnSh)vsL1CxxBo!jvgdo-a+C(37MU z8!!UbT$VKnevMymZU8yC*xk`Vv;y&03d11GsmtjFr{Bjnoy0z_^|g8FS?!jaz7t~j zz=zYjDqFb9v$0* zg@As*9Xs%^YN?m{7P6~y)7S70tEMp#N)WtIC{>qKeZ7C%usW}wBetczqs<*yx%kz~ zc%GK!+atqn4_a6g#_rdsyU(1$#afzYymc9#lc-BxgxDg@9W^qDksGW2XBpe-Gy+0P zQiZWiiR@}ed=XTvauG@$qCTA_x98i`r`w}@^=x^9qCLW6OE9u zc^$D4EHsgAl6+QMxax#w&u3dYN=of-$dD}(*#J0Mkb88&*mi5a&O=8^$r=W-9~r1` zYe^jny5sMAw|r2TMavY$RC9hP6FKOkasRk_P;LbNY*@0^-r|jiLMM+cSM!sHP%qjJv4H^`elvHt&qu728rhR zhq>ajo!R*vn=7Z551o@{WvPQZfSX_A;`0*PN*%Xi#0Q2$!92Nv&JXrp3*l98@si)T zIy+Q9>*u?ia&!vZ*IVXcz)0cVn1{!X7+Tdaud=GCAy{mwMfX?Po|cD;(#z8E2G?}O zDjWf+mJ^X??OmN;T)L8rcfLLzK6$KCCu=wNbYv0TYgCe~rT5-kHfQtC7TXx;Z1{P< zu%vJR{NF{4kX2!P^)-@Dl55x^kmlR-mMp=H{_b!3@q@K~Dpd-A%>pq_HIw^iS67}{ zrKU5x=S;(4Vvm6zyx|@QY7gt+K~Y+)VY@N?96#UG&Lwmmy=>POx05P>uao=vD{_TE zrpI9z4=}~S{oDvEQ-BhbaDp6lB_9FvGjYZilOUB@?cv0pTiPym@ivzhzHQ+n8YISR zPMDMF?XB#}l6#j&DmA*Ls>B~21Dbs=|aWtZeU;ZD`pTI||YIDUVtGh>&1 z(gs(^qhEeGQxJ-V4mpBzr0jo#k6xGU8QQVoh?ZgvJO1{j zeX~O9sh6>+Ks&V?G6`R=F+JN)c21MW8B9d-nDO6b(^y{ z4MDDmQm4&;@G|;vW&ThV13j%EIwb*(&OR)_lcX!Z@-c-0?RGc5?wafh#Ym~ujS9E4 zh@o&f3d5-*{zFze4)z=2`&e`~;?(_@llgfS4K-*#vaq#cq}1OZ&r{?%wx$nzb{qSF zR!t{Lrz5ltzLIuAg*-5PdMB#wTO$TUjFJPDVm6gn`Fx^aHMfDcP+dc%>D?Z723(}MS%a|Bv@TSJ7pyW`ocA+aaDU9w zBx+{Pkq$88op~-G$siy#RIhCzushy$J5$Tn2cq-v&{gn>`_+kb+vSC=`uBlY2-@<0 zDjR;ov~|@369P7<*=oLUGWWP}hn zgo6cW#ZfYn$fUSqXl~nolxvDIF7V94en3KOE#0_O`dKm~aKZ?Sa6*nSq!tKvG69~q zdPOj9(yz1YyZ@@0D{mtDA|_e6%?IGyZ$WfC$-LhIt4GkMOQO(cSK*QL4Zfee=Ws&w zun=AoNv(XTlX4NF;7AlkkN%02!K2Yge>!9ko6};3j`*0n_JtEjc5kX3D(<}E?J@V> zFk0-hsbK*cK2VFH5wIU9^i0`l5gN_?X*_@JvD+ZcfVF(r1Ur3ju)ndBp}T<`HKvey z{R6XvZc*_!LQuCdDa+RCBP9JE!^5@Q3$I90eMT*WIaH<#QHc3ZBG-;k(^vRnko`%b z(w8+59@FEviS|41F=1%z#-@c8e+etBZd1NEdE)Y&K9@%5RyDPlP57C*Hs-|5=xVU4Bs$RscL6=*y)Gp=XQ zcz?2NDSYZAad9s1{P%ye9-kgFE!&swU}|Zii*PDzD1~#|y+2)=lvC&NSWwC=cRE=`H@Om;POv!S$~ zT^kfbxiH1rj$!Hgc3RuzI{IR%)vuZhk~G9wTW?jsvWC$t?k;tC$Z-C8RIc$RK@tVB^VH$jZhMqai!&FBMVD(ot z8z*qk4QOb(dnoQqns4Jjzk23liD;T5$mn8!d!rz<&Z-KnP!#hQA`d_;2_up;xFNk~ z6rh|EJfPBhr#u(TO@d5!8jXTEobei+WSR31ARi&)qBJ1w5TZ z-``o=28DzM72qo0Lh+E{blS?1uqoG$^SNC%8vY-!J6*$(T03Mo)i)R!lMohXdd;uw zL?q1jacUo?aEYrH$u^a`+qRYFa9kNz#!OGMFIWL;?33dvVQq)Uw*{8c0OXMc!~*Hn z&tjweBajm}a2+$n-|W9ug}{zFGv}NZFWsa)q#1)Ule+d+yoEdrz!#VL!X;v%zwLF~ zID8|mRUCHD^Qm9Y4474k!LcS5TlogSO&*(1Z!rb$-*)BC9@r4&^Yu0@gs7xprV;qS z8x1Ix=E26cx@%D@f|Ilq68?un8Gv7Ck>^`dB63UStBnG&`Jvl*L4@x|yYf8)SNwvO zoc^!}*+YobTl4qMW4=1%BuzhkIWyNeJAFxPAO-I9t8|K;MGV?9G=twVoFfHmq@m-x z`J`eGnEAurWcH7Ghd>Mp=C`Z@}9w(U{V`RQoZ52bzc0j*tz)9qAbd^qV-f`7FuU>}+< z?dZ0th^`Et<)VR&`=Glr^moUWTomC2EQk>5#0#f)}@eBHSH7VO8tLmsD;+tYtBGYKIt{pvPi6D%zMV`Up!9?kISeJHJ zzS>8fE^NS}B1s#fSo0IPBKR2w8sjw|9ilB=TE%RQOA15R1wV`6!s7x0(eFS9pb$6b zNrGFt;vRo~uqd?q(ZYsdBdZ@7bT24G`8$QhJvl^|G@+F zO7_FK!d?&}C){hEX0|K1ZD(@^-C6_n$=tKNS#Qm1zB)55#OyU)=Snxul$e*<;Fz@N z9E)i^xta6`5Q9F@FYSANgIl;*2LyNd76NK8Jmjw=NA3qpZ$5%jgg(ThqPer-_`MD# zQ>H!CgbelVzmS-muj5M^zM2+V?UWls@1S{2MATsInJ+LJn9BSn(jBfl6E`&WMw`bv zi{ZgT`kvO9Vd^GhVV>=Y*MO!Mwxh)ulTaG}_UhwHQ`Fzr0}I3eUs`nqKZxi*J%p6` z+`^(lm3O?*%>WHGmLT*v;YWY4Xa?38D1>4!O)HkrR3MV2{q>-&p~^9p@$W)<8=A~X zkA{KksEwn})#5!Z!F3MsUDtuT$_g`RQorVII&Nszj_z(t^<9v+slN00wdUUWx#x73 z-%^bGHno6nPZuea6{oTWg(TrtbHmf!gfm#YPQGy7*VC8W<%mF9xtP*^H*$P`dZ zEanAaTw7=m?3|`2KPBLVlF})kFFXfR-ErQvwfv?_pM`G2?~iS+9e3ox?CKvcAFCunfTXoqqgh=HMhY+_ou7I( zagn)g?2;n?OqB^F-Xx{LB=E+$U#F!8fFYvWlX5$zmXhkLv2D|x^G}G0fJY*7ctB{) z+IwkI)pbguS&x=^)IM#pXP&;@0k06bw1=5hGP#x=`I4gSP)h43UG?~vqrIhH{?h4< z(wr8H$LpPhnnu>ake_Yj{FfSv-Z3GL6IVyOokLBi8;H_wMeK*U!N3Kqhk$Tf47 z2qXzRo6`QmxS^w(R)|D*ueNOLW(!J}Gx(Gd+49$44~Bi6x2p+aQP6RF$HE6j*TvBS zwU9mZTc|=@$|Eo6b~Kzdvr4|cE8k?w(%|NUC9;&c{L@ofDf-*%%?w3`k|HOl<8UBe z2v;L9w943ixNIjZ!A9U9w4s;~;&fn%pnmh4CSL?995rzSj#tC;f6dGJ<3l!56`myO zc*ZY6(|R$lYCm-r$Z_F8w*Jcfg7iO|JScSeQE1$L_)z%aj?0!%KW8J30$%I0eKCQ6 z{c?`Q-AEW3;5QNhQr#zY%DChbE=-(`4VUNF;^T`ymI;?pB1g!-<)ZS|%$u@)<;q)u zfn6Aa5x6mzd}&G~{SInI*~5PMfnJ2Qa(v~sCm(SN3+fv zvU#Mq@3&nJi`~BoX|?5KF;{q@!VOp4zD{=ega;Ri@4SNUe0`Fd*Y~97-$&X7&$4ly={qj1%jKEm3u$|7<;m3cNP{QO@CZm!B3C1jB)E zitfS|K_TaD2U7c!6>p&lI7BJBA0o1cA`O~^%@D=kB@?>upah(^*dJ|we<2p)3_oOJs&vU-7)KrU`l+d^hAKs-I16CToo%iAmMc+w;7 zxN56nh*BPDic^@w2IjqGi_t$v;Pv^(iq2aO*;9S{T)GHt8gk~qHg^q=Z#N{<6Ez;c zygqWqX`<=o+QQlNY*prjo-CW)?jRTHy`qsxpQastl`G!!%!lH=GP~dN1{NFy=3;2g z^d4#KxAqLmf@k<2Q9;6m6~aZ%_W7Vyq>cT(X%1ykm=7(@l)K|b?GsQE3q+HCFiaE( zqihot2O{+@KfK7Yxr}kb1!7zrCI#MUz0~evM{fBJCn~<`8AsLTe84*nqf+_*=*Rh6 zpwKZkG|kQ9V@SifV>8y2c#ml{mSOZJ9G9}o;Q6sxy4rP^w2InfVUpi&X#32}cuK|a`a(x#GY4P7*jpb6C#_%WmOQpZO7^$WF_00NkL%PUfT=DmoUd22bli0SqSHgq z4k)V)j{X73O7E|1#jmx$6hW84NyqsVDcEP5YQsbTPrlX=KFvQ{zh$2$*Jq}NK}1hJ zuu=c_8J5;@qRumlNKP#x1ZZ*|AP#!Kc{v{3k}{ya?s-$VMQ`jcV+*;qvf8I4D2!c6 zvQ8^|b60Gk)|_@tiI7?ln@KW(o+eL85?x;qNf#4aoRWwB?~#*KoB1nUWoc-`un zA)NgL(o4!y3<@&UwrtH41G&Xg?+j`+%7kmNDt_w=weK*$fdb;UxKK7peoi)JeU-OR zI~DL`Fl_l9*echZ!=4J_jqq&yPgjUW$)&>S(v%WmeJj+QJC6@m5mn(8-HD*(9qT*_ zL5kX*eGkJcwxndBq876#lTtV2Hc!qM?*FMUbStL(qYdn47CUq3v`=oi)to^qZ^YZ2}ag$*TJ&G108wZ>7=ZTWv`0X zV!pPTjoXuy>Z5hq681RD_9tYW-i5*X7FN}i<-W@V^Yvn>5|^^|hloI*6}1PyH0qZ7 z)?Kx&5oO%7^-&pW_P&RmID8z5Ze?E(@nr#CS`o8;$1Cp2X9k;hvk%nq)eG-f0N;cg zCqf-pUJ8AEeI@|n<&%kc#=BGV!22-1be3`K&XeM#=ar(BdI)B6_NJ5pHS$fAjsAAn z!-}P~VT<*6&~8}6h2W1Ah*d1Um+HY8RtoIfeW@bB^_p z?7pMRm1!lrr>8>ksC&8%WY8Z=<8~T&T?U_MFHK2rOK};x;(>qZohd@VZ1gUO`5(&a zPt&S&ujaB$6J@K%3$%9)Yon)B`Qu3rk<@#ot=G{3|AM>Fqua~%9`NS7>V!yo>0?AsEKx0Xn4!Bw$ zzy69m;T{9cGmvGwW<(l+7CtV52A&v_iB7E_2Uq1An^O+v6(A0(6 zpAiVO_JUI*80MDc1pXUSRQ>oTKYMlwR|&O^Blwqx*;!p-Ic7rA;>YLjNm>n&iuJbd zSK*E~CiwdGqBww!qtU=$J7T3BT+-yOd?qg9nn&su0?A`}A1IVYT3_n=j2AkMuHWV; z7g$gpve-ij%`GfKewFJK&9=?18cor+DB%uZKMwT}qVnLiY4tZGzRT191tA7^It{*+ zsRGhqd|9sliJ3ewZ`f?p9iZ|55_rSqSON2@9@~d55exPh`Qa1VCO*+0^wC6h(|!0| z`9l2XSOb(5?l!`fly_Z!b?dP!*0z z50kV~HA-weI+AS5uP<*52s_Vx+t1KV&8?^B^%+u_GdhyoOYxewz8CB^pgo}(BG#~q zk3BXGgTS|WM9D2o>fy3QL_}PvyYo9#xSgJSF&g8lS{5i7B>hqKLpUs7rg&}LmjWZ4 zjN&op*VXGSq7^emurm<;rWA9gt}Ddi63QV!awP}q_Yev}w+WId`srGM*GN_L2^ZYK zfTM(Y20sSzZclP}pPrsM0!wa{^C7`cu-SK*Y1L1un~FlhkGUl6#;0q0KFL^6lG!8M zwAz#I%#k}{oQGCQ?JrlXx<-aOT*Vs5Vva7fiUhfnlr?BYf%~Ip;__n&di0YOrzb~Y zNVpLd)30%wVF^jtGf(oo#)7VZ=)$9Li9$`_ls?U9unY_h& zMKt!7?Mj*~aI#Z+05o3N`t>8n_AkfWanF>@@i0?_@Btw(!hs$();v#UArYSHd~kzb zUGtpO%7RjEmRhPr*GE5(!R=p1+eh?I4nnDTTDXCu_fPqk0frUZBK;Ds(0`mt*VqLcc=OEV&g)v}utm z=4=(=1wNK0e-Dkx+H$9*Q!E69+VY$K5Gq-B1`Jcbl6+wtc12s{XQ*rNs%-6}309}v zftEu6kPm|0TrXhrkO|F)GB9753_OT0;x=hwGTm6F3o z7r^VP@o1_3KfRh4-^XVKfA%Z3G$dQ2o3kB4R#BUDRb8G7Kci>E(&%Y{Dwznk>i&l^ zOKI^l)@z2}<}|{37@YqB8Rfi#sQjan0X?WQ*rvl`)bJ^^v%h!2gd9o?_k-!OuMZS& z()dI*pcEd`NsbVj_h%wNyelW9F!T2ADR^B+X}0GPjs>c$BTUm1dc4dC?08N^q--Fq zqhO-+rU*6gc>kngCL#?#a#xy|@-Nq>T8V%8Q6UkfC8GNGR`wPyEf7dCXI#JrM^+YE z=hE}keu!KXWfGbwsYJNtm#Ye-m_McV8?7}_S}n}&f*)Bt536~P0?n#| z`4nqFxqey1Nb=E4og;Zs9WMPP*?&RqXIQzEhu=Yi`t5rxAFJsYCXabG@vlCnxmQ;j zY+q(IS96ddG4Jgjzeb3Lg>GfAhq6GAc|^Oh0S%^F>rZj7pJuBoE`bdD^F6;L`LeJV zm&DJW>qX2^SPFcMq63yg)x3aIQ{+s+`I~E-Y`&n_KnNLxC(`+H| zF{q(ax};<~PsrYeOyE=&x*fyn`j`n>2npx9VJc|LM~x^p3*mQ|RL0cfQqFn#v z<49m=ruhN@En?fV*e88FG)2D|sDjWL9XRL;(cg2>h(LYae;Cyem!^$mS139=H@Ycp zdg6z(dLUb2l$}Mfwyr7VXD0tj4gK(o)~qTf2l6`ZJ*Mp_^fc8F#KBL}!H9!TG;+yx zto$w1Or@kWBt-YfBjBm#4k#z*H)q%3z+8sE<+8KlBI*SVForlnx)MBt_Tc^?0kcrg z1r2mm3Wi%l`Q~j-1;7JG?-tBRz(%hpk4h*m-?wK;iDtXmaF{-4p;iS0z7p5w%;m|H z;EDzC{fAWol-D#W!zjRYxHZ|n~IFg>G!JOp`2x8Yh#`F{H ze}`qfdp{*Z1t|niUo%B2D+d4Khqdw$IJ3*fyN**GVpqoGjfFIK-fLDmgdqupdcxRgZd7Ie!)v*@zNlZO$g%|*}Olc$mX^fhhXub$XnvZ_#BVIg9 zFdN&3bZmDIukpBAwJcDSsX8M&v+7kxX3VPZ$K)*&nz<4n*O= z+WTrgxbrt8sX=-mrdksXFYDxmKugwnM}yf1o{!_t@H~QYsQx+O`Yo_s4#hz-eVL&> z|64HpRU5WLJGk3khd8BEA<*l}A4dbjO+uVv zNGa!!oEJ}&WEFnhkqoXPP&xW*p3vwPr%RRsD|@rw;`|NnY;3*+3pSsDXdv%lc=^kxJ5(D3sNRWkAdY|9h zvzn^@1W3{n8B02t=S~=!(^Y3wr+$X|5gV2keqh(iF34ila-h|;RiGK0O-5uxiR>Dn z+uj<9)q@+c%v;y6+F>%OgQG5U!bMOq*-6<759Vu7stw@@Dk>;SM8?N6*pUTs8SRf< zpAY@c7r*Mg-^(1+R*-8QGS!NEtMPB&mFav%CHKo|gR6yLHic4bF3D5JYEEl6=)4!e zDz=~UiS^r|&)~4PUu8$9@@IQl7KX#H`VNYv7Xk%O(yiK5{%mn(ST^^t@3VlZ{u1u* z+Sm{)l^pN=kb1)c#DhsV39!yzDhC=Ey0^+$g>MhT!H;gX@o@|sPC1sD2Y$+_7j7`A?TBUP`3RDQ8 zsF)6#S2V0F3W5p;Cu{xV8zsr*#i$tEg08JHk$v;9aHDkUpswyJm@1&@xDTx#bL=I>(%=RDcwa1GS8c;b5UIIW zm0f&6Mg!0RwJ`o4Uj16+G1jf9h*T~hGagauad6J!2whjf!dLI4eBmnCW2~QvVlI*mloWGKR9pp@ z(H!pob>R>GYxr>JYt`$#-)AeLqR9@T=deI{E!1CIzIZrMJ4_rW4F<>)GCv4jq85WV z@PLp=NmCSU6LWAiyaR;(%wdY4<~$Q+v@?-=OKWYuDJ63#&PA+1_O<-dPxHrxmu9Xj z$?$g=zB19GF^4UXXXeQHjTWi@nlS`#izpaIQAtUrC)?d*+H6UUy%my`xA*?%j$JHY zZ#(^{gw=aBjAoiwWlFV43uNYd461UyiIw&(`{=U*6!SQm2S(1=MOZOQ9ltxXQ$5ap0aRj(#Lf4<= zXxCysx!?!KT3oP>a#MiaW(Hmzqe75v1H+fD`fZd*^MpM4vanQIK$d6w9M5}mRRo;# zT_E}T6A44_>9z9r+}5>VEmx?@26>cVYUD62D_~~zVrbXMERD79ND0RK1bOlACsFf% z)c3T&F6OgMbaGanC8bM~t>O;j6Ir!L7}3>dn2<#XJO;HL%tmCwpXQy|?8c9Zp-gO! z$Y$0oV-@)_Kr57zWZAF+(oU2#(>fnovI>H^W6K}6%ES(^RmHjnqt4|2;&WWcV?X$a zOf<@(dUV_3+?$VV(GgYvSzPfT+#0;NP_?z+Mr`=hLx`#hg#=^%s}p_naNgZKtunAg zF*Uu+8x?~pj+GBW#RikHQiJXN3FJ%)U}hKziMX<8YK(7uAy z*DSmQIBQtD&nzj^!Pmd9n7IJH)oZOW=A0=`%W7u!I{Nc>&~`qmou5MQesGxm;qSH9 zirtQV^}{Ze#xGNOu{)c&DpNDIAIy`lpz}Ugtw=T%YEmKA3*r%wuaM(3MUiNP&=-8h zjCS`#J_}n*i~0Rn>!}L=_g~2taYh;}KV>zj(~9_MU{@TL0*lhZAU7Hf&O3SKcZ}O; zN|NyJ)o_JPFuj5hgJ`T;2?ON3F!Nb5f3!6 z6c~$XmOeBDTkUicE2yc+&ro_F2l9CtD~ZQ}tiUK`oy1o}qX8(`IE6bYbSrv<(Vgkp zZ{@gurb1vEATwi)6(|QNiF9~U3vIV4!6a^K-wLDKUOjyPl+|^(MhxeuZk{s3IP*K` z`C1csp~6>WX;Tt22pw+ybuF~C+|XkTAIQNk_zn}25ApN0JlomV1MR=e|E4r^5cgz` zB*>$I-aE^*TBj%hG@!PBP7M(qr26yqK(Fyney4KgcL6X9LtXq?ZH5OuT)`y6qnVM} zk*MkHS>l(82QiYnmS8+iWnT?A;Zzb{V||IfG$~A zAQA@1{xQ-jih7I_VjF1DboFxn1e!40UDsUoF{E8G! zB{!MixPHi^Zvx|^w$n6HzGdaHM!fYp|6zk7w~dv~jV592+WLB9zy@>(pl%aVN_7Ot z2+maO=5nrLjfoiqZ+{SpvA!%b%puxuIU$79LCM>8Q|_epP%eg3~qf}2mdZG^)$da|Tl!vApg_{|P^E-qQb4c`qc{nawO~^QP2& zSFGK|PoTh_!a*g$e&r=F@uHKSW4~q)OyZOMX8f`7VLAg{%NvtTr0Dpl`3sYo%ceN1 z%TQh#=z)wrqAhE~YzY|ygUZ5Ru&`_oy`7AY;SM{4)C)t|WO?kmx5OvK7(AO!v*Zt} zvuB?5p0f7*Q3e0|80WV2BmtzYwz{{bH?e)3sH@NeUf1NceF>Ze&)c??=8B2p$tYNi z5h`9Z#j9#rqdHxm<353(R&t=GecA#;|0kOWOOuA>ma(%aK!uGWRG>a^iuAZ#L68!ZZw>{|w9{uJ!k~Sz9rLcFzTqG<4_Fok7m+VK-cL`%(vSqhB@T8d-BY*lmqyjPY z>Y2i*q{_BuHz{9`GiH0)OC(~@ywMMOtNl$2lK4q_KPz2XMv7DDo`1)vtH)@tFj#1z z5pyD%e{2;lQKBqiNKS2@zH4_m7L6^!@0b{6hW?Aft-B%B( z`PV@p-wYF4D%Uj5-e&%sTIjeUdI#r_L5V!o|2k&6=+?*d;BTTKm{sc zkB--{7$cgAK$42YiHydG6KlSO@|1lbk6~rW+?dYwHTj^VKh3j$PD|7@%?bp*gOJjh zTa3j3<#YYZ-;jejNAQ(T#CD#RLthfmD&K-)x@;BHN8pOj0T+I8H_SyLmK9 z@YpXa`tYXVrfqBB^#}n&7lVbs7dIOpHsrO{_s}voSC-2pF0^RPz@7x7>PhwAu{O$v zcFTA2*Ln5|$yo^YA%iXf-T%49LdsCM1Wuc+9lVoCe#sd^Bwdj$h2$R@E$(1%mVFQn zz9v?T@);lpSn2<`6tF=1>hn-S2`=@eL#nb@kr--^P4!%7t&x8O03O-T1813I0R#^_ z3x_cplEe-q=-2uH1i^C3!aPpI%bpbf2^uwI<}T+5Qv+t%)KppVM6pX(e!l$ZaMqo z)~-OE3;~s>PdwYLEa+kS*9#3#_&2FH!)>jgN`gMg?vy@FHe-Hos(i~Be1kAS8QHp( zq~L+p}!N0kxR?UC7{mJh+c7%8bzCA1)<|2pms&(oOJ-ymX4vJv}IE5EJ>5Cexve{5(-hMqO z$bWm8#9Ai#gir|A<349FTxM?Y1EhyAOKL{H!aru6%3?;_z z81m|r>xJ|!7_YmG%oT^{^$ITH%C`k9QGUJ*2M-jw&FIxaWRFxIdpvLN%6|m5Y1nSx zl(7NYk?f#np^P6J=@));oo(z4B{Mah>o*-_W5L}C{8HQlHzFu=f*Gv|hqmN8@4la$ zrDwf8G=C?1txj~>c8xjaWoJAW`G=DIj0cTqKNkWUMZ1d7y{#%3=&OHI;4(qMim$8{ zI~JUS16W4r_M;zz=TTZM>c?Z+^B%i<^4mI6$-98cSgdhAxp*U96`*%BVmEIl8q}1_ z8?U#w#C3lB14BRnJaqD|rl(JAc*AQJsg`egSuM_R9J`@h*|`6x#QRKx-KDZ(Br{J? zVTXbdF`K!e8);b>&V1N6cipj@K>r2U7V1ndR@+poQ1_FF09la@0-T@j9b(+QRl$C? z^UrQaA`UeEToM#1V&ff)X>usf(-(dGCO=2hd~9Jg=Agio?OkAw-!y+A#INMxc+bxj zyNuaMF6~r<#af1Lbh3($>Cthe>dhTrLZ7lxmt@PR;cyHF7_h2R%9{;#{w~4( zIWLNPu_IMyqoY}+5-^frw>EEM_|Vd0S)k1bBsA4JfOfZ!RN2;yJpr}{*8K_v^-aXJ z4EA0AD#YoZYF2O)E;T+byKLa_QzYKO&C6Bg3MmO-W%PT(+pANUIO&4}6naA{?z|7q zHJ;{v`{)WP8t53~02jrRQV1{td!M@F3KB*?IPk*j^CGgNKNBJcN7tu9LpXYc8@Xl*yghq*kHSrRKVYpRLps@t7__g%j9v>n5k=dj(84m%BwsH zE08kTADQ@yyz7qGwX8m0^SnLJSWb(PkHZ^I!4DXRn@s=knVX+6|gE`;IZ4pU^F@P zjXVm}q^=TEHN&nDWBY?rF0-;!O?#x13oSr>j*V(bn}%`XaO66wq71{OIBz7Wil@3a zK}~{(lA<*C;?N#Li6)crAILbANP^DN*VqUBB6v@JQ{kRmqP;K7P@2%;iQ?gvL2#d1DKlAZNMDZ!?|vsY#YAW6a%f zMYBc%UnVRXk8ba_u(G7*aXWi)s@(cHul$Lq0yTc1u2TvGQp@A`z28KY8`GULFhthS zGpGf08K-wI?NI7V2bY*A@ccP>@)Bp$sGXGRyoj}amx@{CJw)!i3irfI^#W=t4f_qA z_n3^i%)&?&<>`7=Rvrs<@GCJK^gCP=UfwiJ=z}~_Qb)$%);AWmTksJ7!cZNhi3J_D zQ!zAWMS9@feuP@nS2Rw2fR;H*8{2mTRyOXDmob0?%x`oXMtsMp6bv1UGe~aUH z(nQr(KUc;qXA@n6Otl`G-KD7}arfwNwe-DbaUi^;4ShrAo7YHv^7ckzyU*CEGk?m6 zVpJq`H%1Lc|4@CLp3{xuo*S)5qL8}Q28Gb_?wBn~rTj-)xg~#!e*@4@^aZD_r5PI; zwA8sAsm;RhpVP8^m!$4lwa*(`)y{m>BOf@z8avGNm6L-ge@ULb0WwyXOg85-Lt*TO za~SU0^X{)qBIdceosP@-WTKQzhLE$+xjR=`D;b!F{!6{ZZ8R^OAd_|7cw~ex;y{vY z$7rblU0Bp=o6oU5d#l3&Wm_eTusiZ-b%w`KFufk0icF${TtA)6YRymD@2A5Pn|#|C zK@N=FU99SLUdB~Oq8)i0d*rCC{fk){OypWF+|KOX)VkrNZ$4i@j z+Y977B=7(|gJ{yKa-l=ES9}&u#`zIid!Zxg@2I1g2IjokY29;a`k8jANgw!3hgfr& zSjXKT9-`y97fS2nW|QF|ioc(}OT?&?4k)I*g9_@4S{~m|Pov9&!#PJR5$j;O4R19H zF>mepQEdCuetwQ|p)Ytks@CJ^o8t`oUm_|YE`G%!<;uOH?rF`%BL5^HeLb%-Go&uu8@8k>)zQ-ysj#Bp5(kouP zS?~DtDkknMm2*{NJZ^f@kReCU)vAr6cMA-b&7e!0(LAwRN7H?Rs>rhq`?OU~4Soq~ zKkz4d%9|n#RZ5D<5yj3@fNq;k{cQP;`H?V|QeZE0XwHo>{(;HqLsJN1cwb zydqcBQUaqN^o&M#<7!V&uE%7%g%O-<9^9hMre}{pey2OT_vFC5v3fg(15YhENnDxd z2dpYe;@NFSy7gG^`!5)s3kRFvoLtM{ftvqPVcoVbm@J3-$hCE}t4^d~Y~%hiohtxR zgKhZa_bCLZYHa}J--xYKBx>@JofYs8ZPjMvP_2y#fvD{FHK@Dq?`rNZ7y@pb4LqEs z{(+G~LB+KgFEe}NDI4=`HFHWxVJp>zHptk4bE|J$obr{rdy+E(@W;k6nHC!b6ao#PCbzt>PB*)PO>QWt;@Wx^`KO)kD~4r zNIO6vCxzwz002S%zB^H+VpY8hGU{@-dCTrdy^BeS(Xh?cAysrR$f%iZvDrVhqpqvz*a=CC5Kx$V5`UC8T6V1D8J8FhH6;-(m2^+T>eWE^bn1c_Wz^>S z(Ypw9bH=CvWc8EgV1$f1`@Ja4V8=5iu++xrP()uGqrnl0CzJcQ#q%0PN zl*JdX-wC6SAHMieMyZZM%?Zk(PzA+XO-)z^$nNa86@JTcteQL_qoF@)nSm0cbSmVE zdIdHQm;Wseg>s_zcF3uK?%6;ldxyxVP1_myhSHfEX0mVXpq^2OsSE9WfPc8bs1@Ol zwW*Md_5$5gW3*&x0wA{Rsm4Q=w>*jXu5=N~XscT;%$ z1T(W<#wg{Livu9{0%vqVMxADP;@;P(s~jye8XVcrO10G@Y{Uds_33hrwj8j_@vHFj0Pn})5HYeM_wdm#pewfJvlzhPYo2)L*0nY zyRiJ4`#f|bV>FHjWhug9PL02yg@YR@i&@C%kK567UeC0ppPl@Z12=_tG_FsEjZs=1 z4Wt@!k@h#0_Xz9u_72naOvsZ_E4;V8UYq7}Mq@uS?jlBA63RCEK4&2L=};k~^O+oV zPA3aL0CGu2VP%6}ze0C^pz@b9nrryjZd-_Ub4J;PqKZ8teOl5zf7eEySs?v*-e&bVG;EohYR&qzPx@H;1q({M+~6eR%)f))%ke|F|8UHRQCn=f?4} zIXZ4tfa$PPU#i&9G?qp|8LuWaU{&)_%ia1S4Ot1@(2!BVwC}>HSR;&p(Y`sO!l(ku zecyCX&E4caZqssk96z0w8MU5i`w#~)lZ%!ZFoojLA)|CggP9F`CO$e$sL<==d8xQ& zhfgI&ZLcqNrEW61^n2o=XOwlTMcq^9V3?YuF`6ItW+gYHz$m^o$~{yitSqd)*32k3 zrHT0!77J=GMoAjmr7ZA(VK}&%vd9_z`nzwx{;+lT&X33SlVSZJi`H2@AB&a-8&A`= zC;^SSGR99-2uJ;iHop$ESzDT>wQm|0)Tx$kgVU<|sk;{?M|&ZoIl(&Vz8xI5l2KpH zG>VIRy?UZ1^k&IY4vCh&z1 zWmJ@NR3jtTJ=L}<*Kt~G;I@dKg8))@xKP$TEitOSexdGZ!lo38|C^emkBSO19BDc- zhVoCTvQ=Vqe=m;?op&Lwg>#&8zoN)!>eb?HiwJXS9Hec3TNe(_^BJ(;e)T~Zefs$2 zrx_is8#1jY?MPRDB0VT;X{?ccmtkj@1%hl6m?xd7Y7lD|VsohGHfnsv@&(Yj?K?|D zG`(Y5IPGlv163XYSjOA7^-bMVTGqb5L(i-9+f;D%!$x5fixu9NlA~tW=nI<0d4W+c zA-xI|da>8@ES?IzD$hF#^`4yWX`BRwS4)%e@!G3H4g$E4(aox>O-98JR)3UglB`1y z+8*=V()K>=DP>mrsWZP~P<)Ev#-BROzvd|m9j>`wWE4)6*ir2D zKWay_b$!;W9&4k?e%6yKQ5|+P>s4n1DYRx;>#$u}rmFAScf~K%lNK>)uXBzo^Yb!|a{x*?Co>)++gpo_h86hXl!y|eJPS2(6z@50 zFsee*6BW`Kk7t|mywp8aLCM^hjmfANJ)M?YQ$pR-V%3%3==WA$n^%7?NjyvDcn~U3 zlo-tiW)u{JfaDPsga9ZR^?nYs>xU)pg8CYvUy&c?eI#WOGFl1;?QhHV`sEkE^v7eS zWL8^B%T;e4)pgKs1Z$c$KcB`;?C&El>q?bg=1|jRgObt|lQy06Y_CCON-`Q+Q3aGT_9yoz1UXN1`p;Fxk z0J?Q~`Q2ae-f?`P&A=#&fcTV!wK0~$L7UbReh$g#x60_J?5GTwS~!JsJ7;o|=6)Q+ zR81x@We$~^s6&`i)j_31FU5JYStD-l7@c;c6zV=SeH$k&DE6dRA$HfLZI=d`RZ z4hQK@m{Z{yee?3|7q8!KJ^C(t^8NVj|6GK7G;QR}Pk0Dzq{&5_j5%eYEr&W9?1~hs z*O;XIY1VBlCLL|>%Hwz1(bB;ZC**eh3FjrFe+Wi{)`QF@Z*9)N@Do`BMziUK5h2}H zVf59zt;c`L-uxG1z^^P z`<~I;Uko3AH-2z5aeK7-k!mBWR3?XwgcC^{X)>o&H&uP2I^|56L)9*6$@4E0(MF>r z8U_1+>{15@7F2C5##cZCMiW*#Uo!d!U{sDFTxDRMR?FOo0iP2r)LYp}9{aSy@rC(x z1IdrRee>$=*5lWs$48^@A7A4hO+Qll{gl7ZMjC%6bOswqwMg=}pY;wzxvD3E7Ai2w zd#=(hrTRoEW#B5FN{m`g-a3<*4ZURa_s{5fJhQ6mp&d`SgV0PTS>}xD8NsnlHL`<} zNqHW|ij02q)rYO8cSqmeS%3fF#Hm)OjU<0meKs4p7J)x^&P3%%8c6a7I%j>kn^W$M&DkW{rijSU)`L;98wC}DVO$Zw2^cogL5Xak+h~TkW}KMfy7tbzUP#s zTAtJ{^Z!Sa0dL$qmuI@(`sTt8`b$QC|BSK_F_D=*7clCN;w~P$MVB;;nZogfKm7IY z@4x(Z>(394u>SS&$^NJZg9nUkH>ZuH6KUs69DPC?NtH9)P6Mg7R#Z@w#V);4YE9wm zw1==sPJS#pQ)A7MuNYii6}*_J*G>MJ8M(oj0O^v)5;#JkR*PV`#%1Q zADnh8)W){y9}JZ&T`zqUzG}q!=r0-lLomuA)>8d6%tA)XBL<31;W?vO&S*Gx>+3JS zegDa>w&IB6jHt*fg{i=?Xfkwx6V?Ue7q z{m*789wbzAFhFgiH$X4Xnf_RevUmlIva~!93dk8{?nxcfML5zZOyh@Rw}esH(Jybz z|Ni{?w|Dl`=1C+Duap~fXe04;&T$Y!0g+PBD$O&Xfpk_=zpLQJ0A2R?VHc#zP#=|x zU$6IqjD0s?H0lMrJoWdmE*bp;*-?h}nVXtf7%||hu4Xz3qr_-o)&N(5(f7C3-`_j@ z;mO%bvrAGN+NF3r8+KtM8N97mSyX!=r7 zv5}6ywIV2$yrRVe8!0S$>u76#eV`gIE9>$xrQ-=zz5*pgZIhj`9gl6zrJmADM*moh zT65pPGujR&y5wUybRY*;Sop^4olehm;=%E1xxe+{&i=nXK6`zdO4d}J03PaF=L$Dy z&z}GqHd(V_mu1^zk-NNY^wvZXUYD-i{Ua6>o}QdtJ-d#F4TU5`3vx$by=3%{ve#2d zfU4>?w5T-msG&;pSnXCf#FsZxtDb`r$m?<;T~k}{zxwda*WZ2f)d#8A3nctRc%!&M zW06s6nuQwM&&N#Bb4?S=1F=g+|0p?piuo|pq>M_E(WxJ+ z@JFqv;+;=Ps5eZI-Ue^*WQRwoTaO<;1)vD>m%h9-Y;^qC27UGXy4YF*t!9-5(%_pZ ze4&AK?x}~5P*MzoJ_aWq9mrFxtk(6C(ceF#Y?!u@lhzIiMrjeL^A$RBDnH*eQt@Ba zN>8K!B^k2&FB@e~9zA>d_{G-C=Wk@acykbrbfLCokv|g?xoppm>kF@qkjlS*#zsgr3S9tqSNbj`xK<7rZG&TQ!duLi%#(oxmgAqv{j>E6F>3% zEqw@21j%0xpQ2_X;bJW>R9pfcHt=NPlF{Ekqm(JgMOn18k`i6G?z`4X zi~>w|#IL>P1IMKvqE38^^V>IHfBE*Ct(VWN$a zcU~`yxkV1&GH6dRaW+#YLI%)U_^l`zOt`b97Jls2Hv6Dpw+O!Mw(IF+?~mv z!55bPgU(!qX1+Q;I^%!s>?>GH`|(Rg{|I~ikc`e}E2|>KCN47(R8SUC5g0Y?Z?&df z*SOZ}I~9)&M(4A|mtVYp@$B{1yDz?e{`A$O2T!QdVfvaS{zAKW5WrX3o$;+4zKJUi zpoujEja|bLOC$i`0I%Kcb~tg#=pThqa7IR1Mas@zwye3S#L8&PG3q=4I-~ufW16X) z^f;S5fBN#_{U=-R-h2&A;h72<0ZHV~N>QlA!#g-JnUCzw9=_6AhVa?#{O{4BRAl+$ zmla{1&*i_DjQ$b!`Z0C$#C&pQnv7|6p*`HthE9m($nAE!!|8+^WRS~sdDT)m@du+B z8GZE8>?$5S3W z*bLI%W&P+Mhf!)-QvHE)r(U8=c5s(|@}Yeva7G=YBN>os5j~6c!PO6c{g1D|`~ZLS z{hz=8H>^FicKb@$(M9}~w(lIi`BIhT4)bEwB7Ce4#D~KM*x_rWFC8B>5=j@EzKacd z#JXhk53$!Xb#HT2{83Yc_Y@&~OAj`QW;lkp6fJp1=UPhQ7`=1r9`^cI&!4;ksb>vL#9SV<5nlOgnzLC!X5T#jzV%O<1vTU@T+ z=d#>WIO_*?QTY>TPCu=)*$o&qL)-61VMI@nR9?r8w{PARM*sBThqtf4##*nP=;kCV z7{Ai)OseqcR_E98!|QpSAhH&VRRSCl#5;2yxKtZ(czDefkAhL$xpX_OTq-C2{x5#6 zNXklQhW4TttBM|2jObO&%bd}^XOz=Uaz>Ydw%+$2{`&R1Z?~R3e)Yxcuds+9>}@z{ z&T#Aqg>CEZpgEKp79pw8QE*x3LKc|}Yq&a>h97p*mizlr&29xmy6ZYE9B{Kz3%5vA zs1;mJr&wD`LV;#gznH2ft*GF7G28it142!^S)x&nNK{d9+!+sR0<-u9IoybHz9Kj2 z|G4}^yF4ESel4778$OL!<%gnA#!l(n&w%tL9CJU}mUI0yMM~-F zgzDSMOv?`LUGUEEUpM+#Gfg8GAr+j_l`{I>w}1T#jN;nS;n{k1V0O`bM7j|T4aclB zRc&Ej4%l$zfRqexm-$m8`Cmx)bt?)$xdBq7v5rv`|Yv^b(qU&-v7Cy!oY z@%^K;q8|b3w(O2tkwU#{qoupE+qFXkwNlU_r~{dVFj~X_!GwKV06 zKge<70%%b!KTyCbGaAajFSRpfwcOXtmn^D`<3o(c>8m%A&xY%|IR`YBu2vVH)wYDC zu?-$ijL~#F&KWhu&CNk!r4bR~NYaln8tTK(CiByiv(uAvd_6lkmr?Q?jItP>O8BGE z*nT6O5s(B=eKDiq1iH1%v^A~q)#j)>8t>_3VJXsBr<%xKuh?0i#&Yp1c%B38*n@Q`CKk-L}#5q4BeAniW=BYUOt4n(pStAC|AaF7qc3MRqIx zM!kPfbSNXpWb~+SBVmri01Yd_N`owlBeO1I)MI3fa%LeXcq^j=I^T@pD1VN>gN@kB zpV7^fnb@GmpTH>g(|xu_7Dm3x$ev|rK|jH0X~*YYPe$EDP|v9D46*I$ZfI&g4I&p5 z*<^HHWc1L_oV96pU{t1|>i9D5_3AarZp`8m7A)sMeJ>2^Q@&TMwAP8>R_ z|K$cs({&-E;mnYrvwLC!*rn|re-w`Pq8yqrO7qEH$Bt)IH~PpIm6ZpN>r)JEz8?Sj z`o^o%x!hm)R!I(K_ynV2n%N2_Lx0q&drOS!s5>{do<3-#b8vo?(efZQ+vv4j^Z4-O z_~`WH=#*m{N{sr_=8O|?T%&!Okx?e|VZVxrr$NrBY3JszZOqs9?u++Q_jL9A=Gn=$ zJdLy0oJ)^Whnl%$|#~s}DV$%e$Sv=*b zCLdw6IBJnoNe^VL4`xB~)D_EVI$aGsc#TbzAso@fZL>6|w8W_D z)th>4VfwO&k9tPEl=Fyvp)&MV4@JXLy}n-OpVSK|4Se*L+U(~7qjzpSxORRMQ6ybG zXER#N6Sdf0Tyg!x751jk9PYBF+FQrG5m~qXig!b4UrV#>J;e3R=6W|`bbE*FaxR{Y za`YWD7c+X92C@sb=|Iaaq8;62G@O-4fxCPNT_Dg8jLy_}a~zqQ8mlD|ec2Y|!F=>xbmrZ?Dr4Wt*Uy21) zmhvQ>bP~ip$j30}2AFOx1Am3P79xu~e2US5F#6r)<-6}fMme9-7-c@LIO=XP&NV_x zGrsIwpJG%J2+HWl5ABtH5B+R#ASJW+xihMnQSmnWi*EG3aLI($_ziA3+}8w ze%r_O)q;gqn(61o-hD}ejh>8tdwKcxTQZtROc|>KEsS>a0jk5F!YGF$atLZT@NPL@ zt^)Z5`ueulTS`HW?BfKVkWQzE8#|s+mgKS4$wdopw8O~ev70M$@6Mz9cOP#ZABi13 zIX-9kK3&qDKhNYYPrDf8?VYuwDeY>3i1wolX~2iw`l#E$ikmx0yGH1P0io@te>9eA zdli6&(ah+LE-7uWn&DccQ?*Nsa@;(=;=TFi^773$%IJ~-lO0I}=S<^`d7gy{-cvW3 z@}FQ-3*<9~O(|QMMGwLyp$2+1O28P=+sRzyb21-c^x^%xk0h?Yb@Tp>>v!mYisf^; zzzz+kJ8tQ8{einbWMVmBr^~POJov;}uelgTgXZq2+e|z4q*EVuoAcR9pE%<~xnor^ zx`Hf-ON{!c$eo+- zsUmnjHB@s?R8P`_1IH-G^)j;&JF_)n8li5Il0kyFSxkekiwl#ob2IuBIJW(@L+lt>@_(&&uqu zfQb)gc3OH^Mf$bSM3S<+!fAhEL^H{g8>3-7%1`v-@6-w4US-`|A zL6`+sw9XC~{45ikOt$eTsKn@(mzOWU^#16O8OOoL7@g*fGD0#&d7}Yp0=Dc9Qavvh z_}hb%QRZbW?d43K7T-v>U8ie#WggaBNkehFA1kJ#ySE?0CEYsMgV8=c6GmfK=F@iD zH?1ZQvgkpUDuBd@>M4Tm+Fc&S>X`0fs8i(<6MBFyckZ}CK37DdiKkFhEo>*S(@5sk zcv#O549mJoas9i?%e!}Elx`>)G(NlaNutRBe+Km-t!beB(A5 zm9vlHcApkW#qEzCK70J=`4%{(ODZ{?PA``FgZ!x45fhdkySTp7X6v--Pw>Fn*>Hbc z2{%acWZq#9iiW!6n~%nt1LxPa3Az+>@DIwzr{~H9N+&3X+hp|Z<>l?$kWqFLe~eL! z>%+mG`GKU*1mEj`!xx<>k#A+v^kemvi8o7MQPK~x!K%pS)s{X{7FN{mrIyK(;J<(FT){%Q-J==H0& zubtl{f~i&zyId*Z&@v0$XjS(Nq+CgqmO?Y>)$=7SOhC{dl^le=`hjN4cy!zGDJN+c z)W^hs`<%?w&5N{cqi6MT&lit=g3;HPm)EaLj0Wi^_wIyt%Z}`=q1US;h9{!SPcw=K zv`S}6kQ$>dJ1gcavO}gHWfb4Svw!jG%eSw;-nw!9t}uG_mi-#~puXORhfnGkvMk@W zer~?ZerW=%Z+ks!8W7w}C(UQmird|RDs=&L(Y{KmRVn1YAjvGnnzcwyD(K^k zzWCKH;PS;Em$F{KmXM(VD!`9 zwL5IyGyGO~&tK^hp4a1j`5BDrx16`?J=9FYrl~8qRylc=K5?(tQhbqJrd2jZ)mk}5 z*~n0;$NLdRAHCQ*JH0N9p507*xgk$oV0a>I5)qb~p60T(g{(j0R=S7cn~i6r)x`%1#yT^?c*FN&0bI(Z*h{U0*?4BI7m$ z^}^`Q>vvC%&k@(#ITMMbouh(}22XyDw|D|U`>8%91AKK4@F8%yVwZl?#gHFYwC*I) z@f`PtkOyiJIlYg>v!Qx(@ zcQJ4-Ucl(TZ82cFd*_h^;1T`NxbO2mPSZhqM2%e=ROeKg0{1c1!z4S4PwlWc!Cv5s z8@SQqIs+g+mw5|#v`jxtU=$xs-!~}iviix#Oo`Pfgp5A=tuBD9bmhY9AN%gFdND>_ z*2NQZ0i#-3lBy^Om+!bAv3nTH7d^SUr;t%CD>-3YPxB;`LbY=mpABU+<~uGu@x2Qe zjhrq)7}tAapA7HZesJU3ZO16Kdm?WQJ#Af-U^GakjPTw(_^mDgu5{(X>mU2>uX>S~ zNi&xvMuRN9Y|Y_zZ;Voo{--di=k;=AZ;bNk=#PR?mX+Wu8O8FJ$f4p#8@rJAB1Z2E zqYv&qy?^)d<3}&~Og|@I1d9xr+jL8YtjsOSffZ{-Lt_vSZeQP&Epv*RSR0Ox)HDP^%*4ffKWpJR|kdlC)?t24e0h@>%zx zevVW9qwpMzK4{M$j#(K1Z;4$C!I&Edn}+Qu&!wn%&mcuwV)V}C<<6au(Xic~M@r#l z>I>v9kbF`Zh&?JnP(WpW?|=gHn~V;E=W?~7{Dep|liMv#($Tif{1#sKiaLBZ6JzvL z8bz)mu1|yd4|7I?IuecdHFApjuCiJW(>u0bTanAqM^3DM<;Q~TvU!01C>f0dCxK^6 zw(LwH3if&u87eP0$6xpQ+n1Nyx4G9-v6g$=*{bQrS$3cqk_nho-nmMMpjMCMNKH5b zo<+&0MJ>W&+ucFN-z?G+d;^rd}*QN&EL*ZcgaiOF!|<{27p zZ~KCLR*^>9G~Lk<${9cPN4YPLqz_?9Mya$&&ocJ0xwe%`5vnuzzTB0d^ON8jS9;F+ zYAw|$kNxu#vx#Yv;k~(edAWI$IsCC7;AxENNpkw5vSiBW9vLl4J}pBH2uqRjEg++m zA{_d*J7bjI9h--PD!IsN+?>>7oP>fuuU~0x-c9vKPma#wMjjedeG8O`K|EZL_RrO4xOn3q0jES1qb*#Y=R80~K|ibuP1 z>;9eF4>Uh&F;g@!t-aWXO^lqRuWyjcfH5-~W;b)|ttwMa40bfpn5m%Nrj|eAiw;#9 z-MOuQipZD8`e3d{f7E30!s1b>`PaSv+U4ciHOoEmPv@m;|2alCC7+IuPN__0vSchF z#a5}o%qV2k4)Lk-%;=s9k3j=d*uA7`CDVmJXPV`V>PCMPj8fdN@8oo3A2%I)Te%Ts zk)C!hF@euC6aOg8B8iN$>eMkYK@k+5pt2*y8{?Q6E}Bo578#D6>6J`vmz_*>l&z)k zLPoD%Uanrb;PN(YC z`~NR_y?gEM=^06YZG2C?s_WXN5&~;RGfTVE>eWS_V`9~ORCQZb|70R>0bL&)OD@1F z0d|T%WJ4>4kcCK4B|q^W`7_sm(arz<+uQ_3>t=wb^XXrf&Kn{56yf1F!g4y^*4Lpa z*}&UcWik{O^M?8qNIw*#Y9;lMqRtRT5B5($C|0A4h+9cdzHbhNQ1stP(+G;6(^E63 zZOSBFuWX1R5a_CL5jy*|^ao&;@Siyy2lxXx3bX(`2alsSe1C9sE1EZq(f|I#Kf!2C zFpBa286T>sO#_;VQCHZiEE+JhC6p#5BE=w$kwl|Zmz9t zY?+=rKSIeDDsutpi8&>Xnlzg#%}q5+xmGD(m~m=3)$B}Vep;nBbssHrJG{yzqXk8y z^(=b`K&SUv(IX}tR_GV_+=7x_#)#&zSaY}2p|ynU$>L&%S67GdQUsujE6y#}L1?$z zJbr+myVWF@$lbFAw;K9{UYGZD(F6UjMOyL-Uc}KuugF<(qR}nTh47bpKD}OFCtLf~ zr?uK=tJ+)c$?DTzVy&*M>gv1y&N2;jP=06hJWA~_z$j=XuaSHbWip?5Qcuwe<9ppx zZo5EO$yEgDDmg2iib0=^j!Vmf*TUz6m`Rl)F}7hG zMs-z1rhZr{*Vf#$W?^Y7xTD}Ipg&tB@lkBcX}ToB84w@KDxHVzsTYr~i~diwT2~Id zhA(aZMCCsh7kzH1={3ItX?k8!xp6K*OJA<(QSiGQV_SPQls3*r4bh_FRD%O17((nBupLc$`Fq@N!gO4UneKQCUbCeEqmPV% zuQRc4iepX26O)sE#pCu#GLcBpBdvIRlGU93k0UV(3QI-yEeOkVn>Of@izvFFvd|V? zdhZ9bQvs0uix|axCUOVqiJRxv3;?<;{9>gT)AAD(*b`XkuZcp~BGSxt@2LkE#fEAo zOuQgV_H!8Z-;E&gq&>|(b*MZfP?3a+KN6$W2u2SNPEQAygX44GtB)RbUk#eq37;xY zLa$e|vt_pOb44QmnSI72P}9wLO(bV2F^;rDHef3!*yTsGqO58JT7&6sP_Px zj8QjFtQE%S@(UPU9f#4HsQs76$da|k$dZZn{y14OtDd*+Mz~f*igr zgodg3RWXCLTBW|fdw8&S^bWIY`^?SD2|!is2}#g^rNU*TQpVYOf++!%9%&OTWzxB+ z37K9%H;F!Qcd6TFTi;PCVc4F!8$a>)gj@XYZ}%iN!H}irSo})NKC!}%Rsh0%!XW48 zwTFarE;W5=5RlznQ^MeC6`#du?#(dDQyhR%r+^UN$$(CaQ8#N?0lK^*A>fkM&2_8u zY$GP!z7nG&rSlrE#%Rk=y9;BKlUW!hhIkit3E9SA$Xy7dL0l2V=oafZudi+ULgif6 z4(Jv|(u_`LqyyA)bA(Yc@dbxY+CkHWnMvABLALiZCHM=3Z~^-$0w8VG$M?Zvkse2G zrL@u7A0wi9e*&XE?`>3yqyXn{w=ky=vGwmQ>3KjOq$7x-<@> zO7wJjB7@PgVAM;H=0qytHL_%lkSy8qGKPs6S+Zs`L@+J!pg?>dz$t+Uh+?!TDm8qq z0tzX%8&NB1Sc^~Zb8~fnck}RWrN6PUzWsjZKwXxsPHSK#Cg_CG@?s5{`O5rEIpb_S zTvCVEsR?KIrMnM2>ZS}ILRPkD1lH8B~}(UK1G(y3xiXoGpIKp{-~=yjTp z!D!)UFxq?tMnmd(5sa36gGR~AD;3L1bJm$m5sX@g9$x9~HDh#d_jq^bP-iwk3Qvol zz&^H8q@P?|&$ga+Q!?~f4xR|36*B!G3$iJ9V6A#*QK{fr7RN)oH?ClSQSW_*JkbbD z0pD?=dB2L$;xI;4`~u`GV04D3tNATFOf9oshY}-v{cMQ135=@81~x_rqx={tMUKFz z0m?HNwLE-H{fw6-tBsH)W1Z26bY29bn5n1gc{nJNvKFIr(yGbj`>e_-NJ~>Rayl8D zJB&I*zq*ClH^JyZukYXqB{^mM^CENtpjZoqd2&getY1T%Fsr^SgUCe%@oG@B$`7M;a+QyHo} zLPQ*|7K*}>7i?<#EPaf;85#@xxtyrOV!|SlL#0@JI29F(kIYJzgRE0)L2%G+FL83G zkHnM0)b)UKa!PJtVC$8!ppAaNfKhj7m)`37yb>Q>_bL#9p|9DJz<l_irD zX)vNmF$%>lZ4j~@#UhoQ^B|QeB0JTPN&v<9eg+=m_ zcp{9tuxTz;fw`ZVEPx|d@q`k(8Ju=$s!XdVO3&xOaps&nlJ*SNFh)b0tAXk3F}nD6 z7=@ae)|ZPzw%)42yoAxNV$^2xhh0*OQCh2l(cUXCTH!jA#b{wfooT!**$Wu$jKZip zbdzNuR7pu&nxOv4nf&?4wAJS^`oUpzaB+A2aCh@)u2HAL9ybWfAl+$Ob53TG=7Q}+ zn^ej=X0IfZlj!s3z!{Y{@v>yuTq>DPCQ@8#O3I#^6tE_Yt@qh``tcdjJeze=_<~xB zsMCf`u=P4eMQyzZTIFOGz}%cnTpq@#-A4m87}t>#96cllBoP}hicNH+#aFPJMh?`L z>lmAa_F}tWd6B*WH3Gyu-|Opxfs$oxRDM>LOq9u*Msz%4>uHU{D1H2_Ocx0`^h2el z1)&X4T>td=~s(O|S`G1~Ywj8=a`I&Tz4yMj?6HHXAK{m3q8QObhU zBx>{_nELHAu>KK2vXT+atD9iR6+F4xi6thYgEmNwU1W-LMHzsgk(<#iKBW(TGz|T~ z)|>WJcMiPyb)!f3d=VWF-j-6+vY7k8?(@uWaQ0y3*U8Y6Kk6P=H&Ao3bx{qQ=rf|& zQ>oOUUh6(4g_7)^Lh`9OMwSfz2`XWoh%A}o1FTDneIL$-j=FQQWUY?1_4K2~sMm3p zQ6Dd26kq0&V)T@qQSnC`%zpBHpVmC=BA|htVfI zKzS0lTf!g-f~UCkN_qW1#;8Af7iY*jpJ24n4oaHiF}ga0(Oyuye-5Jy{{lw4IH>9+ zA}5W)y~YnVg!k=}-ZMrx(f$1J{mbWn-rZh5et!7z{p&etz4>j2}U@!tN+3 z{Xm5j6$MOA0{wKx0o2V0OQvI~nRs$4MvI=LXXBvTDM0ZYk<+A@^-vTQWcA}CMDy|` zQMvG4D|s#u!1$Wrpdp-+4uWgnt!mSUGTjf=U`-eUqgvk@7S__|>KEan8^z=Xs0+ZT z(B0dzS`i^TP54(>ButGg;uW*HKE`L^5JHmu)~RN^-a++8e@&Lmq@Oy9QE*wDZc;4} zm;v=^L88*J7%hy$XfuRS@<(Y$-PzhxA4P?9bRYG@LS>GqA5|lY;}}H(jH+0;PFYS) zF)nA~scFC9fYMU?j`R~OzJyANXomkSG1~giVbq*J+Z=reqb(a~`@pv1F{(1k9wMy~ z7=^x##`P+i`7dG=<|yxFYcryyTqu}nwpLNcrlP>?+1cJZBwK%T^+5Y5EqAdv%+%(% zf=R?EF&SE<85#D4G*ijP2NjGJo#vsmWayKrSTZ@0jK>J3^gKl?8S}QD%{`Nsr*%(t zsFhslq;~*9U_}5_8cOEm`gInC#LAR7<#qxyqmfwa7+PE zeGwKPkE1YJ{eu{t{~3%rX>I4ER>Mabh0(f7Bf0y%@LG(v$6>VbuVA$GEJk^EEB`)5 zFW#NF+|$MB$)(2iMMK+0TptYamQl7DKZ`MgJ1T>hinycBA7un5Vt=I*al++viW8yn zzv&U1XpnfK-87lzNIyWNE!jIaKuo_C&9g>UU#|u^NU@|QWPv}fl^!JU;kU`mKJVTb zMT{bdP7q&*N8$C?W!i+D!wxL^nr9wspn{r{iJ4Fi z#USLR&XTsgfumU#LC}hf7O~&bv9e^{Cu~Aoy-!CKKH%;1458;f4xlwBqL4 zNR^*fGCtv;8T*SKX{8gBz^LCf6G`8(l<;9bN~2n=*Ip5INq+&Otyg0-`vw^GzTJYU z%NwRMW3=V#Ov4zh{4tDH1B}+*1f!jw$0%fz^W!lZxsL%x$sgU{8yxHn5LKY_-Op9Z z7cmSf(jKXkx_P#zkDT&27zbDw0ZKSdJIfuz<7DhFdUTL=(469xwnm>GxpfJ?X)1(H zl=UZ*&xq!+5=%$HVOvJam;f!wDgEydrP3Ch0z3OKjV$9fm)T$W2-=&R1; zb4O7KyCRm+qDKcHkm!*Hl4a(-y9z2YK1e?y1Eu11_<*Jsy3`VL@0j+inT3W8giv`2 zL2`b&)l1TOOCedZsB~UixGWu2&-2oGEiX%^Lm641&gB`r;y46EeCK8<)U2$82i377 zr{d=7{$T%@_tBfj4<}bz@bJmPvc$YPhMDi#oZPLP%tFR|93-By()x@)bGs(Hr1WGm z_P2jbO(B5~X!4NyH1DG*H6`qBYQXAV`F)I9hwP0oS}(l@qqPwjt&YTKhcVh?jCO%h z_sBi|0Zc6cs`*lqsj#1}lH=-EzI*+`s%}Mp=l^DIHee{4g(Wl3M+}Ba! zdidAA)0`Vflmd+0C)srEq5|oT{+FL_Kj-~Xx~UW-r4j_USitS-BZNF?a!v26_6k92l?-nwhcVmd8OFCK!-#Ts80M}b{-sYTNC7tKYeMCCXVAON- zI#xPw5#gX!Caba@K3(Umm$D1uPRq5mIsAZALNSxnnXW+Pf^IZ&X+}H@v+R9}6huG_ z0mIN8d_h^7c^>H}U=*dMG+TDG$%nhy()|-)6a!O`XbmJG#KeOyl9P!dzzRYKJt`_3bT8>#(e$kC0U9kKLJ}&8 zWJV_guG6HXNbw_Le0p(=uw%&*N~}x>3`%ElnOiY?ZRuTh5UIB?bseN>goXv>JweV= zq_1!hpq`?0q{5t%YIqt!MRQUvW6w!@az&)nH zhq{?nNmBzeYMQP%){8r1NZRsBWcYQ7d6tvM%ohP2bYwFRYQ1}y-!c`Zkp2M zsKiEzkvx2@*Z&ko37~I?(I6nrj^I6oCT19nE_#eEYB5&pu|BS^MljkQjnVqE7;V3d z(U+w2-VCEkbC!t?HHdgRTaR(eJ_k}CPIar-POx-2{Oik4&NID!u;fuYDOsgE;BJ!b zCTA3Ts-Kk1seTkl$Ko}t#L9CbrIMQiTC&C|-E(A2BizN~d7W9y5h@Q`3_@nf6bh)@LeO#IB&u*>1Y zbFtB;H0m<>j-B160MbQ-&D zWcYAtkfx?xswtWg@FT@W6evi?f@Hv)jw_J6cy4AIX%^pAC-AceeMpH}|$S-tX-mZ>(*vuWqe! z{|sFOx@Yv+2{HUxdUQcn`?NN;H+Q#LTloFCxebpP3efb|+pI8u{*8RsPS`VLSeR-sH z|K;lP?)s8`@%8h=*C$$!-)Mb#{6_C{b@_=-fX?K@={0>u$jPs*ZfqU75@Co2&EN&kx_99)H|kf4aN5|48fh;nUsYJ)P#Kr^oxJ&-Y)h zukLQH?%c6HfBX9M{Q;Z-WB%LIkMCc8{P_CM$J-~m)J#Xd*n5Ax`~HZ|;k~=CyL5Cq z^v3!&T}eV0LB)}|`eX_==~B}L-`zQ&lXPdbcg*@Zr-P#pC&y z&^yu-`YICydrK=0f2;%T?aqQS&;orJI)fT-THvR-6h_ST){U^3akwPsfwtrV zKjs}$GZd5M>5-5+Go4XH0|TYczG-l0%2%D)=; zU+tepFzP^je7?52Menn*wzIS4E+xGoy)!Vn++A7f^vOdQ!syxxV{|KoQFn>=+$HvB z0^rhp+IxSbCrN=RFbeo`7%*_xpTACQ&|uT<(N|9EV}Q}mm*;fmw*;fBi@WQKyQ|Av z#VEt{+wJwoyX#L3$|L%)bS88N`jJ25_DGD<-|+nHtBbR1!ssR5{PNCW)SZLFD1LQC z>%tvTF#1(7`swcB{^P^Z{weJUqcFNh7~OV=+M%mT7$r#1^Jg)7LYGJ}`hW6a&9n5u RCei=^002ovPDHLkV1nl5Vfz38 diff --git a/static/formspec_padding_spacing.png b/static/formspec_padding_spacing.png new file mode 100644 index 0000000000000000000000000000000000000000..2d2d7dd5593790ee5a58ff8b716af43618c1ab2e GIT binary patch literal 11194 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 I{o?z-00wTM_W%F@ literal 0 HcmV?d00001