@pixerate/editor 0.215.0 → 0.216.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.
@@ -2609,27 +2609,7 @@ function inspectMaskEdge(mask, image, options = {}) {
2609
2609
  if (img[i + 3] < 128) return null;
2610
2610
  return [img[i], img[i + 1], img[i + 2]];
2611
2611
  };
2612
- const premul = (x, y, c) => {
2613
- const ix = Math.min(image.width - 1, Math.max(0, x - image.x));
2614
- const iy = Math.min(image.height - 1, Math.max(0, y - image.y));
2615
- const i = (iy * image.width + ix) * 4;
2616
- return img[i + c] * img[i + 3] / 255;
2617
- };
2618
- const gradCache = /* @__PURE__ */ new Map();
2619
- const gradient = (x, y) => {
2620
- const k = y * W + x;
2621
- const hit = gradCache.get(k);
2622
- if (hit !== void 0) return hit;
2623
- let best = 0;
2624
- for (let c = 0; c < 3; c++) {
2625
- const p = (dx, dy) => premul(x + dx, y + dy, c);
2626
- const gx = p(1, -1) + 2 * p(1, 0) + p(1, 1) - p(-1, -1) - 2 * p(-1, 0) - p(-1, 1);
2627
- const gy = p(-1, 1) + 2 * p(0, 1) + p(1, 1) - p(-1, -1) - 2 * p(0, -1) - p(1, -1);
2628
- best = Math.max(best, Math.hypot(gx, gy) / 1020);
2629
- }
2630
- gradCache.set(k, best);
2631
- return best;
2632
- };
2612
+ const gradient = createGradientSampler(image, W);
2633
2613
  const B = Math.min(256, Math.max(24, Math.round(Math.max(W, H) / 12)));
2634
2614
  const BW = Math.ceil(W / B);
2635
2615
  const blocks = /* @__PURE__ */ new Map();
@@ -2806,6 +2786,30 @@ function inspectMaskEdge(mask, image, options = {}) {
2806
2786
  issues
2807
2787
  };
2808
2788
  }
2789
+ function createGradientSampler(image, W) {
2790
+ const img = image.data;
2791
+ const premul = (x, y, c) => {
2792
+ const ix = Math.min(image.width - 1, Math.max(0, x - image.x));
2793
+ const iy = Math.min(image.height - 1, Math.max(0, y - image.y));
2794
+ const i = (iy * image.width + ix) * 4;
2795
+ return img[i + c] * img[i + 3] / 255;
2796
+ };
2797
+ const cache = /* @__PURE__ */ new Map();
2798
+ return (x, y) => {
2799
+ const k = y * W + x;
2800
+ const hit = cache.get(k);
2801
+ if (hit !== void 0) return hit;
2802
+ let best = 0;
2803
+ for (let c = 0; c < 3; c++) {
2804
+ const p = (dx, dy) => premul(x + dx, y + dy, c);
2805
+ const gx = p(1, -1) + 2 * p(1, 0) + p(1, 1) - p(-1, -1) - 2 * p(-1, 0) - p(-1, 1);
2806
+ const gy = p(-1, 1) + 2 * p(0, 1) + p(1, 1) - p(-1, -1) - 2 * p(0, -1) - p(1, -1);
2807
+ best = Math.max(best, Math.hypot(gx, gy) / 1020);
2808
+ }
2809
+ cache.set(k, best);
2810
+ return best;
2811
+ };
2812
+ }
2809
2813
  function traceLoops(a, W, H, rx0, ry0, rx1, ry1) {
2810
2814
  const w = rx1 - rx0;
2811
2815
  const h = ry1 - ry0;
@@ -2990,6 +2994,135 @@ function regions(a, W, H, b, minArea) {
2990
2994
  };
2991
2995
  }
2992
2996
 
2997
+ // src/image-editor/selection/uncertainty.ts
2998
+ var BACKED = 0.2;
2999
+ function selectionUncertainty(mask, image, options = {}) {
3000
+ const W = mask.width;
3001
+ const H = mask.height;
3002
+ const empty = () => ({ unknown: _chunkSS53NNZOcjs.createSelectionMask.call(void 0, W, H), regions: [], count: 0, confidence: 1 });
3003
+ const b = mask.bounds;
3004
+ if (!b) return empty();
3005
+ const band = Math.max(1, Math.round(_nullishCoalesce(options.band, () => ( Math.max(2, Math.min(W, H) / 200)))));
3006
+ const minArea = Math.max(1, _nullishCoalesce(options.minArea, () => ( 16)));
3007
+ const maxRegions = Math.max(1, _nullishCoalesce(options.maxRegions, () => ( 20)));
3008
+ const a = mask.data;
3009
+ const gradient = createGradientSampler(image, W);
3010
+ const x0 = Math.max(0, b.x - band - 1);
3011
+ const y0 = Math.max(0, b.y - band - 1);
3012
+ const x1 = Math.min(W, b.x + b.width + band + 1);
3013
+ const y1 = Math.min(H, b.y + b.height + band + 1);
3014
+ const w = x1 - x0;
3015
+ const h = y1 - y0;
3016
+ const evidence = new Float32Array(w * h).fill(NaN);
3017
+ const seeds = new Uint8Array(w * h);
3018
+ let sum = 0;
3019
+ let n = 0;
3020
+ const on = (x, y) => a[y * W + x] >= 128;
3021
+ for (let y = y0; y < y1; y++) {
3022
+ for (let x = x0; x < x1; x++) {
3023
+ const v = on(x, y);
3024
+ const differs = (nx, ny) => nx >= 0 && ny >= 0 && nx < W && ny < H && on(nx, ny) !== v;
3025
+ if (!(differs(x - 1, y) || differs(x + 1, y) || differs(x, y - 1) || differs(x, y + 1))) continue;
3026
+ let g = 0;
3027
+ for (let dy = -2; dy <= 2; dy++) {
3028
+ for (let dx = -2; dx <= 2; dx++) {
3029
+ const nx = x + dx;
3030
+ const ny = y + dy;
3031
+ if (nx >= 0 && ny >= 0 && nx < W && ny < H) g = Math.max(g, gradient(nx, ny));
3032
+ }
3033
+ }
3034
+ const e = Math.min(1, g / BACKED);
3035
+ const k = (y - y0) * w + (x - x0);
3036
+ evidence[k] = e;
3037
+ sum += e;
3038
+ n++;
3039
+ if (e < 0.5) seeds[k] = 1;
3040
+ }
3041
+ }
3042
+ if (!n) return empty();
3043
+ const rows = new Uint8Array(w * h);
3044
+ for (let y = 0; y < h; y++) {
3045
+ let last = -Infinity;
3046
+ for (let x = 0; x < w; x++) {
3047
+ if (seeds[y * w + x]) last = x;
3048
+ if (x - last <= band) rows[y * w + x] = 1;
3049
+ }
3050
+ last = Infinity;
3051
+ for (let x = w - 1; x >= 0; x--) {
3052
+ if (seeds[y * w + x]) last = x;
3053
+ if (last - x <= band) rows[y * w + x] = 1;
3054
+ }
3055
+ }
3056
+ const grown = new Uint8Array(w * h);
3057
+ for (let x = 0; x < w; x++) {
3058
+ let last = -Infinity;
3059
+ for (let y = 0; y < h; y++) {
3060
+ if (rows[y * w + x]) last = y;
3061
+ if (y - last <= band) grown[y * w + x] = 1;
3062
+ }
3063
+ last = Infinity;
3064
+ for (let y = h - 1; y >= 0; y--) {
3065
+ if (rows[y * w + x]) last = y;
3066
+ if (last - y <= band) grown[y * w + x] = 1;
3067
+ }
3068
+ }
3069
+ const label = new Int32Array(w * h);
3070
+ const stack = new Int32Array(w * h);
3071
+ const found = [];
3072
+ for (let start = 0; start < w * h; start++) {
3073
+ if (!grown[start] || label[start]) continue;
3074
+ const r = { area: 0, e: 0, en: 0, bx0: w, by0: h, bx1: -1, by1: -1 };
3075
+ const id = found.length + 1;
3076
+ let top = 0;
3077
+ stack[top++] = start;
3078
+ label[start] = id;
3079
+ while (top) {
3080
+ const k = stack[--top];
3081
+ const i = k % w;
3082
+ const j = (k - i) / w;
3083
+ r.area++;
3084
+ if (!Number.isNaN(evidence[k])) {
3085
+ r.e += evidence[k];
3086
+ r.en++;
3087
+ }
3088
+ if (i < r.bx0) r.bx0 = i;
3089
+ if (i > r.bx1) r.bx1 = i;
3090
+ if (j < r.by0) r.by0 = j;
3091
+ if (j > r.by1) r.by1 = j;
3092
+ for (let dy = -1; dy <= 1; dy++) {
3093
+ for (let dx = -1; dx <= 1; dx++) {
3094
+ const ni = i + dx;
3095
+ const nj = j + dy;
3096
+ if (ni < 0 || nj < 0 || ni >= w || nj >= h) continue;
3097
+ const nk = nj * w + ni;
3098
+ if (!grown[nk] || label[nk]) continue;
3099
+ label[nk] = id;
3100
+ stack[top++] = nk;
3101
+ }
3102
+ }
3103
+ }
3104
+ found.push(r);
3105
+ }
3106
+ const unknownData = new Uint8Array(W * H);
3107
+ for (let y = 0; y < h; y++) {
3108
+ for (let x = 0; x < w; x++) {
3109
+ const id = label[y * w + x];
3110
+ if (id && found[id - 1].area >= minArea) unknownData[(y + y0) * W + x + x0] = 255;
3111
+ }
3112
+ }
3113
+ const kept = found.filter((r) => r.area >= minArea).map((r) => ({
3114
+ bounds: { x: x0 + r.bx0, y: y0 + r.by0, width: r.bx1 - r.bx0 + 1, height: r.by1 - r.by0 + 1 },
3115
+ area: r.area,
3116
+ confidence: Math.round((r.en ? r.e / r.en : 0) * 1e3) / 1e3
3117
+ })).sort((p, q) => p.confidence - q.confidence || q.area - p.area);
3118
+ return {
3119
+ unknown: _chunkSS53NNZOcjs.createSelectionMask.call(void 0, W, H, unknownData),
3120
+ regions: kept.slice(0, maxRegions),
3121
+ count: kept.length,
3122
+ confidence: Math.round(sum / n * 1e3) / 1e3
3123
+ };
3124
+ }
3125
+
2993
3126
  // src/image-editor/selection/path.ts
2994
3127
  function selectionToSubpaths(mask, options = {}) {
2995
3128
  const b = mask.bounds;
@@ -9730,6 +9863,7 @@ var ImageEditorController = (_class12 = class {
9730
9863
  */
9731
9864
  async refineSelectionTo(params, output = "selection", options = {}) {
9732
9865
  const edits = _nullishCoalesce(options.edits, () => ( []));
9866
+ const regions2 = this.checkRegions(options.regions);
9733
9867
  const refineMode = _nullishCoalesce(options.refineMode, () => ( "color"));
9734
9868
  if (!_optionalChain([this, 'access', _368 => _368.state, 'access', _369 => _369.selection, 'optionalAccess', _370 => _370.bounds]) && !edits.length) throw new Error("Nothing is selected; select first, or pass edits that paint a selection.");
9735
9869
  if (refineMode === "object" && !this.segmentation) {
@@ -9764,7 +9898,14 @@ var ImageEditorController = (_class12 = class {
9764
9898
  if (!_optionalChain([clipped, 'optionalAccess', _372 => _372.bounds])) throw new Error("The segmentation model found no object in the selection; use refineMode color.");
9765
9899
  sel = clipped;
9766
9900
  }
9767
- const refined = _chunkSS53NNZOcjs.refineSelection.call(void 0, pixels, sel, params, edited.refineBrush);
9901
+ let refined = _chunkSS53NNZOcjs.refineSelection.call(void 0, pixels, sel, params, edited.refineBrush);
9902
+ if (regions2) {
9903
+ const data = Uint8Array.from(sel.data);
9904
+ for (const r of regions2) {
9905
+ for (let y = r.y; y < r.y + r.height; y++) data.set(refined.data.subarray(y * width + r.x, y * width + r.x + r.width), y * width + r.x);
9906
+ }
9907
+ refined = _chunkSS53NNZOcjs.createSelectionMask.call(void 0, width, height, data);
9908
+ }
9768
9909
  if (!refined.bounds) throw new Error("Refining left nothing selected; use a smaller shiftEdge or contrast.");
9769
9910
  if (toDocument) {
9770
9911
  const document2 = this.documentFromSelection({ layerId, withMask: output === "new-document-with-mask", selection: refined, decontaminate: amount * 100, radius: params.radius });
@@ -10209,10 +10350,41 @@ var ImageEditorController = (_class12 = class {
10209
10350
  const report = inspectMaskEdge(mask, image, options);
10210
10351
  return { target, ...layer ? { layerId: layer.id } : {}, ...report };
10211
10352
  }
10353
+ /** Whole-pixel rectangles inside the canvas, or a useful error; undefined stays undefined. */
10354
+ checkRegions(regions2) {
10355
+ if (regions2 === void 0) return void 0;
10356
+ const { width, height } = this.naturalSize;
10357
+ if (!Array.isArray(regions2) || !regions2.length) throw new Error("regions must be a non-empty list of { x, y, width, height } (e.g. the uncertainRegions bounds); leave it out to refine everywhere.");
10358
+ return regions2.map((r, i) => {
10359
+ const x = Math.max(0, Math.floor(_optionalChain([r, 'optionalAccess', _403 => _403.x])));
10360
+ const y = Math.max(0, Math.floor(_optionalChain([r, 'optionalAccess', _404 => _404.y])));
10361
+ const x1 = Math.min(width, Math.ceil(_optionalChain([r, 'optionalAccess', _405 => _405.x]) + _optionalChain([r, 'optionalAccess', _406 => _406.width])));
10362
+ const y1 = Math.min(height, Math.ceil(_optionalChain([r, 'optionalAccess', _407 => _407.y]) + _optionalChain([r, 'optionalAccess', _408 => _408.height])));
10363
+ if (![x, y, x1, y1].every(Number.isFinite) || x1 <= x || y1 <= y) throw new Error(`regions[${i}] must overlap the image (0..${width} \xD7 0..${height}), got ${JSON.stringify(r)}.`);
10364
+ return { x, y, width: x1 - x, height: y1 - y };
10365
+ });
10366
+ }
10367
+ /**
10368
+ * Where the selection is unsure of itself: the stretches of its edge with no image edge under
10369
+ * them, widened into a band (a trimap's unknown), as a mask and regions with bounds and
10370
+ * confidence, least confident first. Measured against the composite. Read-only; an empty
10371
+ * selection has none.
10372
+ */
10373
+ selectionUncertainty(options = {}) {
10374
+ const { width, height } = this.naturalSize;
10375
+ const sel = this.getSelection();
10376
+ if (!_optionalChain([sel, 'optionalAccess', _409 => _409.bounds])) return selectionUncertainty(_chunkSS53NNZOcjs.createSelectionMask.call(void 0, width, height), { x: 0, y: 0, width: 0, height: 0, data: new Uint8ClampedArray(0) }, options);
10377
+ const b = sel.bounds;
10378
+ const m = Math.max(8, Math.ceil(_nullishCoalesce(options.band, () => ( Math.max(2, Math.min(width, height) / 200)))) + 4);
10379
+ const x = Math.max(0, b.x - m);
10380
+ const y = Math.max(0, b.y - m);
10381
+ const region = { x, y, width: Math.min(width, b.x + b.width + m) - x, height: Math.min(height, b.y + b.height + m) - y };
10382
+ return selectionUncertainty(sel, { ...this.compositePixels(region), x, y }, options);
10383
+ }
10212
10384
  /** A layer's painted mask over the canvas as a selection mask; null without one (or for a depth mask). */
10213
10385
  layerMaskCoverage(layerId) {
10214
10386
  const layer = this.getLayer(layerId);
10215
- if (!_optionalChain([layer, 'optionalAccess', _403 => _403.mask]) || layer.mask.source) return null;
10387
+ if (!_optionalChain([layer, 'optionalAccess', _410 => _410.mask]) || layer.mask.source) return null;
10216
10388
  const { width, height } = this.naturalSize;
10217
10389
  const ox = layer.type === "pixel" ? layer.offset.x : 0;
10218
10390
  const oy = layer.type === "pixel" ? layer.offset.y : 0;
@@ -10247,7 +10419,7 @@ var ImageEditorController = (_class12 = class {
10247
10419
  this.state.layers = _chunkB46UQUDCcjs.mapLayer.call(void 0, this.state.layers, target.id, (l) => {
10248
10420
  const next = { ...l };
10249
10421
  if (_chunkS55JFWDAcjs.isDefaultDepthMask.call(void 0, merged)) {
10250
- if (_optionalChain([next, 'access', _404 => _404.mask, 'optionalAccess', _405 => _405.source])) delete next.mask;
10422
+ if (_optionalChain([next, 'access', _411 => _411.mask, 'optionalAccess', _412 => _412.source])) delete next.mask;
10251
10423
  } else next.mask = _chunkS55JFWDAcjs.depthRasterMask.call(void 0, merged);
10252
10424
  return next;
10253
10425
  });
@@ -10257,7 +10429,7 @@ var ImageEditorController = (_class12 = class {
10257
10429
  resetDepthMask() {
10258
10430
  this.recordHistory();
10259
10431
  const target = this.developLayer();
10260
- if (_optionalChain([target, 'optionalAccess', _406 => _406.mask, 'optionalAccess', _407 => _407.source])) {
10432
+ if (_optionalChain([target, 'optionalAccess', _413 => _413.mask, 'optionalAccess', _414 => _414.source])) {
10261
10433
  this.state.layers = _chunkB46UQUDCcjs.mapLayer.call(void 0, this.state.layers, target.id, (l) => {
10262
10434
  const next = { ...l };
10263
10435
  delete next.mask;
@@ -10269,7 +10441,7 @@ var ImageEditorController = (_class12 = class {
10269
10441
  // --- Annotations & Layers ---
10270
10442
  /** The layer showing annotation `id`: an annotation layer, or a shape layer migrated from it. */
10271
10443
  annotationLayer(id) {
10272
- return _chunkB46UQUDCcjs.flattenLayers.call(void 0, this.state.layers).find((l) => (l.type === "annotation" || l.type === "shape" || l.type === "type") && _optionalChain([_chunkS55JFWDAcjs.annotationOfLayer.call(void 0, l), 'optionalAccess', _408 => _408.id]) === id);
10444
+ return _chunkB46UQUDCcjs.flattenLayers.call(void 0, this.state.layers).find((l) => (l.type === "annotation" || l.type === "shape" || l.type === "type") && _optionalChain([_chunkS55JFWDAcjs.annotationOfLayer.call(void 0, l), 'optionalAccess', _415 => _415.id]) === id);
10273
10445
  }
10274
10446
  /** What migrating an annotation needs: the canvas size, patterns and the text shaper. */
10275
10447
  annotationEnv() {
@@ -10287,7 +10459,7 @@ var ImageEditorController = (_class12 = class {
10287
10459
  const fullAnnotation = { ...annotation, id };
10288
10460
  const layer = _chunkS55JFWDAcjs.annotationLayerFor.call(void 0, fullAnnotation, this.annotationEnv());
10289
10461
  const loc = placement.aboveId ? _chunkB46UQUDCcjs.findLayer.call(void 0, this.state.layers, placement.aboveId) : null;
10290
- this.state.layers = loc ? _chunkB46UQUDCcjs.insertLayer.call(void 0, this.state.layers, layer, _nullishCoalesce(_optionalChain([loc, 'access', _409 => _409.parent, 'optionalAccess', _410 => _410.id]), () => ( null)), loc.index + 1) : _chunkB46UQUDCcjs.insertLayer.call(void 0, this.state.layers, layer, null);
10462
+ this.state.layers = loc ? _chunkB46UQUDCcjs.insertLayer.call(void 0, this.state.layers, layer, _nullishCoalesce(_optionalChain([loc, 'access', _416 => _416.parent, 'optionalAccess', _417 => _417.id]), () => ( null)), loc.index + 1) : _chunkB46UQUDCcjs.insertLayer.call(void 0, this.state.layers, layer, null);
10291
10463
  this.state.selectedAnnotationId = id;
10292
10464
  this.notify();
10293
10465
  return id;
@@ -10410,7 +10582,7 @@ var ImageEditorController = (_class12 = class {
10410
10582
  await this.renderer.renderToCanvas(targetCanvas, source, this.state, {
10411
10583
  ...options,
10412
10584
  // The clone source follows the brush cursor (both editors pass it).
10413
- cloneSourceMarker: _optionalChain([options, 'optionalAccess', _411 => _411.cloneSourceMarker]) !== void 0 ? options.cloneSourceMarker : _optionalChain([options, 'optionalAccess', _412 => _412.brushCursor]) ? this.cloneSourceMarker(options.brushCursor) : null,
10585
+ cloneSourceMarker: _optionalChain([options, 'optionalAccess', _418 => _418.cloneSourceMarker]) !== void 0 ? options.cloneSourceMarker : _optionalChain([options, 'optionalAccess', _419 => _419.brushCursor]) ? this.cloneSourceMarker(options.brushCursor) : null,
10414
10586
  dirty: dirty === "all" ? void 0 : dirty,
10415
10587
  checkpointLayerId: this.state.activeLayerId
10416
10588
  });
@@ -10423,7 +10595,7 @@ var ImageEditorController = (_class12 = class {
10423
10595
  return this.renderer.createCanvas(1, 1);
10424
10596
  }
10425
10597
  this.syncViews();
10426
- if (_optionalChain([options, 'optionalAccess', _413 => _413.layerIds])) {
10598
+ if (_optionalChain([options, 'optionalAccess', _420 => _420.layerIds])) {
10427
10599
  const keep = new Set(options.layerIds);
10428
10600
  const layers = _chunkB46UQUDCcjs.flattenLayers.call(void 0, this.state.layers).filter((l) => keep.has(l.id));
10429
10601
  return this.renderer.renderExport(source, { ...this.state, layers }, options);
@@ -10577,7 +10749,7 @@ var ImageEditorController = (_class12 = class {
10577
10749
  let px2 = await this.decodeImage(newDataUrl);
10578
10750
  if (px2.width !== width || px2.height !== height) px2 = resizePixels(px2, width, height);
10579
10751
  const data = new Uint8ClampedArray(px2.data);
10580
- const sel = _optionalChain([this, 'access', _414 => _414.state, 'access', _415 => _415.selection, 'optionalAccess', _416 => _416.bounds]) ? this.state.selection : null;
10752
+ const sel = _optionalChain([this, 'access', _421 => _421.state, 'access', _422 => _422.selection, 'optionalAccess', _423 => _423.bounds]) ? this.state.selection : null;
10581
10753
  if (sel) for (let p = 0, i = 3; p < width * height; p++, i += 4) data[i] = Math.round(data[i] * sel.data[p] / 255);
10582
10754
  return this.addPixelLayer({ name: "Inpaint", pixels: { width, height, data } });
10583
10755
  }
@@ -10624,7 +10796,7 @@ var ImageEditorController = (_class12 = class {
10624
10796
  }
10625
10797
  /** Font families the shaper offers (generic families at least). */
10626
10798
  listFonts() {
10627
- return _nullishCoalesce(_optionalChain([this, 'access', _417 => _417.getTextShaper, 'call', _418 => _418(), 'optionalAccess', _419 => _419.families, 'optionalCall', _420 => _420()]), () => ( ["sans-serif", "serif", "monospace"]));
10799
+ return _nullishCoalesce(_optionalChain([this, 'access', _424 => _424.getTextShaper, 'call', _425 => _425(), 'optionalAccess', _426 => _426.families, 'optionalCall', _427 => _427()]), () => ( ["sans-serif", "serif", "monospace"]));
10628
10800
  }
10629
10801
  typeInfo(id) {
10630
10802
  const layer = _chunkS55JFWDAcjs.requireTypeLayer.call(void 0, this.state.layers, id);
@@ -10698,8 +10870,8 @@ var ImageEditorController = (_class12 = class {
10698
10870
  const layer = this.layoutTypeLayer({ ...init, text, orientation: vertical ? "vertical" : "horizontal" });
10699
10871
  const { width, height } = this.naturalSize;
10700
10872
  const b = _chunk474IQG74cjs.contentBounds.call(void 0, layer.surface);
10701
- const x0 = Math.max(0, _nullishCoalesce(_optionalChain([b, 'optionalAccess', _421 => _421.x]), () => ( 0)));
10702
- const y0 = Math.max(0, _nullishCoalesce(_optionalChain([b, 'optionalAccess', _422 => _422.y]), () => ( 0)));
10873
+ const x0 = Math.max(0, _nullishCoalesce(_optionalChain([b, 'optionalAccess', _428 => _428.x]), () => ( 0)));
10874
+ const y0 = Math.max(0, _nullishCoalesce(_optionalChain([b, 'optionalAccess', _429 => _429.y]), () => ( 0)));
10703
10875
  const x1 = Math.min(width, b ? b.x + b.width : 0);
10704
10876
  const y1 = Math.min(height, b ? b.y + b.height : 0);
10705
10877
  let mask;
@@ -10876,7 +11048,7 @@ var ImageEditorController = (_class12 = class {
10876
11048
  if (colors.size > 1) warnings.push("The text had several colours; the shape takes the first one.");
10877
11049
  const missing = _chunkQAUIZPYIcjs.layoutText.call(void 0, layer, shaper).missingFonts;
10878
11050
  if (missing.length) warnings.push(`Missing fonts were drawn with a fallback: ${missing.join(", ")}.`);
10879
- const first = _nullishCoalesce(_optionalChain([layer, 'access', _423 => _423.runs, 'access', _424 => _424.find, 'call', _425 => _425((r) => r.length > 0), 'optionalAccess', _426 => _426.style]), () => ( _chunkQAUIZPYIcjs.DEFAULT_TEXT_STYLE));
11051
+ const first = _nullishCoalesce(_optionalChain([layer, 'access', _430 => _430.runs, 'access', _431 => _431.find, 'call', _432 => _432((r) => r.length > 0), 'optionalAccess', _433 => _433.style]), () => ( _chunkQAUIZPYIcjs.DEFAULT_TEXT_STYLE));
10880
11052
  const fill = first.opacity !== void 0 && first.opacity !== 1 ? { type: "color", color: first.color, opacity: first.opacity } : { type: "color", color: first.color };
10881
11053
  const shape = _chunkS55JFWDAcjs.createShapeLayer.call(void 0, { components: [{ op: "combine", subpaths }], fill, stroke: null, name: layer.name }, this.shapeEnv(), layer.id);
10882
11054
  const keep = { visible: layer.visible, opacity: layer.opacity, blend: layer.blend };
@@ -10909,7 +11081,7 @@ var ImageEditorController = (_class12 = class {
10909
11081
  // --- Shape layers ---
10910
11082
  /** What shape rendering needs: the canvas size and the document's patterns. */
10911
11083
  shapeEnv() {
10912
- return { ...this.naturalSize, pattern: (id) => _nullishCoalesce(_optionalChain([this, 'access', _427 => _427.state, 'access', _428 => _428.patterns, 'optionalAccess', _429 => _429.find, 'call', _430 => _430((p) => p.id === id)]), () => ( null)) };
11084
+ return { ...this.naturalSize, pattern: (id) => _nullishCoalesce(_optionalChain([this, 'access', _434 => _434.state, 'access', _435 => _435.patterns, 'optionalAccess', _436 => _436.find, 'call', _437 => _437((p) => p.id === id)]), () => ( null)) };
10913
11085
  }
10914
11086
  /** One component from tool or UI input (validated). */
10915
11087
  componentFrom(spec, path) {
@@ -10952,9 +11124,9 @@ var ImageEditorController = (_class12 = class {
10952
11124
  * open path) and stroked with `stroke`. Goes above the active layer unless placed. Returns its id.
10953
11125
  */
10954
11126
  addShapeLayer(init) {
10955
- const specs = _optionalChain([init, 'access', _431 => _431.components, 'optionalAccess', _432 => _432.length]) ? init.components : [init];
10956
- if (_optionalChain([init, 'access', _433 => _433.components, 'optionalAccess', _434 => _434.length]) && (init.shape !== void 0 || init.subpaths !== void 0)) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("Give components, or shape / subpaths, not both.");
10957
- const components = specs.map((c, i) => this.componentFrom(c, _optionalChain([init, 'access', _435 => _435.components, 'optionalAccess', _436 => _436.length]) ? `components[${i}].` : ""));
11127
+ const specs = _optionalChain([init, 'access', _438 => _438.components, 'optionalAccess', _439 => _439.length]) ? init.components : [init];
11128
+ if (_optionalChain([init, 'access', _440 => _440.components, 'optionalAccess', _441 => _441.length]) && (init.shape !== void 0 || init.subpaths !== void 0)) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("Give components, or shape / subpaths, not both.");
11129
+ const components = specs.map((c, i) => this.componentFrom(c, _optionalChain([init, 'access', _442 => _442.components, 'optionalAccess', _443 => _443.length]) ? `components[${i}].` : ""));
10958
11130
  const stroke = init.stroke ? _chunkS55JFWDAcjs.normalizeShapeStroke.call(void 0, init.stroke, "stroke") : null;
10959
11131
  const openOnly = components.every((c) => !c.live && c.subpaths.every((sp) => !sp.closed));
10960
11132
  const fill = init.fill === void 0 ? stroke && openOnly ? null : _chunkS55JFWDAcjs.normalizeShapePaint.call(void 0, this.state.paint.foreground, "fill") : init.fill === null ? null : _chunkS55JFWDAcjs.normalizeShapePaint.call(void 0, init.fill, "fill");
@@ -11065,7 +11237,7 @@ var ImageEditorController = (_class12 = class {
11065
11237
  if (layer.locks) next.locks = layer.locks;
11066
11238
  if (this.state.selectedAnnotationId === layer.annotation.id) this.state.selectedAnnotationId = null;
11067
11239
  } else if (layer.type === "pixel") {
11068
- if (!_optionalChain([layer, 'access', _437 => _437.filters, 'optionalAccess', _438 => _438.length])) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Layer "${layer.name || id}" is already pixels with no filters to bake.`);
11240
+ if (!_optionalChain([layer, 'access', _444 => _444.filters, 'optionalAccess', _445 => _445.length])) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Layer "${layer.name || id}" is already pixels with no filters to bake.`);
11069
11241
  _chunkS55JFWDAcjs.requireUnlocked.call(void 0, layer, "pixels", "rasterize it");
11070
11242
  const spatial = layer.filters.some((f) => f.enabled && f.kind === "blur");
11071
11243
  const content = { ...layer, visible: true, opacity: 1, blend: "normal" };
@@ -11084,7 +11256,7 @@ var ImageEditorController = (_class12 = class {
11084
11256
  return this.rasterizeSmartObject(id);
11085
11257
  } else if (layer.type === "shape" || layer.type === "type") {
11086
11258
  next = layer.type === "shape" ? _chunkS55JFWDAcjs.shapeAsPixelLayer.call(void 0, layer) : _chunkS55JFWDAcjs.typeAsPixelLayer.call(void 0, layer);
11087
- if (this.state.selectedAnnotationId && this.state.selectedAnnotationId === _optionalChain([layer, 'access', _439 => _439.annotation, 'optionalAccess', _440 => _440.id])) this.state.selectedAnnotationId = null;
11259
+ if (this.state.selectedAnnotationId && this.state.selectedAnnotationId === _optionalChain([layer, 'access', _446 => _446.annotation, 'optionalAccess', _447 => _447.id])) this.state.selectedAnnotationId = null;
11088
11260
  } else {
11089
11261
  throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Only shape, type and annotation layers, smart objects and pixel layers with filters rasterize; "${layer.name || id}" is a ${layer.type} layer. Merge it down or flatten instead.`);
11090
11262
  }
@@ -11098,8 +11270,8 @@ var ImageEditorController = (_class12 = class {
11098
11270
  const doc = this.state.colorProfile;
11099
11271
  const p = resolveProfile(doc);
11100
11272
  const m = this.state.colorMode;
11101
- const out = { name: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _441 => _441.name]), () => ( p.description)), builtin: doc ? _nullishCoalesce(doc.builtin, () => ( null)) : "srgb", colorSpace: p.colorSpace, srgb: isSrgb(doc), mode: _nullishCoalesce(_optionalChain([m, 'optionalAccess', _442 => _442.mode]), () => ( "rgb")) };
11102
- if (_optionalChain([m, 'optionalAccess', _443 => _443.mode]) === "cmyk") out.cmykProfile = { name: m.profile.name, builtin: _nullishCoalesce(m.profile.builtin, () => ( null)), intent: m.intent };
11273
+ const out = { name: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _448 => _448.name]), () => ( p.description)), builtin: doc ? _nullishCoalesce(doc.builtin, () => ( null)) : "srgb", colorSpace: p.colorSpace, srgb: isSrgb(doc), mode: _nullishCoalesce(_optionalChain([m, 'optionalAccess', _449 => _449.mode]), () => ( "rgb")) };
11274
+ if (_optionalChain([m, 'optionalAccess', _450 => _450.mode]) === "cmyk") out.cmykProfile = { name: m.profile.name, builtin: _nullishCoalesce(m.profile.builtin, () => ( null)), intent: m.intent };
11103
11275
  return out;
11104
11276
  }
11105
11277
  /**
@@ -11189,7 +11361,7 @@ var ImageEditorController = (_class12 = class {
11189
11361
  const textEnv = this.textEnv();
11190
11362
  const walk = (layers) => layers.map((l) => {
11191
11363
  let next2 = l;
11192
- if (_optionalChain([l, 'access', _444 => _444.effects, 'optionalAccess', _445 => _445.items, 'access', _446 => _446.length])) next2 = { ...next2, effects: convertColorFields(l.effects, hex) };
11364
+ if (_optionalChain([l, 'access', _451 => _451.effects, 'optionalAccess', _452 => _452.items, 'access', _453 => _453.length])) next2 = { ...next2, effects: convertColorFields(l.effects, hex) };
11193
11365
  if (l.type === "group") {
11194
11366
  if (next2 !== l) converted.push(l.id);
11195
11367
  return { ...next2, children: walk(l.children) };
@@ -11377,8 +11549,8 @@ var ImageEditorController = (_class12 = class {
11377
11549
  else delete s.bitDepth;
11378
11550
  delete s.colorProfile;
11379
11551
  delete s.colorMode;
11380
- if (_optionalChain([result, 'access', _447 => _447.sourceMode, 'optionalAccess', _448 => _448.mode]) === "cmyk") s.colorMode = { mode: "cmyk", profile: result.sourceMode.profile, intent: "relative" };
11381
- else if (_optionalChain([result, 'access', _449 => _449.sourceMode, 'optionalAccess', _450 => _450.mode]) === "lab") s.colorMode = { mode: "lab" };
11552
+ if (_optionalChain([result, 'access', _454 => _454.sourceMode, 'optionalAccess', _455 => _455.mode]) === "cmyk") s.colorMode = { mode: "cmyk", profile: result.sourceMode.profile, intent: "relative" };
11553
+ else if (_optionalChain([result, 'access', _456 => _456.sourceMode, 'optionalAccess', _457 => _457.mode]) === "lab") s.colorMode = { mode: "lab" };
11382
11554
  else if (result.iccProfile) {
11383
11555
  try {
11384
11556
  const doc = documentProfile(result.iccProfile);
@@ -11442,7 +11614,7 @@ var ImageEditorController = (_class12 = class {
11442
11614
  const compositor = new (0, _chunkS55JFWDAcjs.LayerCompositor)();
11443
11615
  const bakeMask = (layer) => {
11444
11616
  const mask = layer.mask;
11445
- if (!_optionalChain([mask, 'optionalAccess', _451 => _451.source])) return mask;
11617
+ if (!_optionalChain([mask, 'optionalAccess', _458 => _458.source])) return mask;
11446
11618
  add2("Parametric (depth) masks were baked into pixel masks", layer.name);
11447
11619
  const plain3 = { ...layer, mask: { ...mask, density: 1, feather: 0, enabled: true } };
11448
11620
  const ox = layer.type === "pixel" ? layer.offset.x : 0;
@@ -11458,10 +11630,10 @@ var ImageEditorController = (_class12 = class {
11458
11630
  return baked;
11459
11631
  };
11460
11632
  const prepare = async (layer) => {
11461
- if (_optionalChain([layer, 'access', _452 => _452.edge, 'optionalAccess', _453 => _453.ambient])) add2("The live edge cast (set_edge_ambient) has no PSD equivalent and was left out", layer.name);
11633
+ if (_optionalChain([layer, 'access', _459 => _459.edge, 'optionalAccess', _460 => _460.ambient])) add2("The live edge cast (set_edge_ambient) has no PSD equivalent and was left out", layer.name);
11462
11634
  const p = await prepareLayer(layer);
11463
- if (_optionalChain([p, 'optionalAccess', _454 => _454.edge])) delete p.edge;
11464
- if (_optionalChain([p, 'optionalAccess', _455 => _455.blend]) === "pigment") add2("The Pigment blend mode has no PSD equivalent and was written as Normal", layer.name);
11635
+ if (_optionalChain([p, 'optionalAccess', _461 => _461.edge])) delete p.edge;
11636
+ if (_optionalChain([p, 'optionalAccess', _462 => _462.blend]) === "pigment") add2("The Pigment blend mode has no PSD equivalent and was written as Normal", layer.name);
11465
11637
  return p;
11466
11638
  };
11467
11639
  const prepareLayer = async (layer) => {
@@ -11504,7 +11676,7 @@ var ImageEditorController = (_class12 = class {
11504
11676
  return out2;
11505
11677
  }
11506
11678
  if (layer.type === "shape" || layer.type === "type") {
11507
- if (layer.type === "type" && _optionalChain([layer, 'access', _456 => _456.missingFonts, 'optionalAccess', _457 => _457.length])) add2(`Type layers drawn with a fallback for missing fonts (${layer.missingFonts.join(", ")}) keep the font names, so Photoshop may draw them differently`, layer.name);
11679
+ if (layer.type === "type" && _optionalChain([layer, 'access', _463 => _463.missingFonts, 'optionalAccess', _464 => _464.length])) add2(`Type layers drawn with a fallback for missing fonts (${layer.missingFonts.join(", ")}) keep the font names, so Photoshop may draw them differently`, layer.name);
11508
11680
  const out2 = { ...layer };
11509
11681
  const mask2 = bakeMask(layer);
11510
11682
  if (mask2) out2.mask = mask2;
@@ -11523,7 +11695,7 @@ var ImageEditorController = (_class12 = class {
11523
11695
  out.surface = this.surfaceOf(layer);
11524
11696
  delete out.source;
11525
11697
  }
11526
- const active = _nullishCoalesce(_optionalChain([layer, 'access', _458 => _458.filters, 'optionalAccess', _459 => _459.filter, 'call', _460 => _460(_chunkS55JFWDAcjs.isActiveFilter)]), () => ( []));
11698
+ const active = _nullishCoalesce(_optionalChain([layer, 'access', _465 => _465.filters, 'optionalAccess', _466 => _466.filter, 'call', _467 => _467(_chunkS55JFWDAcjs.isActiveFilter)]), () => ( []));
11527
11699
  if (active.length) {
11528
11700
  add2("Layer filters (develop, blur) were baked into the pixels", layer.name);
11529
11701
  const content = { ...out, visible: true, opacity: 1, blend: "normal" };
@@ -11534,7 +11706,7 @@ var ImageEditorController = (_class12 = class {
11534
11706
  const data = compositor.composite([content], canvas, sources);
11535
11707
  out = { ...out, surface: _chunk474IQG74cjs.surfaceFromPixels.call(void 0, { width, height, data }, 4, -layer.offset.x, -layer.offset.y) };
11536
11708
  }
11537
- if (_optionalChain([layer, 'access', _461 => _461.filters, 'optionalAccess', _462 => _462.some, 'call', _463 => _463((f) => !f.enabled)])) add2("Disabled layer filters were left out", layer.name);
11709
+ if (_optionalChain([layer, 'access', _468 => _468.filters, 'optionalAccess', _469 => _469.some, 'call', _470 => _470((f) => !f.enabled)])) add2("Disabled layer filters were left out", layer.name);
11538
11710
  delete out.filters;
11539
11711
  const unmixMask = _chunkS55JFWDAcjs.hasEdgeUnmix.call(void 0, layer.edge) ? _chunkS55JFWDAcjs.effectiveLayerMask.call(void 0, layer, width, height) : void 0;
11540
11712
  if (unmixMask && !unmixMask.source && unmixMask.enabled !== false) {
@@ -11606,7 +11778,7 @@ var ImageEditorController = (_class12 = class {
11606
11778
  );
11607
11779
  }
11608
11780
  layers = resizeLegacyMasks(layers, prev, next.dimensions);
11609
- const env = { ...next.dimensions, pattern: (pid) => _nullishCoalesce(_optionalChain([this, 'access', _464 => _464.state, 'access', _465 => _465.patterns, 'optionalAccess', _466 => _466.find, 'call', _467 => _467((p) => p.id === pid)]), () => ( null)) };
11781
+ const env = { ...next.dimensions, pattern: (pid) => _nullishCoalesce(_optionalChain([this, 'access', _471 => _471.state, 'access', _472 => _472.patterns, 'optionalAccess', _473 => _473.find, 'call', _474 => _474((p) => p.id === pid)]), () => ( null)) };
11610
11782
  for (const l of _chunkB46UQUDCcjs.flattenLayers.call(void 0, layers)) {
11611
11783
  if (l.type === "annotation") {
11612
11784
  layers = _chunkB46UQUDCcjs.mapLayer.call(void 0, layers, l.id, () => ({ ...l, annotation: scaleAnnotation(l.annotation, sx, sy) }));
@@ -11615,7 +11787,7 @@ var ImageEditorController = (_class12 = class {
11615
11787
  const scaled = a ? scaleAnnotation(a, sx, sy) : null;
11616
11788
  const fromAnnotation = scaled ? _chunkS55JFWDAcjs.shapeFromAnnotation.call(void 0, scaled) : null;
11617
11789
  const m = [sx, 0, 0, sy, 0, 0];
11618
- const components = _nullishCoalesce(_optionalChain([fromAnnotation, 'optionalAccess', _468 => _468.components]), () => ( _chunkS55JFWDAcjs.transformShapeComponents.call(void 0, l.components, (p) => ({ x: p.x * sx, y: p.y * sy }), m)));
11790
+ const components = _nullishCoalesce(_optionalChain([fromAnnotation, 'optionalAccess', _475 => _475.components]), () => ( _chunkS55JFWDAcjs.transformShapeComponents.call(void 0, l.components, (p) => ({ x: p.x * sx, y: p.y * sy }), m)));
11619
11791
  const moved = { ...l, components, ...fromAnnotation ? { fill: fromAnnotation.fill, stroke: fromAnnotation.stroke } : {} };
11620
11792
  if (scaled && fromAnnotation) moved.annotation = scaled;
11621
11793
  else delete moved.annotation;
@@ -11633,7 +11805,7 @@ var ImageEditorController = (_class12 = class {
11633
11805
  this.notify();
11634
11806
  }
11635
11807
  toJSON(options) {
11636
- const root = _optionalChain([this, 'access', _469 => _469.contentsStack, 'access', _470 => _470[0], 'optionalAccess', _471 => _471.saved]);
11808
+ const root = _optionalChain([this, 'access', _476 => _476.contentsStack, 'access', _477 => _477[0], 'optionalAccess', _478 => _478.saved]);
11637
11809
  const current = this.state;
11638
11810
  const element = this.imageElement;
11639
11811
  if (root) {
@@ -11644,9 +11816,9 @@ var ImageEditorController = (_class12 = class {
11644
11816
  let out;
11645
11817
  try {
11646
11818
  out = this.serializeState();
11647
- if (_optionalChain([this, 'access', _472 => _472.state, 'access', _473 => _473.selection, 'optionalAccess', _474 => _474.bounds])) out.selection = _chunkSS53NNZOcjs.serializeSelection.call(void 0, this.state.selection);
11648
- if (_optionalChain([this, 'access', _475 => _475.state, 'access', _476 => _476.channels, 'optionalAccess', _477 => _477.length])) out.channels = serializeChannels(this.state.channels);
11649
- if (_optionalChain([this, 'access', _478 => _478.state, 'access', _479 => _479.paths, 'optionalAccess', _480 => _480.length])) out.paths = serializePaths(this.state.paths);
11819
+ if (_optionalChain([this, 'access', _479 => _479.state, 'access', _480 => _480.selection, 'optionalAccess', _481 => _481.bounds])) out.selection = _chunkSS53NNZOcjs.serializeSelection.call(void 0, this.state.selection);
11820
+ if (_optionalChain([this, 'access', _482 => _482.state, 'access', _483 => _483.channels, 'optionalAccess', _484 => _484.length])) out.channels = serializeChannels(this.state.channels);
11821
+ if (_optionalChain([this, 'access', _485 => _485.state, 'access', _486 => _486.paths, 'optionalAccess', _487 => _487.length])) out.paths = serializePaths(this.state.paths);
11650
11822
  } finally {
11651
11823
  if (root) {
11652
11824
  this.state = current;
@@ -11764,10 +11936,10 @@ var ImageEditorController = (_class12 = class {
11764
11936
  serializeState() {
11765
11937
  const { width, height } = this.naturalSize;
11766
11938
  const view = _chunkS55JFWDAcjs.legacyView.call(void 0, this.stack(), width, height, null);
11767
- if (view.exact && !this.state.globalLight && !_optionalChain([this, 'access', _481 => _481.state, 'access', _482 => _482.patterns, 'optionalAccess', _483 => _483.length]) && this.bitDepth === 8 && !this.state.colorProfile && !this.state.colorMode) {
11939
+ if (view.exact && !this.state.globalLight && !_optionalChain([this, 'access', _488 => _488.state, 'access', _489 => _489.patterns, 'optionalAccess', _490 => _490.length]) && this.bitDepth === 8 && !this.state.colorProfile && !this.state.colorMode) {
11768
11940
  return {
11769
11941
  // States without adjustment layers keep schema 1, so they round-trip unchanged.
11770
- version: _optionalChain([view, 'access', _484 => _484.adjustments, 'access', _485 => _485.layers, 'optionalAccess', _486 => _486.length]) ? 2 : 1,
11942
+ version: _optionalChain([view, 'access', _491 => _491.adjustments, 'access', _492 => _492.layers, 'optionalAccess', _493 => _493.length]) ? 2 : 1,
11771
11943
  crop: this.state.crop ? { ...this.state.crop } : null,
11772
11944
  transform: { ...this.state.transform },
11773
11945
  adjustments: serializeAdjustments(view.adjustments),
@@ -11792,7 +11964,7 @@ var ImageEditorController = (_class12 = class {
11792
11964
  };
11793
11965
  if (this.state.legacyOutputBlur !== void 0) out.legacyOutputBlur = this.state.legacyOutputBlur;
11794
11966
  if (this.state.globalLight) out.globalLight = { ...this.state.globalLight };
11795
- if (_optionalChain([this, 'access', _487 => _487.state, 'access', _488 => _488.patterns, 'optionalAccess', _489 => _489.length])) out.patterns = _chunkS55JFWDAcjs.serializePatterns.call(void 0, this.state.patterns);
11967
+ if (_optionalChain([this, 'access', _494 => _494.state, 'access', _495 => _495.patterns, 'optionalAccess', _496 => _496.length])) out.patterns = _chunkS55JFWDAcjs.serializePatterns.call(void 0, this.state.patterns);
11796
11968
  if (smartContents) out.smartContents = smartContents;
11797
11969
  if (this.state.bitDepth === 16 || this.state.bitDepth === 32) out.bitDepth = this.state.bitDepth;
11798
11970
  if (this.state.colorProfile) out.colorProfile = serializeColorProfile(this.state.colorProfile);
@@ -11802,7 +11974,7 @@ var ImageEditorController = (_class12 = class {
11802
11974
  }, _class12);
11803
11975
  function serializeAdjustments(adjustments) {
11804
11976
  const out = { ...adjustments };
11805
- if (_optionalChain([out, 'access', _490 => _490.layers, 'optionalAccess', _491 => _491.length])) out.layers = JSON.parse(JSON.stringify(out.layers));
11977
+ if (_optionalChain([out, 'access', _497 => _497.layers, 'optionalAccess', _498 => _498.length])) out.layers = JSON.parse(JSON.stringify(out.layers));
11806
11978
  else delete out.layers;
11807
11979
  if (_chunkS55JFWDAcjs.normalizeProcessVersion.call(void 0, out.process) === _chunkS55JFWDAcjs.LEGACY_PROCESS_VERSION) {
11808
11980
  delete out.process;
@@ -11838,11 +12010,11 @@ function withDevelop(layer, partial) {
11838
12010
  return { ...layer, filters };
11839
12011
  }
11840
12012
  function withBlur(layer, radius) {
11841
- const existing = _optionalChain([layer, 'access', _492 => _492.filters, 'optionalAccess', _493 => _493.find, 'call', _494 => _494((f) => f.kind === "blur")]);
12013
+ const existing = _optionalChain([layer, 'access', _499 => _499.filters, 'optionalAccess', _500 => _500.find, 'call', _501 => _501((f) => f.kind === "blur")]);
11842
12014
  const filters = (_nullishCoalesce(layer.filters, () => ( []))).filter((f) => f.kind !== "blur");
11843
12015
  if (radius > 0) {
11844
12016
  filters.push({
11845
- id: _nullishCoalesce(_optionalChain([existing, 'optionalAccess', _495 => _495.id]), () => ( (layer.source === "document" ? _chunkS55JFWDAcjs.BLUR_FILTER_ID : _chunkS55JFWDAcjs.newLayerId.call(void 0, "flt")))),
12017
+ id: _nullishCoalesce(_optionalChain([existing, 'optionalAccess', _502 => _502.id]), () => ( (layer.source === "document" ? _chunkS55JFWDAcjs.BLUR_FILTER_ID : _chunkS55JFWDAcjs.newLayerId.call(void 0, "flt")))),
11846
12018
  kind: "blur",
11847
12019
  enabled: true,
11848
12020
  radius
@@ -11938,7 +12110,7 @@ function collectStateTiles(layers, into) {
11938
12110
  if (l.type === "shape" || l.type === "type") _chunk474IQG74cjs.collectTiles.call(void 0, l.surface, into);
11939
12111
  if (l.type === "smart") {
11940
12112
  _chunk474IQG74cjs.collectTiles.call(void 0, l.surface, into);
11941
- if (_optionalChain([l, 'access', _496 => _496.smartFilters, 'optionalAccess', _497 => _497.mask])) _chunk474IQG74cjs.collectTiles.call(void 0, l.smartFilters.mask.surface, into);
12113
+ if (_optionalChain([l, 'access', _503 => _503.smartFilters, 'optionalAccess', _504 => _504.mask])) _chunk474IQG74cjs.collectTiles.call(void 0, l.smartFilters.mask.surface, into);
11942
12114
  if (l.contents.raster) _chunk474IQG74cjs.collectTiles.call(void 0, l.contents.raster, into);
11943
12115
  if (l.contents.document) collectStateTiles(l.contents.document.layers, into);
11944
12116
  }
@@ -11970,7 +12142,7 @@ function pixelsOnly(layers) {
11970
12142
  for (const l of layers) {
11971
12143
  if (l.type === "adjustment") continue;
11972
12144
  if (l.type === "group") out.push({ ...l, children: pixelsOnly(l.children) });
11973
- else if (l.type === "pixel" && _optionalChain([l, 'access', _498 => _498.filters, 'optionalAccess', _499 => _499.length])) {
12145
+ else if (l.type === "pixel" && _optionalChain([l, 'access', _505 => _505.filters, 'optionalAccess', _506 => _506.length])) {
11974
12146
  const p = { ...l };
11975
12147
  delete p.filters;
11976
12148
  out.push(p);
@@ -12036,7 +12208,7 @@ function toHex(c) {
12036
12208
  return "#" + [c[0], c[1], c[2]].map((v) => Math.round(v).toString(16).padStart(2, "0")).join("");
12037
12209
  }
12038
12210
  function normalizeSelection(mask) {
12039
- return _optionalChain([mask, 'optionalAccess', _500 => _500.bounds]) ? mask : null;
12211
+ return _optionalChain([mask, 'optionalAccess', _507 => _507.bounds]) ? mask : null;
12040
12212
  }
12041
12213
  function sameSelection(a, b) {
12042
12214
  if (a.width !== b.width || a.height !== b.height) return false;
@@ -12246,7 +12418,7 @@ function loadImageEditorDocument(input) {
12246
12418
  }
12247
12419
  const state = { version: 1, ...result.value };
12248
12420
  if (isV2) {
12249
- if (_optionalChain([state, 'access', _501 => _501.adjustments, 'access', _502 => _502.layers, 'optionalAccess', _503 => _503.length])) state.version = 2;
12421
+ if (_optionalChain([state, 'access', _508 => _508.adjustments, 'access', _509 => _509.layers, 'optionalAccess', _510 => _510.length])) state.version = 2;
12250
12422
  result.report.version = 2;
12251
12423
  }
12252
12424
  if (state.selection === void 0) delete state.selection;
@@ -12454,7 +12626,7 @@ function findAdjustmentControl(id) {
12454
12626
  }
12455
12627
  function findLayerControl(kind, id) {
12456
12628
  if (id === "opacity") return ADJUSTMENT_LAYER_OPACITY_CONTROL;
12457
- return _optionalChain([ADJUSTMENT_LAYER_CONTROLS, 'access', _504 => _504[kind], 'optionalAccess', _505 => _505.find, 'call', _506 => _506((c) => c.id === id)]);
12629
+ return _optionalChain([ADJUSTMENT_LAYER_CONTROLS, 'access', _511 => _511[kind], 'optionalAccess', _512 => _512.find, 'call', _513 => _513((c) => c.id === id)]);
12458
12630
  }
12459
12631
  function clampControlValue(spec, v) {
12460
12632
  if (typeof v !== "number" || !Number.isFinite(v)) return spec.default;
@@ -12921,13 +13093,17 @@ function rectOf(args) {
12921
13093
  if (rect2.width <= 0 || rect2.height <= 0) throw new Error("width and height must be greater than 0.");
12922
13094
  return rect2;
12923
13095
  }
13096
+ function uncertainty(controller) {
13097
+ const u = controller.selectionUncertainty();
13098
+ return { uncertainRegions: u.regions, uncertainCount: u.count, edgeConfidence: u.confidence };
13099
+ }
12924
13100
  function summary(controller) {
12925
13101
  const sel = controller.getSelection();
12926
13102
  const { width, height } = controller.getState().imageDimensions;
12927
13103
  const area = _chunkSS53NNZOcjs.selectionArea.call(void 0, sel);
12928
13104
  return {
12929
13105
  empty: !sel,
12930
- bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _507 => _507.bounds]), () => ( null)),
13106
+ bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _514 => _514.bounds]), () => ( null)),
12931
13107
  /** Σ coverage in pixels. */
12932
13108
  area: Math.round(area),
12933
13109
  percent: Math.round(area / Math.max(1, width * height) * 1e4) / 100,
@@ -13023,7 +13199,7 @@ function createImageSelectionTools(controller) {
13023
13199
  break;
13024
13200
  }
13025
13201
  case "polygon": {
13026
- const list = Array.isArray(points) ? points.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _508 => _508.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _509 => _509.y]), NaN) })) : [];
13202
+ const list = Array.isArray(points) ? points.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _515 => _515.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _516 => _516.y]), NaN) })) : [];
13027
13203
  if (list.length < 3 || !list.every((p) => Number.isFinite(p.x) && Number.isFinite(p.y))) {
13028
13204
  throw new Error("polygon needs points: at least 3 { x, y } vertices.");
13029
13205
  }
@@ -13145,13 +13321,20 @@ function createImageSelectionTools(controller) {
13145
13321
  additionalProperties: false
13146
13322
  }
13147
13323
  },
13148
- refineMode: { type: "string", enum: ["color", "object"], description: "color (default): refine from the image colours; object: from a host segmentation model's outline of the object (needs a model)." }
13324
+ refineMode: { type: "string", enum: ["color", "object"], description: "color (default): refine from the image colours; object: from a host segmentation model's outline of the object (needs a model)." },
13325
+ regions: {
13326
+ type: "array",
13327
+ minItems: 1,
13328
+ maxItems: 50,
13329
+ items: rectSchemaStrict,
13330
+ description: "Refine only inside these rectangles (natural image pixels), e.g. the uncertainRegions bounds a smart selection returned; the rest of the selection stays as it is. Default: everywhere."
13331
+ }
13149
13332
  },
13150
13333
  additionalProperties: false
13151
13334
  },
13152
13335
  annotations: writeAnnotations("Refine the selection edge"),
13153
13336
  handler: async (params) => {
13154
- const edits = Array.isArray(params.edits) ? params.edits.map((e) => e.kind === "object" ? { ...e } : { ...e, points: (_nullishCoalesce(e.points, () => ( []))).map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _510 => _510.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _511 => _511.y]), NaN) })) }) : [];
13337
+ const edits = Array.isArray(params.edits) ? params.edits.map((e) => e.kind === "object" ? { ...e } : { ...e, points: (_nullishCoalesce(e.points, () => ( []))).map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _517 => _517.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _518 => _518.y]), NaN) })) }) : [];
13155
13338
  for (const e of edits) {
13156
13339
  if (e.kind === "object") {
13157
13340
  if (!e.rect === !e.point) throw new Error("An object edit takes rect (a box around the object) or point (on it).");
@@ -13176,7 +13359,8 @@ function createImageSelectionTools(controller) {
13176
13359
  layerId: typeof params.layerId === "string" ? params.layerId : void 0,
13177
13360
  decontaminate: num2(params.decontaminate, 0),
13178
13361
  edits,
13179
- refineMode: params.refineMode === "object" ? "object" : "color"
13362
+ refineMode: params.refineMode === "object" ? "object" : "color",
13363
+ ...params.regions !== void 0 ? { regions: params.regions } : {}
13180
13364
  }
13181
13365
  );
13182
13366
  return { ...summary(controller), ...result };
@@ -13315,7 +13499,7 @@ function createImageSelectionTools(controller) {
13315
13499
  },
13316
13500
  annotations: writeAnnotations("Select a polygon (lasso)", true),
13317
13501
  handler: async (args) => {
13318
- const list = Array.isArray(args.points) ? args.points.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _512 => _512.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _513 => _513.y]), NaN) })) : [];
13502
+ const list = Array.isArray(args.points) ? args.points.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _519 => _519.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _520 => _520.y]), NaN) })) : [];
13319
13503
  if (list.length < 3 || !list.every((p) => Number.isFinite(p.x) && Number.isFinite(p.y))) {
13320
13504
  throw new Error("points needs at least 3 { x, y } vertices in natural image pixels.");
13321
13505
  }
@@ -13332,7 +13516,7 @@ function createImageSelectionTools(controller) {
13332
13516
  const quickSelectTool = {
13333
13517
  name: "quick_select",
13334
13518
  title: "Quick Selection",
13335
- description: "Quick Selection: paints brush strokes (paths in natural image pixels) that each grow into the region they are painted on, out to its edges (a graph cut on colour and edges), combined with the selection by mode. With replace (default) the first stroke replaces the selection and later ones add, as the brush does; use mode subtract to take an area back out. Best for a subject or area that differs from its surroundings: paint inside it, away from the edge, then check with get_selection and capture_view and add or subtract strokes where it leaked or fell short. All strokes are one undoable step. Returns the selection.",
13519
+ description: "Quick Selection: paints brush strokes (paths in natural image pixels) that each grow into the region they are painted on, out to its edges (a graph cut on colour and edges), combined with the selection by mode. With replace (default) the first stroke replaces the selection and later ones add, as the brush does; use mode subtract to take an area back out. Best for a subject or area that differs from its surroundings: paint inside it, away from the edge, then check with get_selection and capture_view and add or subtract strokes where it leaked or fell short. All strokes are one undoable step. Returns the selection. Also returns uncertainRegions (bounds, area, confidence 0-1; up to 20, least confident first), uncertainCount and edgeConfidence: where the edge has no image edge under it. Look at those with capture_view and fix only them (refine_selection with regions).",
13336
13520
  inputSchema: {
13337
13521
  type: "object",
13338
13522
  properties: {
@@ -13352,7 +13536,7 @@ function createImageSelectionTools(controller) {
13352
13536
  },
13353
13537
  annotations: writeAnnotations("Quick Selection"),
13354
13538
  handler: async (args, context) => {
13355
- const strokes = Array.isArray(args.strokes) ? args.strokes.map((s) => Array.isArray(s) ? s.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _514 => _514.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _515 => _515.y]), NaN) })) : []) : [];
13539
+ const strokes = Array.isArray(args.strokes) ? args.strokes.map((s) => Array.isArray(s) ? s.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _521 => _521.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _522 => _522.y]), NaN) })) : []) : [];
13356
13540
  if (!strokes.length || strokes.some((s) => !s.length || !s.every((p) => Number.isFinite(p.x) && Number.isFinite(p.y)))) {
13357
13541
  throw new Error("strokes needs at least one stroke of { x, y } points in natural image pixels.");
13358
13542
  }
@@ -13361,15 +13545,15 @@ function createImageSelectionTools(controller) {
13361
13545
  mode: _chunkSS53NNZOcjs.parseSelectionMode.call(void 0, args.mode),
13362
13546
  sampleAllLayers: args.sampleAllLayers,
13363
13547
  enhanceEdge: args.enhanceEdge,
13364
- signal: _optionalChain([context, 'optionalAccess', _516 => _516.signal])
13548
+ signal: _optionalChain([context, 'optionalAccess', _523 => _523.signal])
13365
13549
  });
13366
- return summary(controller);
13550
+ return { ...summary(controller), ...uncertainty(controller) };
13367
13551
  }
13368
13552
  };
13369
13553
  const selectObjectTool = {
13370
13554
  name: "select_object",
13371
13555
  title: "Object Selection",
13372
- description: 'Object Selection: selects the object inside rect (a box drawn loosely around it, natural image pixels; what lies outside the box is treated as background) or the object under point. With a host segmentation model it asks the model (falling back if nothing it returns fits); otherwise it finds the object from the colours of object and background and the edges between them (GrabCut). Combined with the selection by mode. A box is more reliable than a point: make it a little larger than the object on every side. Check with get_selection and capture_view, then fix with quick_select strokes or select_object with mode add / subtract. One undoable step. Returns the selection and method ("model" or "grabcut").',
13556
+ description: 'Object Selection: selects the object inside rect (a box drawn loosely around it, natural image pixels; what lies outside the box is treated as background) or the object under point. With a host segmentation model it asks the model (falling back if nothing it returns fits); otherwise it finds the object from the colours of object and background and the edges between them (GrabCut). Combined with the selection by mode. A box is more reliable than a point: make it a little larger than the object on every side. Check with get_selection and capture_view, then fix with quick_select strokes or select_object with mode add / subtract. One undoable step. Returns the selection and method ("model" or "grabcut"). Also returns uncertainRegions (bounds, area, confidence 0-1; up to 20, least confident first), uncertainCount and edgeConfidence: where the edge has no image edge under it. Look at those with capture_view and fix only them (refine_selection with regions).',
13373
13557
  inputSchema: {
13374
13558
  type: "object",
13375
13559
  properties: {
@@ -13399,10 +13583,10 @@ function createImageSelectionTools(controller) {
13399
13583
  sampleAllLayers: args.sampleAllLayers,
13400
13584
  enhanceEdge: args.enhanceEdge,
13401
13585
  useModel: args.useModel,
13402
- signal: _optionalChain([context, 'optionalAccess', _517 => _517.signal])
13586
+ signal: _optionalChain([context, 'optionalAccess', _524 => _524.signal])
13403
13587
  };
13404
13588
  const { method } = rect2 ? await controller.selectObject({ rect: { x: num2(rect2.x, NaN), y: num2(rect2.y, NaN), width: num2(rect2.width, NaN), height: num2(rect2.height, NaN) } }, options) : await controller.selectObject({ point: { x: num2(point.x, NaN), y: num2(point.y, NaN) } }, options);
13405
- return { ...summary(controller), method };
13589
+ return { ...summary(controller), method, ...uncertainty(controller) };
13406
13590
  }
13407
13591
  };
13408
13592
  const selectFocusAreaTool = {
@@ -13428,7 +13612,7 @@ function createImageSelectionTools(controller) {
13428
13612
  softness: args.softness === void 0 ? void 0 : num2(args.softness, 4),
13429
13613
  mode: _chunkSS53NNZOcjs.parseSelectionMode.call(void 0, args.mode),
13430
13614
  sampleAllLayers: args.sampleAllLayers,
13431
- signal: _optionalChain([context, 'optionalAccess', _518 => _518.signal])
13615
+ signal: _optionalChain([context, 'optionalAccess', _525 => _525.signal])
13432
13616
  });
13433
13617
  return { ...summary(controller), noiseLevel };
13434
13618
  }
@@ -13436,7 +13620,7 @@ function createImageSelectionTools(controller) {
13436
13620
  const selectSkyTool = {
13437
13621
  name: "select_sky",
13438
13622
  title: "Select the sky",
13439
- description: 'Select \u203A Sky: selects the sky, combined with the selection by mode. With a host segmentation model it asks the model; otherwise it finds it classically (blue, or bright and grey when overcast, smooth, reaching down from the top of the image, including patches seen through branches or gaps) with the edge fitted to the skyline. Use it to replace or recolour a sky or to adjust the land without it (invert_selection). Raise threshold to take in haze or a sunset glow, lower it if bright buildings come in. One undoable step. Returns the selection, method ("model" or "classical"; threshold and softness apply to classical), and a note when no sky was found (the selection is then unchanged).',
13623
+ description: 'Select \u203A Sky: selects the sky, combined with the selection by mode. With a host segmentation model it asks the model; otherwise it finds it classically (blue, or bright and grey when overcast, smooth, reaching down from the top of the image, including patches seen through branches or gaps) with the edge fitted to the skyline. Use it to replace or recolour a sky or to adjust the land without it (invert_selection). Raise threshold to take in haze or a sunset glow, lower it if bright buildings come in. One undoable step. Returns the selection, method ("model" or "classical"; threshold and softness apply to classical), and a note when no sky was found (the selection is then unchanged). Also returns uncertainRegions (bounds, area, confidence 0-1; up to 20, least confident first), uncertainCount and edgeConfidence: where the edge has no image edge under it. Look at those with capture_view and fix only them (refine_selection with regions).',
13440
13624
  inputSchema: {
13441
13625
  type: "object",
13442
13626
  properties: {
@@ -13456,9 +13640,9 @@ function createImageSelectionTools(controller) {
13456
13640
  mode: _chunkSS53NNZOcjs.parseSelectionMode.call(void 0, args.mode),
13457
13641
  sampleAllLayers: args.sampleAllLayers,
13458
13642
  useModel: args.useModel,
13459
- signal: _optionalChain([context, 'optionalAccess', _519 => _519.signal])
13643
+ signal: _optionalChain([context, 'optionalAccess', _526 => _526.signal])
13460
13644
  });
13461
- return { ...summary(controller), method, ...note ? { note } : {} };
13645
+ return { ...summary(controller), method, ...note ? { note } : {}, ...uncertainty(controller) };
13462
13646
  }
13463
13647
  };
13464
13648
  const magicWandTool = {
@@ -13554,7 +13738,7 @@ function createImageSelectionTools(controller) {
13554
13738
  await controller.selectColorRangePreset(args.preset, { ...common, falloff: num2(args.fuzziness, 20) });
13555
13739
  } else {
13556
13740
  const samples = args.samples.map((s, i) => {
13557
- if (typeof _optionalChain([s, 'optionalAccess', _520 => _520.color]) !== "string" || !/^#?[0-9a-f]{6}$/i.test(s.color.trim())) throw new Error(`samples[${i}].color must be #rrggbb.`);
13741
+ if (typeof _optionalChain([s, 'optionalAccess', _527 => _527.color]) !== "string" || !/^#?[0-9a-f]{6}$/i.test(s.color.trim())) throw new Error(`samples[${i}].color must be #rrggbb.`);
13558
13742
  const at = typeof s.x === "number" && typeof s.y === "number" ? { x: s.x, y: s.y } : void 0;
13559
13743
  return at ? { color: s.color, at } : { color: s.color };
13560
13744
  });
@@ -13796,7 +13980,7 @@ function createImageSelectionTools(controller) {
13796
13980
  annotations: writeAnnotations("Content-Aware Fill"),
13797
13981
  handler: async (args, context) => {
13798
13982
  if (!controller.getSelection()) throw new Error("Nothing is selected; select what to remove first.");
13799
- const rects = (v) => Array.isArray(v) ? v.map((r) => ({ x: num2(_optionalChain([r, 'optionalAccess', _521 => _521.x]), NaN), y: num2(_optionalChain([r, 'optionalAccess', _522 => _522.y]), NaN), width: num2(_optionalChain([r, 'optionalAccess', _523 => _523.width]), NaN), height: num2(_optionalChain([r, 'optionalAccess', _524 => _524.height]), NaN) })) : void 0;
13983
+ const rects = (v) => Array.isArray(v) ? v.map((r) => ({ x: num2(_optionalChain([r, 'optionalAccess', _528 => _528.x]), NaN), y: num2(_optionalChain([r, 'optionalAccess', _529 => _529.y]), NaN), width: num2(_optionalChain([r, 'optionalAccess', _530 => _530.width]), NaN), height: num2(_optionalChain([r, 'optionalAccess', _531 => _531.height]), NaN) })) : void 0;
13800
13984
  return controller.contentAwareFillAsync({
13801
13985
  output: args.output,
13802
13986
  sampleRadius: args.sampleRadius,
@@ -13805,7 +13989,7 @@ function createImageSelectionTools(controller) {
13805
13989
  sampleRects: rects(args.sampleRects),
13806
13990
  excludeRects: rects(args.excludeRects),
13807
13991
  samplingChannelId: typeof args.samplingChannelId === "string" ? args.samplingChannelId : void 0,
13808
- signal: _optionalChain([context, 'optionalAccess', _525 => _525.signal])
13992
+ signal: _optionalChain([context, 'optionalAccess', _532 => _532.signal])
13809
13993
  });
13810
13994
  }
13811
13995
  };
@@ -14063,7 +14247,7 @@ function createImageSubjectSelectionTool(controller) {
14063
14247
  return {
14064
14248
  name: "select_subject",
14065
14249
  title: "Select a subject",
14066
- description: 'Select \u203A Subject: selects the main subject of the flattened image, combined with the selection by mode. With a segmentation model set by the host, target (a description such as "the dog" or "the house") chooses which objects; describe one object precisely to get only that one. Without a model, the subject that stands out most from the background is found classically (superpixel saliency and GrabCut): target cannot choose it, and method "saliency" and a note say so. Then check it with capture_view and fix it with quick_select or select_object. One undoable step. Returns the selection, the objects found (label, bounds), method ("model" or "saliency") and any note; none found leaves the selection unchanged.',
14250
+ description: 'Select \u203A Subject: selects the main subject of the flattened image, combined with the selection by mode. With a segmentation model set by the host, target (a description such as "the dog" or "the house") chooses which objects; describe one object precisely to get only that one. Without a model, the subject that stands out most from the background is found classically (superpixel saliency and GrabCut): target cannot choose it, and method "saliency" and a note say so. Then check it with capture_view and fix it with quick_select or select_object. One undoable step. Returns the selection, the objects found (label, bounds), method ("model" or "saliency") and any note; none found leaves the selection unchanged. Also returns uncertainRegions (bounds, area, confidence 0-1; up to 20, least confident first), uncertainCount and edgeConfidence: where the edge has no image edge under it. Look at those with capture_view and fix only them (refine_selection with regions).',
14067
14251
  inputSchema: {
14068
14252
  type: "object",
14069
14253
  properties: {
@@ -14084,17 +14268,17 @@ function createImageSubjectSelectionTool(controller) {
14084
14268
  handler: async ({ target, maxSegments, mode, feather, enhanceEdge }, context) => {
14085
14269
  if (target !== void 0 && typeof target !== "string") throw new Error("target must be a description in words.");
14086
14270
  if (controller.segmentationProvider && !String(_nullishCoalesce(target, () => ( ""))).trim()) throw new Error("target must describe what to select (a model is set, and it selects by description).");
14087
- const perform = _optionalChain([context, 'optionalAccess', _526 => _526.perform]);
14271
+ const perform = _optionalChain([context, 'optionalAccess', _533 => _533.perform]);
14088
14272
  const { segments, method, note } = await controller.selectSubject(String(_nullishCoalesce(target, () => ( ""))), {
14089
14273
  mode: _chunkSS53NNZOcjs.parseSelectionMode.call(void 0, mode),
14090
14274
  feather: num2(feather, 0),
14091
14275
  maxSegments: typeof maxSegments === "number" ? Math.max(1, Math.round(maxSegments)) : void 0,
14092
14276
  enhanceEdge: enhanceEdge === true,
14093
- signal: _optionalChain([context, 'optionalAccess', _527 => _527.signal]),
14277
+ signal: _optionalChain([context, 'optionalAccess', _534 => _534.signal]),
14094
14278
  // Under playback the cursor traces what the model found, as a lasso, before it is selected.
14095
14279
  beforeApply: perform ? (outlines) => perform(planOutlineTrace(outlines)) : void 0
14096
14280
  });
14097
- return { ...summary(controller), found: segments, method, ...note ? { note } : {} };
14281
+ return { ...summary(controller), found: segments, method, ...note ? { note } : {}, ...uncertainty(controller) };
14098
14282
  }
14099
14283
  };
14100
14284
  }
@@ -14168,7 +14352,7 @@ async function renderImageRegion(controller, request) {
14168
14352
  const maskView = maskViewCanvas(controller, document);
14169
14353
  if (maskView) context.drawImage(maskView, rect2.x, rect2.y, rect2.width, rect2.height, 0, 0, out.width, out.height);
14170
14354
  const selection = state.selection;
14171
- if (_optionalChain([selection, 'optionalAccess', _528 => _528.bounds]) && selection.width === state.imageDimensions.width && selection.height === state.imageDimensions.height) {
14355
+ if (_optionalChain([selection, 'optionalAccess', _535 => _535.bounds]) && selection.width === state.imageDimensions.width && selection.height === state.imageDimensions.height) {
14172
14356
  const shade = selectionShade(selection, document);
14173
14357
  if (shade) context.drawImage(shade, rect2.x, rect2.y, rect2.width, rect2.height, 0, 0, out.width, out.height);
14174
14358
  }
@@ -14193,7 +14377,7 @@ function createImageCaptureSurface(controller) {
14193
14377
  return {
14194
14378
  units: "image pixels",
14195
14379
  content: whole,
14196
- selection: () => ({ rect: _nullishCoalesce(_optionalChain([controller, 'access', _529 => _529.getState, 'call', _530 => _530(), 'access', _531 => _531.selection, 'optionalAccess', _532 => _532.bounds]), () => ( null)) }),
14380
+ selection: () => ({ rect: _nullishCoalesce(_optionalChain([controller, 'access', _536 => _536.getState, 'call', _537 => _537(), 'access', _538 => _538.selection, 'optionalAccess', _539 => _539.bounds]), () => ( null)) }),
14197
14381
  overlays: "a shade over unselected pixels, the crop box outline and a layer mask view (set_mask_view)",
14198
14382
  maxScale: 8,
14199
14383
  render: (request) => renderImageRegion(controller, request)
@@ -14527,7 +14711,7 @@ function describeLayer(layer, activeId, boundsOf) {
14527
14711
  out.bounds = boundsOf(layer);
14528
14712
  out.fillOpacity = round3(_nullishCoalesce(layer.fillOpacity, () => ( 1)));
14529
14713
  out.shape = {
14530
- components: layer.components.map((c) => ({ op: c.op, kind: _nullishCoalesce(_optionalChain([c, 'access', _533 => _533.live, 'optionalAccess', _534 => _534.kind]), () => ( "path")) })),
14714
+ components: layer.components.map((c) => ({ op: c.op, kind: _nullishCoalesce(_optionalChain([c, 'access', _540 => _540.live, 'optionalAccess', _541 => _541.kind]), () => ( "path")) })),
14531
14715
  fill: layer.fill ? layer.fill.type : null,
14532
14716
  stroke: layer.stroke ? { width: layer.stroke.width, paint: layer.stroke.paint.type } : null
14533
14717
  };
@@ -14550,8 +14734,8 @@ function describeLayer(layer, activeId, boundsOf) {
14550
14734
  out.bounds = boundsOf(layer);
14551
14735
  out.fillOpacity = round3(_nullishCoalesce(layer.fillOpacity, () => ( 1)));
14552
14736
  out.contents = { id: layer.contents.id, name: layer.contents.name, kind: layer.contents.kind, width: layer.contents.width, height: layer.contents.height };
14553
- out.smartFilters = (_nullishCoalesce(_optionalChain([layer, 'access', _535 => _535.smartFilters, 'optionalAccess', _536 => _536.filters]), () => ( []))).map((f) => ({ id: f.id, kind: f.kind, enabled: f.enabled }));
14554
- out.filterMask = maskSummary(_optionalChain([layer, 'access', _537 => _537.smartFilters, 'optionalAccess', _538 => _538.mask]));
14737
+ out.smartFilters = (_nullishCoalesce(_optionalChain([layer, 'access', _542 => _542.smartFilters, 'optionalAccess', _543 => _543.filters]), () => ( []))).map((f) => ({ id: f.id, kind: f.kind, enabled: f.enabled }));
14738
+ out.filterMask = maskSummary(_optionalChain([layer, 'access', _544 => _544.smartFilters, 'optionalAccess', _545 => _545.mask]));
14555
14739
  break;
14556
14740
  }
14557
14741
  return out;
@@ -14579,7 +14763,7 @@ function createImageLayerTools(controller) {
14579
14763
  if (!loc) return null;
14580
14764
  return {
14581
14765
  ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)),
14582
- parentId: _nullishCoalesce(_optionalChain([loc, 'access', _539 => _539.parent, 'optionalAccess', _540 => _540.id]), () => ( null)),
14766
+ parentId: _nullishCoalesce(_optionalChain([loc, 'access', _546 => _546.parent, 'optionalAccess', _547 => _547.id]), () => ( null)),
14583
14767
  index: loc.index
14584
14768
  };
14585
14769
  };
@@ -14902,7 +15086,7 @@ function createImageLayerTools(controller) {
14902
15086
  if (view !== "gray" && view !== "overlay" && view !== "off") throw new Error(`Unknown view "${String(view)}". Use gray, overlay or off.`);
14903
15087
  const id = view === "off" || layerId === void 0 ? void 0 : exists(layerId);
14904
15088
  const shown = controller.setMaskView(view, id);
14905
- return { view: _nullishCoalesce(_optionalChain([shown, 'optionalAccess', _541 => _541.mode]), () => ( "off")), layerId: _nullishCoalesce(_optionalChain([shown, 'optionalAccess', _542 => _542.layerId]), () => ( null)) };
15089
+ return { view: _nullishCoalesce(_optionalChain([shown, 'optionalAccess', _548 => _548.mode]), () => ( "off")), layerId: _nullishCoalesce(_optionalChain([shown, 'optionalAccess', _549 => _549.layerId]), () => ( null)) };
14906
15090
  }
14907
15091
  };
14908
15092
  const AMOUNT = (what) => ({ type: "number", minimum: 0, maximum: 100, description: `${what}, in percent 0-100; 0 turns it off.` });
@@ -15501,7 +15685,7 @@ var SelectionGesture = (_class13 = class {
15501
15685
  size: _nullishCoalesce(options.quickSize, () => ( 30)),
15502
15686
  grow: q.mode === "add",
15503
15687
  enhanceEdge: _nullishCoalesce(options.quickEnhance, () => ( false)),
15504
- selection: q.mode === "add" && _optionalChain([q, 'access', _543 => _543.base, 'optionalAccess', _544 => _544.bounds]) ? _chunkUC3PWFM3cjs.serializeMask.call(void 0, q.base) : null
15688
+ selection: q.mode === "add" && _optionalChain([q, 'access', _550 => _550.base, 'optionalAccess', _551 => _551.bounds]) ? _chunkUC3PWFM3cjs.serializeMask.call(void 0, q.base) : null
15505
15689
  },
15506
15690
  pixels
15507
15691
  );
@@ -15712,7 +15896,7 @@ var SelectionGesture = (_class13 = class {
15712
15896
  this.start = null;
15713
15897
  this.current = null;
15714
15898
  this.points = [];
15715
- const strokeMode = _nullishCoalesce(_optionalChain([this, 'access', _545 => _545.quick, 'optionalAccess', _546 => _546.mode]), () => ( (mode === "replace" && this.controller.getSelection() ? "add" : mode)));
15899
+ const strokeMode = _nullishCoalesce(_optionalChain([this, 'access', _552 => _552.quick, 'optionalAccess', _553 => _553.mode]), () => ( (mode === "replace" && this.controller.getSelection() ? "add" : mode)));
15716
15900
  this.quick = null;
15717
15901
  this.pending = this.controller.quickSelect([stroke], {
15718
15902
  size: _nullishCoalesce(options.quickSize, () => ( 30)),
@@ -15873,7 +16057,7 @@ function handleSelectionShortcut(controller, e, onError) {
15873
16057
  try {
15874
16058
  fn();
15875
16059
  } catch (err) {
15876
- _optionalChain([onError, 'optionalCall', _547 => _547(err instanceof Error ? err.message : String(err))]);
16060
+ _optionalChain([onError, 'optionalCall', _554 => _554(err instanceof Error ? err.message : String(err))]);
15877
16061
  }
15878
16062
  return true;
15879
16063
  };
@@ -15888,9 +16072,9 @@ function handleMaskViewKey(controller, e) {
15888
16072
  if (e.ctrlKey || e.metaKey || e.altKey || e.key !== "\\") return false;
15889
16073
  const id = controller.getState().activeLayerId;
15890
16074
  const layer = id ? controller.getLayer(id) : null;
15891
- if (!_optionalChain([layer, 'optionalAccess', _548 => _548.mask]) || layer.mask.source) return false;
16075
+ if (!_optionalChain([layer, 'optionalAccess', _555 => _555.mask]) || layer.mask.source) return false;
15892
16076
  const view = controller.getMaskView();
15893
- controller.setMaskView(_optionalChain([view, 'optionalAccess', _549 => _549.layerId]) === layer.id && view.mode === "overlay" ? "off" : "overlay", layer.id);
16077
+ controller.setMaskView(_optionalChain([view, 'optionalAccess', _556 => _556.layerId]) === layer.id && view.mode === "overlay" ? "off" : "overlay", layer.id);
15894
16078
  return true;
15895
16079
  }
15896
16080
  function handleQuickMaskKey(controller, e) {
@@ -16104,7 +16288,7 @@ var PaintGesture = (_class14 = class {
16104
16288
  const layer = this.controller.getActiveLayer();
16105
16289
  if (!layer) throw new Error("Select a layer to move in the Layers panel.");
16106
16290
  if (layer.type !== "pixel" && layer.type !== "shape" && layer.type !== "smart") throw new Error(`Only pixel, shape and smart object layers move; "${layer.name}" is a ${layer.type} layer.`);
16107
- if (_optionalChain([layer, 'access', _550 => _550.locks, 'optionalAccess', _551 => _551.all]) || _optionalChain([layer, 'access', _552 => _552.locks, 'optionalAccess', _553 => _553.position])) throw new Error(`Layer "${layer.name}" has its position locked.`);
16291
+ if (_optionalChain([layer, 'access', _557 => _557.locks, 'optionalAccess', _558 => _558.all]) || _optionalChain([layer, 'access', _559 => _559.locks, 'optionalAccess', _560 => _560.position])) throw new Error(`Layer "${layer.name}" has its position locked.`);
16108
16292
  const origin = layer.type === "pixel" ? { ...layer.offset } : layer.type === "smart" ? { ...layer.placement.corners[0] } : (() => {
16109
16293
  const b = _chunkS55JFWDAcjs.shapeGeometryBounds.call(void 0, layer);
16110
16294
  return b ? { x: b.x, y: b.y } : { x: 0, y: 0 };
@@ -16161,7 +16345,7 @@ var PaintGesture = (_class14 = class {
16161
16345
  this.move = null;
16162
16346
  }
16163
16347
  cancel() {
16164
- _optionalChain([this, 'access', _554 => _554.stroke, 'optionalAccess', _555 => _555.cancel, 'call', _556 => _556()]);
16348
+ _optionalChain([this, 'access', _561 => _561.stroke, 'optionalAccess', _562 => _562.cancel, 'call', _563 => _563()]);
16165
16349
  this.stroke = null;
16166
16350
  this.move = null;
16167
16351
  }
@@ -17242,7 +17426,7 @@ function createImageSmartObjectTools(controller) {
17242
17426
  const layerSummary = (id) => {
17243
17427
  const s = controller.getState();
17244
17428
  const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, s.layers, id);
17245
- return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access', _557 => _557.parent, 'optionalAccess', _558 => _558.id]), () => ( null)), index: loc.index } : null;
17429
+ return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access', _564 => _564.parent, 'optionalAccess', _565 => _565.id]), () => ( null)), index: loc.index } : null;
17246
17430
  };
17247
17431
  const getSmart = {
17248
17432
  name: "get_smart_object",
@@ -17799,7 +17983,7 @@ function createImageShapeTools(controller) {
17799
17983
  const layerSummary = (id) => {
17800
17984
  const s = controller.getState();
17801
17985
  const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, s.layers, id);
17802
- return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access', _559 => _559.parent, 'optionalAccess', _560 => _560.id]), () => ( null)), index: loc.index } : null;
17986
+ return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access', _566 => _566.parent, 'optionalAccess', _567 => _567.id]), () => ( null)), index: loc.index } : null;
17803
17987
  };
17804
17988
  const get = {
17805
17989
  name: "get_shape_layer",
@@ -18030,7 +18214,7 @@ function createImageShapeTools(controller) {
18030
18214
  const mode = args.mode;
18031
18215
  controller.pathToSelection(_nullishCoalesce(fromPathId(args), () => ( pathSpec(args))), { feather: args.feather, antiAlias: args.antiAlias, mode });
18032
18216
  const sel = controller.getSelection();
18033
- return { empty: !sel, bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _561 => _561.bounds]), () => ( null)), area: Math.round(sel ? _chunkSS53NNZOcjs.selectionArea.call(void 0, sel) : 0) };
18217
+ return { empty: !sel, bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _568 => _568.bounds]), () => ( null)), area: Math.round(sel ? _chunkSS53NNZOcjs.selectionArea.call(void 0, sel) : 0) };
18034
18218
  }
18035
18219
  };
18036
18220
  const getVectorMask = {
@@ -18062,7 +18246,7 @@ function createImageShapeTools(controller) {
18062
18246
  handler: (args) => {
18063
18247
  const id = layerArg(args.layerId);
18064
18248
  const spec = _nullishCoalesce(fromPathId(args), () => ( pathSpec(args)));
18065
- const hasPath = _optionalChain([spec, 'access', _562 => _562.components, 'optionalAccess', _563 => _563.length]) || spec.shape !== void 0 || spec.subpaths !== void 0;
18249
+ const hasPath = _optionalChain([spec, 'access', _569 => _569.components, 'optionalAccess', _570 => _570.length]) || spec.shape !== void 0 || spec.subpaths !== void 0;
18066
18250
  const from = _nullishCoalesce(args.from, () => ( (hasPath ? "path" : "reveal-all")));
18067
18251
  if (from !== "selection" && TRACE_KEYS.some((k) => args[k] !== void 0)) throw new Error("tolerance, cornerRoundness and minArea apply only to from selection.");
18068
18252
  controller.addVectorMask(id, from, spec, traceOptions(args));
@@ -18170,7 +18354,7 @@ function createImageShapeTools(controller) {
18170
18354
  annotations: { title: "Add a document path", ...WRITE8 },
18171
18355
  handler: (args) => {
18172
18356
  const spec = pathSpec(args);
18173
- if (!_optionalChain([spec, 'access', _564 => _564.components, 'optionalAccess', _565 => _565.length]) && spec.shape === void 0 && spec.subpaths === void 0) throw new Error("Give the path as shape, subpaths or components.");
18357
+ if (!_optionalChain([spec, 'access', _571 => _571.components, 'optionalAccess', _572 => _572.length]) && spec.shape === void 0 && spec.subpaths === void 0) throw new Error("Give the path as shape, subpaths or components.");
18174
18358
  return { path: pathSummary(controller.addPath({ ...spec, name: args.name }).id) };
18175
18359
  }
18176
18360
  };
@@ -18314,7 +18498,7 @@ function createImageTypeTools(controller) {
18314
18498
  const layerSummary = (id) => {
18315
18499
  const s = controller.getState();
18316
18500
  const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, s.layers, id);
18317
- return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access', _566 => _566.parent, 'optionalAccess', _567 => _567.id]), () => ( null)), index: loc.index } : null;
18501
+ return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access', _573 => _573.parent, 'optionalAccess', _574 => _574.id]), () => ( null)), index: loc.index } : null;
18318
18502
  };
18319
18503
  const range = (args) => ({ start: args.start, end: args.end });
18320
18504
  const listFonts = {
@@ -18323,7 +18507,7 @@ function createImageTypeTools(controller) {
18323
18507
  description: "Returns the font families type layers can use here (generic families such as sans-serif always work). Changes nothing.",
18324
18508
  inputSchema: { type: "object", properties: {}, additionalProperties: false },
18325
18509
  annotations: { title: "List fonts", ...READ11 },
18326
- handler: () => ({ families: controller.listFonts(), shaper: _nullishCoalesce(_optionalChain([controller, 'access', _568 => _568.getTextShaper, 'call', _569 => _569(), 'optionalAccess', _570 => _570.id]), () => ( null)) })
18510
+ handler: () => ({ families: controller.listFonts(), shaper: _nullishCoalesce(_optionalChain([controller, 'access', _575 => _575.getTextShaper, 'call', _576 => _576(), 'optionalAccess', _577 => _577.id]), () => ( null)) })
18327
18511
  };
18328
18512
  const get = {
18329
18513
  name: "get_text_layer",
@@ -18479,7 +18663,7 @@ function createImageTypeTools(controller) {
18479
18663
  const init = pick2(args, ["text", "x", "y", "orientation", "box", "style", "paragraph", "rotation", "mode", "feather", "antiAlias"]);
18480
18664
  controller.selectTextShape(init);
18481
18665
  const sel = controller.getSelection();
18482
- return { empty: !sel, bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _571 => _571.bounds]), () => ( null)), area: Math.round(sel ? _chunkSS53NNZOcjs.selectionArea.call(void 0, sel) : 0) };
18666
+ return { empty: !sel, bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _578 => _578.bounds]), () => ( null)), area: Math.round(sel ? _chunkSS53NNZOcjs.selectionArea.call(void 0, sel) : 0) };
18483
18667
  }
18484
18668
  };
18485
18669
  return [listFonts, get, add2, setText, setStyle, setParagraph, setFrame, setOrientation, toShape, typeMask];
@@ -18658,7 +18842,7 @@ function createImageEditorToolProvider(controller, options = {}) {
18658
18842
  for (const ref of [aboveId, parentId]) {
18659
18843
  if (ref !== void 0 && !controller.getLayer(ref)) throw new Error(`Unknown layer "${ref}". Call list_layers for ids.`);
18660
18844
  }
18661
- if (parentId !== void 0 && _optionalChain([controller, 'access', _572 => _572.getLayer, 'call', _573 => _573(parentId), 'optionalAccess', _574 => _574.type]) !== "group") throw new Error(`Layer "${parentId}" is not a group.`);
18845
+ if (parentId !== void 0 && _optionalChain([controller, 'access', _579 => _579.getLayer, 'call', _580 => _580(parentId), 'optionalAccess', _581 => _581.type]) !== "group") throw new Error(`Layer "${parentId}" is not a group.`);
18662
18846
  const id = controller.addAdjustmentLayer({ kind, params, opacity, blend, name, aboveId, parentId, useSelection: useSelection !== false });
18663
18847
  const layer = controller.getAdjustmentLayer(id);
18664
18848
  return { layer: JSON.parse(JSON.stringify(layer)), index: controller.getAdjustmentLayers().findIndex((l) => l.id === id), masked: Boolean(layer.mask) };
@@ -18993,7 +19177,7 @@ var SelectAndMaskSession = (_class15 = class {
18993
19177
  const h = Math.max(1, Math.round(px2.height * s));
18994
19178
  this.previewPixels = scalePixels(px2, w, h);
18995
19179
  this.belowPreview = this.below ? scalePixels(this.below, w, h) : null;
18996
- this.baseMask = _optionalChain([this, 'access', _575 => _575.base, 'optionalAccess', _576 => _576.bounds]) ? s === 1 ? this.base : _chunkSS53NNZOcjs.resizeSelection.call(void 0, this.base, w, h) : null;
19180
+ this.baseMask = _optionalChain([this, 'access', _582 => _582.base, 'optionalAccess', _583 => _583.bounds]) ? s === 1 ? this.base : _chunkSS53NNZOcjs.resizeSelection.call(void 0, this.base, w, h) : null;
18997
19181
  }
18998
19182
  /**
18999
19183
  * Recomputes the preview mask from the base selection, the strokes and the settings: at once on
@@ -19011,7 +19195,7 @@ var SelectAndMaskSession = (_class15 = class {
19011
19195
  const edits = [...this.editsList, ...this.live ? [this.live] : []].map((e) => scaleEdit(e, scale));
19012
19196
  try {
19013
19197
  const { selection, refineBrush } = _chunkUC3PWFM3cjs.applyRefineEdits.call(void 0, px2, this.baseMask, edits, px2.width, px2.height);
19014
- this.previewMask = _optionalChain([selection, 'optionalAccess', _577 => _577.bounds]) ? _chunkSS53NNZOcjs.refineSelection.call(void 0, px2, selection, scaleParams(this.settingsValue.params, scale), refineBrush) : null;
19198
+ this.previewMask = _optionalChain([selection, 'optionalAccess', _584 => _584.bounds]) ? _chunkSS53NNZOcjs.refineSelection.call(void 0, px2, selection, scaleParams(this.settingsValue.params, scale), refineBrush) : null;
19015
19199
  this.error = null;
19016
19200
  } catch (err) {
19017
19201
  this.previewMask = null;
@@ -19117,7 +19301,7 @@ var SelectAndMaskSession = (_class15 = class {
19117
19301
  break;
19118
19302
  }
19119
19303
  case "on-layers": {
19120
- const under = _optionalChain([this, 'access', _578 => _578.belowPreview, 'optionalAccess', _579 => _579.data]);
19304
+ const under = _optionalChain([this, 'access', _585 => _585.belowPreview, 'optionalAccess', _586 => _586.data]);
19121
19305
  let ur = checker;
19122
19306
  let ug = checker;
19123
19307
  let ub = checker;
@@ -19413,7 +19597,7 @@ function maskThumbnailClick(controller, layer, e) {
19413
19597
  } else if (e.altKey && !layer.mask.source) {
19414
19598
  const mode = e.shiftKey ? "overlay" : "gray";
19415
19599
  const view = controller.getMaskView();
19416
- controller.setMaskView(_optionalChain([view, 'optionalAccess', _580 => _580.layerId]) === layer.id && view.mode === mode ? "off" : mode, layer.id);
19600
+ controller.setMaskView(_optionalChain([view, 'optionalAccess', _587 => _587.layerId]) === layer.id && view.mode === mode ? "off" : mode, layer.id);
19417
19601
  } else if (e.shiftKey) {
19418
19602
  controller.setLayerMaskProps(layer.id, { enabled: layer.mask.enabled === false });
19419
19603
  } else {
@@ -19477,7 +19661,7 @@ function layerHasThumbnail(layer) {
19477
19661
  return layer.type === "pixel" || layer.type === "shape" || layer.type === "type";
19478
19662
  }
19479
19663
  function layerWarning(layer) {
19480
- if (layer.type === "type" && _optionalChain([layer, 'access', _581 => _581.missingFonts, 'optionalAccess', _582 => _582.length])) {
19664
+ if (layer.type === "type" && _optionalChain([layer, 'access', _588 => _588.missingFonts, 'optionalAccess', _589 => _589.length])) {
19481
19665
  return `Missing ${layer.missingFonts.length === 1 ? "font" : "fonts"}: ${layer.missingFonts.join(", ")}. ${layer.rendering === "stored" ? "Showing the saved pixels until the text is edited." : "Drawn with a fallback font."}`;
19482
19666
  }
19483
19667
  return null;
@@ -19500,16 +19684,16 @@ function layerMenu(controller) {
19500
19684
  const siblings = loc ? loc.parent ? loc.parent.children : s.layers : [];
19501
19685
  const below = loc ? siblings[loc.index - 1] : void 0;
19502
19686
  const hasSel = controller.hasSelection;
19503
- const isPixel = _optionalChain([active, 'optionalAccess', _583 => _583.type]) === "pixel";
19504
- const hasOwnPixels = _optionalChain([active, 'optionalAccess', _584 => _584.type]) === "pixel" || _optionalChain([active, 'optionalAccess', _585 => _585.type]) === "shape" || _optionalChain([active, 'optionalAccess', _586 => _586.type]) === "type" || _optionalChain([active, 'optionalAccess', _587 => _587.type]) === "smart";
19687
+ const isPixel = _optionalChain([active, 'optionalAccess', _590 => _590.type]) === "pixel";
19688
+ const hasOwnPixels = _optionalChain([active, 'optionalAccess', _591 => _591.type]) === "pixel" || _optionalChain([active, 'optionalAccess', _592 => _592.type]) === "shape" || _optionalChain([active, 'optionalAccess', _593 => _593.type]) === "type" || _optionalChain([active, 'optionalAccess', _594 => _594.type]) === "smart";
19505
19689
  return [
19506
19690
  { action: "new-layer", label: "New Layer", enabled: true },
19507
19691
  { action: "new-group", label: "New Group", enabled: true },
19508
19692
  { action: "duplicate", label: "Duplicate Layer", enabled: Boolean(active) },
19509
19693
  { action: "delete", label: "Delete Layer", enabled: Boolean(active) },
19510
19694
  { action: "group-selected", label: "Group Layer", enabled: Boolean(active) },
19511
- { action: "ungroup", label: "Ungroup", enabled: _optionalChain([active, 'optionalAccess', _588 => _588.type]) === "group" },
19512
- { action: "merge-down", label: "Merge Down", enabled: Boolean(_optionalChain([active, 'optionalAccess', _589 => _589.visible]) && _optionalChain([below, 'optionalAccess', _590 => _590.type]) === "pixel") },
19695
+ { action: "ungroup", label: "Ungroup", enabled: _optionalChain([active, 'optionalAccess', _595 => _595.type]) === "group" },
19696
+ { action: "merge-down", label: "Merge Down", enabled: Boolean(_optionalChain([active, 'optionalAccess', _596 => _596.visible]) && _optionalChain([below, 'optionalAccess', _597 => _597.type]) === "pixel") },
19513
19697
  { action: "merge-visible", label: "Merge Visible", enabled: s.layers.some((l) => l.visible) },
19514
19698
  { action: "flatten", label: "Flatten Image", enabled: s.layers.length > 0 },
19515
19699
  { action: "via-copy", label: "Layer via Copy", enabled: isPixel && hasSel },
@@ -19519,27 +19703,27 @@ function layerMenu(controller) {
19519
19703
  { action: "add-mask-hide-selection", label: "Add Mask Hiding Selection", enabled: Boolean(active) && hasSel },
19520
19704
  { action: "add-mask-transparency", label: "Add Mask from Transparency", enabled: hasOwnPixels },
19521
19705
  { action: "select-transparency", label: "Select Layer Pixels", enabled: hasOwnPixels },
19522
- { action: "apply-mask", label: "Apply Layer Mask", enabled: isPixel && Boolean(_optionalChain([active, 'optionalAccess', _591 => _591.mask])) },
19523
- { action: "delete-mask", label: "Delete Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _592 => _592.mask])) },
19524
- { action: "toggle-mask", label: _optionalChain([active, 'optionalAccess', _593 => _593.mask, 'optionalAccess', _594 => _594.enabled]) === false ? "Enable Layer Mask" : "Disable Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _595 => _595.mask])) },
19525
- { action: "toggle-mask-link", label: _optionalChain([active, 'optionalAccess', _596 => _596.mask, 'optionalAccess', _597 => _597.linked]) === false ? "Link Layer Mask" : "Unlink Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _598 => _598.mask]) && !active.mask.source) },
19526
- { action: "add-vector-mask", label: "Add Vector Mask (Reveal All)", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access', _599 => _599.mask, 'optionalAccess', _600 => _600.source])) },
19527
- { action: "add-vector-mask-hide", label: "Add Vector Mask (Hide All)", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access', _601 => _601.mask, 'optionalAccess', _602 => _602.source])) },
19528
- { action: "add-vector-mask-selection", label: "Add Vector Mask from Selection", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access', _603 => _603.mask, 'optionalAccess', _604 => _604.source])) && hasSel },
19529
- { action: "delete-vector-mask", label: "Delete Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _605 => _605.vectorMask])) },
19530
- { action: "toggle-vector-mask", label: _optionalChain([active, 'optionalAccess', _606 => _606.vectorMask, 'optionalAccess', _607 => _607.enabled]) === false ? "Enable Vector Mask" : "Disable Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _608 => _608.vectorMask])) },
19531
- { action: "rasterize-vector-mask", label: "Rasterize Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _609 => _609.vectorMask])) },
19532
- { action: "rasterize", label: "Rasterize Layer", enabled: _optionalChain([active, 'optionalAccess', _610 => _610.type]) === "annotation" || _optionalChain([active, 'optionalAccess', _611 => _611.type]) === "smart" || _optionalChain([active, 'optionalAccess', _612 => _612.type]) === "shape" || _optionalChain([active, 'optionalAccess', _613 => _613.type]) === "type" || isPixel && Boolean(_optionalChain([active, 'optionalAccess', _614 => _614.type]) === "pixel" && _optionalChain([active, 'access', _615 => _615.filters, 'optionalAccess', _616 => _616.length])) },
19706
+ { action: "apply-mask", label: "Apply Layer Mask", enabled: isPixel && Boolean(_optionalChain([active, 'optionalAccess', _598 => _598.mask])) },
19707
+ { action: "delete-mask", label: "Delete Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _599 => _599.mask])) },
19708
+ { action: "toggle-mask", label: _optionalChain([active, 'optionalAccess', _600 => _600.mask, 'optionalAccess', _601 => _601.enabled]) === false ? "Enable Layer Mask" : "Disable Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _602 => _602.mask])) },
19709
+ { action: "toggle-mask-link", label: _optionalChain([active, 'optionalAccess', _603 => _603.mask, 'optionalAccess', _604 => _604.linked]) === false ? "Link Layer Mask" : "Unlink Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _605 => _605.mask]) && !active.mask.source) },
19710
+ { action: "add-vector-mask", label: "Add Vector Mask (Reveal All)", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access', _606 => _606.mask, 'optionalAccess', _607 => _607.source])) },
19711
+ { action: "add-vector-mask-hide", label: "Add Vector Mask (Hide All)", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access', _608 => _608.mask, 'optionalAccess', _609 => _609.source])) },
19712
+ { action: "add-vector-mask-selection", label: "Add Vector Mask from Selection", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access', _610 => _610.mask, 'optionalAccess', _611 => _611.source])) && hasSel },
19713
+ { action: "delete-vector-mask", label: "Delete Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _612 => _612.vectorMask])) },
19714
+ { action: "toggle-vector-mask", label: _optionalChain([active, 'optionalAccess', _613 => _613.vectorMask, 'optionalAccess', _614 => _614.enabled]) === false ? "Enable Vector Mask" : "Disable Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _615 => _615.vectorMask])) },
19715
+ { action: "rasterize-vector-mask", label: "Rasterize Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _616 => _616.vectorMask])) },
19716
+ { action: "rasterize", label: "Rasterize Layer", enabled: _optionalChain([active, 'optionalAccess', _617 => _617.type]) === "annotation" || _optionalChain([active, 'optionalAccess', _618 => _618.type]) === "smart" || _optionalChain([active, 'optionalAccess', _619 => _619.type]) === "shape" || _optionalChain([active, 'optionalAccess', _620 => _620.type]) === "type" || isPixel && Boolean(_optionalChain([active, 'optionalAccess', _621 => _621.type]) === "pixel" && _optionalChain([active, 'access', _622 => _622.filters, 'optionalAccess', _623 => _623.length])) },
19533
19717
  { action: "convert-smart", label: "Convert to Smart Object", enabled: Boolean(active && active.type !== "annotation") },
19534
- { action: "edit-contents", label: "Edit Contents", enabled: _optionalChain([active, 'optionalAccess', _617 => _617.type]) === "smart" },
19535
- { action: "smart-via-copy", label: "New Smart Object via Copy", enabled: _optionalChain([active, 'optionalAccess', _618 => _618.type]) === "smart" },
19536
- { action: "add-filter-mask", label: "Add Smart Filter Mask", enabled: _optionalChain([active, 'optionalAccess', _619 => _619.type]) === "smart" && !_optionalChain([active, 'access', _620 => _620.smartFilters, 'optionalAccess', _621 => _621.mask]) },
19537
- { action: "toggle-clip", label: _optionalChain([active, 'optionalAccess', _622 => _622.clipped]) ? "Release Clipping Mask" : "Create Clipping Mask", enabled: Boolean(loc && loc.index > 0) }
19718
+ { action: "edit-contents", label: "Edit Contents", enabled: _optionalChain([active, 'optionalAccess', _624 => _624.type]) === "smart" },
19719
+ { action: "smart-via-copy", label: "New Smart Object via Copy", enabled: _optionalChain([active, 'optionalAccess', _625 => _625.type]) === "smart" },
19720
+ { action: "add-filter-mask", label: "Add Smart Filter Mask", enabled: _optionalChain([active, 'optionalAccess', _626 => _626.type]) === "smart" && !_optionalChain([active, 'access', _627 => _627.smartFilters, 'optionalAccess', _628 => _628.mask]) },
19721
+ { action: "toggle-clip", label: _optionalChain([active, 'optionalAccess', _629 => _629.clipped]) ? "Release Clipping Mask" : "Create Clipping Mask", enabled: Boolean(loc && loc.index > 0) }
19538
19722
  ];
19539
19723
  }
19540
19724
  async function runLayerMenuAction(controller, action) {
19541
19725
  const active = controller.getActiveLayer();
19542
- const id = _optionalChain([active, 'optionalAccess', _623 => _623.id]);
19726
+ const id = _optionalChain([active, 'optionalAccess', _630 => _630.id]);
19543
19727
  try {
19544
19728
  switch (action) {
19545
19729
  case "new-layer":
@@ -19595,10 +19779,10 @@ async function runLayerMenuAction(controller, action) {
19595
19779
  if (id) controller.removeLayerMask(id);
19596
19780
  break;
19597
19781
  case "toggle-mask":
19598
- if (id && _optionalChain([active, 'optionalAccess', _624 => _624.mask])) controller.setLayerMaskProps(id, { enabled: active.mask.enabled === false });
19782
+ if (id && _optionalChain([active, 'optionalAccess', _631 => _631.mask])) controller.setLayerMaskProps(id, { enabled: active.mask.enabled === false });
19599
19783
  break;
19600
19784
  case "toggle-mask-link":
19601
- if (id && _optionalChain([active, 'optionalAccess', _625 => _625.mask])) controller.setLayerMaskProps(id, { linked: active.mask.linked === false });
19785
+ if (id && _optionalChain([active, 'optionalAccess', _632 => _632.mask])) controller.setLayerMaskProps(id, { linked: active.mask.linked === false });
19602
19786
  break;
19603
19787
  case "add-vector-mask":
19604
19788
  case "add-vector-mask-hide":
@@ -19611,7 +19795,7 @@ async function runLayerMenuAction(controller, action) {
19611
19795
  if (id) controller.removeVectorMask(id);
19612
19796
  break;
19613
19797
  case "toggle-vector-mask":
19614
- if (id && _optionalChain([active, 'optionalAccess', _626 => _626.vectorMask])) controller.setVectorMaskProps(id, { enabled: active.vectorMask.enabled === false });
19798
+ if (id && _optionalChain([active, 'optionalAccess', _633 => _633.vectorMask])) controller.setVectorMaskProps(id, { enabled: active.vectorMask.enabled === false });
19615
19799
  break;
19616
19800
  case "rasterize-vector-mask":
19617
19801
  if (id) controller.rasterizeVectorMask(id);
@@ -19632,7 +19816,7 @@ async function runLayerMenuAction(controller, action) {
19632
19816
  if (id) controller.setSmartFilterMask(id, "reveal-all");
19633
19817
  break;
19634
19818
  case "toggle-clip":
19635
- if (id) controller.setLayerProperties(id, { clipped: !_optionalChain([active, 'optionalAccess', _627 => _627.clipped]) });
19819
+ if (id) controller.setLayerProperties(id, { clipped: !_optionalChain([active, 'optionalAccess', _634 => _634.clipped]) });
19636
19820
  break;
19637
19821
  }
19638
19822
  return null;
@@ -19642,7 +19826,7 @@ async function runLayerMenuAction(controller, action) {
19642
19826
  }
19643
19827
  function smartFilterRows(layer) {
19644
19828
  if (layer.type !== "smart") return [];
19645
- const list = _nullishCoalesce(_optionalChain([layer, 'access', _628 => _628.smartFilters, 'optionalAccess', _629 => _629.filters]), () => ( []));
19829
+ const list = _nullishCoalesce(_optionalChain([layer, 'access', _635 => _635.smartFilters, 'optionalAccess', _636 => _636.filters]), () => ( []));
19646
19830
  const rows = list.map((f, index) => ({
19647
19831
  filter: f,
19648
19832
  index,
@@ -19668,8 +19852,8 @@ function extractNormalizedLayerItems(controller, fallbackImageUrl = "") {
19668
19852
  };
19669
19853
  collectSerialized(_nullishCoalesce(serialized.layers, () => ( [])));
19670
19854
  const sLayerMap = new Map(allSerializedLayers.map((sl) => [sl.id, sl]));
19671
- const imgW = _optionalChain([state, 'access', _630 => _630.imageDimensions, 'optionalAccess', _631 => _631.width]) || 1;
19672
- const imgH = _optionalChain([state, 'access', _632 => _632.imageDimensions, 'optionalAccess', _633 => _633.height]) || 1;
19855
+ const imgW = _optionalChain([state, 'access', _637 => _637.imageDimensions, 'optionalAccess', _638 => _638.width]) || 1;
19856
+ const imgH = _optionalChain([state, 'access', _639 => _639.imageDimensions, 'optionalAccess', _640 => _640.height]) || 1;
19673
19857
  return ctrlLayers.map((l) => {
19674
19858
  const bounds = controller.getLayerBounds(l.id) || {
19675
19859
  x: 0,
@@ -19678,8 +19862,8 @@ function extractNormalizedLayerItems(controller, fallbackImageUrl = "") {
19678
19862
  height: imgH
19679
19863
  };
19680
19864
  const sLayer = sLayerMap.get(l.id);
19681
- const assetKey = _optionalChain([sLayer, 'optionalAccess', _634 => _634.asset]);
19682
- const layerDataUrl = assetKey && assets[assetKey] || assets[l.id] || (_optionalChain([sLayer, 'optionalAccess', _635 => _635.source]) === "document" ? fallbackImageUrl : "");
19865
+ const assetKey = _optionalChain([sLayer, 'optionalAccess', _641 => _641.asset]);
19866
+ const layerDataUrl = assetKey && assets[assetKey] || assets[l.id] || (_optionalChain([sLayer, 'optionalAccess', _642 => _642.source]) === "document" ? fallbackImageUrl : "");
19683
19867
  return {
19684
19868
  id: l.id,
19685
19869
  name: l.name || "Untitled Layer",
@@ -19733,9 +19917,9 @@ async function addLayerOfKind(controller, id, init) {
19733
19917
  const cx = Math.round(canvas.width / 2);
19734
19918
  const cy = Math.round(canvas.height / 2);
19735
19919
  return controller.addTextLayer({
19736
- text: _optionalChain([init, 'optionalAccess', _636 => _636.text]) || "New Text",
19737
- x: typeof _optionalChain([init, 'optionalAccess', _637 => _637.x]) === "number" ? init.x : cx - 100,
19738
- y: typeof _optionalChain([init, 'optionalAccess', _638 => _638.y]) === "number" ? init.y : cy,
19920
+ text: _optionalChain([init, 'optionalAccess', _643 => _643.text]) || "New Text",
19921
+ x: typeof _optionalChain([init, 'optionalAccess', _644 => _644.x]) === "number" ? init.x : cx - 100,
19922
+ y: typeof _optionalChain([init, 'optionalAccess', _645 => _645.y]) === "number" ? init.y : cy,
19739
19923
  ...init
19740
19924
  });
19741
19925
  }
@@ -19748,10 +19932,10 @@ async function addLayerOfKind(controller, id, init) {
19748
19932
  return controller.addShapeLayer({
19749
19933
  shape: {
19750
19934
  kind: "rect",
19751
- x: typeof _optionalChain([init, 'optionalAccess', _639 => _639.x]) === "number" ? init.x : cx - Math.round(w / 2),
19752
- y: typeof _optionalChain([init, 'optionalAccess', _640 => _640.y]) === "number" ? init.y : cy - Math.round(h / 2),
19753
- width: typeof _optionalChain([init, 'optionalAccess', _641 => _641.width]) === "number" ? init.width : w,
19754
- height: typeof _optionalChain([init, 'optionalAccess', _642 => _642.height]) === "number" ? init.height : h
19935
+ x: typeof _optionalChain([init, 'optionalAccess', _646 => _646.x]) === "number" ? init.x : cx - Math.round(w / 2),
19936
+ y: typeof _optionalChain([init, 'optionalAccess', _647 => _647.y]) === "number" ? init.y : cy - Math.round(h / 2),
19937
+ width: typeof _optionalChain([init, 'optionalAccess', _648 => _648.width]) === "number" ? init.width : w,
19938
+ height: typeof _optionalChain([init, 'optionalAccess', _649 => _649.height]) === "number" ? init.height : h
19755
19939
  },
19756
19940
  name: "Rectangle",
19757
19941
  ...init
@@ -19766,10 +19950,10 @@ async function addLayerOfKind(controller, id, init) {
19766
19950
  return controller.addShapeLayer({
19767
19951
  shape: {
19768
19952
  kind: "ellipse",
19769
- x: typeof _optionalChain([init, 'optionalAccess', _643 => _643.x]) === "number" ? init.x : cx - Math.round(w / 2),
19770
- y: typeof _optionalChain([init, 'optionalAccess', _644 => _644.y]) === "number" ? init.y : cy - Math.round(h / 2),
19771
- width: typeof _optionalChain([init, 'optionalAccess', _645 => _645.width]) === "number" ? init.width : w,
19772
- height: typeof _optionalChain([init, 'optionalAccess', _646 => _646.height]) === "number" ? init.height : h
19953
+ x: typeof _optionalChain([init, 'optionalAccess', _650 => _650.x]) === "number" ? init.x : cx - Math.round(w / 2),
19954
+ y: typeof _optionalChain([init, 'optionalAccess', _651 => _651.y]) === "number" ? init.y : cy - Math.round(h / 2),
19955
+ width: typeof _optionalChain([init, 'optionalAccess', _652 => _652.width]) === "number" ? init.width : w,
19956
+ height: typeof _optionalChain([init, 'optionalAccess', _653 => _653.height]) === "number" ? init.height : h
19773
19957
  },
19774
19958
  name: "Ellipse",
19775
19959
  ...init
@@ -19830,18 +20014,18 @@ function layerEffectsPanel(layer) {
19830
20014
  if (!layer) return { ...empty, available: false, reason: "Select a layer to add a layer style." };
19831
20015
  if (layer.type === "adjustment") return { ...empty, available: false, reason: "Adjustment layers cannot have a layer style." };
19832
20016
  const fx = layer.effects;
19833
- const readOnly = Boolean(_optionalChain([layer, 'access', _647 => _647.locks, 'optionalAccess', _648 => _648.all]));
20017
+ const readOnly = Boolean(_optionalChain([layer, 'access', _654 => _654.locks, 'optionalAccess', _655 => _655.all]));
19834
20018
  return {
19835
20019
  available: true,
19836
20020
  readOnly,
19837
20021
  reason: readOnly ? "The layer is locked; unlock it to change its layer style." : void 0,
19838
- enabled: _nullishCoalesce(_optionalChain([fx, 'optionalAccess', _649 => _649.enabled]), () => ( true)),
19839
- scale: _nullishCoalesce(_optionalChain([fx, 'optionalAccess', _650 => _650.scale]), () => ( 1)),
19840
- rows: (_nullishCoalesce(_optionalChain([fx, 'optionalAccess', _651 => _651.items]), () => ( []))).map((e) => ({ id: e.id, kind: e.kind, label: _chunkB46UQUDCcjs.layerEffectLabel.call(void 0, e.kind), enabled: e.enabled }))
20022
+ enabled: _nullishCoalesce(_optionalChain([fx, 'optionalAccess', _656 => _656.enabled]), () => ( true)),
20023
+ scale: _nullishCoalesce(_optionalChain([fx, 'optionalAccess', _657 => _657.scale]), () => ( 1)),
20024
+ rows: (_nullishCoalesce(_optionalChain([fx, 'optionalAccess', _658 => _658.items]), () => ( []))).map((e) => ({ id: e.id, kind: e.kind, label: _chunkB46UQUDCcjs.layerEffectLabel.call(void 0, e.kind), enabled: e.enabled }))
19841
20025
  };
19842
20026
  }
19843
20027
  function layerEffectsBadge(layer) {
19844
- if (!_optionalChain([layer, 'access', _652 => _652.effects, 'optionalAccess', _653 => _653.items, 'access', _654 => _654.length])) return null;
20028
+ if (!_optionalChain([layer, 'access', _659 => _659.effects, 'optionalAccess', _660 => _660.items, 'access', _661 => _661.length])) return null;
19845
20029
  return _chunkB46UQUDCcjs.hasActiveEffects.call(void 0, layer.effects) ? "on" : "off";
19846
20030
  }
19847
20031
  var LAYER_EFFECT_MENU = _chunkB46UQUDCcjs.LAYER_EFFECT_KINDS.map((kind) => ({ kind, label: _chunkB46UQUDCcjs.layerEffectLabel.call(void 0, kind) }));
@@ -19886,8 +20070,8 @@ function fillControls(f, allowPattern, patterns) {
19886
20070
  }
19887
20071
  function gradientControls(prefix, g) {
19888
20072
  return [
19889
- { key: `${prefix}.stops.0.color`, label: "Start colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access', _655 => _655.stops, 'access', _656 => _656[0], 'optionalAccess', _657 => _657.color]), () => ( "#000000")) },
19890
- { key: `${prefix}.stops.last.color`, label: "End colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access', _658 => _658.stops, 'access', _659 => _659[g.stops.length - 1], 'optionalAccess', _660 => _660.color]), () => ( "#ffffff")) },
20073
+ { key: `${prefix}.stops.0.color`, label: "Start colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access', _662 => _662.stops, 'access', _663 => _663[0], 'optionalAccess', _664 => _664.color]), () => ( "#000000")) },
20074
+ { key: `${prefix}.stops.last.color`, label: "End colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access', _665 => _665.stops, 'access', _666 => _666[g.stops.length - 1], 'optionalAccess', _667 => _667.color]), () => ( "#ffffff")) },
19891
20075
  { key: `${prefix}.style`, label: "Style", type: "select", value: g.style, options: opt(["linear", "Linear"], ["radial", "Radial"], ["angle", "Angle"], ["reflected", "Reflected"], ["diamond", "Diamond"]) },
19892
20076
  { key: `${prefix}.angle`, label: "Angle", type: "range", min: -180, max: 180, step: 1, value: g.angle, unit: "\xB0" },
19893
20077
  { key: `${prefix}.scale`, label: "Scale", type: "range", min: 0.1, max: 1.5, step: 0.01, value: g.scale, percent: true, unit: "%" },
@@ -19979,19 +20163,19 @@ function layerEffectControls(e, patterns = []) {
19979
20163
  }
19980
20164
  function fillOfType(current, type, patterns) {
19981
20165
  if (type === "gradient") return { type: "gradient", gradient: _chunkB46UQUDCcjs.defaultEffectGradient.call(void 0, ) };
19982
- if (type === "pattern") return { type: "pattern", patternId: _nullishCoalesce(_optionalChain([patterns, 'access', _661 => _661[0], 'optionalAccess', _662 => _662.id]), () => ( "checker")), scale: 1 };
20166
+ if (type === "pattern") return { type: "pattern", patternId: _nullishCoalesce(_optionalChain([patterns, 'access', _668 => _668[0], 'optionalAccess', _669 => _669.id]), () => ( "checker")), scale: 1 };
19983
20167
  return { type: "color", color: current.type === "color" ? current.color : "#000000" };
19984
20168
  }
19985
20169
  function effectControlChange(effect, key2, value, patterns = []) {
19986
20170
  const [top, ...rest] = key2.split(".");
19987
20171
  if (top === "fill" && rest[0] === "type") return { fill: fillOfType(effect.fill, String(value), patterns) };
19988
20172
  if (top === "patternId" && !rest.length) {
19989
- const name = _optionalChain([patternOptions, 'call', _663 => _663(patterns), 'access', _664 => _664.find, 'call', _665 => _665((o) => o.value === value), 'optionalAccess', _666 => _666.label]);
20173
+ const name = _optionalChain([patternOptions, 'call', _670 => _670(patterns), 'access', _671 => _671.find, 'call', _672 => _672((o) => o.value === value), 'optionalAccess', _673 => _673.label]);
19990
20174
  return name ? { patternId: value, name } : { patternId: value };
19991
20175
  }
19992
20176
  if (!rest.length) return { [top]: value };
19993
20177
  if (top === "fill" && rest[0] === "patternId") {
19994
- const name = _optionalChain([patternOptions, 'call', _667 => _667(patterns), 'access', _668 => _668.find, 'call', _669 => _669((o) => o.value === value), 'optionalAccess', _670 => _670.label]);
20178
+ const name = _optionalChain([patternOptions, 'call', _674 => _674(patterns), 'access', _675 => _675.find, 'call', _676 => _676((o) => o.value === value), 'optionalAccess', _677 => _677.label]);
19995
20179
  return { fill: { ...effect.fill, patternId: value, ...name ? { name } : {} } };
19996
20180
  }
19997
20181
  return { [top]: setPath(getPath(effect, top), rest, value) };
@@ -20018,7 +20202,7 @@ function colorPanelView(controller) {
20018
20202
  profileName: profile.name,
20019
20203
  workingSpace: profile.builtin,
20020
20204
  mode: profile.mode,
20021
- cmykProfileName: _nullishCoalesce(_optionalChain([profile, 'access', _671 => _671.cmykProfile, 'optionalAccess', _672 => _672.name]), () => ( null)),
20205
+ cmykProfileName: _nullishCoalesce(_optionalChain([profile, 'access', _678 => _678.cmykProfile, 'optionalAccess', _679 => _679.name]), () => ( null)),
20022
20206
  proof: proof ? { id: _nullishCoalesce(proof.profile.builtin, () => ( null)), name: proof.profile.name, intent: proof.intent, simulatePaper: proof.simulatePaper, gamutWarning: proof.gamutWarning, bpc: proof.bpc } : null
20023
20207
  };
20024
20208
  }
@@ -20226,7 +20410,7 @@ var FreeTransformTool = (_class16 = class {
20226
20410
  __init146() {this.error = null}
20227
20411
  __init147() {this.lastResult = null}
20228
20412
  get active() {
20229
- return Boolean(_optionalChain([this, 'access', _673 => _673.sessionRef, 'optionalAccess', _674 => _674.isOpen]));
20413
+ return Boolean(_optionalChain([this, 'access', _680 => _680.sessionRef, 'optionalAccess', _681 => _681.isOpen]));
20230
20414
  }
20231
20415
  get session() {
20232
20416
  return this.active ? this.sessionRef : null;
@@ -20235,7 +20419,7 @@ var FreeTransformTool = (_class16 = class {
20235
20419
  return this.modeValue;
20236
20420
  }
20237
20421
  get interpolation() {
20238
- return _nullishCoalesce(_optionalChain([this, 'access', _675 => _675.sessionRef, 'optionalAccess', _676 => _676.interpolation]), () => ( "bicubic"));
20422
+ return _nullishCoalesce(_optionalChain([this, 'access', _682 => _682.sessionRef, 'optionalAccess', _683 => _683.interpolation]), () => ( "bicubic"));
20239
20423
  }
20240
20424
  /** Whether the open transform has changed anything yet (a commit would add an undo step). */
20241
20425
  get modified() {
@@ -20254,7 +20438,7 @@ var FreeTransformTool = (_class16 = class {
20254
20438
  };
20255
20439
  }
20256
20440
  changed() {
20257
- _optionalChain([this, 'access', _677 => _677.options, 'access', _678 => _678.onChange, 'optionalCall', _679 => _679()]);
20441
+ _optionalChain([this, 'access', _684 => _684.options, 'access', _685 => _685.onChange, 'optionalCall', _686 => _686()]);
20258
20442
  for (const l of this.listeners) l();
20259
20443
  }
20260
20444
  /** Opens a Free Transform (default: the selected pixels of the active layer, or the whole layer). Returns an error message or `null`. */
@@ -20647,7 +20831,7 @@ var FreeTransformTool = (_class16 = class {
20647
20831
  }
20648
20832
  /** Abandons the transform and restores everything. */
20649
20833
  cancel() {
20650
- _optionalChain([this, 'access', _680 => _680.sessionRef, 'optionalAccess', _681 => _681.cancel, 'call', _682 => _682()]);
20834
+ _optionalChain([this, 'access', _687 => _687.sessionRef, 'optionalAccess', _688 => _688.cancel, 'call', _689 => _689()]);
20651
20835
  this.sessionRef = null;
20652
20836
  this.corners = null;
20653
20837
  this.mesh = null;
@@ -20703,7 +20887,7 @@ function imageLayerAppliedEffects(layer) {
20703
20887
  const ref = (r) => ({ effect: r.effect, ...r.name ? { name: r.name } : {}, ...r.provider ? { provider: r.provider } : {} });
20704
20888
  if (layer.type === "pixel" && layer.generator) out.push({ id: "generator", ...ref(layer.generator), role: "effect layer", enabled: true, values: layer.generator.values, ...layer.generator.time ? { time: layer.generator.time } : {}, ...layer.generator.animate ? { animate: layer.generator.animate } : {} });
20705
20889
  if (layer.type === "smart")
20706
- (_nullishCoalesce(_optionalChain([layer, 'access', _683 => _683.smartFilters, 'optionalAccess', _684 => _684.filters]), () => ( []))).forEach((f, index) => {
20890
+ (_nullishCoalesce(_optionalChain([layer, 'access', _690 => _690.smartFilters, 'optionalAccess', _691 => _691.filters]), () => ( []))).forEach((f, index) => {
20707
20891
  if (f.kind === "effect") out.push({ id: f.id, ...ref(f), role: "smart filter", enabled: f.enabled && layer.smartFilters.enabled, opacity: f.opacity, blend: f.blend, values: f.values, index });
20708
20892
  });
20709
20893
  return out;
@@ -20860,7 +21044,7 @@ var OTHER_TOOL_LABELS = {
20860
21044
  watermark: "Watermark"
20861
21045
  };
20862
21046
  function imageToolLabel(tool) {
20863
- return _nullishCoalesce(_nullishCoalesce(_optionalChain([PAINT_TOOLS, 'access', _685 => _685.find, 'call', _686 => _686((t) => t.id === tool), 'optionalAccess', _687 => _687.label]), () => ( OTHER_TOOL_LABELS[tool])), () => ( tool));
21047
+ return _nullishCoalesce(_nullishCoalesce(_optionalChain([PAINT_TOOLS, 'access', _692 => _692.find, 'call', _693 => _693((t) => t.id === tool), 'optionalAccess', _694 => _694.label]), () => ( OTHER_TOOL_LABELS[tool])), () => ( tool));
20864
21048
  }
20865
21049
  var IMAGE_TOOL_SHORTCUTS = {
20866
21050
  ...Object.fromEntries(PAINT_TOOLS.filter((t) => t.shortcut).map((t) => [t.id, t.shortcut])),
@@ -20992,10 +21176,10 @@ var PathEditGesture = (_class17 = class {
20992
21176
  }
20993
21177
  for (const k of [...this.selected]) {
20994
21178
  const r = parseKey(k);
20995
- if (!_optionalChain([cs, 'access', _688 => _688[r.component], 'optionalAccess', _689 => _689.subpaths, 'access', _690 => _690[r.subpath], 'optionalAccess', _691 => _691.anchors, 'access', _692 => _692[r.anchor]])) this.selected.delete(k);
21179
+ if (!_optionalChain([cs, 'access', _695 => _695[r.component], 'optionalAccess', _696 => _696.subpaths, 'access', _697 => _697[r.subpath], 'optionalAccess', _698 => _698.anchors, 'access', _699 => _699[r.anchor]])) this.selected.delete(k);
20996
21180
  }
20997
21181
  const d = this.drawing;
20998
- if (d && (!_optionalChain([cs, 'access', _693 => _693[d.component], 'optionalAccess', _694 => _694.subpaths, 'access', _695 => _695[d.subpath]]) || cs[d.component].subpaths[d.subpath].closed)) this.drawing = null;
21182
+ if (d && (!_optionalChain([cs, 'access', _700 => _700[d.component], 'optionalAccess', _701 => _701.subpaths, 'access', _702 => _702[d.subpath]]) || cs[d.component].subpaths[d.subpath].closed)) this.drawing = null;
20999
21183
  return cs;
21000
21184
  }
21001
21185
  anchorAt(cs, p) {
@@ -21330,11 +21514,11 @@ var PathEditGesture = (_class17 = class {
21330
21514
  let preview = null;
21331
21515
  const d = this.drawing;
21332
21516
  if (tool === "path-pen" && d && this.pointer && !this.drag) {
21333
- const sp = _optionalChain([cs, 'access', _696 => _696[d.component], 'optionalAccess', _697 => _697.subpaths, 'access', _698 => _698[d.subpath]]);
21334
- const last = _optionalChain([sp, 'optionalAccess', _699 => _699.anchors, 'access', _700 => _700[sp.anchors.length - 1]]);
21517
+ const sp = _optionalChain([cs, 'access', _703 => _703[d.component], 'optionalAccess', _704 => _704.subpaths, 'access', _705 => _705[d.subpath]]);
21518
+ const last = _optionalChain([sp, 'optionalAccess', _706 => _706.anchors, 'access', _707 => _707[sp.anchors.length - 1]]);
21335
21519
  if (last) preview = last.out ? [pt(last), pt(last.out), this.pointer, this.pointer] : [pt(last), this.pointer];
21336
21520
  }
21337
- const marquee = _optionalChain([this, 'access', _701 => _701.drag, 'optionalAccess', _702 => _702.kind]) === "marquee" ? rect(this.drag.start, this.drag.end) : null;
21521
+ const marquee = _optionalChain([this, 'access', _708 => _708.drag, 'optionalAccess', _709 => _709.kind]) === "marquee" ? rect(this.drag.start, this.drag.end) : null;
21338
21522
  return { curves, anchors, handles, marquee, preview };
21339
21523
  }
21340
21524
  }, _class17);
@@ -21416,8 +21600,8 @@ var ContentAwareFillSession = (_class18 = class _ContentAwareFillSession {
21416
21600
  async open() {
21417
21601
  try {
21418
21602
  const { width, height } = this.controller.getState().imageDimensions;
21419
- const b = _optionalChain([this, 'access', _703 => _703.controller, 'access', _704 => _704.getSelection, 'call', _705 => _705(), 'optionalAccess', _706 => _706.bounds]);
21420
- this.margin = width * height <= _ContentAwareFillSession.WHOLE_IMAGE_PIXELS ? Math.max(width, height) : Math.max(256, 2 * Math.max(_nullishCoalesce(_optionalChain([b, 'optionalAccess', _707 => _707.width]), () => ( 0)), _nullishCoalesce(_optionalChain([b, 'optionalAccess', _708 => _708.height]), () => ( 0))));
21603
+ const b = _optionalChain([this, 'access', _710 => _710.controller, 'access', _711 => _711.getSelection, 'call', _712 => _712(), 'optionalAccess', _713 => _713.bounds]);
21604
+ this.margin = width * height <= _ContentAwareFillSession.WHOLE_IMAGE_PIXELS ? Math.max(width, height) : Math.max(256, 2 * Math.max(_nullishCoalesce(_optionalChain([b, 'optionalAccess', _714 => _714.width]), () => ( 0)), _nullishCoalesce(_optionalChain([b, 'optionalAccess', _715 => _715.height]), () => ( 0))));
21421
21605
  this.plan = this.controller.prepareContentAwareFill({ sampleRadius: this.margin });
21422
21606
  } catch (err) {
21423
21607
  this.error = err instanceof Error ? err.message : String(err);
@@ -21575,7 +21759,7 @@ var ContentAwareFillSession = (_class18 = class _ContentAwareFillSession {
21575
21759
  this.dirty = false;
21576
21760
  try {
21577
21761
  const area = this.samplingMask();
21578
- if (!_optionalChain([area, 'optionalAccess', _709 => _709.bounds])) throw new Error("The sampling area is empty; paint where the fill may copy from.");
21762
+ if (!_optionalChain([area, 'optionalAccess', _716 => _716.bounds])) throw new Error("The sampling area is empty; paint where the fill may copy from.");
21579
21763
  const { plan, after } = await this.controller.previewContentAwareFill({ layerId: this.plan.layerId, samplingArea: area, seed: this.settingsValue.seed });
21580
21764
  const win = this.win;
21581
21765
  const out = Uint8ClampedArray.from(this.before);
@@ -21654,7 +21838,7 @@ var ContentAwareFillSession = (_class18 = class _ContentAwareFillSession {
21654
21838
  /** OK: fills with this sampling area, seed and output as one undo step. */
21655
21839
  async commit(options = {}) {
21656
21840
  const area = this.samplingMask();
21657
- if (!this.plan || !_optionalChain([area, 'optionalAccess', _710 => _710.bounds])) throw new Error(_nullishCoalesce(this.error, () => ( "The sampling area is empty; paint where the fill may copy from.")));
21841
+ if (!this.plan || !_optionalChain([area, 'optionalAccess', _717 => _717.bounds])) throw new Error(_nullishCoalesce(this.error, () => ( "The sampling area is empty; paint where the fill may copy from.")));
21658
21842
  return this.controller.contentAwareFillAsync({ layerId: this.plan.layerId, samplingArea: area, seed: this.settingsValue.seed, output: this.settingsValue.output, signal: options.signal });
21659
21843
  }
21660
21844
  }, _class18.__initStatic(), _class18);
@@ -22768,4 +22952,6 @@ var ContentAwareFillSession = (_class18 = class _ContentAwareFillSession {
22768
22952
 
22769
22953
 
22770
22954
 
22771
- exports.ADJUSTMENT_KEYS = _chunkS55JFWDAcjs.ADJUSTMENT_KEYS; exports.ADJUSTMENT_KINDS = _chunkS55JFWDAcjs.ADJUSTMENT_KINDS; exports.ADJUSTMENT_LAYER_CONTROLS = ADJUSTMENT_LAYER_CONTROLS; exports.ADJUSTMENT_LAYER_OPACITY_CONTROL = ADJUSTMENT_LAYER_OPACITY_CONTROL; exports.ADJUSTMENT_LUT_SIZE = _chunkS55JFWDAcjs.ADJUSTMENT_LUT_SIZE; exports.ANCHOR_FRACTION = _chunkS55JFWDAcjs.ANCHOR_FRACTION; exports.AS_SHOT_KELVIN = _chunkS55JFWDAcjs.AS_SHOT_KELVIN; exports.BACKGROUND_LAYER_ID = _chunkS55JFWDAcjs.BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = _chunkS55JFWDAcjs.BACKGROUND_LAYER_NAME; exports.BIT_DEPTHS = _chunkOLNIPTB3cjs.BIT_DEPTHS; exports.BIT_DEPTH_OPTIONS = BIT_DEPTH_OPTIONS; exports.BLEND_MODES = _chunkOLNIPTB3cjs.BLEND_MODES; exports.BLUR_FILTER_ID = _chunkS55JFWDAcjs.BLUR_FILTER_ID; exports.BODY_SCATTER = _chunkKWNMBMKGcjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MIN_SCALE; exports.BRUSH_OPTION_CONTROLS = BRUSH_OPTION_CONTROLS; exports.BUILTIN_PROFILES = _chunkBROJYMWUcjs.BUILTIN_PROFILES; exports.BrushstrokeCache = _chunkPQ3H2AANcjs.BrushstrokeCache; exports.CANVAS_SIZE_PRESETS = CANVAS_SIZE_PRESETS; exports.CLONE_TRANSFORM_CONTROLS = CLONE_TRANSFORM_CONTROLS; exports.COLOR_MODE_OPTIONS = COLOR_MODE_OPTIONS; exports.COLOR_RANGE_PRESETS = COLOR_RANGE_PRESETS; exports.COLOR_RANGE_PRESET_LABELS = COLOR_RANGE_PRESET_LABELS; exports.CONTENT_AWARE_FILL_SAMPLING = CONTENT_AWARE_FILL_SAMPLING; exports.CONTENT_AWARE_FILL_TOOLS = CONTENT_AWARE_FILL_TOOLS; exports.ColorGmm = _chunkUC3PWFM3cjs.ColorGmm; exports.ContentAwareFillSession = ContentAwareFillSession; exports.CoverageMap = _chunkPQ3H2AANcjs.CoverageMap; exports.D50 = _chunkS55JFWDAcjs.D50; exports.D65 = _chunkS55JFWDAcjs.D65; exports.DEFAULT_ADJUSTMENTS = DEFAULT_ADJUSTMENTS; exports.DEFAULT_AUTO_LEADING = _chunkQAUIZPYIcjs.DEFAULT_AUTO_LEADING; exports.DEFAULT_BLENDER = _chunkPQ3H2AANcjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunkPQ3H2AANcjs.DEFAULT_BRUSH; exports.DEFAULT_CANVAS_VIEWPORT = DEFAULT_CANVAS_VIEWPORT; exports.DEFAULT_CHANNEL_COLOR = DEFAULT_CHANNEL_COLOR; exports.DEFAULT_CONTENT_AWARE_FILL_SETTINGS = DEFAULT_CONTENT_AWARE_FILL_SETTINGS; exports.DEFAULT_DEPTH_MASK = DEFAULT_DEPTH_MASK; exports.DEFAULT_FLOW = _chunkKWNMBMKGcjs.DEFAULT_FLOW; exports.DEFAULT_GLOBAL_LIGHT = _chunkB46UQUDCcjs.DEFAULT_GLOBAL_LIGHT; exports.DEFAULT_MITER_LIMIT = _chunkS55JFWDAcjs.DEFAULT_MITER_LIMIT; exports.DEFAULT_MIXER = _chunkPQ3H2AANcjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_PROOF = DEFAULT_PROOF; exports.DEFAULT_REFINE_EDGE_PARAMS = _chunkSS53NNZOcjs.DEFAULT_REFINE_EDGE_PARAMS; exports.DEFAULT_RETOUCH = _chunkYF3YZZ6Gcjs.DEFAULT_RETOUCH; exports.DEFAULT_SELECTION_TOOL_OPTIONS = DEFAULT_SELECTION_TOOL_OPTIONS; exports.DEFAULT_SELECT_AND_MASK_SETTINGS = DEFAULT_SELECT_AND_MASK_SETTINGS; exports.DEFAULT_SHAPE_TOOL_OPTIONS = DEFAULT_SHAPE_TOOL_OPTIONS; exports.DEFAULT_SMUDGE = _chunkPQ3H2AANcjs.DEFAULT_SMUDGE; exports.DEFAULT_TEXT_STYLE = _chunkQAUIZPYIcjs.DEFAULT_TEXT_STYLE; exports.DEFAULT_TRANSFORM = DEFAULT_TRANSFORM; exports.DEFAULT_TYPE_TOOL_OPTIONS = DEFAULT_TYPE_TOOL_OPTIONS; exports.DEFAULT_WET_PAPER = _chunkKWNMBMKGcjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkKWNMBMKGcjs.DEFAULT_WET_PARAMS; exports.DEPTH_MASK_CONTROLS = DEPTH_MASK_CONTROLS; exports.DEVELOP_FILTER_ID = _chunkS55JFWDAcjs.DEVELOP_FILTER_ID; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkK6PXS6DOcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DRY_EPS = _chunkKWNMBMKGcjs.DRY_EPS; exports.DabWalker = _chunkPQ3H2AANcjs.DabWalker; exports.EDGE_COLOR_RADIUS = _chunkS55JFWDAcjs.EDGE_COLOR_RADIUS; exports.EFFECT_LAYER_USES = EFFECT_LAYER_USES; exports.EMPTY_DISTANCE = _chunkSS53NNZOcjs.EMPTY_DISTANCE; exports.EMPTY_MIXER_LOAD = _chunkPQ3H2AANcjs.EMPTY_MIXER_LOAD; exports.EX = _chunkKWNMBMKGcjs.EX; exports.EY = _chunkKWNMBMKGcjs.EY; exports.EdgeMap = EdgeMap; exports.FLAG_ALIVE = _chunkKWNMBMKGcjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkKWNMBMKGcjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkKWNMBMKGcjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkKWNMBMKGcjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkKWNMBMKGcjs.FLAG_TOP; exports.FLAG_WET = _chunkKWNMBMKGcjs.FLAG_WET; exports.FLAT = _chunkKWNMBMKGcjs.FLAT; exports.FREE_INTERVAL = _chunkKWNMBMKGcjs.FREE_INTERVAL; exports.FREE_TRANSFORM_CONTENTS = FREE_TRANSFORM_CONTENTS; exports.FREE_TRANSFORM_FIELDS = FREE_TRANSFORM_FIELDS; exports.FREE_TRANSFORM_MODES = _chunkS55JFWDAcjs.FREE_TRANSFORM_MODES; exports.FREE_TRANSFORM_MODE_OPTIONS = FREE_TRANSFORM_MODE_OPTIONS; exports.FreeTransformSession = FreeTransformSession; exports.FreeTransformTool = FreeTransformTool; exports.GAMMA = _chunkUC3PWFM3cjs.GAMMA; exports.GRAIN_PATTERNS = _chunkPQ3H2AANcjs.GRAIN_PATTERNS; exports.GRAIN_TILE = _chunkPQ3H2AANcjs.GRAIN_TILE; exports.GUIDED_FILTER_EPS = _chunkSS53NNZOcjs.GUIDED_FILTER_EPS; exports.GridGraph = _chunkUC3PWFM3cjs.GridGraph; exports.HIDE = _chunkKWNMBMKGcjs.HIDE; exports.HISTOGRAM_BINS = HISTOGRAM_BINS; exports.HUE_RANGE_LABELS = _chunkS55JFWDAcjs.HUE_RANGE_LABELS; exports.HUE_RANGE_PRESETS = HUE_RANGE_PRESETS; exports.IDENTITY_CLONE_TRANSFORM = _chunkYF3YZZ6Gcjs.IDENTITY_CLONE_TRANSFORM; exports.IDENTITY_MATRIX3 = _chunkS55JFWDAcjs.IDENTITY_MATRIX3; exports.IMAGE_ADJUSTMENT_CONTROLS = IMAGE_ADJUSTMENT_CONTROLS; exports.IMAGE_CROP_PRESETS = IMAGE_CROP_PRESETS; exports.IMAGE_EDITOR_SCHEMA_VERSION = IMAGE_EDITOR_SCHEMA_VERSION; exports.IMAGE_EDITOR_STATE_VERSION = IMAGE_EDITOR_STATE_VERSION; exports.IMAGE_EFFECT_PLACES = IMAGE_EFFECT_PLACES; exports.IMAGE_FILTER_PRESETS = IMAGE_FILTER_PRESETS; exports.IMAGE_PLAYBACK_KIND = IMAGE_PLAYBACK_KIND; exports.IMAGE_TOOL_GROUPS = IMAGE_TOOL_GROUPS; exports.IMAGE_TOOL_SHORTCUTS = IMAGE_TOOL_SHORTCUTS; exports.INTENTS = _chunkBROJYMWUcjs.INTENTS; exports.INTENT_OPTIONS = INTENT_OPTIONS; exports.INTERPOLATIONS = _chunkB46UQUDCcjs.INTERPOLATIONS; exports.ImageEditorController = ImageEditorController; exports.ImageEditorRenderer = ImageEditorRenderer; exports.ImageEffectsEngine = ImageEffectsEngine; exports.LATEST_PROCESS_VERSION = _chunkS55JFWDAcjs.LATEST_PROCESS_VERSION; exports.LAYERED_SCHEMA_VERSION = _chunkS55JFWDAcjs.LAYERED_SCHEMA_VERSION; exports.LAYER_EFFECT_KINDS = _chunkB46UQUDCcjs.LAYER_EFFECT_KINDS; exports.LAYER_EFFECT_MENU = LAYER_EFFECT_MENU; exports.LEGACY_PROCESS_VERSION = _chunkS55JFWDAcjs.LEGACY_PROCESS_VERSION; exports.LIVE_SHAPE_KINDS = _chunkS55JFWDAcjs.LIVE_SHAPE_KINDS; exports.LUMA_709 = _chunkS55JFWDAcjs.LUMA_709; exports.LayerCompositor = _chunkS55JFWDAcjs.LayerCompositor; exports.LayerEffectError = _chunkB46UQUDCcjs.LayerEffectError; exports.LayerOperationError = _chunkS55JFWDAcjs.LayerOperationError; exports.MARCHING_ANTS_STEP_MS = MARCHING_ANTS_STEP_MS; exports.MASK_EDGE_THRESHOLDS = MASK_EDGE_THRESHOLDS; exports.MASK_FILE_ACCEPT = MASK_FILE_ACCEPT; exports.MAX_BATCH = _chunkKWNMBMKGcjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunkPQ3H2AANcjs.MAX_BRUSH_SIZE; exports.MAX_CANVAS_BACKING_SIDE = MAX_CANVAS_BACKING_SIDE; exports.MAX_EFFECT_ANIMATION_MS = _chunkS55JFWDAcjs.MAX_EFFECT_ANIMATION_MS; exports.MAX_EFFECT_REACH = _chunkB46UQUDCcjs.MAX_EFFECT_REACH; exports.MAX_KELVIN = _chunkS55JFWDAcjs.MAX_KELVIN; exports.MAX_TILT_ACCEL = _chunkKWNMBMKGcjs.MAX_TILT_ACCEL; exports.MAX_TRANSFORM_PIXELS = _chunkB46UQUDCcjs.MAX_TRANSFORM_PIXELS; exports.MAX_WET_LANES = _chunkKWNMBMKGcjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkKWNMBMKGcjs.MAX_WET_SLOTS; exports.MIN_KELVIN = _chunkS55JFWDAcjs.MIN_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = _chunkS55JFWDAcjs.MIRED_PER_TEMPERATURE_UNIT; exports.MIXER_DRAIN = _chunkPQ3H2AANcjs.MIXER_DRAIN; exports.MIXER_MIXING_OPTIONS = MIXER_MIXING_OPTIONS; exports.MIXER_OPTION_CONTROLS = MIXER_OPTION_CONTROLS; exports.MIXER_PICKUP_RATE = _chunkPQ3H2AANcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunkPQ3H2AANcjs.MIXING_MODELS; exports.MixerStroke = _chunkPQ3H2AANcjs.MixerStroke; exports.OPP = _chunkKWNMBMKGcjs.OPP; exports.PAINTERLY_BLEND_MODES = _chunkOLNIPTB3cjs.PAINTERLY_BLEND_MODES; exports.PAINT_COLOR_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunkPQ3H2AANcjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunkPQ3H2AANcjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAINT_TOOLS = PAINT_TOOLS; exports.PAPER_CAPACITY = _chunkKWNMBMKGcjs.PAPER_CAPACITY; exports.PARAGRAPH_STYLE_FIELDS = _chunkS55JFWDAcjs.PARAGRAPH_STYLE_FIELDS; exports.PARAM = _chunkKWNMBMKGcjs.PARAM; exports.PARAM_FLOATS = _chunkKWNMBMKGcjs.PARAM_FLOATS; exports.PASTE_MODES = PASTE_MODES; exports.PATH_EDIT_TOOLS = PATH_EDIT_TOOLS; exports.PATTERN_BLOCK_KEYS = _chunkS55JFWDAcjs.PATTERN_BLOCK_KEYS; exports.PIGMENT_BANDS = _chunkOLNIPTB3cjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkKWNMBMKGcjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkKWNMBMKGcjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkOLNIPTB3cjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkKWNMBMKGcjs.PLANE; exports.PLANE_BYTES = _chunkKWNMBMKGcjs.PLANE_BYTES; exports.PREVIEW_SIZE = PREVIEW_SIZE; exports.PROOF_PROFILE_OPTIONS = PROOF_PROFILE_OPTIONS; exports.PSD_BLEND_KEYS = _chunkS55JFWDAcjs.PSD_BLEND_KEYS; exports.PSD_FILE_ACCEPT = PSD_FILE_ACCEPT; exports.P_D0 = _chunkKWNMBMKGcjs.P_D0; exports.P_EDGE = _chunkKWNMBMKGcjs.P_EDGE; exports.P_FX = _chunkKWNMBMKGcjs.P_FX; exports.P_FY = _chunkKWNMBMKGcjs.P_FY; exports.P_H = _chunkKWNMBMKGcjs.P_H; exports.P_P0 = _chunkKWNMBMKGcjs.P_P0; exports.P_RHO = _chunkKWNMBMKGcjs.P_RHO; exports.P_SW = _chunkKWNMBMKGcjs.P_SW; exports.P_UX = _chunkKWNMBMKGcjs.P_UX; exports.P_UY = _chunkKWNMBMKGcjs.P_UY; exports.PaintExchange = _chunkPQ3H2AANcjs.PaintExchange; exports.PaintGesture = PaintGesture; exports.PaintGradientSampler = _chunkPQ3H2AANcjs.PaintGradientSampler; exports.PaintSourceError = _chunkPQ3H2AANcjs.PaintSourceError; exports.PaintStrokeSession = PaintStrokeSession; exports.PaperGrain = _chunkPQ3H2AANcjs.PaperGrain; exports.PathEditGesture = PathEditGesture; exports.PatternPlacement = _chunkB46UQUDCcjs.PatternPlacement; exports.PatternTile = _chunkB46UQUDCcjs.PatternTile; exports.PsdError = _chunkS55JFWDAcjs.PsdError; exports.QUICK_MASK_TARGET = QUICK_MASK_TARGET; exports.REFINE_EDGE_CONTROLS = REFINE_EDGE_CONTROLS; exports.REFINE_EDIT_KINDS = _chunkUC3PWFM3cjs.REFINE_EDIT_KINDS; exports.REFINE_OUTPUTS = REFINE_OUTPUTS; exports.RETOUCH_CHOICES = RETOUCH_CHOICES; exports.RETOUCH_OPTION_CONTROLS = RETOUCH_OPTION_CONTROLS; exports.RETOUCH_SAMPLES = _chunkYF3YZZ6Gcjs.RETOUCH_SAMPLES; exports.RETOUCH_TOGGLES = RETOUCH_TOGGLES; exports.RETOUCH_TOOLS = RETOUCH_TOOLS; exports.RegionPixelSource = _chunkYF3YZZ6Gcjs.RegionPixelSource; exports.RetouchDabStroke = _chunkYF3YZZ6Gcjs.RetouchDabStroke; exports.SELECTION_MODES = _chunkSS53NNZOcjs.SELECTION_MODES; exports.SELECTION_MODE_LABELS = SELECTION_MODE_LABELS; exports.SELECTION_MODIFY_OPS = _chunkSS53NNZOcjs.SELECTION_MODIFY_OPS; exports.SELECTION_TOOLS = SELECTION_TOOLS; exports.SELECT_AND_MASK_TOOLS = SELECT_AND_MASK_TOOLS; exports.SELECT_AND_MASK_VIEWS = SELECT_AND_MASK_VIEWS; exports.SET_PLANES = _chunkKWNMBMKGcjs.SET_PLANES; exports.SHADOW_AMBIENT = _chunkOLNIPTB3cjs.SHADOW_AMBIENT; exports.SHAPE_KIND_LABELS = SHAPE_KIND_LABELS; exports.SHAPE_OPERATIONS = _chunkS55JFWDAcjs.SHAPE_OPERATIONS; exports.SHAPE_RENDER_MARGIN = _chunkS55JFWDAcjs.SHAPE_RENDER_MARGIN; exports.SLOT_BYTES = _chunkKWNMBMKGcjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkKWNMBMKGcjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkKWNMBMKGcjs.SLOT_SIDE; exports.SMART_RENDER_MARGIN = _chunkS55JFWDAcjs.SMART_RENDER_MARGIN; exports.SPOT_HEAL_TYPES = _chunkYF3YZZ6Gcjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkKWNMBMKGcjs.SRGB_TO_LINEAR; exports.STRIP = _chunkKWNMBMKGcjs.STRIP; exports.SUPPORTED_ADJUSTMENT_KEYS = _chunkS55JFWDAcjs.SUPPORTED_ADJUSTMENT_KEYS; exports.SelectAndMaskSession = SelectAndMaskSession; exports.SelectionGesture = SelectionGesture; exports.SelectionWorkerClient = _chunkUC3PWFM3cjs.SelectionWorkerClient; exports.ShapeDrawGesture = ShapeDrawGesture; exports.SmudgeTip = _chunkPQ3H2AANcjs.SmudgeTip; exports.StrokeCoverage = _chunkPQ3H2AANcjs.StrokeCoverage; exports.SurfaceDraft = _chunk474IQG74cjs.SurfaceDraft; exports.TEXT_ALIGNS = _chunkS55JFWDAcjs.TEXT_ALIGNS; exports.TEXT_ORIENTATIONS = _chunkS55JFWDAcjs.TEXT_ORIENTATIONS; exports.TEXT_RENDER_MARGIN = _chunkS55JFWDAcjs.TEXT_RENDER_MARGIN; exports.TEXT_STYLE_FIELDS = _chunkS55JFWDAcjs.TEXT_STYLE_FIELDS; exports.TILE = _chunk474IQG74cjs.TILE; exports.TILE_SHIFT = _chunk474IQG74cjs.TILE_SHIFT; exports.TINT_SCALE = _chunkS55JFWDAcjs.TINT_SCALE; exports.TIP_GRADIENT_STEPS = _chunkPQ3H2AANcjs.TIP_GRADIENT_STEPS; exports.TONE_LUT_SIZE = _chunkS55JFWDAcjs.TONE_LUT_SIZE; exports.TONE_RANGES = _chunkYF3YZZ6Gcjs.TONE_RANGES; exports.TONE_RANGE_PRESETS = TONE_RANGE_PRESETS; exports.TRANSFORM_ANCHORS = _chunkS55JFWDAcjs.TRANSFORM_ANCHORS; exports.TRANSFORM_ROTATE_HANDLE_OFFSET = TRANSFORM_ROTATE_HANDLE_OFFSET; exports.TextEditSession = TextEditSession; exports.TileMedium = _chunkPQ3H2AANcjs.TileMedium; exports.TilePixelSource = _chunkYF3YZZ6Gcjs.TilePixelSource; exports.TileableNoise = _chunkPQ3H2AANcjs.TileableNoise; exports.TiledSurface = _chunk474IQG74cjs.TiledSurface; exports.TransformTooLargeError = _chunkB46UQUDCcjs.TransformTooLargeError; exports.TransformedPixelSource = _chunkYF3YZZ6Gcjs.TransformedPixelSource; exports.TypeToolGesture = TypeToolGesture; exports.UNITS = _chunkUC3PWFM3cjs.UNITS; exports.U_MAX = _chunkKWNMBMKGcjs.U_MAX; exports.VIBRANCE_GREY = _chunkS55JFWDAcjs.VIBRANCE_GREY; exports.W9 = _chunkKWNMBMKGcjs.W9; exports.WARP_GRID_OPTIONS = WARP_GRID_OPTIONS; exports.WARP_STYLES = _chunkQAUIZPYIcjs.WARP_STYLES; exports.WARP_STYLE_LABELS = _chunkQAUIZPYIcjs.WARP_STYLE_LABELS; exports.WARP_STYLE_OPTIONS = WARP_STYLE_OPTIONS; exports.WET_FLOW_KINDS = _chunkKWNMBMKGcjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkKWNMBMKGcjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkKWNMBMKGcjs.WET_TILE; exports.WGSL_HALO = _chunkKWNMBMKGcjs.WGSL_HALO; exports.WGSL_SHADE = _chunkKWNMBMKGcjs.WGSL_SHADE; exports.WGSL_STEP = _chunkKWNMBMKGcjs.WGSL_STEP; exports.WORKING_SPACE_OPTIONS = WORKING_SPACE_OPTIONS; exports.WORK_PATH_NAME = WORK_PATH_NAME; exports.WORK_SIZE = _chunkUC3PWFM3cjs.WORK_SIZE; exports.WetGpuEngine = _chunkKWNMBMKGcjs.WetGpuEngine; exports.WetMedium = _chunkKWNMBMKGcjs.WetMedium; exports.WetWorkerPool = _chunkKWNMBMKGcjs.WetWorkerPool; exports.WetWorld = _chunkKWNMBMKGcjs.WetWorld; exports.WetWorldError = _chunkKWNMBMKGcjs.WetWorldError; exports.XYZ_D50_TO_SRGB = _chunkS55JFWDAcjs.XYZ_D50_TO_SRGB; exports.ZlibError = _chunkXFM3OCHUcjs.ZlibError; exports.activeAdjustmentLayers = _chunkS55JFWDAcjs.activeAdjustmentLayers; exports.activeEffectSmartFilters = _chunkS55JFWDAcjs.activeEffectSmartFilters; exports.activeLayerAfterRemoval = _chunkS55JFWDAcjs.activeLayerAfterRemoval; exports.activeSmartFilters = _chunkS55JFWDAcjs.activeSmartFilters; exports.addLayerEffect = _chunkS55JFWDAcjs.addLayerEffect; exports.addLayerFilter = _chunkS55JFWDAcjs.addLayerFilter; exports.addLayerOfKind = addLayerOfKind; exports.addPaintGradientStop = _chunkPQ3H2AANcjs.addPaintGradientStop; exports.addSmartFilter = _chunkS55JFWDAcjs.addSmartFilter; exports.addToHistogram = addToHistogram; exports.adjustmentKindLabel = _chunkS55JFWDAcjs.adjustmentKindLabel; exports.adjustmentLayersKey = _chunkS55JFWDAcjs.adjustmentLayersKey; exports.adjustmentNodeAsLayer = _chunkS55JFWDAcjs.adjustmentNodeAsLayer; exports.adjustmentNodeFromLegacy = _chunkS55JFWDAcjs.adjustmentNodeFromLegacy; exports.adler32 = _chunkXFM3OCHUcjs.adler32; exports.agentDragDraft = agentDragDraft; exports.anchorPoint = _chunkS55JFWDAcjs.anchorPoint; exports.annotationBlend = _chunkS55JFWDAcjs.annotationBlend; exports.annotationLayerFor = _chunkS55JFWDAcjs.annotationLayerFor; exports.annotationLayerName = _chunkS55JFWDAcjs.annotationLayerName; exports.annotationOfLayer = _chunkS55JFWDAcjs.annotationOfLayer; exports.annotationOfShape = _chunkS55JFWDAcjs.annotationOfShape; exports.annotationOfType = _chunkS55JFWDAcjs.annotationOfType; exports.applyAdjustmentLayers = _chunkS55JFWDAcjs.applyAdjustmentLayers; exports.applyAdjustmentLayersFloat = _chunkS55JFWDAcjs.applyAdjustmentLayersFloat; exports.applyAdjustments = _chunkS55JFWDAcjs.applyAdjustments; exports.applyBoxBlur = _chunkS55JFWDAcjs.applyBoxBlur; exports.applyBoxBlurFloat = _chunkS55JFWDAcjs.applyBoxBlurFloat; exports.applyDepthMask = _chunkS55JFWDAcjs.applyDepthMask; exports.applyEdgeUnmix = _chunkS55JFWDAcjs.applyEdgeUnmix; exports.applyHomography = _chunkQT26RHKKcjs.applyHomography; exports.applyImageProjectionToContext = _chunkS55JFWDAcjs.applyImageProjectionToContext; exports.applyLegacyAdjustments = _chunkS55JFWDAcjs.applyLegacyAdjustments; exports.applyLegacyFloat = _chunkS55JFWDAcjs.applyLegacyFloat; exports.applyMatrix3 = _chunkS55JFWDAcjs.applyMatrix3; exports.applyOutputStage = applyOutputStage; exports.applyParams = _chunkS55JFWDAcjs.applyParams; exports.applyProcess2Adjustments = _chunkS55JFWDAcjs.applyProcess2Adjustments; exports.applyProcess2Float = _chunkS55JFWDAcjs.applyProcess2Float; exports.applyRefineEdits = _chunkUC3PWFM3cjs.applyRefineEdits; exports.applyRegionBlur = applyRegionBlur; exports.applyRegionMosaic = applyRegionMosaic; exports.applyRetouchToTile = _chunkYF3YZZ6Gcjs.applyRetouchToTile; exports.applyShapeOptions = applyShapeOptions; exports.applySmartFilters = _chunkS55JFWDAcjs.applySmartFilters; exports.applyStrokeToDeepTile = _chunkPQ3H2AANcjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunkPQ3H2AANcjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunkYF3YZZ6Gcjs.applyToneToDeepTile; exports.backgroundLayer = _chunkS55JFWDAcjs.backgroundLayer; exports.base64ToBytes = _chunkOLNIPTB3cjs.base64ToBytes; exports.baseProjection = baseProjection; exports.bestOffset = _chunkMQDIP4CFcjs.bestOffset; exports.blackWhiteGray = _chunkS55JFWDAcjs.blackWhiteGray; exports.blendChannel = _chunkOLNIPTB3cjs.blendChannel; exports.blendImageData = _chunkOLNIPTB3cjs.blendImageData; exports.blendLum = _chunkOLNIPTB3cjs.blendLum; exports.blendPixel = _chunkOLNIPTB3cjs.blendPixel; exports.blendRadius = _chunkPQ3H2AANcjs.blendRadius; exports.blendRgb = _chunkOLNIPTB3cjs.blendRgb; exports.blendTile = _chunkB46UQUDCcjs.blendTile; exports.blenderDab = _chunkPQ3H2AANcjs.blenderDab; exports.blurFilter = _chunkS55JFWDAcjs.blurFilter; exports.borderCoverage = _chunkSS53NNZOcjs.borderCoverage; exports.boxBlur = _chunkUC3PWFM3cjs.boxBlur; exports.boxBlurPixels = _chunkYF3YZZ6Gcjs.boxBlurPixels; exports.boxFrameHit = boxFrameHit; exports.boxFrameOverlay = boxFrameOverlay; exports.boxMean = _chunkSS53NNZOcjs.boxMean; exports.boxPointOf = _chunkS55JFWDAcjs.boxPointOf; exports.boxQuad = _chunkQT26RHKKcjs.boxQuad; exports.boxToCurvePoint = boxToCurvePoint; exports.bradfordAdaptation = _chunkS55JFWDAcjs.bradfordAdaptation; exports.brushStrokeMask = _chunkUC3PWFM3cjs.brushStrokeMask; exports.brushstrokeDataUrl = _chunkPQ3H2AANcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunkPQ3H2AANcjs.brushstrokeKey; exports.brushstrokeSamples = _chunkPQ3H2AANcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkYQGCPL5Xcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunkPQ3H2AANcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunkPQ3H2AANcjs.brushstrokeToCanvas; exports.buildLayerMaskPlanes = _chunkS55JFWDAcjs.buildLayerMaskPlanes; exports.buildToneLut = _chunkS55JFWDAcjs.buildToneLut; exports.builtinPattern = _chunkB46UQUDCcjs.builtinPattern; exports.builtinPatternIds = _chunkB46UQUDCcjs.builtinPatternIds; exports.bytesToBase64 = _chunkOLNIPTB3cjs.bytesToBase64; exports.calculateCropDrag = _chunkS55JFWDAcjs.calculateCropDrag; exports.canShareMemory = _chunkKWNMBMKGcjs.canShareMemory; exports.canvasCompositeOperation = _chunkOLNIPTB3cjs.canvasCompositeOperation; exports.canvasToImagePoint = _chunkS55JFWDAcjs.canvasToImagePoint; exports.caretAt = _chunkQAUIZPYIcjs.caretAt; exports.changedTiles = _chunkB46UQUDCcjs.changedTiles; exports.channelThumbnail = channelThumbnail; exports.checkEffectAnimation = checkEffectAnimation; exports.checkEffectTime = checkEffectTime; exports.checkImageEffectPlace = checkImageEffectPlace; exports.clampControlValue = clampControlValue; exports.clampCropToImage = _chunkS55JFWDAcjs.clampCropToImage; exports.cleanMixer = _chunkPQ3H2AANcjs.cleanMixer; exports.cloneSamplePoint = _chunkYF3YZZ6Gcjs.cloneSamplePoint; exports.cloneSourceLabel = cloneSourceLabel; exports.cloneTransformView = cloneTransformView; exports.collectTiles = _chunk474IQG74cjs.collectTiles; exports.colorBalanceChannel = _chunkS55JFWDAcjs.colorBalanceChannel; exports.colorModePlanes = colorModePlanes; exports.colorModePlanes16 = colorModePlanes16; exports.colorPanelView = colorPanelView; exports.colorRange = colorRange; exports.colorRangePreset = colorRangePreset; exports.combineSelections = _chunkSS53NNZOcjs.combineSelections; exports.compileAdjustmentLayer = _chunkS55JFWDAcjs.compileAdjustmentLayer; exports.componentPath = _chunkS55JFWDAcjs.componentPath; exports.componentsCoverage = _chunkS55JFWDAcjs.componentsCoverage; exports.compositeDeep = _chunkS55JFWDAcjs.compositeDeep; exports.compositeSurfaceOver = _chunkB46UQUDCcjs.compositeSurfaceOver; exports.computeHistogram = computeHistogram; exports.computeSelectionBounds = _chunkSS53NNZOcjs.computeSelectionBounds; exports.contentAwareFill = _chunkMQDIP4CFcjs.contentAwareFill; exports.contentBounds = _chunk474IQG74cjs.contentBounds; exports.contentsBox = _chunkS55JFWDAcjs.contentsBox; exports.contentsSurface = _chunkS55JFWDAcjs.contentsSurface; exports.contractCoverage = _chunkSS53NNZOcjs.contractCoverage; exports.controlPosition = controlPosition; exports.controlTrackBackground = controlTrackBackground; exports.convertColorFields = convertColorFields; exports.convertHex = convertHex; exports.convertSurfaceColors = convertSurfaceColors; exports.convertSurfaceDepth = _chunkOLNIPTB3cjs.convertSurfaceDepth; exports.convertToSmartObject = _chunkS55JFWDAcjs.convertToSmartObject; exports.copySmartObject = _chunkS55JFWDAcjs.copySmartObject; exports.cornersFromMatrix = _chunkS55JFWDAcjs.cornersFromMatrix; exports.coverageTileCoord = _chunkPQ3H2AANcjs.coverageTileCoord; exports.coverageToByte = _chunkSS53NNZOcjs.coverageToByte; exports.coveringRect = coveringRect; exports.createAdjustmentLayer = _chunkS55JFWDAcjs.createAdjustmentLayer; exports.createBlenderScratch = _chunkPQ3H2AANcjs.createBlenderScratch; exports.createCanvasTextShaper = _chunkQAUIZPYIcjs.createCanvasTextShaper; exports.createImageCaptureSurface = createImageCaptureSurface; exports.createImageColorTools = createImageColorTools; exports.createImageEditTools = createImageEditTools; exports.createImageEditorDocument = createImageEditorDocument; exports.createImageEditorToolProvider = createImageEditorToolProvider; exports.createImageEffectTools = createImageEffectTools; exports.createImageEffectsToolProvider = createImageEffectsToolProvider; exports.createImageLayerTools = createImageLayerTools; exports.createImagePaintTools = createImagePaintTools; exports.createImagePlaybackLocator = createImagePlaybackLocator; exports.createImagePsdTools = createImagePsdTools; exports.createImageRetouchTools = createImageRetouchTools; exports.createImageSegmentationToolProvider = createImageSegmentationToolProvider; exports.createImageSelectionTools = createImageSelectionTools; exports.createImageShapeTools = createImageShapeTools; exports.createImageSmartObjectTools = createImageSmartObjectTools; exports.createImageSubjectSelectionTool = createImageSubjectSelectionTool; exports.createImageTransformTools = createImageTransformTools; exports.createImageTypeTools = createImageTypeTools; exports.createMetricTextShaper = _chunkQAUIZPYIcjs.createMetricTextShaper; exports.createOutlineTextShaper = _chunkQAUIZPYIcjs.createOutlineTextShaper; exports.createPigment = _chunkOLNIPTB3cjs.createPigment; exports.createPigmentTools = _chunkKWNMBMKGcjs.createPigmentTools; exports.createSelectionMask = _chunkSS53NNZOcjs.createSelectionMask; exports.createShapeLayer = _chunkS55JFWDAcjs.createShapeLayer; exports.createTypeLayer = _chunkS55JFWDAcjs.createTypeLayer; exports.createWetGpuEngine = _chunkKWNMBMKGcjs.createWetGpuEngine; exports.cssFont = _chunkQAUIZPYIcjs.cssFont; exports.cssFontFamily = _chunkQAUIZPYIcjs.cssFontFamily; exports.curveLut = _chunkB46UQUDCcjs.curveLut; exports.curveLutFromLevels = _chunkS55JFWDAcjs.curveLutFromLevels; exports.curvePointToBox = curvePointToBox; exports.curveSvgPath = curveSvgPath; exports.dabCoverage = _chunkPQ3H2AANcjs.dabCoverage; exports.dabRect = _chunkPQ3H2AANcjs.dabRect; exports.decodeDeepSurface = _chunkS55JFWDAcjs.decodeDeepSurface; exports.decodeLayerChannel = _chunkS55JFWDAcjs.decodeLayerChannel; exports.decodeLayerMask = _chunkS55JFWDAcjs.decodeLayerMask; exports.decodeMergedImage = _chunkS55JFWDAcjs.decodeMergedImage; exports.decodePlanes = _chunkS55JFWDAcjs.decodePlanes; exports.decodePng = _chunkOLNIPTB3cjs.decodePng; exports.decodePngDataUrl = _chunkS55JFWDAcjs.decodePngDataUrl; exports.decodeSelectionRle = _chunkSS53NNZOcjs.decodeSelectionRle; exports.decontaminateColors = _chunkSS53NNZOcjs.decontaminateColors; exports.deepBytes = _chunkOLNIPTB3cjs.deepBytes; exports.deepTile = _chunkOLNIPTB3cjs.deepTile; exports.defaultActiveLayerId = _chunkS55JFWDAcjs.defaultActiveLayerId; exports.defaultAdjustmentParams = _chunkS55JFWDAcjs.defaultAdjustmentParams; exports.defaultEffectGradient = _chunkB46UQUDCcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkB46UQUDCcjs.defaultLayerEffect; exports.defaultShapeName = _chunkS55JFWDAcjs.defaultShapeName; exports.deflate = _chunkXFM3OCHUcjs.deflate; exports.deflateRaw = _chunkXFM3OCHUcjs.deflateRaw; exports.depthMaskAlpha = _chunkS55JFWDAcjs.depthMaskAlpha; exports.depthOf = _chunkOLNIPTB3cjs.depthOf; exports.depthRasterMask = _chunkS55JFWDAcjs.depthRasterMask; exports.describeChannel = describeChannel; exports.describeLayer = describeLayer; exports.describeLayerEffects = describeLayerEffects; exports.describeSelection = describeSelection; exports.describeTransform = _chunkS55JFWDAcjs.describeTransform; exports.deserializeChannels = deserializeChannels; exports.deserializeColorMode = deserializeColorMode; exports.deserializeColorProfile = deserializeColorProfile; exports.deserializeEffects = _chunkS55JFWDAcjs.deserializeEffects; exports.deserializeLayer = _chunkS55JFWDAcjs.deserializeLayer; exports.deserializeLayers = _chunkS55JFWDAcjs.deserializeLayers; exports.deserializeMask = _chunkUC3PWFM3cjs.deserializeMask; exports.deserializePatterns = _chunkS55JFWDAcjs.deserializePatterns; exports.deserializeSelection = _chunkSS53NNZOcjs.deserializeSelection; exports.despillEdge = _chunkS55JFWDAcjs.despillEdge; exports.developFilter = _chunkS55JFWDAcjs.developFilter; exports.developFromAdjustments = _chunkS55JFWDAcjs.developFromAdjustments; exports.developTarget = _chunkS55JFWDAcjs.developTarget; exports.dexp = _chunkKWNMBMKGcjs.dexp; exports.dilateMask = _chunkMQDIP4CFcjs.dilateMask; exports.displayTransform = displayTransform; exports.distanceTransform = _chunkSS53NNZOcjs.distanceTransform; exports.dlog = _chunkKWNMBMKGcjs.dlog; exports.documentContents = _chunkS55JFWDAcjs.documentContents; exports.documentProfile = documentProfile; exports.dodgeBurn = _chunkYF3YZZ6Gcjs.dodgeBurn; exports.dodgeBurnCurve = _chunkYF3YZZ6Gcjs.dodgeBurnCurve; exports.downloadMaskImage = downloadMaskImage; exports.downloadPsd = downloadPsd; exports.dpow = _chunkKWNMBMKGcjs.dpow; exports.dragWarpMeshPoint = _chunkQAUIZPYIcjs.dragWarpMeshPoint; exports.dropPlacement = dropPlacement; exports.dropZone = dropZone; exports.dsincos = _chunkKWNMBMKGcjs.dsincos; exports.duplicateLayer = _chunkS55JFWDAcjs.duplicateLayer; exports.edgeBits = _chunkKWNMBMKGcjs.edgeBits; exports.edgeWidth = _chunkSS53NNZOcjs.edgeWidth; exports.effectColorHex = _chunkB46UQUDCcjs.effectColorHex; exports.effectControlChange = effectControlChange; exports.effectLayerTiming = effectLayerTiming; exports.effectPixelsToSurface = effectPixelsToSurface; exports.effectReach = _chunkB46UQUDCcjs.effectReach; exports.effectiveLayerMask = _chunkS55JFWDAcjs.effectiveLayerMask; exports.effectiveProof = effectiveProof; exports.effectsFingerprint = _chunkB46UQUDCcjs.effectsFingerprint; exports.effectsMargin = _chunkB46UQUDCcjs.effectsMargin; exports.effectsScale = _chunkB46UQUDCcjs.effectsScale; exports.ellipsePoints = _chunkUC3PWFM3cjs.ellipsePoints; exports.ellipseSelection = _chunkUC3PWFM3cjs.ellipseSelection; exports.emptyHistogram = emptyHistogram; exports.emptySurface = _chunk474IQG74cjs.emptySurface; exports.encodeDeepSurface = _chunkS55JFWDAcjs.encodeDeepSurface; exports.encodePng = _chunkOLNIPTB3cjs.encodePng; exports.encodeRle = _chunkS55JFWDAcjs.encodeRle; exports.encodeSelectionRle = _chunkSS53NNZOcjs.encodeSelectionRle; exports.encodeSurface = _chunkS55JFWDAcjs.encodeSurface; exports.evalWarpMesh = _chunkQAUIZPYIcjs.evalWarpMesh; exports.evaluateAdjustmentLayers = _chunkS55JFWDAcjs.evaluateAdjustmentLayers; exports.exchangeRates = _chunkPQ3H2AANcjs.exchangeRates; exports.expNeg = _chunkKWNMBMKGcjs.expNeg; exports.expandCoverage = _chunkSS53NNZOcjs.expandCoverage; exports.exportPsd = _chunkS55JFWDAcjs.exportPsd; exports.extractNormalizedLayerItems = extractNormalizedLayerItems; exports.featherCoverage = _chunkSS53NNZOcjs.featherCoverage; exports.fillRect = _chunk474IQG74cjs.fillRect; exports.filmPixel = _chunkKWNMBMKGcjs.filmPixel; exports.filmReflectance = _chunkKWNMBMKGcjs.filmReflectance; exports.filterMaskCoverage = _chunkS55JFWDAcjs.filterMaskCoverage; exports.findAdjustmentControl = findAdjustmentControl; exports.findLayer = _chunkB46UQUDCcjs.findLayer; exports.findLayerControl = findLayerControl; exports.findSky = _chunkUC3PWFM3cjs.findSky; exports.findSubject = _chunkUC3PWFM3cjs.findSubject; exports.findWebGpu = _chunkKWNMBMKGcjs.findWebGpu; exports.finishTile = _chunk474IQG74cjs.finishTile; exports.fitParagraphRuns = _chunkQAUIZPYIcjs.fitParagraphRuns; exports.fitRuns = _chunkQAUIZPYIcjs.fitRuns; exports.flattenLayers = _chunkB46UQUDCcjs.flattenLayers; exports.flattenPath = _chunkS55JFWDAcjs.flattenPath; exports.flipCorners = _chunkS55JFWDAcjs.flipCorners; exports.flowField = _chunkKWNMBMKGcjs.flowField; exports.focusArea = _chunkUC3PWFM3cjs.focusArea; exports.followLayerMove = _chunkS55JFWDAcjs.followLayerMove; exports.fontOf = _chunkQAUIZPYIcjs.fontOf; exports.forgetSelectAndMaskSettings = forgetSelectAndMaskSettings; exports.formatControlValue = formatControlValue; exports.fullSelection = _chunkSS53NNZOcjs.fullSelection; exports.gaussianBlur = _chunkK6PXS6DOcjs.gaussianBlur; exports.geometryHomography = _chunkS55JFWDAcjs.geometryHomography; exports.getAnnotationBounds = _chunkS55JFWDAcjs.getAnnotationBounds; exports.getControlPath = getControlPath; exports.getCropCursor = _chunkS55JFWDAcjs.getCropCursor; exports.getRotatedSize = _chunkS55JFWDAcjs.getRotatedSize; exports.getViewportMetrics = _chunkS55JFWDAcjs.getViewportMetrics; exports.getViewportProjection = _chunkS55JFWDAcjs.getViewportProjection; exports.globalImageCache = globalImageCache; exports.grabCutLabels = _chunkUC3PWFM3cjs.grabCutLabels; exports.gradientDabColor = _chunkPQ3H2AANcjs.gradientDabColor; exports.grainCatch = _chunkPQ3H2AANcjs.grainCatch; exports.grainHeights = _chunkPQ3H2AANcjs.grainHeights; exports.greyMorphology = _chunkSS53NNZOcjs.greyMorphology; exports.groupLayers = _chunkS55JFWDAcjs.groupLayers; exports.growSelection = growSelection; exports.guidePlanes = _chunkSS53NNZOcjs.guidePlanes; exports.guidedFilterColor = _chunkSS53NNZOcjs.guidedFilterColor; exports.handleMaskViewKey = handleMaskViewKey; exports.handlePaintShortcut = handlePaintShortcut; exports.handleQuickMaskKey = handleQuickMaskKey; exports.handleSelectionShortcut = handleSelectionShortcut; exports.hasActiveEffects = _chunkB46UQUDCcjs.hasActiveEffects; exports.hasEdgeUnmix = _chunkS55JFWDAcjs.hasEdgeUnmix; exports.hasLayersBelow = hasLayersBelow; exports.hasResampledLegacyMask = _chunkS55JFWDAcjs.hasResampledLegacyMask; exports.hasSoftBand = _chunkS55JFWDAcjs.hasSoftBand; exports.hasSurface = _chunkS55JFWDAcjs.hasSurface; exports.hasWarp = _chunkS55JFWDAcjs.hasWarp; exports.hash2 = _chunkPQ3H2AANcjs.hash2; exports.hashMaskContent = _chunkSS53NNZOcjs.hashMaskContent; exports.hashNoise = _chunkB46UQUDCcjs.hashNoise; exports.healPixels = _chunkYF3YZZ6Gcjs.healPixels; exports.hexToPaintRgb = _chunkPQ3H2AANcjs.hexToPaintRgb; exports.hexToRgb = _chunkS55JFWDAcjs.hexToRgb; exports.histogramPath = histogramPath; exports.hitTestAnnotation = _chunkS55JFWDAcjs.hitTestAnnotation; exports.hitTestCrop = _chunkS55JFWDAcjs.hitTestCrop; exports.hitTestCurvePoint = hitTestCurvePoint; exports.homographyFromAffine = _chunkQT26RHKKcjs.homographyFromAffine; exports.homographyFromPoints = _chunkQT26RHKKcjs.homographyFromPoints; exports.hslToRgb = _chunkS55JFWDAcjs.hslToRgb; exports.hueRange = hueRange; exports.hueRangeTables = _chunkS55JFWDAcjs.hueRangeTables; exports.hueRangeWeight = _chunkS55JFWDAcjs.hueRangeWeight; exports.hueSaturation = _chunkS55JFWDAcjs.hueSaturation; exports.identityCurve = _chunkS55JFWDAcjs.identityCurve; exports.identityLevels = _chunkS55JFWDAcjs.identityLevels; exports.identityTransform = _chunkS55JFWDAcjs.identityTransform; exports.identityWarpMesh = _chunkQAUIZPYIcjs.identityWarpMesh; exports.imageEditorStateMigrations = imageEditorStateMigrations; exports.imageLayerAppliedEffects = imageLayerAppliedEffects; exports.imagePanelTool = imagePanelTool; exports.imagePlaybackPanel = imagePlaybackPanel; exports.imageToCanvasPoint = _chunkS55JFWDAcjs.imageToCanvasPoint; exports.imageToolCanvasMode = imageToolCanvasMode; exports.imageToolForShortcut = imageToolForShortcut; exports.imageToolGroup = imageToolGroup; exports.imageToolLabel = imageToolLabel; exports.imageToolPanel = imageToolPanel; exports.importPsd = _chunkS55JFWDAcjs.importPsd; exports.inflate = _chunkXFM3OCHUcjs.inflate; exports.inflateRaw = _chunkXFM3OCHUcjs.inflateRaw; exports.insertCurvePoint = insertCurvePoint; exports.insertLayer = _chunkB46UQUDCcjs.insertLayer; exports.inspectMaskEdge = inspectMaskEdge; exports.instancesOf = _chunkS55JFWDAcjs.instancesOf; exports.invertHomography = _chunkQT26RHKKcjs.invertHomography; exports.invertMatrix3 = _chunkS55JFWDAcjs.invertMatrix3; exports.invertSelection = _chunkSS53NNZOcjs.invertSelection; exports.isActiveFilter = _chunkS55JFWDAcjs.isActiveFilter; exports.isActiveVectorMask = _chunkS55JFWDAcjs.isActiveVectorMask; exports.isAdjustmentKind = _chunkS55JFWDAcjs.isAdjustmentKind; exports.isBitDepth = _chunkOLNIPTB3cjs.isBitDepth; exports.isBlendMode = _chunkOLNIPTB3cjs.isBlendMode; exports.isBrushstrokeBrush = _chunkPQ3H2AANcjs.isBrushstrokeBrush; exports.isColorRangePreset = isColorRangePreset; exports.isContentsDecoded = _chunkS55JFWDAcjs.isContentsDecoded; exports.isDefaultDepthMask = _chunkS55JFWDAcjs.isDefaultDepthMask; exports.isGradientPaint = _chunkPQ3H2AANcjs.isGradientPaint; exports.isIdentityCloneTransform = _chunkYF3YZZ6Gcjs.isIdentityCloneTransform; exports.isIdentityTransform = _chunkS55JFWDAcjs.isIdentityTransform; exports.isInterpolation = _chunkB46UQUDCcjs.isInterpolation; exports.isLayerEffectKind = _chunkB46UQUDCcjs.isLayerEffectKind; exports.isLayerLocked = _chunkB46UQUDCcjs.isLayerLocked; exports.isLegacyShape = _chunkS55JFWDAcjs.isLegacyShape; exports.isPaintTool = isPaintTool; exports.isPaintableLayer = _chunkS55JFWDAcjs.isPaintableLayer; exports.isPainterlyBlendMode = _chunkOLNIPTB3cjs.isPainterlyBlendMode; exports.isPathEditTool = isPathEditTool; exports.isPng = _chunkOLNIPTB3cjs.isPng; exports.isQuarterTurn = isQuarterTurn; exports.isQuarterTurnSwapped = _chunkS55JFWDAcjs.isQuarterTurnSwapped; exports.isRenderedLayer = _chunkS55JFWDAcjs.isRenderedLayer; exports.isRetouchPaintTool = isRetouchPaintTool; exports.isRetouchTool = isRetouchTool; exports.isSelectionEmpty = _chunkSS53NNZOcjs.isSelectionEmpty; exports.isSelectionMode = _chunkSS53NNZOcjs.isSelectionMode; exports.isSeparableBlendMode = _chunkOLNIPTB3cjs.isSeparableBlendMode; exports.isSmartSurfaceIncomplete = _chunkS55JFWDAcjs.isSmartSurfaceIncomplete; exports.isSpatialFilter = _chunkS55JFWDAcjs.isSpatialFilter; exports.isSrgb = isSrgb; exports.isTransformAnchor = _chunkS55JFWDAcjs.isTransformAnchor; exports.isValidWarp = _chunkS55JFWDAcjs.isValidWarp; exports.keepDeepSamples = _chunkOLNIPTB3cjs.keepDeepSamples; exports.keepMainPieces = _chunkUC3PWFM3cjs.keepMainPieces; exports.kelvinToTemperature = _chunkS55JFWDAcjs.kelvinToTemperature; exports.keysWeight = _chunkB46UQUDCcjs.keysWeight; exports.latticeViscosity = _chunkKWNMBMKGcjs.latticeViscosity; exports.layerBadge = layerBadge; exports.layerEffectControls = layerEffectControls; exports.layerEffectFields = _chunkB46UQUDCcjs.layerEffectFields; exports.layerEffectLabel = _chunkB46UQUDCcjs.layerEffectLabel; exports.layerEffectsBadge = layerEffectsBadge; exports.layerEffectsOf = _chunkS55JFWDAcjs.layerEffectsOf; exports.layerEffectsPanel = layerEffectsPanel; exports.layerHasThumbnail = layerHasThumbnail; exports.layerLabel = layerLabel; exports.layerMaskCoverage = _chunkS55JFWDAcjs.layerMaskCoverage; exports.layerMaskFromSelection = _chunkS55JFWDAcjs.layerMaskFromSelection; exports.layerMaskKey = _chunkS55JFWDAcjs.layerMaskKey; exports.layerMaskSelection = _chunkS55JFWDAcjs.layerMaskSelection; exports.layerMenu = layerMenu; exports.layerName = _chunkS55JFWDAcjs.layerName; exports.layerPanelRows = layerPanelRows; exports.layerPanels = layerPanels; exports.layerThumbnailClick = layerThumbnailClick; exports.layerTree = _chunkS55JFWDAcjs.layerTree; exports.layerTypeLabel = _chunkS55JFWDAcjs.layerTypeLabel; exports.layerWarning = layerWarning; exports.layersFromLegacy = _chunkS55JFWDAcjs.layersFromLegacy; exports.layoutText = _chunkQAUIZPYIcjs.layoutText; exports.legacyAdjustmentLayer = _chunkS55JFWDAcjs.legacyAdjustmentLayer; exports.legacyMaskOf = _chunkS55JFWDAcjs.legacyMaskOf; exports.legacyView = _chunkS55JFWDAcjs.legacyView; exports.lerpPigment = _chunkOLNIPTB3cjs.lerpPigment; exports.lerpPigmentInto = _chunkOLNIPTB3cjs.lerpPigmentInto; exports.levelsValue = _chunkS55JFWDAcjs.levelsValue; exports.linearSrgbToXy = _chunkS55JFWDAcjs.linearSrgbToXy; exports.linearToSrgb = _chunkS55JFWDAcjs.linearToSrgb; exports.linearToSrgb8 = _chunkKWNMBMKGcjs.linearToSrgb8; exports.liveComponent = _chunkS55JFWDAcjs.liveComponent; exports.liveShapeForDrag = liveShapeForDrag; exports.liveShapeSubpaths = _chunkS55JFWDAcjs.liveShapeSubpaths; exports.liveWire = liveWire; exports.loadImageEditorDocument = loadImageEditorDocument; exports.loadMixer = _chunkPQ3H2AANcjs.loadMixer; exports.loadOpenTypeFont = _chunkLCCMOWR7cjs.loadOpenTypeFont; exports.loadWetKernel = _chunkKWNMBMKGcjs.loadWetKernel; exports.luma = _chunkYF3YZZ6Gcjs.luma; exports.magicWand = magicWand; exports.magneticAnchorSpacing = magneticAnchorSpacing; exports.mapCropHandle = _chunkS55JFWDAcjs.mapCropHandle; exports.mapLayer = _chunkB46UQUDCcjs.mapLayer; exports.mapSubpaths = _chunkS55JFWDAcjs.mapSubpaths; exports.maskBounds = _chunkMQDIP4CFcjs.maskBounds; exports.maskCoverageOverCanvas = _chunkS55JFWDAcjs.maskCoverageOverCanvas; exports.maskFileName = maskFileName; exports.maskNameFromFile = maskNameFromFile; exports.maskSummary = maskSummary; exports.maskThumbnailClick = maskThumbnailClick; exports.matrixFromCorners = _chunkS55JFWDAcjs.matrixFromCorners; exports.matrixFromParams = _chunkS55JFWDAcjs.matrixFromParams; exports.measureCanvasViewport = measureCanvasViewport; exports.membraneFill = _chunkMQDIP4CFcjs.membraneFill; exports.mergeLayerEffect = _chunkB46UQUDCcjs.mergeLayerEffect; exports.mergeShapeComponents = _chunkS55JFWDAcjs.mergeShapeComponents; exports.migrateSerializedImageEditorState = migrateSerializedImageEditorState; exports.migrateToLayeredState = migrateToLayeredState; exports.mix32 = _chunkPQ3H2AANcjs.mix32; exports.mixPigment8 = _chunkOLNIPTB3cjs.mixPigment8; exports.mixPigmentRgb = _chunkOLNIPTB3cjs.mixPigmentRgb; exports.mixPigments = _chunkOLNIPTB3cjs.mixPigments; exports.mixerLoadResult = mixerLoadResult; exports.mixerRates = _chunkPQ3H2AANcjs.mixerRates; exports.modifySelection = _chunkSS53NNZOcjs.modifySelection; exports.moveCurvePoint = moveCurvePoint; exports.moveLayer = _chunkS55JFWDAcjs.moveLayer; exports.moveSmartFilter = _chunkS55JFWDAcjs.moveSmartFilter; exports.mulMatrix3 = _chunkS55JFWDAcjs.mulMatrix3; exports.needsLegacyBase = needsLegacyBase; exports.neutralHueRange = _chunkS55JFWDAcjs.neutralHueRange; exports.newContentsId = _chunkS55JFWDAcjs.newContentsId; exports.newEffectId = _chunkB46UQUDCcjs.newEffectId; exports.newLayerId = _chunkS55JFWDAcjs.newLayerId; exports.newLayerOptions = newLayerOptions; exports.newPathId = newPathId; exports.normalizeAdjustmentLayer = _chunkS55JFWDAcjs.normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = _chunkS55JFWDAcjs.normalizeAdjustmentLayers; exports.normalizeAngle = _chunkS55JFWDAcjs.normalizeAngle; exports.normalizeBlendMode = _chunkOLNIPTB3cjs.normalizeBlendMode; exports.normalizeBlender = _chunkPQ3H2AANcjs.normalizeBlender; exports.normalizeBrush = _chunkPQ3H2AANcjs.normalizeBrush; exports.normalizeFilter = _chunkS55JFWDAcjs.normalizeFilter; exports.normalizeFlow = _chunkKWNMBMKGcjs.normalizeFlow; exports.normalizeHexColor = _chunkPQ3H2AANcjs.normalizeHexColor; exports.normalizeLayerEffects = _chunkB46UQUDCcjs.normalizeLayerEffects; exports.normalizeLayerMask = _chunkS55JFWDAcjs.normalizeLayerMask; exports.normalizeLiveShape = _chunkS55JFWDAcjs.normalizeLiveShape; exports.normalizeMixer = _chunkPQ3H2AANcjs.normalizeMixer; exports.normalizePlacement = _chunkS55JFWDAcjs.normalizePlacement; exports.normalizeProcessVersion = _chunkS55JFWDAcjs.normalizeProcessVersion; exports.normalizeRect = _chunkUC3PWFM3cjs.normalizeRect; exports.normalizeRefineEdgeParams = _chunkSS53NNZOcjs.normalizeRefineEdgeParams; exports.normalizeRetouch = _chunkYF3YZZ6Gcjs.normalizeRetouch; exports.normalizeShapePaint = _chunkS55JFWDAcjs.normalizeShapePaint; exports.normalizeShapeStroke = _chunkS55JFWDAcjs.normalizeShapeStroke; exports.normalizeSmartFilter = _chunkS55JFWDAcjs.normalizeSmartFilter; exports.normalizeSmudge = _chunkPQ3H2AANcjs.normalizeSmudge; exports.normalizeStoredAdjustments = normalizeStoredAdjustments; exports.normalizeSubpaths = _chunkS55JFWDAcjs.normalizeSubpaths; exports.normalizeText = _chunkS55JFWDAcjs.normalizeText; exports.normalizeTilt = _chunkKWNMBMKGcjs.normalizeTilt; exports.normalizeWetParams = _chunkKWNMBMKGcjs.normalizeWetParams; exports.offsetLayer = _chunkS55JFWDAcjs.offsetLayer; exports.offsetShape = _chunkS55JFWDAcjs.offsetShape; exports.offsetSmartObject = _chunkS55JFWDAcjs.offsetSmartObject; exports.offsetVectorMask = _chunkS55JFWDAcjs.offsetVectorMask; exports.openMaskFile = openMaskFile; exports.openPsdFile = openPsdFile; exports.otsuThreshold = _chunkUC3PWFM3cjs.otsuThreshold; exports.packRgba = _chunk474IQG74cjs.packRgba; exports.packWetParams = _chunkKWNMBMKGcjs.packWetParams; exports.paintGradientMappingFor = _chunkPQ3H2AANcjs.paintGradientMappingFor; exports.paintPathStroke = _chunkPQ3H2AANcjs.paintPathStroke; exports.paintSourceColor = _chunkPQ3H2AANcjs.paintSourceColor; exports.paintSourceCss = _chunkPQ3H2AANcjs.paintSourceCss; exports.paragraphRanges = _chunkQAUIZPYIcjs.paragraphRanges; exports.parseAdjustmentBlock = _chunkS55JFWDAcjs.parseAdjustmentBlock; exports.parseBlend = _chunkS55JFWDAcjs.parseBlend; exports.parseColor = parseColor; exports.parseCssColor = _chunkA2IS7EHEcjs.parseCssColor; exports.parseDataUrl = _chunkOLNIPTB3cjs.parseDataUrl; exports.parseEffectColor = _chunkB46UQUDCcjs.parseEffectColor; exports.parseLfx2 = _chunkS55JFWDAcjs.parseLfx2; exports.parseLrfx = _chunkS55JFWDAcjs.parseLrfx; exports.parseOpenTypeFont = _chunkLCCMOWR7cjs.parseOpenTypeFont; exports.parsePaintSource = _chunkPQ3H2AANcjs.parsePaintSource; exports.parsePatternBlock = _chunkS55JFWDAcjs.parsePatternBlock; exports.parseSelectionMode = _chunkSS53NNZOcjs.parseSelectionMode; exports.parseVersionedDescriptor = _chunkS55JFWDAcjs.parseVersionedDescriptor; exports.patchParagraphStyle = _chunkS55JFWDAcjs.patchParagraphStyle; exports.patchTextStyle = _chunkS55JFWDAcjs.patchTextStyle; exports.pathAnchorCount = pathAnchorCount; exports.pathBounds = pathBounds; exports.pathStrokeCoverage = _chunkPQ3H2AANcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunkPQ3H2AANcjs.pathStrokeDabs; exports.pathSvgData = pathSvgData; exports.pathToSelection = pathToSelection; exports.perDabStrength = _chunkYF3YZZ6Gcjs.perDabStrength; exports.photoFilterMatrix = _chunkS55JFWDAcjs.photoFilterMatrix; exports.pigment8 = _chunkOLNIPTB3cjs.pigment8; exports.pigmentColor = _chunkKWNMBMKGcjs.pigmentColor; exports.pigmentOf = _chunkKWNMBMKGcjs.pigmentOf; exports.pixelLayerBounds = _chunkS55JFWDAcjs.pixelLayerBounds; exports.pixelLayers = _chunkS55JFWDAcjs.pixelLayers; exports.pixelPigment = _chunkKWNMBMKGcjs.pixelPigment; exports.placeContents = _chunkS55JFWDAcjs.placeContents; exports.placeLayer = _chunkS55JFWDAcjs.placeLayer; exports.placementAt = _chunkS55JFWDAcjs.placementAt; exports.placementBounds = _chunkS55JFWDAcjs.placementBounds; exports.placementGeometry = _chunkS55JFWDAcjs.placementGeometry; exports.planImageToolPlayback = planImageToolPlayback; exports.planOutlineTrace = planOutlineTrace; exports.pngDataUrl = _chunkOLNIPTB3cjs.pngDataUrl; exports.pointerPressure = _chunkKWNMBMKGcjs.pointerPressure; exports.pointerStrokeSample = _chunkKWNMBMKGcjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkKWNMBMKGcjs.pointerStrokeSamples; exports.polygonCoverage = _chunkUC3PWFM3cjs.polygonCoverage; exports.polygonCoverageBox = _chunkUC3PWFM3cjs.polygonCoverageBox; exports.polygonSelection = _chunkUC3PWFM3cjs.polygonSelection; exports.posterizeValue = _chunkS55JFWDAcjs.posterizeValue; exports.presetWarp = _chunkS55JFWDAcjs.presetWarp; exports.previewStep = previewStep; exports.profileBytes = profileBytes; exports.projectImagePoint = _chunkS55JFWDAcjs.projectImagePoint; exports.projectImageRect = _chunkS55JFWDAcjs.projectImageRect; exports.projectMaskCoverage = _chunkS55JFWDAcjs.projectMaskCoverage; exports.projectQuarterTurn = projectQuarterTurn; exports.proxyOf = _chunkOLNIPTB3cjs.proxyOf; exports.psdBytesFromBase64 = psdBytesFromBase64; exports.psdFileName = psdFileName; exports.psdPatternToEffectPattern = _chunkS55JFWDAcjs.psdPatternToEffectPattern; exports.psdToLayers = _chunkS55JFWDAcjs.psdToLayers; exports.pullWarpMesh = _chunkQAUIZPYIcjs.pullWarpMesh; exports.put255 = _chunkPQ3H2AANcjs.put255; exports.quadFrameOverlay = quadFrameOverlay; exports.quickMaskPixels = quickMaskPixels; exports.quickSelectStroke = _chunkUC3PWFM3cjs.quickSelectStroke; exports.rand01 = _chunkPQ3H2AANcjs.rand01; exports.randSigned = _chunkPQ3H2AANcjs.randSigned; exports.rangeLightness = _chunkS55JFWDAcjs.rangeLightness; exports.rasterContents = _chunkS55JFWDAcjs.rasterContents; exports.rasterMaskFromLegacy = _chunkS55JFWDAcjs.rasterMaskFromLegacy; exports.rasterizeCoverage = _chunkS55JFWDAcjs.rasterizeCoverage; exports.rasterizeDab = _chunkPQ3H2AANcjs.rasterizeDab; exports.rasterizeSmartObject = _chunkS55JFWDAcjs.rasterizeSmartObject; exports.readAdjustmentControls = readAdjustmentControls; exports.readDeepRegion = _chunkOLNIPTB3cjs.readDeepRegion; exports.readEdgeColor = _chunkS55JFWDAcjs.readEdgeColor; exports.readPaintSource = _chunkPQ3H2AANcjs.readPaintSource; exports.readPaths = readPaths; exports.readPixel = _chunk474IQG74cjs.readPixel; exports.readPsd = _chunkS55JFWDAcjs.readPsd; exports.readRegion = _chunk474IQG74cjs.readRegion; exports.readShapeComponents = _chunkS55JFWDAcjs.readShapeComponents; exports.readSourceRegion = _chunkYF3YZZ6Gcjs.readSourceRegion; exports.rectSelection = _chunkUC3PWFM3cjs.rectSelection; exports.rectToQuad = _chunkQT26RHKKcjs.rectToQuad; exports.reduceSurface = _chunkB46UQUDCcjs.reduceSurface; exports.referencePoint = _chunkS55JFWDAcjs.referencePoint; exports.refineCoverage = _chunkSS53NNZOcjs.refineCoverage; exports.refineEdgeHalo = _chunkSS53NNZOcjs.refineEdgeHalo; exports.refineSelection = _chunkSS53NNZOcjs.refineSelection; exports.reflectanceToRgb = _chunkOLNIPTB3cjs.reflectanceToRgb; exports.removeAlpha = _chunkS55JFWDAcjs.removeAlpha; exports.removeCurvePoint = removeCurvePoint; exports.removeLayer = _chunkS55JFWDAcjs.removeLayer; exports.removeLayerEffect = _chunkS55JFWDAcjs.removeLayerEffect; exports.removeLayerFilter = _chunkS55JFWDAcjs.removeLayerFilter; exports.removePaintGradientStop = _chunkPQ3H2AANcjs.removePaintGradientStop; exports.removeSmartFilter = _chunkS55JFWDAcjs.removeSmartFilter; exports.renderBrushstroke = _chunkPQ3H2AANcjs.renderBrushstroke; exports.renderLayerEffects = _chunkB46UQUDCcjs.renderLayerEffects; exports.renderLayeredBase = renderLayeredBase; exports.renderShape = _chunkS55JFWDAcjs.renderShape; exports.renderShapeRect = _chunkS55JFWDAcjs.renderShapeRect; exports.renderSmartObject = _chunkS55JFWDAcjs.renderSmartObject; exports.renderText = _chunkS55JFWDAcjs.renderText; exports.replaceContents = _chunkS55JFWDAcjs.replaceContents; exports.replaceTextRange = _chunkS55JFWDAcjs.replaceTextRange; exports.requireLayer = _chunkS55JFWDAcjs.requireLayer; exports.requireOperation = _chunkS55JFWDAcjs.requireOperation; exports.requireShapeLayer = _chunkS55JFWDAcjs.requireShapeLayer; exports.requireSmartObject = _chunkS55JFWDAcjs.requireSmartObject; exports.requireTypeLayer = _chunkS55JFWDAcjs.requireTypeLayer; exports.requireUnlocked = _chunkS55JFWDAcjs.requireUnlocked; exports.rerender = _chunkS55JFWDAcjs.rerender; exports.rerenderShape = _chunkS55JFWDAcjs.rerenderShape; exports.rerenderText = _chunkS55JFWDAcjs.rerenderText; exports.resizePixels = resizePixels; exports.resizeSelection = _chunkSS53NNZOcjs.resizeSelection; exports.resizeWarpMesh = _chunkQAUIZPYIcjs.resizeWarpMesh; exports.resolveExternalAssets = _chunkS55JFWDAcjs.resolveExternalAssets; exports.resolveMosaicRegionBounds = resolveMosaicRegionBounds; exports.resolvePaintGradient = _chunkPQ3H2AANcjs.resolvePaintGradient; exports.resolveProfile = resolveProfile; exports.resolveVectorMasks = _chunkS55JFWDAcjs.resolveVectorMasks; exports.restyleRange = _chunkQAUIZPYIcjs.restyleRange; exports.retouchFilter = _chunkYF3YZZ6Gcjs.retouchFilter; exports.reversePaintGradient = _chunkPQ3H2AANcjs.reversePaintGradient; exports.rgbToGray = _chunkS55JFWDAcjs.rgbToGray; exports.rgbToHsl = _chunkS55JFWDAcjs.rgbToHsl; exports.rgbToReflectance = _chunkOLNIPTB3cjs.rgbToReflectance; exports.rgbUnitToHex = rgbUnitToHex; exports.rgbaViewOfGrey = _chunkYF3YZZ6Gcjs.rgbaViewOfGrey; exports.runLayerFilters = _chunkS55JFWDAcjs.runLayerFilters; exports.runLayerFiltersFloat = _chunkS55JFWDAcjs.runLayerFiltersFloat; exports.runLayerMenuAction = runLayerMenuAction; exports.runSelectionJob = _chunkUC3PWFM3cjs.runSelectionJob; exports.sameCanvasViewport = sameCanvasViewport; exports.sampleLut = _chunkS55JFWDAcjs.sampleLut; exports.sampleToneLut = _chunkS55JFWDAcjs.sampleToneLut; exports.saturationOf = _chunkYF3YZZ6Gcjs.saturationOf; exports.scaleLayerEffect = _chunkB46UQUDCcjs.scaleLayerEffect; exports.scalePaintGradient = _chunkPQ3H2AANcjs.scalePaintGradient; exports.seamlessClone = _chunkMQDIP4CFcjs.seamlessClone; exports.seedFromString = _chunkPQ3H2AANcjs.seedFromString; exports.segmentToSelection = segmentToSelection; exports.segmentationOutlines = segmentationOutlines; exports.segmentsToSelection = segmentsToSelection; exports.selectObjectIn = _chunkUC3PWFM3cjs.selectObjectIn; exports.selectSimilar = selectSimilar; exports.selectionArea = _chunkSS53NNZOcjs.selectionArea; exports.selectionFromCoverage = _chunkSS53NNZOcjs.selectionFromCoverage; exports.selectionFromPixels = _chunkSS53NNZOcjs.selectionFromPixels; exports.selectionFromRegion = _chunkSS53NNZOcjs.selectionFromRegion; exports.selectionFromTiles = _chunkSS53NNZOcjs.selectionFromTiles; exports.selectionModeFromModifiers = selectionModeFromModifiers; exports.selectionOutline = selectionOutline; exports.selectionRing = selectionRing; exports.selectionToCoverage = _chunkSS53NNZOcjs.selectionToCoverage; exports.selectionToPixels = _chunkSS53NNZOcjs.selectionToPixels; exports.selectionToSubpaths = selectionToSubpaths; exports.selectionValueAt = _chunkSS53NNZOcjs.selectionValueAt; exports.serializeChannels = serializeChannels; exports.serializeColorMode = serializeColorMode; exports.serializeColorProfile = serializeColorProfile; exports.serializeContents = _chunkS55JFWDAcjs.serializeContents; exports.serializeEffects = _chunkS55JFWDAcjs.serializeEffects; exports.serializeLayer = _chunkS55JFWDAcjs.serializeLayer; exports.serializeLayers = _chunkS55JFWDAcjs.serializeLayers; exports.serializeLayersExternal = _chunkS55JFWDAcjs.serializeLayersExternal; exports.serializeMask = _chunkUC3PWFM3cjs.serializeMask; exports.serializePaths = serializePaths; exports.serializePatterns = _chunkS55JFWDAcjs.serializePatterns; exports.serializeSelection = _chunkSS53NNZOcjs.serializeSelection; exports.setCloneTransformValue = setCloneTransformValue; exports.setControlPath = setControlPath; exports.setLayerEffects = _chunkS55JFWDAcjs.setLayerEffects; exports.setLayerEffectsEnabled = _chunkS55JFWDAcjs.setLayerEffectsEnabled; exports.setLayerMask = _chunkS55JFWDAcjs.setLayerMask; exports.setLayerProperties = _chunkS55JFWDAcjs.setLayerProperties; exports.setLum = _chunkOLNIPTB3cjs.setLum; exports.setPigmentColor = _chunkOLNIPTB3cjs.setPigmentColor; exports.setRetouchChoice = setRetouchChoice; exports.setSmartFilterMask = _chunkS55JFWDAcjs.setSmartFilterMask; exports.setSmartFiltersEnabled = _chunkS55JFWDAcjs.setSmartFiltersEnabled; exports.setSmartPlacement = _chunkS55JFWDAcjs.setSmartPlacement; exports.shadeTile = _chunkKWNMBMKGcjs.shadeTile; exports.shapeAsPixelLayer = _chunkS55JFWDAcjs.shapeAsPixelLayer; exports.shapeFromAnnotation = _chunkS55JFWDAcjs.shapeFromAnnotation; exports.shapeGeometryBounds = _chunkS55JFWDAcjs.shapeGeometryBounds; exports.shapeLayers = _chunkS55JFWDAcjs.shapeLayers; exports.shapeOutline = _chunkS55JFWDAcjs.shapeOutline; exports.shapeRenderClip = _chunkS55JFWDAcjs.shapeRenderClip; exports.shiftCoverage = _chunkSS53NNZOcjs.shiftCoverage; exports.simplifyPixelPath = simplifyPixelPath; exports.skinToneRange = skinToneRange; exports.slicSuperpixels = _chunkUC3PWFM3cjs.slicSuperpixels; exports.smartFilterRows = smartFilterRows; exports.smartObjectLayers = _chunkS55JFWDAcjs.smartObjectLayers; exports.smoothCoverage = _chunkSS53NNZOcjs.smoothCoverage; exports.smoothPoints = _chunkPQ3H2AANcjs.smoothPoints; exports.smoothnessWeights = _chunkUC3PWFM3cjs.smoothnessWeights; exports.smudgeEffect = _chunkYF3YZZ6Gcjs.smudgeEffect; exports.snapPolygonToEdges = snapPolygonToEdges; exports.snapTo45 = snapTo45; exports.snapToEdge = snapToEdge; exports.softMaskToSelection = _chunkUC3PWFM3cjs.softMaskToSelection; exports.solidPaint = _chunkPQ3H2AANcjs.solidPaint; exports.solidSurface = _chunk474IQG74cjs.solidSurface; exports.solveMembrane = _chunkMQDIP4CFcjs.solveMembrane; exports.spliceRuns = _chunkQAUIZPYIcjs.spliceRuns; exports.splitOverlayAnnotations = splitOverlayAnnotations; exports.sponge = _chunkYF3YZZ6Gcjs.sponge; exports.spongeEffect = _chunkYF3YZZ6Gcjs.spongeEffect; exports.spotHealPixels = _chunkYF3YZZ6Gcjs.spotHealPixels; exports.spotHealWindow = _chunkYF3YZZ6Gcjs.spotHealWindow; exports.srgb8ToLab = srgb8ToLab; exports.srgbByteToLinear = _chunkKWNMBMKGcjs.srgbByteToLinear; exports.srgbDecode = _chunkOLNIPTB3cjs.srgbDecode; exports.srgbEncode = _chunkOLNIPTB3cjs.srgbEncode; exports.srgbToLinear = _chunkS55JFWDAcjs.srgbToLinear; exports.standardBlendMode = _chunkOLNIPTB3cjs.standardBlendMode; exports.startMarchingAnts = startMarchingAnts; exports.startSelectionWorker = _chunkUC3PWFM3cjs.startSelectionWorker; exports.stepSlotTs = _chunkKWNMBMKGcjs.stepSlotTs; exports.strokeGrainCatch = _chunkPQ3H2AANcjs.strokeGrainCatch; exports.styleAt = _chunkQAUIZPYIcjs.styleAt; exports.subpathsToSvgPath = subpathsToSvgPath; exports.sumHistograms = sumHistograms; exports.superpixelSaliency = _chunkUC3PWFM3cjs.superpixelSaliency; exports.surfaceBytes = _chunk474IQG74cjs.surfaceBytes; exports.surfaceDepth = _chunkOLNIPTB3cjs.surfaceDepth; exports.surfaceFromDeepPixels = _chunkOLNIPTB3cjs.surfaceFromDeepPixels; exports.surfaceFromPixels = _chunk474IQG74cjs.surfaceFromPixels; exports.surfacesEqual = _chunk474IQG74cjs.surfacesEqual; exports.tempTintToXy = _chunkS55JFWDAcjs.tempTintToXy; exports.temperatureToKelvin = _chunkS55JFWDAcjs.temperatureToKelvin; exports.textIndexAt = _chunkQAUIZPYIcjs.textIndexAt; exports.textMatrix = _chunkS55JFWDAcjs.textMatrix; exports.textOrientation = _chunkS55JFWDAcjs.textOrientation; exports.textOutlines = _chunkS55JFWDAcjs.textOutlines; exports.textRange = _chunkS55JFWDAcjs.textRange; exports.tileCoord = _chunk474IQG74cjs.tileCoord; exports.tileKey = _chunk474IQG74cjs.tileKey; exports.tileRect = _chunk474IQG74cjs.tileRect; exports.tileSamples = _chunkOLNIPTB3cjs.tileSamples; exports.tileSamples16 = _chunkOLNIPTB3cjs.tileSamples16; exports.tileSamples32 = _chunkOLNIPTB3cjs.tileSamples32; exports.tilesInRect = _chunk474IQG74cjs.tilesInRect; exports.tipFalloff = _chunkPQ3H2AANcjs.tipFalloff; exports.tipReach = _chunkPQ3H2AANcjs.tipReach; exports.tipShape = _chunkPQ3H2AANcjs.tipShape; exports.to16From32 = _chunkOLNIPTB3cjs.to16From32; exports.to16From8 = _chunkOLNIPTB3cjs.to16From8; exports.to32From16 = _chunkOLNIPTB3cjs.to32From16; exports.to32From8 = _chunkOLNIPTB3cjs.to32From8; exports.to8From16 = _chunkOLNIPTB3cjs.to8From16; exports.to8From32 = _chunkOLNIPTB3cjs.to8From32; exports.toHex = toHex; exports.toTextSpace = _chunkS55JFWDAcjs.toTextSpace; exports.toneCurve = _chunkS55JFWDAcjs.toneCurve; exports.toneLuts = _chunkS55JFWDAcjs.toneLuts; exports.toneOf = _chunkYF3YZZ6Gcjs.toneOf; exports.toneRange = toneRange; exports.transformHomography = _chunkS55JFWDAcjs.transformHomography; exports.transformMap = _chunkS55JFWDAcjs.transformMap; exports.transformShapeComponents = _chunkS55JFWDAcjs.transformShapeComponents; exports.transformSurface = _chunkB46UQUDCcjs.transformSurface; exports.transformTypeLayer = _chunkS55JFWDAcjs.transformTypeLayer; exports.transformVectorMask = _chunkS55JFWDAcjs.transformVectorMask; exports.transformedBounds = _chunkB46UQUDCcjs.transformedBounds; exports.transformedBox = _chunkS55JFWDAcjs.transformedBox; exports.transformedPoint = _chunkS55JFWDAcjs.transformedPoint; exports.translateLayer = _chunkS55JFWDAcjs.translateLayer; exports.translateSurface = _chunk474IQG74cjs.translateSurface; exports.typeAsPixelLayer = _chunkS55JFWDAcjs.typeAsPixelLayer; exports.typeFrame = _chunkS55JFWDAcjs.typeFrame; exports.typeFromAnnotation = _chunkS55JFWDAcjs.typeFromAnnotation; exports.typeLayerAt = typeLayerAt; exports.typeLayerName = _chunkS55JFWDAcjs.typeLayerName; exports.ungroupLayer = _chunkS55JFWDAcjs.ungroupLayer; exports.uniformTile = _chunk474IQG74cjs.uniformTile; exports.unionRect = _chunkS55JFWDAcjs.unionRect; exports.unprojectCanvasPoint = _chunkS55JFWDAcjs.unprojectCanvasPoint; exports.updateLayerEffect = _chunkS55JFWDAcjs.updateLayerEffect; exports.updateLayerFilter = _chunkS55JFWDAcjs.updateLayerFilter; exports.updateLayerMaskProps = _chunkS55JFWDAcjs.updateLayerMaskProps; exports.updatePaintGradientStop = _chunkPQ3H2AANcjs.updatePaintGradientStop; exports.updateShapeLayer = _chunkS55JFWDAcjs.updateShapeLayer; exports.updateSmartFilter = _chunkS55JFWDAcjs.updateSmartFilter; exports.updateTypeLayer = _chunkS55JFWDAcjs.updateTypeLayer; exports.upscaleRegion = _chunkUC3PWFM3cjs.upscaleRegion; exports.userErrorMessage = _chunkS55JFWDAcjs.userErrorMessage; exports.uvToXy = _chunkS55JFWDAcjs.uvToXy; exports.validateEffectGradient = _chunkB46UQUDCcjs.validateEffectGradient; exports.validateLayerEffect = _chunkB46UQUDCcjs.validateLayerEffect; exports.validateLayerEffects = _chunkB46UQUDCcjs.validateLayerEffects; exports.vectorMaskBounds = _chunkS55JFWDAcjs.vectorMaskBounds; exports.vectorMaskCoverage = _chunkS55JFWDAcjs.vectorMaskCoverage; exports.vectorMaskThumbnail = _chunkS55JFWDAcjs.vectorMaskThumbnail; exports.vectorMaskThumbnailClick = vectorMaskThumbnailClick; exports.versionedDescriptorBytes = _chunkS55JFWDAcjs.versionedDescriptorBytes; exports.vibranceLinear = _chunkS55JFWDAcjs.vibranceLinear; exports.vibrancePixel = _chunkS55JFWDAcjs.vibrancePixel; exports.walkDabs = _chunkPQ3H2AANcjs.walkDabs; exports.warpMeshEditPoints = _chunkQAUIZPYIcjs.warpMeshEditPoints; exports.warpMeshGridCurves = _chunkQAUIZPYIcjs.warpMeshGridCurves; exports.warpMeshParamAt = _chunkQAUIZPYIcjs.warpMeshParamAt; exports.warpPresetMesh = _chunkQAUIZPYIcjs.warpPresetMesh; exports.warpSurface = _chunkB46UQUDCcjs.warpSurface; exports.watchCanvasViewport = watchCanvasViewport; exports.wbMatrix = _chunkS55JFWDAcjs.wbMatrix; exports.wetGpuSupport = _chunkKWNMBMKGcjs.wetGpuSupport; exports.wetSimdSupported = _chunkKWNMBMKGcjs.wetSimdSupported; exports.wetSupport = _chunkKWNMBMKGcjs.wetSupport; exports.whiteBalanceFromSample = _chunkS55JFWDAcjs.whiteBalanceFromSample; exports.whiteBalanceMatrix = _chunkS55JFWDAcjs.whiteBalanceMatrix; exports.withBackgroundOpacity = withBackgroundOpacity; exports.withFilterMaskSurface = _chunkS55JFWDAcjs.withFilterMaskSurface; exports.withImagePlayback = withImagePlayback; exports.withNewIds = _chunkS55JFWDAcjs.withNewIds; exports.workImage = _chunkUC3PWFM3cjs.workImage; exports.workLuma = _chunkUC3PWFM3cjs.workLuma; exports.workPlanes = _chunkUC3PWFM3cjs.workPlanes; exports.writeAdjustmentBlock = _chunkS55JFWDAcjs.writeAdjustmentBlock; exports.writeDeepRegion = _chunkOLNIPTB3cjs.writeDeepRegion; exports.writeLfx2 = _chunkS55JFWDAcjs.writeLfx2; exports.writePatternBlock = _chunkS55JFWDAcjs.writePatternBlock; exports.writePsd = _chunkS55JFWDAcjs.writePsd; exports.writeRegion = _chunk474IQG74cjs.writeRegion; exports.xyToTempTint = _chunkS55JFWDAcjs.xyToTempTint; exports.xyToUv = _chunkS55JFWDAcjs.xyToUv;
22955
+
22956
+
22957
+ exports.ADJUSTMENT_KEYS = _chunkS55JFWDAcjs.ADJUSTMENT_KEYS; exports.ADJUSTMENT_KINDS = _chunkS55JFWDAcjs.ADJUSTMENT_KINDS; exports.ADJUSTMENT_LAYER_CONTROLS = ADJUSTMENT_LAYER_CONTROLS; exports.ADJUSTMENT_LAYER_OPACITY_CONTROL = ADJUSTMENT_LAYER_OPACITY_CONTROL; exports.ADJUSTMENT_LUT_SIZE = _chunkS55JFWDAcjs.ADJUSTMENT_LUT_SIZE; exports.ANCHOR_FRACTION = _chunkS55JFWDAcjs.ANCHOR_FRACTION; exports.AS_SHOT_KELVIN = _chunkS55JFWDAcjs.AS_SHOT_KELVIN; exports.BACKGROUND_LAYER_ID = _chunkS55JFWDAcjs.BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = _chunkS55JFWDAcjs.BACKGROUND_LAYER_NAME; exports.BIT_DEPTHS = _chunkOLNIPTB3cjs.BIT_DEPTHS; exports.BIT_DEPTH_OPTIONS = BIT_DEPTH_OPTIONS; exports.BLEND_MODES = _chunkOLNIPTB3cjs.BLEND_MODES; exports.BLUR_FILTER_ID = _chunkS55JFWDAcjs.BLUR_FILTER_ID; exports.BODY_SCATTER = _chunkKWNMBMKGcjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MIN_SCALE; exports.BRUSH_OPTION_CONTROLS = BRUSH_OPTION_CONTROLS; exports.BUILTIN_PROFILES = _chunkBROJYMWUcjs.BUILTIN_PROFILES; exports.BrushstrokeCache = _chunkPQ3H2AANcjs.BrushstrokeCache; exports.CANVAS_SIZE_PRESETS = CANVAS_SIZE_PRESETS; exports.CLONE_TRANSFORM_CONTROLS = CLONE_TRANSFORM_CONTROLS; exports.COLOR_MODE_OPTIONS = COLOR_MODE_OPTIONS; exports.COLOR_RANGE_PRESETS = COLOR_RANGE_PRESETS; exports.COLOR_RANGE_PRESET_LABELS = COLOR_RANGE_PRESET_LABELS; exports.CONTENT_AWARE_FILL_SAMPLING = CONTENT_AWARE_FILL_SAMPLING; exports.CONTENT_AWARE_FILL_TOOLS = CONTENT_AWARE_FILL_TOOLS; exports.ColorGmm = _chunkUC3PWFM3cjs.ColorGmm; exports.ContentAwareFillSession = ContentAwareFillSession; exports.CoverageMap = _chunkPQ3H2AANcjs.CoverageMap; exports.D50 = _chunkS55JFWDAcjs.D50; exports.D65 = _chunkS55JFWDAcjs.D65; exports.DEFAULT_ADJUSTMENTS = DEFAULT_ADJUSTMENTS; exports.DEFAULT_AUTO_LEADING = _chunkQAUIZPYIcjs.DEFAULT_AUTO_LEADING; exports.DEFAULT_BLENDER = _chunkPQ3H2AANcjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunkPQ3H2AANcjs.DEFAULT_BRUSH; exports.DEFAULT_CANVAS_VIEWPORT = DEFAULT_CANVAS_VIEWPORT; exports.DEFAULT_CHANNEL_COLOR = DEFAULT_CHANNEL_COLOR; exports.DEFAULT_CONTENT_AWARE_FILL_SETTINGS = DEFAULT_CONTENT_AWARE_FILL_SETTINGS; exports.DEFAULT_DEPTH_MASK = DEFAULT_DEPTH_MASK; exports.DEFAULT_FLOW = _chunkKWNMBMKGcjs.DEFAULT_FLOW; exports.DEFAULT_GLOBAL_LIGHT = _chunkB46UQUDCcjs.DEFAULT_GLOBAL_LIGHT; exports.DEFAULT_MITER_LIMIT = _chunkS55JFWDAcjs.DEFAULT_MITER_LIMIT; exports.DEFAULT_MIXER = _chunkPQ3H2AANcjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_PROOF = DEFAULT_PROOF; exports.DEFAULT_REFINE_EDGE_PARAMS = _chunkSS53NNZOcjs.DEFAULT_REFINE_EDGE_PARAMS; exports.DEFAULT_RETOUCH = _chunkYF3YZZ6Gcjs.DEFAULT_RETOUCH; exports.DEFAULT_SELECTION_TOOL_OPTIONS = DEFAULT_SELECTION_TOOL_OPTIONS; exports.DEFAULT_SELECT_AND_MASK_SETTINGS = DEFAULT_SELECT_AND_MASK_SETTINGS; exports.DEFAULT_SHAPE_TOOL_OPTIONS = DEFAULT_SHAPE_TOOL_OPTIONS; exports.DEFAULT_SMUDGE = _chunkPQ3H2AANcjs.DEFAULT_SMUDGE; exports.DEFAULT_TEXT_STYLE = _chunkQAUIZPYIcjs.DEFAULT_TEXT_STYLE; exports.DEFAULT_TRANSFORM = DEFAULT_TRANSFORM; exports.DEFAULT_TYPE_TOOL_OPTIONS = DEFAULT_TYPE_TOOL_OPTIONS; exports.DEFAULT_WET_PAPER = _chunkKWNMBMKGcjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkKWNMBMKGcjs.DEFAULT_WET_PARAMS; exports.DEPTH_MASK_CONTROLS = DEPTH_MASK_CONTROLS; exports.DEVELOP_FILTER_ID = _chunkS55JFWDAcjs.DEVELOP_FILTER_ID; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkK6PXS6DOcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DRY_EPS = _chunkKWNMBMKGcjs.DRY_EPS; exports.DabWalker = _chunkPQ3H2AANcjs.DabWalker; exports.EDGE_COLOR_RADIUS = _chunkS55JFWDAcjs.EDGE_COLOR_RADIUS; exports.EFFECT_LAYER_USES = EFFECT_LAYER_USES; exports.EMPTY_DISTANCE = _chunkSS53NNZOcjs.EMPTY_DISTANCE; exports.EMPTY_MIXER_LOAD = _chunkPQ3H2AANcjs.EMPTY_MIXER_LOAD; exports.EX = _chunkKWNMBMKGcjs.EX; exports.EY = _chunkKWNMBMKGcjs.EY; exports.EdgeMap = EdgeMap; exports.FLAG_ALIVE = _chunkKWNMBMKGcjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkKWNMBMKGcjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkKWNMBMKGcjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkKWNMBMKGcjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkKWNMBMKGcjs.FLAG_TOP; exports.FLAG_WET = _chunkKWNMBMKGcjs.FLAG_WET; exports.FLAT = _chunkKWNMBMKGcjs.FLAT; exports.FREE_INTERVAL = _chunkKWNMBMKGcjs.FREE_INTERVAL; exports.FREE_TRANSFORM_CONTENTS = FREE_TRANSFORM_CONTENTS; exports.FREE_TRANSFORM_FIELDS = FREE_TRANSFORM_FIELDS; exports.FREE_TRANSFORM_MODES = _chunkS55JFWDAcjs.FREE_TRANSFORM_MODES; exports.FREE_TRANSFORM_MODE_OPTIONS = FREE_TRANSFORM_MODE_OPTIONS; exports.FreeTransformSession = FreeTransformSession; exports.FreeTransformTool = FreeTransformTool; exports.GAMMA = _chunkUC3PWFM3cjs.GAMMA; exports.GRAIN_PATTERNS = _chunkPQ3H2AANcjs.GRAIN_PATTERNS; exports.GRAIN_TILE = _chunkPQ3H2AANcjs.GRAIN_TILE; exports.GUIDED_FILTER_EPS = _chunkSS53NNZOcjs.GUIDED_FILTER_EPS; exports.GridGraph = _chunkUC3PWFM3cjs.GridGraph; exports.HIDE = _chunkKWNMBMKGcjs.HIDE; exports.HISTOGRAM_BINS = HISTOGRAM_BINS; exports.HUE_RANGE_LABELS = _chunkS55JFWDAcjs.HUE_RANGE_LABELS; exports.HUE_RANGE_PRESETS = HUE_RANGE_PRESETS; exports.IDENTITY_CLONE_TRANSFORM = _chunkYF3YZZ6Gcjs.IDENTITY_CLONE_TRANSFORM; exports.IDENTITY_MATRIX3 = _chunkS55JFWDAcjs.IDENTITY_MATRIX3; exports.IMAGE_ADJUSTMENT_CONTROLS = IMAGE_ADJUSTMENT_CONTROLS; exports.IMAGE_CROP_PRESETS = IMAGE_CROP_PRESETS; exports.IMAGE_EDITOR_SCHEMA_VERSION = IMAGE_EDITOR_SCHEMA_VERSION; exports.IMAGE_EDITOR_STATE_VERSION = IMAGE_EDITOR_STATE_VERSION; exports.IMAGE_EFFECT_PLACES = IMAGE_EFFECT_PLACES; exports.IMAGE_FILTER_PRESETS = IMAGE_FILTER_PRESETS; exports.IMAGE_PLAYBACK_KIND = IMAGE_PLAYBACK_KIND; exports.IMAGE_TOOL_GROUPS = IMAGE_TOOL_GROUPS; exports.IMAGE_TOOL_SHORTCUTS = IMAGE_TOOL_SHORTCUTS; exports.INTENTS = _chunkBROJYMWUcjs.INTENTS; exports.INTENT_OPTIONS = INTENT_OPTIONS; exports.INTERPOLATIONS = _chunkB46UQUDCcjs.INTERPOLATIONS; exports.ImageEditorController = ImageEditorController; exports.ImageEditorRenderer = ImageEditorRenderer; exports.ImageEffectsEngine = ImageEffectsEngine; exports.LATEST_PROCESS_VERSION = _chunkS55JFWDAcjs.LATEST_PROCESS_VERSION; exports.LAYERED_SCHEMA_VERSION = _chunkS55JFWDAcjs.LAYERED_SCHEMA_VERSION; exports.LAYER_EFFECT_KINDS = _chunkB46UQUDCcjs.LAYER_EFFECT_KINDS; exports.LAYER_EFFECT_MENU = LAYER_EFFECT_MENU; exports.LEGACY_PROCESS_VERSION = _chunkS55JFWDAcjs.LEGACY_PROCESS_VERSION; exports.LIVE_SHAPE_KINDS = _chunkS55JFWDAcjs.LIVE_SHAPE_KINDS; exports.LUMA_709 = _chunkS55JFWDAcjs.LUMA_709; exports.LayerCompositor = _chunkS55JFWDAcjs.LayerCompositor; exports.LayerEffectError = _chunkB46UQUDCcjs.LayerEffectError; exports.LayerOperationError = _chunkS55JFWDAcjs.LayerOperationError; exports.MARCHING_ANTS_STEP_MS = MARCHING_ANTS_STEP_MS; exports.MASK_EDGE_THRESHOLDS = MASK_EDGE_THRESHOLDS; exports.MASK_FILE_ACCEPT = MASK_FILE_ACCEPT; exports.MAX_BATCH = _chunkKWNMBMKGcjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunkPQ3H2AANcjs.MAX_BRUSH_SIZE; exports.MAX_CANVAS_BACKING_SIDE = MAX_CANVAS_BACKING_SIDE; exports.MAX_EFFECT_ANIMATION_MS = _chunkS55JFWDAcjs.MAX_EFFECT_ANIMATION_MS; exports.MAX_EFFECT_REACH = _chunkB46UQUDCcjs.MAX_EFFECT_REACH; exports.MAX_KELVIN = _chunkS55JFWDAcjs.MAX_KELVIN; exports.MAX_TILT_ACCEL = _chunkKWNMBMKGcjs.MAX_TILT_ACCEL; exports.MAX_TRANSFORM_PIXELS = _chunkB46UQUDCcjs.MAX_TRANSFORM_PIXELS; exports.MAX_WET_LANES = _chunkKWNMBMKGcjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkKWNMBMKGcjs.MAX_WET_SLOTS; exports.MIN_KELVIN = _chunkS55JFWDAcjs.MIN_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = _chunkS55JFWDAcjs.MIRED_PER_TEMPERATURE_UNIT; exports.MIXER_DRAIN = _chunkPQ3H2AANcjs.MIXER_DRAIN; exports.MIXER_MIXING_OPTIONS = MIXER_MIXING_OPTIONS; exports.MIXER_OPTION_CONTROLS = MIXER_OPTION_CONTROLS; exports.MIXER_PICKUP_RATE = _chunkPQ3H2AANcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunkPQ3H2AANcjs.MIXING_MODELS; exports.MixerStroke = _chunkPQ3H2AANcjs.MixerStroke; exports.OPP = _chunkKWNMBMKGcjs.OPP; exports.PAINTERLY_BLEND_MODES = _chunkOLNIPTB3cjs.PAINTERLY_BLEND_MODES; exports.PAINT_COLOR_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunkPQ3H2AANcjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunkPQ3H2AANcjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAINT_TOOLS = PAINT_TOOLS; exports.PAPER_CAPACITY = _chunkKWNMBMKGcjs.PAPER_CAPACITY; exports.PARAGRAPH_STYLE_FIELDS = _chunkS55JFWDAcjs.PARAGRAPH_STYLE_FIELDS; exports.PARAM = _chunkKWNMBMKGcjs.PARAM; exports.PARAM_FLOATS = _chunkKWNMBMKGcjs.PARAM_FLOATS; exports.PASTE_MODES = PASTE_MODES; exports.PATH_EDIT_TOOLS = PATH_EDIT_TOOLS; exports.PATTERN_BLOCK_KEYS = _chunkS55JFWDAcjs.PATTERN_BLOCK_KEYS; exports.PIGMENT_BANDS = _chunkOLNIPTB3cjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkKWNMBMKGcjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkKWNMBMKGcjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkOLNIPTB3cjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkKWNMBMKGcjs.PLANE; exports.PLANE_BYTES = _chunkKWNMBMKGcjs.PLANE_BYTES; exports.PREVIEW_SIZE = PREVIEW_SIZE; exports.PROOF_PROFILE_OPTIONS = PROOF_PROFILE_OPTIONS; exports.PSD_BLEND_KEYS = _chunkS55JFWDAcjs.PSD_BLEND_KEYS; exports.PSD_FILE_ACCEPT = PSD_FILE_ACCEPT; exports.P_D0 = _chunkKWNMBMKGcjs.P_D0; exports.P_EDGE = _chunkKWNMBMKGcjs.P_EDGE; exports.P_FX = _chunkKWNMBMKGcjs.P_FX; exports.P_FY = _chunkKWNMBMKGcjs.P_FY; exports.P_H = _chunkKWNMBMKGcjs.P_H; exports.P_P0 = _chunkKWNMBMKGcjs.P_P0; exports.P_RHO = _chunkKWNMBMKGcjs.P_RHO; exports.P_SW = _chunkKWNMBMKGcjs.P_SW; exports.P_UX = _chunkKWNMBMKGcjs.P_UX; exports.P_UY = _chunkKWNMBMKGcjs.P_UY; exports.PaintExchange = _chunkPQ3H2AANcjs.PaintExchange; exports.PaintGesture = PaintGesture; exports.PaintGradientSampler = _chunkPQ3H2AANcjs.PaintGradientSampler; exports.PaintSourceError = _chunkPQ3H2AANcjs.PaintSourceError; exports.PaintStrokeSession = PaintStrokeSession; exports.PaperGrain = _chunkPQ3H2AANcjs.PaperGrain; exports.PathEditGesture = PathEditGesture; exports.PatternPlacement = _chunkB46UQUDCcjs.PatternPlacement; exports.PatternTile = _chunkB46UQUDCcjs.PatternTile; exports.PsdError = _chunkS55JFWDAcjs.PsdError; exports.QUICK_MASK_TARGET = QUICK_MASK_TARGET; exports.REFINE_EDGE_CONTROLS = REFINE_EDGE_CONTROLS; exports.REFINE_EDIT_KINDS = _chunkUC3PWFM3cjs.REFINE_EDIT_KINDS; exports.REFINE_OUTPUTS = REFINE_OUTPUTS; exports.RETOUCH_CHOICES = RETOUCH_CHOICES; exports.RETOUCH_OPTION_CONTROLS = RETOUCH_OPTION_CONTROLS; exports.RETOUCH_SAMPLES = _chunkYF3YZZ6Gcjs.RETOUCH_SAMPLES; exports.RETOUCH_TOGGLES = RETOUCH_TOGGLES; exports.RETOUCH_TOOLS = RETOUCH_TOOLS; exports.RegionPixelSource = _chunkYF3YZZ6Gcjs.RegionPixelSource; exports.RetouchDabStroke = _chunkYF3YZZ6Gcjs.RetouchDabStroke; exports.SELECTION_MODES = _chunkSS53NNZOcjs.SELECTION_MODES; exports.SELECTION_MODE_LABELS = SELECTION_MODE_LABELS; exports.SELECTION_MODIFY_OPS = _chunkSS53NNZOcjs.SELECTION_MODIFY_OPS; exports.SELECTION_TOOLS = SELECTION_TOOLS; exports.SELECT_AND_MASK_TOOLS = SELECT_AND_MASK_TOOLS; exports.SELECT_AND_MASK_VIEWS = SELECT_AND_MASK_VIEWS; exports.SET_PLANES = _chunkKWNMBMKGcjs.SET_PLANES; exports.SHADOW_AMBIENT = _chunkOLNIPTB3cjs.SHADOW_AMBIENT; exports.SHAPE_KIND_LABELS = SHAPE_KIND_LABELS; exports.SHAPE_OPERATIONS = _chunkS55JFWDAcjs.SHAPE_OPERATIONS; exports.SHAPE_RENDER_MARGIN = _chunkS55JFWDAcjs.SHAPE_RENDER_MARGIN; exports.SLOT_BYTES = _chunkKWNMBMKGcjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkKWNMBMKGcjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkKWNMBMKGcjs.SLOT_SIDE; exports.SMART_RENDER_MARGIN = _chunkS55JFWDAcjs.SMART_RENDER_MARGIN; exports.SPOT_HEAL_TYPES = _chunkYF3YZZ6Gcjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkKWNMBMKGcjs.SRGB_TO_LINEAR; exports.STRIP = _chunkKWNMBMKGcjs.STRIP; exports.SUPPORTED_ADJUSTMENT_KEYS = _chunkS55JFWDAcjs.SUPPORTED_ADJUSTMENT_KEYS; exports.SelectAndMaskSession = SelectAndMaskSession; exports.SelectionGesture = SelectionGesture; exports.SelectionWorkerClient = _chunkUC3PWFM3cjs.SelectionWorkerClient; exports.ShapeDrawGesture = ShapeDrawGesture; exports.SmudgeTip = _chunkPQ3H2AANcjs.SmudgeTip; exports.StrokeCoverage = _chunkPQ3H2AANcjs.StrokeCoverage; exports.SurfaceDraft = _chunk474IQG74cjs.SurfaceDraft; exports.TEXT_ALIGNS = _chunkS55JFWDAcjs.TEXT_ALIGNS; exports.TEXT_ORIENTATIONS = _chunkS55JFWDAcjs.TEXT_ORIENTATIONS; exports.TEXT_RENDER_MARGIN = _chunkS55JFWDAcjs.TEXT_RENDER_MARGIN; exports.TEXT_STYLE_FIELDS = _chunkS55JFWDAcjs.TEXT_STYLE_FIELDS; exports.TILE = _chunk474IQG74cjs.TILE; exports.TILE_SHIFT = _chunk474IQG74cjs.TILE_SHIFT; exports.TINT_SCALE = _chunkS55JFWDAcjs.TINT_SCALE; exports.TIP_GRADIENT_STEPS = _chunkPQ3H2AANcjs.TIP_GRADIENT_STEPS; exports.TONE_LUT_SIZE = _chunkS55JFWDAcjs.TONE_LUT_SIZE; exports.TONE_RANGES = _chunkYF3YZZ6Gcjs.TONE_RANGES; exports.TONE_RANGE_PRESETS = TONE_RANGE_PRESETS; exports.TRANSFORM_ANCHORS = _chunkS55JFWDAcjs.TRANSFORM_ANCHORS; exports.TRANSFORM_ROTATE_HANDLE_OFFSET = TRANSFORM_ROTATE_HANDLE_OFFSET; exports.TextEditSession = TextEditSession; exports.TileMedium = _chunkPQ3H2AANcjs.TileMedium; exports.TilePixelSource = _chunkYF3YZZ6Gcjs.TilePixelSource; exports.TileableNoise = _chunkPQ3H2AANcjs.TileableNoise; exports.TiledSurface = _chunk474IQG74cjs.TiledSurface; exports.TransformTooLargeError = _chunkB46UQUDCcjs.TransformTooLargeError; exports.TransformedPixelSource = _chunkYF3YZZ6Gcjs.TransformedPixelSource; exports.TypeToolGesture = TypeToolGesture; exports.UNITS = _chunkUC3PWFM3cjs.UNITS; exports.U_MAX = _chunkKWNMBMKGcjs.U_MAX; exports.VIBRANCE_GREY = _chunkS55JFWDAcjs.VIBRANCE_GREY; exports.W9 = _chunkKWNMBMKGcjs.W9; exports.WARP_GRID_OPTIONS = WARP_GRID_OPTIONS; exports.WARP_STYLES = _chunkQAUIZPYIcjs.WARP_STYLES; exports.WARP_STYLE_LABELS = _chunkQAUIZPYIcjs.WARP_STYLE_LABELS; exports.WARP_STYLE_OPTIONS = WARP_STYLE_OPTIONS; exports.WET_FLOW_KINDS = _chunkKWNMBMKGcjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkKWNMBMKGcjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkKWNMBMKGcjs.WET_TILE; exports.WGSL_HALO = _chunkKWNMBMKGcjs.WGSL_HALO; exports.WGSL_SHADE = _chunkKWNMBMKGcjs.WGSL_SHADE; exports.WGSL_STEP = _chunkKWNMBMKGcjs.WGSL_STEP; exports.WORKING_SPACE_OPTIONS = WORKING_SPACE_OPTIONS; exports.WORK_PATH_NAME = WORK_PATH_NAME; exports.WORK_SIZE = _chunkUC3PWFM3cjs.WORK_SIZE; exports.WetGpuEngine = _chunkKWNMBMKGcjs.WetGpuEngine; exports.WetMedium = _chunkKWNMBMKGcjs.WetMedium; exports.WetWorkerPool = _chunkKWNMBMKGcjs.WetWorkerPool; exports.WetWorld = _chunkKWNMBMKGcjs.WetWorld; exports.WetWorldError = _chunkKWNMBMKGcjs.WetWorldError; exports.XYZ_D50_TO_SRGB = _chunkS55JFWDAcjs.XYZ_D50_TO_SRGB; exports.ZlibError = _chunkXFM3OCHUcjs.ZlibError; exports.activeAdjustmentLayers = _chunkS55JFWDAcjs.activeAdjustmentLayers; exports.activeEffectSmartFilters = _chunkS55JFWDAcjs.activeEffectSmartFilters; exports.activeLayerAfterRemoval = _chunkS55JFWDAcjs.activeLayerAfterRemoval; exports.activeSmartFilters = _chunkS55JFWDAcjs.activeSmartFilters; exports.addLayerEffect = _chunkS55JFWDAcjs.addLayerEffect; exports.addLayerFilter = _chunkS55JFWDAcjs.addLayerFilter; exports.addLayerOfKind = addLayerOfKind; exports.addPaintGradientStop = _chunkPQ3H2AANcjs.addPaintGradientStop; exports.addSmartFilter = _chunkS55JFWDAcjs.addSmartFilter; exports.addToHistogram = addToHistogram; exports.adjustmentKindLabel = _chunkS55JFWDAcjs.adjustmentKindLabel; exports.adjustmentLayersKey = _chunkS55JFWDAcjs.adjustmentLayersKey; exports.adjustmentNodeAsLayer = _chunkS55JFWDAcjs.adjustmentNodeAsLayer; exports.adjustmentNodeFromLegacy = _chunkS55JFWDAcjs.adjustmentNodeFromLegacy; exports.adler32 = _chunkXFM3OCHUcjs.adler32; exports.agentDragDraft = agentDragDraft; exports.anchorPoint = _chunkS55JFWDAcjs.anchorPoint; exports.annotationBlend = _chunkS55JFWDAcjs.annotationBlend; exports.annotationLayerFor = _chunkS55JFWDAcjs.annotationLayerFor; exports.annotationLayerName = _chunkS55JFWDAcjs.annotationLayerName; exports.annotationOfLayer = _chunkS55JFWDAcjs.annotationOfLayer; exports.annotationOfShape = _chunkS55JFWDAcjs.annotationOfShape; exports.annotationOfType = _chunkS55JFWDAcjs.annotationOfType; exports.applyAdjustmentLayers = _chunkS55JFWDAcjs.applyAdjustmentLayers; exports.applyAdjustmentLayersFloat = _chunkS55JFWDAcjs.applyAdjustmentLayersFloat; exports.applyAdjustments = _chunkS55JFWDAcjs.applyAdjustments; exports.applyBoxBlur = _chunkS55JFWDAcjs.applyBoxBlur; exports.applyBoxBlurFloat = _chunkS55JFWDAcjs.applyBoxBlurFloat; exports.applyDepthMask = _chunkS55JFWDAcjs.applyDepthMask; exports.applyEdgeUnmix = _chunkS55JFWDAcjs.applyEdgeUnmix; exports.applyHomography = _chunkQT26RHKKcjs.applyHomography; exports.applyImageProjectionToContext = _chunkS55JFWDAcjs.applyImageProjectionToContext; exports.applyLegacyAdjustments = _chunkS55JFWDAcjs.applyLegacyAdjustments; exports.applyLegacyFloat = _chunkS55JFWDAcjs.applyLegacyFloat; exports.applyMatrix3 = _chunkS55JFWDAcjs.applyMatrix3; exports.applyOutputStage = applyOutputStage; exports.applyParams = _chunkS55JFWDAcjs.applyParams; exports.applyProcess2Adjustments = _chunkS55JFWDAcjs.applyProcess2Adjustments; exports.applyProcess2Float = _chunkS55JFWDAcjs.applyProcess2Float; exports.applyRefineEdits = _chunkUC3PWFM3cjs.applyRefineEdits; exports.applyRegionBlur = applyRegionBlur; exports.applyRegionMosaic = applyRegionMosaic; exports.applyRetouchToTile = _chunkYF3YZZ6Gcjs.applyRetouchToTile; exports.applyShapeOptions = applyShapeOptions; exports.applySmartFilters = _chunkS55JFWDAcjs.applySmartFilters; exports.applyStrokeToDeepTile = _chunkPQ3H2AANcjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunkPQ3H2AANcjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunkYF3YZZ6Gcjs.applyToneToDeepTile; exports.backgroundLayer = _chunkS55JFWDAcjs.backgroundLayer; exports.base64ToBytes = _chunkOLNIPTB3cjs.base64ToBytes; exports.baseProjection = baseProjection; exports.bestOffset = _chunkMQDIP4CFcjs.bestOffset; exports.blackWhiteGray = _chunkS55JFWDAcjs.blackWhiteGray; exports.blendChannel = _chunkOLNIPTB3cjs.blendChannel; exports.blendImageData = _chunkOLNIPTB3cjs.blendImageData; exports.blendLum = _chunkOLNIPTB3cjs.blendLum; exports.blendPixel = _chunkOLNIPTB3cjs.blendPixel; exports.blendRadius = _chunkPQ3H2AANcjs.blendRadius; exports.blendRgb = _chunkOLNIPTB3cjs.blendRgb; exports.blendTile = _chunkB46UQUDCcjs.blendTile; exports.blenderDab = _chunkPQ3H2AANcjs.blenderDab; exports.blurFilter = _chunkS55JFWDAcjs.blurFilter; exports.borderCoverage = _chunkSS53NNZOcjs.borderCoverage; exports.boxBlur = _chunkUC3PWFM3cjs.boxBlur; exports.boxBlurPixels = _chunkYF3YZZ6Gcjs.boxBlurPixels; exports.boxFrameHit = boxFrameHit; exports.boxFrameOverlay = boxFrameOverlay; exports.boxMean = _chunkSS53NNZOcjs.boxMean; exports.boxPointOf = _chunkS55JFWDAcjs.boxPointOf; exports.boxQuad = _chunkQT26RHKKcjs.boxQuad; exports.boxToCurvePoint = boxToCurvePoint; exports.bradfordAdaptation = _chunkS55JFWDAcjs.bradfordAdaptation; exports.brushStrokeMask = _chunkUC3PWFM3cjs.brushStrokeMask; exports.brushstrokeDataUrl = _chunkPQ3H2AANcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunkPQ3H2AANcjs.brushstrokeKey; exports.brushstrokeSamples = _chunkPQ3H2AANcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkYQGCPL5Xcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunkPQ3H2AANcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunkPQ3H2AANcjs.brushstrokeToCanvas; exports.buildLayerMaskPlanes = _chunkS55JFWDAcjs.buildLayerMaskPlanes; exports.buildToneLut = _chunkS55JFWDAcjs.buildToneLut; exports.builtinPattern = _chunkB46UQUDCcjs.builtinPattern; exports.builtinPatternIds = _chunkB46UQUDCcjs.builtinPatternIds; exports.bytesToBase64 = _chunkOLNIPTB3cjs.bytesToBase64; exports.calculateCropDrag = _chunkS55JFWDAcjs.calculateCropDrag; exports.canShareMemory = _chunkKWNMBMKGcjs.canShareMemory; exports.canvasCompositeOperation = _chunkOLNIPTB3cjs.canvasCompositeOperation; exports.canvasToImagePoint = _chunkS55JFWDAcjs.canvasToImagePoint; exports.caretAt = _chunkQAUIZPYIcjs.caretAt; exports.changedTiles = _chunkB46UQUDCcjs.changedTiles; exports.channelThumbnail = channelThumbnail; exports.checkEffectAnimation = checkEffectAnimation; exports.checkEffectTime = checkEffectTime; exports.checkImageEffectPlace = checkImageEffectPlace; exports.clampControlValue = clampControlValue; exports.clampCropToImage = _chunkS55JFWDAcjs.clampCropToImage; exports.cleanMixer = _chunkPQ3H2AANcjs.cleanMixer; exports.cloneSamplePoint = _chunkYF3YZZ6Gcjs.cloneSamplePoint; exports.cloneSourceLabel = cloneSourceLabel; exports.cloneTransformView = cloneTransformView; exports.collectTiles = _chunk474IQG74cjs.collectTiles; exports.colorBalanceChannel = _chunkS55JFWDAcjs.colorBalanceChannel; exports.colorModePlanes = colorModePlanes; exports.colorModePlanes16 = colorModePlanes16; exports.colorPanelView = colorPanelView; exports.colorRange = colorRange; exports.colorRangePreset = colorRangePreset; exports.combineSelections = _chunkSS53NNZOcjs.combineSelections; exports.compileAdjustmentLayer = _chunkS55JFWDAcjs.compileAdjustmentLayer; exports.componentPath = _chunkS55JFWDAcjs.componentPath; exports.componentsCoverage = _chunkS55JFWDAcjs.componentsCoverage; exports.compositeDeep = _chunkS55JFWDAcjs.compositeDeep; exports.compositeSurfaceOver = _chunkB46UQUDCcjs.compositeSurfaceOver; exports.computeHistogram = computeHistogram; exports.computeSelectionBounds = _chunkSS53NNZOcjs.computeSelectionBounds; exports.contentAwareFill = _chunkMQDIP4CFcjs.contentAwareFill; exports.contentBounds = _chunk474IQG74cjs.contentBounds; exports.contentsBox = _chunkS55JFWDAcjs.contentsBox; exports.contentsSurface = _chunkS55JFWDAcjs.contentsSurface; exports.contractCoverage = _chunkSS53NNZOcjs.contractCoverage; exports.controlPosition = controlPosition; exports.controlTrackBackground = controlTrackBackground; exports.convertColorFields = convertColorFields; exports.convertHex = convertHex; exports.convertSurfaceColors = convertSurfaceColors; exports.convertSurfaceDepth = _chunkOLNIPTB3cjs.convertSurfaceDepth; exports.convertToSmartObject = _chunkS55JFWDAcjs.convertToSmartObject; exports.copySmartObject = _chunkS55JFWDAcjs.copySmartObject; exports.cornersFromMatrix = _chunkS55JFWDAcjs.cornersFromMatrix; exports.coverageTileCoord = _chunkPQ3H2AANcjs.coverageTileCoord; exports.coverageToByte = _chunkSS53NNZOcjs.coverageToByte; exports.coveringRect = coveringRect; exports.createAdjustmentLayer = _chunkS55JFWDAcjs.createAdjustmentLayer; exports.createBlenderScratch = _chunkPQ3H2AANcjs.createBlenderScratch; exports.createCanvasTextShaper = _chunkQAUIZPYIcjs.createCanvasTextShaper; exports.createGradientSampler = createGradientSampler; exports.createImageCaptureSurface = createImageCaptureSurface; exports.createImageColorTools = createImageColorTools; exports.createImageEditTools = createImageEditTools; exports.createImageEditorDocument = createImageEditorDocument; exports.createImageEditorToolProvider = createImageEditorToolProvider; exports.createImageEffectTools = createImageEffectTools; exports.createImageEffectsToolProvider = createImageEffectsToolProvider; exports.createImageLayerTools = createImageLayerTools; exports.createImagePaintTools = createImagePaintTools; exports.createImagePlaybackLocator = createImagePlaybackLocator; exports.createImagePsdTools = createImagePsdTools; exports.createImageRetouchTools = createImageRetouchTools; exports.createImageSegmentationToolProvider = createImageSegmentationToolProvider; exports.createImageSelectionTools = createImageSelectionTools; exports.createImageShapeTools = createImageShapeTools; exports.createImageSmartObjectTools = createImageSmartObjectTools; exports.createImageSubjectSelectionTool = createImageSubjectSelectionTool; exports.createImageTransformTools = createImageTransformTools; exports.createImageTypeTools = createImageTypeTools; exports.createMetricTextShaper = _chunkQAUIZPYIcjs.createMetricTextShaper; exports.createOutlineTextShaper = _chunkQAUIZPYIcjs.createOutlineTextShaper; exports.createPigment = _chunkOLNIPTB3cjs.createPigment; exports.createPigmentTools = _chunkKWNMBMKGcjs.createPigmentTools; exports.createSelectionMask = _chunkSS53NNZOcjs.createSelectionMask; exports.createShapeLayer = _chunkS55JFWDAcjs.createShapeLayer; exports.createTypeLayer = _chunkS55JFWDAcjs.createTypeLayer; exports.createWetGpuEngine = _chunkKWNMBMKGcjs.createWetGpuEngine; exports.cssFont = _chunkQAUIZPYIcjs.cssFont; exports.cssFontFamily = _chunkQAUIZPYIcjs.cssFontFamily; exports.curveLut = _chunkB46UQUDCcjs.curveLut; exports.curveLutFromLevels = _chunkS55JFWDAcjs.curveLutFromLevels; exports.curvePointToBox = curvePointToBox; exports.curveSvgPath = curveSvgPath; exports.dabCoverage = _chunkPQ3H2AANcjs.dabCoverage; exports.dabRect = _chunkPQ3H2AANcjs.dabRect; exports.decodeDeepSurface = _chunkS55JFWDAcjs.decodeDeepSurface; exports.decodeLayerChannel = _chunkS55JFWDAcjs.decodeLayerChannel; exports.decodeLayerMask = _chunkS55JFWDAcjs.decodeLayerMask; exports.decodeMergedImage = _chunkS55JFWDAcjs.decodeMergedImage; exports.decodePlanes = _chunkS55JFWDAcjs.decodePlanes; exports.decodePng = _chunkOLNIPTB3cjs.decodePng; exports.decodePngDataUrl = _chunkS55JFWDAcjs.decodePngDataUrl; exports.decodeSelectionRle = _chunkSS53NNZOcjs.decodeSelectionRle; exports.decontaminateColors = _chunkSS53NNZOcjs.decontaminateColors; exports.deepBytes = _chunkOLNIPTB3cjs.deepBytes; exports.deepTile = _chunkOLNIPTB3cjs.deepTile; exports.defaultActiveLayerId = _chunkS55JFWDAcjs.defaultActiveLayerId; exports.defaultAdjustmentParams = _chunkS55JFWDAcjs.defaultAdjustmentParams; exports.defaultEffectGradient = _chunkB46UQUDCcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkB46UQUDCcjs.defaultLayerEffect; exports.defaultShapeName = _chunkS55JFWDAcjs.defaultShapeName; exports.deflate = _chunkXFM3OCHUcjs.deflate; exports.deflateRaw = _chunkXFM3OCHUcjs.deflateRaw; exports.depthMaskAlpha = _chunkS55JFWDAcjs.depthMaskAlpha; exports.depthOf = _chunkOLNIPTB3cjs.depthOf; exports.depthRasterMask = _chunkS55JFWDAcjs.depthRasterMask; exports.describeChannel = describeChannel; exports.describeLayer = describeLayer; exports.describeLayerEffects = describeLayerEffects; exports.describeSelection = describeSelection; exports.describeTransform = _chunkS55JFWDAcjs.describeTransform; exports.deserializeChannels = deserializeChannels; exports.deserializeColorMode = deserializeColorMode; exports.deserializeColorProfile = deserializeColorProfile; exports.deserializeEffects = _chunkS55JFWDAcjs.deserializeEffects; exports.deserializeLayer = _chunkS55JFWDAcjs.deserializeLayer; exports.deserializeLayers = _chunkS55JFWDAcjs.deserializeLayers; exports.deserializeMask = _chunkUC3PWFM3cjs.deserializeMask; exports.deserializePatterns = _chunkS55JFWDAcjs.deserializePatterns; exports.deserializeSelection = _chunkSS53NNZOcjs.deserializeSelection; exports.despillEdge = _chunkS55JFWDAcjs.despillEdge; exports.developFilter = _chunkS55JFWDAcjs.developFilter; exports.developFromAdjustments = _chunkS55JFWDAcjs.developFromAdjustments; exports.developTarget = _chunkS55JFWDAcjs.developTarget; exports.dexp = _chunkKWNMBMKGcjs.dexp; exports.dilateMask = _chunkMQDIP4CFcjs.dilateMask; exports.displayTransform = displayTransform; exports.distanceTransform = _chunkSS53NNZOcjs.distanceTransform; exports.dlog = _chunkKWNMBMKGcjs.dlog; exports.documentContents = _chunkS55JFWDAcjs.documentContents; exports.documentProfile = documentProfile; exports.dodgeBurn = _chunkYF3YZZ6Gcjs.dodgeBurn; exports.dodgeBurnCurve = _chunkYF3YZZ6Gcjs.dodgeBurnCurve; exports.downloadMaskImage = downloadMaskImage; exports.downloadPsd = downloadPsd; exports.dpow = _chunkKWNMBMKGcjs.dpow; exports.dragWarpMeshPoint = _chunkQAUIZPYIcjs.dragWarpMeshPoint; exports.dropPlacement = dropPlacement; exports.dropZone = dropZone; exports.dsincos = _chunkKWNMBMKGcjs.dsincos; exports.duplicateLayer = _chunkS55JFWDAcjs.duplicateLayer; exports.edgeBits = _chunkKWNMBMKGcjs.edgeBits; exports.edgeWidth = _chunkSS53NNZOcjs.edgeWidth; exports.effectColorHex = _chunkB46UQUDCcjs.effectColorHex; exports.effectControlChange = effectControlChange; exports.effectLayerTiming = effectLayerTiming; exports.effectPixelsToSurface = effectPixelsToSurface; exports.effectReach = _chunkB46UQUDCcjs.effectReach; exports.effectiveLayerMask = _chunkS55JFWDAcjs.effectiveLayerMask; exports.effectiveProof = effectiveProof; exports.effectsFingerprint = _chunkB46UQUDCcjs.effectsFingerprint; exports.effectsMargin = _chunkB46UQUDCcjs.effectsMargin; exports.effectsScale = _chunkB46UQUDCcjs.effectsScale; exports.ellipsePoints = _chunkUC3PWFM3cjs.ellipsePoints; exports.ellipseSelection = _chunkUC3PWFM3cjs.ellipseSelection; exports.emptyHistogram = emptyHistogram; exports.emptySurface = _chunk474IQG74cjs.emptySurface; exports.encodeDeepSurface = _chunkS55JFWDAcjs.encodeDeepSurface; exports.encodePng = _chunkOLNIPTB3cjs.encodePng; exports.encodeRle = _chunkS55JFWDAcjs.encodeRle; exports.encodeSelectionRle = _chunkSS53NNZOcjs.encodeSelectionRle; exports.encodeSurface = _chunkS55JFWDAcjs.encodeSurface; exports.evalWarpMesh = _chunkQAUIZPYIcjs.evalWarpMesh; exports.evaluateAdjustmentLayers = _chunkS55JFWDAcjs.evaluateAdjustmentLayers; exports.exchangeRates = _chunkPQ3H2AANcjs.exchangeRates; exports.expNeg = _chunkKWNMBMKGcjs.expNeg; exports.expandCoverage = _chunkSS53NNZOcjs.expandCoverage; exports.exportPsd = _chunkS55JFWDAcjs.exportPsd; exports.extractNormalizedLayerItems = extractNormalizedLayerItems; exports.featherCoverage = _chunkSS53NNZOcjs.featherCoverage; exports.fillRect = _chunk474IQG74cjs.fillRect; exports.filmPixel = _chunkKWNMBMKGcjs.filmPixel; exports.filmReflectance = _chunkKWNMBMKGcjs.filmReflectance; exports.filterMaskCoverage = _chunkS55JFWDAcjs.filterMaskCoverage; exports.findAdjustmentControl = findAdjustmentControl; exports.findLayer = _chunkB46UQUDCcjs.findLayer; exports.findLayerControl = findLayerControl; exports.findSky = _chunkUC3PWFM3cjs.findSky; exports.findSubject = _chunkUC3PWFM3cjs.findSubject; exports.findWebGpu = _chunkKWNMBMKGcjs.findWebGpu; exports.finishTile = _chunk474IQG74cjs.finishTile; exports.fitParagraphRuns = _chunkQAUIZPYIcjs.fitParagraphRuns; exports.fitRuns = _chunkQAUIZPYIcjs.fitRuns; exports.flattenLayers = _chunkB46UQUDCcjs.flattenLayers; exports.flattenPath = _chunkS55JFWDAcjs.flattenPath; exports.flipCorners = _chunkS55JFWDAcjs.flipCorners; exports.flowField = _chunkKWNMBMKGcjs.flowField; exports.focusArea = _chunkUC3PWFM3cjs.focusArea; exports.followLayerMove = _chunkS55JFWDAcjs.followLayerMove; exports.fontOf = _chunkQAUIZPYIcjs.fontOf; exports.forgetSelectAndMaskSettings = forgetSelectAndMaskSettings; exports.formatControlValue = formatControlValue; exports.fullSelection = _chunkSS53NNZOcjs.fullSelection; exports.gaussianBlur = _chunkK6PXS6DOcjs.gaussianBlur; exports.geometryHomography = _chunkS55JFWDAcjs.geometryHomography; exports.getAnnotationBounds = _chunkS55JFWDAcjs.getAnnotationBounds; exports.getControlPath = getControlPath; exports.getCropCursor = _chunkS55JFWDAcjs.getCropCursor; exports.getRotatedSize = _chunkS55JFWDAcjs.getRotatedSize; exports.getViewportMetrics = _chunkS55JFWDAcjs.getViewportMetrics; exports.getViewportProjection = _chunkS55JFWDAcjs.getViewportProjection; exports.globalImageCache = globalImageCache; exports.grabCutLabels = _chunkUC3PWFM3cjs.grabCutLabels; exports.gradientDabColor = _chunkPQ3H2AANcjs.gradientDabColor; exports.grainCatch = _chunkPQ3H2AANcjs.grainCatch; exports.grainHeights = _chunkPQ3H2AANcjs.grainHeights; exports.greyMorphology = _chunkSS53NNZOcjs.greyMorphology; exports.groupLayers = _chunkS55JFWDAcjs.groupLayers; exports.growSelection = growSelection; exports.guidePlanes = _chunkSS53NNZOcjs.guidePlanes; exports.guidedFilterColor = _chunkSS53NNZOcjs.guidedFilterColor; exports.handleMaskViewKey = handleMaskViewKey; exports.handlePaintShortcut = handlePaintShortcut; exports.handleQuickMaskKey = handleQuickMaskKey; exports.handleSelectionShortcut = handleSelectionShortcut; exports.hasActiveEffects = _chunkB46UQUDCcjs.hasActiveEffects; exports.hasEdgeUnmix = _chunkS55JFWDAcjs.hasEdgeUnmix; exports.hasLayersBelow = hasLayersBelow; exports.hasResampledLegacyMask = _chunkS55JFWDAcjs.hasResampledLegacyMask; exports.hasSoftBand = _chunkS55JFWDAcjs.hasSoftBand; exports.hasSurface = _chunkS55JFWDAcjs.hasSurface; exports.hasWarp = _chunkS55JFWDAcjs.hasWarp; exports.hash2 = _chunkPQ3H2AANcjs.hash2; exports.hashMaskContent = _chunkSS53NNZOcjs.hashMaskContent; exports.hashNoise = _chunkB46UQUDCcjs.hashNoise; exports.healPixels = _chunkYF3YZZ6Gcjs.healPixels; exports.hexToPaintRgb = _chunkPQ3H2AANcjs.hexToPaintRgb; exports.hexToRgb = _chunkS55JFWDAcjs.hexToRgb; exports.histogramPath = histogramPath; exports.hitTestAnnotation = _chunkS55JFWDAcjs.hitTestAnnotation; exports.hitTestCrop = _chunkS55JFWDAcjs.hitTestCrop; exports.hitTestCurvePoint = hitTestCurvePoint; exports.homographyFromAffine = _chunkQT26RHKKcjs.homographyFromAffine; exports.homographyFromPoints = _chunkQT26RHKKcjs.homographyFromPoints; exports.hslToRgb = _chunkS55JFWDAcjs.hslToRgb; exports.hueRange = hueRange; exports.hueRangeTables = _chunkS55JFWDAcjs.hueRangeTables; exports.hueRangeWeight = _chunkS55JFWDAcjs.hueRangeWeight; exports.hueSaturation = _chunkS55JFWDAcjs.hueSaturation; exports.identityCurve = _chunkS55JFWDAcjs.identityCurve; exports.identityLevels = _chunkS55JFWDAcjs.identityLevels; exports.identityTransform = _chunkS55JFWDAcjs.identityTransform; exports.identityWarpMesh = _chunkQAUIZPYIcjs.identityWarpMesh; exports.imageEditorStateMigrations = imageEditorStateMigrations; exports.imageLayerAppliedEffects = imageLayerAppliedEffects; exports.imagePanelTool = imagePanelTool; exports.imagePlaybackPanel = imagePlaybackPanel; exports.imageToCanvasPoint = _chunkS55JFWDAcjs.imageToCanvasPoint; exports.imageToolCanvasMode = imageToolCanvasMode; exports.imageToolForShortcut = imageToolForShortcut; exports.imageToolGroup = imageToolGroup; exports.imageToolLabel = imageToolLabel; exports.imageToolPanel = imageToolPanel; exports.importPsd = _chunkS55JFWDAcjs.importPsd; exports.inflate = _chunkXFM3OCHUcjs.inflate; exports.inflateRaw = _chunkXFM3OCHUcjs.inflateRaw; exports.insertCurvePoint = insertCurvePoint; exports.insertLayer = _chunkB46UQUDCcjs.insertLayer; exports.inspectMaskEdge = inspectMaskEdge; exports.instancesOf = _chunkS55JFWDAcjs.instancesOf; exports.invertHomography = _chunkQT26RHKKcjs.invertHomography; exports.invertMatrix3 = _chunkS55JFWDAcjs.invertMatrix3; exports.invertSelection = _chunkSS53NNZOcjs.invertSelection; exports.isActiveFilter = _chunkS55JFWDAcjs.isActiveFilter; exports.isActiveVectorMask = _chunkS55JFWDAcjs.isActiveVectorMask; exports.isAdjustmentKind = _chunkS55JFWDAcjs.isAdjustmentKind; exports.isBitDepth = _chunkOLNIPTB3cjs.isBitDepth; exports.isBlendMode = _chunkOLNIPTB3cjs.isBlendMode; exports.isBrushstrokeBrush = _chunkPQ3H2AANcjs.isBrushstrokeBrush; exports.isColorRangePreset = isColorRangePreset; exports.isContentsDecoded = _chunkS55JFWDAcjs.isContentsDecoded; exports.isDefaultDepthMask = _chunkS55JFWDAcjs.isDefaultDepthMask; exports.isGradientPaint = _chunkPQ3H2AANcjs.isGradientPaint; exports.isIdentityCloneTransform = _chunkYF3YZZ6Gcjs.isIdentityCloneTransform; exports.isIdentityTransform = _chunkS55JFWDAcjs.isIdentityTransform; exports.isInterpolation = _chunkB46UQUDCcjs.isInterpolation; exports.isLayerEffectKind = _chunkB46UQUDCcjs.isLayerEffectKind; exports.isLayerLocked = _chunkB46UQUDCcjs.isLayerLocked; exports.isLegacyShape = _chunkS55JFWDAcjs.isLegacyShape; exports.isPaintTool = isPaintTool; exports.isPaintableLayer = _chunkS55JFWDAcjs.isPaintableLayer; exports.isPainterlyBlendMode = _chunkOLNIPTB3cjs.isPainterlyBlendMode; exports.isPathEditTool = isPathEditTool; exports.isPng = _chunkOLNIPTB3cjs.isPng; exports.isQuarterTurn = isQuarterTurn; exports.isQuarterTurnSwapped = _chunkS55JFWDAcjs.isQuarterTurnSwapped; exports.isRenderedLayer = _chunkS55JFWDAcjs.isRenderedLayer; exports.isRetouchPaintTool = isRetouchPaintTool; exports.isRetouchTool = isRetouchTool; exports.isSelectionEmpty = _chunkSS53NNZOcjs.isSelectionEmpty; exports.isSelectionMode = _chunkSS53NNZOcjs.isSelectionMode; exports.isSeparableBlendMode = _chunkOLNIPTB3cjs.isSeparableBlendMode; exports.isSmartSurfaceIncomplete = _chunkS55JFWDAcjs.isSmartSurfaceIncomplete; exports.isSpatialFilter = _chunkS55JFWDAcjs.isSpatialFilter; exports.isSrgb = isSrgb; exports.isTransformAnchor = _chunkS55JFWDAcjs.isTransformAnchor; exports.isValidWarp = _chunkS55JFWDAcjs.isValidWarp; exports.keepDeepSamples = _chunkOLNIPTB3cjs.keepDeepSamples; exports.keepMainPieces = _chunkUC3PWFM3cjs.keepMainPieces; exports.kelvinToTemperature = _chunkS55JFWDAcjs.kelvinToTemperature; exports.keysWeight = _chunkB46UQUDCcjs.keysWeight; exports.latticeViscosity = _chunkKWNMBMKGcjs.latticeViscosity; exports.layerBadge = layerBadge; exports.layerEffectControls = layerEffectControls; exports.layerEffectFields = _chunkB46UQUDCcjs.layerEffectFields; exports.layerEffectLabel = _chunkB46UQUDCcjs.layerEffectLabel; exports.layerEffectsBadge = layerEffectsBadge; exports.layerEffectsOf = _chunkS55JFWDAcjs.layerEffectsOf; exports.layerEffectsPanel = layerEffectsPanel; exports.layerHasThumbnail = layerHasThumbnail; exports.layerLabel = layerLabel; exports.layerMaskCoverage = _chunkS55JFWDAcjs.layerMaskCoverage; exports.layerMaskFromSelection = _chunkS55JFWDAcjs.layerMaskFromSelection; exports.layerMaskKey = _chunkS55JFWDAcjs.layerMaskKey; exports.layerMaskSelection = _chunkS55JFWDAcjs.layerMaskSelection; exports.layerMenu = layerMenu; exports.layerName = _chunkS55JFWDAcjs.layerName; exports.layerPanelRows = layerPanelRows; exports.layerPanels = layerPanels; exports.layerThumbnailClick = layerThumbnailClick; exports.layerTree = _chunkS55JFWDAcjs.layerTree; exports.layerTypeLabel = _chunkS55JFWDAcjs.layerTypeLabel; exports.layerWarning = layerWarning; exports.layersFromLegacy = _chunkS55JFWDAcjs.layersFromLegacy; exports.layoutText = _chunkQAUIZPYIcjs.layoutText; exports.legacyAdjustmentLayer = _chunkS55JFWDAcjs.legacyAdjustmentLayer; exports.legacyMaskOf = _chunkS55JFWDAcjs.legacyMaskOf; exports.legacyView = _chunkS55JFWDAcjs.legacyView; exports.lerpPigment = _chunkOLNIPTB3cjs.lerpPigment; exports.lerpPigmentInto = _chunkOLNIPTB3cjs.lerpPigmentInto; exports.levelsValue = _chunkS55JFWDAcjs.levelsValue; exports.linearSrgbToXy = _chunkS55JFWDAcjs.linearSrgbToXy; exports.linearToSrgb = _chunkS55JFWDAcjs.linearToSrgb; exports.linearToSrgb8 = _chunkKWNMBMKGcjs.linearToSrgb8; exports.liveComponent = _chunkS55JFWDAcjs.liveComponent; exports.liveShapeForDrag = liveShapeForDrag; exports.liveShapeSubpaths = _chunkS55JFWDAcjs.liveShapeSubpaths; exports.liveWire = liveWire; exports.loadImageEditorDocument = loadImageEditorDocument; exports.loadMixer = _chunkPQ3H2AANcjs.loadMixer; exports.loadOpenTypeFont = _chunkLCCMOWR7cjs.loadOpenTypeFont; exports.loadWetKernel = _chunkKWNMBMKGcjs.loadWetKernel; exports.luma = _chunkYF3YZZ6Gcjs.luma; exports.magicWand = magicWand; exports.magneticAnchorSpacing = magneticAnchorSpacing; exports.mapCropHandle = _chunkS55JFWDAcjs.mapCropHandle; exports.mapLayer = _chunkB46UQUDCcjs.mapLayer; exports.mapSubpaths = _chunkS55JFWDAcjs.mapSubpaths; exports.maskBounds = _chunkMQDIP4CFcjs.maskBounds; exports.maskCoverageOverCanvas = _chunkS55JFWDAcjs.maskCoverageOverCanvas; exports.maskFileName = maskFileName; exports.maskNameFromFile = maskNameFromFile; exports.maskSummary = maskSummary; exports.maskThumbnailClick = maskThumbnailClick; exports.matrixFromCorners = _chunkS55JFWDAcjs.matrixFromCorners; exports.matrixFromParams = _chunkS55JFWDAcjs.matrixFromParams; exports.measureCanvasViewport = measureCanvasViewport; exports.membraneFill = _chunkMQDIP4CFcjs.membraneFill; exports.mergeLayerEffect = _chunkB46UQUDCcjs.mergeLayerEffect; exports.mergeShapeComponents = _chunkS55JFWDAcjs.mergeShapeComponents; exports.migrateSerializedImageEditorState = migrateSerializedImageEditorState; exports.migrateToLayeredState = migrateToLayeredState; exports.mix32 = _chunkPQ3H2AANcjs.mix32; exports.mixPigment8 = _chunkOLNIPTB3cjs.mixPigment8; exports.mixPigmentRgb = _chunkOLNIPTB3cjs.mixPigmentRgb; exports.mixPigments = _chunkOLNIPTB3cjs.mixPigments; exports.mixerLoadResult = mixerLoadResult; exports.mixerRates = _chunkPQ3H2AANcjs.mixerRates; exports.modifySelection = _chunkSS53NNZOcjs.modifySelection; exports.moveCurvePoint = moveCurvePoint; exports.moveLayer = _chunkS55JFWDAcjs.moveLayer; exports.moveSmartFilter = _chunkS55JFWDAcjs.moveSmartFilter; exports.mulMatrix3 = _chunkS55JFWDAcjs.mulMatrix3; exports.needsLegacyBase = needsLegacyBase; exports.neutralHueRange = _chunkS55JFWDAcjs.neutralHueRange; exports.newContentsId = _chunkS55JFWDAcjs.newContentsId; exports.newEffectId = _chunkB46UQUDCcjs.newEffectId; exports.newLayerId = _chunkS55JFWDAcjs.newLayerId; exports.newLayerOptions = newLayerOptions; exports.newPathId = newPathId; exports.normalizeAdjustmentLayer = _chunkS55JFWDAcjs.normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = _chunkS55JFWDAcjs.normalizeAdjustmentLayers; exports.normalizeAngle = _chunkS55JFWDAcjs.normalizeAngle; exports.normalizeBlendMode = _chunkOLNIPTB3cjs.normalizeBlendMode; exports.normalizeBlender = _chunkPQ3H2AANcjs.normalizeBlender; exports.normalizeBrush = _chunkPQ3H2AANcjs.normalizeBrush; exports.normalizeFilter = _chunkS55JFWDAcjs.normalizeFilter; exports.normalizeFlow = _chunkKWNMBMKGcjs.normalizeFlow; exports.normalizeHexColor = _chunkPQ3H2AANcjs.normalizeHexColor; exports.normalizeLayerEffects = _chunkB46UQUDCcjs.normalizeLayerEffects; exports.normalizeLayerMask = _chunkS55JFWDAcjs.normalizeLayerMask; exports.normalizeLiveShape = _chunkS55JFWDAcjs.normalizeLiveShape; exports.normalizeMixer = _chunkPQ3H2AANcjs.normalizeMixer; exports.normalizePlacement = _chunkS55JFWDAcjs.normalizePlacement; exports.normalizeProcessVersion = _chunkS55JFWDAcjs.normalizeProcessVersion; exports.normalizeRect = _chunkUC3PWFM3cjs.normalizeRect; exports.normalizeRefineEdgeParams = _chunkSS53NNZOcjs.normalizeRefineEdgeParams; exports.normalizeRetouch = _chunkYF3YZZ6Gcjs.normalizeRetouch; exports.normalizeShapePaint = _chunkS55JFWDAcjs.normalizeShapePaint; exports.normalizeShapeStroke = _chunkS55JFWDAcjs.normalizeShapeStroke; exports.normalizeSmartFilter = _chunkS55JFWDAcjs.normalizeSmartFilter; exports.normalizeSmudge = _chunkPQ3H2AANcjs.normalizeSmudge; exports.normalizeStoredAdjustments = normalizeStoredAdjustments; exports.normalizeSubpaths = _chunkS55JFWDAcjs.normalizeSubpaths; exports.normalizeText = _chunkS55JFWDAcjs.normalizeText; exports.normalizeTilt = _chunkKWNMBMKGcjs.normalizeTilt; exports.normalizeWetParams = _chunkKWNMBMKGcjs.normalizeWetParams; exports.offsetLayer = _chunkS55JFWDAcjs.offsetLayer; exports.offsetShape = _chunkS55JFWDAcjs.offsetShape; exports.offsetSmartObject = _chunkS55JFWDAcjs.offsetSmartObject; exports.offsetVectorMask = _chunkS55JFWDAcjs.offsetVectorMask; exports.openMaskFile = openMaskFile; exports.openPsdFile = openPsdFile; exports.otsuThreshold = _chunkUC3PWFM3cjs.otsuThreshold; exports.packRgba = _chunk474IQG74cjs.packRgba; exports.packWetParams = _chunkKWNMBMKGcjs.packWetParams; exports.paintGradientMappingFor = _chunkPQ3H2AANcjs.paintGradientMappingFor; exports.paintPathStroke = _chunkPQ3H2AANcjs.paintPathStroke; exports.paintSourceColor = _chunkPQ3H2AANcjs.paintSourceColor; exports.paintSourceCss = _chunkPQ3H2AANcjs.paintSourceCss; exports.paragraphRanges = _chunkQAUIZPYIcjs.paragraphRanges; exports.parseAdjustmentBlock = _chunkS55JFWDAcjs.parseAdjustmentBlock; exports.parseBlend = _chunkS55JFWDAcjs.parseBlend; exports.parseColor = parseColor; exports.parseCssColor = _chunkA2IS7EHEcjs.parseCssColor; exports.parseDataUrl = _chunkOLNIPTB3cjs.parseDataUrl; exports.parseEffectColor = _chunkB46UQUDCcjs.parseEffectColor; exports.parseLfx2 = _chunkS55JFWDAcjs.parseLfx2; exports.parseLrfx = _chunkS55JFWDAcjs.parseLrfx; exports.parseOpenTypeFont = _chunkLCCMOWR7cjs.parseOpenTypeFont; exports.parsePaintSource = _chunkPQ3H2AANcjs.parsePaintSource; exports.parsePatternBlock = _chunkS55JFWDAcjs.parsePatternBlock; exports.parseSelectionMode = _chunkSS53NNZOcjs.parseSelectionMode; exports.parseVersionedDescriptor = _chunkS55JFWDAcjs.parseVersionedDescriptor; exports.patchParagraphStyle = _chunkS55JFWDAcjs.patchParagraphStyle; exports.patchTextStyle = _chunkS55JFWDAcjs.patchTextStyle; exports.pathAnchorCount = pathAnchorCount; exports.pathBounds = pathBounds; exports.pathStrokeCoverage = _chunkPQ3H2AANcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunkPQ3H2AANcjs.pathStrokeDabs; exports.pathSvgData = pathSvgData; exports.pathToSelection = pathToSelection; exports.perDabStrength = _chunkYF3YZZ6Gcjs.perDabStrength; exports.photoFilterMatrix = _chunkS55JFWDAcjs.photoFilterMatrix; exports.pigment8 = _chunkOLNIPTB3cjs.pigment8; exports.pigmentColor = _chunkKWNMBMKGcjs.pigmentColor; exports.pigmentOf = _chunkKWNMBMKGcjs.pigmentOf; exports.pixelLayerBounds = _chunkS55JFWDAcjs.pixelLayerBounds; exports.pixelLayers = _chunkS55JFWDAcjs.pixelLayers; exports.pixelPigment = _chunkKWNMBMKGcjs.pixelPigment; exports.placeContents = _chunkS55JFWDAcjs.placeContents; exports.placeLayer = _chunkS55JFWDAcjs.placeLayer; exports.placementAt = _chunkS55JFWDAcjs.placementAt; exports.placementBounds = _chunkS55JFWDAcjs.placementBounds; exports.placementGeometry = _chunkS55JFWDAcjs.placementGeometry; exports.planImageToolPlayback = planImageToolPlayback; exports.planOutlineTrace = planOutlineTrace; exports.pngDataUrl = _chunkOLNIPTB3cjs.pngDataUrl; exports.pointerPressure = _chunkKWNMBMKGcjs.pointerPressure; exports.pointerStrokeSample = _chunkKWNMBMKGcjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkKWNMBMKGcjs.pointerStrokeSamples; exports.polygonCoverage = _chunkUC3PWFM3cjs.polygonCoverage; exports.polygonCoverageBox = _chunkUC3PWFM3cjs.polygonCoverageBox; exports.polygonSelection = _chunkUC3PWFM3cjs.polygonSelection; exports.posterizeValue = _chunkS55JFWDAcjs.posterizeValue; exports.presetWarp = _chunkS55JFWDAcjs.presetWarp; exports.previewStep = previewStep; exports.profileBytes = profileBytes; exports.projectImagePoint = _chunkS55JFWDAcjs.projectImagePoint; exports.projectImageRect = _chunkS55JFWDAcjs.projectImageRect; exports.projectMaskCoverage = _chunkS55JFWDAcjs.projectMaskCoverage; exports.projectQuarterTurn = projectQuarterTurn; exports.proxyOf = _chunkOLNIPTB3cjs.proxyOf; exports.psdBytesFromBase64 = psdBytesFromBase64; exports.psdFileName = psdFileName; exports.psdPatternToEffectPattern = _chunkS55JFWDAcjs.psdPatternToEffectPattern; exports.psdToLayers = _chunkS55JFWDAcjs.psdToLayers; exports.pullWarpMesh = _chunkQAUIZPYIcjs.pullWarpMesh; exports.put255 = _chunkPQ3H2AANcjs.put255; exports.quadFrameOverlay = quadFrameOverlay; exports.quickMaskPixels = quickMaskPixels; exports.quickSelectStroke = _chunkUC3PWFM3cjs.quickSelectStroke; exports.rand01 = _chunkPQ3H2AANcjs.rand01; exports.randSigned = _chunkPQ3H2AANcjs.randSigned; exports.rangeLightness = _chunkS55JFWDAcjs.rangeLightness; exports.rasterContents = _chunkS55JFWDAcjs.rasterContents; exports.rasterMaskFromLegacy = _chunkS55JFWDAcjs.rasterMaskFromLegacy; exports.rasterizeCoverage = _chunkS55JFWDAcjs.rasterizeCoverage; exports.rasterizeDab = _chunkPQ3H2AANcjs.rasterizeDab; exports.rasterizeSmartObject = _chunkS55JFWDAcjs.rasterizeSmartObject; exports.readAdjustmentControls = readAdjustmentControls; exports.readDeepRegion = _chunkOLNIPTB3cjs.readDeepRegion; exports.readEdgeColor = _chunkS55JFWDAcjs.readEdgeColor; exports.readPaintSource = _chunkPQ3H2AANcjs.readPaintSource; exports.readPaths = readPaths; exports.readPixel = _chunk474IQG74cjs.readPixel; exports.readPsd = _chunkS55JFWDAcjs.readPsd; exports.readRegion = _chunk474IQG74cjs.readRegion; exports.readShapeComponents = _chunkS55JFWDAcjs.readShapeComponents; exports.readSourceRegion = _chunkYF3YZZ6Gcjs.readSourceRegion; exports.rectSelection = _chunkUC3PWFM3cjs.rectSelection; exports.rectToQuad = _chunkQT26RHKKcjs.rectToQuad; exports.reduceSurface = _chunkB46UQUDCcjs.reduceSurface; exports.referencePoint = _chunkS55JFWDAcjs.referencePoint; exports.refineCoverage = _chunkSS53NNZOcjs.refineCoverage; exports.refineEdgeHalo = _chunkSS53NNZOcjs.refineEdgeHalo; exports.refineSelection = _chunkSS53NNZOcjs.refineSelection; exports.reflectanceToRgb = _chunkOLNIPTB3cjs.reflectanceToRgb; exports.removeAlpha = _chunkS55JFWDAcjs.removeAlpha; exports.removeCurvePoint = removeCurvePoint; exports.removeLayer = _chunkS55JFWDAcjs.removeLayer; exports.removeLayerEffect = _chunkS55JFWDAcjs.removeLayerEffect; exports.removeLayerFilter = _chunkS55JFWDAcjs.removeLayerFilter; exports.removePaintGradientStop = _chunkPQ3H2AANcjs.removePaintGradientStop; exports.removeSmartFilter = _chunkS55JFWDAcjs.removeSmartFilter; exports.renderBrushstroke = _chunkPQ3H2AANcjs.renderBrushstroke; exports.renderLayerEffects = _chunkB46UQUDCcjs.renderLayerEffects; exports.renderLayeredBase = renderLayeredBase; exports.renderShape = _chunkS55JFWDAcjs.renderShape; exports.renderShapeRect = _chunkS55JFWDAcjs.renderShapeRect; exports.renderSmartObject = _chunkS55JFWDAcjs.renderSmartObject; exports.renderText = _chunkS55JFWDAcjs.renderText; exports.replaceContents = _chunkS55JFWDAcjs.replaceContents; exports.replaceTextRange = _chunkS55JFWDAcjs.replaceTextRange; exports.requireLayer = _chunkS55JFWDAcjs.requireLayer; exports.requireOperation = _chunkS55JFWDAcjs.requireOperation; exports.requireShapeLayer = _chunkS55JFWDAcjs.requireShapeLayer; exports.requireSmartObject = _chunkS55JFWDAcjs.requireSmartObject; exports.requireTypeLayer = _chunkS55JFWDAcjs.requireTypeLayer; exports.requireUnlocked = _chunkS55JFWDAcjs.requireUnlocked; exports.rerender = _chunkS55JFWDAcjs.rerender; exports.rerenderShape = _chunkS55JFWDAcjs.rerenderShape; exports.rerenderText = _chunkS55JFWDAcjs.rerenderText; exports.resizePixels = resizePixels; exports.resizeSelection = _chunkSS53NNZOcjs.resizeSelection; exports.resizeWarpMesh = _chunkQAUIZPYIcjs.resizeWarpMesh; exports.resolveExternalAssets = _chunkS55JFWDAcjs.resolveExternalAssets; exports.resolveMosaicRegionBounds = resolveMosaicRegionBounds; exports.resolvePaintGradient = _chunkPQ3H2AANcjs.resolvePaintGradient; exports.resolveProfile = resolveProfile; exports.resolveVectorMasks = _chunkS55JFWDAcjs.resolveVectorMasks; exports.restyleRange = _chunkQAUIZPYIcjs.restyleRange; exports.retouchFilter = _chunkYF3YZZ6Gcjs.retouchFilter; exports.reversePaintGradient = _chunkPQ3H2AANcjs.reversePaintGradient; exports.rgbToGray = _chunkS55JFWDAcjs.rgbToGray; exports.rgbToHsl = _chunkS55JFWDAcjs.rgbToHsl; exports.rgbToReflectance = _chunkOLNIPTB3cjs.rgbToReflectance; exports.rgbUnitToHex = rgbUnitToHex; exports.rgbaViewOfGrey = _chunkYF3YZZ6Gcjs.rgbaViewOfGrey; exports.runLayerFilters = _chunkS55JFWDAcjs.runLayerFilters; exports.runLayerFiltersFloat = _chunkS55JFWDAcjs.runLayerFiltersFloat; exports.runLayerMenuAction = runLayerMenuAction; exports.runSelectionJob = _chunkUC3PWFM3cjs.runSelectionJob; exports.sameCanvasViewport = sameCanvasViewport; exports.sampleLut = _chunkS55JFWDAcjs.sampleLut; exports.sampleToneLut = _chunkS55JFWDAcjs.sampleToneLut; exports.saturationOf = _chunkYF3YZZ6Gcjs.saturationOf; exports.scaleLayerEffect = _chunkB46UQUDCcjs.scaleLayerEffect; exports.scalePaintGradient = _chunkPQ3H2AANcjs.scalePaintGradient; exports.seamlessClone = _chunkMQDIP4CFcjs.seamlessClone; exports.seedFromString = _chunkPQ3H2AANcjs.seedFromString; exports.segmentToSelection = segmentToSelection; exports.segmentationOutlines = segmentationOutlines; exports.segmentsToSelection = segmentsToSelection; exports.selectObjectIn = _chunkUC3PWFM3cjs.selectObjectIn; exports.selectSimilar = selectSimilar; exports.selectionArea = _chunkSS53NNZOcjs.selectionArea; exports.selectionFromCoverage = _chunkSS53NNZOcjs.selectionFromCoverage; exports.selectionFromPixels = _chunkSS53NNZOcjs.selectionFromPixels; exports.selectionFromRegion = _chunkSS53NNZOcjs.selectionFromRegion; exports.selectionFromTiles = _chunkSS53NNZOcjs.selectionFromTiles; exports.selectionModeFromModifiers = selectionModeFromModifiers; exports.selectionOutline = selectionOutline; exports.selectionRing = selectionRing; exports.selectionToCoverage = _chunkSS53NNZOcjs.selectionToCoverage; exports.selectionToPixels = _chunkSS53NNZOcjs.selectionToPixels; exports.selectionToSubpaths = selectionToSubpaths; exports.selectionUncertainty = selectionUncertainty; exports.selectionValueAt = _chunkSS53NNZOcjs.selectionValueAt; exports.serializeChannels = serializeChannels; exports.serializeColorMode = serializeColorMode; exports.serializeColorProfile = serializeColorProfile; exports.serializeContents = _chunkS55JFWDAcjs.serializeContents; exports.serializeEffects = _chunkS55JFWDAcjs.serializeEffects; exports.serializeLayer = _chunkS55JFWDAcjs.serializeLayer; exports.serializeLayers = _chunkS55JFWDAcjs.serializeLayers; exports.serializeLayersExternal = _chunkS55JFWDAcjs.serializeLayersExternal; exports.serializeMask = _chunkUC3PWFM3cjs.serializeMask; exports.serializePaths = serializePaths; exports.serializePatterns = _chunkS55JFWDAcjs.serializePatterns; exports.serializeSelection = _chunkSS53NNZOcjs.serializeSelection; exports.setCloneTransformValue = setCloneTransformValue; exports.setControlPath = setControlPath; exports.setLayerEffects = _chunkS55JFWDAcjs.setLayerEffects; exports.setLayerEffectsEnabled = _chunkS55JFWDAcjs.setLayerEffectsEnabled; exports.setLayerMask = _chunkS55JFWDAcjs.setLayerMask; exports.setLayerProperties = _chunkS55JFWDAcjs.setLayerProperties; exports.setLum = _chunkOLNIPTB3cjs.setLum; exports.setPigmentColor = _chunkOLNIPTB3cjs.setPigmentColor; exports.setRetouchChoice = setRetouchChoice; exports.setSmartFilterMask = _chunkS55JFWDAcjs.setSmartFilterMask; exports.setSmartFiltersEnabled = _chunkS55JFWDAcjs.setSmartFiltersEnabled; exports.setSmartPlacement = _chunkS55JFWDAcjs.setSmartPlacement; exports.shadeTile = _chunkKWNMBMKGcjs.shadeTile; exports.shapeAsPixelLayer = _chunkS55JFWDAcjs.shapeAsPixelLayer; exports.shapeFromAnnotation = _chunkS55JFWDAcjs.shapeFromAnnotation; exports.shapeGeometryBounds = _chunkS55JFWDAcjs.shapeGeometryBounds; exports.shapeLayers = _chunkS55JFWDAcjs.shapeLayers; exports.shapeOutline = _chunkS55JFWDAcjs.shapeOutline; exports.shapeRenderClip = _chunkS55JFWDAcjs.shapeRenderClip; exports.shiftCoverage = _chunkSS53NNZOcjs.shiftCoverage; exports.simplifyPixelPath = simplifyPixelPath; exports.skinToneRange = skinToneRange; exports.slicSuperpixels = _chunkUC3PWFM3cjs.slicSuperpixels; exports.smartFilterRows = smartFilterRows; exports.smartObjectLayers = _chunkS55JFWDAcjs.smartObjectLayers; exports.smoothCoverage = _chunkSS53NNZOcjs.smoothCoverage; exports.smoothPoints = _chunkPQ3H2AANcjs.smoothPoints; exports.smoothnessWeights = _chunkUC3PWFM3cjs.smoothnessWeights; exports.smudgeEffect = _chunkYF3YZZ6Gcjs.smudgeEffect; exports.snapPolygonToEdges = snapPolygonToEdges; exports.snapTo45 = snapTo45; exports.snapToEdge = snapToEdge; exports.softMaskToSelection = _chunkUC3PWFM3cjs.softMaskToSelection; exports.solidPaint = _chunkPQ3H2AANcjs.solidPaint; exports.solidSurface = _chunk474IQG74cjs.solidSurface; exports.solveMembrane = _chunkMQDIP4CFcjs.solveMembrane; exports.spliceRuns = _chunkQAUIZPYIcjs.spliceRuns; exports.splitOverlayAnnotations = splitOverlayAnnotations; exports.sponge = _chunkYF3YZZ6Gcjs.sponge; exports.spongeEffect = _chunkYF3YZZ6Gcjs.spongeEffect; exports.spotHealPixels = _chunkYF3YZZ6Gcjs.spotHealPixels; exports.spotHealWindow = _chunkYF3YZZ6Gcjs.spotHealWindow; exports.srgb8ToLab = srgb8ToLab; exports.srgbByteToLinear = _chunkKWNMBMKGcjs.srgbByteToLinear; exports.srgbDecode = _chunkOLNIPTB3cjs.srgbDecode; exports.srgbEncode = _chunkOLNIPTB3cjs.srgbEncode; exports.srgbToLinear = _chunkS55JFWDAcjs.srgbToLinear; exports.standardBlendMode = _chunkOLNIPTB3cjs.standardBlendMode; exports.startMarchingAnts = startMarchingAnts; exports.startSelectionWorker = _chunkUC3PWFM3cjs.startSelectionWorker; exports.stepSlotTs = _chunkKWNMBMKGcjs.stepSlotTs; exports.strokeGrainCatch = _chunkPQ3H2AANcjs.strokeGrainCatch; exports.styleAt = _chunkQAUIZPYIcjs.styleAt; exports.subpathsToSvgPath = subpathsToSvgPath; exports.sumHistograms = sumHistograms; exports.superpixelSaliency = _chunkUC3PWFM3cjs.superpixelSaliency; exports.surfaceBytes = _chunk474IQG74cjs.surfaceBytes; exports.surfaceDepth = _chunkOLNIPTB3cjs.surfaceDepth; exports.surfaceFromDeepPixels = _chunkOLNIPTB3cjs.surfaceFromDeepPixels; exports.surfaceFromPixels = _chunk474IQG74cjs.surfaceFromPixels; exports.surfacesEqual = _chunk474IQG74cjs.surfacesEqual; exports.tempTintToXy = _chunkS55JFWDAcjs.tempTintToXy; exports.temperatureToKelvin = _chunkS55JFWDAcjs.temperatureToKelvin; exports.textIndexAt = _chunkQAUIZPYIcjs.textIndexAt; exports.textMatrix = _chunkS55JFWDAcjs.textMatrix; exports.textOrientation = _chunkS55JFWDAcjs.textOrientation; exports.textOutlines = _chunkS55JFWDAcjs.textOutlines; exports.textRange = _chunkS55JFWDAcjs.textRange; exports.tileCoord = _chunk474IQG74cjs.tileCoord; exports.tileKey = _chunk474IQG74cjs.tileKey; exports.tileRect = _chunk474IQG74cjs.tileRect; exports.tileSamples = _chunkOLNIPTB3cjs.tileSamples; exports.tileSamples16 = _chunkOLNIPTB3cjs.tileSamples16; exports.tileSamples32 = _chunkOLNIPTB3cjs.tileSamples32; exports.tilesInRect = _chunk474IQG74cjs.tilesInRect; exports.tipFalloff = _chunkPQ3H2AANcjs.tipFalloff; exports.tipReach = _chunkPQ3H2AANcjs.tipReach; exports.tipShape = _chunkPQ3H2AANcjs.tipShape; exports.to16From32 = _chunkOLNIPTB3cjs.to16From32; exports.to16From8 = _chunkOLNIPTB3cjs.to16From8; exports.to32From16 = _chunkOLNIPTB3cjs.to32From16; exports.to32From8 = _chunkOLNIPTB3cjs.to32From8; exports.to8From16 = _chunkOLNIPTB3cjs.to8From16; exports.to8From32 = _chunkOLNIPTB3cjs.to8From32; exports.toHex = toHex; exports.toTextSpace = _chunkS55JFWDAcjs.toTextSpace; exports.toneCurve = _chunkS55JFWDAcjs.toneCurve; exports.toneLuts = _chunkS55JFWDAcjs.toneLuts; exports.toneOf = _chunkYF3YZZ6Gcjs.toneOf; exports.toneRange = toneRange; exports.transformHomography = _chunkS55JFWDAcjs.transformHomography; exports.transformMap = _chunkS55JFWDAcjs.transformMap; exports.transformShapeComponents = _chunkS55JFWDAcjs.transformShapeComponents; exports.transformSurface = _chunkB46UQUDCcjs.transformSurface; exports.transformTypeLayer = _chunkS55JFWDAcjs.transformTypeLayer; exports.transformVectorMask = _chunkS55JFWDAcjs.transformVectorMask; exports.transformedBounds = _chunkB46UQUDCcjs.transformedBounds; exports.transformedBox = _chunkS55JFWDAcjs.transformedBox; exports.transformedPoint = _chunkS55JFWDAcjs.transformedPoint; exports.translateLayer = _chunkS55JFWDAcjs.translateLayer; exports.translateSurface = _chunk474IQG74cjs.translateSurface; exports.typeAsPixelLayer = _chunkS55JFWDAcjs.typeAsPixelLayer; exports.typeFrame = _chunkS55JFWDAcjs.typeFrame; exports.typeFromAnnotation = _chunkS55JFWDAcjs.typeFromAnnotation; exports.typeLayerAt = typeLayerAt; exports.typeLayerName = _chunkS55JFWDAcjs.typeLayerName; exports.ungroupLayer = _chunkS55JFWDAcjs.ungroupLayer; exports.uniformTile = _chunk474IQG74cjs.uniformTile; exports.unionRect = _chunkS55JFWDAcjs.unionRect; exports.unprojectCanvasPoint = _chunkS55JFWDAcjs.unprojectCanvasPoint; exports.updateLayerEffect = _chunkS55JFWDAcjs.updateLayerEffect; exports.updateLayerFilter = _chunkS55JFWDAcjs.updateLayerFilter; exports.updateLayerMaskProps = _chunkS55JFWDAcjs.updateLayerMaskProps; exports.updatePaintGradientStop = _chunkPQ3H2AANcjs.updatePaintGradientStop; exports.updateShapeLayer = _chunkS55JFWDAcjs.updateShapeLayer; exports.updateSmartFilter = _chunkS55JFWDAcjs.updateSmartFilter; exports.updateTypeLayer = _chunkS55JFWDAcjs.updateTypeLayer; exports.upscaleRegion = _chunkUC3PWFM3cjs.upscaleRegion; exports.userErrorMessage = _chunkS55JFWDAcjs.userErrorMessage; exports.uvToXy = _chunkS55JFWDAcjs.uvToXy; exports.validateEffectGradient = _chunkB46UQUDCcjs.validateEffectGradient; exports.validateLayerEffect = _chunkB46UQUDCcjs.validateLayerEffect; exports.validateLayerEffects = _chunkB46UQUDCcjs.validateLayerEffects; exports.vectorMaskBounds = _chunkS55JFWDAcjs.vectorMaskBounds; exports.vectorMaskCoverage = _chunkS55JFWDAcjs.vectorMaskCoverage; exports.vectorMaskThumbnail = _chunkS55JFWDAcjs.vectorMaskThumbnail; exports.vectorMaskThumbnailClick = vectorMaskThumbnailClick; exports.versionedDescriptorBytes = _chunkS55JFWDAcjs.versionedDescriptorBytes; exports.vibranceLinear = _chunkS55JFWDAcjs.vibranceLinear; exports.vibrancePixel = _chunkS55JFWDAcjs.vibrancePixel; exports.walkDabs = _chunkPQ3H2AANcjs.walkDabs; exports.warpMeshEditPoints = _chunkQAUIZPYIcjs.warpMeshEditPoints; exports.warpMeshGridCurves = _chunkQAUIZPYIcjs.warpMeshGridCurves; exports.warpMeshParamAt = _chunkQAUIZPYIcjs.warpMeshParamAt; exports.warpPresetMesh = _chunkQAUIZPYIcjs.warpPresetMesh; exports.warpSurface = _chunkB46UQUDCcjs.warpSurface; exports.watchCanvasViewport = watchCanvasViewport; exports.wbMatrix = _chunkS55JFWDAcjs.wbMatrix; exports.wetGpuSupport = _chunkKWNMBMKGcjs.wetGpuSupport; exports.wetSimdSupported = _chunkKWNMBMKGcjs.wetSimdSupported; exports.wetSupport = _chunkKWNMBMKGcjs.wetSupport; exports.whiteBalanceFromSample = _chunkS55JFWDAcjs.whiteBalanceFromSample; exports.whiteBalanceMatrix = _chunkS55JFWDAcjs.whiteBalanceMatrix; exports.withBackgroundOpacity = withBackgroundOpacity; exports.withFilterMaskSurface = _chunkS55JFWDAcjs.withFilterMaskSurface; exports.withImagePlayback = withImagePlayback; exports.withNewIds = _chunkS55JFWDAcjs.withNewIds; exports.workImage = _chunkUC3PWFM3cjs.workImage; exports.workLuma = _chunkUC3PWFM3cjs.workLuma; exports.workPlanes = _chunkUC3PWFM3cjs.workPlanes; exports.writeAdjustmentBlock = _chunkS55JFWDAcjs.writeAdjustmentBlock; exports.writeDeepRegion = _chunkOLNIPTB3cjs.writeDeepRegion; exports.writeLfx2 = _chunkS55JFWDAcjs.writeLfx2; exports.writePatternBlock = _chunkS55JFWDAcjs.writePatternBlock; exports.writePsd = _chunkS55JFWDAcjs.writePsd; exports.writeRegion = _chunk474IQG74cjs.writeRegion; exports.xyToTempTint = _chunkS55JFWDAcjs.xyToTempTint; exports.xyToUv = _chunkS55JFWDAcjs.xyToUv;