diff --git a/Cargo.lock b/Cargo.lock index e4e925afe..f62399ee9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2096,9 +2096,9 @@ dependencies = [ [[package]] name = "roblox_install" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f80edbbbcd67bce7ddaf754d94276b30ae0a72eedfdf034c0c987f4a535e4a54" +checksum = "96d8c86f81b83db9b127bf66b51b9a24c844fe755f43310e56c09e2303148527" dependencies = [ "dirs", "winreg", diff --git a/Cargo.toml b/Cargo.toml index 60b2c9821..3c5465f83 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,7 @@ regex = "1.3.1" reqwest = "0.9.20" ritz = "0.1.0" rlua = "0.17.0" -roblox_install = "0.2.2" +roblox_install = "0.3.0" serde = { version = "1.0", features = ["derive", "rc"] } serde_json = "1.0" structopt = "0.3.5" diff --git a/plugin/modules/flipper b/plugin/modules/flipper index 4cf7a03cb..f48ada90c 160000 --- a/plugin/modules/flipper +++ b/plugin/modules/flipper @@ -1 +1 @@ -Subproject commit 4cf7a03cb6776ec0af41b6a50988aa70e5c9cc3c +Subproject commit f48ada90c5aaa2816aaa1add30631865b6200825 diff --git a/plugin/modules/promise b/plugin/modules/promise index 7fb09d103..50634ead4 160000 --- a/plugin/modules/promise +++ b/plugin/modules/promise @@ -1 +1 @@ -Subproject commit 7fb09d103f4a680cbd61d5348ec9c5d50244a8e0 +Subproject commit 50634ead4adef585bc70add8d6c723a6b2638122 diff --git a/plugin/modules/roact b/plugin/modules/roact index f7d2f1ce1..9b94828ba 160000 --- a/plugin/modules/roact +++ b/plugin/modules/roact @@ -1 +1 @@ -Subproject commit f7d2f1ce1dd69120f457c2f8032bb184eb8f0c29 +Subproject commit 9b94828ba5b122e17eb1b7dfffdd30aa66ddf666 diff --git a/plugin/modules/t b/plugin/modules/t index f643b5068..622289c6d 160000 --- a/plugin/modules/t +++ b/plugin/modules/t @@ -1 +1 @@ -Subproject commit f643b50682c24ec8d6ac3e11f41ee8cbbb2bcecb +Subproject commit 622289c6d9278312aaea53fef09a1e4a34c68100 diff --git a/plugin/modules/testez b/plugin/modules/testez index 6e9157db3..25d957d4d 160000 --- a/plugin/modules/testez +++ b/plugin/modules/testez @@ -1 +1 @@ -Subproject commit 6e9157db3c1a8b1558c54c50065e3562cab362e1 +Subproject commit 25d957d4d5c4c02a52843ef43e72f21f973c2908 diff --git a/plugin/src/ApiContext.lua b/plugin/src/ApiContext.lua index 40af8058e..648b035fa 100644 --- a/plugin/src/ApiContext.lua +++ b/plugin/src/ApiContext.lua @@ -248,4 +248,20 @@ function ApiContext:open(id) end) end +function ApiContext:createAssets(assets) + local url = ("%s/api/create-assets"):format(self.__baseUrl) + local body = Http.jsonEncode({ + sessionId = self.__sessionId, + assets = assets, + }) + + return Http.post(url, body) + :andThen(rejectFailedRequests) + :andThen(Http.Response.json) + :andThen(function(responseBody) + Log.trace("createAssets response: {:#?}", responseBody) + return responseBody.url + end) +end + return ApiContext \ No newline at end of file diff --git a/plugin/src/ServeSession.lua b/plugin/src/ServeSession.lua index 9e06065f8..5543a9771 100644 --- a/plugin/src/ServeSession.lua +++ b/plugin/src/ServeSession.lua @@ -6,8 +6,10 @@ local t = require(script.Parent.Parent.t) local InstanceMap = require(script.Parent.InstanceMap) local PatchSet = require(script.Parent.PatchSet) +local Promise = require(script.Parent.Parent.Promise) local Reconciler = require(script.Parent.Reconciler) local strict = require(script.Parent.strict) +local tryGetObjects = require(script.Parent.tryGetObjects) local Status = strict("Session.Status", { NotStarted = "NotStarted", @@ -242,8 +244,13 @@ function ServeSession:__initialSync(rootInstanceId) local unappliedPatch = self.__reconciler:applyPatch(catchUpPatch) if not PatchSet.isEmpty(unappliedPatch) then - Log.warn("Could not apply all changes requested by the Rojo server:\n{}", - PatchSet.humanSummary(self.__instanceMap, unappliedPatch)) + return tryGetObjects(self.__instanceMap, self.__apiContext, unappliedPatch) + :andThen(function(finallyUnappliedPatch) + if not PatchSet.isEmpty(finallyUnappliedPatch) then + Log.warn("Could not apply all changes requested by the Rojo server:\n{}", + PatchSet.humanSummary(self.__instanceMap, finallyUnappliedPatch)) + end + end) end end) end @@ -251,18 +258,29 @@ end function ServeSession:__mainSyncLoop() return self.__apiContext:retrieveMessages() :andThen(function(messages) + local getObjectsPromises = {} + for _, message in ipairs(messages) do local unappliedPatch = self.__reconciler:applyPatch(message) if not PatchSet.isEmpty(unappliedPatch) then - Log.warn("Could not apply all changes requested by the Rojo server:\n{}", - PatchSet.humanSummary(self.__instanceMap, unappliedPatch)) + table.insert(getObjectsPromises, + tryGetObjects(self.__instanceMap, self.__apiContext, unappliedPatch) + :andThen(function(finallyUnappliedPatch) + if not PatchSet.isEmpty(finallyUnappliedPatch) then + Log.warn("Could not apply all changes requested by the Rojo server:\n{}", + PatchSet.humanSummary(self.__instanceMap, finallyUnappliedPatch)) + end + end) + ) end end - if self.__status ~= Status.Disconnected then - return self:__mainSyncLoop() - end + return Promise.all(getObjectsPromises):andThen(function() + if self.__status ~= Status.Disconnected then + return self:__mainSyncLoop() + end + end) end) end diff --git a/plugin/src/tryGetObjects.lua b/plugin/src/tryGetObjects.lua new file mode 100644 index 000000000..d97fd2e3a --- /dev/null +++ b/plugin/src/tryGetObjects.lua @@ -0,0 +1,106 @@ +local Log = require(script.Parent.Parent.Log) +local PatchSet = require(script.Parent.PatchSet) +local Promise = require(script.Parent.Parent.Promise) + +local function tryGetObjects(instanceMap, apiContext, patch) + assert(PatchSet.validate(patch)) + + local unappliedPatch = PatchSet.newEmpty() + + -- GetObjects won't help with anything that failed to remove + unappliedPatch.removed = patch.removed + + local assetsToRequest = {} + local receiveCallbacks = {} + + Log.trace("tryGetObjects({:#?})", patch) + + for id, addition in pairs(patch.added) do + unappliedPatch.added[id] = addition + + table.insert(assetsToRequest, id) + table.insert(receiveCallbacks, function(newInstance) + for _, childId in ipairs(addition.Children) do + local child = instanceMap.fromIds[childId] + if child == nil then + Log.warn("Got child ID that wasn't in the instance map: {}", childId) + continue + end + + child.Parent = newInstance + end + + if addition.Parent ~= nil then + local parent = instanceMap.fromIds[addition.Parent] + if parent == nil then + Log.warn("Instance tried to be parented to non-existent parent: {}", addition.Parent) + return + end + + local ok, problem = pcall(function() + newInstance.Parent = parent + end) + + if not ok then + Log.warn("GetObjects couldn't parent {} to {}: {}", newInstance, parent, problem) + return + end + end + + unappliedPatch.added[id] = nil + instanceMap:insert(id, newInstance) + end) + end + + -- GetObjects only create instances, we can't update the properties of existing ones. + -- Instead, just create them again, move their children, and replace the instance. + for _, update in ipairs(patch.updated) do + -- If no properties were changed during an update, GetObjects isn't going to do anything that hasn't already been tried + if next(update.changedProperties) == nil then + continue + end + + table.insert(assetsToRequest, update.id) + table.insert(unappliedPatch.updated, update) + + table.insert(receiveCallbacks, function(newInstance) + local oldInstance = instanceMap.fromIds[update.id] + + for _, oldChild in ipairs(oldInstance:GetChildren()) do + oldChild.Parent = newInstance + end + + local oldParent = oldInstance.Parent + instanceMap:destroyInstance(oldInstance) + + local ok = pcall(function() + newInstance.Parent = oldParent + end) + + if ok then + table.remove(unappliedPatch.updated, table.find(unappliedPatch.updated, update)) + instanceMap:insert(update.id, newInstance) + end + end) + end + + Log.trace("assetsToRequest = {:?}", assetsToRequest) + + if #assetsToRequest == 0 then + return Promise.resolve(unappliedPatch) + end + + return apiContext:createAssets(assetsToRequest):andThen(function(assetId) + -- GetObjects doesn't yield, it blocks. + -- There is no way to promisify this unless GetObjectsAsync is opened up. + local createdAssets = game:GetObjects(assetId) + + for index, assetInstance in ipairs(createdAssets) do + receiveCallbacks[index](assetInstance) + end + + return unappliedPatch + end) +end + +return tryGetObjects diff --git a/plugin/src/tryGetObjects.spec.lua b/plugin/src/tryGetObjects.spec.lua new file mode 100644 index 000000000..f2266f6d9 --- /dev/null +++ b/plugin/src/tryGetObjects.spec.lua @@ -0,0 +1,89 @@ +return function() + local InstanceMap = require(script.Parent.InstanceMap) + local PatchSet = require(script.Parent.PatchSet) + local Promise = require(script.Parent.Parent.Promise) + local tryGetObjects = require(script.Parent.tryGetObjects) + + -- game:GetObjects(ASSET_DOGE) == { Doge mesh } + local ASSET_DOGE = "rbxassetid://4574885387" + + -- This is the actual Mesh ID for Doge + local MESH_DOGE = "rbxassetid://4574885352" + + local function createMockApiContext() + local mockApiContext = {} + function mockApiContext:createAssets() + return Promise.resolve(ASSET_DOGE) + end + + return mockApiContext + end + + it("should apply updates to existing instances", function() + local instanceMap = InstanceMap.new() + + local oldDoge = Instance.new("MeshPart") + instanceMap:insert("DOGE", oldDoge) + + local patch = PatchSet.newEmpty() + table.insert(patch.updated, { + id = "DOGE", + changedProperties = { + MeshId = { + Type = "Content", + Value = MESH_DOGE, + }, + }, + }) + + local _, unappliedPatch = assert( + tryGetObjects(instanceMap, createMockApiContext(), patch) + :await() + ) + + assert(PatchSet.isEmpty(unappliedPatch), "expected remaining patch to be empty") + + local newDoge = instanceMap.fromIds["DOGE"] + assert(newDoge ~= nil, "no instance with id DOGE") + expect(newDoge.MeshId).to.equal(MESH_DOGE) + end) + + it("should be able to create new instances", function() + local instanceMap = InstanceMap.new() + + local folder = Instance.new("Folder") + instanceMap:insert("PARENT", folder) + + local child = Instance.new("Folder") + child.Name = "Child" + instanceMap:insert("CHILD", child) + + local patch = PatchSet.newEmpty() + + patch.added["DOGE"] = { + Id = "DOGE", + Name = "Doge", + ClassName = "MeshPart", + Parent = "PARENT", + Properties = { + MeshId = { + Type = "Content", + Value = MESH_DOGE, + }, + }, + Children = { "CHILD" }, + } + + local _, unappliedPatch = assert( + tryGetObjects(instanceMap, createMockApiContext(), patch) + :await() + ) + + assert(PatchSet.isEmpty(unappliedPatch), "expected remaining patch to be empty") + + local doge = instanceMap.fromIds["DOGE"] + assert(doge ~= nil, "no instance with id DOGE") + expect(doge.Parent).to.equal(folder) + expect(doge:FindFirstChild("Child")).to.equal(child) + end) +end diff --git a/plugin/test-place.project.json b/plugin/test-place.project.json index 7bc42eb69..10d0a84a7 100644 --- a/plugin/test-place.project.json +++ b/plugin/test-place.project.json @@ -9,7 +9,7 @@ }, "TestEZ": { - "$path": "modules/testez/lib" + "$path": "modules/testez/src" } }, diff --git a/plugin/test.ps1 b/plugin/test.ps1 new file mode 100644 index 000000000..4b22d2294 --- /dev/null +++ b/plugin/test.ps1 @@ -0,0 +1,2 @@ +rojo build test-place.project.json -o TestPlace.rbxlx +run-in-roblox --script run-tests.server.lua --place TestPlace.rbxlx diff --git a/selene.toml b/selene.toml index e73e3567c..16c0939f2 100644 --- a/selene.toml +++ b/selene.toml @@ -1,4 +1,4 @@ -std = "roblox" +std = "roblox+testez" [config] unused_variable = { allow_unused_self = true } diff --git a/src/web/api.rs b/src/web/api.rs index 6a41f2e50..051658c4b 100644 --- a/src/web/api.rs +++ b/src/web/api.rs @@ -1,12 +1,15 @@ //! Defines Rojo's HTTP API, all under /api. These endpoints generally return //! JSON. -use std::{collections::HashMap, fs, path::PathBuf, str::FromStr, sync::Arc}; +use std::{collections::HashMap, path::PathBuf, str::FromStr, sync::Arc}; use futures::{Future, Stream}; +use fs_err as fs; use hyper::{service::Service, Body, Method, Request, StatusCode}; -use rbx_dom_weak::types::Ref; +use rbx_dom_weak::{types::Ref, InstanceBuilder, WeakDom}; +use roblox_install::RobloxStudio; +use uuid::Uuid; use crate::{ serve_session::ServeSession, @@ -19,8 +22,11 @@ use crate::{ }, util::{json, json_ok}, }, + web_api::{CreateAssetsRequest, CreateAssetsResponse}, }; +const CREATE_ASSETS_DIR: &str = "rojo-exports"; + pub struct ApiService { serve_session: Arc, } @@ -44,6 +50,7 @@ impl Service for ApiService { } (&Method::POST, "/api/write") => self.handle_api_write(request), + (&Method::POST, "/api/create-assets") => self.handle_api_create_assets(request), (_method, path) => json( ErrorResponse::not_found(format!("Route not found: {}", path)), @@ -279,6 +286,118 @@ impl ApiService { session_id: self.serve_session.session_id(), }) } + + fn handle_api_create_assets(&self, request: Request) -> ::Future { + let session_id = self.serve_session.session_id(); + + let serve_tree = self.serve_session.tree_handle(); + + Box::new(request.into_body().concat2().and_then(move |body| { + let serve_tree = serve_tree.lock().expect("Couldn't lock RojoTree mutex"); + + let request: CreateAssetsRequest = match serde_json::from_slice(&body) { + Ok(request) => request, + Err(err) => { + return json( + ErrorResponse::bad_request(format!("Invalid body: {}", err)), + StatusCode::BAD_REQUEST, + ); + } + }; + + if request.session_id != session_id { + return json( + ErrorResponse::bad_request("Wrong session ID"), + StatusCode::BAD_REQUEST, + ); + } + + let serve_dom = serve_tree.inner(); + + let model_path = format!("{}.rbxmx", Uuid::new_v4().to_simple()); + + let studio = match RobloxStudio::locate() { + Ok(studio) => studio, + Err(error) => { + return json( + ErrorResponse::bad_request(format!( + "Couldn't find Roblox Studio: {}", + error + )), + StatusCode::INTERNAL_SERVER_ERROR, + ); + } + }; + + let packed_path = studio + .content_path() + .join(CREATE_ASSETS_DIR) + .join(&model_path); + + if let Err(error) = + fs::create_dir_all(&packed_path.parent().expect("no parent for packed_path")) + { + return json( + ErrorResponse::bad_request(format!( + "Couldn't create assets directory: {}", + error + )), + StatusCode::INTERNAL_SERVER_ERROR, + ); + } + + let mut writer = match fs::OpenOptions::new() + .write(true) + .create(true) + .open(&packed_path) + { + Ok(file) => file, + Err(error) => { + return json( + ErrorResponse::bad_request(format!( + "Couldn't create assets file: {}", + error + )), + StatusCode::INTERNAL_SERVER_ERROR, + ); + } + }; + + let export_tree = WeakDom::new( + InstanceBuilder::new("Folder") + .with_name("Assets") + .with_children(request.assets.iter().copied().map(|asset_ref| { + let exporting = serve_dom.get_by_ref(asset_ref).unwrap_or_else(|| { + unreachable!( + "Received asset ID for an instance not in our tree ({})", + asset_ref + ) + }); + + // Children of instance are not used here, as Rojo has already + // created them, and can place them inside instead. + InstanceBuilder::new(&exporting.class) + .with_name(&exporting.name) + .with_properties(exporting.properties.to_owned()) + })), + ); + + // XML is used instead of binary, as invalid XML files error, + // while invalid binary files completely crash Studio. + if let Err(error) = + rbx_xml::to_writer_default(&mut writer, &export_tree, export_tree.root().children()) + { + return json( + ErrorResponse::bad_request(format!("Couldn't write DOM to file: {}", error)), + StatusCode::INTERNAL_SERVER_ERROR, + ); + } + + json_ok(&CreateAssetsResponse { + url: format!("rbxasset://{}/{}", CREATE_ASSETS_DIR, model_path), + }) + })) + } } /// If this instance is represented by a script, try to find the correct .lua diff --git a/src/web/interface.rs b/src/web/interface.rs index df4ba9ae6..a73fc113c 100644 --- a/src/web/interface.rs +++ b/src/web/interface.rs @@ -149,6 +149,20 @@ pub struct OpenResponse { pub session_id: SessionId, } +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct CreateAssetsRequest { + pub session_id: SessionId, + pub assets: Vec, +} + +/// Response body from /api/create-assets +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct CreateAssetsResponse { + pub url: String, +} + /// General response type returned from all Rojo routes #[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] diff --git a/test-projects/script-unwritable-instances/README.md b/test-projects/script-unwritable-instances/README.md new file mode 100644 index 000000000..dce72c95c --- /dev/null +++ b/test-projects/script-unwritable-instances/README.md @@ -0,0 +1 @@ +Unlike script-unwritable, this contains creatable instances that unwritable properties. diff --git a/test-projects/script-unwritable-instances/default.project.json b/test-projects/script-unwritable-instances/default.project.json new file mode 100644 index 000000000..5a7b2ed55 --- /dev/null +++ b/test-projects/script-unwritable-instances/default.project.json @@ -0,0 +1,35 @@ +{ + "name": "script-unwritable-instances", + "tree": { + "$className": "DataModel", + + "ReplicatedStorage": { + "$className": "ReplicatedStorage", + "$path": "src" + }, + + "ServerStorage": { + "$className": "ServerStorage", + + "UnwritableInProject": { + "$className": "MeshPart", + "$properties": { + "MeshId": "rbxassetid://4574885352" + } + }, + + "UnwritableInProjectWithChildren": { + "$className": "MeshPart", + "$properties": { + "MeshId": "rbxassetid://4574885352" + }, + "Something": { + "$className": "NumberValue", + "$properties": { + "Value": 1000 + } + } + } + } + } +} \ No newline at end of file diff --git a/test-projects/script-unwritable-instances/src/Doge.rbxmx b/test-projects/script-unwritable-instances/src/Doge.rbxmx new file mode 100644 index 000000000..001d76692 --- /dev/null +++ b/test-projects/script-unwritable-instances/src/Doge.rbxmx @@ -0,0 +1,982 @@ + + true + null + nil + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + + -10.1187801 + 2.00947094 + -7.25407887 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + false + -0.5 + 0.5 + 0 + 0 + false + false + + 4.06005859 + 4.01898193 + 1.71002197 + + + 0 + 0 + 0 + + + -0.5 + 0.5 + 0 + 0 + false + false + 256 + rbxassetid://4574885352 + rbxassetid://4574885352 + Doge + ZHrUFTkEqGc1UELrwqgdog== + + 0 + 1 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + 4574885387 + + rbxassetid://4574885376 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + + 4.06005859 + 4.01898193 + 1.71002197 + + + + + + SomethingInside + -1 + + 100 + + + + + Q1NHUEhTBgAAAFmGi0Bd8ni+nknMPXTyDzrdnGxAkQzPv68WTD995cxAIPmdPhxIC0EQAAAA +AAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAIA/MAAAAAQAAAAA7AG/ybfevgRX +Ej4A7AG/9JHYvj5rXT4A7AG/vlauvgz44z74r8G+vlauvgO/3D4AAAAAvlauvjTm5j6bmP++ +oO7evgRXEj7AOaW82bsNvwRXEj4A7AG/0u/HvlAt1D4A7AG/sSzCvqq91z4EmtK9vlauvl78 +6j4AAAAAlAn4vguhoz4AAAAA3eANvwRXEj7CpzK+tI4CvwRXEj6kKJS+8ZH2vgRXEj4AAAAA +QkwEv+z4gD4AAAAAc3r9vpwFnj5UAAAAAAAAAAEAAAAHAAAAAAAAAAcAAAAIAAAAAAAAAAgA +AAACAAAAAAAAAAIAAAADAAAAAAAAAAMAAAAEAAAAAAAAAAQAAAAFAAAAAAAAAAUAAAANAAAA +AAAAAA0AAAAMAAAAAAAAAAwAAAALAAAAAAAAAAsAAAAGAAAAAAAAAAYAAAABAAAAAQAAAAYA +AAAHAAAAAgAAAAgAAAAJAAAAAgAAAAkAAAAEAAAAAgAAAAQAAAADAAAABAAAAAkAAAAKAAAA +BAAAAAoAAAAPAAAABAAAAA8AAAAOAAAABAAAAA4AAAALAAAABAAAAAsAAAAMAAAABAAAAAwA +AAANAAAABAAAAA0AAAAFAAAABgAAAAsAAAAOAAAABgAAAA4AAAAHAAAABwAAAA4AAAAPAAAA +BwAAAA8AAAAKAAAABwAAAAoAAAAJAAAABwAAAAkAAAAIAAAAEAAAAAAAAAAAAAAAAAAAAAAA +AAAQAAAAAAAAAAAAAAAAAAAAAACAPz8AAAAEAAAAAAAAAF3gDb8EVxI+wqcyvmOPAr8EVxI+ +wDmlvDe8Db8EVxI+kBtNvSrBG78I3Zu8AAAAAJYyGL+YJtA8AAAAAHJXrr7T0QS/pCiUvteR +9r4EVxI+AOwBv5u23r4EVxI+AAAAALTcG7+A2OC8AOwBvxRf7b4cCmU9AOwBv2CZzL5un6q+ +eOfMvQM0/75Wp7G+AAAAAChsFr87INm9AAAAAB+SxL5R6fS+1gDHvXJXrr5XPP2+5pIAv3JX +rr75Ora+m5j/viHx3r4EVxI+AOwBv3JXrr75Ora+AOwBv5KByb4S0au+MjyBvnJXrr4+Z+m+ +AAAAAF+AA79YRa6+cgAAAAAAAAABAAAABgAAAAAAAAAGAAAAEAAAAAAAAAAQAAAABwAAAAAA +AAAHAAAAAgAAAAAAAAACAAAAAwAAAAAAAAADAAAABAAAAAAAAAAEAAAACAAAAAAAAAAIAAAA +DAAAAAAAAAAMAAAAFAAAAAAAAAAUAAAADQAAAAAAAAANAAAABQAAAAAAAAAFAAAAAQAAAAEA +AAAFAAAABgAAAAIAAAAHAAAAAwAAAAMAAAAIAAAABAAAAAMAAAAHAAAACQAAAAMAAAAJAAAA +CgAAAAMAAAAKAAAACwAAAAMAAAALAAAADAAAAAMAAAAMAAAACAAAAAUAAAANAAAACwAAAAUA +AAALAAAADgAAAAUAAAAOAAAAEwAAAAUAAAATAAAAEQAAAAUAAAARAAAADwAAAAUAAAAPAAAA +EAAAAAUAAAAQAAAABgAAAAcAAAAQAAAADwAAAAcAAAAPAAAAEQAAAAcAAAARAAAAEgAAAAcA +AAASAAAACgAAAAcAAAAKAAAACQAAAAoAAAASAAAAEwAAAAoAAAATAAAACwAAAAsAAAAUAAAA +DAAAAAsAAAATAAAADgAAAAsAAAANAAAAFAAAABEAAAATAAAAEgAAABAAAAAAAAAAAAAAAAAA +AAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAgD8/AAAABAAAAGSFGT8ATnq/zLJYPq4/HD8ATnq/ +8iohPjbfIj+ALLy/Dgs2PreuKz8ATnq/sciXPlLgID8ATnq/w1jbPWIfLj+ALLy/7C+LPTRc +Nz+ALLy/f5CIPgCUPz+ALLy/CFCKPoRoRT8ATnq/+GWXPslOKz8ATnq/wBRrPXB7Nz8ATnq/ +pK0pPcssNj+ALLy/IGlzPRgDYz+ALLy/ByRbPmTybD8ATnq/RvRrPtSRUz8ATnq/wLYjPc/x +Yz8ATnq/tMAoPS05XD+ALLy/8uCKPYXgZD+ALLy/1MI/PquKcj8ATnq/TnAJPpgpaD+ALLy/ +y7IKPjWtZD+ALLy/xZzoPXIAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAMAAAAAAAAAAwAAAAgA +AAAAAAAACAAAAA0AAAAAAAAADQAAABIAAAAAAAAAEgAAAA8AAAAAAAAADwAAAA4AAAAAAAAA +DgAAAAoAAAAAAAAACgAAAAkAAAAAAAAACQAAAAQAAAAAAAAABAAAAAEAAAABAAAABAAAAAIA +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 +AAAGAAAAAgAAAAcAAAADAAAAAwAAAAgAAAAEAAAAAwAAAAcAAAAJAAAAAwAAAAkAAAAKAAAA +AwAAAAoAAAAIAAAABAAAAAgAAAALAAAABAAAAAsAAAAFAAAABQAAAAsAAAAGAAAABgAAAAsA +AAANAAAABgAAAA0AAAAMAAAABwAAAA4AAAAJAAAACAAAAAoAAAALAAAACQAAAA4AAAAPAAAA +CQAAAA8AAAAQAAAACQAAABAAAAARAAAACQAAABEAAAAKAAAACgAAAA0AAAALAAAACgAAABEA +AAANAAAADAAAAA0AAAASAAAADQAAABEAAAATAAAADQAAABMAAAAUAAAADQAAABQAAAASAAAA +DgAAABUAAAAPAAAADwAAABUAAAAWAAAADwAAABYAAAAQAAAAEAAAABYAAAAXAAAAEAAAABcA +AAARAAAAEQAAABcAAAATAAAAEgAAABQAAAAWAAAAEgAAABYAAAAYAAAAEwAAABcAAAAWAAAA +EwAAABYAAAAUAAAAFQAAABgAAAAWAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAA +AAAAAAAAAACAP0gAAAAEAAAAkDFiP4DhvL94ov++XlFWP4DhvL+d6RC/VV1gP4DhvL/u1vG+ +AFyPP9Cx8L/68gi/5vGIP9r/979ovSq/Xd96P67C+L8AFDm/ktMuP4DhvL/zNxO/U3hbP4Dh +vL/BEde+6ROOP9r/97/pvsm+AFyPP5Fl+b/68gi/ZY6CPwCc/L/c1gS/MdNMP53x+r/BSve+ +1LJHP207978XMx+/jvooPwDXy7/d6xK/ByMnP4DhvL/Mbw+/BGWGP67C+L8AwKC+nAI4P4Dh +vL/Lk7q+qelRP20797/WJLC+lgVAP9HW9r+DNvO+pikcP09Nz79p8Oe+3CEbP4DhvL92h+e+ +8pQjP4DhvL8c4ge/mqYvP4DhvL8f8bm+YjEzPy93y78VObS+hAAAAAAAAAABAAAABgAAAAAA +AAAGAAAADgAAAAAAAAAOAAAAFQAAAAAAAAAVAAAAFAAAAAAAAAAUAAAAFgAAAAAAAAAWAAAA +EAAAAAAAAAAQAAAABwAAAAAAAAAHAAAAAgAAAAAAAAACAAAAAwAAAAAAAAADAAAABAAAAAAA +AAAEAAAAAQAAAAEAAAAEAAAABQAAAAEAAAAFAAAABgAAAAIAAAAHAAAACAAAAAIAAAAIAAAA +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 +AAAAAAIAAAADAAAAAAAAAAMAAAAEAAAAAAAAAAQAAAAFAAAAAAAAAAUAAAAGAAAAAAAAAAYA +AAABAAAAAQAAAAYAAAAHAAAAAQAAAAcAAAAIAAAAAQAAAAgAAAAJAAAAAQAAAAkAAAAKAAAA +AQAAAAoAAAALAAAAAQAAAAsAAAACAAAAAgAAAAoAAAAMAAAAAgAAAAwAAAAZAAAAAgAAABkA +AAAYAAAAAgAAABgAAAAiAAAAAgAAACIAAAAjAAAAAgAAACMAAAAfAAAAAgAAAB8AAAAcAAAA +AgAAABwAAAAbAAAAAgAAABsAAAAaAAAAAgAAABoAAAASAAAAAgAAABIAAAARAAAAAgAAABEA +AAANAAAAAgAAAA0AAAADAAAAAgAAAAsAAAAKAAAAAwAAAA4AAAAPAAAAAwAAAA8AAAAQAAAA +AwAAABAAAAAEAAAAAwAAAA0AAAARAAAAAwAAABEAAAASAAAAAwAAABIAAAAOAAAABAAAABAA +AAAPAAAABAAAAA8AAAAFAAAABQAAABMAAAAUAAAABQAAABQAAAAGAAAABQAAAA8AAAATAAAA +BgAAABQAAAAVAAAABgAAABUAAAAHAAAABwAAABUAAAAIAAAACAAAABUAAAAWAAAACAAAABYA +AAAXAAAACAAAABcAAAAJAAAACQAAABcAAAAKAAAACgAAABcAAAAYAAAACgAAABgAAAAZAAAA +CgAAABkAAAAMAAAADgAAABIAAAAaAAAADgAAABoAAAAbAAAADgAAABsAAAAcAAAADgAAABwA +AAAdAAAADgAAAB0AAAAeAAAADgAAAB4AAAAPAAAADwAAAB4AAAATAAAAEwAAAB4AAAAdAAAA +EwAAAB0AAAAUAAAAFAAAAB0AAAAfAAAAFAAAAB8AAAAVAAAAFQAAAB8AAAAgAAAAFQAAACAA +AAAhAAAAFQAAACEAAAAWAAAAFgAAACEAAAAXAAAAFwAAACEAAAAYAAAAGAAAACEAAAAiAAAA +HAAAAB8AAAAdAAAAHwAAACMAAAAhAAAAHwAAACEAAAAgAAAAIQAAACMAAAAiAAAAEAAAAAAA +AAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAACAP2wAAAAEAAAAUKewv8oX/L8AkME+ +j5LCvxIj/r+2Wc0+CHHav8DNy78lNQM/UKewv5OM379Qw94+WZKivyBA+L+2Jto+ACicvy1z ++7/rZA8/1vaov4BJ/7/NuRM/Urq+vwCbAMAwnxo/+8HVv/Vq/7/xTSI/5nnUv5uZ/L9MXAQ/ +/tTjvyCs5L/QBBU/+8HVv2aq3r+H6vk+8qXkv8DNy7/+sBI/BgTYv8DNy7+KWQQ/Jxeuv9vy +2r9/QRU/bdqjvxQe6L/pC+s+n1/Ov8DNy79fkwk/HLqev0Oc579zZRA/ACicvyBA+L/zOzQ/ +wq6nv8oX/L++ckg/FuK6vxIj/r8A3E4/llnPv5uZ/L/XsT0/JmXmvzJy5b+iqyc/VBbqv8DN +y781fCY/jHbnv8DNy7/C1Bc/ri/Jv8DNy78gDx4/X17Kv8DNy7/VNDE/6z6qv5OM379WITs/ +MQKgvxQe6L/OUy0/6nHVv8DNy7/YN0E/llnPv2aq3r9aY0U/1UThvyCs5L/8zDc/lN7kv8DN +y78B8jQ/raTKv8DNy7+xQzM/LHbTv8DNy7+30D4/KN3hv8DNy7/h+zc/zAAAAAAAAAABAAAA +AgAAAAAAAAACAAAAAwAAAAAAAAADAAAABAAAAAAAAAAEAAAABQAAAAAAAAAFAAAABgAAAAAA +AAAGAAAAAQAAAAEAAAAGAAAABwAAAAEAAAAHAAAACAAAAAEAAAAIAAAACQAAAAEAAAAJAAAA +CgAAAAEAAAAKAAAACwAAAAEAAAALAAAAAgAAAAIAAAAMAAAAGAAAAAIAAAAYAAAAFwAAAAIA +AAAXAAAAIAAAAAIAAAAgAAAAIwAAAAIAAAAjAAAAHQAAAAIAAAAdAAAAIgAAAAIAAAAiAAAA +IQAAAAIAAAAhAAAAGgAAAAIAAAAaAAAAGQAAAAIAAAAZAAAAEAAAAAIAAAAQAAAADQAAAAIA +AAANAAAAAwAAAAIAAAALAAAADAAAAAMAAAAOAAAADwAAAAMAAAAPAAAABAAAAAMAAAANAAAA +EAAAAAMAAAAQAAAADgAAAAQAAAAPAAAAEQAAAAQAAAARAAAABQAAAAUAAAASAAAAEwAAAAUA +AAATAAAABgAAAAUAAAARAAAAEgAAAAYAAAATAAAAFAAAAAYAAAAUAAAABwAAAAcAAAAUAAAA +CAAAAAgAAAAUAAAAFQAAAAgAAAAVAAAAFgAAAAgAAAAWAAAACQAAAAkAAAAWAAAACgAAAAoA +AAAWAAAAFwAAAAoAAAAXAAAAGAAAAAoAAAAYAAAADAAAAAoAAAAMAAAACwAAAA4AAAAQAAAA +GQAAAA4AAAAZAAAAGgAAAA4AAAAaAAAAGwAAAA4AAAAbAAAAEQAAAA4AAAARAAAADwAAABEA +AAAbAAAAHAAAABEAAAAcAAAAEgAAABIAAAAcAAAAGwAAABIAAAAbAAAAEwAAABMAAAAbAAAA +HQAAABMAAAAdAAAAFAAAABQAAAAeAAAAHwAAABQAAAAfAAAAFQAAABQAAAAdAAAAHgAAABUA +AAAfAAAAFgAAABYAAAAfAAAAFwAAABcAAAAfAAAAIAAAABoAAAAhAAAAGwAAABsAAAAhAAAA +IgAAABsAAAAiAAAAHQAAAB0AAAAjAAAAHgAAAB4AAAAjAAAAHwAAAB8AAAAjAAAAIAAAABAA +AAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAgD85AAAABAAAAMa8zT+rRdk+ +ZIxevnJtyj8AEQQ/ZIxevr5nyj8AEQQ/m0K8vZjJzD/JJeY+eD0AvGSKwz/Gye89ZIxevvnK +vz8AgJM8ZIxevszvgT8AgJM84A9dPszvgT8AEQQ/XvrEPpI7yT8AEQQ/AMxEORMLuz8AEQQ/ +pEXuPZLQoz8AEQQ/g2qXPr4ipT8hR9Y+7qObPraNwj/gRB8+IDGSvD5BwT8Q4Fk9ZIxevjfG +vT8AgJM8pEPyvK2Evz8AgJM8wHM1vszvgT8AgJM8oTLDPvGYkj8AEQQ/j6izPi7fgj8AgJM8 +RiTCPmYAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAMAAAAAAAAAAwAAAAQAAAAAAAAABAAAAA0A +AAAAAAAADQAAAAUAAAAAAAAABQAAAAEAAAABAAAABQAAAAYAAAABAAAABgAAAAcAAAABAAAA +BwAAABEAAAABAAAAEQAAAAoAAAABAAAACgAAAAkAAAABAAAACQAAAAgAAAABAAAACAAAAAIA +AAACAAAACAAAAAMAAAADAAAACAAAAAkAAAADAAAACQAAAAoAAAADAAAACgAAAAsAAAADAAAA +CwAAAAwAAAADAAAADAAAAAQAAAAEAAAADAAAAA4AAAAEAAAADgAAAA0AAAAFAAAADQAAAA8A +AAAFAAAADwAAAA4AAAAFAAAADgAAABIAAAAFAAAAEgAAABAAAAAFAAAAEAAAAAYAAAAGAAAA +EAAAAAcAAAAHAAAAEAAAABEAAAAKAAAAEQAAAAsAAAALAAAAEQAAABIAAAALAAAAEgAAAA4A +AAALAAAADgAAAAwAAAANAAAADgAAAA8AAAAQAAAAEgAAABEAAAAQAAAAAAAAAAAAAAAAAAAA +AAAAABAAAAAAAAAAAAAAAAAAAAAAAIA/MwAAAAQAAAAA7AG/Trvevs5GEj7tjiC/gZDbvs5G +Ej4A7IG/vBhAvxUBTL4A7AG/XmPtvrTPZD0A7AG/mFmuvpY+tr6IoW6/mFmuvp+6J76NZXW/ +FcDLvs5GEj4A7IG/ij3Ovs5GEj4A7IG/oLxGv6oylb4A7AG/wJ/Mvqagqr4A7AG/uoXJvpPU +q74A7IG/8MAev+8o3r4aT3i/QOMKv6TO5L7KKmq/mFmuvrRc9b4A7IG/mFmuvuBtBr4A7IG/ +iaTwvk/k7b4A7IG/mFmuvp88+r5aAAAAAAAAAAEAAAACAAAAAAAAAAIAAAADAAAAAAAAAAMA +AAAJAAAAAAAAAAkAAAAKAAAAAAAAAAoAAAAEAAAAAAAAAAQAAAAFAAAAAAAAAAUAAAAGAAAA +AAAAAAYAAAAHAAAAAAAAAAcAAAABAAAAAQAAAAcAAAACAAAAAgAAAAcAAAAOAAAAAgAAAA4A +AAAQAAAAAgAAABAAAAAPAAAAAgAAAA8AAAALAAAAAgAAAAsAAAAIAAAAAgAAAAgAAAADAAAA +AwAAAAgAAAAJAAAABAAAAAoAAAALAAAABAAAAAsAAAAMAAAABAAAAAwAAAANAAAABAAAAA0A +AAAQAAAABAAAABAAAAAOAAAABAAAAA4AAAAFAAAABQAAAA4AAAAGAAAABgAAAA4AAAAHAAAA +CAAAAAsAAAAJAAAACQAAAAsAAAAKAAAACwAAAA8AAAAMAAAADAAAAA8AAAAQAAAADAAAABAA +AAANAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAACAP1QAAAAEAAAA +jnDPPwDDgT9kjF6+GWXGP9praj9kjF6+gm7KPwARBD9kjF6+ZHLKPwARBD8GjZK+kSzPPwDD +gT8x/YC+AOyBPwDDgT+WHE2/AOyBP5XGez9OfkW/8dTEP6qBXj9kjF6+AOyBP5kJbz9KM0C/ +AOyBP8EYXT+1Rzq/2lDEP4buKT9kjF6+AOyBPwARBD+eUkC/4nbCPwARBD9ZW/C+rLHIPwDD +gT/2aOy+gXfNPwDDgT8G7am+dIfOPwDDgT8apJW+696HPwDDgT9muFO/6U7EP6bBPT9kjF6+ +AOyBP1CCST/Azzi/AOyBP4vFNT/MFDq/CZuMPwDDgT9P61O/Ip+WPwARBD8cmUC/4ba9PwAR +BD+luw2/MqqxPwDDgT+cISm/7SeZPwDDgT/gs06/cHGdP7+IGz8fO0C/DjayPwARBD9eJiO/ +lNKwPwDDgT/l5yq/nAAAAAAAAAABAAAABwAAAAAAAAAHAAAAEQAAAAAAAAARAAAACgAAAAAA +AAAKAAAAAgAAAAAAAAACAAAAAwAAAAAAAAADAAAABAAAAAAAAAAEAAAADwAAAAAAAAAPAAAA +DgAAAAAAAAAOAAAADQAAAAAAAAANAAAAFwAAAAAAAAAXAAAAGwAAAAAAAAAbAAAAGAAAAAAA +AAAYAAAAFAAAAAAAAAAUAAAAEAAAAAAAAAAQAAAABQAAAAAAAAAFAAAABgAAAAAAAAAGAAAA +AQAAAAEAAAAGAAAACAAAAAEAAAAIAAAACQAAAAEAAAAJAAAABwAAAAIAAAAKAAAACwAAAAIA +AAALAAAAFQAAAAIAAAAVAAAAGgAAAAIAAAAaAAAAFgAAAAIAAAAWAAAADAAAAAIAAAAMAAAA +AwAAAAMAAAAMAAAADQAAAAMAAAANAAAADgAAAAMAAAAOAAAADwAAAAMAAAAPAAAABAAAAAUA +AAAQAAAACwAAAAUAAAALAAAAEwAAAAUAAAATAAAAEgAAAAUAAAASAAAACQAAAAUAAAAJAAAA +CAAAAAUAAAAIAAAABgAAAAcAAAAJAAAAEgAAAAcAAAASAAAAEQAAAAoAAAARAAAAEgAAAAoA +AAASAAAAEwAAAAoAAAATAAAACwAAAAsAAAAQAAAAFAAAAAsAAAAUAAAAFQAAAAwAAAAWAAAA +DQAAAA0AAAAWAAAAFwAAABQAAAAYAAAAFQAAABUAAAAYAAAAGQAAABUAAAAZAAAAGgAAABYA +AAAaAAAAGwAAABYAAAAbAAAAFwAAABgAAAAbAAAAGgAAABgAAAAaAAAAGQAAABAAAAAAAAAA +AAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAgD8zAAAABAAAANItQD8AsvW+gAhHvNIt +QD8AgJM8LD+aPtItQD8AsvW+RdK9PgAAAAAAsvW+k7qlPgAAAAAAgJM8ef4MPzDoLz8AgJM8 +6t2jPtItQD8AgJM8dOboPtItQD/cjrq+5BvLPgAAAAAGsGa+VWsFPwAAAAD0YpG+y6YAP1Tr +GD8AsvW+6cLEPgAAAACgt7u7z2YMPwRMOD/ARNW7GhDuPpQ8Mz8AgJM8NrLtPtItQD+wuiG8 +j83pPlOtPT8AgJM8VkjqPtItQD8uOuC96l7jPloAAAAAAAAAAQAAAAYAAAAAAAAABgAAAA4A +AAAAAAAADgAAABAAAAAAAAAAEAAAAAcAAAAAAAAABwAAAAIAAAAAAAAAAgAAAAoAAAAAAAAA +CgAAAAMAAAAAAAAAAwAAAAQAAAAAAAAABAAAAAUAAAAAAAAABQAAAAEAAAABAAAABQAAAAQA +AAABAAAABAAAAA0AAAABAAAADQAAAA8AAAABAAAADwAAAAYAAAACAAAABwAAAAgAAAACAAAA +CAAAAAkAAAACAAAACQAAAAoAAAADAAAACgAAAAkAAAADAAAACQAAAAgAAAADAAAACAAAAAsA +AAADAAAACwAAAAQAAAAEAAAACwAAAAwAAAAEAAAADAAAAA0AAAAGAAAADwAAAAwAAAAGAAAA +DAAAAA4AAAAHAAAAEAAAAAgAAAAIAAAAEAAAAAwAAAAIAAAADAAAAAsAAAAMAAAAEAAAAA4A +AAAMAAAADwAAAA0AAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAIA/ +UQAAAAQAAACF1sQ/epVJP2aMXr4UU8Q/hu4pP7x8Xr4eUcQ/psE9P7x8Xr6F1sQ/qoFeP7x8 +Xr7EZMY/2mtqP7x8Xr6qcc8/AMOBP7x8Xr6acMo/ABEEP7x8Xr4A7IE/ABEEPwPyxD4A7IE/ +qxdFP/urrj4A7IE/Wal8PzaYpj4A7IE/AMOBPzSfrD7YNdA/AMOBP2bN7L3BaMo/ABEEP3Q3 +vL3vlpI/ABEEP6yosz4D06E/AMOBP2i1yD4A7IE/p38aPzlKyT4A7IE/cP4cP+idyD7BkoI/ +AMOBPyIxrz4pTcI/AMOBP9BrBD6ZPMk/ABEEPwCsPznwK8o/ABEEP+gNlb0V0aM/ABEEP1Br +lz5+vqY/AMOBP+f0wj5qQ4k/AMOBP51dwT7pv8E/AMOBPzpLDT4ucbE/AMOBP6JwqT5KDbs/ +ABEEPw5J7j2WAAAAAAAAAAEAAAACAAAAAAAAAAIAAAADAAAAAAAAAAMAAAAEAAAAAAAAAAQA +AAAFAAAAAAAAAAUAAAAGAAAAAAAAAAYAAAABAAAAAQAAAAYAAAAHAAAAAQAAAAcAAAAIAAAA +AQAAAAgAAAAJAAAAAQAAAAkAAAACAAAAAgAAAAkAAAADAAAAAwAAAAkAAAAEAAAABAAAAAkA +AAAKAAAABAAAAAoAAAAFAAAABQAAAAsAAAAGAAAABQAAAAoAAAARAAAABQAAABEAAAAXAAAA +BQAAABcAAAAOAAAABQAAAA4AAAAWAAAABQAAABYAAAAZAAAABQAAABkAAAAYAAAABQAAABgA +AAASAAAABQAAABIAAAALAAAABgAAAAsAAAAMAAAABgAAAAwAAAAUAAAABgAAABQAAAATAAAA +BgAAABMAAAAaAAAABgAAABoAAAAVAAAABgAAABUAAAANAAAABgAAAA0AAAAHAAAABwAAAA0A +AAAOAAAABwAAAA4AAAAPAAAABwAAAA8AAAAQAAAABwAAABAAAAAKAAAABwAAAAoAAAAJAAAA +BwAAAAkAAAAIAAAACgAAABAAAAARAAAACwAAABIAAAATAAAACwAAABMAAAAUAAAACwAAABQA +AAAMAAAADQAAABUAAAAWAAAADQAAABYAAAAOAAAADgAAABcAAAAPAAAADwAAABcAAAARAAAA +DwAAABEAAAAQAAAAEgAAABgAAAATAAAAEwAAABgAAAAZAAAAEwAAABkAAAAaAAAAFQAAABkA +AAAWAAAAFQAAABoAAAAZAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA +AACAP0gAAAAEAAAAAOyBv+Cjar/wURA/gPVovxhTVL/i0w4/AOyBv8UhYL9kPDE/AOyBv5hY +Xb/hOu4+AOwBv7W93r4EVxI+zytzv4iCUb/rIjE/AOwBv42X2L6mfV0+AOwBv672x76eOtQ+ +AOyBv2TpTr9l7zc/AOyBv8pAW78weOY+7Y4gv8OQ274EVxI+jWV1vzbGy74EVxI+AOwBv2Rb +rr7rA+Q+ZK1Hv5rlCr/HGC8/Vm9iv2Rbrr5yM0U/Hfp0v2Rbrr5Gf0w/l0eBv0V6A7/i70c/ +AOyBv5l/Bb9g+Ec/AOyBv8lBzr4EVxI+AOyBv2Rbrr7k6Mo+8XhXv2Rbrr77ps8+jMopv2Rb +rr7GgiI/roY3v2Rbrr5SUDI/AOyBv2Rbrr5V/U0/hAAAAAAAAAABAAAAAgAAAAAAAAACAAAA +CAAAAAAAAAAIAAAAEQAAAAAAAAARAAAAFwAAAAAAAAAXAAAAEwAAAAAAAAATAAAAEgAAAAAA +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 +b+64P9zbDL54ZiC+daOQPzXTOL7hMYg+KGiGP46r6L43zow+qd2CPwCAkzzFIsI+VyGFP1wv +Kr1DjcE+HWCEPwCy9b4/ZIs+0i1APwCy9b6w2Ea80i1APwCAkzx35eg+2OtRP5XUrr7WQ8s+ +EXxHPwCy9b6MU7w+0i1AP7C6IbyI0ek+0i1APwCy9b5Bzb0+0i1APy464L0PXeM+0i1AP9yO +ur5cJMs+9LlEPwCy9b6qAL0+lgAAAAAAAAABAAAABwAAAAAAAAAHAAAADAAAAAAAAAAMAAAA +CgAAAAAAAAAKAAAAAgAAAAAAAAACAAAAAwAAAAAAAAADAAAACwAAAAAAAAALAAAAEQAAAAAA +AAARAAAAFQAAAAAAAAAVAAAAGgAAAAAAAAAaAAAAFwAAAAAAAAAXAAAAEgAAAAAAAAASAAAA +CAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAAQAAAAEAAAAFAAAABgAAAAEAAAAGAAAABwAAAAEA +AAAEAAAACAAAAAEAAAAIAAAACQAAAAEAAAAJAAAAEwAAAAEAAAATAAAADwAAAAEAAAAPAAAA +BQAAAAIAAAAKAAAAAwAAAAMAAAAKAAAADAAAAAMAAAAMAAAACwAAAAUAAAANAAAADgAAAAUA +AAAOAAAABgAAAAUAAAAPAAAAEAAAAAUAAAAQAAAADQAAAAYAAAAMAAAABwAAAAYAAAAOAAAA +EQAAAAYAAAARAAAACwAAAAYAAAALAAAADAAAAAgAAAASAAAACQAAAAkAAAASAAAAFwAAAAkA +AAAXAAAAGQAAAAkAAAAZAAAAGAAAAAkAAAAYAAAAFgAAAAkAAAAWAAAAEwAAAA0AAAAQAAAA +DgAAAA4AAAAQAAAAFAAAAA4AAAAUAAAAFQAAAA4AAAAVAAAAEQAAAA8AAAATAAAAFgAAAA8A +AAAWAAAAEAAAABAAAAAWAAAAFAAAABQAAAAWAAAAGAAAABQAAAAYAAAAGQAAABQAAAAZAAAA +FwAAABQAAAAXAAAAGgAAABQAAAAaAAAAFQAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAA +AAAAAAAAAAAAAAAAgD88AAAABAAAAADsgT9WIt0/mAB5vgDsgT8AD+0/mQQ8v088cj+2H9o/ +mAB5vtrRBz9lK4c/mAB5vgDsgT8AXW8//FdAv4/fej8T7d8/3G4+v8WtMD98eqY/XL4Vv8Wt +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 +AAARAAAAEQAAABMAAAASAAAAEQAAABYAAAAVAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA +AAAAAAAAAAAAAAAAAACAP0gAAAAEAAAAfOKIPhZibz8OEZC94AWYPhZibz/80cK8LohCP/JN +wD8DD4E9h7c1P1M1wT8vWBO+Z1YzP4nKwD/y8Hi+oDqQPhZibz9Id/696JUNPxZibz84gjY+ +OHZUPzR7pj9Q048+AOyBP1ue1T9s5BE+lt56P8UQ1j/c28w9WPVoP7Y31z8WHDS+Tx9nPxDz +1j/y8Hi+8h3gPhZibz/y8Hi+ZHc+PxZibz9W6H0+AOyBPwDijj+z6bk+AOyBP1+8qD//xrs+ +AOyBPy59xT/T1Wo+AOyBP8nM2T9aHGw9AOyBP3vC3D/GwIe9USVxP0zr2T/y8Hi+c9UHP/Is +hz/y8Hi+AOyBPxZibz+o5q0+AOyBP6Ql3T/y8Hi+gDtyP5sb2j/y8Hi+hAAAAAAAAAABAAAA +AgAAAAAAAAACAAAAAwAAAAAAAAADAAAABAAAAAAAAAAEAAAABQAAAAAAAAAFAAAADAAAAAAA +AAAMAAAAFQAAAAAAAAAVAAAADQAAAAAAAAANAAAABgAAAAAAAAAGAAAAAQAAAAEAAAAGAAAA +BwAAAAEAAAAHAAAAAgAAAAIAAAAHAAAACAAAAAIAAAAIAAAACQAAAAIAAAAJAAAACgAAAAIA +AAAKAAAAAwAAAAMAAAAKAAAACwAAAAMAAAALAAAABAAAAAQAAAALAAAAEwAAAAQAAAATAAAA +FwAAAAQAAAAXAAAAFgAAAAQAAAAWAAAAFAAAAAQAAAAUAAAADAAAAAQAAAAMAAAABQAAAAYA +AAANAAAADgAAAAYAAAAOAAAADwAAAAYAAAAPAAAABwAAAAcAAAAPAAAAEAAAAAcAAAAQAAAA +CAAAAAgAAAAQAAAADwAAAAgAAAAPAAAADgAAAAgAAAAOAAAAFQAAAAgAAAAVAAAAFgAAAAgA +AAAWAAAAEgAAAAgAAAASAAAAEQAAAAgAAAARAAAACQAAAAkAAAARAAAAEgAAAAkAAAASAAAA +CgAAAAoAAAASAAAAEwAAAAoAAAATAAAACwAAAAwAAAAUAAAAFQAAAA0AAAAVAAAADgAAABIA +AAAWAAAAFwAAABIAAAAXAAAAEwAAABQAAAAWAAAAFQAAABAAAAAAAAAAAAAAAAAAAAAAAAAA +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 +AAAAAAkAAAATAAAAAAAAABMAAAAfAAAAAAAAAB8AAAAgAAAAAAAAACAAAAAUAAAAAAAAABQA +AAAKAAAAAAAAAAoAAAADAAAAAAAAAAMAAAAEAAAAAAAAAAQAAAAMAAAAAAAAAAwAAAALAAAA +AAAAAAsAAAAWAAAAAAAAABYAAAAjAAAAAAAAACMAAAAlAAAAAAAAACUAAAAYAAAAAAAAABgA +AAANAAAAAAAAAA0AAAAFAAAAAAAAAAUAAAAGAAAAAAAAAAYAAAABAAAAAQAAAAcAAAACAAAA +AQAAAAYAAAAHAAAAAgAAAAgAAAAJAAAAAgAAAAcAAAAGAAAAAgAAAAYAAAAQAAAAAgAAABAA +AAAbAAAAAgAAABsAAAApAAAAAgAAACkAAAAxAAAAAgAAADEAAAAyAAAAAgAAADIAAAAqAAAA +AgAAACoAAAAdAAAAAgAAAB0AAAAcAAAAAgAAABwAAAASAAAAAgAAABIAAAAIAAAAAwAAAAoA +AAALAAAAAwAAAAsAAAAMAAAAAwAAAAwAAAAEAAAABQAAAA0AAAAOAAAABQAAAA4AAAAXAAAA +BQAAABcAAAAPAAAABQAAAA8AAAAGAAAABgAAAA8AAAAQAAAACAAAABEAAAAJAAAACAAAABIA +AAARAAAACQAAABEAAAATAAAACgAAABQAAAAVAAAACgAAABUAAAAWAAAACgAAABYAAAALAAAA +DQAAABcAAAAOAAAADQAAABgAAAAXAAAADwAAABcAAAAZAAAADwAAABkAAAAaAAAADwAAABoA +AAAbAAAADwAAABsAAAAQAAAAEQAAABIAAAAcAAAAEQAAABwAAAAdAAAAEQAAAB0AAAAeAAAA +EQAAAB4AAAATAAAAEwAAAB4AAAAfAAAAFAAAACAAAAAVAAAAFQAAACAAAAAhAAAAFQAAACEA +AAAWAAAAFgAAACIAAAAjAAAAFgAAACEAAAAiAAAAFwAAABgAAAAkAAAAFwAAACQAAAAZAAAA +GAAAACUAAAAmAAAAGAAAACYAAAAkAAAAGQAAACQAAAAmAAAAGQAAACYAAAAnAAAAGQAAACcA +AAAoAAAAGQAAACgAAAAaAAAAGgAAACgAAAApAAAAGgAAACkAAAAbAAAAHQAAACoAAAArAAAA +HQAAACsAAAAsAAAAHQAAACwAAAAeAAAAHgAAAC0AAAAhAAAAHgAAACEAAAAfAAAAHgAAACwA +AAAtAAAAHwAAACEAAAAgAAAAIQAAAC0AAAAiAAAAIgAAAC4AAAAmAAAAIgAAACYAAAAjAAAA +IgAAAC0AAAAuAAAAIwAAACYAAAAlAAAAJgAAAC4AAAAnAAAAJwAAAC4AAAAvAAAAJwAAAC8A +AAAoAAAAKAAAAC8AAAAwAAAAKAAAADAAAAApAAAAKQAAADAAAAAxAAAAKgAAADIAAAArAAAA +KwAAADIAAAAvAAAAKwAAAC8AAAAsAAAALAAAAC8AAAAuAAAALAAAAC4AAAAtAAAALwAAADIA +AAAwAAAAMAAAADIAAAAxAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA +AACAP2kAAAAEAAAARznqv2lvoj8AIBk+PhHkv6qmoT8AIBk+JTXTvwAMqj8AYhC+C9fjv8Az +lj/iZWy+7jnuv6LFnT8AIBk+9EnBv4XZoT9ggaM80DXJv05tnT8AIBk+AF23v/PPlz+ilb69 +AF23v8nXlD8v0E6+AF23vy2ojz87rMG+fPXIvyP7gT/9xuG+59nWv//t/D6sT1K+AHz0vxMb +jT/gmAM8+5nwvzu+aj8AIBk+bEjBv4HQhD8AIBk+AF23vw3FLj8AIBk+AF23v24gjT9uvsq+ +AF23v3rbZz/zFtW+9EnBv8AEUD8ASOK+5T3Vv//t/D4XIGC+2pXZv//t/D5aHW+96cLkvx2l +Iz8AIBk+AF23v9JhKz8AIBk+AF23v40aVj/ywde+AF23v//t/D54DpG+9EnBv/pMJj+Rx7i+ +3UG8v//t/D5cBIy+aY7Yv//t/D6ooNg8Klbkv9r4IT8AIBk+0fvVv//t/D4AIBk+AF23v//t +/D6wZs+83kbWv//t/D70cBQ+iaLev7wqEz8AIBk+pgzkvyI4IT8AIBk+igbWv//t/D4AIBk+ +xgAAAAAAAAABAAAAAgAAAAAAAAACAAAAAwAAAAAAAAADAAAABAAAAAAAAAAEAAAADQAAAAAA +AAANAAAAFQAAAAAAAAAVAAAAHAAAAAAAAAAcAAAAIQAAAAAAAAAhAAAAIAAAAAAAAAAgAAAA +IgAAAAAAAAAiAAAAHQAAAAAAAAAdAAAAFgAAAAAAAAAWAAAADwAAAAAAAAAPAAAADgAAAAAA +AAAOAAAABgAAAAAAAAAGAAAAAQAAAAEAAAAFAAAAAgAAAAEAAAAGAAAABQAAAAIAAAAFAAAA +BwAAAAIAAAAHAAAACAAAAAIAAAAIAAAACQAAAAIAAAAJAAAACgAAAAIAAAAKAAAAAwAAAAMA +AAAKAAAACwAAAAMAAAALAAAADAAAAAMAAAAMAAAABAAAAAQAAAAMAAAADQAAAAUAAAAGAAAA +DgAAAAUAAAAOAAAABwAAAAcAAAAOAAAADwAAAAcAAAAPAAAAFgAAAAcAAAAWAAAAHgAAAAcA +AAAeAAAAGAAAAAcAAAAYAAAAFwAAAAcAAAAXAAAAEQAAAAcAAAARAAAAEAAAAAcAAAAQAAAA +CQAAAAcAAAAJAAAACAAAAAkAAAAQAAAACgAAAAoAAAAQAAAAEQAAAAoAAAARAAAAEgAAAAoA +AAASAAAAEwAAAAoAAAATAAAACwAAAAsAAAATAAAAGgAAAAsAAAAaAAAAGAAAAAsAAAAYAAAA +HgAAAAsAAAAeAAAAHQAAAAsAAAAdAAAAIgAAAAsAAAAiAAAAHwAAAAsAAAAfAAAAGwAAAAsA +AAAbAAAAFAAAAAsAAAAUAAAAFQAAAAsAAAAVAAAADQAAAAsAAAANAAAADAAAABEAAAAXAAAA +EgAAABIAAAAXAAAAGAAAABIAAAAYAAAAGQAAABIAAAAZAAAAEwAAABMAAAAZAAAAGgAAABQA +AAAbAAAAHAAAABQAAAAcAAAAFQAAABYAAAAdAAAAHgAAABgAAAAaAAAAGQAAABsAAAAfAAAA +IAAAABsAAAAgAAAAIQAAABsAAAAhAAAAHAAAAB8AAAAiAAAAIAAAABAAAAAAAAAAAAAAAAAA +AAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAgD9gAAAABAAAAOHF4L//U66+qL4tPmSVwL//U66+ +8DF6vAos77//U66+H94SvqY7/7+AZZa/sh2tvZTH/b+AZZa/cPKHvYVj+b+AZZa/EB18vB1m +4L8oSLi+qL4tPmSVwL/OJMu+qL4tPmSVwL//U66+IFrbvmgZ7b//U66+iH1vvsUB/b+AZZa/ +SNokvqT/1L+AZZa/AAR6OzAZ4L/8JMC+qL4tPuAmxr/Wbcm+qL4tPmSVwL/ZD5a/TnBCvWSV +wL/A4f++GALUvguSwr//U66+ctrZviHA6r//U66+ov2gvq8v27+AZZa/2oWGvrA66r8r6dq+ +3qmdvlgWzr9tskS/9im1vmSVwL+AZZa/iEZGvQuSwr+G0O2+ZuPTvmSVwL+wXka/AcPDvgu6 +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 +PL9mLE0/Y8O1v22yRL+vhEw/ym+4v66KWL8d6kk/ym+4v9pQlL/C5Tg/ceevv4Bllr8Z7zI/ ++N6tv4Bllr/e2zE/AOyBv0UnYL90ODE/AOyBv9LmTr+i8Dc/AOyBv9iABb/28kc/AOyBv/9T +rr5w88o+EXyuv/9Trr40M9E+ym+4vzKnzb7Yzy0+ym+4v4Bllr8DPDc/GpGtv4Bllr/2ozE/ +AOyBv0Khar/eTxA/AOyBvzrwy77Yzy0+ycuPv/9Trr6P/sc+x3iqv/9Trr4Ge8o+4xuqv/9T +rr4EJco+LCWov/9Trr6Sf8g+Woipvzjs0r7Yzy0+Sia1v4Bllr8nevQ+ym+4v4Bllr+Q8vQ+ +7Mmpv4Bllr9ipRQ/AOyBv+5ZXb9iOu4+I0Kqv4Bllr/ZNxM/OcWMv9Gzz77Yzy0+AOyBv0A9 +W7+Td+Y+Eauyv4Bllr8opfQ+0gAAAAAAAAABAAAAAgAAAAAAAAACAAAAAwAAAAAAAAADAAAA +BAAAAAAAAAAEAAAABQAAAAAAAAAFAAAABgAAAAAAAAAGAAAAEQAAAAAAAAARAAAAGAAAAAAA +AAAYAAAAGwAAAAAAAAAbAAAAGgAAAAAAAAAaAAAAGQAAAAAAAAAZAAAAEgAAAAAAAAASAAAA +BwAAAAAAAAAHAAAAAQAAAAEAAAAHAAAAEwAAAAEAAAATAAAAHgAAAAEAAAAeAAAAFAAAAAEA +AAAUAAAACwAAAAEAAAALAAAACgAAAAEAAAAKAAAACAAAAAEAAAAIAAAAAwAAAAEAAAADAAAA +AgAAAAMAAAAIAAAABAAAAAQAAAAIAAAACQAAAAQAAAAJAAAABQAAAAUAAAAJAAAACgAAAAUA +AAAKAAAACwAAAAUAAAALAAAADAAAAAUAAAAMAAAADQAAAAUAAAANAAAADgAAAAUAAAAOAAAA +DwAAAAUAAAAPAAAAEAAAAAUAAAAQAAAABgAAAAYAAAAQAAAADwAAAAYAAAAPAAAADgAAAAYA +AAAOAAAAFgAAAAYAAAAWAAAAIAAAAAYAAAAgAAAAIwAAAAYAAAAjAAAAFwAAAAYAAAAXAAAA +EQAAAAcAAAASAAAAEwAAAAgAAAAKAAAACQAAAAsAAAAUAAAADAAAAAwAAAAUAAAAHgAAAAwA +AAAeAAAAHQAAAAwAAAAdAAAAJAAAAAwAAAAkAAAAIQAAAAwAAAAhAAAAHwAAAAwAAAAfAAAA +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 +BQAAAAAAAAAFAAAADQAAAAAAAAANAAAAEgAAAAAAAAASAAAADgAAAAAAAAAOAAAABgAAAAAA +AAAGAAAABwAAAAAAAAAHAAAAAQAAAAEAAAAHAAAACQAAAAEAAAAJAAAACAAAAAIAAAAKAAAA +CwAAAAIAAAALAAAADAAAAAIAAAAMAAAABAAAAAIAAAAEAAAAAwAAAAQAAAAMAAAADQAAAAQA +AAANAAAABQAAAAYAAAAOAAAABwAAAAcAAAAOAAAACQAAAAgAAAAJAAAADwAAAAkAAAAQAAAA +EQAAAAkAAAARAAAADwAAAAkAAAAOAAAAEgAAAAkAAAASAAAADQAAAAkAAAANAAAADAAAAAkA +AAAMAAAAEAAAAAoAAAATAAAACwAAAAsAAAARAAAAEAAAAAsAAAAQAAAADAAAAAsAAAATAAAA +EQAAAA8AAAARAAAAFAAAABEAAAATAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAA +AAAAAAAAAAAAAAAAgD9dAAAABAAAAMWS1b8B7vw+AFIhPlTn1b8B7vw+AFIhPgBxtb8kttg+ +AFIhPkCHtb8B7vw+kpoKvUVG1r8B7vw+fIIUPhsR4r+0+7w+AFIhPgBxtb+Dt/s++DX/vLGi +4L8BVK6+AFIhPgBxtb8BVK6+AAKUOgBxtb8B7vw+dAaTvkWN2L8B7vw+WLjXPD9l5r+ssr4+ +TpdhvQYa6b/VEmE9AFIhPh6Y6b+NVhe+AFIhPrAs778BVK6+bBITvgBxtb8BVK6+bZvjvoxB +vL8B7vw+twaMvgBxtb9wHQg8BIvuvlOV2b8B7vw+zBZvvSLZ1r8B7vw+DFBSviSD67+gl1u+ +vt2lvgCk8L92/26+cnISvpwZ7b8BVK6+845vvoSSwr8BVK6+y9vZvgBxtb/IZGm+JDPrvrs8 +1b8B7vw+iB9gvoSSwr/esF++k7PfvoSSwr8wU5G7f8Phvs/A6r8BVK6+7QWhvn8m3L8UPyI+ +dO6Svva12b8BVK6+BS25vq4AAAAAAAAAAQAAAAUAAAAAAAAABQAAAAwAAAAAAAAADAAAAA0A +AAAAAAAADQAAAAcAAAAAAAAABwAAAAIAAAAAAAAAAgAAAAMAAAAAAAAAAwAAAAkAAAAAAAAA +CQAAABAAAAAAAAAAEAAAABkAAAAAAAAAGQAAABMAAAAAAAAAEwAAABIAAAAAAAAAEgAAAAoA +AAAAAAAACgAAAAQAAAAAAAAABAAAAAEAAAABAAAABAAAAAUAAAACAAAABgAAAAMAAAACAAAA +BwAAAAgAAAACAAAACAAAAA8AAAACAAAADwAAABgAAAACAAAAGAAAABEAAAACAAAAEQAAAAkA +AAACAAAACQAAAAYAAAADAAAABgAAAAkAAAAEAAAACgAAAAsAAAAEAAAACwAAAAUAAAAFAAAA +CwAAAAwAAAAHAAAADQAAAA4AAAAHAAAADgAAABYAAAAHAAAAFgAAABwAAAAHAAAAHAAAAB4A +AAAHAAAAHgAAABcAAAAHAAAAFwAAAA8AAAAHAAAADwAAAAgAAAAJAAAAEQAAABAAAAAKAAAA +EgAAAAsAAAALAAAAEgAAABMAAAALAAAAEwAAABQAAAALAAAAFAAAABUAAAALAAAAFQAAAAwA +AAAMAAAAFQAAAA0AAAANAAAAFQAAAA4AAAAOAAAAFQAAABYAAAAPAAAAFwAAABgAAAAQAAAA +EQAAABkAAAARAAAAGAAAABoAAAARAAAAGgAAABsAAAARAAAAGwAAABkAAAATAAAAGQAAABQA +AAAUAAAAGwAAABoAAAAUAAAAGgAAABwAAAAUAAAAHAAAABUAAAAUAAAAGQAAAB0AAAAUAAAA +HQAAABsAAAAVAAAAHAAAABYAAAAXAAAAHgAAABoAAAAXAAAAGgAAABgAAAAZAAAAGwAAAB0A +AAAaAAAAHgAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAIA/ +UQAAAAQAAACkJ6a/Uu/nPgBSIT4AfHS/Ae78PjKZpL4AcbW/g7f7PnjR/rwAcbW/JLbYPgBS +IT6zXa6/XkDYPgBSIT63FrO/AVSuvsAPCDusALG/AVSuvgDA6TeJtJi/AVSuvgBMe70AfHS/ +AVSuvkObHr4AfHS/mDkwPQA7Cr+plpq/Ae78PuQ7qL4AcbW/Ae78PswMk74ElbG/JpPVPgBS +IT4AcbW/AVSuvgDJmzocerO/AVSuvoD1GTsAfHS/AVSuvntX974AfHS/rB/5vDlkCb84NpO/ +Wj6BvryVBL84NpO/2jMqPeTnB7/YcbS/Ae78PlEQlL4AcbW/cB0IPFWI7r4AcbW/AVSuvkuX +476vN4y/AVSuvoko/r4AfHS/ZXaavhMM+74AfHS/+tWOvuo2/b4AcbW/yGRpvjot675bypW/ +AVSuviouAL+WAAAAAAAAAAEAAAACAAAAAAAAAAIAAAADAAAAAAAAAAMAAAAMAAAAAAAAAAwA +AAAEAAAAAAAAAAQAAAAFAAAAAAAAAAUAAAAGAAAAAAAAAAYAAAAHAAAAAAAAAAcAAAAIAAAA +AAAAAAgAAAABAAAAAQAAAAkAAAAKAAAAAQAAAAoAAAATAAAAAQAAABMAAAALAAAAAQAAAAsA +AAACAAAAAQAAAAgAAAAPAAAAAQAAAA8AAAAXAAAAAQAAABcAAAAYAAAAAQAAABgAAAAQAAAA +AQAAABAAAAAJAAAAAgAAAAsAAAAUAAAAAgAAABQAAAAZAAAAAgAAABkAAAAVAAAAAgAAABUA +AAANAAAAAgAAAA0AAAADAAAAAwAAAA0AAAAOAAAAAwAAAA4AAAAMAAAABAAAAAwAAAAOAAAA +BAAAAA4AAAAFAAAABQAAAA4AAAANAAAABQAAAA0AAAAVAAAABQAAABUAAAAaAAAABQAAABoA +AAAWAAAABQAAABYAAAAPAAAABQAAAA8AAAAIAAAABQAAAAgAAAAHAAAABQAAAAcAAAAGAAAA +CQAAABAAAAARAAAACQAAABEAAAASAAAACQAAABIAAAAKAAAACgAAABIAAAATAAAACwAAABMA +AAASAAAACwAAABIAAAAUAAAADwAAABYAAAAXAAAAEAAAABgAAAARAAAAEQAAABkAAAASAAAA +EQAAABgAAAAWAAAAEQAAABYAAAAaAAAAEQAAABoAAAAVAAAAEQAAABUAAAAZAAAAEgAAABkA +AAAUAAAAFgAAABgAAAAXAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA +AACAP1cAAAAEAAAAACm0v+iKhL22NVo/sjHTv6CXW75Bjlg/ACm0vxSFXr54SVk/ACm0v7fY +uT5MYDY/sH3AvwHu/D6IPD0/ce3AvwHu/D4baT0/17bev3b/br7zWy8/VF3YvwFUrr53ZkM/ +sjHTvwFUrr7HrlU/ACm0vwFUrr4Gm1Y/nrbCvwHu/D6Qyjs/tgnXv6yyvj6exCA/ACm0vwHu +/D6BCis/Ef3dvwFUrr4O6C4//8vsv9FIhj2OZI0+ABTuv59MI75c4Y0+ACm0vwFUrr4kkd4+ +3vLLvwHu/D7X7Bk/1grVvwHu/D7o9Ho+Zf3fv5MlvD7Vr4Q+ACm0vwHu/D4AzYw+nP7ivwFU +rr7VUoY+txnpv9USYT3UYyE+ChLiv7T7vD7UYyE+iJbpv41WF77UYyE+2aLgvwFUrr7UYyE+ +ACm0v3qq1z7UYyE+cefVvwHu/D7UYyE+Q5PVvwHu/D7UYyE+ogAAAAAAAAABAAAAAgAAAAAA +AAACAAAACQAAAAAAAAAJAAAAEAAAAAAAAAAQAAAAGgAAAAAAAAAaAAAAFAAAAAAAAAAUAAAA +DAAAAAAAAAAMAAAAAwAAAAAAAAADAAAABAAAAAAAAAAEAAAABQAAAAAAAAAFAAAAAQAAAAEA +AAAGAAAABwAAAAEAAAAHAAAACAAAAAEAAAAIAAAACQAAAAEAAAAJAAAAAgAAAAEAAAAFAAAA +CgAAAAEAAAAKAAAACwAAAAEAAAALAAAABgAAAAMAAAAMAAAABAAAAAQAAAAMAAAAFAAAAAQA +AAAUAAAAHAAAAAQAAAAcAAAAGwAAAAQAAAAbAAAAEgAAAAQAAAASAAAAEQAAAAQAAAARAAAA +CgAAAAQAAAAKAAAABQAAAAYAAAANAAAABwAAAAYAAAALAAAADgAAAAYAAAAOAAAADwAAAAYA +AAAPAAAADQAAAAcAAAANAAAAFQAAAAcAAAAVAAAAGQAAAAcAAAAZAAAAEAAAAAcAAAAQAAAA +CQAAAAcAAAAJAAAACAAAAAoAAAARAAAACwAAAAsAAAARAAAAEgAAAAsAAAASAAAAEwAAAAsA +AAATAAAADgAAAA0AAAAPAAAAFQAAAA4AAAAWAAAADwAAAA4AAAATAAAAFwAAAA4AAAAXAAAA +FgAAAA8AAAAWAAAAGAAAAA8AAAAYAAAAGQAAAA8AAAAZAAAAFQAAABAAAAAZAAAAGgAAABIA +AAAbAAAAFwAAABIAAAAXAAAAEwAAABQAAAAaAAAAHAAAABYAAAAXAAAAGwAAABYAAAAbAAAA +HAAAABYAAAAcAAAAGgAAABYAAAAaAAAAGQAAABYAAAAZAAAAGAAAABAAAAAAAAAAAAAAAAAA +AAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAgD9jAAAABAAAAK2rp78wU5G7AORaPwAptL/oioS9 ++DlaP62rp7/esF++45hZPwB8dL+40h09DflSPwAptL8B7vw+0QgrPwAptL+32Lk+PmU2PwAp +tL8UhV6+0kxZPzpOqL8BVK6+FhBXPwB8dL9HHYC+hpBPPwB8dL+0FWQ9Ez5RPxPjhb8B7vw+ +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 + + \ No newline at end of file diff --git a/test-projects/script-unwritable-instances/src/LuaCantMakeMe.model.json b/test-projects/script-unwritable-instances/src/LuaCantMakeMe.model.json new file mode 100644 index 000000000..9a00d76c8 --- /dev/null +++ b/test-projects/script-unwritable-instances/src/LuaCantMakeMe.model.json @@ -0,0 +1,3 @@ +{ + "ClassName": "PackageLink" +} \ No newline at end of file diff --git a/testez.toml b/testez.toml new file mode 100644 index 000000000..adc2434b8 --- /dev/null +++ b/testez.toml @@ -0,0 +1,67 @@ +# TestEZ +[[afterAll.args]] +type = "function" + +[[afterEach.args]] +type = "function" + +[[beforeAll.args]] +type = "function" + +[[beforeEach.args]] +type = "function" + +[[describe.args]] +type = "string" + +[[describe.args]] +type = "function" + +[[describeFOCUS.args]] +type = "string" + +[[describeFOCUS.args]] +type = "function" + +[[describeSKIP.args]] +type = "string" + +[[describeSKIP.args]] +type = "function" + +[[expect.args]] +type = "any" + +[[FIXME.args]] +type = "string" +required = false + +[FOCUS] +args = [] + +[[it.args]] +type = "string" + +[[it.args]] +type = "function" + +[[itFIXME.args]] +type = "string" + +[[itFIXME.args]] +type = "function" + +[[itFOCUS.args]] +type = "string" + +[[itFOCUS.args]] +type = "function" + +[[itSKIP.args]] +type = "string" + +[[itSKIP.args]] +type = "function" + +[SKIP] +args = []