{"version":3,"file":"9640.1e2c7684bfc11c3dc6f2.js","mappings":"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","sources":["webpack://spheeres/./js/libs/dom-to-image.js","webpack://spheeres/./js/libs/jquery-migrate-3.4.1.js"],"sourcesContent":["(function (global) {\r\n\t'use strict';\r\n\r\n\tvar util = newUtil();\r\n\tvar inliner = newInliner();\r\n\tvar fontFaces = newFontFaces();\r\n\tvar images = newImages();\r\n\r\n\t// Default impl options\r\n\tvar defaultOptions = {\r\n\t\t// Default is to fail on error, no placeholder\r\n\t\timagePlaceholder: undefined,\r\n\t\t// Default cache bust is false, it will use the cache\r\n\t\tcacheBust: false\r\n\t};\r\n\r\n\tvar domtoimage = {\r\n\t\ttoSvg: toSvg,\r\n\t\ttoPng: toPng,\r\n\t\ttoJpeg: toJpeg,\r\n\t\ttoBlob: toBlob,\r\n\t\ttoPixelData: toPixelData,\r\n\t\timpl: {\r\n\t\t\tfontFaces: fontFaces,\r\n\t\t\timages: images,\r\n\t\t\tutil: util,\r\n\t\t\tinliner: inliner,\r\n\t\t\toptions: {}\r\n\t\t}\r\n\t};\r\n\r\n\tif (typeof module !== 'undefined')\r\n\t\tmodule.exports = domtoimage;\r\n\telse\r\n\t\tglobal.domtoimage = domtoimage;\r\n\r\n\r\n\t/**\r\n * @param {Node} node - The DOM Node object to render\r\n * @param {Object} options - Rendering options\r\n * @param {Function} options.filter - Should return true if passed node should be included in the output\r\n * (excluding node means excluding it's children as well). Not called on the root node.\r\n * @param {String} options.bgcolor - color for the background, any valid CSS color value.\r\n * @param {Number} options.width - width to be applied to node before rendering.\r\n * @param {Number} options.height - height to be applied to node before rendering.\r\n * @param {Object} options.style - an object whose properties to be copied to node's style before rendering.\r\n * @param {Number} options.quality - a Number between 0 and 1 indicating image quality (applicable to JPEG only),\r\n defaults to 1.0.\r\n * @param {String} options.imagePlaceholder - dataURL to use as a placeholder for failed images, default behaviour is to fail fast on images we can't fetch\r\n * @param {Boolean} options.cacheBust - set to true to cache bust by appending the time to the request url\r\n * @return {Promise} - A promise that is fulfilled with a SVG image data URL\r\n * */\r\n\tfunction toSvg(node, options) {\r\n\t\toptions = options || {};\r\n\t\tcopyOptions(options);\r\n\t\treturn Promise.resolve(node)\r\n .then(function (node) {\r\n \treturn cloneNode(node, options.filter, true);\r\n })\r\n .then(embedFonts)\r\n .then(inlineImages)\r\n .then(applyOptions)\r\n .then(function (clone) {\r\n \treturn makeSvgDataUri(clone,\r\n options.width || util.width(node),\r\n options.height || util.height(node)\r\n );\r\n });\r\n\r\n\t\tfunction applyOptions(clone) {\r\n\t\t\tif (options.bgcolor) clone.style.backgroundColor = options.bgcolor;\r\n\r\n\t\t\tif (options.width) clone.style.width = options.width + 'px';\r\n\t\t\tif (options.height) clone.style.height = options.height + 'px';\r\n\r\n\t\t\tif (options.style)\r\n\t\t\t\tObject.keys(options.style).forEach(function (property) {\r\n\t\t\t\t\tclone.style[property] = options.style[property];\r\n\t\t\t\t});\r\n\r\n\t\t\treturn clone;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n * @param {Node} node - The DOM Node object to render\r\n * @param {Object} options - Rendering options, @see {@link toSvg}\r\n * @return {Promise} - A promise that is fulfilled with a Uint8Array containing RGBA pixel data.\r\n * */\r\n\tfunction toPixelData(node, options) {\r\n\t\treturn draw(node, options || {})\r\n .then(function (canvas) {\r\n \treturn canvas.getContext('2d').getImageData(\r\n 0,\r\n 0,\r\n util.width(node),\r\n util.height(node)\r\n ).data;\r\n });\r\n\t}\r\n\r\n\t/**\r\n * @param {Node} node - The DOM Node object to render\r\n * @param {Object} options - Rendering options, @see {@link toSvg}\r\n * @return {Promise} - A promise that is fulfilled with a PNG image data URL\r\n * */\r\n\tfunction toPng(node, options) {\r\n\t\treturn draw(node, options || {})\r\n .then(function (canvas) {\r\n \treturn canvas.toDataURL();\r\n });\r\n\t}\r\n\r\n\t/**\r\n * @param {Node} node - The DOM Node object to render\r\n * @param {Object} options - Rendering options, @see {@link toSvg}\r\n * @return {Promise} - A promise that is fulfilled with a JPEG image data URL\r\n * */\r\n\tfunction toJpeg(node, options) {\r\n\t\toptions = options || {};\r\n\t\treturn draw(node, options)\r\n .then(function (canvas) {\r\n \treturn canvas.toDataURL('image/jpeg', options.quality || 1.0);\r\n });\r\n\t}\r\n\r\n\t/**\r\n * @param {Node} node - The DOM Node object to render\r\n * @param {Object} options - Rendering options, @see {@link toSvg}\r\n * @return {Promise} - A promise that is fulfilled with a PNG image blob\r\n * */\r\n\tfunction toBlob(node, options) {\r\n\t\treturn draw(node, options || {})\r\n .then(util.canvasToBlob);\r\n\t}\r\n\r\n\tfunction copyOptions(options) {\r\n\t\t// Copy options to impl options for use in impl\r\n\t\tif (typeof (options.imagePlaceholder) === 'undefined') {\r\n\t\t\tdomtoimage.impl.options.imagePlaceholder = defaultOptions.imagePlaceholder;\r\n\t\t} else {\r\n\t\t\tdomtoimage.impl.options.imagePlaceholder = options.imagePlaceholder;\r\n\t\t}\r\n\r\n\t\tif (typeof (options.cacheBust) === 'undefined') {\r\n\t\t\tdomtoimage.impl.options.cacheBust = defaultOptions.cacheBust;\r\n\t\t} else {\r\n\t\t\tdomtoimage.impl.options.cacheBust = options.cacheBust;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction draw(domNode, options) {\r\n\t\treturn toSvg(domNode, options)\r\n .then(util.makeImage)\r\n .then(util.delay(100))\r\n .then(function (image) {\r\n \tvar canvas = newCanvas(domNode);\r\n \tcanvas.getContext('2d').drawImage(image, 0, 0);\r\n \treturn canvas;\r\n });\r\n\r\n\t\tfunction newCanvas(domNode) {\r\n\t\t\tvar canvas = document.createElement('canvas');\r\n\t\t\tcanvas.width = options.width || util.width(domNode);\r\n\t\t\tcanvas.height = options.height || util.height(domNode);\r\n\r\n\t\t\tif (options.bgcolor) {\r\n\t\t\t\tvar ctx = canvas.getContext('2d');\r\n\t\t\t\tctx.fillStyle = options.bgcolor;\r\n\t\t\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\t\t\t}\r\n\r\n\t\t\treturn canvas;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction cloneNode(node, filter, root) {\r\n\t\tif (!root && filter && !filter(node)) return Promise.resolve();\r\n\r\n\t\treturn Promise.resolve(node)\r\n .then(makeNodeCopy)\r\n .then(function (clone) {\r\n \treturn cloneChildren(node, clone, filter);\r\n })\r\n .then(function (clone) {\r\n \treturn processClone(node, clone);\r\n });\r\n\r\n\t\tfunction makeNodeCopy(node) {\r\n\t\t\tif (node instanceof HTMLCanvasElement) return util.makeImage(node.toDataURL());\r\n\t\t\treturn node.cloneNode(false);\r\n\t\t}\r\n\r\n\t\tfunction cloneChildren(original, clone, filter) {\r\n\t\t\tvar children = original.childNodes;\r\n\t\t\tif (children.length === 0) return Promise.resolve(clone);\r\n\r\n\t\t\treturn cloneChildrenInOrder(clone, util.asArray(children), filter)\r\n .then(function () {\r\n \treturn clone;\r\n });\r\n\r\n\t\t\tfunction cloneChildrenInOrder(parent, children, filter) {\r\n\t\t\t\tvar done = Promise.resolve();\r\n\t\t\t\tchildren.forEach(function (child) {\r\n\t\t\t\t\tdone = done\r\n .then(function () {\r\n \treturn cloneNode(child, filter);\r\n })\r\n .then(function (childClone) {\r\n \tif (childClone) parent.appendChild(childClone);\r\n });\r\n\t\t\t\t});\r\n\t\t\t\treturn done;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction processClone(original, clone) {\r\n\t\t\tif (!(clone instanceof Element)) return clone;\r\n\r\n\t\t\treturn Promise.resolve()\r\n .then(cloneStyle)\r\n .then(clonePseudoElements)\r\n .then(copyUserInput)\r\n .then(fixSvg)\r\n .then(function () {\r\n \treturn clone;\r\n });\r\n\r\n\t\t\tfunction cloneStyle() {\r\n\t\t\t\tcopyStyle(window.getComputedStyle(original), clone.style);\r\n\r\n\t\t\t\tfunction copyStyle(source, target) {\r\n\t\t\t\t\tif (source.cssText) target.cssText = source.cssText;\r\n\t\t\t\t\telse copyProperties(source, target);\r\n\r\n\t\t\t\t\tfunction copyProperties(source, target) {\r\n\t\t\t\t\t\tutil.asArray(source).forEach(function (name) {\r\n\t\t\t\t\t\t\ttarget.setProperty(\r\n name,\r\n source.getPropertyValue(name),\r\n source.getPropertyPriority(name)\r\n );\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfunction clonePseudoElements() {\r\n\t\t\t\t[':before', ':after'].forEach(function (element) {\r\n\t\t\t\t\tclonePseudoElement(element);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tfunction clonePseudoElement(element) {\r\n\t\t\t\t\tvar style = window.getComputedStyle(original, element);\r\n\t\t\t\t\tvar content = style.getPropertyValue('content');\r\n\r\n\t\t\t\t\tif (content === '' || content === 'none') return;\r\n\r\n\t\t\t\t\tvar className = util.uid();\r\n\t\t\t\t\tclone.className = clone.className + ' ' + className;\r\n\t\t\t\t\tvar styleElement = document.createElement('style');\r\n\t\t\t\t\tstyleElement.appendChild(formatPseudoElementStyle(className, element, style));\r\n\t\t\t\t\tclone.appendChild(styleElement);\r\n\r\n\t\t\t\t\tfunction formatPseudoElementStyle(className, element, style) {\r\n\t\t\t\t\t\tvar selector = '.' + className + ':' + element;\r\n\t\t\t\t\t\tvar cssText = style.cssText ? formatCssText(style) : formatCssProperties(style);\r\n\t\t\t\t\t\treturn document.createTextNode(selector + '{' + cssText + '}');\r\n\r\n\t\t\t\t\t\tfunction formatCssText(style) {\r\n\t\t\t\t\t\t\tvar content = style.getPropertyValue('content');\r\n\t\t\t\t\t\t\treturn style.cssText + ' content: ' + content + ';';\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tfunction formatCssProperties(style) {\r\n\r\n\t\t\t\t\t\t\treturn util.asArray(style)\r\n .map(formatProperty)\r\n .join('; ') + ';';\r\n\r\n\t\t\t\t\t\t\tfunction formatProperty(name) {\r\n\t\t\t\t\t\t\t\treturn name + ': ' +\r\n style.getPropertyValue(name) +\r\n (style.getPropertyPriority(name) ? ' !important' : '');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfunction copyUserInput() {\r\n\t\t\t\tif (original instanceof HTMLTextAreaElement) clone.innerHTML = original.value;\r\n\t\t\t\tif (original instanceof HTMLInputElement) clone.setAttribute(\"value\", original.value);\r\n\t\t\t}\r\n\r\n\t\t\tfunction fixSvg() {\r\n\t\t\t\tif (!(clone instanceof SVGElement)) return;\r\n\t\t\t\tclone.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n\r\n\t\t\t\tif (!(clone instanceof SVGRectElement)) return;\r\n\t\t\t\t['width', 'height'].forEach(function (attribute) {\r\n\t\t\t\t\tvar value = clone.getAttribute(attribute);\r\n\t\t\t\t\tif (!value) return;\r\n\r\n\t\t\t\t\tclone.style.setProperty(attribute, value);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction embedFonts(node) {\r\n\t\treturn fontFaces.resolveAll()\r\n .then(function (cssText) {\r\n \tvar styleNode = document.createElement('style');\r\n \tnode.appendChild(styleNode);\r\n \tstyleNode.appendChild(document.createTextNode(cssText));\r\n \treturn node;\r\n });\r\n\t}\r\n\r\n\tfunction inlineImages(node) {\r\n\t\treturn images.inlineAll(node)\r\n .then(function () {\r\n \treturn node;\r\n });\r\n\t}\r\n\r\n\tfunction makeSvgDataUri(node, width, height) {\r\n\t\treturn Promise.resolve(node)\r\n .then(function (node) {\r\n \tnode.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');\r\n \treturn new XMLSerializer().serializeToString(node);\r\n })\r\n .then(util.escapeXhtml)\r\n .then(function (xhtml) {\r\n \treturn '' + xhtml + '';\r\n })\r\n .then(function (foreignObject) {\r\n \treturn '' +\r\n foreignObject + '';\r\n })\r\n .then(function (svg) {\r\n \treturn 'data:image/svg+xml;charset=utf-8,' + svg;\r\n });\r\n\t}\r\n\r\n\tfunction newUtil() {\r\n\t\treturn {\r\n\t\t\tescape: escape,\r\n\t\t\tparseExtension: parseExtension,\r\n\t\t\tmimeType: mimeType,\r\n\t\t\tdataAsUrl: dataAsUrl,\r\n\t\t\tisDataUrl: isDataUrl,\r\n\t\t\tcanvasToBlob: canvasToBlob,\r\n\t\t\tresolveUrl: resolveUrl,\r\n\t\t\tgetAndEncode: getAndEncode,\r\n\t\t\tuid: uid(),\r\n\t\t\tdelay: delay,\r\n\t\t\tasArray: asArray,\r\n\t\t\tescapeXhtml: escapeXhtml,\r\n\t\t\tmakeImage: makeImage,\r\n\t\t\twidth: width,\r\n\t\t\theight: height\r\n\t\t};\r\n\r\n\t\tfunction mimes() {\r\n\t\t\t/*\r\n * Only WOFF and EOT mime types for fonts are 'real'\r\n * see http://www.iana.org/assignments/media-types/media-types.xhtml\r\n */\r\n\t\t\tvar WOFF = 'application/font-woff';\r\n\t\t\tvar JPEG = 'image/jpeg';\r\n\r\n\t\t\treturn {\r\n\t\t\t\t'woff': WOFF,\r\n\t\t\t\t'woff2': WOFF,\r\n\t\t\t\t'ttf': 'application/font-truetype',\r\n\t\t\t\t'eot': 'application/vnd.ms-fontobject',\r\n\t\t\t\t'png': 'image/png',\r\n\t\t\t\t'jpg': JPEG,\r\n\t\t\t\t'jpeg': JPEG,\r\n\t\t\t\t'gif': 'image/gif',\r\n\t\t\t\t'tiff': 'image/tiff',\r\n\t\t\t\t'svg': 'image/svg+xml'\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction parseExtension(url) {\r\n\t\t\tvar match = /\\.([^\\.\\/]*?)$/g.exec(url);\r\n\t\t\tif (match) return match[1];\r\n\t\t\telse return '';\r\n\t\t}\r\n\r\n\t\tfunction mimeType(url) {\r\n\t\t\tvar extension = parseExtension(url).toLowerCase();\r\n\t\t\treturn mimes()[extension] || '';\r\n\t\t}\r\n\r\n\t\tfunction isDataUrl(url) {\r\n\t\t\treturn url.search(/^(data:)/) !== -1;\r\n\t\t}\r\n\r\n\t\tfunction toBlob(canvas) {\r\n\t\t\treturn new Promise(function (resolve) {\r\n\t\t\t\tvar binaryString = window.atob(canvas.toDataURL().split(',')[1]);\r\n\t\t\t\tvar length = binaryString.length;\r\n\t\t\t\tvar binaryArray = new Uint8Array(length);\r\n\r\n\t\t\t\tfor (var i = 0; i < length; i++)\r\n\t\t\t\t\tbinaryArray[i] = binaryString.charCodeAt(i);\r\n\r\n\t\t\t\tresolve(new Blob([binaryArray], {\r\n\t\t\t\t\ttype: 'image/png'\r\n\t\t\t\t}));\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction canvasToBlob(canvas) {\r\n\t\t\tif (canvas.toBlob)\r\n\t\t\t\treturn new Promise(function (resolve) {\r\n\t\t\t\t\tcanvas.toBlob(resolve);\r\n\t\t\t\t});\r\n\r\n\t\t\treturn toBlob(canvas);\r\n\t\t}\r\n\r\n\t\tfunction resolveUrl(url, baseUrl) {\r\n\t\t\tvar doc = document.implementation.createHTMLDocument();\r\n\t\t\tvar base = doc.createElement('base');\r\n\t\t\tdoc.head.appendChild(base);\r\n\t\t\tvar a = doc.createElement('a');\r\n\t\t\tdoc.body.appendChild(a);\r\n\t\t\tbase.href = baseUrl;\r\n\t\t\ta.href = url;\r\n\t\t\treturn a.href;\r\n\t\t}\r\n\r\n\t\tfunction uid() {\r\n\t\t\tvar index = 0;\r\n\r\n\t\t\treturn function () {\r\n\t\t\t\treturn 'u' + fourRandomChars() + index++;\r\n\r\n\t\t\t\tfunction fourRandomChars() {\r\n\t\t\t\t\t/* see http://stackoverflow.com/a/6248722/2519373 */\r\n\t\t\t\t\treturn ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction makeImage(uri) {\r\n\t\t\treturn new Promise(function (resolve, reject) {\r\n\t\t\t\tvar image = new Image();\r\n\t\t\t\timage.onload = function () {\r\n\t\t\t\t\tresolve(image);\r\n\t\t\t\t};\r\n\t\t\t\timage.onerror = reject;\r\n\t\t\t\timage.src = uri;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction getAndEncode(url) {\r\n\t\t\tvar TIMEOUT = 30000;\r\n\t\t\tif (domtoimage.impl.options.cacheBust) {\r\n\t\t\t\t// Cache bypass so we dont have CORS issues with cached images\r\n\t\t\t\t// Source: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\r\n\t\t\t\turl += ((/\\?/).test(url) ? \"&\" : \"?\") + (new Date()).getTime();\r\n\t\t\t}\r\n\r\n\t\t\treturn new Promise(function (resolve) {\r\n\t\t\t\tvar request = new XMLHttpRequest();\r\n\r\n\t\t\t\trequest.onreadystatechange = done;\r\n\t\t\t\trequest.ontimeout = timeout;\r\n\t\t\t\trequest.responseType = 'blob';\r\n\t\t\t\trequest.timeout = TIMEOUT;\r\n\t\t\t\trequest.open('GET', url, true);\r\n\t\t\t\trequest.send();\r\n\r\n\t\t\t\tvar placeholder;\r\n\t\t\t\tif (domtoimage.impl.options.imagePlaceholder) {\r\n\t\t\t\t\tvar split = domtoimage.impl.options.imagePlaceholder.split(/,/);\r\n\t\t\t\t\tif (split && split[1]) {\r\n\t\t\t\t\t\tplaceholder = split[1];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfunction done() {\r\n\t\t\t\t\tif (request.readyState !== 4) return;\r\n\r\n\t\t\t\t\tif (request.status !== 200) {\r\n\t\t\t\t\t\tif (placeholder) {\r\n\t\t\t\t\t\t\tresolve(placeholder);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tfail('cannot fetch resource: ' + url + ', status: ' + request.status);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar encoder = new FileReader();\r\n\t\t\t\t\tencoder.onloadend = function () {\r\n\t\t\t\t\t\tvar content = encoder.result.split(/,/)[1];\r\n\t\t\t\t\t\tresolve(content);\r\n\t\t\t\t\t};\r\n\t\t\t\t\tencoder.readAsDataURL(request.response);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfunction timeout() {\r\n\t\t\t\t\tif (placeholder) {\r\n\t\t\t\t\t\tresolve(placeholder);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tfail('timeout of ' + TIMEOUT + 'ms occured while fetching resource: ' + url);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfunction fail(message) {\r\n\t\t\t\t\tconsole.error(message);\r\n\t\t\t\t\tresolve('');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction dataAsUrl(content, type) {\r\n\t\t\treturn 'data:' + type + ';base64,' + content;\r\n\t\t}\r\n\r\n\t\tfunction escape(string) {\r\n\t\t\treturn string.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\r\n\t\t}\r\n\r\n\t\tfunction delay(ms) {\r\n\t\t\treturn function (arg) {\r\n\t\t\t\treturn new Promise(function (resolve) {\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tresolve(arg);\r\n\t\t\t\t\t}, ms);\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tfunction asArray(arrayLike) {\r\n\t\t\tvar array = [];\r\n\t\t\tvar length = arrayLike.length;\r\n\t\t\tfor (var i = 0; i < length; i++) array.push(arrayLike[i]);\r\n\t\t\treturn array;\r\n\t\t}\r\n\r\n\t\tfunction escapeXhtml(string) {\r\n\t\t\treturn string.replace(/#/g, '%23').replace(/\\n/g, '%0A');\r\n\t\t}\r\n\r\n\t\tfunction width(node) {\r\n\t\t\tvar leftBorder = px(node, 'border-left-width');\r\n\t\t\tvar rightBorder = px(node, 'border-right-width');\r\n\t\t\treturn node.scrollWidth + leftBorder + rightBorder;\r\n\t\t}\r\n\r\n\t\tfunction height(node) {\r\n\t\t\tvar topBorder = px(node, 'border-top-width');\r\n\t\t\tvar bottomBorder = px(node, 'border-bottom-width');\r\n\t\t\treturn node.scrollHeight + topBorder + bottomBorder;\r\n\t\t}\r\n\r\n\t\tfunction px(node, styleProperty) {\r\n\t\t\tvar value = window.getComputedStyle(node).getPropertyValue(styleProperty);\r\n\t\t\treturn parseFloat(value.replace('px', ''));\r\n\t\t}\r\n\t}\r\n\r\n\tfunction newInliner() {\r\n\t\tvar URL_REGEX = /url\\(['\"]?([^'\"]+?)['\"]?\\)/g;\r\n\r\n\t\treturn {\r\n\t\t\tinlineAll: inlineAll,\r\n\t\t\tshouldProcess: shouldProcess,\r\n\t\t\timpl: {\r\n\t\t\t\treadUrls: readUrls,\r\n\t\t\t\tinline: inline\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction shouldProcess(string) {\r\n\t\t\treturn string.search(URL_REGEX) !== -1;\r\n\t\t}\r\n\r\n\t\tfunction readUrls(string) {\r\n\t\t\tvar result = [];\r\n\t\t\tvar match;\r\n\t\t\twhile ((match = URL_REGEX.exec(string)) !== null) {\r\n\t\t\t\tresult.push(match[1]);\r\n\t\t\t}\r\n\t\t\treturn result.filter(function (url) {\r\n\t\t\t\treturn !util.isDataUrl(url);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction inline(string, url, baseUrl, get) {\r\n\t\t\treturn Promise.resolve(url)\r\n .then(function (url) {\r\n \treturn baseUrl ? util.resolveUrl(url, baseUrl) : url;\r\n })\r\n .then(get || util.getAndEncode)\r\n .then(function (data) {\r\n \treturn util.dataAsUrl(data, util.mimeType(url));\r\n })\r\n .then(function (dataUrl) {\r\n \treturn string.replace(urlAsRegex(url), '$1' + dataUrl + '$3');\r\n });\r\n\r\n\t\t\tfunction urlAsRegex(url) {\r\n\t\t\t\treturn new RegExp('(url\\\\([\\'\"]?)(' + util.escape(url) + ')([\\'\"]?\\\\))', 'g');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction inlineAll(string, baseUrl, get) {\r\n\t\t\tif (nothingToInline()) return Promise.resolve(string);\r\n\r\n\t\t\treturn Promise.resolve(string)\r\n .then(readUrls)\r\n .then(function (urls) {\r\n \tvar done = Promise.resolve(string);\r\n \turls.forEach(function (url) {\r\n \t\tdone = done.then(function (string) {\r\n \t\t\treturn inline(string, url, baseUrl, get);\r\n \t\t});\r\n \t});\r\n \treturn done;\r\n });\r\n\r\n\t\t\tfunction nothingToInline() {\r\n\t\t\t\treturn !shouldProcess(string);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction newFontFaces() {\r\n\t\treturn {\r\n\t\t\tresolveAll: resolveAll,\r\n\t\t\timpl: {\r\n\t\t\t\treadAll: readAll\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction resolveAll() {\r\n\t\t\treturn readAll(document)\r\n .then(function (webFonts) {\r\n \treturn Promise.all(\r\n webFonts.map(function (webFont) {\r\n \treturn webFont.resolve();\r\n })\r\n );\r\n })\r\n .then(function (cssStrings) {\r\n \treturn cssStrings.join('\\n');\r\n });\r\n\t\t}\r\n\r\n\t\tfunction readAll() {\r\n\t\t\treturn Promise.resolve(util.asArray(document.styleSheets))\r\n .then(getCssRules)\r\n .then(selectWebFontRules)\r\n .then(function (rules) {\r\n \treturn rules.map(newWebFont);\r\n });\r\n\r\n\t\t\tfunction selectWebFontRules(cssRules) {\r\n\t\t\t\treturn cssRules\r\n .filter(function (rule) {\r\n \treturn rule.type === CSSRule.FONT_FACE_RULE;\r\n })\r\n .filter(function (rule) {\r\n \treturn inliner.shouldProcess(rule.style.getPropertyValue('src'));\r\n });\r\n\t\t\t}\r\n\r\n\t\t\tfunction getCssRules(styleSheets) {\r\n\t\t\t\tvar cssRules = [];\r\n\t\t\t\tstyleSheets.forEach(function (sheet) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tutil.asArray(sheet.cssRules || []).forEach(cssRules.push.bind(cssRules));\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\tconsole.log('Error while reading CSS rules from ' + sheet.href, e.toString());\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\treturn cssRules;\r\n\t\t\t}\r\n\r\n\t\t\tfunction newWebFont(webFontRule) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tresolve: function resolve() {\r\n\t\t\t\t\t\tvar baseUrl = (webFontRule.parentStyleSheet || {}).href;\r\n\t\t\t\t\t\treturn inliner.inlineAll(webFontRule.cssText, baseUrl);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsrc: function () {\r\n\t\t\t\t\t\treturn webFontRule.style.getPropertyValue('src');\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction newImages() {\r\n\t\treturn {\r\n\t\t\tinlineAll: inlineAll,\r\n\t\t\timpl: {\r\n\t\t\t\tnewImage: newImage\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction newImage(element) {\r\n\t\t\treturn {\r\n\t\t\t\tinline: inline\r\n\t\t\t};\r\n\r\n\t\t\tfunction inline(get) {\r\n\t\t\t\tif (util.isDataUrl(element.src)) return Promise.resolve();\r\n\r\n\t\t\t\treturn Promise.resolve(element.src)\r\n .then(get || util.getAndEncode)\r\n .then(function (data) {\r\n \treturn util.dataAsUrl(data, util.mimeType(element.src));\r\n })\r\n .then(function (dataUrl) {\r\n \treturn new Promise(function (resolve, reject) {\r\n \t\telement.onload = resolve;\r\n \t\telement.onerror = reject;\r\n \t\telement.src = dataUrl;\r\n \t});\r\n });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction inlineAll(node) {\r\n\t\t\tif (!(node instanceof Element)) return Promise.resolve(node);\r\n\r\n\t\t\treturn inlineBackground(node)\r\n .then(function () {\r\n \tif (node instanceof HTMLImageElement)\r\n \t\treturn newImage(node).inline();\r\n \telse\r\n \t\treturn Promise.all(\r\n util.asArray(node.childNodes).map(function (child) {\r\n \treturn inlineAll(child);\r\n })\r\n );\r\n });\r\n\r\n\t\t\tfunction inlineBackground(node) {\r\n\t\t\t\tvar background = node.style.getPropertyValue('background');\r\n\r\n\t\t\t\tif (!background) return Promise.resolve(node);\r\n\r\n\t\t\t\treturn inliner.inlineAll(background)\r\n .then(function (inlined) {\r\n \tnode.style.setProperty(\r\n 'background',\r\n inlined,\r\n node.style.getPropertyPriority('background')\r\n );\r\n })\r\n .then(function () {\r\n \treturn node;\r\n });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n})(this);","/*!\r\n * jQuery Migrate - v3.4.1 - 2023-02-23T15:31Z\r\n * Copyright OpenJS Foundation and other contributors\r\n */\r\n( function( factory ) {\r\n\t\"use strict\";\r\n\r\n\tif ( typeof define === \"function\" && define.amd ) {\r\n\r\n\t\t// AMD. Register as an anonymous module.\r\n\t\tdefine( [ \"jquery\" ], function( jQuery ) {\r\n\t\t\treturn factory( jQuery, window );\r\n\t\t} );\r\n\t} else if ( typeof module === \"object\" && module.exports ) {\r\n\r\n\t\t// Node/CommonJS\r\n\t\t// eslint-disable-next-line no-undef\r\n\t\tmodule.exports = factory( require( \"jquery\" ), window );\r\n\t} else {\r\n\r\n\t\t// Browser globals\r\n\t\tfactory( jQuery, window );\r\n\t}\r\n} )( function( jQuery, window ) {\r\n\"use strict\";\r\n\r\njQuery.migrateVersion = \"3.4.1\";\r\n\r\n// Returns 0 if v1 == v2, -1 if v1 < v2, 1 if v1 > v2\r\nfunction compareVersions( v1, v2 ) {\r\n\tvar i,\r\n\t\trVersionParts = /^(\\d+)\\.(\\d+)\\.(\\d+)/,\r\n\t\tv1p = rVersionParts.exec( v1 ) || [ ],\r\n\t\tv2p = rVersionParts.exec( v2 ) || [ ];\r\n\r\n\tfor ( i = 1; i <= 3; i++ ) {\r\n\t\tif ( +v1p[ i ] > +v2p[ i ] ) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ( +v1p[ i ] < +v2p[ i ] ) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t}\r\n\treturn 0;\r\n}\r\n\r\nfunction jQueryVersionSince( version ) {\r\n\treturn compareVersions( jQuery.fn.jquery, version ) >= 0;\r\n}\r\n\r\n// A map from disabled patch codes to `true`. This should really\r\n// be a `Set` but those are unsupported in IE.\r\nvar disabledPatches = Object.create( null );\r\n\r\n// Don't apply patches for specified codes. Helpful for code bases\r\n// where some Migrate warnings have been addressed and it's desirable\r\n// to avoid needless patches or false positives.\r\njQuery.migrateDisablePatches = function() {\r\n\tvar i;\r\n\tfor ( i = 0; i < arguments.length; i++ ) {\r\n\t\tdisabledPatches[ arguments[ i ] ] = true;\r\n\t}\r\n};\r\n\r\n// Allow enabling patches disabled via `jQuery.migrateDisablePatches`.\r\n// Helpful if you want to disable a patch only for some code that won't\r\n// be updated soon to be able to focus on other warnings - and enable it\r\n// immediately after such a call:\r\n// ```js\r\n// jQuery.migrateDisablePatches( \"workaroundA\" );\r\n// elem.pluginViolatingWarningA( \"pluginMethod\" );\r\n// jQuery.migrateEnablePatches( \"workaroundA\" );\r\n// ```\r\njQuery.migrateEnablePatches = function() {\r\n\tvar i;\r\n\tfor ( i = 0; i < arguments.length; i++ ) {\r\n\t\tdelete disabledPatches[ arguments[ i ] ];\r\n\t}\r\n};\r\n\r\njQuery.migrateIsPatchEnabled = function( patchCode ) {\r\n\treturn !disabledPatches[ patchCode ];\r\n};\r\n\r\n( function() {\r\n\r\n\t// Support: IE9 only\r\n\t// IE9 only creates console object when dev tools are first opened\r\n\t// IE9 console is a host object, callable but doesn't have .apply()\r\n\tif ( !window.console || !window.console.log ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// Need jQuery 3.x-4.x and no older Migrate loaded\r\n\tif ( !jQuery || !jQueryVersionSince( \"3.0.0\" ) ||\r\n\t\t\tjQueryVersionSince( \"5.0.0\" ) ) {\r\n\t\twindow.console.log( \"JQMIGRATE: jQuery 3.x-4.x REQUIRED\" );\r\n\t}\r\n\tif ( jQuery.migrateWarnings ) {\r\n\t\twindow.console.log( \"JQMIGRATE: Migrate plugin loaded multiple times\" );\r\n\t}\r\n\r\n\t// Show a message on the console so devs know we're active\r\n\twindow.console.log( \"JQMIGRATE: Migrate is installed\" +\r\n\t\t( jQuery.migrateMute ? \"\" : \" with logging active\" ) +\r\n\t\t\", version \" + jQuery.migrateVersion );\r\n\r\n} )();\r\n\r\nvar warnedAbout = {};\r\n\r\n// By default each warning is only reported once.\r\njQuery.migrateDeduplicateWarnings = true;\r\n\r\n// List of warnings already given; public read only\r\njQuery.migrateWarnings = [];\r\n\r\n// Set to false to disable traces that appear with warnings\r\nif ( jQuery.migrateTrace === undefined ) {\r\n\tjQuery.migrateTrace = true;\r\n}\r\n\r\n// Forget any warnings we've already given; public\r\njQuery.migrateReset = function() {\r\n\twarnedAbout = {};\r\n\tjQuery.migrateWarnings.length = 0;\r\n};\r\n\r\nfunction migrateWarn( code, msg ) {\r\n\tvar console = window.console;\r\n\tif ( jQuery.migrateIsPatchEnabled( code ) &&\r\n\t\t( !jQuery.migrateDeduplicateWarnings || !warnedAbout[ msg ] ) ) {\r\n\t\twarnedAbout[ msg ] = true;\r\n\t\tjQuery.migrateWarnings.push( msg + \" [\" + code + \"]\" );\r\n\t\tif ( console && console.warn && !jQuery.migrateMute ) {\r\n\t\t\tconsole.warn( \"JQMIGRATE: \" + msg );\r\n\t\t\tif ( jQuery.migrateTrace && console.trace ) {\r\n\t\t\t\tconsole.trace();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction migrateWarnProp( obj, prop, value, code, msg ) {\r\n\tObject.defineProperty( obj, prop, {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: true,\r\n\t\tget: function() {\r\n\t\t\tmigrateWarn( code, msg );\r\n\t\t\treturn value;\r\n\t\t},\r\n\t\tset: function( newValue ) {\r\n\t\t\tmigrateWarn( code, msg );\r\n\t\t\tvalue = newValue;\r\n\t\t}\r\n\t} );\r\n}\r\n\r\nfunction migrateWarnFuncInternal( obj, prop, newFunc, code, msg ) {\r\n\tvar finalFunc,\r\n\t\torigFunc = obj[ prop ];\r\n\r\n\tobj[ prop ] = function() {\r\n\r\n\t\t// If `msg` not provided, do not warn; more sophisticated warnings\r\n\t\t// logic is most likely embedded in `newFunc`, in that case here\r\n\t\t// we just care about the logic choosing the proper implementation\r\n\t\t// based on whether the patch is disabled or not.\r\n\t\tif ( msg ) {\r\n\t\t\tmigrateWarn( code, msg );\r\n\t\t}\r\n\r\n\t\t// Since patches can be disabled & enabled dynamically, we\r\n\t\t// need to decide which implementation to run on each invocation.\r\n\t\tfinalFunc = jQuery.migrateIsPatchEnabled( code ) ?\r\n\t\t\tnewFunc :\r\n\r\n\t\t\t// The function may not have existed originally so we need a fallback.\r\n\t\t\t( origFunc || jQuery.noop );\r\n\r\n\t\treturn finalFunc.apply( this, arguments );\r\n\t};\r\n}\r\n\r\nfunction migratePatchAndWarnFunc( obj, prop, newFunc, code, msg ) {\r\n\tif ( !msg ) {\r\n\t\tthrow new Error( \"No warning message provided\" );\r\n\t}\r\n\treturn migrateWarnFuncInternal( obj, prop, newFunc, code, msg );\r\n}\r\n\r\nfunction migratePatchFunc( obj, prop, newFunc, code ) {\r\n\treturn migrateWarnFuncInternal( obj, prop, newFunc, code );\r\n}\r\n\r\nif ( window.document.compatMode === \"BackCompat\" ) {\r\n\r\n\t// jQuery has never supported or tested Quirks Mode\r\n\tmigrateWarn( \"quirks\", \"jQuery is not compatible with Quirks Mode\" );\r\n}\r\n\r\nvar findProp,\r\n\tclass2type = {},\r\n\toldInit = jQuery.fn.init,\r\n\toldFind = jQuery.find,\r\n\r\n\trattrHashTest = /\\[(\\s*[-\\w]+\\s*)([~|^$*]?=)\\s*([-\\w#]*?#[-\\w#]*)\\s*\\]/,\r\n\trattrHashGlob = /\\[(\\s*[-\\w]+\\s*)([~|^$*]?=)\\s*([-\\w#]*?#[-\\w#]*)\\s*\\]/g,\r\n\r\n\t// Require that the \"whitespace run\" starts from a non-whitespace\r\n\t// to avoid O(N^2) behavior when the engine would try matching \"\\s+$\" at each space position.\r\n\trtrim = /^[\\s\\uFEFF\\xA0]+|([^\\s\\uFEFF\\xA0])[\\s\\uFEFF\\xA0]+$/g;\r\n\r\nmigratePatchFunc( jQuery.fn, \"init\", function( arg1 ) {\r\n\tvar args = Array.prototype.slice.call( arguments );\r\n\r\n\tif ( jQuery.migrateIsPatchEnabled( \"selector-empty-id\" ) &&\r\n\t\ttypeof arg1 === \"string\" && arg1 === \"#\" ) {\r\n\r\n\t\t// JQuery( \"#\" ) is a bogus ID selector, but it returned an empty set\r\n\t\t// before jQuery 3.0\r\n\t\tmigrateWarn( \"selector-empty-id\", \"jQuery( '#' ) is not a valid selector\" );\r\n\t\targs[ 0 ] = [];\r\n\t}\r\n\r\n\treturn oldInit.apply( this, args );\r\n}, \"selector-empty-id\" );\r\n\r\n// This is already done in Core but the above patch will lose this assignment\r\n// so we need to redo it. It doesn't matter whether the patch is enabled or not\r\n// as the method is always going to be a Migrate-created wrapper.\r\njQuery.fn.init.prototype = jQuery.fn;\r\n\r\nmigratePatchFunc( jQuery, \"find\", function( selector ) {\r\n\tvar args = Array.prototype.slice.call( arguments );\r\n\r\n\t// Support: PhantomJS 1.x\r\n\t// String#match fails to match when used with a //g RegExp, only on some strings\r\n\tif ( typeof selector === \"string\" && rattrHashTest.test( selector ) ) {\r\n\r\n\t\t// The nonstandard and undocumented unquoted-hash was removed in jQuery 1.12.0\r\n\t\t// First see if qS thinks it's a valid selector, if so avoid a false positive\r\n\t\ttry {\r\n\t\t\twindow.document.querySelector( selector );\r\n\t\t} catch ( err1 ) {\r\n\r\n\t\t\t// Didn't *look* valid to qSA, warn and try quoting what we think is the value\r\n\t\t\tselector = selector.replace( rattrHashGlob, function( _, attr, op, value ) {\r\n\t\t\t\treturn \"[\" + attr + op + \"\\\"\" + value + \"\\\"]\";\r\n\t\t\t} );\r\n\r\n\t\t\t// If the regexp *may* have created an invalid selector, don't update it\r\n\t\t\t// Note that there may be false alarms if selector uses jQuery extensions\r\n\t\t\ttry {\r\n\t\t\t\twindow.document.querySelector( selector );\r\n\t\t\t\tmigrateWarn( \"selector-hash\",\r\n\t\t\t\t\t\"Attribute selector with '#' must be quoted: \" + args[ 0 ] );\r\n\t\t\t\targs[ 0 ] = selector;\r\n\t\t\t} catch ( err2 ) {\r\n\t\t\t\tmigrateWarn( \"selector-hash\",\r\n\t\t\t\t\t\"Attribute selector with '#' was not fixed: \" + args[ 0 ] );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn oldFind.apply( this, args );\r\n}, \"selector-hash\" );\r\n\r\n// Copy properties attached to original jQuery.find method (e.g. .attr, .isXML)\r\nfor ( findProp in oldFind ) {\r\n\tif ( Object.prototype.hasOwnProperty.call( oldFind, findProp ) ) {\r\n\t\tjQuery.find[ findProp ] = oldFind[ findProp ];\r\n\t}\r\n}\r\n\r\n// The number of elements contained in the matched element set\r\nmigratePatchAndWarnFunc( jQuery.fn, \"size\", function() {\r\n\treturn this.length;\r\n}, \"size\",\r\n\"jQuery.fn.size() is deprecated and removed; use the .length property\" );\r\n\r\nmigratePatchAndWarnFunc( jQuery, \"parseJSON\", function() {\r\n\treturn JSON.parse.apply( null, arguments );\r\n}, \"parseJSON\",\r\n\"jQuery.parseJSON is deprecated; use JSON.parse\" );\r\n\r\nmigratePatchAndWarnFunc( jQuery, \"holdReady\", jQuery.holdReady,\r\n\t\"holdReady\", \"jQuery.holdReady is deprecated\" );\r\n\r\nmigratePatchAndWarnFunc( jQuery, \"unique\", jQuery.uniqueSort,\r\n\t\"unique\", \"jQuery.unique is deprecated; use jQuery.uniqueSort\" );\r\n\r\n// Now jQuery.expr.pseudos is the standard incantation\r\nmigrateWarnProp( jQuery.expr, \"filters\", jQuery.expr.pseudos, \"expr-pre-pseudos\",\r\n\t\"jQuery.expr.filters is deprecated; use jQuery.expr.pseudos\" );\r\nmigrateWarnProp( jQuery.expr, \":\", jQuery.expr.pseudos, \"expr-pre-pseudos\",\r\n\t\"jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos\" );\r\n\r\n// Prior to jQuery 3.1.1 there were internal refs so we don't warn there\r\nif ( jQueryVersionSince( \"3.1.1\" ) ) {\r\n\tmigratePatchAndWarnFunc( jQuery, \"trim\", function( text ) {\r\n\t\treturn text == null ?\r\n\t\t\t\"\" :\r\n\t\t\t( text + \"\" ).replace( rtrim, \"$1\" );\r\n\t}, \"trim\",\r\n\t\"jQuery.trim is deprecated; use String.prototype.trim\" );\r\n}\r\n\r\n// Prior to jQuery 3.2 there were internal refs so we don't warn there\r\nif ( jQueryVersionSince( \"3.2.0\" ) ) {\r\n\tmigratePatchAndWarnFunc( jQuery, \"nodeName\", function( elem, name ) {\r\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\r\n\t}, \"nodeName\",\r\n\t\"jQuery.nodeName is deprecated\" );\r\n\r\n\tmigratePatchAndWarnFunc( jQuery, \"isArray\", Array.isArray, \"isArray\",\r\n\t\t\"jQuery.isArray is deprecated; use Array.isArray\"\r\n\t);\r\n}\r\n\r\nif ( jQueryVersionSince( \"3.3.0\" ) ) {\r\n\r\n\tmigratePatchAndWarnFunc( jQuery, \"isNumeric\", function( obj ) {\r\n\r\n\t\t\t// As of jQuery 3.0, isNumeric is limited to\r\n\t\t\t// strings and numbers (primitives or objects)\r\n\t\t\t// that can be coerced to finite numbers (gh-2662)\r\n\t\t\tvar type = typeof obj;\r\n\t\t\treturn ( type === \"number\" || type === \"string\" ) &&\r\n\r\n\t\t\t\t// parseFloat NaNs numeric-cast false positives (\"\")\r\n\t\t\t\t// ...but misinterprets leading-number strings, e.g. hex literals (\"0x...\")\r\n\t\t\t\t// subtraction forces infinities to NaN\r\n\t\t\t\t!isNaN( obj - parseFloat( obj ) );\r\n\t\t}, \"isNumeric\",\r\n\t\t\"jQuery.isNumeric() is deprecated\"\r\n\t);\r\n\r\n\t// Populate the class2type map\r\n\tjQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".\r\n\t\tsplit( \" \" ),\r\n\tfunction( _, name ) {\r\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\r\n\t} );\r\n\r\n\tmigratePatchAndWarnFunc( jQuery, \"type\", function( obj ) {\r\n\t\tif ( obj == null ) {\r\n\t\t\treturn obj + \"\";\r\n\t\t}\r\n\r\n\t\t// Support: Android <=2.3 only (functionish RegExp)\r\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\r\n\t\t\tclass2type[ Object.prototype.toString.call( obj ) ] || \"object\" :\r\n\t\t\ttypeof obj;\r\n\t}, \"type\",\r\n\t\"jQuery.type is deprecated\" );\r\n\r\n\tmigratePatchAndWarnFunc( jQuery, \"isFunction\",\r\n\t\tfunction( obj ) {\r\n\t\t\treturn typeof obj === \"function\";\r\n\t\t}, \"isFunction\",\r\n\t\t\"jQuery.isFunction() is deprecated\" );\r\n\r\n\tmigratePatchAndWarnFunc( jQuery, \"isWindow\",\r\n\t\tfunction( obj ) {\r\n\t\t\treturn obj != null && obj === obj.window;\r\n\t\t}, \"isWindow\",\r\n\t\t\"jQuery.isWindow() is deprecated\"\r\n\t);\r\n}\r\n\r\n// Support jQuery slim which excludes the ajax module\r\nif ( jQuery.ajax ) {\r\n\r\nvar oldAjax = jQuery.ajax,\r\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\r\n\r\nmigratePatchFunc( jQuery, \"ajax\", function() {\r\n\tvar jQXHR = oldAjax.apply( this, arguments );\r\n\r\n\t// Be sure we got a jQXHR (e.g., not sync)\r\n\tif ( jQXHR.promise ) {\r\n\t\tmigratePatchAndWarnFunc( jQXHR, \"success\", jQXHR.done, \"jqXHR-methods\",\r\n\t\t\t\"jQXHR.success is deprecated and removed\" );\r\n\t\tmigratePatchAndWarnFunc( jQXHR, \"error\", jQXHR.fail, \"jqXHR-methods\",\r\n\t\t\t\"jQXHR.error is deprecated and removed\" );\r\n\t\tmigratePatchAndWarnFunc( jQXHR, \"complete\", jQXHR.always, \"jqXHR-methods\",\r\n\t\t\t\"jQXHR.complete is deprecated and removed\" );\r\n\t}\r\n\r\n\treturn jQXHR;\r\n}, \"jqXHR-methods\" );\r\n\r\n// Only trigger the logic in jQuery <4 as the JSON-to-JSONP auto-promotion\r\n// behavior is gone in jQuery 4.0 and as it has security implications, we don't\r\n// want to restore the legacy behavior.\r\nif ( !jQueryVersionSince( \"4.0.0\" ) ) {\r\n\r\n\t// Register this prefilter before the jQuery one. Otherwise, a promoted\r\n\t// request is transformed into one with the script dataType and we can't\r\n\t// catch it anymore.\r\n\tjQuery.ajaxPrefilter( \"+json\", function( s ) {\r\n\r\n\t\t// Warn if JSON-to-JSONP auto-promotion happens.\r\n\t\tif ( s.jsonp !== false && ( rjsonp.test( s.url ) ||\r\n\t\t\t\ttypeof s.data === \"string\" &&\r\n\t\t\t\t( s.contentType || \"\" )\r\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\r\n\t\t\t\trjsonp.test( s.data )\r\n\t\t) ) {\r\n\t\t\tmigrateWarn( \"jsonp-promotion\", \"JSON-to-JSONP auto-promotion is deprecated\" );\r\n\t\t}\r\n\t} );\r\n}\r\n\r\n}\r\n\r\nvar oldRemoveAttr = jQuery.fn.removeAttr,\r\n\toldToggleClass = jQuery.fn.toggleClass,\r\n\trmatchNonSpace = /\\S+/g;\r\n\r\nmigratePatchFunc( jQuery.fn, \"removeAttr\", function( name ) {\r\n\tvar self = this,\r\n\t\tpatchNeeded = false;\r\n\r\n\tjQuery.each( name.match( rmatchNonSpace ), function( _i, attr ) {\r\n\t\tif ( jQuery.expr.match.bool.test( attr ) ) {\r\n\r\n\t\t\t// Only warn if at least a single node had the property set to\r\n\t\t\t// something else than `false`. Otherwise, this Migrate patch\r\n\t\t\t// doesn't influence the behavior and there's no need to set or warn.\r\n\t\t\tself.each( function() {\r\n\t\t\t\tif ( jQuery( this ).prop( attr ) !== false ) {\r\n\t\t\t\t\tpatchNeeded = true;\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} );\r\n\t\t}\r\n\r\n\t\tif ( patchNeeded ) {\r\n\t\t\tmigrateWarn( \"removeAttr-bool\",\r\n\t\t\t\t\"jQuery.fn.removeAttr no longer sets boolean properties: \" + attr );\r\n\t\t\tself.prop( attr, false );\r\n\t\t}\r\n\t} );\r\n\r\n\treturn oldRemoveAttr.apply( this, arguments );\r\n}, \"removeAttr-bool\" );\r\n\r\nmigratePatchFunc( jQuery.fn, \"toggleClass\", function( state ) {\r\n\r\n\t// Only deprecating no-args or single boolean arg\r\n\tif ( state !== undefined && typeof state !== \"boolean\" ) {\r\n\r\n\t\treturn oldToggleClass.apply( this, arguments );\r\n\t}\r\n\r\n\tmigrateWarn( \"toggleClass-bool\", \"jQuery.fn.toggleClass( boolean ) is deprecated\" );\r\n\r\n\t// Toggle entire class name of each element\r\n\treturn this.each( function() {\r\n\t\tvar className = this.getAttribute && this.getAttribute( \"class\" ) || \"\";\r\n\r\n\t\tif ( className ) {\r\n\t\t\tjQuery.data( this, \"__className__\", className );\r\n\t\t}\r\n\r\n\t\t// If the element has a class name or if we're passed `false`,\r\n\t\t// then remove the whole classname (if there was one, the above saved it).\r\n\t\t// Otherwise bring back whatever was previously saved (if anything),\r\n\t\t// falling back to the empty string if nothing was stored.\r\n\t\tif ( this.setAttribute ) {\r\n\t\t\tthis.setAttribute( \"class\",\r\n\t\t\t\tclassName || state === false ?\r\n\t\t\t\t\"\" :\r\n\t\t\t\tjQuery.data( this, \"__className__\" ) || \"\"\r\n\t\t\t);\r\n\t\t}\r\n\t} );\r\n}, \"toggleClass-bool\" );\r\n\r\nfunction camelCase( string ) {\r\n\treturn string.replace( /-([a-z])/g, function( _, letter ) {\r\n\t\treturn letter.toUpperCase();\r\n\t} );\r\n}\r\n\r\nvar origFnCss, internalCssNumber,\r\n\tinternalSwapCall = false,\r\n\tralphaStart = /^[a-z]/,\r\n\r\n\t// The regex visualized:\r\n\t//\r\n\t// /----------\\\r\n\t// | | /-------\\\r\n\t// | / Top \\ | | |\r\n\t// /--- Border ---+-| Right |-+---+- Width -+---\\\r\n\t// | | Bottom | |\r\n\t// | \\ Left / |\r\n\t// | |\r\n\t// | /----------\\ |\r\n\t// | /-------------\\ | | |- END\r\n\t// | | | | / Top \\ | |\r\n\t// | | / Margin \\ | | | Right | | |\r\n\t// |---------+-| |-+---+-| Bottom |-+----|\r\n\t// | \\ Padding / \\ Left / |\r\n\t// BEGIN -| |\r\n\t// | /---------\\ |\r\n\t// | | | |\r\n\t// | | / Min \\ | / Width \\ |\r\n\t// \\--------------+-| |-+---| |---/\r\n\t// \\ Max / \\ Height /\r\n\trautoPx = /^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;\r\n\r\n// If this version of jQuery has .swap(), don't false-alarm on internal uses\r\nif ( jQuery.swap ) {\r\n\tjQuery.each( [ \"height\", \"width\", \"reliableMarginRight\" ], function( _, name ) {\r\n\t\tvar oldHook = jQuery.cssHooks[ name ] && jQuery.cssHooks[ name ].get;\r\n\r\n\t\tif ( oldHook ) {\r\n\t\t\tjQuery.cssHooks[ name ].get = function() {\r\n\t\t\t\tvar ret;\r\n\r\n\t\t\t\tinternalSwapCall = true;\r\n\t\t\t\tret = oldHook.apply( this, arguments );\r\n\t\t\t\tinternalSwapCall = false;\r\n\t\t\t\treturn ret;\r\n\t\t\t};\r\n\t\t}\r\n\t} );\r\n}\r\n\r\nmigratePatchFunc( jQuery, \"swap\", function( elem, options, callback, args ) {\r\n\tvar ret, name,\r\n\t\told = {};\r\n\r\n\tif ( !internalSwapCall ) {\r\n\t\tmigrateWarn( \"swap\", \"jQuery.swap() is undocumented and deprecated\" );\r\n\t}\r\n\r\n\t// Remember the old values, and insert the new ones\r\n\tfor ( name in options ) {\r\n\t\told[ name ] = elem.style[ name ];\r\n\t\telem.style[ name ] = options[ name ];\r\n\t}\r\n\r\n\tret = callback.apply( elem, args || [] );\r\n\r\n\t// Revert the old values\r\n\tfor ( name in options ) {\r\n\t\telem.style[ name ] = old[ name ];\r\n\t}\r\n\r\n\treturn ret;\r\n}, \"swap\" );\r\n\r\nif ( jQueryVersionSince( \"3.4.0\" ) && typeof Proxy !== \"undefined\" ) {\r\n\tjQuery.cssProps = new Proxy( jQuery.cssProps || {}, {\r\n\t\tset: function() {\r\n\t\t\tmigrateWarn( \"cssProps\", \"jQuery.cssProps is deprecated\" );\r\n\t\t\treturn Reflect.set.apply( this, arguments );\r\n\t\t}\r\n\t} );\r\n}\r\n\r\n// In jQuery >=4 where jQuery.cssNumber is missing fill it with the latest 3.x version:\r\n// https://github.com/jquery/jquery/blob/3.6.0/src/css.js#L212-L233\r\n// This way, number values for the CSS properties below won't start triggering\r\n// Migrate warnings when jQuery gets updated to >=4.0.0 (gh-438).\r\nif ( jQueryVersionSince( \"4.0.0\" ) ) {\r\n\r\n\t// We need to keep this as a local variable as we need it internally\r\n\t// in a `jQuery.fn.css` patch and this usage shouldn't warn.\r\n\tinternalCssNumber = {\r\n\t\tanimationIterationCount: true,\r\n\t\tcolumnCount: true,\r\n\t\tfillOpacity: true,\r\n\t\tflexGrow: true,\r\n\t\tflexShrink: true,\r\n\t\tfontWeight: true,\r\n\t\tgridArea: true,\r\n\t\tgridColumn: true,\r\n\t\tgridColumnEnd: true,\r\n\t\tgridColumnStart: true,\r\n\t\tgridRow: true,\r\n\t\tgridRowEnd: true,\r\n\t\tgridRowStart: true,\r\n\t\tlineHeight: true,\r\n\t\topacity: true,\r\n\t\torder: true,\r\n\t\torphans: true,\r\n\t\twidows: true,\r\n\t\tzIndex: true,\r\n\t\tzoom: true\r\n\t};\r\n\r\n\tif ( typeof Proxy !== \"undefined\" ) {\r\n\t\tjQuery.cssNumber = new Proxy( internalCssNumber, {\r\n\t\t\tget: function() {\r\n\t\t\t\tmigrateWarn( \"css-number\", \"jQuery.cssNumber is deprecated\" );\r\n\t\t\t\treturn Reflect.get.apply( this, arguments );\r\n\t\t\t},\r\n\t\t\tset: function() {\r\n\t\t\t\tmigrateWarn( \"css-number\", \"jQuery.cssNumber is deprecated\" );\r\n\t\t\t\treturn Reflect.set.apply( this, arguments );\r\n\t\t\t}\r\n\t\t} );\r\n\t} else {\r\n\r\n\t\t// Support: IE 9-11+\r\n\t\t// IE doesn't support proxies, but we still want to restore the legacy\r\n\t\t// jQuery.cssNumber there.\r\n\t\tjQuery.cssNumber = internalCssNumber;\r\n\t}\r\n} else {\r\n\r\n\t// Make `internalCssNumber` defined for jQuery <4 as well as it's needed\r\n\t// in the `jQuery.fn.css` patch below.\r\n\tinternalCssNumber = jQuery.cssNumber;\r\n}\r\n\r\nfunction isAutoPx( prop ) {\r\n\r\n\t// The first test is used to ensure that:\r\n\t// 1. The prop starts with a lowercase letter (as we uppercase it for the second regex).\r\n\t// 2. The prop is not empty.\r\n\treturn ralphaStart.test( prop ) &&\r\n\t\trautoPx.test( prop[ 0 ].toUpperCase() + prop.slice( 1 ) );\r\n}\r\n\r\norigFnCss = jQuery.fn.css;\r\n\r\nmigratePatchFunc( jQuery.fn, \"css\", function( name, value ) {\r\n\tvar camelName,\r\n\t\torigThis = this;\r\n\r\n\tif ( name && typeof name === \"object\" && !Array.isArray( name ) ) {\r\n\t\tjQuery.each( name, function( n, v ) {\r\n\t\t\tjQuery.fn.css.call( origThis, n, v );\r\n\t\t} );\r\n\t\treturn this;\r\n\t}\r\n\r\n\tif ( typeof value === \"number\" ) {\r\n\t\tcamelName = camelCase( name );\r\n\r\n\t\t// Use `internalCssNumber` to avoid triggering our warnings in this\r\n\t\t// internal check.\r\n\t\tif ( !isAutoPx( camelName ) && !internalCssNumber[ camelName ] ) {\r\n\t\t\tmigrateWarn( \"css-number\",\r\n\t\t\t\t\"Number-typed values are deprecated for jQuery.fn.css( \\\"\" +\r\n\t\t\t\tname + \"\\\", value )\" );\r\n\t\t}\r\n\t}\r\n\r\n\treturn origFnCss.apply( this, arguments );\r\n}, \"css-number\" );\r\n\r\nvar origData = jQuery.data;\r\n\r\nmigratePatchFunc( jQuery, \"data\", function( elem, name, value ) {\r\n\tvar curData, sameKeys, key;\r\n\r\n\t// Name can be an object, and each entry in the object is meant to be set as data\r\n\tif ( name && typeof name === \"object\" && arguments.length === 2 ) {\r\n\r\n\t\tcurData = jQuery.hasData( elem ) && origData.call( this, elem );\r\n\t\tsameKeys = {};\r\n\t\tfor ( key in name ) {\r\n\t\t\tif ( key !== camelCase( key ) ) {\r\n\t\t\t\tmigrateWarn( \"data-camelCase\",\r\n\t\t\t\t\t\"jQuery.data() always sets/gets camelCased names: \" + key );\r\n\t\t\t\tcurData[ key ] = name[ key ];\r\n\t\t\t} else {\r\n\t\t\t\tsameKeys[ key ] = name[ key ];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\torigData.call( this, elem, sameKeys );\r\n\r\n\t\treturn name;\r\n\t}\r\n\r\n\t// If the name is transformed, look for the un-transformed name in the data object\r\n\tif ( name && typeof name === \"string\" && name !== camelCase( name ) ) {\r\n\r\n\t\tcurData = jQuery.hasData( elem ) && origData.call( this, elem );\r\n\t\tif ( curData && name in curData ) {\r\n\t\t\tmigrateWarn( \"data-camelCase\",\r\n\t\t\t\t\"jQuery.data() always sets/gets camelCased names: \" + name );\r\n\t\t\tif ( arguments.length > 2 ) {\r\n\t\t\t\tcurData[ name ] = value;\r\n\t\t\t}\r\n\t\t\treturn curData[ name ];\r\n\t\t}\r\n\t}\r\n\r\n\treturn origData.apply( this, arguments );\r\n}, \"data-camelCase\" );\r\n\r\n// Support jQuery slim which excludes the effects module\r\nif ( jQuery.fx ) {\r\n\r\nvar intervalValue, intervalMsg,\r\n\toldTweenRun = jQuery.Tween.prototype.run,\r\n\tlinearEasing = function( pct ) {\r\n\t\treturn pct;\r\n\t};\r\n\r\nmigratePatchFunc( jQuery.Tween.prototype, \"run\", function( ) {\r\n\tif ( jQuery.easing[ this.easing ].length > 1 ) {\r\n\t\tmigrateWarn(\r\n\t\t\t\"easing-one-arg\",\r\n\t\t\t\"'jQuery.easing.\" + this.easing.toString() + \"' should use only one argument\"\r\n\t\t);\r\n\r\n\t\tjQuery.easing[ this.easing ] = linearEasing;\r\n\t}\r\n\r\n\toldTweenRun.apply( this, arguments );\r\n}, \"easing-one-arg\" );\r\n\r\nintervalValue = jQuery.fx.interval;\r\nintervalMsg = \"jQuery.fx.interval is deprecated\";\r\n\r\n// Support: IE9, Android <=4.4\r\n// Avoid false positives on browsers that lack rAF\r\n// Don't warn if document is hidden, jQuery uses setTimeout (#292)\r\nif ( window.requestAnimationFrame ) {\r\n\tObject.defineProperty( jQuery.fx, \"interval\", {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: true,\r\n\t\tget: function() {\r\n\t\t\tif ( !window.document.hidden ) {\r\n\t\t\t\tmigrateWarn( \"fx-interval\", intervalMsg );\r\n\t\t\t}\r\n\r\n\t\t\t// Only fallback to the default if patch is enabled\r\n\t\t\tif ( !jQuery.migrateIsPatchEnabled( \"fx-interval\" ) ) {\r\n\t\t\t\treturn intervalValue;\r\n\t\t\t}\r\n\t\t\treturn intervalValue === undefined ? 13 : intervalValue;\r\n\t\t},\r\n\t\tset: function( newValue ) {\r\n\t\t\tmigrateWarn( \"fx-interval\", intervalMsg );\r\n\t\t\tintervalValue = newValue;\r\n\t\t}\r\n\t} );\r\n}\r\n\r\n}\r\n\r\nvar oldLoad = jQuery.fn.load,\r\n\toldEventAdd = jQuery.event.add,\r\n\toriginalFix = jQuery.event.fix;\r\n\r\njQuery.event.props = [];\r\njQuery.event.fixHooks = {};\r\n\r\nmigrateWarnProp( jQuery.event.props, \"concat\", jQuery.event.props.concat,\r\n\t\"event-old-patch\",\r\n\t\"jQuery.event.props.concat() is deprecated and removed\" );\r\n\r\nmigratePatchFunc( jQuery.event, \"fix\", function( originalEvent ) {\r\n\tvar event,\r\n\t\ttype = originalEvent.type,\r\n\t\tfixHook = this.fixHooks[ type ],\r\n\t\tprops = jQuery.event.props;\r\n\r\n\tif ( props.length ) {\r\n\t\tmigrateWarn( \"event-old-patch\",\r\n\t\t\t\"jQuery.event.props are deprecated and removed: \" + props.join() );\r\n\t\twhile ( props.length ) {\r\n\t\t\tjQuery.event.addProp( props.pop() );\r\n\t\t}\r\n\t}\r\n\r\n\tif ( fixHook && !fixHook._migrated_ ) {\r\n\t\tfixHook._migrated_ = true;\r\n\t\tmigrateWarn( \"event-old-patch\",\r\n\t\t\t\"jQuery.event.fixHooks are deprecated and removed: \" + type );\r\n\t\tif ( ( props = fixHook.props ) && props.length ) {\r\n\t\t\twhile ( props.length ) {\r\n\t\t\t\tjQuery.event.addProp( props.pop() );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tevent = originalFix.call( this, originalEvent );\r\n\r\n\treturn fixHook && fixHook.filter ?\r\n\t\tfixHook.filter( event, originalEvent ) :\r\n\t\tevent;\r\n}, \"event-old-patch\" );\r\n\r\nmigratePatchFunc( jQuery.event, \"add\", function( elem, types ) {\r\n\r\n\t// This misses the multiple-types case but that seems awfully rare\r\n\tif ( elem === window && types === \"load\" && window.document.readyState === \"complete\" ) {\r\n\t\tmigrateWarn( \"load-after-event\",\r\n\t\t\t\"jQuery(window).on('load'...) called after load event occurred\" );\r\n\t}\r\n\treturn oldEventAdd.apply( this, arguments );\r\n}, \"load-after-event\" );\r\n\r\njQuery.each( [ \"load\", \"unload\", \"error\" ], function( _, name ) {\r\n\r\n\tmigratePatchFunc( jQuery.fn, name, function() {\r\n\t\tvar args = Array.prototype.slice.call( arguments, 0 );\r\n\r\n\t\t// If this is an ajax load() the first arg should be the string URL;\r\n\t\t// technically this could also be the \"Anything\" arg of the event .load()\r\n\t\t// which just goes to show why this dumb signature has been deprecated!\r\n\t\t// jQuery custom builds that exclude the Ajax module justifiably die here.\r\n\t\tif ( name === \"load\" && typeof args[ 0 ] === \"string\" ) {\r\n\t\t\treturn oldLoad.apply( this, args );\r\n\t\t}\r\n\r\n\t\tmigrateWarn( \"shorthand-removed-v3\",\r\n\t\t\t\"jQuery.fn.\" + name + \"() is deprecated\" );\r\n\r\n\t\targs.splice( 0, 0, name );\r\n\t\tif ( arguments.length ) {\r\n\t\t\treturn this.on.apply( this, args );\r\n\t\t}\r\n\r\n\t\t// Use .triggerHandler here because:\r\n\t\t// - load and unload events don't need to bubble, only applied to window or image\r\n\t\t// - error event should not bubble to window, although it does pre-1.7\r\n\t\t// See http://bugs.jquery.com/ticket/11820\r\n\t\tthis.triggerHandler.apply( this, args );\r\n\t\treturn this;\r\n\t}, \"shorthand-removed-v3\" );\r\n\r\n} );\r\n\r\njQuery.each( ( \"blur focus focusin focusout resize scroll click dblclick \" +\r\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\r\n\t\"change select submit keydown keypress keyup contextmenu\" ).split( \" \" ),\r\n\tfunction( _i, name ) {\r\n\r\n\t// Handle event binding\r\n\tmigratePatchAndWarnFunc( jQuery.fn, name, function( data, fn ) {\r\n\t\treturn arguments.length > 0 ?\r\n\t\t\tthis.on( name, null, data, fn ) :\r\n\t\t\tthis.trigger( name );\r\n\t\t},\r\n\t\t\"shorthand-deprecated-v3\",\r\n\t\t\"jQuery.fn.\" + name + \"() event shorthand is deprecated\" );\r\n} );\r\n\r\n// Trigger \"ready\" event only once, on document ready\r\njQuery( function() {\r\n\tjQuery( window.document ).triggerHandler( \"ready\" );\r\n} );\r\n\r\njQuery.event.special.ready = {\r\n\tsetup: function() {\r\n\t\tif ( this === window.document ) {\r\n\t\t\tmigrateWarn( \"ready-event\", \"'ready' event is deprecated\" );\r\n\t\t}\r\n\t}\r\n};\r\n\r\nmigratePatchAndWarnFunc( jQuery.fn, \"bind\", function( types, data, fn ) {\r\n\treturn this.on( types, null, data, fn );\r\n}, \"pre-on-methods\", \"jQuery.fn.bind() is deprecated\" );\r\nmigratePatchAndWarnFunc( jQuery.fn, \"unbind\", function( types, fn ) {\r\n\treturn this.off( types, null, fn );\r\n}, \"pre-on-methods\", \"jQuery.fn.unbind() is deprecated\" );\r\nmigratePatchAndWarnFunc( jQuery.fn, \"delegate\", function( selector, types, data, fn ) {\r\n\treturn this.on( types, selector, data, fn );\r\n}, \"pre-on-methods\", \"jQuery.fn.delegate() is deprecated\" );\r\nmigratePatchAndWarnFunc( jQuery.fn, \"undelegate\", function( selector, types, fn ) {\r\n\treturn arguments.length === 1 ?\r\n\t\tthis.off( selector, \"**\" ) :\r\n\t\tthis.off( types, selector || \"**\", fn );\r\n}, \"pre-on-methods\", \"jQuery.fn.undelegate() is deprecated\" );\r\nmigratePatchAndWarnFunc( jQuery.fn, \"hover\", function( fnOver, fnOut ) {\r\n\treturn this.on( \"mouseenter\", fnOver ).on( \"mouseleave\", fnOut || fnOver );\r\n}, \"pre-on-methods\", \"jQuery.fn.hover() is deprecated\" );\r\n\r\nvar rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,\r\n\tmakeMarkup = function( html ) {\r\n\t\tvar doc = window.document.implementation.createHTMLDocument( \"\" );\r\n\t\tdoc.body.innerHTML = html;\r\n\t\treturn doc.body && doc.body.innerHTML;\r\n\t},\r\n\twarnIfChanged = function( html ) {\r\n\t\tvar changed = html.replace( rxhtmlTag, \"<$1>\" );\r\n\t\tif ( changed !== html && makeMarkup( html ) !== makeMarkup( changed ) ) {\r\n\t\t\tmigrateWarn( \"self-closed-tags\",\r\n\t\t\t\t\"HTML tags must be properly nested and closed: \" + html );\r\n\t\t}\r\n\t};\r\n\r\n/**\r\n * Deprecated, please use `jQuery.migrateDisablePatches( \"self-closed-tags\" )` instead.\r\n * @deprecated\r\n */\r\njQuery.UNSAFE_restoreLegacyHtmlPrefilter = function() {\r\n\tjQuery.migrateEnablePatches( \"self-closed-tags\" );\r\n};\r\n\r\nmigratePatchFunc( jQuery, \"htmlPrefilter\", function( html ) {\r\n\twarnIfChanged( html );\r\n\treturn html.replace( rxhtmlTag, \"<$1>\" );\r\n}, \"self-closed-tags\" );\r\n\r\n// This patch needs to be disabled by default as it re-introduces\r\n// security issues (CVE-2020-11022, CVE-2020-11023).\r\njQuery.migrateDisablePatches( \"self-closed-tags\" );\r\n\r\nvar origOffset = jQuery.fn.offset;\r\n\r\nmigratePatchFunc( jQuery.fn, \"offset\", function() {\r\n\tvar elem = this[ 0 ];\r\n\r\n\tif ( elem && ( !elem.nodeType || !elem.getBoundingClientRect ) ) {\r\n\t\tmigrateWarn( \"offset-valid-elem\", \"jQuery.fn.offset() requires a valid DOM element\" );\r\n\t\treturn arguments.length ? this : undefined;\r\n\t}\r\n\r\n\treturn origOffset.apply( this, arguments );\r\n}, \"offset-valid-elem\" );\r\n\r\n// Support jQuery slim which excludes the ajax module\r\n// The jQuery.param patch is about respecting `jQuery.ajaxSettings.traditional`\r\n// so it doesn't make sense for the slim build.\r\nif ( jQuery.ajax ) {\r\n\r\nvar origParam = jQuery.param;\r\n\r\nmigratePatchFunc( jQuery, \"param\", function( data, traditional ) {\r\n\tvar ajaxTraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;\r\n\r\n\tif ( traditional === undefined && ajaxTraditional ) {\r\n\r\n\t\tmigrateWarn( \"param-ajax-traditional\",\r\n\t\t\t\"jQuery.param() no longer uses jQuery.ajaxSettings.traditional\" );\r\n\t\ttraditional = ajaxTraditional;\r\n\t}\r\n\r\n\treturn origParam.call( this, data, traditional );\r\n}, \"param-ajax-traditional\" );\r\n\r\n}\r\n\r\nmigratePatchAndWarnFunc( jQuery.fn, \"andSelf\", jQuery.fn.addBack, \"andSelf\",\r\n\t\"jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()\" );\r\n\r\n// Support jQuery slim which excludes the deferred module in jQuery 4.0+\r\nif ( jQuery.Deferred ) {\r\n\r\nvar oldDeferred = jQuery.Deferred,\r\n\ttuples = [\r\n\r\n\t\t// Action, add listener, callbacks, .then handlers, final state\r\n\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\r\n\t\t\tjQuery.Callbacks( \"once memory\" ), \"resolved\" ],\r\n\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\r\n\t\t\tjQuery.Callbacks( \"once memory\" ), \"rejected\" ],\r\n\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\r\n\t\t\tjQuery.Callbacks( \"memory\" ) ]\r\n\t];\r\n\r\nmigratePatchFunc( jQuery, \"Deferred\", function( func ) {\r\n\tvar deferred = oldDeferred(),\r\n\t\tpromise = deferred.promise();\r\n\r\n\tfunction newDeferredPipe( /* fnDone, fnFail, fnProgress */ ) {\r\n\t\tvar fns = arguments;\r\n\r\n\t\treturn jQuery.Deferred( function( newDefer ) {\r\n\t\t\tjQuery.each( tuples, function( i, tuple ) {\r\n\t\t\t\tvar fn = typeof fns[ i ] === \"function\" && fns[ i ];\r\n\r\n\t\t\t\t// Deferred.done(function() { bind to newDefer or newDefer.resolve })\r\n\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\r\n\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\r\n\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\r\n\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\r\n\t\t\t\t\tif ( returned && typeof returned.promise === \"function\" ) {\r\n\t\t\t\t\t\treturned.promise()\r\n\t\t\t\t\t\t\t.done( newDefer.resolve )\r\n\t\t\t\t\t\t\t.fail( newDefer.reject )\r\n\t\t\t\t\t\t\t.progress( newDefer.notify );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\r\n\t\t\t\t\t\t\tthis === promise ? newDefer.promise() : this,\r\n\t\t\t\t\t\t\tfn ? [ returned ] : arguments\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t} );\r\n\t\t\t} );\r\n\t\t\tfns = null;\r\n\t\t} ).promise();\r\n\t}\r\n\r\n\tmigratePatchAndWarnFunc( deferred, \"pipe\", newDeferredPipe, \"deferred-pipe\",\r\n\t\t\"deferred.pipe() is deprecated\" );\r\n\tmigratePatchAndWarnFunc( promise, \"pipe\", newDeferredPipe, \"deferred-pipe\",\r\n\t\t\"deferred.pipe() is deprecated\" );\r\n\r\n\tif ( func ) {\r\n\t\tfunc.call( deferred, deferred );\r\n\t}\r\n\r\n\treturn deferred;\r\n}, \"deferred-pipe\" );\r\n\r\n// Preserve handler of uncaught exceptions in promise chains\r\njQuery.Deferred.exceptionHook = oldDeferred.exceptionHook;\r\n\r\n}\r\n\r\nreturn jQuery;\r\n} );\r\n"],"names":["util","escape","string","replace","parseExtension","mimeType","url","WOFF","JPEG","toLowerCase","dataAsUrl","content","type","isDataUrl","search","canvasToBlob","canvas","toBlob","Promise","resolve","binaryString","window","atob","toDataURL","split","length","binaryArray","Uint8Array","i","charCodeAt","Blob","resolveUrl","baseUrl","doc","document","implementation","createHTMLDocument","base","createElement","head","appendChild","a","body","href","getAndEncode","domtoimage","impl","options","cacheBust","test","Date","getTime","placeholder","request","XMLHttpRequest","onreadystatechange","readyState","status","encoder","FileReader","onloadend","result","readAsDataURL","response","fail","ontimeout","responseType","timeout","open","send","imagePlaceholder","message","console","error","uid","index","Math","random","pow","toString","slice","delay","ms","arg","setTimeout","asArray","arrayLike","array","push","escapeXhtml","makeImage","uri","reject","image","Image","onload","onerror","src","width","node","leftBorder","px","rightBorder","scrollWidth","height","topBorder","bottomBorder","scrollHeight","match","exec","styleProperty","value","getComputedStyle","getPropertyValue","parseFloat","newUtil","inliner","URL_REGEX","inlineAll","get","shouldProcess","then","readUrls","urls","done","forEach","inline","filter","data","dataUrl","RegExp","urlAsRegex","newInliner","fontFaces","resolveAll","readAll","webFonts","all","map","webFont","cssStrings","join","styleSheets","cssRules","sheet","bind","e","log","rule","CSSRule","FONT_FACE_RULE","style","rules","newWebFont","webFontRule","parentStyleSheet","cssText","newFontFaces","images","Element","background","inlined","setProperty","getPropertyPriority","inlineBackground","HTMLImageElement","newImage","childNodes","child","element","newImages","defaultOptions","undefined","toSvg","toPng","draw","toJpeg","quality","toPixelData","getContext","getImageData","copyOptions","cloneNode","embedFonts","inlineImages","clone","bgcolor","backgroundColor","Object","keys","property","setAttribute","XMLSerializer","serializeToString","xhtml","foreignObject","svg","makeSvgDataUri","domNode","ctx","fillStyle","fillRect","newCanvas","drawImage","root","HTMLCanvasElement","original","children","parent","childClone","cloneChildrenInOrder","cloneChildren","source","target","name","copyProperties","className","styleElement","selector","formatCssText","formatCssProperties","createTextNode","formatProperty","formatPseudoElementStyle","clonePseudoElement","HTMLTextAreaElement","innerHTML","HTMLInputElement","SVGElement","SVGRectElement","attribute","getAttribute","processClone","styleNode","module","exports","jQuery","jQueryVersionSince","version","v1","v2","rVersionParts","v1p","v2p","compareVersions","fn","jquery","migrateVersion","disabledPatches","create","migrateDisablePatches","arguments","migrateEnablePatches","migrateIsPatchEnabled","patchCode","migrateWarnings","migrateMute","warnedAbout","migrateWarn","code","msg","migrateDeduplicateWarnings","warn","migrateTrace","trace","migrateWarnProp","obj","prop","defineProperty","configurable","enumerable","set","newValue","migrateWarnFuncInternal","newFunc","origFunc","noop","apply","this","migratePatchAndWarnFunc","Error","migratePatchFunc","migrateReset","compatMode","findProp","class2type","oldInit","init","oldFind","find","rattrHashTest","rattrHashGlob","rtrim","arg1","args","Array","prototype","call","querySelector","err1","_","attr","op","err2","hasOwnProperty","JSON","parse","holdReady","uniqueSort","expr","pseudos","text","elem","nodeName","isArray","isNaN","each","ajax","oldAjax","rjsonp","jQXHR","promise","always","ajaxPrefilter","s","jsonp","contentType","indexOf","oldRemoveAttr","removeAttr","oldToggleClass","toggleClass","rmatchNonSpace","camelCase","letter","toUpperCase","self","patchNeeded","_i","bool","state","origFnCss","internalCssNumber","internalSwapCall","ralphaStart","rautoPx","swap","oldHook","cssHooks","ret","callback","old","Proxy","cssProps","Reflect","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","fontWeight","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","widows","zIndex","zoom","cssNumber","css","camelName","origThis","n","v","origData","curData","sameKeys","key","hasData","fx","intervalValue","intervalMsg","oldTweenRun","Tween","run","linearEasing","pct","easing","interval","requestAnimationFrame","hidden","oldLoad","load","oldEventAdd","event","add","originalFix","fix","props","fixHooks","concat","originalEvent","fixHook","addProp","pop","_migrated_","types","splice","on","triggerHandler","trigger","special","ready","setup","off","fnOver","fnOut","rxhtmlTag","makeMarkup","html","UNSAFE_restoreLegacyHtmlPrefilter","changed","warnIfChanged","origOffset","offset","nodeType","getBoundingClientRect","origParam","param","traditional","ajaxTraditional","ajaxSettings","addBack","Deferred","oldDeferred","tuples","Callbacks","func","deferred","newDeferredPipe","fns","newDefer","tuple","returned","progress","notify","exceptionHook","factory"],"sourceRoot":""}