From 6572a8c908563ea62397394b7edd91846571d2d5 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Tue, 8 Feb 2022 22:56:20 +0100 Subject: [PATCH] add lanterns, crafts, placement mechanism, doc entries --- mods/ITEMS/mcl_lanterns/init.lua | 94 +++++++++++----- mods/ITEMS/mcl_lanterns/mod.conf | 2 +- .../models/mcl_lanterns_lantern_ceiling.obj | 104 ++++++++++++++++++ .../models/mcl_lanterns_lantern_floor.obj | 30 +++-- mods/ITEMS/mcl_lanterns/register.lua | 18 +++ .../textures/mcl_lanterns_chain.png | Bin 224 -> 205 bytes .../textures/mcl_lanterns_chain_inv.png | Bin 217 -> 202 bytes .../textures/mcl_lanterns_lantern.png | Bin 8789 -> 8614 bytes .../textures/mcl_lanterns_lantern_inv.png | Bin 5736 -> 5669 bytes .../textures/mcl_lanterns_soul_lantern.png | Bin 0 -> 8642 bytes .../mcl_lanterns_soul_lantern_inv.png | Bin 0 -> 5677 bytes 11 files changed, 205 insertions(+), 43 deletions(-) create mode 100644 mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_ceiling.obj mode change 100755 => 100644 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png mode change 100755 => 100644 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain_inv.png mode change 100755 => 100644 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png mode change 100755 => 100644 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png create mode 100644 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern.png create mode 100644 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern_inv.png diff --git a/mods/ITEMS/mcl_lanterns/init.lua b/mods/ITEMS/mcl_lanterns/init.lua index d59bb558e..e6707b075 100644 --- a/mods/ITEMS/mcl_lanterns/init.lua +++ b/mods/ITEMS/mcl_lanterns/init.lua @@ -3,27 +3,39 @@ local modpath = minetest.get_modpath("mcl_lanterns") mcl_lanterns = {} +--[[ +TODO: +- add lantern specific sounds +- remove the hack arround walmounted nodes +]] function mcl_lanterns.register_lantern(name, def) local itemstring_floor = "mcl_lanterns:"..name.."_floor" local itemstring_ceiling = "mcl_lanterns:"..name.."_ceiling" + local sounds = mcl_sounds.node_sound_metal_defaults() + minetest.register_node(itemstring_floor, { description = def.description, + _doc_items_longdesc = def.longdesc, drawtype = "mesh", mesh = "mcl_lanterns_lantern_floor.obj", inventory_image = def.texture_inv, wield_image = def.texture_inv, - tiles = {{ + tiles = { + { name = def.texture, animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} - }}, + } + }, use_texture_alpha = "clip", paramtype = "light", paramtype2 = "wallmounted", + place_param2 = 1, + node_placement_prediction = "", sunlight_propagates = true, light_source = def.light_level, - groups = {choppy=2, dig_immediate=3, flammable=1, attached_node=1, torch=1}, + groups = {pickaxey = 1, attached_node = 1, deco_block = 1, lantern = 1}, selection_box = { type = "fixed", fixed = { @@ -40,19 +52,16 @@ function mcl_lanterns.register_lantern(name, def) {-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625}, }, }, - --sounds = default.node_sound_wood_defaults(), + sounds = sounds, on_place = function(itemstack, placer, pointed_thing) - local under = pointed_thing.under - local node = minetest.get_node(under) - local def = minetest.registered_nodes[node.name] - if def and def.on_rightclick and - not (placer and placer:is_player() and - placer:get_player_control().sneak) then - return def.on_rightclick(under, node, placer, itemstack, - pointed_thing) or itemstack + local new_stack = mcl_util.call_on_rightclick(itemstack, placer, pointed_thing) + if new_stack then + return new_stack end + local under = pointed_thing.under local above = pointed_thing.above + local wdir = minetest.dir_to_wallmounted(vector.subtract(under, above)) local fakestack = itemstack if wdir == 0 then @@ -61,38 +70,61 @@ function mcl_lanterns.register_lantern(name, def) fakestack:set_name(itemstring_floor) end - itemstack = minetest.item_place(fakestack, placer, pointed_thing, wdir) + local success + itemstack, success = minetest.item_place(fakestack, placer, pointed_thing, wdir) itemstack:set_name(itemstring_floor) + if success then + minetest.sound_play(sounds.place, {pos = under, gain = 1}, true) + end + return itemstack end, - --floodable = true, - --on_flood = on_flood, - on_rotate = false + on_rotate = false, + _mcl_hardness = 3.5, + _mcl_blast_resistance = 3.5, }) minetest.register_node(itemstring_ceiling, { + description = def.description, + _doc_items_create_entry = false, drawtype = "mesh", - mesh = "mcl_lanterns_lantern_floor.obj", - tiles = {{ + mesh = "mcl_lanterns_lantern_ceiling.obj", + tiles = { + { name = def.texture, animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} - }}, + } + }, use_texture_alpha = "clip", paramtype = "light", paramtype2 = "wallmounted", + place_param2 = 0, + node_placement_prediction = "", sunlight_propagates = true, light_source = def.light_level, - groups = {dig_immediate=3, not_in_creative_inventory=1}, + groups = {pickaxey = 1, attached_node = 1, deco_block = 1, lantern = 1, not_in_creative_inventory = 1}, drop = itemstring_floor, selection_box = { - type = "wallmounted", - wall_top = {-1/8, -1/16, -5/16, 1/8, 1/2, 1/8}, + type = "fixed", + fixed = { + {-0.1875, 0, -0.1875, 0.1875, 0.4375, 0.1875}, + {-0.125, -0.125, -0.125, 0.125, 0, 0.125}, + {-0.0625, -0.5, -0.0625, 0.0625, -0.125, 0.0625}, + }, }, - --sounds = default.node_sound_wood_defaults(), - --floodable = true, - --on_flood = on_flood, - on_rotate = false + collision_box = { + type = "fixed", + fixed = { + {-0.1875, 0, -0.1875, 0.1875, 0.4375, 0.1875}, + {-0.125, -0.125, -0.125, 0.125, 0, 0.125}, + {-0.0625, -0.5, -0.0625, 0.0625, -0.125, 0.0625}, + }, + }, + sounds = sounds, + on_rotate = false, + _mcl_hardness = 3.5, + _mcl_blast_resistance = 3.5, }) end @@ -121,6 +153,7 @@ minetest.register_node("mcl_lanterns:chain", { } }, groups = {pickaxey = 1, deco_block = 1}, + sounds = mcl_sounds.node_sound_metal_defaults(), on_place = function(itemstack, placer, pointed_thing) if pointed_thing.type ~= "node" then return itemstack @@ -158,4 +191,13 @@ minetest.register_node("mcl_lanterns:chain", { _mcl_hardness = 5, }) +minetest.register_craft({ + output = "mcl_lanterns:chain", + recipe = { + {"mcl_core:iron_nugget"}, + {"mcl_core:iron_ingot"}, + {"mcl_core:iron_nugget"}, + }, +}) + dofile(modpath.."/register.lua") \ No newline at end of file diff --git a/mods/ITEMS/mcl_lanterns/mod.conf b/mods/ITEMS/mcl_lanterns/mod.conf index 104722123..746ffcb15 100644 --- a/mods/ITEMS/mcl_lanterns/mod.conf +++ b/mods/ITEMS/mcl_lanterns/mod.conf @@ -1,6 +1,6 @@ name = mcl_lanterns description = Add lanterns and chains to MineClone2 -depends = +depends = mcl_sounds optional_depends = author = AFCMS title = MineClone2 Lanterns \ No newline at end of file diff --git a/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_ceiling.obj b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_ceiling.obj new file mode 100644 index 000000000..7079aa7cb --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_ceiling.obj @@ -0,0 +1,104 @@ +# Blender v3.0.1 OBJ File: 'lantern.blend' +# www.blender.org +o Lantern_Ceiling +v 0.187500 -0.000000 0.187500 +v 0.187500 0.437500 0.187500 +v 0.187500 0.000000 -0.187500 +v 0.187500 0.437500 -0.187500 +v -0.187500 -0.000000 0.187500 +v -0.187500 0.437500 0.187500 +v -0.187500 0.000000 -0.187500 +v -0.187500 0.437500 -0.187500 +v 0.125000 -0.125000 0.125000 +v 0.125000 -0.000000 0.125000 +v 0.125000 -0.125000 -0.125000 +v 0.125000 0.000000 -0.125000 +v -0.125000 -0.125000 0.125000 +v -0.125000 -0.000000 0.125000 +v -0.125000 -0.125000 -0.125000 +v -0.125000 0.000000 -0.125000 +v 0.066291 -0.500000 -0.066291 +v 0.066291 -0.125000 -0.066291 +v -0.066291 -0.500000 0.066291 +v -0.066291 -0.125000 0.066291 +v -0.066291 -0.500000 -0.066291 +v -0.066291 -0.125000 -0.066291 +v 0.066291 -0.500000 0.066291 +v 0.066291 -0.125000 0.066291 +vt 0.000000 0.062500 +vt 0.375000 0.062500 +vt 0.375000 0.437500 +vt 0.000000 0.437500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt -0.000000 0.437500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt 0.000000 0.437500 +vt 0.000000 0.062500 +vt 0.375000 0.062500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt 0.000000 0.437500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt -0.000000 0.437500 +vt 0.062500 0.125000 +vt 0.312500 0.125000 +vt 0.312500 0.375000 +vt 0.062500 0.375000 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.500000 0.770833 +vt 0.500000 0.770833 +vt 0.500000 0.770833 +vt 0.500000 0.770833 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.687500 0.625000 +vt 0.687500 0.250000 +vt 0.875000 0.250000 +vt 0.875000 0.625000 +vt 0.687500 1.000000 +vt 0.687500 0.625000 +vt 0.875000 0.625000 +vt 0.875000 1.000000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.7071 -0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +s off +f 1/1/1 5/2/1 7/3/1 3/4/1 +f 4/5/2 3/6/2 7/7/2 8/8/2 +f 8/9/3 7/10/3 5/11/3 6/12/3 +f 6/13/4 2/14/4 4/5/4 8/8/4 +f 2/15/5 1/16/5 3/17/5 4/18/5 +f 6/19/6 5/20/6 1/21/6 2/22/6 +f 9/23/1 13/24/1 15/25/1 11/26/1 +f 12/27/2 11/28/2 15/29/2 16/30/2 +f 16/31/3 15/32/3 13/33/3 14/34/3 +f 14/35/4 10/36/4 12/37/4 16/38/4 +f 10/39/5 9/40/5 11/41/5 12/42/5 +f 14/43/6 13/44/6 9/45/6 10/46/6 +f 17/47/7 18/48/7 20/49/7 19/50/7 +f 21/51/8 22/52/8 24/53/8 23/54/8 diff --git a/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj index a6125886a..c90ece680 100644 --- a/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj +++ b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj @@ -1,6 +1,6 @@ # Blender v3.0.1 OBJ File: 'lantern.blend' # www.blender.org -o Cube +o Lantern_Floor v 0.187500 -0.062500 -0.187500 v 0.187500 -0.500000 -0.187500 v 0.187500 -0.062500 0.187500 @@ -37,10 +37,8 @@ vt 0.375000 0.437500 vt 0.375000 0.875000 vt -0.000000 0.875000 vt 0.000000 0.437500 -vt 0.562500 0.125000 -vt 0.937500 0.125000 -vt 0.937500 0.250000 -vt 0.562500 0.250000 +vt 0.000000 0.062500 +vt 0.375000 0.062500 vt 0.375000 0.437500 vt 0.375000 0.875000 vt -0.000000 0.875000 @@ -93,14 +91,14 @@ s off f 1/1/1 5/2/1 7/3/1 3/4/1 f 4/5/2 3/6/2 7/7/2 8/8/2 f 8/9/3 7/10/3 5/11/3 6/12/3 -f 6/13/4 2/14/4 4/15/4 8/16/4 -f 2/17/5 1/18/5 3/19/5 4/20/5 -f 6/21/6 5/22/6 1/23/6 2/24/6 -f 9/25/1 13/26/1 15/27/1 11/28/1 -f 12/29/2 11/30/2 15/31/2 16/32/2 -f 16/33/3 15/34/3 13/35/3 14/36/3 -f 14/37/4 10/38/4 12/39/4 16/40/4 -f 10/41/5 9/42/5 11/43/5 12/44/5 -f 14/45/6 13/46/6 9/47/6 10/48/6 -f 17/49/7 18/50/7 20/51/7 19/52/7 -f 21/53/8 22/54/8 24/55/8 23/56/8 +f 6/13/4 2/14/4 4/5/4 8/8/4 +f 2/15/5 1/16/5 3/17/5 4/18/5 +f 6/19/6 5/20/6 1/21/6 2/22/6 +f 9/23/1 13/24/1 15/25/1 11/26/1 +f 12/27/2 11/28/2 15/29/2 16/30/2 +f 16/31/3 15/32/3 13/33/3 14/34/3 +f 14/35/4 10/36/4 12/37/4 16/38/4 +f 10/39/5 9/40/5 11/41/5 12/42/5 +f 14/43/6 13/44/6 9/45/6 10/46/6 +f 17/47/7 18/48/7 20/49/7 19/50/7 +f 21/51/8 22/52/8 24/53/8 23/54/8 diff --git a/mods/ITEMS/mcl_lanterns/register.lua b/mods/ITEMS/mcl_lanterns/register.lua index a2c513eb2..76d48f50d 100644 --- a/mods/ITEMS/mcl_lanterns/register.lua +++ b/mods/ITEMS/mcl_lanterns/register.lua @@ -2,7 +2,25 @@ local S = minetest.get_translator("mcl_lanterns") mcl_lanterns.register_lantern("lantern", { description = S("Lantern"), + longdesc = S("Lanterns are light sources which can be placed on the top or the bottom of most blocks."), texture = "mcl_lanterns_lantern.png", texture_inv = "mcl_lanterns_lantern_inv.png", light_level = 15, +}) + +mcl_lanterns.register_lantern("soul_lantern", { + description = S("Soul Lantern"), + longdesc = S("Lanterns are light sources which can be placed on the top or the bottom of most blocks."), + texture = "mcl_lanterns_soul_lantern.png", + texture_inv = "mcl_lanterns_soul_lantern_inv.png", + light_level = 10, +}) + +minetest.register_craft({ + output = "mcl_lanterns:lantern_floor", + recipe = { + {"mcl_core:iron_nugget", "mcl_core:iron_nugget", "mcl_core:iron_nugget"}, + {"mcl_core:iron_nugget", "mcl_torches:torch" , "mcl_core:iron_nugget"}, + {"mcl_core:iron_nugget", "mcl_core:iron_nugget", "mcl_core:iron_nugget"}, + }, }) \ No newline at end of file diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png old mode 100755 new mode 100644 index ee523c9226d618aa4cb6c31a11a3130f5a464495..01725114a6c7eba66c7abf561e57563b46171c7f GIT binary patch delta 149 zcmaFBc$RU3gcu7m0|Ud`yN`kx7#J9fgWR1M)}51iInhD8gg?M1#Fc@8L0MT@M@Prh z)b#)V|BE|Q*Mk(61o;IsI6S+N2I3@nySuRTXWR^AU|`Vlba4#fxSpJlkdnf{tn8}D z;q1uZWXz$Z?HK73U|J!0c>G_f`~+| zJ6x(7?hXKOcZf)k#5QZKwrXYMAW4u!x-qlS-ge?<)+W_Eynn=bV*4?L%AdlQUik(| Wc1hS&gy)q20000-9ba4#fxSpKgz{JE9&}Ptc wkY%z_NQ03G3x{@Ei=oKJ7eNl!S=kucTNy8x@cZgBFfcH9y85}Sb4q9e0HbLu$N&HU delta 161 zcmV;S0AByf0oehN7$^t^0000V^Z#K00004VQb$4nuFf3k00006VoOIv0RI600RN!9 zr<0K`D{fgyL_t(I%VS`m6;M`I{*O%K0!;WMO-)VzQ{)OA9UX!OFyXWP`}gkz4Z&%^ z_wU~s?%uu2`2G8L2C@wx1`OgrB-R^Dgls1}78n>921zV%a&po(7AOV)651>MRjtpK P00000NkvXXu0mjfa_2tw diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png old mode 100755 new mode 100644 index c9cc5b9958c962387a6ee72e277c225a5673fb7a..f9936e0fbb05622646be067e889c7d7b6227445d GIT binary patch delta 253 zcmVQA$uT`t{^9W03=XMR7C&)0LV)+YyVdBP=W|H8nN=|Nk+RjKcr`00?waPE!E<{QUg<{QQT(RUZHV00Cl4 zM??!B*Tld8004YRL_t&-(_`RVHGu&PIA$~ei4_bCoik@JFmQ1&Ff#mrOXm21ys}QVu7R!1ZJ*U1!2tS?1D(Gm@x~Yc;(D4h}6m%P{yiN zD;ZD$9``gVN}#!Ca+oDV@#IuZh!su78gz5dK!gtf0_ROe_v7JA00000NkvXXu0mjf D`7vcy delta 428 zcmV;d0aN~_L)Ao(7zqdl0000OU;0y{D6tnII~E0cuG^ zK~zY`?UpZ3!$26uf9)E`D~dS741wjy47a%%1O~x(0Lz!)6YwR_sL2_!kW69bV1f`9 zXfVuFP;r5zDT1^#Tbt10ppUr|chCF0f9}aS0LGX^L;$eXGMmjDeh4qUlwZrBwN8{$ zgki{hK6e0It#uY%L=X|Q)=3e6fl`X;bn2`qxH|M>f72maeBC=3*;WxjsxS=*;E4!F z*HNqNz%qd`CdsGj0oZBDl*f6cLnCR30R2Eh2)owv?cMaFFr}Qj#)= z$jTtO`M#$lWk}yhzCLczq*Z~pte`GYZ8(3#4=%RX;;r3vULM~8IJvLr2dBYDi{PWa zAKV;o#QvUwPM>HrVgK^2h97kL@N}EmS~Wjd_%NC@e$e>AzxRXYf6)978bA0wJ^`#P Wd9>vG3V#3q002ovPDHK)LSTaYoy*(+ diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png old mode 100755 new mode 100644 index 1e81819ba95fb37c446bc5b37278432023322031..8bdc8095fc5de299ae0cbc348ff585c0b16bb0e0 GIT binary patch delta 182 zcmV;n07?JoETt@v7zqRe0002(-QrTQAwU(Aa}_9m9#BkFMF0Q*L<#ZPrR)Fz z06s}XK~xCWV_-lA& k6NJGXrfigestXMO0Ify}bsvJfM*si-07*qoM6N<$g5q>W-v9sr delta 247 zcmVy{D6tUKJ~UxJg7o zR5;6HV4yY7(b4&@qoebmY|Y3tS-{lP6t89`LN56J{X1R@81ZT5}dBqtSKEH&7q1~46%tU*ElarId zeeY*xWG|q*h@cBDS1SBv(A8s3V31H_VA#EeLAU(@Gs)4&Afd*<@ZuK3=ZEibDq+DD x1D_whW8mGr1|wF8_JY;2Ps|JqpBM%|001+GLyO0j;pqSX002ovPDHLkV1f}Ccvk=b diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern.png new file mode 100644 index 0000000000000000000000000000000000000000..6e20058ea35d03bcdd7c225d2c372ee7be934f82 GIT binary patch literal 8642 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 Ic~Ihi0lCZx+yDRo literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern_inv.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..55624c7492d8bbab96bc7c7e44b566868f2335b6 GIT binary patch literal 5677 zcmeHLc~}$I79UguLB*w_QmJE5Dod6b5<+4^1OgZZM2G^VE|Zx_7|G^jAOSZ(TM-o( zT1ATsE-gxJ3)X@aSKLsnRiP9?K~$tqzy%jnl=n?QjPLpE^N;@L`M&wS%)P(!JNN$X zIp=6t$1MHma000;unOv#-ys`#Ni}q+R(%`>Dc;a}PF`{BrKZ%r&>gK`WFi4@Yg7IdM{H zL7u@af7x>DF&iFzHgQ_*Cktne%atx^-n;FxdcXCq2u9!aewj|VQ$(BHZGBx#k*kf?Rh-04yOvC1Vo{~~>yDz(Xd7q=pMVcGVyLcPK zI_NjglzT&@sjjlV`AI*GSzHl#GyHMG<|n?UM;AZcx}?wW1-5>rqK?80;UgzGZ|;=RI}TS!yX-PoObhB{MmAkKk7yty5EFPJ$!wdy=rya;;;M{E4*LVIC(6Y`Sr@ zg8lsk(Xe!nftO4Z_-W1w#k0y23+j)IX?a@hZTw+QIxA*(#?V!gw(}*nZjwD*)v^_J zzc*iuu)Uy;Yik$`H`-v_6*xF5?SC$wd)BDP%Fxb^3{)18utvF*2IKINTO z<$1L=%5Uvu0ATe65fBhA3kZ1C4gkQEvv93=Qt8A|Cuc_n?jB|{A>9Yd3v-n2O3#uP z*g8&*&7E$OHRZ@QS-`r6hVjLYqdKC$7Z&^6`B%NWZQ5v1s}0LwMKpA-^ItK-A@lkD z)@wIfok6a92=AaPFn!-jxyV&%$X8tOcs9r%m{vZyykh8IC;N*|SBV!aIJDxP=Uv0% z%thmL@X=3)T!60rl+I7z@y+_*lD7Jsn7qz^L6}JUyY=$X2UrI?P913a>8MvgkSlNM zD2C$-XHO%?W2F0i?!4$}ytBg#Sspn>KKWle#b3=j!pW|haq08#1Zh6&*GwG3z$(In ztQ{FY&)u0l>EfdDQb}`r*3ETg)BC!d?zJa;j9}3{N&D5kG1;4_tTbrb^OL_wf>O84 z+!j;Rau==9ZUJ7Z>L-K-Ze*0Cd6hvNjc{{r%ASd2c_8B>A* zz#)f_M^n+EAwpEAVIi1KfwN2+JwTgCV$vgMJWhcMTt#TbjJpSqFhBwmGopB*oKSrL z9!E?{Ch^GRFgcnWj|wn`#Me$_5}Gu64Nf7TNu$;pgeEb=%q!Fyg!C|*0h%FHyqFOk z8V&~NNF3y{xGWAc&_pD{3|~7?L}E%|gfys|g2a?!MjS=yg>1IbXk;0^SUOV0h6Dlu zn*+09m`P$vrXfj7Att8Q;6hV$aY%6kN)mdC&}l)M6H(|AC^3U!2ZCTXIiaV}Koivy zfPOdA8z_t|(^Dwdq|pbOC^pRD_%Jyz6Be*7{Y@HuXlReO*3hjYs?)Gdh@K6xIBbpP z4G#kqnD{#0TRjZ&Bt6cKzzw6|!{x{IC^fH6Zx(cN_G=UB(lZqMidWDz{B`~4+C&cCQyuA4eCLe-1Os+yHU@G_! z&h+M?7_5L592DYNP|36g3eloCO=Z&PSp$ zj|(d?Z?2C8#Z;0|5n4oTxhk3pBQPP~i;F|v0xu@t3-V!dAsA&UIGBQo@V&jf_z)lG z;jo#CJ_n&+xJ=A|S)A7+;cA3Z>PU^45k+V*ozd`mN=|6-ND854gS@@?Tn^uh$LGQj zk8i;^11AlHPD`^w92VR)gQ3D89jQSmF@w+`Dx9s?s?5Cf!O+{mwG={EhnNAG$4wf& zFo47nN=M3dI<=TVuNI^!%|!)@y30ivqC?G&W-yM?71v#J{)mcgeifN(DbVzG@P9Ey z#_5dO|BvT2w1>ryq>MT;ekwUtF&9Uvck{dr+`|-ss|W){CdvM0Q~!YzbtUX1!a(WB zB#Zcw_`I&Su9l=G%u<1%xeW*rv`c;il89sGBj}kz;}ES1$Ha{8>Urftyd{w_h>O5D zA7P?gu9C@xxDZnz;PIIdAA!6fo)5<3cI8?Ri$SNPj0lPQsc$E`;o9?i$b}OR0N@(aCdWh&AC6v*L7@45g zs|lQZQ>RyX^FMGF{@pqHckY(3F7E)HK8Yk$anw|!_MPG10_)# zWVQeRfRDpNSXE-o&fo}N4&@6S7r4+8+umx>6B1UhKj zI&gVC0035sDZx_fcHLj60RZroN&V!uRp^|FeQ$+t+U)Fl2^i{@0=r+yUHOn}dw#~O zEdXNM&woVoEn-k*v+J?&FLw`JdhA>ES1Eh!2LQm{AiIRoX(hq*zX-CxFzFBebJG3| DuN!6u literal 0 HcmV?d00001