From a9c8fe75585597e22c8e6bfec9a7515c2b7293fd Mon Sep 17 00:00:00 2001 From: PryosCode Date: Fri, 13 May 2022 16:09:18 +0200 Subject: [PATCH] Add Support for .MF + .TXT --- build.gradle.kts | 2 +- .../net/pryoscode/decompiler/Decompiler.kt | 10 +++--- .../kotlin/net/pryoscode/decompiler/Main.kt | 2 +- .../decompiler/window/{windows => }/Window.kt | 27 +++++++------- .../window/components/container/Container.kt | 28 --------------- .../window/{components => }/container/Code.kt | 21 ++++++----- .../decompiler/window/container/Container.kt | 33 ++++++++++++++++++ .../window/{windows => popup}/About.kt | 5 ++- .../decompiler/window/popup/Importer.kt | 3 ++ .../decompiler/window/{ => popup}/Popup.kt | 5 +-- .../decompiler/window/popup/Search.kt | 3 ++ .../window/{components => }/sidebar/Bar.kt | 2 +- .../window/{components => }/sidebar/Cell.kt | 10 +++--- .../window/{components => }/sidebar/Entry.kt | 8 +++-- .../window/{components => }/sidebar/Item.kt | 2 +- .../{components => }/sidebar/Sidebar.kt | 10 +++--- .../window/{components => }/sidebar/Type.kt | 2 +- .../window/{components => utils}/Link.kt | 2 +- .../decompiler/window/{ => utils}/Style.kt | 4 +-- .../decompiler/window/windows/Importer.kt | 3 -- .../decompiler/window/windows/Search.kt | 3 -- src/main/resources/screenshot.png | Bin 44087 -> 44192 bytes 22 files changed, 94 insertions(+), 91 deletions(-) rename src/main/kotlin/net/pryoscode/decompiler/window/{windows => }/Window.kt (87%) delete mode 100644 src/main/kotlin/net/pryoscode/decompiler/window/components/container/Container.kt rename src/main/kotlin/net/pryoscode/decompiler/window/{components => }/container/Code.kt (66%) create mode 100644 src/main/kotlin/net/pryoscode/decompiler/window/container/Container.kt rename src/main/kotlin/net/pryoscode/decompiler/window/{windows => popup}/About.kt (79%) create mode 100644 src/main/kotlin/net/pryoscode/decompiler/window/popup/Importer.kt rename src/main/kotlin/net/pryoscode/decompiler/window/{ => popup}/Popup.kt (87%) create mode 100644 src/main/kotlin/net/pryoscode/decompiler/window/popup/Search.kt rename src/main/kotlin/net/pryoscode/decompiler/window/{components => }/sidebar/Bar.kt (88%) rename src/main/kotlin/net/pryoscode/decompiler/window/{components => }/sidebar/Cell.kt (78%) rename src/main/kotlin/net/pryoscode/decompiler/window/{components => }/sidebar/Entry.kt (54%) rename src/main/kotlin/net/pryoscode/decompiler/window/{components => }/sidebar/Item.kt (97%) rename src/main/kotlin/net/pryoscode/decompiler/window/{components => }/sidebar/Sidebar.kt (75%) rename src/main/kotlin/net/pryoscode/decompiler/window/{components => }/sidebar/Type.kt (83%) rename src/main/kotlin/net/pryoscode/decompiler/window/{components => utils}/Link.kt (86%) rename src/main/kotlin/net/pryoscode/decompiler/window/{ => utils}/Style.kt (80%) delete mode 100644 src/main/kotlin/net/pryoscode/decompiler/window/windows/Importer.kt delete mode 100644 src/main/kotlin/net/pryoscode/decompiler/window/windows/Search.kt diff --git a/build.gradle.kts b/build.gradle.kts index b14d29a..d574798 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } group = "net.pryoscode" -version = "0.2.1" +version = "0.2.2" kotlin { jvmToolchain { diff --git a/src/main/kotlin/net/pryoscode/decompiler/Decompiler.kt b/src/main/kotlin/net/pryoscode/decompiler/Decompiler.kt index 730a4fa..686ef33 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/Decompiler.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/Decompiler.kt @@ -1,8 +1,7 @@ package net.pryoscode.decompiler -import javafx.scene.control.TabPane -import net.pryoscode.decompiler.window.components.container.Code -import net.pryoscode.decompiler.window.components.sidebar.Entry +import net.pryoscode.decompiler.window.container.Code +import net.pryoscode.decompiler.window.sidebar.Entry import org.jetbrains.java.decompiler.main.Fernflower import org.jetbrains.java.decompiler.main.extern.IBytecodeProvider import org.jetbrains.java.decompiler.main.extern.IFernflowerLogger @@ -15,10 +14,9 @@ import org.jetbrains.java.decompiler.struct.lazy.LazyLoader import org.jetbrains.java.decompiler.util.DataInputFullStream import org.jetbrains.java.decompiler.util.InterpreterUtil import java.io.File -import java.util.HashMap import java.util.jar.Manifest -class Decompiler(private val tabPane: TabPane, private val entry: Entry) : IBytecodeProvider, IResultSaver, IFernflowerLogger() { +class Decompiler(private val entry: Entry) : IBytecodeProvider, IResultSaver, IFernflowerLogger() { private val bytes = InterpreterUtil.getBytes(entry.file, entry.entry) @@ -57,7 +55,7 @@ class Decompiler(private val tabPane: TabPane, private val entry: Entry) : IByte override fun saveClassFile(path: String?, qualifiedName: String?, entryName: String?, content: String?, mapping: IntArray?) { content?.let { - Code(tabPane, entry, it) + Code(entry, it) } } diff --git a/src/main/kotlin/net/pryoscode/decompiler/Main.kt b/src/main/kotlin/net/pryoscode/decompiler/Main.kt index 74042fa..814dc1e 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/Main.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/Main.kt @@ -1,7 +1,7 @@ @file:JvmName("Main") package net.pryoscode.decompiler -import net.pryoscode.decompiler.window.windows.Window +import net.pryoscode.decompiler.window.Window import javax.swing.UIManager fun main(args: Array) { diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/windows/Window.kt b/src/main/kotlin/net/pryoscode/decompiler/window/Window.kt similarity index 87% rename from src/main/kotlin/net/pryoscode/decompiler/window/windows/Window.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/Window.kt index 8b9f53f..30450e2 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/windows/Window.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/Window.kt @@ -1,4 +1,4 @@ -package net.pryoscode.decompiler.window.windows +package net.pryoscode.decompiler.window import com.sun.javafx.tk.Toolkit import javafx.application.Platform @@ -8,9 +8,10 @@ import javafx.scene.layout.BorderPane import javafx.scene.text.Font import javafx.stage.FileChooser import javafx.stage.FileChooser.ExtensionFilter -import net.pryoscode.decompiler.window.components.container.Container -import net.pryoscode.decompiler.window.components.sidebar.Sidebar -import net.pryoscode.decompiler.window.style +import net.pryoscode.decompiler.window.container.Container +import net.pryoscode.decompiler.window.sidebar.Sidebar +import net.pryoscode.decompiler.window.popup.About +import net.pryoscode.decompiler.window.utils.style import java.awt.datatransfer.DataFlavor import java.awt.dnd.* import java.awt.event.MouseAdapter @@ -20,7 +21,7 @@ import javax.swing.* object Window : JFrame() { - private val FONTS = arrayOf( + private val fonts = arrayOf( "JetBrainsMono-Bold", "JetBrainsMono-BoldItalic", "JetBrainsMono-ExtraBold", "JetBrainsMono-ExtraBoldItalic", "JetBrainsMono-ExtraLight", "JetBrainsMono-ExtraLightItalic", "JetBrainsMono-Italic", "JetBrainsMono-Light", "JetBrainsMono-LightItalic", "JetBrainsMono-Medium", "JetBrainsMono-MediumItalic", "JetBrainsMono-Regular", @@ -34,17 +35,13 @@ object Window : JFrame() { "OpenSans-SemiBold", "OpenSans-SemiBoldItalic" ) - private val sidebar: Sidebar - init { val panel = JFXPanel() val root = BorderPane() - val container = Container() - sidebar = Sidebar(container) - root.center = container - root.left = sidebar + root.center = Container + root.left = Sidebar - for (font in FONTS) + for (font in fonts) Font.loadFont(javaClass.classLoader.getResourceAsStream("fonts/${font.split("-")[0]}/$font.ttf"), Toolkit.getToolkit().fontLoader.systemFontSize.toDouble()) root.stylesheets.add(style("base.less")) @@ -60,7 +57,7 @@ object Window : JFrame() { val fileChooser = FileChooser() fileChooser.extensionFilters.add(ExtensionFilter("Java Archive", "*.jar")) val file = fileChooser.showOpenDialog(panel.scene.window) - sidebar.open(file) + Sidebar.open(file) } } fileClose.isEnabled = false @@ -101,7 +98,7 @@ object Window : JFrame() { event?.acceptDrop(DnDConstants.ACTION_MOVE) val files = event?.transferable?.getTransferData(DataFlavor.javaFileListFlavor) as List if (files[0].extension.equals("jar", true)) - Platform.runLater { sidebar.open(files[0]) } + Platform.runLater { Sidebar.open(files[0]) } } }) @@ -117,7 +114,7 @@ object Window : JFrame() { isVisible = true Platform.runLater { if (args.isNotEmpty()) - sidebar.open(File(args[0])) + Sidebar.open(File(args[0])) } } diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/components/container/Container.kt b/src/main/kotlin/net/pryoscode/decompiler/window/components/container/Container.kt deleted file mode 100644 index 6ef10fe..0000000 --- a/src/main/kotlin/net/pryoscode/decompiler/window/components/container/Container.kt +++ /dev/null @@ -1,28 +0,0 @@ -package net.pryoscode.decompiler.window.components.container - -import javafx.scene.control.TabPane -import net.pryoscode.decompiler.Decompiler -import net.pryoscode.decompiler.window.components.sidebar.Entry - -class Container : TabPane() { - - init { - tabDragPolicy = TabDragPolicy.REORDER - tabClosingPolicy = TabClosingPolicy.ALL_TABS - } - - fun open(entry: Entry) { - var tab: Code? = null - for (t in tabs) { - if ((t as Code).entry == entry) { - tab = t - break - } - } - if (tab == null) - Decompiler(this, entry) - else - selectionModel.select(tab) - } - -} \ No newline at end of file diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/components/container/Code.kt b/src/main/kotlin/net/pryoscode/decompiler/window/container/Code.kt similarity index 66% rename from src/main/kotlin/net/pryoscode/decompiler/window/components/container/Code.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/container/Code.kt index 5798e0c..dee17be 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/components/container/Code.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/container/Code.kt @@ -1,17 +1,16 @@ -package net.pryoscode.decompiler.window.components.container +package net.pryoscode.decompiler.window.container import javafx.collections.ListChangeListener import javafx.scene.control.ContextMenu import javafx.scene.control.MenuItem import javafx.scene.control.Tab -import javafx.scene.control.TabPane import javafx.scene.image.ImageView -import net.pryoscode.decompiler.window.components.sidebar.Entry +import net.pryoscode.decompiler.window.sidebar.Entry import org.fxmisc.flowless.VirtualizedScrollPane import org.fxmisc.richtext.CodeArea import org.fxmisc.richtext.LineNumberFactory -class Code(tabPane: TabPane, val entry: Entry, code: String) : Tab() { +class Code(val entry: Entry, code: String) : Tab() { init { text = entry.name @@ -26,25 +25,25 @@ class Code(tabPane: TabPane, val entry: Entry, code: String) : Tab() { val close = MenuItem("Close") val closeOthers = MenuItem("Close Others") val closeAll = MenuItem("Close All") - tabPane.tabs.addListener(ListChangeListener { - val multiple = tabPane.tabs.size == 1 + Container.tabs.addListener(ListChangeListener { + val multiple = Container.tabs.size == 1 closeOthers.isDisable = multiple closeAll.isDisable = multiple }) - close.setOnAction { tabPane.tabs.remove(this) } + close.setOnAction { Container.tabs.remove(this) } closeOthers.setOnAction { - val tabs = tabPane.tabs.iterator() + val tabs = Container.tabs.iterator() while (tabs.hasNext()) { if (!tabs.next().equals(this)) tabs.remove() } } - closeAll.setOnAction { tabPane.tabs.clear() } + closeAll.setOnAction { Container.tabs.clear() } menu.items.addAll(close, closeOthers, closeAll) contextMenu = menu - tabPane.tabs.add(this) - tabPane.selectionModel.select(this) + Container.tabs.add(this) + Container.selectionModel.select(this) } } \ No newline at end of file diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/container/Container.kt b/src/main/kotlin/net/pryoscode/decompiler/window/container/Container.kt new file mode 100644 index 0000000..ee1136a --- /dev/null +++ b/src/main/kotlin/net/pryoscode/decompiler/window/container/Container.kt @@ -0,0 +1,33 @@ +package net.pryoscode.decompiler.window.container + +import javafx.scene.control.TabPane +import net.pryoscode.decompiler.Decompiler +import net.pryoscode.decompiler.window.sidebar.Entry +import net.pryoscode.decompiler.window.sidebar.Type +import org.jetbrains.java.decompiler.util.InterpreterUtil + +object Container : TabPane() { + + init { + tabDragPolicy = TabDragPolicy.REORDER + tabClosingPolicy = TabClosingPolicy.ALL_TABS + } + + fun open(entry: Entry) { + var tab: Code? = null + for (t in tabs) { + if ((t as Code).entry == entry) { + tab = t + break + } + } + if (tab == null) { + if (entry.type == Type.CLASS) + Decompiler(entry) + else + Code(entry, String(InterpreterUtil.getBytes(entry.file, entry.entry))) + } else + selectionModel.select(tab) + } + +} \ No newline at end of file diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/windows/About.kt b/src/main/kotlin/net/pryoscode/decompiler/window/popup/About.kt similarity index 79% rename from src/main/kotlin/net/pryoscode/decompiler/window/windows/About.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/popup/About.kt index c7f04bc..ffe18fa 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/windows/About.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/popup/About.kt @@ -1,11 +1,10 @@ -package net.pryoscode.decompiler.window.windows +package net.pryoscode.decompiler.window.popup import javafx.geometry.Pos import javafx.scene.control.Button import javafx.scene.control.Label import javafx.scene.layout.VBox -import net.pryoscode.decompiler.window.Popup -import net.pryoscode.decompiler.window.components.Link +import net.pryoscode.decompiler.window.utils.Link class About : Popup("About") { diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/popup/Importer.kt b/src/main/kotlin/net/pryoscode/decompiler/window/popup/Importer.kt new file mode 100644 index 0000000..3ec55d1 --- /dev/null +++ b/src/main/kotlin/net/pryoscode/decompiler/window/popup/Importer.kt @@ -0,0 +1,3 @@ +package net.pryoscode.decompiler.window.popup + +class Importer \ No newline at end of file diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/Popup.kt b/src/main/kotlin/net/pryoscode/decompiler/window/popup/Popup.kt similarity index 87% rename from src/main/kotlin/net/pryoscode/decompiler/window/Popup.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/popup/Popup.kt index 3dfd016..fd8c8f2 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/Popup.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/popup/Popup.kt @@ -1,9 +1,10 @@ -package net.pryoscode.decompiler.window +package net.pryoscode.decompiler.window.popup import javafx.embed.swing.JFXPanel import javafx.scene.Parent import javafx.scene.Scene -import net.pryoscode.decompiler.window.windows.Window +import net.pryoscode.decompiler.window.Window +import net.pryoscode.decompiler.window.utils.style import java.awt.event.KeyEvent import javax.swing.ImageIcon import javax.swing.JComponent diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/popup/Search.kt b/src/main/kotlin/net/pryoscode/decompiler/window/popup/Search.kt new file mode 100644 index 0000000..fd75f56 --- /dev/null +++ b/src/main/kotlin/net/pryoscode/decompiler/window/popup/Search.kt @@ -0,0 +1,3 @@ +package net.pryoscode.decompiler.window.popup + +class Search \ No newline at end of file diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Bar.kt b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Bar.kt similarity index 88% rename from src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Bar.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Bar.kt index 6f631d9..ea31ab4 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Bar.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Bar.kt @@ -1,4 +1,4 @@ -package net.pryoscode.decompiler.window.components.sidebar +package net.pryoscode.decompiler.window.sidebar import javafx.scene.Cursor import javafx.scene.control.TreeView diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Cell.kt b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Cell.kt similarity index 78% rename from src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Cell.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Cell.kt index eb30de8..36817a7 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Cell.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Cell.kt @@ -1,12 +1,12 @@ -package net.pryoscode.decompiler.window.components.sidebar +package net.pryoscode.decompiler.window.sidebar import javafx.scene.control.TreeCell import javafx.scene.image.ImageView import javafx.scene.input.MouseButton import javafx.scene.input.MouseEvent -import net.pryoscode.decompiler.window.components.container.Container +import net.pryoscode.decompiler.window.container.Container -class Cell(private val container: Container) : TreeCell() { +class Cell : TreeCell() { init { addEventHandler(MouseEvent.MOUSE_CLICKED, ::mouseClicked) @@ -26,8 +26,8 @@ class Cell(private val container: Container) : TreeCell() { private fun mouseClicked(event: MouseEvent) { if (item != null && event.button == MouseButton.PRIMARY) { - if (item.type == Type.CLASS) - container.open(item) + if (item.type != Type.ARCHIVE && item.type != Type.PACKAGE && item.type != Type.FILE) + Container.open(item) if (item.type == Type.PACKAGE) treeItem.isExpanded = !treeItem.isExpanded } diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Entry.kt b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Entry.kt similarity index 54% rename from src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Entry.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Entry.kt index 9b6fa18..7126755 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Entry.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Entry.kt @@ -1,4 +1,4 @@ -package net.pryoscode.decompiler.window.components.sidebar +package net.pryoscode.decompiler.window.sidebar import java.util.jar.JarEntry import java.util.jar.JarFile @@ -14,7 +14,11 @@ class Entry(val file: JarFile?, val entry: JarEntry?) { val base = if (entry.isDirectory) entry.name.substringBeforeLast("/") else entry.name name = base.substringAfterLast("/") path = entry.name - type = if (entry.isDirectory) Type.PACKAGE else if (entry.name.endsWith(".class", true)) Type.CLASS else Type.FILE + type = if (entry.isDirectory) Type.PACKAGE + else if (entry.name.endsWith(".class", true)) Type.CLASS + else if (entry.name.endsWith(".txt", true)) Type.TEXT + else if (entry.name.endsWith(".mf", true)) Type.MANIFEST + else Type.FILE } } diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Item.kt b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Item.kt similarity index 97% rename from src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Item.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Item.kt index b9ddc47..0437b08 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Item.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Item.kt @@ -1,4 +1,4 @@ -package net.pryoscode.decompiler.window.components.sidebar +package net.pryoscode.decompiler.window.sidebar import javafx.scene.control.TreeItem import java.util.jar.JarEntry diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Sidebar.kt b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Sidebar.kt similarity index 75% rename from src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Sidebar.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Sidebar.kt index 3a22916..0641eda 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Sidebar.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Sidebar.kt @@ -1,18 +1,18 @@ -package net.pryoscode.decompiler.window.components.sidebar +package net.pryoscode.decompiler.window.sidebar import javafx.scene.control.TreeView import javafx.scene.layout.BorderPane -import net.pryoscode.decompiler.window.components.container.Container +import net.pryoscode.decompiler.window.container.Container import java.io.File import java.util.jar.JarEntry import java.util.jar.JarFile -class Sidebar(private val container: Container) : BorderPane() { +object Sidebar : BorderPane() { private val tree = TreeView() init { - tree.setCellFactory { Cell(container) } + tree.setCellFactory { Cell() } center = tree tree.minWidth = 50.0 right = Bar(tree) @@ -20,7 +20,7 @@ class Sidebar(private val container: Container) : BorderPane() { fun open(file: File?) { if (file == null || !file.exists()) return - container.tabs.clear() + Container.tabs.clear() val entries = ArrayList() val jar = JarFile(file) val jarEntries = jar.entries() diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Type.kt b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Type.kt similarity index 83% rename from src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Type.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Type.kt index c97175e..efda518 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/components/sidebar/Type.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/sidebar/Type.kt @@ -1,4 +1,4 @@ -package net.pryoscode.decompiler.window.components.sidebar +package net.pryoscode.decompiler.window.sidebar import javafx.scene.image.Image diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/components/Link.kt b/src/main/kotlin/net/pryoscode/decompiler/window/utils/Link.kt similarity index 86% rename from src/main/kotlin/net/pryoscode/decompiler/window/components/Link.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/utils/Link.kt index a92ba86..d089305 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/components/Link.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/utils/Link.kt @@ -1,4 +1,4 @@ -package net.pryoscode.decompiler.window.components +package net.pryoscode.decompiler.window.utils import javafx.scene.control.Hyperlink import java.awt.Desktop diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/Style.kt b/src/main/kotlin/net/pryoscode/decompiler/window/utils/Style.kt similarity index 80% rename from src/main/kotlin/net/pryoscode/decompiler/window/Style.kt rename to src/main/kotlin/net/pryoscode/decompiler/window/utils/Style.kt index 0ed9a04..ac5d7fc 100644 --- a/src/main/kotlin/net/pryoscode/decompiler/window/Style.kt +++ b/src/main/kotlin/net/pryoscode/decompiler/window/utils/Style.kt @@ -1,7 +1,7 @@ -package net.pryoscode.decompiler.window +package net.pryoscode.decompiler.window.utils import com.github.sommeri.less4j.core.ThreadUnsafeLessCompiler -import net.pryoscode.decompiler.window.windows.Window +import net.pryoscode.decompiler.window.Window import java.util.* fun style(file: String): String { diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/windows/Importer.kt b/src/main/kotlin/net/pryoscode/decompiler/window/windows/Importer.kt deleted file mode 100644 index 23be4d1..0000000 --- a/src/main/kotlin/net/pryoscode/decompiler/window/windows/Importer.kt +++ /dev/null @@ -1,3 +0,0 @@ -package net.pryoscode.decompiler.window.windows - -class Importer \ No newline at end of file diff --git a/src/main/kotlin/net/pryoscode/decompiler/window/windows/Search.kt b/src/main/kotlin/net/pryoscode/decompiler/window/windows/Search.kt deleted file mode 100644 index b598331..0000000 --- a/src/main/kotlin/net/pryoscode/decompiler/window/windows/Search.kt +++ /dev/null @@ -1,3 +0,0 @@ -package net.pryoscode.decompiler.window.windows - -class Search \ No newline at end of file diff --git a/src/main/resources/screenshot.png b/src/main/resources/screenshot.png index b320601471f32aa7698d321a743536cdb1627f63..23e6cb1652664c2a6672146c6691e25a1119ddcd 100644 GIT binary patch literal 44192 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

BO`-7FoS{$5Lv|>s7Gh3jgBU%j7(n&HD*e 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 literal 44087 zcmb@uWl$Yk)Gdky3l`ipI0SbK?(XjH&PFx~kYE84+%-rbxVyUrcXxNU+nk*9?)QGY zdUdNVMHSt>*Iqj2oMTE8s-z%^jEIj20Re$5EhVM`0RbHg0RaVuhXtMtr7PkBe_&ii zq}AYoA76O05a1rqOfw^7 zFXq&I+u6#YgZBxVln53)M-?fl42DwsSLC z)0L1Z1yU;9EtZAi?YucZiZqViT;NqCxr`*SAuO$m+n2EKk<-9opQf_UJ=9diqE^R} z!!ICY_kg{Ju>UO8R-0V)@4Q4(h1B1C(;&r|MfeR-qr}rUIiOb>3p&z3XNYeqDO4X< zT63pZ&47f2JVVB3XBLx?s5!m4iF)%mdQAM^oKoKw7Gf_PU7Pao@ci1_+tX229y4CW zASKcy)#fbt?cr-a_o;mIAvvJmBP{!y{aE&wa^)NeXhM|Wu|2nJYs$|>|Lwrrv}_uh zuz-HE4lDLTZEfvv&y(e&N%tptBRCGYxZ}2QsbNzxWb+nI70j*SpFe*le*gZR{2jfanqMnS5H;QCu3$V6Zi7+YVVJs=7T=?)G_~4xyHTXcVWOlzD|{u z@#XdP@wyZD{x0_avmuTijYL91tsg=|L#b9t)C3X~#AUkAVy5i%p`f7FbF#Bx3kr2w zJ<0$5!g{JJZyF3794b5_q7CeOSLu(98Pv-&S=HxDh>HKfd4URT9Bsj5UV_FeClubjn?zjChdYzv)34vExHS8qz5a ziGG=hLx~s2ng>_>2b2%;`SD*bF>&Z(leVh!-o8)7{QF7BivY1{SH<90HFszC-v72n zZ{8*h0n2IlT*o80N(B%f?j2q?tEkpiq2#=rLOP4eq^2hRii!%Eh9$kprlzLdMIMAt zv9VXT_xCPG)iV&M2c>LGp+3ME&i!YYB>PGYc2ep%3G!k9Yzw%Yot=Zed{Ljz`0+zp zMh5Zj?rtYb&Ar!(eY_&q_No}@2jcebE^U+?0a$;vvNLPCOs~B9(eE`V;68iVZno?P z2DJhjCZJD%B2ef> zFLcW0Oj`i{xLskyJ9%>yH7q}wx4CE{A+9|()zKLlieRuHwL+@V zY*`iz%_p#3WJX~eS%R(KR zq6V#3RhXZuKn;gVoNd1#Mo!+b^uW~kn{uhay>rjaq;f7KDk?`je0wN~4JTz-VxcDV zJtbw<0dGSI1__CxogIU0!Uypg_xWmD$$SN(F?XWIB?Vt!enuU3%i~25E)uLxwauH4 z8$A&S@bD0%f`aK5!^!9v7#klX17VR91s+i4sA3+HXJ@tKs4xTt1-p8C-{IpA>`xW3 z;Op=0H;nW|5EM17Bp=HvV*)*WDJ;ZADwzTF&6WBUfZ7k_vhfV&t8I_~h{jv}{W0H& zh>FtE(V6Uxo4fxIk8sY)3iHEKjL%d7&L5<#rUvs-NeOLrze5$BVI=(tuF~RZSwB8M*ySl^wEv)x zghxX9X}?gjb-vu_Nz(ev8#6Q{2LT+_>$0#Jb-tAxz`(+4;NRTctoXB;_LL5#aG}ai zSdG8W(lDhISkgoYZ2zdGgFZ*sE!VirS{Ei@$e;o z$SVbTIfW|=egq+p3ufgU zQd^;V5umyA3kpI2V45)F0wBuE%!K$vAsLAd9G{vRW~1kc$4;~3iXeai|Cclc;1K|J zH_u*2 zaJ)RSB-Cwvw%I4@;XWh;9#dR+#yvYbn=aQc&%`8~mVrS`8MC8Pe?#ysBBE_mkC77p zaspu6l+#-LO3B~94|;s`#bz>qYWoEFgn)pMW!TyR$kL5nWdZF6wSkdyIzZ8;Y97s3 z3vg80&;SeFZ5Y`e)?F-i11xJQKPWme5!d_XSYAVeN&^;z5=IWL@I4E>tPi)2=Q#=b$BzDV9xjhd9BO`(b6@b#MWB(Ey44n1gc<$h$ zs2H#kkyfx@k={l10;?&pIZ;fczyI=uo#J!fE zmk_1KVX0@ixy1P^y~d+-6mdVh^*D^UG7SR*pia7%h}^rwu-;SOkaE_LMc{Xvlxs;z zYmWlv`|RpUpy=FjsUhO$PX)jf#$;rS?oZhk9ugn8@y=D-a)pN4Ta9JEv9^Y@X)3K` z1a>||R#W{zPKP1B!7Ax@XvZ%WGQ`zDTL$yFVJ+j7FYywPV9gTIegtPP2##?puViqko-n8RT*Zt^{gK9*o zc6AAL^}(YHH$wojU0=kY{t;;gZbFag-`a1LXt`gl@dtNwC7>TPOJQ{m6hdyNmT=%k zBozm1ChK2g4Nqnx{?Au|)7%4q!ry4cRJzjh!aYu9rf=6J$ycV25aVIQF4Zd=7g@aqLtZYk=6`dGfWe za0swfPY*YyfLYrqW)SeXHoH5=+F|tncbD(fsUdTzYgfPofI7E0n6{rvpD5ASy}#TO zm6C$@xj8nyKAhtwjMT{`!N3r8F7GCigVJKaUIsr9eUmUPzF@&cx;$Bl`uX!cuoK)) ztE8LYfjDkBP31}0`-Jfp65nGsoG zVf?r%;;&$sBcn!H#t!1oA%Vgi(s1}_sWZKy%B z_xhH($y~*j-CRZW;#rA)qs!fv0N`yJ?TnYRGYMSF zxKVR<+oi3~>jU(qs}Wp1GrUi&&+~Gq9|u$gDI}LW3zT!D zK>(cSjOlSTy}f)W!Gbyg@|Nyt*8rzx=VpLuyd($f`yLFv;xr_?o_ z0nYqAJ|32)>FHWm4-7)RIZJV92-P$sk~J_O_PIV>>mhL5G<@+c9y%kio-9zVXAedu zkPs2!htMdB1E@FzD;wJ=4Kwz?sC(T1`K1C7p~utCNtXxk9E)Z$k%MOt!D8>xlVD@ z&GLiYd=|)4hDf^(mCc=cRvSK z48`oY>^5cwE3fVAT1$1{TQ5cSj! zXxK~3gK5UD9!?melV!ixom=17;Bnaud1wk-(&e(BAHq<)1W1M_NL6LJF^WV89FQX! zHC{MnUXA!)!~$xcCX<1V&ZTxgtpp%cZ5${Shlf80;~95O*C?j+H7M290c(lV=y9~3 zp8?(mWOHj;*U=czC&aJP-*nc~3Xg(fe0?Z1Tk9wUFpNyg(ZRtjWsg*14Uy(uvBofO9wcYi}?+IPX7kqHS1G5wn@H(^`Vb9OLq-b|_P z{p*}3WV^D`Dyn04b3B**+;W&IoO-;PF+AP?7)`NDMN$}GaBojLZ<06;JON4HUp@hh zd!;3leuGCyswIh3joMHa7bE``g!?oPbW+rYdyC z-KPf!!vP=UhBxVTrA`nzV_r5x1+T^euo$tt)G_C3v2k(Yl@`Mgnh6tIgPKk!%{OTH z_+jlvnTi>LzGvN*V&dZ7a)WD5-;m6zZ8SUhukIgFCyp=v-Jx@j0$fktFfMZCnE9sjEr1f=ehx z0Imm6cMr#lol$DQ89^bMZydE>YQSRDZJ-hch>2z2cd}z|DWI?GBR;Rwb~tzhgmz#} zKPXPxjhIh&GU&(HBdV&Pk?`F(fRIkx%uE7-LtTqXxP`GXnMY$9;2liQ3A{26V96go z?BsrN8O!eGf4(&ZIMOm`M_=&ik}ch9-8oM_C7`fStC&;pes|??B}1p^Qt;u>6=3Ul z9Q)vO&^B!wN7hJ`&@)NvBkPi1dcH6C&YTxehl+s};7kGBXONAu#X;HSmG3c1u*pIGBghl0untbY|IA!Zw#rtJS3>)i$k0|RgbNHalEn%)!)zM9eOoteS$_xE>kaZz}fzemHy z2DqSeE=wFG;GvwJot4y-08S!6eSbR(C7Oyy{e@Lj zREkIVip@o%V`4@Nm_l8Zv^ z|1uMKbX392UA$>1i2+0s41TtD|AMv?1q4(8XREKTPi9p0RczPo^pzmD3X6Z~O*1Dx zOAj;S78;PNs!zETQzhp)(>%Q|s>yQ^&4}D7ED(8A92gqvGGhMI=;`R|>pSACjA@>_@yl2M~wQhuew&5X}{^q`JXIN0N`akt|cw^Hp%SPD%P#T#~;aV_grcrcK<5M5@))>2Nf2YRBGZV?I+eU8C#kOeQ@;RJgdxiV?RfI>c(Dq|FsI4 zC)_uvu57OX+!9Wz5W~;*dXAF`yr?vQHl1q%u@P|E6`Xt3IxOLG*r>(z+IciKidO^y zs)9>iRQrNuKPN>=(?863kiE*^!6hT#8lSVVc^_)8+wShjr)J4X9qV)E*UmhX^Rw)A zHLM1kP7~GBvzwk>79t1=c}K$D#IQznK8>l6QqQSM^Zi2P#^Z=6X{tdq95@7p4}#}I zuZm0AaGyVu{U2jS@C}zG;PCL!rI(zX+-oC(t1!)}*P=43&?fhjiZ&}s2F`d{^9&)x z3C=iOnknEVP#2`kv4fCE7^J!zt^}vyU?xuP6zgi!dd}ivydJ{i5})KT7dGmi?^wR= zqJ3NE?&$DuZRhgmfj_0CDq;@Mo>=)sl~y5~J+SOZvWd~^>jxeS|G3?o6Zxgj)xEBd%r#7((N)93Kjp8Q?cp>F5BBqzzk?Vk+^bDZtx{08vUo6oS05 zU?<)*fQ)^UpaA$qKGXo64o#dJQ}U0T}A4b=ygWJ~R-A884{u;4$5R z0avNNPU~cXcS>x&$;>p66c_`1a{SWrd0AZ=drpG6xw*}q9aZ*6oNp^Pz4He=Kv)Pn z{EMRHWB=sc0iZRz)|`y0HOEA>BXa0*oSF{QtHvt(`}*1lC*u{C541A!OhOb$pI3ds z1`P>>a5OFLFy3jxZ*WCJL(e5D6Z`us&?iX~Qwd%7oHLde!ND*w>+2gVnUl5-Ha93C znV^F~+p*}q_d9KzHODgfWnm0g>l=r24G~qpb>#YTcgpOS$vsjIK9s4T%I$Q|Jd-|= zCuaQbMd@>z0h}C&q0BwaV-yW<6N~;Tq%)-+?KERYU)_=ad}Lj9#Y@&0KekoDo!(H* zGzz|^=S`{0vLyJe?hY!JFtC7qztY7=BF?-Kj0##+jr+Mk zy!Au35#3KGt5#xUo8emx*ovF581$zNqTAqPBv* za1mOo9nX(ZztWeksWhE4IZsWdFBZi<%sU(O_178ng$hzkCKI(eAnIHMRKF{{TFTg` zOYx1(>>JSjhW`8JQwm39lu~w-2H&i=+)d^LEkq9!RCST}@q9z6LvHK*aOLyRsQhhZ z#+`M~_XmSV8639QtuN1fG1Q7BXWmJ1ny(u9D%U_XIohFwvQ&U}VM|?Iec9*I+k=ol zGV*{ZWhn~^v3MhgC1uzvc=udU%n^Ija=+qy#@M2=QS>~*Nz1MgwT+``PbP@2K? zLK|M?wDgaVZbk<+gSI0>XrfVOY2t(9b$82yGX92BISjhLCm4BPs>j9YJc`1`ZYG0t zAbMcFMuKVz8-=SElp(LUDG_^yg;fGggS*wI_};LVZ$bpXJZ&0Cx%#{Uen4&`Qj3R);aYSG%ny)#O)3CsI{D_>A5-iW71TSI^r_0ziK$4^NyN!`0JIS>c}59pVRFDx(j zgLNN9;2?tMzERNNwyyIdHi;r!LzRZqTpnU}H#Lzfk<;hqq}){Scgr+_i9+ePgcRSs zi6_+w@@{MyHW+=x>ixstdV;YYutUr3tY(+>+o_=>05wiQcZb_%s7^Bt z>jR?8&)JsmJutp33(mTPg|@mgFs&>i`ggal$O`Q=)9O0Ic$@aqkw4y-H@QmM#T=bwW(37A%G3sDrSZ0kzS$cw`=S%pVyVvH4p!?!(-Bc*{=eefb_fG7+V3@@9 z`V8o{w;IW}ScuGOmXT8~pIm=9eRRBD*XyY=3PidXl3bm57UkPpQMA0(u#31Q@JQhJ zyo09MdL!W2^^je_Y1e@IGfqI3Ec?m++tWD$xgTcLVRzH>Y1D6`Tl^s z+y^5b1iBOaNOG7<(SkKevpz4Ed?+9ySqok{?oKrfn&1m5i+)m~CBhgzTd<@4oQ1WF zN&mU3^}*C)(S~Zpgq&uQ1cUi@(%3X5_|9=yG(D)!2xONviNvj#mb3dQ%eO6OFLMun z7ttdMl5$rDw;vk)&f`pCXz3nJ?Gh)Pv(|JKT6p(hFx~n+J1@F^waExm8#b=IlEa5L zyg_O*Qy<+jgx?1@Helm+E{wB)@u^+eLq4n=U7m2r_U~WN1g`t(zu@5doqm?lw~xpg z6WgcLa20%0^D#TnrJwN+8BJJST_;2O9W|rlvG|~qVE_~)d-nP|cas;De@#=80b}Qx zJ5fP&p7qwg!OWFTR7C9G=<3y003wZOAoOgRJC2{XTb5@d)uqGC&z=j}c$_)lSynqF zN4o7P0@Y%EheCHsTiNLVHGv-j%1yC2?=nnqJUcZvEj!Kz!J6vvVp$jn(fP*(p%Ptz z%^pu4B4aFXrcGu}&VF^$kqlYg0YrmB>TtuNf!jh;$WwnOXaJ`so=0|YX<#(NzcYg; z>wTBxJF7X-7Hrk>-eSJtKYub=HxiL?k(AVZ<1=Dpz1(m)P|7D==I$?cd@n3fvJlS1 z-ssH6l)lS>{wjgwb7bG)|B|Gbk@#u;jEcDKg^E`)$%_4uV;SWoEknpJ0KrDm!Fv_# zuurJIoP;Wx1x#6<1EE5oZ3d$I}#4I1(UY{z5o zuGHuh-NL4QM=n-=uPb@Lr8m*{Tu_SWb@9KUR>%)1Jn+K9Qn^4(YOqtR-#}59oN~h? zIvmll*k1{SY!);f2s_f6HvhAeHSML0|3o`G$G^oG-yN~DQJ%2&wxF@a;|7YJCAd>|Q;w)Qnam&;6w({9(Uh4kykk9g*;`p-?O9$T zXcYA%n#4-2w#kAyr7HI~bTI&hzl1kOpr+t|t{4tg2z$#2!|}GA;N!6I#QGHBOetRs zUssbqB|&kh-kf0c?WVzP>pdU6qn-SU6~->gp@M2XwydQyS$w8NP#r6^<%Ed_$xJ=U zM<%M)w(##pOs9zX?k;fI*h$uAe`o=Lp?{Cd)CBLCCKp^Fo)}I)Q9lVJnI9skL0;MvzG3oJBw*xb)QsaLNbXsI1A*mXzv!PH zni$jPoCYm7Y|Ef?;%6pS!gIvE+oAWwv=f8NOnVX%L*PJa5(5c}3=_GdU{`tR?Gfl9 zFAIKIBxGyMyqGlW?A}gO2x>SB{?1!USbR=I(b18v$qnNk_R_~+lR!Wi$PaJrx0q$8 z6F4@#%dgzdGtdtHCl_)h4(SUa`sFnR)#9+!Knw(+c8XF(LcF7+qeXzI9Np1MtG`ft zd;8Y)(OhLP;BKR%DLo}_p&H^13FP2FX69tpiAW8Ukf@y7%r`=VEFK>#o4=?er$JS| zF*SmJwmfrAa^N!cfJI+7q;gTW2QqtshVa6I>eat(X5S8Jefu1wHn7N{tysP{2IH^k)UI40h!PVUTZMufY5Sq0B1OX^ z2FO2mS)Wb%sZ3zCfPK&)C@;=pk!jxGyTMj!3RHAAWbE7(RkD(= zw8J|^LCoD>jJSmjR-IBalvpt;OoIMBB9-u(4;GokdBt~rx2n_mBf-Upvb31}YjEII zrd1a3Sc1@?zOQbYydRbOheE#Qyt=G^tZuGT{GU9b+IlCVwl`aDO33H&dmOAiak{R0 zJ_IC1T+?M=YkERthbf7a1YO0U1$98{K)FarxQe?iHsDz)r1NVtfned_F!1oSnXF%! z-onEJWem^%l#~RaC1e7~^?kaU!4vRi2mGy8nuYVTG#0J2t!ob3-N6hdPnufA3l8Tg zdVlqpu$aTiBf@gA@oarUVXXMRiSUWJW-jQ`o+B%~tv4ffDzzj%dNo{0=wdqx<&Vv_ zBzQG+4M}(+*7GfR#u78N*D;N=8h<{GFm~7;`X3G{nCJ6EqsWUYJ4L581eyvmTH)YG zS+ls?QQtU!jL32S{qpOg#7!ksx7}cjvwSf6C{tX5A6F5l{(?6g9%0wNGm9 zV&v704r*P$JJCwtNO{mPnS49PyeHkluq(SW4mEx`zg-n_o*kJG`-)j$jgL|FnNTvH zpy5!Mff^Z!DB@xF8GX%z19th|l@%$o11&^U^K~3dcqMDYmThAfL{U-itI4EVE1_DU z*@mis$xa5H%&{Cxnyq=^Wb=Q~6$E`}A@UzVk2 z2J;ZdR+Y(bQb;mQEBuR3a6}o>Hfk<15Nvl(O_)TAB2b$5_}9&Q)EP2?{fGP%HkG}0 zv_r{u1tcT6?Qu3&P{O-AY)hMa4oX`ir)-L+I7U>J4c4;cX5QwqchEJC?)|iAkkMF^4n8#&c5@L;J{X zkF|Hj(i-a#9h;F?UTA<`ii)4qDj*i#XSTe&NwbvF686hb-emlzv|KWKlDKsw{y4C# zv)01^BpO+u@G51-z^7Pahc^wMI?C+3Gk?Z642$zf%d(f%P??8R1x5c&^^p2#GWi#? zXT$FNYwfujBdp=zOR7}FnIh`BY6p%Y&Bhvz6jW8MlwAdZzV-TUJ%KWgHGQ}rO{OUH zm5LM$lWE*fyccb*0&}NpnsyA|zpJFuE1avmZ0^ujYSo$((W?&QT>HP@+QoE8>W~$3 z$iGE@igR{&h&^yf?JH@xKRiJHNo3d~>BzVmqQewgd6-kHrNk6E0|%X@f4qHlW3V~D zZO+TcgV;CHN4l{oxb4UObFC#i z^_j_6a0j-5IE}6u_&#McH7XueYs*B zgcd!x6+)-p#^^1BPGWS@ z&X1(5PQ)~*uw0Iz1x+wcTDQpnS08-sM5;?x0is7288kfV6X-h*{1U`&D-SIY$RH3P zv6dSXI#-EWwo`_e@s-hfjyZE0vUb8Zz_f-G|8A$!(Gd3QtcD);hNf{-W!fRM54YWQ zmhoUbJHI+p17*tPHxWDPb7$@*ZtyL0u>2=Sm>x>kzFF5#{4X%`>``qCaXfSWmZD}9Y1_%JClbdjCE z{8d+p8tWB_epP@==^cKFqVGPvOHtiEd3Cj zFA>%1NS??pe5kc_H5xS@5=6G1t005SzoHEdOs&!gEc(8m2;Qn^tZ&!9*c#XsitDcyrdrf zV+OC-%nwu5DQEBkeNfbRWpgkr5qSUyE80VhvUwNtCy(bH)()bRS*3rk^P_Hc?vK`Q zhd3f3;bU*`l0R91vg`d=l?(iJF?oQWc!P*sa)^-PX3AAFsmV{-K?{ zCF3%Df$YVI38nttGuEi(GbhFwaS(~adHr-sQyZn2yS0Uo$mQ6)Tlq0yig`!XPw!if*h6x3mpC{quYy2KhcaOd)+V^iESa3SBvYMQ;r?>KB z?nFv2f_KamFn3(o35bcNIViU|TxJ<62>hBU}>ku%KRE;Z0GNw|QC6Gi~PaJl*=!I6F_7ls#k;YkDxd=`SQS zj4PQDGVU#K-wEyJ=R|x~`g^@pvvKOQJqn<8Z>QeiXtUc+e>(x9kyTWikWK~3K2XGl zhD?tEP}Xx*!nuAZ)$toTk9=$eqr%%CmIf+7)O()pCTUMu6T`Ga+EeM8;JY+DHVbCc z9wcxYN9aQ}h+%P~?T;6C2BSfH7#6)&`Kox-9&MHYXfwlJ>--thgO6@xxiAwK2`Chs zv0&~yELs0e1O5zy3(1&pxJXLgQJ9u~%fKy#+MM+3tp$tEmQKrYd2DT-gR^{y`CR|F z`dCw)8HFr3V{qO*W5WAB<*{yIs#|F=d2oS=XlTI5OV;BbWgSf2TgiiUV=Uvz}*t>3ZEwBK^_p5t?$1J<8P?bH6?*^E@hfo$!e zqzk47ED}%8pqa|;(`nfxepX8aAwRx29$7)swGmzmMGNgO^LMM93f zzfr*+TM-J=skL6T7w@(i?m`{&M~wU75PaFT`883cg#HrH{4u`AA-q;t*pil~m?K036dAyz0V52ey$a822g)in z^@2oDBi+(@fZXEgjL&odCpI!;vNG{vTGmXEHJDP!Z*Y=F_Lg*wpvSj1WuBkoXp`{y zqP*iGTvdzx02NHKkRCAJW$SB^`Ge!e-hkJI+Lf!+ zUeNWZ$g#F|b&_bYlQl2&j70*EJ%5)hFoc0O^hz zu_Avt6^yzt3xDH#zQS&{8_SJznXOlGWGogm-Rn=W?6$xB+2{?k#8|x~Id!B(9hmE} z;e591OphSBd#y8=M+f&~=P8ESb~>V9Bnc@;8C>&1{j?QFkYRTnhz(RAzjspRpkTRD z(t5iWN3HGE?T_nk|Ls9Yw6!FP#rd&1$bxA5bS(!Hmi_&s7*#!frn&QB0Zv+DZ8u39 z-{%iY8;diAz2mbue^RY>-T^i8+=&DtB8vtpQS-KbJ1uDq6U*)!Vzoz7kNrsJ>=1FL z)(`Mj#1R)#_&`-?Ke9BbgCkx358vS?zOiOe<`SC|xu`A-!eN>x5^3w%A08378>?BdYu$*`qvM-ZMs21=a_>?<(iIqN)C+!MNcV3F}Ec z7stJfkhZ6jTo-Ja=luAQ?z4dR#0Movq##3%NDv!I$3G~03hZr|;nv$v4v?@6DE!(<@!th>Y4kyfdPw!BM)eYWke8>>v2h_;nyS4R|@@M?onYZnbIXPi2+wwQ zHF4St>m;14h!l){UieS;8=g&%mq@HN3wX@A^lQg4?n4AZTh9-zRJHQd>yJpg^?cGZ zaCK1!4Jy|cbg>mnL+;2N2Z~g!alwt6hB;Z6A^Z`Ux-7A@jqCdrdkO}W2c!K>aX7-( z=K|bmo3<92$u^z|!+r-nV#N1nJL9Hc{d#*d_L--;Z(|8qXBW|f^%oIAsyEqLzj|D( z>0zO*3J;dQ72|T;@m(smZY%{GnsO%m+=+$@V*M?)!0&Cq7Rh<>FL>vOxy~1Vq60Z* zbc?;b@+^OIUga6lJbflR%Obg}H(>=d!3S@^sRwZ;Q-7^Enqe9^qIa>ed*H}jY>5vw z2Hf``*4rgRJiYVga=aVg+EkxKYOf!U>%P&lEyzSeK1Fb<6s5=C(pQ=eW@?+9Qo3z%*Xt?2q1PimrvMIQ=?-dsN@tZt!0}X)=s~2Y_cDVj{g#l zZFw@-PN3ydew+}{HL(4g1QR|I!Qf0OWrjYEFHxZbic9?6ANfx8 zqiVl4DxDQKCL-?_l9lSRijtQl-+cq0nUMZXhFZIreYb%A%@1E4J0PCV+994HxfMRF z#bw=`X5@+{IoX#5TNWCzCppC{5>ivi<)d@qB5i@wmDCB3Lxw`eiXc0Cz{9rb#5(F% z7R*LYh2{;tg$22xKE4)MgC)8smB#WY5fAU*6?v6#jgD+5O>eUA%LBnR%AxbLy^0FwG1kc0 zk4*Eu9d`>>%d99Q3f1t~TgEkzR+xtd{rjD{cLW5~yJG zQlIK{mp2WE^UfFjr!#bpd#4)IVl8{(d?6b(OM23pvfe#8o{ZinoNVvi2yNxyWLTVk z@V`m%G1cRXW&lpV`x|UQQaGOfLZIA|A&#sRZm4ZSkog^YO(MrfO4lb8%z-IN=b=B#aYC)Js z^CY@K(dyJau`}O2dV*&v#+|3yV|cP>+4CS8ZVKe_Kg@Iuj`xE0z82|0_7D5z6aEJ> z#~;4EMM5sW$9LvYE~2YiUc~U8AbjFzH#v#O_1Q>r2c_!LV@lU9Tth2<*w{P|qe_qS zgWkxBxAojSrM6a!+1nDEVY9Q_1uv)lXBShNq9QI+ySF;p@hq0+R0`}aTp!Fp*6YOS zNk4i*)BfO$nmIQRxxIzUYwZZp#9nKtP6l2~vGK}FZcYTsq!HgTax0Z%V=HNCNtHJb z5z&1P5^q~(T;Q?(@UyH8EnKw7y&069vUBbw!e^jEOP`NO*44cqZJqU7MqV}$o=hQw z!XDCaXf|?c3F3l{L$lp@xOBMk!i@7fb!?GBh=Y1GNAw*l@$06IvGcD^`*Hi_#B6t{ePsKBL z%`2|Hyk>%?4HB%I_0B_0K4?T>8*$SZ66u-hY<3W|bFI9Ibf7lFtOeC$L&B})pJIOS zK2a6A3kQ?pViyGkU-T|UkU($WmZE>VsXHsIF4^XOLQ>t{I|&cDF6uso$TOGp=XI6= zDn}bvKGPGz?wGXfdU{2Q<8JdqzsA}|_aW`?q7KG_+IQ0fOH_Uf7-_u8>5MZ@yFns1 zIQgusXY2zdVoqCSMa(6(ZKw1BvbtljXt0q6fEQfG3`-ZKFd1?d?|Hci;hND z`-~IZDf)Ozzrf5k=?=ydmMyv&C^-%xRd_t^uLuVu+vQ#G74oo;=qGDWr6*k+#=k_m zzTry!c@W7%VFBI<)%HytE~3da7#Ohy<(FqK#zkESoHg){faNI)|mTAf?xR0ikk~ zsslJ7UhcM#l}vZgCyDWS4HDw~kAlSiatBkn6hU=Txj%pY`KK^XF`XYYGKfw{C}-xy zva*~wl&t)a$ldi3+@fIQMQX5xkITUT;=v>cL_j?+X?V!6AY;nM6?MXGU(UzdPj8sU zB~8LFb#I(A|BKt+C-(7 zfeg$2ND-HdVj3VE4XgH}7ErC)!<*XjFv0hlXV$;IQZk_i8`883sz32tX+cV5?RXlXRS9XH;-HFe3bx9Gz z;{6p)l`Vz8&IcIxGr0rZ1!|n~b~Gsgd2B`?mPz=%^&Z%subpcU-BCfC&+k)DI@BZ) za@8}6tle7%m3uK;VWJ;0^ot3|(d*9(8)&1reO|jsN$@`f-lYQGHC}IOG_wF<0Trg0 zTOIb&e_wcxd(Ga|870b%TmKV~UpFEDTYd4GW?}n(T|W&5q2(*muiq}G9ST|W>=E3( z0RIBO3v=q8HOOP=zgmE{vlHOo0W2JfKuJsOHp4KxeUF5H{0J{zrtkQZhQ`bOQ=hsL zOp{g_#Q4t;6(kz@WEoUO_Rk+_5P~MCf#D!jUS^=p zYcueJBz3G~P3dK(C|Zy|q3Wf>^MKvZCt(4r3o&>iZ_l3|21w<<&I3{8|7kB=H~P%t zKKYzFj-+0a+gG+9mo~>!?)<~JqVj8GOyuI|ADA_g?kpL&^b61K#?}3-O^cXfuhkQ( zhR46(_gdt~MA*ueO_;4PmkphGea{7Wt#jF?Jx)rB6AyJhiSu*6xkUGpg@n14!Y4->8&e z@+>4Ir1z|>(SdNN*nEOOC2d(*8F~WQAYw_04c+8brxz_A4yxxT-LK|-VSd828s{#I zR(h#QIJJVV#2OJ8C^IKnST2zzTfrMoyEN!BYtEUt^|!tFHMv~bhE~XW#BTh5$LjFA zQF(RHJ{aOR|yGL^oO%|b2@OFtrC}-t&M2Yh|fg1@ci8&HXf7MqTI=6ng%=K z@m<0n8A5H)r_Dzsba@W1KOykc>4$+Jz4fEZ@*s`x(uwL<V;82rvRl9GYqw?aGY`v$#3_Om_Bp@x*7_Z)+}?iz<&fBr&lX1;C^w7Df+ zz#hqssmZ1H7l^l#J_YD9Wt71CaX)5WYI=X`BLoFcGKztLhI8ZtNTe0-?H|959ek{G(pLrXxsb9(I=_+oDunSvQT3$-q^y{ z+HXtRDW!*w64mi?-s9V?8GD4ooNG3!;97>F{t<0Y)5T;Uis-+RB*h;a@niqWyKy;% zVaTMsdRfOihu@>-TnEWriGUYmXWqR%xT#NIHS(TK67s#?;$oki9M#T2?b+38P>vvuAs;jcMV!ll?q6m9J-ZKaw=$Acd#zWh- zp9DOV&xz~Ydu+9KseGQXdmL`^n_ z+{m@ux79rW?1S1IFgkk?V+R+T zP;)%Mc)ltPSyzhXn@UVo$MM#wn~i$@4qo$T*8~?eG3!|b5uKt$ju5_H*nCE4{D)=` zkFYl3AEw4YBBA9%R^9KCswGNcxtZ#W7E}&zA|I9_kp$*!w)U$S`BF}TuXQDd#2qj5 zyyOHUqZt!^L^T3!*WCiXB#+na`j{-MOEt1`z$R@XN{Qo@xfZ(X0U}S-WhfCet}ia! zDYj3v5>@?XOHZR@@GwNcy#yU5ETJy2J|i5}|K6MK;{QC(R^O*r9Gt#frAC;)K2J$% z#HOM@(%OjEf8{g$l+_k)%-6j>IzGDeJuE;Ne`gWvrF?Cp-P4g{E&II;<~2M@*Y{UI zQ3IW%VFlP0$d|@cU^X3hPS&(9GVi~Z`i}R=R5R9Z>?cl2Vp-aEa(LG3ML@7x2Xn#U zD7rX`S1LcTT#0$?7GO|uulnT|(C^OFoN}BVuRquQ{_oUp{Jj#8BXah{u!6Vo#)*aI z({i0GUkO=rWCBKlwFu5@&rLCHo(L)L6&>7dX7_G}9Kx?ErjaR*MxKl}*<>@mqOzjTYC_?K^$V zj7VdactXA;6HthwUDL3}!uNbJu1=V%7LWdbifwPOFBG>hzwZap-&(2y4_s+}n-4Fx zDq{az>*!;s=|f8*UK{#n4vEAx$B>~8D#;)GDnTh@!~vhqtq^$0b{E4bjZF`Y$!4`$NL4YM;+?>)Gg4c^7mYvL6&yZwcj z=S7H|p1S`FS#jk%?AWTO(BFSt2^Twow=3Tk8!W$To0L@=k&Y;-`zHNZY=yBk00Hg3 zv}v+wMlsK=!#SDOuIWtAT)V$Dv1L%TsgqHi4zyDY?g<@(;kj^##x5U&T0EOR7|Q>? za;96VJ>$GPc?=Cb7BJbh^46Y907pk{-5jbAzM9ZIGcX{aV*axvLN7d~{9xtJ!L=&z z(^d}z^{o0v8?COk5y(4_DPF_p$?Ot=I&1?fA7-(v=F0>S;FE?zwvrMux#4H>6R6O0 z@2upHpES5KEcdFIJe~M(^4F}`+w)Fe`J^NU!I_^X?&{0=WMe@>_1<)$oGybL-V&4m zM5>jU&W}U85gO?$eUeVf$jsP(n$^Tp<7G3DOVm^^kjMpm*f&qvgJ&y+6;m}lZkI>P z5FcO%Fgkg%?lL|f&40=tp{q{$)0j!KLx**Mshv&YS2osmOM#8)HCDH?c%tc(U^4%c zG9ZGyaD~;GSOO>7d~2Stb~~|z?FF9aA>5+ypJm?x6#ma2=gsZuow)}KPN||Kw+HGmrUGeAP0NE-EtgQ2-&tFpX6p^mN`;h#a^<3w1o+m` znG$D=jWA76RqB6N(^aLm^2aE4VZf~}l3)CQO;@MI=lhX_kWWm%11FsWK-qiL^0O7y z2noAjRDbm53yH&pD)Fs;)0aS97-G*t(h0xu9oV9(5rm^okFD7XD`yS(KCF?>(EL#cwE$Ic;d;o1Sr+ zn!ljEf4as#jya00o%=xBU`J$)Vm+!^O~tBCkBxHl&2B=oMiWcugQ;y@s>EX{e#}7N zuGgs+tjehHT@l=5UMWdo<5YAEtAK|KuwGe#9Q!-0a*65zr%=fq`!(-3~ zrS~b@tcRa7yiD--zqZCcMpv1=~?Gn2u~FFm9HMt8PNiba4)O- zgC>{{lq!1pHd}qB6g#K)-if>Z7R~rt2rMv?GB#MMRE{YBbGV67?#6rZ4+API%b^5E zEkzYgOgYvtwe$V;b1dCXfgxXAdd#4W3hy7q9?F*O%CM3GD#=kcV>W!|bUVDVtehYy zXK%@7G$38Yj8rfsDc^~F^zI0r&K7AyTvvd)2&n?d_Df1fk-w<0-$n`On#ANYFCR`eXqO^DB( zG2my!MQ82TV7qiB-0v9$O_HiH8%aSgK3wnMRV!ETIDN=I zXYV^Nh5S9TZkv*gmfJc2_ST=TbPWBe5RE##I0QRIy&75Yv&QY4b6tb)nH1&PLvP}6 zzI+kx4MhRq0n^evRydH-8Iys@iQBtsas8K*G@cN&+(bLjzWTM@A`?0-a z+~spWytGmAnfTB8=dsnkTNEc1HW$$O1-5-PkyfCP*o|l^Hd!k78ls$5aaQ#7+CJ1A zXhGUj^FF$8pr=gG7{#4o8A{f@m~LIG-N39%sE^hq$6>0sN8Qz_)z!AW&+tho6y;%E znv9q%4*PDd>wc*y`){QgPcHQwpxEU#BfTFFb9Gf-yP7d9b?auYalK7nMw@rAZZo)cwzvoTK30K>v)}p!;H}flhX4@@cvU*$9 zKsVrtFlViZt5vH?P7V?pd4$pwQO=wzYK+I#P&dN;jOo3=xT!|_^)}hRJBBslrC{Yk zWoFkS)lgI-sDqxGMZS80)%9pLzw!t6wstT6fDE`%@HauJ@}^NrVrzAsc#UPBQx?4X z*58RQzxRqvCi%KAz<{Z?P^3imNHMa7zr3|P{$rZMH#z=fey5qyF~pK&6kW<=pL1FzZ zDd!R1S>u7(b-ns$r1WXqmwH38FTFaGV3iNtu^7 z5h`%B9=mbKQD0JWyi^B-nVpQ+kJ}-7X4oBb=F!EFnJsF#m-{vEfzSJ%MYHj`cK%TZmyrGKi#orj(u(UJX?z-jK=ey{piO$ z)wq`x3Qi3>6eJ`va`NA^kL$Ju5eFYJB<=~#H}*h_O@|78C>!s)%FGC=(0F}sFsBfT z5_SBOeGYD1=v=Jd!N0T$^d`|fa}oM8d~wZRi?^`aF)Ihs9xl%m_cL>xN{PL%VD_)2 zsH9V1cO`YZcT?sKnQp1A6v*3IkAL%hU2NQ?&h4S1j*rUJs3oJtVnrVZo^ida;cZG> zwffXihW+cPB->&7C%YTxiVE+SW#~s`V8Gd-ug_aec1RM=-S}-edfeG~lT!$j~&Fgu|(yhJ&w!T>b?z@WRwgiR8oNu>bDIi7Db-5O&$2 zSvt^cPJPGOap?AhMq?-N4#AKqO?3D=OQTCl9qI; zU5Oduk@??pA;qK9)kcqyw=r8A6}UKja4waPq=KB-xwFmSm2_x;YBt(>2to6#dTt;^ za=k4q1zikshk`JR?&nVRxT?QOqFzquS`zA4E#0T$x4pRo^-hegI7lMtR&0=PnZ$p$ zaXlv6B#!rPl^Mqkpi{HP;U=~&m2&MuozV2kLYH4fzY|i_N;ZjQ@WF>b)i$81^y&*s zno2?OVZx>0Te~X!wi^yGLmh_wZ|ODVSbV6gq3~smNNe}cgs$u(A_G(9!93j9 z*U`bGx2WDG1B{bhsSMJNNgr67yV=cb^RIHDU4dVuTi*vQ69707z+)KqqsWM1)jOsp zs#)(YF6ImDI0F^LR~8ulSI;9ZPNH-8nBA*mz3QG4sZP^YOZ713>euvedDc))CR%*e zJ58w<6QVY{#?6RfiW7Y~Ij@`Pi~W3($GWW<7aGeIff8TN8~;iZi`q)*(nO5@Cj+MG zP8Abf#Uc5LKIES;PjGghs?vnL8b#(f6t-G@QT)lV>%aa^19Q@q1TD|VL2!=UC`}p| z;!AEpPBp$%_`E?pf4CWTiER0P#eT>&b?{h`S4MO?$mPhsSZoa(OTDfNvmYNN9~=(_ zKzDaQ_J!bs>UK;YrSk4ii+Dk zUAM)KDg2o@Yp`_^Y`vQz?)i7#XnwkCCgZ7o{uTV-5BVvbEnZQ>XruzCq!&|JoMK#h zaXyU{2eA0d|0ei=xl?;&4fA+@aQ@&i`aR{iVTa0mYvY`3py~SK=nn{6dLLHfH{CZD4Gl ztc2^ot@=h)ZRRm!^dojzs;_UaU)~u&ou+IomEwaiyCK}++W$k^mL(DJwSR&!sojlB zE=-KY+TtTd<_3s?F1w=!OfFtwT;4(?y7IVDTwLYevVln^0rE|-!0}=+9&Vdud>H|f zOa!>vEWWuTCIY_mi+In}8|NWN^A{C{0RQ*i*M=ytyPv<5E&Un`rmT5WqsBpv!~!4r z>1SN4MV*DVeVD)oDOP9Y^Ca6AjMwcVnA1j}(7TYAdqnmG$PpgFTz%26qi1w+Z1Co;a_+<$2p0_jYmg?ovwRMpLz%_S)90S42H?cRssvc zIL{V%(cFu)s}bnEXyZmlZ5`&e4o#l}950TCjyGHke={c$f>El!Wv9z{aCio2(ZMGr z8;P85hLnp31}qHlqEC9#Z@7A4nY4bX3*yywmzc^9g5I6n?Z8_lHN45c%#xJvf4QJC z_~e8q1OeoznUl;Uzk#Wf{5-g2d_Lg%WI`(!yYXw1@mz^(Xs+is+s%iQ_4cD1m@gO^ z$-ZkT+oNZ%wDN*KzUOHwQ5} z@wmO!B+;rX@;^qb84Jyik|k3MmXX9{5nk*%=iO!JSo=RY+PR$B8w5}KueTR!y@maU zvs7rg$@Sz4ta9@B=9cesRMuoa2TM%%-bMKvG(h{xcJ}yp|0NylnbG{*`5UTkb57Xu zBcyuAICa5lS4q~Z$f-|H=S8k{c?o0f6i8m4eR1PPYaWa!;m*+1ajL<+sdVB4OD?h6 zaW02**;7En;+4#C{ME(Lk3m|DfT_e{nyw=c7ufp0hlA>D=ZgYCaxLC9n}i zi=}6WCVw>(Ayb=wy|C@%OT$vsN1b0qt6HWLCe4UmQa0^;^26&JM%~|cBWRd)PW{1~ z(&+zm2~Xwp08Kh17CCSK$Y`*vEJ4wER1pp{w%`uGP-epFexK~iT(#Xb5_(# z=Dt45cNRDAJDbaenemzvO@9>O>v=Equbj>wXCzwu6`2*AR>LY)qWbjAA=eE(M%get zL}Y>5M*W-P661r~75xJ#YZ5lbSTenYPnkyV!tDS*Mp7;SJIC77*FSFvuvhRn@cDXTm&K~(M+OAU3|JjG9Q}1F6+1xhg66` z_VPn3W`;O;r0LZiYcqISA`ysNq#?6w%aR<`1bWqhgsgl70@zqtgLyM{Aq+?nIMh2dv>Q)7*nC^vr)xPNKQ z5sqHz8jr23>jqRjC68iA;dyNe=Z_bY<(K8#!mri*X7dEMSVKZD@#xisL@%fI9WN09 z=o!7yQ?^d6_dVMPTq4}wHW)-XH~QoCRPx{@*=Kp?JOw)oP#912h!ylS_Sb2w=%cg- zx1ajp5LP+fhWZHDQxv!HYd}{02rjNzoP$JH`Z%lG_hJwlt!$Ro6aIueUpQkk;s8cM zi73wH$W3vHDL=TKv{y4eUUbn)+Ar!++61^yxw+r9Zz~6Cei~}U>O`l-_za0MD4#>fJu&V zpFcMyURS(NeD2YE40TfD3C*pL?^R5Y(F`!rqzrbfA3wA|UzDGQOb$P>vj{L+{p5>6 zrX9S^`!y#@gK&taGj+8X>SuH_cv1VA*q;YM$vwBYoCV;0I(z?+wJdSk5|+NYrLU39 zxT&l0J|)R#VV^se9U$fAggQOpPEQ0J*123qMsa0e%Lh1pYA#C7X1?!%_&OVaJA8GRmT42MJEqZfns1y!z6}(cW#X@A_Lbr@jM{PLz*KAkNsqw~(`pJVSjRb?+#2A(x^$16$$t%#; z2O5%?L(dzlSI1j#eih*SLxRNO&2S-8eE7F*)f z-kPFjMNvLI_}H)2V{*u63Z49k`Ej;Bn(`W^MOd5ezE7NgBd4O&V&kuUj%XpFEL=ce z6lD7_7xTU&&{2fcY^GQ?oMWx4d0eyl^e)j@#e@XD04z$x*^bq$Wg2UA4;#n+m#^tbaXK1KSAdXiR? z8^!VcOE+dUw=5dyBQ>rcBoeX<8s7`AtXTOI5GUe9P1w47K-(#WXtEY?T44Z+3D=9l ztzb{|8rkFC-m~gYOR~7XRT+;aJG!xwCwdL4d}gRe{*S1EmL*Ajo&l#(iBo0PoG%l5 z=HZRwH31du@jP|cZwcTDm#2!=C)LX#8!g~1- z0dZ#E^e3j^A;kePR$o}h9o?-twDNVAI~PyNWQxejBB#dKtIkuzXQ`udKK@57nX4jg zl$)7yyrS$0Td1SsP%EtBo3TgRTtSb2Khquaax|5rFGu*E?s9)(bGeoQWtBombT{5@ zR?t0m?Z9zbRu{FyUrrG8bUr^-WV85A}#pjtiuxp8Hh(24c&6cQ!Y^mjm(5OWGQf&t5BqQ!z(P$-@ z(Ix&P;%I-cUVJug%-}IX(ySOYzr6Y4<8XoLd8==_+@6kHuHog%Lvj7N&cHAI(dzb7 z)mEUi)b=@7NR@jd4QE0^CAt_V!@D+4IkklG2|h5dAb`y8KxiEBfOS5ZW2vdgs+>|; zf<%HL6@rLYuBQMEE7#H^Z~Qj+m$5lF-qVtU3B;FE@71m9sFe5nRW3`pu|s>uCy6|g zGJ#gr8n4_bGbVYpbZU1)_UH;Qps+L$tY3Y#L_(A{H`m)aFh@QYb2xj8_qIJ;`(xZr zR09)JigsE^m;3ZidC9#>ro`Ts>oyD$ZZ}d1&1h0B$z&!k9lBM}ql$)&!ZK$9j)$Y6 zI?+}WGs$NTjvC!kKgp@aGngFoZQv9Wi7>+F96p7wZ`O(Rl)dqPak^0!Ei! z=+<7-4#n~PKeCf+OTACUyyYLLhy+xVWhPwBlokprdRV&FPIvySH|Qh2!2FXt;WX*# zq6dfffVCK>aIQ*WoiEC2&+&)tD^37yms3_ck%&}BCQ7S(jJV0>KoL!vF={O*`%hH4 z*OLPdF|q#f*TbuM^hO}k&S)qi@N(e)G{KS^%-&(x$#@c%3RPlV&sJSn7wqJ5J*uZ1ACZ{^w&x_6~ z$&;J^BYEi`|Ir_(8vIA`GG>ALH6&A}!kMW^6fqP9am{qNR<^E$nH`O8$wTFrr6c*> zGa~~Sl0@;^*dlFV72CFU52LjUXjP}bZSEb4S>JGPu|(s>EbU;ED<}RAJaJ*UerH-M ze{QTWDo0VBNC4C?{gD$z)@#|9mhH{YoO%t_xUBz=LR+Za4C5cKX+=sqxteEj?P-1~ zkp1ANoQB{r0hj|VsG^3`CVGsxOi0`1!enq@?e`jH{jyWaZnc8( zrV$MGS3!F^8;C=$(V8@;--`@a5k(Ssf>~b>RI_J1%3{p6XQ*&M3t>b)bov=F5ofY@ zqSel6|GrrFe8T&yTlR5NVGn5Jb1Pxm(Dk-Ci}$>Dw2nh0K^`4$qb#M%iE_TJ!4KUI zK1X#M#nMQ7gY^xarL^gYMwGLifUNY{9aSG%KH~<_kHQZU=nJG!tS2qY{_C1(+p0+~!lA71)c_l%F|n3_oeD;dn*(jbx7KJFPs z_ejS|>o1tIiRmc|j}I+8A=2LDF8u3TN!rJFx_WU4W`n zLPCY_yuudDj}Bs+4RRz!J4nx2>HW~V1=c-0IJbIz8*xzRZhWG^0!W8b%~;vIu7*ST z^ko~X_c=wxqU$8$FTV|a+W9Z+Z%7-L7_uJP$*}nOE-r|=dV)9bW+bD+B*b|99nr}d z)~H7F3~spapC2(kPiANhXZo8hPgs%!cZ72ZU<-?ev*_dcf?0 zN}e$mP#>@FW+D`;o=aQX*2}B&o+ieRMDmt)&Wf-VQRcL^T~zCX8Z7jgh?f(>Z@F5= zn$3d@^`N-gpUf*8*G0i}Gj)otFkpB<87_TMY+}+0fNQaT_aiwWV5_RPBMrN@qR3_1 ziOu71EvhoHG_6i*LfK&fOYp5KpRF({qo8MI1!IuK-NSw$Ek(F$CopxsGCIZ|oHnfj zR`SljcA!tSZtrI__*ac=5uEzv%qlf8_qWuQ;rW@cHsZ#Gl~G$EYncB##$hRU3BRic z*LsvPSI7;Sv*&4lX_h@-@~(_N?Q(q5+z)MQ4r>J>;BKemZeM+pdq!u-S#d`@j;_Pa z=n9^W*~fhm_!-r6g(eM&tKa7h4|0SMM>sl#T?fAzpXh4h%_e{NWTTK>_o_^{PSKer zmzVl`{=n)S4@7ele7qKPMt$woD*rEL=uNU)O9_Jco_@qpl&-yy*md0amS&ev*;E7v zm``k?1JMP~uhz4YpMwWO|92s@Pu~aqqcAm9A{-~+)lQ;ZuU?fpkAVQ(jRIKX4@Xi= zu02DSLTx^##iUK9pUH5XQvWNj@tT`j?R58JU-!wSf8r!i-97G`N=t6XHjFhIf?Zt# z{mMqt>k5;z%$QOG(mK}p?$den?F;RIe|rGARyQU=cV}63ZKr+S3c4#1oZllU&KP2e z%Rv?*APpZ4!ZVx9FkAV|j+L2uJL18)pPzhPK5%^*N^aW!!?sVLtg{u^Dt1-^RY+Y` zsrRBvE)ToN&Y$xCF9i|4Hq!9_G7uM*?Hbkb_$|Os zgQz#Qe?!>4U;zvcn}Q_wWPcOF4LoqI*tQbM|HFtQ)-;(I+*~uMH3{Y;SIOBrs*P@U|c? z=sq}EHz~Rxs<-#CGmIP9A!AXuxESYI-Q+Pj^~qf_R;#~nf@$V%Zu6$>l+kYk`d}LL zu0WSgmhPV|Rl(zNp@s{}8{+EFpMbtpDwXaW`-3^_#;z~j_^Nb}UER}5PjPo#VHo)q zGf_0U|3@sWI4CwgR-l9ebgYuL?amBXZaNuu5lc!^NbUr%`dOOrQFLW>0Yg~RJKhM* zW76pdfwIq=t{LUkR|~5Ok7seFS$Yhnyl|{1*_;PDgG2~)N>SpqtCx^TBHfXiS!8rp zT8yVR>Oi*%v!xnjSsHM&n_t|a$%=}S8HM%Krxaea-_zYW5t3sRYq^^dn@OJK?kKwC z&@a*7q)P?+ubIBY%YkjvO(tbyQcPZ>)LMu*{l5uX9c~o)9D4eqwxUb zM8eBT0$DW$M?!Giepf5IErb^q%$Y`<*I}hyL&($+8S!h;lzc8lA#5!L^MlG}i zJOv&nd?$`}qqJBcde%9RsOyD9MH~7}6?2n=d#n*0Cc~vfsoC{Q(reV+cj}ClPe1W+ zmah-XTq_VZ`idyXEYECrw}#OkzSZF5K@kFoT< zil7%;uZQ6eVr+3|zCj$qi6q@%>)(G>8DwXLml z{KMQY{8qvVk~)FS`^EfcIdJ$+SX0qjt6(ype6>#;6GXbtng<+-uu(Iic))u`D3pm~ zQR^kedDqSZY(St`MT4%uFED)S6u%b!udE~vBTf}H&r8WO>5fFccJM;~q6%02?y%cT z=Uev=R30_JKvEini(KJ9WUQ!JVdiHis~NJz3*Jg|OLqn3ZcZPL#oPc2g);=%r6=#c zZm$0k^nC@Ij7&|{+wOlVxjbHsF$bc5-PCLPGUtMIFs~ej-&M&GQ&#*roz`RomE4Di zUyd&ObWIT+RK<6_(?rilI3dGMx8Ww3ObCK=_z$^J$mp7bgqHWBs$A=1#rKC*PAtOo z%m1i@IQE-12L>QM9P3qS1l5^Spr@V&8c-;#+zO3TZoa^x*JA1Vl&Q>2tlhn;%HnP% ze&3^rH{#g-Od={94d)gNOQ)yvT) zAZAlGk%0a9S0RLt)rxsa7wptm?8WY*2jCO?ZqbL4b1s$~Sp}U1pg_e4jvP0LbFK<# zCMWYmz)KrL?HlYfMAB3E3Fy8{?n{*FnbYNa;U5wp5zCqjTXub^0uXqX_7(mdmk^sy zNBZ3cr&JwEJZLl6Z~9j{@k_e3%c&j?ps8oSGGsKke8=-)JHs)hPKx&BXm((spCbnB z5JGN3jDTl8ih9}C2R#!1JA?bO8$#X$;7}huSJxFxe+aN^jt}ickCn@t10mUf$ojbz zvlOn>^sPTpEH+wm0}YbtmrNm{u}Zk+;HtiPaum5d2V2bIcY1|_!v)P&QrXp>Ejuwk zc4)O$7?3|fa6(2xrQhG1lp*lX=8j1_pflxuQtZfJs=DLTRDS$R@_DdE6|ek|ma&o` zDLp>4KVB#w@GiNEs2P2{X@$fYOU*mBAN%P8DyF+4VoJ8x8)mBP`fQ13rW6}07nHJT zf6PV!f6?HSSk=u|;%?h2bL-zt3Hp|2$DP5s0$2C93HPZ(`LxKw-W+*f9{pT93=Udt zYga&hZ}o#Lc^`G4wF92#E5I9SoD%ZTw8Ovcn0lw+V2fU!V)u8qh6&T^*Z%ZgZ?wK= z>EbT6mX+y&?<7`h)U@R-=4^_vlmaEq@h3V#PKWJIs_=ozEMX}scD1;;w<4YI6fmM? zs8EQemx2L{R#Q@LBs5Tmj!7X-WLvFdZPlUWjgE@6)D-h^0HR&pbM9|>QI$)<+N-(c zN6YL-{}qboKo)^saeUlsKf6mmjAhIHro`)(3mcasRCot9W|b#N$=3XgBP+4KI8RHK6i0W~G zsClPEPtnktucTr1BXGELK~Pz$g_YH9G!GOP*3lD5`tB6hSojI=^ zQF0EC?p8u^${$<9T!fvcz=hu6id41j{^$E__00$K8N8He{GJE?s#!F)FRoK@3n>h{ z*&ICN|D*hNwZj*RtRo~MkKZ`iTN5G>MCAOmtuj2kTW*6p^)2fssl!=*;ANja3-5$c zZ&tuZt1hSiQT{RHeqx8w*OV?Z?ujQH9W?=cQCD-d+pNHw3Ut_bzhlrIC_3+Wwx zgHm^RT)nl^PKvA(FC@Qgh8&$AW(S=bJAk@(b5COi0_*Cr24Zh^A`gLvu)^qL&&PHT zLkQB=79daU^Jz(hN=?R!r^cNUv>JS_+I)HxgsXf|FK^e}*$G)(-G~IUsWe-IHhcn} zC+_VeEWLLd`?AxJp{zy9ck3aKyXJYSNz8sR(1K>;4bk#}v{tjUgqc4bh{`S;hyd+T@Oo75MB z4aoND#s0xU9sDW2df(lc`sU0lES#)Q4!cAcYhDYP^b_NJMfs>Rh<)J8cM`pRPAQ`b z-tQ4qS>1$n+5H63zlU>OKN-E8)kSkkd~aDQ=X(9z9c&)bX()|IAdoI}HAG}fq7MVV z)HT3thX-orTp65)?_%CDkR{0sYdqy-^VrwX2iy^kxo7tf9%+2uKBfL``}7N;Ms(@( zBS-g{`j&dglwXhX8{nB>maZ^-iqw>^Z6bD%kU8DFn&(oq?_);t?ZO~om|GXBAK*MB z3wJzxo}}jHfVCYGY$q)3Bv46Ny}dEVmNqd#Re$QzV_++x$&Q6uN#*=^)pTg7ZwTK2 zr^x}GPH=F(rSkGu_0>!i!-MT^`3>>H&-lwWZr*j-z8&-b#!nu@X0kNX_Z!Cx8;VEg za`b=qThMtn+;ib$o^Vod!WR_d*!Sz<%rzinKf>u_sg@9hUG3Vedtd>_eSm`g`tqTy zUk$c2TSbBbm86H^1k&S2hlp12^n2eg{YhZ98?0--cN>@ojo^QiM$8n*7CMNha~;#8a%@F#-v|?gsMcdq4LB!S~ZVXG53z6>85+sxmD7cRC-IDduZrL`g=;F zkGZJ%zMTC2l`B%USVE*!*8CuSTZQ5Q_vM!m*{z&R?s)qZY@02TiWR*C4u#duR-4jG zq&Ti!$V%JwL+jB82;@AoQYNF2?pNifl!jkoA0xv9>9+&7zlKLf=7$$-m5{NNyoie_ ziGz4p$8#Ulri68IS5uX+g_W#?2|s@xe!?=PQIr&!p#XQ>-%DtJvRf|7X{^ti*xz=P z^>TI|Cv9omcNNTWmQPU~G;PDHbKZ#nfTgHF41=dht8OD5hbyyfjoc-&L)Q}zj(*RD z+pMSK=R3Xf;Gckhh$d%7lr=tGi$8@v-x0RglCl6qQCW zDw=+>jGu#=ee-o5{n{P{_ina?MR5Y*vj)kKUQ?6#z7tmQ{9PinX?`w!) zx$9i50&3bCP&#p-^m#XzpLp08jmh_FB>B+WV%{xCaBz-gU+ zz}fQRiF22J5DvdhRto?9Iw=zI8GiSKS+LE<{?8Nk<}2A1=kt?4e>YuF^d2+btZmb> zI^qP#d1IyUi_Vf#$I~xwqTXgnMmqdExj8p{ob5Xw$NAWHe7cWd+;{Khvss}buB*`O z;FkT%*wIBlzq57#%nPXD$?&Yz#0S-<8;Iv4B|CAAwnPS<25B(=mS{ONYu7XugvOr* z56Q57UOh~oeib_NFcdBV@G_A3b|k-z+n_<%?;A+sVcdxbS#8s64DLwo;3l`HIjkPO z41>K%vPI$iX_od2omouuBya~uN6Q6n(tWmeUO9&>nY)U1d}~})D^caGh!!|VOI4?D z|Mp6$`&P6T*?fym&rTZWp(Npdmh*hwIh|3m8?KTdNq^mEf_Tl0wx6B&4|(SJD8xSR z{g%y{OsxVUaPMtH5;)K1v-CDDF0-y$;`UDmAsR*U^2GkepqCl{4yFmgw*t?59KrM% z`F83g-sjp}iWh$<WUe@>rje|S6Gz2?X3EBI zQlyvf{Zs_pFA+TRy`}J1cvw116A2-+tlEvdeCMxQMxOimRrE)I@!)X;E3Hew^5Xu^ zE=lWG|GEk){tocN_+7M>WTM^G*8PhGs_$U_4Sm(`hJstG`P{S}%T#vGI8N#2=Wj4LcR8b3i(6;S=Wx#2dv<W z4S|eXUn%6eD>inNokOOGfZtZ8_gMB>t$K~#7p=OWTR-l0D{W#xE0f0BwPw)--b<6S zU3Js#^kjT!z)^gYSa~U`d;e9Dp3~I=gvKQ5+)-tu0F5uc(JBeZv4-_`X>aMW`jYkF zZ=7yUQm5@uYr>cGw)TC4Q$%t@4}5nxjM!Fr3W-&oAt zrVR`j(@WfJlnbK#Qia@=+1aATPQT~dA<-gHfU!7`hmzm3kU^qX3cri*n}dRdTP8Qy zfKmz{-hM*toSV*|&Cduf@n+3m%g@8i+5D7aN5BPTWgiP5@C_umKhtuVwy<|W#bl^F z(IW%l9_+a989lG0vKoDey^FT9mF}Hfp;pzNS-;dgYu|ozVbcC3)*%Cr7ERDJQQ@1q zQ$}YmslXt0o1p7=hrqqt!#mHGV~Di|dQ-g1tX0v!AA@k34qKQsZa8nu`rr2I`uQ6i zH2_y%>T>q>Ud=7cWfIv;%h&G4cQ#(>Q#UqpW?QcYa||+`@3XV_kvrryZM=Di+gROK zH?qZ|unXO-TtBYp+aHoREhXQZYaJbSyiUJtDezkC-Ps6SJBMg*Y|(4iQ%7MlNcop( zwH`$L`|4Sor?eq){w|i!ZJ($GCqvlpa$W^AF=Se;DjPVL*}ehyY~+9VQn>trDfYV%XUzM&t6jv}u8 z4Qjlr=Cse@zpvca5NzkWzn@b%Zs8VuJ{(&D+>KIISG7?lTdkO{z`w;4;5UJ1i{@?F zch7X4duMG0D`{-}J7Q$bdirF?UsfGv0&glFUKbJv?0}hisk-Sodasgj$|KwU&1@R4 zu5&p)r!_18PkUGXmUPzksit~nN`0rE$=s*0vMjY+!*$BaT&XP0y&ks|m6X%~ftHz^ z7OhZJM6tysQ!p1aMI>`_LuC@d9V``6R1ySa5nkqb|B3g9`Q@DJT<1Q^{kgv9dw9IN=-7rNnX@6-h3zAy7!FnmJ~qOwBdII zY-na*Co~jFZ=pR!Z?vH4FfPr7nG27Va(@o|dY0Bb%_-2VujR@=)nxXwU6!6MOE<2n z;i^J0D4VQfK(3AvJ&MHXJEdS}pCGOg3~$xO3~#bwywF1*v>A)5Notv9kFWgX(Q93H zD>Kq{&H0Kyg-?LbE_P808~6ts1wS|j&E{tqWqCp^@h1rew)t*7A!eUK7=s$#!(e)(8g8 zRn_*fvQgB23-?<=Qk>)QR#_Uyf2T3+weBkMY+VEC&p*yoM-NdHpS7H{S#ceuM7uu~cT=6JOpd3r zE=(>)iTIib3{^Ire0r1aTVTz8gS^hS#%=bbrf}QLm8pBWuHWAKlgpAeZ+S!+#y8)5 z?1Wn#*M`u8;T*th%O^J4uGIi;VuV_7* znvhhMFU3~<&;AAK;+m^wZAdjLbT8Qm1{T*=p+C(oM27ag%N=SWi3e_n7G!u3IQN_V z62XU0w2+HGPWujzxT^;4P7D)nS|$4+`0LjgxYyPT{j-no!^dH#I+q4Nw?t56cU9AO zXpG4e4-cE140LdS;!h%Oim46Pcej~0`u95#5`w{4i^VO_c$9kjcXyk=u^t}8E4<@JuUwUAdk zN;T&u!lOH~IzxbI^Y}*xt1~waL8h0Z8X0vq3`B+ma`Y|i%_U1{o^fF(^z(gd@{32% zLm|Y<)zXEr5tq)m>S0%F;tIYQo-=Ekx|nGFDp1%DQ7gCOGQK=%V7&F*jkO0ARqHQf{ z_#W`~`1d}~uaE^RDxucJb8vc~u z1!f8#3;H($@{Q7a?!59RcksGc1?;|YSPRg6Z(nVtvO|tTkKR2>s#CBO!(M4JmAthM ze0AC7vT#UMgD#`!>omSRMOLD43=RJ>Y)sW@^{X2-GyIvR6>(P0`(xVnn*E*-s>>6% zi@x#kcr8*_^zNpa8@&#`Si?`Co0%;QafIt>0h-}D=CCtxkeJuVOxZrq@IZ+dgD*vu zcxb+f<%LiNqs}b6bs{ljUAZG|g_dPqI5mYQ$Nh)uq&Jm;Ff}Ck?O<((H-20FXmE1K zwx5Ma>8mK@uWyJ6IZLI(mpbv(}OKM_T)<6hgdwk z3II5378vQ&a3}Eqc_Q$$<66fuE7UDe2FtYcUi3~;F-sikYHfjyG9OZ_lw&M;V@ss~ST#b~t}{9JHjv{wux+tgDyv|hI5-GK*1RAjYJMFa zDd~3DxjLdyUQA93Nk>W&6$O&2VcU#~I#%FvSb^Hdx0{5txYcbnv`p);l!1y%U+IoJ zP3A855eqkd_UNc}t7?Z!4;d1T3#pOF#0=!10T9N~#hpOal}II;UU0^@;w^wH`dXL; zQSPVY<=Aao1+1Nsu??8DQFfYrWL<2{hThP75RXSH6c$AkZ#OetM?;|zJtfA+KW~SL zk_HtY!Zkz<-i*_5VlY}UOpbx)x=WUUi@@27)#?KtKt9Dl+^jeEdO@O^x8U;%qjec` z@9S2Q*I@+!d zlhZuf4?M#6l-Gg1E6tFJ9MlNZmSp=hn}<3QrR-Za*gINM5%Gwbx?T;_&@+7IU$n~E zqbSVe_U;N;LhznUV?rQT)37ws9^jGY_!7=gsf5#E^MAE;9HaQX-k(74P%f8nHKI>9 zS$6Qd4bpQcMV}p0(g7A#wJcqIvkma;zLTxbF4x?nKZjdltISe^1(Fc~cI3#tS2(cN ztF6lqci-dU?sao-%D+RfqcIA0v?yOnWR5W%0^8o-smyy^g1WnwxMFQWpD7ggg`*mZ1@4;U5CP(@b zgFxKSd$!&c<_N|(uq7M{g$ulqt5))jWIMZf1{;gQ#{e&V<9)X+HWqSFX`eqwzq!fjA06{r5Jn~a|D(S zl8*|O12Vbmeu>%);#Td~&kl2Y3bxjGs)ya4UJ4y{?nt;{*37Zg3x~qg-wIcDmSYOo ztDM!bflHy2b}#rVQ|kA_BY}+Jtxmj$tr6oA7^OVf9vk8rUzx%x^3u;BZj?j=073Ls z#aVV#O?fDC@hLf>;>UhCCef<8ijauhkBssb)B?xFw7PyBH)U*HSY2O~)Y%eZm^WZ1 zstwhCWnU(_49Rrzc$~o7fVQ;adZDbTINhT;GwvC@>R4Rx9mRX{0w9e)vH??=BTghQN3sx#J#xsTP$@YA_&(%z-x^~agI zh+xiSYAh=ClLa(2dDJ*{sUDd2>pu_etB^4O;lw#I~-$o3eA35c0Z3vzj(SlqD%`o8&y*{!+w7&j_f?#Y|xU_&trjWYU}0EHFkTYDUDa(}A6Q^k)>PkjU{TLcMs+rQyQy?~Yqhz{AjhGU`pA~}f^Yz|W=&f@7wDW(TpHnmXuSU5`v>?} zKC?xS%{(UllXgC^M|WKLv5MzQqu86_>^lFu9y|Xve>R91bg||Dk_>MKCl6+GMIS~M z`v_qm@2K<}{oo46bq_GLU+_OUcDlVKL%w#JnT^Ip0H`aee zY$zgC)?)N%TqwQ4e#q4}n>2PyQrEgPWfL12n^;L6WwKcL<2_}V@?u(KMoNc$9j2N& z5hz^rVJ^)=`=#Aa#-3Ul(CEIR;s{3x3IK3*xrBM#H*;?OuZq-)c}y#mZ#ptD(N-;m zjwsZlYIlh9Y{PzUH|(WtyKOy%W({8&Ap}H>dS%WgG)Oo8i`0%i-eB zuu>C@T*|}2$c2a|djpq!M60fxTJ|uPa>&;xjM?1Z4PFo+fAM`YXux%JAM|u?V~^r3 z3NA5SJFI5$IVNtq;Ru8sm|c6>H0tfuPP-19+3pD|h&I`bC6Fs#3SK%ypij zE-agbo3_qQsCWh0g0iIUzk0r2d%KVCHYsvivPIoXsp4#0F|AIoZ1g|B8IVNsgKcGdSHQwU zdmQvQo@AL+l@SSvGil2_m^?%CH>_NGwk4zOK(I>HHkBnHwk{KX4{5&UvxVvLw-st< z8yYopvVF#CvMSa*`PB<(Vsm1a{SL}v-{}k5Z356xBJO=7aWK2y+!Qc0L>V;rbnf7> z&E(%(KaZmO$N02k6#ub5UW^`djP6OVpo~7q0|4+f7tHdvNPH3{wHXNsr6oKqcTZ@! zm$nL2*2P&#)~0U4NU$47z3|Zv0-WLBsw&=Y_tJ`mNMp{A#!xeNIF{e<1J39O2aWWK zG2J=!YB-2QndySbz8ChjRGOCRFTK0ayczI*+cCwxhEQ)U6CeheNdWHJT>@hw%u zXo&TO%0fi;kXEG+d~t2No`$;FR~6hy=(fmw$ye0z1{iAFOl#_KNNcl$K5BMH>k5~X zSC>)p42`6(7~n%q6=jX0J6!59ebkM_4mdAfOm`{db+?4$+0rhkf<^;2?qq*U3N|Q< zh!hnsHB`&C0B(~FB_~6Oy4K*px}CXkq?f}4erZ-*K>G?6wmz*t*F@ch-p@kN3L9x} zkM(Tu&j7O$qYF5wlbm#3VI%!_v)+!D2#n^|x1Z#TEs?lt9dBd;XphcL8eyN2k5U{k zgtLe&l)0-`!f#AOdSf=YiWSw$2#7CGqK{Ykb-0#oz}+D0vR4-qAiaI@gdzb)d4q%O zObCfh|8{hQ%cWIkZUWp+KekxaE*&+rJzrOsUd>uuFtR=rJlj!&#%-6OQ#0yp2DjX*tngm&+LE6onoL0R zJ$PSujCb@64_Q^SCG!~GJQw~bPHyNx4EM+vk)UAzC)y_gyY;<9xen|<$ z)E1~)J$})_AxA;O007O0Ua7w(Uww{AMCzOjso9T(TT03ySLX!D_!Gd=?2=+AhdTP! zqx^dp>IsWd$(MH2=N$Qp1*6{!&!EHVB1fqp47`mb_vw)TSpyY4j^eeK8RO6}R>muh z{uZqj6XYmbu}H~%3&yM3pd+BLL{_<$L52EmOT_N1P5G_C)|yCk3;EXj#iEYqJUi1h zoH5=aexxjLlQ*degrg)235T?H)Pq$66A^&7%BmMu7ELnTBm{Y@sKH2l&cWN#V05CG zu=PpIs>otQKN5>pwkSn!^r%OwRI}VF@g#rl3q>1(BM2Od*faO+Blur&TBG3~GqOFF ztX-f5ofVNFVq{pyNFdRI1;1ExkPJ^=uW3K%9ea^yjEGrL4D`X23BtjxPP*j@JVBb& z!;jA3K*J-I>=u49B+Ea*b=Ir3rC{fjyi~PO-^0rh-U6vVk2uYDiKTQ(qyuzJvNo-v zmTauD&i~#fsS4r39dvXWnw1oszi+%To34kc^#)7i1p6qH8Gn9^@duHY25@` z=JDpn%!U2&0VqTOLb$ax)#U7zYp>o|4c(n2(IM6}`$7#*uT@;%;ZOAf0FpLi_eb0A zE$}St#uoVUhDs5C-PvyXPD>fc?rOC@&p$rAV1IQLrvD-0x1FufxrdAn*vd1Y02*AE z5kZc1TL>M_m*%b}gnlAOI*u-e=Bs(%FO>Wx8jGO2qXV+ARBA~0MycaDr}wlQoY|C zu_C|F{^Ty#1=YiDB|o#H8ba>f}5%EwV&u zN{kJn7*%Kuleg9|q1ME-@ev9jEI$+-waw6?941%VZ9L)RA(R;d;^tjigA!J(H7M`x zYP4a4VV|tH3_V)Q(Z=S`d>3JLtcD!UBa_ zR>L@?75(F~kg`t`Htn{3Ac-+!kT-}sQEjEYG5pfKPurR4$?qRuar34s)lGEe0yv+|I^<3N)z4wXB5qe!iaCe*0xrRx#X%30I(z6`}E06 ziCupVxPB9g9*&!=Jo^FgcIz(f3>`A!T3&JTBlMz*KO*~zQlpvW`!@lauiV{rB_3N@ zpCD=34tT$Z@i!+2{QJlMrpFU>_Okzcu)AzExw)yyb$0SQ!1I#l-`yu4zPk%>`_sq# zV6E)Ke`&}4C;bP3e-QWwfqxMA2Z4VO_y>Xie+cZ<=~o<_+@Yl^XCGNi)?bsGEgnH% z>z$SS;ji6QSoJN!Z(Mg_2RqGQ{&lnV-0H*IoD<>aNvhMS-)l?rAz&lY!b{i6Hf>$f zID71ObDYT1a+7u!<_cc^aDQJ^xcoO?^S?<`So3GY)xI9KRuV965pv zXY#cIN$x?JkiO3(p5o!o+>4~W)y4{#n>X^z`GcUXbBpez6>O-8Wl^Q8!(jTm9G30g9P&ImWv^&Z$Fn0dLd*WNytw<^-L!e}f$T?p z*XpEgB4GXz$jz_(BQMj=*pvR~fA(AXYpp)F;)n@8g2n%&rT++A!bS$0zA#SdI&$`K zaF)CM&)G&V{QlH}@}74!{Q?jZJO4I3cG}-l^Y(t}72y8S*y5W1LSlc`*{7A{i>b2i zwVQ(F*G%GAzn4Gy_P2VG?3>RBtl#HvJRzp3V?>wE>qex;7Fm#tpGx-Pw8QVUI%|6o zxF-H=8YUOBBIncnUFt>hJOkeB`43tpt}^#Zr+OT+jQjW?Qhc)hut8tXvw+l}3jW6Z qF-vEUuG7{G|2x2`9t#hRX4C02?koZ^$xmAg@IDi8nsn;w-TwvqkwV=7