{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./routes/vldigeometria.js?971d","webpack:///./routes/apprendimentoSistemiArtificiali.js?75cd","webpack:///./routes/statistica.js?3c70","webpack:///./routes/mingwinstall.js?cec4","webpack:///./routes/calcoloNumerico.js?8c12","webpack:///./index.js","webpack:///./components/copyright.js","webpack:///../node_modules/@preact/async-loader/async-legacy.js","webpack:///./routes/basiDiDati.js?e91b","webpack:///./routes/home.js?7109","webpack:///../src/util.js","webpack:///../src/index.js","webpack:///./components/copyright.css","webpack:///../src/create-element.js","webpack:///../src/component.js","webpack:///../src/diff/children.js","webpack:///../src/diff/props.js","webpack:///../src/diff/index.js","webpack:///../src/render.js","webpack:///../src/clone-element.js","webpack:///../src/create-context.js","webpack:///../src/constants.js","webpack:///../src/options.js","webpack:///../src/diff/catch-error.js","webpack:///./routes/ottimizzazioneLineare.js?deb9","webpack:///../node_modules/preact-cli/lib/lib/entry.js","webpack:///../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../node_modules/resolve-pathname/esm/resolve-pathname.js","webpack:///../node_modules/history/esm/history.js","webpack:///../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///../src/component-stack.js","webpack:///../src/debug.js","webpack:///../src/devtools.js","webpack:///../src/check-props.js","webpack:///./routes/fisica.js?9847"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","__webpack_require__","installedModules","exports","module","l","installedCssChunks","0","e","promises","Promise","resolve","reject","href","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","head","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","s","cb","App","render","id","history","createHashHistory","path","Component","Copyright","class","style","copyright","req","Async","b","old","this","componentWillMount","base","nextBase","__b","setState","child","default","shouldComponentUpdate","_","nxt","nodeType","h","nodeName","dangerouslySetInnerHTML","__html","innerHTML","constructor","let","EMPTY","super","const","assign","obj","props","removeNode","node","children","normalizedProps","arguments","defaultProps","createVNode","ref","vnode","_children","_parent","_depth","_dom","_nextDom","_component","options","createRef","Fragment","context","getDomSibling","childIndex","indexOf","sibling","updateParentDomPointers","enqueueRender","_dirty","rerenderQueue","prevDebounce","debounceRendering","defer","process","component","commitQueue","newDom","oldDom","parentDom","sort","a","_vnode","pop","_parentDom","diff","_globalContext","ownerSVGElement","commitRoot","diffChildren","newParentVNode","oldParentVNode","globalContext","isSvg","excessDomChildren","isHydrating","j","oldVNode","sibDom","firstChildDom","refs","oldChildren","EMPTY_ARR","oldChildrenLength","EMPTY_OBJ","toChildArray","childVNode","nextDom","outer","nextSibling","insertBefore","unmount","applyRef","callback","flattened","Array","isArray","setStyle","setProperty","IS_NON_DIMENSIONAL","test","dom","oldValue","useCapture","nameLower","cssText","replace","toLowerCase","addEventListener","eventProxy","_listeners","removeEventListener","removeAttributeNS","setAttributeNS","removeAttribute","newVNode","tmp","isNew","oldProps","oldState","snapshot","clearProcessingException","newProps","provider","componentContext","newType","_diff","contextType","_id","_defaultValue","_processingException","_pendingError","doRender","sub","state","_renderCallbacks","_nextState","getDerivedStateFromProps","componentDidMount","componentWillReceiveProps","_force","componentWillUpdate","componentDidUpdate","_render","getChildContext","getSnapshotBeforeUpdate","diffElementNodes","diffed","_catchError","root","_commit","some","oldHtml","newHtml","localName","createTextNode","createElementNS","is","childNodes","attributes","hydrate","diffProps","checked","current","parentVNode","skipRemove","componentWillUnmount","replaceNode","_root","IS_HYDRATE","cloneElement","createContext","defaultValue","ctx","Consumer","Provider","subs","_this","_props","splice","isValidElement","hasCaught","getDerivedStateFromError","componentDidCatch","update","forceUpdate","Preact","interopDefault","navigator","serviceWorker","register","__webpack_public_path__","require","getElementById","body","firstElementChild","app","preRenderData","inlineDataElement","querySelector","JSON","parse","url","CLI_DATA","init","_extends","source","apply","isAbsolute","pathname","charAt","spliceOne","list","index","k","addLeadingSlash","stripLeadingSlash","substr","stripBasename","prefix","hasBasename","stripTrailingSlash","createPath","location","search","hash","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","resolvePathname","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","result","appendListener","fn","listener","isActive","filter","item","notifyListeners","_len","args","_key","forEach","getConfirmation","confirm","stripHash","getHashPath","substring","replaceHashPath","getDOMLocation","decodePath","basename","nextState","globalHistory","transitionManager","handleHashChange","encodedPath","encodePath","forceNextPop","ignorePath","ok","fromLocation","toIndex","allPaths","lastIndexOf","fromIndex","delta","go","revertPop","handlePop","checkDOMListeners","listenerCount","canUseDOM","invariant","_props$getUserConfirm","userAgent","_props$hashType","hashType","_HashPathCoders$hashT","HashPathCoders","initialLocation","isBlocked","createHref","baseTag","pushHashPath","prevIndex","nextPaths","goBack","goForward","block","unblock","listen","unlisten","to","from","hasTrailingSlash","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","last","up","part","unshift","join","condition","hashbang","noslash","slash","getDisplayName","displayName","getCurrentVNode","renderStack","isPossibleOwner","getOwnerStack","stack","next","_owner","reduce","acc","owner","__source","fileName","lineNumber","hasBabelPlugin","warn","serializeVNode","attrs","prop","toString","stringify","__PREACT_DEVTOOLS__","attachPreact","loggedTypeFailures","ownerStack","isWeakMapSupported","WeakMap","oldDiff","oldDiffed","oldRoot","oldRender","parent","setupComponentStack","oldBeforeDiff","oldVnode","oldCatchError","oldHook","_hook","warnedComponents","useEffect","useLayoutEffect","lazyPropTypes","_childDidSuspend","isValid","componentName","typeSpecs","values","getClosestDomNodeParent","propTypes","has","lazyVNode","set","keys","typeSpecName","comp","deprecatedAttributes","deprecatedProto","v","__self","setPrototypeOf","__hooks","hooks","_list","hook","_factory","_args"],"mappings":"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","file":"bundle.7b35a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t0: 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({\"2\":\"route-apprendimentoSistemiArtificiali\",\"3\":\"route-basiDiDati\",\"4\":\"route-calcoloNumerico\",\"5\":\"route-fisica\",\"6\":\"route-home\",\"7\":\"route-mingwinstall\",\"8\":\"route-ottimizzazioneLineare\",\"9\":\"route-statistica\",\"10\":\"route-vldigeometria\"}[chunkId]||chunkId) + \".chunk.\" + {\"2\":\"b1ca4\",\"3\":\"eb3c5\",\"4\":\"a852d\",\"5\":\"3f6c6\",\"6\":\"65775\",\"7\":\"9d6e9\",\"8\":\"e117d\",\"9\":\"fe1f8\",\"10\":\"3b8b9\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"2\":1,\"3\":1,\"4\":1,\"5\":1,\"6\":1,\"7\":1,\"8\":1,\"9\":1,\"10\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"2\":\"route-apprendimentoSistemiArtificiali\",\"3\":\"route-basiDiDati\",\"4\":\"route-calcoloNumerico\",\"5\":\"route-fisica\",\"6\":\"route-home\",\"7\":\"route-mingwinstall\",\"8\":\"route-ottimizzazioneLineare\",\"9\":\"route-statistica\",\"10\":\"route-vldigeometria\"}[chunkId]||chunkId) + \".chunk.\" + {\"2\":\"c2edb\",\"3\":\"9cc26\",\"4\":\"c2edb\",\"5\":\"0b01a\",\"6\":\"deccf\",\"7\":\"4f81b\",\"8\":\"c2edb\",\"9\":\"025c9\",\"10\":\"e54c2\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"mdyV\");\n","\n\t\timport Async from \"../../node_modules/@preact/async-loader/async-legacy.js\";\n\n\t\tfunction load(cb) {\n\t\t\trequire.ensure([], function (require) {\n\t\t\t\tcb( require(\"!!../../node_modules/babel-loader/lib/index.js??ref--4!./vldigeometria.js\") );\n\t\t\t}, \"route-vldigeometria\");\n\t\t}\n\n\t\texport default Async(load);\n\t","\n\t\timport Async from \"../../node_modules/@preact/async-loader/async-legacy.js\";\n\n\t\tfunction load(cb) {\n\t\t\trequire.ensure([], function (require) {\n\t\t\t\tcb( require(\"!!../../node_modules/babel-loader/lib/index.js??ref--4!./apprendimentoSistemiArtificiali.js\") );\n\t\t\t}, \"route-apprendimentoSistemiArtificiali\");\n\t\t}\n\n\t\texport default Async(load);\n\t","\n\t\timport Async from \"../../node_modules/@preact/async-loader/async-legacy.js\";\n\n\t\tfunction load(cb) {\n\t\t\trequire.ensure([], function (require) {\n\t\t\t\tcb( require(\"!!../../node_modules/babel-loader/lib/index.js??ref--4!./statistica.js\") );\n\t\t\t}, \"route-statistica\");\n\t\t}\n\n\t\texport default Async(load);\n\t","\n\t\timport Async from \"../../node_modules/@preact/async-loader/async-legacy.js\";\n\n\t\tfunction load(cb) {\n\t\t\trequire.ensure([], function (require) {\n\t\t\t\tcb( require(\"!!../../node_modules/babel-loader/lib/index.js??ref--4!./mingwinstall.js\") );\n\t\t\t}, \"route-mingwinstall\");\n\t\t}\n\n\t\texport default Async(load);\n\t","\n\t\timport Async from \"../../node_modules/@preact/async-loader/async-legacy.js\";\n\n\t\tfunction load(cb) {\n\t\t\trequire.ensure([], function (require) {\n\t\t\t\tcb( require(\"!!../../node_modules/babel-loader/lib/index.js??ref--4!./calcoloNumerico.js\") );\n\t\t\t}, \"route-calcoloNumerico\");\n\t\t}\n\n\t\texport default Async(load);\n\t","import \"preact/debug\";\nimport { Component } from 'preact';\n\n// noinspection ES6UnusedImports\nimport _style from './index.less';\n// noinspection ES6UnusedImports\nimport _manifest from './meta/manifest.json';\n// noinspection ES6UnusedImports\nimport _cname from './meta/CNAME';\n// noinspection ES6UnusedImports\nimport _nojekyll from './meta/.nojekyll';\n\nimport Router from 'preact-router';\nimport {createHashHistory} from \"history\";\nimport Home from './routes/home';\nimport Fisica from './routes/fisica';\nimport VlDiGeometria from './routes/vldigeometria';\nimport MingwInstall from './routes/mingwinstall';\nimport Copyright from './components/copyright';\nimport Statistica from './routes/statistica';\nimport OttimizzazioneLineare from \"./routes/ottimizzazioneLineare\";\nimport BasiDiDati from './routes/basiDiDati';\nimport CalcoloNumerico from './routes/calcoloNumerico';\nimport ApprendimentoSistemiArtificiali from \"./routes/apprendimentoSistemiArtificiali\";\n\n// noinspection JSUnusedGlobalSymbols\nexport default class App extends Component {\n\trender() {\n\t\treturn (\n\t\t\t
\n\t\t\t\t

Appuntiweb di Steffo

\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n","import style from './copyright.css';\r\nimport { Component } from 'preact';\r\n\r\nexport default class Copyright extends Component {\r\n\trender() {\r\n\t\treturn
© 2019 - Stefano Pigozzi - CC BY-SA 4.0 - Codice sorgente
;\r\n\t}\r\n}","import { h, Component } from 'preact';\n\nexport default function(req) {\n\tfunction Async() {\n\t\tComponent.call(this);\n\n\t\tlet b, old;\n\t\tthis.componentWillMount = () => {\n\t\t\tb = this.base = this.nextBase || this.__b; // short circuits 1st render\n\t\t\treq(m => {\n\t\t\t\tthis.setState({ child: m.default || m });\n\t\t\t});\n\t\t};\n\n\t\tthis.shouldComponentUpdate = (_, nxt) => {\n\t\t\tnxt = nxt.child === void 0;\n\t\t\tif (nxt && old === void 0 && b) {\n\t\t\t\t// Node.TEXT_NODE\n\t\t\t\tif (b.nodeType === 3) {\n\t\t\t\t\told = b.data;\n\t\t\t\t} else {\n\t\t\t\t\told = h(b.nodeName, {\n\t\t\t\t\t\tdangerouslySetInnerHTML: { __html: b.innerHTML },\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\told = ''; // dump it\n\t\t\t}\n\t\t\treturn !nxt;\n\t\t};\n\n\t\tthis.render = (p, s) => (s.child ? h(s.child, p) : old);\n\t}\n\t(Async.prototype = new Component()).constructor = Async;\n\treturn Async;\n}\n","\n\t\timport Async from \"../../node_modules/@preact/async-loader/async-legacy.js\";\n\n\t\tfunction load(cb) {\n\t\t\trequire.ensure([], function (require) {\n\t\t\t\tcb( require(\"!!../../node_modules/babel-loader/lib/index.js??ref--4!./basiDiDati.js\") );\n\t\t\t}, \"route-basiDiDati\");\n\t\t}\n\n\t\texport default Async(load);\n\t","\n\t\timport Async from \"../../node_modules/@preact/async-loader/async-legacy.js\";\n\n\t\tfunction load(cb) {\n\t\t\trequire.ensure([], function (require) {\n\t\t\t\tcb( require(\"!!../../node_modules/babel-loader/lib/index.js??ref--4!./home.js\") );\n\t\t\t}, \"route-home\");\n\t\t}\n\n\t\texport default Async(load);\n\t","/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n","import { initDebug } from './debug';\nimport 'preact/devtools';\n\ninitDebug();\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"copyright\":\"copyright__2FTnU\"};","import options from './options';\n\n/**\n * Create an virtual node (used for JSX)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * constructor for this virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the virtual node\n * @returns {import('./internal').VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\ti;\n\tfor (i in props) {\n\t\tif (i !== 'key' && i !== 'ref') normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 3) {\n\t\tchildren = [children];\n\t\t// https://github.com/preactjs/preact/issues/1916\n\t\tfor (i = 3; i < arguments.length; i++) {\n\t\t\tchildren.push(arguments[i]);\n\t\t}\n\t}\n\tif (children != null) {\n\t\tnormalizedProps.children = children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type === 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(\n\t\ttype,\n\t\tnormalizedProps,\n\t\tprops && props.key,\n\t\tprops && props.ref\n\t);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {import('./internal').VNode}\n */\nexport function createVNode(type, props, key, ref) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\tconstructor: undefined\n\t};\n\n\tif (options.vnode) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn {};\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is import('./internal').VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor === undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function Component(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nComponent.prototype.setState = function(update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\tupdate = update(s, this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nComponent.prototype.forceUpdate = function(callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {import('./index').ComponentChildren | void}\n */\nComponent.prototype.render = Fragment;\n\n/**\n * @param {import('./internal').VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type === 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {import('./internal').Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet vnode = component._vnode,\n\t\toldDom = vnode._dom,\n\t\tparentDom = component._parentDom;\n\n\tif (parentDom) {\n\t\tlet commitQueue = [];\n\t\tlet newDom = diff(\n\t\t\tparentDom,\n\t\t\tvnode,\n\t\t\tassign({}, vnode),\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\tnull,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(vnode) : oldDom\n\t\t);\n\t\tcommitRoot(commitQueue, vnode);\n\n\t\tif (newDom != oldDom) {\n\t\t\tupdateParentDomPointers(vnode);\n\t\t}\n\t}\n}\n\n/**\n * @param {import('./internal').VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/**\n * Asynchronously schedule a callback\n * @type {(cb: () => void) => void}\n */\n/* istanbul ignore next */\n// Note the following line isn't tree-shaken by rollup cuz of rollup/rollup#2566\nconst defer =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./internal').Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty && (c._dirty = true) && rerenderQueue.push(c) === 1) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet c;\n\trerenderQueue.sort((a, b) => b._vnode._depth - a._vnode._depth);\n\twhile ((c = rerenderQueue.pop())) {\n\t\t// forceUpdate's callback argument is reused here to indicate a non-forced update.\n\t\tif (c._dirty) renderComponent(c);\n\t}\n}\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { removeNode } from '../util';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\n * children are being diffed\n * @param {import('../internal').VNode} newParentVNode The new virtual\n * node whose children should be diff'ed against oldParentVNode\n * @param {import('../internal').VNode} oldParentVNode The old virtual\n * node whose children should be diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {Node | Text} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diffChildren(\n\tparentDom,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet i, j, oldVNode, newDom, sibDom, firstChildDom, refs;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet oldChildrenLength = oldChildren.length;\n\n\t// Only in very specific places should this logic be invoked (top level `render` and `diffElementNodes`).\n\t// I'm using `EMPTY_OBJ` to signal when `diffChildren` is invoked in these situations. I can't use `null`\n\t// for this purpose, because `null` is a valid value for `oldDom` which can mean to skip to this logic\n\t// (e.g. if mounting a new tree in which the old DOM should be ignored (usually for Fragments).\n\tif (oldDom == EMPTY_OBJ) {\n\t\tif (excessDomChildren != null) {\n\t\t\toldDom = excessDomChildren[0];\n\t\t} else if (oldChildrenLength) {\n\t\t\toldDom = getDomSibling(oldParentVNode, 0);\n\t\t} else {\n\t\t\toldDom = null;\n\t\t}\n\t}\n\n\ti = 0;\n\tnewParentVNode._children = toChildArray(\n\t\tnewParentVNode._children,\n\t\tchildVNode => {\n\t\t\tif (childVNode != null) {\n\t\t\t\tchildVNode._parent = newParentVNode;\n\t\t\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t\t\t// Check if we find a corresponding element in oldChildren.\n\t\t\t\t// If found, delete the array item by setting to `undefined`.\n\t\t\t\t// We use `undefined`, as `null` is reserved for empty placeholders\n\t\t\t\t// (holes).\n\t\t\t\toldVNode = oldChildren[i];\n\n\t\t\t\tif (\n\t\t\t\t\toldVNode === null ||\n\t\t\t\t\t(oldVNode &&\n\t\t\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\t\t\tchildVNode.type === oldVNode.type)\n\t\t\t\t) {\n\t\t\t\t\toldChildren[i] = undefined;\n\t\t\t\t} else {\n\t\t\t\t\t// Either oldVNode === undefined or oldChildrenLength > 0,\n\t\t\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\n\t\t\t\t\tfor (j = 0; j < oldChildrenLength; j++) {\n\t\t\t\t\t\toldVNode = oldChildren[j];\n\t\t\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\n\t\t\t\t\t\t// We always match by type (in either case).\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\toldVNode &&\n\t\t\t\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\t\t\t\tchildVNode.type === oldVNode.type\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\toldChildren[j] = undefined;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\toldVNode = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\toldVNode = oldVNode || EMPTY_OBJ;\n\n\t\t\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\t\t\tnewDom = diff(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldVNode,\n\t\t\t\t\tglobalContext,\n\t\t\t\t\tisSvg,\n\t\t\t\t\texcessDomChildren,\n\t\t\t\t\tcommitQueue,\n\t\t\t\t\toldDom,\n\t\t\t\t\tisHydrating\n\t\t\t\t);\n\n\t\t\t\tif ((j = childVNode.ref) && oldVNode.ref != j) {\n\t\t\t\t\tif (!refs) refs = [];\n\t\t\t\t\tif (oldVNode.ref) refs.push(oldVNode.ref, null, childVNode);\n\t\t\t\t\trefs.push(j, childVNode._component || newDom, childVNode);\n\t\t\t\t}\n\n\t\t\t\t// Only proceed if the vnode has not been unmounted by `diff()` above.\n\t\t\t\tif (newDom != null) {\n\t\t\t\t\tif (firstChildDom == null) {\n\t\t\t\t\t\tfirstChildDom = newDom;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet nextDom;\n\t\t\t\t\tif (childVNode._nextDom !== undefined) {\n\t\t\t\t\t\t// Only Fragments or components that return Fragment like VNodes will\n\t\t\t\t\t\t// have a non-undefined _nextDom. Continue the diff from the sibling\n\t\t\t\t\t\t// of last DOM child of this child VNode\n\t\t\t\t\t\tnextDom = childVNode._nextDom;\n\n\t\t\t\t\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because\n\t\t\t\t\t\t// it is only used by `diffChildren` to determine where to resume the diff after\n\t\t\t\t\t\t// diffing Components and Fragments. Once we store it the nextDOM local var, we\n\t\t\t\t\t\t// can clean up the property\n\t\t\t\t\t\tchildVNode._nextDom = undefined;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\texcessDomChildren == oldVNode ||\n\t\t\t\t\t\tnewDom != oldDom ||\n\t\t\t\t\t\tnewDom.parentNode == null\n\t\t\t\t\t) {\n\t\t\t\t\t\t// NOTE: excessDomChildren==oldVNode above:\n\t\t\t\t\t\t// This is a compression of excessDomChildren==null && oldVNode==null!\n\t\t\t\t\t\t// The values only have the same type when `null`.\n\n\t\t\t\t\t\touter: if (oldDom == null || oldDom.parentNode !== parentDom) {\n\t\t\t\t\t\t\tparentDom.appendChild(newDom);\n\t\t\t\t\t\t\tnextDom = null;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// `j import('../internal').VNode} [callback]\n * A function to invoke for each child before it is added to the flattened list.\n * @param {Array} [flattened] An flat array of children to modify\n * @returns {import('../internal').VNode[]}\n */\nexport function toChildArray(children, callback, flattened) {\n\tif (flattened == null) flattened = [];\n\n\tif (children == null || typeof children === 'boolean') {\n\t\tif (callback) flattened.push(callback(null));\n\t} else if (Array.isArray(children)) {\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\ttoChildArray(children[i], callback, flattened);\n\t\t}\n\t} else if (!callback) {\n\t\tflattened.push(children);\n\t} else if (typeof children === 'string' || typeof children === 'number') {\n\t\tflattened.push(callback(createVNode(null, children, null, null)));\n\t} else if (children._dom != null || children._component != null) {\n\t\tflattened.push(\n\t\t\tcallback(createVNode(children.type, children.props, children.key, null))\n\t\t);\n\t} else {\n\t\tflattened.push(callback(children));\n\t}\n\n\treturn flattened;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\n/**\n * Diff the old and new properties of a VNode and apply changes to the DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to apply\n * changes to\n * @param {object} newProps The new props\n * @param {object} oldProps The old props\n * @param {boolean} isSvg Whether or not this node is an SVG node\n * @param {boolean} hydrate Whether or not we are in hydration mode\n */\nexport function diffProps(dom, newProps, oldProps, isSvg, hydrate) {\n\tlet i;\n\n\tfor (i in oldProps) {\n\t\tif (!(i in newProps)) {\n\t\t\tsetProperty(dom, i, null, oldProps[i], isSvg);\n\t\t}\n\t}\n\n\tfor (i in newProps) {\n\t\tif (\n\t\t\t(!hydrate || typeof newProps[i] == 'function') &&\n\t\t\ti !== 'value' &&\n\t\t\ti !== 'checked' &&\n\t\t\toldProps[i] !== newProps[i]\n\t\t) {\n\t\t\tsetProperty(dom, i, newProps[i], oldProps[i], isSvg);\n\t\t}\n\t}\n}\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value);\n\t} else if (\n\t\ttypeof value === 'number' &&\n\t\tIS_NON_DIMENSIONAL.test(key) === false\n\t) {\n\t\tstyle[key] = value + 'px';\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else {\n\t\tstyle[key] = value;\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nfunction setProperty(dom, name, value, oldValue, isSvg) {\n\tif (isSvg) {\n\t\tif (name === 'className') {\n\t\t\tname = 'class';\n\t\t}\n\t} else if (name === 'class') {\n\t\tname = 'className';\n\t}\n\n\tif (name === 'key' || name === 'children') {\n\t} else if (name === 'style') {\n\t\tconst s = dom.style;\n\n\t\tif (typeof value === 'string') {\n\t\t\ts.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue === 'string') {\n\t\t\t\ts.cssText = '';\n\t\t\t\toldValue = null;\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (let i in oldValue) {\n\t\t\t\t\tif (!(value && i in value)) {\n\t\t\t\t\t\tsetStyle(s, i, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (let i in value) {\n\t\t\t\t\tif (!oldValue || value[i] !== oldValue[i]) {\n\t\t\t\t\t\tsetStyle(s, i, value[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tlet useCapture = name !== (name = name.replace(/Capture$/, ''));\n\t\tlet nameLower = name.toLowerCase();\n\t\tname = (nameLower in dom ? nameLower : name).slice(2);\n\n\t\tif (value) {\n\t\t\tif (!oldValue) dom.addEventListener(name, eventProxy, useCapture);\n\t\t\t(dom._listeners || (dom._listeners = {}))[name] = value;\n\t\t} else {\n\t\t\tdom.removeEventListener(name, eventProxy, useCapture);\n\t\t}\n\t} else if (\n\t\tname !== 'list' &&\n\t\tname !== 'tagName' &&\n\t\t// HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using\n\t\t// setAttribute\n\t\tname !== 'form' &&\n\t\tname !== 'type' &&\n\t\tname !== 'size' &&\n\t\t!isSvg &&\n\t\tname in dom\n\t) {\n\t\tdom[name] = value == null ? '' : value;\n\t} else if (\n\t\ttypeof value !== 'function' &&\n\t\tname !== 'dangerouslySetInnerHTML'\n\t) {\n\t\tif (name !== (name = name.replace(/^xlink:?/, ''))) {\n\t\t\tif (value == null || value === false) {\n\t\t\t\tdom.removeAttributeNS(\n\t\t\t\t\t'http://www.w3.org/1999/xlink',\n\t\t\t\t\tname.toLowerCase()\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tdom.setAttributeNS(\n\t\t\t\t\t'http://www.w3.org/1999/xlink',\n\t\t\t\t\tname.toLowerCase(),\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (\n\t\t\tvalue == null ||\n\t\t\t(value === false &&\n\t\t\t\t// ARIA-attributes have a different notion of boolean values.\n\t\t\t\t// The value `false` is different from the attribute not\n\t\t\t\t// existing on the DOM, so we can't remove it. For non-boolean\n\t\t\t\t// ARIA-attributes we could treat false as a removal, but the\n\t\t\t\t// amount of exceptions would cost us too many bytes. On top of\n\t\t\t\t// that other VDOM frameworks also always stringify `false`.\n\t\t\t\t!/^ar/.test(name))\n\t\t) {\n\t\t\tdom.removeAttribute(name);\n\t\t} else {\n\t\t\tdom.setAttribute(name, value);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\tthis._listeners[e.type](options.event ? options.event(e) : e);\n}\n","import { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { Component } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { diffProps } from './props';\nimport { assign, removeNode } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {Element | Text} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} [isHydrating] Whether or not we are in hydration\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\ttry {\n\t\touter: if (typeof newType === 'function') {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, componentContext);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!c._force &&\n\t\t\t\t\tc.shouldComponentUpdate != null &&\n\t\t\t\t\tc.shouldComponentUpdate(newProps, c._nextState, componentContext) ===\n\t\t\t\t\t\tfalse\n\t\t\t\t) {\n\t\t\t\t\tc.props = newProps;\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tc._vnode = newVNode;\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\t\t\t\t\tfor (tmp = 0; tmp < newVNode._children.length; tmp++) {\n\t\t\t\t\t\tif (newVNode._children[tmp]) {\n\t\t\t\t\t\t\tnewVNode._children[tmp]._parent = newVNode;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc.state = c._nextState;\n\n\t\t\tif ((tmp = options._render)) tmp(newVNode);\n\n\t\t\tc._dirty = false;\n\t\t\tc._vnode = newVNode;\n\t\t\tc._parentDom = parentDom;\n\n\t\t\ttmp = c.render(c.props, c.state, c.context);\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type == Fragment && tmp.key == null;\n\t\t\tnewVNode._children = isTopLevelFragment\n\t\t\t\t? tmp.props.children\n\t\t\t\t: Array.isArray(tmp)\n\t\t\t\t? tmp\n\t\t\t\t: [tmp];\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\n\t\t\tc._force = false;\n\t\t} else {\n\t\t\tnewVNode._dom = diffElementNodes(\n\t\t\t\toldVNode._dom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\tisHydrating\n\t\t\t);\n\t\t}\n\n\t\tif ((tmp = options.diffed)) tmp(newVNode);\n\t} catch (e) {\n\t\toptions._catchError(e, newVNode, oldVNode);\n\t}\n\n\treturn newVNode._dom;\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').VNode} root\n */\nexport function commitRoot(commitQueue, root) {\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {import('../internal').PreactElement} dom The DOM element representing\n * the virtual nodes being diffed\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {*} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @returns {import('../internal').PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating\n) {\n\tlet i;\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tisSvg = newVNode.type === 'svg' || isSvg;\n\n\tif (excessDomChildren != null) {\n\t\tfor (i = 0; i < excessDomChildren.length; i++) {\n\t\t\tconst child = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tchild != null &&\n\t\t\t\t((newVNode.type === null\n\t\t\t\t\t? child.nodeType === 3\n\t\t\t\t\t: child.localName === newVNode.type) ||\n\t\t\t\t\tdom == child)\n\t\t\t) {\n\t\t\t\tdom = child;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (newVNode.type === null) {\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tdom = isSvg\n\t\t\t? document.createElementNS('http://www.w3.org/2000/svg', newVNode.type)\n\t\t\t: document.createElement(\n\t\t\t\t\tnewVNode.type,\n\t\t\t\t\tnewProps.is && { is: newProps.is }\n\t\t\t );\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t}\n\n\tif (newVNode.type === null) {\n\t\tif (oldProps !== newProps && dom.data != newProps) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else if (newVNode !== oldVNode) {\n\t\tif (excessDomChildren != null) {\n\t\t\texcessDomChildren = EMPTY_ARR.slice.call(dom.childNodes);\n\t\t}\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tif (!isHydrating) {\n\t\t\tif (oldProps === EMPTY_OBJ) {\n\t\t\t\toldProps = {};\n\t\t\t\tfor (let i = 0; i < dom.attributes.length; i++) {\n\t\t\t\t\toldProps[dom.attributes[i].name] = dom.attributes[i].value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newHtml || oldHtml) {\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\t\tif (!newHtml || !oldHtml || newHtml.__html != oldHtml.__html) {\n\t\t\t\t\tdom.innerHTML = (newHtml && newHtml.__html) || '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\n\n\t\tnewVNode._children = newVNode.props.children;\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (!newHtml) {\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tnewVNode.type === 'foreignObject' ? false : isSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\tEMPTY_OBJ,\n\t\t\t\tisHydrating\n\t\t\t);\n\t\t}\n\n\t\t// (as above, don't diff props during hydration)\n\t\tif (!isHydrating) {\n\t\t\tif (\n\t\t\t\t'value' in newProps &&\n\t\t\t\tnewProps.value !== undefined &&\n\t\t\t\tnewProps.value !== dom.value\n\t\t\t) {\n\t\t\t\tdom.value = newProps.value == null ? '' : newProps.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\t'checked' in newProps &&\n\t\t\t\tnewProps.checked !== undefined &&\n\t\t\t\tnewProps.checked !== dom.checked\n\t\t\t) {\n\t\t\t\tdom.checked = newProps.checked;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn dom;\n}\n\n/**\n * Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} ref\n * @param {any} value\n * @param {import('../internal').VNode} vnode\n */\nexport function applyRef(ref, value, vnode) {\n\ttry {\n\t\tif (typeof ref == 'function') ref(value);\n\t\telse ref.current = value;\n\t} catch (e) {\n\t\toptions._catchError(e, vnode);\n\t}\n}\n\n/**\n * Unmount a virtual node from the tree and apply DOM changes\n * @param {import('../internal').VNode} vnode The virtual node to unmount\n * @param {import('../internal').VNode} parentVNode The parent of the VNode that\n * initiated the unmount\n * @param {boolean} [skipRemove] Flag that indicates that a parent node of the\n * current element is already detached from the DOM.\n */\nexport function unmount(vnode, parentVNode, skipRemove) {\n\tlet r;\n\tif (options.unmount) options.unmount(vnode);\n\n\tif ((r = vnode.ref)) {\n\t\tif (!r.current || r.current === vnode._dom) applyRef(r, null, parentVNode);\n\t}\n\n\tlet dom;\n\tif (!skipRemove && typeof vnode.type !== 'function') {\n\t\tskipRemove = (dom = vnode._dom) != null;\n\t}\n\n\t// Must be set to `undefined` to properly clean up `_nextDom`\n\t// for which `null` is a valid value. See comment in `create-element.js`\n\tvnode._dom = vnode._nextDom = undefined;\n\n\tif ((r = vnode._component) != null) {\n\t\tif (r.componentWillUnmount) {\n\t\t\ttry {\n\t\t\t\tr.componentWillUnmount();\n\t\t\t} catch (e) {\n\t\t\t\toptions._catchError(e, parentVNode);\n\t\t\t}\n\t\t}\n\n\t\tr.base = r._parentDom = null;\n\t}\n\n\tif ((r = vnode._children)) {\n\t\tfor (let i = 0; i < r.length; i++) {\n\t\t\tif (r[i]) unmount(r[i], parentVNode, skipRemove);\n\t\t}\n\t}\n\n\tif (dom != null) removeNode(dom);\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, state, context) {\n\treturn this.constructor(props, context);\n}\n","import { EMPTY_OBJ, EMPTY_ARR } from './constants';\nimport { commitRoot, diff } from './diff/index';\nimport { createElement, Fragment } from './create-element';\nimport options from './options';\n\nconst IS_HYDRATE = EMPTY_OBJ;\n\n/**\n * Render a Preact virtual node into a DOM element\n * @param {import('./index').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * render into\n * @param {Element | Text} [replaceNode] Optional: Attempt to re-use an\n * existing DOM tree rooted at `replaceNode`\n */\nexport function render(vnode, parentDom, replaceNode) {\n\tif (options._root) options._root(vnode, parentDom);\n\n\t// We abuse the `replaceNode` parameter in `hydrate()` to signal if we\n\t// are in hydration mode or not by passing `IS_HYDRATE` instead of a\n\t// DOM element.\n\tlet isHydrating = replaceNode === IS_HYDRATE;\n\n\t// To be able to support calling `render()` multiple times on the same\n\t// DOM node, we need to obtain a reference to the previous tree. We do\n\t// this by assigning a new `_children` property to DOM nodes which points\n\t// to the last rendered tree. By default this property is not present, which\n\t// means that we are mounting a new tree for the first time.\n\tlet oldVNode = isHydrating\n\t\t? null\n\t\t: (replaceNode && replaceNode._children) || parentDom._children;\n\tvnode = createElement(Fragment, null, [vnode]);\n\n\t// List of effects that need to be called after diffing.\n\tlet commitQueue = [];\n\tdiff(\n\t\tparentDom,\n\t\t// Determine the new vnode tree and store it on the DOM element on\n\t\t// our custom `_children` property.\n\t\t((isHydrating ? parentDom : replaceNode || parentDom)._children = vnode),\n\t\toldVNode || EMPTY_OBJ,\n\t\tEMPTY_OBJ,\n\t\tparentDom.ownerSVGElement !== undefined,\n\t\treplaceNode && !isHydrating\n\t\t\t? [replaceNode]\n\t\t\t: oldVNode\n\t\t\t? null\n\t\t\t: EMPTY_ARR.slice.call(parentDom.childNodes),\n\t\tcommitQueue,\n\t\treplaceNode || EMPTY_OBJ,\n\t\tisHydrating\n\t);\n\n\t// Flush all queued effects\n\tcommitRoot(commitQueue, vnode);\n}\n\n/**\n * Update an existing DOM element with data from a Preact virtual node\n * @param {import('./index').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * update\n */\nexport function hydrate(vnode, parentDom) {\n\trender(vnode, parentDom, IS_HYDRATE);\n}\n","import { assign } from './util';\nimport { EMPTY_ARR } from './constants';\nimport { createVNode } from './create-element';\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {import('./internal').VNode} vnode The virtual DOM element to clone\n * @param {object} props Attributes/props to add when cloning\n * @param {Array} rest Any additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n\tprops = assign(assign({}, vnode.props), props);\n\tif (arguments.length > 2) props.children = EMPTY_ARR.slice.call(arguments, 2);\n\treturn createVNode(\n\t\tvnode.type,\n\t\tprops,\n\t\tprops.key || vnode.key,\n\t\tprops.ref || vnode.ref\n\t);\n}\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\nexport function createContext(defaultValue) {\n\tconst ctx = {};\n\n\tconst context = {\n\t\t_id: '__cC' + i++,\n\t\t_defaultValue: defaultValue,\n\t\tConsumer(props, context) {\n\t\t\treturn props.children(context);\n\t\t},\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\tconst subs = [];\n\t\t\t\tthis.getChildContext = () => {\n\t\t\t\t\tctx[context._id] = this;\n\t\t\t\t\treturn ctx;\n\t\t\t\t};\n\t\t\t\tthis.shouldComponentUpdate = _props => {\n\t\t\t\t\tif (props.value !== _props.value) {\n\t\t\t\t\t\tsubs.some(c => {\n\t\t\t\t\t\t\tc.context = _props.value;\n\t\t\t\t\t\t\tenqueueRender(c);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tthis.sub = c => {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () => {\n\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\told && old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\tcontext.Consumer.contextType = context;\n\n\treturn context;\n}\n","export const ELEMENT_NODE = 1;\nexport const DOCUMENT_NODE = 9;\nexport const DOCUMENT_FRAGMENT_NODE = 11;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {import('./internal').Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { enqueueRender } from '../component';\n\n/**\n * Find the closest error boundary to a thrown error and call it\n * @param {object} error The thrown value\n * @param {import('../internal').VNode} vnode The vnode that threw\n * the error that was caught (except for unmounting when this parameter\n * is the highest parent that was being unmounted)\n */\nexport function _catchError(error, vnode) {\n\t/** @type {import('../internal').Component} */\n\tlet component, hasCaught;\n\n\tfor (; (vnode = vnode._parent); ) {\n\t\tif ((component = vnode._component) && !component._processingException) {\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\tcomponent.constructor &&\n\t\t\t\t\tcomponent.constructor.getDerivedStateFromError != null\n\t\t\t\t) {\n\t\t\t\t\thasCaught = true;\n\t\t\t\t\tcomponent.setState(\n\t\t\t\t\t\tcomponent.constructor.getDerivedStateFromError(error)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (component.componentDidCatch != null) {\n\t\t\t\t\thasCaught = true;\n\t\t\t\t\tcomponent.componentDidCatch(error);\n\t\t\t\t}\n\n\t\t\t\tif (hasCaught)\n\t\t\t\t\treturn enqueueRender((component._pendingError = component));\n\t\t\t} catch (e) {\n\t\t\t\terror = e;\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow error;\n}\n","\n\t\timport Async from \"../../node_modules/@preact/async-loader/async-legacy.js\";\n\n\t\tfunction load(cb) {\n\t\t\trequire.ensure([], function (require) {\n\t\t\t\tcb( require(\"!!../../node_modules/babel-loader/lib/index.js??ref--4!./ottimizzazioneLineare.js\") );\n\t\t\t}, \"route-ottimizzazioneLineare\");\n\t\t}\n\n\t\texport default Async(load);\n\t","/* global __webpack_public_path__ */\n\nimport * as Preact from 'preact';\nconst { h, render, hydrate } = Preact;\n\nconst interopDefault = m => (m && m.default ? m.default : m);\n\nconst normalizeURL = url => (url[url.length - 1] === '/' ? url : url + '/');\n\nif (process.env.NODE_ENV === 'development') {\n\t// enable preact devtools\n\trequire('preact/debug');\n\tif (process.env.RHL) {\n\t\t// enable hot loader\n\t\tconst hotLoader = interopDefault(require('react-hot-loader'));\n\t\thotLoader.preact(interopDefault(require('preact')));\n\t}\n\t// only add a debug sw if webpack service worker is not requested.\n\tif (process.env.ADD_SW === undefined && 'serviceWorker' in navigator) {\n\t\t// eslint-disable-next-line no-undef\n\t\tnavigator.serviceWorker.register(__webpack_public_path__ + 'sw-debug.js');\n\t} else if (process.env.ADD_SW && 'serviceWorker' in navigator) {\n\t\t// eslint-disable-next-line no-undef\n\t\tnavigator.serviceWorker.register(\n\t\t\t__webpack_public_path__ + (process.env.ES_BUILD ? 'sw-esm.js' : 'sw.js')\n\t\t);\n\t}\n} else if (process.env.ADD_SW && 'serviceWorker' in navigator) {\n\t// eslint-disable-next-line no-undef\n\tnavigator.serviceWorker.register(\n\t\t__webpack_public_path__ + (process.env.ES_BUILD ? 'sw-esm.js' : 'sw.js')\n\t);\n}\n\nlet app = interopDefault(require('preact-cli-entrypoint'));\n\nif (typeof app === 'function') {\n\tlet root =\n\t\tdocument.getElementById('preact_root') || document.body.firstElementChild;\n\n\tlet init = () => {\n\t\tlet app = interopDefault(require('preact-cli-entrypoint'));\n\t\tlet preRenderData = {};\n\t\tconst inlineDataElement = document.querySelector(\n\t\t\t'[type=\"__PREACT_CLI_DATA__\"]'\n\t\t);\n\t\tif (inlineDataElement) {\n\t\t\tpreRenderData =\n\t\t\t\tJSON.parse(inlineDataElement.innerHTML).preRenderData || preRenderData;\n\t\t}\n\t\t/* An object named CLI_DATA is passed as a prop,\n\t\t * this keeps us future proof if in case we decide,\n\t\t * to send other data like at some point in time.\n\t\t */\n\t\tconst CLI_DATA = { preRenderData };\n\t\tconst currentURL = preRenderData.url ? normalizeURL(preRenderData.url) : '';\n\t\tconst canHydrate =\n\t\t\tprocess.env.PRERENDER &&\n\t\t\tprocess.env.NODE_ENV === 'production' &&\n\t\t\thydrate &&\n\t\t\tcurrentURL === location.pathname;\n\t\tconst doRender = canHydrate ? hydrate : render;\n\t\troot = doRender(h(app, { CLI_DATA }), document.body, root);\n\t};\n\n\tif (module.hot) module.hot.accept('preact-cli-entrypoint', init);\n\n\tinit();\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\n","import { options, Fragment } from 'preact';\n\n/**\n * Get human readable name of the component/dom node\n * @param {import('./internal').VNode} vnode\n * @param {import('./internal').VNode} vnode\n * @returns {string}\n */\nexport function getDisplayName(vnode) {\n\tif (vnode.type === Fragment) {\n\t\treturn 'Fragment';\n\t} else if (typeof vnode.type === 'function') {\n\t\treturn vnode.type.displayName || vnode.type.name;\n\t} else if (typeof vnode.type === 'string') {\n\t\treturn vnode.type;\n\t}\n\n\treturn '#text';\n}\n\n/**\n * Used to keep track of the currently rendered `vnode` and print it\n * in debug messages.\n */\nlet renderStack = [];\n\n/**\n * Keep track of the current owners. An owner describes a component\n * which was responsible to render a specific `vnode`. This exclude\n * children that are passed via `props.children`, because they belong\n * to the parent owner.\n *\n * ```jsx\n * const Foo = props =>
{props.children}
// div's owner is Foo\n * const Bar = props => {\n * return (\n * // Foo's owner is Bar, span's owner is Bar\n * )\n * }\n * ```\n *\n * Note: A `vnode` may be hoisted to the root scope due to compiler\n * optimiztions. In these cases the `_owner` will be different.\n */\nlet ownerStack = [];\n\n/**\n * Get the currently rendered `vnode`\n * @returns {import('./internal').VNode | null}\n */\nexport function getCurrentVNode() {\n\treturn renderStack.length > 0 ? renderStack[renderStack.length - 1] : null;\n}\n\n/**\n * If the user doesn't have `@babel/plugin-transform-react-jsx-source`\n * somewhere in his tool chain we can't print the filename and source\n * location of a component. In that case we just omit that, but we'll\n * print a helpful message to the console, notifying the user of it.\n */\nlet hasBabelPlugin = false;\n\n/**\n * Check if a `vnode` is a possible owner.\n * @param {import('./internal').VNode} vnode\n */\nfunction isPossibleOwner(vnode) {\n\treturn typeof vnode.type === 'function' && vnode.type !== Fragment;\n}\n\n/**\n * Return the component stack that was captured up to this point.\n * @param {import('./internal').VNode} vnode\n * @returns {string}\n */\nexport function getOwnerStack(vnode) {\n\tconst stack = [vnode];\n\tlet next = vnode;\n\twhile (next._owner != null) {\n\t\tstack.push(next._owner);\n\t\tnext = next._owner;\n\t}\n\n\treturn stack.reduce((acc, owner) => {\n\t\tacc += ` in ${getDisplayName(owner)}`;\n\n\t\tconst source = owner.__source;\n\t\tif (source) {\n\t\t\tacc += ` (at ${source.fileName}:${source.lineNumber})`;\n\t\t} else if (!hasBabelPlugin) {\n\t\t\thasBabelPlugin = true;\n\t\t\tconsole.warn(\n\t\t\t\t'Add @babel/plugin-transform-react-jsx-source to get a more detailed component stack. Note that you should not add it to production builds of your App for bundle size reasons.'\n\t\t\t);\n\t\t}\n\n\t\treturn (acc += '\\n');\n\t}, '');\n}\n\n/**\n * Setup code to capture the component trace while rendering. Note that\n * we cannot simply traverse `vnode._parent` upwards, because we have some\n * debug messages for `this.setState` where the `vnode` is `undefined`.\n */\nexport function setupComponentStack() {\n\tlet oldDiff = options._diff;\n\tlet oldDiffed = options.diffed;\n\tlet oldRoot = options._root;\n\tlet oldVNode = options.vnode;\n\tlet oldRender = options._render;\n\n\toptions.diffed = vnode => {\n\t\tif (isPossibleOwner(vnode)) {\n\t\t\townerStack.pop();\n\t\t}\n\t\trenderStack.pop();\n\t\tif (oldDiffed) oldDiffed(vnode);\n\t};\n\n\toptions._diff = vnode => {\n\t\tif (isPossibleOwner(vnode)) {\n\t\t\trenderStack.push(vnode);\n\t\t}\n\t\tif (oldDiff) oldDiff(vnode);\n\t};\n\n\toptions._root = (vnode, parent) => {\n\t\townerStack = [];\n\t\tif (oldRoot) oldRoot(vnode, parent);\n\t};\n\n\toptions.vnode = vnode => {\n\t\tvnode._owner =\n\t\t\townerStack.length > 0 ? ownerStack[ownerStack.length - 1] : null;\n\t\tif (oldVNode) oldVNode(vnode);\n\t};\n\n\toptions._render = vnode => {\n\t\tif (isPossibleOwner(vnode)) {\n\t\t\townerStack.push(vnode);\n\t\t}\n\n\t\tif (oldRender) oldRender(vnode);\n\t};\n}\n","import { checkPropTypes } from './check-props';\nimport { options, Component } from 'preact';\nimport {\n\tELEMENT_NODE,\n\tDOCUMENT_NODE,\n\tDOCUMENT_FRAGMENT_NODE\n} from './constants';\nimport {\n\tgetOwnerStack,\n\tsetupComponentStack,\n\tgetCurrentVNode,\n\tgetDisplayName\n} from './component-stack';\n\nconst isWeakMapSupported = typeof WeakMap === 'function';\n\nfunction getClosestDomNodeParent(parent) {\n\tif (!parent) return {};\n\tif (typeof parent.type === 'function') {\n\t\treturn getClosestDomNodeParent(parent._parent);\n\t}\n\treturn parent;\n}\n\nexport function initDebug() {\n\tsetupComponentStack();\n\n\t/* eslint-disable no-console */\n\tlet oldBeforeDiff = options._diff;\n\tlet oldDiffed = options.diffed;\n\tlet oldVnode = options.vnode;\n\tlet oldCatchError = options._catchError;\n\tlet oldRoot = options._root;\n\tlet oldHook = options._hook;\n\tconst warnedComponents = !isWeakMapSupported\n\t\t? null\n\t\t: {\n\t\t\t\tuseEffect: new WeakMap(),\n\t\t\t\tuseLayoutEffect: new WeakMap(),\n\t\t\t\tlazyPropTypes: new WeakMap()\n\t\t };\n\n\toptions._catchError = (error, vnode, oldVNode) => {\n\t\tlet component = vnode && vnode._component;\n\t\tif (component && typeof error.then === 'function') {\n\t\t\tconst promise = error;\n\t\t\terror = new Error(\n\t\t\t\t`Missing Suspense. The throwing component was: ${getDisplayName(vnode)}`\n\t\t\t);\n\n\t\t\tlet parent = vnode;\n\t\t\tfor (; parent; parent = parent._parent) {\n\t\t\t\tif (parent._component && parent._component._childDidSuspend) {\n\t\t\t\t\terror = promise;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// We haven't recovered and we know at this point that there is no\n\t\t\t// Suspense component higher up in the tree\n\t\t\tif (error instanceof Error) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\toldCatchError(error, vnode, oldVNode);\n\t};\n\n\toptions._root = (vnode, parentNode) => {\n\t\tif (!parentNode) {\n\t\t\tthrow new Error(\n\t\t\t\t'Undefined parent passed to render(), this is the second argument.\\n' +\n\t\t\t\t\t'Check if the element is available in the DOM/has the correct id.'\n\t\t\t);\n\t\t}\n\t\tlet isValid;\n\t\tswitch (parentNode.nodeType) {\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\tcase DOCUMENT_NODE:\n\t\t\t\tisValid = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tisValid = false;\n\t\t}\n\n\t\tif (!isValid) {\n\t\t\tlet componentName = getDisplayName(vnode);\n\t\t\tthrow new Error(\n\t\t\t\t`Expected a valid HTML node as a second argument to render.\tReceived ${parentNode} instead: render(<${componentName} />, ${parentNode});`\n\t\t\t);\n\t\t}\n\n\t\tif (oldRoot) oldRoot(vnode, parentNode);\n\t};\n\n\toptions._diff = vnode => {\n\t\tlet { type, _parent: parent } = vnode;\n\t\tlet parentVNode = getClosestDomNodeParent(parent);\n\n\t\tif (type === undefined) {\n\t\t\tthrow new Error(\n\t\t\t\t'Undefined component passed to createElement()\\n\\n' +\n\t\t\t\t\t'You likely forgot to export your component or might have mixed up default and named imports' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t} else if (type != null && typeof type === 'object') {\n\t\t\tif (type._children !== undefined && type._dom !== undefined) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Invalid type passed to createElement(): ${type}\\n\\n` +\n\t\t\t\t\t\t'Did you accidentally pass a JSX literal as JSX twice?\\n\\n' +\n\t\t\t\t\t\t` let My${getDisplayName(vnode)} = ${serializeVNode(type)};\\n` +\n\t\t\t\t\t\t` let vnode = ;\\n\\n` +\n\t\t\t\t\t\t'This usually happens when you export a JSX literal and not the component.' +\n\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthrow new Error(\n\t\t\t\t'Invalid type passed to createElement(): ' +\n\t\t\t\t\t(Array.isArray(type) ? 'array' : type)\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t(type === 'thead' || type === 'tfoot' || type === 'tbody') &&\n\t\t\tparentVNode.type !== 'table'\n\t\t) {\n\t\t\tconsole.error(\n\t\t\t\t'Improper nesting of table. Your should have a parent.' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t} else if (\n\t\t\ttype === 'tr' &&\n\t\t\tparentVNode.type !== 'thead' &&\n\t\t\tparentVNode.type !== 'tfoot' &&\n\t\t\tparentVNode.type !== 'tbody' &&\n\t\t\tparentVNode.type !== 'table'\n\t\t) {\n\t\t\tconsole.error(\n\t\t\t\t'Improper nesting of table. Your should have a parent.' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t} else if (type === 'td' && parentVNode.type !== 'tr') {\n\t\t\tconsole.error(\n\t\t\t\t'Improper nesting of table. Your parent.' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t} else if (type === 'th' && parentVNode.type !== 'tr') {\n\t\t\tconsole.error(\n\t\t\t\t'Improper nesting of table. Your .' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\tvnode.ref !== undefined &&\n\t\t\ttypeof vnode.ref !== 'function' &&\n\t\t\ttypeof vnode.ref !== 'object' &&\n\t\t\t!('$$typeof' in vnode) // allow string refs when preact-compat is installed\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t`Component's \"ref\" property should be a function, or an object created ` +\n\t\t\t\t\t`by createRef(), but got [${typeof vnode.ref}] instead\\n` +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t}\n\n\t\tif (typeof vnode.type === 'string') {\n\t\t\tfor (const key in vnode.props) {\n\t\t\t\tif (\n\t\t\t\t\tkey[0] === 'o' &&\n\t\t\t\t\tkey[1] === 'n' &&\n\t\t\t\t\ttypeof vnode.props[key] !== 'function' &&\n\t\t\t\t\tvnode.props[key] != null\n\t\t\t\t) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Component's \"${key}\" property should be a function, ` +\n\t\t\t\t\t\t\t`but got [${typeof vnode.props[key]}] instead\\n` +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Check prop-types if available\n\t\tif (typeof vnode.type === 'function' && vnode.type.propTypes) {\n\t\t\tif (\n\t\t\t\tvnode.type.displayName === 'Lazy' &&\n\t\t\t\twarnedComponents &&\n\t\t\t\t!warnedComponents.lazyPropTypes.has(vnode.type)\n\t\t\t) {\n\t\t\t\tconst m =\n\t\t\t\t\t'PropTypes are not supported on lazy(). Use propTypes on the wrapped component itself. ';\n\t\t\t\ttry {\n\t\t\t\t\tconst lazyVNode = vnode.type();\n\t\t\t\t\twarnedComponents.lazyPropTypes.set(vnode.type, true);\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\tm + `Component wrapped in lazy() is ${getDisplayName(lazyVNode)}`\n\t\t\t\t\t);\n\t\t\t\t} catch (promise) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\tm + \"We will log the wrapped component's name once it is loaded.\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcheckPropTypes(\n\t\t\t\tvnode.type.propTypes,\n\t\t\t\tvnode.props,\n\t\t\t\tgetDisplayName(vnode),\n\t\t\t\tserializeVNode(vnode)\n\t\t\t);\n\t\t}\n\n\t\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n\t};\n\n\toptions._hook = comp => {\n\t\tif (!comp) {\n\t\t\tthrow new Error('Hook can only be invoked from render methods.');\n\t\t}\n\n\t\tif (oldHook) oldHook(comp);\n\t};\n\n\tconst warn = (property, err) => ({\n\t\tget() {\n\t\t\tthrow new Error(`getting vnode.${property} is deprecated, ${err}`);\n\t\t},\n\t\tset() {\n\t\t\tthrow new Error(`setting vnode.${property} is not allowed, ${err}`);\n\t\t}\n\t});\n\n\tconst deprecatedAttributes = {\n\t\tnodeName: warn('nodeName', 'use vnode.type'),\n\t\tattributes: warn('attributes', 'use vnode.props'),\n\t\tchildren: warn('children', 'use vnode.props.children')\n\t};\n\n\tconst deprecatedProto = Object.create({}, deprecatedAttributes);\n\n\toptions.vnode = vnode => {\n\t\tconst props = vnode.props;\n\t\tif (\n\t\t\tvnode.type !== null &&\n\t\t\tprops != null &&\n\t\t\t('__source' in props || '__self' in props)\n\t\t) {\n\t\t\tconst newProps = (vnode.props = {});\n\t\t\tfor (let i in props) {\n\t\t\t\tconst v = props[i];\n\t\t\t\tif (i === '__source') vnode.__source = v;\n\t\t\t\telse if (i === '__self') vnode.__self = v;\n\t\t\t\telse newProps[i] = v;\n\t\t\t}\n\t\t}\n\t\tObject.setPrototypeOf(vnode, deprecatedProto);\n\t\tif (oldVnode) oldVnode(vnode);\n\t};\n\n\toptions.diffed = vnode => {\n\t\t// Check if the user passed plain objects as children. Note that we cannot\n\t\t// move this check into `options.vnode` because components can receive\n\t\t// children in any shape they want (e.g.\n\t\t// `{{ foo: 123, bar: \"abc\" }}`).\n\t\t// Putting this check in `options.diffed` ensures that\n\t\t// `vnode._children` is set and that we only validate the children\n\t\t// that were actually rendered.\n\t\tif (vnode._children) {\n\t\t\tvnode._children.forEach(child => {\n\t\t\t\tif (child && child.type === undefined) {\n\t\t\t\t\t// Remove internal vnode keys that will always be patched\n\t\t\t\t\tdelete child._parent;\n\t\t\t\t\tdelete child._depth;\n\t\t\t\t\tconst keys = Object.keys(child).join(',');\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Objects are not valid as a child. Encountered an object with the keys {${keys}}.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t/** @type {import('./internal').Component} */\n\t\tconst component = vnode._component;\n\t\tif (component && component.__hooks) {\n\t\t\tlet hooks = component.__hooks;\n\t\t\tif (Array.isArray(hooks._list)) {\n\t\t\t\thooks._list.forEach(hook => {\n\t\t\t\t\tif (hook._factory && (!hook._args || !Array.isArray(hook._args))) {\n\t\t\t\t\t\tlet componentName = getDisplayName(vnode);\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`In ${componentName} you are calling useMemo/useCallback without passing arguments.\\n` +\n\t\t\t\t\t\t\t\t`This is a noop since it will not be able to memoize, it will execute it every render.` +\n\t\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (oldDiffed) oldDiffed(vnode);\n\n\t\tif (vnode._children != null) {\n\t\t\tconst keys = [];\n\t\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\t\tconst child = vnode._children[i];\n\t\t\t\tif (!child || child.key == null) continue;\n\n\t\t\t\tconst key = child.key;\n\t\t\t\tif (keys.indexOf(key) !== -1) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Following component has two or more children with the ' +\n\t\t\t\t\t\t\t`same key attribute: \"${key}\". This may cause glitches and misbehavior ` +\n\t\t\t\t\t\t\t'in rendering process. Component: \\n\\n' +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\n\t\t\t\t\t// Break early to not spam the console\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tkeys.push(key);\n\t\t\t}\n\t\t}\n\t};\n}\n\nconst setState = Component.prototype.setState;\nComponent.prototype.setState = function(update, callback) {\n\tif (this._vnode == null) {\n\t\t// `this._vnode` will be `null` during componentWillMount. But it\n\t\t// is perfectly valid to call `setState` during cWM. So we\n\t\t// need an additional check to verify that we are dealing with a\n\t\t// call inside constructor.\n\t\tif (this.state == null) {\n\t\t\tconsole.warn(\n\t\t\t\t`Calling \"this.setState\" inside the constructor of a component is a ` +\n\t\t\t\t\t`no-op and might be a bug in your application. Instead, set ` +\n\t\t\t\t\t`\"this.state = {}\" directly.\\n\\n${getOwnerStack(getCurrentVNode())}`\n\t\t\t);\n\t\t}\n\t} else if (this._parentDom == null) {\n\t\tconsole.warn(\n\t\t\t`Can't call \"this.setState\" on an unmounted component. This is a no-op, ` +\n\t\t\t\t`but it indicates a memory leak in your application. To fix, cancel all ` +\n\t\t\t\t`subscriptions and asynchronous tasks in the componentWillUnmount method.` +\n\t\t\t\t`\\n\\n${getOwnerStack(this._vnode)}`\n\t\t);\n\t}\n\n\treturn setState.call(this, update, callback);\n};\n\nconst forceUpdate = Component.prototype.forceUpdate;\nComponent.prototype.forceUpdate = function(callback) {\n\tif (this._vnode == null) {\n\t\tconsole.warn(\n\t\t\t`Calling \"this.forceUpdate\" inside the constructor of a component is a ` +\n\t\t\t\t`no-op and might be a bug in your application.\\n\\n${getOwnerStack(\n\t\t\t\t\tgetCurrentVNode()\n\t\t\t\t)}`\n\t\t);\n\t} else if (this._parentDom == null) {\n\t\tconsole.warn(\n\t\t\t`Can't call \"this.forceUpdate\" on an unmounted component. This is a no-op, ` +\n\t\t\t\t`but it indicates a memory leak in your application. To fix, cancel all ` +\n\t\t\t\t`subscriptions and asynchronous tasks in the componentWillUnmount method.` +\n\t\t\t\t`\\n\\n${getOwnerStack(this._vnode)}`\n\t\t);\n\t}\n\treturn forceUpdate.call(this, callback);\n};\n\n/**\n * Serialize a vnode tree to a string\n * @param {import('./internal').VNode} vnode\n * @returns {string}\n */\nexport function serializeVNode(vnode) {\n\tlet { props } = vnode;\n\tlet name = getDisplayName(vnode);\n\n\tlet attrs = '';\n\tfor (let prop in props) {\n\t\tif (props.hasOwnProperty(prop) && prop !== 'children') {\n\t\t\tlet value = props[prop];\n\n\t\t\t// If it is an object but doesn't have toString(), use Object.toString\n\t\t\tif (typeof value === 'function') {\n\t\t\t\tvalue = `function ${value.displayName || value.name}() {}`;\n\t\t\t}\n\n\t\t\tvalue =\n\t\t\t\tObject(value) === value && !value.toString\n\t\t\t\t\t? Object.prototype.toString.call(value)\n\t\t\t\t\t: value + '';\n\n\t\t\tattrs += ` ${prop}=${JSON.stringify(value)}`;\n\t\t}\n\t}\n\n\tlet children = props.children;\n\treturn `<${name}${attrs}${\n\t\tchildren && children.length ? '>..' : ' />'\n\t}`;\n}\n","import { options, Fragment } from 'preact';\n\nexport function initDevTools() {\n\tif (typeof window !== 'undefined' && window.__PREACT_DEVTOOLS__) {\n\t\twindow.__PREACT_DEVTOOLS__.attachPreact('10.0.5', options, {\n\t\t\tFragment\n\t\t});\n\t}\n}\n","const ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nlet loggedTypeFailures = {};\n\nexport function checkPropTypes(\n\ttypeSpecs,\n\tvalues,\n\tlocation,\n\tcomponentName,\n\tgetStack\n) {\n\tObject.keys(typeSpecs).forEach(typeSpecName => {\n\t\tlet error;\n\t\ttry {\n\t\t\terror = typeSpecs[typeSpecName](\n\t\t\t\tvalues,\n\t\t\t\ttypeSpecName,\n\t\t\t\tcomponentName,\n\t\t\t\tlocation,\n\t\t\t\tnull,\n\t\t\t\tReactPropTypesSecret\n\t\t\t);\n\t\t} catch (e) {\n\t\t\terror = e;\n\t\t}\n\t\tif (error && !(error.message in loggedTypeFailures)) {\n\t\t\tloggedTypeFailures[error.message] = true;\n\t\t\tconsole.error(\n\t\t\t\t`Failed ${location} type: ${error.message}${(getStack && getStack()) ||\n\t\t\t\t\t''}`\n\t\t\t);\n\t\t}\n\t});\n}\n","\n\t\timport Async from \"../../node_modules/@preact/async-loader/async-legacy.js\";\n\n\t\tfunction load(cb) {\n\t\t\trequire.ensure([], function (require) {\n\t\t\t\tcb( require(\"!!../../node_modules/babel-loader/lib/index.js??ref--4!./fisica.js\") );\n\t\t\t}, \"route-fisica\");\n\t\t}\n\n\t\texport default Async(load);\n\t"],"sourceRoot":""}
should have a
should have a