diff --git a/bsp/pico-dev/MDK/mdk/template.uvoptx b/bsp/pico-dev/MDK/mdk/template.uvoptx
index 975ff124a..ae86225d4 100644
--- a/bsp/pico-dev/MDK/mdk/template.uvoptx
+++ b/bsp/pico-dev/MDK/mdk/template.uvoptx
@@ -770,8 +770,8 @@
- D:\Users\lyon\AppData\Local\Arm\Packs\Keil\ARM_Compiler\1.6.3\EventRecorder.scvd
- Keil.ARM_Compiler.1.6.3
+ D:\Users\lyon\AppData\Local\Arm\Packs\Keil\ARM_Compiler\1.7.2\EventRecorder.scvd
+ Keil.ARM_Compiler.1.7.2
1
@@ -1668,17 +1668,29 @@
0
0
+
+ 5
+ 68
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c
+ PikaStdData_Utils.c
+ 0
+ 0
+
pikascript-api
- 1
+ 0
0
0
0
6
- 68
+ 69
1
0
0
@@ -1690,7 +1702,7 @@
6
- 69
+ 70
1
0
0
@@ -1702,7 +1714,7 @@
6
- 70
+ 71
1
0
0
@@ -1714,7 +1726,7 @@
6
- 71
+ 72
1
0
0
@@ -1726,7 +1738,7 @@
6
- 72
+ 73
1
0
0
@@ -1738,7 +1750,7 @@
6
- 73
+ 74
1
0
0
@@ -1750,7 +1762,7 @@
6
- 74
+ 75
1
0
0
@@ -1762,7 +1774,7 @@
6
- 75
+ 76
1
0
0
@@ -1774,7 +1786,7 @@
6
- 76
+ 77
1
0
0
@@ -1786,7 +1798,7 @@
6
- 77
+ 78
1
0
0
@@ -1798,7 +1810,7 @@
6
- 78
+ 79
1
0
0
@@ -1810,7 +1822,7 @@
6
- 79
+ 80
1
0
0
@@ -1822,7 +1834,7 @@
6
- 80
+ 81
1
0
0
@@ -1834,7 +1846,7 @@
6
- 81
+ 82
1
0
0
@@ -1846,7 +1858,7 @@
6
- 82
+ 83
1
0
0
@@ -1858,7 +1870,7 @@
6
- 83
+ 84
1
0
0
@@ -1870,7 +1882,7 @@
6
- 84
+ 85
1
0
0
@@ -1882,7 +1894,7 @@
6
- 85
+ 86
1
0
0
@@ -1892,17 +1904,41 @@
0
0
+
+ 6
+ 87
+ 1
+ 0
+ 0
+ 0
+ ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c
+ PikaStdData_dict_keys-api.c
+ 0
+ 0
+
+
+ 6
+ 88
+ 1
+ 0
+ 0
+ 0
+ ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c
+ PikaStdData_Utils-api.c
+ 0
+ 0
+
Python
- 1
+ 0
0
0
0
7
- 86
+ 89
5
0
0
diff --git a/bsp/pico-dev/MDK/mdk/template.uvprojx b/bsp/pico-dev/MDK/mdk/template.uvprojx
index b522ec125..42d5dfbbc 100644
--- a/bsp/pico-dev/MDK/mdk/template.uvprojx
+++ b/bsp/pico-dev/MDK/mdk/template.uvprojx
@@ -16,7 +16,7 @@
ARMCM0P_MPU
ARM
- ARM.CMSIS.5.8.0
+ ARM.CMSIS.5.9.0
http://www.keil.com/pack/
IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0+") CLOCK(12000000) ESEL ELITTLE
@@ -186,6 +186,7 @@
0
0
0
+ 0
0
0
8
@@ -955,6 +956,11 @@
1
..\..\..\..\package\PikaStdLib\PikaStdTask_Task.c
+
+ PikaStdData_Utils.c
+ 1
+ ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c
+
@@ -1050,6 +1056,16 @@
1
..\..\pikascript\pikascript-api\PikaStdTask-api.c
+
+ PikaStdData_dict_keys-api.c
+ 1
+ ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c
+
+
+ PikaStdData_Utils-api.c
+ 1
+ ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c
+
@@ -1083,7 +1099,7 @@
ARMCM0P_MPU
ARM
- ARM.CMSIS.5.8.0
+ ARM.CMSIS.5.9.0
http://www.keil.com/pack/
IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0+") CLOCK(12000000) ESEL ELITTLE
@@ -1253,6 +1269,7 @@
0
0
0
+ 0
0
0
8
@@ -2022,6 +2039,11 @@
1
..\..\..\..\package\PikaStdLib\PikaStdTask_Task.c
+
+ PikaStdData_Utils.c
+ 1
+ ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c
+
@@ -2117,6 +2139,16 @@
1
..\..\pikascript\pikascript-api\PikaStdTask-api.c
+
+ PikaStdData_dict_keys-api.c
+ 1
+ ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c
+
+
+ PikaStdData_Utils-api.c
+ 1
+ ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c
+
@@ -2150,7 +2182,7 @@
ARMCM0P_MPU
ARM
- ARM.CMSIS.5.8.0
+ ARM.CMSIS.5.9.0
http://www.keil.com/pack/
IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0+") CLOCK(12000000) ESEL ELITTLE
@@ -2320,6 +2352,7 @@
0
0
0
+ 0
0
0
8
@@ -3088,6 +3121,11 @@
1
..\..\..\..\package\PikaStdLib\PikaStdTask_Task.c
+
+ PikaStdData_Utils.c
+ 1
+ ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c
+
@@ -3183,6 +3221,16 @@
1
..\..\pikascript\pikascript-api\PikaStdTask-api.c
+
+ PikaStdData_dict_keys-api.c
+ 1
+ ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c
+
+
+ PikaStdData_Utils-api.c
+ 1
+ ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c
+
@@ -3210,13 +3258,13 @@
AC6-DebugInSRAM-printf
0x4
ARM-ADS
- 6160000::V6.16::ARMCLANG
+ 6180000::V6.18::ARMCLANG
1
ARMCM0P_MPU
ARM
- ARM.CMSIS.5.8.0
+ ARM.CMSIS.5.9.0
http://www.keil.com/pack/
IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0+") CLOCK(12000000) ESEL ELITTLE
@@ -3386,6 +3434,7 @@
0
0
0
+ 0
0
0
8
@@ -4154,6 +4203,11 @@
1
..\..\..\..\package\PikaStdLib\PikaStdTask_Task.c
+
+ PikaStdData_Utils.c
+ 1
+ ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c
+
@@ -4249,6 +4303,16 @@
1
..\..\pikascript\pikascript-api\PikaStdTask-api.c
+
+ PikaStdData_dict_keys-api.c
+ 1
+ ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c
+
+
+ PikaStdData_Utils-api.c
+ 1
+ ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c
+
@@ -4326,8 +4390,8 @@
RTE\Compiler\EventRecorderConf.h
-
-
+
+
diff --git a/bsp/pico-dev/pikascript/PikaObj.pyi b/bsp/pico-dev/pikascript/PikaObj.pyi
index 3dba31fec..a29db1feb 100644
--- a/bsp/pico-dev/pikascript/PikaObj.pyi
+++ b/bsp/pico-dev/pikascript/PikaObj.pyi
@@ -1,19 +1,6 @@
-#api
-class TinyObj:
- pass
-
-
-class BaseObj(TinyObj):
- pass
-
-class pointer:
- pass
-
-def print(val: any):
- pass
-
+class TinyObj:...
+class BaseObj(TinyObj):...
+class pointer:...
+class any:...
def printNoEnd(val: any):
pass
-
-def taskLoop(task: any):
- pass
diff --git a/bsp/pico-dev/pikascript/PikaStdData.pyi b/bsp/pico-dev/pikascript/PikaStdData.pyi
index c04006fc1..792373ea0 100644
--- a/bsp/pico-dev/pikascript/PikaStdData.pyi
+++ b/bsp/pico-dev/pikascript/PikaStdData.pyi
@@ -1,98 +1,78 @@
-#api
from PikaObj import *
class List(TinyObj):
- def __init__(self):
- pass
-
+ def __init__(self): ...
# add an arg after the end of list
- def append(self, arg: any):
- pass
-
+ def append(self, arg: any): ...
# get an arg by the index
- def get(self, i: int) -> any:
- pass
-
+ def get(self, i: int) -> any: ...
# set an arg by the index
- def set(self, i: int, arg: any):
- pass
-
+ def set(self, i: int, arg: any): ...
# get the length of list
- def len(self) -> int:
- pass
+ def len(self) -> int: ...
# support for loop
- def __iter__(self) -> any:
- pass
-
+ def __iter__(self) -> any: ...
# support for loop
- def __next__(self) -> any:
- pass
-
+ def __next__(self) -> any: ...
# support list[] = val
- def __set__(self, __key: any, __val: any):
- pass
+ def __set__(self, __key: any, __val: any): ...
+ # support val = list[]
+ def __get__(self, __key: any) -> any: ...
+ def __del__(self): ...
- # support val = list[]
- def __get__(self, __key: any) -> any:
- pass
class Dict(TinyObj):
- def __init__(self):
- pass
-
+ def __init__(self): ...
# get an arg by the key
- def get(self, key: str) -> any:
- pass
-
+ def get(self, key: str) -> any: ...
# set an arg by the key
- def set(self, key: str, arg: any):
- pass
-
+ def set(self, key: str, arg: any): ...
# remove an arg by the key
- def remove(self, key: str):
- pass
-
- def __iter__(self) -> any:
- pass
-
- def __next__(self) -> any:
- pass
-
+ def remove(self, key: str): ...
+ def __iter__(self) -> any: ...
+ def __next__(self) -> any: ...
# support dict[] = val
- def __set__(self, __key: any, __val: any):
- pass
+ def __set__(self, __key: any, __val: any): ...
+ # support val = dict[]
+ def __get__(self, __key: any) -> any: ...
+ def __del__(self): ...
+ def keys(self) -> dict_keys: ...
- # support val = dict[]
- def __get__(self, __key: any) -> any:
- pass
+
+class dict_keys(TinyObj):
+ def __iter__(self) -> any: ...
+ def __next__(self) -> any: ...
class String(TinyObj):
- def __init__(self, s:str):
- pass
-
- def set(self, s:str):
- pass
-
- def get(self)->str:
- pass
-
- def __iter__(self) -> any:
- pass
-
- def __next__(self) -> any:
- pass
-
+ def __init__(self, s: str): ...
+ def set(self, s: str): ...
+ def get(self) -> str: ...
+ def __iter__(self) -> any: ...
+ def __next__(self) -> any: ...
# support string[] = val
- def __set__(self, __key: any, __val: any):
- pass
+ def __set__(self, __key: any, __val: any): ...
+ # support val = string[]
+ def __get__(self, __key: any) -> any: ...
+ # support str()
+ def __str__(self) -> str: ...
+
+ def startwith(self, prefix: str) -> int: ...
+ def endwith(self, suffix: str) -> int: ...
+ def isdigit(self) -> int: ...
+ def islower(self) -> int: ...
+ def isalnum(self) -> int: ...
+ def isalpha(self) -> int: ...
+ def isspace(self) -> int: ...
+ def split(self, s: str) -> List: ...
- # support val = string[]
- def __get__(self, __key: any) -> any:
- pass
class ByteArray(List):
# convert a string to ByteArray
- def fromString(self, s:str):
- pass
+ def fromString(self, s: str): ...
+
+
+class Utils(TinyObj):
+ # convert a int to bytes
+ def int_to_bytes(self, val: int) -> bytes: ...
diff --git a/bsp/pico-dev/pikascript/PikaStdLib.pyi b/bsp/pico-dev/pikascript/PikaStdLib.pyi
index 65848e400..ab722d45c 100644
--- a/bsp/pico-dev/pikascript/PikaStdLib.pyi
+++ b/bsp/pico-dev/pikascript/PikaStdLib.pyi
@@ -1,33 +1,45 @@
-#api
from PikaObj import *
+
class MemChecker(TinyObj):
- def max(self):...
- def now(self):...
- def getMax(self) -> float:...
- def getNow(self) -> float:...
- def resetMax(self):...
+ def max(self): ...
+ def now(self): ...
+ def getMax(self) -> float: ...
+ def getNow(self) -> float: ...
+ def resetMax(self): ...
class SysObj(BaseObj):
- def type(self, arg: any):...
- def remove(self, argPath: str):...
- def int(self, arg: any) -> int:...
- def float(self, arg: any) -> float:...
- def str(self, arg: any) -> str:...
- def iter(self, arg: any) -> any:...
- def range(self, a1: int, a2: int) -> any:...
- def __set__(self, obj: any, key: any, val: any, obj_str: str):...
- def __get__(self, obj: any, key: any) -> any:...
- def len(self, arg:any) -> int:...
- def list(self) -> any:...
- def dict(self) -> any:...
+ def type(self, arg: any): ...
+ def remove(self, argPath: str): ...
+ def int(self, arg: any) -> int: ...
+ def float(self, arg: any) -> float: ...
+ def str(self, arg: any) -> str: ...
+ def iter(self, arg: any) -> any: ...
+ def range(self, a1: int, a2: int) -> any: ...
+ def print(self, *val): ...
+ def printNoEnd(self, val: any): ...
+ def __set__(self, obj: any, key: any, val: any, obj_str: str): ...
+ def __get__(self, obj: any, key: any) -> any: ...
+ def __slice__(self, obj: any, start: any, end: any, step: int) -> any: ...
+ def len(self, arg: any) -> int: ...
+ def list(self) -> any: ...
+ def dict(self) -> any: ...
+ def hex(self, val: int) -> str: ...
+ def ord(self, val: str) -> int: ...
+ def chr(self, val: int) -> str: ...
+ def bytes(self, val: any) -> bytes: ...
+ def cformat(self, fmt: str, *var) -> str: ...
+ def id(self, obj: any) -> int: ...
+
class RangeObj(TinyObj):
- def __next__(self) -> any:...
+ def __next__(self) -> any: ...
class StringObj(TinyObj):
- def __next__(self) -> any:...
+ def __next__(self) -> any: ...
-class PikaObj(TinyObj):...
+
+class PikaObj(TinyObj):
+ ...
diff --git a/bsp/pico-dev/pikascript/PikaStdTask.pyi b/bsp/pico-dev/pikascript/PikaStdTask.pyi
index 1d2ee16dc..8d292eb23 100644
--- a/bsp/pico-dev/pikascript/PikaStdTask.pyi
+++ b/bsp/pico-dev/pikascript/PikaStdTask.pyi
@@ -1,9 +1,10 @@
#api
from PikaObj import *
import PikaStdData
+import PikaStdLib
-class Task(TinyObj):
+class Task(PikaStdLib.SysObj):
calls = PikaStdData.List()
def __init__(self):
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c
index 33379babb..19b03e93a 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c
@@ -27,12 +27,24 @@ void PikaStdData_StringMethod(PikaObj *self, Args *args){
method_returnArg(args, res);
}
+void PikaStdData_UtilsMethod(PikaObj *self, Args *args){
+ Arg* res = PikaStdData_Utils(self);
+ method_returnArg(args, res);
+}
+
+void PikaStdData_dict_keysMethod(PikaObj *self, Args *args){
+ Arg* res = PikaStdData_dict_keys(self);
+ method_returnArg(args, res);
+}
+
PikaObj *New_PikaStdData(Args *args){
PikaObj *self = New_TinyObj(args);
class_defineConstructor(self, "ByteArray()->any", PikaStdData_ByteArrayMethod);
class_defineConstructor(self, "Dict()->any", PikaStdData_DictMethod);
class_defineConstructor(self, "List()->any", PikaStdData_ListMethod);
class_defineConstructor(self, "String()->any", PikaStdData_StringMethod);
+ class_defineConstructor(self, "Utils()->any", PikaStdData_UtilsMethod);
+ class_defineConstructor(self, "dict_keys()->any", PikaStdData_dict_keysMethod);
return self;
}
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h
index c301eae08..ef2547dcc 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h
@@ -13,5 +13,7 @@ Arg* PikaStdData_ByteArray(PikaObj *self);
Arg* PikaStdData_Dict(PikaObj *self);
Arg* PikaStdData_List(PikaObj *self);
Arg* PikaStdData_String(PikaObj *self);
+Arg* PikaStdData_Utils(PikaObj *self);
+Arg* PikaStdData_dict_keys(PikaObj *self);
#endif
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c
index 976245b6d..4b98ed10a 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c
@@ -7,6 +7,10 @@
#include
#include "BaseObj.h"
+void PikaStdData_Dict___del__Method(PikaObj *self, Args *args){
+ PikaStdData_Dict___del__(self);
+}
+
void PikaStdData_Dict___get__Method(PikaObj *self, Args *args){
Arg* __key = args_getArg(args, "__key");
Arg* res = PikaStdData_Dict___get__(self, __key);
@@ -39,6 +43,11 @@ void PikaStdData_Dict_getMethod(PikaObj *self, Args *args){
method_returnArg(args, res);
}
+void PikaStdData_Dict_keysMethod(PikaObj *self, Args *args){
+ PikaObj* res = PikaStdData_Dict_keys(self);
+ method_returnObj(args, res);
+}
+
void PikaStdData_Dict_removeMethod(PikaObj *self, Args *args){
char* key = args_getStr(args, "key");
PikaStdData_Dict_remove(self, key);
@@ -52,12 +61,14 @@ void PikaStdData_Dict_setMethod(PikaObj *self, Args *args){
PikaObj *New_PikaStdData_Dict(Args *args){
PikaObj *self = New_TinyObj(args);
+ class_defineMethod(self, "__del__()", PikaStdData_Dict___del__Method);
class_defineMethod(self, "__get__(__key:any)->any", PikaStdData_Dict___get__Method);
class_defineMethod(self, "__init__()", PikaStdData_Dict___init__Method);
class_defineMethod(self, "__iter__()->any", PikaStdData_Dict___iter__Method);
class_defineMethod(self, "__next__()->any", PikaStdData_Dict___next__Method);
class_defineMethod(self, "__set__(__key:any,__val:any)", PikaStdData_Dict___set__Method);
class_defineMethod(self, "get(key:str)->any", PikaStdData_Dict_getMethod);
+ class_defineMethod(self, "keys()->dict_keys", PikaStdData_Dict_keysMethod);
class_defineMethod(self, "remove(key:str)", PikaStdData_Dict_removeMethod);
class_defineMethod(self, "set(key:str,arg:any)", PikaStdData_Dict_setMethod);
return self;
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h
index 2d1336f40..1c74b5f77 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h
@@ -9,12 +9,14 @@
PikaObj *New_PikaStdData_Dict(Args *args);
+void PikaStdData_Dict___del__(PikaObj *self);
Arg* PikaStdData_Dict___get__(PikaObj *self, Arg* __key);
void PikaStdData_Dict___init__(PikaObj *self);
Arg* PikaStdData_Dict___iter__(PikaObj *self);
Arg* PikaStdData_Dict___next__(PikaObj *self);
void PikaStdData_Dict___set__(PikaObj *self, Arg* __key, Arg* __val);
Arg* PikaStdData_Dict_get(PikaObj *self, char* key);
+PikaObj* PikaStdData_Dict_keys(PikaObj *self);
void PikaStdData_Dict_remove(PikaObj *self, char* key);
void PikaStdData_Dict_set(PikaObj *self, Arg* arg, char* key);
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c
index ee840e62d..1eba3357c 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c
@@ -7,6 +7,10 @@
#include
#include "BaseObj.h"
+void PikaStdData_List___del__Method(PikaObj *self, Args *args){
+ PikaStdData_List___del__(self);
+}
+
void PikaStdData_List___get__Method(PikaObj *self, Args *args){
Arg* __key = args_getArg(args, "__key");
Arg* res = PikaStdData_List___get__(self, __key);
@@ -57,6 +61,7 @@ void PikaStdData_List_setMethod(PikaObj *self, Args *args){
PikaObj *New_PikaStdData_List(Args *args){
PikaObj *self = New_TinyObj(args);
+ class_defineMethod(self, "__del__()", PikaStdData_List___del__Method);
class_defineMethod(self, "__get__(__key:any)->any", PikaStdData_List___get__Method);
class_defineMethod(self, "__init__()", PikaStdData_List___init__Method);
class_defineMethod(self, "__iter__()->any", PikaStdData_List___iter__Method);
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h
index c3e7049db..5d8751ad3 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h
@@ -9,6 +9,7 @@
PikaObj *New_PikaStdData_List(Args *args);
+void PikaStdData_List___del__(PikaObj *self);
Arg* PikaStdData_List___get__(PikaObj *self, Arg* __key);
void PikaStdData_List___init__(PikaObj *self);
Arg* PikaStdData_List___iter__(PikaObj *self);
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c
index cfad2f6cf..7d25506c3 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c
@@ -34,16 +34,64 @@ void PikaStdData_String___set__Method(PikaObj *self, Args *args){
PikaStdData_String___set__(self, __key, __val);
}
+void PikaStdData_String___str__Method(PikaObj *self, Args *args){
+ char* res = PikaStdData_String___str__(self);
+ method_returnStr(args, res);
+}
+
+void PikaStdData_String_endwithMethod(PikaObj *self, Args *args){
+ char* suffix = args_getStr(args, "suffix");
+ int res = PikaStdData_String_endwith(self, suffix);
+ method_returnInt(args, res);
+}
+
void PikaStdData_String_getMethod(PikaObj *self, Args *args){
char* res = PikaStdData_String_get(self);
method_returnStr(args, res);
}
+void PikaStdData_String_isalnumMethod(PikaObj *self, Args *args){
+ int res = PikaStdData_String_isalnum(self);
+ method_returnInt(args, res);
+}
+
+void PikaStdData_String_isalphaMethod(PikaObj *self, Args *args){
+ int res = PikaStdData_String_isalpha(self);
+ method_returnInt(args, res);
+}
+
+void PikaStdData_String_isdigitMethod(PikaObj *self, Args *args){
+ int res = PikaStdData_String_isdigit(self);
+ method_returnInt(args, res);
+}
+
+void PikaStdData_String_islowerMethod(PikaObj *self, Args *args){
+ int res = PikaStdData_String_islower(self);
+ method_returnInt(args, res);
+}
+
+void PikaStdData_String_isspaceMethod(PikaObj *self, Args *args){
+ int res = PikaStdData_String_isspace(self);
+ method_returnInt(args, res);
+}
+
void PikaStdData_String_setMethod(PikaObj *self, Args *args){
char* s = args_getStr(args, "s");
PikaStdData_String_set(self, s);
}
+void PikaStdData_String_splitMethod(PikaObj *self, Args *args){
+ char* s = args_getStr(args, "s");
+ PikaObj* res = PikaStdData_String_split(self, s);
+ method_returnObj(args, res);
+}
+
+void PikaStdData_String_startwithMethod(PikaObj *self, Args *args){
+ char* prefix = args_getStr(args, "prefix");
+ int res = PikaStdData_String_startwith(self, prefix);
+ method_returnInt(args, res);
+}
+
PikaObj *New_PikaStdData_String(Args *args){
PikaObj *self = New_TinyObj(args);
class_defineMethod(self, "__get__(__key:any)->any", PikaStdData_String___get__Method);
@@ -51,8 +99,17 @@ PikaObj *New_PikaStdData_String(Args *args){
class_defineMethod(self, "__iter__()->any", PikaStdData_String___iter__Method);
class_defineMethod(self, "__next__()->any", PikaStdData_String___next__Method);
class_defineMethod(self, "__set__(__key:any,__val:any)", PikaStdData_String___set__Method);
+ class_defineMethod(self, "__str__()->str", PikaStdData_String___str__Method);
+ class_defineMethod(self, "endwith(suffix:str)->int", PikaStdData_String_endwithMethod);
class_defineMethod(self, "get()->str", PikaStdData_String_getMethod);
+ class_defineMethod(self, "isalnum()->int", PikaStdData_String_isalnumMethod);
+ class_defineMethod(self, "isalpha()->int", PikaStdData_String_isalphaMethod);
+ class_defineMethod(self, "isdigit()->int", PikaStdData_String_isdigitMethod);
+ class_defineMethod(self, "islower()->int", PikaStdData_String_islowerMethod);
+ class_defineMethod(self, "isspace()->int", PikaStdData_String_isspaceMethod);
class_defineMethod(self, "set(s:str)", PikaStdData_String_setMethod);
+ class_defineMethod(self, "split(s:str)->List", PikaStdData_String_splitMethod);
+ class_defineMethod(self, "startwith(prefix:str)->int", PikaStdData_String_startwithMethod);
return self;
}
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h
index 5dbd1540b..694f37c36 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h
@@ -14,7 +14,16 @@ void PikaStdData_String___init__(PikaObj *self, char* s);
Arg* PikaStdData_String___iter__(PikaObj *self);
Arg* PikaStdData_String___next__(PikaObj *self);
void PikaStdData_String___set__(PikaObj *self, Arg* __key, Arg* __val);
+char* PikaStdData_String___str__(PikaObj *self);
+int PikaStdData_String_endwith(PikaObj *self, char* suffix);
char* PikaStdData_String_get(PikaObj *self);
+int PikaStdData_String_isalnum(PikaObj *self);
+int PikaStdData_String_isalpha(PikaObj *self);
+int PikaStdData_String_isdigit(PikaObj *self);
+int PikaStdData_String_islower(PikaObj *self);
+int PikaStdData_String_isspace(PikaObj *self);
void PikaStdData_String_set(PikaObj *self, char* s);
+PikaObj* PikaStdData_String_split(PikaObj *self, char* s);
+int PikaStdData_String_startwith(PikaObj *self, char* prefix);
#endif
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils-api.c
new file mode 100644
index 000000000..97ccbec68
--- /dev/null
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils-api.c
@@ -0,0 +1,24 @@
+/* ******************************** */
+/* Warning! Don't modify this file! */
+/* ******************************** */
+#include "PikaStdData_Utils.h"
+#include "TinyObj.h"
+#include
+#include
+#include "BaseObj.h"
+
+void PikaStdData_Utils_int_to_bytesMethod(PikaObj *self, Args *args){
+ int val = args_getInt(args, "val");
+ Arg* res = PikaStdData_Utils_int_to_bytes(self, val);
+ method_returnArg(args, res);
+}
+
+PikaObj *New_PikaStdData_Utils(Args *args){
+ PikaObj *self = New_TinyObj(args);
+ class_defineMethod(self, "int_to_bytes(val:int)->bytes", PikaStdData_Utils_int_to_bytesMethod);
+ return self;
+}
+
+Arg *PikaStdData_Utils(PikaObj *self){
+ return obj_newObjInPackage(New_PikaStdData_Utils);
+}
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils.h
new file mode 100644
index 000000000..d718c754d
--- /dev/null
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils.h
@@ -0,0 +1,14 @@
+/* ******************************** */
+/* Warning! Don't modify this file! */
+/* ******************************** */
+#ifndef __PikaStdData_Utils__H
+#define __PikaStdData_Utils__H
+#include
+#include
+#include "PikaObj.h"
+
+PikaObj *New_PikaStdData_Utils(Args *args);
+
+Arg* PikaStdData_Utils_int_to_bytes(PikaObj *self, int val);
+
+#endif
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys-api.c
new file mode 100644
index 000000000..cd7055719
--- /dev/null
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys-api.c
@@ -0,0 +1,29 @@
+/* ******************************** */
+/* Warning! Don't modify this file! */
+/* ******************************** */
+#include "PikaStdData_dict_keys.h"
+#include "TinyObj.h"
+#include
+#include
+#include "BaseObj.h"
+
+void PikaStdData_dict_keys___iter__Method(PikaObj *self, Args *args){
+ Arg* res = PikaStdData_dict_keys___iter__(self);
+ method_returnArg(args, res);
+}
+
+void PikaStdData_dict_keys___next__Method(PikaObj *self, Args *args){
+ Arg* res = PikaStdData_dict_keys___next__(self);
+ method_returnArg(args, res);
+}
+
+PikaObj *New_PikaStdData_dict_keys(Args *args){
+ PikaObj *self = New_TinyObj(args);
+ class_defineMethod(self, "__iter__()->any", PikaStdData_dict_keys___iter__Method);
+ class_defineMethod(self, "__next__()->any", PikaStdData_dict_keys___next__Method);
+ return self;
+}
+
+Arg *PikaStdData_dict_keys(PikaObj *self){
+ return obj_newObjInPackage(New_PikaStdData_dict_keys);
+}
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys.h
new file mode 100644
index 000000000..12cfa64c0
--- /dev/null
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys.h
@@ -0,0 +1,15 @@
+/* ******************************** */
+/* Warning! Don't modify this file! */
+/* ******************************** */
+#ifndef __PikaStdData_dict_keys__H
+#define __PikaStdData_dict_keys__H
+#include
+#include
+#include "PikaObj.h"
+
+PikaObj *New_PikaStdData_dict_keys(Args *args);
+
+Arg* PikaStdData_dict_keys___iter__(PikaObj *self);
+Arg* PikaStdData_dict_keys___next__(PikaObj *self);
+
+#endif
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c
index 92765e533..5973a2835 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c
@@ -8,12 +8,12 @@
#include "BaseObj.h"
void PikaStdLib_MemChecker_getMaxMethod(PikaObj *self, Args *args){
- float res = PikaStdLib_MemChecker_getMax(self);
+ double res = PikaStdLib_MemChecker_getMax(self);
method_returnFloat(args, res);
}
void PikaStdLib_MemChecker_getNowMethod(PikaObj *self, Args *args){
- float res = PikaStdLib_MemChecker_getNow(self);
+ double res = PikaStdLib_MemChecker_getNow(self);
method_returnFloat(args, res);
}
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h
index c673e9c9f..3c08601ff 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h
@@ -9,8 +9,8 @@
PikaObj *New_PikaStdLib_MemChecker(Args *args);
-float PikaStdLib_MemChecker_getMax(PikaObj *self);
-float PikaStdLib_MemChecker_getNow(PikaObj *self);
+double PikaStdLib_MemChecker_getMax(PikaObj *self);
+double PikaStdLib_MemChecker_getNow(PikaObj *self);
void PikaStdLib_MemChecker_max(PikaObj *self);
void PikaStdLib_MemChecker_now(PikaObj *self);
void PikaStdLib_MemChecker_resetMax(PikaObj *self);
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c
index b25719e4f..3410cad81 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c
@@ -22,6 +22,34 @@ void PikaStdLib_SysObj___set__Method(PikaObj *self, Args *args){
PikaStdLib_SysObj___set__(self, key, obj, obj_str, val);
}
+void PikaStdLib_SysObj___slice__Method(PikaObj *self, Args *args){
+ Arg* end = args_getArg(args, "end");
+ Arg* obj = args_getArg(args, "obj");
+ Arg* start = args_getArg(args, "start");
+ int step = args_getInt(args, "step");
+ Arg* res = PikaStdLib_SysObj___slice__(self, end, obj, start, step);
+ method_returnArg(args, res);
+}
+
+void PikaStdLib_SysObj_bytesMethod(PikaObj *self, Args *args){
+ Arg* val = args_getArg(args, "val");
+ Arg* res = PikaStdLib_SysObj_bytes(self, val);
+ method_returnArg(args, res);
+}
+
+void PikaStdLib_SysObj_cformatMethod(PikaObj *self, Args *args){
+ char* fmt = args_getStr(args, "fmt");
+ PikaTuple* var = args_getPtr(args, "var");
+ char* res = PikaStdLib_SysObj_cformat(self, fmt, var);
+ method_returnStr(args, res);
+}
+
+void PikaStdLib_SysObj_chrMethod(PikaObj *self, Args *args){
+ int val = args_getInt(args, "val");
+ char* res = PikaStdLib_SysObj_chr(self, val);
+ method_returnStr(args, res);
+}
+
void PikaStdLib_SysObj_dictMethod(PikaObj *self, Args *args){
Arg* res = PikaStdLib_SysObj_dict(self);
method_returnArg(args, res);
@@ -29,10 +57,22 @@ void PikaStdLib_SysObj_dictMethod(PikaObj *self, Args *args){
void PikaStdLib_SysObj_floatMethod(PikaObj *self, Args *args){
Arg* arg = args_getArg(args, "arg");
- float res = PikaStdLib_SysObj_float(self, arg);
+ double res = PikaStdLib_SysObj_float(self, arg);
method_returnFloat(args, res);
}
+void PikaStdLib_SysObj_hexMethod(PikaObj *self, Args *args){
+ int val = args_getInt(args, "val");
+ char* res = PikaStdLib_SysObj_hex(self, val);
+ method_returnStr(args, res);
+}
+
+void PikaStdLib_SysObj_idMethod(PikaObj *self, Args *args){
+ Arg* obj = args_getArg(args, "obj");
+ int res = PikaStdLib_SysObj_id(self, obj);
+ method_returnInt(args, res);
+}
+
void PikaStdLib_SysObj_intMethod(PikaObj *self, Args *args){
Arg* arg = args_getArg(args, "arg");
int res = PikaStdLib_SysObj_int(self, arg);
@@ -56,6 +96,22 @@ void PikaStdLib_SysObj_listMethod(PikaObj *self, Args *args){
method_returnArg(args, res);
}
+void PikaStdLib_SysObj_ordMethod(PikaObj *self, Args *args){
+ char* val = args_getStr(args, "val");
+ int res = PikaStdLib_SysObj_ord(self, val);
+ method_returnInt(args, res);
+}
+
+void PikaStdLib_SysObj_printMethod(PikaObj *self, Args *args){
+ PikaTuple* val = args_getPtr(args, "val");
+ PikaStdLib_SysObj_print(self, val);
+}
+
+void PikaStdLib_SysObj_printNoEndMethod(PikaObj *self, Args *args){
+ Arg* val = args_getArg(args, "val");
+ PikaStdLib_SysObj_printNoEnd(self, val);
+}
+
void PikaStdLib_SysObj_rangeMethod(PikaObj *self, Args *args){
int a1 = args_getInt(args, "a1");
int a2 = args_getInt(args, "a2");
@@ -83,12 +139,21 @@ PikaObj *New_PikaStdLib_SysObj(Args *args){
PikaObj *self = New_BaseObj(args);
class_defineMethod(self, "__get__(obj:any,key:any)->any", PikaStdLib_SysObj___get__Method);
class_defineMethod(self, "__set__(obj:any,key:any,val:any,obj_str:str)", PikaStdLib_SysObj___set__Method);
+ class_defineMethod(self, "__slice__(obj:any,start:any,end:any,step:int)->any", PikaStdLib_SysObj___slice__Method);
+ class_defineMethod(self, "bytes(val:any)->bytes", PikaStdLib_SysObj_bytesMethod);
+ class_defineMethod(self, "cformat(fmt:str,*var)->str", PikaStdLib_SysObj_cformatMethod);
+ class_defineMethod(self, "chr(val:int)->str", PikaStdLib_SysObj_chrMethod);
class_defineMethod(self, "dict()->any", PikaStdLib_SysObj_dictMethod);
class_defineMethod(self, "float(arg:any)->float", PikaStdLib_SysObj_floatMethod);
+ class_defineMethod(self, "hex(val:int)->str", PikaStdLib_SysObj_hexMethod);
+ class_defineMethod(self, "id(obj:any)->int", PikaStdLib_SysObj_idMethod);
class_defineMethod(self, "int(arg:any)->int", PikaStdLib_SysObj_intMethod);
class_defineMethod(self, "iter(arg:any)->any", PikaStdLib_SysObj_iterMethod);
class_defineMethod(self, "len(arg:any)->int", PikaStdLib_SysObj_lenMethod);
class_defineMethod(self, "list()->any", PikaStdLib_SysObj_listMethod);
+ class_defineMethod(self, "ord(val:str)->int", PikaStdLib_SysObj_ordMethod);
+ class_defineMethod(self, "print(*val)", PikaStdLib_SysObj_printMethod);
+ class_defineMethod(self, "printNoEnd(val:any)", PikaStdLib_SysObj_printNoEndMethod);
class_defineMethod(self, "range(a1:int,a2:int)->any", PikaStdLib_SysObj_rangeMethod);
class_defineMethod(self, "remove(argPath:str)", PikaStdLib_SysObj_removeMethod);
class_defineMethod(self, "str(arg:any)->str", PikaStdLib_SysObj_strMethod);
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h
index 866618cbc..83a07f3db 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h
@@ -11,12 +11,21 @@ PikaObj *New_PikaStdLib_SysObj(Args *args);
Arg* PikaStdLib_SysObj___get__(PikaObj *self, Arg* key, Arg* obj);
void PikaStdLib_SysObj___set__(PikaObj *self, Arg* key, Arg* obj, char* obj_str, Arg* val);
+Arg* PikaStdLib_SysObj___slice__(PikaObj *self, Arg* end, Arg* obj, Arg* start, int step);
+Arg* PikaStdLib_SysObj_bytes(PikaObj *self, Arg* val);
+char* PikaStdLib_SysObj_cformat(PikaObj *self, char* fmt, PikaTuple* var);
+char* PikaStdLib_SysObj_chr(PikaObj *self, int val);
Arg* PikaStdLib_SysObj_dict(PikaObj *self);
-float PikaStdLib_SysObj_float(PikaObj *self, Arg* arg);
+double PikaStdLib_SysObj_float(PikaObj *self, Arg* arg);
+char* PikaStdLib_SysObj_hex(PikaObj *self, int val);
+int PikaStdLib_SysObj_id(PikaObj *self, Arg* obj);
int PikaStdLib_SysObj_int(PikaObj *self, Arg* arg);
Arg* PikaStdLib_SysObj_iter(PikaObj *self, Arg* arg);
int PikaStdLib_SysObj_len(PikaObj *self, Arg* arg);
Arg* PikaStdLib_SysObj_list(PikaObj *self);
+int PikaStdLib_SysObj_ord(PikaObj *self, char* val);
+void PikaStdLib_SysObj_print(PikaObj *self, PikaTuple* val);
+void PikaStdLib_SysObj_printNoEnd(PikaObj *self, Arg* val);
Arg* PikaStdLib_SysObj_range(PikaObj *self, int a1, int a2);
void PikaStdLib_SysObj_remove(PikaObj *self, char* argPath);
char* PikaStdLib_SysObj_str(PikaObj *self, Arg* arg);
diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c
index b0f530d71..0adabe3e3 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c
+++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c
@@ -2,7 +2,7 @@
/* Warning! Don't modify this file! */
/* ******************************** */
#include "PikaStdTask_Task.h"
-#include "TinyObj.h"
+#include "PikaStdLib_SysObj.h"
#include "PikaStdData_List.h"
#include
#include
@@ -47,7 +47,7 @@ void PikaStdTask_Task_run_until_msMethod(PikaObj *self, Args *args){
}
PikaObj *New_PikaStdTask_Task(Args *args){
- PikaObj *self = New_TinyObj(args);
+ PikaObj *self = New_PikaStdLib_SysObj(args);
obj_newObj(self, "calls", "PikaStdData_List", New_PikaStdData_List);
class_defineMethod(self, "__init__()", PikaStdTask_Task___init__Method);
class_defineMethod(self, "call_always(fun_todo:any)", PikaStdTask_Task_call_alwaysMethod);
diff --git a/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c b/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c
index df322732f..05f22cd88 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c
+++ b/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c
@@ -1,168 +1,154 @@
-const unsigned char pikaModules_py_a[] = {
+#include "PikaPlatform.h"
+/* warning: auto generated file, please do not modify */
+PIKA_BYTECODE_ALIGN const unsigned char pikaModules_py_a[] = {
0x7f, 0x70, 0x79, 0x61, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x84, 0x07, 0x00, 0x00, 0xc4, 0x04, 0x00, 0x96, 0x01, 0x00, 0x30, 0x81,
- 0x09, 0x00, 0x20, 0x08, 0x12, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x12, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x96, 0x14, 0x00, 0x00, 0x96,
- 0x1f, 0x00, 0x00, 0x82, 0x2b, 0x00, 0x00, 0x04, 0x41, 0x00, 0x00, 0x82,
- 0x45, 0x00, 0x00, 0x89, 0x52, 0x00, 0x00, 0x06, 0x76, 0x00, 0x11, 0x83,
- 0x78, 0x00, 0x01, 0x02, 0x87, 0x00, 0x11, 0x81, 0x8d, 0x00, 0x01, 0x02,
- 0x87, 0x00, 0x11, 0x81, 0x97, 0x00, 0x11, 0x01, 0x9d, 0x00, 0x01, 0x08,
- 0xa6, 0x00, 0x01, 0x07, 0x76, 0x00, 0x12, 0x83, 0xa9, 0x00, 0x02, 0x02,
- 0x87, 0x00, 0x12, 0x81, 0x8d, 0x00, 0x02, 0x02, 0x87, 0x00, 0x12, 0x83,
- 0xb1, 0x00, 0x02, 0x02, 0x87, 0x00, 0x12, 0x81, 0x9d, 0x00, 0x02, 0x02,
- 0x87, 0x00, 0x12, 0x83, 0xc2, 0x00, 0x02, 0x02, 0x87, 0x00, 0x12, 0x81,
- 0x97, 0x00, 0x02, 0x02, 0x87, 0x00, 0x02, 0x81, 0xd0, 0x00, 0x02, 0x07,
- 0xd5, 0x00, 0x03, 0x85, 0x76, 0x00, 0x03, 0x04, 0xd7, 0x00, 0x02, 0x86,
- 0xe2, 0x00, 0x01, 0x8b, 0x76, 0x00, 0x12, 0x83, 0xe5, 0x00, 0x02, 0x02,
- 0x87, 0x00, 0x01, 0x8a, 0x00, 0x00, 0x00, 0x85, 0xed, 0x00, 0x00, 0x04,
- 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, 0xf1, 0x00, 0x10, 0x02,
- 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01,
- 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04,
- 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d,
- 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x11, 0x81, 0x26, 0x01, 0x11, 0x05,
- 0x28, 0x01, 0x01, 0x08, 0x2a, 0x01, 0x01, 0x07, 0x76, 0x00, 0x02, 0x8f,
- 0x00, 0x00, 0x11, 0x81, 0xef, 0x00, 0x11, 0x01, 0x26, 0x01, 0x01, 0x08,
- 0x2d, 0x01, 0x01, 0x04, 0xef, 0x00, 0x00, 0x86, 0xe2, 0x00, 0x00, 0x8c,
- 0xff, 0x00, 0x10, 0x83, 0x2f, 0x01, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05,
- 0x3f, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, 0xed, 0x00, 0x00, 0x04,
- 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, 0xf1, 0x00, 0x10, 0x02,
- 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01,
- 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04,
- 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d,
- 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x11, 0x81, 0x26, 0x01, 0x11, 0x05,
- 0x28, 0x01, 0x01, 0x08, 0x2a, 0x01, 0x01, 0x07, 0x76, 0x00, 0x02, 0x8e,
- 0x00, 0x00, 0x11, 0x81, 0xef, 0x00, 0x11, 0x01, 0x26, 0x01, 0x01, 0x08,
- 0x2d, 0x01, 0x01, 0x04, 0xef, 0x00, 0x00, 0x86, 0xe2, 0x00, 0x00, 0x8c,
- 0xff, 0x00, 0x10, 0x83, 0x4c, 0x01, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05,
- 0xf1, 0x00, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, 0xed, 0x00, 0x00, 0x04,
- 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, 0xf1, 0x00, 0x10, 0x02,
- 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01,
- 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04,
- 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d,
- 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x21, 0x85, 0xed, 0x00, 0x21, 0x05,
- 0x59, 0x01, 0x11, 0x02, 0xf4, 0x00, 0x01, 0x02, 0xfa, 0x00, 0x01, 0x04,
- 0x5b, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01, 0x07, 0x01, 0x01, 0x04,
- 0x5f, 0x01, 0x01, 0x04, 0x66, 0x01, 0x01, 0x82, 0x6d, 0x01, 0x01, 0x04,
- 0x7a, 0x01, 0x01, 0x0d, 0x7a, 0x01, 0x01, 0x07, 0xd5, 0x00, 0x12, 0x81,
- 0xef, 0x00, 0x12, 0x01, 0x7a, 0x01, 0x02, 0x08, 0x2d, 0x01, 0x02, 0x04,
- 0xef, 0x00, 0x01, 0x86, 0xe2, 0x00, 0x01, 0x8c, 0x5b, 0x01, 0x00, 0x86,
- 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, 0x7c, 0x01, 0x10, 0x01,
- 0xef, 0x00, 0x10, 0x05, 0x8d, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85,
- 0xed, 0x00, 0x00, 0x04, 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05,
- 0xf1, 0x00, 0x10, 0x02, 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04,
- 0xff, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04,
- 0x0b, 0x01, 0x00, 0x04, 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04,
- 0x26, 0x01, 0x00, 0x0d, 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x11, 0x81,
- 0xef, 0x00, 0x11, 0x01, 0x26, 0x01, 0x01, 0x08, 0x2d, 0x01, 0x01, 0x04,
- 0xef, 0x00, 0x00, 0x86, 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83,
- 0x90, 0x01, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05, 0x9d, 0x01, 0x00, 0x02,
- 0x42, 0x01, 0x00, 0x82, 0xa0, 0x01, 0x00, 0x04, 0xb1, 0x01, 0x10, 0x85,
- 0xb6, 0x01, 0x00, 0x02, 0xb8, 0x01, 0x10, 0x83, 0xc4, 0x01, 0x00, 0x02,
- 0xb8, 0x01, 0x00, 0x82, 0xc8, 0x01, 0x00, 0x04, 0xd1, 0x01, 0x10, 0x81,
- 0xb1, 0x01, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x82,
- 0x19, 0x01, 0x00, 0x04, 0xd5, 0x01, 0x00, 0x0d, 0xd5, 0x01, 0x00, 0x07,
- 0xd5, 0x00, 0x01, 0x81, 0xd5, 0x01, 0x01, 0x04, 0xef, 0x00, 0x00, 0x86,
- 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, 0xda, 0x01, 0x10, 0x01,
- 0xef, 0x00, 0x10, 0x03, 0xc4, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x82,
- 0xa0, 0x01, 0x00, 0x04, 0xb1, 0x01, 0x10, 0x85, 0xb6, 0x01, 0x00, 0x02,
- 0xb8, 0x01, 0x10, 0x83, 0xc4, 0x01, 0x00, 0x02, 0xb8, 0x01, 0x00, 0x82,
- 0xc8, 0x01, 0x00, 0x04, 0xd1, 0x01, 0x10, 0x85, 0xed, 0x00, 0x00, 0x02,
- 0xe8, 0x01, 0x00, 0x04, 0xf1, 0x01, 0x10, 0x85, 0x76, 0x00, 0x00, 0x02,
- 0xe8, 0x01, 0x00, 0x04, 0xf4, 0x01, 0x10, 0x81, 0xb1, 0x01, 0x00, 0x02,
- 0xfa, 0x00, 0x00, 0x04, 0xf7, 0x01, 0x10, 0x83, 0xfa, 0x00, 0x10, 0x01,
- 0xf7, 0x01, 0x10, 0x01, 0xb1, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x82,
- 0xfb, 0x01, 0x00, 0x04, 0x0c, 0x02, 0x10, 0x83, 0xef, 0x00, 0x10, 0x05,
- 0x76, 0x00, 0x00, 0x02, 0x11, 0x02, 0x10, 0x83, 0x1a, 0x02, 0x10, 0x05,
- 0xd5, 0x00, 0x00, 0x02, 0x11, 0x02, 0x10, 0x83, 0x1a, 0x02, 0x00, 0x02,
- 0x1c, 0x02, 0x10, 0x83, 0xef, 0x00, 0x00, 0x02, 0x28, 0x02, 0x00, 0x04,
- 0xef, 0x00, 0x10, 0x83, 0x1a, 0x02, 0x00, 0x02, 0x28, 0x02, 0x00, 0x04,
- 0x1a, 0x02, 0x10, 0x83, 0x1f, 0x00, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05,
- 0x76, 0x00, 0x00, 0x02, 0x42, 0x01, 0x10, 0x83, 0x31, 0x02, 0x10, 0x01,
- 0x1a, 0x02, 0x10, 0x05, 0xed, 0x00, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85,
- 0xed, 0x00, 0x00, 0x04, 0x3f, 0x02, 0x00, 0x85, 0xd5, 0x00, 0x00, 0x04,
- 0x26, 0x01, 0x20, 0x85, 0xd5, 0x00, 0x20, 0x05, 0x8d, 0x01, 0x10, 0x02,
- 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01,
- 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04,
- 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d,
- 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x01, 0x85, 0xd5, 0x00, 0x01, 0x04,
- 0x43, 0x02, 0x01, 0x85, 0x76, 0x00, 0x01, 0x04, 0x45, 0x02, 0x21, 0x85,
- 0xd5, 0x00, 0x21, 0x01, 0x26, 0x01, 0x11, 0x02, 0xf4, 0x00, 0x01, 0x02,
- 0xfa, 0x00, 0x01, 0x04, 0x5b, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01,
- 0x07, 0x01, 0x01, 0x04, 0x5f, 0x01, 0x01, 0x04, 0x66, 0x01, 0x01, 0x82,
- 0x6d, 0x01, 0x01, 0x04, 0x43, 0x02, 0x01, 0x0d, 0x43, 0x02, 0x01, 0x07,
- 0xd5, 0x00, 0x22, 0x81, 0x26, 0x01, 0x22, 0x01, 0x43, 0x02, 0x12, 0x08,
- 0x4e, 0x02, 0x12, 0x05, 0xed, 0x00, 0x02, 0x08, 0x2a, 0x01, 0x02, 0x07,
- 0x76, 0x00, 0x03, 0x85, 0xed, 0x00, 0x03, 0x04, 0x45, 0x02, 0x03, 0x8e,
- 0x00, 0x00, 0x01, 0x86, 0xe2, 0x00, 0x01, 0x8c, 0x5b, 0x01, 0x01, 0x81,
- 0x45, 0x02, 0x01, 0x07, 0x76, 0x00, 0x12, 0x81, 0x3f, 0x02, 0x12, 0x01,
- 0x26, 0x01, 0x02, 0x08, 0x2d, 0x01, 0x02, 0x04, 0x3f, 0x02, 0x00, 0x86,
- 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, 0x50, 0x02, 0x10, 0x01,
- 0x3f, 0x02, 0x10, 0x05, 0x60, 0x02, 0x00, 0x02, 0x42, 0x01, 0x10, 0x83,
- 0x64, 0x02, 0x00, 0x02, 0x87, 0x00, 0x10, 0x83, 0x79, 0x02, 0x00, 0x02,
- 0x87, 0x00, 0x10, 0x83, 0x64, 0x02, 0x00, 0x02, 0x87, 0x00, 0x10, 0x83,
- 0x8e, 0x02, 0x00, 0x02, 0x87, 0x00, 0x00, 0x82, 0x9c, 0x02, 0x10, 0x83,
- 0xa4, 0x02, 0x00, 0x02, 0x87, 0x00, 0x10, 0x83, 0xb1, 0x02, 0x00, 0x02,
- 0x87, 0x00, 0xb9, 0x02, 0x00, 0x50, 0x69, 0x6b, 0x61, 0x4f, 0x62, 0x6a,
- 0x00, 0x50, 0x69, 0x6b, 0x61, 0x4f, 0x62, 0x6a, 0x2e, 0x00, 0x2a, 0x00,
- 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x00, 0x50,
- 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x00, 0x50,
- 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x2e, 0x4d, 0x65,
- 0x6d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x00, 0x6d, 0x65, 0x6d,
- 0x00, 0x6d, 0x65, 0x6d, 0x2e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x4d, 0x61,
- 0x78, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x51, 0x28,
- 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x69, 0x6e,
- 0x70, 0x75, 0x74, 0x2c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64,
- 0x29, 0x00, 0x31, 0x00, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x54, 0x45, 0x53,
- 0x54, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x00, 0x70, 0x72, 0x69, 0x6e, 0x74,
- 0x00, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x00, 0x69,
- 0x6e, 0x70, 0x75, 0x74, 0x00, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65,
- 0x64, 0x00, 0x21, 0x3d, 0x00, 0x5b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x5d,
- 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f, 0x5d, 0x20, 0x45, 0x78, 0x70, 0x65,
- 0x63, 0x74, 0x65, 0x64, 0x3a, 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f, 0x5d,
- 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x3a, 0x00, 0x54, 0x72, 0x75, 0x65,
- 0x00, 0x32, 0x00, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x20, 0x6f, 0x72,
- 0x20, 0x00, 0x2d, 0x31, 0x00, 0x5b, 0x20, 0x4f, 0x4b, 0x20, 0x20, 0x5d,
- 0x00, 0x30, 0x00, 0x61, 0x00, 0x31, 0x30, 0x00, 0x72, 0x61, 0x6e, 0x67,
- 0x65, 0x00, 0x69, 0x74, 0x65, 0x72, 0x00, 0x5f, 0x6c, 0x30, 0x00, 0x5f,
- 0x72, 0x31, 0x00, 0x5f, 0x72, 0x32, 0x00, 0x5f, 0x6c, 0x30, 0x2e, 0x61,
- 0x32, 0x00, 0x5f, 0x6c, 0x30, 0x2e, 0x61, 0x31, 0x00, 0x5f, 0x6c, 0x30,
- 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f, 0x00, 0x69, 0x00,
- 0x35, 0x00, 0x3d, 0x3d, 0x00, 0x2b, 0x00, 0x66, 0x6f, 0x72, 0x5f, 0x69,
- 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x00, 0x34,
- 0x30, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x51, 0x00,
- 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b,
- 0x00, 0x33, 0x00, 0x5f, 0x6c, 0x31, 0x00, 0x5f, 0x6c, 0x31, 0x2e, 0x61,
- 0x32, 0x00, 0x5f, 0x6c, 0x31, 0x2e, 0x61, 0x31, 0x00, 0x5f, 0x6c, 0x31,
- 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f, 0x00, 0x6b, 0x00,
- 0x66, 0x6f, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x5f, 0x72,
- 0x61, 0x6e, 0x67, 0x65, 0x00, 0x33, 0x30, 0x00, 0x66, 0x6f, 0x72, 0x5f,
- 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x00, 0x34, 0x35, 0x00,
- 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e,
- 0x4c, 0x69, 0x73, 0x74, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x00, 0x37, 0x00,
- 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x00,
- 0x65, 0x65, 0x65, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x6c, 0x65, 0x6e,
- 0x00, 0x6c, 0x65, 0x6e, 0x00, 0x69, 0x74, 0x65, 0x6d, 0x00, 0x6c, 0x69,
- 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x00,
- 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x00, 0x61, 0x31, 0x00,
- 0x61, 0x32, 0x00, 0x72, 0x65, 0x73, 0x00, 0x50, 0x69, 0x6b, 0x61, 0x53,
- 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x00,
- 0x64, 0x69, 0x63, 0x74, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x73, 0x65,
- 0x74, 0x00, 0x62, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x6d,
- 0x6f, 0x76, 0x65, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x67, 0x65, 0x74,
+ 0xc4, 0x06, 0x00, 0x00, 0x3c, 0x04, 0x00, 0x96, 0x01, 0x00, 0x00, 0x96,
+ 0x0c, 0x00, 0x00, 0x82, 0x18, 0x00, 0x00, 0x04, 0x2e, 0x00, 0x00, 0x82,
+ 0x32, 0x00, 0x00, 0x89, 0x3f, 0x00, 0x00, 0x06, 0x63, 0x00, 0x11, 0x83,
+ 0x65, 0x00, 0x01, 0x02, 0x74, 0x00, 0x11, 0x81, 0x7a, 0x00, 0x01, 0x02,
+ 0x74, 0x00, 0x11, 0x81, 0x84, 0x00, 0x11, 0x01, 0x8a, 0x00, 0x01, 0x08,
+ 0x93, 0x00, 0x01, 0x07, 0x63, 0x00, 0x12, 0x83, 0x96, 0x00, 0x02, 0x02,
+ 0x74, 0x00, 0x12, 0x81, 0x7a, 0x00, 0x02, 0x02, 0x74, 0x00, 0x12, 0x83,
+ 0x9e, 0x00, 0x02, 0x02, 0x74, 0x00, 0x12, 0x81, 0x8a, 0x00, 0x02, 0x02,
+ 0x74, 0x00, 0x12, 0x83, 0xaf, 0x00, 0x02, 0x02, 0x74, 0x00, 0x12, 0x81,
+ 0x84, 0x00, 0x02, 0x02, 0x74, 0x00, 0x02, 0x81, 0xbd, 0x00, 0x02, 0x07,
+ 0xc2, 0x00, 0x03, 0x85, 0x63, 0x00, 0x03, 0x04, 0xc4, 0x00, 0x02, 0x86,
+ 0xcf, 0x00, 0x01, 0x8b, 0x63, 0x00, 0x12, 0x83, 0xd2, 0x00, 0x02, 0x02,
+ 0x74, 0x00, 0x01, 0x8a, 0x00, 0x00, 0x00, 0x85, 0xda, 0x00, 0x00, 0x04,
+ 0xdc, 0x00, 0x20, 0x85, 0xda, 0x00, 0x20, 0x05, 0xde, 0x00, 0x10, 0x02,
+ 0xe1, 0x00, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04, 0xec, 0x00, 0x00, 0x82,
+ 0xf0, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x00, 0x0d, 0xfd, 0x00, 0x00, 0x07,
+ 0xc2, 0x00, 0x11, 0x81, 0xfd, 0x00, 0x11, 0x05, 0xff, 0x00, 0x01, 0x08,
+ 0x01, 0x01, 0x01, 0x07, 0x63, 0x00, 0x02, 0x8f, 0x00, 0x00, 0x11, 0x81,
+ 0xdc, 0x00, 0x11, 0x01, 0xfd, 0x00, 0x01, 0x08, 0x04, 0x01, 0x01, 0x04,
+ 0xdc, 0x00, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c, 0xec, 0x00, 0x10, 0x83,
+ 0x06, 0x01, 0x10, 0x01, 0xdc, 0x00, 0x10, 0x05, 0x16, 0x01, 0x00, 0x02,
+ 0x19, 0x01, 0x00, 0x85, 0xda, 0x00, 0x00, 0x04, 0xdc, 0x00, 0x20, 0x85,
+ 0xda, 0x00, 0x20, 0x05, 0xde, 0x00, 0x10, 0x02, 0xe1, 0x00, 0x00, 0x02,
+ 0xe7, 0x00, 0x00, 0x04, 0xec, 0x00, 0x00, 0x82, 0xf0, 0x00, 0x00, 0x04,
+ 0xfd, 0x00, 0x00, 0x0d, 0xfd, 0x00, 0x00, 0x07, 0xc2, 0x00, 0x11, 0x81,
+ 0xfd, 0x00, 0x11, 0x05, 0xff, 0x00, 0x01, 0x08, 0x01, 0x01, 0x01, 0x07,
+ 0x63, 0x00, 0x02, 0x8e, 0x00, 0x00, 0x11, 0x81, 0xdc, 0x00, 0x11, 0x01,
+ 0xfd, 0x00, 0x01, 0x08, 0x04, 0x01, 0x01, 0x04, 0xdc, 0x00, 0x00, 0x86,
+ 0xcf, 0x00, 0x00, 0x8c, 0xec, 0x00, 0x10, 0x83, 0x23, 0x01, 0x10, 0x01,
+ 0xdc, 0x00, 0x10, 0x05, 0xde, 0x00, 0x00, 0x02, 0x19, 0x01, 0x00, 0x85,
+ 0xda, 0x00, 0x00, 0x04, 0xdc, 0x00, 0x20, 0x85, 0xda, 0x00, 0x20, 0x05,
+ 0xde, 0x00, 0x10, 0x02, 0xe1, 0x00, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04,
+ 0xec, 0x00, 0x00, 0x82, 0xf0, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x00, 0x0d,
+ 0xfd, 0x00, 0x00, 0x07, 0xc2, 0x00, 0x21, 0x85, 0xda, 0x00, 0x21, 0x05,
+ 0x30, 0x01, 0x11, 0x02, 0xe1, 0x00, 0x01, 0x02, 0xe7, 0x00, 0x01, 0x04,
+ 0x32, 0x01, 0x01, 0x82, 0x36, 0x01, 0x01, 0x04, 0x43, 0x01, 0x01, 0x0d,
+ 0x43, 0x01, 0x01, 0x07, 0xc2, 0x00, 0x12, 0x81, 0xdc, 0x00, 0x12, 0x01,
+ 0x43, 0x01, 0x02, 0x08, 0x04, 0x01, 0x02, 0x04, 0xdc, 0x00, 0x01, 0x86,
+ 0xcf, 0x00, 0x01, 0x8c, 0x32, 0x01, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c,
+ 0xec, 0x00, 0x10, 0x83, 0x45, 0x01, 0x10, 0x01, 0xdc, 0x00, 0x10, 0x05,
+ 0x56, 0x01, 0x00, 0x02, 0x19, 0x01, 0x00, 0x85, 0xda, 0x00, 0x00, 0x04,
+ 0xdc, 0x00, 0x20, 0x85, 0xda, 0x00, 0x20, 0x05, 0xde, 0x00, 0x10, 0x02,
+ 0xe1, 0x00, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04, 0xec, 0x00, 0x00, 0x82,
+ 0xf0, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x00, 0x0d, 0xfd, 0x00, 0x00, 0x07,
+ 0xc2, 0x00, 0x11, 0x81, 0xdc, 0x00, 0x11, 0x01, 0xfd, 0x00, 0x01, 0x08,
+ 0x04, 0x01, 0x01, 0x04, 0xdc, 0x00, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c,
+ 0xec, 0x00, 0x10, 0x83, 0x59, 0x01, 0x10, 0x01, 0xdc, 0x00, 0x10, 0x05,
+ 0x66, 0x01, 0x00, 0x02, 0x19, 0x01, 0x00, 0x82, 0x69, 0x01, 0x00, 0x04,
+ 0x7a, 0x01, 0x10, 0x85, 0x7f, 0x01, 0x00, 0x02, 0x81, 0x01, 0x10, 0x83,
+ 0x8d, 0x01, 0x00, 0x02, 0x81, 0x01, 0x00, 0x82, 0x91, 0x01, 0x00, 0x04,
+ 0x9a, 0x01, 0x10, 0x81, 0x7a, 0x01, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04,
+ 0xec, 0x00, 0x00, 0x82, 0xf0, 0x00, 0x00, 0x04, 0x9e, 0x01, 0x00, 0x0d,
+ 0x9e, 0x01, 0x00, 0x07, 0xc2, 0x00, 0x01, 0x81, 0x9e, 0x01, 0x01, 0x04,
+ 0xdc, 0x00, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c, 0xec, 0x00, 0x10, 0x83,
+ 0xa3, 0x01, 0x10, 0x01, 0xdc, 0x00, 0x10, 0x03, 0x8d, 0x01, 0x00, 0x02,
+ 0x19, 0x01, 0x00, 0x82, 0x69, 0x01, 0x00, 0x04, 0x7a, 0x01, 0x10, 0x85,
+ 0x7f, 0x01, 0x00, 0x02, 0x81, 0x01, 0x10, 0x83, 0x8d, 0x01, 0x00, 0x02,
+ 0x81, 0x01, 0x00, 0x82, 0x91, 0x01, 0x00, 0x04, 0x9a, 0x01, 0x10, 0x85,
+ 0xda, 0x00, 0x00, 0x02, 0xb1, 0x01, 0x00, 0x04, 0xba, 0x01, 0x10, 0x85,
+ 0x63, 0x00, 0x00, 0x02, 0xb1, 0x01, 0x00, 0x04, 0xbd, 0x01, 0x10, 0x81,
+ 0x7a, 0x01, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04, 0xc0, 0x01, 0x10, 0x83,
+ 0xe7, 0x00, 0x10, 0x01, 0xc0, 0x01, 0x10, 0x01, 0x7a, 0x01, 0x00, 0x02,
+ 0x19, 0x01, 0x00, 0x82, 0xc4, 0x01, 0x00, 0x04, 0xd5, 0x01, 0x10, 0x83,
+ 0xdc, 0x00, 0x10, 0x05, 0x63, 0x00, 0x00, 0x02, 0xda, 0x01, 0x10, 0x83,
+ 0xe3, 0x01, 0x10, 0x05, 0xc2, 0x00, 0x00, 0x02, 0xda, 0x01, 0x10, 0x83,
+ 0xe3, 0x01, 0x00, 0x02, 0xe5, 0x01, 0x10, 0x83, 0xdc, 0x00, 0x00, 0x02,
+ 0xf1, 0x01, 0x00, 0x04, 0xdc, 0x00, 0x10, 0x83, 0xe3, 0x01, 0x00, 0x02,
+ 0xf1, 0x01, 0x00, 0x04, 0xe3, 0x01, 0x10, 0x83, 0x0c, 0x00, 0x10, 0x01,
+ 0xdc, 0x00, 0x10, 0x05, 0x63, 0x00, 0x00, 0x02, 0x19, 0x01, 0x10, 0x83,
+ 0xfa, 0x01, 0x10, 0x01, 0xe3, 0x01, 0x10, 0x05, 0xda, 0x00, 0x00, 0x02,
+ 0x19, 0x01, 0x00, 0x85, 0xda, 0x00, 0x00, 0x04, 0x08, 0x02, 0x00, 0x85,
+ 0xc2, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x20, 0x85, 0xc2, 0x00, 0x20, 0x05,
+ 0x56, 0x01, 0x10, 0x02, 0xe1, 0x00, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04,
+ 0xec, 0x00, 0x00, 0x82, 0xf0, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x00, 0x0d,
+ 0xfd, 0x00, 0x00, 0x07, 0xc2, 0x00, 0x01, 0x85, 0xc2, 0x00, 0x01, 0x04,
+ 0x0c, 0x02, 0x01, 0x85, 0x63, 0x00, 0x01, 0x04, 0x0e, 0x02, 0x21, 0x85,
+ 0xc2, 0x00, 0x21, 0x01, 0xfd, 0x00, 0x11, 0x02, 0xe1, 0x00, 0x01, 0x02,
+ 0xe7, 0x00, 0x01, 0x04, 0x32, 0x01, 0x01, 0x82, 0x36, 0x01, 0x01, 0x04,
+ 0x0c, 0x02, 0x01, 0x0d, 0x0c, 0x02, 0x01, 0x07, 0xc2, 0x00, 0x22, 0x81,
+ 0xfd, 0x00, 0x22, 0x01, 0x0c, 0x02, 0x12, 0x08, 0x17, 0x02, 0x12, 0x05,
+ 0xda, 0x00, 0x02, 0x08, 0x01, 0x01, 0x02, 0x07, 0x63, 0x00, 0x03, 0x85,
+ 0xda, 0x00, 0x03, 0x04, 0x0e, 0x02, 0x03, 0x8e, 0x00, 0x00, 0x01, 0x86,
+ 0xcf, 0x00, 0x01, 0x8c, 0x32, 0x01, 0x01, 0x81, 0x0e, 0x02, 0x01, 0x07,
+ 0x63, 0x00, 0x12, 0x81, 0x08, 0x02, 0x12, 0x01, 0xfd, 0x00, 0x02, 0x08,
+ 0x04, 0x01, 0x02, 0x04, 0x08, 0x02, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c,
+ 0xec, 0x00, 0x10, 0x83, 0x19, 0x02, 0x10, 0x01, 0x08, 0x02, 0x10, 0x05,
+ 0x29, 0x02, 0x00, 0x02, 0x19, 0x01, 0x10, 0x83, 0x2d, 0x02, 0x00, 0x02,
+ 0x74, 0x00, 0x10, 0x83, 0x42, 0x02, 0x00, 0x02, 0x74, 0x00, 0x10, 0x83,
+ 0x2d, 0x02, 0x00, 0x02, 0x74, 0x00, 0x10, 0x83, 0x57, 0x02, 0x00, 0x02,
+ 0x74, 0x00, 0x00, 0x82, 0x65, 0x02, 0x10, 0x83, 0x6d, 0x02, 0x00, 0x02,
+ 0x74, 0x00, 0x10, 0x83, 0x7a, 0x02, 0x00, 0x02, 0x74, 0x00, 0x82, 0x02,
+ 0x00, 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x00,
+ 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x00,
+ 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x2e, 0x4d,
+ 0x65, 0x6d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x00, 0x6d, 0x65,
+ 0x6d, 0x00, 0x6d, 0x65, 0x6d, 0x2e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x4d,
+ 0x61, 0x78, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x51,
+ 0x28, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x69,
+ 0x6e, 0x70, 0x75, 0x74, 0x2c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65,
+ 0x64, 0x29, 0x00, 0x31, 0x00, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x54, 0x45,
+ 0x53, 0x54, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x00, 0x70, 0x72, 0x69, 0x6e,
+ 0x74, 0x00, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x00,
+ 0x69, 0x6e, 0x70, 0x75, 0x74, 0x00, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x00, 0x21, 0x3d, 0x00, 0x5b, 0x45, 0x72, 0x72, 0x6f, 0x72,
+ 0x5d, 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f, 0x5d, 0x20, 0x45, 0x78, 0x70,
+ 0x65, 0x63, 0x74, 0x65, 0x64, 0x3a, 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f,
+ 0x5d, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x3a, 0x00, 0x54, 0x72, 0x75,
+ 0x65, 0x00, 0x32, 0x00, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x20, 0x6f,
+ 0x72, 0x20, 0x00, 0x2d, 0x31, 0x00, 0x5b, 0x20, 0x4f, 0x4b, 0x20, 0x20,
+ 0x5d, 0x00, 0x30, 0x00, 0x61, 0x00, 0x31, 0x30, 0x00, 0x72, 0x61, 0x6e,
+ 0x67, 0x65, 0x00, 0x69, 0x74, 0x65, 0x72, 0x00, 0x5f, 0x6c, 0x30, 0x00,
+ 0x5f, 0x6c, 0x30, 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f,
+ 0x00, 0x69, 0x00, 0x35, 0x00, 0x3d, 0x3d, 0x00, 0x2b, 0x00, 0x66, 0x6f,
+ 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
+ 0x65, 0x00, 0x34, 0x30, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f,
+ 0x45, 0x51, 0x00, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x62, 0x72,
+ 0x65, 0x61, 0x6b, 0x00, 0x33, 0x00, 0x5f, 0x6c, 0x31, 0x00, 0x5f, 0x6c,
+ 0x31, 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f, 0x00, 0x6b,
+ 0x00, 0x66, 0x6f, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x5f,
+ 0x72, 0x61, 0x6e, 0x67, 0x65, 0x00, 0x33, 0x30, 0x00, 0x66, 0x6f, 0x72,
+ 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x00, 0x34, 0x35,
0x00, 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61,
- 0x5f, 0x32, 0x00, 0x6e, 0x75, 0x6d, 0x00, 0x6a, 0x00, 0x69, 0x73, 0x5f,
- 0x70, 0x72, 0x69, 0x6d, 0x65, 0x00, 0x25, 0x00, 0x70, 0x72, 0x69, 0x6d,
- 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x33, 0x30, 0x00,
- 0x31, 0x32, 0x39, 0x00, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
+ 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x00, 0x37,
+ 0x00, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64,
+ 0x00, 0x65, 0x65, 0x65, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x6c, 0x65,
+ 0x6e, 0x00, 0x6c, 0x65, 0x6e, 0x00, 0x69, 0x74, 0x65, 0x6d, 0x00, 0x6c,
+ 0x69, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x6f, 0x70,
+ 0x00, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x00, 0x61, 0x31,
+ 0x00, 0x61, 0x32, 0x00, 0x72, 0x65, 0x73, 0x00, 0x50, 0x69, 0x6b, 0x61,
+ 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x63, 0x74,
+ 0x00, 0x64, 0x69, 0x63, 0x74, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x73,
+ 0x65, 0x74, 0x00, 0x62, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x72, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x67, 0x65,
+ 0x74, 0x00, 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74,
+ 0x61, 0x5f, 0x32, 0x00, 0x6e, 0x75, 0x6d, 0x00, 0x6a, 0x00, 0x69, 0x73,
+ 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x00, 0x25, 0x00, 0x70, 0x72, 0x69,
+ 0x6d, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x33, 0x30,
+ 0x00, 0x31, 0x32, 0x39, 0x00, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
- 0x00, 0x5b, 0x55, 0x6e, 0x69, 0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x73,
- 0x20, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x5d, 0x00, 0x6d, 0x65,
- 0x6d, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x3a, 0x00,
- 0x6d, 0x65, 0x6d, 0x2e, 0x6d, 0x61, 0x78, 0x00, 0x74, 0x65, 0x73, 0x74,
- 0x5c, 0x72, 0x5c, 0x6e, 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x65, 0x6e, 0x64,
- 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3d, 0x00, 0x5b, 0x55, 0x6e, 0x69, 0x74, 0x20, 0x54, 0x65, 0x73, 0x74,
+ 0x73, 0x20, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x5d, 0x00, 0x6d,
+ 0x65, 0x6d, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x3a,
+ 0x00, 0x6d, 0x65, 0x6d, 0x2e, 0x6d, 0x61, 0x78, 0x00, 0x74, 0x65, 0x73,
+ 0x74, 0x5c, 0x72, 0x5c, 0x6e, 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x65, 0x6e,
+ 0x64, 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00,
};
diff --git a/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt b/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt
index 168682397..6e62bc3f2 100644
--- a/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt
+++ b/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt
@@ -1 +1 @@
-Compiler { dist_path: "pikascript-api/", source_path: "", class_list: {"PikaDebug": ClassInfo { this_class_name: "PikaDebug", this_class_name_without_file: "PikaDebug", super_class_name: "TinyObj", method_list: {"Debuger": MethodInfo { class_name: "PikaDebug", name: "Debuger", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaDebug_Debuger": ClassInfo { this_class_name: "PikaDebug_Debuger", this_class_name_without_file: "Debuger", super_class_name: "TinyObj", method_list: {"__init__": MethodInfo { class_name: "PikaDebug_Debuger", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "set_trace": MethodInfo { class_name: "PikaDebug_Debuger", name: "set_trace", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaMain": ClassInfo { this_class_name: "PikaMain", this_class_name_without_file: "PikaMain", super_class_name: "PikaStdLib_SysObj", method_list: {}, object_list: {"PikaStdData": ObjectInfo { class_name: "PikaMain", name: "PikaStdData", import_class_name: "PikaStdData" }, "PikaStdLib": ObjectInfo { class_name: "PikaMain", name: "PikaStdLib", import_class_name: "PikaStdLib" }}, import_list: {}, script_list: Script { content: "@BEGIN@import PikaStdLib@END@@BEGIN@import PikaStdData@END@@BEGIN@@END@@BEGIN@mem = PikaStdLib.MemChecker()@END@@BEGIN@mem.resetMax()@END@@BEGIN@def EXPECT_EQ(test_name, input, expected):@END@@BEGIN@ print('-----TEST-----')@END@@BEGIN@ print(test_name)@END@@BEGIN@ if input != expected:@END@@BEGIN@ print('[Error]')@END@@BEGIN@ print(test_name)@END@@BEGIN@ print('[info] Expected:')@END@@BEGIN@ print(expected)@END@@BEGIN@ print('[info] Input:')@END@@BEGIN@ print(input)@END@@BEGIN@ # error@END@@BEGIN@ while True:@END@@BEGIN@ is_error = 1@END@@BEGIN@ else:@END@@BEGIN@ print('[ OK ]')@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ continue@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_continue', a, 40)@END@@BEGIN@ @END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ break@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_break', a, 10)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ for k in range(0, 3):@END@@BEGIN@ # print(k)@END@@BEGIN@ a = a + k@END@@BEGIN@EXPECT_EQ('for_for_in_range', a, 30)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ # print(i)@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_in_range', a, 45)@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@for item in list:@END@@BEGIN@ # print(item)@END@@BEGIN@ a = item@END@@BEGIN@EXPECT_EQ('list_for_loop', a, 'eee')@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@a1 = list.get(0)@END@@BEGIN@a2 = list.get(1)@END@@BEGIN@res = iter(list)@END@@BEGIN@EXPECT_EQ('iter', res, list)@END@@BEGIN@@END@@BEGIN@dict = PikaStdData.Dict()@END@@BEGIN@dict.set('a', 1)@END@@BEGIN@dict.set('b', 2)@END@@BEGIN@dict.remove('b')@END@@BEGIN@a = dict.get('a')@END@@BEGIN@b = dict.get('b')@END@@BEGIN@EXPECT_EQ('PikaStdData', a, 1)@END@@BEGIN@EXPECT_EQ('PikaStdData_2', b, 0)@END@@BEGIN@@END@@BEGIN@num = 0@END@@BEGIN@i = 2@END@@BEGIN@for i in range(2,30):@END@@BEGIN@ j=2@END@@BEGIN@ is_prime = 1@END@@BEGIN@ for j in range(2,i):@END@@BEGIN@ if i%j==0 :@END@@BEGIN@ is_prime = 0@END@@BEGIN@ break@END@@BEGIN@ if is_prime:@END@@BEGIN@ num = num + i@END@@BEGIN@EXPECT_EQ('prime_number_30', num, 129)@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print('====================')@END@@BEGIN@print('[Unit Tests Succeed]')@END@@BEGIN@print('====================')@END@@BEGIN@print('mem used max:')@END@@BEGIN@mem.max()@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print(\"test\\r\\n\\r\\n\")@END@@BEGIN@print(\"end\\r\\n\")@END@" }, is_package: false }, "PikaStdData": ClassInfo { this_class_name: "PikaStdData", this_class_name_without_file: "PikaStdData", super_class_name: "TinyObj", method_list: {"ByteArray": MethodInfo { class_name: "PikaStdData", name: "ByteArray", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "Dict": MethodInfo { class_name: "PikaStdData", name: "Dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "List": MethodInfo { class_name: "PikaStdData", name: "List", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "String": MethodInfo { class_name: "PikaStdData", name: "String", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdData_ByteArray": ClassInfo { this_class_name: "PikaStdData_ByteArray", this_class_name_without_file: "ByteArray", super_class_name: "PikaStdData_List", method_list: {"fromString": MethodInfo { class_name: "PikaStdData_ByteArray", name: "fromString", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_Dict": ClassInfo { this_class_name: "PikaStdData_Dict", this_class_name_without_file: "Dict", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_Dict", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_Dict", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_Dict", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_Dict", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_Dict", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_Dict", name: "get", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdData_Dict", name: "remove", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_Dict", name: "set", arg_list: Some(ArgList { py_arg_list: "key:str,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_List": ClassInfo { this_class_name: "PikaStdData_List", this_class_name_without_file: "List", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_List", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_List", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_List", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_List", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_List", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "append": MethodInfo { class_name: "PikaStdData_List", name: "append", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_List", name: "get", arg_list: Some(ArgList { py_arg_list: "i:int", list: {"i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdData_List", name: "len", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_List", name: "set", arg_list: Some(ArgList { py_arg_list: "i:int,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_String": ClassInfo { this_class_name: "PikaStdData_String", this_class_name_without_file: "String", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_String", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_String", name: "__init__", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_String", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_String", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_String", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_String", name: "get", arg_list: None, return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_String", name: "set", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib": ClassInfo { this_class_name: "PikaStdLib", this_class_name_without_file: "PikaStdLib", super_class_name: "TinyObj", method_list: {"MemChecker": MethodInfo { class_name: "PikaStdLib", name: "MemChecker", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "PikaObj": MethodInfo { class_name: "PikaStdLib", name: "PikaObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "RangeObj": MethodInfo { class_name: "PikaStdLib", name: "RangeObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "StringObj": MethodInfo { class_name: "PikaStdLib", name: "StringObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "SysObj": MethodInfo { class_name: "PikaStdLib", name: "SysObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdLib_MemChecker": ClassInfo { this_class_name: "PikaStdLib_MemChecker", this_class_name_without_file: "MemChecker", super_class_name: "TinyObj", method_list: {"getMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getMax", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "getNow": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getNow", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "max": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "max", arg_list: None, return_type: None, is_constructor: false }, "now": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "now", arg_list: None, return_type: None, is_constructor: false }, "resetMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "resetMax", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_PikaObj": ClassInfo { this_class_name: "PikaStdLib_PikaObj", this_class_name_without_file: "PikaObj", super_class_name: "TinyObj", method_list: {}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_RangeObj": ClassInfo { this_class_name: "PikaStdLib_RangeObj", this_class_name_without_file: "RangeObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_RangeObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_StringObj": ClassInfo { this_class_name: "PikaStdLib_StringObj", this_class_name_without_file: "StringObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_StringObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_SysObj": ClassInfo { this_class_name: "PikaStdLib_SysObj", this_class_name_without_file: "SysObj", super_class_name: "BaseObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__get__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__set__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any,val:any,obj_str:str", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }, "obj_str": PyArg { py_type: PyType { type_name: "str" }, name: "obj_str" }, "val": PyArg { py_type: PyType { type_name: "any" }, name: "val" }} }), return_type: None, is_constructor: false }, "dict": MethodInfo { class_name: "PikaStdLib_SysObj", name: "dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "float": MethodInfo { class_name: "PikaStdLib_SysObj", name: "float", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "int": MethodInfo { class_name: "PikaStdLib_SysObj", name: "int", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "iter": MethodInfo { class_name: "PikaStdLib_SysObj", name: "iter", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdLib_SysObj", name: "len", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "list": MethodInfo { class_name: "PikaStdLib_SysObj", name: "list", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "range": MethodInfo { class_name: "PikaStdLib_SysObj", name: "range", arg_list: Some(ArgList { py_arg_list: "a1:int,a2:int", list: {"a1": PyArg { py_type: PyType { type_name: "int" }, name: "a1" }, "a2": PyArg { py_type: PyType { type_name: "int" }, name: "a2" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdLib_SysObj", name: "remove", arg_list: Some(ArgList { py_arg_list: "argPath:str", list: {"argPath": PyArg { py_type: PyType { type_name: "str" }, name: "argPath" }} }), return_type: None, is_constructor: false }, "str": MethodInfo { class_name: "PikaStdLib_SysObj", name: "str", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "type": MethodInfo { class_name: "PikaStdLib_SysObj", name: "type", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdTask": ClassInfo { this_class_name: "PikaStdTask", this_class_name_without_file: "PikaStdTask", super_class_name: "TinyObj", method_list: {"Task": MethodInfo { class_name: "PikaStdTask", name: "Task", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdTask_Task": ClassInfo { this_class_name: "PikaStdTask_Task", this_class_name_without_file: "Task", super_class_name: "TinyObj", method_list: {"__init__": MethodInfo { class_name: "PikaStdTask_Task", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "call_always": MethodInfo { class_name: "PikaStdTask_Task", name: "call_always", arg_list: Some(ArgList { py_arg_list: "fun_todo:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }} }), return_type: None, is_constructor: false }, "call_period_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "call_period_ms", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,period_ms:int", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "period_ms": PyArg { py_type: PyType { type_name: "int" }, name: "period_ms" }} }), return_type: None, is_constructor: false }, "call_when": MethodInfo { class_name: "PikaStdTask_Task", name: "call_when", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,fun_when:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "fun_when": PyArg { py_type: PyType { type_name: "any" }, name: "fun_when" }} }), return_type: None, is_constructor: false }, "platformGetTick": MethodInfo { class_name: "PikaStdTask_Task", name: "platformGetTick", arg_list: None, return_type: None, is_constructor: false }, "run_forever": MethodInfo { class_name: "PikaStdTask_Task", name: "run_forever", arg_list: None, return_type: None, is_constructor: false }, "run_once": MethodInfo { class_name: "PikaStdTask_Task", name: "run_once", arg_list: None, return_type: None, is_constructor: false }, "run_until_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "run_until_ms", arg_list: Some(ArgList { py_arg_list: "until_ms:int", list: {"until_ms": PyArg { py_type: PyType { type_name: "int" }, name: "until_ms" }} }), return_type: None, is_constructor: false }}, object_list: {"calls": ObjectInfo { class_name: "PikaStdTask_Task", name: "calls", import_class_name: "PikaStdData_List" }}, import_list: {}, script_list: Script { content: "" }, is_package: false }}, class_now_name: Some("PikaDebug_Debuger"), package_now_name: Some("PikaDebug"), compiled_list: ["main", "PikaStdLib", "PikaStdData", "PikaStdTask", "PikaStdData", "PikaStdData", "PikaDebug"] }
\ No newline at end of file
+Compiler { dist_path: "pikascript-api/", source_path: "", class_list: {"PikaDebug": ClassInfo { this_class_name: "PikaDebug", this_class_name_without_file: "PikaDebug", super_class_name: "TinyObj", method_list: {"Debuger": MethodInfo { class_name: "PikaDebug", name: "Debuger", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaDebug_Debuger": ClassInfo { this_class_name: "PikaDebug_Debuger", this_class_name_without_file: "Debuger", super_class_name: "TinyObj", method_list: {"__init__": MethodInfo { class_name: "PikaDebug_Debuger", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "set_trace": MethodInfo { class_name: "PikaDebug_Debuger", name: "set_trace", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaMain": ClassInfo { this_class_name: "PikaMain", this_class_name_without_file: "PikaMain", super_class_name: "PikaStdLib_SysObj", method_list: {}, object_list: {"PikaStdData": ObjectInfo { class_name: "PikaMain", name: "PikaStdData", import_class_name: "PikaStdData" }, "PikaStdLib": ObjectInfo { class_name: "PikaMain", name: "PikaStdLib", import_class_name: "PikaStdLib" }}, import_list: {}, script_list: Script { content: "@BEGIN@import PikaStdLib@END@@BEGIN@import PikaStdData@END@@BEGIN@@END@@BEGIN@mem = PikaStdLib.MemChecker()@END@@BEGIN@mem.resetMax()@END@@BEGIN@def EXPECT_EQ(test_name, input, expected):@END@@BEGIN@ print('-----TEST-----')@END@@BEGIN@ print(test_name)@END@@BEGIN@ if input != expected:@END@@BEGIN@ print('[Error]')@END@@BEGIN@ print(test_name)@END@@BEGIN@ print('[info] Expected:')@END@@BEGIN@ print(expected)@END@@BEGIN@ print('[info] Input:')@END@@BEGIN@ print(input)@END@@BEGIN@ # error@END@@BEGIN@ while True:@END@@BEGIN@ is_error = 1@END@@BEGIN@ else:@END@@BEGIN@ print('[ OK ]')@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ continue@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_continue', a, 40)@END@@BEGIN@ @END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ break@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_break', a, 10)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ for k in range(0, 3):@END@@BEGIN@ # print(k)@END@@BEGIN@ a = a + k@END@@BEGIN@EXPECT_EQ('for_for_in_range', a, 30)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ # print(i)@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_in_range', a, 45)@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@for item in list:@END@@BEGIN@ # print(item)@END@@BEGIN@ a = item@END@@BEGIN@EXPECT_EQ('list_for_loop', a, 'eee')@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@a1 = list.get(0)@END@@BEGIN@a2 = list.get(1)@END@@BEGIN@res = iter(list)@END@@BEGIN@EXPECT_EQ('iter', res, list)@END@@BEGIN@@END@@BEGIN@dict = PikaStdData.Dict()@END@@BEGIN@dict.set('a', 1)@END@@BEGIN@dict.set('b', 2)@END@@BEGIN@dict.remove('b')@END@@BEGIN@a = dict.get('a')@END@@BEGIN@b = dict.get('b')@END@@BEGIN@EXPECT_EQ('PikaStdData', a, 1)@END@@BEGIN@EXPECT_EQ('PikaStdData_2', b, 0)@END@@BEGIN@@END@@BEGIN@num = 0@END@@BEGIN@i = 2@END@@BEGIN@for i in range(2,30):@END@@BEGIN@ j=2@END@@BEGIN@ is_prime = 1@END@@BEGIN@ for j in range(2,i):@END@@BEGIN@ if i%j==0 :@END@@BEGIN@ is_prime = 0@END@@BEGIN@ break@END@@BEGIN@ if is_prime:@END@@BEGIN@ num = num + i@END@@BEGIN@EXPECT_EQ('prime_number_30', num, 129)@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print('====================')@END@@BEGIN@print('[Unit Tests Succeed]')@END@@BEGIN@print('====================')@END@@BEGIN@print('mem used max:')@END@@BEGIN@mem.max()@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print(\"test\\r\\n\\r\\n\")@END@@BEGIN@print(\"end\\r\\n\")@END@" }, is_package: false }, "PikaStdData": ClassInfo { this_class_name: "PikaStdData", this_class_name_without_file: "PikaStdData", super_class_name: "TinyObj", method_list: {"ByteArray": MethodInfo { class_name: "PikaStdData", name: "ByteArray", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "Dict": MethodInfo { class_name: "PikaStdData", name: "Dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "List": MethodInfo { class_name: "PikaStdData", name: "List", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "String": MethodInfo { class_name: "PikaStdData", name: "String", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "Utils": MethodInfo { class_name: "PikaStdData", name: "Utils", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "dict_keys": MethodInfo { class_name: "PikaStdData", name: "dict_keys", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdData_ByteArray": ClassInfo { this_class_name: "PikaStdData_ByteArray", this_class_name_without_file: "ByteArray", super_class_name: "PikaStdData_List", method_list: {"fromString": MethodInfo { class_name: "PikaStdData_ByteArray", name: "fromString", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_Dict": ClassInfo { this_class_name: "PikaStdData_Dict", this_class_name_without_file: "Dict", super_class_name: "TinyObj", method_list: {"__del__": MethodInfo { class_name: "PikaStdData_Dict", name: "__del__", arg_list: None, return_type: None, is_constructor: false }, "__get__": MethodInfo { class_name: "PikaStdData_Dict", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_Dict", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_Dict", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_Dict", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_Dict", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_Dict", name: "get", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "keys": MethodInfo { class_name: "PikaStdData_Dict", name: "keys", arg_list: None, return_type: Some(PyType { type_name: "dict_keys" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdData_Dict", name: "remove", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_Dict", name: "set", arg_list: Some(ArgList { py_arg_list: "key:str,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_List": ClassInfo { this_class_name: "PikaStdData_List", this_class_name_without_file: "List", super_class_name: "TinyObj", method_list: {"__del__": MethodInfo { class_name: "PikaStdData_List", name: "__del__", arg_list: None, return_type: None, is_constructor: false }, "__get__": MethodInfo { class_name: "PikaStdData_List", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_List", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_List", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_List", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_List", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "append": MethodInfo { class_name: "PikaStdData_List", name: "append", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_List", name: "get", arg_list: Some(ArgList { py_arg_list: "i:int", list: {"i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdData_List", name: "len", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_List", name: "set", arg_list: Some(ArgList { py_arg_list: "i:int,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_String": ClassInfo { this_class_name: "PikaStdData_String", this_class_name_without_file: "String", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_String", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_String", name: "__init__", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_String", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_String", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_String", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "__str__": MethodInfo { class_name: "PikaStdData_String", name: "__str__", arg_list: None, return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "endwith": MethodInfo { class_name: "PikaStdData_String", name: "endwith", arg_list: Some(ArgList { py_arg_list: "suffix:str", list: {"suffix": PyArg { py_type: PyType { type_name: "str" }, name: "suffix" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_String", name: "get", arg_list: None, return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "isalnum": MethodInfo { class_name: "PikaStdData_String", name: "isalnum", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "isalpha": MethodInfo { class_name: "PikaStdData_String", name: "isalpha", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "isdigit": MethodInfo { class_name: "PikaStdData_String", name: "isdigit", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "islower": MethodInfo { class_name: "PikaStdData_String", name: "islower", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "isspace": MethodInfo { class_name: "PikaStdData_String", name: "isspace", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_String", name: "set", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }, "split": MethodInfo { class_name: "PikaStdData_String", name: "split", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: Some(PyType { type_name: "List" }), is_constructor: false }, "startwith": MethodInfo { class_name: "PikaStdData_String", name: "startwith", arg_list: Some(ArgList { py_arg_list: "prefix:str", list: {"prefix": PyArg { py_type: PyType { type_name: "str" }, name: "prefix" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_Utils": ClassInfo { this_class_name: "PikaStdData_Utils", this_class_name_without_file: "Utils", super_class_name: "TinyObj", method_list: {"int_to_bytes": MethodInfo { class_name: "PikaStdData_Utils", name: "int_to_bytes", arg_list: Some(ArgList { py_arg_list: "val:int", list: {"val": PyArg { py_type: PyType { type_name: "int" }, name: "val" }} }), return_type: Some(PyType { type_name: "bytes" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_dict_keys": ClassInfo { this_class_name: "PikaStdData_dict_keys", this_class_name_without_file: "dict_keys", super_class_name: "TinyObj", method_list: {"__iter__": MethodInfo { class_name: "PikaStdData_dict_keys", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_dict_keys", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib": ClassInfo { this_class_name: "PikaStdLib", this_class_name_without_file: "PikaStdLib", super_class_name: "TinyObj", method_list: {"MemChecker": MethodInfo { class_name: "PikaStdLib", name: "MemChecker", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "PikaObj": MethodInfo { class_name: "PikaStdLib", name: "PikaObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "RangeObj": MethodInfo { class_name: "PikaStdLib", name: "RangeObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "StringObj": MethodInfo { class_name: "PikaStdLib", name: "StringObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "SysObj": MethodInfo { class_name: "PikaStdLib", name: "SysObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdLib_MemChecker": ClassInfo { this_class_name: "PikaStdLib_MemChecker", this_class_name_without_file: "MemChecker", super_class_name: "TinyObj", method_list: {"getMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getMax", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "getNow": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getNow", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "max": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "max", arg_list: None, return_type: None, is_constructor: false }, "now": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "now", arg_list: None, return_type: None, is_constructor: false }, "resetMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "resetMax", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_PikaObj": ClassInfo { this_class_name: "PikaStdLib_PikaObj", this_class_name_without_file: "PikaObj", super_class_name: "TinyObj", method_list: {}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_RangeObj": ClassInfo { this_class_name: "PikaStdLib_RangeObj", this_class_name_without_file: "RangeObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_RangeObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_StringObj": ClassInfo { this_class_name: "PikaStdLib_StringObj", this_class_name_without_file: "StringObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_StringObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_SysObj": ClassInfo { this_class_name: "PikaStdLib_SysObj", this_class_name_without_file: "SysObj", super_class_name: "BaseObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__get__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__set__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any,val:any,obj_str:str", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }, "obj_str": PyArg { py_type: PyType { type_name: "str" }, name: "obj_str" }, "val": PyArg { py_type: PyType { type_name: "any" }, name: "val" }} }), return_type: None, is_constructor: false }, "__slice__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__slice__", arg_list: Some(ArgList { py_arg_list: "obj:any,start:any,end:any,step:int", list: {"end": PyArg { py_type: PyType { type_name: "any" }, name: "end" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }, "start": PyArg { py_type: PyType { type_name: "any" }, name: "start" }, "step": PyArg { py_type: PyType { type_name: "int" }, name: "step" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "bytes": MethodInfo { class_name: "PikaStdLib_SysObj", name: "bytes", arg_list: Some(ArgList { py_arg_list: "val:any", list: {"val": PyArg { py_type: PyType { type_name: "any" }, name: "val" }} }), return_type: Some(PyType { type_name: "bytes" }), is_constructor: false }, "cformat": MethodInfo { class_name: "PikaStdLib_SysObj", name: "cformat", arg_list: Some(ArgList { py_arg_list: "fmt:str,*var", list: {"fmt": PyArg { py_type: PyType { type_name: "str" }, name: "fmt" }, "var": PyArg { py_type: PyType { type_name: "@tupleVarPar" }, name: "var" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "chr": MethodInfo { class_name: "PikaStdLib_SysObj", name: "chr", arg_list: Some(ArgList { py_arg_list: "val:int", list: {"val": PyArg { py_type: PyType { type_name: "int" }, name: "val" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "dict": MethodInfo { class_name: "PikaStdLib_SysObj", name: "dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "float": MethodInfo { class_name: "PikaStdLib_SysObj", name: "float", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "hex": MethodInfo { class_name: "PikaStdLib_SysObj", name: "hex", arg_list: Some(ArgList { py_arg_list: "val:int", list: {"val": PyArg { py_type: PyType { type_name: "int" }, name: "val" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "id": MethodInfo { class_name: "PikaStdLib_SysObj", name: "id", arg_list: Some(ArgList { py_arg_list: "obj:any", list: {"obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "int": MethodInfo { class_name: "PikaStdLib_SysObj", name: "int", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "iter": MethodInfo { class_name: "PikaStdLib_SysObj", name: "iter", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdLib_SysObj", name: "len", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "list": MethodInfo { class_name: "PikaStdLib_SysObj", name: "list", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "ord": MethodInfo { class_name: "PikaStdLib_SysObj", name: "ord", arg_list: Some(ArgList { py_arg_list: "val:str", list: {"val": PyArg { py_type: PyType { type_name: "str" }, name: "val" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "print": MethodInfo { class_name: "PikaStdLib_SysObj", name: "print", arg_list: Some(ArgList { py_arg_list: "*val", list: {"val": PyArg { py_type: PyType { type_name: "@tupleVarPar" }, name: "val" }} }), return_type: None, is_constructor: false }, "printNoEnd": MethodInfo { class_name: "PikaStdLib_SysObj", name: "printNoEnd", arg_list: Some(ArgList { py_arg_list: "val:any", list: {"val": PyArg { py_type: PyType { type_name: "any" }, name: "val" }} }), return_type: None, is_constructor: false }, "range": MethodInfo { class_name: "PikaStdLib_SysObj", name: "range", arg_list: Some(ArgList { py_arg_list: "a1:int,a2:int", list: {"a1": PyArg { py_type: PyType { type_name: "int" }, name: "a1" }, "a2": PyArg { py_type: PyType { type_name: "int" }, name: "a2" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdLib_SysObj", name: "remove", arg_list: Some(ArgList { py_arg_list: "argPath:str", list: {"argPath": PyArg { py_type: PyType { type_name: "str" }, name: "argPath" }} }), return_type: None, is_constructor: false }, "str": MethodInfo { class_name: "PikaStdLib_SysObj", name: "str", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "type": MethodInfo { class_name: "PikaStdLib_SysObj", name: "type", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdTask": ClassInfo { this_class_name: "PikaStdTask", this_class_name_without_file: "PikaStdTask", super_class_name: "TinyObj", method_list: {"Task": MethodInfo { class_name: "PikaStdTask", name: "Task", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdTask_Task": ClassInfo { this_class_name: "PikaStdTask_Task", this_class_name_without_file: "Task", super_class_name: "PikaStdLib_SysObj", method_list: {"__init__": MethodInfo { class_name: "PikaStdTask_Task", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "call_always": MethodInfo { class_name: "PikaStdTask_Task", name: "call_always", arg_list: Some(ArgList { py_arg_list: "fun_todo:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }} }), return_type: None, is_constructor: false }, "call_period_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "call_period_ms", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,period_ms:int", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "period_ms": PyArg { py_type: PyType { type_name: "int" }, name: "period_ms" }} }), return_type: None, is_constructor: false }, "call_when": MethodInfo { class_name: "PikaStdTask_Task", name: "call_when", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,fun_when:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "fun_when": PyArg { py_type: PyType { type_name: "any" }, name: "fun_when" }} }), return_type: None, is_constructor: false }, "platformGetTick": MethodInfo { class_name: "PikaStdTask_Task", name: "platformGetTick", arg_list: None, return_type: None, is_constructor: false }, "run_forever": MethodInfo { class_name: "PikaStdTask_Task", name: "run_forever", arg_list: None, return_type: None, is_constructor: false }, "run_once": MethodInfo { class_name: "PikaStdTask_Task", name: "run_once", arg_list: None, return_type: None, is_constructor: false }, "run_until_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "run_until_ms", arg_list: Some(ArgList { py_arg_list: "until_ms:int", list: {"until_ms": PyArg { py_type: PyType { type_name: "int" }, name: "until_ms" }} }), return_type: None, is_constructor: false }}, object_list: {"calls": ObjectInfo { class_name: "PikaStdTask_Task", name: "calls", import_class_name: "PikaStdData_List" }}, import_list: {}, script_list: Script { content: "" }, is_package: false }}, class_now_name: Some("PikaDebug_Debuger"), package_now_name: Some("PikaDebug"), compiled_list: ["main", "PikaStdLib", "PikaStdData", "PikaStdTask", "PikaStdData", "PikaStdLib", "PikaStdData", "PikaDebug"] }
\ No newline at end of file
diff --git a/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a b/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a
index cb6cdeee7..c6da76dc0 100644
Binary files a/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a and b/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a differ
diff --git a/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe b/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe
index e83302f9b..cc503e1f2 100644
Binary files a/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe and b/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe differ