File "stackblur.min.js-20260419214440.map"

Full Path: C:/wamp64/www/INTERPRETE2/frontend/node_modules/stackblur-canvas/dist/stackblur.min.js-20260419214440.map
File size: 31.45 KB
MIME-type: application/json
Charset: utf-8

{"version":3,"file":"stackblur.min.js","sources":["../src/stackblur.js"],"sourcesContent":["/* eslint-disable no-bitwise -- used for calculations */\n/* eslint-disable unicorn/prefer-query-selector -- aiming at\n  backward-compatibility */\n/**\n* StackBlur - a fast almost Gaussian Blur For Canvas\n*\n* In case you find this class useful - especially in commercial projects -\n* I am not totally unhappy for a small donation to my PayPal account\n* mario@quasimondo.de\n*\n* Or support me on flattr:\n* {@link https://flattr.com/thing/72791/StackBlur-a-fast-almost-Gaussian-Blur-Effect-for-CanvasJavascript}.\n*\n* @module StackBlur\n* @author Mario Klingemann\n* Contact: mario@quasimondo.com\n* Website: {@link http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html}\n* Twitter: @quasimondo\n*\n* @copyright (c) 2010 Mario Klingemann\n*\n* Permission is hereby granted, free of charge, to any person\n* obtaining a copy of this software and associated documentation\n* files (the \"Software\"), to deal in the Software without\n* restriction, including without limitation the rights to use,\n* copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the\n* Software is furnished to do so, subject to the following\n* conditions:\n*\n* The above copyright notice and this permission notice shall be\n* included in all copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n* OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nconst mulTable = [\n  512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292,\n  512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292,\n  273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259,\n  496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292,\n  282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373,\n  364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259,\n  507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381,\n  374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292,\n  287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461,\n  454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373,\n  368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309,\n  305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259,\n  257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442,\n  437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381,\n  377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332,\n  329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292,\n  289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259\n];\n\nconst shgTable = [\n  9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17,\n  17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19,\n  19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20,\n  20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21,\n  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\n  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22,\n  22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,\n  22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,\n  23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n  23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n  23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n  23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24\n];\n\n/**\n * @param {string|HTMLImageElement} img\n * @param {string|HTMLCanvasElement} canvas\n * @param {Float} radius\n * @param {boolean} blurAlphaChannel\n * @param {boolean} useOffset\n * @param {boolean} skipStyles\n * @returns {undefined}\n */\nfunction processImage (\n  img, canvas, radius, blurAlphaChannel, useOffset, skipStyles\n) {\n  if (typeof img === 'string') {\n    img = document.getElementById(img);\n  }\n\n  if (\n    !img ||\n    (Object.prototype.toString.call(img).slice(8, -1) ===\n      'HTMLImageElement' && !('naturalWidth' in img))\n  ) {\n    return;\n  }\n\n  const dimensionType = useOffset ? 'offset' : 'natural';\n  let w = img[dimensionType + 'Width'];\n  let h = img[dimensionType + 'Height'];\n\n  // add ImageBitmap support,can blur texture source\n  if (Object.prototype.toString.call(img).slice(8, -1) === 'ImageBitmap') {\n    w = img.width;\n    h = img.height;\n  }\n\n  if (typeof canvas === 'string') {\n    canvas = document.getElementById(canvas);\n  }\n  if (!canvas || !('getContext' in canvas)) {\n    return;\n  }\n\n  if (!skipStyles) {\n    canvas.style.width = w + 'px';\n    canvas.style.height = h + 'px';\n  }\n  canvas.width = w;\n  canvas.height = h;\n\n  const context = canvas.getContext('2d');\n  context.clearRect(0, 0, w, h);\n  context.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight, 0, 0, w, h);\n\n  if (isNaN(radius) || radius < 1) { return; }\n\n  if (blurAlphaChannel) {\n    processCanvasRGBA(canvas, 0, 0, w, h, radius);\n  } else {\n    processCanvasRGB(canvas, 0, 0, w, h, radius);\n  }\n}\n\n/**\n * @param {string|HTMLCanvasElement} canvas\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @throws {Error|TypeError}\n * @returns {ImageData} See {@link https://html.spec.whatwg.org/multipage/canvas.html#imagedata}\n */\nfunction getImageDataFromCanvas (canvas, topX, topY, width, height) {\n  if (typeof canvas === 'string') {\n    canvas = document.getElementById(canvas);\n  }\n  if (!canvas || typeof canvas !== 'object' || !('getContext' in canvas)) {\n    throw new TypeError(\n      'Expecting canvas with `getContext` method ' +\n            'in processCanvasRGB(A) calls!'\n    );\n  }\n\n  const context = canvas.getContext('2d');\n\n  try {\n    return context.getImageData(topX, topY, width, height);\n  } catch (e) {\n    throw new Error('unable to access image data: ' + e);\n  }\n}\n\n/**\n * @param {HTMLCanvasElement} canvas\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {undefined}\n */\nfunction processCanvasRGBA (canvas, topX, topY, width, height, radius) {\n  if (isNaN(radius) || radius < 1) { return; }\n  radius |= 0;\n\n  let imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);\n\n  imageData = processImageDataRGBA(\n    imageData, topX, topY, width, height, radius\n  );\n\n  canvas.getContext('2d').putImageData(imageData, topX, topY);\n}\n\n/**\n * @param {ImageData} imageData\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {ImageData}\n */\nfunction processImageDataRGBA (imageData, topX, topY, width, height, radius) {\n  const pixels = imageData.data;\n\n  const div = 2 * radius + 1;\n  // const w4 = width << 2;\n  const widthMinus1 = width - 1;\n  const heightMinus1 = height - 1;\n  const radiusPlus1 = radius + 1;\n  const sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;\n\n  const stackStart = new BlurStack();\n  let stack = stackStart;\n  let stackEnd;\n  for (let i = 1; i < div; i++) {\n    stack = stack.next = new BlurStack();\n    if (i === radiusPlus1) {\n      stackEnd = stack;\n    }\n  }\n  stack.next = stackStart;\n\n  let stackIn = null,\n    stackOut = null,\n    yw = 0,\n    yi = 0;\n\n  const mulSum = mulTable[radius];\n  const shgSum = shgTable[radius];\n\n  for (let y = 0; y < height; y++) {\n    stack = stackStart;\n\n    const pr = pixels[yi],\n      pg = pixels[yi + 1],\n      pb = pixels[yi + 2],\n      pa = pixels[yi + 3];\n\n    for (let i = 0; i < radiusPlus1; i++) {\n      stack.r = pr;\n      stack.g = pg;\n      stack.b = pb;\n      stack.a = pa;\n      stack = stack.next;\n    }\n\n    let rInSum = 0, gInSum = 0, bInSum = 0, aInSum = 0,\n      rOutSum = radiusPlus1 * pr,\n      gOutSum = radiusPlus1 * pg,\n      bOutSum = radiusPlus1 * pb,\n      aOutSum = radiusPlus1 * pa,\n      rSum = sumFactor * pr,\n      gSum = sumFactor * pg,\n      bSum = sumFactor * pb,\n      aSum = sumFactor * pa;\n\n    for (let i = 1; i < radiusPlus1; i++) {\n      const p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);\n\n      const r = pixels[p],\n        g = pixels[p + 1],\n        b = pixels[p + 2],\n        a = pixels[p + 3];\n\n      const rbs = radiusPlus1 - i;\n      rSum += (stack.r = r) * rbs;\n      gSum += (stack.g = g) * rbs;\n      bSum += (stack.b = b) * rbs;\n      aSum += (stack.a = a) * rbs;\n\n      rInSum += r;\n      gInSum += g;\n      bInSum += b;\n      aInSum += a;\n\n      stack = stack.next;\n    }\n\n    stackIn = stackStart;\n    stackOut = stackEnd;\n    for (let x = 0; x < width; x++) {\n      const paInitial = (aSum * mulSum) >>> shgSum;\n      pixels[yi + 3] = paInitial;\n      if (paInitial !== 0) {\n        const a = 255 / paInitial;\n        pixels[yi] = ((rSum * mulSum) >>> shgSum) * a;\n        pixels[yi + 1] = ((gSum * mulSum) >>> shgSum) * a;\n        pixels[yi + 2] = ((bSum * mulSum) >>> shgSum) * a;\n      } else {\n        pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\n      }\n\n      rSum -= rOutSum;\n      gSum -= gOutSum;\n      bSum -= bOutSum;\n      aSum -= aOutSum;\n\n      rOutSum -= stackIn.r;\n      gOutSum -= stackIn.g;\n      bOutSum -= stackIn.b;\n      aOutSum -= stackIn.a;\n\n      let p = x + radius + 1;\n      p = (yw + (p < widthMinus1\n        ? p\n        : widthMinus1)) << 2;\n\n      rInSum += (stackIn.r = pixels[p]);\n      gInSum += (stackIn.g = pixels[p + 1]);\n      bInSum += (stackIn.b = pixels[p + 2]);\n      aInSum += (stackIn.a = pixels[p + 3]);\n\n      rSum += rInSum;\n      gSum += gInSum;\n      bSum += bInSum;\n      aSum += aInSum;\n\n      stackIn = stackIn.next;\n\n      const {r, g, b, a} = stackOut;\n\n      rOutSum += r;\n      gOutSum += g;\n      bOutSum += b;\n      aOutSum += a;\n\n      rInSum -= r;\n      gInSum -= g;\n      bInSum -= b;\n      aInSum -= a;\n\n      stackOut = stackOut.next;\n\n      yi += 4;\n    }\n    yw += width;\n  }\n\n  for (let x = 0; x < width; x++) {\n    yi = x << 2;\n\n    let pr = pixels[yi],\n      pg = pixels[yi + 1],\n      pb = pixels[yi + 2],\n      pa = pixels[yi + 3],\n      rOutSum = radiusPlus1 * pr,\n      gOutSum = radiusPlus1 * pg,\n      bOutSum = radiusPlus1 * pb,\n      aOutSum = radiusPlus1 * pa,\n      rSum = sumFactor * pr,\n      gSum = sumFactor * pg,\n      bSum = sumFactor * pb,\n      aSum = sumFactor * pa;\n\n    stack = stackStart;\n\n    for (let i = 0; i < radiusPlus1; i++) {\n      stack.r = pr;\n      stack.g = pg;\n      stack.b = pb;\n      stack.a = pa;\n      stack = stack.next;\n    }\n\n    let yp = width;\n\n    let gInSum = 0, bInSum = 0, aInSum = 0, rInSum = 0;\n    for (let i = 1; i <= radius; i++) {\n      yi = (yp + x) << 2;\n\n      const rbs = radiusPlus1 - i;\n      rSum += (stack.r = (pr = pixels[yi])) * rbs;\n      gSum += (stack.g = (pg = pixels[yi + 1])) * rbs;\n      bSum += (stack.b = (pb = pixels[yi + 2])) * rbs;\n      aSum += (stack.a = (pa = pixels[yi + 3])) * rbs;\n\n      rInSum += pr;\n      gInSum += pg;\n      bInSum += pb;\n      aInSum += pa;\n\n      stack = stack.next;\n\n      if (i < heightMinus1) {\n        yp += width;\n      }\n    }\n\n    yi = x;\n    stackIn = stackStart;\n    stackOut = stackEnd;\n    for (let y = 0; y < height; y++) {\n      let p = yi << 2;\n      pixels[p + 3] = pa = (aSum * mulSum) >>> shgSum;\n      if (pa > 0) {\n        pa = 255 / pa;\n        pixels[p] = ((rSum * mulSum) >>> shgSum) * pa;\n        pixels[p + 1] = ((gSum * mulSum) >>> shgSum) * pa;\n        pixels[p + 2] = ((bSum * mulSum) >>> shgSum) * pa;\n      } else {\n        pixels[p] = pixels[p + 1] = pixels[p + 2] = 0;\n      }\n\n      rSum -= rOutSum;\n      gSum -= gOutSum;\n      bSum -= bOutSum;\n      aSum -= aOutSum;\n\n      rOutSum -= stackIn.r;\n      gOutSum -= stackIn.g;\n      bOutSum -= stackIn.b;\n      aOutSum -= stackIn.a;\n\n      p = (x + (\n        ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) *\n                width\n      )) << 2;\n\n      rSum += (rInSum += (stackIn.r = pixels[p]));\n      gSum += (gInSum += (stackIn.g = pixels[p + 1]));\n      bSum += (bInSum += (stackIn.b = pixels[p + 2]));\n      aSum += (aInSum += (stackIn.a = pixels[p + 3]));\n\n      stackIn = stackIn.next;\n\n      rOutSum += (pr = stackOut.r);\n      gOutSum += (pg = stackOut.g);\n      bOutSum += (pb = stackOut.b);\n      aOutSum += (pa = stackOut.a);\n\n      rInSum -= pr;\n      gInSum -= pg;\n      bInSum -= pb;\n      aInSum -= pa;\n\n      stackOut = stackOut.next;\n\n      yi += width;\n    }\n  }\n  return imageData;\n}\n\n/**\n * @param {HTMLCanvasElement} canvas\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {undefined}\n */\nfunction processCanvasRGB (canvas, topX, topY, width, height, radius) {\n  if (isNaN(radius) || radius < 1) { return; }\n  radius |= 0;\n\n  let imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);\n  imageData = processImageDataRGB(\n    imageData, topX, topY, width, height, radius\n  );\n\n  canvas.getContext('2d').putImageData(imageData, topX, topY);\n}\n\n/**\n * @param {ImageData} imageData\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {ImageData}\n */\nfunction processImageDataRGB (imageData, topX, topY, width, height, radius) {\n  const pixels = imageData.data;\n\n  const div = 2 * radius + 1;\n  // const w4 = width << 2;\n  const widthMinus1 = width - 1;\n  const heightMinus1 = height - 1;\n  const radiusPlus1 = radius + 1;\n  const sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;\n\n  const stackStart = new BlurStack();\n  let stack = stackStart;\n  let stackEnd;\n  for (let i = 1; i < div; i++) {\n    stack = stack.next = new BlurStack();\n    if (i === radiusPlus1) {\n      stackEnd = stack;\n    }\n  }\n  stack.next = stackStart;\n  let stackIn = null;\n  let stackOut = null;\n\n  const mulSum = mulTable[radius];\n  const shgSum = shgTable[radius];\n\n  let p, rbs;\n  let yw = 0, yi = 0;\n\n  for (let y = 0; y < height; y++) {\n    let pr = pixels[yi],\n      pg = pixels[yi + 1],\n      pb = pixels[yi + 2],\n      rOutSum = radiusPlus1 * pr,\n      gOutSum = radiusPlus1 * pg,\n      bOutSum = radiusPlus1 * pb,\n      rSum = sumFactor * pr,\n      gSum = sumFactor * pg,\n      bSum = sumFactor * pb;\n\n    stack = stackStart;\n\n    for (let i = 0; i < radiusPlus1; i++) {\n      stack.r = pr;\n      stack.g = pg;\n      stack.b = pb;\n      stack = stack.next;\n    }\n\n    let rInSum = 0, gInSum = 0, bInSum = 0;\n    for (let i = 1; i < radiusPlus1; i++) {\n      p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);\n      rSum += (stack.r = (pr = pixels[p])) * (rbs = radiusPlus1 - i);\n      gSum += (stack.g = (pg = pixels[p + 1])) * rbs;\n      bSum += (stack.b = (pb = pixels[p + 2])) * rbs;\n\n      rInSum += pr;\n      gInSum += pg;\n      bInSum += pb;\n\n      stack = stack.next;\n    }\n\n    stackIn = stackStart;\n    stackOut = stackEnd;\n    for (let x = 0; x < width; x++) {\n      pixels[yi] = (rSum * mulSum) >>> shgSum;\n      pixels[yi + 1] = (gSum * mulSum) >>> shgSum;\n      pixels[yi + 2] = (bSum * mulSum) >>> shgSum;\n\n      rSum -= rOutSum;\n      gSum -= gOutSum;\n      bSum -= bOutSum;\n\n      rOutSum -= stackIn.r;\n      gOutSum -= stackIn.g;\n      bOutSum -= stackIn.b;\n\n      p = (yw + (\n        (p = x + radius + 1) < widthMinus1 ? p : widthMinus1\n      )) << 2;\n\n      rInSum += (stackIn.r = pixels[p]);\n      gInSum += (stackIn.g = pixels[p + 1]);\n      bInSum += (stackIn.b = pixels[p + 2]);\n\n      rSum += rInSum;\n      gSum += gInSum;\n      bSum += bInSum;\n\n      stackIn = stackIn.next;\n\n      rOutSum += (pr = stackOut.r);\n      gOutSum += (pg = stackOut.g);\n      bOutSum += (pb = stackOut.b);\n\n      rInSum -= pr;\n      gInSum -= pg;\n      bInSum -= pb;\n\n      stackOut = stackOut.next;\n\n      yi += 4;\n    }\n    yw += width;\n  }\n\n  for (let x = 0; x < width; x++) {\n    yi = x << 2;\n    let pr = pixels[yi],\n      pg = pixels[yi + 1],\n      pb = pixels[yi + 2],\n      rOutSum = radiusPlus1 * pr,\n      gOutSum = radiusPlus1 * pg,\n      bOutSum = radiusPlus1 * pb,\n      rSum = sumFactor * pr,\n      gSum = sumFactor * pg,\n      bSum = sumFactor * pb;\n\n    stack = stackStart;\n\n    for (let i = 0; i < radiusPlus1; i++) {\n      stack.r = pr;\n      stack.g = pg;\n      stack.b = pb;\n      stack = stack.next;\n    }\n\n    let rInSum = 0, gInSum = 0, bInSum = 0;\n    for (let i = 1, yp = width; i <= radius; i++) {\n      yi = (yp + x) << 2;\n\n      rSum += (stack.r = (pr = pixels[yi])) * (rbs = radiusPlus1 - i);\n      gSum += (stack.g = (pg = pixels[yi + 1])) * rbs;\n      bSum += (stack.b = (pb = pixels[yi + 2])) * rbs;\n\n      rInSum += pr;\n      gInSum += pg;\n      bInSum += pb;\n\n      stack = stack.next;\n\n      if (i < heightMinus1) {\n        yp += width;\n      }\n    }\n\n    yi = x;\n    stackIn = stackStart;\n    stackOut = stackEnd;\n    for (let y = 0; y < height; y++) {\n      p = yi << 2;\n      pixels[p] = (rSum * mulSum) >>> shgSum;\n      pixels[p + 1] = (gSum * mulSum) >>> shgSum;\n      pixels[p + 2] = (bSum * mulSum) >>> shgSum;\n\n      rSum -= rOutSum;\n      gSum -= gOutSum;\n      bSum -= bOutSum;\n\n      rOutSum -= stackIn.r;\n      gOutSum -= stackIn.g;\n      bOutSum -= stackIn.b;\n\n      p = (x + (\n        ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) *\n                width\n      )) << 2;\n\n      rSum += (rInSum += (stackIn.r = pixels[p]));\n      gSum += (gInSum += (stackIn.g = pixels[p + 1]));\n      bSum += (bInSum += (stackIn.b = pixels[p + 2]));\n\n      stackIn = stackIn.next;\n\n      rOutSum += (pr = stackOut.r);\n      gOutSum += (pg = stackOut.g);\n      bOutSum += (pb = stackOut.b);\n\n      rInSum -= pr;\n      gInSum -= pg;\n      bInSum -= pb;\n\n      stackOut = stackOut.next;\n\n      yi += width;\n    }\n  }\n\n  return imageData;\n}\n\n/**\n *\n */\nexport class BlurStack {\n  /**\n   * Set properties.\n   */\n  constructor () {\n    this.r = 0;\n    this.g = 0;\n    this.b = 0;\n    this.a = 0;\n    this.next = null;\n  }\n}\n\nexport {\n  /**\n    * @function module:StackBlur.image\n    * @see module:StackBlur~processImage\n    */\n  processImage as image,\n  /**\n    * @function module:StackBlur.canvasRGBA\n    * @see module:StackBlur~processCanvasRGBA\n    */\n  processCanvasRGBA as canvasRGBA,\n  /**\n    * @function module:StackBlur.canvasRGB\n    * @see module:StackBlur~processCanvasRGB\n    */\n  processCanvasRGB as canvasRGB,\n  /**\n    * @function module:StackBlur.imageDataRGBA\n    * @see module:StackBlur~processImageDataRGBA\n    */\n  processImageDataRGBA as imageDataRGBA,\n  /**\n    * @function module:StackBlur.imageDataRGB\n    * @see module:StackBlur~processImageDataRGB\n    */\n  processImageDataRGB as imageDataRGB\n};\n"],"names":["mulTable","shgTable","getImageDataFromCanvas","canvas","topX","topY","width","height","document","getElementById","_typeof","TypeError","context","getContext","getImageData","e","Error","processCanvasRGBA","radius","isNaN","imageData","processImageDataRGBA","putImageData","stackEnd","pixels","data","div","widthMinus1","heightMinus1","radiusPlus1","sumFactor","stackStart","BlurStack","stack","i","next","stackIn","stackOut","yw","yi","mulSum","shgSum","y","pr","pg","pb","pa","r","g","b","a","rInSum","gInSum","bInSum","aInSum","rOutSum","gOutSum","bOutSum","aOutSum","rSum","gSum","bSum","aSum","p","rbs","x","paInitial","yp","processCanvasRGB","processImageDataRGB","img","blurAlphaChannel","useOffset","skipStyles","Object","prototype","toString","call","slice","dimensionType","w","h","style","clearRect","drawImage","naturalWidth","naturalHeight"],"mappings":"sdA2CA,IAAMA,EAAW,CACf,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGlEC,EAAW,CACf,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,G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"}