From 92ff81b6c9875cc2f187b67f09ba3c26e573429c Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Thu, 10 Mar 2022 15:05:07 +1100 Subject: [PATCH] Initial mockup of the Reptilian species (#6973) Co-authored-by: ZeroDayDaemon <60460608+ZeroDayDaemon@users.noreply.github.com> --- .../Systems/HumanoidAppearanceSystem.cs | 5 +- Content.Shared/Body/Part/BodyPartType.cs | 5 +- .../HumanoidVisualLayers.cs | 5 + .../HumanoidVisualLayersExtension.cs | 7 + Content.Shared/Species/SpeciesPrototype.cs | 5 +- .../Entities/Mobs/Player/reptilian.yml | 23 ++ .../Entities/Mobs/Species/reptilian.yml | 218 ++++++++++++++++++ Resources/Prototypes/species.yml | 8 + .../reptilian_parts.rsi/frills_aquatic.png | Bin 0 -> 325 bytes .../reptilian_parts.rsi/frills_short.png | Bin 0 -> 310 bytes .../reptilian_parts.rsi/frills_simple.png | Bin 0 -> 304 bytes .../reptilian_parts.rsi/horns_angler.png | Bin 0 -> 485 bytes .../reptilian_parts.rsi/horns_curled.png | Bin 0 -> 276 bytes .../reptilian_parts.rsi/horns_ram.png | Bin 0 -> 304 bytes .../reptilian_parts.rsi/horns_short.png | Bin 0 -> 273 bytes .../reptilian_parts.rsi/horns_simple.png | Bin 0 -> 272 bytes .../reptilian_parts.rsi/meta.json | 91 ++++++++ .../reptilian_parts.rsi/snout_round.png | Bin 0 -> 2220 bytes .../reptilian_parts.rsi/snout_roundlight.png | Bin 0 -> 2232 bytes .../reptilian_parts.rsi/snout_sharp.png | Bin 0 -> 2220 bytes .../reptilian_parts.rsi/snout_sharplight.png | Bin 0 -> 2232 bytes .../tail_dtiger_behind.png | Bin 0 -> 2229 bytes .../reptilian_parts.rsi/tail_dtiger_front.png | Bin 0 -> 2229 bytes .../tail_ltiger_behind.png | Bin 0 -> 2232 bytes .../reptilian_parts.rsi/tail_ltiger_front.png | Bin 0 -> 2229 bytes .../tail_smooth_behind.png | Bin 0 -> 2226 bytes .../reptilian_parts.rsi/tail_smooth_front.png | Bin 0 -> 2223 bytes .../tail_spikes_behind.png | Bin 0 -> 2232 bytes .../reptilian_parts.rsi/tail_spikes_front.png | Bin 0 -> 2229 bytes .../Mobs/Species/Reptilian/parts.rsi/full.png | Bin 0 -> 486 bytes .../Species/Reptilian/parts.rsi/head_f.png | Bin 0 -> 2226 bytes .../Species/Reptilian/parts.rsi/head_m.png | Bin 0 -> 2226 bytes .../Species/Reptilian/parts.rsi/l_arm.png | Bin 0 -> 2223 bytes .../Species/Reptilian/parts.rsi/l_foot.png | Bin 0 -> 2238 bytes .../Species/Reptilian/parts.rsi/l_hand.png | Bin 0 -> 2226 bytes .../Species/Reptilian/parts.rsi/l_leg.png | Bin 0 -> 2238 bytes .../Species/Reptilian/parts.rsi/meta.json | 62 +++++ .../Species/Reptilian/parts.rsi/r_arm.png | Bin 0 -> 2223 bytes .../Species/Reptilian/parts.rsi/r_foot.png | Bin 0 -> 2238 bytes .../Species/Reptilian/parts.rsi/r_hand.png | Bin 0 -> 2226 bytes .../Species/Reptilian/parts.rsi/r_leg.png | Bin 0 -> 2238 bytes .../Species/Reptilian/parts.rsi/torso_f.png | Bin 0 -> 2226 bytes .../Species/Reptilian/parts.rsi/torso_m.png | Bin 0 -> 2226 bytes 43 files changed, 424 insertions(+), 5 deletions(-) create mode 100644 Resources/Prototypes/Entities/Mobs/Player/reptilian.yml create mode 100644 Resources/Prototypes/Entities/Mobs/Species/reptilian.yml create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/frills_aquatic.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/frills_short.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/frills_simple.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_angler.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_curled.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_ram.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_short.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_simple.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_round.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_roundlight.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_sharp.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_sharplight.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_dtiger_behind.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_dtiger_front.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_ltiger_behind.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_ltiger_front.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_smooth_behind.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_smooth_front.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_spikes_behind.png create mode 100644 Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_spikes_front.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/full.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/head_f.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/head_m.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_arm.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_foot.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_hand.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_leg.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_arm.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_foot.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_hand.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_leg.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/torso_f.png create mode 100644 Resources/Textures/Mobs/Species/Reptilian/parts.rsi/torso_m.png diff --git a/Content.Client/CharacterAppearance/Systems/HumanoidAppearanceSystem.cs b/Content.Client/CharacterAppearance/Systems/HumanoidAppearanceSystem.cs index cdcfc28b33..fbb4940ced 100644 --- a/Content.Client/CharacterAppearance/Systems/HumanoidAppearanceSystem.cs +++ b/Content.Client/CharacterAppearance/Systems/HumanoidAppearanceSystem.cs @@ -25,6 +25,10 @@ namespace Content.Client.CharacterAppearance.Systems private readonly HumanoidVisualLayers[] _bodyPartLayers = { HumanoidVisualLayers.Chest, HumanoidVisualLayers.Head, + HumanoidVisualLayers.Snout, + HumanoidVisualLayers.Frills, + HumanoidVisualLayers.TailBehind, + HumanoidVisualLayers.TailFront, HumanoidVisualLayers.Eyes, HumanoidVisualLayers.RArm, HumanoidVisualLayers.LArm, @@ -99,7 +103,6 @@ namespace Content.Client.CharacterAppearance.Systems } sprite.LayerSetColor(HumanoidVisualLayers.Eyes, component.Appearance.EyeColor); - sprite.LayerSetState(HumanoidVisualLayers.Chest, component.Sex == Sex.Male ? "torso_m" : "torso_f"); sprite.LayerSetState(HumanoidVisualLayers.Head, component.Sex == Sex.Male ? "head_m" : "head_f"); diff --git a/Content.Shared/Body/Part/BodyPartType.cs b/Content.Shared/Body/Part/BodyPartType.cs index 137c6a72e9..b8fc2fce28 100644 --- a/Content.Shared/Body/Part/BodyPartType.cs +++ b/Content.Shared/Body/Part/BodyPartType.cs @@ -1,4 +1,4 @@ -using System; +using System; using Content.Shared.Body.Components; using Robust.Shared.Serialization; @@ -16,6 +16,7 @@ namespace Content.Shared.Body.Part Arm, Hand, Leg, - Foot + Foot, + Tail } } diff --git a/Content.Shared/CharacterAppearance/HumanoidVisualLayers.cs b/Content.Shared/CharacterAppearance/HumanoidVisualLayers.cs index 8aaa2bf588..662a5256b6 100644 --- a/Content.Shared/CharacterAppearance/HumanoidVisualLayers.cs +++ b/Content.Shared/CharacterAppearance/HumanoidVisualLayers.cs @@ -5,10 +5,14 @@ namespace Content.Shared.CharacterAppearance [Serializable, NetSerializable] public enum HumanoidVisualLayers : byte { + TailBehind, Hair, FacialHair, Chest, Head, + Snout, + Frills, + Horns, Eyes, RArm, LArm, @@ -18,6 +22,7 @@ namespace Content.Shared.CharacterAppearance LLeg, RFoot, LFoot, + TailFront, Handcuffs, StencilMask, Fire, diff --git a/Content.Shared/CharacterAppearance/HumanoidVisualLayersExtension.cs b/Content.Shared/CharacterAppearance/HumanoidVisualLayersExtension.cs index 76da183504..ed7d3f9204 100644 --- a/Content.Shared/CharacterAppearance/HumanoidVisualLayersExtension.cs +++ b/Content.Shared/CharacterAppearance/HumanoidVisualLayersExtension.cs @@ -16,8 +16,15 @@ namespace Content.Shared.CharacterAppearance case BodyPartType.Torso: yield return HumanoidVisualLayers.Chest; break; + case BodyPartType.Tail: + yield return HumanoidVisualLayers.TailFront; + yield return HumanoidVisualLayers.TailBehind; + break; case BodyPartType.Head: yield return HumanoidVisualLayers.Head; + yield return HumanoidVisualLayers.Snout; + yield return HumanoidVisualLayers.Frills; + yield return HumanoidVisualLayers.Horns; yield return HumanoidVisualLayers.Eyes; yield return HumanoidVisualLayers.FacialHair; yield return HumanoidVisualLayers.Hair; diff --git a/Content.Shared/Species/SpeciesPrototype.cs b/Content.Shared/Species/SpeciesPrototype.cs index 22e43d78d6..c5b7ffceee 100644 --- a/Content.Shared/Species/SpeciesPrototype.cs +++ b/Content.Shared/Species/SpeciesPrototype.cs @@ -1,5 +1,6 @@ using Robust.Shared.Prototypes; using Robust.Shared.Serialization.Manager.Attributes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.ViewVariables; namespace Content.Shared.Species; @@ -28,13 +29,13 @@ public sealed class SpeciesPrototype : IPrototype /// /// Prototype used by the species as a body. /// - [DataField("prototype", required: true)] + [DataField("prototype", required: true, customTypeSerializer:typeof(PrototypeIdSerializer))] public string Prototype { get; } = default!; /// /// Prototype used by the species for the dress-up doll in various menus. /// - [DataField("dollPrototype", required: true)] + [DataField("dollPrototype", required: true, customTypeSerializer:typeof(PrototypeIdSerializer))] public string DollPrototype { get; } = default!; /// diff --git a/Resources/Prototypes/Entities/Mobs/Player/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Player/reptilian.yml new file mode 100644 index 0000000000..d2360d5556 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Player/reptilian.yml @@ -0,0 +1,23 @@ +- type: entity + save: false + name: Urist McHands The Lizardperson + parent: MobReptilianBase + id: MobReptilian + description: A miserable pile of scales. + components: + - type: Mind + showExamineInfo: true + - type: Input + context: "human" + - type: PlayerMobMover + - type: PlayerInputMover + - type: Alerts + - type: Eye + - type: CameraRecoil + - type: Examiner + - type: CanHostGuardian + - type: AiFactionTag + factions: + - NanoTrasen + +#Weh diff --git a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml new file mode 100644 index 0000000000..dcaa6f191c --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml @@ -0,0 +1,218 @@ +- type: entity + save: false + name: Urist McHands The Lizardperson + parent: MobHumanBase + id: MobReptilianBase + abstract: true + description: A miserable pile of scales. + components: + - type: Icon + sprite: Mobs/Species/Reptilian/parts.rsi + state: full + - type: Sprite + netsync: false + noRot: true + drawdepth: Mobs + scale: 1, 1 + layers: + - map: [ "enum.HumanoidVisualLayers.TailBehind" ] + color: "#34a223" + state: tail_smooth_behind + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "enum.HumanoidVisualLayers.Chest" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: torso_m + - map: [ "enum.HumanoidVisualLayers.Head" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: head_m + - map: [ "enum.HumanoidVisualLayers.Snout" ] + color: "#34a223" + state: snout_round + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "enum.HumanoidVisualLayers.Eyes" ] + color: "#008800" + sprite: Mobs/Customization/eyes.rsi + state: eyes + - map: [ "enum.HumanoidVisualLayers.RArm" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: r_arm + - map: [ "enum.HumanoidVisualLayers.LArm" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_arm + - map: [ "enum.HumanoidVisualLayers.RLeg" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: r_leg + - map: [ "enum.HumanoidVisualLayers.LLeg" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_leg + - shader: StencilClear + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_leg + - shader: StencilMask + map: [ "enum.HumanoidVisualLayers.StencilMask" ] + sprite: Mobs/Customization/masking_helpers.rsi + state: female_full + visible: false + - map: [ "jumpsuit" ] + shader: StencilDraw + - map: [ "enum.HumanoidVisualLayers.LHand" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_hand + - map: [ "enum.HumanoidVisualLayers.RHand" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: r_hand + - map: [ "enum.HumanoidVisualLayers.LFoot" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_foot + - map: [ "enum.HumanoidVisualLayers.RFoot" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: r_foot + - map: [ "enum.HumanoidVisualLayers.Handcuffs" ] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: [ "id" ] + - map: [ "gloves" ] + - map: [ "shoes" ] + - map: [ "ears" ] + - map: [ "outerClothing" ] + - map: [ "eyes" ] + - map: [ "enum.HumanoidVisualLayers.TailFront" ] + color: "#34a223" + state: tail_smooth_front + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "belt" ] + - map: [ "neck" ] + - map: [ "back" ] + - map: [ "enum.HumanoidVisualLayers.Frills" ] + state: frills_simple + color: "#34a223" + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "enum.HumanoidVisualLayers.Horns" ] + state: horns_simple + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "mask" ] + - map: [ "head" ] + - map: [ "pocket1" ] + - map: [ "pocket2" ] + - type: Body + template: HumanoidTemplate + preset: HumanPreset + +- type: entity + save: false + name: Urist McHands + parent: MobHumanDummy + id: MobReptilianDummy + abstract: true + description: A dummy reptilian meant to be used in character setup. + components: + - type: Sprite + netsync: false + noRot: true + drawdepth: Mobs + scale: 1, 1 + layers: + - map: [ "enum.HumanoidVisualLayers.TailBehind" ] + color: "#34a223" + state: tail_smooth_behind + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "enum.HumanoidVisualLayers.Chest" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: torso_m + - map: [ "enum.HumanoidVisualLayers.Head" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: head_m + - map: [ "enum.HumanoidVisualLayers.Snout" ] + color: "#34a223" + state: snout_round + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "enum.HumanoidVisualLayers.Eyes" ] + color: "#008800" + sprite: Mobs/Customization/eyes.rsi + state: eyes + - map: [ "enum.HumanoidVisualLayers.RArm" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: r_arm + - map: [ "enum.HumanoidVisualLayers.LArm" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_arm + - map: [ "enum.HumanoidVisualLayers.RLeg" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: r_leg + - map: [ "enum.HumanoidVisualLayers.LLeg" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_leg + - shader: StencilClear + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_leg + - shader: StencilMask + map: [ "enum.HumanoidVisualLayers.StencilMask" ] + sprite: Mobs/Customization/masking_helpers.rsi + state: female_full + visible: false + - map: [ "jumpsuit" ] + shader: StencilDraw + - map: [ "enum.HumanoidVisualLayers.LHand" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_hand + - map: [ "enum.HumanoidVisualLayers.RHand" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: r_hand + - map: [ "enum.HumanoidVisualLayers.LFoot" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: l_foot + - map: [ "enum.HumanoidVisualLayers.RFoot" ] + color: "#34a223" + sprite: Mobs/Species/Reptilian/parts.rsi + state: r_foot + - map: [ "enum.HumanoidVisualLayers.Handcuffs" ] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: [ "id" ] + - map: [ "gloves" ] + - map: [ "shoes" ] + - map: [ "ears" ] + - map: [ "outerClothing" ] + - map: [ "eyes" ] + - map: [ "enum.HumanoidVisualLayers.TailFront" ] + color: "#34a223" + state: tail_smooth_front + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "belt" ] + - map: [ "neck" ] + - map: [ "back" ] + - map: [ "enum.HumanoidVisualLayers.Frills" ] + state: frills_simple + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "enum.HumanoidVisualLayers.Horns" ] + state: horns_simple + sprite: Mobs/Customization/reptilian_parts.rsi + - map: [ "mask" ] + - map: [ "head" ] + - map: [ "pocket1" ] + - map: [ "pocket2" ] + +#Weh diff --git a/Resources/Prototypes/species.yml b/Resources/Prototypes/species.yml index 8bb50c8664..81b361fefa 100644 --- a/Resources/Prototypes/species.yml +++ b/Resources/Prototypes/species.yml @@ -14,6 +14,14 @@ dollPrototype: MobDwarfDummy skinColoration: HumanToned +- type: species + id: Reptilian + name: Reptilian + roundStart: false + prototype: MobReptilian + dollPrototype: MobReptilianDummy + skinColoration: Hues + - type: species id: SlimePerson name: Slime Person diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/frills_aquatic.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/frills_aquatic.png new file mode 100644 index 0000000000000000000000000000000000000000..227231f7f66fa90a8ba764e97a194a65fcd883df GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoB=)|t_KbrsH&=Z_wL=6QjbkQ zLB^6GzhDN3XE)M-oU*Erh!U67;^d;tf|AVqJO+k}Il*BCMWx@r1Q&e#`b5iHSL@uF z^T8WJ4K5l#c%*aQNAn~@QBUs<3*#W;%f?;`a~@4PGATqMSkv5Yt%kAsatphS8%zxE zT|DaD*=?-4d4)s@gLryWU{an|NA8KGYaYCM&a{n*;lwMs*;x`Zw*p;|;pyTSV$qwN zpul9nq-b>Zz|#ZQ7#7WxxuL+6!5=t93 zN-!S~xhyiHA%fY(Mp$hEXQ(x|+6Er4mdKI;Vst0I{QZL;wH) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/frills_short.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/frills_short.png new file mode 100644 index 0000000000000000000000000000000000000000..71c3c4ead4e54b4374b44efe27241e4c897ebd17 GIT binary patch literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoB=)|t_KbrsH&=Z_wL=6QjbkQ zLB^6GzhDN3XE)M-obsxWh!U67;^d;tf|AVqJO+k}Il*BCMWx@r1Q&e#`b5iHSL@uF z^T8WJ4K5l#c%*aQNAn~@QBUs<3*#W;%f?;`a~@4PGATqMSkv5Yt%kAsa*KTy%KKNS z+`D+xyR+L^b@K{|6ejWXsKBH=t&ZFiOV>Pj^_*!NGs9;md1XP?P;a0UB0OCjLo9le z6BO7t7#LV6T;`d>w}$tGN%Iuu+bk)w9H%xKGR{nUkdlz&uuL*SQbKmZ%Rqw?M(!R( zhNYH?Oq>BxTxuIwyjCA#Q7TxO(8|dYaJX}EgA@Zp-xSW8sW-L7fp#!>y85}Sb4q9e E0G1nWqW}N^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/frills_simple.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/frills_simple.png new file mode 100644 index 0000000000000000000000000000000000000000..a753162e53fe16c9cc70c2d2ddd4aa4da9ecaf8d GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoB=)|t_KbrsH&=Z_wL=6QjbkQ zLB^6GzhDN3XE)M-oQkTDh!U67;^d;tf|AVqJfO&&;IM+C((hk_3qF2*qUEitb?(gh z;0>V$7mXi0(mC&=d6J>1r+0^iaggz4V=sj{k0u?N6rvEUX>PYx!&rT}#Xbw;?F#Cq z_bwjw?(8;J-Mm5~g+)9)DljQet0VWs(lrlWJ!jg+!XWluzIO8V_IW@z1bVtShFJ6_ zCn&IY7#Of9T;`d@w}yK{W}6QCHq{d*heOzoaiq+0oZMK*XmnQL)B%YGpZ=zW+%6X+ xXBjl|Xvne(M|8OzPBjSGaEQfi^6>?X49j2fUb&l7-~u$9!PC{xWt~$(69BngaPj~E literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_angler.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_angler.png new file mode 100644 index 0000000000000000000000000000000000000000..6988c45df6316571dc749cae8ca98cff1478bf00 GIT binary patch literal 485 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=HB})IB`&GO$wiq3C7Jno3=9=> zRFB(o9X8-$yKvL$sQaer|5C1Acq9^&hurWv%1;BDl3E z#Gvi+%sboH=r$Mbo^(2B+ns+Kr_E}(_|{N9N_W|=y{?b%+FKW82Qnuse804%yRmSg z+~Y?NpF7yUPnG9Nf0wX|fq_xQ)5S5QV$R!HhFpgXB;0}*PPXjKi&f3uCg;L0^8S;5 z>!VkhBF8N{E*x~6HHH1{_XWw5k1MDAyv%d>!L~E&o}?R}-s-aAZ#UDITAjP{>17Q9 zyGm^K#Bju}()^--Z@cBO8x{A(<~A*R!pE`D`*FqoDI6C>SRj!qCfffyso+f%}36gRaA324V!xK4ad)xZ-K(qJ@cP RO@Z;o;OXk;vd$@?2>^Vi$kzY> literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_curled.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_curled.png new file mode 100644 index 0000000000000000000000000000000000000000..77114f0a90e4e9099d4d4999e61b02e04cf32a3a GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoB=)|t_KbraCLRn($dP06c7ap zGL{7S1v5B2yO9RulvjmBl(?i8Cl_TFlw{`TF)&oj2@WeLD*gT?xZva0CtBXRTIbH3 z58e=JaMAd|Bc1a;nkN~GdU|(Q7zY_&Huh4O^JvnMNg)csn&x)O`!&{E*zMe+p>C>r z@8VJK&TeDX%_}5Qn8eeg0+aHzI&x1eUGw18bEa*~3?HV+3v90U1Ub^o)5S5wqBl7~ zfz4vWf=fKYDgl{ntgMT8q*xCN`Lr4yQV^NEoVn%Tj2jH1jhrSIj=L^yuw!5d-N9;d Tk2}Z)Xaa+$tDnm{r-UW|(iUG3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_ram.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_ram.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba9650e1ecf27eeb46a0903d4e7efccfe19ad97 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoB=)|t_Kbr(9+U!b#_!@pQ(P4iQR0$XoLrPyP?DLS$G}iACpfI2sPy}n;DV1|pJ;jOYMncC zK6pc@!A0W-k95xaXr5#!>gnBKVH{+9+1N{A&Z9|3CWR;jYnt0B@7Gvwu}{O${NBZ* z-ksgXs+(6xEScMF%&RejD@nRYQ+vm+oejDS3=IclFRnIUstB|`%+tj&#G*GjL4nCY z?*hwZAI>ZR#%&#$dv1Vz`#Nv`KX4(sRXs2iEImJ x9Fkhlvr>RT(A+wRB_v9boF|;uvDlo1CD) zX0c(xB_3gwfJ`=4)vqlE%}(WpI#1>cyi4fez{n3{D;_GR=F7 Rw*d`c@O1TaS?83{1ORP9T_ykk literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_simple.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/horns_simple.png new file mode 100644 index 0000000000000000000000000000000000000000..d630ec6fa2abef122d1eed483347bb20f2ba3efc GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoB=)|t_KbraCLRn($dP06c7ap zGL{7S1v5B2yO9RulvjmBl(?i8Cl_TFlw{`TF)&oj2@WeLD*gT?xZva0CtBXRTIbH3 z58e=JaMAd|Bc1a;nkN~GdU|(Q7zY_&Huh4O^JvnMNg)csn&x)O`!&{E?6WZ5uApvu z@8VJK&TeDX%_}5Qn8eeg0+aHzI&x1eUGw18bEa*~44;zar5n|cT>?76$kW9!#G*Gj zL4nO;!-7jZ!YTooY^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_roundlight.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_roundlight.png new file mode 100644 index 0000000000000000000000000000000000000000..f2163ec760fdba8b6e2f944bcfcd8d194c18ffc5 GIT binary patch literal 2232 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e=>VS)SEZ=N0|yRVx^(I2(W5tR z+}N>W$Nl^Fw{6>2RaM3Hv55z$jIkuhFPOpM*^M*?1`cme7sn6}UPcFw{ojFd!w4`D z@Qaa)lL1~OAz>i_condQhT@eUl^hL$(GVECA;8{%a2rPff(>UGnZlV2!O93WjK!>^ z3S%-b1Sw$_CrqYDB?xP<0zx&ErHmxcz`$yRpmdK II;Vst0RB!e9{>OV literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_sharp.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_sharp.png new file mode 100644 index 0000000000000000000000000000000000000000..3d952e9065dcdaa0da6c7256528229c42de2aafa GIT binary patch literal 2220 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e{s5m4R|bXL0|yRl+qSK$s%pxV zDf*tV?m#KVk|4ie28U-i(ij*xyggkULp*pH9XR%X2g;3t(GVC7fzc2c5h1{2jPRzh z0)h=^F*(DT3?^6=C?gaYVN<|tfKY(UMu?8GMnhnjgn-2k#{W%v-=sj^@pScbS?83{ F1OP3wAPWEh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_sharplight.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/snout_sharplight.png new file mode 100644 index 0000000000000000000000000000000000000000..00b3d347b47f6746ba08829f2607e254ab80aebb GIT binary patch literal 2232 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e=>VS)*Z(|i2M!##bm`L3qepMt zxUpl$j{EoTZ`-!5s;bH=GV?W18DmM1UoeBivm0p)3>@B`E{-7{yo?SU`@aL_h7n*Q z;1?qoCj-1nLc&4<@G4*p4aF-zDmfYgqaiSOLx8;l;kJ$f1RKsWGKDi4f|U_$7>ij+ z6~<&>2vWi`*jr3WDQdb;|# JtaD0e0s!HaGTZQ>ILDb#?VhJDCAg!&nmJ7tG-B>_!>`1BbV#i(`lfFQWs;{_jA!Q7{?;Lox)I zOdRmLo5{olzk*;lSNsZ;-4yUDU^Ph#z^g#nEfudkAp@9{-IDMbz^d$$gwF*^K>Z4M z3{V0BeDZj-j!KP&z+esmCTxyVKoV3%V#ArBDi#KmvE(dPBbY1$15>a&h6>gaQw6vR zCew6G1!chq1*#^caK&&&xHH@lOvzydaB(<;J=IJB%274LVgLg}crw%oRhLpM1~4$N whl3jvOiCu$82|tP literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_dtiger_front.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_dtiger_front.png new file mode 100644 index 0000000000000000000000000000000000000000..04b71b9827b421379fa894932c66ac4cc7ceb9d3 GIT binary patch literal 2229 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|ei2$Dv*NjAl0|yRl+qP}WlqpqJ zRVgVcuCA_2mMoc=yxbV5hOs2bFPOpM*^M*?1`cme7sn6}UPcFw{ojFdqhK@yhDQh} ztKjzsb8skr1#Cq|3HVjGng-xkkglwTUja+0DFHjul}!j4q3nWRMM|lv8vzyJK`st> qm87J&5m13w`>5n-2#kina1Q~cSzKMa*aK2Q{`7S9b6Mw<&;$T?-zVS)*OTrX2M!#ls;b(yZQGJ1 zOK#n|HD$__fK}Ng37-p; zfch2i7@!0M_~h|u9hDjlfx#RCOxPT!fF!7j#D+6LwJZ!MW64>pMle|h2Bu(l3>B;; zrV4NsOs46W3d({J3RF!>;fmpmaA&w9n3BT^;Noxwd#afNl%r~f#Q+9|@MNeFsxGBi z3}9ej4+pm=n3PPg%Y#%n151XEjt;E)LDsVaC9fTl=8T>7p%cXSboFyt=akR{0Aia% A&;S4c literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_ltiger_front.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_ltiger_front.png new file mode 100644 index 0000000000000000000000000000000000000000..a300138c9b04a4b9518126dfd3397039d65e66dc GIT binary patch literal 2229 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|ei2$Dv*Te#b0|yRl+qP}WlqpqJ zRkv>4I)424k|j&FTnRh^RKr*jdK& zlvVKigE=@9zXG-*qXhgaTulS;D@a#X!>@p))Rcf7>B=UAj8JyLuOg*X)s29P@E{il ryh>71+z6<^t9?{*Gz3ONV7P~X(k!m7UF-p=Ab)zg`njxgN@xNAHZm|t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_smooth_behind.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_smooth_behind.png new file mode 100644 index 0000000000000000000000000000000000000000..9a452186ef8521c0767d57307baf1a18d0f8218e GIT binary patch literal 2226 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e(Ey(i*9-=R0|yRNRaI@LUBU|>iMh8m&d5|#ir7>U7_>Y@bXGAWs0 pmj_ys>I^Iy($dnf>IWIc29(rt5nt3NdP^6?_jL7hS?83{1OVlGIFSGV literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_smooth_front.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_smooth_front.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6c4f5720bc13edb0aab6906b4898e2b2aba2f0 GIT binary patch literal 2223 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|ep#Yx{*W~=10|yRl+qP}WlqpqJ zRZEsEIr~c`04U2?666=m;PC858Uq7|x2KC^hzBpD1IPaFK)F#c8Un*31e8_q`-7Q~ z0+t{n2mD63ni5h#*bc%*nBaE=OOUb)eibf+RfHeB6 X=B9H5?3v3Z3G$|=tDnm{r-UW|?bazj literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_spikes_behind.png b/Resources/Textures/Mobs/Customization/reptilian_parts.rsi/tail_spikes_behind.png new file mode 100644 index 0000000000000000000000000000000000000000..a36170518822be47b15c1bb2eb38e6e7460b733a GIT binary patch literal 2232 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e=>VS)*Zz$H2M!#ls;b(yZQGJ1 zOQuYj;_B*}l9HmOrIk=7ya}j`u_VYZn8D%MjWh-Z4sTBv#}E%*MhA}l-+^+YU^E1V zWC$>sIN*0TlZgv{1kiR`E$M0#>eX3D?xluS3j3^P6;_`Tu+1o&0p jb;GFSXb6mkz;F+NlYcpldh~ZTfc)v{>gTe~DWM4fAzCYt literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/full.png b/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..39d9a69915014156aaf0d6de2126f433af24277f GIT binary patch literal 486 zcmV@P)>NoU180lZ+1G*u(QdXu;L>X~}BB6vXy$A;y z&JIykDQ^LrcO8sU$v_(3F8dx)EWTr@%W})Y2FmZy5-TVx_^4XVY`8=zEJoNaJ&Fzy0j`rtHL1? z1l!=o1W04b0D&?9n71U`__X@#nveX+@m|T;hy=^9t@X~qghXc-)Pr|bIz2aONp>45 z86S1e<-1PuXMEUhpk&N-37|s)`uZYUVV_9=z%UeWyg<`^r`9-ZH=2zbPFYg0GO*92 z=BOV0bUa=p10uqK@k-b?Si9jc6v!j6iYkw0)i4xn0;~);UVt{IMYd|pQH``cvm&rl zYmEE}+H`fpX=9G;951+>z<7}i%5jnl<5*B c*U<^S0a7d0V2~Fu%m4rY07*qoM6N<$f+Z>5NdN!< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/head_f.png b/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/head_f.png new file mode 100644 index 0000000000000000000000000000000000000000..b0d7991413ab9e7eb52b5f7e7b9d463ebe448d67 GIT binary patch literal 2226 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e(Ey(i*PQ&K0|yRNRaI@XJAlMRzopT&Dacu&%mUl zgk%5%1BN3}WJfupAut*OM1}xb&SF64GdZJYcM}B^qg9NJosb34`3x#)CPBywRGrgM zGyoN#6e++01YH4Ii2^KwP)z_j5=B787|oGP&Zq+Dd}Q~HvPVN;kcYt5Dv{<`<$1F} O&h&Kkb6Mw<&;$Tx894a> literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_arm.png b/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e2c96fda69c62f14f2059328841d665d119a50 GIT binary patch literal 2223 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|ep#Yx{S0H`hz=5i&s%_i0O_?$! zB_*XKVg6pAC}T;GUoeBivm0p)3>@B`E{-7{yo?SU`@aL_MgiSJKmlPR5)&cFU<79~ z8Nivy3}XctPZ_%cWrPAa3#J83tHA7FGQqBZ39bOfK+(^@Ku`gi`cdv^2#kgR4MM=! yBmlpu%7hd!5mewpzzV`95V8Wl7e-|VWeBYK%63_4<<3Ho<2+scT-G@yGywpp>L*kH literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_foot.png b/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..ce0d6b70b97897f44f9e7fa2e113199e11e43cda GIT binary patch literal 2238 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e#Q>iWS0D`p2M!#ls;b(yZQGP7 zQh4RyRxq#*-%_6c`(0DuBz5GDbsSGz5lJ2$*`I xI(MlnTK+Z-U5TuMJv0^K|udS?83{1OVTnE=2$U literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_hand.png b/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..bc206249ea5d1c35816dc86d8d6a4733101afc24 GIT binary patch literal 2226 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e(Ey(i*TkHH0|yRNRaH%yGG*Jg zZA+FcNl8fwUH-WrsDQB~$S;_|;n|He1_lmqPZ!4!4_-zGj{V<(a-(201ZWci%1%&o znVc1{+F%M-;A((XfeI+Og8);A0+>c8nBc-n=u)Hn(GVC7fx#RC2`G+JF+<^kIH-k! t38sPs6fMe_3Q*)3m{8TDN{;f#2!YIrtPy&fKQw~0db;|#taD0e0s!d1D2)IB literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_leg.png b/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/l_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..34cafa2269d49d5ad060f0f194b237e76a10c64c GIT binary patch literal 2238 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e#Q>iWS0D`p2M!#ls;b(yZQGP7 zQr5)Z;OLs1Zhsldb-Ne?y?j8RMo#$p1B0uxLH1l@q-f>GvZ2#kgR zwL-wu8Py~cSG3$ovI0{K6OeO1&^E460#@B`E{-7{yo?SU`@aL_MgcuTKmnU&NPlOt30Yf!o0ZXCdilU_b~XSU41*2#<0`Ltr!ns1^dO&c^u7 zVs*xzf8n}VofY70tPEBcLJA0)Ku7^rdq)L_TnL;KVtqWZ{_iZ1!#!R7T-G@yGywp# CTP9=x literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_foot.png b/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..d39a9244c05764d409e152f9f7d88ad174c40173 GIT binary patch literal 2238 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e#Q>iWS0H`lXZ?W#2db*7rc9Z# zZQHgbOP090y4u^@YiVhvq@)O>7*zumF_r}R1v5B2yOGAgz~Sxb;uzw=%jm$d|2t4_ z6pV(zXb2455HLEGm;QU171*5Fd5Eu=CAsYhB zu3o5aU+Rp?XLfNZKo*(hf~J6L)hbj4t5!kPEAQlayfvvI55)C!^>bP0l+XkKs9Q1j literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_hand.png b/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..8f292ffe0d2b00cd9b6a620766c7640e7989ddc2 GIT binary patch literal 2226 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e(Ey(i*Hi|E0|yRNRaI@FK1!M^rTN#x6AwUVnK%towP`IO<(GVC7fx#F8De$Zgb{!jr w8&gbBgji5`AWn)CiV&s=Yzim}MmaPH0b_BN%XgZcSAmT7boFyt=akR{0Nej3m;e9( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_leg.png b/Resources/Textures/Mobs/Species/Reptilian/parts.rsi/r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..e761dd9250c38819546820ab15338bbc1270bf2b GIT binary patch literal 2238 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e#Q>iWS0H`lXZ?W#2db*7rc9Z# zZQHgbOP090y4u^@YiVhvq@)O>7*zumF_r}R1v5B2yOGAgz~Sxb;uzw=%jm$d|2t4_ z6pV(z$P58yR|9m9n>r(lFuP$WFhf;filG3_1ZNBd#;7J>af2~QZa`K%${r1Y(GZ|o z2r#<_qnd@9xfvLUP=J!#85l53a9MzAg$bGlW>+)?7$y)>fNDN?Mf8Ah&C?^2{L6$`bLIM055es{{@8pjO)2zp&Jq&Z(bhX?e&>fCK8q8=DR^HufKfJ-hS*b11d5_ zlj*6*3JeMA48t`e(daUUA#vyg0X=dIF)4U-wz6Y5S^?RA#kNls^dQXfSW_?Vs1AdL_)~!fQ=v)R*E22X+rGm^Al2ArZqpq zCas-yTIY(8nX{E3cmsR8Z+7;vZ*FH^$D>}*Xf^;K81&7A=5{fTkLY{VyZ@r;WPIuE zy`D~|%jI&hSgcm7*=)AiHj5Lr=gG)H`}5-tpgtU!3*QfF?fUzc_A2|u45--T z5#v*_6&O;~8HW3aRHMrnhSZ@G0qBuqNQl9+6Nz1Y_9CO4zHyneqI_tpRl=a9l zs2m-4D3cqG{{}-#w@&vW=uTx7q`P?hJ5#qwrQ>zE`cQ3>+c@iRZ-) z^sKEcy$ofsCWx}SDS+1n#N`0$54iI9m`4z*;^hiA|~@1Xf5Nq0+N r>S{t21&GW7wN@FRWP6~WQFgGT{L5u`cz%7hna>OH13NNrotu|$1DRY( literal 0 HcmV?d00001