@opentrons/step-generation 0.3.19-alpha.0 → 0.3.21-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { MAGNETIC_MODULE_V1 as xb, TEMPERATURE_MODULE_V1 as Bb, MAGNETIC_MODULE_TYPE as Ca, TEMPERATURE_MODULE_TYPE as Qe, THERMOCYCLER_MODULE_TYPE as Ue, HEATERSHAKER_MODULE_TYPE as Pe, FLEX_STACKER_MODULE_TYPE as Ge, VACUUM_MODULE_TYPE as Kt, VACUUM_MODULE_DOCK_A4_ADDRESSABLE_AREA as _u, MAGNETIC_BLOCK_TYPE as Vb, ABSORBANCE_READER_TYPE as Fn, FLEX_ROBOT_TYPE as We, OT2_ROBOT_TYPE as Rt, PARTIAL_COLUMN as Ke, H1_NOZZLE as gs, getIsLid as Or, locationIsOnAddressableArea as Ub, MOVABLE_TRASH_ADDRESSABLE_AREAS as up, locationIsOnModule as zb, locationIsOnLabware as jb, locationIsOnDeck as Hb, FLEX_STAGING_AREA_SLOT_ADDRESSABLE_AREAS as Gb, WASTE_CHUTE_ADDRESSABLE_AREAS as xh, ALL as Ye, WELL_ORIGIN_TOP as en, FLEX_SINGLE_SLOT_BY_CUTOUT_ID as Wb, getDeckDefFromRobotType as Rr, NINETY_SIX_CHANNEL_WASTE_CHUTE_ADDRESSABLE_AREA as Kb, EIGHT_CHANNEL_WASTE_CHUTE_ADDRESSABLE_AREA as Yb, ONE_CHANNEL_WASTE_CHUTE_ADDRESSABLE_AREA as Xb, getWellNamePerMultiTip as Zb, getLabwareDefURI as Ae, getIsTiprack as Pr, FLEX_CUTOUT_BY_SLOT_ID as wu, FLEX_STACKER_ADDRESSABLE_AREAS as Bh, FLEX_STACKER_V1_FIXTURE as Jb, getMaxPoolCount as Vh, FLEX_STACKER_MODULE_V1 as Uh, linearInterpolate as Dn, getMmFromBottom as Yt, SAFE_MOVE_TO_WELL_OFFSET_FROM_TOP_MM as Qb, GRIPPER_WASTE_CHUTE_ADDRESSABLE_AREA as Nr, COLUMN as It, SINGLE as ft, PARTIAL_NOZZLE_MAP as Da, ROW as Cr, getAddressableAreaNamesFromLoadedModule as e_, locationIsOffDeck as Ta, getIsPipettableLabware as bs, SYSTEM_LOCATION as t_, GEN_ONE_MULTI_PIPETTES as r_, getLabwareDefinitionsByURIForProtocol as n_, getModuleType as a_, getPipetteSpecsV2 as s_, getModuleDef as zh, getAreSlotsHorizontallyAdjacent as gu, getAreSlotsVerticallyAdjacent as o_, getIsLabwareAboveHeight as i_, MAX_LABWARE_HEIGHT_EAST_WEST_HEATER_SHAKER_MM as l_, getAreSlotsAdjacent as c_, getAreFlexSlotsAdjacent as u_, getAllLiquidClassDefs as qa, POSITION_REFERENCE_TOP as p_, DEFAULT_LIQUID_COLORS as pp, getLabwareDefIsStandard as Ls, isFlexPipette as Es, getFlexNameConversion as rn, getCutoutDisplayName as d_, getPositionFromSlotId as io, B1_ADDRESSABLE_AREA as f_, THERMOCYCLER_MODULE_V2 as m_, getOt2SurroundingSlots as h_, getFlexSurroundingSlots as y_, getAddressableAreaFromSlotId as b_, getRobotDefFromRobotType as __, A1_NOZZLE as Sa, A12_NOZZLE as jh, QUADRANT as w_, WASTE_CHUTE_FIXTURES as g_, orderWells as dp, getTiprackVolume as I_, H12_NOZZLE as T_, LOW_VOLUME_PIPETTES as Ea, POSITION_REFERENCE_MAPPED_TO_WELL_ORIGIN as Ne, WELL_ORIGIN_BOTTOM as S_, getByVolumeValue as H, NONE_LIQUID_CLASS_NAME as Iu, WATER_LIQUID_CLASS_NAME as Tu, SAFE_MOVE_TO_WELL_LOCATION as Wt, fixtureTiprack1000ul as A_, fixtureTiprackAdapter as v_, fixtureTiprack300ul as k_, fixture12Trough as L_, fixture96Plate as E_, fixtureTiprack10ul as O_, fixtureP100096V2Specs as R_, fixtureP300MultiV2Specs as N_, fixtureP300SingleV2Specs as P_, fixtureP10MultiV2Specs as C_, fixtureP10SingleV2Specs as D_ } from "@opentrons/shared-data";
1
+ import { MAGNETIC_MODULE_V1 as xb, TEMPERATURE_MODULE_V1 as Bb, MAGNETIC_MODULE_TYPE as Ca, TEMPERATURE_MODULE_TYPE as Qe, THERMOCYCLER_MODULE_TYPE as Ue, HEATERSHAKER_MODULE_TYPE as Pe, FLEX_STACKER_MODULE_TYPE as Ge, VACUUM_MODULE_TYPE as Kt, VACUUM_MODULE_DOCK_A4_ADDRESSABLE_AREA as _u, MAGNETIC_BLOCK_TYPE as Vb, ABSORBANCE_READER_TYPE as Fn, FLEX_ROBOT_TYPE as We, OT2_ROBOT_TYPE as Rt, PARTIAL_COLUMN as Ke, H1_NOZZLE as gs, getIsLid as Or, locationIsOnAddressableArea as Ub, MOVABLE_TRASH_ADDRESSABLE_AREAS as up, locationIsOnModule as zb, locationIsOnLabware as jb, locationIsOnDeck as Hb, FLEX_STAGING_AREA_SLOT_ADDRESSABLE_AREAS as Gb, WASTE_CHUTE_ADDRESSABLE_AREAS as xh, ALL as Ye, WELL_ORIGIN_TOP as en, FLEX_SINGLE_SLOT_BY_CUTOUT_ID as Wb, getDeckDefFromRobotType as Nr, NINETY_SIX_CHANNEL_WASTE_CHUTE_ADDRESSABLE_AREA as Kb, EIGHT_CHANNEL_WASTE_CHUTE_ADDRESSABLE_AREA as Yb, ONE_CHANNEL_WASTE_CHUTE_ADDRESSABLE_AREA as Xb, getWellNamePerMultiTip as Zb, getLabwareDefURI as Ae, getIsTiprack as Pr, FLEX_CUTOUT_BY_SLOT_ID as wu, FLEX_STACKER_ADDRESSABLE_AREAS as Bh, FLEX_STACKER_V1_FIXTURE as Jb, getMaxPoolCount as Vh, FLEX_STACKER_MODULE_V1 as Uh, linearInterpolate as Dn, getMmFromBottom as Yt, SAFE_MOVE_TO_WELL_OFFSET_FROM_TOP_MM as Qb, GRIPPER_WASTE_CHUTE_ADDRESSABLE_AREA as Rr, COLUMN as Tt, SINGLE as ft, PARTIAL_NOZZLE_MAP as Da, ROW as Cr, getAddressableAreaNamesFromLoadedModule as e_, locationIsOffDeck as Ta, getIsPipettableLabware as bs, SYSTEM_LOCATION as t_, GEN_ONE_MULTI_PIPETTES as r_, getLabwareDefinitionsByURIForProtocol as n_, getModuleType as a_, getPipetteSpecsV2 as s_, getModuleDef as zh, getAreSlotsHorizontallyAdjacent as gu, getAreSlotsVerticallyAdjacent as o_, getIsLabwareAboveHeight as i_, MAX_LABWARE_HEIGHT_EAST_WEST_HEATER_SHAKER_MM as l_, getAreSlotsAdjacent as c_, getAreFlexSlotsAdjacent as u_, getAllLiquidClassDefs as qa, POSITION_REFERENCE_TOP as p_, DEFAULT_LIQUID_COLORS as pp, getLabwareDefIsStandard as Ls, isFlexPipette as Es, getFlexNameConversion as rn, getCutoutDisplayName as d_, getPositionFromSlotId as io, B1_ADDRESSABLE_AREA as f_, THERMOCYCLER_MODULE_V2 as m_, getOt2SurroundingSlots as h_, getFlexSurroundingSlots as y_, getAddressableAreaFromSlotId as b_, getRobotDefFromRobotType as __, A1_NOZZLE as Sa, A12_NOZZLE as jh, QUADRANT as w_, WASTE_CHUTE_FIXTURES as g_, orderWells as dp, getTiprackVolume as I_, H12_NOZZLE as T_, LOW_VOLUME_PIPETTES as Ea, POSITION_REFERENCE_MAPPED_TO_WELL_ORIGIN as Re, WELL_ORIGIN_BOTTOM as S_, getByVolumeValue as H, NONE_LIQUID_CLASS_NAME as Iu, WATER_LIQUID_CLASS_NAME as Tu, SAFE_MOVE_TO_WELL_LOCATION as Wt, fixtureTiprack1000ul as A_, fixtureTiprackAdapter as v_, fixtureTiprack300ul as k_, fixture12Trough as L_, fixture96Plate as E_, fixtureTiprack10ul as O_, fixtureP100096V2Specs as N_, fixtureP300MultiV2Specs as R_, fixtureP300SingleV2Specs as P_, fixtureP10MultiV2Specs as C_, fixtureP10SingleV2Specs as D_ } from "@opentrons/shared-data";
2
2
  function q_() {
3
3
  return {
4
4
  type: "INSUFFICIENT_TIPS",
@@ -160,7 +160,7 @@ const V_ = () => ({
160
160
  }), xa = () => ({
161
161
  type: "HEATER_SHAKER_EAST_WEST_MULTI_CHANNEL",
162
162
  message: "The Heater-Shaker is shaking"
163
- }), Rs = () => ({
163
+ }), Ns = () => ({
164
164
  type: "HEATER_SHAKER_NORTH_SOUTH__OF_NON_TIPRACK_WITH_MULTI_CHANNEL",
165
165
  message: "8-Channel pipette cannot access labware"
166
166
  }), Bn = () => ({
@@ -369,15 +369,15 @@ function hw() {
369
369
  return go = n, go;
370
370
  }
371
371
  var yw = hw();
372
- const bw = /* @__PURE__ */ Xe(yw), Ns = "TEMPERATURE_DEACTIVATED", Qh = "TEMPERATURE_AT_TARGET", ey = "TEMPERATURE_APPROACHING_TARGET", Op = 1, _w = [
372
+ const bw = /* @__PURE__ */ Xe(yw), Rs = "TEMPERATURE_DEACTIVATED", Qh = "TEMPERATURE_AT_TARGET", ey = "TEMPERATURE_APPROACHING_TARGET", Op = 1, _w = [
373
373
  xb,
374
374
  Bb
375
- ], Rp = "fixedTrash", ww = {
375
+ ], Np = "fixedTrash", ww = {
376
376
  type: Ca,
377
377
  engaged: !1
378
378
  }, gw = {
379
379
  type: Qe,
380
- status: Ns,
380
+ status: Rs,
381
381
  targetTemperature: null
382
382
  }, Iw = {
383
383
  type: Ue,
@@ -417,22 +417,22 @@ const bw = /* @__PURE__ */ Xe(yw), Ns = "TEMPERATURE_DEACTIVATED", Qh = "TEMPERA
417
417
  [Vb]: Aw,
418
418
  [Ge]: vw,
419
419
  [Kt]: kw
420
- }, Rk = "opentrons/opentrons_1_trash_1100ml_fixed/1", Nk = "opentrons/opentrons_1_trash_3200ml_fixed/1", Me = ["A4", "B4", "C4", "D4"], Qt = { x: 0, y: 0, z: 0 }, Ew = "mounted", Ps = "CLEAN", kr = "DIRTY", ce = "EMPTY", ty = "automatic", er = "manual", Ow = ["A4", "B4", "C4", "D4"], Pk = ["7", "8", "10", "11"], mt = "hopper", Rw = [
420
+ }, Rk = "opentrons/opentrons_1_trash_1100ml_fixed/1", Pk = "opentrons/opentrons_1_trash_3200ml_fixed/1", Me = ["A4", "B4", "C4", "D4"], Qt = { x: 0, y: 0, z: 0 }, Ew = "mounted", Ps = "CLEAN", kr = "DIRTY", ce = "EMPTY", ty = "automatic", er = "manual", Ow = ["A4", "B4", "C4", "D4"], Ck = ["7", "8", "10", "11"], mt = "hopper", Nw = [
421
421
  "hopperA4",
422
422
  "hopperB4",
423
423
  "hopperC4",
424
424
  "hopperD4"
425
- ], Nw = {
425
+ ], Rw = {
426
426
  hopperA4: "A4",
427
427
  hopperB4: "B4",
428
428
  hopperC4: "C4",
429
429
  hopperD4: "D4"
430
- }, Lr = ["adapterLabwareId", "primaryLabwareId", "lidLabwareId"], Ck = ["adapterLabwareURI", "primaryLabwareURI", "lidLabwareURI"], Dk = {
430
+ }, Lr = ["adapterLabwareId", "primaryLabwareId", "lidLabwareId"], Dk = ["adapterLabwareURI", "primaryLabwareURI", "lidLabwareURI"], qk = {
431
431
  A4: "hopperA4",
432
432
  B4: "hopperB4",
433
433
  C4: "hopperC4",
434
434
  D4: "hopperD4"
435
- }, ry = "vacuumDock", Pw = _u, ny = "opened", Cs = "closed", Np = "power", Pp = "pressure", qk = "state", $k = "profile", Fk = "pumpOff", Mk = "pumpOn", xk = "vent", Bk = "open", Vk = "closed", Uk = "VACUUM_DEACTIVATED", zk = "VACUUM_AT_TARGET", Cw = [
435
+ }, ry = "vacuumDock", Pw = _u, ny = "opened", Cs = "closed", Rp = "power", Pp = "pressure", $k = "state", Fk = "profile", Mk = "pumpOff", xk = "pumpOn", Bk = "vent", Vk = "open", Uk = "closed", zk = "VACUUM_DEACTIVATED", jk = "VACUUM_AT_TARGET", Cw = [
436
436
  "opentrons_vacuum_manifold_spacer_short",
437
437
  "opentrons_vacuum_manifold_spacer_tall"
438
438
  ], Dw = "A4", Ve = [];
@@ -555,9 +555,9 @@ function qs() {
555
555
  }
556
556
  return Oo = e, Oo;
557
557
  }
558
- var Ro, Up;
558
+ var No, Up;
559
559
  function $s() {
560
- if (Up) return Ro;
560
+ if (Up) return No;
561
561
  Up = 1;
562
562
  var e = qs();
563
563
  function t(r, n) {
@@ -566,11 +566,11 @@ function $s() {
566
566
  return a;
567
567
  return -1;
568
568
  }
569
- return Ro = t, Ro;
569
+ return No = t, No;
570
570
  }
571
- var No, zp;
571
+ var Ro, zp;
572
572
  function zw() {
573
- if (zp) return No;
573
+ if (zp) return Ro;
574
574
  zp = 1;
575
575
  var e = $s(), t = Array.prototype, r = t.splice;
576
576
  function n(a) {
@@ -580,7 +580,7 @@ function zw() {
580
580
  var i = s.length - 1;
581
581
  return o == i ? s.pop() : r.call(s, o, 1), --this.size, !0;
582
582
  }
583
- return No = n, No;
583
+ return Ro = n, Ro;
584
584
  }
585
585
  var Po, jp;
586
586
  function jw() {
@@ -1060,17 +1060,17 @@ function uy() {
1060
1060
  }
1061
1061
  return bi = s, bi;
1062
1062
  }
1063
- var _i, Rd;
1063
+ var _i, Nd;
1064
1064
  function py() {
1065
- if (Rd) return _i;
1066
- Rd = 1;
1065
+ if (Nd) return _i;
1066
+ Nd = 1;
1067
1067
  var e = rr(), t = e.Uint8Array;
1068
1068
  return _i = t, _i;
1069
1069
  }
1070
- var wi, Nd;
1070
+ var wi, Rd;
1071
1071
  function yg() {
1072
- if (Nd) return wi;
1073
- Nd = 1;
1072
+ if (Rd) return wi;
1073
+ Rd = 1;
1074
1074
  function e(t) {
1075
1075
  var r = -1, n = Array(t.size);
1076
1076
  return t.forEach(function(a, s) {
@@ -1226,32 +1226,32 @@ function Ou() {
1226
1226
  }
1227
1227
  return Oi = t, Oi;
1228
1228
  }
1229
- var Ri, zd;
1229
+ var Ni, zd;
1230
1230
  function wg() {
1231
- if (zd) return Ri;
1231
+ if (zd) return Ni;
1232
1232
  zd = 1;
1233
1233
  var e = Yn(), t = Ou(), r = hr(), n = "[object Arguments]", a = "[object Array]", s = "[object Boolean]", o = "[object Date]", i = "[object Error]", l = "[object Function]", c = "[object Map]", u = "[object Number]", p = "[object Object]", d = "[object RegExp]", h = "[object Set]", f = "[object String]", m = "[object WeakMap]", b = "[object ArrayBuffer]", _ = "[object DataView]", y = "[object Float32Array]", A = "[object Float64Array]", T = "[object Int8Array]", g = "[object Int16Array]", S = "[object Int32Array]", v = "[object Uint8Array]", I = "[object Uint8ClampedArray]", w = "[object Uint16Array]", E = "[object Uint32Array]", O = {};
1234
1234
  O[y] = O[A] = O[T] = O[g] = O[S] = O[v] = O[I] = O[w] = O[E] = !0, O[n] = O[a] = O[b] = O[s] = O[_] = O[o] = O[i] = O[l] = O[c] = O[u] = O[p] = O[d] = O[h] = O[f] = O[m] = !1;
1235
1235
  function F(M) {
1236
1236
  return r(M) && t(M.length) && !!O[e(M)];
1237
1237
  }
1238
- return Ri = F, Ri;
1238
+ return Ni = F, Ni;
1239
1239
  }
1240
- var Ni, jd;
1241
- function Ru() {
1242
- if (jd) return Ni;
1240
+ var Ri, jd;
1241
+ function Nu() {
1242
+ if (jd) return Ri;
1243
1243
  jd = 1;
1244
1244
  function e(t) {
1245
1245
  return function(r) {
1246
1246
  return t(r);
1247
1247
  };
1248
1248
  }
1249
- return Ni = e, Ni;
1249
+ return Ri = e, Ri;
1250
1250
  }
1251
1251
  var va = { exports: {} };
1252
1252
  va.exports;
1253
1253
  var Hd;
1254
- function Nu() {
1254
+ function Ru() {
1255
1255
  return Hd || (Hd = 1, (function(e, t) {
1256
1256
  var r = Zh(), n = t && !t.nodeType && t, a = n && !0 && e && !e.nodeType && e, s = a && a.exports === n, o = s && r.process, i = (function() {
1257
1257
  try {
@@ -1267,7 +1267,7 @@ var Pi, Gd;
1267
1267
  function Pu() {
1268
1268
  if (Gd) return Pi;
1269
1269
  Gd = 1;
1270
- var e = wg(), t = Ru(), r = Nu(), n = r && r.isTypedArray, a = n ? t(n) : e;
1270
+ var e = wg(), t = Nu(), r = Ru(), n = r && r.isTypedArray, a = n ? t(n) : e;
1271
1271
  return Pi = a, Pi;
1272
1272
  }
1273
1273
  var Ci, Wd;
@@ -1600,7 +1600,7 @@ function Og() {
1600
1600
  return r.Cache = e, tl = r, tl;
1601
1601
  }
1602
1602
  var rl, bf;
1603
- function Rg() {
1603
+ function Ng() {
1604
1604
  if (bf) return rl;
1605
1605
  bf = 1;
1606
1606
  var e = Og(), t = 500;
@@ -1613,10 +1613,10 @@ function Rg() {
1613
1613
  return rl = r, rl;
1614
1614
  }
1615
1615
  var nl, _f;
1616
- function Ng() {
1616
+ function Rg() {
1617
1617
  if (_f) return nl;
1618
1618
  _f = 1;
1619
- var e = Rg(), t = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, r = /\\(\\)?/g, n = e(function(a) {
1619
+ var e = Ng(), t = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, r = /\\(\\)?/g, n = e(function(a) {
1620
1620
  var s = [];
1621
1621
  return a.charCodeAt(0) === 46 && s.push(""), a.replace(t, function(o, i, l, c) {
1622
1622
  s.push(l ? c.replace(r, "$1") : i || o);
@@ -1655,7 +1655,7 @@ var ol, If;
1655
1655
  function Xn() {
1656
1656
  if (If) return ol;
1657
1657
  If = 1;
1658
- var e = ot(), t = Du(), r = Ng(), n = Cg();
1658
+ var e = ot(), t = Du(), r = Rg(), n = Cg();
1659
1659
  function a(s, o) {
1660
1660
  return e(s) ? s : t(s, o) ? [s] : r(n(s));
1661
1661
  }
@@ -1758,10 +1758,10 @@ function Sy() {
1758
1758
  }
1759
1759
  return ml = e, ml;
1760
1760
  }
1761
- var hl, Rf;
1761
+ var hl, Nf;
1762
1762
  function xg() {
1763
- if (Rf) return hl;
1764
- Rf = 1;
1763
+ if (Nf) return hl;
1764
+ Nf = 1;
1765
1765
  var e = zs();
1766
1766
  function t(r) {
1767
1767
  return function(n) {
@@ -1770,10 +1770,10 @@ function xg() {
1770
1770
  }
1771
1771
  return hl = t, hl;
1772
1772
  }
1773
- var yl, Nf;
1773
+ var yl, Rf;
1774
1774
  function Bg() {
1775
- if (Nf) return yl;
1776
- Nf = 1;
1775
+ if (Rf) return yl;
1776
+ Rf = 1;
1777
1777
  var e = Sy(), t = xg(), r = Du(), n = Zn();
1778
1778
  function a(s) {
1779
1779
  return r(s) ? e(n(s)) : t(s);
@@ -1939,9 +1939,9 @@ function Xg() {
1939
1939
  }
1940
1940
  return Ol = r, Ol;
1941
1941
  }
1942
- var Rl, Hf;
1942
+ var Nl, Hf;
1943
1943
  function Fu() {
1944
- if (Hf) return Rl;
1944
+ if (Hf) return Nl;
1945
1945
  Hf = 1;
1946
1946
  var e = qs(), t = ln(), r = Vs(), n = yr();
1947
1947
  function a(s, o, i) {
@@ -1950,11 +1950,11 @@ function Fu() {
1950
1950
  var l = typeof o;
1951
1951
  return (l == "number" ? t(i) && r(o, i.length) : l == "string" && o in i) ? e(i[o], s) : !1;
1952
1952
  }
1953
- return Rl = a, Rl;
1953
+ return Nl = a, Nl;
1954
1954
  }
1955
- var Nl, Gf;
1955
+ var Rl, Gf;
1956
1956
  function Zg() {
1957
- if (Gf) return Nl;
1957
+ if (Gf) return Rl;
1958
1958
  Gf = 1;
1959
1959
  var e = /\s/;
1960
1960
  function t(r) {
@@ -1962,7 +1962,7 @@ function Zg() {
1962
1962
  ;
1963
1963
  return n;
1964
1964
  }
1965
- return Nl = t, Nl;
1965
+ return Rl = t, Rl;
1966
1966
  }
1967
1967
  var Pl, Wf;
1968
1968
  function Jg() {
@@ -2151,7 +2151,7 @@ const _t = /* @__PURE__ */ Xe(oI), Mu = (e, t, r) => {
2151
2151
  ],
2152
2152
  python: `${i}.read(${l})`
2153
2153
  };
2154
- }, Nt = (e, t, r) => {
2154
+ }, Pt = (e, t, r) => {
2155
2155
  const { flowRate: n, pipetteId: a, volume: s, correctionVolume: o } = e, i = [];
2156
2156
  t.pipetteEntities[a]?.spec || i.push(
2157
2157
  wt({
@@ -2179,7 +2179,7 @@ const _t = /* @__PURE__ */ Xe(oI), Mu = (e, t, r) => {
2179
2179
  // Note that correction volume is not supported in our public atomic liquid handling APIs
2180
2180
  ].join(", ")})`
2181
2181
  };
2182
- }, jk = (e, t, r) => {
2182
+ }, Hk = (e, t, r) => {
2183
2183
  const {
2184
2184
  pipetteId: n,
2185
2185
  volume: a,
@@ -2201,10 +2201,10 @@ const _t = /* @__PURE__ */ Xe(oI), Mu = (e, t, r) => {
2201
2201
  actionName: h,
2202
2202
  labware: s
2203
2203
  })
2204
- ) : K(r.labware[s].stack) === "offDeck" && m.push(Bn()), Me.includes(y))
2204
+ ) : Y(r.labware[s].stack) === "offDeck" && m.push(Bn()), Me.includes(y))
2205
2205
  m.push(Jt({ typeOfStep: h }));
2206
2206
  else if (f[y] != null) {
2207
- const E = K(f[y].stack);
2207
+ const E = Y(f[y].stack);
2208
2208
  Me.includes(E) && m.push(
2209
2209
  Jt({ typeOfStep: h })
2210
2210
  );
@@ -2270,7 +2270,7 @@ const _t = /* @__PURE__ */ Xe(oI), Mu = (e, t, r) => {
2270
2270
  b,
2271
2271
  t.labwareEntities[s]
2272
2272
  ) && m.push(
2273
- Rs()
2273
+ Ns()
2274
2274
  )), m.length === 0 && b && b.liquids.default.maxVolume < a && m.push(
2275
2275
  Is({
2276
2276
  actionName: h,
@@ -2316,7 +2316,7 @@ const _t = /* @__PURE__ */ Xe(oI), Mu = (e, t, r) => {
2316
2316
  )}]${mr(u)}`,
2317
2317
  `flow_rate=${i}`
2318
2318
  ], w = `${S}.aspirate(
2319
- ${Y(
2319
+ ${G(
2320
2320
  I.join(`,
2321
2321
  `)
2322
2322
  )},
@@ -2406,10 +2406,10 @@ ${o}.blow_out()`
2406
2406
  actionName: p,
2407
2407
  labware: a
2408
2408
  })
2409
- ) : K(r.labware[a].stack) === "offDeck" && d.push(Bn()), Me.includes(_))
2409
+ ) : Y(r.labware[a].stack) === "offDeck" && d.push(Bn()), Me.includes(_))
2410
2410
  d.push(Jt({ typeOfStep: p }));
2411
2411
  else if (b[_] != null) {
2412
- const g = K(b[_].stack);
2412
+ const g = Y(b[_].stack);
2413
2413
  Me.includes(g) && d.push(
2414
2414
  Jt({ typeOfStep: p })
2415
2415
  );
@@ -2449,7 +2449,7 @@ ${o}.blow_out()`
2449
2449
  h,
2450
2450
  t.labwareEntities[a]
2451
2451
  ) && d.push(
2452
- Rs()
2452
+ Ns()
2453
2453
  )), d.length > 0)
2454
2454
  return {
2455
2455
  errors: d
@@ -2548,7 +2548,7 @@ ${y}.blow_out(${A}[${P(
2548
2548
  ], {
2549
2549
  commands: i,
2550
2550
  python: `${l}.configure_nozzle_layout(
2551
- ${Y(
2551
+ ${G(
2552
2552
  c.join(`,
2553
2553
  `)
2554
2554
  )},
@@ -2682,10 +2682,10 @@ ${o}.deactivate_block()`
2682
2682
  actionName: h,
2683
2683
  labware: s
2684
2684
  })
2685
- ) : K(r.labware[s].stack) === "offDeck" && m.push(Bn()), Me.includes(y))
2685
+ ) : Y(r.labware[s].stack) === "offDeck" && m.push(Bn()), Me.includes(y))
2686
2686
  m.push(Jt({ typeOfStep: h }));
2687
2687
  else if (f[y] != null) {
2688
- const E = K(f[y].stack);
2688
+ const E = Y(f[y].stack);
2689
2689
  Me.includes(E) && m.push(
2690
2690
  Jt({ typeOfStep: h })
2691
2691
  );
@@ -2738,7 +2738,7 @@ ${o}.deactivate_block()`
2738
2738
  b,
2739
2739
  t.labwareEntities[s]
2740
2740
  ) && m.push(
2741
- Rs()
2741
+ Ns()
2742
2742
  )), m.length > 0)
2743
2743
  return {
2744
2744
  errors: m
@@ -2769,7 +2769,7 @@ ${o}.deactivate_block()`
2769
2769
  // PAPI has no way to indicate that we're dispensing air, so we don't do anything
2770
2770
  // with the isAirGap parameter.
2771
2771
  ], w = `${S}.dispense(
2772
- ${Y(
2772
+ ${G(
2773
2773
  I.join(`,
2774
2774
  `)
2775
2775
  )},
@@ -2869,7 +2869,12 @@ ${Y(
2869
2869
  };
2870
2870
  }, xu = (e, t, r) => {
2871
2871
  const { pipetteId: n } = e;
2872
- return r.tipState.pipettes[n]?.hasTip ? {
2872
+ if (!r.tipState.pipettes[n]?.hasTip)
2873
+ return {
2874
+ commands: []
2875
+ };
2876
+ const { pipetteEntities: a, trashBinEntities: s, wasteChuteEntities: o } = t, i = a[n].pythonName, l = r.pipettes[n]?.entityId ?? "", c = s[l], u = o[l], p = c != null ? `${c.pythonName}, alternate_drop_location=True` : u?.pythonName ?? "";
2877
+ return {
2873
2878
  commands: [
2874
2879
  {
2875
2880
  commandType: "dropTipInPlace",
@@ -2878,9 +2883,8 @@ ${Y(
2878
2883
  pipetteId: n
2879
2884
  }
2880
2885
  }
2881
- ]
2882
- } : {
2883
- commands: []
2886
+ ],
2887
+ python: `${i}.drop_tip(${p})`
2884
2888
  };
2885
2889
  }, mI = (e, t, r) => {
2886
2890
  const { moduleId: n, height: a } = e, { moduleEntities: s } = t, o = "magneticModule/engage";
@@ -2975,7 +2979,7 @@ ${h}
2975
2979
  }
2976
2980
  ],
2977
2981
  python: `${u}.fill_items(
2978
- ${Y(b)})`
2982
+ ${G(b)})`
2979
2983
  };
2980
2984
  }, bI = (e, t, r) => {
2981
2985
  const { moduleId: n } = e, { moduleEntities: a } = t;
@@ -3072,24 +3076,24 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3072
3076
  labwareEntities: u,
3073
3077
  moduleEntities: p
3074
3078
  } = t, d = Object.keys(i).length > 0, h = Object.values(c).length > 0, f = r.tipState != null ? KI(r.tipState, n) : !1, m = r.liquidState != null ? YI(r.liquidState, n) : !1, b = Object.values(r.tipState.pipettes).some(
3075
- ({ hasTip: N }) => N
3079
+ ({ hasTip: R }) => R
3076
3080
  ), _ = "moveToLabware", y = [], A = [], T = Ub(s) && s.addressableAreaName === "gripperWasteChute";
3077
3081
  !n || !r.labware[n] ? y.push(
3078
3082
  gt({
3079
3083
  actionName: _,
3080
3084
  labware: n
3081
3085
  })
3082
- ) : K(r.labware[n].stack) === "offDeck" && o ? y.push(Bn()) : r.labware[n].stack.includes(mt) && y.push(cw());
3086
+ ) : Y(r.labware[n].stack) === "offDeck" && o ? y.push(Bn()) : r.labware[n].stack.includes(mt) && y.push(cw());
3083
3087
  const g = u[n]?.def.metadata.displayCategory === "aluminumBlock";
3084
3088
  o && g && y.push(Z_()), (T && d && !o || !d && o) && y.push(X_()), b && o && y.push(M_());
3085
- const S = r.labware[n] != null ? K(r.labware[n].stack) : null;
3089
+ const S = r.labware[n] != null ? Y(r.labware[n].stack) : null;
3086
3090
  (h && S === "gripperWasteChute" || up.includes(
3087
3091
  S
3088
3092
  ) || S === "fixedTrash") && y.push(Ba());
3089
- const v = S != null && r.labware[S] != null ? K(r.labware[S].stack) : null, I = v ?? S, w = (N) => N == null ? null : N in r.modules ? r.modules[N].moduleState : Object.values(r.modules).find(
3090
- ({ slot: R }) => R === N
3091
- )?.moduleState ?? null, E = Object.entries(r.labware).filter(([N, R]) => R.stack.includes("offDeck")).map(([N]) => N), O = Object.values(s);
3092
- E.some((N) => O.includes(N)) && o && y.push(V_());
3093
+ const v = S != null && r.labware[S] != null ? Y(r.labware[S].stack) : null, I = v ?? S, w = (R) => R == null ? null : R in r.modules ? r.modules[R].moduleState : Object.values(r.modules).find(
3094
+ ({ slot: N }) => N === R
3095
+ )?.moduleState ?? null, E = Object.entries(r.labware).filter(([R, N]) => N.stack.includes("offDeck")).map(([R]) => R), O = Object.values(s);
3096
+ E.some((R) => O.includes(R)) && o && y.push(V_());
3093
3097
  const F = w(I);
3094
3098
  F != null && (F.type === Ue && F.lidOpen !== !0 ? y.push(Mn()) : F.type === Pe ? F.latchOpen !== !0 ? y.push(mp()) : F.targetSpeed !== null && y.push(xn()) : F.type === Fn && F.lidOpen !== !0 ? y.push(nn()) : F.type === Kt && F.currentPumpActivity.type !== "pumpDeactivated" && y.push(yp()));
3095
3099
  const M = zb(s) && "moduleId" in s ? s.moduleId : null, ee = jb(s) ? s.labwareId : null, de = ee != null ? r.labware[ee].stack[1] : null, _e = de ?? M;
@@ -3118,31 +3122,31 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3118
3122
  te = Oa;
3119
3123
  else if ("labwareId" in s) {
3120
3124
  te = u[s.labwareId].pythonName;
3121
- const N = r.labware[s.labwareId].stack;
3122
- ve = N[N.length - 1];
3125
+ const R = r.labware[s.labwareId].stack;
3126
+ ve = R[R.length - 1];
3123
3127
  } else if ("moduleId" in s)
3124
3128
  ve = r.modules[s.moduleId].slot, te = p[s.moduleId].pythonName;
3125
3129
  else if ("slotName" in s) {
3126
- const { slotName: N } = s;
3127
- if (N in u) {
3128
- const R = K(
3129
- r.labware[N].stack
3130
+ const { slotName: R } = s;
3131
+ if (R in u) {
3132
+ const N = Y(
3133
+ r.labware[R].stack
3130
3134
  );
3131
- te = Or(u[N].def) ? P(R) : u[N].pythonName;
3132
- const D = r.labware[N].stack;
3135
+ te = Or(u[R].def) ? P(N) : u[R].pythonName;
3136
+ const D = r.labware[R].stack;
3133
3137
  ve = D[D.length - 1];
3134
3138
  } else
3135
- te = P(N), ve = N;
3139
+ te = P(R), ve = R;
3136
3140
  } else if ("addressableAreaName" in s) {
3137
- const N = Me.includes(
3141
+ const R = Me.includes(
3138
3142
  s.addressableAreaName
3139
- ), R = xh.includes(
3143
+ ), N = xh.includes(
3140
3144
  s.addressableAreaName
3141
3145
  ), x = s.addressableAreaName === "fixedTrash", se = up.includes(
3142
3146
  s.addressableAreaName
3143
3147
  ) || x ? Object.values(l)?.map(
3144
3148
  (q) => q.location
3145
- ) : [], $ = !R && !N && !Ts(s.addressableAreaName) ? BI(
3149
+ ) : [], $ = !N && !R && !Ts(s.addressableAreaName) ? BI(
3146
3150
  s.addressableAreaName,
3147
3151
  x ? "fixedTrashSlot" : "trashBinAdapter",
3148
3152
  x ? Rt : We
@@ -3151,11 +3155,11 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3151
3155
  ), V = z != null ? Object.values(l).find(
3152
3156
  (q) => q.location === z
3153
3157
  )?.id : null;
3154
- if (N)
3158
+ if (R)
3155
3159
  te = P(s.addressableAreaName);
3156
- else if (V != null && !R)
3160
+ else if (V != null && !N)
3157
3161
  te = l[V]?.pythonName ?? "";
3158
- else if (V == null && R)
3162
+ else if (V == null && N)
3159
3163
  te = Object.values(c)[0]?.pythonName ?? "";
3160
3164
  else if (Ts(s.addressableAreaName)) {
3161
3165
  const [q] = Object.entries(r.modules).find(
@@ -3169,17 +3173,17 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3169
3173
  te = "";
3170
3174
  }
3171
3175
  if (ve != null) {
3172
- const N = ws({
3176
+ const R = ws({
3173
3177
  slot: ve,
3174
3178
  labwareState: r.labware,
3175
3179
  modulesState: r.modules
3176
- }), R = K(N), { isCompatible: x, isAboveStackLimit: D } = QI(
3180
+ }), N = Y(R), { isCompatible: x, isAboveStackLimit: D } = QI(
3177
3181
  n,
3178
- N,
3182
+ R,
3179
3183
  u,
3180
3184
  p
3181
3185
  );
3182
- x || y.push(Y_()), D && y.push(ow({ slot: R }));
3186
+ x || y.push(Y_()), D && y.push(ow({ slot: N }));
3183
3187
  }
3184
3188
  if (y.length > 0)
3185
3189
  return { errors: y };
@@ -3187,24 +3191,24 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3187
3191
  const Je = o ? ", use_gripper=True" : "", De = Or(u[n].def), Te = r.labware[n].stack;
3188
3192
  let X = "";
3189
3193
  if (De) {
3190
- const N = XI(Te);
3191
- if (N == null)
3194
+ const R = XI(Te);
3195
+ if (R == null)
3192
3196
  console.error(
3193
3197
  "expected to find a parent for labware to move but could not"
3194
3198
  );
3195
3199
  else {
3196
- const R = u[N] != null, x = R && Or(u[N].def);
3197
- Te.length === 2 || R && x ? X = P(
3198
- K(Te)
3199
- ) : (R || !Or(u[N].def)) && (X = u[N].pythonName);
3200
+ const N = u[R] != null, x = N && Or(u[R].def);
3201
+ Te.length === 2 || N && x ? X = P(
3202
+ Y(Te)
3203
+ ) : (N || !Or(u[R].def)) && (X = u[R].pythonName);
3200
3204
  }
3201
3205
  }
3202
3206
  De && X === "" && console.error("expected to find a valid lid move location but could not");
3203
- const G = De ? `${ge}.move_lid(${X}, ${te}${Je})` : `${ge}.move_labware(${je}, ${te}${Je})`;
3207
+ const W = De ? `${ge}.move_lid(${X}, ${te}${Je})` : `${ge}.move_labware(${je}, ${te}${Je})`;
3204
3208
  return {
3205
3209
  commands: Ze,
3206
3210
  ...A.length > 0 ? { warnings: A } : {},
3207
- python: G
3211
+ python: W
3208
3212
  };
3209
3213
  }, ze = (e, t, r) => {
3210
3214
  const { pipetteId: n, fixtureId: a, offset: s } = e, { pipetteEntities: o, trashBinEntities: i, wasteChuteEntities: l } = t, c = o[n], u = c.spec.channels, p = c.pythonName, d = i[a] ?? l[a], h = d.pythonName;
@@ -3225,7 +3229,7 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3225
3229
  ],
3226
3230
  python: `${p}.move_to(${h})`
3227
3231
  };
3228
- }, Ry = (e, t, r) => {
3232
+ }, Ny = (e, t, r) => {
3229
3233
  const { pipetteId: n, addressableAreaName: a } = e;
3230
3234
  return {
3231
3235
  commands: [
@@ -3263,12 +3267,12 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3263
3267
  actionName: u,
3264
3268
  labware: a
3265
3269
  })
3266
- ) : K(r.labware[a].stack) === "offDeck" && p.push(Bn()), Me.includes(A))
3270
+ ) : Y(r.labware[a].stack) === "offDeck" && p.push(Bn()), Me.includes(A))
3267
3271
  p.push(
3268
3272
  Jt({ typeOfStep: "move to well" })
3269
3273
  );
3270
3274
  else if (d[A] != null) {
3271
- const O = K(d[A].stack);
3275
+ const O = Y(d[A].stack);
3272
3276
  Me.includes(O) && p.push(
3273
3277
  Jt({ typeOfStep: u })
3274
3278
  );
@@ -3308,7 +3312,7 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3308
3312
  m,
3309
3313
  f[a]
3310
3314
  ) && p.push(
3311
- Rs()
3315
+ Ns()
3312
3316
  ));
3313
3317
  const T = t.pipetteEntities[n]?.spec.channels !== 1, g = t.pipetteEntities[n]?.spec, S = Dt({
3314
3318
  robotState: r,
@@ -3376,7 +3380,7 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3376
3380
  wellTargetName: s,
3377
3381
  nozzleConfiguration: i,
3378
3382
  primaryNozzle: l
3379
- }), d = Rb({
3383
+ }), d = Nb({
3380
3384
  tipState: r.tipState.tipracks[a],
3381
3385
  primaryNozzle: l,
3382
3386
  channels: u,
@@ -3389,13 +3393,13 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3389
3393
  unsafePipetteMovementReason: p.reason
3390
3394
  })
3391
3395
  ), d.isSafe || c.push(iw()), d.isComplete !== !0 && c.push(lw());
3392
- const h = K(
3396
+ const h = Y(
3393
3397
  r.labware[a].stack
3394
3398
  );
3395
3399
  if (Me.includes(h))
3396
3400
  c.push(Jt({ typeOfStep: "pick up tip" }));
3397
3401
  else if (r.labware[h] != null) {
3398
- const _ = K(
3402
+ const _ = Y(
3399
3403
  r.labware[h].stack
3400
3404
  );
3401
3405
  Me.includes(_) && c.push(Jt({ typeOfStep: "pick up tip" }));
@@ -3415,8 +3419,8 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3415
3419
  ],
3416
3420
  python: b
3417
3421
  };
3418
- }, Ny = (e, t, r) => {
3419
- const { moduleId: n, taskId: a, profileElements: s, blockMaxVolumeUl: o } = e, i = t.moduleEntities[n].pythonName, l = Dv(
3422
+ }, Ry = (e, t, r) => {
3423
+ const { moduleId: n, taskId: a, profileElements: s, blockMaxVolumeUl: o } = e, i = t.moduleEntities[n].pythonName, l = qv(
3420
3424
  e.profileElements
3421
3425
  ), c = l.repeatingProfileSteps.map(
3422
3426
  (f) => `{${P("temperature")}: ${f.celsius}, ${P(
@@ -3424,11 +3428,11 @@ const SI = "opentrons_flex_tiprack_lid", AI = (e, t, r) => {
3424
3428
  )}: ${f.holdSeconds}},`
3425
3429
  ).join(`
3426
3430
  `), p = `${`[
3427
- ${Y(c)}
3431
+ ${G(c)}
3428
3432
  ],`}
3429
3433
  ${l.numRepetitions},
3430
3434
  ` + (e.blockMaxVolumeUl !== void 0 ? `block_max_volume=${e.blockMaxVolumeUl},` : ""), h = (a != null ? `${a} = ` : "") + `${i}.start_execute_profile(
3431
- ${Y(p)}
3435
+ ${G(p)}
3432
3436
  )`;
3433
3437
  return {
3434
3438
  commands: [
@@ -3445,7 +3449,7 @@ ${Y(p)}
3445
3449
  ],
3446
3450
  python: h
3447
3451
  };
3448
- }, Pt = (e, t, r) => {
3452
+ }, Ct = (e, t, r) => {
3449
3453
  const { pipetteId: n } = e, a = t.pipetteEntities[n].pythonName;
3450
3454
  return {
3451
3455
  commands: [
@@ -3543,7 +3547,7 @@ ${Y(p)}
3543
3547
  python: m
3544
3548
  };
3545
3549
  }, js = (e, t, r) => {
3546
- const { moduleId: n } = e, a = t.moduleEntities[n], s = Tt(r, n);
3550
+ const { moduleId: n } = e, a = t.moduleEntities[n], s = St(r, n);
3547
3551
  if (a == null || s == null)
3548
3552
  return {
3549
3553
  errors: [J()]
@@ -3566,7 +3570,7 @@ ${Y(p)}
3566
3570
  python: i
3567
3571
  };
3568
3572
  }, vI = (e, t, r) => {
3569
- const { moduleId: n } = e, a = t.moduleEntities[n], s = Tt(r, n);
3573
+ const { moduleId: n } = e, a = t.moduleEntities[n], s = St(r, n);
3570
3574
  if (a == null || s == null)
3571
3575
  return {
3572
3576
  errors: [J()]
@@ -3589,12 +3593,12 @@ ${Y(p)}
3589
3593
  python: i
3590
3594
  };
3591
3595
  }, ge = "protocol", Oa = "protocol_api.OFF_DECK", Bu = "CUSTOM_LABWARE", Hs = " ";
3592
- function Y(e) {
3596
+ function G(e) {
3593
3597
  return e.split(`
3594
3598
  `).map((t) => t && Hs + t).join(`
3595
3599
  `);
3596
3600
  }
3597
- function Ct(e) {
3601
+ function It(e) {
3598
3602
  switch (typeof e) {
3599
3603
  case "undefined":
3600
3604
  return "None";
@@ -3614,12 +3618,12 @@ function P(e) {
3614
3618
  return JSON.stringify(e);
3615
3619
  }
3616
3620
  function Cy(e) {
3617
- return `(${e.map((t) => Ct(t)).join(", ")})`;
3621
+ return `(${e.map((t) => It(t)).join(", ")})`;
3618
3622
  }
3619
3623
  function Vu(e) {
3620
3624
  return e.every(
3621
3625
  (t) => Array.isArray(t) && t.length === 2 && t.every((r) => typeof r == "number")
3622
- ) ? `[${e.map((t) => Cy(t)).join(", ")}]` : `[${e.map((t) => Ct(t)).join(", ")}]`;
3626
+ ) ? `[${e.map((t) => Cy(t)).join(", ")}]` : `[${e.map((t) => It(t)).join(", ")}]`;
3623
3627
  }
3624
3628
  function kI(e) {
3625
3629
  return ["undefined", "boolean", "number", "string"].includes(typeof e) || e === null;
@@ -3627,13 +3631,13 @@ function kI(e) {
3627
3631
  function zn(e) {
3628
3632
  const t = Object.entries(e), r = t.every(([n, a]) => kI(a));
3629
3633
  if (t.length <= 1 || r) {
3630
- const n = `{${t.map(([a, s]) => `${P(a)}: ${Ct(s)}`).join(", ")}}`;
3634
+ const n = `{${t.map(([a, s]) => `${P(a)}: ${It(s)}`).join(", ")}}`;
3631
3635
  if (t.length <= 1 || n.length < 64)
3632
3636
  return n;
3633
3637
  }
3634
3638
  return `{
3635
- ${Y(
3636
- t.map(([n, a]) => `${P(n)}: ${Ct(a)}`).join(`,
3639
+ ${G(
3640
+ t.map(([n, a]) => `${P(n)}: ${It(a)}`).join(`,
3637
3641
  `)
3638
3642
  )},
3639
3643
  }`;
@@ -3672,10 +3676,10 @@ function Uu(e, t) {
3672
3676
  return r;
3673
3677
  }
3674
3678
  const Dy = (e, t) => [
3675
- `duration_s=${Ct(e)}`,
3676
- ...typeof t == "boolean" ? [`vent_after=${Ct(t)}`] : []
3679
+ `duration_s=${It(e)}`,
3680
+ ...typeof t == "boolean" ? [`vent_after=${It(t)}`] : []
3677
3681
  ], qy = (e, t, r) => {
3678
- const { moduleId: n, percentPower: a, duration: s, ventAfter: o } = e, i = t.moduleEntities[n], l = Tt(r, n);
3682
+ const { moduleId: n, percentPower: a, duration: s, ventAfter: o } = e, i = t.moduleEntities[n], l = St(r, n);
3679
3683
  if (l == null || i == null)
3680
3684
  return {
3681
3685
  errors: [J()]
@@ -3688,8 +3692,8 @@ const Dy = (e, t) => [
3688
3692
  duration: s,
3689
3693
  ventAfter: o,
3690
3694
  taskId: p
3691
- } : null, h = `percent_power=${Ct(a)}`, f = u ? Dy(s, o) : [], m = [h, ...f], _ = `${u ? `${p} = ` : ""}${i.pythonName}.start_set_vacuum_power(
3692
- ${Y(m.join(`,
3695
+ } : null, h = `percent_power=${It(a)}`, f = u ? Dy(s, o) : [], m = [h, ...f], _ = `${u ? `${p} = ` : ""}${i.pythonName}.start_set_vacuum_power(
3696
+ ${G(m.join(`,
3693
3697
  `))}
3694
3698
  )`;
3695
3699
  return {
@@ -3707,7 +3711,7 @@ ${Y(m.join(`,
3707
3711
  python: _
3708
3712
  };
3709
3713
  }, $y = (e, t, r) => {
3710
- const { moduleId: n, gaugePressure: a, duration: s, ventAfter: o } = e, i = t.moduleEntities[n], l = Tt(r, n);
3714
+ const { moduleId: n, gaugePressure: a, duration: s, ventAfter: o } = e, i = t.moduleEntities[n], l = St(r, n);
3711
3715
  if (l == null || i == null)
3712
3716
  return {
3713
3717
  errors: [J()]
@@ -3720,8 +3724,8 @@ ${Y(m.join(`,
3720
3724
  duration: s,
3721
3725
  ventAfter: o,
3722
3726
  taskId: p
3723
- } : null, h = `gauge_pressure_mbar=${Ct(a)}`, f = u ? Dy(s, o) : [], m = [h, ...f], _ = `${u ? `${p} = ` : ""}${i.pythonName}.start_set_vacuum_pressure(
3724
- ${Y(m.join(`,
3727
+ } : null, h = `gauge_pressure_mbar=${It(a)}`, f = u ? Dy(s, o) : [], m = [h, ...f], _ = `${u ? `${p} = ` : ""}${i.pythonName}.start_set_vacuum_pressure(
3728
+ ${G(m.join(`,
3725
3729
  `))}
3726
3730
  )`;
3727
3731
  return {
@@ -3771,21 +3775,21 @@ ${Y(m.join(`,
3771
3775
  if (e.length === 1 && "repetitions" in e[0]) {
3772
3776
  const { steps: a, repetitions: s } = e[0];
3773
3777
  return t = `steps=[
3774
- ${Y(
3778
+ ${G(
3775
3779
  a.map((o, i) => (i === a.length - 1, ds(o))).join(`,
3776
3780
  `)
3777
3781
  )}
3778
- ]`, r = `repetitions=${Ct(s)}`, [t, r];
3782
+ ]`, r = `repetitions=${It(s)}`, [t, r];
3779
3783
  }
3780
3784
  const n = EI(e);
3781
3785
  return t = `steps=[
3782
- ${Y(
3786
+ ${G(
3783
3787
  n.map((a, s) => (s === n.length - 1, ds(a))).join(`,
3784
3788
  `)
3785
3789
  )}
3786
- ]`, r = `repetitions=${Ct(1)}`, [t, r];
3790
+ ]`, r = `repetitions=${It(1)}`, [t, r];
3787
3791
  }, Fy = (e, t, r) => {
3788
- const { moduleId: n, profile: a, ventAfter: s } = e, o = Tt(r, n);
3792
+ const { moduleId: n, profile: a, ventAfter: s } = e, o = St(r, n);
3789
3793
  if (o === null)
3790
3794
  return {
3791
3795
  errors: [J()]
@@ -3794,8 +3798,8 @@ ${Y(
3794
3798
  return {
3795
3799
  errors: [Va()]
3796
3800
  };
3797
- const l = t.moduleEntities[n].pythonName, c = `${l}_task_${o.numPumpActivitiesStarted + 1}`, u = OI(a), p = `vent_after=${Ct(s)}`, d = a.map((f, m) => m === a.length - 1 ? { ...f, ventAfter: s } : f), h = `${c} = ${l}.start_execute_profile(
3798
- ${Y([...u, p].join(`,
3801
+ const l = t.moduleEntities[n].pythonName, c = `${l}_task_${o.numPumpActivitiesStarted + 1}`, u = OI(a), p = `vent_after=${It(s)}`, d = a.map((f, m) => m === a.length - 1 ? { ...f, ventAfter: s } : f), h = `${c} = ${l}.start_execute_profile(
3802
+ ${G([...u, p].join(`,
3799
3803
  `))}
3800
3804
  )`;
3801
3805
  return {
@@ -3813,7 +3817,7 @@ ${Y([...u, p].join(`,
3813
3817
  ],
3814
3818
  python: h
3815
3819
  };
3816
- }, RI = (e, t, r) => {
3820
+ }, NI = (e, t, r) => {
3817
3821
  const { moduleId: n } = e, a = t.moduleEntities[n];
3818
3822
  if (a == null)
3819
3823
  return {
@@ -3845,7 +3849,7 @@ ${Y([...u, p].join(`,
3845
3849
  errors: [J()]
3846
3850
  };
3847
3851
  const i = "status" in s && s.status === Qh && s.targetTemperature !== a, l = "status" in s && s.status === ey && s.targetTemperature !== a;
3848
- if (i || "status" in s && s.status === Ns || "targetTemp" in s && s.targetTemp == null)
3852
+ if (i || "status" in s && s.status === Rs || "targetTemp" in s && s.targetTemp == null)
3849
3853
  return {
3850
3854
  errors: [x_()]
3851
3855
  };
@@ -3889,7 +3893,7 @@ ${Y([...u, p].join(`,
3889
3893
  errors: [J()]
3890
3894
  };
3891
3895
  }
3892
- }, NI = (e, t, r) => {
3896
+ }, RI = (e, t, r) => {
3893
3897
  const {
3894
3898
  pipetteId: n,
3895
3899
  volume: a,
@@ -3918,7 +3922,7 @@ ${Y([...u, p].join(`,
3918
3922
  `flow_rate=${s}`,
3919
3923
  `end_location=${h}${mr(c)}`
3920
3924
  ], m = `${p}.aspirate(
3921
- ${Y(
3925
+ ${G(
3922
3926
  f.join(`,
3923
3927
  `)
3924
3928
  )},
@@ -3956,7 +3960,7 @@ ${Y(
3956
3960
  `flow_rate=${s}`,
3957
3961
  `end_location=${h}${mr(c)}`
3958
3962
  ], m = `${p}.dispense(
3959
- ${Y(
3963
+ ${G(
3960
3964
  f.join(`,
3961
3965
  `)
3962
3966
  )},
@@ -4255,7 +4259,7 @@ function MI(e) {
4255
4259
  return Cw.includes(e.parameters.loadName);
4256
4260
  }
4257
4261
  const xI = (e) => (e.parameters.quirks ?? []).includes("vacuumModuleDock"), BI = (e, t, r) => {
4258
- const s = Rr(r).cutoutFixtures.find(
4262
+ const s = Nr(r).cutoutFixtures.find(
4259
4263
  (l) => l.id.includes(t)
4260
4264
  )?.providesAddressableAreas, i = ((l) => {
4261
4265
  if (s != null) {
@@ -4282,7 +4286,7 @@ function VI(e) {
4282
4286
  }
4283
4287
  }
4284
4288
  function Gy(e) {
4285
- const t = Rr(
4289
+ const t = Nr(
4286
4290
  e === "cutout12" ? Rt : We
4287
4291
  );
4288
4292
  let r = null;
@@ -4295,7 +4299,7 @@ function Gy(e) {
4295
4299
  function UI(e) {
4296
4300
  if (e === "fixedTrash")
4297
4301
  return "cutout12";
4298
- const r = Rr(We).cutoutFixtures.find(
4302
+ const r = Nr(We).cutoutFixtures.find(
4299
4303
  (n) => n.id === "trashBinAdapter"
4300
4304
  )?.providesAddressableAreas ?? null;
4301
4305
  if (r == null)
@@ -4544,7 +4548,7 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4544
4548
  (r) => r !== ce
4545
4549
  ) : !1, YI = (e, t) => e.labware[t] != null ? Object.values(e.labware[t]).some(
4546
4550
  (r) => Object.values(r).some((n) => n.volume > 0)
4547
- ) : !1, Hk = (e, t, r) => {
4551
+ ) : !1, Gk = (e, t, r) => {
4548
4552
  const {
4549
4553
  destinationId: n,
4550
4554
  pipetteId: a,
@@ -4584,21 +4588,21 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4584
4588
  nozzles: h
4585
4589
  })
4586
4590
  ] : _ === "wasteChute" ? y = [
4587
- k(Zv, {
4591
+ k(Jv, {
4588
4592
  pipetteId: a,
4589
4593
  volume: s,
4590
4594
  flowRate: o,
4591
4595
  wasteChuteId: b[n].id
4592
4596
  })
4593
4597
  ] : y = [
4594
- k(Xv, {
4598
+ k(Zv, {
4595
4599
  pipetteId: a,
4596
4600
  volume: s,
4597
4601
  flowRate: o,
4598
4602
  trashId: m[n].id
4599
4603
  })
4600
4604
  ], oe(y, t, r);
4601
- }, Gk = (e, t, r) => {
4605
+ }, Wk = (e, t, r) => {
4602
4606
  const { destinationId: n, pipetteId: a, zOffset: s, well: o } = e, { labwareEntities: i, wasteChuteEntities: l, trashBinEntities: c } = t, u = Ya(
4603
4607
  i,
4604
4608
  l,
@@ -4629,7 +4633,7 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4629
4633
  offset: Qt
4630
4634
  })
4631
4635
  ], oe(p, t, r);
4632
- }, Wk = (e, t, r) => {
4636
+ }, Kk = (e, t, r) => {
4633
4637
  const {
4634
4638
  blowOutLocation: n,
4635
4639
  destinationId: a,
@@ -4655,7 +4659,7 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4655
4659
  destWell: s
4656
4660
  });
4657
4661
  m = [
4658
- k(Vv, {
4662
+ k(Uv, {
4659
4663
  flowRate: o,
4660
4664
  pipetteId: i,
4661
4665
  labwareId: b,
@@ -4665,14 +4669,14 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4665
4669
  })
4666
4670
  ];
4667
4671
  } else f === "wasteChute" ? m = [
4668
- k(Bv, {
4672
+ k(Vv, {
4669
4673
  pipetteId: i,
4670
4674
  volume: u,
4671
4675
  flowRate: o,
4672
4676
  wasteChuteId: h[a].id
4673
4677
  })
4674
4678
  ] : m = [
4675
- k(xv, {
4679
+ k(Bv, {
4676
4680
  pipetteId: i,
4677
4681
  volume: u,
4678
4682
  flowRate: o,
@@ -4680,7 +4684,7 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4680
4684
  })
4681
4685
  ];
4682
4686
  return oe(m, t, r);
4683
- }, Kk = (e, t, r) => {
4687
+ }, Yk = (e, t, r) => {
4684
4688
  const { pipetteId: n, destinationId: a, well: s, zOffset: o, seconds: i } = e, { labwareEntities: l, trashBinEntities: c, wasteChuteEntities: u } = t, p = Ya(
4685
4689
  l,
4686
4690
  u,
@@ -4720,14 +4724,14 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4720
4724
  seconds: i
4721
4725
  })
4722
4726
  ], oe(d, t, r);
4723
- }, K = (e, t = !1) => {
4727
+ }, Y = (e, t = !1) => {
4724
4728
  if (e == null)
4725
4729
  return console.error("expected to find stack but could not"), "unknown slot";
4726
4730
  {
4727
4731
  const r = e[e.length - 1];
4728
4732
  return t ? `STACKER ${r.slice(-2, -1)}` : r;
4729
4733
  }
4730
- }, Yk = (e) => e === _u ? Dw : e, Yy = (e) => e == null ? (console.error("expected to find stack but could not"), "unknown top location") : e[0], XI = (e) => e.length >= 2 ? e[1] : null, ws = (e) => {
4734
+ }, Xk = (e) => e === _u ? Dw : e, Yy = (e) => e == null ? (console.error("expected to find stack but could not"), "unknown top location") : e[0], XI = (e) => e.length >= 2 ? e[1] : null, ws = (e) => {
4731
4735
  const { slot: t, labwareState: r, modulesState: n } = e, a = Object.values(n).find(
4732
4736
  ({ slot: s, moduleState: o }) => s === t && o.type === Ge
4733
4737
  );
@@ -4743,7 +4747,7 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4743
4747
  }, Xy = (e) => Wb[wu[e]], ZI = (e) => {
4744
4748
  const t = Bh.indexOf(e);
4745
4749
  return t === -1 ? null : Me[t];
4746
- }, Xk = (e) => {
4750
+ }, Zk = (e) => {
4747
4751
  const t = ZI(
4748
4752
  e
4749
4753
  );
@@ -4761,7 +4765,7 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4761
4765
  }
4762
4766
  return e;
4763
4767
  }, Hu = (e) => {
4764
- const t = Rr(We), r = `${e[0]}3`, n = wu[r], a = t.cutoutFixtures.find(
4768
+ const t = Nr(We), r = `${e[0]}3`, n = wu[r], a = t.cutoutFixtures.find(
4765
4769
  ({ id: s }) => s === Jb
4766
4770
  )?.providesAddressableAreas[n];
4767
4771
  return Bh.find((s) => a?.includes(s)) ?? null;
@@ -4820,7 +4824,7 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4820
4824
  ).some((p) => u === p);
4821
4825
  }
4822
4826
  return { isCompatible: i, isAboveStackLimit: l };
4823
- }, Gs = (e, t) => t?.find((r) => e[r] != null) ?? null, eT = (e, t, r) => t ? e : r ? Nw[e] : e, Gu = (e, t, r) => {
4827
+ }, Gs = (e, t) => t?.find((r) => e[r] != null) ?? null, eT = (e, t, r) => t ? e : r ? Rw[e] : e, Gu = (e, t, r) => {
4824
4828
  if (t === "offDeck" && r == null)
4825
4829
  return console.error(
4826
4830
  "offDeck slot is not allowed to be used without an offDeckOverrideId"
@@ -4829,7 +4833,7 @@ const KI = (e, t) => e.tipracks[t] != null ? Object.values(e.tipracks[t]).some(
4829
4833
  (i) => i.stack.includes(s) && (r == null || i.stack.includes(r)) && i.stack.includes(mt) === a && i.stack.includes(ry) === n
4830
4834
  );
4831
4835
  return o.length === 0 ? [] : a ? o.at(-1)?.stack ?? [] : n ? o.at(-1)?.stack ?? [] : o.toSorted((i, l) => l.stack.length - i.stack.length)[0]?.stack ?? [];
4832
- }, Zk = (e, t) => Object.values(t).filter((r) => r.stack.includes(e)).sort((r, n) => n.stack.length - r.stack.length)[0]?.stack[0], Ia = (e, t, r, n = !0) => {
4836
+ }, Jk = (e, t) => Object.values(t).filter((r) => r.stack.includes(e)).sort((r, n) => n.stack.length - r.stack.length)[0]?.stack[0], Ia = (e, t, r, n = !0) => {
4833
4837
  const a = Dn(e, t) ?? 0, s = Dn(e, r) ?? 0;
4834
4838
  return e + (n ? a : 0) + s;
4835
4839
  }, Zy = (e) => {
@@ -5001,7 +5005,7 @@ function rm(e) {
5001
5005
  }
5002
5006
  return {};
5003
5007
  }
5004
- const rT = (e) => Rw.includes(e), Ts = (e) => e === _u, Jy = (e) => e.labwareOnShuttle?.primaryLabwareId ?? null, Qy = (e, t, r) => {
5008
+ const rT = (e) => Nw.includes(e), Ts = (e) => e === _u, Jy = (e) => e.labwareOnShuttle?.primaryLabwareId ?? null, Qy = (e, t, r) => {
5005
5009
  if (r?.storedLabwareDetails == null)
5006
5010
  return !0;
5007
5011
  const n = Object.values(
@@ -5037,9 +5041,26 @@ const rT = (e) => Rw.includes(e), Ts = (e) => e === _u, Jy = (e) => e.labwareOnS
5037
5041
  );
5038
5042
  }, aT = (e) => ![
5039
5043
  Oa,
5040
- Nr,
5044
+ Rr,
5041
5045
  ...Me
5042
- ].some((t) => e === t), Ws = (e, t, r) => {
5046
+ ].some((t) => e === t);
5047
+ function Qk(e, t) {
5048
+ if (typeof e == "number")
5049
+ return e;
5050
+ const r = t[e];
5051
+ return r != null && (r.type === "float" || r.type === "int") ? r.default : null;
5052
+ }
5053
+ function eL(e, t) {
5054
+ const r = t[e];
5055
+ return r == null ? e : r.type === "string" ? r.default : null;
5056
+ }
5057
+ function tL(e, t) {
5058
+ if (typeof e == "boolean")
5059
+ return e;
5060
+ const r = t[e];
5061
+ return r != null && r.type === "boolean" ? r.default : null;
5062
+ }
5063
+ const Ws = (e, t, r) => {
5043
5064
  const n = t[r]?.stack, a = Gs(e, n), s = a != null ? e[a].moduleState : null;
5044
5065
  return !!(s && s.type === Fn && s.lidOpen !== !0);
5045
5066
  };
@@ -5095,7 +5116,7 @@ function nt(e, ...t) {
5095
5116
  `[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`
5096
5117
  );
5097
5118
  }
5098
- var Ra = Object.getPrototypeOf;
5119
+ var Na = Object.getPrototypeOf;
5099
5120
  function Hn(e) {
5100
5121
  return !!e && !!e[ht];
5101
5122
  }
@@ -5167,9 +5188,9 @@ function du(e, t) {
5167
5188
  value: e[o]
5168
5189
  });
5169
5190
  }
5170
- return Object.create(Ra(e), n);
5191
+ return Object.create(Na(e), n);
5171
5192
  } else {
5172
- const n = Ra(e);
5193
+ const n = Na(e);
5173
5194
  if (n !== null && r)
5174
5195
  return { ...e };
5175
5196
  const a = Object.create(n);
@@ -5198,9 +5219,9 @@ function sn(e) {
5198
5219
  const t = uT[e];
5199
5220
  return t || nt(0, e), t;
5200
5221
  }
5201
- var Na;
5222
+ var Ra;
5202
5223
  function sb() {
5203
- return Na;
5224
+ return Ra;
5204
5225
  }
5205
5226
  function pT(e, t) {
5206
5227
  return {
@@ -5220,10 +5241,10 @@ function fu(e) {
5220
5241
  mu(e), e.drafts_.forEach(dT), e.drafts_ = null;
5221
5242
  }
5222
5243
  function mu(e) {
5223
- e === Na && (Na = e.parent_);
5244
+ e === Ra && (Ra = e.parent_);
5224
5245
  }
5225
5246
  function im(e) {
5226
- return Na = pT(Na, e);
5247
+ return Ra = pT(Ra, e);
5227
5248
  }
5228
5249
  function dT(e) {
5229
5250
  const t = e[ht];
@@ -5380,7 +5401,7 @@ var Yu = {
5380
5401
  nt(11);
5381
5402
  },
5382
5403
  getPrototypeOf(e) {
5383
- return Ra(e.base_);
5404
+ return Na(e.base_);
5384
5405
  },
5385
5406
  setPrototypeOf() {
5386
5407
  nt(12);
@@ -5412,12 +5433,12 @@ function mT(e, t, r) {
5412
5433
  function ob(e, t) {
5413
5434
  if (!(t in e))
5414
5435
  return;
5415
- let r = Ra(e);
5436
+ let r = Na(e);
5416
5437
  for (; r; ) {
5417
5438
  const n = Object.getOwnPropertyDescriptor(r, t);
5418
5439
  if (n)
5419
5440
  return n;
5420
- r = Ra(r);
5441
+ r = Na(r);
5421
5442
  }
5422
5443
  }
5423
5444
  function hu(e) {
@@ -5589,7 +5610,7 @@ const wT = (e, t) => ["pipetteId", "volume", "labwareId", "wellName"].every((n)
5589
5610
  function AT(e, t, r) {
5590
5611
  const { pipetteId: n, volume: a } = e, { robotState: s } = r, o = s.pipettes[n].nozzles;
5591
5612
  let l = t.pipetteEntities[n].spec.channels;
5592
- o === It ? l = 8 : o === ft && (l = 1), qn(l).forEach((c) => {
5613
+ o === Tt ? l = 8 : o === ft && (l = 1), qn(l).forEach((c) => {
5593
5614
  const u = s.liquidState.pipettes[n][c] ?? {}, p = u[st]?.volume ?? 0;
5594
5615
  s.liquidState.pipettes[n][c] = {
5595
5616
  ...u,
@@ -5658,7 +5679,7 @@ function OT() {
5658
5679
  return Yl = e, Yl;
5659
5680
  }
5660
5681
  var Xl, mm;
5661
- function RT() {
5682
+ function NT() {
5662
5683
  if (mm) return Xl;
5663
5684
  mm = 1;
5664
5685
  var e = LT(), t = ET(), r = OT();
@@ -5668,10 +5689,10 @@ function RT() {
5668
5689
  return Xl = n, Xl;
5669
5690
  }
5670
5691
  var Zl, hm;
5671
- function NT() {
5692
+ function RT() {
5672
5693
  if (hm) return Zl;
5673
5694
  hm = 1;
5674
- var e = RT();
5695
+ var e = NT();
5675
5696
  function t(r, n) {
5676
5697
  var a = r == null ? 0 : r.length;
5677
5698
  return !!a && e(r, n, 0) > -1;
@@ -5711,7 +5732,7 @@ var tc, wm;
5711
5732
  function qT() {
5712
5733
  if (wm) return tc;
5713
5734
  wm = 1;
5714
- var e = iy(), t = NT(), r = PT(), n = cy(), a = DT(), s = Lu(), o = 200;
5735
+ var e = iy(), t = RT(), r = PT(), n = cy(), a = DT(), s = Lu(), o = 200;
5715
5736
  function i(l, c, u) {
5716
5737
  var p = -1, d = t, h = l.length, f = !0, m = [], b = m;
5717
5738
  if (u)
@@ -5755,7 +5776,7 @@ const MT = /* @__PURE__ */ Xe(FT), Zu = (e) => {
5755
5776
  switch (t) {
5756
5777
  case Cr:
5757
5778
  return 12;
5758
- case It:
5779
+ case Tt:
5759
5780
  return 8;
5760
5781
  case ft:
5761
5782
  return 1;
@@ -5966,7 +5987,7 @@ function zT(e, t, r) {
5966
5987
  const i = o.tipState, l = t.pipetteEntities[n].spec, c = o.pipettes[n].nozzles, u = Lb(c, l), p = (h, f) => h.find((m) => m.includes(f)), d = t.labwareEntities[s]?.def;
5967
5988
  d == null || !Pr(d) ? console.warn(
5968
5989
  `forDropTip expected ${s} to have definition and to be a tiprack`
5969
- ) : (u === ft ? i.tipracks[s][a] = kr : u === It ? (p(d.ordering, a) ?? []).forEach(
5990
+ ) : (u === ft ? i.tipracks[s][a] = kr : u === Tt ? (p(d.ordering, a) ?? []).forEach(
5970
5991
  (f) => i.tipracks[s][f] = kr
5971
5992
  ) : u === Ye ? l.channels === 96 ? d.ordering.reduce(
5972
5993
  (f, m) => f.concat(m),
@@ -6101,10 +6122,10 @@ function XT() {
6101
6122
  e.exports = l;
6102
6123
  })(ka, ka.exports)), ka.exports;
6103
6124
  }
6104
- var pc, Rm;
6125
+ var pc, Nm;
6105
6126
  function ZT() {
6106
- if (Rm) return pc;
6107
- Rm = 1;
6127
+ if (Nm) return pc;
6128
+ Nm = 1;
6108
6129
  function e(t, r) {
6109
6130
  var n = -1, a = t.length;
6110
6131
  for (r || (r = Array(a)); ++n < a; )
@@ -6113,10 +6134,10 @@ function ZT() {
6113
6134
  }
6114
6135
  return pc = e, pc;
6115
6136
  }
6116
- var dc, Nm;
6137
+ var dc, Rm;
6117
6138
  function JT() {
6118
- if (Nm) return dc;
6119
- Nm = 1;
6139
+ if (Rm) return dc;
6140
+ Rm = 1;
6120
6141
  var e = Za(), t = Eu();
6121
6142
  function r(n, a) {
6122
6143
  return e(n, t(n), a);
@@ -6309,7 +6330,7 @@ var Lc, Gm;
6309
6330
  function cS() {
6310
6331
  if (Gm) return Lc;
6311
6332
  Gm = 1;
6312
- var e = lS(), t = Ru(), r = Nu(), n = r && r.isMap, a = n ? t(n) : e;
6333
+ var e = lS(), t = Nu(), r = Ru(), n = r && r.isMap, a = n ? t(n) : e;
6313
6334
  return Lc = a, Lc;
6314
6335
  }
6315
6336
  var Ec, Wm;
@@ -6326,23 +6347,23 @@ var Oc, Km;
6326
6347
  function pS() {
6327
6348
  if (Km) return Oc;
6328
6349
  Km = 1;
6329
- var e = uS(), t = Ru(), r = Nu(), n = r && r.isSet, a = n ? t(n) : e;
6350
+ var e = uS(), t = Nu(), r = Ru(), n = r && r.isSet, a = n ? t(n) : e;
6330
6351
  return Oc = a, Oc;
6331
6352
  }
6332
- var Rc, Ym;
6353
+ var Nc, Ym;
6333
6354
  function pb() {
6334
- if (Ym) return Rc;
6355
+ if (Ym) return Nc;
6335
6356
  Ym = 1;
6336
- var e = ku(), t = HT(), r = Ju(), n = GT(), a = YT(), s = XT(), o = ZT(), i = JT(), l = QT(), c = wy(), u = tp(), p = Ga(), d = eS(), h = sS(), f = iS(), m = ot(), b = Bs(), _ = cS(), y = yr(), A = pS(), T = Ha(), g = Qu(), S = 1, v = 2, I = 4, w = "[object Arguments]", E = "[object Array]", O = "[object Boolean]", F = "[object Date]", M = "[object Error]", ee = "[object Function]", de = "[object GeneratorFunction]", _e = "[object Map]", ae = "[object Number]", Ie = "[object Object]", Ce = "[object RegExp]", Ze = "[object Set]", je = "[object String]", te = "[object Symbol]", ve = "[object WeakMap]", Je = "[object ArrayBuffer]", De = "[object DataView]", Te = "[object Float32Array]", X = "[object Float64Array]", G = "[object Int8Array]", N = "[object Int16Array]", R = "[object Int32Array]", x = "[object Uint8Array]", D = "[object Uint8ClampedArray]", se = "[object Uint16Array]", $ = "[object Uint32Array]", z = {};
6337
- z[w] = z[E] = z[Je] = z[De] = z[O] = z[F] = z[Te] = z[X] = z[G] = z[N] = z[R] = z[_e] = z[ae] = z[Ie] = z[Ce] = z[Ze] = z[je] = z[te] = z[x] = z[D] = z[se] = z[$] = !0, z[M] = z[ee] = z[ve] = !1;
6357
+ var e = ku(), t = HT(), r = Ju(), n = GT(), a = YT(), s = XT(), o = ZT(), i = JT(), l = QT(), c = wy(), u = tp(), p = Ga(), d = eS(), h = sS(), f = iS(), m = ot(), b = Bs(), _ = cS(), y = yr(), A = pS(), T = Ha(), g = Qu(), S = 1, v = 2, I = 4, w = "[object Arguments]", E = "[object Array]", O = "[object Boolean]", F = "[object Date]", M = "[object Error]", ee = "[object Function]", de = "[object GeneratorFunction]", _e = "[object Map]", ae = "[object Number]", Ie = "[object Object]", Ce = "[object RegExp]", Ze = "[object Set]", je = "[object String]", te = "[object Symbol]", ve = "[object WeakMap]", Je = "[object ArrayBuffer]", De = "[object DataView]", Te = "[object Float32Array]", X = "[object Float64Array]", W = "[object Int8Array]", R = "[object Int16Array]", N = "[object Int32Array]", x = "[object Uint8Array]", D = "[object Uint8ClampedArray]", se = "[object Uint16Array]", $ = "[object Uint32Array]", z = {};
6358
+ z[w] = z[E] = z[Je] = z[De] = z[O] = z[F] = z[Te] = z[X] = z[W] = z[R] = z[N] = z[_e] = z[ae] = z[Ie] = z[Ce] = z[Ze] = z[je] = z[te] = z[x] = z[D] = z[se] = z[$] = !0, z[M] = z[ee] = z[ve] = !1;
6338
6359
  function V(q, U, ue, xe, it, He) {
6339
- var pe, lt = U & S, St = U & v, $t = U & I;
6360
+ var pe, lt = U & S, At = U & v, $t = U & I;
6340
6361
  if (ue && (pe = it ? ue(q, xe, it, He) : ue(q)), pe !== void 0)
6341
6362
  return pe;
6342
6363
  if (!y(q))
6343
6364
  return q;
6344
- var At = m(q);
6345
- if (At) {
6365
+ var vt = m(q);
6366
+ if (vt) {
6346
6367
  if (pe = d(q), !lt)
6347
6368
  return o(q, pe);
6348
6369
  } else {
@@ -6350,8 +6371,8 @@ function pb() {
6350
6371
  if (b(q))
6351
6372
  return s(q, lt);
6352
6373
  if (Oe == Ie || Oe == w || ct && !it) {
6353
- if (pe = St || ct ? {} : f(q), !lt)
6354
- return St ? l(q, a(pe, q)) : i(q, n(pe, q));
6374
+ if (pe = At || ct ? {} : f(q), !lt)
6375
+ return At ? l(q, a(pe, q)) : i(q, n(pe, q));
6355
6376
  } else {
6356
6377
  if (!z[Oe])
6357
6378
  return it ? q : {};
@@ -6367,16 +6388,16 @@ function pb() {
6367
6388
  }) : _(q) && q.forEach(function(re, ne) {
6368
6389
  pe.set(ne, V(re, U, ue, ne, q, He));
6369
6390
  });
6370
- var Re = $t ? St ? u : c : St ? g : T, qe = At ? void 0 : Re(q);
6391
+ var Ne = $t ? At ? u : c : At ? g : T, qe = vt ? void 0 : Ne(q);
6371
6392
  return t(qe || q, function(re, ne) {
6372
6393
  qe && (ne = re, re = q[ne]), r(pe, ne, V(re, U, ue, ne, q, He));
6373
6394
  }), pe;
6374
6395
  }
6375
- return Rc = V, Rc;
6396
+ return Nc = V, Nc;
6376
6397
  }
6377
- var Nc, Xm;
6398
+ var Rc, Xm;
6378
6399
  function db() {
6379
- if (Xm) return Nc;
6400
+ if (Xm) return Rc;
6380
6401
  Xm = 1;
6381
6402
  function e(t, r, n) {
6382
6403
  var a = -1, s = t.length;
@@ -6385,7 +6406,7 @@ function db() {
6385
6406
  o[a] = t[a + r];
6386
6407
  return o;
6387
6408
  }
6388
- return Nc = e, Nc;
6409
+ return Rc = e, Rc;
6389
6410
  }
6390
6411
  var Pc, Zm;
6391
6412
  function dS() {
@@ -6603,7 +6624,7 @@ const LS = /* @__PURE__ */ Xe(kS), np = (e) => {
6603
6624
  hb(a, c), s = l, a.set(t, s);
6604
6625
  }
6605
6626
  return { stack: s, memo: a };
6606
- }, Jk = (e) => {
6627
+ }, rL = (e) => {
6607
6628
  const { node: t, robotState: r, deckDef: n, deckConfiguration: a } = e, { stack: s } = np({ node: t, robotState: r }), { cutoutFixtures: o } = n, i = s.find(
6608
6629
  (l) => typeof l == "object" && "addressableAreaName" in l
6609
6630
  );
@@ -6653,7 +6674,7 @@ const LS = /* @__PURE__ */ Xe(kS), np = (e) => {
6653
6674
  c.length > s.length && (s = c);
6654
6675
  }
6655
6676
  return s;
6656
- }, RS = (e) => {
6677
+ }, NS = (e) => {
6657
6678
  const t = [], r = /* @__PURE__ */ new Set();
6658
6679
  for (const n of Object.keys(e.labware)) {
6659
6680
  if (r.has(n))
@@ -6677,7 +6698,7 @@ const LS = /* @__PURE__ */ Xe(kS), np = (e) => {
6677
6698
  a
6678
6699
  );
6679
6700
  return c.length === 0 ? null : c[0];
6680
- }, Qk = (e) => {
6701
+ }, nL = (e) => {
6681
6702
  const { location: t, robotState: r, moduleEntities: n, deckDef: a } = e;
6682
6703
  if (t === "offDeck" || t === "systemLocation" || t === "wasteChuteLocation")
6683
6704
  return null;
@@ -6695,7 +6716,7 @@ const LS = /* @__PURE__ */ Xe(kS), np = (e) => {
6695
6716
  });
6696
6717
  }
6697
6718
  return null;
6698
- }, NS = (e) => {
6719
+ }, RS = (e) => {
6699
6720
  const { deckConfiguration: t, deckDefinition: r } = e;
6700
6721
  return t.reduce(
6701
6722
  (n, {
@@ -6708,13 +6729,13 @@ const LS = /* @__PURE__ */ Xe(kS), np = (e) => {
6708
6729
  }), n),
6709
6730
  /* @__PURE__ */ new Set()
6710
6731
  );
6711
- }, eL = (e) => {
6712
- const { robotState: t, deckConfiguration: r, deckDefinition: n, moduleEntities: a } = e, s = NS({
6732
+ }, aL = (e) => {
6733
+ const { robotState: t, deckConfiguration: r, deckDefinition: n, moduleEntities: a } = e, s = RS({
6713
6734
  deckConfiguration: r,
6714
6735
  deckDefinition: n
6715
6736
  }), o = new Set(
6716
6737
  s
6717
- ), i = RS(t);
6738
+ ), i = NS(t);
6718
6739
  for (const l of i) {
6719
6740
  const c = Wu(l);
6720
6741
  if (typeof c == "object" && "addressableAreaName" in c) {
@@ -6801,7 +6822,7 @@ const LS = /* @__PURE__ */ Xe(kS), np = (e) => {
6801
6822
  e,
6802
6823
  (a, s) => n[s] != null ? { ...a, contains: n[s] } : a
6803
6824
  );
6804
- }, tL = (e, t, r) => {
6825
+ }, sL = (e, t, r) => {
6805
6826
  const n = Object.keys(e.labware), a = new Set(n);
6806
6827
  let s = fr(e.labware, (o, i) => {
6807
6828
  const l = o.stackedOnNode ?? CS({
@@ -6822,7 +6843,7 @@ function FS(e, t, r) {
6822
6843
  const { labwareId: n, newLocation: a } = e, { robotState: s } = r, { labwareEntities: o } = t, { modules: i, labware: l } = s;
6823
6844
  if (l[n] == null)
6824
6845
  return;
6825
- const c = K(l[n].stack), u = Gu(
6846
+ const c = Y(l[n].stack), u = Gu(
6826
6847
  l,
6827
6848
  c,
6828
6849
  n
@@ -7003,7 +7024,7 @@ function BS(e, t, r) {
7003
7024
  ) : m.forEach(function(b) {
7004
7025
  l.tipracks[a][b] = ce;
7005
7026
  });
7006
- } else if (p === It) {
7027
+ } else if (p === Tt) {
7007
7028
  const m = d(i.ordering, s);
7008
7029
  m == null && console.error(`Invalid primary well for tip pickup: ${s}`), m?.forEach(function(b) {
7009
7030
  l.tipracks[a][b] = ce;
@@ -7173,13 +7194,13 @@ const tA = (e, t) => {
7173
7194
  );
7174
7195
  }
7175
7196
  }, rA = (e, t, r) => {
7176
- const { moduleId: n } = e, { robotState: a } = r, s = Tt(a, n);
7197
+ const { moduleId: n } = e, { robotState: a } = r, s = St(a, n);
7177
7198
  s != null && (s.ventStatus = ny);
7178
7199
  }, nA = (e, t, r) => {
7179
- const { moduleId: n } = e, { robotState: a } = r, s = Tt(a, n);
7200
+ const { moduleId: n } = e, { robotState: a } = r, s = St(a, n);
7180
7201
  s != null && (s.ventStatus = Cs);
7181
7202
  }, aA = (e, t, r) => {
7182
- const { moduleId: n, gaugePressure: a, duration: s, ventAfter: o = !0, taskId: i } = e, { robotState: l } = r, { labwareEntities: c } = t, u = Tt(l, n);
7203
+ const { moduleId: n, gaugePressure: a, duration: s, ventAfter: o = !0, taskId: i } = e, { robotState: l } = r, { labwareEntities: c } = t, u = St(l, n);
7183
7204
  u != null && (ap(n, l, c), s == null || i == null ? u.currentPumpActivity = {
7184
7205
  type: "indefiniteHold",
7185
7206
  mode: Pp,
@@ -7193,26 +7214,26 @@ const tA = (e, t) => {
7193
7214
  ventAfter: o
7194
7215
  }, u.numPumpActivitiesStarted++), u.ventStatus = Cs);
7195
7216
  }, sA = (e, t, r) => {
7196
- const { moduleId: n, percentPower: a, duration: s, ventAfter: o = !0, taskId: i } = e, { robotState: l } = r, { labwareEntities: c } = t, u = Tt(l, n);
7217
+ const { moduleId: n, percentPower: a, duration: s, ventAfter: o = !0, taskId: i } = e, { robotState: l } = r, { labwareEntities: c } = t, u = St(l, n);
7197
7218
  u != null && (ap(n, l, c), s == null || i == null ? u.currentPumpActivity = {
7198
7219
  type: "indefiniteHold",
7199
- mode: Np,
7220
+ mode: Rp,
7200
7221
  targetPower: a
7201
7222
  } : (u.currentPumpActivity = {
7202
7223
  type: "timedHold",
7203
- mode: Np,
7224
+ mode: Rp,
7204
7225
  targetPower: a,
7205
7226
  durationSeconds: s,
7206
7227
  taskId: i,
7207
7228
  ventAfter: o
7208
7229
  }, u.numPumpActivitiesStarted++), u.ventStatus = Cs);
7209
7230
  }, oA = (e, t, r) => {
7210
- const { moduleId: n } = e, { robotState: a } = r, s = Tt(a, n);
7231
+ const { moduleId: n } = e, { robotState: a } = r, s = St(a, n);
7211
7232
  s != null && (s.currentPumpActivity = {
7212
7233
  type: "pumpDeactivated"
7213
7234
  });
7214
7235
  }, iA = (e, t, r) => {
7215
- const { moduleId: n, steps: a, taskId: s, ventAfter: o = !0 } = e, { robotState: i } = r, { labwareEntities: l } = t, c = Tt(i, n);
7236
+ const { moduleId: n, steps: a, taskId: s, ventAfter: o = !0 } = e, { robotState: i } = r, { labwareEntities: l } = t, c = St(i, n);
7216
7237
  c == null || s == null || (ap(n, i, l), c.currentPumpActivity = {
7217
7238
  type: "profile",
7218
7239
  profileElements: a,
@@ -7639,7 +7660,7 @@ function EA(e, t, r) {
7639
7660
  }
7640
7661
  function OA(e, t, r) {
7641
7662
  const { robotState: n } = r, { moduleId: a } = e, s = nr(n, a);
7642
- Ab(s, null, Ns);
7663
+ Ab(s, null, Rs);
7643
7664
  }
7644
7665
  function vb(e, t, r) {
7645
7666
  if (!e)
@@ -8022,7 +8043,7 @@ function vb(e, t, r) {
8022
8043
  );
8023
8044
  }
8024
8045
  }
8025
- function RA(e, t, r) {
8046
+ function NA(e, t, r) {
8026
8047
  return lb({
8027
8048
  warnings: [],
8028
8049
  robotState: r
@@ -8045,7 +8066,7 @@ function kb(e, t, r) {
8045
8066
  });
8046
8067
  });
8047
8068
  }
8048
- const rL = (e, t, r) => {
8069
+ const oL = (e, t, r) => {
8049
8070
  const n = e.reduce(
8050
8071
  (a, s, o) => {
8051
8072
  const i = a.timeline.length === 0 ? r : Wu(a.timeline).robotState;
@@ -8061,7 +8082,7 @@ const rL = (e, t, r) => {
8061
8082
  errors: l.errors
8062
8083
  };
8063
8084
  const u = cb(l.commands).reduce(
8064
- (d, h) => RA(
8085
+ (d, h) => NA(
8065
8086
  h,
8066
8087
  t,
8067
8088
  d.robotState
@@ -8097,7 +8118,7 @@ const rL = (e, t, r) => {
8097
8118
  };
8098
8119
  }, Ja = (e, t) => {
8099
8120
  const r = t[e]?.stack;
8100
- return r != null ? K(r) : "";
8121
+ return r != null ? Y(r) : "";
8101
8122
  }, Qa = (e) => {
8102
8123
  if (e.type === Kt) {
8103
8124
  const t = e;
@@ -8112,7 +8133,7 @@ const rL = (e, t, r) => {
8112
8133
  const { pipette: t, labware: r, invariantContext: n, prevRobotState: a } = e;
8113
8134
  if (n.config.OT_PD_DISABLE_MODULE_RESTRICTIONS)
8114
8135
  return !1;
8115
- const s = t ? n.pipetteEntities[t] : null, o = r ? K(a.labware[r]?.stack) : null;
8136
+ const s = t ? n.pipetteEntities[t] : null, o = r ? Y(a.labware[r]?.stack) : null;
8116
8137
  if (!t || !r || !s || !o)
8117
8138
  return !1;
8118
8139
  const i = Object.keys(n.moduleEntities).some(
@@ -8180,9 +8201,9 @@ const rL = (e, t, r) => {
8180
8201
  t[r]?.stack
8181
8202
  ), a = n && e[n].moduleState;
8182
8203
  return !!(a && a.type === Ue && a.lidOpen !== !0);
8183
- }, nL = (e) => e.commandCreatorFnName !== "delay" && e.commandCreatorFnName !== "engageMagnet" && e.commandCreatorFnName !== "disengageMagnet" && e.commandCreatorFnName !== "setTemperature" && e.commandCreatorFnName !== "deactivateTemperature" && "pipette" in e ? e.pipette : null, aL = (e) => e.commandCreatorFnName === "delay" || e.commandCreatorFnName === "engageMagnet" || e.commandCreatorFnName === "disengageMagnet" || e.commandCreatorFnName === "setTemperature" || e.commandCreatorFnName === "deactivateTemperature", NA = /* @__PURE__ */ new Date("2025-03-19T00:00:00Z"), PA = 2, CA = 22;
8184
- function sL(e, t, r) {
8185
- const { labware: n, modules: a, pipettes: s, commands: o, liquids: i } = e, l = t.protocolType === "python" ? t.apiVersion : null, c = l != null && l[0] >= PA && l[1] >= CA, u = t.protocolType === "json" && r >= NA, p = n_(o), d = i.reduce((y, A) => {
8204
+ }, iL = (e) => e.commandCreatorFnName !== "delay" && e.commandCreatorFnName !== "engageMagnet" && e.commandCreatorFnName !== "disengageMagnet" && e.commandCreatorFnName !== "setTemperature" && e.commandCreatorFnName !== "deactivateTemperature" && "pipette" in e ? e.pipette : null, lL = (e) => e.commandCreatorFnName === "delay" || e.commandCreatorFnName === "engageMagnet" || e.commandCreatorFnName === "disengageMagnet" || e.commandCreatorFnName === "setTemperature" || e.commandCreatorFnName === "deactivateTemperature", RA = /* @__PURE__ */ new Date("2025-03-19T00:00:00Z"), PA = 2, CA = 22;
8205
+ function cL(e, t, r) {
8206
+ const { labware: n, modules: a, pipettes: s, commands: o, liquids: i } = e, l = t.protocolType === "python" ? t.apiVersion : null, c = l != null && l[0] >= PA && l[1] >= CA, u = t.protocolType === "json" && r >= RA, p = n_(o), d = i.reduce((y, A) => {
8186
8207
  const { id: T, description: g, displayName: S, displayColor: v } = A;
8187
8208
  return {
8188
8209
  ...y,
@@ -8337,7 +8358,7 @@ const DA = {
8337
8358
  C3: "C4",
8338
8359
  D3: "D4"
8339
8360
  };
8340
- function oL(e, t) {
8361
+ function uL(e, t) {
8341
8362
  const r = e.reduce(
8342
8363
  (o, i) => i.commandType === "loadPipette" && i.result != null ? {
8343
8364
  ...o,
@@ -8515,7 +8536,7 @@ const dh = (e, t, r) => {
8515
8536
  r.adapterLabwareId,
8516
8537
  r.lidLabwareId
8517
8538
  ].filter((n) => n != null)
8518
- ) ?? [], Lb = (e, t) => e ?? (t.channels === 1 ? ft : t.channels === 96 ? Ye : It);
8539
+ ) ?? [], Lb = (e, t) => e ?? (t.channels === 1 ? ft : t.channels === 96 ? Ye : Tt);
8519
8540
  var Wc, mh;
8520
8541
  function qA() {
8521
8542
  if (mh) return Wc;
@@ -8554,7 +8575,7 @@ const ts = /* @__PURE__ */ Xe(FA), rs = (e, t) => ts(
8554
8575
  e,
8555
8576
  (a, s) => gu(
8556
8577
  r,
8557
- K(a.stack)
8578
+ Y(a.stack)
8558
8579
  ) && i_(
8559
8580
  t[s].def,
8560
8581
  l_
@@ -8854,7 +8875,7 @@ const KA = (e, t) => {
8854
8875
  (n) => !n || n.volume <= 0
8855
8876
  )
8856
8877
  };
8857
- }, iL = (e, t) => {
8878
+ }, pL = (e, t) => {
8858
8879
  const r = WA(t);
8859
8880
  return _t(
8860
8881
  r,
@@ -8867,7 +8888,7 @@ const KA = (e, t) => {
8867
8888
  },
8868
8889
  {}
8869
8890
  );
8870
- }, lL = (e, t) => {
8891
+ }, dL = (e, t) => {
8871
8892
  const r = {};
8872
8893
  return t.forEach((n) => {
8873
8894
  const a = e != null ? Object.values(e).reduce(
@@ -8882,14 +8903,14 @@ const KA = (e, t) => {
8882
8903
  ) : {};
8883
8904
  r[n] = a;
8884
8905
  }), r;
8885
- }, cL = (e) => {
8906
+ }, fL = (e) => {
8886
8907
  const t = e.flatMap(
8887
8908
  (r) => r == null ? [] : Object.values(r).flatMap(
8888
8909
  (n) => n.groupIds.filter((a) => a !== st)
8889
8910
  )
8890
8911
  );
8891
8912
  return Array.from(new Set(t));
8892
- }, uL = (e) => {
8913
+ }, mL = (e) => {
8893
8914
  const t = e != null ? Object.values(e).flatMap((r) => r.groupIds)?.filter((r) => r !== st) : [];
8894
8915
  return Array.from(new Set(t));
8895
8916
  }, YA = "#737578", XA = (e) => {
@@ -8900,7 +8921,7 @@ const KA = (e, t) => {
8900
8921
  }, ZA = (e, t) => {
8901
8922
  const r = e.filter((n) => n !== st);
8902
8923
  return r.length === 0 ? null : r.length === 1 ? t[r[0]] ?? XA(r[0]) : YA;
8903
- }, pL = (e, t) => _t(
8924
+ }, hL = (e, t) => _t(
8904
8925
  e,
8905
8926
  (r, n, a) => {
8906
8927
  const s = ZA(n.groupIds, t);
@@ -8928,12 +8949,12 @@ function QA() {
8928
8949
  return tu = n, tu;
8929
8950
  }
8930
8951
  var ev = QA();
8931
- const tv = /* @__PURE__ */ Xe(ev), rv = "2.31", dL = "9.0.1";
8932
- function fL() {
8952
+ const tv = /* @__PURE__ */ Xe(ev), rv = "2.31", yL = "9.0.1";
8953
+ function bL() {
8933
8954
  return ["import json", "from opentrons import protocol_api, types"].join(`
8934
8955
  `);
8935
8956
  }
8936
- function mL(e) {
8957
+ function _L(e) {
8937
8958
  function t(n) {
8938
8959
  return n ? new Date(n).toISOString() : "";
8939
8960
  }
@@ -8955,7 +8976,7 @@ function mL(e) {
8955
8976
  );
8956
8977
  return `metadata = ${zn(r)}`;
8957
8978
  }
8958
- function hL(e) {
8979
+ function wL(e) {
8959
8980
  const r = {
8960
8981
  robotType: {
8961
8982
  // values from api/src/opentrons/protocols/parse.py
@@ -9001,7 +9022,7 @@ function av(e, t, r) {
9001
9022
  ].join(`,
9002
9023
  `);
9003
9024
  return `${l} = ${m}.load_adapter(
9004
- ${Y(y)},
9025
+ ${G(y)},
9005
9026
  )`;
9006
9027
  } else {
9007
9028
  const y = [
@@ -9010,7 +9031,7 @@ ${Y(y)},
9010
9031
  ].join(`,
9011
9032
  `);
9012
9033
  return `${l} = ${m}.load_adapter_from_definition(
9013
- ${Y(y)},
9034
+ ${G(y)},
9014
9035
  )`;
9015
9036
  }
9016
9037
  }).join(`
@@ -9027,7 +9048,7 @@ const sv = (e, t, r) => e.reduce(
9027
9048
  ) || u != null, d = o.parameters.loadName;
9028
9049
  if (!p)
9029
9050
  return n;
9030
- const h = u != null ? t[u]?.pythonName : K(i), f = i.length - (u != null ? 2 : 1);
9051
+ const h = u != null ? t[u]?.pythonName : Y(i), f = i.length - (u != null ? 2 : 1);
9031
9052
  if (!(h in n))
9032
9053
  return {
9033
9054
  ...n,
@@ -9048,7 +9069,7 @@ const sv = (e, t, r) => e.reduce(
9048
9069
  const l = Object.values(e).some(
9049
9070
  ({ pythonName: f }) => f === s
9050
9071
  ), c = `load_name=${P(o)}`, u = `location=${l ? s : P(s)}`, p = `quantity=${i}`, d = [c, u, p].join(`,
9051
- `), h = Y(d);
9072
+ `), h = G(d);
9052
9073
  return `lid_stack_${s} = ${ge}.load_lid_stack(
9053
9074
  ${h},
9054
9075
  )`;
@@ -9074,7 +9095,7 @@ function lv(e, t, r, n, a) {
9074
9095
  (M) => n[M.id].stack[1] === u
9075
9096
  ), y = a[u] != null && a[u] !== h.displayName, A = n[u].stack.includes(
9076
9097
  mt
9077
- ), T = n[u].stack[1], g = K(n[u].stack), S = Object.entries(e).find(
9098
+ ), T = n[u].stack[1], g = Y(n[u].stack), S = Object.entries(e).find(
9078
9099
  ([M, ee]) => ee.slot === g && ee.moduleState.type === Ge
9079
9100
  ), v = t[T] != null || g === S?.[1].slot && !A, I = r[T] != null;
9080
9101
  let w, E;
@@ -9099,7 +9120,7 @@ function lv(e, t, r, n, a) {
9099
9120
  return [
9100
9121
  ...l,
9101
9122
  `${d} = ${w}.load_labware(
9102
- ${Y(M)},
9123
+ ${G(M)},
9103
9124
  )`
9104
9125
  ];
9105
9126
  } else {
@@ -9112,7 +9133,7 @@ ${Y(M)},
9112
9133
  return [
9113
9134
  ...l,
9114
9135
  `${d} = ${w}.load_labware_from_definition(
9115
- ${Y(M)},
9136
+ ${G(M)},
9116
9137
  )`
9117
9138
  ];
9118
9139
  }
@@ -9139,7 +9160,7 @@ function uv(e) {
9139
9160
  ].join(`,
9140
9161
  `);
9141
9162
  return `${n} = ${ge}.define_liquid(
9142
- ${Y(i)},
9163
+ ${G(i)},
9143
9164
  )`;
9144
9165
  }).join(`
9145
9166
  `);
@@ -9174,7 +9195,7 @@ volume=${i},
9174
9195
  `
9175
9196
  ].join();
9176
9197
  return `${s}.load_liquid(
9177
- ${Y(h)})`;
9198
+ ${G(h)})`;
9178
9199
  }).join(`
9179
9200
  `);
9180
9201
  return a ? `# Load Liquids:
@@ -9223,7 +9244,7 @@ ${t.python || "pass"}`;
9223
9244
 
9224
9245
  `);
9225
9246
  }
9226
- function yL(e, t, r, n, a, s, o) {
9247
+ function gL(e, t, r, n, a, s, o) {
9227
9248
  const {
9228
9249
  moduleEntities: i,
9229
9250
  labwareEntities: l,
@@ -9262,9 +9283,9 @@ function yL(e, t, r, n, a, s, o) {
9262
9283
 
9263
9284
  `) || "pass";
9264
9285
  return `def run(${ge}: protocol_api.ProtocolContext) -> None:
9265
- ${Y(_)}`;
9286
+ ${G(_)}`;
9266
9287
  }
9267
- function bL(e) {
9288
+ function IL(e) {
9268
9289
  const t = Object.values(e).filter((r) => !Ls(r.def)).map((r) => r.def);
9269
9290
  if (t.length > 0) {
9270
9291
  const r = Object.fromEntries(
@@ -9300,7 +9321,7 @@ const ip = (e) => {
9300
9321
  ...Object.entries(r),
9301
9322
  ...d.flatMap((m) => Object.entries(m))
9302
9323
  ].filter(
9303
- ([m, b]) => K(b.stack) === p && !b.stack.includes(mt)
9324
+ ([m, b]) => Y(b.stack) === p && !b.stack.includes(mt)
9304
9325
  );
9305
9326
  if (h.length === 0) {
9306
9327
  if (f.length === 0)
@@ -9327,7 +9348,7 @@ const ip = (e) => {
9327
9348
  ].join(`,
9328
9349
  `);
9329
9350
  return `${u}.set_stored_labware(
9330
- ${Y(_)}
9351
+ ${G(_)}
9331
9352
  )`;
9332
9353
  } else {
9333
9354
  const m = Object.values(h).filter((T) => !t[T[0]]?.def.allowedRoles?.includes("lid")).map((T) => t[T[0]].pythonName), _ = Uu(m, 4).map((T) => Hs + T.join(", ")).join(`,
@@ -9336,15 +9357,52 @@ ${_}
9336
9357
  `}],
9337
9358
  `;
9338
9359
  return `${u}.set_stored_labware_items(
9339
- ${Y(A)})`;
9360
+ ${G(A)})`;
9340
9361
  }
9341
9362
  }
9342
9363
  }).filter(Boolean);
9343
9364
  return o.length > 0 ? `# Set Stored Labware:
9344
9365
  ${o.join(`
9345
9366
  `).trimStart()}` : "";
9346
- }, _v = (e, t, r, n) => {
9347
- const { spec: a } = t, s = e === Cr, o = e === It || e === Ye && a.channels === 8, i = n.ordering[0].length === 1;
9367
+ }, _v = {
9368
+ boolean: "add_bool",
9369
+ int: "add_int",
9370
+ float: "add_float",
9371
+ string: "add_str",
9372
+ csv: "add_csv_file"
9373
+ };
9374
+ function TL(e) {
9375
+ const t = Object.values(e).map((r) => {
9376
+ const n = "choices" in r ? r.choices : void 0, a = {
9377
+ variable_name: r.variableName,
9378
+ display_name: r.displayName,
9379
+ description: r.description || void 0,
9380
+ // Python CSV parameters take no default
9381
+ default: r.type === "csv" ? void 0 : r.default,
9382
+ choices: n?.map((o) => ({
9383
+ display_name: String(o),
9384
+ value: o
9385
+ })),
9386
+ ..."minimum" in r ? {
9387
+ minimum: r.minimum,
9388
+ maximum: r.maximum,
9389
+ // unit is only valid with a min/max range
9390
+ unit: n == null ? r.unit : void 0
9391
+ } : {}
9392
+ }, s = Object.entries(a).filter(([, o]) => o != null).map(([o, i]) => `${o}=${It(i)}`).join(`,
9393
+ `);
9394
+ return `parameters.${_v[r.type]}(
9395
+ ${G(s)},
9396
+ )`;
9397
+ }).join(`
9398
+ `);
9399
+ return t ? `def add_parameters(parameters: protocol_api.ParameterContext) -> None:
9400
+ ${G(
9401
+ t
9402
+ )}` : "";
9403
+ }
9404
+ const wv = (e, t, r, n) => {
9405
+ const { spec: a } = t, s = e === Cr, o = e === Tt || e === Ye && a.channels === 8, i = n.ordering[0].length === 1;
9348
9406
  if (s && i) {
9349
9407
  const c = o ? `H${r.slice(1)}` : `${r.charAt(0)}12`, u = a.nozzleMap[c], p = a.nozzleMap[r], d = u.map(
9350
9408
  (m, b) => m - p[b]
@@ -9370,19 +9428,19 @@ ${o.join(`
9370
9428
  x: $n.back_left.x,
9371
9429
  y: $n.back_left.y,
9372
9430
  z: $n.back_left.z
9373
- }, wv = {
9431
+ }, gv = {
9374
9432
  x: $n.front_right.x,
9375
9433
  y: $n.front_right.y,
9376
9434
  z: $n.front_right.z
9377
- }, gv = 49.5, Iv = (e) => {
9435
+ }, Iv = 49.5, Tv = (e) => {
9378
9436
  if (e.addressableArea?.areaType === "slot") {
9379
9437
  const t = `cutout${e.addressableArea?.id}`;
9380
9438
  if (t)
9381
9439
  return t;
9382
9440
  }
9383
9441
  return null;
9384
- }, Tv = (e, t, r, n, a, s, o) => {
9385
- const { pipetteBoundingBoxOffsets: i } = e.spec, l = _v(
9442
+ }, Sv = (e, t, r, n, a, s, o) => {
9443
+ const { pipetteBoundingBoxOffsets: i } = e.spec, l = wv(
9386
9444
  s,
9387
9445
  e,
9388
9446
  a,
@@ -9394,18 +9452,18 @@ ${o.join(`
9394
9452
  return !(r || n || a || s);
9395
9453
  }, Ah = (e, t) => {
9396
9454
  if (t === We) {
9397
- const r = Rr(t), { addressableAreas: n } = r.locations;
9455
+ const r = Nr(t), { addressableAreas: n } = r.locations;
9398
9456
  return n.find(
9399
9457
  (s) => s.id.includes(e)
9400
9458
  )?.offsetFromCutoutFixture[2] ?? 0;
9401
9459
  }
9402
9460
  return zh(e).dimensions.bareOverallHeight;
9403
- }, Sv = (e) => {
9404
- const t = Rr(e);
9461
+ }, Av = (e) => {
9462
+ const t = Nr(e);
9405
9463
  return Object.values(t.cutoutFixtures).find(
9406
9464
  (n) => g_.includes(n.id)
9407
9465
  )?.height ?? 0;
9408
- }, Av = (e, t, r, n) => {
9466
+ }, vv = (e, t, r, n) => {
9409
9467
  const { modules: a, labware: s } = e, { moduleEntities: o, labwareEntities: i, wasteChuteEntities: l } = t;
9410
9468
  let c = 0;
9411
9469
  const u = r?.addressableArea?.id;
@@ -9414,8 +9472,8 @@ ${o.join(`
9414
9472
  (f) => a[f].slot === u
9415
9473
  );
9416
9474
  Object.values(l).find(
9417
- (f) => f.location === Iv(r)
9418
- ) && (c += Sv(n)), p.length > 0 ? p.forEach((f) => {
9475
+ (f) => f.location === Tv(r)
9476
+ ) && (c += Av(n)), p.length > 0 ? p.forEach((f) => {
9419
9477
  a[f] != null && (c += Ah(
9420
9478
  o[f].model,
9421
9479
  n
@@ -9426,7 +9484,7 @@ ${o.join(`
9426
9484
  ));
9427
9485
  }
9428
9486
  return c;
9429
- }, vv = (e, t, r, n, a) => {
9487
+ }, kv = (e, t, r, n, a) => {
9430
9488
  for (const s of t) {
9431
9489
  const o = s.addressableArea?.boundingBox, i = s.position;
9432
9490
  if (i == null || o == null)
@@ -9443,7 +9501,7 @@ ${o.join(`
9443
9501
  if (Ob(
9444
9502
  [e[0], e[1]],
9445
9503
  [l, c]
9446
- ) && e[0].z != null && Av(
9504
+ ) && e[0].z != null && vv(
9447
9505
  r,
9448
9506
  n,
9449
9507
  s,
@@ -9452,12 +9510,12 @@ ${o.join(`
9452
9510
  return { addressableAreaCausingCollision: s.addressableArea };
9453
9511
  }
9454
9512
  return null;
9455
- }, kv = (e, t) => Object.values(t).find(
9513
+ }, Lv = (e, t) => Object.values(t).find(
9456
9514
  (r) => r.type === Ue
9457
9515
  ) ? Ob(
9458
- [Sh, wv],
9516
+ [Sh, gv],
9459
9517
  [e[0], e[1]]
9460
- ) && e[0].x <= Sh.z : !1, Lv = (e, t, r, n) => {
9518
+ ) && e[0].x <= Sh.z : !1, Ev = (e, t, r, n) => {
9461
9519
  const { wells: a } = e.def, s = a[t];
9462
9520
  return {
9463
9521
  x: s.x + r.x,
@@ -9483,18 +9541,18 @@ ${o.join(`
9483
9541
  } = r, { labware: f, tipState: m } = t, b = u[n];
9484
9542
  if (b == null)
9485
9543
  return { isSafe: !0 };
9486
- const { spec: _ } = b, { channels: y } = _, g = _?.displayCategory === "FLEX" ? We : Rt, S = Rr(g);
9544
+ const { spec: _ } = b, { channels: y } = _, g = _?.displayCategory === "FLEX" ? We : Rt, S = Nr(g);
9487
9545
  if (p[a] == null || o == null || y === 1)
9488
9546
  return { isSafe: !0 };
9489
9547
  const v = c ? !0 : m.pipettes[n]?.hasTip ?? !1, I = c ?? m.pipettes[n]?.tiprackURI, w = I != null ? p[I] : null, E = w != null ? w.def.parameters.tipLength : 0, O = Object.values(d).map(
9490
- (R) => R.location
9491
- ), F = v ? E ?? 0 : 0, M = K(f[a].stack), ee = f[a].stack.some((R) => h[R]?.type === Ue), de = Rr(We), _e = (ee ? io(f_, de) : io(M, S)) ?? [0, 0, 0], ae = ee ? de.locations.addressableAreas.find(
9492
- (R) => R.id === m_
9548
+ (N) => N.location
9549
+ ), F = v ? E ?? 0 : 0, M = Y(f[a].stack), ee = f[a].stack.some((N) => h[N]?.type === Ue), de = Nr(We), _e = (ee ? io(f_, de) : io(M, S)) ?? [0, 0, 0], ae = ee ? de.locations.addressableAreas.find(
9550
+ (N) => N.id === m_
9493
9551
  )?.offsetFromCutoutFixture ?? [0, 0, 0] : [0, 0, 0], Ie = {
9494
9552
  x: ae[0] + _e[0],
9495
9553
  y: ae[1] + _e[1],
9496
9554
  z: ae[2] + _e[2]
9497
- }, { def: Ce } = p[a], Ze = Nv({
9555
+ }, { def: Ce } = p[a], Ze = Pv({
9498
9556
  wellTargetName: o,
9499
9557
  primaryNozzle: i,
9500
9558
  nozzleConfiguration: l,
@@ -9504,16 +9562,16 @@ ${o.join(`
9504
9562
  x: s.x + Ze.x + Ie.x,
9505
9563
  y: s.y + Ze.y + Ie.y,
9506
9564
  z: (s.z ?? 0) + (Ie.z ?? 0)
9507
- }, te = Lv(
9565
+ }, te = Ev(
9508
9566
  p[a],
9509
9567
  o,
9510
9568
  je,
9511
9569
  v
9512
- ), ve = w != null ? Ev({
9570
+ ), ve = w != null ? Ov({
9513
9571
  pipetteSpecs: _,
9514
9572
  tiprackUri: w.labwareDefURI,
9515
9573
  nozzles: l
9516
- }) : 0, Je = p[a].def, De = Tv(
9574
+ }) : 0, Je = p[a].def, De = Sv(
9517
9575
  b,
9518
9576
  F,
9519
9577
  te,
@@ -9528,14 +9586,14 @@ ${o.join(`
9528
9586
  robotType: g
9529
9587
  }))
9530
9588
  return { isSafe: !1, reason: { type: "outsidePipetteExtents" } };
9531
- const G = (g === Rt ? h_(M) : y_(M, O)).map((R) => {
9532
- const x = b_(R, S), D = io(R, S);
9589
+ const W = (g === Rt ? h_(M) : y_(M, O)).map((N) => {
9590
+ const x = b_(N, S), D = io(N, S);
9533
9591
  return {
9534
9592
  addressableArea: x,
9535
9593
  position: D
9536
9594
  };
9537
9595
  });
9538
- if (kv(
9596
+ if (Lv(
9539
9597
  De,
9540
9598
  h
9541
9599
  ))
@@ -9543,21 +9601,21 @@ ${o.join(`
9543
9601
  isSafe: !1,
9544
9602
  reason: { type: "thermocyclerLidCollision" }
9545
9603
  };
9546
- const N = vv(
9604
+ const R = kv(
9547
9605
  De,
9548
- G,
9606
+ W,
9549
9607
  t,
9550
9608
  r,
9551
9609
  g
9552
9610
  );
9553
- return N != null ? {
9611
+ return R != null ? {
9554
9612
  isSafe: !1,
9555
9613
  reason: {
9556
9614
  type: "adjacentAdressableAreaCollision",
9557
- addressableAreaCausingCollision: N.addressableAreaCausingCollision
9615
+ addressableAreaCausingCollision: R.addressableAreaCausingCollision
9558
9616
  }
9559
9617
  } : { isSafe: !0 };
9560
- }, Rb = (e) => {
9618
+ }, Nb = (e) => {
9561
9619
  const {
9562
9620
  tipState: t,
9563
9621
  primaryNozzle: r,
@@ -9611,7 +9669,7 @@ ${o.join(`
9611
9669
  (c) => t[c] !== ce
9612
9670
  )
9613
9671
  };
9614
- if (a === It) {
9672
+ if (a === Tt) {
9615
9673
  const c = r === jh, u = vh(s), p = l[u], d = c ? [...l].reverse() : l, h = d.indexOf(p);
9616
9674
  return {
9617
9675
  isSafe: d.slice(h + 1).flat().every((f) => t[f] === ce || i.includes(f)),
@@ -9636,7 +9694,7 @@ ${o.join(`
9636
9694
  if (a === ft) {
9637
9695
  const c = La(
9638
9696
  r ?? bu({ nozzles: a, channels: n })
9639
- ), u = Nb(
9697
+ ), u = Rb(
9640
9698
  r ?? bu({ nozzles: a, channels: n })
9641
9699
  ), p = c === "H", h = u === "12" ? [...l].reverse() : l, f = h.findIndex(
9642
9700
  (m) => m.some((b) => b === s)
@@ -9655,12 +9713,12 @@ ${o.join(`
9655
9713
  };
9656
9714
  }
9657
9715
  return { isSafe: !1 };
9658
- }, La = (e) => e.slice(0, 1), Nb = (e) => e.slice(1), vh = (e) => parseInt(e.slice(1)) - 1, bu = (e) => {
9716
+ }, La = (e) => e.slice(0, 1), Rb = (e) => e.slice(1), vh = (e) => parseInt(e.slice(1)) - 1, bu = (e) => {
9659
9717
  const { nozzles: t, channels: r } = e;
9660
9718
  if (r === 8 && t === ft)
9661
9719
  return "H1";
9662
9720
  if (r === 96) {
9663
- if (t === It)
9721
+ if (t === Tt)
9664
9722
  return "A12";
9665
9723
  if (t === ft)
9666
9724
  return "H12";
@@ -9668,12 +9726,12 @@ ${o.join(`
9668
9726
  return "A1";
9669
9727
  }, no = (e) => {
9670
9728
  const { wellSets: t, nozzles: r, channels: n, primaryNozzle: a } = e;
9671
- return r === Cr ? t.map((s) => s[0]) : t.map((s) => n === 96 && r === Ye ? a : r === It || n === 8 && r === Ye || n === 8 && r === Ke ? La(a) === "H" ? s[s.length - 1] : s[0] : (console.assert(
9729
+ return r === Cr ? t.map((s) => s[0]) : t.map((s) => n === 96 && r === Ye ? a : r === Tt || n === 8 && r === Ye || n === 8 && r === Ke ? La(a) === "H" ? s[s.length - 1] : s[0] : (console.assert(
9672
9730
  s.length === 1,
9673
9731
  "Well set for SINGLE nozzle configuration should have exactly 1 well"
9674
9732
  ), s[0]));
9675
- }, Ev = (e) => {
9676
- const { pipetteSpecs: t, tiprackUri: r, nozzles: n } = e, { channels: a } = t, s = Ov(a, n), o = t.pickUpTipConfigurations.pressFit.configurationsByNozzleMap[s]?.default.tipOverlaps;
9733
+ }, Ov = (e) => {
9734
+ const { pipetteSpecs: t, tiprackUri: r, nozzles: n } = e, { channels: a } = t, s = Nv(a, n), o = t.pickUpTipConfigurations.pressFit.configurationsByNozzleMap[s]?.default.tipOverlaps;
9677
9735
  if (o == null)
9678
9736
  return console.error(
9679
9737
  `No tip overlaps found for ${n} and ${s} overlap.`
@@ -9682,7 +9740,7 @@ ${o.join(`
9682
9740
  ...Object.keys(o).map((l) => Number(l.slice(1)))
9683
9741
  );
9684
9742
  return o[`v${i}`]?.[r] ?? o[`v${i}`]?.default ?? 0;
9685
- }, Ov = (e, t) => {
9743
+ }, Nv = (e, t) => {
9686
9744
  if (e === 1)
9687
9745
  return "SingleA1";
9688
9746
  if (e === 8)
@@ -9690,7 +9748,7 @@ ${o.join(`
9690
9748
  if (e === 96) {
9691
9749
  if (t === ft)
9692
9750
  return "SingleH12";
9693
- if (t === It)
9751
+ if (t === Tt)
9694
9752
  return "Column12";
9695
9753
  if (t === Cr)
9696
9754
  return "RowA";
@@ -9719,13 +9777,13 @@ ${o.join(`
9719
9777
  return 0;
9720
9778
  const [n, a] = ["A1", "B1"].map((o) => r[o][1]);
9721
9779
  return Math.abs(n - a);
9722
- }, Nv = (e) => {
9723
- const t = Pv(e), r = Cv(e);
9780
+ }, Pv = (e) => {
9781
+ const t = Cv(e), r = Dv(e);
9724
9782
  return {
9725
9783
  x: t,
9726
9784
  y: r
9727
9785
  };
9728
- }, Pv = (e) => {
9786
+ }, Cv = (e) => {
9729
9787
  const { primaryNozzle: t, nozzleConfiguration: r, specs: n, labwareDef: a } = e, { channels: s } = n;
9730
9788
  if (s !== 96)
9731
9789
  return 0;
@@ -9733,16 +9791,16 @@ ${o.join(`
9733
9791
  if (!i)
9734
9792
  return 0;
9735
9793
  let l;
9736
- const c = Nb(t) === "12" ? 1 : -1;
9794
+ const c = Rb(t) === "12" ? 1 : -1;
9737
9795
  if (r === Ye && s === 96 || r === Cr)
9738
9796
  l = 12;
9739
9797
  else if (r === w_)
9740
9798
  l = 6;
9741
9799
  else
9742
- return c * gv;
9800
+ return c * Iv;
9743
9801
  const u = Pb(n);
9744
9802
  return i ? (l - 1) * u / 2 * c : 0;
9745
- }, Cv = (e) => {
9803
+ }, Dv = (e) => {
9746
9804
  const {
9747
9805
  wellTargetName: t,
9748
9806
  primaryNozzle: r,
@@ -9764,7 +9822,7 @@ ${o.join(`
9764
9822
  const p = La(r) === "H" ? -1 : 1;
9765
9823
  return 7 * i / 2 * p;
9766
9824
  };
9767
- function Dv(e) {
9825
+ function qv(e) {
9768
9826
  const t = e.length === 1 ? e[0] : null;
9769
9827
  return t != null && "steps" in t ? {
9770
9828
  numRepetitions: t.repetitions,
@@ -9779,20 +9837,20 @@ function Cb(e) {
9779
9837
  (t) => "steps" in t ? zI(t.steps, t.repetitions) : t
9780
9838
  );
9781
9839
  }
9782
- const _L = (e) => {
9840
+ const SL = (e) => {
9783
9841
  switch (e.commandCreatorFnName) {
9784
9842
  case "consolidate":
9785
- return k(Yv, e);
9843
+ return k(Xv, e);
9786
9844
  case "delay":
9787
9845
  return k(be, e);
9788
9846
  case "waitForModuleTask":
9789
- return k(bk, e);
9847
+ return k(_k, e);
9790
9848
  case "distribute":
9791
- return k(Jv, e);
9849
+ return k(Qv, e);
9792
9850
  case "transfer":
9793
- return k(fk, e);
9851
+ return k(mk, e);
9794
9852
  case "mix":
9795
- return k(Kv, e);
9853
+ return k(Yv, e);
9796
9854
  case "moveLabware":
9797
9855
  return k(AI, e);
9798
9856
  case "captureImage":
@@ -9808,11 +9866,11 @@ const _L = (e) => {
9808
9866
  case "waitForTemperature":
9809
9867
  return k(My, e);
9810
9868
  case "thermocyclerProfile":
9811
- return k(ek, e);
9869
+ return k(tk, e);
9812
9870
  case "thermocyclerState":
9813
- return k(ok, e);
9871
+ return k(ik, e);
9814
9872
  case "heaterShaker":
9815
- return k(Qv, e);
9873
+ return k(ek, e);
9816
9874
  case "comment":
9817
9875
  return k(pI, e);
9818
9876
  case "absorbanceReaderOpenLid":
@@ -9820,9 +9878,9 @@ const _L = (e) => {
9820
9878
  case "absorbanceReaderCloseLid":
9821
9879
  return k(Mu, e);
9822
9880
  case "absorbanceReaderRead":
9823
- return k(Mv, e);
9881
+ return k(xv, e);
9824
9882
  case "absorbanceReaderInitialize":
9825
- return k(Fv, e);
9883
+ return k(Mv, e);
9826
9884
  case "flexStackerEmpty":
9827
9885
  return k(hI, {
9828
9886
  ...e,
@@ -9848,22 +9906,22 @@ const _L = (e) => {
9848
9906
  case "vacuumStartRunProfile":
9849
9907
  return k(Fy, e);
9850
9908
  case "vacuumStopPump":
9851
- return k(RI, e);
9909
+ return k(NI, e);
9852
9910
  case "vacuumCloseVentSetPumpPressure":
9853
- return k(hk, e);
9911
+ return k(yk, e);
9854
9912
  case "vacuumCloseVentSetPumpPower":
9855
- return k(mk, e);
9913
+ return k(hk, e);
9856
9914
  case "vacuumCloseVentStartProfile":
9857
- return k(yk, e);
9915
+ return k(bk, e);
9858
9916
  // NOTE: ja 6/3/26: here and below are for opentronsAI usage only (for now)
9859
9917
  case "airGapInPlace":
9860
- return k(Nt, e);
9918
+ return k(Pt, e);
9861
9919
  case "aspirate":
9862
- return k(Nt, e);
9920
+ return k(Pt, e);
9863
9921
  case "aspirateInPlace":
9864
9922
  return k(Wa, e);
9865
9923
  case "aspirateWhileTracking":
9866
- return k(NI, e);
9924
+ return k(RI, e);
9867
9925
  case "blowOutInPlace":
9868
9926
  return k(Qn, e);
9869
9927
  case "blowout":
@@ -9889,7 +9947,7 @@ const _L = (e) => {
9889
9947
  case "moveToAddressableArea":
9890
9948
  return k(ze, e);
9891
9949
  case "moveToAddressableAreaForDropTip":
9892
- return k(Ry, e);
9950
+ return k(Ny, e);
9893
9951
  case "moveToCoordinates":
9894
9952
  return k(qI, e);
9895
9953
  case "moveToWell":
@@ -9897,7 +9955,7 @@ const _L = (e) => {
9897
9955
  case "pickUpTip":
9898
9956
  return k(_s, e);
9899
9957
  case "prepareToAspirate":
9900
- return k(Pt, e);
9958
+ return k(Ct, e);
9901
9959
  case "touchTip":
9902
9960
  return k(Xt, e);
9903
9961
  case "tryLiquidProbe":
@@ -9925,18 +9983,18 @@ const _L = (e) => {
9925
9983
  case "thermocycler/setTargetLidTemperature":
9926
9984
  return k(ju, e);
9927
9985
  case "thermocycler/startRunExtendedProfile":
9928
- return k(Ny, e);
9986
+ return k(Ry, e);
9929
9987
  }
9930
9988
  }, C = Mw;
9931
- function qv(e) {
9989
+ function $v(e) {
9932
9990
  return Object.keys(e).sort(
9933
9991
  (r, n) => {
9934
- const a = K(e[r].stack), s = K(e[n].stack), o = parseInt(a), i = parseInt(s);
9992
+ const a = Y(e[r].stack), s = Y(e[n].stack), o = parseInt(a), i = parseInt(s);
9935
9993
  return Me.includes(a) && Me.includes(s) ? r.localeCompare(n) : Me.includes(a) ? 1 : Me.includes(s) ? -1 : o - i;
9936
9994
  }
9937
9995
  );
9938
9996
  }
9939
- function $v(e) {
9997
+ function Fv(e) {
9940
9998
  const {
9941
9999
  pipetteId: t,
9942
10000
  tiprackId: r,
@@ -9970,7 +10028,7 @@ function $v(e) {
9970
10028
  return h(d);
9971
10029
  if (v)
9972
10030
  return f(d);
9973
- if (s === It) {
10031
+ if (s === Tt) {
9974
10032
  const w = l.ordering;
9975
10033
  return (o === Sa ? b(w) : m(w))?.[0] ?? null;
9976
10034
  }
@@ -9986,13 +10044,13 @@ function ao(e, t, r, n, a, s) {
9986
10044
  throw new Error(
9987
10045
  `cannot getNextTiprack, no pipette entity for pipette "${e}"`
9988
10046
  );
9989
- const i = [], l = qv(n.labware).filter(
10047
+ const i = [], l = $v(n.labware).filter(
9990
10048
  (f) => {
9991
10049
  console.assert(
9992
10050
  r.labwareEntities[f]?.labwareDefURI != null,
9993
10051
  `cannot getNextTiprack, no labware entity for "${f}"`
9994
10052
  );
9995
- const m = K(
10053
+ const m = Y(
9996
10054
  n.labware[f].stack
9997
10055
  ), b = aT(m), _ = nT({
9998
10056
  labwareId: f,
@@ -10013,7 +10071,7 @@ function ao(e, t, r, n, a, s) {
10013
10071
  }));
10014
10072
  let d = null, h = null;
10015
10073
  for (const f of c) {
10016
- const m = $v({
10074
+ const m = Fv({
10017
10075
  pipetteId: e,
10018
10076
  tiprackId: f,
10019
10077
  nozzles: s,
@@ -10031,7 +10089,7 @@ function ao(e, t, r, n, a, s) {
10031
10089
  }) : { isSafe: !1 }, {
10032
10090
  isSafe: _,
10033
10091
  isComplete: y = !1
10034
- } = m != null ? Rb({
10092
+ } = m != null ? Nb({
10035
10093
  tipState: n.tipState.tipracks[f],
10036
10094
  primaryNozzle: a,
10037
10095
  channels: o.spec.channels,
@@ -10094,10 +10152,10 @@ const cp = (e, t) => {
10094
10152
  }, qt = (e, t) => {
10095
10153
  const r = e.modules[t]?.moduleState;
10096
10154
  return r && r.type === Ge ? r : null;
10097
- }, Tt = (e, t) => {
10155
+ }, St = (e, t) => {
10098
10156
  const r = e.modules[t]?.moduleState;
10099
10157
  return r && r.type === Kt ? r : null;
10100
- }, Fv = (e, t, r) => {
10158
+ }, Mv = (e, t, r) => {
10101
10159
  const { moduleId: n, measureMode: a, sampleWavelengths: s, referenceWavelength: o } = e, i = ss(
10102
10160
  r,
10103
10161
  n
@@ -10120,7 +10178,7 @@ const cp = (e, t) => {
10120
10178
  t,
10121
10179
  r
10122
10180
  );
10123
- }, Mv = (e, t, r) => {
10181
+ }, xv = (e, t, r) => {
10124
10182
  const n = [], a = ss(
10125
10183
  r,
10126
10184
  e.moduleId
@@ -10141,18 +10199,18 @@ const cp = (e, t) => {
10141
10199
  t,
10142
10200
  r
10143
10201
  );
10144
- }, xv = (e, t, r) => {
10202
+ }, Bv = (e, t, r) => {
10145
10203
  const { pipetteId: n, trashId: a, flowRate: s, volume: o } = e, i = [
10146
10204
  k(ze, {
10147
10205
  pipetteId: n,
10148
10206
  fixtureId: a,
10149
10207
  offset: Qt
10150
10208
  }),
10151
- L(Pt, {
10209
+ L(Ct, {
10152
10210
  // PAPI air_gap() includes prepare_to_aspirate() so don't emit Python
10153
10211
  pipetteId: n
10154
10212
  }),
10155
- k(Nt, {
10213
+ k(Pt, {
10156
10214
  pipetteId: n,
10157
10215
  volume: o,
10158
10216
  flowRate: s
@@ -10163,18 +10221,18 @@ const cp = (e, t) => {
10163
10221
  t,
10164
10222
  r
10165
10223
  );
10166
- }, Bv = (e, t, r) => {
10224
+ }, Vv = (e, t, r) => {
10167
10225
  const { pipetteId: n, volume: a, flowRate: s, wasteChuteId: o } = e, i = [
10168
10226
  k(ze, {
10169
10227
  pipetteId: n,
10170
10228
  fixtureId: o,
10171
10229
  offset: Qt
10172
10230
  }),
10173
- L(Pt, {
10231
+ L(Ct, {
10174
10232
  // PAPI air_gap() includes prepare_to_aspirate() so don't emit Python
10175
10233
  pipetteId: n
10176
10234
  }),
10177
- k(Nt, {
10235
+ k(Pt, {
10178
10236
  pipetteId: n,
10179
10237
  flowRate: s,
10180
10238
  volume: a
@@ -10185,9 +10243,9 @@ const cp = (e, t) => {
10185
10243
  t,
10186
10244
  r
10187
10245
  );
10188
- }, Vv = (e, t, r) => {
10246
+ }, Uv = (e, t, r) => {
10189
10247
  const { labwareId: n, wellName: a, flowRate: s, pipetteId: o, volume: i, type: l } = e, c = t.pipetteEntities[o].pythonName, u = l === "aspirate" ? [] : [
10190
- L(Pt, {
10248
+ L(Ct, {
10191
10249
  pipetteId: o
10192
10250
  })
10193
10251
  ], p = () => ({
@@ -10214,7 +10272,7 @@ const cp = (e, t) => {
10214
10272
  }
10215
10273
  }),
10216
10274
  ...u,
10217
- L(Nt, {
10275
+ L(Pt, {
10218
10276
  pipetteId: o,
10219
10277
  volume: i,
10220
10278
  flowRate: s
@@ -10280,7 +10338,7 @@ ${l}.blow_out(${c})`
10280
10338
  );
10281
10339
  };
10282
10340
  var ru, kh;
10283
- function Uv() {
10341
+ function zv() {
10284
10342
  if (kh) return ru;
10285
10343
  kh = 1;
10286
10344
  var e = ky();
@@ -10291,10 +10349,10 @@ function Uv() {
10291
10349
  return ru = t, ru;
10292
10350
  }
10293
10351
  var nu, Lh;
10294
- function zv() {
10352
+ function jv() {
10295
10353
  if (Lh) return nu;
10296
10354
  Lh = 1;
10297
- var e = db(), t = Fu(), r = Uv(), n = Math.ceil, a = Math.max;
10355
+ var e = db(), t = Fu(), r = zv(), n = Math.ceil, a = Math.max;
10298
10356
  function s(o, i, l) {
10299
10357
  (l ? t(o, i, l) : i === void 0) ? i = 1 : i = a(r(i), 0);
10300
10358
  var c = o == null ? 0 : o.length;
@@ -10306,8 +10364,8 @@ function zv() {
10306
10364
  }
10307
10365
  return nu = s, nu;
10308
10366
  }
10309
- var jv = zv();
10310
- const $b = /* @__PURE__ */ Xe(jv), dr = (e) => {
10367
+ var Hv = jv();
10368
+ const $b = /* @__PURE__ */ Xe(Hv), dr = (e) => {
10311
10369
  const { labwareDef: t, wells: r, primaryNozzle: n } = e, a = Da[n] - 1, { ordering: s, parameters: o } = t;
10312
10370
  return r.map((i) => {
10313
10371
  const l = s.find((u) => u.includes(i));
@@ -10320,7 +10378,7 @@ const $b = /* @__PURE__ */ Xe(jv), dr = (e) => {
10320
10378
  const c = l.indexOf(i);
10321
10379
  return c === -1 ? (console.warn(`Could not find column index of ${i}`), i) : l[c + a];
10322
10380
  });
10323
- }, Hv = (e, t, r) => {
10381
+ }, Gv = (e, t, r) => {
10324
10382
  const { pipetteId: n, trashLocation: a } = e;
10325
10383
  let s = [];
10326
10384
  const o = Gy(a);
@@ -10341,7 +10399,7 @@ const $b = /* @__PURE__ */ Xe(jv), dr = (e) => {
10341
10399
  python: `${i}.drop_tip()`
10342
10400
  });
10343
10401
  s = [
10344
- L(Ry, {
10402
+ L(Ny, {
10345
10403
  pipetteId: n,
10346
10404
  addressableAreaName: o
10347
10405
  }),
@@ -10356,7 +10414,7 @@ const $b = /* @__PURE__ */ Xe(jv), dr = (e) => {
10356
10414
  t,
10357
10415
  r
10358
10416
  );
10359
- }, Gv = (e, t, r) => {
10417
+ }, Wv = (e, t, r) => {
10360
10418
  const n = Qt, { pipetteId: a, wasteChuteId: s } = e, { pipetteEntities: o, wasteChuteEntities: i } = t;
10361
10419
  let l = [];
10362
10420
  if (!r.tipState.pipettes[a].hasTip)
@@ -10413,7 +10471,7 @@ const $b = /* @__PURE__ */ Xe(jv), dr = (e) => {
10413
10471
  return {
10414
10472
  errors: [$_()]
10415
10473
  };
10416
- if (s === It && M)
10474
+ if (s === Tt && M)
10417
10475
  return {
10418
10476
  errors: [F_()]
10419
10477
  };
@@ -10509,7 +10567,7 @@ const $b = /* @__PURE__ */ Xe(jv), dr = (e) => {
10509
10567
  })
10510
10568
  ];
10511
10569
  return _ && (I = [
10512
- g(Gv, {
10570
+ g(Wv, {
10513
10571
  pipetteId: e.pipette,
10514
10572
  wasteChuteId: t.wasteChuteEntities[e.dropTipLocation].id
10515
10573
  }),
@@ -10523,7 +10581,7 @@ const $b = /* @__PURE__ */ Xe(jv), dr = (e) => {
10523
10581
  primaryNozzle: o
10524
10582
  })
10525
10583
  ]), y && (I = [
10526
- g(Hv, {
10584
+ g(Gv, {
10527
10585
  pipetteId: n,
10528
10586
  trashLocation: t.trashBinEntities[e.dropTipLocation].location
10529
10587
  }),
@@ -10545,7 +10603,7 @@ const $b = /* @__PURE__ */ Xe(jv), dr = (e) => {
10545
10603
  L(be, {
10546
10604
  seconds: e
10547
10605
  })
10548
- ] : [], Wv = (e) => () => {
10606
+ ] : [], Kv = (e) => () => {
10549
10607
  const {
10550
10608
  invariantContext: t,
10551
10609
  pipette: r,
@@ -10583,7 +10641,7 @@ const $b = /* @__PURE__ */ Xe(jv), dr = (e) => {
10583
10641
  // Note: we do not support mix in trashBin or wasteChute so location
10584
10642
  // will always be a well
10585
10643
  python: `${h}.mix(
10586
- ${Y(
10644
+ ${G(
10587
10645
  m.join(`,
10588
10646
  `)
10589
10647
  )},
@@ -10604,7 +10662,7 @@ ${Y(
10604
10662
  tiprack: p,
10605
10663
  moveToWellParams: d,
10606
10664
  generatePython: h
10607
- } = e, f = Wv({
10665
+ } = e, f = Kv({
10608
10666
  invariantContext: c,
10609
10667
  pipette: t,
10610
10668
  volume: r,
@@ -10666,7 +10724,7 @@ ${Y(
10666
10724
  ...Eh(i)
10667
10725
  );
10668
10726
  return [...A, ...h ? [f] : []];
10669
- }, Kv = (e, t, r) => {
10727
+ }, Yv = (e, t, r) => {
10670
10728
  const {
10671
10729
  pipette: a,
10672
10730
  labware: s,
@@ -10708,21 +10766,21 @@ ${Y(
10708
10766
  })
10709
10767
  ]
10710
10768
  };
10711
- const M = K(
10769
+ const M = Y(
10712
10770
  r.labware[s]?.stack
10713
10771
  );
10714
- if (Object.keys(t.wasteChuteEntities).length > 0 && M === Nr)
10772
+ if (Object.keys(t.wasteChuteEntities).length > 0 && M === Rr)
10715
10773
  return { errors: [Ba()] };
10716
10774
  const de = [
10717
10775
  ...Object.keys(t.trashBinEntities),
10718
10776
  ...Object.keys(t.wasteChuteEntities)
10719
10777
  ], _e = de.length > 0 ? de[0] : null, ae = Object.values(t.labwareEntities).find(
10720
- ({ labwareDefURI: G }) => G === f
10778
+ ({ labwareDefURI: W }) => W === f
10721
10779
  ), Ie = ae != null && Pr(ae.def), Ce = t.wasteChuteEntities[f] != null, Ze = t.trashBinEntities[f] != null, je = r.pipettes[a]?.tipWell != null;
10722
10780
  if (f == null || Ie && _e == null && c !== "never" && je || !Ie && !Ce && !Ze)
10723
10781
  return { errors: [Wn()] };
10724
10782
  if (F) {
10725
- const G = Dt({
10783
+ const W = Dt({
10726
10784
  robotState: r,
10727
10785
  invariantContext: t,
10728
10786
  pipetteId: a,
@@ -10732,15 +10790,15 @@ ${Y(
10732
10790
  primaryNozzle: S,
10733
10791
  nozzleConfiguration: g
10734
10792
  });
10735
- if (!G.isSafe)
10793
+ if (!W.isSafe)
10736
10794
  return {
10737
10795
  errors: [
10738
10796
  Zt({
10739
- unsafePipetteMovementReason: G.reason
10797
+ unsafePipetteMovementReason: W.reason
10740
10798
  })
10741
10799
  ]
10742
10800
  };
10743
- const N = Dt({
10801
+ const R = Dt({
10744
10802
  robotState: r,
10745
10803
  invariantContext: t,
10746
10804
  pipetteId: a,
@@ -10750,11 +10808,11 @@ ${Y(
10750
10808
  primaryNozzle: S,
10751
10809
  nozzleConfiguration: g
10752
10810
  });
10753
- if (!N.isSafe)
10811
+ if (!R.isSafe)
10754
10812
  return {
10755
10813
  errors: [
10756
10814
  Zt({
10757
- unsafePipetteMovementReason: N.reason
10815
+ unsafePipetteMovementReason: R.reason
10758
10816
  })
10759
10817
  ]
10760
10818
  };
@@ -10773,11 +10831,11 @@ ${Y(
10773
10831
  primaryNozzle: S
10774
10832
  }) : null, X = Vn(
10775
10833
  o,
10776
- (G, N) => {
10777
- let R = [];
10778
- if (c === "always" || c === "once" && N === 0) {
10834
+ (W, R) => {
10835
+ let N = [];
10836
+ if (c === "always" || c === "once" && R === 0) {
10779
10837
  const ue = Te?.shift();
10780
- R = [
10838
+ N = [
10781
10839
  k(so, {
10782
10840
  pipette: a,
10783
10841
  primaryNozzle: S,
@@ -10795,23 +10853,23 @@ ${Y(
10795
10853
  })
10796
10854
  ];
10797
10855
  }
10798
- const x = te || e.blowoutLocation != null && N > 0 ? [
10799
- k(Pt, {
10856
+ const x = te || e.blowoutLocation != null && R > 0 ? [
10857
+ k(Ct, {
10800
10858
  pipetteId: a
10801
10859
  })
10802
10860
  ] : [], D = e.touchTip ? [
10803
10861
  k(Xt, {
10804
10862
  pipetteId: a,
10805
10863
  labwareId: s,
10806
- wellName: G,
10864
+ wellName: W,
10807
10865
  zOffsetFromTop: e.touchTipMmFromTop
10808
10866
  })
10809
10867
  ] : [], se = jI({
10810
10868
  pipette: e.pipette,
10811
10869
  sourceLabwareId: e.labware,
10812
- sourceWell: G,
10870
+ sourceWell: W,
10813
10871
  destLabwareId: e.labware,
10814
- destWell: G,
10872
+ destWell: W,
10815
10873
  blowoutLocation: e.blowoutLocation,
10816
10874
  flowRate: d,
10817
10875
  offsetFromTopMm: h,
@@ -10821,7 +10879,7 @@ ${Y(
10821
10879
  ...Object.keys(t.trashBinEntities)
10822
10880
  ].some(
10823
10881
  (ue) => ue === e.blowoutLocation
10824
- ) ? [...D, ...se] : [...se, ...D], q = Ie && (N === o.length - 1 || c === "always") ? [
10882
+ ) ? [...D, ...se] : [...se, ...D], q = Ie && (R === o.length - 1 || c === "always") ? [
10825
10883
  k(ea, {
10826
10884
  pipette: a,
10827
10885
  dropTipLocation: m,
@@ -10842,9 +10900,9 @@ ${Y(
10842
10900
  moveToWellParams: {
10843
10901
  pipetteId: a,
10844
10902
  labwareId: s,
10845
- wellName: G,
10903
+ wellName: W,
10846
10904
  wellLocation: {
10847
- origin: Ne[b],
10905
+ origin: Re[b],
10848
10906
  offset: {
10849
10907
  x: _,
10850
10908
  y,
@@ -10855,7 +10913,7 @@ ${Y(
10855
10913
  generatePython: !0
10856
10914
  });
10857
10915
  return [
10858
- ...R,
10916
+ ...N,
10859
10917
  ...ve,
10860
10918
  ...x,
10861
10919
  ...U,
@@ -10869,7 +10927,7 @@ ${Y(
10869
10927
  t,
10870
10928
  r
10871
10929
  );
10872
- }, Yv = (e, t, r) => {
10930
+ }, Xv = (e, t, r) => {
10873
10931
  const {
10874
10932
  aspirateDelay: n,
10875
10933
  aspirateFlowRateUlSec: a,
@@ -10912,9 +10970,9 @@ ${Y(
10912
10970
  dispenseZOffset: De,
10913
10971
  dropTipLocation: Te,
10914
10972
  liquidClass: X,
10915
- mixInDestination: G,
10916
- nozzles: N,
10917
- pipette: R,
10973
+ mixInDestination: W,
10974
+ nozzles: R,
10975
+ pipette: N,
10918
10976
  primaryNozzle: x,
10919
10977
  pushOut: D,
10920
10978
  sourceLabware: se,
@@ -10930,50 +10988,50 @@ ${Y(
10930
10988
  touchTipAfterAspirateSpeed: He,
10931
10989
  touchTipAfterDispense: pe,
10932
10990
  touchTipAfterDispenseMmFromEdge: lt,
10933
- touchTipAfterDispenseOffsetMmFromTop: St,
10991
+ touchTipAfterDispenseOffsetMmFromTop: At,
10934
10992
  touchTipAfterDispenseSpeed: $t,
10935
- stepNumber: At,
10993
+ stepNumber: vt,
10936
10994
  volume: Oe
10937
10995
  } = e, {
10938
10996
  pipetteEntities: ct,
10939
10997
  labwareEntities: we,
10940
- trashBinEntities: Re,
10998
+ trashBinEntities: Ne,
10941
10999
  wasteChuteEntities: qe
10942
- } = t, re = "consolidate", ne = [], Ft = r.pipettes[R], et = ct[R]?.spec.channels !== 1, W = e.aspirateAirGapVolume ?? 0, me = e.dispenseAirGapVolume ?? 0;
11000
+ } = t, re = "consolidate", ne = [], Ft = r.pipettes[N], et = ct[N]?.spec.channels !== 1, K = e.aspirateAirGapVolume ?? 0, me = e.dispenseAirGapVolume ?? 0;
10943
11001
  Ft == null && ne.push(
10944
11002
  wt({
10945
- pipette: R
11003
+ pipette: N
10946
11004
  })
10947
- ), (I == null || we[I] == null && Re[I] == null && qe[I] == null) && ne.push(Kh());
10948
- const Dr = K(
11005
+ ), (I == null || we[I] == null && Ne[I] == null && qe[I] == null) && ne.push(Kh());
11006
+ const Dr = Y(
10949
11007
  r.labware[I]?.stack
10950
- ), ut = K(
11008
+ ), ut = Y(
10951
11009
  r.labware[se]?.stack
10952
11010
  );
10953
- Object.keys(qe).length > 0 && (Dr === Nr || ut === Nr) && ne.push(Ba());
11011
+ Object.keys(qe).length > 0 && (Dr === Rr || ut === Rr) && ne.push(Ba());
10954
11012
  const he = [
10955
11013
  ...Object.keys(t.trashBinEntities),
10956
11014
  ...Object.keys(t.wasteChuteEntities)
10957
11015
  ], pt = he.length > 0 ? he[0] : null, un = Object.values(t.labwareEntities).find(
10958
11016
  ({ labwareDefURI: ye }) => ye === Te
10959
- ), Mt = un != null && Pr(un.def), is = t.wasteChuteEntities[Te] != null, pn = t.trashBinEntities[Te] != null, br = r.tipState.pipettes[R]?.hasTip;
11017
+ ), Mt = un != null && Pr(un.def), is = t.wasteChuteEntities[Te] != null, pn = t.trashBinEntities[Te] != null, br = r.tipState.pipettes[N]?.hasTip;
10960
11018
  (Te == null || Mt && pt == null && v !== "never" && br || !Mt && !is && !pn) && ne.push(Wn());
10961
11019
  let tt, Q;
10962
11020
  if (v === "never") {
10963
- const ye = r.tipState.pipettes[R]?.tiprackURI;
11021
+ const ye = r.tipState.pipettes[N]?.tiprackURI;
10964
11022
  tt = t.labwareEntities[ye ?? ""], Q = tt?.labwareDefURI;
10965
11023
  } else
10966
11024
  tt = Object.values(we).find(
10967
11025
  ({ labwareDefURI: ye }) => ye === z
10968
11026
  ), Q = z;
10969
- tt == null && (v === "never" ? ne.push(tr({ actionName: re, pipette: R })) : ne.push(
11027
+ tt == null && (v === "never" ? ne.push(tr({ actionName: re, pipette: N })) : ne.push(
10970
11028
  gt({ actionName: re, labware: Q })
10971
11029
  ));
10972
11030
  const { def: xt = null } = tt ?? {}, {
10973
11031
  spec: Se,
10974
11032
  name: yt,
10975
11033
  pythonName: Z
10976
- } = ct[R], j = qa()[X === Iu || X == null ? Tu : X].byPipette?.find(
11034
+ } = ct[N], j = qa()[X === Iu || X == null ? Tu : X].byPipette?.find(
10977
11035
  ({ pipetteModel: ye }) => ye === rn(Se)
10978
11036
  )?.byTipType.find(({ tiprack: ye }) => ye === Q) ?? null, { aspirate: bt } = j ?? {}, { multiWellHandling: fe } = Zy({
10979
11037
  pipetteSpecs: Se,
@@ -10989,16 +11047,16 @@ ${Y(
10989
11047
  if (
10990
11048
  // We stop users from selecting the consolidate path if we can't fit > 1 chunk into
10991
11049
  // the tip, but older protocols can have consolidate selected and trigger this error
10992
- (!fe.isSupported || dt == null || dt === 1) && ne.push(tw()), et && N !== Ye
11050
+ (!fe.isSupported || dt == null || dt === 1) && ne.push(tw()), et && R !== Ye
10993
11051
  ) {
10994
11052
  const ye = Dt({
10995
11053
  robotState: r,
10996
11054
  invariantContext: t,
10997
- pipetteId: R,
11055
+ pipetteId: N,
10998
11056
  labwareId: se,
10999
11057
  wellLocationOffset: { x: y, y: A },
11000
11058
  primaryNozzle: x,
11001
- nozzleConfiguration: N
11059
+ nozzleConfiguration: R
11002
11060
  });
11003
11061
  ye.isSafe || ne.push(
11004
11062
  Zt({
@@ -11008,11 +11066,11 @@ ${Y(
11008
11066
  const ie = Dt({
11009
11067
  robotState: r,
11010
11068
  invariantContext: t,
11011
- pipetteId: R,
11069
+ pipetteId: N,
11012
11070
  labwareId: I,
11013
11071
  wellLocationOffset: { x: ve, y: Je },
11014
11072
  primaryNozzle: x,
11015
- nozzleConfiguration: N
11073
+ nozzleConfiguration: R
11016
11074
  });
11017
11075
  ie.isSafe || ne.push(
11018
11076
  Zt({
@@ -11038,12 +11096,12 @@ ${Y(
11038
11096
  errors: ne
11039
11097
  };
11040
11098
  const { tipracks: qr } = ao(
11041
- R,
11099
+ N,
11042
11100
  Q,
11043
11101
  t,
11044
11102
  r,
11045
11103
  x,
11046
- N
11104
+ R
11047
11105
  ), wr = H({
11048
11106
  liquidClass: X,
11049
11107
  pipetteSpecs: Se,
@@ -11052,16 +11110,16 @@ ${Y(
11052
11110
  liquidHandlingAction: "aspirate",
11053
11111
  byVolumeProperty: "correctionByVolume",
11054
11112
  defaultValue: 0
11055
- }) ?? 0, ke = Re[I]?.pythonName ?? qe[I]?.pythonName, Vt = Re[Te]?.pythonName ?? qe[Te]?.pythonName, $r = S == null ? null : Re[S]?.pythonName ?? qe[S]?.pythonName, Fr = we[se].pythonName, fn = we[I]?.pythonName, Mr = N === Ke ? dr({
11113
+ }) ?? 0, ke = Ne[I]?.pythonName ?? qe[I]?.pythonName, Vt = Ne[Te]?.pythonName ?? qe[Te]?.pythonName, $r = S == null ? null : Ne[S]?.pythonName ?? qe[S]?.pythonName, Fr = we[se].pythonName, fn = we[I]?.pythonName, Mr = R === Ke ? dr({
11056
11114
  labwareDef: we[se].def,
11057
11115
  wells: $,
11058
11116
  primaryNozzle: x
11059
- }) : $, mn = (N === Ke && w != null && we[I] != null ? dr({
11117
+ }) : $, mn = (R === Ke && w != null && we[I] != null ? dr({
11060
11118
  labwareDef: we[I].def,
11061
11119
  wells: [w],
11062
11120
  primaryNozzle: x
11063
11121
  }) : [w])[0], hn = Mr.map((ye) => `${Fr}[${P(ye)}]`).join(", "), yn = mn != null && fn != null ? `${fn}[${P(mn)}]` : null, bn = [
11064
- `name=${P(`${e.commandCreatorFnName}_step_${At}`)}`,
11122
+ `name=${P(`${e.commandCreatorFnName}_step_${vt}`)}`,
11065
11123
  ...X != null ? [`base_liquid_class=${ro(X, !0)}`] : [],
11066
11124
  `properties=${sp({
11067
11125
  args: e,
@@ -11070,16 +11128,16 @@ ${Y(
11070
11128
  liquidClassValuesForTip: j
11071
11129
  })}`
11072
11130
  ], aa = `${ge}.define_liquid_class(
11073
- ${Y(
11131
+ ${G(
11074
11132
  bn.join(`,
11075
11133
  `)
11076
11134
  )},
11077
11135
  )`, sr = V === er && q != null && U != null && U.length > 0 ? no({
11078
11136
  wellSets: U,
11079
- nozzles: N,
11137
+ nozzles: R,
11080
11138
  channels: Se.channels,
11081
11139
  primaryNozzle: x
11082
- }) : null, wn = sr != null && tt != null && N === Ke ? dr({
11140
+ }) : null, wn = sr != null && tt != null && R === Ke ? dr({
11083
11141
  labwareDef: tt?.def,
11084
11142
  wells: sr,
11085
11143
  primaryNozzle: x
@@ -11104,25 +11162,25 @@ ${Y(
11104
11162
  ], oa = () => ({
11105
11163
  commands: [],
11106
11164
  python: `${Z}.consolidate_with_liquid_class(
11107
- ${Y(
11165
+ ${G(
11108
11166
  sa.join(`,
11109
11167
  `)
11110
11168
  )},
11111
11169
  )`
11112
11170
  }), Tn = $b($, dt), or = Ea.includes(yt) ? [
11113
11171
  L(Un, {
11114
- pipetteId: R,
11172
+ pipetteId: N,
11115
11173
  volume: Oe
11116
11174
  })
11117
11175
  ] : [], ia = {
11118
- origin: Ne[Ie],
11176
+ origin: Re[Ie],
11119
11177
  offset: {
11120
11178
  x: Ze,
11121
11179
  y: je,
11122
11180
  z: te
11123
11181
  }
11124
11182
  }, Ut = {
11125
- origin: Ne[M],
11183
+ origin: Re[M],
11126
11184
  offset: {
11127
11185
  x: ee,
11128
11186
  y: de,
@@ -11148,7 +11206,7 @@ ${Y(
11148
11206
  liquidClass: X,
11149
11207
  pipetteSpecs: Se,
11150
11208
  tiprackDefUri: Q,
11151
- targetVolume: W,
11209
+ targetVolume: K,
11152
11210
  liquidHandlingAction: "aspirate",
11153
11211
  byVolumeProperty: "flowRateByVolume",
11154
11212
  defaultValue: null
@@ -11156,7 +11214,7 @@ ${Y(
11156
11214
  liquidClass: X,
11157
11215
  pipetteSpecs: Se,
11158
11216
  tiprackDefUri: Q,
11159
- targetVolume: W,
11217
+ targetVolume: K,
11160
11218
  liquidHandlingAction: "singleDispense",
11161
11219
  byVolumeProperty: "flowRateByVolume",
11162
11220
  defaultValue: null
@@ -11184,7 +11242,7 @@ ${Y(
11184
11242
  well: w
11185
11243
  }), Vr = !Br && w != null ? [
11186
11244
  L(B, {
11187
- pipetteId: R,
11245
+ pipetteId: N,
11188
11246
  labwareId: I,
11189
11247
  wellName: w,
11190
11248
  wellLocation: Wt
@@ -11192,14 +11250,14 @@ ${Y(
11192
11250
  ] : [], ls = [...Vn(
11193
11251
  Tn,
11194
11252
  (ye, ie) => {
11195
- const vt = (Ee, cr = !0) => me > 0 && // don't air gap if end of full transfer and not changing tip
11253
+ const kt = (Ee, cr = !0) => me > 0 && // don't air gap if end of full transfer and not changing tip
11196
11254
  !(v === "never" && $e && Ee) ? [
11197
11255
  ...cr ? Vr : [],
11198
- L(Pt, {
11199
- pipetteId: R
11256
+ L(Ct, {
11257
+ pipetteId: N
11200
11258
  }),
11201
- L(Nt, {
11202
- pipetteId: R,
11259
+ L(Pt, {
11260
+ pipetteId: N,
11203
11261
  volume: me,
11204
11262
  flowRate: ua,
11205
11263
  ...la > 0 ? {
@@ -11209,18 +11267,18 @@ ${Y(
11209
11267
  ...gr
11210
11268
  ] : [], zt = (Ee) => w != null && pe ? [
11211
11269
  L(Xt, {
11212
- pipetteId: R,
11270
+ pipetteId: N,
11213
11271
  labwareId: I,
11214
11272
  wellName: w,
11215
11273
  ...lt != null ? { mmFromEdge: lt } : {},
11216
- zOffsetFromTop: St,
11274
+ zOffsetFromTop: At,
11217
11275
  ...$t != null ? { speed: $t } : {}
11218
11276
  }),
11219
11277
  // move back to retract position after touch tip if air gap needed
11220
11278
  // if retract isn't safe for air gap, air gap commands will include a move to well safe position
11221
- ...vt(Ee).length > 0 && Br ? [
11279
+ ...kt(Ee).length > 0 && Br ? [
11222
11280
  L(B, {
11223
- pipetteId: R,
11281
+ pipetteId: N,
11224
11282
  labwareId: I,
11225
11283
  wellName: w,
11226
11284
  wellLocation: Ut
@@ -11235,9 +11293,9 @@ ${Y(
11235
11293
  const Ee = sr?.shift();
11236
11294
  Ir = [
11237
11295
  k(so, {
11238
- pipette: R,
11296
+ pipette: N,
11239
11297
  primaryNozzle: x,
11240
- nozzles: N,
11298
+ nozzles: R,
11241
11299
  dropTipLocation: Mt && pt != null ? pt : Te,
11242
11300
  tipRack: Q,
11243
11301
  ...V === er && Ee != null && q != null ? {
@@ -11253,17 +11311,17 @@ ${Y(
11253
11311
  ye,
11254
11312
  (Ee, cr) => {
11255
11313
  const Gr = cr === 0;
11256
- let Lt = 0, ur = O;
11257
- Gr && !rt && !Le ? (Lt = me, ur = An) : Gr || (Lt = W, ur = Sn);
11314
+ let Et = 0, ur = O;
11315
+ Gr && !rt && !Le ? (Et = me, ur = An) : Gr || (Et = K, ur = Sn);
11258
11316
  const ha = {
11259
- origin: Ne[h],
11317
+ origin: Re[h],
11260
11318
  offset: {
11261
11319
  x: m,
11262
11320
  y: b,
11263
11321
  z: _
11264
11322
  }
11265
11323
  }, En = {
11266
- origin: Ne[i],
11324
+ origin: Re[i],
11267
11325
  offset: {
11268
11326
  x: c,
11269
11327
  y: u,
@@ -11277,38 +11335,38 @@ ${Y(
11277
11335
  well: Ee
11278
11336
  }), ya = !On && Ee != null ? [
11279
11337
  L(B, {
11280
- pipetteId: R,
11338
+ pipetteId: N,
11281
11339
  labwareId: se,
11282
11340
  wellName: Ee,
11283
11341
  wellLocation: Wt
11284
11342
  })
11285
- ] : [], Rn = H({
11343
+ ] : [], Nn = H({
11286
11344
  liquidClass: X,
11287
11345
  pipetteSpecs: Se,
11288
11346
  tiprackDefUri: Q,
11289
- targetVolume: Lt,
11347
+ targetVolume: Et,
11290
11348
  liquidHandlingAction: "singleDispense",
11291
11349
  byVolumeProperty: "correctionByVolume",
11292
11350
  defaultValue: 0
11293
11351
  }) ?? 0, Wr = Gr ? [
11294
11352
  ...Ea.includes(
11295
- t.pipetteEntities[R].name
11353
+ t.pipetteEntities[N].name
11296
11354
  ) ? [
11297
11355
  L(Un, {
11298
- pipetteId: R,
11356
+ pipetteId: N,
11299
11357
  volume: le
11300
11358
  })
11301
11359
  ] : [],
11302
- L(Pt, {
11303
- pipetteId: R
11360
+ L(Ct, {
11361
+ pipetteId: N
11304
11362
  })
11305
- ] : [], ba = Lt > 0 ? [
11363
+ ] : [], ba = Et > 0 ? [
11306
11364
  L(at, {
11307
- pipetteId: R,
11308
- volume: Lt,
11365
+ pipetteId: N,
11366
+ volume: Et,
11309
11367
  flowRate: ur,
11310
- ...Rn > 0 ? {
11311
- correctionVolume: Rn
11368
+ ...Nn > 0 ? {
11369
+ correctionVolume: Nn
11312
11370
  } : {},
11313
11371
  isAirGap: !0,
11314
11372
  pushOut: 0
@@ -11317,7 +11375,7 @@ ${Y(
11317
11375
  ] : [], Kr = [
11318
11376
  ...[
11319
11377
  L(B, {
11320
- pipetteId: R,
11378
+ pipetteId: N,
11321
11379
  labwareId: se,
11322
11380
  wellName: Ee,
11323
11381
  wellLocation: Wt
@@ -11326,20 +11384,20 @@ ${Y(
11326
11384
  ...ba,
11327
11385
  // ...liquidProbeCommand, // for menisucs-relative pipetting
11328
11386
  ...Wr
11329
- ], Nn = [
11387
+ ], Rn = [
11330
11388
  L(B, {
11331
- pipetteId: R,
11389
+ pipetteId: N,
11332
11390
  labwareId: se,
11333
11391
  wellName: Ee,
11334
11392
  wellLocation: ha
11335
11393
  }),
11336
11394
  L(B, {
11337
- pipetteId: R,
11395
+ pipetteId: N,
11338
11396
  labwareId: se,
11339
11397
  ...f != null ? { speed: f } : {},
11340
11398
  wellName: Ee,
11341
11399
  wellLocation: {
11342
- origin: Ne[s],
11400
+ origin: Re[s],
11343
11401
  offset: {
11344
11402
  x: y,
11345
11403
  y: A,
@@ -11354,7 +11412,7 @@ ${Y(
11354
11412
  ] : []
11355
11413
  ], Ar = ue ? [
11356
11414
  L(Xt, {
11357
- pipetteId: R,
11415
+ pipetteId: N,
11358
11416
  labwareId: se,
11359
11417
  wellName: Ee,
11360
11418
  ...xe != null ? { mmFromEdge: xe } : {},
@@ -11363,9 +11421,9 @@ ${Y(
11363
11421
  }),
11364
11422
  // move back to retract position after touch tip if air gap needed
11365
11423
  // if retract isn't safe for air gap, air gap commands will include a move to well safe position
11366
- ...W > 0 && On ? [
11424
+ ...K > 0 && On ? [
11367
11425
  L(B, {
11368
- pipetteId: R,
11426
+ pipetteId: N,
11369
11427
  labwareId: se,
11370
11428
  wellName: Ee,
11371
11429
  wellLocation: En
@@ -11375,15 +11433,15 @@ ${Y(
11375
11433
  liquidClass: X,
11376
11434
  pipetteSpecs: Se,
11377
11435
  tiprackDefUri: Q,
11378
- targetVolume: W,
11436
+ targetVolume: K,
11379
11437
  liquidHandlingAction: "aspirate",
11380
11438
  byVolumeProperty: "correctionByVolume",
11381
11439
  defaultValue: 0
11382
- }) ?? 0, pr = W > 0 ? [
11440
+ }) ?? 0, pr = K > 0 ? [
11383
11441
  ...ya,
11384
- L(Nt, {
11385
- pipetteId: R,
11386
- volume: W,
11442
+ L(Pt, {
11443
+ pipetteId: N,
11444
+ volume: K,
11387
11445
  flowRate: ca,
11388
11446
  ...Yr > 0 ? {
11389
11447
  correctionVolume: Yr
@@ -11392,7 +11450,7 @@ ${Y(
11392
11450
  ...gr
11393
11451
  ] : [], vr = [
11394
11452
  L(Wa, {
11395
- pipetteId: R,
11453
+ pipetteId: N,
11396
11454
  volume: Oe,
11397
11455
  flowRate: a,
11398
11456
  correctionVolume: wr
@@ -11400,7 +11458,7 @@ ${Y(
11400
11458
  ...gr
11401
11459
  ], _a = [
11402
11460
  L(B, {
11403
- pipetteId: R,
11461
+ pipetteId: N,
11404
11462
  labwareId: se,
11405
11463
  ...l != null ? { speed: l } : {},
11406
11464
  wellName: Ee,
@@ -11414,7 +11472,7 @@ ${Y(
11414
11472
  ];
11415
11473
  return [
11416
11474
  ...Kr,
11417
- ...Nn,
11475
+ ...Rn,
11418
11476
  ...vr,
11419
11477
  ..._a,
11420
11478
  ...Ar,
@@ -11425,13 +11483,13 @@ ${Y(
11425
11483
  // destination is well
11426
11484
  w != null ? [
11427
11485
  L(B, {
11428
- pipetteId: R,
11486
+ pipetteId: N,
11429
11487
  labwareId: I,
11430
11488
  wellName: w,
11431
11489
  wellLocation: Wt
11432
11490
  }),
11433
11491
  L(B, {
11434
- pipetteId: R,
11492
+ pipetteId: N,
11435
11493
  labwareId: I,
11436
11494
  wellName: w,
11437
11495
  wellLocation: ia,
@@ -11441,7 +11499,7 @@ ${Y(
11441
11499
  // destination is trash or waste chute
11442
11500
  [
11443
11501
  L(ze, {
11444
- pipetteId: R,
11502
+ pipetteId: N,
11445
11503
  fixtureId: I,
11446
11504
  offset: {
11447
11505
  x: 0,
@@ -11455,34 +11513,34 @@ ${Y(
11455
11513
  liquidClass: X,
11456
11514
  pipetteSpecs: Se,
11457
11515
  tiprackDefUri: Q,
11458
- targetVolume: W,
11516
+ targetVolume: K,
11459
11517
  liquidHandlingAction: "singleDispense",
11460
11518
  byVolumeProperty: "correctionByVolume",
11461
11519
  defaultValue: 0
11462
- }) ?? 0, vn = W > 0 ? [
11520
+ }) ?? 0, vn = K > 0 ? [
11463
11521
  L(at, {
11464
- pipetteId: R,
11465
- volume: W,
11522
+ pipetteId: N,
11523
+ volume: K,
11466
11524
  flowRate: Sn,
11467
11525
  pushOut: 0,
11468
11526
  correctionVolume: fa,
11469
11527
  isAirGap: !0
11470
11528
  }),
11471
11529
  ...xr
11472
- ] : [], kt = w != null ? [
11530
+ ] : [], Lt = w != null ? [
11473
11531
  L(B, {
11474
- pipetteId: R,
11532
+ pipetteId: N,
11475
11533
  labwareId: I,
11476
11534
  wellName: w,
11477
11535
  wellLocation: ia
11478
11536
  }),
11479
11537
  L(B, {
11480
- pipetteId: R,
11538
+ pipetteId: N,
11481
11539
  labwareId: I,
11482
11540
  ...Ce != null ? { speed: Ce } : {},
11483
11541
  wellName: w,
11484
11542
  wellLocation: {
11485
- origin: Ne[F],
11543
+ origin: Re[F],
11486
11544
  offset: {
11487
11545
  x: ve,
11488
11546
  y: Je,
@@ -11503,35 +11561,35 @@ ${Y(
11503
11561
  liquidHandlingAction: "singleDispense",
11504
11562
  byVolumeProperty: "correctionByVolume",
11505
11563
  defaultValue: 0
11506
- }) ?? 0, Tr = G != null ? 0 : D, jr = [
11564
+ }) ?? 0, Tr = W != null ? 0 : D, jr = [
11507
11565
  L(at, {
11508
- pipetteId: R,
11566
+ pipetteId: N,
11509
11567
  volume: le,
11510
11568
  flowRate: O,
11511
11569
  ...Tr != null ? { pushOut: Tr } : {},
11512
11570
  correctionVolume: ma
11513
11571
  }),
11514
11572
  ...xr
11515
- ], ir = (G != null ? H({
11573
+ ], ir = (W != null ? H({
11516
11574
  liquidClass: X,
11517
11575
  pipetteSpecs: Se,
11518
11576
  tiprackDefUri: Q,
11519
- targetVolume: G.volume,
11577
+ targetVolume: W.volume,
11520
11578
  liquidHandlingAction: "aspirate",
11521
11579
  byVolumeProperty: "flowRateByVolume",
11522
11580
  defaultValue: null
11523
- }) : a) ?? a, lr = (G != null ? H({
11581
+ }) : a) ?? a, lr = (W != null ? H({
11524
11582
  liquidClass: X,
11525
11583
  pipetteSpecs: Se,
11526
11584
  tiprackDefUri: Q,
11527
- targetVolume: G.volume,
11585
+ targetVolume: W.volume,
11528
11586
  liquidHandlingAction: "singleDispense",
11529
11587
  byVolumeProperty: "flowRateByVolume",
11530
11588
  defaultValue: null
11531
- }) : O) ?? O, kn = G != null ? tn({
11532
- pipette: R,
11533
- volume: G.volume,
11534
- times: G.times,
11589
+ }) : O) ?? O, kn = W != null ? tn({
11590
+ pipette: N,
11591
+ volume: W.volume,
11592
+ times: W.times,
11535
11593
  aspirateFlowRateUlSec: ir,
11536
11594
  dispenseFlowRateUlSec: lr,
11537
11595
  aspirateDelaySeconds: n?.seconds,
@@ -11543,7 +11601,7 @@ ${Y(
11543
11601
  generatePython: !1
11544
11602
  }) : [], Hr = [
11545
11603
  L(Qn, {
11546
- pipetteId: R,
11604
+ pipetteId: N,
11547
11605
  flowRate: g
11548
11606
  })
11549
11607
  ];
@@ -11551,10 +11609,10 @@ ${Y(
11551
11609
  S == null || // should be disallowed in UI, but just in case
11552
11610
  S === ta ? Sr = [
11553
11611
  ...zt(!0),
11554
- ...vt(!0)
11612
+ ...kt(!0)
11555
11613
  ] : S === Ka && w != null ? Sr = [
11556
11614
  L(B, {
11557
- pipetteId: R,
11615
+ pipetteId: N,
11558
11616
  labwareId: I,
11559
11617
  wellName: w,
11560
11618
  wellLocation: {
@@ -11563,13 +11621,13 @@ ${Y(
11563
11621
  }),
11564
11622
  ...Hr,
11565
11623
  ...zt(!0),
11566
- ...vt(!0)
11624
+ ...kt(!0)
11567
11625
  ] : Sr = [
11568
11626
  ...zt(!1),
11569
- ...vt(!1),
11627
+ ...kt(!1),
11570
11628
  L(ze, {
11571
- pipetteId: R,
11572
- fixtureId: Object.values(Re).length > 0 ? Object.values(Re)[0].id : Object.values(qe)[0].id,
11629
+ pipetteId: N,
11630
+ fixtureId: Object.values(Ne).length > 0 ? Object.values(Ne)[0].id : Object.values(qe)[0].id,
11573
11631
  offset: {
11574
11632
  x: 0,
11575
11633
  y: 0,
@@ -11577,11 +11635,11 @@ ${Y(
11577
11635
  }
11578
11636
  }),
11579
11637
  ...Hr,
11580
- ...vt(!0, !1)
11638
+ ...kt(!0, !1)
11581
11639
  ];
11582
11640
  const Ln = Mt && (ie === Tn.length - 1 || v === "always") ? [
11583
11641
  L(ea, {
11584
- pipette: R,
11642
+ pipette: N,
11585
11643
  dropTipLocation: Q,
11586
11644
  isReturnTip: Mt
11587
11645
  })
@@ -11592,7 +11650,7 @@ ${Y(
11592
11650
  ...Ur,
11593
11651
  ...zr,
11594
11652
  ...vn,
11595
- ...kt,
11653
+ ...Lt,
11596
11654
  ...jr,
11597
11655
  ...kn,
11598
11656
  ...Sr,
@@ -11605,7 +11663,7 @@ ${Y(
11605
11663
  t,
11606
11664
  r
11607
11665
  );
11608
- }, Xv = (e, t, r) => {
11666
+ }, Zv = (e, t, r) => {
11609
11667
  const { pipetteId: n, trashId: a, flowRate: s, volume: o } = e, { pipetteEntities: i, trashBinEntities: l } = t, c = l[a], u = i[n].pythonName, p = c.pythonName, d = [
11610
11668
  `volume=${o}`,
11611
11669
  `location=${p}`,
@@ -11615,7 +11673,7 @@ ${Y(
11615
11673
  ], h = () => ({
11616
11674
  commands: [],
11617
11675
  python: `${u}.dispense(
11618
- ${Y(
11676
+ ${G(
11619
11677
  d.join(`,
11620
11678
  `)
11621
11679
  )},
@@ -11638,7 +11696,7 @@ ${Y(
11638
11696
  t,
11639
11697
  r
11640
11698
  );
11641
- }, Zv = (e, t, r) => {
11699
+ }, Jv = (e, t, r) => {
11642
11700
  const { pipetteId: n, flowRate: a, volume: s, wasteChuteId: o } = e, { pipetteEntities: i, wasteChuteEntities: l } = t, c = l[o].pythonName, u = i[n].pythonName, p = [
11643
11701
  `volume=${s}`,
11644
11702
  `location=${c}`,
@@ -11648,7 +11706,7 @@ ${Y(
11648
11706
  ], d = () => ({
11649
11707
  commands: [],
11650
11708
  python: `${u}.dispense(
11651
- ${Y(
11709
+ ${G(
11652
11710
  p.join(`,
11653
11711
  `)
11654
11712
  )},
@@ -11671,7 +11729,7 @@ ${Y(
11671
11729
  t,
11672
11730
  r
11673
11731
  );
11674
- }, Jv = (e, t, r) => {
11732
+ }, Qv = (e, t, r) => {
11675
11733
  const {
11676
11734
  aspirateDelay: n,
11677
11735
  aspirateFlowRateUlSec: a,
@@ -11714,9 +11772,9 @@ ${Y(
11714
11772
  dispenseXOffset: De,
11715
11773
  dispenseYOffset: Te,
11716
11774
  dispenseZOffset: X,
11717
- dropTipLocation: G,
11718
- liquidClass: N,
11719
- mixBeforeAspirate: R,
11775
+ dropTipLocation: W,
11776
+ liquidClass: R,
11777
+ mixBeforeAspirate: N,
11720
11778
  nozzles: x,
11721
11779
  pipette: D,
11722
11780
  preWetTip: se,
@@ -11732,44 +11790,44 @@ ${Y(
11732
11790
  touchTipAfterAspirate: He,
11733
11791
  touchTipAfterAspirateMmFromEdge: pe,
11734
11792
  touchTipAfterAspirateOffsetMmFromTop: lt,
11735
- touchTipAfterAspirateSpeed: St,
11793
+ touchTipAfterAspirateSpeed: At,
11736
11794
  touchTipAfterDispense: $t,
11737
- touchTipAfterDispenseMmFromEdge: At,
11795
+ touchTipAfterDispenseMmFromEdge: vt,
11738
11796
  touchTipAfterDispenseOffsetMmFromTop: Oe,
11739
11797
  touchTipAfterDispenseSpeed: ct,
11740
11798
  stepNumber: we,
11741
- volume: Re
11799
+ volume: Ne
11742
11800
  } = e, {
11743
11801
  pipetteEntities: qe,
11744
11802
  labwareEntities: re,
11745
11803
  trashBinEntities: ne,
11746
11804
  wasteChuteEntities: Ft
11747
- } = t, et = "distribute", W = [], me = qe[D]?.spec.channels !== 1, Dr = re[V]?.def.parameters.quirks?.includes(
11805
+ } = t, et = "distribute", K = [], me = qe[D]?.spec.channels !== 1, Dr = re[V]?.def.parameters.quirks?.includes(
11748
11806
  "touchTipDisabled"
11749
11807
  ), ut = e.aspirateAirGapVolume ?? 0, Be = e.dispenseAirGapVolume ?? 0, he = e.disposalVolume != null && e.disposalVolume > 0 ? e.disposalVolume : 0, pt = e.conditioningVolume != null && e.conditioningVolume > 0 ? e.conditioningVolume : 0;
11750
- (r.pipettes[D] == null || qe[D] == null) && W.push(
11808
+ (r.pipettes[D] == null || qe[D] == null) && K.push(
11751
11809
  wt({
11752
11810
  pipette: D
11753
11811
  })
11754
- ), (!V || !r.labware[V]) && W.push(
11812
+ ), (!V || !r.labware[V]) && K.push(
11755
11813
  gt({
11756
11814
  actionName: et,
11757
11815
  labware: V
11758
11816
  })
11759
11817
  );
11760
- const un = K(
11818
+ const un = Y(
11761
11819
  r.labware[I]?.stack
11762
- ), Mt = K(
11820
+ ), Mt = Y(
11763
11821
  r.labware[V]?.stack
11764
11822
  );
11765
- Object.keys(Ft).length > 0 && (un === Nr || Mt === Nr) && W.push(Ba());
11823
+ Object.keys(Ft).length > 0 && (un === Rr || Mt === Rr) && K.push(Ba());
11766
11824
  const pn = [
11767
11825
  ...Object.keys(t.trashBinEntities),
11768
11826
  ...Object.keys(t.wasteChuteEntities)
11769
11827
  ], br = pn.length > 0 ? pn[0] : null, tt = Object.values(t.labwareEntities).find(
11770
- ({ labwareDefURI: le }) => le === G
11771
- ), Q = tt != null && Pr(tt.def), xt = t.wasteChuteEntities[G] != null, Se = t.trashBinEntities[G] != null, yt = r.tipState.pipettes[D]?.hasTip;
11772
- (G == null || Q && br == null && v !== "never" && yt || !Q && !xt && !Se) && W.push(Wn());
11828
+ ({ labwareDefURI: le }) => le === W
11829
+ ), Q = tt != null && Pr(tt.def), xt = t.wasteChuteEntities[W] != null, Se = t.trashBinEntities[W] != null, yt = r.tipState.pipettes[D]?.hasTip;
11830
+ (W == null || Q && br == null && v !== "never" && yt || !Q && !xt && !Se) && K.push(Wn());
11773
11831
  let Z, j;
11774
11832
  if (v === "never") {
11775
11833
  const le = r.tipState.pipettes[D]?.tiprackURI;
@@ -11778,19 +11836,19 @@ ${Y(
11778
11836
  Z = Object.values(re).find(
11779
11837
  ({ labwareDefURI: le }) => le === U
11780
11838
  ), j = U;
11781
- Z == null && (v === "never" ? W.push(tr({ actionName: et, pipette: D })) : W.push(
11839
+ Z == null && (v === "never" ? K.push(tr({ actionName: et, pipette: D })) : K.push(
11782
11840
  gt({ actionName: et, labware: j })
11783
11841
  ));
11784
11842
  const { def: bt = null } = Z ?? {}, {
11785
11843
  spec: fe,
11786
11844
  name: dt,
11787
11845
  pythonName: ar
11788
- } = qe[D], Bt = qa()[N === Iu || N == null ? Tu : N].byPipette?.find(
11846
+ } = qe[D], Bt = qa()[R === Iu || R == null ? Tu : R].byPipette?.find(
11789
11847
  ({ pipetteModel: le }) => le === rn(fe)
11790
11848
  )?.byTipType.find(({ tiprack: le }) => le === j) ?? null, { aspirate: dn, multiDispense: _r } = Bt ?? {}, { multiWellHandling: qr } = Zy({
11791
11849
  pipetteSpecs: fe,
11792
11850
  tiprackDefinition: bt,
11793
- volume: Re,
11851
+ volume: Ne,
11794
11852
  path: "multiDispense",
11795
11853
  numAspirateWells: 1,
11796
11854
  numDispenseWells: w.length,
@@ -11801,7 +11859,7 @@ ${Y(
11801
11859
  if (
11802
11860
  // We stop users from selecting the distribute path if we can't fit > 1 chunk into
11803
11861
  // the tip, but older protocols can have distributed selected and trigger this error
11804
- (!qr.isSupported || wr == null || wr === 1) && W.push(rw()), me && x !== Ye
11862
+ (!qr.isSupported || wr == null || wr === 1) && K.push(rw()), me && x !== Ye
11805
11863
  ) {
11806
11864
  const le = Dt({
11807
11865
  robotState: r,
@@ -11813,7 +11871,7 @@ ${Y(
11813
11871
  primaryNozzle: $,
11814
11872
  nozzleConfiguration: x
11815
11873
  });
11816
- le.isSafe || W.push(
11874
+ le.isSafe || K.push(
11817
11875
  Zt({
11818
11876
  unsafePipetteMovementReason: le.reason
11819
11877
  })
@@ -11828,7 +11886,7 @@ ${Y(
11828
11886
  primaryNozzle: $,
11829
11887
  nozzleConfiguration: x
11830
11888
  });
11831
- rt.isSafe || W.push(
11889
+ rt.isSafe || K.push(
11832
11890
  Zt({
11833
11891
  unsafePipetteMovementReason: rt.reason
11834
11892
  })
@@ -11847,7 +11905,7 @@ ${Y(
11847
11905
  i,
11848
11906
  ke
11849
11907
  );
11850
- Vt != null && $r != null && Vt > $r && W.push(Yh()), Vt != null && Fr != null && Vt > Fr && W.push(Xh());
11908
+ Vt != null && $r != null && Vt > $r && K.push(Yh()), Vt != null && Fr != null && Vt > Fr && K.push(Xh());
11851
11909
  const fn = [
11852
11910
  L(B, {
11853
11911
  pipetteId: D,
@@ -11856,16 +11914,16 @@ ${Y(
11856
11914
  wellLocation: Wt
11857
11915
  })
11858
11916
  ], Mr = lp(D, t, j) - ut;
11859
- if (Math.floor((Mr - he) / Re) === 0 && W.push(
11917
+ if (Math.floor((Mr - he) / Ne) === 0 && K.push(
11860
11918
  Is({
11861
11919
  actionName: et,
11862
- volume: Re,
11920
+ volume: Ne,
11863
11921
  maxVolume: Mr,
11864
11922
  disposalVolume: he
11865
11923
  })
11866
- ), W.length > 0)
11924
+ ), K.length > 0)
11867
11925
  return {
11868
- errors: W
11926
+ errors: K
11869
11927
  };
11870
11928
  const { tipracks: hn } = ao(
11871
11929
  D,
@@ -11875,14 +11933,14 @@ ${Y(
11875
11933
  $,
11876
11934
  x
11877
11935
  ), yn = H({
11878
- liquidClass: N,
11936
+ liquidClass: R,
11879
11937
  pipetteSpecs: fe,
11880
11938
  tiprackDefUri: j,
11881
- targetVolume: Re,
11939
+ targetVolume: Ne,
11882
11940
  liquidHandlingAction: "multiDispense",
11883
11941
  byVolumeProperty: "correctionByVolume",
11884
11942
  defaultValue: 0
11885
- }) ?? 0, bn = ne[I]?.pythonName ?? Ft[I]?.pythonName, aa = ne[G]?.pythonName ?? Ft[G]?.pythonName, _n = S == null ? null : ne[S]?.pythonName ?? Ft[S]?.pythonName, sr = re[V].pythonName, wn = re[I]?.pythonName, gn = (x === Ke ? dr({
11943
+ }) ?? 0, bn = ne[I]?.pythonName ?? Ft[I]?.pythonName, aa = ne[W]?.pythonName ?? Ft[W]?.pythonName, _n = S == null ? null : ne[S]?.pythonName ?? Ft[S]?.pythonName, sr = re[V].pythonName, wn = re[I]?.pythonName, gn = (x === Ke ? dr({
11886
11944
  labwareDef: re[V].def,
11887
11945
  wells: [q],
11888
11946
  primaryNozzle: $
@@ -11894,7 +11952,7 @@ ${Y(
11894
11952
  gn
11895
11953
  )}]`, oa = In.map((le) => `${wn}[${P(le)}]`).join(", "), Tn = [
11896
11954
  `name=${P(`${e.commandCreatorFnName}_step_${we}`)}`,
11897
- ...N != null ? [`base_liquid_class=${ro(N, !0)}`] : [],
11955
+ ...R != null ? [`base_liquid_class=${ro(R, !0)}`] : [],
11898
11956
  `properties=${sp({
11899
11957
  args: e,
11900
11958
  pipetteName: Es(dt) ? rn(fe) : dt,
@@ -11902,7 +11960,7 @@ ${Y(
11902
11960
  liquidClassValuesForTip: Bt
11903
11961
  })}`
11904
11962
  ], or = `${ge}.define_liquid_class(
11905
- ${Y(
11963
+ ${G(
11906
11964
  Tn.join(`,
11907
11965
  `)
11908
11966
  )},
@@ -11916,7 +11974,7 @@ ${Y(
11916
11974
  wells: Ut,
11917
11975
  primaryNozzle: $
11918
11976
  }) : Ut)?.map((le) => `${gr}[${P(le)}]`).join(", "), ca = [
11919
- `volume=${Re}`,
11977
+ `volume=${Ne}`,
11920
11978
  `source=[${sa}]`,
11921
11979
  `dest=[${oa ?? bn}]`,
11922
11980
  `new_tip=${P(ip(v))}`,
@@ -11936,41 +11994,41 @@ ${Y(
11936
11994
  ], Sn = () => ({
11937
11995
  commands: [],
11938
11996
  python: `${ar}.distribute_with_liquid_class(
11939
- ${Y(
11997
+ ${G(
11940
11998
  ca.join(`,
11941
11999
  `)
11942
12000
  )},
11943
12001
  )`
11944
12002
  }), ua = {
11945
- origin: Ne[h],
12003
+ origin: Re[h],
11946
12004
  offset: {
11947
12005
  x: m,
11948
12006
  y: b,
11949
12007
  z: _
11950
12008
  }
11951
12009
  }, An = {
11952
- origin: Ne[i],
12010
+ origin: Re[i],
11953
12011
  offset: {
11954
12012
  x: c,
11955
12013
  y: u,
11956
12014
  z: p
11957
12015
  }
11958
12016
  }, Br = {
11959
- origin: Ne[Ze],
12017
+ origin: Re[Ze],
11960
12018
  offset: {
11961
12019
  x: te,
11962
12020
  y: ve,
11963
12021
  z: Je
11964
12022
  }
11965
12023
  }, Vr = {
11966
- origin: Ne[ee],
12024
+ origin: Re[ee],
11967
12025
  offset: {
11968
12026
  x: _e,
11969
12027
  y: ae,
11970
12028
  z: Ie
11971
12029
  }
11972
12030
  }, pa = H({
11973
- liquidClass: N,
12031
+ liquidClass: R,
11974
12032
  pipetteSpecs: fe,
11975
12033
  tiprackDefUri: j,
11976
12034
  targetVolume: ut,
@@ -11978,7 +12036,7 @@ ${Y(
11978
12036
  byVolumeProperty: "flowRateByVolume",
11979
12037
  defaultValue: null
11980
12038
  }) ?? a, ls = H({
11981
- liquidClass: N,
12039
+ liquidClass: R,
11982
12040
  pipetteSpecs: fe,
11983
12041
  tiprackDefUri: j,
11984
12042
  targetVolume: ut,
@@ -11986,7 +12044,7 @@ ${Y(
11986
12044
  byVolumeProperty: "flowRateByVolume",
11987
12045
  defaultValue: null
11988
12046
  }) ?? O, ye = H({
11989
- liquidClass: N,
12047
+ liquidClass: R,
11990
12048
  pipetteSpecs: fe,
11991
12049
  tiprackDefUri: j,
11992
12050
  targetVolume: Be,
@@ -11994,14 +12052,14 @@ ${Y(
11994
12052
  byVolumeProperty: "flowRateByVolume",
11995
12053
  defaultValue: null
11996
12054
  }) ?? a, ie = H({
11997
- liquidClass: N,
12055
+ liquidClass: R,
11998
12056
  pipetteSpecs: fe,
11999
12057
  tiprackDefUri: j,
12000
12058
  targetVolume: Be,
12001
12059
  liquidHandlingAction: "multiDispense",
12002
12060
  byVolumeProperty: "flowRateByVolume",
12003
12061
  defaultValue: null
12004
- }) ?? O, vt = $b(w, wr), zt = jn({
12062
+ }) ?? O, kt = $b(w, wr), zt = jn({
12005
12063
  retractZOffset: p,
12006
12064
  retractPositionReference: i,
12007
12065
  labwareId: V,
@@ -12015,9 +12073,9 @@ ${Y(
12015
12073
  wellLocation: Wt
12016
12074
  })
12017
12075
  ] : [], da = [...Vn(
12018
- vt,
12076
+ kt,
12019
12077
  (le, rt) => {
12020
- const Ir = le.length, Ur = Re * Ir, zr = Ur + he + pt, fa = rt === 0, vn = rt === vt.length - 1, kt = (
12078
+ const Ir = le.length, Ur = Ne * Ir, zr = Ur + he + pt, fa = rt === 0, vn = rt === kt.length - 1, Lt = (
12021
12079
  // path is in ['always', 'once', 'never']
12022
12080
  v === "always" || v === "once" && fa
12023
12081
  ), ma = Ea.includes(
@@ -12029,14 +12087,14 @@ ${Y(
12029
12087
  })
12030
12088
  ] : [];
12031
12089
  let Tr = [];
12032
- if (kt) {
12090
+ if (Lt) {
12033
12091
  const Fe = Ut?.shift();
12034
12092
  Tr = [
12035
12093
  k(so, {
12036
12094
  pipette: D,
12037
12095
  nozzles: x,
12038
12096
  primaryNozzle: $,
12039
- dropTipLocation: Q && br != null ? br : G,
12097
+ dropTipLocation: Q && br != null ? br : W,
12040
12098
  tipRack: j,
12041
12099
  ...ue === er && Fe != null && xe != null ? {
12042
12100
  tipSelectionArgs: {
@@ -12048,11 +12106,11 @@ ${Y(
12048
12106
  ];
12049
12107
  }
12050
12108
  const jr = [
12051
- L(Pt, {
12109
+ L(Ct, {
12052
12110
  pipetteId: D
12053
12111
  })
12054
12112
  ], ir = H({
12055
- liquidClass: N,
12113
+ liquidClass: R,
12056
12114
  pipetteSpecs: fe,
12057
12115
  tiprackDefUri: j,
12058
12116
  targetVolume: Be,
@@ -12063,7 +12121,7 @@ ${Y(
12063
12121
  L(be, {
12064
12122
  seconds: E.seconds
12065
12123
  })
12066
- ] : [], kn = Be > 0 && !kt && !fa && he === 0 && S == null ? [
12124
+ ] : [], kn = Be > 0 && !Lt && !fa && he === 0 && S == null ? [
12067
12125
  L(at, {
12068
12126
  isAirGap: !0,
12069
12127
  pipetteId: D,
@@ -12094,7 +12152,7 @@ ${Y(
12094
12152
  ...f != null ? { speed: f } : {},
12095
12153
  wellName: q,
12096
12154
  wellLocation: {
12097
- origin: Ne[s],
12155
+ origin: Re[s],
12098
12156
  offset: {
12099
12157
  x: y,
12100
12158
  y: A,
@@ -12118,13 +12176,13 @@ ${Y(
12118
12176
  finalPushOut: 0,
12119
12177
  // according to transfer_components_executor, don't push out here
12120
12178
  invariantContext: t,
12121
- liquidClass: N,
12179
+ liquidClass: R,
12122
12180
  tiprack: j,
12123
12181
  generatePython: !1
12124
- }) : [], Ee = R != null ? tn({
12182
+ }) : [], Ee = N != null ? tn({
12125
12183
  pipette: D,
12126
- volume: R.volume,
12127
- times: R.times,
12184
+ volume: N.volume,
12185
+ times: N.times,
12128
12186
  aspirateFlowRateUlSec: a,
12129
12187
  dispenseFlowRateUlSec: O,
12130
12188
  aspirateDelaySeconds: n?.seconds,
@@ -12132,7 +12190,7 @@ ${Y(
12132
12190
  finalPushOut: 0,
12133
12191
  // according to transfer_components_executor, don't push out here
12134
12192
  invariantContext: t,
12135
- liquidClass: N,
12193
+ liquidClass: R,
12136
12194
  tiprack: j,
12137
12195
  generatePython: !1
12138
12196
  }) : [], cr = n != null ? [
@@ -12146,7 +12204,7 @@ ${Y(
12146
12204
  wellName: q,
12147
12205
  ...pe != null ? { mmFromEdge: pe } : {},
12148
12206
  zOffsetFromTop: lt,
12149
- ...St != null ? { speed: St } : {}
12207
+ ...At != null ? { speed: At } : {}
12150
12208
  }),
12151
12209
  // move back to retract position after touch tip if air gap needed
12152
12210
  // if retract isn't safe for air gap, air gap commands will include a move to well safe position
@@ -12158,8 +12216,8 @@ ${Y(
12158
12216
  wellLocation: An
12159
12217
  })
12160
12218
  ] : []
12161
- ] : [], Lt = H({
12162
- liquidClass: N,
12219
+ ] : [], Et = H({
12220
+ liquidClass: R,
12163
12221
  pipetteSpecs: fe,
12164
12222
  tiprackDefUri: j,
12165
12223
  targetVolume: ut,
@@ -12168,17 +12226,17 @@ ${Y(
12168
12226
  defaultValue: 0
12169
12227
  }) ?? 0, ur = ut > 0 ? [
12170
12228
  ...Le,
12171
- L(Nt, {
12229
+ L(Pt, {
12172
12230
  pipetteId: D,
12173
12231
  volume: ut,
12174
12232
  flowRate: pa,
12175
- ...Lt > 0 ? {
12176
- correctionVolume: Lt
12233
+ ...Et > 0 ? {
12234
+ correctionVolume: Et
12177
12235
  } : {}
12178
12236
  }),
12179
12237
  ...cr
12180
12238
  ] : [], ha = H({
12181
- liquidClass: N,
12239
+ liquidClass: R,
12182
12240
  pipetteSpecs: fe,
12183
12241
  tiprackDefUri: j,
12184
12242
  targetVolume: zr,
@@ -12186,7 +12244,7 @@ ${Y(
12186
12244
  byVolumeProperty: "correctionByVolume",
12187
12245
  defaultValue: 0
12188
12246
  }) ?? 0, En = H({
12189
- liquidClass: N,
12247
+ liquidClass: R,
12190
12248
  pipetteSpecs: fe,
12191
12249
  tiprackDefUri: j,
12192
12250
  targetVolume: pt,
@@ -12211,7 +12269,7 @@ ${Y(
12211
12269
  }),
12212
12270
  ...cr,
12213
12271
  ...On
12214
- ], Rn = [
12272
+ ], Nn = [
12215
12273
  L(B, {
12216
12274
  pipetteId: D,
12217
12275
  labwareId: V,
@@ -12227,11 +12285,11 @@ ${Y(
12227
12285
  ], Wr = Vn(
12228
12286
  le,
12229
12287
  (Fe, Kr) => {
12230
- const Nn = Kr === 0, Ar = Kr === le.length - 1, Yr = vn && Ar;
12288
+ const Rn = Kr === 0, Ar = Kr === le.length - 1, Yr = vn && Ar;
12231
12289
  let pr = 0, vr = O;
12232
- Nn && ut > 0 ? (pr = ut, vr = ls) : !Nn && Be > 0 && pt === 0 && (pr = Be, vr = ie);
12290
+ Rn && ut > 0 ? (pr = ut, vr = ls) : !Rn && Be > 0 && pt === 0 && (pr = Be, vr = ie);
12233
12291
  const _a = H({
12234
- liquidClass: N,
12292
+ liquidClass: R,
12235
12293
  pipetteSpecs: fe,
12236
12294
  tiprackDefUri: j,
12237
12295
  targetVolume: pr,
@@ -12275,7 +12333,7 @@ ${Y(
12275
12333
  ...je != null ? { speed: je } : {},
12276
12334
  wellName: Fe,
12277
12335
  wellLocation: {
12278
- origin: Ne[F],
12336
+ origin: Re[F],
12279
12337
  offset: {
12280
12338
  x: De,
12281
12339
  y: Te,
@@ -12298,10 +12356,10 @@ ${Y(
12298
12356
  z: 0
12299
12357
  }
12300
12358
  })
12301
- ], wa = he === 0 && Ar ? z : 0, Et = [
12359
+ ], wa = he === 0 && Ar ? z : 0, Ot = [
12302
12360
  L(at, {
12303
12361
  pipetteId: D,
12304
- volume: Re,
12362
+ volume: Ne,
12305
12363
  flowRate: O,
12306
12364
  ...wa != null ? { pushOut: wa } : {},
12307
12365
  correctionVolume: yn
@@ -12326,7 +12384,7 @@ ${Y(
12326
12384
  flowRate: g
12327
12385
  })
12328
12386
  ] : [], ps = H({
12329
- liquidClass: N,
12387
+ liquidClass: R,
12330
12388
  pipetteSpecs: fe,
12331
12389
  tiprackDefUri: j,
12332
12390
  targetVolume: Be,
@@ -12337,10 +12395,10 @@ ${Y(
12337
12395
  !(Kr < le.length - 1 && pt > 0) && // don't air gap if end of full transfer and not changing tip
12338
12396
  !(v === "never" && Yr && ga) ? [
12339
12397
  ...Mb ? oo : [],
12340
- L(Pt, {
12398
+ L(Ct, {
12341
12399
  pipetteId: D
12342
12400
  }),
12343
- L(Nt, {
12401
+ L(Pt, {
12344
12402
  pipetteId: D,
12345
12403
  volume: Be,
12346
12404
  flowRate: ye,
@@ -12349,12 +12407,12 @@ ${Y(
12349
12407
  } : {}
12350
12408
  }),
12351
12409
  ...cr
12352
- ] : [], Ot = (ga) => Fe != null && $t ? [
12410
+ ] : [], Nt = (ga) => Fe != null && $t ? [
12353
12411
  L(Xt, {
12354
12412
  pipetteId: D,
12355
12413
  labwareId: I,
12356
12414
  wellName: Fe,
12357
- ...At != null ? { mmFromEdge: At } : {},
12415
+ ...vt != null ? { mmFromEdge: vt } : {},
12358
12416
  zOffsetFromTop: Oe,
12359
12417
  ...ct != null ? { speed: ct } : {}
12360
12418
  }),
@@ -12374,7 +12432,7 @@ ${Y(
12374
12432
  let Xr = [];
12375
12433
  if (S == null || !Ar)
12376
12434
  Xr = [
12377
- ...Ot(!0),
12435
+ ...Nt(!0),
12378
12436
  ...Ht(!0)
12379
12437
  ];
12380
12438
  else if (S === Ka)
@@ -12388,13 +12446,13 @@ ${Y(
12388
12446
  }
12389
12447
  }),
12390
12448
  ...jt,
12391
- ...Ot(!0),
12449
+ ...Nt(!0),
12392
12450
  ...Ht(!0)
12393
12451
  ];
12394
12452
  else if (S === ta) {
12395
12453
  const ga = Ht(!0);
12396
12454
  Xr = [
12397
- ...Ot(!1),
12455
+ ...Nt(!1),
12398
12456
  ...Ht(!1),
12399
12457
  L(B, {
12400
12458
  pipetteId: D,
@@ -12412,7 +12470,7 @@ ${Y(
12412
12470
  pipetteId: D,
12413
12471
  labwareId: V,
12414
12472
  wellName: q,
12415
- ...At != null ? { mmFromEdge: At } : {},
12473
+ ...vt != null ? { mmFromEdge: vt } : {},
12416
12474
  zOffsetFromTop: Oe,
12417
12475
  ...ct != null ? { speed: ct } : {}
12418
12476
  })
@@ -12429,7 +12487,7 @@ ${Y(
12429
12487
  ];
12430
12488
  } else
12431
12489
  Xr = [
12432
- ...Ot(!1),
12490
+ ...Nt(!1),
12433
12491
  ...Ht(!1),
12434
12492
  L(ze, {
12435
12493
  pipetteId: D,
@@ -12445,12 +12503,12 @@ ${Y(
12445
12503
  ];
12446
12504
  return [
12447
12505
  ...us,
12448
- ...Et,
12506
+ ...Ot,
12449
12507
  ...Pn,
12450
12508
  ...Xr
12451
12509
  ];
12452
12510
  }
12453
- ), ba = Q && (rt === vt.length - 1 || v === "always") ? [
12511
+ ), ba = Q && (rt === kt.length - 1 || v === "always") ? [
12454
12512
  L(ea, {
12455
12513
  pipette: D,
12456
12514
  dropTipLocation: j,
@@ -12464,7 +12522,7 @@ ${Y(
12464
12522
  ...Ee,
12465
12523
  ...Ln,
12466
12524
  ...ya,
12467
- ...Rn,
12525
+ ...Nn,
12468
12526
  ...Gr,
12469
12527
  ...ur,
12470
12528
  ...Wr,
@@ -12477,7 +12535,7 @@ ${Y(
12477
12535
  t,
12478
12536
  r
12479
12537
  );
12480
- }, Qv = (e, t, r) => {
12538
+ }, ek = (e, t, r) => {
12481
12539
  const {
12482
12540
  timerHours: n,
12483
12541
  timerMinutes: a,
@@ -12551,7 +12609,7 @@ ${Y(
12551
12609
  t,
12552
12610
  r
12553
12611
  );
12554
- }, ek = (e, t, r) => {
12612
+ }, tk = (e, t, r) => {
12555
12613
  const { moduleId: n, profileElements: a, profileTargetLidTemp: s, profileVolume: o } = e, i = cp(r, n);
12556
12614
  if (i === null)
12557
12615
  return {
@@ -12570,7 +12628,7 @@ ${Y(
12570
12628
  );
12571
12629
  const u = `${l}_task_${i.numProfilesStarted + 1}`;
12572
12630
  return c.push(
12573
- k(Ny, {
12631
+ k(Ry, {
12574
12632
  moduleId: n,
12575
12633
  profileElements: a,
12576
12634
  blockMaxVolumeUl: o,
@@ -12581,24 +12639,24 @@ ${Y(
12581
12639
  t,
12582
12640
  r
12583
12641
  );
12584
- }, tk = () => ({
12642
+ }, rk = () => ({
12585
12643
  lidOpen: !1,
12586
12644
  lidClosed: !1,
12587
12645
  setBlockTemperature: !1,
12588
12646
  deactivateBlockTemperature: !1,
12589
12647
  setLidTemperature: !1,
12590
12648
  deactivateLidTemperature: !1
12591
- }), rk = (e, t) => !e.lidOpen && t.lidOpen ? {
12649
+ }), nk = (e, t) => !e.lidOpen && t.lidOpen ? {
12592
12650
  lidOpen: !0
12593
- } : {}, nk = (e, t) => e.lidOpen && !t.lidOpen || e.lidOpen === null && !t.lidOpen ? {
12651
+ } : {}, ak = (e, t) => e.lidOpen && !t.lidOpen || e.lidOpen === null && !t.lidOpen ? {
12594
12652
  lidClosed: !0
12595
- } : {}, ak = (e, t) => t == null ? e.currentBlockActivity.type === "blockDeactivated" : e.currentBlockActivity.type === "blockTargetTemp" && e.currentBlockActivity.blockTargetTemp === t, sk = (e, t) => {
12596
- const r = { ...rk(e, t) }, n = { ...nk(e, t) }, a = !ak(
12653
+ } : {}, sk = (e, t) => t == null ? e.currentBlockActivity.type === "blockDeactivated" : e.currentBlockActivity.type === "blockTargetTemp" && e.currentBlockActivity.blockTargetTemp === t, ok = (e, t) => {
12654
+ const r = { ...nk(e, t) }, n = { ...ak(e, t) }, a = !sk(
12597
12655
  e,
12598
12656
  t.blockTargetTemp
12599
12657
  ), s = a && t.blockTargetTemp === null, o = a && t.blockTargetTemp !== null, i = e.lidTargetTemp !== t.lidTargetTemp, l = i && t.lidTargetTemp === null, c = i && t.lidTargetTemp !== null;
12600
12658
  return {
12601
- ...tk(),
12659
+ ...rk(),
12602
12660
  ...r,
12603
12661
  ...n,
12604
12662
  setBlockTemperature: o,
@@ -12606,7 +12664,7 @@ ${Y(
12606
12664
  setLidTemperature: c,
12607
12665
  deactivateLidTemperature: l
12608
12666
  };
12609
- }, ok = (e, t, r) => {
12667
+ }, ik = (e, t, r) => {
12610
12668
  const n = cp(
12611
12669
  r,
12612
12670
  e.moduleId
@@ -12626,7 +12684,7 @@ ${Y(
12626
12684
  deactivateBlockTemperature: i,
12627
12685
  setLidTemperature: l,
12628
12686
  deactivateLidTemperature: c
12629
- } = sk(n, e), { blockTargetTemp: u, lidTargetTemp: p } = e, d = [];
12687
+ } = ok(n, e), { blockTargetTemp: u, lidTargetTemp: p } = e, d = [];
12630
12688
  return a && d.push(
12631
12689
  k(jy, {
12632
12690
  moduleId: e.moduleId
@@ -12660,7 +12718,7 @@ ${Y(
12660
12718
  );
12661
12719
  };
12662
12720
  var au, Oh;
12663
- function ik() {
12721
+ function lk() {
12664
12722
  if (Oh) return au;
12665
12723
  Oh = 1;
12666
12724
  var e = za(), t = fb(), r = mb();
@@ -12669,21 +12727,21 @@ function ik() {
12669
12727
  }
12670
12728
  return au = n, au;
12671
12729
  }
12672
- var su, Rh;
12673
- function lk() {
12674
- if (Rh) return su;
12675
- Rh = 1;
12730
+ var su, Nh;
12731
+ function ck() {
12732
+ if (Nh) return su;
12733
+ Nh = 1;
12676
12734
  var e = ln(), t = hr();
12677
12735
  function r(n) {
12678
12736
  return t(n) && e(n);
12679
12737
  }
12680
12738
  return su = r, su;
12681
12739
  }
12682
- var ou, Nh;
12683
- function ck() {
12684
- if (Nh) return ou;
12685
- Nh = 1;
12686
- var e = fy(), t = ja(), r = Sy(), n = hy(), a = lk(), s = Math.max;
12740
+ var ou, Rh;
12741
+ function uk() {
12742
+ if (Rh) return ou;
12743
+ Rh = 1;
12744
+ var e = fy(), t = ja(), r = Sy(), n = hy(), a = ck(), s = Math.max;
12687
12745
  function o(i) {
12688
12746
  if (!(i && i.length))
12689
12747
  return [];
@@ -12698,14 +12756,14 @@ function ck() {
12698
12756
  return ou = o, ou;
12699
12757
  }
12700
12758
  var iu, Ph;
12701
- function uk() {
12759
+ function pk() {
12702
12760
  if (Ph) return iu;
12703
12761
  Ph = 1;
12704
- var e = ik(), t = ck(), r = e(t);
12762
+ var e = lk(), t = uk(), r = e(t);
12705
12763
  return iu = r, iu;
12706
12764
  }
12707
- var pk = uk();
12708
- const dk = /* @__PURE__ */ Xe(pk), fk = (e, t, r) => {
12765
+ var dk = pk();
12766
+ const fk = /* @__PURE__ */ Xe(dk), mk = (e, t, r) => {
12709
12767
  const {
12710
12768
  aspirateAirGapVolume: n,
12711
12769
  aspirateDelay: a,
@@ -12748,9 +12806,9 @@ const dk = /* @__PURE__ */ Xe(pk), fk = (e, t, r) => {
12748
12806
  dispenseSubmergeYOffset: De,
12749
12807
  dispenseSubmergeZOffset: Te,
12750
12808
  dispenseXOffset: X,
12751
- dispenseYOffset: G,
12752
- dispenseZOffset: N,
12753
- dropTipLocation: R,
12809
+ dispenseYOffset: W,
12810
+ dispenseZOffset: R,
12811
+ dropTipLocation: N,
12754
12812
  liquidClass: x,
12755
12813
  mixBeforeAspirate: D,
12756
12814
  mixInDestination: se,
@@ -12766,24 +12824,24 @@ const dk = /* @__PURE__ */ Xe(pk), fk = (e, t, r) => {
12766
12824
  tipTracking: He,
12767
12825
  tiprackSelected: pe,
12768
12826
  tipsSelected: lt,
12769
- touchTipAfterAspirate: St,
12827
+ touchTipAfterAspirate: At,
12770
12828
  touchTipAfterAspirateMmFromEdge: $t,
12771
- touchTipAfterAspirateOffsetMmFromTop: At,
12829
+ touchTipAfterAspirateOffsetMmFromTop: vt,
12772
12830
  touchTipAfterAspirateSpeed: Oe,
12773
12831
  touchTipAfterDispense: ct,
12774
12832
  touchTipAfterDispenseMmFromEdge: we,
12775
- touchTipAfterDispenseOffsetMmFromTop: Re,
12833
+ touchTipAfterDispenseOffsetMmFromTop: Ne,
12776
12834
  touchTipAfterDispenseSpeed: qe,
12777
12835
  volume: re,
12778
12836
  stepNumber: ne
12779
12837
  } = e, {
12780
12838
  pipetteEntities: Ft,
12781
12839
  trashBinEntities: et,
12782
- wasteChuteEntities: W,
12840
+ wasteChuteEntities: K,
12783
12841
  labwareEntities: me
12784
12842
  } = t, Dr = Ya(
12785
12843
  me,
12786
- W,
12844
+ K,
12787
12845
  et,
12788
12846
  w
12789
12847
  ), ut = me[U]?.def.parameters.quirks?.includes(
@@ -12803,19 +12861,19 @@ const dk = /* @__PURE__ */ Xe(pk), fk = (e, t, r) => {
12803
12861
  labware: U
12804
12862
  })
12805
12863
  );
12806
- const pt = r.labware[w] != null ? K(r.labware[w].stack) : "", un = K(
12864
+ const pt = r.labware[w] != null ? Y(r.labware[w].stack) : "", un = Y(
12807
12865
  r.labware[U]?.stack
12808
- ), Mt = Object.keys(W).length > 0, is = W[R] != null, pn = et[R] != null;
12809
- Mt && (pt === Nr || un === Nr) && he.push(Ba());
12866
+ ), Mt = Object.keys(K).length > 0, is = K[N] != null, pn = et[N] != null;
12867
+ Mt && (pt === Rr || un === Rr) && he.push(Ba());
12810
12868
  const br = [
12811
12869
  ...Object.keys(t.trashBinEntities),
12812
12870
  ...Object.keys(t.wasteChuteEntities)
12813
12871
  ], tt = br.length > 0 ? br[0] : null, Q = Object.values(t.labwareEntities).find(
12814
- ({ labwareDefURI: ie }) => ie === R
12872
+ ({ labwareDefURI: ie }) => ie === N
12815
12873
  ), xt = Q != null && Pr(Q.def), Se = r.tipState.pipettes[$]?.hasTip;
12816
- if (R == null || xt && tt == null && I !== "never" && Se || !xt && !is && !pn)
12874
+ if (N == null || xt && tt == null && I !== "never" && Se || !xt && !is && !pn)
12817
12875
  return { errors: [Wn()] };
12818
- (!w || !me[w] && !W[w] && !et[w]) && he.push(Kh());
12876
+ (!w || !me[w] && !K[w] && !et[w]) && he.push(Kh());
12819
12877
  let yt, Z;
12820
12878
  if (I === "never") {
12821
12879
  const ie = r.tipState.pipettes[$]?.tiprackURI;
@@ -12849,28 +12907,28 @@ const dk = /* @__PURE__ */ Xe(pk), fk = (e, t, r) => {
12849
12907
  })
12850
12908
  ), { errors: he };
12851
12909
  const ar = re / dt, Bt = Array(dt).fill(ar), dn = {
12852
- origin: Ne[f],
12910
+ origin: Re[f],
12853
12911
  offset: {
12854
12912
  x: b,
12855
12913
  y: _,
12856
12914
  z: y
12857
12915
  }
12858
12916
  }, _r = {
12859
- origin: Ne[l],
12917
+ origin: Re[l],
12860
12918
  offset: {
12861
12919
  x: u,
12862
12920
  y: p,
12863
12921
  z: d
12864
12922
  }
12865
12923
  }, qr = {
12866
- origin: Ne[te],
12924
+ origin: Re[te],
12867
12925
  offset: {
12868
12926
  x: Je,
12869
12927
  y: De,
12870
12928
  z: Te
12871
12929
  }
12872
12930
  }, wr = {
12873
- origin: Ne[_e],
12931
+ origin: Re[_e],
12874
12932
  offset: {
12875
12933
  x: Ie,
12876
12934
  y: Ce,
@@ -12906,7 +12964,7 @@ const dk = /* @__PURE__ */ Xe(pk), fk = (e, t, r) => {
12906
12964
  liquidHandlingAction: "aspirate",
12907
12965
  byVolumeProperty: "correctionByVolume",
12908
12966
  defaultValue: 0
12909
- }) ?? 0, hn = et[w]?.pythonName ?? W[w]?.pythonName, yn = et[R]?.pythonName ?? W[R]?.pythonName, bn = v == null ? null : et[v]?.pythonName ?? W[v]?.pythonName, aa = me[U].pythonName, _n = me[w]?.pythonName, sr = ue === Ke ? dr({
12967
+ }) ?? 0, hn = et[w]?.pythonName ?? K[w]?.pythonName, yn = et[N]?.pythonName ?? K[N]?.pythonName, bn = v == null ? null : et[v]?.pythonName ?? K[v]?.pythonName, aa = me[U].pythonName, _n = me[w]?.pythonName, sr = ue === Ke ? dr({
12910
12968
  labwareDef: me[U].def,
12911
12969
  wells: xe,
12912
12970
  primaryNozzle: V
@@ -12924,7 +12982,7 @@ const dk = /* @__PURE__ */ Xe(pk), fk = (e, t, r) => {
12924
12982
  liquidClassValuesForTip: fn
12925
12983
  })}`
12926
12984
  ], oa = `${ge}.define_liquid_class(
12927
- ${Y(
12985
+ ${G(
12928
12986
  sa.join(`,
12929
12987
  `)
12930
12988
  )},
@@ -12958,7 +13016,7 @@ ${Y(
12958
13016
  ], xr = () => ({
12959
13017
  commands: [],
12960
13018
  python: `${$r}.transfer_with_liquid_class(
12961
- ${Y(
13019
+ ${G(
12962
13020
  la.join(`,
12963
13021
  `)
12964
13022
  )},
@@ -12995,18 +13053,18 @@ ${Y(
12995
13053
  liquidHandlingAction: "singleDispense",
12996
13054
  byVolumeProperty: "flowRateByVolume",
12997
13055
  defaultValue: null
12998
- }) ?? M, Br = dk(
13056
+ }) ?? M, Br = fk(
12999
13057
  xe,
13000
13058
  E
13001
13059
  );
13002
13060
  let Vr = null, pa = null;
13003
13061
  const ye = [...Br.reduce(
13004
- (ie, vt, zt) => {
13005
- const [Le, $e] = vt, da = Bt.reduce(
13062
+ (ie, kt, zt) => {
13063
+ const [Le, $e] = kt, da = Bt.reduce(
13006
13064
  (le, rt, Ir) => {
13007
13065
  const Ur = zt === 0 && Ir === 0, zr = zt + 1 === Br.length, vn = Ir + 1 === Bt.length && zr;
13008
- let kt = !1;
13009
- I === "always" ? kt = !0 : I === "once" ? kt = Ur : I === "perSource" ? kt = Le !== Vr : I === "perDest" && (kt = Ur || $e !== pa);
13066
+ let Lt = !1;
13067
+ I === "always" ? Lt = !0 : I === "once" ? Lt = Ur : I === "perSource" ? Lt = Le !== Vr : I === "perDest" && (Lt = Ur || $e !== pa);
13010
13068
  const ma = Ea.includes(
13011
13069
  Vt
13012
13070
  ) ? [
@@ -13016,20 +13074,20 @@ ${Y(
13016
13074
  })
13017
13075
  ] : [];
13018
13076
  let Tr = [];
13019
- if (kt) {
13020
- const Ot = or?.shift();
13077
+ if (Lt) {
13078
+ const Nt = or?.shift();
13021
13079
  Tr = [
13022
13080
  k(so, {
13023
13081
  pipette: $,
13024
13082
  primaryNozzle: V,
13025
13083
  nozzles: ue,
13026
- dropTipLocation: xt && tt != null ? tt : R,
13084
+ dropTipLocation: xt && tt != null ? tt : N,
13027
13085
  tipRack: Z,
13028
13086
  ...ue != null ? { nozzles: ue } : {},
13029
- ...He === er && Ot != null && pe != null ? {
13087
+ ...He === er && Nt != null && pe != null ? {
13030
13088
  tipSelectionArgs: {
13031
13089
  tipRackId: pe,
13032
- tipWell: Ot
13090
+ tipWell: Nt
13033
13091
  }
13034
13092
  } : {}
13035
13093
  })
@@ -13085,10 +13143,10 @@ ${Y(
13085
13143
  wellLocation: Wt
13086
13144
  })
13087
13145
  ], Gr = [
13088
- L(Pt, {
13146
+ L(Ct, {
13089
13147
  pipetteId: $
13090
13148
  })
13091
- ], Lt = H({
13149
+ ], Et = H({
13092
13150
  liquidClass: x,
13093
13151
  pipetteSpecs: ke,
13094
13152
  tiprackDefUri: Z,
@@ -13100,14 +13158,14 @@ ${Y(
13100
13158
  L(be, {
13101
13159
  seconds: F.seconds
13102
13160
  })
13103
- ] : [], ha = bt > 0 && !kt && (Ir > 0 || zt > 0) ? [
13161
+ ] : [], ha = bt > 0 && !Lt && (Ir > 0 || zt > 0) ? [
13104
13162
  L(at, {
13105
13163
  isAirGap: !0,
13106
13164
  pipetteId: $,
13107
13165
  volume: bt,
13108
13166
  flowRate: An,
13109
- ...Lt > 0 ? {
13110
- correctionVolume: Lt
13167
+ ...Et > 0 ? {
13168
+ correctionVolume: Et
13111
13169
  } : {},
13112
13170
  pushOut: 0
13113
13171
  }),
@@ -13131,7 +13189,7 @@ ${Y(
13131
13189
  ...m != null ? { speed: m } : {},
13132
13190
  wellName: Le,
13133
13191
  wellLocation: {
13134
- origin: Ne[o],
13192
+ origin: Re[o],
13135
13193
  offset: {
13136
13194
  x: A,
13137
13195
  y: T,
@@ -13158,7 +13216,7 @@ ${Y(
13158
13216
  liquidClass: x,
13159
13217
  tiprack: Z,
13160
13218
  generatePython: !1
13161
- }) : [], Rn = D != null ? tn({
13219
+ }) : [], Nn = D != null ? tn({
13162
13220
  pipette: $,
13163
13221
  volume: D.volume,
13164
13222
  times: D.times,
@@ -13176,13 +13234,13 @@ ${Y(
13176
13234
  L(be, {
13177
13235
  seconds: a.seconds
13178
13236
  })
13179
- ] : [], ba = St ? [
13237
+ ] : [], ba = At ? [
13180
13238
  L(Xt, {
13181
13239
  pipetteId: $,
13182
13240
  labwareId: U,
13183
13241
  wellName: Le,
13184
13242
  ...$t != null ? { mmFromEdge: $t } : {},
13185
- zOffsetFromTop: At,
13243
+ zOffsetFromTop: vt,
13186
13244
  ...Oe != null ? { speed: Oe } : {}
13187
13245
  }),
13188
13246
  // move back to retract position after touch tip if air gap needed
@@ -13205,7 +13263,7 @@ ${Y(
13205
13263
  defaultValue: 0
13206
13264
  }) ?? 0, Kr = j > 0 ? [
13207
13265
  ...Sr,
13208
- L(Nt, {
13266
+ L(Pt, {
13209
13267
  pipetteId: $,
13210
13268
  volume: j,
13211
13269
  flowRate: ca,
@@ -13214,7 +13272,7 @@ ${Y(
13214
13272
  } : {}
13215
13273
  }),
13216
13274
  ...Wr
13217
- ] : [], Nn = [
13275
+ ] : [], Rn = [
13218
13276
  L(Wa, {
13219
13277
  pipetteId: $,
13220
13278
  volume: rt,
@@ -13271,11 +13329,11 @@ ${Y(
13271
13329
  ...ve != null ? { speed: ve } : {},
13272
13330
  wellName: $e,
13273
13331
  wellLocation: {
13274
- origin: Ne[ee],
13332
+ origin: Re[ee],
13275
13333
  offset: {
13276
13334
  x: X,
13277
- y: G,
13278
- z: N
13335
+ y: W,
13336
+ z: R
13279
13337
  }
13280
13338
  }
13281
13339
  }),
@@ -13342,12 +13400,12 @@ ${Y(
13342
13400
  liquidHandlingAction: "aspirate",
13343
13401
  byVolumeProperty: "correctionByVolume",
13344
13402
  defaultValue: 0
13345
- }) ?? 0, Et = (Ot, Xr = !0) => bt > 0 && !(I === "never" && vn && Ot) ? [
13403
+ }) ?? 0, Ot = (Nt, Xr = !0) => bt > 0 && !(I === "never" && vn && Nt) ? [
13346
13404
  ...Xr ? Ee : [],
13347
- L(Pt, {
13405
+ L(Ct, {
13348
13406
  pipetteId: $
13349
13407
  }),
13350
- L(Nt, {
13408
+ L(Pt, {
13351
13409
  pipetteId: $,
13352
13410
  volume: bt,
13353
13411
  flowRate: ua,
@@ -13356,19 +13414,19 @@ ${Y(
13356
13414
  } : {}
13357
13415
  }),
13358
13416
  ...Wr
13359
- ] : [], Pn = (Ot) => $e != null && ct ? [
13417
+ ] : [], Pn = (Nt) => $e != null && ct ? [
13360
13418
  L(Xt, {
13361
13419
  pipetteId: $,
13362
13420
  labwareId: w,
13363
13421
  wellName: $e,
13364
13422
  ...we != null ? { mmFromEdge: we } : {},
13365
- zOffsetFromTop: Re,
13423
+ zOffsetFromTop: Ne,
13366
13424
  ...qe != null ? { speed: qe } : {}
13367
13425
  }),
13368
13426
  // move back to retract position after touch tip if air gap needed
13369
13427
  // if retract isn't safe for air gap, air gap commands will include a move to well safe position
13370
- ...Et(
13371
- Ot
13428
+ ...Ot(
13429
+ Nt
13372
13430
  ).length > 0 && Ln ? [
13373
13431
  L(B, {
13374
13432
  pipetteId: $,
@@ -13384,20 +13442,20 @@ ${Y(
13384
13442
  case void 0:
13385
13443
  jt = [
13386
13444
  ...Pn(!0),
13387
- ...Et(!0)
13445
+ ...Ot(!0)
13388
13446
  ];
13389
13447
  break;
13390
13448
  case Ka:
13391
13449
  jt = [
13392
13450
  us,
13393
13451
  ...Pn(!0),
13394
- ...Et(!0)
13452
+ ...Ot(!0)
13395
13453
  ];
13396
13454
  break;
13397
13455
  case ta:
13398
13456
  jt = [
13399
13457
  ...Pn(!0),
13400
- ...Et(!1),
13458
+ ...Ot(!1),
13401
13459
  L(B, {
13402
13460
  pipetteId: $,
13403
13461
  labwareId: U,
@@ -13415,11 +13473,11 @@ ${Y(
13415
13473
  labwareId: U,
13416
13474
  wellName: Le,
13417
13475
  ...we != null ? { mmFromEdge: we } : {},
13418
- zOffsetFromTop: Re,
13476
+ zOffsetFromTop: Ne,
13419
13477
  ...qe != null ? { speed: qe } : {}
13420
13478
  })
13421
13479
  ] : [],
13422
- ...Et(!0).length > 0 ? [
13480
+ ...Ot(!0).length > 0 ? [
13423
13481
  L(B, {
13424
13482
  pipetteId: $,
13425
13483
  labwareId: U,
@@ -13427,26 +13485,26 @@ ${Y(
13427
13485
  wellLocation: { origin: en }
13428
13486
  })
13429
13487
  ] : [],
13430
- ...Et(!0, !1)
13488
+ ...Ot(!0, !1)
13431
13489
  ];
13432
13490
  break;
13433
13491
  default:
13434
13492
  v in et ? jt = [
13435
13493
  ...Pn(!1),
13436
- ...Et(!1),
13494
+ ...Ot(!1),
13437
13495
  L(Db, {
13438
13496
  pipetteId: $,
13439
13497
  flowRate: S,
13440
13498
  trashId: v
13441
13499
  }),
13442
- ...Et(!0, !1)
13443
- ] : v in W && (jt = [
13500
+ ...Ot(!0, !1)
13501
+ ] : v in K && (jt = [
13444
13502
  L(qb, {
13445
13503
  pipetteId: $,
13446
13504
  flowRate: S,
13447
13505
  wasteChuteId: v
13448
13506
  }),
13449
- ...Et(!0, !1)
13507
+ ...Ot(!0, !1)
13450
13508
  ]);
13451
13509
  break;
13452
13510
  }
@@ -13460,9 +13518,9 @@ ${Y(
13460
13518
  ...Tr,
13461
13519
  ...En,
13462
13520
  ...On,
13463
- ...Rn,
13464
- ...ya,
13465
13521
  ...Nn,
13522
+ ...ya,
13523
+ ...Rn,
13466
13524
  ...Ar,
13467
13525
  ...ba,
13468
13526
  ...Kr,
@@ -13486,7 +13544,7 @@ ${Y(
13486
13544
  t,
13487
13545
  r
13488
13546
  );
13489
- }, mk = (e, t, r) => oe(
13547
+ }, hk = (e, t, r) => oe(
13490
13548
  [
13491
13549
  k(js, {
13492
13550
  moduleId: e.moduleId,
@@ -13499,7 +13557,7 @@ ${Y(
13499
13557
  ],
13500
13558
  t,
13501
13559
  r
13502
- ), hk = (e, t, r) => oe(
13560
+ ), yk = (e, t, r) => oe(
13503
13561
  [
13504
13562
  k(js, {
13505
13563
  moduleId: e.moduleId,
@@ -13512,7 +13570,7 @@ ${Y(
13512
13570
  ],
13513
13571
  t,
13514
13572
  r
13515
- ), yk = (e, t, r) => {
13573
+ ), bk = (e, t, r) => {
13516
13574
  const { ventAfter: n } = e;
13517
13575
  return oe(
13518
13576
  [
@@ -13541,20 +13599,20 @@ ${Y(
13541
13599
  ],
13542
13600
  python: a
13543
13601
  };
13544
- }, bk = (e, t, r) => {
13602
+ }, _k = (e, t, r) => {
13545
13603
  const { waitCondition: n } = e;
13546
- return n === "thermocyclerProfileComplete" ? _k(
13604
+ return n === "thermocyclerProfileComplete" ? wk(
13547
13605
  e,
13548
13606
  t,
13549
13607
  r
13550
- ) : n === "vacuumProfileComplete" || n === "vacuumStateComplete" ? wk(
13608
+ ) : n === "vacuumProfileComplete" || n === "vacuumStateComplete" ? gk(
13551
13609
  e,
13552
13610
  t,
13553
13611
  r
13554
13612
  ) : {
13555
13613
  errors: [pw(n)]
13556
13614
  };
13557
- }, _k = (e, t, r) => {
13615
+ }, wk = (e, t, r) => {
13558
13616
  const { moduleId: n } = e, a = [], s = cp(r, n);
13559
13617
  if (s == null)
13560
13618
  return {
@@ -13574,8 +13632,8 @@ ${Y(
13574
13632
  t,
13575
13633
  r
13576
13634
  ));
13577
- }, wk = (e, t, r) => {
13578
- const { moduleId: n } = e, a = [], s = Tt(r, n);
13635
+ }, gk = (e, t, r) => {
13636
+ const { moduleId: n } = e, a = [], s = St(r, n);
13579
13637
  if (s == null)
13580
13638
  return {
13581
13639
  errors: [J()]
@@ -13594,7 +13652,7 @@ ${Y(
13594
13652
  );
13595
13653
  };
13596
13654
  var lu, Ch;
13597
- function gk() {
13655
+ function Ik() {
13598
13656
  if (Ch) return lu;
13599
13657
  Ch = 1;
13600
13658
  var e = pb(), t = 1, r = 4;
@@ -13603,8 +13661,8 @@ function gk() {
13603
13661
  }
13604
13662
  return lu = n, lu;
13605
13663
  }
13606
- var Ik = gk();
13607
- const Tk = /* @__PURE__ */ Xe(Ik), Sk = [
13664
+ var Tk = Ik();
13665
+ const Sk = /* @__PURE__ */ Xe(Tk), Ak = [
13608
13666
  "A1",
13609
13667
  "B1",
13610
13668
  "C1",
@@ -13701,11 +13759,11 @@ const Tk = /* @__PURE__ */ Xe(Ik), Sk = [
13701
13759
  "F12",
13702
13760
  "G12",
13703
13761
  "H12"
13704
- ], Gn = "p300SingleId", ks = "p300MultiId", Dh = "p100096Id", qh = "sourcePlateId", $h = "destPlateId", Fh = "troughId", wL = "A1", gL = "tiprack1Id", IL = { isAirGap: !0 }, ms = E_, Mh = L_, hs = O_, Gt = k_, Cn = A_, ys = v_, Ak = {
13762
+ ], Gn = "p300SingleId", ks = "p300MultiId", Dh = "p100096Id", qh = "sourcePlateId", $h = "destPlateId", Fh = "troughId", AL = "A1", vL = "tiprack1Id", kL = { isAirGap: !0 }, ms = E_, Mh = L_, hs = O_, Gt = k_, Cn = A_, ys = v_, vk = {
13705
13763
  OT_PD_DISABLE_MODULE_RESTRICTIONS: !1
13706
13764
  };
13707
- function vk(e) {
13708
- return Sk.reduce(
13765
+ function kk(e) {
13766
+ return Ak.reduce(
13709
13767
  (t, r) => ({
13710
13768
  ...t,
13711
13769
  [r]: e ? Ps : ce
@@ -13713,10 +13771,10 @@ function vk(e) {
13713
13771
  {}
13714
13772
  );
13715
13773
  }
13716
- function TL(e, t) {
13774
+ function LL(e, t) {
13717
13775
  return Array.from("ABCDEFGH").map((r) => `${r}${e}`).reduce((r, n) => ({ ...r, [n]: t }), {});
13718
13776
  }
13719
- function kk() {
13777
+ function Lk() {
13720
13778
  const e = {
13721
13779
  [qh]: {
13722
13780
  id: qh,
@@ -13779,8 +13837,8 @@ function kk() {
13779
13837
  def: Cn
13780
13838
  }
13781
13839
  }, t = {}, r = {
13782
- [Rp]: {
13783
- id: Rp,
13840
+ [Np]: {
13841
+ id: Np,
13784
13842
  location: "cutoutA3",
13785
13843
  pythonName: "trash_bin_1"
13786
13844
  }
@@ -13814,7 +13872,7 @@ function kk() {
13814
13872
  id: ks,
13815
13873
  tiprackDefURI: [Ae(Gt)],
13816
13874
  tiprackLabwareDef: [Gt],
13817
- spec: N_,
13875
+ spec: R_,
13818
13876
  pythonName: "mock_pipette_p300_multi"
13819
13877
  },
13820
13878
  [Dh]: {
@@ -13822,7 +13880,7 @@ function kk() {
13822
13880
  id: Dh,
13823
13881
  tiprackDefURI: [Ae(Cn)],
13824
13882
  tiprackLabwareDef: [Cn],
13825
- spec: R_,
13883
+ spec: N_,
13826
13884
  pythonName: "mock_pipette_p1000_96"
13827
13885
  }
13828
13886
  };
@@ -13836,7 +13894,7 @@ function kk() {
13836
13894
  gripperEntities: {},
13837
13895
  liquidEntities: {},
13838
13896
  runtimeParameters: {},
13839
- config: Ak
13897
+ config: vk
13840
13898
  };
13841
13899
  }
13842
13900
  const na = (e) => {
@@ -13854,7 +13912,7 @@ const na = (e) => {
13854
13912
  });
13855
13913
  return o.tipState.tipracks = fr(
13856
13914
  s,
13857
- (i) => vk(i)
13915
+ (i) => kk(i)
13858
13916
  ), o;
13859
13917
  }, os = () => ({
13860
13918
  pipetteLocations: {
@@ -13894,7 +13952,7 @@ const na = (e) => {
13894
13952
  }
13895
13953
  },
13896
13954
  moduleLocations: {}
13897
- }), Lk = () => ({
13955
+ }), Ek = () => ({
13898
13956
  pipetteLocations: {
13899
13957
  [Gn]: {
13900
13958
  mount: "left"
@@ -13918,24 +13976,24 @@ const na = (e) => {
13918
13976
  }
13919
13977
  },
13920
13978
  moduleLocations: {}
13921
- }), Ek = (e) => na({
13979
+ }), Ok = (e) => na({
13922
13980
  ...os(),
13923
13981
  invariantContext: e,
13924
13982
  tiprackSetting: {
13925
13983
  tiprack1Id: !0,
13926
13984
  tiprack2Id: !0
13927
13985
  }
13928
- }), SL = (e) => na({
13929
- ...Lk(),
13986
+ }), EL = (e) => na({
13987
+ ...Ek(),
13930
13988
  invariantContext: e,
13931
13989
  tiprackSetting: {
13932
13990
  tiprack1Id: !0,
13933
13991
  tiprack2Id: !0
13934
13992
  }
13935
- }), AL = (e) => ({
13936
- robotState: Ek(e),
13993
+ }), OL = (e) => ({
13994
+ robotState: Ok(e),
13937
13995
  warnings: []
13938
- }), vL = (e) => {
13996
+ }), NL = (e) => {
13939
13997
  const t = na({
13940
13998
  ...os(),
13941
13999
  invariantContext: e,
@@ -13948,7 +14006,7 @@ const na = (e) => {
13948
14006
  hasTip: !0,
13949
14007
  tiprackURI: "tiprack1Id"
13950
14008
  }, t;
13951
- }, kL = (e) => {
14009
+ }, RL = (e) => {
13952
14010
  const t = na({
13953
14011
  ...os(),
13954
14012
  invariantContext: e,
@@ -13960,18 +14018,18 @@ const na = (e) => {
13960
14018
  hasTip: !0,
13961
14019
  tiprackURI: "tiprack1Id"
13962
14020
  }, t.tipState.tipracks.tiprack1Id.A1 = ce, t;
13963
- }, LL = (e) => na({
14021
+ }, PL = (e) => na({
13964
14022
  ...os(),
13965
14023
  invariantContext: e,
13966
14024
  tiprackSetting: {
13967
14025
  tiprack1Id: !1,
13968
14026
  tiprack2Id: !1
13969
14027
  }
13970
- }), EL = ({
14028
+ }), CL = ({
13971
14029
  temperatureModuleId: e,
13972
14030
  thermocyclerId: t
13973
14031
  }) => {
13974
- const r = kk();
14032
+ const r = Lk();
13975
14033
  r.moduleEntities = {
13976
14034
  [e]: {
13977
14035
  id: e,
@@ -13998,7 +14056,7 @@ const na = (e) => {
13998
14056
  slot: "3",
13999
14057
  moduleState: {
14000
14058
  type: Qe,
14001
- status: Ns,
14059
+ status: Rs,
14002
14060
  targetTemperature: null
14003
14061
  }
14004
14062
  },
@@ -14016,8 +14074,8 @@ const na = (e) => {
14016
14074
  invariantContext: r,
14017
14075
  robotState: n
14018
14076
  };
14019
- }, OL = (e, t, r, n) => {
14020
- const a = Tk(e);
14077
+ }, DL = (e, t, r, n) => {
14078
+ const a = Sk(e);
14021
14079
  return a.modules[t].moduleState = {
14022
14080
  type: Qe,
14023
14081
  targetTemperature: n,
@@ -14027,28 +14085,28 @@ const na = (e) => {
14027
14085
  export {
14028
14086
  Sw as ABSORBANCE_READER_INITIAL_STATE,
14029
14087
  st as AIR,
14030
- IL as AIR_GAP_META,
14088
+ kL as AIR_GAP_META,
14031
14089
  Op as AIR_GAP_OFFSET_FROM_TOP,
14032
14090
  ty as AUTOMATIC,
14033
14091
  Lr as BOTTOM_UP_LABWARE_POOL_KEYS,
14034
- Ck as BOTTOM_UP_STORED_LABWARE_URI_KEYS,
14092
+ Dk as BOTTOM_UP_STORED_LABWARE_URI_KEYS,
14035
14093
  Ps as CLEAN,
14036
14094
  Me as COLUMN_4_SLOTS,
14037
14095
  Bu as CUSTOM_LABWARE_DICT_NAME,
14038
- wL as DEFAULT_BLOWOUT_WELL,
14039
- Ak as DEFAULT_CONFIG,
14096
+ AL as DEFAULT_BLOWOUT_WELL,
14097
+ vk as DEFAULT_CONFIG,
14040
14098
  Gn as DEFAULT_PIPETTE,
14041
14099
  $h as DEST_LABWARE,
14042
14100
  Ka as DEST_WELL_BLOWOUT_DESTINATION,
14043
14101
  kr as DIRTY,
14044
14102
  ce as EMPTY,
14045
- Nw as FAKE_HOPPER_LOCATION_MAP,
14046
- Rp as FIXED_TRASH_ID,
14103
+ Rw as FAKE_HOPPER_LOCATION_MAP,
14104
+ Np as FIXED_TRASH_ID,
14047
14105
  vw as FLEX_STACKER_MODULE_INITIAL_STATE,
14048
- Nk as FLEX_TRASH_DEF_URI,
14106
+ Pk as FLEX_TRASH_DEF_URI,
14049
14107
  Ew as GRIPPER_LOCATION,
14050
14108
  Tw as HEATERSHAKER_MODULE_INITIAL_STATE,
14051
- Rw as HOPPER_FAKE_LOCATIONS,
14109
+ Nw as HOPPER_FAKE_LOCATIONS,
14052
14110
  mt as HOPPER_STACKER_LOCATION,
14053
14111
  Hs as INDENT,
14054
14112
  Aw as MAGNETIC_BLOCK_INITIAL_STATE,
@@ -14059,82 +14117,82 @@ export {
14059
14117
  Lw as MODULE_INITIAL_STATE_BY_TYPE,
14060
14118
  ks as MULTI_PIPETTE,
14061
14119
  Oa as OFF_DECK,
14062
- Pk as OT2_TC_SLOTS,
14120
+ Ck as OT2_TC_SLOTS,
14063
14121
  Rk as OT_2_TRASH_DEF_URI,
14064
14122
  rv as PAPI_VERSION,
14065
- dL as PD_APPLICATION_VERSION,
14123
+ yL as PD_APPLICATION_VERSION,
14066
14124
  Dh as PIPETTE_96,
14067
14125
  ge as PROTOCOL_CONTEXT_NAME,
14068
- Dk as SLOT_LOCATIONS_TO_FAKE_HOPPER_LOCATIONS,
14126
+ qk as SLOT_LOCATIONS_TO_FAKE_HOPPER_LOCATIONS,
14069
14127
  qh as SOURCE_LABWARE,
14070
14128
  ta as SOURCE_WELL_BLOWOUT_DESTINATION,
14071
14129
  Ow as STAGING_AREA_SLOTS,
14072
14130
  ey as TEMPERATURE_APPROACHING_TARGET,
14073
14131
  Qh as TEMPERATURE_AT_TARGET,
14074
- Ns as TEMPERATURE_DEACTIVATED,
14132
+ Rs as TEMPERATURE_DEACTIVATED,
14075
14133
  gw as TEMPERATURE_MODULE_INITIAL_STATE,
14076
14134
  Iw as THERMOCYCLER_MODULE_INITIAL_STATE,
14077
- gL as TIPRACK_1,
14135
+ vL as TIPRACK_1,
14078
14136
  uh as TOUCHED_PIPETTABLE_LABWARE,
14079
14137
  Fh as TROUGH_LABWARE,
14080
- zk as VACUUM_AT_TARGET,
14081
- Uk as VACUUM_DEACTIVATED,
14138
+ jk as VACUUM_AT_TARGET,
14139
+ zk as VACUUM_DEACTIVATED,
14082
14140
  Pw as VACUUM_DOCK_ADDRESSABLE_AREA,
14083
14141
  Dw as VACUUM_DOCK_DISPLAY_LOCATION,
14084
14142
  ry as VACUUM_DOCK_LOCATION,
14085
- Np as VACUUM_MODE_POWER,
14143
+ Rp as VACUUM_MODE_POWER,
14086
14144
  Pp as VACUUM_MODE_PRESSURE,
14087
14145
  kw as VACUUM_MODULE_INITIAL_STATE,
14088
- $k as VACUUM_PROGRAM_PROFILE,
14089
- qk as VACUUM_PROGRAM_STATE,
14146
+ Fk as VACUUM_PROGRAM_PROFILE,
14147
+ $k as VACUUM_PROGRAM_STATE,
14090
14148
  Cw as VACUUM_SPACER_LOAD_NAMES,
14091
- Fk as VACUUM_STATE_PUMP_OFF,
14092
- Mk as VACUUM_STATE_PUMP_ON,
14093
- xk as VACUUM_STATE_VENT,
14149
+ Mk as VACUUM_STATE_PUMP_OFF,
14150
+ xk as VACUUM_STATE_PUMP_ON,
14151
+ Bk as VACUUM_STATE_VENT,
14094
14152
  Cs as VACUUM_VENT_CLOSED,
14095
14153
  ny as VACUUM_VENT_OPEN,
14096
- Vk as VACUUM_VENT_SET_CLOSED,
14097
- Bk as VACUUM_VENT_SET_OPEN,
14154
+ Uk as VACUUM_VENT_SET_CLOSED,
14155
+ Vk as VACUUM_VENT_SET_OPEN,
14098
14156
  Qt as ZERO_OFFSET,
14099
- $v as _getNextTip,
14100
- iL as _wellContentsForLabware,
14101
- Fv as absorbanceReaderCloseInitialize,
14157
+ Fv as _getNextTip,
14158
+ pL as _wellContentsForLabware,
14159
+ Mv as absorbanceReaderCloseInitialize,
14102
14160
  Mu as absorbanceReaderCloseLid,
14103
- Mv as absorbanceReaderCloseRead,
14161
+ xv as absorbanceReaderCloseRead,
14104
14162
  Ws as absorbanceReaderCollision,
14105
14163
  iI as absorbanceReaderInitialize,
14106
14164
  lI as absorbanceReaderOpenLid,
14107
14165
  cI as absorbanceReaderRead,
14108
14166
  ss as absorbanceReaderStateGetter,
14109
- Wk as airGapLocationHelper,
14110
- jk as aspirate,
14167
+ Kk as airGapLocationHelper,
14168
+ Hk as aspirate,
14111
14169
  bb as assignContainsAmongSiblings,
14112
14170
  Ly as blowOutInWell,
14113
14171
  uI as captureImage,
14114
14172
  ZI as column4StagingSlotIdFromFlexStackerShuttleAddressableArea,
14115
- rL as commandCreatorsTimeline,
14173
+ oL as commandCreatorsTimeline,
14116
14174
  pI as comment,
14117
- Yv as consolidate,
14118
- sL as constructInvariantContextFromAnalysis,
14175
+ Xv as consolidate,
14176
+ cL as constructInvariantContextFromAnalysis,
14119
14177
  HI as createEmptyLiquidState,
14120
14178
  rm as createStagingAreaForInvariantContext,
14121
14179
  GI as createTipLiquidState,
14122
14180
  k as curryCommandCreator,
14123
14181
  L as curryWithoutPython,
14124
14182
  dI as deactivateTemperature,
14125
- Xk as deckSlotKeyForFlexStackerShuttleAddressableArea,
14183
+ Zk as deckSlotKeyForFlexStackerShuttleAddressableArea,
14126
14184
  be as delay,
14127
- Kk as delayLocationHelper,
14185
+ Yk as delayLocationHelper,
14128
14186
  fI as disengageMagnet,
14129
14187
  Oy as dispense,
14130
- Hk as dispenseLocationHelper,
14131
- Jv as distribute,
14188
+ Gk as dispenseLocationHelper,
14189
+ Qv as distribute,
14132
14190
  ea as dropTip,
14133
14191
  xu as dropTipInPlace,
14134
- Hv as dropTipInTrash,
14135
- Gv as dropTipInWasteChute,
14192
+ Gv as dropTipInTrash,
14193
+ Wv as dropTipInWasteChute,
14136
14194
  mI as engageMagnet,
14137
- tL as enrichRobotStateForStackGraphTraversals,
14195
+ sL as enrichRobotStateForStackGraphTraversals,
14138
14196
  hI as flexStackerEmpty,
14139
14197
  yI as flexStackerFillItems,
14140
14198
  bI as flexStackerRetrieve,
@@ -14145,17 +14203,17 @@ export {
14145
14203
  Vu as formatPyList,
14146
14204
  P as formatPyStr,
14147
14205
  Cy as formatPyTuple,
14148
- Ct as formatPyValue,
14206
+ It as formatPyValue,
14149
14207
  mr as formatPyWellLocation,
14150
14208
  yb as getAddressableAreaFromModule,
14151
- Qk as getAddressableAreaNameFromLabwareLocation,
14152
- RS as getAllLargestStacks,
14153
- NS as getAllProvidedAddressableAreasFromDeckConfig,
14209
+ nL as getAddressableAreaNameFromLabwareLocation,
14210
+ NS as getAllLargestStacks,
14211
+ RS as getAllProvidedAddressableAreasFromDeckConfig,
14154
14212
  WA as getAllWellsForLabware,
14155
14213
  Uu as getChunkForIndentingLists,
14156
- _L as getCommandCreatorFromStepArgs,
14214
+ SL as getCommandCreatorFromStepArgs,
14157
14215
  sp as getCustomLiquidClassProperties,
14158
- Iv as getCutoutFromSlot,
14216
+ Tv as getCutoutFromSlot,
14159
14217
  BI as getCutoutIdByAddressableArea,
14160
14218
  bu as getDefaultPrimaryNozzle,
14161
14219
  uv as getDefineLiquids,
@@ -14164,16 +14222,16 @@ export {
14164
14222
  Hu as getFlexStackerShuttleAddressableArea,
14165
14223
  Gu as getFullStackFromLabwares,
14166
14224
  np as getFullStackFromNodeTopDownRecursive,
14167
- aL as getHasNoWellsFromCCArgs,
14168
- Ek as getInitialRobotStateStandard,
14169
- SL as getInitialRobotStateWithOffDeckLabwareStandard,
14225
+ lL as getHasNoWellsFromCCArgs,
14226
+ Ok as getInitialRobotStateStandard,
14227
+ EL as getInitialRobotStateWithOffDeckLabwareStandard,
14170
14228
  ns as getIsHeaterShakerEastWestMultiChannelPipette,
14171
14229
  rs as getIsHeaterShakerEastWestWithLatchOpen,
14172
14230
  Qs as getIsHeaterShakerNorthSouthOfNonTiprackWithMultiChannelPipette,
14173
14231
  aT as getIsInPipettableLocation,
14174
14232
  QI as getIsLabwareCompatibleWithStack,
14175
14233
  jn as getIsRetractSafeForAirGap,
14176
- Rb as getIsSafePickupWithinTiprack,
14234
+ Nb as getIsSafePickupWithinTiprack,
14177
14235
  rT as getIsSlotAHopper,
14178
14236
  Ts as getIsSlotAVacuumDock,
14179
14237
  eb as getIsSpaceInHopper,
@@ -14186,8 +14244,8 @@ export {
14186
14244
  OS as getLargestStackContainingLabware,
14187
14245
  ws as getLargestStackInSlot,
14188
14246
  ro as getLiquidClassName,
14189
- uL as getLiquidIdsOnLabware,
14190
- cL as getLiquidIdsOnLabwareStack,
14247
+ mL as getLiquidIdsOnLabware,
14248
+ fL as getLiquidIdsOnLabwareStack,
14191
14249
  av as getLoadAdapters,
14192
14250
  lv as getLoadLabware,
14193
14251
  ov as getLoadLidStacks,
@@ -14200,101 +14258,105 @@ export {
14200
14258
  Jr as getLocationTotalVolume,
14201
14259
  Qa as getModuleHasLiveTask,
14202
14260
  Gs as getModuleIdFromRobotStateStack,
14203
- Yk as getModuleLocationSlot,
14261
+ Xk as getModuleLocationSlot,
14204
14262
  nr as getModuleState,
14205
14263
  XI as getNearestParentInStack,
14206
14264
  kb as getNextRobotStateAndWarnings,
14207
- RA as getNextRobotStateAndWarningsSingleCommand,
14265
+ NA as getNextRobotStateAndWarningsSingleCommand,
14208
14266
  ao as getNextTiprack,
14209
- Jk as getNodeParentModuleId,
14267
+ rL as getNodeParentModuleId,
14210
14268
  Lb as getNozzleConfig,
14211
- Nv as getPipetteCenteringFullOffset,
14212
- nL as getPipetteIdFromCCArgs,
14269
+ Pv as getPipetteCenteringFullOffset,
14270
+ iL as getPipetteIdFromCCArgs,
14213
14271
  Dt as getPipetteMovementSafetyStatus,
14214
14272
  lp as getPipetteWithTipMaxVol,
14215
- eL as getProvidedAddressableAreasExposed,
14273
+ aL as getProvidedAddressableAreasExposed,
14216
14274
  op as getPythonAssignTipRacksString,
14217
- oL as getResultingTimelineFrameFromRunCommands,
14218
- LL as getRobotInitialStateNoTipsRemain,
14219
- AL as getRobotStateAndWarningsStandard,
14220
- kL as getRobotStatePickedUpTipStandard,
14221
- vL as getRobotStateWithTipStandard,
14275
+ uL as getResultingTimelineFrameFromRunCommands,
14276
+ PL as getRobotInitialStateNoTipsRemain,
14277
+ OL as getRobotStateAndWarningsStandard,
14278
+ RL as getRobotStatePickedUpTipStandard,
14279
+ NL as getRobotStateWithTipStandard,
14280
+ TL as getRunTimeParameters,
14222
14281
  bv as getSetStoredLabware,
14223
- K as getSlotInLocationStack,
14282
+ Y as getSlotInLocationStack,
14224
14283
  tm as getStackForLabwareLocation,
14225
14284
  CS as getStackedOnNodeFromPdStack,
14226
- EL as getStateAndContextTempTCModules,
14285
+ CL as getStateAndContextTempTCModules,
14227
14286
  no as getTargetTipsFromWellSets,
14228
- Dv as getThermocyclerProfileRepetitionsForPython,
14229
- TL as getTipColumn,
14287
+ qv as getThermocyclerProfileRepetitionsForPython,
14288
+ LL as getTipColumn,
14230
14289
  vh as getTipColumnIndex,
14231
- Nb as getTipColumnName,
14290
+ Rb as getTipColumnName,
14232
14291
  La as getTipRowName,
14233
14292
  KI as getTiprackHasTips,
14234
- vk as getTiprackTipstate,
14293
+ kk as getTiprackTipstate,
14235
14294
  Yy as getTopLocationInStack,
14236
- Zk as getTopmostLabwareOnModuleFromStackRobotState,
14295
+ Jk as getTopmostLabwareOnModuleFromStackRobotState,
14237
14296
  Zy as getTransferPlanAndReferenceVolumes,
14238
14297
  Gy as getTrashBinAddressableAreaName,
14239
14298
  UI as getTrashLocationFromAddressableAreaName,
14240
14299
  Ya as getTrashOrLabware,
14241
- lL as getVolumesPerLiquid,
14300
+ dL as getVolumesPerLiquid,
14242
14301
  VI as getWasteChuteAddressableAreaNamePip,
14243
14302
  Wy as getWellsForTips,
14244
- Qv as heaterShaker,
14245
- Y as indentPyLines,
14303
+ ek as heaterShaker,
14304
+ G as indentPyLines,
14246
14305
  Qy as labwareMatchesLabwareInHopper,
14247
- kk as makeContext,
14306
+ Lk as makeContext,
14248
14307
  Ky as makeInitialRobotState,
14249
14308
  na as makeState,
14250
- Lk as makeStateArgsLabwareOffDeck,
14309
+ Ek as makeStateArgsLabwareOffDeck,
14251
14310
  os as makeStateArgsStandard,
14252
14311
  Qr as mergeLiquid,
14253
- Kv as mix,
14312
+ Yv as mix,
14254
14313
  jI as mixBlowoutLocationHelper,
14255
14314
  es as modulePipetteCollision,
14256
- Gk as moveHelper,
14315
+ Wk as moveHelper,
14257
14316
  AI as moveLabware,
14258
14317
  ze as moveToAddressableArea,
14259
- Ry as moveToAddressableAreaForDropTip,
14318
+ Ny as moveToAddressableAreaForDropTip,
14260
14319
  as as pipetteAdjacentHeaterShakerWhileShaking,
14261
14320
  eo as pipetteIntoHeaterShakerLatchOpen,
14262
14321
  to as pipetteIntoHeaterShakerWhileShaking,
14263
- bL as pythonCustomLabwareDict,
14264
- yL as pythonDefRun,
14265
- fL as pythonImports,
14266
- mL as pythonMetadata,
14267
- hL as pythonRequirements,
14322
+ IL as pythonCustomLabwareDict,
14323
+ gL as pythonDefRun,
14324
+ bL as pythonImports,
14325
+ _L as pythonMetadata,
14326
+ wL as pythonRequirements,
14268
14327
  oe as reduceCommandCreators,
14269
14328
  zI as repeatArray,
14270
14329
  so as replaceTip,
14330
+ tL as resolveBooleanRuntimeValue,
14271
14331
  JI as resolveDeckSlotKeyForLabwareStackInSlot,
14272
- OL as robotWithStatusAndTemp,
14332
+ Qk as resolveNumericRuntimeValue,
14333
+ eL as resolveStringRuntimeValue,
14334
+ DL as robotWithStatusAndTemp,
14273
14335
  Py as setTemperature,
14274
- qv as sortLabwareBySlot,
14336
+ $v as sortLabwareBySlot,
14275
14337
  Er as splitLiquid,
14276
14338
  yv as stepCommands,
14277
14339
  XA as swatchColors,
14278
14340
  Js as thermocyclerPipetteCollision,
14279
- ek as thermocyclerProfileStep,
14341
+ tk as thermocyclerProfileStep,
14280
14342
  cp as thermocyclerStateGetter,
14281
- ok as thermocyclerStateStep,
14282
- Sk as tiprackWellNamesFlat,
14343
+ ik as thermocyclerStateStep,
14344
+ Ak as tiprackWellNamesFlat,
14283
14345
  Xt as touchTip,
14284
- fk as transfer,
14346
+ mk as transfer,
14285
14347
  Cb as unrollThermocyclerProfile,
14286
14348
  C as uuid,
14287
14349
  js as vacuumCloseVent,
14288
- mk as vacuumCloseVentSetPumpPower,
14289
- hk as vacuumCloseVentSetPumpPressure,
14290
- yk as vacuumCloseVentStartProfile,
14291
- Tt as vacuumModuleStateGetter,
14350
+ hk as vacuumCloseVentSetPumpPower,
14351
+ yk as vacuumCloseVentSetPumpPressure,
14352
+ bk as vacuumCloseVentStartProfile,
14353
+ St as vacuumModuleStateGetter,
14292
14354
  vI as vacuumOpenVent,
14293
14355
  qy as vacuumSetPumpPower,
14294
14356
  $y as vacuumSetPumpPressure,
14295
14357
  Fy as vacuumStartRunProfile,
14296
- RI as vacuumStopPump,
14297
- bk as waitForModuleTask,
14358
+ NI as vacuumStopPump,
14359
+ _k as waitForModuleTask,
14298
14360
  My as waitForTemperature,
14299
- pL as wellFillFromWellContents
14361
+ hL as wellFillFromWellContents
14300
14362
  };