From 989731bed7f605b8408aa8e2ed1830b2d4d9b91a Mon Sep 17 00:00:00 2001 From: Eric Myllyoja Date: Mon, 21 Feb 2022 23:43:59 -0500 Subject: [PATCH] Version 1.5.0 (cleanup and documentation) --- CHANGELOG.md | 5 +- docs/_includes/toc.html | 8 + docs/docs/scripted-classes.markdown | 89 ++- polymod/Polymod.hx | 9 +- polymod/PolymodConfig.hx | 26 +- polymod/backends/PolymodAssetLibrary.hx | 1 + polymod/hscript/HScriptMacro.hx | 629 ++++++++++-------- polymod/hscript/HScriptable.hx | 22 +- polymod/hscript/PolymodAbstractScriptClass.hx | 8 +- polymod/hscript/PolymodClassDeclEx.hx | 2 +- polymod/hscript/PolymodInterpEx.hx | 81 +-- polymod/hscript/PolymodParserEx.hx | 4 +- polymod/hscript/PolymodScriptClass.hx | 48 +- samples/openfl_hscript_class/README.md | 11 + samples/openfl_hscript_class/assets/img/a.png | Bin 878 -> 0 bytes samples/openfl_hscript_class/assets/img/b.png | Bin 900 -> 0 bytes samples/openfl_hscript_class/assets/img/c.png | Bin 902 -> 0 bytes .../mods/mod6/data/scripts/stage/advanced.hxc | 44 +- .../mods/mod6/img/stage/car.png | Bin 0 -> 72898 bytes .../mods/mod6/img/stage/street.png | Bin 0 -> 87603 bytes .../mods/mod7/LICENSE.txt | 5 + .../mods/mod7/_polymod_icon.png | Bin 0 -> 1137 bytes .../mods/mod7/_polymod_meta.json | 8 + .../mods/mod7/img/stage/car.png | Bin 0 -> 116586 bytes samples/openfl_hscript_class/src/Demo.hx | 139 ++-- samples/openfl_hscript_class/src/Main.hx | 19 +- .../src/stage/ScriptedStage.hx | 24 +- .../openfl_hscript_class/src/stage/Stage.hx | 36 +- .../src/stage/StubStage.hx | 23 +- 29 files changed, 735 insertions(+), 506 deletions(-) create mode 100644 samples/openfl_hscript_class/README.md delete mode 100644 samples/openfl_hscript_class/assets/img/a.png delete mode 100644 samples/openfl_hscript_class/assets/img/b.png delete mode 100644 samples/openfl_hscript_class/assets/img/c.png create mode 100644 samples/openfl_hscript_class/mods/mod6/img/stage/car.png create mode 100644 samples/openfl_hscript_class/mods/mod6/img/stage/street.png create mode 100644 samples/openfl_hscript_class/mods/mod7/LICENSE.txt create mode 100644 samples/openfl_hscript_class/mods/mod7/_polymod_icon.png create mode 100644 samples/openfl_hscript_class/mods/mod7/_polymod_meta.json create mode 100644 samples/openfl_hscript_class/mods/mod7/img/stage/car.png diff --git a/CHANGELOG.md b/CHANGELOG.md index c1969236..c75916f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [1.5.0] - 2022-02-?? ### Added -- Added the new `polymod.hscript.PolymodScriptClass` class, which contains utility functions that allow defining custom classes in scripts. +- Added new functionality which allows for parsing and instantiation of classes defined in scripts. See [Scripted Classes](https://polymod.io/docs/scripted-classes) for more information. +- Incorporated the functionality of `hscript-ex` into Polymod. +### Changed +- - These scripted classes can extend existing classes or even other scripted classes. - Parse any scripted classes with `registerAllScriptClasses()`, get the list of scripted classes extending a given class with `listScriptClassesExtendingClass()`, then instantiate it with `createScriptClassInstance(className, args)`. You can cast the `AbstractScriptClass` to the appropriate type once instantiated. - Note this interface is subject to change and may be deprecated in favor of a more seamless interface in the future. diff --git a/docs/_includes/toc.html b/docs/_includes/toc.html index 26afb623..395d3aae 100644 --- a/docs/_includes/toc.html +++ b/docs/_includes/toc.html @@ -65,6 +65,14 @@

Documentation

href="{{ '/docs/scripting' | relative_url }}"> Scripting +
  • 1000) { + abc = 20; + } + + trace('Value is: ' + abc); + } } ``` @@ -24,15 +90,18 @@ class ScriptedStage extends Stage implements HScriptable { There are many things which you can do within a scripted class, including but not limited to: * Override the constructor (using `public function new() { ... }`) -* Import modules and instantiate objects (like `import flixel.FlxG`). -* Access public or private fields of the superclass, including functions. +* Define new fields and functions and call them from other functions. +* Modify public or private values of the superclass, and call superclass functions. +* Override existing functions of the class to replace (or extend) functionality. +* Import modules and call static functions or instantiate objects (like `import flixel.FlxG` or `import flixel.FlxSprite`) There are some things to watch out for though: -* You can't override `static` functions in a script. +* You can't override `static` functions from a script. * You can't override a function which uses a private class as an argument. * This is not possible in any Haxe program so don't worry about this. -* You can't (CURRENTLY) override functions with an optional argument like `function create(?name:String = 'test')` +* You can't use string interpolation from a script. + * For example, `trace('Value is ${abc}')` will actually print `Value is ${abc}` instead of `Value is 123`. + * Thankfully, you can still use string concatenation, for example, `trace('Value is ' + abc)`. * You can't (CURRENTLY) override functions which utilize a constrained generic type like `function test>(a:T)` - * I think fully generic types work? Haven't tested. -* Sometimes using `this.xyz` to access fields doesn't work, but just `xyz` does. +* You can't (CURRENTLY) override functions with an optional argument like `function create(?name:String = 'test')` diff --git a/polymod/Polymod.hx b/polymod/Polymod.hx index b8f1ca19..7c8c427a 100644 --- a/polymod/Polymod.hx +++ b/polymod/Polymod.hx @@ -278,8 +278,7 @@ class Polymod // Store the params for later use (by loadMod, unloadMod, and clearMods) prevParams = params; - // Do scripted class initialization now that the assetLibrary is - #if hscript_ex + // Do scripted class initialization now that the assetLibrary is loaded. if (params.useScriptedClasses) { Polymod.notice(PolymodErrorCode.SCRIPT_CLASS_PARSING, 'Parsing script classes...'); PolymodScriptClass.registerAllScriptClasses(); @@ -287,12 +286,6 @@ class Polymod var classList = PolymodScriptClass.listScriptClasses(); Polymod.notice(PolymodErrorCode.SCRIPT_CLASS_PARSED, 'Parsed and registered ${classList.length} scripted classes.'); } - #else - if (params.useScriptedClasses) { - Polymod.error(PolymodErrorCode.SCRIPT_NO_INTERPRETER, - 'Polymod does not support useScriptedClasses unless the library "hscript-ex" is installed.'); - } - #end return modMeta; } diff --git a/polymod/PolymodConfig.hx b/polymod/PolymodConfig.hx index 2f2a18e5..c0aa26fd 100644 --- a/polymod/PolymodConfig.hx +++ b/polymod/PolymodConfig.hx @@ -20,7 +20,7 @@ class PolymodConfig */ public static var debug(get, default):Null; - static function get_debug() + static function get_debug():Null { // If the value is null, retrieve the value as a Haxe define. if (debug == null) @@ -38,7 +38,7 @@ class PolymodConfig */ public static var rootPath(get, default):String; - static function get_rootPath() + static function get_rootPath():String { // If the value is null, retrieve the value as a Haxe define. if (rootPath == null) @@ -58,7 +58,7 @@ class PolymodConfig */ public static var useNamespaceInPaths(get, default):Null; - static function get_useNamespaceInPaths() + static function get_useNamespaceInPaths():Null { // If the value is null, retrieve the value as a Haxe define. if (useNamespaceInPaths == null) @@ -76,7 +76,7 @@ class PolymodConfig */ public static var scriptExt(get, default):String; - static function get_scriptExt() + static function get_scriptExt():String { // If the value is null, retrieve the value as a Haxe define. if (scriptExt == null) @@ -94,7 +94,7 @@ class PolymodConfig */ public static var scriptClassExt(get, default):String; - static function get_scriptClassExt() + static function get_scriptClassExt():String { // If the value is null, retrieve the value as a Haxe define. if (scriptClassExt == null) @@ -113,7 +113,7 @@ class PolymodConfig */ public static var scriptLibrary(get, default):String; - static function get_scriptLibrary() + static function get_scriptLibrary():String { // If the value is null, retrieve the value as a Haxe define. if (scriptLibrary == null) @@ -131,7 +131,7 @@ class PolymodConfig */ public static var appendFolder(get, default):String; - static function get_appendFolder() + static function get_appendFolder():String { // If the value is null, retrieve the value as a Haxe define. if (appendFolder == null) @@ -155,7 +155,7 @@ class PolymodConfig */ public static var apiVersionMatch(get, default):Null = null; - static function get_apiVersionMatch() + static function get_apiVersionMatch():Null { // If the value is null, retrieve the value as a Haxe define. if (apiVersionMatch == null) @@ -173,7 +173,7 @@ class PolymodConfig */ public static var mergeFolder(get, default):String; - static function get_mergeFolder() + static function get_mergeFolder():String { // If the value is null, retrieve the value as a Haxe define. if (mergeFolder == null) @@ -192,7 +192,7 @@ class PolymodConfig // @:deprecated("Functionality removed, new implementation pending") public static var modPackFile(get, default):String; - static function get_modPackFile() + static function get_modPackFile():String { // If the value is null, retrieve the value as a Haxe define. if (modPackFile == null) @@ -210,7 +210,7 @@ class PolymodConfig */ public static var modMetadataFile(get, default):String; - static function get_modMetadataFile() + static function get_modMetadataFile():String { // If the value is null, retrieve the value as a Haxe define. if (modMetadataFile == null) @@ -228,7 +228,7 @@ class PolymodConfig */ public static var modIconFile(get, default):String; - static function get_modIconFile() + static function get_modIconFile():String { // If the value is null, retrieve the value as a Haxe define. if (modIconFile == null) @@ -247,7 +247,7 @@ class PolymodConfig */ public static var modIgnoreFiles(get, default):Array; - static function get_modIgnoreFiles() + static function get_modIgnoreFiles():Array { // If the value is null, retrieve the value as a Haxe define. if (modIgnoreFiles == null) diff --git a/polymod/backends/PolymodAssetLibrary.hx b/polymod/backends/PolymodAssetLibrary.hx index 40a03db6..83ed0f0b 100644 --- a/polymod/backends/PolymodAssetLibrary.hx +++ b/polymod/backends/PolymodAssetLibrary.hx @@ -137,6 +137,7 @@ class PolymodAssetLibrary backend.destroy(); } PolymodScriptClass.clearScriptClasses(); + polymod.hscript.HScriptable.ScriptRunner.clearScripts(); } public function mergeAndAppendText(id:String, modText:String):String diff --git a/polymod/hscript/HScriptMacro.hx b/polymod/hscript/HScriptMacro.hx index 17abbfb5..c3d31d28 100644 --- a/polymod/hscript/HScriptMacro.hx +++ b/polymod/hscript/HScriptMacro.hx @@ -323,6 +323,7 @@ class HScriptMacro var hscriptCancellable:Bool = hscriptParams.cancellable == null ? HScriptParams.CANCELLABLE_DEFAULT : hscriptParams.cancellable; var hscriptOptional:Bool = hscriptParams.optional == null ? HScriptParams.OPTIONAL_DEFAULT : hscriptParams.optional; var hscriptRunBefore:Bool = hscriptParams.runBefore == null ? HScriptParams.RUN_BEFORE_DEFAULT : hscriptParams.runBefore; + var hscriptDynamicPath:Bool = hscriptParams.pathNameDynId != null; func.expr = macro { $b{hscriptRunBefore ? [func.expr] : []}; @@ -399,11 +400,14 @@ class HScriptMacro { constructor_setup = [macro _polymod_scripts = new polymod.hscript.HScriptable.ScriptRunner()]; } - constructor_setup.push(macro - { - polymod.Polymod.debug('Loading hscript ' + $v{pathName}); - _polymod_scripts.load($v{pathName}, Assets); - }); + if (!hscriptDynamicPath) + { + constructor_setup.push(macro + { + // polymod.Polymod.debug('Loading hscript ' + $v{pathName}); + _polymod_scripts.load($v{pathName}, Assets); + }); + } default: Context.error("Error: The @:hscript meta is only allowed on functions", Context.currentPos()); @@ -499,22 +503,22 @@ class HScriptMacro for (arg in args) {name: arg.name, opt: arg.opt, type: Context.toComplexType(arg.t)} ]; - // Create scripted class utility functions. - var utilFields:Array = buildScriptedClassUtils(cls, superCls, constArgs); - fields = fields.concat(utilFields); + // Create scripted class utility functions. + var utilFields:Array = buildScriptedClassUtils(cls, superCls, constArgs); + fields = fields.concat(utilFields); constructor = buildScriptedClassConstructor(constArgs); case TLazy(builder): switch (builder()) { case TFun(args, ret): - // Build a new constructor, which has the same signature as the superclass constructor. + // Build a new constructor, which has the same signature as the superclass constructor. var constArgs = [ for (arg in args) {name: arg.name, opt: arg.opt, type: Context.toComplexType(arg.t)} ]; - // Create scripted class utility functions. - var utilFields:Array = buildScriptedClassUtils(cls, superCls, constArgs); - fields = fields.concat(utilFields); + // Create scripted class utility functions. + var utilFields:Array = buildScriptedClassUtils(cls, superCls, constArgs); + fields = fields.concat(utilFields); constructor = buildScriptedClassConstructor(constArgs); default: Context.error('Error: Lazy superclass constructor is not a function (got ${superCls.constructor.get().type})', @@ -547,14 +551,14 @@ class HScriptMacro { Context.info('Building scripted class utils', Context.currentPos()); var clsTypeName:String = cls.pack.join('.') != '' ? '${cls.pack.join('.')}.${cls.name}' : cls.name; - var superClsTypeName:String = superCls.pack.join('.') != '' ? '${superCls.pack.join('.')}.${superCls.name}' : superCls.name; + var superClsTypeName:String = superCls.pack.join('.') != '' ? '${superCls.pack.join('.')}.${superCls.name}' : superCls.name; // var _asc:AbstractScriptClass = null; var var__asc:Field = { name: '_asc', doc: "The AbstractScriptClass instance which any variable or function calls are redirected to internally.", access: [APrivate], // Private instance variable - kind: FVar(Context.toComplexType(Context.getType('hscript.AbstractScriptClass'))), + kind: FVar(Context.toComplexType(Context.getType('polymod.hscript.PolymodAbstractScriptClass'))), pos: cls.pos, }; @@ -593,15 +597,16 @@ class HScriptMacro args: [{name: 'clsName', type: Context.toComplexType(Context.getType('String'))},].concat(superConstArgs), params: null, ret: Context.toComplexType(Context.getType(clsTypeName)), - expr: macro { - polymod.hscript.PolymodScriptClass.scriptClassOverrides.set($v{superClsTypeName}, Type.resolveClass($v{clsTypeName})); + expr: macro + { + polymod.hscript.PolymodScriptClass.scriptClassOverrides.set($v{superClsTypeName}, Type.resolveClass($v{clsTypeName})); + + var asc:polymod.hscript.PolymodAbstractScriptClass = polymod.hscript.PolymodScriptClass.createScriptClassInstance(clsName, $a{constArgs}); + var scriptedObj = asc.superClass; - var asc:hscript.AbstractScriptClass = polymod.hscript.PolymodScriptClass.createScriptClassInstance(clsName, $a{constArgs}); - var scriptedObj = asc.superClass; + Reflect.setField(scriptedObj, '_asc', asc); - Reflect.setField(scriptedObj, '_asc', asc); - - return scriptedObj; + return scriptedObj; }, }), }; @@ -611,281 +616,323 @@ class HScriptMacro /** * For each function in the superclass, create a function in the subclass - * that redirects to the internal abstract script class. + * that redirects to the internal abstract script class. */ static function buildScriptedClassFieldOverrides(cls:haxe.macro.Type.ClassType):Array { - var fieldDone:Array = []; - var fieldArray:Array = []; - - var targetClass:haxe.macro.Type.ClassType = cls; - var tClass = Context.toComplexType(Context.getType(cls.name)); - - // Start with a custom implementation of .toString() - var func_toString:Field = buildScriptedClass_toString(targetClass); - fieldArray.push(func_toString); - fieldDone.push('toString'); - - while (targetClass != null) { - Context.info('Processing overrides for class: ${targetClass.name}', Context.currentPos()); - var newFields:Array = buildScriptedClassFieldOverrides_inner(targetClass); - for (newField in newFields) { - if (newField != null && !fieldDone.contains(newField.name)) { - // Context.info(' Registering: ${newField.name}', Context.currentPos()); - fieldDone.push(newField.name); - fieldArray.push(newField); - } else { - // Context.info('Redundant: ${newField.name}', Context.currentPos()); - } - } - // Context.info('Moving on... ${targetClass.superClass}', Context.currentPos()); - if (targetClass.superClass != null) { - targetClass = targetClass.superClass.t.get(); - } else { - targetClass = null; - } - } + var fieldDone:Array = []; + var fieldArray:Array = []; + + var targetClass:haxe.macro.Type.ClassType = cls; + var tClass = Context.toComplexType(Context.getType(cls.name)); + + // Start with a custom implementation of .toString() + var func_toString:Field = buildScriptedClass_toString(targetClass); + fieldArray.push(func_toString); + fieldDone.push('toString'); + + while (targetClass != null) + { + Context.info('Processing overrides for class: ${targetClass.name}', Context.currentPos()); + var newFields:Array = buildScriptedClassFieldOverrides_inner(targetClass); + for (newField in newFields) + { + if (newField != null && !fieldDone.contains(newField.name)) + { + // Context.info(' Registering: ${newField.name}', Context.currentPos()); + fieldDone.push(newField.name); + fieldArray.push(newField); + } + else + { + // Context.info('Redundant: ${newField.name}', Context.currentPos()); + } + } + // Context.info('Moving on... ${targetClass.superClass}', Context.currentPos()); + if (targetClass.superClass != null) + { + targetClass = targetClass.superClass.t.get(); + } + else + { + targetClass = null; + } + } return fieldArray; } - static function buildScriptedClass_toString(cls:haxe.macro.Type.ClassType):Field { - return { - name: 'toString', - doc: null, - access: [APublic, AOverride], - meta: null, - pos: cls.pos, - kind: FFun({ - args: [], - params: null, - ret: Context.toComplexType(Context.getType('String')), - expr: macro { - if (_asc == null) { - var clsName = $v{cls.name}; - var superName = $v{cls.superClass.t.get().name}; - return 'PolymodScriptedClass<${clsName} extends ${superName}>(NO ASC)'; - } else { - return _asc.callFunction('toString', []); - } - }, - }), - }; - } - - static function buildScriptedClassFieldOverrides_inner(cls:haxe.macro.Type.ClassType):Array { - var fields:Array = new Array(); - - // Context.info('Mapping overrides of class: ${cls.name}', Context.currentPos()); - for (field in cls.fields.get()) { - // Context.info('Attempting to build instance override: ${field.name}', Context.currentPos()); - if (field.name == 'new') { - // Do nothing - } else { - fields = fields.concat(overrideField(field, false)); - } - } - for (field in cls.statics.get()) { - // Context.info('Attempting to build static override: ${field.name}', Context.currentPos()); - - // TODO: Figure out a workaround for this error in order to support static fields - // HScriptMacro.hx: Cannot access _asc in static function - // fields.push(overrideField(field, true)); - } - - return fields.filter(function(field:Field):Bool { - return field != null; - }); - } - - static function overrideField(field:haxe.macro.Type.ClassField, isStatic:Bool, ?type:haxe.macro.Type = null):Array { - if (type == null) { - type = field.type; - } - - switch(type) { - case TLazy(lt): - // A lazy wrapper for another field. - // We have to call the function to get the true value. - var ltv:haxe.macro.Type = lt(); - // Context.info('Lazy field type: ${field}', Context.currentPos()); - return overrideField(field, isStatic, ltv); - // return []; - case TFun(args, ret): - // This field is a function of the class. - // We need to redirect to the scripted class in case our scripted class overrides it. - // If it isn't overridden, the AbstractScriptClass will call the original function. - - // We need to skip overriding functions which meet the following: - // 1. One or more argments are private types. - // 2. The function is an inline function. - // Neither scripted NOR normal classes can override these functions anyway, so it is safe to skip them. - // TODO: We are also skipping functions which take Null as an argument, since the type building function isn't handling them properly. - - for (arg in args) { - switch (arg.t) { - case TInst(ty, pa): - var typ = ty.get(); - if (typ.isPrivate) { - Context.info(' Skipping: "${field.name}" contains private type ${typ.module}.${typ.name}', Context.currentPos()); - return []; - } - default: - // Do nothing. - } - } - switch (field.kind) { - case FMethod(k): - switch(k) { - case MethInline: - Context.info(' Skipping: "${field.name}" is inline function', Context.currentPos()); - return []; - default: - // Do nothing. - } - default: - // Do nothing. - } - - var func_inputArgs:Array = []; - - // We only get limited information about the args from Type, we need to use TypedExprDef. - switch (field.expr().expr) { - case TFunction(tfunc): - for (arg in tfunc.args) { - var isOptional = (arg.value != null); - var tfuncMeta:haxe.macro.Metadata = arg.v.meta.get(); - var tfuncExpr:haxe.macro.Expr = arg.value == null ? null : Context.getTypedExpr(arg.value); - var tfuncType:haxe.macro.ComplexType = null; - if (isOptional) { - Context.info(' Skipping: FIX THIS "${field.name}" has an optional argument', Context.currentPos()); - return []; - // Convert haxe.macro.Type(T) to haxe.macro.Type(Null) - // There has to be a better way of doing this... - var exprStr:String = 'var n:Null<${arg.v.t.toString()}>;'; - var expr:haxe.macro.Expr = macro { - $e{Context.parse(exprStr, Context.currentPos())}; - n; - }; - var nullType = Context.typeof(expr); - // TODO: Remove once we get the fix for optional arguments working. - // tfuncType = { - // name: "Null", - // module: "StdTypes", - // params: [Context.toComplexType(arg.v.t)], - // }; - tfuncType = Context.toComplexType(nullType); - } else { - tfuncType = Context.toComplexType(arg.v.t); - } - var tfuncArg:FunctionArg = { - name: arg.v.name, - type: tfuncType, - opt: isOptional, - meta: tfuncMeta, - value: tfuncExpr, - }; - func_inputArgs.push(tfuncArg); - } - default: - Context.error('Expected a function and got ${field.expr().expr}', Context.currentPos()); - } - - // Is there a better way to do this? - var doesReturnVoid:Bool = ret.toString() == "Void"; - - // Generate the list of call arguments for the function. - var func_callArgs:Array = [for (arg in args) macro $i{arg.name}]; - var func_access = [field.isPublic ? APublic : APrivate]; - if (field.isFinal) func_access.push(AFinal); - if (isStatic) { - func_access.push(AStatic); - } else { - func_access.push(AOverride); - } - - // TODO: This breaks if there's a type constraint on the parameter. - var func_params = [for (param in field.params) { name: param.name } ]; - - var funcName:String = field.name; - var func_over:Field = { - name: funcName, - doc: field.doc == null ? 'Polymod ScriptedClass override of ${field.name}.' - : 'Polymod ScriptedClass override of ${field.name}.\n${field.doc}', - access: func_access, - meta: field.meta.get(), - pos: field.pos, - kind: FFun({ - args: func_inputArgs, - params: func_params, - ret: doesReturnVoid ? null : Context.toComplexType(ret), - expr: macro { - var fieldName:String = $v{funcName}; - if (_asc != null) { - // trace('ASC: Calling $fieldName() in macro-generated function...'); - return _asc.callFunction(fieldName, [$a{func_callArgs}]); - } else { - // Fallback, call the original function. - // trace('ASC: Fallback to original ${fieldName}'); - return super.$funcName($a{func_callArgs}); - } - }, - }), - }; - var func_superCall:Field = { - name: '__super_' + funcName, - doc: 'Calls the original ${field.name} function while ignoring the ScriptedClass override.', - access: [APrivate], - meta: field.meta.get(), - pos: field.pos, - kind: FFun({ - args: func_inputArgs, - params: func_params, - ret: doesReturnVoid ? null : Context.toComplexType(ret), - expr: macro { - var fieldName:String = $v{funcName}; - // Fallback, call the original function. - // trace('ASC: Force call to super ${fieldName}'); - return super.$funcName($a{func_callArgs}); - }, - }), - } - - return [func_over, func_superCall]; - case TInst(_t, _params): - // This field is an instance of a class. - // Example: var test:TestClass = new TestClass(); - - // Originally, I planned to replace all variables on the class with properties, - // however this is not possible because properties are merely a compile-time feature. - - // However, since scripted classes correctly access the superclass variables anyway, - // there is no need to override the value. - // Context.info('Field: Instance variable "${field.name}"', Context.currentPos()); - return []; - case TEnum(_t, _params): - // Enum instance - // Context.info('Field: Enum variable "${field.name}"', Context.currentPos()); - return []; - case TMono(_t): - // Monomorph instance - // https://haxe.org/manual/types-monomorph.html - // Context.info('Field: Monomorph variable "${field.name}"', Context.currentPos()); - return []; - case TAnonymous(_t): - // Context.info('Field: Anonymous variable "${field.name}"', Context.currentPos()); - return []; - case TDynamic(_t): - // Context.info('Field: Dynamic variable "${field.name}"', Context.currentPos()); - return []; - case TAbstract(_t, _params): - // Context.info('Field: Abstract variable "${field.name}"', Context.currentPos()); - return []; - default: - // Context.info('Unknown field type: ${field}', Context.currentPos()); - return []; - } - } + static function buildScriptedClass_toString(cls:haxe.macro.Type.ClassType):Field + { + return { + name: 'toString', + doc: null, + access: [APublic, AOverride], + meta: null, + pos: cls.pos, + kind: FFun({ + args: [], + params: null, + ret: Context.toComplexType(Context.getType('String')), + expr: macro + { + if (_asc == null) + { + var clsName = $v{cls.name}; + var superName = $v{cls.superClass.t.get().name}; + return 'PolymodScriptedClass<${clsName} extends ${superName}>(NO ASC)'; + } + else + { + return _asc.callFunction('toString', []); + } + }, + }), + }; + } + + static function buildScriptedClassFieldOverrides_inner(cls:haxe.macro.Type.ClassType):Array + { + var fields:Array = new Array(); + + // Context.info('Mapping overrides of class: ${cls.name}', Context.currentPos()); + for (field in cls.fields.get()) + { + // Context.info('Attempting to build instance override: ${field.name}', Context.currentPos()); + if (field.name == 'new') + { + // Do nothing + } + else + { + fields = fields.concat(overrideField(field, false)); + } + } + for (field in cls.statics.get()) + { + // Context.info('Attempting to build static override: ${field.name}', Context.currentPos()); + + // TODO: Figure out a workaround for this error in order to support static fields + // HScriptMacro.hx: Cannot access _asc in static function + // fields.push(overrideField(field, true)); + } + + return fields.filter(function(field:Field):Bool + { + return field != null; + }); + } + + static function overrideField(field:haxe.macro.Type.ClassField, isStatic:Bool, ?type:haxe.macro.Type = null):Array + { + if (type == null) + { + type = field.type; + } + + switch (type) + { + case TLazy(lt): + // A lazy wrapper for another field. + // We have to call the function to get the true value. + var ltv:haxe.macro.Type = lt(); + // Context.info('Lazy field type: ${field}', Context.currentPos()); + return overrideField(field, isStatic, ltv); + // return []; + case TFun(args, ret): + // This field is a function of the class. + // We need to redirect to the scripted class in case our scripted class overrides it. + // If it isn't overridden, the AbstractScriptClass will call the original function. + + // We need to skip overriding functions which meet the following: + // 1. One or more argments are private types. + // 2. The function is an inline function. + // Neither scripted NOR normal classes can override these functions anyway, so it is safe to skip them. + // TODO: We are also skipping functions which take Null as an argument, since the type building function isn't handling them properly. + + for (arg in args) + { + switch (arg.t) + { + case TInst(ty, pa): + var typ = ty.get(); + if (typ.isPrivate) + { + Context.info(' Skipping: "${field.name}" contains private type ${typ.module}.${typ.name}', Context.currentPos()); + return []; + } + default: + // Do nothing. + } + } + switch (field.kind) + { + case FMethod(k): + switch (k) + { + case MethInline: + Context.info(' Skipping: "${field.name}" is inline function', Context.currentPos()); + return []; + default: + // Do nothing. + } + default: + // Do nothing. + } + + var func_inputArgs:Array = []; + + // We only get limited information about the args from Type, we need to use TypedExprDef. + switch (field.expr().expr) + { + case TFunction(tfunc): + for (arg in tfunc.args) + { + var isOptional = (arg.value != null); + var tfuncMeta:haxe.macro.Metadata = arg.v.meta.get(); + var tfuncExpr:haxe.macro.Expr = arg.value == null ? null : Context.getTypedExpr(arg.value); + var tfuncType:haxe.macro.ComplexType = null; + if (isOptional) + { + Context.info(' Skipping: FIX THIS "${field.name}" has an optional argument', Context.currentPos()); + return []; + // Convert haxe.macro.Type(T) to haxe.macro.Type(Null) + // There has to be a better way of doing this... + var exprStr:String = 'var n:Null<${arg.v.t.toString()}>;'; + var expr:haxe.macro.Expr = macro + { + $e{Context.parse(exprStr, Context.currentPos())}; + n; + }; + var nullType = Context.typeof(expr); + // TODO: Remove once we get the fix for optional arguments working. + // tfuncType = { + // name: "Null", + // module: "StdTypes", + // params: [Context.toComplexType(arg.v.t)], + // }; + tfuncType = Context.toComplexType(nullType); + } + else + { + tfuncType = Context.toComplexType(arg.v.t); + } + var tfuncArg:FunctionArg = { + name: arg.v.name, + type: tfuncType, + opt: isOptional, + meta: tfuncMeta, + value: tfuncExpr, + }; + func_inputArgs.push(tfuncArg); + } + default: + Context.error('Expected a function and got ${field.expr().expr}', Context.currentPos()); + } + + // Is there a better way to do this? + var doesReturnVoid:Bool = ret.toString() == "Void"; + + // Generate the list of call arguments for the function. + var func_callArgs:Array = [for (arg in args) macro $i{arg.name}]; + var func_access = [field.isPublic ? APublic : APrivate]; + if (field.isFinal) + func_access.push(AFinal); + if (isStatic) + { + func_access.push(AStatic); + } + else + { + func_access.push(AOverride); + } + + // TODO: This breaks if there's a type constraint on the parameter. + var func_params = [for (param in field.params) {name: param.name}]; + + var funcName:String = field.name; + var func_over:Field = { + name: funcName, + doc: field.doc == null ? 'Polymod ScriptedClass override of ${field.name}.' : 'Polymod ScriptedClass override of ${field.name}.\n${field.doc}', + access: func_access, + meta: field.meta.get(), + pos: field.pos, + kind: FFun({ + args: func_inputArgs, + params: func_params, + ret: doesReturnVoid ? null : Context.toComplexType(ret), + expr: macro + { + var fieldName:String = $v{funcName}; + if (_asc != null) + { + // trace('ASC: Calling $fieldName() in macro-generated function...'); + return _asc.callFunction(fieldName, [$a{func_callArgs}]); + } + else + { + // Fallback, call the original function. + // trace('ASC: Fallback to original ${fieldName}'); + return super.$funcName($a{func_callArgs}); + } + }, + }), + }; + var func_superCall:Field = { + name: '__super_' + funcName, + doc: 'Calls the original ${field.name} function while ignoring the ScriptedClass override.', + access: [APrivate], + meta: field.meta.get(), + pos: field.pos, + kind: FFun({ + args: func_inputArgs, + params: func_params, + ret: doesReturnVoid ? null : Context.toComplexType(ret), + expr: macro + { + var fieldName:String = $v{funcName}; + // Fallback, call the original function. + // trace('ASC: Force call to super ${fieldName}'); + return super.$funcName($a{func_callArgs}); + }, + }), + } + + return [func_over, func_superCall]; + case TInst(_t, _params): + // This field is an instance of a class. + // Example: var test:TestClass = new TestClass(); + + // Originally, I planned to replace all variables on the class with properties, + // however this is not possible because properties are merely a compile-time feature. + + // However, since scripted classes correctly access the superclass variables anyway, + // there is no need to override the value. + // Context.info('Field: Instance variable "${field.name}"', Context.currentPos()); + return []; + case TEnum(_t, _params): + // Enum instance + // Context.info('Field: Enum variable "${field.name}"', Context.currentPos()); + return []; + case TMono(_t): + // Monomorph instance + // https://haxe.org/manual/types-monomorph.html + // Context.info('Field: Monomorph variable "${field.name}"', Context.currentPos()); + return []; + case TAnonymous(_t): + // Context.info('Field: Anonymous variable "${field.name}"', Context.currentPos()); + return []; + case TDynamic(_t): + // Context.info('Field: Dynamic variable "${field.name}"', Context.currentPos()); + return []; + case TAbstract(_t, _params): + // Context.info('Field: Abstract variable "${field.name}"', Context.currentPos()); + return []; + default: + // Context.info('Unknown field type: ${field}', Context.currentPos()); + return []; + } + } static function buildScriptedClassConstructor(superConstArgs:Array):Field { @@ -898,10 +945,10 @@ class HScriptMacro // }; // var constArgs:Array = [ascArg].concat(superConstArgs); - var constArgs:Array = superConstArgs; + var constArgs:Array = superConstArgs; var superCallArgs:Array = [for (arg in superConstArgs) macro $i{arg.name}]; - // Context.info(' Generating constructor for scripted class with super(${superCallArgs})', Context.currentPos()); + // Context.info(' Generating constructor for scripted class with super(${superCallArgs})', Context.currentPos()); return { name: 'new', diff --git a/polymod/hscript/HScriptable.hx b/polymod/hscript/HScriptable.hx index bd68aa8a..d4446821 100644 --- a/polymod/hscript/HScriptable.hx +++ b/polymod/hscript/HScriptable.hx @@ -196,13 +196,19 @@ typedef ScriptOutput = class ScriptRunner { - private var scripts:Map; + /** + * No reason not to make this static! Load a script once instead of 50 times. + */ + private static var scripts:Map = new Map(); public function new() { - scripts = new Map(); } + public static function clearScripts():Void { + scripts.clear(); + } + public function load(name:String, assetHandler:Dynamic):Script { if (assetHandler == null) @@ -274,20 +280,12 @@ class Script public static function buildParser():hscript.Parser { - #if hscript_ex - return new hscript.ParserEx(); - #else - return new hscript.Parser(); - #end + return new polymod.hscript.PolymodParserEx(); } public static function buildInterp():hscript.Interp { - #if hscript_ex - return new hscript.InterpEx(); - #else - return new hscript.Interp(); - #end + return new hscript.Interp(); } public function new(script:String) diff --git a/polymod/hscript/PolymodAbstractScriptClass.hx b/polymod/hscript/PolymodAbstractScriptClass.hx index 43ec1a47..f07f3d09 100644 --- a/polymod/hscript/PolymodAbstractScriptClass.hx +++ b/polymod/hscript/PolymodAbstractScriptClass.hx @@ -45,8 +45,8 @@ abstract PolymodAbstractScriptClass(PolymodScriptClass) from PolymodScriptClass return Reflect.getProperty(this.superClass, name); } else if (Reflect.hasField(this.superClass, name)) { return Reflect.field(this.superClass, name); - } else if (this.superClass != null && Std.is(this.superClass, ScriptClass)) { - var superScriptClass:AbstractScriptClass = cast(this.superClass, ScriptClass); + } else if (this.superClass != null && Std.isOfType(this.superClass, PolymodScriptClass)) { + var superScriptClass:PolymodAbstractScriptClass = cast(this.superClass, PolymodScriptClass); try { return superScriptClass.fieldRead(name); } catch (e:Dynamic) { } @@ -73,8 +73,8 @@ abstract PolymodAbstractScriptClass(PolymodScriptClass) from PolymodScriptClass } else if (Reflect.hasField(this.superClass, name)) { Reflect.setProperty(this.superClass, name, value); return value; - } else if (this.superClass != null && Std.is(this.superClass, ScriptClass)) { - var superScriptClass:AbstractScriptClass = cast(this.superClass, ScriptClass); + } else if (this.superClass != null && Std.isOfType(this.superClass, PolymodScriptClass)) { + var superScriptClass:PolymodAbstractScriptClass = cast(this.superClass, PolymodScriptClass); try { return superScriptClass.fieldWrite(name, value); } catch (e:Dynamic) { } diff --git a/polymod/hscript/PolymodClassDeclEx.hx b/polymod/hscript/PolymodClassDeclEx.hx index f3ebeaf1..e9c07292 100644 --- a/polymod/hscript/PolymodClassDeclEx.hx +++ b/polymod/hscript/PolymodClassDeclEx.hx @@ -2,7 +2,7 @@ package polymod.hscript; import hscript.Expr.ClassDecl; -typedef ClassDeclEx = {> ClassDecl, +typedef PolymodClassDeclEx = {> ClassDecl, @:optional var imports:Map>; @:optional var pkg:Array; } \ No newline at end of file diff --git a/polymod/hscript/PolymodInterpEx.hx b/polymod/hscript/PolymodInterpEx.hx index eee8150c..1e5255b2 100644 --- a/polymod/hscript/PolymodInterpEx.hx +++ b/polymod/hscript/PolymodInterpEx.hx @@ -1,7 +1,9 @@ package polymod.hscript; -#if hscript_ex + import hscript.AbstractScriptClass; import hscript.Interp; +import hscript.Expr; +import hscript.Tools; /** * Based on code by Ian Harrigan @@ -11,15 +13,19 @@ import hscript.Interp; @:access(polymod.hscript.PolymodAbstractScriptClass) class PolymodInterpEx extends Interp { var targetCls:Class; - public function new(targetCls:Class, proxy:AbstractScriptClass) { - super(proxy); + public function new(targetCls:Class, proxy:PolymodAbstractScriptClass) { + super(); + _proxy = proxy; + variables.set("Type", Type); + variables.set("Math", Math); + variables.set("Std", Std); this.targetCls = targetCls; } override function cnew(cl:String, args:Array):Dynamic { if (_scriptClassDescriptors.exists(cl)) { // OVERRIDE CHANGE: Create a PolymodScriptClass instead of a hscript.ScriptClass - var proxy:AbstractScriptClass = new PolymodScriptClass(_scriptClassDescriptors.get(cl), args); + var proxy:PolymodAbstractScriptClass = new PolymodScriptClass(_scriptClassDescriptors.get(cl), args); return proxy; } else if (_proxy != null) { @:privateAccess @@ -28,7 +34,7 @@ class PolymodInterpEx extends Interp { var packagedClass = _proxy._c.pkg.join(".") + "." + cl; if (_scriptClassDescriptors.exists(packagedClass)) { // OVERRIDE CHANGE: Create a PolymodScriptClass instead of a hscript.ScriptClass - var proxy:AbstractScriptClass = new PolymodScriptClass(_scriptClassDescriptors.get(packagedClass), args); + var proxy:PolymodAbstractScriptClass = new PolymodScriptClass(_scriptClassDescriptors.get(packagedClass), args); return proxy; } } @@ -38,7 +44,7 @@ class PolymodInterpEx extends Interp { var importedClass = _proxy._c.imports.get(cl).join("."); if (_scriptClassDescriptors.exists(importedClass)) { // OVERRIDE CHANGE: Create a PolymodScriptClass instead of a hscript.ScriptClass - var proxy:AbstractScriptClass = new PolymodScriptClass(_scriptClassDescriptors.get(importedClass), args); + var proxy:PolymodAbstractScriptClass = new PolymodScriptClass(_scriptClassDescriptors.get(importedClass), args); return proxy; } @@ -57,36 +63,23 @@ class PolymodInterpEx extends Interp { */ override function fcall(o:Dynamic, f:String, args:Array):Dynamic { // OVERRIDE CHANGE: Custom logic to handle super calls to prevent infinite recursion - // trace('fcall: ${Type.typeof(o)}.${f}()'); - // trace('compare: ${targetCls}'); if (Std.isOfType(o, targetCls)) { // Force call super function. - //trace('Force call to __super_'); return super.fcall(o, '__super_${f}', args); } else if (Std.isOfType(o, PolymodScriptClass)) { _nextCallObject = null; - //trace('Fix call to self'); var proxy:PolymodScriptClass = cast(o, PolymodScriptClass); return proxy.callFunction(f, args); } - //trace('Call to other function'); return super.fcall(o, f, args); } - private var _proxy:AbstractScriptClass = null; - - public function new(proxy:AbstractScriptClass = null) { - super(); - _proxy = proxy; - variables.set("Type", Type); - variables.set("Math", Math); - variables.set("Std", Std); - } + private var _proxy:PolymodAbstractScriptClass = null; - private static var _scriptClassDescriptors:Map = new Map(); + private static var _scriptClassDescriptors:Map = new Map(); private static var _scriptClassOverrides:Map> = new Map>(); - private static function registerScriptClass(c:ClassDeclEx) { + private static function registerScriptClass(c:PolymodClassDeclEx) { var name = c.name; if (c.pkg != null) { name = c.pkg.join(".") + "." + name; @@ -102,12 +95,18 @@ class PolymodInterpEx extends Interp { var v = expr(e2); switch (Tools.expr(e1)) { case EIdent(id): - if (_proxy.superClass != null && Reflect.hasField(_proxy.superClass, id)) { - Reflect.setProperty(_proxy.superClass, id, v); - return v; - } + if (_proxy.superClass != null) { + if (Reflect.hasField(_proxy.superClass, id)) { + Reflect.setProperty(_proxy.superClass, id, v); + return v; + } else if (Type.getInstanceFields(Type.getClass(_proxy.superClass)).contains(id)){ + Reflect.setProperty(_proxy.superClass, id, v); + return v; + } + } case _: } + // trace('Call super assign'); return super.assign(e1, e2); } @@ -122,11 +121,10 @@ class PolymodInterpEx extends Interp { } override function get(o:Dynamic, f:String):Dynamic { - trace('get ${f}'); if (o == null) error(EInvalidAccess(f)); - if (Std.is(o, ScriptClass)) { - var proxy:AbstractScriptClass = cast(o, ScriptClass); + if (Std.isOfType(o, PolymodScriptClass)) { + var proxy:PolymodAbstractScriptClass = cast(o, PolymodScriptClass); if (proxy._interp.variables.exists(f)) { return proxy._interp.variables.get(f); } else if (proxy.superClass != null && Reflect.hasField(proxy.superClass, f)) { @@ -144,8 +142,8 @@ class PolymodInterpEx extends Interp { override function set(o:Dynamic, f:String, v:Dynamic):Dynamic { if (o == null) error(EInvalidAccess(f)); - if (Std.is(o, ScriptClass)) { - var proxy:ScriptClass = cast(o, ScriptClass); + if (Std.isOfType(o, PolymodScriptClass)) { + var proxy:PolymodScriptClass = cast(o, PolymodScriptClass); if (proxy._interp.variables.exists(f)) { proxy._interp.variables.set(f, v); } else if (proxy.superClass != null && Reflect.hasField(proxy.superClass, f)) { @@ -161,7 +159,6 @@ class PolymodInterpEx extends Interp { private var _nextCallObject:Dynamic = null; override function resolve(id:String):Dynamic { - trace('resolve ${id}'); _nextCallObject = null; if (id == "super" && _proxy != null) { if (_proxy.superClass == null) { @@ -175,12 +172,10 @@ class PolymodInterpEx extends Interp { var l = locals.get(id); if (l != null) { - trace('returning local'); return l.r; } var v = variables.get(id); if (v != null) { - trace('returning variable'); return v; } // OVERRIDE CHANGE: Allow access to modules for calling static functions. @@ -188,8 +183,6 @@ class PolymodInterpEx extends Interp { if (m != null) { var importedClass = m.join("."); - trace('returning imported module ${importedClass}'); - // TODO: Somehow allow accessing static fields of a ScriptClass without instantiating it. return Type.resolveClass(importedClass); @@ -197,25 +190,20 @@ class PolymodInterpEx extends Interp { if (_proxy != null && _proxy.findFunction(id) != null) { _nextCallObject = _proxy; - trace('returning resolve'); return _proxy.resolveField(id); } else if (_proxy != null && _proxy.superClass != null && (Reflect.hasField(_proxy.superClass, id) || Reflect.getProperty(_proxy.superClass, id) != null)) { _nextCallObject = _proxy.superClass; - trace('returning reflect'); return Reflect.getProperty(_proxy.superClass, id); } else if (_proxy != null) { try { var r = _proxy.resolveField(id); _nextCallObject = _proxy; - trace('returning proxy resolve'); return r; } catch (e:Dynamic) {} - trace('unknown variable and nonnull proxy'); error(EUnknownVariable(id)); } else { - trace('unknown variable and null proxy'); error(EUnknownVariable(id)); } return null; @@ -227,11 +215,11 @@ class PolymodInterpEx extends Interp { registerModule(decls); } - public function createScriptClassInstance(className:String, args:Array = null):AbstractScriptClass { + public function createScriptClassInstance(className:String, args:Array = null):PolymodAbstractScriptClass { if (args == null) { args = []; } - var r:AbstractScriptClass = cnew(className, args); + var r:PolymodAbstractScriptClass = cnew(className, args); return r; } @@ -248,7 +236,7 @@ class PolymodInterpEx extends Interp { case DClass(c): var extend = c.extend; if (extend != null) { - var superClassPath = new Printer().typeToString(extend); + var superClassPath = new hscript.Printer().typeToString(extend); if (imports.exists(superClassPath)) { switch (extend) { case CTPath(_, params): @@ -257,7 +245,7 @@ class PolymodInterpEx extends Interp { } } } - var classDecl:ClassDeclEx = { + var classDecl:PolymodClassDeclEx = { imports: imports, pkg: pkg, name: c.name, @@ -274,5 +262,4 @@ class PolymodInterpEx extends Interp { } } } -} -#end \ No newline at end of file +} \ No newline at end of file diff --git a/polymod/hscript/PolymodParserEx.hx b/polymod/hscript/PolymodParserEx.hx index 27a59527..00516d06 100644 --- a/polymod/hscript/PolymodParserEx.hx +++ b/polymod/hscript/PolymodParserEx.hx @@ -1,6 +1,8 @@ package polymod.hscript; -class PolymodParserEx extends hscript.Parser { +import hscript.Parser; + +class PolymodParserEx extends Parser { public override function parseModule( content : String, ?origin : String = "hscript" ) { var decls = super.parseModule(content, origin); return decls; diff --git a/polymod/hscript/PolymodScriptClass.hx b/polymod/hscript/PolymodScriptClass.hx index 7e7c04c4..6e58b44c 100644 --- a/polymod/hscript/PolymodScriptClass.hx +++ b/polymod/hscript/PolymodScriptClass.hx @@ -2,7 +2,11 @@ package polymod.hscript; using StringTools; -#if hscript_ex +import hscript.Expr.FieldDecl; +import hscript.Expr.FunctionDecl; +import hscript.Expr.VarDecl; +import hscript.Printer; + enum Param { Unused; } @@ -62,7 +66,7 @@ class PolymodScriptClass public static function clearScriptClasses() { @:privateAccess - InterpEx._scriptClassDescriptors.clear(); + PolymodInterpEx._scriptClassDescriptors.clear(); } /** @@ -127,7 +131,7 @@ class PolymodScriptClass } // Check if the superclass is a scripted class. - var classDescriptor = InterpEx.findScriptClassDescriptor(extendString); + var classDescriptor = PolymodInterpEx.findScriptClassDescriptor(extendString); if (classDescriptor != null) { @@ -182,10 +186,21 @@ class PolymodScriptClass trace('Could not determine target class for: ${c}'); } _interp = new PolymodInterpEx(targetClass, this); - super(c, args); + _c = c; + buildCaches(); + + var ctorField = findField("new"); + if (ctorField != null) { + callFunction("new", args); + if (superClass == null && _c.extend != null) { + @:privateAccess _interp.error(ECustom("super() not called")); + } + } else if (_c.extend != null) { + createSuperClass(args); + } } - private override function createSuperClass(args:Array = null) + private function createSuperClass(args:Array = null) { if (args == null) { @@ -198,7 +213,7 @@ class PolymodScriptClass extendString = _c.pkg.join(".") + "." + extendString; } - var classDescriptor = InterpEx.findScriptClassDescriptor(extendString); + var classDescriptor = PolymodInterpEx.findScriptClassDescriptor(extendString); if (classDescriptor != null) { var abstractSuperClass:PolymodAbstractScriptClass = new PolymodScriptClass(classDescriptor, args); @@ -227,7 +242,7 @@ class PolymodScriptClass } } - public override function callFunction(name:String, args:Array = null):Dynamic + public function callFunction(name:String, args:Array = null):Dynamic { // trace('Calling function ${name} on scripted class.'); var field = findField(name); @@ -282,9 +297,9 @@ class PolymodScriptClass var fixedName = '__super_${name}'; for (a in args) { - if (Std.is(a, ScriptClass)) + if (Std.is(a, PolymodScriptClass)) { - fixedArgs.push(cast(a, ScriptClass).superClass); + fixedArgs.push(cast(a, PolymodScriptClass).superClass); } else { @@ -296,8 +311,8 @@ class PolymodScriptClass return r; } - private var _c:ClassDeclEx; - private var _interp:InterpEx; + private var _c:PolymodClassDeclEx; + private var _interp:PolymodInterpEx; public var superClass:Dynamic = null; @@ -320,23 +335,23 @@ class PolymodScriptClass createSuperClass(args); } - private inline function callFunction0(name:String) { + private inline function callFunction0(name:String):Dynamic { return callFunction(name); } - private inline function callFunction1(name:String, arg0:Dynamic) { + private inline function callFunction1(name:String, arg0:Dynamic):Dynamic { return callFunction(name, [arg0]); } - private inline function callFunction2(name:String, arg0:Dynamic, arg1:Dynamic) { + private inline function callFunction2(name:String, arg0:Dynamic, arg1:Dynamic):Dynamic { return callFunction(name, [arg0, arg1]); } - private inline function callFunction3(name:String, arg0:Dynamic, arg1:Dynamic, arg2:Dynamic) { + private inline function callFunction3(name:String, arg0:Dynamic, arg1:Dynamic, arg2:Dynamic):Dynamic { return callFunction(name, [arg0, arg1, arg2]); } - private inline function callFunction4(name:String, arg0:Dynamic, arg1:Dynamic, arg2:Dynamic, arg3:Dynamic) { + private inline function callFunction4(name:String, arg0:Dynamic, arg1:Dynamic, arg2:Dynamic, arg3:Dynamic):Dynamic { return callFunction(name, [arg0, arg1, arg2, arg3]); } @@ -416,4 +431,3 @@ class PolymodScriptClass } } } -#end diff --git a/samples/openfl_hscript_class/README.md b/samples/openfl_hscript_class/README.md new file mode 100644 index 00000000..55c3c567 --- /dev/null +++ b/samples/openfl_hscript_class/README.md @@ -0,0 +1,11 @@ +# samples/openfl_hscript_class + +This sample creates implements a simple Stage class, then creates a ScriptedStage scripted class type using Polymod. Polymod can then parse any scripted classes within the assets folder that extend Stage, and instantiate an instance of Stage which utilizes the behavior defined in the script. + +For example, the Basic stage creates a simple scene with a background, while the Advanced stage (from `mod6`) creates a scene with a background and a moving sprite. + +The Basic stage overrides the `create()` function of the stage to add additional behavior (i.e. rendering the background). + +The Advanced stage overrides `create()` to initialize the background and the moving sprite, but also overrides the `onUpdate()` and `onKeyPress()` functions to add additional behavior (moving the sprite, and changing the sprite's speed, respectively). + +This sample demonstrates how an application can easily instantiate and utilize classes defined in a script. This is useful for quick debugging without rebuilding an entire codebase, as well as implementation of robust modding support for your project. diff --git a/samples/openfl_hscript_class/assets/img/a.png b/samples/openfl_hscript_class/assets/img/a.png deleted file mode 100644 index 9728421723a4acaee87cc2bc7e40e3f19811eb3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 878 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAjKdw@@fE08{O?JkjM$I-KEb|0Cu zcE_@<`xkH8d-C$_%?C~%yLe;fs;!64T|0j1=K8(I_no@5^Vqoqr!Vh5et!Sy%ZJWg zJ$UBIhJDB9Z`gI@{Pl$!cdy)WaMOX4^Vjd1y=ME;E&EPgxqbTT9lq(-RzRoll?3?( zGbkkV@4wFwF#o;7`iAqh)6aD=Ffes^x;TbZ#2uY+bJ}7BfwqIZ9Z@@G+wMKHYtR4B zzPCJ^HFcbC&ojQSDt@1{Rr6K**#pf6T@T%4S{eN_BAgUbc=$Go$P0fAU~J^txjkd@ zA)S}UypO2bxO_Uk$fuEAt6JfaWk5;#+VgV*pVs)Ph`hbXd~FGf?kR>c_S&Z#n9oG= z&p9|LP>J)yn*2Eo3-b?fbh=zCzSNfPOjm?*p%Z^;*5SG5m&X;_#QRmwXp6-^F z&5agyEjz>upLW$X^LO3vEGlq);BF_Dy20VglCP6>g^i_^yL>-A-`m$EJ+Xzc=ifh9{k^YM4V}}?y3L!P3tv+T%6-)m1T2Z zFb~-He>z9LZky|aq~khGt`8pfM{ukb*u)T~m>?6@xHxS0l!{e9!+-Ooz5I4HVN z?^-)EhYK>VJCCWoVa@C>y1zegySV$cm|MH*lkH0#)f9j2n04#R+*KL3A3r^{F}M5F zm&Lng?%8Dd@6PO1^Pj$+{!&rNb8h3Fxu0u_iyX7qbak3?UH{E_pQm@@#>Mlzx`!WH z{LxS=YTP63cK77Jpef&{&EFqapyzNnW0K(Hzf0G~{cgOzs#dYcv5oCp<%^gJi#a|9 z3JNL;Z46PlGsD$*GWVv=2ky^#t;9W)x`YfH&#+G7INs6$qk08=Z2r>mdKI;Vst09kOl AbpQYW diff --git a/samples/openfl_hscript_class/assets/img/b.png b/samples/openfl_hscript_class/assets/img/b.png deleted file mode 100644 index d00c34d2d6ddedd70a958ecf4bd128c602285696..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 900 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAjKW`IwKE0F$w#utiiHvfkspdg$L zWI)tF7|2|R8n_7%U2qbv>t=K8rD=n*t!29(L=N0Df z?-$tb5O6;r!D0P*gZTwE&y9r{7?_rOx;TbZFrK|}bJ8jUfriA4X%4e$y+vZ~|5rS( zVzpB2sGFtu=UD6dQpwE66*lq*_#@&RS_4J8XR_3(9Q2WKUAVx;afy)N=8%BOL?>6d zfXucIqgbA)9sc?&4y=;166!57RJph+omtY=*~v7j$S~xwugV;;cef67epnXG^R+^m zz3_U&V>c<4dtbU23OrZd`e4OR2Z?jerG3Gc^?lM zBk5HSPF`%=)STetC)1kLBz{X_$?ryPNxMBIXMWbYycE{aSoU>cTF{4M_pVz?Tlw$P zY6#b;zqHD zEnarq{^0epCqK4NS@x5?=+>o$ip!3a_+)r%R{p)97GKlg(UGzL#RP%iBrBCKsV{%j zInPU2TKmtgq;0BNUix-zcCH;4_`*KMx3w8+?dB1D?X8s{IyWxM<;*T4srKLEPZm0t zSS?KGeekfKPp!l;OT=zX0E=>v_`|OrN58#0U_EoT^wnyQ6BqB=TRvN+GI7DezL?7v zY5wi9ygPHuxK=Z;?R?ZHdCybdZFS$#yXmtv)?Mtf6?99j_dUAac#UJ-lO@;p^&EQM zJ*_RY?~U@L16p0Yp&R(5gEsj6t9-HKN_X^}XHFkH-ZHIT*>zqlnlEHE^Wy}&PnDb4 z7bQ8(N}F|{E3oa*43AY$olTNGH>>f?3X17SJE6bV@y^>Ty8<2?`Bg@T^le+&68q2V zr?11w<@I72@e}*F4f!%W4t`*H-W9gP^2*}U8#1phbp7-5__wq(MY5)KL diff --git a/samples/openfl_hscript_class/assets/img/c.png b/samples/openfl_hscript_class/assets/img/c.png deleted file mode 100644 index 38400d98b011291f2130cbb04803fd5804cc4e9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 902 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAjKLV!<*E0F#&frohXeX+v76P{mZ zhgr~7BG?calrzqgtG+GO~BzRb^68sBD1{5$H}%Xjua&<_5R zAirP+gY^so?;8^KpLe)FKR|&o^WAF(2Bu@4E{-7;aeHT6FIr+C;Of4{!DkQGlZ5~O z#RS2+ooVysH}+I@eL}8^?W=3ST-$pIJIB5kdBIFLRM(bf-L4IoT&-HUm8+XdY4NjR_1igTXHe?BkNkVi^bO25ffJZ5K`T^ zVe-G!m#Kvwot-J(E>ACus=rvVV4KUFN0ySp-(9zuMb2@#bV^2W_g$B1PcOV$>}?jl&E_j-xatce3m)KjWZEfF*~2BM>8xa?uY24n_ws7S6W2ty2sLbb z8knpYzv9UE2A7y3y>qXaDxUJ$0|EYR|>I zo}5^BriO+24m@Ed4GKFq))sA)-pnKJdFzblk@qibCtfxza=!BToUGvapanO7EGw3} zx7plbR-uru)Pb}WM-RDge02D|GV7ku>D$>fbf(U<^;^37X3DjrKoM~_+1E8!_?y4D z#i+M0EPrxk`Xc`LbYP?~nEGb1zjoRVwivAbW|onC(DGUCwk*zbC1f!N2{ zW;|K9{u&l-IB`r`xw@HmS*q{>ZAMqABSJ`%lAL#e-jwqacsZSk@&2C?@hJ; zuk4mTeR%z%iPImyc>Qa=y}}Xu%p>-jj@bV`V()U)zISik?~Ui4-}(G7-tX6Mk*p5Z RUBJZ7;OXk;vd$@?2>_Vut#$wa diff --git a/samples/openfl_hscript_class/mods/mod6/data/scripts/stage/advanced.hxc b/samples/openfl_hscript_class/mods/mod6/data/scripts/stage/advanced.hxc index 3303fb79..d96bde4a 100644 --- a/samples/openfl_hscript_class/mods/mod6/data/scripts/stage/advanced.hxc +++ b/samples/openfl_hscript_class/mods/mod6/data/scripts/stage/advanced.hxc @@ -8,15 +8,57 @@ class AdvancedStage extends Stage { stageName = "Advanced Stage"; } + var carSprite:Bitmap; + public override function create():Void { super.create(); - var landscapeBg = new Bitmap(Assets.getBitmapData('img/stage/landscape.png')); + var landscapeBg = new Bitmap(Assets.getBitmapData('img/stage/street.png')); landscapeBg.x = 0; landscapeBg.y = 0; landscapeBg.width = 480; landscapeBg.height = 360; + carSprite = new Bitmap(Assets.getBitmapData('img/stage/car.png')); + carSprite.x = 50; + carSprite.y = 240; + carSprite.width = 100; + carSprite.height = 100; + this.addChild(landscapeBg); + this.addChild(carSprite); + } + + var carSpeed:Float = 1.0; + public override function onUpdate():Void { + super.onUpdate(); + + carSprite.x += carSpeed; + + if (carSprite.x > 330 || carSprite.x < 50) { + trace('Bounce!'); + carSpeed *= -1; + } + // trace('car: '+carSpeed+' : '+carSprite.x); + } + + public override function onKeyDown(event:KeyboardEvent):Void { + switch(event.keyCode) { + case 38: // Up + trace('Key pressed: Up'); + carSpeed *= 1.5; + case 40: // Down + trace('Key pressed: Down'); + carSpeed *= 0.75; + default: + // Do nothing. + trace('Key pressed: ${event.keyCode}'); + } + if (Math.abs(carSpeed) < 0.1) { + carSpeed = 0.1; + } + if (Math.abs(carSpeed) > 10) { + carSpeed = 10; + } } } \ No newline at end of file diff --git a/samples/openfl_hscript_class/mods/mod6/img/stage/car.png b/samples/openfl_hscript_class/mods/mod6/img/stage/car.png new file mode 100644 index 0000000000000000000000000000000000000000..c0c719d376ad05c5dd16ad3a0de00785857ea036 GIT binary patch literal 72898 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 PcscJo=um2R;^Kb*%;EZ0 literal 0 HcmV?d00001 diff --git a/samples/openfl_hscript_class/mods/mod7/LICENSE.txt b/samples/openfl_hscript_class/mods/mod7/LICENSE.txt new file mode 100644 index 00000000..88c23727 --- /dev/null +++ b/samples/openfl_hscript_class/mods/mod7/LICENSE.txt @@ -0,0 +1,5 @@ +Copyright 2018 Lars A. Doucet + +Code and script files (*.hscript/*.hs) are licensed by CODE_LICENSE.TXT +All other files are licensed by ASSET_LICENSE.TXT + \ No newline at end of file diff --git a/samples/openfl_hscript_class/mods/mod7/_polymod_icon.png b/samples/openfl_hscript_class/mods/mod7/_polymod_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5f964e16093dbfd02aa419055a2edefac488cf92 GIT binary patch literal 1137 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAk#&j6ngS0G)!DHMnvzIY2KA&fKE z?g9}+7EYpxz|{b?L)btP&W11`>(d|Kz4+kyoAZ}0T)+SH?$cKnZa%np_AtCdxHo^hwk9w1*Gx)oqQRf2{B7y(frj{;fMV_nbc>8k{>B=y{`(AirRS zg8lsp3<2{&q`>+04gwAL-y6)opWyKRe8PK%f`;|y0~iw4pWi>fz(L@>LW9BmfR{_^ zJ~A*cef4y445^5la_wf{A_tL%MByOLUh_Ls7z^KCbW9ESEi!xe-tTWt|F%D4A#~g7 ziqX;flSijBTRNCd@y)%xEve}3w6=%6mqV`v#PqklxpPBXwESLE{m<@M7g}PY`jm_o z7o055ax{GWYD;7HwI-co>^1wMnY*mAIGUs`bYw0lBD_j!dck%%gg2^ zZ3RbpZ*_|O+Pd9V>59S*$*+tG7aiJtcP_O$@pkJ1oj|AavxVMAY!r$rke;KlK=!%6 z5^IQ6#Gwn?^GYN<7cw{~?zOINd+oiD(PK&Jtf$Mnt_nW*a6s#3kOoVj*XQqH`O<1B zYzN=#JU>-uw7Ih?G(Gys&bUoWCPcS}RW9Aabu_3W;Ehc2LesKit6D|aFZDlB^w>Hv zpd+Adj_Sb)S*pdJ98#K!kN)#N3g0BWQt`{#>5dE^e*D;WTh-rxwqc-?avDQy@znXZ z6q}4LY6@Hlc9e5os>*(tT?AVf63ufwvW2ke%e~=z;`0wGUi2}>BS69JMLrOi{!2?S8Z0DldjC} z{4}?{F}vtOQLXL~JF8{tW~JACC2C}vKCGGIItVVc~xiR&F^ zCDn3koZy(`aAB33uA1C)GH%sL3ZD1_==5p_BT>I_l7g2x3G&dFty`LEDf28PicGUv2T(OI954^~| tyr^YqP1RZ*#}C`z{cpZjTkNx!Vg8djKlHZr^Z~OEgQu&X%Q~loCIIV+SU3Ox literal 0 HcmV?d00001 diff --git a/samples/openfl_hscript_class/mods/mod7/_polymod_meta.json b/samples/openfl_hscript_class/mods/mod7/_polymod_meta.json new file mode 100644 index 00000000..f8b10602 --- /dev/null +++ b/samples/openfl_hscript_class/mods/mod7/_polymod_meta.json @@ -0,0 +1,8 @@ +{ + "title":"Car Skin", + "description":"This mod reskins the car from the Advanced stage", + "author":"Eric", + "api_version":"0.1.0", + "mod_version":"1.0.0-alpha", + "license":"CC BY 4.0,MIT" +} \ No newline at end of file diff --git a/samples/openfl_hscript_class/mods/mod7/img/stage/car.png b/samples/openfl_hscript_class/mods/mod7/img/stage/car.png new file mode 100644 index 0000000000000000000000000000000000000000..999ebb326c58f0094a96d89b69af7a49f107cc33 GIT binary patch literal 116586 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�`TWlAM#*+3Lwdv zI#pQhYi%(fiHmLiCbgssTd3B7I$H)i{>3i5Vv$3MtyN;+wU1c@Yd%8s3<3Jvam{~X z$9Us@zrrnb8qmf^Cd~?#&|2GKN1JVAn-09|eVx5$M{u#oI&pl+i>ta8C{zK#0U z)YdKR*p>Y#`ry!vk{=0!uUQGE$ux&>u%#?@9`JUh-tv?NY0Lk$if~@3AUv!R&7rG6 zh*dsSKA(30gx~435JAKa{i%zN7jlIvk%Pv0$=WXy5#zGX!_8^DX&JuZJhZgcD(%ZX z{_yd7N!MMjks!qPPBybAY@NALt;4=-7{w3ji$=Sm`;S%gBd?pP2r&zpP8j-Li&u}} z&eoaB7M&UY2uMpxk7>;HkFV6w1S?|SHR~W$xLdiBL>ix5Wt-y;#p=HesmRw;d$5Rl zVPomOtnaz(-k-dkp5o39oCi|YHJxge8`cf|8qnnd^mCG(>{b&x2aT?F`St9L_Ea_7 zd`Oa!1y$>_*OP4d!Pspn@Cxa0BWSNtdC6z6^%len;3iboUd-0=0*XycObX@UQFye; zo_G^oP(V7l!#Y)f$gkrvt>@znE}twFnvA7$ELr+-d-F92^_S6jsVu-$757wCG8brR ze{|RUKR?`r-{AQ^N)s9@D0Z4|J~x81ms=DwXZZnt4DFG`QmU$l0~Z?D$Q^WJ;$|hC zrPngJJRV}OwCQw65gUEB;-U#Zk<@t+;iQ(3t1}{>ryqwe0w{S%ZS{h@cSlRE#wuzK z1+~ZfrboWxuC`k~iqt(2feXG1d1`{ML>e9sb8h*n#?L0c60-MO3?-0w55UU~J5MU{ z=Z8!I13uq9`1j#L*b?{BrQ>ldOvJJGTj;6(_1z{jIW_xk^jDZyj0%*F#ylVl8D>}! zmviR`6~+$+x#2SF?x+OsP)HQhI4(hbRgHS`t{iQ5VfsD6&$s#UBiFvP?B)AIk-Uu` zb2hf2<4>cHKO8G5GQQ<#e^KI007;F!gYd z85D^DR)I*06ybl1Bvc!t)I2S~yf_ zVU29EZ&~owi|k|51zl26J57r_gB1gx%GqJk`P854`i-kvfqomv7*xo=23GI z;`7LW%H1lm2VM#OK`g4do-h6$vg)bEvK<2jsBFR}h>b%LfK45mnJyJQWa4j!sFC8e zCxpFS$0t$!){86wGgXCV*>9OZNhY5@p5E;4+;`FP#>Yv=`QETtt&fL*#c-EFl1H#; zO&3V97G%pic6~A5o>NA~MW2avNG@kSOb_M1QAOo81C4sV^efkpNvT|orbu7Li>tmv zW^T%_bfy*}O7<|ezyV9la-WC0`H+2b;`H;8F>mW$rDvlD@ZA7%1208o&;B)04TP!I ziQ|`Wk7woX1GroYl+oY+O2nELB0eiaPTE;r_(h#g0!8V5vkMaAoSlNKm1@7(cT$@#?P2T1r~WaM@oNl( zR)RaHT(0XvdH*&pSb(!XD*y$O&`*<=f&ScQs;-;ao}h_nj_q7k0e@g;v0iOmNba1Y zG^Y(Lx0?x`Q_mxIxYEMTt`ZcMR3jL()W0R(sGtc$ZsT^nC0LcI@Or-Kb=WkyL};Dki9TBKko*7E4Yq2b*gN?63A_6hz8qp+RYL-8)My4z8sukmET;>HnCTKAKV`(I5-hu;uw-j<4tU~9|@nZ9S%d0U-KKp(Rnt$)KomQ)Y ze{}Wm3^fhpLVF7bQ(9|ny^E}dax@17-o&<7P#n-SFFrJgHb0;l6|fch{`Bo0;^lCx z$737;k`@NFYn)g)9%n=?rXec!^|w8b*KIr*ElHf|H>2tX%<`Z;$iBZmYK}>`LvKbF z?j^T8Hwq>gOxaRfM1x?B{Rg>*5;92(sxaF(FA=;F`I?uT)g1h}J;N*%a@hbI zoX@w6{QLBR@_!W*&CZ-*pmy5hl=;p$L%W>fK0ztDss5Ow*CSI(?5NmM5~F@-><)4( zRa7~doR%t$vh9RL}QXY7%UhLVbiRf}+-=HbwCB>M2OB8!pl?GFb=amYon z!)G5q`)Zd4`Ng@ua3UO|(^AaP4@0lP`OZiTCyU?*0(ys2E>H5~k2uH~lx0e8egE%L zSpt5zREj68W&%p2wBI%eGsAXwikL6v#*Vbs%sSY;Ag+8=AAR;gPYi_X7AKOGcSaZn zBKp*y2fln864}!u15=$af6U)$?{iKU$_mbY;hdLZmK`5n-_^kUxezkKVAT6qe*(Hn zEnB#+0P#}P@j>j&b>HzSC}u7#lIaS25Gdi^jO63=&u4H@0EOor$72j(h;RsBqkuFv zq0gOh<<-^EMI=qGf7GdCfeB6Tszj~5&h)!GgfqhCOG4-lY+cf7FwNO6J7xY#-qVWxjC6Lpb;< zc`w?PA1nHTd0soe-e!pUcdGI#@da%ez{zU|%DOZwtcRJF%%}DZ768=5fHFA*W#H#I ziF=(d<)1~MSlSK}c2PPn8!G3eR-eZUfm4XyspRq8g^#zIz^(jep9ay!Db0e>8Oxb6 z_pgNA3;B)rnh4tiI_I6ZmrI6xGyaCx!Cci5i0eKNU=Cg)xI8wK7N4EP+0z569;)kM_M+j zqM2Wht)s)yV#w1|UR|c;&zF@%d0h~e@Pbb5+H)VU zB*d973n7mSCMdVa>W0tbCKby=li*0fY++(LaDIdML@I`Oz-G)~y16b!R2CZw%#P*jpQ){g4c}g zvfe02;@c1GD5$UP+c7DON@U67Di*CppWspqG}8yu4r`-Nlhj+Kcu6Ap%z5H$GU)(u zRTS{yA3tnWo9IA=r30~2mM-Xea^G#`kE286^?;>G?G0$?cs&t`5h*pd7Z~A0rYZr> zT3;`_4}4DG0t7XEU9jTp(+-b%hV87M1ten$3*G{5GRGyIzH=8@Nokbi@Oy9no8QzU zTz7->_EA=qy+&J7J@m;kzOoev^^V46^Av~+#jE1=lE9p<0LP1n0q;I z{D{#kJye%`M*6|vd2jvOEFOHWtUSawZ`v&ycE32DOm^D?!1D4wOfnnV!P^^Ob8XRU z!pr@s>BV}hLGYM03+kIMNdl?8pJRa|eJS#0V0;~KSaW>NY3u70@1G18|T{NlWN~5=P{ZoL$PolaGB}gCL>K|FsFuvJRZ2; zjuHgp2$`0S_;U|<`xxBq!lp5S!$Lr%%5rrf2m(AWvd1GO;_o9oq6lP$&&P@Ur|=sx-U^-$Fp1sd^6x81Hsh>!Jyn_@hBdTXsMp)w(= z)8|L7gm|XNn`7ULxbwvZIV4z&&#tuFrEo012~1LPt>LWusZke?)1?TGU>FxTSD!&0z7F*?B{+_Qoz@LL$}h5BgxI_wr3jC zHdbcS`UCvRvlyj@yuvTE!iMe;9Xn(fG=#$qTq%wP@w|&ec-)S*J>XJU8`u_m9gn+_ zS7CW6r{{Br=o;~AI#1w}cg(>oLqAH%dr!}gsUaLajo?+X}O4N4Mx z0z$fye+_)9NFD!m{axipQqV+R^j%oW)Vv2fJQEstInD*x4Lup?YMFNrs<;Ue=gjuB zfzQqkhMwn*e^X`}_4^GZR(qgOq}wH!u{1>wiTA{{Rk;=L)!rewtW=`r*`oO|zuX|W z8H(An)RRo=K)mEztgVh@yaq-8VeTOLoeFu%4~6LUCI=CImNk#)#du?K7m9KfrU0UT zQS6x=&wn8>oDWM8=S>$d21N>={Jn#+Txj7jTFCx{f>aTq)~}*@iO-Cx3IBVoW}@v% z_eW8p!xu2*^Y~wniH~!5aD?|_oydwqZFjP;)|AYgwRAc~V5fuaYgx(OT2haU6!+K_ zHqO5D^K51znzSYB)pLHqljXQHh2t^8%Hqe~&EeHfGjR9geP8!>ivxy0J3TQ~+fFD~ zAS~SRv%5#HiiUrWrCz~@xuGWu;}=SK!PbvMSPDZ-SiL23=XTpYsT4NGUl#UX=8gtD zqbp22055#g;V=(pE2=C0^<*3|c+b6*^8cMQ+zvk*ZU34qlq!#%$70%z7~+AiugRiI zm>z?SNZOt2q|b6~S}8~tAgS|u66RMfya`(-RP8eG)%bQS?fGFcy8W2wKO59L9GlT- z3<;q6*sSDx?`2$d$9M2g!o1H`0YA2Bh*mJ9YZZgZ1xhDrr-^iC8PQcNEl%p&BiT@3 zHzIQ1k@^skvOVVwtDNty4qLfZ+h@OO5T<6^7U%yOKb}l+bZGE;v<24>kE7!Sm_gf9 z;TQ5!gMY`-Q+$gA^W9%Y80_AzwTD-8?UETg?Y=m4+P91^s0o;8N`13=JW(%wfBr-| z$k_tAery-SyRvt-yAC7A5dLVs>BrLi4Nl86pswT`hhF0Q946T>y88e`5zJ#iGH!Fy zky?YrQT79t@9DqDz;vsv*-CW#zw5EuL*FE^VeYkN2b$SGUF`?}q-w0--pJ#Z76W-e zmJW@v4Nff2c{8Fk0tP@^OQE{bpZf8o>toQSKlLy>H#{V@lc(q~T?hSTftEIzj#yb~ z6xH1Z$)fcTL_7K zY;K}9&+c8p^ZeG3sWRDGgGGOAI*o0E0_QRlG;RH-`@C3{;a$p4O<*UnF?O>c;v38# zn72;v+-LLG&D}c(>kIx|zM*nF2#L8{U_QHqzy3ry*vwTQ4T~4}_}X~7FssVl|9pE) ztue8gaa*2BcfDRe?J0Nd3I_y53@eWl5ORHjC3x598JCxz>F?<_lG!&b{#aDkY?X@r zH&+c|!vQs*{j+#^x6#WMYbt_ln0vZWz?@Tb_SQf&9f`lvPFhXRW=7d-OSBFh*An9C z@aSh>TiqNvx>mPWdrQ^0A+_mB+Fa^btaPzvyc?AuE z9v$l=GQL}r5&eHuy<>D;U)1*9G)>Z2jcuc`jmC}B*tTukww=bdjmEZ<6C2O|-}m#3 z@xGt-*E81Hd#$;ydClK-FL|ML52H;J(iRQUb-Y_dLTS&xYqO4 z?wrdL#_R-(Bc}l)4N4_fQwiEgq+Ov%vfSE!C8NH&ByfTvd$Q;9j>A%tw(J~?tJlZ; zS&@>RDdK_3k>dUn=Tb!;(gsEI_PF1Mz|W$3QUktII0Rug%r3@Y+FFiZvw{=q2Vuq!f1RvjZN0IheRc1!hdS(Qg7W1R3VhCva=Bo@H|?%z>3+W(=RT&+ z&DMlfm%JL-Iz!lr(qSh&i4<#@!e0yFb)eWCklk|TE3jw~2N(I-=UCODP2EhcZH`}@TgOaXC8;`U1`4M-x@QLy#>qW2+pr2_S40Gzo zg|SWgOw_1THz3@y8#Zkb)8>fe>nhS=+CWgm-QP$&&fP^qS!W}dmvz6MB2vB-`-8C) zPV1R{@n&{EM2r(G+1RY{@4uaU!OW&Nno9-1OEJDyF4^g~!=XziiHC~fDA->h4;<}- zl^6xM$*yWLdqsrj+UX9gT!!uNM%iO3DbMI?c0q~VQi#;mJbOi)Cpq59 zk*xmGc}%VGE@h4(9c>$N`qmW+SM>YP&p+e8q4S-aC!m7dhI`BG9^M8L?L>F|I z)dsHKYDa~ON3leX_GO%ADUX3>|L(F{0nyx7v^P)+=s+1)6R5;i+8NU|JMDEtZr1P@ zg%^6A)ta{(rPTmyNZM#@Zxo#|n$-P&C1cl+CV|FrvRy0peD~I09kvD*JPtAr^P{W5 zQ3;p5d1&3l5lk-VGZ3opV2=fBE&RV*>7YPUo4hIfN4!2in?672nPi%Nc=?UzJn~-= zZoX~{V^yeerFDpXPc{rTM7!9if5l7DoD-a;6(Q=#FkQUipo5u@6-%qLd}ejmYOw{= zb~_P8ybxoPMdW)T)b{*v`|)$U#E=$pN;7Jr!IdS^#(hneR|hJl{iHZ!rbLbaLyxJ4 zrI&|fi+&pW(J2#|;^t=k(A8Q%Rn9TcatX`16pR)Vo|1oK9iZTk&s-(TaNn4`n&1o$u42L1Y#*F zBeW*F^N-w#+Je}37q)}tIsnYXeuNhHvDbtwz(EJ{n7+{vG-`;#VK4V%Kd>>2sTDEB zRKLRs-du_i?4+(O#YPPu`HhYG==n)ymZpZ|gWhfROW~dwKnt>XdyH2#qmA5@D1}SH z9_a*@9SLzIMKu?>?!#DJcd00LN0b`ikqZC6sUnZeadsd>$6x_zsWnc^? z0-O#Z3$tFp@7KURXch4)J)1Y2Gt^gM(9LfC*TB=u;lfyJe;{e}(od^olPg4}`z|c- zr_JB6ABPeXz9B)EYVFuT*CBtviRXF%6_ek)Bb(aQ);Jzg3Vy!boUmL3PiXP-pj=q@ znDFr~{v_KoSd)jM8`vM$GnpCwI#SJOQ&%H|>&E_7EbJxt=uTh-pD%nc+AUCTAFp-m zRg&Xu(s~5HwlM`Qx_19BAWh@;__p4GJ@>gkJ{S3+BjXDPP2k0~*=wzvPX64-IBc`hoY43VCpyyEfde9nG3mpl+MSS_9-qQy!@T_K z5U}XEcH_xvx=rc$3h1GkK`2H;2DiKUr9gzjLw)r7EJ_Djh}>7FoD_uK?rAgjItRDpx>vexd5V@uj6cvSG)OZde&lA$7_tAzwp+$XtcyQwJM!g5o9~u#X zzg&NIY9U2(vZndjwL`%}q@KaK%)KvzFp`SP|9GXJo^QN747P~l3np6_QoZ(P3yijK zE`QjF4*W4*msmBW9>6dghc;u{T|dNF8HdHRw*op_vkvRO;+wjfVw~-11q!A%f4mWCF&GgskL51@bUMb z5UZbI6tl%psf>M?R1U%ZaQ_AGVwX zgCBPw?p}){zfQ&!cySF3fuHC!8W&I+I11(R3W8wyTgN8r8F(cw`o%f40{Q7V#OCj@yi&Ki1 zJe@m=nEvtCIn(F;9s|3{Jm}syr%04KU;4gvxy>DJ%(YsbN;m-ognkoSL4xf*2$35u z?%kjy;uLh`ppjZlYGdT@PJC}!kL+^t{l|7xm=XXBT_n}s(MV>|8#7-q<&DQ;M z#jOe$_O9{XA~@#U{dm0(T)fzHysavye+54iV7#cTr31zxGu3%>cdS=g3YNu%g#1_M z1Q;IWpGR{f;`|}kFs8U(`r;uR?oz?r;^Kq?zs6DgPuK1L))EwU22x-xB3Q9CpHRzm zhFvmvxkFX)avHLii1wG|c&4i@KaIU^CW5-&Bz&A1QfTEX?LpZaGyN?6nxR4*LFL$d zwl!VKx+IVLEyK1~xkl+)J!1Vj{c#$sN)vla5^W)V9s!$b&{bjMF*49o>VLbzp7-Ng9g`Vp258j`rKv- z_Q-N|33d{y@ZOziZa<$6FJP%JvHw-|061%?Zgw+UgB;7B&Y5}h^w#Sc_9__2PpGyC z|BTDL_PNV_6=M>c)CpI?ER3YD`8A=Spb(p$Ufu+mMiN)h2OXp5b~!%%a{TQhS+tq< z6DrJvwjiI<>(9Jod}Sb2`}I2D_0M=riSpvsE#0c zbvbVB>V0VNP3C|8%14hKkG9gT8YAB3NaZ-M9h%v{rTQB74RKr(H;V82$zZIt9Sb)I zJz>_y5o>xSRF{~C=j(K&&y-YkRMhpm9DfuI6ueORsFRFl<5{iQ9n8EI4}j3A zCc`W#9917$x6OD=i%U70qM7+ICXC3tf8UOp0#3D3yT83%r)V{WVVXwKtw&~=b~5*& z{ypOY&E%+&lTKsiXo8BE*mp3Z2-TROawjA0_PQ@2=9p@08_qW1c@<@~hE~s1J=A&Uq4hVy=%#CHJ_WjFDUDJvS6+Fya5Q)psJ*iTuG-5PfoO z%4O7*zyTEY)my#x>HbmSPs0GUPV*$53@ehbT+Ou>ik!Q-*mN#0F6;*LATJ<)i<1ez zVi6gK%~DLH#iYP^q+zzDS}=Cv+u#VZE*S&lc{FnqCz0V{3jpB%=GCf>gNZex4`;Gc z=O6(#hTi!6;+aN8Ng2DHf!r4%``B;}N|5~qK)ingYXi-}L4A-czudu(yo3lx+bw)R z@)9wDU|KvxsDi5t=^>G@9~BsNL=i?~`eb2IM%m<@F{%NFOdmK2tyeeH$~s&H%uW8! zqw3nWOy(Wx%aSbE*vwd>26ULW=u!BDTczPbwj@T;V|>0+ z4|U(>*ehq#U3K(j!D7DO7%NUx)D4A)t>Z`2ContUg;Jo43KR->!&T4g5J40{KW@1u zo`z!en!3q6o~Uq)nK=dKe298isW9lY;fSb4-6e%1yBbAfvy-4;UNTpDwOqjP)(>H1 ziwtw6j%1ru&L_7O2uzkd7YJxtG9|EBuoIka;IBJ&c6LtLOWh<*c9mT74q0S2Y;(G| zj9+_=6yp0cCsrX~{W3RdwCh!3PAIiygwlHU!~Vbfv})$si<7U0_E&7Xv`mo@ZWdb2 zHe7g|`Tjumj#oUIWotKjpTmXWiy$w{UXT0Z#V!{RY=5UV(MR)kHS&j`0T%v07@v=8 z?oE$jnMk<8EdH2_cIN`=w7F8P0{0$BvXat273h3#PpFRP%M#PGJ;5F$sXsA2ZYM|P zxz~W%X8qR(UVE9%e>*G|*JCs_rD98^%j<^_M9fXCye{6pz>(z^p?Cu!&3>p+?_kC^ zwu;PlX73@`f9@1O*@qS7FnVKs2PY`7b|L7hqD^`1z~vW90L0Q{>t=na#$v?}du=}D ze8{y2d*8&qAJF05hNBF_20!a!xB`mAi_=E)1sDu1N95H;ix6}=^<4P^G3p%aS@Wgp zC_u}nQDkpW9&rtVLGzq4jKj4bU6}gf*Y z6V*9{u^Aayo_p8bw#N$iIWUKdi+!({HzbQv-8ZG@Oqm`-hwz#bcsjtSUO9o@Zg0)F zUNdQ!ydWS|!9A`;NDaWUGyr;B3y-@IrPr8T!8VJPSndz!W#2I+u#zxcy%!ZN7`-Fx zQ1TS!oM+hxp>bmx6~lKLzY#~eLHh(+-IfRa;C*;nMB!RH$2CpWx-H72z>_FCzsT4Z@a|e|TP&_go*}5doQ{i_RxI8Pv9vj7Ug!sLs&3;b0{(n6z30p5FyAi?bZ5{C4g4SC)A{PK^o5ESD>Zu(%+7+^j_Q%3o$=;>roP`OpD_ zrChb9IyrPg&F5DP=C;-HRxvy60kxRqn$>8*At>nE*?piGv>x}FiuH~~W!^A&--!dU z{gd=NF~igetk;VxZ4f?xR`ibQV+v^X^M)veL?T=b>ilc3A6i&?&5BwRGpQams{^#Vxe4xYQ(fUNHW5f5ao$J$1 z$WMbIIOS_EWE$`;Y^e6V$f{Ya{k!#N_%nxmEjEofypj|P>S5=0p7*5mzcyQZyv};M zpWbp%jd^++lxCs=B2!ZOh zqKQ}Wd1}@=rpe^5Qu?kZ{RYbw1-i2g35;nI*(1`N{ZOgGH@veiarY@p$y?(E9rQXQ zzvOze`!B(Qg`mA8=A$*!_QEy)0Prf{IGKDMANrEA4&88cPGfSlL4$8L$H)JAUSFzJ zVJxubDU#7-bvFosTm`QmVY-;5c)`C@BP?)RrfCK&lh&#)>*nYw|2kBy}`sDK%0vT0>! ze^ha~&ML&w|0FajOe`VzUY;5;P>5>jVV-%t)Um6$YNkg$ES++ ztzNKc7Z?v3q-$RH@BaK)YuqwzX@y58Vg{(yo|mu?Dn~~H<~D1i)-5)Z{CD<~v?#A< zOEpUd5HWx`&?7Az?=qIh>OMqJcn` zs4H}HLSkjwjx6O<9?v&%KsKKlh^t;CDwSkAR2)rvv@%a*Y!NT z@x=?tRkOVHIxWGOk(A>J-gW`OyvdiLKtm4)y^*@lBl;V)oO23rxu@^xu1Xh2>Sj(ab*=9wP{tW5 zXiu51r)=4JoAKPLzv=aJaVfA1FDsSKTi_2Ng*pOEr~iZu)ktvnXfW)_H#eZhqWhPG~!Nk>v*P?gzwdp*t)|kRR@G1IB*_YNj#RUz9m%99MmGvW1fVw zPO<||cM2(iW3qN0o9&IS(F78Rk0tVdSmjtlM?)){>lFc<=1H>yVo^MeF3YLfobD`_ zt(RPenS4>eEDKGF#`%|X;Q#(_hAr(g7Y-iB8eDAMbfR^Vil`png{TK(E2Q=oHOFL>+{a>{K=H9WblU#8hv) zwL$W>s!2l~7{a9YcBwq`Sxb-0=lKh(tkIv@jMSWET5s`zWlFDbk|_0g(JRxefD`FV z8l#4nKUvI;_v5eKy+Xu%k#D`FvHbxJ&cw~aV^Nj9m6-%N(CmF_0&sUkYxkbu9MUZW* zzVr6so0)4TO`-9F0b(@%lDl`j|BI9P(WoVk%(o8C9jgPP-tfn+XUNIbhTiKa9A%2X z<_pw3A5VKtQgE8suR!N3(+;^Uk4Zecxm4mg5TjlKDwiqTW6*uZd zqjY>K)6CGV=>7WSgMEGFa|w+9XNT4!^9{E0ZDLXbC|U5?T{%Z|YJo#h*m~!wv*!1G z1eB}xMLYhd>kCC^qGS8P4E+fQ z<4K|mV@X9|^K)foX3L#61hP2@ANGA)4#s;?OFFj-ok#Y^nGy*z58*UQ>8ttRkeb0o zQdW_&=>lukz>sS{KsqjQ;&LaE#mxGm$8rVv-*m|VJ)rGu={y^<{HDWRmcp{Pm!beJ z2=qFL;3Z%Gv06~WSOtn;+|jO$CDAN6rOwvL{7j7EW5BB|rt&DV1Tk%dSbetz;r~ZN zd(G?;P{<(!XY}H{^E5^`XFZF2$6kLdIY2&G$yG61~*h7!npzx zh&1Wk{W+BEc37pA?UobA1|q36imFQJ0Co)bNtn6J-`ezhc8q4#Ioh#oMr(Qh00iz_ zApp`oie3Lc+5T!HvT6oL1X;Pf?olaJTS zgCbu+)h?}DpbXI;)Ajn9Z7ZS=@EJ8BTLA!8WhT##PM;bxjPJHw;=D9#FkEXft-Y{~ zoR^nrRZ%eA1kwEU{(J$4!1L*6xw4DgEUKmM8X}gz%WzZzB&8zjU#Vo;K>+X&1Jn%* zUd+dGR}lk5U) z`}Qk4fz?f411TP@&epqmsMFmE@eK}EJ{0y#rF-uHE_7zs4dZX&KZ(jTs?=756&J+* z%-W5KsDwlSs|8-f_P9?PBB zi;yKpGMz>-&~wS%xhsieKR?X(+bOVYq}+}|%WiK?^qLigAQA3+bZbXKy0ur)EZQx_ zJW3YNrygPy%iQ!q%1)qzd3l8PuD`j!38YhuCg8bqC&guy$xs)l6B7jo_;+jdCe0Xs z3Rd9KxAJtmTcg#^B5JC@iZ34i+*ZC$nDu3vG#^NFuhG=^fq}w?e5)=5|Mv816GDVU z)O0{cSqz;}5rh5uXLXQfGaLH99;v&h-)AUTlU~G8%T@96>f;z!?p<%EIGS_a1Rua~ zrLVoGWkT7456J7WOgVyQNEQowm>i$~W%CQxw~4IR$ZVhz2gZ^j&;x^=%1{PI?J=6H zH~c+7cmW1{nuu9^4k~Hyza;EnokD_w^947!N)^iVf8%hEiSsC~?Pwpp+bzwt`v>^l`+AOwNDfzBWO1+36MF_f>nZh9x+Wn_ToXAZQL=EXQ)=9Y_B@AN?p0N3DKllTBBjAy_{o^#i=T>5I8s zJca}_Uba5CR7#CXbx-hytCs+~gQrRgB6g&Nj%Sz@0}kPIB!9fg@^ngkvV9Z6yB7i; zm(n!72+;@kNCmdgcxdG&ekZO;gIG)#6yPJBb>QihXJh>(mmwBm`9wXCBwq01v{0$> zx93*d^QL8 zD}?%xKkHFgNVGLS5-Vs6*xi=oVaWml0paJI-%;t;lF{*UH5%J-fR;~gw;Y!l0joP) ze*VqSYgBZ>jVwN($}3m7#8{gX0Q1$t8~Ev`+blnYUN78CCFuL#Os;-3<*O@#lG7xiiCRUb~KW;0axHK69Tb~(`ps3*m7)H@$#k!UensGt~& z&rCEeSNe6MMS4QEdrj1jmmIb(bQfi%#lH!?;p32H=i8|x_UMW)_8E2Hv15j66Q3ZG z^~(rNn;7mcuy2VSz#Lrfyn-MS75BKYJqMFgIo#?LK6aVMNk}Dmy~*i{4F8jU5{>PM zV6MCUc`8`hasz!>=}w1|R1tddNI(ivnRsJEL;3E?>F-w^O3u{{dtyg7y_rFICo#>N zp8XXhC##J#-dS8|MibZxf6SPoJzzQRG8=SDNa^-v*buwHJ)bjJWdlUPK>l^^Rl%1QoWj69Bh?~3Lv6M?<$Y(l@TG&1~ zq{cchQ+5rb>D`BovUZW?1$lS!1pq6#;{bzsbMrWv8!xC&3{O?QpEeICk`gWCUe5b7 zETST}f%1<_E1Y?f-7f75?_;C_DDwg5PtC>Gn4{*AD$cEu`Zbipy{IbWiD$nDtfRV1 z=9?&Mc1Vv-HTyVfARmjY`oxfE$wbXoya zB4yagMUZe|LAb|v(>h`GU8n;yv0Q1=t67qs6(3(jvWoJ@{X|&Hd9!9Sz@;~~n6{8O z5cDlNcJkL>A1&-UW;n*AC|U%beX9OSO@Cg)y6hZPLO0iKKd8Gz$W8kyb@j}>Aig>$ zkqV%biIAfxu)hS_a<7P}MBbXn1Oa#L!ryMb_iR6Z_C{3NHAPm3m!A&RNBp?vEijG( zvW}bHv@41@HzphjhYvZy*5U+y@p=D>N&C$*#+xxjm%`sq^R-Aj zAtr~ICfm^J-vjUQd@J+Iq(-~A6_+A$aohJtlrn=j&<|BTn~Rx4-+P6LZ?4qe?|hdir4Se9_;6CgdBQb}iMwe_H|FYk#X{sj0% z<}|usD=7TJ=7qNpTdUXNPIpBy5Zj2d>CVnSdV*T}o2RN%&@sNB*SlSR6U+aLM*GfB z3TEU@jtC}hYh)UW4g3!I!065Rv04k$>G7B43UTES zq?2F8G|A!9bJ!yNM}hfJW)6iys32C0%IFMO$jqONBpcl$;la2Q+ljGpA0eF`h@EHE z?TH3Y9bXO>D-EN_``|3d^-%V$%B^HCsR)6Fs)+Vmm)}s7mSL1y^X*@`x*yn8JN=mXl zuokG3TtpUKr@db81~C-7hGhD!r)cWL#=!|pvKi24fetHRR}1}ArTpF}_M5|hBQRto zW?(>M-3O#L0SwkoUyG#A5pMVeqGn?kLM{u;S7^aDS|~lL_l;8l!dGMr-?PX|3AuYT zB>l-ci)TyS)cesefrF&%76~Of&AyO*vdg&X%rdKid06hfOTa&vOK8_LrOa z3#pT+XM`W4A|(yk%vKZslVjR$tJ_f>!XgafJav8VWMmZB~`d&+e^YfBAq>Ro$!qm$^@`lX}TJ{{XpCu#a4 zJhxQ&h63F>UL$)i8<5+{ywXk^1PyfzfkQA>41mIcG!n*Km?_2l5P9Fu`_12Px9Yfx z6Fm0s#MbEhY(1;l94Ycr?h<_0>Mn#PlIW^5p5{i9f6-%M81q7mM>+{urgzuV&vK4K`y;crXLm{B=PnT3%5nxm33fKam6zkiZ z%*b(T(ren0*e#W9$jsZrlQu-GkEfI%Xam)7rH@W4wun!+vUQr_8N}Ej53DJpq=*9qowzBN``Fg9OrOUS+3%0^s zS-kwyg@daja7#VV9_sZ6>QkDSD9b&U3qmOC)!uw-mp;5wxtc^KV9RSJV0_C4K>GBD z4q^CZLb5f=xx*8~zlW(@+~+5D3_ViuAe?8N z8UJ7$UsSEylHBmPFKU{^5hGh#nl|w<+2%oCm951tb_fYMsq)_A0}$UD^qAg*f6oQ7rf2MVoa}bn*f4Oi;k%Rsm4P zk?apP%eZqzbsnIbyI(Z6w3TTF@YaVd)+(&MA?Vn}K)N%`)ZdMK%g0b#G7{-BLx;x? zPGocpk1)-@YP)|DXGT|21NU9Z3eCpHT+(Vx5dAkSlHu7TIq>QY#D0`@#rQse!><7W z0StlZE@xC<@`Ceb%-`0J|479=G?HJvzaDzfHBUc3AK7zLi>Bav9XIE!JA7fiSZ&6* zRqU(~s%4!K_;@|ZrbJHXHT2^t!5H5FKJ<+Qh!lJ#$D97g>a^kblSCFA5Yy;7d6 zA)a|U4cwggr>r4|Wh8dOJe8G#eB();Y-KbFi4yrN^~O>) zdCN+qbglNsnJtT@!3zWo4a?5AIjOs00{l-gNIGhj!j$Uv=+zBdaI`C&A)Y7p*_Y4S zYYqO)6LU9nlRr0;&z-JQtrUhnVhhN0Ht`rYT4!k5 zBmMeKux4}`<>|xgwli7dNP0Kp>$y-osgFhbBVPX8=wKknwE{hzjO$wtzfJa7To1N|2r=0xGNF%7GRm%R;1URbI zYx_?0L>P2R7p_*o9DE8^MD-r>(dNtLt&l_Z)>JoNV#PKcqb$mWIT-6~->-1WBmk%E zCP!V106OdCW@m(?IxTv_8~Jh%onL>zsxk59@(83M1$&B0@4vFNM1!GFh^klw`(y+n?OJ^_dPk)r5A{2}#L(A5F*FtCHm06Lc)k$qzX}F6+ma z2DN-bepoi&l^Vf!kSzq`X>Z6tRt~|{s7jS2T6lv55B(j^^Q8+=|L*Q$Biin~U9Q=j zWVvh>PiA;_M9>hj+nCMzTVt_Bjv-?2^G{oS!k}B%NN^9pOqz0-&>!t>5vEUBku}T9 z`$5mJS}gt$F8+KP=Fd+L_?ib;`;T@X~G!o(}RYXWyTO8rEJAe?Hl1=D}Pjn^p2g{KRS$R-$&$t*380PRq5g z?rdR6$-jRFL!q0tiZkDY*qG^Lmh8rG<%4-#rqdmy0euABmMhVzD9z2dRAwon7%tUJ zy7%cY!$zbFQXk!)65nzivv`dYXL|^vg0BXTi)DX(2e&RKXHVh-oyRmNeGrBBS?jM~ z%*s@XdB45AqMhz~J&b%RgRjC?^l-X7(;eb!wX-K{ zcq)WbpT|aRoXoG*kzy9kx>@CdXw^IRc>AY!m1yV~1u`p*%)FnIt(l{Rdo-*XLeAC_ zik+;QHt(m>$7Q3%G&1y|c(wKg{>`_RwAGyzYH0Rv1^Aw^qF51_=xSU){K*N&*8L^Y zN!%y6w0n&YIZtMSZ_S88W-?0tZ89ol%Z5a;6IBFL85m8fv)%D$JcYu4TUOIT#VI_AZy1@n}T zAa2KF#wx9DKWEXMP$m`Q$xI0XuP3m{Y+fnN0bxJB-VBZA;*9FfkF?qFO_VI z-)QtcrpoZo;4_+jFN~pyu1k&X8?IVZ@(jQOob_%Y0NddZhSl5yjV@^|Upy||dw^@P z_z1)HXGtf~>~{R088g9C64Bkb@OQ?L$sa0Yl8L!LK-vQ^;@T)!-@@OP`7qh-H~hMh(Vyf8Q%+)w$tVBeSd?Rkir|$S9W05(1Ky z^MAxJ_KTvn_|mT#$dx=9YE9_ zdh(i$aI=G&o~l0iuxqwX-do&{wYx^wLl^23x?J1ipWBGtMPpxTGbvWvD8@K@%kJL1 zUPsaL!)t3g(HlOg1!^7yrympniVDV5Hqr9|NRBIe;kb0lVQhk{P5K)#-Ja`=(f9hu zHrZngfKrRY&2ad0lQEg;uUp6KJLI56lP4WCXz?eeZUyw^*WoIUNtXdp60LeYgO;7UA{*_NvX+ebefLx6|Uy zLDWAvdf4lIVkp!<`13ohmk9f8@s6%a21RP*4%Ylv{vHFtu(+`b2CSm^5m3Z!W0yB zy8n7y#AXb!EA87JKVH4Gd;~@os?%gge@ed$iem6u*@D~ucoioLy+2!;9bo9n1$Do& zqoMl>_wag}N!zOo}#VUF)cS%Fr!hd45gn*Cx7-Jahl_B{N_Zl2eg zDAJj-Na7Ls-)5G2se->;bI4j@_6P%)3MX-eU zp~`3a`#?XiRO(DJ;seE(?tPDChE}_+Y_)Qd`<{iw`U@5f0XhNzSmrhOWu_!lO+1`Z$ACbZ{1T|}4D zQBq2aJl$=MC!bV~tC!_-SBi-c)v&_h?egDH$wK9yabyO;KACVraoQk6Bh6s?-r(O! z?PEfP8x>ObZtKtLxnX;}!EZgc?n1i7PM(JoX$^*>DDnuqM9Y7DC?Akn%{DuNQW;w8 z7bJhu6*`>_+`C?@8oc#-kwL9!vqq4)aHM_9fZPieG{}m|V9E0Ub>_^CrKoZuh(?e@ zQ?#dUq0@LgoEJIau+4c-kF|(=*)mlukuC->{o#jGY2)yImV`pHt@0$;UX!fz-ZO;M z$Lu(<`LDlEqZOh4Gt(WA~W2$s%`;%gP>FtT?eonj7EK# zY<}+6BR5NxHJD4;S163a`6^0bZ>^BvdCXwP@(;zPNmjsR;F@l0S}t|G1tU@VsQa zWP3HK88zwkyRSCeE18yHxbpGE<_*1=5S zGuJM(kCqB9gHo>hH2nw7H66OtE(aC_&JzJnTjFY1;#Xd!1oC(COG%AJb5RIbE*pZ2 z#VM`!labj1C2FjXRsHsDJ<2*<*yeqOQT^qSyQswPjBYIw|B4+yATUB9(AB6QuYx;D|A*Q;T!(X>fhi(;z8wvgw_KABlqy4 zxKDBOg6lDrwggty}?0poXD2Pg153U9PL}2^QCqM zNs?b6OpRxWf#Bn_c?lym+T?Z8Cu+x=opx@a07&?g%~yilaI}EV#{Lwgtn?H8`n&Tw zlP$j04kH>JrM+$gAc!!Oyk5eh2X^}B@U-AQXLVSuhg`R*ZP{HF)U_4(E?(h9V z`E)3H_Y~a};sA^|+vO}mYcGoYQpx6JzX%@RQOaqW!go71_d8Q;VxCrRZZUzsywCdy zEWp=6xZ^C3mj9^Mj()`>-eZ5l8`QAw{-HnxSh8V z?%UvJf0yRlp_0#Bos1=~_g7`m*%#Q$gX!L)`qSA1)WkXnL-Y9Xa<6&N8rD;-28b4p z$;}}H;Dg~#VS;oN{hmog)lqxuZeT*!GV2rAe- zdyIF0;Tl7fR7oJ!OvsfdK}CQEsH|CM&vtqjFmRa++7|0)-&fM}E*-s#7LtGaGCW*h zxp=#P&|c}$WuZ3&t!T#m0+L&IqC@1mKqegc%%aQZAkhnFf0Zu-{Q}_ry3Ku`&SD#D zBf1^PpX<%;#Sn9psp>frY4vsFeS|z%E_={^)dQ+s9>X7~n%fgAW*0p{kn z>w(2YRV$RoGFaB+a}w}?^=Eu>t4 zsAJle+)1R<$mKsLqV+ek`EK?Q{`TCD6FA|zSEBqn*7rf!iRSfhculNN!l0wPlnb2X zKCi1wN+taVdy-?hS*sZCNrn&7-lIULCG*|OoJhIZy*Z{4Wcj%R8YiX2>CZS(KFO!q zWOu$EhnEU$v_7X&V8JK|x$0UY$2mP=?b!VuA1$Wo_lU{+&){3{PH}U`?GHjMyQ@nI z)QTCRxlwzG1YEw?K&>2Vk-}gBTVw^`slM0P8Q^xdD1-!TAs9?>fPPK-J<-N^zk1Sj znxoA#7-s$`Rgc4kU42(D_g|?ui3GyUhkCWi`8FfjTj~AIAofI)guYc0Y-S|(6IYyLs zK6*O>O}J4WJQKV{!mdZla97gLz5btgtl~lu*p&n^kWIgeC*sk;@)2~zPGG;s)*BqV z<_GZ{AoXAs)xx?bjg)iYNJcDooP0wUw7-0qKNy`fwtgXm`89omA(XA-eXpA6 zbz7X>teoSZl8amsk@^yCi>NY;4Ca3`uipV&5XmQCb{1m5-zHR$`hjAvFSD#VJ6w|6 zwrAkekLFdX^`T`B+8HJxM?a+?a5^?v_r5fzT=Q=!?3-n#hu957ayyLBE?XxV+Qlbf zjf=?gp9=w*e>U4_QS1SD8WulBp&pjnHi(L>dJ;5BkulqdF zK+Bsnd!bTZ;dp8*Q$W+=*>>yln)jV5;G*q3w*pU^t@FbPScR9$8o zPAsHA@Am~Oa>v^V%XZBp>$;xXjF~X_{1sPAZ!0x;55emzARon|1e2=gTmDGxr)I3- zQGzE|%J1_ht{DbK$B`yHcF})#5p*Xe<~x|OVuxLClQ#47B;aZ4|E*31*~?h_f@sGy zPFOKhpmvn{CA=k*J)DU4yF`DBdn0rlI;_<92hR`YgMHF1Kt;t&W_N4N^#9cB!4q@G zlj{zGD|YISQWs)W=-UZQW^bg3=dxc*qDR4LGfKWG%JR#%?|6;kvRTY_5?3owrEEE= z89n^b9b94)Per%TJN@DL$ZsO*m{HSr!-Scb7G&fIIcmyUDUT|rzr)W6Io$F*Yd%n? zbJMA_1mMAOHQHRoa&12VxXL=fsNrd&HjHktYn#w6L!W-$BZ?ET0mgz#7KqJOn@D+` zR5bQ|?{s%9Hq;qZkZLg}ex^!KOls+<+zByX9lkExsXUpBdn`;DL=sQ!>= z{y?_SUH#+{a#-&RY}mP?{{rJzAnsbzMxnL5{uNs1LM{mVXanKpFmN@jKZTV(59NJQ0dJ(C{PYJ%FB#H#8lAd#CotjpcMbd}9XAkQsd3`>DI6~Wb;C--pNH0R?_?Kd zJXtgFZmG-rjwLLWJ}k9RbK*-H>_E)NK<8qHPQGo{?_Aq0cG zgb4Ltn}2Ha436le_)i=3%dt{$*D> z<7&v&r|CPwbULHF=}5NYfPv#?i>#b9sju1fUw#+sg}3Wl4v2AiU9id*thcSOGx53u_TcHV> z&1`F4FSm72p#9KVxdd){NeO$cI@5B<9bAEcjf-|=OZ4@?>g__lm4D}J`rpXXv0sE` zk_xX=6CQal4a@jY1 zrQh#OaSso_v>tS)%g*lBeHvQtZR12)k9?BQcAK}e&CB`_BHo*N{>eOVp$lj1{H0G&ttyOR3 zPqLAv;}a0lRu`+GuM^Yyt;K#Z1nLa^$=#D^^obP;a}RoUo_6MB3ttcMQP%&IMaJ?w zy98khih{Y7_9j=0!`4uj8wW#b(*w~awhq?O75pC2vc!8Z^fy9> zr}l$g%Mn#|ujqfIF7_Rd8_(QkaXnU-G_O0N2V33p6inB9N^rb<;svIGBiIFj02^y! zCZJ9O6WJ&)z-NW|BoMevq{SKwTl2|Y-zRJAPuqp=NbIcMjmKZKaH#(-(bZseUU&-{ z5sxw@P|ErBHH|@h9%9DbciNU+kEd)KH$+`e;48E+akg3yqi{#m9_yR}QQX_Q{EAi@ z%%&Q?{vpr&S+3ifM{4FbDo% z4sV$05n6`zSUFMS#lT*0zoCQ~!VUZ_;LKQ1GYR-VfH4Fv0%Wo3O=EbAD5S;~z7zJw zZvoIqR{zE<=O=K{vaU;Bk1aQkD>h+bWNcR1&@nw&Toi&J7kyraYL_?iDd0uqm}AC7-==r)|oxGU_g!f?)d5!%TKJbgnhq?5>@@Mu&X9M1UI4r{u&Nnd-RZfQ!|NA8} ztk$5zA8q<^5_3KX>a@6(M>dk^9Cqa-wp25d5jt?*oZB%UDN#n9YsYY4#!X;A#y0QQ7P0aUyw0d1!1xT0`=SKkax@vr8@f~Un-E*V`@bPOyUC6ild zOXR5DJuEl0+XL4g3h2SdTT1L3pFT=N2>L2i!`JMv;E_+Q(!TG?f};293|xxAl|yPF zikRg_(dczh!;#_-XPLq;yCwu);~F=A&xM@plY!7M^AwY2xn(FP@eQA;?GgqJX1{^c zdNJT1xLhE13)%aae1p+_xBq~|v7d5a+12GtOBuqh6tNnKO+CYlrw`tv*Z83nxe_92A~QHaMXKL5h2bap(AdxI(UP*!ddp}WNehOCo90B`+%d+X zpxIba`IOk?_g*Wtz%4_^y=NCFEh@S1EO3WpPv)1-phnf{G<`DykpDX9Wkkc#EvBlr zxI<2jVGhy6&mq>1IZ*%*9Qa!l4IwLX|g5eINnc7+r+-rQ>qj%Q%x z4J}&pDO>46UCGF;!!!Q)^Cqvg_fe-tm?@B_EE)J(TsrV#GF5QsgO<~cO>Bg* z_-DDk3sdrA$AeCS8Z14th-0M!^VpFdl%GKX3gG~bG(umF&!^= zEB_$GTiW6E`qLX&6AZ1|M(l-T?!ivRK07X+k@H;XNjsz^?>T7oe~2r+AbyAppQz-T ze3np5C5aOyAl$N zfg$LBV);Y=28MqoX5`9eHdysXp9E|q`njZU(>U|YZN3S=^4M+*;K8A&$kNl$a3}9z zW3aKWQEZmP@qxG3X5l`naO<^)#e9IG84;FR_7ilC=l{lkBokJ%*pkfqt_45 z`lu4`M~7fE%e5J(Nj0m?zKt$TJ$ojE+~{&{{ki0Lh#Ixr?qlxDX!z`qSOwj))~Pe4 zMS=apP3~tzsdHg_1Z8d$?T45Ses zBd~ew=Am*CEX3qWC_H)c5lo2(yJ@a2pJEqW>xXy5k+>O;Z>s%_vtuXjSv!pt&!>tP z#!Ql!4M}!A2+}$RTM&oo(=S)f)&`djI3L<@-3z4 zjoxdO1t($)OSmeW#%mSCs4bboAStFk%4I1+m!Ftd7(<{ObF6Xg5*UOO7RKi$5PjBu z?zgq`r{nKuOre5jD$||XGy%_=O@2hg6X)IM>0?MLQ?l%BaW@p@&ix>B8m{SC%5qd50CPrNEsIZS7OK@n? z%{68vtSF67x5vt|vJFfRNMy7n#g-wGf)AL!Pmf?$o8@L_ybS}uPjqMSTT!KcD}3T) zrl4-WQ`o&gy~$F9_`eXT*DuiUMHIc0$L`zg?;LgbQ6W?Fdn_!||oi#)&D3Tc%8)LeSi)gA1J7qJA_jtNlO zChr#{PQU0>=(zGZ?XuXe)lf>GdWEO4uDU$#;a5xuJrHd&{C1gl(s0eadnkrJMgVdO zK+6lse5+IeS1gZk1hY&xy;HF@bOJo{Lc<^oyHJ@K7e53;jNp z&c~IIw?TijX4!(={e#}{JB+4%0{^TyQ1o6O>4UXNB*H?KXd7>Blc0KuPU7q1Qyd3V}Z+$9U_blT-gm&t}$KPME&WM?Ov!8xOz`DZdY{ zemjc233T!)>bHNKqmB2h0xWd^3VLM^p>LBvGBG1ph_EN%@_I-(jPM!Ft&}${RoA{X z<0*4ZsUR1sIX#Qqc(geEXK)Hyo$j$n($E*cIQ;evO~G8QAzS;_8xkPj3p9$olJ3{f zmFh>coNmM6z3J<@BcRZs-r~^faGdp^_3|t>k+iY__9hAFpLq#5wE2FC25U7M2p-Ru zao>Js2@tORFICt-lP)n^t6U-)1o&uEBx3Vl$O`u^zSZ%($zP z9l*vN8}J7e-}BOmav1l(l664e!)UdLI{Gua(qWcHpgxja2qpl{#U_{&W=D(YVzmgWhmf)`;ZThPO=55}>bnG{Bn=#L8z()yWwwV(<^w=P#!4LSWWnR@BcJz z+qDAxsd~QjMV~k0>J)aESHCty)UqF&Lmo54%4}4*BtbQIVS8#z{Mn~eOen{48akIA zy42?B56{REU>W?m@$_9>)Qj}EhUZ(cm`in*ZaYLM-tvTMJDpU0ZKec#?xWbZt>wIA z_7my+x%yq)SAF{YszA&iIU*=20d;X?#}W8qpW+0vLBosOSzUGXdAt@fd^^nxPOICI4OKXNLJ6l_JoX?{_^E4%pW&Lt!8n0DV z`Jhs5yhD}R=)ekSXvmBOjVYt?ic&deO3Z2t)zicoR9Ofs+u(nh^+luwdl7a#Uya%@ z3wZ!j8iQarjVzct(jY=n|Nov2mo>{Y2qA4OSDnNv-kFnV7lWt=n0##$5s(co z!$d9lWzeqU%l7egDEERshGxF>5P{sevsaeL#PXVy7+L!!DG4;`h3E%g~pzLZ==$o)E-y|IH4fMewzL zK@D^v6&J++6wzFpSd68T64@kOCdJDuDjm1Pp^Le!}MLF%H{sdZ6dYbi46*;yB<{CYOz?A>q44#UaD$C`ZD`X7!jdO zrifA{hTv$oQRF@SGh4%X_CJW$7^HUSDu*M{bScfGJwv%3OC(6Q`eT>NB7I54rpKPk zN%-}FqTY5T=@^(TPx*oaM-DAk154yomW@bc@07|5MaD6INTI-P ziM_`s%}YN=UUPLRoLFgeXO8*AF8K`4i3tIKFvrgao>hFOl4$gqv4-UWanGIaNJLzOe|Pg_OMPsWP7dM*k;+yq$Z3eUMdWea^|V|s0!_;sa@?{OwV3^rr9SYaK( z{27R9==o??jhiUbAB9`uahdHZNhYeqykA2;XCxKede*$K5Lwr~1*5HAZgF2pXH^YR zlmzlQePu}1Wu3M$oPF9 zQA5+y-HN@2ZTJEFeJ)DWa|}p*kHwR+N(6wA3yG#%H!u@vO4$AbaEx~fSwi{+Py}>i z);EO+JheF*mt|o?6w1VbOFr?RWOJU!&)X_gW(MQJ>-9PU+hI-QP5EII)=i;X%;E!PydZ+d8L}nL*wRL z96)zOb9?r1Jw4gluO!}~reDn~(?_$ePDcjPndeC*8~olLn9wI1v!$TL8c%j$z9aL^ zt(IXVNmJ@7qPO5{9&MNT^`{kf%k%XY=pkF&^{V_$6)jh;lsz8Tlu#cGN{m5U0RG8( zUeRKkFJKQtw-B>Lnz}i$H=%2n^Cs|8cZw?`M}0gVRN+CJi(3mpE3GJf#=xLj_9Eq; z@Vt8jH-1w^Lb$2)q#hYW?pt4T-yrtM%l7)&cVIOz%}fci=DfEnm#$1q)zekYCbc)* z6wkHeXZG$u1U{D>R7}VN|EA%qHI!8*AjW1sHv7K1l-95#=zQc1K&NrIiKyIHJ@GV@ z4$gCg2Or`7_pHTuv`9uH`*0fA&E`I@uHBz5MNja*1v%jPvbv~s=xNjGQgLqe78qn_ z+?{Pmr6k)Ay74HYfJjG#o-RIk?c6%5-0vH+mjaWSl%p36sjuvIYW?x1`z#_md=qtl zyDDOU{Dfkf?0(8c(9Qiv*RS)0-x;p|3Cz!hU12cR5MjBbmz%M&$C|@HB4}wad;3EU z`(@-;Uhc{VmJmiF&Vzh+g+$ZMc-~|q*q?xl}sSR@qEJn{Y+9UBKxg>Dv8i0+D; zE$<)Z5k-1b`%^3E&tUL_b2KbLWxMzNv>V6{pD$)Gz47Z;RMtrhdK;{7VSWrchHbB2 zrLR-s;F3%gOFK)eVbt72hOP_VhGPZwk|a9R51rg(tNX8#9QJJC@sJ1GAQDI2T<}W# zFHHTgKelVDj)TNd`bv)rAUa;7i78<%i1mF9=b8%)n9eaIMx<6DBTWvvx=@OsivXk7 zA40JYSis4ZUy#|gwF(usKs5Ykr-V_M?beN}PSN-ybDNEtoqoP_25lh%O44eRc{byz zoX~J|G`n;Izdg=rxwBqY(3jAPe*m0dxe-5aQ zI@e80e@zc#X12;|yTv!iQEIdEPs=%{k$r_U%iaMrC<4-hZW^nv&J<<>yl~X$?98DI z$QCyo)tHm8O#>3E-I#9qdlEd`LHV>po$Koj@p15Llh6&X1fO3&vZh-EknsRJKwsMQ zr$wfxG+)oIY5+2p&G$%(-`;MhVZy_E|BSem2JXyMPt|M($YRSXO zB)`1p9Sn-bkhZQdoQd08q3UIt8FcE!q{pFLo+P%5q$GkFR0lVoMY!Mof)bq^zapFB zo=wj)u~b16C4jqr47k_w7X~4tuDJYJj)712&b-LMMMmVhX-Z^N3p;q^?n2X79~7{YsZU7O+a#@On}V5cL%;^lft1M>SXY%b_xu2BzI+sE*Rk-U z-TkUFMhr;|@$7c51dvvrcfNJV@+NP?TCx`Ic;uK9+qR6M_6w7xI~ah}*m5V3;>`@I zsU{DI4)S@y&9Mk#*ZA(A!oJx9u)hxAy1Xv-Zfvw%w=uIAdwti_2)}Z$)I41`K0RF? z==zgOpX}XYp!+^oo0d@vM1oRCx7*bf$;zXR@w`}X7+R>q$xOi)X+x#tv2O;A$W~Si zcOR!#a3~kiQ3y9p3TVAHx8H}!Zlqi^K*}9&EDwFPXXO&I|F*c~_}MNi_dnfMdj(te z!Y{KK!wA-xBKdZ?KD+t%>xrE9J~J3o@)_Dkd4}X^c(fcJ=&-ZFiCr*P%-B^ z=#246KYZfn-8Sd;4@mAv4C!Zu4Hn zbEF2G-n9x~h;}KWZ|hbRv>A#xfYabvU?dDlzB_gqwdzG-qr*b&?fr-Ts@Ttm>4D$s z>*|~metaF@)DR^JFkl^XU#a#*AdU!5`wkdqO@%aW6rOjyP;J|x#i*(E>oq>{yG=>k zc@T%A#|6^Zt+jBX>@vA1W(m!`jyN+rYsEFv; zYiZ*VLC9}FPc5IS!?1w6 zzPnB|ALCrQN&3ZN_0CNn_P1F)Lm#sBaCq+}pf_2aVLfgzjNSK@VY;_95UvwxKUL^; zR}HEY)NSy(LUn&=d;lPoMSQ>#01|wZ)@~{)fyVQxKzLLEEe_Jm0g87aQaa5wJ)1QY z%-t*+1F`bUaVfN3TTVTIJ>^jz#(L3t$6v0YNGoz_8JQdsK`-UcAp4iUcLm5ArNuum ziOj1TjHsqpt-vS;Rmp$jEyrbPhw3cpM}z)W*lX9-V}>IJ7OggJ3U;3ptXs5o$6^8I zI%TqtJ0KPo+PZgOob`Y+331-OAHd*cWLC1m-RepM?&n#tXhuuQk_bZArd4el(oq;O zh0o5X$sYC&4K_g=lE7HoM|+44$>-_aM~B*Kn`4z4q_YW|>Z^wzl6e&{st z?pw3P{`uGdCC3c{>{C=aohNb(+W#UNZy~@MSRdh#t;!BG4ZF69ibqQzFD@B>vnZz3 zyt}$I^nbzieLbQUjUVj|lx#DVX^wwKun)@LihVJ7J*fLGuJZ_^QEo z4g@o>Jf4dtmW@t@0}dwNC1a5920<88&OBd!GbAF%&_V-1CgvRt0r)7m$Z>FFA^9Mk zV-G~;^psvw)`NJr{SLZWVgbWT6L%@0Xd*v*<<@UIFH5aho z4sWR0)a^7DtkA0#!{^f8=oG#>mPf4x;Ak1drgcGY)jTQ%u{#gR4|*yh>ixavIy4tV z4z^fGj0R&KZsS;ne3MvqL@F?2O2yTXIWgG?_PO9;0n`}b=ZoH(qoS;+1uK}Jgb-Z1 z6DgCc^zGIvzjnUpeB(UHo3Yx-=(NxMxiH#;sV?X1`Tz|X-H*%_-Me7ZzVzH`j^og? za-RMw2L6va+zCxgJ=X)NTA7TQ=qlBLP{#Z23=0K!lL|J*+%0e_h0hgvJcTp*703cv z&(VY$Q>(tWTo$Gk+blVintPDKRQvw65t=;JX77&@zu5)D{O!+l9QY*G2N+jJ=`>i9 z?UOtOZRvr02%5fGZgdD%7P#yLh4^eR(j3HWp!=_-RL(Cdd?+rS9hM4qCiNkm+|pkh*l#+u3<_>; z2dFI^UJHx4P-XP_e}j%$3TgKwT%{EDNd%DT$lu^6qQXF zBJ8vyxJedivK=4F77wr4I04yDp&)GC0bSJ5>unkQ>>4trRU7}ImT`QhRS6;xA?kHs z)wU=h0H>s+%(c4Pr}8=%j>r%tN5g61dI(NKkqNW=%Roj$;hWnb6eDdpm?Y zrp;P_VO(}gqwVNEBZtq!ZJnjcMP?l^3=M00#3yseEj{+q9piwVcsJ-Id_&~G&>=_G ztlhBqo&L=HlXfkHK?t}RB&j|LEIz4P4uo`G zYYjG|+4`-k&XHFH9B2QK6k$l)cm{uX5|j4G_RQK)c&=KB>di_J9C*I0jOb$}7vLf; z<^TFvG$JGL_IlrW)cJZ0t3_5ujBrx>hJy4 z0cr+!yFw*zfQ}oVLzZ@UH~}c6WQ+1Kxq>F?r*^6nLjj!&KX@l~L*&<{6UYG|9ZXqS zv*1>LRIS*&0FL$f)TNUt?BVd}MED#Qbkj!37_BmOmN}Xwl98{^YtX^TI{fRfn$=V7 z9mH@&Vrr!AxRoo?a0uwrAjlD)_9m=jj{%a@p7I8GaZ)sEzN!-CH2pIwgS26`9e?5 zjX#JedA6Tctbi6(CU=xaEYuVx!-jOta)_e+x6kLtfhUXA6bhLFDFz-}a4mltR)WGd zolwTAdok_Z?h0IyNb+OIW<*wj7v&ua$i9%*b=4D}tz##4rQfgEfK*8L${TRLDL-kl z1coUK))~F}_>nxeye~w0b{}I0pvZUy1~U5l8hTMcXn=#Gn$!Og&3Vzl%=3e+M-cw+zo)ZGeN}oXHD<+n%|;vTmUB~i)y@k{%Qd!ye}o;BcQXdi%3UjU&-D3^eszM%KH79tiQbe80*@oto$1$NomD&} zKd_&+8j6k*#Y5->u8b|CGmmItWBf>N*az?r$!36@wXi!F;V=3pyaPhOaF$>BNEwBn zJYaq}8pMS7#INUi%Q;uC`>jM<3WfV@zV{9Ywn>LoLE}I4J50U5+F}#7wLeX;NtuLZ zlG?n4;3j43)RzK~a@7jPA;k@%%w>`&&_{vWu75$5r90s%@y&4fV}fP_191_Kz_i_JS zyEV}9Uktg~g8S8~-+I?mFYCtRcgn-4$0IxxDhpU@9}Qq}x3@S;Jzm43^62jY4fb-T zeP(0ONbE!3VDa@SdJKGyApKU?B4?oY>o)gd32y2{qXz8A+Lk&NhFjD;{ULn46X^Uv z!biWrY*!fZg4f=ha-`_;UtVaHv|kl4S-sA@!wh^ zhE*F^>h@_L01!i-kndmB#X_s`l4=89bJ&_6#+zCz*?IN8I z+s@N@4S+9)V>upbV1w;Stg4!t{z2qO-N?GPatdif)nR%he7TOeJJyRysjHK&8WViml>sMyB%a zmH_fUUP*w=&G_O2d5vBB(?5D;I{w5x^Se1B=OS<(K6tK*&pfvaWd2ZXP&VJ^N;Ij4 zFjSksrBOEGPlOpXnv>&(0e(`E^9AjHZ*UcjoyFqFLnS749YOY(&i&E2*eC=w(aF*s zrrMdm{v&?-op!TN_^V9)6{a`)h|_vz1b0*;_QUgy;6>L54x7cQsQ5$r9jS%^IqatlmQ!eWniqVKnWGiX`_Qf@h29DeeK-ML&sTK19*IKgjVx|Fd zlE2$fC1p(6awIMCWidof{J!O9PiKkMUThl*GeEQesriO$lhg*=Zl_fvp~v(yL0#Q0 zWWDH{!;nt4hz}l-NLhyFE(cv|0$4)3i>%Lq&g-yB43}PmRT%v`SF`*z&FviBKs(uT zvt~zFNr;T-@aaN`5bV(LPSA?Nt|Rd^oj=^~;Z>KF<5LvCDn+j0S5d0%48)ZDbNBj> zBnrLXz97B48^jpVr2NeKas(>O(JC6 zDk2HwMwAx7yEn`%Fadw5DVpCCpfJ^Xe<)*d&re-CAZU;sI2kR0;J|U};l_}Ld< z_Ca9Mje^ikzw`a4$H2-pFXaO!eXGG(;+ws`NlT50;a7vr`*NVDfhK=Mc}Mz68s>Jk zO8fkmtdHt$QC?7|ilx9fZ$Q0MR6NVmnygO;HV1yC#g%?M^EQ0rejA}-F=I*_*bs>2 zMzytYP*fQeh}VJLqJaPU(2-W?U)j4v3@zP^z457*jo4;OFZ zH88QIHX7kFdo8hOp>3OQ1wC?jUfI{pTVzdu1J3`EGojLDIu)tX-f%xTz8OV}6?X%M ztzztN4{J*0FMYqo|Fqf_sMTeP!cf~1lJ zFlvkW?QR)->NTb{a;A@IA8k~SITypwPOK(Qm!9vDQmGNnr!0nx`=Ql+81#z_)X4aE zf2nm#r9uFW|9V_&)orGF6( z4o8%#qrwzignM`H{Ww!_bH7n$wb9XD%Hc&i#S)^!#25oqG>Y@u#iDKAaGI7T)u3SI zU`G8bVA@TabUO@Q{1V^)T?O91t03Q~x;2e%swW`00qnt4PiB>h%*WHzfU#x$K80=j zhtm{5c!qg;x&OrB`^2#Y%Z*Ihvpiy{J_h~5nCB@~qDsqQ^AH0KN5TGu*^^#ptJ|n5 zIlu)7a`1=&H}ocz!0t!ek0`9DwV4B9^X+D%1uEL09oD~!vs58E$^Gyo;`Rrt&CZs$ zbQ{ec5OnXbum57sb9KAnpu|p!IYX zO0*y_yn$RZvUHd5sao7*gI1P0e8BxxF; z)*3gVmElaQ;USF)_rAuZ0sc}kXV2Zxn*TjHmff7Q7MYBp< z(XDC(hY7@2yO%lJaJV!Q#_Nf{JdReCW5x@ZCX@R7!hdF-PCM#XVrgcCuLe1ii9R?J z3wkB&k7Y{8{d_tTjv6;r0y@foV`c-0A$#f{U@AWVbMCmzM_&hWmrVFqKHDVg-eIy` zy(?!E)RJ`m%plbC97SIOWU6$7-AV$ypirY|nz_1AA)s+`#qu~o2D%lDu^7*w@V}jU z4+M8;9634)-f-T~XHQz*Kr?Q8oz4Xy~Io;WIwJ9)k8MS&`9g(XF?%UeGSDFb}q<$!C z_l50PrHT{se*Nv~S~$>Uuy+-CfD7Tpwr26H1X7rpRbFSymnYZb6rYqXx90!thIQz_ zU%fOD(pCF3E;#a&SqZ2(ir~=*;X=|dwN;SocZ58b0h?v;Xws|1Kd$zxErfyahnY?C zq$LneAK`(04wB>XgPu_3HA~6LT2*I2@&*+8@6`NY7zl!;|9aojRc}4haeel;rdm|~ zjGkO!&k5Y=`M*a{4emv;`B}5~R666dH$&4diB_spPcS&DB6~EWUJkh=b%aM40P4m% z3TFh{7zoU&D>cU8XfBWyp0fMrL=P~IIX<8QP$ghU)wy?kg{O`}u4xZR7T8}FI zw^!dS!xHBD4+8l23Gz)xdoO(FCqEcEZX5O$9X}@|YlOwv{>7)3~+g8~n V7G`}|*gN1$MnVx>DP|P({{T}GvzPz? literal 0 HcmV?d00001 diff --git a/samples/openfl_hscript_class/src/Demo.hx b/samples/openfl_hscript_class/src/Demo.hx index a3180261..99271ff6 100644 --- a/samples/openfl_hscript_class/src/Demo.hx +++ b/samples/openfl_hscript_class/src/Demo.hx @@ -1,3 +1,4 @@ +import openfl.events.KeyboardEvent; import stage.Stage; import stage.StubStage; import stage.ScriptedStage; @@ -11,7 +12,7 @@ import openfl.utils.AssetType; class Demo extends Sprite { private var widgets:Array = []; - private var stageButtons:Array = []; + private var stageButtons:Array = []; private var callback:Array->Void; private var stuff:Array = []; private var limeToggle:CheapButton; @@ -20,7 +21,7 @@ class Demo extends Sprite public static var usingOpenFL(default, null):Bool = true; - var dirty:Bool = false; + var dirty:Bool = false; public function new(callback:Array->Void) { @@ -28,7 +29,7 @@ class Demo extends Sprite this.callback = callback; - initStageData(); + initStageData(); setStage(); makeButtons(); @@ -36,8 +37,18 @@ class Demo extends Sprite drawStage(); drawImages(); drawText(); + } + public function addListeners() { + stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); + } + + function onKeyDown(e:KeyboardEvent) { + if (curStage != null) + curStage.onKeyDown(e); + } + public function destroy() { for (w in widgets) @@ -55,18 +66,20 @@ class Demo extends Sprite removeChild(cast thing); } stuff.splice(0, stuff.length); - drawStage(); + drawStage(); drawImages(); drawText(); - initStageData(); - drawStageButtons(); + initStageData(); + drawStageButtons(); + + addListeners(); } private function makeButtons() { addModWidgets(); - drawStageButtons(); + drawStageButtons(); updateWidgets(); addToggle(); } @@ -105,69 +118,81 @@ class Demo extends Sprite } } - var stageData:Array = null; - function initStageData():Void { - stageData = []; - var stageClassNames:Array = ScriptedStage.listScriptClasses(); - - stageData.push(new StubStage()); - for (stageClassName in stageClassNames) { - var defaultStageId:String = 'STAGE_${Std.random(256)}'; - var stage:ScriptedStage = ScriptedStage.init(stageClassName, defaultStageId); - if (stage != null) { - stageData.push(stage); - } - } - } + var stageData:Array = null; - function listStages():Array { - return [for (stage in stageData) stage.stageId ]; - } + function initStageData():Void + { + stageData = []; + var stageClassNames:Array = ScriptedStage.listScriptClasses(); + + stageData.push(new StubStage()); + for (stageClassName in stageClassNames) + { + var defaultStageId:String = 'STAGE_${Std.random(256)}'; + var stage:ScriptedStage = ScriptedStage.init(stageClassName, defaultStageId); + if (stage != null) + { + stageData.push(stage); + } + } + } + + function listStages():Array + { + return [for (stage in stageData) stage.stageId]; + } function setStage(?stageId:String = 'stub'):Void { - if (curStage != null) { - removeChild(curStage); - curStage = null; - } - for (stage in stageData) { - if (stage.stageId == stageId) { - curStage = stage; - } - } + if (curStage != null) + { + removeChild(curStage); + curStage = null; + } + for (stage in stageData) + { + if (stage.stageId == stageId) + { + curStage = stage; + } + } } private function drawStage() { curStage.x = 5; curStage.y = 5; - curStage.create(); addChild(curStage); + curStage.create(); } - private function drawStageButtons() { - stageButtons = []; - for (stage in stageData) { - trace('STAGE BUTTON : ${stage.stageName} : ${stage.stageId} : ${stage}'); - var button = new CheapButton(stage.stageName, function() { - trace('Pressed button: ${stage.stageName}'); - setStage(stage.stageId); - refresh(); - }); - stageButtons.push(button); - stuff.push(button); - } - - var xx = 10 + 72 + 10; - for (button in stageButtons) { - button.x = xx; - button.y = 550; - // Make sure the buttons get cleaned up when reloading mods. - stuff.push(button); - addChild(button); - xx += 72 + 10; - } - } + private function drawStageButtons() + { + stageButtons = []; + for (stage in stageData) + { + trace('STAGE BUTTON : ${stage.stageName} : ${stage.stageId} : ${stage}'); + var button = new CheapButton(stage.stageName, function() + { + trace('Pressed button: ${stage.stageName}'); + setStage(stage.stageId); + refresh(); + }); + stageButtons.push(button); + stuff.push(button); + } + + var xx = 10 + 72 + 10; + for (button in stageButtons) + { + button.x = xx; + button.y = 550; + // Make sure the buttons get cleaned up when reloading mods. + stuff.push(button); + addChild(button); + xx += 72 + 10; + } + } private function addToggle() { diff --git a/samples/openfl_hscript_class/src/Main.hx b/samples/openfl_hscript_class/src/Main.hx index f1c5a15e..770ed034 100644 --- a/samples/openfl_hscript_class/src/Main.hx +++ b/samples/openfl_hscript_class/src/Main.hx @@ -12,17 +12,18 @@ class Main extends Sprite public function new() { super(); - // Initialize Polymod but load no mods - loadMods([]); + // Initialize Polymod but load no mods + loadMods([]); loadDemo(); - // test(); + // test(); } - function test() { - var defaultStageId:String = 'STAGE_${Std.random(256)}'; - var stage:ScriptedStage = ScriptedStage.init('BasicStage', defaultStageId); - stage.create(); - } + function test() + { + var defaultStageId:String = 'STAGE_${Std.random(256)}'; + var stage:ScriptedStage = ScriptedStage.init('BasicStage', defaultStageId); + stage.create(); + } private function loadDemo() { @@ -51,7 +52,7 @@ class Main extends Sprite ignoredFiles: Polymod.getDefaultIgnoreList(), framework: framework, assetPrefix: '', - useScriptedClasses: true, + useScriptedClasses: true, }); } diff --git a/samples/openfl_hscript_class/src/stage/ScriptedStage.hx b/samples/openfl_hscript_class/src/stage/ScriptedStage.hx index 0a8d0a91..2e4b82bd 100644 --- a/samples/openfl_hscript_class/src/stage/ScriptedStage.hx +++ b/samples/openfl_hscript_class/src/stage/ScriptedStage.hx @@ -3,18 +3,18 @@ package stage; import polymod.hscript.HScriptable; @:hscriptClass -class ScriptedStage extends Stage implements HScriptable { +class ScriptedStage extends Stage implements HScriptable +{ } - /* -``` -class BasicStage extends Stage { - public override function create():Void { - super.create(); - // Do custom stuff... - } -} -``` + ``` + class BasicStage extends Stage { + public override function create():Void { + super.create(); + // Do custom stuff... + } + } + ``` -var currentStage:Stage = ScriptedStage.init('BasicStage', []); -*/ \ No newline at end of file + var currentStage:Stage = ScriptedStage.init('BasicStage', []); + */ diff --git a/samples/openfl_hscript_class/src/stage/Stage.hx b/samples/openfl_hscript_class/src/stage/Stage.hx index af2fdabd..e5dcc5ce 100644 --- a/samples/openfl_hscript_class/src/stage/Stage.hx +++ b/samples/openfl_hscript_class/src/stage/Stage.hx @@ -1,30 +1,44 @@ package stage; +import openfl.events.KeyboardEvent; +import openfl.events.Event; import openfl.display.Sprite; import openfl.display.Bitmap; import openfl.display.BitmapData; class Stage extends Sprite { - var test:Stage; + var test:Stage; public var stageId:String = "UNKNOWN"; public var stageName:String = "UNKNOWN"; public function new(id:String) { - super(); - trace('Initializing Stage: $id'); - // No-op constructor. - this.stageId = id; + super(); + trace('Initializing Stage: $id'); + this.stageId = id; + this.stageName = id; + + addEventListener(Event.ENTER_FRAME, onUpdate); + } + + static final MAGENTA = 0xFFFF00FF; + + public function create():Void + { + // Clear all children so we don't add a sprite twice. + removeChildren(); + + var baseBg = new Bitmap(new BitmapData(480, 360, false, MAGENTA)); + addChild(baseBg); } - static final MAGENTA = 0xFFFF00FF; - public function create() { - // Clear all children so we don't add a sprite twice. - removeChildren(); + public function onUpdate(event:Event):Void + { + //trace('onUpdate'); + } - var baseBg = new Bitmap(new BitmapData(480, 360, false, MAGENTA)); - addChild(baseBg); + public function onKeyDown(event:KeyboardEvent):Void { } } diff --git a/samples/openfl_hscript_class/src/stage/StubStage.hx b/samples/openfl_hscript_class/src/stage/StubStage.hx index fab58cc7..8cc0c3d6 100644 --- a/samples/openfl_hscript_class/src/stage/StubStage.hx +++ b/samples/openfl_hscript_class/src/stage/StubStage.hx @@ -1,14 +1,15 @@ package stage; -import openfl.Assets; +class StubStage extends Stage +{ + public function new() + { + super('stub'); + this.stageName = "Stub Stage"; + } -class StubStage extends Stage { - public function new() { - super('stub'); - this.stageName = "Stub Stage"; - } - - public override function create() { - super.create(); - } -} \ No newline at end of file + public override function create() + { + super.create(); + } +}