@intechstudio/grid-protocol 1.20260505.1216 → 1.20260505.1250
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/grid-protocol.d.ts +12 -4
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/grid-protocol.d.ts
CHANGED
|
@@ -11,7 +11,8 @@ export declare enum ModuleType {
|
|
|
11
11
|
VSN1R = "VSN1R",
|
|
12
12
|
VSN2 = "VSN2",
|
|
13
13
|
PB44 = "PB44",
|
|
14
|
-
OCTV = "OCTV"
|
|
14
|
+
OCTV = "OCTV",
|
|
15
|
+
XY = "XY"
|
|
15
16
|
}
|
|
16
17
|
export declare enum EventType {
|
|
17
18
|
SETUP = "setup",
|
|
@@ -22,10 +23,11 @@ export declare enum EventType {
|
|
|
22
23
|
MIDIRX = "midi rx",
|
|
23
24
|
TIMER = "timer",
|
|
24
25
|
ENDLESS = "endless",
|
|
25
|
-
DRAW = "draw"
|
|
26
|
+
DRAW = "draw",
|
|
27
|
+
TOUCH = "touch"
|
|
26
28
|
}
|
|
27
29
|
export declare function NumberToEventType(value: Number): EventType;
|
|
28
|
-
export declare function EventTypeToNumber(value: EventType): 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
30
|
+
export declare function EventTypeToNumber(value: EventType): 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
29
31
|
export declare enum ElementType {
|
|
30
32
|
SYSTEM = "system",
|
|
31
33
|
BUTTON = "button",
|
|
@@ -33,7 +35,8 @@ export declare enum ElementType {
|
|
|
33
35
|
ENCODER = "encoder",
|
|
34
36
|
FADER = "fader",
|
|
35
37
|
ENDLESS = "endless",
|
|
36
|
-
LCD = "lcd"
|
|
38
|
+
LCD = "lcd",
|
|
39
|
+
TOUCH = "touch"
|
|
37
40
|
}
|
|
38
41
|
export declare enum Architecture {
|
|
39
42
|
ESP32 = "esp32",
|
|
@@ -87,6 +90,11 @@ export declare namespace grid {
|
|
|
87
90
|
desc: string;
|
|
88
91
|
value: number;
|
|
89
92
|
key: string;
|
|
93
|
+
}[] | {
|
|
94
|
+
defaultConfig: string;
|
|
95
|
+
desc: string;
|
|
96
|
+
value: number;
|
|
97
|
+
key: string;
|
|
90
98
|
}[];
|
|
91
99
|
function module_architecture_from_hwcfg(hwcfg: number): Architecture.ESP32 | Architecture.D51;
|
|
92
100
|
function encode_packet(descriptor: any): {
|
package/dist/index.js
CHANGED
|
@@ -948,6 +948,10 @@ var GRID_LUA_L_TYPE = "Lcd";
|
|
|
948
948
|
var GRID_LUA_L_META_init = "GRID_LUA_L_TYPE \" = { __index = {type = 'lcd', post_init_cb = function (self) self:\"GRID_LUA_FNC_A_INIT_short\"() end,\" GRID_LUA_FNC_ASSIGN_META_PAR1_RET(\"gen\", GRID_LUA_FNC_G_ELEMENTNAME_short) \",}}\"";
|
|
949
949
|
var GRID_ACTIONSTRING_LCD_INIT = "--[[@cb]]glsb(255)pi,s,c,self.f,self.v,self.id=math.pi,64,{{0,0,0},{255,255,255},{glr(),glg(),glb()}},1,{27,0,100},\\\"VSN1\\\" d={[1]=\\\"Linear\\\",[2]=\\\"Encoder\\\",[3]=\\\"Button\\\",[7]=\\\"Endless\\\"}xc,yc,p=160,120,s * 5 / 8 self.eventrx_cb=function(self,hdr,e,v,n)self.v=v if #n==0 and d[e[3]]then n=d[e[3]].. e[2]end self.id=string.sub(n,1,(self:lsw()/(s / 2)- 1)// 1)self.f=1 end self:ldaf(0,0,319,239,c[1])self:ldrr(3,3,317,237,10,c[2])";
|
|
950
950
|
var GRID_ACTIONSTRING_LCD_DRAW = "--[[@cb]]if self.f > 0 then self.f=self.f - 1 local a,xo=gmaps(self.v[1],self.v[2],self.v[3],0.1,1),#tostring(self.v[1])/ 2 * s / 2 - #tostring(self.v[1])- s // 32 self:ldaf(10,10,310,230,c[1])self:ldrr(xc - p // 1 - 1,yc - p // 1 - 1,xc + p // 1 + 1,yc + p // 1 + 1,s,c[2])self:ldrrf(xc - p * a // 1,yc - p * a // 1,xc + p * a // 1,yc + p * a // 1,s,c[3])self:ldft(self.v[1],xc - xo,yc + s,s / 2,c[2])local xn=(#self.id *(s / 2))/ 2 - s // 32 self:ldft(self.id,xc - xn,yc - 1.5 * s,s / 2,c[2])self:ldsw()end";
|
|
951
|
+
var GRID_LUA_T_TYPE = "Touch";
|
|
952
|
+
var GRID_LUA_T_META_init = "GRID_LUA_T_TYPE \" = { __index = {type = 'touch', post_init_cb = function (self) self:\" GRID_LUA_FNC_A_INIT_short \"() self:\" GRID_LUA_FNC_A_TOUCH_short \"() end,\" GRID_LUA_FNC_ASSIGN_META_PAR1_RET(\"gen\", GRID_LUA_FNC_G_ELEMENTNAME_short) \",}}\"";
|
|
953
|
+
var GRID_ACTIONSTRING_TOUCH_INIT = "--[[@cb]]--[[Touch Init]]";
|
|
954
|
+
var GRID_ACTIONSTRING_TOUCH_TOUCH = "--[[@cb]]print(self:ind(),self:tsx(),self:tsy(),self:tar())";
|
|
951
955
|
var GRID_LUA_FNC_G_DECODE_source = "common_src_lua_decode_lua";
|
|
952
956
|
var GRID_LUA_FNC_G_DECODE_short = "gdec";
|
|
953
957
|
var GRID_LUA_FNC_G_DECODE_human = "decode";
|
|
@@ -1944,6 +1948,10 @@ var grid_protocol_bot = {
|
|
|
1944
1948
|
GRID_LUA_L_META_init: GRID_LUA_L_META_init,
|
|
1945
1949
|
GRID_ACTIONSTRING_LCD_INIT: GRID_ACTIONSTRING_LCD_INIT,
|
|
1946
1950
|
GRID_ACTIONSTRING_LCD_DRAW: GRID_ACTIONSTRING_LCD_DRAW,
|
|
1951
|
+
GRID_LUA_T_TYPE: GRID_LUA_T_TYPE,
|
|
1952
|
+
GRID_LUA_T_META_init: GRID_LUA_T_META_init,
|
|
1953
|
+
GRID_ACTIONSTRING_TOUCH_INIT: GRID_ACTIONSTRING_TOUCH_INIT,
|
|
1954
|
+
GRID_ACTIONSTRING_TOUCH_TOUCH: GRID_ACTIONSTRING_TOUCH_TOUCH,
|
|
1947
1955
|
GRID_LUA_FNC_G_DECODE_source: GRID_LUA_FNC_G_DECODE_source,
|
|
1948
1956
|
GRID_LUA_FNC_G_DECODE_short: GRID_LUA_FNC_G_DECODE_short,
|
|
1949
1957
|
GRID_LUA_FNC_G_DECODE_human: GRID_LUA_FNC_G_DECODE_human,
|
|
@@ -2010,6 +2018,8 @@ var protocol_data = /*#__PURE__*/Object.freeze({
|
|
|
2010
2018
|
GRID_ACTIONSTRING_SYSTEM_INIT: GRID_ACTIONSTRING_SYSTEM_INIT,
|
|
2011
2019
|
GRID_ACTIONSTRING_SYSTEM_MAPMODE: GRID_ACTIONSTRING_SYSTEM_MAPMODE,
|
|
2012
2020
|
GRID_ACTIONSTRING_SYSTEM_TIMER: GRID_ACTIONSTRING_SYSTEM_TIMER,
|
|
2021
|
+
GRID_ACTIONSTRING_TOUCH_INIT: GRID_ACTIONSTRING_TOUCH_INIT,
|
|
2022
|
+
GRID_ACTIONSTRING_TOUCH_TOUCH: GRID_ACTIONSTRING_TOUCH_TOUCH,
|
|
2013
2023
|
GRID_BRC_DX_length: GRID_BRC_DX_length,
|
|
2014
2024
|
GRID_BRC_DX_offset: GRID_BRC_DX_offset,
|
|
2015
2025
|
GRID_BRC_DY_length: GRID_BRC_DY_length,
|
|
@@ -2898,6 +2908,8 @@ var protocol_data = /*#__PURE__*/Object.freeze({
|
|
|
2898
2908
|
GRID_LUA_P_TYPE: GRID_LUA_P_TYPE,
|
|
2899
2909
|
GRID_LUA_S_META_init: GRID_LUA_S_META_init,
|
|
2900
2910
|
GRID_LUA_S_TYPE: GRID_LUA_S_TYPE,
|
|
2911
|
+
GRID_LUA_T_META_init: GRID_LUA_T_META_init,
|
|
2912
|
+
GRID_LUA_T_TYPE: GRID_LUA_T_TYPE,
|
|
2901
2913
|
GRID_MODULE_BU16_RevB: GRID_MODULE_BU16_RevB,
|
|
2902
2914
|
GRID_MODULE_BU16_RevC: GRID_MODULE_BU16_RevC,
|
|
2903
2915
|
GRID_MODULE_BU16_RevD: GRID_MODULE_BU16_RevD,
|
|
@@ -3098,6 +3110,7 @@ var ModuleType;
|
|
|
3098
3110
|
ModuleType["VSN2"] = "VSN2";
|
|
3099
3111
|
ModuleType["PB44"] = "PB44";
|
|
3100
3112
|
ModuleType["OCTV"] = "OCTV";
|
|
3113
|
+
ModuleType["XY"] = "XY";
|
|
3101
3114
|
})(ModuleType || (ModuleType = {}));
|
|
3102
3115
|
var EventType;
|
|
3103
3116
|
(function (EventType) {
|
|
@@ -3110,6 +3123,7 @@ var EventType;
|
|
|
3110
3123
|
EventType["TIMER"] = "timer";
|
|
3111
3124
|
EventType["ENDLESS"] = "endless";
|
|
3112
3125
|
EventType["DRAW"] = "draw";
|
|
3126
|
+
EventType["TOUCH"] = "touch";
|
|
3113
3127
|
})(EventType || (EventType = {}));
|
|
3114
3128
|
function NumberToEventType(value) {
|
|
3115
3129
|
switch (value) {
|
|
@@ -3131,6 +3145,8 @@ function NumberToEventType(value) {
|
|
|
3131
3145
|
return EventType.ENDLESS;
|
|
3132
3146
|
case 8:
|
|
3133
3147
|
return EventType.DRAW;
|
|
3148
|
+
case 9:
|
|
3149
|
+
return EventType.TOUCH;
|
|
3134
3150
|
default:
|
|
3135
3151
|
throw "Unknown event type";
|
|
3136
3152
|
}
|
|
@@ -3155,6 +3171,8 @@ function EventTypeToNumber(value) {
|
|
|
3155
3171
|
return 7;
|
|
3156
3172
|
case EventType.DRAW:
|
|
3157
3173
|
return 8;
|
|
3174
|
+
case EventType.TOUCH:
|
|
3175
|
+
return 9;
|
|
3158
3176
|
default:
|
|
3159
3177
|
throw "Unknown event type";
|
|
3160
3178
|
}
|
|
@@ -3168,6 +3186,7 @@ var ElementType;
|
|
|
3168
3186
|
ElementType["FADER"] = "fader";
|
|
3169
3187
|
ElementType["ENDLESS"] = "endless";
|
|
3170
3188
|
ElementType["LCD"] = "lcd";
|
|
3189
|
+
ElementType["TOUCH"] = "touch";
|
|
3171
3190
|
})(ElementType || (ElementType = {}));
|
|
3172
3191
|
var Architecture;
|
|
3173
3192
|
(function (Architecture) {
|
|
@@ -3543,6 +3562,11 @@ var CEEAT = (_a = {},
|
|
|
3543
3562
|
value: 8,
|
|
3544
3563
|
key: "DRAW",
|
|
3545
3564
|
},
|
|
3565
|
+
_a[EventType.TOUCH] = {
|
|
3566
|
+
desc: EventType.TOUCH,
|
|
3567
|
+
value: 9,
|
|
3568
|
+
key: "TOUCH",
|
|
3569
|
+
},
|
|
3546
3570
|
_a);
|
|
3547
3571
|
// Define the module types and their associated element types
|
|
3548
3572
|
var moduleElements = (_b = {},
|
|
@@ -3585,6 +3609,9 @@ var moduleElements = (_b = {},
|
|
|
3585
3609
|
_b[ModuleType.OCTV] = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], Array(8).fill(ElementType.ENCODER), true), Array(13).fill(ElementType.BUTTON), true), Array(234), true), [
|
|
3586
3610
|
ElementType.SYSTEM, // Add system element at index 255
|
|
3587
3611
|
], false),
|
|
3612
|
+
_b[ModuleType.XY] = __spreadArray(__spreadArray(__spreadArray([], Array(5).fill(ElementType.TOUCH), true), Array(250), true), [
|
|
3613
|
+
ElementType.SYSTEM, // Add system element at index 255
|
|
3614
|
+
], false),
|
|
3588
3615
|
_b);
|
|
3589
3616
|
// elementEvents based on control element type and the CEEA table
|
|
3590
3617
|
var elementEvents = (_c = {},
|
|
@@ -3624,6 +3651,11 @@ var elementEvents = (_c = {},
|
|
|
3624
3651
|
__assign(__assign({}, CEEAT[EventType.SETUP]), { defaultConfig: grid_protocol.GRID_ACTIONSTRING_LCD_INIT }),
|
|
3625
3652
|
__assign(__assign({}, CEEAT[EventType.DRAW]), { defaultConfig: grid_protocol.GRID_ACTIONSTRING_LCD_DRAW }),
|
|
3626
3653
|
],
|
|
3654
|
+
_c[ElementType.TOUCH] = [
|
|
3655
|
+
__assign(__assign({}, CEEAT[EventType.SETUP]), { defaultConfig: grid_protocol.GRID_ACTIONSTRING_TOUCH_INIT }),
|
|
3656
|
+
__assign(__assign({}, CEEAT[EventType.TOUCH]), { defaultConfig: grid_protocol.GRID_ACTIONSTRING_TOUCH_TOUCH }),
|
|
3657
|
+
__assign(__assign({}, CEEAT[EventType.TIMER]), { defaultConfig: grid_protocol.GRID_ACTIONSTRING_SYSTEM_TIMER }),
|
|
3658
|
+
],
|
|
3627
3659
|
_c);
|
|
3628
3660
|
var GridProperty = /** @class */ (function () {
|
|
3629
3661
|
function GridProperty() {
|
|
@@ -3785,6 +3817,19 @@ var GridProperty = /** @class */ (function () {
|
|
|
3785
3817
|
elementtype: ElementType.SYSTEM,
|
|
3786
3818
|
});
|
|
3787
3819
|
}
|
|
3820
|
+
if (key.startsWith("GRID_LUA_FNC_T") && key.endsWith("_human")) {
|
|
3821
|
+
var value = grid_protocol[key];
|
|
3822
|
+
LUA_AUTOCOMPLETE.push({
|
|
3823
|
+
label: "self:" + value,
|
|
3824
|
+
type: "function",
|
|
3825
|
+
elementtype: ElementType.TOUCH,
|
|
3826
|
+
});
|
|
3827
|
+
LUA_AUTOCOMPLETE.push({
|
|
3828
|
+
label: "element[0]:" + value,
|
|
3829
|
+
type: "function",
|
|
3830
|
+
elementtype: ElementType.SYSTEM,
|
|
3831
|
+
});
|
|
3832
|
+
}
|
|
3788
3833
|
// GRID LUA KEYWORDS
|
|
3789
3834
|
if (key.startsWith("GRID_LUA_KW_")) {
|
|
3790
3835
|
var paramSet = key.split("_");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED