{
  "version": 3,
  "sources": ["/cdn/shop/t/64/assets/stackhouse-cart-line-integrity.js?codex_v=20260716a"],
  "sourcesContent": ["(function (window) {\n  'use strict';\n\n  var config = window.StackhouseCartLineIntegrityConfig || {};\n  var configuredMessages = config.messages || {};\n  var REQUIRED_IDENTITY_PROPERTIES = ['_Production Payload ID', '_OrderID', 'ID'];\n  var CURRENT_CHECKOUT_IDENTITY_PROPERTIES = ['_Production Payload ID', '_OrderID', 'ID', '_Print Ready File'];\n  var LEGACY_CHECKOUT_IDENTITY_PROPERTIES = ['_OrderID', 'ID', '_Print Ready File'];\n  var REORDER_RECIPE_IDENTITY_PROPERTIES = [\n    '_OrderID',\n    'ID',\n    '_Original Image',\n    '_Thumbnail',\n    '_Reorder Source Image ID'\n  ];\n  var REORDER_RECIPE_MARKER = 'original_image_and_crop';\n  var UNMATCHED_VARIANT_FALLBACK_FORMULA = 'single_order_page_preview_fallback_v1';\n  var STALE_REORDER_PRODUCTION_PROPERTIES = [\n    '_Production Payload ID',\n    '_Production Filename Template'\n  ];\n  var PRODUCTION_SKU_PATTERN = /^(?:GP|PP|RR|MN|MPP|BAG|CP|MP|GW|FP|TP)-/i;\n  var PRODUCTION_HANDLE_PATTERN = /(?:giclee|fine-art|photo-print|test-print|mini-print|retail-ready|mounted-print|canvas|gallery-wrap|clear-bagged|framed-print|matting-package-print)/i;\n  var INTEGRITY_MESSAGE = \"We couldn't verify the artwork attached to this print. Your cart was not changed. Please try adding it again.\";\n  var UNCERTAIN_INTEGRITY_MESSAGE = \"We couldn't verify the artwork attached to this print. Please review your cart and remove any unverified duplicate before trying again.\";\n  var CHECKOUT_MESSAGE = \"We couldn't verify the artwork attached to one or more prints. Please refresh your cart and try again. If this continues, contact us before removing anything.\";\n  var REORDER_REPAIR_MESSAGE = \"We couldn't refresh the artwork details in your cart. Please refresh the page and try checkout again.\";\n  var REPAIR_ENDPOINT = String(config.repairEndpoint || '').trim();\n  var PRODUCTION_PAYLOAD_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n  var GENERATED_VARIANT_PROPAGATION_RETRY_DELAYS = [500, 1000, 2000, 4000, 8000];\n\n  function configuredMessage(key, fallback) {\n    return String(configuredMessages[key] || fallback);\n  }\n\n  function incidentReference() {\n    var alphabet = '23456789ABCDEFGHJKLMNPQRSTUVWXYZ';\n    var randomValues = [];\n    if (window.crypto && typeof window.crypto.getRandomValues === 'function') {\n      var bytes = new Uint8Array(7);\n      window.crypto.getRandomValues(bytes);\n      randomValues = Array.prototype.slice.call(bytes);\n    } else {\n      for (var index = 0; index < 7; index += 1) {\n        randomValues.push(Math.floor(Math.random() * 256));\n      }\n    }\n    return 'CART-' + randomValues.map(function (value) {\n      return alphabet.charAt(value % alphabet.length);\n    }).join('');\n  }\n\n  function withIncidentReference(message, reference) {\n    if (!reference) return message;\n    return message + ' ' + configuredMessage('referenceLabel', 'Reference:') + ' ' + reference;\n  }\n\n  function emit(eventName, details) {\n    var tracking = window.stackhouseBuilderAnalytics || window.stackhouseTracking;\n    var payload = Object.assign({\n      builder: config.builder || '',\n      source: config.source || 'cart_line_integrity'\n    }, details || {});\n\n    if (tracking && typeof tracking.emit === 'function') {\n      tracking.emit(eventName, payload);\n      return;\n    }\n\n    window.pendingStackhouseEmitQueue = Array.isArray(window.pendingStackhouseEmitQueue)\n      ? window.pendingStackhouseEmitQueue\n      : [];\n    window.pendingStackhouseEmitQueue.push({ eventName: eventName, details: payload });\n  }\n\n  function route(path) {\n    var root = window.Shopify && window.Shopify.routes && window.Shopify.routes.root\n      ? window.Shopify.routes.root\n      : '/';\n    return String(root).replace(/\\/?$/, '/') + String(path || '').replace(/^\\//, '');\n  }\n\n  function normalizeVariantId(value) {\n    var variantId = String(value || '').trim();\n    return /^\\d+$/.test(variantId) ? variantId : '';\n  }\n\n  function normalizeQuantity(value) {\n    var quantity = parseInt(value, 10);\n    return Number.isFinite(quantity) && quantity > 0 ? quantity : 1;\n  }\n\n  function normalizeProperties(properties) {\n    if (!properties) return {};\n    if (Array.isArray(properties)) {\n      return properties.reduce(function (result, entry) {\n        var key = entry && (entry.key || entry.name);\n        if (!key || entry.value === null || entry.value === undefined) return result;\n        var value = String(entry.value).trim();\n        if (value) result[key] = value;\n        return result;\n      }, {});\n    }\n    return Object.keys(properties).reduce(function (result, key) {\n      if (properties[key] === null || properties[key] === undefined) return result;\n      var value = String(properties[key]).trim();\n      if (value) result[key] = value;\n      return result;\n    }, {});\n  }\n\n  function compactLabelPart(value, maximumLength) {\n    var compact = String(value || '').replace(/\\s+/g, ' ').trim();\n    if (!compact || compact.length <= maximumLength) return compact;\n    return compact.slice(0, Math.max(1, maximumLength - 3)).trim() + '...';\n  }\n\n  function cartItemLabel(item, index) {\n    var properties = normalizeProperties(item && item.properties);\n    var product = compactLabelPart(\n      properties.Product || (item && (item.product_title || item.title || item.sku)),\n      80\n    );\n    var size = compactLabelPart(\n      properties['Final Size'] || properties['Image Size'] || properties.Size,\n      40\n    );\n    var artworkFile = String(properties.Image || '').trim();\n    if (artworkFile) {\n      artworkFile = artworkFile.split('?')[0].split('#')[0].split('/').pop() || artworkFile;\n      try {\n        artworkFile = decodeURIComponent(artworkFile);\n      } catch (error) {\n        // Keep the original label when a legacy filename is not URI encoded correctly.\n      }\n      artworkFile = compactLabelPart(artworkFile, 80);\n    }\n    var details = [];\n\n    if (product) details.push(product);\n    if (size && (!product || product.toLowerCase().indexOf(size.toLowerCase()) === -1)) details.push(size);\n    if (artworkFile && details.every(function (detail) {\n      return detail.toLowerCase().indexOf(artworkFile.toLowerCase()) === -1;\n    })) {\n      details.push(artworkFile);\n    }\n\n    return 'item ' + (index + 1) + (details.length ? ': ' + details.join(', ') : '');\n  }\n\n  function checkoutIntegrityMessage(issues, reference) {\n    var labels = [];\n    var unmatchedVariantOnly = Boolean(issues && issues.length) && issues.every(function (issue) {\n      return issue.type === 'parent_product_fallback';\n    });\n\n    (issues || []).forEach(function (issue) {\n      if (issue.itemLabel) labels.push(issue.itemLabel);\n      (issue.itemLabels || []).forEach(function (label) {\n        labels.push(label);\n      });\n    });\n\n    labels = labels.filter(function (label, index) {\n      return label && labels.indexOf(label) === index;\n    });\n\n    if (!labels.length) return withIncidentReference(CHECKOUT_MESSAGE, reference);\n    if (unmatchedVariantOnly) {\n      return withIncidentReference(configuredMessage(\n        'unmatchedVariantPrefix',\n        \"We couldn't match the selected size and media to a current print option for \"\n      ) + labels.join('; ') + configuredMessage(\n        'unmatchedVariantSuffix',\n        '. Remove the highlighted line, then add that print again before checkout.'\n      ), reference);\n    }\n    if (labels.length === 1) {\n      return withIncidentReference(configuredMessage(\n        'singleIssuePrefix',\n        \"We couldn't restore the artwork details for \"\n      ) + labels[0] + configuredMessage(\n        'singleIssueSuffix',\n        '. Remove the highlighted line, then add that print again before checkout.'\n      ), reference);\n    }\n    return withIncidentReference(configuredMessage(\n      'multipleIssuePrefix',\n      \"We couldn't restore the artwork details for these cart items: \"\n    ) + labels.join('; ') + configuredMessage(\n      'multipleIssueSuffix',\n      '. Remove the highlighted lines, then add those prints again before checkout.'\n    ), reference);\n  }\n\n  function responseKind(response, responseText) {\n    var contentType = response && response.headers && response.headers.get\n      ? String(response.headers.get('Content-Type') || '').toLowerCase()\n      : '';\n    var text = String(responseText || '');\n    if (contentType.indexOf('json') !== -1) return 'json';\n    if (contentType.indexOf('html') !== -1 || /^\\s*</.test(text)) return 'html';\n    if (!text.trim()) return 'empty';\n    return 'text';\n  }\n\n  function responseMessage(responseText) {\n    try {\n      var payload = JSON.parse(responseText || '{}');\n      return payload.description || payload.message || payload.error || '';\n    } catch (error) {\n      return /^\\s*</.test(String(responseText || '')) ? '' : String(responseText || '');\n    }\n  }\n\n  function integrityError(message, code, details) {\n    var error = new Error(message);\n    error.code = code;\n    error.cartIntegrityError = true;\n    error.details = details || {};\n    return error;\n  }\n\n  async function requestJson(url, options) {\n    var response = await fetch(url, options || {});\n    var responseText = await response.text();\n    if (!response.ok) {\n      var error = new Error(responseMessage(responseText) || 'Cart is temporarily unavailable. Please retry in a moment.');\n      error.status = response.status;\n      error.statusCode = response.status;\n      error.responseKind = responseKind(response, responseText);\n      error.responseText = responseText;\n      throw error;\n    }\n    try {\n      return JSON.parse(responseText);\n    } catch (error) {\n      var parseError = new Error('Cart is temporarily unavailable. Please retry in a moment.');\n      parseError.responseKind = responseKind(response, responseText);\n      parseError.responseText = responseText;\n      throw parseError;\n    }\n  }\n\n  function wait(milliseconds) {\n    return new Promise(function (resolve) {\n      window.setTimeout(resolve, milliseconds);\n    });\n  }\n\n  function generatedVariantPropagationError(error) {\n    var status = Number(error && (error.statusCode || error.status));\n    var message = String(error && error.message || '').trim();\n    return status === 422 && message === 'Cannot find variant';\n  }\n\n  async function addConfiguredCartLine(url, requestOptions, retryGeneratedVariantPropagation) {\n    var retryDelays = retryGeneratedVariantPropagation\n      ? GENERATED_VARIANT_PROPAGATION_RETRY_DELAYS\n      : [];\n    var retryCount = 0;\n\n    while (true) {\n      try {\n        return await requestJson(url, requestOptions);\n      } catch (error) {\n        if (!generatedVariantPropagationError(error) || retryCount >= retryDelays.length) throw error;\n        await wait(retryDelays[retryCount]);\n        retryCount += 1;\n      }\n    }\n  }\n\n  async function fetchCart(attempts) {\n    var remainingAttempts = typeof attempts === 'number' ? attempts : 2;\n    var lastError;\n    while (remainingAttempts > 0) {\n      try {\n        return await requestJson(route('cart.js'), {\n          method: 'GET',\n          headers: { 'Accept': 'application/json' },\n          cache: 'no-store'\n        });\n      } catch (error) {\n        lastError = error;\n        remainingAttempts -= 1;\n        if (remainingAttempts > 0) await wait(150);\n      }\n    }\n    throw lastError;\n  }\n\n  function requiredIdentityMissing(properties) {\n    var normalized = normalizeProperties(properties);\n    return REQUIRED_IDENTITY_PROPERTIES.filter(function (key) {\n      return !normalized[key];\n    });\n  }\n\n  function reorderRecipeIdentityMissing(properties) {\n    var normalized = normalizeProperties(properties);\n    return REORDER_RECIPE_IDENTITY_PROPERTIES.filter(function (key) {\n      return !normalized[key];\n    });\n  }\n\n  function reorderRecipe(properties) {\n    return normalizeProperties(properties)['_Reorder Recipe'] === REORDER_RECIPE_MARKER;\n  }\n\n  function reorderRecipeCandidate(properties) {\n    var normalized = normalizeProperties(properties);\n    if (reorderRecipe(normalized)) return true;\n    return Boolean(normalized['_Reorder Source Image ID']);\n  }\n\n  function checkoutIdentityMissing(properties) {\n    var normalized = normalizeProperties(properties);\n    var requiredProperties;\n\n    if (normalized['_Print Box Set ID'] || normalized['_Print Box Set Items']) {\n      requiredProperties = ['_Production Payload ID', '_OrderID', 'ID', '_Print Box Set ID', '_Print Box Set Items', 'Prints', 'Size', 'Paper'];\n    } else if (reorderRecipeCandidate(normalized)) {\n      requiredProperties = REORDER_RECIPE_IDENTITY_PROPERTIES;\n    } else if (normalized['_Production Payload ID']) {\n      requiredProperties = CURRENT_CHECKOUT_IDENTITY_PROPERTIES;\n    } else {\n      requiredProperties = LEGACY_CHECKOUT_IDENTITY_PROPERTIES;\n    }\n\n    return requiredProperties.filter(function (key) {\n      return !normalized[key];\n    });\n  }\n\n  function matchesIdentity(item, expectedProperties) {\n    var itemProperties = normalizeProperties(item && item.properties);\n    return REQUIRED_IDENTITY_PROPERTIES.every(function (key) {\n      return itemProperties[key] === expectedProperties[key];\n    });\n  }\n\n  function matchingIdentityQuantity(cart, variantId, expectedProperties) {\n    return (cart && Array.isArray(cart.items) ? cart.items : []).reduce(function (total, item) {\n      if (String(item.variant_id || item.id || '') !== variantId) return total;\n      if (!matchesIdentity(item, expectedProperties)) return total;\n      return total + normalizeQuantity(item.quantity);\n    }, 0);\n  }\n\n  function variantItems(cart, variantId) {\n    return (cart && Array.isArray(cart.items) ? cart.items : []).filter(function (item) {\n      return String(item.variant_id || item.id || '') === variantId;\n    });\n  }\n\n  async function changeCartLine(key, quantity) {\n    return requestJson(route('cart/change.js'), {\n      method: 'POST',\n      headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        id: key,\n        quantity: quantity\n      })\n    });\n  }\n\n  async function changeCartLineProperties(key, quantity, properties) {\n    return requestJson(route('cart/change.js'), {\n      method: 'POST',\n      headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        id: key,\n        quantity: normalizeQuantity(quantity),\n        properties: properties\n      })\n    });\n  }\n\n  function staleReorderProductionProperties(properties) {\n    var normalized = normalizeProperties(properties);\n    if (!reorderRecipeCandidate(normalized) || reorderRecipeIdentityMissing(normalized).length) return [];\n    return STALE_REORDER_PRODUCTION_PROPERTIES.filter(function (key) {\n      return Boolean(normalized[key]);\n    });\n  }\n\n  function reorderRecipeIdentitySignature(properties) {\n    var normalized = normalizeProperties(properties);\n    return REORDER_RECIPE_IDENTITY_PROPERTIES.map(function (key) {\n      return normalized[key] || '';\n    }).join('|');\n  }\n\n  async function repairStaleReorderRecipes(cart) {\n    var targets = (cart && Array.isArray(cart.items) ? cart.items : []).filter(function (item) {\n      return staleReorderProductionProperties(item && item.properties).length > 0;\n    }).map(function (item) {\n      return reorderRecipeIdentitySignature(item.properties);\n    });\n    var currentCart = cart;\n\n    for (var index = 0; index < targets.length; index += 1) {\n      var targetSignature = targets[index];\n      var currentItem = (currentCart.items || []).find(function (item) {\n        return reorderRecipeIdentitySignature(item && item.properties) === targetSignature &&\n          staleReorderProductionProperties(item && item.properties).length > 0;\n      });\n      if (!currentItem || !currentItem.key) {\n        throw new Error('The reorder line could not be located for repair.');\n      }\n\n      var repairedProperties = normalizeProperties(currentItem.properties);\n      STALE_REORDER_PRODUCTION_PROPERTIES.forEach(function (key) {\n        delete repairedProperties[key];\n      });\n      repairedProperties['_Reorder Recipe'] = REORDER_RECIPE_MARKER;\n      currentCart = await changeCartLineProperties(\n        currentItem.key,\n        currentItem.quantity,\n        repairedProperties\n      );\n    }\n\n    if (targets.length) {\n      emit('cart_line_integrity_repaired', {\n        stage: 'before_checkout',\n        cart_line_count: targets.length\n      });\n    }\n    return currentCart;\n  }\n\n  function recoverableProductionPayloadId(item) {\n    var properties = normalizeProperties(item && item.properties);\n    var payloadId = properties['_Production Payload ID'] || '';\n    if (\n      !REPAIR_ENDPOINT ||\n      properties['_Print Box Set ID'] || properties['_Print Box Set Items'] || /^PBG5-/i.test(String(item.sku || '')) ||\n      reorderRecipeCandidate(properties) ||\n      !PRODUCTION_PAYLOAD_ID_PATTERN.test(payloadId) ||\n      !checkoutIdentityMissing(properties).length\n    ) {\n      return '';\n    }\n    return payloadId;\n  }\n\n  async function requestProductionPayloadRepair(item, payloadId) {\n    return requestJson(REPAIR_ENDPOINT, {\n      method: 'POST',\n      headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        production_payload_id: payloadId,\n        variant_id: String(item.variant_id || item.id || '')\n      })\n    });\n  }\n\n  async function repairRecoverableProductionLines(cart) {\n    var targets = (cart && Array.isArray(cart.items) ? cart.items : []).map(function (item) {\n      return {\n        key: item.key,\n        payloadId: recoverableProductionPayloadId(item)\n      };\n    }).filter(function (target) {\n      return Boolean(target.key && target.payloadId);\n    });\n    var currentCart = cart;\n    var repairedCount = 0;\n\n    for (var index = 0; index < targets.length; index += 1) {\n      var target = targets[index];\n      var currentItem = (currentCart.items || []).find(function (item) {\n        return item.key === target.key &&\n          normalizeProperties(item.properties)['_Production Payload ID'] === target.payloadId;\n      });\n      if (!currentItem) continue;\n\n      try {\n        var response = await requestProductionPayloadRepair(currentItem, target.payloadId);\n        var repairProperties = normalizeProperties(response && response.properties);\n        if (\n          !response ||\n          response.ok !== true ||\n          String(response.production_payload_id || '') !== target.payloadId ||\n          repairProperties['_Production Payload ID'] !== target.payloadId ||\n          requiredIdentityMissing(repairProperties).length\n        ) {\n          throw new Error('The repair response did not contain verified artwork identity.');\n        }\n\n        currentCart = await changeCartLineProperties(\n          currentItem.key,\n          currentItem.quantity,\n          Object.assign({}, normalizeProperties(currentItem.properties), repairProperties)\n        );\n        repairedCount += 1;\n      } catch (error) {\n        emit('cart_line_integrity_repair_failed', {\n          stage: 'production_payload_repair',\n          variant_id: String(currentItem.variant_id || currentItem.id || ''),\n          status_code: error && (error.status || error.statusCode),\n          error_code: 'CART_PRODUCTION_PAYLOAD_REPAIR_FAILED'\n        });\n      }\n    }\n\n    if (repairedCount) {\n      emit('cart_line_integrity_repaired', {\n        stage: 'production_payload_repair',\n        cart_line_count: repairedCount\n      });\n    }\n    return currentCart;\n  }\n\n  async function addCartItems(items) {\n    if (!items.length) return null;\n    return requestJson(route('cart/add.js'), {\n      method: 'POST',\n      headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({ items: items })\n    });\n  }\n\n  async function rebuildVariantState(beforeCart, variantId) {\n    var currentCart = await fetchCart(2);\n    var currentItems = variantItems(currentCart, variantId);\n    var beforeItems = variantItems(beforeCart, variantId);\n\n    for (var index = 0; index < currentItems.length; index += 1) {\n      await changeCartLine(currentItems[index].key, 0);\n    }\n\n    await addCartItems(beforeItems.map(function (item) {\n      return {\n        id: Number(variantId),\n        quantity: normalizeQuantity(item.quantity),\n        properties: normalizeProperties(item.properties)\n      };\n    }));\n  }\n\n  async function rollbackVariantDelta(beforeCart, afterCart, variantId) {\n    var beforeItems = variantItems(beforeCart, variantId);\n    var afterItems = variantItems(afterCart, variantId);\n    var beforeByKey = beforeItems.reduce(function (result, item) {\n      result[item.key] = item;\n      return result;\n    }, {});\n    var requiresRebuild = beforeItems.some(function (item) {\n      return !afterItems.some(function (afterItem) { return afterItem.key === item.key; });\n    });\n\n    if (requiresRebuild) {\n      await rebuildVariantState(beforeCart, variantId);\n      return;\n    }\n\n    for (var index = 0; index < afterItems.length; index += 1) {\n      var afterItem = afterItems[index];\n      var beforeItem = beforeByKey[afterItem.key];\n      if (!beforeItem) {\n        await changeCartLine(afterItem.key, 0);\n      } else if (normalizeQuantity(afterItem.quantity) !== normalizeQuantity(beforeItem.quantity)) {\n        await changeCartLine(afterItem.key, normalizeQuantity(beforeItem.quantity));\n      }\n    }\n  }\n\n  function withFunnelSession(properties) {\n    var result = normalizeProperties(properties);\n    // Reorders must never reuse the original purchaser's session attribution.\n    delete result['_Stackhouse Funnel Session'];\n    delete result['_Stackhouse Funnel Theme'];\n    try {\n      var session = window.sessionStorage.getItem('stackhouse_builder_session_id');\n      if (/^session-[A-Za-z0-9-]{12,72}$/.test(session || '')) {\n        result['_Stackhouse Funnel Session'] = session;\n        var theme = window.Shopify && window.Shopify.theme;\n        var telemetry = window.StackhouseOperationalTelemetryConfig || {};\n        result['_Stackhouse Funnel Theme'] = theme && theme.id && theme.role\n          ? String(theme.id) + ':' + String(theme.role)\n          : String(telemetry.deploymentId || '').replace(/^([0-9]+)-(main|unpublished|development)$/, '$1:$2') || 'unknown';\n      }\n    } catch (_) { /* Measurement must never block a cart operation. */ }\n    return result;\n  }\n\n  async function addConfiguredItem(options) {\n    var variantId = normalizeVariantId(options && options.variantId);\n    var quantity = normalizeQuantity(options && options.quantity);\n    var properties = withFunnelSession(options && (options.propertyEntries || options.properties));\n    var missingProperties = requiredIdentityMissing(properties);\n\n    if (!variantId) {\n      throw new Error('Unable to determine the selected product variant. Please reselect your options and try again.');\n    }\n    if (missingProperties.length) {\n      emit('cart_line_integrity_failed', {\n        stage: 'before_add',\n        variant_id: variantId,\n        missing_properties: missingProperties.join(',')\n      });\n      throw integrityError(INTEGRITY_MESSAGE, 'CART_LINE_IDENTITY_MISSING', {\n        missingProperties: missingProperties\n      });\n    }\n\n    var beforeCart = await fetchCart(2);\n    var beforeQuantity = matchingIdentityQuantity(beforeCart, variantId, properties);\n    var addResponse = await addConfiguredCartLine(options && options.cartAddUrl ? options.cartAddUrl : route('cart/add.js'), {\n      method: 'POST',\n      headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        items: [{\n          id: Number(variantId),\n          quantity: quantity,\n          properties: properties\n        }]\n      })\n    }, Boolean(options && options.retryGeneratedVariantPropagation) ||\n      properties['_Custom Size Mode'] === 'Generated custom cart product');\n    var afterCart;\n\n    if (options && typeof options.onCartWriteSucceeded === 'function') {\n      try {\n        options.onCartWriteSucceeded(addResponse);\n      } catch (callbackError) {\n        console.error('Cart write status callback failed.', callbackError);\n      }\n    }\n\n    try {\n      afterCart = await fetchCart(3);\n      var afterQuantity = matchingIdentityQuantity(afterCart, variantId, properties);\n      if (afterQuantity < beforeQuantity + quantity) {\n        throw integrityError(INTEGRITY_MESSAGE, 'CART_LINE_IDENTITY_NOT_RETAINED', {\n          variantId: variantId,\n          expectedQuantityIncrease: quantity,\n          observedQuantityIncrease: Math.max(0, afterQuantity - beforeQuantity)\n        });\n      }\n    } catch (error) {\n      var rollbackSucceeded = false;\n      if (afterCart) {\n        try {\n          await rollbackVariantDelta(beforeCart, afterCart, variantId);\n          rollbackSucceeded = true;\n        } catch (rollbackError) {\n          console.error('Cart line integrity rollback failed.', rollbackError);\n        }\n      }\n      emit('cart_line_integrity_failed', {\n        stage: 'after_add',\n        variant_id: variantId,\n        production_payload_id: properties['_Production Payload ID'],\n        rollback_succeeded: rollbackSucceeded,\n        error_code: error && error.code ? error.code : 'CART_READBACK_FAILED'\n      });\n      if (rollbackSucceeded && error && error.cartIntegrityError) throw error;\n      throw integrityError(UNCERTAIN_INTEGRITY_MESSAGE, 'CART_LINE_READBACK_FAILED', {\n        originalError: error\n      });\n    }\n\n    emit('cart_line_integrity_verified', {\n      stage: 'after_add',\n      variant_id: variantId,\n      production_payload_id: properties['_Production Payload ID'],\n      quantity: quantity\n    });\n    try {\n      emit('ordering_funnel_link_attached', {\n        step: 'cart_attribution',\n        status: properties['_Stackhouse Funnel Session'] && properties['_Stackhouse Funnel Theme'] === '185073074483:main' ? 'linked' : 'unlinked'\n      });\n    } catch (_) { /* Attribution reporting must never block a verified cart add. */ }\n    return Object.assign({}, addResponse, { item_count: afterCart.item_count });\n  }\n\n  function productionLine(item) {\n    var properties = normalizeProperties(item && item.properties);\n    var sku = String(item && item.sku || '');\n    var handle = String(item && (item.handle || item.product_handle) || '');\n    return REQUIRED_IDENTITY_PROPERTIES.some(function (key) { return Boolean(properties[key]); }) ||\n      Boolean(properties['_Print Ready File']) ||\n      Boolean(properties['_Production Filename Template']) ||\n      PRODUCTION_SKU_PATTERN.test(sku) ||\n      PRODUCTION_HANDLE_PATTERN.test(handle);\n  }\n\n  function payloadIdentitySignature(item) {\n    var properties = normalizeProperties(item && item.properties);\n    return [\n      reorderRecipeCandidate(properties) ? 'reorder_recipe' : 'production_line',\n      String(item && (item.variant_id || item.id) || ''),\n      properties['_OrderID'] || '',\n      properties.ID || '',\n      properties['_Print Ready File'] || ''\n    ].join('|');\n  }\n\n  async function currentArtworkIssues(cart) {\n    var selected = [];\n    (cart.items || []).forEach(function (item, index) {\n      var properties = normalizeProperties(item.properties);\n      var payloadId = properties['_Production Payload ID'] || properties['_Print Box Set ID'];\n      if (!/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/.test(String(payloadId || ''))) return;\n      selected.push({ item: item, index: index, payloadId: payloadId, properties: properties });\n    });\n    if (!selected.length) return [];\n    var endpoint = config.artworkValidationEndpoint || (REPAIR_ENDPOINT\n      ? REPAIR_ENDPOINT.replace(/repair-cart-line-identity\\/?$/, 'validate-cart-artwork/')\n      : 'https://backend.thestackhouse.com/create-orders/ajax/validate-cart-artwork/');\n    var issues = [];\n    // Bound requests while checking every line, including complete old identities.\n    for (var offset = 0; offset < selected.length; offset += 50) {\n      var batch = selected.slice(offset, offset + 50);\n      try {\n        var proof = await requestJson(endpoint, {\n          method: 'POST', cache: 'no-store',\n          headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },\n          body: JSON.stringify({ cart_token: cart.token || '', items: batch.map(function (entry) {\n            return { production_payload_id: entry.payloadId,\n              variant_id: String(entry.item.variant_id || entry.item.id),\n              quantity: entry.item.quantity, properties: entry.properties['_Print Box Set ID'] ? entry.properties : {} };\n          }) })\n        });\n        if (!proof || typeof proof.ready !== 'boolean' || !Array.isArray(proof.issues)\n            || proof.ready !== (proof.issues.length === 0)\n            || !proof.issues.every(function (issue) {\n              return Number.isInteger(issue.line) && issue.line >= 1 && issue.line <= batch.length\n                && typeof issue.code === 'string' && issue.code.length > 0;\n            })) throw new Error('Incomplete artwork verification');\n        proof.issues.forEach(function (issue) {\n          var entry = batch[issue.line - 1];\n          issues.push({ type: 'artwork_source_unavailable', line: entry.index + 1,\n            key: String(entry.item.key || ''), itemLabel: cartItemLabel(entry.item, entry.index) });\n        });\n      } catch (error) {\n        throw integrityError('We could not verify your artwork right now. Your cart is preserved. Please try checkout again in a moment.',\n          'CART_ARTWORK_VALIDATION_UNAVAILABLE', { originalError: error });\n      }\n    }\n    return issues;\n  }\n\n  async function validateCheckoutCart() {\n    var cart = await fetchCart(3);\n    var issues = [];\n    var payloadLines = {};\n    var blockReference = '';\n\n    try {\n      cart = await repairStaleReorderRecipes(cart);\n    } catch (error) {\n      emit('cart_line_integrity_failed', {\n        stage: 'reorder_identity_repair',\n        error_code: 'CART_REORDER_IDENTITY_REPAIR_FAILED'\n      });\n      throw integrityError(\n        REORDER_REPAIR_MESSAGE,\n        'CART_REORDER_IDENTITY_REPAIR_FAILED',\n        { originalError: error }\n      );\n    }\n    cart = await repairRecoverableProductionLines(cart);\n    issues = issues.concat(await currentArtworkIssues(cart));\n\n    var setLines = (cart.items || []).filter(function (item) {\n      var p = normalizeProperties(item.properties);\n      return p['_Print Box Set ID'] || p['_Print Box Set Items'] || /^PBG5-/i.test(String(item.sku || ''));\n    });\n    if (setLines.length) {\n      var endpoint = config.printBoxSetVerifyEndpoint || (REPAIR_ENDPOINT\n        ? REPAIR_ENDPOINT.replace(/repair-cart-line-identity\\/?$/, 'print-box-set-cart-verify/')\n        : 'https://backend.thestackhouse.com/create-orders/ajax/print-box-set-cart-verify/');\n      try {\n        if (!window.stackhouseEnsureCustomerAccess || !window.stackhouseCustomerAccessHeaders) throw new Error('Sign in to the approved test account to verify this set.');\n        await window.stackhouseEnsureCustomerAccess();\n        var setHeaders = window.stackhouseCustomerAccessHeaders({ 'Content-Type': 'application/json', 'Accept': 'application/json' });\n        var proof = await requestJson(endpoint, {\n          method: 'POST', headers: setHeaders,\n          body: JSON.stringify({ cart_token: cart.token, items: (cart.items || []).map(function (item) {\n            return { id: item.key, key: item.key, variant_id: String(item.variant_id || item.id),\n              sku: item.sku, quantity: item.quantity, properties: normalizeProperties(item.properties) };\n          }) })\n        });\n        if (!proof || !proof.ok || !Array.isArray(proof.sets) || proof.sets.length !== setLines.length\n            || !setLines.every(function (line) {\n              return proof.sets.some(function (set) { return set.key === line.key\n                && set.production_payload_id === normalizeProperties(line.properties)['_Print Box Set ID']; });\n            })) throw new Error('Incomplete set verification');\n      } catch (error) {\n        throw integrityError('We could not verify all five prints in your Print Box Set. Your cart is preserved. Refresh and review the set before checkout.',\n          'PRINT_BOX_SET_CHECKOUT_UNVERIFIED', { originalError: error });\n      }\n    }\n\n    (Array.isArray(cart.items) ? cart.items : []).forEach(function (item, index) {\n      if (!productionLine(item)) return;\n      var properties = normalizeProperties(item.properties);\n      var missingProperties = checkoutIdentityMissing(properties);\n      var payloadId = properties['_Production Payload ID'];\n\n      if (\n        properties['_Custom Price Formula'] === UNMATCHED_VARIANT_FALLBACK_FORMULA &&\n        !properties['_Source Variant ID']\n      ) {\n        issues.push({\n          type: 'parent_product_fallback',\n          line: index + 1,\n          key: String(item.key || ''),\n          itemLabel: cartItemLabel(item, index),\n          variantId: String(item.variant_id || item.id || ''),\n          sku: String(item.sku || ''),\n          selectedMedia: String(properties['Media Type'] || '')\n        });\n      }\n\n      if (missingProperties.length) {\n        issues.push({\n          type: 'missing_identity',\n          line: index + 1,\n          key: String(item.key || ''),\n          itemLabel: cartItemLabel(item, index),\n          variantId: String(item.variant_id || item.id || ''),\n          sku: String(item.sku || ''),\n          missingProperties: missingProperties\n        });\n      }\n      if (payloadId) {\n        payloadLines[payloadId] = payloadLines[payloadId] || [];\n        payloadLines[payloadId].push({\n          line: index + 1,\n          key: String(item.key || ''),\n          itemLabel: cartItemLabel(item, index),\n          signature: payloadIdentitySignature(item)\n        });\n      }\n    });\n\n    Object.keys(payloadLines).forEach(function (payloadId) {\n      var signatures = payloadLines[payloadId].map(function (entry) { return entry.signature; });\n      var uniqueSignatures = signatures.filter(function (signature, index) {\n        return signatures.indexOf(signature) === index;\n      });\n      if (uniqueSignatures.length > 1) {\n        issues.push({\n          type: 'duplicate_payload_identity',\n          payloadId: payloadId,\n          lines: payloadLines[payloadId].map(function (entry) { return entry.line; }),\n          keys: payloadLines[payloadId].map(function (entry) { return entry.key; }),\n          itemLabels: payloadLines[payloadId].map(function (entry) { return entry.itemLabel; })\n        });\n      }\n    });\n\n    if (issues.length) {\n      blockReference = incidentReference();\n      emit('cart_line_integrity_failed', {\n        stage: 'before_checkout',\n        status: 'blocked_unrecoverable',\n        safe_reason: blockReference,\n        issue_count: issues.length,\n        cart_item_count: Number(cart.item_count || 0),\n        cart_line_count: Array.isArray(cart.items) ? cart.items.length : 0,\n        affected_item_count: issues.reduce(function (total, issue) {\n          if (issue.itemLabels && issue.itemLabels.length) return total + issue.itemLabels.length;\n          return total + 1;\n        }, 0),\n        issue_types: issues.map(function (issue) { return issue.type; }).join(','),\n        issue_codes: issues.map(function (issue) {\n          if (issue.type === 'missing_identity' && issue.missingProperties && issue.missingProperties.length) {\n            return issue.type + ':' + issue.missingProperties.join('+');\n          }\n          return issue.type;\n        }).join(',')\n      });\n    } else {\n      emit('cart_line_integrity_verified', {\n        stage: 'before_checkout',\n        production_line_count: (cart.items || []).filter(productionLine).length\n      });\n    }\n\n    return {\n      ok: issues.length === 0,\n      cart: cart,\n      issues: issues,\n      incidentReference: blockReference\n    };\n  }\n\n  async function assertCheckoutReady() {\n    var result = await validateCheckoutCart();\n    if (!result.ok) {\n      throw integrityError(checkoutIntegrityMessage(result.issues, result.incidentReference), 'CART_CHECKOUT_INTEGRITY_FAILED', {\n        issues: result.issues,\n        incidentReference: result.incidentReference\n      });\n    }\n    return result.cart;\n  }\n\n  window.StackhouseCartLineIntegrity = {\n    addConfiguredItem: addConfiguredItem,\n    assertCheckoutReady: assertCheckoutReady,\n    validateCheckoutCart: validateCheckoutCart,\n    normalizeProperties: normalizeProperties,\n    withFunnelSession: withFunnelSession,\n    requiredIdentityProperties: REQUIRED_IDENTITY_PROPERTIES.slice()\n  };\n})(window);\n"],
  "mappings": "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",
  "names": ["window", "target", "afterItem"]
}
