summaryrefslogtreecommitdiffstats
path: root/web/_static/popperjs/popper-lite.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/_static/popperjs/popper-lite.js')
-rw-r--r--web/_static/popperjs/popper-lite.js1490
1 files changed, 1490 insertions, 0 deletions
diff --git a/web/_static/popperjs/popper-lite.js b/web/_static/popperjs/popper-lite.js
new file mode 100644
index 0000000..274743e
--- /dev/null
+++ b/web/_static/popperjs/popper-lite.js
@@ -0,0 +1,1490 @@
+<!DOCTYPE html><html lang="en"><head><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-140352188-1"></script><script>window.dataLayer = window.dataLayer || [];
+function gtag(){dataLayer.push(arguments);}
+gtag('js', new Date());
+gtag('config', 'UA-140352188-1');</script><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta name="description" content="The CDN for @popperjs/core"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"/><meta name="timestamp" content="2022-06-21T18:50:31.692Z"/><link rel="shortcut icon" href="/favicon.ico"/><title>UNPKG - @popperjs/core</title><script>window.Promise || document.write('\x3Cscript src="/es6-promise@4.2.5/dist/es6-promise.min.js">\x3C/script>\x3Cscript>ES6Promise.polyfill()\x3C/script>')</script><script>window.fetch || document.write('\x3Cscript src="/whatwg-fetch@3.0.0/dist/fetch.umd.js">\x3C/script>')</script><script>window.__DATA__ = {"packageName":"@popperjs/core","packageVersion":"2.11.5","availableVersions":["2.0.0-alpha.1","2.0.0-alpha.2","2.0.0-alpha.3","2.0.0-alpha.4","2.0.0-next.5","2.0.0-next.6","2.0.0-next.7","2.0.0-next.8","2.0.0-next.9","2.0.0-next.10","2.0.0-next.11","2.0.0-next.12","2.0.0-next.13","2.0.0-next.14","2.0.0-next.15","2.0.0-next.16","2.0.0-next.17","2.0.0-rc.1","2.0.0-rc.2","2.0.0-rc.3","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.1.0","2.1.1","2.2.0-bundlephobia.1","2.2.0","2.2.1","2.2.2","2.2.3","2.3.0","2.3.1","2.3.2","2.3.3","2.4.0","2.4.1","2.4.2","2.4.3","2.4.4","2.5.0","2.5.1","2.5.2","2.5.3","2.5.4","2.6.0","2.7.0","2.7.1","2.7.2","2.8.0","2.8.1","2.8.2","2.8.3","2.8.4","2.8.5","2.8.6","2.9.0","2.9.1","2.9.2","2.9.3","2.10.0","2.10.1","2.10.2","2.11.0","2.11.1","2.11.2","2.11.3","2.11.4","2.11.5"],"filename":"/dist/umd/popper-lite.js","target":{"path":"/dist/umd/popper-lite.js","type":"file","details":{"contentType":"application/javascript","integrity":"sha384-9EtJO6f/bFNA+gAbji8gE31IGQyW/EO8Ap+WJ7I1gPS+Ie4QK9ckzPkyAzclZAsJ","language":"JavaScript","size":49614,"uri":null,"highlights":["<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\"> * @popperjs/core v2.11.5 - MIT License\n</span>","<span class=\"code-comment\"> */</span>\n","\n","(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">global, factory</span>) </span>{\n"," <span class=\"code-keyword\">typeof</span> exports === <span class=\"code-string\">'object'</span> &amp;&amp; <span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">module</span> !== <span class=\"code-string\">'undefined'</span> ? factory(exports) :\n"," <span class=\"code-keyword\">typeof</span> define === <span class=\"code-string\">'function'</span> &amp;&amp; define.amd ? define([<span class=\"code-string\">'exports'</span>], factory) :\n"," (global = <span class=\"code-keyword\">typeof</span> globalThis !== <span class=\"code-string\">'undefined'</span> ? globalThis : global || self, factory(global.Popper = {}));\n","}(<span class=\"code-keyword\">this</span>, (<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">exports</span>) </span>{ <span class=\"code-string\">'use strict'</span>;\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getWindow</span>(<span class=\"code-params\">node</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (node == <span class=\"code-literal\">null</span>) {\n"," <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">window</span>;\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (node.toString() !== <span class=\"code-string\">'[object Window]'</span>) {\n"," <span class=\"code-keyword\">var</span> ownerDocument = node.ownerDocument;\n"," <span class=\"code-keyword\">return</span> ownerDocument ? ownerDocument.defaultView || <span class=\"code-built_in\">window</span> : <span class=\"code-built_in\">window</span>;\n"," }\n","\n"," <span class=\"code-keyword\">return</span> node;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isElement</span>(<span class=\"code-params\">node</span>) </span>{\n"," <span class=\"code-keyword\">var</span> OwnElement = getWindow(node).Element;\n"," <span class=\"code-keyword\">return</span> node <span class=\"code-keyword\">instanceof</span> OwnElement || node <span class=\"code-keyword\">instanceof</span> Element;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isHTMLElement</span>(<span class=\"code-params\">node</span>) </span>{\n"," <span class=\"code-keyword\">var</span> OwnElement = getWindow(node).HTMLElement;\n"," <span class=\"code-keyword\">return</span> node <span class=\"code-keyword\">instanceof</span> OwnElement || node <span class=\"code-keyword\">instanceof</span> HTMLElement;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isShadowRoot</span>(<span class=\"code-params\">node</span>) </span>{\n"," <span class=\"code-comment\">// IE 11 has no ShadowRoot</span>\n"," <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> ShadowRoot === <span class=\"code-string\">'undefined'</span>) {\n"," <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n"," }\n","\n"," <span class=\"code-keyword\">var</span> OwnElement = getWindow(node).ShadowRoot;\n"," <span class=\"code-keyword\">return</span> node <span class=\"code-keyword\">instanceof</span> OwnElement || node <span class=\"code-keyword\">instanceof</span> ShadowRoot;\n"," }\n","\n"," <span class=\"code-keyword\">var</span> max = <span class=\"code-built_in\">Math</span>.max;\n"," <span class=\"code-keyword\">var</span> min = <span class=\"code-built_in\">Math</span>.min;\n"," <span class=\"code-keyword\">var</span> round = <span class=\"code-built_in\">Math</span>.round;\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getBoundingClientRect</span>(<span class=\"code-params\">element, includeScale</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (includeScale === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span>) {\n"," includeScale = <span class=\"code-literal\">false</span>;\n"," }\n","\n"," <span class=\"code-keyword\">var</span> rect = element.getBoundingClientRect();\n"," <span class=\"code-keyword\">var</span> scaleX = <span class=\"code-number\">1</span>;\n"," <span class=\"code-keyword\">var</span> scaleY = <span class=\"code-number\">1</span>;\n","\n"," <span class=\"code-keyword\">if</span> (isHTMLElement(element) &amp;&amp; includeScale) {\n"," <span class=\"code-keyword\">var</span> offsetHeight = element.offsetHeight;\n"," <span class=\"code-keyword\">var</span> offsetWidth = element.offsetWidth; <span class=\"code-comment\">// Do not attempt to divide by 0, otherwise we get `Infinity` as scale</span>\n"," <span class=\"code-comment\">// Fallback to 1 in case both values are `0`</span>\n","\n"," <span class=\"code-keyword\">if</span> (offsetWidth &gt; <span class=\"code-number\">0</span>) {\n"," scaleX = round(rect.width) / offsetWidth || <span class=\"code-number\">1</span>;\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (offsetHeight &gt; <span class=\"code-number\">0</span>) {\n"," scaleY = round(rect.height) / offsetHeight || <span class=\"code-number\">1</span>;\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">return</span> {\n"," width: rect.width / scaleX,\n"," height: rect.height / scaleY,\n"," top: rect.top / scaleY,\n"," right: rect.right / scaleX,\n"," bottom: rect.bottom / scaleY,\n"," left: rect.left / scaleX,\n"," x: rect.left / scaleX,\n"," y: rect.top / scaleY\n"," };\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getWindowScroll</span>(<span class=\"code-params\">node</span>) </span>{\n"," <span class=\"code-keyword\">var</span> win = getWindow(node);\n"," <span class=\"code-keyword\">var</span> scrollLeft = win.pageXOffset;\n"," <span class=\"code-keyword\">var</span> scrollTop = win.pageYOffset;\n"," <span class=\"code-keyword\">return</span> {\n"," scrollLeft: scrollLeft,\n"," scrollTop: scrollTop\n"," };\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getHTMLElementScroll</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">return</span> {\n"," scrollLeft: element.scrollLeft,\n"," scrollTop: element.scrollTop\n"," };\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getNodeScroll</span>(<span class=\"code-params\">node</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (node === getWindow(node) || !isHTMLElement(node)) {\n"," <span class=\"code-keyword\">return</span> getWindowScroll(node);\n"," } <span class=\"code-keyword\">else</span> {\n"," <span class=\"code-keyword\">return</span> getHTMLElementScroll(node);\n"," }\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getNodeName</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">return</span> element ? (element.nodeName || <span class=\"code-string\">''</span>).toLowerCase() : <span class=\"code-literal\">null</span>;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getDocumentElement</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-comment\">// $FlowFixMe[incompatible-return]: assume body is always available</span>\n"," <span class=\"code-keyword\">return</span> ((isElement(element) ? element.ownerDocument : <span class=\"code-comment\">// $FlowFixMe[prop-missing]</span>\n"," element.document) || <span class=\"code-built_in\">window</span>.document).documentElement;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getWindowScrollBarX</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-comment\">// If &lt;html&gt; has a CSS width greater than the viewport, then this will be</span>\n"," <span class=\"code-comment\">// incorrect for RTL.</span>\n"," <span class=\"code-comment\">// Popper 1 is broken in this case and never had a bug report so let's assume</span>\n"," <span class=\"code-comment\">// it's not an issue. I don't think anyone ever specifies width on &lt;html&gt;</span>\n"," <span class=\"code-comment\">// anyway.</span>\n"," <span class=\"code-comment\">// Browsers where the left scrollbar doesn't cause an issue report `0` for</span>\n"," <span class=\"code-comment\">// this (e.g. Edge 2019, IE11, Safari)</span>\n"," <span class=\"code-keyword\">return</span> getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getComputedStyle</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">return</span> getWindow(element).getComputedStyle(element);\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isScrollParent</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-comment\">// Firefox wants us to check `-x` and `-y` variations as well</span>\n"," <span class=\"code-keyword\">var</span> _getComputedStyle = getComputedStyle(element),\n"," overflow = _getComputedStyle.overflow,\n"," overflowX = _getComputedStyle.overflowX,\n"," overflowY = _getComputedStyle.overflowY;\n","\n"," <span class=\"code-keyword\">return</span> <span class=\"code-regexp\">/auto|scroll|overlay|hidden/</span>.test(overflow + overflowY + overflowX);\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isElementScaled</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">var</span> rect = element.getBoundingClientRect();\n"," <span class=\"code-keyword\">var</span> scaleX = round(rect.width) / element.offsetWidth || <span class=\"code-number\">1</span>;\n"," <span class=\"code-keyword\">var</span> scaleY = round(rect.height) / element.offsetHeight || <span class=\"code-number\">1</span>;\n"," <span class=\"code-keyword\">return</span> scaleX !== <span class=\"code-number\">1</span> || scaleY !== <span class=\"code-number\">1</span>;\n"," } <span class=\"code-comment\">// Returns the composite rect of an element relative to its offsetParent.</span>\n"," <span class=\"code-comment\">// Composite means it takes into account transforms as well as layout.</span>\n","\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getCompositeRect</span>(<span class=\"code-params\">elementOrVirtualElement, offsetParent, isFixed</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (isFixed === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span>) {\n"," isFixed = <span class=\"code-literal\">false</span>;\n"," }\n","\n"," <span class=\"code-keyword\">var</span> isOffsetParentAnElement = isHTMLElement(offsetParent);\n"," <span class=\"code-keyword\">var</span> offsetParentIsScaled = isHTMLElement(offsetParent) &amp;&amp; isElementScaled(offsetParent);\n"," <span class=\"code-keyword\">var</span> documentElement = getDocumentElement(offsetParent);\n"," <span class=\"code-keyword\">var</span> rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);\n"," <span class=\"code-keyword\">var</span> scroll = {\n"," scrollLeft: <span class=\"code-number\">0</span>,\n"," scrollTop: <span class=\"code-number\">0</span>\n"," };\n"," <span class=\"code-keyword\">var</span> offsets = {\n"," x: <span class=\"code-number\">0</span>,\n"," y: <span class=\"code-number\">0</span>\n"," };\n","\n"," <span class=\"code-keyword\">if</span> (isOffsetParentAnElement || !isOffsetParentAnElement &amp;&amp; !isFixed) {\n"," <span class=\"code-keyword\">if</span> (getNodeName(offsetParent) !== <span class=\"code-string\">'body'</span> || <span class=\"code-comment\">// https://github.com/popperjs/popper-core/issues/1078</span>\n"," isScrollParent(documentElement)) {\n"," scroll = getNodeScroll(offsetParent);\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (isHTMLElement(offsetParent)) {\n"," offsets = getBoundingClientRect(offsetParent, <span class=\"code-literal\">true</span>);\n"," offsets.x += offsetParent.clientLeft;\n"," offsets.y += offsetParent.clientTop;\n"," } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (documentElement) {\n"," offsets.x = getWindowScrollBarX(documentElement);\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">return</span> {\n"," x: rect.left + scroll.scrollLeft - offsets.x,\n"," y: rect.top + scroll.scrollTop - offsets.y,\n"," width: rect.width,\n"," height: rect.height\n"," };\n"," }\n","\n"," <span class=\"code-comment\">// means it doesn't take into account transforms.</span>\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getLayoutRect</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">var</span> clientRect = getBoundingClientRect(element); <span class=\"code-comment\">// Use the clientRect sizes if it's not been transformed.</span>\n"," <span class=\"code-comment\">// Fixes https://github.com/popperjs/popper-core/issues/1223</span>\n","\n"," <span class=\"code-keyword\">var</span> width = element.offsetWidth;\n"," <span class=\"code-keyword\">var</span> height = element.offsetHeight;\n","\n"," <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Math</span>.abs(clientRect.width - width) &lt;= <span class=\"code-number\">1</span>) {\n"," width = clientRect.width;\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Math</span>.abs(clientRect.height - height) &lt;= <span class=\"code-number\">1</span>) {\n"," height = clientRect.height;\n"," }\n","\n"," <span class=\"code-keyword\">return</span> {\n"," x: element.offsetLeft,\n"," y: element.offsetTop,\n"," width: width,\n"," height: height\n"," };\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getParentNode</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (getNodeName(element) === <span class=\"code-string\">'html'</span>) {\n"," <span class=\"code-keyword\">return</span> element;\n"," }\n","\n"," <span class=\"code-keyword\">return</span> (<span class=\"code-comment\">// this is a quicker (but less type safe) way to save quite some bytes from the bundle</span>\n"," <span class=\"code-comment\">// $FlowFixMe[incompatible-return]</span>\n"," <span class=\"code-comment\">// $FlowFixMe[prop-missing]</span>\n"," element.assignedSlot || <span class=\"code-comment\">// step into the shadow DOM of the parent of a slotted node</span>\n"," element.parentNode || ( <span class=\"code-comment\">// DOM Element detected</span>\n"," isShadowRoot(element) ? element.host : <span class=\"code-literal\">null</span>) || <span class=\"code-comment\">// ShadowRoot detected</span>\n"," <span class=\"code-comment\">// $FlowFixMe[incompatible-call]: HTMLElement is a Node</span>\n"," getDocumentElement(element) <span class=\"code-comment\">// fallback</span>\n","\n"," );\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getScrollParent</span>(<span class=\"code-params\">node</span>) </span>{\n"," <span class=\"code-keyword\">if</span> ([<span class=\"code-string\">'html'</span>, <span class=\"code-string\">'body'</span>, <span class=\"code-string\">'#document'</span>].indexOf(getNodeName(node)) &gt;= <span class=\"code-number\">0</span>) {\n"," <span class=\"code-comment\">// $FlowFixMe[incompatible-return]: assume body is always available</span>\n"," <span class=\"code-keyword\">return</span> node.ownerDocument.body;\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (isHTMLElement(node) &amp;&amp; isScrollParent(node)) {\n"," <span class=\"code-keyword\">return</span> node;\n"," }\n","\n"," <span class=\"code-keyword\">return</span> getScrollParent(getParentNode(node));\n"," }\n","\n"," <span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\"> given a DOM element, return the list of all scroll parents, up the list of ancesors\n</span>","<span class=\"code-comment\"> until we get to the top window object. This list is what we attach scroll listeners\n</span>","<span class=\"code-comment\"> to, because if any of these parent elements scroll, we'll need to re-calculate the\n</span>","<span class=\"code-comment\"> reference element's position.\n</span>","<span class=\"code-comment\"> */</span>\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">listScrollParents</span>(<span class=\"code-params\">element, list</span>) </span>{\n"," <span class=\"code-keyword\">var</span> _element$ownerDocumen;\n","\n"," <span class=\"code-keyword\">if</span> (list === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span>) {\n"," list = [];\n"," }\n","\n"," <span class=\"code-keyword\">var</span> scrollParent = getScrollParent(element);\n"," <span class=\"code-keyword\">var</span> isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == <span class=\"code-literal\">null</span> ? <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> : _element$ownerDocumen.body);\n"," <span class=\"code-keyword\">var</span> win = getWindow(scrollParent);\n"," <span class=\"code-keyword\">var</span> target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n"," <span class=\"code-keyword\">var</span> updatedList = list.concat(target);\n"," <span class=\"code-keyword\">return</span> isBody ? updatedList : <span class=\"code-comment\">// $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here</span>\n"," updatedList.concat(listScrollParents(getParentNode(target)));\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isTableElement</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">return</span> [<span class=\"code-string\">'table'</span>, <span class=\"code-string\">'td'</span>, <span class=\"code-string\">'th'</span>].indexOf(getNodeName(element)) &gt;= <span class=\"code-number\">0</span>;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getTrueOffsetParent</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (!isHTMLElement(element) || <span class=\"code-comment\">// https://github.com/popperjs/popper-core/issues/837</span>\n"," getComputedStyle(element).position === <span class=\"code-string\">'fixed'</span>) {\n"," <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n"," }\n","\n"," <span class=\"code-keyword\">return</span> element.offsetParent;\n"," } <span class=\"code-comment\">// `.offsetParent` reports `null` for fixed elements, while absolute elements</span>\n"," <span class=\"code-comment\">// return the containing block</span>\n","\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getContainingBlock</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">var</span> isFirefox = navigator.userAgent.toLowerCase().indexOf(<span class=\"code-string\">'firefox'</span>) !== <span class=\"code-number\">-1</span>;\n"," <span class=\"code-keyword\">var</span> isIE = navigator.userAgent.indexOf(<span class=\"code-string\">'Trident'</span>) !== <span class=\"code-number\">-1</span>;\n","\n"," <span class=\"code-keyword\">if</span> (isIE &amp;&amp; isHTMLElement(element)) {\n"," <span class=\"code-comment\">// In IE 9, 10 and 11 fixed elements containing block is always established by the viewport</span>\n"," <span class=\"code-keyword\">var</span> elementCss = getComputedStyle(element);\n","\n"," <span class=\"code-keyword\">if</span> (elementCss.position === <span class=\"code-string\">'fixed'</span>) {\n"," <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">var</span> currentNode = getParentNode(element);\n","\n"," <span class=\"code-keyword\">if</span> (isShadowRoot(currentNode)) {\n"," currentNode = currentNode.host;\n"," }\n","\n"," <span class=\"code-keyword\">while</span> (isHTMLElement(currentNode) &amp;&amp; [<span class=\"code-string\">'html'</span>, <span class=\"code-string\">'body'</span>].indexOf(getNodeName(currentNode)) &lt; <span class=\"code-number\">0</span>) {\n"," <span class=\"code-keyword\">var</span> css = getComputedStyle(currentNode); <span class=\"code-comment\">// This is non-exhaustive but covers the most common CSS properties that</span>\n"," <span class=\"code-comment\">// create a containing block.</span>\n"," <span class=\"code-comment\">// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block</span>\n","\n"," <span class=\"code-keyword\">if</span> (css.transform !== <span class=\"code-string\">'none'</span> || css.perspective !== <span class=\"code-string\">'none'</span> || css.contain === <span class=\"code-string\">'paint'</span> || [<span class=\"code-string\">'transform'</span>, <span class=\"code-string\">'perspective'</span>].indexOf(css.willChange) !== <span class=\"code-number\">-1</span> || isFirefox &amp;&amp; css.willChange === <span class=\"code-string\">'filter'</span> || isFirefox &amp;&amp; css.filter &amp;&amp; css.filter !== <span class=\"code-string\">'none'</span>) {\n"," <span class=\"code-keyword\">return</span> currentNode;\n"," } <span class=\"code-keyword\">else</span> {\n"," currentNode = currentNode.parentNode;\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n"," } <span class=\"code-comment\">// Gets the closest ancestor positioned element. Handles some edge cases,</span>\n"," <span class=\"code-comment\">// such as table ancestors and cross browser bugs.</span>\n","\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getOffsetParent</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">var</span> <span class=\"code-built_in\">window</span> = getWindow(element);\n"," <span class=\"code-keyword\">var</span> offsetParent = getTrueOffsetParent(element);\n","\n"," <span class=\"code-keyword\">while</span> (offsetParent &amp;&amp; isTableElement(offsetParent) &amp;&amp; getComputedStyle(offsetParent).position === <span class=\"code-string\">'static'</span>) {\n"," offsetParent = getTrueOffsetParent(offsetParent);\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (offsetParent &amp;&amp; (getNodeName(offsetParent) === <span class=\"code-string\">'html'</span> || getNodeName(offsetParent) === <span class=\"code-string\">'body'</span> &amp;&amp; getComputedStyle(offsetParent).position === <span class=\"code-string\">'static'</span>)) {\n"," <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">window</span>;\n"," }\n","\n"," <span class=\"code-keyword\">return</span> offsetParent || getContainingBlock(element) || <span class=\"code-built_in\">window</span>;\n"," }\n","\n"," <span class=\"code-keyword\">var</span> top = <span class=\"code-string\">'top'</span>;\n"," <span class=\"code-keyword\">var</span> bottom = <span class=\"code-string\">'bottom'</span>;\n"," <span class=\"code-keyword\">var</span> right = <span class=\"code-string\">'right'</span>;\n"," <span class=\"code-keyword\">var</span> left = <span class=\"code-string\">'left'</span>;\n"," <span class=\"code-keyword\">var</span> auto = <span class=\"code-string\">'auto'</span>;\n"," <span class=\"code-keyword\">var</span> basePlacements = [top, bottom, right, left];\n"," <span class=\"code-keyword\">var</span> start = <span class=\"code-string\">'start'</span>;\n"," <span class=\"code-keyword\">var</span> end = <span class=\"code-string\">'end'</span>;\n"," <span class=\"code-keyword\">var</span> clippingParents = <span class=\"code-string\">'clippingParents'</span>;\n"," <span class=\"code-keyword\">var</span> viewport = <span class=\"code-string\">'viewport'</span>;\n"," <span class=\"code-keyword\">var</span> popper = <span class=\"code-string\">'popper'</span>;\n"," <span class=\"code-keyword\">var</span> reference = <span class=\"code-string\">'reference'</span>;\n","\n"," <span class=\"code-keyword\">var</span> beforeRead = <span class=\"code-string\">'beforeRead'</span>;\n"," <span class=\"code-keyword\">var</span> read = <span class=\"code-string\">'read'</span>;\n"," <span class=\"code-keyword\">var</span> afterRead = <span class=\"code-string\">'afterRead'</span>; <span class=\"code-comment\">// pure-logic modifiers</span>\n","\n"," <span class=\"code-keyword\">var</span> beforeMain = <span class=\"code-string\">'beforeMain'</span>;\n"," <span class=\"code-keyword\">var</span> main = <span class=\"code-string\">'main'</span>;\n"," <span class=\"code-keyword\">var</span> afterMain = <span class=\"code-string\">'afterMain'</span>; <span class=\"code-comment\">// modifier with the purpose to write to the DOM (or write into a framework state)</span>\n","\n"," <span class=\"code-keyword\">var</span> beforeWrite = <span class=\"code-string\">'beforeWrite'</span>;\n"," <span class=\"code-keyword\">var</span> write = <span class=\"code-string\">'write'</span>;\n"," <span class=\"code-keyword\">var</span> afterWrite = <span class=\"code-string\">'afterWrite'</span>;\n"," <span class=\"code-keyword\">var</span> modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">order</span>(<span class=\"code-params\">modifiers</span>) </span>{\n"," <span class=\"code-keyword\">var</span> map = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Map</span>();\n"," <span class=\"code-keyword\">var</span> visited = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Set</span>();\n"," <span class=\"code-keyword\">var</span> result = [];\n"," modifiers.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">modifier</span>) </span>{\n"," map.set(modifier.name, modifier);\n"," }); <span class=\"code-comment\">// On visiting object, check for its dependencies and visit them recursively</span>\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">sort</span>(<span class=\"code-params\">modifier</span>) </span>{\n"," visited.add(modifier.name);\n"," <span class=\"code-keyword\">var</span> requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n"," requires.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">dep</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (!visited.has(dep)) {\n"," <span class=\"code-keyword\">var</span> depModifier = map.get(dep);\n","\n"," <span class=\"code-keyword\">if</span> (depModifier) {\n"," sort(depModifier);\n"," }\n"," }\n"," });\n"," result.push(modifier);\n"," }\n","\n"," modifiers.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">modifier</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (!visited.has(modifier.name)) {\n"," <span class=\"code-comment\">// check for visited object</span>\n"," sort(modifier);\n"," }\n"," });\n"," <span class=\"code-keyword\">return</span> result;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">orderModifiers</span>(<span class=\"code-params\">modifiers</span>) </span>{\n"," <span class=\"code-comment\">// order based on dependencies</span>\n"," <span class=\"code-keyword\">var</span> orderedModifiers = order(modifiers); <span class=\"code-comment\">// order based on phase</span>\n","\n"," <span class=\"code-keyword\">return</span> modifierPhases.reduce(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">acc, phase</span>) </span>{\n"," <span class=\"code-keyword\">return</span> acc.concat(orderedModifiers.filter(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">modifier</span>) </span>{\n"," <span class=\"code-keyword\">return</span> modifier.phase === phase;\n"," }));\n"," }, []);\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">debounce</span>(<span class=\"code-params\">fn</span>) </span>{\n"," <span class=\"code-keyword\">var</span> pending;\n"," <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n"," <span class=\"code-keyword\">if</span> (!pending) {\n"," pending = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Promise</span>(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">resolve</span>) </span>{\n"," <span class=\"code-built_in\">Promise</span>.resolve().then(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n"," pending = <span class=\"code-literal\">undefined</span>;\n"," resolve(fn());\n"," });\n"," });\n"," }\n","\n"," <span class=\"code-keyword\">return</span> pending;\n"," };\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">format</span>(<span class=\"code-params\">str</span>) </span>{\n"," <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> _len = <span class=\"code-built_in\">arguments</span>.length, args = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(_len &gt; <span class=\"code-number\">1</span> ? _len - <span class=\"code-number\">1</span> : <span class=\"code-number\">0</span>), _key = <span class=\"code-number\">1</span>; _key &lt; _len; _key++) {\n"," args[_key - <span class=\"code-number\">1</span>] = <span class=\"code-built_in\">arguments</span>[_key];\n"," }\n","\n"," <span class=\"code-keyword\">return</span> [].concat(args).reduce(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">p, c</span>) </span>{\n"," <span class=\"code-keyword\">return</span> p.replace(<span class=\"code-regexp\">/%s/</span>, c);\n"," }, str);\n"," }\n","\n"," <span class=\"code-keyword\">var</span> INVALID_MODIFIER_ERROR = <span class=\"code-string\">'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s'</span>;\n"," <span class=\"code-keyword\">var</span> MISSING_DEPENDENCY_ERROR = <span class=\"code-string\">'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available'</span>;\n"," <span class=\"code-keyword\">var</span> VALID_PROPERTIES = [<span class=\"code-string\">'name'</span>, <span class=\"code-string\">'enabled'</span>, <span class=\"code-string\">'phase'</span>, <span class=\"code-string\">'fn'</span>, <span class=\"code-string\">'effect'</span>, <span class=\"code-string\">'requires'</span>, <span class=\"code-string\">'options'</span>];\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">validateModifiers</span>(<span class=\"code-params\">modifiers</span>) </span>{\n"," modifiers.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">modifier</span>) </span>{\n"," [].concat(<span class=\"code-built_in\">Object</span>.keys(modifier), VALID_PROPERTIES) <span class=\"code-comment\">// IE11-compatible replacement for `new Set(iterable)`</span>\n"," .filter(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value, index, self</span>) </span>{\n"," <span class=\"code-keyword\">return</span> self.indexOf(value) === index;\n"," }).forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">key</span>) </span>{\n"," <span class=\"code-keyword\">switch</span> (key) {\n"," <span class=\"code-keyword\">case</span> <span class=\"code-string\">'name'</span>:\n"," <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> modifier.name !== <span class=\"code-string\">'string'</span>) {\n"," <span class=\"code-built_in\">console</span>.error(format(INVALID_MODIFIER_ERROR, <span class=\"code-built_in\">String</span>(modifier.name), <span class=\"code-string\">'\"name\"'</span>, <span class=\"code-string\">'\"string\"'</span>, <span class=\"code-string\">\"\\\"\"</span> + <span class=\"code-built_in\">String</span>(modifier.name) + <span class=\"code-string\">\"\\\"\"</span>));\n"," }\n","\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> <span class=\"code-string\">'enabled'</span>:\n"," <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> modifier.enabled !== <span class=\"code-string\">'boolean'</span>) {\n"," <span class=\"code-built_in\">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class=\"code-string\">'\"enabled\"'</span>, <span class=\"code-string\">'\"boolean\"'</span>, <span class=\"code-string\">\"\\\"\"</span> + <span class=\"code-built_in\">String</span>(modifier.enabled) + <span class=\"code-string\">\"\\\"\"</span>));\n"," }\n","\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> <span class=\"code-string\">'phase'</span>:\n"," <span class=\"code-keyword\">if</span> (modifierPhases.indexOf(modifier.phase) &lt; <span class=\"code-number\">0</span>) {\n"," <span class=\"code-built_in\">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class=\"code-string\">'\"phase\"'</span>, <span class=\"code-string\">\"either \"</span> + modifierPhases.join(<span class=\"code-string\">', '</span>), <span class=\"code-string\">\"\\\"\"</span> + <span class=\"code-built_in\">String</span>(modifier.phase) + <span class=\"code-string\">\"\\\"\"</span>));\n"," }\n","\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> <span class=\"code-string\">'fn'</span>:\n"," <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> modifier.fn !== <span class=\"code-string\">'function'</span>) {\n"," <span class=\"code-built_in\">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class=\"code-string\">'\"fn\"'</span>, <span class=\"code-string\">'\"function\"'</span>, <span class=\"code-string\">\"\\\"\"</span> + <span class=\"code-built_in\">String</span>(modifier.fn) + <span class=\"code-string\">\"\\\"\"</span>));\n"," }\n","\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> <span class=\"code-string\">'effect'</span>:\n"," <span class=\"code-keyword\">if</span> (modifier.effect != <span class=\"code-literal\">null</span> &amp;&amp; <span class=\"code-keyword\">typeof</span> modifier.effect !== <span class=\"code-string\">'function'</span>) {\n"," <span class=\"code-built_in\">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class=\"code-string\">'\"effect\"'</span>, <span class=\"code-string\">'\"function\"'</span>, <span class=\"code-string\">\"\\\"\"</span> + <span class=\"code-built_in\">String</span>(modifier.fn) + <span class=\"code-string\">\"\\\"\"</span>));\n"," }\n","\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> <span class=\"code-string\">'requires'</span>:\n"," <span class=\"code-keyword\">if</span> (modifier.requires != <span class=\"code-literal\">null</span> &amp;&amp; !<span class=\"code-built_in\">Array</span>.isArray(modifier.requires)) {\n"," <span class=\"code-built_in\">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class=\"code-string\">'\"requires\"'</span>, <span class=\"code-string\">'\"array\"'</span>, <span class=\"code-string\">\"\\\"\"</span> + <span class=\"code-built_in\">String</span>(modifier.requires) + <span class=\"code-string\">\"\\\"\"</span>));\n"," }\n","\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> <span class=\"code-string\">'requiresIfExists'</span>:\n"," <span class=\"code-keyword\">if</span> (!<span class=\"code-built_in\">Array</span>.isArray(modifier.requiresIfExists)) {\n"," <span class=\"code-built_in\">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class=\"code-string\">'\"requiresIfExists\"'</span>, <span class=\"code-string\">'\"array\"'</span>, <span class=\"code-string\">\"\\\"\"</span> + <span class=\"code-built_in\">String</span>(modifier.requiresIfExists) + <span class=\"code-string\">\"\\\"\"</span>));\n"," }\n","\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> <span class=\"code-string\">'options'</span>:\n"," <span class=\"code-keyword\">case</span> <span class=\"code-string\">'data'</span>:\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">default</span>:\n"," <span class=\"code-built_in\">console</span>.error(<span class=\"code-string\">\"PopperJS: an invalid property has been provided to the \\\"\"</span> + modifier.name + <span class=\"code-string\">\"\\\" modifier, valid properties are \"</span> + VALID_PROPERTIES.map(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">s</span>) </span>{\n"," <span class=\"code-keyword\">return</span> <span class=\"code-string\">\"\\\"\"</span> + s + <span class=\"code-string\">\"\\\"\"</span>;\n"," }).join(<span class=\"code-string\">', '</span>) + <span class=\"code-string\">\"; but \\\"\"</span> + key + <span class=\"code-string\">\"\\\" was provided.\"</span>);\n"," }\n","\n"," modifier.requires &amp;&amp; modifier.requires.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">requirement</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (modifiers.find(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">mod</span>) </span>{\n"," <span class=\"code-keyword\">return</span> mod.name === requirement;\n"," }) == <span class=\"code-literal\">null</span>) {\n"," <span class=\"code-built_in\">console</span>.error(format(MISSING_DEPENDENCY_ERROR, <span class=\"code-built_in\">String</span>(modifier.name), requirement, requirement));\n"," }\n"," });\n"," });\n"," });\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">uniqueBy</span>(<span class=\"code-params\">arr, fn</span>) </span>{\n"," <span class=\"code-keyword\">var</span> identifiers = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Set</span>();\n"," <span class=\"code-keyword\">return</span> arr.filter(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">item</span>) </span>{\n"," <span class=\"code-keyword\">var</span> identifier = fn(item);\n","\n"," <span class=\"code-keyword\">if</span> (!identifiers.has(identifier)) {\n"," identifiers.add(identifier);\n"," <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n"," }\n"," });\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getBasePlacement</span>(<span class=\"code-params\">placement</span>) </span>{\n"," <span class=\"code-keyword\">return</span> placement.split(<span class=\"code-string\">'-'</span>)[<span class=\"code-number\">0</span>];\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">mergeByName</span>(<span class=\"code-params\">modifiers</span>) </span>{\n"," <span class=\"code-keyword\">var</span> merged = modifiers.reduce(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">merged, current</span>) </span>{\n"," <span class=\"code-keyword\">var</span> existing = merged[current.name];\n"," merged[current.name] = existing ? <span class=\"code-built_in\">Object</span>.assign({}, existing, current, {\n"," options: <span class=\"code-built_in\">Object</span>.assign({}, existing.options, current.options),\n"," data: <span class=\"code-built_in\">Object</span>.assign({}, existing.data, current.data)\n"," }) : current;\n"," <span class=\"code-keyword\">return</span> merged;\n"," }, {}); <span class=\"code-comment\">// IE11 does not support Object.values</span>\n","\n"," <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Object</span>.keys(merged).map(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">key</span>) </span>{\n"," <span class=\"code-keyword\">return</span> merged[key];\n"," });\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getViewportRect</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">var</span> win = getWindow(element);\n"," <span class=\"code-keyword\">var</span> html = getDocumentElement(element);\n"," <span class=\"code-keyword\">var</span> visualViewport = win.visualViewport;\n"," <span class=\"code-keyword\">var</span> width = html.clientWidth;\n"," <span class=\"code-keyword\">var</span> height = html.clientHeight;\n"," <span class=\"code-keyword\">var</span> x = <span class=\"code-number\">0</span>;\n"," <span class=\"code-keyword\">var</span> y = <span class=\"code-number\">0</span>; <span class=\"code-comment\">// NB: This isn't supported on iOS &lt;= 12. If the keyboard is open, the popper</span>\n"," <span class=\"code-comment\">// can be obscured underneath it.</span>\n"," <span class=\"code-comment\">// Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even</span>\n"," <span class=\"code-comment\">// if it isn't open, so if this isn't available, the popper will be detected</span>\n"," <span class=\"code-comment\">// to overflow the bottom of the screen too early.</span>\n","\n"," <span class=\"code-keyword\">if</span> (visualViewport) {\n"," width = visualViewport.width;\n"," height = visualViewport.height; <span class=\"code-comment\">// Uses Layout Viewport (like Chrome; Safari does not currently)</span>\n"," <span class=\"code-comment\">// In Chrome, it returns a value very close to 0 (+/-) but contains rounding</span>\n"," <span class=\"code-comment\">// errors due to floating point numbers, so we need to check precision.</span>\n"," <span class=\"code-comment\">// Safari returns a number &lt;= 0, usually &lt; -1 when pinch-zoomed</span>\n"," <span class=\"code-comment\">// Feature detection fails in mobile emulation mode in Chrome.</span>\n"," <span class=\"code-comment\">// Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) &lt;</span>\n"," <span class=\"code-comment\">// 0.001</span>\n"," <span class=\"code-comment\">// Fallback here: \"Not Safari\" userAgent</span>\n","\n"," <span class=\"code-keyword\">if</span> (!<span class=\"code-regexp\">/^((?!chrome|android).)*safari/i</span>.test(navigator.userAgent)) {\n"," x = visualViewport.offsetLeft;\n"," y = visualViewport.offsetTop;\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">return</span> {\n"," width: width,\n"," height: height,\n"," x: x + getWindowScrollBarX(element),\n"," y: y\n"," };\n"," }\n","\n"," <span class=\"code-comment\">// of the `&lt;html&gt;` and `&lt;body&gt;` rect bounds if horizontally scrollable</span>\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getDocumentRect</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">var</span> _element$ownerDocumen;\n","\n"," <span class=\"code-keyword\">var</span> html = getDocumentElement(element);\n"," <span class=\"code-keyword\">var</span> winScroll = getWindowScroll(element);\n"," <span class=\"code-keyword\">var</span> body = (_element$ownerDocumen = element.ownerDocument) == <span class=\"code-literal\">null</span> ? <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> : _element$ownerDocumen.body;\n"," <span class=\"code-keyword\">var</span> width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : <span class=\"code-number\">0</span>, body ? body.clientWidth : <span class=\"code-number\">0</span>);\n"," <span class=\"code-keyword\">var</span> height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : <span class=\"code-number\">0</span>, body ? body.clientHeight : <span class=\"code-number\">0</span>);\n"," <span class=\"code-keyword\">var</span> x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n"," <span class=\"code-keyword\">var</span> y = -winScroll.scrollTop;\n","\n"," <span class=\"code-keyword\">if</span> (getComputedStyle(body || html).direction === <span class=\"code-string\">'rtl'</span>) {\n"," x += max(html.clientWidth, body ? body.clientWidth : <span class=\"code-number\">0</span>) - width;\n"," }\n","\n"," <span class=\"code-keyword\">return</span> {\n"," width: width,\n"," height: height,\n"," x: x,\n"," y: y\n"," };\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">contains</span>(<span class=\"code-params\">parent, child</span>) </span>{\n"," <span class=\"code-keyword\">var</span> rootNode = child.getRootNode &amp;&amp; child.getRootNode(); <span class=\"code-comment\">// First, attempt with faster native method</span>\n","\n"," <span class=\"code-keyword\">if</span> (parent.contains(child)) {\n"," <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n"," } <span class=\"code-comment\">// then fallback to custom implementation with Shadow DOM support</span>\n"," <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (rootNode &amp;&amp; isShadowRoot(rootNode)) {\n"," <span class=\"code-keyword\">var</span> next = child;\n","\n"," <span class=\"code-keyword\">do</span> {\n"," <span class=\"code-keyword\">if</span> (next &amp;&amp; parent.isSameNode(next)) {\n"," <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n"," } <span class=\"code-comment\">// $FlowFixMe[prop-missing]: need a better way to handle this...</span>\n","\n","\n"," next = next.parentNode || next.host;\n"," } <span class=\"code-keyword\">while</span> (next);\n"," } <span class=\"code-comment\">// Give up, the result is false</span>\n","\n","\n"," <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">rectToClientRect</span>(<span class=\"code-params\">rect</span>) </span>{\n"," <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Object</span>.assign({}, rect, {\n"," left: rect.x,\n"," top: rect.y,\n"," right: rect.x + rect.width,\n"," bottom: rect.y + rect.height\n"," });\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getInnerBoundingClientRect</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">var</span> rect = getBoundingClientRect(element);\n"," rect.top = rect.top + element.clientTop;\n"," rect.left = rect.left + element.clientLeft;\n"," rect.bottom = rect.top + element.clientHeight;\n"," rect.right = rect.left + element.clientWidth;\n"," rect.width = element.clientWidth;\n"," rect.height = element.clientHeight;\n"," rect.x = rect.left;\n"," rect.y = rect.top;\n"," <span class=\"code-keyword\">return</span> rect;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getClientRectFromMixedType</span>(<span class=\"code-params\">element, clippingParent</span>) </span>{\n"," <span class=\"code-keyword\">return</span> clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n"," } <span class=\"code-comment\">// A \"clipping parent\" is an overflowable container with the characteristic of</span>\n"," <span class=\"code-comment\">// clipping (or hiding) overflowing elements with a position different from</span>\n"," <span class=\"code-comment\">// `initial`</span>\n","\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getClippingParents</span>(<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">var</span> clippingParents = listScrollParents(getParentNode(element));\n"," <span class=\"code-keyword\">var</span> canEscapeClipping = [<span class=\"code-string\">'absolute'</span>, <span class=\"code-string\">'fixed'</span>].indexOf(getComputedStyle(element).position) &gt;= <span class=\"code-number\">0</span>;\n"," <span class=\"code-keyword\">var</span> clipperElement = canEscapeClipping &amp;&amp; isHTMLElement(element) ? getOffsetParent(element) : element;\n","\n"," <span class=\"code-keyword\">if</span> (!isElement(clipperElement)) {\n"," <span class=\"code-keyword\">return</span> [];\n"," } <span class=\"code-comment\">// $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414</span>\n","\n","\n"," <span class=\"code-keyword\">return</span> clippingParents.filter(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">clippingParent</span>) </span>{\n"," <span class=\"code-keyword\">return</span> isElement(clippingParent) &amp;&amp; contains(clippingParent, clipperElement) &amp;&amp; getNodeName(clippingParent) !== <span class=\"code-string\">'body'</span>;\n"," });\n"," } <span class=\"code-comment\">// Gets the maximum area that the element is visible in due to any number of</span>\n"," <span class=\"code-comment\">// clipping parents</span>\n","\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getClippingRect</span>(<span class=\"code-params\">element, boundary, rootBoundary</span>) </span>{\n"," <span class=\"code-keyword\">var</span> mainClippingParents = boundary === <span class=\"code-string\">'clippingParents'</span> ? getClippingParents(element) : [].concat(boundary);\n"," <span class=\"code-keyword\">var</span> clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n"," <span class=\"code-keyword\">var</span> firstClippingParent = clippingParents[<span class=\"code-number\">0</span>];\n"," <span class=\"code-keyword\">var</span> clippingRect = clippingParents.reduce(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">accRect, clippingParent</span>) </span>{\n"," <span class=\"code-keyword\">var</span> rect = getClientRectFromMixedType(element, clippingParent);\n"," accRect.top = max(rect.top, accRect.top);\n"," accRect.right = min(rect.right, accRect.right);\n"," accRect.bottom = min(rect.bottom, accRect.bottom);\n"," accRect.left = max(rect.left, accRect.left);\n"," <span class=\"code-keyword\">return</span> accRect;\n"," }, getClientRectFromMixedType(element, firstClippingParent));\n"," clippingRect.width = clippingRect.right - clippingRect.left;\n"," clippingRect.height = clippingRect.bottom - clippingRect.top;\n"," clippingRect.x = clippingRect.left;\n"," clippingRect.y = clippingRect.top;\n"," <span class=\"code-keyword\">return</span> clippingRect;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getVariation</span>(<span class=\"code-params\">placement</span>) </span>{\n"," <span class=\"code-keyword\">return</span> placement.split(<span class=\"code-string\">'-'</span>)[<span class=\"code-number\">1</span>];\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getMainAxisFromPlacement</span>(<span class=\"code-params\">placement</span>) </span>{\n"," <span class=\"code-keyword\">return</span> [<span class=\"code-string\">'top'</span>, <span class=\"code-string\">'bottom'</span>].indexOf(placement) &gt;= <span class=\"code-number\">0</span> ? <span class=\"code-string\">'x'</span> : <span class=\"code-string\">'y'</span>;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">computeOffsets</span>(<span class=\"code-params\">_ref</span>) </span>{\n"," <span class=\"code-keyword\">var</span> reference = _ref.reference,\n"," element = _ref.element,\n"," placement = _ref.placement;\n"," <span class=\"code-keyword\">var</span> basePlacement = placement ? getBasePlacement(placement) : <span class=\"code-literal\">null</span>;\n"," <span class=\"code-keyword\">var</span> variation = placement ? getVariation(placement) : <span class=\"code-literal\">null</span>;\n"," <span class=\"code-keyword\">var</span> commonX = reference.x + reference.width / <span class=\"code-number\">2</span> - element.width / <span class=\"code-number\">2</span>;\n"," <span class=\"code-keyword\">var</span> commonY = reference.y + reference.height / <span class=\"code-number\">2</span> - element.height / <span class=\"code-number\">2</span>;\n"," <span class=\"code-keyword\">var</span> offsets;\n","\n"," <span class=\"code-keyword\">switch</span> (basePlacement) {\n"," <span class=\"code-keyword\">case</span> top:\n"," offsets = {\n"," x: commonX,\n"," y: reference.y - element.height\n"," };\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> bottom:\n"," offsets = {\n"," x: commonX,\n"," y: reference.y + reference.height\n"," };\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> right:\n"," offsets = {\n"," x: reference.x + reference.width,\n"," y: commonY\n"," };\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> left:\n"," offsets = {\n"," x: reference.x - element.width,\n"," y: commonY\n"," };\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">default</span>:\n"," offsets = {\n"," x: reference.x,\n"," y: reference.y\n"," };\n"," }\n","\n"," <span class=\"code-keyword\">var</span> mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : <span class=\"code-literal\">null</span>;\n","\n"," <span class=\"code-keyword\">if</span> (mainAxis != <span class=\"code-literal\">null</span>) {\n"," <span class=\"code-keyword\">var</span> len = mainAxis === <span class=\"code-string\">'y'</span> ? <span class=\"code-string\">'height'</span> : <span class=\"code-string\">'width'</span>;\n","\n"," <span class=\"code-keyword\">switch</span> (variation) {\n"," <span class=\"code-keyword\">case</span> start:\n"," offsets[mainAxis] = offsets[mainAxis] - (reference[len] / <span class=\"code-number\">2</span> - element[len] / <span class=\"code-number\">2</span>);\n"," <span class=\"code-keyword\">break</span>;\n","\n"," <span class=\"code-keyword\">case</span> end:\n"," offsets[mainAxis] = offsets[mainAxis] + (reference[len] / <span class=\"code-number\">2</span> - element[len] / <span class=\"code-number\">2</span>);\n"," <span class=\"code-keyword\">break</span>;\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">return</span> offsets;\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getFreshSideObject</span>(<span class=\"code-params\"></span>) </span>{\n"," <span class=\"code-keyword\">return</span> {\n"," top: <span class=\"code-number\">0</span>,\n"," right: <span class=\"code-number\">0</span>,\n"," bottom: <span class=\"code-number\">0</span>,\n"," left: <span class=\"code-number\">0</span>\n"," };\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">mergePaddingObject</span>(<span class=\"code-params\">paddingObject</span>) </span>{\n"," <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Object</span>.assign({}, getFreshSideObject(), paddingObject);\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">expandToHashMap</span>(<span class=\"code-params\">value, keys</span>) </span>{\n"," <span class=\"code-keyword\">return</span> keys.reduce(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">hashMap, key</span>) </span>{\n"," hashMap[key] = value;\n"," <span class=\"code-keyword\">return</span> hashMap;\n"," }, {});\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">detectOverflow</span>(<span class=\"code-params\">state, options</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (options === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span>) {\n"," options = {};\n"," }\n","\n"," <span class=\"code-keyword\">var</span> _options = options,\n"," _options$placement = _options.placement,\n"," placement = _options$placement === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? state.placement : _options$placement,\n"," _options$boundary = _options.boundary,\n"," boundary = _options$boundary === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? clippingParents : _options$boundary,\n"," _options$rootBoundary = _options.rootBoundary,\n"," rootBoundary = _options$rootBoundary === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? viewport : _options$rootBoundary,\n"," _options$elementConte = _options.elementContext,\n"," elementContext = _options$elementConte === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? popper : _options$elementConte,\n"," _options$altBoundary = _options.altBoundary,\n"," altBoundary = _options$altBoundary === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? <span class=\"code-literal\">false</span> : _options$altBoundary,\n"," _options$padding = _options.padding,\n"," padding = _options$padding === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? <span class=\"code-number\">0</span> : _options$padding;\n"," <span class=\"code-keyword\">var</span> paddingObject = mergePaddingObject(<span class=\"code-keyword\">typeof</span> padding !== <span class=\"code-string\">'number'</span> ? padding : expandToHashMap(padding, basePlacements));\n"," <span class=\"code-keyword\">var</span> altContext = elementContext === popper ? reference : popper;\n"," <span class=\"code-keyword\">var</span> popperRect = state.rects.popper;\n"," <span class=\"code-keyword\">var</span> element = state.elements[altBoundary ? altContext : elementContext];\n"," <span class=\"code-keyword\">var</span> clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n"," <span class=\"code-keyword\">var</span> referenceClientRect = getBoundingClientRect(state.elements.reference);\n"," <span class=\"code-keyword\">var</span> popperOffsets = computeOffsets({\n"," reference: referenceClientRect,\n"," element: popperRect,\n"," strategy: <span class=\"code-string\">'absolute'</span>,\n"," placement: placement\n"," });\n"," <span class=\"code-keyword\">var</span> popperClientRect = rectToClientRect(<span class=\"code-built_in\">Object</span>.assign({}, popperRect, popperOffsets));\n"," <span class=\"code-keyword\">var</span> elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; <span class=\"code-comment\">// positive = overflowing the clipping rect</span>\n"," <span class=\"code-comment\">// 0 or negative = within the clipping rect</span>\n","\n"," <span class=\"code-keyword\">var</span> overflowOffsets = {\n"," top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n"," bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n"," left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n"," right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n"," };\n"," <span class=\"code-keyword\">var</span> offsetData = state.modifiersData.offset; <span class=\"code-comment\">// Offsets can be applied only to the popper element</span>\n","\n"," <span class=\"code-keyword\">if</span> (elementContext === popper &amp;&amp; offsetData) {\n"," <span class=\"code-keyword\">var</span> offset = offsetData[placement];\n"," <span class=\"code-built_in\">Object</span>.keys(overflowOffsets).forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">key</span>) </span>{\n"," <span class=\"code-keyword\">var</span> multiply = [right, bottom].indexOf(key) &gt;= <span class=\"code-number\">0</span> ? <span class=\"code-number\">1</span> : <span class=\"code-number\">-1</span>;\n"," <span class=\"code-keyword\">var</span> axis = [top, bottom].indexOf(key) &gt;= <span class=\"code-number\">0</span> ? <span class=\"code-string\">'y'</span> : <span class=\"code-string\">'x'</span>;\n"," overflowOffsets[key] += offset[axis] * multiply;\n"," });\n"," }\n","\n"," <span class=\"code-keyword\">return</span> overflowOffsets;\n"," }\n","\n"," <span class=\"code-keyword\">var</span> INVALID_ELEMENT_ERROR = <span class=\"code-string\">'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.'</span>;\n"," <span class=\"code-keyword\">var</span> INFINITE_LOOP_ERROR = <span class=\"code-string\">'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'</span>;\n"," <span class=\"code-keyword\">var</span> DEFAULT_OPTIONS = {\n"," placement: <span class=\"code-string\">'bottom'</span>,\n"," modifiers: [],\n"," strategy: <span class=\"code-string\">'absolute'</span>\n"," };\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">areValidElements</span>(<span class=\"code-params\"></span>) </span>{\n"," <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> _len = <span class=\"code-built_in\">arguments</span>.length, args = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(_len), _key = <span class=\"code-number\">0</span>; _key &lt; _len; _key++) {\n"," args[_key] = <span class=\"code-built_in\">arguments</span>[_key];\n"," }\n","\n"," <span class=\"code-keyword\">return</span> !args.some(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">element</span>) </span>{\n"," <span class=\"code-keyword\">return</span> !(element &amp;&amp; <span class=\"code-keyword\">typeof</span> element.getBoundingClientRect === <span class=\"code-string\">'function'</span>);\n"," });\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">popperGenerator</span>(<span class=\"code-params\">generatorOptions</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (generatorOptions === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span>) {\n"," generatorOptions = {};\n"," }\n","\n"," <span class=\"code-keyword\">var</span> _generatorOptions = generatorOptions,\n"," _generatorOptions$def = _generatorOptions.defaultModifiers,\n"," defaultModifiers = _generatorOptions$def === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? [] : _generatorOptions$def,\n"," _generatorOptions$def2 = _generatorOptions.defaultOptions,\n"," defaultOptions = _generatorOptions$def2 === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? DEFAULT_OPTIONS : _generatorOptions$def2;\n"," <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createPopper</span>(<span class=\"code-params\">reference, popper, options</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (options === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span>) {\n"," options = defaultOptions;\n"," }\n","\n"," <span class=\"code-keyword\">var</span> state = {\n"," placement: <span class=\"code-string\">'bottom'</span>,\n"," orderedModifiers: [],\n"," options: <span class=\"code-built_in\">Object</span>.assign({}, DEFAULT_OPTIONS, defaultOptions),\n"," modifiersData: {},\n"," elements: {\n"," reference: reference,\n"," popper: popper\n"," },\n"," attributes: {},\n"," styles: {}\n"," };\n"," <span class=\"code-keyword\">var</span> effectCleanupFns = [];\n"," <span class=\"code-keyword\">var</span> isDestroyed = <span class=\"code-literal\">false</span>;\n"," <span class=\"code-keyword\">var</span> instance = {\n"," state: state,\n"," setOptions: <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">setOptions</span>(<span class=\"code-params\">setOptionsAction</span>) </span>{\n"," <span class=\"code-keyword\">var</span> options = <span class=\"code-keyword\">typeof</span> setOptionsAction === <span class=\"code-string\">'function'</span> ? setOptionsAction(state.options) : setOptionsAction;\n"," cleanupModifierEffects();\n"," state.options = <span class=\"code-built_in\">Object</span>.assign({}, defaultOptions, state.options, options);\n"," state.scrollParents = {\n"," reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n"," popper: listScrollParents(popper)\n"," }; <span class=\"code-comment\">// Orders the modifiers based on their dependencies and `phase`</span>\n"," <span class=\"code-comment\">// properties</span>\n","\n"," <span class=\"code-keyword\">var</span> orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); <span class=\"code-comment\">// Strip out disabled modifiers</span>\n","\n"," state.orderedModifiers = orderedModifiers.filter(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">m</span>) </span>{\n"," <span class=\"code-keyword\">return</span> m.enabled;\n"," }); <span class=\"code-comment\">// Validate the provided modifiers so that the consumer will get warned</span>\n"," <span class=\"code-comment\">// if one of the modifiers is invalid for any reason</span>\n","\n"," {\n"," <span class=\"code-keyword\">var</span> modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">_ref</span>) </span>{\n"," <span class=\"code-keyword\">var</span> name = _ref.name;\n"," <span class=\"code-keyword\">return</span> name;\n"," });\n"," validateModifiers(modifiers);\n","\n"," <span class=\"code-keyword\">if</span> (getBasePlacement(state.options.placement) === auto) {\n"," <span class=\"code-keyword\">var</span> flipModifier = state.orderedModifiers.find(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">_ref2</span>) </span>{\n"," <span class=\"code-keyword\">var</span> name = _ref2.name;\n"," <span class=\"code-keyword\">return</span> name === <span class=\"code-string\">'flip'</span>;\n"," });\n","\n"," <span class=\"code-keyword\">if</span> (!flipModifier) {\n"," <span class=\"code-built_in\">console</span>.error([<span class=\"code-string\">'Popper: \"auto\" placements require the \"flip\" modifier be'</span>, <span class=\"code-string\">'present and enabled to work.'</span>].join(<span class=\"code-string\">' '</span>));\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">var</span> _getComputedStyle = getComputedStyle(popper),\n"," marginTop = _getComputedStyle.marginTop,\n"," marginRight = _getComputedStyle.marginRight,\n"," marginBottom = _getComputedStyle.marginBottom,\n"," marginLeft = _getComputedStyle.marginLeft; <span class=\"code-comment\">// We no longer take into account `margins` on the popper, and it can</span>\n"," <span class=\"code-comment\">// cause bugs with positioning, so we'll warn the consumer</span>\n","\n","\n"," <span class=\"code-keyword\">if</span> ([marginTop, marginRight, marginBottom, marginLeft].some(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">margin</span>) </span>{\n"," <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">parseFloat</span>(margin);\n"," })) {\n"," <span class=\"code-built_in\">console</span>.warn([<span class=\"code-string\">'Popper: CSS \"margin\" styles cannot be used to apply padding'</span>, <span class=\"code-string\">'between the popper and its reference element or boundary.'</span>, <span class=\"code-string\">'To replicate margin, use the `offset` modifier, as well as'</span>, <span class=\"code-string\">'the `padding` option in the `preventOverflow` and `flip`'</span>, <span class=\"code-string\">'modifiers.'</span>].join(<span class=\"code-string\">' '</span>));\n"," }\n"," }\n","\n"," runModifierEffects();\n"," <span class=\"code-keyword\">return</span> instance.update();\n"," },\n"," <span class=\"code-comment\">// Sync update \u2013 it will always be executed, even if not necessary. This</span>\n"," <span class=\"code-comment\">// is useful for low frequency updates where sync behavior simplifies the</span>\n"," <span class=\"code-comment\">// logic.</span>\n"," <span class=\"code-comment\">// For high frequency updates (e.g. `resize` and `scroll` events), always</span>\n"," <span class=\"code-comment\">// prefer the async Popper#update method</span>\n"," forceUpdate: <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">forceUpdate</span>(<span class=\"code-params\"></span>) </span>{\n"," <span class=\"code-keyword\">if</span> (isDestroyed) {\n"," <span class=\"code-keyword\">return</span>;\n"," }\n","\n"," <span class=\"code-keyword\">var</span> _state$elements = state.elements,\n"," reference = _state$elements.reference,\n"," popper = _state$elements.popper; <span class=\"code-comment\">// Don't proceed if `reference` or `popper` are not valid elements</span>\n"," <span class=\"code-comment\">// anymore</span>\n","\n"," <span class=\"code-keyword\">if</span> (!areValidElements(reference, popper)) {\n"," {\n"," <span class=\"code-built_in\">console</span>.error(INVALID_ELEMENT_ERROR);\n"," }\n","\n"," <span class=\"code-keyword\">return</span>;\n"," } <span class=\"code-comment\">// Store the reference and popper rects to be read by modifiers</span>\n","\n","\n"," state.rects = {\n"," reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === <span class=\"code-string\">'fixed'</span>),\n"," popper: getLayoutRect(popper)\n"," }; <span class=\"code-comment\">// Modifiers have the ability to reset the current update cycle. The</span>\n"," <span class=\"code-comment\">// most common use case for this is the `flip` modifier changing the</span>\n"," <span class=\"code-comment\">// placement, which then needs to re-run all the modifiers, because the</span>\n"," <span class=\"code-comment\">// logic was previously ran for the previous placement and is therefore</span>\n"," <span class=\"code-comment\">// stale/incorrect</span>\n","\n"," state.reset = <span class=\"code-literal\">false</span>;\n"," state.placement = state.options.placement; <span class=\"code-comment\">// On each update cycle, the `modifiersData` property for each modifier</span>\n"," <span class=\"code-comment\">// is filled with the initial data specified by the modifier. This means</span>\n"," <span class=\"code-comment\">// it doesn't persist and is fresh on each update.</span>\n"," <span class=\"code-comment\">// To ensure persistent data, use `${name}#persistent`</span>\n","\n"," state.orderedModifiers.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">modifier</span>) </span>{\n"," <span class=\"code-keyword\">return</span> state.modifiersData[modifier.name] = <span class=\"code-built_in\">Object</span>.assign({}, modifier.data);\n"," });\n"," <span class=\"code-keyword\">var</span> __debug_loops__ = <span class=\"code-number\">0</span>;\n","\n"," <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> index = <span class=\"code-number\">0</span>; index &lt; state.orderedModifiers.length; index++) {\n"," {\n"," __debug_loops__ += <span class=\"code-number\">1</span>;\n","\n"," <span class=\"code-keyword\">if</span> (__debug_loops__ &gt; <span class=\"code-number\">100</span>) {\n"," <span class=\"code-built_in\">console</span>.error(INFINITE_LOOP_ERROR);\n"," <span class=\"code-keyword\">break</span>;\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (state.reset === <span class=\"code-literal\">true</span>) {\n"," state.reset = <span class=\"code-literal\">false</span>;\n"," index = <span class=\"code-number\">-1</span>;\n"," <span class=\"code-keyword\">continue</span>;\n"," }\n","\n"," <span class=\"code-keyword\">var</span> _state$orderedModifie = state.orderedModifiers[index],\n"," fn = _state$orderedModifie.fn,\n"," _state$orderedModifie2 = _state$orderedModifie.options,\n"," _options = _state$orderedModifie2 === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? {} : _state$orderedModifie2,\n"," name = _state$orderedModifie.name;\n","\n"," <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> fn === <span class=\"code-string\">'function'</span>) {\n"," state = fn({\n"," state: state,\n"," options: _options,\n"," name: name,\n"," instance: instance\n"," }) || state;\n"," }\n"," }\n"," },\n"," <span class=\"code-comment\">// Async and optimistically optimized update \u2013 it will not be executed if</span>\n"," <span class=\"code-comment\">// not necessary (debounced to run at most once-per-tick)</span>\n"," update: debounce(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n"," <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Promise</span>(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">resolve</span>) </span>{\n"," instance.forceUpdate();\n"," resolve(state);\n"," });\n"," }),\n"," destroy: <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">destroy</span>(<span class=\"code-params\"></span>) </span>{\n"," cleanupModifierEffects();\n"," isDestroyed = <span class=\"code-literal\">true</span>;\n"," }\n"," };\n","\n"," <span class=\"code-keyword\">if</span> (!areValidElements(reference, popper)) {\n"," {\n"," <span class=\"code-built_in\">console</span>.error(INVALID_ELEMENT_ERROR);\n"," }\n","\n"," <span class=\"code-keyword\">return</span> instance;\n"," }\n","\n"," instance.setOptions(options).then(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">state</span>) </span>{\n"," <span class=\"code-keyword\">if</span> (!isDestroyed &amp;&amp; options.onFirstUpdate) {\n"," options.onFirstUpdate(state);\n"," }\n"," }); <span class=\"code-comment\">// Modifiers have the ability to execute arbitrary code before the first</span>\n"," <span class=\"code-comment\">// update cycle runs. They will be executed in the same order as the update</span>\n"," <span class=\"code-comment\">// cycle. This is useful when a modifier adds some persistent data that</span>\n"," <span class=\"code-comment\">// other modifiers need to use, but the modifier is run after the dependent</span>\n"," <span class=\"code-comment\">// one.</span>\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">runModifierEffects</span>(<span class=\"code-params\"></span>) </span>{\n"," state.orderedModifiers.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">_ref3</span>) </span>{\n"," <span class=\"code-keyword\">var</span> name = _ref3.name,\n"," _ref3$options = _ref3.options,\n"," options = _ref3$options === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? {} : _ref3$options,\n"," effect = _ref3.effect;\n","\n"," <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> effect === <span class=\"code-string\">'function'</span>) {\n"," <span class=\"code-keyword\">var</span> cleanupFn = effect({\n"," state: state,\n"," name: name,\n"," instance: instance,\n"," options: options\n"," });\n","\n"," <span class=\"code-keyword\">var</span> noopFn = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">noopFn</span>(<span class=\"code-params\"></span>) </span>{};\n","\n"," effectCleanupFns.push(cleanupFn || noopFn);\n"," }\n"," });\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">cleanupModifierEffects</span>(<span class=\"code-params\"></span>) </span>{\n"," effectCleanupFns.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">fn</span>) </span>{\n"," <span class=\"code-keyword\">return</span> fn();\n"," });\n"," effectCleanupFns = [];\n"," }\n","\n"," <span class=\"code-keyword\">return</span> instance;\n"," };\n"," }\n","\n"," <span class=\"code-keyword\">var</span> passive = {\n"," passive: <span class=\"code-literal\">true</span>\n"," };\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">effect$1</span>(<span class=\"code-params\">_ref</span>) </span>{\n"," <span class=\"code-keyword\">var</span> state = _ref.state,\n"," instance = _ref.instance,\n"," options = _ref.options;\n"," <span class=\"code-keyword\">var</span> _options$scroll = options.scroll,\n"," scroll = _options$scroll === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? <span class=\"code-literal\">true</span> : _options$scroll,\n"," _options$resize = options.resize,\n"," resize = _options$resize === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? <span class=\"code-literal\">true</span> : _options$resize;\n"," <span class=\"code-keyword\">var</span> <span class=\"code-built_in\">window</span> = getWindow(state.elements.popper);\n"," <span class=\"code-keyword\">var</span> scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n","\n"," <span class=\"code-keyword\">if</span> (scroll) {\n"," scrollParents.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">scrollParent</span>) </span>{\n"," scrollParent.addEventListener(<span class=\"code-string\">'scroll'</span>, instance.update, passive);\n"," });\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (resize) {\n"," <span class=\"code-built_in\">window</span>.addEventListener(<span class=\"code-string\">'resize'</span>, instance.update, passive);\n"," }\n","\n"," <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n"," <span class=\"code-keyword\">if</span> (scroll) {\n"," scrollParents.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">scrollParent</span>) </span>{\n"," scrollParent.removeEventListener(<span class=\"code-string\">'scroll'</span>, instance.update, passive);\n"," });\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (resize) {\n"," <span class=\"code-built_in\">window</span>.removeEventListener(<span class=\"code-string\">'resize'</span>, instance.update, passive);\n"," }\n"," };\n"," } <span class=\"code-comment\">// eslint-disable-next-line import/no-unused-modules</span>\n","\n","\n"," <span class=\"code-keyword\">var</span> eventListeners = {\n"," name: <span class=\"code-string\">'eventListeners'</span>,\n"," enabled: <span class=\"code-literal\">true</span>,\n"," phase: <span class=\"code-string\">'write'</span>,\n"," fn: <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">fn</span>(<span class=\"code-params\"></span>) </span>{},\n"," effect: effect$<span class=\"code-number\">1</span>,\n"," data: {}\n"," };\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">popperOffsets</span>(<span class=\"code-params\">_ref</span>) </span>{\n"," <span class=\"code-keyword\">var</span> state = _ref.state,\n"," name = _ref.name;\n"," <span class=\"code-comment\">// Offsets are the actual position the popper needs to have to be</span>\n"," <span class=\"code-comment\">// properly positioned near its reference element</span>\n"," <span class=\"code-comment\">// This is the most basic placement, and will be adjusted by</span>\n"," <span class=\"code-comment\">// the modifiers in the next step</span>\n"," state.modifiersData[name] = computeOffsets({\n"," reference: state.rects.reference,\n"," element: state.rects.popper,\n"," strategy: <span class=\"code-string\">'absolute'</span>,\n"," placement: state.placement\n"," });\n"," } <span class=\"code-comment\">// eslint-disable-next-line import/no-unused-modules</span>\n","\n","\n"," <span class=\"code-keyword\">var</span> popperOffsets$<span class=\"code-number\">1</span> = {\n"," name: <span class=\"code-string\">'popperOffsets'</span>,\n"," enabled: <span class=\"code-literal\">true</span>,\n"," phase: <span class=\"code-string\">'read'</span>,\n"," fn: popperOffsets,\n"," data: {}\n"," };\n","\n"," <span class=\"code-keyword\">var</span> unsetSides = {\n"," top: <span class=\"code-string\">'auto'</span>,\n"," right: <span class=\"code-string\">'auto'</span>,\n"," bottom: <span class=\"code-string\">'auto'</span>,\n"," left: <span class=\"code-string\">'auto'</span>\n"," }; <span class=\"code-comment\">// Round the offsets to the nearest suitable subpixel based on the DPR.</span>\n"," <span class=\"code-comment\">// Zooming can change the DPR, but it seems to report a value that will</span>\n"," <span class=\"code-comment\">// cleanly divide the values into the appropriate subpixels.</span>\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">roundOffsetsByDPR</span>(<span class=\"code-params\">_ref</span>) </span>{\n"," <span class=\"code-keyword\">var</span> x = _ref.x,\n"," y = _ref.y;\n"," <span class=\"code-keyword\">var</span> win = <span class=\"code-built_in\">window</span>;\n"," <span class=\"code-keyword\">var</span> dpr = win.devicePixelRatio || <span class=\"code-number\">1</span>;\n"," <span class=\"code-keyword\">return</span> {\n"," x: round(x * dpr) / dpr || <span class=\"code-number\">0</span>,\n"," y: round(y * dpr) / dpr || <span class=\"code-number\">0</span>\n"," };\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">mapToStyles</span>(<span class=\"code-params\">_ref2</span>) </span>{\n"," <span class=\"code-keyword\">var</span> _Object$assign2;\n","\n"," <span class=\"code-keyword\">var</span> popper = _ref2.popper,\n"," popperRect = _ref2.popperRect,\n"," placement = _ref2.placement,\n"," variation = _ref2.variation,\n"," offsets = _ref2.offsets,\n"," position = _ref2.position,\n"," gpuAcceleration = _ref2.gpuAcceleration,\n"," adaptive = _ref2.adaptive,\n"," roundOffsets = _ref2.roundOffsets,\n"," isFixed = _ref2.isFixed;\n"," <span class=\"code-keyword\">var</span> _offsets$x = offsets.x,\n"," x = _offsets$x === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? <span class=\"code-number\">0</span> : _offsets$x,\n"," _offsets$y = offsets.y,\n"," y = _offsets$y === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? <span class=\"code-number\">0</span> : _offsets$y;\n","\n"," <span class=\"code-keyword\">var</span> _ref3 = <span class=\"code-keyword\">typeof</span> roundOffsets === <span class=\"code-string\">'function'</span> ? roundOffsets({\n"," x: x,\n"," y: y\n"," }) : {\n"," x: x,\n"," y: y\n"," };\n","\n"," x = _ref3.x;\n"," y = _ref3.y;\n"," <span class=\"code-keyword\">var</span> hasX = offsets.hasOwnProperty(<span class=\"code-string\">'x'</span>);\n"," <span class=\"code-keyword\">var</span> hasY = offsets.hasOwnProperty(<span class=\"code-string\">'y'</span>);\n"," <span class=\"code-keyword\">var</span> sideX = left;\n"," <span class=\"code-keyword\">var</span> sideY = top;\n"," <span class=\"code-keyword\">var</span> win = <span class=\"code-built_in\">window</span>;\n","\n"," <span class=\"code-keyword\">if</span> (adaptive) {\n"," <span class=\"code-keyword\">var</span> offsetParent = getOffsetParent(popper);\n"," <span class=\"code-keyword\">var</span> heightProp = <span class=\"code-string\">'clientHeight'</span>;\n"," <span class=\"code-keyword\">var</span> widthProp = <span class=\"code-string\">'clientWidth'</span>;\n","\n"," <span class=\"code-keyword\">if</span> (offsetParent === getWindow(popper)) {\n"," offsetParent = getDocumentElement(popper);\n","\n"," <span class=\"code-keyword\">if</span> (getComputedStyle(offsetParent).position !== <span class=\"code-string\">'static'</span> &amp;&amp; position === <span class=\"code-string\">'absolute'</span>) {\n"," heightProp = <span class=\"code-string\">'scrollHeight'</span>;\n"," widthProp = <span class=\"code-string\">'scrollWidth'</span>;\n"," }\n"," } <span class=\"code-comment\">// $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it</span>\n","\n","\n"," offsetParent = offsetParent;\n","\n"," <span class=\"code-keyword\">if</span> (placement === top || (placement === left || placement === right) &amp;&amp; variation === end) {\n"," sideY = bottom;\n"," <span class=\"code-keyword\">var</span> offsetY = isFixed &amp;&amp; offsetParent === win &amp;&amp; win.visualViewport ? win.visualViewport.height : <span class=\"code-comment\">// $FlowFixMe[prop-missing]</span>\n"," offsetParent[heightProp];\n"," y -= offsetY - popperRect.height;\n"," y *= gpuAcceleration ? <span class=\"code-number\">1</span> : <span class=\"code-number\">-1</span>;\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (placement === left || (placement === top || placement === bottom) &amp;&amp; variation === end) {\n"," sideX = right;\n"," <span class=\"code-keyword\">var</span> offsetX = isFixed &amp;&amp; offsetParent === win &amp;&amp; win.visualViewport ? win.visualViewport.width : <span class=\"code-comment\">// $FlowFixMe[prop-missing]</span>\n"," offsetParent[widthProp];\n"," x -= offsetX - popperRect.width;\n"," x *= gpuAcceleration ? <span class=\"code-number\">1</span> : <span class=\"code-number\">-1</span>;\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">var</span> commonStyles = <span class=\"code-built_in\">Object</span>.assign({\n"," position: position\n"," }, adaptive &amp;&amp; unsetSides);\n","\n"," <span class=\"code-keyword\">var</span> _ref4 = roundOffsets === <span class=\"code-literal\">true</span> ? roundOffsetsByDPR({\n"," x: x,\n"," y: y\n"," }) : {\n"," x: x,\n"," y: y\n"," };\n","\n"," x = _ref4.x;\n"," y = _ref4.y;\n","\n"," <span class=\"code-keyword\">if</span> (gpuAcceleration) {\n"," <span class=\"code-keyword\">var</span> _Object$assign;\n","\n"," <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Object</span>.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? <span class=\"code-string\">'0'</span> : <span class=\"code-string\">''</span>, _Object$assign[sideX] = hasX ? <span class=\"code-string\">'0'</span> : <span class=\"code-string\">''</span>, _Object$assign.transform = (win.devicePixelRatio || <span class=\"code-number\">1</span>) &lt;= <span class=\"code-number\">1</span> ? <span class=\"code-string\">\"translate(\"</span> + x + <span class=\"code-string\">\"px, \"</span> + y + <span class=\"code-string\">\"px)\"</span> : <span class=\"code-string\">\"translate3d(\"</span> + x + <span class=\"code-string\">\"px, \"</span> + y + <span class=\"code-string\">\"px, 0)\"</span>, _Object$assign));\n"," }\n","\n"," <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Object</span>.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + <span class=\"code-string\">\"px\"</span> : <span class=\"code-string\">''</span>, _Object$assign2[sideX] = hasX ? x + <span class=\"code-string\">\"px\"</span> : <span class=\"code-string\">''</span>, _Object$assign2.transform = <span class=\"code-string\">''</span>, _Object$assign2));\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">computeStyles</span>(<span class=\"code-params\">_ref5</span>) </span>{\n"," <span class=\"code-keyword\">var</span> state = _ref5.state,\n"," options = _ref5.options;\n"," <span class=\"code-keyword\">var</span> _options$gpuAccelerat = options.gpuAcceleration,\n"," gpuAcceleration = _options$gpuAccelerat === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? <span class=\"code-literal\">true</span> : _options$gpuAccelerat,\n"," _options$adaptive = options.adaptive,\n"," adaptive = _options$adaptive === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? <span class=\"code-literal\">true</span> : _options$adaptive,\n"," _options$roundOffsets = options.roundOffsets,\n"," roundOffsets = _options$roundOffsets === <span class=\"code-keyword\">void</span> <span class=\"code-number\">0</span> ? <span class=\"code-literal\">true</span> : _options$roundOffsets;\n","\n"," {\n"," <span class=\"code-keyword\">var</span> transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || <span class=\"code-string\">''</span>;\n","\n"," <span class=\"code-keyword\">if</span> (adaptive &amp;&amp; [<span class=\"code-string\">'transform'</span>, <span class=\"code-string\">'top'</span>, <span class=\"code-string\">'right'</span>, <span class=\"code-string\">'bottom'</span>, <span class=\"code-string\">'left'</span>].some(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">property</span>) </span>{\n"," <span class=\"code-keyword\">return</span> transitionProperty.indexOf(property) &gt;= <span class=\"code-number\">0</span>;\n"," })) {\n"," <span class=\"code-built_in\">console</span>.warn([<span class=\"code-string\">'Popper: Detected CSS transitions on at least one of the following'</span>, <span class=\"code-string\">'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".'</span>, <span class=\"code-string\">'\\n\\n'</span>, <span class=\"code-string\">'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow'</span>, <span class=\"code-string\">'for smooth transitions, or remove these properties from the CSS'</span>, <span class=\"code-string\">'transition declaration on the popper element if only transitioning'</span>, <span class=\"code-string\">'opacity or background-color for example.'</span>, <span class=\"code-string\">'\\n\\n'</span>, <span class=\"code-string\">'We recommend using the popper element as a wrapper around an inner'</span>, <span class=\"code-string\">'element that can have any CSS property transitioned for animations.'</span>].join(<span class=\"code-string\">' '</span>));\n"," }\n"," }\n","\n"," <span class=\"code-keyword\">var</span> commonStyles = {\n"," placement: getBasePlacement(state.placement),\n"," variation: getVariation(state.placement),\n"," popper: state.elements.popper,\n"," popperRect: state.rects.popper,\n"," gpuAcceleration: gpuAcceleration,\n"," isFixed: state.options.strategy === <span class=\"code-string\">'fixed'</span>\n"," };\n","\n"," <span class=\"code-keyword\">if</span> (state.modifiersData.popperOffsets != <span class=\"code-literal\">null</span>) {\n"," state.styles.popper = <span class=\"code-built_in\">Object</span>.assign({}, state.styles.popper, mapToStyles(<span class=\"code-built_in\">Object</span>.assign({}, commonStyles, {\n"," offsets: state.modifiersData.popperOffsets,\n"," position: state.options.strategy,\n"," adaptive: adaptive,\n"," roundOffsets: roundOffsets\n"," })));\n"," }\n","\n"," <span class=\"code-keyword\">if</span> (state.modifiersData.arrow != <span class=\"code-literal\">null</span>) {\n"," state.styles.arrow = <span class=\"code-built_in\">Object</span>.assign({}, state.styles.arrow, mapToStyles(<span class=\"code-built_in\">Object</span>.assign({}, commonStyles, {\n"," offsets: state.modifiersData.arrow,\n"," position: <span class=\"code-string\">'absolute'</span>,\n"," adaptive: <span class=\"code-literal\">false</span>,\n"," roundOffsets: roundOffsets\n"," })));\n"," }\n","\n"," state.attributes.popper = <span class=\"code-built_in\">Object</span>.assign({}, state.attributes.popper, {\n"," <span class=\"code-string\">'data-popper-placement'</span>: state.placement\n"," });\n"," } <span class=\"code-comment\">// eslint-disable-next-line import/no-unused-modules</span>\n","\n","\n"," <span class=\"code-keyword\">var</span> computeStyles$<span class=\"code-number\">1</span> = {\n"," name: <span class=\"code-string\">'computeStyles'</span>,\n"," enabled: <span class=\"code-literal\">true</span>,\n"," phase: <span class=\"code-string\">'beforeWrite'</span>,\n"," fn: computeStyles,\n"," data: {}\n"," };\n","\n"," <span class=\"code-comment\">// and applies them to the HTMLElements such as popper and arrow</span>\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">applyStyles</span>(<span class=\"code-params\">_ref</span>) </span>{\n"," <span class=\"code-keyword\">var</span> state = _ref.state;\n"," <span class=\"code-built_in\">Object</span>.keys(state.elements).forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">name</span>) </span>{\n"," <span class=\"code-keyword\">var</span> style = state.styles[name] || {};\n"," <span class=\"code-keyword\">var</span> attributes = state.attributes[name] || {};\n"," <span class=\"code-keyword\">var</span> element = state.elements[name]; <span class=\"code-comment\">// arrow is optional + virtual elements</span>\n","\n"," <span class=\"code-keyword\">if</span> (!isHTMLElement(element) || !getNodeName(element)) {\n"," <span class=\"code-keyword\">return</span>;\n"," } <span class=\"code-comment\">// Flow doesn't support to extend this property, but it's the most</span>\n"," <span class=\"code-comment\">// effective way to apply styles to an HTMLElement</span>\n"," <span class=\"code-comment\">// $FlowFixMe[cannot-write]</span>\n","\n","\n"," <span class=\"code-built_in\">Object</span>.assign(element.style, style);\n"," <span class=\"code-built_in\">Object</span>.keys(attributes).forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">name</span>) </span>{\n"," <span class=\"code-keyword\">var</span> value = attributes[name];\n","\n"," <span class=\"code-keyword\">if</span> (value === <span class=\"code-literal\">false</span>) {\n"," element.removeAttribute(name);\n"," } <span class=\"code-keyword\">else</span> {\n"," element.setAttribute(name, value === <span class=\"code-literal\">true</span> ? <span class=\"code-string\">''</span> : value);\n"," }\n"," });\n"," });\n"," }\n","\n"," <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">effect</span>(<span class=\"code-params\">_ref2</span>) </span>{\n"," <span class=\"code-keyword\">var</span> state = _ref2.state;\n"," <span class=\"code-keyword\">var</span> initialStyles = {\n"," popper: {\n"," position: state.options.strategy,\n"," left: <span class=\"code-string\">'0'</span>,\n"," top: <span class=\"code-string\">'0'</span>,\n"," margin: <span class=\"code-string\">'0'</span>\n"," },\n"," arrow: {\n"," position: <span class=\"code-string\">'absolute'</span>\n"," },\n"," reference: {}\n"," };\n"," <span class=\"code-built_in\">Object</span>.assign(state.elements.popper.style, initialStyles.popper);\n"," state.styles = initialStyles;\n","\n"," <span class=\"code-keyword\">if</span> (state.elements.arrow) {\n"," <span class=\"code-built_in\">Object</span>.assign(state.elements.arrow.style, initialStyles.arrow);\n"," }\n","\n"," <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n"," <span class=\"code-built_in\">Object</span>.keys(state.elements).forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">name</span>) </span>{\n"," <span class=\"code-keyword\">var</span> element = state.elements[name];\n"," <span class=\"code-keyword\">var</span> attributes = state.attributes[name] || {};\n"," <span class=\"code-keyword\">var</span> styleProperties = <span class=\"code-built_in\">Object</span>.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); <span class=\"code-comment\">// Set all values to an empty string to unset them</span>\n","\n"," <span class=\"code-keyword\">var</span> style = styleProperties.reduce(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">style, property</span>) </span>{\n"," style[property] = <span class=\"code-string\">''</span>;\n"," <span class=\"code-keyword\">return</span> style;\n"," }, {}); <span class=\"code-comment\">// arrow is optional + virtual elements</span>\n","\n"," <span class=\"code-keyword\">if</span> (!isHTMLElement(element) || !getNodeName(element)) {\n"," <span class=\"code-keyword\">return</span>;\n"," }\n","\n"," <span class=\"code-built_in\">Object</span>.assign(element.style, style);\n"," <span class=\"code-built_in\">Object</span>.keys(attributes).forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">attribute</span>) </span>{\n"," element.removeAttribute(attribute);\n"," });\n"," });\n"," };\n"," } <span class=\"code-comment\">// eslint-disable-next-line import/no-unused-modules</span>\n","\n","\n"," <span class=\"code-keyword\">var</span> applyStyles$<span class=\"code-number\">1</span> = {\n"," name: <span class=\"code-string\">'applyStyles'</span>,\n"," enabled: <span class=\"code-literal\">true</span>,\n"," phase: <span class=\"code-string\">'write'</span>,\n"," fn: applyStyles,\n"," effect: effect,\n"," requires: [<span class=\"code-string\">'computeStyles'</span>]\n"," };\n","\n"," <span class=\"code-keyword\">var</span> defaultModifiers = [eventListeners, popperOffsets$<span class=\"code-number\">1</span>, computeStyles$<span class=\"code-number\">1</span>, applyStyles$<span class=\"code-number\">1</span>];\n"," <span class=\"code-keyword\">var</span> createPopper = <span class=\"code-comment\">/*#__PURE__*/</span>popperGenerator({\n"," defaultModifiers: defaultModifiers\n"," }); <span class=\"code-comment\">// eslint-disable-next-line import/no-unused-modules</span>\n","\n"," exports.createPopper = createPopper;\n"," exports.defaultModifiers = defaultModifiers;\n"," exports.detectOverflow = detectOverflow;\n"," exports.popperGenerator = popperGenerator;\n","\n"," <span class=\"code-built_in\">Object</span>.defineProperty(exports, <span class=\"code-string\">'__esModule'</span>, { <span class=\"code-attr\">value</span>: <span class=\"code-literal\">true</span> });\n","\n","})));\n","<span class=\"code-comment\">//# sourceMappingURL=popper-lite.js.map</span>\n",""]}}}</script></head><body><div id="root"><style data-emotion-css="gtfibm">html{box-sizing:border-box;}*,*:before,*:after{box-sizing:inherit;}html,body,#root{height:100%;margin:0;}body{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;font-size:16px;line-height:1.5;overflow-wrap:break-word;background:white;color:black;}code{font-family:Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;}th,td{padding:0;}select{font-size:inherit;}#root{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}</style><style data-emotion-css="1r6h1r6">.code-listing{background:#fbfdff;color:#383a42;}.code-comment,.code-quote{color:#a0a1a7;font-style:italic;}.code-doctag,.code-keyword,.code-link,.code-formula{color:#a626a4;}.code-section,.code-name,.code-selector-tag,.code-deletion,.code-subst{color:#e45649;}.code-literal{color:#0184bb;}.code-string,.code-regexp,.code-addition,.code-attribute,.code-meta-string{color:#50a14f;}.code-built_in,.code-class .code-title{color:#c18401;}.code-attr,.code-variable,.code-template-variable,.code-type,.code-selector-class,.code-selector-attr,.code-selector-pseudo,.code-number{color:#986801;}.code-symbol,.code-bullet,.code-meta,.code-selector-id,.code-title{color:#4078f2;}.code-emphasis{font-style:italic;}.code-strong{font-weight:bold;}</style><style data-emotion-css="1c3h18e">.css-1c3h18e{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;}</style><div class="css-1c3h18e"><style data-emotion-css="1cfuj1t">.css-1cfuj1t{max-width:940px;padding:0 20px;margin:0 auto;}</style><div class="css-1cfuj1t"><style data-emotion-css="i51og3">.css-i51og3{margin-top:2rem;}</style><header class="css-i51og3"><style data-emotion-css="1y7u1xh">.css-1y7u1xh{text-align:center;font-size:3rem;-webkit-letter-spacing:0.05em;-moz-letter-spacing:0.05em;-ms-letter-spacing:0.05em;letter-spacing:0.05em;}</style><h1 class="css-1y7u1xh"><style data-emotion-css="1ydg16i">.css-1ydg16i{color:#000;-webkit-text-decoration:none;text-decoration:none;}</style><a href="/" class="css-1ydg16i">UNPKG</a></h1></header></div><div class="css-1cfuj1t"><style data-emotion-css="93o42g">.css-93o42g{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width:700px){.css-93o42g{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}</style><header class="css-93o42g"><style data-emotion-css="1dlpvgi">.css-1dlpvgi{font-size:1.5rem;font-weight:normal;-webkit-flex:1;-ms-flex:1;flex:1;word-break:break-all;}</style><h1 class="css-1dlpvgi"><nav><style data-emotion-css="xt128v">.css-xt128v{color:#0076ff;-webkit-text-decoration:none;text-decoration:none;}.css-xt128v:hover{-webkit-text-decoration:underline;text-decoration:underline;}</style><a href="/browse/@popperjs/core@2.11.5/" class="css-xt128v">@popperjs/core</a><style data-emotion-css="lllnmq">.css-lllnmq{padding-left:5px;padding-right:5px;}</style><span class="css-lllnmq">/</span><a href="/browse/@popperjs/core@2.11.5/dist/" class="css-xt128v">dist</a><span class="css-lllnmq">/</span><a href="/browse/@popperjs/core@2.11.5/dist/umd/" class="css-xt128v">umd</a><span class="css-lllnmq">/</span><strong>popper-lite.js</strong></nav></h1><style data-emotion-css="1nr3dab">.css-1nr3dab{margin-left:20px;}@media (max-width:700px){.css-1nr3dab{margin-left:0;margin-bottom:0;}}</style><p class="css-1nr3dab"><label>Version:<!-- --> <style data-emotion-css="un3bt6">.css-un3bt6{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding:4px 24px 4px 8px;font-weight:600;font-size:0.9em;color:#24292e;border:1px solid rgba(27,31,35,.2);border-radius:3px;background-color:#eff3f6;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAKCAYAAAC9vt6cAAAAAXNSR0IArs4c6QAAARFJREFUKBVjZAACNS39RhBNKrh17WI9o4quoT3Dn78HSNUMUs/CzOTI/O7Vi4dCYpJ3/jP+92BkYGAlyiBGhm8MjIxJt65e3MQM0vDu9YvLYmISILYZELOBxHABRkaGr0yMzF23r12YDFIDNgDEePv65SEhEXENBkYGFSAXuyGMjF8Z/jOsvX3tYiFIDwgwQSgIaaijnvj/P8M5IO8HsjiY/f//D4b//88A1SQhywG9jQr09PS4v/1mPAeUUPzP8B8cJowMjL+Bqu6xMQmaXL164AuyDgwDQJLa2qYSP//9vARkCoMVMzK8YeVkNbh+9uxzMB+JwGoASF5Vx0jz/98/18BqmZi171w9D2EjaaYKEwAEK00XQLdJuwAAAABJRU5ErkJggg==);background-position:right 8px center;background-repeat:no-repeat;background-size:auto 25%;}.css-un3bt6:hover{background-color:#e6ebf1;border-color:rgba(27,31,35,.35);}.css-un3bt6:active{background-color:#e9ecef;border-color:rgba(27,31,35,.35);box-shadow:inset 0 0.15em 0.3em rgba(27,31,35,.15);}</style><select name="version" class="css-un3bt6"><option value="2.0.0-alpha.1">2.0.0-alpha.1</option><option value="2.0.0-alpha.2">2.0.0-alpha.2</option><option value="2.0.0-alpha.3">2.0.0-alpha.3</option><option value="2.0.0-alpha.4">2.0.0-alpha.4</option><option value="2.0.0-next.5">2.0.0-next.5</option><option value="2.0.0-next.6">2.0.0-next.6</option><option value="2.0.0-next.7">2.0.0-next.7</option><option value="2.0.0-next.8">2.0.0-next.8</option><option value="2.0.0-next.9">2.0.0-next.9</option><option value="2.0.0-next.10">2.0.0-next.10</option><option value="2.0.0-next.11">2.0.0-next.11</option><option value="2.0.0-next.12">2.0.0-next.12</option><option value="2.0.0-next.13">2.0.0-next.13</option><option value="2.0.0-next.14">2.0.0-next.14</option><option value="2.0.0-next.15">2.0.0-next.15</option><option value="2.0.0-next.16">2.0.0-next.16</option><option value="2.0.0-next.17">2.0.0-next.17</option><option value="2.0.0-rc.1">2.0.0-rc.1</option><option value="2.0.0-rc.2">2.0.0-rc.2</option><option value="2.0.0-rc.3">2.0.0-rc.3</option><option value="2.0.0">2.0.0</option><option value="2.0.1">2.0.1</option><option value="2.0.2">2.0.2</option><option value="2.0.3">2.0.3</option><option value="2.0.4">2.0.4</option><option value="2.0.5">2.0.5</option><option value="2.0.6">2.0.6</option><option value="2.1.0">2.1.0</option><option value="2.1.1">2.1.1</option><option value="2.2.0-bundlephobia.1">2.2.0-bundlephobia.1</option><option value="2.2.0">2.2.0</option><option value="2.2.1">2.2.1</option><option value="2.2.2">2.2.2</option><option value="2.2.3">2.2.3</option><option value="2.3.0">2.3.0</option><option value="2.3.1">2.3.1</option><option value="2.3.2">2.3.2</option><option value="2.3.3">2.3.3</option><option value="2.4.0">2.4.0</option><option value="2.4.1">2.4.1</option><option value="2.4.2">2.4.2</option><option value="2.4.3">2.4.3</option><option value="2.4.4">2.4.4</option><option value="2.5.0">2.5.0</option><option value="2.5.1">2.5.1</option><option value="2.5.2">2.5.2</option><option value="2.5.3">2.5.3</option><option value="2.5.4">2.5.4</option><option value="2.6.0">2.6.0</option><option value="2.7.0">2.7.0</option><option value="2.7.1">2.7.1</option><option value="2.7.2">2.7.2</option><option value="2.8.0">2.8.0</option><option value="2.8.1">2.8.1</option><option value="2.8.2">2.8.2</option><option value="2.8.3">2.8.3</option><option value="2.8.4">2.8.4</option><option value="2.8.5">2.8.5</option><option value="2.8.6">2.8.6</option><option value="2.9.0">2.9.0</option><option value="2.9.1">2.9.1</option><option value="2.9.2">2.9.2</option><option value="2.9.3">2.9.3</option><option value="2.10.0">2.10.0</option><option value="2.10.1">2.10.1</option><option value="2.10.2">2.10.2</option><option value="2.11.0">2.11.0</option><option value="2.11.1">2.11.1</option><option value="2.11.2">2.11.2</option><option value="2.11.3">2.11.3</option><option value="2.11.4">2.11.4</option><option selected="" value="2.11.5">2.11.5</option></select></label></p></header></div><style data-emotion-css="107j3ms">.css-107j3ms{max-width:940px;padding:0 20px;margin:0 auto;}@media (max-width:700px){.css-107j3ms{padding:0;margin:0;}}</style><div class="css-107j3ms"><style data-emotion-css="q3frg4">.css-q3frg4{border:1px solid #dfe2e5;border-radius:3px;}@media (max-width:700px){.css-q3frg4{border-right-width:0;border-left-width:0;}}</style><div class="css-q3frg4"><style data-emotion-css="10o5omr">.css-10o5omr{padding:10px;background:#f6f8fa;color:#424242;border:1px solid #d1d5da;border-top-left-radius:3px;border-top-right-radius:3px;margin:-1px -1px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}@media (max-width:700px){.css-10o5omr{padding-right:20px;padding-left:20px;}}</style><div class="css-10o5omr"><span>49.6 kB</span><span>JavaScript</span><span><style data-emotion-css="18x593j">.css-18x593j{display:inline-block;margin-left:8px;padding:2px 8px;-webkit-text-decoration:none;text-decoration:none;font-weight:600;font-size:0.9rem;color:#24292e;background-color:#eff3f6;border:1px solid rgba(27,31,35,.2);border-radius:3px;}.css-18x593j:hover{background-color:#e6ebf1;border-color:rgba(27,31,35,.35);}.css-18x593j:active{background-color:#e9ecef;border-color:rgba(27,31,35,.35);box-shadow:inset 0 0.15em 0.3em rgba(27,31,35,.15);}</style><a href="/@popperjs/core@2.11.5/dist/umd/popper-lite.js" class="css-18x593j">View Raw</a></span></div><style data-emotion-css="1i31ihw">.css-1i31ihw{overflow-x:auto;overflow-y:hidden;padding-top:5px;padding-bottom:5px;}</style><div class="code-listing css-1i31ihw"><style data-emotion-css="173nir8">.css-173nir8{border:none;border-collapse:collapse;border-spacing:0;}</style><table class="css-173nir8"><tbody><tr><style data-emotion-css="a4x74f">.css-a4x74f{padding-left:10px;padding-right:10px;color:rgba(27,31,35,.3);text-align:right;vertical-align:top;width:1%;min-width:50px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}</style><td id="L1" class="css-a4x74f"><span>1</span></td><style data-emotion-css="1dcdqdg">.css-1dcdqdg{padding-left:10px;padding-right:10px;color:#24292e;white-space:pre;}</style><td id="LC1" class="css-1dcdqdg"><code><span class="code-comment">/**
+</span></code></td></tr><tr><td id="L2" class="css-a4x74f"><span>2</span></td><td id="LC2" class="css-1dcdqdg"><code><span class="code-comment"> * @popperjs/core v2.11.5 - MIT License
+</span></code></td></tr><tr><td id="L3" class="css-a4x74f"><span>3</span></td><td id="LC3" class="css-1dcdqdg"><code><span class="code-comment"> */</span>
+</code></td></tr><tr><td id="L4" class="css-a4x74f"><span>4</span></td><td id="LC4" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L5" class="css-a4x74f"><span>5</span></td><td id="LC5" class="css-1dcdqdg"><code>(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">global, factory</span>) </span>{
+</code></td></tr><tr><td id="L6" class="css-a4x74f"><span>6</span></td><td id="LC6" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> exports === <span class="code-string">'object'</span> &amp;&amp; <span class="code-keyword">typeof</span> <span class="code-built_in">module</span> !== <span class="code-string">'undefined'</span> ? factory(exports) :
+</code></td></tr><tr><td id="L7" class="css-a4x74f"><span>7</span></td><td id="LC7" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> define === <span class="code-string">'function'</span> &amp;&amp; define.amd ? define([<span class="code-string">'exports'</span>], factory) :
+</code></td></tr><tr><td id="L8" class="css-a4x74f"><span>8</span></td><td id="LC8" class="css-1dcdqdg"><code> (global = <span class="code-keyword">typeof</span> globalThis !== <span class="code-string">'undefined'</span> ? globalThis : global || self, factory(global.Popper = {}));
+</code></td></tr><tr><td id="L9" class="css-a4x74f"><span>9</span></td><td id="LC9" class="css-1dcdqdg"><code>}(<span class="code-keyword">this</span>, (<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">exports</span>) </span>{ <span class="code-string">'use strict'</span>;
+</code></td></tr><tr><td id="L10" class="css-a4x74f"><span>10</span></td><td id="LC10" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L11" class="css-a4x74f"><span>11</span></td><td id="LC11" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getWindow</span>(<span class="code-params">node</span>) </span>{
+</code></td></tr><tr><td id="L12" class="css-a4x74f"><span>12</span></td><td id="LC12" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node == <span class="code-literal">null</span>) {
+</code></td></tr><tr><td id="L13" class="css-a4x74f"><span>13</span></td><td id="LC13" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">window</span>;
+</code></td></tr><tr><td id="L14" class="css-a4x74f"><span>14</span></td><td id="LC14" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L15" class="css-a4x74f"><span>15</span></td><td id="LC15" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L16" class="css-a4x74f"><span>16</span></td><td id="LC16" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.toString() !== <span class="code-string">'[object Window]'</span>) {
+</code></td></tr><tr><td id="L17" class="css-a4x74f"><span>17</span></td><td id="LC17" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ownerDocument = node.ownerDocument;
+</code></td></tr><tr><td id="L18" class="css-a4x74f"><span>18</span></td><td id="LC18" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ownerDocument ? ownerDocument.defaultView || <span class="code-built_in">window</span> : <span class="code-built_in">window</span>;
+</code></td></tr><tr><td id="L19" class="css-a4x74f"><span>19</span></td><td id="LC19" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L20" class="css-a4x74f"><span>20</span></td><td id="LC20" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L21" class="css-a4x74f"><span>21</span></td><td id="LC21" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node;
+</code></td></tr><tr><td id="L22" class="css-a4x74f"><span>22</span></td><td id="LC22" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L23" class="css-a4x74f"><span>23</span></td><td id="LC23" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L24" class="css-a4x74f"><span>24</span></td><td id="LC24" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isElement</span>(<span class="code-params">node</span>) </span>{
+</code></td></tr><tr><td id="L25" class="css-a4x74f"><span>25</span></td><td id="LC25" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> OwnElement = getWindow(node).Element;
+</code></td></tr><tr><td id="L26" class="css-a4x74f"><span>26</span></td><td id="LC26" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node <span class="code-keyword">instanceof</span> OwnElement || node <span class="code-keyword">instanceof</span> Element;
+</code></td></tr><tr><td id="L27" class="css-a4x74f"><span>27</span></td><td id="LC27" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L28" class="css-a4x74f"><span>28</span></td><td id="LC28" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L29" class="css-a4x74f"><span>29</span></td><td id="LC29" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isHTMLElement</span>(<span class="code-params">node</span>) </span>{
+</code></td></tr><tr><td id="L30" class="css-a4x74f"><span>30</span></td><td id="LC30" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> OwnElement = getWindow(node).HTMLElement;
+</code></td></tr><tr><td id="L31" class="css-a4x74f"><span>31</span></td><td id="LC31" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node <span class="code-keyword">instanceof</span> OwnElement || node <span class="code-keyword">instanceof</span> HTMLElement;
+</code></td></tr><tr><td id="L32" class="css-a4x74f"><span>32</span></td><td id="LC32" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L33" class="css-a4x74f"><span>33</span></td><td id="LC33" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L34" class="css-a4x74f"><span>34</span></td><td id="LC34" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isShadowRoot</span>(<span class="code-params">node</span>) </span>{
+</code></td></tr><tr><td id="L35" class="css-a4x74f"><span>35</span></td><td id="LC35" class="css-1dcdqdg"><code> <span class="code-comment">// IE 11 has no ShadowRoot</span>
+</code></td></tr><tr><td id="L36" class="css-a4x74f"><span>36</span></td><td id="LC36" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> ShadowRoot === <span class="code-string">'undefined'</span>) {
+</code></td></tr><tr><td id="L37" class="css-a4x74f"><span>37</span></td><td id="LC37" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>;
+</code></td></tr><tr><td id="L38" class="css-a4x74f"><span>38</span></td><td id="LC38" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L39" class="css-a4x74f"><span>39</span></td><td id="LC39" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L40" class="css-a4x74f"><span>40</span></td><td id="LC40" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> OwnElement = getWindow(node).ShadowRoot;
+</code></td></tr><tr><td id="L41" class="css-a4x74f"><span>41</span></td><td id="LC41" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node <span class="code-keyword">instanceof</span> OwnElement || node <span class="code-keyword">instanceof</span> ShadowRoot;
+</code></td></tr><tr><td id="L42" class="css-a4x74f"><span>42</span></td><td id="LC42" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L43" class="css-a4x74f"><span>43</span></td><td id="LC43" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L44" class="css-a4x74f"><span>44</span></td><td id="LC44" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> max = <span class="code-built_in">Math</span>.max;
+</code></td></tr><tr><td id="L45" class="css-a4x74f"><span>45</span></td><td id="LC45" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> min = <span class="code-built_in">Math</span>.min;
+</code></td></tr><tr><td id="L46" class="css-a4x74f"><span>46</span></td><td id="LC46" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> round = <span class="code-built_in">Math</span>.round;
+</code></td></tr><tr><td id="L47" class="css-a4x74f"><span>47</span></td><td id="LC47" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L48" class="css-a4x74f"><span>48</span></td><td id="LC48" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getBoundingClientRect</span>(<span class="code-params">element, includeScale</span>) </span>{
+</code></td></tr><tr><td id="L49" class="css-a4x74f"><span>49</span></td><td id="LC49" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (includeScale === <span class="code-keyword">void</span> <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L50" class="css-a4x74f"><span>50</span></td><td id="LC50" class="css-1dcdqdg"><code> includeScale = <span class="code-literal">false</span>;
+</code></td></tr><tr><td id="L51" class="css-a4x74f"><span>51</span></td><td id="LC51" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L52" class="css-a4x74f"><span>52</span></td><td id="LC52" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L53" class="css-a4x74f"><span>53</span></td><td id="LC53" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rect = element.getBoundingClientRect();
+</code></td></tr><tr><td id="L54" class="css-a4x74f"><span>54</span></td><td id="LC54" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scaleX = <span class="code-number">1</span>;
+</code></td></tr><tr><td id="L55" class="css-a4x74f"><span>55</span></td><td id="LC55" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scaleY = <span class="code-number">1</span>;
+</code></td></tr><tr><td id="L56" class="css-a4x74f"><span>56</span></td><td id="LC56" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L57" class="css-a4x74f"><span>57</span></td><td id="LC57" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isHTMLElement(element) &amp;&amp; includeScale) {
+</code></td></tr><tr><td id="L58" class="css-a4x74f"><span>58</span></td><td id="LC58" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsetHeight = element.offsetHeight;
+</code></td></tr><tr><td id="L59" class="css-a4x74f"><span>59</span></td><td id="LC59" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsetWidth = element.offsetWidth; <span class="code-comment">// Do not attempt to divide by 0, otherwise we get `Infinity` as scale</span>
+</code></td></tr><tr><td id="L60" class="css-a4x74f"><span>60</span></td><td id="LC60" class="css-1dcdqdg"><code> <span class="code-comment">// Fallback to 1 in case both values are `0`</span>
+</code></td></tr><tr><td id="L61" class="css-a4x74f"><span>61</span></td><td id="LC61" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L62" class="css-a4x74f"><span>62</span></td><td id="LC62" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offsetWidth &gt; <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L63" class="css-a4x74f"><span>63</span></td><td id="LC63" class="css-1dcdqdg"><code> scaleX = round(rect.width) / offsetWidth || <span class="code-number">1</span>;
+</code></td></tr><tr><td id="L64" class="css-a4x74f"><span>64</span></td><td id="LC64" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L65" class="css-a4x74f"><span>65</span></td><td id="LC65" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L66" class="css-a4x74f"><span>66</span></td><td id="LC66" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offsetHeight &gt; <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L67" class="css-a4x74f"><span>67</span></td><td id="LC67" class="css-1dcdqdg"><code> scaleY = round(rect.height) / offsetHeight || <span class="code-number">1</span>;
+</code></td></tr><tr><td id="L68" class="css-a4x74f"><span>68</span></td><td id="LC68" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L69" class="css-a4x74f"><span>69</span></td><td id="LC69" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L70" class="css-a4x74f"><span>70</span></td><td id="LC70" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L71" class="css-a4x74f"><span>71</span></td><td id="LC71" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> {
+</code></td></tr><tr><td id="L72" class="css-a4x74f"><span>72</span></td><td id="LC72" class="css-1dcdqdg"><code> width: rect.width / scaleX,
+</code></td></tr><tr><td id="L73" class="css-a4x74f"><span>73</span></td><td id="LC73" class="css-1dcdqdg"><code> height: rect.height / scaleY,
+</code></td></tr><tr><td id="L74" class="css-a4x74f"><span>74</span></td><td id="LC74" class="css-1dcdqdg"><code> top: rect.top / scaleY,
+</code></td></tr><tr><td id="L75" class="css-a4x74f"><span>75</span></td><td id="LC75" class="css-1dcdqdg"><code> right: rect.right / scaleX,
+</code></td></tr><tr><td id="L76" class="css-a4x74f"><span>76</span></td><td id="LC76" class="css-1dcdqdg"><code> bottom: rect.bottom / scaleY,
+</code></td></tr><tr><td id="L77" class="css-a4x74f"><span>77</span></td><td id="LC77" class="css-1dcdqdg"><code> left: rect.left / scaleX,
+</code></td></tr><tr><td id="L78" class="css-a4x74f"><span>78</span></td><td id="LC78" class="css-1dcdqdg"><code> x: rect.left / scaleX,
+</code></td></tr><tr><td id="L79" class="css-a4x74f"><span>79</span></td><td id="LC79" class="css-1dcdqdg"><code> y: rect.top / scaleY
+</code></td></tr><tr><td id="L80" class="css-a4x74f"><span>80</span></td><td id="LC80" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L81" class="css-a4x74f"><span>81</span></td><td id="LC81" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L82" class="css-a4x74f"><span>82</span></td><td id="LC82" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L83" class="css-a4x74f"><span>83</span></td><td id="LC83" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getWindowScroll</span>(<span class="code-params">node</span>) </span>{
+</code></td></tr><tr><td id="L84" class="css-a4x74f"><span>84</span></td><td id="LC84" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> win = getWindow(node);
+</code></td></tr><tr><td id="L85" class="css-a4x74f"><span>85</span></td><td id="LC85" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scrollLeft = win.pageXOffset;
+</code></td></tr><tr><td id="L86" class="css-a4x74f"><span>86</span></td><td id="LC86" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scrollTop = win.pageYOffset;
+</code></td></tr><tr><td id="L87" class="css-a4x74f"><span>87</span></td><td id="LC87" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> {
+</code></td></tr><tr><td id="L88" class="css-a4x74f"><span>88</span></td><td id="LC88" class="css-1dcdqdg"><code> scrollLeft: scrollLeft,
+</code></td></tr><tr><td id="L89" class="css-a4x74f"><span>89</span></td><td id="LC89" class="css-1dcdqdg"><code> scrollTop: scrollTop
+</code></td></tr><tr><td id="L90" class="css-a4x74f"><span>90</span></td><td id="LC90" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L91" class="css-a4x74f"><span>91</span></td><td id="LC91" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L92" class="css-a4x74f"><span>92</span></td><td id="LC92" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L93" class="css-a4x74f"><span>93</span></td><td id="LC93" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getHTMLElementScroll</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L94" class="css-a4x74f"><span>94</span></td><td id="LC94" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> {
+</code></td></tr><tr><td id="L95" class="css-a4x74f"><span>95</span></td><td id="LC95" class="css-1dcdqdg"><code> scrollLeft: element.scrollLeft,
+</code></td></tr><tr><td id="L96" class="css-a4x74f"><span>96</span></td><td id="LC96" class="css-1dcdqdg"><code> scrollTop: element.scrollTop
+</code></td></tr><tr><td id="L97" class="css-a4x74f"><span>97</span></td><td id="LC97" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L98" class="css-a4x74f"><span>98</span></td><td id="LC98" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L99" class="css-a4x74f"><span>99</span></td><td id="LC99" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L100" class="css-a4x74f"><span>100</span></td><td id="LC100" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getNodeScroll</span>(<span class="code-params">node</span>) </span>{
+</code></td></tr><tr><td id="L101" class="css-a4x74f"><span>101</span></td><td id="LC101" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node === getWindow(node) || !isHTMLElement(node)) {
+</code></td></tr><tr><td id="L102" class="css-a4x74f"><span>102</span></td><td id="LC102" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> getWindowScroll(node);
+</code></td></tr><tr><td id="L103" class="css-a4x74f"><span>103</span></td><td id="LC103" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> {
+</code></td></tr><tr><td id="L104" class="css-a4x74f"><span>104</span></td><td id="LC104" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> getHTMLElementScroll(node);
+</code></td></tr><tr><td id="L105" class="css-a4x74f"><span>105</span></td><td id="LC105" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L106" class="css-a4x74f"><span>106</span></td><td id="LC106" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L107" class="css-a4x74f"><span>107</span></td><td id="LC107" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L108" class="css-a4x74f"><span>108</span></td><td id="LC108" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getNodeName</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L109" class="css-a4x74f"><span>109</span></td><td id="LC109" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> element ? (element.nodeName || <span class="code-string">''</span>).toLowerCase() : <span class="code-literal">null</span>;
+</code></td></tr><tr><td id="L110" class="css-a4x74f"><span>110</span></td><td id="LC110" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L111" class="css-a4x74f"><span>111</span></td><td id="LC111" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L112" class="css-a4x74f"><span>112</span></td><td id="LC112" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getDocumentElement</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L113" class="css-a4x74f"><span>113</span></td><td id="LC113" class="css-1dcdqdg"><code> <span class="code-comment">// $FlowFixMe[incompatible-return]: assume body is always available</span>
+</code></td></tr><tr><td id="L114" class="css-a4x74f"><span>114</span></td><td id="LC114" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ((isElement(element) ? element.ownerDocument : <span class="code-comment">// $FlowFixMe[prop-missing]</span>
+</code></td></tr><tr><td id="L115" class="css-a4x74f"><span>115</span></td><td id="LC115" class="css-1dcdqdg"><code> element.document) || <span class="code-built_in">window</span>.document).documentElement;
+</code></td></tr><tr><td id="L116" class="css-a4x74f"><span>116</span></td><td id="LC116" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L117" class="css-a4x74f"><span>117</span></td><td id="LC117" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L118" class="css-a4x74f"><span>118</span></td><td id="LC118" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getWindowScrollBarX</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L119" class="css-a4x74f"><span>119</span></td><td id="LC119" class="css-1dcdqdg"><code> <span class="code-comment">// If &lt;html&gt; has a CSS width greater than the viewport, then this will be</span>
+</code></td></tr><tr><td id="L120" class="css-a4x74f"><span>120</span></td><td id="LC120" class="css-1dcdqdg"><code> <span class="code-comment">// incorrect for RTL.</span>
+</code></td></tr><tr><td id="L121" class="css-a4x74f"><span>121</span></td><td id="LC121" class="css-1dcdqdg"><code> <span class="code-comment">// Popper 1 is broken in this case and never had a bug report so let's assume</span>
+</code></td></tr><tr><td id="L122" class="css-a4x74f"><span>122</span></td><td id="LC122" class="css-1dcdqdg"><code> <span class="code-comment">// it's not an issue. I don't think anyone ever specifies width on &lt;html&gt;</span>
+</code></td></tr><tr><td id="L123" class="css-a4x74f"><span>123</span></td><td id="LC123" class="css-1dcdqdg"><code> <span class="code-comment">// anyway.</span>
+</code></td></tr><tr><td id="L124" class="css-a4x74f"><span>124</span></td><td id="LC124" class="css-1dcdqdg"><code> <span class="code-comment">// Browsers where the left scrollbar doesn't cause an issue report `0` for</span>
+</code></td></tr><tr><td id="L125" class="css-a4x74f"><span>125</span></td><td id="LC125" class="css-1dcdqdg"><code> <span class="code-comment">// this (e.g. Edge 2019, IE11, Safari)</span>
+</code></td></tr><tr><td id="L126" class="css-a4x74f"><span>126</span></td><td id="LC126" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
+</code></td></tr><tr><td id="L127" class="css-a4x74f"><span>127</span></td><td id="LC127" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L128" class="css-a4x74f"><span>128</span></td><td id="LC128" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L129" class="css-a4x74f"><span>129</span></td><td id="LC129" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getComputedStyle</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L130" class="css-a4x74f"><span>130</span></td><td id="LC130" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> getWindow(element).getComputedStyle(element);
+</code></td></tr><tr><td id="L131" class="css-a4x74f"><span>131</span></td><td id="LC131" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L132" class="css-a4x74f"><span>132</span></td><td id="LC132" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L133" class="css-a4x74f"><span>133</span></td><td id="LC133" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isScrollParent</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L134" class="css-a4x74f"><span>134</span></td><td id="LC134" class="css-1dcdqdg"><code> <span class="code-comment">// Firefox wants us to check `-x` and `-y` variations as well</span>
+</code></td></tr><tr><td id="L135" class="css-a4x74f"><span>135</span></td><td id="LC135" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _getComputedStyle = getComputedStyle(element),
+</code></td></tr><tr><td id="L136" class="css-a4x74f"><span>136</span></td><td id="LC136" class="css-1dcdqdg"><code> overflow = _getComputedStyle.overflow,
+</code></td></tr><tr><td id="L137" class="css-a4x74f"><span>137</span></td><td id="LC137" class="css-1dcdqdg"><code> overflowX = _getComputedStyle.overflowX,
+</code></td></tr><tr><td id="L138" class="css-a4x74f"><span>138</span></td><td id="LC138" class="css-1dcdqdg"><code> overflowY = _getComputedStyle.overflowY;
+</code></td></tr><tr><td id="L139" class="css-a4x74f"><span>139</span></td><td id="LC139" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L140" class="css-a4x74f"><span>140</span></td><td id="LC140" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-regexp">/auto|scroll|overlay|hidden/</span>.test(overflow + overflowY + overflowX);
+</code></td></tr><tr><td id="L141" class="css-a4x74f"><span>141</span></td><td id="LC141" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L142" class="css-a4x74f"><span>142</span></td><td id="LC142" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L143" class="css-a4x74f"><span>143</span></td><td id="LC143" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isElementScaled</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L144" class="css-a4x74f"><span>144</span></td><td id="LC144" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rect = element.getBoundingClientRect();
+</code></td></tr><tr><td id="L145" class="css-a4x74f"><span>145</span></td><td id="LC145" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scaleX = round(rect.width) / element.offsetWidth || <span class="code-number">1</span>;
+</code></td></tr><tr><td id="L146" class="css-a4x74f"><span>146</span></td><td id="LC146" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scaleY = round(rect.height) / element.offsetHeight || <span class="code-number">1</span>;
+</code></td></tr><tr><td id="L147" class="css-a4x74f"><span>147</span></td><td id="LC147" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> scaleX !== <span class="code-number">1</span> || scaleY !== <span class="code-number">1</span>;
+</code></td></tr><tr><td id="L148" class="css-a4x74f"><span>148</span></td><td id="LC148" class="css-1dcdqdg"><code> } <span class="code-comment">// Returns the composite rect of an element relative to its offsetParent.</span>
+</code></td></tr><tr><td id="L149" class="css-a4x74f"><span>149</span></td><td id="LC149" class="css-1dcdqdg"><code> <span class="code-comment">// Composite means it takes into account transforms as well as layout.</span>
+</code></td></tr><tr><td id="L150" class="css-a4x74f"><span>150</span></td><td id="LC150" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L151" class="css-a4x74f"><span>151</span></td><td id="LC151" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L152" class="css-a4x74f"><span>152</span></td><td id="LC152" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getCompositeRect</span>(<span class="code-params">elementOrVirtualElement, offsetParent, isFixed</span>) </span>{
+</code></td></tr><tr><td id="L153" class="css-a4x74f"><span>153</span></td><td id="LC153" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isFixed === <span class="code-keyword">void</span> <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L154" class="css-a4x74f"><span>154</span></td><td id="LC154" class="css-1dcdqdg"><code> isFixed = <span class="code-literal">false</span>;
+</code></td></tr><tr><td id="L155" class="css-a4x74f"><span>155</span></td><td id="LC155" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L156" class="css-a4x74f"><span>156</span></td><td id="LC156" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L157" class="css-a4x74f"><span>157</span></td><td id="LC157" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isOffsetParentAnElement = isHTMLElement(offsetParent);
+</code></td></tr><tr><td id="L158" class="css-a4x74f"><span>158</span></td><td id="LC158" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsetParentIsScaled = isHTMLElement(offsetParent) &amp;&amp; isElementScaled(offsetParent);
+</code></td></tr><tr><td id="L159" class="css-a4x74f"><span>159</span></td><td id="LC159" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> documentElement = getDocumentElement(offsetParent);
+</code></td></tr><tr><td id="L160" class="css-a4x74f"><span>160</span></td><td id="LC160" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
+</code></td></tr><tr><td id="L161" class="css-a4x74f"><span>161</span></td><td id="LC161" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scroll = {
+</code></td></tr><tr><td id="L162" class="css-a4x74f"><span>162</span></td><td id="LC162" class="css-1dcdqdg"><code> scrollLeft: <span class="code-number">0</span>,
+</code></td></tr><tr><td id="L163" class="css-a4x74f"><span>163</span></td><td id="LC163" class="css-1dcdqdg"><code> scrollTop: <span class="code-number">0</span>
+</code></td></tr><tr><td id="L164" class="css-a4x74f"><span>164</span></td><td id="LC164" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L165" class="css-a4x74f"><span>165</span></td><td id="LC165" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsets = {
+</code></td></tr><tr><td id="L166" class="css-a4x74f"><span>166</span></td><td id="LC166" class="css-1dcdqdg"><code> x: <span class="code-number">0</span>,
+</code></td></tr><tr><td id="L167" class="css-a4x74f"><span>167</span></td><td id="LC167" class="css-1dcdqdg"><code> y: <span class="code-number">0</span>
+</code></td></tr><tr><td id="L168" class="css-a4x74f"><span>168</span></td><td id="LC168" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L169" class="css-a4x74f"><span>169</span></td><td id="LC169" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L170" class="css-a4x74f"><span>170</span></td><td id="LC170" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isOffsetParentAnElement || !isOffsetParentAnElement &amp;&amp; !isFixed) {
+</code></td></tr><tr><td id="L171" class="css-a4x74f"><span>171</span></td><td id="LC171" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getNodeName(offsetParent) !== <span class="code-string">'body'</span> || <span class="code-comment">// https://github.com/popperjs/popper-core/issues/1078</span>
+</code></td></tr><tr><td id="L172" class="css-a4x74f"><span>172</span></td><td id="LC172" class="css-1dcdqdg"><code> isScrollParent(documentElement)) {
+</code></td></tr><tr><td id="L173" class="css-a4x74f"><span>173</span></td><td id="LC173" class="css-1dcdqdg"><code> scroll = getNodeScroll(offsetParent);
+</code></td></tr><tr><td id="L174" class="css-a4x74f"><span>174</span></td><td id="LC174" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L175" class="css-a4x74f"><span>175</span></td><td id="LC175" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L176" class="css-a4x74f"><span>176</span></td><td id="LC176" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isHTMLElement(offsetParent)) {
+</code></td></tr><tr><td id="L177" class="css-a4x74f"><span>177</span></td><td id="LC177" class="css-1dcdqdg"><code> offsets = getBoundingClientRect(offsetParent, <span class="code-literal">true</span>);
+</code></td></tr><tr><td id="L178" class="css-a4x74f"><span>178</span></td><td id="LC178" class="css-1dcdqdg"><code> offsets.x += offsetParent.clientLeft;
+</code></td></tr><tr><td id="L179" class="css-a4x74f"><span>179</span></td><td id="LC179" class="css-1dcdqdg"><code> offsets.y += offsetParent.clientTop;
+</code></td></tr><tr><td id="L180" class="css-a4x74f"><span>180</span></td><td id="LC180" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (documentElement) {
+</code></td></tr><tr><td id="L181" class="css-a4x74f"><span>181</span></td><td id="LC181" class="css-1dcdqdg"><code> offsets.x = getWindowScrollBarX(documentElement);
+</code></td></tr><tr><td id="L182" class="css-a4x74f"><span>182</span></td><td id="LC182" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L183" class="css-a4x74f"><span>183</span></td><td id="LC183" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L184" class="css-a4x74f"><span>184</span></td><td id="LC184" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L185" class="css-a4x74f"><span>185</span></td><td id="LC185" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> {
+</code></td></tr><tr><td id="L186" class="css-a4x74f"><span>186</span></td><td id="LC186" class="css-1dcdqdg"><code> x: rect.left + scroll.scrollLeft - offsets.x,
+</code></td></tr><tr><td id="L187" class="css-a4x74f"><span>187</span></td><td id="LC187" class="css-1dcdqdg"><code> y: rect.top + scroll.scrollTop - offsets.y,
+</code></td></tr><tr><td id="L188" class="css-a4x74f"><span>188</span></td><td id="LC188" class="css-1dcdqdg"><code> width: rect.width,
+</code></td></tr><tr><td id="L189" class="css-a4x74f"><span>189</span></td><td id="LC189" class="css-1dcdqdg"><code> height: rect.height
+</code></td></tr><tr><td id="L190" class="css-a4x74f"><span>190</span></td><td id="LC190" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L191" class="css-a4x74f"><span>191</span></td><td id="LC191" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L192" class="css-a4x74f"><span>192</span></td><td id="LC192" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L193" class="css-a4x74f"><span>193</span></td><td id="LC193" class="css-1dcdqdg"><code> <span class="code-comment">// means it doesn't take into account transforms.</span>
+</code></td></tr><tr><td id="L194" class="css-a4x74f"><span>194</span></td><td id="LC194" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L195" class="css-a4x74f"><span>195</span></td><td id="LC195" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getLayoutRect</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L196" class="css-a4x74f"><span>196</span></td><td id="LC196" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clientRect = getBoundingClientRect(element); <span class="code-comment">// Use the clientRect sizes if it's not been transformed.</span>
+</code></td></tr><tr><td id="L197" class="css-a4x74f"><span>197</span></td><td id="LC197" class="css-1dcdqdg"><code> <span class="code-comment">// Fixes https://github.com/popperjs/popper-core/issues/1223</span>
+</code></td></tr><tr><td id="L198" class="css-a4x74f"><span>198</span></td><td id="LC198" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L199" class="css-a4x74f"><span>199</span></td><td id="LC199" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> width = element.offsetWidth;
+</code></td></tr><tr><td id="L200" class="css-a4x74f"><span>200</span></td><td id="LC200" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> height = element.offsetHeight;
+</code></td></tr><tr><td id="L201" class="css-a4x74f"><span>201</span></td><td id="LC201" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L202" class="css-a4x74f"><span>202</span></td><td id="LC202" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">Math</span>.abs(clientRect.width - width) &lt;= <span class="code-number">1</span>) {
+</code></td></tr><tr><td id="L203" class="css-a4x74f"><span>203</span></td><td id="LC203" class="css-1dcdqdg"><code> width = clientRect.width;
+</code></td></tr><tr><td id="L204" class="css-a4x74f"><span>204</span></td><td id="LC204" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L205" class="css-a4x74f"><span>205</span></td><td id="LC205" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L206" class="css-a4x74f"><span>206</span></td><td id="LC206" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">Math</span>.abs(clientRect.height - height) &lt;= <span class="code-number">1</span>) {
+</code></td></tr><tr><td id="L207" class="css-a4x74f"><span>207</span></td><td id="LC207" class="css-1dcdqdg"><code> height = clientRect.height;
+</code></td></tr><tr><td id="L208" class="css-a4x74f"><span>208</span></td><td id="LC208" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L209" class="css-a4x74f"><span>209</span></td><td id="LC209" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L210" class="css-a4x74f"><span>210</span></td><td id="LC210" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> {
+</code></td></tr><tr><td id="L211" class="css-a4x74f"><span>211</span></td><td id="LC211" class="css-1dcdqdg"><code> x: element.offsetLeft,
+</code></td></tr><tr><td id="L212" class="css-a4x74f"><span>212</span></td><td id="LC212" class="css-1dcdqdg"><code> y: element.offsetTop,
+</code></td></tr><tr><td id="L213" class="css-a4x74f"><span>213</span></td><td id="LC213" class="css-1dcdqdg"><code> width: width,
+</code></td></tr><tr><td id="L214" class="css-a4x74f"><span>214</span></td><td id="LC214" class="css-1dcdqdg"><code> height: height
+</code></td></tr><tr><td id="L215" class="css-a4x74f"><span>215</span></td><td id="LC215" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L216" class="css-a4x74f"><span>216</span></td><td id="LC216" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L217" class="css-a4x74f"><span>217</span></td><td id="LC217" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L218" class="css-a4x74f"><span>218</span></td><td id="LC218" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getParentNode</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L219" class="css-a4x74f"><span>219</span></td><td id="LC219" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getNodeName(element) === <span class="code-string">'html'</span>) {
+</code></td></tr><tr><td id="L220" class="css-a4x74f"><span>220</span></td><td id="LC220" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> element;
+</code></td></tr><tr><td id="L221" class="css-a4x74f"><span>221</span></td><td id="LC221" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L222" class="css-a4x74f"><span>222</span></td><td id="LC222" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L223" class="css-a4x74f"><span>223</span></td><td id="LC223" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (<span class="code-comment">// this is a quicker (but less type safe) way to save quite some bytes from the bundle</span>
+</code></td></tr><tr><td id="L224" class="css-a4x74f"><span>224</span></td><td id="LC224" class="css-1dcdqdg"><code> <span class="code-comment">// $FlowFixMe[incompatible-return]</span>
+</code></td></tr><tr><td id="L225" class="css-a4x74f"><span>225</span></td><td id="LC225" class="css-1dcdqdg"><code> <span class="code-comment">// $FlowFixMe[prop-missing]</span>
+</code></td></tr><tr><td id="L226" class="css-a4x74f"><span>226</span></td><td id="LC226" class="css-1dcdqdg"><code> element.assignedSlot || <span class="code-comment">// step into the shadow DOM of the parent of a slotted node</span>
+</code></td></tr><tr><td id="L227" class="css-a4x74f"><span>227</span></td><td id="LC227" class="css-1dcdqdg"><code> element.parentNode || ( <span class="code-comment">// DOM Element detected</span>
+</code></td></tr><tr><td id="L228" class="css-a4x74f"><span>228</span></td><td id="LC228" class="css-1dcdqdg"><code> isShadowRoot(element) ? element.host : <span class="code-literal">null</span>) || <span class="code-comment">// ShadowRoot detected</span>
+</code></td></tr><tr><td id="L229" class="css-a4x74f"><span>229</span></td><td id="LC229" class="css-1dcdqdg"><code> <span class="code-comment">// $FlowFixMe[incompatible-call]: HTMLElement is a Node</span>
+</code></td></tr><tr><td id="L230" class="css-a4x74f"><span>230</span></td><td id="LC230" class="css-1dcdqdg"><code> getDocumentElement(element) <span class="code-comment">// fallback</span>
+</code></td></tr><tr><td id="L231" class="css-a4x74f"><span>231</span></td><td id="LC231" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L232" class="css-a4x74f"><span>232</span></td><td id="LC232" class="css-1dcdqdg"><code> );
+</code></td></tr><tr><td id="L233" class="css-a4x74f"><span>233</span></td><td id="LC233" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L234" class="css-a4x74f"><span>234</span></td><td id="LC234" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L235" class="css-a4x74f"><span>235</span></td><td id="LC235" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getScrollParent</span>(<span class="code-params">node</span>) </span>{
+</code></td></tr><tr><td id="L236" class="css-a4x74f"><span>236</span></td><td id="LC236" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ([<span class="code-string">'html'</span>, <span class="code-string">'body'</span>, <span class="code-string">'#document'</span>].indexOf(getNodeName(node)) &gt;= <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L237" class="css-a4x74f"><span>237</span></td><td id="LC237" class="css-1dcdqdg"><code> <span class="code-comment">// $FlowFixMe[incompatible-return]: assume body is always available</span>
+</code></td></tr><tr><td id="L238" class="css-a4x74f"><span>238</span></td><td id="LC238" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node.ownerDocument.body;
+</code></td></tr><tr><td id="L239" class="css-a4x74f"><span>239</span></td><td id="LC239" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L240" class="css-a4x74f"><span>240</span></td><td id="LC240" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L241" class="css-a4x74f"><span>241</span></td><td id="LC241" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isHTMLElement(node) &amp;&amp; isScrollParent(node)) {
+</code></td></tr><tr><td id="L242" class="css-a4x74f"><span>242</span></td><td id="LC242" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node;
+</code></td></tr><tr><td id="L243" class="css-a4x74f"><span>243</span></td><td id="LC243" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L244" class="css-a4x74f"><span>244</span></td><td id="LC244" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L245" class="css-a4x74f"><span>245</span></td><td id="LC245" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> getScrollParent(getParentNode(node));
+</code></td></tr><tr><td id="L246" class="css-a4x74f"><span>246</span></td><td id="LC246" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L247" class="css-a4x74f"><span>247</span></td><td id="LC247" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L248" class="css-a4x74f"><span>248</span></td><td id="LC248" class="css-1dcdqdg"><code> <span class="code-comment">/*
+</span></code></td></tr><tr><td id="L249" class="css-a4x74f"><span>249</span></td><td id="LC249" class="css-1dcdqdg"><code><span class="code-comment"> given a DOM element, return the list of all scroll parents, up the list of ancesors
+</span></code></td></tr><tr><td id="L250" class="css-a4x74f"><span>250</span></td><td id="LC250" class="css-1dcdqdg"><code><span class="code-comment"> until we get to the top window object. This list is what we attach scroll listeners
+</span></code></td></tr><tr><td id="L251" class="css-a4x74f"><span>251</span></td><td id="LC251" class="css-1dcdqdg"><code><span class="code-comment"> to, because if any of these parent elements scroll, we'll need to re-calculate the
+</span></code></td></tr><tr><td id="L252" class="css-a4x74f"><span>252</span></td><td id="LC252" class="css-1dcdqdg"><code><span class="code-comment"> reference element's position.
+</span></code></td></tr><tr><td id="L253" class="css-a4x74f"><span>253</span></td><td id="LC253" class="css-1dcdqdg"><code><span class="code-comment"> */</span>
+</code></td></tr><tr><td id="L254" class="css-a4x74f"><span>254</span></td><td id="LC254" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L255" class="css-a4x74f"><span>255</span></td><td id="LC255" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">listScrollParents</span>(<span class="code-params">element, list</span>) </span>{
+</code></td></tr><tr><td id="L256" class="css-a4x74f"><span>256</span></td><td id="LC256" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _element$ownerDocumen;
+</code></td></tr><tr><td id="L257" class="css-a4x74f"><span>257</span></td><td id="LC257" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L258" class="css-a4x74f"><span>258</span></td><td id="LC258" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (list === <span class="code-keyword">void</span> <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L259" class="css-a4x74f"><span>259</span></td><td id="LC259" class="css-1dcdqdg"><code> list = [];
+</code></td></tr><tr><td id="L260" class="css-a4x74f"><span>260</span></td><td id="LC260" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L261" class="css-a4x74f"><span>261</span></td><td id="LC261" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L262" class="css-a4x74f"><span>262</span></td><td id="LC262" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scrollParent = getScrollParent(element);
+</code></td></tr><tr><td id="L263" class="css-a4x74f"><span>263</span></td><td id="LC263" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == <span class="code-literal">null</span> ? <span class="code-keyword">void</span> <span class="code-number">0</span> : _element$ownerDocumen.body);
+</code></td></tr><tr><td id="L264" class="css-a4x74f"><span>264</span></td><td id="LC264" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> win = getWindow(scrollParent);
+</code></td></tr><tr><td id="L265" class="css-a4x74f"><span>265</span></td><td id="LC265" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
+</code></td></tr><tr><td id="L266" class="css-a4x74f"><span>266</span></td><td id="LC266" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> updatedList = list.concat(target);
+</code></td></tr><tr><td id="L267" class="css-a4x74f"><span>267</span></td><td id="LC267" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> isBody ? updatedList : <span class="code-comment">// $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here</span>
+</code></td></tr><tr><td id="L268" class="css-a4x74f"><span>268</span></td><td id="LC268" class="css-1dcdqdg"><code> updatedList.concat(listScrollParents(getParentNode(target)));
+</code></td></tr><tr><td id="L269" class="css-a4x74f"><span>269</span></td><td id="LC269" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L270" class="css-a4x74f"><span>270</span></td><td id="LC270" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L271" class="css-a4x74f"><span>271</span></td><td id="LC271" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isTableElement</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L272" class="css-a4x74f"><span>272</span></td><td id="LC272" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> [<span class="code-string">'table'</span>, <span class="code-string">'td'</span>, <span class="code-string">'th'</span>].indexOf(getNodeName(element)) &gt;= <span class="code-number">0</span>;
+</code></td></tr><tr><td id="L273" class="css-a4x74f"><span>273</span></td><td id="LC273" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L274" class="css-a4x74f"><span>274</span></td><td id="LC274" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L275" class="css-a4x74f"><span>275</span></td><td id="LC275" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getTrueOffsetParent</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L276" class="css-a4x74f"><span>276</span></td><td id="LC276" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isHTMLElement(element) || <span class="code-comment">// https://github.com/popperjs/popper-core/issues/837</span>
+</code></td></tr><tr><td id="L277" class="css-a4x74f"><span>277</span></td><td id="LC277" class="css-1dcdqdg"><code> getComputedStyle(element).position === <span class="code-string">'fixed'</span>) {
+</code></td></tr><tr><td id="L278" class="css-a4x74f"><span>278</span></td><td id="LC278" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>;
+</code></td></tr><tr><td id="L279" class="css-a4x74f"><span>279</span></td><td id="LC279" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L280" class="css-a4x74f"><span>280</span></td><td id="LC280" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L281" class="css-a4x74f"><span>281</span></td><td id="LC281" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> element.offsetParent;
+</code></td></tr><tr><td id="L282" class="css-a4x74f"><span>282</span></td><td id="LC282" class="css-1dcdqdg"><code> } <span class="code-comment">// `.offsetParent` reports `null` for fixed elements, while absolute elements</span>
+</code></td></tr><tr><td id="L283" class="css-a4x74f"><span>283</span></td><td id="LC283" class="css-1dcdqdg"><code> <span class="code-comment">// return the containing block</span>
+</code></td></tr><tr><td id="L284" class="css-a4x74f"><span>284</span></td><td id="LC284" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L285" class="css-a4x74f"><span>285</span></td><td id="LC285" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L286" class="css-a4x74f"><span>286</span></td><td id="LC286" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getContainingBlock</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L287" class="css-a4x74f"><span>287</span></td><td id="LC287" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isFirefox = navigator.userAgent.toLowerCase().indexOf(<span class="code-string">'firefox'</span>) !== <span class="code-number">-1</span>;
+</code></td></tr><tr><td id="L288" class="css-a4x74f"><span>288</span></td><td id="LC288" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isIE = navigator.userAgent.indexOf(<span class="code-string">'Trident'</span>) !== <span class="code-number">-1</span>;
+</code></td></tr><tr><td id="L289" class="css-a4x74f"><span>289</span></td><td id="LC289" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L290" class="css-a4x74f"><span>290</span></td><td id="LC290" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isIE &amp;&amp; isHTMLElement(element)) {
+</code></td></tr><tr><td id="L291" class="css-a4x74f"><span>291</span></td><td id="LC291" class="css-1dcdqdg"><code> <span class="code-comment">// In IE 9, 10 and 11 fixed elements containing block is always established by the viewport</span>
+</code></td></tr><tr><td id="L292" class="css-a4x74f"><span>292</span></td><td id="LC292" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> elementCss = getComputedStyle(element);
+</code></td></tr><tr><td id="L293" class="css-a4x74f"><span>293</span></td><td id="LC293" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L294" class="css-a4x74f"><span>294</span></td><td id="LC294" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (elementCss.position === <span class="code-string">'fixed'</span>) {
+</code></td></tr><tr><td id="L295" class="css-a4x74f"><span>295</span></td><td id="LC295" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>;
+</code></td></tr><tr><td id="L296" class="css-a4x74f"><span>296</span></td><td id="LC296" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L297" class="css-a4x74f"><span>297</span></td><td id="LC297" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L298" class="css-a4x74f"><span>298</span></td><td id="LC298" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L299" class="css-a4x74f"><span>299</span></td><td id="LC299" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> currentNode = getParentNode(element);
+</code></td></tr><tr><td id="L300" class="css-a4x74f"><span>300</span></td><td id="LC300" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L301" class="css-a4x74f"><span>301</span></td><td id="LC301" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isShadowRoot(currentNode)) {
+</code></td></tr><tr><td id="L302" class="css-a4x74f"><span>302</span></td><td id="LC302" class="css-1dcdqdg"><code> currentNode = currentNode.host;
+</code></td></tr><tr><td id="L303" class="css-a4x74f"><span>303</span></td><td id="LC303" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L304" class="css-a4x74f"><span>304</span></td><td id="LC304" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L305" class="css-a4x74f"><span>305</span></td><td id="LC305" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (isHTMLElement(currentNode) &amp;&amp; [<span class="code-string">'html'</span>, <span class="code-string">'body'</span>].indexOf(getNodeName(currentNode)) &lt; <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L306" class="css-a4x74f"><span>306</span></td><td id="LC306" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> css = getComputedStyle(currentNode); <span class="code-comment">// This is non-exhaustive but covers the most common CSS properties that</span>
+</code></td></tr><tr><td id="L307" class="css-a4x74f"><span>307</span></td><td id="LC307" class="css-1dcdqdg"><code> <span class="code-comment">// create a containing block.</span>
+</code></td></tr><tr><td id="L308" class="css-a4x74f"><span>308</span></td><td id="LC308" class="css-1dcdqdg"><code> <span class="code-comment">// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block</span>
+</code></td></tr><tr><td id="L309" class="css-a4x74f"><span>309</span></td><td id="LC309" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L310" class="css-a4x74f"><span>310</span></td><td id="LC310" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (css.transform !== <span class="code-string">'none'</span> || css.perspective !== <span class="code-string">'none'</span> || css.contain === <span class="code-string">'paint'</span> || [<span class="code-string">'transform'</span>, <span class="code-string">'perspective'</span>].indexOf(css.willChange) !== <span class="code-number">-1</span> || isFirefox &amp;&amp; css.willChange === <span class="code-string">'filter'</span> || isFirefox &amp;&amp; css.filter &amp;&amp; css.filter !== <span class="code-string">'none'</span>) {
+</code></td></tr><tr><td id="L311" class="css-a4x74f"><span>311</span></td><td id="LC311" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> currentNode;
+</code></td></tr><tr><td id="L312" class="css-a4x74f"><span>312</span></td><td id="LC312" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> {
+</code></td></tr><tr><td id="L313" class="css-a4x74f"><span>313</span></td><td id="LC313" class="css-1dcdqdg"><code> currentNode = currentNode.parentNode;
+</code></td></tr><tr><td id="L314" class="css-a4x74f"><span>314</span></td><td id="LC314" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L315" class="css-a4x74f"><span>315</span></td><td id="LC315" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L316" class="css-a4x74f"><span>316</span></td><td id="LC316" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L317" class="css-a4x74f"><span>317</span></td><td id="LC317" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>;
+</code></td></tr><tr><td id="L318" class="css-a4x74f"><span>318</span></td><td id="LC318" class="css-1dcdqdg"><code> } <span class="code-comment">// Gets the closest ancestor positioned element. Handles some edge cases,</span>
+</code></td></tr><tr><td id="L319" class="css-a4x74f"><span>319</span></td><td id="LC319" class="css-1dcdqdg"><code> <span class="code-comment">// such as table ancestors and cross browser bugs.</span>
+</code></td></tr><tr><td id="L320" class="css-a4x74f"><span>320</span></td><td id="LC320" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L321" class="css-a4x74f"><span>321</span></td><td id="LC321" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L322" class="css-a4x74f"><span>322</span></td><td id="LC322" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getOffsetParent</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L323" class="css-a4x74f"><span>323</span></td><td id="LC323" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> <span class="code-built_in">window</span> = getWindow(element);
+</code></td></tr><tr><td id="L324" class="css-a4x74f"><span>324</span></td><td id="LC324" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsetParent = getTrueOffsetParent(element);
+</code></td></tr><tr><td id="L325" class="css-a4x74f"><span>325</span></td><td id="LC325" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L326" class="css-a4x74f"><span>326</span></td><td id="LC326" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (offsetParent &amp;&amp; isTableElement(offsetParent) &amp;&amp; getComputedStyle(offsetParent).position === <span class="code-string">'static'</span>) {
+</code></td></tr><tr><td id="L327" class="css-a4x74f"><span>327</span></td><td id="LC327" class="css-1dcdqdg"><code> offsetParent = getTrueOffsetParent(offsetParent);
+</code></td></tr><tr><td id="L328" class="css-a4x74f"><span>328</span></td><td id="LC328" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L329" class="css-a4x74f"><span>329</span></td><td id="LC329" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L330" class="css-a4x74f"><span>330</span></td><td id="LC330" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offsetParent &amp;&amp; (getNodeName(offsetParent) === <span class="code-string">'html'</span> || getNodeName(offsetParent) === <span class="code-string">'body'</span> &amp;&amp; getComputedStyle(offsetParent).position === <span class="code-string">'static'</span>)) {
+</code></td></tr><tr><td id="L331" class="css-a4x74f"><span>331</span></td><td id="LC331" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">window</span>;
+</code></td></tr><tr><td id="L332" class="css-a4x74f"><span>332</span></td><td id="LC332" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L333" class="css-a4x74f"><span>333</span></td><td id="LC333" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L334" class="css-a4x74f"><span>334</span></td><td id="LC334" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offsetParent || getContainingBlock(element) || <span class="code-built_in">window</span>;
+</code></td></tr><tr><td id="L335" class="css-a4x74f"><span>335</span></td><td id="LC335" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L336" class="css-a4x74f"><span>336</span></td><td id="LC336" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L337" class="css-a4x74f"><span>337</span></td><td id="LC337" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> top = <span class="code-string">'top'</span>;
+</code></td></tr><tr><td id="L338" class="css-a4x74f"><span>338</span></td><td id="LC338" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> bottom = <span class="code-string">'bottom'</span>;
+</code></td></tr><tr><td id="L339" class="css-a4x74f"><span>339</span></td><td id="LC339" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> right = <span class="code-string">'right'</span>;
+</code></td></tr><tr><td id="L340" class="css-a4x74f"><span>340</span></td><td id="LC340" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> left = <span class="code-string">'left'</span>;
+</code></td></tr><tr><td id="L341" class="css-a4x74f"><span>341</span></td><td id="LC341" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> auto = <span class="code-string">'auto'</span>;
+</code></td></tr><tr><td id="L342" class="css-a4x74f"><span>342</span></td><td id="LC342" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> basePlacements = [top, bottom, right, left];
+</code></td></tr><tr><td id="L343" class="css-a4x74f"><span>343</span></td><td id="LC343" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-string">'start'</span>;
+</code></td></tr><tr><td id="L344" class="css-a4x74f"><span>344</span></td><td id="LC344" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> end = <span class="code-string">'end'</span>;
+</code></td></tr><tr><td id="L345" class="css-a4x74f"><span>345</span></td><td id="LC345" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clippingParents = <span class="code-string">'clippingParents'</span>;
+</code></td></tr><tr><td id="L346" class="css-a4x74f"><span>346</span></td><td id="LC346" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> viewport = <span class="code-string">'viewport'</span>;
+</code></td></tr><tr><td id="L347" class="css-a4x74f"><span>347</span></td><td id="LC347" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> popper = <span class="code-string">'popper'</span>;
+</code></td></tr><tr><td id="L348" class="css-a4x74f"><span>348</span></td><td id="LC348" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> reference = <span class="code-string">'reference'</span>;
+</code></td></tr><tr><td id="L349" class="css-a4x74f"><span>349</span></td><td id="LC349" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L350" class="css-a4x74f"><span>350</span></td><td id="LC350" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> beforeRead = <span class="code-string">'beforeRead'</span>;
+</code></td></tr><tr><td id="L351" class="css-a4x74f"><span>351</span></td><td id="LC351" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> read = <span class="code-string">'read'</span>;
+</code></td></tr><tr><td id="L352" class="css-a4x74f"><span>352</span></td><td id="LC352" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> afterRead = <span class="code-string">'afterRead'</span>; <span class="code-comment">// pure-logic modifiers</span>
+</code></td></tr><tr><td id="L353" class="css-a4x74f"><span>353</span></td><td id="LC353" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L354" class="css-a4x74f"><span>354</span></td><td id="LC354" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> beforeMain = <span class="code-string">'beforeMain'</span>;
+</code></td></tr><tr><td id="L355" class="css-a4x74f"><span>355</span></td><td id="LC355" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> main = <span class="code-string">'main'</span>;
+</code></td></tr><tr><td id="L356" class="css-a4x74f"><span>356</span></td><td id="LC356" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> afterMain = <span class="code-string">'afterMain'</span>; <span class="code-comment">// modifier with the purpose to write to the DOM (or write into a framework state)</span>
+</code></td></tr><tr><td id="L357" class="css-a4x74f"><span>357</span></td><td id="LC357" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L358" class="css-a4x74f"><span>358</span></td><td id="LC358" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> beforeWrite = <span class="code-string">'beforeWrite'</span>;
+</code></td></tr><tr><td id="L359" class="css-a4x74f"><span>359</span></td><td id="LC359" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> write = <span class="code-string">'write'</span>;
+</code></td></tr><tr><td id="L360" class="css-a4x74f"><span>360</span></td><td id="LC360" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> afterWrite = <span class="code-string">'afterWrite'</span>;
+</code></td></tr><tr><td id="L361" class="css-a4x74f"><span>361</span></td><td id="LC361" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
+</code></td></tr><tr><td id="L362" class="css-a4x74f"><span>362</span></td><td id="LC362" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L363" class="css-a4x74f"><span>363</span></td><td id="LC363" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">order</span>(<span class="code-params">modifiers</span>) </span>{
+</code></td></tr><tr><td id="L364" class="css-a4x74f"><span>364</span></td><td id="LC364" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> map = <span class="code-keyword">new</span> <span class="code-built_in">Map</span>();
+</code></td></tr><tr><td id="L365" class="css-a4x74f"><span>365</span></td><td id="LC365" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> visited = <span class="code-keyword">new</span> <span class="code-built_in">Set</span>();
+</code></td></tr><tr><td id="L366" class="css-a4x74f"><span>366</span></td><td id="LC366" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = [];
+</code></td></tr><tr><td id="L367" class="css-a4x74f"><span>367</span></td><td id="LC367" class="css-1dcdqdg"><code> modifiers.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">modifier</span>) </span>{
+</code></td></tr><tr><td id="L368" class="css-a4x74f"><span>368</span></td><td id="LC368" class="css-1dcdqdg"><code> map.set(modifier.name, modifier);
+</code></td></tr><tr><td id="L369" class="css-a4x74f"><span>369</span></td><td id="LC369" class="css-1dcdqdg"><code> }); <span class="code-comment">// On visiting object, check for its dependencies and visit them recursively</span>
+</code></td></tr><tr><td id="L370" class="css-a4x74f"><span>370</span></td><td id="LC370" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L371" class="css-a4x74f"><span>371</span></td><td id="LC371" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">sort</span>(<span class="code-params">modifier</span>) </span>{
+</code></td></tr><tr><td id="L372" class="css-a4x74f"><span>372</span></td><td id="LC372" class="css-1dcdqdg"><code> visited.add(modifier.name);
+</code></td></tr><tr><td id="L373" class="css-a4x74f"><span>373</span></td><td id="LC373" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
+</code></td></tr><tr><td id="L374" class="css-a4x74f"><span>374</span></td><td id="LC374" class="css-1dcdqdg"><code> requires.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">dep</span>) </span>{
+</code></td></tr><tr><td id="L375" class="css-a4x74f"><span>375</span></td><td id="LC375" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!visited.has(dep)) {
+</code></td></tr><tr><td id="L376" class="css-a4x74f"><span>376</span></td><td id="LC376" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> depModifier = map.get(dep);
+</code></td></tr><tr><td id="L377" class="css-a4x74f"><span>377</span></td><td id="LC377" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L378" class="css-a4x74f"><span>378</span></td><td id="LC378" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (depModifier) {
+</code></td></tr><tr><td id="L379" class="css-a4x74f"><span>379</span></td><td id="LC379" class="css-1dcdqdg"><code> sort(depModifier);
+</code></td></tr><tr><td id="L380" class="css-a4x74f"><span>380</span></td><td id="LC380" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L381" class="css-a4x74f"><span>381</span></td><td id="LC381" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L382" class="css-a4x74f"><span>382</span></td><td id="LC382" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L383" class="css-a4x74f"><span>383</span></td><td id="LC383" class="css-1dcdqdg"><code> result.push(modifier);
+</code></td></tr><tr><td id="L384" class="css-a4x74f"><span>384</span></td><td id="LC384" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L385" class="css-a4x74f"><span>385</span></td><td id="LC385" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L386" class="css-a4x74f"><span>386</span></td><td id="LC386" class="css-1dcdqdg"><code> modifiers.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">modifier</span>) </span>{
+</code></td></tr><tr><td id="L387" class="css-a4x74f"><span>387</span></td><td id="LC387" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!visited.has(modifier.name)) {
+</code></td></tr><tr><td id="L388" class="css-a4x74f"><span>388</span></td><td id="LC388" class="css-1dcdqdg"><code> <span class="code-comment">// check for visited object</span>
+</code></td></tr><tr><td id="L389" class="css-a4x74f"><span>389</span></td><td id="LC389" class="css-1dcdqdg"><code> sort(modifier);
+</code></td></tr><tr><td id="L390" class="css-a4x74f"><span>390</span></td><td id="LC390" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L391" class="css-a4x74f"><span>391</span></td><td id="LC391" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L392" class="css-a4x74f"><span>392</span></td><td id="LC392" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result;
+</code></td></tr><tr><td id="L393" class="css-a4x74f"><span>393</span></td><td id="LC393" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L394" class="css-a4x74f"><span>394</span></td><td id="LC394" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L395" class="css-a4x74f"><span>395</span></td><td id="LC395" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">orderModifiers</span>(<span class="code-params">modifiers</span>) </span>{
+</code></td></tr><tr><td id="L396" class="css-a4x74f"><span>396</span></td><td id="LC396" class="css-1dcdqdg"><code> <span class="code-comment">// order based on dependencies</span>
+</code></td></tr><tr><td id="L397" class="css-a4x74f"><span>397</span></td><td id="LC397" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> orderedModifiers = order(modifiers); <span class="code-comment">// order based on phase</span>
+</code></td></tr><tr><td id="L398" class="css-a4x74f"><span>398</span></td><td id="LC398" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L399" class="css-a4x74f"><span>399</span></td><td id="LC399" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> modifierPhases.reduce(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">acc, phase</span>) </span>{
+</code></td></tr><tr><td id="L400" class="css-a4x74f"><span>400</span></td><td id="LC400" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> acc.concat(orderedModifiers.filter(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">modifier</span>) </span>{
+</code></td></tr><tr><td id="L401" class="css-a4x74f"><span>401</span></td><td id="LC401" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> modifier.phase === phase;
+</code></td></tr><tr><td id="L402" class="css-a4x74f"><span>402</span></td><td id="LC402" class="css-1dcdqdg"><code> }));
+</code></td></tr><tr><td id="L403" class="css-a4x74f"><span>403</span></td><td id="LC403" class="css-1dcdqdg"><code> }, []);
+</code></td></tr><tr><td id="L404" class="css-a4x74f"><span>404</span></td><td id="LC404" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L405" class="css-a4x74f"><span>405</span></td><td id="LC405" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L406" class="css-a4x74f"><span>406</span></td><td id="LC406" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">debounce</span>(<span class="code-params">fn</span>) </span>{
+</code></td></tr><tr><td id="L407" class="css-a4x74f"><span>407</span></td><td id="LC407" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pending;
+</code></td></tr><tr><td id="L408" class="css-a4x74f"><span>408</span></td><td id="LC408" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L409" class="css-a4x74f"><span>409</span></td><td id="LC409" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!pending) {
+</code></td></tr><tr><td id="L410" class="css-a4x74f"><span>410</span></td><td id="LC410" class="css-1dcdqdg"><code> pending = <span class="code-keyword">new</span> <span class="code-built_in">Promise</span>(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">resolve</span>) </span>{
+</code></td></tr><tr><td id="L411" class="css-a4x74f"><span>411</span></td><td id="LC411" class="css-1dcdqdg"><code> <span class="code-built_in">Promise</span>.resolve().then(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L412" class="css-a4x74f"><span>412</span></td><td id="LC412" class="css-1dcdqdg"><code> pending = <span class="code-literal">undefined</span>;
+</code></td></tr><tr><td id="L413" class="css-a4x74f"><span>413</span></td><td id="LC413" class="css-1dcdqdg"><code> resolve(fn());
+</code></td></tr><tr><td id="L414" class="css-a4x74f"><span>414</span></td><td id="LC414" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L415" class="css-a4x74f"><span>415</span></td><td id="LC415" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L416" class="css-a4x74f"><span>416</span></td><td id="LC416" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L417" class="css-a4x74f"><span>417</span></td><td id="LC417" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L418" class="css-a4x74f"><span>418</span></td><td id="LC418" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> pending;
+</code></td></tr><tr><td id="L419" class="css-a4x74f"><span>419</span></td><td id="LC419" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L420" class="css-a4x74f"><span>420</span></td><td id="LC420" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L421" class="css-a4x74f"><span>421</span></td><td id="LC421" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L422" class="css-a4x74f"><span>422</span></td><td id="LC422" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">format</span>(<span class="code-params">str</span>) </span>{
+</code></td></tr><tr><td id="L423" class="css-a4x74f"><span>423</span></td><td id="LC423" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> _len = <span class="code-built_in">arguments</span>.length, args = <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(_len &gt; <span class="code-number">1</span> ? _len - <span class="code-number">1</span> : <span class="code-number">0</span>), _key = <span class="code-number">1</span>; _key &lt; _len; _key++) {
+</code></td></tr><tr><td id="L424" class="css-a4x74f"><span>424</span></td><td id="LC424" class="css-1dcdqdg"><code> args[_key - <span class="code-number">1</span>] = <span class="code-built_in">arguments</span>[_key];
+</code></td></tr><tr><td id="L425" class="css-a4x74f"><span>425</span></td><td id="LC425" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L426" class="css-a4x74f"><span>426</span></td><td id="LC426" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L427" class="css-a4x74f"><span>427</span></td><td id="LC427" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> [].concat(args).reduce(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">p, c</span>) </span>{
+</code></td></tr><tr><td id="L428" class="css-a4x74f"><span>428</span></td><td id="LC428" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> p.replace(<span class="code-regexp">/%s/</span>, c);
+</code></td></tr><tr><td id="L429" class="css-a4x74f"><span>429</span></td><td id="LC429" class="css-1dcdqdg"><code> }, str);
+</code></td></tr><tr><td id="L430" class="css-a4x74f"><span>430</span></td><td id="LC430" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L431" class="css-a4x74f"><span>431</span></td><td id="LC431" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L432" class="css-a4x74f"><span>432</span></td><td id="LC432" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> INVALID_MODIFIER_ERROR = <span class="code-string">'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s'</span>;
+</code></td></tr><tr><td id="L433" class="css-a4x74f"><span>433</span></td><td id="LC433" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MISSING_DEPENDENCY_ERROR = <span class="code-string">'Popper: modifier "%s" requires "%s", but "%s" modifier is not available'</span>;
+</code></td></tr><tr><td id="L434" class="css-a4x74f"><span>434</span></td><td id="LC434" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> VALID_PROPERTIES = [<span class="code-string">'name'</span>, <span class="code-string">'enabled'</span>, <span class="code-string">'phase'</span>, <span class="code-string">'fn'</span>, <span class="code-string">'effect'</span>, <span class="code-string">'requires'</span>, <span class="code-string">'options'</span>];
+</code></td></tr><tr><td id="L435" class="css-a4x74f"><span>435</span></td><td id="LC435" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">validateModifiers</span>(<span class="code-params">modifiers</span>) </span>{
+</code></td></tr><tr><td id="L436" class="css-a4x74f"><span>436</span></td><td id="LC436" class="css-1dcdqdg"><code> modifiers.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">modifier</span>) </span>{
+</code></td></tr><tr><td id="L437" class="css-a4x74f"><span>437</span></td><td id="LC437" class="css-1dcdqdg"><code> [].concat(<span class="code-built_in">Object</span>.keys(modifier), VALID_PROPERTIES) <span class="code-comment">// IE11-compatible replacement for `new Set(iterable)`</span>
+</code></td></tr><tr><td id="L438" class="css-a4x74f"><span>438</span></td><td id="LC438" class="css-1dcdqdg"><code> .filter(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value, index, self</span>) </span>{
+</code></td></tr><tr><td id="L439" class="css-a4x74f"><span>439</span></td><td id="LC439" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> self.indexOf(value) === index;
+</code></td></tr><tr><td id="L440" class="css-a4x74f"><span>440</span></td><td id="LC440" class="css-1dcdqdg"><code> }).forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">key</span>) </span>{
+</code></td></tr><tr><td id="L441" class="css-a4x74f"><span>441</span></td><td id="LC441" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (key) {
+</code></td></tr><tr><td id="L442" class="css-a4x74f"><span>442</span></td><td id="LC442" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'name'</span>:
+</code></td></tr><tr><td id="L443" class="css-a4x74f"><span>443</span></td><td id="LC443" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> modifier.name !== <span class="code-string">'string'</span>) {
+</code></td></tr><tr><td id="L444" class="css-a4x74f"><span>444</span></td><td id="LC444" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(format(INVALID_MODIFIER_ERROR, <span class="code-built_in">String</span>(modifier.name), <span class="code-string">'"name"'</span>, <span class="code-string">'"string"'</span>, <span class="code-string">"\""</span> + <span class="code-built_in">String</span>(modifier.name) + <span class="code-string">"\""</span>));
+</code></td></tr><tr><td id="L445" class="css-a4x74f"><span>445</span></td><td id="LC445" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L446" class="css-a4x74f"><span>446</span></td><td id="LC446" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L447" class="css-a4x74f"><span>447</span></td><td id="LC447" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L448" class="css-a4x74f"><span>448</span></td><td id="LC448" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L449" class="css-a4x74f"><span>449</span></td><td id="LC449" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'enabled'</span>:
+</code></td></tr><tr><td id="L450" class="css-a4x74f"><span>450</span></td><td id="LC450" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> modifier.enabled !== <span class="code-string">'boolean'</span>) {
+</code></td></tr><tr><td id="L451" class="css-a4x74f"><span>451</span></td><td id="LC451" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class="code-string">'"enabled"'</span>, <span class="code-string">'"boolean"'</span>, <span class="code-string">"\""</span> + <span class="code-built_in">String</span>(modifier.enabled) + <span class="code-string">"\""</span>));
+</code></td></tr><tr><td id="L452" class="css-a4x74f"><span>452</span></td><td id="LC452" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L453" class="css-a4x74f"><span>453</span></td><td id="LC453" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L454" class="css-a4x74f"><span>454</span></td><td id="LC454" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L455" class="css-a4x74f"><span>455</span></td><td id="LC455" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L456" class="css-a4x74f"><span>456</span></td><td id="LC456" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'phase'</span>:
+</code></td></tr><tr><td id="L457" class="css-a4x74f"><span>457</span></td><td id="LC457" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (modifierPhases.indexOf(modifier.phase) &lt; <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L458" class="css-a4x74f"><span>458</span></td><td id="LC458" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class="code-string">'"phase"'</span>, <span class="code-string">"either "</span> + modifierPhases.join(<span class="code-string">', '</span>), <span class="code-string">"\""</span> + <span class="code-built_in">String</span>(modifier.phase) + <span class="code-string">"\""</span>));
+</code></td></tr><tr><td id="L459" class="css-a4x74f"><span>459</span></td><td id="LC459" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L460" class="css-a4x74f"><span>460</span></td><td id="LC460" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L461" class="css-a4x74f"><span>461</span></td><td id="LC461" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L462" class="css-a4x74f"><span>462</span></td><td id="LC462" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L463" class="css-a4x74f"><span>463</span></td><td id="LC463" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'fn'</span>:
+</code></td></tr><tr><td id="L464" class="css-a4x74f"><span>464</span></td><td id="LC464" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> modifier.fn !== <span class="code-string">'function'</span>) {
+</code></td></tr><tr><td id="L465" class="css-a4x74f"><span>465</span></td><td id="LC465" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class="code-string">'"fn"'</span>, <span class="code-string">'"function"'</span>, <span class="code-string">"\""</span> + <span class="code-built_in">String</span>(modifier.fn) + <span class="code-string">"\""</span>));
+</code></td></tr><tr><td id="L466" class="css-a4x74f"><span>466</span></td><td id="LC466" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L467" class="css-a4x74f"><span>467</span></td><td id="LC467" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L468" class="css-a4x74f"><span>468</span></td><td id="LC468" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L469" class="css-a4x74f"><span>469</span></td><td id="LC469" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L470" class="css-a4x74f"><span>470</span></td><td id="LC470" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'effect'</span>:
+</code></td></tr><tr><td id="L471" class="css-a4x74f"><span>471</span></td><td id="LC471" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (modifier.effect != <span class="code-literal">null</span> &amp;&amp; <span class="code-keyword">typeof</span> modifier.effect !== <span class="code-string">'function'</span>) {
+</code></td></tr><tr><td id="L472" class="css-a4x74f"><span>472</span></td><td id="LC472" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class="code-string">'"effect"'</span>, <span class="code-string">'"function"'</span>, <span class="code-string">"\""</span> + <span class="code-built_in">String</span>(modifier.fn) + <span class="code-string">"\""</span>));
+</code></td></tr><tr><td id="L473" class="css-a4x74f"><span>473</span></td><td id="LC473" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L474" class="css-a4x74f"><span>474</span></td><td id="LC474" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L475" class="css-a4x74f"><span>475</span></td><td id="LC475" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L476" class="css-a4x74f"><span>476</span></td><td id="LC476" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L477" class="css-a4x74f"><span>477</span></td><td id="LC477" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'requires'</span>:
+</code></td></tr><tr><td id="L478" class="css-a4x74f"><span>478</span></td><td id="LC478" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (modifier.requires != <span class="code-literal">null</span> &amp;&amp; !<span class="code-built_in">Array</span>.isArray(modifier.requires)) {
+</code></td></tr><tr><td id="L479" class="css-a4x74f"><span>479</span></td><td id="LC479" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class="code-string">'"requires"'</span>, <span class="code-string">'"array"'</span>, <span class="code-string">"\""</span> + <span class="code-built_in">String</span>(modifier.requires) + <span class="code-string">"\""</span>));
+</code></td></tr><tr><td id="L480" class="css-a4x74f"><span>480</span></td><td id="LC480" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L481" class="css-a4x74f"><span>481</span></td><td id="LC481" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L482" class="css-a4x74f"><span>482</span></td><td id="LC482" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L483" class="css-a4x74f"><span>483</span></td><td id="LC483" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L484" class="css-a4x74f"><span>484</span></td><td id="LC484" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'requiresIfExists'</span>:
+</code></td></tr><tr><td id="L485" class="css-a4x74f"><span>485</span></td><td id="LC485" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-built_in">Array</span>.isArray(modifier.requiresIfExists)) {
+</code></td></tr><tr><td id="L486" class="css-a4x74f"><span>486</span></td><td id="LC486" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(format(INVALID_MODIFIER_ERROR, modifier.name, <span class="code-string">'"requiresIfExists"'</span>, <span class="code-string">'"array"'</span>, <span class="code-string">"\""</span> + <span class="code-built_in">String</span>(modifier.requiresIfExists) + <span class="code-string">"\""</span>));
+</code></td></tr><tr><td id="L487" class="css-a4x74f"><span>487</span></td><td id="LC487" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L488" class="css-a4x74f"><span>488</span></td><td id="LC488" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L489" class="css-a4x74f"><span>489</span></td><td id="LC489" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L490" class="css-a4x74f"><span>490</span></td><td id="LC490" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L491" class="css-a4x74f"><span>491</span></td><td id="LC491" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'options'</span>:
+</code></td></tr><tr><td id="L492" class="css-a4x74f"><span>492</span></td><td id="LC492" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'data'</span>:
+</code></td></tr><tr><td id="L493" class="css-a4x74f"><span>493</span></td><td id="LC493" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L494" class="css-a4x74f"><span>494</span></td><td id="LC494" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L495" class="css-a4x74f"><span>495</span></td><td id="LC495" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>:
+</code></td></tr><tr><td id="L496" class="css-a4x74f"><span>496</span></td><td id="LC496" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(<span class="code-string">"PopperJS: an invalid property has been provided to the \""</span> + modifier.name + <span class="code-string">"\" modifier, valid properties are "</span> + VALID_PROPERTIES.map(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">s</span>) </span>{
+</code></td></tr><tr><td id="L497" class="css-a4x74f"><span>497</span></td><td id="LC497" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-string">"\""</span> + s + <span class="code-string">"\""</span>;
+</code></td></tr><tr><td id="L498" class="css-a4x74f"><span>498</span></td><td id="LC498" class="css-1dcdqdg"><code> }).join(<span class="code-string">', '</span>) + <span class="code-string">"; but \""</span> + key + <span class="code-string">"\" was provided."</span>);
+</code></td></tr><tr><td id="L499" class="css-a4x74f"><span>499</span></td><td id="LC499" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L500" class="css-a4x74f"><span>500</span></td><td id="LC500" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L501" class="css-a4x74f"><span>501</span></td><td id="LC501" class="css-1dcdqdg"><code> modifier.requires &amp;&amp; modifier.requires.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">requirement</span>) </span>{
+</code></td></tr><tr><td id="L502" class="css-a4x74f"><span>502</span></td><td id="LC502" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (modifiers.find(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">mod</span>) </span>{
+</code></td></tr><tr><td id="L503" class="css-a4x74f"><span>503</span></td><td id="LC503" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> mod.name === requirement;
+</code></td></tr><tr><td id="L504" class="css-a4x74f"><span>504</span></td><td id="LC504" class="css-1dcdqdg"><code> }) == <span class="code-literal">null</span>) {
+</code></td></tr><tr><td id="L505" class="css-a4x74f"><span>505</span></td><td id="LC505" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(format(MISSING_DEPENDENCY_ERROR, <span class="code-built_in">String</span>(modifier.name), requirement, requirement));
+</code></td></tr><tr><td id="L506" class="css-a4x74f"><span>506</span></td><td id="LC506" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L507" class="css-a4x74f"><span>507</span></td><td id="LC507" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L508" class="css-a4x74f"><span>508</span></td><td id="LC508" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L509" class="css-a4x74f"><span>509</span></td><td id="LC509" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L510" class="css-a4x74f"><span>510</span></td><td id="LC510" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L511" class="css-a4x74f"><span>511</span></td><td id="LC511" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L512" class="css-a4x74f"><span>512</span></td><td id="LC512" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">uniqueBy</span>(<span class="code-params">arr, fn</span>) </span>{
+</code></td></tr><tr><td id="L513" class="css-a4x74f"><span>513</span></td><td id="LC513" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> identifiers = <span class="code-keyword">new</span> <span class="code-built_in">Set</span>();
+</code></td></tr><tr><td id="L514" class="css-a4x74f"><span>514</span></td><td id="LC514" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> arr.filter(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">item</span>) </span>{
+</code></td></tr><tr><td id="L515" class="css-a4x74f"><span>515</span></td><td id="LC515" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> identifier = fn(item);
+</code></td></tr><tr><td id="L516" class="css-a4x74f"><span>516</span></td><td id="LC516" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L517" class="css-a4x74f"><span>517</span></td><td id="LC517" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!identifiers.has(identifier)) {
+</code></td></tr><tr><td id="L518" class="css-a4x74f"><span>518</span></td><td id="LC518" class="css-1dcdqdg"><code> identifiers.add(identifier);
+</code></td></tr><tr><td id="L519" class="css-a4x74f"><span>519</span></td><td id="LC519" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>;
+</code></td></tr><tr><td id="L520" class="css-a4x74f"><span>520</span></td><td id="LC520" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L521" class="css-a4x74f"><span>521</span></td><td id="LC521" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L522" class="css-a4x74f"><span>522</span></td><td id="LC522" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L523" class="css-a4x74f"><span>523</span></td><td id="LC523" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L524" class="css-a4x74f"><span>524</span></td><td id="LC524" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getBasePlacement</span>(<span class="code-params">placement</span>) </span>{
+</code></td></tr><tr><td id="L525" class="css-a4x74f"><span>525</span></td><td id="LC525" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> placement.split(<span class="code-string">'-'</span>)[<span class="code-number">0</span>];
+</code></td></tr><tr><td id="L526" class="css-a4x74f"><span>526</span></td><td id="LC526" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L527" class="css-a4x74f"><span>527</span></td><td id="LC527" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L528" class="css-a4x74f"><span>528</span></td><td id="LC528" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">mergeByName</span>(<span class="code-params">modifiers</span>) </span>{
+</code></td></tr><tr><td id="L529" class="css-a4x74f"><span>529</span></td><td id="LC529" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> merged = modifiers.reduce(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">merged, current</span>) </span>{
+</code></td></tr><tr><td id="L530" class="css-a4x74f"><span>530</span></td><td id="LC530" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> existing = merged[current.name];
+</code></td></tr><tr><td id="L531" class="css-a4x74f"><span>531</span></td><td id="LC531" class="css-1dcdqdg"><code> merged[current.name] = existing ? <span class="code-built_in">Object</span>.assign({}, existing, current, {
+</code></td></tr><tr><td id="L532" class="css-a4x74f"><span>532</span></td><td id="LC532" class="css-1dcdqdg"><code> options: <span class="code-built_in">Object</span>.assign({}, existing.options, current.options),
+</code></td></tr><tr><td id="L533" class="css-a4x74f"><span>533</span></td><td id="LC533" class="css-1dcdqdg"><code> data: <span class="code-built_in">Object</span>.assign({}, existing.data, current.data)
+</code></td></tr><tr><td id="L534" class="css-a4x74f"><span>534</span></td><td id="LC534" class="css-1dcdqdg"><code> }) : current;
+</code></td></tr><tr><td id="L535" class="css-a4x74f"><span>535</span></td><td id="LC535" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> merged;
+</code></td></tr><tr><td id="L536" class="css-a4x74f"><span>536</span></td><td id="LC536" class="css-1dcdqdg"><code> }, {}); <span class="code-comment">// IE11 does not support Object.values</span>
+</code></td></tr><tr><td id="L537" class="css-a4x74f"><span>537</span></td><td id="LC537" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L538" class="css-a4x74f"><span>538</span></td><td id="LC538" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Object</span>.keys(merged).map(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">key</span>) </span>{
+</code></td></tr><tr><td id="L539" class="css-a4x74f"><span>539</span></td><td id="LC539" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> merged[key];
+</code></td></tr><tr><td id="L540" class="css-a4x74f"><span>540</span></td><td id="LC540" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L541" class="css-a4x74f"><span>541</span></td><td id="LC541" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L542" class="css-a4x74f"><span>542</span></td><td id="LC542" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L543" class="css-a4x74f"><span>543</span></td><td id="LC543" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getViewportRect</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L544" class="css-a4x74f"><span>544</span></td><td id="LC544" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> win = getWindow(element);
+</code></td></tr><tr><td id="L545" class="css-a4x74f"><span>545</span></td><td id="LC545" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> html = getDocumentElement(element);
+</code></td></tr><tr><td id="L546" class="css-a4x74f"><span>546</span></td><td id="LC546" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> visualViewport = win.visualViewport;
+</code></td></tr><tr><td id="L547" class="css-a4x74f"><span>547</span></td><td id="LC547" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> width = html.clientWidth;
+</code></td></tr><tr><td id="L548" class="css-a4x74f"><span>548</span></td><td id="LC548" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> height = html.clientHeight;
+</code></td></tr><tr><td id="L549" class="css-a4x74f"><span>549</span></td><td id="LC549" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> x = <span class="code-number">0</span>;
+</code></td></tr><tr><td id="L550" class="css-a4x74f"><span>550</span></td><td id="LC550" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> y = <span class="code-number">0</span>; <span class="code-comment">// NB: This isn't supported on iOS &lt;= 12. If the keyboard is open, the popper</span>
+</code></td></tr><tr><td id="L551" class="css-a4x74f"><span>551</span></td><td id="LC551" class="css-1dcdqdg"><code> <span class="code-comment">// can be obscured underneath it.</span>
+</code></td></tr><tr><td id="L552" class="css-a4x74f"><span>552</span></td><td id="LC552" class="css-1dcdqdg"><code> <span class="code-comment">// Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even</span>
+</code></td></tr><tr><td id="L553" class="css-a4x74f"><span>553</span></td><td id="LC553" class="css-1dcdqdg"><code> <span class="code-comment">// if it isn't open, so if this isn't available, the popper will be detected</span>
+</code></td></tr><tr><td id="L554" class="css-a4x74f"><span>554</span></td><td id="LC554" class="css-1dcdqdg"><code> <span class="code-comment">// to overflow the bottom of the screen too early.</span>
+</code></td></tr><tr><td id="L555" class="css-a4x74f"><span>555</span></td><td id="LC555" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L556" class="css-a4x74f"><span>556</span></td><td id="LC556" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (visualViewport) {
+</code></td></tr><tr><td id="L557" class="css-a4x74f"><span>557</span></td><td id="LC557" class="css-1dcdqdg"><code> width = visualViewport.width;
+</code></td></tr><tr><td id="L558" class="css-a4x74f"><span>558</span></td><td id="LC558" class="css-1dcdqdg"><code> height = visualViewport.height; <span class="code-comment">// Uses Layout Viewport (like Chrome; Safari does not currently)</span>
+</code></td></tr><tr><td id="L559" class="css-a4x74f"><span>559</span></td><td id="LC559" class="css-1dcdqdg"><code> <span class="code-comment">// In Chrome, it returns a value very close to 0 (+/-) but contains rounding</span>
+</code></td></tr><tr><td id="L560" class="css-a4x74f"><span>560</span></td><td id="LC560" class="css-1dcdqdg"><code> <span class="code-comment">// errors due to floating point numbers, so we need to check precision.</span>
+</code></td></tr><tr><td id="L561" class="css-a4x74f"><span>561</span></td><td id="LC561" class="css-1dcdqdg"><code> <span class="code-comment">// Safari returns a number &lt;= 0, usually &lt; -1 when pinch-zoomed</span>
+</code></td></tr><tr><td id="L562" class="css-a4x74f"><span>562</span></td><td id="LC562" class="css-1dcdqdg"><code> <span class="code-comment">// Feature detection fails in mobile emulation mode in Chrome.</span>
+</code></td></tr><tr><td id="L563" class="css-a4x74f"><span>563</span></td><td id="LC563" class="css-1dcdqdg"><code> <span class="code-comment">// Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) &lt;</span>
+</code></td></tr><tr><td id="L564" class="css-a4x74f"><span>564</span></td><td id="LC564" class="css-1dcdqdg"><code> <span class="code-comment">// 0.001</span>
+</code></td></tr><tr><td id="L565" class="css-a4x74f"><span>565</span></td><td id="LC565" class="css-1dcdqdg"><code> <span class="code-comment">// Fallback here: "Not Safari" userAgent</span>
+</code></td></tr><tr><td id="L566" class="css-a4x74f"><span>566</span></td><td id="LC566" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L567" class="css-a4x74f"><span>567</span></td><td id="LC567" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-regexp">/^((?!chrome|android).)*safari/i</span>.test(navigator.userAgent)) {
+</code></td></tr><tr><td id="L568" class="css-a4x74f"><span>568</span></td><td id="LC568" class="css-1dcdqdg"><code> x = visualViewport.offsetLeft;
+</code></td></tr><tr><td id="L569" class="css-a4x74f"><span>569</span></td><td id="LC569" class="css-1dcdqdg"><code> y = visualViewport.offsetTop;
+</code></td></tr><tr><td id="L570" class="css-a4x74f"><span>570</span></td><td id="LC570" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L571" class="css-a4x74f"><span>571</span></td><td id="LC571" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L572" class="css-a4x74f"><span>572</span></td><td id="LC572" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L573" class="css-a4x74f"><span>573</span></td><td id="LC573" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> {
+</code></td></tr><tr><td id="L574" class="css-a4x74f"><span>574</span></td><td id="LC574" class="css-1dcdqdg"><code> width: width,
+</code></td></tr><tr><td id="L575" class="css-a4x74f"><span>575</span></td><td id="LC575" class="css-1dcdqdg"><code> height: height,
+</code></td></tr><tr><td id="L576" class="css-a4x74f"><span>576</span></td><td id="LC576" class="css-1dcdqdg"><code> x: x + getWindowScrollBarX(element),
+</code></td></tr><tr><td id="L577" class="css-a4x74f"><span>577</span></td><td id="LC577" class="css-1dcdqdg"><code> y: y
+</code></td></tr><tr><td id="L578" class="css-a4x74f"><span>578</span></td><td id="LC578" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L579" class="css-a4x74f"><span>579</span></td><td id="LC579" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L580" class="css-a4x74f"><span>580</span></td><td id="LC580" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L581" class="css-a4x74f"><span>581</span></td><td id="LC581" class="css-1dcdqdg"><code> <span class="code-comment">// of the `&lt;html&gt;` and `&lt;body&gt;` rect bounds if horizontally scrollable</span>
+</code></td></tr><tr><td id="L582" class="css-a4x74f"><span>582</span></td><td id="LC582" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L583" class="css-a4x74f"><span>583</span></td><td id="LC583" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getDocumentRect</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L584" class="css-a4x74f"><span>584</span></td><td id="LC584" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _element$ownerDocumen;
+</code></td></tr><tr><td id="L585" class="css-a4x74f"><span>585</span></td><td id="LC585" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L586" class="css-a4x74f"><span>586</span></td><td id="LC586" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> html = getDocumentElement(element);
+</code></td></tr><tr><td id="L587" class="css-a4x74f"><span>587</span></td><td id="LC587" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> winScroll = getWindowScroll(element);
+</code></td></tr><tr><td id="L588" class="css-a4x74f"><span>588</span></td><td id="LC588" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> body = (_element$ownerDocumen = element.ownerDocument) == <span class="code-literal">null</span> ? <span class="code-keyword">void</span> <span class="code-number">0</span> : _element$ownerDocumen.body;
+</code></td></tr><tr><td id="L589" class="css-a4x74f"><span>589</span></td><td id="LC589" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : <span class="code-number">0</span>, body ? body.clientWidth : <span class="code-number">0</span>);
+</code></td></tr><tr><td id="L590" class="css-a4x74f"><span>590</span></td><td id="LC590" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : <span class="code-number">0</span>, body ? body.clientHeight : <span class="code-number">0</span>);
+</code></td></tr><tr><td id="L591" class="css-a4x74f"><span>591</span></td><td id="LC591" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> x = -winScroll.scrollLeft + getWindowScrollBarX(element);
+</code></td></tr><tr><td id="L592" class="css-a4x74f"><span>592</span></td><td id="LC592" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> y = -winScroll.scrollTop;
+</code></td></tr><tr><td id="L593" class="css-a4x74f"><span>593</span></td><td id="LC593" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L594" class="css-a4x74f"><span>594</span></td><td id="LC594" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getComputedStyle(body || html).direction === <span class="code-string">'rtl'</span>) {
+</code></td></tr><tr><td id="L595" class="css-a4x74f"><span>595</span></td><td id="LC595" class="css-1dcdqdg"><code> x += max(html.clientWidth, body ? body.clientWidth : <span class="code-number">0</span>) - width;
+</code></td></tr><tr><td id="L596" class="css-a4x74f"><span>596</span></td><td id="LC596" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L597" class="css-a4x74f"><span>597</span></td><td id="LC597" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L598" class="css-a4x74f"><span>598</span></td><td id="LC598" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> {
+</code></td></tr><tr><td id="L599" class="css-a4x74f"><span>599</span></td><td id="LC599" class="css-1dcdqdg"><code> width: width,
+</code></td></tr><tr><td id="L600" class="css-a4x74f"><span>600</span></td><td id="LC600" class="css-1dcdqdg"><code> height: height,
+</code></td></tr><tr><td id="L601" class="css-a4x74f"><span>601</span></td><td id="LC601" class="css-1dcdqdg"><code> x: x,
+</code></td></tr><tr><td id="L602" class="css-a4x74f"><span>602</span></td><td id="LC602" class="css-1dcdqdg"><code> y: y
+</code></td></tr><tr><td id="L603" class="css-a4x74f"><span>603</span></td><td id="LC603" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L604" class="css-a4x74f"><span>604</span></td><td id="LC604" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L605" class="css-a4x74f"><span>605</span></td><td id="LC605" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L606" class="css-a4x74f"><span>606</span></td><td id="LC606" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">contains</span>(<span class="code-params">parent, child</span>) </span>{
+</code></td></tr><tr><td id="L607" class="css-a4x74f"><span>607</span></td><td id="LC607" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rootNode = child.getRootNode &amp;&amp; child.getRootNode(); <span class="code-comment">// First, attempt with faster native method</span>
+</code></td></tr><tr><td id="L608" class="css-a4x74f"><span>608</span></td><td id="LC608" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L609" class="css-a4x74f"><span>609</span></td><td id="LC609" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parent.contains(child)) {
+</code></td></tr><tr><td id="L610" class="css-a4x74f"><span>610</span></td><td id="LC610" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>;
+</code></td></tr><tr><td id="L611" class="css-a4x74f"><span>611</span></td><td id="LC611" class="css-1dcdqdg"><code> } <span class="code-comment">// then fallback to custom implementation with Shadow DOM support</span>
+</code></td></tr><tr><td id="L612" class="css-a4x74f"><span>612</span></td><td id="LC612" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (rootNode &amp;&amp; isShadowRoot(rootNode)) {
+</code></td></tr><tr><td id="L613" class="css-a4x74f"><span>613</span></td><td id="LC613" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> next = child;
+</code></td></tr><tr><td id="L614" class="css-a4x74f"><span>614</span></td><td id="LC614" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L615" class="css-a4x74f"><span>615</span></td><td id="LC615" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> {
+</code></td></tr><tr><td id="L616" class="css-a4x74f"><span>616</span></td><td id="LC616" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (next &amp;&amp; parent.isSameNode(next)) {
+</code></td></tr><tr><td id="L617" class="css-a4x74f"><span>617</span></td><td id="LC617" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>;
+</code></td></tr><tr><td id="L618" class="css-a4x74f"><span>618</span></td><td id="LC618" class="css-1dcdqdg"><code> } <span class="code-comment">// $FlowFixMe[prop-missing]: need a better way to handle this...</span>
+</code></td></tr><tr><td id="L619" class="css-a4x74f"><span>619</span></td><td id="LC619" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L620" class="css-a4x74f"><span>620</span></td><td id="LC620" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L621" class="css-a4x74f"><span>621</span></td><td id="LC621" class="css-1dcdqdg"><code> next = next.parentNode || next.host;
+</code></td></tr><tr><td id="L622" class="css-a4x74f"><span>622</span></td><td id="LC622" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (next);
+</code></td></tr><tr><td id="L623" class="css-a4x74f"><span>623</span></td><td id="LC623" class="css-1dcdqdg"><code> } <span class="code-comment">// Give up, the result is false</span>
+</code></td></tr><tr><td id="L624" class="css-a4x74f"><span>624</span></td><td id="LC624" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L625" class="css-a4x74f"><span>625</span></td><td id="LC625" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L626" class="css-a4x74f"><span>626</span></td><td id="LC626" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>;
+</code></td></tr><tr><td id="L627" class="css-a4x74f"><span>627</span></td><td id="LC627" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L628" class="css-a4x74f"><span>628</span></td><td id="LC628" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L629" class="css-a4x74f"><span>629</span></td><td id="LC629" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">rectToClientRect</span>(<span class="code-params">rect</span>) </span>{
+</code></td></tr><tr><td id="L630" class="css-a4x74f"><span>630</span></td><td id="LC630" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Object</span>.assign({}, rect, {
+</code></td></tr><tr><td id="L631" class="css-a4x74f"><span>631</span></td><td id="LC631" class="css-1dcdqdg"><code> left: rect.x,
+</code></td></tr><tr><td id="L632" class="css-a4x74f"><span>632</span></td><td id="LC632" class="css-1dcdqdg"><code> top: rect.y,
+</code></td></tr><tr><td id="L633" class="css-a4x74f"><span>633</span></td><td id="LC633" class="css-1dcdqdg"><code> right: rect.x + rect.width,
+</code></td></tr><tr><td id="L634" class="css-a4x74f"><span>634</span></td><td id="LC634" class="css-1dcdqdg"><code> bottom: rect.y + rect.height
+</code></td></tr><tr><td id="L635" class="css-a4x74f"><span>635</span></td><td id="LC635" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L636" class="css-a4x74f"><span>636</span></td><td id="LC636" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L637" class="css-a4x74f"><span>637</span></td><td id="LC637" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L638" class="css-a4x74f"><span>638</span></td><td id="LC638" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getInnerBoundingClientRect</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L639" class="css-a4x74f"><span>639</span></td><td id="LC639" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rect = getBoundingClientRect(element);
+</code></td></tr><tr><td id="L640" class="css-a4x74f"><span>640</span></td><td id="LC640" class="css-1dcdqdg"><code> rect.top = rect.top + element.clientTop;
+</code></td></tr><tr><td id="L641" class="css-a4x74f"><span>641</span></td><td id="LC641" class="css-1dcdqdg"><code> rect.left = rect.left + element.clientLeft;
+</code></td></tr><tr><td id="L642" class="css-a4x74f"><span>642</span></td><td id="LC642" class="css-1dcdqdg"><code> rect.bottom = rect.top + element.clientHeight;
+</code></td></tr><tr><td id="L643" class="css-a4x74f"><span>643</span></td><td id="LC643" class="css-1dcdqdg"><code> rect.right = rect.left + element.clientWidth;
+</code></td></tr><tr><td id="L644" class="css-a4x74f"><span>644</span></td><td id="LC644" class="css-1dcdqdg"><code> rect.width = element.clientWidth;
+</code></td></tr><tr><td id="L645" class="css-a4x74f"><span>645</span></td><td id="LC645" class="css-1dcdqdg"><code> rect.height = element.clientHeight;
+</code></td></tr><tr><td id="L646" class="css-a4x74f"><span>646</span></td><td id="LC646" class="css-1dcdqdg"><code> rect.x = rect.left;
+</code></td></tr><tr><td id="L647" class="css-a4x74f"><span>647</span></td><td id="LC647" class="css-1dcdqdg"><code> rect.y = rect.top;
+</code></td></tr><tr><td id="L648" class="css-a4x74f"><span>648</span></td><td id="LC648" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> rect;
+</code></td></tr><tr><td id="L649" class="css-a4x74f"><span>649</span></td><td id="LC649" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L650" class="css-a4x74f"><span>650</span></td><td id="LC650" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L651" class="css-a4x74f"><span>651</span></td><td id="LC651" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getClientRectFromMixedType</span>(<span class="code-params">element, clippingParent</span>) </span>{
+</code></td></tr><tr><td id="L652" class="css-a4x74f"><span>652</span></td><td id="LC652" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
+</code></td></tr><tr><td id="L653" class="css-a4x74f"><span>653</span></td><td id="LC653" class="css-1dcdqdg"><code> } <span class="code-comment">// A "clipping parent" is an overflowable container with the characteristic of</span>
+</code></td></tr><tr><td id="L654" class="css-a4x74f"><span>654</span></td><td id="LC654" class="css-1dcdqdg"><code> <span class="code-comment">// clipping (or hiding) overflowing elements with a position different from</span>
+</code></td></tr><tr><td id="L655" class="css-a4x74f"><span>655</span></td><td id="LC655" class="css-1dcdqdg"><code> <span class="code-comment">// `initial`</span>
+</code></td></tr><tr><td id="L656" class="css-a4x74f"><span>656</span></td><td id="LC656" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L657" class="css-a4x74f"><span>657</span></td><td id="LC657" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L658" class="css-a4x74f"><span>658</span></td><td id="LC658" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getClippingParents</span>(<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L659" class="css-a4x74f"><span>659</span></td><td id="LC659" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clippingParents = listScrollParents(getParentNode(element));
+</code></td></tr><tr><td id="L660" class="css-a4x74f"><span>660</span></td><td id="LC660" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> canEscapeClipping = [<span class="code-string">'absolute'</span>, <span class="code-string">'fixed'</span>].indexOf(getComputedStyle(element).position) &gt;= <span class="code-number">0</span>;
+</code></td></tr><tr><td id="L661" class="css-a4x74f"><span>661</span></td><td id="LC661" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clipperElement = canEscapeClipping &amp;&amp; isHTMLElement(element) ? getOffsetParent(element) : element;
+</code></td></tr><tr><td id="L662" class="css-a4x74f"><span>662</span></td><td id="LC662" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L663" class="css-a4x74f"><span>663</span></td><td id="LC663" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isElement(clipperElement)) {
+</code></td></tr><tr><td id="L664" class="css-a4x74f"><span>664</span></td><td id="LC664" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> [];
+</code></td></tr><tr><td id="L665" class="css-a4x74f"><span>665</span></td><td id="LC665" class="css-1dcdqdg"><code> } <span class="code-comment">// $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414</span>
+</code></td></tr><tr><td id="L666" class="css-a4x74f"><span>666</span></td><td id="LC666" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L667" class="css-a4x74f"><span>667</span></td><td id="LC667" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L668" class="css-a4x74f"><span>668</span></td><td id="LC668" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> clippingParents.filter(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">clippingParent</span>) </span>{
+</code></td></tr><tr><td id="L669" class="css-a4x74f"><span>669</span></td><td id="LC669" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> isElement(clippingParent) &amp;&amp; contains(clippingParent, clipperElement) &amp;&amp; getNodeName(clippingParent) !== <span class="code-string">'body'</span>;
+</code></td></tr><tr><td id="L670" class="css-a4x74f"><span>670</span></td><td id="LC670" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L671" class="css-a4x74f"><span>671</span></td><td id="LC671" class="css-1dcdqdg"><code> } <span class="code-comment">// Gets the maximum area that the element is visible in due to any number of</span>
+</code></td></tr><tr><td id="L672" class="css-a4x74f"><span>672</span></td><td id="LC672" class="css-1dcdqdg"><code> <span class="code-comment">// clipping parents</span>
+</code></td></tr><tr><td id="L673" class="css-a4x74f"><span>673</span></td><td id="LC673" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L674" class="css-a4x74f"><span>674</span></td><td id="LC674" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L675" class="css-a4x74f"><span>675</span></td><td id="LC675" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getClippingRect</span>(<span class="code-params">element, boundary, rootBoundary</span>) </span>{
+</code></td></tr><tr><td id="L676" class="css-a4x74f"><span>676</span></td><td id="LC676" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mainClippingParents = boundary === <span class="code-string">'clippingParents'</span> ? getClippingParents(element) : [].concat(boundary);
+</code></td></tr><tr><td id="L677" class="css-a4x74f"><span>677</span></td><td id="LC677" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clippingParents = [].concat(mainClippingParents, [rootBoundary]);
+</code></td></tr><tr><td id="L678" class="css-a4x74f"><span>678</span></td><td id="LC678" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> firstClippingParent = clippingParents[<span class="code-number">0</span>];
+</code></td></tr><tr><td id="L679" class="css-a4x74f"><span>679</span></td><td id="LC679" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clippingRect = clippingParents.reduce(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">accRect, clippingParent</span>) </span>{
+</code></td></tr><tr><td id="L680" class="css-a4x74f"><span>680</span></td><td id="LC680" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rect = getClientRectFromMixedType(element, clippingParent);
+</code></td></tr><tr><td id="L681" class="css-a4x74f"><span>681</span></td><td id="LC681" class="css-1dcdqdg"><code> accRect.top = max(rect.top, accRect.top);
+</code></td></tr><tr><td id="L682" class="css-a4x74f"><span>682</span></td><td id="LC682" class="css-1dcdqdg"><code> accRect.right = min(rect.right, accRect.right);
+</code></td></tr><tr><td id="L683" class="css-a4x74f"><span>683</span></td><td id="LC683" class="css-1dcdqdg"><code> accRect.bottom = min(rect.bottom, accRect.bottom);
+</code></td></tr><tr><td id="L684" class="css-a4x74f"><span>684</span></td><td id="LC684" class="css-1dcdqdg"><code> accRect.left = max(rect.left, accRect.left);
+</code></td></tr><tr><td id="L685" class="css-a4x74f"><span>685</span></td><td id="LC685" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> accRect;
+</code></td></tr><tr><td id="L686" class="css-a4x74f"><span>686</span></td><td id="LC686" class="css-1dcdqdg"><code> }, getClientRectFromMixedType(element, firstClippingParent));
+</code></td></tr><tr><td id="L687" class="css-a4x74f"><span>687</span></td><td id="LC687" class="css-1dcdqdg"><code> clippingRect.width = clippingRect.right - clippingRect.left;
+</code></td></tr><tr><td id="L688" class="css-a4x74f"><span>688</span></td><td id="LC688" class="css-1dcdqdg"><code> clippingRect.height = clippingRect.bottom - clippingRect.top;
+</code></td></tr><tr><td id="L689" class="css-a4x74f"><span>689</span></td><td id="LC689" class="css-1dcdqdg"><code> clippingRect.x = clippingRect.left;
+</code></td></tr><tr><td id="L690" class="css-a4x74f"><span>690</span></td><td id="LC690" class="css-1dcdqdg"><code> clippingRect.y = clippingRect.top;
+</code></td></tr><tr><td id="L691" class="css-a4x74f"><span>691</span></td><td id="LC691" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> clippingRect;
+</code></td></tr><tr><td id="L692" class="css-a4x74f"><span>692</span></td><td id="LC692" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L693" class="css-a4x74f"><span>693</span></td><td id="LC693" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L694" class="css-a4x74f"><span>694</span></td><td id="LC694" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getVariation</span>(<span class="code-params">placement</span>) </span>{
+</code></td></tr><tr><td id="L695" class="css-a4x74f"><span>695</span></td><td id="LC695" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> placement.split(<span class="code-string">'-'</span>)[<span class="code-number">1</span>];
+</code></td></tr><tr><td id="L696" class="css-a4x74f"><span>696</span></td><td id="LC696" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L697" class="css-a4x74f"><span>697</span></td><td id="LC697" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L698" class="css-a4x74f"><span>698</span></td><td id="LC698" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getMainAxisFromPlacement</span>(<span class="code-params">placement</span>) </span>{
+</code></td></tr><tr><td id="L699" class="css-a4x74f"><span>699</span></td><td id="LC699" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> [<span class="code-string">'top'</span>, <span class="code-string">'bottom'</span>].indexOf(placement) &gt;= <span class="code-number">0</span> ? <span class="code-string">'x'</span> : <span class="code-string">'y'</span>;
+</code></td></tr><tr><td id="L700" class="css-a4x74f"><span>700</span></td><td id="LC700" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L701" class="css-a4x74f"><span>701</span></td><td id="LC701" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L702" class="css-a4x74f"><span>702</span></td><td id="LC702" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">computeOffsets</span>(<span class="code-params">_ref</span>) </span>{
+</code></td></tr><tr><td id="L703" class="css-a4x74f"><span>703</span></td><td id="LC703" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> reference = _ref.reference,
+</code></td></tr><tr><td id="L704" class="css-a4x74f"><span>704</span></td><td id="LC704" class="css-1dcdqdg"><code> element = _ref.element,
+</code></td></tr><tr><td id="L705" class="css-a4x74f"><span>705</span></td><td id="LC705" class="css-1dcdqdg"><code> placement = _ref.placement;
+</code></td></tr><tr><td id="L706" class="css-a4x74f"><span>706</span></td><td id="LC706" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> basePlacement = placement ? getBasePlacement(placement) : <span class="code-literal">null</span>;
+</code></td></tr><tr><td id="L707" class="css-a4x74f"><span>707</span></td><td id="LC707" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> variation = placement ? getVariation(placement) : <span class="code-literal">null</span>;
+</code></td></tr><tr><td id="L708" class="css-a4x74f"><span>708</span></td><td id="LC708" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> commonX = reference.x + reference.width / <span class="code-number">2</span> - element.width / <span class="code-number">2</span>;
+</code></td></tr><tr><td id="L709" class="css-a4x74f"><span>709</span></td><td id="LC709" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> commonY = reference.y + reference.height / <span class="code-number">2</span> - element.height / <span class="code-number">2</span>;
+</code></td></tr><tr><td id="L710" class="css-a4x74f"><span>710</span></td><td id="LC710" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsets;
+</code></td></tr><tr><td id="L711" class="css-a4x74f"><span>711</span></td><td id="LC711" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L712" class="css-a4x74f"><span>712</span></td><td id="LC712" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (basePlacement) {
+</code></td></tr><tr><td id="L713" class="css-a4x74f"><span>713</span></td><td id="LC713" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> top:
+</code></td></tr><tr><td id="L714" class="css-a4x74f"><span>714</span></td><td id="LC714" class="css-1dcdqdg"><code> offsets = {
+</code></td></tr><tr><td id="L715" class="css-a4x74f"><span>715</span></td><td id="LC715" class="css-1dcdqdg"><code> x: commonX,
+</code></td></tr><tr><td id="L716" class="css-a4x74f"><span>716</span></td><td id="LC716" class="css-1dcdqdg"><code> y: reference.y - element.height
+</code></td></tr><tr><td id="L717" class="css-a4x74f"><span>717</span></td><td id="LC717" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L718" class="css-a4x74f"><span>718</span></td><td id="LC718" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L719" class="css-a4x74f"><span>719</span></td><td id="LC719" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L720" class="css-a4x74f"><span>720</span></td><td id="LC720" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> bottom:
+</code></td></tr><tr><td id="L721" class="css-a4x74f"><span>721</span></td><td id="LC721" class="css-1dcdqdg"><code> offsets = {
+</code></td></tr><tr><td id="L722" class="css-a4x74f"><span>722</span></td><td id="LC722" class="css-1dcdqdg"><code> x: commonX,
+</code></td></tr><tr><td id="L723" class="css-a4x74f"><span>723</span></td><td id="LC723" class="css-1dcdqdg"><code> y: reference.y + reference.height
+</code></td></tr><tr><td id="L724" class="css-a4x74f"><span>724</span></td><td id="LC724" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L725" class="css-a4x74f"><span>725</span></td><td id="LC725" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L726" class="css-a4x74f"><span>726</span></td><td id="LC726" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L727" class="css-a4x74f"><span>727</span></td><td id="LC727" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> right:
+</code></td></tr><tr><td id="L728" class="css-a4x74f"><span>728</span></td><td id="LC728" class="css-1dcdqdg"><code> offsets = {
+</code></td></tr><tr><td id="L729" class="css-a4x74f"><span>729</span></td><td id="LC729" class="css-1dcdqdg"><code> x: reference.x + reference.width,
+</code></td></tr><tr><td id="L730" class="css-a4x74f"><span>730</span></td><td id="LC730" class="css-1dcdqdg"><code> y: commonY
+</code></td></tr><tr><td id="L731" class="css-a4x74f"><span>731</span></td><td id="LC731" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L732" class="css-a4x74f"><span>732</span></td><td id="LC732" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L733" class="css-a4x74f"><span>733</span></td><td id="LC733" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L734" class="css-a4x74f"><span>734</span></td><td id="LC734" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> left:
+</code></td></tr><tr><td id="L735" class="css-a4x74f"><span>735</span></td><td id="LC735" class="css-1dcdqdg"><code> offsets = {
+</code></td></tr><tr><td id="L736" class="css-a4x74f"><span>736</span></td><td id="LC736" class="css-1dcdqdg"><code> x: reference.x - element.width,
+</code></td></tr><tr><td id="L737" class="css-a4x74f"><span>737</span></td><td id="LC737" class="css-1dcdqdg"><code> y: commonY
+</code></td></tr><tr><td id="L738" class="css-a4x74f"><span>738</span></td><td id="LC738" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L739" class="css-a4x74f"><span>739</span></td><td id="LC739" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L740" class="css-a4x74f"><span>740</span></td><td id="LC740" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L741" class="css-a4x74f"><span>741</span></td><td id="LC741" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>:
+</code></td></tr><tr><td id="L742" class="css-a4x74f"><span>742</span></td><td id="LC742" class="css-1dcdqdg"><code> offsets = {
+</code></td></tr><tr><td id="L743" class="css-a4x74f"><span>743</span></td><td id="LC743" class="css-1dcdqdg"><code> x: reference.x,
+</code></td></tr><tr><td id="L744" class="css-a4x74f"><span>744</span></td><td id="LC744" class="css-1dcdqdg"><code> y: reference.y
+</code></td></tr><tr><td id="L745" class="css-a4x74f"><span>745</span></td><td id="LC745" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L746" class="css-a4x74f"><span>746</span></td><td id="LC746" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L747" class="css-a4x74f"><span>747</span></td><td id="LC747" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L748" class="css-a4x74f"><span>748</span></td><td id="LC748" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : <span class="code-literal">null</span>;
+</code></td></tr><tr><td id="L749" class="css-a4x74f"><span>749</span></td><td id="LC749" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L750" class="css-a4x74f"><span>750</span></td><td id="LC750" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (mainAxis != <span class="code-literal">null</span>) {
+</code></td></tr><tr><td id="L751" class="css-a4x74f"><span>751</span></td><td id="LC751" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> len = mainAxis === <span class="code-string">'y'</span> ? <span class="code-string">'height'</span> : <span class="code-string">'width'</span>;
+</code></td></tr><tr><td id="L752" class="css-a4x74f"><span>752</span></td><td id="LC752" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L753" class="css-a4x74f"><span>753</span></td><td id="LC753" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (variation) {
+</code></td></tr><tr><td id="L754" class="css-a4x74f"><span>754</span></td><td id="LC754" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> start:
+</code></td></tr><tr><td id="L755" class="css-a4x74f"><span>755</span></td><td id="LC755" class="css-1dcdqdg"><code> offsets[mainAxis] = offsets[mainAxis] - (reference[len] / <span class="code-number">2</span> - element[len] / <span class="code-number">2</span>);
+</code></td></tr><tr><td id="L756" class="css-a4x74f"><span>756</span></td><td id="LC756" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L757" class="css-a4x74f"><span>757</span></td><td id="LC757" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L758" class="css-a4x74f"><span>758</span></td><td id="LC758" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> end:
+</code></td></tr><tr><td id="L759" class="css-a4x74f"><span>759</span></td><td id="LC759" class="css-1dcdqdg"><code> offsets[mainAxis] = offsets[mainAxis] + (reference[len] / <span class="code-number">2</span> - element[len] / <span class="code-number">2</span>);
+</code></td></tr><tr><td id="L760" class="css-a4x74f"><span>760</span></td><td id="LC760" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L761" class="css-a4x74f"><span>761</span></td><td id="LC761" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L762" class="css-a4x74f"><span>762</span></td><td id="LC762" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L763" class="css-a4x74f"><span>763</span></td><td id="LC763" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L764" class="css-a4x74f"><span>764</span></td><td id="LC764" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offsets;
+</code></td></tr><tr><td id="L765" class="css-a4x74f"><span>765</span></td><td id="LC765" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L766" class="css-a4x74f"><span>766</span></td><td id="LC766" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L767" class="css-a4x74f"><span>767</span></td><td id="LC767" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getFreshSideObject</span>(<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L768" class="css-a4x74f"><span>768</span></td><td id="LC768" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> {
+</code></td></tr><tr><td id="L769" class="css-a4x74f"><span>769</span></td><td id="LC769" class="css-1dcdqdg"><code> top: <span class="code-number">0</span>,
+</code></td></tr><tr><td id="L770" class="css-a4x74f"><span>770</span></td><td id="LC770" class="css-1dcdqdg"><code> right: <span class="code-number">0</span>,
+</code></td></tr><tr><td id="L771" class="css-a4x74f"><span>771</span></td><td id="LC771" class="css-1dcdqdg"><code> bottom: <span class="code-number">0</span>,
+</code></td></tr><tr><td id="L772" class="css-a4x74f"><span>772</span></td><td id="LC772" class="css-1dcdqdg"><code> left: <span class="code-number">0</span>
+</code></td></tr><tr><td id="L773" class="css-a4x74f"><span>773</span></td><td id="LC773" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L774" class="css-a4x74f"><span>774</span></td><td id="LC774" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L775" class="css-a4x74f"><span>775</span></td><td id="LC775" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L776" class="css-a4x74f"><span>776</span></td><td id="LC776" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">mergePaddingObject</span>(<span class="code-params">paddingObject</span>) </span>{
+</code></td></tr><tr><td id="L777" class="css-a4x74f"><span>777</span></td><td id="LC777" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Object</span>.assign({}, getFreshSideObject(), paddingObject);
+</code></td></tr><tr><td id="L778" class="css-a4x74f"><span>778</span></td><td id="LC778" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L779" class="css-a4x74f"><span>779</span></td><td id="LC779" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L780" class="css-a4x74f"><span>780</span></td><td id="LC780" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">expandToHashMap</span>(<span class="code-params">value, keys</span>) </span>{
+</code></td></tr><tr><td id="L781" class="css-a4x74f"><span>781</span></td><td id="LC781" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> keys.reduce(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">hashMap, key</span>) </span>{
+</code></td></tr><tr><td id="L782" class="css-a4x74f"><span>782</span></td><td id="LC782" class="css-1dcdqdg"><code> hashMap[key] = value;
+</code></td></tr><tr><td id="L783" class="css-a4x74f"><span>783</span></td><td id="LC783" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> hashMap;
+</code></td></tr><tr><td id="L784" class="css-a4x74f"><span>784</span></td><td id="LC784" class="css-1dcdqdg"><code> }, {});
+</code></td></tr><tr><td id="L785" class="css-a4x74f"><span>785</span></td><td id="LC785" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L786" class="css-a4x74f"><span>786</span></td><td id="LC786" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L787" class="css-a4x74f"><span>787</span></td><td id="LC787" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">detectOverflow</span>(<span class="code-params">state, options</span>) </span>{
+</code></td></tr><tr><td id="L788" class="css-a4x74f"><span>788</span></td><td id="LC788" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (options === <span class="code-keyword">void</span> <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L789" class="css-a4x74f"><span>789</span></td><td id="LC789" class="css-1dcdqdg"><code> options = {};
+</code></td></tr><tr><td id="L790" class="css-a4x74f"><span>790</span></td><td id="LC790" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L791" class="css-a4x74f"><span>791</span></td><td id="LC791" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L792" class="css-a4x74f"><span>792</span></td><td id="LC792" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _options = options,
+</code></td></tr><tr><td id="L793" class="css-a4x74f"><span>793</span></td><td id="LC793" class="css-1dcdqdg"><code> _options$placement = _options.placement,
+</code></td></tr><tr><td id="L794" class="css-a4x74f"><span>794</span></td><td id="LC794" class="css-1dcdqdg"><code> placement = _options$placement === <span class="code-keyword">void</span> <span class="code-number">0</span> ? state.placement : _options$placement,
+</code></td></tr><tr><td id="L795" class="css-a4x74f"><span>795</span></td><td id="LC795" class="css-1dcdqdg"><code> _options$boundary = _options.boundary,
+</code></td></tr><tr><td id="L796" class="css-a4x74f"><span>796</span></td><td id="LC796" class="css-1dcdqdg"><code> boundary = _options$boundary === <span class="code-keyword">void</span> <span class="code-number">0</span> ? clippingParents : _options$boundary,
+</code></td></tr><tr><td id="L797" class="css-a4x74f"><span>797</span></td><td id="LC797" class="css-1dcdqdg"><code> _options$rootBoundary = _options.rootBoundary,
+</code></td></tr><tr><td id="L798" class="css-a4x74f"><span>798</span></td><td id="LC798" class="css-1dcdqdg"><code> rootBoundary = _options$rootBoundary === <span class="code-keyword">void</span> <span class="code-number">0</span> ? viewport : _options$rootBoundary,
+</code></td></tr><tr><td id="L799" class="css-a4x74f"><span>799</span></td><td id="LC799" class="css-1dcdqdg"><code> _options$elementConte = _options.elementContext,
+</code></td></tr><tr><td id="L800" class="css-a4x74f"><span>800</span></td><td id="LC800" class="css-1dcdqdg"><code> elementContext = _options$elementConte === <span class="code-keyword">void</span> <span class="code-number">0</span> ? popper : _options$elementConte,
+</code></td></tr><tr><td id="L801" class="css-a4x74f"><span>801</span></td><td id="LC801" class="css-1dcdqdg"><code> _options$altBoundary = _options.altBoundary,
+</code></td></tr><tr><td id="L802" class="css-a4x74f"><span>802</span></td><td id="LC802" class="css-1dcdqdg"><code> altBoundary = _options$altBoundary === <span class="code-keyword">void</span> <span class="code-number">0</span> ? <span class="code-literal">false</span> : _options$altBoundary,
+</code></td></tr><tr><td id="L803" class="css-a4x74f"><span>803</span></td><td id="LC803" class="css-1dcdqdg"><code> _options$padding = _options.padding,
+</code></td></tr><tr><td id="L804" class="css-a4x74f"><span>804</span></td><td id="LC804" class="css-1dcdqdg"><code> padding = _options$padding === <span class="code-keyword">void</span> <span class="code-number">0</span> ? <span class="code-number">0</span> : _options$padding;
+</code></td></tr><tr><td id="L805" class="css-a4x74f"><span>805</span></td><td id="LC805" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> paddingObject = mergePaddingObject(<span class="code-keyword">typeof</span> padding !== <span class="code-string">'number'</span> ? padding : expandToHashMap(padding, basePlacements));
+</code></td></tr><tr><td id="L806" class="css-a4x74f"><span>806</span></td><td id="LC806" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> altContext = elementContext === popper ? reference : popper;
+</code></td></tr><tr><td id="L807" class="css-a4x74f"><span>807</span></td><td id="LC807" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> popperRect = state.rects.popper;
+</code></td></tr><tr><td id="L808" class="css-a4x74f"><span>808</span></td><td id="LC808" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> element = state.elements[altBoundary ? altContext : elementContext];
+</code></td></tr><tr><td id="L809" class="css-a4x74f"><span>809</span></td><td id="LC809" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
+</code></td></tr><tr><td id="L810" class="css-a4x74f"><span>810</span></td><td id="LC810" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> referenceClientRect = getBoundingClientRect(state.elements.reference);
+</code></td></tr><tr><td id="L811" class="css-a4x74f"><span>811</span></td><td id="LC811" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> popperOffsets = computeOffsets({
+</code></td></tr><tr><td id="L812" class="css-a4x74f"><span>812</span></td><td id="LC812" class="css-1dcdqdg"><code> reference: referenceClientRect,
+</code></td></tr><tr><td id="L813" class="css-a4x74f"><span>813</span></td><td id="LC813" class="css-1dcdqdg"><code> element: popperRect,
+</code></td></tr><tr><td id="L814" class="css-a4x74f"><span>814</span></td><td id="LC814" class="css-1dcdqdg"><code> strategy: <span class="code-string">'absolute'</span>,
+</code></td></tr><tr><td id="L815" class="css-a4x74f"><span>815</span></td><td id="LC815" class="css-1dcdqdg"><code> placement: placement
+</code></td></tr><tr><td id="L816" class="css-a4x74f"><span>816</span></td><td id="LC816" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L817" class="css-a4x74f"><span>817</span></td><td id="LC817" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> popperClientRect = rectToClientRect(<span class="code-built_in">Object</span>.assign({}, popperRect, popperOffsets));
+</code></td></tr><tr><td id="L818" class="css-a4x74f"><span>818</span></td><td id="LC818" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; <span class="code-comment">// positive = overflowing the clipping rect</span>
+</code></td></tr><tr><td id="L819" class="css-a4x74f"><span>819</span></td><td id="LC819" class="css-1dcdqdg"><code> <span class="code-comment">// 0 or negative = within the clipping rect</span>
+</code></td></tr><tr><td id="L820" class="css-a4x74f"><span>820</span></td><td id="LC820" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L821" class="css-a4x74f"><span>821</span></td><td id="LC821" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> overflowOffsets = {
+</code></td></tr><tr><td id="L822" class="css-a4x74f"><span>822</span></td><td id="LC822" class="css-1dcdqdg"><code> top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
+</code></td></tr><tr><td id="L823" class="css-a4x74f"><span>823</span></td><td id="LC823" class="css-1dcdqdg"><code> bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
+</code></td></tr><tr><td id="L824" class="css-a4x74f"><span>824</span></td><td id="LC824" class="css-1dcdqdg"><code> left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
+</code></td></tr><tr><td id="L825" class="css-a4x74f"><span>825</span></td><td id="LC825" class="css-1dcdqdg"><code> right: elementClientRect.right - clippingClientRect.right + paddingObject.right
+</code></td></tr><tr><td id="L826" class="css-a4x74f"><span>826</span></td><td id="LC826" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L827" class="css-a4x74f"><span>827</span></td><td id="LC827" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsetData = state.modifiersData.offset; <span class="code-comment">// Offsets can be applied only to the popper element</span>
+</code></td></tr><tr><td id="L828" class="css-a4x74f"><span>828</span></td><td id="LC828" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L829" class="css-a4x74f"><span>829</span></td><td id="LC829" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (elementContext === popper &amp;&amp; offsetData) {
+</code></td></tr><tr><td id="L830" class="css-a4x74f"><span>830</span></td><td id="LC830" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offset = offsetData[placement];
+</code></td></tr><tr><td id="L831" class="css-a4x74f"><span>831</span></td><td id="LC831" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(overflowOffsets).forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">key</span>) </span>{
+</code></td></tr><tr><td id="L832" class="css-a4x74f"><span>832</span></td><td id="LC832" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> multiply = [right, bottom].indexOf(key) &gt;= <span class="code-number">0</span> ? <span class="code-number">1</span> : <span class="code-number">-1</span>;
+</code></td></tr><tr><td id="L833" class="css-a4x74f"><span>833</span></td><td id="LC833" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> axis = [top, bottom].indexOf(key) &gt;= <span class="code-number">0</span> ? <span class="code-string">'y'</span> : <span class="code-string">'x'</span>;
+</code></td></tr><tr><td id="L834" class="css-a4x74f"><span>834</span></td><td id="LC834" class="css-1dcdqdg"><code> overflowOffsets[key] += offset[axis] * multiply;
+</code></td></tr><tr><td id="L835" class="css-a4x74f"><span>835</span></td><td id="LC835" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L836" class="css-a4x74f"><span>836</span></td><td id="LC836" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L837" class="css-a4x74f"><span>837</span></td><td id="LC837" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L838" class="css-a4x74f"><span>838</span></td><td id="LC838" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> overflowOffsets;
+</code></td></tr><tr><td id="L839" class="css-a4x74f"><span>839</span></td><td id="LC839" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L840" class="css-a4x74f"><span>840</span></td><td id="LC840" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L841" class="css-a4x74f"><span>841</span></td><td id="LC841" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> INVALID_ELEMENT_ERROR = <span class="code-string">'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.'</span>;
+</code></td></tr><tr><td id="L842" class="css-a4x74f"><span>842</span></td><td id="LC842" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> INFINITE_LOOP_ERROR = <span class="code-string">'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'</span>;
+</code></td></tr><tr><td id="L843" class="css-a4x74f"><span>843</span></td><td id="LC843" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DEFAULT_OPTIONS = {
+</code></td></tr><tr><td id="L844" class="css-a4x74f"><span>844</span></td><td id="LC844" class="css-1dcdqdg"><code> placement: <span class="code-string">'bottom'</span>,
+</code></td></tr><tr><td id="L845" class="css-a4x74f"><span>845</span></td><td id="LC845" class="css-1dcdqdg"><code> modifiers: [],
+</code></td></tr><tr><td id="L846" class="css-a4x74f"><span>846</span></td><td id="LC846" class="css-1dcdqdg"><code> strategy: <span class="code-string">'absolute'</span>
+</code></td></tr><tr><td id="L847" class="css-a4x74f"><span>847</span></td><td id="LC847" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L848" class="css-a4x74f"><span>848</span></td><td id="LC848" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L849" class="css-a4x74f"><span>849</span></td><td id="LC849" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">areValidElements</span>(<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L850" class="css-a4x74f"><span>850</span></td><td id="LC850" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> _len = <span class="code-built_in">arguments</span>.length, args = <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(_len), _key = <span class="code-number">0</span>; _key &lt; _len; _key++) {
+</code></td></tr><tr><td id="L851" class="css-a4x74f"><span>851</span></td><td id="LC851" class="css-1dcdqdg"><code> args[_key] = <span class="code-built_in">arguments</span>[_key];
+</code></td></tr><tr><td id="L852" class="css-a4x74f"><span>852</span></td><td id="LC852" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L853" class="css-a4x74f"><span>853</span></td><td id="LC853" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L854" class="css-a4x74f"><span>854</span></td><td id="LC854" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> !args.some(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">element</span>) </span>{
+</code></td></tr><tr><td id="L855" class="css-a4x74f"><span>855</span></td><td id="LC855" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> !(element &amp;&amp; <span class="code-keyword">typeof</span> element.getBoundingClientRect === <span class="code-string">'function'</span>);
+</code></td></tr><tr><td id="L856" class="css-a4x74f"><span>856</span></td><td id="LC856" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L857" class="css-a4x74f"><span>857</span></td><td id="LC857" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L858" class="css-a4x74f"><span>858</span></td><td id="LC858" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L859" class="css-a4x74f"><span>859</span></td><td id="LC859" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">popperGenerator</span>(<span class="code-params">generatorOptions</span>) </span>{
+</code></td></tr><tr><td id="L860" class="css-a4x74f"><span>860</span></td><td id="LC860" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (generatorOptions === <span class="code-keyword">void</span> <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L861" class="css-a4x74f"><span>861</span></td><td id="LC861" class="css-1dcdqdg"><code> generatorOptions = {};
+</code></td></tr><tr><td id="L862" class="css-a4x74f"><span>862</span></td><td id="LC862" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L863" class="css-a4x74f"><span>863</span></td><td id="LC863" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L864" class="css-a4x74f"><span>864</span></td><td id="LC864" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _generatorOptions = generatorOptions,
+</code></td></tr><tr><td id="L865" class="css-a4x74f"><span>865</span></td><td id="LC865" class="css-1dcdqdg"><code> _generatorOptions$def = _generatorOptions.defaultModifiers,
+</code></td></tr><tr><td id="L866" class="css-a4x74f"><span>866</span></td><td id="LC866" class="css-1dcdqdg"><code> defaultModifiers = _generatorOptions$def === <span class="code-keyword">void</span> <span class="code-number">0</span> ? [] : _generatorOptions$def,
+</code></td></tr><tr><td id="L867" class="css-a4x74f"><span>867</span></td><td id="LC867" class="css-1dcdqdg"><code> _generatorOptions$def2 = _generatorOptions.defaultOptions,
+</code></td></tr><tr><td id="L868" class="css-a4x74f"><span>868</span></td><td id="LC868" class="css-1dcdqdg"><code> defaultOptions = _generatorOptions$def2 === <span class="code-keyword">void</span> <span class="code-number">0</span> ? DEFAULT_OPTIONS : _generatorOptions$def2;
+</code></td></tr><tr><td id="L869" class="css-a4x74f"><span>869</span></td><td id="LC869" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createPopper</span>(<span class="code-params">reference, popper, options</span>) </span>{
+</code></td></tr><tr><td id="L870" class="css-a4x74f"><span>870</span></td><td id="LC870" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (options === <span class="code-keyword">void</span> <span class="code-number">0</span>) {
+</code></td></tr><tr><td id="L871" class="css-a4x74f"><span>871</span></td><td id="LC871" class="css-1dcdqdg"><code> options = defaultOptions;
+</code></td></tr><tr><td id="L872" class="css-a4x74f"><span>872</span></td><td id="LC872" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L873" class="css-a4x74f"><span>873</span></td><td id="LC873" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L874" class="css-a4x74f"><span>874</span></td><td id="LC874" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> state = {
+</code></td></tr><tr><td id="L875" class="css-a4x74f"><span>875</span></td><td id="LC875" class="css-1dcdqdg"><code> placement: <span class="code-string">'bottom'</span>,
+</code></td></tr><tr><td id="L876" class="css-a4x74f"><span>876</span></td><td id="LC876" class="css-1dcdqdg"><code> orderedModifiers: [],
+</code></td></tr><tr><td id="L877" class="css-a4x74f"><span>877</span></td><td id="LC877" class="css-1dcdqdg"><code> options: <span class="code-built_in">Object</span>.assign({}, DEFAULT_OPTIONS, defaultOptions),
+</code></td></tr><tr><td id="L878" class="css-a4x74f"><span>878</span></td><td id="LC878" class="css-1dcdqdg"><code> modifiersData: {},
+</code></td></tr><tr><td id="L879" class="css-a4x74f"><span>879</span></td><td id="LC879" class="css-1dcdqdg"><code> elements: {
+</code></td></tr><tr><td id="L880" class="css-a4x74f"><span>880</span></td><td id="LC880" class="css-1dcdqdg"><code> reference: reference,
+</code></td></tr><tr><td id="L881" class="css-a4x74f"><span>881</span></td><td id="LC881" class="css-1dcdqdg"><code> popper: popper
+</code></td></tr><tr><td id="L882" class="css-a4x74f"><span>882</span></td><td id="LC882" class="css-1dcdqdg"><code> },
+</code></td></tr><tr><td id="L883" class="css-a4x74f"><span>883</span></td><td id="LC883" class="css-1dcdqdg"><code> attributes: {},
+</code></td></tr><tr><td id="L884" class="css-a4x74f"><span>884</span></td><td id="LC884" class="css-1dcdqdg"><code> styles: {}
+</code></td></tr><tr><td id="L885" class="css-a4x74f"><span>885</span></td><td id="LC885" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L886" class="css-a4x74f"><span>886</span></td><td id="LC886" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> effectCleanupFns = [];
+</code></td></tr><tr><td id="L887" class="css-a4x74f"><span>887</span></td><td id="LC887" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isDestroyed = <span class="code-literal">false</span>;
+</code></td></tr><tr><td id="L888" class="css-a4x74f"><span>888</span></td><td id="LC888" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> instance = {
+</code></td></tr><tr><td id="L889" class="css-a4x74f"><span>889</span></td><td id="LC889" class="css-1dcdqdg"><code> state: state,
+</code></td></tr><tr><td id="L890" class="css-a4x74f"><span>890</span></td><td id="LC890" class="css-1dcdqdg"><code> setOptions: <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">setOptions</span>(<span class="code-params">setOptionsAction</span>) </span>{
+</code></td></tr><tr><td id="L891" class="css-a4x74f"><span>891</span></td><td id="LC891" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> options = <span class="code-keyword">typeof</span> setOptionsAction === <span class="code-string">'function'</span> ? setOptionsAction(state.options) : setOptionsAction;
+</code></td></tr><tr><td id="L892" class="css-a4x74f"><span>892</span></td><td id="LC892" class="css-1dcdqdg"><code> cleanupModifierEffects();
+</code></td></tr><tr><td id="L893" class="css-a4x74f"><span>893</span></td><td id="LC893" class="css-1dcdqdg"><code> state.options = <span class="code-built_in">Object</span>.assign({}, defaultOptions, state.options, options);
+</code></td></tr><tr><td id="L894" class="css-a4x74f"><span>894</span></td><td id="LC894" class="css-1dcdqdg"><code> state.scrollParents = {
+</code></td></tr><tr><td id="L895" class="css-a4x74f"><span>895</span></td><td id="LC895" class="css-1dcdqdg"><code> reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],
+</code></td></tr><tr><td id="L896" class="css-a4x74f"><span>896</span></td><td id="LC896" class="css-1dcdqdg"><code> popper: listScrollParents(popper)
+</code></td></tr><tr><td id="L897" class="css-a4x74f"><span>897</span></td><td id="LC897" class="css-1dcdqdg"><code> }; <span class="code-comment">// Orders the modifiers based on their dependencies and `phase`</span>
+</code></td></tr><tr><td id="L898" class="css-a4x74f"><span>898</span></td><td id="LC898" class="css-1dcdqdg"><code> <span class="code-comment">// properties</span>
+</code></td></tr><tr><td id="L899" class="css-a4x74f"><span>899</span></td><td id="LC899" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L900" class="css-a4x74f"><span>900</span></td><td id="LC900" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); <span class="code-comment">// Strip out disabled modifiers</span>
+</code></td></tr><tr><td id="L901" class="css-a4x74f"><span>901</span></td><td id="LC901" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L902" class="css-a4x74f"><span>902</span></td><td id="LC902" class="css-1dcdqdg"><code> state.orderedModifiers = orderedModifiers.filter(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">m</span>) </span>{
+</code></td></tr><tr><td id="L903" class="css-a4x74f"><span>903</span></td><td id="LC903" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> m.enabled;
+</code></td></tr><tr><td id="L904" class="css-a4x74f"><span>904</span></td><td id="LC904" class="css-1dcdqdg"><code> }); <span class="code-comment">// Validate the provided modifiers so that the consumer will get warned</span>
+</code></td></tr><tr><td id="L905" class="css-a4x74f"><span>905</span></td><td id="LC905" class="css-1dcdqdg"><code> <span class="code-comment">// if one of the modifiers is invalid for any reason</span>
+</code></td></tr><tr><td id="L906" class="css-a4x74f"><span>906</span></td><td id="LC906" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L907" class="css-a4x74f"><span>907</span></td><td id="LC907" class="css-1dcdqdg"><code> {
+</code></td></tr><tr><td id="L908" class="css-a4x74f"><span>908</span></td><td id="LC908" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">_ref</span>) </span>{
+</code></td></tr><tr><td id="L909" class="css-a4x74f"><span>909</span></td><td id="LC909" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = _ref.name;
+</code></td></tr><tr><td id="L910" class="css-a4x74f"><span>910</span></td><td id="LC910" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> name;
+</code></td></tr><tr><td id="L911" class="css-a4x74f"><span>911</span></td><td id="LC911" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L912" class="css-a4x74f"><span>912</span></td><td id="LC912" class="css-1dcdqdg"><code> validateModifiers(modifiers);
+</code></td></tr><tr><td id="L913" class="css-a4x74f"><span>913</span></td><td id="LC913" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L914" class="css-a4x74f"><span>914</span></td><td id="LC914" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getBasePlacement(state.options.placement) === auto) {
+</code></td></tr><tr><td id="L915" class="css-a4x74f"><span>915</span></td><td id="LC915" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> flipModifier = state.orderedModifiers.find(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">_ref2</span>) </span>{
+</code></td></tr><tr><td id="L916" class="css-a4x74f"><span>916</span></td><td id="LC916" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = _ref2.name;
+</code></td></tr><tr><td id="L917" class="css-a4x74f"><span>917</span></td><td id="LC917" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> name === <span class="code-string">'flip'</span>;
+</code></td></tr><tr><td id="L918" class="css-a4x74f"><span>918</span></td><td id="LC918" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L919" class="css-a4x74f"><span>919</span></td><td id="LC919" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L920" class="css-a4x74f"><span>920</span></td><td id="LC920" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!flipModifier) {
+</code></td></tr><tr><td id="L921" class="css-a4x74f"><span>921</span></td><td id="LC921" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error([<span class="code-string">'Popper: "auto" placements require the "flip" modifier be'</span>, <span class="code-string">'present and enabled to work.'</span>].join(<span class="code-string">' '</span>));
+</code></td></tr><tr><td id="L922" class="css-a4x74f"><span>922</span></td><td id="LC922" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L923" class="css-a4x74f"><span>923</span></td><td id="LC923" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L924" class="css-a4x74f"><span>924</span></td><td id="LC924" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L925" class="css-a4x74f"><span>925</span></td><td id="LC925" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _getComputedStyle = getComputedStyle(popper),
+</code></td></tr><tr><td id="L926" class="css-a4x74f"><span>926</span></td><td id="LC926" class="css-1dcdqdg"><code> marginTop = _getComputedStyle.marginTop,
+</code></td></tr><tr><td id="L927" class="css-a4x74f"><span>927</span></td><td id="LC927" class="css-1dcdqdg"><code> marginRight = _getComputedStyle.marginRight,
+</code></td></tr><tr><td id="L928" class="css-a4x74f"><span>928</span></td><td id="LC928" class="css-1dcdqdg"><code> marginBottom = _getComputedStyle.marginBottom,
+</code></td></tr><tr><td id="L929" class="css-a4x74f"><span>929</span></td><td id="LC929" class="css-1dcdqdg"><code> marginLeft = _getComputedStyle.marginLeft; <span class="code-comment">// We no longer take into account `margins` on the popper, and it can</span>
+</code></td></tr><tr><td id="L930" class="css-a4x74f"><span>930</span></td><td id="LC930" class="css-1dcdqdg"><code> <span class="code-comment">// cause bugs with positioning, so we'll warn the consumer</span>
+</code></td></tr><tr><td id="L931" class="css-a4x74f"><span>931</span></td><td id="LC931" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L932" class="css-a4x74f"><span>932</span></td><td id="LC932" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L933" class="css-a4x74f"><span>933</span></td><td id="LC933" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ([marginTop, marginRight, marginBottom, marginLeft].some(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">margin</span>) </span>{
+</code></td></tr><tr><td id="L934" class="css-a4x74f"><span>934</span></td><td id="LC934" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">parseFloat</span>(margin);
+</code></td></tr><tr><td id="L935" class="css-a4x74f"><span>935</span></td><td id="LC935" class="css-1dcdqdg"><code> })) {
+</code></td></tr><tr><td id="L936" class="css-a4x74f"><span>936</span></td><td id="LC936" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn([<span class="code-string">'Popper: CSS "margin" styles cannot be used to apply padding'</span>, <span class="code-string">'between the popper and its reference element or boundary.'</span>, <span class="code-string">'To replicate margin, use the `offset` modifier, as well as'</span>, <span class="code-string">'the `padding` option in the `preventOverflow` and `flip`'</span>, <span class="code-string">'modifiers.'</span>].join(<span class="code-string">' '</span>));
+</code></td></tr><tr><td id="L937" class="css-a4x74f"><span>937</span></td><td id="LC937" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L938" class="css-a4x74f"><span>938</span></td><td id="LC938" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L939" class="css-a4x74f"><span>939</span></td><td id="LC939" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L940" class="css-a4x74f"><span>940</span></td><td id="LC940" class="css-1dcdqdg"><code> runModifierEffects();
+</code></td></tr><tr><td id="L941" class="css-a4x74f"><span>941</span></td><td id="LC941" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> instance.update();
+</code></td></tr><tr><td id="L942" class="css-a4x74f"><span>942</span></td><td id="LC942" class="css-1dcdqdg"><code> },
+</code></td></tr><tr><td id="L943" class="css-a4x74f"><span>943</span></td><td id="LC943" class="css-1dcdqdg"><code> <span class="code-comment">// Sync update – it will always be executed, even if not necessary. This</span>
+</code></td></tr><tr><td id="L944" class="css-a4x74f"><span>944</span></td><td id="LC944" class="css-1dcdqdg"><code> <span class="code-comment">// is useful for low frequency updates where sync behavior simplifies the</span>
+</code></td></tr><tr><td id="L945" class="css-a4x74f"><span>945</span></td><td id="LC945" class="css-1dcdqdg"><code> <span class="code-comment">// logic.</span>
+</code></td></tr><tr><td id="L946" class="css-a4x74f"><span>946</span></td><td id="LC946" class="css-1dcdqdg"><code> <span class="code-comment">// For high frequency updates (e.g. `resize` and `scroll` events), always</span>
+</code></td></tr><tr><td id="L947" class="css-a4x74f"><span>947</span></td><td id="LC947" class="css-1dcdqdg"><code> <span class="code-comment">// prefer the async Popper#update method</span>
+</code></td></tr><tr><td id="L948" class="css-a4x74f"><span>948</span></td><td id="LC948" class="css-1dcdqdg"><code> forceUpdate: <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">forceUpdate</span>(<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L949" class="css-a4x74f"><span>949</span></td><td id="LC949" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isDestroyed) {
+</code></td></tr><tr><td id="L950" class="css-a4x74f"><span>950</span></td><td id="LC950" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>;
+</code></td></tr><tr><td id="L951" class="css-a4x74f"><span>951</span></td><td id="LC951" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L952" class="css-a4x74f"><span>952</span></td><td id="LC952" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L953" class="css-a4x74f"><span>953</span></td><td id="LC953" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _state$elements = state.elements,
+</code></td></tr><tr><td id="L954" class="css-a4x74f"><span>954</span></td><td id="LC954" class="css-1dcdqdg"><code> reference = _state$elements.reference,
+</code></td></tr><tr><td id="L955" class="css-a4x74f"><span>955</span></td><td id="LC955" class="css-1dcdqdg"><code> popper = _state$elements.popper; <span class="code-comment">// Don't proceed if `reference` or `popper` are not valid elements</span>
+</code></td></tr><tr><td id="L956" class="css-a4x74f"><span>956</span></td><td id="LC956" class="css-1dcdqdg"><code> <span class="code-comment">// anymore</span>
+</code></td></tr><tr><td id="L957" class="css-a4x74f"><span>957</span></td><td id="LC957" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L958" class="css-a4x74f"><span>958</span></td><td id="LC958" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!areValidElements(reference, popper)) {
+</code></td></tr><tr><td id="L959" class="css-a4x74f"><span>959</span></td><td id="LC959" class="css-1dcdqdg"><code> {
+</code></td></tr><tr><td id="L960" class="css-a4x74f"><span>960</span></td><td id="LC960" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(INVALID_ELEMENT_ERROR);
+</code></td></tr><tr><td id="L961" class="css-a4x74f"><span>961</span></td><td id="LC961" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L962" class="css-a4x74f"><span>962</span></td><td id="LC962" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L963" class="css-a4x74f"><span>963</span></td><td id="LC963" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>;
+</code></td></tr><tr><td id="L964" class="css-a4x74f"><span>964</span></td><td id="LC964" class="css-1dcdqdg"><code> } <span class="code-comment">// Store the reference and popper rects to be read by modifiers</span>
+</code></td></tr><tr><td id="L965" class="css-a4x74f"><span>965</span></td><td id="LC965" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L966" class="css-a4x74f"><span>966</span></td><td id="LC966" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L967" class="css-a4x74f"><span>967</span></td><td id="LC967" class="css-1dcdqdg"><code> state.rects = {
+</code></td></tr><tr><td id="L968" class="css-a4x74f"><span>968</span></td><td id="LC968" class="css-1dcdqdg"><code> reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === <span class="code-string">'fixed'</span>),
+</code></td></tr><tr><td id="L969" class="css-a4x74f"><span>969</span></td><td id="LC969" class="css-1dcdqdg"><code> popper: getLayoutRect(popper)
+</code></td></tr><tr><td id="L970" class="css-a4x74f"><span>970</span></td><td id="LC970" class="css-1dcdqdg"><code> }; <span class="code-comment">// Modifiers have the ability to reset the current update cycle. The</span>
+</code></td></tr><tr><td id="L971" class="css-a4x74f"><span>971</span></td><td id="LC971" class="css-1dcdqdg"><code> <span class="code-comment">// most common use case for this is the `flip` modifier changing the</span>
+</code></td></tr><tr><td id="L972" class="css-a4x74f"><span>972</span></td><td id="LC972" class="css-1dcdqdg"><code> <span class="code-comment">// placement, which then needs to re-run all the modifiers, because the</span>
+</code></td></tr><tr><td id="L973" class="css-a4x74f"><span>973</span></td><td id="LC973" class="css-1dcdqdg"><code> <span class="code-comment">// logic was previously ran for the previous placement and is therefore</span>
+</code></td></tr><tr><td id="L974" class="css-a4x74f"><span>974</span></td><td id="LC974" class="css-1dcdqdg"><code> <span class="code-comment">// stale/incorrect</span>
+</code></td></tr><tr><td id="L975" class="css-a4x74f"><span>975</span></td><td id="LC975" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L976" class="css-a4x74f"><span>976</span></td><td id="LC976" class="css-1dcdqdg"><code> state.reset = <span class="code-literal">false</span>;
+</code></td></tr><tr><td id="L977" class="css-a4x74f"><span>977</span></td><td id="LC977" class="css-1dcdqdg"><code> state.placement = state.options.placement; <span class="code-comment">// On each update cycle, the `modifiersData` property for each modifier</span>
+</code></td></tr><tr><td id="L978" class="css-a4x74f"><span>978</span></td><td id="LC978" class="css-1dcdqdg"><code> <span class="code-comment">// is filled with the initial data specified by the modifier. This means</span>
+</code></td></tr><tr><td id="L979" class="css-a4x74f"><span>979</span></td><td id="LC979" class="css-1dcdqdg"><code> <span class="code-comment">// it doesn't persist and is fresh on each update.</span>
+</code></td></tr><tr><td id="L980" class="css-a4x74f"><span>980</span></td><td id="LC980" class="css-1dcdqdg"><code> <span class="code-comment">// To ensure persistent data, use `${name}#persistent`</span>
+</code></td></tr><tr><td id="L981" class="css-a4x74f"><span>981</span></td><td id="LC981" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L982" class="css-a4x74f"><span>982</span></td><td id="LC982" class="css-1dcdqdg"><code> state.orderedModifiers.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">modifier</span>) </span>{
+</code></td></tr><tr><td id="L983" class="css-a4x74f"><span>983</span></td><td id="LC983" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> state.modifiersData[modifier.name] = <span class="code-built_in">Object</span>.assign({}, modifier.data);
+</code></td></tr><tr><td id="L984" class="css-a4x74f"><span>984</span></td><td id="LC984" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L985" class="css-a4x74f"><span>985</span></td><td id="LC985" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> __debug_loops__ = <span class="code-number">0</span>;
+</code></td></tr><tr><td id="L986" class="css-a4x74f"><span>986</span></td><td id="LC986" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L987" class="css-a4x74f"><span>987</span></td><td id="LC987" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> index = <span class="code-number">0</span>; index &lt; state.orderedModifiers.length; index++) {
+</code></td></tr><tr><td id="L988" class="css-a4x74f"><span>988</span></td><td id="LC988" class="css-1dcdqdg"><code> {
+</code></td></tr><tr><td id="L989" class="css-a4x74f"><span>989</span></td><td id="LC989" class="css-1dcdqdg"><code> __debug_loops__ += <span class="code-number">1</span>;
+</code></td></tr><tr><td id="L990" class="css-a4x74f"><span>990</span></td><td id="LC990" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L991" class="css-a4x74f"><span>991</span></td><td id="LC991" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (__debug_loops__ &gt; <span class="code-number">100</span>) {
+</code></td></tr><tr><td id="L992" class="css-a4x74f"><span>992</span></td><td id="LC992" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(INFINITE_LOOP_ERROR);
+</code></td></tr><tr><td id="L993" class="css-a4x74f"><span>993</span></td><td id="LC993" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>;
+</code></td></tr><tr><td id="L994" class="css-a4x74f"><span>994</span></td><td id="LC994" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L995" class="css-a4x74f"><span>995</span></td><td id="LC995" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L996" class="css-a4x74f"><span>996</span></td><td id="LC996" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L997" class="css-a4x74f"><span>997</span></td><td id="LC997" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state.reset === <span class="code-literal">true</span>) {
+</code></td></tr><tr><td id="L998" class="css-a4x74f"><span>998</span></td><td id="LC998" class="css-1dcdqdg"><code> state.reset = <span class="code-literal">false</span>;
+</code></td></tr><tr><td id="L999" class="css-a4x74f"><span>999</span></td><td id="LC999" class="css-1dcdqdg"><code> index = <span class="code-number">-1</span>;
+</code></td></tr><tr><td id="L1000" class="css-a4x74f"><span>1000</span></td><td id="LC1000" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>;
+</code></td></tr><tr><td id="L1001" class="css-a4x74f"><span>1001</span></td><td id="LC1001" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1002" class="css-a4x74f"><span>1002</span></td><td id="LC1002" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1003" class="css-a4x74f"><span>1003</span></td><td id="LC1003" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _state$orderedModifie = state.orderedModifiers[index],
+</code></td></tr><tr><td id="L1004" class="css-a4x74f"><span>1004</span></td><td id="LC1004" class="css-1dcdqdg"><code> fn = _state$orderedModifie.fn,
+</code></td></tr><tr><td id="L1005" class="css-a4x74f"><span>1005</span></td><td id="LC1005" class="css-1dcdqdg"><code> _state$orderedModifie2 = _state$orderedModifie.options,
+</code></td></tr><tr><td id="L1006" class="css-a4x74f"><span>1006</span></td><td id="LC1006" class="css-1dcdqdg"><code> _options = _state$orderedModifie2 === <span class="code-keyword">void</span> <span class="code-number">0</span> ? {} : _state$orderedModifie2,
+</code></td></tr><tr><td id="L1007" class="css-a4x74f"><span>1007</span></td><td id="LC1007" class="css-1dcdqdg"><code> name = _state$orderedModifie.name;
+</code></td></tr><tr><td id="L1008" class="css-a4x74f"><span>1008</span></td><td id="LC1008" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1009" class="css-a4x74f"><span>1009</span></td><td id="LC1009" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> fn === <span class="code-string">'function'</span>) {
+</code></td></tr><tr><td id="L1010" class="css-a4x74f"><span>1010</span></td><td id="LC1010" class="css-1dcdqdg"><code> state = fn({
+</code></td></tr><tr><td id="L1011" class="css-a4x74f"><span>1011</span></td><td id="LC1011" class="css-1dcdqdg"><code> state: state,
+</code></td></tr><tr><td id="L1012" class="css-a4x74f"><span>1012</span></td><td id="LC1012" class="css-1dcdqdg"><code> options: _options,
+</code></td></tr><tr><td id="L1013" class="css-a4x74f"><span>1013</span></td><td id="LC1013" class="css-1dcdqdg"><code> name: name,
+</code></td></tr><tr><td id="L1014" class="css-a4x74f"><span>1014</span></td><td id="LC1014" class="css-1dcdqdg"><code> instance: instance
+</code></td></tr><tr><td id="L1015" class="css-a4x74f"><span>1015</span></td><td id="LC1015" class="css-1dcdqdg"><code> }) || state;
+</code></td></tr><tr><td id="L1016" class="css-a4x74f"><span>1016</span></td><td id="LC1016" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1017" class="css-a4x74f"><span>1017</span></td><td id="LC1017" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1018" class="css-a4x74f"><span>1018</span></td><td id="LC1018" class="css-1dcdqdg"><code> },
+</code></td></tr><tr><td id="L1019" class="css-a4x74f"><span>1019</span></td><td id="LC1019" class="css-1dcdqdg"><code> <span class="code-comment">// Async and optimistically optimized update – it will not be executed if</span>
+</code></td></tr><tr><td id="L1020" class="css-a4x74f"><span>1020</span></td><td id="LC1020" class="css-1dcdqdg"><code> <span class="code-comment">// not necessary (debounced to run at most once-per-tick)</span>
+</code></td></tr><tr><td id="L1021" class="css-a4x74f"><span>1021</span></td><td id="LC1021" class="css-1dcdqdg"><code> update: debounce(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L1022" class="css-a4x74f"><span>1022</span></td><td id="LC1022" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">new</span> <span class="code-built_in">Promise</span>(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">resolve</span>) </span>{
+</code></td></tr><tr><td id="L1023" class="css-a4x74f"><span>1023</span></td><td id="LC1023" class="css-1dcdqdg"><code> instance.forceUpdate();
+</code></td></tr><tr><td id="L1024" class="css-a4x74f"><span>1024</span></td><td id="LC1024" class="css-1dcdqdg"><code> resolve(state);
+</code></td></tr><tr><td id="L1025" class="css-a4x74f"><span>1025</span></td><td id="LC1025" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1026" class="css-a4x74f"><span>1026</span></td><td id="LC1026" class="css-1dcdqdg"><code> }),
+</code></td></tr><tr><td id="L1027" class="css-a4x74f"><span>1027</span></td><td id="LC1027" class="css-1dcdqdg"><code> destroy: <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">destroy</span>(<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L1028" class="css-a4x74f"><span>1028</span></td><td id="LC1028" class="css-1dcdqdg"><code> cleanupModifierEffects();
+</code></td></tr><tr><td id="L1029" class="css-a4x74f"><span>1029</span></td><td id="LC1029" class="css-1dcdqdg"><code> isDestroyed = <span class="code-literal">true</span>;
+</code></td></tr><tr><td id="L1030" class="css-a4x74f"><span>1030</span></td><td id="LC1030" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1031" class="css-a4x74f"><span>1031</span></td><td id="LC1031" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1032" class="css-a4x74f"><span>1032</span></td><td id="LC1032" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1033" class="css-a4x74f"><span>1033</span></td><td id="LC1033" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!areValidElements(reference, popper)) {
+</code></td></tr><tr><td id="L1034" class="css-a4x74f"><span>1034</span></td><td id="LC1034" class="css-1dcdqdg"><code> {
+</code></td></tr><tr><td id="L1035" class="css-a4x74f"><span>1035</span></td><td id="LC1035" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.error(INVALID_ELEMENT_ERROR);
+</code></td></tr><tr><td id="L1036" class="css-a4x74f"><span>1036</span></td><td id="LC1036" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1037" class="css-a4x74f"><span>1037</span></td><td id="LC1037" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1038" class="css-a4x74f"><span>1038</span></td><td id="LC1038" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> instance;
+</code></td></tr><tr><td id="L1039" class="css-a4x74f"><span>1039</span></td><td id="LC1039" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1040" class="css-a4x74f"><span>1040</span></td><td id="LC1040" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1041" class="css-a4x74f"><span>1041</span></td><td id="LC1041" class="css-1dcdqdg"><code> instance.setOptions(options).then(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">state</span>) </span>{
+</code></td></tr><tr><td id="L1042" class="css-a4x74f"><span>1042</span></td><td id="LC1042" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDestroyed &amp;&amp; options.onFirstUpdate) {
+</code></td></tr><tr><td id="L1043" class="css-a4x74f"><span>1043</span></td><td id="LC1043" class="css-1dcdqdg"><code> options.onFirstUpdate(state);
+</code></td></tr><tr><td id="L1044" class="css-a4x74f"><span>1044</span></td><td id="LC1044" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1045" class="css-a4x74f"><span>1045</span></td><td id="LC1045" class="css-1dcdqdg"><code> }); <span class="code-comment">// Modifiers have the ability to execute arbitrary code before the first</span>
+</code></td></tr><tr><td id="L1046" class="css-a4x74f"><span>1046</span></td><td id="LC1046" class="css-1dcdqdg"><code> <span class="code-comment">// update cycle runs. They will be executed in the same order as the update</span>
+</code></td></tr><tr><td id="L1047" class="css-a4x74f"><span>1047</span></td><td id="LC1047" class="css-1dcdqdg"><code> <span class="code-comment">// cycle. This is useful when a modifier adds some persistent data that</span>
+</code></td></tr><tr><td id="L1048" class="css-a4x74f"><span>1048</span></td><td id="LC1048" class="css-1dcdqdg"><code> <span class="code-comment">// other modifiers need to use, but the modifier is run after the dependent</span>
+</code></td></tr><tr><td id="L1049" class="css-a4x74f"><span>1049</span></td><td id="LC1049" class="css-1dcdqdg"><code> <span class="code-comment">// one.</span>
+</code></td></tr><tr><td id="L1050" class="css-a4x74f"><span>1050</span></td><td id="LC1050" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1051" class="css-a4x74f"><span>1051</span></td><td id="LC1051" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">runModifierEffects</span>(<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L1052" class="css-a4x74f"><span>1052</span></td><td id="LC1052" class="css-1dcdqdg"><code> state.orderedModifiers.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">_ref3</span>) </span>{
+</code></td></tr><tr><td id="L1053" class="css-a4x74f"><span>1053</span></td><td id="LC1053" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = _ref3.name,
+</code></td></tr><tr><td id="L1054" class="css-a4x74f"><span>1054</span></td><td id="LC1054" class="css-1dcdqdg"><code> _ref3$options = _ref3.options,
+</code></td></tr><tr><td id="L1055" class="css-a4x74f"><span>1055</span></td><td id="LC1055" class="css-1dcdqdg"><code> options = _ref3$options === <span class="code-keyword">void</span> <span class="code-number">0</span> ? {} : _ref3$options,
+</code></td></tr><tr><td id="L1056" class="css-a4x74f"><span>1056</span></td><td id="LC1056" class="css-1dcdqdg"><code> effect = _ref3.effect;
+</code></td></tr><tr><td id="L1057" class="css-a4x74f"><span>1057</span></td><td id="LC1057" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1058" class="css-a4x74f"><span>1058</span></td><td id="LC1058" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> effect === <span class="code-string">'function'</span>) {
+</code></td></tr><tr><td id="L1059" class="css-a4x74f"><span>1059</span></td><td id="LC1059" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cleanupFn = effect({
+</code></td></tr><tr><td id="L1060" class="css-a4x74f"><span>1060</span></td><td id="LC1060" class="css-1dcdqdg"><code> state: state,
+</code></td></tr><tr><td id="L1061" class="css-a4x74f"><span>1061</span></td><td id="LC1061" class="css-1dcdqdg"><code> name: name,
+</code></td></tr><tr><td id="L1062" class="css-a4x74f"><span>1062</span></td><td id="LC1062" class="css-1dcdqdg"><code> instance: instance,
+</code></td></tr><tr><td id="L1063" class="css-a4x74f"><span>1063</span></td><td id="LC1063" class="css-1dcdqdg"><code> options: options
+</code></td></tr><tr><td id="L1064" class="css-a4x74f"><span>1064</span></td><td id="LC1064" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1065" class="css-a4x74f"><span>1065</span></td><td id="LC1065" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1066" class="css-a4x74f"><span>1066</span></td><td id="LC1066" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> noopFn = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">noopFn</span>(<span class="code-params"></span>) </span>{};
+</code></td></tr><tr><td id="L1067" class="css-a4x74f"><span>1067</span></td><td id="LC1067" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1068" class="css-a4x74f"><span>1068</span></td><td id="LC1068" class="css-1dcdqdg"><code> effectCleanupFns.push(cleanupFn || noopFn);
+</code></td></tr><tr><td id="L1069" class="css-a4x74f"><span>1069</span></td><td id="LC1069" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1070" class="css-a4x74f"><span>1070</span></td><td id="LC1070" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1071" class="css-a4x74f"><span>1071</span></td><td id="LC1071" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1072" class="css-a4x74f"><span>1072</span></td><td id="LC1072" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1073" class="css-a4x74f"><span>1073</span></td><td id="LC1073" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">cleanupModifierEffects</span>(<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L1074" class="css-a4x74f"><span>1074</span></td><td id="LC1074" class="css-1dcdqdg"><code> effectCleanupFns.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">fn</span>) </span>{
+</code></td></tr><tr><td id="L1075" class="css-a4x74f"><span>1075</span></td><td id="LC1075" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> fn();
+</code></td></tr><tr><td id="L1076" class="css-a4x74f"><span>1076</span></td><td id="LC1076" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1077" class="css-a4x74f"><span>1077</span></td><td id="LC1077" class="css-1dcdqdg"><code> effectCleanupFns = [];
+</code></td></tr><tr><td id="L1078" class="css-a4x74f"><span>1078</span></td><td id="LC1078" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1079" class="css-a4x74f"><span>1079</span></td><td id="LC1079" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1080" class="css-a4x74f"><span>1080</span></td><td id="LC1080" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> instance;
+</code></td></tr><tr><td id="L1081" class="css-a4x74f"><span>1081</span></td><td id="LC1081" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1082" class="css-a4x74f"><span>1082</span></td><td id="LC1082" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1083" class="css-a4x74f"><span>1083</span></td><td id="LC1083" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1084" class="css-a4x74f"><span>1084</span></td><td id="LC1084" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> passive = {
+</code></td></tr><tr><td id="L1085" class="css-a4x74f"><span>1085</span></td><td id="LC1085" class="css-1dcdqdg"><code> passive: <span class="code-literal">true</span>
+</code></td></tr><tr><td id="L1086" class="css-a4x74f"><span>1086</span></td><td id="LC1086" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1087" class="css-a4x74f"><span>1087</span></td><td id="LC1087" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1088" class="css-a4x74f"><span>1088</span></td><td id="LC1088" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">effect$1</span>(<span class="code-params">_ref</span>) </span>{
+</code></td></tr><tr><td id="L1089" class="css-a4x74f"><span>1089</span></td><td id="LC1089" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> state = _ref.state,
+</code></td></tr><tr><td id="L1090" class="css-a4x74f"><span>1090</span></td><td id="LC1090" class="css-1dcdqdg"><code> instance = _ref.instance,
+</code></td></tr><tr><td id="L1091" class="css-a4x74f"><span>1091</span></td><td id="LC1091" class="css-1dcdqdg"><code> options = _ref.options;
+</code></td></tr><tr><td id="L1092" class="css-a4x74f"><span>1092</span></td><td id="LC1092" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _options$scroll = options.scroll,
+</code></td></tr><tr><td id="L1093" class="css-a4x74f"><span>1093</span></td><td id="LC1093" class="css-1dcdqdg"><code> scroll = _options$scroll === <span class="code-keyword">void</span> <span class="code-number">0</span> ? <span class="code-literal">true</span> : _options$scroll,
+</code></td></tr><tr><td id="L1094" class="css-a4x74f"><span>1094</span></td><td id="LC1094" class="css-1dcdqdg"><code> _options$resize = options.resize,
+</code></td></tr><tr><td id="L1095" class="css-a4x74f"><span>1095</span></td><td id="LC1095" class="css-1dcdqdg"><code> resize = _options$resize === <span class="code-keyword">void</span> <span class="code-number">0</span> ? <span class="code-literal">true</span> : _options$resize;
+</code></td></tr><tr><td id="L1096" class="css-a4x74f"><span>1096</span></td><td id="LC1096" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> <span class="code-built_in">window</span> = getWindow(state.elements.popper);
+</code></td></tr><tr><td id="L1097" class="css-a4x74f"><span>1097</span></td><td id="LC1097" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
+</code></td></tr><tr><td id="L1098" class="css-a4x74f"><span>1098</span></td><td id="LC1098" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1099" class="css-a4x74f"><span>1099</span></td><td id="LC1099" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (scroll) {
+</code></td></tr><tr><td id="L1100" class="css-a4x74f"><span>1100</span></td><td id="LC1100" class="css-1dcdqdg"><code> scrollParents.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">scrollParent</span>) </span>{
+</code></td></tr><tr><td id="L1101" class="css-a4x74f"><span>1101</span></td><td id="LC1101" class="css-1dcdqdg"><code> scrollParent.addEventListener(<span class="code-string">'scroll'</span>, instance.update, passive);
+</code></td></tr><tr><td id="L1102" class="css-a4x74f"><span>1102</span></td><td id="LC1102" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1103" class="css-a4x74f"><span>1103</span></td><td id="LC1103" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1104" class="css-a4x74f"><span>1104</span></td><td id="LC1104" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1105" class="css-a4x74f"><span>1105</span></td><td id="LC1105" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (resize) {
+</code></td></tr><tr><td id="L1106" class="css-a4x74f"><span>1106</span></td><td id="LC1106" class="css-1dcdqdg"><code> <span class="code-built_in">window</span>.addEventListener(<span class="code-string">'resize'</span>, instance.update, passive);
+</code></td></tr><tr><td id="L1107" class="css-a4x74f"><span>1107</span></td><td id="LC1107" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1108" class="css-a4x74f"><span>1108</span></td><td id="LC1108" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1109" class="css-a4x74f"><span>1109</span></td><td id="LC1109" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L1110" class="css-a4x74f"><span>1110</span></td><td id="LC1110" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (scroll) {
+</code></td></tr><tr><td id="L1111" class="css-a4x74f"><span>1111</span></td><td id="LC1111" class="css-1dcdqdg"><code> scrollParents.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">scrollParent</span>) </span>{
+</code></td></tr><tr><td id="L1112" class="css-a4x74f"><span>1112</span></td><td id="LC1112" class="css-1dcdqdg"><code> scrollParent.removeEventListener(<span class="code-string">'scroll'</span>, instance.update, passive);
+</code></td></tr><tr><td id="L1113" class="css-a4x74f"><span>1113</span></td><td id="LC1113" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1114" class="css-a4x74f"><span>1114</span></td><td id="LC1114" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1115" class="css-a4x74f"><span>1115</span></td><td id="LC1115" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1116" class="css-a4x74f"><span>1116</span></td><td id="LC1116" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (resize) {
+</code></td></tr><tr><td id="L1117" class="css-a4x74f"><span>1117</span></td><td id="LC1117" class="css-1dcdqdg"><code> <span class="code-built_in">window</span>.removeEventListener(<span class="code-string">'resize'</span>, instance.update, passive);
+</code></td></tr><tr><td id="L1118" class="css-a4x74f"><span>1118</span></td><td id="LC1118" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1119" class="css-a4x74f"><span>1119</span></td><td id="LC1119" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1120" class="css-a4x74f"><span>1120</span></td><td id="LC1120" class="css-1dcdqdg"><code> } <span class="code-comment">// eslint-disable-next-line import/no-unused-modules</span>
+</code></td></tr><tr><td id="L1121" class="css-a4x74f"><span>1121</span></td><td id="LC1121" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1122" class="css-a4x74f"><span>1122</span></td><td id="LC1122" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1123" class="css-a4x74f"><span>1123</span></td><td id="LC1123" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> eventListeners = {
+</code></td></tr><tr><td id="L1124" class="css-a4x74f"><span>1124</span></td><td id="LC1124" class="css-1dcdqdg"><code> name: <span class="code-string">'eventListeners'</span>,
+</code></td></tr><tr><td id="L1125" class="css-a4x74f"><span>1125</span></td><td id="LC1125" class="css-1dcdqdg"><code> enabled: <span class="code-literal">true</span>,
+</code></td></tr><tr><td id="L1126" class="css-a4x74f"><span>1126</span></td><td id="LC1126" class="css-1dcdqdg"><code> phase: <span class="code-string">'write'</span>,
+</code></td></tr><tr><td id="L1127" class="css-a4x74f"><span>1127</span></td><td id="LC1127" class="css-1dcdqdg"><code> fn: <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">fn</span>(<span class="code-params"></span>) </span>{},
+</code></td></tr><tr><td id="L1128" class="css-a4x74f"><span>1128</span></td><td id="LC1128" class="css-1dcdqdg"><code> effect: effect$<span class="code-number">1</span>,
+</code></td></tr><tr><td id="L1129" class="css-a4x74f"><span>1129</span></td><td id="LC1129" class="css-1dcdqdg"><code> data: {}
+</code></td></tr><tr><td id="L1130" class="css-a4x74f"><span>1130</span></td><td id="LC1130" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1131" class="css-a4x74f"><span>1131</span></td><td id="LC1131" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1132" class="css-a4x74f"><span>1132</span></td><td id="LC1132" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">popperOffsets</span>(<span class="code-params">_ref</span>) </span>{
+</code></td></tr><tr><td id="L1133" class="css-a4x74f"><span>1133</span></td><td id="LC1133" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> state = _ref.state,
+</code></td></tr><tr><td id="L1134" class="css-a4x74f"><span>1134</span></td><td id="LC1134" class="css-1dcdqdg"><code> name = _ref.name;
+</code></td></tr><tr><td id="L1135" class="css-a4x74f"><span>1135</span></td><td id="LC1135" class="css-1dcdqdg"><code> <span class="code-comment">// Offsets are the actual position the popper needs to have to be</span>
+</code></td></tr><tr><td id="L1136" class="css-a4x74f"><span>1136</span></td><td id="LC1136" class="css-1dcdqdg"><code> <span class="code-comment">// properly positioned near its reference element</span>
+</code></td></tr><tr><td id="L1137" class="css-a4x74f"><span>1137</span></td><td id="LC1137" class="css-1dcdqdg"><code> <span class="code-comment">// This is the most basic placement, and will be adjusted by</span>
+</code></td></tr><tr><td id="L1138" class="css-a4x74f"><span>1138</span></td><td id="LC1138" class="css-1dcdqdg"><code> <span class="code-comment">// the modifiers in the next step</span>
+</code></td></tr><tr><td id="L1139" class="css-a4x74f"><span>1139</span></td><td id="LC1139" class="css-1dcdqdg"><code> state.modifiersData[name] = computeOffsets({
+</code></td></tr><tr><td id="L1140" class="css-a4x74f"><span>1140</span></td><td id="LC1140" class="css-1dcdqdg"><code> reference: state.rects.reference,
+</code></td></tr><tr><td id="L1141" class="css-a4x74f"><span>1141</span></td><td id="LC1141" class="css-1dcdqdg"><code> element: state.rects.popper,
+</code></td></tr><tr><td id="L1142" class="css-a4x74f"><span>1142</span></td><td id="LC1142" class="css-1dcdqdg"><code> strategy: <span class="code-string">'absolute'</span>,
+</code></td></tr><tr><td id="L1143" class="css-a4x74f"><span>1143</span></td><td id="LC1143" class="css-1dcdqdg"><code> placement: state.placement
+</code></td></tr><tr><td id="L1144" class="css-a4x74f"><span>1144</span></td><td id="LC1144" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1145" class="css-a4x74f"><span>1145</span></td><td id="LC1145" class="css-1dcdqdg"><code> } <span class="code-comment">// eslint-disable-next-line import/no-unused-modules</span>
+</code></td></tr><tr><td id="L1146" class="css-a4x74f"><span>1146</span></td><td id="LC1146" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1147" class="css-a4x74f"><span>1147</span></td><td id="LC1147" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1148" class="css-a4x74f"><span>1148</span></td><td id="LC1148" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> popperOffsets$<span class="code-number">1</span> = {
+</code></td></tr><tr><td id="L1149" class="css-a4x74f"><span>1149</span></td><td id="LC1149" class="css-1dcdqdg"><code> name: <span class="code-string">'popperOffsets'</span>,
+</code></td></tr><tr><td id="L1150" class="css-a4x74f"><span>1150</span></td><td id="LC1150" class="css-1dcdqdg"><code> enabled: <span class="code-literal">true</span>,
+</code></td></tr><tr><td id="L1151" class="css-a4x74f"><span>1151</span></td><td id="LC1151" class="css-1dcdqdg"><code> phase: <span class="code-string">'read'</span>,
+</code></td></tr><tr><td id="L1152" class="css-a4x74f"><span>1152</span></td><td id="LC1152" class="css-1dcdqdg"><code> fn: popperOffsets,
+</code></td></tr><tr><td id="L1153" class="css-a4x74f"><span>1153</span></td><td id="LC1153" class="css-1dcdqdg"><code> data: {}
+</code></td></tr><tr><td id="L1154" class="css-a4x74f"><span>1154</span></td><td id="LC1154" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1155" class="css-a4x74f"><span>1155</span></td><td id="LC1155" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1156" class="css-a4x74f"><span>1156</span></td><td id="LC1156" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> unsetSides = {
+</code></td></tr><tr><td id="L1157" class="css-a4x74f"><span>1157</span></td><td id="LC1157" class="css-1dcdqdg"><code> top: <span class="code-string">'auto'</span>,
+</code></td></tr><tr><td id="L1158" class="css-a4x74f"><span>1158</span></td><td id="LC1158" class="css-1dcdqdg"><code> right: <span class="code-string">'auto'</span>,
+</code></td></tr><tr><td id="L1159" class="css-a4x74f"><span>1159</span></td><td id="LC1159" class="css-1dcdqdg"><code> bottom: <span class="code-string">'auto'</span>,
+</code></td></tr><tr><td id="L1160" class="css-a4x74f"><span>1160</span></td><td id="LC1160" class="css-1dcdqdg"><code> left: <span class="code-string">'auto'</span>
+</code></td></tr><tr><td id="L1161" class="css-a4x74f"><span>1161</span></td><td id="LC1161" class="css-1dcdqdg"><code> }; <span class="code-comment">// Round the offsets to the nearest suitable subpixel based on the DPR.</span>
+</code></td></tr><tr><td id="L1162" class="css-a4x74f"><span>1162</span></td><td id="LC1162" class="css-1dcdqdg"><code> <span class="code-comment">// Zooming can change the DPR, but it seems to report a value that will</span>
+</code></td></tr><tr><td id="L1163" class="css-a4x74f"><span>1163</span></td><td id="LC1163" class="css-1dcdqdg"><code> <span class="code-comment">// cleanly divide the values into the appropriate subpixels.</span>
+</code></td></tr><tr><td id="L1164" class="css-a4x74f"><span>1164</span></td><td id="LC1164" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1165" class="css-a4x74f"><span>1165</span></td><td id="LC1165" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">roundOffsetsByDPR</span>(<span class="code-params">_ref</span>) </span>{
+</code></td></tr><tr><td id="L1166" class="css-a4x74f"><span>1166</span></td><td id="LC1166" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> x = _ref.x,
+</code></td></tr><tr><td id="L1167" class="css-a4x74f"><span>1167</span></td><td id="LC1167" class="css-1dcdqdg"><code> y = _ref.y;
+</code></td></tr><tr><td id="L1168" class="css-a4x74f"><span>1168</span></td><td id="LC1168" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> win = <span class="code-built_in">window</span>;
+</code></td></tr><tr><td id="L1169" class="css-a4x74f"><span>1169</span></td><td id="LC1169" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> dpr = win.devicePixelRatio || <span class="code-number">1</span>;
+</code></td></tr><tr><td id="L1170" class="css-a4x74f"><span>1170</span></td><td id="LC1170" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> {
+</code></td></tr><tr><td id="L1171" class="css-a4x74f"><span>1171</span></td><td id="LC1171" class="css-1dcdqdg"><code> x: round(x * dpr) / dpr || <span class="code-number">0</span>,
+</code></td></tr><tr><td id="L1172" class="css-a4x74f"><span>1172</span></td><td id="LC1172" class="css-1dcdqdg"><code> y: round(y * dpr) / dpr || <span class="code-number">0</span>
+</code></td></tr><tr><td id="L1173" class="css-a4x74f"><span>1173</span></td><td id="LC1173" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1174" class="css-a4x74f"><span>1174</span></td><td id="LC1174" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1175" class="css-a4x74f"><span>1175</span></td><td id="LC1175" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1176" class="css-a4x74f"><span>1176</span></td><td id="LC1176" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">mapToStyles</span>(<span class="code-params">_ref2</span>) </span>{
+</code></td></tr><tr><td id="L1177" class="css-a4x74f"><span>1177</span></td><td id="LC1177" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _Object$assign2;
+</code></td></tr><tr><td id="L1178" class="css-a4x74f"><span>1178</span></td><td id="LC1178" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1179" class="css-a4x74f"><span>1179</span></td><td id="LC1179" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> popper = _ref2.popper,
+</code></td></tr><tr><td id="L1180" class="css-a4x74f"><span>1180</span></td><td id="LC1180" class="css-1dcdqdg"><code> popperRect = _ref2.popperRect,
+</code></td></tr><tr><td id="L1181" class="css-a4x74f"><span>1181</span></td><td id="LC1181" class="css-1dcdqdg"><code> placement = _ref2.placement,
+</code></td></tr><tr><td id="L1182" class="css-a4x74f"><span>1182</span></td><td id="LC1182" class="css-1dcdqdg"><code> variation = _ref2.variation,
+</code></td></tr><tr><td id="L1183" class="css-a4x74f"><span>1183</span></td><td id="LC1183" class="css-1dcdqdg"><code> offsets = _ref2.offsets,
+</code></td></tr><tr><td id="L1184" class="css-a4x74f"><span>1184</span></td><td id="LC1184" class="css-1dcdqdg"><code> position = _ref2.position,
+</code></td></tr><tr><td id="L1185" class="css-a4x74f"><span>1185</span></td><td id="LC1185" class="css-1dcdqdg"><code> gpuAcceleration = _ref2.gpuAcceleration,
+</code></td></tr><tr><td id="L1186" class="css-a4x74f"><span>1186</span></td><td id="LC1186" class="css-1dcdqdg"><code> adaptive = _ref2.adaptive,
+</code></td></tr><tr><td id="L1187" class="css-a4x74f"><span>1187</span></td><td id="LC1187" class="css-1dcdqdg"><code> roundOffsets = _ref2.roundOffsets,
+</code></td></tr><tr><td id="L1188" class="css-a4x74f"><span>1188</span></td><td id="LC1188" class="css-1dcdqdg"><code> isFixed = _ref2.isFixed;
+</code></td></tr><tr><td id="L1189" class="css-a4x74f"><span>1189</span></td><td id="LC1189" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _offsets$x = offsets.x,
+</code></td></tr><tr><td id="L1190" class="css-a4x74f"><span>1190</span></td><td id="LC1190" class="css-1dcdqdg"><code> x = _offsets$x === <span class="code-keyword">void</span> <span class="code-number">0</span> ? <span class="code-number">0</span> : _offsets$x,
+</code></td></tr><tr><td id="L1191" class="css-a4x74f"><span>1191</span></td><td id="LC1191" class="css-1dcdqdg"><code> _offsets$y = offsets.y,
+</code></td></tr><tr><td id="L1192" class="css-a4x74f"><span>1192</span></td><td id="LC1192" class="css-1dcdqdg"><code> y = _offsets$y === <span class="code-keyword">void</span> <span class="code-number">0</span> ? <span class="code-number">0</span> : _offsets$y;
+</code></td></tr><tr><td id="L1193" class="css-a4x74f"><span>1193</span></td><td id="LC1193" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1194" class="css-a4x74f"><span>1194</span></td><td id="LC1194" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _ref3 = <span class="code-keyword">typeof</span> roundOffsets === <span class="code-string">'function'</span> ? roundOffsets({
+</code></td></tr><tr><td id="L1195" class="css-a4x74f"><span>1195</span></td><td id="LC1195" class="css-1dcdqdg"><code> x: x,
+</code></td></tr><tr><td id="L1196" class="css-a4x74f"><span>1196</span></td><td id="LC1196" class="css-1dcdqdg"><code> y: y
+</code></td></tr><tr><td id="L1197" class="css-a4x74f"><span>1197</span></td><td id="LC1197" class="css-1dcdqdg"><code> }) : {
+</code></td></tr><tr><td id="L1198" class="css-a4x74f"><span>1198</span></td><td id="LC1198" class="css-1dcdqdg"><code> x: x,
+</code></td></tr><tr><td id="L1199" class="css-a4x74f"><span>1199</span></td><td id="LC1199" class="css-1dcdqdg"><code> y: y
+</code></td></tr><tr><td id="L1200" class="css-a4x74f"><span>1200</span></td><td id="LC1200" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1201" class="css-a4x74f"><span>1201</span></td><td id="LC1201" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1202" class="css-a4x74f"><span>1202</span></td><td id="LC1202" class="css-1dcdqdg"><code> x = _ref3.x;
+</code></td></tr><tr><td id="L1203" class="css-a4x74f"><span>1203</span></td><td id="LC1203" class="css-1dcdqdg"><code> y = _ref3.y;
+</code></td></tr><tr><td id="L1204" class="css-a4x74f"><span>1204</span></td><td id="LC1204" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hasX = offsets.hasOwnProperty(<span class="code-string">'x'</span>);
+</code></td></tr><tr><td id="L1205" class="css-a4x74f"><span>1205</span></td><td id="LC1205" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hasY = offsets.hasOwnProperty(<span class="code-string">'y'</span>);
+</code></td></tr><tr><td id="L1206" class="css-a4x74f"><span>1206</span></td><td id="LC1206" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sideX = left;
+</code></td></tr><tr><td id="L1207" class="css-a4x74f"><span>1207</span></td><td id="LC1207" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sideY = top;
+</code></td></tr><tr><td id="L1208" class="css-a4x74f"><span>1208</span></td><td id="LC1208" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> win = <span class="code-built_in">window</span>;
+</code></td></tr><tr><td id="L1209" class="css-a4x74f"><span>1209</span></td><td id="LC1209" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1210" class="css-a4x74f"><span>1210</span></td><td id="LC1210" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (adaptive) {
+</code></td></tr><tr><td id="L1211" class="css-a4x74f"><span>1211</span></td><td id="LC1211" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsetParent = getOffsetParent(popper);
+</code></td></tr><tr><td id="L1212" class="css-a4x74f"><span>1212</span></td><td id="LC1212" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> heightProp = <span class="code-string">'clientHeight'</span>;
+</code></td></tr><tr><td id="L1213" class="css-a4x74f"><span>1213</span></td><td id="LC1213" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> widthProp = <span class="code-string">'clientWidth'</span>;
+</code></td></tr><tr><td id="L1214" class="css-a4x74f"><span>1214</span></td><td id="LC1214" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1215" class="css-a4x74f"><span>1215</span></td><td id="LC1215" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offsetParent === getWindow(popper)) {
+</code></td></tr><tr><td id="L1216" class="css-a4x74f"><span>1216</span></td><td id="LC1216" class="css-1dcdqdg"><code> offsetParent = getDocumentElement(popper);
+</code></td></tr><tr><td id="L1217" class="css-a4x74f"><span>1217</span></td><td id="LC1217" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1218" class="css-a4x74f"><span>1218</span></td><td id="LC1218" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getComputedStyle(offsetParent).position !== <span class="code-string">'static'</span> &amp;&amp; position === <span class="code-string">'absolute'</span>) {
+</code></td></tr><tr><td id="L1219" class="css-a4x74f"><span>1219</span></td><td id="LC1219" class="css-1dcdqdg"><code> heightProp = <span class="code-string">'scrollHeight'</span>;
+</code></td></tr><tr><td id="L1220" class="css-a4x74f"><span>1220</span></td><td id="LC1220" class="css-1dcdqdg"><code> widthProp = <span class="code-string">'scrollWidth'</span>;
+</code></td></tr><tr><td id="L1221" class="css-a4x74f"><span>1221</span></td><td id="LC1221" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1222" class="css-a4x74f"><span>1222</span></td><td id="LC1222" class="css-1dcdqdg"><code> } <span class="code-comment">// $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it</span>
+</code></td></tr><tr><td id="L1223" class="css-a4x74f"><span>1223</span></td><td id="LC1223" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1224" class="css-a4x74f"><span>1224</span></td><td id="LC1224" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1225" class="css-a4x74f"><span>1225</span></td><td id="LC1225" class="css-1dcdqdg"><code> offsetParent = offsetParent;
+</code></td></tr><tr><td id="L1226" class="css-a4x74f"><span>1226</span></td><td id="LC1226" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1227" class="css-a4x74f"><span>1227</span></td><td id="LC1227" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (placement === top || (placement === left || placement === right) &amp;&amp; variation === end) {
+</code></td></tr><tr><td id="L1228" class="css-a4x74f"><span>1228</span></td><td id="LC1228" class="css-1dcdqdg"><code> sideY = bottom;
+</code></td></tr><tr><td id="L1229" class="css-a4x74f"><span>1229</span></td><td id="LC1229" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsetY = isFixed &amp;&amp; offsetParent === win &amp;&amp; win.visualViewport ? win.visualViewport.height : <span class="code-comment">// $FlowFixMe[prop-missing]</span>
+</code></td></tr><tr><td id="L1230" class="css-a4x74f"><span>1230</span></td><td id="LC1230" class="css-1dcdqdg"><code> offsetParent[heightProp];
+</code></td></tr><tr><td id="L1231" class="css-a4x74f"><span>1231</span></td><td id="LC1231" class="css-1dcdqdg"><code> y -= offsetY - popperRect.height;
+</code></td></tr><tr><td id="L1232" class="css-a4x74f"><span>1232</span></td><td id="LC1232" class="css-1dcdqdg"><code> y *= gpuAcceleration ? <span class="code-number">1</span> : <span class="code-number">-1</span>;
+</code></td></tr><tr><td id="L1233" class="css-a4x74f"><span>1233</span></td><td id="LC1233" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1234" class="css-a4x74f"><span>1234</span></td><td id="LC1234" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1235" class="css-a4x74f"><span>1235</span></td><td id="LC1235" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (placement === left || (placement === top || placement === bottom) &amp;&amp; variation === end) {
+</code></td></tr><tr><td id="L1236" class="css-a4x74f"><span>1236</span></td><td id="LC1236" class="css-1dcdqdg"><code> sideX = right;
+</code></td></tr><tr><td id="L1237" class="css-a4x74f"><span>1237</span></td><td id="LC1237" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsetX = isFixed &amp;&amp; offsetParent === win &amp;&amp; win.visualViewport ? win.visualViewport.width : <span class="code-comment">// $FlowFixMe[prop-missing]</span>
+</code></td></tr><tr><td id="L1238" class="css-a4x74f"><span>1238</span></td><td id="LC1238" class="css-1dcdqdg"><code> offsetParent[widthProp];
+</code></td></tr><tr><td id="L1239" class="css-a4x74f"><span>1239</span></td><td id="LC1239" class="css-1dcdqdg"><code> x -= offsetX - popperRect.width;
+</code></td></tr><tr><td id="L1240" class="css-a4x74f"><span>1240</span></td><td id="LC1240" class="css-1dcdqdg"><code> x *= gpuAcceleration ? <span class="code-number">1</span> : <span class="code-number">-1</span>;
+</code></td></tr><tr><td id="L1241" class="css-a4x74f"><span>1241</span></td><td id="LC1241" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1242" class="css-a4x74f"><span>1242</span></td><td id="LC1242" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1243" class="css-a4x74f"><span>1243</span></td><td id="LC1243" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1244" class="css-a4x74f"><span>1244</span></td><td id="LC1244" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> commonStyles = <span class="code-built_in">Object</span>.assign({
+</code></td></tr><tr><td id="L1245" class="css-a4x74f"><span>1245</span></td><td id="LC1245" class="css-1dcdqdg"><code> position: position
+</code></td></tr><tr><td id="L1246" class="css-a4x74f"><span>1246</span></td><td id="LC1246" class="css-1dcdqdg"><code> }, adaptive &amp;&amp; unsetSides);
+</code></td></tr><tr><td id="L1247" class="css-a4x74f"><span>1247</span></td><td id="LC1247" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1248" class="css-a4x74f"><span>1248</span></td><td id="LC1248" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _ref4 = roundOffsets === <span class="code-literal">true</span> ? roundOffsetsByDPR({
+</code></td></tr><tr><td id="L1249" class="css-a4x74f"><span>1249</span></td><td id="LC1249" class="css-1dcdqdg"><code> x: x,
+</code></td></tr><tr><td id="L1250" class="css-a4x74f"><span>1250</span></td><td id="LC1250" class="css-1dcdqdg"><code> y: y
+</code></td></tr><tr><td id="L1251" class="css-a4x74f"><span>1251</span></td><td id="LC1251" class="css-1dcdqdg"><code> }) : {
+</code></td></tr><tr><td id="L1252" class="css-a4x74f"><span>1252</span></td><td id="LC1252" class="css-1dcdqdg"><code> x: x,
+</code></td></tr><tr><td id="L1253" class="css-a4x74f"><span>1253</span></td><td id="LC1253" class="css-1dcdqdg"><code> y: y
+</code></td></tr><tr><td id="L1254" class="css-a4x74f"><span>1254</span></td><td id="LC1254" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1255" class="css-a4x74f"><span>1255</span></td><td id="LC1255" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1256" class="css-a4x74f"><span>1256</span></td><td id="LC1256" class="css-1dcdqdg"><code> x = _ref4.x;
+</code></td></tr><tr><td id="L1257" class="css-a4x74f"><span>1257</span></td><td id="LC1257" class="css-1dcdqdg"><code> y = _ref4.y;
+</code></td></tr><tr><td id="L1258" class="css-a4x74f"><span>1258</span></td><td id="LC1258" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1259" class="css-a4x74f"><span>1259</span></td><td id="LC1259" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (gpuAcceleration) {
+</code></td></tr><tr><td id="L1260" class="css-a4x74f"><span>1260</span></td><td id="LC1260" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _Object$assign;
+</code></td></tr><tr><td id="L1261" class="css-a4x74f"><span>1261</span></td><td id="LC1261" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1262" class="css-a4x74f"><span>1262</span></td><td id="LC1262" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Object</span>.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? <span class="code-string">'0'</span> : <span class="code-string">''</span>, _Object$assign[sideX] = hasX ? <span class="code-string">'0'</span> : <span class="code-string">''</span>, _Object$assign.transform = (win.devicePixelRatio || <span class="code-number">1</span>) &lt;= <span class="code-number">1</span> ? <span class="code-string">"translate("</span> + x + <span class="code-string">"px, "</span> + y + <span class="code-string">"px)"</span> : <span class="code-string">"translate3d("</span> + x + <span class="code-string">"px, "</span> + y + <span class="code-string">"px, 0)"</span>, _Object$assign));
+</code></td></tr><tr><td id="L1263" class="css-a4x74f"><span>1263</span></td><td id="LC1263" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1264" class="css-a4x74f"><span>1264</span></td><td id="LC1264" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1265" class="css-a4x74f"><span>1265</span></td><td id="LC1265" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Object</span>.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + <span class="code-string">"px"</span> : <span class="code-string">''</span>, _Object$assign2[sideX] = hasX ? x + <span class="code-string">"px"</span> : <span class="code-string">''</span>, _Object$assign2.transform = <span class="code-string">''</span>, _Object$assign2));
+</code></td></tr><tr><td id="L1266" class="css-a4x74f"><span>1266</span></td><td id="LC1266" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1267" class="css-a4x74f"><span>1267</span></td><td id="LC1267" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1268" class="css-a4x74f"><span>1268</span></td><td id="LC1268" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">computeStyles</span>(<span class="code-params">_ref5</span>) </span>{
+</code></td></tr><tr><td id="L1269" class="css-a4x74f"><span>1269</span></td><td id="LC1269" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> state = _ref5.state,
+</code></td></tr><tr><td id="L1270" class="css-a4x74f"><span>1270</span></td><td id="LC1270" class="css-1dcdqdg"><code> options = _ref5.options;
+</code></td></tr><tr><td id="L1271" class="css-a4x74f"><span>1271</span></td><td id="LC1271" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _options$gpuAccelerat = options.gpuAcceleration,
+</code></td></tr><tr><td id="L1272" class="css-a4x74f"><span>1272</span></td><td id="LC1272" class="css-1dcdqdg"><code> gpuAcceleration = _options$gpuAccelerat === <span class="code-keyword">void</span> <span class="code-number">0</span> ? <span class="code-literal">true</span> : _options$gpuAccelerat,
+</code></td></tr><tr><td id="L1273" class="css-a4x74f"><span>1273</span></td><td id="LC1273" class="css-1dcdqdg"><code> _options$adaptive = options.adaptive,
+</code></td></tr><tr><td id="L1274" class="css-a4x74f"><span>1274</span></td><td id="LC1274" class="css-1dcdqdg"><code> adaptive = _options$adaptive === <span class="code-keyword">void</span> <span class="code-number">0</span> ? <span class="code-literal">true</span> : _options$adaptive,
+</code></td></tr><tr><td id="L1275" class="css-a4x74f"><span>1275</span></td><td id="LC1275" class="css-1dcdqdg"><code> _options$roundOffsets = options.roundOffsets,
+</code></td></tr><tr><td id="L1276" class="css-a4x74f"><span>1276</span></td><td id="LC1276" class="css-1dcdqdg"><code> roundOffsets = _options$roundOffsets === <span class="code-keyword">void</span> <span class="code-number">0</span> ? <span class="code-literal">true</span> : _options$roundOffsets;
+</code></td></tr><tr><td id="L1277" class="css-a4x74f"><span>1277</span></td><td id="LC1277" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1278" class="css-a4x74f"><span>1278</span></td><td id="LC1278" class="css-1dcdqdg"><code> {
+</code></td></tr><tr><td id="L1279" class="css-a4x74f"><span>1279</span></td><td id="LC1279" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || <span class="code-string">''</span>;
+</code></td></tr><tr><td id="L1280" class="css-a4x74f"><span>1280</span></td><td id="LC1280" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1281" class="css-a4x74f"><span>1281</span></td><td id="LC1281" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (adaptive &amp;&amp; [<span class="code-string">'transform'</span>, <span class="code-string">'top'</span>, <span class="code-string">'right'</span>, <span class="code-string">'bottom'</span>, <span class="code-string">'left'</span>].some(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">property</span>) </span>{
+</code></td></tr><tr><td id="L1282" class="css-a4x74f"><span>1282</span></td><td id="LC1282" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> transitionProperty.indexOf(property) &gt;= <span class="code-number">0</span>;
+</code></td></tr><tr><td id="L1283" class="css-a4x74f"><span>1283</span></td><td id="LC1283" class="css-1dcdqdg"><code> })) {
+</code></td></tr><tr><td id="L1284" class="css-a4x74f"><span>1284</span></td><td id="LC1284" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn([<span class="code-string">'Popper: Detected CSS transitions on at least one of the following'</span>, <span class="code-string">'CSS properties: "transform", "top", "right", "bottom", "left".'</span>, <span class="code-string">'\n\n'</span>, <span class="code-string">'Disable the "computeStyles" modifier\'s `adaptive` option to allow'</span>, <span class="code-string">'for smooth transitions, or remove these properties from the CSS'</span>, <span class="code-string">'transition declaration on the popper element if only transitioning'</span>, <span class="code-string">'opacity or background-color for example.'</span>, <span class="code-string">'\n\n'</span>, <span class="code-string">'We recommend using the popper element as a wrapper around an inner'</span>, <span class="code-string">'element that can have any CSS property transitioned for animations.'</span>].join(<span class="code-string">' '</span>));
+</code></td></tr><tr><td id="L1285" class="css-a4x74f"><span>1285</span></td><td id="LC1285" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1286" class="css-a4x74f"><span>1286</span></td><td id="LC1286" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1287" class="css-a4x74f"><span>1287</span></td><td id="LC1287" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1288" class="css-a4x74f"><span>1288</span></td><td id="LC1288" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> commonStyles = {
+</code></td></tr><tr><td id="L1289" class="css-a4x74f"><span>1289</span></td><td id="LC1289" class="css-1dcdqdg"><code> placement: getBasePlacement(state.placement),
+</code></td></tr><tr><td id="L1290" class="css-a4x74f"><span>1290</span></td><td id="LC1290" class="css-1dcdqdg"><code> variation: getVariation(state.placement),
+</code></td></tr><tr><td id="L1291" class="css-a4x74f"><span>1291</span></td><td id="LC1291" class="css-1dcdqdg"><code> popper: state.elements.popper,
+</code></td></tr><tr><td id="L1292" class="css-a4x74f"><span>1292</span></td><td id="LC1292" class="css-1dcdqdg"><code> popperRect: state.rects.popper,
+</code></td></tr><tr><td id="L1293" class="css-a4x74f"><span>1293</span></td><td id="LC1293" class="css-1dcdqdg"><code> gpuAcceleration: gpuAcceleration,
+</code></td></tr><tr><td id="L1294" class="css-a4x74f"><span>1294</span></td><td id="LC1294" class="css-1dcdqdg"><code> isFixed: state.options.strategy === <span class="code-string">'fixed'</span>
+</code></td></tr><tr><td id="L1295" class="css-a4x74f"><span>1295</span></td><td id="LC1295" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1296" class="css-a4x74f"><span>1296</span></td><td id="LC1296" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1297" class="css-a4x74f"><span>1297</span></td><td id="LC1297" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state.modifiersData.popperOffsets != <span class="code-literal">null</span>) {
+</code></td></tr><tr><td id="L1298" class="css-a4x74f"><span>1298</span></td><td id="LC1298" class="css-1dcdqdg"><code> state.styles.popper = <span class="code-built_in">Object</span>.assign({}, state.styles.popper, mapToStyles(<span class="code-built_in">Object</span>.assign({}, commonStyles, {
+</code></td></tr><tr><td id="L1299" class="css-a4x74f"><span>1299</span></td><td id="LC1299" class="css-1dcdqdg"><code> offsets: state.modifiersData.popperOffsets,
+</code></td></tr><tr><td id="L1300" class="css-a4x74f"><span>1300</span></td><td id="LC1300" class="css-1dcdqdg"><code> position: state.options.strategy,
+</code></td></tr><tr><td id="L1301" class="css-a4x74f"><span>1301</span></td><td id="LC1301" class="css-1dcdqdg"><code> adaptive: adaptive,
+</code></td></tr><tr><td id="L1302" class="css-a4x74f"><span>1302</span></td><td id="LC1302" class="css-1dcdqdg"><code> roundOffsets: roundOffsets
+</code></td></tr><tr><td id="L1303" class="css-a4x74f"><span>1303</span></td><td id="LC1303" class="css-1dcdqdg"><code> })));
+</code></td></tr><tr><td id="L1304" class="css-a4x74f"><span>1304</span></td><td id="LC1304" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1305" class="css-a4x74f"><span>1305</span></td><td id="LC1305" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1306" class="css-a4x74f"><span>1306</span></td><td id="LC1306" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state.modifiersData.arrow != <span class="code-literal">null</span>) {
+</code></td></tr><tr><td id="L1307" class="css-a4x74f"><span>1307</span></td><td id="LC1307" class="css-1dcdqdg"><code> state.styles.arrow = <span class="code-built_in">Object</span>.assign({}, state.styles.arrow, mapToStyles(<span class="code-built_in">Object</span>.assign({}, commonStyles, {
+</code></td></tr><tr><td id="L1308" class="css-a4x74f"><span>1308</span></td><td id="LC1308" class="css-1dcdqdg"><code> offsets: state.modifiersData.arrow,
+</code></td></tr><tr><td id="L1309" class="css-a4x74f"><span>1309</span></td><td id="LC1309" class="css-1dcdqdg"><code> position: <span class="code-string">'absolute'</span>,
+</code></td></tr><tr><td id="L1310" class="css-a4x74f"><span>1310</span></td><td id="LC1310" class="css-1dcdqdg"><code> adaptive: <span class="code-literal">false</span>,
+</code></td></tr><tr><td id="L1311" class="css-a4x74f"><span>1311</span></td><td id="LC1311" class="css-1dcdqdg"><code> roundOffsets: roundOffsets
+</code></td></tr><tr><td id="L1312" class="css-a4x74f"><span>1312</span></td><td id="LC1312" class="css-1dcdqdg"><code> })));
+</code></td></tr><tr><td id="L1313" class="css-a4x74f"><span>1313</span></td><td id="LC1313" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1314" class="css-a4x74f"><span>1314</span></td><td id="LC1314" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1315" class="css-a4x74f"><span>1315</span></td><td id="LC1315" class="css-1dcdqdg"><code> state.attributes.popper = <span class="code-built_in">Object</span>.assign({}, state.attributes.popper, {
+</code></td></tr><tr><td id="L1316" class="css-a4x74f"><span>1316</span></td><td id="LC1316" class="css-1dcdqdg"><code> <span class="code-string">'data-popper-placement'</span>: state.placement
+</code></td></tr><tr><td id="L1317" class="css-a4x74f"><span>1317</span></td><td id="LC1317" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1318" class="css-a4x74f"><span>1318</span></td><td id="LC1318" class="css-1dcdqdg"><code> } <span class="code-comment">// eslint-disable-next-line import/no-unused-modules</span>
+</code></td></tr><tr><td id="L1319" class="css-a4x74f"><span>1319</span></td><td id="LC1319" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1320" class="css-a4x74f"><span>1320</span></td><td id="LC1320" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1321" class="css-a4x74f"><span>1321</span></td><td id="LC1321" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> computeStyles$<span class="code-number">1</span> = {
+</code></td></tr><tr><td id="L1322" class="css-a4x74f"><span>1322</span></td><td id="LC1322" class="css-1dcdqdg"><code> name: <span class="code-string">'computeStyles'</span>,
+</code></td></tr><tr><td id="L1323" class="css-a4x74f"><span>1323</span></td><td id="LC1323" class="css-1dcdqdg"><code> enabled: <span class="code-literal">true</span>,
+</code></td></tr><tr><td id="L1324" class="css-a4x74f"><span>1324</span></td><td id="LC1324" class="css-1dcdqdg"><code> phase: <span class="code-string">'beforeWrite'</span>,
+</code></td></tr><tr><td id="L1325" class="css-a4x74f"><span>1325</span></td><td id="LC1325" class="css-1dcdqdg"><code> fn: computeStyles,
+</code></td></tr><tr><td id="L1326" class="css-a4x74f"><span>1326</span></td><td id="LC1326" class="css-1dcdqdg"><code> data: {}
+</code></td></tr><tr><td id="L1327" class="css-a4x74f"><span>1327</span></td><td id="LC1327" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1328" class="css-a4x74f"><span>1328</span></td><td id="LC1328" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1329" class="css-a4x74f"><span>1329</span></td><td id="LC1329" class="css-1dcdqdg"><code> <span class="code-comment">// and applies them to the HTMLElements such as popper and arrow</span>
+</code></td></tr><tr><td id="L1330" class="css-a4x74f"><span>1330</span></td><td id="LC1330" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1331" class="css-a4x74f"><span>1331</span></td><td id="LC1331" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">applyStyles</span>(<span class="code-params">_ref</span>) </span>{
+</code></td></tr><tr><td id="L1332" class="css-a4x74f"><span>1332</span></td><td id="LC1332" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> state = _ref.state;
+</code></td></tr><tr><td id="L1333" class="css-a4x74f"><span>1333</span></td><td id="LC1333" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(state.elements).forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">name</span>) </span>{
+</code></td></tr><tr><td id="L1334" class="css-a4x74f"><span>1334</span></td><td id="LC1334" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> style = state.styles[name] || {};
+</code></td></tr><tr><td id="L1335" class="css-a4x74f"><span>1335</span></td><td id="LC1335" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> attributes = state.attributes[name] || {};
+</code></td></tr><tr><td id="L1336" class="css-a4x74f"><span>1336</span></td><td id="LC1336" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> element = state.elements[name]; <span class="code-comment">// arrow is optional + virtual elements</span>
+</code></td></tr><tr><td id="L1337" class="css-a4x74f"><span>1337</span></td><td id="LC1337" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1338" class="css-a4x74f"><span>1338</span></td><td id="LC1338" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isHTMLElement(element) || !getNodeName(element)) {
+</code></td></tr><tr><td id="L1339" class="css-a4x74f"><span>1339</span></td><td id="LC1339" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>;
+</code></td></tr><tr><td id="L1340" class="css-a4x74f"><span>1340</span></td><td id="LC1340" class="css-1dcdqdg"><code> } <span class="code-comment">// Flow doesn't support to extend this property, but it's the most</span>
+</code></td></tr><tr><td id="L1341" class="css-a4x74f"><span>1341</span></td><td id="LC1341" class="css-1dcdqdg"><code> <span class="code-comment">// effective way to apply styles to an HTMLElement</span>
+</code></td></tr><tr><td id="L1342" class="css-a4x74f"><span>1342</span></td><td id="LC1342" class="css-1dcdqdg"><code> <span class="code-comment">// $FlowFixMe[cannot-write]</span>
+</code></td></tr><tr><td id="L1343" class="css-a4x74f"><span>1343</span></td><td id="LC1343" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1344" class="css-a4x74f"><span>1344</span></td><td id="LC1344" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1345" class="css-a4x74f"><span>1345</span></td><td id="LC1345" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.assign(element.style, style);
+</code></td></tr><tr><td id="L1346" class="css-a4x74f"><span>1346</span></td><td id="LC1346" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(attributes).forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">name</span>) </span>{
+</code></td></tr><tr><td id="L1347" class="css-a4x74f"><span>1347</span></td><td id="LC1347" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value = attributes[name];
+</code></td></tr><tr><td id="L1348" class="css-a4x74f"><span>1348</span></td><td id="LC1348" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1349" class="css-a4x74f"><span>1349</span></td><td id="LC1349" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (value === <span class="code-literal">false</span>) {
+</code></td></tr><tr><td id="L1350" class="css-a4x74f"><span>1350</span></td><td id="LC1350" class="css-1dcdqdg"><code> element.removeAttribute(name);
+</code></td></tr><tr><td id="L1351" class="css-a4x74f"><span>1351</span></td><td id="LC1351" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> {
+</code></td></tr><tr><td id="L1352" class="css-a4x74f"><span>1352</span></td><td id="LC1352" class="css-1dcdqdg"><code> element.setAttribute(name, value === <span class="code-literal">true</span> ? <span class="code-string">''</span> : value);
+</code></td></tr><tr><td id="L1353" class="css-a4x74f"><span>1353</span></td><td id="LC1353" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1354" class="css-a4x74f"><span>1354</span></td><td id="LC1354" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1355" class="css-a4x74f"><span>1355</span></td><td id="LC1355" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1356" class="css-a4x74f"><span>1356</span></td><td id="LC1356" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1357" class="css-a4x74f"><span>1357</span></td><td id="LC1357" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1358" class="css-a4x74f"><span>1358</span></td><td id="LC1358" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">effect</span>(<span class="code-params">_ref2</span>) </span>{
+</code></td></tr><tr><td id="L1359" class="css-a4x74f"><span>1359</span></td><td id="LC1359" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> state = _ref2.state;
+</code></td></tr><tr><td id="L1360" class="css-a4x74f"><span>1360</span></td><td id="LC1360" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> initialStyles = {
+</code></td></tr><tr><td id="L1361" class="css-a4x74f"><span>1361</span></td><td id="LC1361" class="css-1dcdqdg"><code> popper: {
+</code></td></tr><tr><td id="L1362" class="css-a4x74f"><span>1362</span></td><td id="LC1362" class="css-1dcdqdg"><code> position: state.options.strategy,
+</code></td></tr><tr><td id="L1363" class="css-a4x74f"><span>1363</span></td><td id="LC1363" class="css-1dcdqdg"><code> left: <span class="code-string">'0'</span>,
+</code></td></tr><tr><td id="L1364" class="css-a4x74f"><span>1364</span></td><td id="LC1364" class="css-1dcdqdg"><code> top: <span class="code-string">'0'</span>,
+</code></td></tr><tr><td id="L1365" class="css-a4x74f"><span>1365</span></td><td id="LC1365" class="css-1dcdqdg"><code> margin: <span class="code-string">'0'</span>
+</code></td></tr><tr><td id="L1366" class="css-a4x74f"><span>1366</span></td><td id="LC1366" class="css-1dcdqdg"><code> },
+</code></td></tr><tr><td id="L1367" class="css-a4x74f"><span>1367</span></td><td id="LC1367" class="css-1dcdqdg"><code> arrow: {
+</code></td></tr><tr><td id="L1368" class="css-a4x74f"><span>1368</span></td><td id="LC1368" class="css-1dcdqdg"><code> position: <span class="code-string">'absolute'</span>
+</code></td></tr><tr><td id="L1369" class="css-a4x74f"><span>1369</span></td><td id="LC1369" class="css-1dcdqdg"><code> },
+</code></td></tr><tr><td id="L1370" class="css-a4x74f"><span>1370</span></td><td id="LC1370" class="css-1dcdqdg"><code> reference: {}
+</code></td></tr><tr><td id="L1371" class="css-a4x74f"><span>1371</span></td><td id="LC1371" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1372" class="css-a4x74f"><span>1372</span></td><td id="LC1372" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.assign(state.elements.popper.style, initialStyles.popper);
+</code></td></tr><tr><td id="L1373" class="css-a4x74f"><span>1373</span></td><td id="LC1373" class="css-1dcdqdg"><code> state.styles = initialStyles;
+</code></td></tr><tr><td id="L1374" class="css-a4x74f"><span>1374</span></td><td id="LC1374" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1375" class="css-a4x74f"><span>1375</span></td><td id="LC1375" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state.elements.arrow) {
+</code></td></tr><tr><td id="L1376" class="css-a4x74f"><span>1376</span></td><td id="LC1376" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.assign(state.elements.arrow.style, initialStyles.arrow);
+</code></td></tr><tr><td id="L1377" class="css-a4x74f"><span>1377</span></td><td id="LC1377" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1378" class="css-a4x74f"><span>1378</span></td><td id="LC1378" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1379" class="css-a4x74f"><span>1379</span></td><td id="LC1379" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{
+</code></td></tr><tr><td id="L1380" class="css-a4x74f"><span>1380</span></td><td id="LC1380" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(state.elements).forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">name</span>) </span>{
+</code></td></tr><tr><td id="L1381" class="css-a4x74f"><span>1381</span></td><td id="LC1381" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> element = state.elements[name];
+</code></td></tr><tr><td id="L1382" class="css-a4x74f"><span>1382</span></td><td id="LC1382" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> attributes = state.attributes[name] || {};
+</code></td></tr><tr><td id="L1383" class="css-a4x74f"><span>1383</span></td><td id="LC1383" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> styleProperties = <span class="code-built_in">Object</span>.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); <span class="code-comment">// Set all values to an empty string to unset them</span>
+</code></td></tr><tr><td id="L1384" class="css-a4x74f"><span>1384</span></td><td id="LC1384" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1385" class="css-a4x74f"><span>1385</span></td><td id="LC1385" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> style = styleProperties.reduce(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">style, property</span>) </span>{
+</code></td></tr><tr><td id="L1386" class="css-a4x74f"><span>1386</span></td><td id="LC1386" class="css-1dcdqdg"><code> style[property] = <span class="code-string">''</span>;
+</code></td></tr><tr><td id="L1387" class="css-a4x74f"><span>1387</span></td><td id="LC1387" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> style;
+</code></td></tr><tr><td id="L1388" class="css-a4x74f"><span>1388</span></td><td id="LC1388" class="css-1dcdqdg"><code> }, {}); <span class="code-comment">// arrow is optional + virtual elements</span>
+</code></td></tr><tr><td id="L1389" class="css-a4x74f"><span>1389</span></td><td id="LC1389" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1390" class="css-a4x74f"><span>1390</span></td><td id="LC1390" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isHTMLElement(element) || !getNodeName(element)) {
+</code></td></tr><tr><td id="L1391" class="css-a4x74f"><span>1391</span></td><td id="LC1391" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>;
+</code></td></tr><tr><td id="L1392" class="css-a4x74f"><span>1392</span></td><td id="LC1392" class="css-1dcdqdg"><code> }
+</code></td></tr><tr><td id="L1393" class="css-a4x74f"><span>1393</span></td><td id="LC1393" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1394" class="css-a4x74f"><span>1394</span></td><td id="LC1394" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.assign(element.style, style);
+</code></td></tr><tr><td id="L1395" class="css-a4x74f"><span>1395</span></td><td id="LC1395" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(attributes).forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">attribute</span>) </span>{
+</code></td></tr><tr><td id="L1396" class="css-a4x74f"><span>1396</span></td><td id="LC1396" class="css-1dcdqdg"><code> element.removeAttribute(attribute);
+</code></td></tr><tr><td id="L1397" class="css-a4x74f"><span>1397</span></td><td id="LC1397" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1398" class="css-a4x74f"><span>1398</span></td><td id="LC1398" class="css-1dcdqdg"><code> });
+</code></td></tr><tr><td id="L1399" class="css-a4x74f"><span>1399</span></td><td id="LC1399" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1400" class="css-a4x74f"><span>1400</span></td><td id="LC1400" class="css-1dcdqdg"><code> } <span class="code-comment">// eslint-disable-next-line import/no-unused-modules</span>
+</code></td></tr><tr><td id="L1401" class="css-a4x74f"><span>1401</span></td><td id="LC1401" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1402" class="css-a4x74f"><span>1402</span></td><td id="LC1402" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1403" class="css-a4x74f"><span>1403</span></td><td id="LC1403" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> applyStyles$<span class="code-number">1</span> = {
+</code></td></tr><tr><td id="L1404" class="css-a4x74f"><span>1404</span></td><td id="LC1404" class="css-1dcdqdg"><code> name: <span class="code-string">'applyStyles'</span>,
+</code></td></tr><tr><td id="L1405" class="css-a4x74f"><span>1405</span></td><td id="LC1405" class="css-1dcdqdg"><code> enabled: <span class="code-literal">true</span>,
+</code></td></tr><tr><td id="L1406" class="css-a4x74f"><span>1406</span></td><td id="LC1406" class="css-1dcdqdg"><code> phase: <span class="code-string">'write'</span>,
+</code></td></tr><tr><td id="L1407" class="css-a4x74f"><span>1407</span></td><td id="LC1407" class="css-1dcdqdg"><code> fn: applyStyles,
+</code></td></tr><tr><td id="L1408" class="css-a4x74f"><span>1408</span></td><td id="LC1408" class="css-1dcdqdg"><code> effect: effect,
+</code></td></tr><tr><td id="L1409" class="css-a4x74f"><span>1409</span></td><td id="LC1409" class="css-1dcdqdg"><code> requires: [<span class="code-string">'computeStyles'</span>]
+</code></td></tr><tr><td id="L1410" class="css-a4x74f"><span>1410</span></td><td id="LC1410" class="css-1dcdqdg"><code> };
+</code></td></tr><tr><td id="L1411" class="css-a4x74f"><span>1411</span></td><td id="LC1411" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1412" class="css-a4x74f"><span>1412</span></td><td id="LC1412" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> defaultModifiers = [eventListeners, popperOffsets$<span class="code-number">1</span>, computeStyles$<span class="code-number">1</span>, applyStyles$<span class="code-number">1</span>];
+</code></td></tr><tr><td id="L1413" class="css-a4x74f"><span>1413</span></td><td id="LC1413" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> createPopper = <span class="code-comment">/*#__PURE__*/</span>popperGenerator({
+</code></td></tr><tr><td id="L1414" class="css-a4x74f"><span>1414</span></td><td id="LC1414" class="css-1dcdqdg"><code> defaultModifiers: defaultModifiers
+</code></td></tr><tr><td id="L1415" class="css-a4x74f"><span>1415</span></td><td id="LC1415" class="css-1dcdqdg"><code> }); <span class="code-comment">// eslint-disable-next-line import/no-unused-modules</span>
+</code></td></tr><tr><td id="L1416" class="css-a4x74f"><span>1416</span></td><td id="LC1416" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1417" class="css-a4x74f"><span>1417</span></td><td id="LC1417" class="css-1dcdqdg"><code> exports.createPopper = createPopper;
+</code></td></tr><tr><td id="L1418" class="css-a4x74f"><span>1418</span></td><td id="LC1418" class="css-1dcdqdg"><code> exports.defaultModifiers = defaultModifiers;
+</code></td></tr><tr><td id="L1419" class="css-a4x74f"><span>1419</span></td><td id="LC1419" class="css-1dcdqdg"><code> exports.detectOverflow = detectOverflow;
+</code></td></tr><tr><td id="L1420" class="css-a4x74f"><span>1420</span></td><td id="LC1420" class="css-1dcdqdg"><code> exports.popperGenerator = popperGenerator;
+</code></td></tr><tr><td id="L1421" class="css-a4x74f"><span>1421</span></td><td id="LC1421" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1422" class="css-a4x74f"><span>1422</span></td><td id="LC1422" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.defineProperty(exports, <span class="code-string">'__esModule'</span>, { <span class="code-attr">value</span>: <span class="code-literal">true</span> });
+</code></td></tr><tr><td id="L1423" class="css-a4x74f"><span>1423</span></td><td id="LC1423" class="css-1dcdqdg"><code>
+</code></td></tr><tr><td id="L1424" class="css-a4x74f"><span>1424</span></td><td id="LC1424" class="css-1dcdqdg"><code>})));
+</code></td></tr><tr><td id="L1425" class="css-a4x74f"><span>1425</span></td><td id="LC1425" class="css-1dcdqdg"><code><span class="code-comment">//# sourceMappingURL=popper-lite.js.map</span>
+</code></td></tr></tbody></table></div></div></div></div><style data-emotion-css="1teho9j">.css-1teho9j{margin-top:5rem;background:black;color:#aaa;}</style><footer class="css-1teho9j"><style data-emotion-css="1ui8put">.css-1ui8put{max-width:940px;padding:10px 20px;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}</style><div class="css-1ui8put"><p><span>Build: <!-- -->a7ebffa</span></p><p><span>© <!-- -->2022<!-- --> UNPKG</span></p><style data-emotion-css="la3nd4">.css-la3nd4{font-size:1.5rem;}</style><p class="css-la3nd4"><style data-emotion-css="bogekj">.css-bogekj{color:#aaa;display:inline-block;}.css-bogekj:hover{color:white;}</style><a href="https://twitter.com/unpkg" class="css-bogekj"><style data-emotion-css="i6dzq1">.css-i6dzq1{vertical-align:text-bottom;}</style><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" class="css-i6dzq1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg></a><style data-emotion-css="3czw03">.css-3czw03{color:#aaa;display:inline-block;margin-left:1rem;}.css-3czw03:hover{color:white;}</style><a href="https://github.com/mjackson/unpkg" class="css-3czw03"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" class="css-i6dzq1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></a></p></div></footer></div><script src="/react@16.8.6/umd/react.production.min.js"></script><script src="/react-dom@16.8.6/umd/react-dom.production.min.js"></script><script src="/@emotion/core@10.0.6/dist/core.umd.min.js"></script><script>'use strict';(function(t,A,c){function w(){w=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var e=arguments[b],c;for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(a[c]=e[c])}return a};return w.apply(this,arguments)}function P(a,b){if(null==a)return{};var e={},c=Object.keys(a),d;for(d=0;d<c.length;d++){var h=c[d];0<=b.indexOf(h)||(e[h]=a[h])}return e}function Q(a,b){b||(b=a.slice(0));a.raw=b;return a}function R(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,
+"default")?a["default"]:a}function D(a,b){return b={exports:{}},a(b,b.exports),b.exports}function J(a,b,e,c,d){for(var g in a)if(ua(a,g)){try{if("function"!==typeof a[g]){var r=Error((c||"React class")+": "+e+" type `"+g+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof a[g]+"`.");r.name="Invariant Violation";throw r;}var k=a[g](b,g,c,e,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(q){k=q}!k||k instanceof Error||K((c||"React class")+": type specification of "+
+e+" `"+g+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof k+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).");if(k instanceof Error&&!(k.message in L)){L[k.message]=!0;var B=d?d():"";K("Failed "+e+" type: "+k.message+(null!=B?B:""))}}}function G(){return null}function S(a){var b,e=a.children;a=a.css;return c.jsx("div",{css:w((b={border:"1px solid #dfe2e5",
+borderRadius:3},b["@media (max-width: 700px)"]={borderRightWidth:0,borderLeftWidth:0},b),a)},e)}function T(a){var b,e=a.children;a=a.css;return c.jsx("div",{css:w((b={padding:10,background:"#f6f8fa",color:"#424242",border:"1px solid #d1d5da",borderTopLeftRadius:3,borderTopRightRadius:3,margin:"-1px -1px 0",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},b["@media (max-width: 700px)"]={paddingRight:20,paddingLeft:20},b),a)},e)}function U(a){return a&&a.map(function(a,
+c){return t.createElement(a.tag,z({key:c},a.attr),U(a.child))})}function E(a){return function(b){return t.createElement(va,z({attr:z({},a.attr)},b),U(a.child))}}function va(a){var b=function(b){var c=a.size||b.size||"1em";if(b.className)var e=b.className;a.className&&(e=(e?e+" ":"")+a.className);var h=a.attr,r=a.title,k=["attr","title"],B={},q;for(q in a)Object.prototype.hasOwnProperty.call(a,q)&&0>k.indexOf(q)&&(B[q]=a[q]);if(null!=a&&"function"===typeof Object.getOwnPropertySymbols){var p=0;for(q=
+Object.getOwnPropertySymbols(a);p<q.length;p++)0>k.indexOf(q[p])&&(B[q[p]]=a[q[p]])}return t.createElement("svg",z({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},b.attr,h,B,{className:e,style:z({color:a.color||b.color},b.style,a.style),height:c,width:c,xmlns:"http://www.w3.org/2000/svg"}),r&&t.createElement("title",null,r),a.children)};return void 0!==V?t.createElement(V.Consumer,null,function(a){return b(a)}):b(W)}function F(a,b){var e=b.css;b=P(b,["css"]);return c.jsx(a,w({css:w({},
+e,{verticalAlign:"text-bottom"})},b))}function wa(a){return F(X,a)}function xa(a){return F(Y,a)}function ya(a){return F(Z,a)}function za(a){return F(aa,a)}function Aa(a){return F(ba,a)}function ca(a){var b=a.path,e=a.details,g=Object.keys(e).reduce(function(a,b){var c=a.subdirs,g=a.files;b=e[b];"directory"===b.type?c.push(b):"file"===b.type&&g.push(b);return a},{subdirs:[],files:[]});a=g.subdirs;g=g.files;a.sort(da("path"));g.sort(da("path"));var d=[];"/"!==b&&d.push(c.jsx("tr",{key:".."},c.jsx("td",
+{css:M}),c.jsx("td",{css:y},c.jsx("a",{title:"Parent directory",href:"../",css:N},"..")),c.jsx("td",{css:y}),c.jsx("td",{css:O})));a.forEach(function(a){a=a.path.substr(1<b.length?b.length+1:1);var e=a+"/";d.push(c.jsx("tr",{key:a},c.jsx("td",{css:M},c.jsx(ya,null)),c.jsx("td",{css:y},c.jsx("a",{title:a,href:e,css:N},a)),c.jsx("td",{css:y},"-"),c.jsx("td",{css:O},"-")))});g.forEach(function(a){var e=a.size,g=a.contentType;a=a.path.substr(1<b.length?b.length+1:1);d.push(c.jsx("tr",{key:a},c.jsx("td",
+{css:M},"text/plain"===g||"text/markdown"===g?c.jsx(wa,null):c.jsx(xa,null)),c.jsx("td",{css:y},c.jsx("a",{title:a,href:a,css:N},a)),c.jsx("td",{css:y},ea(e)),c.jsx("td",{css:O},g)))});var h=[];0<g.length&&h.push(g.length+" file"+(1===g.length?"":"s"));0<a.length&&h.push(a.length+" folder"+(1===a.length?"":"s"));return c.jsx(S,null,c.jsx(T,null,c.jsx("span",null,h.join(", "))),c.jsx("table",{css:{width:"100%",borderCollapse:"collapse",borderRadius:2,background:"#fff","@media (max-width: 700px)":{"& th + th + th + th, & td + td + td + td":{display:"none"}},
+"& tr:first-of-type td":{borderTop:0}}},c.jsx("thead",null,c.jsx("tr",null,c.jsx("th",null,c.jsx(H,null,"Icon")),c.jsx("th",null,c.jsx(H,null,"Name")),c.jsx("th",null,c.jsx(H,null,"Size")),c.jsx("th",null,c.jsx(H,null,"Content Type")))),c.jsx("tbody",null,d)))}function Ba(a){a=a.split("/");return a[a.length-1]}function Ca(a){var b=a.uri;return c.jsx("div",{css:{padding:20,textAlign:"center"}},c.jsx("img",{alt:Ba(a.path),src:b}))}function Da(a){a=a.highlights.slice(0);var b=a.length&&""===a[a.length-
+1];b&&a.pop();return c.jsx("div",{className:"code-listing",css:{overflowX:"auto",overflowY:"hidden",paddingTop:5,paddingBottom:5}},c.jsx("table",{css:{border:"none",borderCollapse:"collapse",borderSpacing:0}},c.jsx("tbody",null,a.map(function(a,b){var e=b+1;return c.jsx("tr",{key:b},c.jsx("td",{id:"L"+e,css:{paddingLeft:10,paddingRight:10,color:"rgba(27,31,35,.3)",textAlign:"right",verticalAlign:"top",width:"1%",minWidth:50,userSelect:"none"}},c.jsx("span",null,e)),c.jsx("td",{id:"LC"+e,css:{paddingLeft:10,
+paddingRight:10,color:"#24292e",whiteSpace:"pre"}},c.jsx("code",{dangerouslySetInnerHTML:{__html:a}})))}),!b&&c.jsx("tr",{key:"no-newline"},c.jsx("td",{css:{paddingLeft:10,paddingRight:10,color:"rgba(27,31,35,.3)",textAlign:"right",verticalAlign:"top",width:"1%",minWidth:50,userSelect:"none"}},"\\"),c.jsx("td",{css:{paddingLeft:10,color:"rgba(27,31,35,.3)",userSelect:"none"}},"No newline at end of file")))))}function Ea(){return c.jsx("div",{css:{padding:20}},c.jsx("p",{css:{textAlign:"center"}},
+"No preview available."))}function fa(a){var b=a.packageName,e=a.packageVersion,g=a.path;a=a.details;var d=a.highlights,h=a.uri,r=a.language;return c.jsx(S,null,c.jsx(T,null,c.jsx("span",null,ea(a.size)),c.jsx("span",null,r),c.jsx("span",null,c.jsx("a",{href:"/"+b+"@"+e+g,css:{display:"inline-block",marginLeft:8,padding:"2px 8px",textDecoration:"none",fontWeight:600,fontSize:"0.9rem",color:"#24292e",backgroundColor:"#eff3f6",border:"1px solid rgba(27,31,35,.2)",borderRadius:3,":hover":{backgroundColor:"#e6ebf1",
+borderColor:"rgba(27,31,35,.35)"},":active":{backgroundColor:"#e9ecef",borderColor:"rgba(27,31,35,.35)",boxShadow:"inset 0 0.15em 0.3em rgba(27,31,35,.15)"}}},"View Raw"))),d?c.jsx(Da,{highlights:d}):h?c.jsx(Ca,{path:g,uri:h}):c.jsx(Ea,null))}function ha(){var a=Q(["\n .code-listing {\n background: #fbfdff;\n color: #383a42;\n }\n .code-comment,\n .code-quote {\n color: #a0a1a7;\n font-style: italic;\n }\n .code-doctag,\n .code-keyword,\n .code-link,\n .code-formula {\n color: #a626a4;\n }\n .code-section,\n .code-name,\n .code-selector-tag,\n .code-deletion,\n .code-subst {\n color: #e45649;\n }\n .code-literal {\n color: #0184bb;\n }\n .code-string,\n .code-regexp,\n .code-addition,\n .code-attribute,\n .code-meta-string {\n color: #50a14f;\n }\n .code-built_in,\n .code-class .code-title {\n color: #c18401;\n }\n .code-attr,\n .code-variable,\n .code-template-variable,\n .code-type,\n .code-selector-class,\n .code-selector-attr,\n .code-selector-pseudo,\n .code-number {\n color: #986801;\n }\n .code-symbol,\n .code-bullet,\n .code-meta,\n .code-selector-id,\n .code-title {\n color: #4078f2;\n }\n .code-emphasis {\n font-style: italic;\n }\n .code-strong {\n font-weight: bold;\n }\n"]);
+ha=function(){return a};return a}function ia(){var a=Q(["\n html {\n box-sizing: border-box;\n }\n *,\n *:before,\n *:after {\n box-sizing: inherit;\n }\n\n html,\n body,\n #root {\n height: 100%;\n margin: 0;\n }\n\n body {\n ","\n font-size: 16px;\n line-height: 1.5;\n overflow-wrap: break-word;\n background: white;\n color: black;\n }\n\n code {\n ","\n }\n\n th,\n td {\n padding: 0;\n }\n\n select {\n font-size: inherit;\n }\n\n #root {\n display: flex;\n flex-direction: column;\n }\n"]);
+ia=function(){return a};return a}function ja(a){var b=a.css;a=P(a,["css"]);return c.jsx("a",w({},a,{css:w({color:"#0076ff",textDecoration:"none",":hover":{textDecoration:"underline"}},b)}))}function Fa(){return c.jsx("header",{css:{marginTop:"2rem"}},c.jsx("h1",{css:{textAlign:"center",fontSize:"3rem",letterSpacing:"0.05em"}},c.jsx("a",{href:"/",css:{color:"#000",textDecoration:"none"}},"UNPKG")))}function Ga(a){var b=a.packageName,e=a.packageVersion,g=a.availableVersions;a=a.filename;var d=[];if("/"===
+a)d.push(b);else{var h="/browse/"+b+"@"+e;d.push(c.jsx(ja,{href:h+"/"},b));b=a.replace(/^\/+/,"").replace(/\/+$/,"").split("/");a=b.pop();b.forEach(function(a){h+="/"+a;d.push(c.jsx(ja,{href:h+"/"},a))});d.push(a)}return c.jsx("header",{css:{display:"flex",flexDirection:"row",alignItems:"center","@media (max-width: 700px)":{flexDirection:"column-reverse",alignItems:"flex-start"}}},c.jsx("h1",{css:{fontSize:"1.5rem",fontWeight:"normal",flex:1,wordBreak:"break-all"}},c.jsx("nav",null,d.map(function(a,
+b,e){return c.jsx(t.Fragment,{key:b},0!==b&&c.jsx("span",{css:{paddingLeft:5,paddingRight:5}},"/"),b===e.length-1?c.jsx("strong",null,a):a)}))),c.jsx(Ha,{packageVersion:e,availableVersions:g,onChange:function(a){window.location.href=window.location.href.replace("@"+e,"@"+a)}}))}function Ha(a){var b=a.onChange;return c.jsx("p",{css:{marginLeft:20,"@media (max-width: 700px)":{marginLeft:0,marginBottom:0}}},c.jsx("label",null,"Version:"," ",c.jsx("select",{name:"version",defaultValue:a.packageVersion,
+onChange:function(a){b&&b(a.target.value)},css:{appearance:"none",cursor:"pointer",padding:"4px 24px 4px 8px",fontWeight:600,fontSize:"0.9em",color:"#24292e",border:"1px solid rgba(27,31,35,.2)",borderRadius:3,backgroundColor:"#eff3f6",backgroundImage:"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAKCAYAAAC9vt6cAAAAAXNSR0IArs4c6QAAARFJREFUKBVjZAACNS39RhBNKrh17WI9o4quoT3Dn78HSNUMUs/CzOTI/O7Vi4dCYpJ3/jP+92BkYGAlyiBGhm8MjIxJt65e3MQM0vDu9YvLYmISILYZELOBxHABRkaGr0yMzF23r12YDFIDNgDEePv65SEhEXENBkYGFSAXuyGMjF8Z/jOsvX3tYiFIDwgwQSgIaaijnvj/P8M5IO8HsjiY/f//D4b//88A1SQhywG9jQr09PS4v/1mPAeUUPzP8B8cJowMjL+Bqu6xMQmaXL164AuyDgwDQJLa2qYSP//9vARkCoMVMzK8YeVkNbh+9uxzMB+JwGoASF5Vx0jz/98/18BqmZi171w9D2EjaaYKEwAEK00XQLdJuwAAAABJRU5ErkJggg==)",
+backgroundPosition:"right 8px center",backgroundRepeat:"no-repeat",backgroundSize:"auto 25%",":hover":{backgroundColor:"#e6ebf1",borderColor:"rgba(27,31,35,.35)"},":active":{backgroundColor:"#e9ecef",borderColor:"rgba(27,31,35,.35)",boxShadow:"inset 0 0.15em 0.3em rgba(27,31,35,.15)"}}},a.availableVersions.map(function(a){return c.jsx("option",{key:a,value:a},a)}))))}function Ia(a){var b=a.packageName,e=a.packageVersion;a=a.target;return"directory"===a.type?c.jsx(ca,{path:a.path,details:a.details}):
+"file"===a.type?c.jsx(fa,{packageName:b,packageVersion:e,path:a.path,details:a.details}):null}function ka(a){var b=a.packageName,e=a.packageVersion,g=a.availableVersions;g=void 0===g?[]:g;var d=a.filename;a=a.target;return c.jsx(t.Fragment,null,c.jsx(c.Global,{styles:Ja}),c.jsx(c.Global,{styles:Ka}),c.jsx("div",{css:{flex:"1 0 auto"}},c.jsx("div",{css:{maxWidth:940,padding:"0 20px",margin:"0 auto"}},c.jsx(Fa,null)),c.jsx("div",{css:{maxWidth:940,padding:"0 20px",margin:"0 auto"}},c.jsx(Ga,{packageName:b,
+packageVersion:e,availableVersions:g,filename:d})),c.jsx("div",{css:{maxWidth:940,padding:"0 20px",margin:"0 auto","@media (max-width: 700px)":{padding:0,margin:0}}},c.jsx(Ia,{packageName:b,packageVersion:e,target:a}))),c.jsx("footer",{css:{marginTop:"5rem",background:"black",color:"#aaa"}},c.jsx("div",{css:{maxWidth:940,padding:"10px 20px",margin:"0 auto",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"}},c.jsx("p",null,c.jsx("span",null,"Build: ","a7ebffa")),
+c.jsx("p",null,c.jsx("span",null,"\u00a9 ",(new Date).getFullYear()," UNPKG")),c.jsx("p",{css:{fontSize:"1.5rem"}},c.jsx("a",{href:"https://twitter.com/unpkg",css:{color:"#aaa",display:"inline-block",":hover":{color:"white"}}},c.jsx(za,null)),c.jsx("a",{href:"https://github.com/mjackson/unpkg",css:{color:"#aaa",display:"inline-block",":hover":{color:"white"},marginLeft:"1rem"}},c.jsx(Aa,null))))))}var la="default"in t?t["default"]:t;A=A&&A.hasOwnProperty("default")?A["default"]:A;var La="undefined"!==
+typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{},m=D(function(a,b){function c(a){if("object"===typeof a&&null!==a){var b=a.$$typeof;switch(b){case d:switch(a=a.type,a){case l:case f:case r:case m:case k:case v:return a;default:switch(a=a&&a.$$typeof,a){case p:case n:case q:return a;default:return b}}case x:case u:case h:return b}}}function g(a){return c(a)===f}Object.defineProperty(b,"__esModule",{value:!0});var d=
+(a="function"===typeof Symbol&&Symbol.for)?Symbol.for("react.element"):60103,h=a?Symbol.for("react.portal"):60106,r=a?Symbol.for("react.fragment"):60107,k=a?Symbol.for("react.strict_mode"):60108,m=a?Symbol.for("react.profiler"):60114,q=a?Symbol.for("react.provider"):60109,p=a?Symbol.for("react.context"):60110,l=a?Symbol.for("react.async_mode"):60111,f=a?Symbol.for("react.concurrent_mode"):60111,n=a?Symbol.for("react.forward_ref"):60112,v=a?Symbol.for("react.suspense"):60113,u=a?Symbol.for("react.memo"):
+60115,x=a?Symbol.for("react.lazy"):60116;b.typeOf=c;b.AsyncMode=l;b.ConcurrentMode=f;b.ContextConsumer=p;b.ContextProvider=q;b.Element=d;b.ForwardRef=n;b.Fragment=r;b.Lazy=x;b.Memo=u;b.Portal=h;b.Profiler=m;b.StrictMode=k;b.Suspense=v;b.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===r||a===f||a===m||a===k||a===v||"object"===typeof a&&null!==a&&(a.$$typeof===x||a.$$typeof===u||a.$$typeof===q||a.$$typeof===p||a.$$typeof===n)};b.isAsyncMode=function(a){return g(a)||
+c(a)===l};b.isConcurrentMode=g;b.isContextConsumer=function(a){return c(a)===p};b.isContextProvider=function(a){return c(a)===q};b.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===d};b.isForwardRef=function(a){return c(a)===n};b.isFragment=function(a){return c(a)===r};b.isLazy=function(a){return c(a)===x};b.isMemo=function(a){return c(a)===u};b.isPortal=function(a){return c(a)===h};b.isProfiler=function(a){return c(a)===m};b.isStrictMode=function(a){return c(a)===k};b.isSuspense=
+function(a){return c(a)===v}});R(m);var na=D(function(a,b){(function(){function a(a){if("object"===typeof a&&null!==a){var b=a.$$typeof;switch(b){case h:switch(a=a.type,a){case f:case n:case k:case q:case m:case u:return a;default:switch(a=a&&a.$$typeof,a){case l:case v:case p:return a;default:return b}}case I:case x:case r:return b}}}function c(b){return a(b)===n}Object.defineProperty(b,"__esModule",{value:!0});var d="function"===typeof Symbol&&Symbol.for,h=d?Symbol.for("react.element"):60103,r=
+d?Symbol.for("react.portal"):60106,k=d?Symbol.for("react.fragment"):60107,m=d?Symbol.for("react.strict_mode"):60108,q=d?Symbol.for("react.profiler"):60114,p=d?Symbol.for("react.provider"):60109,l=d?Symbol.for("react.context"):60110,f=d?Symbol.for("react.async_mode"):60111,n=d?Symbol.for("react.concurrent_mode"):60111,v=d?Symbol.for("react.forward_ref"):60112,u=d?Symbol.for("react.suspense"):60113,x=d?Symbol.for("react.memo"):60115,I=d?Symbol.for("react.lazy"):60116;d=function(){};var Ma=function(a){for(var b=
+arguments.length,f=Array(1<b?b-1:0),c=1;c<b;c++)f[c-1]=arguments[c];var n=0;b="Warning: "+a.replace(/%s/g,function(){return f[n++]});"undefined"!==typeof console&&console.warn(b);try{throw Error(b);}catch(Xa){}},Na=d=function(a,b){if(void 0===b)throw Error("`lowPriorityWarning(condition, format, ...args)` requires a warning message argument");if(!a){for(var f=arguments.length,c=Array(2<f?f-2:0),n=2;n<f;n++)c[n-2]=arguments[n];Ma.apply(void 0,[b].concat(c))}},ma=!1;b.typeOf=a;b.AsyncMode=f;b.ConcurrentMode=
+n;b.ContextConsumer=l;b.ContextProvider=p;b.Element=h;b.ForwardRef=v;b.Fragment=k;b.Lazy=I;b.Memo=x;b.Portal=r;b.Profiler=q;b.StrictMode=m;b.Suspense=u;b.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===k||a===n||a===q||a===m||a===u||"object"===typeof a&&null!==a&&(a.$$typeof===I||a.$$typeof===x||a.$$typeof===p||a.$$typeof===l||a.$$typeof===v)};b.isAsyncMode=function(b){ma||(ma=!0,Na(!1,"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API."));
+return c(b)||a(b)===f};b.isConcurrentMode=c;b.isContextConsumer=function(b){return a(b)===l};b.isContextProvider=function(b){return a(b)===p};b.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===h};b.isForwardRef=function(b){return a(b)===v};b.isFragment=function(b){return a(b)===k};b.isLazy=function(b){return a(b)===I};b.isMemo=function(b){return a(b)===x};b.isPortal=function(b){return a(b)===r};b.isProfiler=function(b){return a(b)===q};b.isStrictMode=function(b){return a(b)===
+m};b.isSuspense=function(b){return a(b)===u}})()});R(na);var oa=D(function(a){a.exports=na}),pa=Object.getOwnPropertySymbols,Oa=Object.prototype.hasOwnProperty,Pa=Object.prototype.propertyIsEnumerable,Qa=function(){try{if(!Object.assign)return!1;var a=new String("abc");a[5]="de";if("5"===Object.getOwnPropertyNames(a)[0])return!1;var b={};for(a=0;10>a;a++)b["_"+String.fromCharCode(a)]=a;if("0123456789"!==Object.getOwnPropertyNames(b).map(function(a){return b[a]}).join(""))return!1;var c={};"abcdefghijklmnopqrst".split("").forEach(function(a){c[a]=
+a});return"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},c)).join("")?!1:!0}catch(g){return!1}}()?Object.assign:function(a,b){if(null===a||void 0===a)throw new TypeError("Object.assign cannot be called with null or undefined");var c=Object(a);for(var g,d=1;d<arguments.length;d++){var h=Object(arguments[d]);for(var r in h)Oa.call(h,r)&&(c[r]=h[r]);if(pa){g=pa(h);for(var k=0;k<g.length;k++)Pa.call(h,g[k])&&(c[g[k]]=h[g[k]])}}return c},K=function(){},L={},ua=Function.call.bind(Object.prototype.hasOwnProperty);
+K=function(a){a="Warning: "+a;"undefined"!==typeof console&&console.error(a);try{throw Error(a);}catch(b){}};J.resetWarningCache=function(){L={}};var Ra=Function.call.bind(Object.prototype.hasOwnProperty),C=function(){};C=function(a){a="Warning: "+a;"undefined"!==typeof console&&console.error(a);try{throw Error(a);}catch(b){}};var Sa=function(a,b){function c(a,b){return a===b?0!==a||1/a===1/b:a!==a&&b!==b}function g(a){this.message=a;this.stack=""}function d(a){function c(c,n,v,d,e,u,h){d=d||"<<anonymous>>";
+u=u||v;if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==h){if(b)throw c=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"),c.name="Invariant Violation",c;"undefined"!==typeof console&&(h=d+":"+v,!f[h]&&3>l&&(C("You are manually calling a React.PropTypes validation function for the `"+u+"` prop on `"+d+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),
+f[h]=!0,l++))}return null==n[v]?c?null===n[v]?new g("The "+e+" `"+u+"` is marked as required "+("in `"+d+"`, but its value is `null`.")):new g("The "+e+" `"+u+"` is marked as required in "+("`"+d+"`, but its value is `undefined`.")):null:a(n,v,d,e,u)}var f={},l=0,d=c.bind(null,!1);d.isRequired=c.bind(null,!0);return d}function h(a){return d(function(b,c,f,d,l,e){b=b[c];return k(b)!==a?(b=m(b),new g("Invalid "+d+" `"+l+"` of type "+("`"+b+"` supplied to `"+f+"`, expected ")+("`"+a+"`."))):null})}function r(b){switch(typeof b){case "number":case "string":case "undefined":return!0;
+case "boolean":return!b;case "object":if(Array.isArray(b))return b.every(r);if(null===b||a(b))return!0;var c=b&&(p&&b[p]||b["@@iterator"]);var f="function"===typeof c?c:void 0;if(f)if(c=f.call(b),f!==b.entries)for(;!(b=c.next()).done;){if(!r(b.value))return!1}else for(;!(b=c.next()).done;){if((b=b.value)&&!r(b[1]))return!1}else return!1;return!0;default:return!1}}function k(a){var b=typeof a;return Array.isArray(a)?"array":a instanceof RegExp?"object":"symbol"===b||a&&("Symbol"===a["@@toStringTag"]||
+"function"===typeof Symbol&&a instanceof Symbol)?"symbol":b}function m(a){if("undefined"===typeof a||null===a)return""+a;var b=k(a);if("object"===b){if(a instanceof Date)return"date";if(a instanceof RegExp)return"regexp"}return b}function q(a){a=m(a);switch(a){case "array":case "object":return"an "+a;case "boolean":case "date":case "regexp":return"a "+a;default:return a}}var p="function"===typeof Symbol&&Symbol.iterator,l={array:h("array"),bool:h("boolean"),func:h("function"),number:h("number"),object:h("object"),
+string:h("string"),symbol:h("symbol"),any:d(G),arrayOf:function(a){return d(function(b,c,f,d,l){if("function"!==typeof a)return new g("Property `"+l+"` of component `"+f+"` has invalid PropType notation inside arrayOf.");b=b[c];if(!Array.isArray(b))return b=k(b),new g("Invalid "+d+" `"+l+"` of type "+("`"+b+"` supplied to `"+f+"`, expected an array."));for(c=0;c<b.length;c++){var n=a(b,c,f,d,l+"["+c+"]","SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");if(n instanceof Error)return n}return null})},
+element:function(){return d(function(b,c,d,l,e){b=b[c];return a(b)?null:(b=k(b),new g("Invalid "+l+" `"+e+"` of type "+("`"+b+"` supplied to `"+d+"`, expected a single ReactElement.")))})}(),elementType:function(){return d(function(a,b,c,d,l){a=a[b];return oa.isValidElementType(a)?null:(a=k(a),new g("Invalid "+d+" `"+l+"` of type "+("`"+a+"` supplied to `"+c+"`, expected a single ReactElement type.")))})}(),instanceOf:function(a){return d(function(b,c,f,d,l){if(!(b[c]instanceof a)){var n=a.name||
+"<<anonymous>>";b=b[c];b=b.constructor&&b.constructor.name?b.constructor.name:"<<anonymous>>";return new g("Invalid "+d+" `"+l+"` of type "+("`"+b+"` supplied to `"+f+"`, expected ")+("instance of `"+n+"`."))}return null})},node:function(){return d(function(a,b,c,d,l){return r(a[b])?null:new g("Invalid "+d+" `"+l+"` supplied to "+("`"+c+"`, expected a ReactNode."))})}(),objectOf:function(a){return d(function(b,c,f,d,l){if("function"!==typeof a)return new g("Property `"+l+"` of component `"+f+"` has invalid PropType notation inside objectOf.");
+b=b[c];c=k(b);if("object"!==c)return new g("Invalid "+d+" `"+l+"` of type "+("`"+c+"` supplied to `"+f+"`, expected an object."));for(var n in b)if(Ra(b,n)&&(c=a(b,n,f,d,l+"."+n,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"),c instanceof Error))return c;return null})},oneOf:function(a){return Array.isArray(a)?d(function(b,f,d,l,e){b=b[f];for(f=0;f<a.length;f++)if(c(b,a[f]))return null;f=JSON.stringify(a,function(a,b){return"symbol"===m(b)?String(b):b});return new g("Invalid "+l+" `"+e+"` of value `"+
+String(b)+"` "+("supplied to `"+d+"`, expected one of "+f+"."))}):(1<arguments.length?C("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):C("Invalid argument supplied to oneOf, expected an array."),G)},oneOfType:function(a){if(!Array.isArray(a))return C("Invalid argument supplied to oneOfType, expected an instance of array."),G;for(var b=0;b<a.length;b++){var c=a[b];if("function"!==
+typeof c)return C("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+q(c)+" at index "+b+"."),G}return d(function(b,c,f,d,l){for(var e=0;e<a.length;e++)if(null==(0,a[e])(b,c,f,d,l,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"))return null;return new g("Invalid "+d+" `"+l+"` supplied to "+("`"+f+"`."))})},shape:function(a){return d(function(b,c,d,l,f){b=b[c];c=k(b);if("object"!==c)return new g("Invalid "+l+" `"+f+"` of type `"+c+"` "+("supplied to `"+d+"`, expected `object`."));
+for(var e in a)if(c=a[e])if(c=c(b,e,d,l,f+"."+e,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"))return c;return null})},exact:function(a){return d(function(b,c,d,l,f){var e=b[c],n=k(e);if("object"!==n)return new g("Invalid "+l+" `"+f+"` of type `"+n+"` "+("supplied to `"+d+"`, expected `object`."));n=Qa({},b[c],a);for(var h in n){n=a[h];if(!n)return new g("Invalid "+l+" `"+f+"` key `"+h+"` supplied to `"+d+"`.\nBad object: "+JSON.stringify(b[c],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(a),
+null," "));if(n=n(e,h,d,l,f+"."+h,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"))return n}return null})}};g.prototype=Error.prototype;l.checkPropTypes=J;l.resetWarningCache=J.resetWarningCache;return l.PropTypes=l};m=D(function(a){a.exports=Sa(oa.isElement,!0)});var Ta=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b],g;for(g in c)Object.prototype.hasOwnProperty.call(c,g)&&(a[g]=c[g])}return a},Ua={border:0,clip:"rect(0 0 0 0)",height:"1px",width:"1px",margin:"-1px",
+padding:0,overflow:"hidden",position:"absolute"},H=function(a){return la.createElement("div",Ta({style:Ua},a))},qa=D(function(a){(function(b,c){a.exports=c()})(La,function(){function a(a){if(!a)return!0;if(!d(a)||0!==a.length)for(var b in a)if(q.call(a,b))return!1;return!0}function c(a){return"number"===typeof a||"[object Number]"===t.call(a)}function g(a){return"string"===typeof a||"[object String]"===t.call(a)}function d(a){return"object"===typeof a&&"number"===typeof a.length&&"[object Array]"===
+t.call(a)}function h(a){var b=parseInt(a);return b.toString()===a?b:a}function m(b,d,e,k){c(d)&&(d=[d]);if(a(d))return b;if(g(d))return m(b,d.split("."),e,k);var f=h(d[0]);if(1===d.length)return d=b[f],void 0!==d&&k||(b[f]=e),d;void 0===b[f]&&(c(f)?b[f]=[]:b[f]={});return m(b[f],d.slice(1),e,k)}function k(b,f){c(f)&&(f=[f]);if(!a(b)){if(a(f))return b;if(g(f))return k(b,f.split("."));var e=h(f[0]),l=b[e];if(1===f.length)void 0!==l&&(d(b)?b.splice(e,1):delete b[e]);else if(void 0!==b[e])return k(b[e],
+f.slice(1));return b}}var t=Object.prototype.toString,q=Object.prototype.hasOwnProperty,p={ensureExists:function(a,b,c){return m(a,b,c,!0)},set:function(a,b,c,d){return m(a,b,c,d)},insert:function(a,b,c,e){var f=p.get(a,b);e=~~e;d(f)||(f=[],p.set(a,b,f));f.splice(e,0,c)},empty:function(b,f){if(a(f))return b;if(!a(b)){var e,h;if(!(e=p.get(b,f)))return b;if(g(e))return p.set(b,f,"");if("boolean"===typeof e||"[object Boolean]"===t.call(e))return p.set(b,f,!1);if(c(e))return p.set(b,f,0);if(d(e))e.length=
+0;else if("object"===typeof e&&"[object Object]"===t.call(e))for(h in e)q.call(e,h)&&delete e[h];else return p.set(b,f,null)}},push:function(a,b){var c=p.get(a,b);d(c)||(c=[],p.set(a,b,c));c.push.apply(c,Array.prototype.slice.call(arguments,2))},coalesce:function(a,b,c){for(var d,e=0,f=b.length;e<f;e++)if(void 0!==(d=p.get(a,b[e])))return d;return c},get:function(b,d,e){c(d)&&(d=[d]);if(a(d))return b;if(a(b))return e;if(g(d))return p.get(b,d.split("."),e);var f=h(d[0]);return 1===d.length?void 0===
+b[f]?e:b[f]:p.get(b[f],d.slice(1),e)},del:function(a,b){return k(a,b)}};return p})});var ra=function(a){return function(b){return typeof b===a}};var Va=function(a,b){var c=1,g=b||function(a,b){return b};"-"===a[0]&&(c=-1,a=a.substr(1));return function(b,e){var d;b=g(a,qa.get(b,a));e=g(a,qa.get(e,a));b<e&&(d=-1);b>e&&(d=1);b===e&&(d=0);return d*c}};var da=function(){var a=Array.prototype.slice.call(arguments),b=a.filter(ra("string")),c=a.filter(ra("function"))[0];return function(a,d){for(var e=b.length,
+g=0,k=0;0===g&&k<e;)g=Va(b[k],c)(a,d),k++;return g}};let sa="B kB MB GB TB PB EB ZB YB".split(" "),ta=(a,b)=>{let c=a;"string"===typeof b?c=a.toLocaleString(b):!0===b&&(c=a.toLocaleString());return c};var ea=(a,b)=>{if(!Number.isFinite(a))throw new TypeError(`Expected a finite number, got ${typeof a}: ${a}`);b=Object.assign({},b);if(b.signed&&0===a)return" 0 B";var c=0>a;let g=c?"-":b.signed?"+":"";c&&(a=-a);if(1>a)return a=ta(a,b.locale),g+a+" B";c=Math.min(Math.floor(Math.log10(a)/3),sa.length-
+1);a=Number((a/Math.pow(1E3,c)).toPrecision(3));a=ta(a,b.locale);return g+a+" "+sa[c]},W={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},V=t.createContext&&t.createContext(W),z=function(){z=Object.assign||function(a){for(var b,c=1,g=arguments.length;c<g;c++){b=arguments[c];for(var d in b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d])}return a};return z.apply(this,arguments)},Y=function(a){return E({tag:"svg",attr:{viewBox:"0 0 12 16"},child:[{tag:"path",attr:{fillRule:"evenodd",
+d:"M8.5 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h10c.55 0 1-.45 1-1V4.5L8.5 1zM11 14H1V2h7l3 3v9zM5 6.98L3.5 8.5 5 10l-.5 1L2 8.5 4.5 6l.5.98zM7.5 6L10 8.5 7.5 11l-.5-.98L8.5 8.5 7 7l.5-1z"}}]})(a)};Y.displayName="GoFileCode";var Z=function(a){return E({tag:"svg",attr:{viewBox:"0 0 14 16"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"}}]})(a)};Z.displayName="GoFileDirectory";var X=function(a){return E({tag:"svg",
+attr:{viewBox:"0 0 12 16"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"}}]})(a)};X.displayName="GoFile";var ba=function(a){return E({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"}}]})(a)};
+ba.displayName="FaGithub";var aa=function(a){return E({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"}}]})(a)};
+aa.displayName="FaTwitter";var N={color:"#0076ff",textDecoration:"none",":hover":{textDecoration:"underline"}},y={paddingTop:6,paddingRight:3,paddingBottom:6,paddingLeft:3,borderTop:"1px solid #eaecef"},M=w({},y,{color:"#424242",width:17,paddingRight:2,paddingLeft:10,"@media (max-width: 700px)":{paddingLeft:20}}),O=w({},y,{textAlign:"right",paddingRight:10,"@media (max-width: 700px)":{paddingRight:20}});ca.propTypes={path:m.string.isRequired,details:m.objectOf(m.shape({path:m.string.isRequired,type:m.oneOf(["directory",
+"file"]).isRequired,contentType:m.string,integrity:m.string,size:m.number})).isRequired};fa.propTypes={path:m.string.isRequired,details:m.shape({contentType:m.string.isRequired,highlights:m.arrayOf(m.string),uri:m.string,integrity:m.string.isRequired,language:m.string.isRequired,size:m.number.isRequired}).isRequired};var Ja=c.css(ia(),'\nfont-family: -apple-system,\n BlinkMacSystemFont,\n "Segoe UI",\n "Roboto",\n "Oxygen",\n "Ubuntu",\n "Cantarell",\n "Fira Sans",\n "Droid Sans",\n "Helvetica Neue",\n sans-serif;\n',
+"\nfont-family: Menlo,\n Monaco,\n Lucida Console,\n Liberation Mono,\n DejaVu Sans Mono,\n Bitstream Vera Sans Mono,\n Courier New,\n monospace;\n"),Ka=c.css(ha()),Wa=m.shape({path:m.string.isRequired,type:m.oneOf(["directory","file"]).isRequired,details:m.object.isRequired});ka.propTypes={packageName:m.string.isRequired,packageVersion:m.string.isRequired,availableVersions:m.arrayOf(m.string),filename:m.string.isRequired,target:Wa.isRequired};A.hydrate(la.createElement(ka,window.__DATA__||
+{}),document.getElementById("root"))})(React,ReactDOM,emotionCore);
+</script></body></html> \ No newline at end of file