From 48a1f5bf77ac0a3f41ea8e8202d37308d57aa841 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sun, 9 Jul 2023 15:32:39 -0700 Subject: [PATCH 01/27] Character editor work in progress i think pls test --- .../editors/character/delete-button.png | Bin 0 -> 193 bytes .../images/editors/character/edit-button.png | Bin 0 -> 246 bytes .../images/editors/character/ghost-button.png | Bin 0 -> 287 bytes source/funkin/backend/utils/XMLUtil.hx | 4 +- .../funkin/editors/character/AddAnimScreen.hx | 113 -- .../editors/character/CharacterAnimScreen.hx | 57 + .../editors/character/CharacterAnimsWindow.hx | 159 +++ .../editors/character/CharacterConfig.hx | 169 --- .../editors/character/CharacterEditor.hx | 1066 ++++++----------- .../editors/character/CharacterInfoScreen.hx | 125 ++ .../editors/character/CharacterProperties.hx | 123 -- .../character/CharacterPropertiesWindow.hx | 5 + .../editors/character/CharacterSelection.hx | 70 +- .../editors/character/DeleteAnimScreen.hx | 73 -- .../funkin/editors/character/HelpControls.hx | 71 -- .../funkin/editors/character/NewCharacter.hx | 172 --- .../editors/character/SelectAnimUpdate.hx | 62 - .../editors/character/UpdateAnimScreen.hx | 125 -- source/funkin/editors/charter/Charter.hx | 1 - source/funkin/editors/ui/UIWindow.hx | 12 + source/funkin/game/Character.hx | 184 ++- 21 files changed, 843 insertions(+), 1748 deletions(-) create mode 100644 assets/images/editors/character/delete-button.png create mode 100644 assets/images/editors/character/edit-button.png create mode 100644 assets/images/editors/character/ghost-button.png delete mode 100644 source/funkin/editors/character/AddAnimScreen.hx create mode 100644 source/funkin/editors/character/CharacterAnimScreen.hx create mode 100644 source/funkin/editors/character/CharacterAnimsWindow.hx delete mode 100644 source/funkin/editors/character/CharacterConfig.hx create mode 100644 source/funkin/editors/character/CharacterInfoScreen.hx delete mode 100644 source/funkin/editors/character/CharacterProperties.hx create mode 100644 source/funkin/editors/character/CharacterPropertiesWindow.hx delete mode 100644 source/funkin/editors/character/DeleteAnimScreen.hx delete mode 100644 source/funkin/editors/character/HelpControls.hx delete mode 100644 source/funkin/editors/character/NewCharacter.hx delete mode 100644 source/funkin/editors/character/SelectAnimUpdate.hx delete mode 100644 source/funkin/editors/character/UpdateAnimScreen.hx create mode 100644 source/funkin/editors/ui/UIWindow.hx diff --git a/assets/images/editors/character/delete-button.png b/assets/images/editors/character/delete-button.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf75235e56dff79b9bae603b2a4fcb4bd9113d2 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-duDaPU;cPEB*=VV?2In|ynjv*Qo z-%j4h*&Y%O$A!&1tKT8JcXr|9YyvAeF*WK$$UAeY(+R|da$%lmwWpB7YedcEeWyT9(@8=|ciPLJZbc_6cEA_ATe8&c_yIU{t r*Nf|&|8g$fQ<5!PKEAl`V}jY6=}Ic4FRHwN&S3C#^>bP0l+XkK!CXd? literal 0 HcmV?d00001 diff --git a/assets/images/editors/character/edit-button.png b/assets/images/editors/character/edit-button.png new file mode 100644 index 0000000000000000000000000000000000000000..849dae298935723da0f4c4898b691ae271c3721f GIT binary patch literal 246 zcmVPx#ut`KgR5*>Dk}(d#Fc1VcQ1}HX4+=%{FKR0O;uN7g3AwS9hKefU1NH-s>MSR+ ziJdJ^JL|iZfkI7MbE!88JLmXN$fPxkszYKpR#Aw+v$gdh+n1|Ca%;yS*)F8*oMvl} z!@FxAh0iklE(i!cgn2z#|gaKc0x_g_;>9{Kb53`>06uTCjbBd07*qoM6N<$f{kcp-2eap literal 0 HcmV?d00001 diff --git a/assets/images/editors/character/ghost-button.png b/assets/images/editors/character/ghost-button.png new file mode 100644 index 0000000000000000000000000000000000000000..65e136bcc57de276d84a9da945b335cf6df9d177 GIT binary patch literal 287 zcmV+)0pR|LP)Px#*-1n}R7i=fm0=EpFbIXgc%oiq*W6X4M`Ay=Hk3Y;>Rw_@jUT)MR;ECzs_1#G zby$~D_z4fetVCo=vdV86*IC`+hw`lkVCGAnnMqaq-Sc}}pmO>kO{k9|q9_?kZu!jz za+~TwywLEWWY!eocXG;hp;gQpi7J5N4iy)XmEj%qm`5; + public var offset:FlxPoint; + public var flxanim:FlxAnimation; + + public var saveButton:UIButton; + public var closeButton:UIButton; + + private var onSave:(animName:Null, offset:FlxPoint, flxanim:FlxAnimation) -> Void = null; + + public function new(animName:Null, ?offset:FlxPoint, ?flxanim:FlxAnimation, ?onSave:(animName:Null, offset:FlxPoint, flxanim:FlxAnimation) -> Void) { + this.animName = animName; + this.offset = offset; + this.flxanim = flxanim; + this.onSave = onSave; + super(); + } + + public override function create() { + var creatingAnim:Bool = animName == null; + + if (creatingAnim) { + animName = ""; + offset = FlxPoint.get(0,0); + flxanim = new FlxAnimation(CharacterEditor.instance.character.animation, animName, []); + } + + winTitle = creatingAnim ? 'Creating Animation' : 'Animation $animName properties'; + winWidth = 690; winHeight = 334; + + super.create(); + + function addLabelOn(ui:UISprite, text:String) + add(new UIText(ui.x, ui.y - 24, 0, text)); + + var title:UIText; + add(title = new UIText(windowSpr.x + 20, windowSpr.y + 30 + 16, 0, creatingAnim ? "Create New Animation" : "Edit Animation Properties", 28)); + + saveButton = new UIButton(windowSpr.x + windowSpr.bWidth - 20 - 125, windowSpr.y + windowSpr.bHeight - 16 - 32, "Save & Close", function() { + // saveStrumline(); + close(); + }, 125); + add(saveButton); + + closeButton = new UIButton(saveButton.x - 20, saveButton.y, creatingAnim ? "Cancel" : "Close", function() { + if (creatingAnim) onSave(null, null, null); + close(); + }, 125); + add(closeButton); + closeButton.x -= closeButton.bWidth; + } +} \ No newline at end of file diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx new file mode 100644 index 00000000..824c0e2a --- /dev/null +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -0,0 +1,159 @@ +package funkin.editors.character; + +import flixel.group.FlxGroup; +import flixel.util.FlxColor; +import flixel.math.FlxPoint; +import funkin.game.Character; + +class CharacterAnimsWindow extends UIWindow { + public var character:Character; + + public var buttons:FlxGroup = new FlxGroup(); + public var animButtons:Map = []; + + public var addButton:UIButton; + public var addIcon:FlxSprite; + + public function new(character:Character) { + super(800-23,140+23+46,450+23,511-23, "Character Animations"); + this.character = character; + + createButtons(); + buttons.cameras = [CharacterEditor.instance.animsCamera]; + members.push(buttons); + } + + public function createButtons() { + for (i=>anim in character.animation.getNameList()) + createNewButton(anim, character.getAnimOffset(anim), false, -1, false); + + addButton = new UIButton(25, 16+((32+16)*(character.animation.getNameList().length)), "", null, 429); + addButton.cameras = [CharacterEditor.instance.animsCamera]; + addButton.color = FlxColor.GREEN; + + addIcon = new FlxSprite(addButton.x + (440/2) - 8, addButton.y + (32/2) - 8).loadGraphic(Paths.image('editors/charter/add-button')); + addIcon.cameras = [CharacterEditor.instance.animsCamera]; + addIcon.antialiasing = false; + addButton.members.push(addIcon); + + members.push(addButton); + updateButtonsPos(); + } + + public function createNewButton(anim:String, offset:FlxPoint, ghost:Bool = false, id:Int = -1, updatePos:Bool = true) { + var button = new CharacterAnimButtons(0,0, anim, offset); + if (id == -1) buttons.add(button); + else buttons.members.insert(id, button); + animButtons.set(anim,button); + + if (updatePos) + updateButtonsPos(); + } + + public function removeButton(anim:String) { + var button:CharacterAnimButtons = animButtons.get(anim); + buttons.members.remove(button); + button.destroy(); + + updateButtonsPos(); + } + + public function updateButtonsPos() { + for (i => button in buttons.members) + cast(button, CharacterAnimButtons).updatePos(23,16+((32+16)*i)); + + addButton.y = 16+((32+16)*(character.animation.getNameList().length)); + addIcon.x = addButton.x + (440/2) - 8; addIcon.y = addButton.y + (32/2) - 8; + } + + public inline function changeCurAnim(anim:String) { + for (_anim => button in animButtons) + button.alpha = _anim == anim ? 1 : 0.25; + } + + var scrollY:Float = 0; + + public override function update(elapsed:Float) { + super.update(elapsed); + + __rect.x = x; __rect.y = y; + __rect.width = bWidth; __rect.height = bHeight; + if(UIState.state.isOverlapping(this, __rect)) { + var nextscrollY = scrollY - FlxG.mouse.wheel * 12; + if (nextscrollY >= 0 && nextscrollY + CharacterEditor.instance.animsCamera.height <= (addButton.y +32 +26)) + scrollY = nextscrollY; + hovered = true; + } else + hovered = false; + + CharacterEditor.instance.animsCamera.scroll.y = FlxMath.lerp(CharacterEditor.instance.animsCamera.scroll.y, scrollY, 1/3); + + //addButtonIndicator.y = CharacterEditor.instance.animsCamera.height - addButtonIndicator.width + CharacterEditor.instance.animsCamera.scroll.y; + } +} + +class CharacterAnimButtons extends UIButton { + public var anim:String = ""; + + public var editButton:UIButton; + public var editIcon:FlxSprite; + + public var ghostButton:UIButton; + public var ghostIcon:FlxSprite; + + public var deleteButton:UIButton; + public var deleteIcon:FlxSprite; + + public function new(x:Float,y:Float,anim:String, offset:FlxPoint) { + this.anim = anim; + super(x,y, '$anim (${offset.x}, ${offset.y})', function () { + CharacterEditor.instance.playAnimation(this.anim); + }, 282); + + ghostButton = new UIButton(x+282+17, y, "", null, 32); + members.push(ghostButton); + + ghostIcon = new FlxSprite(ghostButton.x + 8, ghostButton.y + 8).loadGraphic(Paths.image('editors/character/ghost-button'), true, 16, 16); + ghostIcon.animation.add("alive", [0]); + ghostIcon.animation.add("dead", [1]); + ghostIcon.animation.play("dead"); ghostIcon.alpha = 0.5; + ghostIcon.antialiasing = false; + ghostIcon.updateHitbox(); + members.push(ghostIcon); + + editButton = new UIButton(ghostButton.x+32+17, y, "", null, 32); + members.push(editButton); + + editIcon = new FlxSprite(editButton.x + 8, editButton.y + 8).loadGraphic(Paths.image('editors/character/edit-button')); + editIcon.antialiasing = false; + members.push(editIcon); + + deleteButton = new UIButton(editButton.x+32+17, y, "", function () { + CharacterEditor.instance.deleteAnim(this.anim); + }, 32); + deleteButton.color = FlxColor.RED; + members.push(deleteButton); + + deleteIcon = new FlxSprite(deleteButton.x + (15/2), deleteButton.y + 8).loadGraphic(Paths.image('editors/character/delete-button')); + deleteIcon.antialiasing = false; + members.push(deleteIcon); + } + + public function updateInfo(anim:String, offset:FlxPoint, ghost:Bool) { + this.anim = anim; + + field.text = '$anim (${offset.x}, ${offset.y})'; + ghostIcon.animation.play(ghost ? "alive" : "dead"); + ghostIcon.alpha = ghost ? 1 : 0.5; + } + + public inline function updatePos(x:Float, y:Float) { + // buttons + this.x = x; this.y = ghostButton.y = editButton.y = deleteButton.y = y; + deleteButton.x = (editButton.x = (ghostButton.x = (x+282+17))+32+17)+32+17; + // icons + ghostIcon.x = ghostButton.x + 8; ghostIcon.y = ghostButton.y + 8; + editIcon.x = editButton.x + 8; editIcon.y = editButton.y + 8; + deleteIcon.x = deleteButton.x + (15/2); deleteIcon.y = deleteButton.y + 8; + } +} \ No newline at end of file diff --git a/source/funkin/editors/character/CharacterConfig.hx b/source/funkin/editors/character/CharacterConfig.hx deleted file mode 100644 index 0c93959e..00000000 --- a/source/funkin/editors/character/CharacterConfig.hx +++ /dev/null @@ -1,169 +0,0 @@ -package funkin.editors.character; - -import haxe.xml.Printer; -import sys.io.File; -import sys.FileSystem; -import flixel.group.FlxGroup; -import haxe.xml.Access; -import haxe.Exception; -import flixel.util.FlxColor; -import funkin.game.Character.CharacterData; - -class CharacterConfig extends FlxTypedGroup -{ - public static var DEFAULT_CHARACTER = "bf"; - - public static function loadCharacterData(character:String):CharacterData - { - var xml:Access; - - var charData:CharacterData = { - offsetY: 0, - offsetX: 0, - camOffsetY: 0, - camOffsetX: 0, - quickDancer: false, - icon: character, - iconColor: FlxColor.fromRGB(94, 94, 94), - scale: 1, - isPlayer: false, - isGF: false, - holdTime: 4, - flipX: false, - antialiasing: true, - sprite: "bf", - name: character, - animations: [] - } - - var xmlPath = Paths.xml('characters/$character'); - - var plainXML = Assets.getText(xmlPath); - try - { - var charXML = Xml.parse(plainXML).firstElement(); - if (charXML == null) - throw new Exception("Missing \"character\" node in XML."); - xml = new Access(charXML); - } - - charData = xmlToData(charData, xml); - - return charData; - } - - public static function xmlToData(charData:CharacterData, xml:Access):CharacterData - { - if (xml.has.isPlayer) - charData.isPlayer = (xml.att.isPlayer == "true"); - if (xml.has.isGF) - charData.isGF = (xml.att.isGF == "true"); - if (xml.has.x) - charData.offsetX = Std.parseFloat(xml.att.x); - if (xml.has.y) - charData.offsetY = Std.parseFloat(xml.att.y); - if (xml.has.gameOverChar) - charData.gameOverChar = xml.att.gameOverChar; - if (xml.has.camx) - charData.camOffsetX = Std.parseFloat(xml.att.camx); - if (xml.has.camy) - charData.camOffsetY = Std.parseFloat(xml.att.camy); - if (xml.has.holdTime) - charData.holdTime = CoolUtil.getDefault(Std.parseFloat(xml.att.holdTime), 4); - if (xml.has.flipX) - charData.flipX = (xml.att.flipX == "true"); - if (xml.has.icon) - charData.icon = xml.att.icon; - if (xml.has.iconColor) - charData.iconColor = stringToRGB(xml.att.iconColor); - if (xml.has.scale) - { - var scale = Std.parseFloat(xml.att.scale).getDefault(1); - charData.scale = scale; - } - if (xml.has.antialiasing) - charData.antialiasing = (xml.att.antialiasing == "true"); - if (xml.has.sprite) - charData.sprite = xml.att.sprite; - else - charData.sprite = charData.name; - - for (anim in xml.nodes.anim) - { - var animType:XMLAnimType = NONE; - var animloop = false; - if (anim.has.loop) - animloop = (anim.att.loop == "true"); - charData.animations.push(XMLUtil.extractAnimFromXML(anim, animType, animloop)); - } - return charData; - } - - public static function dataToXml(charData:CharacterData):Access - { - var root = Xml.createElement("character"); - root.set("x", Std.string(Math.floor(charData.offsetX))); - root.set("y", Std.string(Math.floor(charData.offsetY))); - root.set("gameOverChar", Std.string(charData.gameOverChar)); - root.set("camx", Std.string(Math.floor(charData.camOffsetX))); - root.set("camy", Std.string(Math.floor(charData.camOffsetY))); - root.set("holdTime", Std.string(charData.holdTime)); - root.set("flipX", Std.string(charData.flipX)); - root.set("icon", charData.icon); - root.set("iconColor", Std.string(charData.iconColor)); - root.set("scale", Std.string(charData.scale)); - root.set("antialiasing", Std.string(charData.antialiasing)); - root.set("sprite", Std.string(charData.sprite)); - root.set("isPlayer", Std.string(charData.isPlayer)); - root.set("isGF", Std.string(charData.isGF)); - - for (anim in charData.animations) - { - var child:Xml = Xml.createElement('anim'); - child.set("name", Std.string(anim.name)); - child.set("anim", Std.string(anim.anim)); - child.set("loop", Std.string(anim.loop)); - child.set("fps", Std.string(anim.fps)); - child.set("x", Std.string(anim.x)); - child.set("y", Std.string(anim.y)); - child.set("indices", Std.string(anim.indices)); - root.addChild(child); - } - var xml = new Access(Xml.parse('${root.toString()}')); - - return xml; - } - - public static function stringToRGB(rgbColor:String):FlxColor - { - var colorSplit = rgbColor.split(","); - if (colorSplit[0] != null && colorSplit[1] != null && colorSplit[2] != null) - return FlxColor.fromRGB(Std.parseInt(colorSplit[0]), Std.parseInt(colorSplit[1]), Std.parseInt(colorSplit[2])); - else - return FlxColor.fromRGB(90,90,90); - } - - public static function rgbToString(color:FlxColor):String - return '${color.red}, ${color.green}, ${color.blue}'; - /** - * @return Saves the character to the specific song folder path. - */ - public static function save(character:String, xml:String):String - { - var charPath = ''; - var data = '$xml'; - #if sys - var charPath = '${character}'; - - File.saveContent(charPath, data); - - // idk how null reacts to it so better be sure - #end - return xml; - } - - public static function generateCharXML(xml:Xml):String - { - return '\n${Printer.print(xml, true)}'; - } -} diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 2fbaab43..530e5c15 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -1,318 +1,57 @@ package funkin.editors.character; -import funkin.backend.system.framerate.Framerate; -import funkin.backend.FlxAnimate; -import flixel.group.FlxSpriteGroup; -import flixel.graphics.FlxGraphic; import funkin.backend.utils.XMLUtil.AnimData; import flixel.math.FlxPoint; +import flixel.animation.FlxAnimation; import funkin.editors.ui.UIContextMenu.UIContextMenuOption; +import flixel.input.keyboard.FlxKey; import funkin.game.Character; -import flixel.system.debug.interaction.tools.Pointer.GraphicCursorCross; -import flixel.util.FlxColor; -class CharacterEditor extends UIState -{ - public var blockedInputs = []; - public var blockedStuff = []; +class CharacterEditor extends UIState { + var __character:String; + public var character:Character; - public var curChar:String; + public static var instance(get, null):CharacterEditor; - public var char:Character; - public var ghostChar:Character; - public var charLayer:FlxTypedSpriteGroup = new FlxTypedSpriteGroup(0, 0); - public var animAtlas:FlxAnimate; - - public var cameraPointer:FlxSprite; - - public var camFollow:FlxObject; - public var editorCamera:FlxCamera; - public var uiCamera:FlxCamera; + private static inline function get_instance() + return FlxG.state is CharacterEditor ? cast FlxG.state : null; + /** + * CHARACTER UI STUFF + */ public var topMenu:Array; public var topMenuSpr:UITopMenu; public var uiGroup:FlxTypedGroup = new FlxTypedGroup(); - public var stage:FlxTypedSpriteGroup = new FlxTypedSpriteGroup(0, 0); - public var curAnim:Int = 0; + // WINDOWS + public var characterPropertiresWindow:CharacterPropertiesWindow; + public var characterAnimsWindow:CharacterAnimsWindow; + + // camera for the character itself so that it can be unzoomed/zoomed in again + public var charCamera:FlxCamera; + // camera for the animations list + public var animsCamera:FlxCamera; + // camera for the ui + public var uiCamera:FlxCamera; - public var playingAnim:UIText; - public var currentChar:UIText; - public var movingCamText:UIText; + public var undoList:Array = []; + public var redoList:Array = []; - //Healthbar - public var healthBarBG:FlxSprite; - public var icon:FlxSprite; - - public var camZoom(default, set):Float = 1; - - public function new(charName:String) - { + public function new(character:String) { super(); - this.curChar = charName; + __character = character; } - override function create() - { + public override function create() { super.create(); - - // Camera setup - camFollow = new FlxObject(0, 0, 2, 2); - camFollow.screenCenter(); - add(camFollow); - editorCamera = FlxG.camera; - uiCamera = new FlxCamera(); - uiCamera.bgColor = 0; - FlxG.cameras.add(uiCamera, false); - FlxG.camera.follow(camFollow); - - // Add Stage and Centered Cross - add(stage); - add(ofs_cross); - loadCross(); - - // Indicators - var pointer:FlxGraphic = FlxGraphic.fromClass(GraphicCursorCross); - cameraPointer = new FlxSprite().loadGraphic(pointer); - cameraPointer.setGraphicSize(40, 40); - cameraPointer.updateHitbox(); - cameraPointer.color = FlxColor.WHITE; - - // Character - add(charLayer); - add(cameraPointer); - loadChar(!CharacterConfig.loadCharacterData(curChar).isPlayer); - - // Reload Stage - reloadStage(); - - // UI - loadUI(); - - playingAnim = new UIText(846.62, 64.23, 0, 'Animation: ${char.characterData.animations[curAnim].name}', 24); - playingAnim.alignment = LEFT; - playingAnim.cameras = [uiCamera]; - - currentChar = new UIText(846.62, 30.23, 0, 'Character: ${char.curCharacter}', 24); - currentChar.alignment = LEFT; - currentChar.cameras = [uiCamera]; - - movingCamText = new UIText((FlxG.width / 4) - 310, (FlxG.height / 2), -1, - "Press the left mouse button anywhere on this stage to set the character's camera position.", 24); - movingCamText.cameras = [uiCamera]; - movingCamText.visible = false; - - //Health Bar - healthBarBG = new FlxSprite(747, 102).loadGraphic(Paths.image('game/healthBar')); - healthBarBG.setGraphicSize(399,13); - healthBarBG.scrollFactor.set(); - healthBarBG.cameras = [uiCamera]; - - - var charData:CharacterData; - charData = char.characterData; - - var path = Paths.image('icons/${charData.icon}'); - if (!Assets.exists(path)) path = Paths.image('icons/face'); - - //Show both Losing Normal Icons - icon = new FlxSprite(754, 86).loadGraphic(path); - icon.scale.set(0.5,0.5); - icon.scrollFactor.set(); - icon.cameras = [uiCamera]; - - - - - - healthBarBG.color = charData.iconColor; - - // Top Menu - add(currentChar); - add(playingAnim); - add(icon); - add(healthBarBG); - add(movingCamText); - add(topMenuSpr); - add(uiGroup); - } - - override function update(elapsed:Float) - { - // Control - controlCamera(elapsed); - controlCharacter(); - changeAnim(); - moveCharPos(); - detectCamClick(); - mouseControl(); - - ghostChar.setPosition(char.x, char.y); - super.update(elapsed); - } - - public function reloadIcon() - { - var charData:CharacterData; - charData = char.characterData; - - var path = Paths.image('icons/${charData.icon}'); - if (!Assets.exists(path)) path = Paths.image('icons/face'); - icon.loadGraphic(path); - } - - public function searchAnim(name:String, ?array:Array):AnimData - { - if (array == null) - array = char.characterData.animations; - for (i in 0...array.length - 1) - if (array[i].name == name) - return array[i]; - return array[0]; - } - - public function getAnimIndex(name:String, ?array:Array):Int - { - if (array == null) - array = char.characterData.animations; - for (i in 0...array.length - 1) - if (array[i].name == name) - return i; - return 0; - } - - function resortAnims(animations:Array) - { - // TODO: add support for danceLeft danceRight - if (getAnimIndex("idle") != 0) - { - var oldanims = animations.copy(); - animations.clear(); - animations.push(searchAnim("idle", oldanims)); - for (anim in oldanims) - if (anim != searchAnim("idle", oldanims)) - animations.push(anim); - } - } - - public function reloadChar(isOpponent:Bool, charData:CharacterData) - { - var i:Int = charLayer.members.length - 1; - while (i >= 0) - { - var memb:Character = charLayer.members[i]; - if (memb != null) - { - memb.kill(); - charLayer.remove(memb); - memb.destroy(); - } - --i; - } - charLayer.clear(); - ghostChar = new Character(0, 0, curChar, !isOpponent); - ghostChar.characterData = charData; - ghostChar.debugMode = true; - ghostChar.alpha = 0.6; - - char = new Character(0, 0, curChar, !isOpponent); - char.characterData = charData; - - var charData = char.characterData; - resortAnims(charData.animations); - var availableAnim = searchAnim("idle"); - curAnim = getAnimIndex("idle"); - ghostChar.characterData.animations = char.characterData.animations; - char.playAnim(availableAnim.name, true); - ghostChar.playAnim(availableAnim.name, true); - - char.debugMode = true; - char.setPosition(char.characterData.offsetX + OFFSET_X + 100, char.characterData.offsetY); - - charLayer.add(ghostChar); - charLayer.add(char); - - animAtlas = (char.animateAtlas != null ? char.animateAtlas : null); - - currentChar.text = 'Character: ${char.curCharacter}'; - healthBarBG.color = charData.iconColor; - reloadIcon(); - - trace(charData.iconColor); - - updateCharPos(charData.offsetX, charData.offsetY); - updatePointerPos(); - mixDataToChar(char, charData); - mixDataToChar(ghostChar, charData); - } - - function mixDataToChar(target:Character, data:CharacterData) - { - var sprite = (target.xml.has.sprite ? target.xml.att.sprite : target.curCharacter); - if (data.sprite != sprite) - target.loadSprite(Paths.image('characters/${data.sprite}')); - target.icon = data.icon; - target.flipX = !!data.flipX; - target.antialiasing = data.antialiasing; - target.isPlayer = data.isPlayer; - target.playerOffsets = data.isPlayer; - target.isGF = data.isGF; - target.scale.set(data.scale, data.scale); - target.holdTime = data.holdTime; - target.fixChar(true); - target.updateHitbox(); - } - - function loadChar(isOpponent:Bool) - { - var i:Int = charLayer.members.length - 1; - while (i >= 0) - { - var memb:Character = charLayer.members[i]; - if (memb != null) - { - memb.kill(); - charLayer.remove(memb); - memb.destroy(); - } - --i; - } - charLayer.clear(); - ghostChar = new Character(0, 0, curChar, !isOpponent); - ghostChar.debugMode = true; - ghostChar.alpha = 0.6; - - char = new Character(0, 0, curChar, !isOpponent); - char.debugMode = true; - char.setPosition(char.characterData.offsetX + OFFSET_X + 100, char.characterData.offsetY); - - charLayer.add(ghostChar); - charLayer.add(char); - - var charData = char.characterData; - animAtlas = (char.animateAtlas != null ? char.animateAtlas : null); - updateCharPos(charData.offsetX, charData.offsetY); - resortAnims(char.characterData.animations); - curAnim = getAnimIndex("idle"); - char.playAnim(charData.animations[getAnimIndex("idle")].name, true); - ghostChar.characterData.animations = char.characterData.animations; - - char.updateHitbox(); - ghostChar.updateHitbox(); - updatePointerPos(); - } - - function loadUI() - { topMenu = [ { label: "File", childs: [ { - label: "New", - onSelect: new_character + label: "New" }, null, { @@ -328,7 +67,6 @@ class CharacterEditor extends UIState null, { label: "Exit", - keybind: [ESCAPE], onSelect: _file_exit } ] @@ -337,438 +75,416 @@ class CharacterEditor extends UIState label: "Edit", childs: [ { - label: "Camera Position", - onSelect: moveCameraPos + label: "Undo", + keybind: [CONTROL, Z], + onSelect: _edit_undo }, { - label: "Properties", - onSelect: edit_properties_window, - } + label: "Redo", + keybinds: [[CONTROL, Y], [CONTROL, SHIFT, Z]], + onSelect: _edit_redo + }, + null ] }, { - label: "Animation", + label: "Character", childs: [ { label: "New Animation", keybind: [CONTROL, N], - onSelect: add_anim_window, + onSelect: _char_add_anim, + }, + { + label: "Edit Animation", + onSelect: _char_update_anim, + }, + { + label: "Delete Animation", + keybind: [DELETE], + onSelect: _char_remove_anim, }, null, { - label: "Update Animation", - keybind: [CONTROL, U], - onSelect: update_anim_window, + label: "Edit Info", + onSelect: _char_edit_info, + } + ] + }, + { + label: "Playback", + childs: [ + { + label: "Play Animation", + keybind: [SPACE], + onSelect: _playback_play_anim, + }, + { + label: "Stop Animation", + onSelect: _playback_stop_anim }, null, { - label: "Remove Animation", - keybind: [CONTROL, D], - onSelect: remove_anim_window, + label: "Go to frame", }, ] }, { - label: "Help", + label: "Offsets", childs: [ { - label: "Controls", - onSelect: help_controls_window + label: "Move Left", + keybind: [LEFT], + onSelect: _offsets_left, + }, + { + label: "Move Up", + keybind: [UP], + onSelect: _offsets_up, + }, + { + label: "Move Down", + keybind: [DOWN], + onSelect: _offsets_down, + }, + { + label: "Move Right", + keybind: [RIGHT], + onSelect: _offsets_right, + }, + null, + { + label: "Move Extra Left", + keybind: [SHIFT, LEFT], + onSelect: _offsets_extra_left, + }, + { + label: "Move Extra Up", + keybind: [SHIFT, UP], + onSelect: _offsets_extra_up, + }, + { + label: "Move Extra Down", + keybind: [SHIFT, DOWN], + onSelect: _offsets_extra_down, + }, + { + label: "Move Extra Right", + keybind: [SHIFT, RIGHT], + onSelect: _offsets_extra_right, + }, + null, + { + label: "Clear Offsets", + keybind: [CONTROL, R], + onSelect: _offsets_clear, } ] - } + }, + { + label: "View", + childs: [ + { + label: "Zoom in", + keybind: [CONTROL, NUMPADPLUS], + onSelect: _view_zoomin + }, + { + label: "Zoom out", + keybind: [CONTROL, NUMPADMINUS], + onSelect: _view_zoomout + }, + { + label: "Reset zoom", + keybind: [CONTROL, NUMPADZERO], + onSelect: _view_zoomreset + }, + + ] + }, ]; + charCamera = FlxG.camera; + + uiCamera = new FlxCamera(); + uiCamera.bgColor = 0; + animsCamera = new FlxCamera(800-23,140+23+30+46,450+23,511-24-30); + animsCamera.bgColor = 0; + + FlxG.cameras.add(uiCamera); + FlxG.cameras.add(animsCamera); + + character = new Character(0,0,__character); + character.debugMode = true; + character.cameras = [charCamera]; + add(character); + topMenuSpr = new UITopMenu(topMenu); topMenuSpr.cameras = uiGroup.cameras = [uiCamera]; - Framerate.fpsCounter.alpha = 0.4; - Framerate.memoryCounter.alpha = 0.4; - Framerate.codenameBuildField.alpha = 0.4; + characterPropertiresWindow = new CharacterPropertiesWindow(800-23,23 + 23, 450 + 23, 140, "Character Properties"); + characterAnimsWindow = new CharacterAnimsWindow(character); + uiGroup.add(characterPropertiresWindow); + uiGroup.add(characterAnimsWindow); + + playAnimation(character.animation.getNameList()[0]); + + add(topMenuSpr); + add(uiGroup); } - var ofs_cross:FlxSpriteGroup = new FlxSpriteGroup(0, 0); + private var movingCam:Bool = false; + private var camDrag:FlxPoint = FlxPoint.get(0,0); - public function loadCross() - { - var i:Int = ofs_cross.members.length - 1; - while (i >= 0) - { - var memb:FlxSprite = ofs_cross.members[i]; - if (memb != null) - { - memb.kill(); - ofs_cross.remove(memb); - memb.destroy(); - } - --i; - } - ofs_cross.clear(); + private var nextScroll:FlxPoint = FlxPoint.get(0,0); + public override function update(elapsed:Float) { + super.update(elapsed); - var x = -800; - - var horizontal_cross = new FlxSprite(x, -70).makeSolid(2000, 5); - var vertical_cross = new FlxSprite(x, 0).makeSolid(5, 2000); - horizontal_cross.y += (vertical_cross.height / 2); - vertical_cross.x += (horizontal_cross.width / 2); - ofs_cross.add(horizontal_cross); - ofs_cross.add(vertical_cross); - horizontal_cross.scrollFactor.set(1, 1); - vertical_cross.scrollFactor.set(1, 1); - // ofs_cross.screenCenter(); - ofs_cross.y = -200; - ofs_cross.scrollFactor.set(1, 1); - ofs_cross.alpha = 0.6; - } - - var OFFSET_X:Float = 150; - - public function reloadStage() - { - var i:Int = stage.members.length - 1; - while (i >= 0) - { - var memb:FunkinSprite = stage.members[i]; - if (memb != null) - { - memb.kill(); - stage.remove(memb); - memb.destroy(); - } - --i; - } - stage.clear(); - var playerXDifference = 0; - if (char.isPlayer) - playerXDifference = 670; - - var bg = new FunkinSprite(-600 + OFFSET_X - playerXDifference, -200, Paths.image("stages/default/stageback")); - stage.add(bg); - bg.scrollFactor.set(0.9, 0.9); - - var stageFront = new FunkinSprite(-600 + OFFSET_X - playerXDifference, 600, Paths.image("stages/default/stagefront")); - stageFront.setGraphicSize(Std.int(stageFront.width * 1.1)); - stageFront.updateHitbox(); - stage.add(stageFront); - stageFront.scrollFactor.set(0.9, 0.9); - - stage.setPosition(0, 0); - } - - function hasAtlas():Bool - return (animAtlas != null); - - var movingCam:Bool = false; - var movingCamDefaultPos:FlxPoint = null; - var movingCamDefaultPosCam:FlxPoint = null; - - public function moveCameraPos(_) - { - movingCam = true; - movingCamText.visible = true; - updatePointerPos(); - } - - public function detectCamClick() - { - var charData = char.characterData; - - if (movingCam) - { - if (FlxG.mouse.justPressed) - { - var midx = char.getMidpoint().x; - var midy = char.getMidpoint().y; - - var pos = FlxG.mouse.getWorldPosition(editorCamera); - var placedPos:FlxPoint = new FlxPoint((!char.isPlayer ? pos.x + -(midx) : pos.x + -(midx)), -(pos.y - midy)); - - movingCam = false; - movingCamText.visible = false; - charData.camOffsetX = placedPos.x; - charData.camOffsetY = placedPos.y; - updatePointerPos(); - } - } - } - - function updatePointerPos() - { - var x:Float = char.getMidpoint().x; - var y:Float = char.getMidpoint().y; - /*if (!char.isPlayer) - { */ - x += char.characterData.camOffsetX; - /*} - else - { - x -= char.characterData.camOffsetX; - }*/ - y -= char.characterData.camOffsetY; - - x -= cameraPointer.width / 2; - y -= cameraPointer.height / 2; - cameraPointer.setPosition(x, y); - } - - var movingOffset:Bool = false; - var dragX:Float = -1; - var dragY:Float = -1; - - public function moveCharPos() - { - var charSprite = (hasAtlas() ? char.animateAtlas : char); - var charData = char.characterData; - if (FlxG.mouse.justPressed && FlxG.mouse.overlaps(charSprite)) - { - var pos = FlxG.mouse.getWorldPosition(FlxG.camera); - dragX = charData.offsetX - pos.x; - dragY = charData.offsetY - pos.y; - movingOffset = true; - } - else if (!FlxG.mouse.overlaps(charSprite)) - movingOffset = false; - - if (movingOffset && FlxG.mouse.pressed) - { - var pos = FlxG.mouse.getWorldPosition(editorCamera); - updateCharPos((pos.x + dragX), (pos.y + dragY)); - } - } - - public function updateCharPos(x:Float, y:Float) - { - char.characterData.offsetX = x; - char.characterData.offsetY = y; - char.x = x; - char.y = y; - updatePointerPos(); - } - - public function reloadGhost() - { - ghostChar.loadSprite(char.characterData.sprite); - for (i in 0...char.characterData.animations.length - 1) - { - XMLUtil.addAnimToSprite(ghostChar, char.characterData.animations[i]); + if (true) { + if(FlxG.keys.justPressed.ANY) + UIUtil.processShortcuts(topMenu); } - char.alpha = 0.85; - ghostChar.visible = true; - /*if (ghostDropDown.selectedLabel == '') - { - ghostChar.visible = false; - char.alpha = 1; - }*/ - ghostChar.color = 0xFF666688; - ghostChar.antialiasing = char.antialiasing; - ghostChar.playAnim(char.characterData.animations[curAnim].name, true); - } - - public function mouseControl() - { - if (FlxG.mouse.justReleasedRight) { - closeCurrentContextMenu(); - openContextMenu(topMenu[1].childs); - } - - if (FlxG.mouse.wheel != 0) { - camZoom += (FlxG.mouse.wheel / 10); - } + if (FlxG.mouse.wheel != 0 && !(characterPropertiresWindow.hovered || characterAnimsWindow.hovered)) { + zoom += 0.25 * FlxG.mouse.wheel; + __camZoom = Math.pow(2, zoom); } - function controlCharacter() - { - var controlArray:Array = [ - FlxG.keys.justPressed.LEFT, - FlxG.keys.justPressed.RIGHT, - FlxG.keys.justPressed.UP, - FlxG.keys.justPressed.DOWN - ]; - var holdShift = FlxG.keys.pressed.SHIFT; - var holdAlt = FlxG.keys.pressed.ALT; - - for (i in 0...controlArray.length) - { - if (controlArray[i]) - { - var multiplier:Float = 1; - if (holdShift) - multiplier = 10; - if (holdAlt) - multiplier = 0.1; - - var negaMult:Int = 1; - if (i % 2 == 1) - negaMult = -1; - - // For Player Offsets - if (i == 1 && char.playerOffsets) - negaMult = -1; - if (i == 0 && char.playerOffsets) - negaMult = 1; - - if (i > 1) - { - char.characterData.animations[curAnim].y += negaMult * multiplier; - ghostChar.characterData.animations[curAnim].y += negaMult * multiplier; - } - else - { - char.characterData.animations[curAnim].x += negaMult * multiplier; - ghostChar.characterData.animations[curAnim].x += negaMult * multiplier; - } - - char.animOffsets.set(char.characterData.animations[curAnim].name, - new FlxPoint(char.characterData.animations[curAnim].x, char.characterData.animations[curAnim].y)); - ghostChar.animOffsets.set(char.characterData.animations[curAnim].name, - new FlxPoint(char.characterData.animations[curAnim].x, char.characterData.animations[curAnim].y)); - - char.addOffset(char.characterData.animations[curAnim].anim, char.characterData.animations[curAnim].x, - char.characterData.animations[curAnim].y); - ghostChar.addOffset(char.characterData.animations[curAnim].anim, char.characterData.animations[curAnim].x, - char.characterData.animations[curAnim].y); - /*ghostChar.animOffsets.set(char.animation.curAnim.name, - new FlxPoint(char.characterData.animations[curAnim].x, char.characterData.animations[curAnim].y)); */ - - char.playAnim(char.characterData.animations[curAnim].name, false); - if (char.getAnimName() != null && char.getAnimName() == ghostChar.getAnimName()) - { - ghostChar.playAnim(char.getAnimName(), false); - } - } - } - } - - function controlCamera(elapsed:Float) - { - var ofs:Float = 500 * elapsed; - var shift:Bool = (FlxG.keys.pressed.SHIFT); - var cam_up:Bool = (FlxG.keys.pressed.W); - var cam_down:Bool = (FlxG.keys.pressed.S); - var cam_left:Bool = (FlxG.keys.pressed.A); - var cam_right:Bool = (FlxG.keys.pressed.D); - var cam_zoomers:Array = [FlxG.keys.pressed.I, FlxG.keys.pressed.O]; - - if (shift) - ofs *= 4; - - if (cam_up) - camFollow.y -= ofs; - if (cam_down) - camFollow.y += ofs; - if (cam_left) - camFollow.x -= ofs; - if (cam_right) - camFollow.x += ofs; - - var zoom_ofs = FlxG.camera.zoom * elapsed; - if (cam_zoomers[0] && camZoom < 3) - { - camZoom += zoom_ofs; - if (camZoom > 3) - camZoom = 3; - } - if (cam_zoomers[1] && camZoom > 0.1) - { - camZoom -= zoom_ofs; - if (camZoom < 0.1) - camZoom = 0.1; + if (FlxG.mouse.justPressedMiddle) { + FlxG.mouse.getScreenPosition(charCamera, camDrag); + camDrag *= 1.2; + camDrag += charCamera.scroll; } - - - - } - - function changeAnim() - { - var space = (FlxG.keys.justPressed.SPACE); - var forward = (FlxG.keys.justPressed.L); - var backwards = (FlxG.keys.justPressed.K); - - if (forward || backwards) - { - var changeLimit = char.characterData.animations.length; - curAnim = FlxMath.wrap(curAnim + (forward ? 1 : -1), 0, changeLimit-1); - - trace(curAnim); - trace(char.characterData.animations[curAnim]); - - char.playAnim(char.characterData.animations[curAnim].name, false); - playingAnim.text = 'Animation: ${char.characterData.animations[curAnim].name}'; + if (FlxG.mouse.pressedMiddle) { + var pos = FlxG.mouse.getScreenPosition(charCamera); + nextScroll.set((camDrag.x - (pos.x*1.2)), (camDrag.y - (pos.y*1.2))); } - if (space) - char.playAnim(char.characterData.animations[curAnim].name, true); + charCamera.scroll.set( + lerp(charCamera.scroll.x, nextScroll.x, 0.5), + lerp(charCamera.scroll.y, nextScroll.y, 0.5) + ); - char.updateHitbox(); - ghostChar.updateHitbox(); + charCamera.zoom = lerp(charCamera.zoom, __camZoom, 0.125); } - // Animation Windows - function add_anim_window(_) - openSubState(new AddAnimScreen(char, ghostChar, this)); - - function update_anim_window(_) - openSubState(new SelectAnimUpdate(char, ghostChar, this)); - - function remove_anim_window(_) - openSubState(new DeleteAnimScreen(char, ghostChar, this)); - - function help_controls_window(_) - openSubState(new HelpControls()); - - function _file_exit(_) - { - FlxG.switchState(new CharacterSelection()); - } - - override function destroy() { - Framerate.fpsCounter.alpha = 1; - Framerate.memoryCounter.alpha = 1; - Framerate.codenameBuildField.alpha = 1; - super.destroy(); - } - - function new_character(_) - FlxG.state.openSubState(new NewCharacter(char, ghostChar, this)); - - - function edit_properties_window(_) - FlxG.state.openSubState(new CharacterProperties(char, ghostChar, this)); - - function _file_save(_) - { - #if sys - var assetPath = Paths.character(char.curCharacter); - var path = Assets.getPath(assetPath); - saveTo(path); - return; - #end - _file_saveas(_); - } - - function _file_saveas(_) - { - var xml = CharacterConfig.dataToXml(char.characterData); - openSubState(new SaveSubstate(CharacterConfig.generateCharXML(xml.x), { - defaultSaveFile: '${char.curCharacter}.xml' - })); - } - - #if sys - function saveTo(path:String) - { - var xml = CharacterConfig.dataToXml(char.characterData); - CharacterConfig.save(path, CharacterConfig.generateCharXML(xml.x)); + // UNDO/REDO LOGIC + #if REGION + public inline function addToUndo(c:CharacterChange) { + redoList = []; + undoList.insert(0, c); + while(undoList.length > Options.maxUndos) + undoList.pop(); } #end - function set_camZoom(value:Float):Float - { - editorCamera.zoom = value; - return camZoom = value; + // TOP MENU OPTIONS + #if REGION + function _file_exit(_) { + FlxG.switchState(new CharacterSelection()); } + + function _file_save(_) { + } + + function _file_saveas(_) { + } + + function _edit_delete(_) { + } + + function _edit_undo(_) { + var v = undoList.shift(); + switch (v) { + case null: + // do nothing + case CCreateAnim(animID, animData): + deleteAnim(animData.name, false); + case CDeleteAnim(animID, animData): + createAnim(animData, animID, false); + case CChangeOffset(name, change): + changeOffset(name, change * -1, false); + case CResetOffsets(oldOffsets): + for (anim => offsets in oldOffsets) + character.animOffsets.set(anim, offsets.clone()); + + for (anim in character.animation.getNameList()) + characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); + + changeOffset(character.animation.name, FlxPoint.get(0, 0), false); // apply da new offsets + } + if (v != null) + redoList.insert(0, v); + } + + function _edit_redo(_) { + var v = redoList.shift(); + switch (v) { + case null: + // do nothing + case CCreateAnim(animID, animData): + createAnim(animData, animID, false); + case CDeleteAnim(animID, animData): + deleteAnim(animData.name, false); + case CChangeOffset(name, change): + changeOffset(name, change, false); + case CResetOffsets(oldOffsets): + clearOffsets(false); + } + if (v != null) + undoList.insert(0, v); + } + + function _char_add_anim(_) { + FlxG.state.openSubState(new CharacterAnimScreen(null)); + } + + function _char_update_anim(_) { + } + + function _char_remove_anim(_) { + } + + function _char_edit_info(_) { + FlxG.state.openSubState(new CharacterInfoScreen(character)); + } + + public function createAnim(animData:AnimData, animID:Int = -1, addtoUndo:Bool = true) { + XMLUtil.addAnimToSprite(character, animData); + characterAnimsWindow.createNewButton(animData.name, FlxPoint.get(animData.x,animData.y), false, animID); + + playAnimation(animData.name); + + if (addtoUndo) + addToUndo(CCreateAnim(character.animation.getNameList().length, animData)); + } + + public function deleteAnim(name:String, addtoUndo:Bool = true) { + playAnimation(character.animation.getNameList()[character.animation.getNameList().indexOf(name)-1]); + + @:privateAccess var flxanim:FlxAnimation = character.animation._animations.get(name); + var oldID:Int = character.animation.getNameList().indexOf(name); + var oldAnimData:AnimData = { + name: name, + anim: flxanim.prefix, + fps: flxanim.frameRate, + loop: flxanim.looped, + x: character.animOffsets.get(name).x, + y: character.animOffsets.get(name).y, + indices: flxanim.usesIndicies ? flxanim.frames : [], + animType: NONE + }; + @:privateAccess character.animation._animations.remove(name); + flxanim.destroy(); + + character.animOffsets.remove(name); + characterAnimsWindow.removeButton(name); + + if (addtoUndo) + addToUndo(CDeleteAnim(oldID, oldAnimData)); + } + + function _playback_play_anim(_) { + playAnimation(character.animation.name); + } + + function _playback_stop_anim(_) { + } + + public function playAnimation(anim:String) { + character.playAnim(anim, true); + characterAnimsWindow.changeCurAnim(anim); + } + + function _offsets_left(_) { + changeOffset(character.animation.name, FlxPoint.get(1, 0)); + } + + function _offsets_up(_) { + changeOffset(character.animation.name, FlxPoint.get(0, 1)); + } + + function _offsets_down(_) { + changeOffset(character.animation.name, FlxPoint.get(0, -1)); + } + + function _offsets_right(_) { + changeOffset(character.animation.name, FlxPoint.get(-1, 0)); + } + + function _offsets_extra_left(_) { + changeOffset(character.animation.name, FlxPoint.get(5, 0)); + } + + function _offsets_extra_up(_) { + changeOffset(character.animation.name, FlxPoint.get(0, 5)); + } + + function _offsets_extra_down(_) { + changeOffset(character.animation.name, FlxPoint.get(0, -5)); + } + + function _offsets_extra_right(_) { + changeOffset(character.animation.name, FlxPoint.get(-5, 0)); + } + + function _offsets_clear(_) { + clearOffsets(); + } + + function changeOffset(anim:String, change:FlxPoint, addtoUndo:Bool = true) { + character.animOffsets.set(anim, character.getAnimOffset(anim) + change); + characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); + character.frameOffset.set(character.getAnimOffset(anim).x, character.getAnimOffset(anim).y); + + if (addtoUndo) + addToUndo(CChangeOffset(anim, change)); + } + + function clearOffsets(addtoUndo:Bool = true) { + var oldOffsets:Map = [ + for (anim => offsets in character.animOffsets) + anim => offsets.clone() + ]; + + for (anim in character.animation.getNameList()) { + character.animOffsets[anim].zero(); + characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); + } + + if (addtoUndo) + addToUndo(CResetOffsets(oldOffsets)); + } + + var zoom(default, set):Float = 0; + var __camZoom(default, set):Float = 1; + function set_zoom(val:Float) { + return zoom = FlxMath.bound(val, -3.5, 1.75); // makes zooming not lag behind when continuing scrolling + } + function set___camZoom(val:Float) { + return __camZoom = FlxMath.bound(val, 0.1, 3); + } + + function _view_zoomin(_) { + zoom += 0.25; + __camZoom = Math.pow(2, zoom); + } + function _view_zoomout(_) { + zoom -= 0.25; + __camZoom = Math.pow(2, zoom); + } + function _view_zoomreset(_) { + zoom = 0; + __camZoom = Math.pow(2, zoom); + } + #end } + +enum CharacterChange { + CCreateAnim(animID:Int, animData:AnimData); + CDeleteAnim(animID:Int, animData:AnimData); + CChangeOffset(name:String, change:FlxPoint); + CResetOffsets(oldOffsets:Map); +} \ No newline at end of file diff --git a/source/funkin/editors/character/CharacterInfoScreen.hx b/source/funkin/editors/character/CharacterInfoScreen.hx new file mode 100644 index 00000000..336e67ca --- /dev/null +++ b/source/funkin/editors/character/CharacterInfoScreen.hx @@ -0,0 +1,125 @@ +package funkin.editors.character; + +import funkin.game.Character; + +class CharacterInfoScreen extends UISubstateWindow { + public var character:Character; + + public var spriteTextBox:UITextBox; + public var iconTextBox:UITextBox; + public var iconSprite:FlxSprite; + public var gameOverCharTextBox:UITextBox; + public var positionXStepper:UINumericStepper; + public var positionYStepper:UINumericStepper; + public var cameraXStepper:UINumericStepper; + public var cameraYStepper:UINumericStepper; + public var scaleStepper:UINumericStepper; + public var singTimeStepper:UINumericStepper; + public var isPlayerCheckbox:UICheckbox; + public var isGFCheckbox:UICheckbox; + public var flipXCheckbox:UICheckbox; + public var antialiasingCheckbox:UICheckbox; + + public var saveButton:UIButton; + public var closeButton:UIButton; + + public function new(character:Character) { + super(); + this.character = character; + } + + public override function create() { + winTitle = "Editing Character"; + winWidth = 960; + + super.create(); + + function addLabelOn(ui:UISprite, text:String) + add(new UIText(ui.x, ui.y - 24, 0, text)); + + var title:UIText; + add(title = new UIText(windowSpr.x + 20, windowSpr.y + 30 + 16, 0, "Sprite Data", 28)); + + spriteTextBox = new UITextBox(title.x, title.y + title.height + 38, character.sprite, 200); + add(spriteTextBox); + addLabelOn(spriteTextBox, "Sprite"); + + iconTextBox = new UITextBox(spriteTextBox.x + 200 + 26, spriteTextBox.y, character.getIcon(), 150); + iconTextBox.onChange = (newIcon:String) -> {updateIcon(newIcon);} + add(iconTextBox); + addLabelOn(iconTextBox, "Icon"); + + updateIcon(character.getIcon()); + + gameOverCharTextBox = new UITextBox(iconTextBox.x + 150 + (75 + 16), iconTextBox.y, character.gameOverCharacter, 200); + add(gameOverCharTextBox); + addLabelOn(gameOverCharTextBox, "Game Over Character"); + + add(title = new UIText(spriteTextBox.x, spriteTextBox.y + 10 + 46, 0, "Character Data", 28)); + + positionXStepper = new UINumericStepper(title.x, title.y + title.height + 36, character.globalOffset.x, 0.001, 2, null, null, 84); + add(positionXStepper); + addLabelOn(positionXStepper, "Position (X,Y)"); + + add(new UIText(positionXStepper.x + 84 - 32 + 0, positionXStepper.y + 9, 0, ",", 22)); + + positionYStepper = new UINumericStepper(positionXStepper.x + 84 - 32 + 26, positionXStepper.y, character.globalOffset.y, 0.001, 2, null, null, 84); + add(positionYStepper); + + cameraXStepper = new UINumericStepper(positionYStepper.x + 36 + 84 - 32, positionYStepper.y, character.cameraOffset.x, 0.001, 2, null, null, 84); + add(cameraXStepper); + addLabelOn(cameraXStepper, "Camera Position (X,Y)"); + + add(new UIText(cameraXStepper.x + 84 - 32 + 0, cameraXStepper.y + 9, 0, ",", 22)); + + cameraYStepper = new UINumericStepper(cameraXStepper.x + 84 - 32 + 26, cameraXStepper.y, character.cameraOffset.y, 0.001, 2, null, null, 84); + add(cameraYStepper); + + scaleStepper = new UINumericStepper(cameraYStepper.x + 84 - 32 + 90, cameraYStepper.y, character.scale.x, 0.001, 2, null, null, 74); + add(scaleStepper); + addLabelOn(scaleStepper, "Scale"); + + singTimeStepper = new UINumericStepper(scaleStepper.x + 74 - 32 + 36, scaleStepper.y, character.holdTime, 0.001, 2, null, null, 74); + add(singTimeStepper); + addLabelOn(singTimeStepper, "Sing Time"); + + isPlayerCheckbox = new UICheckbox(positionXStepper.x, positionXStepper.y + 10 + 32 + 26, "isPlayer", character.playerOffsets); + add(isPlayerCheckbox); + addLabelOn(isPlayerCheckbox, "Is Player"); + + for (checkbox in [isPlayerCheckbox]) + {checkbox.y += 6; checkbox.x += 4;} + + saveButton = new UIButton(windowSpr.x + windowSpr.bWidth - 20, windowSpr.y + windowSpr.bHeight- 20, "Save & Close", function() { + close(); + }, 125); + saveButton.x -= saveButton.bWidth; + saveButton.y -= saveButton.bHeight; + + closeButton = new UIButton(saveButton.x - 20, saveButton.y, "Close", function() { + close(); + }, 125); + closeButton.x -= closeButton.bWidth; + add(closeButton); + add(saveButton); + } + + function updateIcon(icon:String) { + if (iconSprite == null) add(iconSprite = new FlxSprite()); + + if (iconSprite.animation.exists(icon)) return; + @:privateAccess iconSprite.animation.clearAnimations(); + + var path:String = Paths.image('icons/$icon'); + if (!Assets.exists(path)) path = Paths.image('icons/face'); + + iconSprite.loadGraphic(path, true, 150, 150); + iconSprite.animation.add(icon, [0], 0, false); + iconSprite.antialiasing = true; + iconSprite.animation.play(icon); + + iconSprite.scale.set(0.5, 0.5); + iconSprite.updateHitbox(); + iconSprite.setPosition(iconTextBox.x + 150 + 8, (iconTextBox.y + 16) - (iconSprite.height/2)); + } +} \ No newline at end of file diff --git a/source/funkin/editors/character/CharacterProperties.hx b/source/funkin/editors/character/CharacterProperties.hx deleted file mode 100644 index 2c167c9c..00000000 --- a/source/funkin/editors/character/CharacterProperties.hx +++ /dev/null @@ -1,123 +0,0 @@ -package funkin.editors.character; - -import flixel.util.FlxColor; -import flixel.math.FlxPoint; -import funkin.backend.utils.XMLUtil.AnimData; -import funkin.game.Character; - -class CharacterProperties extends UISubstateWindow -{ - public var char:Character; - public var ghostChar:Character; - public var charData:CharacterData; - - public var applyButton:UIButton; - public var cancelButton:UIButton; - public var editor:CharacterEditor; - - public var curAnimData:AnimData; - - public var spriteFile:UITextBox; - public var gameOverChar:UITextBox; - public var healthIcon:UITextBox; - public var iconColor:UITextBox; - public var flipX:UICheckbox; - public var isPlayer:UICheckbox; - public var isGF:UICheckbox; - public var antialiasing:UICheckbox; - public var scale:UITextBox; - public var holdTime:UITextBox; - - public function new(char:Character, ghostChar, editor:CharacterEditor) - { - super(); - this.char = char; - this.ghostChar = ghostChar; - this.charData = char.characterData; - this.editor = editor; - } - - public override function create() - { - winTitle = 'Character Properties'; - winWidth = 960; - - super.create(); - - // Offsets - var y_ofs = 60; - var x_ofs = 60; - var y_text_ofs = 20; - - // Character Properties - spriteFile = new UITextBox(windowSpr.x + 50, windowSpr.y + 10 + y_ofs, charData.sprite); - add(spriteFile); - add(new UIText(spriteFile.x, spriteFile.y - y_text_ofs, -1, "Image/Atlas file: ")); - - gameOverChar = new UITextBox(spriteFile.x + spriteFile.bWidth + x_ofs, spriteFile.y, charData.gameOverChar); - add(gameOverChar); - add(new UIText(gameOverChar.x, gameOverChar.y - y_text_ofs, -1, "Game Over character: ")); - - healthIcon = new UITextBox(spriteFile.x, spriteFile.y + y_ofs, charData.icon); - add(healthIcon); - add(new UIText(healthIcon.x, healthIcon.y - y_text_ofs, -1, "Health Icon: ")); - - iconColor = new UITextBox(healthIcon.x + healthIcon.bWidth + x_ofs, healthIcon.y, CharacterConfig.rgbToString(charData.iconColor)); - add(iconColor); - add(new UIText(iconColor.x, iconColor.y - y_text_ofs, -1, "Icon color (RGB): ")); - - flipX = new UICheckbox(healthIcon.x, healthIcon.y + y_ofs, "Flip X", charData.flipX); - add(flipX); - - antialiasing = new UICheckbox(flipX.x + flipX.field.width + x_ofs, flipX.y, "Antialiasing", charData.antialiasing); - add(antialiasing); - - isPlayer = new UICheckbox(flipX.x, flipX.y + y_ofs, "Playable Character", charData.isPlayer); - add(isPlayer); - - isGF = new UICheckbox(isPlayer.x + isPlayer.field.width + x_ofs, isPlayer.y, "GF Character", charData.isGF); - add(isGF); - - scale = new UITextBox(isPlayer.x, isPlayer.y + y_ofs, Std.string(charData.scale)); - add(scale); - add(new UIText(scale.x, scale.y - y_text_ofs, -1, "Scale: ")); - - holdTime = new UITextBox(scale.x + scale.bWidth + y_ofs, scale.y, Std.string(charData.holdTime)); - add(holdTime); - add(new UIText(holdTime.x, holdTime.y - y_text_ofs, -1, "Hold time: ")); - - // Apply / Cancel buttons - applyButton = new UIButton(windowSpr.x - x_ofs - 70, windowSpr.y, "Apply", function() - { - updateProperties(spriteFile.label.text, healthIcon.label.text, CharacterConfig.stringToRGB(healthIcon.label.text), flipX.checked, - antialiasing.checked, isPlayer.checked, isGF.checked, Std.parseFloat(scale.label.text), Std.parseFloat(holdTime.label.text), gameOverChar.label.text); - }); - add(applyButton); - - cancelButton = new UIButton(applyButton.x, applyButton.y + y_ofs, "Cancel", function() - { - close(); - }); - add(cancelButton); - } - - public function updateProperties(sprite:String, healthIcon:String, iconColor:FlxColor, flipX:Bool, antialiasing:Bool, isPlayer:Bool, isGF:Bool, - scale:Float, holdTime:Float, gameOverChar:String) - { - // Character Data - charData.sprite = sprite; - charData.icon = healthIcon; - charData.iconColor = iconColor; - charData.flipX = flipX; - charData.antialiasing = antialiasing; - charData.isPlayer = isPlayer; - charData.isGF = isGF; - charData.scale = scale; - charData.holdTime = holdTime; - charData.gameOverChar = gameOverChar; - - editor.reloadChar(!char.isPlayer, charData); - editor.reloadStage(); - editor.loadCross(); - } -} diff --git a/source/funkin/editors/character/CharacterPropertiesWindow.hx b/source/funkin/editors/character/CharacterPropertiesWindow.hx new file mode 100644 index 00000000..9f36bd9d --- /dev/null +++ b/source/funkin/editors/character/CharacterPropertiesWindow.hx @@ -0,0 +1,5 @@ +package funkin.editors.character; + +class CharacterPropertiesWindow extends UIWindow { + +} \ No newline at end of file diff --git a/source/funkin/editors/character/CharacterSelection.hx b/source/funkin/editors/character/CharacterSelection.hx index 1d26f6a6..050df0b2 100644 --- a/source/funkin/editors/character/CharacterSelection.hx +++ b/source/funkin/editors/character/CharacterSelection.hx @@ -3,7 +3,6 @@ package funkin.editors.character; import flixel.util.FlxColor; import funkin.game.Character; import funkin.backend.chart.Chart; -import funkin.game.Character.CharacterData; import funkin.options.type.TextOption; import funkin.options.type.IconOption; import funkin.options.OptionsScreen; @@ -11,77 +10,18 @@ import sys.FileSystem; class CharacterSelection extends EditorTreeMenu { - public var characterList:CharactersList; - public override function create() { bgType = "charter"; super.create(); - characterList = CharactersList.get(); - main = new OptionsScreen("Character Editor", "Select a character to edit", [ - for (s in characterList.characters) - new IconOption(s.name, "Press ACCEPT to edit this character.", s.icon, function() - { - FlxG.switchState(new CharacterEditor(s.name)); + for (char in Character.getList()) + new IconOption(char, "Press ACCEPT to edit this character.", Character.getIconFromCharName(char), + function() { + FlxG.switchState(new CharacterEditor(char)); }) ]); } - - public override function update(elapsed:Float) - { - super.update(elapsed); - } - - public override function onMenuChange() { - super.onMenuChange(); - if (optionsTree.members.length > 1) { // selected a song - // small flashbang - var color:FlxColor = characterList.characters[main.curSelected].iconColor.getDefault(0xFFFFFFFF); - - bg.colorTransform.redOffset = 0.25 * color.red; - bg.colorTransform.greenOffset = 0.25 * color.green; - bg.colorTransform.blueOffset = 0.25 * color.blue; - bg.colorTransform.redMultiplier = FlxMath.lerp(1, color.redFloat, 0.25); - bg.colorTransform.greenMultiplier = FlxMath.lerp(1, color.greenFloat, 0.25); - bg.colorTransform.blueMultiplier = FlxMath.lerp(1, color.blueFloat, 0.25); - } - } -} - -class CharactersList -{ - public var characters:Array = []; - - public function new() - { - } - - public function getCharactersFromSource(source:funkin.backend.assets.AssetsLibraryList.AssetSource) - { - var charactersFound:Array = []; - - charactersFound = Paths.getFolderContent('data/characters', false, source); - - if (charactersFound.length > 0) - { - for (s in charactersFound) - if (s.endsWith(".xml")) - characters.push(CharacterConfig.loadCharacterData(s.replace(".xml", ""))); - return true; - } - return false; - } - - public static function get() - { - var characterList = new CharactersList(); - - if (!characterList.getCharactersFromSource(MODS)) - characterList.getCharactersFromSource(SOURCE); - - return characterList; - } -} +} \ No newline at end of file diff --git a/source/funkin/editors/character/DeleteAnimScreen.hx b/source/funkin/editors/character/DeleteAnimScreen.hx deleted file mode 100644 index ec5d6299..00000000 --- a/source/funkin/editors/character/DeleteAnimScreen.hx +++ /dev/null @@ -1,73 +0,0 @@ -package funkin.editors.character; - -import flixel.math.FlxRandom; -import cpp.Random; -import flixel.math.FlxPoint; -import funkin.backend.utils.XMLUtil.AnimData; -import funkin.game.Character; - -class DeleteAnimScreen extends UISubstateWindow -{ - public var char:Character; - public var ghostChar:Character; - - public var editor:CharacterEditor; - - public var animButtons:FlxTypedSpriteGroup = new FlxTypedSpriteGroup(365, -10); - - public var closeButton:UIButton; - - public function new(char:Character, ghostChar:Character, editor:CharacterEditor) - { - super(); - this.char = char; - this.ghostChar = ghostChar; - this.editor = editor; - } - - public override function create() - { - winTitle = "Delete Animation"; - winWidth = 480; - winHeight = 700; - - super.create(); - - add(animButtons); - - var y_adder = 60; - for (anim in char.characterData.animations) - { - var newbutton = new UIButton(animButtons.x - 550, animButtons.y + y_adder, anim.name, function() - { - removeAnimation(anim); - close(); - }); - animButtons.add(newbutton); - y_adder += 45; - } - - closeButton = new UIButton(windowSpr.x - 120, windowSpr.y + 20, "Close", function() { - close(); - }); - add(closeButton); - } - - public function removeAnimation(anim:AnimData) - { - var refreshAnim:Bool = false; - if (char.animation.curAnim != null && anim.name == char.animation.curAnim.name) - refreshAnim = true; - - if (char.animation.getByName(anim.name) != null) - char.animation.remove(anim.name); - if (char.animOffsets.exists(anim.name)) - char.animOffsets.remove(anim.name); - char.characterData.animations.remove(anim); - - if (refreshAnim && char.characterData.animations.length > 0) - char.playAnim(char.characterData.animations[0].name, true); - - editor.reloadGhost(); - } -} diff --git a/source/funkin/editors/character/HelpControls.hx b/source/funkin/editors/character/HelpControls.hx deleted file mode 100644 index 66fe3e78..00000000 --- a/source/funkin/editors/character/HelpControls.hx +++ /dev/null @@ -1,71 +0,0 @@ -package funkin.editors.character; - -class HelpControls extends UISubstateWindow -{ - - var helpTextTitles:Array = [ - "Camera:", - "Offset:", - "Animation:" - ]; - var helpTexts:Array = [ - "\n\n- WASD: Move camera\n\n- I & O: Zoom In & Out.", - "\n\n- Arrows keys: Move the offset of the current\nanimation.\n\n- Left Click: Move the offset of the character", - "\n\n- K & L: Switch to previous & next animation\n\n- SPACE: Play current animation.\n\n" - ]; - - var curPage:Int = 0; - public function new() - { - super(); - } - - public override function create() - { - winTitle = 'Help: Controls'; - winWidth = 960; - - super.create(); - - var helpTextTitle = new UIText(windowSpr.x + 25, windowSpr.y + 45, -1, helpTextTitles[0], 36); - add(helpTextTitle); - - var helpText = new UIText(windowSpr.x + 25, windowSpr.y + 50, -1, helpTexts[0], 24); - add(helpText); - - var pageText = new UIText(855, windowSpr.y + 460, -1, '${curPage+1}/${helpTexts.length}', 24); - add(pageText); - - var rightButton = new UIButton(885, windowSpr.y + 500, ">", function() - { - if(curPage == helpTexts.length-1) - curPage = 0; - else - curPage++; - - pageText.text = '${curPage+1}/${helpTexts.length}'; - helpText.text = helpTexts[curPage]; - helpTextTitle.text = helpTextTitles[curPage]; - }, 32); - - var leftButton = new UIButton(845, windowSpr.y + 500, "<", function() - { - if(curPage == 0) - curPage = helpTexts.length-1; - else - curPage--; - - pageText.text = '${curPage+1}/${helpTexts.length}'; - helpText.text = helpTexts[curPage]; - helpTextTitle.text = helpTextTitles[curPage]; - }, 32); - - var closeButton = new UIButton(helpText.x, windowSpr.y + 500, "Close", function() - { - close(); - }); - add(closeButton); - add(leftButton); - add(rightButton); - } -} diff --git a/source/funkin/editors/character/NewCharacter.hx b/source/funkin/editors/character/NewCharacter.hx deleted file mode 100644 index 1a729a12..00000000 --- a/source/funkin/editors/character/NewCharacter.hx +++ /dev/null @@ -1,172 +0,0 @@ -package funkin.editors.character; - -import flixel.util.FlxColor; -import flixel.math.FlxPoint; -import funkin.backend.utils.XMLUtil.AnimData; -import funkin.game.Character; -import funkin.editors.character.DeleteAnimScreen; - -class NewCharacter extends UISubstateWindow -{ - public var char:Character; - public var ghostChar:Character; - public var charData:CharacterData; - - public var applyButton:UIButton; - public var nextButton:UIButton; - public var cancelButton:UIButton; - public var editor:CharacterEditor; - - public var curAnimData:AnimData; - - public var spriteFile:UITextBox; - public var gameOverChar:UITextBox; - public var healthIcon:UITextBox; - public var iconColor:UITextBox; - public var flipX:UICheckbox; - public var isPlayer:UICheckbox; - public var isGF:UICheckbox; - public var antialiasing:UICheckbox; - public var scale:UITextBox; - public var holdTime:UITextBox; - - public function new(char:Character, ghostChar, editor:CharacterEditor) - { - super(); - this.char = char; - this.ghostChar = ghostChar; - this.charData = char.characterData; - this.editor = editor; - - //TO DO: Generate and Save - //---- - - - //Delete old Animaitons - } - - public override function create() - { - winTitle = 'Create New Character'; - winWidth = 960; - - super.create(); - - // Offsets - var y_ofs = 60; - var x_ofs = 60; - var y_text_ofs = 20; - - // Character Properties - spriteFile = new UITextBox(windowSpr.x + 50, windowSpr.y + 10 + y_ofs, charData.sprite); - add(spriteFile); - add(new UIText(spriteFile.x, spriteFile.y - y_text_ofs, -1, "Image/Atlas file: ")); - - gameOverChar = new UITextBox(spriteFile.x + spriteFile.bWidth + x_ofs, spriteFile.y, charData.gameOverChar); - add(gameOverChar); - add(new UIText(gameOverChar.x, gameOverChar.y - y_text_ofs, -1, "Game Over character: ")); - - healthIcon = new UITextBox(spriteFile.x, spriteFile.y + y_ofs, charData.icon); - add(healthIcon); - add(new UIText(healthIcon.x, healthIcon.y - y_text_ofs, -1, "Health Icon: ")); - - iconColor = new UITextBox(healthIcon.x + healthIcon.bWidth + x_ofs, healthIcon.y, CharacterConfig.rgbToString(charData.iconColor)); - add(iconColor); - add(new UIText(iconColor.x, iconColor.y - y_text_ofs, -1, "Icon color (RGB): ")); - - flipX = new UICheckbox(healthIcon.x, healthIcon.y + y_ofs, "Flip X", charData.flipX); - add(flipX); - - antialiasing = new UICheckbox(flipX.x + flipX.field.width + x_ofs, flipX.y, "Antialiasing", charData.antialiasing); - add(antialiasing); - - isPlayer = new UICheckbox(flipX.x, flipX.y + y_ofs, "Playable Character", charData.isPlayer); - add(isPlayer); - - isGF = new UICheckbox(isPlayer.x + isPlayer.field.width + x_ofs, isPlayer.y, "GF Character", charData.isGF); - add(isGF); - - scale = new UITextBox(isPlayer.x, isPlayer.y + y_ofs, Std.string(charData.scale)); - add(scale); - add(new UIText(scale.x, scale.y - y_text_ofs, -1, "Scale: ")); - - holdTime = new UITextBox(scale.x + scale.bWidth + y_ofs, scale.y, Std.string(charData.holdTime)); - add(holdTime); - add(new UIText(holdTime.x, holdTime.y - y_text_ofs, -1, "Hold time: ")); - - // Apply / Cancel buttons - - - applyButton = new UIButton(windowSpr.x - x_ofs - 70, windowSpr.y, "Apply", function() - { - - updateProperties(spriteFile.label.text, healthIcon.label.text, CharacterConfig.stringToRGB(healthIcon.label.text), flipX.checked, - antialiasing.checked, isPlayer.checked, isGF.checked, Std.parseFloat(scale.label.text), Std.parseFloat(holdTime.label.text), gameOverChar.label.text); - - //TO DO: Add a Animation - }); - add(applyButton); - - cancelButton = new UIButton(applyButton.x, applyButton.y + y_ofs, "Cancel", function() - { - close(); - }); - add(cancelButton); - } - - public function updateProperties(sprite:String, healthIcon:String, iconColor:FlxColor, flipX:Bool, antialiasing:Bool, isPlayer:Bool, isGF:Bool, - scale:Float, holdTime:Float, gameOverChar:String) - { - // Character Data - charData.sprite = sprite; - charData.icon = healthIcon; - charData.iconColor = iconColor; - charData.flipX = flipX; - charData.antialiasing = antialiasing; - charData.isPlayer = isPlayer; - charData.isGF = isGF; - charData.scale = scale; - charData.holdTime = holdTime; - charData.gameOverChar = gameOverChar; - - //Bring Player Char to Default Position for User - if(isPlayer) - { - charData.offsetX = 770; - charData.offsetY = 410; - } - else if(isGF) - { - charData.offsetX = 400; - charData.offsetY = 330; - } - else - { - charData.offsetX = 100; - charData.offsetY = 410; - } - - - - - editor.reloadChar(!char.isPlayer, charData); - editor.reloadStage(); - editor.loadCross(); - - - - } - - public function removeAnimation(anim:AnimData) - { - var refreshAnim:Bool = false; - if (char.animation.curAnim != null && anim.name == char.animation.curAnim.name) - refreshAnim = true; - - if (char.animation.getByName(anim.name) != null) - char.animation.remove(anim.name); - if (char.animOffsets.exists(anim.name)) - char.animOffsets.remove(anim.name); - char.characterData.animations.remove(anim); - } -} diff --git a/source/funkin/editors/character/SelectAnimUpdate.hx b/source/funkin/editors/character/SelectAnimUpdate.hx deleted file mode 100644 index 576f0189..00000000 --- a/source/funkin/editors/character/SelectAnimUpdate.hx +++ /dev/null @@ -1,62 +0,0 @@ -package funkin.editors.character; - -import flixel.math.FlxRandom; -import cpp.Random; -import flixel.math.FlxPoint; -import funkin.backend.utils.XMLUtil.AnimData; -import funkin.game.Character; - -class SelectAnimUpdate extends UISubstateWindow -{ - public var cancelButton:UIButton; - - public var char:Character; - public var ghostChar:Character; - - public var editor:CharacterEditor; - - public var animButtons:FlxTypedSpriteGroup = new FlxTypedSpriteGroup(365, -10); - - public function new(char:Character, ghostChar:Character, editor:CharacterEditor) - { - super(); - this.char = char; - this.ghostChar = ghostChar; - this.editor = editor; - } - - public override function create() - { - winTitle = "Select an animation to update:"; - winWidth = 480; - winHeight = 700; - - super.create(); - - add(animButtons); - - var y_ofs = 60; - - for (anim in char.characterData.animations) - { - var newbutton = new UIButton(animButtons.x - 550, animButtons.y + y_ofs, anim.name, function() - { - openUpdateWindow(anim); - }); - animButtons.add(newbutton); - y_ofs += 45; - } - - cancelButton = new UIButton(windowSpr.x - 10, windowSpr.y + 20, "Cancel", function() - { - close(); - }); - cancelButton.x -= cancelButton.bWidth; - add(cancelButton); - } - - public function openUpdateWindow(anim:AnimData) - { - openSubState(new UpdateAnimScreen(this.char, this.ghostChar, anim, this.editor)); - } -} diff --git a/source/funkin/editors/character/UpdateAnimScreen.hx b/source/funkin/editors/character/UpdateAnimScreen.hx deleted file mode 100644 index e04ccd87..00000000 --- a/source/funkin/editors/character/UpdateAnimScreen.hx +++ /dev/null @@ -1,125 +0,0 @@ -package funkin.editors.character; - -import flixel.math.FlxPoint; -import funkin.backend.utils.XMLUtil.AnimData; -import funkin.game.Character; - -class UpdateAnimScreen extends UISubstateWindow -{ - public var char:Character; - public var ghostChar:Character; - - public var updateButton:UIButton; - public var cancelButton:UIButton; - public var editor:CharacterEditor; - - public var curAnimData:AnimData; - - public var animName:UITextBox; - public var animPrefix:UITextBox; - public var fps:UITextBox; - public var loop:UICheckbox; - public var indices:UITextBox; - - public function new(char:Character, ghostChar, animData:AnimData, editor:CharacterEditor) - { - super(); - this.char = char; - this.ghostChar = ghostChar; - this.curAnimData = animData; - this.editor = editor; - } - - public override function create() - { - winTitle = 'Update Animation: ${curAnimData.name}'; - winWidth = 960; - - super.create(); - - // Animation Properties - var y_ofs = 60; - var y_text_ofs = 20; - - animName = new UITextBox(windowSpr.x + 50, windowSpr.y + y_ofs, curAnimData.name); - add(animName); - add(new UIText(animName.x, animName.y - y_text_ofs, -1, "Animation Name: ")); - - animPrefix = new UITextBox(animName.x, animName.y + y_ofs, curAnimData.anim); - add(animPrefix); - add(new UIText(animPrefix.x, animPrefix.y - y_text_ofs, -1, "Animation on XML/Atlas file: ")); - - fps = new UITextBox(animPrefix.x, animPrefix.y + y_ofs, Std.string(curAnimData.fps)); - add(fps); - add(new UIText(fps.x, fps.y - y_text_ofs, -1, "Framerate: ")); - - loop = new UICheckbox(fps.x, fps.y + y_ofs, "Looped", curAnimData.loop); - add(loop); - - indices = new UITextBox(loop.x, loop.y + y_ofs, Std.string(curAnimData.indices).replace("[", "").replace("]", "")); - add(indices); - add(new UIText(indices.x, indices.y - y_text_ofs, -1, "Indices (0, 1, 2, 3): ")); - - // Add / Cancel Buttons - updateButton = new UIButton(windowSpr.x - 10, windowSpr.y + 31, "Update", function() - { - updateAnimation(animName.label.text, animPrefix.label.text, Std.parseInt(fps.label.text), loop.checked, indices.label.text); - close(); - }); - updateButton.x -= updateButton.bWidth; - add(updateButton); - - cancelButton = new UIButton(updateButton.x, updateButton.y + y_ofs, "Cancel", function() - { - close(); - }); - add(cancelButton); - } - - public function updateAnimation(name:String, ?anim:String, ?fps:Int = 24, ?looped:Bool = false, ?indices:String) - { - var animType:XMLAnimType = NONE; - - var selectedAnim:AnimData = null; - var selectedAnimIndex = 0; - - for (i in 0...char.characterData.animations.length) - { - if (char.characterData.animations[i].name == name) - { - selectedAnim = char.characterData.animations[i]; - selectedAnimIndex = i; - } - } - - if (selectedAnim == null) - return; - - var animData:AnimData = { - name: name, - anim: anim, - fps: fps, - loop: looped, - animType: animType, - indices: [], - x: selectedAnim.x, - y: selectedAnim.y - }; - - if (indices != "" && indices != null) - { - var indicesSplit = indices.split(","); - - for (indice in indicesSplit) - { - var i = Std.parseInt(indice.trim()); - if (i != null) - animData.indices.push(i); - } - } - - XMLUtil.addAnimToSprite(char, animData); - char.characterData.animations[selectedAnimIndex] = animData; - char.playAnim(name, true); - } -} diff --git a/source/funkin/editors/charter/Charter.hx b/source/funkin/editors/charter/Charter.hx index 43d2cb9b..c0a0dc62 100644 --- a/source/funkin/editors/charter/Charter.hx +++ b/source/funkin/editors/charter/Charter.hx @@ -317,7 +317,6 @@ class Charter extends UIState { } ]; - hitsound = FlxG.sound.load(Paths.sound('editors/charter/hitsound')); metronome = FlxG.sound.load(Paths.sound('editors/charter/metronome')); diff --git a/source/funkin/editors/ui/UIWindow.hx b/source/funkin/editors/ui/UIWindow.hx new file mode 100644 index 00000000..c1320599 --- /dev/null +++ b/source/funkin/editors/ui/UIWindow.hx @@ -0,0 +1,12 @@ +package funkin.editors.ui; + +class UIWindow extends UISliceSprite { + public var titleSpr:UIText; + + public override function new(x:Float, y:Float, w:Int, h:Int, title:String) { + super(x, y, w, h, "editors/ui/warning-popup"); + + members.push(titleSpr = new UIText(x + 25, y, bWidth - 50, title, 15, -1)); + titleSpr.y = y + ((30 - titleSpr.height) / 2); + } +} \ No newline at end of file diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index fb5c939a..e6f4d5a4 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -1,6 +1,5 @@ package funkin.game; -import funkin.editors.character.CharacterConfig; import flixel.util.FlxColor; import funkin.backend.FunkinSprite; import flixel.graphics.frames.FlxFrame; @@ -23,27 +22,6 @@ import funkin.backend.scripting.events.PlayAnimEvent.PlayAnimContext; using StringTools; -typedef CharacterData = -{ - var offsetX:Float; - var offsetY:Float; - var camOffsetX:Float; - var camOffsetY:Float; - var quickDancer:Bool; - var holdTime:Float; - var isPlayer:Bool; - var flipX:Bool; - var antialiasing:Bool; - var sprite:String; - var name:String; - var animations:Array; - @:optional var isGF:Bool; - @:optional var icon:String; - @:optional var iconColor:FlxColor; - @:optional var scale:Float; - @:optional var gameOverChar:String; -} - @:allow(funkin.desktop.editors.CharacterEditor) @:allow(funkin.game.StrumLine) @:allow(funkin.game.PlayState) @@ -67,6 +45,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset public var isPlayer:Bool = false; public var isGF:Bool = false; public var curCharacter:String = 'bf'; + public var sprite:String = 'bf'; public var lastHit:Float = Math.NEGATIVE_INFINITY; public var holdTime:Float = 4; @@ -82,21 +61,14 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset public var script:Script; public var xml:Access; - public var characterData:CharacterData; - public var shadowFrame:CharacterShadowFrame; public inline function getCameraPosition() { var midpoint = getMidpoint(); - var event = EventManager.get(PointEvent) - .recycle(midpoint.x - + (isPlayer ? -100 : 150) - + globalOffset.x - + cameraOffset.x, midpoint.y - - 100 - + globalOffset.y - + cameraOffset.y); + var event = EventManager.get(PointEvent).recycle( + midpoint.x + (isPlayer ? -100 : 150) + globalOffset.x + cameraOffset.x, + midpoint.y - 100 + globalOffset.y + cameraOffset.y); script.call("onGetCamPos", [event]); midpoint.put(); // this event cannot be cancelled @@ -141,59 +113,16 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset try { var charXML = Xml.parse(plainXML).firstElement(); - if (charXML == null) - throw new Exception("Missing \"character\" node in XML."); + if (charXML == null) throw new Exception("Missing \"character\" node in XML."); xml = new Access(charXML); - } - catch (e) - { + } catch (e) { Logs.trace('Error while loading character ${curCharacter}: ${e}', ERROR); curCharacter = "bf"; continue; } - var sprite:String = curCharacter; + applyXML(xml); - if (xml.has.isPlayer) - playerOffsets = (xml.att.isPlayer == "true"); - if (xml.has.isGF) - isGF = (xml.att.isGF == "true"); - if (xml.has.x) - globalOffset.x = Std.parseFloat(xml.att.x); - if (xml.has.y) - globalOffset.y = Std.parseFloat(xml.att.y); - if (xml.has.gameOverChar) - gameOverCharacter = xml.att.gameOverChar; - if (xml.has.camx) - cameraOffset.x = Std.parseFloat(xml.att.camx); - if (xml.has.camy) - cameraOffset.y = Std.parseFloat(xml.att.camy); - if (xml.has.holdTime) - holdTime = CoolUtil.getDefault(Std.parseFloat(xml.att.holdTime), 4); - if (xml.has.flipX) - flipX = (xml.att.flipX == "true"); - if (xml.has.icon) - icon = xml.att.icon; - if (xml.has.scale) - { - var scale = Std.parseFloat(xml.att.scale).getDefault(1); - this.scale.set(scale, scale); - updateHitbox(); - } - if (xml.has.antialiasing) - antialiasing = (xml.att.antialiasing == "true"); - if (xml.has.sprite) - sprite = xml.att.sprite; - - loadSprite(Paths.image('characters/$sprite')); - - for (anim in xml.nodes.anim) - { - XMLUtil.addXMLAnimation(this, anim); - } - - characterData = CharacterConfig.loadCharacterData(curCharacter); - - // Loads the script and calls it's "create" function + // Loads the script and calls it's "create" functions script = Script.create(Paths.script(Path.withoutExtension(xmlPath), null, true)); script.setParent(this); script.load(); @@ -226,7 +155,6 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset // flipX = true; fixChar(true); - dance(); script.call("postCreate"); } @@ -242,6 +170,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset // [ true ][ false ][ true ] // [ false ][ true ][ true ] // [ true ][ true ][ false ] + // bros provided evedince :skull: if (isPlayer != playerOffsets && switchAnims) { // character is flipped @@ -302,8 +231,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset public function tryDance() { - switch (lastAnimContext) - { + switch (lastAnimContext) { case SING | MISS: if (lastHit + (Conductor.stepCrochet * holdTime) < Conductor.songPosition) dance(); @@ -328,8 +256,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset */ public var danceInterval:Int = 1; - public override function beatHit(curBeat:Int) - { + public override function beatHit(curBeat:Int) { script.call("beatHit", [curBeat]); if (danceInterval < 1) danceInterval = 1; @@ -340,16 +267,14 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset } } - public override function stepHit(curStep:Int) - { + public override function stepHit(curStep:Int) { script.call("stepHit", [curStep]); // nothing } var __reverseDrawProcedure:Bool = false; - public override function getScreenBounds(?newRect:FlxRect, ?camera:FlxCamera):FlxRect - { + public override function getScreenBounds(?newRect:FlxRect, ?camera:FlxCamera):FlxRect { if (__reverseDrawProcedure) { scale.x *= -1; @@ -363,10 +288,8 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset var __drawingShadowFrame = false; var __oldColorTransform = new ColorTransform(); - public override function draw() - { - if (!__drawingShadowFrame && shadowFrame != null) - { + public override function draw() { + if (!__drawingShadowFrame && shadowFrame != null) { __drawingShadowFrame = true; var oldFrame = _frame; @@ -436,17 +359,77 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset globalOffset.put(); } - public inline function getIcon() - { - return (icon != null) ? icon : curCharacter; + public function applyXML(xml:Access) { + sprite = curCharacter; + + if (xml.has.isPlayer) playerOffsets = (xml.att.isPlayer == "true"); + if (xml.has.isGF) isGF = (xml.att.isGF == "true"); + if (xml.has.x) globalOffset.x = Std.parseFloat(xml.att.x); // + if (xml.has.y) globalOffset.y = Std.parseFloat(xml.att.y); // + if (xml.has.gameOverChar) gameOverCharacter = xml.att.gameOverChar; // + if (xml.has.camx) cameraOffset.x = Std.parseFloat(xml.att.camx); // + if (xml.has.camy) cameraOffset.y = Std.parseFloat(xml.att.camy); // + if (xml.has.holdTime) holdTime = CoolUtil.getDefault(Std.parseFloat(xml.att.holdTime), 4); // + if (xml.has.flipX) flipX = (xml.att.flipX == "true"); + if (xml.has.icon) icon = xml.att.icon; // + if (xml.has.scale) { // + var scale = Std.parseFloat(xml.att.scale).getDefault(1); + this.scale.set(scale, scale); + updateHitbox(); + } + if (xml.has.antialiasing) antialiasing = (xml.att.antialiasing == "true"); + if (xml.has.sprite) sprite = xml.att.sprite; // + + loadSprite(Paths.image('characters/$sprite')); + + animation.destroyAnimations(); + for (anim in xml.nodes.anim) + { + XMLUtil.addXMLAnimation(this, anim); + } } + public function buildXML():Xml { + var xml = Xml.createElement("character"); + xml.set("isPlayer", playerOffsets == true ? "true" : "false"); + xml.set("isGF", isGF == true ? "true" : "false"); + xml.set("x", Std.string(globalOffset.x)); + xml.set("y", Std.string(globalOffset.y)); + xml.set("gameOverChar", gameOverCharacter); + xml.set("camx", Std.string(cameraOffset.x)); + xml.set("camy", Std.string(cameraOffset.y)); + xml.set("holdTime", Std.string(holdTime)); + xml.set("flipX", Std.string(flipX)); + xml.set("icon", icon); + xml.set("scale", Std.string(scale.x)); + xml.set("antialiasing", antialiasing == true ? "true" : "false"); + xml.set("sprite", sprite); + + for (anim in animation.getAnimationList()) + { + var animXml:Xml = Xml.createElement('anim'); + animXml.set("name", anim.name); + animXml.set("anim", anim.prefix); + animXml.set("loop", Std.string(anim.looped)); + animXml.set("fps", Std.string(anim.frameRate)); + var offset:FlxPoint = getAnimOffset(anim.name); + animXml.set("x", Std.string(offset.x)); + animXml.set("y", Std.string(offset.y)); + if (anim.usesIndicies) + animXml.set("indices", anim.frames.join(",")); + xml.addChild(animXml); + } + return xml; + } + + public inline function getIcon() + return (icon != null) ? icon : curCharacter; + public static function getIconFromCharName(?curCharacter:String) { if(curCharacter == null) return "face"; var icon = curCharacter; while(true) { - switch (curCharacter) - { + switch (curCharacter) { // case 'your-char': // To hardcode characters icons default: // load xml @@ -474,6 +457,13 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset } return icon; } + + public static function getList():Array { + return [ + for (path in Paths.getFolderContent('data/characters/', true, BOTH)) + if (Path.extension(path) == "xml") Path.withoutDirectory(Path.withoutExtension(path)) + ]; + } } typedef CharacterShadowFrame = From 5c6a4ff57ddd7b59a3c3dc0e52b75cf9ca0ff7a9 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sun, 9 Jul 2023 20:56:53 -0700 Subject: [PATCH 02/27] daaaaa --- .../editors/character/CharacterAnimScreen.hx | 15 +++++---------- .../funkin/editors/character/CharacterEditor.hx | 4 ++-- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/source/funkin/editors/character/CharacterAnimScreen.hx b/source/funkin/editors/character/CharacterAnimScreen.hx index d4fdfd18..598f6209 100644 --- a/source/funkin/editors/character/CharacterAnimScreen.hx +++ b/source/funkin/editors/character/CharacterAnimScreen.hx @@ -2,22 +2,19 @@ package funkin.editors.character; import flixel.math.FlxPoint; import flixel.animation.FlxAnimation; +import funkin.backend.utils.XMLUtil.AnimData; class CharacterAnimScreen extends UISubstateWindow { public var animName:Null; - public var offset:FlxPoint; - public var flxanim:FlxAnimation; + public var animData:AnimData; public var saveButton:UIButton; public var closeButton:UIButton; - private var onSave:(animName:Null, offset:FlxPoint, flxanim:FlxAnimation) -> Void = null; + private var onSave:(animData:AnimData) -> Void = null; - public function new(animName:Null, ?offset:FlxPoint, ?flxanim:FlxAnimation, ?onSave:(animName:Null, offset:FlxPoint, flxanim:FlxAnimation) -> Void) { + public function new(animName:Null, animData:AnimData) { this.animName = animName; - this.offset = offset; - this.flxanim = flxanim; - this.onSave = onSave; super(); } @@ -26,8 +23,6 @@ class CharacterAnimScreen extends UISubstateWindow { if (creatingAnim) { animName = ""; - offset = FlxPoint.get(0,0); - flxanim = new FlxAnimation(CharacterEditor.instance.character.animation, animName, []); } winTitle = creatingAnim ? 'Creating Animation' : 'Animation $animName properties'; @@ -48,7 +43,7 @@ class CharacterAnimScreen extends UISubstateWindow { add(saveButton); closeButton = new UIButton(saveButton.x - 20, saveButton.y, creatingAnim ? "Cancel" : "Close", function() { - if (creatingAnim) onSave(null, null, null); + if (creatingAnim) onSave(null); close(); }, 125); add(closeButton); diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 530e5c15..fa4fc990 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -338,7 +338,7 @@ class CharacterEditor extends UIState { } function _char_add_anim(_) { - FlxG.state.openSubState(new CharacterAnimScreen(null)); + FlxG.state.openSubState(new CharacterAnimScreen(null, null)); } function _char_update_anim(_) { @@ -362,7 +362,7 @@ class CharacterEditor extends UIState { } public function deleteAnim(name:String, addtoUndo:Bool = true) { - playAnimation(character.animation.getNameList()[character.animation.getNameList().indexOf(name)-1]); + playAnimation(character.animation.getNameList()[Std.int(Math.abs(character.animation.getNameList().indexOf(name)-1))]); @:privateAccess var flxanim:FlxAnimation = character.animation._animations.get(name); var oldID:Int = character.animation.getNameList().indexOf(name); From 8a464196be8d0f7bd39b9bae9303e03abd013520 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Mon, 10 Jul 2023 00:05:11 -0700 Subject: [PATCH 03/27] add anim but dont work --- source/funkin/backend/utils/XMLUtil.hx | 21 +++++ .../editors/character/CharacterAnimScreen.hx | 87 ++++++++++++++++--- .../editors/character/CharacterAnimsWindow.hx | 8 +- .../editors/character/CharacterEditor.hx | 30 ++++--- .../editors/character/CharacterInfoScreen.hx | 3 +- .../editors/charter/CharterStrumlineScreen.hx | 2 +- 6 files changed, 121 insertions(+), 30 deletions(-) diff --git a/source/funkin/backend/utils/XMLUtil.hx b/source/funkin/backend/utils/XMLUtil.hx index b6040374..b03d067c 100644 --- a/source/funkin/backend/utils/XMLUtil.hx +++ b/source/funkin/backend/utils/XMLUtil.hx @@ -1,5 +1,6 @@ package funkin.backend.utils; +import flixel.animation.FlxAnimation; import funkin.backend.FunkinSprite; import funkin.backend.system.ErrorCode; import funkin.backend.FunkinSprite.XMLAnimType; @@ -163,6 +164,25 @@ class XMLUtil { return addAnimToSprite(sprite, extractAnimFromXML(anim, animType, loop)); } + public static function getAnimationData(sprite:FlxSprite, name:String):AnimData { + var flxanim:FlxAnimation = sprite.animation.getByName(name); + var animData:AnimData = { + name: name, + anim: flxanim.prefix, + fps: flxanim.frameRate, + loop: flxanim.looped, + x: 0, + y: 0, + indices: flxanim.usesIndicies ? flxanim.frames : [], + animType: NONE + }; + if (sprite is FunkinSprite) { + var animOffset = cast(sprite, FunkinSprite).getAnimOffset(name); + animData.x = animOffset.x; animData.y = animOffset.y; + } + return animData; + } + public static function addAnimToSprite(sprite:FlxSprite, animData:AnimData):ErrorCode { if (animData.name != null && animData.anim != null) { if (animData.fps <= 0 #if web || animData.fps == null #end) animData.fps = 24; @@ -174,6 +194,7 @@ class XMLUtil { else animateAnim.addBySymbol(animData.name, animData.anim, animData.fps, animData.loop); } else { + trace("ge"); if (animData.indices.length > 0) sprite.animation.addByIndices(animData.name, animData.anim, animData.indices, "", animData.fps, animData.loop); else diff --git a/source/funkin/editors/character/CharacterAnimScreen.hx b/source/funkin/editors/character/CharacterAnimScreen.hx index 598f6209..d29b45e2 100644 --- a/source/funkin/editors/character/CharacterAnimScreen.hx +++ b/source/funkin/editors/character/CharacterAnimScreen.hx @@ -5,28 +5,44 @@ import flixel.animation.FlxAnimation; import funkin.backend.utils.XMLUtil.AnimData; class CharacterAnimScreen extends UISubstateWindow { - public var animName:Null; public var animData:AnimData; + public var nameTextBox:UITextBox; + public var animTextBox:UITextBox; + public var fpsStepper:UINumericStepper; + public var loopedCheckbox:UICheckbox; + public var indicesTextBox:UITextBox; + public var offsetXStepper:UINumericStepper; + public var offsetYStepper:UINumericStepper; + public var saveButton:UIButton; public var closeButton:UIButton; - private var onSave:(animData:AnimData) -> Void = null; + public var onSave:(animData:AnimData) -> Void = null; - public function new(animName:Null, animData:AnimData) { - this.animName = animName; + public function new(animData:AnimData, ?onSave:(animData:AnimData) -> Void) { + this.animData = animData; + this.onSave = onSave; super(); } public override function create() { - var creatingAnim:Bool = animName == null; + var creatingAnim:Bool = animData == null; - if (creatingAnim) { - animName = ""; - } + if (creatingAnim) + animData = { + name: "name", + anim: "anim", + fps: 24, + loop: false, + animType: NONE, + x: 0, + y: 0, + indices: [] + }; - winTitle = creatingAnim ? 'Creating Animation' : 'Animation $animName properties'; - winWidth = 690; winHeight = 334; + winTitle = creatingAnim ? 'Creating Animation' : 'Animation ${animData.name} properties'; + winWidth = 690; winHeight = 314; super.create(); @@ -36,17 +52,64 @@ class CharacterAnimScreen extends UISubstateWindow { var title:UIText; add(title = new UIText(windowSpr.x + 20, windowSpr.y + 30 + 16, 0, creatingAnim ? "Create New Animation" : "Edit Animation Properties", 28)); + nameTextBox = new UITextBox(title.x, title.y + title.height + 38, animData.name, 160); + add(nameTextBox); + addLabelOn(nameTextBox, "Name"); + + animTextBox = new UITextBox(nameTextBox.x + 160 + 26, nameTextBox.y, animData.anim, 180); + add(animTextBox); + addLabelOn(animTextBox, "Animation"); + + fpsStepper = new UINumericStepper(animTextBox.x + 180 + 26, animTextBox.y, animData.fps, 0.1, 2, 1, 100, 82); + add(fpsStepper); + addLabelOn(fpsStepper, "FPS"); + + loopedCheckbox = new UICheckbox(fpsStepper.x + 82 - 32 + 26, fpsStepper.y, "Looped", animData.loop); + add(loopedCheckbox); + addLabelOn(loopedCheckbox, "Looping"); + loopedCheckbox.x += 8; loopedCheckbox.y += 6; + + indicesTextBox = new UITextBox(nameTextBox.x, nameTextBox.y + 32 + 40, animData.indices.join(", "), 270); + add(indicesTextBox); + addLabelOn(indicesTextBox, "Indices"); + + offsetXStepper = new UINumericStepper(indicesTextBox.x + 270 + 26, indicesTextBox.y, animData.x, 0.001, 2, null, null, 84); + add(offsetXStepper); + addLabelOn(offsetXStepper, "Offset (X,Y)"); + + add(new UIText(offsetXStepper.x + 84 - 32 + 0, offsetXStepper.y + 9, 0, ",", 22)); + + offsetYStepper = new UINumericStepper(offsetXStepper.x + 84 - 32 + 26, offsetXStepper.y, animData.y, 0.001, 2, null, null, 84); + add(offsetYStepper); + saveButton = new UIButton(windowSpr.x + windowSpr.bWidth - 20 - 125, windowSpr.y + windowSpr.bHeight - 16 - 32, "Save & Close", function() { - // saveStrumline(); + saveAnimData(); close(); }, 125); add(saveButton); closeButton = new UIButton(saveButton.x - 20, saveButton.y, creatingAnim ? "Cancel" : "Close", function() { - if (creatingAnim) onSave(null); + if (creatingAnim && onSave != null) onSave(null); close(); }, 125); add(closeButton); closeButton.x -= closeButton.bWidth; } + + public function saveAnimData() { + for (stepper in [offsetXStepper, offsetYStepper, fpsStepper]) + @:privateAccess stepper.__onChange(stepper.label.text); + + animData = { + name: nameTextBox.label.text, + anim: animTextBox.label.text, + fps: fpsStepper.value, + loop: loopedCheckbox.checked, + animType: NONE, + x: offsetXStepper.value, + y: offsetYStepper.value, + indices: [for (indice in indicesTextBox.label.text.split(",")) Std.parseInt(indice.trim())] + } + if (onSave != null) onSave(animData); + } } \ No newline at end of file diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index 824c0e2a..953e57b1 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -27,7 +27,11 @@ class CharacterAnimsWindow extends UIWindow { for (i=>anim in character.animation.getNameList()) createNewButton(anim, character.getAnimOffset(anim), false, -1, false); - addButton = new UIButton(25, 16+((32+16)*(character.animation.getNameList().length)), "", null, 429); + addButton = new UIButton(25, 16+((32+16)*(character.animation.getNameList().length)), "", + function () { + CharacterEditor.instance.createAnimWithUI(); + } + , 426); addButton.cameras = [CharacterEditor.instance.animsCamera]; addButton.color = FlxColor.GREEN; @@ -40,7 +44,7 @@ class CharacterAnimsWindow extends UIWindow { updateButtonsPos(); } - public function createNewButton(anim:String, offset:FlxPoint, ghost:Bool = false, id:Int = -1, updatePos:Bool = true) { + public function createNewButton(anim:String, offset:FlxPoint, ghost:Bool = false, id:Int = -1, ?updatePos:Bool = true) { var button = new CharacterAnimButtons(0,0, anim, offset); if (id == -1) buttons.add(button); else buttons.members.insert(id, button); diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index fa4fc990..7f280dd4 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -338,21 +338,33 @@ class CharacterEditor extends UIState { } function _char_add_anim(_) { - FlxG.state.openSubState(new CharacterAnimScreen(null, null)); + createAnimWithUI(); } function _char_update_anim(_) { } function _char_remove_anim(_) { + deleteAnim(character.animation.name); } function _char_edit_info(_) { FlxG.state.openSubState(new CharacterInfoScreen(character)); } + public function createAnimWithUI() { + FlxG.state.openSubState(new CharacterAnimScreen(null, (_) -> { + if (_ != null) createAnim(_); + })); + } + + public function editAnimWithUI() { + + } + public function createAnim(animData:AnimData, animID:Int = -1, addtoUndo:Bool = true) { XMLUtil.addAnimToSprite(character, animData); + trace(character.animation.getNameList()); characterAnimsWindow.createNewButton(animData.name, FlxPoint.get(animData.x,animData.y), false, animID); playAnimation(animData.name); @@ -364,21 +376,11 @@ class CharacterEditor extends UIState { public function deleteAnim(name:String, addtoUndo:Bool = true) { playAnimation(character.animation.getNameList()[Std.int(Math.abs(character.animation.getNameList().indexOf(name)-1))]); - @:privateAccess var flxanim:FlxAnimation = character.animation._animations.get(name); + // undo shit blah blah var oldID:Int = character.animation.getNameList().indexOf(name); - var oldAnimData:AnimData = { - name: name, - anim: flxanim.prefix, - fps: flxanim.frameRate, - loop: flxanim.looped, - x: character.animOffsets.get(name).x, - y: character.animOffsets.get(name).y, - indices: flxanim.usesIndicies ? flxanim.frames : [], - animType: NONE - }; - @:privateAccess character.animation._animations.remove(name); - flxanim.destroy(); + var oldAnimData:AnimData = XMLUtil.getAnimationData(character, name); + character.animation.remove(name); character.animOffsets.remove(name); characterAnimsWindow.removeButton(name); diff --git a/source/funkin/editors/character/CharacterInfoScreen.hx b/source/funkin/editors/character/CharacterInfoScreen.hx index 336e67ca..5d5dddc4 100644 --- a/source/funkin/editors/character/CharacterInfoScreen.hx +++ b/source/funkin/editors/character/CharacterInfoScreen.hx @@ -16,6 +16,7 @@ class CharacterInfoScreen extends UISubstateWindow { public var scaleStepper:UINumericStepper; public var singTimeStepper:UINumericStepper; public var isPlayerCheckbox:UICheckbox; + // TODO: ADD THESE OPTIONS AND A HEALTH BAR COLOR OPTION public var isGFCheckbox:UICheckbox; public var flipXCheckbox:UICheckbox; public var antialiasingCheckbox:UICheckbox; @@ -81,7 +82,7 @@ class CharacterInfoScreen extends UISubstateWindow { singTimeStepper = new UINumericStepper(scaleStepper.x + 74 - 32 + 36, scaleStepper.y, character.holdTime, 0.001, 2, null, null, 74); add(singTimeStepper); - addLabelOn(singTimeStepper, "Sing Time"); + addLabelOn(singTimeStepper, "Sing Duration (Steps)"); isPlayerCheckbox = new UICheckbox(positionXStepper.x, positionXStepper.y + 10 + 32 + 26, "isPlayer", character.playerOffsets); add(isPlayerCheckbox); diff --git a/source/funkin/editors/charter/CharterStrumlineScreen.hx b/source/funkin/editors/charter/CharterStrumlineScreen.hx index 91167d5c..c3c978f1 100644 --- a/source/funkin/editors/charter/CharterStrumlineScreen.hx +++ b/source/funkin/editors/charter/CharterStrumlineScreen.hx @@ -135,7 +135,7 @@ class CharterStrumlineScreen extends UISubstateWindow { add(saveButton); closeButton = new UIButton(saveButton.x - 20, saveButton.y, creatingStrumLine ? "Cancel" : "Close", function() { - if (creatingStrumLine) onSave(null); + if (creatingStrumLine && onSave != null) onSave(null); close(); }, 125); add(closeButton); From de02ccc18c82967ba9583c5a8e742986f30ad412 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Mon, 10 Jul 2023 19:41:53 -0700 Subject: [PATCH 04/27] adding anims works now (+editing ui) --- source/funkin/backend/FunkinSprite.hx | 5 ++++- source/funkin/backend/utils/XMLUtil.hx | 21 +------------------ .../editors/character/CharacterAnimScreen.hx | 9 +++++++- .../editors/character/CharacterAnimsWindow.hx | 6 ++++-- .../editors/character/CharacterEditor.hx | 20 +++++++++++------- source/funkin/game/Character.hx | 2 -- 6 files changed, 29 insertions(+), 34 deletions(-) diff --git a/source/funkin/backend/FunkinSprite.hx b/source/funkin/backend/FunkinSprite.hx index 15d7d10c..e7da3ae5 100644 --- a/source/funkin/backend/FunkinSprite.hx +++ b/source/funkin/backend/FunkinSprite.hx @@ -1,5 +1,6 @@ package funkin.backend; +import funkin.backend.utils.XMLUtil.AnimData; import funkin.backend.utils.XMLUtil.IXMLEvents; import flixel.system.FlxAssets.FlxGraphicAsset; import flixel.addons.effects.FlxSkewedSprite; @@ -37,6 +38,8 @@ class FunkinSprite extends FlxSkewedSprite implements IBeatReceiver implements I public var name:String; public var zoomFactor:Float = 1; public var initialZoom:Float = 1; + public var debugMode:Bool = false; + public var animDatas:Map = []; public var animateAtlas:FlxAnimate; @:noCompletion public var atlasPlayingAnim:String; @@ -286,7 +289,7 @@ class FunkinSprite extends FlxSkewedSprite implements IBeatReceiver implements I } else { - if (!animation.exists(AnimName)) + if (!animation.exists(AnimName) && !debugMode) return; animation.play(AnimName, Force, Reversed, Frame); } diff --git a/source/funkin/backend/utils/XMLUtil.hx b/source/funkin/backend/utils/XMLUtil.hx index b03d067c..8d0e8163 100644 --- a/source/funkin/backend/utils/XMLUtil.hx +++ b/source/funkin/backend/utils/XMLUtil.hx @@ -164,25 +164,6 @@ class XMLUtil { return addAnimToSprite(sprite, extractAnimFromXML(anim, animType, loop)); } - public static function getAnimationData(sprite:FlxSprite, name:String):AnimData { - var flxanim:FlxAnimation = sprite.animation.getByName(name); - var animData:AnimData = { - name: name, - anim: flxanim.prefix, - fps: flxanim.frameRate, - loop: flxanim.looped, - x: 0, - y: 0, - indices: flxanim.usesIndicies ? flxanim.frames : [], - animType: NONE - }; - if (sprite is FunkinSprite) { - var animOffset = cast(sprite, FunkinSprite).getAnimOffset(name); - animData.x = animOffset.x; animData.y = animOffset.y; - } - return animData; - } - public static function addAnimToSprite(sprite:FlxSprite, animData:AnimData):ErrorCode { if (animData.name != null && animData.anim != null) { if (animData.fps <= 0 #if web || animData.fps == null #end) animData.fps = 24; @@ -194,7 +175,6 @@ class XMLUtil { else animateAnim.addBySymbol(animData.name, animData.anim, animData.fps, animData.loop); } else { - trace("ge"); if (animData.indices.length > 0) sprite.animation.addByIndices(animData.name, animData.anim, animData.indices, "", animData.fps, animData.loop); else @@ -214,6 +194,7 @@ class XMLUtil { default: // nothing } + xmlSpr.animDatas.set(animData.name, animData); } return OK; } diff --git a/source/funkin/editors/character/CharacterAnimScreen.hx b/source/funkin/editors/character/CharacterAnimScreen.hx index d29b45e2..01bd59e4 100644 --- a/source/funkin/editors/character/CharacterAnimScreen.hx +++ b/source/funkin/editors/character/CharacterAnimScreen.hx @@ -108,8 +108,15 @@ class CharacterAnimScreen extends UISubstateWindow { animType: NONE, x: offsetXStepper.value, y: offsetYStepper.value, - indices: [for (indice in indicesTextBox.label.text.split(",")) Std.parseInt(indice.trim())] + indices: [] + }; + var indicesSplit = indicesTextBox.label.text.split(","); + for(indice in indicesSplit) { + var i = Std.parseInt(indice.trim()); + if (i != null) + animData.indices.push(i); } + if (onSave != null) onSave(animData); } } \ No newline at end of file diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index 953e57b1..6b7be858 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -66,7 +66,7 @@ class CharacterAnimsWindow extends UIWindow { for (i => button in buttons.members) cast(button, CharacterAnimButtons).updatePos(23,16+((32+16)*i)); - addButton.y = 16+((32+16)*(character.animation.getNameList().length)); + addButton.y = 16+((32+16)*(buttons.members.length)); addIcon.x = addButton.x + (440/2) - 8; addIcon.y = addButton.y + (32/2) - 8; } @@ -125,7 +125,9 @@ class CharacterAnimButtons extends UIButton { ghostIcon.updateHitbox(); members.push(ghostIcon); - editButton = new UIButton(ghostButton.x+32+17, y, "", null, 32); + editButton = new UIButton(ghostButton.x+32+17, y, "", function () { + CharacterEditor.instance.editAnimWithUI(this.anim); + }, 32); members.push(editButton); editIcon = new FlxSprite(editButton.x + 8, editButton.y + 8).loadGraphic(Paths.image('editors/character/edit-button')); diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 7f280dd4..8871b532 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -97,7 +97,7 @@ class CharacterEditor extends UIState { }, { label: "Edit Animation", - onSelect: _char_update_anim, + onSelect: _char_edit_anim, }, { label: "Delete Animation", @@ -341,7 +341,8 @@ class CharacterEditor extends UIState { createAnimWithUI(); } - function _char_update_anim(_) { + function _char_edit_anim(_) { + editAnimWithUI(character.animation.name); } function _char_remove_anim(_) { @@ -358,13 +359,14 @@ class CharacterEditor extends UIState { })); } - public function editAnimWithUI() { - + public function editAnimWithUI(name:String) { + FlxG.state.openSubState(new CharacterAnimScreen(character.animDatas.get(name), (_) -> { + trace("this dont work yet looooll"); + })); } public function createAnim(animData:AnimData, animID:Int = -1, addtoUndo:Bool = true) { XMLUtil.addAnimToSprite(character, animData); - trace(character.animation.getNameList()); characterAnimsWindow.createNewButton(animData.name, FlxPoint.get(animData.x,animData.y), false, animID); playAnimation(animData.name); @@ -378,10 +380,12 @@ class CharacterEditor extends UIState { // undo shit blah blah var oldID:Int = character.animation.getNameList().indexOf(name); - var oldAnimData:AnimData = XMLUtil.getAnimationData(character, name); + var oldAnimData:AnimData = character.animDatas.get(name); - character.animation.remove(name); - character.animOffsets.remove(name); + if (character.animation.exists(name)) { + character.animation.remove(name); + character.animOffsets.remove(name); + } characterAnimsWindow.removeButton(name); if (addtoUndo) diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index e6f4d5a4..c789aaa3 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -40,8 +40,6 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset return stunned = b; } - public var debugMode:Bool = false; - public var isPlayer:Bool = false; public var isGF:Bool = false; public var curCharacter:String = 'bf'; From e5880d403acd4ca40d07e8b7051be042b2c47c8b Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Mon, 10 Jul 2023 22:10:37 -0700 Subject: [PATCH 05/27] making the anim box slightly bigger fr --- source/funkin/editors/character/CharacterAnimScreen.hx | 4 ++-- source/funkin/editors/character/CharacterEditor.hx | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/source/funkin/editors/character/CharacterAnimScreen.hx b/source/funkin/editors/character/CharacterAnimScreen.hx index 01bd59e4..cbfa5e9f 100644 --- a/source/funkin/editors/character/CharacterAnimScreen.hx +++ b/source/funkin/editors/character/CharacterAnimScreen.hx @@ -56,11 +56,11 @@ class CharacterAnimScreen extends UISubstateWindow { add(nameTextBox); addLabelOn(nameTextBox, "Name"); - animTextBox = new UITextBox(nameTextBox.x + 160 + 26, nameTextBox.y, animData.anim, 180); + animTextBox = new UITextBox(nameTextBox.x + 160 + 26, nameTextBox.y, animData.anim, 200); add(animTextBox); addLabelOn(animTextBox, "Animation"); - fpsStepper = new UINumericStepper(animTextBox.x + 180 + 26, animTextBox.y, animData.fps, 0.1, 2, 1, 100, 82); + fpsStepper = new UINumericStepper(animTextBox.x + 200 + 26, animTextBox.y, animData.fps, 0.1, 2, 1, 100, 82); add(fpsStepper); addLabelOn(fpsStepper, "FPS"); diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 8871b532..e02d5c1f 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -382,10 +382,12 @@ class CharacterEditor extends UIState { var oldID:Int = character.animation.getNameList().indexOf(name); var oldAnimData:AnimData = character.animDatas.get(name); - if (character.animation.exists(name)) { + if (character.animation.exists(name)) character.animation.remove(name); + if (character.animOffsets.exists(name)) character.animOffsets.remove(name); - } + if (character.animDatas.exists(name)) + character.animDatas.remove(name); characterAnimsWindow.removeButton(name); if (addtoUndo) From 3a790cf0cef7156e39631eb9cb3b3f3661c3ecb7 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:08:22 -0700 Subject: [PATCH 06/27] editing (prob buggy pls test) --- .../editors/character/CharacterEditor.hx | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index e02d5c1f..2c2ab77b 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -1,5 +1,6 @@ package funkin.editors.character; +import funkin.editors.character.CharacterAnimsWindow.CharacterAnimButtons; import funkin.backend.utils.XMLUtil.AnimData; import flixel.math.FlxPoint; import flixel.animation.FlxAnimation; @@ -302,6 +303,8 @@ class CharacterEditor extends UIState { // do nothing case CCreateAnim(animID, animData): deleteAnim(animData.name, false); + case CEditAnim(name, oldData, animData): + editAnim(name, oldData, false); case CDeleteAnim(animID, animData): createAnim(animData, animID, false); case CChangeOffset(name, change): @@ -326,6 +329,8 @@ class CharacterEditor extends UIState { // do nothing case CCreateAnim(animID, animData): createAnim(animData, animID, false); + case CEditAnim(name, oldData, animData): + editAnim(oldData.name, animData, false); case CDeleteAnim(animID, animData): deleteAnim(animData.name, false); case CChangeOffset(name, change): @@ -361,7 +366,7 @@ class CharacterEditor extends UIState { public function editAnimWithUI(name:String) { FlxG.state.openSubState(new CharacterAnimScreen(character.animDatas.get(name), (_) -> { - trace("this dont work yet looooll"); + if (_ != null) editAnim(name, _); })); } @@ -375,6 +380,18 @@ class CharacterEditor extends UIState { addToUndo(CCreateAnim(character.animation.getNameList().length, animData)); } + public function editAnim(name:String, animData:AnimData, addtoUndo:Bool = true) { + var oldAnimData:AnimData = character.animDatas.get(name); + var button:CharacterAnimButtons = characterAnimsWindow.animButtons[name]; + + XMLUtil.addAnimToSprite(character, animData); + button.updateInfo(animData.name, character.getAnimOffset(animData.name), false); + playAnimation(animData.name); + + if (addtoUndo) + addToUndo(CEditAnim(animData.name, oldAnimData, animData)); + } + public function deleteAnim(name:String, addtoUndo:Bool = true) { playAnimation(character.animation.getNameList()[Std.int(Math.abs(character.animation.getNameList().indexOf(name)-1))]); @@ -382,12 +399,9 @@ class CharacterEditor extends UIState { var oldID:Int = character.animation.getNameList().indexOf(name); var oldAnimData:AnimData = character.animDatas.get(name); - if (character.animation.exists(name)) - character.animation.remove(name); - if (character.animOffsets.exists(name)) - character.animOffsets.remove(name); - if (character.animDatas.exists(name)) - character.animDatas.remove(name); + if (character.animation.exists(name)) character.animation.remove(name); + if (character.animOffsets.exists(name)) character.animOffsets.remove(name); + if (character.animDatas.exists(name)) character.animDatas.remove(name); characterAnimsWindow.removeButton(name); if (addtoUndo) @@ -492,6 +506,7 @@ class CharacterEditor extends UIState { enum CharacterChange { CCreateAnim(animID:Int, animData:AnimData); + CEditAnim(name:String, oldData:AnimData, animData:AnimData); CDeleteAnim(animID:Int, animData:AnimData); CChangeOffset(name:String, change:FlxPoint); CResetOffsets(oldOffsets:Map); From e4bd9a4cde38aa862d44856e2042b6597f94753e Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:33:02 -0700 Subject: [PATCH 07/27] how to code? --- source/funkin/editors/character/CharacterEditor.hx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 2c2ab77b..ee48a4fd 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -84,8 +84,7 @@ class CharacterEditor extends UIState { label: "Redo", keybinds: [[CONTROL, Y], [CONTROL, SHIFT, Z]], onSelect: _edit_redo - }, - null + } ] }, { @@ -413,6 +412,7 @@ class CharacterEditor extends UIState { } function _playback_stop_anim(_) { + character.animation.stop(); } public function playAnimation(anim:String) { From e5c984dc8225f4331da190f650b56c9a1ac72602 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Thu, 13 Jul 2023 15:26:51 -0700 Subject: [PATCH 08/27] character propetries window ui --- .../editors/character/CharacterAnimsWindow.hx | 2 +- .../editors/character/CharacterEditor.hx | 24 +++++++++---------- .../character/CharacterPropertiesWindow.hx | 22 ++++++++++++++++- source/funkin/editors/charter/Charter.hx | 1 - 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index 6b7be858..e4679289 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -84,7 +84,7 @@ class CharacterAnimsWindow extends UIWindow { __rect.width = bWidth; __rect.height = bHeight; if(UIState.state.isOverlapping(this, __rect)) { var nextscrollY = scrollY - FlxG.mouse.wheel * 12; - if (nextscrollY >= 0 && nextscrollY + CharacterEditor.instance.animsCamera.height <= (addButton.y +32 +26)) + if (nextscrollY >= 0 && nextscrollY + CharacterEditor.instance.animsCamera.height <= (addButton.y +32 +23)) scrollY = nextscrollY; hovered = true; } else diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index ee48a4fd..8deaaad6 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -52,7 +52,8 @@ class CharacterEditor extends UIState { label: "File", childs: [ { - label: "New" + label: "New", + onSelect: _file_new, }, null, { @@ -122,11 +123,7 @@ class CharacterEditor extends UIState { { label: "Stop Animation", onSelect: _playback_stop_anim - }, - null, - { - label: "Go to frame", - }, + } ] }, { @@ -222,7 +219,7 @@ class CharacterEditor extends UIState { topMenuSpr = new UITopMenu(topMenu); topMenuSpr.cameras = uiGroup.cameras = [uiCamera]; - characterPropertiresWindow = new CharacterPropertiesWindow(800-23,23 + 23, 450 + 23, 140, "Character Properties"); + characterPropertiresWindow = new CharacterPropertiesWindow(); characterAnimsWindow = new CharacterAnimsWindow(character); uiGroup.add(characterPropertiresWindow); uiGroup.add(characterAnimsWindow); @@ -246,6 +243,9 @@ class CharacterEditor extends UIState { UIUtil.processShortcuts(topMenu); } + if (character != null) + characterPropertiresWindow.characterInfo.text = '(Num) Animations: ${character.animation.getNameList().length}\nFlipped: ${character.flipX}\nSprite: ${character.sprite}\nAnim: ${character.animation.name}'; + if (FlxG.mouse.wheel != 0 && !(characterPropertiresWindow.hovered || characterAnimsWindow.hovered)) { zoom += 0.25 * FlxG.mouse.wheel; __camZoom = Math.pow(2, zoom); @@ -263,8 +263,8 @@ class CharacterEditor extends UIState { } charCamera.scroll.set( - lerp(charCamera.scroll.x, nextScroll.x, 0.5), - lerp(charCamera.scroll.y, nextScroll.y, 0.5) + lerp(charCamera.scroll.x, nextScroll.x, 0.25), + lerp(charCamera.scroll.y, nextScroll.y, 0.25) ); charCamera.zoom = lerp(charCamera.zoom, __camZoom, 0.125); @@ -286,15 +286,15 @@ class CharacterEditor extends UIState { FlxG.switchState(new CharacterSelection()); } + function _file_new(_) { + } + function _file_save(_) { } function _file_saveas(_) { } - function _edit_delete(_) { - } - function _edit_undo(_) { var v = undoList.shift(); switch (v) { diff --git a/source/funkin/editors/character/CharacterPropertiesWindow.hx b/source/funkin/editors/character/CharacterPropertiesWindow.hx index 9f36bd9d..51c5a1cf 100644 --- a/source/funkin/editors/character/CharacterPropertiesWindow.hx +++ b/source/funkin/editors/character/CharacterPropertiesWindow.hx @@ -1,5 +1,25 @@ package funkin.editors.character; +import flixel.util.FlxColor; + class CharacterPropertiesWindow extends UIWindow { - + public var newButton:UIButton; + public var editButton:UIButton; + + public var characterInfo:UIText; + + public function new() { + super(800-23,23 + 23, 450 + 23, 140, "Character Properties"); + + newButton = new UIButton( x +(450 + 23)- 25 - 3 - 200, y + 12 + 31, "New Character", null, 200); + members.push(newButton); + newButton.color = FlxColor.GREEN; + + editButton = new UIButton(newButton.x, newButton.y + 12 + 30 + 4, "Edit Character Info", null, 200); + members.push(editButton); + + characterInfo = new UIText(x + 450 + 20 - 42 - 400, y + 36 + 16, 400, "(Num) Animations:\nFlipped:\nSprite:\nCurrent Anim:"); + characterInfo.alignment = LEFT; + members.push(characterInfo); + } } \ No newline at end of file diff --git a/source/funkin/editors/charter/Charter.hx b/source/funkin/editors/charter/Charter.hx index c0a0dc62..5abdfa08 100644 --- a/source/funkin/editors/charter/Charter.hx +++ b/source/funkin/editors/charter/Charter.hx @@ -356,7 +356,6 @@ class Charter extends UIState { sep.cameras = [charterCamera]; } - selectionBox = new UISliceSprite(0, 0, 2, 2, 'editors/ui/selection'); selectionBox.visible = false; selectionBox.scrollFactor.set(1, 1); From 16479c98e09016ad2b128f1f1dea4591d7de607b Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Thu, 13 Jul 2023 15:51:14 -0700 Subject: [PATCH 09/27] stop null object on all animations delete --- .../funkin/editors/character/CharacterEditor.hx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 8deaaad6..8be4f5c4 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -392,7 +392,10 @@ class CharacterEditor extends UIState { } public function deleteAnim(name:String, addtoUndo:Bool = true) { - playAnimation(character.animation.getNameList()[Std.int(Math.abs(character.animation.getNameList().indexOf(name)-1))]); + if (character.animation.getNameList().length-1 == 0) + @:privateAccess character.animation._curAnim = null; + else + playAnimation(character.animation.getNameList()[Std.int(Math.abs(character.animation.getNameList().indexOf(name)-1))]); // undo shit blah blah var oldID:Int = character.animation.getNameList().indexOf(name); @@ -408,11 +411,13 @@ class CharacterEditor extends UIState { } function _playback_play_anim(_) { - playAnimation(character.animation.name); + if (character.animation.getNameList().length != 0) + playAnimation(character.animation.name); } function _playback_stop_anim(_) { - character.animation.stop(); + if (character.animation.getNameList().length != 0) + character.animation.stop(); } public function playAnimation(anim:String) { @@ -457,6 +462,8 @@ class CharacterEditor extends UIState { } function changeOffset(anim:String, change:FlxPoint, addtoUndo:Bool = true) { + if (character.animation.getNameList().length == 0) return; + character.animOffsets.set(anim, character.getAnimOffset(anim) + change); characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); character.frameOffset.set(character.getAnimOffset(anim).x, character.getAnimOffset(anim).y); @@ -466,6 +473,8 @@ class CharacterEditor extends UIState { } function clearOffsets(addtoUndo:Bool = true) { + if (character.animation.getNameList().length == 0) return; + var oldOffsets:Map = [ for (anim => offsets in character.animOffsets) anim => offsets.clone() From d5a2de296b2e33152d2161d8b0e1ea0bd5267c68 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Thu, 13 Jul 2023 18:51:09 -0700 Subject: [PATCH 10/27] Character Info UI --- .../editors/character/CharacterEditor.hx | 11 +++++-- .../editors/character/CharacterInfoScreen.hx | 30 +++++++++++++------ .../character/CharacterPropertiesWindow.hx | 4 ++- 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 8be4f5c4..83e5c03e 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -253,13 +253,12 @@ class CharacterEditor extends UIState { if (FlxG.mouse.justPressedMiddle) { FlxG.mouse.getScreenPosition(charCamera, camDrag); - camDrag *= 1.2; camDrag += charCamera.scroll; } if (FlxG.mouse.pressedMiddle) { var pos = FlxG.mouse.getScreenPosition(charCamera); - nextScroll.set((camDrag.x - (pos.x*1.2)), (camDrag.y - (pos.y*1.2))); + nextScroll.set((camDrag.x - pos.x), (camDrag.y - pos.y)); } charCamera.scroll.set( @@ -385,7 +384,9 @@ class CharacterEditor extends UIState { XMLUtil.addAnimToSprite(character, animData); button.updateInfo(animData.name, character.getAnimOffset(animData.name), false); - playAnimation(animData.name); + + if (character.animation.name == animData.name) // update anim ifs its currently selected + playAnimation(animData.name); if (addtoUndo) addToUndo(CEditAnim(animData.name, oldAnimData, animData)); @@ -410,6 +411,10 @@ class CharacterEditor extends UIState { addToUndo(CDeleteAnim(oldID, oldAnimData)); } + public function editInfoWithUI(addtoUndo:Bool = true) { + FlxG.state.openSubState(new CharacterInfoScreen(character)); + } + function _playback_play_anim(_) { if (character.animation.getNameList().length != 0) playAnimation(character.animation.name); diff --git a/source/funkin/editors/character/CharacterInfoScreen.hx b/source/funkin/editors/character/CharacterInfoScreen.hx index 5d5dddc4..25e5c636 100644 --- a/source/funkin/editors/character/CharacterInfoScreen.hx +++ b/source/funkin/editors/character/CharacterInfoScreen.hx @@ -9,6 +9,8 @@ class CharacterInfoScreen extends UISubstateWindow { public var iconTextBox:UITextBox; public var iconSprite:FlxSprite; public var gameOverCharTextBox:UITextBox; + public var antialiasingCheckbox:UICheckbox; + public var flipXCheckbox:UICheckbox; public var positionXStepper:UINumericStepper; public var positionYStepper:UINumericStepper; public var cameraXStepper:UINumericStepper; @@ -16,10 +18,7 @@ class CharacterInfoScreen extends UISubstateWindow { public var scaleStepper:UINumericStepper; public var singTimeStepper:UINumericStepper; public var isPlayerCheckbox:UICheckbox; - // TODO: ADD THESE OPTIONS AND A HEALTH BAR COLOR OPTION public var isGFCheckbox:UICheckbox; - public var flipXCheckbox:UICheckbox; - public var antialiasingCheckbox:UICheckbox; public var saveButton:UIButton; public var closeButton:UIButton; @@ -31,7 +30,8 @@ class CharacterInfoScreen extends UISubstateWindow { public override function create() { winTitle = "Editing Character"; - winWidth = 960; + winWidth = 714; + winHeight = 500; super.create(); @@ -52,11 +52,19 @@ class CharacterInfoScreen extends UISubstateWindow { updateIcon(character.getIcon()); - gameOverCharTextBox = new UITextBox(iconTextBox.x + 150 + (75 + 16), iconTextBox.y, character.gameOverCharacter, 200); + gameOverCharTextBox = new UITextBox(iconTextBox.x + 150 + (75 + 12), iconTextBox.y, character.gameOverCharacter, 200); add(gameOverCharTextBox); addLabelOn(gameOverCharTextBox, "Game Over Character"); - add(title = new UIText(spriteTextBox.x, spriteTextBox.y + 10 + 46, 0, "Character Data", 28)); + antialiasingCheckbox = new UICheckbox(spriteTextBox.x, spriteTextBox.y + 10 + 32 + 28, "Antialiasing", character.antialiasing); + add(antialiasingCheckbox); + addLabelOn(antialiasingCheckbox, "Antialiased"); + + flipXCheckbox = new UICheckbox(antialiasingCheckbox.x + 172, spriteTextBox.y + 10 + 32 + 28, "FlipX", character.flipX); + add(flipXCheckbox); + addLabelOn(flipXCheckbox, "Flipped"); + + add(title = new UIText(spriteTextBox.x, spriteTextBox.y + 10 + 46 + 64, 0, "Character Data", 28)); positionXStepper = new UINumericStepper(title.x, title.y + title.height + 36, character.globalOffset.x, 0.001, 2, null, null, 84); add(positionXStepper); @@ -84,12 +92,16 @@ class CharacterInfoScreen extends UISubstateWindow { add(singTimeStepper); addLabelOn(singTimeStepper, "Sing Duration (Steps)"); - isPlayerCheckbox = new UICheckbox(positionXStepper.x, positionXStepper.y + 10 + 32 + 26, "isPlayer", character.playerOffsets); + isPlayerCheckbox = new UICheckbox(positionXStepper.x, positionXStepper.y + 10 + 32 + 28, "isPlayer", character.playerOffsets); add(isPlayerCheckbox); addLabelOn(isPlayerCheckbox, "Is Player"); - for (checkbox in [isPlayerCheckbox]) - {checkbox.y += 6; checkbox.x += 4;} + isGFCheckbox = new UICheckbox(isPlayerCheckbox.x + 128, positionXStepper.y + 10 + 32 + 28, "isGF", character.isGF); + add(isGFCheckbox); + addLabelOn(isGFCheckbox, "Is GF"); + + for (checkbox in [isPlayerCheckbox, isGFCheckbox, antialiasingCheckbox, flipXCheckbox]) + {checkbox.y += 4; checkbox.x += 6;} saveButton = new UIButton(windowSpr.x + windowSpr.bWidth - 20, windowSpr.y + windowSpr.bHeight- 20, "Save & Close", function() { close(); diff --git a/source/funkin/editors/character/CharacterPropertiesWindow.hx b/source/funkin/editors/character/CharacterPropertiesWindow.hx index 51c5a1cf..3822fbe2 100644 --- a/source/funkin/editors/character/CharacterPropertiesWindow.hx +++ b/source/funkin/editors/character/CharacterPropertiesWindow.hx @@ -15,7 +15,9 @@ class CharacterPropertiesWindow extends UIWindow { members.push(newButton); newButton.color = FlxColor.GREEN; - editButton = new UIButton(newButton.x, newButton.y + 12 + 30 + 4, "Edit Character Info", null, 200); + editButton = new UIButton(newButton.x, newButton.y + 12 + 30 + 4, "Edit Character Info", function () { + CharacterEditor.instance.editInfoWithUI(); + }, 200); members.push(editButton); characterInfo = new UIText(x + 450 + 20 - 42 - 400, y + 36 + 16, 400, "(Num) Animations:\nFlipped:\nSprite:\nCurrent Anim:"); From 67fa5af8982c0942e7847f2d911649ae63b42f86 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Thu, 13 Jul 2023 22:31:16 -0700 Subject: [PATCH 11/27] atlas characters now work --- source/funkin/backend/FunkinSprite.hx | 21 ++++++++ .../editors/character/CharacterAnimsWindow.hx | 6 +-- .../editors/character/CharacterEditor.hx | 54 +++++++++---------- 3 files changed, 51 insertions(+), 30 deletions(-) diff --git a/source/funkin/backend/FunkinSprite.hx b/source/funkin/backend/FunkinSprite.hx index e7da3ae5..b32bc753 100644 --- a/source/funkin/backend/FunkinSprite.hx +++ b/source/funkin/backend/FunkinSprite.hx @@ -327,6 +327,27 @@ class FunkinSprite extends FlxSkewedSprite implements IBeatReceiver implements I return name; } + public inline function removeAnimation(name:String) { + if (animateAtlas != null) + @:privateAccess animateAtlas.anim.animsMap.remove(name); + else + animation.remove(name); + } + + public inline function getNameList():Array { + if (animateAtlas != null) + return [for (name in @:privateAccess animateAtlas.anim.animsMap.keys()) name]; + else + return animation.getNameList(); + } + + public inline function stopAnimation() { + if (animateAtlas != null) + animateAtlas.anim.pause(); + else + animation.stop(); + } + public inline function isAnimFinished() { return animateAtlas != null ? (animateAtlas.anim.finished) : (animation.curAnim != null ? animation.curAnim.finished : true); diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index e4679289..82a4a790 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -24,10 +24,10 @@ class CharacterAnimsWindow extends UIWindow { } public function createButtons() { - for (i=>anim in character.animation.getNameList()) - createNewButton(anim, character.getAnimOffset(anim), false, -1, false); + for (i=>anim in character.animDatas) + createNewButton(anim.name, character.getAnimOffset(anim.name), false, -1, false); - addButton = new UIButton(25, 16+((32+16)*(character.animation.getNameList().length)), "", + addButton = new UIButton(25, 16+((32+16)*(character.getNameList().length)), "", function () { CharacterEditor.instance.createAnimWithUI(); } diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 83e5c03e..b9509743 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -224,7 +224,7 @@ class CharacterEditor extends UIState { uiGroup.add(characterPropertiresWindow); uiGroup.add(characterAnimsWindow); - playAnimation(character.animation.getNameList()[0]); + playAnimation(character.getNameList()[0]); add(topMenuSpr); add(uiGroup); @@ -244,7 +244,7 @@ class CharacterEditor extends UIState { } if (character != null) - characterPropertiresWindow.characterInfo.text = '(Num) Animations: ${character.animation.getNameList().length}\nFlipped: ${character.flipX}\nSprite: ${character.sprite}\nAnim: ${character.animation.name}'; + characterPropertiresWindow.characterInfo.text = '(Num) Animations: ${character.getNameList().length}\nFlipped: ${character.flipX}\nSprite: ${character.sprite}\nAnim: ${character.getAnimName()}'; if (FlxG.mouse.wheel != 0 && !(characterPropertiresWindow.hovered || characterAnimsWindow.hovered)) { zoom += 0.25 * FlxG.mouse.wheel; @@ -311,10 +311,10 @@ class CharacterEditor extends UIState { for (anim => offsets in oldOffsets) character.animOffsets.set(anim, offsets.clone()); - for (anim in character.animation.getNameList()) + for (anim in character.getNameList()) characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); - changeOffset(character.animation.name, FlxPoint.get(0, 0), false); // apply da new offsets + changeOffset(character.getAnimName(), FlxPoint.get(0, 0), false); // apply da new offsets } if (v != null) redoList.insert(0, v); @@ -345,11 +345,11 @@ class CharacterEditor extends UIState { } function _char_edit_anim(_) { - editAnimWithUI(character.animation.name); + editAnimWithUI(character.getAnimName()); } function _char_remove_anim(_) { - deleteAnim(character.animation.name); + deleteAnim(character.getAnimName()); } function _char_edit_info(_) { @@ -375,7 +375,7 @@ class CharacterEditor extends UIState { playAnimation(animData.name); if (addtoUndo) - addToUndo(CCreateAnim(character.animation.getNameList().length, animData)); + addToUndo(CCreateAnim(character.getNameList().length, animData)); } public function editAnim(name:String, animData:AnimData, addtoUndo:Bool = true) { @@ -385,7 +385,7 @@ class CharacterEditor extends UIState { XMLUtil.addAnimToSprite(character, animData); button.updateInfo(animData.name, character.getAnimOffset(animData.name), false); - if (character.animation.name == animData.name) // update anim ifs its currently selected + if (character.getAnimName() == animData.name) // update anim ifs its currently selected playAnimation(animData.name); if (addtoUndo) @@ -393,16 +393,16 @@ class CharacterEditor extends UIState { } public function deleteAnim(name:String, addtoUndo:Bool = true) { - if (character.animation.getNameList().length-1 == 0) + if (character.getNameList().length-1 == 0) @:privateAccess character.animation._curAnim = null; else - playAnimation(character.animation.getNameList()[Std.int(Math.abs(character.animation.getNameList().indexOf(name)-1))]); + playAnimation(character.getNameList()[Std.int(Math.abs(character.getNameList().indexOf(name)-1))]); // undo shit blah blah - var oldID:Int = character.animation.getNameList().indexOf(name); + var oldID:Int = character.getNameList().indexOf(name); var oldAnimData:AnimData = character.animDatas.get(name); - if (character.animation.exists(name)) character.animation.remove(name); + character.removeAnimation(name); if (character.animOffsets.exists(name)) character.animOffsets.remove(name); if (character.animDatas.exists(name)) character.animDatas.remove(name); characterAnimsWindow.removeButton(name); @@ -416,13 +416,13 @@ class CharacterEditor extends UIState { } function _playback_play_anim(_) { - if (character.animation.getNameList().length != 0) - playAnimation(character.animation.name); + if (character.getNameList().length != 0) + playAnimation(character.getAnimName()); } function _playback_stop_anim(_) { - if (character.animation.getNameList().length != 0) - character.animation.stop(); + if (character.getNameList().length != 0) + character.stopAnimation(); } public function playAnimation(anim:String) { @@ -431,35 +431,35 @@ class CharacterEditor extends UIState { } function _offsets_left(_) { - changeOffset(character.animation.name, FlxPoint.get(1, 0)); + changeOffset(character.getAnimName(), FlxPoint.get(1, 0)); } function _offsets_up(_) { - changeOffset(character.animation.name, FlxPoint.get(0, 1)); + changeOffset(character.getAnimName(), FlxPoint.get(0, 1)); } function _offsets_down(_) { - changeOffset(character.animation.name, FlxPoint.get(0, -1)); + changeOffset(character.getAnimName(), FlxPoint.get(0, -1)); } function _offsets_right(_) { - changeOffset(character.animation.name, FlxPoint.get(-1, 0)); + changeOffset(character.getAnimName(), FlxPoint.get(-1, 0)); } function _offsets_extra_left(_) { - changeOffset(character.animation.name, FlxPoint.get(5, 0)); + changeOffset(character.getAnimName(), FlxPoint.get(5, 0)); } function _offsets_extra_up(_) { - changeOffset(character.animation.name, FlxPoint.get(0, 5)); + changeOffset(character.getAnimName(), FlxPoint.get(0, 5)); } function _offsets_extra_down(_) { - changeOffset(character.animation.name, FlxPoint.get(0, -5)); + changeOffset(character.getAnimName(), FlxPoint.get(0, -5)); } function _offsets_extra_right(_) { - changeOffset(character.animation.name, FlxPoint.get(-5, 0)); + changeOffset(character.getAnimName(), FlxPoint.get(-5, 0)); } function _offsets_clear(_) { @@ -467,7 +467,7 @@ class CharacterEditor extends UIState { } function changeOffset(anim:String, change:FlxPoint, addtoUndo:Bool = true) { - if (character.animation.getNameList().length == 0) return; + if (character.getNameList().length == 0) return; character.animOffsets.set(anim, character.getAnimOffset(anim) + change); characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); @@ -478,14 +478,14 @@ class CharacterEditor extends UIState { } function clearOffsets(addtoUndo:Bool = true) { - if (character.animation.getNameList().length == 0) return; + if (character.getNameList().length == 0) return; var oldOffsets:Map = [ for (anim => offsets in character.animOffsets) anim => offsets.clone() ]; - for (anim in character.animation.getNameList()) { + for (anim in character.getNameList()) { character.animOffsets[anim].zero(); characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); } From 9f40e599364c827f9a80af44e4528cbfb37b6b14 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Thu, 13 Jul 2023 22:52:36 -0700 Subject: [PATCH 12/27] faster cam speed drag --- source/funkin/editors/character/CharacterEditor.hx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index b9509743..7d97dd25 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -232,6 +232,7 @@ class CharacterEditor extends UIState { private var movingCam:Bool = false; private var camDrag:FlxPoint = FlxPoint.get(0,0); + private var camDragSpeed:Float = 1.2; private var nextScroll:FlxPoint = FlxPoint.get(0,0); @@ -253,11 +254,13 @@ class CharacterEditor extends UIState { if (FlxG.mouse.justPressedMiddle) { FlxG.mouse.getScreenPosition(charCamera, camDrag); + camDrag *= camDragSpeed; camDrag += charCamera.scroll; } if (FlxG.mouse.pressedMiddle) { var pos = FlxG.mouse.getScreenPosition(charCamera); + pos *= camDragSpeed; nextScroll.set((camDrag.x - pos.x), (camDrag.y - pos.y)); } From 58afc70ab89030fdb93cdda9e523d0a125a0bc18 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Fri, 14 Jul 2023 16:30:54 -0700 Subject: [PATCH 13/27] fixing bug where you can select char anims off the window --- .../funkin/editors/character/CharacterAnimsWindow.hx | 4 ++++ source/funkin/editors/ui/UIButton.hx | 1 - source/funkin/editors/ui/UISprite.hx | 4 +++- source/funkin/editors/ui/UIState.hx | 10 ++++++++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index 82a4a790..b4fda18c 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -113,8 +113,10 @@ class CharacterAnimButtons extends UIButton { super(x,y, '$anim (${offset.x}, ${offset.y})', function () { CharacterEditor.instance.playAnimation(this.anim); }, 282); + cameraLocked = true; ghostButton = new UIButton(x+282+17, y, "", null, 32); + ghostButton.cameraLocked = true; members.push(ghostButton); ghostIcon = new FlxSprite(ghostButton.x + 8, ghostButton.y + 8).loadGraphic(Paths.image('editors/character/ghost-button'), true, 16, 16); @@ -128,6 +130,7 @@ class CharacterAnimButtons extends UIButton { editButton = new UIButton(ghostButton.x+32+17, y, "", function () { CharacterEditor.instance.editAnimWithUI(this.anim); }, 32); + editButton.cameraLocked = true; members.push(editButton); editIcon = new FlxSprite(editButton.x + 8, editButton.y + 8).loadGraphic(Paths.image('editors/character/edit-button')); @@ -137,6 +140,7 @@ class CharacterAnimButtons extends UIButton { deleteButton = new UIButton(editButton.x+32+17, y, "", function () { CharacterEditor.instance.deleteAnim(this.anim); }, 32); + deleteButton.cameraLocked = true; deleteButton.color = FlxColor.RED; members.push(deleteButton); diff --git a/source/funkin/editors/ui/UIButton.hx b/source/funkin/editors/ui/UIButton.hx index 5b53f194..ad722970 100644 --- a/source/funkin/editors/ui/UIButton.hx +++ b/source/funkin/editors/ui/UIButton.hx @@ -4,7 +4,6 @@ import flixel.graphics.frames.FlxFrame; class UIButton extends UISliceSprite { public var callback:Void->Void = null; - public var field:UIText; public override function new(x:Float, y:Float, text:String, callback:Void->Void, w:Int = 120, h:Int = 32) { diff --git a/source/funkin/editors/ui/UISprite.hx b/source/funkin/editors/ui/UISprite.hx index d9fb178e..808cc400 100644 --- a/source/funkin/editors/ui/UISprite.hx +++ b/source/funkin/editors/ui/UISprite.hx @@ -22,6 +22,7 @@ class UISprite extends FlxSprite { public var cursor:MouseCursor = ARROW; public var focused(get, set):Bool; + public var cameraLocked:Bool = false; private inline function get_focused():Bool return UIState.state.currentFocus == cast this; @@ -43,7 +44,8 @@ class UISprite extends FlxSprite { hoveredByChild = false; super.update(elapsed); - updateButton(); + if (cameraLocked ? UIState.state.checkMouseOnCam(this) : true) + updateButton(); @:privateAccess { __oldDefCams = FlxCamera._defaultCameras; diff --git a/source/funkin/editors/ui/UIState.hx b/source/funkin/editors/ui/UIState.hx index d287e630..1391f63d 100644 --- a/source/funkin/editors/ui/UIState.hx +++ b/source/funkin/editors/ui/UIState.hx @@ -60,6 +60,16 @@ class UIState extends MusicBeatState { updateRectButtonHandler(spr, spr.__rect, buttonHandler); } + public function checkMouseOnCam(spr:UISprite) { + for(camera in spr.__lastDrawCameras) { + var pos = FlxG.mouse.getScreenPosition(FlxG.camera, FlxPoint.get()); + + if (((pos.x > camera.x) && (pos.x < camera.x + camera.width)) && ((pos.y > camera.y) && (pos.y < camera.y + camera.height))) + return true; + } + return false; + } + public function isOverlapping(spr:UISprite, rect:FlxRect) { for(camera in spr.__lastDrawCameras) { var pos = FlxG.mouse.getScreenPosition(camera, FlxPoint.get()); From 8a23331f82a243aa8143d309e57372b9fbec582a Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Fri, 14 Jul 2023 16:34:35 -0700 Subject: [PATCH 14/27] i forgor the add button --- source/funkin/editors/character/CharacterAnimsWindow.hx | 1 + 1 file changed, 1 insertion(+) diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index b4fda18c..212904a4 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -32,6 +32,7 @@ class CharacterAnimsWindow extends UIWindow { CharacterEditor.instance.createAnimWithUI(); } , 426); + addButton.cameraLocked = true; addButton.cameras = [CharacterEditor.instance.animsCamera]; addButton.color = FlxColor.GREEN; From 027f63d464ec4e20cffd9335cec28fa8a73d7f3a Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Fri, 14 Jul 2023 17:11:26 -0700 Subject: [PATCH 15/27] ok it acuttaly works now --- .../editors/character/CharacterAnimsWindow.hx | 20 ++++++++++--------- source/funkin/editors/ui/UISprite.hx | 4 ++-- source/funkin/editors/ui/UIState.hx | 10 ---------- 3 files changed, 13 insertions(+), 21 deletions(-) diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index 212904a4..350a5fa9 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -32,7 +32,6 @@ class CharacterAnimsWindow extends UIWindow { CharacterEditor.instance.createAnimWithUI(); } , 426); - addButton.cameraLocked = true; addButton.cameras = [CharacterEditor.instance.animsCamera]; addButton.color = FlxColor.GREEN; @@ -81,8 +80,8 @@ class CharacterAnimsWindow extends UIWindow { public override function update(elapsed:Float) { super.update(elapsed); - __rect.x = x; __rect.y = y; - __rect.width = bWidth; __rect.height = bHeight; + __rect.x = x; __rect.y = y+23; + __rect.width = bWidth; __rect.height = bHeight-23; if(UIState.state.isOverlapping(this, __rect)) { var nextscrollY = scrollY - FlxG.mouse.wheel * 12; if (nextscrollY >= 0 && nextscrollY + CharacterEditor.instance.animsCamera.height <= (addButton.y +32 +23)) @@ -91,6 +90,10 @@ class CharacterAnimsWindow extends UIWindow { } else hovered = false; + for (button in buttons.members) + cast(button, UISprite).selectable = hovered; + addButton.selectable = hovered; + CharacterEditor.instance.animsCamera.scroll.y = FlxMath.lerp(CharacterEditor.instance.animsCamera.scroll.y, scrollY, 1/3); //addButtonIndicator.y = CharacterEditor.instance.animsCamera.height - addButtonIndicator.width + CharacterEditor.instance.animsCamera.scroll.y; @@ -114,10 +117,8 @@ class CharacterAnimButtons extends UIButton { super(x,y, '$anim (${offset.x}, ${offset.y})', function () { CharacterEditor.instance.playAnimation(this.anim); }, 282); - cameraLocked = true; ghostButton = new UIButton(x+282+17, y, "", null, 32); - ghostButton.cameraLocked = true; members.push(ghostButton); ghostIcon = new FlxSprite(ghostButton.x + 8, ghostButton.y + 8).loadGraphic(Paths.image('editors/character/ghost-button'), true, 16, 16); @@ -131,25 +132,26 @@ class CharacterAnimButtons extends UIButton { editButton = new UIButton(ghostButton.x+32+17, y, "", function () { CharacterEditor.instance.editAnimWithUI(this.anim); }, 32); - editButton.cameraLocked = true; members.push(editButton); editIcon = new FlxSprite(editButton.x + 8, editButton.y + 8).loadGraphic(Paths.image('editors/character/edit-button')); - editIcon.antialiasing = false; members.push(editIcon); deleteButton = new UIButton(editButton.x+32+17, y, "", function () { CharacterEditor.instance.deleteAnim(this.anim); }, 32); - deleteButton.cameraLocked = true; deleteButton.color = FlxColor.RED; members.push(deleteButton); deleteIcon = new FlxSprite(deleteButton.x + (15/2), deleteButton.y + 8).loadGraphic(Paths.image('editors/character/delete-button')); - deleteIcon.antialiasing = false; members.push(deleteIcon); } + public override function update(elapsed:Float) { + editButton.selectable = ghostButton.selectable = deleteButton.selectable = selectable; + super.update(elapsed); + } + public function updateInfo(anim:String, offset:FlxPoint, ghost:Bool) { this.anim = anim; diff --git a/source/funkin/editors/ui/UISprite.hx b/source/funkin/editors/ui/UISprite.hx index 808cc400..cc2afb3a 100644 --- a/source/funkin/editors/ui/UISprite.hx +++ b/source/funkin/editors/ui/UISprite.hx @@ -22,7 +22,7 @@ class UISprite extends FlxSprite { public var cursor:MouseCursor = ARROW; public var focused(get, set):Bool; - public var cameraLocked:Bool = false; + public var selectable:Bool = true; private inline function get_focused():Bool return UIState.state.currentFocus == cast this; @@ -44,7 +44,7 @@ class UISprite extends FlxSprite { hoveredByChild = false; super.update(elapsed); - if (cameraLocked ? UIState.state.checkMouseOnCam(this) : true) + if (selectable) updateButton(); @:privateAccess { diff --git a/source/funkin/editors/ui/UIState.hx b/source/funkin/editors/ui/UIState.hx index 1391f63d..d287e630 100644 --- a/source/funkin/editors/ui/UIState.hx +++ b/source/funkin/editors/ui/UIState.hx @@ -60,16 +60,6 @@ class UIState extends MusicBeatState { updateRectButtonHandler(spr, spr.__rect, buttonHandler); } - public function checkMouseOnCam(spr:UISprite) { - for(camera in spr.__lastDrawCameras) { - var pos = FlxG.mouse.getScreenPosition(FlxG.camera, FlxPoint.get()); - - if (((pos.x > camera.x) && (pos.x < camera.x + camera.width)) && ((pos.y > camera.y) && (pos.y < camera.y + camera.height))) - return true; - } - return false; - } - public function isOverlapping(spr:UISprite, rect:FlxRect) { for(camera in spr.__lastDrawCameras) { var pos = FlxG.mouse.getScreenPosition(camera, FlxPoint.get()); From 65f6b53d6ab5f5326e115c8d294388692b575ee0 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Fri, 14 Jul 2023 17:27:14 -0700 Subject: [PATCH 16/27] some things --- .../funkin/editors/character/CharacterAnimsWindow.hx | 6 ++++-- source/funkin/game/Character.hx | 11 ++++++----- source/funkin/game/GameOverSubstate.hx | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index 350a5fa9..da13606d 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -24,8 +24,8 @@ class CharacterAnimsWindow extends UIWindow { } public function createButtons() { - for (i=>anim in character.animDatas) - createNewButton(anim.name, character.getAnimOffset(anim.name), false, -1, false); + for (i=>anim in character.getNameList()) + createNewButton(anim, character.getAnimOffset(anim), false, -1, false); addButton = new UIButton(25, 16+((32+16)*(character.getNameList().length)), "", function () { @@ -135,6 +135,7 @@ class CharacterAnimButtons extends UIButton { members.push(editButton); editIcon = new FlxSprite(editButton.x + 8, editButton.y + 8).loadGraphic(Paths.image('editors/character/edit-button')); + editIcon.antialiasing = false; members.push(editIcon); deleteButton = new UIButton(editButton.x+32+17, y, "", function () { @@ -144,6 +145,7 @@ class CharacterAnimButtons extends UIButton { members.push(deleteButton); deleteIcon = new FlxSprite(deleteButton.x + (15/2), deleteButton.y + 8).loadGraphic(Paths.image('editors/character/delete-button')); + deleteIcon.antialiasing = false; members.push(deleteIcon); } diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index c789aaa3..35aa2fbb 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -118,12 +118,11 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset curCharacter = "bf"; continue; } - applyXML(xml); - - // Loads the script and calls it's "create" functions + // Loads the script script = Script.create(Paths.script(Path.withoutExtension(xmlPath), null, true)); script.setParent(this); script.load(); + applyXML(xml); script.call("create"); } break; @@ -152,8 +151,6 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset // antialiasing = false; // flipX = true; - fixChar(true); - dance(); script.call("postCreate"); } @@ -381,10 +378,14 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset loadSprite(Paths.image('characters/$sprite')); animation.destroyAnimations(); + animDatas.clear(); for (anim in xml.nodes.anim) { XMLUtil.addXMLAnimation(this, anim); } + + fixChar(true); + dance(); } public function buildXML():Xml { diff --git a/source/funkin/game/GameOverSubstate.hx b/source/funkin/game/GameOverSubstate.hx index 35b1218c..603e2b69 100644 --- a/source/funkin/game/GameOverSubstate.hx +++ b/source/funkin/game/GameOverSubstate.hx @@ -79,7 +79,7 @@ class GameOverSubstate extends MusicBeatSubstate FlxG.switchState(new FreeplayState()); } - if (!isEnding && ((!lossSFX.playing) || (character.animation.curAnim != null && character.animation.curAnim.name == "firstDeath" && character.animation.curAnim.finished)) && (FlxG.sound.music == null || !FlxG.sound.music.playing)) { + if (!isEnding && ((!lossSFX.playing) || (character.getAnimName() == "firstDeath" && character.isAnimFinished())) && (FlxG.sound.music == null || !FlxG.sound.music.playing)) { CoolUtil.playMusic(Paths.music(gameOverSong), false, 1, true, 100); beatHit(0); } From 2633b51626e55460363fca0ecde8f7c4977e385e Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Fri, 14 Jul 2023 17:38:46 -0700 Subject: [PATCH 17/27] oooooo --- source/funkin/editors/character/CharacterEditor.hx | 9 ++++++--- source/funkin/editors/ui/UIState.hx | 5 ++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 7d97dd25..a2f1d0c9 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -262,11 +262,14 @@ class CharacterEditor extends UIState { var pos = FlxG.mouse.getScreenPosition(charCamera); pos *= camDragSpeed; nextScroll.set((camDrag.x - pos.x), (camDrag.y - pos.y)); - } + + currentCursor = HAND; + } else + currentCursor = ARROW; charCamera.scroll.set( - lerp(charCamera.scroll.x, nextScroll.x, 0.25), - lerp(charCamera.scroll.y, nextScroll.y, 0.25) + lerp(charCamera.scroll.x, nextScroll.x, 0.35), + lerp(charCamera.scroll.y, nextScroll.y, 0.35) ); charCamera.zoom = lerp(charCamera.zoom, __camZoom, 0.125); diff --git a/source/funkin/editors/ui/UIState.hx b/source/funkin/editors/ui/UIState.hx index d287e630..5283447f 100644 --- a/source/funkin/editors/ui/UIState.hx +++ b/source/funkin/editors/ui/UIState.hx @@ -8,6 +8,7 @@ import funkin.editors.ui.UIContextMenu.UIContextMenuCallback; import openfl.ui.Mouse; import funkin.editors.ui.UIContextMenu.UIContextMenuOption; import flixel.math.FlxPoint; +import openfl.ui.MouseCursor; import flixel.math.FlxRect; class UIState extends MusicBeatState { @@ -20,6 +21,8 @@ class UIState extends MusicBeatState { public var hoveredSprite:UISprite = null; public var currentFocus:IUIFocusable = null; + public var currentCursor:MouseCursor = ARROW; + private var __rect:FlxRect; private var __mousePos:FlxPoint; @@ -105,7 +108,7 @@ class UIState extends MusicBeatState { Mouse.cursor = hoveredSprite.cursor; hoveredSprite = null; } else { - Mouse.cursor = ARROW; + Mouse.cursor = currentCursor; } } From 81e44c782e9b8c6b0f8e7d6e9797c461fee031d4 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Fri, 14 Jul 2023 17:50:57 -0700 Subject: [PATCH 18/27] character selection only loads mods --- source/funkin/editors/character/CharacterSelection.hx | 2 +- source/funkin/game/Character.hx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/funkin/editors/character/CharacterSelection.hx b/source/funkin/editors/character/CharacterSelection.hx index 050df0b2..066e52e6 100644 --- a/source/funkin/editors/character/CharacterSelection.hx +++ b/source/funkin/editors/character/CharacterSelection.hx @@ -17,7 +17,7 @@ class CharacterSelection extends EditorTreeMenu super.create(); main = new OptionsScreen("Character Editor", "Select a character to edit", [ - for (char in Character.getList()) + for (char in Character.getList(true)) new IconOption(char, "Press ACCEPT to edit this character.", Character.getIconFromCharName(char), function() { FlxG.switchState(new CharacterEditor(char)); diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index 35aa2fbb..9ad5e7b5 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -457,9 +457,9 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset return icon; } - public static function getList():Array { + public static function getList(?mods:Bool = false):Array { return [ - for (path in Paths.getFolderContent('data/characters/', true, BOTH)) + for (path in Paths.getFolderContent('data/characters/', true, mods ? MODS : BOTH)) if (Path.extension(path) == "xml") Path.withoutDirectory(Path.withoutExtension(path)) ]; } From bb616f1b32e4a4159a34b21986dfee86124ace36 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sat, 15 Jul 2023 15:41:50 -0700 Subject: [PATCH 19/27] character info editing with broken anims --- .../editors/character/CharacterEditor.hx | 25 ++++++++++++--- .../editors/character/CharacterInfoScreen.hx | 32 +++++++++++++++++-- source/funkin/game/Character.hx | 13 ++++---- 3 files changed, 58 insertions(+), 12 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index a2f1d0c9..d15bfd38 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -1,5 +1,7 @@ package funkin.editors.character; +import hscript.Printer; +import haxe.xml.Access; import funkin.editors.character.CharacterAnimsWindow.CharacterAnimButtons; import funkin.backend.utils.XMLUtil.AnimData; import flixel.math.FlxPoint; @@ -305,6 +307,8 @@ class CharacterEditor extends UIState { switch (v) { case null: // do nothing + case CEditInfo(oldInfo, newInfo): + editInfo(oldInfo); case CCreateAnim(animID, animData): deleteAnim(animData.name, false); case CEditAnim(name, oldData, animData): @@ -331,6 +335,8 @@ class CharacterEditor extends UIState { switch (v) { case null: // do nothing + case CEditInfo(oldInfo, newInfo): + editInfo(newInfo); case CCreateAnim(animID, animData): createAnim(animData, animID, false); case CEditAnim(name, oldData, animData): @@ -359,7 +365,7 @@ class CharacterEditor extends UIState { } function _char_edit_info(_) { - FlxG.state.openSubState(new CharacterInfoScreen(character)); + editInfoWithUI(); } public function createAnimWithUI() { @@ -417,9 +423,19 @@ class CharacterEditor extends UIState { addToUndo(CDeleteAnim(oldID, oldAnimData)); } - public function editInfoWithUI(addtoUndo:Bool = true) { - FlxG.state.openSubState(new CharacterInfoScreen(character)); - } + public function editInfoWithUI() { + FlxG.state.openSubState(new CharacterInfoScreen(character, (_) -> { + if (_ != null) editInfo(_); + })); + } + + public function editInfo(newInfo:Xml, addtoUndo:Bool = true) { + var oldInfo = character.buildXML(); + character.applyXML(new Access(newInfo)); + + if (addtoUndo) + addToUndo(CEditInfo(oldInfo, newInfo)); + } function _playback_play_anim(_) { if (character.getNameList().length != 0) @@ -525,6 +541,7 @@ class CharacterEditor extends UIState { } enum CharacterChange { + CEditInfo(oldInfo:Xml, newInfo:Xml); CCreateAnim(animID:Int, animData:AnimData); CEditAnim(name:String, oldData:AnimData, animData:AnimData); CDeleteAnim(animID:Int, animData:AnimData); diff --git a/source/funkin/editors/character/CharacterInfoScreen.hx b/source/funkin/editors/character/CharacterInfoScreen.hx index 25e5c636..34481344 100644 --- a/source/funkin/editors/character/CharacterInfoScreen.hx +++ b/source/funkin/editors/character/CharacterInfoScreen.hx @@ -1,5 +1,6 @@ package funkin.editors.character; +import haxe.xml.Access; import funkin.game.Character; class CharacterInfoScreen extends UISubstateWindow { @@ -23,9 +24,12 @@ class CharacterInfoScreen extends UISubstateWindow { public var saveButton:UIButton; public var closeButton:UIButton; - public function new(character:Character) { - super(); + public var onSave:(xml:Xml) -> Void = null; + + public function new(character:Character, ?onSave:(xml:Xml) -> Void) { this.character = character; + this.onSave = onSave; + super(); } public override function create() { @@ -104,12 +108,14 @@ class CharacterInfoScreen extends UISubstateWindow { {checkbox.y += 4; checkbox.x += 6;} saveButton = new UIButton(windowSpr.x + windowSpr.bWidth - 20, windowSpr.y + windowSpr.bHeight- 20, "Save & Close", function() { + saveCharacterInfo(); close(); }, 125); saveButton.x -= saveButton.bWidth; saveButton.y -= saveButton.bHeight; closeButton = new UIButton(saveButton.x - 20, saveButton.y, "Close", function() { + if (onSave != null) onSave(null); close(); }, 125); closeButton.x -= closeButton.bWidth; @@ -135,4 +141,26 @@ class CharacterInfoScreen extends UISubstateWindow { iconSprite.updateHitbox(); iconSprite.setPosition(iconTextBox.x + 150 + 8, (iconTextBox.y + 16) - (iconSprite.height/2)); } + + function saveCharacterInfo() { + for (stepper in [positionXStepper, positionYStepper, cameraXStepper, cameraYStepper, singTimeStepper, scaleStepper]) + @:privateAccess stepper.__onChange(stepper.label.text); + + var xml = Xml.createElement("character"); + xml.set("isPlayer", isPlayerCheckbox.checked ? "true" : "false"); + xml.set("isGF", isGFCheckbox.checked ? "true" : "false"); + xml.set("x", Std.string(positionXStepper.value)); + xml.set("y", Std.string(positionYStepper.value)); + xml.set("gameOverChar", gameOverCharTextBox.label.text); + xml.set("camx", Std.string(cameraXStepper.value)); + xml.set("camy", Std.string(cameraYStepper.value)); + xml.set("holdTime", Std.string(singTimeStepper.value)); + xml.set("flipX", Std.string(flipXCheckbox.checked)); + xml.set("icon", iconTextBox.label.text); + xml.set("scale", Std.string(scaleStepper.value)); + xml.set("antialiasing", antialiasingCheckbox.checked ? "true" : "false"); + xml.set("sprite", spriteTextBox.label.text); + + if (onSave != null) onSave(xml); + } } \ No newline at end of file diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index 9ad5e7b5..b3b620ac 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -1,5 +1,6 @@ package funkin.game; +import haxe.xml.Printer; import flixel.util.FlxColor; import funkin.backend.FunkinSprite; import flixel.graphics.frames.FlxFrame; @@ -404,18 +405,18 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset xml.set("antialiasing", antialiasing == true ? "true" : "false"); xml.set("sprite", sprite); - for (anim in animation.getAnimationList()) + for (anim in animDatas) { var animXml:Xml = Xml.createElement('anim'); animXml.set("name", anim.name); - animXml.set("anim", anim.prefix); - animXml.set("loop", Std.string(anim.looped)); - animXml.set("fps", Std.string(anim.frameRate)); + animXml.set("anim", anim.anim); + animXml.set("loop", Std.string(anim.loop)); + animXml.set("fps", Std.string(anim.fps)); var offset:FlxPoint = getAnimOffset(anim.name); animXml.set("x", Std.string(offset.x)); animXml.set("y", Std.string(offset.y)); - if (anim.usesIndicies) - animXml.set("indices", anim.frames.join(",")); + if (anim.indices.length > 0) + animXml.set("indices", anim.indices.join(",")); xml.addChild(animXml); } return xml; From 559b7c0f742f7c63602a3f5b2d3fb044f9914077 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sat, 15 Jul 2023 16:07:47 -0700 Subject: [PATCH 20/27] fixing character editing --- .../funkin/editors/character/CharacterEditor.hx | 8 ++++++-- .../editors/character/CharacterInfoScreen.hx | 16 ++++++++++++++++ source/funkin/game/Character.hx | 1 + 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index d15bfd38..a89b4e5e 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -308,7 +308,7 @@ class CharacterEditor extends UIState { case null: // do nothing case CEditInfo(oldInfo, newInfo): - editInfo(oldInfo); + editInfo(oldInfo, false); case CCreateAnim(animID, animData): deleteAnim(animData.name, false); case CEditAnim(name, oldData, animData): @@ -336,7 +336,7 @@ class CharacterEditor extends UIState { case null: // do nothing case CEditInfo(oldInfo, newInfo): - editInfo(newInfo); + editInfo(newInfo, false); case CCreateAnim(animID, animData): createAnim(animData, animID, false); case CEditAnim(name, oldData, animData): @@ -430,9 +430,13 @@ class CharacterEditor extends UIState { } public function editInfo(newInfo:Xml, addtoUndo:Bool = true) { + var lastAnim:String = character.getAnimName(); + var oldInfo = character.buildXML(); character.applyXML(new Access(newInfo)); + playAnimation(lastAnim); + if (addtoUndo) addToUndo(CEditInfo(oldInfo, newInfo)); } diff --git a/source/funkin/editors/character/CharacterInfoScreen.hx b/source/funkin/editors/character/CharacterInfoScreen.hx index 34481344..ed3db829 100644 --- a/source/funkin/editors/character/CharacterInfoScreen.hx +++ b/source/funkin/editors/character/CharacterInfoScreen.hx @@ -1,5 +1,6 @@ package funkin.editors.character; +import flixel.math.FlxPoint; import haxe.xml.Access; import funkin.game.Character; @@ -161,6 +162,21 @@ class CharacterInfoScreen extends UISubstateWindow { xml.set("antialiasing", antialiasingCheckbox.checked ? "true" : "false"); xml.set("sprite", spriteTextBox.label.text); + for (anim in character.animDatas) + { + var animXml:Xml = Xml.createElement('anim'); + animXml.set("name", anim.name); + animXml.set("anim", anim.anim); + animXml.set("loop", Std.string(anim.loop)); + animXml.set("fps", Std.string(anim.fps)); + var offset:FlxPoint = character.getAnimOffset(anim.name); + animXml.set("x", Std.string(offset.x)); + animXml.set("y", Std.string(offset.y)); + if (anim.indices.length > 0) + animXml.set("indices", anim.indices.join(",")); + xml.addChild(animXml); + } + if (onSave != null) onSave(xml); } } \ No newline at end of file diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index b3b620ac..6d413022 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -176,6 +176,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset switchOffset('singLEFT', 'singRIGHT'); switchOffset('singLEFTmiss', 'singRIGHTmiss'); } + frameOffset.set(getAnimOffset(getAnimName()).x, getAnimOffset(getAnimName()).y); if (isPlayer) flipX = !flipX; __baseFlipped = flipX; From 39126f90c3a637b0d3afde11cded796d85cc7891 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sat, 15 Jul 2023 17:54:10 -0700 Subject: [PATCH 21/27] saving character --- .../funkin/editors/character/CharacterEditor.hx | 17 ++++++++++++++++- source/funkin/game/Character.hx | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index a89b4e5e..a1cf9129 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -1,6 +1,6 @@ package funkin.editors.character; -import hscript.Printer; +import haxe.xml.Printer; import haxe.xml.Access; import funkin.editors.character.CharacterAnimsWindow.CharacterAnimButtons; import funkin.backend.utils.XMLUtil.AnimData; @@ -297,9 +297,24 @@ class CharacterEditor extends UIState { } function _file_save(_) { + #if sys + sys.io.File.saveContent( + Paths.xml('characters/${character.curCharacter}'), + buildCharacter() + ); + return; + #end + _file_saveas(_); } function _file_saveas(_) { + openSubState(new SaveSubstate(buildCharacter(), { + defaultSaveFile: '${character.curCharacter}.xml' + })); + } + + function buildCharacter():String { + return "\n" + Printer.print(character.buildXML(), true); } function _edit_undo(_) { diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index 6d413022..879b2310 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -357,6 +357,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset } public function applyXML(xml:Access) { + this.xml = xml; // modders wassup sprite = curCharacter; if (xml.has.isPlayer) playerOffsets = (xml.att.isPlayer == "true"); From 74eac8f917879c8ef991839dfbfb9283f2ba912e Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sat, 15 Jul 2023 17:55:07 -0700 Subject: [PATCH 22/27] wait --- source/funkin/editors/character/CharacterEditor.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index a1cf9129..37b1c2c7 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -299,7 +299,7 @@ class CharacterEditor extends UIState { function _file_save(_) { #if sys sys.io.File.saveContent( - Paths.xml('characters/${character.curCharacter}'), + Assets.getPath(Paths.xml('characters/${character.curCharacter}')), buildCharacter() ); return; From d3f808c9e649f69243a9bddd2a5bd714469a6eef Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sat, 15 Jul 2023 18:14:28 -0700 Subject: [PATCH 23/27] better stats thing --- source/funkin/editors/character/CharacterEditor.hx | 2 +- source/funkin/editors/character/CharacterPropertiesWindow.hx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 37b1c2c7..31b9d7d4 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -247,7 +247,7 @@ class CharacterEditor extends UIState { } if (character != null) - characterPropertiresWindow.characterInfo.text = '(Num) Animations: ${character.getNameList().length}\nFlipped: ${character.flipX}\nSprite: ${character.sprite}\nAnim: ${character.getAnimName()}'; + characterPropertiresWindow.characterInfo.text = '(${character.getNameList().length}) Animations\nFlipped: ${character.flipX}\nSprite: ${character.sprite}\nAnim: ${character.getAnimName()}\nOffset: (${character.frameOffset.x}, ${character.frameOffset.y})'; if (FlxG.mouse.wheel != 0 && !(characterPropertiresWindow.hovered || characterAnimsWindow.hovered)) { zoom += 0.25 * FlxG.mouse.wheel; diff --git a/source/funkin/editors/character/CharacterPropertiesWindow.hx b/source/funkin/editors/character/CharacterPropertiesWindow.hx index 3822fbe2..f13478c7 100644 --- a/source/funkin/editors/character/CharacterPropertiesWindow.hx +++ b/source/funkin/editors/character/CharacterPropertiesWindow.hx @@ -20,7 +20,7 @@ class CharacterPropertiesWindow extends UIWindow { }, 200); members.push(editButton); - characterInfo = new UIText(x + 450 + 20 - 42 - 400, y + 36 + 16, 400, "(Num) Animations:\nFlipped:\nSprite:\nCurrent Anim:"); + characterInfo = new UIText(x + 450 + 20 - 42 - 400, y + 36 + 10, 400, "() Animations:\nFlipped:\nSprite:\nAnim:\nOffset: (,)"); characterInfo.alignment = LEFT; members.push(characterInfo); } From 6fb837e6798bf64f884caae8fd61fabcbab719e4 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sat, 15 Jul 2023 18:23:40 -0700 Subject: [PATCH 24/27] right click cause why not --- source/funkin/editors/character/CharacterEditor.hx | 14 +++++++++++--- .../editors/character/CharacterPropertiesWindow.hx | 8 ++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 31b9d7d4..00350f2e 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -249,11 +249,19 @@ class CharacterEditor extends UIState { if (character != null) characterPropertiresWindow.characterInfo.text = '(${character.getNameList().length}) Animations\nFlipped: ${character.flipX}\nSprite: ${character.sprite}\nAnim: ${character.getAnimName()}\nOffset: (${character.frameOffset.x}, ${character.frameOffset.y})'; - if (FlxG.mouse.wheel != 0 && !(characterPropertiresWindow.hovered || characterAnimsWindow.hovered)) { - zoom += 0.25 * FlxG.mouse.wheel; - __camZoom = Math.pow(2, zoom); + if (!(characterPropertiresWindow.hovered || characterAnimsWindow.hovered)) { + if (FlxG.mouse.wheel != 0) { + zoom += 0.25 * FlxG.mouse.wheel; + __camZoom = Math.pow(2, zoom); + } + + if (FlxG.mouse.justReleasedRight) { + closeCurrentContextMenu(); + openContextMenu(topMenu[2].childs); + } } + if (FlxG.mouse.justPressedMiddle) { FlxG.mouse.getScreenPosition(charCamera, camDrag); camDrag *= camDragSpeed; diff --git a/source/funkin/editors/character/CharacterPropertiesWindow.hx b/source/funkin/editors/character/CharacterPropertiesWindow.hx index f13478c7..06795eb1 100644 --- a/source/funkin/editors/character/CharacterPropertiesWindow.hx +++ b/source/funkin/editors/character/CharacterPropertiesWindow.hx @@ -24,4 +24,12 @@ class CharacterPropertiesWindow extends UIWindow { characterInfo.alignment = LEFT; members.push(characterInfo); } + + public override function update(elapsed:Float) { + super.update(elapsed); + + __rect.x = x; __rect.y = y+23; + __rect.width = bWidth; __rect.height = bHeight-23; + hovered = UIState.state.isOverlapping(this, __rect); + } } \ No newline at end of file From 63dcb41957e388ec9c9acf516ba5c486d2868ce4 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sun, 16 Jul 2023 15:05:48 -0700 Subject: [PATCH 25/27] PEAK!!! --- assets/images/editors/character/WOAH.png | Bin 0 -> 569603 bytes .../editors/character/CharacterEditor.hx | 11 +++++++++++ 2 files changed, 11 insertions(+) create mode 100644 assets/images/editors/character/WOAH.png diff --git a/assets/images/editors/character/WOAH.png b/assets/images/editors/character/WOAH.png new file mode 100644 index 0000000000000000000000000000000000000000..13d95d5002cf1d476e1ed0d3325a721c5e00e5b1 GIT binary patch literal 569603 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

nG%=8-^D*=q8bp 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 *-c{UoYMFFMNy@liWOsQ6kY1 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

F{&Lo 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�$;jr{ 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

@ zKF}a0J#?a)JMUWNz^3_3YUZr96nW92e(Bt-R;#wDOATg1IW}pgi^ZZv2SW%HSg4mSP?pW*$(#-#l1z-s*1Xn^|P*IO%oK|;)AEt>0lFs!#kXdj-e(eH5^THLCtd@ zuvjhyJu`~BuIP0;pfai^lh_M4MFlH`a*^X~O-NX9)PLgX(RIr$oKL)eCuDRE;K!W<8qLd`GE((!}dWwNW2(d8^1Qkb7H<1Xa7{II%p9=Q29O zrUp1>8Mf>+Wuy<&J^~e@^|ek0Nx~d+_#hNyjl9=EZaO(;pL6-J;45$Dl*OJ5xFa)0 zq)Kbnl2BVW*iEsPBJFc=$fHO@_s|Ztg7@gmT##O*yzI4o-q-d}Z}YWw*rcV)NsjG= zKqj1B2K_#V2Z!9bcbB@Z$%+ye0#$9rm0yX&vC*3B&Ye5$bh*fKo{yVUnV0nY{dVza zqA5&TRCJuyI49aCtu?vHST2_o(djB_aJpqlk!7qFEARn>qSwhOJ2@}C{2VG+nr6%| z{MUb(orBB#=CAzkjP|ZzLx<^Pg>B@GJsfSbtY;h_9}7xZ6g1AFl_ARwO=H_hO-S^{ zbTZXfw{=xI>L%iZWb+~PskrC`#k{dBr!)4qx@>Lj^SMudnVtXZ*ZJO$ew3%)_d)*Q zKm1kx_|sotI6UCe;VzR&#dLB8%3y2Z?shu`+Q{@+7E%fP4w*zJ7~%5BbW=%&QHG)4 z>o6z^a@P==n)9<$e&|Pjkni{}ewt7J(_iB=pZ+|D`&XzJHOt!3?e(xBPIK^tfAQaO6DRKZ^VNdOhX?HM@6+jZn9pb2A5T~= zSIp)!in7aKIFRD1mV7X!GOYLHrG(ac=kQLWP0C7h@dl5RWgnd!Gg-Wq)&ygC-y`ql zS6_UNhab(To4~Dmx9OLPgPm=Z&ggarSnJUyV_7vE-M!8B_BMmjh`O#hKR?HN&v0wR z!NCE$yW3RDRTS6PcyA%V-oZZJdtQ9yMY_EKRnstERw$z>dn2|68C4_hkMsNYnUBYG zyIrnczs7Jl-BI=P0{PZ*ogk1$XP5F1g*Gr`%Mlm9n$aj$*P>` ze8z0Gq|*^PJ6cfE+O4U|bzP(5M6B2A;F^Z2UeeEn>Q+^itXcg&RnxSFF=bao>t)$R zYt7N!+dTHpCzvf(+_`g)!%LSqIXNRJn2cxKc=Qqa0WMv>%(aIfp(qNz{H14@FBcpi zpK^YFhDNhkEI2$oq$mpR-@ng%K5ze>kkP7Mwd<)M4B`OV>-Nbqnf5CqreJk0S(pF$ zM}L}L(WS2Hm?tPyQRlokg+{t)(r9?^2@jxyVk8qHIw%8xx62y*)1rf$f!TlRM-T_V zpe!m_P&pwiQJDgAXl5ufK&YEq#e2r&^0la8)j@#=7u>p8iSEndJ|`wwQus^30dYc( zmME84*t@Ex@lYBg>c%x-h-&ir#sbpHOqGm?`MM2Yu5j8p!J)n>1S7_ICBYN$|iIZse zA<%u%<0~-_aZ3KS_lRj)Z17Se2^82lxQ!8n_Bl{#FH3=C} zO2r|h7UT>UDY60ISd=!r`qJzC;qUwb%hPjAmWd;>TC<33@I3LvJ9+Q7d>uNM*n>@H zU8Pk-x#W6C^s)yHTUs`TU+eoGq>mD7lMn}7`T=U`W`mg4*VJTg(qhwlQx*~xQ8m?C z+ZPc#=cIuwW86bRyb{8fzL(@cX*dS!Cf9mPRaX!MRg|9#@tD%}ylxs>6CUr$3u%7p zrf!e3scX>@HVt)MMYmB+K*wREZxKbHHSwuz-MWa1OC(g*;i?)N3|ap%l+`eKgt3VN<1DyX%>`N)(&m?=IEBb^JF_8dA;fh>>A zh9GfaO3C0AAI)NdIQfF!sJY{?AIOYqjhawU*K*&QOkpipFJOk$#NdJq`(B{OIP^)Pkxfsvf{>#M<{X$b`=VwB8vi6$w-NlT%8sK z$qg}@h$IT)nr9gum0?#4CMU<79pB~AN3Zh}f8nQi?CfkY81$(d%R^VL^5RP`b9C<>ckbMy-|w@vy~E|p zml#hb6h$eP!coAV<%XuJ=@0w#2LnNQv}Unfh>py9OqO&1{2T{VO~Y`w#dJ0!Ae5BH zAAO8VhnMK~`kbAgb98(}mgf{@hvSnY*|?NuF`sdIazeFOG3XB%jz*M4L4VK%?{HQO zgCx&WY~XFv$om{Ezmubxe8@FX)fFa7bY+KkR*-!s;{R&7gh@bd7e#@q z8_F!h)JH684ztCQ%U7=7D~4Mm zj*gEdQlV4CbM2z*p`&UV2E753$&{**seV?Jj3-mR`@4RCcR&0tDQ2vtsU&YuK7^@Z z8;iFVTQ||{!D8#WZ2*&QFxlvf-MyetNju>-(80~eSEI|UV|LaB;{^-TXFL-f6$NR~7$uon)(c%~xd;$UOF45+iY!HZ4lj*VU4a?wbNR9Nl9y#{ zJmTO@PN3`?DdWoMNPQJk2H|@}GnqIHl;%-Bw3hQpTq6jcU?b9y8KD>1raceI9k6K~ zX&t6BLUkUSg4zrK03ZNKL_t);hb>U+fk6n6^fy|GZm_k-SIIe6PIAheOC_SXFh)|3 zQtg(bwM^Yzd>#aBXd5f*EfMIINFJYxO4Git&U-%lho9o;m77AjjBy*$EET+Gv^(P4 z{-Y1Dy|*pL6PurL~S<#I`$XM{*sluXc! zs;XP0(6-XA$U|!@cijo;|-}Mn`Hd+hIEJ_v1PG?PXQ)@?AK=#5A==OSe zufg<%(p--zGI97#NSM55Yl^MJ2nZ!O&kfd!$&QayNMU5eD1h@Z? zaNXHRpO%46h(pE*60qwXHhd9a9V+DxOTYDXI}J-hCA&&>l%5#y>rs=BXv6Qnn@_3)D&yob$VSY z{wLkLiDtj~&@oc$-|4aO-loUJHHY~3f}pcb5aH`ruj0Mujhi>gi$bJ2&S7G#P4JM# zXdsh^-p8^chY%zit;orXqJ7aaJrV@bdM8wojp@`TGSSoxJ3Bk*xFDIRv8t*nYF8|E zwW7!knF&3JS`$9uSa_mobzk2X2BsYC>BGMO4} z7#eiCUB=UMhNFSdJ&;XEHU+t0+Qu*LKae)6bm0b~%^Nyu2csmOwgL!&+FFVt#|OuJ zF4;Yo4<91aUB39mFY$Yy_+7$e%zymnKEj8-{o8o{xo7z7=Rd`=nz35V81{R}wH%E- z62%9hkrKoNMyo)sG`ZGvGEI>O3KMwq)~n>1&7r$jOmgzk}(iZ zmuqjH6mWgzp)2G?&h0yQ7*8hj1_Ml1M%2QQ6$MqjLZK)+Wvj`^iyR*}1_JZ#O0Z2d%g_vmBW~Zh%h~CDe1J~b;o(OfB`*r@ z-aC?WqhzycY=d<|q3Ct{1U$>-iZajH+1|kg&(YBlv-zA(UmDJX!^_;cbC=<0MBO+J z5B3R-Seoh`3v8nM@}XxuIIE+It}t z1L?gyv3ySpq` zf{3ODPsK@%^NxA7qG@C?av>VQ^tvdm8EtLF_fsZ>DpH5%iv_)YpS;K!PsUQzg}}k# zA$gv2baaGsjyg_mm6AA+s;b)fkF+_b@8?;DYbu--N88j4R#inn8pP*ce1R)huFy0M zTe~}~s)}2;Zt>8SYnUSE`4?VdZ~uVZ-927?^;JIm`OiVnT)lCF-Q8WrlPRmFrrYW9 z;>$1b)KlNaumAe5^X(t}0C(=*WjUX-s+K4vMhuCLpT#itq{;EYw~-P;7gOZ9M3E#n zMvqWhzwYb4iSPL4?~qL`Qbn8S&gZQ}O$hZ$nnV|~2!l;JPS;XJQ^sJ5qHvK~3hQR@ z?a;vo8^q0PFs&E*YitNpw8+=e5axM~G8ON7r%}w^IWCh<+WCawZP8!~s#7zRiZq`E}U1i$z(bv(O`eYpa{7B|Xy4v%@qDjVYo&Y8%*eJU;jqMa=WOWiYh5 zz*JyvoD&o8+f*wi)39VbvzX5%12)fM0WF28w+^Lc-_G(}X!Euv&oa?`D}`+uRxv|S z8$+fvXhV@__0+ki*A^T-O2NG}_WlTu@t^j|4=)q80QL?6Tk}tg5=ieBaM-OZw$&eSZ(m-HmbXi>TeN>E;La_&d56|s>Rwf#@YLR+R4I~x;NxDYAy~RaL0)vQwPSyn@xpPJUhhz}(J?+p%+}&P z;gk7L>ILFBEu_JZoO9>a(JqNLN?eDGF>h%K|9u+5uhtC8_YGRhAfq($f4i!Dm)u8f=yy5{$`ZetGd{k}{o|V~S10_!fAg34nV81u*w>NIP zX=~yI6CKM!z?du|pR~=Ivyv+$&n2PWySqCa9vrZBilU(Gl$@QN^71RM#36$eR&})N9}WjCwIl#Vnak!?RV)@u z%1%kQ+hu!um+5>Vdat@>FdR|j8Fz2JiL;i;WCB`q?fMN+n%j48v#Ki&4-VPi+vUpT z%k1s$(J4A8ZRmD8?CG0;NrRjWpIVo=h2SZPQrC>Dhg{y*|_FjP30$f`Xg3ZepFI z-xu1awN|L2F{IsDvDVK`)@ptF-5zzd5_*eLWF}7Xyu(D}tb@Ztrqe0A`-i;t#v7cE zCtSOBo%v$PL)ULG+}`Ept=rtYcaKh|L#HFL6ldq>Od_g09F15mR$RaFFn8|UVYI!) zbI(2x1YFb5SUJXSw@X=;8&g-)Ius_IXo{N9T2T~bgfrxxUR4#_d;9$GhkpcviV+j* z(D_z37@I+71s#y4(6%ND!AEGy2W-kKOvO$5o{~*6xdf)=QU!TUNoV%p$7b}&g@#bA z&3w$;HH6y4?7=kD$l8Wr)8HaCgztRhoKn@`L4~CR8D|#keS|_PxF@F#b z%ErmHLd7U^KJ7cu^F^`T_9@ud_dVK4NyYA z3PI3cC2(AHYZZq&*VqjgNs(6S@t%pA$x)3{WqiIBl>>5p`B$~lR zGaiLF3+73~9`_wF7mFIC7{AbJRioB9(MA&uKCO3~!=Kd5toJzB+dt&~{V}KaPGoOK z3Sj3w!CJb5A=e*&l%iwAe9K8JK#1$h=CG~3j$@6J{%)c|2OrvjQ*!$hN}6w*rE0lq z-C|*F+>!HbK+mwq=Pfaz~~F9F|WM@-O6L=K&`vFTYqXQGA@@6Dtu%p!9_vXoci z1!1y?fZ29nmYUYI=cF|&9b0;C@0~EkjOd+HQ#+r{$m5VR)gq}WOI5cqil(Y)npzxJ zro7}o)KAjO(_vsiJ-uPI*+tlc6AcR3X zOfJn`2p+8iCIfUt3N^CkXjz|qs;A?#7-QlStpTJ&7fp?zQW_sr9I|V&tdREuG3p8g zY|1ze!mLQ&)8ug=B+IceIZAcKgTh$w9kdQOml0Hf$6;NAQ3jpmWSM7N=feAK4LxGk+E*VV@7m5?pfMysVAQoj1ueY5>Y!^yDj z+llKZ3XGODreBs2Jg#YYKA^VpZ%$yWD(u{cDJwcg-?BffAGKk zAAIRc|C-BJ9^(FF%=!6!42s>|T{>mS{gXMf$&|;hU+2eu^grY24?V^1L%Yz`{Qf6? zkAL|`|C%>nzsG9s>36m;y2ElM=SQX%s+}6C5Z29oxOj%rr5HjWsRwzRpW8fNn-j}A zQt{H_-x+pT&Zc-@v$eIwa5zLM)w+~TCKDEmg~VZKja}7bdD0$eY~7F*`Gq&4ZCumz z(>sZsa4u3R;?KpH3GX~gd&wcpqVs4J{$AfZV9?*6es6pVy~vvRqau zZ5RxO93LOiG`CnRW}Fi)$>kZ8$x> zPhJ*mZEbOSdP;9FVltVqwX@A?wPICQ=sd&OhCz`tUoM!;XMrp#yJuDQRz-!?oc zs6Ek)QpVnRJZ{YsthKCGD_+0(2D`hvt&Tb6_$3EDr6hOD)(zG>iY#wmd)djctAd)) z(j-kTjkPj4%4lxgx<#koo&F;%d^b8>RR z+5P)C6uUe7n7qK8pEI6LxN_wRC&#Dk>~3>1d@43A%j9!3#DIaDb^Ad$a}n6 zn=}YI7@Ia15O!rCD-<~JE*T9#(sNX`6-3dROdO*9zB=$vGW7FEz(nS^RFef23HqWy{1_Er=z%ft%bT49BxHAb8j*JgLt+GuBQ+BGP#8d6i5;x4q- z%%Y=qQ55ug`Np}E+959rdc9uTL>5JHLC@Hlj;KJl+r`J$JoWSoabwS|zV1 ztv#|XIG^a)GDtE-i3=H?CL;DaW`c$_>g5B4$|UY4c$}3CU(sG~#M*?|n1&G94Y6*H zvK_zSP@bMUtwY)v$x-wIN{IF^t}kA4yNyYRYowPVqopjaZB3$b+JFxg+JM##S=Pme zH~@BmpgmeO4AZYb4+6w?+9(mSGYSXq&ii zzkLSbgAo+};U6BOp=l}zj!cOYu_^MH6)Hwd;sXC*jqk+`Uy90gS^2h~Z%`ppu_>Rk z@wvw~3zT+bLDB2K}fZ2bW)$V@w(y{E;L3uHiJG+EtAg2c|c2!oA*L% z^Gc&l&R1T$#ihM#oR9DE-~Hm>qCYA*IM`!*YsA;T>pgtehrg3w`lbJYPkrvQ{F@iQ zLK8fD2m3VDiaW2q0zR;{b%Sqy-~0LIum4tbP`vWetNg3ae1?DZ=|ASBS6^eay+gmV zgXu!2=rfyF)OACa%VL}2=Of$ZEw4X(mGk67;(ezx5T~;t(hl15w{A87ytS;V1xV6q(j! z(IPvKI^f_Pm9J@RjgDe+v@~K@uU@6-b~rvc6MECCA}Gb){yu~4ZE6dzy!twK?jDic zmOGsepco8BRE^{6)vMe+I_9<4UL!9`e*gJT^3Hd^iHlS?6~jBYhEV)Yc* z+1q6{n^9G(h~`A245TRO<{g^4VY#gMq3{0*_C|X&m1sSi_+B^GwnLE+84fP#zaj<3 zMao&CkNT(+^s%rG*0ll1n~w{FME>2Zwr$f0%Cz}>8x81#Ur&#u+e-8vkOnnrkaQN; zHWOlFl%ZG>Y6q$-g>g_Q?+7|W1HP(|{7#8kz-vLjyaR1697n4=1knPyAatb`Rahfc zO#{JevP|4qwb87W(%^JDhUL;?tX11YoUup$37KWI+aqwUa%oGP~r@^*)Xo-Sk@*k z$rZD0LefSU*Q3>P!Oo>^zUArn^U2@*UBbfQOw{igO|z=`@~1w}!QlbdAHRXstF|Ud zgPPR*rQ_H%dr3KdDIP+uUEel4X_%TKyi${wo~MdVn5nr;=i)*@d{{TusR_=qtR09I z8ySMyXc-R2<4+A=av!x(R+1V$y@9&6ZlZDcuUN0yTI<$yFd?5w7YM|>LK!43m#g-< zwAKs;eUf86taE4+tyD+JK(E_H8N*_=6wP^Tbc&)NFN8K*RSkn-DFY4fBf<~;{s8YR zjSFP`%Va%R9XDt{CNoN8P&&ScQHP%z>-4^+m=2+2Mn_34Ly{(DM#?^B;=eN#imH({ z#36&^b-fwABO)5FP;Ij$$1Sy`PP(+PHj0av@VW-l8^7N&xP096<%gwq_F}9eIOD-aMC~s2&wQsGJcG~D`7U22|W!FvWlJ^-U(HFv(5}5u@|I))GFN< za_{*#L`w!m&WrCxYO=MGY}c@n7pqMHBu|b&u4S6%g&J(0&=BBFzJVjqLAT02w<%s=eS5)R?v97^)VmU(O5AY!dYQe z#8~w<|I>U-w%Y!_DW9cb`+~`_WF; zfl}h6W`f2k#likQ$G2~jO%`;^ZMO0uCJUS%ub7Qb_~dW>13vNbkMlD>^Ar4;4?M*O zp8i%$Suk5JnNQEz9el4`TwYNv9H08kAMXn|)Su6TUFE{yHjy0?&Oh7CCSFtcrPD{fc15=fDDCclZETE0XHGdR|uxT8@ivV9o3PY9^?M9xS_w@cbMnO~8%;$5u zS;lBIBF_X3olfV35Gb;o#(8$Pw$T_a?H*z>L6%;8@p*Rkc6s>WhnY;q0PODWa`*0C z_V;$;MA=Z743lSM$72)=s-1+!q98SK z+ru4-PLHFbBSxbUzOfu$zs}uzN1UIZv$eA=g)@QaRP=Nq1n!T|S*=#=@9wrad?AQg z!E(7|I-Rn;z1^A@D5ctoxA$Jwm||_Eo+jr>XV>X;`9gB?C7{M4Rh`mr&j4@~@ z8fjJ65_;>QahAz^hP9SQ9(@P5@7}@H4c$(MFMQz(6rB#sN;F~bdCz-z{PD**K0D=; zpZo*v+&yA{f1lNK&UidVYt8odHfQ(GdHnIm+1}pf;L;@~XQ!Z~;7CRfa_;4rN23wO z7^YLzPVLjCYvX&lTCI5h`#;2c9(yk~nZrbsFQE|0RWw7;r)as;3wP`h5$(63L0q-rqh0nVf-51wCq}XT&iVCb3L^{uMw34i~Ab91v$Wr2Z=b{;u zhqj54<4uj9jjvOTLx?)2)R>^w=yjq~r3Nd}JUxI5c;#`S;gNSf!qJmo$1{KYMS>F~ z(FaeaH1qQ*pZ&v6v9+_sXm1dkJYi1w;Kd~~TT{DX9TSo6r_`jTpONNI8lFu(U~15c zq7ZG5U*DhU^(A(M(b8z=SuU{?tLg%6wx#AJ+k36a^FpZS&PNTMqR0#Crp7il#+G;- zQH!qDTEMokEz6cFr(^M%)}^$kr#-*h?UHACI|z`qc}3E|rg(^aU1EdY_3hst_FFr7xz2$(}(+cU&JC0PXL!z)Fm%NrNuu z+VizZ1HA~!g!uaronx(CmReHow?r!xdVGdbc?1ALY%o+iXiCRY*A_{)P!Jq;W5DDM zU}XN}oR7_hNUoHLPZb@JFV@+9tqmruDWznm~auR<1(_o+g^3nTY1gb55p~?|#4GpML5Mt{lEA zu01B|UnP4mT_34ARB`P|LsF9&@TR>+6SDZ=BQJ8A>g}_9|Fn;w70s%ln`d;(4&%jH zdk^J#j@zj7*G*x{ftAMvgz)W9qs_0q9qP9E@Lme9j>!qN<#2l&Ma9|iEjnGzU-;Rd zQ%G!~FgyKF;6!mA}XR^BIra_y%6Tc|<_RqF1J3jo+B6Y=+c+Ehpz~n!yJf z-*&>CZmwv*ohCkBpfrqlv};g|mA-{|j7yc`Um)P0aVY-|WqT$Z@_*`fqQTRSvt|+ryrkSxQ)sgQ|TMxv@f!bkm z32K!Ci`qpe4uC#bR8gQKB`G+MGeH&<=cGvR8`*o#5i)~o;wGGx{3joHnqT|ff6iGy zV|UbNwXEp&Is^r0=l3}|ZNTWZ$!@Afs0m8Zi4)!Ba>;73WP3D}X-qsHDZqQNSm0{Q zbTMaZw8Q=Jgom%+;P~{6?d=h@ueo*WRvSJ(9*^-V@aCP{93LN36a~|%=u9)ES=0-f zYKaOk8Vnc?x^#`A%vEb4p6=5$h27rXzCfQ$&3M}AGb_$;C?yDML>FA7g}Mz#VTHKg z7AB+Ys zd#Tbq`|Ptk^UO1hc6PXOsTyJF~%?$3|K4{ESJkTfTN|;Zf)=Ko!|c9HfTOIco+WNxYiiL zHVt*t#NyVs1zRdUH`fSh1lLs2ut617VLho#(XL<1y8LzzVFj$|p{}v$GXM8_F7Fj} zm7%&hs1>-Hpu{aRG!qna6gg;#qtFN-s6qfQLna-wPo?)xMiYL$p{fw2lqqWqd?VB_ ztwJo870FBjVgaPr+DU8W1d3(_jDd&?3Jb+5k|C(|FgZG6Ih&#Nh#aEsEf%nVa!$hK zBWnT`gbwN)L|05Cw;EU11REeX5Ind<1&u}u!J}2uV2cAW1hTw{lsAK|YE-7l`j=43 z;C$WgD{B)cWdDr1W9uC@II@JkglNptB8pO==~%ov@4#%Zkd)A|l$Pm!OWh?Ri9z&p zK6si9gQ?V1#S5hM1PF03@(thiK9=(pFMsJdbYu{CJh?U;y>^Q~`WK(%+dup?-9evF zJG26m7vgFg)&seO-fcE}$sCHf9%-fVT9I{x86fMcFgfx(m+!lEPH0gUXq}$hw(hHP zg+f!+?J)!|TEuh=A$YPv3R9)Q)m|79u|Y{qRvwR0p(yjRMZ425P${W$Ov>!DLGnve z)2r49R%SAaESL2bXzHeAPi#sTOw>P zkm-!9Vct_)CuU_X01}5L#+_@ee(OZq>K)fKTBSsD3o71!pp<3tPf~!gfXNP+AFjdr+P00p*H6e zWLTz5>NFCH8Y$Z`v(QIlDKW?F0nxo zsL8S%qYJFn=wMN9iE|?y4wG4w$_X)TKvA=*D=r__5ROpcQEBFE3a2+Dr|4vS1cG3O zOd4A61u68(pkw@og$RZi0$La`Ixzv_dleV2B2u;=WI#UHHkyCSkTmsZ>0WEsJtfx( zF-9!JHRR$$_6XB8qmOOUDIj(4Ys=@f&_DS9^n!GRo140(TXe`mPOc4Gy_~a?+g!c6 z%U}FUKgaif^rL*`+2{DHzxa#%lmGWOIM_Pip(~GZd^{yDdNh9RjAg9^C8xiiE-d)! zg~wMz`r6~(_;>pJ!JoPC@9@^2BQ=NdQ?FuUqEex`U^)J@>@?3~$Rh1MC? z1+q+Z2vt*2bULCxQWuLkh^}iFnm+ZGpIN`=&CjFT>c)cKDFv00MME}&e!owV=gjAG z#?vw5@r3bs+-6g5^6ZHVdAo?Kb)c$lv%F|GYe9wAoOs!sBv>>c1q6|jKzp3Jofd18 z%mQ?bqY(1`rR{D0$?yFRrBMv}J*;!=?eB5<@@1xzF?HQ={n|AS_V)1JQLUDYMnmdV z-8w+d=L@QOg~<&4;fUd2NaHN$_s?0bRun~vk2dx9&nFxn9@5kegW-tN(-T&8#mg_h z$g*0ox3|Y|IOOD1D5<+!+iZ`vXliklv@6;4d)*$}TO+z<4}xbn9MI{MbhUF+36{#r)La@!`29WPIOOc?3~e%+#uI{$ z6xTg`2;97Rli6&};g!oAAD=K=%z5_N=Qy}@$h~_5)R{VZ+W}rAAA)=v#6bO-`dq zsn%T-gm$BiMEL~exOQd2_Mj%2$EdIrI=Zt$PbZ+Xn8y$-!8h@!1)WU=nvag3Qiw@W zoC@T+ad>C&DC*ip3-v^g)YLU1DTvx4VwRU}BtW^Tg(hWfz`8(@OCjl9h{y*JG}Z-N z6KGV<#QZuGIVlz)xv05AA`hmiN4fQN6mJ64(DB~r8d!2&BsWXrdjLWHXo@uQ(Cn@ zqc+@F6S9|(jLrB7aaxwYl?I3^HY8P55h9JUC`xQ&sT;{-%kx|i+7R0P8lWgknx<*d ziZyFUQ1>h|(a~D7jy-Z0XsID0<9VLZH0w;rRELBh=R;{tuh+#n&wM_oiMq%{`?TI- zm8LKwlwW~61(ZZNuwM6IZ64H8k>da%_~^F00hYL^RogrsxdyWfL$-D>k<1x4u9-xM zmfwkUoeg9#U6(DJBdphE;@U)rMod8rzg&u)BCft{_r7Nt%3 zmPr#Rz=Uew2a!3g*$&B(Tj<5af5#{_C7-{Y7Sa2dtNJHA)>5vEk2O#xadn+CXSG<8 zXNDWsuH&5J%{yzJSStA2eLP->ny=mr!h;Q=rqk)7Lxysi z!e|!rBMuJw{Fi_E=Xm<*5Axyf`6&O-Z~qQuKH|xDe-pKZ*KgiMsZuCCK;xwmWMe@= zB}bk=*{1a^$XC3e+lJzS6PmvM*2YL0kM#Ruvl(3`<5elP;9lsNF~qo8RqTv*sOpN^ zTIyg4xnk)Xib0R8+hJbS%$60s!8YCAHog8fgV8RFdBr1-yn|kUi~Hwuv?=KiM@$z> zs-`CE6cnA3#?}x#-Zxauia1)Ou}wtsR6O?NcBkS6071nRLZ#c+fYR%)V?gO-I3#oj zOoNe2}KKlF_JTa;&&}Te3XEB@8>6BRK$nu=+?Hv}Y1(z;g2Bo-l=Pr5K zrReoIyFX^Mv%_=Gzd)zgV|RZKog3b~eT!FLdj+KekG<=09((*9%$EzYBFEJYCr8H& z`va=gio)b<4Mq%l1FjriW-^(wTCG^lR}6<@yrNYW<2EvUqrav5U>*kxd5STA34lW(Ce{jIPqaz-E zsXQvz-9`MAwpTIT^ zckcXu#J$;%ElYOZ_lt-e_E>YB;huAcK7DTw>~40mNeUtblcM<`5RgF0umJ;xU>g<; z!4G&2I|w5(3+% zVQ+trrfYe9_L_skLp(5ibTm?LYt^^smV0PqAa9WSSwENUUNFz;e#NV*d011 zN2m@$2Tl^S5H_*!MJyhr;+aGIO?4LJaD(8>`v9?@FC|)dshnFUM#>OGAPDGMAC>b0 z&Kg{#?m354%JEWlkL#c0=L&BX%EGqu?7j1lllu>3?1#ankLYFyajjF)L)SqSkJ0tW zn9@3{X^Tue5eV)Wx){)-Wlt8BOEKO~Rw~1uLEwhf!cf68(ax1p`8Da-QUX1mPnpjry!iAv zyX`Iq;wl!*E?%7DUB}%AcQJJpg?vJu*TWbh(bI4A8AjnMrBy~6(%+o(d5ukiPdyD0 znpT8O%Bsv_M2W>TOuW)(r+cg@i+pd30%(_m*@YFbio*=-MtTv~IUsin5?8 zYZP$3xT0-Z%DSSiYqojM(Kp7xd7pg|hsFB!dPUQ;gU`0KZIh9Wq&S-B>BeZ9re(9) z+&J!ZzNwc!2{)y=m8kel(@J6!G#w*69@k!jZ&6y)Hf>g~cZ2!YbzP>_d)M0u3=;zr z3k5fisbBNbxr@4eAeo4#x!SLheF8j8riSZu`jXXxo7c~}9KR<7GqqZI@9ZU8;;?O1nsU*JxIsQa9}|Wh%gXMrDC1LcT|&)~<7r-bAEOlu097K&98}$h1ph zO**6HDG60bLCske$0UWck)c-#bR`J8jn$hT#5KQd5mkTL9i$0^;-un2r)c+aR?)aQ_(hu$2&4fQEzJr9&E2OpQ zEfmum52bR^@8;79@CxE_t`xiNmUr&o=k(-+$4?%!-fl2OnG?dKS0E1ov=lKR%#_iz z$ncXVgz01x!qo0M=Hm(TQNh*KbAI(#eu2OBw||X)_>cb)PoBQ!8(;qgwwsREudbw5 zA!zpYk6CZFn6jYjqNr^=MPsX`@8$vidK7DH_ZzqWT2Grk#sk$leaq}}gy_qg( zCiR5XY6}{svnjiFOIeq6-m`6X1f)np=bRu%NO3o|9W?>;f3>J_Z*Q>8U#nH+WYk1x!zV7f~ zpGS`#@$kWeytxYHQE`5CDJoHM0Zf~rj{OeO?CdhV#zz`Ls;=Em%(WSygdxOWEhgwe z>@jo{QIQ2O(oGcEJRXQ%gr-jnW0LqYAAZEk^@?Y&UUG1F#B@64_~e+QBawC=jVgA{ zj@@=cU6s6kea3V$rfGJ$>U?&2fpwnIc*50U$!5J}|KO0aENHD|u~_1P_uqeyz5RWu zE`|WgGn$Mzzq}L!-AH-aZMH%K+}jf|9Aq;a)wQU-0i)5F`E5$gAoWx$g*Jo$aS5%ZD8$Ow0jOOao~u-#5)xm>Y`jMN!gO%j@$qrt=wf zJ>td7mz-Z-u)n`gH5&2c=~M3CyUT38M_pGED5kM*8dM0Z*DH)t=osWV@9CVycAob> z_#*$tzy7!J)@RfCu8sB)(SY8zLi=^DM-C-ZkdcD&a1wO8S@}Ch>=~ zQYfH%OYdOrSGo1Ljbyxm5XP^R5T<)v(8H7fn@xIdaiGd(}Fq(STym!&Bvxx7lVDu0(c_=hY1%)nTzJy*m*J$ZE z>})GL%V52ielc0nbAl3uInsPlacqq?bXIz}Z_lN~WEduaDWOdJkWwo5@uj#T?e8X9 z&g|{)QJ9kFPaaE)L9|*j(fjSy^H&&CaPQ$ebU_4s6e<=jh3ZU1*3!LI6ecHH+6e7T z=7a@LOim?1HcA9qlD$eg52FoLS)qawyPzQ6yt*(MvA7-kXss!$GCwbj0!3X{5tVr} zS-DYAN96UlyPXI&#Uye%nc|&ewb}65XOH>8cfJQMP}Ma>SxR4a9FOF63*^3Tt#vlL zm*<6|+O`eJ{5v6)&?mSlNo-q5IIF58grw-&dom`Y_}(@`-9R37EOXn?qRSD%dO~}K z)~#4wX(>JoSyf4hEun=HpGKxlEKDT3nWTd-O!gAxRo2!Ri>ZKCMfB8^Vti8ECG<(6 zpyYCWZwm}5t+L>Z6gOhmVk%I0i3fW-6ECchuA|v((CrnKadPZF;C!^82x8ABYzI&V zOdi0|6i-)PW&Se$VUpqH@?N|IHj#lJ=|XqNUN23RI0gE}r8QYlOU5K59hqYc`q*bHpq z^@)8pnn<$}id70ifAOnd=Z`=AAvUZkpSVp5e7^Vla+lvLG-vMOm>so1u$kmHg`ZuGdhxVoS! zMU3F;@`CMd!_~zV*VhZiqcIB2@zDWoE0z+?W{XiOCcuHZs@bkr93C8Sb#cLLI-_k` zv@t9eOOB6@SuIzbo}99{x@NQ9auGL6h0McS%sj z(Y0;%8Wd_+oCjSJpcx9!h#_=vK95Vf7lHhILI`aqsB#jiNa&!7>u7py`ts3did3K* z+>5DUU)@3o^UskkO1!TVWmGGb>7qqhQdKpoxZ?8<8(h~S+7k|?JCto=!yp8|LWe@U zpHk)CTZEhvJ^V<8DcLN7QZ&0p)I)<3IddFP334QW3CL`f|#$LMw&$78?rmGRvB0j0R}@ILs!t0&K7P8*d` z9cS1)LD~yo8K&o%n?INLLiHhzVxb zNujE$t4JHS8Hr6}k*-;aSFH0{@wBe%%(TkrsP6@L(%6L%NStD26w}Exzo)PTEZeSS zHr?k(-~9pK`WN5g^~+air8qb^U^1Ozy~iOcs)e~}mjPr&(^POsiF)cKAI_1ck=BXi z!I;i7jZ>OGNqst@geD4uq)DBN_X^5F`qhmYp~4luyT(}&bV-PKDn_RSASI`Q@I{NO zY_=Xr0_m0t{e3Sr9M$6ig3DHPtzd0HQ^F7}+pWGs#ZK7_azo7m4K@nzFiaqKMU5@SkG z78OL?3007~v0YG{9*_95&lKZmRNvD=`$B0-0uzlm6|g)37osVBOdwtC%S z8J|5qqps(oqS;ufUMSfBC0TnrCG>Ve`iAT(J)-#+{r~L@`}Xhp*5|yn%uU?eZY5SB zy*`ekig3LME@+A%G|S2uy4{ZXY>Lr}<#LHOnuqV)r`c{;uhuNqYqpIvsX_sWrA5>s zkm;)eGU?Oj_s1XJINqD*^|os&e~k3a0a9#~%9K%qOuA>!p7P?w3zo|zmzS5U*DI_G z!rQ*_hPRL8*3+u5!lnL*;qhu?vPxR&B}}NG1U3<6K#6cdq&-OkbM)Vf3A&1OD4hb$ zh%o$>FMpNa{?;Gx^3_X5;~Gui_1P;HSC_J&M>V++JfC~?0U?MQrZI-Sy*&;O52fMU zTK4zmR8_^r`32T?jOv;Y0-N=kiwjYFDoas@ySTWZjT>R2z|;}3zWHP$001BWNklxz+_`Q8TLR983_C#Ih)Je}FcktoiKOGbZB+#uRMU8%#XL!~K0W zt1X(qy*qcgy0~Pw-VlQHw~gwW${42O35&(GsAgSX3ALo_q`DR)=*0&P4iA}*ClqCg zw~pO*d!wRSmSwgJNkR{0Dc*=hQBc$sv)PLe^xBTL z?O@P9qloBKoX0+hqFd`Mf9Kc!Z5};%6e*$!_3NpkwrzW=s7qE8E~A5){uJ-KG@iL) z>HDg9LI;!QV83Rn8?>jqgh2F&d;6__Bk4%}!wDTUIwyoGR^3zJm#By)BHb!JZz6rP z?-$cJwdSWjZ1HU)F^aP2U(TcW5SXq?;Ro*;u1BGj0W6BC3;Gjfs?I}gEYDcrc8RurOqa)<`-1h8G8_2ApUcIP;G?-Bc_ zCowTreIYa=Z7Q-TLP(W2`FxUxU!vL#vULe|_0N5jD;QuzQq?4)adg# zRSNQ|qKHoX%)~D8UKBg5U65dPs8pJJ5sk@- zno=T6mXc+qBHEr&5mACp%q^vax;c%^kEcKQA(yYtc=n?wynOZwQzEV@ zHC_?C!xTfcTZJ|;E>q&;>ReiHlBiI;cj$#2l?s?bX#K8}z&GHi%Y^tQ?TEx|jG`+c z_W2bC?+OZ|C`}0}+H)w4C^&0Eawb;}txK#k9L_zD&suCa!4zYm+4^KF6Z#}Eggj1( zKJH>6JoN{sd6?FP#K0+v$g)sm`x%K-d}ZzqIrQbunkQ@7EkwCJbmMLjAg4BS6G=954F6Tbe{FY$N( z-M`C!`QQAv{PzF)zfq26C|%OFj?Q*yL-s%OX>)qpmmEO;{56tI?MgjcbL=@ z*2^v1*0O0Ft9wGh^DVT zDTE?W76o@s#X$V}dckhj(0QTr>S&4J2Q#ftsMEX17=^g#%J|+~{8R`xHYM+T6cgy@ zSl?%qHsQo^mm5V#Bv2 zyFy-naJbLiyZ5N;5oc%T7*lY1dLo;fb!Zf`*__R0>o^WYcVSY_=QelQ0GsJe%E? z&34Ph)g_<*@FPhC>k;q1`yTi1-KQu^*#z4T6_lWVlPT6YM&mK96;$f#@`~fbBk{2_ zMc&A)v$S1D+w2HPZ(P?lbk=1aw6JOBAr% zZrH9j1RrRd4i)4)r;`aUU%sR)3NFqssH+O^J=@KOFsOW&MIo~<&d;hWBWFHfAE-x`f#ja_o>k;Rd7i_jWQU7#->+2=kZ39YrazcQzt|?CR%Ddc;^B4@7-s;T8TNX5fw9~6ysU~DBE>()=||Xbll*rlO*k{ zU->3~;}?ESlDlX#kwjr!GNNxqCDzC1x&b1QlK5mhK}3$FY$+7t6kMfb(6`aR7!_?w zR7MBWm#80x8+UwqeSi1&LQjg=^Bb$${kc)tK2(ME()DkjiACL0o{1SHr?dqcVp3az93 zdP3a{ku@D@ZlXBYb%Nlbb?h;OuImE}7nv2_rJzY+oe~cd z_AAv3nOSE=*d!)#$v1Df#wXMxt?elhN_%Tc^oOWnAEYa!*K;6x)3zjjigmqZLSk1) z-?a#}$ooYr5u+(gA!}uDoZh?3dbQ^A>@o-500xZ?inAB5*)<#P-oM9qe-27|>(f0p z>?=%&7BOzHv43?O1Y{IHhqI`a7ocPf6X-f+xLC8P{}~J39LzMot)`(I}6POm*p# z+_i#u7ws9rwb&@_n~I6UBC1wem@v-C-lU}OvG0NGk#70j-8kPqK}c+yE>h#gCpa0- zhgj%Taa~O4O+o=BiIU{u_IMHoacW4nb!2>aDF(W>rQK|3FV84KOI_(G;6kKvDqIku z87b~6WLip+Ruqatd#XxPmY`KE+C=f0B)^g7b5W#tArQPY14?+-$IpTsO2D5exLPT? zPR2_YP!tMn0=Dx6XE3GgDk|oxJ{GmKQh4R0chIzQU;6@Qn}{S95^I_&y6SkessQOD z{nGmr{^vj0aeQz;`nUE)(lqWqgqR5Sy~I97-O@4>lfX!e4^fTXIY-;<*gnmCr>r#N* z31Ocg-A)K^9{}_TVVaa}+psqsAm-)+1^XFIp8Ic z@eUWOm&4EaagQJOx8d`*kwSIrHMieEadUug{~z4G0K9RrG26CC#SrAb%qZL>jIsRi87L;*$~yp3I!@{O~cO@%8^!sr0d6=-y7%n zmV`f{IBA0`V)bEfF7o$n+oGePHZh5IsUPJnkGEYj6%*JS#{e1G%dgQoCgw_H)gg~R zA><%Y78QhMnvz+as&aaeOvZpz3(BCiW;UJiwU55Q?|u7^uwBDyag9-6qN-L^3K}>X zjZjLlSS+aPn!2o6E*EU0_mX(Vt++TpqmIFSTI>YX6ME(T{yxXY$K1PjpVew5;w9d* zUaffc>>1CWJ!7$4@WJOkhgOQ!dM)VEa>=fVP5Y$;FE&b%Yb}C6LO*S3nwIru!*;u2 zyKO``#(7*6Z4xu@DhBf=E{r|ZMJPxjQ>|61(5H>j#K5M@))dyJq{CB{CFAjg7th5` zqADuR&(GOzwjAv3gAY7@@)?Kw2TbZQNBak?t``#QD^W}=v|QJ&Z7G1O%S&cc>0ePw zyoyRwuw1P;IXPjqT2a?^6km}(&!%azS-kh2#bUu`v!SkQj*gD7-m}^5D9VziYpLoH zXBQVy=w`#VZ3#$0pmjpGK^v^IEEg-Rb*#5ySUs6cC@Qfd+3p$uKK|~4Pr&UQ50hG4Dq5-Oe1xbb)_76cxw3ryyF{CmIt_b5z}5x<1~ z2~sH4cJExa4aw@U86^~<80Q2L%YB5&lh6)&0z)q%GrVuRt``Csu7mx$)0cpT3%f=T z`n-Q6YFG-owDb)pv8l8dCHiRchSEBT%BcKY66?^~uxVPp{AfcRgfgvNC)9mB&=UL( ziV;e81h>QcE`OG&f(m`f1+blm*r%gn5aVoY1Bii+){4&AxE98QEEtrQ{-4fyJPL0^ zG{aVOod*iq*5RU=mw69!{6A&6OZJ*v>g;`J0?y^B%?A1qx&mxb?PM%R~()mQ&lCtwfNvfti;~z z2a?Kuq?FqJ+_SjNAdZqb)%QrIpOa~P2vEdAT}qs`+bsb>IY*;fiZ<3}%b2PXx^H6P z-0nSeUPQW*Ds{TAQqnb}%S#W4qm9Oc7fUTE^p1P9nRm z&FwIfoO!J6Fhz;#*0}9?M%7XueUD^&l2BI&eY^zZWB0y~XNCcHN(TEm8>y4ti|s;= z+afI>m(_Zflw77h>C>pZR%R5Mq{<%Gy*gpmb-qEIO9Q5cMtqKqWN3R7r`QWCyYpz0A>mG9vc!v%Z_o@HMzMAcMl zXl=lHMNxp!QG_ee#*M~0kI~Y1*|p%Ep{&G1(Aol}424$s;OLwn`LZ0AB9dcdT{Wu6 z*UEXt{-osf(&54hN>%yV-lUE8ir?wG^F75hwPxs)tttUB@|-CoOEAXZt-S%J4A;Zq zBNqjJOg!zZ#Dc!-I62(MwU(-`na$=re)>c}8&V;yfA544!dnu;G_jyh_-=pj8wp{2 zZd6qqAMNq@$tV2h|M(yA#V>uxKm3pX6LdA9sHbdpv4ZMT)l$5Pgr}SoFndJsZRy2N zk`Uhh|J(m@J7G*1iP8~Q3&U9p$!JTFE=XM9RUi1M;3b%iR2&_ZJeAf2t?*i5m8GM_ z6yWLD-=8zz8?#(3czt;WDh8h3iCLub1QSr&Ax6m}o1c0d({ZNb4>1sU0}~#MX)e|O zxNE94MoExklvI_fqGUFk(RP-L%PZQ>=E)rqemd)fN_7J_xJfDN7lV`l-uip!gTx$U z4ys_XKuUwMY$_2g3<_OHV|3nBmC8t=iiu)Y;4=j(^(Gn-LO41&;O^luzw@nsMX)U= zM~6(OBV5~ZbZ{UGt=6noD@;{$u(yZpI(BPO;cQzGUI6H9M_t!Ur!xugZO3Rll0^l0 z`0!m$PEKiC>AM?`$5d5?i5uMB{yy)$`z{xk7hEqEyn6kbwrN;zHdJ*@UDX^O9nv;C znzm)RTyed)7W)Df7>&ow<}++3zDQMFQrBb3s+Pbe%86?gd$Wo{Vpt`cMjE>$@9iS; zXl|6QJ1xNnFc6KNnMQ? zjm9D^?g1@^v&-cMk9b}wt+~2fV4Y{TYcNH@tFv=KTb-w~f}Yg%n8|obH6AgY&)ICY zyn6MD#cD}emP{rS>X9g~e(_6RVm_Z^V~=RtG+bX@@#@7ZmaA1>JA-p1;Q^uGdPbv> zC@%-1a;4?p`8)qU@0`Aq`vz_76HUpuYi&;KBw3UIM$|$bzH`}rK!rdTjq81cv%-)n zWu4G1Z&8?RXK$c>s$YiCA)$gjWi;(A>E<`FAd`~AwC3c1LHBFaP-%3S5SoZOrFpBA zNSzB>uIZfR;e&?5(T?CP%3BB>N-F{#%6F)0gzwf6lUssAk%TBDcj~MhsjN3dAsHoo zfl>mF6?;Y7dIAM)k^tbq(}~X$B5KH z@i8qk!kCbqx)x773FsZks>sCFfkb7@NO?T&YBb{D_>l9nGd9<2j1hId)Q@d2T%2EU z{^}J6`v=U94Z-q>~=e>?Zi{gx;z)1b5xbV2P11i^9qd2fxf>vAw5E|*Yt_qupc#1tA`0-dJGZq z^j(U@H)+O0n(NJCTgb0V#oxpS8zv8dkWJ}9#s24L4G{#nvTciNTe|HIySk$E4fUvq zy|NO^IoB`nKFGQpREX=K$C&u{5HK2y@v%522%tg`ccC%MzCt`_L8ETQbmYxWn#a!&{NCG;A~Q^R|FgT<&*&>F%O~01#p7ItfJ%aZG;) zZqm+TAW6I?QsIyDbwC+Ksf(W41SAG9FV@CG**g^?J=GpL~K+ild_=*~FTL z-EJqS;ckbsmZB^$MZw*B_voyp=~|vXeahL{IbAErM?I>U&gP896GDK^cE{rST9oN> zAT4vHi(Yk2+fbD?#z?@B{F1_e)@36?&~=uk=_2wd-#6P0&UQl4ia|=MX12SQ-EPNt zB;q*Fo;_nanKGM9IXgSU1SKlGJMrHul)<}>*=R}#j>&jL2!U~=Le1xMx~^k7opN+^ z#Kpx0dwYAdZOeQ<=kepm)OF2zz0Svey;_PtVnl9_j*d7!KBlNjcDo(d%LP}wo$LDs z+b+^e#d9$D5R*ll5yTWs`q(Fx=%OL?euC-m*={0!cZ0scbT8iSae+boETsEZ-!QIE z_cm%^l>kv;&tzJ7Lh;2G;imP3BGTA1`akF)Og)9se&TR%M5nHJ?_G=EwP=+*pa35e zKOJzpWn5QElyWF#QA&~y+od3;z_vb8my)eSQu+ge##)c{saG%nItCFTSKJFNl(Jo` zuvUIflq^&V#(Gf+A5`o)ltj^4sp`4l86BQ-eD8ilMu!PuL|;{i1)8)52MOqsifB~L zgrtBf=$m(*GSaS9fV!?gg=h^>!~{pgX}WMgDBnSR!DRoo(ZD$c#pw(Bz<;PHJw(NN z^+fW$lpezbVyHlwlBwkVmENc8dI6G@L?tR}QTE-!lVbOs<2?iA5Ttl!V=+ z8*(G*NL11^wl)fywQVaD&6x0~UZwQ8bzSFUO1+mpCGH4wporA}qA2L1wM{z4?RHC0 zvL}D`=b!TIM^6YUMAK_o^OR9sUR+{|g7@G5Ak$_Og?4y-hSxeJ`|13)u^&8L(==Ww zDUR3 zq;E1MQX$&5frx1N5Wq_j&S>#s^+?=T7=x$pZ*)$ml+{S?M`wwzmv!2EK^+4X!9iIC zv?=i(F@g_;cr^wuR%g;M#eD3z*j4PhBaH6*c+zT|)N!MQ{d0kc<9v+IVz;+8dc^UawVGYv5m;=Hz zuHnW+?i22wB7EZ-gm42P6eJ=VVr!inrj?3Fp;kiAjnuK!`w8)I&W%H;1x z%VJ3qAAa(G^5rjn$b33sHmUK>f`;vO!=1Z#*xTFV>gtloctRU#iSm(})oRJb z#RVrPr);-7X0s{t`JC1{oa=aXc1BqiynOYN`D~x7t80uYI5{~*X+zstCetaS@tDzQ zB2CsxvtDg@`s_K=*_@&***nUtBVtj5)u!5X19&#J#(Bm`tZQ@2E#( z?%cT(lbtPX(@<75v+;zgt|{vh9|BFg6QP?}?QFXa6zn1eRhuFPotpV<#&|qpKAkWc z)p4;d7*8k6=2K>~DSPvM)~gj?{K6M-&Qg^Xlku3kDjC%^^XZhTuFwIB(okx{sID^| zv@8lXt2GDv`{H?dcqDT0F*piddKdQh_So%qSzMrvJ$c8+$8=Gq{n_*9IPbZ8{~m1@ z6V}-bk7lu4vA4I+)%AkQ>no~i#B#Zj9zIjDST4}IV1NH0Qg#jZ-+71iW}Ewzy!UL| zhNf-vrdW?^5e-^zIXONSIcnhb%hznS8+1%|$D=xK5-p0ThO0D%kzg;N_@%%4D?B)T zAnKu3gl7^ZG}Co`z*|d*o0W^nVR~&6j|o9kM)4t|hQ1T^vk;S=+f-3`?xw{=uI|S* zH6e$jH6<-G`MxJsiTia}ECmvc`({Fzgk>Z#i#>!!l%0htt~0$<>?q`YibAv4o%5BC zJbu?kpQ?u7TB*-j>7Vl5Ry_4gL7*e}MiRK7G7~|llb}?ABGSSFq@>R}3rLV6C`2Lp zRx!{?$e{OvowS{i=Y8ziiAhNavBxGRgap|OgEu&*rS~R4XInxs;^g7G)U#++ zbBN}p=hJcay@L`H2<^PfL3>IXQt{74`-POWbxoI%Lzj9(tDIO{iEBR{?TQpHhnLcANX^oO2Y>CdkC(AthZ^Rpo>$8P@OG z9c?Sd@;Xws6=LO4R+5lzH(Np0l6{j=)T0r>2EP5L-{#{#{4=^;gNp?brIX-_L3zb) zv*W=B?=qSQbzf|=d`|k(`B`hTa7)uP*%~M%jze*rOev1Za6&hWLVEI(z)lh+O8=h( z;AHL@#Dh{+A@pkP!Hd7DTPT_+rK?TdI%_L9QE1y=2fQB^V>k5HAycQvckif*?RMYG+GuH8iz zaS$qC+p>%{6~m3<(W6IPua>-c@r>zo%9p9-w+$Zy^+-BJ*=+wFu-)U}yTb$WWr#l?mAVb14Frc=%?FTe+m zPL6r{{24BIj*gDl)B7}C%cqYYvtF+mjV7!%J0_C})>_UlE~&>OC`&G{1vy--#8DG z66CZU>-8E$|(vnMq$NYQ58Uq^*gjGK#6sP^P;fly?DYV1WfEd z0@@VVPAF?o;;h04u?Mhi5{D5)w(W?0Cg6RPQ`a%L$w6RB3hqOba{kS4GKsx#stO_xEU;j<5gxH>f9)u!Y!rnvkHhUZy^|L=znL3Z~Z%eHCw` zhh5j@bus;KRTLD)P?ROk#(u+?GzHaLJlUv7T$WWn7Tfkcdp?A0CSR2ml_{i87BISC zeZAsa|N9^C$)A0UYaPAaiIW~P4Bkoq)~K!}##0VcnA{7QD8j?zPxRe{4i4$FL#k-+ z|7WszOfo}vPR1oA-RU#ZHR!DyV&vpne5mneP7$8teB8^F%4l7-`qI5{5HN^$Lf(Ui z30->4&DW~fBA_GvlRO9e`{w5Rr=Nwc9I*=3k6ET}4+=4TJSKhjSqvo?p;CWe02c_Q zj*6gy=E-M9(IpL_uvTm+jM8*2vf^;47L=@1i%Z$SzN?SOb}&lf(UHTp;SrhOHn>8Embv&o`M#wcNq4h zO-wlm1|1w43)Fbm@$Ql3Xz~*09-?*MZ|tiw7OAA5Rg}UElJ7yz-^Z_LO`@Yx{N2+N zPESu6)is;VmepdxZo5Nk&Euy}a3Lb9rFa<+_t#uR2sh`HA%S;>kG}AE?wy=aD$Vlx ziXVRZnB`{6op;{hYQ2uxLO(}tKg^`q{|%X49;HJB#mYF@LL4wpP$5FTI-6mdNW~#2 zv=1mc-hcmu|LfE5@azBP-=qtcfA-tI!`^I8P!Vy6)JLUEtY8L74zy(J@q9Bnn8CS- z^bG&jm!{+M{^m($#47$?D1Ad2HN9{CqNjQ$+S9O+GwE*Xpat^_san%lycL4zX&-Oc z_~9NI!_GF$rV|#c6=!E>TrC$odHRg|42doxLj*gEhtBQ-u zOBRa-U96JM=5sDCE;u+iU_2i4z3+dYtLrN^+bt-?csikJS|;NWckbTB6o%z$MHMNg zCnrZVZ7acS5bKN8dQAW((<$Te1lL)*wuvfmQcc&|kQA?WJLz%kT4|)OsyeC?%Dgcq zR_CHyt=IyXyiq~OhScNnnBYCr$wbg6EzgP2fsU2kDhfSF-)Ax{9?xd9R)Xx^Zim89 z)^+R=l`rQ6)hz28tqr@T!3WsH@2V)!g(%@}cMU;nw%Z*_8`kR$*VjvmvO=4Zr%#^} z&|F+zb9(14^Z6e4?%!v%+;Dky#l3s?dHn1do9$K#TT0Pc%W5S_x2TVbAcl9I>10N; zYnY5DEEh`(Q)Kj20o$Ea_^a5flL8oz7?ywWi(lpEzw+}pL}FaBnQ#toW7X0-Y%4-4 z&USbwNRZG$g=!aC8rEjcru`j~LM;9Ypo>E3R4!G9@ZFr#+@Sw9Vi#u!#s$xM9dJ&Jw3Da{NR`=pA_|z)_F@v}gY+PJazN5`9p!Y+;l2A*Ro@>c z>%J(nCOTH4-#I5%CP^SdL|%NR@ks(w&^E2u>_qypDI!9vBgIRJc$e3E`1&1+LPT7I zcGV+3DTzq|^iVl8?a^tyO#e3wey#0{lo@F`Vg0kC4c^B-{t@K-QVX&-~9o;breOqE>7-SrD?4N0uLU&$2WiB=QzH1 zg3?M*TGb=d!(PcG+Lnrd-g`D1@s&*oVoCsq=&#UWJ;n&Wk;b(siW`cgnPTjF1?p5_ zD9Q@l0>3*WgkAt;7*7uW|F*3_kKFOb^S6JOIS?YMNTg+k{91WkFX)q=lk49rfesT- zMbuwN?-!Ssd=4I2>$?`$TH4J9yFRB14P~8LXOKQ%C*p=a_?)zZ_zQaP=xa)Ws#Fvv zuKC*M!hSxFe9lpyqEI9ajGpZRP_|oS_{O+GM?C;$HRKB;Ibuo8= z5E2L=eSfYKZ^uF_Y}ZNL-E^ED9`NAaeJ0}xFP=Tcb{%{38Pl@n-3Jf2JiFlat5?)j zMOjF}XF8jrHSD^EK%gi^WUJXV?C7bK)B(fsRs|?PkmA=_#kDr);-duCA`=x{mYnbD>6tH{UCd>szj09;cvhjam9% zGD4Xi-np#mmL9IN=t!55GuIgz4N6ceU6PT5;d^PN@TqDufcU-l=!l-^qR0qLsTGr| zWIm|~?TmK2qTOxTbuC6i8@=dUCjr$cioz_GGFJ1be0Fqn#IxtmS*_PhrX%XQ&c?e< z*NWJX_pDYcy!Y(w?UB$Vtu=>-hrIv(`;=wL(`V1}X6US?tSd&7DKF2?Su9qxtsqbH z{R6J9uK3e$f6P1g?y+1hSza&bY{PUkW^ZrKcDG}*TC+c$NRdQKG9GlQ8un;ix`sU! zCKYF-w=F5Z4$**wc#Owm+2C8pd_L#(>(~885pLdl!#R~UkD@53#-rRnB2*{MY;S@w zhF7m%<$!0`$=XwmYJ!5@y2TM_ZO7u(OO!E8CKIYrP207sb`6CoxwyDM>w@+6l1-Cy(r2eL$Z9E?5-pr(im;&5k@a$Z`1WnNJ)h~RFq~; z!h1jvL+3pOM5W!5KmJkR%a02DdV}#Ayd&reZ7STZ!}|*F8w6Ew*iI7|5meLnZmE8) z4BpUoo)8L*f!2Avjlq;wG&>o);99wjTRNgw=7;h<@)T5@pMXo+_T=h$c_-2mMQu^C7t%akp89_E|spc;6zcl zvlbO}Oa=qK6O(ZX;G)<|3^W7MJ7~Ku3RY?9Uvob1FRAaWEX&--oqGKU((jlPyO^{L zP1aEmY;T#8-ZvSV_oz$XsdOo?yjcvTTti}(nA+&E0o z)APf>_Y5fFUP*pF9Zz4FxJd^Lk^b4w;hRb1kRmJlM%;gWuM`_dpGW_tQb}Dt#pk&o zO-0@-2nN?_+QuJg!4h@rNcN? z=U5iBj);{Pc7)O)QruMqF>wrd%1YEhI~#2&T7~n5LN%Cj!mb(N?UJCk zXjP*02T$% z3>!SNy(xG_Z49kzxqnyKQLDw0uYKjKOzIJz{_sa^w++q(%6cTiiG`89HG(*Ad*nDw zsfZB936lZ?70k^FuasbME=g8fLU0ig(kP@vFdI!#cwSsT=PMt5nP2>Czs&#g+rPtd z(NdHnsdNtdD$>n^N)Y~=NsnZ(yzxA5c~0GWzOPQC6O)NKq$b_|tiSMcQ>Eg^9cLcD zH!JBt6m}5Rp|U8F+Ae$h`|KYa^5XStny$-D%gOlJ`J4WHI$kQ37L15Am|J!Id<^lt zQN*eyIkA(?OvXRa7n2yrix)3guh%ycgSU-Ue(si!<1j%~O7+T4x8EaHR`p=KZYp!h zSF&+P)i7mLHlCL%uSb_ff8B}5sL@gGp1x;L>8whq({sjfxwzufr{CubAHC0HRALYj z1ryafb*fOdEz`*y8~ehH)+`oFnx^IS&MC*o$84Jh=PVz7_#r`SKKcG9EY~Z(`Ex(Z zH-GMDd2s(ByX}tee)khzym%>IQKq0MN)8W?s3#L%y*}g9&mQym$x}w-3FnuWTwg61 zjVB_ptrd?x|A=Z-;R#e#NnKU!?a#&XV6)1S6#i+yN_y@k;x`xDLPQ&y|>&E$u^_th93ucyk_ zBjlomP)n6ASpDCuy;ra$S$3ZHZIhYDU4L)cuIj3G(>-mbX9k`C86-eHP$H!O6bzXM zNTCSI1@)-Vqh9nPB0`~12ncGJ~W-PPr;H^-&fd+TBC zotgJ`RnK6+Q&CZM&pjtkp3H65TK~WPf3YAR6riPAczATge6e7%x`NF_^v8S8rK?xi zKRjT(vO<>UqN3L{1O>%l&{p>zKiOktWsRz=**n-rX-%FNES42nR^Ytnop-*&*7gq9 zuixO#ox5mlD63j%YD!dP7fVrm^}&lrTxK~wI*Lhr&2TuREK4Sn30fP5qY(hbplJJB zGn?VPhd zM{HcahRO1HO=7Q8v=Py5!0mfzSxR&=nWpkIR{>XqG2(RgfIGcStDz65->{WMIeYOa1U`aTF?&fJ(BEcqCMBJCf{*c6Ok|TK zOdRvBYN!`8>Z2#v;P76ATLxp(G4)gwu4&`17?+uJ4V0MCM|2P!VzHyUF3JQ{kiO0= zGwpl_6VJU*DeGEP(%L6LMJ)b@*n1uUs?3_0EP8Sq5&Fnd2$ABdwfGf!ZwU&l(fB6P z>vhq#WLTpys)%V$M&m224Olaxt{PssIpLptd%>m6D=~-Z6pN(}&?Wv=S&>;`T2xiV zl`B`-+}dJ3ow2{S&%wby9w~HME8;eFB_dG6@sRcPH8wXl*xBCV@|8pHt@( z!VbBSfI9uu7eAGZU8H6WS!(cCaj-JbHYH%?1(v zRdmg_=|co@OxW7960?iHyZE@6sC9|K`Nu^%)U%HLxrC;D|L4yWI@L_o`(6LvELKn< zFvxO2shneNMLh2AKY4^x;*XU4Rzlp+&n1NI=f;IVfeQNb=il2jK_~+t{BIj6CYd&5 zR+P66_Yb&n;|7DlfG1C$P?lv|9qm_OpLGu|e&>`xcfWu3wGMR1s!VF%iifn<*C+@{ zZB!Bn(uSzhVi8f#P*fi+OaymQX-h&T#<)vGUGmEvLe86Ug(Rd6Y zFkdXF8%L23sbb&7#>Ph57rV8+C6#gSIXO9HFdhmWw656P++=-YgQLSkzW<%?vA?^= za5&`l?b~c`Z!@3ITf}gCXNSGLJ?`JX&)(i1lgWh5%}rGF+G?trz1=;bfjG~2JOQPc z&*psa{s)mVma(zE#>U1b!JtF0@YJX>~Wx0?bXgD0AjZ}n{4sA8ow`iGyR8ck3&ry3vP>Q3NWX^XV?eXD zbD8;4B+{pgIityhy}dnF*Ee|SrI+~hv-{F}>0}{aEEde?^Y+@Ma;S^6tm#zLPp8vq z>>msa1_K)B$N-N)aK4LN1XHxgQKxH{X!SqyGr!1JUVbA|L&XlDE-MlHDC>x%HLdrc z? z6^(|@B6uTq5)wGc%B2(Hr{vIO=`cq644n@IrK!Cr;6*}2M8m{qP}aMM3a08lv0Wla z?|AEJYBgSKRFHeWdg&^|m9Gdia-@&C>lt*7w1~)!OU1HIu~`Hp@)mhW z35Za36;2iSYzNn9w3WThdr^w(TSz3uOO1+2plS`#(^{X|tQ`krB0JDLLpP zcwIkOXJ(#|C!p=MOBBHtG1X%6lW2uXsTNU7bi_V7)lV`Nuzh8Rd{FS{vj>z55t>Q? zfRZ<(lx8`f^Z3C-nyO)KYZIH>_I%Qw?t;gq;;(bPE!C zQjnL<)rZjSg)x~*^iuD|Gd461AK4VCcyMxX%!l89mp}deKj!=2`X2j__uAr|_Z?j| zgdl3fMzOZD#@j#tHGcM&ewK|b5!SIr%GBP+;z>M@)Z>}%XF9K>tU8UhJPDyqf;{P7 z6h(0k0Zi8$lC%MvMgMZ`|YYppUg-cdCT+9`}X06&ijbQIZ9PmfE_CyM9S zy!6_OROtTiMW{xKOXpgX^ydrkAtv-KVjg092eb*HiF;5GsHA)F%!$kFb2w1IAHmb>L1+lkV)@4DZL$s_; zIur_tL8PCzD-s$dIfsk=o2lqxB2%Ghe2g&#i4-5(n8da^9uDGr6@kVZupYdY@2ySr z54Qy6&`OF2o(jltz={ocJK|_I!CKK#NNlqt{FwGht#n%eTU}jab#0Zps#f)MlRxQyPx=|5AH0y1|H>|8G=A|@;W4lJ-M9B$3 z`iYW-Mf3pekWSyBlNY~#I)+k$5~gH0ZSqayuKX)JEbx6L5?Ptadr}WbsT2t&9G!O#H`*VwFtU(I=-86tj<))(zWYc$% z5}E?a;6hjVZWl^O3#fOFvWnhic=AkS?6nvEyozENv)K%zV^H0A@?5d8v4OF+rG*|J zAM@zZBa~9i=X3V=_u0O*!|LiPdwU0*9-l~%Q#VW|6O57MWHy_zwzjC&$O!zyAq0u3cwkZM78xvPF*0EOk>e zUo6P8jL~2~sN{Z>WlhsmI9H#)&yfm|62!_?v4WXlt;TAN$>J=I{i)(})wG-SvN9-4 zOIMiB=Zr=pszp3j^g5G@u=LBAtcaC+kJTBC>w0CXrlzbbPR~x6FGPuMJX*m8>4BOk z&GE?zAANi;Qb>nXO%2+ztd<;|9AmBJMr&w@~bF0yug3o)Vf!AI0sW4uTE z&aW+aPgB(t!!`c&{UiRJUzwv$D}ok(S7nC;Hv_M5A*b<`^wZsP&8fzoy zyHG!+x-91*Egyt{_7$EQlZ`<&9oiKUsMPz`B5pD9N{CQeXZqC8WSfxQ(??-C!KqFZ z#9A9E*b?L>3aR*?$?>bII+rx2H7!xR=JPo~`<|3cq{O5hQz5i;#I&D$>8&s0g6A9m z{Qtu(YOKvVq!ECa!1};`e!jotEvj4QeZE>k7ZS! zONOoKR6-NdnR+I*?vnAg?=a1mNQ2I@jJgru#oCytdZ?%t6?;#f@X4LK?0)u;lfx70 z%3+KpFA4(Z#eoQtypPvL+<5VMUVZy@u3Wn!^xCFkpbKX6c~{)IfU5QHX}adli4UQT zd#QK`HtlQD+MK>~S0G49T9>#dB(yA-lHj!omqHmurZT(>Qs4{$uPr8o&ai76QpeS88VT*{DqSk^oD#Q<#c>TR{BFvQ( zOQT2>L5g=qX`B*vjbxz#@thTX4vnF92K1Z|#$YO86uAaeiPmGvYR1=}Tkzqd$82wI zP&W<6=oq^gLP$Nr4WrSJqve8?l?kh>>)ikJK4)iV42A=Wyx{own4_~PK6t8HY{P;J zWL7g-U1K_*aeQ=$LDAGpOmN(~d5uw~`44{MH&|I+=j?PrF&t6Wp6`73yEuY~TzQ2H zf!ftw@|OyxiWoEZ@}%(jqQg@X!p}?Orh(^NjmA@lfW}~q^it$mAh(Lye4oSP2mHPN z@;~S1^Uv|${|~=SRW+=vjG4}AJPkf5@&ADK=F?JB|9p>rW_$7ZFG3Q3+%fwB&`*;% z_9t`yQI;htKxPbO6;;GMcQ&sl97`&0MS;^$q*d@fDJos-AaASEl-W(%kad zts%HBX~KJoVnCK>u}Bb-)Uh<= zn#{JrY*We4UZ8&84+aIp zTtic1v`5(i1smdh!qhAdYMhB@KHb9#Er3opOKU@%}lpR>8X zAXs$w>q;hbZ%GGRCrMDfVgC!Paf~FtV%9jy2O{h{2IgI zkUJlL%;{`O;~lQ584O2kOvZ!|I5>Kb&pvy=m220ydi^FRhbIgtW9G{RT5HBDD?Hxa z<@of3vZ@%bu5kC>JvKJBSk@KyKK%@3x};?`U0||~ZsnY#tQzV@l=4QS35^d7hePJ` zIqU1|LQ^vt^Qp*8*R`mDT5HkDV60F*f``F)%Al6 zH4M5%bJM)^-pgx@pcF)8PAH+e7040swG3roIa{#5yUXMIkJ)?pguMrkDd!6jCPHCs zCPipmSAY(*f+Nr0e4ban`YJbHd>)${%DTjRi6j@Z1xj@cfUXGLw2776`|~0#sn0%9 zgn?EKx^8N06cXv*Gowu`-bk#P5=cq9i70d$6H@%}-r=2!>t{gO0geLiK+(|DfnW_v ziII3vomEKc_mp!;`&P8o>5bEVpC5FItBP@4>Zj}XL(-bdcT~hQj^$o^w8|p2Tw)zj z+3gb1gzU$OD+NR!Vp15_%TN;t)O8%EnG~&zQ5db_|4m$@BAVGqdxy*^>HBS(j=|=f zgWAQhnbtSjpOp?68!gSeoQte6y1j;}5Ec@xUM2N&DHPUCAZSgVDTpDd_o6!?qFY{y zTuPyWrK%LpH7KJ{AwwEql5L(7K_TU-YiOFK^pv8gn_}O zP6dwW*My2FYy6Y0XL~LY@lvW&Xibk0q{^sKv)vH%Io6gzY+oz0y zG)hy~jo39fAE|wUR7Rbv_{l0>lc(Re^pf`3c+oH3Mn!5qP6vt$t1+#(QR^S5RP@@4 zy!=#gi`Q8T**z{sou^gmA=K8iM)xMtD3viBo}F;-$vwXIl{Z-(4+zx)9qkqBvShie zD3{{Rw7xn)L=HVosL3+TbUEX}qtEaP_7C@|qP4)<+8QA!j`k0k9-nc1e8j_t5BcQN zd%XR%w|VgB0jFoDy!he^93CF=#+z^Qhkx`(%$5rV#fZa`6K=im0xkrGqY2O5xWU%u z2DfhA!iR<*zWXj!wdCrRD;yo|GZ~K=6d8-@lzVsYf)A0-;2BLOoSdAAiq+~0TbFjY zd;dO@jSXraxP0w8I?FjaIpK6RG;`7El#hiqO4ey z6|3tTG~N@8rmQN4qcM}ogvXB`v9Yy*wU+IzO`be?OqS(r?OdYqVm)wtaw^UASx!|q zT)ldgx^Bqxf~t%()<{{J&Sp}v&Lp_dk>*%8HI<8Mk;?E(KmV6``yGR*@I9KD--bw$IO>{+_yh39j zrK7?nD)vE{bJS6#;=GQpPinVXYgWetKHfdyjaL-)tU`Nm%>qS+*3$Q9l*YRy_*#;n zK$NU9G(J!@PH25j+N~wXQ4%-=5uT}=sFtSgQVQDp z2|^#0Yxn)oQPV+$oBD`j-)ufnKT{Hzp6^pn)3MX%CnWJ40v7k$RFqBq*6BOgcwIMk zHW`kGJo@Y*OYmgb~J63Y9>fms$p>dKZCFM^^ z0yKl7Xy+tIS55kE_0ESb!ZN3X<` zpr>m;9*APfRYetkttD9Di(}-2v1Ue?~uq&1>V&{bN1d#0k|n?X2*o-QKbKhn?OF0wKL01 zY~KjrRYdRtN~MHbGJa`)jXi5des7E zpwN0K_dQZ!t48s{WyQDdR*c7&X@o`+3kyC{b``VPlq;7mW3}PlC!eCUW;mK~Hl59%;s}eS6BF%uYa8%{pcfp=O6xW?Cu{jU)GdO zV0~kg`ErTP2l!}N(eAtH{`*eJ8M=u5Y2)-L-z=(3H@oOi+hPq}^IG27>ySuE6 zC$T~&*YW!G8)&OpU0q|bTvB_F9Sqpq+GOwWfaB9s7G+6Z3}_n1e6e7;Sde9g!LXny zOU}+tBNB<$3 zPmfVrl0TbSl(n4Arb0`ts#dwqD_RQcrAwC>3(+3omf(`gJZ}xq`8l zhYud|@X=$&qY;C_03STF`5a?+eT=YE{3=$|(!{Ba2((9Ua7QcS+95)gSG zTJb0e{t|7=%iN7hhiSb_2KCZcXE|F`ym76>gaw`kX=1U6fJ`ZVj9$?+(w7{<92E*0 z7k#&MMrI3{%XHQSK34hb+Edrk6W=&N1_LVgz97Lz8`RktVCmTNB6Ly{g;RWp^=mCu zKNl7KiXul44ofk}F$R`RMQ%NAeu7!K%IfB2blVpwbg_Q&mBw0o&y^PntP8EWY?q7? zgHaa){Lt{XX zuT2SHI#&ALsgEfos}}=sptZF~)YJ@=pIMA`}kU{BSM^8GQNFF=`<*OUEy$S z>}>F*uf567{>m?M>*d=7B`7o?$y^Ysvdy}CnC@FbJX8Os)|%x)`~r(Sm(Q|>>2!Jy z6&B`&sB2qe;(H}wXw^uy%=xnHgon~S^WITc@t&D3D3%1(fzp`N&(~D=#RKql^gNXU zkn^tHyV6)r*Iet4)s*gc`usk{H2s|RVkvS3z@t>RzNInV7Pu~q)$ZDeKWdsYAc<=T z9U>GWEm`QjHO;c3s+YLaW8B$kO!~zRA}e$(IAw9H)Alqg6$r?EO);)kA}*tqpnk@P zz>R$O04k7Wn#{&zju88ldo5>tK5_1^SM*TSw5~blNrHhsNCDBMm^KJK)(0Q0(Ex<% zn&%n5p~VNC_cV>CuBCuvY&suHNNre3u1N@%(Lix@c1G!U(0bhNwJ1Sen@a2^uIyaq z?Bs;g(<#NE;N@(hd?|q&; zJ|N2nWW@-Z4GBuKENh7Cfb-|q`j%~F&a(-gwtu&v)zGZ|H|-0Q1b8}THf>^s1mjkV z!len8!ek6H!|ZI2pa1#S_^rSH-}1_t zkA!a4O`>N>rKc!z7Rx1TtE(Iw9Dw(X2SbcT{KI?`X&#z5t>R=#Cn*OvDk@f~WG6vu z!yt%STwt4qK{22#ON`cB-r45K?k;6jLsTXTy~HzwC|TQH&-UW9*CbVXy845h)H#Y- zkJ6Bky^Eqn{p+7@Lo%8-ky3}2=RyFT2?b2Y#a_jX*jOEfCoDFi3dSZe8u8B4MwAMb zH9|+UhKC1_d9eE_uf1}cowXHIXrj#uC~eUu!(>D9qQE)Fcrq56f@^3RC&th=V>B9) zeJ&p&^Y!^1m-yg=_j%#gZPr#-7>`CM0+)9# zVXfub^=qtetg|djwzn@!K_aRwI@fS`bi~2YA>Ic@qcMY_Y}R>}v9Z2R@PQ)B$*g5Q zn+d|4=LD1l5`lA~GF4SEpD(&a#@IG6Os|o7tXWn_?6Wyx?fB+mv+CM!(mbFtZ&&Y4Um)OEvjK4U&#aCCf(Li6FBkEF6>_+uVFe#~?_ zrCcthD($5b4q{}lm1Z;=wSkw_{S!#Gs~+>iF#2F zjjw4U{j~j??nw*^`gSX6KDy*(rlK@~ifVTKdD~9kpX|BM6~dmf0Ro#8`8(}+Kl zpkf(K>F_jBnp}{<5Qri%(T6HHg3>szS=NE7_IRc7&d|6Z$ess?tcsvPMG9#UDr)11 z)o9(LM@1nWFZ)(&QJ}#XMV1w0xuIzmG{Iw(!k2TZvSMxLI{9EMp0|m1nu1HCrEjc7 z+9ZMXKGBXl%AWN1NRS9bDqbqqiivXwj$m_ic2)MJe&Ml~l$}RMI$@J^UR71KNkVHa z(@Wyg@e``UqnG``1-P6@5ILCW#37PH+afKgNi{ zttYT`^%9enF$Yg1Dbz*^13DFSed>u9gyZDsn8%;o$Ge8r%{7YQP$c?8r-Ugz*`)-$ zz4?$*^TXJ2V)FLFtHV9>d|HUiD43sQHpbOuCE;1ifwVew@!|c zj-^^_oHQ=`bIpf{WH~89HdResm6V4^)F&qr?`uKtlq^xw8<)JVorpb3VNTST)B0-- z7%fF3t&YVlvPOxkmUu- zvgY(;PSyBm>*qxATIrbYKRwCQTDLyogwXnhD`;EO`maBi5GG2eYL`1nl8g#y6~H+r zqcOe;qFAT`gF)cG{;&R1*4J10mA~?p}#I*Iet z!|vpM?Ef!(nf~+rpP!cKJ?-Zomk@Tx?>44$zgHh5es#1| zNE~z(tB~3ll#PK;X2A%uaPP?j9`Ap~t1sW;+V&=zE+O2pMHjO4QuPGT)TFSn{TnXwZ+?Cd7G1yV~&rGsbiw= zVo%B0*%_c&E-GGn=_Ph|chSo5{)g|Qji7JC@raexRaRD3SS;ooA0M;1vBCD%7R$wg z+**uQ9LD}qYYP^OWh(}d?r91n`kQwO@|vb$xm>bbE?F!VfMU5^w(6Y57_vNX1DuoT zS-bJ3DsdMOI6*L-WB17(UJ1o1FA7OUjmBg-qsf@MY0%cPv9;BrV$OTEw|5whhV1X} z>FDA4wIH}^hx)#~@ z*oWhzf}@X?2u&@?q;Et(D)|ncLyFotOWVWuw8u}{KX~!ErzM2IxqeLVeM{knIKPb~ zN{RB_6?La|B|Fi9RY zu}3l%=ZvvrSwWHK1l7c_V?xlZUwIy{GZZfR-X*$d(^lk@(1?vK42imy z6eQD1o%;CF`x1rAIfD)jUMa{f6O{C4NuRkOW+_PTi?#H<{`%-qN)-B^cai>?P}zPU ze!egEJUun76Y29(k|>pQ-=bP=449>m`~>%?;Y~#$Di=Q58vZ^-~28geE)qOfBJxvgF_bciaaaGiUC@g zcE9$}+Mr~{f=@>Fp2_+uFTeRJKl@jHk=MWa2E)mS#?|e2CnhZ}D#IqrkW{cvg#kbe zx3gRXZtA*Sqln`{0cBLaR!Wj)LYmu3tVrT`>C-~{J)W470B4QV09haM&0D%q_?XH=O z$rMZK-kOoxUt*p^2uXlO{JxDfxF*ioOx9QLM9mrHWC;!yr3@&K$Kbuf8cm+%k#-+2 zI+sKfAP8lDduza_dqc8(CH8U3m^eE<<;~Y$r<-j$}%Tu0vZo->yz0UvnkA4?W42Ih*mrIUMPS83h3xU~eO2Cojd7B7^grEhD z@2i_4LO?&&7fR2^+*19RGoE)FYrfd!Qpr9}VOq5brN-=aJ&d$yx=+`l!t1A}evbAU!4J9Z`RMN&d zR74dVf)J*Jy{SsdQdC7vW|=J(Xq(~DF&V6>sySt}ff$ZQtgo+g<=R!I(>bTpIfsXb zOjcKzp3N8x1{@t7F&{<{P~8&O1DQ{FuRDz-Th&>h)`! zo=o}d;RE&$kJ-L-38h43R(gHJEdKQLl-2R1_3=#TMCxHGiUKO}jA{!c#z3sBzy0#- zvT?+oKpzu6>3@;Fzu=rC6REl#&E}KE1R;tvr75Ml0#^t`rovzR@ws{Y7kG#uj1lQ> zMQc(|Er=pCm?ZwuM3#Y4coWq{qYqP4iA_W@4jyD1{L>#yxxQ6`w}|&%4L&De3BG}l zc|>kQI6;ZNbin#Goh} zdRd)NM$QXbFHq$r7%Y^I%*c1jp%T-{s)S4YptWI>A>FRqB$j zmPQsg2-g-599eE78XB-xm;-f9q^v5cCi?IN>C;kZLR}KvDM3#_)hI8@g5KBdcuxh7 z^tVro16tHKF$?>Qq{cZH z3yP8)i9e|PKFhOnA~?=Dsyg|SNg{XSrJJA?fAV{O!181!y_m5c@4UoPSrn-8KA?i- z-Upws_vDB#zx@?ndFx9|R!0)VhX$pLh($!P4r{Ym6ml#UHG2>C*?;tyN1r|9WdE4O zViA$H8WVdE8yCO^LPUza>-WHgwvTHupW$4?>c$GUUwfGsUVE8KS1(fx3(955VzHnY z4k(HOUyFr{)t1`1wg~GFmhlf|7pt#(`?U zW)ULs8k~R{MyXiPgTBBHr2R^0sqMby11dPQRy2SL4x@8vgD|porPw(2cAJem}=>0sY;hbCIm55Z9k#5{lAt^_8xF_ zy2l%@y~OtF1f#rArL~s69yA^so38~mONw+wF^oxpocqbq34=jF@UlQOjU)5TWMlT`p4YCFRI@o~TI&iz^n)W{RRCX7 zRZH*_nnn>Q@lI1$P}jO;D%6bxN-pSVNg)9c=vWDk6>lGrKP^3}NwZXp?K5mvNK&Y@ z(BhH3Q563SCN~sA8!PYPHx)2wWicir%LiyJ%8sM89qf1=@0xRanbsX`&h@T!K*VLz z>$0p%YaCkIC||6=g2qYrTUehvxL>t)HqPwsPcaKLalWVE&->yowL0?Xxs#eB*B z<2~-Y`vD*S@I&7J&ilOg-FLb7;l~{89#U21xpUUqlIUpd^$8s+o010aE0prA?QHPs zS6=7qzx?yO`0C4y)+Z<1W zrNjd?j@fiy`V5n_SNMoLrh-CdC2>sSr3Bv-r*L-0`xBB{oAD#CpzMXpV{eo?vJ## z_gED@i?tT1m>_~VN{i@|HJ0EcY13v11YF~2d~9tnia^6y5Aa!F_hbcY$D;Zjz*mkz zp0l&H!|}lp)9FldASe0~A*z3h4HO+p=si9(1caWQ*ccEgr(UkVvO2!LV`0fPi{ton z&{KQyKKInqJPDP$;6vE$88 zXQg5lLup))1;i1Uj7OA(aYUN~PY+5UEbjhN?RhF&)9T z*GuYH=ii@hOMk-;K}sg6ml23U45Em8agmgB?-aOvL=t_hp*SyYhN(*Ey=$o;A$U=2 ziu9%axKK*ev#izR7)-EeCG@EAc!ajn>r~dYK>h?~o9nEsu8SWbp1N8xpPjM3zDWS8 zsv*k?&d$!bbLS4hOTsXnEm&Du;p30*;ap%gn~~=^TU*-<21BOP8J90#VmuzRwY9c?wTjT8PjB+mM)^k^`GMmlV+kGN8$Y}9j^PZ~loKENG)c-*GIf4?) z2m&-7F$T9eXp4*Lhd~=$tl%{fp{Q%ed|5Ia4#jM~tQn0mv=L827p+-VH`bZXXDk;& zIo;gc#$-8%$EQ4cyo>kZd$_r|$!sxaGG1ZtV4q@O*xcNtay5;2%ocN|^BIF;$ZR@C zXBM|y@X<#fv$nRz=9UB#4Z`vV!2$lM#(29CoOf!JKy%Rlw}#m zkBqCjuE{ftqs9kEaDsMu4}a-vzaaA9v7hW3)cqC?wGc6n*Q7n)(O5?>zpTbFn{K{OK^A1xlb3-$|d>CEHz*xM>>j4L5Gz zB+m=}#sBkr?B0JwHYj4x;raQKdf;Q&!Dk=d<7jt}FTM3;ZrpmFa$a$;zt8^O9w$d9 zoSmLgFQvFHyfGrxT@*f(*pVbCLPzT-&?*)<)4DV$23)>zjay&3&Gnl%S=m^Z7N4dj zk78_9Bla9cQBapvr1?9vHtoGh*IDkfsHLKy7!2BVFwb*A^5eblo6RTcW?mGeuFboG)5m!ZenXI8vTVZ&?%H<6J}C>&Z;V@m^3CucSv&1ZPatM(FqN zb?-|kaTn{zO}w~9UM!Xp6Dg%kMDv=KE-A>qYL6j>KH6ldjZ+gk+AF>!Z@KhW3WY8v zm2!Q{MTsw~*7zM23oBOEC2hd_CcY;n!V+)FJ(u;$IZ3%f5co(%D=;Zs`nDA+=p?Eo zZ9v|8YUeRpwIVp)hxWQ%982jscrVn{lyr-KaYXs8%uhlf%Y|`NH^{z-$5=>8j8)T6 zyLA1bX*9SQHm?bc(Ar6Y7KA$MoujH9xf-Bt;G|jb=H-l!9^J+0RlJqCJ06ZWIy~ai z`WBPXn7zFNOqNj$avZTRtfh!aBT=bXcX)6{fHy04K-OyN+O_d(@WP`M9hQ{nx-W$N z()xb!(a%@gs=?~Ldx5OIjeN4kQh)B00l%M6=3Vq4)^cxa|z%MZd}4dkHX^XgCV{%b$?8Bh6rzuFmk&&$t=8X6al{-KQ_-xLfFxp5>-W#+qMTF3NZ}wB36bqFsHT|${Kbyx43-yGP9FYbY>}+RV=6& zrqemqV##DOVSj%gV+>z@?F}A0c)*>zA7icM?YF| zRNCCnH`432iVU#2y4r5=sft_-2Nc5rgHjT$ayAoW(YtfwNNde2eRG?-76daztg-PNuNy#o5)kD`86&lz24!Xv*D8|#~p-Pqb-h`3f!Sjh? z|KFz_>!(Qy|2&U`4)h;wpcAY6-Wlpp0XcP5lSNA(t+jlo7%W%Il59}$+~#He;Xi%E zzxP+xxKu2dFFZ}qn2@9KRE?AZ8y^T^OrWM}z%>@5mv~*{$|`zB7IW~Cn%uN zL|YFHWMUB%Ds|Co`T zGZ{Ega<4tI=PVb2-8%=|I=s&>|H^GCB9Nm@gAb(3*YA@+m`Qm#YiLnl3hv7b^aDHtHsKBYP_EGg8;G0RevXC-+Fv9C=&!)9Hd zV`jzQFT}B$=S6E@VU%LATyXW~HU8S){u}(ufAaf0`s6dTu`;%z$+ujm?mKED!fErf zCExy&KjR1Q{2(eJ3Ps##jnz7;IR_jK0WWk-rNBd$`r=}-z(=pYRQNQJHma=R#tYB! z^6Ovb=8HGUhnb+iM$}V-F<5O=&HyNu%aSSz!KC}BRHp)+eojf^Xf%p@vl7MA098x^ zQzD;=0Ey>)eK)X&{Kj{O4Br+fTt=0HWRT!tu&4H1P4m_ zn9$LVc|#yCa+(mt^2P_+p%@~)(Fe-PVT1JOX${KD94Gc(3vE;qwge!AkSMtFybliV z3?kH(5^_ln{swk=hCmSg8o_o*PXAf(y_51z4-{1Gk+dp{^n|CQ{Pq*8T50qju znNruDZl{m)(eyV~5@aCK!fP&6t0OX`TanA>QI^zmUN_XuXME;aubZl0`b4~VOSRJT zl+o5@md~lBAdkE+nsh1^as7zGHpdw$xt*M{D(Lol1UyHFN93KX5!g7MOmIq|VL{9i z{UC~*G$!s#^iBntd@^G>I+BEPb90mNXw)?6?(OgL`0-$AJJhjWfWf5^$nDUY8# z=IYg}{NM*aVlp{nwwRMy%VIubV{Hvh)*XuKz&zVdnWO**h zQ(3UOw#wrtkD1P8~peC_LB=kV}I7JU!SLtQy0 z(<#H@n2+v$%;hUrIX*e!z4zazs%rN457^w;WL7K)alu<(-(Yj=G78OXHsh0fpVH~} zVgo;HUAhFo?%rNwJf8xZjrDaA)rd%7602xb3AM(#nj-cSiV|)HS~Ff*=lB2mf7DP# z8_NkNvew>td|gx5RYU}rN}|$7xI_$t4~>OHN~C=1rHQM$O0%z*evjwPiD@6t``hRJ zKD6hLbH7j4I!h^d?;NUCG)UJiy&`iP%x7duXMwMkwLld9=-_Yw@)TK}_ruwFfj>chEW`C4EX~_yFE( zjP9Uy4hVHl5IP+LrbJz`sH-kWBwV5SxHD@|S{HQL8kfh8o35TrDV# zjz-wdFKMnuFMSJjOekGSDAEe1A|*FkVF+ctY}Sc(QYjR+&>BN3nwg*PUreY_C(i-j z6f~VxR2h8fz*E(?Fhm@;X!G#x}*^eghaFcsxlbZx_I-_ zc(I>h9-l1lioL@=ozA4PVyo`D;w<9sy`pgIcaLOldPdg1KI!QCU4GK~UMz)Gt8uEE zG(e**B-Oub63^0%%i%Kp1x~7V$%ZxuB6z)``=-AjkLpSfw428zjL!SUz2(@}&AJ!g z6WEoFCR8N#luk8IoDlATA~Gx+Pfi=DS2)nX8UOegs`CYYI(@DT`b_nFN%^xR$&wj; zjN_b&ERCvt$=8n%Ea#k-7suwuc(9~K83&y}8FDal*z{h)NxRXyrIPQx^6k*LQbbGb zms5!F>acw2EId)}$6{nxv0Hg_0NzWWv<2?iswt3<$s-~EO0kMvhBjzv99tOC9YD=k zIGZ+LMFD5fkRdzrG{{Lk=$arGSsfJf#~n=dlN4JO;hSD%iI1pGch-P)BN=PjyZ%7IWaQ$PssE zJ+Q}-y-a=9LzrNY_C{s26`FFjE5(PzC)iYD=qK+@Ls>hu1hMD|M*GcYv})__mn+07 z)Mq>@4P8qTf?_5TL>@IXsunbcGCmxZ0B7{%q+mOtY{`5i#d=L(t^EpD*U}w6E1C^> zGj<;yc%JUaUM(Ye7qx|6E+`}l(YXyge#Q#Fr74ukYN=<*PyTB6N!IAOGRtyLG8;4& zvM>{%o?^edL&3Z8Vl>_y+BhQt+MrBaeTZ$?H$3l&xmvjZBR3H-NrKiGfM1*ev8HEb z*8>{J$R#|P2Y~MdJ_n$56tx(;)B>{!L_|WQq(-G}RkPXIcNC$->+bG$c;_`+rLU2d zlVx}vKYmX?sG0j5hRDn!&r$>(#I|4_30{do5} zzx4EfFF}rbIaX0I446W?kgteG(mJCsId4QskqH?7iaVFh}#637W-0d+r7CgxIKwzNDLG{=|KYr z?_17HZ&@%c9_-Xm)Ky%4Ni0`6;@rX#0ry4^Pv*c(2BV}5%MKgBSHLel!9qn>UduBy zT~^{zPW45pLYc{~5EfxV#%~-|NcZB10so`3sIo^zJHu#pd)SDi1ehT!^|qn{dXhm2 zf6^*zY`UHF-E5+>$_2N&BLS;I4Wb>9V#qk;Lhd@xH9{t$YAsK5T@}^h`FygJo^F42 z6=@KGZIeGmZ&vU2wX`+-)Ygb!XK!70ZyotZ7iee?DU<@oc`RGe-Sc&fqU1Wll94>z zmA!Q=TRJ>?CP4{bd~R2q!=fe|v%+AS770x36Rc%;^T8qn<3Y`}aEJEZ9zTqsS+oKkk1bugCB@gF zj0d7Y6AF&5DDnC{#!+g|dWk3gx#Q_CyvFR!4c(&)giB=+35BnPCHD+;-7Sd})wc~{ z^DO9q2E|Ckg|mhOP6>#3e~^sk395b4G({X*#7dKW;&nnMn!ZA?DH3Gj2~ zBuvVE&W^?Ucbd!xstW?KSI?F@`6<$-1(7X@qZ}3`dx};}uT~;C$@AY1>1lS$Yc3n% z2hT9o^aAPwV7R}06)nc{MDe7t(eqMlfU7*Fr~XlJaTXvM>_3yh{fE7RRU%OP9OgBv{@ zw#+y4A}6g>&U73C5eLpLg`uZ?{|3H3?T1Xi>wAy;*ZT)Zw!y{IX>Gkbk9cNQ0oLPv z(-x0LJ|_$fR;5I;y886~UV!gixwrDD`4O@ds`OQ}(`BK0_RwO# zOUk&Z;MGVM6RYS*o4}6^m7~E_h*f-e-F)}?@E^r$Jytk5d{tZKpnjdCI8y$m`dUvx zX}f$0z7M;}xtzSclk0#vN!PDh=U$n!E4smtlx{=z8lKpPUYYJX`7>Y3@rU})?6fX% z=Zf#98JgX0VO2lE^rM|LE7H|e3@I&lJ=s?{%5A7#)2R{ocxoM7e=ep7Bk1+>3fd;;@;!^e{^-UF9ufGA8x^biwp{d!B zsasulqg@Om1ge*2JN*~*P@W<~aHI))(fubn@O&TUic*7SnSU%cv%H!fqU`Nf*(EGJ zSj{T<^HtUdCImO#Iu@)T(WGF->ul?Asz2AAVvL3>6lVoH+DZXxZ4DS^Lj?tM(E;L< zg;Bvp(?kVYO_(!`h4}>ok_4tHkyko;>T&R*nv4j1{%CT}HPst?ey^pd4|k`$J-)|j zJEjp9{viCHCM9M+?|DVZvPH`ryJI4pQ37!3Ej8601Vy0PD0$~y>bR=;F~TCkq?)G4 zzShAM*0-BaLmV+`F7Nt|kt7VZhlYwJm@Z$65SahnT4mt}SD0+eS~1(}n_IA4u)Iw$ z_q-B*jENaURE?*#%c+o2vt5AsB0&}WEq$hvmeQ;-s=dNgK31ln&q|at*qU^1%~&}+ z(>3Q{EJ*NE6&;y-^KWriNs&b3i>g$tLrO02lG8*pdWZ_aoSD`PWWZmCram|&)k>yi zM^g`r3an+!&Oo1e*#&W?Ba0uXgN7Y6CWA|wF{S=kOaLN)2AFD96H=mRW+x1Ce+tJd z3rfGjRoPZu5&AuP(H46=Z+3qaGGu$~7@P`|VB75?%K;%m1TM+?NmIZ@lh@Zx4hx=&)iUW)#Fk8_q#hj|loy=tv3BXl%>1*U496~3 zO210wnAtPHBX|0euc}RvGV&ucLemSMrH}XM5s5pKyQ?qS=4;eQF;6jV1VSdf4l)y{ zqBfPb{92{VQK-VLB|!%`sB#^2evn6(uC|8Ak2ghx|FT--t^}J_6&%`ntAFB zv2{@$@{Wjr7T$M*^vm6j*tX8@p;eFZw=*GT4_j`Fc1?fIGHrBGCc95VyV1j$NC(hd zV~)&heo3*;*DAp{z580aAB~B!wV-^pZ7Qpn9c{}?BWo4ye6@&d?afU!-kuw(4o!L6 z*j%CqmpG|C7KcqFUYXTD{~!)jcNXe=M?{H1c_e*1+uR?D&V0dr|K}&Zgz~53n|ULG zGC7~Hk-%{tONqOz<~{x&z2p1bP&9pSKb0<9jI4tb(%B$-$<%~`(zptXqJ@JPI>EH+ z@Vpg2IJDOjxr{^2h~z)N)3%Rfs9kXJYNO~XGa6U0%%apPD1OW-+|2oAh%HCPdtBs< zYct!~7O@R_`o-(1QP9z#&L-mvgT*4BIZ+h)JD zV;8UMuwpU`vn*}KLA3yFf!Iz=qgu>4bTkw?y}#l#(^AJcsOdKZ(&Fv_6bUr^t}l5hWe z%LWGu=Xrcwn_$EA=a%IOEfHVIqv{*G~ zVk0}oX#7TIjRnG9`#K5?y4If#V)XILi+vklZ``coaZvd9f`RNZBgq;xtt36zB-9;) z?G(PBdQ?KD{OWzwVRMLj>8d8!anZ?QFzorVbM3kP*j+|lk%IZ7aq8~)F0dy0dsJ~F zqkX`22>pq5)P(UD%FhfNl>rasQVcTE^3O!Z0x>c0UuEP1G@?38VsLG|>ol&f+`i0P zj3WeV2&PZj&`4)~HW}cOhS6nhQ8J}X&QGE;RF#voAmy_UFA-;dB|qapig49Na6)boab4>~BiD zoUMksel#xcN?pXD!ZOcKv<^$^tEdp?5rquBSJe=g$MQ|_Ii1jN9nmG9`{SEL$4trP zRb*2_^!Jd!Cr0x?lN~dx-;TpNQR)O+00v?pUjZp!25X1*lU{PTk3qfV^4YyLg_5)~ z8^~pry_`H*4Wm}-O>sxE0;acb>FiaqtmXWmNGv{m4@f8&eM-9E=Sj(h>1w#CTp=R+2y~F*# zxGEmC#4ms46)BOB@1!BzP~)^WA>helNT)1XQGx>LRY2IHbn;W4S-8plc!YMIYE2=U zv)@yXLkiGaZJ7)vI2Gs%Bz~}u^@m$VC+q=VS$=jK39MPT4Ixm zXbcgM&{($hN5s(;F-H=)hb%`}S@CAp*7IrSGa}#&2Jm^%v#33wrM%9OX~P6B6CM@D z8i}SQ9;y<&+a+E6eYpM^sS{D=ho4yb>b~$43N2fFxR&L(Q7E8S*WDuH4rb3Jadx># z6L$@vo`%r=ARhC3Hh8D;zW3VP4%T70ynlatAKC5t*nM|Y>wJIq&9>F=`-SlF&j<3g z1G0cA84ece@24_HZ9T!I_l}M>)1~|LOdoTLHTNH<7La?Ut02bctDSAupIa{ z9YL>hCH2Mwds^M?`Lc(V- zbTHz*K|%gO|1`tlicnE(_z$ShIOv9vz|>|em`N&7#GNmZ^VU&va`a$T0j$!vaa?*j_Hwtow2tt;I>(w#uNz~5fHHs6Ivy)U2)o`;qmAE*2#BU!ozfHLZS z+ZM~AQHxw32~aLOK@<-kPhO_Grp|h=_Sjgf!Cs(2=dgp>A8#QGR)VX<+?OCt&`W?@fP#95Uu&;~1zSmY`~fHgQ3hiJVWFF6AK$kF`|G1r z0}~!1_Uy@Yh5eUH(sxj5t-g_uT`<4<+4N~d?c(YX-yEb#8OarDXcr710q7zE^lM{5 zDL^ZrCCB$6#}qT5Ju2=$H-1G09?GB}+Ckvd$*$#W z!~LQK?8SR3bOd~qMdH0IxU!Z%P=2OKwO|yLDwRC_y?(8-INCXP<>4L_a@P?$I5>br zZej;0={~>u&N<_YqB%x247rF2g62u=kn`{2A`djpDQ8e7chwSbxZ_hAn`Yqtcqbh2 z4i@xE>=n+P8s5NZboamC(fGU_)w=%L;74;&a-Fu!7dav#rf(QWqb(CxSL;@c%r%8G zR?k`KrYtrZ(I$&vfXhk$>5hjiG^SKB6@=^Yd}${E42U5OQU8pUvpVkI@J0N;*ITPN z%Gtov%VE*Ax&5Oi^?3lj`i>me66_Dd4!OberHI@*O;|sdSlK~=a)zEQ`Eth_h{dVk zur_x7;yZj!yuEPC&O;`fO;JTPD3FFi#+a92Q-Pj_guTjYVX44{Nz1Hdh*}O+h(rMx z?Ik)qMe8Cfl-5O=D{R0x;EQUMZd$ZQJ;T+U(x2~Ko-3d8Yn9iV=}#jlAc^wGgb>z7 zhcV3qC0iu5*6&`&r9;p6s*sdjFf+mB2Uj+3eBAa^ zT57HR_2_Y}gV{5JR?aRsuPQsQ)2T7l=GUT{xQG@4!bz7sTE|UPOJdwj`$Qg8o3D(t zks95?G`Ff@W{rD65;dnr{vit_Ra(lNE0gnCLA;6UDg%QOf~a>VJxn8_X;)3jNG!Q( zEBAH)Rv}ZkF@><-k=+q@;82kJT8KKR3M^4NGv*csHI+Cn50Lpn-hVM3G7j7E#eV6N zajwRERSgLyB84Z8%GGM9w)9o-O(gRGO79X?n`ShNji>U)Rr$!>WTZE(&4ZZrcxi^t zZW~Zlj-u)Bz>;6Y>EJkBPyaMQF+sB|N@eZ&U}Y)e57DZybPRMG;k$=8kZ6A8?)~b_ zM7G*Ps~h*&CpA%nPa~>00k;ueX7>F{*&jEwzTP~eZig)*`c!@UVvY=g1K2)i*PqG} z4G4I`!^=V&u;{^K45Lrqq~?@%&hnzZcw=A%<(hbR47jNe zP-)8$*J34!RjwEDQ^tv|NC!VTe;%Fd+iCpRap%VT&~fn=*<&s1I(oxo9}P;D=V9rUcnWVQ*0r> zjZCb28XBBp_yC_E;N1xYcE3Pm6o~8qu1^3704#}5uR?$v4voMB2f4g-Yzo%=s4*x!nae(E_-UJ5&^^{Nvj;&t07J&U=#0=Z$-h_rO@qj;0YHdrCPC%J_^* zaB;!kZE8jF6^9nbkUeyQPZz)EPi|*N#Khgh(}ZN_FRtQIm~?f0^n%Siu1~*J zIz{QHBDRjDJV$5vV9haDM;;dfCRc&6vPr|?m1RSp(E}S|>&W8Mr)!O2;*2DAsL#^3BiC+112lrM#_-W7I#TXw~@fZ4-K> z7GN?&$HZmw;R*(Vemca^TN~f%)>EB(;w ziLt+(uh2{Szb1!@k*|D#YFRmR)vufZ&fqQ%auxvj#Yp)9Y=so=A*r(Z{rLlRkDf_X zSSt+kmuL7s26UYdBKmW$977x%P4MFKuvZ-Bm``?5`Ew8@Eb+jQQr=QJ1di}7N$*-K z3>wX+>JrdAPN^2PC-tmvVMS4MykH#`rSwu~wjn~sN#?_sF2!jHcV>8b=k>;EQR$Qv zP)L@A%rBiO_v;fe>?yQl*R@No>NGjnfa^oF8Asea-LD`ju_k%+fh#%>5gAns2r-Gs zm7ZR_tJBdm$0?Z{w6u!%2|qP$CuV&PoR$=W|786l_o?vYg6U#}j*Mj>f{1OIs2cvA zY({m=E2>o&@}*{mI(OWjptiGr73?exLR+&3m1TFo%ufTa3cfA+KT)EvRvQ+LK7NVrx#aiW zB?L^V9da~O!q1S7mqfpp&?zoB9NT*E^Lvtw$g3DbS0)ri@hMwFY#q{Me( z+cA<>gY8#1?+s|UOn)kQG{`-lK-anRpY7mHZW7sW6bzbm{SC5nDYU%`3~pSO&H`G^ z@qL%;7`)EK?Y5jyzOOXrN*bK&opX$3uQPG0pRGyLa1qt^W=rAO$c$W>P_3Um2p9Tj zt+KjT2MH#{w~28{wMEc!66=Ef!*efjLmc?!l7p1FHwi>7X|3L%jh9Ib;9-$qAh>cI zWnmvip=_Wt@+g=Txak-YACnkt!q1L*(MUOr+s(s1Gdpk5+W_=QZXXKZMQ z05DhYjr{&B;Q0_X4pT-H=!;v8v^#@fV*_Lsa{^jAUnAXl0sbgpW;`JUR<}qNhhKm$ zl1PJRf`<|+f2(gZF*%7cN-)~6Kf%4Zx3%RzXxuk6^yyx>O|ggD)W;{gqJoD#r?w|AbkT^*-plE z1q+O2PBqs0rc0Q8v%b|QzSkKv&Qzg8V5QyaIsoF6jdOH8_g+22v3@VR)Ooh^a;nH15J#I7w2CQu%e<*1KM<)8Tv&&TmRm zwJ>{(CA@1B+9Gwy5UE&;(f2cA8FgNCO0&*##6UjEE0 zoy|i>J_gXJv2O4ZT^*Y;aJ=(6wjszR8vDU+&dm^KL)()_&&!UtTXZeWUxcuA`9d498~K5Jz) zd3aGU7{)TL6Uz`6*pgz=Vr744hN{Cjas`7QzWgx{<03D|+bf{!ke}Ba*pT!@-+&)- zI38=ozYBRe_PeDZ0et7?RW~=*ROCX*H*@A%pG4wZ4g^Q7B?uX8dmOSWxoe!Po)LDN zL1Z4f4)ciU=w$w!4b=RtO(ta(^pn^H)aglWgAD9>NmekOqKpDeIIxQuJh^;)#Gta; z-DT;+?%4=|^8p*0oMHG!Sy~5-3F&KN70PUdQe;v7T$V1_H5}}6MUMP9>6d-u{?wKm zzUXX@?t}-qf*a3sOrvI_{T&9gvP zK8w8^iV8Rmvhk=9!XEO$&E+^uu_ zITNuu_G>}LxE-y(!5&|cGw|HkYI1i6y)3$fBX-*o$Wdi+wV=Ud`N+E&2Da;#TU;Dxyy-9$x zu)zcFUtesjbMhw`Mb)IY&69U6oo6yTzw^QSB5`|xLvE-9HT>e$l`($f68NC;og{Ms zB8({Q$T3W5iJrQ&Lngx4HR!vAf1@ z&sNJwvjESIVAc8lS+>T9pUeg=Y6^dS?4AX)^=?W&Se7OEEMrQ7itStP;g?U@Q=r88 zd{J?OPC3A1q1=v83!wVpwFf`h=9{dTgW}G9|CJ$sOJ?cn-*_Vfiszfj1ic5nM}a*c z5N08gP{uJqa{rGIe0TfFj^Q}KvukTX!!Hzwz%SM4?Pj-b?(5k51O^sIP zNtY*JNGBxx2vGzKL$>Q!C*!l#2TQ{YcXTDQMINv$`fd0Ti)0(=gZ{8%5JYoXDS-?<;%`%`Ul7!Knhb_ zi!EEB&25)&SQ69i?*8FnH}-Mj+&9(lM)BR=?aob0OQ(45c$V;{yz3**$!b%RLIW{l*?}tYAELaC4LJZlv^YG`0M(iw&o*F==y+8UiKvbMJpx0T72oJLh0`zk7Ot1Fk~?~m}C|C#iSqb z1nu!QkEktiMUg^5-Qr8KI+@I?8#$pE`Y+EcUPC>9gs7AXcxkYHsX#+!EC-(28S8)- z%o|u!hLv{H1qX7fU?Gq2AAr=4^D^>g+clS_7ywq>0!q_5vINkb}> z$2|G4(W;TAXknQwi&vSXwhynFJ&n8&Cc&t@N*i9o!G(FrV=aPmgjRNdYNn_4h;T?^ z1}URg#4Y0#2m92NgL z_bD@cDyKHJOgHQf8KGGX9~r(+O(n^iDuE6k2?U~q87)9t!(cL5^i-@}v$IUt_#9B_ zFx2>Z#p&yHT66>VIihx-U>;4YqH^K?*~*i(h)Jn58YP`MU3pso0j)3tZ5%k>%g5+lB3dKvV%% zjPR8c%|kilLE>VtVvD)zKl!Qj`%BQ)p|NLZJ*OUp7GYp|8`9$UJKEilpOPoVpPOfyUYk60N+6#iU?E7oilzwX7TDXiF@`Ap+@8g;nGE)Oi6zw80I^ zou~xQ8Cb(s*=XaM9`(|8976>%2^PfYa@b%+vuvz)d6WDK!9me{rai5^3J%)PNu-UX zS%Y$Ddb!JP*$Wltq`F*2uOHK z3ako~edf}rsROzy#=5ZguVLp_q9pmBv0OzKA=AYFvgBi7Zp%z(1V6`eoBW_deXBb4 z?6IdInc|Okb8z~e3$ZV=I4gZ!v9N9IdYCn2Ii2soOVFh!TJv6ZV+1?hATO^`6QT-n0?tD2D{zUf}bO;XQ0&N48R!xY2N zQH5IV*d=|=S4Ov0`^2Kef~n#GBD(`BlFR=+XHE^ix2iUvL3bzna~_nWBs0!s)vCo) z-XW;qgAmNBZv0DpDjrz01q-Q`wW!0L{K=BX{M*xJW}yDb$Q^DS`?tzuJaf)>_rv^& ze(2+&S(yKB|0OauQpV(uv5MF5{vsdq)e-~gFULoOxkqTTkB|SrcW$T;Cw>2gZ45bZ zIK>T|tZW3CD`eqM88m8GiDH2=G#zh;d!NqA|3HJwntHoe|Hl5dIfnv8Z#5ggMxJ{f z{43YikU~tT6T{`M%qA)ge1m}j7nCznH0Hj?SxN_Wu52`y;d7%FfYk<$p%PwR(9rO)S{dT3e&4ovUOfg{c_c z%&d#mhL3!Cuk z;M%gBv&l1`q$FD?n3)x?I?ryh%j;fKPwyWGb$uVNTdqJ!rtFT}FK2(Zh~{nj$VT4p z%1-++z#=cf(4I{a`s{^uogQ^BhZBF+J3aASg(5lM{M#JgCmW=>VlB}s@KJ>cX@mO? z{c9jrOU@q)Y9tvt-DWwM!YxapYgy;DDGEwzvCEg^gF+ugzdML;U+<$QJ1oy!8|B|h zhDsn~D?uSWKr=@tt`~1coQ`-z5V$;{=F0Sk3aXNkxu{W#I=C++T-Ye1oxhv#x!>yT`VTo>+&+?9nXT2jl>-g8QIxbM7k%R=FNLA1ti&f zO$8N7^#aZt>)EKM#1HebZ3P$}ZT4r?p|-R#=g@iC`vb}tF1s*wKB2E8XoZZ(y)cgz zH`}?95?_YCABFY2>FCAK#N|sDScGe*e@ayXf)Dt~36y1SoI!h9sdAOUKxszI{ zbxxTot`L`JTA8GJ`Mj)25E;cOD8YA0;RA+KQJi5rq%vAC82%Lz1~|8KSQ^SOyUOv* z-Hxldp?Jy+&)_J|(9`M2=7Li!YOyols#$DhW{I|1jA#<(Dt_Gw{Jag(s7n#sd1>Xcs~^w3^C z6D!qbysvs1S{b$E!yr8|?gs{zh8pqzeZ_ zB!Le{Vqcslz`J&kS^IbA5(1(=Ha1ptOh2)U62V7R3&7D1MlC^)n%VbWQ~zk(#5ITR z6UP!@^eUdv_hEVSb$#<6>ia|NgU=)J!_n{z0FKH zB~2kVyGu`^D=YQ8z6oEpGhcdsz`^Pr_9QhsO043FuEFjgu7PQ1`;fQ##bs%(!~0vQ zODOSCyXpNU^HS~i#_kqswMS}fanzYPGQsv2A$F&=t>1?=HrPLYR~&)mi) z@b%RP*e&-1tgCwM`u6sS>zvzWWb?tO%B9+PSAGG{tFZrulVcjSdH;o`rXjBBO#6U# ze081sp0(C$pXlne`1BD7oC01Hz%_E_bM+ry+_D;oZB|uPT>$b0iJ<4~!&7#4c3op5 zkc+p*GRk(AJ1Eemfo5;lGUVps@_5+$ug3wn*fpffD@|Z`w>%wCA{oGAL(2Wg!`2u zI3N%9Ct9*3JoD4*ccfnh3u507Z~1^Sc{R)vn05K-|_L-<{1qxA>#^H=hiTo~z_q!)h}gEZ2!)K+SJ$jl9q4a|o-{ zyB=QzM^oQj4O~|-NbeC%Ng;ge9iB4xWMueU~|mVauWJB#Bx>fnXGO!S{<;g$LC4*)*V3Dk}bf`HPPn-Ll*~pPHo@?PQ6B@$eB4EV*r(k!cWp+HX#Az{`+rX*#D*;qnf5|o^z z^h;{D;<%mejapni4u(?Cq*#rDBXMI%SGY?THAzJ_x63krLERlJbC^5Xw*P>!Mn**{ zyBFd-qAj!huaPsK@lpZr+G9x^S`7;&)#??N=h z`AF8_G(AZd`oWe1`YJ}N&%FS9s)j*@&^BcSQMw*xgc>1o+=4xd^B|$5fp#!JT)H89 zz$oFD0zoC@sYsJH8iKW?+bIm`F15*mDVcrf!Nb)ROUo2vqE5AIr==80o9D-yVP$Fg z@I~f)6;HHDQdY?I^tFUMMn%OEMP!;)`4~O=9w3i7H?=T{(Nh)6x+TXlel{syX3tbdYRn2L z#zy3voh2q8r6re?z_%u49hG&=`Z_EFQp1;?OyZInYaI3>P86mLkti$Z#_6$ALyJ|! zxOL~n4MFp|s=}DEu$z{t6F*S9iE;%!2DB%5Wv?L33`ZcAh64DittKY0Z z_Y89krv6B?;iLWYzW>;dq^sBm8aMFuU?zN3*lz}=(9>^KQna0XwTKx;MgCuTMW#5l zowkkg)fJnOELe}^Cc4=*3IvS820oj%X;OmViw6wBFAigOQZLO~-!*pOmoJ*up)KoLO(Pl`A%tfD~I4IP* za;|ZA?$U;L{v!6?TU@L8q`USRBSk7ZvIjGEc$%`m=2pKLE9c(;N)y_^p3m-#)lXz7 zTo_cW1^)aW0nm01Y%KnWmJ}qhLSGP!{lmeV{&Gsv`7E$BV}^pnxgl{Gnejyz{T`i~ z5ZOpazS4PFqbRa-w@Z<^^SiQ7X1Xv&d@M>sark3_&$;yt^&^D#oj=)9+&8^)0lG;q zJ4r04Z95oOfA4A^`#%>p%Z6ua;BNqX(%lc(wIv9xxrg`gLurNud@te(Xdh-%_04&R z*a(mxE@S=1_imy9BH#WUmn2Q8i;1XuNAJv~BNlpDeKs@7prvcDqHxDlhu<5sednc( zZqFk$0KpRY(eV575@g?b$ETC30R$yxEXR{ij{%e5Ze_-{A!C^+m>mxZhEuYhmH{wW zLR|QWNVDMz?22NG)=m>$`SB=ukn}+W(ZAxgswN%>z0POO?>(Cu$5Oj*sP0fuJb@|b zL#yx`{Mu5j@&d4of7>`^CqPOcHwQ}dF8hHNhWEEuY6v135ZuXpOQDPw%2t@so?Blo zs;F=V`&Nt4tqFXd4EGeMujtfdEIWW_Vs&ZA8ejgD%}uR5Lqy16)9|aKjFo_{Fri#} zR;04cz$UozqerZ|6lyk5Aweo+KPtC7pO@l;K*k763wU|iC~oFbMAma~eCJR}Bb!3*Wt zag-wDr~iJ1En=mxiG!0`!;Ewz>TY<+FpDi z_bs%VI9&UDUBz&4f&4IGV=V>W{`1o5MB2PX>XTX#3mtK5rAe#@BJr5$3F+0(g>8c8 z4$k*s(v!;$KOaO5`EqOY#V@o0h!0!S5t`*owEqZTpbM5XkW3pHhaa`%4zUnIGlen4 z_nS4ef{2>aFv~8Q#R(%t7(Ygl&2qvbPc>H6!%M52^ubnCe1EzTg^Smt_=)xB)$VzN z%7rywhYnrZPxf5)P+t#`xTz#zFQh8{^Ca0f?ZktCmLf4MwLsqmSEeM+LOO&?wnplY zOwgbb8`?st$orX3bkvtDzW>B)bT>sU@VOfI^x%gM8u3Sm7gW&^$uTrn$I;;GTVnq;Ib>z6=;xuq+4Kc7kSc0+u`l%A>m$CR{miLMite zjW?$E0I5Un0CP1HVg9tcyS*m!Im36UTr4@pSsy;fyLm;>9ff40&?`X9%5t(}jn@maHsX zjQ%Nzx{w-Pk&29V?FR7&G}-J(GO7m$HC??;wB&%D8gcNcPcMujEKhBnx@4}%x^5|2 z%F-8)h4E*VI>p!I_Wab*<~vZ!9BneDZZzC0hx|u0>k%#JByhBQ$QFQe;Gwuz9&Xm$ zXG>BtcRf@Aql~Fd57J^Z7Fa}il^P1*$O>i->nm$fc$1lomva8C+|MDjD~zq7oLS8% z#s#V5NjrZhVCQ3(uRkMCq+xoQlE=&ac(N?~lNc20g(t@v)!PfIj?uV!u_VRBwu_B(rxtzH5wg+fcw*O zqR+tTymtGY|DY^T*nNWeZbI;wK!`!vZv*^HzI5Z6>$Tr~(|GSyPo7{Yd>}*$$%h9e zA;?!H9AB5zSS9XFaU_a;08VDXB>$ib%1_{BwhLcCc;!wE>jibpv7q%aF;7qRWJMeK zPei#2n#9q{LJsGB7HWe56SrV`T;Q#k@*Fj?5nNm}J_D6Q4t(hiE%hR`s3<9+kVWfm1+%#~Z*@;3Eb*qwJoH6PQrEmGma>;%PWrJICR&0V-GFnBG z8&?62Yc#4XrRrcW2c4CSaLNNeLVtd}a`v26s57Tob5XLo8LSL~K3ET=NeIQ7EjL4O z^@pwE7~?$q=3nustrQoD8GC7w80{bjd^uttJ08lRtCxRX&KxAl-##bZxhr1Ta%h4I zomFCAvKlF}pm(VoKhP?s#@N2W`M@d{;wiVp2T>@x{~*6Anv&Nh`@}F{oJxL&rg1gyDfU%7GejFf#vh8wI+e~y?plXHk-6oNLmRnT z{;=Sb7fPE%2VE<~Gx*rk8;TvL8F;3ZylhX~ckR?e5+8%@=AHGvMm~XP#dCl63_ZTJ-Ce`= z7P%FQ^+O0d%*eJ9g)%$VV3$%$2kC>!L;Aa+-95{RWXAX+<*D_OTvAzb2u3kJGRFY$ zU&=9k=%oQ(>SALje`z3%>5w#4=lmd(<=93z4PRA&i#a8s7Dr8ki>}% z+)E;o_f{KnpGa(Jg`>V8c-G?Egd+Uy?cQsUO}OztpK7gPEwvfuDqUbUG%NW#`H z2>}G9O3MKw>F^0x_s&^P2`WAz!oB}(E^Hd@Q&Oal52tpjN*yv&M`p_KF#D&#=H;=~ zJ)TWG3c*P}dN8h%2da3%W(LyJi(fN#=92v`N{N7%ZxmPYO|WNtq5Q9yDtmGW)E_a* zA0p|{#qK~~}kdiStl*?^S8FXXVRw86gEp+GqN8dNTSIHtXtsAYgPVL7$_5riUd37?Cw%9AK@o9gGVcN z?$-J1kElMcam0DD;65@Z2h06=0pVZjU#9*)-r*6cGnaE2S z^XVULjvQdTYtRU1@@NeOD9H_wvz7h$V}#~fb`v0z_~QjKNl_6&KVYb7Gc6rOwh?G4 zwDK!uRR%gX1Fd5SUip%PHa&S>w%hr=S&j3Q1?v^Ij14yN5^t>qX$+y+czL;VsOmcp zKmWn%K8{YNj`!Ok)Kt#7^Yx@2!0}605O04jj1}5>dCAggJ!2(`(gLcZH!N};p6`e& z`rwKYh2Cy36()i7=A_$V92f@|Xh3)Z;11Zdpd9fCu! z;10pPad!#s5ZoK-S2t6TW=LVsiGQ+efC*v&M{Db@Dvfm4lGQ1#4^z{F)3Io z5I5RsulzOQAe{b_oFv^7O~lQ^%ex)of^gANIdz_z01hR$Ry6*4R3eoW^fKy>J6PEJGH<_%zWS1<8Q=2 z*Pn@@05OJ=?HkefFgcrM3uk`jA=>SSb3D|=E==QhnD21WFi54DJqwnt-m@rsTPqT# zf%rT)6I`6BHzUI@RTGjF&0cc7cRncl~Y#7!ME{#POGQ!cPBy=NiF^Oxw#eE?VmM^&>AiWtPb?Wol~r(HAO&k}tj; zE;&ETNB{i2?tB)IgtF$mEfbDP1AnA==o(%vUDk+KY4i@ zioh5iq9U>)L0Eh^$Pk8arGjT)+1rFBp@M&*rM9mR@S!a)Y+c{$OVyd{rp!r+acESO zQ?Rw}5F~7XOZsaP;B14Tx2y{PAFP~*5JCxMM0z`fW8hz>s zh>jSUK$^{CK|0|u7<=CLrWr1P_HNcpm_n0Zrt%wx_Hnu~p;Rq_k^iE&n>2YHm{J?* zmF1hG8Bo(wqPg7lH<0*XSu7jC-QgBCr#EluE9&+itty^fo3{oo!1W$Ru69B7_3U{l zA#v>9VYZq0P?~A9>K(`<1<4y{b4s3eT?aAwF%92~8Af4m(E;77kA2&GdO;B0AJtK2m0NPt~NKv`EWeJHKTIh^LdoX3na$!B(cuaRP}76Q$_}MoGybUh?ZT zu}l}4A_BC~7L52osiWh9;<1I}@;5(%wnx{qp_G@(rx?9*7ek?;Q%+Uflr`r$i(ix2 zc&K>_d0+6Rhq>V3@-q5=`ACT_an!NslD3r_6TZn{LzSEw#nU(b13@L{1kJjDn0DG?*EVeg zJ~3??>EJeb!8Af0cMA1BMDQpWj!Sc%A6*nDD26Q2_IyUzc6$r;(~+3>SljPk;?p7c z3k<5j{N;gfAp`1DA`T2Puy)C^c{B+E2|M#zWhRUfkeZa=G z3EitzN1(w92Z;5Zf?!aq+Y}?UQnJD~7|P)b@py1jYh6wiQMxt8OSTL1gA}bX=o>4T zw!?)r+4s!HCucu*LXtB72wM)(0xqThIVkn?_>O@xGHBhZmE zL{Sdsf2$g3{c^5!?;Q9-)yOZJMx<3ALsY56jav{rV%(5mh9B$Pp9~+6{WAce__xVZ zNNz&>kAK_FpiEd_Atl`WZv@bMJ0b+ZYtG>I@7(fLVit;u z&!xrTE_V1RbUG{l{5$O!B~mUNr5LG9>Jua6f_lhk6cDFn2GSroat#X7-f{}CRJ^vA zZkKDSk8CqbTOh0i@UE>=up(?ygGK`q@ zOAIv5R)*jM*@mI(w}TQzX~i@75v#7!^teqSlSK=iLNk`tz1Q_!Z(KP3_B%{hHd=-W zu2hiNjg~A$>7QxU6wDEY3y$lUIVz`@8$)r}Zb-VDXn{(svG1U1T~?>VoBLWQlX1vj z{{0HF%r#vezuqZB7WNOyLXxN9c2wjzHLy`kTlJ>WWO4NYou9B{@i&3FE;f;Yf<<{|k0TZE>z1P1`r{ z2-%ms(Fki0kXaoDaqs2pNz1W7(Re*Di*y);X+>$TP+9!48g9F0a7BmXRokRG@svgi zR}lLOrRmg5$5cwK@anD5G+1@mUYZ6xV&Aj6oqQ@FRYHu;@1R`VxZ=g=ctDx=$~*)C zazc(u^EIygiV~0r!EmCX^*0UoUA~8J{w+BnHB2saeh0)pa( z-bRBcQg*Dg_}=Tiq9;rWlr45PaskIm+-mc3C?5rCza>}>KZs85Hg;S*GVBPmkWVab zv@JJS6eSMrTWj{a*~rLoMFc@VQ2>v`${M^lD}`so@OJH`z(lq2epHm*h6t%>aqTZ< zE>F%xZC^xr+l0G0Ttn~DkH!)FsIO{CQ6F)JBqhi9oCo_b>m$J@W+9gLAfVO) zu3-D3!D=w+InSYfipD6yFB=xQI6>2KNz&cneOo>)2*y!x~$VHc5AzIpB@wnir|2YeJsxg&U0RLcre4Q_YPtVb5W z_p%^})%-%>qP-aepshbdisHcySxh397rLtG-}N}LX0dDQ8*4NZ=VV_j6RmG-oFklV zzC8=Sf`y+q(Sgv}?)iCYJ_GPr0%oj^N2i}|Z_Q@7Wt@S-6-YKLt*s@SXc1>9<_G~H z6jcx$5Y1a6TUue7<`WbI3<_;orby!2(WWf_oT|@R=#GZ~f4 z^j72O$a4d)mq)J{L>$9>-MF$#!j=IYNlq{fw72p5drp_8`cx@E4tO9B2TrORni8C} z(lN|leS&M;H8a0BTfK^hIRhfh!0PYm=?NH30Q*6{ED8883w=jfCBuiYb%rZVykJnF z5(907%3UdU?NBrtSPraS{Dxzcp<#eZe*4w!@|v7lXW6phNR8%`U~o)!%a{sgrQgfb ze)d)NguBqSz{iu`Cl#zT?7kv#AC^sF1I)m|eNoS__G3+=gOlqXi{uDuqY_2L zW6W#V<4;k`5cGwq5QGOF>t%`30u^z*X=r35z~I#A-4~tjP>Z7KH>(o2e7W!{uw3Sy z@POYj#U->uwFpdElq;mj8z8Kbcf4tG;hOr~t<}>O#Q~%5t!2=Z z12(_;qsM$bHOWW1vWlL8REr$!W-o9`5K(Wx9|ZA=$V)E*VAERx(Wgu~YJAgFiKE=> z%tAA()-C|9W~^|j(!20x+g5czC|yTWn$rk&#DgvOt9Z^Vg?ODR35fiG5rJ#3v*gFS zU{cQwR6^x<`Br6N9KJ^)&%E!}{mY+W!820i z!?~Qa+Xy}W3(D%eMktqrEF4ZJ8GKU>thUG-?ctMMFhvDMQG;G$UzEPbYAMrl80h9g z9x&%U^2U#l99H&yY`*YU1l1}Vp)2iXV!*=&W7$NY?Q-jEyZ8wVCr2n-B`b!cc9e}5eWSh|}>}4mEuFiIw9%8d~VTpKiAj0fvb7LgDu{Fv&& z_!8*e($q2VGAXq8ur}L{-^Ii8uIPR`);HKW`^@L8`C+W6>eLqK&Q|BSyzK&!H+;|bUM}Qa_^z9$|tA9t(2T;U+`7MnFmJpzco_!)%LWshX zW1s}3D(H#x(7ytL4>bU0Z|Q+IR8le*G?^{5djqsOuAeg#XW7f$vw$4gtY^$sfUz2_ z&*ilTE(V*>X{$PWI!;VSigiA${SsJTu>kn~)=G{qkFH;@(kF%AGH-5B zfzsW&_ueOfmnU}U(RZ@a?BVD>JUWWh?6CfoFAGMr>+yKaB5KGK5bXj4qmcka@}16M zjNqn44pa#n_#h-iLKD&yG`*E&Q82;BzG;6p>Js&9M(m!?K{G!#-9yfNuedMfzZNMu ze5y)X7Xxu3tcevW@vYDcFocl=??)!HwcdOACPO@&cmrCmwaN$HTA>&-VlQ5AOp`R> zb_sC-^G(2fSVbM@?sV0Z13+v1rX7>XKKdg^+)Q~Wdgg9rNaonWC9PktnxEuPr7@w; z%%e(YFji$TCD}lq2R0h7CjEW523M2YdVEl|Ykaw@b3;SCC+v zkLJmIx6V(R=oK5;vGwUFSL|*_Ppp%xR)K0n3v!cbC`z27^rNAvI!dGF1{gZ-WQn>eYqq+-A&O!K-xxmqVRstlDdJ7Tsa!_P8Q;LmhMze!le*4!Z1gu+_4*8~5O z)wIx3Mr(DM>Apsfi94PsFs%!uha$5;9eQ`S*YeN*c8m4&*||Yj4Cm)KQEaT5B*q`c z8&v+iIvlBdsoVJeoi1uqa!5p}faF^1zSn$oS3k<(XKi!se>OSUtFLV-Q`K!%&It=8 z=6p6*x}mPql!7wz>95t$QL+n^hyEs>>_t$ZMp4An8Ju@H8FQiFTM-l`NoyYT-HziWuKa@k1 zPI|*@a}G>R(rDQrP?Uhd;8nbI7_VTWk~UJ7+A3+d|3)X4ZPO6QW*{blCC+Gop)F0z zZY|T@@7bY}oi9b9^Pa=~<3x~i2Qk@@VV#iqSXwS?$VA7SIQSvbEgfUwLtso;9xi2q zzcZ2zwoN6avP}|}4Q@C)ePC=Qgh!2cXZ&>PQMp*L#A4y&!PvC|?P$RM#|qB1Wt8@t zo?u8G&PD&eV&;%TiO5zL<(rP#bGtV?H@D$SVtpbuL|_n;ksD4|IZz1>v?kdn*<){F zpRsnJ!uTYMerrfUe%y6d9{i0}q}62oLQn_XfOR8phcagr*AbN7)Z;Pow-Fa?pn@e4 zcbubDiAbK2NzaHg6YM{**Mes;u){}@NPY7h(hU^6=9|Xn?FY(79CK}qObb)f=sUj`ZeBs&JUUt5hYLw!0l$gEM>?Q>@!v5Dkgy(i5NS$i z+V9r9{{HgIIpXL4+xmnA?3134gSt!v(!M>N>Q~$W4Cc)&aiYH2lF1h5I~@D9&Jkt+ z0BW<)yri|hv8^awI%g3%kT}=_vWW! zH~zfFf@P+uk6qT#WHuXqEJ4f=NPGk+$+^w~8ke-+lx5y8HxB2=OU}U5^gmT%%iWTN zWhDU`(Dr*wovn8Un5C}z&QG^?4fDXXAV);~Vrw9>g++?h(#?%KcD}6&n4GZ2HUIgY z`Nc?pkewJ!iQH)AM|3o*L;-ohrV@hz6v4if%!TU{!TYt3z@zADB8%Hmo<3Z11uJus zLwJw4GdjXs0T*uX(^{j7eDqU5Dn{@aqOlIkvn=5PcEY-!Kh?YGhqH%=vq|)FdbqD@ z$~U&Io=IaD?&B_8=0G}7)6ggB>FzAj>JE_EEFX`g{LvYp6sY7rFic|)ij+21s+Ba2 zFYk&2!9To8zc3><-9z!=m5C-S<)1YlmGUit?{SOk?CX?=(B($Re7#FNHI#YPJC;=( z`i+?Dx|oW=$L#ZCf>*Dweks*^r)ywAUxs7* z5yQnRRCfP7LhjHd)WgNDqlh9!!B-P(Pc>jcAR!pf2&rHy%){ddsp@Wa=N4aacJc8S z^!rhc4lb+B>sgYR*ZwS?myd5${=PCXwXexpbOqy(H_tbq$!mWJ@4o)2^gv8v6Jr|< z@r2j9MxIu)s6g*1%-t1HLM23D@(b2_0AvA$zzP+isFEdKypU|8e#u?5TP1;VM4v%} zZopk&B3xG(Q)WcHEjuzq53C0b!Q4@>xqu>%D76=uN1TMPq(#^gY~sxq=F?7<7i4@T zLbnKk`H6hkmKVLn4VHe7tM(-zN~k3HJsC|9+a4PG2S%!nsqlj9^>sYFj-*o zbHC3WVHIVq+`to)h-$ek{FUCRPj+0BcJh=AtB`olM1YNW*M8R7%lm5~%Sx?t<*c_G}n#G4Pw zE)w`3t+M6mY7jlfL3+&DlL@76c`kH^R-cfy91X5SZkffES>P*B-AigF3K~jiw*_4; zxy@zTu{UTeKbCj@g0GCGoL@GP3z(-O3t64lKGoCRBYpYh+{ER88JHhEDMO@>phCQl zok)hU=amsj_>#&>6-P7#loA%41aOdEXDv>TY-MEtKjn@Mbr?GOe-&nIZ6!m8y< z?9#$lbI;t^!7%n4`>SYa?=EwW!CM{U%?H#_vCZotYfVwFibjf$L|{xS3Wu!d$g)`U zR@;~Ivdl@WU7FQWEzY|6f3Ki|hT(6zl1Bp6T;_L)v1-483)eEP%dol^4z^MnMp4ee zk=`W6qg3zu@qBe40I}gAhaD~dd3X?3he_{TydS4sq+%kT{G#AO6*r7*neZ;>4j0)7Nb&mgIL(pofee5F#Q1BkA zR}U{A+h2aWDN97EkG#G=>w5FWb<`%RzFIz7--uo?+`Zn)Y^&lG;y1r~poJ-@yCHTyo{rdSH`dE_Ff>8Wig99QH=Mu-6L`KihXpOe7p7V z2MOYcnYlkzhhEG6s~2**%ef@pt0m@LTot&v1gn8@e3Y5pl1i>Pl*@gz5E&WOpDbME zOGhT1r;i4tU79fxYpyFwEEM(&K46(-yk^sK`8<|V#Ic0r?`JHI5tj>QIeJXPB_23Y zViK%iJH^B1ioI(ib9U@>ZTeYE!zt#WKOu$HuAo-PU%lqryEUf>{o}%9uKYdBxZ*HW zbWoYM6tdAB{#(N4le)H4?jM~B`uc$%^c{<;!GZaIbA{NS9p26{yWWCW`E?^6{;C91 zXu!erM81o>v+uE%9P;3tCd9TG@Id^-kSkCAr-R7M2ey2oa?)5^!>57a*+?TA8t2mp^mhNquS^^DH)UF>+No#n^w@=;V%I8{Clt@~l04f3 zlBQ&kqVcKK&mLnY4CGCC%IX}$cc0lF)TUZ661|VCSfD4!y#pi$k)b4XmE`2Yq0)NA zA55vrY*(nMd1oXS8+rrjGQ;W{T>EO$U3`Y=n)clD%BdYXHYzE<3;8e5ewtdw&Ro<6 ze}el?VZE^YjvD8@J+;4}CnJ^NAr<0w0hJ!1F@QL*#H*B>9^2&equJS!=%VMEPc*T*muLH=-Pg2ak%#%eh&> zw9tQpSl(Nn=!5Llo8M{EIMQ=@CBnS(cVChab~#N{G^SaF1{gagRkT%=!27zz&rhcv zJ3CJ2`RodfHDWog;J#i==AHus+}(;~P+0UK=CWdsJPNGLD&xBzuPO(_N$eGu?@ZXy z2}lwrR?|Ng>B%u#1yB$;Vw9vz0ywC#YOQM_9ixO+7dEM)#xS&aJc7K&KITby z#47mlQ@`i#$z*EQhT!M^;Ndl&l54UNz$&Gpk)K@dopL78=^Ah179MJ!anwIrWNQ^T z$o^9Mbo4W2G`Io3kh*e)Lx{L8XGTgLe2wLG!p}@HRlB9SA&3w55K%`O;MIf_mQz}5 z?7a5)V?A1s<-@Qk6#s_fcKfcSo27(H7y^r{6ZXy#a~~Fjlo&UC>UCT8Q^2kBaS34OB?0)Bqt|%YGOs4Jvsi=nyoo`$pzG-T-uZjBL{WQvaqE63D)JzcM)8i<-LZe-#xBBo`0*d-sjz#0 zg}t`^x)EPBkW%HoKc4mayVx-Rpvy9J7kE7#hc~AYZH_WfhOlE4C-4Q&$aB^~@*#2qdQQMsJAvzdk{42W_XW>pe z$0nQzN)vu;3ay;}uCU{1Us7F6WORd@M1p$CfV{0^TtlMIL>)52ZOS$`I9pVy?Lz%UNgqAmjgBTkJFcMF_a;(lRS!F8 zkRGYXCm{9JE7O%gM1CYEa^~Es{`QcJoB*%Hxyo)B_uZhROh@9YU~KL?A^eIf<#@i_ zpb`coZ`nYfU%cap=1sH`fB$+%`dvAoFD~(Jx^@1Nup~URimakslqG5Jw^?rDf}a$J zpz<>du=R;eS+H`agc)S8Y0TL`FE?zWs=<}lFgm1VeZy@PqcHqAlIXm~$H8H28=OsL ztl}Z_fG7&=+(lI-BAzl%6=5kus8UD1V35#Om~fC)LiaQ3IRt|ONi$ciA==Vb4h5+l zyC(wru99hJ=zm!NW0YvT*uLOvkhlnD(0R|7i2v4-OSaV4On3vFW}D%I9MNKZ}mYx0??)x zn3PZ9Iub7Ol*p$P_FAkV%IZ8cqr-#2_*d{@taz*%*1DKv2@^+TWZ1ofU%(B?XQsLk zo^q%&7Q9AxNWbkY0l}=a_|m8jb(burSVfQ-q#^!CHM9rzTP5B}*aiz7A58EUZNkH1 zaSu$?KOv%Cv2M6Ua8#%w|D;IGK248e+lDXr-x}GtXv2JHchDlW9yISe&hG_LWU8iP zRh!%5w$V%7ZcBbDMAOBAv%{cL`LyF&5_r9cjvHd`ZE(fx;FlFxgJ#sEY5x-52t?J4 zR_7Wft24|yk2f?s+A_ySx|qEt=jKjj5sk?-QnyX;Y09swxNaX%^Dn-$9W&w|Bzpd+s!vvfcY~KCq_{LA}%c%Se0;*(gcx2jSH$D za6Z&JH~gLro83{-8zrnoRv$qO!eC7*YW_ zlM4mxpCfcRA20I&rb5jcT3I=;3zU+$5V^15<*D7%B6Q*OSY^Mvl*4kj;881G7>iTm z{sggO->(FU!t^tU(a(z1Y8bG%V%v4gip!Ae`QSk0`YofWl`Mbf(yY zYQVzkjAYmH{e@6nn~gA9+i=B*D`%D~8lf(VhM2g0G z9?z*4W+82r1gJw%5~cIY5jh5!!kJ zkd)}8f?EfPfSu1btK&rwSom6$SX5M11*&8!GM8rX6|5xAsVft4BWG3R`{#mTkv#gezt6p;7dmNmfdF`cArtzM=y08sJMu- zHN3jGcDj^Bg190$ugQ|JBduWxvoFzGOR@%1SQ7D`WVdiZr>X$f2v?c*Zf zcW?j(B4^u)*qtv~h9wnrzOS31YJDQ7AJ9$@8%;L#f@s%n#Pw&`_c~ImpMt}#4Gba3 zZ6w){bv3$)YUxeRs`p59N6kmj+s9HdNmf^nx0khe(DkjKTjki3-RC5Zd;jQHOAleL zTNZ;0Y#7S-DX*=?9`nCW^_-o~1V<^&L=6-NX4SqW8Hn@#P!vbv*zQ5Hu=wzL6AKL7 z?S@YqVa_0hREVizIyuoO={pPa9=%jl;zj*YOWL8)bRpzYd9YM=1Wx;lpGmwPLGc}h zxeWAQpn2-Hx(FB@BW;j1$aP)WCr|gRe0)i>DlfdqBX=DSL@CM?XK;W4#PtWb{5nRKlM*RKM*XL+7* zV^VI0wXTT=(K>(}KSty73`l_gq?}f6Vv6?Ww z%1=jfmQ!)Eb~>vvV(OAAP{GF%xmJe3v!vFtL4xW}g9loDD2Ojt3P$|X)`G=TVGB%U zE5$Q;Ug{v!okm>flU2J;8qXTPnNpSR9$XsM>vhMhKvmKqXy=0#VdlcUL|zS)Lk;gv zIj;vfj`1aA!maVwMolGXzVUSEPDRRviMolpk|^(2^~BgBKH4|(d+Oyfm%jV~cV%#th-$9BTdgI3ys)m!M7+lhnZ6h_`lyqX_*1xt+O;tVct@lAE}^|q zH*ZuU6wcOGNzsM}tsMW0_?H0SVMG0J3xAIB&nmTCW+ZqVwfWC;OsE2;l1K-*T3r#04>Karo zTFN7HRKb!yC0bNqQa)c%72V>shg%>5XOFf_xXS_8vty{yZ>=v{$d z$J5=HglFGw%xVIXkfC3=I2=Wy`|fMXV3t120^^b8dHB66@JGo|44tYo+bdhefXkNe z5~{k{0zTaj?Zx)G-yQy%*c|b#0Yxfsv;9e(*AW^Zzt~vX%egwgz)mkVu50Vf(mZv# zJJm-jaDTo=G!*de2kx|;7xOC(m3?{l^}=r{&(owY@%XdN$?GqhXRJBg-j7Rr0`AwT zL@WGS=#n%R0$!c5&Dr%=V26$yTtn{*xSRIfM^xq1iXWfLH~j(9?JTfJJKsrNe^~Jg zC4IXedKMObM7ICiKG2TqR}3_kowo;3e{ACbCXFw6nVI_Eyget-ea}Cf3VV}@B1~LP zzU}5**_?HTHYNkmNZ`%C>?qwza1StNAL!9)Cu|S`!_=z-24TN41V=~503 zjKi@RfWb+C`h&vRj*^xHHI$Yav4euCPDUDM%Bz8C;EaxEevn>N|FZ5&c*~Da3~XGC zUFEr@Pqd;?#FP-j0i&KF-@d4RUDnl;xNa@u-%sI_dqpK~7rYa23^+rM`-4p?EOZ~o znV5j<>B9Oe^)GJwk&CQtAOl>7(KrtbV!Uq$e3qNc?Oa2)XA||}ep&x&AORoDu@$#p z8>}>?mTuvTwm`^H$#W^9IUo^MZ1w0&`MA+1>UsKVeu*#0hqJ$(5#yc12&rAJ%DnHW z4)@up{VG$wNZ zm;N<9a^^*G==4p#Z0F)5*0E#*KTx$ivL%Q=mCeD4uad@8et?=4n^oq76(1$4iOhOj zSI5s}DH@%c{?YI106Bv?FH+`J$!Lzth8Tlu{2PMF)U+{ewc9NY2yYGwM4zysYb|0f ztdgPcE9EsnDW(k#N+kx`wYmYKDVRO-Bx!tuH6wAVSaF3vmL(ao8VN2Gb>CXZ@d8Bu zDjo{YPV+Zz)(5dJs(0!~^V$$arEhz4e-FYfWXV;oWT~$}X0?j)>5+OXLeCbZmod#p zDjV`*ZOWP4ljEYURpj&(dQ?-wZd|CF!q}>}lYypVibgh0dnwC7zlgCYCDX-x5ZRG~ z{AI7?rsPoZ94z8yyRItf#aH4(3>QzDeMgS;7q+PG;#cq9Q;AD12mFyPgk@x_BA=mW zyJn4|(#3pdl_#^=lJgzaXq66neuB;Kf%ctM{l2aT&8NR>tM4d%8<+njBj80Ep3KaA zMN0gHywj@t{L;1a4+n&pUY#Mq)84_&z})Zm>HfmO+DqHXb&iWLnlk<>GQh2T|GLBT zhgkfoqEz?6ftApIJMZg{ELH+Ml#eTF5~?UNfj`rR2Cg60kYgr__v=ht&4J~Q z@=B(>O`v8wkH9}*wj6jhi+#G*F$Qo0fXMqo3lIM`klg$ak_(EbbM^Jj4hrtE{Ljq% z_O!ltFk2$ve*Vs1_+?hO$cpfFPaTK;h$tAN#c>;69FKYC1M zB_q>URRE&vaj^wAuR|i>3z_8*@VpLdvirZ<>3JUzK+STv0ARQV9=kXO#Ggz^1h-bY zUO&w*Ec~~AkH{^HyIk`+y8vPVEC9*N^#~V0VEso1>*i&ZAdQyLIs?iGV=uPkQtPq^ z?+f@M&Vb8^Ryg6IyFjwnIv4L3%=A(%^;E4SCg@cBaDWLOhx9ou_g~(jL3hRi1`mO< z7;y}hGZ}?ZTx5f)#tqz`i(?^q;(rve#D;eFYJ|Vf(sbFzBqDvqNWb~k@9;e6P}AAk zvl(d$JUvsRfZ~`fOU67jD8lf03y(M_i%naV^HONtnOT`IGoV2@SPO9 zWJpG0@O+a7hT2@7&mbk(OSyn65KlM8w3w9DmWnjLj0EKG8x=EuM z9P#P(Qdq#$)CSm73Y)2D|8tGJqLA9FrN#5grRYH6o8*=5rLbF&A?*a+P|VUVVCJ6Cy88RwPKU8=u>T?rw1c#1}v`)b7c$8AVp7mgmty6s_Tk9C= z6|Fo^@e-NlRIT)ghXySx>@M=^Grp7^Yo_ieeo@FxFCJ-_=DO*(X8qxCB%w4&YfICS z>HEG?)-qkIV|cFt7fMIfjd&otu0AnfX6jJwt#)yO)$v-N_HRfighShc2X8_C>>C#w za^_?dg*eAy3_{}qF&@bJ4wQ_}HNG25p_?lnvUP#O_ zkr7V=jbh2AdgT2njla=W=41X!*_i~v;+~aIJUCEu7+64MCUpP3x#$(~&8ZO}V|me# zc2H)2OmHs_#=`MJ*j9Jp!e}p|J~wjcugq}39=8A;qG-|u#-cLE2Obo}Ma{?L3i46v zB1q@DkW*h{VGVfUD!-I7)H1Q;XfI13p*5mgia}HbN%9;<>(lyCL-?v1;Ha_#ob+Ye z>o$7ezJTy;58M5`j1?St;fyuU<_>jPAT-W6PhL z`IlXJPsE}r6OtWzkjv+P&wTvV2?^f z8D3mK!>pJzWz6nUf==NI!P9OgNvgGBe+sR22o8X$wCt7BF|th0+2wo}qDYI2GhuBE8~XCWDfiDcMwEQkwGys_Kf@3wiCC&^vi>n4t>VTt~NDMhmomL0&zg zJRi3WlWv+T0=8s$FNuRo*yjRT8Lf^~P;(P?@#S+S@@IrtESt#dRn$mYr?>Q50H9tQ zEbj89sv|QeHepEy4)RPhgRjDz^dS(t7WR|XZ`Uzf-$5h0-oZ!0d9FXvC3MISnax@Y zHI1zkhs(H$H?B;@6q$8zTT%)64{*Y-7qK2!zqubq6oofV|Nqo2;p}ZN?dm^p)kCb`4S9Xr=FUBc zG}m6|yFK7P{=FzHuwx>$cc6N(z#l2f37~SdNCEjy2`$op2O}DqAxnA`uMnU4(<3Ty zqRw-3(|$}y^?kk=YJZvF|6>=#mcIAo^?cNIubjP~1B@wwmuujHYhq^?4KNFUdm#;t zWM-xz3!%J{1c25_0PC-L&1+~3jM;FFy;q#&hzczrMwoZa3hGhYRp?PN&yVt?!+jT$ zyinB3@Umo;8AU@MRZcFyDutDj&`mptX;Zy=kF-UQKBRNjig{hltqG4<=ai!}JJ`?i zj&E|rmv`j2I3$Xani_J6Jok`UIOFT`;)zQGf}D$-8^8&nH#e#6$vO8eH3gKR5TAs&-CuVO z5dYd8O-n%Ge2CwK+;vuFIP4Z+l}el#is(}~6v#xMGn%H`VIW;%qB5K_o< zQN^}#Xpz>;T3FUc60VYwN#zV;T${XaC1q!r_1j$=(~F1fVTG`S=M}CyZ$W7MaYgs1 zWAf5hu3(7C^&dmdq|N4|>R=-tSdXhBYPa_J_aIHEa>b62t3CnNoPlcRvtF z?3R_08LiW)>5-EDu7Y;5VtX^)-(V=+zq>fW#rq(=4*uu88Y}Zh`aB!^Vt9GFp<40tobM(>#_+R2UPB%O&cr+|Rrzsgm@T2avcw?dyp)H=^UNyCUAM_@ zW6OJRV_7L%IB5$Rd3rnTEO(@B{&VsKN|iBHzeLKKhXie*=roGE z-%JjMZmZ9Am8D07k>X%6gx|7OVt$_rPler{6a_U@c!)GUE zVNHvx;Wi2`4^y?gMmYaM+Wd9cZkSALATuRe@*RE(VvW>4zz#?JautrgrH+Jho=T+4ZulD>n)gXl%#UGr_F1ghWX}N5}a}C#ofP{s%#EruJ(rwiyc5VFWnJ5^FCWz2DIZ-%wmr#i(T)zo*$YonzqSO}~LZ=F`^ zj{jq%DG8M;QOy?c`{5SQ5rh{7h&7oftPY6;p0|V+stxz>Khv^IG4<>$-;ncrkMq!9egF zII@7v`(_HMPyfRMuefpzpsZPXfZLlzhM$YegL0AAY%|NWyDep;GrY4ytR z`26)Y$NN(H8tv!eGGSd)U9UG^0S8>rg?~_o&*@s{Z@>ugwgn730m>|3u&Hfr9r5Pd z-q{J>%r#Sj0w1f&uuDPzcR`%8KUpur?3MGsdL6on{e3ZfRWS2Q*w3HXN(P>cdb0XK zXxY|m`EZ}my%%_VxCB>QwKAo z$ZmXNMS^6v*?gO?kF9Y&MDX~!hT$yo%qO}TA&|#<;jXRlYtZ@94pgq{d)s(CDWlKayY;Sak5m=AUbtgaRa=~#r24>{cKO!>me~=BgKUeB%i6Nw5@e&)s(pBW zV&WiQq2{&c{Jxsuv(Eki-VCIz2#m7c@`6SaiU%NsE`v2st=D|KhHrIp?F1|3kIE+n z1?;wIkv{u+?uQu-ueX1+&;^lGuhwF0?rKBH6tIShYo~K6o^0!k5k(}eb!1v_(s56+ z3+Ci)S?-nCOC^*qG+}igZR}NMkCF4P&zzjm z)xo*NriBnTZO5B~cptOcSj%EFs0(-W!~*}P<{XS$Q>p<9&jhUDeA-~0zZumqNZ#G_ zu}m^ZC(0)zF@)x$Jl{njS;HNjxolG#(yuW%YxJ3@@l~a4A>8i9G$W4un6|eYs5Q+9H@JRI245myB!L5ilPXnFzWSiN&58LzJumcKkXvmFNK`Eu6{G{Wqdx}5?%9E8!7Uu} zqG_KKsp3!Rd9OpQ z8<@ISBVe%XaW_eY*v8;@WPSmfdm6ty0|#J&M8q=BLxbKIT%<-GK$n}e8OY}cwz_18 ze56B!Q#gCKo&t5&BvHUgqYVS6FRM4hLcyy6Pj7mBDSu5{T?}2d8Hj~_io+;KMsP&~ z(Ub@1BSfL5V_2U)2#O#_+Oim;76u43VKDqzFZ-UyPYWh2J272_8k znqwdQ5Y&uHq=dSBY=YWd_zr61?h4<#O_{aaD0+UOw$(*yi$b{dO zHpBqsb9q&>rL%Fw@A*J6O+T~#SN-pU3)UX~7&LSbAf6h^jHYd(UpzF_aa<63s#iNPD2W=W{%(jYd=y-*>&k5mr`wQyDs&mZLRWWk>B~8eC`kug) z3+xJPLfIA0{1PLfSkAM74({FHX$)@lj3f$0dvFm4W-PS4A?j^MFf}oS%x|Im=T_$; z|Heu48udG1wA&3NRPpfewD#~T{(FJWB1_GUCORjCA%c$co^z5YlmrR_V7+Z0Z9Vfdjsz0skXi zezgHUQXe*pvlbCn^Swvde90Ue)!000&dQ%WgLQ-jisBdtSF-zQv|$;gZL*yTxt>?G zu_&JiL<1{JI?3UfjATNYHLd>QSAGzeb6J)GD@dG^4dijyKQ1tkn`}GU@`wAln`?ii z+RDTyGnLPnpzN3=xnSK;myt%#bEjsQVpkOvkGqn8k`|1UDcg4j!}UYXj_>f9KBj<0 zYUls;GgEbsU{BrsOK^$l+hn01xh<=*TajVTZCs+!0@sR3gEkv-pi;&CtjL4AIj6j* zUUiJ1oP*LrGDPvqNQEb9#LZm~$RGxxw=-->PHru&AjLgoa;|lcwg0H9F)YG8=b0K= zT5b!P1Y3tSn!cZJwWh4&TA|WrQQ?JVGNw{jBx6coMmz*r91I+p_84G3HQfFv{QN}V zN)p9YQ__`di*A|q8IhMt!#{RQJ^yRgqhsQ*49&NcE;WH>$bkkerV*Gkan2Zo5Z-C@ zzbpW!s-rcc|72JpYyPuzn0Eq1o3meoIPWU3CMQtVwoD2p%&|F&YV}w4799T3^F^k) zn*a6x14co)z9~w7Yh0(a!n%O7t%&->1XK|DKx=JIB->iyoXn|ht3f%ukF6g@;e*BK z0U+Ms1cNdq&ZnHjP?i->PYMpsc7P&^%0!=8=ku5bI+2+qG8lVlbHOLh&k0EmVbP25 z>x#;J)fPgau)$*Iv2ycLeDMGOTfh2}gkxs2S(b0^SGLk*lzIxa)>*Y{8U0H82ChWm zzHIxtNN1}0hagSm#aJkhAp~ZP2!afX*dq}F%X?f#^sd@Jbct9F7MH)@SM2Yr_TQ(? zei@Q#uIT##Vk5DXzxy0VUNqQ;O+s8W&27dA*Jcvr;PW zZ+7vBJKMJyC{M5sZ(D{{L1+4==}Q3xCA|X17*JjHI8{5-nCer*mQh2YLj+J#oug-p zof`FvO4LwI9Iqt-^ssl&G|mQ`6Lce?G-jltl=(K(Sq_rCgAXy~aL23>s0jstBtX*CAVfCXOl+Bq-IS@{ zp-m6Mmry@MOZ|gpl=Oo}s;xmbyFmzK6JQZlK-I1J&Nt_b2=_DS$3Ew{M`UJIVIUy4 z%F4VE9v(iPv)A5huSJuT{s>Vjyw*@#k(5{7aC9hC(cr`nYiGW|YD2$vDf1iXI=9hB z1QH}xwMNGkZDnb!!7Bk@#%6Ukp#bL!b6^zEr0ZN6jaRTY-yiO+9GLrTbS}LQ<0Mja zLts_B=;Gz!DF>SQed18n$`$AhK`E8NV4``)K_)5(SvrBvadk{7p{h>mhPJ9XIXOvG zJjHUgVm6y`baX^rw^BJ?EVyyw1|f)%b=$T)efpGo(q1ttTwcbkh2dF{#q};#1g{=r zT;CJmN-Amod|tMzgIeoLy?&efm9E`q4EfulGH{tfdgbRv^v~`6D*F_NF>1qq(GJxd zoWrGOp{PA3&&8;~L^H^{r;3fO#ec7=DiqS!Q`Z%JHweU7Yg2!r&{yy5y$I3s<9pBe z-di8?t>0*Q@%9uS*R0knVyMv3Bva`~a6-=);FWu%B4O>s4pS*y@VFRcj5CJydPVm6 z96zHmSx^vTnh#WAUzkc0`wQa92bg(72o1}#b4estP4XBUDpna39f4uK|P!#H_)|#LM`1Vfdu$TneQKffJ zT4SnWAU|fOeI2rG{(tBr3$E2Nmv`5)`y|;6F@7C(UBM{ zLVt!k`GCqVQN|ElK%+(R+-O`Hk4@6oa6ZwDlY(yWDgIFcbYjrBRAoaA)ma~tNDUN= zu$ac&JhtZGUjjXywk<1~1mt|kV}8fl@9^D!(ERT2{XQ{7x^<7%ik+Q(-g)OM{PyAl z&emP200x!8xCRXCm54Wa2YtWk(O6Z3(r)ot)j)LksL;l;T(0Q433c7l^&KH}iBTif z2c7BB0RmkTL=*c3QA_Vps!wqv^xk8%qB4?PjZvzAwo)jY`b?F8Jw+(uelF+&Mzxh* zLf38mk@3 zGzhgc0ABn*W1upTRo~N8%_a8Abv=bY%TiUg^ca8E@1!u_1i^2R>^VBh{;b zLw+symg%iZ(`Nyw9CXBxbUnw}q?FmneLYz=dbwPd!7iK3#u({yMlPoyV#+3{p~^Kr zd3nD^$?*+fmV50=KTdk6@_ywll^)7brn{V%D3!2t=V+%B_HW+c>EkD?x^*#R&Fg*^ z#Jnz0f~y0S&$>?KILmjZOpKHjF7*bEzkeLGd3ggJ5yM^LrFCsx!>ED~Vx+1C2nCW_ zpwW=}{zN3k4630@VXK;|7J&hyldXi2-x>jgLLbfG&~S9}3AguV%%?3@EBfGY4yNrU zg>Ac<8dS<^j)XySLgDJ__f^+skjKyGD^r}uV0!#q6)>zd1VxwnU_#7FTn4KZs;*E< z0QJ&z{_8Hg}2}N2_Jv@fUkf3>-^34 z|6ja|JUKj~_kn{Ko~N#B&X*S`Z88p z${1#gIdxt0$tR!i(MKO~e0s)oI_2c-T&S&Q=jmKkq9~et1t;1NQ20nu?z6T=gbAcF zAO`hEEEWqUlO|1y0w9{EqN**ENkcoC)2~hwWwt4m9}$&NC3~I60i_1@+`M=%M&8q= zg(QES86`?dWnCoa(_}oV{Lm-mQB)bT2mzC7dm-P4X`GUvNSEqg4i4n`3PM@Jrr>IH zuSUuECRKmV&xL0D@bM#Nvzb&>tY*1fvb(#>?(Qy+pFO3n>k^D!T&!r@DLw|8Nn2iz z#3IzuG)4g?p!f|*p$)+qwYeS$Fw|@ULmxv4e(z2FTA~tWY>ycOQ2; zCpOQ6tuUrWA;J->RPD>xI#>PjSiG&WnSo6P`(vS*5JE{dXRoxPsOdwZ?+(do82Srk zoL3v|6LNpbGi<90t4*1E+DS|29DUb`I(gq0Gx@ylhm**fS*pX93zv?+XI_Ku?n^+^yv5%=HA4Lg7VlPKX?KOcU zG!qp{N$;Y}QKDE1@;n=Dk{FCs`E)qLmU0g=(W#VJ`djo%*4+AIHxLp-umEp9{enzFKX}35;asCgRN|8j+Wo1s>FM+mfzM|Y%SCe*MGu` z2RE43mf9-3TcI_yO)`i{>gzvzP{U(Frl1e#jwp}$aXbx z``IXh1&PW=QXP|CE>hNA(RC|8Ou?tK32oc3ySre2Z>0Oi-s0rsgnRey@%68Nop;}Tm%sbF zzvHd9{*lRK%H4xIJbL_;pS=4nuJ?TX*M5zoqf`EufAeqn(U0Ed$&<%?{P8C&mrJa* z-232te&=_-&3e7&xffpG=;(;!;}b3}E_nF(QK>%t9y7z92^LPAQ@oSwWV!qnxNE%T~(}BtD&+Lhpms7>nm%Y4G1r-Hv)jU-wm!{MzHzJif9+Za~k4^ zd5{zfeMr|Q%{z&THM};^vo8N^4&ZYA21?Kvu#T+_KI>;Z4g?=da1ng+8!R+286(DE zBcF(YzLdnk62(}~q0k+RFJU@{5Tz23y|wap#?i54fEv-vraRo)y^HJT{NP6yJUMdc zDsbzj#afN;rOzqEF@TW!uXlZ+OJ#vE*Y%PhQew;=qXc-FHYk1NtQGIv z{Fw~e^5?bI^xaU+16Z#+vZ;IqtJwoEgS>n{Y#&bsgCZ^y>HDs%1G#m>CK~%@#W6o$ zdEbm3=I`yQc&<9;gGz{70C0f{Hec z)kD9aiXuRgMX~bhFvM)c0ZeTt?K5@U$cd#)9E`4wUDi zZ__04sVvk2;JUzcHcM3f1kj^O&t;&l>J*oVT|@+wPAwF%gAf2C6>%LgT48ne>5Y(- zQ6bSp6a5vXO6--#vXGkKGpN={9H{FOiwafFtx46szL$ijjBA5{R*V{>G+pm;KIw4> zjW3`Nw62M&#ko%C#HtcFXBxCJ^uhA!>20){lKls>AK`dDFQQe63Mzfuq4d1R>@|B0 zWfXop6Q09yfE!Xqx*4uil#=I;-byn%yT z2JnJtV)_1(o!tUEmv{AgKxnx9p1i*etVZd7HDs5{0Mhl`zIhW{*PNc6v0AT7$-u|Y zzdm0S$X);0tE-Ef*Fk7wV=y?ZtICgL>*a5o)IuYQs1zcxtf;CQohEf-tCEt)U@!v8 z8jO+tK&=hNR%k2L!NGvuqO=&;+mZ3SF$P=L*jfzeZC#;^rmCfn@RNr>=DB^iwYLkg zr?Cp6$10)yX(QC5Xf!ba!l-njjLN{Sh#SE}p8P|iSmoEom4$pwawbbS<=Hq^6*@{? zH&|O?j4iK;%(_i<6^GSI22pFV)}W0lfKVGrS6U-Nw%6v9ucfNy) zk!R1Iadh~Uwyrt2dxz8GQ!bVl7$x6zetJgTR7@vRF3!&hF0i+^&&la2$0sMu=L;S_ ze8kDgDeHB|-Gc+(yLXQm6{}86?%)6L1AgaQ-{w2t`3}?R1W^3LKfc9RzxFlWyY~Tm zd;1t;I6gha+KT)4@AKf%Ls0PW!DEcEoG({Ad-{aE#SYGUc6N8A$=*38lPTT@R_itM z`GUT87$Xx~K9|eo3L-3*D^!Gw^9%Z}qpl^9G-(^2f9^Ssjt<2Ol8CjMrmkq3n#rW4 zZEK8%y0Vw(ANgshj4k6+7O%3_7BgfQH793Fe(xLKVpg~Kz84_Z^$84myh}#(&I=IC z;KK)^_YhJ)ah_PxXJm$y{=!U2(n=Lzn8zFyC8KPNNtyBT1dkF;GBUW7uu@URBN5t( ztd=YO;1B+Q0Q~T+f8g}=l*w$04@n#$RYk1Hl5%=yyWLGtLR0p zTn!)MMxabOuL&!qKqE=dZzXE-dAe%D8TjSNJxluMrE~peVDM8+?i;{Ri3)Ovv4Fvi zglLQ+(kA7uqk3C!f&2 z{QP?_`xC-Y;mWaBuKsN&K+7|bf#Rt0I#%G$%Xl8m=VW{zkDs}`pV=lulvq_soDXpy zc{r4LH|>8|zK>adj8PR)Sz;9LSEZ8}3IYytQYcrQ1XxP%n^qRmJT9Op5hl}6E1ykq zPkR1k?9KPl5Le|TgC{b{G(y1Pe5A34@BCe4|Hg0f{BzHj`+A5W}O*D{;Nt1>Qjy~AkDd?8j$BDOOY`w573j49O6 zsDkv@8%2^(7X}P@ypY%{CR7k(b{^2>eA#@z=j#lGR_t9MqOeu68W~alRBF-DD&l+~ zcqNG?o$ik)ug4(XvtAB|fJbSIlB!XP#ahrad|abdz}l9ml1aVR^ilK4$sH8)O+Xk# zOTee3Z3w=+mH}aY|CbF2?U?%b%U;G{ZT!2uhuT<+xeqUa;2hQAmlxFY}RFd@;0hs|D8Y@-AY+#?&NKI1NTlXEy^N-k_ zy@u93Dh7h@&?ZtMpRH>-HRjnO2#gD0<Y`9k{76O4Du^Mgfk_r`Qde}{if-LY9|3_`V^M8IEocgiwiLvuPVOz&2RE&fA(k0=W}*;cG%tB<%-g&6_uQ`^P_~ZCifugCEK< zkFu*x)3EA0?%Y1055Abkk2A`->NoD^grO(MdrxI7uDc-Es!)Fgz{@#4IXOaWn9kZ1 z^oa7_VrR;1-qO|;zL#faeErfBb`4+{1vF7pS3+;TvwJg1u8k+I(Px$XPbpOrG2=v1 zo}e!!)V8)&6#dk2Z(a3#j{jW(Go_f#W`%-wetO3Kt(zPj9r2sL`J24{`s@7rfB%25 z?mG5v-jL^OwW6-;4OPWo_2PP$dI&G~7>>uUKGRx9*?U`6GTy}Gk9KM1{Ct(svF}@1 zegRWZ-}i*5%6ZO|O*xicdWBMzTmhmDAA-!4}iQ968OcSidd7s)a zd;(#X5WI}tA>wp09V7rJvAwUqnq* z8ehg$Mi~4O`@W~|992~l1B3at8N5$3Ak5#Bk0H-dZ7XdB>$UVXT5Y7|C66oF$4zwa zKxrzQMd1cfHL1i7+s|WTet&!%*TpE~v2^_TJTH#t)(p@giNK&xF^qy|#CuRjOa?#N zpq5Xd`-q6f#Rzm5V_LSCvI9Q+#512|-^xHYFjW(^wrtM2YpI0HI`q z5Y#|#FaCl=N?&C1FU(mQF<$q?&`~!vfBAifslLj=o##@8DQ=7(-VfF0o&A@2u)4+V z>M4h7xn|bX^igb@bTW~TDqAb3xz>;ddwkk0b5_MWB8e{1?&)P?ftx^KaN^fY4$?ifb_eytC z-BiMGFqH@)O573|BF8Vj{3^9v%+&1u@sQa3#WgzSOv(1L4O+%Q%eH#uum!0MYL%Nh zg0P_THbp3y%o&m zzjtOc=Cc_mr>88JORBmqVidBo^7)|hK$EsV%7|^8Yk9Hc`Zvz)mB4R{wwTYuR=}vs zacpiYZ_!rv+JLx9(%OI+v!_qiDL^Y?GFCX`rb?=!i4vlXR1>1Pan&GCrnwRnyc60gq>QppM$}#gQzeG6 z8imy&I8)V@wy7~jvAW!)v0Ps8=GWe2xx7GYQ-I+QfA~XQedBc=K7NF)8}@J9Bt%iv?YcFee)0Nuq(Y$m+xsf^H%nx-jzYx!Bv z0Z`ix{&sncm`!L+Us6kv_oMdH#pr`rT9k37AIdzN&s|JqyFw`qLwiU0t_a4o+_`zct-a@Y_{i`NKfd76VUO0H8@p55 zTIgS{T0|LfE0$o? z>y_jsx2+K}Pzk{SgXw&(FpkaE^LBH8=UA9*JQr^p&Sy4MR`$#Ri}!MmlIN48lh8Ev zMs;qS#LZPh*Z0L@q|kq397N6%g;0QhRsoHLoiJ869rwn=$a8N*cipBsZpRGcf9LTt zpQr6uW}CvAzdz>kHEkN%{pfh* z+zx*aDzB7hLlps~acreZAtcj=oeOvZO=b8mKZx|<4PN>3tB}SW=ln*@E5AcBXm5G% z;VEy~|8xQ>ianNn%ACMetb=Pht*ZPflM7S3(^P^v)F~Nv69OmC;n~AA0Qn2`Qr!v-sm2u>3+&m1!A+tnJsY z`@I3WMxW1O0lpW}4x8wqxnk&(ClI5I7f@t&OE5Ufd~7cfFmWp&7{wQxKy~wY@_t`i z5lmmFN5^^q{96d-IC6s;R7^Td#;QGM~>STWbXn%8vo12`V@AM%ubYF=RY*wR#*l zj6vaMl`j_GoiP}MP36Avx!jm&A<-@p2t_6(t)$V~8lfg?t(i`xf3RSI7;x(~O+=lSQKW3^l{nNEPndfic{ zN{rTq8#ivSv)JL&`}di&LQ9#nEjzn&bcobVMc4K0>@KLPnkP>mi+Z1m;{B&#Hk(WT zDXNH6?Ci|JNtGkhKAXB?I-jtZ&!}pH(XiN=Go4HjzavdMnP4<@>s6swl}coqq%t-1 zDkZTzY4D8 z5r6jQf5ywNyvlOD8cDw=qv^2SZ*)cCihp`Q2oyl9lq$X4892E_*BSRBjX!tQ*uME% z&dhz$=vt<8eJ?9vyMGPH`mlpQ)qi{TL}hSnxsUrK#_! zY%>X9%lhXy?`{5Hlc=V9PwB^Rm1Y@0e1~Mco z6`Q@>#4tL(Q1&+mS^{cPat%3V3;5MBe*Fxs9NIR7w4V3k(P+&;+f<2OmqAwF_XVis z>pFOj#nJbNGB$)%3d;SWvW~nqrjeQy>1LpjpWEC|n5`8gsjd<=RAFmdj-514g*Yf# z6Jue`jKP*p%%prAp8Bzy|XD&{}ILx;aXAYH} z@mxLzgTrwQOp+lbCLk(5!o@;`h%poX)Au`?`Zsv_#V@74T^Xxf@+mH$Fnvy*bB)nE zDD#Mx$Iy}5TokDEY$_Sg#m7{h9XURsPs_DY6t6`U#UoHF5!6!=v|_#PX{IfcNt0;l zMwkTzw60SdOMoDN%IHW`K>#O-CaSgAP~>%$e2>*Kr|M){ueBk#l=vyvNeR8S-0LzA zDky!`D#a9eess>^g2HNfX1jHt{2+y<+9yh>RD}ak$0YP7#Q|Hj#8{VPs`M0Ea=&BG zjE@d)6PeR>YoYa~RuBP#^1IJtzYmuHVNRlj)N3w>_fH52r+W8~6)K_Hp(^yV{EV0D z0Mw=TMi0E&djAqo4KW39b)kvnK{2Mm&8KGf@uXM&F5qQrf70(uA}Lqw)5iMo@@KZ! z-B|x~0O9TZeJ(C8I5|BnYMkr7r%962xq^EgAPjODuc)+M4G7D*Ne7y*zGP%BFXKw- zkTsJ@hzM1^Ny93GV)Fch1O`W0!@;{xl_q*p(3!ztww|!o$hNc=`EF~mbzOQWY$d&d zrb>U;6*m7=7F!GOeEXAse!8Olw`tw#UKU#^k0(y_PWtDKU9*iAtuZrB>x{Nk51Ud1@I+eOdz`wMLg~nycpu z1VC$@WUCcbN@j#4rB3iv)(GHQ%xT*Ri=8=5CH;wu`Hb7QZ&F*!`Pm8Q7w1f;EqCwS z;luae=gzHL+`M&zi}MTic6a&YlJT&<#kR^j%jL3 z+cv})Sg)3;FIZ&0_jdOshbXX+lvbWYAPZ z4(=Xsboi9>^K*807P#KAx3ge%agH^bNnJCU)=Zj;rnOAln(3@%KAB>ymOf2mv0CGU z!=R{bMZfNf?73En7GrD)u&gnK)~=NF8VkEYqfJHB6??n4_~xr`61^|JgEDD237S*o zDaIh6(fh$DIRV5B7)e1YVMx%#5J7L6BD<|>LrGM~4Ksu*d2C3pton}AvoksWXQ%wm zfB$X%<^T9E`OaVdWg34i-KZbQ7|YuAB?wf>{$smI;g<;r$KSWTTDCXHS=rp{Cm{H0 zgZj;Y_45JY82IH0-~Sww`35i?$=v6kaWJ2&R6dS-vUI8ns**`B^JOX=crVXht_Od5L#Fbo|ZVA9B%K z_V*hatI#T09)x5{O(ft`Z}!kLH~^HP2PXp;Z6%u@dN4Yo)djvkBX(yr)`Fg*v{(@3 zDt^pOi;67(s5j<-7)e!%Eb=n+@JY{Co|gvzlIM-Aik<`eTDj*hkz$yNMImDJO)%io!-Nr zz6;7@OoO2k+GOm|n$%Awz0TWXl~NjIq*|?1q9rEOA4NVDJd8Sm^f2k}&2np1L z(MXhHs2CMd2|d>;LsS)i{$H0^`vwQMpCfzN<+wNh&Xw13HJ%7{JLT<9m;Bo8$6TB* ziAq3kj6Oe%i7uY*-E^L9qCN`n(+NZ=LI!YZNE&!23Z_a$c6JtJ9ujvImBuAM5?Pae zMPnn89;GC9*TzVjl05J!#ij-OCGcW z0)0r=Esgyd7+wN|+3Mw&1PG%_J%o`_00A4nf7#16SRDUtQ&lhzmR;8s-o4qXrd(B- z+3rb%5#YOAH2j&D?Mh(=Y5DiY@un<>j>wJZoPb(0WB|o;X+31bE`47)@N4(s7kzBw z?O)Z8GX{fj**nW7zz5Ptn6H^M$IFBw{&+H3*~%2ddRvJ&j2(%}2oN;GYt_(GnBUjd za=JWbb^a;0U-~jS4fje%ie!Cy*n`qyI+_NwyoexhxMaC8J|E-k^f*&Gt|rA8@x)8_ z_%=-@f9}!`i4NokIrJRxW$@wEKyMmX7?n~~)}y0B<58-@n1D-@fijk;4D)GC6Dpd@ za`VPM+DIRgB|_-HR`fown9Z3~hR2T|<5m~U+LqI!Cm0p^^uv2h+lE^=_IdW?G2VN2 zcNRRn|0$EUmWjznjDogqQf4<|qh-Ck!1rr{>rl$zy0y@>LV(~Cb;C(86g648TBq6E z^*tU>zg}UDV$#%DBN<1dB2}$uE6rqD(KHQJ5+#xZLo%CI31lmkCefkFH$Jyganc)O z&-mKO{V+<*DCm2~&7J)r@uh|!I*(Newr$)G!`4%Vwe+Q=B!NlyV~k)@JzI%N-MU}1 zT6P5}BsQJ=yJ{tgz=+0}2NxBowBgM+zrx<$9+Sz0-}vS?_|rfAQ=U9|Le(~0TwE|) z%sD+fW4T0~Fa20WT`;Q(evZ%B$bt&DX!d#lJ^I}#lh`0H+Maa*7SYA zbqZ(XS&+nCp09>};uuF1#=ggxh_*Q~r%|Ct_s>{8dq!w>sG672)lHnT1QiMN$ui4I zwQ@8rXOJ&SogwXmNXX~!&J}@ivRgo5t_%$op9}_Lj8s)E!E-uKF@oZaV+<5icQn1^ zKB?7`aQ-2F^*&1XXslQ#cu%CKsx1nO;HfmWGgugCt;+t#C{?js1s5)>hd)r zj*cs)`_V{+Q4QPEQ6++;0;jO1W9b|I;;&(E@oU_^bsO(pss4=tK;FOHJF0b}?IzFW zJ2$_=+b19M<;4@8omi9(MEX>{l!RgoF@Zou*Ey6jn99(tod7tSd)Q4$`othgz?Bs+ zx4gLE{Op|h?t&PTy&DR&#NIwCDkEYo##(9obDpR?C`q`>b7h3G8B%gbCxiQRU&zVM zMV~ZwNOKk53lJADC<%_B1UwRp(nn=MA7)}>D{`+J2DSas_{;}A;*3bj&^B(XY=1qKrG{xw$UirHg+NicRQ6ZC{j8f>zN)@cGu+0DrjWxx*JpjsD`7r_t zl^JNI#u%O+zt7iSdx7Wn=U5dmN|%}&Iislz#57ndEzd?i$0?(vl|qx1L9c#Jwt*N7 z{bnK4Oh!TH_B}h^&Y1T8 z3~4Go$Hjo3rJfk2S*=zyR&!%#P9GyjC&x^hmKP6h^J5d}gXiGjfQOGBach6hYT03K z>@b_nL^U@!T07>O0&{QR7L-C-)}>2ckfeznGvD2h}Ny*v-DCq|$8^q?`CwG-tu z6-0HmG8Mr>jGkbj@7EX=*;~v}$}pQvsI*~cF+=&DrnXF{(*y{s5rr}mT#qptYqD~& zF4uuDRE_dDSpYpF*>FImz$N$R0>U|9qWrFUG`~A=OhsMxBvEkWq*H{pWJ(ohYug}Cx7xMyz|aG+_-TAQt+`{F45Xj z*M`tLITx88mcXD=u>elFm$k4Pise8$&uViT8H+;$Lw~hG*b}3buNt3AVkV7Kp3CF< z81QX>ZaYzPdAXV*T;A22{~osY#S(bi`*qba_Fo*Y-*p{P$sCo<<6-bLR7&LDL+?;A zQ6t01w=hJoCaK>FbzhkXMuCyBy{an$4w6WU4pJePeHq3-*nB=h9Qv$C04l3Y=K^F* z`!S#2<``vBwn0TtKQgAzlZ5mM4)XHZk1oa`=_deB zT3&L(B=>_UHCEsh&?s|=^nAJ`Oe8~z2$qN{q~2gmg+$#RVk-&IOR{!EUCr~;xY`tA zNOk~M6MI5yETe_GP5Nrir>2T3|4^kcDO-MAhCl! z9{d_@-LhV<(>08Ra;TKr01#O?4-y+F=)~5T@afTOeEHTr%-P2%QxS|WR9B@v+6X|g z)|7Z!l+HzI)cedZP*@}JLDux}K7f*AI(&M_WVWEPb-FI%5vo;#Rv}ea6`gl9rpD-+ z5Z2-`O|Aw@pJxaTv_Z$D$Qr;!>04ApLX@O%h#|N06SEyo5_&O4;vcEBCaAQlX4G{kUPy+?YpFU?27Mb6&a6((zxnY@`zlI2`>>wTNps@I{yWkd1p; z@=ujOLdklJGU?;0hU*9Q&~2Xi&$LgUv%f#>GB$P9T4RD-_~<+?it+XG`~r<)+P0Vg z=Vxd15&Z5R>-AdtIP?&B{$jYnmjjMpMD_5hY_z<7byZNRbr}$*9*Go4s^mK(freN- zRE`w=PyRoj#v!)!HSD(OEoRmI8KGZxh;uN=I>ytY`%Q$Sv~hE=zgn9nGBA289gJ8!tTzu@@noc+a2 zs(!n>G#Z{A9dh^1ZE77^Oj=A`@xccl(YwH%8+#lcAK_icjh!8w@938o1Qls2OI_Dk zqgiSVT5;>vEtVH6&d$y_y*N)jE<^uYtram?Y8|QCnpryqqlhlxqG#4lIa{8yGo4`S z1#Q(}YRk@a#@^m8(^_M!DoLk&&V`ae5u+JXf^*OTl1zwdlSZAD%Errfb=MS{u;%7s zcT^e4assN{V=9+PkWBD&K4W=$jv}B8ESDFO6<1Kz252x=)2)}x7ZZN(_kWl7-v5CA z?ce=7Uis21eCu1^;`Z&kJbChj-mOu(=K1HJr)e6#^2S%C_!?v~5-S6t1i9e({`bGf z@!2VFz4aCm&0?|O&Ye3nO~di&871=GI`-{>Hf~i3x2uLf?UIu70t|ndCC4wYjGyCQ z){?84SJ7N^wJ-z0ypHP~YHK*piL}zsyp@Rd5ex<&6A0{j8MD(oZ)}9hLhrDt@|c+z z;79z`-@d~eFKJ$Vd538O(XR-> z;k}4igaCma3Fs_ZCkuxZ?2^p}B0vQ(VAKlLJ%H{hrdr_aZG62?RV^S>;*5xrN${)5 zHbPZhCmNVoA{Zm*Nf-iR+Y(Y`F{ZiS8k>T9QGoWn6H06fhKIO7#tE%e0S9At3J9nR zeF8V5^Bz-`MJi6IjFuikV?|*Um3kUoKp2J|{8Rk-2blf@=L{YN+F<<>&VEc-pAe@n zQMGpnrXlzXLU3Yjqq5b);Ga4^9{HVUo602sJrYDR!s(IZGKIa66DpDz3Pdzs8I0-cN@`tB2+9-fOjZRb!bCj;bua?VrNlE~>@&sfMM_r!|oW&~xVy-1S~xMI0nadddd ztvk1{G2(noJ;hQnjw+%|z`LFhD{5O4Vn+x`!8m%H*VL7G|K&`I_j0~TRrXx;8OGL# z)=4FtNDOkHR91wcd`Mn|F$g0p0X2CxfnY`HG$j*)_k;+}31yoIF;w`NdMHz3A}TAk zTy#Vnb#3W;DJXa*bX~;MIblBP`thqf`k=v`}jb zRYO}5O34*Ol|?bEA!*4nR44qST83S1=G1y>6)sdsl)^7 z?(JJ#T&!rDnyR*}Rx1?JV^dcax9+H|&{!t3mf2)ZQ~}=yTZAEPx zl!0I?CauNV8AMmkt^5~LW?WG>tz5&@RGw*VN*kh*rh7fQw&QUNM6oymA!XsmU?nFE z_U8+^zm!zyRmn=GzmZI~R$BT$LZGS*E*kLAwl&UsE-o&3@ZeK+77OAk^7zRko`3NL zzWUGpJKlWbt9vRc*dBKF9xmSbi0t z5H_oYFo0#(rOIEuSuM=#5B3zJpydi0smD_ze5e>==@pCKQ`J=gbYlvst!(+8Om!;a zZCj_vRu-LlWKHT3%Er__1n??}qG)z@Z}Qu}^)L9wH@?mB(L?^`hi_BY=iJx{+}`u- z&I7fL^j)CyBBhTKI%5o(rs&W*DFdrO2m%~~*Xh~zg!Lh;PvE@5H8(Ns4XAb@w5T9n zYe7Zv^o)_HdSNm}CB1%K4^igZ?6;_NVyKv8(2d4*F1?p5mlV72wDU?#B&Bx+>>MadJpMKO5S14(cOd?o9 zraU}-jl1nb7VQr?z5s0^I*qzID!Rm23o)WAMU&|MxkouSUFBFfgB(eK=5q-bCx@&T zb8MT$;i3^A#UM$U7$rFneIS|&l$Dt>;x zNv#w*hUBxW<(P~Z->>?JQJ%IEfayadAg1#=p_uGJ?Y+eXFL97Epc;G>rk^!Z9gIOh ztu+&zk9ZtfH5{Hd>@6DBYZ7%j_56pS&vV>A?z{j}7yPwt2g5TvELSlHf7bct$`a4# z0mJLRYLyiWyktMj{Qg*qd)$vO zeg?+pX?%UgRMN7pR;XyeL`P$87|Jw5nBxbgiX~F z@VL(7LeG3Up=k^RX($(3SWJC0y(pbU$nx-VKWbE<^hd;~lDcA^_;Z3FPaT&jzgJy1 zt#uMF8ut_i?(E;ld6up1B*j=Q38$b%A+77B3L$E7fj;^D-95O&Z~fLc>DFsv2<+_a zFq_VJ@b)_#9iH;9{-;0W{r5iL!w)}ZeX-{5ofn8PvRbV~Ww*NEM?ZRJBViZPG3P{I z-L@EGX(lb+d)CPZGyAUjtsaS=XOS`K`e*C&mR|(`E6?W@%--9xLqwY)+E}oDgW;K9+Rqt1r#O}Wk2gIRz7s>3S&G;s=kX?H9=P;w`@$hc3}*xWZcUD zYRoEAO5waKF{QDlRD!gs@Cr<@m~c+)?i1Jd3GN6@BuKU`f#@W@6oj@OLriL{!?n-n zUn>D5CFhi=rkU<3p+IJijH})PGGokk7;=2_F`0vW^e9)MqoZnij!q2!x}Hkcc;AB- zU&7$?{sxqWx~Zji(S@X@Ij~@q%HTcSKahMd9VaKxxY^!CBYo-y4Jsvof<|MAA<+4N zR&`3wctWUB^3y=HsF;#AKFY?GBv8boS`E(%LqSSJsl50Aro_5nIB7!&1uKZao(mCz zRKra*v>piH6?$q;44`wHLXHC+iZ;!a4ZioNO5-&=Jc9XdMTm0T{wl^p+HTU+Mjf(5p-fOjJOlbTW4pso8Z{;=N~o zf1ewB`%LPF^=ielCr{~|cmPE$70Mhx{49VleJNEgf1hcksBz*Og90VmkE9AADgi`o$^gGXyoxgP5J|p- zpMAfLAMSka^S|r5-k^|fD}{}N^D#&q5)Kwe5L!@3o;D%VhIEmUkEz6`g5KB{q3x!I z>`_7`DjE2#5_P>w8>|9dS?p}e+N|jMo_bQVJU?MRnX+6iS)HG-x0qrSEY}_D-m|xu z(sz#eYzi*Wxt{5C&iaKHnD6cKd{)&;d(tJZ!Olq)qqY@oU9lf`N7c>L41Z%E=Q_y< z*9L>3^BvJeJf2Edn0ij=10Ii#8jr^+%i1kdFN;sc)-m-vX}njs;FBD@XxPa0AO&@) zr_aJT$lnHq<=+{U>wz*%1Y;`NwxM6GkpzC0+$M*kN#B+IB(+OX%y+dNsAd9c3c60R1w-F>xjIn-Sf7AHAfSROiBnM?^rbf} zSMl<7iecze&v8|$+>LtI<^1La#$m5ypQ7C?PvMw5QT*LB1;_@S`?WD(alxReW zk-bzv6d_uS0_`q{7eB!*KL&FL+dhY?Cd611qD32|f|`upi@-`s2Fc$#f$318l(a>}{2i(9ODioV>gkvZ)nBOukX1Rq`MM31&)jc1 zE|SP=#)wk72V{jcG8k;MOUbh`gWtDqsPRE z*P`&9tN9U+(YeP_REw3?xNMQ5DG7u0Fwu9?YZzicY3U8ji5(v!y-&&g5@QQ(79~CT z&LxG=v5nuITbK^Z#yGC7{Ff6mXAT;_-C9!S6jhz2BPC0o~!n6v$FBi zR|dD2>wwc2{ajIU)TRXbHc5Z)@9*=%bI;TFJ@@b5=j`+pr4&0mJDgmcZ}e7-k9mAv zu3Nt7{(j!^U0)U4{Qlg}2b;3&xnh?C!NE{|@MarV2~7fs#v}?*`n=U6%ZbWRRdwmf z%btR^%9avUQ6C4rrsvDFjeMOCw zt7N}xYZAzG_}>qEU^1C-e0oA93CFB>N~#n=Ib0Dp9s*$u8iX_74V_<1s@ z^q7Ry+aueTYY%`${L{=M~^m^M~@zG>(*^vdF2(p z``z#Iz5n_*w6%Cc_FacD6|?D-*I#`d9W{&DjCC(S_w?k9wry!9Er*AP;x{>JHqTYc z5Qg5B<;4=E6!W7&7ZlJz5;&O|l&gd~j{3*KW|h!h zK~%ZwY-f+Ks;+tIORw>zSKr`we}Bc{(+7O_dw+{tKVxt1*qt9SpLNXI7LzP%M6Wm& zDp#h2humkVlLbYPRs*$m5FZocWAw_Rsu{}6P}L5hn&VXkx<>03ld2+pbg9)PS0#lO zW~{}a(UndKBpC_36Uzgf&_KQN8*$Z`iIV4&Jampmj@lxmz%KxNy?s6=zs zD8Ht^xQAYTf{lS_8cFOXiwXfcBoR1dTOr_l#04;TEXVZy5wZUSUGJmq9=h5==?OuJ zY=6{}gjG>0e_3Hw8A%rS=ut*|>LQWQcWA#x#bbgygYFs8KShUtQB9_I2#8R*@603q zv@(ZLFopjudhnobR@Df8_I$fl`2|L`hWo76Vn&a(o*2 z{y+2_A1`?Ig_rQbvtF()0l_|r2nk3WlqoM2E>aw(lP5#3lF(C>o8e|zNk z^;>_%lSfCG+7NVu??lO7*_aXoDFI>>##CfQSb)mbDL|KF^U%f4Zn zWl=_PU7k}j9d}z3B`?=0j`oT2f8Fx4U>=ZjdNu!#t3kuIQTsSxh0R8B*@j%aa;QbI zCuKKMrmXbsj7D@-p3tkn(B=V`eH^X-Stn&X&%AxilUlkiqq3$o;-QN+1dZc-J3m0mSpFBKi_Udro`_aR3zxPH|W>$4i4;Fe^T2|hOxN#T1?*5(cJKs5CHkn|p;mPqK7|nUh1$+;( zEhvct`hCx_&KO^VTHe5}-P5xdZ^cl>h$bbUvj5e5LBIC91P1&_7V3S8G+DK;E?}@a zg<7LB0Amf!q|xO15Q@uVF`e;Rr^Z!7nNi)r3KD$*lc5P1Yk2p)KjO8kGp=s$F)@*e z^8}!cNsq@4eb-yBi*Tb{sVxK6z%hm&`Sq)$cV;K|6 zKGHnV;}xyp1A#CN>_0kYva!pz{ zQmYQg#n#%E{18_b7^X^lTyfX6nvm`c858fcxQvD^C!Bq_E-1y#R*!Uul;p{!lxKR z^ZXLh&jJc7GuVGm$tRSoi&)!OQjFLp^f@!xW}F|uq;I?i6zb1UeD+W8p>CPYHraaZ z%e?gJm-yiie#rmx|Naht^asDk#zx|+Uw(qWkIl;t7$npcs{8OxGDI!TS zlF%EfkyOl?S~>#?t3$a?c)TRYbEI2h(gArM5CXuClkBk%$m9QYu%RJQpsm|BMQ-E6B zysk;@%KM-yc*=UQtR)NvNgYiHv@+q(f7o*C_KXXg*SL0hqCv)}`Tt!PSAbwnnXc_L z=v$tz8U!7;K7XGH%*3SqI4AH9kWBD1 zQd(*tgoqI-uA~WNl@rwf$%^JQR`=bMBPoMHy%KzJrO&0*ie%C95vDM~4!TyEMm5(f z_uV-J!?MfN`h$fAB#EJBQf2{XwFrHdNaHs!W!=2F;raHvM_jw|0&Tm>P~tX6dGWq=w>9G=?un0*|* zJdS|L=>0#9_IVk?^;U1}*47r+uU|(*c=+%kCnqO>GDM&gvC`c1(uwi0jM<)N9ryDb z^Yfga51yx_qy1}xi)h`)Iv5;FMAb#q_Hs@?sxMfD{H$q)fQk~^76plKS6F|>{E zquthOacyTNdM^ZG3_Xy}#SlOjxV{JX&QRQOJmS@?z|r9Pyq02mC16aZYukRTSuraq zHsh1f6vtE3kBdM*Y1r~UBg))Lbx$eMvAvz$KF&Pi2uHE!QS(OgvVx-tfrCf;y#D%Y z>|WUA5B}iWT)uRLc|yvfh8#K4E;|3=W$uw9u!MROrm=R4N+Xmw{HNU-cI^rJi~ZrkfIZkVud`Y*eX!edV-XDtnWD`)KsH; zq6DzFnXobCN4GQI`QDtZ=}X+We6bI{#u%Rhg0YJ|D_FsUWa)w7sSKeVO!|65nUr;{ zMseN@p5V7QY=4$N+zPnb-%$zs)#&zWMDsMj!Mi!E-d#%k^Μh5eZb-hpcM^PSQSI1vR-ae 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

clpgO!OHmfUrIo`o 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

^uT-v+XgMDj?Dy67ksx!E?hQ)l*2a9~E z^NT>!G`#rYFZ1nBEx&sGyX1q9wH~2Tx+OrVlVYa0;pT@b;ba4A8ieCM_#ruvb3o{z zF{?|kwGGxz$kLD^T4OnElC#&mRtaDt zC*cMD-Ctf{cjtx%1gboA#17UVL2Wgk6tw^JbL%PYqR%QfG4$(a1O%T45U!w1^K{e! zN}$A?20di-0JCCUZp>iwyRtY!db!d1!B)U^+Ibmc`o&}YyY9aZD(cu(!CajIL3(Ze zDl;^=P1PDJmSwwScWay2bxgc63|7?er5R12$~HvR=$G@^-rnZ&<;yIWOAZbWbP-q= z*pjhwy0j`u#^gHi4mU2X0lW22)@x9AIhOATx}L8!1;^LFE?ld;)0n}MA1DSdgG|(z zVZyK9V~eqib;_g|t2u=j+kak-U_7B2N>J2-^r4u;_~81|5k535yOw|cfB!b$f9GAA z>4Y3RjrB|>%-a(X*xlLU^&40C)-Qd7Z+zudUb%LKnTLraEKze9gBBLmg}f(Qr@HeV z5SBJ_kIXt24J@H{WCa|?ltRSyy8q-0#pn5amF3j{!b%{4RUo$x2*=XTu@mSZwH!V> zeotl7tgi+yPcxv#sQhFdc%D~w0_cyc{;qeTg1(hLoU&T1yHzGrdUJz}6}=8Mp}iij zfl`Qi!F)bnk(p+SbaV}H^nkVIGEo*R<#WB9H47G7Mw2{v3)ORG?fTaIR9wjw(n;C_ zZ@vExKmYod5tGSeY~xs*oG{tm;KtQ!Jbv_;w}1FHUwPxpe0u8+AHV-GJF^|qyi;jW z?g-Nf-EyJDa@!KoZ(~WGuZj(@VL}(RPFF7DMmD|4TOF;jWihDlNmR|4wYJDb3jmbW z{+DWWwvJb37@J`&AGhqkTsG~`<$mO~`%>R81%R8fZ_46=e*E){C%qw9vKs8D`&(~$ zeT03E$9r|3PcPQ=e9qoyKmQuTz{s9{j0Sh=ao6|OLpd*UT<1b%-$wf?_s^owq)>t! zL7kZs5Q4*aRR)OFyw_So7jLm%9W;HT`ARs03jtg51T{b0;+o;_buid8>ackfkNM62 z;Wya3e1U_92PNM|a6$Os&U@V6|Coo59`nkJFZ01iH@WlRE^oa43Lk#-5!1~XE;v5C zd5fzrU#9CaAAb1hAOXojXdGlqDz1(eE#(j}Rtn0ZW4? z_xW)%V{zhHN+upB+8^KH!ykXj?cKN7dG$rEe)SD5z5X&=d%I*~=wif1fs-XMXKa`- zKc4gW@ByK5G<%yYA04v)<0o9ae1(mR7nrAnJW1qZ=p z)RU83wO3f9{W?qp`I!D4cvp~2=% zc9xhk-s-a)g6};otWl%CWL1sSwQUI^4oWbfxc{nqe2S?zhqBgUyOPRcBB7{m+OETz zz{Sg7=RbZF`Fq!d=Hxz0$z%skGLl^1LxK-@XOXNxOLGD%Gph!AYWC(qEIB8vRpv4! zDOe$6tbjOj(si*)M+3%qx-RN|T~h#`!&(K{-cJw{FfzlK1ZESF#B^(ufA#%sjC+${ zodyLY(X~sJjdoq%A1XW8b;=y}GSVV_mMCR@*1$;(o+ME~d0KUWaeLPMHUzAnt|zOX zS(A*O7ZDv#I8Sf?D++V|gl(M#=~=$A5DXy@N=={n(J@S>NXqQ)?sDVxH%Ow4!+g15 zxm=QC!du5|GNEZ2rW+d^9z9|I{sR{6l1bAbX2_*_*7ZFNxQh%n(5HcD1uCbXuMM86 zm>;(a1c9f3VBIDny|X9A^ow=p9D?)@zjMAA$JBa*8vQY&5)*@qXaRra@7_3|u!hI& zf`9gZ{!2c%bsOV6&U%c?II9zITsDweu3WmvSAOOVUVrflS9dp;Q_s}sIM#t&54?-xXD>~Lm70UKtxteskm;;NY$n#f zF?3~8$Yn5HoXlxc*E5;p=g$>+=K6L8sig$Q8sq1T)uep~1y-&&{rA^+yuhhw(Hcx~ z|1(adTtN)CK75aZqeooW+QkLWlf%b2AGmh)D#u4BeDu-B?C$K)E!qM?EhZZUrRDh$ z(_(y)IH5tDWCZIBP7JXVl@6yw@Se6?m7bX3NnLkF;Bd%6I*-lD=IM_=>v>r3*QbHN zmEX?*JnL-v`hL!Po~6YkdCJ7`LsGTV&J#Y*WQK%7d3 z#h}bUk%wZ9sywW^NmpjDALEV17d6OaIvFIRWlpf(a=bj|)vvwEH-6>ooE*KkfJaRhL`sjOb!kaJ5l^pK)t~brMd=MGU{NR5iPEb&NT@T<5@gD z;oe`q&4cf~$IkT^xcs#@x%#tja_RCF+Agy&hULRKpZw+9-1*=`j-DLiE^P6&U->!@ z-}{)G?|#5!Yn$s|d6PGO@#mQCZmZlh1X`0INAk&nM|U6d=+1o}-`VHMy+cl(9D#tF zIQ+~q+nKSux5dWRgl5At+nutxv&n3`VLA)=iDf!%n9inzi6yy=vl-(jSR-0~CY3sn zWQ_HIMI>nnN7NY4mdJH3<6wb?6e)(rZcH`xP-72dm4uMdJW@^ipyo{0&YBcV8U=hc zf6}D-Y|z(c#DEir6$>7m5v&N-Hh^c*Sw6Zie0Y1#<71)i99y$XT-g2!TTO#6W;7zO zT(+9;S3us_6a*1sH4%|q@&X6>=Zbr1R`xCD+{*y#m@GZRn0r<*mHfxCOmsbeECk;Z z2jh7&q4&sH1%1XEvXpsD=yP;!Oi0P;m7L4kt^`3x?%?&ku6F}AJ$u+Y1XEpuhkA%L z4MkF>Yljk3)&;Iz{RRHrtqH&W+I!5}_c@t6#3rJRdW=>}>M; z?_cH4qwDPLPBcHXQ_vq%WrrhOt88(t(W&=H38h$_X1mzCjy|jQ;A!{&i)yE82|p{y z``ZQz`(qs)x5bd!4r>g{Wy{vaCV%IfzYIC^@y8!?aB#r!{Dh`yn9XMF?Owo_ato#` zKtH{ENA2O~3!3Q!7d&n3z#68LX`hfjb`D)RHtJ!mF`?&N-|=hpbK_DH`h7!dCQbjD z@#0&H!>iP!w+bJ*fY$fd9Ko9CKe&c^oHeB+#K;igEur6WD*jZ9K@1zauW&5~&>)v&Cpq8K0z)Q&S_iy{u5` z$*qFN(Y{xHk4~v)Y6=5mdRFXdKu`k_12YHYOg4sWZE^Xl*5kQS_WkEW<4PV#)>>J` zJuDap(qJN(oRK7S<#RDcx|E4IYqZV`fMdDTs9oxrEg?~hD%T%VavbYoq$mK8{-=*b z1FnZl>QZPJncd`?C+*5uQzPS!S~SjD%XfeLF2DIJzsBO|1Y<1MuV29%$Ns?qwKPq# z4r?^q)q3*fPO$(0AOJ~3K~#^;36lrbQ_A(V-jQ0BiKZ@My~Bzj6~llOqdp^Tw{pLn zS9UGM_!P6Z-em2ib>?qOgRS(VbEXJo7^UxTF#SC5 zJFTs!5E!bFOdjN2eQ>ar_R*(#oHrPnrq2}&B`?rgO#uiM?2Y85zVS>ZlNFHYyrY>k zEZPMG_(%Wr9}zYKj~_km`$1h`J7d{DyvM_%`^*<}u3x>z;o%|Mn_FDm+vEKY-)Cbw z!&}So@i8~9-2elRA3ve%It3tBfq3dN7NMCm09Y|BC9&JVmD|TOcorC(fW>h@V!qul zy|9J10TvPe_=t_gF^Nbn08tFgQD8GM4O^yBw&;@w-2CJ&cmMEvyl~?hTR;0c+i$+i z!JmAOJ8!*3!sE!y?;r5d@BcZmRU?(7qZ8iyv+r{B$v$8I$Nvz&w?#f$Fn@T!-P^Z$ z^znTT?>(S*-XKF@Se$JN|;Ot4xE=#f}uE6TdSn3rO(;3CaVLg zXda~jn$VQFdhE*}m@K`75D{E4{~64{Y6%TB2+=971~3yMhNGhvF^)C|4v&O3I;`2@ z@CfEhL)$v6neyV*pJ8jm6?|%X5ZJb>AaFf5Fy(;_%z4PC?_EQ49?3&<4+MwLy5c08Ql{$? zDJqMdi-fq!h|?)Kpr{UJqJVL817i$r?E3t{(~jYJ7^X2pIBuuX!{s46 ztyNY~M0zc^i1e(W_p6Z{V5KAk(1XGH9kuj>I*0~bk&RY+@v%8TT>z{s2Fku}-M`B} z`xn2(qr)e-(BOQdIT6O-Bryw?V1&j*9EpvM4V=liw8X>(Ha9p7li&zmYt@z1GHNU` z7YT|flSR2IPhHFL^&MaGv!s*f-MgQ(oySfBJs4bPKGqkDm9ZO3PSqjv?4+-8uweaI zl#v`*mD7&%G&W|1r6g6)F-5ZD9M;wQnu;{2Oy1&q6Cvvzxy$-H zC43X;+WH&}eaLxFj>DMsR9@jZ?ejbX^|^W;hVZlObId&cZ3$M^cHVP;);#dM*XXqQ zp}LAbkBN-2wn+TL*gcq(}VgLREE?l_4?u857yLXRv8NujrN?Eu{ zQjjS|@If7yr7>JxICd8qF`gjcOlDsa`Lefb8LUwMrS7cP>H<{bR!eHL%M z%kt)J=8yMrIWxf^Xn>|QLg$p(_mb(3=iGVsJ-QEWvU}|cTPKMfv%wOt3JB|x z(;Iz$W0A5aijj;{pw@OBUes*IdDk;kP18U%tn0y{vWqd+?Me>BT0^)n!Zjtxl-%LE z)_`KVBZ4#KwE{#<33|SA?KR$iw8?!J`Gvh7vs@gp?7$j_cOVjp$zaV4Ln6zv)DCoH zF-VuyMc!%wdl6ge1xJvH2AI%!S8|}5*kODznDH3XAZp`_F|Lev4aQAL;_=pDr(67+ z@9nWa{~7kScX|+*i;;{P2z5QUZPz14oViXnbl?4U6}fvL>j zrb)IMza-Wd9OZZU@kJ_`3%jttzt7>}A%{mtZ0&4oq(jOLEDKcc9nEy2`sx(P24Z>W z$AGIV#kI$6{Suz#u6kM>#?!$0v%nw}IjGSGBNTT}-Cpto3y`b%jMYrWIy<<7j><{6 z!WLR7rq6K_qsO1BGg(QUFvX7AN+y?lh-%C;+!HgfZEFk5 zTBlFeuKVY0&sxNd!BPGFJPW@HNY)qBV>zk1-md2O)k49&G}sL1`_ysp^kRKoet8;5 zUFomhQ}gVswY?-$_m8@L*3uv{a_~g&nR5=4O<%99)-W7@SI&vHZTqqln&&u-VW-{i z+Ipu|S!0Ha%P4E-GzNqHJy^Ro^+)%s;BJ0$%!l_r;a9)@OL$}W^y5!hEEa6cHaIyt zA~X$)laqd8wnj|@Qp$a_7OxiBSc5oMyhU~5$Oy4aDh4$Gs7zsO*T5e`ox(8~JWX!c zZ|mbx=S!^5Lzc>7m;HXu;K~>rnN#lR^9C;dy4tyNR-S*%>2uE4-rjhR=2s2dR>7by zN^0(R-R}B1LBU{Xn!bcY=xfZbfx!a$j4@1RgFLjEG(}MoI6QvB&wS%&_|;$k7J{&U zu-_LyuV7FLOYf{>-YvO#_g#)oo^a*T3mhIk=HkUm*xNy>*sECYz+D6ettDhiB6Sjz~CkVSls%FZ|jsaq-$q>|VXh8{hmU zI~OkFLxcJ6{u|npV;+9+5%<3P77zd8haA0sllb5P?fit0Gfm0MY>i>z91)9j!t$d# zgy|NW&f{WBg8}Pt*^(uebPpk6>8#<0fB2`gsijemLjnzrwIvXxb6gMzlC+|d2$EyJ z$TK$Jo2fqEDYI-Bv{`s!U{P|cq9h*Q{FK?=1m74M4|uJ$C|O7`le#i%N=trp0tu#D zGcG;aWZ4}t-Pk0hOxv~0CYrytY?n-@Q@XBWIt^^>1%CExU*;Vb@8kqF`belSdB?QL7>5CZs9rOREnt| zKV4bwNg3LMw<=AnZ%CP(R^_3}VhyP%6{KbFuqo4_EN^83oz>tY&`V3RWNhd9dcrwn zymwU5h;0Wa@su@)>xxMg0Twy2v2lrI_bvXfcQ5j-*FWY`bBD$8BVx=rqd}l-^qM%k zi4e)T)L%4Cg9aF!oghHU5obeTkJ~{pV-y(YobYY~<0iVgFrF+CYc%*^-2~Vqi(wLk zqrAuO{K+2Ky}{FG|`*rANHIw-w+qr=7 zd8LZ~rL+(Nj~_qATgTqs9vfSm9M4Y(6U_yjFBh6jZwxln=!?)U=H#4dW>c1nr2@ek zi4^HsjdeTO&m+x+)0wGpov4*_DlVccxq?ORskwsm0I$;c7)>MwdNA167wi`Rrql}5 z{e(u1W$I#}2aJA=6)bkfz6pHi-5>Bj{qO&hWtXtdV+%VNLaAX`@}TfuBR+mcN=qIu zGPfTb^5VAR#`VM=4bDwf0+2G^sH0UiAF)`?8!3zQWE@rCr%k1@&$<_5vxO>q7~jXw zy0Bao*FD{;JgWkT9!O+)uD+vyGMC9Im;cv#Ohzreedv!}L=bE7R-=L`jcVfvea@mt zCR;`(0;`MJXDz~O(}^RpK`uuwaTnl8F4-5@$UhM_n&&coj+$=XU(1^?e5?I zg&xHh)7Aqn=e_<#v}b|A8UQrL^k7gOqK8y~9t>K`WI7oPV z;(T$!_Qo!$dyH=!&Ie-2m36@pyeeASWv5pBCD7}$BVY<3Gfa(VV|N>OaYjrn_ddSO z;e1i@tcqgh$_4iR;jgjzcYcmXpMJ{n(|gQseMpo12U-U7+6GrrwxRRgMVw`J7v?y~*3(cn#HhDy2D1@(j!m zk2u~x!bedlHF^FNmBxfsy}GDE5luuTk2Q*99P{~t@puF{Li9|>BEXSSU@{%!ThC$< zdFA!j`JTsK=kW(W#;dQs$nnu7zV~}R#l_um7GVh;c=BFocw*g4TTNA0xuP^-V*)G>J@8Rp*teuIg+%JJMo449;)<~M@UHuuY% z@lSx(qB0tySg4?hDPgSyrrNg6msC+XgEkw0LD@uz4H!?wCQ4UCu$buI||ibMNnu; zmLVUy&gG^liMYn@D~TX%a+ZQMJYUF*n=D z?B;@v$&9Tl3nrH|JKE5OmW$djniw<;ZPK(#sFIp&ikuLN05ZTp>cn=f zEs;hsXiC|}A|b9sRsc>ZM#4L*5rGcq-I5@lxqmIsC0Jc+(&+aj#jP)^%EgwSIZ<| zOgy|Iq#!jhD4f+0KqpW1b5vA( zwSkrGtkw>$%Tgu=Opkj2M;|oZ`~7IQJFa^@=DVSa-VGSk#&nhuLon!^liJoI7&h=3 zbX6t3gPBosxH#r#|BIhvyfI<_@D@o4=#eZ;B88#qaSsmPxc(CRhX+jR5#G0KY;H1{ zOnB|}H`v_R1SNg{zWc6l{hjN?nAq6d5W9&4BvIbAR_3zBe1TEopX+sGG^x1Nz(OhN zXlYeMsfr6Hr_BE11=7YCwk~3=VS9V4Q&fyG;F}hmBGZj+Hb1sY_&B6?L3416)BQbW z@9Z(Vc7x+L-sa@SP5j;gv*RPu;+U{VI5f33=%`twfRH8=4UxG9?L8NO5nz!yyeikc zcBs0d+L$ugxxo0!F7@S$j4$jk+L&TSHBlwPVnMrD(9Y&Gr*rJ?MP}Br_xwxLF=d!4 z8MXFwMjHY_=Sr$HC<#(okb|OfF3PD*+u+8Qli3{O16mo5Pmi4( z02^Zn*?KI@<}__Chfs}JhG|V*?LvKlKfSukw*4lb*nNc!bIhWdbK=D!K?hkUpaMw+ z6bb7@9am}_1@LPlHG&B+u0o-+_o*eM5?}}8YP7C}c~l#8Rq?I2N4#+BA>KLOWqWHE zkp5o4V5dzm$PC7GR#g;Ori!+MKJpz>aCb&!^mftIzk=9rsdbCjwESLaMfq@JV}tp8 z&fcwkn&6pCCp6h?QWnB=yy=+w%+1JET_&eQWk#bBN-3JASr#rCwEp_8x20Iu%DuW1 z7#wB>%Oqaj*8`ydm20?wzBZ(C17JAF3M#UHpv$#irUR6&l6@58VaXgSTbo51hQEP+GA`B#zSIg1{;8M{*|UI-VwPl*f|&UHSH8r*`$Ip* z{A7mKn(=tT?DUjsRI`}P1mMMpGGL=4nHF0)Qsa@DLQRSWTPb`~BF2^wTC8(~yl@F# z#6zMN(HVf~eHI)zyXaV@mfq=_lrD89&~aD4J)3F1*X;Z4X{%?y(`N|3GlAi--Hujz z-k5bB7)&Xxh{$9+o7;fFu3j*!0uO1T+71GNt6(sf4S3!13;+2)pjDBR*@^gnhlo!x zQ@H`9&`Q`VF$ZbpzTvIC*9a=HJ>6o_p7P*B4>O<5h)F=;JMZjqapwvbF6{EsOE0p$ zvrP;zpEqc2@S$ZqsZmL+5*COUoYq=st*++Uam(r0uzg~3{hnf~D)e)&GYe4v^&h}( zj~GuUIAgN_S)wR0#S{rS2$$LlCR5Vo`)QtN3G)Vjdcxx1fOh{D`)|L+jW2we8_#_m zr41XVhSsB$K`SJ)pFmA(E`0cYMq3+H#!-z&)YCDO?QKTmEzHIgvpGR;jIiSo)p#Nn zOWu<*2x&tL^&FZSQ;*Q&1*1zBaN`kgzw!$HWQI~k>LybnELxhj?VrI!_LG%a>gQH?|;ajUG>5f46m ziRZue1$chS_kG{@;#}R^IAkTr7|R?Nm%w0~Gk>87d-$BOYugTp4UOZYkNG!Az+LPq zq36{F0t2wvX9LSKIIIf;mQ+LUHX~TBamff4V0Wi6P$_i=G%f){Edj-H{DoEKTi@0G zne1T*^x%-Q;Lv;Dsl|5LLTz&PtpLG(Y#p-FlvY?{vC)#E(6{4ak;^`^SE5pR?WmcI zFS7_6{K2aapxSFZbN?QXUOGWH2ei!sNut(SG%AU9Ui5N47>pJF&y<7>Wwexh#3VkJ zN$1jwRAH%bRU+CEZ```bS6&?P_Q5WfEBp;1CQB>js;q z8Gu3GWx-KoF!`649V~5Wrnr}E-<`fYoS@Eh)|six1P-^O zwWggfB%-OcaN4U{Os!kbQy+PX>w7o2dGjW2RHKbyzF3G6b@mG>M;Qi^$x5m2Vd#&m zH<~p1EZ8%HsKA{TJ>7y*sZQRzs}(7WZQ@#rXju?g*PG3EV9;5}SwX4&E7?GuA7VYI z73__L#VSH$oue4f7rLn}8NteR;827vBLDo4{x!e%hkt}pQfRI+AaupJJ`0Q7u79N@ zAn)eEF|WOOl`EHaxxBm0*7O2xghdEAXJql8ASLM`CPfr-j9ME}$XvMxtM_AVrek;< z@1d=3@67*iBPKNL52|#8LeuE7bA5_Me%IFvrWK!nbqn#~KFaH%kD>fs{_XIyCfDoS z?)+Ejgu`pzG>z=9$kGq`MN0B~>(u)udfyPEAAssX)>P#>n@lM!&&LqdiJ##hAh8-a zT3K|f!SCfNFQ4lw7+m_7Bd1CgF&g;%m%hNKf8d9O))FEydaSX87;sfh8yk$VlBvuJ zbZDW!N%qp@nkbES784RlMT~QhYXX&0gd~d&tNN(3b&e*q9r!Dv+XyoZTRBloi_2r) zy8d(CdrKaZgZrFTwwcljBcj{aS^A{>9k3{F6V$xpF}{m{=X=TGoqe{Kug|*kI5$wW zX8uqsyDy(tR^|@1Qf4qz6kP`fi#^afFj%aF`aodS3CB2RQAV+S|2CigslP?j%m^`H zbi}uU0#!=6&|7sZ2q9I2HjZmIUgOP!cW|Q-7)weTYbvhqy^$F#7N0y9E^Lxwz{kXN zJjTxy&8Y`+b{(C;r^i(C|LDOeOFM75HA)=qPT76gOPx8Mq%7k&K|lWnw`Mb{q}cux zn9G+?PG^5wC1&?2LCh?Pd5fRVXpWBY2gfuAN6c^Tb9n7-PH$YN**jqI<_%0p)K!Iv zijWje*XR^cs-+>&M9+5R*nQv%o0l##-Ppv8Yr@E7@MwwFLQ;g;LMX6WlX5+AA`w-@ z=3rNw>-`OI@XmGS^A@KJUdi!WV@cNH+aS8hDtmOs<$z^M!qP|xjeoK5RH>q#)|{N2 zu<#42+Hra`hpA?~IbnV>C)pNLi_h=g(H=KXZn3K_6F4O<_Sm_w!*pZ9zxjXukRSYO zKg@JG?fPiQa{dC;;z})G4+dkdC-iNL&*Ctl^~-hg5Y|4xw`K=C`@$ZNY#nfAq>aM*h_A{K6*!v} z1kPjzZ8ix8i6R+mgeRWCU;%L@E7<+b1;k|mP~JDzU@H+9=#1vA>CA^iiv0Tj{o8!@ zbDu+LLsXh^HAY$20m4FGz0-99aZpgU;^t|?D{ow7YkLDr;(?2sjH;TTG$|~kPA~!F z1$eHs);eNTwRBxqUk?|Nx6AClmv&wsSqIQof7gr7oXteR&?m6;A&tm!%Obi^gx4KU zc_vo(SLn|@s5-mf0(7dXTB~l_9ee1{RVlRu3}j$!q)+7YTLr^f*=6yGybto^-O*RO zV>k=ImotNU>AJ3~6C57j5FA6sPQ$>>U9=7m>d3+V4PJcp6`uak<5HVzO{Sa5wTYSH z8)Fh`UXp|KDWJ8%IN5(}J(`5A9cdwyE1V-VZ4UG(g7+O|x-4FdHTbMRD%)whV@yc| zvQ&(Boh|%MYwLoGOZW6IIYW56>>s?ldD1$&bXG%}XdHY;sG@y#U|nXgutJJ@^bj27 z`Wff|03ZNKL_t*A0Znuj44y7d`RFG<#*cscuXAv6oEM1@g9PkEFiMlG0FoGFXh?}% zznggF&98HKyw8JIu5fU8fR371UwwteY{rKkewZ8A_t+e7f=ax7?JYJ&8(3p`{mrYK z=8St0zVKcElQuHv1rv|LA;8UR;AF<) z&tK&A=UyRfjM=&GGF$gwW^&~Mqe~a4Ha4*133fb23L_K2h@cFMg?RL~LZxpqSW>4m zzWMCec=k^}j|(2F93+n+VMaBJx?w_|%mVit@=hUV`DaCv~XJc~%W^?Av zDWlCA=89xMSw z?@ZuR&bYK4)zi0LJn(W>hYZTf!al{U{v2apt4KOG8@Q?#3PnutHb5{AYY>Z=&Do6L zkS;3Uxx36zw;$Du1PajT=lGH_EXt$|hVrHQL)oDG#u%CyNiKW%mE%(Kd9!GGh2jJ) zt!%5a#gMUtd|uJWvrZBbL$ZHl$n}X@x3c~;hNksYdF)YI(;AI2J6yWB!i`g~q+c;&+J8X|Mm$oMu)c_G?O{O=4N{YoI@Y=N&Wh&ZaxG~@5AY9?J*}~`z zoUPg2k<92~UMQjRd^eeD>|5U{gqA+lG!4z7IRggEy%BLCm9v9B*NDocQ%dD>56KP= zhx@kmXZ*xJi1w}l;k_(+&TAh85L{h24)T_3EIvTj+P0OO}tXFz8mdH$0Ca9kipUmG_ej1m%5a-4YNS(u0&LHDuuGD*M4m z-I2+eKVx*C6)Xm(d2t}1Q6j@Al@|$pgxKWo8EaU0&;R;c|BOF-_F1&CC~Yvx;OYvc z&niT&4*ca_48euhU`);7!t>JWSA{Zoc+4lCd4k$q#wd-`7Mo;})iHsJ67lo_j6&H` zS-HM-{P(}awv_cy1Mrj**6N%c%M;7M+fFjpi^2B`tp&tXxYQ0UXRe0;X;lQNT#u6B z3L$jfaqBWL*4i$6H@uc5V9{g+w(kC}Y$uju9%Lbxwuceg#$rL+HX`xdG|cBS=50fW zWOc7h_0Gqtqb7zv7-SfLLfwlE6@aiV;8Tpam$KP|^Isi%N`|t_DCT=o0HHC4s;c<> z^Uw0p4?ii-ZGaRKNw;DLkqh*V&2^-CTr&9{MkL#oP=p3B60C`|M4xbVMZ0LS_>3V2 zpP2$SFVNeiMS*p;qrP_x3#HalNF}59{x)HIt4qMohjJ!iXXfZ=yyd#}fL zp6c}Kce=VkXGrCDIgX|Z@au$PRBt8ZoCN%C0|pmKEYys%+2fjgczt?1*DD@RLUbl2w1C0DKZ*Yw0m=2*E9AW+hyaqx3fNI zLM20^!03w60^*zdG+bkzduIXyzIz5*yo@)9dSF12lwoAXgp`OxMu`2xA|b&VRe>_n z&sCy9>e()-itS_wO=9onKG$zv=iqCWk*zSBW9;@O_3lNgi(A;O4aQp=)LTbIFyS>Tv5SX=|N*RKVsCbqkfn1p!8SlsY zloHeFl=*Cq8yO~BBNokq=xS^w!Xx#hqB&`ZXpZJbG))UhGgk`|aBy@)41p(}xX3H7 zy}GT49sLhZf`IILe%ubn4cE zVIjXaxs0Kxo4U&8?a3@XsM5c_9~skuF%gIX4J=fmu2!&k4(5e{ zu?Asd9wYouP*g&#w%^!`B@kOi6^nLtuVz!r}1| z!MD_-icwX=r5!eE3o2rC2Dw@&bPA!sq?kI8Rqoq)ukU6sem89$_+`y8ls0^?WVy@l zQeN;Ba2-Os0@jwP(=yE zDDurkB&K8t+qNZTKhQF8Cm(3@d*u6Um8Q*f$&`8}U}37=S!H(h^I?WCrS*QHx7}9i zw_~Gtm_GNluWoa=*dk2)?PD7-J_Wsn^uBVEaKngama( z>oYLML^c@e2eLF!4$nCP67NpI!S7-xz8ZXwvcwRQdeukwE0P5U6gV9ypYUB~MAOO&+-a zK`vju%(bg?loHgLQa}C-1H#eAOnU^Yp|y(r*^Kz9M=>`RgsV4D%80UNf;k?o4dYbN zDn$|Vk11i4%{AU)f~`ojsRgC6DT}&A$0B-sVXP>jfFEy<@QXk-U*L>okplavVH!2t z%Hp)8N{WlX5ts<1n*GEYn!g4}qzKw+T&-Cw=1jIGn5daGGse>qP1~Rq zj5kIc9o%BFIcAh(Okbo1PmA)7q*_qo0XLg9?A^G@efM4F=;)X){`nVq=3~#C!`4|p zm&Uv}@9GY-@1KCdWo6PB1ECXySq}u8yf!S`0Xh}aKw1KUz!@Mo6q;KFg7SF}3Zb{F zSUs=vS^*PFz%c1$V5s_Wdk74*$#d;s`CG<}5IiY?_bt{sl#>7JY=2~oCI+dWGsX~_ zMnn{q!nxdEkU6&rO-@MIZha@E9CF>X_F`7&J}!dTleTa;2bV??yEtW&fI$25L~ zaTnRz4rrx?o^GTBA||LpLTkg`aq9g4Qi?2Qa{=#J2&e!-Uwp`ifx&M_?OR9lKCYf^c|7|JUs@Y6FTV?UVXo8q>o@$ov{hS)0uVbom$BXVl#(cJ zA`1j`HGczuXqV|eN-LaoJxH{D-C&^$mESE(i)W?L3?_$W^w$se`A5I{zwyRf*HFfx zvdBP{y^uQJKxE)n19^WC&{i@~GA|YJfr!?K>^>H;ENFT4>OS>zFHzYFr3?>T*djP3 z-%Sdeo$MeI19%egJoCquK2rXkM>o6O@9*aGF7q}3gsAhg8A>T)5(#Og6UK@>yIen6 zR25^`o>nOv?I_cO?XCjh;W-aq1A}eR*|4nAImS?D1!>BqkubYy6X%KY)JCkgF{kEdQRUr*MQ_Tnf-JB zMe%_&+T;wO#yO2`BY*a_=lF?F{UF9VQcRd!Z=nl7%!|$t#5N+uga?f4`%p0@ZWk@u zh&NSIft1xv6B^Sdv=imzlw?5+!|1YPU`rsX@yoS-RTd^`y}x5$zn9kCg+X8ZP6cj% z6`D#y6%EAY+VQ;JS61hsp6L~_3tcoX#+-AVK-kb;LT76U>nx^NPgIs!JLgkB`U8CI znU8UJa)h(lLo5myR9Li1B%QM0Ln0-eeZ(RtMEEOt-Z^-S)8>TD(FU{A6E-$CXqtv? zw}rw;7H#`7&Ah?4a~{0^ehv-~ShNkBo13_5PlAZvQ`dDD#8E)I@Yq^PAyV5g*{nG{ zJfeMMmn(ngCwTjpehZ^C(aPB2qWF?FL_$)CQF@ZGA!&@jToyE98IeT5%c_cyT1b&v zIZTrE!C`7>9=^oZkA63&&wrD>FTcb%7)}kOOFQh&E!DvZ3M+Oy%Co5zF?t#j+o~og zp*w0NYT3z07JkkGk3+E_&`OmffkX?8w1XsbfL2kcx` z4jcxr@;pFi+mMocUb2TFq`Z%ijqYNC2fAE{P>(HNsqUKl7kCor@zXzi)2 zB>`4j{&y5$x79nSOj0 z45nN+7|(*i+Jrd{13nK%Ur*8AYL&>i;8Gf=GrS^oOBJzpix)34oo*6PSSu#?S|_YhSuu0@KAo2xT-V;O1?uYl zRssK+eXbymGU*js#^4hH1=e;o3d4QLplT`W`_+Ay_ex-7m<22EM^cXXp9Rdr=WFRV zD_P#wFVkSk6h6#Q77>`zhUYY&FKC*E*?i7?KBs9K7GBI@LkQ?3K?7y-^~nHG#Yoa> zY2pwdzH(pAzja7%^=wVzy8F|gcYhu7g#w4W#R^i)RS7;J3Q+P_&+-GWCOtPS|&UVzL zVSl<871G{DSMZ-WIVWB^mIl zt~oy4ryf~u-8y7re1RA&$MZclH^;<~I6OL#fT$h;YWS#8*a5)@TqU*>b?q>fcyBKD zPB^-G$c2CJKVotH7B_$MGtkUX)Kth^i89y{Ov~GiDG-PfXiSkgo_VF%h!z_hkhAhi zp%t9O1@j9vmw)IJRF6E&_QhRp>|R3o$o9?#YG;$l8#nQP{2a>5wQ*Q%6lLOf#JP|W znl_)8M`*VWIYyJjXVoPU+Y2PBlo!G|G^Ug+hGRWu>+wgp=1(|XEKnv3Jn6o^dns6+ z|7xXj(n&Gdm~hG|B*k=d!qJJRjUG2~V)Nk~d0ed=RN_mnlyO3D5dftgt5q0rZ~hqB-gL2ScTvVvid z8Ct3jT%#D;_+=ot3Ie;=gBn5kZXd)vk1lxL*mS!!17u*CbeB8`K{AAEfnmOcdwJ&Ta_5h(b+lOC)~?0-bfagGV+uH@h07 zBBkHPAOb}h9BO1xJuj(L&Zl&>j-JV<3Uv~|ZGfVp`3+xW~8QYzg%U*!; z{xU^Wslh})pcL9n`y7J7PD0%D0I+2LhQMzqEU@%FV|elPSNTW(_?J0dG*oqsb0X=j zoye8Pq-Ahby)Xx4UVaSSIfW>IPoi`3V94S(gJ4_JHgo3D6VZ&un*;^Vzx*0+y?K=% z{cE4(lOO*G<45kNJzY=}xV*cCwwmL^W7NoY79y)uOqYEmhxhgjXk$H(q(H45hpN+nP-(R5jQn*$)K z8ZZYmvFbDJD(R*DcjsD6jq~x_LH|rCVYTU~=A`~yv?>#1%ICRi1+v^P+O`+BAc%+M zWL)#k-gW->-~U(q?BDoFv~@Wy0G2I>GEKD05*9k?VC*koupU*Ny^yWs?`V6> zr~m!G$?<$fRf%v{d3ILW1ORA_idm*!w0luXqqJh)oUnIzmAaN}`R3LJDfd@bj|l1} zo8ukos$$k2vN7FeR88^WD%NOj-8{y7@k%RWd`CG)cc3=}k4C7a^ICKBt+zNe@R9%i z@AJk-ALI2u_U=d2IiUEhHMtTKpX5Lsy!;0O4QC#@=6Q~C-bL;sVQchzvDa8Ds z_u0X&zYS`ylM=&sTN$E?%#Y`6Ufv)OnfVi@TT@Y;R*A{xl>LKSOh*oDG*KmDR2W-{ zDl&?s6h03LxAPSz2q^MT-MMy_N8OIrm4tIxthe_ir1z0Vl`9h1<7-Mn=^zytAekB zK>_G;e^!t9+esBI?Ojnu-z_NYI&fNkfV=k#9qTrr>%AOT(yF6Rt0a`M;Drl49gS() zmPPcC7nU)^Y(!o%9_HL_-_7yd%XPb*lBh&D?b3VJSyG5u87@C$wWxg=-BW;U<+_K` zWq{@?p@dd;P!DLOKBQy-hh9?FiU@^qy*jA8Z}`%SFYrJ8#;-AJT3j_k8H?5qjL=iM zhc5<rr|j#o_jqQk|em(#z*ue!KenvfWa@5o09zwDemBgZPkAQ|^D+MyXkvPN%t; zJ=2->0%Hs_vk+=frdozvT@ynVrOB$LMh^JAh(s^zDD`tLGt=D9Ah9|PoB>w#GbOo;-tM(OO+Nxl_I^UlFlj!ti(D@)tV*tz&H zZ(My9<0?*Pr$nEajyE`(?K5i^T-d(Eyg9+u;1`~w!vhK8WRFCx42y+G!jC33%_3&I zng9tLidMrb`+MBlyUqiTKEac}@YCG)AN&|MU-=e?*RM0Xaf{iFTd1Q0LeolJuZA?T zOe#yt^QqAa{fA#Aop^#uXkDRW#4#eWKs|7Y&1arQjYlH1HkmTn-l3XIs1`F8c8q@P zKF0M$_FjI6G(QGqfk04^jpT^q8uid+{Qiu3{|FU43XcJNQnUz5Lh2edO$u10XjLMn zAXXA+E`R)Kwm$w5t}SL<-`_{9BvePmBgybK?2BUSldVCL>gp$r(|B6R2x>>;0~=_P zPt4~tl*#kIQuq)#SsXKur|g(3C=Ev2&VeLEkMhu<(aLaeaEtAoZ61I60lxI*Kj-5g z{jM{8{XC`eA;q&a0eLZ7PxN3go&yHg0zt$_u)RwlSe^wCAaJ{R-Vb~U@6<#YRqm5@ zcI|Z3HZ5flT)P|yNuaD<+Rkc|V-jF<#{MZQcq&A_TIFD{b5bKH^F;0|&O)12j)TV- zDM=F6j|60t(j71auv&{JViaq)0uFuaJIf33;#rzO;@ymyr8d8)p%RwCpwF5FAon4} z>>-#bqg{<*?k{OzI^T5awCB@AS4Cu2Z}XXcamO=y@69evJn8(&M`c<-_jx+|`JLJ@ zg1HVHg#iVwe0BJZKI68$-J(Kg^5VXz?3N&a$(cQ4GzUkwc<8r)`X~WIKea5b) zHjcNhT@_k^qVowOAG)5rm z_~Z}peII$6?TOR`{^@gn!7u;Ie@R4B)#Gv@*7S|ool9993R`&R)WMYN zl?3DmCD+B4TBCyZ2H8N#VE0~+OJi2)^K0hu?z(1xwfZ}wp>~$Zc*OtlfBrLKO#D}W z=VwusqD^4P<4-p}$T*_vD%bK^$m)&aB%nxDB9-f^Ahj}arl<;A5CYg*K)AMfAsEE2 zrl`F7rbQb?Od1se)@c@P3#z*c-FX3!qt2j^F zESYDe;5^%r;s47uTGxizk>Rru@@uV^16Q4;OIkUvZu={&f|c`Mch0NlHf**QPq^V{ z&N(6>FXm+tFH}*5G1)^*fwl^*tt`fsMx%u)>MCpohi=JU!gOpBmo13qX~Ez7FMol> zVlLa%BHSkTN#|(3D2kSQk&^1op;Hn~*`U!n(FV_}SHFq(4bIh6wuY2gv@>?5+ca&< zbh3$aHCNwxo9Sqm?ac>y;iYFeI63CR_%g9uj6z|ZNHA4;n{$pfL)3xTMy~Dc zaqa3`JU%-@TgUd5E9^dSKQTdQ8ru1Sc{8J#&+$!zUo>J@)q29BL0L`n{5QGw@@Hu= zSd|FL5L2Ks6^q~)KlUJ_3)@&CYBXZ&!Va4kFJh~T_E@1R$8>v}EBAev!w3F^`71{l z0t!b|7Nr)9XC5x^GXB8_iSOKEzJEx(zK=RMA)cO~e2WdDcbZb9%HYnCXq2X%PPzPv zk8t6;o@Sv92RGhf|L9h?s2>K*$}?M-A;ctoSt)c<)XuQAwZ(Wc;^6dvoy{GZrs33| zu(3IzIhv!i;=;}jZR?rTBTnLi)5R&r^F!<<5ysNWV3f+#T{S0L|WjQT6Ji5rU7jsnoqoHm78K zN=6VEWDf5xBe+g1X82qe;Ba1G=)5sPE76_^UP>mMv!F_LH+1tqKxkx+)K;j{g&w50`Y_MA$+$BOvo!+ z&{{K|Oe6)|wA`BQ^Y|l=^2oy<;`-hVAPd91zk%tyZg;8|TvidDKVo|T03ZNKL_t)w zIr7;H#dPMuIW=DZU0GDSCF-Y`&Ucx=fk=SO9x%@J3jn1QzxDY)=3jsIPq5bV@@ud0 z=CybD%|H4KKm7floduf6gH05=Zy_}-@<=h25QvppT*7oN&$RO;!11rRSy zfGiKbtFO-+r0*uGw{H8x|HoB8w&q$4JL~EKR~BD`<6FtZmVm)hv~Qrmw;E|(cdm)E z=P^8vb=lwYdPqNk3|;g6l|@Ge5;2{*)-gtAr>FTkjnq6ZnC|z zOPE6Mpw=HQb|wk`+=P*TTd#}(Ch z#Ae!&07w)e6Q4Y>4Mgt=244HUFTs39G8!GAK@8$e3@ogszW)MdB==~#eSxh@mlsD%|}$)DP}*@XE{73P=?yMOqr_q*%OlgZi0Ash;{U7pjqn;Itlpe8S@7 z1b@1KrV*dMBvB=04XLiNJ6qT*JIs7bb2{UVz3a5zi`;+CgxIVWndk$x1+10TWy)iR z0OCL$zf!QVIVBm7bDHhVOB~J&wo=^p&}AC$xp48Kut7p(GTLAfPe2>Av0?+3|0$(J zAr?qM;YkwERhpxtV>UOpc;7E^J zbXae;Vj*!Sdg!W$;GHZ5?v^IFE?}+)F}9MNDBG(B3iZRpk4C^smsF`;2Ug1F%a}0) zs^u8eQZShgWmQr%5RbPiFEp)&Tgo@dh74_h-3uI@H!>Ed_%;1^~ z)-dH&SXp28{>Qq@2Ft$sdoP*JToX8auXqVkRM2~`$_^;rAv3tz{xYbdAouXwYE1t@ zw^i!aaG|CX_@EQwouZn+!w)}9HL7{><(IM3(Osd?^ZWwOJua3G>rAuGao$>` z1B2FfY58LMUNVHGme6Kv2yHBSC?B4wpJh^a#cQx~17R4u1P%)w)LKg*@#}x`89w{@ zFJN4a8;x+zF`iCI!SmTKeo2aJvvQi&24yUfMZQj@22CW83)Qgr*cDaP)y&kYzzpPx z$7u1a3Ja?72IEmh<0A`g2uc*ETBR|QP4?$4U;6q>ymkF;u3x{-zw-m%!;_Ca#Aa>T znbuT;jNocS^t_C~I*Q>TQR|cP8^T$S#(wp;D^L5O()@<-Ci4j2~nM%XdpXqShKkLaV`k z3_?fp<-LSbnL(fp*nkR#6iU`4N9QsC)j%BdfdX90_6_}Hxe9)V+3nRnv#t-x_Er9u zDOV~nsw~s-h?Dt@U;g!fLQ3$9Kl5|o94UFI9LZ;3-31Vk?UZxU3cMU^)S84Q8cj@6 zydRUtxP(qp-|1t(Xi#BoMYacjd~krdxQIO9hL*1 zor?1rB$m`lWboYqrgbcY)%#Gs_d&M11%&6ZBW~9un7BTWwz@l$%LpjwP{nZeX8R+qy7O65RRQaRJy1CG7@tIXq( z1VCZ}lQ>-*W3*UZpc0j-;Qz$3)vFHL(&@UER)HYYGX>hvw3eWt;E&O7^WaA>%RMb10)Y})Z(=nh3O-pE7LTIv5cNs54p?N-^GxiPFPL6o} zovVa={rl&o7v))fhLlnr)5c_vNv(yEWSymQ6_pk`w zNU0rKP7L>>2c;In?|1c@O95uxt?R_|Q`R27?e`HH0e{~2pNG&3BVq=C&@PKXT5I|& zUIDcOfxS*Gl^zfd1%8HrzKG%sLEw__WKowr2MDfyuYCTU1_sOgyDn4sz5>GAEs8(r z$#%6xB_3VF{TrpRN^^30jGatzN^x{_#EUP#%t<(9i_!ZYrM*+L&aHiaXh2_5@bZ1z zX9croVE_A<#)Frkt@XNpdyZqT#p2O8+CL5cK zMk9GBb(Z^WH6eK#56}_;$MS<&02lOqA+GRgSA_?Ll*977eo<~|npVo@eM@XbdK+zM z1NaazNmD7qVm{;e&8wsos5eH8Hl{rJq5GIOt@tdi6iT1Bpg;3^uyA`fi@0^)PdO`7 zGFij(CJmpXa(sj9!}2q@Dg-l((w7WP0X?f(*fv2o-{guss_g%QQEE*l}Q6x zX;`L~6v|D?=gR=>M(&(>T+KYklvh37xEZ>>Kbejh&1P78%K!XNe-*Uhzx_}CQ?x^B zI4QSZwvm)3Wh!uT37g72SNK+8QM7Hs)sA+aB=fH&`(mw?TEfgpZIgT+i;tr*1Rrt6 z5<`L_IHOb+oCzIkp=rX>JYe$sA=l-u%M8Ao=V#qE%0Ab9whGu+@5={0N8Kp{dAn$LXtY(-I&_?PBDVNH(w^ zkFZ-?Xj8GVwaeD-F5~G$0yi;WG@{5o*`Tr`^w{B0L@o1NS6HADYSz%4EYKewOP;lI zRHG5qWCJ%6nr+CI3L>TwI+^^Yo#WaD-!{DYwP(40a1*Tz$wxYm$P`I=tP`ihz7vNK zyX>K>EiEnDO_?y2g|UMw8QLb{>JhG)10qlqDks8v!QrDP5wLC~Od_o@h1Lm>B1r}D z74#mJ`|07~A=}$qJpIgvdEvR2c>IwkItAH6Z#2eq)W-r4@3sZM>=P&Fe0wms3Ixw< z_qzB$kB!s^gl|87mif8ZUR3t{<$p?PP}?TkEo;(}L6o_-FF6T8JRj3w8_xCKqmmVr z>s5B`TUo0Y_0WM(Yp-6Kh0bK(%Yd+C_mtKoRf4Sjbr@dbb$8wm?o|f}{aHX5Vjv~y z4^b@#4bIC7uI~T6g26k^0q+BLdEWuy?b=z=+Xvf9G`}n~6@rSlrW-h=sq2c664&=` zaQVU&PD9((%cOqDJ-0>Gt>c#3-DD065R7ZSKg5PPx5*kcZXR#Em z(AG$upwc}U9Ebsw-?~B(tsGTdb*iCr@A;L_{61fO`4vW!snFP_8=Zvk>0*IVS*jOB z$Xx%Bz{fO@<ZkEHKZ@ z46bhDcKgb&^8ZU6QOUfN%;B<#Pl>Fps;rjlJ33S-ScNwsG>!5tdtFu3}Fcx9-SWZQ-Aj-nQl&*&*$=eC7EcI zGu>SlqIC5PDwIzB1loah$#5&BI9(ibwAiPrYOEe}VdpYtR5O`uv9)o5qvJQ&*}epb z(8QJ9D~!hz7K;T|JGQqja^0Sytzj{582X<<@lun_JX(X6dCVD02rX6Zczf?AfAYo8 z@m(MP1lzk8QEr3^il}2B{GwzyljyxfjW(9!mtLbiJVs~tTbN_m#Hs~89pf(Chuhqs z8c*1~e2MAyHm)AghKR8uY^R;WjmPM^rkYIiIA~Bwqf!DDC7Tuk@zx2ZszmC4Ji<&y zxbX-(s!&P9p<+tCA72bKZ9`lnaGL9H?eXkaz6wc1hEfPp)2X!tg_g#({9Gqc1IlPs zRn(&qT4^>nH#s^wBE-OSy1`tXQq_)4rg$Hij3**0Vuh&`R3Ir?_?Pin<+YoPp^9Wg z^)#U*OPDFVM@Oezytu>DAAgjWzxE0rdg#MhI7i#$!g~8Xp2}(=uDku{w)>pd{KG zqC{PMn*r4T9H>mU(V~1R3jt6u;ZruBr_T@$vsVQi^jRoyt|qh%ZQGDc#dLE_J)SV1 zHKgFtm1A*wL{tXlHaJ`y@fTlzh3mJDdG)oo_}hQuM@U#=HKn#$6%HkI)abEBgNj5| zYP~XmC{f0E_8~6)FVS~*wbB-wB*E6an^Kfq->QRSs=UKp=tUiw8)Brof` zYgZ0n2+GR!F2HLj@Y3yf2=uh5*9|jlLojI9L?DMCsW-mv_wNV$FOv6_*0jNQo z4|wg3H~8tF{3-sszx^}VO0qn33vgWySe`X)P;E=H`5clWnBGzYrATcOHJTd91hys8 z>u6h1n8QNy9&I!x*`>vRF^1@4H4xvt!qWvXbgnkZhhB|}&M-iM$1Fpoa@I483cDLqhP7f>L#h|}crKvSw^ zl?Fv5DkZ?CoO=>)9HTUQN7uP|{5C2ol5*7JG1vF6;zp6#{FJ6?x%BV@93CAIL!ho4 zhe!Jaf64<_9%O7LgjOhMZ4T_!bzL5Xd~G%LXhhRWAULMPyiqvgL{w~S`RX^H=l4JR z87@BZFb_WbXjd22jakr*sY$7%6^6SlXudFFec zm(jLofj!{KEgdb!o?-xx?@O zfAZcm#*!?%@B7^)BHnws)sod!-PL>d?4+n6Y00J_(6C6$mS9U3Aew{-TeczjgBL*1 zH!rZPFNOgFh5-YzVZeq2K{9F6GK3*HGvX$R;w(+ga5&^l&(_=YQd?$LZtuN_xQjoW zdn4jSzO2fs?iLC779O(R68l}w|NPJSpK%05x4#HY)2@{D$yl=`%)j%yC)IG#QyFkSZp%=wj&(HOgEAU`t*#*>>pVi#%I@i}Jx&I5y{>T?L!v4Rf*gWBjWCq$>buUro>OKlr#Q_w?6mF?A<>^7nVsO6TQ_27g}5^m5j<#yhBaX5L}DZib-W@ zn7RgPl$BZOyW6K+Q1Kj9Vv~{ja~p?frkmpZ-^Wj6eP(JM3;3Y!nLc z*w|2NC~zXM5h0+#6krN`kcp%a{cK1@e*;6%mXth$)DI*C2%`39h*B6`=}tIig`w*^ z9YB|334;k)fsO{PrF6!+(9fJR*vWE%-Gr;tEbRoGmbt7C7hmRvtS2#EqHt)Vcw3)gYZQA{iOe;e=-Y*B$Ny8Ob9 zu}f^VHNsvH6wV{b>QTa8(!iHw_9%wzvRYjXP5IK7U*WgD{AH|?(mDUn zXFkK5Z@JYkn86$JBLZg*MDUok4jKONjGq=`al%gyO z3M=yP**RI$@)LjNCt1`>j4j03AO{zAFec!ja%52Mk-5J}7->)7XLG+O;R~rfUuNBo~#?JP24({(`Y{lj6t5iiP*QhmU0e?OO z3Tsx*Nogc{Cd$0DI9<}}1ZcG)8pUV7`0MOkyTVWZ)W6U6&Q(J2IM-r~gj{DarWhm2 zT6|rzc<&x)gVzbTP!d@p)ie$2$`+GLm$`oPCYzUb0I@wZV1mr)#dOAWwnR!CK{sBXd2YAmApS|F_V&FT2WLJ34@Ih@0BPl6Co<1ljl%X1;6*|*ZIxg z{t}W~u23c^=7t=#14<ACN7dzk1?N#k**i5D)a)Z-Z9$vDIaP{qa-kK+ zVq$?Jl0Km5L+KSUfijt+V~qF^Xj&IlW-#jcN@PXf+ZD-bFwaU4i zQR5H2Sjx(_Yv#YESuMM@4j|@jvh4w>7<>9%7h*baENA<62o8hFz;HF3G%p*nwx10t zjcrmYb^U&3tb;|%hP21gH>!Ve7) zu6zHX#o~;bPO;|_q9{fj!0E{eySuyWUcN%xw!HMxOT7A>Z?kM0wlD3lSS-$XPgX(& z9}|NY9{?)|;t{baw?p1by%wV-+*9Y$5;-iiC@^NABx?Ht@+-38xu~$UymNTK|NNPM z$kBX(GKCll#z;7(G5DZFZaPMqx`ymUHc%OjHHy$!n!?c5HCp_kfEd|$hsO}3lROS( zz$8(bbnUsDXeB^vxVXqe2?SF8K`$YSL@^J2h(zb`UA~$kU_cf4pz#sfR%%VXdGCmS z{L0rjUN-#b4}OwQzW5Y%XsPQKN=5Xoc&(+jMb{s?IycDx?oMpbJu0 z&3WIchYCX&aj_Qz2t-2LhgqCo4969WuD;9@!L$MCHGJE z*gv{MRTMPMlH2?5Vk^abzMyUb+9*`egwRq=C8uqbq?yZqcQ`~v$&$5>n7gOr^ys=(Kd&?!YqR0UB~ zBYp15T1ovj9hpogOs6x9(M+e)6qe}O+}xnB78fJ4$p%3mP`j2GBplUX30_oFl`YUZ zV4^%bN#RM31ub(>)S@yQgCfL0<65+MCb_q_&qqG-GT;2YZ?kMQRZ(@d^Rm+VFxm*j zu2Mn5N<(4_wbosjVo(8+(Qi_O#JHZ}!`cTO68JdItMkf9t!ra)Czn{rpJz4Vd@lK( zLO;C?Lut!OoCFzs4S``89A~wqbtU#9G`ZQrLX4{bQOR@Z?BxjOL;-hg%<{rHAkg<9 zFh_x%1%mO+J|7%5e6|ksA7qO$VoJU7H}VI=(^+?NkD8FXZu=oav91k2*P~83JkN25 z6$3p`PO3gXAOs3)@lDHYI%RWnlN&c~P!%Pco15I--{a2RyXaE9*z3w24385BuN;5LM*e=#W7Gf~ z%99p0=0Vf?_?%b!daLG5t+RUw&x_l^*J_lhwjWjZm0M6gMx zV%sW#-4uSC>z^h-o6BH?n3<1k_zs_w5Q+KvLhy9;qLRVZw4P)qhL!{_%P$HVZq!}lv=EQ*sbgK-J}x81cX zMPG`@%Jb`M&C1$PR{eUC*Oa0xWNk49WfV_5cY{CvC;k#|~V1Z54czW#0g&fovL zeB)c+69&yh94U{_SRJ7q7ETJo(pnN?Bn(7DPyzsCUC&DAfspIRc@eUSA$GMHW0dEdf7g#k0qens zv?j`U&46JzSLN?jvLDZN9FOefbv8jBb7$s@kMjGh9-QCjNFDD3 zA(wWF>unmT@hIz|v3+EcPN_p7#N^0L_b^D5N(kaO_5;Vn&=$$gU#-%`Mu3X|(Wm6c3@!x9ojVI}OOEGepjvaD7@Ma#0}8}Gfz|MCz1Uuqvf z^`VHZ8Bw9y2KPS>jS%2>}vdkm^` z7UXlyi&WdTlx4Yc4Z{T_r2d-2)rLTLyvXMNXO>;YT{;&Hxqk<;_dVyo_W3U9sSNIQ z4+xc#qQQCM4^hIQ>c&yGEvE?(HjRiRjRE2C*?8~ywJ&}FXEi_a(N7Gnp*M1UumlU z&x0L_E`u$(j`#%P6)C_YYY%r=XNLhm*mX^P8)x!uwRhCZ#MGqq};W)>X^6u^LGbu_oH@BG0HYuwKI+gM9A+quD7ufyNf0C>J`j2txkNr_L zo__{)^%8Tf*#6;9@u{Erces4@1`de?2(bqyK6;K1_9@DeYfs&TQgeFuF0cK<=g_XE zjh@pu$K!FO<^Fcb<_~?6E1&!nv#VFQvb&3^DoN3ZDP-SEUSd%ew9fIxSH8&q`nUf# zUVGdSBz)TIQ5N1xbVhlT3v{Gb6o+FZjfi!d#m{N1&g=})lx4jXhZ~yH`JAe(Xq%Qxo0r(V^c01iNkl~IUrJ@?n@J(M;>^l_`;cTg z8Lbq~H@y6@m-)Tl{|4I|JIP5E2aG43Z6JLwJFMxPRUt*NxR9cm;wsA~VW*}81zF5( z3f`Z#(Y9`0IM4CB@|%n9fAqt#Eq<~FF@L)TA(4y*w6EI zUXO*;k%e;T+|TRyihV*{S<8oO{km7SLGn4vtG5-iUcrjmcmlPpKOYFf`K+K)?~f^d z)c(?Kcj4cu4>x4=VV|#SL(jxIFU5JDQ>9c_x2&v636V+zxQ#8_+uPhfJml`Zdl+M= zCKDo1ZcM4Y!#RgldhOz_2FF=S~5ns3>e5M!=m*8{<o)MG74ve(fZm+Ype9uR{Sbh@eWY zVJG`fUeA^7G7FOLjeNG+3(vNPjoYy|QKh7R5o%E@N$O|lnsj|x@JT7vEl52BdDcMg z0e#AcQmj1t+{dIqZ9DK{`tCf1ApoKjqaJ(b9t41UkllO7wbET*9N(XHtWE}m*+DXP z1`LIL#*U0(nB8zb>K5Cy&HwT9KgS#Iy~}^`v;Ps(l+#mG6<#~g2Bi&{wksU3l;jxc zR3<>Y;F6oF19+_nZA^kP5RH-ghb~f7B`yRa4jT<&2z-gSrcL=ADN?{Yin63_n*Q3; z{mG>(TpqtJr}6J{8=5QvRL(x@;d6PM_9)w~>no3REY<(b zWhRDuP^uS@F~%fsl|mWSl^jw=VG1j?Uai5TR0L%;4$r^#XMd8is%V==oR+fVF^6stoST0)Ti<;Yeci2BTU~A(#m#=KIckoUEd1CZcRh0mkPsP_`=d8%( zBy^0pwq?<@DSS|&tYNY-<>2&yfAGt{z_0z&f5ZzzLvhk>ZQw#pB;cZ?I*^!$km~c!rW1^{w9#|v z6EAZ8r+$)mfA^dCoeFblhS}MoympP3ZeC?}Z5Ok-&DGr}C}uOMHK;*jm>5kgEXSwE zeDl?B@VQ_6Jiqaq|Cqz$6UwT>8+jH+r<`sRQI!^e+IW0ObF~jBW6>%?2r?RtBDO*n z6f=v8BLA6B7{H_YAG&m#EGPnoSHG&xtN@? zF*}Vks7TZSf)n*e?=ZnoH!Vj;NBsDo`Y}HDnP2CHr(Pgf>ElxBr|ohHO=0Ewy&_sg z@JV=9ONehS%+4sh&=y(@{0oXpyg);p;vhuzt|TRp+9?or+Ro1v{m<95z}M ztE^xl;X65h&{~7-m_iYTDF*LtVfiQD{5rqzE5C{@ICv|<&+tX(vj#L0gX=e;D#j&y4*oQIb9B4$Ku2^ ze%E-lx_dpS6?KOFLI%L1_Ska9_SKS;w&9CkdzD*zhuqpbWVU^oD_c{Fa>}HznAoCx zLkO;`sU|j10)dEPWkjvyNoCQOaUU86S3DSe^zX;tKj^!x+&Kn2=N)r+ya%$2sjUsM z4w0@Jz<_DdTEq>8>U=t$T}y}0sPoK)zAVYg=RS5NCv@jcR^78dIXUUTRle5T2SbQZ zYP=UgoeYS^Y}?R7nER*PpD1NGk#Z5j{I0*2am#>k+%zlpn;c)Ea-~7gJ z{wA-#^%npAfA-gT`sy`Qs^68vLA%GRbaME}hdw(hLN37~EI}ZmLIADN!E_Fb5LFlM zKAfMW5V7QX_z(zA3f&jR(t6j;i>?)>f2a~|3wxouOk-yO>9(%@{2}fAZa;313nU+B zyRKA`Sv81;xr5zjDFq>`Q|Its)kU4CUVS{+@^b;RrUN0z~Z$8bA(5cd3yg2 zZE#d}Mp2Z+B!FX-62?|rd}wi@rCBaGK0V>>+i&yr-~U~{_VwT4_rLWG-o5)ClbI-n zN2j1PC@bullu{CBWnVW|p{*t&46ZoAvV#){k!o77u{~uvol?6c5yf;e<+MIUDMdAz zU}}T&4r>fr2W%l}8Fk7nu6-jpj9QpKle4BfXIFOgN{%%saVUpC&=TSoqA)l{E0)V8 zlgX4n`p15d_g=fr#BSiV@4}1Zf~}oxPEJmQ z5wun&`9he*^Fm_d=x;t^mfAkAb*x~d%L#-5@aysfR|^K)HLPIXUk3=&qP`L$nv(yG zF&$tOd1qPNt19KkrA7W%zV^@gzkc;M#DiCqNu|_a8u7R(WRmrbr&R*3`)lscfjBVO zLr9_An#pv7wrOy6E&Cy0m8J-hs3qB5d5M?NNnNb7R22{{UM25jr#K_jN{F#b38@{V~qJ-!aCuu^eLX_!U67vJht= zIM{al?DF$&+m_egc!R(4H~%aCoB!lL=U@KV4HgQ3yp5$SL<_(rhe}YQitU|dvayLZn)&>c z*KWPR>$l%RfAzO8QPhmDT)DxO%U8L+dyN-gc#+-RU7oytgD0Q3$=2p&rqfNz(ok4M z>lI!_2~P}>*=$BRn~H!_6HrsbQ#YTbZEEVerg06vUb0v&SuU3x9v`x|zsK?Xh<9(j z%WL2L4&Q(0`@FYzhy9~{yl=%Gs0yjCmQ-Dpv6yI)+K~$14)dQx0E|*WDQODci)yP@ z;uH=M?1n`ZGVY{Qg=}xFm31x(h_puRkfxnWNPkk>HdT@A2noYfN{Mr!_gZxhETuey z^e%Bihe7~rj06{PNc7Rs(J@aw`2_F1{T^*wi%3i`T?Cdb3*0h^m-s;NnzAZr>b4i2 z@g8HOoPtE)4Cj=@R<({oTfBFDWKjBBS#fTSKOZjvAGWks7kTvnyW?T(<>NZJ;L%t^ z5PR2q*WE8YaCV&s)*jT>S?c+ETIU`JH&@s~wH^eHp+LUgKP*7-BCFts3JBLNWFORi z*M^R2MWGE%-Am|KRmH}}2JgK4F2)#~7ge#X?QOhsxW$69EIBzjp(v{h9Y3>z=P@>` z%Auy42y)KHkR|NGL+OE_{J+l??CP~;5t@N|XrCb87n?U)Cv`YWHLd#3^CDlC{OVU< z;qU#@=P_l8!lIS1dNHPnFd|;#(C1|t(=#zfDO_SE6bfI695$h#h>@ylXc}Q$nzkh- z_9bYkS*X#tkcz}=mkM$hUC9CoA)y4lM%jYX z<&wjB&DPcy(@Rg#F6O-c&K`IF;ph0&N1o;Q_=j+xdYR|1U*^)ppiO}`O7aV%CMu5v zvC9AHCj19GGal9+_M50y2lp5>t_yiv$5altAO0QYUtVlKDQq)kvUiEoQLW^FcKaNP zjK-W-)C0eqt42J#K!GeOX8=>jJ_I&5H*wB&A)~{75<=)gO7q{bvgnX;%^3^%;z<7YNJ4{^f4@$oVL<^T9U@K=B4XZd%3{3p^JlbCERWkLjK zA|ZrYC$<2r0-PttmZB>0&Y`**W0LpL(opJ>7~3TB6R}tv4jUuE8e$3?_ugYmE8sK6 zr0gf2_Z+4tU|e>Nr2(REA&Sl7VuMmK)mW9>)Zk-Rf(IblfL8*nmi1i93QeZyx5>RmCs@!kmd@cu<|y@ml&Q zbIXI~w~NdX-LcO5?jh&!e$IW|@;w^@!}0kywMbp(l&f)hh@mP!JRBrG2oR3jIu+Uc zOv6Ji_rnSeec1DT|2XRdE=+%32kE_skG7ybDobdLAu1)zfETbaolaRUmmD7-W2Y61 z#R9E0%eJAOF8~?XRaKp}1V*g`f@?m9)$$TU&<9EJ&GffB7m`;>b>c7zS-i8LOg`Q) zOf-wgbj5>B&J~oJOG7c4oI_X?1x3~84gTs^Ug76I`+3^dVX7(RWJ)!iK!`LxpphDJ zbzKuB5w)iUn$RrqO#>-}sYoIgx-%7g zQVYuk&(pq@A^0J~XE1tIfMOUTIqVzbzLLRheqJs>G16VlY%z3eC?aB zv48g-2m5>c_#gW;FFkvmt%;=wkuv8*1KOUtaB(zZ48`MfXAn}JGL6&uNbb=`Gz z`Idw2&!}UDfbZC=#Qf;tF#!}&iP10OASBSXoD7w@4lhy0X%3v7)j_-F4 z9n06)G|fsP{SX|=*tF?9;z*!imC5Q~XPLvMY0|!B3^?a#ng*AIE}Ew46m!L)l_DXu zI&*I0bIf%~^Kt&x-~HRX_U_yKwZHh6C?^#(4(}X>41`?A9JvOHN=sNcV&J-5t8j2X zQ3*_jfJFoYd=$|qVG9E~2BI~q^S_l5pV`8oAUd}il0}lbS5Q=zkd%eT*LyZ0jmL$CMSa3-(^7|;dKuWdw8hoSJJ@o<>!FEB83(u*RS=WN#I&>KDExF3rnz~3_h7ol3<0x zd&SYo3Clb0;r!ct{aasST1~OWvbC|v&ek?3$8#2^r!1BYA$rNJOMI*M(AF(QVWk#p zWl>sy(_}WKp(O^GZA{UnC=xrTAR4^$I2V{rE!rqh5v>K_E3F7#=2UGA7^!2atrD>u z6;X{i`mD7yu9fvUf;EQLG#nirQJIok2e)uqVNJpPqkYQKP!&_^x~ANysHPj#N1_^A z6(za8;G(HHZB7#VDA5a1r7|e!juOlv{{je2VwyccD@+i3Bj9k+p?rgOk)~<+$R}Rp zcVGDimo~17jpRMSTZ&SiuTArL@S12vSydeIBA8;0Spf>edaD;{4`SH_kX>v)=MfQ) z+s>P7&b8y$Z1cFSZKaIEd5mHAyAg8;XX^)!+ZZs8n|D3?2#lg`&K~z+?GGwPFt-l^ zFn%Zu;p2J^9t8X@(sC|Pkvx5cHq2%-4)5RZz?BbyvMf10JwZ334+|8#rZE7ZEfi595HS=Z5 zvTd-c&ks#U%?DpOKCDqxOxKWeD)albV`GK=Sp9woj?|jpWkt*t#_pVZHQv74&*(D{ zZ(iPCUMxFyaBxf&&H|)y%XuF8+k8DaUoH|K*aybo>&$|t`gv-2zs5{qcWnc9d3Dh| zU+il5|KVj0?}zM10AZ(qI$~!Zw~ZYRpa1n=9748gm^7D}jSHn56P zL~v+Z0flLpYNb{S+K-;m!x+SiHWddYa4yht1<3~;?@`ybM?L@STpE^|Fv(e%Vw}5m zVjVlEQyG=a4t7x#!SNG6@#8eU7Z8)kk&a^~^`I;zBu2aq3^w^?I zA+?(6q@XR@t^`O~6*%A0Gy>4ds$yB!fTAo*sS{}|ZPUt9r@`Y>m(UcYrLLRAB&Hl= zCAtQZn-@?))?gn!(Sx;GekV_xVpFqqWs_<$Wip*&j|%E$P7@lMwr06pFe|n=JlW^q z+aCEdsEELC!`@|TTPN&!qST=J4QR@9^DM^#dl}UZ+Y%mnDAeTD`WkDNc{CFQ$SV9{u!OHw?Y!3>JF)8&ZIbmD5 z*WNpdvgjBtAOZMQ@c1}$Lf&rt+2hW4k27a}P+%}O9R*C~{XPmf9JaAzYz!D5bf?>< zy)YnO*=|rv@clD%f6y(A%T7prG@dn@7=n?@uFqXI%XSNv_6W$qB595@=a7qbl05_PRMvRAFu-w!}DF&)_Lzb z@G=q{8IQ?zDy1vGkL$tH_;+ImPd4h5ycu4Y95-_aQ}Q!WjG=tWm?Yhw+L@50{2xDIHL){9Cte`exv)08pts0t#$tI|f$*1ay~w zp2w3?iZVM6i@yHeP&lTjN{p6urmRY;vcwdYt=&!j#Gm{V)UJ^dLuu~Ksi=9L&A>?~ zCF)K>o`_eX*XGmwE=-lf1(#~$Ih=2K^Uk+;Y}c<}7pA;jGMP@8Os70~ z<4Fzyl0x9`2j_RbD*Zn<^qT})!F ztEx)QSWp_Amw6(Gx|d~1j0r?1M@5YCc^(`}_oX(L%ViQD3Aol{i@q#W>TEdgh=eqk zNF-2*0q4CiC0;;?wgz2@qN%cCBh>STX6{6NHT01Sjcc)Gk)jGbWm$Hm6|z%NDNS9s z6s6b)F$w;(O%~fyIG4h`gY>VWEE3>H%F9G4EfLxvbyl@PA@r=``GUe4u3o-D-Oj1onysxJj*j=Sw&LXEgyZ8wOv=NYmD@ab<0Xs{ZG_Cq zO73~@j59iyBg*5wpWnpH%xrZZ!do{rFMs3!;y@k0Wxo09x7e6&$hwf~4F=~RIT)4d z>%xX0YX?abODVA*jneYGl#=-=M4Xp7-UqpJ-Y1tyayrX2tU4!jE)*D3KIFqvocr}= zy-kqIUYv()x_L3pc|InKIIXo^ipOBB&2!cmIF22~E61UqA6I_+ARsxISECQz%j$>R zlwnI{MRHk-;Y&(Pt@+INwItV_-S86gbnkQh>kv9yCzsmlE@x^Z+*yN|ViP^6M=GG46KY;JCHcyyG) ztk##6$WMLvK#QWlYP0rw$`n?UJ!!+iBl#N|Yh*FVz%UoI&gz~@DGBqm23y*s20APp zpV>W2Sykx5^dX=FrO>LXu!$Yah33n$=#EpC1w~o#i(mc%fA2HD1V%(`R9R3=X3RD= znQhD{jQF`j+u~YD=5Lys5L!ZT$?!_C{fLpDCz7t7U7kp^k;yoLw`|1ax>M0RDVeZR zNV>N|V_KMWDgzQDDKWi&R!Xe`LfLeUcnqr(SZBOwMXnta$s<;B3W%U%6i=VERFjGr z;plkIt^EUT-#g&@@4Ux!wnbCd*m6oanV?f4RUbr{L<%+!4F0Ud+5xfig-6yge&cId z=V2UQ>v>?Y8$Sb3xb7I^HoV7r@Y(Qh-Yyp!7o+&>LgwA5Mxc&&It^NCQ;hwX zf&@Z93^OFhM>@*T!iKYt$SLy$qc!SC{yreH=(Ist6r)-=779_=3qr3fu z^9+v8SR5G_qyDYY9UFOO7w4=;!}B?>o%j8PJ<8qGC=AAMq0}a`e|`BMVf<1UbXo^; zszG6kjz!ElseEaRM@z$-^sM|SOMYNW+?&$D7^Z5d!Eip(D`8#*+Fr7^?h2ib* zzl}ok#O^M8`}b(tQ?6Zpg3akw_73lG`RXQ@HlN`2Z@+=}PS^+{A-V*DCEQbM!{+9O zu!q`6SqkUHj*VjA&t@}WgjA$;PFT6JLPasC%c>Oi8woL8E|)3)-qN-$wlEM?rwj={?H$^-Mq9(q))iXUusPl0xf>s0VygtWdq608 zg}R%QR04@~H3@S$qJe`dDcec_geZw#zI>UtUVn>eH3M?pyFL;nzt5>1c?@^Xob-QT zC$$I?YE4YyWwQ44Ktpx=J-g1X%ma_1d9}KB8YAqKQp{#EPUrKa5T;kK$6#mObrnTHq0P#^hv!$6MaNza zl|#osFn=$hpQ}L77+L6wQj++MwP+nI5Wv9?J09DV3#Q5NW=5^78j8jGsL4gg_M z=A1!U*gx~7FYtGN@t257qpVFigENY9!sg}{)9FM)e7xiowe14eE^%#5=)fC^84-U- z5Nklx0<)o|1RN@4LG;dvx*R~7AVcu-nYh{@it?aJ+xL@vKLM+lLmUy$EQUxt!w`=9 z$%DLDqy-a|M8#u}7ha%j^aSV7Mp2d()ntaY6;2sWmo58;Cmi0t&vIEaooz^QUDvW) zE-*SWolHRGIX>qzB>*D`p}WS1O}1mBE5Cx&_#k#YRNkxZnaF2x@Hf9y%#i);eluvu zZJmN^jB$lwT=_1aHv{9kUrT#n=10ZgN2Ns~s|&(eP^eb6AA&)x^(e1zl}QfCGd^}= z4S`dPab#%sKyYQ71PDV+3ZWSgCcx{v;|{Jp#D2S!Pn7}Tm?3NuAapMFfRN+~Ujz8Z z4v{e!6edtu@qhL^U*nCvyZpe5FR?kBB|})OzFyTW9V>~^2tXVf5K6`qs(+3ui3;gn z`80qq4QWn{>HnzY@X<=xSglvy#}HFkU3#XYXC~pNt3jSC{W8x%<1uz-JxPw1!DkO@ z-S-dq-3JK>rM_GLl{UFF0F*_6H8zzfN~Md^GcU69(e&bD)`-KE8s(fJrY_}F>&phpcFm{eMBE|zNHP0)_Z)r#5Hi*9`gOY zZ*y{bge?@CTbsBxvU}|+`}=!LstsaPoSZCq=9%X?KE01E4A-t*qpp|CkB_@Z)P@Z2*W#YDsL=>gk2TWoJ{akRJK&b#-d)}4wdO)5Jhj>*=wT_|Y=uT5R25JBC| z84xH+OAL}%8-rY{^DUD}CF{Mllto2dOCI!OQX=In3Lthhlk*&v$7N9zRArUcS#er6 zb%QbrEcn{tPFgATuu*`AX4#;PI7m&}FG^Bb>e?lH!vLb-8C{ej^VSgB05(umnUPZ> zD&_p@8sI@|E38`d63!n2)!8uTd5yN2iBu?ac5V7Rx19 zFI{E1Y$>M|jjw6E!!?=^S~jK=p4xqhoyiWFY1Z9*lf&9=8b68N?SP;LC8<9O)e!&@ zVRN-H_z=0WdxiP(l-MLi<^%?FG>JHv`gJd>;f5e{*&U`j#<6`vL zF>v9QZOSvBKk)4%?Eb8?|3S|CN8bPA0>bX(&iVYJzwbKp1^4qXK&X|L5(Y{{LOs$1#_j5C*X9{&uWjRi?u85+Yg@^4Vuz`6566xzCGnWu(w>HJMONr`V!m zI-4>nD}rxm+lJs8T)U*Mm-x0N2A>L`BcU!z!pcGt4$wx45t-=$g!l6y;$3E9BKX7( zMu$-%BktOIaHq3)NMBf7Ja9l3DCvM-D#RZ1R%iRm5Y((?fCkTAp0ThrI(jr>Fy!0- z?*eU%L}iGk#9?V%z-zH-;K{AyL`84xqK)ce{ z2IqP&M7>jL`~kjw!TnG=Z(VSLf<& z%n-KT)3kxcdAyg;u2l@UFpULn(WhX(1@YXx;@cA!&fy-B}@bb;4(aF&@ z>KR=)cvMPQ^ifDJ45Yzh59r8XG8uO<8Bj_O!rC-R%~8|^l}Ze=>Omo-Ji~BS$RVpR zuXA1uE`H@cjDcTXQ66LhjMt#F;RD-;1qgFqd$;ZkofZj{zc+nu065KvR=~o zhU?d!L;7+oHj-$hd`}=zsYjLgXR632(I2TemkC50gh+gI;5pWYQ7(#$3 z;H{g>NI9Fv;)AED9nPhkGUur#6=f=fo&mJAwiE6u%QB@IXbG`T_fjiOo65gfV+jS6 zQR7Y;Vppp;W*oHQ43p!CO7FCIgX$+=+L?jF~U8l!Oh$I4n zR0TUvZ*ld>OEj&B^gMavCbeHOZ%(kbN-E9`K6s|n4Lp%c+n1%BfYMaOjKy-v*2WG+ zp|M7D^NAPOnOy~hl}4oi(1Am4=$OlbeBBy=N*V{l^*|-iBkbKX&pyp>zw*!7-q;~O z?5u0hJLyI&VO}4gbME;RHYyQlBAhj535Ry-crES5j8Z9-_x!dFY`iZZ5LfMt;d=5x z9P7gXgb!+x54s*K`ULdPel`%rd!N^EJ{TP_!;f@T!*hAe4KKR?_X`M92=o~Mb>_Em zwD0^n2UMQBpN9ZKV#@1?sc>qDT)uo6tu@ET$H{}qnI}?~WoO8YkD37)^m&2#H(B67 zynd@dFf)ddbJPRDVz2y-%4%=A=fLCa3ti`%4BRb zO53z3Dk7Q?z^SH3>lOzGd(_KQ zeB0vPlBQl@wI<}+MP0|si%aN2A;;%Ee1D$zCxgp;O}PzOtQAGlHGq(GUSo!J*oOO9 zxzG8y$veKXP1;`HDIZqr^j$B5o|(Q32wet*8Ia~@Fkl2@M5OC;h^T9E zzU^`dop;oYuqbT;gqb0XgTAz`kDU9=2j9u~&FnJNO~Y?}^(%biowxYp^DnWzu_5CS zM8(jWmFJY%!rpryJBARgi21zo_c72#639dE08WnF$T_1S#IF2K_QGe76LZbdl?A*H zpEgFHUod(!j&j~#4mDN%WHQ*~{B^Jg*Q@WxuUva`Ji;Co5O#uP`F&cK@_J)aUDUju zWMetAgISQQD9bKfv=^3j$y(N;6 zm_QXVF@&DbCMDer2-}9Ga~v$++hGEIOxFU1tSD8Gptq+P3Z1 z>ZWPBzN(aBGMRK>(RpDV^Y62hv?vOUj!dRAmUBmaypY^m6)=UND9bLCvS~!2R6<=t zcOHc)C`>`qHsSrwY1rP{;>BlP zCi=kq^n@F`Pvct0y}i3^ZEvBCn(q3#kkK?Bi>)yPi3tQMndd-kRf#?bOs5mJHa9rfzmL^Lmqrl6`7B`wecn3^ zSVAv`ikLaQ12waR(f1(GJiux7FhIC6C7fdyT&P9efx(rzYGf{*7kTw4=lCzOT?Dgy z(EA*=b*TnIl&tRSyglkTz(#9cIg;+Y*CTM5Yuozcf;_|ViX>l6ZmaXck6(o>bAlL)GV(`5c zPh?q2NT?O&uq+F75|uG&n{rZiz^_Q6GWj!W4R74O#sB`xzr?S-@(QM`k^zv;DTRG% zZLp@Ksw%XGre4t0OMo%adVo1PI=QB+EcLUR3-mJmi{(F`GCO$y(L zNmwK)ODZk*u30WSmMhG82Ftj0lU$5R zWp7aKI%RjOB-r8FfKo<6Wt74rVVX)=lnR(+sCqPa_U`fOcfQMOZ@k5#^;FXt(~V7G z7K0`t49N;p6&<9|C8gxlwaSUzc>;*t1;_kDH4OHYyvLXXIfgF@_07OfUMjy=y}--x z-kiN(BBsz=dh&`Y5`ydgp993ido0g6-~S;qn8TzxFKWhtgF2H#ulo=XuD;|Rg!H>~ zR+68TK$X&3Kw9wW6}tBV274ixuJlEoTa-G(3=V4$0^k#?9fdIuK7lqTK+~mMB|-+t z{e2E0(mLPW5AU6@Cr@e_o!G(iFx>ZPCGbpK<2I?4XO{ z6eJRq6cX|=M~rxJdZdE$t*dFkliF!nur<5H zjjJzWlum1-*c`$ZrbsX?pY_fNJ<^Cs$xAVr$||#jQtrvMj_00#p09rOt8C4-Ws}4b z=6#G=LRpjK+n#}qT`qhGbmt>;Zvuv+ytDK2&@RFd4#(Z_^YLd7Zmav~!oCM3qK1DT zZQp~V{Qn#fcK7dsfbd~Qdf2Ia;DAt!{`|_u==ztOTyGpkwMx- z=gXimGY-Sw7Ae6$PpBd+Q}*IADfH85mG+ld!L%3^MM05R!`t`o^Y?$_*ZKSZ=vUZ3 zJ!Q7JiPBQ|*~dWLG}LX2v6ks<#+BWxcwbX57ew#Cw=5TPn&lFO!naKi=2fa^m!6P-) z3g!;>=Ph>*Pk8;E+r)B4&?U3&%M|4l?~~!FM6I=T3s6o#tqQ2bD6GOeNAMEf z6VRY7XiLQ6V?;*>QN#p>8GS9!UeRW(b1xkyequ6|+gz3E# zw%2MrL2BkjFLQtqWUI8MX&caVf=c2j2q>Yak`%q%S)bShA7Ww^dL~RO(}@Mdl*b{p z%R)CJb)Yk`zZop80L&P>9KE(}S6F9_ghN|xD2#-17sg_>Njb^MagdZ!qYr62BS0b` z`BAOp9ks2KoRSFM#iTr^JL6G|=m3GlB*xSqC5+Prg%99^qHR5`6Q(eR)K7?5TcWfj z3oYdPl?{=8q4ynFmuCtlId@?6yb*T)x4-_oeC_q`^76CKadqc%?`Y5lvByS$fE1F| zCj<|^%c3s~j@K`sQA@w**+SWeGUC7+hQ4N_yk~NCFW!&=B%EOi<*2IL&&qnzF(Ex5 zJP-U0KkMd^(Rb&yJckS!#S1k>3T5mKj2teSL1G4k<8aZOmzHzbSJkYoFiY84nR3oQ z@<%_$CqD6U+9Y_QQ8Mr8J|A?29Zct>GIOnD&KE$aI@ZNIi8yI}OVc(quBB}qr^`Lw z-uoVV_wTY;&WTBoWn*JTQCN;oM1}J9?YlhrBfP(cPLQsO>06~WRXz1OKh9CVR81Rb(7zS($h6IohElQ?EksvuF zN1Q-T;^b*|PxtM<@!XSksHzqG@U2xr z_lU!TQ(3D@p&}Pn%<6*=6oq9n8+XhBV=PV63N19XGmJ)+6fcZM#X!9hkrWvzi6dgP z6pNcid;(FTa4Me?c0<^)uDvKW;q8X?0Vh< znJ$`-EiuOvSv;?&jcz7{?-e1uh)vW@6PIQTSy$lf=Vb0Y-v;Zkw#_*S$;M|cPgr{0 zgZJ{dY!^T5gs_|6)kZSi@8P*gUq%KmAD3JokGrE642Ak|dOipXNR=`)o;C2V=VxqS9Uu~sM(`L*1O0e!zw{;Wt#uP1`}_p&Pc z=ZzNBQ77cCuxCu>yPgl*E5sG)=h0%$zx~Qr_>C`oQL36%DavEXW5=fe(G&%R7VpLJ zc#QY0^ey>@=o(zx;#*lzaJ~zc^U%buULfbo06P5~OjLt_p`#0CiDe~}QjMb;jZwkU z>J*$uj|yT???a15RKkE%{YzCj+77kQF|kbPMJ-~~D3w;-3$BmzpOfS-f0ur;Pr;{B zD4o!+Xs~68_m&uas>)hU+7*BL?h$tmPI%|uLq7GfSNOTle40*KC@5)6uc?TNny3OQiiE#RtXYwgPUTWX59JVc1)zUURqLKG=* z?<7HvK@+1-2RNf`iF3s|UH||f07*naRG6K7GA~^PFB(d`|Df*~Qc3YMB!Pi%eCu2M zqwoF?{DZ&!clo=2`4_QeiP9dGgeS7aP$VMmYz}fhr!}r^`~9;96Ptt*YTDR}nqiD+ zq8Qf$v<`|)K}QUto$uybr4+4m-8?JGjRkGfY<|Nv&%(UDM;;P&fhfQ^@B8yGj2(Cn z8bOFe(4`zli5oeS0t1`Sg2p;3wPr2uVT(gPg zz)-9s6>Ek8vkx8@YHGJcTcKnMLnP8PE5_sN(tqY0qtS?>&={*xVT5y0)}0toXt7&} zElN4ca>Bj)w|V&RKH6C7`h=!EMw>au$9FlNAMwnK*BMp2{Q9r_2Fuf0ECPH>n<(&7 z+>8*Ru%#rhwWD6Olw|}Zii6pVx-1Iu)wCvQ5lBHVBS~6|ub^{|va}SX?UEv$dhpA# zWVu}7lNDBv9L6rOv!!LRT0*R`GflIIggWBqfzeI@CU*N2W9)h)ZDH3al|@ z(t)ejt}|bqG9HQgsIiXI`6*4)q(@8Jw49tA(zJ6XjgCGLHp43#a|+1jRF z)wE4RmCRa&*WU{uD5bDvLiYxuF+kVrm!Go(RM2*b+<=yokiU!;irlxwSluOf9ZHy} zPc~6MZDA=3v6?8$GHt6!=%MYlU6ciN>-fLF{3ZU$uly=MeCt+6MKy^QmS(t_JMpO8xtGFsIu=BFndA0Kl6_Fdk-^%nQ<-y?WW zSye($GKRX9vV=AT#+DQb@d;7-;EXA{#ZMN#R5(dVn#yI3sMB{(f*twy9L%Mk0qO1P zP&p?(gt_7`3EvR;=qV&;?%|vr#y-heyJw@EkYNBRr(O`esKBLOlsNb=BYYt(_N=|m z;9r2!Ttx57`!L+M&19@F_CiW%e@uF1&dvEMrUbCfzG_Y+^}X}B7&_``2(1xz z=(F!&rj2G#GLhu>UMR46yDnF#Git4hF4!N=pS>Sd`pz3E_hwan_*_1&(4($j`}Vi^ z()Yf_i_bpKjr}VrcmxK=N3MtT^8z~zV`M(;P{e$_<#|Ou)On$aJbt>)Lf?}ro>{#* zV+gTR@Y_W0`u9lUpipFclQZ8vQ{Km~0VR`oD=XmiWFZT+iuoiG{s)`PaJ6Uk1 zL+n*T{)10~GLEKgXH0`n>)KYjdrN)#} z1j%eBIZsB|CQ%B+5kV%cwJ21YyBvz-t*5o1lG!dMKxhJ^>4@nw6|oFV$78%}sOuV# zf_4aw>10gX)|@U5lXo91+XafqbiB*y@|fvtiZ&V-YIb+7uw2dA-`__m&2&0pHre9( z*3-PUjl7;I#dti%7KVrS4n?%5LkWZQou^iZ zj+)*jl+ps@Q@^JaA^W~UR4*<==;^=t5za}zdRyJI07+hhAC=HuHu|`z-~Mo269&oU z^U-@9kBsqS&(L`9@`Urz`|>yi&qqD9x+Edo zOyD-3Kl6UhPYBPx@6p@2Xk3;McJ!hcJ0wp7qF&X)JvT;#4}jLRn>{Ybe@7mPZjO@1g*${=RU(SCyJ#| zNnH$l{+nOpAOD~KoIm-&>*z!c$w_MtgtCgI(o#X4P9}^eldgf@J4ahLv~?}sgLOk& zuLw@4mYFuvSB6vXPYT3sQKFUY#2|98r;-$UXG;*f(<9qLC7&rRm{LfJjEQ$2GSZ_Y z<;fRocY_HWMUF+f362cc_t%*OQ++R!?8Bocy3GmsqRCM!5de@yp;vLcbMcNa#D(7F|-DE2E0s3z*e9^FpUm zAeNG*NK$`=Na`Iyi?Mk^oTB%g*>6q=VX)vm0=vtJ>M-HT$0+w)WHr@%ymCUAgXq@z zHPoy_62d@6dT?&m-bd^btc@X zcNFQ?c|pj7C@pqqN&5T2d)k!nwce#3tJFK_B5g?wxlA+&@0 zV)NS03(VlQIC%JwfBWyhz%qJ1`Ql5Rd_GEbUU;&dl!_$;f+pI;ivy7G2TPrs89!jh54jmtJ{^QB?^WB=wKUrE<2oi%QIl zgv7`f%l*BoqnHa5LLRMe6J4}n)vlO_V-8R6^6>BhF$M}dVzD@3dwYwAhxcfj26W)T z!2w%aJJj`pqoX6rX~Dt40r&6TV|QOe)UF9PX3BeD)43%YwFTsq4C?0|7zCK<<^8=FsQ@zLk9;o%3Q`qOHNV4&`CIUGc)FpJnUH6r$pz zFTKi*{p%c^o^t)hRd#l^na}53zjlMNDtK^spPlI*v+*_$jt>MGHDgW|52@Qz7AsMj zEltJo=^@65u$5K?g*EKXuCu#+Jr$x;z-oGJ28Hf?F|)NwPhaktN>O$E2UN_2QIZ0( zp>>|;UU;7Geg8X*>=+P#Trd3{9SbDK87?P@+0Z<%nLglyMEFA#Twd%gDDpU$HoB1y zJ!yP=>DZXqHshK{t@j_qxa|9Um%xtfPf#(N?Mxl*yG^Yb_Yf7r*~4{^f7} z7WWU2vE_)-c-$p;LCG=bCY}@=h_}>;(P-2qzOHH35fh)d?jb-@B_sG0&ZWwHI&LvW zRM%+jMGGcLI_qdsVL%ae$0kguf(Wxn)}wKu#rYupQpyl?Ar!>e67ijHS*AOx;QOQ{ zCp{_$aSEbF1prS_kg2SMDBC6Pj89MN3$J5AG|Pc6YYe*|r!3I*701s3<6HiI2T! zVsev)a?%!~F#*9BZ`u@nSjQsE#Fl@eA5CjI@C#JL_3ak%uHRN%A1 zq<8YXu@Z0;27~qSG0)FtN6(XlW4TC~hpa)uK#59{ z#;5?(7wNPW;TUC75i|YNR->&5cB~dlbm|e!#j{LDC(RXE0a%goyePr8PU`}s{@`4k z8raRy2g`EJw}c?J1a0du25vrclXq`7+`V&`!{diM`|Jw|9UM`XC5MYsM&l7XTYKC- zc~@wpMiadh3?|bl&U=oIPAH6J-W+o>KVq?1vb(jQbt?{!?_jm!-qC%YzFF{B{>CR^ z=aeu1&evHS*Ob)=tt`&BESIabVo*kbakA+(NtIVpo}!JVKf^7k-Dy_o0`dZj5VUxI-XV{ zTBj7#*%sHYUFYQVA(KgkX2M%IeRV9;h zmDNTQwW>)$lXEqp5%H4XTYTFRd?Az_Ef`J%gL0HZbn(y(siuCuD)V1d{?2Ac`X z`s->VsiE7xivg1mjN#)^6pOXL8zb4_=^`ZeQHdnbHTw_0^YHzdb~W^O%kLM|S}Ofb zE0imbAiKSFL{b}#u`6Ks!SM-6)vif>K5d5>%JVJ+5tfOOHv1?gbUdn5&wCt%FyAj5 z$5boB=1{7yq7NyhvK9IF>FJ!`{KMbpu%7eDmp?*PmU5pZ^}mc%b*iJ?{`Kc6#)J;~ z*eT3rir$%Xr9@dUCPXq*vGQD(dtbECJ&Kso!$Huabuxzj01?9B_PdWg;pg)>Z+W+c z?SV}ts+G_eD6|>eKc+_mrO3G9GdQ#zN+M=MYH3jx)T^4&)|i`5-6RB`0&YYoN}avm z@}8&kJ1Gu>S5kJ1VO>erc}JVj!M1g*+%dXpSoxZ!T`?Y4Y;Et-xFtlzao8z2#ni@1(cVSj%Fu=#s^ zF|xF)2JZq-KXrprTkb!&&v-1w=H+t9&8yF#Rmt)EkiwP(4|ng~W;&ZPDW)8rKBTA& z#*8?bAG5o=McdTOwstW}Go4OR7G~pJZtOnW%_Umtt_N~$t>7#zZ}Z=BiAsbb_iMjC z8KY>MmRDbSg+Kb^udp@Rrni_Fc*&;ZKDPkG7(0P8l%R^}b)))R_%K>0yQNFSWiCJn z*AwB39~Y+w8*%f-@w%uuy15^hkN205UH1C>O@Myf3E>Bg5T5se%hr!49Zw`GvxyWw z^1XxV!Wo2drezhj0Ig}77Nx}N=XgFBDyUWx5kqHatd!~|n>K?;kF9>OdZqjg$Ll1zB^jQak&Z}YEz|M&RrpZ=-5 zryNnG{z7ewWK`W#8I)4uH<)OoVnt!Q<3ChX%&1_DVl>`0?}bPVf=-DopwO+vr!UD9 z$4GRZV1_|KLNT<)c$I?IJ`u~lm4Xr_bjwJftd&AV3(@0SLvWhld`j|spX7HU36ZFi zP<+gSCqep`V!p;aDkMZDQE3&5+;f-3U>Kli!^CyS`-gn<#gyY}p$e&NmYuxPQa?`& zn#pv+@!|HRbLM;yrs+HQJ?l570pd2sIm?$oihvrRFp@X-si zf>P}7@6x&@N_%#;cPQ>ph-mh9cG;e7qmcN>l$QBo2?!k)A911O_~aov8g%3Ep-L$J{sZ5;xgUuh0uRD$9YVX_cqou%=41L z$3dGuxc&Ky@u(5r%OQS(bMrU|>JuS^-SZc{C$9g#`R~oGbrEYy(CMdve? zldjm&KI5Q4I|rN*nb<`J+9Y&Qu8JPukOVb9VL&Ek3|U#UyDrELz3IA8X}{C+5mIK+ zUwE6>`7r3;qyl!6sfMZ=VXRF;AT2Q}bdoJ^y{D;Le2i4(7+X}d0qWMH%Mr8fT~M0k zvgOUU-{l8?`UVFNk5I-?ji#8wP?e*EyyQt+1ObfdE6t)fnUXgbh|x)s9~!ZmK-45f zJ2E|@{3L9mo_#`?CA0I`Oa_PNH5(NVgXD~W4L_rl(3(4ML8aEVH>8$z_witCqLWSQ z&g|Fl=SAl=edIibz5W=nkeL)3Jt943rcWtYTK5bB@ z2R$AN4L-11E&1Iq{UPrh9q@^lKO&3^27QHEbyOv(yX5@LsfzJ;uWJs0wdZNzL0S%Mvv>wp~J( zdfRicOvKFkginw|+g;B#F;$H2eF%+_;MZEqVsXq*eC{e%Uy)*u5mn`w*asP1Q7H+O zbwU!xfWoJQJ|?>f=RH289zy46ebb?Y-Yl563mzQYVZJzGJem>%EEmTt7js}*}-;o&`YcdjrlC!Eet+1=U2SdGyoJF^=+IJrZkPWh{U=@;3*x`QqaV>97+ zaYPeZTx%BmoO^w||9+N7du z8lo~>{xoV!!yuD9nTy0yl5m)(0n>U;kiYg>Bs-dvKneAr3n`$Zt1bpM_d zA$(6~_yay>?>iwJzON(mDd{EAo9|4){$?U~(RMe-WeK4|lB1$1AVx-ICBd_g>}+py z^TrMC+`9{=4@`|Q5F*t`RK2pOOcsbyX@T8L1_5j`g13p9XHi^(;1^uOerWt=NFe~AsNLBF(+~)m%bJzbP8W$ym zT{1ZMeAm-#GP|S~lhInC3h@;*MS(74U9zQ6MU_p;qh%oslEg+ah3VF$ylzeR8b0}H zk8>v|a}_92Ds=R`{Kax&-xaJ9H6z5-OBw^g2^!cXgl(dX`j)z#)0jEBg4Jq)cMVk~ zMX>q&PBUosibn3h|VMall|4XV);jpCK(KFXw=0*dK)4`l+bc06a!g_P5yE-KJ?*Y;A2*6eaf_JY+VVVr=B__=qd} zS6M6<)Bpe=07*naRGCg@oSZJWwttiHsASokVytFVjJbXP4$FGZsG4wa^gvL_vSL0z zVN_Hc%@0K@uXcZ~72!eviw8|4kpi z&98p`I+pbxhD@OMHvViA!k~H<(Rq)Ymt6Sz2b>V*v#`0IT;x0Wq(}Y3NT8pLGI{|# z*4nP6lCs z7Fsc8EypFqJ{gn=N&>54qL<38U$!fvxedTNX`tN>T`VA6A zp{Pn`RYfrx_x*oP%*uWt7UR% zgBO}F$K5*Y=Mq~fJhD{KUGW#s$^V( zf+WG2G%<=y)yeEy4n#5cbE9iG0r%cnm6Dxdw-Ydm#*mqJCf@>E5^ zxYXFF*{VhqMZt14=kVkhr4-ZAnEm~In!3j17~aUNr&W|*Q5P|$>gapJq%VKZjbdi^ zT8y!u)Y3WdgJYEuYtHFW>(X;Y7qkzL_3-!eDwk^sS)v+lE}R{0aDa>tk;IIqcQyv9 z7n>R0FL_*q5JKuNAqfL=z{P1Dt!RgeMi%yeG!7v zFhp(D`3uVjHHP=ZFem|K*?Z`Okiq|K@N0J+5ue{xmQ*Z;H!lB4arjuq7jp5OjHFV!t0!rx#jYRa|9t~^%CeR@&F+{u$IMvX!E3}GCCNn9* zXv6mQF0;uFN5>D@-@n4a;XU!f3x=vHF=oVcGU4ILn4Q@brgn-B78=cXXUg&X1O+th z3Kti&P0LEHup?3ZR78B!GMP?kLd(O01Dd#G>gSA$U9Rmn1ivIU0b>=joq|t)_T#+t z+6y#w&DX#B4eq^tz-sO}e0YqXyVS1-Dyp>hk2@7oZ8VE{jZHn^{hSqXu1(@`Mg(lE z>RU*RB?i~6{oYBNfJR}pC_|5`5i3;#k|Y&HiHfbPKT5vmVj;&k+3}$?+C@zFyL4_ca9dgYy4VXSAi zr8xlRKpDSX9I#l;+1J$IM5}0l#uH`ZWdplu}4$GMJXKNObwv4vxQYb8+owS3%6C%A42RMxb%oC7CZ;lVJat|3(TdRn%BpvTACPZ3Y~X zqAht{4U;70<_S#4I?i)YkfBhH#obByxbUC7~otWbqP^nT?6un>!KrxbS z7D)((MAtEe?IgZ)GMM`Zvr1^!FPKom+{oW}$M1jRkNMZX^E)h;4N-w9N|Z5_<%scg z!e}}{X_L%bYYAwTREo_IA&5QdskKgvhUt10LhA^vLxo784a!(*m4rW>gH{6hTzL!5 zA$8v@*)EdzDj|dfpVT|0Ixch!QBD*(g-^&{zHSmyr{rN$#o6ZxNl8zjDl`~F#1MRo zQnD!O;DpW^JuxY83XL-L2dY3c8lC;2lBZ#hg!rynlmA|V$kKP%xB}OHmwHc3RKA!4 zt|%tqE^Q-UPmlwe6b=^|w{!nKW5g@d3VD;GF@aLnC7vGJlIp5>KpLe`iLThT z0TqpqNITl*#VU-$WH~3ad1OjWUZ8u5=z3B;r26H?{_e_JLvng_XEV{u3wazQDrX7} zIiVd|5DfM=zitKz)8S)(5X^)AL494w|3433FAdYvKV7`P20kr8=!^E!HKE(DKRlhNxOtG z5LJ+Mtk6k4R9G2Wr@lh1u%$t%w7%(_I6@m7+gBr3u0mM0s5YS7S8>gK^z7%+W*;3} zk@61)r2;`CMYdeP%f+!Ms<|N*1Onhm)(6THFhnDttCtPSdQR=;U>#s+>J=!@Dl9o& zEE5B#B5KEUXN%gmxaBFXcFZPIf`U;slRmmOQm-0HTQHkWIa$n6-g15KDaO+gN2hlw zl%>`U%f*W6cptYDIXtQ{%Cc+)J!@OXs#!8JQx=O8TTPW z`XS53iXVRaZI17susjyO!ra$tZGm$k6)Y9iWJ;5jpdEE-{#8B zKBLOAY)_ev_SmX4jdxV0!Wc_cjTl!II+mT1>U_Rn*(_<1`EtBHp_zM79%aGDhU4WC zHyl_T-iRoXuu{yK#76iRXZyg<8(s-hMgR8A*I`H{x6d1 zsCRy?_--sX7chnNOlvD*GeLPg9;^}z7ByIB6+-bPp@nPnE#3FnELNX49yh5Q&Y8n? zKQsFBym!%DmAA3^?|4oD`0VG;KPO5-P>=4xe80=xWyj~T6zkICzu9wt!8Xo|vgEow z{~T{3j9shF@VUoG5HEj^dNPFYKa^q0LKf&qCqfbM{NC?>o|m4z$)`X0D*HP#tcqwA zXc{r8Z=)w)7CE6a31TVB5+B9;$0TI1Oo*Qt0;?_=w8?a~*gye?YHvOUzV`Ze`B%U7 z+Z>;qNEKb{&ZJ&j!}jhDy09oMA_{HW;)3r~Nr%WqjIon{hh7w)Eg#Q%Z_k!&0?MJsvzB+oD%b04Q(3+RR7MgMQ5P%5k;9vu}kQRci) zrtwOnqCp2k&|18a@Pz2lG2#Z|BAsxu8dMTv>})4;aHdqES`LzyA-cLbhDk>bddR** zG4=7Kz{jNCFZug1QLRK&Bn-|+Syj|A(ljef)EFy{HiydVhyybezsxjEaoM71N2BP7^eZYcLT>oI@aLg|T_DObJ;G z=YCJ16E4{N?%ltGh!U;!{Hb06(GSdb1F@s(_=FtzbYTszk@LoRi=o_K#f1~2QYx7y zuRk|b3pM8~e3C3nqLC5C{Fz}dNq#>6J0R59p>0Hm7N$Z$PEdUe1fP3|aYoqe#-9q-`X~ zq7YBC=)~(STS#QouT8;Kj8Tw6PYS>+;4taf8f!%DFO7^6Ztiy;LxCAd)ZhEik#3=X zRN%0AoYwa3g3lC1A$?#QVlpbBgZVm*ibP${MU6y{*1BV)Xr($Y!tA4$+Z!5J^SRG% z152U`fWv49%@1hq-=duT71Zn_Qb<#dh}a=Sr9g#*j*$|TRAlPrnfwrTN5s>F1wplp zM^i?l8QP0~-f9&Y*(sxM z4~%AGybsjPf>Ei7q2=)K6oq0kn$Sci)JHAHXm@*`-JL5m@eZq%6?N0NWK_+VPPTb? zctqVUxU%yU4<`4SPPZ^c#bj&BDt9I9I3jnxt4Nwjf$*f)Z75V{*^DPHhB=LR(ht3bhT_ZtOGNol^%uBzG{&lm>1c~ZJ!gAs3l&R7qdQ!^asz{6Ha}#4=V^2_94}AV+umnq zwokoWpsnWG&eO!UWi+0#Sgf!f_NQ0zE61p;I9}EmsS#0C6B=LR+7_=Z&UvhIJ-WB? z*z{D*?2jSSBadjUtX)bGocJt;DC*F)bIfL2_<4#25_6<13+fP4tAQYa+GtF&ps*p( zG>NJ3XfW_xahW#tE1owu{CPv~&W(>gK$P*lBs>3K7#AJCGsokc)b(*$JeQ3N6T%Pb z4?M}({A(9oUOrJSa-}wB(8C2?M+wAqj5q~lQPQ?GfAaeG`R(8R15WEXK12#rF>mM0 z#$%#uP$nsj4uS`5q&YiVMyS+Jn3F-RQcs7qLd8)UGcW=cp%+O8(eT~dKjPPZ_jh=3 za4d;K;=mhSU{YV9C|p(eD2ss$o)8tLsAQ7UvJl4&`E7a=;<11lUhZh_ozhQSv&h$ z`Z^;TbV|OWEQD4Y6po-BG!SqYmHNPf7N5P~#2O9`OXh-@#3>j@!Bgd@Z3|^dH%WQm`*3O!E?B1&_oKYF?s|#61{_16GJ2hBMG(^ zDw)nHbd1E6&A!7r1%%92k6B|8x9c4CuzC-$iN-AEV^r&E5FWSh1E-_sD zUdr@I^oJZLoH?GGl}aV`_4W4-Q8@VKx4+AO_r3p-|Ke}`ZGQ1HKb?}egoKsp-7e9w zk|2|79Ys~p)KYa1F+v+52V1`PSM$(`tmLFH#JENs^)3q9;?64iebD1cs`Tf*f30`$ zF-KmHlt~F-Qkm|O!(^FYlen2ubjctpQL7b{Q^)f!Y!Uojl!~J4=mSP+Y;!<+`fsS) zpJFur3~Ica3SnM?@tBfAbSD}XyB=lM1;qlySfiE4`G(dd!Ic)kvb{Z_QU%ab79&QZ zlA^RpOigp=;1*k>Eq14SEb0S%h>VLZ+NR;^&U3W&3T;RUltvpU>sGzV)l)_CcF}A{3u}Ik8+hVbrvOT`ZcHy`? zxl1*g5u;{09dmMe%4)TuD#tSKDiM^C^Cn8hb=~5F@2Ki76-IpYDf!TA1+KmT2R=9m zirwp1`0USomf7}*VhSJo$ZPCv?Q#3wTU@#JEc3-7^^Z;@c~cheYPP34yzumkymR+W z_OD!_)D=gE_fY|M#yeC+#mW4bHh4zWh~wh}T)o7FmcyeXd@I+^$>{<2@7$&?YN3wC zar#b?)1zbXo}w&>&S6c#cr>Ln716b9O|}yyRx_?3Mqz4|Wr0$j)~_i27^@?}Yu7IsJ5aC&;mn2D$wyPW))B$y|f5@G=&RMWly zW5{J8TUcntqi|T*GRETl#Tnyp{oR}^KIm~K@l+eHZT{IjXRST8UdVb+N|}$?r~KTH zBNutU`~E@i;YCSy$dvOBc>UM$k{-f8i=^;L$8aCzf)*9U9Po#P<~Sl(uU+T%-34#o zz5`lO6%(qmWHL!ULBQ2qbwf@D^+qz77Ts(%UzSC;7)$S<;mwD4_viUMlV?CK;ND)^xpWK=PR*nbj%^ZG;)84CAt*v=iKF&fVh$hu{1G z-~GXxeBn!f#49g6%f~`U#EV2!*%l9bq6Ok{*GdsXFadgMCx1iX_TpcqsC zprn?AYwp9%2shEc^Tv5e^5*Bf_xvBf^2>bTtAE5l{H4FebGz3uCdeFPGR;U3LLD?V z(Lr-1T`NVjhUjFw#u|tTNwM}^^XH*y{pS8&w4d*HTvp*#=TL$!N(}QTN>QLRsf{6{ zgV|Vq(`sT99hAhc_i&SSt>}f$k}`Jd8$S1wdyJ|;TL%asS=~}>nN&=tGm2Pna1@zLw%OaihJPr% zYqRN$)A|?uj=>(MD9ZO@X7sQ(WCJ-n~LoH(fzrDTlQd?>r8d4C>F$8@atG zG)b&xgS9Zcug_ReWILP-5W){K7JpRX>Pe8k;l5p#P+h*=^AXbX7()Ml7?+)+i&`2k z8jo}RTw0F&vrG!}U)`)dD^k$k1@8G1fyxU1TN>Ow9z#(Tv?v~&o?_I5y{k8vZB6;s zpT5Q2yARmgy~e7krCQoiMf*yt^b0D=Y%8HfO*AKix%!%u!Hkq-6X1LEBYx}4U*LOh zzR_7SC}pUdhNuiiTgpN#BFa&PPC__Ms%R^1LEC`=y+WBjh|DxLlLRr0HeIE0=#%K3 z!zB~!A+i!e9{>OtrIN)@4nKPYPbScS!gPsY$0<#Zn0|Jue_a(Xoh2ocv`JoqN<{*i zhyldFouJUBARu!5D*5YWkr<)`JPJif2%*>cyU0FEfj}j6u@40E0uhppLmqNN<@br& z;qbLCkxfaf)v4DfDhMfYMv}e&qU4#Vl0JqmSW(Ch6h%Q@*VJtbZHqEO54Kh;OjLx$ z{DhNv%d{$)Rx_$%M6;?nn6Ic^{$}rE2%#&u z2%}n(x)38i*;3@>U+%*`vF?*w z@5E|``&X1j7l?JwUvg-3;G-Yo6vP<2%KK%j=w|O=E?hlof;;2Tk%mKheK#0OO=gXJ#%;jeLg`UCX#=a|f%!x)QG5wBZ3 z(i2BeL=}k2%ls`+Au&YS&{BsvrWjF`W3(<%8VXYoT*G*>!^%vl+ZC(Y(fWXMEvLta z$xgv>`|cf<%bFXzhST|p_+2vRXmLdAYhvrELyh+}&Mi2a-zRF%bTS5{4WqInDl?@j zN79E~O&O2I#2Bb1W2$;YSxnj5+GBfroB48uF^b7}iq#{EvLXb>qB&*W9OHr{f}#)& zMhhC(_?0klyco+z3vFBDT2En%PMtCrw}$glSqf#i2tm;ELaeT=u{al~S1YU+#!sPk zIBjYc%VSnqmaaBz=$b&7Y9RyDGgYt7=Y=9&E+wx>t5uA%WQ3d7Fi zDp$9!Q?FJS4YRFX9xU!N8co^XxyFhWwO_HbyT|-+!KkVzZNX$R!5YhCGUMUNA=BwL zqtOAr;ZmT$HJ#`Q8kvmoP+4IVySc2XC@F-NqV&OGW=ix8gOdUFz+$5*sA3pdoEk zmMnjUsyajoKdkY%ar$M2tBan0)b=}+_Akbt+i`i!u+c+!QS$d;R4Crdc+~!NRW`Lw z1&d1ha3a!7Y;4J!Z{6a>mtN#kpZFASy!AFGC&z5>?aCx*^7e8co`}cTtll8BnwV5WMX{6MQ7Q^GM(JdPdv=IWSwMtcAO_XxvzQ#k z1nC8gs!tU2q^uG`g%-+Dj0&Nji4}rY;FZT{F{%$*&?X&|eo%scjkP4VcA>0#=}n2L z(yX;kh-QKrm0(z1P>Uo5U7{GIu{U2oD#T7rb$FevQ5fmvnk5s}gcMQ6BsvpROvt70 zXf6VX$~m?=plyk^1>T7#R9)9h#}ko@*P5s_^SU7qf9y2B#T$?^7HXrb~D0UN1o3$a!Y5X!uL!C58kcR{XCoi0y&I>fO@nX~vx z{ykHMa?f8Ln~9%Qx(~ckHJMzrNNA@u2GZ+3gf5`(B+f%JTTgytIU&r-qFGEvX)U4} zE+$XG{=MG!MVXvL`xx;db=pNm)LO2yBn>Vk>wG|de2Z|t(z{Sc4+=dQeUGu*rSs4) z=N!NMYrn=HeEEy~*MH~l^TPJEj*4YeN{C!fKQ>mX?Zy~_5#>Ik%-Xr_b|+CsLq`|2 zYYE_Gqub954(Zv-{bO$Lg5NKCE{{z4H&zM&Lv+v>v9-xVERu4ofbAJ8gW_aoP@mQZ zTL_D#X&Zj-7j6ItC>4apA49LX&(X6T;F|;5PyKHSL{u9SS^=ScEr}s4z~{?19*KS4QS27>Qft^EMj|0L~%JBs~3eKQlmDx!7 z-&*%;j>$!AN-C>(>gtMH$1e5NYMfG(r4*7fZBz>GBKEUM8zm`=N&!k}qa<;eJT9V* z=3c@NYg~#rJtFphtZn}JCKLV#g)$28a`}5c=$z~fLilHi2tLlp5I?LRuNWgmS@uta ziQ?x%i|{i|2`-V5cBDFa=E^__F{2 zAOJ~3K~&Dv%-k!O-_sEI!uP(x7ryd!32@C=q@=9`JgpO&23k{8BPNpxWhn`P(#cvP z^%=+n=o95m5=U~MRtOZvpi=Kau72fYDF5ChiRZR$@rmYHXv4f-qJtA^Ve0Q7p*k)! zqF@>aqBSw(ypf;+suCs7sDw6ZVu21`GzVfJ`i#bjs$G^G4*^sZ`vjDDMh5RYRkr?^ z7D6>Kin0)Y#ppb3+Yp1px2w(z2%iG>!9|fNts0GruJ>$H>Durj@{$*jm_8GfBDPRi zEBikvHVp5Lx^bY5^fl@pP4mgW&qp!+?M9-sNGu;ING9{f;=CZYF-nSQv?BPWD1|CX z15goFT0C&twy1K#GHqIqx6pX*Egbj1^F!=+zRw$X4tV;;RX*~{i~nzXZ~ALlcAoeB z*085@&mC&)>ShmQvs)xvbSTM*Wt)x_MbKn9@f5=_JZ5qXB!H9uBHx01FarC7li2Wt zB!Gh;NF>9uX;_LlSd`f$#Yqgw9;)hA-RTT_T2nr(wfEWQ)V(z{yCo9HDqPgP`}1)E}> zi^MC9%moC6Cu~r=5YR=2?Jdp=To4!+FvjD9L@SLm4O$3xbJ9@|@nI*g(y@PM%n z=>sANw1{*;XQIzx=Nzs#v2IlAp?oo3M-frvGMR4=_s8}I<2`v6_bY{p!8sx(Fnr8* zYN=!GqmLn&5=5I80bW8i%kjd|wy|#2IfHir8^G8|iFGzorv@zAB_+|(n`(l{Zjucl z^%I^T)g&ksDPWB6mk^*HkwV!FdRtU#qS~*JAtqUZkLWc#@-vK^A{N<>9|RH#OniSF zZu43CUcByceHRkKJDoG6x!L{WWB%K}^*8ysfB&cX#UK0hSmP&^ia8!7(de;;Dun2Z zsEF!~Qc8jzD94QTK0~{Tsx_d5)5*agF7vE48IMq;ChJd;!OPn2sM_c zs=tbYLv2_!pX2zQuON?qjQyieQXV~zkTbkk8I#kyXzuFt9V@`N5)3Oyrug)srsTk^a_Ne5oC zH@m@XR?+*8zI7C3fjx8Nx+GHt7X)Nbco%5f7DS-$JC^GOLKmzrE?Cy9XoX21fm5AUIL;9!1@u4%b;bc3V)LoVuv$nh&v!#>>t)k!xLon!~&33Il-4zNiZXS)MafV{IHlD^$>eTC!ld`HR4@3b3OAujB0NEC z9+UAnwiW>16J(+oc?rUSOY{xz6QwdvUqeDbwA*+H`pNl>=jA8D94WxHGSv;B@hYkl zMgT6NaR`AJCZZ&?*vA1h5cd~BrZkYoneJHUNMQ7L8>qOW`j_18s1k*jkm$AP-$3+rRT2KL1;9a_w-R zJI~$X!yo=IuYdHTyz<-)&iZrqbHRKzqbhQ8DF7c4I_arq1yT~#GM$a@5hB)hA~DY6 zy&KPYDBzFJvd8oeV;sG81TQfb`Ys~EPC_OFLdL)*h-gPS_?rnKHa>_6y;K2$Pe?I= z-Z_kOSQi87437{hf$(BP^#>b>Eef5CzL#SV-~&j35)zroabhMz7$*;2BubZ3$#CA{ z)3#j-=zDAEJ4ypxA?1n^3U?&!&`Xg$9H|WXHu&XJ#jEjfMHu% zd1y*)5X2ZLM#WP17~!EI5dWatV`*8Fv23UvoVKfK2ctQ6>?3#4!7*8x(7_>brLznn zC1=YM{?ea+73dPBu}1_;a4shM*oYX!zADy92U%?Gza_FsM{r(ROn(4Az-gKqR=^K@|;Y@AU)RwxtakQZ<{C@lWabW?GYm2 zj7R81OAmsoC>VVBtR0ZS7#wJ!FxEzDzs?4j7H2$7(~)I9QW?7rkw>beasoq-lPy|k zy0&HAE@_P+vo%fx*6U?bo%U2&&dH+Y#*w0$RY)1=yO!l*$^O9+x31mf_rS;qCl=eRMu&p~y-!R#n9RAfd~%_(LDQcLEuL(c1S@}gu`R;tgaK%QNQl zgE(UOh&GqyoU*85(k}TVW@UkL4Xs^atf9!_JkI;5Y#me@Yg4~C_!D{`5Hi}c3<=nxExrp`KIGanN^`AKKO{X z2DUQ!!})Cm*~4?_rqtvBB6<)`c&tMzaztAm*L>Kf!0bNjPig}NONe-_eF#x(hlu7D zd5QIwV_S(#B~1a3BU=!C9O&Q6MA)WU%OTY}zODb?ZS1jOlTbXecdG zz1)DpNv}}t0 zK|~G$8+1_R8YxvmS0fc}NL*^2elnfv11GhEX?#&yM?0G=izNgJ9dyC+(T~rV%_P2W z5W(Psjd`rpH+d-&O*>s92{JgOm*4}vk2tfEii5pF?E**pM^xpEvZy#bI^yW)I;OKc zck4xzmSou;hx^x9t{&h-Ogu@g2-f04jqjt?N${HUvs1dRW~IOehs7bVEY_#E;1FJ5 z`X0RGpxVcxD9eJq{5JLalxv4aTtB>x^B}zE#apj(a(0YTf&GJPNck?#o2dRO1k1%L zmOV(7>fkKK8N7`&&%W3p z(Z8_o8?=hZ;jG%@#SguLvz|qN#`*Fb=_R+0Zqc?Y6q1`aZ?JC9>HCf#94Z%_E{>`D z7rAkCle6VH>t=~kfzI_jJU?aCTp+Oct|!nFghfb)#}JToU8ET!qatdS$>`teptBvN z>+sI8S}!rSBiGTpaMjeT>z1rs;%A9UKZp~B$i5kZz`;TyzGw{D-Spn2K1rw;BmzPx zglv&Qqe5Wy;5TUQ|10(?&$2tzaji^`4CQv zt*60|43HK1h^k2f!iSiJ6S1%xVy&KY29M(K`VHE(=3C$VCT-txp!cJ3??kCBszD}| zwnPyXh>=1nq+}r){_oHHGN|4)THrsp;s|1==dsH zu^Zb8j>F~}P4}~P?H;?WM?1Lb-;do!04e=2SBncmGJlSs7QKy>;&L`4gbHsh=c|U* z`g?rmdy=nw?Hj!G!X4iDk=J?k!!L9D=#Y6?P_8<12_Jsx1%$J-rlmI>-r1O`FLP$I zIepU-M6y!w8$)&(qQ{>bYLOD97w5oqc@Qlsl86VsI)-&Zl=wrHPeEl))_dbWWeYY2s)4{7vuwfVfL3V^TtD zl*~YMI2Y)x$0M-Djee9tqzrY4f-)`yjE`;##*6s4JWb(*ex!$AO914{OE<)zol11DTPlcp-oAlAq)Ss zZ7MEf`VA%js&-kz?Q!j@LH7M>gRPOurs&|NPH?I$I*ca+Di{&L4LYc_qIU~^`sY4| zx2KUE;$5VOhEzYC0>jw7ZhUED-!5>*Cc2-5;Aq<(tt+n2GqQTYYV{l3d+>Qe`2yw9 zkCM$^Acz7hdIFB3P=ro%esRLt#RJM}&iO^ltlH<~Rqad z50phtAkcMD<+aEv_KIr=-BZox935T<=g?#*a%^W%h2&)MF11~fmnFxi@AB~MA;vV6 zg+d6$a(NMzKnsb;ES+8ByFgtpz*V0#Q91C=Tl!3Zl zQ|-l?#PfwAbPdjVoa>P?;DbeLg|)-@3RO{JOpnqKydk(v@aID;Z5c)FU^A}}o)9+b z)sZbCK?DQ}87xRg9`o(I*8Kk8SFl_+C{>LKeIpHeA}%A7 zo`Y91(O+YKVR~~ZN(go%E|V0JFH=JP|J&o+Wx?QdynZi%-FyB1(|}&Tm+e`O?}sKJ z98O0K!YPS5HcqI8L?5HuB1weYywj$e)Wr=<9m1CMoLXq%up&r>pV^l)yBfWT1(e; z*xtmTNoz!&QB@U1S&qUlgUaDFFx;J#jucDp$L!aZSVmGdRY_8Lprpm^Y|HCUKN|wV zz@rG^mG{L5g4&)ekK0MvqR2|u8JecSnn?SVSq`W;SPRAgKqwgz zw?RF3JUJMAsG{gitgUsa?iC;XCY_2R5|LJ$#G9NW$Vo8oH?-{GozZ$z3p~76yZ2|> zqW_v4&%1Y?uD3~SAsW!z)I~*vJfh0ZdR&0sfprp_0z*%%>+>>Bu#HV94Z|Rpk|Sx7 z6a2FUMDMlj2E^}WfPLIMGTmm=H2ly1>p$jWufNWp`1H@PFEhOIQA{SGgvv+3tD*L9 zn0Sr-hmxqUOB;Pu(tY~7&NR+mevBh4;F9q7vN!%o{lGL2zw0}g?Vy7?i`GXWY(#TL zv+N=dPE|{Y`?tO?L1x~HkI1^Yd7qtBf1f&|S_q0F8q|j%D2pR*U;7YE-|+CPMh3~eIv|%N*Y~ecucNq2S?(d13#5YHHk@5N zBr6My=~*t9%*%Zi%LQFuQxZIX3_W4Tm)oOv7D z1@!e91ce9+tuiDHN)}|wkmm&<2r`{9lwwFBY5O%@Rx>Y;62;by)VC$r;Po zJPJ)J3SpQW2$7?Oqg(zq7k58{t-nbo1S*>$gT$MTvx}Nfy?&E_@PEF=i!XdEqIkxV z<KE`xNUT8iW2t8f?~JMdHT-pqJ&zjXBL>bs^1xF26sOGVAF}u-X2$T z4KNg^kHI)ict6`CD9AIeKLj~L##ti90WedVJkO(Ggo#Rw`+M`mId}AR^e?)7`!=t<{316F zj&N_pi0JId+VHV+7HPq-e$*`3plUKvb$0{3X)w46gu})RTqf_s zAV9^SC-^YJ6T|ugdI(Vv2NJ56lrKdJD5qH_Avc-E-Dg(@2+|Y6PSnejJCMuTWz>Tw ztv>{+12s1Oo{BIK6xD1zPh)MOS~`>iVFF%ggo+|D##z=6*Sz!aYy9S$-(Z%(?W03( zUfbg%FMWuYU%tcb>xazuD)#m&_Ntug^LebpQx0qfzQ?&Jq7p*DiwuX067#*KYuhm( z^iq;V5;sA3Bnl~$Xi4x!e_ zDA0LC40W0~Pf_||n_IRB6Er&_G71->9DZ*dU2kYR!?NjFH9fs`cx0k^4$oo?TAg#4 z0Idb<0@j5@YZio{qTq{=c1TeHPd)b$gcoBiA;kXJn%F<8Y*Q<$wT{nvYEmowC4t`K=veRN z{k`h@m!0d-t}>w?#+u8P4bSA@cQz*Yb^^h;Oia86b@U$0GTOf7<3B#*rI!nQe~iQu ztWD~o0}2xrktL+RBVAiaiS+}@9fh3+rQ8srv9}KaC1YLHte7K$gmA&C{x&CXeU<+3 zb#A}$M=-|VgF#8jteR7|E9T`M_?{PUzlLoC0UHI`R)H!jP{98DkXyH2;BgZPTXpJ-z7=GT^14Z#zuW#5!g?h0LhR63Do{e~0?Un!6|Oa_9DksAfkjmly2M z54rc?UGh?qmpOgy(Mm#4RMm`bbwOR%I3MV3!|CcCUPdvvx?4wjzqi!&3B6kZ2Q2Fg zq;}-FV6ix(GlpDOQSeCy>SjURHuwN_(@@PIxE?`HXF8M;IMw33MLB^DHu?Ytg$ycM zkPJ!Q5RwPxkYEJxM3t&MGL-ryi+lf?<;iEr{R2u}5!p5*Fu>8)4fb%!r#?~f*4-sV zK1;QP>3%+9LE$k#o@aRP@Jfzz8kU;pmgeE!Q{=U}ho){P@xdHF+p{1ZRIM_+k~ z`)5n4EIr3c5*%0~FeXkawahVCIxlG~G`*+pqfcKD3Q3DHjx4jtB!?eltnow%6fz3J zO~jQ3rMX}ot~FZ$oDk8#JSviUI%5*O(}RfbRwnXD@l+~ONYnjxJ`k)U3f>I{-g>-d zK9G>ep@dOJnx_|76X;B!=^Sm>(;18LFiV$$lW4xg0QtjaI9t`)BC_3ZP zW3_ok;yX6@W9lCerpol4eb&KxHxQhz@4e^$_@}?jZ```cfAlkdj3fVO;_SV)T~ETt z9^(}m_VGA}|@ty<`l@;+0DPk@CV37b4DFS&O1wyQEao$r^bC5Z8 z+o4LxGlh^P7mFHWdz`lzTO$Z)={P?>#h5ix!^wjcd8WaG4+i5_EEZ>2(~;#R2tlT1 zRQUm!-lyvfnv60jDoasvG{1$hQEV&AW~}P7sC20-&X*^Ez)DBgH?&QI%4Rs<;H+a^ zEos^d)~hAWy2e@0>}W<)*DRN3+`jP&xyUKXJ*r|KYdl@kl22*_J7aCdO@Z&b=@$lX2|4$J0P=p zvb+iif|qDjFe~@yO-E78I4lmhe)Js1I_9(MNZz6-q7}r&`6*q$qyr$3I@W~;XE`}P_}*oCM&EXbl$;rqvQAZK5PE@D2)IB4RlFFK~%dE!Fs~q zL;JlRPTp%kyu03RvhV#4Aiv*jeh|Un?)Km7@%^p_gipK>PdJGoKpIYVkhmuWUs_9~ z7HAm}93>^!^Fv;F{&`;g=tp_y_+9Sbzt6gBaMCeXC1qBE)a+e9jI^`VbgCDe9nHCC z*Zhlr@y~D}iWmqLDWOtDr8b!i#YNZ%ws>zxl+T+MoI_Q4L?^V4+e#F*X^lZ`q zlpnSmJ?;it*YsRQ@fbD}!}uM!bv?EaLL#+LlIpn9WO+C$;RAzJ*)X9FAz*{wQfQ4k z+&Qh!Sz1~l1yHwF#B=>37-$FDe+dvAktQ=3zB;#W{)Y=7y z3>{IGQ=(OdPzvunwRP0KXI{?nD#ry+-+CUt{g7|nJ>g$}{X5*acEFE){G(jkpKx-wT`-Rtm{6##{uCaS_ia=s2(yQxhfsM(ufqGAqDs_ zQTKFcA<&o9Zi*zH-?|=^Cd69h=!qw%bpe@y4B-(K(v4id8tVn8Kf`qtXaY(2B?Xne z7Z@*aGWrHupHyhmGe-dHVsP0RAE~10`By?9Mj8~O#eq=*dhhAFE(VK<38GXC7z2X&e2$coT$B{$9ET$_J!MhGK*vX0h$xH` zjoGz?vfLy1lJH~i&4{a5%e|H^-b2(f-TDvnM_9V%XvAOdz>Bdp_(|J)zr zop;{ifBFZ1hvKk6T7j`K(UoUKN&rKi<;gFv!+A?l#OKRehmwl*y5{Y--(of|(H~M| z*^JN<*nbt@d&?+O#vxvUw7O4Vxp(7nr2E4Th2Ti|b z(O3@)?(7R>w&kGI1eqg578S{3 z<~Kd#0;I%yOWU3E#%u7-y^9#=D~U@M6y682Ji~cEqJ%=mTEgHrwnAWVHqyK^tufdu zQNmc;9D_n39#tHDa=>(X0{N+9gC}hN`$aH+H`-M!jrVeF&x*KxKjTJR_wfP!vz)_w zJ?9@Ngz!miplc~188qp&)*SBdQ&k<8&%>r5G$#RdB$xK`+iXtN`a-20|-ByqREo7?ej1yjK-B`zw=XpXB zJ)VGd13E2GS&q&!f)KR5#Ut6P5~2}!1Z5wtao_h_!RC-~0Whv32#a@;y0e@w)|_0d zSgdN+eUBFzAyJb>LTtTr*sjO+hR#7pl;n^1bEwx6Lob97oA+&c|Fgjh@G*&lX`*HK zJsJlKu}w1{zBkkwKUz~Ewtf}KN@v*ikkA<^?8Dc^qpHGB)28P0LI{5SbD!mlZ+?kC z^9#Skb)St4gJ)^e=@8S4<%Y1*I{QMjrWD2MP$PVjkw4Nb#i^_74f!@|=p|GxFx$5whV>U0a zzM;1ogrjZO2wH>)wC$P;ujp+}-NeL#H7%WJXiZJl3+j4}R5`&~iWD4)An?NB!oXVMfZ~y2We)G%U<<*yebhMcmQNoGO=lg*YPTLUQe$Zz1@MH!APx0}v3Hfy0-6QQ0 zPuIsC$1?`5PumX^Q%NA>V7|wTFTTvp8%MNtjWvd5-5`}_Z?=a3zWcrJ@u0cSL3xd0f5zEr4KkxQ zG0^LsMOll|0-bC2KYWW{{lXVm)g3}=bY5)g)CNkM6qIE-qF{a3V!NKMsWC}FCO8w{ zY#j^wi@YK)XNfWzCF@5c?+N-a2EG%i^?_14MK7dKWAHL8hfQEH4Jd}|dl@}(`g=%7 z+Y~8$TpK!oSW6iH7U^%1vUr1!TSVTb0nX$1u#37)k;^D5B9f|D7=0Xv04T^nEU`+# zmW=*c@t{TWb9|JpIsN?+&&A1irl0*FWX2xXwmOF7{~-cMY^1!BOwSp7nv_=WIb@L{93P4o~3bc%w^CH(63|a2U zT_76<)l4F^MA|4y>KG6+Hy(Zr;!os;&&*oDQ_Q3;DA83oo zgYCbk!PW=S+P3BI|C9fX*I$2)pZ(MygnQdGt7pBW@jhIUnH`pYAEz?1Gba7%WwnDr z#DLTj)o-VkI75QyEFopOdbv4=*k@g?IYwd=*=)9vhee4_BSj!&})T8W7H!%GQ>pOH71Eyl8sm+R$(}!5!)At>nX_(Isa1N|B zcpG^5;FRV1AvX>`Oj*vzvy858sqzDSkOcCST;9~i_ie{defp2`+DBd=#nwa!1SCSl z{&#~;3#8QKMaBH^7IpJBHxG{Z_x{jN^VPreHCB3!%2b+nc=Al+ou{uYoiWVzj%ba* z^p2{W({?r9IrgdpUU>c`?%jWj^L9aF&H>4Ky<)vS$KzPmD*^%2cPv(?oS&aXUsYo< z#&Nbhlma9De%@{`;K*e!O#EH5x@S0W3C; public var topMenuSpr:UITopMenu; @@ -210,6 +211,13 @@ class CharacterEditor extends UIState { animsCamera = new FlxCamera(800-23,140+23+30+46,450+23,511-24-30); animsCamera.bgColor = 0; + characterBG = new FunkinSprite(0, 0, Paths.image('editors/character/WOAH')); + characterBG.cameras = [charCamera]; + characterBG.screenCenter(); + characterBG.scale.set(FlxG.width/characterBG.width, FlxG.height/characterBG.height); + characterBG.scrollFactor.set(); + add(characterBG); + FlxG.cameras.add(uiCamera); FlxG.cameras.add(animsCamera); @@ -283,6 +291,9 @@ class CharacterEditor extends UIState { ); charCamera.zoom = lerp(charCamera.zoom, __camZoom, 0.125); + + characterBG.scale.set(FlxG.width/characterBG.width, FlxG.height/characterBG.height); + characterBG.scale.set(characterBG.scale.x / charCamera.zoom, characterBG.scale.y / charCamera.zoom); } // UNDO/REDO LOGIC From c470f8756ea887be058f79ce1513d56f374fdd6f Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sun, 16 Jul 2023 15:52:49 -0700 Subject: [PATCH 26/27] use xml.x instead of access for characters --- source/funkin/game/Character.hx | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index 879b2310..504838fe 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -360,23 +360,23 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset this.xml = xml; // modders wassup sprite = curCharacter; - if (xml.has.isPlayer) playerOffsets = (xml.att.isPlayer == "true"); - if (xml.has.isGF) isGF = (xml.att.isGF == "true"); - if (xml.has.x) globalOffset.x = Std.parseFloat(xml.att.x); // - if (xml.has.y) globalOffset.y = Std.parseFloat(xml.att.y); // - if (xml.has.gameOverChar) gameOverCharacter = xml.att.gameOverChar; // - if (xml.has.camx) cameraOffset.x = Std.parseFloat(xml.att.camx); // - if (xml.has.camy) cameraOffset.y = Std.parseFloat(xml.att.camy); // - if (xml.has.holdTime) holdTime = CoolUtil.getDefault(Std.parseFloat(xml.att.holdTime), 4); // - if (xml.has.flipX) flipX = (xml.att.flipX == "true"); - if (xml.has.icon) icon = xml.att.icon; // - if (xml.has.scale) { // - var scale = Std.parseFloat(xml.att.scale).getDefault(1); + if (xml.x.exists("isPlayer")) playerOffsets = (xml.x.get("isPlayer") == "true"); + if (xml.x.exists("isGF")) isGF = (xml.x.get("isGF") == "true"); + if (xml.x.exists("x")) globalOffset.x = Std.parseFloat(xml.x.get("x")); + if (xml.x.exists("y")) globalOffset.y = Std.parseFloat(xml.x.get("y")); + if (xml.x.exists("gameOverChar")) gameOverCharacter = xml.x.get("gameOverChar"); + if (xml.x.exists("camx")) cameraOffset.x = Std.parseFloat(xml.x.get("camx")); + if (xml.x.exists("camy")) cameraOffset.y = Std.parseFloat(xml.x.get("camy")); + if (xml.x.exists("holdTime")) holdTime = CoolUtil.getDefault(Std.parseFloat(xml.x.get("holdTime")), 4); + if (xml.x.exists("flipX")) flipX = (xml.x.get("flipX") == "true"); + if (xml.x.exists("icon")) icon = xml.x.get("icon"); // idk why this is broke it just is + if (xml.x.exists("scale")) { + var scale = Std.parseFloat(xml.x.get("scale")).getDefault(1); this.scale.set(scale, scale); updateHitbox(); } - if (xml.has.antialiasing) antialiasing = (xml.att.antialiasing == "true"); - if (xml.has.sprite) sprite = xml.att.sprite; // + if (xml.x.exists("antialiasing")) antialiasing = (xml.x.get("antialiasing") == "true"); + if (xml.x.exists("sprite")) sprite = xml.x.get("sprite"); loadSprite(Paths.image('characters/$sprite')); @@ -453,7 +453,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset continue; } - if (xml.has.icon) icon = xml.att.icon; + if (xml.x.exists("icon")) icon = xml.x.get("icon"); } break; } From b449c3e4fef7c439a5d9a6e005a01ae594840901 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:57:31 -0700 Subject: [PATCH 27/27] ghost anims (pls test) --- .../editors/character/CharacterAnimsWindow.hx | 4 +- .../editors/character/CharacterEditor.hx | 38 ++++++++-- .../character/CharacterGhostsHandler.hx | 73 +++++++++++++++++++ source/funkin/game/Character.hx | 2 + 4 files changed, 110 insertions(+), 7 deletions(-) create mode 100644 source/funkin/editors/character/CharacterGhostsHandler.hx diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index da13606d..eafa2de1 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -118,7 +118,9 @@ class CharacterAnimButtons extends UIButton { CharacterEditor.instance.playAnimation(this.anim); }, 282); - ghostButton = new UIButton(x+282+17, y, "", null, 32); + ghostButton = new UIButton(x+282+17, y, "", function () { + CharacterEditor.instance.ghostAnim(this.anim); + }, 32); members.push(ghostButton); ghostIcon = new FlxSprite(ghostButton.x + 8, ghostButton.y + 8).loadGraphic(Paths.image('editors/character/ghost-button'), true, 16, 16); diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 5faf7d59..b055224b 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -14,6 +14,8 @@ class CharacterEditor extends UIState { var __character:String; public var character:Character; + public var ghosts:CharacterGhostsHandler; + public static var instance(get, null):CharacterEditor; private static inline function get_instance() @@ -224,6 +226,11 @@ class CharacterEditor extends UIState { character = new Character(0,0,__character); character.debugMode = true; character.cameras = [charCamera]; + + ghosts = new CharacterGhostsHandler(character); + ghosts.cameras = [charCamera]; + + add(ghosts); add(character); topMenuSpr = new UITopMenu(topMenu); @@ -291,7 +298,7 @@ class CharacterEditor extends UIState { ); charCamera.zoom = lerp(charCamera.zoom, __camZoom, 0.125); - + characterBG.scale.set(FlxG.width/characterBG.width, FlxG.height/characterBG.height); characterBG.scale.set(characterBG.scale.x / charCamera.zoom, characterBG.scale.y / charCamera.zoom); } @@ -352,11 +359,13 @@ class CharacterEditor extends UIState { case CChangeOffset(name, change): changeOffset(name, change * -1, false); case CResetOffsets(oldOffsets): - for (anim => offsets in oldOffsets) + for (anim => offsets in oldOffsets) { character.animOffsets.set(anim, offsets.clone()); + ghosts.setOffsets(anim, offsets.clone()); + } for (anim in character.getNameList()) - characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); + characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), ghosts.animGhosts[anim].visible); changeOffset(character.getAnimName(), FlxPoint.get(0, 0), false); // apply da new offsets } @@ -416,6 +425,7 @@ class CharacterEditor extends UIState { public function createAnim(animData:AnimData, animID:Int = -1, addtoUndo:Bool = true) { XMLUtil.addAnimToSprite(character, animData); + ghosts.createGhost(animData.name); characterAnimsWindow.createNewButton(animData.name, FlxPoint.get(animData.x,animData.y), false, animID); playAnimation(animData.name); @@ -428,8 +438,10 @@ class CharacterEditor extends UIState { var oldAnimData:AnimData = character.animDatas.get(name); var button:CharacterAnimButtons = characterAnimsWindow.animButtons[name]; + ghosts.removeGhost(name); XMLUtil.addAnimToSprite(character, animData); - button.updateInfo(animData.name, character.getAnimOffset(animData.name), false); + ghosts.createGhost(animData.name); + button.updateInfo(animData.name, character.getAnimOffset(animData.name), ghosts.animGhosts[animData.name].visible); if (character.getAnimName() == animData.name) // update anim ifs its currently selected playAnimation(animData.name); @@ -448,6 +460,7 @@ class CharacterEditor extends UIState { var oldID:Int = character.getNameList().indexOf(name); var oldAnimData:AnimData = character.animDatas.get(name); + ghosts.removeGhost(name); character.removeAnimation(name); if (character.animOffsets.exists(name)) character.animOffsets.remove(name); if (character.animDatas.exists(name)) character.animDatas.remove(name); @@ -468,6 +481,7 @@ class CharacterEditor extends UIState { var oldInfo = character.buildXML(); character.applyXML(new Access(newInfo)); + ghosts.updateInfos(newInfo); playAnimation(lastAnim); @@ -475,6 +489,14 @@ class CharacterEditor extends UIState { addToUndo(CEditInfo(oldInfo, newInfo)); } + public function ghostAnim(anim:String) { + var ghost:Character = ghosts.animGhosts.get(anim); + ghost.visible = !ghost.visible; + + var button:CharacterAnimButtons = characterAnimsWindow.animButtons[anim]; + button.updateInfo(anim, character.getAnimOffset(anim), ghost.visible); + } + function _playback_play_anim(_) { if (character.getNameList().length != 0) playAnimation(character.getAnimName()); @@ -530,9 +552,11 @@ class CharacterEditor extends UIState { if (character.getNameList().length == 0) return; character.animOffsets.set(anim, character.getAnimOffset(anim) + change); - characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); + characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), ghosts.animGhosts[anim].visible); character.frameOffset.set(character.getAnimOffset(anim).x, character.getAnimOffset(anim).y); + ghosts.updateOffsets(anim, change); + if (addtoUndo) addToUndo(CChangeOffset(anim, change)); } @@ -547,9 +571,11 @@ class CharacterEditor extends UIState { for (anim in character.getNameList()) { character.animOffsets[anim].zero(); - characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); + characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), ghosts.animGhosts[anim].visible); } + ghosts.clearOffsets(); + if (addtoUndo) addToUndo(CResetOffsets(oldOffsets)); } diff --git a/source/funkin/editors/character/CharacterGhostsHandler.hx b/source/funkin/editors/character/CharacterGhostsHandler.hx new file mode 100644 index 00000000..8d72adfe --- /dev/null +++ b/source/funkin/editors/character/CharacterGhostsHandler.hx @@ -0,0 +1,73 @@ +package funkin.editors.character; + +import haxe.xml.Access; +import flixel.math.FlxPoint; +import funkin.game.Character; + +class CharacterGhostsHandler extends FlxTypedGroup { + public var character:Character; + public var animGhosts:Map = []; + + public function new(character:Character) { + this.character = character; + super(); + + for (anim in character.getNameList()) + createGhost(anim); + } + + public function createGhost(anim:String) { + var ghost:Character = new Character(0,0, character.curCharacter); + ghost.applyXML(character.xml); // apply cur character stuff + ghost.playAnim(anim); + ghost.stopAnimation(); + ghost.alpha = 0.5; + ghost.visible = false; + add(ghost); + + animGhosts.set(anim, ghost); + } + + public function removeGhost(anim:String) { + var ghost:Character = animGhosts.get(anim); + @:privateAccess ghost.animation._curAnim = null; + animGhosts.remove(anim); + ghost.destroy(); + } + + public function updateInfos(xml:Xml) { + for (anim => ghost in animGhosts) { + ghost.applyXML(new Access(xml)); + ghost.playAnim(anim); + ghost.stopAnimation(); + } + + rePositionGhosts(); + } + + public function updateOffsets(anim:String, change:FlxPoint) { + for (anim => ghost in animGhosts) + ghost.animOffsets.set(anim, ghost.getAnimOffset(anim) + change); + + rePositionGhosts(); + } + + public function setOffsets(anim:String, offset:FlxPoint) { + for (anim => ghost in animGhosts) + ghost.animOffsets.set(anim, offset); + + rePositionGhosts(); + } + + public function clearOffsets() { + for (anim => ghost in animGhosts) + ghost.animOffsets[anim].zero(); + + rePositionGhosts(); + } + + inline function rePositionGhosts() { + for (ghost in animGhosts) + ghost.frameOffset.set(ghost.getAnimOffset(ghost.getAnimName()).x, ghost.getAnimOffset(ghost.getAnimName()).y); + } +} \ No newline at end of file diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index 504838fe..a06a42c3 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -421,6 +421,8 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset animXml.set("indices", anim.indices.join(",")); xml.addChild(animXml); } + + this.xml = new Access(xml); return xml; }