ag-psd 15.3.0 → 16.0.0

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-es/text.js CHANGED
@@ -100,23 +100,34 @@ var styleKeys = [
100
100
  var antialias = ['none', 'crisp', 'strong', 'smooth', 'sharp'];
101
101
  var justification = ['left', 'right', 'center'];
102
102
  function upperFirst(value) {
103
- return value.substr(0, 1).toUpperCase() + value.substr(1);
103
+ return value.substring(0, 1).toUpperCase() + value.substring(1);
104
104
  }
105
105
  function decodeColor(color) {
106
106
  var c = color.Values;
107
- if (color.Type === 0) { // grayscale
108
- return { r: c[1] * 255, g: c[1] * 255, b: c[1] * 255 }; // , c[0] * 255];
109
- }
110
- else { // rgb
111
- return { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255, a: c[0] }; // , c[0] * 255];
107
+ switch (color.Type) {
108
+ case 0: return { k: c[1] * 255 }; // grayscale (alpha?)
109
+ case 1: return c[0] === 1 ?
110
+ { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255 } : // rgb
111
+ { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255, a: c[0] * 255 }; // rgba
112
+ case 2: return { c: c[1] * 255, m: c[2] * 255, y: c[3] * 255, k: c[4] * 255 }; // cmyk (alpha?)
113
+ default: throw new Error('Unknown color type in text layer');
112
114
  }
113
115
  }
114
116
  function encodeColor(color) {
115
- if (color && 'r' in color) {
116
- return ['a' in color ? color.a : 1, color.r / 255, color.g / 255, color.b / 255];
117
+ if (!color) {
118
+ return { Type: 1, Values: [0, 0, 0, 0] };
119
+ }
120
+ else if ('r' in color) {
121
+ return { Type: 1, Values: ['a' in color ? color.a / 255 : 1, color.r / 255, color.g / 255, color.b / 255] };
122
+ }
123
+ else if ('c' in color) {
124
+ return { Type: 2, Values: [1, color.c / 255, color.m / 255, color.y / 255, color.k / 255] };
125
+ }
126
+ else if ('k' in color) {
127
+ return { Type: 0, Values: [1, color.k / 255] };
117
128
  }
118
129
  else {
119
- return [0, 0, 0, 0];
130
+ throw new Error('Invalid color type in text layer');
120
131
  }
121
132
  }
122
133
  function arraysEqual(a, b) {
@@ -189,7 +200,7 @@ function encodeObject(obj, keys, fonts) {
189
200
  result[Key] = findOrAddFont(fonts, obj[key]);
190
201
  }
191
202
  else if (key === 'fillColor' || key === 'strokeColor') {
192
- result[Key] = { Type: 1, Values: encodeColor(obj[key]) };
203
+ result[Key] = encodeColor(obj[key]);
193
204
  }
194
205
  else {
195
206
  result[Key] = obj[key];
@@ -524,8 +535,8 @@ export function encodeEngineData(data) {
524
535
  ShowGrid: !!gridInfo.show,
525
536
  GridSize: (_j = gridInfo.size) !== null && _j !== void 0 ? _j : 18,
526
537
  GridLeading: (_k = gridInfo.leading) !== null && _k !== void 0 ? _k : 22,
527
- GridColor: { Type: 1, Values: encodeColor(gridInfo.color) },
528
- GridLeadingFillColor: { Type: 1, Values: encodeColor(gridInfo.color) },
538
+ GridColor: encodeColor(gridInfo.color),
539
+ GridLeadingFillColor: encodeColor(gridInfo.color),
529
540
  AlignLineHeightToGridFlags: !!gridInfo.alignLineHeightToGridFlags,
530
541
  },
531
542
  AntiAlias: antialias.indexOf((_l = data.antiAlias) !== null && _l !== void 0 ? _l : 'sharp'),
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"../src/","sources":["text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"../src/","sources":["text.ts"],"names":[],"mappings":";;;;;;;;;;;AAuKA,IAAM,WAAW,GAAS;IACzB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;CACZ,CAAC;AAEF,IAAM,qBAAqB,GAAmB;IAC7C,aAAa,EAAE,MAAM;IACrB,eAAe,EAAE,CAAC;IAClB,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,CAAC;IACrB,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,kBAAkB,EAAE,CAAC;IACrB,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC;IAC3B,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvB,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC;IACf,iBAAiB,EAAE,KAAK;CACxB,CAAC;AAEF,IAAM,YAAY,GAAc;IAC/B,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,CAAC;IAClB,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC;IACX,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,CAAC;IACpB,KAAK,EAAE,CAAC;IACR,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAC/B,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACjC,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,CAAC;IACf,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,CAAC;CACf,CAAC;AAEF,IAAM,eAAe,GAAiB;IACrC,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;IAC7B,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;IACxC,0BAA0B,EAAE,KAAK;CACjC,CAAC;AAEF,IAAM,kBAAkB,GAA6B;IACpD,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY;IAC3F,eAAe,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB;IACtF,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa;IACpF,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB;CAC5D,CAAC;AAEF,IAAM,SAAS,GAAwB;IACtC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB;IACzF,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc;IAClG,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,OAAO;IACrF,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU;IAClF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc;IAC7F,SAAS,EAAE,cAAc;CACzB,CAAC;AAEF,IAAM,SAAS,GAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9E,IAAM,aAAa,GAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEnE,SAAS,UAAU,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IACrC,IAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,QAAQ,KAAK,CAAC,IAAI,EAAE;QACnB,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,qBAAqB;QACvD,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM;YACxD,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO;QACxE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,gBAAgB;QAC/F,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KAC7D;AACF,CAAC;AAED,SAAS,WAAW,CAAC,KAAwB;IAC5C,IAAI,CAAC,KAAK,EAAE;QACX,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;KACzC;SAAM,IAAI,GAAG,IAAI,KAAK,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;KAC5G;SAAM,IAAI,GAAG,IAAI,KAAK,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;KAC5F;SAAM,IAAI,GAAG,IAAI,KAAK,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;KAC/C;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACpD;AACF,CAAC;AAED,SAAS,WAAW,CAAC,CAAQ,EAAE,CAAQ;IACtC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACnE,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,CAAM,EAAE,CAAM;IACnC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,KAAkB,UAAc,EAAd,KAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAd,cAAc,EAAd,IAAc;QAA3B,IAAM,GAAG,SAAA;QAAoB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;KAAA;IACtE,KAAkB,UAAc,EAAd,KAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAd,cAAc,EAAd,IAAc;QAA3B,IAAM,GAAG,SAAA;QAAoB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;KAAA;IACtE,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,IAAU;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;KAC1C;IAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,GAAQ,EAAE,IAAc,EAAE,KAAa;IAC5D,IAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAkB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;QAAnB,IAAM,GAAG,aAAA;QACb,IAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QAErC,IAAI,GAAG,KAAK,eAAe,EAAE;YAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACtC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,EAAE;YACxD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC;aAAM;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SACvB;KACD;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,GAAQ,EAAE,IAAc,EAAE,KAAa;;IAC5D,IAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAkB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;QAAnB,IAAM,GAAG,aAAA;QACb,IAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QAErC,IAAI,GAAG,KAAK,eAAe,EAAE;YAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,MAAA,GAAG,CAAC,GAAG,CAAC,mCAAI,MAAM,CAAC,CAAC;SACxD;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7C;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,EAAE;YACxD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC;aAAM;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SACvB;KACD;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAwB,EAAE,KAAa;IACpE,OAAO,YAAY,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,GAAmB,EAAE,KAAa;IACtD,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAmB,EAAE,KAAa;IAC/D,OAAO,YAAY,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,GAAc,EAAE,KAAa;IACjD,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAI,IAAO,EAAE,IAAqB,EAAE,IAAiB;IAC9E,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO;4BAEd,GAAG;QACb,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,KAAK,KAAK,SAAS,EAAE;YACxB,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAQ,EAAE,KAAK,CAAC,EAAvC,CAAuC,CAAC,CAAC;aACrE;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACrC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAA,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAQ,EAAE,KAAK,CAAC,EAAxC,CAAwC,CAAC,CAAC;aACtE;iBAAM;gBACN,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAtB,CAAsB,CAAC,CAAC;aACpD;YAED,IAAI,SAAS,EAAE;gBACd,IAAI,CAAC,GAAG,CAAC,GAAG,KAAY,CAAC;aACzB;SACD;QAED,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,UAAU,KAAK,SAAS,EAAE;YAC7B,KAAgB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;gBAAjB,IAAM,CAAC,aAAA;gBACX,IAAI,IAAI,GAAG,KAAK,CAAC;gBAEjB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACzB,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAQ,EAAE,KAAK,CAAC,CAAC;iBAC/C;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBACrC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAQ,EAAE,KAAK,CAAC,CAAC;iBAChD;qBAAM;oBACN,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;iBAC9B;gBAED,IAAI,IAAI;oBAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC9B;SACD;;IAnCF,KAAkB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;QAAjB,IAAM,GAAG,aAAA;gBAAH,GAAG;KAoCb;IAED,IAAI,IAAI,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAxC,CAAwC,CAAC,EAAE;QAC9D,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;KAChB;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAsB;;IACtD,mFAAmF;IACnF,IAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IACzC,IAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAE7C,IAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAO,UAAA,CAAC,IAAI,OAAA,CAAC;QAClD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,CAAC,QAAQ;QAChB,SAAS,EAAE,CAAC,CAAC,SAAS;KACtB,CAAC,EALgD,CAKhD,CAAC,CAAC;IAEJ,IAAI,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACxB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,iBAAiB,EAAE,CAAC;KACpB;IAED,IAAM,MAAM,GAAkB;QAC7B,IAAI,MAAA;QACJ,SAAS,EAAE,MAAA,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,mCAAI,QAAQ;QACtD,wBAAwB,EAAE,CAAC,CAAC,UAAU,CAAC,wBAAwB;QAC/D,eAAe,EAAE,YAAY,CAAC,eAAe;QAC7C,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QACrD,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;QACjD,YAAY,EAAE,YAAY,CAAC,YAAY;KACvC,CAAC;IAEF,QAAQ;IAER,IAAM,SAAS,GAAG,MAAA,MAAA,MAAA,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,MAAM,0CAAE,QAAQ,0CAAG,CAAC,CAAC,0CAAE,MAAM,0CAAE,SAAS,CAAC;IAEhF,IAAI,SAAS,EAAE;QACd,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,SAAS,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QAChE,IAAI,SAAS,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;KAChE;IAED,kBAAkB;IAElB,wEAAwE;IACxE,4DAA4D;IAC5D,qFAAqF;IACrF,IAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC;IAExD,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,oDAAoD;IAChF,MAAM,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtD,IAAM,KAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAM,QAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAM,KAAK,GAAG,oBAAoB,CAAC,KAAG,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzE,wBAAwB;QACxB,gCAAgC;QAChC,4BAA4B;QAC5B,KAAK;QACL,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,UAAA,EAAE,KAAK,OAAA,CAAA,iBAAiB,EAAE,CAAC,CAAC;KACnE;IAED,KAAK,IAAI,OAAO,GAAG,iBAAiB,EAAE,MAAM,CAAC,kBAAkB,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE;QACjG,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACnF,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;SAChC;KACD;IAED,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAExF,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,kBAAkB,CAAC;IAExE,QAAQ;IAER,gEAAgE;IAChE,oDAAoD;IACpD,4EAA4E;IAC5E,IAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;IAEhD,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,sCAAsC;IACzD,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClD,IAAM,QAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACjF,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,UAAA,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;KACzC;IAED,KAAK,IAAI,OAAO,GAAG,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE;QACxF,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACjE,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SACvB;KACD;IAED,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE7D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC;IAEtD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAmB;;IACnD,IAAM,IAAI,GAAG,UAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAI,CAAC;IAE9D,IAAM,KAAK,GAAW;QACrB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;KAC5D,CAAC;IAEF,IAAM,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,MAAI,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,CAAC,IAAI,EAAZ,CAAY,CAAC,0CAAE,KAAK,CAAC,IAAI,CAAA,IAAI,WAAW,CAAC;IACvG,IAAM,iBAAiB,GAAmB,EAAE,CAAC;IAC7C,IAAM,uBAAuB,GAAa,EAAE,CAAC;IAC7C,IAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAE9C,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE;QAC1C,IAAI,YAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,KAAkB,UAAa,EAAb,+BAAa,EAAb,2BAAa,EAAb,IAAa,EAAE;YAA5B,IAAM,KAAG,sBAAA;YACb,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAG,CAAC,MAAM,EAAE,YAAU,CAAC,CAAC;YACjD,YAAU,IAAI,SAAS,CAAC;YAExB,IAAI,CAAC,SAAS;gBAAE,SAAS,CAAC,qBAAqB;YAE/C,+CAA+C;YAC/C,IAAI,YAAU,KAAK,CAAC,IAAI,KAAG,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;gBACxE,SAAS,EAAE,CAAC;gBACZ,YAAU,EAAE,CAAC;aACb;YAED,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxC,iBAAiB,CAAC,IAAI,CAAC;gBACtB,cAAc,EAAE;oBACf,iBAAiB,EAAE,CAAC;oBACpB,UAAU,EAAE,oBAAoB,gCAAM,qBAAqB,GAAK,IAAI,CAAC,cAAc,GAAK,KAAG,CAAC,KAAK,GAAI,KAAK,CAAC;iBAC3G;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;aAC5C,CAAC,CAAC;SACH;QAED,IAAI,YAAU,EAAE;YACf,uBAAuB,CAAC,IAAI,CAAC,YAAU,CAAC,CAAC;YACzC,iBAAiB,CAAC,IAAI,CAAC;gBACtB,cAAc,EAAE;oBACf,iBAAiB,EAAE,CAAC;oBACpB,UAAU,EAAE,oBAAoB,uBAAM,qBAAqB,GAAK,IAAI,CAAC,cAAc,GAAI,KAAK,CAAC;iBAC7F;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;aAC5C,CAAC,CAAC;SACH;KACD;SAAM;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK;gBACrC,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC3C,iBAAiB,CAAC,IAAI,CAAC;oBACtB,cAAc,EAAE;wBACf,iBAAiB,EAAE,CAAC;wBACpB,UAAU,EAAE,oBAAoB,uBAAM,qBAAqB,GAAK,IAAI,CAAC,cAAc,GAAI,KAAK,CAAC;qBAC7F;oBACD,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;iBAC5C,CAAC,CAAC;gBACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;aACb;SACD;KACD;IAED,IAAM,cAAc,GAAG,WAAW,uBAAM,YAAY,KAAE,IAAI,EAAE,OAAO,KAAI,KAAK,CAAC,CAAC;IAC9E,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;IACvF,IAAM,aAAa,GAAe,EAAE,CAAC;IACrC,IAAM,mBAAmB,GAAa,EAAE,CAAC;IAEzC,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAE7B,KAAkB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,EAAE;QAAxB,IAAM,KAAG,kBAAA;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjD,UAAU,IAAI,SAAS,CAAC;QAExB,IAAI,CAAC,SAAS;YAAE,SAAS,CAAC,qBAAqB;QAE/C,+CAA+C;QAC/C,IAAI,UAAU,KAAK,CAAC,IAAI,KAAG,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YAChE,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QAED,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,aAAa,CAAC,IAAI,CAAC;YAClB,UAAU,EAAE;gBACX,cAAc,EAAE,WAAW,qBAC1B,OAAO,EAAE,CAAC,EACV,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAC5B,IAAI,CAAC,KAAK,GACV,KAAG,CAAC,KAAK,GACV,KAAK,CAAC;aACT;SACD,CAAC,CAAC;KACH;IAED,8DAA8D;IAC9D,IAAI,UAAU,IAAI,SAAS,CAAC,MAAM,EAAE;QACnC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,aAAa,CAAC,IAAI,CAAC;YAClB,UAAU,EAAE;gBACX,cAAc,EAAE,WAAW,YAC1B,OAAO,EAAE,CAAC,EACV,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAC5B,IAAI,CAAC,KAAK,GACX,KAAK,CAAC;aACT;SACD,CAAC,CAAC;KACH;IAED,IAAM,QAAQ,yBAAQ,eAAe,GAAK,IAAI,CAAC,QAAQ,CAAE,CAAC;IAC1D,IAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAM,UAAU,GAAG,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAM,SAAS,GAAkB;QAChC,SAAS,WAAA;KACT,CAAC;IAEF,IAAI,SAAS,KAAK,CAAC,EAAE;QACpB,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/C;SAAM;QACN,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACrD;IAED,yCAAyC;IACzC,SAAS,CAAC,IAAI,GAAG;QAChB,SAAS,WAAA;QACT,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;KACvB,CAAC;IAEF,IAAM,gBAAgB,GAAG;QACxB,UAAU,EAAE;YACX;gBACC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,mEAAmE;gBAC5E,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,MAAM;aACf;YACD;gBACC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,2BAA2B;gBACpC,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,MAAM;aACf;SACD;QACD,WAAW,EAAE;YACZ,EAAE,YAAY,EAAE,wBAAwB,EAAE;YAC1C,EAAE,YAAY,EAAE,wBAAwB,EAAE;YAC1C,EAAE,YAAY,EAAE,wBAAwB,EAAE;YAC1C,EAAE,YAAY,EAAE,wBAAwB,EAAE;SAC1C;QACD,mBAAmB,EAAE,CAAC;QACtB,uBAAuB,EAAE,CAAC;QAC1B,iBAAiB,EAAE;YAClB;gBACC,IAAI,EAAE,YAAY;gBAClB,iBAAiB,EAAE,CAAC;gBACpB,UAAU,EAAE,oBAAoB,uBAAM,qBAAqB,GAAK,IAAI,CAAC,cAAc,GAAI,KAAK,CAAC;aAC7F;SACD;QACD,aAAa,EAAE;YACd;gBACC,IAAI,EAAE,YAAY;gBAClB,cAAc,EAAE,cAAc;aAC9B;SACD;QACD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAU,UAAA,CAAC,IAAI,OAAA,CAAC;YACjC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;YACrB,QAAQ,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;YACrB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC;SAC3B,CAAC,EAL+B,CAK/B,CAAC;QACH,eAAe,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,KAAK;QAC9C,mBAAmB,EAAE,MAAA,IAAI,CAAC,mBAAmB,mCAAI,KAAK;QACtD,aAAa,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,KAAK;QAC1C,iBAAiB,EAAE,MAAA,IAAI,CAAC,iBAAiB,mCAAI,KAAK;QAClD,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,GAAG;KACtC,CAAC;IAEF,IAAM,UAAU,GAAe;QAC9B,UAAU,EAAE;YACX,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACtB,YAAY,EAAE;gBACb,cAAc,EAAE;oBACf,cAAc,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;oBACxD,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;iBAC5C;gBACD,QAAQ,EAAE,iBAAiB;gBAC3B,cAAc,EAAE,uBAAuB;gBACvC,UAAU,EAAE,CAAC;aACb;YACD,QAAQ,EAAE;gBACT,cAAc,EAAE,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE;gBACtD,QAAQ,EAAE,aAAa;gBACvB,cAAc,EAAE,mBAAmB;gBACnC,UAAU,EAAE,CAAC;aACb;YACD,QAAQ,EAAE;gBACT,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACzB,QAAQ,EAAE,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE;gBAC7B,WAAW,EAAE,MAAA,QAAQ,CAAC,OAAO,mCAAI,EAAE;gBACnC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACtC,oBAAoB,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjD,0BAA0B,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAA0B;aACjE;YACD,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,SAAS,mCAAI,OAAO,CAAC;YACvD,wBAAwB,EAAE,MAAA,IAAI,CAAC,wBAAwB,mCAAI,IAAI;YAC/D,QAAQ,EAAE;gBACT,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE;oBACP,gBAAgB,kBAAA;oBAChB,QAAQ,EAAE;wBACT;4BACC,SAAS,WAAA;4BACT,UAAU,YAAA;4BACV,KAAK,EAAE,EAAE,gBAAgB,kBAAA,EAAE,QAAQ,EAAE,EAAE,EAAE;4BACzC,MAAM,EAAE,EAAE,SAAS,WAAA,EAAE;yBACrB;qBACD;iBACD;aACD;SACD;QACD,YAAY,eAAO,gBAAgB,CAAE;QACrC,iBAAiB,eAAO,gBAAgB,CAAE;KAC1C,CAAC;IAEF,yFAAyF;IACzF,OAAO,UAAU,CAAC;AACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ag-psd",
3
- "version": "15.3.0",
3
+ "version": "16.0.0",
4
4
  "description": "Library for reading and writing PSD files",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist-es/index.js",
@@ -8,7 +8,8 @@ import {
8
8
  SelectiveColorAdjustment, ColorLookupAdjustment, LevelsAdjustmentChannel, LevelsAdjustment,
9
9
  CurvesAdjustment, CurvesAdjustmentChannel, HueSaturationAdjustment, HueSaturationAdjustmentChannel,
10
10
  PresetInfo, Color, ColorBalanceValues, WriteOptions, LinkedFile, PlacedLayerType, Warp, KeyDescriptorItem,
11
- BooleanOperation, LayerEffectsInfo, Annotation, LayerVectorMask, AnimationFrame, Timeline, PlacedLayerFilter, UnitsValue,
11
+ BooleanOperation, LayerEffectsInfo, Annotation, LayerVectorMask, AnimationFrame, Timeline, PlacedLayerFilter,
12
+ UnitsValue, PlacedLayerPuppetFilter,
12
13
  } from './psd';
13
14
  import {
14
15
  PsdReader, readSignature, readUnicodeString, skipBytes, readUint32, readUint8, readFloat64, readUint16,
@@ -1157,6 +1158,55 @@ interface HrznVrtcDescriptor {
1157
1158
  Vrtc: DescriptorUnitsValue;
1158
1159
  }
1159
1160
 
1161
+ type FltrDescriptor = {
1162
+ 'null': string[]; // [Ordn.Trgt]
1163
+ rigidType: boolean;
1164
+ puppetShapeList?: {
1165
+ rigidType: boolean;
1166
+ VrsM: number;
1167
+ VrsN: number;
1168
+ originalVertexArray: Uint8Array;
1169
+ deformedVertexArray: Uint8Array;
1170
+ indexArray: Uint8Array;
1171
+ pinOffsets: number[];
1172
+ posFinalPins: number[];
1173
+ pinVertexIndices: number[];
1174
+ PinP: number[];
1175
+ PnRt: number[];
1176
+ PnOv: boolean[];
1177
+ PnDp: number[];
1178
+ meshQuality: number;
1179
+ meshExpansion: number;
1180
+ meshRigidity: number;
1181
+ imageResolution: number;
1182
+ meshBoundaryPath: {
1183
+ pathComponents: {
1184
+ shapeOperation: string; // shapeOperation.xor
1185
+ SbpL: {
1186
+ Clsp: boolean;
1187
+ 'Pts ': {
1188
+ Anch: HrznVrtcDescriptor;
1189
+ 'Fwd ': HrznVrtcDescriptor;
1190
+ 'Bwd ': HrznVrtcDescriptor;
1191
+ Smoo: boolean;
1192
+ }[];
1193
+ }[];
1194
+ }[];
1195
+ };
1196
+ selectedPin: number[];
1197
+ }[];
1198
+ PuX0: number;
1199
+ PuX1: number;
1200
+ PuX2: number;
1201
+ PuX3: number;
1202
+ PuY0: number;
1203
+ PuY1: number;
1204
+ PuY2: number;
1205
+ PuY3: number;
1206
+ } | {
1207
+ LqMe: Uint8Array;
1208
+ };
1209
+
1160
1210
  interface SoLdDescriptorFilter {
1161
1211
  enab: boolean,
1162
1212
  validAtPosition: boolean,
@@ -1173,52 +1223,7 @@ interface SoLdDescriptorFilter {
1173
1223
  hasoptions: boolean;
1174
1224
  FrgC: DescriptorColor;
1175
1225
  BckC: DescriptorColor;
1176
- Fltr: {
1177
- 'null': string[]; // [Ordn.Trgt]
1178
- rigidType: boolean;
1179
- puppetShapeList: {
1180
- rigidType: boolean;
1181
- VrsM: number;
1182
- VrsN: number;
1183
- originalVertexArray: Uint8Array;
1184
- deformedVertexArray: Uint8Array;
1185
- indexArray: Uint8Array;
1186
- pinOffsets: number[];
1187
- posFinalPins: number[];
1188
- pinVertexIndices: number[];
1189
- PinP: number[];
1190
- PnRt: number[];
1191
- PnOv: boolean[];
1192
- PnDp: number[];
1193
- meshQuality: number;
1194
- meshExpansion: number;
1195
- meshRigidity: number;
1196
- imageResolution: number;
1197
- meshBoundaryPath: {
1198
- pathComponents: {
1199
- shapeOperation: string; // shapeOperation.xor
1200
- SbpL: {
1201
- Clsp: boolean;
1202
- 'Pts ': {
1203
- Anch: HrznVrtcDescriptor;
1204
- 'Fwd ': HrznVrtcDescriptor;
1205
- 'Bwd ': HrznVrtcDescriptor;
1206
- Smoo: boolean;
1207
- }[];
1208
- }[];
1209
- }[];
1210
- };
1211
- selectedPin: number[];
1212
- }[];
1213
- PuX0: number;
1214
- PuX1: number;
1215
- PuX2: number;
1216
- PuX3: number;
1217
- PuY0: number;
1218
- PuY1: number;
1219
- PuY2: number;
1220
- PuY3: number;
1221
- };
1226
+ Fltr: FltrDescriptor;
1222
1227
  filterID: number;
1223
1228
  }[];
1224
1229
  }
@@ -1253,7 +1258,7 @@ function pointsToArray(points: { x: number; y: number }[]) {
1253
1258
  return array;
1254
1259
  }
1255
1260
 
1256
- function uin8ToPoints(array: Uint8Array) {
1261
+ function uint8ToPoints(array: Uint8Array) {
1257
1262
  return arrayToPoints(uint8ToFloat32(array));
1258
1263
  }
1259
1264
 
@@ -1271,6 +1276,57 @@ function pointToHrznVrtc(point: { x: UnitsValue; y: UnitsValue; }): HrznVrtcDesc
1271
1276
  };
1272
1277
  }
1273
1278
 
1279
+ function parseFilterFXFilter(Fltr: FltrDescriptor): PlacedLayerPuppetFilter | {} {
1280
+ if ('puppetShapeList' in Fltr) {
1281
+ return {
1282
+ rigidType: Fltr.rigidType,
1283
+ bounds: [
1284
+ { x: Fltr.PuX0, y: Fltr.PuY0, },
1285
+ { x: Fltr.PuX1, y: Fltr.PuY1, },
1286
+ { x: Fltr.PuX2, y: Fltr.PuY2, },
1287
+ { x: Fltr.PuX3, y: Fltr.PuY3, },
1288
+ ],
1289
+ puppetShapeList: Fltr.puppetShapeList!.map(p => ({
1290
+ rigidType: p.rigidType,
1291
+ // TODO: VrsM
1292
+ // TODO: VrsN
1293
+ originalVertexArray: uint8ToPoints(p.originalVertexArray),
1294
+ deformedVertexArray: uint8ToPoints(p.deformedVertexArray),
1295
+ indexArray: Array.from(uint8ToUint32(p.indexArray)),
1296
+ pinOffsets: arrayToPoints(p.pinOffsets),
1297
+ posFinalPins: arrayToPoints(p.posFinalPins),
1298
+ pinVertexIndices: p.pinVertexIndices,
1299
+ selectedPin: p.selectedPin,
1300
+ pinPosition: arrayToPoints(p.PinP),
1301
+ pinRotation: p.PnRt,
1302
+ pinOverlay: p.PnOv,
1303
+ pinDepth: p.PnDp,
1304
+ meshQuality: p.meshQuality,
1305
+ meshExpansion: p.meshExpansion,
1306
+ meshRigidity: p.meshRigidity,
1307
+ imageResolution: p.imageResolution,
1308
+ meshBoundaryPath: {
1309
+ pathComponents: p.meshBoundaryPath.pathComponents.map(c => ({
1310
+ shapeOperation: c.shapeOperation.split('.')[1],
1311
+ paths: c.SbpL.map(t => ({
1312
+ closed: t.Clsp,
1313
+ points: t['Pts '].map(pt => ({
1314
+ anchor: hrznVrtcToPoint(pt.Anch),
1315
+ forward: hrznVrtcToPoint(pt['Fwd ']),
1316
+ backward: hrznVrtcToPoint(pt['Bwd ']),
1317
+ smooth: pt.Smoo,
1318
+ })),
1319
+ })),
1320
+ })),
1321
+ },
1322
+ })),
1323
+ };
1324
+ } else {
1325
+ return {
1326
+ };
1327
+ }
1328
+ }
1329
+
1274
1330
  function parseFilterFX(desc: SoLdDescriptorFilter): PlacedLayerFilter {
1275
1331
  return {
1276
1332
  enabled: desc.enab,
@@ -1287,53 +1343,66 @@ function parseFilterFX(desc: SoLdDescriptorFilter): PlacedLayerFilter {
1287
1343
  hasOptions: f.hasoptions,
1288
1344
  foregroundColor: parseColor(f.FrgC),
1289
1345
  backgroundColor: parseColor(f.BckC),
1290
- filter: {
1291
- rigidType: f.Fltr.rigidType,
1292
- bounds: [
1293
- { x: f.Fltr.PuX0, y: f.Fltr.PuY0, },
1294
- { x: f.Fltr.PuX1, y: f.Fltr.PuY1, },
1295
- { x: f.Fltr.PuX2, y: f.Fltr.PuY2, },
1296
- { x: f.Fltr.PuX3, y: f.Fltr.PuY3, },
1297
- ],
1298
- puppetShapeList: f.Fltr.puppetShapeList.map(p => ({
1299
- rigidType: p.rigidType,
1300
- // TODO: VrsM
1301
- // TODO: VrsN
1302
- originalVertexArray: uin8ToPoints(p.originalVertexArray),
1303
- deformedVertexArray: uin8ToPoints(p.deformedVertexArray),
1304
- indexArray: Array.from(uint8ToUint32(p.indexArray)),
1305
- pinOffsets: arrayToPoints(p.pinOffsets),
1306
- posFinalPins: arrayToPoints(p.posFinalPins),
1307
- pinVertexIndices: p.pinVertexIndices,
1308
- selectedPin: p.selectedPin,
1309
- pinPosition: arrayToPoints(p.PinP),
1310
- pinRotation: p.PnRt,
1311
- pinOverlay: p.PnOv,
1312
- pinDepth: p.PnDp,
1313
- meshQuality: p.meshQuality,
1314
- meshExpansion: p.meshExpansion,
1315
- meshRigidity: p.meshRigidity,
1316
- imageResolution: p.imageResolution,
1317
- meshBoundaryPath: {
1318
- pathComponents: p.meshBoundaryPath.pathComponents.map(c => ({
1319
- shapeOperation: c.shapeOperation.split('.')[1],
1320
- paths: c.SbpL.map(t => ({
1321
- closed: t.Clsp,
1322
- points: t['Pts '].map(pt => ({
1323
- anchor: hrznVrtcToPoint(pt.Anch),
1324
- forward: hrznVrtcToPoint(pt['Fwd ']),
1325
- backward: hrznVrtcToPoint(pt['Bwd ']),
1326
- smooth: pt.Smoo,
1327
- })),
1328
- })),
1329
- })),
1330
- },
1331
- })),
1332
- },
1346
+ filter: parseFilterFXFilter(f.Fltr),
1333
1347
  })),
1334
1348
  };
1335
1349
  }
1336
1350
 
1351
+ function serializeFltr(filter: PlacedLayerPuppetFilter | {}): FltrDescriptor {
1352
+ if ('puppetShapeList' in filter) {
1353
+ return {
1354
+ 'null': ['Ordn.Trgt'], // ???
1355
+ rigidType: filter.rigidType,
1356
+ puppetShapeList: filter.puppetShapeList.map(p => ({
1357
+ rigidType: p.rigidType,
1358
+ VrsM: 1, // TODO: ...
1359
+ VrsN: 0, // TODO: ...
1360
+ originalVertexArray: toUint8(new Float32Array(pointsToArray(p.originalVertexArray))),
1361
+ deformedVertexArray: toUint8(new Float32Array(pointsToArray(p.deformedVertexArray))),
1362
+ indexArray: toUint8(new Uint32Array(p.indexArray)),
1363
+ pinOffsets: pointsToArray(p.pinOffsets),
1364
+ posFinalPins: pointsToArray(p.posFinalPins),
1365
+ selectedPin: p.selectedPin,
1366
+ pinVertexIndices: p.pinVertexIndices,
1367
+ PinP: pointsToArray(p.pinPosition),
1368
+ PnRt: p.pinRotation,
1369
+ PnOv: p.pinOverlay,
1370
+ PnDp: p.pinDepth,
1371
+ meshQuality: p.meshQuality,
1372
+ meshExpansion: p.meshExpansion,
1373
+ meshRigidity: p.meshRigidity,
1374
+ imageResolution: p.imageResolution,
1375
+ meshBoundaryPath: {
1376
+ pathComponents: (p.meshBoundaryPath.pathComponents || []).map(c => ({
1377
+ shapeOperation: `shapeOperation.${c.shapeOperation}`,
1378
+ SbpL: (c.paths || []).map(path => ({
1379
+ Clsp: path.closed,
1380
+ 'Pts ': (path.points || []).map(pt => ({
1381
+ Anch: pointToHrznVrtc(pt.anchor),
1382
+ 'Fwd ': pointToHrznVrtc(pt.forward),
1383
+ 'Bwd ': pointToHrznVrtc(pt.backward),
1384
+ Smoo: pt.smooth,
1385
+ })),
1386
+ })),
1387
+ })),
1388
+ },
1389
+ })),
1390
+ PuX0: filter.bounds[0].x,
1391
+ PuX1: filter.bounds[1].x,
1392
+ PuX2: filter.bounds[2].x,
1393
+ PuX3: filter.bounds[3].x,
1394
+ PuY0: filter.bounds[0].y,
1395
+ PuY1: filter.bounds[1].y,
1396
+ PuY2: filter.bounds[2].y,
1397
+ PuY3: filter.bounds[3].y,
1398
+ };
1399
+ } else {
1400
+ return {
1401
+ LqMe: new Uint8Array(),
1402
+ };
1403
+ }
1404
+ }
1405
+
1337
1406
  function serializeFilterFX(filter: PlacedLayerFilter): SoLdDescriptorFilter {
1338
1407
  return {
1339
1408
  enab: filter.enabled,
@@ -1341,7 +1410,7 @@ function serializeFilterFX(filter: PlacedLayerFilter): SoLdDescriptorFilter {
1341
1410
  filterMaskEnable: filter.maskEnabled,
1342
1411
  filterMaskLinked: filter.maskLinked,
1343
1412
  filterMaskExtendWithWhite: filter.maskExtendWithWhite,
1344
- filterFXList: filter.list.map(f => ({
1413
+ filterFXList: (filter.list || []).map(f => ({
1345
1414
  'Nm ': f.name,
1346
1415
  blendOptions: {
1347
1416
  Opct: unitsPercent(f.opacity),
@@ -1351,52 +1420,7 @@ function serializeFilterFX(filter: PlacedLayerFilter): SoLdDescriptorFilter {
1351
1420
  hasoptions: f.hasOptions,
1352
1421
  FrgC: serializeColor(f.foregroundColor),
1353
1422
  BckC: serializeColor(f.backgroundColor),
1354
- Fltr: {
1355
- 'null': ['Ordn.Trgt'], // ???
1356
- rigidType: f.filter.rigidType,
1357
- puppetShapeList: f.filter.puppetShapeList.map(p => ({
1358
- rigidType: p.rigidType,
1359
- VrsM: 1, // TODO: ...
1360
- VrsN: 0, // TODO: ...
1361
- originalVertexArray: toUint8(new Float32Array(pointsToArray(p.originalVertexArray))),
1362
- deformedVertexArray: toUint8(new Float32Array(pointsToArray(p.deformedVertexArray))),
1363
- indexArray: toUint8(new Uint32Array(p.indexArray)),
1364
- pinOffsets: pointsToArray(p.pinOffsets),
1365
- posFinalPins: pointsToArray(p.posFinalPins),
1366
- selectedPin: p.selectedPin,
1367
- pinVertexIndices: p.pinVertexIndices,
1368
- PinP: pointsToArray(p.pinPosition),
1369
- PnRt: p.pinRotation,
1370
- PnOv: p.pinOverlay,
1371
- PnDp: p.pinDepth,
1372
- meshQuality: p.meshQuality,
1373
- meshExpansion: p.meshExpansion,
1374
- meshRigidity: p.meshRigidity,
1375
- imageResolution: p.imageResolution,
1376
- meshBoundaryPath: {
1377
- pathComponents: p.meshBoundaryPath.pathComponents.map(c => ({
1378
- shapeOperation: `shapeOperation.${c.shapeOperation}`,
1379
- SbpL: c.paths.map(path => ({
1380
- Clsp: path.closed,
1381
- 'Pts ': path.points.map(pt => ({
1382
- Anch: pointToHrznVrtc(pt.anchor),
1383
- 'Fwd ': pointToHrznVrtc(pt.forward),
1384
- 'Bwd ': pointToHrznVrtc(pt.backward),
1385
- Smoo: pt.smooth,
1386
- })),
1387
- })),
1388
- })),
1389
- },
1390
- })),
1391
- PuX0: f.filter.bounds[0].x,
1392
- PuX1: f.filter.bounds[1].x,
1393
- PuX2: f.filter.bounds[2].x,
1394
- PuX3: f.filter.bounds[3].x,
1395
- PuY0: f.filter.bounds[0].y,
1396
- PuY1: f.filter.bounds[1].y,
1397
- PuY2: f.filter.bounds[2].y,
1398
- PuY3: f.filter.bounds[3].y,
1399
- },
1423
+ Fltr: serializeFltr(f.filter),
1400
1424
  filterID: f.id,
1401
1425
  })),
1402
1426
  };
package/src/psd.ts CHANGED
@@ -674,6 +674,45 @@ export interface LinkedFile {
674
674
  assetLockedState?: number;
675
675
  }
676
676
 
677
+ export interface PlacedLayerPuppetFilter {
678
+ rigidType: boolean;
679
+ bounds: { x: number; y: number; }[];
680
+ puppetShapeList: {
681
+ rigidType: boolean;
682
+ // VrsM: number;
683
+ // VrsN: number;
684
+ originalVertexArray: { x: number; y: number; }[];
685
+ deformedVertexArray: { x: number; y: number; }[];
686
+ indexArray: number[];
687
+ pinOffsets: { x: number; y: number; }[];
688
+ posFinalPins: { x: number; y: number; }[];
689
+ pinVertexIndices: number[];
690
+ selectedPin: number[];
691
+ pinPosition: { x: number; y: number; }[];
692
+ pinRotation: number[]; // in degrees
693
+ pinOverlay: boolean[];
694
+ pinDepth: number[];
695
+ meshQuality: number;
696
+ meshExpansion: number;
697
+ meshRigidity: number;
698
+ imageResolution: number;
699
+ meshBoundaryPath: {
700
+ pathComponents: {
701
+ shapeOperation: string;
702
+ paths: {
703
+ closed: boolean;
704
+ points: {
705
+ anchor: { x: UnitsValue; y: UnitsValue; };
706
+ forward: { x: UnitsValue; y: UnitsValue; };
707
+ backward: { x: UnitsValue; y: UnitsValue; };
708
+ smooth: boolean;
709
+ }[];
710
+ }[];
711
+ }[];
712
+ };
713
+ }[];
714
+ }
715
+
677
716
  export interface PlacedLayerFilter {
678
717
  enabled: boolean;
679
718
  validAtPosition: boolean;
@@ -689,44 +728,7 @@ export interface PlacedLayerFilter {
689
728
  hasOptions: boolean;
690
729
  foregroundColor: Color;
691
730
  backgroundColor: Color;
692
- filter: {
693
- rigidType: boolean;
694
- bounds: { x: number; y: number; }[];
695
- puppetShapeList: {
696
- rigidType: boolean;
697
- // VrsM: number;
698
- // VrsN: number;
699
- originalVertexArray: { x: number; y: number; }[];
700
- deformedVertexArray: { x: number; y: number; }[];
701
- indexArray: number[];
702
- pinOffsets: { x: number; y: number; }[];
703
- posFinalPins: { x: number; y: number; }[];
704
- pinVertexIndices: number[];
705
- selectedPin: number[];
706
- pinPosition: { x: number; y: number; }[];
707
- pinRotation: number[]; // in degrees
708
- pinOverlay: boolean[];
709
- pinDepth: number[];
710
- meshQuality: number;
711
- meshExpansion: number;
712
- meshRigidity: number;
713
- imageResolution: number;
714
- meshBoundaryPath: {
715
- pathComponents: {
716
- shapeOperation: string;
717
- paths: {
718
- closed: boolean;
719
- points: {
720
- anchor: { x: UnitsValue; y: UnitsValue; };
721
- forward: { x: UnitsValue; y: UnitsValue; };
722
- backward: { x: UnitsValue; y: UnitsValue; };
723
- smooth: boolean;
724
- }[];
725
- }[];
726
- }[];
727
- };
728
- }[];
729
- };
731
+ filter: PlacedLayerPuppetFilter | {};
730
732
  }[];
731
733
  }
732
734
 
package/src/text.ts CHANGED
@@ -263,24 +263,32 @@ const antialias: AntiAlias[] = ['none', 'crisp', 'strong', 'smooth', 'sharp'];
263
263
  const justification: Justification[] = ['left', 'right', 'center'];
264
264
 
265
265
  function upperFirst(value: string) {
266
- return value.substr(0, 1).toUpperCase() + value.substr(1);
266
+ return value.substring(0, 1).toUpperCase() + value.substring(1);
267
267
  }
268
268
 
269
- function decodeColor(color: { Type: number; Values: number[]; }): Color {
269
+ function decodeColor(color: TypeValues): Color {
270
270
  const c = color.Values;
271
-
272
- if (color.Type === 0) { // grayscale
273
- return { r: c[1] * 255, g: c[1] * 255, b: c[1] * 255 }; // , c[0] * 255];
274
- } else { // rgb
275
- return { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255, a: c[0] }; // , c[0] * 255];
271
+ switch (color.Type) {
272
+ case 0: return { k: c[1] * 255 }; // grayscale (alpha?)
273
+ case 1: return c[0] === 1 ?
274
+ { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255 } : // rgb
275
+ { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255, a: c[0] * 255 }; // rgba
276
+ case 2: return { c: c[1] * 255, m: c[2] * 255, y: c[3] * 255, k: c[4] * 255 }; // cmyk (alpha?)
277
+ default: throw new Error('Unknown color type in text layer');
276
278
  }
277
279
  }
278
280
 
279
- function encodeColor(color: Color | undefined) {
280
- if (color && 'r' in color) {
281
- return ['a' in color ? color.a : 1, color.r / 255, color.g / 255, color.b / 255];
281
+ function encodeColor(color: Color | undefined): TypeValues {
282
+ if (!color) {
283
+ return { Type: 1, Values: [0, 0, 0, 0] };
284
+ } else if ('r' in color) {
285
+ return { Type: 1, Values: ['a' in color ? color.a / 255 : 1, color.r / 255, color.g / 255, color.b / 255] };
286
+ } else if ('c' in color) {
287
+ return { Type: 2, Values: [1, color.c / 255, color.m / 255, color.y / 255, color.k / 255] };
288
+ } else if ('k' in color) {
289
+ return { Type: 0, Values: [1, color.k / 255] };
282
290
  } else {
283
- return [0, 0, 0, 0];
291
+ throw new Error('Invalid color type in text layer');
284
292
  }
285
293
  }
286
294
 
@@ -342,7 +350,7 @@ function encodeObject(obj: any, keys: string[], fonts: Font[]) {
342
350
  } else if (key === 'font') {
343
351
  result[Key] = findOrAddFont(fonts, obj[key]);
344
352
  } else if (key === 'fillColor' || key === 'strokeColor') {
345
- result[Key] = { Type: 1, Values: encodeColor(obj[key]) } as TypeValues;
353
+ result[Key] = encodeColor(obj[key]);
346
354
  } else {
347
355
  result[Key] = obj[key];
348
356
  }
@@ -722,8 +730,8 @@ export function encodeEngineData(data: LayerTextData) {
722
730
  ShowGrid: !!gridInfo.show,
723
731
  GridSize: gridInfo.size ?? 18,
724
732
  GridLeading: gridInfo.leading ?? 22,
725
- GridColor: { Type: 1, Values: encodeColor(gridInfo.color) },
726
- GridLeadingFillColor: { Type: 1, Values: encodeColor(gridInfo.color) },
733
+ GridColor: encodeColor(gridInfo.color),
734
+ GridLeadingFillColor: encodeColor(gridInfo.color),
727
735
  AlignLineHeightToGridFlags: !!gridInfo.alignLineHeightToGridFlags,
728
736
  },
729
737
  AntiAlias: antialias.indexOf(data.antiAlias ?? 'sharp'),